@fastybird/smart-panel-admin 0.1.0-alpha.5 → 0.1.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/assets/{card-add-form-C8k05jix.js → card-add-form-Pxgzb_ci.js} +1 -1
  2. package/dist/assets/{card-edit-form-B4Wy_x66.js → card-edit-form-CON4jaIo.js} +1 -1
  3. package/dist/assets/{common-DlW3qRTQ.js → common-DyDAwGBz.js} +4 -4
  4. package/dist/assets/{components-o_FTQqv1.js → components--65VzRQH.js} +1 -1
  5. package/dist/assets/{components-DlofbaXq.js → components-BPdLRVnA.js} +2 -2
  6. package/dist/assets/{components-BFT9ksvz.js → components-BerPwVp-.js} +1 -1
  7. package/dist/assets/{components-DRDcqY-d.js → components-CQOBigIL.js} +1 -1
  8. package/dist/assets/{components-D8PpAJgM.js → components-CgyOM-CC.js} +1 -1
  9. package/dist/assets/{components-tvaQsmsk.js → components-Cvj-jTXV.js} +2 -2
  10. package/dist/assets/{components-DBRr1g1A.js → components-DyHKXGO-.js} +1 -1
  11. package/dist/assets/{components-4pZvmdD8.js → components-mclHZ55p.js} +1 -1
  12. package/dist/assets/{composables-CLHFuu4k.js → composables-B6gv3LxR.js} +1 -1
  13. package/dist/assets/{composables-COu_3hI8.js → composables-Bg2MBx7D.js} +1 -1
  14. package/dist/assets/{composables-CU6q9-8B.js → composables-C9x-efDp.js} +1 -1
  15. package/dist/assets/{composables-m3XA9ZFJ.js → composables-CVFi60Du.js} +1 -1
  16. package/dist/assets/{composables-CzSTR7jk.js → composables-DZYr3rl3.js} +1 -1
  17. package/dist/assets/{composables-Da97cjje.js → composables-DdqAQ2NN.js} +1 -1
  18. package/dist/assets/{composables-BTOG7VNs2.js → composables-EOIIyvfq2.js} +1 -1
  19. package/dist/assets/{composables-Cl0F9F_S.js → composables-UlKjXsBi.js} +1 -1
  20. package/dist/assets/{composables-CjGTzpGj.js → composables-lfdMtVU8.js} +1 -1
  21. package/dist/assets/{dashboard-DilMazDB.js → dashboard-DfhAHLf_.js} +2 -2
  22. package/dist/assets/{dashboard.types-DHlozs9y.js → dashboard.types-Jem1nlEy.js} +1 -1
  23. package/dist/assets/{data-source-edit-form-mTdgdACg.js → data-source-edit-form-DhRIUxuw.js} +1 -1
  24. package/dist/assets/{drawer-Db27jij8.js → drawer-BC8DYcvI.js} +1 -1
  25. package/dist/assets/{index-DW2Q2Ef8.js → index-BDDqdVnT.js} +4 -4
  26. package/dist/assets/{input-number-BF0uWlX2.js → input-number-ZxkWRYbD.js} +1 -1
  27. package/dist/assets/{integration-config-dialog-DCF8K0UE.js → integration-config-dialog-ByYgxK4S.js} +1 -1
  28. package/dist/assets/{layout-config-DkSTscYx.js → layout-config-BNu3S7S4.js} +1 -1
  29. package/dist/assets/{layout-default-LKbviw7y.js → layout-default-BPXnOfmF.js} +1 -1
  30. package/dist/assets/{layout-lock-Cp5xh9ot.js → layout-lock--gkSv3un.js} +1 -1
  31. package/dist/assets/layout-profile-D_3OGioj.js +1 -0
  32. package/dist/assets/{layout-profile-wkO5hDf5.js → layout-profile-sLgAVYMg.js} +1 -1
  33. package/dist/assets/{layout-sign-C8xK52Nq.js → layout-sign-CiXTWrEu.js} +1 -1
  34. package/dist/assets/layout-sign-DjzS064d.js +1 -0
  35. package/dist/assets/{list-data-sources-adjust-Bj-0Adap.js → list-data-sources-adjust-D8QPNWre.js} +1 -1
  36. package/dist/assets/{list-locations-BM5Yvsew.js → list-locations-BFPqF3i-.js} +1 -1
  37. package/dist/assets/{list-users-dBZVseES.js → list-users-CYCm53K6.js} +1 -1
  38. package/dist/assets/{logs-entries.transformers-BRzpY2MS.js → logs-entries.transformers-B17JQgGx.js} +1 -1
  39. package/dist/assets/{page-configure-BLho4eEA.js → page-configure-ChpS6Or7.js} +1 -1
  40. package/dist/assets/{page-configure-1ENlHHe8.js → page-configure-xghKYXvV.js} +1 -1
  41. package/dist/assets/{pagination-BN87kdDs.js → pagination-DejKh2TT.js} +1 -1
  42. package/dist/assets/{popover-DOg0KdzK.js → popover-BW83aJP4.js} +1 -1
  43. package/dist/assets/{radio-BmI00y-5.js → radio-BvpKu4BH.js} +1 -1
  44. package/dist/assets/{scene-add-form-DdmUnhy5.js → scene-add-form-v31kuUJe.js} +1 -1
  45. package/dist/assets/{scene-edit-form-BeXK9ZM1.js → scene-edit-form-CURoaMiA.js} +1 -1
  46. package/dist/assets/{select-data-source-plugin-CtXn9m8K.js → select-data-source-plugin-CvsohGgN.js} +1 -1
  47. package/dist/assets/{slider-YJlo4Ibo.js → slider-CS5SsQJB.js} +1 -1
  48. package/dist/assets/{steps-BIGbhQaO.js → steps-B6e2Hpk1.js} +1 -1
  49. package/dist/assets/{table-5pjI7ihN.js → table-DEzwgEz4.js} +1 -1
  50. package/dist/assets/{tile-detail-COru-nDQ.js → tile-detail-DQXNcHh_.js} +1 -1
  51. package/dist/assets/{tile-edit-form-jjo5FbvD.js → tile-edit-form-BXWm1wW5.js} +1 -1
  52. package/dist/assets/{types-B8upWpl6.js → types-DQmL99Jz.js} +1 -1
  53. package/dist/assets/{useBuddyChat-DREu7Tv5.js → useBuddyChat-CGKBq3sR.js} +1 -1
  54. package/dist/assets/{useDataSources-Bx93bXrZ.js → useDataSources-D1fe9MPt.js} +1 -1
  55. package/dist/assets/{useDevices-CuJhDHbf.js → useDevices-oOyjupML.js} +1 -1
  56. package/dist/assets/{useGeolocation-QxCQnrMH.js → useGeolocation-Bn0Ka28s.js} +1 -1
  57. package/dist/assets/{useLocation-BM-8kEbz.js → useLocation-DmKkc95i.js} +1 -1
  58. package/dist/assets/{usePage-DTL4RY9u.js → usePage-B4kb2gRl.js} +1 -1
  59. package/dist/assets/{useSpaces-DnSZteHf.js → useSpaces-LfBlMH_H.js} +1 -1
  60. package/dist/assets/{view-buddy-chat-DKryg2MX.js → view-buddy-chat-2LOZupni.js} +1 -1
  61. package/dist/assets/{view-card-add-CYZ9eXg5.js → view-card-add-PWabVoVQ.js} +1 -1
  62. package/dist/assets/{view-card-edit-C5zcGDFz.js → view-card-edit-DEJBolH-.js} +1 -1
  63. package/dist/assets/{view-channel-IJiMTDSG.js → view-channel-BHDhS4p-.js} +1 -1
  64. package/dist/assets/{view-channel-add-YCqERQS-.js → view-channel-add-BCtvWXrd.js} +1 -1
  65. package/dist/assets/{view-channel-edit-Dnct_m0O.js → view-channel-edit-BTyoazYZ.js} +1 -1
  66. package/dist/assets/{view-channel-property-add-CoaudIGV.js → view-channel-property-add-ruykaYtd.js} +1 -1
  67. package/dist/assets/{view-channel-property-edit-g0J-yPAY.js → view-channel-property-edit-BnYYqxkX.js} +1 -1
  68. package/dist/assets/{view-channels--BS5J8Ro.js → view-channels-CmrrHeQA.js} +1 -1
  69. package/dist/assets/{view-config-module-edit-RW7YEgut.js → view-config-module-edit-FmOaydgI.js} +1 -1
  70. package/dist/assets/{view-config-modules-Bi5Ib06n.js → view-config-modules-P71Gx-Ox.js} +1 -1
  71. package/dist/assets/{view-config-plugin-edit-CviUNBYF.js → view-config-plugin-edit-C6_fE8lN.js} +1 -1
  72. package/dist/assets/{view-config-plugins-BBxIkmDq.js → view-config-plugins-1dCE5KY4.js} +1 -1
  73. package/dist/assets/{view-data-source-add-3vF7foLh.js → view-data-source-add-COea4cEq.js} +1 -1
  74. package/dist/assets/{view-data-source-add-CNRJiOEl.js → view-data-source-add-Ctkk4rH0.js} +1 -1
  75. package/dist/assets/{view-data-source-edit-5xrflzsE.js → view-data-source-edit-DSVnEdb0.js} +1 -1
  76. package/dist/assets/{view-data-source-edit-BJeCPFQo.js → view-data-source-edit-dwsWJDG4.js} +1 -1
  77. package/dist/assets/{view-device-C6EIYm4K.js → view-device-TNAtLE-u.js} +1 -1
  78. package/dist/assets/{view-device-add-Dtg4hKNb.js → view-device-add-DOMsL_By.js} +1 -1
  79. package/dist/assets/{view-device-control-D14Yf_3B.js → view-device-control-D3bWbQy2.js} +1 -1
  80. package/dist/assets/{view-device-edit-D3wfo1SZ.js → view-device-edit-BSrgYuAM.js} +1 -1
  81. package/dist/assets/{view-devices-CQyYakG6.js → view-devices-D0fUuW0C.js} +1 -1
  82. package/dist/assets/{view-display-BoDjtT_C.js → view-display-CZPK0L_O.js} +1 -1
  83. package/dist/assets/{view-display-edit-DOBx3FR9.js → view-display-edit-gByzGhMs.js} +1 -1
  84. package/dist/assets/{view-display-tokens-ylzZVdwc.js → view-display-tokens-BxHDs6uq.js} +1 -1
  85. package/dist/assets/{view-displays-Bv-jxEGc.js → view-displays-CewYxCVw.js} +1 -1
  86. package/dist/assets/{view-extension-detail-BAuEjk3c.js → view-extension-detail-DSs3NVxd.js} +1 -1
  87. package/dist/assets/{view-extensions-xnAarDlC.js → view-extensions-piIsPNf6.js} +1 -1
  88. package/dist/assets/{view-location-BbOLMWOk.js → view-location-CSl3EEVR.js} +1 -1
  89. package/dist/assets/{view-location-add-B3Bljsk2.js → view-location-add-DAJfdCWA.js} +1 -1
  90. package/dist/assets/{view-location-edit-Csq0lDWt.js → view-location-edit-DzRxnPA5.js} +1 -1
  91. package/dist/assets/{view-locations-DF-FXbjv.js → view-locations-lurkMZH_.js} +1 -1
  92. package/dist/assets/{view-lock-screen-ClIhVZNt.js → view-lock-screen-C2ycj8hs.js} +1 -1
  93. package/dist/assets/{view-onboarding-vZhyo5Yl.js → view-onboarding-dzzRbXxx.js} +1 -1
  94. package/dist/assets/{view-page-DCmbFTnE.js → view-page-71AaAyYY.js} +1 -1
  95. package/dist/assets/{view-page-add-Cpzp9lXV.js → view-page-add-Bf9pNL0Y.js} +1 -1
  96. package/dist/assets/{view-page-configure-b5zQ9PXr.js → view-page-configure-DFlrn4ng.js} +1 -1
  97. package/dist/assets/{view-page-configure-c8DaItoq.js → view-page-configure-DZZgAftY.js} +1 -1
  98. package/dist/assets/{view-page-data-source-add-CJMzSAGm.js → view-page-data-source-add-BumAmlK1.js} +1 -1
  99. package/dist/assets/{view-page-data-source-edit-BI5AXiNz.js → view-page-data-source-edit-CKQj40z8.js} +1 -1
  100. package/dist/assets/{view-page-edit-fw913SDe.js → view-page-edit-DsVBb_0a.js} +1 -1
  101. package/dist/assets/{view-page-plugin-BrlvGuEU.js → view-page-plugin-zbDx-8k2.js} +1 -1
  102. package/dist/assets/{view-pages-DVvpvvkt.js → view-pages-CzrtWNsy.js} +1 -1
  103. package/dist/assets/{view-profile-general-jV0TcOZC.js → view-profile-general-4XvU3hOw.js} +1 -1
  104. package/dist/assets/{view-profile-security-CPgtYKl1.js → view-profile-security-tUXZtBfp.js} +1 -1
  105. package/dist/assets/{view-scene-add-CT1MOXtu.js → view-scene-add-DYx7wqWm.js} +1 -1
  106. package/dist/assets/{view-scene-edit-4B1IzMuu.js → view-scene-edit-BNLlsUWW.js} +1 -1
  107. package/dist/assets/{view-scenes-DoDkd08z.js → view-scenes-DPZBf6hH.js} +1 -1
  108. package/dist/assets/{view-sign-in-CC7zlx9Q.js → view-sign-in-Dn7Sueav.js} +1 -1
  109. package/dist/assets/{view-sign-up-B1l4jvOx.js → view-sign-up-BT4JPoJG.js} +1 -1
  110. package/dist/assets/{view-space-VnVbkvKT.js → view-space-DCq1Iggu.js} +1 -1
  111. package/dist/assets/{view-space-add-DwONNuir.js → view-space-add-DChQBXFH.js} +1 -1
  112. package/dist/assets/{view-space-edit-44iZOBav.js → view-space-edit-BCS0kMTe.js} +1 -1
  113. package/dist/assets/{view-spaces-CuuMx0iT.js → view-spaces-B9N_NjpZ.js} +1 -1
  114. package/dist/assets/{view-spaces-onboarding-CN6qrfN6.js → view-spaces-onboarding-JIX4TcWu.js} +1 -1
  115. package/dist/assets/{view-stats-F8sYkha0.js → view-stats-D3jkSeCi.js} +1 -1
  116. package/dist/assets/{view-system-info-AVyQIUWe.js → view-system-info-Bj795uHO.js} +1 -1
  117. package/dist/assets/{view-system-log-detail-sgFgbNjX.js → view-system-log-detail-BDgL1D5J.js} +1 -1
  118. package/dist/assets/{view-system-logs-eIoNhI5c.js → view-system-logs-DebD3h5V.js} +1 -1
  119. package/dist/assets/{view-tile-add-B7mnK_PA.js → view-tile-add-BNt_lwb1.js} +1 -1
  120. package/dist/assets/{view-tile-add-Yt_KOkky.js → view-tile-add-wMJtoCQn.js} +1 -1
  121. package/dist/assets/{view-tile-data-source-add-DxaZd4Dp.js → view-tile-data-source-add-BQeH_vRs.js} +1 -1
  122. package/dist/assets/{view-tile-data-source-edit-jzGg3dBQ.js → view-tile-data-source-edit-D2d0Esvp.js} +1 -1
  123. package/dist/assets/{view-tile-edit-kHjMhT9e.js → view-tile-edit-CEbfDUeY.js} +1 -1
  124. package/dist/assets/{view-tile-edit-b2LCLrB5.js → view-tile-edit-CH5cKzYp.js} +1 -1
  125. package/dist/assets/{view-tile-edit-hbO-vs_Y.js → view-tile-edit-D9COp79j.js} +1 -1
  126. package/dist/assets/{view-tile-t4cTwgz2.js → view-tile-phBBfQoi.js} +1 -1
  127. package/dist/assets/{view-user-add-CdlbezB7.js → view-user-add-D3EkKSML.js} +1 -1
  128. package/dist/assets/{view-user-edit-S0Up49jC.js → view-user-edit-ColYWEea.js} +1 -1
  129. package/dist/assets/{view-users-B-m50sCU.js → view-users-BmX2uwUd.js} +1 -1
  130. package/dist/assets/{weather-forecast.transformers-CxZiOJKt.js → weather-forecast.transformers-Bq4YleIF.js} +1 -1
  131. package/dist/assets/{weather-751GlpD1.js → weather-ll5NQwKh.js} +2 -2
  132. package/dist/index.html +50 -50
  133. package/package.json +1 -1
  134. package/dist/assets/layout-profile-ByHuBl2Y.js +0 -1
  135. package/dist/assets/layout-sign-CjJVcqWG.js +0 -1
