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

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 (183) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +187 -0
  3. package/dist/assets/auth.constants-Dls_gTTx.js +1 -0
  4. package/dist/assets/card-add-form-C8k05jix.js +1 -0
  5. package/dist/assets/card-edit-form-B4Wy_x66.js +1 -0
  6. package/dist/assets/chunk-DECur_0Z.js +1 -0
  7. package/dist/assets/common-BY9Gg1EI.css +1 -0
  8. package/dist/assets/common-DlW3qRTQ.js +150 -0
  9. package/dist/assets/components-4pZvmdD8.js +1 -0
  10. package/dist/assets/components-BFT9ksvz.js +1 -0
  11. package/dist/assets/components-BGiFbtPn.css +1 -0
  12. package/dist/assets/components-BTNQr9V1.css +1 -0
  13. package/dist/assets/components-C59v4_pJ.css +1 -0
  14. package/dist/assets/components-CjdlFz1u.css +1 -0
  15. package/dist/assets/components-D8PpAJgM.js +1 -0
  16. package/dist/assets/components-DBRr1g1A.js +1 -0
  17. package/dist/assets/components-DRDcqY-d.js +1 -0
  18. package/dist/assets/components-DSMoiSYB.css +1 -0
  19. package/dist/assets/components-DlofbaXq.js +2 -0
  20. package/dist/assets/components-W7KcmsWr.css +1 -0
  21. package/dist/assets/components-o_FTQqv1.js +1 -0
  22. package/dist/assets/components-tvaQsmsk.js +2 -0
  23. package/dist/assets/composables-BTOG7VNs2.js +1 -0
  24. package/dist/assets/composables-CLHFuu4k.js +1 -0
  25. package/dist/assets/composables-COu_3hI8.js +1 -0
  26. package/dist/assets/composables-CU6q9-8B.js +1 -0
  27. package/dist/assets/composables-CjGTzpGj.js +1 -0
  28. package/dist/assets/composables-Cl0F9F_S.js +1 -0
  29. package/dist/assets/composables-CzSTR7jk.js +1 -0
  30. package/dist/assets/composables-DDYun9ja.js +0 -0
  31. package/dist/assets/composables-Da97cjje.js +1 -0
  32. package/dist/assets/composables-m3XA9ZFJ.js +1 -0
  33. package/dist/assets/dashboard-DilMazDB.js +2 -0
  34. package/dist/assets/dashboard.types-DHlozs9y.js +1 -0
  35. package/dist/assets/data-source-edit-form-mTdgdACg.js +1 -0
  36. package/dist/assets/drawer-Db27jij8.js +1 -0
  37. package/dist/assets/empty-C13Ke09q.js +1 -0
  38. package/dist/assets/extensions.constants-BtEcoiTe.js +1 -0
  39. package/dist/assets/gridstack-DrhE8fGa.css +1 -0
  40. package/dist/assets/gridstack.min-BC6WoZvX.js +3 -0
  41. package/dist/assets/icon-with-child-1Kb-D21P.css +1 -0
  42. package/dist/assets/icon-with-child-DmQ_XhQy.js +12 -0
  43. package/dist/assets/index-DU31qw7A.css +1 -0
  44. package/dist/assets/index-DW2Q2Ef8.js +16 -0
  45. package/dist/assets/input-number-BF0uWlX2.js +1 -0
  46. package/dist/assets/integration-config-dialog-DCF8K0UE.js +1 -0
  47. package/dist/assets/keys-C6Zi4a10.js +1 -0
  48. package/dist/assets/keys-CGGnS6tq.js +1 -0
  49. package/dist/assets/keys-Cm97UJHM.js +1 -0
  50. package/dist/assets/keys-DHSxrtbW.js +1 -0
  51. package/dist/assets/layout-config-Bs73Oq0w.css +1 -0
  52. package/dist/assets/layout-config-DkSTscYx.js +1 -0
  53. package/dist/assets/layout-default-LKbviw7y.js +1 -0
  54. package/dist/assets/layout-default-aEpEfGPk.css +1 -0
  55. package/dist/assets/layout-lock-Cp5xh9ot.js +1 -0
  56. package/dist/assets/layout-profile-ByHuBl2Y.js +1 -0
  57. package/dist/assets/layout-profile-wkO5hDf5.js +1 -0
  58. package/dist/assets/layout-sign-C8xK52Nq.js +1 -0
  59. package/dist/assets/layout-sign-CjJVcqWG.js +1 -0
  60. package/dist/assets/leaflet-src-B49UyrlR.js +1 -0
  61. package/dist/assets/leaflet-src.esm-YKGwaZsZ.js +1 -0
  62. package/dist/assets/list-data-sources-adjust-Bj-0Adap.js +1 -0
  63. package/dist/assets/list-data-sources-adjust-REFqavw6.css +1 -0
  64. package/dist/assets/list-locations-BM5Yvsew.js +1 -0
  65. package/dist/assets/list-users-dBZVseES.js +1 -0
  66. package/dist/assets/logs-entries.transformers-BRzpY2MS.js +1 -0
  67. package/dist/assets/marker-icon-2x-BCzqJChB.js +1 -0
  68. package/dist/assets/marker-icon-JzPv91fE.js +1 -0
  69. package/dist/assets/marker-shadow-tj6c2pB6.js +1 -0
  70. package/dist/assets/page-configure-1ENlHHe8.js +1 -0
  71. package/dist/assets/page-configure-BLho4eEA.js +1 -0
  72. package/dist/assets/page-configure-Bhbyv1tV.css +1 -0
  73. package/dist/assets/page-configure-beBdD2Qu.css +1 -0
  74. package/dist/assets/pages-cards.contants-B5RdaI3z.js +1 -0
  75. package/dist/assets/pages-tiles.constants-Day6cR-b.js +1 -0
  76. package/dist/assets/pagination-BN87kdDs.js +1 -0
  77. package/dist/assets/popover-DOg0KdzK.js +1 -0
  78. package/dist/assets/radio-BmI00y-5.js +1 -0
  79. package/dist/assets/scene-add-form-BcNSeauE.css +1 -0
  80. package/dist/assets/scene-add-form-DdmUnhy5.js +1 -0
  81. package/dist/assets/scene-edit-form-BeXK9ZM1.js +1 -0
  82. package/dist/assets/scene-edit-form-CDPMRZQT.css +1 -0
  83. package/dist/assets/select-data-source-plugin-CtXn9m8K.js +1 -0
  84. package/dist/assets/skeleton-DMwdgp1r.js +1 -0
  85. package/dist/assets/slider-YJlo4Ibo.js +1 -0
  86. package/dist/assets/steps-BIGbhQaO.js +1 -0
  87. package/dist/assets/system.exceptions-Ddzmz1RH.js +1 -0
  88. package/dist/assets/table-5pjI7ihN.js +1 -0
  89. package/dist/assets/tile-detail-COru-nDQ.js +1 -0
  90. package/dist/assets/tile-edit-form-jjo5FbvD.js +1 -0
  91. package/dist/assets/types-B8upWpl6.js +1 -0
  92. package/dist/assets/useBuddyChat-DREu7Tv5.js +1 -0
  93. package/dist/assets/useDataSources-Bx93bXrZ.js +1 -0
  94. package/dist/assets/useDevices-CuJhDHbf.js +1 -0
  95. package/dist/assets/useGeolocation-QxCQnrMH.js +2 -0
  96. package/dist/assets/useGeolocation-vh-t_kPv.css +1 -0
  97. package/dist/assets/useLocation-BM-8kEbz.js +1 -0
  98. package/dist/assets/usePage-DTL4RY9u.js +1 -0
  99. package/dist/assets/useSpaces-DnSZteHf.js +1 -0
  100. package/dist/assets/view-buddy-chat-DKryg2MX.js +1 -0
  101. package/dist/assets/view-card-add-CYZ9eXg5.js +1 -0
  102. package/dist/assets/view-card-edit-C5zcGDFz.js +1 -0
  103. package/dist/assets/view-channel-IJiMTDSG.js +1 -0
  104. package/dist/assets/view-channel-add-YCqERQS-.js +1 -0
  105. package/dist/assets/view-channel-edit-Dnct_m0O.js +1 -0
  106. package/dist/assets/view-channel-property-add-CoaudIGV.js +1 -0
  107. package/dist/assets/view-channel-property-edit-g0J-yPAY.js +1 -0
  108. package/dist/assets/view-channels--BS5J8Ro.js +1 -0
  109. package/dist/assets/view-config-module-edit-RW7YEgut.js +1 -0
  110. package/dist/assets/view-config-modules-Bi5Ib06n.js +1 -0
  111. package/dist/assets/view-config-modules-DvbJyCIK.css +1 -0
  112. package/dist/assets/view-config-plugin-edit-CviUNBYF.js +1 -0
  113. package/dist/assets/view-config-plugins-BBxIkmDq.js +1 -0
  114. package/dist/assets/view-config-plugins-BTCfejmZ.css +1 -0
  115. package/dist/assets/view-data-source-add-3vF7foLh.js +1 -0
  116. package/dist/assets/view-data-source-add-CNRJiOEl.js +1 -0
  117. package/dist/assets/view-data-source-edit-5xrflzsE.js +1 -0
  118. package/dist/assets/view-data-source-edit-BJeCPFQo.js +1 -0
  119. package/dist/assets/view-device-C6EIYm4K.js +1 -0
  120. package/dist/assets/view-device-DvKgjKr8.css +1 -0
  121. package/dist/assets/view-device-add-Dtg4hKNb.js +1 -0
  122. package/dist/assets/view-device-control-D14Yf_3B.js +1 -0
  123. package/dist/assets/view-device-edit-D3wfo1SZ.js +1 -0
  124. package/dist/assets/view-devices-CQyYakG6.js +1 -0
  125. package/dist/assets/view-display-BoDjtT_C.js +1 -0
  126. package/dist/assets/view-display-edit-DOBx3FR9.js +1 -0
  127. package/dist/assets/view-display-tokens-ylzZVdwc.js +1 -0
  128. package/dist/assets/view-displays-Bv-jxEGc.js +1 -0
  129. package/dist/assets/view-extension-detail-BAuEjk3c.js +1 -0
  130. package/dist/assets/view-extension-detail-BjYHp3ZH.css +1 -0
  131. package/dist/assets/view-extensions-xnAarDlC.js +1 -0
  132. package/dist/assets/view-location-BbOLMWOk.js +1 -0
  133. package/dist/assets/view-location-add-B3Bljsk2.js +1 -0
  134. package/dist/assets/view-location-edit-Csq0lDWt.js +1 -0
  135. package/dist/assets/view-locations-DBYp9MTj.css +1 -0
  136. package/dist/assets/view-locations-DF-FXbjv.js +1 -0
  137. package/dist/assets/view-lock-screen-ClIhVZNt.js +1 -0
  138. package/dist/assets/view-not-found-C0Nl0aC-.js +1 -0
  139. package/dist/assets/view-onboarding-vZhyo5Yl.js +1 -0
  140. package/dist/assets/view-page-DCmbFTnE.js +1 -0
  141. package/dist/assets/view-page-add-Cpzp9lXV.js +1 -0
  142. package/dist/assets/view-page-configure-b5zQ9PXr.js +1 -0
  143. package/dist/assets/view-page-configure-c8DaItoq.js +1 -0
  144. package/dist/assets/view-page-data-source-add-CJMzSAGm.js +1 -0
  145. package/dist/assets/view-page-data-source-edit-BI5AXiNz.js +1 -0
  146. package/dist/assets/view-page-edit-fw913SDe.js +1 -0
  147. package/dist/assets/view-page-plugin-BrlvGuEU.js +1 -0
  148. package/dist/assets/view-pages-DVvpvvkt.js +1 -0
  149. package/dist/assets/view-profile-general-jV0TcOZC.js +1 -0
  150. package/dist/assets/view-profile-security-CPgtYKl1.js +1 -0
  151. package/dist/assets/view-scene-add-CT1MOXtu.js +1 -0
  152. package/dist/assets/view-scene-edit-4B1IzMuu.js +1 -0
  153. package/dist/assets/view-scenes-DoDkd08z.js +1 -0
  154. package/dist/assets/view-sign-in-CC7zlx9Q.js +1 -0
  155. package/dist/assets/view-sign-up-B1l4jvOx.js +1 -0
  156. package/dist/assets/view-space-VnVbkvKT.js +1 -0
  157. package/dist/assets/view-space-add-DwONNuir.js +1 -0
  158. package/dist/assets/view-space-edit-44iZOBav.js +1 -0
  159. package/dist/assets/view-spaces-CuuMx0iT.js +1 -0
  160. package/dist/assets/view-spaces-onboarding-CN6qrfN6.js +1 -0
  161. package/dist/assets/view-stats-F8sYkha0.js +1 -0
  162. package/dist/assets/view-system-info-AVyQIUWe.js +1 -0
  163. package/dist/assets/view-system-log-detail-sgFgbNjX.js +1 -0
  164. package/dist/assets/view-system-logs-eIoNhI5c.js +1 -0
  165. package/dist/assets/view-tile-add-B7mnK_PA.js +1 -0
  166. package/dist/assets/view-tile-add-Yt_KOkky.js +1 -0
  167. package/dist/assets/view-tile-data-source-add-DxaZd4Dp.js +1 -0
  168. package/dist/assets/view-tile-data-source-edit-jzGg3dBQ.js +1 -0
  169. package/dist/assets/view-tile-edit-b2LCLrB5.js +1 -0
  170. package/dist/assets/view-tile-edit-hbO-vs_Y.js +1 -0
  171. package/dist/assets/view-tile-edit-kHjMhT9e.js +1 -0
  172. package/dist/assets/view-tile-t4cTwgz2.js +1 -0
  173. package/dist/assets/view-user-add-CdlbezB7.js +1 -0
  174. package/dist/assets/view-user-edit-S0Up49jC.js +1 -0
  175. package/dist/assets/view-users-B-m50sCU.js +1 -0
  176. package/dist/assets/vue-meta.esm-browser.min-3_YV25pX.js +1 -0
  177. package/dist/assets/weather-751GlpD1.js +2 -0
  178. package/dist/assets/weather-BKeryvnv.css +1 -0
  179. package/dist/assets/weather-forecast.transformers-CxZiOJKt.js +1 -0
  180. package/dist/assets/weather-icon-CkuFNv0P.js +1 -0
  181. package/dist/favicon.ico +0 -0
  182. package/dist/index.html +93 -0
  183. package/package.json +155 -0
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/view-spaces-CuuMx0iT.js","assets/icon-with-child-DmQ_XhQy.js","assets/chunk-DECur_0Z.js","assets/icon-with-child-1Kb-D21P.css","assets/common-DlW3qRTQ.js","assets/common-BY9Gg1EI.css","assets/composables-CLHFuu4k.js","assets/useDevices-CuJhDHbf.js","assets/keys-Cm97UJHM.js","assets/logs-entries.transformers-BRzpY2MS.js","assets/system.exceptions-Ddzmz1RH.js","assets/composables-CjGTzpGj.js","assets/keys-DHSxrtbW.js","assets/composables-BTOG7VNs2.js","assets/composables-Cl0F9F_S.js","assets/useSpaces-DnSZteHf.js","assets/components-4pZvmdD8.js","assets/input-number-BF0uWlX2.js","assets/pagination-BN87kdDs.js","assets/popover-DOg0KdzK.js","assets/radio-BmI00y-5.js","assets/slider-YJlo4Ibo.js","assets/table-5pjI7ihN.js","assets/components-C59v4_pJ.css","assets/drawer-Db27jij8.js","assets/vue-meta.esm-browser.min-3_YV25pX.js","assets/view-space-add-DwONNuir.js","assets/view-space-edit-44iZOBav.js","assets/view-spaces-onboarding-CN6qrfN6.js","assets/steps-BIGbhQaO.js","assets/view-space-VnVbkvKT.js"])))=>i.map(i=>d[i]);
2
+ import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Br as n,C as r,Ct as i,Di as a,Hr as o,Jr as s,Jt as c,Kr as l,Lr as u,Lt as d,M as f,Mr as p,N as m,Nr as h,O as g,Oi as _,Or as v,Qr as y,Qt as b,S as x,Si as S,Sr as C,T as ee,Tr as te,Ur as ne,V as re,Xr as w,Yr as ie,Zn as ae,Zr as oe,Zt as se,_i as T,_r as E,_t as ce,ai as le,ar as ue,br as D,bt as de,ci as fe,cr as pe,ct as me,d as O,di as he,f as ge,gr as k,h as A,hr as j,i as _e,in as ve,ir as ye,ji as M,kr as be,l as xe,lr as N,m as P,mr as F,on as Se,p as I,pi as Ce,pt as we,sr as L,t as Te,tt as Ee,ui as R,vi as De,vr as z,w as Oe,xr as B}from"./icon-with-child-DmQ_XhQy.js";import{$n as V,$r as H,Ci as ke,F as Ae,Fi as U,Gi as je,H as Me,Hi as Ne,Hr as Pe,Ht as Fe,Ir as Ie,Ji as Le,Jr as Re,Kr as ze,Lt as Be,Mr as Ve,Mt as W,N as He,Ni as Ue,Nr as We,O as Ge,Oi as Ke,Pi as G,Pt as qe,Qn as Je,Qt as Ye,Ri as Xe,T as Ze,Ti as K,Ui as Qe,Ur as q,Vi as $e,Yi as et,Zt as tt,_i as J,bi as Y,di as nt,ei as rt,er as it,fa as at,gi as ot,ha as st,hi as ct,it as lt,jr as ut,lr as X,ma as dt,mi as ft,nr as pt,pa as mt,ra as ht,st as gt,tr as Z,ui as _t,wi as vt,wn as yt,xi as bt,yi as Q,zi as xt}from"./common-DlW3qRTQ.js";import{n as $,t as St}from"./table-5pjI7ihN.js";import{t as Ct}from"./input-number-BF0uWlX2.js";import{n as wt,r as Tt}from"./radio-BmI00y-5.js";import{t as Et}from"./pagination-BN87kdDs.js";import{t as Dt}from"./slider-YJlo4Ibo.js";import{t as Ot}from"./popover-DOg0KdzK.js";import{r as kt}from"./useSpaces-DnSZteHf.js";import{o as At}from"./keys-Cm97UJHM.js";import{A as jt,C as Mt,D as Nt,E as Pt,F as Ft,G as It,I as Lt,O as Rt,P as zt,_ as Bt,c as Vt,g as Ht,j as Ut,l as Wt,o as Gt,p as Kt,s as qt,t as Jt,v as Yt,w as Xt,x as Zt,z as Qt}from"./composables-CLHFuu4k.js";import{t as $t}from"./useDevices-CuJhDHbf.js";var en=se({modelValue:{type:b(Array)},max:Number,tagType:{...bt.type,default:`info`},tagEffect:bt.effect,effect:{type:b(String),default:`light`},trigger:{type:b(String),default:st.enter},draggable:Boolean,delimiter:{type:[String,RegExp],default:``},size:me,clearable:Boolean,clearIcon:{type:m,default:re},disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},readonly:Boolean,autofocus:Boolean,id:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},placeholder:String,autocomplete:{type:b(String),default:`off`},saveOnBlur:{type:Boolean,default:!0},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},ariaLabel:String}),tn={[dt]:e=>S(e)||Se(e),[at]:e=>S(e)||Se(e),[mt]:e=>a(e),"add-tag":e=>a(e)||S(e),"remove-tag":(e,t)=>a(e)&&ve(t),"drag-tag":(e,t,n)=>ve(e)&&ve(t)&&a(n),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0};function nn({wrapperRef:e,handleDragged:t,afterDragged:n}){let r=we(`input-tag`),i=he(),a=R(!1),o,s,c,l;function u(e){return`.${r.e(`inner`)} .${r.namespace.value}-tag:nth-child(${e+1})`}function d(t,n){o=n,s=e.value.querySelector(u(n)),s&&(s.style.opacity=`0.5`),t.dataTransfer.effectAllowed=`move`}function f(t,n){if(c=n,t.preventDefault(),t.dataTransfer.dropEffect=`move`,Se(o)||o===n){a.value=!1;return}let s=e.value.querySelector(u(n)).getBoundingClientRect(),d=o+1!==n,f=o-1!==n,p=t.clientX-s.left,m=d?f?.5:1:-1,h=f?d?.5:0:1;l=p<=s.width*m?`before`:p>s.width*h?`after`:void 0;let g=e.value.querySelector(`.${r.e(`inner`)}`),_=g.getBoundingClientRect(),v=Number.parseFloat(ce(g,`gap`))/2,y=s.top-_.top,b=-9999;if(l===`before`)b=Math.max(s.left-_.left-v,Math.floor(-v/2));else if(l===`after`){let e=s.right-_.left;b=e+(_.width===e?Math.floor(v/2):v)}de(i.value,{top:`${y}px`,left:`${b}px`}),a.value=!!l}function p(e){e.preventDefault(),s&&(s.style.opacity=``),l&&!Se(o)&&!Se(c)&&o!==c&&t(o,c,l),a.value=!1,o=void 0,s=null,c=void 0,l=void 0,n?.()}return{dropIndicatorRef:i,showDropIndicator:a,handleDragStart:d,handleDragOver:f,handleDragEnd:p}}function rn(){let e=R(!1);return{hovering:e,handleMouseEnter:()=>{e.value=!0},handleMouseLeave:()=>{e.value=!1}}}function an({props:e,emit:t,formItem:n}){let r=Oe(),a=ee(),o=he(),s=R(),l=R(),u=F(()=>[`small`].includes(a.value)?`small`:`default`),d=F(()=>e.modelValue?.length?void 0:e.placeholder),f=F(()=>!(e.readonly||r.value)),p=F(()=>Se(e.max)?!1:(e.modelValue?.length??0)>=e.max),m=F(()=>e.collapseTags?e.modelValue?.slice(0,e.maxCollapseTags):e.modelValue),h=F(()=>e.collapseTags?e.modelValue?.slice(e.maxCollapseTags):[]),g=n=>{let r=[...e.modelValue??[],...ht(n)];t(dt,r),t(at,r),t(`add-tag`,n),s.value=void 0},_=t=>{let n=t.split(e.delimiter),r=n.length>1?n.map(e=>e.trim()).filter(Boolean):[];if(e.max){let t=e.max-(e.modelValue?.length??0);r.splice(t)}return r.length===1?r[0]:r},v=n=>{let r=n.clipboardData?.getData(`text`);if(e.readonly||p.value||!e.delimiter||!r)return;let{selectionStart:i=0,selectionEnd:a=0,value:o}=n.target,s=o.slice(0,i)+r+o.slice(a),c=_(s);c.length&&(g(c),t(mt,s),n.preventDefault())},y=n=>{if(p.value){s.value=void 0;return}if(!se.value){if(e.delimiter&&s.value){let e=_(s.value);e.length&&g(e)}t(mt,n.target.value)}},b=t=>{if(!se.value)switch(je(t)){case e.trigger:t.preventDefault(),t.stopPropagation(),S();break;case st.numpadEnter:e.trigger===st.enter&&(t.preventDefault(),t.stopPropagation(),S());break;case st.backspace:!s.value&&e.modelValue?.length&&(t.preventDefault(),t.stopPropagation(),C(e.modelValue.length-1));break}},x=t=>{if(!(se.value||!i()))switch(je(t)){case st.space:e.trigger===st.space&&(t.preventDefault(),t.stopPropagation(),S());break}},S=()=>{let e=s.value?.trim();!e||p.value||g(e)},C=n=>{let r=(e.modelValue??[]).slice(),[i]=r.splice(n,1);t(dt,r),t(at,r),t(`remove-tag`,i,n)},te=()=>{s.value=void 0,t(dt,void 0),t(at,void 0),t(`clear`)},ne=(n,r,i)=>{let a=(e.modelValue??[]).slice(),[o]=a.splice(n,1),s=r>n&&i===`before`?-1:r<n&&i===`after`?1:0;a.splice(r+s,0,o),t(dt,a),t(at,a),t(`drag-tag`,n,r+s,o)},re=()=>{o.value?.focus()},ie=()=>{o.value?.blur()},{wrapperRef:ae,isFocused:oe}=xt(o,{disabled:r,beforeBlur(e){return l.value?.isFocusInsideContent(e)},afterBlur(){e.saveOnBlur?S():s.value=void 0,e.validateEvent&&n?.validate?.(`blur`).catch(e=>c(e))}}),{isComposing:se,handleCompositionStart:T,handleCompositionUpdate:E,handleCompositionEnd:ce}=Xe({afterComposition:y});return w(()=>e.modelValue,()=>{e.validateEvent&&n?.validate?.(at).catch(e=>c(e))}),{inputRef:o,wrapperRef:ae,tagTooltipRef:l,isFocused:oe,isComposing:se,inputValue:s,size:a,tagSize:u,placeholder:d,closable:f,disabled:r,inputLimit:p,showTagList:m,collapseTagList:h,handleDragged:ne,handlePaste:v,handleInput:y,handleKeydown:b,handleKeyup:x,handleAddTag:S,handleRemoveTag:C,handleClear:te,handleCompositionStart:T,handleCompositionUpdate:E,handleCompositionEnd:ce,focus:re,blur:ie}}function on({props:e,isFocused:t,hovering:n,disabled:r,inputValue:i,size:a,validateState:o,validateIcon:c,needStatusIcon:l}){let u=s(),f=ie(),p=we(`input-tag`),m=we(`input`),h=R(),g=R(),_=F(()=>[p.b(),p.is(`focused`,t.value),p.is(`hovering`,n.value),p.is(`disabled`,r.value),p.m(a.value),p.e(`wrapper`),u.class]),v=F(()=>[u.style]),y=F(()=>[p.e(`inner`),p.is(`draggable`,e.draggable),p.is(`left-space`,!e.modelValue?.length&&!f.prefix),p.is(`right-space`,!e.modelValue?.length&&!x.value)]),b=F(()=>e.clearable&&!r.value&&!e.readonly&&(e.modelValue?.length||i.value)&&(t.value||n.value)),x=F(()=>f.suffix||b.value||o.value&&c.value&&l.value),S=fe({innerWidth:0,collapseItemWidth:0}),C=()=>{if(!g.value)return 0;let e=window.getComputedStyle(g.value);return Number.parseFloat(e.gap||`6px`)},ee=()=>{S.innerWidth=Number.parseFloat(window.getComputedStyle(g.value).width)},te=()=>{S.collapseItemWidth=h.value.getBoundingClientRect().width},ne=F(()=>{if(!e.collapseTags)return{};let t=C(),n=t+11,r=h.value&&e.maxCollapseTags===1?S.innerWidth-S.collapseItemWidth-t-n:S.innerWidth-n;return{maxWidth:`${Math.max(r,0)}px`}});return d(g,ee),d(h,te),{ns:p,nsInput:m,containerKls:_,containerStyle:v,innerKls:y,showClear:b,showSuffix:x,tagStyle:ne,collapseItemRef:h,innerRef:g}}var sn=[`id`,`minlength`,`maxlength`,`disabled`,`readonly`,`autocomplete`,`tabindex`,`placeholder`,`autofocus`,`ariaLabel`],cn=[`textContent`],ln=Ee(C({name:`ElInputTag`,inheritAttrs:!1,__name:`input-tag`,props:en,emits:tn,setup(i,{expose:a,emit:s}){let c=i,u=s,d=et(),p=ie(),{form:m,formItem:h}=x(),{inputId:v}=r(c,{formItemContext:h}),b=F(()=>m?.statusIcon??!1),S=F(()=>h?.validateState||``),C=F(()=>S.value&&f[S.value]),{inputRef:ee,wrapperRef:te,tagTooltipRef:re,isFocused:w,inputValue:ae,size:oe,tagSize:se,placeholder:ce,closable:de,disabled:fe,showTagList:pe,collapseTagList:me,handleDragged:O,handlePaste:he,handleInput:ge,handleKeydown:A,handleKeyup:_e,handleRemoveTag:ve,handleClear:xe,handleCompositionStart:P,handleCompositionUpdate:Se,handleCompositionEnd:I,focus:Ce,blur:we}=an({props:c,emit:u,formItem:h}),{hovering:Te,handleMouseEnter:Ee,handleMouseLeave:R}=rn(),{calculatorRef:Oe,inputStyle:V}=Le(),{dropIndicatorRef:H,showDropIndicator:ke,handleDragStart:Ae,handleDragOver:U,handleDragEnd:je}=nn({wrapperRef:te,handleDragged:O,afterDragged:Ce}),{ns:Me,nsInput:Ne,containerKls:Pe,containerStyle:Fe,innerKls:Ie,showClear:Re,showSuffix:ze,tagStyle:Be,collapseItemRef:Ve,innerRef:W}=on({props:c,hovering:Te,isFocused:w,inputValue:ae,disabled:fe,size:oe,validateState:S,validateIcon:C,needStatusIcon:b});return a({focus:Ce,blur:we}),(r,a)=>(n(),z(`div`,{ref_key:`wrapperRef`,ref:te,class:_(T(Pe)),style:t(T(Fe)),onMouseenter:a[9]||=(...e)=>T(Ee)&&T(Ee)(...e),onMouseleave:a[10]||=(...e)=>T(R)&&T(R)(...e)},[T(p).prefix?(n(),z(`div`,{key:0,class:_(T(Me).e(`prefix`))},[ne(r.$slots,`prefix`)],2)):E(`v-if`,!0),j(`div`,{ref_key:`innerRef`,ref:W,class:_(T(Ie))},[(n(!0),z(N,null,o(T(pe),(e,o)=>(n(),k(T(Y),{key:o,size:T(se),closable:T(de),type:i.tagType,effect:i.tagEffect,draggable:T(de)&&i.draggable,style:t(T(Be)),"disable-transitions":``,onClose:e=>T(ve)(o),onDragstart:e=>T(Ae)(e,o),onDragover:e=>T(U)(e,o),onDragend:T(je),onDrop:a[0]||=L(()=>{},[`stop`])},{default:y(()=>[ne(r.$slots,`tag`,{value:e,index:o},()=>[D(M(e),1)])]),_:2},1032,[`size`,`closable`,`type`,`effect`,`draggable`,`style`,`onClose`,`onDragstart`,`onDragover`,`onDragend`]))),128)),i.collapseTags&&i.modelValue&&i.modelValue.length>i.maxCollapseTags?(n(),k(T(Ke),{key:0,ref_key:`tagTooltipRef`,ref:re,disabled:!i.collapseTagsTooltip,"fallback-placements":[`bottom`,`top`,`right`,`left`],effect:i.effect,placement:`bottom`},{default:y(()=>[j(`div`,{ref_key:`collapseItemRef`,ref:Ve,class:_(T(Me).e(`collapse-tag`))},[B(T(Y),{closable:!1,size:T(se),type:i.tagType,effect:i.tagEffect,"disable-transitions":``},{default:y(()=>[D(` + `+M(i.modelValue.length-i.maxCollapseTags),1)]),_:1},8,[`size`,`type`,`effect`])],2)]),content:y(()=>[j(`div`,{class:_(T(Me).e(`input-tag-list`))},[(n(!0),z(N,null,o(T(me),(e,t)=>(n(),k(T(Y),{key:t,size:T(se),closable:T(de),type:i.tagType,effect:i.tagEffect,"disable-transitions":``,onClose:e=>T(ve)(t+i.maxCollapseTags)},{default:y(()=>[ne(r.$slots,`tag`,{value:e,index:t+i.maxCollapseTags},()=>[D(M(e),1)])]),_:2},1032,[`size`,`closable`,`type`,`effect`,`onClose`]))),128))],2)]),_:3},8,[`disabled`,`effect`])):E(`v-if`,!0),j(`div`,{class:_(T(Me).e(`input-wrapper`))},[e(j(`input`,be({id:T(v),ref_key:`inputRef`,ref:ee,"onUpdate:modelValue":a[1]||=e=>le(ae)?ae.value=e:null},T(d),{type:`text`,minlength:i.minlength,maxlength:i.maxlength,disabled:T(fe),readonly:i.readonly,autocomplete:i.autocomplete,tabindex:i.tabindex,placeholder:T(ce),autofocus:i.autofocus,ariaLabel:i.ariaLabel,class:T(Me).e(`input`),style:T(V),onCompositionstart:a[2]||=(...e)=>T(P)&&T(P)(...e),onCompositionupdate:a[3]||=(...e)=>T(Se)&&T(Se)(...e),onCompositionend:a[4]||=(...e)=>T(I)&&T(I)(...e),onPaste:a[5]||=(...e)=>T(he)&&T(he)(...e),onInput:a[6]||=(...e)=>T(ge)&&T(ge)(...e),onKeydown:a[7]||=(...e)=>T(A)&&T(A)(...e),onKeyup:a[8]||=(...e)=>T(_e)&&T(_e)(...e)}),null,16,sn),[[ye,T(ae)]]),j(`span`,{ref_key:`calculatorRef`,ref:Oe,"aria-hidden":`true`,class:_(T(Me).e(`input-calculator`)),textContent:M(T(ae))},null,10,cn)],2),e(j(`div`,{ref_key:`dropIndicatorRef`,ref:H,class:_(T(Me).e(`drop-indicator`))},null,2),[[ue,T(ke)]])],2),T(ze)?(n(),z(`div`,{key:1,class:_(T(Me).e(`suffix`))},[ne(r.$slots,`suffix`),T(Re)?(n(),k(T(g),{key:0,class:_([T(Me).e(`icon`),T(Me).e(`clear`)]),onMousedown:L(T(De),[`prevent`]),onClick:T(xe)},{default:y(()=>[(n(),k(l(i.clearIcon)))]),_:1},8,[`class`,`onMousedown`,`onClick`])):E(`v-if`,!0),S.value&&C.value&&b.value?(n(),k(T(g),{key:1,class:_([T(Ne).e(`icon`),T(Ne).e(`validateIcon`),T(Ne).is(`loading`,S.value===`validating`)])},{default:y(()=>[(n(),k(l(C.value)))]),_:1},8,[`class`])):E(`v-if`,!0)],2)):E(`v-if`,!0)],38))}})),un=C({name:`ElSpaceItem`,props:se({prefixCls:{type:String}}),setup(e,{slots:t}){let n=we(`space`),r=F(()=>`${e.prefixCls||n.b()}__item`);return()=>te(`div`,{class:r.value},ne(t,`default`))}}),dn={small:8,default:12,large:16};function fn(e){let t=we(`space`),n=F(()=>[t.b(),t.m(e.direction),e.class]),r=R(0),i=R(0),a=F(()=>[e.wrap||e.fill?{flexWrap:`wrap`}:{},{alignItems:e.alignment},{rowGap:`${i.value}px`,columnGap:`${r.value}px`},e.style]),o=F(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return oe(()=>{let{size:t=`small`,wrap:n,direction:a,fill:o}=e;if(S(t)){let[e=0,n=0]=t;r.value=e,i.value=n}else{let e;e=ve(t)?t:dn[t||`small`]||dn.small,(n||o)&&a===`horizontal`?r.value=i.value=e:a===`horizontal`?(r.value=e,i.value=0):(i.value=e,r.value=0)}}),{classes:n,containerStyle:a,itemStyle:o}}var pn=Ee(C({name:`ElSpace`,props:se({direction:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},class:{type:b([String,Object,Array]),default:``},style:{type:b([String,Array,Object]),default:``},alignment:{type:b(String),default:`center`},prefixCls:{type:String},spacer:{type:b([Object,String,Number,Array]),default:null,validator:e=>v(e)||ve(e)||a(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:ae,validator:e=>ve(e)||S(e)&&e.length===2&&e.every(ve)}}),setup(e,{slots:t}){let{classes:n,containerStyle:r,itemStyle:i}=fn(e);function a(t,n=``,r=[]){let{prefixCls:o}=e;return t.forEach((e,t)=>{Ne(e)?S(e.children)&&e.children.forEach((e,t)=>{Ne(e)&&S(e.children)?a(e.children,`${n+t}-`,r):v(e)&&e?.type===pe?r.push(e):r.push(B(un,{style:i.value,prefixCls:o,key:`nested-${n+t}`},{default:()=>[e]},$e.PROPS|$e.STYLE,[`style`,`prefixCls`]))}):Qe(e)&&r.push(B(un,{style:i.value,prefixCls:o,key:`LoopKey${n+t}`},{default:()=>[e]},$e.PROPS|$e.STYLE,[`style`,`prefixCls`]))}),r}return()=>{let{spacer:o,direction:s}=e,c=ne(t,`default`,{key:0},()=>[]);if((c.children??[]).length===0)return null;if(S(c.children)){let e=a(c.children);if(o){let t=e.length-1;e=e.reduce((e,n,r)=>{let a=[...e,n];return r!==t&&a.push(B(`span`,{style:[i.value,s===`vertical`?`width: 100%`:null],key:r},[v(o)?o:D(o,$e.TEXT)],$e.STYLE)),a},[])}return B(`div`,{class:n.value,style:r.value},e,$e.STYLE|$e.CLASS)}return c.children}}})),mn=C({name:`ChannelsPropertiesTableColumnChannel`,__name:`channels-properties-table-column-channel`,props:{property:{},filters:{},withFilters:{type:Boolean,default:!0}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{channel:a,fetchChannel:o}=Ft({id:r.property.channel});return u(()=>{o().catch(()=>{})}),(t,o)=>r.withFilters?(n(),k(T(Re),{key:0,type:r.filters.channels.includes(e.property.channel)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=L(t=>i(`filter-by`,e.property.channel,!r.filters.channels.includes(e.property.channel)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.channels.includes(e.property.channel)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)?.name||e.property.channel),1)]),_:1},8,[`type`])):(n(),k(T(q),{key:1,class:`font-400!`},{default:y(()=>[D(M(T(a)?.name||e.property.channel),1)]),_:1}))}}),hn={class:`flex flex-row items-center gap-1`},gn=C({name:`ChannelsPropertiesTableColumnDataType`,__name:`channels-properties-table-column-data-type`,props:{property:{},filters:{},withFilters:{type:Boolean,default:!0}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),o=F(()=>r.property.dataType===Z.enum),s=F(()=>r.property.dataType===Z.char||r.property.dataType===Z.uchar||r.property.dataType===Z.short||r.property.dataType===Z.ushort||r.property.dataType===Z.int||r.property.dataType===Z.uint||r.property.dataType===Z.float),c=F(()=>o.value&&Array.isArray(r.property.format)?r.property.format.filter(e=>e!==null).map(e=>e.toString()):[]),l=F(()=>s.value&&Array.isArray(r.property.format)&&r.property.format.length===2?Number(r.property.format[0]):null),u=F(()=>s.value&&Array.isArray(r.property.format)&&r.property.format.length===2?Number(r.property.format[1]):null),d=F(()=>s.value&&r.property.step?r.property.step:null),f=F(()=>r.property.invalid?r.property.invalid:null);return(t,p)=>(n(),z(`div`,hn,[r.withFilters?(n(),k(T(Re),{key:0,type:r.filters.dataTypes.includes(e.property.dataType)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:p[0]||=L(t=>i(`filter-by`,e.property.dataType,!r.filters.dataTypes.includes(e.property.dataType)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.dataTypes.includes(e.property.dataType)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)(`devicesModule.dataTypes.${r.property.dataType}`)),1)]),_:1},8,[`type`])):(n(),k(T(q),{key:1,class:`font-400!`},{default:y(()=>[D(M(T(a)(`devicesModule.dataTypes.${r.property.dataType}`)),1)]),_:1})),o.value?(n(),k(T(Ot),{key:2,title:T(a)(`devicesModule.table.channelsProperties.columns.dataType.type.enum`),width:200,placement:`left`,trigger:`click`},{reference:y(()=>[B(T(A),{link:``},{default:y(()=>[B(T(I),{icon:`mdi:information-outline`,class:`font-size-base`})]),_:1})]),default:y(()=>[B(T(q),{class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.format.title.enum`))+`:`,1),D(` `+M(c.value.join(`, `)||T(a)(`devicesModule.texts.misc.noValuesProvided`)),1)]),_:1}),f.value===null?E(``,!0):(n(),k(T(q),{key:0,class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.invalid.title`))+`:`,1),D(` `+M(f.value),1)]),_:1}))]),_:1},8,[`title`])):s.value?(n(),k(T(Ot),{key:3,title:T(a)(`devicesModule.table.channelsProperties.columns.dataType.type.numeric`),width:200,trigger:`click`,placement:`left`},{reference:y(()=>[B(T(A),{link:``},{default:y(()=>[B(T(I),{icon:`mdi:information-outline`,class:`font-size-base`})]),_:1})]),default:y(()=>[B(T(q),{class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.format.title.min`))+`:`,1),D(` `+M(l.value??T(a)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),B(T(q),{class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.format.title.max`))+`:`,1),D(` `+M(u.value??T(a)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),B(T(q),{class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.step.title`))+`:`,1),D(` `+M(d.value??T(a)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),f.value===null?E(``,!0):(n(),k(T(q),{key:0,class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.invalid.title`))+`:`,1),D(` `+M(f.value),1)]),_:1}))]),_:1},8,[`title`])):E(``,!0)]))}}),_n=C({name:`ChannelsPropertiesTableColumnIcon`,__name:`channels-properties-table-column-icon`,props:{property:{}},setup(e){let{icon:t}=Zt({id:e.property.id});return(e,r)=>(n(),k(T(ke),{size:32},{default:y(()=>[B(T(I),{icon:T(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),vn=[`title`],yn=C({name:`ChannelsPropertiesTableColumnValue`,__name:`channels-properties-table-column-value`,props:{property:{}},setup(e){let t=e,r=F(()=>{let e=t.property.value;return typeof e==`object`&&e&&`value`in e?e.value:e}),i=F(()=>{let e=t.property.value;if(typeof e==`object`&&e&&`trend`in e)switch(e.trend){case`rising`:return`↑`;case`falling`:return`↓`;case`stable`:return`→`}return null}),a=F(()=>{let e=t.property.value;return typeof e==`object`&&e&&`trend`in e?e.trend??``:``});return(e,o)=>t.property.dataType===T(Z).string?(n(),k(T(q),{key:0,truncated:``},{default:y(()=>[D(M(r.value),1)]),_:1})):(n(),z(N,{key:1},[D(M(r.value===null?`-`:r.value)+M(t.property.unit?` ${t.property.unit}`:``)+` `,1),i.value?(n(),z(`span`,{key:0,title:a.value},M(i.value),9,vn)):E(``,!0)],64))}}),bn={key:0,class:`h-full w-full leading-normal`},xn={key:1,class:`h-full w-full leading-normal`},Sn={key:2,class:`h-full w-full leading-normal`},Cn={class:`block`},wn=C({name:`ChannelsPropertiesTable`,__name:`channels-properties-table`,props:{items:{},totalRows:{},sortBy:{},sortDir:{},loading:{type:Boolean},filters:{},filtersActive:{type:Boolean},withChannelColumn:{type:Boolean,default:!1},withFilters:{type:Boolean,default:!0},tableHeight:{}},emits:[`edit`,`remove`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(r,{emit:i}){let a=r,s=i,{t:c}=O(),{isMDDevice:l}=ut(),u=F(()=>a.totalRows===0),d=We(a,`filters`,s),f=te(H,{direction:`vertical`}),p=({prop:e,order:t})=>{s(`update:sort-by`,e),s(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},m=e=>{s(`selected-changes`,e)},h=(e,t,n)=>{if(e===`channel`){let e=d.value.channels;n===!0?e.push(t):e=d.value.channels.filter(e=>e!==t),d.value.channels=Array.from(new Set(e))}else if(e===`category`){let e=d.value.categories;n===!0?e.push(t):e=d.value.categories.filter(e=>e!==t),d.value.categories=Array.from(new Set(e))}else if(e===`permission`){let e=d.value.permissions;n===!0?e.push(t):e=d.value.permissions.filter(e=>e!==t),d.value.permissions=Array.from(new Set(e))}else if(e===`dataType`){let e=d.value.dataTypes;n===!0?e.push(t):e=d.value.dataTypes.filter(e=>e!==t),d.value.dataTypes=Array.from(new Set(e))}};return(i,_)=>e((n(),k(T(St),{"element-loading-text":T(c)(`devicesModule.texts.channelsProperties.loadingProperties`),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:r.tableHeight+`px`}),"max-height":r.tableHeight,onSortChange:p,onSelectionChange:m},{empty:y(()=>[a.loading?(n(),z(`div`,bn,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:tune`})]),secondary:y(()=>[B(T(I),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):u.value&&!a.loading?(n(),z(`div`,xn,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:tune`})]),secondary:y(()=>[B(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[D(M(T(c)(`devicesModule.texts.channelsProperties.noProperties`)),1)]),_:1})])):a.filtersActive&&!a.loading?(n(),z(`div`,Sn,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:tune`})]),secondary:y(()=>[B(T(I),{icon:`mdi:filter-multiple`})]),_:1})]),title:y(()=>[B(T(q),{class:`block`},{default:y(()=>[D(M(T(c)(`devicesModule.texts.channelsProperties.noFilteredProperties`)),1)]),_:1}),B(T(A),{type:`primary`,plain:``,class:`mt-4`,onClick:_[0]||=e=>s(`reset-filters`)},{icon:y(()=>[B(T(I),{icon:`mdi:filter-off`})]),default:y(()=>[D(` `+M(T(c)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):E(``,!0)]),default:y(()=>[T(l)?(n(),k(T($),{key:0,type:`selection`,width:30})):E(``,!0),B(T($),{width:60,align:`center`},{default:y(e=>[B(_n,{property:e.row},null,8,[`property`])]),_:1}),B(T($),{label:T(c)(`devicesModule.table.channelsProperties.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150,"class-name":`py-0!`},{default:y(e=>[e.row.name?(n(),z(N,{key:0},[j(`strong`,Cn,M(e.row.name),1),a.withFilters?(n(),k(T(Re),{key:0,type:T(d).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400! block! leading-4`,onClick:L(t=>h(`category`,e.row.category,!T(d).categories.includes(e.row.category)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[T(d).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(T(c)(`devicesModule.categories.channelsProperties.${e.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])):(n(),k(T(q),{key:1,class:`font-400! block! leading-4`},{default:y(()=>[D(M(T(c)(`devicesModule.categories.channelsProperties.${e.row.category}`)),1)]),_:2},1024))],64)):(n(),z(N,{key:1},[a.withFilters?(n(),k(T(Re),{key:0,type:T(d).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:L(t=>h(`category`,e.row.category,!T(d).categories.includes(e.row.category)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[T(d).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(T(c)(`devicesModule.categories.channelsProperties.${e.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])):(n(),k(T(q),{key:1,class:`font-400!`},{default:y(()=>[D(M(T(c)(`devicesModule.categories.channelsProperties.${e.row.category}`)),1)]),_:2},1024))],64))]),_:1},8,[`label`]),a.withChannelColumn?(n(),k(T($),{key:1,label:T(c)(`devicesModule.table.channelsProperties.columns.channel.title`),prop:`channel`,"min-width":150},{default:y(e=>[B(mn,{property:e.row,filters:T(d),"with-filters":a.withFilters,onFilterBy:_[1]||=(e,t)=>h(`channel`,e,t)},null,8,[`property`,`filters`,`with-filters`])]),_:1},8,[`label`])):E(``,!0),B(T($),{label:T(c)(`devicesModule.table.channelsProperties.columns.permissions.title`),prop:`permissions`,"min-width":180},{default:y(e=>[B(T(pn),{spacer:T(f),direction:`horizontal`},{default:y(()=>[a.withFilters?(n(!0),z(N,{key:0},o(e.row.permissions,(e,t)=>(n(),k(T(Re),{key:`filter-${t}`,type:T(d).permissions.includes(e)?`danger`:void 0,underline:`never`,onClick:L(t=>h(`permission`,e,!T(d).permissions.includes(e)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[T(d).permissions.includes(e)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(T(c)(`devicesModule.permissions.${e}`)),1)]),_:2},1032,[`type`,`onClick`]))),128)):(n(!0),z(N,{key:1},o(e.row.permissions,(e,t)=>(n(),k(T(q),{key:`no-filter-${t}`},{default:y(()=>[D(M(T(c)(`devicesModule.permissions.${e}`)),1)]),_:2},1024))),128))]),_:2},1032,[`spacer`])]),_:1},8,[`label`]),B(T($),{label:T(c)(`devicesModule.table.channelsProperties.columns.dataType.title`),prop:`dataType`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":180},{default:y(e=>[B(gn,{property:e.row,filters:T(d),"with-filters":a.withFilters,onFilterBy:_[2]||=(e,t)=>h(`dataType`,e,t)},null,8,[`property`,`filters`,`with-filters`])]),_:1},8,[`label`]),B(T($),{label:T(c)(`devicesModule.table.channelsProperties.columns.value.title`),prop:`value`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150},{default:y(e=>[B(yn,{property:e.row},null,8,[`property`])]),_:1},8,[`label`]),B(T($),{width:100,align:`right`},{default:y(e=>[B(T(A),{size:`small`,plain:``,"data-test-id":`edit-property`,onClick:L(t=>s(`edit`,e.row.id),[`stop`])},{icon:y(()=>[B(T(I),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),B(T(A),{size:`small`,type:`warning`,"data-test-id":`remove-property`,plain:``,class:`ml-1!`,onClick:L(t=>s(`remove`,e.row.id),[`stop`])},{icon:y(()=>[B(T(I),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[T(Pe),a.loading]])}}),Tn={class:`flex flex-row items-center`},En={class:`flex-grow flex flex-row items-center`},Dn={class:`ml-3`},On={class:`flex-grow flex flex-row items-center justify-end`},kn=C({name:`ChannelDetail`,__name:`channel-detail`,props:{channel:{}},emits:[`channel-edit`,`channel-remove`,`property-add`,`property-edit`,`property-remove`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{properties:o,totalRows:s,sortBy:c,sortDir:l,filters:d,filtersActive:f,fetchProperties:p,areLoading:m,resetFilter:h}=Mt({channelId:r.channel.id,key:`channel-detail-${r.channel.id}`}),{canAddAnotherProperty:g}=Rt({id:r.channel.id}),_=()=>{h()};return u(()=>{p().catch(()=>{})}),(t,u)=>(n(),k(T(ot),{"body-class":`p-0!`,style:{"--el-card-padding":`0.5rem`}},{header:y(()=>[j(`div`,Tn,[j(`div`,En,[j(`div`,null,[B(T(ke),{size:32},{default:y(()=>[B(T(I),{icon:`mdi:chip`,class:`w[20px] h[20px]`})]),_:1})]),j(`div`,Dn,[j(`strong`,null,M(e.channel.name),1),B(T(q),{class:`block`},{default:y(()=>[D(M(T(a)(`devicesModule.categories.channels.${e.channel.category}`)),1)]),_:1})])]),j(`div`,On,[B(T(A),{type:`primary`,plain:``,class:`px-4!`,size:`small`,disabled:!T(g),"data-test-id":`add-property`,onClick:u[0]||=e=>i(`property-add`,r.channel.id)},{icon:y(()=>[B(T(I),{icon:`mdi:plus`})]),default:y(()=>[D(` `+M(T(a)(`devicesModule.buttons.addProperty.title`)),1)]),_:1},8,[`disabled`]),B(T(A),{plain:``,class:`ml-2! px-4!`,size:`small`,"data-test-id":`edit-channel`,onClick:u[1]||=e=>i(`channel-edit`,r.channel.id)},{icon:y(()=>[B(T(I),{icon:`mdi:pencil`})]),_:1}),B(T(A),{type:`warning`,plain:``,class:`ml-2! px-4!`,size:`small`,"data-test-id":`remove-channel`,onClick:u[2]||=e=>i(`channel-remove`,r.channel.id)},{icon:y(()=>[B(T(I),{icon:`mdi:trash`})]),_:1})])])]),default:y(()=>[B(wn,{filters:T(d),"onUpdate:filters":u[3]||=e=>le(d)?d.value=e:null,"sort-by":T(c),"onUpdate:sortBy":u[4]||=e=>le(c)?c.value=e:null,"sort-dir":T(l),"onUpdate:sortDir":u[5]||=e=>le(l)?l.value=e:null,items:T(o),"total-rows":T(s),loading:T(m),"filters-active":T(f),"with-filters":!1,onEdit:u[6]||=e=>i(`property-edit`,r.channel.id,e),onRemove:u[7]||=e=>i(`property-remove`,r.channel.id,e),onResetFilters:_},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`])]),_:1}))}}),An=[`element-loading-text`],jn=C({name:`ChannelAddForm`,__name:`channel-add-form`,props:{id:{},type:{},device:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:It.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:r}){let i=t,a=r,{t:s}=O(),{devices:c}=$t(),{categoriesOptions:l,devicesOptions:u,model:d,formEl:f,formChanged:p,submit:m,formResult:h,loadingDevices:g}=Nt({id:i.id,type:i.type,deviceId:i.device?.id}),_=fe({device:[{required:!0,message:s(`devicesModule.fields.channels.device.validation.required`),trigger:`change`}],category:[{required:!0,message:s(`devicesModule.fields.channels.category.validation.required`),trigger:`change`}],name:[{required:!0,message:s(`devicesModule.fields.channels.name.validation.required`),trigger:`change`}]}),v=F(()=>c.value.find(e=>e.id===d.device));return w(()=>h.value,async e=>{a(`update:remote-form-result`,e)}),w(()=>i.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),m().catch(()=>{}))}),w(()=>i.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!f.value)return;f.value.resetFields()}}),w(()=>p.value,e=>{a(`update:remote-form-changed`,e)}),(t,r)=>(n(),k(T(Ue),{ref_key:`formEl`,ref:f,model:T(d),rules:_,"label-position":`top`,"status-icon":``},{default:y(()=>[e((n(),z(`div`,{"element-loading-text":T(s)(`devicesModule.texts.devices.loadingDevices`)},[B(T(G),{label:T(s)(`devicesModule.fields.channels.device.title`),prop:[`device`]},{default:y(()=>[B(T(Q),{modelValue:T(d).device,"onUpdate:modelValue":r[0]||=e=>T(d).device=e,placeholder:T(s)(`devicesModule.fields.channels.device.placeholder`),name:`device`,filterable:``,readonly:i.device!==void 0,disabled:i.device!==void 0},{default:y(()=>[(n(!0),z(N,null,o(T(u),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`readonly`,`disabled`])]),_:1},8,[`label`]),v.value?(n(),k(T(U),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channels.device.description`),description:T(s)(`devicesModule.texts.devices.description.${v.value.category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0)],8,An)),[[T(Pe),T(g)]]),B(T(H)),B(T(G),{label:T(s)(`devicesModule.fields.channels.id.title`),prop:[`id`]},{default:y(()=>[B(T(K),{modelValue:T(d).id,"onUpdate:modelValue":r[1]||=e=>T(d).id=e,placeholder:T(s)(`devicesModule.fields.channels.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(s)(`devicesModule.fields.channels.name.title`),prop:[`name`]},{default:y(()=>[B(T(K),{modelValue:T(d).name,"onUpdate:modelValue":r[2]||=e=>T(d).name=e,placeholder:T(s)(`devicesModule.fields.channels.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(s)(`devicesModule.fields.channels.category.title`),prop:[`category`]},{default:y(()=>[B(T(Q),{modelValue:T(d).category,"onUpdate:modelValue":r[3]||=e=>T(d).category=e,placeholder:T(s)(`devicesModule.fields.channels.category.placeholder`),name:`category`,filterable:``},{default:y(()=>[(n(!0),z(N,null,o(T(l),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(d).category?(n(),k(T(U),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channels.category.description`),description:T(s)(`devicesModule.texts.channels.description.${T(d).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0),B(T(H)),B(T(G),{label:T(s)(`devicesModule.fields.channels.description.title`),prop:[`description`]},{default:y(()=>[B(T(K),{modelValue:T(d).description,"onUpdate:modelValue":r[4]||=e=>T(d).description=e,placeholder:T(s)(`devicesModule.fields.channels.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),Mn=[`element-loading-text`],Nn=C({name:`ChannelEditForm`,__name:`channel-edit-form`,props:{channel:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:It.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:r}){let i=t,a=r,{t:s}=O(),{categoriesOptions:c,devicesOptions:l,model:u,formEl:d,formChanged:f,submit:p,formResult:m,loadingDevices:h}=Pt({channel:i.channel}),{device:g}=Ht({id:i.channel.device}),_=fe({name:[{required:!0,message:s(`devicesModule.fields.channels.name.validation.required`),trigger:`change`}]});return w(()=>m.value,async e=>{a(`update:remote-form-result`,e)}),w(()=>i.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),p().catch(()=>{}))}),w(()=>i.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!d.value)return;d.value.resetFields()}}),w(()=>f.value,e=>{a(`update:remote-form-changed`,e)}),(t,r)=>(n(),k(T(Ue),{ref_key:`formEl`,ref:d,model:T(u),rules:_,"label-position":`top`,"status-icon":``},{default:y(()=>[e((n(),z(`div`,{"element-loading-text":T(s)(`devicesModule.texts.devices.loadingDevices`)},[B(T(G),{label:T(s)(`devicesModule.fields.channels.device.title`),prop:[`device`]},{default:y(()=>[B(T(Q),{modelValue:T(u).device,"onUpdate:modelValue":r[0]||=e=>T(u).device=e,placeholder:T(s)(`devicesModule.fields.channels.device.placeholder`),name:`device`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),z(N,null,o(T(l),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(g)?(n(),k(T(U),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channels.device.description`),description:T(s)(`devicesModule.texts.devices.description.${T(g).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0)],8,Mn)),[[T(Pe),T(h)]]),B(T(H)),B(T(G),{label:T(s)(`devicesModule.fields.channels.id.title`),prop:[`id`]},{default:y(()=>[B(T(K),{modelValue:T(u).id,"onUpdate:modelValue":r[1]||=e=>T(u).id=e,placeholder:T(s)(`devicesModule.fields.channels.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(s)(`devicesModule.fields.channels.name.title`),prop:[`name`]},{default:y(()=>[B(T(K),{modelValue:T(u).name,"onUpdate:modelValue":r[2]||=e=>T(u).name=e,placeholder:T(s)(`devicesModule.fields.channels.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(s)(`devicesModule.fields.channels.category.title`),prop:[`category`]},{default:y(()=>[B(T(Q),{modelValue:T(u).category,"onUpdate:modelValue":r[3]||=e=>T(u).category=e,placeholder:T(s)(`devicesModule.fields.channels.category.placeholder`),name:`category`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),z(N,null,o(T(c),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(u).category?(n(),k(T(U),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channels.category.description`),description:T(s)(`devicesModule.texts.channels.description.${T(u).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0),B(T(H)),B(T(G),{label:T(s)(`devicesModule.fields.channels.description.title`),prop:[`description`]},{default:y(()=>[B(T(K),{modelValue:T(u).description,"onUpdate:modelValue":r[4]||=e=>T(u).description=e,placeholder:T(s)(`devicesModule.fields.channels.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),Pn={class:`flex w-full`},Fn=C({name:`ChannelsFilter`,__name:`channels-filter`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`,`adjust-list`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),o=R(void 0),s=We(r,`filters`,i);return w(()=>s.value.search,e=>{e===``&&(s.value.search=void 0)}),(e,t)=>(n(),z(`div`,Pn,[B(T(Ue),{ref_key:`filterFormEl`,ref:o,inline:!0,model:T(s),class:`grow-1`},{default:y(()=>[B(T(K),{modelValue:T(s).search,"onUpdate:modelValue":t[0]||=e=>T(s).search=e,placeholder:T(a)(`devicesModule.fields.channels.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:y(()=>[B(T(g),null,{default:y(()=>[B(T(I),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),r.filtersActive?(n(),k(T(A),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[1]||=e=>i(`reset-filters`)},{default:y(()=>[B(T(I),{icon:`mdi:filter-off`})]),_:1})):E(``,!0),B(T(A),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`adjust-list`)},{default:y(()=>[B(T(I),{icon:`mdi:slider`})]),_:1})]))}}),In=C({name:`ChannelsTableColumnDevice`,__name:`channels-table-column-device`,props:{channel:{},filters:{}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{device:a,fetchDevice:o}=Ht({id:r.channel.device});return u(()=>{o().catch(()=>{})}),(t,o)=>(n(),k(T(Re),{type:r.filters.devices.includes(e.channel.device)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=L(t=>i(`filter-by`,e.channel.device,!r.filters.devices.includes(e.channel.device)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.devices.includes(e.channel.device)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)?.name||e.channel.device),1)]),_:1},8,[`type`]))}}),Ln=C({name:`ChannelsTableColumnIcon`,__name:`channels-table-column-icon`,props:{channel:{}},setup(e){let{icon:t}=Ut({id:e.channel.id});return(e,r)=>(n(),k(T(ke),{size:32},{default:y(()=>[B(T(I),{icon:T(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),Rn={key:0,class:`h-full w-full leading-normal`},zn={key:1,class:`h-full w-full leading-normal`},Bn={key:2,class:`h-full w-full leading-normal`},Vn={class:`block`},Hn=C({name:`ChannelsTable`,__name:`channels-table`,props:{items:{},totalRows:{},sortBy:{},sortDir:{},loading:{type:Boolean},filters:{},filtersActive:{type:Boolean},tableHeight:{}},emits:[`detail`,`edit`,`remove`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(r,{emit:i}){let a=r,o=i,{t:s}=O(),{isMDDevice:c}=ut(),l=F(()=>a.totalRows===0),u=We(a,`filters`,o),d=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},f=e=>{o(`selected-changes`,e)},p=e=>{o(`detail`,e.id)},m=(e,t,n)=>{if(e===`device`){let e=u.value.devices;n===!0?e.push(t):e=u.value.devices.filter(e=>e!==t),u.value.devices=Array.from(new Set(e))}else if(e===`category`){let e=u.value.categories;n===!0?e.push(t):e=u.value.categories.filter(e=>e!==t),u.value.categories=Array.from(new Set(e))}};return(i,h)=>e((n(),k(T(St),{"element-loading-text":T(s)(`devicesModule.texts.channels.loadingChannels`),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:r.tableHeight+`px`}),"max-height":r.tableHeight,onSortChange:d,onSelectionChange:f,onRowClick:p},{empty:y(()=>[a.loading?(n(),z(`div`,Rn,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:chip`})]),secondary:y(()=>[B(T(I),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):l.value&&!a.loading?(n(),z(`div`,zn,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:chip`})]),secondary:y(()=>[B(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[D(M(T(s)(`devicesModule.texts.channels.noChannels`)),1)]),_:1})])):a.filtersActive&&!a.loading?(n(),z(`div`,Bn,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:chip`})]),secondary:y(()=>[B(T(I),{icon:`mdi:filter-multiple`})]),_:1})]),title:y(()=>[B(T(q),{class:`block`},{default:y(()=>[D(M(T(s)(`devicesModule.texts.channels.noFilteredChannels`)),1)]),_:1}),B(T(A),{type:`primary`,plain:``,class:`mt-4`,onClick:h[0]||=e=>o(`reset-filters`)},{icon:y(()=>[B(T(I),{icon:`mdi:filter-off`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):E(``,!0)]),default:y(()=>[T(c)?(n(),k(T($),{key:0,type:`selection`,width:30})):E(``,!0),B(T($),{width:60,align:`center`},{default:y(e=>[B(Ln,{channel:e.row},null,8,[`channel`])]),_:1}),B(T($),{label:T(s)(`devicesModule.table.channels.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150,"class-name":`py-0!`},{default:y(e=>[e.row.description?(n(),z(N,{key:0},[j(`strong`,Vn,M(e.row.name),1),B(T(q),{size:`small`,class:`block leading-4`,truncated:``},{default:y(()=>[D(M(e.row.description),1)]),_:2},1024)],64)):(n(),z(N,{key:1},[D(M(e.row.name),1)],64))]),_:1},8,[`label`]),B(T($),{label:T(s)(`devicesModule.table.channels.columns.device.title`),prop:`device`,"min-width":180},{default:y(e=>[B(In,{channel:e.row,filters:T(u),onFilterBy:h[1]||=(e,t)=>m(`device`,e,t)},null,8,[`channel`,`filters`])]),_:1},8,[`label`]),B(T($),{label:T(s)(`devicesModule.table.channels.columns.category.title`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:180},{default:y(e=>[B(T(Re),{type:T(u).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:L(t=>m(`category`,e.row.category,!T(u).categories.includes(e.row.category)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[T(u).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(T(s)(`devicesModule.categories.channels.${e.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),B(T($),{width:190,align:`right`},{default:y(e=>[B(T(A),{size:`small`,plain:``,"data-test-id":`detail-channel`,onClick:L(t=>o(`detail`,e.row.id),[`stop`])},{icon:y(()=>[B(T(I),{icon:`mdi:file-search-outline`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),B(T(A),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-channel`,onClick:L(t=>o(`edit`,e.row.id),[`stop`])},{icon:y(()=>[B(T(I),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),B(T(A),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-channel`,onClick:L(t=>o(`remove`,e.row.id),[`stop`])},{icon:y(()=>[B(T(I),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[T(Pe),a.loading]])}}),Un=C({name:`ListChannels`,__name:`list-channels`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean}},emits:[`detail`,`edit`,`remove`,`adjust-list`,`reset-filters`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`],setup(e,{emit:t}){let r=e,i=t,{isMDDevice:a}=ut(),o=null,s=R(null),c=R(null),l=We(r,`filters`,i),d=R(r.sortBy),f=R(r.sortDir),p=R(r.paginatePage),m=R(r.paginateSize),g=R(250),_=e=>{i(`detail`,e)},v=e=>{i(`edit`,e)},b=e=>{i(`remove`,e)},x=()=>{i(`reset-filters`)},S=e=>{i(`update:paginate-size`,e)},C=e=>{i(`update:paginate-page`,e)};return u(()=>{if(!s.value)return;let e=()=>{g.value=s.value.clientHeight-c.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(o=new ResizeObserver(e),o.observe(s.value)),e()}),h(()=>{o&&s.value&&o.unobserve(s.value)}),w(()=>d.value,e=>{i(`update:sort-by`,e)}),w(()=>f.value,e=>{i(`update:sort-dir`,e)}),w(()=>r.paginatePage,e=>{p.value=e}),w(()=>r.paginateSize,e=>{m.value=e}),w(()=>r.sortDir,e=>{f.value=e}),w(()=>r.sortBy,e=>{d.value=e}),(e,t)=>(n(),z(N,null,[B(T(ot),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:y(()=>[B(Fn,{filters:T(l),"onUpdate:filters":t[0]||=e=>le(l)?l.value=e:null,"filters-active":r.filtersActive,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`)},null,8,[`filters`,`filters-active`])]),_:1}),j(`div`,{ref_key:`wrapper`,ref:s,class:`flex-grow overflow-hidden`},[B(T(ot),{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:y(()=>[B(Hn,{filters:T(l),"onUpdate:filters":t[3]||=e=>le(l)?l.value=e:null,"sort-by":d.value,"onUpdate:sortBy":t[4]||=e=>d.value=e,"sort-dir":f.value,"onUpdate:sortDir":t[5]||=e=>f.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":g.value,onDetail:_,onEdit:v,onRemove:b,onResetFilters:x},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),j(`div`,{ref_key:`paginator`,ref:c,class:`flex justify-center w-full py-4`},[B(T(Et),{"current-page":p.value,"onUpdate:currentPage":t[6]||=e=>p.value=e,"page-size":m.value,"onUpdate:pageSize":t[7]||=e=>m.value=e,layout:T(a)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:S,onCurrentChange:C},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),Wn={class:`px-2`},Gn={class:`px-5 py-2 text-center`},Kn=ge(C({name:`ListChannelsAdjust`,__name:`list-channels-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,i=t,a=we(`list-channels-adjust`),{t:s}=O(),c=Object.values(V),l=R([`categories`]),u=We(r,`filters`,i);return(e,t)=>(n(),z(N,null,[B(T(Ie),{teleport:``},{icon:y(()=>[B(T(I),{icon:`mdi:filter`})]),title:y(()=>[D(M(T(s)(`devicesModule.headings.channels.adjustFilters`)),1)]),subtitle:y(()=>[D(M(T(s)(`devicesModule.subHeadings.channels.adjustFilters`)),1)]),_:1}),j(`div`,{class:_([[T(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[B(T(vt),{class:`flex-grow`},{default:y(()=>[B(T(_t),{modelValue:l.value,"onUpdate:modelValue":t[1]||=e=>l.value=e},{default:y(()=>[B(T(nt),{name:`categories`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.channels.category.title`)),1)]),_:1})]),default:y(()=>[j(`div`,Wn,[B(T(Q),{modelValue:T(u).categories,"onUpdate:modelValue":t[0]||=e=>T(u).categories=e,placeholder:T(s)(`devicesModule.filters.channels.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:y(()=>[(n(!0),z(N,null,o(T(c),(e,t)=>(n(),k(T(J),{key:t,label:T(s)(`devicesModule.categories.channels.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),j(`div`,Gn,[B(T(A),{disabled:!r.filtersActive,onClick:t[2]||=e=>i(`reset-filters`)},{icon:y(()=>[B(T(I),{icon:`mdi:filter-remove`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-1ba3feea`]]),qn=({channel:e,property:t,field:n})=>{let r=jt(e,t);if([`category`,`required`,`description`].includes(n))throw new Qt(`Wrong field type provided`);return{required:r?.required??!1,description:r?.description,value:r&&n in r?r[n]:void 0}},Jn=C({name:`ChannelPropertyFormDataType`,__name:`channel-property-form-data-type`,props:{modelValue:{},dataTypesOptions:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:s}=qn({channel:r.channelCategory,property:r.propertyCategory,field:`data_type`}),c=R(s!==void 0),l=R(!c.value&&r.modelValue?r.modelValue:s??Z.unknown);return w(()=>l.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(e,t)=>(n(),z(N,null,[B(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.dataType.title`),prop:[`dataType`],class:_([{"hidden!":c.value}])},{default:y(()=>[B(T(Q),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.dataType.placeholder`),disabled:r.disabled,name:`dataType`},{default:y(()=>[(n(!0),z(N,null,o(r.dataTypesOptions,e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]),l.value&&!c.value?(n(),k(T(U),{key:0,type:`info`,closable:!1},{default:y(()=>[D(M(T(a)(`devicesModule.texts.channelsProperties.dataTypes.${l.value}`)),1)]),_:1})):E(``,!0)],64))}}),Yn=C({name:`ChannelPropertyFormEnum`,__name:`channel-property-form-enum`,props:{modelValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:s}=qn({channel:r.channelCategory,property:r.propertyCategory,field:`format`}),c=R(s??[]),l=R(s!==void 0);return w(()=>c.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(e,t)=>(n(),k(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.format.title.enum`),prop:[`format`]},{default:y(()=>[l.value?(n(),k(T(Q),{key:0,modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.format.placeholder.enum`),disabled:r.disabled,name:`format`,multiple:``},{default:y(()=>[(n(!0),z(N,null,o(T(s),e=>(n(),k(T(J),{key:e,value:e,label:e},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])):(n(),k(T(ln),{key:1,modelValue:c.value,"onUpdate:modelValue":t[1]||=e=>c.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.format.placeholder.enum`),disabled:r.disabled,name:`format`},null,8,[`modelValue`,`placeholder`,`disabled`]))]),_:1},8,[`label`]))}}),Xn=C({name:`ChannelPropertyFormInvalid`,__name:`channel-property-form-invalid`,props:{modelValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:o}=qn({channel:r.channelCategory,property:r.propertyCategory,field:`invalid`}),s=R(o??``),c=R(o!==void 0);return w(()=>s.value,e=>{i(`update:modelValue`,e||null)},{immediate:!0}),(e,t)=>(n(),k(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.invalid.title`),prop:[`invalid`],class:_([{"hidden!":c.value}])},{default:y(()=>[B(T(K),{modelValue:s.value,"onUpdate:modelValue":t[0]||=e=>s.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.invalid.placeholder`),disabled:r.disabled,name:`invalid`},null,8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),Zn={class:`flex flex-row gap-4`},Qn=C({name:`ChannelPropertyFormMinMax`,__name:`channel-property-form-min-max`,props:{minValue:{},maxValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:minValue`,`update:maxValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:o}=qn({channel:r.channelCategory,property:r.propertyCategory,field:`format`}),s=[o?.[0]??void 0,o?.[1]??void 0],c=R(r.minValue??s[0]??void 0),l=R(r.maxValue??s[1]??void 0);return w(()=>c.value,e=>{i(`update:minValue`,e)},{immediate:!0}),w(()=>l.value,e=>{i(`update:maxValue`,e)},{immediate:!0}),(e,t)=>(n(),z(`div`,Zn,[B(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.format.title.min`),prop:[`format`],class:`grow-1`},{default:y(()=>[B(T(Ct),{modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.format.placeholder.min`),min:typeof s[0]==`number`?s[0]:void 0,max:l.value,disabled:r.disabled,name:`minValue`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`disabled`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.format.title.max`),prop:[`format`],class:`grow-1`},{default:y(()=>[B(T(Ct),{modelValue:l.value,"onUpdate:modelValue":t[1]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.format.placeholder.max`),min:c.value,max:typeof s[1]==`number`?s[1]:void 0,disabled:r.disabled,name:`maxValue`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`disabled`])]),_:1},8,[`label`])]))}}),$n=C({name:`ChannelPropertyFormPermissions`,__name:`channel-property-form-permissions`,props:{modelValue:{},permissionsOptions:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:s}=qn({channel:r.channelCategory,property:r.propertyCategory,field:`permissions`}),c=R(s!==void 0),l=R(!c.value&&r.modelValue?r.modelValue:s??[]);return w(()=>l.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(e,t)=>(n(),k(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.permissions.title`),prop:[`permissions`],class:_([{"hidden!":c.value}])},{default:y(()=>[B(T(Q),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.permissions.placeholder`),disabled:r.disabled,name:`permissions`,multiple:``},{default:y(()=>[(n(!0),z(N,null,o(r.permissionsOptions,e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),er=C({name:`ChannelPropertyFormStep`,__name:`channel-property-form-step`,props:{modelValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:o}=qn({channel:r.channelCategory,property:r.propertyCategory,field:`step`}),s=R(o??``),c=R(o!==void 0);return w(()=>s.value,e=>{i(`update:modelValue`,e||null)},{immediate:!0}),(e,t)=>(n(),k(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.step.title`),prop:[`step`],class:_([{"hidden!":c.value}])},{default:y(()=>[B(T(K),{modelValue:s.value,"onUpdate:modelValue":t[0]||=e=>s.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.step.placeholder`),disabled:r.disabled,name:`step`},null,8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),tr=[`element-loading-text`],nr=C({name:`ChannelPropertyAddForm`,__name:`channel-property-add-form`,props:{id:{},type:{},channel:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:It.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:r}){let i=t,a=r,{t:s}=O(),{categoriesOptions:c,channelsOptions:l,permissionsOptions:u,dataTypesOptions:d,formEl:f,model:p,formChanged:m,submit:h,formResult:g,loadingChannels:_}=Yt({id:i.id,type:i.type,channelId:i.channel?.id}),v=fe({channel:[{required:!0,message:s(`devicesModule.fields.channelsProperties.channel.validation.required`),trigger:`change`}],category:[{required:!0,message:s(`devicesModule.fields.channelsProperties.category.validation.required`),trigger:`change`}],permissions:[{required:!0,message:s(`devicesModule.fields.channelsProperties.permissions.validation.required`),trigger:`change`}],dataType:[{required:!0,message:s(`devicesModule.fields.channelsProperties.dataType.validation.required`),trigger:`change`}]});return w(()=>g.value,async e=>{a(`update:remote-form-result`,e)}),w(()=>i.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),h().catch(()=>{}))}),w(()=>i.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!f.value)return;f.value.resetFields()}}),w(()=>m.value,e=>{a(`update:remote-form-changed`,e)}),(r,i)=>(n(),k(T(Ue),{ref_key:`formEl`,ref:f,model:T(p),rules:v,"label-position":`top`,"status-icon":``},{default:y(()=>[e((n(),z(`div`,{"element-loading-text":T(s)(`devicesModule.texts.channels.loadingChannels`)},[B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.channel.title`),prop:[`channel`]},{default:y(()=>[B(T(Q),{modelValue:T(p).channel,"onUpdate:modelValue":i[0]||=e=>T(p).channel=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.channel.placeholder`),name:`channel`,size:`large`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),z(N,null,o(T(l),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),t.channel?(n(),k(T(U),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channelsProperties.channel.description`),description:T(s)(`devicesModule.texts.channels.description.${t.channel.category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0)],8,tr)),[[T(Pe),T(_)]]),B(T(H)),B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.id.title`),prop:[`id`]},{default:y(()=>[B(T(K),{modelValue:T(p).id,"onUpdate:modelValue":i[1]||=e=>T(p).id=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.name.title`),prop:[`name`]},{default:y(()=>[B(T(K),{modelValue:T(p).name,"onUpdate:modelValue":i[2]||=e=>T(p).name=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.name.placeholder`),name:`name`,size:`large`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.category.title`),prop:[`category`]},{default:y(()=>[B(T(Q),{modelValue:T(p).category,"onUpdate:modelValue":i[3]||=e=>T(p).category=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.category.placeholder`),name:`category`,size:`large`,filterable:``},{default:y(()=>[(n(!0),z(N,null,o(T(c),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),(n(),k($n,{key:`${t.channel?.category||T(V).generic}-${T(p).category}-permissions`,modelValue:T(p).permissions,"onUpdate:modelValue":i[4]||=e=>T(p).permissions=e,"permissions-options":T(u),"channel-category":t.channel?.category||T(V).generic,"property-category":T(p).category},null,8,[`modelValue`,`permissions-options`,`channel-category`,`property-category`])),(n(),k(Jn,{key:`${t.channel?.category||T(V).generic}-${T(p).category}-dataType`,modelValue:T(p).dataType,"onUpdate:modelValue":i[5]||=e=>T(p).dataType=e,"data-types-options":T(d),"channel-category":t.channel?.category||T(V).generic,"property-category":T(p).category},null,8,[`modelValue`,`data-types-options`,`channel-category`,`property-category`])),[T(Z).char,T(Z).uchar,T(Z).short,T(Z).ushort,T(Z).int,T(Z).uint,T(Z).float].includes(T(p).dataType)?(n(),k(Qn,{key:`${t.channel?.category||T(V).generic}-${T(p).category}-min-max`,"min-value":T(p).minValue,"onUpdate:minValue":i[6]||=e=>T(p).minValue=e,"max-value":T(p).maxValue,"onUpdate:maxValue":i[7]||=e=>T(p).maxValue=e,"channel-category":t.channel?.category||T(V).generic,"property-category":T(p).category},null,8,[`min-value`,`max-value`,`channel-category`,`property-category`])):E(``,!0),[T(Z).enum].includes(T(p).dataType)?(n(),k(Yn,{key:`${t.channel?.category||T(V).generic}-${T(p).category}-enum`,modelValue:T(p).enumValues,"onUpdate:modelValue":i[8]||=e=>T(p).enumValues=e,"channel-category":t.channel?.category||T(V).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])):E(``,!0),(n(),k(Xn,{key:`${t.channel?.category||T(V).generic}-${T(p).category}-invalid`,modelValue:T(p).invalid,"onUpdate:modelValue":i[9]||=e=>T(p).invalid=e,"channel-category":t.channel?.category||T(V).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])),[T(Z).char,T(Z).uchar,T(Z).short,T(Z).ushort,T(Z).int,T(Z).uint,T(Z).float].includes(T(p).dataType)?(n(),k(er,{key:`${t.channel?.category||T(V).generic}-${T(p).category}-step`,modelValue:T(p).step,"onUpdate:modelValue":i[10]||=e=>T(p).step=e,"channel-category":t.channel?.category||T(V).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])):E(``,!0),B(T(H)),B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.enterValue.title`),"label-position":`left`},{default:y(()=>[B(T(ze),{modelValue:T(p).enterValue,"onUpdate:modelValue":i[11]||=e=>T(p).enterValue=e},null,8,[`modelValue`])]),_:1},8,[`label`]),T(p).enterValue?(n(),k(T(U),{key:3,type:`warning`,description:T(s)(`devicesModule.texts.channelsProperties.editValue`),closable:!1,"show-icon":``},null,8,[`description`])):E(``,!0),T(p).enterValue&&T(p).dataType===T(Z).bool?(n(),k(T(G),{key:4,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[B(T(ze),{modelValue:T(p).value,"onUpdate:modelValue":i[12]||=e=>T(p).value=e},null,8,[`modelValue`])]),_:1},8,[`label`])):T(p).enterValue&&[T(Z).char,T(Z).uchar,T(Z).short,T(Z).ushort,T(Z).int,T(Z).uint,T(Z).float].includes(T(p).dataType)?(n(),k(T(G),{key:5,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[B(T(Ct),{modelValue:T(p).value,"onUpdate:modelValue":i[13]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),min:T(p).minValue,max:T(p).maxValue,step:T(p).step??void 0,name:`value`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`step`])]),_:1},8,[`label`])):T(p).enterValue&&T(p).dataType===T(Z).enum?(n(),k(T(G),{key:6,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[B(T(Q),{modelValue:T(p).value,"onUpdate:modelValue":i[14]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},{default:y(()=>[(n(!0),z(N,null,o(T(p).enumValues,e=>(n(),k(T(J),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):T(p).enterValue?(n(),k(T(G),{key:7,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[B(T(K),{modelValue:T(p).value,"onUpdate:modelValue":i[15]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):E(``,!0)]),_:1},8,[`model`,`rules`]))}}),rr=[`element-loading-text`],ir=C({name:`ChannelPropertyEditForm`,__name:`channel-property-edit-form`,props:{property:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:It.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:r}){let i=t,a=r,{t:s}=O(),{categoriesOptions:c,channelsOptions:l,permissionsOptions:u,dataTypesOptions:d,formEl:f,model:p,formChanged:m,submit:h,formResult:g,loadingChannels:_}=Bt({property:i.property}),{channel:v}=Ft({id:i.property.channel});return w(()=>g.value,async e=>{a(`update:remote-form-result`,e)}),w(()=>i.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),h().catch(()=>{}))}),w(()=>i.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!f.value)return;f.value.resetFields()}}),w(()=>m.value,e=>{a(`update:remote-form-changed`,e)}),(t,r)=>(n(),k(T(Ue),{ref_key:`formEl`,ref:f,model:T(p),"label-position":`top`,"status-icon":``},{default:y(()=>[e((n(),z(`div`,{"element-loading-text":T(s)(`devicesModule.texts.channels.loadingChannels`)},[B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.channel.title`),prop:[`channel`]},{default:y(()=>[B(T(Q),{modelValue:T(p).channel,"onUpdate:modelValue":r[0]||=e=>T(p).channel=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.channel.placeholder`),name:`channel`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),z(N,null,o(T(l),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(v)?(n(),k(T(U),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channelsProperties.channel.description`),description:T(s)(`devicesModule.texts.channels.description.${T(v).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0)],8,rr)),[[T(Pe),T(_)]]),B(T(H)),B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.id.title`),prop:[`id`]},{default:y(()=>[B(T(K),{modelValue:T(p).id,"onUpdate:modelValue":r[1]||=e=>T(p).id=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.name.title`),prop:[`name`]},{default:y(()=>[B(T(K),{modelValue:T(p).name,"onUpdate:modelValue":r[2]||=e=>T(p).name=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.name.placeholder`),name:`name`,size:`large`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.category.title`),prop:[`category`]},{default:y(()=>[B(T(Q),{modelValue:T(p).category,"onUpdate:modelValue":r[3]||=e=>T(p).category=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.category.placeholder`),name:`category`,size:`large`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),z(N,null,o(T(c),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),(n(),k($n,{key:`${T(v)?.category||T(V).generic}-${T(p).category}-permissions`,modelValue:T(p).permissions,"onUpdate:modelValue":r[4]||=e=>T(p).permissions=e,"permissions-options":T(u),"channel-category":T(v)?.category||T(V).generic,"property-category":T(p).category,disabled:``},null,8,[`modelValue`,`permissions-options`,`channel-category`,`property-category`])),(n(),k(Jn,{key:`${T(v)?.category||T(V).generic}-${T(p).category}-dataType`,modelValue:T(p).dataType,"onUpdate:modelValue":r[5]||=e=>T(p).dataType=e,"data-types-options":T(d),"channel-category":T(v)?.category||T(V).generic,"property-category":T(p).category,disabled:``},null,8,[`modelValue`,`data-types-options`,`channel-category`,`property-category`])),[T(Z).char,T(Z).uchar,T(Z).short,T(Z).ushort,T(Z).int,T(Z).uint,T(Z).float].includes(T(p).dataType)?(n(),k(Qn,{key:`${T(v)?.category||T(V).generic}-${T(p).category}-min-max`,"min-value":T(p).minValue,"onUpdate:minValue":r[6]||=e=>T(p).minValue=e,"max-value":T(p).maxValue,"onUpdate:maxValue":r[7]||=e=>T(p).maxValue=e,"channel-category":T(v)?.category||T(V).generic,"property-category":T(p).category},null,8,[`min-value`,`max-value`,`channel-category`,`property-category`])):E(``,!0),[T(Z).enum].includes(T(p).dataType)?(n(),k(Yn,{key:`${T(v)?.category||T(V).generic}-${T(p).category}-enum`,modelValue:T(p).enumValues,"onUpdate:modelValue":r[8]||=e=>T(p).enumValues=e,"channel-category":T(v)?.category||T(V).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])):E(``,!0),(n(),k(Xn,{key:`${T(v)?.category||T(V).generic}-${T(p).category}-invalid`,modelValue:T(p).invalid,"onUpdate:modelValue":r[9]||=e=>T(p).invalid=e,"channel-category":T(v)?.category||T(V).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])),[T(Z).char,T(Z).uchar,T(Z).short,T(Z).ushort,T(Z).int,T(Z).uint,T(Z).float].includes(T(p).dataType)?(n(),k(er,{key:`${T(v)?.category||T(V).generic}-${T(p).category}-step`,modelValue:T(p).step,"onUpdate:modelValue":r[10]||=e=>T(p).step=e,"channel-category":T(v)?.category||T(V).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])):E(``,!0),B(T(H)),B(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.enterValue.title`),"label-position":`left`},{default:y(()=>[B(T(ze),{modelValue:T(p).enterValue,"onUpdate:modelValue":r[11]||=e=>T(p).enterValue=e},null,8,[`modelValue`])]),_:1},8,[`label`]),T(p).enterValue?(n(),k(T(U),{key:3,type:`warning`,description:T(s)(`devicesModule.texts.channelsProperties.editValue`),closable:!1,"show-icon":``},null,8,[`description`])):E(``,!0),T(p).enterValue&&T(p).dataType===T(Z).bool?(n(),k(T(G),{key:4,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[B(T(ze),{modelValue:T(p).value,"onUpdate:modelValue":r[12]||=e=>T(p).value=e},null,8,[`modelValue`])]),_:1},8,[`label`])):T(p).enterValue&&[T(Z).char,T(Z).uchar,T(Z).short,T(Z).ushort,T(Z).int,T(Z).uint,T(Z).float].includes(T(p).dataType)?(n(),k(T(G),{key:5,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[B(T(Ct),{modelValue:T(p).value,"onUpdate:modelValue":r[13]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),min:T(p).minValue,max:T(p).maxValue,step:T(p).step??void 0,name:`value`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`step`])]),_:1},8,[`label`])):T(p).enterValue&&T(p).dataType===T(Z).enum?(n(),k(T(G),{key:6,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[B(T(Q),{modelValue:T(p).value,"onUpdate:modelValue":r[14]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},{default:y(()=>[(n(!0),z(N,null,o(T(p).enumValues,e=>(n(),k(T(J),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):T(p).enterValue?(n(),k(T(G),{key:7,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[B(T(K),{modelValue:T(p).value,"onUpdate:modelValue":r[15]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):E(``,!0)]),_:1},8,[`model`]))}}),ar={class:`flex w-full`},or=C({name:`ChannelsPropertiesFilter`,__name:`channels-properties-filter`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`,`adjust-list`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),o=R(void 0),s=We(r,`filters`,i);return w(()=>s.value.search,e=>{e===``&&(s.value.search=void 0)}),(e,t)=>(n(),z(`div`,ar,[B(T(Ue),{ref_key:`filterFormEl`,ref:o,inline:!0,model:T(s),class:`grow-1`},{default:y(()=>[B(T(K),{modelValue:T(s).search,"onUpdate:modelValue":t[0]||=e=>T(s).search=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:y(()=>[B(T(g),null,{default:y(()=>[B(T(I),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),r.filtersActive?(n(),k(T(A),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[1]||=e=>i(`reset-filters`)},{default:y(()=>[B(T(I),{icon:`mdi:filter-off`})]),_:1})):E(``,!0),B(T(A),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`adjust-list`)},{default:y(()=>[B(T(I),{icon:`mdi:slider`})]),_:1})]))}}),sr=C({name:`ListChannelsProperties`,__name:`list-channels-properties`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean}},emits:[`detail`,`edit`,`remove`,`adjust-list`,`reset-filters`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`],setup(e,{emit:t}){let r=e,i=t,{isMDDevice:a}=ut(),o=null,s=R(null),c=R(null),l=We(r,`filters`,i),d=R(r.sortBy),f=R(r.sortDir),p=R(r.paginatePage),m=R(r.paginateSize),g=R(250),_=e=>{i(`detail`,e)},v=e=>{i(`edit`,e)},b=e=>{i(`remove`,e)},x=()=>{i(`reset-filters`)},S=e=>{i(`update:paginate-size`,e)},C=e=>{i(`update:paginate-page`,e)};return u(()=>{if(!s.value)return;let e=()=>{g.value=s.value.clientHeight-c.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(o=new ResizeObserver(e),o.observe(s.value)),e()}),h(()=>{o&&s.value&&o.unobserve(s.value)}),w(()=>d.value,e=>{i(`update:sort-by`,e)}),w(()=>f.value,e=>{i(`update:sort-dir`,e)}),w(()=>r.paginatePage,e=>{p.value=e}),w(()=>r.paginateSize,e=>{m.value=e}),w(()=>r.sortDir,e=>{f.value=e}),w(()=>r.sortBy,e=>{d.value=e}),(e,t)=>(n(),z(N,null,[B(T(ot),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:y(()=>[B(or,{filters:T(l),"onUpdate:filters":t[0]||=e=>le(l)?l.value=e:null,"filters-active":r.filtersActive,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`)},null,8,[`filters`,`filters-active`])]),_:1}),j(`div`,{ref_key:`wrapper`,ref:s,class:`flex-grow overflow-hidden`},[B(T(ot),{shadow:`never`,class:`mt-2 max-h-full`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:y(()=>[B(wn,{filters:T(l),"onUpdate:filters":t[3]||=e=>le(l)?l.value=e:null,"sort-by":d.value,"onUpdate:sortBy":t[4]||=e=>d.value=e,"sort-dir":f.value,"onUpdate:sortDir":t[5]||=e=>f.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":g.value,onDetail:_,onEdit:v,onRemove:b,onResetFilters:x},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),j(`div`,{ref_key:`paginator`,ref:c,class:`flex justify-center w-full py-4`},[B(T(Et),{"current-page":p.value,"onUpdate:currentPage":t[6]||=e=>p.value=e,"page-size":m.value,"onUpdate:pageSize":t[7]||=e=>m.value=e,layout:T(a)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:S,onCurrentChange:C},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),cr={class:`px-2`},lr={class:`px-5 py-2 text-center`},ur=ge(C({name:`ListChannelsPropertiesAdjust`,__name:`list-channels-properties-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,i=t,a=we(`list-channels-properties-adjust`),{t:s}=O(),c=Object.values(it),l=Object.values(Z),u=Object.values(pt),d=R([`categories`,`dataTypes`,`permissions`]),f=We(r,`filters`,i);return(e,t)=>(n(),z(N,null,[B(T(Ie),{teleport:``},{icon:y(()=>[B(T(I),{icon:`mdi:filter`})]),title:y(()=>[D(M(T(s)(`devicesModule.headings.channelsProperties.adjustFilters`)),1)]),subtitle:y(()=>[D(M(T(s)(`devicesModule.subHeadings.channelsProperties.adjustFilters`)),1)]),_:1}),j(`div`,{class:_([[T(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[B(T(vt),{class:`flex-grow`},{default:y(()=>[B(T(_t),{modelValue:d.value,"onUpdate:modelValue":t[3]||=e=>d.value=e},{default:y(()=>[B(T(nt),{name:`categories`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.channelsProperties.category.title`)),1)]),_:1})]),default:y(()=>[j(`div`,cr,[B(T(Q),{modelValue:T(f).categories,"onUpdate:modelValue":t[0]||=e=>T(f).categories=e,placeholder:T(s)(`devicesModule.filters.channelsProperties.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:y(()=>[(n(!0),z(N,null,o(T(c),(e,t)=>(n(),k(T(J),{key:t,label:T(s)(`devicesModule.categories.channelsProperties.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),B(T(nt),{name:`dataTypes`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.channelsProperties.dataType.title`)),1)]),_:1})]),default:y(()=>[B(T(ct),{modelValue:T(f).dataTypes,"onUpdate:modelValue":t[1]||=e=>T(f).dataTypes=e,class:`flex flex-col px-4`},{default:y(()=>[(n(!0),z(N,null,o(T(l),(e,t)=>(n(),k(T(ft),{key:t,label:T(s)(`devicesModule.dataTypes.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),B(T(nt),{name:`permissions`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.channelsProperties.permission.title`)),1)]),_:1})]),default:y(()=>[B(T(ct),{modelValue:T(f).permissions,"onUpdate:modelValue":t[2]||=e=>T(f).permissions=e,class:`flex flex-col px-4`},{default:y(()=>[(n(!0),z(N,null,o(T(u),(e,t)=>(n(),k(T(ft),{key:t,label:T(s)(`devicesModule.permissions.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),j(`div`,lr,[B(T(A),{disabled:!r.filtersActive,onClick:t[4]||=e=>i(`reset-filters`)},{icon:y(()=>[B(T(I),{icon:`mdi:filter-remove`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-26d10ca7`]]),dr=C({name:`SelectChannelPlugin`,__name:`select-channel-plugin`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{plugins:s,options:c}=Lt(),l=R(r.modelValue),u=F(()=>s.value.find(e=>(e.elements??[]).some(e=>e.type===l.value))),d=F(()=>(u.value?.elements??[]).find(e=>e.type===l.value));return w(()=>l.value,e=>{i(`update:modelValue`,e)}),(e,t)=>(n(),z(N,null,[B(T(G),{label:T(a)(`devicesModule.fields.channels.plugin.title`),"label-position":`top`},{default:y(()=>[B(T(Q),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.channels.plugin.placeholder`),name:`plugin`,filterable:``},{default:y(()=>[(n(!0),z(N,null,o(T(c),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value,disabled:e.disabled},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),d.value?(n(),k(T(U),{key:0,description:d.value.description??u.value?.description,closable:!1,"show-icon":``,type:`info`},null,8,[`description`])):E(``,!0)],64))}}),fr=C({name:`DeviceAddForm`,__name:`device-add-form`,props:{id:{},type:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:It.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{categoriesOptions:s,model:c,formEl:l,formChanged:u,submit:d,formResult:f}=qt({id:r.id,type:r.type}),p=fe({category:[{required:!0,message:a(`devicesModule.fields.devices.category.validation.required`),trigger:`change`}],name:[{required:!0,message:a(`devicesModule.fields.devices.name.validation.required`),trigger:`change`}]});return w(()=>f.value,async e=>{i(`update:remote-form-result`,e)}),w(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),d().catch(()=>{}))}),w(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!l.value)return;l.value.resetFields()}}),w(()=>u.value,e=>{i(`update:remote-form-changed`,e)}),(e,t)=>(n(),k(T(Ue),{ref_key:`formEl`,ref:l,model:T(c),rules:p,"label-position":`top`,"status-icon":``},{default:y(()=>[B(T(G),{label:T(a)(`devicesModule.fields.devices.id.title`),prop:[`id`]},{default:y(()=>[B(T(K),{modelValue:T(c).id,"onUpdate:modelValue":t[0]||=e=>T(c).id=e,placeholder:T(a)(`devicesModule.fields.devices.id.placeholder`),name:`id`,required:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.devices.identifier.title`),prop:[`identifier`]},{default:y(()=>[B(T(K),{modelValue:T(c).identifier,"onUpdate:modelValue":t[1]||=e=>T(c).identifier=e,placeholder:T(a)(`devicesModule.fields.devices.identifier.placeholder`),name:`identifier`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.devices.name.title`),prop:[`name`]},{default:y(()=>[B(T(K),{modelValue:T(c).name,"onUpdate:modelValue":t[2]||=e=>T(c).name=e,placeholder:T(a)(`devicesModule.fields.devices.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.devices.category.title`),prop:[`category`]},{default:y(()=>[B(T(Q),{modelValue:T(c).category,"onUpdate:modelValue":t[3]||=e=>T(c).category=e,placeholder:T(a)(`devicesModule.fields.devices.category.placeholder`),name:`category`,filterable:``},{default:y(()=>[(n(!0),z(N,null,o(T(s),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(c).category?(n(),k(T(U),{key:0,type:`info`,title:T(a)(`devicesModule.fields.devices.category.description`),description:T(a)(`devicesModule.texts.devices.description.${T(c).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0),B(T(H)),B(T(G),{label:T(a)(`devicesModule.fields.devices.description.title`),prop:[`description`]},{default:y(()=>[B(T(K),{modelValue:T(c).description,"onUpdate:modelValue":t[4]||=e=>T(c).description=e,placeholder:T(a)(`devicesModule.fields.devices.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.devices.enabled.title`),prop:[`enabled`],"label-position":`left`},{default:y(()=>[B(T(ze),{modelValue:T(c).enabled,"onUpdate:modelValue":t[5]||=e=>T(c).enabled=e,name:`enabled`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),pr={menu:{title:`Prostory`},title:`Prostory`,description:`Správa vašich prostorů (místnosti a zóny)`,headings:{list:`Prostory`,spaces:`Prostory`,detail:`Detail prostoru`,add:`Přidat prostor`,edit:`Upravit prostor`,removeSpace:`Odebrat prostor`,bulkRemoveSpace:`Odebrat prostory`,discard:`Zahodit změny`,adjustFilters:`Filtrovat prostory`},edit:{sections:{general:{title:`Obecné`},organization:{title:`Organizace`,hint:`Přiřaďte tuto místnost k zóně (např. "Přízemí", "Patro"), abyste mohli seskupit související místnosti.`},devicesDisplays:{title:`Zařízení a displeje`,titleDevicesOnly:`Zařízení`,summary:`{devices} zařízení a {displays} displejů je aktuálně přiřazeno k tomuto prostoru.`,summaryDevicesOnly:`{devices} zařízení je aktuálně přiřazeno k tomuto prostoru.`,manageDevices:`Spravovat zařízení`,manageDisplays:`Spravovat displeje`},statusWidgets:{title:`Stavové widgety`,hint:`Nakonfigurujte widgety zobrazené ve stavové oblasti prostoru na panelu.`},smartOverrides:{title:`Chytrá přepsání`,badge:`Pokročilé`,hint:`Volitelná nastavení pro zlepšení chytrého chování a ovládání na základě záměrů.`,lightingRoles:`Role osvětlení`,climateRoles:`Role klimatu`,coversRoles:`Role rolet`,sensorRoles:`Role senzorů`,smartSuggestions:`Chytré návrhy`}}},subHeadings:{list:`Organizujte zařízení a displeje podle místností nebo zón`,adjustFilters:`Upravit nastavení filtrů`,add:`Přidat nový prostor`,detail:`Správa prostoru: {space}`,onboarding:`Průvodce nastavením prostorů, zařízení a displejů`},breadcrumbs:{spaces:{list:`prostory`,detail:`prostor: {space}`,edit:`upravit prostor`,add:`přidat prostor`,onboarding:`průvodce nastavením`}},meta:{spaces:{list:{title:`Seznam prostorů`},edit:{title:`Upravit prostor: {space}`},add:{title:`Přidat prostor`},detail:{title:`Prostor: {space}`},onboarding:{title:`Průvodce nastavením prostorů`}}},table:{columns:{name:`Název`,type:`Typ`,category:`Kategorie`,description:`Popis`,order:`Pořadí`,devices:`Zařízení`,displays:`Displeje`,actions:`Akce`},empty:`Nebyly nalezeny žádné prostory. Vytvořte svůj první prostor a začněte.`},fields:{search:{placeholder:`Hledat prostory...`},spaces:{id:{title:`Interní identifikátor`,placeholder:`ID prostoru`},name:{title:`Název`,placeholder:`Zadejte název prostoru (např. Obývací pokoj)`,validation:{required:`Název je povinný`,maxLength:`Název musí mít méně než 100 znaků`}},description:{title:`Popis`,placeholder:`Volitelný popis prostoru`},type:{title:`Typ`,options:{room:`Místnost`,zone:`Zóna`},validation:{required:`Typ je povinný`}},category:{title:`Kategorie`,placeholder:`Vyberte kategorii`,hint:`Volba kategorie automaticky navrhne ikonu a popis pro tento prostor. Dostupné kategorie závisí na tom, zda se jedná o místnost nebo zónu.`,validation:{requiredForZone:`Kategorie je povinná pro zóny`},groups:{floors:`Podlaží`,outdoor:`Venkovní prostory`,other:`Ostatní`},options:{living_room:`Obývací pokoj`,bedroom:`Ložnice`,bathroom:`Koupelna`,toilet:`Toaleta`,kitchen:`Kuchyně`,dining_room:`Jídelna`,office:`Pracovna`,entryway:`Předsíň`,garage:`Garáž`,hallway:`Chodba`,laundry:`Prádelna`,utility_room:`Technická místnost`,storage:`Sklad`,closet:`Šatna`,pantry:`Spíž`,nursery:`Dětský pokoj`,guest_room:`Pokoj pro hosty`,gym:`Posilovna`,media_room:`Mediální místnost`,workshop:`Dílna`,other:`Ostatní`,floor_ground:`Přízemí`,floor_first:`První patro`,floor_second:`Druhé patro`,floor_basement:`Suterén`,floor_attic:`Podkroví`,outdoor_front_yard:`Předzahrádka`,outdoor_backyard:`Zahrada za domem`,outdoor_driveway:`Příjezdová cesta`,outdoor_garden:`Zahrada`,outdoor_terrace:`Terasa`,outdoor_balcony:`Balkón`,outdoor_walkway:`Chodník`,security_perimeter:`Bezpečnostní obvod`,utility:`Technická`,zone_other:`Ostatní`}},icon:{title:`Ikona`,placeholder:`mdi:home (název ikony Iconify)`},displayOrder:{title:`Pořadí zobrazení`,placeholder:`Pořadí v seznamech`},parentZone:{title:`Nadřazená zóna`,placeholder:`Vyberte nadřazenou zónu (volitelné)`,hint:`Tuto místnost můžete organizovat přiřazením k zóně, jako je "Přízemí" nebo "Patro". To pomáhá seskupit související místnosti.`},lightingRoles:{title:`Role osvětlení`,description:`Přiřaďte role světlům, aby panel rozuměl, jak se každé světlo obvykle používá (Práce, Relax, Noc)`,noLights:`V tomto prostoru nebyla nalezena žádná světla`,role:{title:`Role`,placeholder:`Vyberte roli`},applyDefaults:`Použít výchozí`,applyDefaultsHint:`Nastaví první světlo jako Hlavní, ostatní jako Ambientní`},climateRoles:{title:`Role klimatu`,description:`Přiřaďte role klimatickým zařízením, aby panel rozuměl, jak každé zařízení ovládá teplotu a kvalitu vzduchu`,noDevices:`V tomto prostoru nebyla nalezena žádná klimatická zařízení`,role:{title:`Role`,placeholder:`Vyberte roli`},applyDefaults:`Použít výchozí`,applyDefaultsHint:`Automaticky přiřadí role na základě typu zařízení`},coversRoles:{title:`Role rolet`,description:`Přiřaďte role okenním roletám, aby panel rozuměl, jak se každá roleta používá (primární, zatemňovací, záclonová)`,noCovers:`V tomto prostoru nebyly nalezeny žádné okenní rolety`,role:{title:`Role`,placeholder:`Vyberte roli`},applyDefaults:`Použít výchozí`,applyDefaultsHint:`Nastaví první roletu jako Primární, ostatní na základě typu`},sensorRoles:{title:`Role senzorů`,description:`Přiřaďte role kanálům senzorů, aby panel mohl seskupit hodnoty prostředí, bezpečnosti, zabezpečení, kvality vzduchu a energie.`,noSensors:`V tomto prostoru nebyly nalezeny žádné senzory`,channel:{title:`Kanál`},role:{title:`Role`,placeholder:`Vyberte roli`},applyDefaults:`Použít výchozí`,applyDefaultsHint:`Automaticky přiřadí role na základě kategorie kanálu senzoru`},suggestions:{title:`Chytré návrhy`},suggestionsEnabled:{title:`Povolit návrhy`,hint:`Když je povoleno, panel bude zobrazovat nenápadné návrhy osvětlení na základě denní doby a aktuálního stavu.`},statusWidgets:{energy:{title:`Energie`,range:{title:`Rozsah`,options:{today:`Dnes`,week:`Týden`,month:`Měsíc`}},showProduction:{title:`Zobrazit výrobu`}}}}},lightingRoles:{main:`Hlavní`,task:`Pracovní`,ambient:`Ambientní`,accent:`Akcentové`,night:`Noční`,other:`Ostatní`,hidden:`Skryté`,unassigned:`Nepřiřazeno`,descriptions:{main:`Hlavní osvětlení prostoru, obvykle stropní nebo centrální svítidla pro obecné osvětlení.`,task:`Zaměřené osvětlení pro specifické činnosti jako čtení, vaření nebo práci.`,ambient:`Jemné pozadí osvětlení pro vytvoření atmosféry a komfortu.`,accent:`Dekorativní osvětlení pro zvýraznění prvků nebo vytvoření vizuálního efektu.`,night:`Slabé osvětlení pro noční navigaci a bezpečnost.`,other:`Osvětlení, které nespadá do standardních kategorií.`,hidden:`Skrytá světla jsou vyloučena z panelového rozhraní a ovládání na základě záměrů.`}},climateRoles:{heating_only:`Pouze topení`,cooling_only:`Pouze chlazení`,auto:`Automaticky`,auxiliary:`Pomocné`,sensor:`Senzor`,hidden:`Skryté`,unassigned:`Nepřiřazeno`,descriptions:{heating_only:`Zařízení je používáno pouze pro topení v klimatické doméně.`,cooling_only:`Zařízení je používáno pouze pro chlazení v klimatické doméně.`,auto:`Zařízení může být automaticky použito pro topení i chlazení.`,auxiliary:`Pomocná klimatická zařízení jako odvlhčovače, zvlhčovače, čističky vzduchu a ventilátory.`,sensor:`Klimatický senzor poskytující hodnoty (teplota, vlhkost, kvalita vzduchu atd.) pro prostor.`,hidden:`Skrytá zařízení jsou vyloučena z rozhraní klimatické domény a ovládání.`}},sensorRoles:{environment:`Prostředí`,safety:`Bezpečnost`,security:`Zabezpečení`,air_quality:`Kvalita vzduchu`,energy:`Energie`,other:`Ostatní`,hidden:`Skryté`,descriptions:{environment:`Senzory prostředí jako teplota, vlhkost, tlak nebo úroveň osvětlení.`,safety:`Bezpečnostní senzory jako detektory kouře, plynu, úniku vody nebo oxidu uhelnatého.`,security:`Zabezpečovací senzory a senzory přítomnosti jako pohybové, obsazenostní a kontaktní senzory.`,air_quality:`Senzory kvality vzduchu včetně CO2, VOC, pevných částic a dalších znečišťujících látek.`,energy:`Senzory pro monitoring energie jako spotřeba elektřiny nebo energie.`,other:`Senzory, které nespadají do specifické kategorie.`,hidden:`Skryté senzory jsou vyloučeny z rozhraní.`},categories:{temperature:`Teplota`,humidity:`Vlhkost`,pressure:`Tlak`,illuminance:`Osvětlení`,smoke:`Kouř`,gas:`Plyn`,carbon_monoxide:`Oxid uhelnatý`,carbon_dioxide:`Oxid uhličitý`,leak:`Únik`,motion:`Pohyb`,occupancy:`Obsazenost`,contact:`Kontakt`,air_quality:`Kvalita vzduchu`,air_particulate:`Pevné částice`,nitrogen_dioxide:`Oxid dusičitý`,ozone:`Ozón`,sulphur_dioxide:`Oxid siřičitý`,volatile_organic_compounds:`Těkavé organické sloučeniny`,electrical_energy:`Energie`,electrical_generation:`Výroba`,electrical_power:`Výkon`,battery:`Baterie`}},coversRoles:{primary:`Primární`,blackout:`Zatemňovací`,sheer:`Záclonová`,outdoor:`Venkovní`,hidden:`Skryté`,unassigned:`Nepřiřazeno`,descriptions:{primary:`Hlavní okenní roleta prostoru, obvykle používaná pro obecné soukromí a regulaci světla.`,blackout:`Zatemňovací rolety navržené pro úplnou tmu, ideální pro ložnice nebo mediální místnosti.`,sheer:`Poloprůhledné záclony zajišťující soukromí a zároveň propouštějící přirozené světlo.`,outdoor:`Vnější žaluzie, markýzy nebo pergolové kryty pro venkovní ochranu.`,hidden:`Skryté rolety jsou vyloučeny z panelového rozhraní a ovládání na základě záměrů.`}},filters:{type:{title:`Typ`,all:`Vše`}},texts:{loadingSpaces:`Načítání prostorů...`,loadingSpace:`Načítání prostoru...`,noSpaces:`Nemáte nakonfigurovaný žádný prostor`,noFilteredSpaces:`Žádné prostory neodpovídají kritériím filtru`,confirmDiscard:`Máte neuložené změny. Opravdu je chcete zahodit?`},dialogs:{lightingRoles:{title:`Upravit role osvětlení`},climateRoles:{title:`Upravit role klimatu`},coversRoles:{title:`Upravit role rolet`},sensorRoles:{title:`Upravit role senzorů`},mediaActivities:{title:`Upravit mediální aktivity`}},buttons:{add:{title:`Přidat`},done:{title:`Hotovo`},detail:{title:`Detail`},adjust:{title:`Filtr`},resetFilters:{title:`Resetovat filtry`},reset:{title:`Resetovat`},yes:{title:`Ano`},no:{title:`Ne`},save:{title:`Uložit`},cancel:{title:`Zrušit`},close:{title:`Zavřít`},discard:{title:`Zahodit`},edit:{title:`Upravit`},delete:{title:`Smazat`},previous:{title:`Předchozí`},next:{title:`Další`},finish:{title:`Dokončit`},onboarding:{title:`Průvodce nastavením`},viewAll:{title:`Zobrazit vše`},back:{title:`Zpět`}},detail:{title:`Detail prostoru`,lightingRoles:{title:`Role osvětlení`,lightsAssigned:`Přiřazená světla`,noRolesAssigned:`Zatím nejsou přiřazeny žádné role`},climateRoles:{title:`Role klimatu`,devicesAssigned:`Přiřazená zařízení`,noRolesAssigned:`Zatím nejsou přiřazeny žádné role`},coversRoles:{title:`Role rolet`,coversAssigned:`Přiřazené rolety`,noRolesAssigned:`Zatím nejsou přiřazeny žádné role`},sensorRoles:{title:`Role senzorů`,sensorsAssigned:`Přiřazené senzory`,noRolesAssigned:`Zatím nejsou přiřazeny žádné role`},mediaActivities:{title:`Mediální aktivity`,noActivities:`Zatím nejsou nakonfigurovány žádné aktivity`},info:{title:`Informace o prostoru`,name:`Název`,description:`Popis`,type:`Typ`,icon:`Ikona`,displayOrder:`Pořadí zobrazení`},devices:{title:`Zařízení`,add:`Přidat zařízení`,empty:`K tomuto prostoru nejsou přiřazena žádná zařízení`,loading:`Načítání zařízení...`,remove:`Odebrat`,removeHeading:`Odebrat zařízení z prostoru`,reassign:`Přeřadit`,assign:`Přiřadit`,selectDevice:`Vyberte zařízení k přidání`,confirmRemove:`Odebrat zařízení "{name}" z tohoto prostoru?`,selectRoom:`Vyberte místnost pro zařízení`,noAvailable:`Nejsou k dispozici žádná zařízení k přidání`,removed:`Zařízení "{name}" bylo odebráno z tohoto prostoru.`,removeCanceled:`Odebrání zařízení bylo zrušeno.`},parentZone:{title:`Podlaží`,none:`Žádné podlaží nepřiřazeno`,select:`Vyberte podlaží`},displays:{title:`Displeje`,add:`Přidat displej`,empty:`K tomuto prostoru nejsou přiřazeny žádné displeje`,loading:`Načítání displejů...`,remove:`Odebrat`,removeHeading:`Odebrat displej z prostoru`,reassign:`Přeřadit`,assign:`Přiřadit`,selectDisplay:`Vyberte displej k přidání`,confirmRemove:`Odebrat displej "{name}" z tohoto prostoru?`,selectRoom:`Vyberte místnost pro tento displej`,noAvailable:`Nejsou k dispozici žádné displeje k přidání`,removed:`Displej "{name}" byl odebrán z tohoto prostoru.`,removeCanceled:`Odebrání displeje bylo zrušeno.`},media:{activities:`Mediální aktivity`},scenes:{title:`Scény`,add:`Přidat scénu`,empty:`K tomuto prostoru nejsou přiřazeny žádné scény`,loading:`Načítání scén...`,name:`Název scény`,category:`Kategorie`,status:`Stav`,enabled:`Povoleno`,disabled:`Zakázáno`,remove:`Odebrat`,removeHeading:`Odebrat scénu z prostoru`,reassign:`Přeřadit`,reassigned:`Scéna "{name}" byla úspěšně přeřazena.`,assign:`Přiřadit`,selectScene:`Vyberte scénu k přidání`,selectSpace:`Vyberte prostor pro scénu`,searchPlaceholder:`Hledat scény...`,confirmRemove:`Odebrat scénu "{name}" z tohoto prostoru?`,assignedSpace:`Přiřazený prostor`,noAvailable:`Nejsou k dispozici žádné scény k přidání`,noFilteredScenes:`Žádné scény neodpovídají vašemu hledání`,assigned:`Scéna "{name}" byla přiřazena k tomuto prostoru.`,removed:`Scéna "{name}" byla odebrána z tohoto prostoru.`,removeCanceled:`Odebrání scény bylo zrušeno.`}},media:{endpointTypes:{display:`Displej`,audio_output:`Zvukový výstup`,source:`Zdroj`,remote_target:`Vzdálený cíl`},capabilities:{power:`Napájení`,input:`Vstup`,volume:`Hlasitost`,playback:`Přehrávání`,track:`Stopa`,remote:`Dálkové ovládání`,mute:`Ztlumení`},activityLabels:{watch:`Sledování`,listen:`Poslech`,gaming:`Hraní`,background:`Pozadí`,off:`Vypnuto`},activities:{loading:`Načítání konfigurace médií...`,description:`Přiřaďte displej, zvuk, zdroj a dálkově ovládaná zařízení ke každé mediální aktivitě. Změny se ukládají automaticky.`,applyDefaults:`Použít výchozí`,applyDefaultsHint:`Automaticky přiřadí koncové body na základě typů zařízení a jejich schopností`,defaultsApplied:`Výchozí vazby byly použity.`,defaultsFailed:`Nepodařilo se použít výchozí vazby.`,selectPrompt:`Vyberte aktivitu ze seznamu pro konfiguraci jejích vazeb.`,selectEndpoint:`Vyberte koncový bod...`,save:`Uložit`,reset:`Resetovat`,saveError:`Nepodařilo se uložit vazbu`,savedSuccessfully:`Vazba byla úspěšně uložena.`,slots:{display:`Displej`,audio:`Zvukový výstup`,source:`Zdroj`,remote:`Vzdálený cíl`},overrides:{displayInput:`Preset vstupu displeje`,displayInputPlaceholder:`např. HDMI1, Apps`,audioInput:`Preset zvukového vstupu`,audioInputPlaceholder:`např. HDMI1, ARC`,sourceInput:`Preset vstupu zdroje`,sourceInputPlaceholder:`např. HDMI1, Apps`,audioVolume:`Preset hlasitosti zvuku`},mediaInputSources:{hdmi1:`HDMI 1`,hdmi2:`HDMI 2`,hdmi3:`HDMI 3`,hdmi4:`HDMI 4`,hdmi5:`HDMI 5`,hdmi6:`HDMI 6`,arc:`ARC`,earc:`eARC`,tv:`TV`,cable:`Kabel`,satellite:`Satelit`,antenna:`Anténa`,av1:`AV 1`,av2:`AV 2`,component:`Komponent`,vga:`VGA`,dvi:`DVI`,usb:`USB`,bluetooth:`Bluetooth`,wifi:`Wi-Fi`,airplay:`AirPlay`,cast:`Chromecast`,dlna:`DLNA`,miracast:`Miracast`,app_netflix:`Netflix`,app_youtube:`YouTube`,app_spotify:`Spotify`,app_prime_video:`Prime Video`,app_disney_plus:`Disney+`,app_hbo_max:`HBO Max`,app_apple_tv:`Apple TV`,app_plex:`Plex`,app_kodi:`Kodi`,other:`Ostatní`},status:{configured:`Nakonfigurováno`,incomplete:`Neúplné`,unconfigured:`Nenastaveno`},run:`Spustit`,deactivate:`Deaktivovat`,refreshStatus:`Obnovit stav`,rerun:`Spustit znovu`,copyDebugJson:`Kopírovat ladící JSON`,copiedToClipboard:`Ladící JSON byl zkopírován do schránky.`,activateSuccess:`Aktivita byla úspěšně aktivována.`,activateFailed:`Nepodařilo se aktivovat aktivitu.`,deactivateSuccess:`Aktivita byla deaktivována.`,deactivateFailed:`Nepodařilo se deaktivovat aktivitu.`,fetchFailed:`Nepodařilo se obnovit stav aktivity.`,preview:`Náhled`,previewFailed:`Nepodařilo se zobrazit náhled aktivity.`,previewDialog:{title:`Náhled plánu provedení`,resolvedDevices:`Rozpoznaná zařízení`,executionPlan:`Plán provedení`,step:`#`,action:`Akce`,device:`Zařízení`,critical:`Kritické`,criticalYes:`Kritické`,criticalNo:`Volitelné`,warnings:`Varování a přeskočené kroky`,noSteps:`V plánu nejsou žádné kroky provedení.`,close:`Zavřít`},activePanel:{title:`Aktivní stav`,currentActivity:`Aktuální aktivita`,none:`Žádná`,state:`Stav`,activatedAt:`Aktivováno v`,updatedAt:`Aktualizováno v`,resolvedDevices:`Rozpoznaná zařízení`,display:`Displej`,audio:`Zvuk`,source:`Zdroj`,remote:`Dálkové ovládání`},failures:{title:`Selhání`,total:`Celkem kroků`,succeeded:`Úspěšných`,failed:`Neúspěšných`,stepIndex:`Krok`,device:`Zařízení`,property:`Vlastnost`,reason:`Důvod`},activationState:{activating:`Aktivace`,active:`Aktivní`,failed:`Selhalo`,deactivated:`Deaktivováno`}}},messages:{notFound:`Prostor nebyl nalezen`,loadError:`Nepodařilo se načíst prostory`,notLoaded:`Nepodařilo se načíst prostor. Zkuste to prosím později.`,confirmRemove:`Opravdu chcete odebrat prostor "{name}"? Tuto akci nelze vrátit zpět.`,confirmDelete:`Opravdu chcete smazat tento prostor?`,created:`Nový prostor byl úspěšně přidán.`,notCreated:`Něco se pokazilo. Prostor se nepodařilo vytvořit.`,edited:`Změny uloženy! Prostor: {space} byl aktualizován.`,notEdited:`Něco se pokazilo. Aktualizace prostoru nebyla úspěšná.`,removed:`Prostor: {space} byl úspěšně odebrán.`,removeCanceled:`Odebrání prostoru: {space} bylo zrušeno.`,deletedWhileEditing:`Tento prostor byl smazán a již není dostupný.`,createError:`Nepodařilo se vytvořit prostor. Zkuste to prosím znovu.`,saveError:`Nepodařilo se uložit změny. Zkuste to prosím znovu.`,confirmBulkRemove:`Opravdu chcete odebrat {count} prostorů? Tuto akci nelze vrátit zpět.`,bulkRemoved:`{count} prostorů bylo úspěšně odebráno.`,bulkRemoveFailed:`Nepodařilo se odebrat {count} prostorů.`,bulkRemoveCanceled:`Hromadné odebrání prostorů bylo zrušeno.`},misc:{types:{room:`Místnost`,zone:`Zóna`}},onboarding:{title:`Průvodce nastavením prostorů`,devices:`zařízení`,displays:`displeje`,selectSpace:`Vyberte prostor`,selectZones:`Vyberte zóny...`,deviceName:`Název zařízení`,displayName:`Název displeje`,assignedSpace:`Přiřazený prostor`,spaceName:`Název prostoru`,zones:`Zóny (volitelné)`,advanced:`Pokročilé`,basic:`Základní`,steps:{spaces:{title:`Vytvořit prostory`,description:`Prostory vám pomáhají organizovat zařízení a displeje podle místností nebo zón (např. Obývací pokoj, Kuchyně, Ložnice). Automaticky jsme detekovali některé prostory z názvů vašich zařízení - zkontrolujte a vyberte ty, které chcete vytvořit, nebo přidejte vlastní prostory níže.`,alertTitle:`Prostory představují místnosti nebo oblasti ve vašem domě`,alertDescription:`Navrhli jsme některé prostory na základě názvů vašich zařízení. Můžete je nyní upravit nebo vše změnit později.`,proposed:`Navrhované prostory`,custom:`Vlastní prostory`,existing:`Existující prostory`,matchedExisting:`Použití existujících prostorů`,usingExisting:`Použití existujícího`,matchedWith:`Bude použit: {name}`,addManual:`Přidat vlastní prostor`,placeholder:`Zadejte název prostoru (např. Obývací pokoj)`,noProposals:`Z názvů vašich zařízení nebylo možné detekovat žádné prostory. Přidejte prostory ručně níže.`,duplicateWarning:`Prostor podobný "{name}" již existuje.`,convertedToMatch:`Tento prostor odpovídá existujícímu prostoru a byl přesunut do sekce "Použití existujících prostorů".`,multipleMatchedWith:`{count} detekovaných prostorů bude používat existující prostor "{name}"`,existingTag:`Existující`},displays:{title:`Přiřadit displeje`,description:`Přiřaďte každý displej k prostoru. Toto určuje, který prostor bude displej ve výchozím nastavení zobrazovat.`,alertTitle:`Vyberte výchozí prostor pro každý displej`,alertDescription:`Toto nastavuje pouze počáteční zobrazení - prostory můžete kdykoli přepínat přímo na displeji.`,noDisplays:`Zatím nejsou registrovány žádné displeje.`},devices:{title:`Přiřadit zařízení`,description:`Přiřaďte zařízení k prostorům. Zařízení budou předvyplněna na základě jejich názvů, pokud byly detekovány.`,alertTitle:`Propojte zařízení s místnostmi`,alertDescription:`Některá zařízení jsou předvyplněna na základě jejich názvů. Můžete je upravit - přiřazení můžete kdykoli změnit později.`,noDevices:`Nebyla nalezena žádná zařízení.`},summary:{title:`Souhrn`,description:`Zkontrolujte konfiguraci před použitím změn.`,alertTitle:`Souhrn vašeho nastavení`,alertDescription:`Stále se můžete vrátit zpět a cokoli upravit před dokončením.`}},summary:{overview:`Souhrn`,totalSpaces:`Celkem prostorů`,assignedDevices:`Přiřazená zařízení`,unassignedDevices:`Nepřiřazená zařízení`,assignedDisplays:`Přiřazené displeje`,unassignedDisplays:`Nepřiřazené displeje`,bySpace:`Přiřazení podle prostoru`,unassignedDevicesTitle:`Nepřiřazená zařízení`,unassignedDisplaysTitle:`Nepřiřazené displeje`,noDevices:`Žádná zařízení`,clickToAssignDevices:`Klikněte pro přiřazení zařízení`,clickToAssignDisplays:`Klikněte pro přiřazení displejů`},messages:{spacesCreated:`{count} prostor(ů) bylo úspěšně vytvořeno`,completed:`Nastavení dokončeno! {devices} zařízení, {displays} displej(ů) a {zones} přiřazení zón.`}}},mr={menu:{title:`Räume`},title:`Bereiche`,description:`Verwalten Sie Ihre Bereiche (Räume und Zonen)`,headings:{list:`Bereiche`,spaces:`Bereiche`,detail:`Bereichsdetails`,add:`Bereich hinzufügen`,edit:`Bereich bearbeiten`,removeSpace:`Bereich entfernen`,bulkRemoveSpace:`Bereiche entfernen`,discard:`Änderungen verwerfen`,adjustFilters:`Bereiche filtern`},edit:{sections:{general:{title:`Allgemein`},organization:{title:`Organisation`,hint:`Weisen Sie diesen Raum einer Zone zu (z. B. "Erdgeschoss", "Obergeschoss"), um verwandte Räume zusammenzufassen.`},devicesDisplays:{title:`Geräte & Displays`,titleDevicesOnly:`Geräte`,summary:`{devices} Geräte und {displays} Displays sind diesem Bereich derzeit zugewiesen.`,summaryDevicesOnly:`{devices} Geräte sind diesem Bereich derzeit zugewiesen.`,manageDevices:`Geräte verwalten`,manageDisplays:`Displays verwalten`},statusWidgets:{title:`Status-Widgets`,hint:`Konfigurieren Sie Widgets, die im Statusbereich des Panels angezeigt werden.`},smartOverrides:{title:`Intelligente Überschreibungen`,badge:`Erweitert`,hint:`Optionale Einstellungen zur Verbesserung des intelligenten Verhaltens und der absichtsbasierten Steuerung.`,lightingRoles:`Beleuchtungsrollen`,climateRoles:`Klimarollen`,coversRoles:`Abdeckungsrollen`,sensorRoles:`Sensorrollen`,smartSuggestions:`Intelligente Vorschläge`}}},subHeadings:{list:`Geräte und Displays nach Räumen oder Zonen organisieren`,adjustFilters:`Anzeigefilter anpassen`,add:`Neuen Bereich hinzufügen`,detail:`Bereich verwalten: {space}`,onboarding:`Einrichtungsassistent für Bereiche, Geräte und Displays`},breadcrumbs:{spaces:{list:`Bereiche`,detail:`Bereich: {space}`,edit:`Bereich bearbeiten`,add:`Bereich hinzufügen`,onboarding:`Einrichtungsassistent`}},meta:{spaces:{list:{title:`Bereiche auflisten`},edit:{title:`Bereich bearbeiten: {space}`},add:{title:`Bereich hinzufügen`},detail:{title:`Bereich: {space}`},onboarding:{title:`Einrichtungsassistent für Bereiche`}}},table:{columns:{name:`Name`,type:`Typ`,category:`Kategorie`,description:`Beschreibung`,order:`Reihenfolge`,devices:`Geräte`,displays:`Displays`,actions:`Aktionen`},empty:`Keine Bereiche gefunden. Erstellen Sie Ihren ersten Bereich, um zu beginnen.`},fields:{search:{placeholder:`Bereiche suchen...`},spaces:{id:{title:`Interner Bezeichner`,placeholder:`Bereichs-ID`},name:{title:`Name`,placeholder:`Bereichsname eingeben (z. B. Wohnzimmer)`,validation:{required:`Name ist erforderlich`,maxLength:`Name muss weniger als 100 Zeichen haben`}},description:{title:`Beschreibung`,placeholder:`Optionale Beschreibung des Bereichs`},type:{title:`Typ`,options:{room:`Raum`,zone:`Zone`},validation:{required:`Typ ist erforderlich`}},category:{title:`Kategorie`,placeholder:`Kategorie auswählen`,hint:`Die Auswahl einer Kategorie schlägt automatisch ein Symbol und eine Beschreibung für diesen Bereich vor. Verfügbare Kategorien hängen davon ab, ob es sich um einen Raum oder eine Zone handelt.`,validation:{requiredForZone:`Kategorie ist für Zonen erforderlich`},groups:{floors:`Stockwerke`,outdoor:`Außenbereiche`,other:`Sonstige`},options:{living_room:`Wohnzimmer`,bedroom:`Schlafzimmer`,bathroom:`Badezimmer`,toilet:`Toilette`,kitchen:`Küche`,dining_room:`Esszimmer`,office:`Büro`,entryway:`Eingangsbereich`,garage:`Garage`,hallway:`Flur`,laundry:`Waschküche`,utility_room:`Hauswirtschaftsraum`,storage:`Abstellraum`,closet:`Abstellkammer`,pantry:`Speisekammer`,nursery:`Kinderzimmer`,guest_room:`Gästezimmer`,gym:`Fitnessraum`,media_room:`Medienraum`,workshop:`Werkstatt`,other:`Sonstige`,floor_ground:`Erdgeschoss`,floor_first:`Erstes Obergeschoss`,floor_second:`Zweites Obergeschoss`,floor_basement:`Keller`,floor_attic:`Dachboden`,outdoor_front_yard:`Vorgarten`,outdoor_backyard:`Hinterhof`,outdoor_driveway:`Einfahrt`,outdoor_garden:`Garten`,outdoor_terrace:`Terrasse`,outdoor_balcony:`Balkon`,outdoor_walkway:`Gehweg`,security_perimeter:`Sicherheitsbereich`,utility:`Versorgung`,zone_other:`Sonstige`}},icon:{title:`Symbol`,placeholder:`mdi:home (Iconify-Symbolname)`},displayOrder:{title:`Anzeigereihenfolge`,placeholder:`Reihenfolge in Listen`},parentZone:{title:`Übergeordnete Zone`,placeholder:`Übergeordnete Zone auswählen (optional)`,hint:`Sie können diesen Raum einer Zone zuordnen, z. B. "Erdgeschoss" oder "Obergeschoss". Dies hilft, verwandte Räume zusammenzufassen.`},lightingRoles:{title:`Beleuchtungsrollen`,description:`Weisen Sie Lichtern Rollen zu, damit das Panel versteht, wie jedes Licht typischerweise verwendet wird (Arbeit, Entspannung, Nacht)`,noLights:`Keine Lichter in diesem Bereich gefunden`,role:{title:`Rolle`,placeholder:`Rolle auswählen`},applyDefaults:`Standards anwenden`,applyDefaultsHint:`Setzt das erste Licht als Haupt, andere als Ambiente`},climateRoles:{title:`Klimarollen`,description:`Weisen Sie Klimageräten Rollen zu, damit das Panel versteht, wie jedes Gerät Temperatur und Luftqualität steuert`,noDevices:`Keine Klimageräte in diesem Bereich gefunden`,role:{title:`Rolle`,placeholder:`Rolle auswählen`},applyDefaults:`Standards anwenden`,applyDefaultsHint:`Weist Rollen automatisch basierend auf dem Gerätetyp zu`},coversRoles:{title:`Abdeckungsrollen`,description:`Weisen Sie Fensterabdeckungen Rollen zu, damit das Panel versteht, wie jede Abdeckung verwendet wird (primär, Verdunkelung, transparent)`,noCovers:`Keine Fensterabdeckungen in diesem Bereich gefunden`,role:{title:`Rolle`,placeholder:`Rolle auswählen`},applyDefaults:`Standards anwenden`,applyDefaultsHint:`Setzt die erste Abdeckung als Primär, andere basierend auf dem Typ`},sensorRoles:{title:`Sensorrollen`,description:`Weisen Sie Sensorkanälen Rollen zu, damit das Panel Umgebungs-, Sicherheits-, Luftqualitäts- und Energiemessungen gruppieren kann.`,noSensors:`Keine Sensoren in diesem Bereich gefunden`,channel:{title:`Kanal`},role:{title:`Rolle`,placeholder:`Rolle auswählen`},applyDefaults:`Standards anwenden`,applyDefaultsHint:`Weist Rollen automatisch basierend auf der Sensorkanal-Kategorie zu`},suggestions:{title:`Intelligente Vorschläge`},suggestionsEnabled:{title:`Vorschläge aktivieren`,hint:`Wenn aktiviert, zeigt das Panel unauffällige Beleuchtungsvorschläge basierend auf Tageszeit und aktuellem Zustand an.`},statusWidgets:{energy:{title:`Energie`,range:{title:`Zeitraum`,options:{today:`Heute`,week:`Woche`,month:`Monat`}},showProduction:{title:`Erzeugung anzeigen`}}}}},lightingRoles:{main:`Haupt`,task:`Aufgabe`,ambient:`Ambiente`,accent:`Akzent`,night:`Nacht`,other:`Sonstige`,hidden:`Verborgen`,unassigned:`Nicht zugewiesen`,descriptions:{main:`Primäre Beleuchtung für den Bereich, typischerweise Decken- oder zentrale Leuchten für die allgemeine Beleuchtung.`,task:`Gezielte Beleuchtung für bestimmte Aktivitäten wie Lesen, Kochen oder Arbeiten.`,ambient:`Sanfte Hintergrundbeleuchtung zur Schaffung von Atmosphäre und Behaglichkeit.`,accent:`Dekorative Beleuchtung zur Hervorhebung von Merkmalen oder zur Schaffung visueller Akzente.`,night:`Schwache Beleuchtung für die nächtliche Navigation und Sicherheit.`,other:`Beleuchtung, die nicht in Standardkategorien passt.`,hidden:`Verborgene Lichter werden von der Panel-Oberfläche und der absichtsbasierten Steuerung ausgeschlossen.`}},climateRoles:{heating_only:`Nur Heizen`,cooling_only:`Nur Kühlen`,auto:`Automatisch`,auxiliary:`Zusatz`,sensor:`Sensor`,hidden:`Verborgen`,unassigned:`Nicht zugewiesen`,descriptions:{heating_only:`Gerät wird nur zum Heizen im Klimabereich verwendet.`,cooling_only:`Gerät wird nur zum Kühlen im Klimabereich verwendet.`,auto:`Gerät kann automatisch zum Heizen und Kühlen verwendet werden.`,auxiliary:`Zusätzliche Klimageräte wie Luftentfeuchter, Luftbefeuchter, Luftreiniger und Ventilatoren.`,sensor:`Klimasensor, der Messwerte (Temperatur, Luftfeuchtigkeit, Luftqualität usw.) für den Bereich liefert.`,hidden:`Verborgene Geräte werden von der Klima-Oberfläche und der Steuerung ausgeschlossen.`}},sensorRoles:{environment:`Umgebung`,safety:`Sicherheit`,security:`Überwachung`,air_quality:`Luftqualität`,energy:`Energie`,other:`Sonstige`,hidden:`Verborgen`,descriptions:{environment:`Umgebungssensoren wie Temperatur, Luftfeuchtigkeit, Druck oder Lichtstärke.`,safety:`Sicherheitssensoren wie Rauch-, Gas-, Leck- oder Kohlenmonoxid-Melder.`,security:`Sicherheits- und Anwesenheitssensoren wie Bewegungs-, Belegungs- und Kontaktsensoren.`,air_quality:`Luftqualitätssensoren einschließlich CO2, VOC, Feinstaub und andere Schadstoffe.`,energy:`Energieüberwachungssensoren wie Leistungs- oder Energieverbrauch.`,other:`Sensoren, die keiner bestimmten Kategorie zugeordnet sind.`,hidden:`Verborgene Sensoren werden von der Oberfläche ausgeschlossen.`},categories:{temperature:`Temperatur`,humidity:`Luftfeuchtigkeit`,pressure:`Druck`,illuminance:`Beleuchtungsstärke`,smoke:`Rauch`,gas:`Gas`,carbon_monoxide:`Kohlenmonoxid`,carbon_dioxide:`Kohlendioxid`,leak:`Leck`,motion:`Bewegung`,occupancy:`Belegung`,contact:`Kontakt`,air_quality:`Luftqualität`,air_particulate:`Feinstaub`,nitrogen_dioxide:`Stickstoffdioxid`,ozone:`Ozon`,sulphur_dioxide:`Schwefeldioxid`,volatile_organic_compounds:`Flüchtige organische Verbindungen`,electrical_energy:`Energie`,electrical_generation:`Erzeugung`,electrical_power:`Leistung`,battery:`Batterie`}},coversRoles:{primary:`Primär`,blackout:`Verdunkelung`,sheer:`Transparent`,outdoor:`Außen`,hidden:`Verborgen`,unassigned:`Nicht zugewiesen`,descriptions:{primary:`Hauptfensterabdeckung für den Bereich, typischerweise für allgemeinen Sichtschutz und Lichtkontrolle.`,blackout:`Lichtblockierende Abdeckungen für vollständige Dunkelheit, ideal für Schlafzimmer oder Medienräume.`,sheer:`Halbtransparente Abdeckungen, die Privatsphäre bieten und gleichzeitig natürliches Licht durchlassen.`,outdoor:`Außenrollläden, Markisen oder Pergolaabdeckungen für den Außenschutz.`,hidden:`Verborgene Abdeckungen werden von der Panel-Oberfläche und der absichtsbasierten Steuerung ausgeschlossen.`}},filters:{type:{title:`Typ`,all:`Alle`}},texts:{loadingSpaces:`Bereiche werden geladen...`,loadingSpace:`Bereich wird geladen...`,noSpaces:`Sie haben noch keine Bereiche konfiguriert`,noFilteredSpaces:`Keine Bereiche entsprechen Ihren Filterkriterien`,confirmDiscard:`Sie haben ungespeicherte Änderungen. Möchten Sie diese wirklich verwerfen?`},dialogs:{lightingRoles:{title:`Beleuchtungsrollen bearbeiten`},climateRoles:{title:`Klimarollen bearbeiten`},coversRoles:{title:`Abdeckungsrollen bearbeiten`},sensorRoles:{title:`Sensorrollen bearbeiten`},mediaActivities:{title:`Medienaktivitäten bearbeiten`}},buttons:{add:{title:`Hinzufügen`},done:{title:`Fertig`},detail:{title:`Details`},adjust:{title:`Filtern`},resetFilters:{title:`Filter zurücksetzen`},reset:{title:`Zurücksetzen`},yes:{title:`Ja`},no:{title:`Nein`},save:{title:`Speichern`},cancel:{title:`Abbrechen`},close:{title:`Schließen`},discard:{title:`Verwerfen`},edit:{title:`Bearbeiten`},delete:{title:`Löschen`},previous:{title:`Zurück`},next:{title:`Weiter`},finish:{title:`Abschließen`},onboarding:{title:`Einrichtungsassistent`},viewAll:{title:`Alle anzeigen`},back:{title:`Zurück`}},detail:{title:`Bereichsdetails`,lightingRoles:{title:`Beleuchtungsrollen`,lightsAssigned:`Lichter zugewiesen`,noRolesAssigned:`Noch keine Rollen zugewiesen`},climateRoles:{title:`Klimarollen`,devicesAssigned:`Geräte zugewiesen`,noRolesAssigned:`Noch keine Rollen zugewiesen`},coversRoles:{title:`Abdeckungsrollen`,coversAssigned:`Abdeckungen zugewiesen`,noRolesAssigned:`Noch keine Rollen zugewiesen`},sensorRoles:{title:`Sensorrollen`,sensorsAssigned:`Sensoren zugewiesen`,noRolesAssigned:`Noch keine Rollen zugewiesen`},mediaActivities:{title:`Medienaktivitäten`,noActivities:`Noch keine Aktivitäten konfiguriert`},info:{title:`Bereichsinformationen`,name:`Name`,description:`Beschreibung`,type:`Typ`,icon:`Symbol`,displayOrder:`Anzeigereihenfolge`},devices:{title:`Geräte`,add:`Gerät hinzufügen`,empty:`Diesem Bereich sind keine Geräte zugewiesen`,loading:`Geräte werden geladen...`,remove:`Entfernen`,removeHeading:`Gerät aus Bereich entfernen`,reassign:`Neu zuweisen`,assign:`Zuweisen`,selectDevice:`Geräte zum Hinzufügen auswählen`,confirmRemove:`Gerät "{name}" aus diesem Bereich entfernen?`,selectRoom:`Raum für Gerät auswählen`,noAvailable:`Keine Geräte zum Hinzufügen verfügbar`,removed:`Gerät "{name}" wurde aus diesem Bereich entfernt.`,removeCanceled:`Geräteentfernung wurde abgebrochen.`},parentZone:{title:`Stockwerk`,none:`Kein Stockwerk zugewiesen`,select:`Stockwerk auswählen`},displays:{title:`Displays`,add:`Display hinzufügen`,empty:`Diesem Bereich sind keine Displays zugewiesen`,loading:`Displays werden geladen...`,remove:`Entfernen`,removeHeading:`Display aus Bereich entfernen`,reassign:`Neu zuweisen`,assign:`Zuweisen`,selectDisplay:`Display zum Hinzufügen auswählen`,confirmRemove:`Display "{name}" aus diesem Bereich entfernen?`,selectRoom:`Raum für dieses Display auswählen`,noAvailable:`Keine Displays zum Hinzufügen verfügbar`,removed:`Display "{name}" wurde aus diesem Bereich entfernt.`,removeCanceled:`Display-Entfernung wurde abgebrochen.`},media:{activities:`Medienaktivitäten`},scenes:{title:`Szenen`,add:`Szene hinzufügen`,empty:`Diesem Bereich sind keine Szenen zugewiesen`,loading:`Szenen werden geladen...`,name:`Szenenname`,category:`Kategorie`,status:`Status`,enabled:`Aktiviert`,disabled:`Deaktiviert`,remove:`Entfernen`,removeHeading:`Szene aus Bereich entfernen`,reassign:`Neu zuweisen`,reassigned:`Szene "{name}" wurde erfolgreich neu zugewiesen.`,assign:`Zuweisen`,selectScene:`Szene zum Hinzufügen auswählen`,selectSpace:`Bereich für Szene auswählen`,searchPlaceholder:`Szenen suchen...`,confirmRemove:`Szene "{name}" aus diesem Bereich entfernen?`,assignedSpace:`Zugewiesener Bereich`,noAvailable:`Keine Szenen zum Hinzufügen verfügbar`,noFilteredScenes:`Keine Szenen entsprechen Ihrer Suche`,assigned:`Szene "{name}" wurde diesem Bereich zugewiesen.`,removed:`Szene "{name}" wurde aus diesem Bereich entfernt.`,removeCanceled:`Szenenentfernung wurde abgebrochen.`}},media:{endpointTypes:{display:`Display`,audio_output:`Audioausgang`,source:`Quelle`,remote_target:`Fernziel`},capabilities:{power:`Strom`,input:`Eingang`,volume:`Lautstärke`,playback:`Wiedergabe`,track:`Titel`,remote:`Fernbedienung`,mute:`Stummschaltung`},activityLabels:{watch:`Schauen`,listen:`Hören`,gaming:`Spielen`,background:`Hintergrund`,off:`Aus`},activities:{loading:`Medienkonfiguration wird geladen...`,description:`Weisen Sie jeder Medienaktivität Display-, Audio-, Quell- und Fernbedienungsgeräte zu. Änderungen werden automatisch gespeichert.`,applyDefaults:`Standards anwenden`,applyDefaultsHint:`Weist Endpunkte automatisch basierend auf Gerätetypen und Fähigkeiten zu`,defaultsApplied:`Standardzuordnungen wurden angewendet.`,defaultsFailed:`Standardzuordnungen konnten nicht angewendet werden.`,selectPrompt:`Wählen Sie eine Aktivität aus der Liste, um ihre Zuordnungen zu konfigurieren.`,selectEndpoint:`Endpunkt auswählen...`,save:`Speichern`,reset:`Zurücksetzen`,saveError:`Zuordnung konnte nicht gespeichert werden`,savedSuccessfully:`Zuordnung erfolgreich gespeichert.`,slots:{display:`Display`,audio:`Audioausgang`,source:`Quelle`,remote:`Fernziel`},overrides:{displayInput:`Display-Eingangsvoreinstellung`,displayInputPlaceholder:`z. B. HDMI1, Apps`,audioInput:`Audio-Eingangsvoreinstellung`,audioInputPlaceholder:`z. B. HDMI1, ARC`,sourceInput:`Quell-Eingangsvoreinstellung`,sourceInputPlaceholder:`z. B. HDMI1, Apps`,audioVolume:`Audio-Lautstärkevoreinstellung`},mediaInputSources:{hdmi1:`HDMI 1`,hdmi2:`HDMI 2`,hdmi3:`HDMI 3`,hdmi4:`HDMI 4`,hdmi5:`HDMI 5`,hdmi6:`HDMI 6`,arc:`ARC`,earc:`eARC`,tv:`TV`,cable:`Kabel`,satellite:`Satellit`,antenna:`Antenne`,av1:`AV 1`,av2:`AV 2`,component:`Component`,vga:`VGA`,dvi:`DVI`,usb:`USB`,bluetooth:`Bluetooth`,wifi:`Wi-Fi`,airplay:`AirPlay`,cast:`Chromecast`,dlna:`DLNA`,miracast:`Miracast`,app_netflix:`Netflix`,app_youtube:`YouTube`,app_spotify:`Spotify`,app_prime_video:`Prime Video`,app_disney_plus:`Disney+`,app_hbo_max:`HBO Max`,app_apple_tv:`Apple TV`,app_plex:`Plex`,app_kodi:`Kodi`,other:`Sonstige`},status:{configured:`Konfiguriert`,incomplete:`Unvollständig`,unconfigured:`Nicht eingerichtet`},run:`Ausführen`,deactivate:`Deaktivieren`,refreshStatus:`Status aktualisieren`,rerun:`Erneut ausführen`,copyDebugJson:`Debug-JSON kopieren`,copiedToClipboard:`Debug-JSON in die Zwischenablage kopiert.`,activateSuccess:`Aktivität erfolgreich aktiviert.`,activateFailed:`Aktivierung der Aktivität fehlgeschlagen.`,deactivateSuccess:`Aktivität deaktiviert.`,deactivateFailed:`Deaktivierung der Aktivität fehlgeschlagen.`,fetchFailed:`Aktualisierung des Aktivitätsstatus fehlgeschlagen.`,preview:`Vorschau`,previewFailed:`Vorschau der Aktivität fehlgeschlagen.`,previewDialog:{title:`Ausführungsplan-Vorschau`,resolvedDevices:`Aufgelöste Geräte`,executionPlan:`Ausführungsplan`,step:`#`,action:`Aktion`,device:`Gerät`,critical:`Kritisch`,criticalYes:`Kritisch`,criticalNo:`Optional`,warnings:`Warnungen & übersprungene Schritte`,noSteps:`Keine Ausführungsschritte im Plan.`,close:`Schließen`},activePanel:{title:`Aktiver Zustand`,currentActivity:`Aktuelle Aktivität`,none:`Keine`,state:`Zustand`,activatedAt:`Aktiviert am`,updatedAt:`Aktualisiert am`,resolvedDevices:`Aufgelöste Geräte`,display:`Display`,audio:`Audio`,source:`Quelle`,remote:`Fernbedienung`},failures:{title:`Fehler`,total:`Schritte gesamt`,succeeded:`Erfolgreich`,failed:`Fehlgeschlagen`,stepIndex:`Schritt`,device:`Gerät`,property:`Eigenschaft`,reason:`Grund`},activationState:{activating:`Wird aktiviert`,active:`Aktiv`,failed:`Fehlgeschlagen`,deactivated:`Deaktiviert`}}},messages:{notFound:`Bereich nicht gefunden`,loadError:`Bereiche konnten nicht geladen werden`,notLoaded:`Bereich konnte nicht geladen werden. Bitte versuchen Sie es später erneut.`,confirmRemove:`Sind Sie sicher, dass Sie den Bereich "{name}" entfernen möchten? Diese Aktion kann nicht rückgängig gemacht werden.`,confirmDelete:`Sind Sie sicher, dass Sie diesen Bereich löschen möchten?`,created:`Neuer Bereich erfolgreich hinzugefügt.`,notCreated:`Etwas ist schiefgelaufen. Der Bereich konnte nicht erstellt werden.`,edited:`Änderungen gespeichert! Der Bereich: {space} wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Bereichsaktualisierung war nicht erfolgreich.`,removed:`Der Bereich: {space} wurde erfolgreich entfernt.`,removeCanceled:`Entfernung von Bereich: {space} wurde abgebrochen.`,deletedWhileEditing:`Dieser Bereich wurde gelöscht und ist nicht mehr verfügbar.`,createError:`Bereich konnte nicht erstellt werden. Bitte versuchen Sie es erneut.`,saveError:`Änderungen konnten nicht gespeichert werden. Bitte versuchen Sie es erneut.`,confirmBulkRemove:`Sind Sie sicher, dass Sie {count} Bereiche entfernen möchten? Diese Aktion kann nicht rückgängig gemacht werden.`,bulkRemoved:`{count} Bereiche wurden erfolgreich entfernt.`,bulkRemoveFailed:`Entfernung von {count} Bereichen fehlgeschlagen.`,bulkRemoveCanceled:`Massenentfernung von Bereichen wurde abgebrochen.`},misc:{types:{room:`Raum`,zone:`Zone`}},onboarding:{title:`Einrichtungsassistent für Bereiche`,devices:`Geräte`,displays:`Displays`,selectSpace:`Bereich auswählen`,selectZones:`Zonen auswählen...`,deviceName:`Gerätename`,displayName:`Displayname`,assignedSpace:`Zugewiesener Bereich`,spaceName:`Bereichsname`,zones:`Zonen (optional)`,advanced:`Erweitert`,basic:`Einfach`,steps:{spaces:{title:`Bereiche erstellen`,description:`Bereiche helfen Ihnen, Ihre Geräte und Displays nach Räumen oder Zonen zu organisieren (z. B. Wohnzimmer, Küche, Schlafzimmer). Wir haben einige Bereiche automatisch aus Ihren Gerätenamen erkannt – überprüfen und wählen Sie die gewünschten aus, oder fügen Sie unten eigene Bereiche hinzu.`,alertTitle:`Bereiche repräsentieren Räume oder Zonen in Ihrem Zuhause`,alertDescription:`Wir haben einige Bereiche basierend auf Ihren Gerätenamen vorgeschlagen. Sie können sie jetzt anpassen oder später alles ändern.`,proposed:`Vorgeschlagene Bereiche`,custom:`Benutzerdefinierte Bereiche`,existing:`Vorhandene Bereiche`,matchedExisting:`Vorhandene Bereiche verwenden`,usingExisting:`Vorhandenen verwenden`,matchedWith:`Verwendet: {name}`,addManual:`Benutzerdefinierten Bereich hinzufügen`,placeholder:`Bereichsname eingeben (z. B. Wohnzimmer)`,noProposals:`Aus Ihren Gerätenamen konnten keine Bereiche erkannt werden. Fügen Sie unten manuell Bereiche hinzu.`,duplicateWarning:`Ein ähnlicher Bereich wie "{name}" existiert bereits.`,convertedToMatch:`Dieser Bereich stimmt mit einem vorhandenen Bereich überein und wurde in den Abschnitt "Vorhandene Bereiche verwenden" verschoben.`,multipleMatchedWith:`{count} erkannte Bereiche verwenden den vorhandenen Bereich '{name}'`,existingTag:`Vorhanden`},displays:{title:`Displays zuweisen`,description:`Weisen Sie jedes Display einem Bereich zu. Dies bestimmt, welcher Bereich standardmäßig angezeigt wird.`,alertTitle:`Wählen Sie einen Standardbereich für jedes Display`,alertDescription:`Dies setzt nur die anfängliche Ansicht – Sie können Bereiche jederzeit vom Display aus wechseln.`,noDisplays:`Noch keine Displays registriert.`},devices:{title:`Geräte zuweisen`,description:`Weisen Sie Geräte Bereichen zu. Geräte werden basierend auf ihren Namen vorab zugewiesen, falls erkannt.`,alertTitle:`Verbinden Sie Ihre Geräte mit Räumen`,alertDescription:`Einige Geräte sind basierend auf ihren Namen vorausgefüllt. Sie können die Zuweisungen jederzeit anpassen.`,noDevices:`Keine Geräte gefunden.`},summary:{title:`Zusammenfassung`,description:`Überprüfen Sie Ihre Konfiguration, bevor Sie Änderungen anwenden.`,alertTitle:`Zusammenfassung Ihrer Einrichtung`,alertDescription:`Sie können noch zurückgehen und alles anpassen, bevor Sie abschließen.`}},summary:{overview:`Zusammenfassung`,totalSpaces:`Bereiche gesamt`,assignedDevices:`Zugewiesene Geräte`,unassignedDevices:`Nicht zugewiesene Geräte`,assignedDisplays:`Zugewiesene Displays`,unassignedDisplays:`Nicht zugewiesene Displays`,bySpace:`Zuweisungen nach Bereich`,unassignedDevicesTitle:`Nicht zugewiesene Geräte`,unassignedDisplaysTitle:`Nicht zugewiesene Displays`,noDevices:`Keine Geräte`,clickToAssignDevices:`Klicken, um Geräte zuzuweisen`,clickToAssignDisplays:`Klicken, um Displays zuzuweisen`},messages:{spacesCreated:`{count} Bereich(e) erfolgreich erstellt`,completed:`Einrichtung abgeschlossen! {devices} Gerät(e), {displays} Display(s) und {zones} Zonenzuweisung(en).`}}},hr={menu:{title:`Spaces`},title:`Spaces`,description:`Manage your spaces (rooms and zones)`,headings:{list:`Spaces`,spaces:`Spaces`,detail:`Space detail`,add:`Add space`,edit:`Edit space`,removeSpace:`Remove space`,bulkRemoveSpace:`Remove spaces`,discard:`Discard changes`,adjustFilters:`Filter spaces`},edit:{sections:{general:{title:`General`},organization:{title:`Organization`,hint:`Assign this room to a zone (e.g. "Ground Floor", "Upstairs") to group related rooms together.`},devicesDisplays:{title:`Devices & Displays`,titleDevicesOnly:`Devices`,summary:`{devices} devices and {displays} displays are currently assigned to this space.`,summaryDevicesOnly:`{devices} devices are currently assigned to this space.`,manageDevices:`Manage devices`,manageDisplays:`Manage displays`},statusWidgets:{title:`Status widgets`,hint:`Configure widgets displayed in the space status area on the panel.`},smartOverrides:{title:`Smart overrides`,badge:`Advanced`,hint:`Optional settings to improve smart behavior and intent-based control.`,lightingRoles:`Lighting roles`,climateRoles:`Climate roles`,coversRoles:`Covers roles`,sensorRoles:`Sensor roles`,smartSuggestions:`Smart suggestions`}}},subHeadings:{list:`Organize devices and displays by rooms or zones`,adjustFilters:`Adjust display filters`,add:`Add new space`,detail:`Manage space: {space}`,onboarding:`Setup wizard for spaces, devices and displays`},breadcrumbs:{spaces:{list:`spaces`,detail:`space: {space}`,edit:`edit space`,add:`add space`,onboarding:`setup wizard`}},meta:{spaces:{list:{title:`List spaces`},edit:{title:`Edit space: {space}`},add:{title:`Add space`},detail:{title:`Space: {space}`},onboarding:{title:`Spaces setup wizard`}}},table:{columns:{name:`Name`,type:`Type`,category:`Category`,description:`Description`,order:`Order`,devices:`Devices`,displays:`Displays`,actions:`Actions`},empty:`No spaces found. Create your first space to get started.`},fields:{search:{placeholder:`Search spaces...`},spaces:{id:{title:`Internal identifier`,placeholder:`Space id`},name:{title:`Name`,placeholder:`Enter space name (e.g., Living Room)`,validation:{required:`Name is required`,maxLength:`Name must be less than 100 characters`}},description:{title:`Description`,placeholder:`Optional description of the space`},type:{title:`Type`,options:{room:`Room`,zone:`Zone`},validation:{required:`Type is required`}},category:{title:`Category`,placeholder:`Select a category`,hint:`Choosing a category will automatically suggest an icon and description for this space. Available categories depend on whether this is a room or zone.`,validation:{requiredForZone:`Category is required for zones`},groups:{floors:`Floors`,outdoor:`Outdoor areas`,other:`Other`},options:{living_room:`Living room`,bedroom:`Bedroom`,bathroom:`Bathroom`,toilet:`Toilet`,kitchen:`Kitchen`,dining_room:`Dining room`,office:`Office`,entryway:`Entryway`,garage:`Garage`,hallway:`Hallway`,laundry:`Laundry`,utility_room:`Utility room`,storage:`Storage`,closet:`Closet`,pantry:`Pantry`,nursery:`Nursery`,guest_room:`Guest room`,gym:`Gym`,media_room:`Media room`,workshop:`Workshop`,other:`Other`,floor_ground:`Ground floor`,floor_first:`First floor`,floor_second:`Second floor`,floor_basement:`Basement`,floor_attic:`Attic`,outdoor_front_yard:`Front yard`,outdoor_backyard:`Backyard`,outdoor_driveway:`Driveway`,outdoor_garden:`Garden`,outdoor_terrace:`Terrace`,outdoor_balcony:`Balcony`,outdoor_walkway:`Walkway`,security_perimeter:`Security perimeter`,utility:`Utility`,zone_other:`Other`}},icon:{title:`Icon`,placeholder:`mdi:home (Iconify icon name)`},displayOrder:{title:`Display order`,placeholder:`Order in lists`},parentZone:{title:`Parent zone`,placeholder:`Select a parent zone (optional)`,hint:`You can organize this room by assigning it to a zone, like 'Ground Floor' or 'Upstairs'. This helps group related rooms together.`},lightingRoles:{title:`Lighting roles`,description:`Assign roles to lights to help the panel understand how each light is typically used (Work, Relax, Night)`,noLights:`No lights found in this space`,role:{title:`Role`,placeholder:`Select a role`},applyDefaults:`Apply defaults`,applyDefaultsHint:`Sets first light as Main, others as Ambient`},climateRoles:{title:`Climate roles`,description:`Assign roles to climate devices to help the panel understand how each device controls temperature and air quality`,noDevices:`No climate devices found in this space`,role:{title:`Role`,placeholder:`Select a role`},applyDefaults:`Apply defaults`,applyDefaultsHint:`Auto-assigns roles based on device type`},coversRoles:{title:`Covers roles`,description:`Assign roles to window coverings to help the panel understand how each cover is used (primary, blackout, sheer)`,noCovers:`No window coverings found in this space`,role:{title:`Role`,placeholder:`Select a role`},applyDefaults:`Apply defaults`,applyDefaultsHint:`Sets first cover as Primary, others based on type`},sensorRoles:{title:`Sensor roles`,description:`Assign roles to sensor channels so the panel can group environment, safety, security, air quality, and energy readings.`,noSensors:`No sensors found in this space`,channel:{title:`Channel`},role:{title:`Role`,placeholder:`Select a role`},applyDefaults:`Apply defaults`,applyDefaultsHint:`Auto-assigns roles based on sensor channel category`},suggestions:{title:`Smart suggestions`},suggestionsEnabled:{title:`Enable suggestions`,hint:`When enabled, the panel will show non-intrusive lighting suggestions based on time of day and current state.`},statusWidgets:{energy:{title:`Energy`,range:{title:`Range`,options:{today:`Today`,week:`Week`,month:`Month`}},showProduction:{title:`Show production`}}}}},lightingRoles:{main:`Main`,task:`Task`,ambient:`Ambient`,accent:`Accent`,night:`Night`,other:`Other`,hidden:`Hidden`,unassigned:`Unassigned`,descriptions:{main:`Primary lighting for the space, typically overhead or central fixtures used for general illumination.`,task:`Focused lighting for specific activities like reading, cooking, or working.`,ambient:`Soft background lighting used to create atmosphere and comfort.`,accent:`Decorative lighting used to highlight features or create visual interest.`,night:`Low-level lighting for nighttime navigation and safety.`,other:`Lighting that doesn't fit into standard categories.`,hidden:`Hidden lights are excluded from the panel UI and intent-based control.`}},climateRoles:{heating_only:`Heating Only`,cooling_only:`Cooling Only`,auto:`Auto`,auxiliary:`Auxiliary`,sensor:`Sensor`,hidden:`Hidden`,unassigned:`Unassigned`,descriptions:{heating_only:`Device is used only for heating in the climate domain.`,cooling_only:`Device is used only for cooling in the climate domain.`,auto:`Device can be used for both heating and cooling automatically.`,auxiliary:`Auxiliary climate devices like dehumidifiers, humidifiers, air purifiers, and fans.`,sensor:`Climate sensor providing readings (temperature, humidity, air quality, etc.) for the space.`,hidden:`Hidden devices are excluded from the climate domain UI and control.`}},sensorRoles:{environment:`Environment`,safety:`Safety`,security:`Security`,air_quality:`Air quality`,energy:`Energy`,other:`Other`,hidden:`Hidden`,descriptions:{environment:`Environmental sensors such as temperature, humidity, pressure, or light levels.`,safety:`Safety sensors like smoke, gas, leak, or carbon monoxide detectors.`,security:`Security and presence sensors like motion, occupancy, and contact sensors.`,air_quality:`Air quality sensors including CO2, VOC, particulate matter, and other pollutants.`,energy:`Energy monitoring sensors such as power or energy consumption.`,other:`Sensors that don't fit a specific category.`,hidden:`Hidden sensors are excluded from the UI.`},categories:{temperature:`Temperature`,humidity:`Humidity`,pressure:`Pressure`,illuminance:`Illuminance`,smoke:`Smoke`,gas:`Gas`,carbon_monoxide:`Carbon monoxide`,carbon_dioxide:`Carbon dioxide`,leak:`Leak`,motion:`Motion`,occupancy:`Occupancy`,contact:`Contact`,air_quality:`Air quality`,air_particulate:`Air particulate`,nitrogen_dioxide:`Nitrogen dioxide`,ozone:`Ozone`,sulphur_dioxide:`Sulphur dioxide`,volatile_organic_compounds:`Volatile organic compounds`,electrical_energy:`Energy`,electrical_generation:`Generation`,electrical_power:`Power`,battery:`Battery`}},coversRoles:{primary:`Primary`,blackout:`Blackout`,sheer:`Sheer`,outdoor:`Outdoor`,hidden:`Hidden`,unassigned:`Unassigned`,descriptions:{primary:`Main window covering for the space, typically used for general privacy and light control.`,blackout:`Light-blocking covers designed for complete darkness, ideal for bedrooms or media rooms.`,sheer:`Semi-transparent covers that provide privacy while allowing natural light to filter through.`,outdoor:`External shutters, awnings, or pergola covers for outdoor protection.`,hidden:`Hidden covers are excluded from the panel UI and intent-based control.`}},filters:{type:{title:`Type`,all:`All`}},texts:{loadingSpaces:`Loading spaces...`,loadingSpace:`Loading space...`,noSpaces:`You don't have configured any space`,noFilteredSpaces:`No spaces match your filter criteria`,confirmDiscard:`You have unsaved changes. Are you sure you want to discard them?`},dialogs:{lightingRoles:{title:`Edit Lighting Roles`},climateRoles:{title:`Edit Climate Roles`},coversRoles:{title:`Edit Covers Roles`},sensorRoles:{title:`Edit Sensor Roles`},mediaActivities:{title:`Edit Media Activities`}},buttons:{add:{title:`Add`},done:{title:`Done`},detail:{title:`Detail`},adjust:{title:`Filter`},resetFilters:{title:`Reset filters`},reset:{title:`Reset`},yes:{title:`Yes`},no:{title:`No`},save:{title:`Save`},cancel:{title:`Cancel`},close:{title:`Close`},discard:{title:`Discard`},edit:{title:`Edit`},delete:{title:`Delete`},previous:{title:`Previous`},next:{title:`Next`},finish:{title:`Finish`},onboarding:{title:`Setup wizard`},viewAll:{title:`View all`},back:{title:`Go back`}},detail:{title:`Space detail`,lightingRoles:{title:`Lighting roles`,lightsAssigned:`Lights assigned`,noRolesAssigned:`No roles assigned yet`},climateRoles:{title:`Climate roles`,devicesAssigned:`Devices assigned`,noRolesAssigned:`No roles assigned yet`},coversRoles:{title:`Covers roles`,coversAssigned:`Covers assigned`,noRolesAssigned:`No roles assigned yet`},sensorRoles:{title:`Sensor roles`,sensorsAssigned:`Sensors assigned`,noRolesAssigned:`No roles assigned yet`},mediaActivities:{title:`Media Activities`,noActivities:`No activities configured yet`},info:{title:`Space information`,name:`Name`,description:`Description`,type:`Type`,icon:`Icon`,displayOrder:`Display order`},devices:{title:`Devices`,add:`Add device`,empty:`No devices assigned to this space`,loading:`Loading devices...`,remove:`Remove`,removeHeading:`Remove device from space`,reassign:`Reassign`,assign:`Assign`,selectDevice:`Select devices to add`,confirmRemove:`Remove device "{name}" from this space?`,selectRoom:`Select room for device`,noAvailable:`No devices available to add`,removed:`Device "{name}" was removed from this space.`,removeCanceled:`Device removal was canceled.`},parentZone:{title:`Floor`,none:`No floor assigned`,select:`Select floor`},displays:{title:`Displays`,add:`Add display`,empty:`No displays assigned to this space`,loading:`Loading displays...`,remove:`Remove`,removeHeading:`Remove display from space`,reassign:`Reassign`,assign:`Assign`,selectDisplay:`Select display to add`,confirmRemove:`Remove display "{name}" from this space?`,selectRoom:`Select the room for this display`,noAvailable:`No displays available to add`,removed:`Display "{name}" was removed from this space.`,removeCanceled:`Display removal was canceled.`},media:{activities:`Media Activities`},scenes:{title:`Scenes`,add:`Add scene`,empty:`No scenes assigned to this space`,loading:`Loading scenes...`,name:`Scene name`,category:`Category`,status:`Status`,enabled:`Enabled`,disabled:`Disabled`,remove:`Remove`,removeHeading:`Remove scene from space`,reassign:`Reassign`,reassigned:`Scene "{name}" was reassigned successfully.`,assign:`Assign`,selectScene:`Select scene to add`,selectSpace:`Select space for scene`,searchPlaceholder:`Search scenes...`,confirmRemove:`Remove scene "{name}" from this space?`,assignedSpace:`Assigned space`,noAvailable:`No scenes available to add`,noFilteredScenes:`No scenes match your search`,assigned:`Scene "{name}" was assigned to this space.`,removed:`Scene "{name}" was removed from this space.`,removeCanceled:`Scene removal was canceled.`}},media:{endpointTypes:{display:`Display`,audio_output:`Audio Output`,source:`Source`,remote_target:`Remote Target`},capabilities:{power:`Power`,input:`Input`,volume:`Volume`,playback:`Playback`,track:`Track`,remote:`Remote`,mute:`Mute`},activityLabels:{watch:`Watch`,listen:`Listen`,gaming:`Gaming`,background:`Background`,off:`Off`},activities:{loading:`Loading media configuration...`,description:`Assign display, audio, source, and remote devices to each media activity. Changes are saved automatically.`,applyDefaults:`Apply defaults`,applyDefaultsHint:`Auto-assigns endpoints based on device types and capabilities`,defaultsApplied:`Default bindings have been applied.`,defaultsFailed:`Failed to apply default bindings.`,selectPrompt:`Select an activity from the list to configure its bindings.`,selectEndpoint:`Select endpoint...`,save:`Save`,reset:`Reset`,saveError:`Failed to save binding`,savedSuccessfully:`Binding saved successfully.`,slots:{display:`Display`,audio:`Audio output`,source:`Source`,remote:`Remote target`},overrides:{displayInput:`Display input preset`,displayInputPlaceholder:`e.g. HDMI1, Apps`,audioInput:`Audio input preset`,audioInputPlaceholder:`e.g. HDMI1, ARC`,sourceInput:`Source input preset`,sourceInputPlaceholder:`e.g. HDMI1, Apps`,audioVolume:`Audio volume preset`},mediaInputSources:{hdmi1:`HDMI 1`,hdmi2:`HDMI 2`,hdmi3:`HDMI 3`,hdmi4:`HDMI 4`,hdmi5:`HDMI 5`,hdmi6:`HDMI 6`,arc:`ARC`,earc:`eARC`,tv:`TV`,cable:`Cable`,satellite:`Satellite`,antenna:`Antenna`,av1:`AV 1`,av2:`AV 2`,component:`Component`,vga:`VGA`,dvi:`DVI`,usb:`USB`,bluetooth:`Bluetooth`,wifi:`Wi-Fi`,airplay:`AirPlay`,cast:`Chromecast`,dlna:`DLNA`,miracast:`Miracast`,app_netflix:`Netflix`,app_youtube:`YouTube`,app_spotify:`Spotify`,app_prime_video:`Prime Video`,app_disney_plus:`Disney+`,app_hbo_max:`HBO Max`,app_apple_tv:`Apple TV`,app_plex:`Plex`,app_kodi:`Kodi`,other:`Other`},status:{configured:`Configured`,incomplete:`Incomplete`,unconfigured:`Not set`},run:`Run`,deactivate:`Deactivate`,refreshStatus:`Refresh status`,rerun:`Re-run`,copyDebugJson:`Copy debug JSON`,copiedToClipboard:`Debug JSON copied to clipboard.`,activateSuccess:`Activity activated successfully.`,activateFailed:`Failed to activate activity.`,deactivateSuccess:`Activity deactivated.`,deactivateFailed:`Failed to deactivate activity.`,fetchFailed:`Failed to refresh activity status.`,preview:`Preview`,previewFailed:`Failed to preview activity.`,previewDialog:{title:`Execution Plan Preview`,resolvedDevices:`Resolved devices`,executionPlan:`Execution plan`,step:`#`,action:`Action`,device:`Device`,critical:`Critical`,criticalYes:`Critical`,criticalNo:`Optional`,warnings:`Warnings & skipped steps`,noSteps:`No execution steps in plan.`,close:`Close`},activePanel:{title:`Active State`,currentActivity:`Current activity`,none:`None`,state:`State`,activatedAt:`Activated at`,updatedAt:`Updated at`,resolvedDevices:`Resolved devices`,display:`Display`,audio:`Audio`,source:`Source`,remote:`Remote`},failures:{title:`Failures`,total:`Total steps`,succeeded:`Succeeded`,failed:`Failed`,stepIndex:`Step`,device:`Device`,property:`Property`,reason:`Reason`},activationState:{activating:`Activating`,active:`Active`,failed:`Failed`,deactivated:`Deactivated`}}},messages:{notFound:`Space not found`,loadError:`Failed to load spaces`,notLoaded:`Failed to load space. Please try again later.`,confirmRemove:`Are you sure you want to remove space "{name}"? This action cannot be undone.`,confirmDelete:`Are you sure you want to delete this space?`,created:`New space added successfully.`,notCreated:`Something went wrong. Unable to create the space.`,edited:`Changes saved! The space: {space} has been updated.`,notEdited:`Something went wrong. Space update was not successful.`,removed:`The space: {space} was successfully removed.`,removeCanceled:`Space: {space} removal has been canceled.`,deletedWhileEditing:`This space was deleted and is no longer available.`,createError:`Failed to create space. Please try again.`,saveError:`Failed to save changes. Please try again.`,confirmBulkRemove:`Are you sure you want to remove {count} spaces? This action cannot be undone.`,bulkRemoved:`{count} spaces were successfully removed.`,bulkRemoveFailed:`Failed to remove {count} spaces.`,bulkRemoveCanceled:`Bulk space removal has been canceled.`},misc:{types:{room:`Room`,zone:`Zone`}},onboarding:{title:`Spaces setup wizard`,devices:`devices`,displays:`displays`,selectSpace:`Select space`,selectZones:`Select zones...`,deviceName:`Device name`,displayName:`Display name`,assignedSpace:`Assigned space`,spaceName:`Space name`,zones:`Zones (optional)`,advanced:`Advanced`,basic:`Basic`,steps:{spaces:{title:`Create spaces`,description:`Spaces help you organize your devices and displays by rooms or zones (e.g., Living Room, Kitchen, Bedroom). We've automatically detected some spaces from your device names - review and select the ones you want to create, or add your own custom spaces below.`,alertTitle:`Spaces represent rooms or areas in your home`,alertDescription:`We've suggested some spaces based on your device names. You can adjust them now or change everything later.`,proposed:`Proposed spaces`,custom:`Custom spaces`,existing:`Existing spaces`,matchedExisting:`Using existing spaces`,usingExisting:`Using existing`,matchedWith:`Will use: {name}`,addManual:`Add custom space`,placeholder:`Enter space name (e.g., Living Room)`,noProposals:`No spaces could be detected from your device names. Add spaces manually below.`,duplicateWarning:`A space similar to "{name}" already exists.`,convertedToMatch:`This space matches an existing space and has been moved to the 'Using existing spaces' section.`,multipleMatchedWith:`{count} detected spaces will use existing space '{name}'`,existingTag:`Existing`},displays:{title:`Assign displays`,description:`Assign each display to a space. This determines which space the display will show by default.`,alertTitle:`Choose a default space for each display`,alertDescription:`This only sets the initial view—you can switch spaces anytime from the display itself.`,noDisplays:`No displays registered yet.`},devices:{title:`Assign devices`,description:`Assign devices to spaces. Devices will be pre-assigned based on their names if detected.`,alertTitle:`Connect your devices to rooms`,alertDescription:`Some devices are pre-filled based on their names. Feel free to adjust—you can always change assignments later.`,noDevices:`No devices found.`},summary:{title:`Summary`,description:`Review your configuration before applying changes.`,alertTitle:`Summary of your setup`,alertDescription:`You can still go back and adjust anything before finishing.`}},summary:{overview:`Summary`,totalSpaces:`Total spaces`,assignedDevices:`Assigned devices`,unassignedDevices:`Unassigned devices`,assignedDisplays:`Assigned displays`,unassignedDisplays:`Unassigned displays`,bySpace:`Assignments by space`,unassignedDevicesTitle:`Unassigned devices`,unassignedDisplaysTitle:`Unassigned displays`,noDevices:`No devices`,clickToAssignDevices:`Click to assign devices`,clickToAssignDisplays:`Click to assign displays`},messages:{spacesCreated:`{count} space(s) created successfully`,completed:`Onboarding complete! {devices} device(s), {displays} display(s), and {zones} zone assignment(s).`}}},gr={menu:{title:`Espacios`},title:`Espacios`,description:`Gestiona tus espacios (habitaciones y zonas)`,headings:{list:`Espacios`,spaces:`Espacios`,detail:`Detalle del espacio`,add:`Añadir espacio`,edit:`Editar espacio`,removeSpace:`Eliminar espacio`,bulkRemoveSpace:`Eliminar espacios`,discard:`Descartar cambios`,adjustFilters:`Filtrar espacios`},edit:{sections:{general:{title:`General`},organization:{title:`Organización`,hint:`Asigne esta habitación a una zona (p. ej., "Planta baja", "Planta alta") para agrupar habitaciones relacionadas.`},devicesDisplays:{title:`Dispositivos y pantallas`,titleDevicesOnly:`Dispositivos`,summary:`Actualmente hay {devices} dispositivos y {displays} pantallas asignados a este espacio.`,summaryDevicesOnly:`Actualmente hay {devices} dispositivos asignados a este espacio.`,manageDevices:`Gestionar dispositivos`,manageDisplays:`Gestionar pantallas`},statusWidgets:{title:`Widgets de estado`,hint:`Configure los widgets que se muestran en el área de estado del espacio en el panel.`},smartOverrides:{title:`Anulaciones inteligentes`,badge:`Avanzado`,hint:`Configuraciones opcionales para mejorar el comportamiento inteligente y el control basado en intenciones.`,lightingRoles:`Roles de iluminación`,climateRoles:`Roles de climatización`,coversRoles:`Roles de cubiertas`,sensorRoles:`Roles de sensores`,smartSuggestions:`Sugerencias inteligentes`}}},subHeadings:{list:`Organiza dispositivos y pantallas por habitaciones o zonas`,adjustFilters:`Ajustar filtros de visualización`,add:`Añadir nuevo espacio`,detail:`Gestionar espacio: {space}`,onboarding:`Asistente de configuración para espacios, dispositivos y pantallas`},breadcrumbs:{spaces:{list:`espacios`,detail:`espacio: {space}`,edit:`editar espacio`,add:`añadir espacio`,onboarding:`asistente de configuración`}},meta:{spaces:{list:{title:`Listar espacios`},edit:{title:`Editar espacio: {space}`},add:{title:`Añadir espacio`},detail:{title:`Espacio: {space}`},onboarding:{title:`Asistente de configuración de espacios`}}},table:{columns:{name:`Nombre`,type:`Tipo`,category:`Categoría`,description:`Descripción`,order:`Orden`,devices:`Dispositivos`,displays:`Pantallas`,actions:`Acciones`},empty:`No se encontraron espacios. Cree su primer espacio para comenzar.`},fields:{search:{placeholder:`Buscar espacios...`},spaces:{id:{title:`Identificador interno`,placeholder:`ID de espacio`},name:{title:`Nombre`,placeholder:`Introduzca el nombre del espacio (p. ej., Salón)`,validation:{required:`El nombre es obligatorio`,maxLength:`El nombre debe tener menos de 100 caracteres`}},description:{title:`Descripción`,placeholder:`Descripción opcional del espacio`},type:{title:`Tipo`,options:{room:`Habitación`,zone:`Zona`},validation:{required:`El tipo es obligatorio`}},category:{title:`Categoría`,placeholder:`Seleccione una categoría`,hint:`Elegir una categoría sugerirá automáticamente un icono y una descripción para este espacio. Las categorías disponibles dependen de si se trata de una habitación o una zona.`,validation:{requiredForZone:`La categoría es obligatoria para las zonas`},groups:{floors:`Plantas`,outdoor:`Áreas exteriores`,other:`Otros`},options:{living_room:`Salón`,bedroom:`Dormitorio`,bathroom:`Baño`,toilet:`Aseo`,kitchen:`Cocina`,dining_room:`Comedor`,office:`Oficina`,entryway:`Entrada`,garage:`Garaje`,hallway:`Pasillo`,laundry:`Lavandería`,utility_room:`Cuarto de servicio`,storage:`Almacén`,closet:`Armario`,pantry:`Despensa`,nursery:`Habitación infantil`,guest_room:`Habitación de invitados`,gym:`Gimnasio`,media_room:`Sala multimedia`,workshop:`Taller`,other:`Otro`,floor_ground:`Planta baja`,floor_first:`Primera planta`,floor_second:`Segunda planta`,floor_basement:`Sótano`,floor_attic:`Ático`,outdoor_front_yard:`Jardín delantero`,outdoor_backyard:`Jardín trasero`,outdoor_driveway:`Entrada de vehículos`,outdoor_garden:`Jardín`,outdoor_terrace:`Terraza`,outdoor_balcony:`Balcón`,outdoor_walkway:`Pasarela`,security_perimeter:`Perímetro de seguridad`,utility:`Servicios`,zone_other:`Otro`}},icon:{title:`Icono`,placeholder:`mdi:home (nombre de icono Iconify)`},displayOrder:{title:`Orden de visualización`,placeholder:`Orden en las listas`},parentZone:{title:`Zona principal`,placeholder:`Seleccione una zona principal (opcional)`,hint:`Puede organizar esta habitación asignándola a una zona, como 'Planta baja' o 'Planta alta'. Esto ayuda a agrupar habitaciones relacionadas.`},lightingRoles:{title:`Roles de iluminación`,description:`Asigne roles a las luces para ayudar al panel a comprender cómo se usa normalmente cada luz (Trabajo, Relax, Noche)`,noLights:`No se encontraron luces en este espacio`,role:{title:`Rol`,placeholder:`Seleccione un rol`},applyDefaults:`Aplicar valores predeterminados`,applyDefaultsHint:`Establece la primera luz como Principal, las demás como Ambiental`},climateRoles:{title:`Roles de climatización`,description:`Asigne roles a los dispositivos de climatización para ayudar al panel a comprender cómo cada dispositivo controla la temperatura y la calidad del aire`,noDevices:`No se encontraron dispositivos de climatización en este espacio`,role:{title:`Rol`,placeholder:`Seleccione un rol`},applyDefaults:`Aplicar valores predeterminados`,applyDefaultsHint:`Asigna automáticamente roles según el tipo de dispositivo`},coversRoles:{title:`Roles de cubiertas`,description:`Asigne roles a las cubiertas de ventanas para ayudar al panel a comprender cómo se usa cada cubierta (principal, opaca, translúcida)`,noCovers:`No se encontraron cubiertas de ventanas en este espacio`,role:{title:`Rol`,placeholder:`Seleccione un rol`},applyDefaults:`Aplicar valores predeterminados`,applyDefaultsHint:`Establece la primera cubierta como Principal, las demás según el tipo`},sensorRoles:{title:`Roles de sensores`,description:`Asigne roles a los canales de sensores para que el panel pueda agrupar lecturas de entorno, seguridad, calidad del aire y energía.`,noSensors:`No se encontraron sensores en este espacio`,channel:{title:`Canal`},role:{title:`Rol`,placeholder:`Seleccione un rol`},applyDefaults:`Aplicar valores predeterminados`,applyDefaultsHint:`Asigna automáticamente roles según la categoría del canal del sensor`},suggestions:{title:`Sugerencias inteligentes`},suggestionsEnabled:{title:`Activar sugerencias`,hint:`Cuando está activado, el panel mostrará sugerencias de iluminación no intrusivas basadas en la hora del día y el estado actual.`},statusWidgets:{energy:{title:`Energía`,range:{title:`Rango`,options:{today:`Hoy`,week:`Semana`,month:`Mes`}},showProduction:{title:`Mostrar producción`}}}}},lightingRoles:{main:`Principal`,task:`Tarea`,ambient:`Ambiental`,accent:`Acento`,night:`Nocturna`,other:`Otra`,hidden:`Oculta`,unassigned:`Sin asignar`,descriptions:{main:`Iluminación principal del espacio, normalmente luminarias de techo o centrales utilizadas para la iluminación general.`,task:`Iluminación enfocada para actividades específicas como leer, cocinar o trabajar.`,ambient:`Iluminación suave de fondo utilizada para crear ambiente y confort.`,accent:`Iluminación decorativa utilizada para resaltar elementos o crear interés visual.`,night:`Iluminación de bajo nivel para la navegación y seguridad nocturna.`,other:`Iluminación que no encaja en las categorías estándar.`,hidden:`Las luces ocultas se excluyen de la interfaz del panel y del control basado en intenciones.`}},climateRoles:{heating_only:`Solo calefacción`,cooling_only:`Solo refrigeración`,auto:`Automático`,auxiliary:`Auxiliar`,sensor:`Sensor`,hidden:`Oculto`,unassigned:`Sin asignar`,descriptions:{heating_only:`El dispositivo se utiliza solo para calefacción en el dominio de climatización.`,cooling_only:`El dispositivo se utiliza solo para refrigeración en el dominio de climatización.`,auto:`El dispositivo puede utilizarse tanto para calefacción como para refrigeración automáticamente.`,auxiliary:`Dispositivos auxiliares de climatización como deshumidificadores, humidificadores, purificadores de aire y ventiladores.`,sensor:`Sensor de climatización que proporciona lecturas (temperatura, humedad, calidad del aire, etc.) del espacio.`,hidden:`Los dispositivos ocultos se excluyen de la interfaz de climatización y del control.`}},sensorRoles:{environment:`Entorno`,safety:`Seguridad`,security:`Vigilancia`,air_quality:`Calidad del aire`,energy:`Energía`,other:`Otro`,hidden:`Oculto`,descriptions:{environment:`Sensores ambientales como temperatura, humedad, presión o niveles de luz.`,safety:`Sensores de seguridad como detectores de humo, gas, fugas o monóxido de carbono.`,security:`Sensores de vigilancia y presencia como sensores de movimiento, ocupación y contacto.`,air_quality:`Sensores de calidad del aire incluyendo CO2, COV, partículas en suspensión y otros contaminantes.`,energy:`Sensores de monitorización energética como consumo de potencia o energía.`,other:`Sensores que no encajan en una categoría específica.`,hidden:`Los sensores ocultos se excluyen de la interfaz.`},categories:{temperature:`Temperatura`,humidity:`Humedad`,pressure:`Presión`,illuminance:`Iluminancia`,smoke:`Humo`,gas:`Gas`,carbon_monoxide:`Monóxido de carbono`,carbon_dioxide:`Dióxido de carbono`,leak:`Fuga`,motion:`Movimiento`,occupancy:`Ocupación`,contact:`Contacto`,air_quality:`Calidad del aire`,air_particulate:`Partículas en el aire`,nitrogen_dioxide:`Dióxido de nitrógeno`,ozone:`Ozono`,sulphur_dioxide:`Dióxido de azufre`,volatile_organic_compounds:`Compuestos orgánicos volátiles`,electrical_energy:`Energía`,electrical_generation:`Generación`,electrical_power:`Potencia`,battery:`Batería`}},coversRoles:{primary:`Principal`,blackout:`Opaca`,sheer:`Translúcida`,outdoor:`Exterior`,hidden:`Oculta`,unassigned:`Sin asignar`,descriptions:{primary:`Cubierta de ventana principal del espacio, normalmente utilizada para privacidad general y control de luz.`,blackout:`Cubiertas que bloquean la luz diseñadas para oscuridad total, ideales para dormitorios o salas multimedia.`,sheer:`Cubiertas semitransparentes que proporcionan privacidad mientras permiten el paso de la luz natural.`,outdoor:`Persianas exteriores, toldos o cubiertas de pérgola para protección exterior.`,hidden:`Las cubiertas ocultas se excluyen de la interfaz del panel y del control basado en intenciones.`}},filters:{type:{title:`Tipo`,all:`Todos`}},texts:{loadingSpaces:`Cargando espacios...`,loadingSpace:`Cargando espacio...`,noSpaces:`No tiene ningún espacio configurado`,noFilteredSpaces:`Ningún espacio coincide con los criterios de filtro`,confirmDiscard:`Tiene cambios sin guardar. ¿Está seguro de que desea descartarlos?`},dialogs:{lightingRoles:{title:`Editar roles de iluminación`},climateRoles:{title:`Editar roles de climatización`},coversRoles:{title:`Editar roles de cubiertas`},sensorRoles:{title:`Editar roles de sensores`},mediaActivities:{title:`Editar actividades multimedia`}},buttons:{add:{title:`Añadir`},done:{title:`Hecho`},detail:{title:`Detalle`},adjust:{title:`Filtrar`},resetFilters:{title:`Restablecer filtros`},reset:{title:`Restablecer`},yes:{title:`Sí`},no:{title:`No`},save:{title:`Guardar`},cancel:{title:`Cancelar`},close:{title:`Cerrar`},discard:{title:`Descartar`},edit:{title:`Editar`},delete:{title:`Eliminar`},previous:{title:`Anterior`},next:{title:`Siguiente`},finish:{title:`Finalizar`},onboarding:{title:`Asistente de configuración`},viewAll:{title:`Ver todo`},back:{title:`Volver`}},detail:{title:`Detalle del espacio`,lightingRoles:{title:`Roles de iluminación`,lightsAssigned:`Luces asignadas`,noRolesAssigned:`Aún no se han asignado roles`},climateRoles:{title:`Roles de climatización`,devicesAssigned:`Dispositivos asignados`,noRolesAssigned:`Aún no se han asignado roles`},coversRoles:{title:`Roles de cubiertas`,coversAssigned:`Cubiertas asignadas`,noRolesAssigned:`Aún no se han asignado roles`},sensorRoles:{title:`Roles de sensores`,sensorsAssigned:`Sensores asignados`,noRolesAssigned:`Aún no se han asignado roles`},mediaActivities:{title:`Actividades multimedia`,noActivities:`Aún no se han configurado actividades`},info:{title:`Información del espacio`,name:`Nombre`,description:`Descripción`,type:`Tipo`,icon:`Icono`,displayOrder:`Orden de visualización`},devices:{title:`Dispositivos`,add:`Añadir dispositivo`,empty:`No hay dispositivos asignados a este espacio`,loading:`Cargando dispositivos...`,remove:`Eliminar`,removeHeading:`Eliminar dispositivo del espacio`,reassign:`Reasignar`,assign:`Asignar`,selectDevice:`Seleccione los dispositivos a añadir`,confirmRemove:`¿Eliminar el dispositivo "{name}" de este espacio?`,selectRoom:`Seleccione la habitación para el dispositivo`,noAvailable:`No hay dispositivos disponibles para añadir`,removed:`El dispositivo "{name}" fue eliminado de este espacio.`,removeCanceled:`La eliminación del dispositivo ha sido cancelada.`},parentZone:{title:`Planta`,none:`Sin planta asignada`,select:`Seleccionar planta`},displays:{title:`Pantallas`,add:`Añadir pantalla`,empty:`No hay pantallas asignadas a este espacio`,loading:`Cargando pantallas...`,remove:`Eliminar`,removeHeading:`Eliminar pantalla del espacio`,reassign:`Reasignar`,assign:`Asignar`,selectDisplay:`Seleccione la pantalla a añadir`,confirmRemove:`¿Eliminar la pantalla "{name}" de este espacio?`,selectRoom:`Seleccione la habitación para esta pantalla`,noAvailable:`No hay pantallas disponibles para añadir`,removed:`La pantalla "{name}" fue eliminada de este espacio.`,removeCanceled:`La eliminación de la pantalla ha sido cancelada.`},media:{activities:`Actividades multimedia`},scenes:{title:`Escenas`,add:`Añadir escena`,empty:`No hay escenas asignadas a este espacio`,loading:`Cargando escenas...`,name:`Nombre de la escena`,category:`Categoría`,status:`Estado`,enabled:`Activada`,disabled:`Desactivada`,remove:`Eliminar`,removeHeading:`Eliminar escena del espacio`,reassign:`Reasignar`,reassigned:`La escena "{name}" fue reasignada correctamente.`,assign:`Asignar`,selectScene:`Seleccione la escena a añadir`,selectSpace:`Seleccione el espacio para la escena`,searchPlaceholder:`Buscar escenas...`,confirmRemove:`¿Eliminar la escena "{name}" de este espacio?`,assignedSpace:`Espacio asignado`,noAvailable:`No hay escenas disponibles para añadir`,noFilteredScenes:`Ninguna escena coincide con su búsqueda`,assigned:`La escena "{name}" fue asignada a este espacio.`,removed:`La escena "{name}" fue eliminada de este espacio.`,removeCanceled:`La eliminación de la escena ha sido cancelada.`}},media:{endpointTypes:{display:`Pantalla`,audio_output:`Salida de audio`,source:`Fuente`,remote_target:`Destino remoto`},capabilities:{power:`Alimentación`,input:`Entrada`,volume:`Volumen`,playback:`Reproducción`,track:`Pista`,remote:`Remoto`,mute:`Silencio`},activityLabels:{watch:`Ver`,listen:`Escuchar`,gaming:`Juegos`,background:`Fondo`,off:`Apagado`},activities:{loading:`Cargando configuración multimedia...`,description:`Asigne dispositivos de pantalla, audio, fuente y remoto a cada actividad multimedia. Los cambios se guardan automáticamente.`,applyDefaults:`Aplicar valores predeterminados`,applyDefaultsHint:`Asigna automáticamente los endpoints según los tipos de dispositivo y capacidades`,defaultsApplied:`Se han aplicado las asignaciones predeterminadas.`,defaultsFailed:`Error al aplicar las asignaciones predeterminadas.`,selectPrompt:`Seleccione una actividad de la lista para configurar sus asignaciones.`,selectEndpoint:`Seleccionar endpoint...`,save:`Guardar`,reset:`Restablecer`,saveError:`Error al guardar la asignación`,savedSuccessfully:`Asignación guardada correctamente.`,slots:{display:`Pantalla`,audio:`Salida de audio`,source:`Fuente`,remote:`Destino remoto`},overrides:{displayInput:`Preajuste de entrada de pantalla`,displayInputPlaceholder:`p. ej., HDMI1, Apps`,audioInput:`Preajuste de entrada de audio`,audioInputPlaceholder:`p. ej., HDMI1, ARC`,sourceInput:`Preajuste de entrada de fuente`,sourceInputPlaceholder:`p. ej., HDMI1, Apps`,audioVolume:`Preajuste de volumen de audio`},mediaInputSources:{hdmi1:`HDMI 1`,hdmi2:`HDMI 2`,hdmi3:`HDMI 3`,hdmi4:`HDMI 4`,hdmi5:`HDMI 5`,hdmi6:`HDMI 6`,arc:`ARC`,earc:`eARC`,tv:`TV`,cable:`Cable`,satellite:`Satélite`,antenna:`Antena`,av1:`AV 1`,av2:`AV 2`,component:`Componente`,vga:`VGA`,dvi:`DVI`,usb:`USB`,bluetooth:`Bluetooth`,wifi:`Wi-Fi`,airplay:`AirPlay`,cast:`Chromecast`,dlna:`DLNA`,miracast:`Miracast`,app_netflix:`Netflix`,app_youtube:`YouTube`,app_spotify:`Spotify`,app_prime_video:`Prime Video`,app_disney_plus:`Disney+`,app_hbo_max:`HBO Max`,app_apple_tv:`Apple TV`,app_plex:`Plex`,app_kodi:`Kodi`,other:`Otro`},status:{configured:`Configurado`,incomplete:`Incompleto`,unconfigured:`Sin configurar`},run:`Ejecutar`,deactivate:`Desactivar`,refreshStatus:`Actualizar estado`,rerun:`Volver a ejecutar`,copyDebugJson:`Copiar JSON de depuración`,copiedToClipboard:`JSON de depuración copiado al portapapeles.`,activateSuccess:`Actividad activada correctamente.`,activateFailed:`Error al activar la actividad.`,deactivateSuccess:`Actividad desactivada.`,deactivateFailed:`Error al desactivar la actividad.`,fetchFailed:`Error al actualizar el estado de la actividad.`,preview:`Vista previa`,previewFailed:`Error al previsualizar la actividad.`,previewDialog:{title:`Vista previa del plan de ejecución`,resolvedDevices:`Dispositivos resueltos`,executionPlan:`Plan de ejecución`,step:`#`,action:`Acción`,device:`Dispositivo`,critical:`Crítico`,criticalYes:`Crítico`,criticalNo:`Opcional`,warnings:`Advertencias y pasos omitidos`,noSteps:`No hay pasos de ejecución en el plan.`,close:`Cerrar`},activePanel:{title:`Estado activo`,currentActivity:`Actividad actual`,none:`Ninguna`,state:`Estado`,activatedAt:`Activado a las`,updatedAt:`Actualizado a las`,resolvedDevices:`Dispositivos resueltos`,display:`Pantalla`,audio:`Audio`,source:`Fuente`,remote:`Remoto`},failures:{title:`Errores`,total:`Pasos totales`,succeeded:`Exitosos`,failed:`Fallidos`,stepIndex:`Paso`,device:`Dispositivo`,property:`Propiedad`,reason:`Razón`},activationState:{activating:`Activando`,active:`Activo`,failed:`Fallido`,deactivated:`Desactivado`}}},messages:{notFound:`Espacio no encontrado`,loadError:`Error al cargar los espacios`,notLoaded:`Error al cargar el espacio. Por favor, inténtelo de nuevo más tarde.`,confirmRemove:`¿Está seguro de que desea eliminar el espacio "{name}"? Esta acción no se puede deshacer.`,confirmDelete:`¿Está seguro de que desea eliminar este espacio?`,created:`Nuevo espacio añadido correctamente.`,notCreated:`Algo salió mal. No se pudo crear el espacio.`,edited:`¡Cambios guardados! El espacio: {space} ha sido actualizado.`,notEdited:`Algo salió mal. La actualización del espacio no fue exitosa.`,removed:`El espacio: {space} fue eliminado correctamente.`,removeCanceled:`La eliminación del espacio: {space} ha sido cancelada.`,deletedWhileEditing:`Este espacio fue eliminado y ya no está disponible.`,createError:`Error al crear el espacio. Por favor, inténtelo de nuevo.`,saveError:`Error al guardar los cambios. Por favor, inténtelo de nuevo.`,confirmBulkRemove:`¿Está seguro de que desea eliminar {count} espacios? Esta acción no se puede deshacer.`,bulkRemoved:`{count} espacios fueron eliminados correctamente.`,bulkRemoveFailed:`Error al eliminar {count} espacios.`,bulkRemoveCanceled:`La eliminación masiva de espacios ha sido cancelada.`},misc:{types:{room:`Habitación`,zone:`Zona`}},onboarding:{title:`Asistente de configuración de espacios`,devices:`dispositivos`,displays:`pantallas`,selectSpace:`Seleccionar espacio`,selectZones:`Seleccionar zonas...`,deviceName:`Nombre del dispositivo`,displayName:`Nombre de la pantalla`,assignedSpace:`Espacio asignado`,spaceName:`Nombre del espacio`,zones:`Zonas (opcional)`,advanced:`Avanzado`,basic:`Básico`,steps:{spaces:{title:`Crear espacios`,description:`Los espacios le ayudan a organizar sus dispositivos y pantallas por habitaciones o zonas (p. ej., Salón, Cocina, Dormitorio). Hemos detectado automáticamente algunos espacios a partir de los nombres de sus dispositivos. Revise y seleccione los que desea crear, o añada sus propios espacios personalizados a continuación.`,alertTitle:`Los espacios representan habitaciones o áreas de su hogar`,alertDescription:`Hemos sugerido algunos espacios basándonos en los nombres de sus dispositivos. Puede ajustarlos ahora o cambiar todo más tarde.`,proposed:`Espacios propuestos`,custom:`Espacios personalizados`,existing:`Espacios existentes`,matchedExisting:`Usando espacios existentes`,usingExisting:`Usando existente`,matchedWith:`Usará: {name}`,addManual:`Añadir espacio personalizado`,placeholder:`Introduzca el nombre del espacio (p. ej., Salón)`,noProposals:`No se pudieron detectar espacios a partir de los nombres de sus dispositivos. Añada espacios manualmente a continuación.`,duplicateWarning:`Ya existe un espacio similar a "{name}".`,convertedToMatch:`Este espacio coincide con un espacio existente y se ha movido a la sección 'Usando espacios existentes'.`,multipleMatchedWith:`{count} espacios detectados usarán el espacio existente '{name}'`,existingTag:`Existente`},displays:{title:`Asignar pantallas`,description:`Asigne cada pantalla a un espacio. Esto determina qué espacio mostrará la pantalla de forma predeterminada.`,alertTitle:`Elija un espacio predeterminado para cada pantalla`,alertDescription:`Esto solo establece la vista inicial; puede cambiar de espacio en cualquier momento desde la propia pantalla.`,noDisplays:`Aún no hay pantallas registradas.`},devices:{title:`Asignar dispositivos`,description:`Asigne dispositivos a espacios. Los dispositivos se preasignarán según sus nombres si se detectan.`,alertTitle:`Conecte sus dispositivos a las habitaciones`,alertDescription:`Algunos dispositivos se han rellenado previamente según sus nombres. Puede ajustarlos; siempre podrá cambiar las asignaciones más tarde.`,noDevices:`No se encontraron dispositivos.`},summary:{title:`Resumen`,description:`Revise su configuración antes de aplicar los cambios.`,alertTitle:`Resumen de su configuración`,alertDescription:`Todavía puede volver atrás y ajustar cualquier cosa antes de finalizar.`}},summary:{overview:`Resumen`,totalSpaces:`Total de espacios`,assignedDevices:`Dispositivos asignados`,unassignedDevices:`Dispositivos sin asignar`,assignedDisplays:`Pantallas asignadas`,unassignedDisplays:`Pantallas sin asignar`,bySpace:`Asignaciones por espacio`,unassignedDevicesTitle:`Dispositivos sin asignar`,unassignedDisplaysTitle:`Pantallas sin asignar`,noDevices:`Sin dispositivos`,clickToAssignDevices:`Haga clic para asignar dispositivos`,clickToAssignDisplays:`Haga clic para asignar pantallas`},messages:{spacesCreated:`{count} espacio(s) creado(s) correctamente`,completed:`¡Configuración completada! {devices} dispositivo(s), {displays} pantalla(s) y {zones} asignación(es) de zona.`}}},_r={menu:{title:`Przestrzenie`},title:`Przestrzenie`,description:`Zarzadzaj przestrzeniami (pokoje i strefy)`,headings:{list:`Przestrzenie`,spaces:`Przestrzenie`,detail:`Szczegoly przestrzeni`,add:`Dodaj przestrzen`,edit:`Edytuj przestrzen`,removeSpace:`Usun przestrzen`,bulkRemoveSpace:`Usun przestrzenie`,discard:`Odrzuc zmiany`,adjustFilters:`Filtruj przestrzenie`},edit:{sections:{general:{title:`Ogolne`},organization:{title:`Organizacja`,hint:`Przypisz ten pokoj do strefy (np. "Parter", "Pietro"), aby pogrupowac powiazane pokoje.`},devicesDisplays:{title:`Urzadzenia i wyswietlacze`,titleDevicesOnly:`Urzadzenia`,summary:`Do tej przestrzeni jest przypisanych {devices} urzadzen i {displays} wyswietlaczy.`,summaryDevicesOnly:`Do tej przestrzeni jest przypisanych {devices} urzadzen.`,manageDevices:`Zarzadzaj urzadzeniami`,manageDisplays:`Zarzadzaj wyswietlaczami`},statusWidgets:{title:`Widzety statusu`,hint:`Skonfiguruj widzety wyswietlane w obszarze statusu przestrzeni na panelu.`},smartOverrides:{title:`Inteligentne nadpisania`,badge:`Zaawansowane`,hint:`Opcjonalne ustawienia poprawiajace inteligentne zachowanie i sterowanie oparte na intencjach.`,lightingRoles:`Role oswietlenia`,climateRoles:`Role klimatu`,coversRoles:`Role oslon`,sensorRoles:`Role czujnikow`,smartSuggestions:`Inteligentne sugestie`}}},subHeadings:{list:`Organizuj urzadzenia i wyswietlacze wedlug pokoi lub stref`,adjustFilters:`Dostosuj filtry wyswietlania`,add:`Dodaj nowa przestrzen`,detail:`Zarzadzaj przestrzenia: {space}`,onboarding:`Kreator konfiguracji przestrzeni, urzadzen i wyswietlaczy`},breadcrumbs:{spaces:{list:`przestrzenie`,detail:`przestrzen: {space}`,edit:`edytuj przestrzen`,add:`dodaj przestrzen`,onboarding:`kreator konfiguracji`}},meta:{spaces:{list:{title:`Lista przestrzeni`},edit:{title:`Edytuj przestrzen: {space}`},add:{title:`Dodaj przestrzen`},detail:{title:`Przestrzen: {space}`},onboarding:{title:`Kreator konfiguracji przestrzeni`}}},table:{columns:{name:`Nazwa`,type:`Typ`,category:`Kategoria`,description:`Opis`,order:`Kolejnosc`,devices:`Urzadzenia`,displays:`Wyswietlacze`,actions:`Akcje`},empty:`Nie znaleziono przestrzeni. Utworz pierwsza przestrzen, aby rozpoczac.`},fields:{search:{placeholder:`Szukaj przestrzeni...`},spaces:{id:{title:`Identyfikator wewnetrzny`,placeholder:`ID przestrzeni`},name:{title:`Nazwa`,placeholder:`Wprowadz nazwe przestrzeni (np. Salon)`,validation:{required:`Nazwa jest wymagana`,maxLength:`Nazwa musi miec mniej niz 100 znakow`}},description:{title:`Opis`,placeholder:`Opcjonalny opis przestrzeni`},type:{title:`Typ`,options:{room:`Pokoj`,zone:`Strefa`},validation:{required:`Typ jest wymagany`}},category:{title:`Kategoria`,placeholder:`Wybierz kategorie`,hint:`Wybor kategorii automatycznie zasugeruje ikone i opis dla tej przestrzeni. Dostepne kategorie zaleza od tego, czy jest to pokoj czy strefa.`,validation:{requiredForZone:`Kategoria jest wymagana dla stref`},groups:{floors:`Pietra`,outdoor:`Tereny zewnetrzne`,other:`Inne`},options:{living_room:`Salon`,bedroom:`Sypialnia`,bathroom:`Lazienka`,toilet:`Toaleta`,kitchen:`Kuchnia`,dining_room:`Jadalnia`,office:`Biuro`,entryway:`Przedsionek`,garage:`Garaz`,hallway:`Korytarz`,laundry:`Pralnia`,utility_room:`Pomieszczenie gospodarcze`,storage:`Magazyn`,closet:`Garderoba`,pantry:`Spizarnia`,nursery:`Pokoj dzieciecy`,guest_room:`Pokoj goscinny`,gym:`Silownia`,media_room:`Pokoj multimedialny`,workshop:`Warsztat`,other:`Inne`,floor_ground:`Parter`,floor_first:`Pierwsze pietro`,floor_second:`Drugie pietro`,floor_basement:`Piwnica`,floor_attic:`Poddasze`,outdoor_front_yard:`Ogrod frontowy`,outdoor_backyard:`Ogrod tylny`,outdoor_driveway:`Podjazd`,outdoor_garden:`Ogrod`,outdoor_terrace:`Taras`,outdoor_balcony:`Balkon`,outdoor_walkway:`Chodnik`,security_perimeter:`Strefa bezpieczenstwa`,utility:`Gospodarcza`,zone_other:`Inne`}},icon:{title:`Ikona`,placeholder:`mdi:home (nazwa ikony Iconify)`},displayOrder:{title:`Kolejnosc wyswietlania`,placeholder:`Kolejnosc na listach`},parentZone:{title:`Strefa nadrzedna`,placeholder:`Wybierz strefe nadrzedna (opcjonalnie)`,hint:`Mozesz uporzadkowac ten pokoj, przypisujac go do strefy, np. 'Parter' lub 'Pietro'. Pomaga to grupowac powiazane pokoje.`},lightingRoles:{title:`Role oswietlenia`,description:`Przypisz role do oswietlenia, aby pomoc panelowi zrozumiec, jak kazde swiatlo jest typowo uzywane (Praca, Relaks, Noc)`,noLights:`Nie znaleziono oswietlenia w tej przestrzeni`,role:{title:`Rola`,placeholder:`Wybierz role`},applyDefaults:`Zastosuj domyslne`,applyDefaultsHint:`Ustawia pierwsze swiatlo jako Glowne, pozostale jako Ambientowe`},climateRoles:{title:`Role klimatu`,description:`Przypisz role do urzadzen klimatycznych, aby pomoc panelowi zrozumiec, jak kazde urzadzenie steruje temperatura i jakoscia powietrza`,noDevices:`Nie znaleziono urzadzen klimatycznych w tej przestrzeni`,role:{title:`Rola`,placeholder:`Wybierz role`},applyDefaults:`Zastosuj domyslne`,applyDefaultsHint:`Automatycznie przypisuje role na podstawie typu urzadzenia`},coversRoles:{title:`Role oslon`,description:`Przypisz role do oslon okiennych, aby pomoc panelowi zrozumiec, jak kazda oslona jest uzywana (glowna, zaciemniajaca, przezroczysta)`,noCovers:`Nie znaleziono oslon okiennych w tej przestrzeni`,role:{title:`Rola`,placeholder:`Wybierz role`},applyDefaults:`Zastosuj domyslne`,applyDefaultsHint:`Ustawia pierwsza oslone jako Glowna, pozostale na podstawie typu`},sensorRoles:{title:`Role czujnikow`,description:`Przypisz role do kanalow czujnikow, aby panel mogl grupowac odczyty srodowiskowe, bezpieczenstwa, jakosci powietrza i energii.`,noSensors:`Nie znaleziono czujnikow w tej przestrzeni`,channel:{title:`Kanal`},role:{title:`Rola`,placeholder:`Wybierz role`},applyDefaults:`Zastosuj domyslne`,applyDefaultsHint:`Automatycznie przypisuje role na podstawie kategorii kanalu czujnika`},suggestions:{title:`Inteligentne sugestie`},suggestionsEnabled:{title:`Wlacz sugestie`,hint:`Po wlaczeniu panel bedzie wyswietlac nieinwazyjne sugestie oswietleniowe na podstawie pory dnia i biezacego stanu.`},statusWidgets:{energy:{title:`Energia`,range:{title:`Zakres`,options:{today:`Dzisiaj`,week:`Tydzien`,month:`Miesiac`}},showProduction:{title:`Pokaz produkcje`}}}}},lightingRoles:{main:`Glowne`,task:`Zadaniowe`,ambient:`Ambientowe`,accent:`Akcentowe`,night:`Nocne`,other:`Inne`,hidden:`Ukryte`,unassigned:`Nieprzypisane`,descriptions:{main:`Glowne oswietlenie przestrzeni.`,task:`Skupione oswietlenie do konkretnych czynnosci.`,ambient:`Miekkie oswietlenie tla.`,accent:`Oswietlenie dekoracyjne.`,night:`Oswietlenie o niskim natezeniu do nocnej nawigacji.`,other:`Oswietlenie niepasujace do standardowych kategorii.`,hidden:`Ukryte swiatla sa wykluczone z interfejsu panelu.`}},climateRoles:{heating_only:`Tylko ogrzewanie`,cooling_only:`Tylko chlodzenie`,auto:`Automatyczny`,auxiliary:`Pomocniczy`,sensor:`Czujnik`,hidden:`Ukryty`,unassigned:`Nieprzypisany`,descriptions:{heating_only:`Urzadzenie uzywane tylko do ogrzewania.`,cooling_only:`Urzadzenie uzywane tylko do chlodzenia.`,auto:`Urzadzenie moze byc uzywane do ogrzewania i chlodzenia automatycznie.`,auxiliary:`Pomocnicze urzadzenia klimatyczne.`,sensor:`Czujnik klimatu dostarczajacy odczyty dla przestrzeni.`,hidden:`Ukryte urzadzenia sa wykluczone z interfejsu klimatu.`}},sensorRoles:{environment:`Srodowisko`,safety:`Bezpieczenstwo`,security:`Ochrona`,air_quality:`Jakosc powietrza`,energy:`Energia`,other:`Inne`,hidden:`Ukryty`,descriptions:{environment:`Czujniki srodowiskowe.`,safety:`Czujniki bezpieczenstwa.`,security:`Czujniki ochrony i obecnosci.`,air_quality:`Czujniki jakosci powietrza.`,energy:`Czujniki monitorowania energii.`,other:`Czujniki niepasujace do kategorii.`,hidden:`Ukryte czujniki sa wykluczone z interfejsu.`},categories:{temperature:`Temperatura`,humidity:`Wilgotnosc`,pressure:`Cisnienie`,illuminance:`Natezenie oswietlenia`,smoke:`Dym`,gas:`Gaz`,carbon_monoxide:`Tlenek wegla`,carbon_dioxide:`Dwutlenek wegla`,leak:`Wyciek`,motion:`Ruch`,occupancy:`Obecnosc`,contact:`Kontakt`,air_quality:`Jakosc powietrza`,air_particulate:`Czastki w powietrzu`,nitrogen_dioxide:`Dwutlenek azotu`,ozone:`Ozon`,sulphur_dioxide:`Dwutlenek siarki`,volatile_organic_compounds:`Lotne zwiazki organiczne`,electrical_energy:`Energia`,electrical_generation:`Generacja`,electrical_power:`Moc`,battery:`Bateria`}},coversRoles:{primary:`Glowna`,blackout:`Zaciemniajaca`,sheer:`Przezroczysta`,outdoor:`Zewnetrzna`,hidden:`Ukryta`,unassigned:`Nieprzypisana`,descriptions:{primary:`Glowna oslona okienna przestrzeni.`,blackout:`Oslony blokujace swiatlo.`,sheer:`Polprzezroczyste oslony.`,outdoor:`Zewnetrzne oslony.`,hidden:`Ukryte oslony sa wykluczone z interfejsu panelu.`}},filters:{type:{title:`Typ`,all:`Wszystkie`}},texts:{loadingSpaces:`Ladowanie przestrzeni...`,loadingSpace:`Ladowanie przestrzeni...`,noSpaces:`Nie masz skonfigurowanych zadnych przestrzeni`,noFilteredSpaces:`Zadne przestrzenie nie pasuja do kryteriow filtra`,confirmDiscard:`Masz niezapisane zmiany. Czy na pewno chcesz je odrzucic?`},dialogs:{lightingRoles:{title:`Edytuj role oswietlenia`},climateRoles:{title:`Edytuj role klimatu`},coversRoles:{title:`Edytuj role oslon`},sensorRoles:{title:`Edytuj role czujnikow`},mediaActivities:{title:`Edytuj aktywnosci mediow`}},buttons:{add:{title:`Dodaj`},done:{title:`Gotowe`},detail:{title:`Szczegoly`},adjust:{title:`Filtruj`},resetFilters:{title:`Resetuj filtry`},reset:{title:`Resetuj`},yes:{title:`Tak`},no:{title:`Nie`},save:{title:`Zapisz`},cancel:{title:`Anuluj`},close:{title:`Zamknij`},discard:{title:`Odrzuc`},edit:{title:`Edytuj`},delete:{title:`Usun`},previous:{title:`Poprzedni`},next:{title:`Nastepny`},finish:{title:`Zakoncz`},onboarding:{title:`Kreator konfiguracji`},viewAll:{title:`Pokaz wszystko`},back:{title:`Wroc`}},detail:{title:`Szczegoly przestrzeni`,lightingRoles:{title:`Role oswietlenia`,lightsAssigned:`Przypisane oswietlenie`,noRolesAssigned:`Nie przypisano jeszcze zadnych rol`},climateRoles:{title:`Role klimatu`,devicesAssigned:`Przypisane urzadzenia`,noRolesAssigned:`Nie przypisano jeszcze zadnych rol`},coversRoles:{title:`Role oslon`,coversAssigned:`Przypisane oslony`,noRolesAssigned:`Nie przypisano jeszcze zadnych rol`},sensorRoles:{title:`Role czujnikow`,sensorsAssigned:`Przypisane czujniki`,noRolesAssigned:`Nie przypisano jeszcze zadnych rol`},mediaActivities:{title:`Aktywnosci mediow`,noActivities:`Nie skonfigurowano jeszcze zadnych aktywnosci`},info:{title:`Informacje o przestrzeni`,name:`Nazwa`,description:`Opis`,type:`Typ`,icon:`Ikona`,displayOrder:`Kolejnosc wyswietlania`},devices:{title:`Urzadzenia`,add:`Dodaj urzadzenie`,empty:`Do tej przestrzeni nie przypisano zadnych urzadzen`,loading:`Ladowanie urzadzen...`,remove:`Usun`,removeHeading:`Usun urzadzenie z przestrzeni`,reassign:`Przypisz ponownie`,assign:`Przypisz`,selectDevice:`Wybierz urzadzenia do dodania`,confirmRemove:`Usunac urzadzenie "{name}" z tej przestrzeni?`,selectRoom:`Wybierz pokoj dla urzadzenia`,noAvailable:`Brak dostepnych urzadzen do dodania`,removed:`Urzadzenie "{name}" zostalo usuniete z tej przestrzeni.`,removeCanceled:`Usuwanie urzadzenia zostalo anulowane.`},parentZone:{title:`Pietro`,none:`Nie przypisano pietra`,select:`Wybierz pietro`},displays:{title:`Wyswietlacze`,add:`Dodaj wyswietlacz`,empty:`Do tej przestrzeni nie przypisano zadnych wyswietlaczy`,loading:`Ladowanie wyswietlaczy...`,remove:`Usun`,removeHeading:`Usun wyswietlacz z przestrzeni`,reassign:`Przypisz ponownie`,assign:`Przypisz`,selectDisplay:`Wybierz wyswietlacz do dodania`,confirmRemove:`Usunac wyswietlacz "{name}" z tej przestrzeni?`,selectRoom:`Wybierz pokoj dla tego wyswietlacza`,noAvailable:`Brak dostepnych wyswietlaczy do dodania`,removed:`Wyswietlacz "{name}" zostal usuniety z tej przestrzeni.`,removeCanceled:`Usuwanie wyswietlacza zostalo anulowane.`},media:{activities:`Aktywnosci mediow`},scenes:{title:`Sceny`,add:`Dodaj scene`,empty:`Do tej przestrzeni nie przypisano zadnych scen`,loading:`Ladowanie scen...`,name:`Nazwa sceny`,category:`Kategoria`,status:`Status`,enabled:`Wlaczona`,disabled:`Wylaczona`,remove:`Usun`,removeHeading:`Usun scene z przestrzeni`,reassign:`Przypisz ponownie`,reassigned:`Scena "{name}" zostala pomyslnie przypisana ponownie.`,assign:`Przypisz`,selectScene:`Wybierz scene do dodania`,selectSpace:`Wybierz przestrzen dla sceny`,searchPlaceholder:`Szukaj scen...`,confirmRemove:`Usunac scene "{name}" z tej przestrzeni?`,assignedSpace:`Przypisana przestrzen`,noAvailable:`Brak dostepnych scen do dodania`,noFilteredScenes:`Zadne sceny nie pasuja do wyszukiwania`,assigned:`Scena "{name}" zostala przypisana do tej przestrzeni.`,removed:`Scena "{name}" zostala usunieta z tej przestrzeni.`,removeCanceled:`Usuwanie sceny zostalo anulowane.`}},media:{endpointTypes:{display:`Display`,audio_output:`Audio Output`,source:`Source`,remote_target:`Remote Target`},capabilities:{power:`Power`,input:`Input`,volume:`Volume`,playback:`Playback`,track:`Track`,remote:`Remote`,mute:`Mute`},activityLabels:{watch:`Watch`,listen:`Listen`,gaming:`Gaming`,background:`Background`,off:`Off`},activities:{loading:`Loading media configuration...`,description:`Assign display, audio, source, and remote devices to each media activity. Changes are saved automatically.`,applyDefaults:`Apply defaults`,applyDefaultsHint:`Auto-assigns endpoints based on device types and capabilities`,defaultsApplied:`Default bindings have been applied.`,defaultsFailed:`Failed to apply default bindings.`,selectPrompt:`Select an activity from the list to configure its bindings.`,selectEndpoint:`Select endpoint...`,save:`Save`,reset:`Reset`,saveError:`Failed to save binding`,savedSuccessfully:`Binding saved successfully.`,slots:{display:`Display`,audio:`Audio output`,source:`Source`,remote:`Remote target`},overrides:{displayInput:`Display input preset`,displayInputPlaceholder:`e.g. HDMI1, Apps`,audioInput:`Audio input preset`,audioInputPlaceholder:`e.g. HDMI1, ARC`,sourceInput:`Source input preset`,sourceInputPlaceholder:`e.g. HDMI1, Apps`,audioVolume:`Audio volume preset`},mediaInputSources:{hdmi1:`HDMI 1`,hdmi2:`HDMI 2`,hdmi3:`HDMI 3`,hdmi4:`HDMI 4`,hdmi5:`HDMI 5`,hdmi6:`HDMI 6`,arc:`ARC`,earc:`eARC`,tv:`TV`,cable:`Cable`,satellite:`Satellite`,antenna:`Antenna`,av1:`AV 1`,av2:`AV 2`,component:`Component`,vga:`VGA`,dvi:`DVI`,usb:`USB`,bluetooth:`Bluetooth`,wifi:`Wi-Fi`,airplay:`AirPlay`,cast:`Chromecast`,dlna:`DLNA`,miracast:`Miracast`,app_netflix:`Netflix`,app_youtube:`YouTube`,app_spotify:`Spotify`,app_prime_video:`Prime Video`,app_disney_plus:`Disney+`,app_hbo_max:`HBO Max`,app_apple_tv:`Apple TV`,app_plex:`Plex`,app_kodi:`Kodi`,other:`Other`},status:{configured:`Configured`,incomplete:`Incomplete`,unconfigured:`Not set`},run:`Run`,deactivate:`Deactivate`,refreshStatus:`Refresh status`,rerun:`Re-run`,copyDebugJson:`Copy debug JSON`,copiedToClipboard:`Debug JSON copied to clipboard.`,activateSuccess:`Activity activated successfully.`,activateFailed:`Failed to activate activity.`,deactivateSuccess:`Activity deactivated.`,deactivateFailed:`Failed to deactivate activity.`,fetchFailed:`Failed to refresh activity status.`,preview:`Preview`,previewFailed:`Failed to preview activity.`,previewDialog:{title:`Execution Plan Preview`,resolvedDevices:`Resolved devices`,executionPlan:`Execution plan`,step:`#`,action:`Action`,device:`Device`,critical:`Critical`,criticalYes:`Critical`,criticalNo:`Optional`,warnings:`Warnings & skipped steps`,noSteps:`No execution steps in plan.`,close:`Close`},activePanel:{title:`Active State`,currentActivity:`Current activity`,none:`None`,state:`State`,activatedAt:`Activated at`,updatedAt:`Updated at`,resolvedDevices:`Resolved devices`,display:`Display`,audio:`Audio`,source:`Source`,remote:`Remote`},failures:{title:`Failures`,total:`Total steps`,succeeded:`Succeeded`,failed:`Failed`,stepIndex:`Step`,device:`Device`,property:`Property`,reason:`Reason`},activationState:{activating:`Activating`,active:`Active`,failed:`Failed`,deactivated:`Deactivated`}}},messages:{notFound:`Przestrzen nie znaleziona`,loadError:`Nie udalo sie wczytac przestrzeni`,notLoaded:`Nie udalo sie wczytac przestrzeni. Sprobuj ponownie pozniej.`,confirmRemove:`Czy na pewno chcesz usunac przestrzen "{name}"? Tej operacji nie mozna cofnac.`,confirmDelete:`Czy na pewno chcesz usunac te przestrzen?`,created:`Nowa przestrzen zostala pomyslnie dodana.`,notCreated:`Cos poszlo nie tak. Nie udalo sie utworzyc przestrzeni.`,edited:`Zmiany zapisane! Przestrzen: {space} zostala zaktualizowana.`,notEdited:`Cos poszlo nie tak. Aktualizacja przestrzeni nie powiodla sie.`,removed:`Przestrzen: {space} zostala pomyslnie usunieta.`,removeCanceled:`Usuniecie przestrzeni: {space} zostalo anulowane.`,deletedWhileEditing:`Ta przestrzen zostala usunieta i nie jest juz dostepna.`,createError:`Nie udalo sie utworzyc przestrzeni. Sprobuj ponownie.`,saveError:`Nie udalo sie zapisac zmian. Sprobuj ponownie.`,confirmBulkRemove:`Czy na pewno chcesz usunac {count} przestrzeni? Tej operacji nie mozna cofnac.`,bulkRemoved:`Pomyslnie usunieto {count} przestrzeni.`,bulkRemoveFailed:`Nie udalo sie usunac {count} przestrzeni.`,bulkRemoveCanceled:`Masowe usuwanie przestrzeni zostalo anulowane.`},misc:{types:{room:`Pokoj`,zone:`Strefa`}},onboarding:{title:`Kreator konfiguracji przestrzeni`,devices:`urzadzenia`,displays:`wyswietlacze`,selectSpace:`Wybierz przestrzen`,selectZones:`Wybierz strefy...`,deviceName:`Nazwa urzadzenia`,displayName:`Nazwa wyswietlacza`,assignedSpace:`Przypisana przestrzen`,spaceName:`Nazwa przestrzeni`,zones:`Strefy (opcjonalnie)`,advanced:`Zaawansowane`,basic:`Podstawowe`,steps:{spaces:{title:`Utworz przestrzenie`,description:`Przestrzenie pomagaja organizowac urzadzenia i wyswietlacze wedlug pokoi lub stref.`,alertTitle:`Przestrzenie reprezentuja pokoje lub strefy w Twoim domu`,alertDescription:`Zasugerowalismy kilka przestrzeni na podstawie nazw Twoich urzadzen.`,proposed:`Proponowane przestrzenie`,custom:`Niestandardowe przestrzenie`,existing:`Istniejace przestrzenie`,matchedExisting:`Uzywanie istniejacych przestrzeni`,usingExisting:`Uzywanie istniejacej`,matchedWith:`Zostanie uzyta: {name}`,addManual:`Dodaj niestandardowa przestrzen`,placeholder:`Wprowadz nazwe przestrzeni (np. Salon)`,noProposals:`Nie udalo sie wykryc przestrzeni z nazw urzadzen. Dodaj przestrzenie recznie ponizej.`,duplicateWarning:`Przestrzen podobna do "{name}" juz istnieje.`,convertedToMatch:`Ta przestrzen pasuje do istniejacej przestrzeni.`,multipleMatchedWith:`{count} wykrytych przestrzeni uzyje istniejacej przestrzeni '{name}'`,existingTag:`Istniejaca`},displays:{title:`Przypisz wyswietlacze`,description:`Przypisz kazdy wyswietlacz do przestrzeni.`,alertTitle:`Wybierz domyslna przestrzen dla kazdego wyswietlacza`,alertDescription:`To ustawia tylko poczatkowy widok.`,noDisplays:`Nie zarejestrowano jeszcze zadnych wyswietlaczy.`},devices:{title:`Przypisz urzadzenia`,description:`Przypisz urzadzenia do przestrzeni.`,alertTitle:`Polacz urzadzenia z pokojami`,alertDescription:`Niektore urzadzenia zostaly wstepnie wypelnione na podstawie ich nazw.`,noDevices:`Nie znaleziono urzadzen.`},summary:{title:`Podsumowanie`,description:`Przejrzyj konfiguracje przed zastosowaniem zmian.`,alertTitle:`Podsumowanie konfiguracji`,alertDescription:`Nadal mozesz wrocic i dostosowac cokolwiek przed zakonczeniem.`}},summary:{overview:`Podsumowanie`,totalSpaces:`Laczna liczba przestrzeni`,assignedDevices:`Przypisane urzadzenia`,unassignedDevices:`Nieprzypisane urzadzenia`,assignedDisplays:`Przypisane wyswietlacze`,unassignedDisplays:`Nieprzypisane wyswietlacze`,bySpace:`Przypisania wedlug przestrzeni`,unassignedDevicesTitle:`Nieprzypisane urzadzenia`,unassignedDisplaysTitle:`Nieprzypisane wyswietlacze`,noDevices:`Brak urzadzen`,clickToAssignDevices:`Kliknij, aby przypisac urzadzenia`,clickToAssignDisplays:`Kliknij, aby przypisac wyswietlacze`},messages:{spacesCreated:`Pomyslnie utworzono {count} przestrzeni`,completed:`Konfiguracja zakonczona! {devices} urzadzen, {displays} wyswietlaczy i {zones} przypisan stref.`}}},vr={menu:{title:`Priestory`},title:`Priestory`,description:`Spravujte svoje priestory (miestnosti a zóny)`,headings:{list:`Priestory`,spaces:`Priestory`,detail:`Detail priestoru`,add:`Pridať priestor`,edit:`Upraviť priestor`,removeSpace:`Odstrániť priestor`,bulkRemoveSpace:`Odstrániť priestory`,discard:`Zahodiť zmeny`,adjustFilters:`Filtrovať priestory`},edit:{sections:{general:{title:`General`},organization:{title:`Organization`,hint:`Assign this room to a zone (e.g. "Ground Floor", "Upstairs") to group related rooms together.`},devicesDisplays:{title:`Devices & Displays`,titleDevicesOnly:`Devices`,summary:`{devices} devices and {displays} displays are currently assigned to this space.`,summaryDevicesOnly:`{devices} devices are currently assigned to this space.`,manageDevices:`Manage devices`,manageDisplays:`Manage displays`},statusWidgets:{title:`Status widgets`,hint:`Configure widgets displayed in the space status area on the panel.`},smartOverrides:{title:`Smart overrides`,badge:`Advanced`,hint:`Optional settings to improve smart behavior and intent-based control.`,lightingRoles:`Lighting roles`,climateRoles:`Climate roles`,coversRoles:`Covers roles`,sensorRoles:`Sensor roles`,smartSuggestions:`Smart suggestions`}}},subHeadings:{list:`Organizujte zariadenia a displeje podľa miestností alebo zón`,adjustFilters:`Upraviť filtre zobrazenia`,add:`Pridať nový priestor`,detail:`Spravovať priestor: {space}`,onboarding:`Sprievodca nastavením pre priestory, zariadenia a displeje`},breadcrumbs:{spaces:{list:`priestory`,detail:`priestor: {space}`,edit:`upraviť priestor`,add:`pridať priestor`,onboarding:`sprievodca nastavením`}},meta:{spaces:{list:{title:`Zoznam priestorov`},edit:{title:`Upraviť priestor: {space}`},add:{title:`Pridať priestor`},detail:{title:`Priestor: {space}`},onboarding:{title:`Sprievodca nastavením priestorov`}}},table:{columns:{name:`Názov`,type:`Typ`,category:`Kategória`,description:`Popis`,order:`Poradie`,devices:`Zariadenia`,displays:`Displeje`,actions:`Akcie`},empty:`Neboli nájdené žiadne priestory. Vytvorte svoj prvý priestor.`},fields:{search:{placeholder:`Vyhľadať priestory...`},spaces:{id:{title:`Interný identifikátor`,placeholder:`ID priestoru`},name:{title:`Názov`,placeholder:`Zadajte názov priestoru (napr. Obývacia izba)`,validation:{required:`Názov je povinný`,maxLength:`Názov musí mať menej ako 100 znakov`}},description:{title:`Popis`,placeholder:`Voliteľný popis priestoru`},type:{title:`Typ`,options:{room:`Miestnosť`,zone:`Zóna`},validation:{required:`Typ je povinný`}},category:{title:`Kategória`,placeholder:`Vyberte kategóriu`,hint:`Výber kategórie automaticky navrhne ikonu a popis pre tento priestor. Dostupné kategórie závisia od toho, či sa jedná o miestnosť alebo zónu.`,validation:{requiredForZone:`Kategória je povinná pre zóny`},groups:{floors:`Poschodia`,outdoor:`Vonkajšie oblasti`,other:`Ostatné`},options:{living_room:`Obývacia izba`,bedroom:`Spálňa`,bathroom:`Kúpeľňa`,toilet:`Toaleta`,kitchen:`Kuchyňa`,dining_room:`Jedáleň`,office:`Kancelária`,entryway:`Vstupná hala`,garage:`Garáž`,hallway:`Chodba`,laundry:`Práčovňa`,utility_room:`Technická miestnosť`,storage:`Sklad`,closet:`Šatník`,pantry:`Špajza`,nursery:`Detská izba`,guest_room:`Hosťovská izba`,gym:`Posilňovňa`,media_room:`Mediálna miestnosť`,workshop:`Dielňa`,other:`Ostatné`,floor_ground:`Prízemie`,floor_first:`Prvé poschodie`,floor_second:`Druhé poschodie`,floor_basement:`Suterén`,floor_attic:`Podkrovie`,outdoor_front_yard:`Predný dvor`,outdoor_backyard:`Zadný dvor`,outdoor_driveway:`Príjazdová cesta`,outdoor_garden:`Záhrada`,outdoor_terrace:`Terasa`,outdoor_balcony:`Balkón`,outdoor_walkway:`Chodník`,security_perimeter:`Bezpečnostný obvod`,utility:`Technická`,zone_other:`Ostatné`}},icon:{title:`Ikona`,placeholder:`mdi:home (názov ikony Iconify)`},displayOrder:{title:`Poradie zobrazenia`,placeholder:`Poradie v zoznamoch`},parentZone:{title:`Nadradená zóna`,placeholder:`Vyberte nadradenú zónu (voliteľné)`,hint:`Môžete organizovať túto miestnosť priradením k zóne, ako napríklad 'Prízemie' alebo 'Poschodie'. To pomáha zoskupovať súvisiace miestnosti.`},lightingRoles:{title:`Lighting roles`,description:`Assign roles to lights to help the panel understand how each light is typically used (Work, Relax, Night)`,noLights:`No lights found in this space`,role:{title:`Role`,placeholder:`Select a role`},applyDefaults:`Apply defaults`,applyDefaultsHint:`Sets first light as Main, others as Ambient`},climateRoles:{title:`Climate roles`,description:`Assign roles to climate devices to help the panel understand how each device controls temperature and air quality`,noDevices:`No climate devices found in this space`,role:{title:`Role`,placeholder:`Select a role`},applyDefaults:`Apply defaults`,applyDefaultsHint:`Auto-assigns roles based on device type`},coversRoles:{title:`Covers roles`,description:`Assign roles to window coverings to help the panel understand how each cover is used (primary, blackout, sheer)`,noCovers:`No window coverings found in this space`,role:{title:`Role`,placeholder:`Select a role`},applyDefaults:`Apply defaults`,applyDefaultsHint:`Sets first cover as Primary, others based on type`},sensorRoles:{title:`Sensor roles`,description:`Assign roles to sensor channels so the panel can group environment, safety, security, air quality, and energy readings.`,noSensors:`No sensors found in this space`,channel:{title:`Channel`},role:{title:`Role`,placeholder:`Select a role`},applyDefaults:`Apply defaults`,applyDefaultsHint:`Auto-assigns roles based on sensor channel category`},suggestions:{title:`Smart suggestions`},suggestionsEnabled:{title:`Enable suggestions`,hint:`When enabled, the panel will show non-intrusive lighting suggestions based on time of day and current state.`},statusWidgets:{energy:{title:`Energy`,range:{title:`Range`,options:{today:`Today`,week:`Week`,month:`Month`}},showProduction:{title:`Show production`}}}}},lightingRoles:{main:`Main`,task:`Task`,ambient:`Ambient`,accent:`Accent`,night:`Night`,other:`Other`,hidden:`Hidden`,unassigned:`Unassigned`,descriptions:{main:`Primary lighting for the space, typically overhead or central fixtures used for general illumination.`,task:`Focused lighting for specific activities like reading, cooking, or working.`,ambient:`Soft background lighting used to create atmosphere and comfort.`,accent:`Decorative lighting used to highlight features or create visual interest.`,night:`Low-level lighting for nighttime navigation and safety.`,other:`Lighting that doesn't fit into standard categories.`,hidden:`Hidden lights are excluded from the panel UI and intent-based control.`}},climateRoles:{heating_only:`Heating Only`,cooling_only:`Cooling Only`,auto:`Auto`,auxiliary:`Auxiliary`,sensor:`Sensor`,hidden:`Hidden`,unassigned:`Unassigned`,descriptions:{heating_only:`Device is used only for heating in the climate domain.`,cooling_only:`Device is used only for cooling in the climate domain.`,auto:`Device can be used for both heating and cooling automatically.`,auxiliary:`Auxiliary climate devices like dehumidifiers, humidifiers, air purifiers, and fans.`,sensor:`Climate sensor providing readings (temperature, humidity, air quality, etc.) for the space.`,hidden:`Hidden devices are excluded from the climate domain UI and control.`}},sensorRoles:{environment:`Environment`,safety:`Safety`,security:`Security`,air_quality:`Air quality`,energy:`Energy`,other:`Other`,hidden:`Hidden`,descriptions:{environment:`Environmental sensors such as temperature, humidity, pressure, or light levels.`,safety:`Safety sensors like smoke, gas, leak, or carbon monoxide detectors.`,security:`Security and presence sensors like motion, occupancy, and contact sensors.`,air_quality:`Air quality sensors including CO2, VOC, particulate matter, and other pollutants.`,energy:`Energy monitoring sensors such as power or energy consumption.`,other:`Sensors that don't fit a specific category.`,hidden:`Hidden sensors are excluded from the UI.`},categories:{temperature:`Temperature`,humidity:`Humidity`,pressure:`Pressure`,illuminance:`Illuminance`,smoke:`Smoke`,gas:`Gas`,carbon_monoxide:`Carbon monoxide`,carbon_dioxide:`Carbon dioxide`,leak:`Leak`,motion:`Motion`,occupancy:`Occupancy`,contact:`Contact`,air_quality:`Air quality`,air_particulate:`Air particulate`,nitrogen_dioxide:`Nitrogen dioxide`,ozone:`Ozone`,sulphur_dioxide:`Sulphur dioxide`,volatile_organic_compounds:`Volatile organic compounds`,electrical_energy:`Energy`,electrical_generation:`Generation`,electrical_power:`Power`,battery:`Battery`}},coversRoles:{primary:`Primary`,blackout:`Blackout`,sheer:`Sheer`,outdoor:`Outdoor`,hidden:`Hidden`,unassigned:`Unassigned`,descriptions:{primary:`Main window covering for the space, typically used for general privacy and light control.`,blackout:`Light-blocking covers designed for complete darkness, ideal for bedrooms or media rooms.`,sheer:`Semi-transparent covers that provide privacy while allowing natural light to filter through.`,outdoor:`External shutters, awnings, or pergola covers for outdoor protection.`,hidden:`Hidden covers are excluded from the panel UI and intent-based control.`}},filters:{type:{title:`Typ`,all:`Všetky`}},texts:{loadingSpaces:`Načítavanie priestorov...`,loadingSpace:`Načítavanie priestoru...`,noSpaces:`Nemáte nakonfigurovaný žiadny priestor`,noFilteredSpaces:`Žiadne priestory nezodpovedajú vašim filtrom`,confirmDiscard:`Máte neuložené zmeny. Naozaj ich chcete zahodiť?`},dialogs:{lightingRoles:{title:`Edit Lighting Roles`},climateRoles:{title:`Edit Climate Roles`},coversRoles:{title:`Edit Covers Roles`},sensorRoles:{title:`Edit Sensor Roles`},mediaActivities:{title:`Edit Media Activities`}},buttons:{add:{title:`Pridať`},done:{title:`Hotovo`},detail:{title:`Detail`},adjust:{title:`Filter`},resetFilters:{title:`Resetovať filtre`},reset:{title:`Resetovať`},yes:{title:`Áno`},no:{title:`Nie`},save:{title:`Uložiť`},cancel:{title:`Zrušiť`},close:{title:`Zavrieť`},discard:{title:`Zahodiť`},edit:{title:`Upraviť`},delete:{title:`Odstrániť`},previous:{title:`Predchádzajúci`},next:{title:`Ďalej`},finish:{title:`Dokončiť`},onboarding:{title:`Sprievodca nastavením`},viewAll:{title:`Zobraziť všetko`},back:{title:`Späť`}},detail:{title:`Space detail`,lightingRoles:{title:`Lighting roles`,lightsAssigned:`Lights assigned`,noRolesAssigned:`No roles assigned yet`},climateRoles:{title:`Climate roles`,devicesAssigned:`Devices assigned`,noRolesAssigned:`No roles assigned yet`},coversRoles:{title:`Covers roles`,coversAssigned:`Covers assigned`,noRolesAssigned:`No roles assigned yet`},sensorRoles:{title:`Sensor roles`,sensorsAssigned:`Sensors assigned`,noRolesAssigned:`No roles assigned yet`},mediaActivities:{title:`Media Activities`,noActivities:`No activities configured yet`},info:{title:`Space information`,name:`Name`,description:`Description`,type:`Type`,icon:`Icon`,displayOrder:`Display order`},devices:{title:`Devices`,add:`Add device`,empty:`No devices assigned to this space`,loading:`Loading devices...`,remove:`Remove`,removeHeading:`Remove device from space`,reassign:`Reassign`,assign:`Assign`,selectDevice:`Select devices to add`,confirmRemove:`Remove device "{name}" from this space?`,selectRoom:`Select room for device`,noAvailable:`No devices available to add`,removed:`Device "{name}" was removed from this space.`,removeCanceled:`Device removal was canceled.`},parentZone:{title:`Floor`,none:`No floor assigned`,select:`Select floor`},displays:{title:`Displays`,add:`Add display`,empty:`No displays assigned to this space`,loading:`Loading displays...`,remove:`Remove`,removeHeading:`Remove display from space`,reassign:`Reassign`,assign:`Assign`,selectDisplay:`Select display to add`,confirmRemove:`Remove display "{name}" from this space?`,selectRoom:`Select the room for this display`,noAvailable:`No displays available to add`,removed:`Display "{name}" was removed from this space.`,removeCanceled:`Display removal was canceled.`},media:{activities:`Media Activities`},scenes:{title:`Scenes`,add:`Add scene`,empty:`No scenes assigned to this space`,loading:`Loading scenes...`,name:`Scene name`,category:`Category`,status:`Status`,enabled:`Enabled`,disabled:`Disabled`,remove:`Remove`,removeHeading:`Remove scene from space`,reassign:`Reassign`,reassigned:`Scene "{name}" was reassigned successfully.`,assign:`Assign`,selectScene:`Select scene to add`,selectSpace:`Select space for scene`,searchPlaceholder:`Search scenes...`,confirmRemove:`Remove scene "{name}" from this space?`,assignedSpace:`Assigned space`,noAvailable:`No scenes available to add`,noFilteredScenes:`No scenes match your search`,assigned:`Scene "{name}" was assigned to this space.`,removed:`Scene "{name}" was removed from this space.`,removeCanceled:`Scene removal was canceled.`}},media:{endpointTypes:{display:`Display`,audio_output:`Audio Output`,source:`Source`,remote_target:`Remote Target`},capabilities:{power:`Power`,input:`Input`,volume:`Volume`,playback:`Playback`,track:`Track`,remote:`Remote`,mute:`Mute`},activityLabels:{watch:`Watch`,listen:`Listen`,gaming:`Gaming`,background:`Background`,off:`Off`},activities:{loading:`Loading media configuration...`,description:`Assign display, audio, source, and remote devices to each media activity. Changes are saved automatically.`,applyDefaults:`Apply defaults`,applyDefaultsHint:`Auto-assigns endpoints based on device types and capabilities`,defaultsApplied:`Default bindings have been applied.`,defaultsFailed:`Failed to apply default bindings.`,selectPrompt:`Select an activity from the list to configure its bindings.`,selectEndpoint:`Select endpoint...`,save:`Save`,reset:`Reset`,saveError:`Failed to save binding`,savedSuccessfully:`Binding saved successfully.`,slots:{display:`Display`,audio:`Audio output`,source:`Source`,remote:`Remote target`},overrides:{displayInput:`Display input preset`,displayInputPlaceholder:`e.g. HDMI1, Apps`,audioInput:`Audio input preset`,audioInputPlaceholder:`e.g. HDMI1, ARC`,sourceInput:`Source input preset`,sourceInputPlaceholder:`e.g. HDMI1, Apps`,audioVolume:`Audio volume preset`},mediaInputSources:{hdmi1:`HDMI 1`,hdmi2:`HDMI 2`,hdmi3:`HDMI 3`,hdmi4:`HDMI 4`,hdmi5:`HDMI 5`,hdmi6:`HDMI 6`,arc:`ARC`,earc:`eARC`,tv:`TV`,cable:`Cable`,satellite:`Satellite`,antenna:`Antenna`,av1:`AV 1`,av2:`AV 2`,component:`Component`,vga:`VGA`,dvi:`DVI`,usb:`USB`,bluetooth:`Bluetooth`,wifi:`Wi-Fi`,airplay:`AirPlay`,cast:`Chromecast`,dlna:`DLNA`,miracast:`Miracast`,app_netflix:`Netflix`,app_youtube:`YouTube`,app_spotify:`Spotify`,app_prime_video:`Prime Video`,app_disney_plus:`Disney+`,app_hbo_max:`HBO Max`,app_apple_tv:`Apple TV`,app_plex:`Plex`,app_kodi:`Kodi`,other:`Other`},status:{configured:`Configured`,incomplete:`Incomplete`,unconfigured:`Not set`},run:`Run`,deactivate:`Deactivate`,refreshStatus:`Refresh status`,rerun:`Re-run`,copyDebugJson:`Copy debug JSON`,copiedToClipboard:`Debug JSON copied to clipboard.`,activateSuccess:`Activity activated successfully.`,activateFailed:`Failed to activate activity.`,deactivateSuccess:`Activity deactivated.`,deactivateFailed:`Failed to deactivate activity.`,fetchFailed:`Failed to refresh activity status.`,preview:`Preview`,previewFailed:`Failed to preview activity.`,previewDialog:{title:`Execution Plan Preview`,resolvedDevices:`Resolved devices`,executionPlan:`Execution plan`,step:`#`,action:`Action`,device:`Device`,critical:`Critical`,criticalYes:`Critical`,criticalNo:`Optional`,warnings:`Warnings & skipped steps`,noSteps:`No execution steps in plan.`,close:`Close`},activePanel:{title:`Active State`,currentActivity:`Current activity`,none:`None`,state:`State`,activatedAt:`Activated at`,updatedAt:`Updated at`,resolvedDevices:`Resolved devices`,display:`Display`,audio:`Audio`,source:`Source`,remote:`Remote`},failures:{title:`Failures`,total:`Total steps`,succeeded:`Succeeded`,failed:`Failed`,stepIndex:`Step`,device:`Device`,property:`Property`,reason:`Reason`},activationState:{activating:`Activating`,active:`Active`,failed:`Failed`,deactivated:`Deactivated`}}},messages:{notFound:`Priestor nebol nájdený`,loadError:`Nepodarilo sa načítať priestory`,notLoaded:`Nepodarilo sa načítať priestor. Skúste to prosím neskôr.`,confirmRemove:`Naozaj chcete odstrániť priestor "{name}"? Túto akciu nie je možné vrátiť.`,confirmDelete:`Naozaj chcete odstrániť tento priestor?`,created:`Nový priestor bol úspešne pridaný.`,notCreated:`Niečo sa pokazilo. Nepodarilo sa vytvoriť priestor.`,edited:`Zmeny uložené! Priestor: {space} bol aktualizovaný.`,notEdited:`Niečo sa pokazilo. Aktualizácia priestoru nebola úspešná.`,removed:`Priestor: {space} bol úspešne odstránený.`,removeCanceled:`Odstránenie priestoru: {space} bolo zrušené.`,deletedWhileEditing:`Tento priestor bol odstránený a už nie je dostupný.`,createError:`Nepodarilo sa vytvoriť priestor. Skúste to prosím znova.`,saveError:`Nepodarilo sa uložiť zmeny. Skúste to prosím znova.`,confirmBulkRemove:`Naozaj chcete odstrániť {count} priestorov? Túto akciu nie je možné vrátiť.`,bulkRemoved:`{count} priestorov bolo úspešne odstránených.`,bulkRemoveFailed:`Nepodarilo sa odstrániť {count} priestorov.`,bulkRemoveCanceled:`Hromadné odstránenie priestorov bolo zrušené.`},misc:{types:{room:`Miestnosť`,zone:`Zóna`}},onboarding:{title:`Spaces setup wizard`,devices:`devices`,displays:`displays`,selectSpace:`Select space`,selectZones:`Select zones...`,deviceName:`Device name`,displayName:`Display name`,assignedSpace:`Assigned space`,spaceName:`Space name`,zones:`Zones (optional)`,advanced:`Advanced`,basic:`Basic`,steps:{spaces:{title:`Create spaces`,description:`Spaces help you organize your devices and displays by rooms or zones (e.g., Living Room, Kitchen, Bedroom). We've automatically detected some spaces from your device names - review and select the ones you want to create, or add your own custom spaces below.`,alertTitle:`Spaces represent rooms or areas in your home`,alertDescription:`We've suggested some spaces based on your device names. You can adjust them now or change everything later.`,proposed:`Proposed spaces`,custom:`Custom spaces`,existing:`Existing spaces`,matchedExisting:`Using existing spaces`,usingExisting:`Using existing`,matchedWith:`Will use: {name}`,addManual:`Add custom space`,placeholder:`Enter space name (e.g., Living Room)`,noProposals:`No spaces could be detected from your device names. Add spaces manually below.`,duplicateWarning:`A space similar to "{name}" already exists.`,convertedToMatch:`This space matches an existing space and has been moved to the 'Using existing spaces' section.`,multipleMatchedWith:`{count} detected spaces will use existing space '{name}'`,existingTag:`Existing`},displays:{title:`Assign displays`,description:`Assign each display to a space. This determines which space the display will show by default.`,alertTitle:`Choose a default space for each display`,alertDescription:`This only sets the initial view—you can switch spaces anytime from the display itself.`,noDisplays:`No displays registered yet.`},devices:{title:`Assign devices`,description:`Assign devices to spaces. Devices will be pre-assigned based on their names if detected.`,alertTitle:`Connect your devices to rooms`,alertDescription:`Some devices are pre-filled based on their names. Feel free to adjust—you can always change assignments later.`,noDevices:`No devices found.`},summary:{title:`Summary`,description:`Review your configuration before applying changes.`,alertTitle:`Summary of your setup`,alertDescription:`You can still go back and adjust anything before finishing.`}},summary:{overview:`Summary`,totalSpaces:`Total spaces`,assignedDevices:`Assigned devices`,unassignedDevices:`Unassigned devices`,assignedDisplays:`Assigned displays`,unassignedDisplays:`Unassigned displays`,bySpace:`Assignments by space`,unassignedDevicesTitle:`Unassigned devices`,unassignedDisplaysTitle:`Unassigned displays`,noDevices:`No devices`,clickToAssignDevices:`Click to assign devices`,clickToAssignDisplays:`Click to assign displays`},messages:{spacesCreated:`{count} space(s) created successfully`,completed:`Onboarding complete! {devices} device(s), {displays} display(s), and {zones} zone assignment(s).`}}},yr={"cs-CZ":pr,"de-DE":mr,"en-US":hr,"es-ES":gr,"pl-PL":_r,"sk-SK":vr},br=[{path:`spaces`,name:qe.SPACES,component:()=>lt(()=>import(`./view-spaces-CuuMx0iT.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),meta:{guards:{authenticated:!0},title:()=>gt.global.t(`spacesModule.menu.title`),icon:`mdi:home-group`,menu:9e3},children:[{path:`add`,name:qe.SPACES_ADD,component:()=>lt(()=>import(`./view-space-add-DwONNuir.js`),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25])),meta:{guards:{authenticated:!0},title:`Add space`}},{path:`:id`,name:qe.SPACES_EDIT,component:()=>lt(()=>import(`./view-space-edit-44iZOBav.js`),__vite__mapDeps([27,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25])),props:!0,meta:{guards:{authenticated:!0},title:`Edit space`}},{path:`onboarding`,name:qe.SPACES_ONBOARDING,component:()=>lt(()=>import(`./view-spaces-onboarding-CN6qrfN6.js`),__vite__mapDeps([28,1,2,3,4,5,14,8,12,15,29,22,25])),meta:{guards:{authenticated:!0},title:`Spaces Onboarding`}}]},{path:`space/:id`,name:qe.SPACE,component:()=>lt(()=>import(`./view-space-VnVbkvKT.js`),__vite__mapDeps([30,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),props:!0,meta:{guards:{authenticated:!0}},children:[{path:`edit`,name:qe.SPACE_EDIT,component:()=>lt(()=>import(`./view-space-edit-44iZOBav.js`),__vite__mapDeps([27,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25])),props:!0,meta:{guards:{authenticated:!0},title:`Edit space`}}]}],xr=yt(),Sr={install:(e,t)=>{let n=Ze(e),r=Ge(e),i=Ae(e),a=He(e);for(let[e,n]of Object.entries(yr)){let r=(0,xr.defaultsDeep)(t.i18n.global.getLocaleMessage(e),{spacesModule:n});t.i18n.global.setLocaleMessage(e,r)}let o=kt(t.store);e.provide(Ye,o),n.addStore(Ye,o);let s={climate:R(0),lighting:R(0),covers:R(0),sensor:R(0),climateState:R(0),lightingState:R(0),coversState:R(0),sensorState:R(0)};e.provide(tt,s),a.addModule(Symbol(`FB-Module-Spaces`),{type:Be,name:`Spaces`,description:`Manage spaces (rooms/zones) and organize devices and displays.`,elements:[],modules:[],isCore:!0}),t.router.getRoutes().find(e=>e.name===_e.ROOT)&&br.forEach(e=>{t.router.addRoute(_e.ROOT,e)}),r.on(`event`,e=>{if(e?.event?.startsWith(`SpacesModule.`)&&!(e.payload===null||typeof e.payload!=`object`)){if(e.event===W.LIGHTING_STATE_CHANGED&&`space_id`in e.payload){s.lightingState.value++;return}if(e.event===W.CLIMATE_STATE_CHANGED&&`space_id`in e.payload){s.climateState.value++;return}if(e.event===W.COVERS_STATE_CHANGED&&`space_id`in e.payload){s.coversState.value++;return}if(e.event===W.SENSOR_STATE_CHANGED&&`space_id`in e.payload){s.sensorState.value++;return}if(!(!(`id`in e.payload)||typeof e.payload.id!=`string`))switch(e.event){case W.SPACE_CREATED:case W.SPACE_UPDATED:o.onEvent({id:e.payload.id,data:e.payload});break;case W.SPACE_DELETED:o.unset({id:e.payload.id});break;case W.CLIMATE_TARGET_CREATED:case W.CLIMATE_TARGET_UPDATED:case W.CLIMATE_TARGET_DELETED:s.climate.value++;break;case W.LIGHT_TARGET_CREATED:case W.LIGHT_TARGET_UPDATED:case W.LIGHT_TARGET_DELETED:s.lighting.value++;break;case W.COVERS_TARGET_CREATED:case W.COVERS_TARGET_UPDATED:case W.COVERS_TARGET_DELETED:s.covers.value++;break;case W.SENSOR_TARGET_CREATED:case W.SENSOR_TARGET_UPDATED:case W.SENSOR_TARGET_DELETED:s.sensor.value++;break;case W.SUGGESTION_CREATED:break;default:i.warn(`Unhandled spaces module event:`,e.event)}}})}},Cr={class:`flex items-center gap-2`},wr={class:`text-xs text-gray-500 mt-1`},Tr=C({name:`DeviceEditForm`,__name:`device-edit-form`,props:{device:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:It.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),s=Ze().getStore(Ye),{categoriesOptions:c,model:l,formEl:u,formChanged:d,submit:f,formResult:p}=Gt({device:r.device}),m=F(()=>s.findAll().filter(e=>e.type===Fe.ROOM)),h=fe({name:[{required:!0,message:a(`devicesModule.fields.devices.name.validation.required`),trigger:`change`}]});return w(()=>p.value,async e=>{i(`update:remote-form-result`,e)}),w(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),f().catch(()=>{}))}),w(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!u.value)return;u.value.resetFields()}}),w(()=>d.value,e=>{i(`update:remote-form-changed`,e)}),(e,t)=>(n(),k(T(Ue),{ref_key:`formEl`,ref:u,model:T(l),rules:h,"label-position":`top`,"status-icon":``},{default:y(()=>[B(T(G),{label:T(a)(`devicesModule.fields.devices.id.title`),prop:[`id`]},{default:y(()=>[B(T(K),{modelValue:T(l).id,"onUpdate:modelValue":t[0]||=e=>T(l).id=e,placeholder:T(a)(`devicesModule.fields.devices.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.devices.identifier.title`),prop:[`identifier`]},{default:y(()=>[B(T(K),{modelValue:T(l).identifier,"onUpdate:modelValue":t[1]||=e=>T(l).identifier=e,placeholder:T(a)(`devicesModule.fields.devices.identifier.placeholder`),name:`identifier`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.devices.name.title`),prop:[`name`]},{default:y(()=>[B(T(K),{modelValue:T(l).name,"onUpdate:modelValue":t[2]||=e=>T(l).name=e,placeholder:T(a)(`devicesModule.fields.devices.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.devices.category.title`),prop:[`category`]},{default:y(()=>[B(T(Q),{modelValue:T(l).category,"onUpdate:modelValue":t[3]||=e=>T(l).category=e,placeholder:T(a)(`devicesModule.fields.devices.category.placeholder`),name:`category`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),z(N,null,o(T(c),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(l).category?(n(),k(T(U),{key:0,type:`info`,title:T(a)(`devicesModule.fields.devices.category.description`),description:T(a)(`devicesModule.texts.devices.description.${T(l).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0),B(T(H)),B(T(G),{label:T(a)(`devicesModule.fields.devices.description.title`),prop:[`description`]},{default:y(()=>[B(T(K),{modelValue:T(l).description,"onUpdate:modelValue":t[4]||=e=>T(l).description=e,placeholder:T(a)(`devicesModule.fields.devices.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),B(T(G),{label:T(a)(`devicesModule.fields.devices.enabled.title`),prop:[`enabled`],"label-position":`left`},{default:y(()=>[B(T(ze),{modelValue:T(l).enabled,"onUpdate:modelValue":t[5]||=e=>T(l).enabled=e,name:`enabled`},null,8,[`modelValue`])]),_:1},8,[`label`]),B(T(H)),B(T(G),{label:T(a)(`devicesModule.fields.devices.room.title`),prop:[`roomId`]},{default:y(()=>[B(T(Q),{modelValue:T(l).roomId,"onUpdate:modelValue":t[6]||=e=>T(l).roomId=e,placeholder:T(a)(`devicesModule.fields.devices.room.placeholder`),name:`roomId`,clearable:``,filterable:``,class:`w-full`},{default:y(()=>[(n(!0),z(N,null,o(m.value,e=>(n(),k(T(J),{key:e.id,label:e.name,value:e.id},{default:y(()=>[j(`span`,Cr,[e.icon?(n(),k(T(g),{key:0},{default:y(()=>[B(T(I),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):E(``,!0),D(` `+M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`]),j(`div`,wr,M(T(a)(`devicesModule.fields.devices.room.hint`)),1)]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),Er={class:`flex flex-row items-center`},Dr={class:`ml-3`},Or={class:`p-4`},kr={key:2,class:`w-full flex items-center gap-4`},Ar=C({name:`DeviceControlForm`,__name:`device-control-form`,props:{deviceControl:{}},setup(e){let t=e,{t:r}=O(),{controllableChannels:i,getPropertiesForChannel:a,isPropertyWritable:s,getPropertyValue:c,isPropertyLoading:l,setPropertyValue:u}=t.deviceControl,d=e=>a(e).filter(e=>s(e)),f=e=>c(e),p=e=>({light:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,temperature:`mdi:thermometer`,humidity:`mdi:water-percent`,thermostat:`mdi:thermostat`,fan:`mdi:fan`,heater:`mdi:radiator`,cooler:`mdi:snowflake`,lock:`mdi:lock`,door:`mdi:door`,valve:`mdi:pipe-valve`,speaker:`mdi:volume-high`,media_playback:`mdi:play-circle`,outlet:`mdi:power-socket`,window_covering:`mdi:blinds`})[e.category]??`mdi:chip`,m=e=>{if(e===null)return!1;if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;let t=e.toLowerCase();return t===`true`||t===`1`||t===`on`||t===`yes`},h=e=>[Z.char,Z.uchar,Z.short,Z.ushort,Z.int,Z.uint,Z.float].includes(e),g=e=>!e.format||!Array.isArray(e.format)?!1:e.format.length>=2&&typeof e.format[0]==`number`&&typeof e.format[1]==`number`,_=e=>e.format&&Array.isArray(e.format)&&typeof e.format[0]==`number`?e.format[0]:0,v=e=>e.format&&Array.isArray(e.format)&&typeof e.format[1]==`number`?e.format[1]:100,b=e=>!e.format||!Array.isArray(e.format)?[]:e.format.filter(e=>typeof e==`string`),x=(e,t,n)=>{u(e,t,n)};return(e,t)=>(n(),k(T(vt),{class:`grow-1 p-2 md:px-4`},{default:y(()=>[T(i).length>0?(n(),k(T(pn),{key:0,direction:`vertical`,size:`large`,class:`w-full`,fill:``},{default:y(()=>[(n(!0),z(N,null,o(T(i),e=>(n(),k(T(ot),{key:e.id,"body-class":`p-0!`,style:{"--el-card-padding":`0.5rem`}},{header:y(()=>[j(`div`,Er,[j(`div`,null,[B(T(ke),{size:32},{default:y(()=>[B(T(I),{icon:p(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),j(`div`,Dr,[j(`strong`,null,M(e.name),1),B(T(q),{class:`block`},{default:y(()=>[D(M(T(r)(`devicesModule.categories.channels.${e.category}`)),1)]),_:2},1024)])])]),default:y(()=>[j(`div`,Or,[B(T(Ue),{"label-position":`top`,size:`default`},{default:y(()=>[(n(!0),z(N,null,o(d(e.id),t=>(n(),k(T(G),{key:t.id,label:t.name??T(r)(`devicesModule.categories.channelsProperties.${t.category}`),class:`mb-4`},{default:y(()=>[t.dataType===T(Z).bool?(n(),k(T(ze),{key:0,"model-value":m(f(t.id)),loading:T(l)(t.id),onChange:n=>x(e.id,t.id,!!n)},null,8,[`model-value`,`loading`,`onChange`])):t.dataType===T(Z).enum?(n(),k(T(Q),{key:1,"model-value":String(f(t.id)??``),loading:T(l)(t.id),class:`w-full`,onChange:n=>x(e.id,t.id,n)},{default:y(()=>[(n(!0),z(N,null,o(b(t),e=>(n(),k(T(J),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`loading`,`onChange`])):h(t.dataType)&&g(t)?(n(),z(`div`,kr,[B(T(Dt),{"model-value":Number(f(t.id)??_(t)),min:_(t),max:v(t),step:t.step??1,disabled:T(l)(t.id),class:`flex-grow touch-action-none`,onInput:n=>x(e.id,t.id,Array.isArray(n)?n[0]??0:n)},null,8,[`model-value`,`min`,`max`,`step`,`disabled`,`onInput`]),B(T(q),{class:`min-w-[60px] text-right`},{default:y(()=>[D(M(f(t.id)??`-`)+M(t.unit?` ${t.unit}`:``),1)]),_:2},1024)])):h(t.dataType)?(n(),z(N,{key:3},[B(T(Ct),{"model-value":Number(f(t.id)??0),step:t.step??1,disabled:T(l)(t.id),"controls-position":`right`,onChange:n=>x(e.id,t.id,n??0)},null,8,[`model-value`,`step`,`disabled`,`onChange`]),t.unit?(n(),k(T(q),{key:0,class:`ml-2`},{default:y(()=>[D(M(t.unit),1)]),_:2},1024)):E(``,!0)],64)):(n(),k(T(K),{key:4,"model-value":String(f(t.id)??``),disabled:T(l)(t.id),onChange:n=>x(e.id,t.id,n)},null,8,[`model-value`,`disabled`,`onChange`]))]),_:2},1032,[`label`]))),128))]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(n(),k(T(P),{key:1,class:`h-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:tune-variant`})]),secondary:y(()=>[B(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[B(T(q),{class:`block`},{default:y(()=>[D(M(T(r)(`devicesModule.texts.devices.noControllableProperties`)),1)]),_:1})]),_:1}))]),_:1}))}}),jr={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)`}},Mr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Nr=C({name:`DeviceDetailDescription`,__name:`device-detail-description`,props:{device:{},channel:{}},setup(e){let t=e,{t:r}=O(),{properties:i}=Xt({channelId:t.channel.id});return(e,t)=>(n(!0),z(N,null,o(T(i),e=>(n(),z(N,{key:e.id},[j(`dt`,jr,M(T(r)(`devicesModule.categories.channelsProperties.${e.category}`)),1),j(`dd`,Mr,[B(T(q),null,{default:y(()=>[D(M(e.value!==null&&typeof e.value==`object`&&`value`in e.value?e.value.value:e.value),1)]),_:2},1024)])],64))),128))}}),Pr={class:`h-full w-full flex flex-col`},Fr={class:`flex items-center justify-between p-2 border-b`},Ir={class:`flex items-center gap-2`},Lr={key:0,class:`flex-1 flex items-center justify-center`},Rr={key:1,class:`flex-1 flex items-center justify-center`},zr={class:`grid grid-cols-[140px_70px_1fr] gap-3 items-center`},Br={class:`font-mono text-xs`},Vr={class:`truncate text-sm`},Hr={class:`py-3 text-center`},Ur={key:0,class:`text-xs text-gray-400`},Wr=C({name:`DeviceLogs`,__name:`device-logs`,props:{logs:{},deviceId:{},live:{type:Boolean},hasMore:{},isLoading:{},liveRef:{},fetchLogs:{type:Function},loadMoreLogs:{type:Function},refreshLogs:{type:Function}},emits:[`update:live`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),s=r.logs!==void 0,c=s?null:Jt({deviceId:Ce(()=>r.deviceId)}),l=F(()=>s?r.logs.value:c.logs.value),u=F(()=>s?r.hasMore.value:c.hasMore.value),d=F(()=>s?r.isLoading.value:c.isLoading.value),f=s?r.liveRef:c.live,m=()=>s?r.refreshLogs():c.refreshLogs(),h=()=>s?r.loadMoreLogs():c.loadMoreLogs(),g=()=>s?r.fetchLogs():c.fetchLogs(),_=We(r,`live`,i,{defaultValue:!1});w(_,e=>{f.value=e},{immediate:!0}),w(f,e=>{_.value=e});let v=()=>{m()},b=()=>{h()},x=e=>Ve(new Date(e)),S=e=>new Date(e).toISOString(),C=e=>{let t=e.toLowerCase();return[`fatal`,`error`,`fail`].includes(t)?{type:`danger`,effect:`light`}:[`warn`,`box`].includes(t)?{type:`warning`,effect:`light`}:[`success`,`ready`,`start`,`info`,`log`].includes(t)?{type:`success`,effect:`light`}:{effect:`plain`,class:`tag-neutral`}};return p(()=>{s||g()}),(e,t)=>(n(),z(`div`,Pr,[j(`div`,Fr,[j(`div`,Ir,[B(T(A),{size:`small`,loading:d.value,onClick:v},{icon:y(()=>[B(T(I),{icon:`mdi:refresh`})]),default:y(()=>[D(` `+M(T(a)(`devicesModule.buttons.refresh.title`)),1)]),_:1},8,[`loading`]),B(T(ze),{modelValue:T(_),"onUpdate:modelValue":t[0]||=e=>le(_)?_.value=e:null,size:`small`,"active-text":T(a)(`devicesModule.labels.live`)},null,8,[`modelValue`,`active-text`])])]),l.value.length===0&&d.value?(n(),z(`div`,Lr,[B(T(P),null,{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:console`})]),secondary:y(()=>[B(T(I),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):l.value.length===0&&!d.value?(n(),z(`div`,Rr,[B(T(P),null,{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:console`})]),secondary:y(()=>[B(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[D(M(T(a)(`devicesModule.texts.devices.logs.noLogs`)),1)]),"sub-title":y(()=>[D(M(T(a)(`devicesModule.texts.devices.logs.noLogsDescription`)),1)]),_:1})])):(n(),k(T(vt),{key:2,class:`flex-1`},{default:y(()=>[j(`div`,null,[(n(!0),z(N,null,o(l.value,e=>(n(),z(`div`,{key:e.id,class:`px-3 py-2 border-b hover:bg-gray-50`},[j(`div`,zr,[j(`span`,Br,[B(T(Ke),{content:S(e.ts),placement:`top-start`},{default:y(()=>[D(M(x(e.ts)),1)]),_:2},1032,[`content`])]),B(T(Y),be({ref_for:!0},C(e.type),{size:`small`,class:`justify-self-start`}),{default:y(()=>[D(M(e.type),1)]),_:2},1040),j(`div`,Vr,M(e.message??T(a)(`devicesModule.texts.devices.logs.noMessage`)),1)])]))),128)),j(`div`,Hr,[u.value?E(``,!0):(n(),z(`span`,Ur,M(T(a)(`devicesModule.texts.devices.logs.noMoreEntries`)),1)),u.value?(n(),k(T(A),{key:1,loading:d.value,onClick:b},{icon:y(()=>[B(T(I),{icon:`mdi:chevron-down`})]),default:y(()=>[D(` `+M(T(a)(`devicesModule.buttons.loadMore.title`)),1)]),_:1},8,[`loading`])):E(``,!0)])])]),_:1}))]))}}),Gr={class:`grid m-0`},Kr={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)`}},qr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Jr={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 min-w-[8rem]`},Xr={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)`}},Zr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Qr={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)`}},$r={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},ei={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ti={class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},ni={class:`h-96`},ri={class:`flex items-center gap-2`},ii={key:1,class:`text-gray-400`},ai=C({name:`DeviceDetail`,__name:`device-detail`,props:{device:{}},setup(e){let t=e,{t:r}=O(),{channels:i}=zt({deviceId:t.device.id}),a=Ze().getStore(At),o=F(()=>a.findById(t.device.id)),s=F(()=>o.value?.isValid??null),c=F(()=>o.value?.issues??[]),l=F(()=>c.value.filter(e=>e.severity===`error`).length),u=F(()=>c.value.filter(e=>e.severity===`warning`).length),d=F(()=>a.fetching()||a.getting(t.device.id)),f=Jt({deviceId:Ce(()=>t.device.id)}),{alertCount:m,hasAlerts:h,isLoading:_,fetchLogs:v}=f,b=R(!1),x=R(!1),S=()=>{b.value=!0},C=()=>{b.value=!1,x.value=!1,f.live.value=!1},ee=F(()=>i.value.find(e=>e.category===V.device_information)),te=F(()=>{if(![X.unknown].includes(t.device.status.status))return[X.connected,X.ready,X.running].includes(t.device.status.status)?`success`:[X.init].includes(t.device.status.status)?`info`:[X.disconnected,X.stopped,X.sleeping].includes(t.device.status.status)?`warning`:`danger`});return p(()=>{v()}),(t,a)=>(n(),z(N,null,[B(T(ot),{class:`mt-2`,"body-class":`p-0!`},{default:y(()=>[j(`dl`,Gr,[j(`dt`,Kr,M(T(r)(`devicesModule.texts.devices.category`)),1),j(`dd`,qr,[B(T(q),null,{default:y(()=>[D(M(T(r)(`devicesModule.categories.devices.${e.device.category}`)),1)]),_:1})]),j(`dt`,Jr,M(T(r)(`devicesModule.texts.devices.channels`)),1),j(`dd`,Yr,[B(T(q),null,{default:y(()=>[B(T(xe),{keypath:`devicesModule.texts.devices.channelsCount`,plural:T(i).length},{count:y(()=>[j(`strong`,null,M(T(i).length),1)]),_:1},8,[`plural`])]),_:1})]),j(`dt`,Xr,M(T(r)(`devicesModule.texts.devices.status`)),1),j(`dd`,Zr,[B(T(q),null,{default:y(()=>[B(T(Y),{type:te.value,size:`small`},{default:y(()=>[D(M(T(r)(`devicesModule.states.${String(e.device.status?.status??T(X).unknown).toLowerCase()}`)),1)]),_:1},8,[`type`])]),_:1})]),j(`dt`,Qr,M(T(r)(`devicesModule.texts.devices.validation`)),1),j(`dd`,$r,[B(T(q),null,{default:y(()=>[d.value?(n(),k(T(Y),{key:0,size:`small`,type:`info`},{default:y(()=>[B(T(I),{icon:`mdi:loading`,class:`animate-spin`})]),_:1})):s.value===!0?(n(),k(T(Y),{key:1,size:`small`,type:`success`},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.valid`)),1)]),_:1})):s.value===!1?(n(),k(T(Y),{key:2,size:`small`,type:`danger`},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.invalid`))+` `,1),l.value>0||u.value>0?(n(),z(N,{key:0},[D(` (`+M(l.value)+` `+M(T(r)(`devicesModule.validation.errors`))+`, `+M(u.value)+` `+M(T(r)(`devicesModule.validation.warnings`))+`) `,1)],64)):E(``,!0)]),_:1})):(n(),k(T(Y),{key:3,size:`small`,type:`info`},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.unknown`)),1)]),_:1}))]),_:1})]),ee.value?(n(),k(Nr,{key:0,device:e.device,channel:ee.value},null,8,[`device`,`channel`])):E(``,!0),j(`dt`,ei,M(T(r)(`devicesModule.texts.devices.alerts`)),1),j(`dd`,ti,[B(T(q),null,{default:y(()=>[T(_)?(n(),k(T(Y),{key:0,size:`small`,type:`info`},{default:y(()=>[B(T(I),{icon:`mdi:loading`,class:`animate-spin`})]),_:1})):(n(),k(T(Y),{key:1,size:`small`,type:T(h)?`danger`:`success`},{default:y(()=>[B(T(xe),{keypath:`devicesModule.texts.devices.alertsCount`,plural:T(m)},{count:y(()=>[j(`strong`,null,M(T(m)),1)]),_:1},8,[`plural`])]),_:1},8,[`type`]))]),_:1}),B(T(A),{size:`small`,text:``,onClick:S},{icon:y(()=>[B(T(I),{icon:`mdi:console`})]),default:y(()=>[D(` `+M(T(r)(`devicesModule.buttons.viewLogs.title`)),1)]),_:1})])])]),_:1}),B(T(rt),{modelValue:b.value,"onUpdate:modelValue":a[1]||=e=>b.value=e,title:T(r)(`devicesModule.texts.devices.logs.title`),width:`80%`,"destroy-on-close":``,onClose:C},{default:y(()=>[j(`div`,ni,[B(Wr,{live:x.value,"onUpdate:live":a[0]||=e=>x.value=e,"device-id":e.device.id,logs:T(f).logs,"has-more":T(f).hasMore,"is-loading":T(f).isLoading,"live-ref":T(f).live,"fetch-logs":T(f).fetchLogs,"load-more-logs":T(f).loadMoreLogs,"refresh-logs":T(f).refreshLogs},null,8,[`live`,`device-id`,`logs`,`has-more`,`is-loading`,`live-ref`,`fetch-logs`,`load-more-logs`,`refresh-logs`])])]),_:1},8,[`modelValue`,`title`]),c.value.length>0?(n(),k(T(ot),{key:0,class:`mt-4`,"body-class":`p-0!`,shadow:`never`},{header:y(()=>[j(`div`,ri,[B(T(g),{color:`var(--el-color-danger)`,size:18},{default:y(()=>[B(T(I),{icon:`mdi:alert-circle-outline`})]),_:1}),j(`span`,null,M(T(r)(`devicesModule.validation.issuesTitle`)),1),B(T(Y),{type:`danger`,size:`small`},{default:y(()=>[D(M(c.value.length),1)]),_:1})])]),default:y(()=>[B(T(St),{data:c.value,size:`small`,class:`w-full`},{default:y(()=>[B(T($),{label:T(r)(`devicesModule.validation.table.severity`),prop:`severity`,width:100},{default:y(e=>[B(T(Y),{type:e.row.severity===`error`?`danger`:`warning`,size:`small`},{default:y(()=>[D(M(e.row.severity===`error`?T(r)(`devicesModule.validation.severity.error`):T(r)(`devicesModule.validation.severity.warning`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),B(T($),{label:T(r)(`devicesModule.validation.table.type`),prop:`type`,width:150},{default:y(e=>[D(M(T(r)(`devicesModule.validation.issueTypes.${e.row.type}`,e.row.type)),1)]),_:1},8,[`label`]),B(T($),{label:T(r)(`devicesModule.validation.table.message`),prop:`message`},null,8,[`label`]),B(T($),{label:T(r)(`devicesModule.validation.table.channel`),prop:`channelCategory`,width:150},{default:y(e=>[e.row.channelCategory?(n(),z(N,{key:0},[D(M(T(r)(`devicesModule.categories.channels.${e.row.channelCategory}`,e.row.channelCategory)),1)],64)):(n(),z(`span`,ii,` - `))]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1})):E(``,!0)],64))}}),oi={class:`flex w-full`},si=ge(C({name:`DevicesFilter`,__name:`devices-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let r=e,i=t,a=we(`devices-filter`),{t:o}=O(),s=We(r,`filters`,i),c=R(void 0);return w(()=>s.value.search,e=>{e===``&&(s.value.search=void 0)}),(e,t)=>(n(),z(`div`,oi,[B(T(Ue),{ref_key:`filterFormEl`,ref:c,inline:!0,model:T(s),class:_([[T(a).b()],`grow-1`])},{default:y(()=>[B(T(K),{modelValue:T(s).search,"onUpdate:modelValue":t[0]||=e=>T(s).search=e,placeholder:T(o)(`devicesModule.fields.devices.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:y(()=>[B(T(g),null,{default:y(()=>[B(T(I),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`]),B(T(H),{direction:`vertical`}),B(T(G),{label:T(o)(`devicesModule.fields.devices.state.title`),class:_([[T(a).e(`device-state`)],`p-1 m-0!`])},{default:y(()=>[B(T(Tt),{modelValue:T(s).state,"onUpdate:modelValue":t[1]||=e=>T(s).state=e},{default:y(()=>[B(T(wt),{label:T(o)(`devicesModule.states.online`),value:`online`},null,8,[`label`]),B(T(wt),{label:T(o)(`devicesModule.states.offline`),value:`offline`},null,8,[`label`]),B(T(wt),{label:T(o)(`devicesModule.states.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`,`class`])]),_:1},8,[`model`,`class`]),B(T(Me),{"selected-count":r.selectedCount,actions:r.bulkActions,onAction:t[2]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),r.filtersActive?(n(),k(T(A),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`reset-filters`)},{default:y(()=>[B(T(I),{icon:`mdi:filter-off`})]),_:1})):E(``,!0),B(T(A),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[4]||=e=>i(`adjust-list`)},{default:y(()=>[B(T(I),{icon:`mdi:slider`})]),_:1})]))}}),[[`__scopeId`,`data-v-b644ae60`]]),ci=C({name:`DevicesTableColumnIcon`,__name:`devices-table-column-icon`,props:{device:{}},setup(e){let{icon:t}=Kt({id:e.device.id});return(e,r)=>(n(),k(T(ke),{size:32},{default:y(()=>[B(T(I),{icon:T(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),li=C({name:`DevicesTableColumnPlugin`,__name:`devices-table-column-plugin`,props:{device:{},filters:{}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{plugin:a}=Vt({type:r.device.type});return(e,t)=>(n(),k(T(q),{truncated:``},{default:y(()=>[B(T(Re),{type:r.filters.types.includes(r.device.type)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:t[0]||=L(e=>i(`filter-by`,r.device.type,!r.filters.types.includes(r.device.type)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.types.includes(r.device.type)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)?.name||r.device.type),1)]),_:1},8,[`type`])]),_:1}))}}),ui=C({name:`DevicesTableColumnState`,__name:`devices-table-column-state`,props:{device:{},filters:{}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O();return(t,o)=>(n(),k(T(Re),{type:r.filters.states.includes(e.device.status.status)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=L(t=>i(`filter-by`,e.device.status.status,!r.filters.states.includes(e.device.status.status)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.states.includes(e.device.status.status)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)(`devicesModule.states.${e.device.status.status}`)),1)]),_:1},8,[`type`]))}}),di={class:`text-sm`},fi={class:`font-semibold mb-2 flex items-center gap-2`},pi={class:`text-xs text-gray-500`},mi=C({name:`DevicesTableColumnValidation`,__name:`devices-table-column-validation`,props:{device:{}},setup(e){let t=e,{t:r}=O(),i=Ze().getStore(At),a=R(!1),o=F(()=>i.findById(t.device.id)),s=F(()=>o.value?.isValid??null),c=F(()=>o.value?.issues??[]),l=F(()=>c.value.length),u=F(()=>i.fetching()||i.getting(t.device.id));return(e,t)=>u.value?(n(),k(T(Y),{key:0,size:`small`,type:`info`},{default:y(()=>[B(T(I),{icon:`mdi:loading`,class:`animate-spin`})]),_:1})):s.value===!0?(n(),k(T(Y),{key:1,size:`small`,type:`success`},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.valid`)),1)]),_:1})):s.value===!1?(n(),k(T(Ot),{key:2,placement:`bottom`,width:400,trigger:`click`,onShow:t[1]||=e=>a.value=!0,onHide:t[2]||=e=>a.value=!1},{reference:y(()=>[B(T(Y),{size:`small`,type:`danger`,class:`cursor-pointer`,onClick:t[0]||=L(()=>{},[`stop`])},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.invalid`))+` `,1),l.value>0?(n(),z(N,{key:0},[D(` (`+M(l.value)+`) `,1)],64)):E(``,!0),B(T(g),{class:`ml-1 inline-block!`},{default:y(()=>[B(T(I),{icon:a.value?`mdi:chevron-up`:`mdi:chevron-down`},null,8,[`icon`])]),_:1})]),_:1})]),default:y(()=>[j(`div`,di,[j(`div`,fi,[B(T(g),null,{default:y(()=>[B(T(I),{icon:`mdi:alert-circle-outline`})]),_:1}),D(` `+M(T(r)(`devicesModule.validation.issuesTitle`)),1)]),B(T(St),{data:c.value,size:`small`,"show-header":!1},{default:y(()=>[B(T($),{prop:`severity`,width:70},{default:y(e=>[B(T(Y),{type:e.row.severity===`error`?`danger`:`warning`,size:`small`},{default:y(()=>[D(M(e.row.severity===`error`?T(r)(`devicesModule.validation.severity.error`):T(r)(`devicesModule.validation.severity.warning`)),1)]),_:2},1032,[`type`])]),_:1}),B(T($),{prop:`message`},{default:y(e=>[j(`div`,pi,M(T(r)(`devicesModule.validation.issueTypes.${e.row.type}`,e.row.type)),1),j(`div`,null,M(e.row.message),1)]),_:1})]),_:1},8,[`data`])])]),_:1})):(n(),k(T(Y),{key:3,size:`small`,type:`info`},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.unknown`)),1)]),_:1}))}}),hi={key:0,class:`h-full w-full leading-normal`},gi={key:1,class:`h-full w-full leading-normal`},_i={key:2,class:`h-full w-full leading-normal`},vi={class:`block`},yi=C({name:`DevicesTable`,__name:`devices-table`,props:{items:{},totalRows:{},sortBy:{},sortDir:{},loading:{type:Boolean},filters:{},filtersActive:{type:Boolean},tableHeight:{}},emits:[`detail`,`edit`,`remove`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(r,{emit:i}){let a=r,o=i,{t:s}=O(),{isMDDevice:c}=ut(),l=F(()=>a.totalRows===0),u=We(a,`filters`,o),d=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},f=e=>{o(`selected-changes`,e)},p=e=>{o(`detail`,e.id)},m=(e,t,n)=>{if(e===`type`){let e=u.value.types;n===!0?e.push(t):e=u.value.types.filter(e=>e!==t),u.value.types=Array.from(new Set(e))}else if(e===`category`){let e=u.value.categories;n===!0?e.push(t):e=u.value.categories.filter(e=>e!==t),u.value.categories=Array.from(new Set(e))}else if(e===`state`){let e=u.value.states;n===!0?e.push(t):e=u.value.states.filter(e=>e!==t),u.value.states=Array.from(new Set(e))}else e===`enabled`?n===!0?u.value.enabled=t:u.value.enabled=`all`:e===`validation`&&(n===!0?u.value.validation=t:u.value.validation=`all`)};return(i,h)=>e((n(),k(T(St),{"element-loading-text":T(s)(`devicesModule.texts.devices.loadingDevices`),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:r.tableHeight+`px`}),"max-height":r.tableHeight,onSortChange:d,onSelectionChange:f,onRowClick:p},{empty:y(()=>[a.loading?(n(),z(`div`,hi,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:devices`})]),secondary:y(()=>[B(T(I),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):l.value&&!a.loading?(n(),z(`div`,gi,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:devices`})]),secondary:y(()=>[B(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[D(M(T(s)(`devicesModule.texts.devices.noDevices`)),1)]),_:1})])):a.filtersActive&&!a.loading?(n(),z(`div`,_i,[B(T(P),{class:`h-full w-full`},{icon:y(()=>[B(T(Te),{size:80},{primary:y(()=>[B(T(I),{icon:`mdi:devices`})]),secondary:y(()=>[B(T(I),{icon:`mdi:filter-multiple`})]),_:1})]),title:y(()=>[B(T(q),{class:`block`},{default:y(()=>[D(M(T(s)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1}),B(T(A),{type:`primary`,plain:``,class:`mt-4`,onClick:h[0]||=e=>o(`reset-filters`)},{icon:y(()=>[B(T(I),{icon:`mdi:filter-off`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):E(``,!0)]),default:y(()=>[T(c)?(n(),k(T($),{key:0,type:`selection`,fixed:``,width:30})):E(``,!0),B(T($),{width:60,align:`center`},{default:y(e=>[B(ci,{device:e.row},null,8,[`device`])]),_:1}),B(T($),{label:T(s)(`devicesModule.table.devices.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:y(e=>[e.row.description?(n(),z(N,{key:0},[j(`strong`,vi,M(e.row.name),1),B(T(q),{size:`small`,class:`block leading-4`,truncated:``},{default:y(()=>[D(M(e.row.description),1)]),_:2},1024)],64)):(n(),z(N,{key:1},[D(M(e.row.name),1)],64))]),_:1},8,[`label`]),B(T($),{label:T(s)(`devicesModule.table.devices.columns.type.title`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:170},{default:y(e=>[B(li,{device:e.row,filters:T(u),onFilterBy:h[1]||=(e,t)=>m(`type`,e,t)},null,8,[`device`,`filters`])]),_:1},8,[`label`]),B(T($),{label:T(s)(`devicesModule.table.devices.columns.state.title`),prop:`state`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:130},{default:y(e=>[B(ui,{device:e.row,filters:T(u),onFilterBy:h[2]||=(e,t)=>m(`state`,e,t)},null,8,[`device`,`filters`])]),_:1},8,[`label`]),B(T($),{label:T(s)(`devicesModule.table.devices.columns.category.title`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:140},{default:y(e=>[B(T(Ke),{content:T(s)(`devicesModule.categories.devices.${e.row.category}`),placement:`top`,"show-after":500},{default:y(()=>[B(T(Re),{type:T(u).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400! overflow-hidden`,onClick:L(t=>m(`category`,e.row.category,!T(u).categories.includes(e.row.category)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[T(u).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),B(T(q),{class:`block leading-4 max-w-[80%]!`,truncated:``},{default:y(()=>[D(M(T(s)(`devicesModule.categories.devices.${e.row.category}`)),1)]),_:2},1024)]),_:2},1032,[`type`,`onClick`])]),_:2},1032,[`content`])]),_:1},8,[`label`]),B(T($),{label:T(s)(`devicesModule.table.devices.columns.enabled.title`),prop:`enabled`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:110},{default:y(e=>[B(T(Re),{type:T(u).enabled===(e.row.enabled?`enabled`:`disabled`)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:L(t=>m(`enabled`,e.row.enabled?`enabled`:`disabled`,T(u).enabled!==(e.row.enabled?`enabled`:`disabled`)),[`stop`])},{default:y(()=>[B(T(g),{class:`el-icon--left`},{default:y(()=>[T(u).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(e.row.enabled?T(s)(`devicesModule.table.devices.columns.enabled.values.enabled`):T(s)(`devicesModule.table.devices.columns.enabled.values.disabled`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),B(T($),{label:T(s)(`devicesModule.table.devices.columns.validation.title`),prop:`validation`,width:120},{default:y(e=>[B(mi,{device:e.row},null,8,[`device`])]),_:1},8,[`label`]),B(T($),{width:190,align:`right`},{default:y(e=>[j(`div`,{onClick:h[3]||=L(()=>{},[`stop`])},[B(T(A),{size:`small`,plain:``,"data-test-id":`detail-device`,onClick:t=>o(`detail`,e.row.id)},{icon:y(()=>[B(T(I),{icon:`mdi:file-search-outline`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),B(T(A),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-device`,onClick:t=>o(`edit`,e.row.id)},{icon:y(()=>[B(T(I),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),B(T(A),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-device`,onClick:t=>o(`remove`,e.row.id)},{icon:y(()=>[B(T(I),{icon:`mdi:trash`})]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[T(Pe),a.loading]])}}),bi=C({name:`ListDevices`,__name:`list-devices`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean}},emits:[`detail`,`edit`,`remove`,`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 r=e,i=t,{t:a}=O(),{isMDDevice:o}=ut(),s=null,c=R(null),l=R(null),d=We(r,`filters`,i),f=R(r.sortBy),p=R(r.sortDir),m=R(r.paginatePage),g=R(r.paginateSize),_=R(250),v=R([]),b=F(()=>[{key:`enable`,label:a(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:a(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`},{key:`delete`,label:a(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),x=e=>{i(`detail`,e)},S=e=>{i(`edit`,e)},C=e=>{i(`remove`,e)},ee=()=>{i(`reset-filters`)},te=e=>{i(`update:paginate-size`,e)},ne=e=>{i(`update:paginate-page`,e)},re=e=>{v.value=e},ie=e=>{i(`bulk-action`,e,v.value)};return u(()=>{if(!c.value)return;let e=()=>{_.value=c.value.clientHeight-l.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(s=new ResizeObserver(e),s.observe(c.value)),e()}),h(()=>{s&&c.value&&s.unobserve(c.value)}),w(()=>f.value,e=>{i(`update:sort-by`,e)}),w(()=>p.value,e=>{i(`update:sort-dir`,e)}),w(()=>r.paginatePage,e=>{m.value=e}),w(()=>r.paginateSize,e=>{g.value=e}),w(()=>r.sortDir,e=>{p.value=e}),w(()=>r.sortBy,e=>{f.value=e}),w(()=>o.value,e=>{e||(v.value=[])}),(e,t)=>(n(),z(N,null,[B(T(ot),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:y(()=>[B(si,{filters:T(d),"onUpdate:filters":t[0]||=e=>le(d)?d.value=e:null,"filters-active":r.filtersActive,"selected-count":v.value.length,"bulk-actions":b.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:ie},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),j(`div`,{ref_key:`wrapper`,ref:c,class:`flex-grow overflow-hidden`},[B(T(ot),{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:y(()=>[B(yi,{filters:T(d),"onUpdate:filters":t[3]||=e=>le(d)?d.value=e:null,"sort-by":f.value,"onUpdate:sortBy":t[4]||=e=>f.value=e,"sort-dir":p.value,"onUpdate:sortDir":t[5]||=e=>p.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":_.value,onDetail:x,onEdit:S,onRemove:C,onResetFilters:ee,onSelectedChanges:re},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),j(`div`,{ref_key:`paginator`,ref:l,class:`flex justify-center w-full py-4`},[B(T(Et),{"current-page":m.value,"onUpdate:currentPage":t[6]||=e=>m.value=e,"page-size":g.value,"onUpdate:pageSize":t[7]||=e=>g.value=e,layout:T(o)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:te,onCurrentChange:ne},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),xi={class:`px-2`},Si={class:`px-2`},Ci={class:`px-2`},wi={class:`px-5 py-2 text-center`},Ti=ge(C({name:`ListDevicesAdjust`,__name:`list-devices-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,i=t,a=we(`list-devices-adjust`),{t:s}=O(),{options:c}=Wt(),l=[X.connected,X.disconnected,X.init,X.ready,X.running,X.sleeping,X.stopped,X.lost,X.alert,X.unknown],u=Object.values(Je),d=R([`types`,`states`,`enabled`,`categories`,`validation`]),f=We(r,`filters`,i);return(e,t)=>(n(),z(N,null,[B(T(Ie),{teleport:``},{icon:y(()=>[B(T(I),{icon:`mdi:filter`})]),title:y(()=>[D(M(T(s)(`devicesModule.headings.devices.adjustFilters`)),1)]),subtitle:y(()=>[D(M(T(s)(`devicesModule.subHeadings.devices.adjustFilters`)),1)]),_:1}),j(`div`,{class:_([[T(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[B(T(vt),{class:`flex-grow`},{default:y(()=>[B(T(_t),{modelValue:d.value,"onUpdate:modelValue":t[5]||=e=>d.value=e},{default:y(()=>[B(T(nt),{name:`types`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.types.title`)),1)]),_:1})]),default:y(()=>[B(T(ct),{modelValue:T(f).types,"onUpdate:modelValue":t[0]||=e=>T(f).types=e,class:`flex flex-col px-4`},{default:y(()=>[(n(!0),z(N,null,o(T(c),e=>(n(),k(T(ft),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),B(T(nt),{name:`states`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.states.title`)),1)]),_:1})]),default:y(()=>[B(T(ct),{modelValue:T(f).states,"onUpdate:modelValue":t[1]||=e=>T(f).states=e,class:`flex flex-col px-4`},{default:y(()=>[(n(),z(N,null,o(l,(e,t)=>B(T(ft),{key:t,label:T(s)(`devicesModule.states.${e}`),value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),B(T(nt),{name:`enabled`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.enabled.title`)),1)]),_:1})]),default:y(()=>[j(`div`,xi,[B(T(Tt),{modelValue:T(f).enabled,"onUpdate:modelValue":t[2]||=e=>T(f).enabled=e},{default:y(()=>[B(T(wt),{label:T(s)(`devicesModule.filters.devices.enabled.values.enabled`),value:`enabled`},null,8,[`label`]),B(T(wt),{label:T(s)(`devicesModule.filters.devices.enabled.values.disabled`),value:`disabled`},null,8,[`label`]),B(T(wt),{label:T(s)(`devicesModule.filters.devices.enabled.values.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),B(T(nt),{name:`categories`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.category.title`)),1)]),_:1})]),default:y(()=>[j(`div`,Si,[B(T(Q),{modelValue:T(f).categories,"onUpdate:modelValue":t[3]||=e=>T(f).categories=e,placeholder:T(s)(`devicesModule.filters.devices.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:y(()=>[(n(!0),z(N,null,o(T(u),(e,t)=>(n(),k(T(J),{key:t,label:T(s)(`devicesModule.categories.devices.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),B(T(nt),{name:`validation`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[B(T(q),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.validation.title`)),1)]),_:1})]),default:y(()=>[j(`div`,Ci,[B(T(Tt),{modelValue:T(f).validation,"onUpdate:modelValue":t[4]||=e=>T(f).validation=e},{default:y(()=>[B(T(wt),{label:T(s)(`devicesModule.validation.filter.valid`),value:`valid`},null,8,[`label`]),B(T(wt),{label:T(s)(`devicesModule.validation.filter.invalid`),value:`invalid`},null,8,[`label`]),B(T(wt),{label:T(s)(`devicesModule.validation.filter.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),j(`div`,wi,[B(T(A),{disabled:!r.filtersActive,onClick:t[6]||=e=>i(`reset-filters`)},{icon:y(()=>[B(T(I),{icon:`mdi:filter-remove`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-125871e6`]]),Ei=C({name:`SelectDevicePlugin`,__name:`select-device-plugin`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{plugins:s,options:c}=Wt(),l=R(r.modelValue),u=F(()=>s.value.find(e=>(e.elements??[]).some(e=>e.type===l.value))),d=F(()=>(u.value?.elements??[]).find(e=>e.type===l.value));return w(()=>l.value,e=>{i(`update:modelValue`,e)}),(e,t)=>(n(),z(N,null,[B(T(G),{label:T(a)(`devicesModule.fields.devices.plugin.title`),"label-position":`top`},{default:y(()=>[B(T(Q),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.devices.plugin.placeholder`),name:`plugin`,filterable:``},{default:y(()=>[(n(!0),z(N,null,o(T(c),e=>(n(),k(T(J),{key:e.value,label:e.label,value:e.value,disabled:e.disabled},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),d.value?(n(),k(T(U),{key:0,description:d.value.description??u.value?.description,closable:!1,"show-icon":``,type:`info`},null,8,[`description`])):E(``,!0)],64))}});export{Nn as C,pn as E,Un as S,kn as T,Qn as _,Wr as a,Jn as b,Sr as c,ur as d,sr as f,$n as g,er as h,ai as i,fr as l,nr as m,Ti as n,Ar as o,ir as p,bi as r,Tr as s,Ei as t,dr as u,Xn as v,jn as w,Kn as x,Yn as y};