@fastybird/smart-panel-admin 1.1.0-alpha.1 → 1.1.0-alpha.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.
Files changed (72) hide show
  1. package/dist/assets/{card-add-form-y0JKMGkg.js → card-add-form-hQfcolyj.js} +1 -1
  2. package/dist/assets/{card-edit-form-C5lxEul-.js → card-edit-form-BPs9Aljn.js} +1 -1
  3. package/dist/assets/{components-BHQu75iz.js → components-B4a-3cag.js} +1 -1
  4. package/dist/assets/{components-D-Zy5b_J.js → components-BqvPyJ09.js} +2 -2
  5. package/dist/assets/{components-IJY1gRZ-.js → components-CDS0rEqD.js} +1 -1
  6. package/dist/assets/components-CGY9a3zE.js +1 -0
  7. package/dist/assets/{components-D4AuJ7WM.js → components-CtSAjzWY.js} +1 -1
  8. package/dist/assets/components-DKCuWF26.js +6 -0
  9. package/dist/assets/{components-w1Sp0NSp.js → components-Dula1I7c.js} +1 -1
  10. package/dist/assets/{composables-BWLSK4fg.js → composables-BiL7NDB2.js} +1 -1
  11. package/dist/assets/{dashboard-CIZXZYsZ.js → dashboard-CQWK08VY.js} +2 -2
  12. package/dist/assets/{devices-eIGsCNDg.js → devices-DPaIRKfd.js} +2 -2
  13. package/dist/assets/{index-mFC4sSVS.js → index-DsUh3vY9.js} +4 -4
  14. package/dist/assets/index-E5bAVcL9.css +1 -0
  15. package/dist/assets/{page-configure-C00e7Aho.js → page-configure-Bt3Zbbmn.js} +1 -1
  16. package/dist/assets/{page-configure-DOEhCZdm.js → page-configure-CVQE_kOC.js} +1 -1
  17. package/dist/assets/{spaces-BStWGhe9.js → spaces-DUnXUSuq.js} +2 -2
  18. package/dist/assets/{spaces-home-control.constants-CW7LkkKR.js → spaces-home-control.constants-DR2Pcn9V.js} +1 -1
  19. package/dist/assets/{system-Cv_hpTOe.js → system-DcykQsKX.js} +2 -2
  20. package/dist/assets/{view-card-add-DD5YryZP.js → view-card-add-BcIFVzzf.js} +1 -1
  21. package/dist/assets/{view-card-edit-Dffb6C_5.js → view-card-edit-BbS-QIUa.js} +1 -1
  22. package/dist/assets/{view-channel-q98Exy7t.js → view-channel-KMBt7x1r.js} +1 -1
  23. package/dist/assets/{view-channel-add-DrABNejP.js → view-channel-add-CkU6QiFM.js} +1 -1
  24. package/dist/assets/{view-channel-edit-DgJprYvz.js → view-channel-edit-DMGNRzXp.js} +1 -1
  25. package/dist/assets/{view-channel-property-add-DzdI9AUZ.js → view-channel-property-add-D6wgVVAD.js} +1 -1
  26. package/dist/assets/{view-channel-property-edit-BdmTT670.js → view-channel-property-edit-BX81I2m7.js} +1 -1
  27. package/dist/assets/{view-channels-CqHCFAo-.js → view-channels-BAfnLqdq.js} +1 -1
  28. package/dist/assets/{view-data-source-add-D4vJyE9o.js → view-data-source-add-Bzb-61aK.js} +1 -1
  29. package/dist/assets/{view-data-source-add-HhueBh4s.js → view-data-source-add-_7ip7mrf.js} +1 -1
  30. package/dist/assets/{view-data-source-edit-D4vape9E.js → view-data-source-edit-CoUrprKG.js} +1 -1
  31. package/dist/assets/{view-data-source-edit-T9LTr9Ls.js → view-data-source-edit-DrlMJPDn.js} +1 -1
  32. package/dist/assets/view-device-DaO5gtKC.js +1 -0
  33. package/dist/assets/view-device-TJjGoba6.css +1 -0
  34. package/dist/assets/{view-device-add-EQksbpRv.js → view-device-add-CBukVLds.js} +1 -1
  35. package/dist/assets/{view-device-control-R7en7F29.js → view-device-control-DaFqVxUq.js} +1 -1
  36. package/dist/assets/{view-device-edit-BhvFQYS7.js → view-device-edit-C3s_k0Qb.js} +1 -1
  37. package/dist/assets/{view-devices-BZvnh_6I.css → view-devices-BV3p7TrL.css} +1 -1
  38. package/dist/assets/view-devices-By3K8mW3.js +1 -0
  39. package/dist/assets/{view-devices-wizard-fmlWqzsS.js → view-devices-wizard-x1o4hu_X.js} +1 -1
  40. package/dist/assets/{view-display-edit-BTw3bsC4.js → view-display-edit-KWE_nXux.js} +1 -1
  41. package/dist/assets/{view-displays-DF3FwHTl.js → view-displays-CHfrmtje.js} +1 -1
  42. package/dist/assets/{view-extension-detail-QL4_ZhS_.js → view-extension-detail-ol0GG8Op.js} +1 -1
  43. package/dist/assets/{view-extensions-BhgJ2M09.js → view-extensions-DVIU3WDc.js} +1 -1
  44. package/dist/assets/{view-page-add-j9s2LGzK.js → view-page-add-CKANfB0w.js} +1 -1
  45. package/dist/assets/{view-page-configure-ejLDXru-.js → view-page-configure-C-eA0dC4.js} +1 -1
  46. package/dist/assets/{view-page-configure-BderLwGA.js → view-page-configure-C5n0g4eO.js} +1 -1
  47. package/dist/assets/{view-page-edit-D0oRtckq.js → view-page-edit-CWXaQZak.js} +1 -1
  48. package/dist/assets/{view-pages-BR2NP6KY.js → view-pages-BBiRpjJE.js} +1 -1
  49. package/dist/assets/{view-scenes-085iK0py.js → view-scenes-DWbfoSPZ.js} +1 -1
  50. package/dist/assets/{view-simulator-device-wizard-D6hl-fV8.js → view-simulator-device-wizard-1NlmPIqF.js} +1 -1
  51. package/dist/assets/{view-space-configure-D9U0Iqm8.js → view-space-configure-DpiLxtMc.js} +1 -1
  52. package/dist/assets/{view-spaces-CHnRlHr9.js → view-spaces-BlGL7Tsw.js} +1 -1
  53. package/dist/assets/{view-stats-DFIFKdoJ.js → view-stats-DAvsMByk.js} +1 -1
  54. package/dist/assets/{view-system-backups-BnGnx4Cv.js → view-system-backups-BUw9L8nZ.js} +1 -1
  55. package/dist/assets/{view-system-info-DChy6JDC.js → view-system-info-Dzmb0cpQ.js} +1 -1
  56. package/dist/assets/{view-system-log-detail-CcJNgQDH.js → view-system-log-detail-BfYGDRhq.js} +1 -1
  57. package/dist/assets/{view-system-logs-BBW0txIV.js → view-system-logs-DyxQDzUR.js} +1 -1
  58. package/dist/assets/{view-tile-add-M2rs-Gls.js → view-tile-add-BXX2-rGD.js} +1 -1
  59. package/dist/assets/{view-tile-add-TeQiMyjD.js → view-tile-add-Cn7SJEqT.js} +1 -1
  60. package/dist/assets/{view-tile-edit-CRrO0_NH.js → view-tile-edit-D80VgTdu.js} +1 -1
  61. package/dist/assets/{view-tile-edit-CqHN9fJY.js → view-tile-edit-XzR_OQfI.js} +1 -1
  62. package/dist/assets/view-virtual-device-wizard-JqYK7YnI.js +1 -0
  63. package/dist/assets/{weather-CM1Kb9sH.js → weather-dPU3SxIP.js} +1 -1
  64. package/dist/index.html +19 -19
  65. package/package.json +1 -1
  66. package/dist/assets/components-B3o0jJFh.js +0 -6
  67. package/dist/assets/components-B6Z0UuLq.js +0 -1
  68. package/dist/assets/index-ypk03oDF.css +0 -1
  69. package/dist/assets/view-device-CoxxlPu_.css +0 -1
  70. package/dist/assets/view-device-Qz8-vs_4.js +0 -1
  71. package/dist/assets/view-devices-YjxrKDyE.js +0 -1
  72. package/dist/assets/view-virtual-device-wizard-_rXxNd6h.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,Gr as o,H as s,Hr as c,Ki as l,Mr as u,Nr as d,O as f,Or as p,Pr as m,Qr as h,Si as g,T as _,Ti as v,Wi as y,Yr as b,b as x,bi as S,ci as C,di as w,ei as T,ji as E,jr as D,k as O,kr as k,n as A,qi as j,t as M,ui as N,vr as P,x as F,xr as I,yr as L,zr as R}from"./icon-with-child-CgZMNB3F.js";import{t as ee}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{$r as te,Bn as ne,Cr as re,Dr as ie,E as ae,Gn as oe,Jn as z,Jr as se,Kn as B,Kr as ce,On as le,Or as V,Pn as H,Pr as ue,Sr as de,Un as U,Ur as W,Xr as fe,aa as pe,b as me,f as he,hr as G,m as ge,mr as _e,p as ve,qr as ye,xr as be}from"./common-CEAYa_VX.js";import{n as K,t as q}from"./table-CP4k6PuT.js";import{n as xe,t as Se}from"./form-CYGBQyZI.js";import{t as Ce}from"./skeleton-DkyCzTs7.js";import{t as we}from"./alert-B_504iE8.js";import{n as Te,r as J,t as Y}from"./select-BE-J6w_y.js";import{t as Ee}from"./card-C50YgvLJ.js";import{t as De}from"./checkbox-DKrpi0d7.js";import{n as Oe,t as ke}from"./collapse-CcS8OeLM.js";import{t as Ae}from"./dialog-BKnLpTNm.js";import{t as je}from"./slider-B7Mhws2_.js";import{n as Me,t as Ne}from"./steps-ChWGGNoh.js";import"./components-B6Z0UuLq.js";import{t as Pe}from"./directive-D42ORGRu.js";import{t as Fe}from"./useUuid-B2AwaEQg.js";import{i as Ie}from"./composables-ZUeIfONp.js";import{c as Le,f as X,g as Z,l as Re,m as ze,p as Be,r as Ve,t as He,w as Ue}from"./keys-BYonWGX0.js";import{a as We,i as Ge,r as Ke,t as qe,u as Q}from"./useSpaces-dSwttzjs.js";import{c as Je,f as Ye,o as Xe,s as Ze}from"./composables-CdLuPMLl.js";import{D as Qe}from"./composables-BWLSK4fg.js";import{f as $e,n as et,r as tt,x as nt}from"./composables-D5CRUz8s.js";import"./spaces-BStWGhe9.js";var rt=()=>{let e=R(He);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}},it={key:1,class:`flex justify-center py-4`},at={class:`flex items-center gap-2`},ot={class:`flex flex-col`},st={key:0,class:`text-xs text-gray-400`},ct={class:`flex gap-1`},lt={class:`flex justify-between items-center mt-4`},ut={class:`text-xs text-gray-400`},dt=m({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=ve(),c=he(),{lightingSignal:l}=rt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:B.main,label:o(`spacesHomeControlPlugin.lightingRoles.main`)},{value:B.task,label:o(`spacesHomeControlPlugin.lightingRoles.task`)},{value:B.ambient,label:o(`spacesHomeControlPlugin.lightingRoles.ambient`)},{value:B.accent,label:o(`spacesHomeControlPlugin.lightingRoles.accent`)},{value:B.night,label:o(`spacesHomeControlPlugin.lightingRoles.night`)},{value:B.other,label:o(`spacesHomeControlPlugin.lightingRoles.other`)},{value:B.hidden,label:o(`spacesHomeControlPlugin.lightingRoles.hidden`)}]),w=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasBrightness:e.has_brightness??!1,hasColorTemp:e.has_color_temp??!1,hasColor:e.has_color??!1}))}finally{m.value=!1}},D=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${X}/spaces/{id}/lighting/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update lighting role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${X}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear lighting role`);return}e.role=null}}catch{c.error(`Failed to update lighting role`)}},P=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${X}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await w(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&w()}),C(()=>l?.value,()=>{i.space?.id&&w()}),b(()=>{i.space?.id&&w()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(ue),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,it,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(q),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(K),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,at,[d(E(t),{icon:`mdi:lightbulb`}),r(`div`,ot,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,st,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.title`),width:`160`},{default:N(({row:t})=>[d(E(J),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>D(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`100`},{default:N(({row:e})=>[r(`div`,ct,[e.hasBrightness?(h(),p(E(W),{key:0,type:`info`,size:`small`},{default:N(()=>[...a[0]||=[u(`Dim`,-1)]]),_:1})):k(``,!0),e.hasColor?(h(),p(E(W),{key:1,type:`success`,size:`small`},{default:N(()=>[...a[1]||=[u(`RGB`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,lt,[d(E(O),{size:`small`,loading:v.value,onClick:P},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,ut,j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:lightbulb`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),ft=m({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(Ae),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(dt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),pt={key:1,class:`flex justify-center py-4`},mt={class:`flex items-center gap-2`},ht={class:`flex flex-col`},gt={key:0,class:`text-xs text-gray-400`},_t={class:`flex gap-1`},vt={class:`flex justify-between items-center mt-4`},yt={class:`text-xs text-gray-400 ml-4`},bt=m({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=ve(),c=he(),{climateSignal:l}=rt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:z.heating_only,label:o(`spacesHomeControlPlugin.climateRoles.${z.heating_only}`)},{value:z.cooling_only,label:o(`spacesHomeControlPlugin.climateRoles.${z.cooling_only}`)},{value:z.auto,label:o(`spacesHomeControlPlugin.climateRoles.${z.auto}`)},{value:z.auxiliary,label:o(`spacesHomeControlPlugin.climateRoles.${z.auxiliary}`)},{value:z.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${z.hidden}`)}]),w=a(()=>[{value:z.sensor,label:o(`spacesHomeControlPlugin.climateRoles.${z.sensor}`)},{value:z.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${z.hidden}`)}]),D=e=>e.deviceCategory===`sensor`?w.value:S.value,P=e=>{switch(e){case`thermostat`:return`mdi:thermostat`;case`heating_unit`:return`mdi:radiator`;case`water_heater`:return`mdi:water-boiler`;case`air_conditioner`:return`mdi:air-conditioner`;case`fan`:return`mdi:fan`;case`air_humidifier`:return`mdi:air-humidifier`;case`air_dehumidifier`:return`mdi:air-humidifier-off`;case`air_purifier`:return`mdi:air-purifier`;case`sensor`:return`mdi:thermometer`;default:return`mdi:thermostat-box`}},F=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``,channelId:e.channel_id??null,channelName:e.channel_name??null,role:e.role?e.role:null,priority:e.priority??0,hasTemperature:e.has_temperature??!1,hasHumidity:e.has_humidity??!1}))}finally{m.value=!1}},L=async(e,t)=>{try{if(t){let n={device_id:e.deviceId,role:t};e.channelId&&(n.channel_id=e.channelId);let{error:r}=await s.client.POST(`/${A}/${X}/spaces/{id}/climate/roles`,{params:{path:{id:i.space.id}},body:{data:n}});if(r){c.error(`Failed to update climate role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${X}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(t){c.error(`Failed to clear climate role`);return}e.role=null}}catch{c.error(`Failed to update climate role`)}},R=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${X}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await F(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&F()}),C(()=>l?.value,()=>{i.space?.id&&F()}),b(()=>{i.space?.id&&F()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(ue),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,pt,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(q),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(K),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,mt,[d(E(t),{icon:P(n.deviceCategory)},null,8,[`icon`]),r(`div`,ht,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,gt,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.title`),width:`200`},{default:N(({row:t})=>[d(E(J),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>L(t,e)},{default:N(()=>[(h(!0),e(I,null,T(D(t),e=>(h(),p(E(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`120`},{default:N(({row:e})=>[r(`div`,_t,[e.hasTemperature?(h(),p(E(W),{key:0,type:`warning`,size:`small`},{default:N(()=>[...a[0]||=[u(`Temp`,-1)]]),_:1})):k(``,!0),e.hasHumidity?(h(),p(E(W),{key:1,type:`info`,size:`small`},{default:N(()=>[...a[1]||=[u(`Humid`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,vt,[d(E(O),{size:`small`,loading:v.value,onClick:R},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,yt,j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:thermostat`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),xt=m({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(Ae),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(bt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),St={key:1,class:`flex justify-center py-4`},Ct={class:`flex items-center gap-2`},wt={class:`flex flex-col`},Tt={key:0,class:`text-xs text-gray-400`},Et={class:`flex gap-1`},Dt={class:`flex justify-between items-center mt-4`},Ot={class:`text-xs text-gray-400`},kt=m({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=ve(),c=he(),{coversSignal:l}=rt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:U.primary,label:o(`spacesHomeControlPlugin.coversRoles.primary`)},{value:U.blackout,label:o(`spacesHomeControlPlugin.coversRoles.blackout`)},{value:U.sheer,label:o(`spacesHomeControlPlugin.coversRoles.sheer`)},{value:U.outdoor,label:o(`spacesHomeControlPlugin.coversRoles.outdoor`)},{value:U.hidden,label:o(`spacesHomeControlPlugin.coversRoles.hidden`)}]),w=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasPosition:e.has_position??!1,hasCommand:e.has_command??!1,hasTilt:e.has_tilt??!1,coverType:e.cover_type??null}))}finally{m.value=!1}},D=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${X}/spaces/{id}/covers/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update covers role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${X}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear covers role`);return}e.role=null}}catch{c.error(`Failed to update covers role`)}},P=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${X}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await w(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&w()}),C(()=>l?.value,()=>{i.space?.id&&w()}),b(()=>{i.space?.id&&w()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(ue),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,St,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(q),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(K),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,Ct,[d(E(t),{icon:`mdi:blinds`}),r(`div`,wt,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,Tt,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.title`),width:`160`},{default:N(({row:t})=>[d(E(J),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>D(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`100`},{default:N(({row:e})=>[r(`div`,Et,[e.hasPosition?(h(),p(E(W),{key:0,type:`info`,size:`small`},{default:N(()=>[...a[0]||=[u(`Pos`,-1)]]),_:1})):k(``,!0),e.hasTilt?(h(),p(E(W),{key:1,type:`success`,size:`small`},{default:N(()=>[...a[1]||=[u(`Tilt`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,Dt,[d(E(O),{size:`small`,loading:v.value,onClick:P},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Ot,j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:blinds`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),At=m({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(Ae),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(kt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),jt={key:1,class:`flex justify-center py-4`},Mt={class:`flex items-center gap-2`},Nt={class:`flex flex-col`},Pt={class:`text-xs text-gray-400`},Ft={class:`flex justify-between items-center mt-4`},It={class:`text-xs text-gray-400 ml-4`},Lt=m({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=ve(),c=he(),{sensorSignal:l}=rt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>Re.map(e=>({value:e,label:o(`spacesHomeControlPlugin.sensorRoles.${e}`)}))),w=e=>{switch(e){case`temperature`:return o(`spacesHomeControlPlugin.sensorRoles.categories.temperature`);case`humidity`:return o(`spacesHomeControlPlugin.sensorRoles.categories.humidity`);case`pressure`:return o(`spacesHomeControlPlugin.sensorRoles.categories.pressure`);case`illuminance`:return o(`spacesHomeControlPlugin.sensorRoles.categories.illuminance`);case`smoke`:return o(`spacesHomeControlPlugin.sensorRoles.categories.smoke`);case`gas`:return o(`spacesHomeControlPlugin.sensorRoles.categories.gas`);case`carbon_monoxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_dioxide`);case`leak`:return o(`spacesHomeControlPlugin.sensorRoles.categories.leak`);case`motion`:return o(`spacesHomeControlPlugin.sensorRoles.categories.motion`);case`occupancy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.occupancy`);case`contact`:return o(`spacesHomeControlPlugin.sensorRoles.categories.contact`);case`air_quality`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_quality`);case`air_particulate`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return o(`spacesHomeControlPlugin.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return o(`spacesHomeControlPlugin.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_generation`);case`electrical_power`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_power`);case`battery`:return o(`spacesHomeControlPlugin.sensorRoles.categories.battery`);default:return e}},D=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map((e,t)=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category,role:e.role?e.role:null,priority:e.priority??t}))}finally{m.value=!1}},P=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${X}/spaces/{id}/sensors/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update sensor role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${X}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear sensor role`);return}e.role=null}}catch{c.error(`Failed to update sensor role`)}},F=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${X}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await D(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&D()}),C(()=>l?.value,()=>{i.space?.id&&D()}),b(()=>{i.space?.id&&D()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(ue),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,jt,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(q),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(K),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:e})=>[r(`div`,Mt,[d(E(t),{icon:`mdi:motion-sensor`}),r(`div`,Nt,[r(`span`,null,j(e.deviceName),1),r(`span`,Pt,j(e.channelName),1)])])]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:N(({row:e})=>[d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(w(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.title`),width:`200`},{default:N(({row:t})=>[d(E(J),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>P(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(Y),{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`,Ft,[d(E(O),{size:`small`,loading:v.value,onClick:F},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,It,j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:motion-sensor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),Rt=m({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(Ae),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(Lt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),zt={class:`flex items-start gap-3`},Bt={class:`flex-1 min-w-0 space-domain-card__content`},Vt={class:`space-domain-card__title`},Ht={class:`space-domain-card__description`},Ut={class:`space-domain-card__tags`},Wt={class:`flex items-center gap-1`},Gt={key:2,class:`space-domain-card__not-configured`},Kt={class:`space-domain-card__chevron`},qt=i(m({name:`SpaceDomainCard`,__name:`space-domain-card`,props:{icon:{},iconColor:{},title:{},description:{},tags:{},loading:{type:Boolean}},emits:[`click`],setup(n,{emit:i}){let a=n,o=i,{t:s}=_();return(n,i)=>(h(),p(E(Ee),{shadow:`hover`,class:`space-domain-card`,"body-class":`p-4!`,onClick:i[0]||=e=>o(`click`)},{default:N(()=>[r(`div`,zt,[r(`div`,{class:`space-domain-card__icon`,style:l({backgroundColor:`var(--el-color-${a.iconColor}-light-9)`,color:`var(--el-color-${a.iconColor})`})},[d(E(t),{icon:a.icon},null,8,[`icon`])],4),r(`div`,Bt,[r(`h3`,Vt,j(a.title),1),r(`p`,Ht,j(a.description),1),r(`div`,Ut,[a.loading?(h(),p(E(Ce),{key:0,animated:``,rows:0,class:`w-20`})):a.tags.length>0?(h(!0),e(I,{key:1},T(a.tags,e=>(h(),p(E(W),{key:e.label,type:e.type,size:`small`},{default:N(()=>[r(`div`,Wt,[d(E(t),{icon:e.icon},null,8,[`icon`]),u(` `+j(e.label)+` `,1),d(E(ce),{value:e.count,type:e.type,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`]))),128)):(h(),e(`span`,Gt,j(E(s)(`spacesHomeControlPlugin.detail.domains.notConfigured`)),1))])]),r(`div`,Kt,[d(E(t),{icon:`mdi:chevron-right`})])])]),_:1}))}}),[[`__scopeId`,`data-v-69dd2703`]]),Jt=e=>({propertyId:e.property_id??e.propertyId,dataType:e.data_type??e.dataType,format:e.format??null}),Yt=e=>{let t=e.capabilities??{},n=e.links??{},r={};return(n.input_select||n.inputSelect)&&(r.inputSelect=Jt(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}},Xt=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}),Zt=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}),Qt=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}),$t=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(Zt):void 0,warnings:Array.isArray(e.warnings)?e.warnings.map(Zt):void 0,errors:Array.isArray(e.errors)?e.errors.map(Zt):void 0,warningCount:e.warning_count??e.warningCount??0,errorCount:e.error_count??e.errorCount??0}),en=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}},tn=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?Qt(t):{},plan:n.map(en),warnings:r.map(e=>({label:e.label??``}))}},nn=e=>{let t=e.resolved,n=e.summary;return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t?Qt(t):void 0,summary:n?$t(n):void 0,warnings:e.warnings}},rn=e=>{let t,n;if(e.resolved)try{t=Qt(typeof e.resolved==`string`?JSON.parse(e.resolved):e.resolved)}catch{}if(e.last_result)try{n=$t(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}},an=e=>{switch(e){case`watch`:return`primary`;case`listen`:return`success`;case`gaming`:return`danger`;case`background`:return`info`;default:return`info`}},on=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`}},sn=e=>{let t=ve(),n=g([]),r=g([]),i=g(null),o=g(!1),s=g(!1),c=g(!1),l=g(!1),u=g(!1),d=g(!1),f=g(!1),p=g(null),m=g(null),h=g(null),_=g(!1),v=g(null),y=g(null),b=a(()=>n.value),x=a(()=>r.value),S=async()=>{if(!(!e.value||o.value)){o.value=!0,p.value=null;try{let{data:r,error:i}=await t.client.GET(`/${A}/${X}/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(Yt)}catch(e){p.value=e instanceof Error?e.message:`Unknown error`}finally{o.value=!1}}},C=async()=>{if(!(!e.value||s.value)){s.value=!0,m.value=null;try{let{data:n,error:i}=await t.client.GET(`/${A}/${X}/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(Xt)}catch(e){m.value=e instanceof Error?e.message:`Unknown error`}finally{s.value=!1}}},w=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.PATCH(`/${A}/${X}/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=Xt(a.data),c=r.value.findIndex(e=>e.id===s.id);return c>=0&&(r.value[c]=s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},T=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.POST(`/${A}/${X}/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=Xt(a.data);return r.value.push(s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},E=async n=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{error:i}=await t.client.DELETE(`/${A}/${X}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}}});if(i){let e=i?.message??`Failed to delete binding`;throw Error(e)}r.value=r.value.filter(e=>e.id!==n)}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},D=async()=>{if(e.value){f.value=!0;try{let{data:n,error:i}=await t.client.POST(`/${A}/${X}/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(Xt)}catch(e){throw m.value=e instanceof Error?e.message:`Unknown error`,e}finally{f.value=!1}}},O=async()=>{if(!(!e.value||c.value)){c.value=!0,v.value=null,y.value=null;try{let{data:n,error:r}=await t.client.GET(`/${A}/${X}/spaces/{id}/media/activities/active`,{params:{path:{id:e.value}}});if(r||!n)throw Error(`Failed to fetch active state`);i.value=n.data?rn(n.data):null}catch(e){v.value=e instanceof Error?e.message:`Unknown error`,y.value=`fetch`}finally{c.value=!1}}},k=async(e=3,t=1e3)=>{for(let n=0;n<e&&(await new Promise(e=>setTimeout(e,t)),await O(),!(i.value?.state===`active`||i.value?.state===`failed`||i.value?.state===`deactivated`));n++);};return{endpoints:b,bindings:x,activeState:i,fetchingEndpoints:o,fetchingBindings:s,fetchingActiveState:c,activating:l,deactivating:u,previewing:_,savingBinding:d,applyingDefaults:f,endpointsError:p,bindingsError:m,saveError:h,activationError:v,activationErrorSource:y,fetchEndpoints:S,fetchBindings:C,fetchActiveState:O,activate:async n=>{if(!e.value)throw Error(`Space ID is required`);l.value=!0,v.value=null,y.value=null,i.value={activityKey:n,state:`activating`};try{let{data:r,error:a}=await t.client.POST(`/${A}/${X}/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=nn(r.data);return i.value=o,o.state===`activating`&&await k(),i.value??o}catch(e){throw v.value=e instanceof Error?e.message:`Unknown error`,y.value=`activate`,i.value={activityKey:n,state:`failed`},e}finally{l.value=!1}},preview:async n=>{if(!e.value)throw Error(`Space ID is required`);_.value=!0;try{let{data:r,error:i}=await t.client.POST(`/${A}/${X}/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 tn(r.data)}finally{_.value=!1}},deactivate:async()=>{if(!e.value)throw Error(`Space ID is required`);u.value=!0,v.value=null,y.value=null;try{let{data:n,error:r}=await t.client.POST(`/${A}/${X}/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=nn(n.data);return i.value=a,a}catch(e){throw v.value=e instanceof Error?e.message:`Unknown error`,y.value=`deactivate`,e}finally{u.value=!1}},saveBinding:w,createBinding:T,deleteBinding:E,applyDefaults:D,endpointsByType:e=>a(()=>n.value.filter(t=>t.type===e)),findBindingByActivity:e=>r.value.find(t=>t.activityKey===e)}},cn=[`element-loading-text`],ln={class:`flex items-center gap-3 flex-1 pr-2`},un={class:`font-medium text-sm`},dn={class:`flex items-center justify-between w-full`},fn={class:`flex gap-1 ml-2`},pn={class:`flex items-center justify-between w-full`},mn={class:`flex gap-1 ml-2`},hn={class:`flex items-center justify-between w-full`},gn={class:`flex gap-1 ml-2`},_n={class:`flex justify-between items-center mt-2`},vn={class:`flex items-center gap-2`},yn={class:`text-xs text-gray-400`},bn=m({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(n,{emit:i}){let s=n,l=i,{t:f}=_(),m=he(),v=a({get:()=>s.visible,set:e=>l(`update:visible`,e)}),{endpoints:b,activeState:x,fetchingEndpoints:D,fetchingBindings:A,activating:M,deactivating:P,applyingDefaults:F,activationError:R,fetchEndpoints:ee,fetchBindings:te,fetchActiveState:ne,activate:re,deactivate:ie,saveBinding:ae,createBinding:z,deleteBinding:se,applyDefaults:B,findBindingByActivity:ce,endpointsByType:le}=sn(a(()=>s.space?.id)),V=[H.watch,H.listen,H.gaming,H.background],ue=g(``),de=g(null),U=g(!1),pe=a(()=>D.value||A.value),me=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),G=S({[H.watch]:me(),[H.listen]:me(),[H.gaming]:me(),[H.background]:me()}),ge=S({[H.watch]:me(),[H.listen]:me(),[H.gaming]:me(),[H.background]:me()}),_e=S({[H.watch]:!1,[H.listen]:!1,[H.gaming]:!1,[H.background]:!1}),ve=S({[H.watch]:null,[H.listen]:null,[H.gaming]:null,[H.background]:null}),ye=le(oe.display),be=le(oe.audio_output),K=le(oe.source),q=le(oe.remote_target),Ce=(e,t)=>{G[e].displayEndpointId=t?.displayEndpointId??``,G[e].audioEndpointId=t?.audioEndpointId??``,G[e].sourceEndpointId=t?.sourceEndpointId??``,G[e].remoteEndpointId=t?.remoteEndpointId??``,G[e].displayInputId=t?.displayInputId??``,G[e].audioInputId=t?.audioInputId??``,G[e].sourceInputId=t?.sourceInputId??``,G[e].audioVolumePreset=t?.audioVolumePreset??30,Object.assign(ge[e],{...G[e]})},Te=()=>{for(let e of V){let t=ce(e);Ce(e,t)}},Ee=e=>{let t=G[e],n=ge[e];return t.displayEndpointId!==n.displayEndpointId||t.audioEndpointId!==n.audioEndpointId||t.sourceEndpointId!==n.sourceEndpointId||t.remoteEndpointId!==n.remoteEndpointId||t.displayInputId!==n.displayInputId||t.audioInputId!==n.audioInputId||t.sourceInputId!==n.sourceInputId||t.audioVolumePreset!==n.audioVolumePreset},De=(e,t)=>{let n=G[e][t];return n?b.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},Me=e=>{let t=G[e].audioEndpointId;return t?b.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Ne=e=>{let t=b.value.find(t=>t.endpointId===e);return t?.links?.inputSelect?.dataType===`enum`&&Array.isArray(t.links.inputSelect.format)&&t.links.inputSelect.format.length>0?{type:`select`,options:t.links.inputSelect.format}:{type:`text`}},Fe=e=>{let t=Ne(e);return t.type===`select`?t.options:[]},Ie=e=>{let t=`spacesHomeControlPlugin.media.activities.mediaInputSources.${e}`,n=f(t);return n===t?String(e):n},Le=e=>{let t=` (${f(`spacesHomeControlPlugin.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},X=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Z=e=>{let t=x.value?.activityKey===e&&x.value?.state!==`deactivated`,n=t?x.value.state:void 0,r=ce(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},Re=e=>{let{isActive:t,state:n}=Z(e);return t&&n?X(n):an(e)},ze=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Z(e);return f(t?`spacesHomeControlPlugin.media.activities.activationState.${n}`:r?i?`spacesHomeControlPlugin.media.activities.status.configured`:`spacesHomeControlPlugin.media.activities.status.incomplete`:`spacesHomeControlPlugin.media.activities.status.unconfigured`)},Be=new Map,Ve=e=>{let t=G[e];return{displayEndpointId:t.displayEndpointId||null,audioEndpointId:t.audioEndpointId||null,sourceEndpointId:t.sourceEndpointId||null,remoteEndpointId:t.remoteEndpointId||null,displayInputId:De(e,`displayEndpointId`)&&t.displayInputId||null,audioInputId:De(e,`audioEndpointId`)&&t.audioInputId||null,sourceInputId:De(e,`sourceEndpointId`)&&t.sourceInputId||null,audioVolumePreset:Me(e)?t.audioVolumePreset:null}},He=async e=>{if(!_e[e]){_e[e]=!0,ve[e]=null;try{let t=ce(e),n=Ve(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...G[e]};r&&t?(await se(t.id),Ce(e,void 0),Object.assign(ge[e],i)):r?Object.assign(ge[e],i):t?(await ae(t.id,n),Object.assign(ge[e],i)):(await z(e,n),Object.assign(ge[e],i))}catch(t){ve[e]=t instanceof Error?t.message:`Failed to save`}finally{_e[e]=!1}}},Ue=e=>{let t=Be.get(e);t&&clearTimeout(t),Be.set(e,setTimeout(()=>{Be.delete(e),He(e)},500))};for(let e of V)C(()=>G[e],()=>{!U.value||!Ee(e)||Ue(e)},{deep:!0}),C(()=>G[e].displayEndpointId,()=>{U.value&&(G[e].displayInputId=``)}),C(()=>G[e].audioEndpointId,()=>{U.value&&(G[e].audioInputId=``,G[e].audioVolumePreset=30)}),C(()=>G[e].sourceEndpointId,()=>{U.value&&(G[e].sourceInputId=``)});let We=async e=>{de.value=e;try{await re(e),m.success(f(`spacesHomeControlPlugin.media.activities.activateSuccess`))}catch{m.error(f(`spacesHomeControlPlugin.media.activities.activateFailed`))}finally{de.value=null}},Ge=async()=>{try{await ie(),m.success(f(`spacesHomeControlPlugin.media.activities.deactivateSuccess`))}catch{R.value=null,m.error(f(`spacesHomeControlPlugin.media.activities.deactivateFailed`))}},Ke=async()=>{U.value=!1;try{await B(),Te(),m.success(f(`spacesHomeControlPlugin.media.activities.defaultsApplied`))}catch{m.error(f(`spacesHomeControlPlugin.media.activities.defaultsFailed`))}await c(),U.value=!0},qe=async()=>{U.value=!1,await Promise.all([ee(),te(),ne()]),Te(),await c(),U.value=!0},Q=()=>{let e=[],t=new Set;for(let[n,r]of Be)clearTimeout(r),t.add(n),e.push(He(n));Be.clear();for(let n of V)!t.has(n)&&Ee(n)&&e.push(He(n));return e};o(()=>{Promise.allSettled(Q())});let Je=async()=>{U.value=!1,await Promise.allSettled(Q()),l(`bindings-changed`),v.value=!1};return(n,i)=>(h(),p(E(Ae),{modelValue:v.value,"onUpdate:modelValue":i[2]||=e=>v.value=e,title:E(f)(`spacesHomeControlPlugin.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:qe,onClose:Je},{footer:N(()=>[d(E(O),{type:`primary`,onClick:Je},{default:N(()=>[u(j(E(f)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[w((h(),e(`div`,{"element-loading-text":E(f)(`spacesHomeControlPlugin.media.activities.loading`),class:`flex flex-col gap-4`},[d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.activities.description`)),1)]),_:1}),d(E(ke),{modelValue:ue.value,"onUpdate:modelValue":i[0]||=e=>ue.value=e,accordion:``},{default:N(()=>[(h(),e(I,null,T(V,n=>d(E(Oe),{key:n,name:n},{title:N(()=>[r(`div`,ln,[d(E(t),{icon:E(on)(n),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),r(`span`,un,j(E(f)(`spacesHomeControlPlugin.media.activityLabels.${n}`)),1),d(E(W),{type:Re(n),size:`small`,round:``},{default:N(()=>[u(j(ze(n)),1)]),_:2},1032,[`type`]),_e[n]?(h(),p(E(t),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):k(``,!0),i[3]||=r(`div`,{class:`flex-1`},null,-1),d(E(O),{size:`small`,type:`success`,circle:``,loading:E(M)&&de.value===n,disabled:E(M)||E(P)||E(x)?.state===`activating`,title:E(f)(`spacesHomeControlPlugin.media.activities.run`),onClick:L(e=>We(n),[`stop`])},{icon:N(()=>[d(E(t),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:N(()=>[d(E(Se),{"label-position":`top`,class:`flex flex-col gap-2`},{default:N(()=>[r(`div`,{class:y(De(n,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(xe),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.display`)},{default:N(()=>[d(E(J),{modelValue:G[n].displayEndpointId,"onUpdate:modelValue":e=>G[n].displayEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(ye),e=>(h(),p(E(Y),{key:e.endpointId,label:Le(e),value:e.endpointId},{default:N(()=>[r(`div`,dn,[r(`span`,null,j(Le(e)),1),r(`div`,fn,[e.capabilities.inputSelect?(h(),p(E(W),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),De(n,`displayEndpointId`)?(h(),p(E(xe),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInput`)},{default:N(()=>[Ne(G[n].displayEndpointId).type===`select`?(h(),p(E(J),{key:0,modelValue:G[n].displayInputId,"onUpdate:modelValue":e=>G[n].displayInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Fe(G[n].displayEndpointId),e=>(h(),p(E(Y),{key:String(e),label:Ie(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(fe),{key:1,modelValue:G[n].displayInputId,"onUpdate:modelValue":e=>G[n].displayInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),r(`div`,{class:y(De(n,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(xe),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.audio`)},{default:N(()=>[d(E(J),{modelValue:G[n].audioEndpointId,"onUpdate:modelValue":e=>G[n].audioEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(be),e=>(h(),p(E(Y),{key:e.endpointId,label:Le(e),value:e.endpointId},{default:N(()=>[r(`div`,pn,[r(`span`,null,j(Le(e)),1),r(`div`,mn,[e.capabilities.volume?(h(),p(E(W),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.volume`)),1)]),_:1})):k(``,!0),e.capabilities.inputSelect?(h(),p(E(W),{key:1,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),De(n,`audioEndpointId`)?(h(),p(E(xe),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInput`)},{default:N(()=>[Ne(G[n].audioEndpointId).type===`select`?(h(),p(E(J),{key:0,modelValue:G[n].audioInputId,"onUpdate:modelValue":e=>G[n].audioInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Fe(G[n].audioEndpointId),e=>(h(),p(E(Y),{key:String(e),label:Ie(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(fe),{key:1,modelValue:G[n].audioInputId,"onUpdate:modelValue":e=>G[n].audioInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),Me(n)?(h(),p(E(xe),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioVolume`)},{default:N(()=>[d(E(je),{modelValue:G[n].audioVolumePreset,"onUpdate:modelValue":e=>G[n].audioVolumePreset=e,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):k(``,!0),r(`div`,{class:y(De(n,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(xe),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.source`)},{default:N(()=>[d(E(J),{modelValue:G[n].sourceEndpointId,"onUpdate:modelValue":e=>G[n].sourceEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(K),e=>(h(),p(E(Y),{key:e.endpointId,label:Le(e),value:e.endpointId},{default:N(()=>[r(`div`,hn,[r(`span`,null,j(Le(e)),1),r(`div`,gn,[e.capabilities.inputSelect?(h(),p(E(W),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),De(n,`sourceEndpointId`)?(h(),p(E(xe),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInput`)},{default:N(()=>[Ne(G[n].sourceEndpointId).type===`select`?(h(),p(E(J),{key:0,modelValue:G[n].sourceInputId,"onUpdate:modelValue":e=>G[n].sourceInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Fe(G[n].sourceEndpointId),e=>(h(),p(E(Y),{key:String(e),label:Ie(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(fe),{key:1,modelValue:G[n].sourceInputId,"onUpdate:modelValue":e=>G[n].sourceInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),d(E(xe),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.remote`)},{default:N(()=>[d(E(J),{modelValue:G[n].remoteEndpointId,"onUpdate:modelValue":e=>G[n].remoteEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(q),e=>(h(),p(E(Y),{key:e.endpointId,label:Le(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),ve[n]?(h(),p(E(we),{key:1,type:`error`,title:E(f)(`spacesHomeControlPlugin.media.activities.saveError`),description:ve[n],"show-icon":``,closable:``,onClose:e=>ve[n]=null},null,8,[`title`,`description`,`onClose`])):k(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),r(`div`,_n,[r(`div`,vn,[d(E(O),{size:`small`,loading:E(F),onClick:Ke},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),E(x)&&E(x).state!==`deactivated`?(h(),p(E(O),{key:0,size:`small`,type:`warning`,loading:E(P),disabled:E(M),onClick:Ge},{icon:N(()=>[d(E(t),{icon:`mdi:stop`})]),default:N(()=>[u(` `+j(E(f)(`spacesHomeControlPlugin.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):k(``,!0)]),r(`div`,yn,j(E(f)(`spacesHomeControlPlugin.media.activities.applyDefaultsHint`)),1)]),E(R)?(h(),p(E(we),{key:0,type:`error`,title:E(f)(`spacesHomeControlPlugin.media.activities.activateFailed`),description:E(R),"show-icon":``,closable:``,onClose:i[1]||=e=>R.value=null},null,8,[`title`,`description`])):k(``,!0)],8,cn)),[[E(Pe),pe.value]])]),_:1},8,[`modelValue`,`title`]))}}),xn={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},Sn=m({name:`SpaceDomainsSection`,__name:`space-domains-section`,props:{space:{}},setup(t,{expose:n}){let i=t,{t:o}=_(),s=ve(),{lightingSignal:c,climateSignal:l,coversSignal:u,sensorSignal:f}=rt(),m=g(!1),v=g(!1),y=g(!1),x=g(!1),S=g(!1),w=g(!1),E=g([]),D=e=>{switch(e){case B.main:return`primary`;case B.task:return`warning`;case B.ambient:return`success`;case B.accent:return`danger`;case B.night:default:return`info`}},O=e=>{switch(e){case B.main:return`mdi:lightbulb`;case B.task:return`mdi:desk-lamp`;case B.ambient:return`mdi:lightbulb-group`;case B.accent:return`mdi:spotlight-beam`;case B.night:return`mdi:weather-night`;default:return`mdi:lightbulb-outline`}},k=async()=>{if(i.space?.id){w.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e){E.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[B.main,B.task,B.ambient,B.accent,B.night,B.other];E.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.lightingRoles.${e}`),type:D(e),icon:O(e),count:t}))}finally{w.value=!1}}},j=g(!1),M=g([]),N=e=>{switch(e){case z.heating_only:return`danger`;case z.cooling_only:return`primary`;case z.auto:return`success`;case z.auxiliary:return`warning`;default:return`info`}},P=e=>{switch(e){case z.heating_only:return`mdi:fire`;case z.cooling_only:return`mdi:snowflake`;case z.auto:return`mdi:thermostat-auto`;case z.auxiliary:return`mdi:radiator`;case z.sensor:return`mdi:thermometer`;default:return`mdi:eye-off`}},F=async()=>{if(i.space?.id){j.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e){M.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===z.hidden)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[z.heating_only,z.cooling_only,z.auto,z.auxiliary,z.sensor];M.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.climateRoles.${e}`),type:N(e),icon:P(e),count:t}))}finally{j.value=!1}}},L=g(!1),R=g([]),ee=e=>{switch(e){case U.primary:return`primary`;case U.blackout:return`danger`;case U.sheer:return`success`;case U.outdoor:return`warning`;default:return`info`}},te=e=>{switch(e){case U.primary:return`mdi:blinds`;case U.blackout:return`mdi:blinds-horizontal-closed`;case U.sheer:return`mdi:curtains`;case U.outdoor:return`mdi:window-shutter`;default:return`mdi:blinds-horizontal`}},ne=async()=>{if(i.space?.id){L.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e){R.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[U.primary,U.blackout,U.sheer,U.outdoor,U.hidden];R.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.coversRoles.${e}`),type:ee(e),icon:te(e),count:t}))}finally{L.value=!1}}},re=g(!1),ie=g([]),ae=e=>{switch(e){case ze.ENVIRONMENT:return`success`;case ze.SAFETY:return`danger`;case ze.SECURITY:return`warning`;case ze.AIR_QUALITY:return`info`;case ze.ENERGY:return`primary`;default:return`info`}},oe=e=>{switch(e){case ze.ENVIRONMENT:return`mdi:thermometer`;case ze.SAFETY:return`mdi:shield-alert`;case ze.SECURITY:return`mdi:motion-sensor`;case ze.AIR_QUALITY:return`mdi:air-filter`;case ze.ENERGY:return`mdi:lightning-bolt`;default:return`mdi:chart-line`}},se=async()=>{if(i.space?.id){re.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e){ie.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===ze.HIDDEN)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}ie.value=Array.from(r.entries()).sort(([e],[t])=>Re.indexOf(e)-Re.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.sensorRoles.${e}`),type:ae(e),icon:oe(e),count:t}))}finally{re.value=!1}}},{fetchEndpoints:ce,fetchBindings:le,findBindingByActivity:V}=sn(a(()=>i.space?.id)),ue=g(!1),de=g([]),W=[H.watch,H.listen,H.gaming,H.background],fe=async()=>{if(i.space?.id){ue.value=!0;try{await Promise.all([ce(),le()]);let e=[];for(let t of W){let n=V(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:an(t),icon:on(t),count:r})}de.value=e}catch{de.value=[]}finally{ue.value=!1}}},pe=a(()=>[{key:`lighting`,icon:`mdi:lightbulb`,iconColor:`warning`,title:o(`spacesHomeControlPlugin.detail.domains.lighting.title`),description:o(`spacesHomeControlPlugin.detail.domains.lighting.description`),tags:E.value,loading:w.value,openDialog:()=>{m.value=!0}},{key:`climate`,icon:`mdi:thermostat`,iconColor:`danger`,title:o(`spacesHomeControlPlugin.detail.domains.climate.title`),description:o(`spacesHomeControlPlugin.detail.domains.climate.description`),tags:M.value,loading:j.value,openDialog:()=>{v.value=!0}},{key:`covers`,icon:`mdi:blinds`,iconColor:`primary`,title:o(`spacesHomeControlPlugin.detail.domains.covers.title`),description:o(`spacesHomeControlPlugin.detail.domains.covers.description`),tags:R.value,loading:L.value,openDialog:()=>{y.value=!0}},{key:`sensor`,icon:`mdi:chart-bell-curve`,iconColor:`success`,title:o(`spacesHomeControlPlugin.detail.domains.sensor.title`),description:o(`spacesHomeControlPlugin.detail.domains.sensor.description`),tags:ie.value,loading:re.value,openDialog:()=>{x.value=!0}},{key:`media`,icon:`mdi:play-box-multiple`,iconColor:`info`,title:o(`spacesHomeControlPlugin.detail.domains.media.title`),description:o(`spacesHomeControlPlugin.detail.domains.media.description`),tags:de.value,loading:ue.value,openDialog:()=>{S.value=!0}}]),me=()=>{k(),F(),ne(),se(),fe()};C(()=>c?.value,()=>{i.space?.id&&k()}),C(()=>l?.value,()=>{i.space?.id&&F()}),C(()=>u?.value,()=>{i.space?.id&&ne()}),C(()=>f?.value,()=>{i.space?.id&&se()}),C(()=>i.space?.id,e=>{e&&me()});let he=()=>{k()},G=()=>{F()},ge=()=>{ne()},_e=()=>{se()},ye=()=>{fe()};return b(()=>{i.space?.id&&me()}),n({reload:me}),(t,n)=>(h(),e(I,null,[r(`div`,xn,[(h(!0),e(I,null,T(pe.value,e=>(h(),p(qt,{key:e.key,icon:e.icon,"icon-color":e.iconColor,title:e.title,description:e.description,tags:e.tags,loading:e.loading,onClick:t=>e.openDialog()},null,8,[`icon`,`icon-color`,`title`,`description`,`tags`,`loading`,`onClick`]))),128))]),d(ft,{visible:m.value,"onUpdate:visible":n[0]||=e=>m.value=e,space:i.space,onRolesChanged:he},null,8,[`visible`,`space`]),d(xt,{visible:v.value,"onUpdate:visible":n[1]||=e=>v.value=e,space:i.space,onRolesChanged:G},null,8,[`visible`,`space`]),d(At,{visible:y.value,"onUpdate:visible":n[2]||=e=>y.value=e,space:i.space,onRolesChanged:ge},null,8,[`visible`,`space`]),d(Rt,{visible:x.value,"onUpdate:visible":n[3]||=e=>x.value=e,space:i.space,onRolesChanged:_e},null,8,[`visible`,`space`]),d(bn,{visible:S.value,"onUpdate:visible":n[4]||=e=>S.value=e,space:i.space,onBindingsChanged:ye},null,8,[`visible`,`space`])],64))}}),Cn={class:`flex items-center gap-2`},wn={class:`font-medium`},Tn={key:0,class:`text-xs text-gray-500`},En={class:`flex items-center gap-2 justify-end`},Dn={key:0,class:`h-full w-full leading-normal`},On={key:1,class:`h-full w-full leading-normal`},kn={class:`mb-4`},An=m({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=he(),{roomSpaces:v}=qe(),{devices:y,loading:x,firstLoadFinished:S,fetchDevices:C,removeDevice:D,reassignDevice:A}=Ze(n(s,`spaceId`),n(s,`spaceType`)),P=g(!1),F=g(null),L=g(null),R=g(!1),ee=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e]||`mdi:devices`,te=()=>{c(`open-add-dialog`)},ne=e=>{F.value=e,L.value=null,P.value=!0},re=async()=>{if(F.value){R.value=!0;try{await A(F.value.id,L.value),P.value=!1,m.success(l(`spacesModule.messages.edited`,{space:F.value.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{R.value=!1}}},ae=e=>{ie.confirm(l(`spacesModule.detail.devices.confirmRemove`,{name:e.name}),l(`spacesModule.detail.devices.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await D(e.id),m.success(l(`spacesModule.detail.devices.removed`,{name:e.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesModule.detail.devices.removeCanceled`))})};return b(async()=>{S.value||await C()}),a({openAddDialog:te,fetchDevices:C}),(n,i)=>(h(),e(I,null,[w((h(),p(E(q),{"element-loading-text":E(l)(`spacesModule.detail.devices.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,Dn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,On,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesModule.detail.devices.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:te},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(K),{label:E(l)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,Cn,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:ee(n.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,wn,j(n.name),1),n.description?(h(),e(`div`,Tn,j(n.description),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(l)(`spacesModule.table.columns.category`),width:`150`},{default:N(({row:e})=>[d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(E(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(K),{label:E(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(W),{type:e.status?.online?`success`:`danger`,size:`small`},{default:N(()=>[u(j(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(K),{label:``,width:s.spaceType===E(Z).ZONE?110:220,align:`right`},{default:N(({row:e})=>[r(`div`,En,[s.spaceType===E(Z).ROOM?(h(),p(E(O),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>ne(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):k(``,!0),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>ae(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[E(Pe),E(x)]]),d(E(Ae),{modelValue:P.value,"onUpdate:modelValue":i[2]||=e=>P.value=e,title:E(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>P.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:R.value,onClick:re},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,kn,j(E(l)(`spacesModule.detail.devices.selectRoom`)),1),d(E(J),{modelValue:L.value,"onUpdate:modelValue":i[0]||=e=>L.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(Y),{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))}}),jn={class:`flex items-center gap-2`},Mn={class:`block`},Nn={key:1,class:`font-medium`},Pn={class:`flex items-center gap-2 justify-end`},Fn={key:0,class:`h-full w-full leading-normal`},In={key:1,class:`h-full w-full leading-normal`},Ln={class:`mb-4`},Rn=m({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=he(),{roomSpaces:v}=qe(),{displays:y,loading:x,fetchDisplays:S,removeDisplay:C,reassignDisplay:D}=Xe(n(s,`spaceId`)),k=g(!1),A=g(null),P=g(null),F=g(!1),L=()=>{c(`open-add-dialog`)},R=e=>{A.value=e,P.value=null,k.value=!0},ee=async()=>{if(A.value){F.value=!0;try{await D(A.value.id,P.value),k.value=!1,m.success(l(`spacesModule.messages.edited`,{space:A.value.name||A.value.macAddress}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{F.value=!1}}},te=e=>{let t=e.name||e.macAddress;ie.confirm(l(`spacesModule.detail.displays.confirmRemove`,{name:t}),l(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await C(e.id),m.success(l(`spacesModule.detail.displays.removed`,{name:t}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesModule.detail.displays.removeCanceled`))})};return b(async()=>{await S()}),a({openAddDialog:L,fetchDisplays:S}),(n,i)=>(h(),e(I,null,[w((h(),p(E(q),{"element-loading-text":E(l)(`spacesModule.detail.displays.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,Fn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,In,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesModule.detail.displays.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:L},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(K),{label:E(l)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,jn,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(h(),e(I,{key:0},[r(`strong`,Mn,j(n.name),1),d(E(V),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.macAddress),1)]),_:2},1024)],64)):(h(),e(`div`,Nn,j(n.macAddress),1))])])]),_:1},8,[`label`]),d(E(K),{label:E(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(W),{type:e.online?`success`:`danger`,size:`small`},{default:N(()=>[u(j(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`220`,align:`right`},{default:N(({row:e})=>[r(`div`,Pn,[d(E(O),{type:`warning`,plain:``,size:`small`,onClick:t=>R(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>te(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[E(Pe),E(x)]]),d(E(Ae),{modelValue:k.value,"onUpdate:modelValue":i[2]||=e=>k.value=e,title:E(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>k.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:F.value,onClick:ee},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,Ln,j(E(l)(`spacesModule.detail.displays.selectRoom`)),1),d(E(J),{modelValue:P.value,"onUpdate:modelValue":i[0]||=e=>P.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),zn=e=>{let t=me().getStore($e),{semaphore:n,firstLoad:r}=pe(t),i=g(!1);return{scenes:a(()=>e.value?t.findBySpace(e.value).filter(e=>!e.draft).sort((e,t)=>e.name.localeCompare(t.name)):[]),loading:a(()=>!!(i.value||n.value.fetching.items||!r.value)),firstLoadFinished:a(()=>r.value),fetchScenes:async()=>{await t.fetch()},reassignScene:async(e,n)=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:n}})}finally{i.value=!1}},removeScene:async e=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:null}})}finally{i.value=!1}}}};function $(e){return e.trim().toLowerCase().replace(/[-_]/g,` `).replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}var Bn=e=>e||null,Vn=e=>{if(e)return e},Hn=()=>{let e=ae(),{generate:t}=Fe(),n=S({currentStep:0,existingSpaces:[],spaces:[],proposedSpaces:[],customSpaces:[],matchedSpaces:[],deviceAssignments:{},displayAssignments:{},zoneAssignments:{},showAdvancedZones:!1,isLoading:!1,error:null}),r=a(()=>n.isLoading),i=a(()=>n.error),o=a(()=>n.currentStep),s=a(()=>n.existingSpaces),c=a(()=>n.spaces),l=a(()=>n.proposedSpaces),u=a(()=>n.customSpaces),d=a(()=>n.matchedSpaces),f=a(()=>n.deviceAssignments),p=a(()=>n.displayAssignments),m=a(()=>n.zoneAssignments),h=a({get:()=>n.showAdvancedZones,set:e=>{n.showAdvancedZones=e}}),g=a(()=>v.value.filter(e=>e.type===Z.ZONE&&e.category&&Ve.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 Q(`Failed to fetch proposed spaces`);let i=r.data.data.map(e=>{let n=Bn(e.category),r=n?Be[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?Ke(e.type):Z.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===Z.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===Z.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===Z.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:Ge(s.type),category:Vn(s.category)}}});if(u.error||!u.data?.data)throw new Q(`Failed to create space: ${s.name}`);let d=We(u.data.data);for(let[e,t]of Object.entries(n.deviceAssignments))t===s.id&&(n.deviceAssignments[e]=d.id);for(let[e,t]of Object.entries(n.displayAssignments))t===s.id&&(n.displayAssignments[e]=d.id);for(let[e,t]of Object.entries(n.zoneAssignments))n.zoneAssignments[e]=t.map(e=>e===s.id?d.id:e);let f=n.spaces.findIndex(e=>e.id===s.id);f===-1?n.spaces=[...n.spaces,d]:n.spaces[f]=d,t.push(d)}return t}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},C=async t=>{n.isLoading=!0,n.error=null;try{let r=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:t.name,description:t.description,type:Ge(t.type),category:Vn(t.category),icon:t.icon,display_order:t.displayOrder}}});if(r.error||!r.data?.data)throw new Q(`Failed to create space`);let i=We(r.data.data);return n.spaces.push(i),i}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},w=(e,t)=>{n.deviceAssignments[e]=t},T=(e,t)=>{n.displayAssignments[e]=t},E=async()=>{n.isLoading=!0,n.error=null;let t=0,r=0,i=0;try{let a={};for(let[e,t]of Object.entries(n.deviceAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].deviceIds.push(e));for(let[e,t]of Object.entries(n.displayAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].displayIds.push(e));for(let[n,i]of Object.entries(a)){let a=await e.POST(`/modules/spaces/spaces/{id}/assign`,{params:{path:{id:n}},body:{data:{device_ids:i.deviceIds,display_ids:i.displayIds}}});if(a.error)throw new Q(`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 Q(`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`,{params:{query:{hidden:le.false}}});if(t.error||!t.data?.data)throw new Q(`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 Q(`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 Q(`Failed to fetch spaces`);let r=t.data.data.map(e=>We(e));return n.existingSpaces=r,r}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},createDraftSpacesFromProposals:b,createSpacesFromProposals:x,createSpace:C,setDeviceAssignment:w,setDisplayAssignment:T,setDeviceZones:(e,t)=>{n.zoneAssignments[e]=t},applyAssignments:E,setStep:D,nextStep:O,prevStep:k,toggleProposedSpace:j,toggleCustomSpace:M,addManualSpace:e=>{let r=N(e);return r?{success:!1,duplicateOf:r}:(n.customSpaces.push({name:e,description:null,icon:null,selected:!0,type:Z.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}})}},Un={class:`flex items-center gap-2`},Wn={class:`font-medium`},Gn={key:0,class:`text-xs text-gray-500`},Kn={class:`flex items-center gap-2 justify-end`},qn={key:0,class:`h-full w-full leading-normal`},Jn={key:1,class:`h-full w-full leading-normal`},Yn={class:`mb-4`},Xn=m({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=he(),{spaces:v}=qe(),{scenes:y,loading:x,firstLoadFinished:S,fetchScenes:C,reassignScene:D,removeScene:A}=zn(n(s,`spaceId`)),P=g(!1),F=g(null),L=g(null),R=g(!1),ee=e=>e.icon?e.icon:nt[e.category]||nt[ne.generic],te=()=>{c(`open-add-dialog`)},re=e=>{F.value=e,L.value=null,P.value=!0},ae=async()=>{if(F.value){R.value=!0;try{await D(F.value.id,L.value),P.value=!1,m.success(l(`spacesHomeControlPlugin.detail.scenes.reassigned`,{name:F.value.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{R.value=!1}}},oe=e=>{ie.confirm(l(`spacesHomeControlPlugin.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesHomeControlPlugin.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await A(e.id),m.success(l(`spacesHomeControlPlugin.detail.scenes.removed`,{name:e.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesHomeControlPlugin.detail.scenes.removeCanceled`))})};return b(async()=>{S.value||await C()}),a({openAddDialog:te,fetchScenes:C}),(n,i)=>(h(),e(I,null,[w((h(),p(E(q),{"element-loading-text":E(l)(`spacesHomeControlPlugin.detail.scenes.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,qn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,Jn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesHomeControlPlugin.detail.scenes.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:te},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(K),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,Un,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:ee(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,Wn,j(n.name),1),n.description?(h(),e(`div`,Gn,j(n.description),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.category`),width:`150`},{default:N(({row:e})=>[d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(E(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(K),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.status`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(W),{type:e.enabled?`success`:`info`,size:`small`},{default:N(()=>[u(j(e.enabled?E(l)(`spacesHomeControlPlugin.detail.scenes.enabled`):E(l)(`spacesHomeControlPlugin.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`220`,align:`right`},{default:N(({row:e})=>[r(`div`,Kn,[d(E(O),{type:`warning`,plain:``,size:`small`,onClick:t=>re(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesHomeControlPlugin.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>oe(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesHomeControlPlugin.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[E(Pe),E(x)]]),d(E(Ae),{modelValue:P.value,"onUpdate:modelValue":i[2]||=e=>P.value=e,title:E(l)(`spacesHomeControlPlugin.detail.scenes.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>P.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:R.value,onClick:ae},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,Yn,j(E(l)(`spacesHomeControlPlugin.detail.scenes.selectSpace`)),1),d(E(J),{modelValue:L.value,"onUpdate:modelValue":i[0]||=e=>L.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Zn={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Qn={class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},$n=[`aria-label`,`onKeydown`],er={class:`flex items-center gap-1`},tr={key:1,class:`text-gray-400 text-sm`},nr={class:`flex items-center gap-2`},rr=m({name:`SpaceParentZoneSection`,__name:`space-parent-zone-section`,props:{space:{}},setup(n){let i=n,{t:s}=_(),l=he(),f=a(()=>i.space.id),{floorZoneSpaces:m,findById:v}=qe(),{editSpace:y}=Ye(f),x=g(i.space.parentId),S=g(!1),w=g(!1),D=g(null),O=g(i.space.parentId),k=g(!1),A=a(()=>i.space.parentId?v(i.space.parentId):null),M=a(()=>m.value.filter(e=>e.id!==i.space.id)),F=()=>{w.value=!0,O.value=i.space.parentId,x.value=i.space.parentId,k.value=!1,c(()=>{D.value?.focus?.()})},R=()=>{setTimeout(()=>{!k.value&&!S.value&&w.value&&(w.value=!1),k.value=!1},200)},ee=e=>{w.value&&e.key===`Escape`&&(x.value=O.value,w.value=!1,k.value=!1)};C(()=>i.space.parentId,e=>{w.value||(x.value=e,O.value=e)},{immediate:!0});let te=async e=>{if(e===i.space.parentId){w.value=!1,k.value=!1;return}k.value=!0,S.value=!0;try{await y({name:i.space.name,parentId:e}),l.success(s(`spacesModule.messages.edited`,{space:i.space.name})),w.value=!1,k.value=!1}catch{x.value=O.value,l.error(s(`spacesModule.messages.saveError`)),w.value=!1,k.value=!1}finally{S.value=!1}};return b(()=>{document.addEventListener(`keydown`,ee)}),o(()=>{document.removeEventListener(`keydown`,ee)}),(n,i)=>(h(),e(I,null,[r(`dt`,Zn,j(E(s)(`spacesModule.detail.parentZone.title`)),1),r(`dd`,Qn,[w.value?(h(),p(E(J),{key:1,ref_key:`floorSelectRef`,ref:D,modelValue:x.value,"onUpdate:modelValue":i[0]||=e=>x.value=e,placeholder:E(s)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:S.value,onChange:te,onBlur:R},{default:N(()=>[(h(!0),e(I,null,T(M.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,nr,[d(E(t),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(h(),e(`div`,{key:0,role:`button`,tabindex:`0`,"aria-label":E(s)(`spacesModule.detail.parentZone.select`),class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:F,onKeydown:[P(L(F,[`prevent`]),[`enter`]),P(L(F,[`prevent`]),[`space`])]},[A.value?(h(),p(E(W),{key:0,type:`success`,size:`small`},{default:N(()=>[r(`div`,er,[d(E(t),{icon:A.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),u(` `+j(A.value.name),1)])]),_:1})):(h(),e(`span`,tr,j(E(s)(`spacesModule.detail.parentZone.none`)),1))],40,$n))])],64))}}),ir={key:0,class:`h-full w-full leading-normal`},ar={key:1,class:`h-full w-full leading-normal`},or={class:`flex items-center gap-2`},sr={class:`block text-sm`},cr={key:1,class:`font-medium`},lr={key:1,class:`text-gray-400 text-sm`},ur=m({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=he(),{devices:m}=Qe(),{findById:v}=qe(),y=g(``),b=g(null),{devices:x,addDevice:S}=Ze(a(()=>o.spaceId),a(()=>o.spaceType)),w=a(()=>new Set(x.value.map(e=>e.id))),T=a(()=>m.value.filter(e=>e.hidden?!1:o.spaceType===Z.ZONE?!w.value.has(e.id):e.roomId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),D=a(()=>(y.value.trim()?T.value.filter(e=>{let t=y.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):T.value).sort((e,t)=>e.name.localeCompare(t.name))),A=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e.category]||`mdi:devices`,P=e=>v(e)?.name||`Unknown`,F=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),L=()=>{F.value=!1,y.value=``,b.value=null},R=async e=>{b.value=e.id;try{await S(e.id),l.success(c(`spacesModule.messages.edited`,{space:e.name})),s(`device-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return C(()=>o.visible,e=>{e||(y.value=``,b.value=null)}),(n,i)=>(h(),p(E(Ae),{modelValue:F.value,"onUpdate:modelValue":i[1]||=e=>F.value=e,title:E(c)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:L},{footer:N(()=>[d(E(O),{onClick:L},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(fe),{modelValue:y.value,"onUpdate:modelValue":i[0]||=e=>y.value=e,placeholder:E(c)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(q),{data:D.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[T.value.length===0?(h(),e(`div`,ir,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):y.value.trim()&&D.value.length===0?(h(),e(`div`,ar,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(V),{class:`block`},{default:N(()=>[u(j(E(c)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(K),{label:E(c)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,or,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:A(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(h(),e(I,{key:0},[r(`strong`,sr,j(n.name),1),d(E(V),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.description),1)]),_:2},1024)],64)):(h(),e(`div`,cr,j(n.name),1))])])]),_:1},8,[`label`]),d(E(K),{label:E(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.roomId?(h(),p(E(W),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(P(t.roomId)),1)]),_:2},1024)):(h(),e(`span`,lr,`-`))]),_:1},8,[`label`]),d(E(K),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:o.spaceType===E(Z).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>R(e)},{icon:N(()=>[d(E(t),{icon:o.spaceType===E(Z).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(o.spaceType===E(Z).ROOM&&e.roomId?E(c)(`spacesModule.detail.devices.reassign`):E(c)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),dr={key:0,class:`h-full w-full leading-normal`},fr={key:1,class:`h-full w-full leading-normal`},pr={class:`flex items-center gap-2`},mr={class:`block`},hr={key:1,class:`font-medium`},gr={key:1,class:`text-gray-400 text-sm`},_r=m({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=he(),{displays:m}=Ie(),{findById:v}=qe(),y=g(``),b=g(null),{reassignDisplay:x}=Xe(a(()=>o.spaceId)),S=a(()=>m.value.filter(e=>e.spaceId!==o.spaceId).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),w=a(()=>(y.value.trim()?S.value.filter(e=>{let t=y.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):S.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),T=e=>v(e)?.name||`Unknown`,D=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),A=()=>{D.value=!1,y.value=``,b.value=null},P=async e=>{b.value=e.id;try{await x(e.id,o.spaceId),l.success(c(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),s(`display-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return C(()=>o.visible,e=>{e||(y.value=``,b.value=null)}),(n,i)=>(h(),p(E(Ae),{modelValue:D.value,"onUpdate:modelValue":i[1]||=e=>D.value=e,title:E(c)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:A},{footer:N(()=>[d(E(O),{onClick:A},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(fe),{modelValue:y.value,"onUpdate:modelValue":i[0]||=e=>y.value=e,placeholder:E(c)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(q),{data:w.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[S.value.length===0?(h(),e(`div`,dr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):y.value.trim()&&w.value.length===0?(h(),e(`div`,fr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(V),{class:`block`},{default:N(()=>[u(j(E(c)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(K),{label:E(c)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,pr,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(h(),e(I,{key:0},[r(`strong`,mr,j(n.name),1),d(E(V),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.macAddress),1)]),_:2},1024)],64)):(h(),e(`div`,hr,j(n.macAddress),1))])])]),_:1},8,[`label`]),d(E(K),{label:E(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.spaceId?(h(),p(E(W),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(T(t.spaceId)),1)]),_:2},1024)):(h(),e(`span`,gr,`-`))]),_:1},8,[`label`]),d(E(K),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:e.spaceId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>P(e)},{icon:N(()=>[d(E(t),{icon:e.spaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(e.spaceId?E(c)(`spacesModule.detail.displays.reassign`):E(c)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),vr={key:0,class:`h-full w-full leading-normal`},yr={key:1,class:`h-full w-full leading-normal`},br={class:`flex items-center gap-2`},xr={class:`block text-sm`},Sr={key:1,class:`font-medium`},Cr={key:1,class:`text-gray-400 text-sm`},wr=m({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=he(),{scenes:m,loaded:v,fetchScenes:y}=tt(),{editScene:x}=et(),{findById:S}=qe(),w=g(``),T=g(null),D=a(()=>m.value.filter(e=>!e.draft&&e.primarySpaceId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),A=a(()=>(w.value.trim()?D.value.filter(e=>{let t=w.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):D.value).sort((e,t)=>e.name.localeCompare(t.name))),P=e=>nt[e.category]||nt[ne.generic],F=e=>S(e)?.name||`Unknown`,L=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),R=()=>{L.value=!1,w.value=``,T.value=null},ee=async e=>{T.value=e.id;try{await x({id:e.id,data:{primarySpaceId:o.spaceId}}),l.success(c(`spacesHomeControlPlugin.detail.scenes.assigned`,{name:e.name})),s(`scene-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{T.value=null}};return b(async()=>{v.value||await y()}),C(()=>o.visible,e=>{e||(w.value=``,T.value=null)}),(n,i)=>(h(),p(E(Ae),{modelValue:L.value,"onUpdate:modelValue":i[1]||=e=>L.value=e,title:E(c)(`spacesHomeControlPlugin.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:R},{footer:N(()=>[d(E(O),{onClick:R},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(fe),{modelValue:w.value,"onUpdate:modelValue":i[0]||=e=>w.value=e,placeholder:E(c)(`spacesHomeControlPlugin.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(q),{data:A.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[D.value.length===0?(h(),e(`div`,vr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesHomeControlPlugin.detail.scenes.noAvailable`)),1)]),_:1})])):w.value.trim()&&A.value.length===0?(h(),e(`div`,yr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(V),{class:`block`},{default:N(()=>[u(j(E(c)(`spacesHomeControlPlugin.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(K),{label:E(c)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,br,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:P(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(h(),e(I,{key:0},[r(`strong`,xr,j(n.name),1),d(E(V),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.description),1)]),_:2},1024)],64)):(h(),e(`div`,Sr,j(n.name),1))])])]),_:1},8,[`label`]),d(E(K),{label:E(c)(`spacesHomeControlPlugin.detail.scenes.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.primarySpaceId?(h(),p(E(W),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(F(t.primarySpaceId)),1)]),_:2},1024)):(h(),e(`span`,Cr,`-`))]),_:1},8,[`label`]),d(E(K),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:T.value===e.id,onClick:t=>ee(e)},{icon:N(()=>[d(E(t),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(e.primarySpaceId?E(c)(`spacesHomeControlPlugin.detail.scenes.reassign`):E(c)(`spacesHomeControlPlugin.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Tr={class:`flex items-center gap-2`},Er={class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},Dr={class:`p-4 max-h-full box-border flex flex-col`},Or={class:`my-2 font-medium`},kr={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Ar={class:`flex items-center gap-2`},jr={class:`flex items-center gap-2`},Mr={class:`my-2 font-medium`},Nr={class:`grow-1 min-w-0`},Pr={class:`text-gray-500 text-sm ml-2`},Fr={key:1,class:`text-gray-600`},Ir={class:`my-2 font-medium`},Lr={class:`flex flex-wrap gap-2`},Rr={class:`my-2 font-medium`},zr={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Br={class:`flex items-center gap-2`},Vr={class:`flex items-center gap-2`},Hr={class:`my-2 font-medium`},Ur={class:`flex items-center gap-3 p-2`},Wr={class:`h-full w-full leading-normal`},Gr={class:`font-medium`},Kr={class:`text-xs text-gray-500 mt-1`},qr={key:1,class:`font-medium`},Jr={class:`flex items-center gap-2`},Yr={class:`h-full w-full leading-normal`},Xr={key:0,class:`text-xs text-gray-500 mt-1`},Zr={class:`flex items-center gap-2`},Qr={class:`grid grid-cols-2 md:grid-cols-5 gap-4 text-center my-4 shrink-0`},$r={class:`text-2xl font-bold text-blue-600`},ei={class:`text-sm text-gray-500`},ti={class:`text-2xl font-bold text-green-600`},ni={class:`text-sm text-gray-500`},ri={class:`text-2xl font-bold text-yellow-600`},ii={class:`text-sm text-gray-500`},ai={class:`text-2xl font-bold text-green-600`},oi={class:`text-sm text-gray-500`},si={class:`text-2xl font-bold text-yellow-600`},ci={class:`text-sm text-gray-500`},li={class:`mb-2 font-medium`},ui={class:`flex items-center gap-2`},di={class:`flex items-center gap-2`},fi={class:`font-medium`},pi={class:`text-xs text-gray-500`},mi={key:1,class:`font-medium`},hi={class:`flex items-center gap-2`},gi={key:0,class:`mt-6 flex justify-between`},_i={key:1},vi={class:`flex gap-2`},yi=m({__name:`view-spaces-wizard`,setup(n){let{t:i}=_(),o=x(),l=F(),m=he(),{isMDDevice:S,isLGDevice:C}=G();ee({title:i(`spacesModule.meta.spaces.wizard.title`)});let{isLoading:A,currentStep:L,existingSpaces:R,proposedSpaces:ne,customSpaces:ie,matchedSpaces:ae,availableSpaces:oe,deviceAssignments:z,displayAssignments:B,zoneAssignments:ce,showAdvancedZones:le,assignableZones:V,fetchProposedSpaces:H,fetchDevices:ue,fetchDisplays:U,fetchExistingSpaces:pe,createDraftSpacesFromProposals:me,createSpacesFromProposals:ve,setDeviceAssignment:ye,setDisplayAssignment:xe,setDeviceZones:Se,applyAssignments:Ce,nextStep:Oe,prevStep:ke,toggleProposedSpace:je,toggleCustomSpace:Fe,addManualSpace:Ie,removeProposedSpace:X,removeCustomSpace:Re,startEditingProposedName:ze,confirmProposedNameEdit:Be,discardProposedNameEdit:Ve,startEditingCustomName:He,confirmCustomNameEdit:We,discardCustomNameEdit:Ge,initializeDeviceAssignments:Ke,initializeDisplayAssignments:qe,summary:Q}=Hn(),Ye=g(``),Xe=v([]),Ze=v([]),Qe=g(!1),$e=g(!1),et=v(new Map),tt=v(new Map),nt=(e,t)=>{t?et.value.set(e,t):et.value.delete(e)},rt=(e,t)=>{t?tt.value.set(e,t):tt.value.delete(e)},it=async e=>{ze(e),await c(),et.value.get(e)?.focus?.()},at=async e=>{He(e),await c(),tt.value.get(e)?.focus?.()},ot=a(()=>[...Ze.value].sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress))),st=a(()=>[...Xe.value].sort((e,t)=>e.name.localeCompare(t.name))),ct=a(()=>[{label:i(`spacesModule.breadcrumbs.spaces.list`),route:l.resolve({name:Le.SPACES})},{label:i(`spacesModule.breadcrumbs.spaces.wizard`),route:l.resolve({name:Le.SPACES_WIZARD,params:{type:o.params.type}})}]),lt=oe,ut=a(()=>lt.value.filter(e=>e.type===Z.ROOM).sort((e,t)=>e.name.localeCompare(t.name))),dt=e=>e.icon?e.icon:e.type===Z.ROOM?`mdi:door`:`mdi:home-floor-1`,ft=a(()=>{let e=new Set(ae.value.map(e=>e.existingSpace.id));return R.value.filter(t=>!e.has(t.id))}),pt=a(()=>{let e=new Map;for(let t of ae.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:Q.value.devicesBySpace[e.id]??0,displays:Q.value.displaysBySpace[e.id]??0}))),ht=a(()=>Xe.value.filter(e=>!z.value[e.id]).sort((e,t)=>e.name.localeCompare(t.name))),gt=a(()=>Ze.value.filter(e=>!B.value[e.id]).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)));b(async()=>{try{await pe(),Xe.value=await ue(),Ze.value=await U(),Ke(Xe.value),qe(Ze.value),await H()}catch{m.error(i(`spacesModule.messages.loadError`))}});let _t=()=>{if(Ye.value.trim()){let e=Ie(Ye.value.trim());e.success?Ye.value=``:m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:e.duplicateOf}))}},vt=e=>{let t=Be(e);t.convertedToMatch?m.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},yt=e=>{let t=We(e);t.convertedToMatch?m.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},bt=e=>{Ve(e)},xt=e=>{Ge(e)},{getCategoryOptions:St,getCategoryGroups:Ct,getCategoryTemplates:wt}=Je(),Tt=e=>{e.category&&!Ue(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 ne.value)if(e.selected&&e.type===Z.ZONE&&!e.category)return m.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;for(let e of ie.value)if(e.selected&&e.type===Z.ZONE&&!e.category)return m.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;return!0},Ot=()=>{if(L.value===0){if(!Dt())return;me()}Oe()},kt=()=>{C.value?l.replace({name:Le.SPACES}):l.push({name:Le.SPACES})},At=async()=>{try{await ve();let e=await Ce();m.success(i(`spacesModule.wizard.messages.completed`,{devices:e.devicesAssigned,displays:e.displaysAssigned,zones:e.zonesAssigned})),C.value?l.replace({name:Le.SPACES}):l.push({name:Le.SPACES})}catch{m.error(i(`spacesModule.messages.saveError`))}};return(n,a)=>(h(),e(I,null,[E(S)?k(``,!0):(h(),p(E(be),{key:0,teleport:``},{icon:N(()=>[d(E(t),{icon:`mdi:wizard-hat`,class:`w[20px] h[20px]`})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.title`)),1)]),subtitle:N(()=>[u(j(E(i)(`spacesModule.subHeadings.wizard`)),1)]),_:1})),E(S)?k(``,!0):(h(),p(E(de),{key:1,align:E(re).LEFT,teleport:``,small:``,onClick:kt},{icon:N(()=>[d(E(s),{size:24},{default:N(()=>[d(E(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),d(E(_e),{items:ct.value},null,8,[`items`]),d(E(ge),{heading:E(i)(`spacesModule.wizard.title`),"sub-heading":E(i)(`spacesModule.subHeadings.wizard`),icon:`mdi:wizard-hat`},D({_:2},[E(S)?{name:`extra`,fn:N(()=>[r(`div`,Tr,[E(L)===2&&E(V).length>0?(h(),p(E(O),{key:0,type:E(le)?`primary`:`default`,class:`px-4!`,onClick:a[0]||=e=>le.value=!E(le)},{default:N(()=>[u(j(E(le)?E(i)(`spacesModule.wizard.basic`):E(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):k(``,!0),d(E(O),{link:``,class:`px-4!`,onClick:kt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),E(L)>0?(h(),p(E(O),{key:1,class:`px-4!`,onClick:E(ke)},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):k(``,!0),E(L)<3?(h(),p(E(O),{key:2,type:`primary`,class:`px-4!`,onClick:Ot},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(h(),p(E(O),{key:3,type:`primary`,loading:E(A),class:`px-4!`,onClick:At},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]),key:`0`}:void 0]),1032,[`heading`,`sub-heading`]),r(`div`,Er,[d(E(Ee),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{header:N(()=>[d(E(Me),{active:E(L),"finish-status":`success`,"align-center":``},{default:N(()=>[d(E(Ne),{title:E(i)(`spacesModule.wizard.steps.spaces.title`)},null,8,[`title`]),d(E(Ne),{title:E(i)(`spacesModule.wizard.steps.displays.title`)},null,8,[`title`]),d(E(Ne),{title:E(i)(`spacesModule.wizard.steps.devices.title`)},null,8,[`title`]),d(E(Ne),{title:E(i)(`spacesModule.wizard.steps.summary.title`)},null,8,[`title`])]),_:1},8,[`active`])]),default:N(()=>[w((h(),e(`div`,Dr,[E(L)===0?(h(),e(I,{key:0},[d(E(we),{type:`info`,title:E(i)(`spacesModule.wizard.steps.spaces.alertTitle`),description:E(i)(`spacesModule.wizard.steps.spaces.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(se),{class:`flex-1 overflow-hidden h-full`},{default:N(()=>[E(ne).length>0?(h(),e(I,{key:0},[r(`h4`,Or,j(E(i)(`spacesModule.wizard.steps.spaces.proposed`)),1),(h(!0),e(I,null,T(E(ne),(n,a)=>(h(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(De),{"model-value":n.selected,onChange:()=>E(je)(a)},null,8,[`model-value`,`onChange`]),r(`div`,kr,[n.editing?(h(),p(E(fe),{key:1,ref_for:!0,ref:e=>nt(a,e),modelValue:n.editName,"onUpdate:modelValue":e=>n.editName=e,size:`small`,class:`max-w-[250px]!`,onKeyup:[P(e=>vt(a),[`enter`]),P(e=>bt(a),[`esc`])],onBlur:e=>vt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(h(),e(I,{key:0},[u(j(n.name)+` `,1),d(E(O),{link:``,size:`small`,onClick:e=>it(a)},{default:N(()=>[d(E(s),{size:14},{default:N(()=>[d(E(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(n.deviceCount)+` `+j(E(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),d(E(J),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>Tt(n)},{default:N(()=>[d(E(Y),{label:E(i)(`spacesModule.fields.spaces.type.options.room`),value:E(Z).ROOM},null,8,[`label`,`value`]),d(E(Y),{label:E(i)(`spacesModule.fields.spaces.type.options.zone`),value:E(Z).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),d(E(J),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:E(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===E(Z).ROOM,required:n.type===E(Z).ZONE,class:`w-[180px]!`,onChange:()=>Et(n)},{default:N(()=>[n.type===E(Z).ZONE?(h(!0),e(I,{key:0},T(E(Ct)(n.type),a=>(h(),p(E(Te),{key:a.key,label:E(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:N(()=>[(h(!0),e(I,null,T(a.categories,e=>(h(),p(E(Y),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Ar,[E(wt)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(h(!0),e(I,{key:1},T(E(St)(n.type),e=>(h(),p(E(Y),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,jr,[E(wt)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),d(E(O),{size:`small`,type:`warning`,plain:``,onClick:e=>E(X)(a)},{icon:N(()=>[d(E(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):E(ae).length===0?(h(),p(E(we),{key:1,type:`info`,title:E(i)(`spacesModule.wizard.steps.spaces.noProposals`),closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`])):k(``,!0),pt.value.length>0?(h(),e(I,{key:2},[r(`h4`,Mr,j(E(i)(`spacesModule.wizard.steps.spaces.matchedExisting`)),1),(h(!0),e(I,null,T(pt.value,t=>(h(),e(`div`,{key:t.existingSpace.id,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(De),{"model-value":!0,disabled:``}),r(`span`,Nr,[t.matchCount===1?(h(),e(I,{key:0},[u(j(t.proposedNames[0])+` `,1),r(`span`,Pr,` → `+j(E(i)(`spacesModule.wizard.steps.spaces.matchedWith`,{name:t.existingSpace.name})),1)],64)):(h(),e(`span`,Fr,j(E(i)(`spacesModule.wizard.steps.spaces.multipleMatchedWith`,{count:t.matchCount,name:t.existingSpace.name})),1))]),d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(t.totalDeviceCount)+` `+j(E(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),d(E(W),{size:`small`,type:`success`},{default:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.spaces.existingTag`)),1)]),_:1})]))),128))],64)):k(``,!0),ft.value.length>0?(h(),e(I,{key:3},[r(`h4`,Ir,j(E(i)(`spacesModule.wizard.steps.spaces.existing`)),1),r(`div`,Lr,[(h(!0),e(I,null,T(ft.value,e=>(h(),p(E(W),{key:e.id,size:`large`},{default:N(()=>[u(j(e.name),1)]),_:2},1024))),128))])],64)):k(``,!0),E(ie).length>0?(h(),e(I,{key:4},[r(`h4`,Rr,j(E(i)(`spacesModule.wizard.steps.spaces.custom`)),1),(h(!0),e(I,null,T(E(ie),(n,a)=>(h(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(De),{"model-value":n.selected,onChange:()=>E(Fe)(a)},null,8,[`model-value`,`onChange`]),r(`div`,zr,[n.editing?(h(),p(E(fe),{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:[P(e=>yt(a),[`enter`]),P(e=>xt(a),[`esc`])],onBlur:e=>yt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(h(),e(I,{key:0},[u(j(n.name)+` `,1),d(E(O),{link:``,size:`small`,onClick:e=>at(a)},{default:N(()=>[d(E(s),{size:14},{default:N(()=>[d(E(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),d(E(J),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>Tt(n)},{default:N(()=>[d(E(Y),{label:E(i)(`spacesModule.fields.spaces.type.options.room`),value:E(Z).ROOM},null,8,[`label`,`value`]),d(E(Y),{label:E(i)(`spacesModule.fields.spaces.type.options.zone`),value:E(Z).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),d(E(J),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:E(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===E(Z).ROOM,required:n.type===E(Z).ZONE,class:`w-[180px]!`,onChange:()=>Et(n)},{default:N(()=>[n.type===E(Z).ZONE?(h(!0),e(I,{key:0},T(E(Ct)(n.type),a=>(h(),p(E(Te),{key:a.key,label:E(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:N(()=>[(h(!0),e(I,null,T(a.categories,e=>(h(),p(E(Y),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Br,[E(wt)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(h(!0),e(I,{key:1},T(E(St)(n.type),e=>(h(),p(E(Y),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Vr,[E(wt)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),d(E(O),{size:`small`,type:`warning`,plain:``,onClick:e=>E(Re)(a)},{icon:N(()=>[d(E(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):k(``,!0),r(`h4`,Hr,j(E(i)(`spacesModule.wizard.steps.spaces.addManual`)),1),r(`div`,Ur,[d(E(fe),{modelValue:Ye.value,"onUpdate:modelValue":a[1]||=e=>Ye.value=e,placeholder:E(i)(`spacesModule.wizard.steps.spaces.placeholder`)},null,8,[`modelValue`,`placeholder`]),d(E(O),{type:`primary`,disabled:!Ye.value.trim(),onClick:_t},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.add.title`)),1)]),_:1},8,[`disabled`])])]),_:1})],64)):k(``,!0),E(L)===1?(h(),e(I,{key:1},[d(E(we),{type:`info`,title:E(i)(`spacesModule.wizard.steps.displays.alertTitle`),description:E(i)(`spacesModule.wizard.steps.displays.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(q),{data:ot.value,class:`w-full flex-grow`,"table-layout":`fixed`},{empty:N(()=>[r(`div`,Wr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.displays.noDisplays`)),1)]),_:1})])]),default:N(()=>[d(E(K),{prop:`name`,label:E(i)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:t})=>[r(`div`,null,[t.name?(h(),e(I,{key:0},[r(`div`,Gr,j(t.name),1),r(`div`,Kr,j(t.macAddress),1)],64)):(h(),e(`div`,qr,j(t.macAddress),1))])]),_:1},8,[`label`]),d(E(K),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:N(({row:n})=>[d(E(J),{"model-value":E(B)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(xe)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(ut.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,Jr,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])],64)):k(``,!0),E(L)===2?(h(),e(I,{key:2},[d(E(we),{type:`info`,title:E(i)(`spacesModule.wizard.steps.devices.alertTitle`),description:E(i)(`spacesModule.wizard.steps.devices.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(q),{data:st.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{empty:N(()=>[r(`div`,Yr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.devices.noDevices`)),1)]),_:1})])]),default:N(()=>[d(E(K),{prop:`name`,label:E(i)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:t})=>[r(`div`,null,[r(`div`,null,j(t.name),1),t.description?(h(),e(`div`,Xr,j(t.description),1)):k(``,!0)])]),_:1},8,[`label`]),d(E(K),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:N(({row:n})=>[d(E(J),{"model-value":E(z)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(ye)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(ut.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,Zr,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),E(le)&&E(V).length>0?(h(),p(E(K),{key:0,label:E(i)(`spacesModule.wizard.zones`),width:`250`},{default:N(({row:t})=>[d(E(J),{"model-value":E(ce)[t.id]||[],multiple:``,clearable:``,"collapse-tags":``,placeholder:E(i)(`spacesModule.wizard.selectZones`),class:`w-full`,"onUpdate:modelValue":e=>E(Se)(t.id,e)},{default:N(()=>[(h(!0),e(I,null,T(E(V),e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])):k(``,!0)]),_:1},8,[`data`])],64)):k(``,!0),E(L)===3?(h(),e(I,{key:3},[d(E(we),{type:`info`,title:E(i)(`spacesModule.wizard.steps.summary.alertTitle`),description:E(i)(`spacesModule.wizard.steps.summary.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),r(`div`,Qr,[r(`div`,null,[r(`div`,$r,j(E(Q).spaceCount),1),r(`div`,ei,j(E(i)(`spacesModule.wizard.summary.totalSpaces`)),1)]),r(`div`,null,[r(`div`,ti,j(E(Q).assignedDevices),1),r(`div`,ni,j(E(i)(`spacesModule.wizard.summary.assignedDevices`)),1)]),d(E(te),{content:E(i)(`spacesModule.wizard.summary.clickToAssignDevices`),placement:`top`,disabled:E(Q).unassignedDevices===0},{default:N(()=>[r(`div`,{class:y({"cursor-pointer":E(Q).unassignedDevices>0}),onClick:a[2]||=e=>E(Q).unassignedDevices>0&&(Qe.value=!0)},[r(`div`,ri,j(E(Q).unassignedDevices),1),r(`div`,ii,j(E(i)(`spacesModule.wizard.summary.unassignedDevices`)),1)],2)]),_:1},8,[`content`,`disabled`]),r(`div`,null,[r(`div`,ai,j(E(Q).assignedDisplays),1),r(`div`,oi,j(E(i)(`spacesModule.wizard.summary.assignedDisplays`)),1)]),d(E(te),{content:E(i)(`spacesModule.wizard.summary.clickToAssignDisplays`),placement:`top`,disabled:E(Q).unassignedDisplays===0},{default:N(()=>[r(`div`,{class:y({"cursor-pointer":E(Q).unassignedDisplays>0}),onClick:a[3]||=e=>E(Q).unassignedDisplays>0&&($e.value=!0)},[r(`div`,si,j(E(Q).unassignedDisplays),1),r(`div`,ci,j(E(i)(`spacesModule.wizard.summary.unassignedDisplays`)),1)],2)]),_:1},8,[`content`,`disabled`])]),E(lt).length>0?(h(),e(I,{key:0},[r(`h4`,li,j(E(i)(`spacesModule.wizard.summary.bySpace`)),1),d(E(q),{data:mt.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{default:N(()=>[d(E(K),{prop:`name`,label:E(i)(`spacesModule.wizard.spaceName`)},{default:N(({row:e})=>[r(`div`,ui,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1),d(E(W),{size:`small`,type:e.type===E(Z).ROOM?`primary`:`info`,class:`ml-2`},{default:N(()=>[u(j(e.type===E(Z).ROOM?E(i)(`spacesModule.misc.types.room`):E(i)(`spacesModule.misc.types.zone`)),1)]),_:2},1032,[`type`]),e.devices===0&&e.type===E(Z).ROOM?(h(),p(E(W),{key:0,size:`small`,type:`warning`,class:`ml-1`},{default:N(()=>[u(j(E(i)(`spacesModule.wizard.summary.noDevices`)),1)]),_:1})):k(``,!0)])]),_:1},8,[`label`]),d(E(K),{prop:`devices`,label:E(i)(`spacesModule.wizard.devices`),width:`120`,align:`center`},null,8,[`label`]),d(E(K),{prop:`displays`,label:E(i)(`spacesModule.wizard.displays`),width:`120`,align:`center`},null,8,[`label`])]),_:1},8,[`data`])],64)):k(``,!0)],64)):k(``,!0),d(E(Ae),{modelValue:Qe.value,"onUpdate:modelValue":a[4]||=e=>Qe.value=e,title:E(i)(`spacesModule.wizard.summary.unassignedDevicesTitle`)},{default:N(()=>[d(E(q),{data:ht.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:N(()=>[d(E(K),{prop:`name`,label:E(i)(`spacesModule.wizard.deviceName`)},null,8,[`label`]),d(E(K),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:N(({row:n})=>[d(E(J),{"model-value":E(z)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(ye)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(ut.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,di,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]),d(E(Ae),{modelValue:$e.value,"onUpdate:modelValue":a[5]||=e=>$e.value=e,title:E(i)(`spacesModule.wizard.summary.unassignedDisplaysTitle`)},{default:N(()=>[d(E(q),{data:gt.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:N(()=>[d(E(K),{label:E(i)(`spacesModule.wizard.displayName`)},{default:N(({row:t})=>[t.name?(h(),e(I,{key:0},[r(`div`,fi,j(t.name),1),r(`div`,pi,j(t.macAddress),1)],64)):(h(),e(`div`,mi,j(t.macAddress),1))]),_:1},8,[`label`]),d(E(K),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:N(({row:n})=>[d(E(J),{"model-value":E(B)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(xe)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(ut.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,hi,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`])])),[[E(Pe),E(A)]]),E(S)?k(``,!0):(h(),e(`div`,gi,[E(L)>0?(h(),p(E(O),{key:0,onClick:E(ke)},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):(h(),e(`div`,_i)),r(`div`,vi,[d(E(O),{onClick:kt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),E(L)===2&&E(V).length>0?(h(),p(E(O),{key:0,type:E(le)?`primary`:`default`,onClick:a[6]||=e=>le.value=!E(le)},{default:N(()=>[u(j(E(le)?E(i)(`spacesModule.wizard.basic`):E(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):k(``,!0),E(L)<3?(h(),p(E(O),{key:1,type:`primary`,onClick:Ot},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(h(),p(E(O),{key:2,type:`primary`,loading:E(A),onClick:At},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]))]),_:1})])],64))}}),bi=`spaces-home-control-plugin`,xi=`com.fastybird.smart-panel.plugin.spaces-home-control`,Si=[Z.ROOM,Z.ZONE],Ci={SPACE:`spaces_home_control_plugin-space`,SPACE_EDIT:`spaces_home_control_plugin-space_edit`};export{yi as a,ur as c,Rn as d,An as f,Si as i,rr as l,bi as n,wr as o,Sn as p,xi as r,_r as s,Ci as t,Xn 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,Gr as o,H as s,Hr as c,Ki as l,Mr as u,Nr as d,O as f,Or as p,Pr as m,Qr as h,Si as g,T as _,Ti as v,Wi as y,Yr as b,b as x,bi as S,ci as C,di as w,ei as T,ji as E,jr as D,k as O,kr as k,n as A,qi as j,t as M,ui as N,vr as P,x as F,xr as I,yr as L,zr as R}from"./icon-with-child-CgZMNB3F.js";import{t as ee}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{$r as te,Bn as ne,Cr as re,Dr as ie,E as ae,Gn as oe,Jn as z,Jr as se,Kn as B,Kr as ce,On as le,Or as V,Pn as H,Pr as ue,Sr as de,Un as U,Ur as W,Xr as fe,aa as pe,b as me,f as he,hr as G,m as ge,mr as _e,p as ve,qr as ye,xr as be}from"./common-CEAYa_VX.js";import{n as K,t as q}from"./table-CP4k6PuT.js";import{n as xe,t as Se}from"./form-CYGBQyZI.js";import{t as Ce}from"./skeleton-DkyCzTs7.js";import{t as we}from"./alert-B_504iE8.js";import{n as Te,r as J,t as Y}from"./select-BE-J6w_y.js";import{t as Ee}from"./card-C50YgvLJ.js";import{t as De}from"./checkbox-DKrpi0d7.js";import{n as Oe,t as ke}from"./collapse-CcS8OeLM.js";import{t as Ae}from"./dialog-BKnLpTNm.js";import{t as je}from"./slider-B7Mhws2_.js";import{n as Me,t as Ne}from"./steps-ChWGGNoh.js";import"./components-CGY9a3zE.js";import{t as Pe}from"./directive-D42ORGRu.js";import{t as Fe}from"./useUuid-B2AwaEQg.js";import{i as Ie}from"./composables-ZUeIfONp.js";import{c as Le,f as X,g as Z,l as Re,m as ze,p as Be,r as Ve,t as He,w as Ue}from"./keys-BYonWGX0.js";import{a as We,i as Ge,r as Ke,t as qe,u as Q}from"./useSpaces-dSwttzjs.js";import{c as Je,f as Ye,o as Xe,s as Ze}from"./composables-CdLuPMLl.js";import{D as Qe}from"./composables-BiL7NDB2.js";import{f as $e,n as et,r as tt,x as nt}from"./composables-D5CRUz8s.js";import"./spaces-DUnXUSuq.js";var rt=()=>{let e=R(He);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}},it={key:1,class:`flex justify-center py-4`},at={class:`flex items-center gap-2`},ot={class:`flex flex-col`},st={key:0,class:`text-xs text-gray-400`},ct={class:`flex gap-1`},lt={class:`flex justify-between items-center mt-4`},ut={class:`text-xs text-gray-400`},dt=m({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=ve(),c=he(),{lightingSignal:l}=rt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:B.main,label:o(`spacesHomeControlPlugin.lightingRoles.main`)},{value:B.task,label:o(`spacesHomeControlPlugin.lightingRoles.task`)},{value:B.ambient,label:o(`spacesHomeControlPlugin.lightingRoles.ambient`)},{value:B.accent,label:o(`spacesHomeControlPlugin.lightingRoles.accent`)},{value:B.night,label:o(`spacesHomeControlPlugin.lightingRoles.night`)},{value:B.other,label:o(`spacesHomeControlPlugin.lightingRoles.other`)},{value:B.hidden,label:o(`spacesHomeControlPlugin.lightingRoles.hidden`)}]),w=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasBrightness:e.has_brightness??!1,hasColorTemp:e.has_color_temp??!1,hasColor:e.has_color??!1}))}finally{m.value=!1}},D=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${X}/spaces/{id}/lighting/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update lighting role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${X}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear lighting role`);return}e.role=null}}catch{c.error(`Failed to update lighting role`)}},P=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${X}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await w(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&w()}),C(()=>l?.value,()=>{i.space?.id&&w()}),b(()=>{i.space?.id&&w()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(ue),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,it,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(q),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(K),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,at,[d(E(t),{icon:`mdi:lightbulb`}),r(`div`,ot,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,st,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.title`),width:`160`},{default:N(({row:t})=>[d(E(J),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>D(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`100`},{default:N(({row:e})=>[r(`div`,ct,[e.hasBrightness?(h(),p(E(W),{key:0,type:`info`,size:`small`},{default:N(()=>[...a[0]||=[u(`Dim`,-1)]]),_:1})):k(``,!0),e.hasColor?(h(),p(E(W),{key:1,type:`success`,size:`small`},{default:N(()=>[...a[1]||=[u(`RGB`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,lt,[d(E(O),{size:`small`,loading:v.value,onClick:P},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,ut,j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:lightbulb`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),ft=m({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(Ae),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(dt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),pt={key:1,class:`flex justify-center py-4`},mt={class:`flex items-center gap-2`},ht={class:`flex flex-col`},gt={key:0,class:`text-xs text-gray-400`},_t={class:`flex gap-1`},vt={class:`flex justify-between items-center mt-4`},yt={class:`text-xs text-gray-400 ml-4`},bt=m({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=ve(),c=he(),{climateSignal:l}=rt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:z.heating_only,label:o(`spacesHomeControlPlugin.climateRoles.${z.heating_only}`)},{value:z.cooling_only,label:o(`spacesHomeControlPlugin.climateRoles.${z.cooling_only}`)},{value:z.auto,label:o(`spacesHomeControlPlugin.climateRoles.${z.auto}`)},{value:z.auxiliary,label:o(`spacesHomeControlPlugin.climateRoles.${z.auxiliary}`)},{value:z.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${z.hidden}`)}]),w=a(()=>[{value:z.sensor,label:o(`spacesHomeControlPlugin.climateRoles.${z.sensor}`)},{value:z.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${z.hidden}`)}]),D=e=>e.deviceCategory===`sensor`?w.value:S.value,P=e=>{switch(e){case`thermostat`:return`mdi:thermostat`;case`heating_unit`:return`mdi:radiator`;case`water_heater`:return`mdi:water-boiler`;case`air_conditioner`:return`mdi:air-conditioner`;case`fan`:return`mdi:fan`;case`air_humidifier`:return`mdi:air-humidifier`;case`air_dehumidifier`:return`mdi:air-humidifier-off`;case`air_purifier`:return`mdi:air-purifier`;case`sensor`:return`mdi:thermometer`;default:return`mdi:thermostat-box`}},F=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``,channelId:e.channel_id??null,channelName:e.channel_name??null,role:e.role?e.role:null,priority:e.priority??0,hasTemperature:e.has_temperature??!1,hasHumidity:e.has_humidity??!1}))}finally{m.value=!1}},L=async(e,t)=>{try{if(t){let n={device_id:e.deviceId,role:t};e.channelId&&(n.channel_id=e.channelId);let{error:r}=await s.client.POST(`/${A}/${X}/spaces/{id}/climate/roles`,{params:{path:{id:i.space.id}},body:{data:n}});if(r){c.error(`Failed to update climate role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${X}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(t){c.error(`Failed to clear climate role`);return}e.role=null}}catch{c.error(`Failed to update climate role`)}},R=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${X}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await F(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&F()}),C(()=>l?.value,()=>{i.space?.id&&F()}),b(()=>{i.space?.id&&F()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(ue),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,pt,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(q),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(K),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,mt,[d(E(t),{icon:P(n.deviceCategory)},null,8,[`icon`]),r(`div`,ht,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,gt,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.title`),width:`200`},{default:N(({row:t})=>[d(E(J),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>L(t,e)},{default:N(()=>[(h(!0),e(I,null,T(D(t),e=>(h(),p(E(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`120`},{default:N(({row:e})=>[r(`div`,_t,[e.hasTemperature?(h(),p(E(W),{key:0,type:`warning`,size:`small`},{default:N(()=>[...a[0]||=[u(`Temp`,-1)]]),_:1})):k(``,!0),e.hasHumidity?(h(),p(E(W),{key:1,type:`info`,size:`small`},{default:N(()=>[...a[1]||=[u(`Humid`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,vt,[d(E(O),{size:`small`,loading:v.value,onClick:R},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,yt,j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:thermostat`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),xt=m({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(Ae),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(bt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),St={key:1,class:`flex justify-center py-4`},Ct={class:`flex items-center gap-2`},wt={class:`flex flex-col`},Tt={key:0,class:`text-xs text-gray-400`},Et={class:`flex gap-1`},Dt={class:`flex justify-between items-center mt-4`},Ot={class:`text-xs text-gray-400`},kt=m({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=ve(),c=he(),{coversSignal:l}=rt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:U.primary,label:o(`spacesHomeControlPlugin.coversRoles.primary`)},{value:U.blackout,label:o(`spacesHomeControlPlugin.coversRoles.blackout`)},{value:U.sheer,label:o(`spacesHomeControlPlugin.coversRoles.sheer`)},{value:U.outdoor,label:o(`spacesHomeControlPlugin.coversRoles.outdoor`)},{value:U.hidden,label:o(`spacesHomeControlPlugin.coversRoles.hidden`)}]),w=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasPosition:e.has_position??!1,hasCommand:e.has_command??!1,hasTilt:e.has_tilt??!1,coverType:e.cover_type??null}))}finally{m.value=!1}},D=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${X}/spaces/{id}/covers/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update covers role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${X}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear covers role`);return}e.role=null}}catch{c.error(`Failed to update covers role`)}},P=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${X}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await w(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&w()}),C(()=>l?.value,()=>{i.space?.id&&w()}),b(()=>{i.space?.id&&w()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(ue),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,St,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(q),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(K),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,Ct,[d(E(t),{icon:`mdi:blinds`}),r(`div`,wt,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,Tt,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.title`),width:`160`},{default:N(({row:t})=>[d(E(J),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>D(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`100`},{default:N(({row:e})=>[r(`div`,Et,[e.hasPosition?(h(),p(E(W),{key:0,type:`info`,size:`small`},{default:N(()=>[...a[0]||=[u(`Pos`,-1)]]),_:1})):k(``,!0),e.hasTilt?(h(),p(E(W),{key:1,type:`success`,size:`small`},{default:N(()=>[...a[1]||=[u(`Tilt`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,Dt,[d(E(O),{size:`small`,loading:v.value,onClick:P},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Ot,j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:blinds`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),At=m({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(Ae),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(kt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),jt={key:1,class:`flex justify-center py-4`},Mt={class:`flex items-center gap-2`},Nt={class:`flex flex-col`},Pt={class:`text-xs text-gray-400`},Ft={class:`flex justify-between items-center mt-4`},It={class:`text-xs text-gray-400 ml-4`},Lt=m({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=ve(),c=he(),{sensorSignal:l}=rt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>Re.map(e=>({value:e,label:o(`spacesHomeControlPlugin.sensorRoles.${e}`)}))),w=e=>{switch(e){case`temperature`:return o(`spacesHomeControlPlugin.sensorRoles.categories.temperature`);case`humidity`:return o(`spacesHomeControlPlugin.sensorRoles.categories.humidity`);case`pressure`:return o(`spacesHomeControlPlugin.sensorRoles.categories.pressure`);case`illuminance`:return o(`spacesHomeControlPlugin.sensorRoles.categories.illuminance`);case`smoke`:return o(`spacesHomeControlPlugin.sensorRoles.categories.smoke`);case`gas`:return o(`spacesHomeControlPlugin.sensorRoles.categories.gas`);case`carbon_monoxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_dioxide`);case`leak`:return o(`spacesHomeControlPlugin.sensorRoles.categories.leak`);case`motion`:return o(`spacesHomeControlPlugin.sensorRoles.categories.motion`);case`occupancy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.occupancy`);case`contact`:return o(`spacesHomeControlPlugin.sensorRoles.categories.contact`);case`air_quality`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_quality`);case`air_particulate`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return o(`spacesHomeControlPlugin.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return o(`spacesHomeControlPlugin.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_generation`);case`electrical_power`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_power`);case`battery`:return o(`spacesHomeControlPlugin.sensorRoles.categories.battery`);default:return e}},D=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map((e,t)=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category,role:e.role?e.role:null,priority:e.priority??t}))}finally{m.value=!1}},P=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${X}/spaces/{id}/sensors/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update sensor role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${X}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear sensor role`);return}e.role=null}}catch{c.error(`Failed to update sensor role`)}},F=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${X}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await D(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&D()}),C(()=>l?.value,()=>{i.space?.id&&D()}),b(()=>{i.space?.id&&D()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(ue),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,jt,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(q),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(K),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:e})=>[r(`div`,Mt,[d(E(t),{icon:`mdi:motion-sensor`}),r(`div`,Nt,[r(`span`,null,j(e.deviceName),1),r(`span`,Pt,j(e.channelName),1)])])]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:N(({row:e})=>[d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(w(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(K),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.title`),width:`200`},{default:N(({row:t})=>[d(E(J),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>P(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(Y),{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`,Ft,[d(E(O),{size:`small`,loading:v.value,onClick:F},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,It,j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:motion-sensor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),Rt=m({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(Ae),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(Lt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),zt={class:`flex items-start gap-3`},Bt={class:`flex-1 min-w-0 space-domain-card__content`},Vt={class:`space-domain-card__title`},Ht={class:`space-domain-card__description`},Ut={class:`space-domain-card__tags`},Wt={class:`flex items-center gap-1`},Gt={key:2,class:`space-domain-card__not-configured`},Kt={class:`space-domain-card__chevron`},qt=i(m({name:`SpaceDomainCard`,__name:`space-domain-card`,props:{icon:{},iconColor:{},title:{},description:{},tags:{},loading:{type:Boolean}},emits:[`click`],setup(n,{emit:i}){let a=n,o=i,{t:s}=_();return(n,i)=>(h(),p(E(Ee),{shadow:`hover`,class:`space-domain-card`,"body-class":`p-4!`,onClick:i[0]||=e=>o(`click`)},{default:N(()=>[r(`div`,zt,[r(`div`,{class:`space-domain-card__icon`,style:l({backgroundColor:`var(--el-color-${a.iconColor}-light-9)`,color:`var(--el-color-${a.iconColor})`})},[d(E(t),{icon:a.icon},null,8,[`icon`])],4),r(`div`,Bt,[r(`h3`,Vt,j(a.title),1),r(`p`,Ht,j(a.description),1),r(`div`,Ut,[a.loading?(h(),p(E(Ce),{key:0,animated:``,rows:0,class:`w-20`})):a.tags.length>0?(h(!0),e(I,{key:1},T(a.tags,e=>(h(),p(E(W),{key:e.label,type:e.type,size:`small`},{default:N(()=>[r(`div`,Wt,[d(E(t),{icon:e.icon},null,8,[`icon`]),u(` `+j(e.label)+` `,1),d(E(ce),{value:e.count,type:e.type,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`]))),128)):(h(),e(`span`,Gt,j(E(s)(`spacesHomeControlPlugin.detail.domains.notConfigured`)),1))])]),r(`div`,Kt,[d(E(t),{icon:`mdi:chevron-right`})])])]),_:1}))}}),[[`__scopeId`,`data-v-69dd2703`]]),Jt=e=>({propertyId:e.property_id??e.propertyId,dataType:e.data_type??e.dataType,format:e.format??null}),Yt=e=>{let t=e.capabilities??{},n=e.links??{},r={};return(n.input_select||n.inputSelect)&&(r.inputSelect=Jt(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}},Xt=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}),Zt=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}),Qt=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}),$t=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(Zt):void 0,warnings:Array.isArray(e.warnings)?e.warnings.map(Zt):void 0,errors:Array.isArray(e.errors)?e.errors.map(Zt):void 0,warningCount:e.warning_count??e.warningCount??0,errorCount:e.error_count??e.errorCount??0}),en=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}},tn=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?Qt(t):{},plan:n.map(en),warnings:r.map(e=>({label:e.label??``}))}},nn=e=>{let t=e.resolved,n=e.summary;return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t?Qt(t):void 0,summary:n?$t(n):void 0,warnings:e.warnings}},rn=e=>{let t,n;if(e.resolved)try{t=Qt(typeof e.resolved==`string`?JSON.parse(e.resolved):e.resolved)}catch{}if(e.last_result)try{n=$t(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}},an=e=>{switch(e){case`watch`:return`primary`;case`listen`:return`success`;case`gaming`:return`danger`;case`background`:return`info`;default:return`info`}},on=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`}},sn=e=>{let t=ve(),n=g([]),r=g([]),i=g(null),o=g(!1),s=g(!1),c=g(!1),l=g(!1),u=g(!1),d=g(!1),f=g(!1),p=g(null),m=g(null),h=g(null),_=g(!1),v=g(null),y=g(null),b=a(()=>n.value),x=a(()=>r.value),S=async()=>{if(!(!e.value||o.value)){o.value=!0,p.value=null;try{let{data:r,error:i}=await t.client.GET(`/${A}/${X}/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(Yt)}catch(e){p.value=e instanceof Error?e.message:`Unknown error`}finally{o.value=!1}}},C=async()=>{if(!(!e.value||s.value)){s.value=!0,m.value=null;try{let{data:n,error:i}=await t.client.GET(`/${A}/${X}/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(Xt)}catch(e){m.value=e instanceof Error?e.message:`Unknown error`}finally{s.value=!1}}},w=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.PATCH(`/${A}/${X}/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=Xt(a.data),c=r.value.findIndex(e=>e.id===s.id);return c>=0&&(r.value[c]=s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},T=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.POST(`/${A}/${X}/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=Xt(a.data);return r.value.push(s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},E=async n=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{error:i}=await t.client.DELETE(`/${A}/${X}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}}});if(i){let e=i?.message??`Failed to delete binding`;throw Error(e)}r.value=r.value.filter(e=>e.id!==n)}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},D=async()=>{if(e.value){f.value=!0;try{let{data:n,error:i}=await t.client.POST(`/${A}/${X}/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(Xt)}catch(e){throw m.value=e instanceof Error?e.message:`Unknown error`,e}finally{f.value=!1}}},O=async()=>{if(!(!e.value||c.value)){c.value=!0,v.value=null,y.value=null;try{let{data:n,error:r}=await t.client.GET(`/${A}/${X}/spaces/{id}/media/activities/active`,{params:{path:{id:e.value}}});if(r||!n)throw Error(`Failed to fetch active state`);i.value=n.data?rn(n.data):null}catch(e){v.value=e instanceof Error?e.message:`Unknown error`,y.value=`fetch`}finally{c.value=!1}}},k=async(e=3,t=1e3)=>{for(let n=0;n<e&&(await new Promise(e=>setTimeout(e,t)),await O(),!(i.value?.state===`active`||i.value?.state===`failed`||i.value?.state===`deactivated`));n++);};return{endpoints:b,bindings:x,activeState:i,fetchingEndpoints:o,fetchingBindings:s,fetchingActiveState:c,activating:l,deactivating:u,previewing:_,savingBinding:d,applyingDefaults:f,endpointsError:p,bindingsError:m,saveError:h,activationError:v,activationErrorSource:y,fetchEndpoints:S,fetchBindings:C,fetchActiveState:O,activate:async n=>{if(!e.value)throw Error(`Space ID is required`);l.value=!0,v.value=null,y.value=null,i.value={activityKey:n,state:`activating`};try{let{data:r,error:a}=await t.client.POST(`/${A}/${X}/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=nn(r.data);return i.value=o,o.state===`activating`&&await k(),i.value??o}catch(e){throw v.value=e instanceof Error?e.message:`Unknown error`,y.value=`activate`,i.value={activityKey:n,state:`failed`},e}finally{l.value=!1}},preview:async n=>{if(!e.value)throw Error(`Space ID is required`);_.value=!0;try{let{data:r,error:i}=await t.client.POST(`/${A}/${X}/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 tn(r.data)}finally{_.value=!1}},deactivate:async()=>{if(!e.value)throw Error(`Space ID is required`);u.value=!0,v.value=null,y.value=null;try{let{data:n,error:r}=await t.client.POST(`/${A}/${X}/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=nn(n.data);return i.value=a,a}catch(e){throw v.value=e instanceof Error?e.message:`Unknown error`,y.value=`deactivate`,e}finally{u.value=!1}},saveBinding:w,createBinding:T,deleteBinding:E,applyDefaults:D,endpointsByType:e=>a(()=>n.value.filter(t=>t.type===e)),findBindingByActivity:e=>r.value.find(t=>t.activityKey===e)}},cn=[`element-loading-text`],ln={class:`flex items-center gap-3 flex-1 pr-2`},un={class:`font-medium text-sm`},dn={class:`flex items-center justify-between w-full`},fn={class:`flex gap-1 ml-2`},pn={class:`flex items-center justify-between w-full`},mn={class:`flex gap-1 ml-2`},hn={class:`flex items-center justify-between w-full`},gn={class:`flex gap-1 ml-2`},_n={class:`flex justify-between items-center mt-2`},vn={class:`flex items-center gap-2`},yn={class:`text-xs text-gray-400`},bn=m({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(n,{emit:i}){let s=n,l=i,{t:f}=_(),m=he(),v=a({get:()=>s.visible,set:e=>l(`update:visible`,e)}),{endpoints:b,activeState:x,fetchingEndpoints:D,fetchingBindings:A,activating:M,deactivating:P,applyingDefaults:F,activationError:R,fetchEndpoints:ee,fetchBindings:te,fetchActiveState:ne,activate:re,deactivate:ie,saveBinding:ae,createBinding:z,deleteBinding:se,applyDefaults:B,findBindingByActivity:ce,endpointsByType:le}=sn(a(()=>s.space?.id)),V=[H.watch,H.listen,H.gaming,H.background],ue=g(``),de=g(null),U=g(!1),pe=a(()=>D.value||A.value),me=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),G=S({[H.watch]:me(),[H.listen]:me(),[H.gaming]:me(),[H.background]:me()}),ge=S({[H.watch]:me(),[H.listen]:me(),[H.gaming]:me(),[H.background]:me()}),_e=S({[H.watch]:!1,[H.listen]:!1,[H.gaming]:!1,[H.background]:!1}),ve=S({[H.watch]:null,[H.listen]:null,[H.gaming]:null,[H.background]:null}),ye=le(oe.display),be=le(oe.audio_output),K=le(oe.source),q=le(oe.remote_target),Ce=(e,t)=>{G[e].displayEndpointId=t?.displayEndpointId??``,G[e].audioEndpointId=t?.audioEndpointId??``,G[e].sourceEndpointId=t?.sourceEndpointId??``,G[e].remoteEndpointId=t?.remoteEndpointId??``,G[e].displayInputId=t?.displayInputId??``,G[e].audioInputId=t?.audioInputId??``,G[e].sourceInputId=t?.sourceInputId??``,G[e].audioVolumePreset=t?.audioVolumePreset??30,Object.assign(ge[e],{...G[e]})},Te=()=>{for(let e of V){let t=ce(e);Ce(e,t)}},Ee=e=>{let t=G[e],n=ge[e];return t.displayEndpointId!==n.displayEndpointId||t.audioEndpointId!==n.audioEndpointId||t.sourceEndpointId!==n.sourceEndpointId||t.remoteEndpointId!==n.remoteEndpointId||t.displayInputId!==n.displayInputId||t.audioInputId!==n.audioInputId||t.sourceInputId!==n.sourceInputId||t.audioVolumePreset!==n.audioVolumePreset},De=(e,t)=>{let n=G[e][t];return n?b.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},Me=e=>{let t=G[e].audioEndpointId;return t?b.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Ne=e=>{let t=b.value.find(t=>t.endpointId===e);return t?.links?.inputSelect?.dataType===`enum`&&Array.isArray(t.links.inputSelect.format)&&t.links.inputSelect.format.length>0?{type:`select`,options:t.links.inputSelect.format}:{type:`text`}},Fe=e=>{let t=Ne(e);return t.type===`select`?t.options:[]},Ie=e=>{let t=`spacesHomeControlPlugin.media.activities.mediaInputSources.${e}`,n=f(t);return n===t?String(e):n},Le=e=>{let t=` (${f(`spacesHomeControlPlugin.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},X=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Z=e=>{let t=x.value?.activityKey===e&&x.value?.state!==`deactivated`,n=t?x.value.state:void 0,r=ce(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},Re=e=>{let{isActive:t,state:n}=Z(e);return t&&n?X(n):an(e)},ze=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Z(e);return f(t?`spacesHomeControlPlugin.media.activities.activationState.${n}`:r?i?`spacesHomeControlPlugin.media.activities.status.configured`:`spacesHomeControlPlugin.media.activities.status.incomplete`:`spacesHomeControlPlugin.media.activities.status.unconfigured`)},Be=new Map,Ve=e=>{let t=G[e];return{displayEndpointId:t.displayEndpointId||null,audioEndpointId:t.audioEndpointId||null,sourceEndpointId:t.sourceEndpointId||null,remoteEndpointId:t.remoteEndpointId||null,displayInputId:De(e,`displayEndpointId`)&&t.displayInputId||null,audioInputId:De(e,`audioEndpointId`)&&t.audioInputId||null,sourceInputId:De(e,`sourceEndpointId`)&&t.sourceInputId||null,audioVolumePreset:Me(e)?t.audioVolumePreset:null}},He=async e=>{if(!_e[e]){_e[e]=!0,ve[e]=null;try{let t=ce(e),n=Ve(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...G[e]};r&&t?(await se(t.id),Ce(e,void 0),Object.assign(ge[e],i)):r?Object.assign(ge[e],i):t?(await ae(t.id,n),Object.assign(ge[e],i)):(await z(e,n),Object.assign(ge[e],i))}catch(t){ve[e]=t instanceof Error?t.message:`Failed to save`}finally{_e[e]=!1}}},Ue=e=>{let t=Be.get(e);t&&clearTimeout(t),Be.set(e,setTimeout(()=>{Be.delete(e),He(e)},500))};for(let e of V)C(()=>G[e],()=>{!U.value||!Ee(e)||Ue(e)},{deep:!0}),C(()=>G[e].displayEndpointId,()=>{U.value&&(G[e].displayInputId=``)}),C(()=>G[e].audioEndpointId,()=>{U.value&&(G[e].audioInputId=``,G[e].audioVolumePreset=30)}),C(()=>G[e].sourceEndpointId,()=>{U.value&&(G[e].sourceInputId=``)});let We=async e=>{de.value=e;try{await re(e),m.success(f(`spacesHomeControlPlugin.media.activities.activateSuccess`))}catch{m.error(f(`spacesHomeControlPlugin.media.activities.activateFailed`))}finally{de.value=null}},Ge=async()=>{try{await ie(),m.success(f(`spacesHomeControlPlugin.media.activities.deactivateSuccess`))}catch{R.value=null,m.error(f(`spacesHomeControlPlugin.media.activities.deactivateFailed`))}},Ke=async()=>{U.value=!1;try{await B(),Te(),m.success(f(`spacesHomeControlPlugin.media.activities.defaultsApplied`))}catch{m.error(f(`spacesHomeControlPlugin.media.activities.defaultsFailed`))}await c(),U.value=!0},qe=async()=>{U.value=!1,await Promise.all([ee(),te(),ne()]),Te(),await c(),U.value=!0},Q=()=>{let e=[],t=new Set;for(let[n,r]of Be)clearTimeout(r),t.add(n),e.push(He(n));Be.clear();for(let n of V)!t.has(n)&&Ee(n)&&e.push(He(n));return e};o(()=>{Promise.allSettled(Q())});let Je=async()=>{U.value=!1,await Promise.allSettled(Q()),l(`bindings-changed`),v.value=!1};return(n,i)=>(h(),p(E(Ae),{modelValue:v.value,"onUpdate:modelValue":i[2]||=e=>v.value=e,title:E(f)(`spacesHomeControlPlugin.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:qe,onClose:Je},{footer:N(()=>[d(E(O),{type:`primary`,onClick:Je},{default:N(()=>[u(j(E(f)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[w((h(),e(`div`,{"element-loading-text":E(f)(`spacesHomeControlPlugin.media.activities.loading`),class:`flex flex-col gap-4`},[d(E(we),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.activities.description`)),1)]),_:1}),d(E(ke),{modelValue:ue.value,"onUpdate:modelValue":i[0]||=e=>ue.value=e,accordion:``},{default:N(()=>[(h(),e(I,null,T(V,n=>d(E(Oe),{key:n,name:n},{title:N(()=>[r(`div`,ln,[d(E(t),{icon:E(on)(n),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),r(`span`,un,j(E(f)(`spacesHomeControlPlugin.media.activityLabels.${n}`)),1),d(E(W),{type:Re(n),size:`small`,round:``},{default:N(()=>[u(j(ze(n)),1)]),_:2},1032,[`type`]),_e[n]?(h(),p(E(t),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):k(``,!0),i[3]||=r(`div`,{class:`flex-1`},null,-1),d(E(O),{size:`small`,type:`success`,circle:``,loading:E(M)&&de.value===n,disabled:E(M)||E(P)||E(x)?.state===`activating`,title:E(f)(`spacesHomeControlPlugin.media.activities.run`),onClick:L(e=>We(n),[`stop`])},{icon:N(()=>[d(E(t),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:N(()=>[d(E(Se),{"label-position":`top`,class:`flex flex-col gap-2`},{default:N(()=>[r(`div`,{class:y(De(n,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(xe),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.display`)},{default:N(()=>[d(E(J),{modelValue:G[n].displayEndpointId,"onUpdate:modelValue":e=>G[n].displayEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(ye),e=>(h(),p(E(Y),{key:e.endpointId,label:Le(e),value:e.endpointId},{default:N(()=>[r(`div`,dn,[r(`span`,null,j(Le(e)),1),r(`div`,fn,[e.capabilities.inputSelect?(h(),p(E(W),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),De(n,`displayEndpointId`)?(h(),p(E(xe),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInput`)},{default:N(()=>[Ne(G[n].displayEndpointId).type===`select`?(h(),p(E(J),{key:0,modelValue:G[n].displayInputId,"onUpdate:modelValue":e=>G[n].displayInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Fe(G[n].displayEndpointId),e=>(h(),p(E(Y),{key:String(e),label:Ie(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(fe),{key:1,modelValue:G[n].displayInputId,"onUpdate:modelValue":e=>G[n].displayInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),r(`div`,{class:y(De(n,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(xe),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.audio`)},{default:N(()=>[d(E(J),{modelValue:G[n].audioEndpointId,"onUpdate:modelValue":e=>G[n].audioEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(be),e=>(h(),p(E(Y),{key:e.endpointId,label:Le(e),value:e.endpointId},{default:N(()=>[r(`div`,pn,[r(`span`,null,j(Le(e)),1),r(`div`,mn,[e.capabilities.volume?(h(),p(E(W),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.volume`)),1)]),_:1})):k(``,!0),e.capabilities.inputSelect?(h(),p(E(W),{key:1,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),De(n,`audioEndpointId`)?(h(),p(E(xe),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInput`)},{default:N(()=>[Ne(G[n].audioEndpointId).type===`select`?(h(),p(E(J),{key:0,modelValue:G[n].audioInputId,"onUpdate:modelValue":e=>G[n].audioInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Fe(G[n].audioEndpointId),e=>(h(),p(E(Y),{key:String(e),label:Ie(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(fe),{key:1,modelValue:G[n].audioInputId,"onUpdate:modelValue":e=>G[n].audioInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),Me(n)?(h(),p(E(xe),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioVolume`)},{default:N(()=>[d(E(je),{modelValue:G[n].audioVolumePreset,"onUpdate:modelValue":e=>G[n].audioVolumePreset=e,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):k(``,!0),r(`div`,{class:y(De(n,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(xe),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.source`)},{default:N(()=>[d(E(J),{modelValue:G[n].sourceEndpointId,"onUpdate:modelValue":e=>G[n].sourceEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(K),e=>(h(),p(E(Y),{key:e.endpointId,label:Le(e),value:e.endpointId},{default:N(()=>[r(`div`,hn,[r(`span`,null,j(Le(e)),1),r(`div`,gn,[e.capabilities.inputSelect?(h(),p(E(W),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),De(n,`sourceEndpointId`)?(h(),p(E(xe),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInput`)},{default:N(()=>[Ne(G[n].sourceEndpointId).type===`select`?(h(),p(E(J),{key:0,modelValue:G[n].sourceInputId,"onUpdate:modelValue":e=>G[n].sourceInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Fe(G[n].sourceEndpointId),e=>(h(),p(E(Y),{key:String(e),label:Ie(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(fe),{key:1,modelValue:G[n].sourceInputId,"onUpdate:modelValue":e=>G[n].sourceInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),d(E(xe),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.remote`)},{default:N(()=>[d(E(J),{modelValue:G[n].remoteEndpointId,"onUpdate:modelValue":e=>G[n].remoteEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(q),e=>(h(),p(E(Y),{key:e.endpointId,label:Le(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),ve[n]?(h(),p(E(we),{key:1,type:`error`,title:E(f)(`spacesHomeControlPlugin.media.activities.saveError`),description:ve[n],"show-icon":``,closable:``,onClose:e=>ve[n]=null},null,8,[`title`,`description`,`onClose`])):k(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),r(`div`,_n,[r(`div`,vn,[d(E(O),{size:`small`,loading:E(F),onClick:Ke},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),E(x)&&E(x).state!==`deactivated`?(h(),p(E(O),{key:0,size:`small`,type:`warning`,loading:E(P),disabled:E(M),onClick:Ge},{icon:N(()=>[d(E(t),{icon:`mdi:stop`})]),default:N(()=>[u(` `+j(E(f)(`spacesHomeControlPlugin.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):k(``,!0)]),r(`div`,yn,j(E(f)(`spacesHomeControlPlugin.media.activities.applyDefaultsHint`)),1)]),E(R)?(h(),p(E(we),{key:0,type:`error`,title:E(f)(`spacesHomeControlPlugin.media.activities.activateFailed`),description:E(R),"show-icon":``,closable:``,onClose:i[1]||=e=>R.value=null},null,8,[`title`,`description`])):k(``,!0)],8,cn)),[[E(Pe),pe.value]])]),_:1},8,[`modelValue`,`title`]))}}),xn={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},Sn=m({name:`SpaceDomainsSection`,__name:`space-domains-section`,props:{space:{}},setup(t,{expose:n}){let i=t,{t:o}=_(),s=ve(),{lightingSignal:c,climateSignal:l,coversSignal:u,sensorSignal:f}=rt(),m=g(!1),v=g(!1),y=g(!1),x=g(!1),S=g(!1),w=g(!1),E=g([]),D=e=>{switch(e){case B.main:return`primary`;case B.task:return`warning`;case B.ambient:return`success`;case B.accent:return`danger`;case B.night:default:return`info`}},O=e=>{switch(e){case B.main:return`mdi:lightbulb`;case B.task:return`mdi:desk-lamp`;case B.ambient:return`mdi:lightbulb-group`;case B.accent:return`mdi:spotlight-beam`;case B.night:return`mdi:weather-night`;default:return`mdi:lightbulb-outline`}},k=async()=>{if(i.space?.id){w.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e){E.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[B.main,B.task,B.ambient,B.accent,B.night,B.other];E.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.lightingRoles.${e}`),type:D(e),icon:O(e),count:t}))}finally{w.value=!1}}},j=g(!1),M=g([]),N=e=>{switch(e){case z.heating_only:return`danger`;case z.cooling_only:return`primary`;case z.auto:return`success`;case z.auxiliary:return`warning`;default:return`info`}},P=e=>{switch(e){case z.heating_only:return`mdi:fire`;case z.cooling_only:return`mdi:snowflake`;case z.auto:return`mdi:thermostat-auto`;case z.auxiliary:return`mdi:radiator`;case z.sensor:return`mdi:thermometer`;default:return`mdi:eye-off`}},F=async()=>{if(i.space?.id){j.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e){M.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===z.hidden)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[z.heating_only,z.cooling_only,z.auto,z.auxiliary,z.sensor];M.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.climateRoles.${e}`),type:N(e),icon:P(e),count:t}))}finally{j.value=!1}}},L=g(!1),R=g([]),ee=e=>{switch(e){case U.primary:return`primary`;case U.blackout:return`danger`;case U.sheer:return`success`;case U.outdoor:return`warning`;default:return`info`}},te=e=>{switch(e){case U.primary:return`mdi:blinds`;case U.blackout:return`mdi:blinds-horizontal-closed`;case U.sheer:return`mdi:curtains`;case U.outdoor:return`mdi:window-shutter`;default:return`mdi:blinds-horizontal`}},ne=async()=>{if(i.space?.id){L.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e){R.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[U.primary,U.blackout,U.sheer,U.outdoor,U.hidden];R.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.coversRoles.${e}`),type:ee(e),icon:te(e),count:t}))}finally{L.value=!1}}},re=g(!1),ie=g([]),ae=e=>{switch(e){case ze.ENVIRONMENT:return`success`;case ze.SAFETY:return`danger`;case ze.SECURITY:return`warning`;case ze.AIR_QUALITY:return`info`;case ze.ENERGY:return`primary`;default:return`info`}},oe=e=>{switch(e){case ze.ENVIRONMENT:return`mdi:thermometer`;case ze.SAFETY:return`mdi:shield-alert`;case ze.SECURITY:return`mdi:motion-sensor`;case ze.AIR_QUALITY:return`mdi:air-filter`;case ze.ENERGY:return`mdi:lightning-bolt`;default:return`mdi:chart-line`}},se=async()=>{if(i.space?.id){re.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${X}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e){ie.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===ze.HIDDEN)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}ie.value=Array.from(r.entries()).sort(([e],[t])=>Re.indexOf(e)-Re.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.sensorRoles.${e}`),type:ae(e),icon:oe(e),count:t}))}finally{re.value=!1}}},{fetchEndpoints:ce,fetchBindings:le,findBindingByActivity:V}=sn(a(()=>i.space?.id)),ue=g(!1),de=g([]),W=[H.watch,H.listen,H.gaming,H.background],fe=async()=>{if(i.space?.id){ue.value=!0;try{await Promise.all([ce(),le()]);let e=[];for(let t of W){let n=V(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:an(t),icon:on(t),count:r})}de.value=e}catch{de.value=[]}finally{ue.value=!1}}},pe=a(()=>[{key:`lighting`,icon:`mdi:lightbulb`,iconColor:`warning`,title:o(`spacesHomeControlPlugin.detail.domains.lighting.title`),description:o(`spacesHomeControlPlugin.detail.domains.lighting.description`),tags:E.value,loading:w.value,openDialog:()=>{m.value=!0}},{key:`climate`,icon:`mdi:thermostat`,iconColor:`danger`,title:o(`spacesHomeControlPlugin.detail.domains.climate.title`),description:o(`spacesHomeControlPlugin.detail.domains.climate.description`),tags:M.value,loading:j.value,openDialog:()=>{v.value=!0}},{key:`covers`,icon:`mdi:blinds`,iconColor:`primary`,title:o(`spacesHomeControlPlugin.detail.domains.covers.title`),description:o(`spacesHomeControlPlugin.detail.domains.covers.description`),tags:R.value,loading:L.value,openDialog:()=>{y.value=!0}},{key:`sensor`,icon:`mdi:chart-bell-curve`,iconColor:`success`,title:o(`spacesHomeControlPlugin.detail.domains.sensor.title`),description:o(`spacesHomeControlPlugin.detail.domains.sensor.description`),tags:ie.value,loading:re.value,openDialog:()=>{x.value=!0}},{key:`media`,icon:`mdi:play-box-multiple`,iconColor:`info`,title:o(`spacesHomeControlPlugin.detail.domains.media.title`),description:o(`spacesHomeControlPlugin.detail.domains.media.description`),tags:de.value,loading:ue.value,openDialog:()=>{S.value=!0}}]),me=()=>{k(),F(),ne(),se(),fe()};C(()=>c?.value,()=>{i.space?.id&&k()}),C(()=>l?.value,()=>{i.space?.id&&F()}),C(()=>u?.value,()=>{i.space?.id&&ne()}),C(()=>f?.value,()=>{i.space?.id&&se()}),C(()=>i.space?.id,e=>{e&&me()});let he=()=>{k()},G=()=>{F()},ge=()=>{ne()},_e=()=>{se()},ye=()=>{fe()};return b(()=>{i.space?.id&&me()}),n({reload:me}),(t,n)=>(h(),e(I,null,[r(`div`,xn,[(h(!0),e(I,null,T(pe.value,e=>(h(),p(qt,{key:e.key,icon:e.icon,"icon-color":e.iconColor,title:e.title,description:e.description,tags:e.tags,loading:e.loading,onClick:t=>e.openDialog()},null,8,[`icon`,`icon-color`,`title`,`description`,`tags`,`loading`,`onClick`]))),128))]),d(ft,{visible:m.value,"onUpdate:visible":n[0]||=e=>m.value=e,space:i.space,onRolesChanged:he},null,8,[`visible`,`space`]),d(xt,{visible:v.value,"onUpdate:visible":n[1]||=e=>v.value=e,space:i.space,onRolesChanged:G},null,8,[`visible`,`space`]),d(At,{visible:y.value,"onUpdate:visible":n[2]||=e=>y.value=e,space:i.space,onRolesChanged:ge},null,8,[`visible`,`space`]),d(Rt,{visible:x.value,"onUpdate:visible":n[3]||=e=>x.value=e,space:i.space,onRolesChanged:_e},null,8,[`visible`,`space`]),d(bn,{visible:S.value,"onUpdate:visible":n[4]||=e=>S.value=e,space:i.space,onBindingsChanged:ye},null,8,[`visible`,`space`])],64))}}),Cn={class:`flex items-center gap-2`},wn={class:`font-medium`},Tn={key:0,class:`text-xs text-gray-500`},En={class:`flex items-center gap-2 justify-end`},Dn={key:0,class:`h-full w-full leading-normal`},On={key:1,class:`h-full w-full leading-normal`},kn={class:`mb-4`},An=m({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=he(),{roomSpaces:v}=qe(),{devices:y,loading:x,firstLoadFinished:S,fetchDevices:C,removeDevice:D,reassignDevice:A}=Ze(n(s,`spaceId`),n(s,`spaceType`)),P=g(!1),F=g(null),L=g(null),R=g(!1),ee=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e]||`mdi:devices`,te=()=>{c(`open-add-dialog`)},ne=e=>{F.value=e,L.value=null,P.value=!0},re=async()=>{if(F.value){R.value=!0;try{await A(F.value.id,L.value),P.value=!1,m.success(l(`spacesModule.messages.edited`,{space:F.value.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{R.value=!1}}},ae=e=>{ie.confirm(l(`spacesModule.detail.devices.confirmRemove`,{name:e.name}),l(`spacesModule.detail.devices.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await D(e.id),m.success(l(`spacesModule.detail.devices.removed`,{name:e.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesModule.detail.devices.removeCanceled`))})};return b(async()=>{S.value||await C()}),a({openAddDialog:te,fetchDevices:C}),(n,i)=>(h(),e(I,null,[w((h(),p(E(q),{"element-loading-text":E(l)(`spacesModule.detail.devices.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,Dn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,On,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesModule.detail.devices.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:te},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(K),{label:E(l)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,Cn,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:ee(n.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,wn,j(n.name),1),n.description?(h(),e(`div`,Tn,j(n.description),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(l)(`spacesModule.table.columns.category`),width:`150`},{default:N(({row:e})=>[d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(E(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(K),{label:E(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(W),{type:e.status?.online?`success`:`danger`,size:`small`},{default:N(()=>[u(j(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(K),{label:``,width:s.spaceType===E(Z).ZONE?110:220,align:`right`},{default:N(({row:e})=>[r(`div`,En,[s.spaceType===E(Z).ROOM?(h(),p(E(O),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>ne(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):k(``,!0),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>ae(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[E(Pe),E(x)]]),d(E(Ae),{modelValue:P.value,"onUpdate:modelValue":i[2]||=e=>P.value=e,title:E(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>P.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:R.value,onClick:re},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,kn,j(E(l)(`spacesModule.detail.devices.selectRoom`)),1),d(E(J),{modelValue:L.value,"onUpdate:modelValue":i[0]||=e=>L.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(Y),{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))}}),jn={class:`flex items-center gap-2`},Mn={class:`block`},Nn={key:1,class:`font-medium`},Pn={class:`flex items-center gap-2 justify-end`},Fn={key:0,class:`h-full w-full leading-normal`},In={key:1,class:`h-full w-full leading-normal`},Ln={class:`mb-4`},Rn=m({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=he(),{roomSpaces:v}=qe(),{displays:y,loading:x,fetchDisplays:S,removeDisplay:C,reassignDisplay:D}=Xe(n(s,`spaceId`)),k=g(!1),A=g(null),P=g(null),F=g(!1),L=()=>{c(`open-add-dialog`)},R=e=>{A.value=e,P.value=null,k.value=!0},ee=async()=>{if(A.value){F.value=!0;try{await D(A.value.id,P.value),k.value=!1,m.success(l(`spacesModule.messages.edited`,{space:A.value.name||A.value.macAddress}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{F.value=!1}}},te=e=>{let t=e.name||e.macAddress;ie.confirm(l(`spacesModule.detail.displays.confirmRemove`,{name:t}),l(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await C(e.id),m.success(l(`spacesModule.detail.displays.removed`,{name:t}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesModule.detail.displays.removeCanceled`))})};return b(async()=>{await S()}),a({openAddDialog:L,fetchDisplays:S}),(n,i)=>(h(),e(I,null,[w((h(),p(E(q),{"element-loading-text":E(l)(`spacesModule.detail.displays.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,Fn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,In,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesModule.detail.displays.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:L},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(K),{label:E(l)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,jn,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(h(),e(I,{key:0},[r(`strong`,Mn,j(n.name),1),d(E(V),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.macAddress),1)]),_:2},1024)],64)):(h(),e(`div`,Nn,j(n.macAddress),1))])])]),_:1},8,[`label`]),d(E(K),{label:E(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(W),{type:e.online?`success`:`danger`,size:`small`},{default:N(()=>[u(j(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`220`,align:`right`},{default:N(({row:e})=>[r(`div`,Pn,[d(E(O),{type:`warning`,plain:``,size:`small`,onClick:t=>R(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>te(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[E(Pe),E(x)]]),d(E(Ae),{modelValue:k.value,"onUpdate:modelValue":i[2]||=e=>k.value=e,title:E(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>k.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:F.value,onClick:ee},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,Ln,j(E(l)(`spacesModule.detail.displays.selectRoom`)),1),d(E(J),{modelValue:P.value,"onUpdate:modelValue":i[0]||=e=>P.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),zn=e=>{let t=me().getStore($e),{semaphore:n,firstLoad:r}=pe(t),i=g(!1);return{scenes:a(()=>e.value?t.findBySpace(e.value).filter(e=>!e.draft).sort((e,t)=>e.name.localeCompare(t.name)):[]),loading:a(()=>!!(i.value||n.value.fetching.items||!r.value)),firstLoadFinished:a(()=>r.value),fetchScenes:async()=>{await t.fetch()},reassignScene:async(e,n)=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:n}})}finally{i.value=!1}},removeScene:async e=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:null}})}finally{i.value=!1}}}};function $(e){return e.trim().toLowerCase().replace(/[-_]/g,` `).replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}var Bn=e=>e||null,Vn=e=>{if(e)return e},Hn=()=>{let e=ae(),{generate:t}=Fe(),n=S({currentStep:0,existingSpaces:[],spaces:[],proposedSpaces:[],customSpaces:[],matchedSpaces:[],deviceAssignments:{},displayAssignments:{},zoneAssignments:{},showAdvancedZones:!1,isLoading:!1,error:null}),r=a(()=>n.isLoading),i=a(()=>n.error),o=a(()=>n.currentStep),s=a(()=>n.existingSpaces),c=a(()=>n.spaces),l=a(()=>n.proposedSpaces),u=a(()=>n.customSpaces),d=a(()=>n.matchedSpaces),f=a(()=>n.deviceAssignments),p=a(()=>n.displayAssignments),m=a(()=>n.zoneAssignments),h=a({get:()=>n.showAdvancedZones,set:e=>{n.showAdvancedZones=e}}),g=a(()=>v.value.filter(e=>e.type===Z.ZONE&&e.category&&Ve.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 Q(`Failed to fetch proposed spaces`);let i=r.data.data.map(e=>{let n=Bn(e.category),r=n?Be[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?Ke(e.type):Z.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===Z.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===Z.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===Z.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:Ge(s.type),category:Vn(s.category)}}});if(u.error||!u.data?.data)throw new Q(`Failed to create space: ${s.name}`);let d=We(u.data.data);for(let[e,t]of Object.entries(n.deviceAssignments))t===s.id&&(n.deviceAssignments[e]=d.id);for(let[e,t]of Object.entries(n.displayAssignments))t===s.id&&(n.displayAssignments[e]=d.id);for(let[e,t]of Object.entries(n.zoneAssignments))n.zoneAssignments[e]=t.map(e=>e===s.id?d.id:e);let f=n.spaces.findIndex(e=>e.id===s.id);f===-1?n.spaces=[...n.spaces,d]:n.spaces[f]=d,t.push(d)}return t}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},C=async t=>{n.isLoading=!0,n.error=null;try{let r=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:t.name,description:t.description,type:Ge(t.type),category:Vn(t.category),icon:t.icon,display_order:t.displayOrder}}});if(r.error||!r.data?.data)throw new Q(`Failed to create space`);let i=We(r.data.data);return n.spaces.push(i),i}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},w=(e,t)=>{n.deviceAssignments[e]=t},T=(e,t)=>{n.displayAssignments[e]=t},E=async()=>{n.isLoading=!0,n.error=null;let t=0,r=0,i=0;try{let a={};for(let[e,t]of Object.entries(n.deviceAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].deviceIds.push(e));for(let[e,t]of Object.entries(n.displayAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].displayIds.push(e));for(let[n,i]of Object.entries(a)){let a=await e.POST(`/modules/spaces/spaces/{id}/assign`,{params:{path:{id:n}},body:{data:{device_ids:i.deviceIds,display_ids:i.displayIds}}});if(a.error)throw new Q(`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 Q(`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`,{params:{query:{hidden:le.false}}});if(t.error||!t.data?.data)throw new Q(`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 Q(`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 Q(`Failed to fetch spaces`);let r=t.data.data.map(e=>We(e));return n.existingSpaces=r,r}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},createDraftSpacesFromProposals:b,createSpacesFromProposals:x,createSpace:C,setDeviceAssignment:w,setDisplayAssignment:T,setDeviceZones:(e,t)=>{n.zoneAssignments[e]=t},applyAssignments:E,setStep:D,nextStep:O,prevStep:k,toggleProposedSpace:j,toggleCustomSpace:M,addManualSpace:e=>{let r=N(e);return r?{success:!1,duplicateOf:r}:(n.customSpaces.push({name:e,description:null,icon:null,selected:!0,type:Z.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}})}},Un={class:`flex items-center gap-2`},Wn={class:`font-medium`},Gn={key:0,class:`text-xs text-gray-500`},Kn={class:`flex items-center gap-2 justify-end`},qn={key:0,class:`h-full w-full leading-normal`},Jn={key:1,class:`h-full w-full leading-normal`},Yn={class:`mb-4`},Xn=m({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=he(),{spaces:v}=qe(),{scenes:y,loading:x,firstLoadFinished:S,fetchScenes:C,reassignScene:D,removeScene:A}=zn(n(s,`spaceId`)),P=g(!1),F=g(null),L=g(null),R=g(!1),ee=e=>e.icon?e.icon:nt[e.category]||nt[ne.generic],te=()=>{c(`open-add-dialog`)},re=e=>{F.value=e,L.value=null,P.value=!0},ae=async()=>{if(F.value){R.value=!0;try{await D(F.value.id,L.value),P.value=!1,m.success(l(`spacesHomeControlPlugin.detail.scenes.reassigned`,{name:F.value.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{R.value=!1}}},oe=e=>{ie.confirm(l(`spacesHomeControlPlugin.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesHomeControlPlugin.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await A(e.id),m.success(l(`spacesHomeControlPlugin.detail.scenes.removed`,{name:e.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesHomeControlPlugin.detail.scenes.removeCanceled`))})};return b(async()=>{S.value||await C()}),a({openAddDialog:te,fetchScenes:C}),(n,i)=>(h(),e(I,null,[w((h(),p(E(q),{"element-loading-text":E(l)(`spacesHomeControlPlugin.detail.scenes.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,qn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,Jn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesHomeControlPlugin.detail.scenes.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:te},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(K),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,Un,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:ee(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,Wn,j(n.name),1),n.description?(h(),e(`div`,Gn,j(n.description),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(K),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.category`),width:`150`},{default:N(({row:e})=>[d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(E(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(K),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.status`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(W),{type:e.enabled?`success`:`info`,size:`small`},{default:N(()=>[u(j(e.enabled?E(l)(`spacesHomeControlPlugin.detail.scenes.enabled`):E(l)(`spacesHomeControlPlugin.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(K),{label:``,width:`220`,align:`right`},{default:N(({row:e})=>[r(`div`,Kn,[d(E(O),{type:`warning`,plain:``,size:`small`,onClick:t=>re(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesHomeControlPlugin.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>oe(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesHomeControlPlugin.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[E(Pe),E(x)]]),d(E(Ae),{modelValue:P.value,"onUpdate:modelValue":i[2]||=e=>P.value=e,title:E(l)(`spacesHomeControlPlugin.detail.scenes.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>P.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:R.value,onClick:ae},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,Yn,j(E(l)(`spacesHomeControlPlugin.detail.scenes.selectSpace`)),1),d(E(J),{modelValue:L.value,"onUpdate:modelValue":i[0]||=e=>L.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Zn={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Qn={class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},$n=[`aria-label`,`onKeydown`],er={class:`flex items-center gap-1`},tr={key:1,class:`text-gray-400 text-sm`},nr={class:`flex items-center gap-2`},rr=m({name:`SpaceParentZoneSection`,__name:`space-parent-zone-section`,props:{space:{}},setup(n){let i=n,{t:s}=_(),l=he(),f=a(()=>i.space.id),{floorZoneSpaces:m,findById:v}=qe(),{editSpace:y}=Ye(f),x=g(i.space.parentId),S=g(!1),w=g(!1),D=g(null),O=g(i.space.parentId),k=g(!1),A=a(()=>i.space.parentId?v(i.space.parentId):null),M=a(()=>m.value.filter(e=>e.id!==i.space.id)),F=()=>{w.value=!0,O.value=i.space.parentId,x.value=i.space.parentId,k.value=!1,c(()=>{D.value?.focus?.()})},R=()=>{setTimeout(()=>{!k.value&&!S.value&&w.value&&(w.value=!1),k.value=!1},200)},ee=e=>{w.value&&e.key===`Escape`&&(x.value=O.value,w.value=!1,k.value=!1)};C(()=>i.space.parentId,e=>{w.value||(x.value=e,O.value=e)},{immediate:!0});let te=async e=>{if(e===i.space.parentId){w.value=!1,k.value=!1;return}k.value=!0,S.value=!0;try{await y({name:i.space.name,parentId:e}),l.success(s(`spacesModule.messages.edited`,{space:i.space.name})),w.value=!1,k.value=!1}catch{x.value=O.value,l.error(s(`spacesModule.messages.saveError`)),w.value=!1,k.value=!1}finally{S.value=!1}};return b(()=>{document.addEventListener(`keydown`,ee)}),o(()=>{document.removeEventListener(`keydown`,ee)}),(n,i)=>(h(),e(I,null,[r(`dt`,Zn,j(E(s)(`spacesModule.detail.parentZone.title`)),1),r(`dd`,Qn,[w.value?(h(),p(E(J),{key:1,ref_key:`floorSelectRef`,ref:D,modelValue:x.value,"onUpdate:modelValue":i[0]||=e=>x.value=e,placeholder:E(s)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:S.value,onChange:te,onBlur:R},{default:N(()=>[(h(!0),e(I,null,T(M.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,nr,[d(E(t),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(h(),e(`div`,{key:0,role:`button`,tabindex:`0`,"aria-label":E(s)(`spacesModule.detail.parentZone.select`),class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:F,onKeydown:[P(L(F,[`prevent`]),[`enter`]),P(L(F,[`prevent`]),[`space`])]},[A.value?(h(),p(E(W),{key:0,type:`success`,size:`small`},{default:N(()=>[r(`div`,er,[d(E(t),{icon:A.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),u(` `+j(A.value.name),1)])]),_:1})):(h(),e(`span`,tr,j(E(s)(`spacesModule.detail.parentZone.none`)),1))],40,$n))])],64))}}),ir={key:0,class:`h-full w-full leading-normal`},ar={key:1,class:`h-full w-full leading-normal`},or={class:`flex items-center gap-2`},sr={class:`block text-sm`},cr={key:1,class:`font-medium`},lr={key:1,class:`text-gray-400 text-sm`},ur=m({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=he(),{devices:m}=Qe(),{findById:v}=qe(),y=g(``),b=g(null),{devices:x,addDevice:S}=Ze(a(()=>o.spaceId),a(()=>o.spaceType)),w=a(()=>new Set(x.value.map(e=>e.id))),T=a(()=>m.value.filter(e=>e.hidden?!1:o.spaceType===Z.ZONE?!w.value.has(e.id):e.roomId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),D=a(()=>(y.value.trim()?T.value.filter(e=>{let t=y.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):T.value).sort((e,t)=>e.name.localeCompare(t.name))),A=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e.category]||`mdi:devices`,P=e=>v(e)?.name||`Unknown`,F=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),L=()=>{F.value=!1,y.value=``,b.value=null},R=async e=>{b.value=e.id;try{await S(e.id),l.success(c(`spacesModule.messages.edited`,{space:e.name})),s(`device-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return C(()=>o.visible,e=>{e||(y.value=``,b.value=null)}),(n,i)=>(h(),p(E(Ae),{modelValue:F.value,"onUpdate:modelValue":i[1]||=e=>F.value=e,title:E(c)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:L},{footer:N(()=>[d(E(O),{onClick:L},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(fe),{modelValue:y.value,"onUpdate:modelValue":i[0]||=e=>y.value=e,placeholder:E(c)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(q),{data:D.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[T.value.length===0?(h(),e(`div`,ir,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):y.value.trim()&&D.value.length===0?(h(),e(`div`,ar,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(V),{class:`block`},{default:N(()=>[u(j(E(c)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(K),{label:E(c)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,or,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:A(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(h(),e(I,{key:0},[r(`strong`,sr,j(n.name),1),d(E(V),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.description),1)]),_:2},1024)],64)):(h(),e(`div`,cr,j(n.name),1))])])]),_:1},8,[`label`]),d(E(K),{label:E(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.roomId?(h(),p(E(W),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(P(t.roomId)),1)]),_:2},1024)):(h(),e(`span`,lr,`-`))]),_:1},8,[`label`]),d(E(K),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:o.spaceType===E(Z).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>R(e)},{icon:N(()=>[d(E(t),{icon:o.spaceType===E(Z).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(o.spaceType===E(Z).ROOM&&e.roomId?E(c)(`spacesModule.detail.devices.reassign`):E(c)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),dr={key:0,class:`h-full w-full leading-normal`},fr={key:1,class:`h-full w-full leading-normal`},pr={class:`flex items-center gap-2`},mr={class:`block`},hr={key:1,class:`font-medium`},gr={key:1,class:`text-gray-400 text-sm`},_r=m({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=he(),{displays:m}=Ie(),{findById:v}=qe(),y=g(``),b=g(null),{reassignDisplay:x}=Xe(a(()=>o.spaceId)),S=a(()=>m.value.filter(e=>e.spaceId!==o.spaceId).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),w=a(()=>(y.value.trim()?S.value.filter(e=>{let t=y.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):S.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),T=e=>v(e)?.name||`Unknown`,D=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),A=()=>{D.value=!1,y.value=``,b.value=null},P=async e=>{b.value=e.id;try{await x(e.id,o.spaceId),l.success(c(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),s(`display-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return C(()=>o.visible,e=>{e||(y.value=``,b.value=null)}),(n,i)=>(h(),p(E(Ae),{modelValue:D.value,"onUpdate:modelValue":i[1]||=e=>D.value=e,title:E(c)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:A},{footer:N(()=>[d(E(O),{onClick:A},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(fe),{modelValue:y.value,"onUpdate:modelValue":i[0]||=e=>y.value=e,placeholder:E(c)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(q),{data:w.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[S.value.length===0?(h(),e(`div`,dr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):y.value.trim()&&w.value.length===0?(h(),e(`div`,fr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(V),{class:`block`},{default:N(()=>[u(j(E(c)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(K),{label:E(c)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,pr,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(h(),e(I,{key:0},[r(`strong`,mr,j(n.name),1),d(E(V),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.macAddress),1)]),_:2},1024)],64)):(h(),e(`div`,hr,j(n.macAddress),1))])])]),_:1},8,[`label`]),d(E(K),{label:E(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.spaceId?(h(),p(E(W),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(T(t.spaceId)),1)]),_:2},1024)):(h(),e(`span`,gr,`-`))]),_:1},8,[`label`]),d(E(K),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:e.spaceId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>P(e)},{icon:N(()=>[d(E(t),{icon:e.spaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(e.spaceId?E(c)(`spacesModule.detail.displays.reassign`):E(c)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),vr={key:0,class:`h-full w-full leading-normal`},yr={key:1,class:`h-full w-full leading-normal`},br={class:`flex items-center gap-2`},xr={class:`block text-sm`},Sr={key:1,class:`font-medium`},Cr={key:1,class:`text-gray-400 text-sm`},wr=m({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=he(),{scenes:m,loaded:v,fetchScenes:y}=tt(),{editScene:x}=et(),{findById:S}=qe(),w=g(``),T=g(null),D=a(()=>m.value.filter(e=>!e.draft&&e.primarySpaceId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),A=a(()=>(w.value.trim()?D.value.filter(e=>{let t=w.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):D.value).sort((e,t)=>e.name.localeCompare(t.name))),P=e=>nt[e.category]||nt[ne.generic],F=e=>S(e)?.name||`Unknown`,L=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),R=()=>{L.value=!1,w.value=``,T.value=null},ee=async e=>{T.value=e.id;try{await x({id:e.id,data:{primarySpaceId:o.spaceId}}),l.success(c(`spacesHomeControlPlugin.detail.scenes.assigned`,{name:e.name})),s(`scene-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{T.value=null}};return b(async()=>{v.value||await y()}),C(()=>o.visible,e=>{e||(w.value=``,T.value=null)}),(n,i)=>(h(),p(E(Ae),{modelValue:L.value,"onUpdate:modelValue":i[1]||=e=>L.value=e,title:E(c)(`spacesHomeControlPlugin.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:R},{footer:N(()=>[d(E(O),{onClick:R},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(fe),{modelValue:w.value,"onUpdate:modelValue":i[0]||=e=>w.value=e,placeholder:E(c)(`spacesHomeControlPlugin.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(q),{data:A.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[D.value.length===0?(h(),e(`div`,vr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesHomeControlPlugin.detail.scenes.noAvailable`)),1)]),_:1})])):w.value.trim()&&A.value.length===0?(h(),e(`div`,yr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(V),{class:`block`},{default:N(()=>[u(j(E(c)(`spacesHomeControlPlugin.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(K),{label:E(c)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,br,[d(E(ye),{size:32},{default:N(()=>[d(E(t),{icon:P(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(h(),e(I,{key:0},[r(`strong`,xr,j(n.name),1),d(E(V),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.description),1)]),_:2},1024)],64)):(h(),e(`div`,Sr,j(n.name),1))])])]),_:1},8,[`label`]),d(E(K),{label:E(c)(`spacesHomeControlPlugin.detail.scenes.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.primarySpaceId?(h(),p(E(W),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(F(t.primarySpaceId)),1)]),_:2},1024)):(h(),e(`span`,Cr,`-`))]),_:1},8,[`label`]),d(E(K),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:T.value===e.id,onClick:t=>ee(e)},{icon:N(()=>[d(E(t),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(e.primarySpaceId?E(c)(`spacesHomeControlPlugin.detail.scenes.reassign`):E(c)(`spacesHomeControlPlugin.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Tr={class:`flex items-center gap-2`},Er={class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},Dr={class:`p-4 max-h-full box-border flex flex-col`},Or={class:`my-2 font-medium`},kr={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Ar={class:`flex items-center gap-2`},jr={class:`flex items-center gap-2`},Mr={class:`my-2 font-medium`},Nr={class:`grow-1 min-w-0`},Pr={class:`text-gray-500 text-sm ml-2`},Fr={key:1,class:`text-gray-600`},Ir={class:`my-2 font-medium`},Lr={class:`flex flex-wrap gap-2`},Rr={class:`my-2 font-medium`},zr={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Br={class:`flex items-center gap-2`},Vr={class:`flex items-center gap-2`},Hr={class:`my-2 font-medium`},Ur={class:`flex items-center gap-3 p-2`},Wr={class:`h-full w-full leading-normal`},Gr={class:`font-medium`},Kr={class:`text-xs text-gray-500 mt-1`},qr={key:1,class:`font-medium`},Jr={class:`flex items-center gap-2`},Yr={class:`h-full w-full leading-normal`},Xr={key:0,class:`text-xs text-gray-500 mt-1`},Zr={class:`flex items-center gap-2`},Qr={class:`grid grid-cols-2 md:grid-cols-5 gap-4 text-center my-4 shrink-0`},$r={class:`text-2xl font-bold text-blue-600`},ei={class:`text-sm text-gray-500`},ti={class:`text-2xl font-bold text-green-600`},ni={class:`text-sm text-gray-500`},ri={class:`text-2xl font-bold text-yellow-600`},ii={class:`text-sm text-gray-500`},ai={class:`text-2xl font-bold text-green-600`},oi={class:`text-sm text-gray-500`},si={class:`text-2xl font-bold text-yellow-600`},ci={class:`text-sm text-gray-500`},li={class:`mb-2 font-medium`},ui={class:`flex items-center gap-2`},di={class:`flex items-center gap-2`},fi={class:`font-medium`},pi={class:`text-xs text-gray-500`},mi={key:1,class:`font-medium`},hi={class:`flex items-center gap-2`},gi={key:0,class:`mt-6 flex justify-between`},_i={key:1},vi={class:`flex gap-2`},yi=m({__name:`view-spaces-wizard`,setup(n){let{t:i}=_(),o=x(),l=F(),m=he(),{isMDDevice:S,isLGDevice:C}=G();ee({title:i(`spacesModule.meta.spaces.wizard.title`)});let{isLoading:A,currentStep:L,existingSpaces:R,proposedSpaces:ne,customSpaces:ie,matchedSpaces:ae,availableSpaces:oe,deviceAssignments:z,displayAssignments:B,zoneAssignments:ce,showAdvancedZones:le,assignableZones:V,fetchProposedSpaces:H,fetchDevices:ue,fetchDisplays:U,fetchExistingSpaces:pe,createDraftSpacesFromProposals:me,createSpacesFromProposals:ve,setDeviceAssignment:ye,setDisplayAssignment:xe,setDeviceZones:Se,applyAssignments:Ce,nextStep:Oe,prevStep:ke,toggleProposedSpace:je,toggleCustomSpace:Fe,addManualSpace:Ie,removeProposedSpace:X,removeCustomSpace:Re,startEditingProposedName:ze,confirmProposedNameEdit:Be,discardProposedNameEdit:Ve,startEditingCustomName:He,confirmCustomNameEdit:We,discardCustomNameEdit:Ge,initializeDeviceAssignments:Ke,initializeDisplayAssignments:qe,summary:Q}=Hn(),Ye=g(``),Xe=v([]),Ze=v([]),Qe=g(!1),$e=g(!1),et=v(new Map),tt=v(new Map),nt=(e,t)=>{t?et.value.set(e,t):et.value.delete(e)},rt=(e,t)=>{t?tt.value.set(e,t):tt.value.delete(e)},it=async e=>{ze(e),await c(),et.value.get(e)?.focus?.()},at=async e=>{He(e),await c(),tt.value.get(e)?.focus?.()},ot=a(()=>[...Ze.value].sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress))),st=a(()=>[...Xe.value].sort((e,t)=>e.name.localeCompare(t.name))),ct=a(()=>[{label:i(`spacesModule.breadcrumbs.spaces.list`),route:l.resolve({name:Le.SPACES})},{label:i(`spacesModule.breadcrumbs.spaces.wizard`),route:l.resolve({name:Le.SPACES_WIZARD,params:{type:o.params.type}})}]),lt=oe,ut=a(()=>lt.value.filter(e=>e.type===Z.ROOM).sort((e,t)=>e.name.localeCompare(t.name))),dt=e=>e.icon?e.icon:e.type===Z.ROOM?`mdi:door`:`mdi:home-floor-1`,ft=a(()=>{let e=new Set(ae.value.map(e=>e.existingSpace.id));return R.value.filter(t=>!e.has(t.id))}),pt=a(()=>{let e=new Map;for(let t of ae.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:Q.value.devicesBySpace[e.id]??0,displays:Q.value.displaysBySpace[e.id]??0}))),ht=a(()=>Xe.value.filter(e=>!z.value[e.id]).sort((e,t)=>e.name.localeCompare(t.name))),gt=a(()=>Ze.value.filter(e=>!B.value[e.id]).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)));b(async()=>{try{await pe(),Xe.value=await ue(),Ze.value=await U(),Ke(Xe.value),qe(Ze.value),await H()}catch{m.error(i(`spacesModule.messages.loadError`))}});let _t=()=>{if(Ye.value.trim()){let e=Ie(Ye.value.trim());e.success?Ye.value=``:m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:e.duplicateOf}))}},vt=e=>{let t=Be(e);t.convertedToMatch?m.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},yt=e=>{let t=We(e);t.convertedToMatch?m.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},bt=e=>{Ve(e)},xt=e=>{Ge(e)},{getCategoryOptions:St,getCategoryGroups:Ct,getCategoryTemplates:wt}=Je(),Tt=e=>{e.category&&!Ue(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 ne.value)if(e.selected&&e.type===Z.ZONE&&!e.category)return m.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;for(let e of ie.value)if(e.selected&&e.type===Z.ZONE&&!e.category)return m.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;return!0},Ot=()=>{if(L.value===0){if(!Dt())return;me()}Oe()},kt=()=>{C.value?l.replace({name:Le.SPACES}):l.push({name:Le.SPACES})},At=async()=>{try{await ve();let e=await Ce();m.success(i(`spacesModule.wizard.messages.completed`,{devices:e.devicesAssigned,displays:e.displaysAssigned,zones:e.zonesAssigned})),C.value?l.replace({name:Le.SPACES}):l.push({name:Le.SPACES})}catch{m.error(i(`spacesModule.messages.saveError`))}};return(n,a)=>(h(),e(I,null,[E(S)?k(``,!0):(h(),p(E(be),{key:0,teleport:``},{icon:N(()=>[d(E(t),{icon:`mdi:wizard-hat`,class:`w[20px] h[20px]`})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.title`)),1)]),subtitle:N(()=>[u(j(E(i)(`spacesModule.subHeadings.wizard`)),1)]),_:1})),E(S)?k(``,!0):(h(),p(E(de),{key:1,align:E(re).LEFT,teleport:``,small:``,onClick:kt},{icon:N(()=>[d(E(s),{size:24},{default:N(()=>[d(E(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),d(E(_e),{items:ct.value},null,8,[`items`]),d(E(ge),{heading:E(i)(`spacesModule.wizard.title`),"sub-heading":E(i)(`spacesModule.subHeadings.wizard`),icon:`mdi:wizard-hat`},D({_:2},[E(S)?{name:`extra`,fn:N(()=>[r(`div`,Tr,[E(L)===2&&E(V).length>0?(h(),p(E(O),{key:0,type:E(le)?`primary`:`default`,class:`px-4!`,onClick:a[0]||=e=>le.value=!E(le)},{default:N(()=>[u(j(E(le)?E(i)(`spacesModule.wizard.basic`):E(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):k(``,!0),d(E(O),{link:``,class:`px-4!`,onClick:kt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),E(L)>0?(h(),p(E(O),{key:1,class:`px-4!`,onClick:E(ke)},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):k(``,!0),E(L)<3?(h(),p(E(O),{key:2,type:`primary`,class:`px-4!`,onClick:Ot},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(h(),p(E(O),{key:3,type:`primary`,loading:E(A),class:`px-4!`,onClick:At},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]),key:`0`}:void 0]),1032,[`heading`,`sub-heading`]),r(`div`,Er,[d(E(Ee),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{header:N(()=>[d(E(Me),{active:E(L),"finish-status":`success`,"align-center":``},{default:N(()=>[d(E(Ne),{title:E(i)(`spacesModule.wizard.steps.spaces.title`)},null,8,[`title`]),d(E(Ne),{title:E(i)(`spacesModule.wizard.steps.displays.title`)},null,8,[`title`]),d(E(Ne),{title:E(i)(`spacesModule.wizard.steps.devices.title`)},null,8,[`title`]),d(E(Ne),{title:E(i)(`spacesModule.wizard.steps.summary.title`)},null,8,[`title`])]),_:1},8,[`active`])]),default:N(()=>[w((h(),e(`div`,Dr,[E(L)===0?(h(),e(I,{key:0},[d(E(we),{type:`info`,title:E(i)(`spacesModule.wizard.steps.spaces.alertTitle`),description:E(i)(`spacesModule.wizard.steps.spaces.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(se),{class:`flex-1 overflow-hidden h-full`},{default:N(()=>[E(ne).length>0?(h(),e(I,{key:0},[r(`h4`,Or,j(E(i)(`spacesModule.wizard.steps.spaces.proposed`)),1),(h(!0),e(I,null,T(E(ne),(n,a)=>(h(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(De),{"model-value":n.selected,onChange:()=>E(je)(a)},null,8,[`model-value`,`onChange`]),r(`div`,kr,[n.editing?(h(),p(E(fe),{key:1,ref_for:!0,ref:e=>nt(a,e),modelValue:n.editName,"onUpdate:modelValue":e=>n.editName=e,size:`small`,class:`max-w-[250px]!`,onKeyup:[P(e=>vt(a),[`enter`]),P(e=>bt(a),[`esc`])],onBlur:e=>vt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(h(),e(I,{key:0},[u(j(n.name)+` `,1),d(E(O),{link:``,size:`small`,onClick:e=>it(a)},{default:N(()=>[d(E(s),{size:14},{default:N(()=>[d(E(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(n.deviceCount)+` `+j(E(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),d(E(J),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>Tt(n)},{default:N(()=>[d(E(Y),{label:E(i)(`spacesModule.fields.spaces.type.options.room`),value:E(Z).ROOM},null,8,[`label`,`value`]),d(E(Y),{label:E(i)(`spacesModule.fields.spaces.type.options.zone`),value:E(Z).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),d(E(J),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:E(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===E(Z).ROOM,required:n.type===E(Z).ZONE,class:`w-[180px]!`,onChange:()=>Et(n)},{default:N(()=>[n.type===E(Z).ZONE?(h(!0),e(I,{key:0},T(E(Ct)(n.type),a=>(h(),p(E(Te),{key:a.key,label:E(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:N(()=>[(h(!0),e(I,null,T(a.categories,e=>(h(),p(E(Y),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Ar,[E(wt)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(h(!0),e(I,{key:1},T(E(St)(n.type),e=>(h(),p(E(Y),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,jr,[E(wt)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),d(E(O),{size:`small`,type:`warning`,plain:``,onClick:e=>E(X)(a)},{icon:N(()=>[d(E(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):E(ae).length===0?(h(),p(E(we),{key:1,type:`info`,title:E(i)(`spacesModule.wizard.steps.spaces.noProposals`),closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`])):k(``,!0),pt.value.length>0?(h(),e(I,{key:2},[r(`h4`,Mr,j(E(i)(`spacesModule.wizard.steps.spaces.matchedExisting`)),1),(h(!0),e(I,null,T(pt.value,t=>(h(),e(`div`,{key:t.existingSpace.id,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(De),{"model-value":!0,disabled:``}),r(`span`,Nr,[t.matchCount===1?(h(),e(I,{key:0},[u(j(t.proposedNames[0])+` `,1),r(`span`,Pr,` → `+j(E(i)(`spacesModule.wizard.steps.spaces.matchedWith`,{name:t.existingSpace.name})),1)],64)):(h(),e(`span`,Fr,j(E(i)(`spacesModule.wizard.steps.spaces.multipleMatchedWith`,{count:t.matchCount,name:t.existingSpace.name})),1))]),d(E(W),{size:`small`,type:`info`},{default:N(()=>[u(j(t.totalDeviceCount)+` `+j(E(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),d(E(W),{size:`small`,type:`success`},{default:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.spaces.existingTag`)),1)]),_:1})]))),128))],64)):k(``,!0),ft.value.length>0?(h(),e(I,{key:3},[r(`h4`,Ir,j(E(i)(`spacesModule.wizard.steps.spaces.existing`)),1),r(`div`,Lr,[(h(!0),e(I,null,T(ft.value,e=>(h(),p(E(W),{key:e.id,size:`large`},{default:N(()=>[u(j(e.name),1)]),_:2},1024))),128))])],64)):k(``,!0),E(ie).length>0?(h(),e(I,{key:4},[r(`h4`,Rr,j(E(i)(`spacesModule.wizard.steps.spaces.custom`)),1),(h(!0),e(I,null,T(E(ie),(n,a)=>(h(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(De),{"model-value":n.selected,onChange:()=>E(Fe)(a)},null,8,[`model-value`,`onChange`]),r(`div`,zr,[n.editing?(h(),p(E(fe),{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:[P(e=>yt(a),[`enter`]),P(e=>xt(a),[`esc`])],onBlur:e=>yt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(h(),e(I,{key:0},[u(j(n.name)+` `,1),d(E(O),{link:``,size:`small`,onClick:e=>at(a)},{default:N(()=>[d(E(s),{size:14},{default:N(()=>[d(E(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),d(E(J),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>Tt(n)},{default:N(()=>[d(E(Y),{label:E(i)(`spacesModule.fields.spaces.type.options.room`),value:E(Z).ROOM},null,8,[`label`,`value`]),d(E(Y),{label:E(i)(`spacesModule.fields.spaces.type.options.zone`),value:E(Z).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),d(E(J),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:E(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===E(Z).ROOM,required:n.type===E(Z).ZONE,class:`w-[180px]!`,onChange:()=>Et(n)},{default:N(()=>[n.type===E(Z).ZONE?(h(!0),e(I,{key:0},T(E(Ct)(n.type),a=>(h(),p(E(Te),{key:a.key,label:E(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:N(()=>[(h(!0),e(I,null,T(a.categories,e=>(h(),p(E(Y),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Br,[E(wt)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(h(!0),e(I,{key:1},T(E(St)(n.type),e=>(h(),p(E(Y),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Vr,[E(wt)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(wt)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),d(E(O),{size:`small`,type:`warning`,plain:``,onClick:e=>E(Re)(a)},{icon:N(()=>[d(E(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):k(``,!0),r(`h4`,Hr,j(E(i)(`spacesModule.wizard.steps.spaces.addManual`)),1),r(`div`,Ur,[d(E(fe),{modelValue:Ye.value,"onUpdate:modelValue":a[1]||=e=>Ye.value=e,placeholder:E(i)(`spacesModule.wizard.steps.spaces.placeholder`)},null,8,[`modelValue`,`placeholder`]),d(E(O),{type:`primary`,disabled:!Ye.value.trim(),onClick:_t},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.add.title`)),1)]),_:1},8,[`disabled`])])]),_:1})],64)):k(``,!0),E(L)===1?(h(),e(I,{key:1},[d(E(we),{type:`info`,title:E(i)(`spacesModule.wizard.steps.displays.alertTitle`),description:E(i)(`spacesModule.wizard.steps.displays.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(q),{data:ot.value,class:`w-full flex-grow`,"table-layout":`fixed`},{empty:N(()=>[r(`div`,Wr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.displays.noDisplays`)),1)]),_:1})])]),default:N(()=>[d(E(K),{prop:`name`,label:E(i)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:t})=>[r(`div`,null,[t.name?(h(),e(I,{key:0},[r(`div`,Gr,j(t.name),1),r(`div`,Kr,j(t.macAddress),1)],64)):(h(),e(`div`,qr,j(t.macAddress),1))])]),_:1},8,[`label`]),d(E(K),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:N(({row:n})=>[d(E(J),{"model-value":E(B)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(xe)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(ut.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,Jr,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])],64)):k(``,!0),E(L)===2?(h(),e(I,{key:2},[d(E(we),{type:`info`,title:E(i)(`spacesModule.wizard.steps.devices.alertTitle`),description:E(i)(`spacesModule.wizard.steps.devices.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(q),{data:st.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{empty:N(()=>[r(`div`,Yr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.devices.noDevices`)),1)]),_:1})])]),default:N(()=>[d(E(K),{prop:`name`,label:E(i)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:t})=>[r(`div`,null,[r(`div`,null,j(t.name),1),t.description?(h(),e(`div`,Xr,j(t.description),1)):k(``,!0)])]),_:1},8,[`label`]),d(E(K),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:N(({row:n})=>[d(E(J),{"model-value":E(z)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(ye)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(ut.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,Zr,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),E(le)&&E(V).length>0?(h(),p(E(K),{key:0,label:E(i)(`spacesModule.wizard.zones`),width:`250`},{default:N(({row:t})=>[d(E(J),{"model-value":E(ce)[t.id]||[],multiple:``,clearable:``,"collapse-tags":``,placeholder:E(i)(`spacesModule.wizard.selectZones`),class:`w-full`,"onUpdate:modelValue":e=>E(Se)(t.id,e)},{default:N(()=>[(h(!0),e(I,null,T(E(V),e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])):k(``,!0)]),_:1},8,[`data`])],64)):k(``,!0),E(L)===3?(h(),e(I,{key:3},[d(E(we),{type:`info`,title:E(i)(`spacesModule.wizard.steps.summary.alertTitle`),description:E(i)(`spacesModule.wizard.steps.summary.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),r(`div`,Qr,[r(`div`,null,[r(`div`,$r,j(E(Q).spaceCount),1),r(`div`,ei,j(E(i)(`spacesModule.wizard.summary.totalSpaces`)),1)]),r(`div`,null,[r(`div`,ti,j(E(Q).assignedDevices),1),r(`div`,ni,j(E(i)(`spacesModule.wizard.summary.assignedDevices`)),1)]),d(E(te),{content:E(i)(`spacesModule.wizard.summary.clickToAssignDevices`),placement:`top`,disabled:E(Q).unassignedDevices===0},{default:N(()=>[r(`div`,{class:y({"cursor-pointer":E(Q).unassignedDevices>0}),onClick:a[2]||=e=>E(Q).unassignedDevices>0&&(Qe.value=!0)},[r(`div`,ri,j(E(Q).unassignedDevices),1),r(`div`,ii,j(E(i)(`spacesModule.wizard.summary.unassignedDevices`)),1)],2)]),_:1},8,[`content`,`disabled`]),r(`div`,null,[r(`div`,ai,j(E(Q).assignedDisplays),1),r(`div`,oi,j(E(i)(`spacesModule.wizard.summary.assignedDisplays`)),1)]),d(E(te),{content:E(i)(`spacesModule.wizard.summary.clickToAssignDisplays`),placement:`top`,disabled:E(Q).unassignedDisplays===0},{default:N(()=>[r(`div`,{class:y({"cursor-pointer":E(Q).unassignedDisplays>0}),onClick:a[3]||=e=>E(Q).unassignedDisplays>0&&($e.value=!0)},[r(`div`,si,j(E(Q).unassignedDisplays),1),r(`div`,ci,j(E(i)(`spacesModule.wizard.summary.unassignedDisplays`)),1)],2)]),_:1},8,[`content`,`disabled`])]),E(lt).length>0?(h(),e(I,{key:0},[r(`h4`,li,j(E(i)(`spacesModule.wizard.summary.bySpace`)),1),d(E(q),{data:mt.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{default:N(()=>[d(E(K),{prop:`name`,label:E(i)(`spacesModule.wizard.spaceName`)},{default:N(({row:e})=>[r(`div`,ui,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1),d(E(W),{size:`small`,type:e.type===E(Z).ROOM?`primary`:`info`,class:`ml-2`},{default:N(()=>[u(j(e.type===E(Z).ROOM?E(i)(`spacesModule.misc.types.room`):E(i)(`spacesModule.misc.types.zone`)),1)]),_:2},1032,[`type`]),e.devices===0&&e.type===E(Z).ROOM?(h(),p(E(W),{key:0,size:`small`,type:`warning`,class:`ml-1`},{default:N(()=>[u(j(E(i)(`spacesModule.wizard.summary.noDevices`)),1)]),_:1})):k(``,!0)])]),_:1},8,[`label`]),d(E(K),{prop:`devices`,label:E(i)(`spacesModule.wizard.devices`),width:`120`,align:`center`},null,8,[`label`]),d(E(K),{prop:`displays`,label:E(i)(`spacesModule.wizard.displays`),width:`120`,align:`center`},null,8,[`label`])]),_:1},8,[`data`])],64)):k(``,!0)],64)):k(``,!0),d(E(Ae),{modelValue:Qe.value,"onUpdate:modelValue":a[4]||=e=>Qe.value=e,title:E(i)(`spacesModule.wizard.summary.unassignedDevicesTitle`)},{default:N(()=>[d(E(q),{data:ht.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:N(()=>[d(E(K),{prop:`name`,label:E(i)(`spacesModule.wizard.deviceName`)},null,8,[`label`]),d(E(K),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:N(({row:n})=>[d(E(J),{"model-value":E(z)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(ye)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(ut.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,di,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]),d(E(Ae),{modelValue:$e.value,"onUpdate:modelValue":a[5]||=e=>$e.value=e,title:E(i)(`spacesModule.wizard.summary.unassignedDisplaysTitle`)},{default:N(()=>[d(E(q),{data:gt.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:N(()=>[d(E(K),{label:E(i)(`spacesModule.wizard.displayName`)},{default:N(({row:t})=>[t.name?(h(),e(I,{key:0},[r(`div`,fi,j(t.name),1),r(`div`,pi,j(t.macAddress),1)],64)):(h(),e(`div`,mi,j(t.macAddress),1))]),_:1},8,[`label`]),d(E(K),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:N(({row:n})=>[d(E(J),{"model-value":E(B)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(xe)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(ut.value,e=>(h(),p(E(Y),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,hi,[d(E(t),{icon:dt(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`])])),[[E(Pe),E(A)]]),E(S)?k(``,!0):(h(),e(`div`,gi,[E(L)>0?(h(),p(E(O),{key:0,onClick:E(ke)},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):(h(),e(`div`,_i)),r(`div`,vi,[d(E(O),{onClick:kt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),E(L)===2&&E(V).length>0?(h(),p(E(O),{key:0,type:E(le)?`primary`:`default`,onClick:a[6]||=e=>le.value=!E(le)},{default:N(()=>[u(j(E(le)?E(i)(`spacesModule.wizard.basic`):E(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):k(``,!0),E(L)<3?(h(),p(E(O),{key:1,type:`primary`,onClick:Ot},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(h(),p(E(O),{key:2,type:`primary`,loading:E(A),onClick:At},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]))]),_:1})])],64))}}),bi=`spaces-home-control-plugin`,xi=`com.fastybird.smart-panel.plugin.spaces-home-control`,Si=[Z.ROOM,Z.ZONE],Ci={SPACE:`spaces_home_control_plugin-space`,SPACE_EDIT:`spaces_home_control_plugin-space_edit`};export{yi as a,ur as c,Rn as d,An as f,Si as i,rr as l,bi as n,wr as o,Sn as p,xi as r,_r as s,Ci as t,Xn as u};