@@ -1 +1 @@
1
- import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Ar as n,Br as r,C as i,Di as a,Hr as o,Jt as s,Lr as c,Lt as l,Mt as u,Nr as d,O as f,Oi as p,Qr as m,Qt as h,S as g,Sr as _,T as v,Ur as y,Xr as b,Zt as x,_i as S,_r as C,ai as ee,br as w,ci as te,ct as T,d as E,f as D,gr as O,h as k,hr as A,in as j,ji as M,lr as N,m as P,mr as F,n as I,p as L,pi as ne,pt as re,sr as ie,t as R,tn as ae,tt as oe,ui as z,ut as se,vr as B,w as ce,wi as le,xr as V}from"./icon-with-child-DmQ_XhQy.js";import{$r as H,At as ue,B as de,Bt as U,Ci as fe,Fi as pe,Ft as me,H as he,Hr as ge,Ht as W,Ir as _e,Kr as ve,Li as ye,Ni as be,Nr as xe,Nt as Se,Pi as G,Rt as K,Si as Ce,Ti as we,Ur as Te,Vr as Ee,Wt as De,Xt as Oe,Yt as ke,_ as Ae,_i as q,bi as J,cr as Y,d as je,di as Me,ei as Ne,fa as Pe,fr as Fe,gi as Ie,hr as X,jr as Le,jt as Re,ma as ze,pr as Z,ui as Be,ur as Q,vi as Ve,wi as He,y as Ue,yi as We}from"./common-DlW3qRTQ.js";import{n as $,t as Ge}from"./table-5pjI7ihN.js";import{t as Ke}from"./input-number-BF0uWlX2.js";import{n as qe,r as Je}from"./radio-BmI00y-5.js";import{t as Ye}from"./pagination-BN87kdDs.js";import{t as Xe}from"./slider-YJlo4Ibo.js";import{t as Ze}from"./popover-DOg0KdzK.js";import{i as Qe}from"./composables-CjGTzpGj.js";import{t as $e}from"./useSpaces-DnSZteHf.js";import{a as et,c as tt,d as nt,f as rt,g as it,h as at,l as ot,m as st,p as ct,t as lt,u as ut}from"./composables-Cl0F9F_S.js";import{t as dt}from"./useDevices-CuJhDHbf.js";import{b as ft,n as pt,r as mt,y as ht}from"./composables-BTOG7VNs2.js";var gt={label:`label`,value:`value`,disabled:`disabled`},_t=x({direction:{type:h(String),default:`horizontal`},options:{type:h(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:h(Object),default:()=>gt},block:Boolean,size:T,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...ye([`ariaLabel`])}),vt={[ze]:e=>a(e)||j(e)||ae(e),[Pe]:e=>a(e)||j(e)||ae(e)},yt=[`id`,`aria-label`,`aria-labelledby`],bt=[`name`,`disabled`,`checked`,`onChange`],xt=oe(_({name:`ElSegmented`,__name:`segmented`,props:_t,emits:vt,setup(e,{emit:n}){let a=e,c=n,d=re(`segmented`),f=se(),m=v(),h=ce(),{formItem:_}=g(),{inputId:x,isLabeledByFormItem:ee}=i(a,{formItemContext:_}),T=z(null),E=u(),D=te({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),O=(e,t)=>{let n=P(t);c(ze,n),c(Pe,n),e.target.checked=n===a.modelValue},k=F(()=>({...gt,...a.props})),j=e=>e,P=e=>le(e)?e[k.value.value]:e,I=e=>le(e)?e[k.value.label]:e,L=e=>!!(h.value||le(e)&&e[k.value.disabled]),ne=e=>a.modelValue===P(e),ie=e=>a.options.find(t=>P(t)===e),R=e=>[d.e(`item`),d.is(`selected`,ne(e)),d.is(`disabled`,L(e))],ae=()=>{if(!T.value)return;let e=T.value.querySelector(`.is-selected`),t=T.value.querySelector(`.is-selected input`);if(!e||!t){D.width=0,D.height=0,D.translateX=0,D.translateY=0,D.focusVisible=!1;return}D.isInit=!0,a.direction===`vertical`?(D.height=e.offsetHeight,D.translateY=e.offsetTop):(D.width=e.offsetWidth,D.translateX=e.offsetLeft);try{D.focusVisible=t.matches(`:focus-visible`)}catch{}},oe=F(()=>[d.b(),d.m(m.value),d.is(`block`,a.block)]),V=F(()=>({width:a.direction===`vertical`?`100%`:`${D.width}px`,height:a.direction===`vertical`?`${D.height}px`:`100%`,transform:a.direction===`vertical`?`translateY(${D.translateY}px)`:`translateX(${D.translateX}px)`,display:D.isInit?`block`:`none`})),H=F(()=>[d.e(`item-selected`),d.is(`disabled`,L(ie(a.modelValue))),d.is(`focus-visible`,D.focusVisible)]),ue=F(()=>a.name||f.value);return l(T,ae),b(E,ae),b(()=>a.modelValue,()=>{ae(),a.validateEvent&&_?.validate?.(`change`).catch(e=>s(e))},{flush:`post`}),(n,i)=>e.options.length?(r(),B(`div`,{key:0,id:S(x),ref_key:`segmentedRef`,ref:T,class:p(oe.value),role:`radiogroup`,"aria-label":S(ee)?void 0:e.ariaLabel||`segmented`,"aria-labelledby":S(ee)?S(_).labelId:void 0},[A(`div`,{class:p([S(d).e(`group`),S(d).m(e.direction)])},[A(`div`,{style:t(V.value),class:p(H.value)},null,6),(r(!0),B(N,null,o(e.options,(e,t)=>(r(),B(`label`,{key:t,class:p(R(e))},[A(`input`,{class:p(S(d).e(`item-input`)),type:`radio`,name:ue.value,disabled:L(e),checked:ne(e),onChange:t=>O(t,e)},null,42,bt),A(`div`,{class:p(S(d).e(`item-label`))},[y(n.$slots,`default`,{item:j(e)},()=>[w(M(I(e)),1)])],2)],2))),128))],2)],10,yt)):C(`v-if`,!0)}})),St={class:`flex w-full`},Ct=_({name:`SpacesFilter`,__name:`spaces-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=xe(n,`filters`,i),s=z(void 0);return b(()=>o.value.search,e=>{e===``&&(o.value.search=void 0)}),(e,t)=>(r(),B(`div`,St,[V(S(be),{ref_key:`filterFormEl`,ref:s,inline:!0,model:S(o),class:`grow-1`},{default:m(()=>[V(S(we),{modelValue:S(o).search,"onUpdate:modelValue":t[0]||=e=>S(o).search=e,placeholder:S(a)(`spacesModule.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:m(()=>[V(S(f),null,{default:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),V(S(he),{"selected-count":n.selectedCount,actions:n.bulkActions,onAction:t[1]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),n.filtersActive?(r(),O(S(k),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`reset-filters`)},{default:m(()=>[V(S(L),{icon:`mdi:filter-off`})]),_:1})):C(``,!0),V(S(k),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`adjust-list`)},{default:m(()=>[V(S(L),{icon:`mdi:slider`})]),_:1})]))}}),wt={key:0,class:`h-full w-full leading-normal`},Tt={key:1,class:`h-full w-full leading-normal`},Et={key:2,class:`h-full w-full leading-normal`},Dt={class:`block`},Ot=_({name:`SpacesTable`,__name:`spaces-table`,props:{items:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{},filters:{},sortBy:{},sortDir:{}},emits:[`detail`,`edit`,`remove`,`add`,`reset-filters`,`update:sort-by`,`update:sort-dir`,`selected-changes`],setup(n,{emit:i}){let a=n,o=i,{t:s}=E(),{isMDDevice:c}=Le(),l=F(()=>a.totalRows===0),u=F(()=>a.tableHeight??400),d=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},f=e=>{o(`detail`,e.id)},p=e=>{o(`selected-changes`,e)};return(n,i)=>e((r(),O(S(Ge),{"element-loading-text":S(s)(`spacesModule.texts.loadingSpaces`),data:a.items,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:t({maxHeight:u.value+`px`}),"max-height":u.value,onSortChange:d,onSelectionChange:p,onRowClick:f},{empty:m(()=>[a.loading?(r(),B(`div`,wt,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):a.filtersActive&&!a.loading?(r(),B(`div`,Tt,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(s)(`spacesModule.texts.noFilteredSpaces`)),1)]),_:1}),V(S(k),{type:`primary`,plain:``,class:`mt-4`,onClick:i[0]||=e=>o(`reset-filters`)},{icon:m(()=>[V(S(L),{icon:`mdi:filter-off`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):l.value&&!a.loading?(r(),B(`div`,Et,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(s)(`spacesModule.texts.noSpaces`)),1)]),_:1})])):C(``,!0)]),default:m(()=>[S(c)?(r(),O(S($),{key:0,type:`selection`,fixed:``,width:30})):C(``,!0),V(S($),{width:60,align:`center`},{default:m(e=>[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:e.row.icon||(e.row.type===S(W).ROOM?`mdi:door`:`mdi:home-floor-1`),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),_:1}),V(S($),{label:S(s)(`spacesModule.table.columns.name`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:m(e=>[A(`strong`,Dt,M(e.row.name),1),e.row.description?(r(),O(S(Te),{key:0,size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.row.description),1)]),_:2},1024)):C(``,!0)]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.type`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:m(e=>[V(S(J),{type:e.row.type===S(W).ROOM?`primary`:`info`,size:`small`},{default:m(()=>[w(M(S(s)(`spacesModule.misc.types.${e.row.type}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.category`),prop:`category`,width:150},{default:m(e=>[e.row.category?(r(),O(S(Te),{key:0,size:`small`},{default:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.category.options.${e.row.category}`)),1)]),_:2},1024)):(r(),O(S(Te),{key:1,size:`small`,type:`info`},{default:m(()=>[...i[2]||=[w(` — `,-1)]]),_:1}))]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.order`),prop:`displayOrder`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:100,align:`center`},{default:m(e=>[w(M(e.row.displayOrder),1)]),_:1},8,[`label`]),V(S($),{width:190,align:`right`},{default:m(e=>[A(`div`,{onClick:i[1]||=ie(()=>{},[`stop`])},[V(S(k),{size:`small`,plain:``,"data-test-id":`detail-space`,onClick:t=>o(`detail`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:file-search-outline`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),V(S(k),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-space`,onClick:t=>o(`edit`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),V(S(k),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-space`,onClick:t=>o(`remove`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:trash`})]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[S(ge),a.loading]])}}),kt=_({name:`ListSpaces`,__name:`list-spaces`,props:{items:{},allItems:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},filters:{},paginatePage:{},paginateSize:{},sortBy:{},sortDir:{}},emits:[`detail`,`edit`,`remove`,`add`,`adjust-list`,`reset-filters`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`bulk-action`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),{isMDDevice:o}=Le(),s=null,l=z(null),u=z(null),f=xe(n,`filters`,i),p=z(n.sortBy),h=z(n.sortDir??null),g=z(n.paginatePage),_=z(n.paginateSize),v=z(250),y=z([]),x=F(()=>[{key:`delete`,label:a(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),C=e=>{i(`detail`,e)},w=e=>{i(`edit`,e)},te=e=>{i(`remove`,e)},T=()=>{i(`add`)},D=()=>{i(`reset-filters`)},O=e=>{i(`update:paginate-size`,e)},k=e=>{i(`update:paginate-page`,e)},j=e=>{y.value=e},M=e=>{i(`bulk-action`,e,y.value)};return c(()=>{if(!l.value)return;let e=()=>{l.value&&u.value&&(v.value=l.value.clientHeight-u.value.clientHeight)};typeof window<`u`&&`ResizeObserver`in window&&(s=new ResizeObserver(e),s.observe(l.value)),e()}),d(()=>{s&&l.value&&s.unobserve(l.value)}),b(()=>p.value,e=>{i(`update:sort-by`,e)}),b(()=>h.value,e=>{i(`update:sort-dir`,e)}),b(()=>n.paginatePage,e=>{g.value=e}),b(()=>n.paginateSize,e=>{_.value=e}),b(()=>n.sortDir??null,e=>{h.value=e}),b(()=>n.sortBy,e=>{p.value=e}),b(()=>o.value,e=>{e||(y.value=[])}),(e,t)=>(r(),B(N,null,[V(S(Ie),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:m(()=>[V(Ct,{filters:S(f),"onUpdate:filters":t[0]||=e=>ee(f)?f.value=e:null,"filters-active":n.filtersActive,"selected-count":y.value.length,"bulk-actions":x.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:M},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),A(`div`,{ref_key:`wrapper`,ref:l,class:`flex-grow overflow-hidden`},[V(S(Ie),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:m(()=>[V(Ot,{filters:S(f),"onUpdate:filters":t[3]||=e=>ee(f)?f.value=e:null,"sort-by":p.value,"onUpdate:sortBy":t[4]||=e=>p.value=e,"sort-dir":h.value,"onUpdate:sortDir":t[5]||=e=>h.value=e,items:n.items,"total-rows":n.totalRows,loading:n.loading,"filters-active":n.filtersActive,"table-height":v.value,onDetail:C,onEdit:w,onRemove:te,onAdd:T,onResetFilters:D,onSelectedChanges:j},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),A(`div`,{ref_key:`paginator`,ref:u,class:`flex justify-center w-full py-4`},[V(S(Ye),{"current-page":g.value,"onUpdate:currentPage":t[6]||=e=>g.value=e,"page-size":_.value,"onUpdate:pageSize":t[7]||=e=>_.value=e,layout:S(o)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:n.allItems.length,onSizeChange:O,onCurrentChange:k},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),At={class:`px-2`},jt={class:`px-5 py-2 text-center`},Mt=D(_({name:`ListSpacesAdjust`,__name:`list-spaces-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let n=e,i=t,a=re(`list-spaces-adjust`),{t:o}=E(),s=z([`type`]),c=xe(n,`filters`,i);return(e,t)=>(r(),B(N,null,[V(S(_e),{teleport:``},{icon:m(()=>[V(S(L),{icon:`mdi:filter`})]),title:m(()=>[w(M(S(o)(`spacesModule.headings.adjustFilters`)),1)]),subtitle:m(()=>[w(M(S(o)(`spacesModule.subHeadings.adjustFilters`)),1)]),_:1}),A(`div`,{class:p([[S(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[V(S(He),{class:`flex-grow`},{default:m(()=>[V(S(Be),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e},{default:m(()=>[V(S(Me),{name:`type`,class:p([S(a).e(`filter-item`)])},{title:m(()=>[V(S(Te),{class:`!px-2`},{default:m(()=>[w(M(S(o)(`spacesModule.filters.type.title`)),1)]),_:1})]),default:m(()=>[A(`div`,At,[V(S(Je),{modelValue:S(c).type,"onUpdate:modelValue":t[0]||=e=>S(c).type=e},{default:m(()=>[V(S(qe),{label:S(o)(`spacesModule.misc.types.room`),value:S(W).ROOM},null,8,[`label`,`value`]),V(S(qe),{label:S(o)(`spacesModule.misc.types.zone`),value:S(W).ZONE},null,8,[`label`,`value`]),V(S(qe),{label:S(o)(`spacesModule.filters.type.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),A(`div`,jt,[V(S(k),{disabled:!n.filtersActive,onClick:t[2]||=e=>i(`reset-filters`)},{icon:m(()=>[V(S(L),{icon:`mdi:filter-remove`})]),default:m(()=>[w(` `+M(S(o)(`spacesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-2f65479c`]]),Nt={saved:e=>typeof e==`object`,cancel:()=>!0,"update:remote-form-changed":e=>typeof e==`boolean`},Pt={class:`flex items-center gap-2`},Ft={class:`font-medium`},It={class:`px-2`},Lt={class:`flex items-center gap-2`},Rt={class:`flex items-center gap-2`},zt={class:`flex items-center gap-2`},Bt={class:`font-medium`},Vt={class:`px-2`},Ht={class:`flex items-center gap-2`},Ut={key:0,class:`flex gap-2 justify-end mt-4`},Wt=_({__name:`space-add-form`,props:{hideActions:{type:Boolean,default:!1}},emits:Nt,setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),{zoneSpaces:c}=$e(),{model:l,formEl:u,formChanged:d,submit:p,formResult:h,createdSpace:g}=at({id:je().toString()}),_=z();b(_,e=>{u.value=e},{immediate:!0});let v=z([`general`,`organization`]),y=te({icon:null,description:null}),x=F({get:()=>l.icon?.replace(`mdi:`,``)??null,set:e=>{l.icon=e?`mdi:${e}`:null}}),{categoryOptions:ee,categoryGroups:T,currentTemplates:D}=st(F(()=>l.type));b(()=>l.type,e=>{l.category&&!Oe(l.category,e)&&(l.category=null,l.icon===y.icon&&(l.icon=null,y.icon=null),l.description===y.description&&(l.description=null,y.description=null)),e===W.ZONE&&(l.parentId=null),_.value?.clearValidate()});let j=e=>{if(e&&D.value[e]){let t=D.value[e];(!l.icon||l.icon===y.icon)&&(l.icon=t.icon,y.icon=t.icon),(!l.description||l.description===y.description)&&(l.description=t.description,y.description=t.description)}},P=F(()=>({name:[{required:!0,message:s(`spacesModule.fields.spaces.name.validation.required`),trigger:`blur`}],category:[{required:l.type===W.ZONE,message:s(`spacesModule.fields.spaces.category.validation.requiredForZone`),trigger:`blur`}]}));b(()=>d.value,e=>{a(`update:remote-form-changed`,e)},{immediate:!0});let I=async()=>{try{await p(),g.value&&a(`saved`,g.value)}catch{}},ne=()=>{a(`cancel`)};return t({submit:I}),(e,t)=>(r(),O(S(be),{ref_key:`formElRef`,ref:_,model:S(l),rules:P.value,"label-position":`top`,onSubmit:ie(I,[`prevent`])},{default:m(()=>[V(S(Be),{modelValue:v.value,"onUpdate:modelValue":t[7]||=e=>v.value=e},{default:m(()=>[V(S(Me),{name:`general`},{title:m(()=>[A(`div`,Pt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1}),A(`span`,Ft,M(S(s)(`spacesModule.edit.sections.general.title`)),1)])]),default:m(()=>[A(`div`,It,[V(S(G),{label:S(s)(`spacesModule.fields.spaces.name.title`),prop:`name`},{default:m(()=>[V(S(we),{modelValue:S(l).name,"onUpdate:modelValue":t[0]||=e=>S(l).name=e,placeholder:S(s)(`spacesModule.fields.spaces.name.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.type.title`),prop:`type`},{default:m(()=>[V(S(We),{modelValue:S(l).type,"onUpdate:modelValue":t[1]||=e=>S(l).type=e},{default:m(()=>[V(S(q),{label:S(s)(`spacesModule.fields.spaces.type.options.room`),value:S(W).ROOM},null,8,[`label`,`value`]),V(S(q),{label:S(s)(`spacesModule.fields.spaces.type.options.zone`),value:S(W).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.category.title`),prop:`category`},{default:m(()=>[V(S(We),{modelValue:S(l).category,"onUpdate:modelValue":t[2]||=e=>S(l).category=e,placeholder:S(s)(`spacesModule.fields.spaces.category.placeholder`),clearable:S(l).type!==S(W).ZONE,onChange:j},{default:m(()=>[S(T)?(r(!0),B(N,{key:0},o(S(T),e=>(r(),O(S(Ve),{key:e.key,label:S(s)(`spacesModule.fields.spaces.category.groups.${e.key}`)},{default:m(()=>[(r(!0),B(N,null,o(e.categories,e=>(r(),O(S(q),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Lt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),B(N,{key:1},o(S(ee),e=>(r(),O(S(q),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Rt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`clearable`])]),_:1},8,[`label`]),V(S(pe),{title:S(s)(`spacesModule.fields.spaces.category.hint`),type:`info`,closable:!1,"show-icon":``,class:`my-2!`},null,8,[`title`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.description.title`),prop:`description`},{default:m(()=>[V(S(we),{modelValue:S(l).description,"onUpdate:modelValue":t[3]||=e=>S(l).description=e,type:`textarea`,rows:3,placeholder:S(s)(`spacesModule.fields.spaces.description.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.icon.title`),prop:`icon`},{default:m(()=>[V(S(de),{modelValue:x.value,"onUpdate:modelValue":t[4]||=e=>x.value=e,placeholder:S(s)(`spacesModule.fields.spaces.icon.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.displayOrder.title`),prop:`displayOrder`},{default:m(()=>[V(S(Ke),{modelValue:S(l).displayOrder,"onUpdate:modelValue":t[5]||=e=>S(l).displayOrder=e,min:0},null,8,[`modelValue`])]),_:1},8,[`label`])])]),_:1}),S(l).type===S(W).ROOM?(r(),O(S(Me),{key:0,name:`organization`},{title:m(()=>[A(`div`,zt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:sitemap`})]),_:1}),A(`span`,Bt,M(S(s)(`spacesModule.edit.sections.organization.title`)),1)])]),default:m(()=>[A(`div`,Vt,[V(S(G),{label:S(s)(`spacesModule.fields.spaces.parentZone.title`),prop:`parentId`},{default:m(()=>[V(S(We),{modelValue:S(l).parentId,"onUpdate:modelValue":t[6]||=e=>S(l).parentId=e,placeholder:S(s)(`spacesModule.fields.spaces.parentZone.placeholder`),clearable:``,filterable:``},{default:m(()=>[(r(!0),B(N,null,o(S(c),e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`span`,Ht,[e.icon?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(pe),{title:S(s)(`spacesModule.edit.sections.organization.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})):C(``,!0)]),_:1},8,[`modelValue`]),i.hideActions?C(``,!0):(r(),B(`div`,Ut,[V(S(k),{onClick:ne},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:S(h)===S(Se).WORKING,onClick:I},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]))]),_:1},8,[`model`,`rules`]))}}),Gt={saved:e=>typeof e==`object`,cancel:()=>!0,"update:remote-form-changed":e=>typeof e==`boolean`},Kt={class:`flex items-center gap-2`},qt={class:`font-medium`},Jt={class:`px-2`},Yt={class:`flex items-center gap-2`},Xt={class:`flex items-center gap-2`},Zt={class:`flex items-center gap-2`},Qt={class:`font-medium`},$t={class:`px-2`},en={class:`flex items-center gap-2`},tn={class:`flex items-center gap-2`},nn={class:`font-medium`},rn={class:`px-2`},an={class:`border border-solid border-gray-200 rounded-lg p-4 mb-2`},on={class:`flex items-center justify-between mb-3`},sn={class:`flex items-center gap-2`},cn={class:`font-medium`},ln={class:`flex items-center gap-2`},un={class:`font-medium`},dn={class:`px-2`},fn={key:0,class:`flex gap-2 justify-end mt-4`},pn=_({__name:`space-edit-form`,props:{space:{},hideActions:{type:Boolean,default:!1}},emits:Gt,setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),{zoneSpaces:c,findById:l}=$e(),{model:u,formEl:d,formChanged:p,submit:h,formResult:g}=nt({space:F(()=>i.space)}),_=z();b(_,e=>{d.value=e},{immediate:!0});let v=z([`general`,`organization`]),y=te({icon:null,description:null}),x=F({get:()=>u.icon?.replace(`mdi:`,``)??null,set:e=>{u.icon=e?`mdi:${e}`:null}}),{categoryOptions:ee,categoryGroups:T,currentTemplates:D}=st(F(()=>u.type)),j=F(()=>c.value.filter(e=>!i.space||e.id!==i.space.id)),P=()=>u.statusWidgets?.find(e=>e.type===De.ENERGY),I=F(()=>!!P()),ne=F(()=>[{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.today`),value:Re.TODAY},{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.week`),value:Re.WEEK},{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.month`),value:Re.MONTH}]),re=F({get:()=>P()?.settings?.range??ue.range,set:e=>{let t=P();t&&(t.settings={...t.settings,range:e})}}),R=F({get:()=>P()?.settings?.showProduction??ue.showProduction,set:e=>{let t=P();t&&(t.settings={...t.settings,showProduction:e})}}),ae=e=>{if(e){let e=u.statusWidgets??[];if(e.some(e=>e.type===De.ENERGY))return;e.push({type:De.ENERGY,order:e.length,settings:{range:ue.range,showProduction:ue.showProduction}}),u.statusWidgets=e}else{let e=(u.statusWidgets??[]).filter(e=>e.type!==De.ENERGY);u.statusWidgets=e.length>0?e:null}};b(()=>u.type,e=>{u.category&&!Oe(u.category,e)&&(u.category=null,u.icon===y.icon&&(u.icon=null,y.icon=null),u.description===y.description&&(u.description=null,y.description=null)),e===W.ZONE&&(u.parentId=null),_.value?.clearValidate()});let oe=e=>{if(e&&D.value[e]){let t=D.value[e];(!u.icon||u.icon===y.icon)&&(u.icon=t.icon,y.icon=t.icon),(!u.description||u.description===y.description)&&(u.description=t.description,y.description=t.description)}},se=F(()=>({name:[{required:!0,message:s(`spacesModule.fields.spaces.name.validation.required`),trigger:`blur`}],category:[{required:u.type===W.ZONE,message:s(`spacesModule.fields.spaces.category.validation.requiredForZone`),trigger:`blur`}]}));b(()=>p.value,e=>{a(`update:remote-form-changed`,e)},{immediate:!0}),b(()=>i.space,e=>{e&&(y.icon=null,y.description=null)});let ce=async()=>{try{await h();let e=l(u.id);e&&a(`saved`,e)}catch{}},le=()=>{a(`cancel`)};return t({submit:ce}),(t,n)=>(r(),O(S(be),{ref_key:`formRef`,ref:_,model:S(u),rules:se.value,"label-position":`top`,onSubmit:ie(ce,[`prevent`])},{default:m(()=>[V(S(Be),{modelValue:v.value,"onUpdate:modelValue":n[9]||=e=>v.value=e},{default:m(()=>[V(S(Me),{name:`general`},{title:m(()=>[A(`div`,Kt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1}),A(`span`,qt,M(S(s)(`spacesModule.edit.sections.general.title`)),1)])]),default:m(()=>[A(`div`,Jt,[V(S(G),{label:S(s)(`spacesModule.fields.spaces.name.title`),prop:`name`},{default:m(()=>[V(S(we),{modelValue:S(u).name,"onUpdate:modelValue":n[0]||=e=>S(u).name=e,placeholder:S(s)(`spacesModule.fields.spaces.name.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.category.title`),prop:`category`},{default:m(()=>[V(S(We),{modelValue:S(u).category,"onUpdate:modelValue":n[1]||=e=>S(u).category=e,placeholder:S(s)(`spacesModule.fields.spaces.category.placeholder`),clearable:S(u).type!==S(W).ZONE,onChange:oe},{default:m(()=>[S(T)?(r(!0),B(N,{key:0},o(S(T),e=>(r(),O(S(Ve),{key:e.key,label:S(s)(`spacesModule.fields.spaces.category.groups.${e.key}`)},{default:m(()=>[(r(!0),B(N,null,o(e.categories,e=>(r(),O(S(q),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Yt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),B(N,{key:1},o(S(ee),e=>(r(),O(S(q),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Xt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`clearable`])]),_:1},8,[`label`]),V(S(pe),{title:S(s)(`spacesModule.fields.spaces.category.hint`),type:`info`,closable:!1,"show-icon":``,class:`!my-2`},null,8,[`title`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.description.title`),prop:`description`},{default:m(()=>[V(S(we),{modelValue:S(u).description,"onUpdate:modelValue":n[2]||=e=>S(u).description=e,type:`textarea`,rows:3,placeholder:S(s)(`spacesModule.fields.spaces.description.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.icon.title`),prop:`icon`},{default:m(()=>[V(S(de),{modelValue:x.value,"onUpdate:modelValue":n[3]||=e=>x.value=e,placeholder:S(s)(`spacesModule.fields.spaces.icon.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.displayOrder.title`),prop:`displayOrder`},{default:m(()=>[V(S(Ke),{modelValue:S(u).displayOrder,"onUpdate:modelValue":n[4]||=e=>S(u).displayOrder=e,min:0},null,8,[`modelValue`])]),_:1},8,[`label`])])]),_:1}),S(u).type===S(W).ROOM?(r(),O(S(Me),{key:0,name:`organization`},{title:m(()=>[A(`div`,Zt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:sitemap`})]),_:1}),A(`span`,Qt,M(S(s)(`spacesModule.edit.sections.organization.title`)),1)])]),default:m(()=>[A(`div`,$t,[V(S(G),{label:S(s)(`spacesModule.fields.spaces.parentZone.title`),prop:`parentId`},{default:m(()=>[V(S(We),{modelValue:S(u).parentId,"onUpdate:modelValue":n[5]||=e=>S(u).parentId=e,placeholder:S(s)(`spacesModule.fields.spaces.parentZone.placeholder`),clearable:``,filterable:``},{default:m(()=>[(r(!0),B(N,null,o(j.value,e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`span`,en,[e.icon?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(pe),{title:S(s)(`spacesModule.edit.sections.organization.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})):C(``,!0),V(S(Me),{name:`statusWidgets`},{title:m(()=>[A(`div`,tn,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:view-dashboard-variant`})]),_:1}),A(`span`,nn,M(S(s)(`spacesModule.edit.sections.statusWidgets.title`)),1)])]),default:m(()=>[A(`div`,rn,[V(S(pe),{title:S(s)(`spacesModule.edit.sections.statusWidgets.hint`),type:`info`,closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`]),A(`div`,an,[A(`div`,on,[A(`div`,sn,[V(S(L),{icon:`mdi:flash-outline`,class:`text-lg`}),A(`span`,cn,M(S(s)(`spacesModule.fields.spaces.statusWidgets.energy.title`)),1)]),V(S(ve),{"model-value":I.value,onChange:ae},null,8,[`model-value`])]),I.value?(r(),B(N,{key:0},[V(S(G),{label:S(s)(`spacesModule.fields.spaces.statusWidgets.energy.range.title`)},{default:m(()=>[V(S(xt),{modelValue:re.value,"onUpdate:modelValue":n[6]||=e=>re.value=e,options:ne.value,block:``},null,8,[`modelValue`,`options`])]),_:1},8,[`label`]),V(S(G),{"label-position":`left`},{label:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.statusWidgets.energy.showProduction.title`)),1)]),default:m(()=>[V(S(ve),{modelValue:R.value,"onUpdate:modelValue":n[7]||=e=>R.value=e},null,8,[`modelValue`])]),_:1})],64)):C(``,!0)])])]),_:1}),V(S(Me),{name:`smartOverrides`},{title:m(()=>[A(`div`,ln,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:tune`})]),_:1}),A(`span`,un,M(S(s)(`spacesModule.edit.sections.smartOverrides.title`)),1),V(S(J),{size:`small`,type:`info`},{default:m(()=>[w(M(S(s)(`spacesModule.edit.sections.smartOverrides.badge`)),1)]),_:1})])]),default:m(()=>[A(`div`,dn,[V(S(pe),{title:S(s)(`spacesModule.edit.sections.smartOverrides.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`]),V(S(G),{prop:`suggestionsEnabled`,"label-position":`left`},{label:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.suggestionsEnabled.title`)),1)]),default:m(()=>[V(S(ve),{modelValue:S(u).suggestionsEnabled,"onUpdate:modelValue":n[8]||=e=>S(u).suggestionsEnabled=e},null,8,[`modelValue`])]),_:1}),V(S(pe),{title:S(s)(`spacesModule.fields.spaces.suggestionsEnabled.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})]),_:1},8,[`modelValue`]),e.hideActions?C(``,!0):(r(),B(`div`,fn,[V(S(k),{onClick:le},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:S(g)===S(Se).WORKING,onClick:ce},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]))]),_:1},8,[`model`,`rules`]))}}),mn={key:1,class:`flex justify-center py-4`},hn={class:`flex items-center gap-2`},gn={class:`flex flex-col`},_n={key:0,class:`text-xs text-gray-400`},vn={class:`flex gap-1`},yn={class:`flex justify-between items-center mt-4`},bn={class:`text-xs text-gray-400`},xn=_({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=Ae(),{lightingSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:Z.main,label:n(`spacesModule.lightingRoles.main`)},{value:Z.task,label:n(`spacesModule.lightingRoles.task`)},{value:Z.ambient,label:n(`spacesModule.lightingRoles.ambient`)},{value:Z.accent,label:n(`spacesModule.lightingRoles.accent`)},{value:Z.night,label:n(`spacesModule.lightingRoles.night`)},{value:Z.other,label:n(`spacesModule.lightingRoles.other`)},{value:Z.hidden,label:n(`spacesModule.lightingRoles.hidden`)}]),h=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/lighting/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasBrightness:e.has_brightness??!1,hasColorTemp:e.has_color_temp??!1,hasColor:e.has_color??!1}))}finally{l.value=!1}},g=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/lighting/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update lighting role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear lighting role`);return}e.role=null}}catch{a.error(`Failed to update lighting role`)}},_=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await h(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&h()}),b(()=>s?.value,()=>{t.space?.id&&h()}),c(()=>{t.space?.id&&h()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(H),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,mn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,hn,[V(S(L),{icon:`mdi:lightbulb`}),A(`div`,gn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,_n,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.lightingRoles.role.title`),width:`160`},{default:m(({row:e})=>[V(S(We),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>g(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`100`},{default:m(({row:e})=>[A(`div`,vn,[e.hasBrightness?(r(),O(S(J),{key:0,type:`info`,size:`small`},{default:m(()=>[...i[0]||=[w(`Dim`,-1)]]),_:1})):C(``,!0),e.hasColor?(r(),O(S(J),{key:1,type:`success`,size:`small`},{default:m(()=>[...i[1]||=[w(`RGB`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,yn,[V(S(k),{size:`small`,loading:u.value,onClick:_},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,bn,M(S(n)(`spacesModule.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:lightbulb`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),Sn={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Cn={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},wn={key:0,class:`flex items-center gap-2 flex-wrap`},Tn={class:`flex items-center gap-1`},En={class:`space-y-2`},Dn={class:`text-sm font-medium mb-1`},On={class:`list-none p-0 m-0 space-y-1`},kn={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},An=_({name:`SpaceLightingRolesSummary`,__name:`space-lighting-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{lightingSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case Z.main:return`primary`;case Z.task:return`warning`;case Z.ambient:return`success`;case Z.accent:return`danger`;case Z.night:return`info`;case Z.other:default:return`info`}},g=e=>{switch(e){case Z.main:return`mdi:lightbulb`;case Z.task:return`mdi:desk-lamp`;case Z.ambient:return`mdi:lightbulb-group`;case Z.accent:return`mdi:spotlight-beam`;case Z.night:return`mdi:weather-night`;case Z.other:default:return`mdi:lightbulb-outline`}},_=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name})}let a=[Z.main,Z.task,Z.ambient,Z.accent,Z.night,Z.other];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&_()}),b(()=>u?.value,()=>{i.space?.id&&_()}),c(()=>{i.space?.id&&_()}),t({reload:_}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,Sn,M(S(s)(`spacesModule.detail.lightingRoles.title`)),1),A(`dd`,Cn,[f.value.length>0?(r(),B(`div`,wn,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(J),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,Tn,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.lightingRoles.${e.role}`))+` `,1),V(S(Ce),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,En,[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.lightingRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Dn,M(S(s)(`spacesModule.detail.lightingRoles.lightsAssigned`))+`: `,1),A(`ul`,On,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:`mdi:lightbulb-outline`,class:`text-gray-400`}),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,kn,[V(S(L),{icon:`mdi:lightbulb`}),w(` `+M(S(s)(`spacesModule.detail.lightingRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),jn={key:1,class:`flex justify-center py-4`},Mn={class:`flex items-center gap-2`},Nn={class:`flex flex-col`},Pn={key:0,class:`text-xs text-gray-400`},Fn={class:`flex gap-1`},In={class:`flex justify-between items-center mt-4`},Ln={class:`text-xs text-gray-400 ml-4`},Rn=_({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=Ae(),{climateSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:X.heating_only,label:n(`spacesModule.climateRoles.${X.heating_only}`)},{value:X.cooling_only,label:n(`spacesModule.climateRoles.${X.cooling_only}`)},{value:X.auto,label:n(`spacesModule.climateRoles.${X.auto}`)},{value:X.auxiliary,label:n(`spacesModule.climateRoles.${X.auxiliary}`)},{value:X.hidden,label:n(`spacesModule.climateRoles.${X.hidden}`)}]),h=F(()=>[{value:X.sensor,label:n(`spacesModule.climateRoles.${X.sensor}`)},{value:X.hidden,label:n(`spacesModule.climateRoles.${X.hidden}`)}]),g=e=>e.deviceCategory===`sensor`?h.value:f.value,_=e=>{switch(e){case`thermostat`:return`mdi:thermostat`;case`heating_unit`:return`mdi:radiator`;case`water_heater`:return`mdi:water-boiler`;case`air_conditioner`:return`mdi:air-conditioner`;case`fan`:return`mdi:fan`;case`air_humidifier`:return`mdi:air-humidifier`;case`air_dehumidifier`:return`mdi:air-humidifier-off`;case`air_purifier`:return`mdi:air-purifier`;case`sensor`:return`mdi:thermometer`;default:return`mdi:thermostat-box`}},v=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/climate/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``,channelId:e.channel_id??null,channelName:e.channel_name??null,role:e.role?e.role:null,priority:e.priority??0,hasTemperature:e.has_temperature??!1,hasHumidity:e.has_humidity??!1}))}finally{l.value=!1}},y=async(e,n)=>{try{if(n){let r={device_id:e.deviceId,role:n};e.channelId&&(r.channel_id=e.channelId);let{error:o}=await i.client.POST(`/${I}/${K}/spaces/{id}/climate/roles`,{params:{path:{id:t.space.id}},body:{data:r}});if(o){a.error(`Failed to update climate role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(n){a.error(`Failed to clear climate role`);return}e.role=null}}catch{a.error(`Failed to update climate role`)}},x=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await v(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&v()}),b(()=>s?.value,()=>{t.space?.id&&v()}),c(()=>{t.space?.id&&v()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(H),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,jn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,Mn,[V(S(L),{icon:_(e.deviceCategory)},null,8,[`icon`]),A(`div`,Nn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,Pn,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.climateRoles.role.title`),width:`200`},{default:m(({row:e})=>[V(S(We),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>y(e,t)},{default:m(()=>[(r(!0),B(N,null,o(g(e),e=>(r(),O(S(q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`120`},{default:m(({row:e})=>[A(`div`,Fn,[e.hasTemperature?(r(),O(S(J),{key:0,type:`warning`,size:`small`},{default:m(()=>[...i[0]||=[w(`Temp`,-1)]]),_:1})):C(``,!0),e.hasHumidity?(r(),O(S(J),{key:1,type:`info`,size:`small`},{default:m(()=>[...i[1]||=[w(`Humid`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,In,[V(S(k),{size:`small`,loading:u.value,onClick:x},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,Ln,M(S(n)(`spacesModule.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:thermostat`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),zn={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Bn={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},Vn={key:0,class:`flex items-center gap-2 flex-wrap`},Hn={class:`flex items-center gap-1`},Un={class:`space-y-2`},Wn={class:`text-sm font-medium mb-1`},Gn={class:`list-none p-0 m-0 space-y-1`},Kn={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},qn=_({name:`SpaceClimateRolesSummary`,__name:`space-climate-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{climateSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case X.heating_only:return`danger`;case X.cooling_only:return`primary`;case X.auto:return`success`;case X.auxiliary:return`warning`;case X.sensor:return`info`;case X.hidden:default:return`info`}},g=e=>{switch(e){case X.heating_only:return`mdi:fire`;case X.cooling_only:return`mdi:snowflake`;case X.auto:return`mdi:thermostat-auto`;case X.auxiliary:return`mdi:radiator`;case X.sensor:return`mdi:thermometer`;case X.hidden:default:return`mdi:eye-off`}},_=e=>{switch(e){case`thermostat`:return`mdi:thermostat`;case`heating_unit`:return`mdi:radiator`;case`water_heater`:return`mdi:water-boiler`;case`air_conditioner`:return`mdi:air-conditioner`;case`fan`:return`mdi:fan`;case`air_humidifier`:return`mdi:air-humidifier`;case`air_dehumidifier`:return`mdi:air-humidifier-off`;case`air_purifier`:return`mdi:air-purifier`;case`sensor`:return`mdi:thermometer`;default:return`mdi:thermostat-box`}},v=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role||e.role===X.hidden)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``})}let a=[X.heating_only,X.cooling_only,X.auto,X.auxiliary,X.sensor,X.hidden];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&v()}),b(()=>u?.value,()=>{i.space?.id&&v()}),c(()=>{i.space?.id&&v()}),t({reload:v}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,zn,M(S(s)(`spacesModule.detail.climateRoles.title`)),1),A(`dd`,Bn,[f.value.length>0?(r(),B(`div`,Vn,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(J),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,Hn,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.climateRoles.${e.role}`))+` `,1),V(S(Ce),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,Un,[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.climateRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Wn,M(S(s)(`spacesModule.detail.climateRoles.devicesAssigned`))+`: `,1),A(`ul`,Gn,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:e.deviceId,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:_(e.deviceCategory),class:`text-gray-400`},null,8,[`icon`]),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,Kn,[V(S(L),{icon:`mdi:thermostat`}),w(` `+M(S(s)(`spacesModule.detail.climateRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),Jn={key:1,class:`flex justify-center py-4`},Yn={class:`flex items-center gap-2`},Xn={class:`flex flex-col`},Zn={key:0,class:`text-xs text-gray-400`},Qn={class:`flex gap-1`},$n={class:`flex justify-between items-center mt-4`},er={class:`text-xs text-gray-400`},tr=_({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=Ae(),{coversSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:Q.primary,label:n(`spacesModule.coversRoles.primary`)},{value:Q.blackout,label:n(`spacesModule.coversRoles.blackout`)},{value:Q.sheer,label:n(`spacesModule.coversRoles.sheer`)},{value:Q.outdoor,label:n(`spacesModule.coversRoles.outdoor`)},{value:Q.hidden,label:n(`spacesModule.coversRoles.hidden`)}]),h=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/covers/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasPosition:e.has_position??!1,hasCommand:e.has_command??!1,hasTilt:e.has_tilt??!1,coverType:e.cover_type??null}))}finally{l.value=!1}},g=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/covers/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update covers role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear covers role`);return}e.role=null}}catch{a.error(`Failed to update covers role`)}},_=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await h(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&h()}),b(()=>s?.value,()=>{t.space?.id&&h()}),c(()=>{t.space?.id&&h()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(H),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,Jn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,Yn,[V(S(L),{icon:`mdi:blinds`}),A(`div`,Xn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,Zn,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.coversRoles.role.title`),width:`160`},{default:m(({row:e})=>[V(S(We),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>g(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`100`},{default:m(({row:e})=>[A(`div`,Qn,[e.hasPosition?(r(),O(S(J),{key:0,type:`info`,size:`small`},{default:m(()=>[...i[0]||=[w(`Pos`,-1)]]),_:1})):C(``,!0),e.hasTilt?(r(),O(S(J),{key:1,type:`success`,size:`small`},{default:m(()=>[...i[1]||=[w(`Tilt`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,$n,[V(S(k),{size:`small`,loading:u.value,onClick:_},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,er,M(S(n)(`spacesModule.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:blinds`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),nr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},rr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},ir={key:0,class:`flex items-center gap-2 flex-wrap`},ar={class:`flex items-center gap-1`},or={class:`space-y-2`},sr={class:`text-sm font-medium mb-1`},cr={class:`list-none p-0 m-0 space-y-1`},lr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},ur=_({name:`SpaceCoversRolesSummary`,__name:`space-covers-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{coversSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case Q.primary:return`primary`;case Q.blackout:return`danger`;case Q.sheer:return`success`;case Q.outdoor:return`warning`;case Q.hidden:default:return`info`}},g=e=>{switch(e){case Q.primary:return`mdi:blinds`;case Q.blackout:return`mdi:blinds-horizontal-closed`;case Q.sheer:return`mdi:curtains`;case Q.outdoor:return`mdi:window-shutter`;case Q.hidden:default:return`mdi:blinds-horizontal`}},_=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name})}let a=[Q.primary,Q.blackout,Q.sheer,Q.outdoor,Q.hidden];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&_()}),b(()=>u?.value,()=>{i.space?.id&&_()}),c(()=>{i.space?.id&&_()}),t({reload:_}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,nr,M(S(s)(`spacesModule.detail.coversRoles.title`)),1),A(`dd`,rr,[f.value.length>0?(r(),B(`div`,ir,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(J),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,ar,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.coversRoles.${e.role}`))+` `,1),V(S(Ce),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,or,[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.coversRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,sr,M(S(s)(`spacesModule.detail.coversRoles.coversAssigned`))+`: `,1),A(`ul`,cr,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:`mdi:blinds-horizontal`,class:`text-gray-400`}),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,lr,[V(S(L),{icon:`mdi:blinds`}),w(` `+M(S(s)(`spacesModule.detail.coversRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),dr={key:1,class:`flex justify-center py-4`},fr={class:`flex items-center gap-2`},pr={class:`flex flex-col`},mr={class:`text-xs text-gray-400`},hr={class:`flex justify-between items-center mt-4`},gr={class:`text-xs text-gray-400 ml-4`},_r=_({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=Ae(),{sensorSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>me.map(e=>({value:e,label:n(`spacesModule.sensorRoles.${e}`)}))),h=e=>{switch(e){case`temperature`:return n(`spacesModule.sensorRoles.categories.temperature`);case`humidity`:return n(`spacesModule.sensorRoles.categories.humidity`);case`pressure`:return n(`spacesModule.sensorRoles.categories.pressure`);case`illuminance`:return n(`spacesModule.sensorRoles.categories.illuminance`);case`smoke`:return n(`spacesModule.sensorRoles.categories.smoke`);case`gas`:return n(`spacesModule.sensorRoles.categories.gas`);case`carbon_monoxide`:return n(`spacesModule.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return n(`spacesModule.sensorRoles.categories.carbon_dioxide`);case`leak`:return n(`spacesModule.sensorRoles.categories.leak`);case`motion`:return n(`spacesModule.sensorRoles.categories.motion`);case`occupancy`:return n(`spacesModule.sensorRoles.categories.occupancy`);case`contact`:return n(`spacesModule.sensorRoles.categories.contact`);case`air_quality`:return n(`spacesModule.sensorRoles.categories.air_quality`);case`air_particulate`:return n(`spacesModule.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return n(`spacesModule.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return n(`spacesModule.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return n(`spacesModule.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return n(`spacesModule.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return n(`spacesModule.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return n(`spacesModule.sensorRoles.categories.electrical_generation`);case`electrical_power`:return n(`spacesModule.sensorRoles.categories.electrical_power`);case`battery`:return n(`spacesModule.sensorRoles.categories.battery`);default:return e}},g=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/sensors/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map((e,t)=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category,role:e.role?e.role:null,priority:e.priority??t}))}finally{l.value=!1}},_=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/sensors/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update sensor role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear sensor role`);return}e.role=null}}catch{a.error(`Failed to update sensor role`)}},v=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await g(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&g()}),b(()=>s?.value,()=>{t.space?.id&&g()}),c(()=>{t.space?.id&&g()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(H),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,dr,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,fr,[V(S(L),{icon:`mdi:motion-sensor`}),A(`div`,pr,[A(`span`,null,M(e.deviceName),1),A(`span`,mr,M(e.channelName),1)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:m(({row:e})=>[V(S(J),{size:`small`,type:`info`},{default:m(()=>[w(M(h(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.sensorRoles.role.title`),width:`200`},{default:m(({row:e})=>[V(S(We),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>_(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`]),A(`div`,hr,[V(S(k),{size:`small`,loading:u.value,onClick:v},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,gr,M(S(n)(`spacesModule.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:motion-sensor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),vr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},yr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},br={key:0,class:`flex items-center gap-2 flex-wrap`},xr={class:`flex items-center gap-1`},Sr={class:`space-y-2`},Cr={class:`text-sm font-medium mb-1`},wr={class:`list-none p-0 m-0 space-y-1`},Tr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},Er=_({name:`SpaceSensorRolesSummary`,__name:`space-sensor-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{sensorSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case U.ENVIRONMENT:return`success`;case U.SAFETY:return`danger`;case U.SECURITY:return`warning`;case U.AIR_QUALITY:return`info`;case U.ENERGY:return`primary`;case U.OTHER:case U.HIDDEN:default:return`info`}},g=e=>{switch(e){case U.ENVIRONMENT:return`mdi:thermometer`;case U.SAFETY:return`mdi:shield-alert`;case U.SECURITY:return`mdi:motion-sensor`;case U.AIR_QUALITY:return`mdi:air-filter`;case U.ENERGY:return`mdi:lightning-bolt`;case U.HIDDEN:return`mdi:eye-off`;case U.OTHER:default:return`mdi:chart-line`}},_=e=>{switch(e){case`temperature`:return`mdi:thermometer`;case`humidity`:return`mdi:water-percent`;case`pressure`:return`mdi:gauge`;case`illuminance`:return`mdi:weather-sunny`;case`smoke`:case`gas`:case`carbon_monoxide`:case`carbon_dioxide`:return`mdi:alert`;case`leak`:return`mdi:water-alert`;case`motion`:case`occupancy`:return`mdi:walk`;case`contact`:return`mdi:door-closed`;case`air_quality`:case`air_particulate`:case`nitrogen_dioxide`:case`ozone`:case`sulphur_dioxide`:case`volatile_organic_compounds`:return`mdi:air-filter`;case`electrical_energy`:case`electrical_power`:return`mdi:lightning-bolt`;case`battery`:return`mdi:battery`;default:return`mdi:chart-bell-curve`}},v=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role||e.role===U.HIDDEN)continue;let t=e.role;r.has(t)||r.set(t,{role:t,sensors:[]}),r.get(t).sensors.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category})}f.value=Array.from(r.values()).sort((e,t)=>me.indexOf(e.role)-me.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&v()}),b(()=>u?.value,()=>{i.space?.id&&v()}),c(()=>{i.space?.id&&v()}),t({reload:v}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,vr,M(S(s)(`spacesModule.detail.sensorRoles.title`)),1),A(`dd`,yr,[f.value.length>0?(r(),B(`div`,br,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(J),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,xr,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.sensorRoles.${e.role}`))+` `,1),V(S(Ce),{value:e.sensors.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,Sr,[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.sensorRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Cr,M(S(s)(`spacesModule.detail.sensorRoles.sensorsAssigned`))+`: `,1),A(`ul`,wr,[(r(!0),B(N,null,o(e.sensors,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:_(e.channelCategory),class:`text-gray-400`},null,8,[`icon`]),A(`span`,null,M(e.deviceName)+` — `+M(e.channelName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,Tr,[V(S(L),{icon:`mdi:chart-bell-curve`}),w(` `+M(S(s)(`spacesModule.detail.sensorRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),Dr=_({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ne),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(xn,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Or=_({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ne),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(Rn,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),kr=_({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ne),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(tr,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Ar=_({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ne),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(_r,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),jr=[`element-loading-text`],Mr={class:`flex items-center gap-3 flex-1 pr-2`},Nr={class:`font-medium text-sm`},Pr={class:`flex items-center justify-between w-full`},Fr={class:`flex gap-1 ml-2`},Ir={class:`flex items-center justify-between w-full`},Lr={class:`flex gap-1 ml-2`},Rr={class:`flex items-center justify-between w-full`},zr={class:`flex gap-1 ml-2`},Br={class:`flex justify-between items-center mt-2`},Vr={class:`flex items-center gap-2`},Hr={class:`text-xs text-gray-400`},Ur=_({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(t,{emit:i}){let a=t,s=i,{t:c}=E(),l=Ae(),u=F({get:()=>a.visible,set:e=>s(`update:visible`,e)}),{endpoints:d,activeState:f,fetchingEndpoints:h,fetchingBindings:g,activating:_,deactivating:v,applyingDefaults:y,activationError:x,fetchEndpoints:ee,fetchBindings:T,fetchActiveState:D,activate:j,deactivate:P,saveBinding:I,createBinding:ne,deleteBinding:re,applyDefaults:R,findBindingByActivity:ae,endpointsByType:oe}=ut(F(()=>a.space?.id)),se=[Y.watch,Y.listen,Y.gaming,Y.background],ce=z(``),le=z(null),H=z(!1),ue=F(()=>h.value||g.value),de=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),U=te({[Y.watch]:de(),[Y.listen]:de(),[Y.gaming]:de(),[Y.background]:de()}),fe=te({[Y.watch]:de(),[Y.listen]:de(),[Y.gaming]:de(),[Y.background]:de()}),me=te({[Y.watch]:!1,[Y.listen]:!1,[Y.gaming]:!1,[Y.background]:!1}),he=te({[Y.watch]:null,[Y.listen]:null,[Y.gaming]:null,[Y.background]:null}),W=oe(Fe.display),_e=oe(Fe.audio_output),ve=oe(Fe.source),ye=oe(Fe.remote_target),xe=(e,t)=>{U[e].displayEndpointId=t?.displayEndpointId??``,U[e].audioEndpointId=t?.audioEndpointId??``,U[e].sourceEndpointId=t?.sourceEndpointId??``,U[e].remoteEndpointId=t?.remoteEndpointId??``,U[e].displayInputId=t?.displayInputId??``,U[e].audioInputId=t?.audioInputId??``,U[e].sourceInputId=t?.sourceInputId??``,U[e].audioVolumePreset=t?.audioVolumePreset??30,Object.assign(fe[e],{...U[e]})},Se=()=>{for(let e of se)xe(e,ae(e))},K=e=>{let t=U[e],n=fe[e];return t.displayEndpointId!==n.displayEndpointId||t.audioEndpointId!==n.audioEndpointId||t.sourceEndpointId!==n.sourceEndpointId||t.remoteEndpointId!==n.remoteEndpointId||t.displayInputId!==n.displayInputId||t.audioInputId!==n.audioInputId||t.sourceInputId!==n.sourceInputId||t.audioVolumePreset!==n.audioVolumePreset},Ce=(e,t)=>{let n=U[e][t];return n?d.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},Te=e=>{let t=U[e].audioEndpointId;return t?d.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Ee=e=>{let t=d.value.find(t=>t.endpointId===e);return t?.links?.inputSelect?.dataType===`enum`&&Array.isArray(t.links.inputSelect.format)&&t.links.inputSelect.format.length>0?{type:`select`,options:t.links.inputSelect.format}:{type:`text`}},De=e=>{let t=Ee(e);return t.type===`select`?t.options:[]},Oe=e=>{let t=`spacesModule.media.activities.mediaInputSources.${e}`,n=c(t);return n===t?String(e):n},ke=e=>{let t=` (${c(`spacesModule.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},je=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Pe=e=>{let t=f.value?.activityKey===e&&f.value?.state!==`deactivated`,n=t?f.value.state:void 0,r=ae(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},Ie=e=>{let{isActive:t,state:n}=Pe(e);return t&&n?je(n):tt(e)},X=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Pe(e);return c(t?`spacesModule.media.activities.activationState.${n}`:r?i?`spacesModule.media.activities.status.configured`:`spacesModule.media.activities.status.incomplete`:`spacesModule.media.activities.status.unconfigured`)},Le=new Map,Re=e=>{let t=U[e];return{displayEndpointId:t.displayEndpointId||null,audioEndpointId:t.audioEndpointId||null,sourceEndpointId:t.sourceEndpointId||null,remoteEndpointId:t.remoteEndpointId||null,displayInputId:Ce(e,`displayEndpointId`)&&t.displayInputId||null,audioInputId:Ce(e,`audioEndpointId`)&&t.audioInputId||null,sourceInputId:Ce(e,`sourceEndpointId`)&&t.sourceInputId||null,audioVolumePreset:Te(e)?t.audioVolumePreset:null}},ze=async e=>{if(!me[e]){me[e]=!0,he[e]=null;try{let t=ae(e),n=Re(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...U[e]};r&&t?(await re(t.id),xe(e,void 0),Object.assign(fe[e],i)):r?Object.assign(fe[e],i):t?(await I(t.id,n),Object.assign(fe[e],i)):(await ne(e,n),Object.assign(fe[e],i))}catch(t){he[e]=t instanceof Error?t.message:`Failed to save`}finally{me[e]=!1}}},Z=e=>{let t=Le.get(e);t&&clearTimeout(t),Le.set(e,setTimeout(()=>{Le.delete(e),ze(e)},500))};for(let e of se)b(()=>U[e],()=>{!H.value||!K(e)||Z(e)},{deep:!0}),b(()=>U[e].displayEndpointId,()=>{H.value&&(U[e].displayInputId=``)}),b(()=>U[e].audioEndpointId,()=>{H.value&&(U[e].audioInputId=``,U[e].audioVolumePreset=30)}),b(()=>U[e].sourceEndpointId,()=>{H.value&&(U[e].sourceInputId=``)});let Q=async e=>{le.value=e;try{await j(e),l.success(c(`spacesModule.media.activities.activateSuccess`))}catch{l.error(c(`spacesModule.media.activities.activateFailed`))}finally{le.value=null}},Ve=async()=>{try{await P(),l.success(c(`spacesModule.media.activities.deactivateSuccess`))}catch{x.value=null,l.error(c(`spacesModule.media.activities.deactivateFailed`))}},He=async()=>{H.value=!1;try{await R(),Se(),l.success(c(`spacesModule.media.activities.defaultsApplied`))}catch{l.error(c(`spacesModule.media.activities.defaultsFailed`))}await n(),H.value=!0},Ue=async()=>{H.value=!1,await Promise.all([ee(),T(),D()]),Se(),await n(),H.value=!0},$=async()=>{H.value=!1;let e=[],t=new Set;for(let[n,r]of Le)clearTimeout(r),t.add(n),e.push(ze(n));Le.clear();for(let n of se)!t.has(n)&&K(n)&&e.push(ze(n));await Promise.allSettled(e),s(`bindings-changed`),u.value=!1};return(t,n)=>(r(),O(S(Ne),{modelValue:u.value,"onUpdate:modelValue":n[2]||=e=>u.value=e,title:S(c)(`spacesModule.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:Ue,onClose:$},{footer:m(()=>[V(S(k),{type:`primary`,onClick:$},{default:m(()=>[w(M(S(c)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[e((r(),B(`div`,{"element-loading-text":S(c)(`spacesModule.media.activities.loading`),class:`flex flex-col gap-4`},[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:m(()=>[w(M(S(c)(`spacesModule.media.activities.description`)),1)]),_:1}),V(S(Be),{modelValue:ce.value,"onUpdate:modelValue":n[0]||=e=>ce.value=e,accordion:``},{default:m(()=>[(r(),B(N,null,o(se,e=>V(S(Me),{key:e,name:e},{title:m(()=>[A(`div`,Mr,[V(S(L),{icon:S(ot)(e),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),A(`span`,Nr,M(S(c)(`spacesModule.media.activityLabels.${e}`)),1),V(S(J),{type:Ie(e),size:`small`,round:``},{default:m(()=>[w(M(X(e)),1)]),_:2},1032,[`type`]),me[e]?(r(),O(S(L),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):C(``,!0),n[3]||=A(`div`,{class:`flex-1`},null,-1),V(S(k),{size:`small`,type:`success`,circle:``,loading:S(_)&&le.value===e,disabled:S(_)||S(v)||S(f)?.state===`activating`,title:S(c)(`spacesModule.media.activities.run`),onClick:ie(t=>Q(e),[`stop`])},{icon:m(()=>[V(S(L),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:m(()=>[V(S(be),{"label-position":`top`,class:`flex flex-col gap-2`},{default:m(()=>[A(`div`,{class:p(Ce(e,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(G),{label:S(c)(`spacesModule.media.activities.slots.display`)},{default:m(()=>[V(S(We),{modelValue:U[e].displayEndpointId,"onUpdate:modelValue":t=>U[e].displayEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(W),e=>(r(),O(S(q),{key:e.endpointId,label:ke(e),value:e.endpointId},{default:m(()=>[A(`div`,Pr,[A(`span`,null,M(ke(e)),1),A(`div`,Fr,[e.capabilities.inputSelect?(r(),O(S(J),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`displayEndpointId`)?(r(),O(S(G),{key:0,label:S(c)(`spacesModule.media.activities.overrides.displayInput`)},{default:m(()=>[Ee(U[e].displayEndpointId).type===`select`?(r(),O(S(We),{key:0,modelValue:U[e].displayInputId,"onUpdate:modelValue":t=>U[e].displayInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].displayEndpointId),e=>(r(),O(S(q),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(we),{key:1,modelValue:U[e].displayInputId,"onUpdate:modelValue":t=>U[e].displayInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),A(`div`,{class:p(Ce(e,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(G),{label:S(c)(`spacesModule.media.activities.slots.audio`)},{default:m(()=>[V(S(We),{modelValue:U[e].audioEndpointId,"onUpdate:modelValue":t=>U[e].audioEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(_e),e=>(r(),O(S(q),{key:e.endpointId,label:ke(e),value:e.endpointId},{default:m(()=>[A(`div`,Ir,[A(`span`,null,M(ke(e)),1),A(`div`,Lr,[e.capabilities.volume?(r(),O(S(J),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.volume`)),1)]),_:1})):C(``,!0),e.capabilities.inputSelect?(r(),O(S(J),{key:1,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`audioEndpointId`)?(r(),O(S(G),{key:0,label:S(c)(`spacesModule.media.activities.overrides.audioInput`)},{default:m(()=>[Ee(U[e].audioEndpointId).type===`select`?(r(),O(S(We),{key:0,modelValue:U[e].audioInputId,"onUpdate:modelValue":t=>U[e].audioInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].audioEndpointId),e=>(r(),O(S(q),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(we),{key:1,modelValue:U[e].audioInputId,"onUpdate:modelValue":t=>U[e].audioInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),Te(e)?(r(),O(S(G),{key:0,label:S(c)(`spacesModule.media.activities.overrides.audioVolume`)},{default:m(()=>[V(S(Xe),{modelValue:U[e].audioVolumePreset,"onUpdate:modelValue":t=>U[e].audioVolumePreset=t,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):C(``,!0),A(`div`,{class:p(Ce(e,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(G),{label:S(c)(`spacesModule.media.activities.slots.source`)},{default:m(()=>[V(S(We),{modelValue:U[e].sourceEndpointId,"onUpdate:modelValue":t=>U[e].sourceEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(ve),e=>(r(),O(S(q),{key:e.endpointId,label:ke(e),value:e.endpointId},{default:m(()=>[A(`div`,Rr,[A(`span`,null,M(ke(e)),1),A(`div`,zr,[e.capabilities.inputSelect?(r(),O(S(J),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`sourceEndpointId`)?(r(),O(S(G),{key:0,label:S(c)(`spacesModule.media.activities.overrides.sourceInput`)},{default:m(()=>[Ee(U[e].sourceEndpointId).type===`select`?(r(),O(S(We),{key:0,modelValue:U[e].sourceInputId,"onUpdate:modelValue":t=>U[e].sourceInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].sourceEndpointId),e=>(r(),O(S(q),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(we),{key:1,modelValue:U[e].sourceInputId,"onUpdate:modelValue":t=>U[e].sourceInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),V(S(G),{label:S(c)(`spacesModule.media.activities.slots.remote`)},{default:m(()=>[V(S(We),{modelValue:U[e].remoteEndpointId,"onUpdate:modelValue":t=>U[e].remoteEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(ye),e=>(r(),O(S(q),{key:e.endpointId,label:ke(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),he[e]?(r(),O(S(pe),{key:1,type:`error`,title:S(c)(`spacesModule.media.activities.saveError`),description:he[e],"show-icon":``,closable:``,onClose:t=>he[e]=null},null,8,[`title`,`description`,`onClose`])):C(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),A(`div`,Br,[A(`div`,Vr,[V(S(k),{size:`small`,loading:S(y),onClick:He},{default:m(()=>[w(M(S(c)(`spacesModule.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),S(f)&&S(f).state!==`deactivated`?(r(),O(S(k),{key:0,size:`small`,type:`warning`,loading:S(v),disabled:S(_),onClick:Ve},{icon:m(()=>[V(S(L),{icon:`mdi:stop`})]),default:m(()=>[w(` `+M(S(c)(`spacesModule.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):C(``,!0)]),A(`div`,Hr,M(S(c)(`spacesModule.media.activities.applyDefaultsHint`)),1)]),S(x)?(r(),O(S(pe),{key:0,type:`error`,title:S(c)(`spacesModule.media.activities.activateFailed`),description:S(x),"show-icon":``,closable:``,onClose:n[1]||=e=>x.value=null},null,8,[`title`,`description`])):C(``,!0)],8,jr)),[[S(ge),ue.value]])]),_:1},8,[`modelValue`,`title`]))}}),Wr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Gr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},Kr={key:0,class:`flex items-center gap-2 flex-wrap`},qr={class:`flex items-center gap-1`},Jr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},Yr=[`element-loading-text`],Xr={key:0,class:`flex flex-col gap-4`},Zr={class:`flex items-center justify-between`},Qr={class:`flex items-center gap-3`},$r={class:`text-gray-500 text-sm`},ei={key:0},ti={class:`text-gray-500 text-sm`},ni={class:`ml-1 text-sm`},ri={class:`flex flex-col gap-2`},ii={class:`flex items-center justify-between`},ai={class:`text-sm font-medium`},oi={class:`flex gap-3 text-xs text-gray-500`},si={class:`text-green-600`},ci={class:`text-red-600`},li={class:`text-sm font-medium mb-2`},ui={class:`grid grid-cols-2 gap-2 text-sm`},di={key:0},fi={class:`text-gray-400`},pi={class:`ml-1`},mi={key:1},hi={class:`text-gray-400`},gi={class:`ml-1`},_i={key:2},vi={class:`text-gray-400`},yi={class:`ml-1`},bi={key:3},xi={class:`text-gray-400`},Si={class:`ml-1`},Ci={class:`text-sm font-medium mb-2`},wi={class:`flex items-center gap-2`},Ti={key:1,class:`text-sm text-gray-400`},Ei={key:2},Di={class:`text-sm font-medium mb-2`},Oi=_({name:`SpaceMediaActivitiesSummary`,__name:`space-media-activities-summary`,props:{space:{}},emits:[`edit`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=Ae(),{endpoints:d,activeState:f,fetchEndpoints:h,fetchBindings:g,fetchActiveState:_,deactivate:v,deactivating:y,findBindingByActivity:x,preview:ee}=ut(F(()=>a.space?.id)),te=z(!1),T=z(!1),D=z(!1),j=z(null),P=z(null),I=z(null),ne=[Y.watch,Y.listen,Y.gaming,Y.background],re=e=>[e.displayEndpointId,e.audioEndpointId,e.sourceEndpointId,e.remoteEndpointId].filter(Boolean).length,ie=F(()=>{let e=[];for(let t of ne){let n=x(t);n&&e.push({activityKey:t,icon:ot(t),tagType:tt(t),routeCount:re(n)})}return e}),R=F(()=>{if(!I.value)return l(`spacesModule.media.activities.previewDialog.title`);let e=l(`spacesModule.media.activityLabels.${I.value}`);return`${l(`spacesModule.media.activities.previewDialog.title`)} — ${e}`}),ae=F(()=>!f.value||!I.value?!1:f.value.activityKey===I.value&&f.value.state!==`deactivated`),oe=F(()=>f.value?.summary?.failures?f.value.summary.failures:[]),se=F(()=>{if(!f.value)return`border-gray-300`;switch(f.value.state){case`active`:return`border-green-500`;case`activating`:return`border-blue-500`;case`failed`:return`border-red-500`;default:return`border-gray-300`}}),ce=F(()=>{if(!f.value)return`info`;switch(f.value.state){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;default:return`info`}}),le=e=>{let t=new Date(e);return isNaN(t.getTime())?e:t.toLocaleString()},H=e=>d.value.find(t=>t.deviceId===e)?.name??e,ue=e=>{switch(e){case`setProperty`:return`mdi:tune`;case`sendCommand`:return`mdi:send`;default:return`mdi:help-circle`}},de=async()=>{try{await v(),u.success(l(`spacesModule.media.activities.deactivateSuccess`))}catch{u.error(l(`spacesModule.media.activities.deactivateFailed`))}},U=async e=>{I.value=e,j.value=null,P.value=null,D.value=!0,T.value=!0;try{let[t]=await Promise.all([ee(e),_()]);j.value=t}catch(e){P.value=e instanceof Error?e.message:`Unknown error`}finally{D.value=!1}},fe=async()=>{if(a.space?.id)try{await Promise.all([h(),g(),_()]),te.value=d.value.length>0}catch{}};return b(()=>a.space?.id,e=>{e&&fe()}),c(()=>{a.space?.id&&fe()}),n({reload:fe}),(t,n)=>(r(),B(N,null,[te.value?(r(),B(N,{key:0},[A(`dt`,Wr,M(S(l)(`spacesModule.detail.mediaActivities.title`)),1),A(`dd`,Gr,[ie.value.length>0?(r(),B(`div`,Kr,[(r(!0),B(N,null,o(ie.value,e=>(r(),O(S(J),{key:e.activityKey,type:e.tagType,size:`small`,class:`cursor-pointer`,onClick:t=>U(e.activityKey)},{default:m(()=>[A(`div`,qr,[V(S(L),{icon:e.icon},null,8,[`icon`]),w(` `+M(S(l)(`spacesModule.media.activityLabels.${e.activityKey}`))+` `,1),V(S(Ce),{value:e.routeCount,type:e.tagType,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`,`onClick`]))),128))])):(r(),B(`div`,Jr,[V(S(L),{icon:`mdi:play-box-multiple-outline`}),w(` `+M(S(l)(`spacesModule.detail.mediaActivities.noActivities`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:n[0]||=e=>s(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0),V(S(Ne),{modelValue:T.value,"onUpdate:modelValue":n[2]||=e=>T.value=e,title:R.value,width:`680px`,"destroy-on-close":``},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>T.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.media.activities.previewDialog.close`)),1)]),_:1})]),default:m(()=>[e((r(),B(`div`,{"element-loading-text":S(l)(`spacesModule.media.activities.loading`)},[j.value?(r(),B(`div`,Xr,[ae.value?(r(),O(S(Ie),{key:0,shadow:`never`,class:p([`border-l-4`,se.value])},{default:m(()=>[A(`div`,Zr,[A(`div`,Qr,[A(`div`,null,[A(`span`,$r,M(S(l)(`spacesModule.media.activities.activePanel.state`))+`:`,1),V(S(J),{type:ce.value,size:`small`,class:`ml-2`},{default:m(()=>[w(M(S(l)(`spacesModule.media.activities.activationState.${S(f).state}`)),1)]),_:1},8,[`type`])]),S(f).activatedAt?(r(),B(`div`,ei,[A(`span`,ti,M(S(l)(`spacesModule.media.activities.activePanel.activatedAt`))+`:`,1),A(`span`,ni,M(le(S(f).activatedAt)),1)])):C(``,!0)]),S(f).state===`deactivated`?C(``,!0):(r(),O(S(k),{key:0,size:`small`,type:`warning`,loading:S(y),onClick:de},{icon:m(()=>[V(S(L),{icon:`mdi:stop`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.media.activities.deactivate`)),1)]),_:1},8,[`loading`]))])]),_:1},8,[`class`])):C(``,!0),ae.value&&oe.value.length>0?(r(),O(S(Ie),{key:1,shadow:`never`,class:`border-l-4 border-red-500`},{default:m(()=>[A(`div`,ri,[A(`div`,ii,[A(`span`,ai,M(S(l)(`spacesModule.media.activities.failures.title`)),1),A(`div`,oi,[A(`span`,null,M(S(l)(`spacesModule.media.activities.failures.total`))+`: `+M(S(f).summary?.stepsTotal??0),1),A(`span`,si,M(S(l)(`spacesModule.media.activities.failures.succeeded`))+`: `+M(S(f).summary?.stepsSucceeded??0),1),A(`span`,ci,M(S(l)(`spacesModule.media.activities.failures.failed`))+`: `+M(S(f).summary?.stepsFailed??0),1)])]),V(S(Ge),{data:oe.value,size:`small`,border:``},{default:m(()=>[V(S($),{label:S(l)(`spacesModule.media.activities.failures.stepIndex`),width:`70`},{default:m(({row:e})=>[w(M(e.stepIndex),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.device`),"min-width":`140`},{default:m(({row:e})=>[w(M(e.targetDeviceId?H(e.targetDeviceId):`—`),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.property`),"min-width":`100`},{default:m(({row:e})=>[w(M(e.propertyId??`—`),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.reason`),"min-width":`180`},{default:m(({row:e})=>[w(M(e.reason),1)]),_:1},8,[`label`])]),_:1},8,[`data`])])]),_:1})):C(``,!0),A(`div`,null,[A(`div`,li,M(S(l)(`spacesModule.media.activities.previewDialog.resolvedDevices`)),1),A(`div`,ui,[j.value.resolved.displayDeviceId?(r(),B(`div`,di,[A(`span`,fi,M(S(l)(`spacesModule.media.activities.activePanel.display`))+`:`,1),A(`span`,pi,M(H(j.value.resolved.displayDeviceId)),1)])):C(``,!0),j.value.resolved.audioDeviceId?(r(),B(`div`,mi,[A(`span`,hi,M(S(l)(`spacesModule.media.activities.activePanel.audio`))+`:`,1),A(`span`,gi,M(H(j.value.resolved.audioDeviceId)),1)])):C(``,!0),j.value.resolved.sourceDeviceId?(r(),B(`div`,_i,[A(`span`,vi,M(S(l)(`spacesModule.media.activities.activePanel.source`))+`:`,1),A(`span`,yi,M(H(j.value.resolved.sourceDeviceId)),1)])):C(``,!0),j.value.resolved.remoteDeviceId?(r(),B(`div`,bi,[A(`span`,xi,M(S(l)(`spacesModule.media.activities.activePanel.remote`))+`:`,1),A(`span`,Si,M(H(j.value.resolved.remoteDeviceId)),1)])):C(``,!0)])]),A(`div`,null,[A(`div`,Ci,M(S(l)(`spacesModule.media.activities.previewDialog.executionPlan`)),1),j.value.plan.length?(r(),O(S(Ge),{key:0,data:j.value.plan,size:`small`,border:``},{default:m(()=>[V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.step`),width:`60`},{default:m(({$index:e})=>[w(M(e+1),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.action`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,wi,[V(S(L),{icon:ue(e.action.kind),class:`w[16px] h[16px] shrink-0`},null,8,[`icon`]),A(`span`,null,M(e.label),1)])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.device`),"min-width":`140`},{default:m(({row:e})=>[w(M(H(e.targetDeviceId)),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.critical`),width:`100`},{default:m(({row:e})=>[V(S(J),{type:e.critical?`danger`:`info`,size:`small`},{default:m(()=>[w(M(e.critical?S(l)(`spacesModule.media.activities.previewDialog.criticalYes`):S(l)(`spacesModule.media.activities.previewDialog.criticalNo`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`])]),_:1},8,[`data`])):(r(),B(`div`,Ti,M(S(l)(`spacesModule.media.activities.previewDialog.noSteps`)),1))]),j.value.warnings.length?(r(),B(`div`,Ei,[A(`div`,Di,M(S(l)(`spacesModule.media.activities.previewDialog.warnings`)),1),(r(!0),B(N,null,o(j.value.warnings,(e,t)=>(r(),O(S(pe),{key:t,type:`warning`,title:e.label,"show-icon":``,closable:!1,class:`mb-1`},null,8,[`title`]))),128))])):C(``,!0)])):C(``,!0),P.value?(r(),O(S(pe),{key:1,type:`error`,title:S(l)(`spacesModule.media.activities.previewFailed`),description:P.value,"show-icon":``,closable:!1},null,8,[`title`,`description`])):C(``,!0)],8,Yr)),[[S(ge),D.value]])]),_:1},8,[`modelValue`,`title`])],64))}}),ki={class:`grid m-0`},Ai={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ji={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Mi={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Ni={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Pi={key:0,class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Fi={key:1,class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Ii={key:2,class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Li={key:3,class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center gap-2 min-w-[8rem]`},Ri={key:4,class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},zi={key:5,class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},Bi={class:`flex items-center gap-1`},Vi={key:1,class:`text-gray-400 text-sm`},Hi={class:`flex items-center gap-2`},Ui=_({name:`SpaceDetail`,__name:`space-detail`,props:{space:{}},setup(e){let t=e,{t:i}=E(),a=Ae(),{spaces:s,firstLoadFinished:l,fetchSpaces:u}=$e(),{editSpace:p}=it(F(()=>t.space?.id)),h=z(!1),g=z(!1),_=z(!1),v=z(!1),y=z(!1),x=z(null),ee=z(null),te=z(null),T=z(null),D=z(null);c(async()=>{l.value||await u().catch(()=>{})});let k=z(null),j=z(!1),P=z(!1),I=z(null),ne=z(null),re=z(!1),ie=F(()=>s.value.filter(e=>!(e.type!==W.ZONE||!ke(e.category)))),R=F(()=>t.space?.parentId?s.value.find(e=>e.id===t.space?.parentId)??null:null),ae=()=>{P.value=!0,ne.value=t.space?.parentId??null,k.value=t.space?.parentId??null,re.value=!1,n(()=>{I.value?.focus()})},oe=()=>{setTimeout(()=>{!re.value&&!j.value&&P.value&&(P.value=!1),re.value=!1},200)},se=e=>{P.value&&e.key===`Escape`&&(k.value=ne.value,P.value=!1,re.value=!1)},ce=async e=>{if(!t.space||e===t.space.parentId){P.value=!1,re.value=!1;return}re.value=!0,j.value=!0;try{await p({name:t.space.name,parentId:e}),a.success(i(`spacesModule.messages.edited`,{space:t.space.name})),P.value=!1,re.value=!1}catch{k.value=ne.value,a.error(i(`spacesModule.messages.saveError`)),P.value=!1,re.value=!1}finally{j.value=!1}};b(()=>t.space?.parentId??null,e=>{P.value||(k.value=e,ne.value=e)},{immediate:!0}),c(()=>{document.addEventListener(`keydown`,se)}),d(()=>{document.removeEventListener(`keydown`,se)});let le=()=>{x.value?.reload()},H=()=>{ee.value?.reload()},ue=()=>{te.value?.reload()},de=()=>{T.value?.reload()},U=()=>{D.value?.reload()};return(t,n)=>(r(),B(N,null,[V(S(Ie),{class:`mt-2`,"body-class":`p-0!`},{default:m(()=>[A(`dl`,ki,[A(`dt`,Ai,M(S(i)(`spacesModule.fields.spaces.name.title`)),1),A(`dd`,ji,[V(S(Te),null,{default:m(()=>[w(M(e.space.name),1)]),_:1})]),A(`dt`,Mi,M(S(i)(`spacesModule.fields.spaces.type.title`)),1),A(`dd`,Ni,[V(S(Te),null,{default:m(()=>[w(M(S(i)(`spacesModule.misc.types.${e.space.type}`)),1)]),_:1})]),e.space.description?(r(),B(`dt`,Pi,M(S(i)(`spacesModule.fields.spaces.description.title`)),1)):C(``,!0),e.space.description?(r(),B(`dd`,Fi,[V(S(Te),null,{default:m(()=>[w(M(e.space.description),1)]),_:1})])):C(``,!0),e.space.icon?(r(),B(`dt`,Ii,M(S(i)(`spacesModule.fields.spaces.icon.title`)),1)):C(``,!0),e.space.icon?(r(),B(`dd`,Li,[V(S(f),null,{default:m(()=>[V(S(L),{icon:e.space.icon},null,8,[`icon`])]),_:1}),V(S(Te),null,{default:m(()=>[w(M(e.space.icon),1)]),_:1})])):C(``,!0),V(An,{ref_key:`lightingRolesSummaryRef`,ref:x,space:e.space,onEdit:n[0]||=e=>h.value=!0},null,8,[`space`]),V(qn,{ref_key:`climateRolesSummaryRef`,ref:ee,space:e.space,onEdit:n[1]||=e=>g.value=!0},null,8,[`space`]),V(ur,{ref_key:`coversRolesSummaryRef`,ref:te,space:e.space,onEdit:n[2]||=e=>_.value=!0},null,8,[`space`]),V(Er,{ref_key:`sensorRolesSummaryRef`,ref:T,space:e.space,onEdit:n[3]||=e=>v.value=!0},null,8,[`space`]),V(Oi,{ref_key:`mediaActivitiesSummaryRef`,ref:D,space:e.space,onEdit:n[4]||=e=>y.value=!0},null,8,[`space`]),e.space.type===S(W).ROOM?(r(),B(`dt`,Ri,M(S(i)(`spacesModule.detail.parentZone.title`)),1)):C(``,!0),e.space.type===S(W).ROOM?(r(),B(`dd`,zi,[P.value?(r(),O(S(We),{key:1,ref_key:`floorSelectRef`,ref:I,modelValue:k.value,"onUpdate:modelValue":n[5]||=e=>k.value=e,placeholder:S(i)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:j.value,onChange:ce,onBlur:oe},{default:m(()=>[(r(!0),B(N,null,o(ie.value,e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`div`,Hi,[V(S(L),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),A(`span`,null,M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(r(),B(`div`,{key:0,class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:ae},[R.value?(r(),O(S(J),{key:0,type:`success`,size:`small`},{default:m(()=>[A(`div`,Bi,[V(S(L),{icon:R.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),w(` `+M(R.value.name),1)])]),_:1})):(r(),B(`span`,Vi,M(S(i)(`spacesModule.detail.parentZone.none`)),1))]))])):C(``,!0)])]),_:1}),V(Dr,{visible:h.value,"onUpdate:visible":n[6]||=e=>h.value=e,space:e.space,onRolesChanged:le},null,8,[`visible`,`space`]),V(Or,{visible:g.value,"onUpdate:visible":n[7]||=e=>g.value=e,space:e.space,onRolesChanged:H},null,8,[`visible`,`space`]),V(kr,{visible:_.value,"onUpdate:visible":n[8]||=e=>_.value=e,space:e.space,onRolesChanged:ue},null,8,[`visible`,`space`]),V(Ar,{visible:v.value,"onUpdate:visible":n[9]||=e=>v.value=e,space:e.space,onRolesChanged:de},null,8,[`visible`,`space`]),V(Ur,{visible:y.value,"onUpdate:visible":n[10]||=e=>y.value=e,space:e.space,onBindingsChanged:U},null,8,[`visible`,`space`])],64))}}),Wi={class:`flex items-center gap-2`},Gi={class:`font-medium`},Ki={key:0,class:`text-xs text-gray-500`},qi={class:`flex items-center gap-2 justify-end`},Ji={key:0,class:`h-full w-full leading-normal`},Yi={key:1,class:`h-full w-full leading-normal`},Xi={class:`mb-4`},Zi=_({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=Ae(),{roomSpaces:d}=$e(),{devices:f,loading:p,firstLoadFinished:h,fetchDevices:g,removeDevice:_,reassignDevice:v}=ct(ne(a,`spaceId`),ne(a,`spaceType`)),y=z(!1),b=z(null),x=z(null),ee=z(!1),te=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e]||`mdi:devices`,T=()=>{s(`open-add-dialog`)},D=e=>{b.value=e,x.value=null,y.value=!0},j=async()=>{if(b.value){ee.value=!0;try{await v(b.value.id,x.value),y.value=!1,u.success(l(`spacesModule.messages.edited`,{space:b.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{ee.value=!1}}},F=e=>{Ee.confirm(l(`spacesModule.detail.devices.confirmRemove`,{name:e.name}),l(`spacesModule.detail.devices.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await _(e.id),u.success(l(`spacesModule.detail.devices.removed`,{name:e.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.devices.removeCanceled`))})};return c(async()=>{h.value||await g()}),n({openAddDialog:T,fetchDevices:g}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.devices.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,Ji,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,Yi,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.devices.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:T},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.onboarding.deviceName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Wi,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:te(e.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[A(`div`,Gi,M(e.name),1),e.description?(r(),B(`div`,Ki,M(e.description),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.table.columns.category`),width:`150`},{default:m(({row:e})=>[V(S(J),{size:`small`,type:`info`},{default:m(()=>[w(M(S(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(J),{type:e.status?.online?`success`:`danger`,size:`small`},{default:m(()=>[w(M(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:a.spaceType===S(W).ZONE?110:220,align:`right`},{default:m(({row:e})=>[A(`div`,qi,[a.spaceType===S(W).ROOM?(r(),O(S(k),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>D(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):C(``,!0),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>F(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[S(ge),S(p)]]),V(S(Ne),{modelValue:y.value,"onUpdate:modelValue":n[2]||=e=>y.value=e,title:S(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>y.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:ee.value,onClick:j},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,Xi,M(S(l)(`spacesModule.detail.devices.selectRoom`)),1),V(S(We),{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Qi={class:`flex items-center gap-2`},$i={class:`font-medium`},ea={key:0,class:`text-xs text-gray-500`},ta={class:`flex items-center gap-2 justify-end`},na={key:0,class:`h-full w-full leading-normal`},ra={key:1,class:`h-full w-full leading-normal`},ia={class:`mb-4`},aa=_({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=Ae(),{spaces:d}=$e(),{scenes:f,loading:p,firstLoadFinished:h,fetchScenes:g,reassignScene:_,removeScene:v}=et(ne(a,`spaceId`)),y=z(!1),b=z(null),x=z(null),ee=z(!1),te=e=>ht[e]||ht[ft.GENERIC],T=()=>{s(`open-add-dialog`)},D=e=>{b.value=e,x.value=null,y.value=!0},j=async()=>{if(b.value){ee.value=!0;try{await _(b.value.id,x.value),y.value=!1,u.success(l(`spacesModule.detail.scenes.reassigned`,{name:b.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{ee.value=!1}}},F=e=>{Ee.confirm(l(`spacesModule.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesModule.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await v(e.id),u.success(l(`spacesModule.detail.scenes.removed`,{name:e.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.scenes.removeCanceled`))})};return c(async()=>{h.value||await g()}),n({openAddDialog:T,fetchScenes:g}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.scenes.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,na,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,ra,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.scenes.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:T},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.detail.scenes.name`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Qi,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:te(e.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[A(`div`,$i,M(e.name),1),e.description?(r(),B(`div`,ea,M(e.description),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.detail.scenes.category`),width:`150`},{default:m(({row:e})=>[V(S(J),{size:`small`,type:`info`},{default:m(()=>[w(M(S(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.detail.scenes.status`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(J),{type:e.enabled?`success`:`info`,size:`small`},{default:m(()=>[w(M(e.enabled?S(l)(`spacesModule.detail.scenes.enabled`):S(l)(`spacesModule.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:`220`,align:`right`},{default:m(({row:e})=>[A(`div`,ta,[V(S(k),{type:`warning`,plain:``,size:`small`,onClick:t=>D(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>F(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[S(ge),S(p)]]),V(S(Ne),{modelValue:y.value,"onUpdate:modelValue":n[2]||=e=>y.value=e,title:S(l)(`spacesModule.detail.scenes.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>y.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:ee.value,onClick:j},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,ia,M(S(l)(`spacesModule.detail.scenes.selectSpace`)),1),V(S(We),{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),oa={class:`flex items-center gap-2`},sa={class:`block`},ca={key:1,class:`font-medium`},la={class:`flex items-center gap-2 justify-end`},ua={key:0,class:`h-full w-full leading-normal`},da={key:1,class:`h-full w-full leading-normal`},fa={class:`mb-4`},pa=_({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=Ae(),{roomSpaces:d}=$e(),{displays:f,loading:p,fetchDisplays:h,removeDisplay:g,reassignDisplay:_}=rt(ne(a,`spaceId`)),v=z(!1),y=z(null),b=z(null),x=z(!1),C=()=>{s(`open-add-dialog`)},ee=e=>{y.value=e,b.value=null,v.value=!0},te=async()=>{if(y.value){x.value=!0;try{await _(y.value.id,b.value),v.value=!1,u.success(l(`spacesModule.messages.edited`,{space:y.value.name||y.value.macAddress}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{x.value=!1}}},T=e=>{let t=e.name||e.macAddress;Ee.confirm(l(`spacesModule.detail.displays.confirmRemove`,{name:t}),l(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await g(e.id),u.success(l(`spacesModule.detail.displays.removed`,{name:t}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.displays.removeCanceled`))})};return c(async()=>{await h()}),n({openAddDialog:C,fetchDisplays:h}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.displays.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,ua,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,da,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.displays.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:C},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.onboarding.displayName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,oa,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),A(`div`,null,[e.name?(r(),B(N,{key:0},[A(`strong`,sa,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.macAddress),1)]),_:2},1024)],64)):(r(),B(`div`,ca,M(e.macAddress),1))])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(J),{type:e.online?`success`:`danger`,size:`small`},{default:m(()=>[w(M(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:`220`,align:`right`},{default:m(({row:e})=>[A(`div`,la,[V(S(k),{type:`warning`,plain:``,size:`small`,onClick:t=>ee(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>T(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[S(ge),S(p)]]),V(S(Ne),{modelValue:v.value,"onUpdate:modelValue":n[2]||=e=>v.value=e,title:S(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>v.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:x.value,onClick:te},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,fa,M(S(l)(`spacesModule.detail.displays.selectRoom`)),1),V(S(We),{modelValue:b.value,"onUpdate:modelValue":n[0]||=e=>b.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),ma={key:0,class:`h-full w-full leading-normal`},ha={key:1,class:`h-full w-full leading-normal`},ga={class:`flex items-center gap-2`},_a={class:`block text-sm`},va={key:1,class:`font-medium`},ya={key:1,class:`text-gray-400 text-sm`},ba=_({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=Ae(),{devices:s}=dt(),{findById:c}=$e(),l=z(``),u=z(null),{devices:d,addDevice:f}=ct(F(()=>n.spaceId),F(()=>n.spaceType)),p=F(()=>new Set(d.value.map(e=>e.id))),h=F(()=>s.value.filter(e=>n.spaceType===W.ZONE?!p.value.has(e.id):e.roomId!==n.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),g=F(()=>(l.value.trim()?h.value.filter(e=>{let t=l.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):h.value).sort((e,t)=>e.name.localeCompare(t.name))),_=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e.category]||`mdi:devices`,v=e=>c(e)?.name||`Unknown`,y=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),x=()=>{y.value=!1,l.value=``,u.value=null},ee=async e=>{u.value=e.id;try{await f(e.id),o.success(a(`spacesModule.messages.edited`,{space:e.name})),i(`device-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{u.value=null}};return b(()=>n.visible,e=>{e||(l.value=``,u.value=null)}),(e,t)=>(r(),O(S(Ne),{modelValue:y.value,"onUpdate:modelValue":t[1]||=e=>y.value=e,title:S(a)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:x},{footer:m(()=>[V(S(k),{onClick:x},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(we),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:S(a)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:g.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[h.value.length===0?(r(),B(`div`,ma,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):l.value.trim()&&g.value.length===0?(r(),B(`div`,ha,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.onboarding.deviceName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,ga,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:_(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[e.description?(r(),B(N,{key:0},[A(`strong`,_a,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.description),1)]),_:2},1024)],64)):(r(),B(`div`,va,M(e.name),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.onboarding.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.roomId?(r(),O(S(J),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(v(e.roomId)),1)]),_:2},1024)):(r(),B(`span`,ya,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:n.spaceType===S(W).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:u.value===e.id,onClick:t=>ee(e)},{icon:m(()=>[V(S(L),{icon:n.spaceType===S(W).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(n.spaceType===S(W).ROOM&&e.roomId?S(a)(`spacesModule.detail.devices.reassign`):S(a)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),xa={key:0,class:`h-full w-full leading-normal`},Sa={key:1,class:`h-full w-full leading-normal`},Ca={class:`flex items-center gap-2`},wa={class:`block text-sm`},Ta={key:1,class:`font-medium`},Ea={key:1,class:`text-gray-400 text-sm`},Da=_({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=Ae(),{scenes:s,loaded:l,fetchScenes:u}=mt(),{editScene:d}=pt(),{findById:f}=$e(),p=z(``),h=z(null),g=F(()=>s.value.filter(e=>e.draft?!1:e.primarySpaceId!==n.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),_=F(()=>(p.value.trim()?g.value.filter(e=>{let t=p.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):g.value).sort((e,t)=>e.name.localeCompare(t.name))),v=e=>ht[e.category]||ht[ft.GENERIC],y=e=>f(e)?.name||`Unknown`,x=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),ee=()=>{x.value=!1,p.value=``,h.value=null},te=async e=>{h.value=e.id;try{await d({id:e.id,data:{primarySpaceId:n.spaceId}}),o.success(a(`spacesModule.detail.scenes.assigned`,{name:e.name})),i(`scene-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{h.value=null}};return c(async()=>{l.value||await u()}),b(()=>n.visible,e=>{e||(p.value=``,h.value=null)}),(e,t)=>(r(),O(S(Ne),{modelValue:x.value,"onUpdate:modelValue":t[1]||=e=>x.value=e,title:S(a)(`spacesModule.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:ee},{footer:m(()=>[V(S(k),{onClick:ee},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(we),{modelValue:p.value,"onUpdate:modelValue":t[0]||=e=>p.value=e,placeholder:S(a)(`spacesModule.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:_.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[g.value.length===0?(r(),B(`div`,xa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.scenes.noAvailable`)),1)]),_:1})])):p.value.trim()&&_.value.length===0?(r(),B(`div`,Sa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`spacesModule.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.detail.scenes.name`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Ca,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:v(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[e.description?(r(),B(N,{key:0},[A(`strong`,wa,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.description),1)]),_:2},1024)],64)):(r(),B(`div`,Ta,M(e.name),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.detail.scenes.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.primarySpaceId?(r(),O(S(J),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(y(e.primarySpaceId)),1)]),_:2},1024)):(r(),B(`span`,Ea,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:h.value===e.id,onClick:t=>te(e)},{icon:m(()=>[V(S(L),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(e.primarySpaceId?S(a)(`spacesModule.detail.scenes.reassign`):S(a)(`spacesModule.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Oa={key:0,class:`h-full w-full leading-normal`},ka={key:1,class:`h-full w-full leading-normal`},Aa={class:`flex items-center gap-2`},ja={class:`block`},Ma={key:1,class:`font-medium`},Na={key:1,class:`text-gray-400 text-sm`},Pa=_({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=Ae(),{displays:s}=Qe(),{findById:c}=$e(),l=z(``),u=z(null),{reassignDisplay:d}=rt(F(()=>n.spaceId)),f=F(()=>s.value.filter(e=>e.role===`room`?e.roomId!==n.spaceId:!1).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),p=F(()=>(l.value.trim()?f.value.filter(e=>{let t=l.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):f.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),h=e=>c(e)?.name||`Unknown`,g=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),_=()=>{g.value=!1,l.value=``,u.value=null},v=async e=>{u.value=e.id;try{await d(e.id,n.spaceId),o.success(a(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),i(`display-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{u.value=null}};return b(()=>n.visible,e=>{e||(l.value=``,u.value=null)}),(e,t)=>(r(),O(S(Ne),{modelValue:g.value,"onUpdate:modelValue":t[1]||=e=>g.value=e,title:S(a)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:_},{footer:m(()=>[V(S(k),{onClick:_},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(we),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:S(a)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:p.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[f.value.length===0?(r(),B(`div`,Oa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):l.value.trim()&&p.value.length===0?(r(),B(`div`,ka,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.onboarding.displayName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Aa,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),A(`div`,null,[e.name?(r(),B(N,{key:0},[A(`strong`,ja,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.macAddress),1)]),_:2},1024)],64)):(r(),B(`div`,Ma,M(e.macAddress),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.onboarding.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.roomId?(r(),O(S(J),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(h(e.roomId)),1)]),_:2},1024)):(r(),B(`span`,Na,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:e.roomId?`warning`:`default`,plain:``,size:`small`,loading:u.value===e.id,onClick:t=>v(e)},{icon:m(()=>[V(S(L),{icon:e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(e.roomId?S(a)(`spacesModule.detail.displays.reassign`):S(a)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}});export{aa as a,pn as c,kt as d,pa as i,Wt as l,Da as n,Zi as o,ba as r,Ui as s,Pa as t,Mt as u};
1
+ import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Ar as n,Br as r,C as i,Di as a,Hr as o,Jt as s,Lr as c,Lt as l,Mt as u,Nr as d,O as f,Oi as p,Qr as m,Qt as h,S as g,Sr as _,T as v,Ur as y,Xr as b,Zt as x,_i as S,_r as C,ai as ee,br as w,ci as te,ct as T,d as E,f as D,gr as O,h as k,hr as A,in as j,ji as M,lr as N,m as P,mr as F,n as I,p as L,pi as ne,pt as re,sr as ie,t as R,tn as ae,tt as oe,ui as z,ut as se,vr as B,w as ce,wi as le,xr as V}from"./icon-with-child-DmQ_XhQy.js";import{$r as H,At as ue,B as de,Bt as U,Ci as fe,Fi as pe,Ft as me,H as he,Hr as ge,Ht as W,Ir as _e,Kr as ve,Li as ye,Ni as be,Nr as xe,Nt as Se,Pi as G,Rt as K,Si as Ce,Ti as we,Ur as Te,Vr as Ee,Wt as De,Xt as Oe,Yt as ke,_ as Ae,_i as q,bi as J,cr as Y,d as je,di as Me,ei as Ne,fa as Pe,fr as Fe,gi as Ie,hr as X,jr as Le,jt as Re,ma as ze,pr as Z,ui as Be,ur as Q,vi as Ve,wi as He,y as Ue,yi as We}from"./common-DyDAwGBz.js";import{n as $,t as Ge}from"./table-DEzwgEz4.js";import{t as Ke}from"./input-number-ZxkWRYbD.js";import{n as qe,r as Je}from"./radio-BvpKu4BH.js";import{t as Ye}from"./pagination-DejKh2TT.js";import{t as Xe}from"./slider-CS5SsQJB.js";import{t as Ze}from"./popover-BW83aJP4.js";import{i as Qe}from"./composables-lfdMtVU8.js";import{t as $e}from"./useSpaces-LfBlMH_H.js";import{a as et,c as tt,d as nt,f as rt,g as it,h as at,l as ot,m as st,p as ct,t as lt,u as ut}from"./composables-UlKjXsBi.js";import{t as dt}from"./useDevices-oOyjupML.js";import{b as ft,n as pt,r as mt,y as ht}from"./composables-EOIIyvfq2.js";var gt={label:`label`,value:`value`,disabled:`disabled`},_t=x({direction:{type:h(String),default:`horizontal`},options:{type:h(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:h(Object),default:()=>gt},block:Boolean,size:T,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...ye([`ariaLabel`])}),vt={[ze]:e=>a(e)||j(e)||ae(e),[Pe]:e=>a(e)||j(e)||ae(e)},yt=[`id`,`aria-label`,`aria-labelledby`],bt=[`name`,`disabled`,`checked`,`onChange`],xt=oe(_({name:`ElSegmented`,__name:`segmented`,props:_t,emits:vt,setup(e,{emit:n}){let a=e,c=n,d=re(`segmented`),f=se(),m=v(),h=ce(),{formItem:_}=g(),{inputId:x,isLabeledByFormItem:ee}=i(a,{formItemContext:_}),T=z(null),E=u(),D=te({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),O=(e,t)=>{let n=P(t);c(ze,n),c(Pe,n),e.target.checked=n===a.modelValue},k=F(()=>({...gt,...a.props})),j=e=>e,P=e=>le(e)?e[k.value.value]:e,I=e=>le(e)?e[k.value.label]:e,L=e=>!!(h.value||le(e)&&e[k.value.disabled]),ne=e=>a.modelValue===P(e),ie=e=>a.options.find(t=>P(t)===e),R=e=>[d.e(`item`),d.is(`selected`,ne(e)),d.is(`disabled`,L(e))],ae=()=>{if(!T.value)return;let e=T.value.querySelector(`.is-selected`),t=T.value.querySelector(`.is-selected input`);if(!e||!t){D.width=0,D.height=0,D.translateX=0,D.translateY=0,D.focusVisible=!1;return}D.isInit=!0,a.direction===`vertical`?(D.height=e.offsetHeight,D.translateY=e.offsetTop):(D.width=e.offsetWidth,D.translateX=e.offsetLeft);try{D.focusVisible=t.matches(`:focus-visible`)}catch{}},oe=F(()=>[d.b(),d.m(m.value),d.is(`block`,a.block)]),V=F(()=>({width:a.direction===`vertical`?`100%`:`${D.width}px`,height:a.direction===`vertical`?`${D.height}px`:`100%`,transform:a.direction===`vertical`?`translateY(${D.translateY}px)`:`translateX(${D.translateX}px)`,display:D.isInit?`block`:`none`})),H=F(()=>[d.e(`item-selected`),d.is(`disabled`,L(ie(a.modelValue))),d.is(`focus-visible`,D.focusVisible)]),ue=F(()=>a.name||f.value);return l(T,ae),b(E,ae),b(()=>a.modelValue,()=>{ae(),a.validateEvent&&_?.validate?.(`change`).catch(e=>s(e))},{flush:`post`}),(n,i)=>e.options.length?(r(),B(`div`,{key:0,id:S(x),ref_key:`segmentedRef`,ref:T,class:p(oe.value),role:`radiogroup`,"aria-label":S(ee)?void 0:e.ariaLabel||`segmented`,"aria-labelledby":S(ee)?S(_).labelId:void 0},[A(`div`,{class:p([S(d).e(`group`),S(d).m(e.direction)])},[A(`div`,{style:t(V.value),class:p(H.value)},null,6),(r(!0),B(N,null,o(e.options,(e,t)=>(r(),B(`label`,{key:t,class:p(R(e))},[A(`input`,{class:p(S(d).e(`item-input`)),type:`radio`,name:ue.value,disabled:L(e),checked:ne(e),onChange:t=>O(t,e)},null,42,bt),A(`div`,{class:p(S(d).e(`item-label`))},[y(n.$slots,`default`,{item:j(e)},()=>[w(M(I(e)),1)])],2)],2))),128))],2)],10,yt)):C(`v-if`,!0)}})),St={class:`flex w-full`},Ct=_({name:`SpacesFilter`,__name:`spaces-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=xe(n,`filters`,i),s=z(void 0);return b(()=>o.value.search,e=>{e===``&&(o.value.search=void 0)}),(e,t)=>(r(),B(`div`,St,[V(S(be),{ref_key:`filterFormEl`,ref:s,inline:!0,model:S(o),class:`grow-1`},{default:m(()=>[V(S(we),{modelValue:S(o).search,"onUpdate:modelValue":t[0]||=e=>S(o).search=e,placeholder:S(a)(`spacesModule.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:m(()=>[V(S(f),null,{default:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),V(S(he),{"selected-count":n.selectedCount,actions:n.bulkActions,onAction:t[1]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),n.filtersActive?(r(),O(S(k),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`reset-filters`)},{default:m(()=>[V(S(L),{icon:`mdi:filter-off`})]),_:1})):C(``,!0),V(S(k),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`adjust-list`)},{default:m(()=>[V(S(L),{icon:`mdi:slider`})]),_:1})]))}}),wt={key:0,class:`h-full w-full leading-normal`},Tt={key:1,class:`h-full w-full leading-normal`},Et={key:2,class:`h-full w-full leading-normal`},Dt={class:`block`},Ot=_({name:`SpacesTable`,__name:`spaces-table`,props:{items:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{},filters:{},sortBy:{},sortDir:{}},emits:[`detail`,`edit`,`remove`,`add`,`reset-filters`,`update:sort-by`,`update:sort-dir`,`selected-changes`],setup(n,{emit:i}){let a=n,o=i,{t:s}=E(),{isMDDevice:c}=Le(),l=F(()=>a.totalRows===0),u=F(()=>a.tableHeight??400),d=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},f=e=>{o(`detail`,e.id)},p=e=>{o(`selected-changes`,e)};return(n,i)=>e((r(),O(S(Ge),{"element-loading-text":S(s)(`spacesModule.texts.loadingSpaces`),data:a.items,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:t({maxHeight:u.value+`px`}),"max-height":u.value,onSortChange:d,onSelectionChange:p,onRowClick:f},{empty:m(()=>[a.loading?(r(),B(`div`,wt,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):a.filtersActive&&!a.loading?(r(),B(`div`,Tt,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(s)(`spacesModule.texts.noFilteredSpaces`)),1)]),_:1}),V(S(k),{type:`primary`,plain:``,class:`mt-4`,onClick:i[0]||=e=>o(`reset-filters`)},{icon:m(()=>[V(S(L),{icon:`mdi:filter-off`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):l.value&&!a.loading?(r(),B(`div`,Et,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(s)(`spacesModule.texts.noSpaces`)),1)]),_:1})])):C(``,!0)]),default:m(()=>[S(c)?(r(),O(S($),{key:0,type:`selection`,fixed:``,width:30})):C(``,!0),V(S($),{width:60,align:`center`},{default:m(e=>[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:e.row.icon||(e.row.type===S(W).ROOM?`mdi:door`:`mdi:home-floor-1`),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),_:1}),V(S($),{label:S(s)(`spacesModule.table.columns.name`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:m(e=>[A(`strong`,Dt,M(e.row.name),1),e.row.description?(r(),O(S(Te),{key:0,size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.row.description),1)]),_:2},1024)):C(``,!0)]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.type`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:m(e=>[V(S(J),{type:e.row.type===S(W).ROOM?`primary`:`info`,size:`small`},{default:m(()=>[w(M(S(s)(`spacesModule.misc.types.${e.row.type}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.category`),prop:`category`,width:150},{default:m(e=>[e.row.category?(r(),O(S(Te),{key:0,size:`small`},{default:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.category.options.${e.row.category}`)),1)]),_:2},1024)):(r(),O(S(Te),{key:1,size:`small`,type:`info`},{default:m(()=>[...i[2]||=[w(` — `,-1)]]),_:1}))]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.order`),prop:`displayOrder`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:100,align:`center`},{default:m(e=>[w(M(e.row.displayOrder),1)]),_:1},8,[`label`]),V(S($),{width:190,align:`right`},{default:m(e=>[A(`div`,{onClick:i[1]||=ie(()=>{},[`stop`])},[V(S(k),{size:`small`,plain:``,"data-test-id":`detail-space`,onClick:t=>o(`detail`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:file-search-outline`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),V(S(k),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-space`,onClick:t=>o(`edit`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),V(S(k),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-space`,onClick:t=>o(`remove`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:trash`})]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[S(ge),a.loading]])}}),kt=_({name:`ListSpaces`,__name:`list-spaces`,props:{items:{},allItems:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},filters:{},paginatePage:{},paginateSize:{},sortBy:{},sortDir:{}},emits:[`detail`,`edit`,`remove`,`add`,`adjust-list`,`reset-filters`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`bulk-action`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),{isMDDevice:o}=Le(),s=null,l=z(null),u=z(null),f=xe(n,`filters`,i),p=z(n.sortBy),h=z(n.sortDir??null),g=z(n.paginatePage),_=z(n.paginateSize),v=z(250),y=z([]),x=F(()=>[{key:`delete`,label:a(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),C=e=>{i(`detail`,e)},w=e=>{i(`edit`,e)},te=e=>{i(`remove`,e)},T=()=>{i(`add`)},D=()=>{i(`reset-filters`)},O=e=>{i(`update:paginate-size`,e)},k=e=>{i(`update:paginate-page`,e)},j=e=>{y.value=e},M=e=>{i(`bulk-action`,e,y.value)};return c(()=>{if(!l.value)return;let e=()=>{l.value&&u.value&&(v.value=l.value.clientHeight-u.value.clientHeight)};typeof window<`u`&&`ResizeObserver`in window&&(s=new ResizeObserver(e),s.observe(l.value)),e()}),d(()=>{s&&l.value&&s.unobserve(l.value)}),b(()=>p.value,e=>{i(`update:sort-by`,e)}),b(()=>h.value,e=>{i(`update:sort-dir`,e)}),b(()=>n.paginatePage,e=>{g.value=e}),b(()=>n.paginateSize,e=>{_.value=e}),b(()=>n.sortDir??null,e=>{h.value=e}),b(()=>n.sortBy,e=>{p.value=e}),b(()=>o.value,e=>{e||(y.value=[])}),(e,t)=>(r(),B(N,null,[V(S(Ie),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:m(()=>[V(Ct,{filters:S(f),"onUpdate:filters":t[0]||=e=>ee(f)?f.value=e:null,"filters-active":n.filtersActive,"selected-count":y.value.length,"bulk-actions":x.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:M},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),A(`div`,{ref_key:`wrapper`,ref:l,class:`flex-grow overflow-hidden`},[V(S(Ie),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:m(()=>[V(Ot,{filters:S(f),"onUpdate:filters":t[3]||=e=>ee(f)?f.value=e:null,"sort-by":p.value,"onUpdate:sortBy":t[4]||=e=>p.value=e,"sort-dir":h.value,"onUpdate:sortDir":t[5]||=e=>h.value=e,items:n.items,"total-rows":n.totalRows,loading:n.loading,"filters-active":n.filtersActive,"table-height":v.value,onDetail:C,onEdit:w,onRemove:te,onAdd:T,onResetFilters:D,onSelectedChanges:j},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),A(`div`,{ref_key:`paginator`,ref:u,class:`flex justify-center w-full py-4`},[V(S(Ye),{"current-page":g.value,"onUpdate:currentPage":t[6]||=e=>g.value=e,"page-size":_.value,"onUpdate:pageSize":t[7]||=e=>_.value=e,layout:S(o)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:n.allItems.length,onSizeChange:O,onCurrentChange:k},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),At={class:`px-2`},jt={class:`px-5 py-2 text-center`},Mt=D(_({name:`ListSpacesAdjust`,__name:`list-spaces-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let n=e,i=t,a=re(`list-spaces-adjust`),{t:o}=E(),s=z([`type`]),c=xe(n,`filters`,i);return(e,t)=>(r(),B(N,null,[V(S(_e),{teleport:``},{icon:m(()=>[V(S(L),{icon:`mdi:filter`})]),title:m(()=>[w(M(S(o)(`spacesModule.headings.adjustFilters`)),1)]),subtitle:m(()=>[w(M(S(o)(`spacesModule.subHeadings.adjustFilters`)),1)]),_:1}),A(`div`,{class:p([[S(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[V(S(He),{class:`flex-grow`},{default:m(()=>[V(S(Be),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e},{default:m(()=>[V(S(Me),{name:`type`,class:p([S(a).e(`filter-item`)])},{title:m(()=>[V(S(Te),{class:`!px-2`},{default:m(()=>[w(M(S(o)(`spacesModule.filters.type.title`)),1)]),_:1})]),default:m(()=>[A(`div`,At,[V(S(Je),{modelValue:S(c).type,"onUpdate:modelValue":t[0]||=e=>S(c).type=e},{default:m(()=>[V(S(qe),{label:S(o)(`spacesModule.misc.types.room`),value:S(W).ROOM},null,8,[`label`,`value`]),V(S(qe),{label:S(o)(`spacesModule.misc.types.zone`),value:S(W).ZONE},null,8,[`label`,`value`]),V(S(qe),{label:S(o)(`spacesModule.filters.type.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),A(`div`,jt,[V(S(k),{disabled:!n.filtersActive,onClick:t[2]||=e=>i(`reset-filters`)},{icon:m(()=>[V(S(L),{icon:`mdi:filter-remove`})]),default:m(()=>[w(` `+M(S(o)(`spacesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-2f65479c`]]),Nt={saved:e=>typeof e==`object`,cancel:()=>!0,"update:remote-form-changed":e=>typeof e==`boolean`},Pt={class:`flex items-center gap-2`},Ft={class:`font-medium`},It={class:`px-2`},Lt={class:`flex items-center gap-2`},Rt={class:`flex items-center gap-2`},zt={class:`flex items-center gap-2`},Bt={class:`font-medium`},Vt={class:`px-2`},Ht={class:`flex items-center gap-2`},Ut={key:0,class:`flex gap-2 justify-end mt-4`},Wt=_({__name:`space-add-form`,props:{hideActions:{type:Boolean,default:!1}},emits:Nt,setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),{zoneSpaces:c}=$e(),{model:l,formEl:u,formChanged:d,submit:p,formResult:h,createdSpace:g}=at({id:je().toString()}),_=z();b(_,e=>{u.value=e},{immediate:!0});let v=z([`general`,`organization`]),y=te({icon:null,description:null}),x=F({get:()=>l.icon?.replace(`mdi:`,``)??null,set:e=>{l.icon=e?`mdi:${e}`:null}}),{categoryOptions:ee,categoryGroups:T,currentTemplates:D}=st(F(()=>l.type));b(()=>l.type,e=>{l.category&&!Oe(l.category,e)&&(l.category=null,l.icon===y.icon&&(l.icon=null,y.icon=null),l.description===y.description&&(l.description=null,y.description=null)),e===W.ZONE&&(l.parentId=null),_.value?.clearValidate()});let j=e=>{if(e&&D.value[e]){let t=D.value[e];(!l.icon||l.icon===y.icon)&&(l.icon=t.icon,y.icon=t.icon),(!l.description||l.description===y.description)&&(l.description=t.description,y.description=t.description)}},P=F(()=>({name:[{required:!0,message:s(`spacesModule.fields.spaces.name.validation.required`),trigger:`blur`}],category:[{required:l.type===W.ZONE,message:s(`spacesModule.fields.spaces.category.validation.requiredForZone`),trigger:`blur`}]}));b(()=>d.value,e=>{a(`update:remote-form-changed`,e)},{immediate:!0});let I=async()=>{try{await p(),g.value&&a(`saved`,g.value)}catch{}},ne=()=>{a(`cancel`)};return t({submit:I}),(e,t)=>(r(),O(S(be),{ref_key:`formElRef`,ref:_,model:S(l),rules:P.value,"label-position":`top`,onSubmit:ie(I,[`prevent`])},{default:m(()=>[V(S(Be),{modelValue:v.value,"onUpdate:modelValue":t[7]||=e=>v.value=e},{default:m(()=>[V(S(Me),{name:`general`},{title:m(()=>[A(`div`,Pt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1}),A(`span`,Ft,M(S(s)(`spacesModule.edit.sections.general.title`)),1)])]),default:m(()=>[A(`div`,It,[V(S(G),{label:S(s)(`spacesModule.fields.spaces.name.title`),prop:`name`},{default:m(()=>[V(S(we),{modelValue:S(l).name,"onUpdate:modelValue":t[0]||=e=>S(l).name=e,placeholder:S(s)(`spacesModule.fields.spaces.name.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.type.title`),prop:`type`},{default:m(()=>[V(S(We),{modelValue:S(l).type,"onUpdate:modelValue":t[1]||=e=>S(l).type=e},{default:m(()=>[V(S(q),{label:S(s)(`spacesModule.fields.spaces.type.options.room`),value:S(W).ROOM},null,8,[`label`,`value`]),V(S(q),{label:S(s)(`spacesModule.fields.spaces.type.options.zone`),value:S(W).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.category.title`),prop:`category`},{default:m(()=>[V(S(We),{modelValue:S(l).category,"onUpdate:modelValue":t[2]||=e=>S(l).category=e,placeholder:S(s)(`spacesModule.fields.spaces.category.placeholder`),clearable:S(l).type!==S(W).ZONE,onChange:j},{default:m(()=>[S(T)?(r(!0),B(N,{key:0},o(S(T),e=>(r(),O(S(Ve),{key:e.key,label:S(s)(`spacesModule.fields.spaces.category.groups.${e.key}`)},{default:m(()=>[(r(!0),B(N,null,o(e.categories,e=>(r(),O(S(q),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Lt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),B(N,{key:1},o(S(ee),e=>(r(),O(S(q),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Rt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`clearable`])]),_:1},8,[`label`]),V(S(pe),{title:S(s)(`spacesModule.fields.spaces.category.hint`),type:`info`,closable:!1,"show-icon":``,class:`my-2!`},null,8,[`title`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.description.title`),prop:`description`},{default:m(()=>[V(S(we),{modelValue:S(l).description,"onUpdate:modelValue":t[3]||=e=>S(l).description=e,type:`textarea`,rows:3,placeholder:S(s)(`spacesModule.fields.spaces.description.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.icon.title`),prop:`icon`},{default:m(()=>[V(S(de),{modelValue:x.value,"onUpdate:modelValue":t[4]||=e=>x.value=e,placeholder:S(s)(`spacesModule.fields.spaces.icon.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.displayOrder.title`),prop:`displayOrder`},{default:m(()=>[V(S(Ke),{modelValue:S(l).displayOrder,"onUpdate:modelValue":t[5]||=e=>S(l).displayOrder=e,min:0},null,8,[`modelValue`])]),_:1},8,[`label`])])]),_:1}),S(l).type===S(W).ROOM?(r(),O(S(Me),{key:0,name:`organization`},{title:m(()=>[A(`div`,zt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:sitemap`})]),_:1}),A(`span`,Bt,M(S(s)(`spacesModule.edit.sections.organization.title`)),1)])]),default:m(()=>[A(`div`,Vt,[V(S(G),{label:S(s)(`spacesModule.fields.spaces.parentZone.title`),prop:`parentId`},{default:m(()=>[V(S(We),{modelValue:S(l).parentId,"onUpdate:modelValue":t[6]||=e=>S(l).parentId=e,placeholder:S(s)(`spacesModule.fields.spaces.parentZone.placeholder`),clearable:``,filterable:``},{default:m(()=>[(r(!0),B(N,null,o(S(c),e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`span`,Ht,[e.icon?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(pe),{title:S(s)(`spacesModule.edit.sections.organization.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})):C(``,!0)]),_:1},8,[`modelValue`]),i.hideActions?C(``,!0):(r(),B(`div`,Ut,[V(S(k),{onClick:ne},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:S(h)===S(Se).WORKING,onClick:I},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]))]),_:1},8,[`model`,`rules`]))}}),Gt={saved:e=>typeof e==`object`,cancel:()=>!0,"update:remote-form-changed":e=>typeof e==`boolean`},Kt={class:`flex items-center gap-2`},qt={class:`font-medium`},Jt={class:`px-2`},Yt={class:`flex items-center gap-2`},Xt={class:`flex items-center gap-2`},Zt={class:`flex items-center gap-2`},Qt={class:`font-medium`},$t={class:`px-2`},en={class:`flex items-center gap-2`},tn={class:`flex items-center gap-2`},nn={class:`font-medium`},rn={class:`px-2`},an={class:`border border-solid border-gray-200 rounded-lg p-4 mb-2`},on={class:`flex items-center justify-between mb-3`},sn={class:`flex items-center gap-2`},cn={class:`font-medium`},ln={class:`flex items-center gap-2`},un={class:`font-medium`},dn={class:`px-2`},fn={key:0,class:`flex gap-2 justify-end mt-4`},pn=_({__name:`space-edit-form`,props:{space:{},hideActions:{type:Boolean,default:!1}},emits:Gt,setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),{zoneSpaces:c,findById:l}=$e(),{model:u,formEl:d,formChanged:p,submit:h,formResult:g}=nt({space:F(()=>i.space)}),_=z();b(_,e=>{d.value=e},{immediate:!0});let v=z([`general`,`organization`]),y=te({icon:null,description:null}),x=F({get:()=>u.icon?.replace(`mdi:`,``)??null,set:e=>{u.icon=e?`mdi:${e}`:null}}),{categoryOptions:ee,categoryGroups:T,currentTemplates:D}=st(F(()=>u.type)),j=F(()=>c.value.filter(e=>!i.space||e.id!==i.space.id)),P=()=>u.statusWidgets?.find(e=>e.type===De.ENERGY),I=F(()=>!!P()),ne=F(()=>[{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.today`),value:Re.TODAY},{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.week`),value:Re.WEEK},{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.month`),value:Re.MONTH}]),re=F({get:()=>P()?.settings?.range??ue.range,set:e=>{let t=P();t&&(t.settings={...t.settings,range:e})}}),R=F({get:()=>P()?.settings?.showProduction??ue.showProduction,set:e=>{let t=P();t&&(t.settings={...t.settings,showProduction:e})}}),ae=e=>{if(e){let e=u.statusWidgets??[];if(e.some(e=>e.type===De.ENERGY))return;e.push({type:De.ENERGY,order:e.length,settings:{range:ue.range,showProduction:ue.showProduction}}),u.statusWidgets=e}else{let e=(u.statusWidgets??[]).filter(e=>e.type!==De.ENERGY);u.statusWidgets=e.length>0?e:null}};b(()=>u.type,e=>{u.category&&!Oe(u.category,e)&&(u.category=null,u.icon===y.icon&&(u.icon=null,y.icon=null),u.description===y.description&&(u.description=null,y.description=null)),e===W.ZONE&&(u.parentId=null),_.value?.clearValidate()});let oe=e=>{if(e&&D.value[e]){let t=D.value[e];(!u.icon||u.icon===y.icon)&&(u.icon=t.icon,y.icon=t.icon),(!u.description||u.description===y.description)&&(u.description=t.description,y.description=t.description)}},se=F(()=>({name:[{required:!0,message:s(`spacesModule.fields.spaces.name.validation.required`),trigger:`blur`}],category:[{required:u.type===W.ZONE,message:s(`spacesModule.fields.spaces.category.validation.requiredForZone`),trigger:`blur`}]}));b(()=>p.value,e=>{a(`update:remote-form-changed`,e)},{immediate:!0}),b(()=>i.space,e=>{e&&(y.icon=null,y.description=null)});let ce=async()=>{try{await h();let e=l(u.id);e&&a(`saved`,e)}catch{}},le=()=>{a(`cancel`)};return t({submit:ce}),(t,n)=>(r(),O(S(be),{ref_key:`formRef`,ref:_,model:S(u),rules:se.value,"label-position":`top`,onSubmit:ie(ce,[`prevent`])},{default:m(()=>[V(S(Be),{modelValue:v.value,"onUpdate:modelValue":n[9]||=e=>v.value=e},{default:m(()=>[V(S(Me),{name:`general`},{title:m(()=>[A(`div`,Kt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1}),A(`span`,qt,M(S(s)(`spacesModule.edit.sections.general.title`)),1)])]),default:m(()=>[A(`div`,Jt,[V(S(G),{label:S(s)(`spacesModule.fields.spaces.name.title`),prop:`name`},{default:m(()=>[V(S(we),{modelValue:S(u).name,"onUpdate:modelValue":n[0]||=e=>S(u).name=e,placeholder:S(s)(`spacesModule.fields.spaces.name.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.category.title`),prop:`category`},{default:m(()=>[V(S(We),{modelValue:S(u).category,"onUpdate:modelValue":n[1]||=e=>S(u).category=e,placeholder:S(s)(`spacesModule.fields.spaces.category.placeholder`),clearable:S(u).type!==S(W).ZONE,onChange:oe},{default:m(()=>[S(T)?(r(!0),B(N,{key:0},o(S(T),e=>(r(),O(S(Ve),{key:e.key,label:S(s)(`spacesModule.fields.spaces.category.groups.${e.key}`)},{default:m(()=>[(r(!0),B(N,null,o(e.categories,e=>(r(),O(S(q),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Yt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),B(N,{key:1},o(S(ee),e=>(r(),O(S(q),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Xt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`clearable`])]),_:1},8,[`label`]),V(S(pe),{title:S(s)(`spacesModule.fields.spaces.category.hint`),type:`info`,closable:!1,"show-icon":``,class:`!my-2`},null,8,[`title`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.description.title`),prop:`description`},{default:m(()=>[V(S(we),{modelValue:S(u).description,"onUpdate:modelValue":n[2]||=e=>S(u).description=e,type:`textarea`,rows:3,placeholder:S(s)(`spacesModule.fields.spaces.description.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.icon.title`),prop:`icon`},{default:m(()=>[V(S(de),{modelValue:x.value,"onUpdate:modelValue":n[3]||=e=>x.value=e,placeholder:S(s)(`spacesModule.fields.spaces.icon.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(G),{label:S(s)(`spacesModule.fields.spaces.displayOrder.title`),prop:`displayOrder`},{default:m(()=>[V(S(Ke),{modelValue:S(u).displayOrder,"onUpdate:modelValue":n[4]||=e=>S(u).displayOrder=e,min:0},null,8,[`modelValue`])]),_:1},8,[`label`])])]),_:1}),S(u).type===S(W).ROOM?(r(),O(S(Me),{key:0,name:`organization`},{title:m(()=>[A(`div`,Zt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:sitemap`})]),_:1}),A(`span`,Qt,M(S(s)(`spacesModule.edit.sections.organization.title`)),1)])]),default:m(()=>[A(`div`,$t,[V(S(G),{label:S(s)(`spacesModule.fields.spaces.parentZone.title`),prop:`parentId`},{default:m(()=>[V(S(We),{modelValue:S(u).parentId,"onUpdate:modelValue":n[5]||=e=>S(u).parentId=e,placeholder:S(s)(`spacesModule.fields.spaces.parentZone.placeholder`),clearable:``,filterable:``},{default:m(()=>[(r(!0),B(N,null,o(j.value,e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`span`,en,[e.icon?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(pe),{title:S(s)(`spacesModule.edit.sections.organization.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})):C(``,!0),V(S(Me),{name:`statusWidgets`},{title:m(()=>[A(`div`,tn,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:view-dashboard-variant`})]),_:1}),A(`span`,nn,M(S(s)(`spacesModule.edit.sections.statusWidgets.title`)),1)])]),default:m(()=>[A(`div`,rn,[V(S(pe),{title:S(s)(`spacesModule.edit.sections.statusWidgets.hint`),type:`info`,closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`]),A(`div`,an,[A(`div`,on,[A(`div`,sn,[V(S(L),{icon:`mdi:flash-outline`,class:`text-lg`}),A(`span`,cn,M(S(s)(`spacesModule.fields.spaces.statusWidgets.energy.title`)),1)]),V(S(ve),{"model-value":I.value,onChange:ae},null,8,[`model-value`])]),I.value?(r(),B(N,{key:0},[V(S(G),{label:S(s)(`spacesModule.fields.spaces.statusWidgets.energy.range.title`)},{default:m(()=>[V(S(xt),{modelValue:re.value,"onUpdate:modelValue":n[6]||=e=>re.value=e,options:ne.value,block:``},null,8,[`modelValue`,`options`])]),_:1},8,[`label`]),V(S(G),{"label-position":`left`},{label:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.statusWidgets.energy.showProduction.title`)),1)]),default:m(()=>[V(S(ve),{modelValue:R.value,"onUpdate:modelValue":n[7]||=e=>R.value=e},null,8,[`modelValue`])]),_:1})],64)):C(``,!0)])])]),_:1}),V(S(Me),{name:`smartOverrides`},{title:m(()=>[A(`div`,ln,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:tune`})]),_:1}),A(`span`,un,M(S(s)(`spacesModule.edit.sections.smartOverrides.title`)),1),V(S(J),{size:`small`,type:`info`},{default:m(()=>[w(M(S(s)(`spacesModule.edit.sections.smartOverrides.badge`)),1)]),_:1})])]),default:m(()=>[A(`div`,dn,[V(S(pe),{title:S(s)(`spacesModule.edit.sections.smartOverrides.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`]),V(S(G),{prop:`suggestionsEnabled`,"label-position":`left`},{label:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.suggestionsEnabled.title`)),1)]),default:m(()=>[V(S(ve),{modelValue:S(u).suggestionsEnabled,"onUpdate:modelValue":n[8]||=e=>S(u).suggestionsEnabled=e},null,8,[`modelValue`])]),_:1}),V(S(pe),{title:S(s)(`spacesModule.fields.spaces.suggestionsEnabled.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})]),_:1},8,[`modelValue`]),e.hideActions?C(``,!0):(r(),B(`div`,fn,[V(S(k),{onClick:le},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:S(g)===S(Se).WORKING,onClick:ce},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]))]),_:1},8,[`model`,`rules`]))}}),mn={key:1,class:`flex justify-center py-4`},hn={class:`flex items-center gap-2`},gn={class:`flex flex-col`},_n={key:0,class:`text-xs text-gray-400`},vn={class:`flex gap-1`},yn={class:`flex justify-between items-center mt-4`},bn={class:`text-xs text-gray-400`},xn=_({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=Ae(),{lightingSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:Z.main,label:n(`spacesModule.lightingRoles.main`)},{value:Z.task,label:n(`spacesModule.lightingRoles.task`)},{value:Z.ambient,label:n(`spacesModule.lightingRoles.ambient`)},{value:Z.accent,label:n(`spacesModule.lightingRoles.accent`)},{value:Z.night,label:n(`spacesModule.lightingRoles.night`)},{value:Z.other,label:n(`spacesModule.lightingRoles.other`)},{value:Z.hidden,label:n(`spacesModule.lightingRoles.hidden`)}]),h=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/lighting/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasBrightness:e.has_brightness??!1,hasColorTemp:e.has_color_temp??!1,hasColor:e.has_color??!1}))}finally{l.value=!1}},g=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/lighting/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update lighting role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear lighting role`);return}e.role=null}}catch{a.error(`Failed to update lighting role`)}},_=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await h(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&h()}),b(()=>s?.value,()=>{t.space?.id&&h()}),c(()=>{t.space?.id&&h()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(H),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,mn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,hn,[V(S(L),{icon:`mdi:lightbulb`}),A(`div`,gn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,_n,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.lightingRoles.role.title`),width:`160`},{default:m(({row:e})=>[V(S(We),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>g(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`100`},{default:m(({row:e})=>[A(`div`,vn,[e.hasBrightness?(r(),O(S(J),{key:0,type:`info`,size:`small`},{default:m(()=>[...i[0]||=[w(`Dim`,-1)]]),_:1})):C(``,!0),e.hasColor?(r(),O(S(J),{key:1,type:`success`,size:`small`},{default:m(()=>[...i[1]||=[w(`RGB`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,yn,[V(S(k),{size:`small`,loading:u.value,onClick:_},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,bn,M(S(n)(`spacesModule.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:lightbulb`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),Sn={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Cn={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},wn={key:0,class:`flex items-center gap-2 flex-wrap`},Tn={class:`flex items-center gap-1`},En={class:`space-y-2`},Dn={class:`text-sm font-medium mb-1`},On={class:`list-none p-0 m-0 space-y-1`},kn={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},An=_({name:`SpaceLightingRolesSummary`,__name:`space-lighting-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{lightingSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case Z.main:return`primary`;case Z.task:return`warning`;case Z.ambient:return`success`;case Z.accent:return`danger`;case Z.night:return`info`;case Z.other:default:return`info`}},g=e=>{switch(e){case Z.main:return`mdi:lightbulb`;case Z.task:return`mdi:desk-lamp`;case Z.ambient:return`mdi:lightbulb-group`;case Z.accent:return`mdi:spotlight-beam`;case Z.night:return`mdi:weather-night`;case Z.other:default:return`mdi:lightbulb-outline`}},_=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name})}let a=[Z.main,Z.task,Z.ambient,Z.accent,Z.night,Z.other];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&_()}),b(()=>u?.value,()=>{i.space?.id&&_()}),c(()=>{i.space?.id&&_()}),t({reload:_}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,Sn,M(S(s)(`spacesModule.detail.lightingRoles.title`)),1),A(`dd`,Cn,[f.value.length>0?(r(),B(`div`,wn,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(J),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,Tn,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.lightingRoles.${e.role}`))+` `,1),V(S(Ce),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,En,[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.lightingRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Dn,M(S(s)(`spacesModule.detail.lightingRoles.lightsAssigned`))+`: `,1),A(`ul`,On,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:`mdi:lightbulb-outline`,class:`text-gray-400`}),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,kn,[V(S(L),{icon:`mdi:lightbulb`}),w(` `+M(S(s)(`spacesModule.detail.lightingRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),jn={key:1,class:`flex justify-center py-4`},Mn={class:`flex items-center gap-2`},Nn={class:`flex flex-col`},Pn={key:0,class:`text-xs text-gray-400`},Fn={class:`flex gap-1`},In={class:`flex justify-between items-center mt-4`},Ln={class:`text-xs text-gray-400 ml-4`},Rn=_({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=Ae(),{climateSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:X.heating_only,label:n(`spacesModule.climateRoles.${X.heating_only}`)},{value:X.cooling_only,label:n(`spacesModule.climateRoles.${X.cooling_only}`)},{value:X.auto,label:n(`spacesModule.climateRoles.${X.auto}`)},{value:X.auxiliary,label:n(`spacesModule.climateRoles.${X.auxiliary}`)},{value:X.hidden,label:n(`spacesModule.climateRoles.${X.hidden}`)}]),h=F(()=>[{value:X.sensor,label:n(`spacesModule.climateRoles.${X.sensor}`)},{value:X.hidden,label:n(`spacesModule.climateRoles.${X.hidden}`)}]),g=e=>e.deviceCategory===`sensor`?h.value:f.value,_=e=>{switch(e){case`thermostat`:return`mdi:thermostat`;case`heating_unit`:return`mdi:radiator`;case`water_heater`:return`mdi:water-boiler`;case`air_conditioner`:return`mdi:air-conditioner`;case`fan`:return`mdi:fan`;case`air_humidifier`:return`mdi:air-humidifier`;case`air_dehumidifier`:return`mdi:air-humidifier-off`;case`air_purifier`:return`mdi:air-purifier`;case`sensor`:return`mdi:thermometer`;default:return`mdi:thermostat-box`}},v=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/climate/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``,channelId:e.channel_id??null,channelName:e.channel_name??null,role:e.role?e.role:null,priority:e.priority??0,hasTemperature:e.has_temperature??!1,hasHumidity:e.has_humidity??!1}))}finally{l.value=!1}},y=async(e,n)=>{try{if(n){let r={device_id:e.deviceId,role:n};e.channelId&&(r.channel_id=e.channelId);let{error:o}=await i.client.POST(`/${I}/${K}/spaces/{id}/climate/roles`,{params:{path:{id:t.space.id}},body:{data:r}});if(o){a.error(`Failed to update climate role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(n){a.error(`Failed to clear climate role`);return}e.role=null}}catch{a.error(`Failed to update climate role`)}},x=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await v(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&v()}),b(()=>s?.value,()=>{t.space?.id&&v()}),c(()=>{t.space?.id&&v()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(H),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,jn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,Mn,[V(S(L),{icon:_(e.deviceCategory)},null,8,[`icon`]),A(`div`,Nn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,Pn,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.climateRoles.role.title`),width:`200`},{default:m(({row:e})=>[V(S(We),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>y(e,t)},{default:m(()=>[(r(!0),B(N,null,o(g(e),e=>(r(),O(S(q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`120`},{default:m(({row:e})=>[A(`div`,Fn,[e.hasTemperature?(r(),O(S(J),{key:0,type:`warning`,size:`small`},{default:m(()=>[...i[0]||=[w(`Temp`,-1)]]),_:1})):C(``,!0),e.hasHumidity?(r(),O(S(J),{key:1,type:`info`,size:`small`},{default:m(()=>[...i[1]||=[w(`Humid`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,In,[V(S(k),{size:`small`,loading:u.value,onClick:x},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,Ln,M(S(n)(`spacesModule.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:thermostat`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),zn={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Bn={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},Vn={key:0,class:`flex items-center gap-2 flex-wrap`},Hn={class:`flex items-center gap-1`},Un={class:`space-y-2`},Wn={class:`text-sm font-medium mb-1`},Gn={class:`list-none p-0 m-0 space-y-1`},Kn={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},qn=_({name:`SpaceClimateRolesSummary`,__name:`space-climate-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{climateSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case X.heating_only:return`danger`;case X.cooling_only:return`primary`;case X.auto:return`success`;case X.auxiliary:return`warning`;case X.sensor:return`info`;case X.hidden:default:return`info`}},g=e=>{switch(e){case X.heating_only:return`mdi:fire`;case X.cooling_only:return`mdi:snowflake`;case X.auto:return`mdi:thermostat-auto`;case X.auxiliary:return`mdi:radiator`;case X.sensor:return`mdi:thermometer`;case X.hidden:default:return`mdi:eye-off`}},_=e=>{switch(e){case`thermostat`:return`mdi:thermostat`;case`heating_unit`:return`mdi:radiator`;case`water_heater`:return`mdi:water-boiler`;case`air_conditioner`:return`mdi:air-conditioner`;case`fan`:return`mdi:fan`;case`air_humidifier`:return`mdi:air-humidifier`;case`air_dehumidifier`:return`mdi:air-humidifier-off`;case`air_purifier`:return`mdi:air-purifier`;case`sensor`:return`mdi:thermometer`;default:return`mdi:thermostat-box`}},v=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role||e.role===X.hidden)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``})}let a=[X.heating_only,X.cooling_only,X.auto,X.auxiliary,X.sensor,X.hidden];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&v()}),b(()=>u?.value,()=>{i.space?.id&&v()}),c(()=>{i.space?.id&&v()}),t({reload:v}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,zn,M(S(s)(`spacesModule.detail.climateRoles.title`)),1),A(`dd`,Bn,[f.value.length>0?(r(),B(`div`,Vn,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(J),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,Hn,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.climateRoles.${e.role}`))+` `,1),V(S(Ce),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,Un,[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.climateRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Wn,M(S(s)(`spacesModule.detail.climateRoles.devicesAssigned`))+`: `,1),A(`ul`,Gn,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:e.deviceId,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:_(e.deviceCategory),class:`text-gray-400`},null,8,[`icon`]),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,Kn,[V(S(L),{icon:`mdi:thermostat`}),w(` `+M(S(s)(`spacesModule.detail.climateRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),Jn={key:1,class:`flex justify-center py-4`},Yn={class:`flex items-center gap-2`},Xn={class:`flex flex-col`},Zn={key:0,class:`text-xs text-gray-400`},Qn={class:`flex gap-1`},$n={class:`flex justify-between items-center mt-4`},er={class:`text-xs text-gray-400`},tr=_({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=Ae(),{coversSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:Q.primary,label:n(`spacesModule.coversRoles.primary`)},{value:Q.blackout,label:n(`spacesModule.coversRoles.blackout`)},{value:Q.sheer,label:n(`spacesModule.coversRoles.sheer`)},{value:Q.outdoor,label:n(`spacesModule.coversRoles.outdoor`)},{value:Q.hidden,label:n(`spacesModule.coversRoles.hidden`)}]),h=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/covers/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasPosition:e.has_position??!1,hasCommand:e.has_command??!1,hasTilt:e.has_tilt??!1,coverType:e.cover_type??null}))}finally{l.value=!1}},g=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/covers/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update covers role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear covers role`);return}e.role=null}}catch{a.error(`Failed to update covers role`)}},_=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await h(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&h()}),b(()=>s?.value,()=>{t.space?.id&&h()}),c(()=>{t.space?.id&&h()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(H),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,Jn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,Yn,[V(S(L),{icon:`mdi:blinds`}),A(`div`,Xn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,Zn,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.coversRoles.role.title`),width:`160`},{default:m(({row:e})=>[V(S(We),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>g(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`100`},{default:m(({row:e})=>[A(`div`,Qn,[e.hasPosition?(r(),O(S(J),{key:0,type:`info`,size:`small`},{default:m(()=>[...i[0]||=[w(`Pos`,-1)]]),_:1})):C(``,!0),e.hasTilt?(r(),O(S(J),{key:1,type:`success`,size:`small`},{default:m(()=>[...i[1]||=[w(`Tilt`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,$n,[V(S(k),{size:`small`,loading:u.value,onClick:_},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,er,M(S(n)(`spacesModule.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:blinds`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),nr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},rr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},ir={key:0,class:`flex items-center gap-2 flex-wrap`},ar={class:`flex items-center gap-1`},or={class:`space-y-2`},sr={class:`text-sm font-medium mb-1`},cr={class:`list-none p-0 m-0 space-y-1`},lr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},ur=_({name:`SpaceCoversRolesSummary`,__name:`space-covers-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{coversSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case Q.primary:return`primary`;case Q.blackout:return`danger`;case Q.sheer:return`success`;case Q.outdoor:return`warning`;case Q.hidden:default:return`info`}},g=e=>{switch(e){case Q.primary:return`mdi:blinds`;case Q.blackout:return`mdi:blinds-horizontal-closed`;case Q.sheer:return`mdi:curtains`;case Q.outdoor:return`mdi:window-shutter`;case Q.hidden:default:return`mdi:blinds-horizontal`}},_=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name})}let a=[Q.primary,Q.blackout,Q.sheer,Q.outdoor,Q.hidden];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&_()}),b(()=>u?.value,()=>{i.space?.id&&_()}),c(()=>{i.space?.id&&_()}),t({reload:_}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,nr,M(S(s)(`spacesModule.detail.coversRoles.title`)),1),A(`dd`,rr,[f.value.length>0?(r(),B(`div`,ir,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(J),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,ar,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.coversRoles.${e.role}`))+` `,1),V(S(Ce),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,or,[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.coversRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,sr,M(S(s)(`spacesModule.detail.coversRoles.coversAssigned`))+`: `,1),A(`ul`,cr,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:`mdi:blinds-horizontal`,class:`text-gray-400`}),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,lr,[V(S(L),{icon:`mdi:blinds`}),w(` `+M(S(s)(`spacesModule.detail.coversRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),dr={key:1,class:`flex justify-center py-4`},fr={class:`flex items-center gap-2`},pr={class:`flex flex-col`},mr={class:`text-xs text-gray-400`},hr={class:`flex justify-between items-center mt-4`},gr={class:`text-xs text-gray-400 ml-4`},_r=_({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=Ae(),{sensorSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>me.map(e=>({value:e,label:n(`spacesModule.sensorRoles.${e}`)}))),h=e=>{switch(e){case`temperature`:return n(`spacesModule.sensorRoles.categories.temperature`);case`humidity`:return n(`spacesModule.sensorRoles.categories.humidity`);case`pressure`:return n(`spacesModule.sensorRoles.categories.pressure`);case`illuminance`:return n(`spacesModule.sensorRoles.categories.illuminance`);case`smoke`:return n(`spacesModule.sensorRoles.categories.smoke`);case`gas`:return n(`spacesModule.sensorRoles.categories.gas`);case`carbon_monoxide`:return n(`spacesModule.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return n(`spacesModule.sensorRoles.categories.carbon_dioxide`);case`leak`:return n(`spacesModule.sensorRoles.categories.leak`);case`motion`:return n(`spacesModule.sensorRoles.categories.motion`);case`occupancy`:return n(`spacesModule.sensorRoles.categories.occupancy`);case`contact`:return n(`spacesModule.sensorRoles.categories.contact`);case`air_quality`:return n(`spacesModule.sensorRoles.categories.air_quality`);case`air_particulate`:return n(`spacesModule.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return n(`spacesModule.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return n(`spacesModule.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return n(`spacesModule.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return n(`spacesModule.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return n(`spacesModule.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return n(`spacesModule.sensorRoles.categories.electrical_generation`);case`electrical_power`:return n(`spacesModule.sensorRoles.categories.electrical_power`);case`battery`:return n(`spacesModule.sensorRoles.categories.battery`);default:return e}},g=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/sensors/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map((e,t)=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category,role:e.role?e.role:null,priority:e.priority??t}))}finally{l.value=!1}},_=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/sensors/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update sensor role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear sensor role`);return}e.role=null}}catch{a.error(`Failed to update sensor role`)}},v=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await g(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&g()}),b(()=>s?.value,()=>{t.space?.id&&g()}),c(()=>{t.space?.id&&g()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(H),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,dr,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,fr,[V(S(L),{icon:`mdi:motion-sensor`}),A(`div`,pr,[A(`span`,null,M(e.deviceName),1),A(`span`,mr,M(e.channelName),1)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:m(({row:e})=>[V(S(J),{size:`small`,type:`info`},{default:m(()=>[w(M(h(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.sensorRoles.role.title`),width:`200`},{default:m(({row:e})=>[V(S(We),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>_(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`]),A(`div`,hr,[V(S(k),{size:`small`,loading:u.value,onClick:v},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,gr,M(S(n)(`spacesModule.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:motion-sensor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),vr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},yr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},br={key:0,class:`flex items-center gap-2 flex-wrap`},xr={class:`flex items-center gap-1`},Sr={class:`space-y-2`},Cr={class:`text-sm font-medium mb-1`},wr={class:`list-none p-0 m-0 space-y-1`},Tr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},Er=_({name:`SpaceSensorRolesSummary`,__name:`space-sensor-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{sensorSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case U.ENVIRONMENT:return`success`;case U.SAFETY:return`danger`;case U.SECURITY:return`warning`;case U.AIR_QUALITY:return`info`;case U.ENERGY:return`primary`;case U.OTHER:case U.HIDDEN:default:return`info`}},g=e=>{switch(e){case U.ENVIRONMENT:return`mdi:thermometer`;case U.SAFETY:return`mdi:shield-alert`;case U.SECURITY:return`mdi:motion-sensor`;case U.AIR_QUALITY:return`mdi:air-filter`;case U.ENERGY:return`mdi:lightning-bolt`;case U.HIDDEN:return`mdi:eye-off`;case U.OTHER:default:return`mdi:chart-line`}},_=e=>{switch(e){case`temperature`:return`mdi:thermometer`;case`humidity`:return`mdi:water-percent`;case`pressure`:return`mdi:gauge`;case`illuminance`:return`mdi:weather-sunny`;case`smoke`:case`gas`:case`carbon_monoxide`:case`carbon_dioxide`:return`mdi:alert`;case`leak`:return`mdi:water-alert`;case`motion`:case`occupancy`:return`mdi:walk`;case`contact`:return`mdi:door-closed`;case`air_quality`:case`air_particulate`:case`nitrogen_dioxide`:case`ozone`:case`sulphur_dioxide`:case`volatile_organic_compounds`:return`mdi:air-filter`;case`electrical_energy`:case`electrical_power`:return`mdi:lightning-bolt`;case`battery`:return`mdi:battery`;default:return`mdi:chart-bell-curve`}},v=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role||e.role===U.HIDDEN)continue;let t=e.role;r.has(t)||r.set(t,{role:t,sensors:[]}),r.get(t).sensors.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category})}f.value=Array.from(r.values()).sort((e,t)=>me.indexOf(e.role)-me.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&v()}),b(()=>u?.value,()=>{i.space?.id&&v()}),c(()=>{i.space?.id&&v()}),t({reload:v}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,vr,M(S(s)(`spacesModule.detail.sensorRoles.title`)),1),A(`dd`,yr,[f.value.length>0?(r(),B(`div`,br,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(J),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,xr,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.sensorRoles.${e.role}`))+` `,1),V(S(Ce),{value:e.sensors.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,Sr,[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.sensorRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Cr,M(S(s)(`spacesModule.detail.sensorRoles.sensorsAssigned`))+`: `,1),A(`ul`,wr,[(r(!0),B(N,null,o(e.sensors,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:_(e.channelCategory),class:`text-gray-400`},null,8,[`icon`]),A(`span`,null,M(e.deviceName)+` — `+M(e.channelName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,Tr,[V(S(L),{icon:`mdi:chart-bell-curve`}),w(` `+M(S(s)(`spacesModule.detail.sensorRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),Dr=_({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ne),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(xn,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Or=_({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ne),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(Rn,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),kr=_({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ne),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(tr,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Ar=_({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ne),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(_r,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),jr=[`element-loading-text`],Mr={class:`flex items-center gap-3 flex-1 pr-2`},Nr={class:`font-medium text-sm`},Pr={class:`flex items-center justify-between w-full`},Fr={class:`flex gap-1 ml-2`},Ir={class:`flex items-center justify-between w-full`},Lr={class:`flex gap-1 ml-2`},Rr={class:`flex items-center justify-between w-full`},zr={class:`flex gap-1 ml-2`},Br={class:`flex justify-between items-center mt-2`},Vr={class:`flex items-center gap-2`},Hr={class:`text-xs text-gray-400`},Ur=_({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(t,{emit:i}){let a=t,s=i,{t:c}=E(),l=Ae(),u=F({get:()=>a.visible,set:e=>s(`update:visible`,e)}),{endpoints:d,activeState:f,fetchingEndpoints:h,fetchingBindings:g,activating:_,deactivating:v,applyingDefaults:y,activationError:x,fetchEndpoints:ee,fetchBindings:T,fetchActiveState:D,activate:j,deactivate:P,saveBinding:I,createBinding:ne,deleteBinding:re,applyDefaults:R,findBindingByActivity:ae,endpointsByType:oe}=ut(F(()=>a.space?.id)),se=[Y.watch,Y.listen,Y.gaming,Y.background],ce=z(``),le=z(null),H=z(!1),ue=F(()=>h.value||g.value),de=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),U=te({[Y.watch]:de(),[Y.listen]:de(),[Y.gaming]:de(),[Y.background]:de()}),fe=te({[Y.watch]:de(),[Y.listen]:de(),[Y.gaming]:de(),[Y.background]:de()}),me=te({[Y.watch]:!1,[Y.listen]:!1,[Y.gaming]:!1,[Y.background]:!1}),he=te({[Y.watch]:null,[Y.listen]:null,[Y.gaming]:null,[Y.background]:null}),W=oe(Fe.display),_e=oe(Fe.audio_output),ve=oe(Fe.source),ye=oe(Fe.remote_target),xe=(e,t)=>{U[e].displayEndpointId=t?.displayEndpointId??``,U[e].audioEndpointId=t?.audioEndpointId??``,U[e].sourceEndpointId=t?.sourceEndpointId??``,U[e].remoteEndpointId=t?.remoteEndpointId??``,U[e].displayInputId=t?.displayInputId??``,U[e].audioInputId=t?.audioInputId??``,U[e].sourceInputId=t?.sourceInputId??``,U[e].audioVolumePreset=t?.audioVolumePreset??30,Object.assign(fe[e],{...U[e]})},Se=()=>{for(let e of se)xe(e,ae(e))},K=e=>{let t=U[e],n=fe[e];return t.displayEndpointId!==n.displayEndpointId||t.audioEndpointId!==n.audioEndpointId||t.sourceEndpointId!==n.sourceEndpointId||t.remoteEndpointId!==n.remoteEndpointId||t.displayInputId!==n.displayInputId||t.audioInputId!==n.audioInputId||t.sourceInputId!==n.sourceInputId||t.audioVolumePreset!==n.audioVolumePreset},Ce=(e,t)=>{let n=U[e][t];return n?d.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},Te=e=>{let t=U[e].audioEndpointId;return t?d.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Ee=e=>{let t=d.value.find(t=>t.endpointId===e);return t?.links?.inputSelect?.dataType===`enum`&&Array.isArray(t.links.inputSelect.format)&&t.links.inputSelect.format.length>0?{type:`select`,options:t.links.inputSelect.format}:{type:`text`}},De=e=>{let t=Ee(e);return t.type===`select`?t.options:[]},Oe=e=>{let t=`spacesModule.media.activities.mediaInputSources.${e}`,n=c(t);return n===t?String(e):n},ke=e=>{let t=` (${c(`spacesModule.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},je=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Pe=e=>{let t=f.value?.activityKey===e&&f.value?.state!==`deactivated`,n=t?f.value.state:void 0,r=ae(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},Ie=e=>{let{isActive:t,state:n}=Pe(e);return t&&n?je(n):tt(e)},X=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Pe(e);return c(t?`spacesModule.media.activities.activationState.${n}`:r?i?`spacesModule.media.activities.status.configured`:`spacesModule.media.activities.status.incomplete`:`spacesModule.media.activities.status.unconfigured`)},Le=new Map,Re=e=>{let t=U[e];return{displayEndpointId:t.displayEndpointId||null,audioEndpointId:t.audioEndpointId||null,sourceEndpointId:t.sourceEndpointId||null,remoteEndpointId:t.remoteEndpointId||null,displayInputId:Ce(e,`displayEndpointId`)&&t.displayInputId||null,audioInputId:Ce(e,`audioEndpointId`)&&t.audioInputId||null,sourceInputId:Ce(e,`sourceEndpointId`)&&t.sourceInputId||null,audioVolumePreset:Te(e)?t.audioVolumePreset:null}},ze=async e=>{if(!me[e]){me[e]=!0,he[e]=null;try{let t=ae(e),n=Re(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...U[e]};r&&t?(await re(t.id),xe(e,void 0),Object.assign(fe[e],i)):r?Object.assign(fe[e],i):t?(await I(t.id,n),Object.assign(fe[e],i)):(await ne(e,n),Object.assign(fe[e],i))}catch(t){he[e]=t instanceof Error?t.message:`Failed to save`}finally{me[e]=!1}}},Z=e=>{let t=Le.get(e);t&&clearTimeout(t),Le.set(e,setTimeout(()=>{Le.delete(e),ze(e)},500))};for(let e of se)b(()=>U[e],()=>{!H.value||!K(e)||Z(e)},{deep:!0}),b(()=>U[e].displayEndpointId,()=>{H.value&&(U[e].displayInputId=``)}),b(()=>U[e].audioEndpointId,()=>{H.value&&(U[e].audioInputId=``,U[e].audioVolumePreset=30)}),b(()=>U[e].sourceEndpointId,()=>{H.value&&(U[e].sourceInputId=``)});let Q=async e=>{le.value=e;try{await j(e),l.success(c(`spacesModule.media.activities.activateSuccess`))}catch{l.error(c(`spacesModule.media.activities.activateFailed`))}finally{le.value=null}},Ve=async()=>{try{await P(),l.success(c(`spacesModule.media.activities.deactivateSuccess`))}catch{x.value=null,l.error(c(`spacesModule.media.activities.deactivateFailed`))}},He=async()=>{H.value=!1;try{await R(),Se(),l.success(c(`spacesModule.media.activities.defaultsApplied`))}catch{l.error(c(`spacesModule.media.activities.defaultsFailed`))}await n(),H.value=!0},Ue=async()=>{H.value=!1,await Promise.all([ee(),T(),D()]),Se(),await n(),H.value=!0},$=async()=>{H.value=!1;let e=[],t=new Set;for(let[n,r]of Le)clearTimeout(r),t.add(n),e.push(ze(n));Le.clear();for(let n of se)!t.has(n)&&K(n)&&e.push(ze(n));await Promise.allSettled(e),s(`bindings-changed`),u.value=!1};return(t,n)=>(r(),O(S(Ne),{modelValue:u.value,"onUpdate:modelValue":n[2]||=e=>u.value=e,title:S(c)(`spacesModule.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:Ue,onClose:$},{footer:m(()=>[V(S(k),{type:`primary`,onClick:$},{default:m(()=>[w(M(S(c)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[e((r(),B(`div`,{"element-loading-text":S(c)(`spacesModule.media.activities.loading`),class:`flex flex-col gap-4`},[V(S(pe),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:m(()=>[w(M(S(c)(`spacesModule.media.activities.description`)),1)]),_:1}),V(S(Be),{modelValue:ce.value,"onUpdate:modelValue":n[0]||=e=>ce.value=e,accordion:``},{default:m(()=>[(r(),B(N,null,o(se,e=>V(S(Me),{key:e,name:e},{title:m(()=>[A(`div`,Mr,[V(S(L),{icon:S(ot)(e),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),A(`span`,Nr,M(S(c)(`spacesModule.media.activityLabels.${e}`)),1),V(S(J),{type:Ie(e),size:`small`,round:``},{default:m(()=>[w(M(X(e)),1)]),_:2},1032,[`type`]),me[e]?(r(),O(S(L),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):C(``,!0),n[3]||=A(`div`,{class:`flex-1`},null,-1),V(S(k),{size:`small`,type:`success`,circle:``,loading:S(_)&&le.value===e,disabled:S(_)||S(v)||S(f)?.state===`activating`,title:S(c)(`spacesModule.media.activities.run`),onClick:ie(t=>Q(e),[`stop`])},{icon:m(()=>[V(S(L),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:m(()=>[V(S(be),{"label-position":`top`,class:`flex flex-col gap-2`},{default:m(()=>[A(`div`,{class:p(Ce(e,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(G),{label:S(c)(`spacesModule.media.activities.slots.display`)},{default:m(()=>[V(S(We),{modelValue:U[e].displayEndpointId,"onUpdate:modelValue":t=>U[e].displayEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(W),e=>(r(),O(S(q),{key:e.endpointId,label:ke(e),value:e.endpointId},{default:m(()=>[A(`div`,Pr,[A(`span`,null,M(ke(e)),1),A(`div`,Fr,[e.capabilities.inputSelect?(r(),O(S(J),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`displayEndpointId`)?(r(),O(S(G),{key:0,label:S(c)(`spacesModule.media.activities.overrides.displayInput`)},{default:m(()=>[Ee(U[e].displayEndpointId).type===`select`?(r(),O(S(We),{key:0,modelValue:U[e].displayInputId,"onUpdate:modelValue":t=>U[e].displayInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].displayEndpointId),e=>(r(),O(S(q),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(we),{key:1,modelValue:U[e].displayInputId,"onUpdate:modelValue":t=>U[e].displayInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),A(`div`,{class:p(Ce(e,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(G),{label:S(c)(`spacesModule.media.activities.slots.audio`)},{default:m(()=>[V(S(We),{modelValue:U[e].audioEndpointId,"onUpdate:modelValue":t=>U[e].audioEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(_e),e=>(r(),O(S(q),{key:e.endpointId,label:ke(e),value:e.endpointId},{default:m(()=>[A(`div`,Ir,[A(`span`,null,M(ke(e)),1),A(`div`,Lr,[e.capabilities.volume?(r(),O(S(J),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.volume`)),1)]),_:1})):C(``,!0),e.capabilities.inputSelect?(r(),O(S(J),{key:1,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`audioEndpointId`)?(r(),O(S(G),{key:0,label:S(c)(`spacesModule.media.activities.overrides.audioInput`)},{default:m(()=>[Ee(U[e].audioEndpointId).type===`select`?(r(),O(S(We),{key:0,modelValue:U[e].audioInputId,"onUpdate:modelValue":t=>U[e].audioInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].audioEndpointId),e=>(r(),O(S(q),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(we),{key:1,modelValue:U[e].audioInputId,"onUpdate:modelValue":t=>U[e].audioInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),Te(e)?(r(),O(S(G),{key:0,label:S(c)(`spacesModule.media.activities.overrides.audioVolume`)},{default:m(()=>[V(S(Xe),{modelValue:U[e].audioVolumePreset,"onUpdate:modelValue":t=>U[e].audioVolumePreset=t,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):C(``,!0),A(`div`,{class:p(Ce(e,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(G),{label:S(c)(`spacesModule.media.activities.slots.source`)},{default:m(()=>[V(S(We),{modelValue:U[e].sourceEndpointId,"onUpdate:modelValue":t=>U[e].sourceEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(ve),e=>(r(),O(S(q),{key:e.endpointId,label:ke(e),value:e.endpointId},{default:m(()=>[A(`div`,Rr,[A(`span`,null,M(ke(e)),1),A(`div`,zr,[e.capabilities.inputSelect?(r(),O(S(J),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`sourceEndpointId`)?(r(),O(S(G),{key:0,label:S(c)(`spacesModule.media.activities.overrides.sourceInput`)},{default:m(()=>[Ee(U[e].sourceEndpointId).type===`select`?(r(),O(S(We),{key:0,modelValue:U[e].sourceInputId,"onUpdate:modelValue":t=>U[e].sourceInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].sourceEndpointId),e=>(r(),O(S(q),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(we),{key:1,modelValue:U[e].sourceInputId,"onUpdate:modelValue":t=>U[e].sourceInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),V(S(G),{label:S(c)(`spacesModule.media.activities.slots.remote`)},{default:m(()=>[V(S(We),{modelValue:U[e].remoteEndpointId,"onUpdate:modelValue":t=>U[e].remoteEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(ye),e=>(r(),O(S(q),{key:e.endpointId,label:ke(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),he[e]?(r(),O(S(pe),{key:1,type:`error`,title:S(c)(`spacesModule.media.activities.saveError`),description:he[e],"show-icon":``,closable:``,onClose:t=>he[e]=null},null,8,[`title`,`description`,`onClose`])):C(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),A(`div`,Br,[A(`div`,Vr,[V(S(k),{size:`small`,loading:S(y),onClick:He},{default:m(()=>[w(M(S(c)(`spacesModule.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),S(f)&&S(f).state!==`deactivated`?(r(),O(S(k),{key:0,size:`small`,type:`warning`,loading:S(v),disabled:S(_),onClick:Ve},{icon:m(()=>[V(S(L),{icon:`mdi:stop`})]),default:m(()=>[w(` `+M(S(c)(`spacesModule.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):C(``,!0)]),A(`div`,Hr,M(S(c)(`spacesModule.media.activities.applyDefaultsHint`)),1)]),S(x)?(r(),O(S(pe),{key:0,type:`error`,title:S(c)(`spacesModule.media.activities.activateFailed`),description:S(x),"show-icon":``,closable:``,onClose:n[1]||=e=>x.value=null},null,8,[`title`,`description`])):C(``,!0)],8,jr)),[[S(ge),ue.value]])]),_:1},8,[`modelValue`,`title`]))}}),Wr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Gr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},Kr={key:0,class:`flex items-center gap-2 flex-wrap`},qr={class:`flex items-center gap-1`},Jr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},Yr=[`element-loading-text`],Xr={key:0,class:`flex flex-col gap-4`},Zr={class:`flex items-center justify-between`},Qr={class:`flex items-center gap-3`},$r={class:`text-gray-500 text-sm`},ei={key:0},ti={class:`text-gray-500 text-sm`},ni={class:`ml-1 text-sm`},ri={class:`flex flex-col gap-2`},ii={class:`flex items-center justify-between`},ai={class:`text-sm font-medium`},oi={class:`flex gap-3 text-xs text-gray-500`},si={class:`text-green-600`},ci={class:`text-red-600`},li={class:`text-sm font-medium mb-2`},ui={class:`grid grid-cols-2 gap-2 text-sm`},di={key:0},fi={class:`text-gray-400`},pi={class:`ml-1`},mi={key:1},hi={class:`text-gray-400`},gi={class:`ml-1`},_i={key:2},vi={class:`text-gray-400`},yi={class:`ml-1`},bi={key:3},xi={class:`text-gray-400`},Si={class:`ml-1`},Ci={class:`text-sm font-medium mb-2`},wi={class:`flex items-center gap-2`},Ti={key:1,class:`text-sm text-gray-400`},Ei={key:2},Di={class:`text-sm font-medium mb-2`},Oi=_({name:`SpaceMediaActivitiesSummary`,__name:`space-media-activities-summary`,props:{space:{}},emits:[`edit`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=Ae(),{endpoints:d,activeState:f,fetchEndpoints:h,fetchBindings:g,fetchActiveState:_,deactivate:v,deactivating:y,findBindingByActivity:x,preview:ee}=ut(F(()=>a.space?.id)),te=z(!1),T=z(!1),D=z(!1),j=z(null),P=z(null),I=z(null),ne=[Y.watch,Y.listen,Y.gaming,Y.background],re=e=>[e.displayEndpointId,e.audioEndpointId,e.sourceEndpointId,e.remoteEndpointId].filter(Boolean).length,ie=F(()=>{let e=[];for(let t of ne){let n=x(t);n&&e.push({activityKey:t,icon:ot(t),tagType:tt(t),routeCount:re(n)})}return e}),R=F(()=>{if(!I.value)return l(`spacesModule.media.activities.previewDialog.title`);let e=l(`spacesModule.media.activityLabels.${I.value}`);return`${l(`spacesModule.media.activities.previewDialog.title`)} — ${e}`}),ae=F(()=>!f.value||!I.value?!1:f.value.activityKey===I.value&&f.value.state!==`deactivated`),oe=F(()=>f.value?.summary?.failures?f.value.summary.failures:[]),se=F(()=>{if(!f.value)return`border-gray-300`;switch(f.value.state){case`active`:return`border-green-500`;case`activating`:return`border-blue-500`;case`failed`:return`border-red-500`;default:return`border-gray-300`}}),ce=F(()=>{if(!f.value)return`info`;switch(f.value.state){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;default:return`info`}}),le=e=>{let t=new Date(e);return isNaN(t.getTime())?e:t.toLocaleString()},H=e=>d.value.find(t=>t.deviceId===e)?.name??e,ue=e=>{switch(e){case`setProperty`:return`mdi:tune`;case`sendCommand`:return`mdi:send`;default:return`mdi:help-circle`}},de=async()=>{try{await v(),u.success(l(`spacesModule.media.activities.deactivateSuccess`))}catch{u.error(l(`spacesModule.media.activities.deactivateFailed`))}},U=async e=>{I.value=e,j.value=null,P.value=null,D.value=!0,T.value=!0;try{let[t]=await Promise.all([ee(e),_()]);j.value=t}catch(e){P.value=e instanceof Error?e.message:`Unknown error`}finally{D.value=!1}},fe=async()=>{if(a.space?.id)try{await Promise.all([h(),g(),_()]),te.value=d.value.length>0}catch{}};return b(()=>a.space?.id,e=>{e&&fe()}),c(()=>{a.space?.id&&fe()}),n({reload:fe}),(t,n)=>(r(),B(N,null,[te.value?(r(),B(N,{key:0},[A(`dt`,Wr,M(S(l)(`spacesModule.detail.mediaActivities.title`)),1),A(`dd`,Gr,[ie.value.length>0?(r(),B(`div`,Kr,[(r(!0),B(N,null,o(ie.value,e=>(r(),O(S(J),{key:e.activityKey,type:e.tagType,size:`small`,class:`cursor-pointer`,onClick:t=>U(e.activityKey)},{default:m(()=>[A(`div`,qr,[V(S(L),{icon:e.icon},null,8,[`icon`]),w(` `+M(S(l)(`spacesModule.media.activityLabels.${e.activityKey}`))+` `,1),V(S(Ce),{value:e.routeCount,type:e.tagType,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`,`onClick`]))),128))])):(r(),B(`div`,Jr,[V(S(L),{icon:`mdi:play-box-multiple-outline`}),w(` `+M(S(l)(`spacesModule.detail.mediaActivities.noActivities`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:n[0]||=e=>s(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0),V(S(Ne),{modelValue:T.value,"onUpdate:modelValue":n[2]||=e=>T.value=e,title:R.value,width:`680px`,"destroy-on-close":``},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>T.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.media.activities.previewDialog.close`)),1)]),_:1})]),default:m(()=>[e((r(),B(`div`,{"element-loading-text":S(l)(`spacesModule.media.activities.loading`)},[j.value?(r(),B(`div`,Xr,[ae.value?(r(),O(S(Ie),{key:0,shadow:`never`,class:p([`border-l-4`,se.value])},{default:m(()=>[A(`div`,Zr,[A(`div`,Qr,[A(`div`,null,[A(`span`,$r,M(S(l)(`spacesModule.media.activities.activePanel.state`))+`:`,1),V(S(J),{type:ce.value,size:`small`,class:`ml-2`},{default:m(()=>[w(M(S(l)(`spacesModule.media.activities.activationState.${S(f).state}`)),1)]),_:1},8,[`type`])]),S(f).activatedAt?(r(),B(`div`,ei,[A(`span`,ti,M(S(l)(`spacesModule.media.activities.activePanel.activatedAt`))+`:`,1),A(`span`,ni,M(le(S(f).activatedAt)),1)])):C(``,!0)]),S(f).state===`deactivated`?C(``,!0):(r(),O(S(k),{key:0,size:`small`,type:`warning`,loading:S(y),onClick:de},{icon:m(()=>[V(S(L),{icon:`mdi:stop`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.media.activities.deactivate`)),1)]),_:1},8,[`loading`]))])]),_:1},8,[`class`])):C(``,!0),ae.value&&oe.value.length>0?(r(),O(S(Ie),{key:1,shadow:`never`,class:`border-l-4 border-red-500`},{default:m(()=>[A(`div`,ri,[A(`div`,ii,[A(`span`,ai,M(S(l)(`spacesModule.media.activities.failures.title`)),1),A(`div`,oi,[A(`span`,null,M(S(l)(`spacesModule.media.activities.failures.total`))+`: `+M(S(f).summary?.stepsTotal??0),1),A(`span`,si,M(S(l)(`spacesModule.media.activities.failures.succeeded`))+`: `+M(S(f).summary?.stepsSucceeded??0),1),A(`span`,ci,M(S(l)(`spacesModule.media.activities.failures.failed`))+`: `+M(S(f).summary?.stepsFailed??0),1)])]),V(S(Ge),{data:oe.value,size:`small`,border:``},{default:m(()=>[V(S($),{label:S(l)(`spacesModule.media.activities.failures.stepIndex`),width:`70`},{default:m(({row:e})=>[w(M(e.stepIndex),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.device`),"min-width":`140`},{default:m(({row:e})=>[w(M(e.targetDeviceId?H(e.targetDeviceId):`—`),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.property`),"min-width":`100`},{default:m(({row:e})=>[w(M(e.propertyId??`—`),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.reason`),"min-width":`180`},{default:m(({row:e})=>[w(M(e.reason),1)]),_:1},8,[`label`])]),_:1},8,[`data`])])]),_:1})):C(``,!0),A(`div`,null,[A(`div`,li,M(S(l)(`spacesModule.media.activities.previewDialog.resolvedDevices`)),1),A(`div`,ui,[j.value.resolved.displayDeviceId?(r(),B(`div`,di,[A(`span`,fi,M(S(l)(`spacesModule.media.activities.activePanel.display`))+`:`,1),A(`span`,pi,M(H(j.value.resolved.displayDeviceId)),1)])):C(``,!0),j.value.resolved.audioDeviceId?(r(),B(`div`,mi,[A(`span`,hi,M(S(l)(`spacesModule.media.activities.activePanel.audio`))+`:`,1),A(`span`,gi,M(H(j.value.resolved.audioDeviceId)),1)])):C(``,!0),j.value.resolved.sourceDeviceId?(r(),B(`div`,_i,[A(`span`,vi,M(S(l)(`spacesModule.media.activities.activePanel.source`))+`:`,1),A(`span`,yi,M(H(j.value.resolved.sourceDeviceId)),1)])):C(``,!0),j.value.resolved.remoteDeviceId?(r(),B(`div`,bi,[A(`span`,xi,M(S(l)(`spacesModule.media.activities.activePanel.remote`))+`:`,1),A(`span`,Si,M(H(j.value.resolved.remoteDeviceId)),1)])):C(``,!0)])]),A(`div`,null,[A(`div`,Ci,M(S(l)(`spacesModule.media.activities.previewDialog.executionPlan`)),1),j.value.plan.length?(r(),O(S(Ge),{key:0,data:j.value.plan,size:`small`,border:``},{default:m(()=>[V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.step`),width:`60`},{default:m(({$index:e})=>[w(M(e+1),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.action`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,wi,[V(S(L),{icon:ue(e.action.kind),class:`w[16px] h[16px] shrink-0`},null,8,[`icon`]),A(`span`,null,M(e.label),1)])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.device`),"min-width":`140`},{default:m(({row:e})=>[w(M(H(e.targetDeviceId)),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.critical`),width:`100`},{default:m(({row:e})=>[V(S(J),{type:e.critical?`danger`:`info`,size:`small`},{default:m(()=>[w(M(e.critical?S(l)(`spacesModule.media.activities.previewDialog.criticalYes`):S(l)(`spacesModule.media.activities.previewDialog.criticalNo`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`])]),_:1},8,[`data`])):(r(),B(`div`,Ti,M(S(l)(`spacesModule.media.activities.previewDialog.noSteps`)),1))]),j.value.warnings.length?(r(),B(`div`,Ei,[A(`div`,Di,M(S(l)(`spacesModule.media.activities.previewDialog.warnings`)),1),(r(!0),B(N,null,o(j.value.warnings,(e,t)=>(r(),O(S(pe),{key:t,type:`warning`,title:e.label,"show-icon":``,closable:!1,class:`mb-1`},null,8,[`title`]))),128))])):C(``,!0)])):C(``,!0),P.value?(r(),O(S(pe),{key:1,type:`error`,title:S(l)(`spacesModule.media.activities.previewFailed`),description:P.value,"show-icon":``,closable:!1},null,8,[`title`,`description`])):C(``,!0)],8,Yr)),[[S(ge),D.value]])]),_:1},8,[`modelValue`,`title`])],64))}}),ki={class:`grid m-0`},Ai={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ji={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Mi={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Ni={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Pi={key:0,class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Fi={key:1,class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Ii={key:2,class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Li={key:3,class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center gap-2 min-w-[8rem]`},Ri={key:4,class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},zi={key:5,class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},Bi={class:`flex items-center gap-1`},Vi={key:1,class:`text-gray-400 text-sm`},Hi={class:`flex items-center gap-2`},Ui=_({name:`SpaceDetail`,__name:`space-detail`,props:{space:{}},setup(e){let t=e,{t:i}=E(),a=Ae(),{spaces:s,firstLoadFinished:l,fetchSpaces:u}=$e(),{editSpace:p}=it(F(()=>t.space?.id)),h=z(!1),g=z(!1),_=z(!1),v=z(!1),y=z(!1),x=z(null),ee=z(null),te=z(null),T=z(null),D=z(null);c(async()=>{l.value||await u().catch(()=>{})});let k=z(null),j=z(!1),P=z(!1),I=z(null),ne=z(null),re=z(!1),ie=F(()=>s.value.filter(e=>!(e.type!==W.ZONE||!ke(e.category)))),R=F(()=>t.space?.parentId?s.value.find(e=>e.id===t.space?.parentId)??null:null),ae=()=>{P.value=!0,ne.value=t.space?.parentId??null,k.value=t.space?.parentId??null,re.value=!1,n(()=>{I.value?.focus()})},oe=()=>{setTimeout(()=>{!re.value&&!j.value&&P.value&&(P.value=!1),re.value=!1},200)},se=e=>{P.value&&e.key===`Escape`&&(k.value=ne.value,P.value=!1,re.value=!1)},ce=async e=>{if(!t.space||e===t.space.parentId){P.value=!1,re.value=!1;return}re.value=!0,j.value=!0;try{await p({name:t.space.name,parentId:e}),a.success(i(`spacesModule.messages.edited`,{space:t.space.name})),P.value=!1,re.value=!1}catch{k.value=ne.value,a.error(i(`spacesModule.messages.saveError`)),P.value=!1,re.value=!1}finally{j.value=!1}};b(()=>t.space?.parentId??null,e=>{P.value||(k.value=e,ne.value=e)},{immediate:!0}),c(()=>{document.addEventListener(`keydown`,se)}),d(()=>{document.removeEventListener(`keydown`,se)});let le=()=>{x.value?.reload()},H=()=>{ee.value?.reload()},ue=()=>{te.value?.reload()},de=()=>{T.value?.reload()},U=()=>{D.value?.reload()};return(t,n)=>(r(),B(N,null,[V(S(Ie),{class:`mt-2`,"body-class":`p-0!`},{default:m(()=>[A(`dl`,ki,[A(`dt`,Ai,M(S(i)(`spacesModule.fields.spaces.name.title`)),1),A(`dd`,ji,[V(S(Te),null,{default:m(()=>[w(M(e.space.name),1)]),_:1})]),A(`dt`,Mi,M(S(i)(`spacesModule.fields.spaces.type.title`)),1),A(`dd`,Ni,[V(S(Te),null,{default:m(()=>[w(M(S(i)(`spacesModule.misc.types.${e.space.type}`)),1)]),_:1})]),e.space.description?(r(),B(`dt`,Pi,M(S(i)(`spacesModule.fields.spaces.description.title`)),1)):C(``,!0),e.space.description?(r(),B(`dd`,Fi,[V(S(Te),null,{default:m(()=>[w(M(e.space.description),1)]),_:1})])):C(``,!0),e.space.icon?(r(),B(`dt`,Ii,M(S(i)(`spacesModule.fields.spaces.icon.title`)),1)):C(``,!0),e.space.icon?(r(),B(`dd`,Li,[V(S(f),null,{default:m(()=>[V(S(L),{icon:e.space.icon},null,8,[`icon`])]),_:1}),V(S(Te),null,{default:m(()=>[w(M(e.space.icon),1)]),_:1})])):C(``,!0),V(An,{ref_key:`lightingRolesSummaryRef`,ref:x,space:e.space,onEdit:n[0]||=e=>h.value=!0},null,8,[`space`]),V(qn,{ref_key:`climateRolesSummaryRef`,ref:ee,space:e.space,onEdit:n[1]||=e=>g.value=!0},null,8,[`space`]),V(ur,{ref_key:`coversRolesSummaryRef`,ref:te,space:e.space,onEdit:n[2]||=e=>_.value=!0},null,8,[`space`]),V(Er,{ref_key:`sensorRolesSummaryRef`,ref:T,space:e.space,onEdit:n[3]||=e=>v.value=!0},null,8,[`space`]),V(Oi,{ref_key:`mediaActivitiesSummaryRef`,ref:D,space:e.space,onEdit:n[4]||=e=>y.value=!0},null,8,[`space`]),e.space.type===S(W).ROOM?(r(),B(`dt`,Ri,M(S(i)(`spacesModule.detail.parentZone.title`)),1)):C(``,!0),e.space.type===S(W).ROOM?(r(),B(`dd`,zi,[P.value?(r(),O(S(We),{key:1,ref_key:`floorSelectRef`,ref:I,modelValue:k.value,"onUpdate:modelValue":n[5]||=e=>k.value=e,placeholder:S(i)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:j.value,onChange:ce,onBlur:oe},{default:m(()=>[(r(!0),B(N,null,o(ie.value,e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`div`,Hi,[V(S(L),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),A(`span`,null,M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(r(),B(`div`,{key:0,class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:ae},[R.value?(r(),O(S(J),{key:0,type:`success`,size:`small`},{default:m(()=>[A(`div`,Bi,[V(S(L),{icon:R.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),w(` `+M(R.value.name),1)])]),_:1})):(r(),B(`span`,Vi,M(S(i)(`spacesModule.detail.parentZone.none`)),1))]))])):C(``,!0)])]),_:1}),V(Dr,{visible:h.value,"onUpdate:visible":n[6]||=e=>h.value=e,space:e.space,onRolesChanged:le},null,8,[`visible`,`space`]),V(Or,{visible:g.value,"onUpdate:visible":n[7]||=e=>g.value=e,space:e.space,onRolesChanged:H},null,8,[`visible`,`space`]),V(kr,{visible:_.value,"onUpdate:visible":n[8]||=e=>_.value=e,space:e.space,onRolesChanged:ue},null,8,[`visible`,`space`]),V(Ar,{visible:v.value,"onUpdate:visible":n[9]||=e=>v.value=e,space:e.space,onRolesChanged:de},null,8,[`visible`,`space`]),V(Ur,{visible:y.value,"onUpdate:visible":n[10]||=e=>y.value=e,space:e.space,onBindingsChanged:U},null,8,[`visible`,`space`])],64))}}),Wi={class:`flex items-center gap-2`},Gi={class:`font-medium`},Ki={key:0,class:`text-xs text-gray-500`},qi={class:`flex items-center gap-2 justify-end`},Ji={key:0,class:`h-full w-full leading-normal`},Yi={key:1,class:`h-full w-full leading-normal`},Xi={class:`mb-4`},Zi=_({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=Ae(),{roomSpaces:d}=$e(),{devices:f,loading:p,firstLoadFinished:h,fetchDevices:g,removeDevice:_,reassignDevice:v}=ct(ne(a,`spaceId`),ne(a,`spaceType`)),y=z(!1),b=z(null),x=z(null),ee=z(!1),te=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e]||`mdi:devices`,T=()=>{s(`open-add-dialog`)},D=e=>{b.value=e,x.value=null,y.value=!0},j=async()=>{if(b.value){ee.value=!0;try{await v(b.value.id,x.value),y.value=!1,u.success(l(`spacesModule.messages.edited`,{space:b.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{ee.value=!1}}},F=e=>{Ee.confirm(l(`spacesModule.detail.devices.confirmRemove`,{name:e.name}),l(`spacesModule.detail.devices.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await _(e.id),u.success(l(`spacesModule.detail.devices.removed`,{name:e.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.devices.removeCanceled`))})};return c(async()=>{h.value||await g()}),n({openAddDialog:T,fetchDevices:g}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.devices.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,Ji,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,Yi,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.devices.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:T},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.onboarding.deviceName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Wi,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:te(e.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[A(`div`,Gi,M(e.name),1),e.description?(r(),B(`div`,Ki,M(e.description),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.table.columns.category`),width:`150`},{default:m(({row:e})=>[V(S(J),{size:`small`,type:`info`},{default:m(()=>[w(M(S(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(J),{type:e.status?.online?`success`:`danger`,size:`small`},{default:m(()=>[w(M(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:a.spaceType===S(W).ZONE?110:220,align:`right`},{default:m(({row:e})=>[A(`div`,qi,[a.spaceType===S(W).ROOM?(r(),O(S(k),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>D(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):C(``,!0),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>F(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[S(ge),S(p)]]),V(S(Ne),{modelValue:y.value,"onUpdate:modelValue":n[2]||=e=>y.value=e,title:S(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>y.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:ee.value,onClick:j},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,Xi,M(S(l)(`spacesModule.detail.devices.selectRoom`)),1),V(S(We),{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Qi={class:`flex items-center gap-2`},$i={class:`font-medium`},ea={key:0,class:`text-xs text-gray-500`},ta={class:`flex items-center gap-2 justify-end`},na={key:0,class:`h-full w-full leading-normal`},ra={key:1,class:`h-full w-full leading-normal`},ia={class:`mb-4`},aa=_({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=Ae(),{spaces:d}=$e(),{scenes:f,loading:p,firstLoadFinished:h,fetchScenes:g,reassignScene:_,removeScene:v}=et(ne(a,`spaceId`)),y=z(!1),b=z(null),x=z(null),ee=z(!1),te=e=>ht[e]||ht[ft.GENERIC],T=()=>{s(`open-add-dialog`)},D=e=>{b.value=e,x.value=null,y.value=!0},j=async()=>{if(b.value){ee.value=!0;try{await _(b.value.id,x.value),y.value=!1,u.success(l(`spacesModule.detail.scenes.reassigned`,{name:b.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{ee.value=!1}}},F=e=>{Ee.confirm(l(`spacesModule.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesModule.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await v(e.id),u.success(l(`spacesModule.detail.scenes.removed`,{name:e.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.scenes.removeCanceled`))})};return c(async()=>{h.value||await g()}),n({openAddDialog:T,fetchScenes:g}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.scenes.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,na,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,ra,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.scenes.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:T},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.detail.scenes.name`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Qi,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:te(e.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[A(`div`,$i,M(e.name),1),e.description?(r(),B(`div`,ea,M(e.description),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.detail.scenes.category`),width:`150`},{default:m(({row:e})=>[V(S(J),{size:`small`,type:`info`},{default:m(()=>[w(M(S(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.detail.scenes.status`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(J),{type:e.enabled?`success`:`info`,size:`small`},{default:m(()=>[w(M(e.enabled?S(l)(`spacesModule.detail.scenes.enabled`):S(l)(`spacesModule.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:`220`,align:`right`},{default:m(({row:e})=>[A(`div`,ta,[V(S(k),{type:`warning`,plain:``,size:`small`,onClick:t=>D(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>F(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[S(ge),S(p)]]),V(S(Ne),{modelValue:y.value,"onUpdate:modelValue":n[2]||=e=>y.value=e,title:S(l)(`spacesModule.detail.scenes.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>y.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:ee.value,onClick:j},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,ia,M(S(l)(`spacesModule.detail.scenes.selectSpace`)),1),V(S(We),{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),oa={class:`flex items-center gap-2`},sa={class:`block`},ca={key:1,class:`font-medium`},la={class:`flex items-center gap-2 justify-end`},ua={key:0,class:`h-full w-full leading-normal`},da={key:1,class:`h-full w-full leading-normal`},fa={class:`mb-4`},pa=_({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=Ae(),{roomSpaces:d}=$e(),{displays:f,loading:p,fetchDisplays:h,removeDisplay:g,reassignDisplay:_}=rt(ne(a,`spaceId`)),v=z(!1),y=z(null),b=z(null),x=z(!1),C=()=>{s(`open-add-dialog`)},ee=e=>{y.value=e,b.value=null,v.value=!0},te=async()=>{if(y.value){x.value=!0;try{await _(y.value.id,b.value),v.value=!1,u.success(l(`spacesModule.messages.edited`,{space:y.value.name||y.value.macAddress}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{x.value=!1}}},T=e=>{let t=e.name||e.macAddress;Ee.confirm(l(`spacesModule.detail.displays.confirmRemove`,{name:t}),l(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await g(e.id),u.success(l(`spacesModule.detail.displays.removed`,{name:t}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.displays.removeCanceled`))})};return c(async()=>{await h()}),n({openAddDialog:C,fetchDisplays:h}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.displays.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,ua,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,da,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.displays.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:C},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.onboarding.displayName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,oa,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),A(`div`,null,[e.name?(r(),B(N,{key:0},[A(`strong`,sa,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.macAddress),1)]),_:2},1024)],64)):(r(),B(`div`,ca,M(e.macAddress),1))])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(J),{type:e.online?`success`:`danger`,size:`small`},{default:m(()=>[w(M(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:`220`,align:`right`},{default:m(({row:e})=>[A(`div`,la,[V(S(k),{type:`warning`,plain:``,size:`small`,onClick:t=>ee(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>T(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[S(ge),S(p)]]),V(S(Ne),{modelValue:v.value,"onUpdate:modelValue":n[2]||=e=>v.value=e,title:S(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>v.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:x.value,onClick:te},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,fa,M(S(l)(`spacesModule.detail.displays.selectRoom`)),1),V(S(We),{modelValue:b.value,"onUpdate:modelValue":n[0]||=e=>b.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),ma={key:0,class:`h-full w-full leading-normal`},ha={key:1,class:`h-full w-full leading-normal`},ga={class:`flex items-center gap-2`},_a={class:`block text-sm`},va={key:1,class:`font-medium`},ya={key:1,class:`text-gray-400 text-sm`},ba=_({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=Ae(),{devices:s}=dt(),{findById:c}=$e(),l=z(``),u=z(null),{devices:d,addDevice:f}=ct(F(()=>n.spaceId),F(()=>n.spaceType)),p=F(()=>new Set(d.value.map(e=>e.id))),h=F(()=>s.value.filter(e=>n.spaceType===W.ZONE?!p.value.has(e.id):e.roomId!==n.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),g=F(()=>(l.value.trim()?h.value.filter(e=>{let t=l.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):h.value).sort((e,t)=>e.name.localeCompare(t.name))),_=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e.category]||`mdi:devices`,v=e=>c(e)?.name||`Unknown`,y=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),x=()=>{y.value=!1,l.value=``,u.value=null},ee=async e=>{u.value=e.id;try{await f(e.id),o.success(a(`spacesModule.messages.edited`,{space:e.name})),i(`device-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{u.value=null}};return b(()=>n.visible,e=>{e||(l.value=``,u.value=null)}),(e,t)=>(r(),O(S(Ne),{modelValue:y.value,"onUpdate:modelValue":t[1]||=e=>y.value=e,title:S(a)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:x},{footer:m(()=>[V(S(k),{onClick:x},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(we),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:S(a)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:g.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[h.value.length===0?(r(),B(`div`,ma,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):l.value.trim()&&g.value.length===0?(r(),B(`div`,ha,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.onboarding.deviceName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,ga,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:_(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[e.description?(r(),B(N,{key:0},[A(`strong`,_a,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.description),1)]),_:2},1024)],64)):(r(),B(`div`,va,M(e.name),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.onboarding.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.roomId?(r(),O(S(J),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(v(e.roomId)),1)]),_:2},1024)):(r(),B(`span`,ya,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:n.spaceType===S(W).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:u.value===e.id,onClick:t=>ee(e)},{icon:m(()=>[V(S(L),{icon:n.spaceType===S(W).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(n.spaceType===S(W).ROOM&&e.roomId?S(a)(`spacesModule.detail.devices.reassign`):S(a)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),xa={key:0,class:`h-full w-full leading-normal`},Sa={key:1,class:`h-full w-full leading-normal`},Ca={class:`flex items-center gap-2`},wa={class:`block text-sm`},Ta={key:1,class:`font-medium`},Ea={key:1,class:`text-gray-400 text-sm`},Da=_({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=Ae(),{scenes:s,loaded:l,fetchScenes:u}=mt(),{editScene:d}=pt(),{findById:f}=$e(),p=z(``),h=z(null),g=F(()=>s.value.filter(e=>e.draft?!1:e.primarySpaceId!==n.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),_=F(()=>(p.value.trim()?g.value.filter(e=>{let t=p.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):g.value).sort((e,t)=>e.name.localeCompare(t.name))),v=e=>ht[e.category]||ht[ft.GENERIC],y=e=>f(e)?.name||`Unknown`,x=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),ee=()=>{x.value=!1,p.value=``,h.value=null},te=async e=>{h.value=e.id;try{await d({id:e.id,data:{primarySpaceId:n.spaceId}}),o.success(a(`spacesModule.detail.scenes.assigned`,{name:e.name})),i(`scene-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{h.value=null}};return c(async()=>{l.value||await u()}),b(()=>n.visible,e=>{e||(p.value=``,h.value=null)}),(e,t)=>(r(),O(S(Ne),{modelValue:x.value,"onUpdate:modelValue":t[1]||=e=>x.value=e,title:S(a)(`spacesModule.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:ee},{footer:m(()=>[V(S(k),{onClick:ee},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(we),{modelValue:p.value,"onUpdate:modelValue":t[0]||=e=>p.value=e,placeholder:S(a)(`spacesModule.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:_.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[g.value.length===0?(r(),B(`div`,xa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.scenes.noAvailable`)),1)]),_:1})])):p.value.trim()&&_.value.length===0?(r(),B(`div`,Sa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`spacesModule.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.detail.scenes.name`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Ca,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:v(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[e.description?(r(),B(N,{key:0},[A(`strong`,wa,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.description),1)]),_:2},1024)],64)):(r(),B(`div`,Ta,M(e.name),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.detail.scenes.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.primarySpaceId?(r(),O(S(J),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(y(e.primarySpaceId)),1)]),_:2},1024)):(r(),B(`span`,Ea,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:h.value===e.id,onClick:t=>te(e)},{icon:m(()=>[V(S(L),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(e.primarySpaceId?S(a)(`spacesModule.detail.scenes.reassign`):S(a)(`spacesModule.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Oa={key:0,class:`h-full w-full leading-normal`},ka={key:1,class:`h-full w-full leading-normal`},Aa={class:`flex items-center gap-2`},ja={class:`block`},Ma={key:1,class:`font-medium`},Na={key:1,class:`text-gray-400 text-sm`},Pa=_({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=Ae(),{displays:s}=Qe(),{findById:c}=$e(),l=z(``),u=z(null),{reassignDisplay:d}=rt(F(()=>n.spaceId)),f=F(()=>s.value.filter(e=>e.role===`room`?e.roomId!==n.spaceId:!1).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),p=F(()=>(l.value.trim()?f.value.filter(e=>{let t=l.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):f.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),h=e=>c(e)?.name||`Unknown`,g=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),_=()=>{g.value=!1,l.value=``,u.value=null},v=async e=>{u.value=e.id;try{await d(e.id,n.spaceId),o.success(a(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),i(`display-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{u.value=null}};return b(()=>n.visible,e=>{e||(l.value=``,u.value=null)}),(e,t)=>(r(),O(S(Ne),{modelValue:g.value,"onUpdate:modelValue":t[1]||=e=>g.value=e,title:S(a)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:_},{footer:m(()=>[V(S(k),{onClick:_},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(we),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:S(a)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:p.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[f.value.length===0?(r(),B(`div`,Oa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):l.value.trim()&&p.value.length===0?(r(),B(`div`,ka,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.onboarding.displayName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Aa,[V(S(fe),{size:32},{default:m(()=>[V(S(L),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),A(`div`,null,[e.name?(r(),B(N,{key:0},[A(`strong`,ja,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.macAddress),1)]),_:2},1024)],64)):(r(),B(`div`,Ma,M(e.macAddress),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.onboarding.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.roomId?(r(),O(S(J),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(h(e.roomId)),1)]),_:2},1024)):(r(),B(`span`,Na,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:e.roomId?`warning`:`default`,plain:``,size:`small`,loading:u.value===e.id,onClick:t=>v(e)},{icon:m(()=>[V(S(L),{icon:e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(e.roomId?S(a)(`spacesModule.detail.displays.reassign`):S(a)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}});export{aa as a,pn as c,kt as d,pa as i,Wt as l,Da as n,Zi as o,ba as r,Ui as s,Pa as t,Mt as u};