@fastybird/smart-panel-admin 1.0.0-beta.2 → 1.0.0-beta.3
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-Gso7ULO3.js → card-add-form-CLhQRBaL.js} +1 -1
- package/dist/assets/{card-edit-form-CG5By4hN.js → card-edit-form-D0GHARW-.js} +1 -1
- package/dist/assets/{common-C6O7MWKy.js → common-CYlvhyJx.js} +4 -4
- package/dist/assets/{components-Cg1OPydQ.js → components-BZ1exlup.js} +1 -1
- package/dist/assets/{components-C5Wu_yx6.js → components-BkjSdnbB.js} +1 -1
- package/dist/assets/{components-CDzfp-v5.js → components-C2nsvuWt.js} +1 -1
- package/dist/assets/{components-BDuVLuIi.js → components-C9Hw685H.js} +2 -2
- package/dist/assets/{components-f7Acikyq.js → components-CgD2Wl4X.js} +1 -1
- package/dist/assets/{components-Bzwfh0_6.js → components-CzrtwZEB.js} +1 -1
- package/dist/assets/{components-CWCnDk-k.js → components-DE6eu41U.js} +1 -1
- package/dist/assets/{components-CBgIPDGp.js → components-jS3aYN4W.js} +1 -1
- package/dist/assets/{composables-CXnK_jZC.js → composables-BGwJJI84.js} +1 -1
- package/dist/assets/{composables-uEwOIGlv.js → composables-By-2bZ6o.js} +1 -1
- package/dist/assets/composables-D2XmoNFv.js +1 -0
- package/dist/assets/{composables-DRljO7YE.js → composables-D5ksCJy6.js} +1 -1
- package/dist/assets/{composables-B96WL0Wj.js → composables-DEE0h-ep.js} +1 -1
- package/dist/assets/composables-DINXeVLA.js +1 -0
- package/dist/assets/{composables-CFfboRzY.js → composables-DcfYrDwm.js} +1 -1
- package/dist/assets/{composables-DVL3jPH8.js → composables-DsKIR5Bm.js} +1 -1
- package/dist/assets/{composables-vJCRdU0M.js → composables-GMO5QlG5.js} +1 -1
- package/dist/assets/{composables-U-xxC_sT.js → composables-zt-P_Tr3.js} +1 -1
- package/dist/assets/{dashboard-DG93chjw.js → dashboard-VE2NrHdf.js} +2 -2
- package/dist/assets/{dashboard.types-CFfH-GLV.js → dashboard.types-By_wvrmJ.js} +1 -1
- package/dist/assets/{data-source-edit-form-BI_dwXcE.js → data-source-edit-form-BfeuqxfT.js} +1 -1
- package/dist/assets/{drawer-piSQQ92r.js → drawer-CBjyEUxR.js} +1 -1
- package/dist/assets/{index-qait6dZr.js → index-BGtjR8rl.js} +4 -4
- package/dist/assets/{input-number-aj4Bs1x0.js → input-number-0WfCl7sp.js} +1 -1
- package/dist/assets/{integration-config-dialog-4lXNA-cq.js → integration-config-dialog-D7ezGYtM.js} +1 -1
- package/dist/assets/{layout-config-wF4GEnoW.js → layout-config-B_k0YP5E.js} +1 -1
- package/dist/assets/{layout-default-fi64NP2-.js → layout-default-St-GEUIG.js} +1 -1
- package/dist/assets/{layout-lock-B1tHh9TR.js → layout-lock-CEWN7-5y.js} +1 -1
- package/dist/assets/layout-profile-CmZ_5TLY.js +1 -0
- package/dist/assets/{layout-profile-5CD6bicW.js → layout-profile-DjpSTQs2.js} +1 -1
- package/dist/assets/layout-sign-BAfTH8N1.js +1 -0
- package/dist/assets/{layout-sign-D_I0Ie9D.js → layout-sign-Cn1Z7dcG.js} +1 -1
- package/dist/assets/{list-data-sources-adjust-uB8b6Hjl.js → list-data-sources-adjust-uAboLtF5.js} +1 -1
- package/dist/assets/{list-locations-Ckoi0RHB.js → list-locations-NlC7DHeR.js} +1 -1
- package/dist/assets/{list-users-Dyap_TZY.js → list-users-B9rvfJpM.js} +1 -1
- package/dist/assets/{logs-entries.transformers-DY1KWqis.js → logs-entries.transformers-D-IYkG06.js} +1 -1
- package/dist/assets/{page-configure-Dr3kKTbt.js → page-configure-BxuItsp7.js} +1 -1
- package/dist/assets/{page-configure-BU4WzKF4.js → page-configure-DnRl2-Bw.js} +1 -1
- package/dist/assets/{pagination-BRH-PmO7.js → pagination-B-q-tN7k.js} +1 -1
- package/dist/assets/{popover-BAQvnaAQ.js → popover-CJnPPf6w.js} +1 -1
- package/dist/assets/{radio-DW3_4owj.js → radio-BCfRCNYC.js} +1 -1
- package/dist/assets/{scene-add-form-8nrzesj2.js → scene-add-form-Bc_O-pQF.js} +1 -1
- package/dist/assets/{scene-edit-form-AOK6QcMB.js → scene-edit-form-D6n4XMCu.js} +1 -1
- package/dist/assets/{schemas.utils-Luoz3tGx.js → schemas.utils-DfsvrMGr.js} +1 -1
- package/dist/assets/{select-data-source-plugin-CQqAjj8I.js → select-data-source-plugin-BUQn0xFA.js} +1 -1
- package/dist/assets/{slider-Bk-smens.js → slider-BGyYDnSl.js} +1 -1
- package/dist/assets/{spaces-D3E3Y4it.js → spaces-C4Tpph44.js} +2 -2
- package/dist/assets/{spaces-home-control.constants-Btr-C2aq.js → spaces-home-control.constants-F99XoJI8.js} +1 -1
- package/dist/assets/{steps-D9CW-O6K.js → steps-Dr32rxSM.js} +1 -1
- package/dist/assets/{system-CtMoh4fS.js → system-DU1DZ1-l.js} +2 -2
- package/dist/assets/{tile-detail-Cp1Wg2ln.js → tile-detail-m45OY5pq.js} +1 -1
- package/dist/assets/{tile-edit-form-BnXEsFRq.js → tile-edit-form-Buhzsx9J.js} +1 -1
- package/dist/assets/{types-BP1Y7Ct6.js → types-Bi7Jdlzc.js} +1 -1
- package/dist/assets/{useBuddyChat-CvDleaZJ.js → useBuddyChat-DicTnDX0.js} +1 -1
- package/dist/assets/{useDataSources-3VKnPYpt.js → useDataSources-BLr8PIxu.js} +1 -1
- package/dist/assets/useEventBus-4ZeHg9H7.js +1 -0
- package/dist/assets/{useGeolocation-BO7kIdUh.js → useGeolocation-D04GeyZh.js} +1 -1
- package/dist/assets/{useLocation-DC_SbRoS.js → useLocation-DIH9HVyg.js} +1 -1
- package/dist/assets/{usePage-BVfsjiLb.js → usePage-rn3j4WMQ.js} +1 -1
- package/dist/assets/{usePersonalTokens-BqXxMus4.js → usePersonalTokens-BAWWC0KL.js} +1 -1
- package/dist/assets/{useSpaces-XFygVec-.js → useSpaces-DCuyMUqe.js} +1 -1
- package/dist/assets/{useUuid-bBKVSq5e.js → useUuid-HrENmPhQ.js} +1 -1
- package/dist/assets/{view-buddy-chat-Cbz_tWQw.js → view-buddy-chat-WrOmxX6O.js} +1 -1
- package/dist/assets/{view-card-add-FpOWLKDD.js → view-card-add-DKtbBU7F.js} +1 -1
- package/dist/assets/{view-card-edit-CckfNDtI.js → view-card-edit-10HfRMki.js} +1 -1
- package/dist/assets/{view-channel-CwvntrqM.js → view-channel-D_zpx26S.js} +1 -1
- package/dist/assets/{view-channel-add-CbGsI0RI.js → view-channel-add-BWKCnvF7.js} +1 -1
- package/dist/assets/{view-channel-edit-BscFo-2O.js → view-channel-edit-Czo__VkB.js} +1 -1
- package/dist/assets/{view-channel-property-add-BlESkjUP.js → view-channel-property-add-Dnu4HYye.js} +1 -1
- package/dist/assets/{view-channel-property-edit-C7vrDHM0.js → view-channel-property-edit-CW2D-stk.js} +1 -1
- package/dist/assets/{view-channels-COV_YBpq.js → view-channels-7KUQ9wlx.js} +1 -1
- package/dist/assets/{view-config-module-edit-Ce1dHGD6.js → view-config-module-edit-CEiOBSu9.js} +1 -1
- package/dist/assets/{view-config-modules-09KPTYj-.js → view-config-modules-D-yQNn55.js} +1 -1
- package/dist/assets/{view-config-plugin-edit-DpODIuSr.js → view-config-plugin-edit-SlMNwz8Y.js} +1 -1
- package/dist/assets/{view-config-plugins-BUBXmHje.js → view-config-plugins-BYqEo20U.js} +1 -1
- package/dist/assets/{view-data-source-add-CUeeE9I9.js → view-data-source-add-DfGZogv_.js} +1 -1
- package/dist/assets/{view-data-source-add-Cszg1PXR.js → view-data-source-add-Dspug3fk.js} +1 -1
- package/dist/assets/{view-data-source-edit-D6ZdInPK.js → view-data-source-edit-B-IElLOM.js} +1 -1
- package/dist/assets/{view-data-source-edit-Cnvz59YN.js → view-data-source-edit-DhJRmRuN.js} +1 -1
- package/dist/assets/{view-device-BqPVFd5q.js → view-device-BaeCsXzk.js} +1 -1
- package/dist/assets/{view-device-add-raK2v6Sb.js → view-device-add-Cdg3B458.js} +1 -1
- package/dist/assets/{view-device-control-CQecqQV3.js → view-device-control-CL6gGt9v.js} +1 -1
- package/dist/assets/{view-device-edit-BR3JBqZz.js → view-device-edit-D6KrEzBk.js} +1 -1
- package/dist/assets/{view-devices-DZOlHmA1.js → view-devices-a5DXrim2.js} +1 -1
- package/dist/assets/{view-devices-wizard-j2-RYGln.js → view-devices-wizard-DgQX6xYr.js} +1 -1
- package/dist/assets/{view-display-BAJl9w_-.js → view-display-BK_WRuzd.js} +1 -1
- package/dist/assets/{view-display-edit-BxToHJGY.js → view-display-edit-CfO1sMGU.js} +1 -1
- package/dist/assets/{view-display-tokens-C9EUKg60.js → view-display-tokens-q05T3MXd.js} +1 -1
- package/dist/assets/{view-displays-DRh-jZuh.js → view-displays-BYdUjNkR.js} +1 -1
- package/dist/assets/{view-extension-detail-Dc5alcRB.js → view-extension-detail--zfY4Dz3.js} +1 -1
- package/dist/assets/{view-extensions-D78hp-GZ.js → view-extensions-Bum-2tum.js} +1 -1
- package/dist/assets/{view-location-CGxqI4LF.js → view-location-CBJDN5zS.js} +1 -1
- package/dist/assets/{view-location-add-Bw4od9E3.js → view-location-add-DFmw1sXk.js} +1 -1
- package/dist/assets/{view-location-edit-bfe9ZVCY.js → view-location-edit-CLS9Cqd2.js} +1 -1
- package/dist/assets/{view-locations-C9MVqtob.js → view-locations-j_5eCh-A.js} +1 -1
- package/dist/assets/{view-lock-screen-eecVFwp8.js → view-lock-screen-DA_TSXQa.js} +1 -1
- package/dist/assets/{view-onboarding-D-LQj8xQ.js → view-onboarding-Cy48X2AX.js} +1 -1
- package/dist/assets/{view-page-CdJYrNvm.js → view-page-D30T4blr.js} +1 -1
- package/dist/assets/{view-page-add-CWlY59Z8.js → view-page-add-C0anBkl6.js} +1 -1
- package/dist/assets/{view-page-configure-CM3xpsQ6.js → view-page-configure-C2_axqzK.js} +1 -1
- package/dist/assets/{view-page-configure-J7GvJ6kn.js → view-page-configure-C8rOXCD-.js} +1 -1
- package/dist/assets/{view-page-data-source-add-CJYMQNrY.js → view-page-data-source-add-CwcgqFSk.js} +1 -1
- package/dist/assets/{view-page-data-source-edit-YUQc1hkr.js → view-page-data-source-edit-BHPdu_4o.js} +1 -1
- package/dist/assets/{view-page-edit-CSiIqhHa.js → view-page-edit-BE2o_PWc.js} +1 -1
- package/dist/assets/{view-page-plugin-DA-QTSFI.js → view-page-plugin-B6Fw6v1N.js} +1 -1
- package/dist/assets/{view-pages-BJh5on5i.js → view-pages-C9-e4oK7.js} +1 -1
- package/dist/assets/{view-profile-general-BUgWnB8F.js → view-profile-general-CWkcBsOE.js} +1 -1
- package/dist/assets/{view-profile-security-f1qsSWz-.js → view-profile-security-B4bDUaQc.js} +1 -1
- package/dist/assets/{view-scene-add-XnMQkpIx.js → view-scene-add-DP-jBsux.js} +1 -1
- package/dist/assets/{view-scene-edit-CTbkCckV.js → view-scene-edit-Sarmco96.js} +1 -1
- package/dist/assets/{view-scenes-ChzoHwOO.js → view-scenes-BHGYWuRY.js} +1 -1
- package/dist/assets/{view-sign-in-Ceaac-fd.js → view-sign-in-tkWBqcvx.js} +1 -1
- package/dist/assets/{view-sign-up-BZ53tmTA.js → view-sign-up-Dh2ZINak.js} +1 -1
- package/dist/assets/{view-space-add-BQnXpas4.js → view-space-add-B5_9knXl.js} +1 -1
- package/dist/assets/{view-space-configure-DgonALs8.js → view-space-configure-vCS0YQ-H.js} +1 -1
- package/dist/assets/{view-space-edit-wj8T4WRV.js → view-space-edit-C5_ml_8W.js} +1 -1
- package/dist/assets/{view-space-plugin-BdOVEBgt.js → view-space-plugin-C3g2VSo3.js} +1 -1
- package/dist/assets/{view-spaces-CM93SjHm.js → view-spaces-culV68Lm.js} +1 -1
- package/dist/assets/{view-spaces-wizard-MAczhruN.js → view-spaces-wizard-HXpKypIL.js} +1 -1
- package/dist/assets/{view-stats-BWJU4kKt.js → view-stats-BCqyavVj.js} +1 -1
- package/dist/assets/{view-system-backups-BnQRabt_.js → view-system-backups--UcABhC4.js} +1 -1
- package/dist/assets/{view-system-info-BdUO_aZz.js → view-system-info-D9tPEGF8.js} +1 -1
- package/dist/assets/{view-system-log-detail-DnW1sR90.js → view-system-log-detail-YsXJEn7J.js} +1 -1
- package/dist/assets/{view-system-logs-rBB1JhNA.js → view-system-logs-NPsCix4z.js} +1 -1
- package/dist/assets/{view-tile-DEWaNAAC.js → view-tile-DUn9uIlJ.js} +1 -1
- package/dist/assets/{view-tile-add-BYCfwz0G.js → view-tile-add-CEaGRSsg.js} +1 -1
- package/dist/assets/{view-tile-add-DJEhRPql.js → view-tile-add-lgl0PPBy.js} +1 -1
- package/dist/assets/{view-tile-data-source-add-BQY3lYEx.js → view-tile-data-source-add-DDR948lU.js} +1 -1
- package/dist/assets/{view-tile-data-source-edit-DcmEisVl.js → view-tile-data-source-edit-b4BI6TNr.js} +1 -1
- package/dist/assets/{view-tile-edit-DB5-9c4k.js → view-tile-edit-DpVMRrwV.js} +1 -1
- package/dist/assets/{view-tile-edit-C9bdoUQS.js → view-tile-edit-Gcy4HufJ.js} +1 -1
- package/dist/assets/{view-tile-edit-CEk-TKvg.js → view-tile-edit-SYijBGBh.js} +1 -1
- package/dist/assets/{view-user-add-DvmHzen6.js → view-user-add-BeEBHsTw.js} +1 -1
- package/dist/assets/{view-user-edit-UBSgDOcU.js → view-user-edit-DZnkJQOL.js} +1 -1
- package/dist/assets/{view-users-CH0q5tjL.js → view-users-UBrKKeKw.js} +1 -1
- package/dist/assets/{weather-forecast.transformers-Dc2cpiG6.js → weather-forecast.transformers-C4Dcl8Cg.js} +1 -1
- package/dist/assets/{weather-CiVW2Zku.js → weather-gJGYyu0m.js} +2 -2
- package/dist/index.html +58 -58
- package/package.json +1 -1
- package/dist/assets/composables-D5DhD9vG.js +0 -1
- package/dist/assets/composables-DA8P1Agq.js +0 -1
- package/dist/assets/layout-profile-52nMnfeI.js +0 -1
- package/dist/assets/layout-sign-CsRJeI15.js +0 -1
- package/dist/assets/useEventBus-DVXQaGC-.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Di as n,Dr as r,E as i,Er as a,Ft as o,Gr as s,H as c,Hr as l,Ki as u,Mr as d,Mt as f,Nr as p,O as m,Or as h,Pr as g,Qr as _,Si as v,T as y,Ti as b,Wi as x,Yr as S,b as C,bi as w,bt as T,ci as E,cn as D,di as O,ei as k,gn as A,ji as j,jr as M,k as N,kr as P,ln as ee,n as F,qi as I,t as L,ti as te,ui as R,ur as ne,vr as re,x as ie,xr as z,yr as ae,zr as oe}from"./icon-with-child-CgZMNB3F.js";import{t as se}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{$r as B,At as ce,Bt as le,Di as ue,Ea as de,Ft as V,Gr as H,I as fe,It as pe,Ki as U,Li as W,Mi as me,Ni as he,Oi as ge,Pi as _e,Qr as ve,Qt as ye,Ri as G,Ta as be,Ut as K,Vt as xe,Xr as q,Zt as Se,_a as Ce,b as we,bi as Te,da as Ee,do as De,fa as J,ga as Oe,h as ke,ia as Ae,ka as je,ki as Me,la as Ne,m as Pe,p as Fe,pa as Y,qi as Ie,qr as Le,ra as Re,sa as ze,ti as X,ua as Z,va as Be,xa as Ve,yi as He,zt as Q}from"./common-C6O7MWKy.js";import{t as Ue}from"./skeleton-DkyCzTs7.js";import{t as We}from"./slider-Bk-smens.js";import{n as Ge,t as Ke}from"./steps-D9CW-O6K.js";import"./components-CDzfp-v5.js";import{t as qe}from"./useUuid-bBKVSq5e.js";import{i as Je}from"./composables-uEwOIGlv.js";import{c as Ye,l as Xe,s as Ze,t as Qe,u as $e}from"./useSpaces-XFygVec-.js";import{c as et,f as tt,o as nt,s as rt}from"./composables-CFfboRzY.js";import{O as it}from"./composables-B96WL0Wj.js";import{f as at,n as ot,r as st,x as ct}from"./composables-CXnK_jZC.js";import"./spaces-D3E3Y4it.js";var lt=T(g({name:`ElBadge`,__name:`badge`,props:D({value:{type:[String,Number],default:``},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:[`primary`,`success`,`warning`,`info`,`danger`],default:`danger`},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:ee([String,Object,Array])},offset:{type:ee(Array),default:()=>[0,0]},badgeClass:{type:String}}),setup(t,{expose:n}){let r=t,i=f(`badge`),s=a(()=>r.isDot?``:A(r.value)&&A(r.max)&&r.max<r.value?`${r.max}+`:`${r.value}`),c=a(()=>[{backgroundColor:r.color,marginRight:o(-r.offset[0]),marginTop:o(r.offset[1])},r.badgeStyle??{}]);return n({content:s}),(n,r)=>(_(),e(`div`,{class:x(j(i).b())},[te(n.$slots,`default`),p(ne,{name:`${j(i).namespace.value}-zoom-in-center`},{default:R(()=>[!t.hidden&&(s.value||t.isDot||n.$slots.content)?(_(),e(`sup`,{key:0,class:x([j(i).e(`content`),j(i).em(`content`,t.type),j(i).is(`fixed`,!!n.$slots.default),j(i).is(`dot`,t.isDot),j(i).is(`hide-zero`,!t.showZero&&t.value===0),t.badgeClass]),style:u(c.value)},[te(n.$slots,`content`,{value:s.value},()=>[d(I(s.value),1)])],6)):P(`v-if`,!0)]),_:3},8,[`name`])],2))}})),ut=()=>{let e=oe(ye);return{climateSignal:e?.climate,lightingSignal:e?.lighting,coversSignal:e?.covers,sensorSignal:e?.sensor,climateStateSignal:e?.climateState,lightingStateSignal:e?.lightingState,coversStateSignal:e?.coversState,sensorStateSignal:e?.sensorState}},dt={key:1,class:`flex justify-center py-4`},ft={class:`flex items-center gap-2`},pt={class:`flex flex-col`},mt={key:0,class:`text-xs text-gray-400`},ht={class:`flex gap-1`},gt={class:`flex justify-between items-center mt-4`},_t={class:`text-xs text-gray-400`},vt=g({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=y(),s=Pe(),c=Fe(),{lightingSignal:l}=ut(),u=v(!1),f=v(!1),g=v([]),b=a(()=>[{value:B.main,label:o(`spacesHomeControlPlugin.lightingRoles.main`)},{value:B.task,label:o(`spacesHomeControlPlugin.lightingRoles.task`)},{value:B.ambient,label:o(`spacesHomeControlPlugin.lightingRoles.ambient`)},{value:B.accent,label:o(`spacesHomeControlPlugin.lightingRoles.accent`)},{value:B.night,label:o(`spacesHomeControlPlugin.lightingRoles.night`)},{value:B.other,label:o(`spacesHomeControlPlugin.lightingRoles.other`)},{value:B.hidden,label:o(`spacesHomeControlPlugin.lightingRoles.hidden`)}]),C=async()=>{u.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;g.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{u.value=!1}},w=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${F}/${Q}/spaces/{id}/lighting/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update lighting role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${F}/${Q}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear lighting role`);return}e.role=null}}catch{c.error(`Failed to update lighting role`)}},T=async()=>{f.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${F}/${Q}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await C(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{f.value=!1}};return E(()=>i.space?.id,e=>{e&&C()}),E(()=>l?.value,()=>{i.space?.id&&C()}),S(()=>{i.space?.id&&C()}),(i,a)=>(_(),e(`div`,{class:x({"mt-2":!n.hideHeader})},[n.hideHeader?P(``,!0):(_(),h(j(U),{key:0,"content-position":`left`,class:`mt-6!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.description`)),1)]),_:1}),u.value&&g.value.length===0?(_(),e(`div`,dt,[p(j(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):g.value.length>0||u.value?(_(),e(z,{key:2},[p(j(W),{data:g.value,border:``,"max-height":`400px`},{default:R(()=>[p(j(G),{prop:`deviceName`,label:j(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:R(({row:n})=>[r(`div`,ft,[p(j(t),{icon:`mdi:lightbulb`}),r(`div`,pt,[r(`span`,null,I(n.deviceName),1),n.channelName?(_(),e(`span`,mt,I(n.channelName),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.title`),width:`160`},{default:R(({row:t})=>[p(j(J),{"model-value":t.role??``,placeholder:j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>w(t,e)},{default:R(()=>[(_(!0),e(z,null,k(b.value,e=>(_(),h(j(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`]),p(j(G),{label:``,width:`100`},{default:R(({row:e})=>[r(`div`,ht,[e.hasBrightness?(_(),h(j(Y),{key:0,type:`info`,size:`small`},{default:R(()=>[...a[0]||=[d(`Dim`,-1)]]),_:1})):P(``,!0),e.hasColor?(_(),h(j(Y),{key:1,type:`success`,size:`small`},{default:R(()=>[...a[1]||=[d(`RGB`,-1)]]),_:1})):P(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,gt,[p(j(N),{size:`small`,loading:f.value,onClick:T},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,_t,I(j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(_(),h(j(m),{key:3},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:lightbulb`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),yt=g({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=y(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(_(),h(j(Ie),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:j(i)(`spacesHomeControlPlugin.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:R(()=>[p(j(N),{type:`primary`,onClick:s},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[p(vt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),bt={key:1,class:`flex justify-center py-4`},xt={class:`flex items-center gap-2`},St={class:`flex flex-col`},Ct={key:0,class:`text-xs text-gray-400`},wt={class:`flex gap-1`},Tt={class:`flex justify-between items-center mt-4`},Et={class:`text-xs text-gray-400 ml-4`},Dt=g({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=y(),s=Pe(),c=Fe(),{climateSignal:l}=ut(),u=v(!1),f=v(!1),g=v([]),b=a(()=>[{value:X.heating_only,label:o(`spacesHomeControlPlugin.climateRoles.${X.heating_only}`)},{value:X.cooling_only,label:o(`spacesHomeControlPlugin.climateRoles.${X.cooling_only}`)},{value:X.auto,label:o(`spacesHomeControlPlugin.climateRoles.${X.auto}`)},{value:X.auxiliary,label:o(`spacesHomeControlPlugin.climateRoles.${X.auxiliary}`)},{value:X.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${X.hidden}`)}]),C=a(()=>[{value:X.sensor,label:o(`spacesHomeControlPlugin.climateRoles.${X.sensor}`)},{value:X.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${X.hidden}`)}]),w=e=>e.deviceCategory===`sensor`?C.value:b.value,T=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`}},D=async()=>{u.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;g.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{u.value=!1}},O=async(e,t)=>{try{if(t){let n={device_id:e.deviceId,role:t};e.channelId&&(n.channel_id=e.channelId);let{error:r}=await s.client.POST(`/${F}/${Q}/spaces/{id}/climate/roles`,{params:{path:{id:i.space.id}},body:{data:n}});if(r){c.error(`Failed to update climate role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${F}/${Q}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(t){c.error(`Failed to clear climate role`);return}e.role=null}}catch{c.error(`Failed to update climate role`)}},A=async()=>{f.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${F}/${Q}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await D(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{f.value=!1}};return E(()=>i.space?.id,e=>{e&&D()}),E(()=>l?.value,()=>{i.space?.id&&D()}),S(()=>{i.space?.id&&D()}),(i,a)=>(_(),e(`div`,{class:x({"mt-2":!n.hideHeader})},[n.hideHeader?P(``,!0):(_(),h(j(U),{key:0,"content-position":`left`,class:`mt-6!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.description`)),1)]),_:1}),u.value&&g.value.length===0?(_(),e(`div`,bt,[p(j(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):g.value.length>0||u.value?(_(),e(z,{key:2},[p(j(W),{data:g.value,border:``,"max-height":`400px`},{default:R(()=>[p(j(G),{prop:`deviceName`,label:j(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:R(({row:n})=>[r(`div`,xt,[p(j(t),{icon:T(n.deviceCategory)},null,8,[`icon`]),r(`div`,St,[r(`span`,null,I(n.deviceName),1),n.channelName?(_(),e(`span`,Ct,I(n.channelName),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.title`),width:`200`},{default:R(({row:t})=>[p(j(J),{"model-value":t.role??``,placeholder:j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>O(t,e)},{default:R(()=>[(_(!0),e(z,null,k(w(t),e=>(_(),h(j(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`]),p(j(G),{label:``,width:`120`},{default:R(({row:e})=>[r(`div`,wt,[e.hasTemperature?(_(),h(j(Y),{key:0,type:`warning`,size:`small`},{default:R(()=>[...a[0]||=[d(`Temp`,-1)]]),_:1})):P(``,!0),e.hasHumidity?(_(),h(j(Y),{key:1,type:`info`,size:`small`},{default:R(()=>[...a[1]||=[d(`Humid`,-1)]]),_:1})):P(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,Tt,[p(j(N),{size:`small`,loading:f.value,onClick:A},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Et,I(j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(_(),h(j(m),{key:3},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:thermostat`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),Ot=g({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=y(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(_(),h(j(Ie),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:j(i)(`spacesHomeControlPlugin.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:R(()=>[p(j(N),{type:`primary`,onClick:s},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[p(Dt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),kt={key:1,class:`flex justify-center py-4`},At={class:`flex items-center gap-2`},jt={class:`flex flex-col`},Mt={key:0,class:`text-xs text-gray-400`},Nt={class:`flex gap-1`},Pt={class:`flex justify-between items-center mt-4`},Ft={class:`text-xs text-gray-400`},It=g({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=y(),s=Pe(),c=Fe(),{coversSignal:l}=ut(),u=v(!1),f=v(!1),g=v([]),b=a(()=>[{value:q.primary,label:o(`spacesHomeControlPlugin.coversRoles.primary`)},{value:q.blackout,label:o(`spacesHomeControlPlugin.coversRoles.blackout`)},{value:q.sheer,label:o(`spacesHomeControlPlugin.coversRoles.sheer`)},{value:q.outdoor,label:o(`spacesHomeControlPlugin.coversRoles.outdoor`)},{value:q.hidden,label:o(`spacesHomeControlPlugin.coversRoles.hidden`)}]),C=async()=>{u.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;g.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{u.value=!1}},w=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${F}/${Q}/spaces/{id}/covers/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update covers role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${F}/${Q}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear covers role`);return}e.role=null}}catch{c.error(`Failed to update covers role`)}},T=async()=>{f.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${F}/${Q}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await C(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{f.value=!1}};return E(()=>i.space?.id,e=>{e&&C()}),E(()=>l?.value,()=>{i.space?.id&&C()}),S(()=>{i.space?.id&&C()}),(i,a)=>(_(),e(`div`,{class:x({"mt-2":!n.hideHeader})},[n.hideHeader?P(``,!0):(_(),h(j(U),{key:0,"content-position":`left`,class:`mt-6!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.description`)),1)]),_:1}),u.value&&g.value.length===0?(_(),e(`div`,kt,[p(j(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):g.value.length>0||u.value?(_(),e(z,{key:2},[p(j(W),{data:g.value,border:``,"max-height":`400px`},{default:R(()=>[p(j(G),{prop:`deviceName`,label:j(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:R(({row:n})=>[r(`div`,At,[p(j(t),{icon:`mdi:blinds`}),r(`div`,jt,[r(`span`,null,I(n.deviceName),1),n.channelName?(_(),e(`span`,Mt,I(n.channelName),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.title`),width:`160`},{default:R(({row:t})=>[p(j(J),{"model-value":t.role??``,placeholder:j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>w(t,e)},{default:R(()=>[(_(!0),e(z,null,k(b.value,e=>(_(),h(j(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`]),p(j(G),{label:``,width:`100`},{default:R(({row:e})=>[r(`div`,Nt,[e.hasPosition?(_(),h(j(Y),{key:0,type:`info`,size:`small`},{default:R(()=>[...a[0]||=[d(`Pos`,-1)]]),_:1})):P(``,!0),e.hasTilt?(_(),h(j(Y),{key:1,type:`success`,size:`small`},{default:R(()=>[...a[1]||=[d(`Tilt`,-1)]]),_:1})):P(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,Pt,[p(j(N),{size:`small`,loading:f.value,onClick:T},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Ft,I(j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(_(),h(j(m),{key:3},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:blinds`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),Lt=g({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=y(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(_(),h(j(Ie),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:j(i)(`spacesHomeControlPlugin.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:R(()=>[p(j(N),{type:`primary`,onClick:s},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[p(It,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Rt={key:1,class:`flex justify-center py-4`},zt={class:`flex items-center gap-2`},Bt={class:`flex flex-col`},Vt={class:`text-xs text-gray-400`},Ht={class:`flex justify-between items-center mt-4`},Ut={class:`text-xs text-gray-400 ml-4`},Wt=g({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=y(),s=Pe(),c=Fe(),{sensorSignal:l}=ut(),u=v(!1),f=v(!1),g=v([]),b=a(()=>pe.map(e=>({value:e,label:o(`spacesHomeControlPlugin.sensorRoles.${e}`)}))),C=e=>{switch(e){case`temperature`:return o(`spacesHomeControlPlugin.sensorRoles.categories.temperature`);case`humidity`:return o(`spacesHomeControlPlugin.sensorRoles.categories.humidity`);case`pressure`:return o(`spacesHomeControlPlugin.sensorRoles.categories.pressure`);case`illuminance`:return o(`spacesHomeControlPlugin.sensorRoles.categories.illuminance`);case`smoke`:return o(`spacesHomeControlPlugin.sensorRoles.categories.smoke`);case`gas`:return o(`spacesHomeControlPlugin.sensorRoles.categories.gas`);case`carbon_monoxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_dioxide`);case`leak`:return o(`spacesHomeControlPlugin.sensorRoles.categories.leak`);case`motion`:return o(`spacesHomeControlPlugin.sensorRoles.categories.motion`);case`occupancy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.occupancy`);case`contact`:return o(`spacesHomeControlPlugin.sensorRoles.categories.contact`);case`air_quality`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_quality`);case`air_particulate`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return o(`spacesHomeControlPlugin.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return o(`spacesHomeControlPlugin.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_generation`);case`electrical_power`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_power`);case`battery`:return o(`spacesHomeControlPlugin.sensorRoles.categories.battery`);default:return e}},w=async()=>{u.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;g.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{u.value=!1}},T=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${F}/${Q}/spaces/{id}/sensors/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update sensor role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${F}/${Q}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear sensor role`);return}e.role=null}}catch{c.error(`Failed to update sensor role`)}},D=async()=>{f.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${F}/${Q}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await w(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{f.value=!1}};return E(()=>i.space?.id,e=>{e&&w()}),E(()=>l?.value,()=>{i.space?.id&&w()}),S(()=>{i.space?.id&&w()}),(i,a)=>(_(),e(`div`,{class:x({"mt-2":!n.hideHeader})},[n.hideHeader?P(``,!0):(_(),h(j(U),{key:0,"content-position":`left`,class:`mt-6!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.description`)),1)]),_:1}),u.value&&g.value.length===0?(_(),e(`div`,Rt,[p(j(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):g.value.length>0||u.value?(_(),e(z,{key:2},[p(j(W),{data:g.value,border:``,"max-height":`400px`},{default:R(()=>[p(j(G),{prop:`deviceName`,label:j(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:R(({row:e})=>[r(`div`,zt,[p(j(t),{icon:`mdi:motion-sensor`}),r(`div`,Bt,[r(`span`,null,I(e.deviceName),1),r(`span`,Vt,I(e.channelName),1)])])]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:R(({row:e})=>[p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(C(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.title`),width:`200`},{default:R(({row:t})=>[p(j(J),{"model-value":t.role??``,placeholder:j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>T(t,e)},{default:R(()=>[(_(!0),e(z,null,k(b.value,e=>(_(),h(j(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`]),r(`div`,Ht,[p(j(N),{size:`small`,loading:f.value,onClick:D},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Ut,I(j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(_(),h(j(m),{key:3},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:motion-sensor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),Gt=g({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=y(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(_(),h(j(Ie),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:j(i)(`spacesHomeControlPlugin.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:R(()=>[p(j(N),{type:`primary`,onClick:s},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[p(Wt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Kt={class:`flex items-start gap-3`},qt={class:`flex-1 min-w-0 space-domain-card__content`},Jt={class:`space-domain-card__title`},Yt={class:`space-domain-card__description`},Xt={class:`space-domain-card__tags`},Zt={class:`flex items-center gap-1`},Qt={key:2,class:`space-domain-card__not-configured`},$t={class:`space-domain-card__chevron`},en=i(g({name:`SpaceDomainCard`,__name:`space-domain-card`,props:{icon:{},iconColor:{},title:{},description:{},tags:{},loading:{type:Boolean}},emits:[`click`],setup(n,{emit:i}){let a=n,o=i,{t:s}=y();return(n,i)=>(_(),h(j(Ne),{shadow:`hover`,class:`space-domain-card`,"body-class":`p-4!`,onClick:i[0]||=e=>o(`click`)},{default:R(()=>[r(`div`,Kt,[r(`div`,{class:`space-domain-card__icon`,style:u({backgroundColor:`var(--el-color-${a.iconColor}-light-9)`,color:`var(--el-color-${a.iconColor})`})},[p(j(t),{icon:a.icon},null,8,[`icon`])],4),r(`div`,qt,[r(`h3`,Jt,I(a.title),1),r(`p`,Yt,I(a.description),1),r(`div`,Xt,[a.loading?(_(),h(j(Ue),{key:0,animated:``,rows:0,class:`w-20`})):a.tags.length>0?(_(!0),e(z,{key:1},k(a.tags,e=>(_(),h(j(Y),{key:e.label,type:e.type,size:`small`},{default:R(()=>[r(`div`,Zt,[p(j(t),{icon:e.icon},null,8,[`icon`]),d(` `+I(e.label)+` `,1),p(j(lt),{value:e.count,type:e.type,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`]))),128)):(_(),e(`span`,Qt,I(j(s)(`spacesHomeControlPlugin.detail.domains.notConfigured`)),1))])]),r(`div`,$t,[p(j(t),{icon:`mdi:chevron-right`})])])]),_:1}))}}),[[`__scopeId`,`data-v-69dd2703`]]),tn=e=>({propertyId:e.property_id??e.propertyId,dataType:e.data_type??e.dataType,format:e.format??null}),nn=e=>{let t=e.capabilities??{},n=e.links??{},r={};return(n.input_select||n.inputSelect)&&(r.inputSelect=tn(n.input_select??n.inputSelect)),{endpointId:e.endpoint_id,spaceId:e.space_id,deviceId:e.device_id,type:e.type,name:e.name,capabilities:{power:t.power??!1,volume:t.volume??!1,mute:t.mute??!1,playback:t.playback??!1,track:t.track??!1,inputSelect:t.input_select??!1,remoteCommands:t.remote_commands??!1},links:r}},rn=e=>({id:e.id,spaceId:e.space_id,activityKey:e.activity_key,displayEndpointId:e.display_endpoint_id??null,audioEndpointId:e.audio_endpoint_id??null,sourceEndpointId:e.source_endpoint_id??null,remoteEndpointId:e.remote_endpoint_id??null,displayInputId:e.display_input_id??null,audioInputId:e.audio_input_id??null,sourceInputId:e.source_input_id??null,audioVolumePreset:e.audio_volume_preset??null,createdAt:e.created_at,updatedAt:e.updated_at??null}),an=e=>({stepIndex:e.step_index??e.stepIndex??0,critical:e.critical??!1,reason:e.reason??``,targetDeviceId:e.target_device_id??e.targetDeviceId,kind:e.kind,propertyId:e.property_id??e.propertyId,commandId:e.command_id??e.commandId,label:e.label,timestamp:e.timestamp}),on=e=>({displayDeviceId:e.display_device_id??e.displayDeviceId,audioDeviceId:e.audio_device_id??e.audioDeviceId,sourceDeviceId:e.source_device_id??e.sourceDeviceId,remoteDeviceId:e.remote_device_id??e.remoteDeviceId}),sn=e=>({stepsTotal:e.steps_total??e.stepsTotal??0,stepsSucceeded:e.steps_succeeded??e.stepsSucceeded??0,stepsFailed:e.steps_failed??e.stepsFailed??0,failures:Array.isArray(e.failures)?e.failures.map(an):void 0,warnings:Array.isArray(e.warnings)?e.warnings.map(an):void 0,errors:Array.isArray(e.errors)?e.errors.map(an):void 0,warningCount:e.warning_count??e.warningCount??0,errorCount:e.error_count??e.errorCount??0}),cn=e=>{let t=e.action??{};return{targetDeviceId:e.target_device_id??e.targetDeviceId??``,action:{kind:t.kind??`unknown`,propertyId:t.property_id??t.propertyId,value:t.value},critical:e.critical??!1,label:e.label}},ln=e=>{let t=e.resolved,n=e.plan??[],r=e.warnings??[];return{spaceId:e.space_id??e.spaceId??``,activityKey:e.activity_key??e.activityKey??``,resolved:t?on(t):{},plan:n.map(cn),warnings:r.map(e=>({label:e.label??``}))}},un=e=>{let t=e.resolved,n=e.summary;return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t?on(t):void 0,summary:n?sn(n):void 0,warnings:e.warnings}},dn=e=>{let t,n;if(e.resolved)try{t=on(typeof e.resolved==`string`?JSON.parse(e.resolved):e.resolved)}catch{}if(e.last_result)try{n=sn(typeof e.last_result==`string`?JSON.parse(e.last_result):e.last_result)}catch{}return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t,summary:n,warnings:e.warnings,activatedAt:e.activated_at??null,updatedAt:e.updated_at??null}},fn=e=>{switch(e){case`watch`:return`primary`;case`listen`:return`success`;case`gaming`:return`danger`;case`background`:return`info`;default:return`info`}},pn=e=>{switch(e){case`watch`:return`mdi:television-play`;case`listen`:return`mdi:music`;case`gaming`:return`mdi:controller`;case`background`:return`mdi:music-note`;default:return`mdi:help-circle`}},mn=e=>{let t=Pe(),n=v([]),r=v([]),i=v(null),o=v(!1),s=v(!1),c=v(!1),l=v(!1),u=v(!1),d=v(!1),f=v(!1),p=v(null),m=v(null),h=v(null),g=v(!1),_=v(null),y=v(null),b=a(()=>n.value),x=a(()=>r.value),S=async()=>{if(!(!e.value||o.value)){o.value=!0,p.value=null;try{let{data:r,error:i}=await t.client.GET(`/${F}/${Q}/spaces/{id}/media/endpoints`,{params:{path:{id:e.value}}});if(i||!r)throw Error(`Failed to fetch media endpoints`);let a=(r.data??{}).endpoints??[];n.value=a.map(nn)}catch(e){p.value=e instanceof Error?e.message:`Unknown error`}finally{o.value=!1}}},C=async()=>{if(!(!e.value||s.value)){s.value=!0,m.value=null;try{let{data:n,error:i}=await t.client.GET(`/${F}/${Q}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to fetch media bindings`);let a=n.data??[];r.value=a.map(rn)}catch(e){m.value=e instanceof Error?e.message:`Unknown error`}finally{s.value=!1}}},w=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.PATCH(`/${F}/${Q}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}},body:{data:{display_endpoint_id:i.displayEndpointId,audio_endpoint_id:i.audioEndpointId,source_endpoint_id:i.sourceEndpointId,remote_endpoint_id:i.remoteEndpointId,display_input_id:i.displayInputId,audio_input_id:i.audioInputId,source_input_id:i.sourceInputId,audio_volume_preset:i.audioVolumePreset}}});if(o||!a||!a.data){let e=o?.message??`Failed to save binding`;throw Error(e)}let s=rn(a.data),c=r.value.findIndex(e=>e.id===s.id);return c>=0&&(r.value[c]=s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},T=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}},body:{data:{activity_key:n,display_endpoint_id:i.displayEndpointId??void 0,audio_endpoint_id:i.audioEndpointId??void 0,source_endpoint_id:i.sourceEndpointId??void 0,remote_endpoint_id:i.remoteEndpointId??void 0,display_input_id:i.displayInputId??void 0,audio_input_id:i.audioInputId??void 0,source_input_id:i.sourceInputId??void 0,audio_volume_preset:i.audioVolumePreset??void 0}}});if(o||!a||!a.data){let e=o?.message??`Failed to create binding`;throw Error(e)}let s=rn(a.data);return r.value.push(s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},E=async n=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{error:i}=await t.client.DELETE(`/${F}/${Q}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}}});if(i){let e=i?.message??`Failed to delete binding`;throw Error(e)}r.value=r.value.filter(e=>e.id!==n)}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},D=async()=>{if(e.value){f.value=!0;try{let{data:n,error:i}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/bindings/apply-defaults`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to apply defaults`);let a=n.data??[];r.value=a.map(rn)}catch(e){throw m.value=e instanceof Error?e.message:`Unknown error`,e}finally{f.value=!1}}},O=async()=>{if(!(!e.value||c.value)){c.value=!0,_.value=null,y.value=null;try{let{data:n,error:r}=await t.client.GET(`/${F}/${Q}/spaces/{id}/media/activities/active`,{params:{path:{id:e.value}}});if(r||!n)throw Error(`Failed to fetch active state`);i.value=n.data?dn(n.data):null}catch(e){_.value=e instanceof Error?e.message:`Unknown error`,y.value=`fetch`}finally{c.value=!1}}},k=async(e=3,t=1e3)=>{for(let n=0;n<e&&(await new Promise(e=>setTimeout(e,t)),await O(),!(i.value?.state===`active`||i.value?.state===`failed`||i.value?.state===`deactivated`));n++);};return{endpoints:b,bindings:x,activeState:i,fetchingEndpoints:o,fetchingBindings:s,fetchingActiveState:c,activating:l,deactivating:u,previewing:g,savingBinding:d,applyingDefaults:f,endpointsError:p,bindingsError:m,saveError:h,activationError:_,activationErrorSource:y,fetchEndpoints:S,fetchBindings:C,fetchActiveState:O,activate:async n=>{if(!e.value)throw Error(`Space ID is required`);l.value=!0,_.value=null,y.value=null,i.value={activityKey:n,state:`activating`};try{let{data:r,error:a}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/activities/{activityKey}/activate`,{params:{path:{id:e.value,activityKey:n}}});if(a||!r||!r.data){let e=a?.message??`Failed to activate activity`;throw Error(e)}let o=un(r.data);return i.value=o,o.state===`activating`&&await k(),i.value??o}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,y.value=`activate`,i.value={activityKey:n,state:`failed`},e}finally{l.value=!1}},preview:async n=>{if(!e.value)throw Error(`Space ID is required`);g.value=!0;try{let{data:r,error:i}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/activities/{activityKey}/preview`,{params:{path:{id:e.value,activityKey:n}}});if(i||!r||!r.data){let e=i?.message??`Failed to preview activity`;throw Error(e)}return ln(r.data)}finally{g.value=!1}},deactivate:async()=>{if(!e.value)throw Error(`Space ID is required`);u.value=!0,_.value=null,y.value=null;try{let{data:n,error:r}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/activities/deactivate`,{params:{path:{id:e.value}}});if(r||!n||!n.data){let e=r?.message??`Failed to deactivate`;throw Error(e)}let a=un(n.data);return i.value=a,a}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,y.value=`deactivate`,e}finally{u.value=!1}},saveBinding:w,createBinding:T,deleteBinding:E,applyDefaults:D,endpointsByType:e=>a(()=>n.value.filter(t=>t.type===e)),findBindingByActivity:e=>r.value.find(t=>t.activityKey===e)}},hn=[`element-loading-text`],gn={class:`flex items-center gap-3 flex-1 pr-2`},_n={class:`font-medium text-sm`},vn={class:`flex items-center justify-between w-full`},yn={class:`flex gap-1 ml-2`},bn={class:`flex items-center justify-between w-full`},xn={class:`flex gap-1 ml-2`},Sn={class:`flex items-center justify-between w-full`},Cn={class:`flex gap-1 ml-2`},wn={class:`flex justify-between items-center mt-2`},Tn={class:`flex items-center gap-2`},En={class:`text-xs text-gray-400`},Dn=g({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(n,{emit:i}){let o=n,s=i,{t:c}=y(),u=Fe(),f=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),{endpoints:m,activeState:g,fetchingEndpoints:b,fetchingBindings:S,activating:C,deactivating:T,applyingDefaults:D,activationError:A,fetchEndpoints:M,fetchBindings:ee,fetchActiveState:F,activate:L,deactivate:te,saveBinding:ne,createBinding:re,deleteBinding:ie,applyDefaults:oe,findBindingByActivity:se,endpointsByType:B}=mn(a(()=>o.space?.id)),ce=[H.watch,H.listen,H.gaming,H.background],le=v(``),ue=v(null),V=v(!1),fe=a(()=>b.value||S.value),pe=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),U=w({[H.watch]:pe(),[H.listen]:pe(),[H.gaming]:pe(),[H.background]:pe()}),W=w({[H.watch]:pe(),[H.listen]:pe(),[H.gaming]:pe(),[H.background]:pe()}),me=w({[H.watch]:!1,[H.listen]:!1,[H.gaming]:!1,[H.background]:!1}),ge=w({[H.watch]:null,[H.listen]:null,[H.gaming]:null,[H.background]:null}),_e=B(ve.display),ye=B(ve.audio_output),G=B(ve.source),K=B(ve.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(W[e],{...U[e]})},q=()=>{for(let e of ce){let t=se(e);xe(e,t)}},Se=e=>{let t=U[e],n=W[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?m.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},we=e=>{let t=U[e].audioEndpointId;return t?m.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Te=e=>{let t=m.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`}},Ee=e=>{let t=Te(e);return t.type===`select`?t.options:[]},De=e=>{let t=`spacesHomeControlPlugin.media.activities.mediaInputSources.${e}`,n=c(t);return n===t?String(e):n},Oe=e=>{let t=` (${c(`spacesHomeControlPlugin.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},ke=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Me=e=>{let t=g.value?.activityKey===e&&g.value?.state!==`deactivated`,n=t?g.value.state:void 0,r=se(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},Ne=e=>{let{isActive:t,state:n}=Me(e);return t&&n?ke(n):fn(e)},Pe=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Me(e);return c(t?`spacesHomeControlPlugin.media.activities.activationState.${n}`:r?i?`spacesHomeControlPlugin.media.activities.status.configured`:`spacesHomeControlPlugin.media.activities.status.incomplete`:`spacesHomeControlPlugin.media.activities.status.unconfigured`)},Le=new Map,ze=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:we(e)?t.audioVolumePreset:null}},X=async e=>{if(!me[e]){me[e]=!0,ge[e]=null;try{let t=se(e),n=ze(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...U[e]};r&&t?(await ie(t.id),xe(e,void 0),Object.assign(W[e],i)):r?Object.assign(W[e],i):t?(await ne(t.id,n),Object.assign(W[e],i)):(await re(e,n),Object.assign(W[e],i))}catch(t){ge[e]=t instanceof Error?t.message:`Failed to save`}finally{me[e]=!1}}},Ve=e=>{let t=Le.get(e);t&&clearTimeout(t),Le.set(e,setTimeout(()=>{Le.delete(e),X(e)},500))};for(let e of ce)E(()=>U[e],()=>{!V.value||!Se(e)||Ve(e)},{deep:!0}),E(()=>U[e].displayEndpointId,()=>{V.value&&(U[e].displayInputId=``)}),E(()=>U[e].audioEndpointId,()=>{V.value&&(U[e].audioInputId=``,U[e].audioVolumePreset=30)}),E(()=>U[e].sourceEndpointId,()=>{V.value&&(U[e].sourceInputId=``)});let He=async e=>{ue.value=e;try{await L(e),u.success(c(`spacesHomeControlPlugin.media.activities.activateSuccess`))}catch{u.error(c(`spacesHomeControlPlugin.media.activities.activateFailed`))}finally{ue.value=null}},Q=async()=>{try{await te(),u.success(c(`spacesHomeControlPlugin.media.activities.deactivateSuccess`))}catch{A.value=null,u.error(c(`spacesHomeControlPlugin.media.activities.deactivateFailed`))}},Ue=async()=>{V.value=!1;try{await oe(),q(),u.success(c(`spacesHomeControlPlugin.media.activities.defaultsApplied`))}catch{u.error(c(`spacesHomeControlPlugin.media.activities.defaultsFailed`))}await l(),V.value=!0},Ge=async()=>{V.value=!1,await Promise.all([M(),ee(),F()]),q(),await l(),V.value=!0},Ke=async()=>{V.value=!1;let e=[],t=new Set;for(let[n,r]of Le)clearTimeout(r),t.add(n),e.push(X(n));Le.clear();for(let n of ce)!t.has(n)&&Se(n)&&e.push(X(n));await Promise.allSettled(e),s(`bindings-changed`),f.value=!1};return(n,i)=>(_(),h(j(Ie),{modelValue:f.value,"onUpdate:modelValue":i[2]||=e=>f.value=e,title:j(c)(`spacesHomeControlPlugin.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:Ge,onClose:Ke},{footer:R(()=>[p(j(N),{type:`primary`,onClick:Ke},{default:R(()=>[d(I(j(c)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[O((_(),e(`div`,{"element-loading-text":j(c)(`spacesHomeControlPlugin.media.activities.loading`),class:`flex flex-col gap-4`},[p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.activities.description`)),1)]),_:1}),p(j(Re),{modelValue:le.value,"onUpdate:modelValue":i[0]||=e=>le.value=e,accordion:``},{default:R(()=>[(_(),e(z,null,k(ce,n=>p(j(Ae),{key:n,name:n},{title:R(()=>[r(`div`,gn,[p(j(t),{icon:j(pn)(n),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),r(`span`,_n,I(j(c)(`spacesHomeControlPlugin.media.activityLabels.${n}`)),1),p(j(Y),{type:Ne(n),size:`small`,round:``},{default:R(()=>[d(I(Pe(n)),1)]),_:2},1032,[`type`]),me[n]?(_(),h(j(t),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):P(``,!0),i[3]||=r(`div`,{class:`flex-1`},null,-1),p(j(N),{size:`small`,type:`success`,circle:``,loading:j(C)&&ue.value===n,disabled:j(C)||j(T)||j(g)?.state===`activating`,title:j(c)(`spacesHomeControlPlugin.media.activities.run`),onClick:ae(e=>He(n),[`stop`])},{icon:R(()=>[p(j(t),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:R(()=>[p(j(be),{"label-position":`top`,class:`flex flex-col gap-2`},{default:R(()=>[r(`div`,{class:x(Ce(n,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[p(j(de),{label:j(c)(`spacesHomeControlPlugin.media.activities.slots.display`)},{default:R(()=>[p(j(J),{modelValue:U[n].displayEndpointId,"onUpdate:modelValue":e=>U[n].displayEndpointId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(_e),e=>(_(),h(j(Z),{key:e.endpointId,label:Oe(e),value:e.endpointId},{default:R(()=>[r(`div`,vn,[r(`span`,null,I(Oe(e)),1),r(`div`,yn,[e.capabilities.inputSelect?(_(),h(j(Y),{key:0,size:`small`,type:`info`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):P(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(n,`displayEndpointId`)?(_(),h(j(de),{key:0,label:j(c)(`spacesHomeControlPlugin.media.activities.overrides.displayInput`)},{default:R(()=>[Te(U[n].displayEndpointId).type===`select`?(_(),h(j(J),{key:0,modelValue:U[n].displayInputId,"onUpdate:modelValue":e=>U[n].displayInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(Ee(U[n].displayEndpointId),e=>(_(),h(j(Z),{key:String(e),label:De(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(_(),h(j(Be),{key:1,modelValue:U[n].displayInputId,"onUpdate:modelValue":e=>U[n].displayInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):P(``,!0)],2),r(`div`,{class:x(Ce(n,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[p(j(de),{label:j(c)(`spacesHomeControlPlugin.media.activities.slots.audio`)},{default:R(()=>[p(j(J),{modelValue:U[n].audioEndpointId,"onUpdate:modelValue":e=>U[n].audioEndpointId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(ye),e=>(_(),h(j(Z),{key:e.endpointId,label:Oe(e),value:e.endpointId},{default:R(()=>[r(`div`,bn,[r(`span`,null,I(Oe(e)),1),r(`div`,xn,[e.capabilities.volume?(_(),h(j(Y),{key:0,size:`small`,type:`info`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.capabilities.volume`)),1)]),_:1})):P(``,!0),e.capabilities.inputSelect?(_(),h(j(Y),{key:1,size:`small`,type:`info`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):P(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(n,`audioEndpointId`)?(_(),h(j(de),{key:0,label:j(c)(`spacesHomeControlPlugin.media.activities.overrides.audioInput`)},{default:R(()=>[Te(U[n].audioEndpointId).type===`select`?(_(),h(j(J),{key:0,modelValue:U[n].audioInputId,"onUpdate:modelValue":e=>U[n].audioInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(Ee(U[n].audioEndpointId),e=>(_(),h(j(Z),{key:String(e),label:De(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(_(),h(j(Be),{key:1,modelValue:U[n].audioInputId,"onUpdate:modelValue":e=>U[n].audioInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):P(``,!0)],2),we(n)?(_(),h(j(de),{key:0,label:j(c)(`spacesHomeControlPlugin.media.activities.overrides.audioVolume`)},{default:R(()=>[p(j(We),{modelValue:U[n].audioVolumePreset,"onUpdate:modelValue":e=>U[n].audioVolumePreset=e,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):P(``,!0),r(`div`,{class:x(Ce(n,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[p(j(de),{label:j(c)(`spacesHomeControlPlugin.media.activities.slots.source`)},{default:R(()=>[p(j(J),{modelValue:U[n].sourceEndpointId,"onUpdate:modelValue":e=>U[n].sourceEndpointId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(G),e=>(_(),h(j(Z),{key:e.endpointId,label:Oe(e),value:e.endpointId},{default:R(()=>[r(`div`,Sn,[r(`span`,null,I(Oe(e)),1),r(`div`,Cn,[e.capabilities.inputSelect?(_(),h(j(Y),{key:0,size:`small`,type:`info`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):P(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(n,`sourceEndpointId`)?(_(),h(j(de),{key:0,label:j(c)(`spacesHomeControlPlugin.media.activities.overrides.sourceInput`)},{default:R(()=>[Te(U[n].sourceEndpointId).type===`select`?(_(),h(j(J),{key:0,modelValue:U[n].sourceInputId,"onUpdate:modelValue":e=>U[n].sourceInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(Ee(U[n].sourceEndpointId),e=>(_(),h(j(Z),{key:String(e),label:De(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(_(),h(j(Be),{key:1,modelValue:U[n].sourceInputId,"onUpdate:modelValue":e=>U[n].sourceInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):P(``,!0)],2),p(j(de),{label:j(c)(`spacesHomeControlPlugin.media.activities.slots.remote`)},{default:R(()=>[p(j(J),{modelValue:U[n].remoteEndpointId,"onUpdate:modelValue":e=>U[n].remoteEndpointId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(K),e=>(_(),h(j(Z),{key:e.endpointId,label:Oe(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),ge[n]?(_(),h(j(je),{key:1,type:`error`,title:j(c)(`spacesHomeControlPlugin.media.activities.saveError`),description:ge[n],"show-icon":``,closable:``,onClose:e=>ge[n]=null},null,8,[`title`,`description`,`onClose`])):P(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),r(`div`,wn,[r(`div`,Tn,[p(j(N),{size:`small`,loading:j(D),onClick:Ue},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),j(g)&&j(g).state!==`deactivated`?(_(),h(j(N),{key:0,size:`small`,type:`warning`,loading:j(T),disabled:j(C),onClick:Q},{icon:R(()=>[p(j(t),{icon:`mdi:stop`})]),default:R(()=>[d(` `+I(j(c)(`spacesHomeControlPlugin.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):P(``,!0)]),r(`div`,En,I(j(c)(`spacesHomeControlPlugin.media.activities.applyDefaultsHint`)),1)]),j(A)?(_(),h(j(je),{key:0,type:`error`,title:j(c)(`spacesHomeControlPlugin.media.activities.activateFailed`),description:j(A),"show-icon":``,closable:``,onClose:i[1]||=e=>A.value=null},null,8,[`title`,`description`])):P(``,!0)],8,hn)),[[j(he),fe.value]])]),_:1},8,[`modelValue`,`title`]))}}),On={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},kn=g({name:`SpaceDomainsSection`,__name:`space-domains-section`,props:{space:{}},setup(t,{expose:n}){let i=t,{t:o}=y(),s=Pe(),{lightingSignal:c,climateSignal:l,coversSignal:u,sensorSignal:d}=ut(),f=v(!1),m=v(!1),g=v(!1),b=v(!1),x=v(!1),C=v(!1),w=v([]),T=e=>{switch(e){case B.main:return`primary`;case B.task:return`warning`;case B.ambient:return`success`;case B.accent:return`danger`;case B.night:default:return`info`}},D=e=>{switch(e){case B.main:return`mdi:lightbulb`;case B.task:return`mdi:desk-lamp`;case B.ambient:return`mdi:lightbulb-group`;case B.accent:return`mdi:spotlight-beam`;case B.night:return`mdi:weather-night`;default:return`mdi:lightbulb-outline`}},O=async()=>{if(i.space?.id){C.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e){w.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[B.main,B.task,B.ambient,B.accent,B.night,B.other];w.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.lightingRoles.${e}`),type:T(e),icon:D(e),count:t}))}finally{C.value=!1}}},A=v(!1),j=v([]),M=e=>{switch(e){case X.heating_only:return`danger`;case X.cooling_only:return`primary`;case X.auto:return`success`;case X.auxiliary:return`warning`;default:return`info`}},N=e=>{switch(e){case X.heating_only:return`mdi:fire`;case X.cooling_only:return`mdi:snowflake`;case X.auto:return`mdi:thermostat-auto`;case X.auxiliary:return`mdi:radiator`;case X.sensor:return`mdi:thermometer`;default:return`mdi:eye-off`}},P=async()=>{if(i.space?.id){A.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e){j.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===X.hidden)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[X.heating_only,X.cooling_only,X.auto,X.auxiliary,X.sensor];j.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.climateRoles.${e}`),type:M(e),icon:N(e),count:t}))}finally{A.value=!1}}},ee=v(!1),I=v([]),L=e=>{switch(e){case q.primary:return`primary`;case q.blackout:return`danger`;case q.sheer:return`success`;case q.outdoor:return`warning`;default:return`info`}},te=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`;default:return`mdi:blinds-horizontal`}},R=async()=>{if(i.space?.id){ee.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e){I.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[q.primary,q.blackout,q.sheer,q.outdoor,q.hidden];I.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.coversRoles.${e}`),type:L(e),icon:te(e),count:t}))}finally{ee.value=!1}}},ne=v(!1),re=v([]),ie=e=>{switch(e){case xe.ENVIRONMENT:return`success`;case xe.SAFETY:return`danger`;case xe.SECURITY:return`warning`;case xe.AIR_QUALITY:return`info`;case xe.ENERGY:return`primary`;default:return`info`}},ae=e=>{switch(e){case xe.ENVIRONMENT:return`mdi:thermometer`;case xe.SAFETY:return`mdi:shield-alert`;case xe.SECURITY:return`mdi:motion-sensor`;case xe.AIR_QUALITY:return`mdi:air-filter`;case xe.ENERGY:return`mdi:lightning-bolt`;default:return`mdi:chart-line`}},oe=async()=>{if(i.space?.id){ne.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e){re.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===xe.HIDDEN)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}re.value=Array.from(r.entries()).sort(([e],[t])=>pe.indexOf(e)-pe.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.sensorRoles.${e}`),type:ie(e),icon:ae(e),count:t}))}finally{ne.value=!1}}},{fetchEndpoints:se,fetchBindings:ce,findBindingByActivity:le}=mn(a(()=>i.space?.id)),ue=v(!1),de=v([]),V=[H.watch,H.listen,H.gaming,H.background],fe=async()=>{if(i.space?.id){ue.value=!0;try{await Promise.all([se(),ce()]);let e=[];for(let t of V){let n=le(t);if(!n)continue;let r=[n.displayEndpointId,n.audioEndpointId,n.sourceEndpointId,n.remoteEndpointId].filter(Boolean).length;e.push({label:o(`spacesHomeControlPlugin.media.activityLabels.${t}`),type:fn(t),icon:pn(t),count:r})}de.value=e}catch{de.value=[]}finally{ue.value=!1}}},U=a(()=>[{key:`lighting`,icon:`mdi:lightbulb`,iconColor:`warning`,title:o(`spacesHomeControlPlugin.detail.domains.lighting.title`),description:o(`spacesHomeControlPlugin.detail.domains.lighting.description`),tags:w.value,loading:C.value,openDialog:()=>{f.value=!0}},{key:`climate`,icon:`mdi:thermostat`,iconColor:`danger`,title:o(`spacesHomeControlPlugin.detail.domains.climate.title`),description:o(`spacesHomeControlPlugin.detail.domains.climate.description`),tags:j.value,loading:A.value,openDialog:()=>{m.value=!0}},{key:`covers`,icon:`mdi:blinds`,iconColor:`primary`,title:o(`spacesHomeControlPlugin.detail.domains.covers.title`),description:o(`spacesHomeControlPlugin.detail.domains.covers.description`),tags:I.value,loading:ee.value,openDialog:()=>{g.value=!0}},{key:`sensor`,icon:`mdi:chart-bell-curve`,iconColor:`success`,title:o(`spacesHomeControlPlugin.detail.domains.sensor.title`),description:o(`spacesHomeControlPlugin.detail.domains.sensor.description`),tags:re.value,loading:ne.value,openDialog:()=>{b.value=!0}},{key:`media`,icon:`mdi:play-box-multiple`,iconColor:`info`,title:o(`spacesHomeControlPlugin.detail.domains.media.title`),description:o(`spacesHomeControlPlugin.detail.domains.media.description`),tags:de.value,loading:ue.value,openDialog:()=>{x.value=!0}}]),W=()=>{O(),P(),R(),oe(),fe()};E(()=>c?.value,()=>{i.space?.id&&O()}),E(()=>l?.value,()=>{i.space?.id&&P()}),E(()=>u?.value,()=>{i.space?.id&&R()}),E(()=>d?.value,()=>{i.space?.id&&oe()}),E(()=>i.space?.id,e=>{e&&W()});let me=()=>{O()},he=()=>{P()},ge=()=>{R()},_e=()=>{oe()},ve=()=>{fe()};return S(()=>{i.space?.id&&W()}),n({reload:W}),(t,n)=>(_(),e(z,null,[r(`div`,On,[(_(!0),e(z,null,k(U.value,e=>(_(),h(en,{key:e.key,icon:e.icon,"icon-color":e.iconColor,title:e.title,description:e.description,tags:e.tags,loading:e.loading,onClick:t=>e.openDialog()},null,8,[`icon`,`icon-color`,`title`,`description`,`tags`,`loading`,`onClick`]))),128))]),p(yt,{visible:f.value,"onUpdate:visible":n[0]||=e=>f.value=e,space:i.space,onRolesChanged:me},null,8,[`visible`,`space`]),p(Ot,{visible:m.value,"onUpdate:visible":n[1]||=e=>m.value=e,space:i.space,onRolesChanged:he},null,8,[`visible`,`space`]),p(Lt,{visible:g.value,"onUpdate:visible":n[2]||=e=>g.value=e,space:i.space,onRolesChanged:ge},null,8,[`visible`,`space`]),p(Gt,{visible:b.value,"onUpdate:visible":n[3]||=e=>b.value=e,space:i.space,onRolesChanged:_e},null,8,[`visible`,`space`]),p(Dn,{visible:x.value,"onUpdate:visible":n[4]||=e=>x.value=e,space:i.space,onBindingsChanged:ve},null,8,[`visible`,`space`])],64))}}),An={class:`flex items-center gap-2`},jn={class:`font-medium`},Mn={key:0,class:`text-xs text-gray-500`},Nn={class:`flex items-center gap-2 justify-end`},Pn={key:0,class:`h-full w-full leading-normal`},Fn={key:1,class:`h-full w-full leading-normal`},In={class:`mb-4`},Ln=g({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=y(),u=Fe(),{roomSpaces:f}=Qe(),{devices:g,loading:b,firstLoadFinished:x,fetchDevices:C,removeDevice:w,reassignDevice:T}=rt(n(s,`spaceId`),n(s,`spaceType`)),E=v(!1),D=v(null),A=v(null),M=v(!1),ee=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e]||`mdi:devices`,F=()=>{c(`open-add-dialog`)},te=e=>{D.value=e,A.value=null,E.value=!0},ne=async()=>{if(D.value){M.value=!0;try{await T(D.value.id,A.value),E.value=!1,u.success(l(`spacesModule.messages.edited`,{space:D.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{M.value=!1}}},re=e=>{me.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 w(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 S(async()=>{x.value||await C()}),a({openAddDialog:F,fetchDevices:C}),(n,i)=>(_(),e(z,null,[O((_(),h(j(W),{"element-loading-text":j(l)(`spacesModule.detail.devices.loading`),data:j(g),"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[j(b)?(_(),e(`div`,Pn,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(_(),e(`div`,Fn,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(l)(`spacesModule.detail.devices.empty`)),1)]),extra:R(()=>[p(j(N),{type:`primary`,plain:``,onClick:F},{icon:R(()=>[p(j(t),{icon:`mdi:plus`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:R(()=>[p(j(G),{label:j(l)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,An,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:ee(n.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,jn,I(n.name),1),n.description?(_(),e(`div`,Mn,I(n.description),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(l)(`spacesModule.table.columns.category`),width:`150`},{default:R(({row:e})=>[p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(j(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),p(j(G),{label:j(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:R(({row:e})=>[p(j(Y),{type:e.status?.online?`success`:`danger`,size:`small`},{default:R(()=>[d(I(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),p(j(G),{label:``,width:s.spaceType===j(K).ZONE?110:220,align:`right`},{default:R(({row:e})=>[r(`div`,Nn,[s.spaceType===j(K).ROOM?(_(),h(j(N),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>te(e)},{icon:R(()=>[p(j(t),{icon:`mdi:swap-horizontal`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):P(``,!0),p(j(N),{type:`danger`,plain:``,size:`small`,onClick:t=>re(e)},{icon:R(()=>[p(j(t),{icon:`mdi:close`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[j(he),j(b)]]),p(j(Ie),{modelValue:E.value,"onUpdate:modelValue":i[2]||=e=>E.value=e,title:j(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:R(()=>[p(j(N),{onClick:i[1]||=e=>E.value=!1},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),p(j(N),{type:`primary`,loading:M.value,onClick:ne},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:R(()=>[r(`p`,In,I(j(l)(`spacesModule.detail.devices.selectRoom`)),1),p(j(J),{modelValue:A.value,"onUpdate:modelValue":i[0]||=e=>A.value=e,placeholder:j(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(f),e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Rn={class:`flex items-center gap-2`},zn={class:`block`},Bn={key:1,class:`font-medium`},Vn={class:`flex items-center gap-2 justify-end`},Hn={key:0,class:`h-full w-full leading-normal`},Un={key:1,class:`h-full w-full leading-normal`},Wn={class:`mb-4`},Gn=g({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=y(),u=Fe(),{roomSpaces:f}=Qe(),{displays:g,loading:b,fetchDisplays:x,removeDisplay:C,reassignDisplay:w}=nt(n(s,`spaceId`)),T=v(!1),E=v(null),D=v(null),A=v(!1),M=()=>{c(`open-add-dialog`)},P=e=>{E.value=e,D.value=null,T.value=!0},ee=async()=>{if(E.value){A.value=!0;try{await w(E.value.id,D.value),T.value=!1,u.success(l(`spacesModule.messages.edited`,{space:E.value.name||E.value.macAddress}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{A.value=!1}}},F=e=>{let t=e.name||e.macAddress;me.confirm(l(`spacesModule.detail.displays.confirmRemove`,{name:t}),l(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await C(e.id),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 S(async()=>{await x()}),a({openAddDialog:M,fetchDisplays:x}),(n,i)=>(_(),e(z,null,[O((_(),h(j(W),{"element-loading-text":j(l)(`spacesModule.detail.displays.loading`),data:j(g),"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[j(b)?(_(),e(`div`,Hn,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(_(),e(`div`,Un,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(l)(`spacesModule.detail.displays.empty`)),1)]),extra:R(()=>[p(j(N),{type:`primary`,plain:``,onClick:M},{icon:R(()=>[p(j(t),{icon:`mdi:plus`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:R(()=>[p(j(G),{label:j(l)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,Rn,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(_(),e(z,{key:0},[r(`strong`,zn,I(n.name),1),p(j(_e),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[d(I(n.macAddress),1)]),_:2},1024)],64)):(_(),e(`div`,Bn,I(n.macAddress),1))])])]),_:1},8,[`label`]),p(j(G),{label:j(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:R(({row:e})=>[p(j(Y),{type:e.online?`success`:`danger`,size:`small`},{default:R(()=>[d(I(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),p(j(G),{label:``,width:`220`,align:`right`},{default:R(({row:e})=>[r(`div`,Vn,[p(j(N),{type:`warning`,plain:``,size:`small`,onClick:t=>P(e)},{icon:R(()=>[p(j(t),{icon:`mdi:swap-horizontal`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),p(j(N),{type:`danger`,plain:``,size:`small`,onClick:t=>F(e)},{icon:R(()=>[p(j(t),{icon:`mdi:close`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[j(he),j(b)]]),p(j(Ie),{modelValue:T.value,"onUpdate:modelValue":i[2]||=e=>T.value=e,title:j(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:R(()=>[p(j(N),{onClick:i[1]||=e=>T.value=!1},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),p(j(N),{type:`primary`,loading:A.value,onClick:ee},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:R(()=>[r(`p`,Wn,I(j(l)(`spacesModule.detail.displays.selectRoom`)),1),p(j(J),{modelValue:D.value,"onUpdate:modelValue":i[0]||=e=>D.value=e,placeholder:j(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(f),e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Kn=e=>{let t=we().getStore(at),{semaphore:n,firstLoad:r}=De(t),i=v(!1);return{scenes:a(()=>e.value?t.findBySpace(e.value).filter(e=>!e.draft).sort((e,t)=>e.name.localeCompare(t.name)):[]),loading:a(()=>!!(i.value||n.value.fetching.items||!r.value)),firstLoadFinished:a(()=>r.value),fetchScenes:async()=>{await t.fetch()},reassignScene:async(e,n)=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:n}})}finally{i.value=!1}},removeScene:async e=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:null}})}finally{i.value=!1}}}};function $(e){return e.trim().toLowerCase().replace(/[-_]/g,` `).replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}var qn=e=>e||null,Jn=e=>{if(e)return e},Yn=()=>{let e=fe(),{generate:t}=qe(),n=w({currentStep:0,existingSpaces:[],spaces:[],proposedSpaces:[],customSpaces:[],matchedSpaces:[],deviceAssignments:{},displayAssignments:{},zoneAssignments:{},showAdvancedZones:!1,isLoading:!1,error:null}),r=a(()=>n.isLoading),i=a(()=>n.error),o=a(()=>n.currentStep),s=a(()=>n.existingSpaces),c=a(()=>n.spaces),l=a(()=>n.proposedSpaces),u=a(()=>n.customSpaces),d=a(()=>n.matchedSpaces),f=a(()=>n.deviceAssignments),p=a(()=>n.displayAssignments),m=a(()=>n.zoneAssignments),h=a({get:()=>n.showAdvancedZones,set:e=>{n.showAdvancedZones=e}}),g=a(()=>v.value.filter(e=>e.type===K.ZONE&&e.category&&ce.includes(e.category))),_=a(()=>n.proposedSpaces.filter(e=>!n.matchedSpaces.some(t=>$(t.proposedName)===$(e.name)))),v=a(()=>{let e=new Map;for(let t of n.existingSpaces)e.set(t.id,t);for(let t of n.spaces)e.set(t.id,t);return Array.from(e.values())}),y=async()=>{n.isLoading=!0,n.error=null;try{let r=await e.GET(`/modules/spaces/spaces/propose`);if(r.error||!r.data?.data)throw new $e(`Failed to fetch proposed spaces`);let i=r.data.data.map(e=>{let n=qn(e.category),r=n?le[n]:null,i=r?.description??null,a=r?.icon??null,o=e.name??``;return{name:o,description:i,icon:a,deviceIds:e.device_ids??[],deviceCount:e.device_count??0,selected:!0,type:e.type?Ze(e.type):K.ROOM,category:n,draftId:t(),editing:!1,editName:o}});n.matchedSpaces=[];let a=[];for(let e of i){let t=$(e.name),r=n.existingSpaces.find(e=>$(e.name)===t);r?n.matchedSpaces.push({proposedName:e.name,existingSpace:r,deviceIds:e.deviceIds,deviceCount:e.deviceCount}):a.push(e)}n.proposedSpaces=a}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},b=()=>{let e=[],t=n.proposedSpaces.filter(e=>e.selected),r=n.customSpaces.filter(e=>e.selected);for(let e of n.matchedSpaces)if(e.existingSpace.type===K.ROOM)for(let t of e.deviceIds)n.deviceAssignments[t]||(n.deviceAssignments[t]=e.existingSpace.id);for(let r of t){let t=n.spaces.find(e=>e.id===r.draftId);if(t){if(r.type===K.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]||(n.deviceAssignments[e]=t.id);continue}let i={id:r.draftId,name:r.name,description:r.description,type:r.type,category:r.category,icon:r.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};if(n.spaces=[...n.spaces,i],e.push(i),r.type===K.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]=i.id}for(let t of r){if(n.spaces.find(e=>e.id===t.draftId))continue;let r={id:t.draftId,name:t.name,description:t.description,type:t.type,category:t.category,icon:t.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};n.spaces=[...n.spaces,r],e.push(r)}return e},x=async()=>{n.isLoading=!0,n.error=null;let t=[];try{let r=n.spaces.filter(e=>e.draft),i=new Set(n.proposedSpaces.filter(e=>e.selected).map(e=>e.name)),a=new Set(n.customSpaces.map(e=>e.name)),o=new Set([...Object.values(n.deviceAssignments),...Object.values(n.displayAssignments)].filter(e=>e!==null));for(let s of r){let r=i.has(s.name),c=a.has(s.name),l=o.has(s.id);if(!r&&!c&&!l){n.spaces=n.spaces.filter(e=>e.id!==s.id);continue}let u=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:s.name,description:s.description,icon:s.icon,type:Ye(s.type),category:Jn(s.category)}}});if(u.error||!u.data?.data)throw new $e(`Failed to create space: ${s.name}`);let d=Xe(u.data.data);for(let[e,t]of Object.entries(n.deviceAssignments))t===s.id&&(n.deviceAssignments[e]=d.id);for(let[e,t]of Object.entries(n.displayAssignments))t===s.id&&(n.displayAssignments[e]=d.id);for(let[e,t]of Object.entries(n.zoneAssignments))n.zoneAssignments[e]=t.map(e=>e===s.id?d.id:e);let f=n.spaces.findIndex(e=>e.id===s.id);f===-1?n.spaces=[...n.spaces,d]:n.spaces[f]=d,t.push(d)}return t}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},S=async t=>{n.isLoading=!0,n.error=null;try{let r=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:t.name,description:t.description,type:Ye(t.type),category:Jn(t.category),icon:t.icon,display_order:t.displayOrder}}});if(r.error||!r.data?.data)throw new $e(`Failed to create space`);let i=Xe(r.data.data);return n.spaces.push(i),i}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},C=(e,t)=>{n.deviceAssignments[e]=t},T=(e,t)=>{n.displayAssignments[e]=t},E=async()=>{n.isLoading=!0,n.error=null;let t=0,r=0,i=0;try{let a={};for(let[e,t]of Object.entries(n.deviceAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].deviceIds.push(e));for(let[e,t]of Object.entries(n.displayAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].displayIds.push(e));for(let[n,i]of Object.entries(a)){let a=await e.POST(`/modules/spaces/spaces/{id}/assign`,{params:{path:{id:n}},body:{data:{device_ids:i.deviceIds,display_ids:i.displayIds}}});if(a.error)throw new $e(`Failed to assign items to space ${n}`);a.data?.data&&(t+=a.data.data.devices_assigned??0,r+=a.data.data.displays_assigned??0)}for(let[t,r]of Object.entries(n.zoneAssignments))for(let n of r){if((await e.POST(`/modules/devices/devices/{id}/zones/{zoneId}`,{params:{path:{id:t,zoneId:n}}})).error)throw new $e(`Failed to assign device ${t} to zone ${n}`);i++}return{devicesAssigned:t,displaysAssigned:r,zonesAssigned:i}}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},D=e=>{n.currentStep=e},O=()=>{n.currentStep++},k=()=>{n.currentStep>0&&n.currentStep--},A=e=>{for(let[t,r]of Object.entries(n.deviceAssignments))r===e&&(n.deviceAssignments[t]=null);for(let[t,r]of Object.entries(n.displayAssignments))r===e&&(n.displayAssignments[t]=null)},j=e=>{let t=n.proposedSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)))},M=e=>{let t=n.customSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)))},N=e=>{let t=$(e),r=n.existingSpaces.find(e=>$(e.name)===t);if(r)return r.name;let i=n.proposedSpaces.find(e=>$(e.name)===t);if(i)return i.name;let a=n.customSpaces.find(e=>$(e.name)===t);return a?a.name:null};return{isLoading:r,error:i,currentStep:o,existingSpaces:s,spaces:c,proposedSpaces:l,customSpaces:u,matchedSpaces:d,unmatchedProposals:_,availableSpaces:v,deviceAssignments:f,displayAssignments:p,zoneAssignments:m,showAdvancedZones:h,assignableZones:g,fetchProposedSpaces:y,fetchDevices:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/devices/devices`);if(t.error||!t.data?.data)throw new $e(`Failed to fetch devices`);return t.data.data.map(e=>({id:e.id,name:e.name,description:e.description??null,spaceId:e.room_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchDisplays:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/displays/displays`);if(t.error||!t.data?.data)throw new $e(`Failed to fetch displays`);return t.data.data.map(e=>({id:e.id,name:e.name??null,macAddress:e.mac_address??``,spaceId:e.space_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchExistingSpaces:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/spaces/spaces`);if(t.error||!t.data?.data)throw new $e(`Failed to fetch spaces`);let r=t.data.data.map(e=>Xe(e));return n.existingSpaces=r,r}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},createDraftSpacesFromProposals:b,createSpacesFromProposals:x,createSpace:S,setDeviceAssignment:C,setDisplayAssignment:T,setDeviceZones:(e,t)=>{n.zoneAssignments[e]=t},applyAssignments:E,setStep:D,nextStep:O,prevStep:k,toggleProposedSpace:j,toggleCustomSpace:M,addManualSpace:e=>{let r=N(e);return r?{success:!1,duplicateOf:r}:(n.customSpaces.push({name:e,description:null,icon:null,selected:!0,type:K.ROOM,category:null,draftId:t(),editing:!1,editName:e}),{success:!0})},checkDuplicateSpaceName:N,removeProposedSpace:e=>{let t=n.proposedSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)),n.proposedSpaces.splice(e,1)},removeCustomSpace:e=>{let t=n.customSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)),n.customSpaces.splice(e,1)},startEditingProposedName:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmProposedNameEdit:e=>{let t=n.proposedSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=$(r),a=n.existingSpaces.find(e=>$(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:t.deviceIds,deviceCount:t.deviceCount}),n.proposedSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find((t,n)=>n!==e&&$(t.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find(e=>$(e.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardProposedNameEdit:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!1,t.editName=t.name)},startEditingCustomName:e=>{let t=n.customSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmCustomNameEdit:e=>{let t=n.customSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=$(r),a=n.existingSpaces.find(e=>$(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:[],deviceCount:0}),n.customSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find(e=>$(e.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find((t,n)=>n!==e&&$(t.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardCustomNameEdit:e=>{let t=n.customSpaces[e];t&&(t.editing=!1,t.editName=t.name)},initializeFromExistingSpaces:e=>{n.existingSpaces=[...e]},initializeDeviceAssignments:e=>{for(let t of e)n.deviceAssignments[t.id]=t.spaceId??null},initializeDisplayAssignments:e=>{for(let t of e)n.displayAssignments[t.id]=t.spaceId??null},summary:a(()=>{let e=n.existingSpaces.length+n.spaces.length,t=Object.values(n.deviceAssignments).filter(e=>e!==null).length,r=Object.values(n.displayAssignments).filter(e=>e!==null).length,i=Object.values(n.deviceAssignments).filter(e=>e===null).length,a=Object.values(n.displayAssignments).filter(e=>e===null).length,o={},s={};for(let e of Object.values(n.deviceAssignments))e&&(o[e]=(o[e]??0)+1);for(let e of Object.values(n.zoneAssignments))for(let t of e)o[t]=(o[t]??0)+1;for(let e of Object.values(n.displayAssignments))e&&(s[e]=(s[e]??0)+1);return{spaceCount:e,assignedDevices:t,assignedDisplays:r,unassignedDevices:i,unassignedDisplays:a,devicesBySpace:o,displaysBySpace:s}})}},Xn={class:`flex items-center gap-2`},Zn={class:`font-medium`},Qn={key:0,class:`text-xs text-gray-500`},$n={class:`flex items-center gap-2 justify-end`},er={key:0,class:`h-full w-full leading-normal`},tr={key:1,class:`h-full w-full leading-normal`},nr={class:`mb-4`},rr=g({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=y(),u=Fe(),{spaces:f}=Qe(),{scenes:g,loading:b,firstLoadFinished:x,fetchScenes:C,reassignScene:w,removeScene:T}=Kn(n(s,`spaceId`)),E=v(!1),D=v(null),A=v(null),M=v(!1),ee=e=>e.icon?e.icon:ct[e.category]||ct[Le.generic],F=()=>{c(`open-add-dialog`)},te=e=>{D.value=e,A.value=null,E.value=!0},ne=async()=>{if(D.value){M.value=!0;try{await w(D.value.id,A.value),E.value=!1,u.success(l(`spacesHomeControlPlugin.detail.scenes.reassigned`,{name:D.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{M.value=!1}}},re=e=>{me.confirm(l(`spacesHomeControlPlugin.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesHomeControlPlugin.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await T(e.id),u.success(l(`spacesHomeControlPlugin.detail.scenes.removed`,{name:e.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesHomeControlPlugin.detail.scenes.removeCanceled`))})};return S(async()=>{x.value||await C()}),a({openAddDialog:F,fetchScenes:C}),(n,i)=>(_(),e(z,null,[O((_(),h(j(W),{"element-loading-text":j(l)(`spacesHomeControlPlugin.detail.scenes.loading`),data:j(g),"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[j(b)?(_(),e(`div`,er,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:play-box-multiple`})]),secondary:R(()=>[p(j(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(_(),e(`div`,tr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:play-box-multiple`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(l)(`spacesHomeControlPlugin.detail.scenes.empty`)),1)]),extra:R(()=>[p(j(N),{type:`primary`,plain:``,onClick:F},{icon:R(()=>[p(j(t),{icon:`mdi:plus`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:R(()=>[p(j(G),{label:j(l)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,Xn,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:ee(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,Zn,I(n.name),1),n.description?(_(),e(`div`,Qn,I(n.description),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(l)(`spacesHomeControlPlugin.detail.scenes.category`),width:`150`},{default:R(({row:e})=>[p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(j(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),p(j(G),{label:j(l)(`spacesHomeControlPlugin.detail.scenes.status`),width:`100`,align:`center`},{default:R(({row:e})=>[p(j(Y),{type:e.enabled?`success`:`info`,size:`small`},{default:R(()=>[d(I(e.enabled?j(l)(`spacesHomeControlPlugin.detail.scenes.enabled`):j(l)(`spacesHomeControlPlugin.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),p(j(G),{label:``,width:`220`,align:`right`},{default:R(({row:e})=>[r(`div`,$n,[p(j(N),{type:`warning`,plain:``,size:`small`,onClick:t=>te(e)},{icon:R(()=>[p(j(t),{icon:`mdi:swap-horizontal`})]),default:R(()=>[d(` `+I(j(l)(`spacesHomeControlPlugin.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),p(j(N),{type:`danger`,plain:``,size:`small`,onClick:t=>re(e)},{icon:R(()=>[p(j(t),{icon:`mdi:close`})]),default:R(()=>[d(` `+I(j(l)(`spacesHomeControlPlugin.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[j(he),j(b)]]),p(j(Ie),{modelValue:E.value,"onUpdate:modelValue":i[2]||=e=>E.value=e,title:j(l)(`spacesHomeControlPlugin.detail.scenes.reassign`),width:`400px`},{footer:R(()=>[p(j(N),{onClick:i[1]||=e=>E.value=!1},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),p(j(N),{type:`primary`,loading:M.value,onClick:ne},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:R(()=>[r(`p`,nr,I(j(l)(`spacesHomeControlPlugin.detail.scenes.selectSpace`)),1),p(j(J),{modelValue:A.value,"onUpdate:modelValue":i[0]||=e=>A.value=e,placeholder:j(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(f),e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),ir={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ar={class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},or=[`aria-label`,`onKeydown`],sr={class:`flex items-center gap-1`},cr={key:1,class:`text-gray-400 text-sm`},lr={class:`flex items-center gap-2`},ur=g({name:`SpaceParentZoneSection`,__name:`space-parent-zone-section`,props:{space:{}},setup(n){let i=n,{t:o}=y(),c=Fe(),u=a(()=>i.space.id),{floorZoneSpaces:f,findById:m}=Qe(),{editSpace:g}=tt(u),b=v(i.space.parentId),x=v(!1),C=v(!1),w=v(null),T=v(i.space.parentId),D=v(!1),O=a(()=>i.space.parentId?m(i.space.parentId):null),A=a(()=>f.value.filter(e=>e.id!==i.space.id)),M=()=>{C.value=!0,T.value=i.space.parentId,b.value=i.space.parentId,D.value=!1,l(()=>{w.value?.focus?.()})},N=()=>{setTimeout(()=>{!D.value&&!x.value&&C.value&&(C.value=!1),D.value=!1},200)},P=e=>{C.value&&e.key===`Escape`&&(b.value=T.value,C.value=!1,D.value=!1)};E(()=>i.space.parentId,e=>{C.value||(b.value=e,T.value=e)},{immediate:!0});let ee=async e=>{if(e===i.space.parentId){C.value=!1,D.value=!1;return}D.value=!0,x.value=!0;try{await g({name:i.space.name,parentId:e}),c.success(o(`spacesModule.messages.edited`,{space:i.space.name})),C.value=!1,D.value=!1}catch{b.value=T.value,c.error(o(`spacesModule.messages.saveError`)),C.value=!1,D.value=!1}finally{x.value=!1}};return S(()=>{document.addEventListener(`keydown`,P)}),s(()=>{document.removeEventListener(`keydown`,P)}),(n,i)=>(_(),e(z,null,[r(`dt`,ir,I(j(o)(`spacesModule.detail.parentZone.title`)),1),r(`dd`,ar,[C.value?(_(),h(j(J),{key:1,ref_key:`floorSelectRef`,ref:w,modelValue:b.value,"onUpdate:modelValue":i[0]||=e=>b.value=e,placeholder:j(o)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:x.value,onChange:ee,onBlur:N},{default:R(()=>[(_(!0),e(z,null,k(A.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,lr,[p(j(t),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(_(),e(`div`,{key:0,role:`button`,tabindex:`0`,"aria-label":j(o)(`spacesModule.detail.parentZone.select`),class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:M,onKeydown:[re(ae(M,[`prevent`]),[`enter`]),re(ae(M,[`prevent`]),[`space`])]},[O.value?(_(),h(j(Y),{key:0,type:`success`,size:`small`},{default:R(()=>[r(`div`,sr,[p(j(t),{icon:O.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),d(` `+I(O.value.name),1)])]),_:1})):(_(),e(`span`,cr,I(j(o)(`spacesModule.detail.parentZone.none`)),1))],40,or))])],64))}}),dr={key:0,class:`h-full w-full leading-normal`},fr={key:1,class:`h-full w-full leading-normal`},pr={class:`flex items-center gap-2`},mr={class:`block text-sm`},hr={key:1,class:`font-medium`},gr={key:1,class:`text-gray-400 text-sm`},_r=g({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=y(),l=Fe(),{devices:u}=it(),{findById:f}=Qe(),g=v(``),b=v(null),{devices:x,addDevice:S}=rt(a(()=>o.spaceId),a(()=>o.spaceType)),C=a(()=>new Set(x.value.map(e=>e.id))),w=a(()=>u.value.filter(e=>o.spaceType===K.ZONE?!C.value.has(e.id):e.roomId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),T=a(()=>(g.value.trim()?w.value.filter(e=>{let t=g.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):w.value).sort((e,t)=>e.name.localeCompare(t.name))),D=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`,O=e=>f(e)?.name||`Unknown`,k=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),A=()=>{k.value=!1,g.value=``,b.value=null},M=async e=>{b.value=e.id;try{await S(e.id),l.success(c(`spacesModule.messages.edited`,{space:e.name})),s(`device-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return E(()=>o.visible,e=>{e||(g.value=``,b.value=null)}),(n,i)=>(_(),h(j(Ie),{modelValue:k.value,"onUpdate:modelValue":i[1]||=e=>k.value=e,title:j(c)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:A},{footer:R(()=>[p(j(N),{onClick:A},{default:R(()=>[d(I(j(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:R(()=>[p(j(Be),{modelValue:g.value,"onUpdate:modelValue":i[0]||=e=>g.value=e,placeholder:j(c)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:R(()=>[p(j(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),p(j(W),{data:T.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[w.value.length===0?(_(),e(`div`,dr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(c)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):g.value.trim()&&T.value.length===0?(_(),e(`div`,fr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[p(j(_e),{class:`block`},{default:R(()=>[d(I(j(c)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):P(``,!0)]),default:R(()=>[p(j(G),{label:j(c)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,pr,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:D(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(_(),e(z,{key:0},[r(`strong`,mr,I(n.name),1),p(j(_e),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[d(I(n.description),1)]),_:2},1024)],64)):(_(),e(`div`,hr,I(n.name),1))])])]),_:1},8,[`label`]),p(j(G),{label:j(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:R(({row:t})=>[t.roomId?(_(),h(j(Y),{key:0,size:`small`,type:`warning`},{default:R(()=>[d(I(O(t.roomId)),1)]),_:2},1024)):(_(),e(`span`,gr,`-`))]),_:1},8,[`label`]),p(j(G),{label:``,width:`150`,align:`right`},{default:R(({row:e})=>[p(j(N),{type:o.spaceType===j(K).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>M(e)},{icon:R(()=>[p(j(t),{icon:o.spaceType===j(K).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:R(()=>[d(` `+I(o.spaceType===j(K).ROOM&&e.roomId?j(c)(`spacesModule.detail.devices.reassign`):j(c)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),vr={key:0,class:`h-full w-full leading-normal`},yr={key:1,class:`h-full w-full leading-normal`},br={class:`flex items-center gap-2`},xr={class:`block`},Sr={key:1,class:`font-medium`},Cr={key:1,class:`text-gray-400 text-sm`},wr=g({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=y(),l=Fe(),{displays:u}=Je(),{findById:f}=Qe(),g=v(``),b=v(null),{reassignDisplay:x}=nt(a(()=>o.spaceId)),S=a(()=>u.value.filter(e=>e.spaceId!==o.spaceId).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),C=a(()=>(g.value.trim()?S.value.filter(e=>{let t=g.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):S.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),w=e=>f(e)?.name||`Unknown`,T=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),D=()=>{T.value=!1,g.value=``,b.value=null},O=async e=>{b.value=e.id;try{await x(e.id,o.spaceId),l.success(c(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),s(`display-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return E(()=>o.visible,e=>{e||(g.value=``,b.value=null)}),(n,i)=>(_(),h(j(Ie),{modelValue:T.value,"onUpdate:modelValue":i[1]||=e=>T.value=e,title:j(c)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:D},{footer:R(()=>[p(j(N),{onClick:D},{default:R(()=>[d(I(j(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:R(()=>[p(j(Be),{modelValue:g.value,"onUpdate:modelValue":i[0]||=e=>g.value=e,placeholder:j(c)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:R(()=>[p(j(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),p(j(W),{data:C.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[S.value.length===0?(_(),e(`div`,vr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(c)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):g.value.trim()&&C.value.length===0?(_(),e(`div`,yr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[p(j(_e),{class:`block`},{default:R(()=>[d(I(j(c)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):P(``,!0)]),default:R(()=>[p(j(G),{label:j(c)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,br,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(_(),e(z,{key:0},[r(`strong`,xr,I(n.name),1),p(j(_e),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[d(I(n.macAddress),1)]),_:2},1024)],64)):(_(),e(`div`,Sr,I(n.macAddress),1))])])]),_:1},8,[`label`]),p(j(G),{label:j(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:R(({row:t})=>[t.spaceId?(_(),h(j(Y),{key:0,size:`small`,type:`warning`},{default:R(()=>[d(I(w(t.spaceId)),1)]),_:2},1024)):(_(),e(`span`,Cr,`-`))]),_:1},8,[`label`]),p(j(G),{label:``,width:`150`,align:`right`},{default:R(({row:e})=>[p(j(N),{type:e.spaceId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>O(e)},{icon:R(()=>[p(j(t),{icon:e.spaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:R(()=>[d(` `+I(e.spaceId?j(c)(`spacesModule.detail.displays.reassign`):j(c)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Tr={key:0,class:`h-full w-full leading-normal`},Er={key:1,class:`h-full w-full leading-normal`},Dr={class:`flex items-center gap-2`},Or={class:`block text-sm`},kr={key:1,class:`font-medium`},Ar={key:1,class:`text-gray-400 text-sm`},jr=g({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=y(),l=Fe(),{scenes:u,loaded:f,fetchScenes:g}=st(),{editScene:b}=ot(),{findById:x}=Qe(),C=v(``),w=v(null),T=a(()=>u.value.filter(e=>!e.draft&&e.primarySpaceId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),D=a(()=>(C.value.trim()?T.value.filter(e=>{let t=C.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):T.value).sort((e,t)=>e.name.localeCompare(t.name))),O=e=>ct[e.category]||ct[Le.generic],k=e=>x(e)?.name||`Unknown`,A=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),M=()=>{A.value=!1,C.value=``,w.value=null},ee=async e=>{w.value=e.id;try{await b({id:e.id,data:{primarySpaceId:o.spaceId}}),l.success(c(`spacesHomeControlPlugin.detail.scenes.assigned`,{name:e.name})),s(`scene-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{w.value=null}};return S(async()=>{f.value||await g()}),E(()=>o.visible,e=>{e||(C.value=``,w.value=null)}),(n,i)=>(_(),h(j(Ie),{modelValue:A.value,"onUpdate:modelValue":i[1]||=e=>A.value=e,title:j(c)(`spacesHomeControlPlugin.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:M},{footer:R(()=>[p(j(N),{onClick:M},{default:R(()=>[d(I(j(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:R(()=>[p(j(Be),{modelValue:C.value,"onUpdate:modelValue":i[0]||=e=>C.value=e,placeholder:j(c)(`spacesHomeControlPlugin.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:R(()=>[p(j(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),p(j(W),{data:D.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[T.value.length===0?(_(),e(`div`,Tr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:play-box-multiple`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.detail.scenes.noAvailable`)),1)]),_:1})])):C.value.trim()&&D.value.length===0?(_(),e(`div`,Er,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:play-box-multiple`})]),secondary:R(()=>[p(j(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[p(j(_e),{class:`block`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):P(``,!0)]),default:R(()=>[p(j(G),{label:j(c)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,Dr,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:O(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(_(),e(z,{key:0},[r(`strong`,Or,I(n.name),1),p(j(_e),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[d(I(n.description),1)]),_:2},1024)],64)):(_(),e(`div`,kr,I(n.name),1))])])]),_:1},8,[`label`]),p(j(G),{label:j(c)(`spacesHomeControlPlugin.detail.scenes.assignedSpace`),width:`150`},{default:R(({row:t})=>[t.primarySpaceId?(_(),h(j(Y),{key:0,size:`small`,type:`warning`},{default:R(()=>[d(I(k(t.primarySpaceId)),1)]),_:2},1024)):(_(),e(`span`,Ar,`-`))]),_:1},8,[`label`]),p(j(G),{label:``,width:`150`,align:`right`},{default:R(({row:e})=>[p(j(N),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:w.value===e.id,onClick:t=>ee(e)},{icon:R(()=>[p(j(t),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:R(()=>[d(` `+I(e.primarySpaceId?j(c)(`spacesHomeControlPlugin.detail.scenes.reassign`):j(c)(`spacesHomeControlPlugin.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Mr={class:`flex items-center gap-2`},Nr={class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},Pr={class:`p-4 max-h-full box-border flex flex-col`},Fr={class:`my-2 font-medium`},Ir={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Lr={class:`flex items-center gap-2`},Rr={class:`flex items-center gap-2`},zr={class:`my-2 font-medium`},Br={class:`grow-1 min-w-0`},Vr={class:`text-gray-500 text-sm ml-2`},Hr={key:1,class:`text-gray-600`},Ur={class:`my-2 font-medium`},Wr={class:`flex flex-wrap gap-2`},Gr={class:`my-2 font-medium`},Kr={class:`grow-1 flex items-center gap-1 min-w-[150px]`},qr={class:`flex items-center gap-2`},Jr={class:`flex items-center gap-2`},Yr={class:`my-2 font-medium`},Xr={class:`flex items-center gap-3 p-2`},Zr={class:`h-full w-full leading-normal`},Qr={class:`font-medium`},$r={class:`text-xs text-gray-500 mt-1`},ei={key:1,class:`font-medium`},ti={class:`flex items-center gap-2`},ni={class:`h-full w-full leading-normal`},ri={key:0,class:`text-xs text-gray-500 mt-1`},ii={class:`flex items-center gap-2`},ai={class:`grid grid-cols-2 md:grid-cols-5 gap-4 text-center my-4 shrink-0`},oi={class:`text-2xl font-bold text-blue-600`},si={class:`text-sm text-gray-500`},ci={class:`text-2xl font-bold text-green-600`},li={class:`text-sm text-gray-500`},ui={class:`text-2xl font-bold text-yellow-600`},di={class:`text-sm text-gray-500`},fi={class:`text-2xl font-bold text-green-600`},pi={class:`text-sm text-gray-500`},mi={class:`text-2xl font-bold text-yellow-600`},hi={class:`text-sm text-gray-500`},gi={class:`mb-2 font-medium`},_i={class:`flex items-center gap-2`},vi={class:`flex items-center gap-2`},yi={class:`font-medium`},bi={class:`text-xs text-gray-500`},xi={key:1,class:`font-medium`},Si={class:`flex items-center gap-2`},Ci={key:0,class:`mt-6 flex justify-between`},wi={key:1},Ti={class:`flex gap-2`},Ei=g({__name:`view-spaces-wizard`,setup(n){let{t:i}=y(),o=C(),s=ie(),u=Fe(),{isMDDevice:f,isLGDevice:g}=Te();se({title:i(`spacesModule.meta.spaces.wizard.title`)});let{isLoading:w,currentStep:T,existingSpaces:E,proposedSpaces:D,customSpaces:A,matchedSpaces:ee,availableSpaces:F,deviceAssignments:te,displayAssignments:ne,zoneAssignments:ae,showAdvancedZones:oe,assignableZones:B,fetchProposedSpaces:ce,fetchDevices:le,fetchDisplays:de,fetchExistingSpaces:H,createDraftSpacesFromProposals:fe,createSpacesFromProposals:pe,setDeviceAssignment:U,setDisplayAssignment:me,setDeviceZones:_e,applyAssignments:ve,nextStep:ye,prevStep:be,toggleProposedSpace:xe,toggleCustomSpace:q,addManualSpace:we,removeProposedSpace:De,removeCustomSpace:Oe,startEditingProposedName:Ae,confirmProposedNameEdit:Pe,discardProposedNameEdit:Le,startEditingCustomName:Re,confirmCustomNameEdit:X,discardCustomNameEdit:Q,initializeDeviceAssignments:Ue,initializeDisplayAssignments:We,summary:qe}=Yn(),Je=v(``),Ye=b([]),Xe=b([]),Ze=v(!1),Qe=v(!1),$e=b(new Map),tt=b(new Map),nt=(e,t)=>{t?$e.value.set(e,t):$e.value.delete(e)},rt=(e,t)=>{t?tt.value.set(e,t):tt.value.delete(e)},it=async e=>{Ae(e),await l(),$e.value.get(e)?.focus?.()},at=async e=>{Re(e),await l(),tt.value.get(e)?.focus?.()},ot=a(()=>[...Xe.value].sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress))),st=a(()=>[...Ye.value].sort((e,t)=>e.name.localeCompare(t.name))),ct=a(()=>[{label:i(`spacesModule.breadcrumbs.spaces.list`),route:s.resolve({name:V.SPACES})},{label:i(`spacesModule.breadcrumbs.spaces.wizard`),route:s.resolve({name:V.SPACES_WIZARD,params:{type:o.params.type}})}]),lt=F,ut=a(()=>lt.value.filter(e=>e.type===K.ROOM).sort((e,t)=>e.name.localeCompare(t.name))),dt=e=>e.icon?e.icon:e.type===K.ROOM?`mdi:door`:`mdi:home-floor-1`,ft=a(()=>{let e=new Set(ee.value.map(e=>e.existingSpace.id));return E.value.filter(t=>!e.has(t.id))}),pt=a(()=>{let e=new Map;for(let t of ee.value){let n=e.get(t.existingSpace.id);n?(n.proposedNames.push(t.proposedName),n.totalDeviceCount+=t.deviceCount,n.matchCount++):e.set(t.existingSpace.id,{existingSpace:t.existingSpace,proposedNames:[t.proposedName],totalDeviceCount:t.deviceCount,matchCount:1})}return Array.from(e.values())}),mt=a(()=>lt.value.map(e=>({name:e.name,type:e.type,icon:e.icon,devices:qe.value.devicesBySpace[e.id]??0,displays:qe.value.displaysBySpace[e.id]??0}))),ht=a(()=>Ye.value.filter(e=>!te.value[e.id]).sort((e,t)=>e.name.localeCompare(t.name))),gt=a(()=>Xe.value.filter(e=>!ne.value[e.id]).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)));S(async()=>{try{await H(),Ye.value=await le(),Xe.value=await de(),Ue(Ye.value),We(Xe.value),await ce()}catch{u.error(i(`spacesModule.messages.loadError`))}});let _t=()=>{if(Je.value.trim()){let e=we(Je.value.trim());e.success?Je.value=``:u.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:e.duplicateOf}))}},vt=e=>{let t=Pe(e);t.convertedToMatch?u.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&u.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},yt=e=>{let t=X(e);t.convertedToMatch?u.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&u.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},bt=e=>{Le(e)},xt=e=>{Q(e)},{getCategoryOptions:St,getCategoryGroups:Ct,getCategoryTemplates:wt}=et(),Tt=e=>{e.category&&!Se(e.category,e.type)&&(e.category=null,e.description=null)},Et=e=>{if(e.category){let t=wt(e.type)[e.category];t?.description&&(e.description=t.description)}},Dt=()=>{for(let e of D.value)if(e.selected&&e.type===K.ZONE&&!e.category)return u.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;for(let e of A.value)if(e.selected&&e.type===K.ZONE&&!e.category)return u.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;return!0},Ot=()=>{if(T.value===0){if(!Dt())return;fe()}ye()},kt=()=>{g.value?s.replace({name:V.SPACES}):s.push({name:V.SPACES})},At=async()=>{try{await pe();let e=await ve();u.success(i(`spacesModule.wizard.messages.completed`,{devices:e.devicesAssigned,displays:e.displaysAssigned,zones:e.zonesAssigned})),g.value?s.replace({name:V.SPACES}):s.push({name:V.SPACES})}catch{u.error(i(`spacesModule.messages.saveError`))}};return(n,a)=>(_(),e(z,null,[j(f)?P(``,!0):(_(),h(j(ue),{key:0,teleport:``},{icon:R(()=>[p(j(t),{icon:`mdi:wizard-hat`,class:`w[20px] h[20px]`})]),title:R(()=>[d(I(j(i)(`spacesModule.wizard.title`)),1)]),subtitle:R(()=>[d(I(j(i)(`spacesModule.subHeadings.wizard`)),1)]),_:1})),j(f)?P(``,!0):(_(),h(j(ge),{key:1,align:j(Me).LEFT,teleport:``,small:``,onClick:kt},{icon:R(()=>[p(j(c),{size:24},{default:R(()=>[p(j(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),p(j(He),{items:ct.value},null,8,[`items`]),p(j(ke),{heading:j(i)(`spacesModule.wizard.title`),"sub-heading":j(i)(`spacesModule.subHeadings.wizard`),icon:`mdi:wizard-hat`},M({_:2},[j(f)?{name:`extra`,fn:R(()=>[r(`div`,Mr,[j(T)===2&&j(B).length>0?(_(),h(j(N),{key:0,type:j(oe)?`primary`:`default`,class:`px-4!`,onClick:a[0]||=e=>oe.value=!j(oe)},{default:R(()=>[d(I(j(oe)?j(i)(`spacesModule.wizard.basic`):j(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):P(``,!0),p(j(N),{link:``,class:`px-4!`,onClick:kt},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),j(T)>0?(_(),h(j(N),{key:1,class:`px-4!`,onClick:j(be)},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):P(``,!0),j(T)<3?(_(),h(j(N),{key:2,type:`primary`,class:`px-4!`,onClick:Ot},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(_(),h(j(N),{key:3,type:`primary`,loading:j(w),class:`px-4!`,onClick:At},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]),key:`0`}:void 0]),1032,[`heading`,`sub-heading`]),r(`div`,Nr,[p(j(Ne),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{header:R(()=>[p(j(Ge),{active:j(T),"finish-status":`success`,"align-center":``},{default:R(()=>[p(j(Ke),{title:j(i)(`spacesModule.wizard.steps.spaces.title`)},null,8,[`title`]),p(j(Ke),{title:j(i)(`spacesModule.wizard.steps.displays.title`)},null,8,[`title`]),p(j(Ke),{title:j(i)(`spacesModule.wizard.steps.devices.title`)},null,8,[`title`]),p(j(Ke),{title:j(i)(`spacesModule.wizard.steps.summary.title`)},null,8,[`title`])]),_:1},8,[`active`])]),default:R(()=>[O((_(),e(`div`,Pr,[j(T)===0?(_(),e(z,{key:0},[p(j(je),{type:`info`,title:j(i)(`spacesModule.wizard.steps.spaces.alertTitle`),description:j(i)(`spacesModule.wizard.steps.spaces.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),p(j(Ce),{class:`flex-1 overflow-hidden h-full`},{default:R(()=>[j(D).length>0?(_(),e(z,{key:0},[r(`h4`,Fr,I(j(i)(`spacesModule.wizard.steps.spaces.proposed`)),1),(_(!0),e(z,null,k(j(D),(n,a)=>(_(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[p(j(ze),{"model-value":n.selected,onChange:()=>j(xe)(a)},null,8,[`model-value`,`onChange`]),r(`div`,Ir,[n.editing?(_(),h(j(Be),{key:1,ref_for:!0,ref:e=>nt(a,e),modelValue:n.editName,"onUpdate:modelValue":e=>n.editName=e,size:`small`,class:`max-w-[250px]!`,onKeyup:[re(e=>vt(a),[`enter`]),re(e=>bt(a),[`esc`])],onBlur:e=>vt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(_(),e(z,{key:0},[d(I(n.name)+` `,1),p(j(N),{link:``,size:`small`,onClick:e=>it(a)},{default:R(()=>[p(j(c),{size:14},{default:R(()=>[p(j(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(n.deviceCount)+` `+I(j(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),p(j(J),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>Tt(n)},{default:R(()=>[p(j(Z),{label:j(i)(`spacesModule.fields.spaces.type.options.room`),value:j(K).ROOM},null,8,[`label`,`value`]),p(j(Z),{label:j(i)(`spacesModule.fields.spaces.type.options.zone`),value:j(K).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),p(j(J),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:j(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===j(K).ROOM,required:n.type===j(K).ZONE,class:`w-[180px]!`,onChange:()=>Et(n)},{default:R(()=>[n.type===j(K).ZONE?(_(!0),e(z,{key:0},k(j(Ct)(n.type),a=>(_(),h(j(Ee),{key:a.key,label:j(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:R(()=>[(_(!0),e(z,null,k(a.categories,e=>(_(),h(j(Z),{key:e,label:j(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:R(()=>[r(`span`,Lr,[j(wt)(n.type)[e]?(_(),h(j(c),{key:0},{default:R(()=>[p(j(t),{icon:j(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):P(``,!0),d(` `+I(j(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(_(!0),e(z,{key:1},k(j(St)(n.type),e=>(_(),h(j(Z),{key:e,label:j(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:R(()=>[r(`span`,Rr,[j(wt)(n.type)[e]?(_(),h(j(c),{key:0},{default:R(()=>[p(j(t),{icon:j(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):P(``,!0),d(` `+I(j(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),p(j(N),{size:`small`,type:`warning`,plain:``,onClick:e=>j(De)(a)},{icon:R(()=>[p(j(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):j(ee).length===0?(_(),h(j(je),{key:1,type:`info`,title:j(i)(`spacesModule.wizard.steps.spaces.noProposals`),closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`])):P(``,!0),pt.value.length>0?(_(),e(z,{key:2},[r(`h4`,zr,I(j(i)(`spacesModule.wizard.steps.spaces.matchedExisting`)),1),(_(!0),e(z,null,k(pt.value,t=>(_(),e(`div`,{key:t.existingSpace.id,class:`flex items-center gap-3 flex-wrap p-2`},[p(j(ze),{"model-value":!0,disabled:``}),r(`span`,Br,[t.matchCount===1?(_(),e(z,{key:0},[d(I(t.proposedNames[0])+` `,1),r(`span`,Vr,` → `+I(j(i)(`spacesModule.wizard.steps.spaces.matchedWith`,{name:t.existingSpace.name})),1)],64)):(_(),e(`span`,Hr,I(j(i)(`spacesModule.wizard.steps.spaces.multipleMatchedWith`,{count:t.matchCount,name:t.existingSpace.name})),1))]),p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(t.totalDeviceCount)+` `+I(j(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),p(j(Y),{size:`small`,type:`success`},{default:R(()=>[d(I(j(i)(`spacesModule.wizard.steps.spaces.existingTag`)),1)]),_:1})]))),128))],64)):P(``,!0),ft.value.length>0?(_(),e(z,{key:3},[r(`h4`,Ur,I(j(i)(`spacesModule.wizard.steps.spaces.existing`)),1),r(`div`,Wr,[(_(!0),e(z,null,k(ft.value,e=>(_(),h(j(Y),{key:e.id,size:`large`},{default:R(()=>[d(I(e.name),1)]),_:2},1024))),128))])],64)):P(``,!0),j(A).length>0?(_(),e(z,{key:4},[r(`h4`,Gr,I(j(i)(`spacesModule.wizard.steps.spaces.custom`)),1),(_(!0),e(z,null,k(j(A),(n,a)=>(_(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[p(j(ze),{"model-value":n.selected,onChange:()=>j(q)(a)},null,8,[`model-value`,`onChange`]),r(`div`,Kr,[n.editing?(_(),h(j(Be),{key:1,ref_for:!0,ref:e=>rt(a,e),modelValue:n.editName,"onUpdate:modelValue":e=>n.editName=e,size:`small`,class:`max-w-[250px]`,onKeyup:[re(e=>yt(a),[`enter`]),re(e=>xt(a),[`esc`])],onBlur:e=>yt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(_(),e(z,{key:0},[d(I(n.name)+` `,1),p(j(N),{link:``,size:`small`,onClick:e=>at(a)},{default:R(()=>[p(j(c),{size:14},{default:R(()=>[p(j(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),p(j(J),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>Tt(n)},{default:R(()=>[p(j(Z),{label:j(i)(`spacesModule.fields.spaces.type.options.room`),value:j(K).ROOM},null,8,[`label`,`value`]),p(j(Z),{label:j(i)(`spacesModule.fields.spaces.type.options.zone`),value:j(K).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),p(j(J),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:j(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===j(K).ROOM,required:n.type===j(K).ZONE,class:`w-[180px]!`,onChange:()=>Et(n)},{default:R(()=>[n.type===j(K).ZONE?(_(!0),e(z,{key:0},k(j(Ct)(n.type),a=>(_(),h(j(Ee),{key:a.key,label:j(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:R(()=>[(_(!0),e(z,null,k(a.categories,e=>(_(),h(j(Z),{key:e,label:j(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:R(()=>[r(`span`,qr,[j(wt)(n.type)[e]?(_(),h(j(c),{key:0},{default:R(()=>[p(j(t),{icon:j(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):P(``,!0),d(` `+I(j(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(_(!0),e(z,{key:1},k(j(St)(n.type),e=>(_(),h(j(Z),{key:e,label:j(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:R(()=>[r(`span`,Jr,[j(wt)(n.type)[e]?(_(),h(j(c),{key:0},{default:R(()=>[p(j(t),{icon:j(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):P(``,!0),d(` `+I(j(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),p(j(N),{size:`small`,type:`warning`,plain:``,onClick:e=>j(Oe)(a)},{icon:R(()=>[p(j(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):P(``,!0),r(`h4`,Yr,I(j(i)(`spacesModule.wizard.steps.spaces.addManual`)),1),r(`div`,Xr,[p(j(Be),{modelValue:Je.value,"onUpdate:modelValue":a[1]||=e=>Je.value=e,placeholder:j(i)(`spacesModule.wizard.steps.spaces.placeholder`)},null,8,[`modelValue`,`placeholder`]),p(j(N),{type:`primary`,disabled:!Je.value.trim(),onClick:_t},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.add.title`)),1)]),_:1},8,[`disabled`])])]),_:1})],64)):P(``,!0),j(T)===1?(_(),e(z,{key:1},[p(j(je),{type:`info`,title:j(i)(`spacesModule.wizard.steps.displays.alertTitle`),description:j(i)(`spacesModule.wizard.steps.displays.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),p(j(W),{data:ot.value,class:`w-full flex-grow`,"table-layout":`fixed`},{empty:R(()=>[r(`div`,Zr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(i)(`spacesModule.wizard.steps.displays.noDisplays`)),1)]),_:1})])]),default:R(()=>[p(j(G),{prop:`name`,label:j(i)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:R(({row:t})=>[r(`div`,null,[t.name?(_(),e(z,{key:0},[r(`div`,Qr,I(t.name),1),r(`div`,$r,I(t.macAddress),1)],64)):(_(),e(`div`,ei,I(t.macAddress),1))])]),_:1},8,[`label`]),p(j(G),{label:j(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:R(({row:n})=>[p(j(J),{"model-value":j(ne)[n.id],placeholder:j(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>j(me)(n.id,e)},{default:R(()=>[(_(!0),e(z,null,k(ut.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,ti,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])],64)):P(``,!0),j(T)===2?(_(),e(z,{key:2},[p(j(je),{type:`info`,title:j(i)(`spacesModule.wizard.steps.devices.alertTitle`),description:j(i)(`spacesModule.wizard.steps.devices.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),p(j(W),{data:st.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{empty:R(()=>[r(`div`,ni,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(i)(`spacesModule.wizard.steps.devices.noDevices`)),1)]),_:1})])]),default:R(()=>[p(j(G),{prop:`name`,label:j(i)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:R(({row:t})=>[r(`div`,null,[r(`div`,null,I(t.name),1),t.description?(_(),e(`div`,ri,I(t.description),1)):P(``,!0)])]),_:1},8,[`label`]),p(j(G),{label:j(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:R(({row:n})=>[p(j(J),{"model-value":j(te)[n.id],placeholder:j(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>j(U)(n.id,e)},{default:R(()=>[(_(!0),e(z,null,k(ut.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,ii,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),j(oe)&&j(B).length>0?(_(),h(j(G),{key:0,label:j(i)(`spacesModule.wizard.zones`),width:`250`},{default:R(({row:t})=>[p(j(J),{"model-value":j(ae)[t.id]||[],multiple:``,clearable:``,"collapse-tags":``,placeholder:j(i)(`spacesModule.wizard.selectZones`),class:`w-full`,"onUpdate:modelValue":e=>j(_e)(t.id,e)},{default:R(()=>[(_(!0),e(z,null,k(j(B),e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])):P(``,!0)]),_:1},8,[`data`])],64)):P(``,!0),j(T)===3?(_(),e(z,{key:3},[p(j(je),{type:`info`,title:j(i)(`spacesModule.wizard.steps.summary.alertTitle`),description:j(i)(`spacesModule.wizard.steps.summary.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),r(`div`,ai,[r(`div`,null,[r(`div`,oi,I(j(qe).spaceCount),1),r(`div`,si,I(j(i)(`spacesModule.wizard.summary.totalSpaces`)),1)]),r(`div`,null,[r(`div`,ci,I(j(qe).assignedDevices),1),r(`div`,li,I(j(i)(`spacesModule.wizard.summary.assignedDevices`)),1)]),p(j(Ve),{content:j(i)(`spacesModule.wizard.summary.clickToAssignDevices`),placement:`top`,disabled:j(qe).unassignedDevices===0},{default:R(()=>[r(`div`,{class:x({"cursor-pointer":j(qe).unassignedDevices>0}),onClick:a[2]||=e=>j(qe).unassignedDevices>0&&(Ze.value=!0)},[r(`div`,ui,I(j(qe).unassignedDevices),1),r(`div`,di,I(j(i)(`spacesModule.wizard.summary.unassignedDevices`)),1)],2)]),_:1},8,[`content`,`disabled`]),r(`div`,null,[r(`div`,fi,I(j(qe).assignedDisplays),1),r(`div`,pi,I(j(i)(`spacesModule.wizard.summary.assignedDisplays`)),1)]),p(j(Ve),{content:j(i)(`spacesModule.wizard.summary.clickToAssignDisplays`),placement:`top`,disabled:j(qe).unassignedDisplays===0},{default:R(()=>[r(`div`,{class:x({"cursor-pointer":j(qe).unassignedDisplays>0}),onClick:a[3]||=e=>j(qe).unassignedDisplays>0&&(Qe.value=!0)},[r(`div`,mi,I(j(qe).unassignedDisplays),1),r(`div`,hi,I(j(i)(`spacesModule.wizard.summary.unassignedDisplays`)),1)],2)]),_:1},8,[`content`,`disabled`])]),j(lt).length>0?(_(),e(z,{key:0},[r(`h4`,gi,I(j(i)(`spacesModule.wizard.summary.bySpace`)),1),p(j(W),{data:mt.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{default:R(()=>[p(j(G),{prop:`name`,label:j(i)(`spacesModule.wizard.spaceName`)},{default:R(({row:e})=>[r(`div`,_i,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1),p(j(Y),{size:`small`,type:e.type===j(K).ROOM?`primary`:`info`,class:`ml-2`},{default:R(()=>[d(I(e.type===j(K).ROOM?j(i)(`spacesModule.misc.types.room`):j(i)(`spacesModule.misc.types.zone`)),1)]),_:2},1032,[`type`]),e.devices===0&&e.type===j(K).ROOM?(_(),h(j(Y),{key:0,size:`small`,type:`warning`,class:`ml-1`},{default:R(()=>[d(I(j(i)(`spacesModule.wizard.summary.noDevices`)),1)]),_:1})):P(``,!0)])]),_:1},8,[`label`]),p(j(G),{prop:`devices`,label:j(i)(`spacesModule.wizard.devices`),width:`120`,align:`center`},null,8,[`label`]),p(j(G),{prop:`displays`,label:j(i)(`spacesModule.wizard.displays`),width:`120`,align:`center`},null,8,[`label`])]),_:1},8,[`data`])],64)):P(``,!0)],64)):P(``,!0),p(j(Ie),{modelValue:Ze.value,"onUpdate:modelValue":a[4]||=e=>Ze.value=e,title:j(i)(`spacesModule.wizard.summary.unassignedDevicesTitle`)},{default:R(()=>[p(j(W),{data:ht.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:R(()=>[p(j(G),{prop:`name`,label:j(i)(`spacesModule.wizard.deviceName`)},null,8,[`label`]),p(j(G),{label:j(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:R(({row:n})=>[p(j(J),{"model-value":j(te)[n.id],placeholder:j(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>j(U)(n.id,e)},{default:R(()=>[(_(!0),e(z,null,k(ut.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,vi,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]),p(j(Ie),{modelValue:Qe.value,"onUpdate:modelValue":a[5]||=e=>Qe.value=e,title:j(i)(`spacesModule.wizard.summary.unassignedDisplaysTitle`)},{default:R(()=>[p(j(W),{data:gt.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:R(()=>[p(j(G),{label:j(i)(`spacesModule.wizard.displayName`)},{default:R(({row:t})=>[t.name?(_(),e(z,{key:0},[r(`div`,yi,I(t.name),1),r(`div`,bi,I(t.macAddress),1)],64)):(_(),e(`div`,xi,I(t.macAddress),1))]),_:1},8,[`label`]),p(j(G),{label:j(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:R(({row:n})=>[p(j(J),{"model-value":j(ne)[n.id],placeholder:j(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>j(me)(n.id,e)},{default:R(()=>[(_(!0),e(z,null,k(ut.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,Si,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`])])),[[j(he),j(w)]]),j(f)?P(``,!0):(_(),e(`div`,Ci,[j(T)>0?(_(),h(j(N),{key:0,onClick:j(be)},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):(_(),e(`div`,wi)),r(`div`,Ti,[p(j(N),{onClick:kt},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),j(T)===2&&j(B).length>0?(_(),h(j(N),{key:0,type:j(oe)?`primary`:`default`,onClick:a[6]||=e=>oe.value=!j(oe)},{default:R(()=>[d(I(j(oe)?j(i)(`spacesModule.wizard.basic`):j(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):P(``,!0),j(T)<3?(_(),h(j(N),{key:1,type:`primary`,onClick:Ot},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(_(),h(j(N),{key:2,type:`primary`,loading:j(w),onClick:At},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]))]),_:1})])],64))}}),Di=`spaces-home-control-plugin`,Oi=`com.fastybird.smart-panel.plugin.spaces-home-control`,ki=[K.ROOM,K.ZONE],Ai={SPACE:`spaces_home_control_plugin-space`,SPACE_EDIT:`spaces_home_control_plugin-space_edit`};export{Ei as a,_r as c,Gn as d,Ln as f,ki as i,ur as l,Di as n,jr as o,kn as p,Oi as r,wr as s,Ai as t,rr as u};
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Di as n,Dr as r,E as i,Er as a,Ft as o,Gr as s,H as c,Hr as l,Ki as u,Mr as d,Mt as f,Nr as p,O as m,Or as h,Pr as g,Qr as _,Si as v,T as y,Ti as b,Wi as x,Yr as S,b as C,bi as w,bt as T,ci as E,cn as D,di as O,ei as k,gn as A,ji as j,jr as M,k as N,kr as P,ln as ee,n as F,qi as I,t as L,ti as te,ui as R,ur as ne,vr as re,x as ie,xr as z,yr as ae,zr as oe}from"./icon-with-child-CgZMNB3F.js";import{t as se}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{$r as B,At as ce,Bt as le,Di as ue,Ea as de,Ft as V,Gr as H,I as fe,It as pe,Ki as U,Li as W,Mi as me,Ni as he,Oi as ge,Pi as _e,Qr as ve,Qt as ye,Ri as G,Ta as be,Ut as K,Vt as xe,Xr as q,Zt as Se,_a as Ce,b as we,bi as Te,da as Ee,do as De,fa as J,ga as Oe,h as ke,ia as Ae,ka as je,ki as Me,la as Ne,m as Pe,p as Fe,pa as Y,qi as Ie,qr as Le,ra as Re,sa as ze,ti as X,ua as Z,va as Be,xa as Ve,yi as He,zt as Q}from"./common-CYlvhyJx.js";import{t as Ue}from"./skeleton-DkyCzTs7.js";import{t as We}from"./slider-BGyYDnSl.js";import{n as Ge,t as Ke}from"./steps-Dr32rxSM.js";import"./components-C2nsvuWt.js";import{t as qe}from"./useUuid-HrENmPhQ.js";import{i as Je}from"./composables-By-2bZ6o.js";import{c as Ye,l as Xe,s as Ze,t as Qe,u as $e}from"./useSpaces-DCuyMUqe.js";import{c as et,f as tt,o as nt,s as rt}from"./composables-DcfYrDwm.js";import{O as it}from"./composables-DEE0h-ep.js";import{f as at,n as ot,r as st,x as ct}from"./composables-BGwJJI84.js";import"./spaces-C4Tpph44.js";var lt=T(g({name:`ElBadge`,__name:`badge`,props:D({value:{type:[String,Number],default:``},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:[`primary`,`success`,`warning`,`info`,`danger`],default:`danger`},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:ee([String,Object,Array])},offset:{type:ee(Array),default:()=>[0,0]},badgeClass:{type:String}}),setup(t,{expose:n}){let r=t,i=f(`badge`),s=a(()=>r.isDot?``:A(r.value)&&A(r.max)&&r.max<r.value?`${r.max}+`:`${r.value}`),c=a(()=>[{backgroundColor:r.color,marginRight:o(-r.offset[0]),marginTop:o(r.offset[1])},r.badgeStyle??{}]);return n({content:s}),(n,r)=>(_(),e(`div`,{class:x(j(i).b())},[te(n.$slots,`default`),p(ne,{name:`${j(i).namespace.value}-zoom-in-center`},{default:R(()=>[!t.hidden&&(s.value||t.isDot||n.$slots.content)?(_(),e(`sup`,{key:0,class:x([j(i).e(`content`),j(i).em(`content`,t.type),j(i).is(`fixed`,!!n.$slots.default),j(i).is(`dot`,t.isDot),j(i).is(`hide-zero`,!t.showZero&&t.value===0),t.badgeClass]),style:u(c.value)},[te(n.$slots,`content`,{value:s.value},()=>[d(I(s.value),1)])],6)):P(`v-if`,!0)]),_:3},8,[`name`])],2))}})),ut=()=>{let e=oe(ye);return{climateSignal:e?.climate,lightingSignal:e?.lighting,coversSignal:e?.covers,sensorSignal:e?.sensor,climateStateSignal:e?.climateState,lightingStateSignal:e?.lightingState,coversStateSignal:e?.coversState,sensorStateSignal:e?.sensorState}},dt={key:1,class:`flex justify-center py-4`},ft={class:`flex items-center gap-2`},pt={class:`flex flex-col`},mt={key:0,class:`text-xs text-gray-400`},ht={class:`flex gap-1`},gt={class:`flex justify-between items-center mt-4`},_t={class:`text-xs text-gray-400`},vt=g({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=y(),s=Pe(),c=Fe(),{lightingSignal:l}=ut(),u=v(!1),f=v(!1),g=v([]),b=a(()=>[{value:B.main,label:o(`spacesHomeControlPlugin.lightingRoles.main`)},{value:B.task,label:o(`spacesHomeControlPlugin.lightingRoles.task`)},{value:B.ambient,label:o(`spacesHomeControlPlugin.lightingRoles.ambient`)},{value:B.accent,label:o(`spacesHomeControlPlugin.lightingRoles.accent`)},{value:B.night,label:o(`spacesHomeControlPlugin.lightingRoles.night`)},{value:B.other,label:o(`spacesHomeControlPlugin.lightingRoles.other`)},{value:B.hidden,label:o(`spacesHomeControlPlugin.lightingRoles.hidden`)}]),C=async()=>{u.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;g.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{u.value=!1}},w=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${F}/${Q}/spaces/{id}/lighting/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update lighting role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${F}/${Q}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear lighting role`);return}e.role=null}}catch{c.error(`Failed to update lighting role`)}},T=async()=>{f.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${F}/${Q}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await C(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{f.value=!1}};return E(()=>i.space?.id,e=>{e&&C()}),E(()=>l?.value,()=>{i.space?.id&&C()}),S(()=>{i.space?.id&&C()}),(i,a)=>(_(),e(`div`,{class:x({"mt-2":!n.hideHeader})},[n.hideHeader?P(``,!0):(_(),h(j(U),{key:0,"content-position":`left`,class:`mt-6!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.description`)),1)]),_:1}),u.value&&g.value.length===0?(_(),e(`div`,dt,[p(j(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):g.value.length>0||u.value?(_(),e(z,{key:2},[p(j(W),{data:g.value,border:``,"max-height":`400px`},{default:R(()=>[p(j(G),{prop:`deviceName`,label:j(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:R(({row:n})=>[r(`div`,ft,[p(j(t),{icon:`mdi:lightbulb`}),r(`div`,pt,[r(`span`,null,I(n.deviceName),1),n.channelName?(_(),e(`span`,mt,I(n.channelName),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.title`),width:`160`},{default:R(({row:t})=>[p(j(J),{"model-value":t.role??``,placeholder:j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>w(t,e)},{default:R(()=>[(_(!0),e(z,null,k(b.value,e=>(_(),h(j(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`]),p(j(G),{label:``,width:`100`},{default:R(({row:e})=>[r(`div`,ht,[e.hasBrightness?(_(),h(j(Y),{key:0,type:`info`,size:`small`},{default:R(()=>[...a[0]||=[d(`Dim`,-1)]]),_:1})):P(``,!0),e.hasColor?(_(),h(j(Y),{key:1,type:`success`,size:`small`},{default:R(()=>[...a[1]||=[d(`RGB`,-1)]]),_:1})):P(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,gt,[p(j(N),{size:`small`,loading:f.value,onClick:T},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,_t,I(j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(_(),h(j(m),{key:3},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:lightbulb`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),yt=g({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=y(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(_(),h(j(Ie),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:j(i)(`spacesHomeControlPlugin.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:R(()=>[p(j(N),{type:`primary`,onClick:s},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[p(vt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),bt={key:1,class:`flex justify-center py-4`},xt={class:`flex items-center gap-2`},St={class:`flex flex-col`},Ct={key:0,class:`text-xs text-gray-400`},wt={class:`flex gap-1`},Tt={class:`flex justify-between items-center mt-4`},Et={class:`text-xs text-gray-400 ml-4`},Dt=g({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=y(),s=Pe(),c=Fe(),{climateSignal:l}=ut(),u=v(!1),f=v(!1),g=v([]),b=a(()=>[{value:X.heating_only,label:o(`spacesHomeControlPlugin.climateRoles.${X.heating_only}`)},{value:X.cooling_only,label:o(`spacesHomeControlPlugin.climateRoles.${X.cooling_only}`)},{value:X.auto,label:o(`spacesHomeControlPlugin.climateRoles.${X.auto}`)},{value:X.auxiliary,label:o(`spacesHomeControlPlugin.climateRoles.${X.auxiliary}`)},{value:X.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${X.hidden}`)}]),C=a(()=>[{value:X.sensor,label:o(`spacesHomeControlPlugin.climateRoles.${X.sensor}`)},{value:X.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${X.hidden}`)}]),w=e=>e.deviceCategory===`sensor`?C.value:b.value,T=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`}},D=async()=>{u.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;g.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{u.value=!1}},O=async(e,t)=>{try{if(t){let n={device_id:e.deviceId,role:t};e.channelId&&(n.channel_id=e.channelId);let{error:r}=await s.client.POST(`/${F}/${Q}/spaces/{id}/climate/roles`,{params:{path:{id:i.space.id}},body:{data:n}});if(r){c.error(`Failed to update climate role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${F}/${Q}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(t){c.error(`Failed to clear climate role`);return}e.role=null}}catch{c.error(`Failed to update climate role`)}},A=async()=>{f.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${F}/${Q}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await D(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{f.value=!1}};return E(()=>i.space?.id,e=>{e&&D()}),E(()=>l?.value,()=>{i.space?.id&&D()}),S(()=>{i.space?.id&&D()}),(i,a)=>(_(),e(`div`,{class:x({"mt-2":!n.hideHeader})},[n.hideHeader?P(``,!0):(_(),h(j(U),{key:0,"content-position":`left`,class:`mt-6!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.description`)),1)]),_:1}),u.value&&g.value.length===0?(_(),e(`div`,bt,[p(j(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):g.value.length>0||u.value?(_(),e(z,{key:2},[p(j(W),{data:g.value,border:``,"max-height":`400px`},{default:R(()=>[p(j(G),{prop:`deviceName`,label:j(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:R(({row:n})=>[r(`div`,xt,[p(j(t),{icon:T(n.deviceCategory)},null,8,[`icon`]),r(`div`,St,[r(`span`,null,I(n.deviceName),1),n.channelName?(_(),e(`span`,Ct,I(n.channelName),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.title`),width:`200`},{default:R(({row:t})=>[p(j(J),{"model-value":t.role??``,placeholder:j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>O(t,e)},{default:R(()=>[(_(!0),e(z,null,k(w(t),e=>(_(),h(j(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`]),p(j(G),{label:``,width:`120`},{default:R(({row:e})=>[r(`div`,wt,[e.hasTemperature?(_(),h(j(Y),{key:0,type:`warning`,size:`small`},{default:R(()=>[...a[0]||=[d(`Temp`,-1)]]),_:1})):P(``,!0),e.hasHumidity?(_(),h(j(Y),{key:1,type:`info`,size:`small`},{default:R(()=>[...a[1]||=[d(`Humid`,-1)]]),_:1})):P(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,Tt,[p(j(N),{size:`small`,loading:f.value,onClick:A},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Et,I(j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(_(),h(j(m),{key:3},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:thermostat`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),Ot=g({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=y(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(_(),h(j(Ie),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:j(i)(`spacesHomeControlPlugin.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:R(()=>[p(j(N),{type:`primary`,onClick:s},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[p(Dt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),kt={key:1,class:`flex justify-center py-4`},At={class:`flex items-center gap-2`},jt={class:`flex flex-col`},Mt={key:0,class:`text-xs text-gray-400`},Nt={class:`flex gap-1`},Pt={class:`flex justify-between items-center mt-4`},Ft={class:`text-xs text-gray-400`},It=g({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=y(),s=Pe(),c=Fe(),{coversSignal:l}=ut(),u=v(!1),f=v(!1),g=v([]),b=a(()=>[{value:q.primary,label:o(`spacesHomeControlPlugin.coversRoles.primary`)},{value:q.blackout,label:o(`spacesHomeControlPlugin.coversRoles.blackout`)},{value:q.sheer,label:o(`spacesHomeControlPlugin.coversRoles.sheer`)},{value:q.outdoor,label:o(`spacesHomeControlPlugin.coversRoles.outdoor`)},{value:q.hidden,label:o(`spacesHomeControlPlugin.coversRoles.hidden`)}]),C=async()=>{u.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;g.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{u.value=!1}},w=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${F}/${Q}/spaces/{id}/covers/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update covers role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${F}/${Q}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear covers role`);return}e.role=null}}catch{c.error(`Failed to update covers role`)}},T=async()=>{f.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${F}/${Q}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await C(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{f.value=!1}};return E(()=>i.space?.id,e=>{e&&C()}),E(()=>l?.value,()=>{i.space?.id&&C()}),S(()=>{i.space?.id&&C()}),(i,a)=>(_(),e(`div`,{class:x({"mt-2":!n.hideHeader})},[n.hideHeader?P(``,!0):(_(),h(j(U),{key:0,"content-position":`left`,class:`mt-6!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.description`)),1)]),_:1}),u.value&&g.value.length===0?(_(),e(`div`,kt,[p(j(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):g.value.length>0||u.value?(_(),e(z,{key:2},[p(j(W),{data:g.value,border:``,"max-height":`400px`},{default:R(()=>[p(j(G),{prop:`deviceName`,label:j(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:R(({row:n})=>[r(`div`,At,[p(j(t),{icon:`mdi:blinds`}),r(`div`,jt,[r(`span`,null,I(n.deviceName),1),n.channelName?(_(),e(`span`,Mt,I(n.channelName),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.title`),width:`160`},{default:R(({row:t})=>[p(j(J),{"model-value":t.role??``,placeholder:j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>w(t,e)},{default:R(()=>[(_(!0),e(z,null,k(b.value,e=>(_(),h(j(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`]),p(j(G),{label:``,width:`100`},{default:R(({row:e})=>[r(`div`,Nt,[e.hasPosition?(_(),h(j(Y),{key:0,type:`info`,size:`small`},{default:R(()=>[...a[0]||=[d(`Pos`,-1)]]),_:1})):P(``,!0),e.hasTilt?(_(),h(j(Y),{key:1,type:`success`,size:`small`},{default:R(()=>[...a[1]||=[d(`Tilt`,-1)]]),_:1})):P(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,Pt,[p(j(N),{size:`small`,loading:f.value,onClick:T},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Ft,I(j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(_(),h(j(m),{key:3},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:blinds`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),Lt=g({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=y(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(_(),h(j(Ie),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:j(i)(`spacesHomeControlPlugin.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:R(()=>[p(j(N),{type:`primary`,onClick:s},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[p(It,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Rt={key:1,class:`flex justify-center py-4`},zt={class:`flex items-center gap-2`},Bt={class:`flex flex-col`},Vt={class:`text-xs text-gray-400`},Ht={class:`flex justify-between items-center mt-4`},Ut={class:`text-xs text-gray-400 ml-4`},Wt=g({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=y(),s=Pe(),c=Fe(),{sensorSignal:l}=ut(),u=v(!1),f=v(!1),g=v([]),b=a(()=>pe.map(e=>({value:e,label:o(`spacesHomeControlPlugin.sensorRoles.${e}`)}))),C=e=>{switch(e){case`temperature`:return o(`spacesHomeControlPlugin.sensorRoles.categories.temperature`);case`humidity`:return o(`spacesHomeControlPlugin.sensorRoles.categories.humidity`);case`pressure`:return o(`spacesHomeControlPlugin.sensorRoles.categories.pressure`);case`illuminance`:return o(`spacesHomeControlPlugin.sensorRoles.categories.illuminance`);case`smoke`:return o(`spacesHomeControlPlugin.sensorRoles.categories.smoke`);case`gas`:return o(`spacesHomeControlPlugin.sensorRoles.categories.gas`);case`carbon_monoxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_dioxide`);case`leak`:return o(`spacesHomeControlPlugin.sensorRoles.categories.leak`);case`motion`:return o(`spacesHomeControlPlugin.sensorRoles.categories.motion`);case`occupancy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.occupancy`);case`contact`:return o(`spacesHomeControlPlugin.sensorRoles.categories.contact`);case`air_quality`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_quality`);case`air_particulate`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return o(`spacesHomeControlPlugin.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return o(`spacesHomeControlPlugin.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_generation`);case`electrical_power`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_power`);case`battery`:return o(`spacesHomeControlPlugin.sensorRoles.categories.battery`);default:return e}},w=async()=>{u.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;g.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{u.value=!1}},T=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${F}/${Q}/spaces/{id}/sensors/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update sensor role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${F}/${Q}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear sensor role`);return}e.role=null}}catch{c.error(`Failed to update sensor role`)}},D=async()=>{f.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${F}/${Q}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await w(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{f.value=!1}};return E(()=>i.space?.id,e=>{e&&w()}),E(()=>l?.value,()=>{i.space?.id&&w()}),S(()=>{i.space?.id&&w()}),(i,a)=>(_(),e(`div`,{class:x({"mt-2":!n.hideHeader})},[n.hideHeader?P(``,!0):(_(),h(j(U),{key:0,"content-position":`left`,class:`mt-6!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.description`)),1)]),_:1}),u.value&&g.value.length===0?(_(),e(`div`,Rt,[p(j(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):g.value.length>0||u.value?(_(),e(z,{key:2},[p(j(W),{data:g.value,border:``,"max-height":`400px`},{default:R(()=>[p(j(G),{prop:`deviceName`,label:j(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:R(({row:e})=>[r(`div`,zt,[p(j(t),{icon:`mdi:motion-sensor`}),r(`div`,Bt,[r(`span`,null,I(e.deviceName),1),r(`span`,Vt,I(e.channelName),1)])])]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:R(({row:e})=>[p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(C(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),p(j(G),{label:j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.title`),width:`200`},{default:R(({row:t})=>[p(j(J),{"model-value":t.role??``,placeholder:j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>T(t,e)},{default:R(()=>[(_(!0),e(z,null,k(b.value,e=>(_(),h(j(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`]),r(`div`,Ht,[p(j(N),{size:`small`,loading:f.value,onClick:D},{default:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Ut,I(j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(_(),h(j(m),{key:3},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:motion-sensor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),Gt=g({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=y(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(_(),h(j(Ie),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:j(i)(`spacesHomeControlPlugin.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:R(()=>[p(j(N),{type:`primary`,onClick:s},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[p(Wt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Kt={class:`flex items-start gap-3`},qt={class:`flex-1 min-w-0 space-domain-card__content`},Jt={class:`space-domain-card__title`},Yt={class:`space-domain-card__description`},Xt={class:`space-domain-card__tags`},Zt={class:`flex items-center gap-1`},Qt={key:2,class:`space-domain-card__not-configured`},$t={class:`space-domain-card__chevron`},en=i(g({name:`SpaceDomainCard`,__name:`space-domain-card`,props:{icon:{},iconColor:{},title:{},description:{},tags:{},loading:{type:Boolean}},emits:[`click`],setup(n,{emit:i}){let a=n,o=i,{t:s}=y();return(n,i)=>(_(),h(j(Ne),{shadow:`hover`,class:`space-domain-card`,"body-class":`p-4!`,onClick:i[0]||=e=>o(`click`)},{default:R(()=>[r(`div`,Kt,[r(`div`,{class:`space-domain-card__icon`,style:u({backgroundColor:`var(--el-color-${a.iconColor}-light-9)`,color:`var(--el-color-${a.iconColor})`})},[p(j(t),{icon:a.icon},null,8,[`icon`])],4),r(`div`,qt,[r(`h3`,Jt,I(a.title),1),r(`p`,Yt,I(a.description),1),r(`div`,Xt,[a.loading?(_(),h(j(Ue),{key:0,animated:``,rows:0,class:`w-20`})):a.tags.length>0?(_(!0),e(z,{key:1},k(a.tags,e=>(_(),h(j(Y),{key:e.label,type:e.type,size:`small`},{default:R(()=>[r(`div`,Zt,[p(j(t),{icon:e.icon},null,8,[`icon`]),d(` `+I(e.label)+` `,1),p(j(lt),{value:e.count,type:e.type,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`]))),128)):(_(),e(`span`,Qt,I(j(s)(`spacesHomeControlPlugin.detail.domains.notConfigured`)),1))])]),r(`div`,$t,[p(j(t),{icon:`mdi:chevron-right`})])])]),_:1}))}}),[[`__scopeId`,`data-v-69dd2703`]]),tn=e=>({propertyId:e.property_id??e.propertyId,dataType:e.data_type??e.dataType,format:e.format??null}),nn=e=>{let t=e.capabilities??{},n=e.links??{},r={};return(n.input_select||n.inputSelect)&&(r.inputSelect=tn(n.input_select??n.inputSelect)),{endpointId:e.endpoint_id,spaceId:e.space_id,deviceId:e.device_id,type:e.type,name:e.name,capabilities:{power:t.power??!1,volume:t.volume??!1,mute:t.mute??!1,playback:t.playback??!1,track:t.track??!1,inputSelect:t.input_select??!1,remoteCommands:t.remote_commands??!1},links:r}},rn=e=>({id:e.id,spaceId:e.space_id,activityKey:e.activity_key,displayEndpointId:e.display_endpoint_id??null,audioEndpointId:e.audio_endpoint_id??null,sourceEndpointId:e.source_endpoint_id??null,remoteEndpointId:e.remote_endpoint_id??null,displayInputId:e.display_input_id??null,audioInputId:e.audio_input_id??null,sourceInputId:e.source_input_id??null,audioVolumePreset:e.audio_volume_preset??null,createdAt:e.created_at,updatedAt:e.updated_at??null}),an=e=>({stepIndex:e.step_index??e.stepIndex??0,critical:e.critical??!1,reason:e.reason??``,targetDeviceId:e.target_device_id??e.targetDeviceId,kind:e.kind,propertyId:e.property_id??e.propertyId,commandId:e.command_id??e.commandId,label:e.label,timestamp:e.timestamp}),on=e=>({displayDeviceId:e.display_device_id??e.displayDeviceId,audioDeviceId:e.audio_device_id??e.audioDeviceId,sourceDeviceId:e.source_device_id??e.sourceDeviceId,remoteDeviceId:e.remote_device_id??e.remoteDeviceId}),sn=e=>({stepsTotal:e.steps_total??e.stepsTotal??0,stepsSucceeded:e.steps_succeeded??e.stepsSucceeded??0,stepsFailed:e.steps_failed??e.stepsFailed??0,failures:Array.isArray(e.failures)?e.failures.map(an):void 0,warnings:Array.isArray(e.warnings)?e.warnings.map(an):void 0,errors:Array.isArray(e.errors)?e.errors.map(an):void 0,warningCount:e.warning_count??e.warningCount??0,errorCount:e.error_count??e.errorCount??0}),cn=e=>{let t=e.action??{};return{targetDeviceId:e.target_device_id??e.targetDeviceId??``,action:{kind:t.kind??`unknown`,propertyId:t.property_id??t.propertyId,value:t.value},critical:e.critical??!1,label:e.label}},ln=e=>{let t=e.resolved,n=e.plan??[],r=e.warnings??[];return{spaceId:e.space_id??e.spaceId??``,activityKey:e.activity_key??e.activityKey??``,resolved:t?on(t):{},plan:n.map(cn),warnings:r.map(e=>({label:e.label??``}))}},un=e=>{let t=e.resolved,n=e.summary;return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t?on(t):void 0,summary:n?sn(n):void 0,warnings:e.warnings}},dn=e=>{let t,n;if(e.resolved)try{t=on(typeof e.resolved==`string`?JSON.parse(e.resolved):e.resolved)}catch{}if(e.last_result)try{n=sn(typeof e.last_result==`string`?JSON.parse(e.last_result):e.last_result)}catch{}return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t,summary:n,warnings:e.warnings,activatedAt:e.activated_at??null,updatedAt:e.updated_at??null}},fn=e=>{switch(e){case`watch`:return`primary`;case`listen`:return`success`;case`gaming`:return`danger`;case`background`:return`info`;default:return`info`}},pn=e=>{switch(e){case`watch`:return`mdi:television-play`;case`listen`:return`mdi:music`;case`gaming`:return`mdi:controller`;case`background`:return`mdi:music-note`;default:return`mdi:help-circle`}},mn=e=>{let t=Pe(),n=v([]),r=v([]),i=v(null),o=v(!1),s=v(!1),c=v(!1),l=v(!1),u=v(!1),d=v(!1),f=v(!1),p=v(null),m=v(null),h=v(null),g=v(!1),_=v(null),y=v(null),b=a(()=>n.value),x=a(()=>r.value),S=async()=>{if(!(!e.value||o.value)){o.value=!0,p.value=null;try{let{data:r,error:i}=await t.client.GET(`/${F}/${Q}/spaces/{id}/media/endpoints`,{params:{path:{id:e.value}}});if(i||!r)throw Error(`Failed to fetch media endpoints`);let a=(r.data??{}).endpoints??[];n.value=a.map(nn)}catch(e){p.value=e instanceof Error?e.message:`Unknown error`}finally{o.value=!1}}},C=async()=>{if(!(!e.value||s.value)){s.value=!0,m.value=null;try{let{data:n,error:i}=await t.client.GET(`/${F}/${Q}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to fetch media bindings`);let a=n.data??[];r.value=a.map(rn)}catch(e){m.value=e instanceof Error?e.message:`Unknown error`}finally{s.value=!1}}},w=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.PATCH(`/${F}/${Q}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}},body:{data:{display_endpoint_id:i.displayEndpointId,audio_endpoint_id:i.audioEndpointId,source_endpoint_id:i.sourceEndpointId,remote_endpoint_id:i.remoteEndpointId,display_input_id:i.displayInputId,audio_input_id:i.audioInputId,source_input_id:i.sourceInputId,audio_volume_preset:i.audioVolumePreset}}});if(o||!a||!a.data){let e=o?.message??`Failed to save binding`;throw Error(e)}let s=rn(a.data),c=r.value.findIndex(e=>e.id===s.id);return c>=0&&(r.value[c]=s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},T=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}},body:{data:{activity_key:n,display_endpoint_id:i.displayEndpointId??void 0,audio_endpoint_id:i.audioEndpointId??void 0,source_endpoint_id:i.sourceEndpointId??void 0,remote_endpoint_id:i.remoteEndpointId??void 0,display_input_id:i.displayInputId??void 0,audio_input_id:i.audioInputId??void 0,source_input_id:i.sourceInputId??void 0,audio_volume_preset:i.audioVolumePreset??void 0}}});if(o||!a||!a.data){let e=o?.message??`Failed to create binding`;throw Error(e)}let s=rn(a.data);return r.value.push(s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},E=async n=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{error:i}=await t.client.DELETE(`/${F}/${Q}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}}});if(i){let e=i?.message??`Failed to delete binding`;throw Error(e)}r.value=r.value.filter(e=>e.id!==n)}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},D=async()=>{if(e.value){f.value=!0;try{let{data:n,error:i}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/bindings/apply-defaults`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to apply defaults`);let a=n.data??[];r.value=a.map(rn)}catch(e){throw m.value=e instanceof Error?e.message:`Unknown error`,e}finally{f.value=!1}}},O=async()=>{if(!(!e.value||c.value)){c.value=!0,_.value=null,y.value=null;try{let{data:n,error:r}=await t.client.GET(`/${F}/${Q}/spaces/{id}/media/activities/active`,{params:{path:{id:e.value}}});if(r||!n)throw Error(`Failed to fetch active state`);i.value=n.data?dn(n.data):null}catch(e){_.value=e instanceof Error?e.message:`Unknown error`,y.value=`fetch`}finally{c.value=!1}}},k=async(e=3,t=1e3)=>{for(let n=0;n<e&&(await new Promise(e=>setTimeout(e,t)),await O(),!(i.value?.state===`active`||i.value?.state===`failed`||i.value?.state===`deactivated`));n++);};return{endpoints:b,bindings:x,activeState:i,fetchingEndpoints:o,fetchingBindings:s,fetchingActiveState:c,activating:l,deactivating:u,previewing:g,savingBinding:d,applyingDefaults:f,endpointsError:p,bindingsError:m,saveError:h,activationError:_,activationErrorSource:y,fetchEndpoints:S,fetchBindings:C,fetchActiveState:O,activate:async n=>{if(!e.value)throw Error(`Space ID is required`);l.value=!0,_.value=null,y.value=null,i.value={activityKey:n,state:`activating`};try{let{data:r,error:a}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/activities/{activityKey}/activate`,{params:{path:{id:e.value,activityKey:n}}});if(a||!r||!r.data){let e=a?.message??`Failed to activate activity`;throw Error(e)}let o=un(r.data);return i.value=o,o.state===`activating`&&await k(),i.value??o}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,y.value=`activate`,i.value={activityKey:n,state:`failed`},e}finally{l.value=!1}},preview:async n=>{if(!e.value)throw Error(`Space ID is required`);g.value=!0;try{let{data:r,error:i}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/activities/{activityKey}/preview`,{params:{path:{id:e.value,activityKey:n}}});if(i||!r||!r.data){let e=i?.message??`Failed to preview activity`;throw Error(e)}return ln(r.data)}finally{g.value=!1}},deactivate:async()=>{if(!e.value)throw Error(`Space ID is required`);u.value=!0,_.value=null,y.value=null;try{let{data:n,error:r}=await t.client.POST(`/${F}/${Q}/spaces/{id}/media/activities/deactivate`,{params:{path:{id:e.value}}});if(r||!n||!n.data){let e=r?.message??`Failed to deactivate`;throw Error(e)}let a=un(n.data);return i.value=a,a}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,y.value=`deactivate`,e}finally{u.value=!1}},saveBinding:w,createBinding:T,deleteBinding:E,applyDefaults:D,endpointsByType:e=>a(()=>n.value.filter(t=>t.type===e)),findBindingByActivity:e=>r.value.find(t=>t.activityKey===e)}},hn=[`element-loading-text`],gn={class:`flex items-center gap-3 flex-1 pr-2`},_n={class:`font-medium text-sm`},vn={class:`flex items-center justify-between w-full`},yn={class:`flex gap-1 ml-2`},bn={class:`flex items-center justify-between w-full`},xn={class:`flex gap-1 ml-2`},Sn={class:`flex items-center justify-between w-full`},Cn={class:`flex gap-1 ml-2`},wn={class:`flex justify-between items-center mt-2`},Tn={class:`flex items-center gap-2`},En={class:`text-xs text-gray-400`},Dn=g({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(n,{emit:i}){let o=n,s=i,{t:c}=y(),u=Fe(),f=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),{endpoints:m,activeState:g,fetchingEndpoints:b,fetchingBindings:S,activating:C,deactivating:T,applyingDefaults:D,activationError:A,fetchEndpoints:M,fetchBindings:ee,fetchActiveState:F,activate:L,deactivate:te,saveBinding:ne,createBinding:re,deleteBinding:ie,applyDefaults:oe,findBindingByActivity:se,endpointsByType:B}=mn(a(()=>o.space?.id)),ce=[H.watch,H.listen,H.gaming,H.background],le=v(``),ue=v(null),V=v(!1),fe=a(()=>b.value||S.value),pe=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),U=w({[H.watch]:pe(),[H.listen]:pe(),[H.gaming]:pe(),[H.background]:pe()}),W=w({[H.watch]:pe(),[H.listen]:pe(),[H.gaming]:pe(),[H.background]:pe()}),me=w({[H.watch]:!1,[H.listen]:!1,[H.gaming]:!1,[H.background]:!1}),ge=w({[H.watch]:null,[H.listen]:null,[H.gaming]:null,[H.background]:null}),_e=B(ve.display),ye=B(ve.audio_output),G=B(ve.source),K=B(ve.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(W[e],{...U[e]})},q=()=>{for(let e of ce){let t=se(e);xe(e,t)}},Se=e=>{let t=U[e],n=W[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?m.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},we=e=>{let t=U[e].audioEndpointId;return t?m.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Te=e=>{let t=m.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`}},Ee=e=>{let t=Te(e);return t.type===`select`?t.options:[]},De=e=>{let t=`spacesHomeControlPlugin.media.activities.mediaInputSources.${e}`,n=c(t);return n===t?String(e):n},Oe=e=>{let t=` (${c(`spacesHomeControlPlugin.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},ke=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Me=e=>{let t=g.value?.activityKey===e&&g.value?.state!==`deactivated`,n=t?g.value.state:void 0,r=se(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},Ne=e=>{let{isActive:t,state:n}=Me(e);return t&&n?ke(n):fn(e)},Pe=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Me(e);return c(t?`spacesHomeControlPlugin.media.activities.activationState.${n}`:r?i?`spacesHomeControlPlugin.media.activities.status.configured`:`spacesHomeControlPlugin.media.activities.status.incomplete`:`spacesHomeControlPlugin.media.activities.status.unconfigured`)},Le=new Map,ze=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:we(e)?t.audioVolumePreset:null}},X=async e=>{if(!me[e]){me[e]=!0,ge[e]=null;try{let t=se(e),n=ze(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...U[e]};r&&t?(await ie(t.id),xe(e,void 0),Object.assign(W[e],i)):r?Object.assign(W[e],i):t?(await ne(t.id,n),Object.assign(W[e],i)):(await re(e,n),Object.assign(W[e],i))}catch(t){ge[e]=t instanceof Error?t.message:`Failed to save`}finally{me[e]=!1}}},Ve=e=>{let t=Le.get(e);t&&clearTimeout(t),Le.set(e,setTimeout(()=>{Le.delete(e),X(e)},500))};for(let e of ce)E(()=>U[e],()=>{!V.value||!Se(e)||Ve(e)},{deep:!0}),E(()=>U[e].displayEndpointId,()=>{V.value&&(U[e].displayInputId=``)}),E(()=>U[e].audioEndpointId,()=>{V.value&&(U[e].audioInputId=``,U[e].audioVolumePreset=30)}),E(()=>U[e].sourceEndpointId,()=>{V.value&&(U[e].sourceInputId=``)});let He=async e=>{ue.value=e;try{await L(e),u.success(c(`spacesHomeControlPlugin.media.activities.activateSuccess`))}catch{u.error(c(`spacesHomeControlPlugin.media.activities.activateFailed`))}finally{ue.value=null}},Q=async()=>{try{await te(),u.success(c(`spacesHomeControlPlugin.media.activities.deactivateSuccess`))}catch{A.value=null,u.error(c(`spacesHomeControlPlugin.media.activities.deactivateFailed`))}},Ue=async()=>{V.value=!1;try{await oe(),q(),u.success(c(`spacesHomeControlPlugin.media.activities.defaultsApplied`))}catch{u.error(c(`spacesHomeControlPlugin.media.activities.defaultsFailed`))}await l(),V.value=!0},Ge=async()=>{V.value=!1,await Promise.all([M(),ee(),F()]),q(),await l(),V.value=!0},Ke=async()=>{V.value=!1;let e=[],t=new Set;for(let[n,r]of Le)clearTimeout(r),t.add(n),e.push(X(n));Le.clear();for(let n of ce)!t.has(n)&&Se(n)&&e.push(X(n));await Promise.allSettled(e),s(`bindings-changed`),f.value=!1};return(n,i)=>(_(),h(j(Ie),{modelValue:f.value,"onUpdate:modelValue":i[2]||=e=>f.value=e,title:j(c)(`spacesHomeControlPlugin.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:Ge,onClose:Ke},{footer:R(()=>[p(j(N),{type:`primary`,onClick:Ke},{default:R(()=>[d(I(j(c)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:R(()=>[O((_(),e(`div`,{"element-loading-text":j(c)(`spacesHomeControlPlugin.media.activities.loading`),class:`flex flex-col gap-4`},[p(j(je),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.activities.description`)),1)]),_:1}),p(j(Re),{modelValue:le.value,"onUpdate:modelValue":i[0]||=e=>le.value=e,accordion:``},{default:R(()=>[(_(),e(z,null,k(ce,n=>p(j(Ae),{key:n,name:n},{title:R(()=>[r(`div`,gn,[p(j(t),{icon:j(pn)(n),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),r(`span`,_n,I(j(c)(`spacesHomeControlPlugin.media.activityLabels.${n}`)),1),p(j(Y),{type:Ne(n),size:`small`,round:``},{default:R(()=>[d(I(Pe(n)),1)]),_:2},1032,[`type`]),me[n]?(_(),h(j(t),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):P(``,!0),i[3]||=r(`div`,{class:`flex-1`},null,-1),p(j(N),{size:`small`,type:`success`,circle:``,loading:j(C)&&ue.value===n,disabled:j(C)||j(T)||j(g)?.state===`activating`,title:j(c)(`spacesHomeControlPlugin.media.activities.run`),onClick:ae(e=>He(n),[`stop`])},{icon:R(()=>[p(j(t),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:R(()=>[p(j(be),{"label-position":`top`,class:`flex flex-col gap-2`},{default:R(()=>[r(`div`,{class:x(Ce(n,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[p(j(de),{label:j(c)(`spacesHomeControlPlugin.media.activities.slots.display`)},{default:R(()=>[p(j(J),{modelValue:U[n].displayEndpointId,"onUpdate:modelValue":e=>U[n].displayEndpointId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(_e),e=>(_(),h(j(Z),{key:e.endpointId,label:Oe(e),value:e.endpointId},{default:R(()=>[r(`div`,vn,[r(`span`,null,I(Oe(e)),1),r(`div`,yn,[e.capabilities.inputSelect?(_(),h(j(Y),{key:0,size:`small`,type:`info`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):P(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(n,`displayEndpointId`)?(_(),h(j(de),{key:0,label:j(c)(`spacesHomeControlPlugin.media.activities.overrides.displayInput`)},{default:R(()=>[Te(U[n].displayEndpointId).type===`select`?(_(),h(j(J),{key:0,modelValue:U[n].displayInputId,"onUpdate:modelValue":e=>U[n].displayInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(Ee(U[n].displayEndpointId),e=>(_(),h(j(Z),{key:String(e),label:De(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(_(),h(j(Be),{key:1,modelValue:U[n].displayInputId,"onUpdate:modelValue":e=>U[n].displayInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):P(``,!0)],2),r(`div`,{class:x(Ce(n,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[p(j(de),{label:j(c)(`spacesHomeControlPlugin.media.activities.slots.audio`)},{default:R(()=>[p(j(J),{modelValue:U[n].audioEndpointId,"onUpdate:modelValue":e=>U[n].audioEndpointId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(ye),e=>(_(),h(j(Z),{key:e.endpointId,label:Oe(e),value:e.endpointId},{default:R(()=>[r(`div`,bn,[r(`span`,null,I(Oe(e)),1),r(`div`,xn,[e.capabilities.volume?(_(),h(j(Y),{key:0,size:`small`,type:`info`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.capabilities.volume`)),1)]),_:1})):P(``,!0),e.capabilities.inputSelect?(_(),h(j(Y),{key:1,size:`small`,type:`info`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):P(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(n,`audioEndpointId`)?(_(),h(j(de),{key:0,label:j(c)(`spacesHomeControlPlugin.media.activities.overrides.audioInput`)},{default:R(()=>[Te(U[n].audioEndpointId).type===`select`?(_(),h(j(J),{key:0,modelValue:U[n].audioInputId,"onUpdate:modelValue":e=>U[n].audioInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(Ee(U[n].audioEndpointId),e=>(_(),h(j(Z),{key:String(e),label:De(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(_(),h(j(Be),{key:1,modelValue:U[n].audioInputId,"onUpdate:modelValue":e=>U[n].audioInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):P(``,!0)],2),we(n)?(_(),h(j(de),{key:0,label:j(c)(`spacesHomeControlPlugin.media.activities.overrides.audioVolume`)},{default:R(()=>[p(j(We),{modelValue:U[n].audioVolumePreset,"onUpdate:modelValue":e=>U[n].audioVolumePreset=e,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):P(``,!0),r(`div`,{class:x(Ce(n,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[p(j(de),{label:j(c)(`spacesHomeControlPlugin.media.activities.slots.source`)},{default:R(()=>[p(j(J),{modelValue:U[n].sourceEndpointId,"onUpdate:modelValue":e=>U[n].sourceEndpointId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(G),e=>(_(),h(j(Z),{key:e.endpointId,label:Oe(e),value:e.endpointId},{default:R(()=>[r(`div`,Sn,[r(`span`,null,I(Oe(e)),1),r(`div`,Cn,[e.capabilities.inputSelect?(_(),h(j(Y),{key:0,size:`small`,type:`info`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):P(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(n,`sourceEndpointId`)?(_(),h(j(de),{key:0,label:j(c)(`spacesHomeControlPlugin.media.activities.overrides.sourceInput`)},{default:R(()=>[Te(U[n].sourceEndpointId).type===`select`?(_(),h(j(J),{key:0,modelValue:U[n].sourceInputId,"onUpdate:modelValue":e=>U[n].sourceInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(Ee(U[n].sourceEndpointId),e=>(_(),h(j(Z),{key:String(e),label:De(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(_(),h(j(Be),{key:1,modelValue:U[n].sourceInputId,"onUpdate:modelValue":e=>U[n].sourceInputId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):P(``,!0)],2),p(j(de),{label:j(c)(`spacesHomeControlPlugin.media.activities.slots.remote`)},{default:R(()=>[p(j(J),{modelValue:U[n].remoteEndpointId,"onUpdate:modelValue":e=>U[n].remoteEndpointId=e,placeholder:j(c)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(K),e=>(_(),h(j(Z),{key:e.endpointId,label:Oe(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),ge[n]?(_(),h(j(je),{key:1,type:`error`,title:j(c)(`spacesHomeControlPlugin.media.activities.saveError`),description:ge[n],"show-icon":``,closable:``,onClose:e=>ge[n]=null},null,8,[`title`,`description`,`onClose`])):P(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),r(`div`,wn,[r(`div`,Tn,[p(j(N),{size:`small`,loading:j(D),onClick:Ue},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),j(g)&&j(g).state!==`deactivated`?(_(),h(j(N),{key:0,size:`small`,type:`warning`,loading:j(T),disabled:j(C),onClick:Q},{icon:R(()=>[p(j(t),{icon:`mdi:stop`})]),default:R(()=>[d(` `+I(j(c)(`spacesHomeControlPlugin.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):P(``,!0)]),r(`div`,En,I(j(c)(`spacesHomeControlPlugin.media.activities.applyDefaultsHint`)),1)]),j(A)?(_(),h(j(je),{key:0,type:`error`,title:j(c)(`spacesHomeControlPlugin.media.activities.activateFailed`),description:j(A),"show-icon":``,closable:``,onClose:i[1]||=e=>A.value=null},null,8,[`title`,`description`])):P(``,!0)],8,hn)),[[j(he),fe.value]])]),_:1},8,[`modelValue`,`title`]))}}),On={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},kn=g({name:`SpaceDomainsSection`,__name:`space-domains-section`,props:{space:{}},setup(t,{expose:n}){let i=t,{t:o}=y(),s=Pe(),{lightingSignal:c,climateSignal:l,coversSignal:u,sensorSignal:d}=ut(),f=v(!1),m=v(!1),g=v(!1),b=v(!1),x=v(!1),C=v(!1),w=v([]),T=e=>{switch(e){case B.main:return`primary`;case B.task:return`warning`;case B.ambient:return`success`;case B.accent:return`danger`;case B.night:default:return`info`}},D=e=>{switch(e){case B.main:return`mdi:lightbulb`;case B.task:return`mdi:desk-lamp`;case B.ambient:return`mdi:lightbulb-group`;case B.accent:return`mdi:spotlight-beam`;case B.night:return`mdi:weather-night`;default:return`mdi:lightbulb-outline`}},O=async()=>{if(i.space?.id){C.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e){w.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[B.main,B.task,B.ambient,B.accent,B.night,B.other];w.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.lightingRoles.${e}`),type:T(e),icon:D(e),count:t}))}finally{C.value=!1}}},A=v(!1),j=v([]),M=e=>{switch(e){case X.heating_only:return`danger`;case X.cooling_only:return`primary`;case X.auto:return`success`;case X.auxiliary:return`warning`;default:return`info`}},N=e=>{switch(e){case X.heating_only:return`mdi:fire`;case X.cooling_only:return`mdi:snowflake`;case X.auto:return`mdi:thermostat-auto`;case X.auxiliary:return`mdi:radiator`;case X.sensor:return`mdi:thermometer`;default:return`mdi:eye-off`}},P=async()=>{if(i.space?.id){A.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e){j.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===X.hidden)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[X.heating_only,X.cooling_only,X.auto,X.auxiliary,X.sensor];j.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.climateRoles.${e}`),type:M(e),icon:N(e),count:t}))}finally{A.value=!1}}},ee=v(!1),I=v([]),L=e=>{switch(e){case q.primary:return`primary`;case q.blackout:return`danger`;case q.sheer:return`success`;case q.outdoor:return`warning`;default:return`info`}},te=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`;default:return`mdi:blinds-horizontal`}},R=async()=>{if(i.space?.id){ee.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e){I.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[q.primary,q.blackout,q.sheer,q.outdoor,q.hidden];I.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.coversRoles.${e}`),type:L(e),icon:te(e),count:t}))}finally{ee.value=!1}}},ne=v(!1),re=v([]),ie=e=>{switch(e){case xe.ENVIRONMENT:return`success`;case xe.SAFETY:return`danger`;case xe.SECURITY:return`warning`;case xe.AIR_QUALITY:return`info`;case xe.ENERGY:return`primary`;default:return`info`}},ae=e=>{switch(e){case xe.ENVIRONMENT:return`mdi:thermometer`;case xe.SAFETY:return`mdi:shield-alert`;case xe.SECURITY:return`mdi:motion-sensor`;case xe.AIR_QUALITY:return`mdi:air-filter`;case xe.ENERGY:return`mdi:lightning-bolt`;default:return`mdi:chart-line`}},oe=async()=>{if(i.space?.id){ne.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${F}/${Q}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e){re.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===xe.HIDDEN)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}re.value=Array.from(r.entries()).sort(([e],[t])=>pe.indexOf(e)-pe.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.sensorRoles.${e}`),type:ie(e),icon:ae(e),count:t}))}finally{ne.value=!1}}},{fetchEndpoints:se,fetchBindings:ce,findBindingByActivity:le}=mn(a(()=>i.space?.id)),ue=v(!1),de=v([]),V=[H.watch,H.listen,H.gaming,H.background],fe=async()=>{if(i.space?.id){ue.value=!0;try{await Promise.all([se(),ce()]);let e=[];for(let t of V){let n=le(t);if(!n)continue;let r=[n.displayEndpointId,n.audioEndpointId,n.sourceEndpointId,n.remoteEndpointId].filter(Boolean).length;e.push({label:o(`spacesHomeControlPlugin.media.activityLabels.${t}`),type:fn(t),icon:pn(t),count:r})}de.value=e}catch{de.value=[]}finally{ue.value=!1}}},U=a(()=>[{key:`lighting`,icon:`mdi:lightbulb`,iconColor:`warning`,title:o(`spacesHomeControlPlugin.detail.domains.lighting.title`),description:o(`spacesHomeControlPlugin.detail.domains.lighting.description`),tags:w.value,loading:C.value,openDialog:()=>{f.value=!0}},{key:`climate`,icon:`mdi:thermostat`,iconColor:`danger`,title:o(`spacesHomeControlPlugin.detail.domains.climate.title`),description:o(`spacesHomeControlPlugin.detail.domains.climate.description`),tags:j.value,loading:A.value,openDialog:()=>{m.value=!0}},{key:`covers`,icon:`mdi:blinds`,iconColor:`primary`,title:o(`spacesHomeControlPlugin.detail.domains.covers.title`),description:o(`spacesHomeControlPlugin.detail.domains.covers.description`),tags:I.value,loading:ee.value,openDialog:()=>{g.value=!0}},{key:`sensor`,icon:`mdi:chart-bell-curve`,iconColor:`success`,title:o(`spacesHomeControlPlugin.detail.domains.sensor.title`),description:o(`spacesHomeControlPlugin.detail.domains.sensor.description`),tags:re.value,loading:ne.value,openDialog:()=>{b.value=!0}},{key:`media`,icon:`mdi:play-box-multiple`,iconColor:`info`,title:o(`spacesHomeControlPlugin.detail.domains.media.title`),description:o(`spacesHomeControlPlugin.detail.domains.media.description`),tags:de.value,loading:ue.value,openDialog:()=>{x.value=!0}}]),W=()=>{O(),P(),R(),oe(),fe()};E(()=>c?.value,()=>{i.space?.id&&O()}),E(()=>l?.value,()=>{i.space?.id&&P()}),E(()=>u?.value,()=>{i.space?.id&&R()}),E(()=>d?.value,()=>{i.space?.id&&oe()}),E(()=>i.space?.id,e=>{e&&W()});let me=()=>{O()},he=()=>{P()},ge=()=>{R()},_e=()=>{oe()},ve=()=>{fe()};return S(()=>{i.space?.id&&W()}),n({reload:W}),(t,n)=>(_(),e(z,null,[r(`div`,On,[(_(!0),e(z,null,k(U.value,e=>(_(),h(en,{key:e.key,icon:e.icon,"icon-color":e.iconColor,title:e.title,description:e.description,tags:e.tags,loading:e.loading,onClick:t=>e.openDialog()},null,8,[`icon`,`icon-color`,`title`,`description`,`tags`,`loading`,`onClick`]))),128))]),p(yt,{visible:f.value,"onUpdate:visible":n[0]||=e=>f.value=e,space:i.space,onRolesChanged:me},null,8,[`visible`,`space`]),p(Ot,{visible:m.value,"onUpdate:visible":n[1]||=e=>m.value=e,space:i.space,onRolesChanged:he},null,8,[`visible`,`space`]),p(Lt,{visible:g.value,"onUpdate:visible":n[2]||=e=>g.value=e,space:i.space,onRolesChanged:ge},null,8,[`visible`,`space`]),p(Gt,{visible:b.value,"onUpdate:visible":n[3]||=e=>b.value=e,space:i.space,onRolesChanged:_e},null,8,[`visible`,`space`]),p(Dn,{visible:x.value,"onUpdate:visible":n[4]||=e=>x.value=e,space:i.space,onBindingsChanged:ve},null,8,[`visible`,`space`])],64))}}),An={class:`flex items-center gap-2`},jn={class:`font-medium`},Mn={key:0,class:`text-xs text-gray-500`},Nn={class:`flex items-center gap-2 justify-end`},Pn={key:0,class:`h-full w-full leading-normal`},Fn={key:1,class:`h-full w-full leading-normal`},In={class:`mb-4`},Ln=g({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=y(),u=Fe(),{roomSpaces:f}=Qe(),{devices:g,loading:b,firstLoadFinished:x,fetchDevices:C,removeDevice:w,reassignDevice:T}=rt(n(s,`spaceId`),n(s,`spaceType`)),E=v(!1),D=v(null),A=v(null),M=v(!1),ee=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e]||`mdi:devices`,F=()=>{c(`open-add-dialog`)},te=e=>{D.value=e,A.value=null,E.value=!0},ne=async()=>{if(D.value){M.value=!0;try{await T(D.value.id,A.value),E.value=!1,u.success(l(`spacesModule.messages.edited`,{space:D.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{M.value=!1}}},re=e=>{me.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 w(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 S(async()=>{x.value||await C()}),a({openAddDialog:F,fetchDevices:C}),(n,i)=>(_(),e(z,null,[O((_(),h(j(W),{"element-loading-text":j(l)(`spacesModule.detail.devices.loading`),data:j(g),"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[j(b)?(_(),e(`div`,Pn,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(_(),e(`div`,Fn,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(l)(`spacesModule.detail.devices.empty`)),1)]),extra:R(()=>[p(j(N),{type:`primary`,plain:``,onClick:F},{icon:R(()=>[p(j(t),{icon:`mdi:plus`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:R(()=>[p(j(G),{label:j(l)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,An,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:ee(n.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,jn,I(n.name),1),n.description?(_(),e(`div`,Mn,I(n.description),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(l)(`spacesModule.table.columns.category`),width:`150`},{default:R(({row:e})=>[p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(j(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),p(j(G),{label:j(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:R(({row:e})=>[p(j(Y),{type:e.status?.online?`success`:`danger`,size:`small`},{default:R(()=>[d(I(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),p(j(G),{label:``,width:s.spaceType===j(K).ZONE?110:220,align:`right`},{default:R(({row:e})=>[r(`div`,Nn,[s.spaceType===j(K).ROOM?(_(),h(j(N),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>te(e)},{icon:R(()=>[p(j(t),{icon:`mdi:swap-horizontal`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):P(``,!0),p(j(N),{type:`danger`,plain:``,size:`small`,onClick:t=>re(e)},{icon:R(()=>[p(j(t),{icon:`mdi:close`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[j(he),j(b)]]),p(j(Ie),{modelValue:E.value,"onUpdate:modelValue":i[2]||=e=>E.value=e,title:j(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:R(()=>[p(j(N),{onClick:i[1]||=e=>E.value=!1},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),p(j(N),{type:`primary`,loading:M.value,onClick:ne},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:R(()=>[r(`p`,In,I(j(l)(`spacesModule.detail.devices.selectRoom`)),1),p(j(J),{modelValue:A.value,"onUpdate:modelValue":i[0]||=e=>A.value=e,placeholder:j(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(f),e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Rn={class:`flex items-center gap-2`},zn={class:`block`},Bn={key:1,class:`font-medium`},Vn={class:`flex items-center gap-2 justify-end`},Hn={key:0,class:`h-full w-full leading-normal`},Un={key:1,class:`h-full w-full leading-normal`},Wn={class:`mb-4`},Gn=g({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=y(),u=Fe(),{roomSpaces:f}=Qe(),{displays:g,loading:b,fetchDisplays:x,removeDisplay:C,reassignDisplay:w}=nt(n(s,`spaceId`)),T=v(!1),E=v(null),D=v(null),A=v(!1),M=()=>{c(`open-add-dialog`)},P=e=>{E.value=e,D.value=null,T.value=!0},ee=async()=>{if(E.value){A.value=!0;try{await w(E.value.id,D.value),T.value=!1,u.success(l(`spacesModule.messages.edited`,{space:E.value.name||E.value.macAddress}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{A.value=!1}}},F=e=>{let t=e.name||e.macAddress;me.confirm(l(`spacesModule.detail.displays.confirmRemove`,{name:t}),l(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await C(e.id),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 S(async()=>{await x()}),a({openAddDialog:M,fetchDisplays:x}),(n,i)=>(_(),e(z,null,[O((_(),h(j(W),{"element-loading-text":j(l)(`spacesModule.detail.displays.loading`),data:j(g),"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[j(b)?(_(),e(`div`,Hn,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(_(),e(`div`,Un,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(l)(`spacesModule.detail.displays.empty`)),1)]),extra:R(()=>[p(j(N),{type:`primary`,plain:``,onClick:M},{icon:R(()=>[p(j(t),{icon:`mdi:plus`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:R(()=>[p(j(G),{label:j(l)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,Rn,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(_(),e(z,{key:0},[r(`strong`,zn,I(n.name),1),p(j(_e),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[d(I(n.macAddress),1)]),_:2},1024)],64)):(_(),e(`div`,Bn,I(n.macAddress),1))])])]),_:1},8,[`label`]),p(j(G),{label:j(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:R(({row:e})=>[p(j(Y),{type:e.online?`success`:`danger`,size:`small`},{default:R(()=>[d(I(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),p(j(G),{label:``,width:`220`,align:`right`},{default:R(({row:e})=>[r(`div`,Vn,[p(j(N),{type:`warning`,plain:``,size:`small`,onClick:t=>P(e)},{icon:R(()=>[p(j(t),{icon:`mdi:swap-horizontal`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),p(j(N),{type:`danger`,plain:``,size:`small`,onClick:t=>F(e)},{icon:R(()=>[p(j(t),{icon:`mdi:close`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[j(he),j(b)]]),p(j(Ie),{modelValue:T.value,"onUpdate:modelValue":i[2]||=e=>T.value=e,title:j(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:R(()=>[p(j(N),{onClick:i[1]||=e=>T.value=!1},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),p(j(N),{type:`primary`,loading:A.value,onClick:ee},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:R(()=>[r(`p`,Wn,I(j(l)(`spacesModule.detail.displays.selectRoom`)),1),p(j(J),{modelValue:D.value,"onUpdate:modelValue":i[0]||=e=>D.value=e,placeholder:j(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(f),e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Kn=e=>{let t=we().getStore(at),{semaphore:n,firstLoad:r}=De(t),i=v(!1);return{scenes:a(()=>e.value?t.findBySpace(e.value).filter(e=>!e.draft).sort((e,t)=>e.name.localeCompare(t.name)):[]),loading:a(()=>!!(i.value||n.value.fetching.items||!r.value)),firstLoadFinished:a(()=>r.value),fetchScenes:async()=>{await t.fetch()},reassignScene:async(e,n)=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:n}})}finally{i.value=!1}},removeScene:async e=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:null}})}finally{i.value=!1}}}};function $(e){return e.trim().toLowerCase().replace(/[-_]/g,` `).replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}var qn=e=>e||null,Jn=e=>{if(e)return e},Yn=()=>{let e=fe(),{generate:t}=qe(),n=w({currentStep:0,existingSpaces:[],spaces:[],proposedSpaces:[],customSpaces:[],matchedSpaces:[],deviceAssignments:{},displayAssignments:{},zoneAssignments:{},showAdvancedZones:!1,isLoading:!1,error:null}),r=a(()=>n.isLoading),i=a(()=>n.error),o=a(()=>n.currentStep),s=a(()=>n.existingSpaces),c=a(()=>n.spaces),l=a(()=>n.proposedSpaces),u=a(()=>n.customSpaces),d=a(()=>n.matchedSpaces),f=a(()=>n.deviceAssignments),p=a(()=>n.displayAssignments),m=a(()=>n.zoneAssignments),h=a({get:()=>n.showAdvancedZones,set:e=>{n.showAdvancedZones=e}}),g=a(()=>v.value.filter(e=>e.type===K.ZONE&&e.category&&ce.includes(e.category))),_=a(()=>n.proposedSpaces.filter(e=>!n.matchedSpaces.some(t=>$(t.proposedName)===$(e.name)))),v=a(()=>{let e=new Map;for(let t of n.existingSpaces)e.set(t.id,t);for(let t of n.spaces)e.set(t.id,t);return Array.from(e.values())}),y=async()=>{n.isLoading=!0,n.error=null;try{let r=await e.GET(`/modules/spaces/spaces/propose`);if(r.error||!r.data?.data)throw new $e(`Failed to fetch proposed spaces`);let i=r.data.data.map(e=>{let n=qn(e.category),r=n?le[n]:null,i=r?.description??null,a=r?.icon??null,o=e.name??``;return{name:o,description:i,icon:a,deviceIds:e.device_ids??[],deviceCount:e.device_count??0,selected:!0,type:e.type?Ze(e.type):K.ROOM,category:n,draftId:t(),editing:!1,editName:o}});n.matchedSpaces=[];let a=[];for(let e of i){let t=$(e.name),r=n.existingSpaces.find(e=>$(e.name)===t);r?n.matchedSpaces.push({proposedName:e.name,existingSpace:r,deviceIds:e.deviceIds,deviceCount:e.deviceCount}):a.push(e)}n.proposedSpaces=a}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},b=()=>{let e=[],t=n.proposedSpaces.filter(e=>e.selected),r=n.customSpaces.filter(e=>e.selected);for(let e of n.matchedSpaces)if(e.existingSpace.type===K.ROOM)for(let t of e.deviceIds)n.deviceAssignments[t]||(n.deviceAssignments[t]=e.existingSpace.id);for(let r of t){let t=n.spaces.find(e=>e.id===r.draftId);if(t){if(r.type===K.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]||(n.deviceAssignments[e]=t.id);continue}let i={id:r.draftId,name:r.name,description:r.description,type:r.type,category:r.category,icon:r.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};if(n.spaces=[...n.spaces,i],e.push(i),r.type===K.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]=i.id}for(let t of r){if(n.spaces.find(e=>e.id===t.draftId))continue;let r={id:t.draftId,name:t.name,description:t.description,type:t.type,category:t.category,icon:t.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};n.spaces=[...n.spaces,r],e.push(r)}return e},x=async()=>{n.isLoading=!0,n.error=null;let t=[];try{let r=n.spaces.filter(e=>e.draft),i=new Set(n.proposedSpaces.filter(e=>e.selected).map(e=>e.name)),a=new Set(n.customSpaces.map(e=>e.name)),o=new Set([...Object.values(n.deviceAssignments),...Object.values(n.displayAssignments)].filter(e=>e!==null));for(let s of r){let r=i.has(s.name),c=a.has(s.name),l=o.has(s.id);if(!r&&!c&&!l){n.spaces=n.spaces.filter(e=>e.id!==s.id);continue}let u=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:s.name,description:s.description,icon:s.icon,type:Ye(s.type),category:Jn(s.category)}}});if(u.error||!u.data?.data)throw new $e(`Failed to create space: ${s.name}`);let d=Xe(u.data.data);for(let[e,t]of Object.entries(n.deviceAssignments))t===s.id&&(n.deviceAssignments[e]=d.id);for(let[e,t]of Object.entries(n.displayAssignments))t===s.id&&(n.displayAssignments[e]=d.id);for(let[e,t]of Object.entries(n.zoneAssignments))n.zoneAssignments[e]=t.map(e=>e===s.id?d.id:e);let f=n.spaces.findIndex(e=>e.id===s.id);f===-1?n.spaces=[...n.spaces,d]:n.spaces[f]=d,t.push(d)}return t}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},S=async t=>{n.isLoading=!0,n.error=null;try{let r=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:t.name,description:t.description,type:Ye(t.type),category:Jn(t.category),icon:t.icon,display_order:t.displayOrder}}});if(r.error||!r.data?.data)throw new $e(`Failed to create space`);let i=Xe(r.data.data);return n.spaces.push(i),i}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},C=(e,t)=>{n.deviceAssignments[e]=t},T=(e,t)=>{n.displayAssignments[e]=t},E=async()=>{n.isLoading=!0,n.error=null;let t=0,r=0,i=0;try{let a={};for(let[e,t]of Object.entries(n.deviceAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].deviceIds.push(e));for(let[e,t]of Object.entries(n.displayAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].displayIds.push(e));for(let[n,i]of Object.entries(a)){let a=await e.POST(`/modules/spaces/spaces/{id}/assign`,{params:{path:{id:n}},body:{data:{device_ids:i.deviceIds,display_ids:i.displayIds}}});if(a.error)throw new $e(`Failed to assign items to space ${n}`);a.data?.data&&(t+=a.data.data.devices_assigned??0,r+=a.data.data.displays_assigned??0)}for(let[t,r]of Object.entries(n.zoneAssignments))for(let n of r){if((await e.POST(`/modules/devices/devices/{id}/zones/{zoneId}`,{params:{path:{id:t,zoneId:n}}})).error)throw new $e(`Failed to assign device ${t} to zone ${n}`);i++}return{devicesAssigned:t,displaysAssigned:r,zonesAssigned:i}}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},D=e=>{n.currentStep=e},O=()=>{n.currentStep++},k=()=>{n.currentStep>0&&n.currentStep--},A=e=>{for(let[t,r]of Object.entries(n.deviceAssignments))r===e&&(n.deviceAssignments[t]=null);for(let[t,r]of Object.entries(n.displayAssignments))r===e&&(n.displayAssignments[t]=null)},j=e=>{let t=n.proposedSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)))},M=e=>{let t=n.customSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)))},N=e=>{let t=$(e),r=n.existingSpaces.find(e=>$(e.name)===t);if(r)return r.name;let i=n.proposedSpaces.find(e=>$(e.name)===t);if(i)return i.name;let a=n.customSpaces.find(e=>$(e.name)===t);return a?a.name:null};return{isLoading:r,error:i,currentStep:o,existingSpaces:s,spaces:c,proposedSpaces:l,customSpaces:u,matchedSpaces:d,unmatchedProposals:_,availableSpaces:v,deviceAssignments:f,displayAssignments:p,zoneAssignments:m,showAdvancedZones:h,assignableZones:g,fetchProposedSpaces:y,fetchDevices:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/devices/devices`);if(t.error||!t.data?.data)throw new $e(`Failed to fetch devices`);return t.data.data.map(e=>({id:e.id,name:e.name,description:e.description??null,spaceId:e.room_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchDisplays:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/displays/displays`);if(t.error||!t.data?.data)throw new $e(`Failed to fetch displays`);return t.data.data.map(e=>({id:e.id,name:e.name??null,macAddress:e.mac_address??``,spaceId:e.space_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchExistingSpaces:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/spaces/spaces`);if(t.error||!t.data?.data)throw new $e(`Failed to fetch spaces`);let r=t.data.data.map(e=>Xe(e));return n.existingSpaces=r,r}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},createDraftSpacesFromProposals:b,createSpacesFromProposals:x,createSpace:S,setDeviceAssignment:C,setDisplayAssignment:T,setDeviceZones:(e,t)=>{n.zoneAssignments[e]=t},applyAssignments:E,setStep:D,nextStep:O,prevStep:k,toggleProposedSpace:j,toggleCustomSpace:M,addManualSpace:e=>{let r=N(e);return r?{success:!1,duplicateOf:r}:(n.customSpaces.push({name:e,description:null,icon:null,selected:!0,type:K.ROOM,category:null,draftId:t(),editing:!1,editName:e}),{success:!0})},checkDuplicateSpaceName:N,removeProposedSpace:e=>{let t=n.proposedSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)),n.proposedSpaces.splice(e,1)},removeCustomSpace:e=>{let t=n.customSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)),n.customSpaces.splice(e,1)},startEditingProposedName:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmProposedNameEdit:e=>{let t=n.proposedSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=$(r),a=n.existingSpaces.find(e=>$(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:t.deviceIds,deviceCount:t.deviceCount}),n.proposedSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find((t,n)=>n!==e&&$(t.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find(e=>$(e.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardProposedNameEdit:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!1,t.editName=t.name)},startEditingCustomName:e=>{let t=n.customSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmCustomNameEdit:e=>{let t=n.customSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=$(r),a=n.existingSpaces.find(e=>$(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:[],deviceCount:0}),n.customSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find(e=>$(e.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find((t,n)=>n!==e&&$(t.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardCustomNameEdit:e=>{let t=n.customSpaces[e];t&&(t.editing=!1,t.editName=t.name)},initializeFromExistingSpaces:e=>{n.existingSpaces=[...e]},initializeDeviceAssignments:e=>{for(let t of e)n.deviceAssignments[t.id]=t.spaceId??null},initializeDisplayAssignments:e=>{for(let t of e)n.displayAssignments[t.id]=t.spaceId??null},summary:a(()=>{let e=n.existingSpaces.length+n.spaces.length,t=Object.values(n.deviceAssignments).filter(e=>e!==null).length,r=Object.values(n.displayAssignments).filter(e=>e!==null).length,i=Object.values(n.deviceAssignments).filter(e=>e===null).length,a=Object.values(n.displayAssignments).filter(e=>e===null).length,o={},s={};for(let e of Object.values(n.deviceAssignments))e&&(o[e]=(o[e]??0)+1);for(let e of Object.values(n.zoneAssignments))for(let t of e)o[t]=(o[t]??0)+1;for(let e of Object.values(n.displayAssignments))e&&(s[e]=(s[e]??0)+1);return{spaceCount:e,assignedDevices:t,assignedDisplays:r,unassignedDevices:i,unassignedDisplays:a,devicesBySpace:o,displaysBySpace:s}})}},Xn={class:`flex items-center gap-2`},Zn={class:`font-medium`},Qn={key:0,class:`text-xs text-gray-500`},$n={class:`flex items-center gap-2 justify-end`},er={key:0,class:`h-full w-full leading-normal`},tr={key:1,class:`h-full w-full leading-normal`},nr={class:`mb-4`},rr=g({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=y(),u=Fe(),{spaces:f}=Qe(),{scenes:g,loading:b,firstLoadFinished:x,fetchScenes:C,reassignScene:w,removeScene:T}=Kn(n(s,`spaceId`)),E=v(!1),D=v(null),A=v(null),M=v(!1),ee=e=>e.icon?e.icon:ct[e.category]||ct[Le.generic],F=()=>{c(`open-add-dialog`)},te=e=>{D.value=e,A.value=null,E.value=!0},ne=async()=>{if(D.value){M.value=!0;try{await w(D.value.id,A.value),E.value=!1,u.success(l(`spacesHomeControlPlugin.detail.scenes.reassigned`,{name:D.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{M.value=!1}}},re=e=>{me.confirm(l(`spacesHomeControlPlugin.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesHomeControlPlugin.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await T(e.id),u.success(l(`spacesHomeControlPlugin.detail.scenes.removed`,{name:e.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesHomeControlPlugin.detail.scenes.removeCanceled`))})};return S(async()=>{x.value||await C()}),a({openAddDialog:F,fetchScenes:C}),(n,i)=>(_(),e(z,null,[O((_(),h(j(W),{"element-loading-text":j(l)(`spacesHomeControlPlugin.detail.scenes.loading`),data:j(g),"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[j(b)?(_(),e(`div`,er,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:play-box-multiple`})]),secondary:R(()=>[p(j(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(_(),e(`div`,tr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:play-box-multiple`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(l)(`spacesHomeControlPlugin.detail.scenes.empty`)),1)]),extra:R(()=>[p(j(N),{type:`primary`,plain:``,onClick:F},{icon:R(()=>[p(j(t),{icon:`mdi:plus`})]),default:R(()=>[d(` `+I(j(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:R(()=>[p(j(G),{label:j(l)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,Xn,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:ee(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,Zn,I(n.name),1),n.description?(_(),e(`div`,Qn,I(n.description),1)):P(``,!0)])])]),_:1},8,[`label`]),p(j(G),{label:j(l)(`spacesHomeControlPlugin.detail.scenes.category`),width:`150`},{default:R(({row:e})=>[p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(j(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),p(j(G),{label:j(l)(`spacesHomeControlPlugin.detail.scenes.status`),width:`100`,align:`center`},{default:R(({row:e})=>[p(j(Y),{type:e.enabled?`success`:`info`,size:`small`},{default:R(()=>[d(I(e.enabled?j(l)(`spacesHomeControlPlugin.detail.scenes.enabled`):j(l)(`spacesHomeControlPlugin.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),p(j(G),{label:``,width:`220`,align:`right`},{default:R(({row:e})=>[r(`div`,$n,[p(j(N),{type:`warning`,plain:``,size:`small`,onClick:t=>te(e)},{icon:R(()=>[p(j(t),{icon:`mdi:swap-horizontal`})]),default:R(()=>[d(` `+I(j(l)(`spacesHomeControlPlugin.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),p(j(N),{type:`danger`,plain:``,size:`small`,onClick:t=>re(e)},{icon:R(()=>[p(j(t),{icon:`mdi:close`})]),default:R(()=>[d(` `+I(j(l)(`spacesHomeControlPlugin.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[j(he),j(b)]]),p(j(Ie),{modelValue:E.value,"onUpdate:modelValue":i[2]||=e=>E.value=e,title:j(l)(`spacesHomeControlPlugin.detail.scenes.reassign`),width:`400px`},{footer:R(()=>[p(j(N),{onClick:i[1]||=e=>E.value=!1},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),p(j(N),{type:`primary`,loading:M.value,onClick:ne},{default:R(()=>[d(I(j(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:R(()=>[r(`p`,nr,I(j(l)(`spacesHomeControlPlugin.detail.scenes.selectSpace`)),1),p(j(J),{modelValue:A.value,"onUpdate:modelValue":i[0]||=e=>A.value=e,placeholder:j(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:R(()=>[(_(!0),e(z,null,k(j(f),e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),ir={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ar={class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},or=[`aria-label`,`onKeydown`],sr={class:`flex items-center gap-1`},cr={key:1,class:`text-gray-400 text-sm`},lr={class:`flex items-center gap-2`},ur=g({name:`SpaceParentZoneSection`,__name:`space-parent-zone-section`,props:{space:{}},setup(n){let i=n,{t:o}=y(),c=Fe(),u=a(()=>i.space.id),{floorZoneSpaces:f,findById:m}=Qe(),{editSpace:g}=tt(u),b=v(i.space.parentId),x=v(!1),C=v(!1),w=v(null),T=v(i.space.parentId),D=v(!1),O=a(()=>i.space.parentId?m(i.space.parentId):null),A=a(()=>f.value.filter(e=>e.id!==i.space.id)),M=()=>{C.value=!0,T.value=i.space.parentId,b.value=i.space.parentId,D.value=!1,l(()=>{w.value?.focus?.()})},N=()=>{setTimeout(()=>{!D.value&&!x.value&&C.value&&(C.value=!1),D.value=!1},200)},P=e=>{C.value&&e.key===`Escape`&&(b.value=T.value,C.value=!1,D.value=!1)};E(()=>i.space.parentId,e=>{C.value||(b.value=e,T.value=e)},{immediate:!0});let ee=async e=>{if(e===i.space.parentId){C.value=!1,D.value=!1;return}D.value=!0,x.value=!0;try{await g({name:i.space.name,parentId:e}),c.success(o(`spacesModule.messages.edited`,{space:i.space.name})),C.value=!1,D.value=!1}catch{b.value=T.value,c.error(o(`spacesModule.messages.saveError`)),C.value=!1,D.value=!1}finally{x.value=!1}};return S(()=>{document.addEventListener(`keydown`,P)}),s(()=>{document.removeEventListener(`keydown`,P)}),(n,i)=>(_(),e(z,null,[r(`dt`,ir,I(j(o)(`spacesModule.detail.parentZone.title`)),1),r(`dd`,ar,[C.value?(_(),h(j(J),{key:1,ref_key:`floorSelectRef`,ref:w,modelValue:b.value,"onUpdate:modelValue":i[0]||=e=>b.value=e,placeholder:j(o)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:x.value,onChange:ee,onBlur:N},{default:R(()=>[(_(!0),e(z,null,k(A.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,lr,[p(j(t),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(_(),e(`div`,{key:0,role:`button`,tabindex:`0`,"aria-label":j(o)(`spacesModule.detail.parentZone.select`),class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:M,onKeydown:[re(ae(M,[`prevent`]),[`enter`]),re(ae(M,[`prevent`]),[`space`])]},[O.value?(_(),h(j(Y),{key:0,type:`success`,size:`small`},{default:R(()=>[r(`div`,sr,[p(j(t),{icon:O.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),d(` `+I(O.value.name),1)])]),_:1})):(_(),e(`span`,cr,I(j(o)(`spacesModule.detail.parentZone.none`)),1))],40,or))])],64))}}),dr={key:0,class:`h-full w-full leading-normal`},fr={key:1,class:`h-full w-full leading-normal`},pr={class:`flex items-center gap-2`},mr={class:`block text-sm`},hr={key:1,class:`font-medium`},gr={key:1,class:`text-gray-400 text-sm`},_r=g({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=y(),l=Fe(),{devices:u}=it(),{findById:f}=Qe(),g=v(``),b=v(null),{devices:x,addDevice:S}=rt(a(()=>o.spaceId),a(()=>o.spaceType)),C=a(()=>new Set(x.value.map(e=>e.id))),w=a(()=>u.value.filter(e=>o.spaceType===K.ZONE?!C.value.has(e.id):e.roomId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),T=a(()=>(g.value.trim()?w.value.filter(e=>{let t=g.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):w.value).sort((e,t)=>e.name.localeCompare(t.name))),D=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`,O=e=>f(e)?.name||`Unknown`,k=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),A=()=>{k.value=!1,g.value=``,b.value=null},M=async e=>{b.value=e.id;try{await S(e.id),l.success(c(`spacesModule.messages.edited`,{space:e.name})),s(`device-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return E(()=>o.visible,e=>{e||(g.value=``,b.value=null)}),(n,i)=>(_(),h(j(Ie),{modelValue:k.value,"onUpdate:modelValue":i[1]||=e=>k.value=e,title:j(c)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:A},{footer:R(()=>[p(j(N),{onClick:A},{default:R(()=>[d(I(j(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:R(()=>[p(j(Be),{modelValue:g.value,"onUpdate:modelValue":i[0]||=e=>g.value=e,placeholder:j(c)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:R(()=>[p(j(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),p(j(W),{data:T.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[w.value.length===0?(_(),e(`div`,dr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(c)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):g.value.trim()&&T.value.length===0?(_(),e(`div`,fr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[p(j(_e),{class:`block`},{default:R(()=>[d(I(j(c)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):P(``,!0)]),default:R(()=>[p(j(G),{label:j(c)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,pr,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:D(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(_(),e(z,{key:0},[r(`strong`,mr,I(n.name),1),p(j(_e),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[d(I(n.description),1)]),_:2},1024)],64)):(_(),e(`div`,hr,I(n.name),1))])])]),_:1},8,[`label`]),p(j(G),{label:j(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:R(({row:t})=>[t.roomId?(_(),h(j(Y),{key:0,size:`small`,type:`warning`},{default:R(()=>[d(I(O(t.roomId)),1)]),_:2},1024)):(_(),e(`span`,gr,`-`))]),_:1},8,[`label`]),p(j(G),{label:``,width:`150`,align:`right`},{default:R(({row:e})=>[p(j(N),{type:o.spaceType===j(K).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>M(e)},{icon:R(()=>[p(j(t),{icon:o.spaceType===j(K).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:R(()=>[d(` `+I(o.spaceType===j(K).ROOM&&e.roomId?j(c)(`spacesModule.detail.devices.reassign`):j(c)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),vr={key:0,class:`h-full w-full leading-normal`},yr={key:1,class:`h-full w-full leading-normal`},br={class:`flex items-center gap-2`},xr={class:`block`},Sr={key:1,class:`font-medium`},Cr={key:1,class:`text-gray-400 text-sm`},wr=g({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=y(),l=Fe(),{displays:u}=Je(),{findById:f}=Qe(),g=v(``),b=v(null),{reassignDisplay:x}=nt(a(()=>o.spaceId)),S=a(()=>u.value.filter(e=>e.spaceId!==o.spaceId).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),C=a(()=>(g.value.trim()?S.value.filter(e=>{let t=g.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):S.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),w=e=>f(e)?.name||`Unknown`,T=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),D=()=>{T.value=!1,g.value=``,b.value=null},O=async e=>{b.value=e.id;try{await x(e.id,o.spaceId),l.success(c(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),s(`display-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return E(()=>o.visible,e=>{e||(g.value=``,b.value=null)}),(n,i)=>(_(),h(j(Ie),{modelValue:T.value,"onUpdate:modelValue":i[1]||=e=>T.value=e,title:j(c)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:D},{footer:R(()=>[p(j(N),{onClick:D},{default:R(()=>[d(I(j(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:R(()=>[p(j(Be),{modelValue:g.value,"onUpdate:modelValue":i[0]||=e=>g.value=e,placeholder:j(c)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:R(()=>[p(j(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),p(j(W),{data:C.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[S.value.length===0?(_(),e(`div`,vr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(c)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):g.value.trim()&&C.value.length===0?(_(),e(`div`,yr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[p(j(_e),{class:`block`},{default:R(()=>[d(I(j(c)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):P(``,!0)]),default:R(()=>[p(j(G),{label:j(c)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,br,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(_(),e(z,{key:0},[r(`strong`,xr,I(n.name),1),p(j(_e),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[d(I(n.macAddress),1)]),_:2},1024)],64)):(_(),e(`div`,Sr,I(n.macAddress),1))])])]),_:1},8,[`label`]),p(j(G),{label:j(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:R(({row:t})=>[t.spaceId?(_(),h(j(Y),{key:0,size:`small`,type:`warning`},{default:R(()=>[d(I(w(t.spaceId)),1)]),_:2},1024)):(_(),e(`span`,Cr,`-`))]),_:1},8,[`label`]),p(j(G),{label:``,width:`150`,align:`right`},{default:R(({row:e})=>[p(j(N),{type:e.spaceId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>O(e)},{icon:R(()=>[p(j(t),{icon:e.spaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:R(()=>[d(` `+I(e.spaceId?j(c)(`spacesModule.detail.displays.reassign`):j(c)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Tr={key:0,class:`h-full w-full leading-normal`},Er={key:1,class:`h-full w-full leading-normal`},Dr={class:`flex items-center gap-2`},Or={class:`block text-sm`},kr={key:1,class:`font-medium`},Ar={key:1,class:`text-gray-400 text-sm`},jr=g({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=y(),l=Fe(),{scenes:u,loaded:f,fetchScenes:g}=st(),{editScene:b}=ot(),{findById:x}=Qe(),C=v(``),w=v(null),T=a(()=>u.value.filter(e=>!e.draft&&e.primarySpaceId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),D=a(()=>(C.value.trim()?T.value.filter(e=>{let t=C.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):T.value).sort((e,t)=>e.name.localeCompare(t.name))),O=e=>ct[e.category]||ct[Le.generic],k=e=>x(e)?.name||`Unknown`,A=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),M=()=>{A.value=!1,C.value=``,w.value=null},ee=async e=>{w.value=e.id;try{await b({id:e.id,data:{primarySpaceId:o.spaceId}}),l.success(c(`spacesHomeControlPlugin.detail.scenes.assigned`,{name:e.name})),s(`scene-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{w.value=null}};return S(async()=>{f.value||await g()}),E(()=>o.visible,e=>{e||(C.value=``,w.value=null)}),(n,i)=>(_(),h(j(Ie),{modelValue:A.value,"onUpdate:modelValue":i[1]||=e=>A.value=e,title:j(c)(`spacesHomeControlPlugin.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:M},{footer:R(()=>[p(j(N),{onClick:M},{default:R(()=>[d(I(j(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:R(()=>[p(j(Be),{modelValue:C.value,"onUpdate:modelValue":i[0]||=e=>C.value=e,placeholder:j(c)(`spacesHomeControlPlugin.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:R(()=>[p(j(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),p(j(W),{data:D.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:R(()=>[T.value.length===0?(_(),e(`div`,Tr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:play-box-multiple`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.detail.scenes.noAvailable`)),1)]),_:1})])):C.value.trim()&&D.value.length===0?(_(),e(`div`,Er,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:play-box-multiple`})]),secondary:R(()=>[p(j(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[p(j(_e),{class:`block`},{default:R(()=>[d(I(j(c)(`spacesHomeControlPlugin.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):P(``,!0)]),default:R(()=>[p(j(G),{label:j(c)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:R(({row:n})=>[r(`div`,Dr,[p(j(Oe),{size:32},{default:R(()=>[p(j(t),{icon:O(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(_(),e(z,{key:0},[r(`strong`,Or,I(n.name),1),p(j(_e),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[d(I(n.description),1)]),_:2},1024)],64)):(_(),e(`div`,kr,I(n.name),1))])])]),_:1},8,[`label`]),p(j(G),{label:j(c)(`spacesHomeControlPlugin.detail.scenes.assignedSpace`),width:`150`},{default:R(({row:t})=>[t.primarySpaceId?(_(),h(j(Y),{key:0,size:`small`,type:`warning`},{default:R(()=>[d(I(k(t.primarySpaceId)),1)]),_:2},1024)):(_(),e(`span`,Ar,`-`))]),_:1},8,[`label`]),p(j(G),{label:``,width:`150`,align:`right`},{default:R(({row:e})=>[p(j(N),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:w.value===e.id,onClick:t=>ee(e)},{icon:R(()=>[p(j(t),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:R(()=>[d(` `+I(e.primarySpaceId?j(c)(`spacesHomeControlPlugin.detail.scenes.reassign`):j(c)(`spacesHomeControlPlugin.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Mr={class:`flex items-center gap-2`},Nr={class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},Pr={class:`p-4 max-h-full box-border flex flex-col`},Fr={class:`my-2 font-medium`},Ir={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Lr={class:`flex items-center gap-2`},Rr={class:`flex items-center gap-2`},zr={class:`my-2 font-medium`},Br={class:`grow-1 min-w-0`},Vr={class:`text-gray-500 text-sm ml-2`},Hr={key:1,class:`text-gray-600`},Ur={class:`my-2 font-medium`},Wr={class:`flex flex-wrap gap-2`},Gr={class:`my-2 font-medium`},Kr={class:`grow-1 flex items-center gap-1 min-w-[150px]`},qr={class:`flex items-center gap-2`},Jr={class:`flex items-center gap-2`},Yr={class:`my-2 font-medium`},Xr={class:`flex items-center gap-3 p-2`},Zr={class:`h-full w-full leading-normal`},Qr={class:`font-medium`},$r={class:`text-xs text-gray-500 mt-1`},ei={key:1,class:`font-medium`},ti={class:`flex items-center gap-2`},ni={class:`h-full w-full leading-normal`},ri={key:0,class:`text-xs text-gray-500 mt-1`},ii={class:`flex items-center gap-2`},ai={class:`grid grid-cols-2 md:grid-cols-5 gap-4 text-center my-4 shrink-0`},oi={class:`text-2xl font-bold text-blue-600`},si={class:`text-sm text-gray-500`},ci={class:`text-2xl font-bold text-green-600`},li={class:`text-sm text-gray-500`},ui={class:`text-2xl font-bold text-yellow-600`},di={class:`text-sm text-gray-500`},fi={class:`text-2xl font-bold text-green-600`},pi={class:`text-sm text-gray-500`},mi={class:`text-2xl font-bold text-yellow-600`},hi={class:`text-sm text-gray-500`},gi={class:`mb-2 font-medium`},_i={class:`flex items-center gap-2`},vi={class:`flex items-center gap-2`},yi={class:`font-medium`},bi={class:`text-xs text-gray-500`},xi={key:1,class:`font-medium`},Si={class:`flex items-center gap-2`},Ci={key:0,class:`mt-6 flex justify-between`},wi={key:1},Ti={class:`flex gap-2`},Ei=g({__name:`view-spaces-wizard`,setup(n){let{t:i}=y(),o=C(),s=ie(),u=Fe(),{isMDDevice:f,isLGDevice:g}=Te();se({title:i(`spacesModule.meta.spaces.wizard.title`)});let{isLoading:w,currentStep:T,existingSpaces:E,proposedSpaces:D,customSpaces:A,matchedSpaces:ee,availableSpaces:F,deviceAssignments:te,displayAssignments:ne,zoneAssignments:ae,showAdvancedZones:oe,assignableZones:B,fetchProposedSpaces:ce,fetchDevices:le,fetchDisplays:de,fetchExistingSpaces:H,createDraftSpacesFromProposals:fe,createSpacesFromProposals:pe,setDeviceAssignment:U,setDisplayAssignment:me,setDeviceZones:_e,applyAssignments:ve,nextStep:ye,prevStep:be,toggleProposedSpace:xe,toggleCustomSpace:q,addManualSpace:we,removeProposedSpace:De,removeCustomSpace:Oe,startEditingProposedName:Ae,confirmProposedNameEdit:Pe,discardProposedNameEdit:Le,startEditingCustomName:Re,confirmCustomNameEdit:X,discardCustomNameEdit:Q,initializeDeviceAssignments:Ue,initializeDisplayAssignments:We,summary:qe}=Yn(),Je=v(``),Ye=b([]),Xe=b([]),Ze=v(!1),Qe=v(!1),$e=b(new Map),tt=b(new Map),nt=(e,t)=>{t?$e.value.set(e,t):$e.value.delete(e)},rt=(e,t)=>{t?tt.value.set(e,t):tt.value.delete(e)},it=async e=>{Ae(e),await l(),$e.value.get(e)?.focus?.()},at=async e=>{Re(e),await l(),tt.value.get(e)?.focus?.()},ot=a(()=>[...Xe.value].sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress))),st=a(()=>[...Ye.value].sort((e,t)=>e.name.localeCompare(t.name))),ct=a(()=>[{label:i(`spacesModule.breadcrumbs.spaces.list`),route:s.resolve({name:V.SPACES})},{label:i(`spacesModule.breadcrumbs.spaces.wizard`),route:s.resolve({name:V.SPACES_WIZARD,params:{type:o.params.type}})}]),lt=F,ut=a(()=>lt.value.filter(e=>e.type===K.ROOM).sort((e,t)=>e.name.localeCompare(t.name))),dt=e=>e.icon?e.icon:e.type===K.ROOM?`mdi:door`:`mdi:home-floor-1`,ft=a(()=>{let e=new Set(ee.value.map(e=>e.existingSpace.id));return E.value.filter(t=>!e.has(t.id))}),pt=a(()=>{let e=new Map;for(let t of ee.value){let n=e.get(t.existingSpace.id);n?(n.proposedNames.push(t.proposedName),n.totalDeviceCount+=t.deviceCount,n.matchCount++):e.set(t.existingSpace.id,{existingSpace:t.existingSpace,proposedNames:[t.proposedName],totalDeviceCount:t.deviceCount,matchCount:1})}return Array.from(e.values())}),mt=a(()=>lt.value.map(e=>({name:e.name,type:e.type,icon:e.icon,devices:qe.value.devicesBySpace[e.id]??0,displays:qe.value.displaysBySpace[e.id]??0}))),ht=a(()=>Ye.value.filter(e=>!te.value[e.id]).sort((e,t)=>e.name.localeCompare(t.name))),gt=a(()=>Xe.value.filter(e=>!ne.value[e.id]).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)));S(async()=>{try{await H(),Ye.value=await le(),Xe.value=await de(),Ue(Ye.value),We(Xe.value),await ce()}catch{u.error(i(`spacesModule.messages.loadError`))}});let _t=()=>{if(Je.value.trim()){let e=we(Je.value.trim());e.success?Je.value=``:u.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:e.duplicateOf}))}},vt=e=>{let t=Pe(e);t.convertedToMatch?u.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&u.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},yt=e=>{let t=X(e);t.convertedToMatch?u.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&u.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},bt=e=>{Le(e)},xt=e=>{Q(e)},{getCategoryOptions:St,getCategoryGroups:Ct,getCategoryTemplates:wt}=et(),Tt=e=>{e.category&&!Se(e.category,e.type)&&(e.category=null,e.description=null)},Et=e=>{if(e.category){let t=wt(e.type)[e.category];t?.description&&(e.description=t.description)}},Dt=()=>{for(let e of D.value)if(e.selected&&e.type===K.ZONE&&!e.category)return u.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;for(let e of A.value)if(e.selected&&e.type===K.ZONE&&!e.category)return u.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;return!0},Ot=()=>{if(T.value===0){if(!Dt())return;fe()}ye()},kt=()=>{g.value?s.replace({name:V.SPACES}):s.push({name:V.SPACES})},At=async()=>{try{await pe();let e=await ve();u.success(i(`spacesModule.wizard.messages.completed`,{devices:e.devicesAssigned,displays:e.displaysAssigned,zones:e.zonesAssigned})),g.value?s.replace({name:V.SPACES}):s.push({name:V.SPACES})}catch{u.error(i(`spacesModule.messages.saveError`))}};return(n,a)=>(_(),e(z,null,[j(f)?P(``,!0):(_(),h(j(ue),{key:0,teleport:``},{icon:R(()=>[p(j(t),{icon:`mdi:wizard-hat`,class:`w[20px] h[20px]`})]),title:R(()=>[d(I(j(i)(`spacesModule.wizard.title`)),1)]),subtitle:R(()=>[d(I(j(i)(`spacesModule.subHeadings.wizard`)),1)]),_:1})),j(f)?P(``,!0):(_(),h(j(ge),{key:1,align:j(Me).LEFT,teleport:``,small:``,onClick:kt},{icon:R(()=>[p(j(c),{size:24},{default:R(()=>[p(j(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),p(j(He),{items:ct.value},null,8,[`items`]),p(j(ke),{heading:j(i)(`spacesModule.wizard.title`),"sub-heading":j(i)(`spacesModule.subHeadings.wizard`),icon:`mdi:wizard-hat`},M({_:2},[j(f)?{name:`extra`,fn:R(()=>[r(`div`,Mr,[j(T)===2&&j(B).length>0?(_(),h(j(N),{key:0,type:j(oe)?`primary`:`default`,class:`px-4!`,onClick:a[0]||=e=>oe.value=!j(oe)},{default:R(()=>[d(I(j(oe)?j(i)(`spacesModule.wizard.basic`):j(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):P(``,!0),p(j(N),{link:``,class:`px-4!`,onClick:kt},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),j(T)>0?(_(),h(j(N),{key:1,class:`px-4!`,onClick:j(be)},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):P(``,!0),j(T)<3?(_(),h(j(N),{key:2,type:`primary`,class:`px-4!`,onClick:Ot},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(_(),h(j(N),{key:3,type:`primary`,loading:j(w),class:`px-4!`,onClick:At},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]),key:`0`}:void 0]),1032,[`heading`,`sub-heading`]),r(`div`,Nr,[p(j(Ne),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{header:R(()=>[p(j(Ge),{active:j(T),"finish-status":`success`,"align-center":``},{default:R(()=>[p(j(Ke),{title:j(i)(`spacesModule.wizard.steps.spaces.title`)},null,8,[`title`]),p(j(Ke),{title:j(i)(`spacesModule.wizard.steps.displays.title`)},null,8,[`title`]),p(j(Ke),{title:j(i)(`spacesModule.wizard.steps.devices.title`)},null,8,[`title`]),p(j(Ke),{title:j(i)(`spacesModule.wizard.steps.summary.title`)},null,8,[`title`])]),_:1},8,[`active`])]),default:R(()=>[O((_(),e(`div`,Pr,[j(T)===0?(_(),e(z,{key:0},[p(j(je),{type:`info`,title:j(i)(`spacesModule.wizard.steps.spaces.alertTitle`),description:j(i)(`spacesModule.wizard.steps.spaces.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),p(j(Ce),{class:`flex-1 overflow-hidden h-full`},{default:R(()=>[j(D).length>0?(_(),e(z,{key:0},[r(`h4`,Fr,I(j(i)(`spacesModule.wizard.steps.spaces.proposed`)),1),(_(!0),e(z,null,k(j(D),(n,a)=>(_(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[p(j(ze),{"model-value":n.selected,onChange:()=>j(xe)(a)},null,8,[`model-value`,`onChange`]),r(`div`,Ir,[n.editing?(_(),h(j(Be),{key:1,ref_for:!0,ref:e=>nt(a,e),modelValue:n.editName,"onUpdate:modelValue":e=>n.editName=e,size:`small`,class:`max-w-[250px]!`,onKeyup:[re(e=>vt(a),[`enter`]),re(e=>bt(a),[`esc`])],onBlur:e=>vt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(_(),e(z,{key:0},[d(I(n.name)+` `,1),p(j(N),{link:``,size:`small`,onClick:e=>it(a)},{default:R(()=>[p(j(c),{size:14},{default:R(()=>[p(j(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(n.deviceCount)+` `+I(j(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),p(j(J),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>Tt(n)},{default:R(()=>[p(j(Z),{label:j(i)(`spacesModule.fields.spaces.type.options.room`),value:j(K).ROOM},null,8,[`label`,`value`]),p(j(Z),{label:j(i)(`spacesModule.fields.spaces.type.options.zone`),value:j(K).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),p(j(J),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:j(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===j(K).ROOM,required:n.type===j(K).ZONE,class:`w-[180px]!`,onChange:()=>Et(n)},{default:R(()=>[n.type===j(K).ZONE?(_(!0),e(z,{key:0},k(j(Ct)(n.type),a=>(_(),h(j(Ee),{key:a.key,label:j(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:R(()=>[(_(!0),e(z,null,k(a.categories,e=>(_(),h(j(Z),{key:e,label:j(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:R(()=>[r(`span`,Lr,[j(wt)(n.type)[e]?(_(),h(j(c),{key:0},{default:R(()=>[p(j(t),{icon:j(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):P(``,!0),d(` `+I(j(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(_(!0),e(z,{key:1},k(j(St)(n.type),e=>(_(),h(j(Z),{key:e,label:j(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:R(()=>[r(`span`,Rr,[j(wt)(n.type)[e]?(_(),h(j(c),{key:0},{default:R(()=>[p(j(t),{icon:j(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):P(``,!0),d(` `+I(j(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),p(j(N),{size:`small`,type:`warning`,plain:``,onClick:e=>j(De)(a)},{icon:R(()=>[p(j(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):j(ee).length===0?(_(),h(j(je),{key:1,type:`info`,title:j(i)(`spacesModule.wizard.steps.spaces.noProposals`),closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`])):P(``,!0),pt.value.length>0?(_(),e(z,{key:2},[r(`h4`,zr,I(j(i)(`spacesModule.wizard.steps.spaces.matchedExisting`)),1),(_(!0),e(z,null,k(pt.value,t=>(_(),e(`div`,{key:t.existingSpace.id,class:`flex items-center gap-3 flex-wrap p-2`},[p(j(ze),{"model-value":!0,disabled:``}),r(`span`,Br,[t.matchCount===1?(_(),e(z,{key:0},[d(I(t.proposedNames[0])+` `,1),r(`span`,Vr,` → `+I(j(i)(`spacesModule.wizard.steps.spaces.matchedWith`,{name:t.existingSpace.name})),1)],64)):(_(),e(`span`,Hr,I(j(i)(`spacesModule.wizard.steps.spaces.multipleMatchedWith`,{count:t.matchCount,name:t.existingSpace.name})),1))]),p(j(Y),{size:`small`,type:`info`},{default:R(()=>[d(I(t.totalDeviceCount)+` `+I(j(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),p(j(Y),{size:`small`,type:`success`},{default:R(()=>[d(I(j(i)(`spacesModule.wizard.steps.spaces.existingTag`)),1)]),_:1})]))),128))],64)):P(``,!0),ft.value.length>0?(_(),e(z,{key:3},[r(`h4`,Ur,I(j(i)(`spacesModule.wizard.steps.spaces.existing`)),1),r(`div`,Wr,[(_(!0),e(z,null,k(ft.value,e=>(_(),h(j(Y),{key:e.id,size:`large`},{default:R(()=>[d(I(e.name),1)]),_:2},1024))),128))])],64)):P(``,!0),j(A).length>0?(_(),e(z,{key:4},[r(`h4`,Gr,I(j(i)(`spacesModule.wizard.steps.spaces.custom`)),1),(_(!0),e(z,null,k(j(A),(n,a)=>(_(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[p(j(ze),{"model-value":n.selected,onChange:()=>j(q)(a)},null,8,[`model-value`,`onChange`]),r(`div`,Kr,[n.editing?(_(),h(j(Be),{key:1,ref_for:!0,ref:e=>rt(a,e),modelValue:n.editName,"onUpdate:modelValue":e=>n.editName=e,size:`small`,class:`max-w-[250px]`,onKeyup:[re(e=>yt(a),[`enter`]),re(e=>xt(a),[`esc`])],onBlur:e=>yt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(_(),e(z,{key:0},[d(I(n.name)+` `,1),p(j(N),{link:``,size:`small`,onClick:e=>at(a)},{default:R(()=>[p(j(c),{size:14},{default:R(()=>[p(j(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),p(j(J),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>Tt(n)},{default:R(()=>[p(j(Z),{label:j(i)(`spacesModule.fields.spaces.type.options.room`),value:j(K).ROOM},null,8,[`label`,`value`]),p(j(Z),{label:j(i)(`spacesModule.fields.spaces.type.options.zone`),value:j(K).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),p(j(J),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:j(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===j(K).ROOM,required:n.type===j(K).ZONE,class:`w-[180px]!`,onChange:()=>Et(n)},{default:R(()=>[n.type===j(K).ZONE?(_(!0),e(z,{key:0},k(j(Ct)(n.type),a=>(_(),h(j(Ee),{key:a.key,label:j(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:R(()=>[(_(!0),e(z,null,k(a.categories,e=>(_(),h(j(Z),{key:e,label:j(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:R(()=>[r(`span`,qr,[j(wt)(n.type)[e]?(_(),h(j(c),{key:0},{default:R(()=>[p(j(t),{icon:j(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):P(``,!0),d(` `+I(j(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(_(!0),e(z,{key:1},k(j(St)(n.type),e=>(_(),h(j(Z),{key:e,label:j(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:R(()=>[r(`span`,Jr,[j(wt)(n.type)[e]?(_(),h(j(c),{key:0},{default:R(()=>[p(j(t),{icon:j(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):P(``,!0),d(` `+I(j(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),p(j(N),{size:`small`,type:`warning`,plain:``,onClick:e=>j(Oe)(a)},{icon:R(()=>[p(j(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):P(``,!0),r(`h4`,Yr,I(j(i)(`spacesModule.wizard.steps.spaces.addManual`)),1),r(`div`,Xr,[p(j(Be),{modelValue:Je.value,"onUpdate:modelValue":a[1]||=e=>Je.value=e,placeholder:j(i)(`spacesModule.wizard.steps.spaces.placeholder`)},null,8,[`modelValue`,`placeholder`]),p(j(N),{type:`primary`,disabled:!Je.value.trim(),onClick:_t},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.add.title`)),1)]),_:1},8,[`disabled`])])]),_:1})],64)):P(``,!0),j(T)===1?(_(),e(z,{key:1},[p(j(je),{type:`info`,title:j(i)(`spacesModule.wizard.steps.displays.alertTitle`),description:j(i)(`spacesModule.wizard.steps.displays.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),p(j(W),{data:ot.value,class:`w-full flex-grow`,"table-layout":`fixed`},{empty:R(()=>[r(`div`,Zr,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:monitor`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(i)(`spacesModule.wizard.steps.displays.noDisplays`)),1)]),_:1})])]),default:R(()=>[p(j(G),{prop:`name`,label:j(i)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:R(({row:t})=>[r(`div`,null,[t.name?(_(),e(z,{key:0},[r(`div`,Qr,I(t.name),1),r(`div`,$r,I(t.macAddress),1)],64)):(_(),e(`div`,ei,I(t.macAddress),1))])]),_:1},8,[`label`]),p(j(G),{label:j(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:R(({row:n})=>[p(j(J),{"model-value":j(ne)[n.id],placeholder:j(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>j(me)(n.id,e)},{default:R(()=>[(_(!0),e(z,null,k(ut.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,ti,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])],64)):P(``,!0),j(T)===2?(_(),e(z,{key:2},[p(j(je),{type:`info`,title:j(i)(`spacesModule.wizard.steps.devices.alertTitle`),description:j(i)(`spacesModule.wizard.steps.devices.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),p(j(W),{data:st.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{empty:R(()=>[r(`div`,ni,[p(j(m),{class:`h-full w-full`},{icon:R(()=>[p(j(L),{size:80},{primary:R(()=>[p(j(t),{icon:`mdi:devices`})]),secondary:R(()=>[p(j(t),{icon:`mdi:information`})]),_:1})]),title:R(()=>[d(I(j(i)(`spacesModule.wizard.steps.devices.noDevices`)),1)]),_:1})])]),default:R(()=>[p(j(G),{prop:`name`,label:j(i)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:R(({row:t})=>[r(`div`,null,[r(`div`,null,I(t.name),1),t.description?(_(),e(`div`,ri,I(t.description),1)):P(``,!0)])]),_:1},8,[`label`]),p(j(G),{label:j(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:R(({row:n})=>[p(j(J),{"model-value":j(te)[n.id],placeholder:j(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>j(U)(n.id,e)},{default:R(()=>[(_(!0),e(z,null,k(ut.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,ii,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),j(oe)&&j(B).length>0?(_(),h(j(G),{key:0,label:j(i)(`spacesModule.wizard.zones`),width:`250`},{default:R(({row:t})=>[p(j(J),{"model-value":j(ae)[t.id]||[],multiple:``,clearable:``,"collapse-tags":``,placeholder:j(i)(`spacesModule.wizard.selectZones`),class:`w-full`,"onUpdate:modelValue":e=>j(_e)(t.id,e)},{default:R(()=>[(_(!0),e(z,null,k(j(B),e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])):P(``,!0)]),_:1},8,[`data`])],64)):P(``,!0),j(T)===3?(_(),e(z,{key:3},[p(j(je),{type:`info`,title:j(i)(`spacesModule.wizard.steps.summary.alertTitle`),description:j(i)(`spacesModule.wizard.steps.summary.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),r(`div`,ai,[r(`div`,null,[r(`div`,oi,I(j(qe).spaceCount),1),r(`div`,si,I(j(i)(`spacesModule.wizard.summary.totalSpaces`)),1)]),r(`div`,null,[r(`div`,ci,I(j(qe).assignedDevices),1),r(`div`,li,I(j(i)(`spacesModule.wizard.summary.assignedDevices`)),1)]),p(j(Ve),{content:j(i)(`spacesModule.wizard.summary.clickToAssignDevices`),placement:`top`,disabled:j(qe).unassignedDevices===0},{default:R(()=>[r(`div`,{class:x({"cursor-pointer":j(qe).unassignedDevices>0}),onClick:a[2]||=e=>j(qe).unassignedDevices>0&&(Ze.value=!0)},[r(`div`,ui,I(j(qe).unassignedDevices),1),r(`div`,di,I(j(i)(`spacesModule.wizard.summary.unassignedDevices`)),1)],2)]),_:1},8,[`content`,`disabled`]),r(`div`,null,[r(`div`,fi,I(j(qe).assignedDisplays),1),r(`div`,pi,I(j(i)(`spacesModule.wizard.summary.assignedDisplays`)),1)]),p(j(Ve),{content:j(i)(`spacesModule.wizard.summary.clickToAssignDisplays`),placement:`top`,disabled:j(qe).unassignedDisplays===0},{default:R(()=>[r(`div`,{class:x({"cursor-pointer":j(qe).unassignedDisplays>0}),onClick:a[3]||=e=>j(qe).unassignedDisplays>0&&(Qe.value=!0)},[r(`div`,mi,I(j(qe).unassignedDisplays),1),r(`div`,hi,I(j(i)(`spacesModule.wizard.summary.unassignedDisplays`)),1)],2)]),_:1},8,[`content`,`disabled`])]),j(lt).length>0?(_(),e(z,{key:0},[r(`h4`,gi,I(j(i)(`spacesModule.wizard.summary.bySpace`)),1),p(j(W),{data:mt.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{default:R(()=>[p(j(G),{prop:`name`,label:j(i)(`spacesModule.wizard.spaceName`)},{default:R(({row:e})=>[r(`div`,_i,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1),p(j(Y),{size:`small`,type:e.type===j(K).ROOM?`primary`:`info`,class:`ml-2`},{default:R(()=>[d(I(e.type===j(K).ROOM?j(i)(`spacesModule.misc.types.room`):j(i)(`spacesModule.misc.types.zone`)),1)]),_:2},1032,[`type`]),e.devices===0&&e.type===j(K).ROOM?(_(),h(j(Y),{key:0,size:`small`,type:`warning`,class:`ml-1`},{default:R(()=>[d(I(j(i)(`spacesModule.wizard.summary.noDevices`)),1)]),_:1})):P(``,!0)])]),_:1},8,[`label`]),p(j(G),{prop:`devices`,label:j(i)(`spacesModule.wizard.devices`),width:`120`,align:`center`},null,8,[`label`]),p(j(G),{prop:`displays`,label:j(i)(`spacesModule.wizard.displays`),width:`120`,align:`center`},null,8,[`label`])]),_:1},8,[`data`])],64)):P(``,!0)],64)):P(``,!0),p(j(Ie),{modelValue:Ze.value,"onUpdate:modelValue":a[4]||=e=>Ze.value=e,title:j(i)(`spacesModule.wizard.summary.unassignedDevicesTitle`)},{default:R(()=>[p(j(W),{data:ht.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:R(()=>[p(j(G),{prop:`name`,label:j(i)(`spacesModule.wizard.deviceName`)},null,8,[`label`]),p(j(G),{label:j(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:R(({row:n})=>[p(j(J),{"model-value":j(te)[n.id],placeholder:j(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>j(U)(n.id,e)},{default:R(()=>[(_(!0),e(z,null,k(ut.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,vi,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]),p(j(Ie),{modelValue:Qe.value,"onUpdate:modelValue":a[5]||=e=>Qe.value=e,title:j(i)(`spacesModule.wizard.summary.unassignedDisplaysTitle`)},{default:R(()=>[p(j(W),{data:gt.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:R(()=>[p(j(G),{label:j(i)(`spacesModule.wizard.displayName`)},{default:R(({row:t})=>[t.name?(_(),e(z,{key:0},[r(`div`,yi,I(t.name),1),r(`div`,bi,I(t.macAddress),1)],64)):(_(),e(`div`,xi,I(t.macAddress),1))]),_:1},8,[`label`]),p(j(G),{label:j(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:R(({row:n})=>[p(j(J),{"model-value":j(ne)[n.id],placeholder:j(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>j(me)(n.id,e)},{default:R(()=>[(_(!0),e(z,null,k(ut.value,e=>(_(),h(j(Z),{key:e.id,label:e.name,value:e.id},{default:R(()=>[r(`div`,Si,[p(j(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,I(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`])])),[[j(he),j(w)]]),j(f)?P(``,!0):(_(),e(`div`,Ci,[j(T)>0?(_(),h(j(N),{key:0,onClick:j(be)},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):(_(),e(`div`,wi)),r(`div`,Ti,[p(j(N),{onClick:kt},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),j(T)===2&&j(B).length>0?(_(),h(j(N),{key:0,type:j(oe)?`primary`:`default`,onClick:a[6]||=e=>oe.value=!j(oe)},{default:R(()=>[d(I(j(oe)?j(i)(`spacesModule.wizard.basic`):j(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):P(``,!0),j(T)<3?(_(),h(j(N),{key:1,type:`primary`,onClick:Ot},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(_(),h(j(N),{key:2,type:`primary`,loading:j(w),onClick:At},{default:R(()=>[d(I(j(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]))]),_:1})])],64))}}),Di=`spaces-home-control-plugin`,Oi=`com.fastybird.smart-panel.plugin.spaces-home-control`,ki=[K.ROOM,K.ZONE],Ai={SPACE:`spaces_home_control_plugin-space`,SPACE_EDIT:`spaces_home_control_plugin-space_edit`};export{Ei as a,_r as c,Gn as d,Ln as f,ki as i,ur as l,Di as n,jr as o,kn as p,Oi as r,wr as s,Ai as t,rr as u};
|