homebridge-config-ui-x 5.4.2-beta.2 → 5.4.2-beta.21

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 (206) hide show
  1. package/CHANGELOG.md +25 -5
  2. package/dist/core/auth/auth.controller.d.ts +1 -0
  3. package/dist/core/config/config.service.d.ts +3 -1
  4. package/dist/core/config/config.service.js +3 -2
  5. package/dist/core/config/config.service.js.map +1 -1
  6. package/dist/core/config/config.startup.d.ts +1 -0
  7. package/dist/core/config/config.startup.js +13 -3
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/spa/spa-html.service.d.ts +5 -0
  10. package/dist/core/spa/spa-html.service.js +39 -0
  11. package/dist/core/spa/spa-html.service.js.map +1 -0
  12. package/dist/core/spa/spa.filter.d.ts +2 -0
  13. package/dist/core/spa/spa.filter.js +17 -2
  14. package/dist/core/spa/spa.filter.js.map +1 -1
  15. package/dist/main.js +8 -3
  16. package/dist/main.js.map +1 -1
  17. package/dist/modules/accessories/accessories.service.js +5 -1
  18. package/dist/modules/accessories/accessories.service.js.map +1 -1
  19. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
  20. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  21. package/dist/modules/plugins/plugins.service.d.ts +1 -0
  22. package/dist/modules/plugins/plugins.service.js +27 -15
  23. package/dist/modules/plugins/plugins.service.js.map +1 -1
  24. package/package.json +18 -13
  25. package/public/3rdpartylicenses.txt +91 -91
  26. package/public/assets/monaco/ThirdPartyNotices.txt +448 -0
  27. package/public/assets/monaco/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  28. package/public/assets/monaco/min/vs/base/worker/workerMain.js +31 -0
  29. package/public/assets/monaco/min/vs/basic-languages/shell/shell.js +10 -0
  30. package/public/assets/monaco/min/vs/editor/editor.main.css +8 -0
  31. package/public/assets/monaco/min/vs/editor/editor.main.js +798 -0
  32. package/public/assets/monaco/min/vs/language/json/jsonMode.js +19 -0
  33. package/public/assets/monaco/min/vs/language/json/jsonWorker.js +42 -0
  34. package/public/assets/monaco/min/vs/loader.js +11 -0
  35. package/public/chunk-24MFIAJC.js +1 -0
  36. package/public/chunk-2GPXWXUT.js +1 -0
  37. package/public/chunk-3LEW5FOJ.js +5 -0
  38. package/public/chunk-5RI5TLFW.js +1 -0
  39. package/public/{chunk-QX6BFGHZ.js → chunk-5WYRGCHF.js} +1 -1
  40. package/public/chunk-5YEBXXYW.js +1 -0
  41. package/public/{chunk-ZUTM7S4U.js → chunk-7FVJXUCR.js} +1 -1
  42. package/public/chunk-AEEAPTXE.js +1 -0
  43. package/public/chunk-AM53KSWA.js +1 -0
  44. package/public/chunk-ANRLCCQG.js +1 -0
  45. package/public/chunk-BH4JDZF4.js +1 -0
  46. package/public/chunk-BHMKIJVI.js +1 -0
  47. package/public/{chunk-IWFKJHPR.js → chunk-BQMDK4YS.js} +2 -2
  48. package/public/{chunk-3POLSI6J.js → chunk-C64P3A75.js} +1 -1
  49. package/public/{chunk-WCOLHYTR.js → chunk-CCHRGHTT.js} +1 -1
  50. package/public/chunk-CDS2MSIW.js +1 -0
  51. package/public/{chunk-J6CJ26QN.js → chunk-CIVLN3HQ.js} +1 -1
  52. package/public/{chunk-CMOVUX6R.js → chunk-CTYK4ZDT.js} +1 -1
  53. package/public/chunk-DOOSRLOB.js +1 -0
  54. package/public/{chunk-OYULLXTP.js → chunk-E6AE64XW.js} +1 -1
  55. package/public/chunk-EKP4IO3L.js +4 -0
  56. package/public/{chunk-H45DK7IX.js → chunk-EWO5Q2EI.js} +2 -2
  57. package/public/{chunk-FXJWZ2UF.js → chunk-F3ULAZ4E.js} +1 -1
  58. package/public/chunk-F6VJ3EFY.js +1 -0
  59. package/public/chunk-FB6OF4XR.js +1 -0
  60. package/public/chunk-G5PK6IZW.js +2 -0
  61. package/public/chunk-GFPRNM6N.js +1 -0
  62. package/public/chunk-GTGO4A2X.js +1 -0
  63. package/public/chunk-IJXZNORX.js +1 -0
  64. package/public/chunk-KCX2WQ7I.js +20 -0
  65. package/public/{chunk-D7VCPH6W.js → chunk-KNZTEJFP.js} +1 -1
  66. package/public/{chunk-H5WTK5UT.js → chunk-KXMDG63G.js} +1 -1
  67. package/public/chunk-L432DR6J.js +1 -0
  68. package/public/chunk-LNGNBQBM.js +1 -0
  69. package/public/{chunk-2C3X2ESN.js → chunk-M7Q6VBJE.js} +1 -1
  70. package/public/chunk-MCMJ5GFL.js +1 -0
  71. package/public/chunk-MDV2S56W.js +1 -0
  72. package/public/chunk-MIOXSBCB.js +1 -0
  73. package/public/{chunk-TWIBESLE.js → chunk-MKVX26LQ.js} +1 -1
  74. package/public/chunk-MODJOHCZ.js +1 -0
  75. package/public/chunk-MVMZJM7B.js +9 -0
  76. package/public/chunk-NMHMMKMV.js +1 -0
  77. package/public/chunk-NVX4KPO6.js +1 -0
  78. package/public/chunk-OLGI5A27.js +1 -0
  79. package/public/chunk-P6VGWWMV.js +1 -0
  80. package/public/chunk-PCCN3UQI.js +49 -0
  81. package/public/chunk-POHAQOWN.js +1 -0
  82. package/public/chunk-PVFUJ4PR.js +4 -0
  83. package/public/chunk-QZJJX4BS.js +1 -0
  84. package/public/{chunk-WTDK2HE6.js → chunk-RH474C2P.js} +1 -1
  85. package/public/chunk-RN2CW4V7.js +4 -0
  86. package/public/chunk-SEYIRMYP.js +40 -0
  87. package/public/{chunk-6E4QOLAB.js → chunk-SJP6OUG5.js} +1 -1
  88. package/public/chunk-TXNEVPOK.js +14 -0
  89. package/public/chunk-UFFCOH7L.js +1 -0
  90. package/public/chunk-UO7UMJN3.js +1 -0
  91. package/public/{chunk-5E4D6S2D.js → chunk-UUM2722D.js} +1 -1
  92. package/public/chunk-VNH6VAIL.js +1 -0
  93. package/public/chunk-VSICB3TW.js +1 -0
  94. package/public/chunk-W5UULTHE.js +1 -0
  95. package/public/chunk-XBQ6GTWH.js +3 -0
  96. package/public/chunk-XHOBTVZN.js +1 -0
  97. package/public/chunk-XSTH4HOH.js +1 -0
  98. package/public/chunk-YBETHBKT.js +1 -0
  99. package/public/chunk-YGABEALD.js +1 -0
  100. package/public/chunk-YWY6NRRB.js +1 -0
  101. package/public/chunk-ZUW7E67I.js +1 -0
  102. package/public/index.html +2 -2
  103. package/public/main-CVBTY5OH.js +1 -0
  104. package/public/polyfills-5KWHJ7II.js +2 -0
  105. package/public/{styles-LKRXKJ7O.css → styles-AUT3PDLG.css} +1 -1
  106. package/public/assets/hap-icons/light-bulb.svg +0 -25
  107. package/public/assets/hap-icons/outlet.svg +0 -25
  108. package/public/assets/hap-icons/switch.svg +0 -25
  109. package/public/assets/hap-icons/unknown.svg +0 -25
  110. package/public/assets/monaco-0.21.3/README.md +0 -96
  111. package/public/assets/monaco-0.21.3/ThirdPartyNotices.txt +0 -283
  112. package/public/assets/monaco-0.21.3/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  113. package/public/assets/monaco-0.21.3/min/vs/base/worker/workerMain.js +0 -160
  114. package/public/assets/monaco-0.21.3/min/vs/basic-languages/shell/shell.js +0 -7
  115. package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.css +0 -6
  116. package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.js +0 -2368
  117. package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.nls.js +0 -39
  118. package/public/assets/monaco-0.21.3/min/vs/language/json/jsonMode.js +0 -7
  119. package/public/assets/monaco-0.21.3/min/vs/language/json/jsonWorker.js +0 -7
  120. package/public/assets/monaco-0.21.3/min/vs/loader.js +0 -38
  121. package/public/assets/monaco-0.21.3/package.json +0 -38
  122. package/public/assets/service-icons/air-purifier.svg +0 -50
  123. package/public/assets/service-icons/air-quality-sensor.svg +0 -30
  124. package/public/assets/service-icons/carbon-dioxide-sensor.svg +0 -53
  125. package/public/assets/service-icons/carbon-monoxide-sensor.svg +0 -53
  126. package/public/assets/service-icons/contact-sensor.svg +0 -45
  127. package/public/assets/service-icons/door.svg +0 -49
  128. package/public/assets/service-icons/doorbell.svg +0 -7
  129. package/public/assets/service-icons/fan.svg +0 -15
  130. package/public/assets/service-icons/filter-maintenance.svg +0 -54
  131. package/public/assets/service-icons/garage-door.svg +0 -120
  132. package/public/assets/service-icons/irrigation-system.svg +0 -34
  133. package/public/assets/service-icons/leak-sensor.svg +0 -42
  134. package/public/assets/service-icons/light-sensor.svg +0 -34
  135. package/public/assets/service-icons/lock-mechanism.svg +0 -39
  136. package/public/assets/service-icons/microphone.svg +0 -12
  137. package/public/assets/service-icons/motion-sensor.svg +0 -84
  138. package/public/assets/service-icons/occupancy-sensor.svg +0 -49
  139. package/public/assets/service-icons/robot-vacuum.svg +0 -76
  140. package/public/assets/service-icons/security-system.svg +0 -19
  141. package/public/assets/service-icons/smoke-sensor.svg +0 -38
  142. package/public/assets/service-icons/speaker.svg +0 -28
  143. package/public/assets/service-icons/stateless-programmable-switch.svg +0 -18
  144. package/public/assets/service-icons/television.svg +0 -17
  145. package/public/assets/service-icons/valve-faucet.svg +0 -22
  146. package/public/assets/service-icons/valve-generic.svg +0 -25
  147. package/public/assets/service-icons/valve-irrigation.svg +0 -34
  148. package/public/assets/service-icons/valve-shower-head.svg +0 -32
  149. package/public/assets/service-icons/washing-machine.svg +0 -34
  150. package/public/assets/service-icons/window-covering.svg +0 -44
  151. package/public/assets/service-icons/window.svg +0 -71
  152. package/public/chunk-2H6KO42L.js +0 -1
  153. package/public/chunk-3M6IUC74.js +0 -1
  154. package/public/chunk-5PN3M3TS.js +0 -1
  155. package/public/chunk-5VJLO72Y.js +0 -1
  156. package/public/chunk-6CQ7JJUY.js +0 -1
  157. package/public/chunk-7EQFLCW4.js +0 -1
  158. package/public/chunk-7ZUAPFH6.js +0 -1
  159. package/public/chunk-A5YMO7NI.js +0 -1
  160. package/public/chunk-BEPC7IPQ.js +0 -23
  161. package/public/chunk-BG7RRQGG.js +0 -1
  162. package/public/chunk-BO3HTTPA.js +0 -1
  163. package/public/chunk-CN4SGKOR.js +0 -1
  164. package/public/chunk-DFFTJVRY.js +0 -1
  165. package/public/chunk-FCJZJIQL.js +0 -1
  166. package/public/chunk-FG5GS755.js +0 -1
  167. package/public/chunk-FMHXNJHJ.js +0 -1
  168. package/public/chunk-FSWVJTPN.js +0 -1
  169. package/public/chunk-FUTRU3DJ.js +0 -4
  170. package/public/chunk-FVKMBZOU.js +0 -9
  171. package/public/chunk-G3JSRG2Q.js +0 -2
  172. package/public/chunk-GHMFFLJG.js +0 -1
  173. package/public/chunk-HT7KLIKB.js +0 -1
  174. package/public/chunk-HWAWBYVQ.js +0 -1
  175. package/public/chunk-IOKYXV5M.js +0 -4
  176. package/public/chunk-JFPT3QXX.js +0 -30
  177. package/public/chunk-JL4UQXPL.js +0 -1
  178. package/public/chunk-KZKL7DGI.js +0 -1
  179. package/public/chunk-LDCR6K2U.js +0 -12
  180. package/public/chunk-LXAXEGMX.js +0 -1
  181. package/public/chunk-MHTCWHP3.js +0 -1
  182. package/public/chunk-NDBMU5RD.js +0 -14
  183. package/public/chunk-NHNGZ4PI.js +0 -1
  184. package/public/chunk-NORBG6QU.js +0 -1
  185. package/public/chunk-OA7Y3E5A.js +0 -2
  186. package/public/chunk-PA5E2G2J.js +0 -4
  187. package/public/chunk-Q3EG5UQP.js +0 -1
  188. package/public/chunk-QE27FJRU.js +0 -1
  189. package/public/chunk-QVCO7S7N.js +0 -20
  190. package/public/chunk-R3KUMAWN.js +0 -1
  191. package/public/chunk-RHZTPEXE.js +0 -1
  192. package/public/chunk-RZXCKXEZ.js +0 -1
  193. package/public/chunk-SL5FI37R.js +0 -1
  194. package/public/chunk-SULJOYSB.js +0 -3
  195. package/public/chunk-TR3AIWBS.js +0 -1
  196. package/public/chunk-V6JVOQNN.js +0 -1
  197. package/public/chunk-WX32WZFA.js +0 -1
  198. package/public/chunk-WYMH5QZG.js +0 -1
  199. package/public/chunk-X5YIKTO6.js +0 -1
  200. package/public/chunk-Z2T4OZ7I.js +0 -1
  201. package/public/chunk-ZAIVLZNZ.js +0 -1
  202. package/public/chunk-ZKQAULZM.js +0 -1
  203. package/public/chunk-ZLYGOSRJ.js +0 -1
  204. package/public/main-ILQAVUPM.js +0 -1
  205. package/public/polyfills-WE4HA5DL.js +0 -2
  206. /package/public/assets/{monaco-0.21.3 → monaco}/LICENSE +0 -0
@@ -1,12 +0,0 @@
1
- import{a as qi,b as Pe,c as Ki}from"./chunk-BG7RRQGG.js";import{m as Y,n as J}from"./chunk-IWFKJHPR.js";import{a as $i,e as ne,l as oe,z as Z}from"./chunk-7EQFLCW4.js";import{b as De}from"./chunk-HT7KLIKB.js";import{b as w}from"./chunk-KZKL7DGI.js";import{a as zi,e as xt}from"./chunk-OA7Y3E5A.js";import{$b as gt,Bc as Ct,Ca as $e,Cc as ue,Dc as W,Ec as P,Fa as qe,Fc as ye,G as yi,Gc as ht,H as Si,Hb as M,Hc as Ri,Ib as _,Ic as ji,Ja as wi,Jb as x,Jc as p,K as bi,Kc as d,Lb as Ai,Lc as ae,M as te,Mb as Bi,Nb as Fi,Ob as m,Pb as r,Q as Ti,Qb as s,Rb as v,Sb as Ke,Sc as Kt,Tb as Xe,Ub as Qe,Vb as Hi,Wb as Oi,X as Mi,Xa as $t,_b as H,ab as a,ba as ki,bc as C,db as Ei,dc as u,dd as Wi,eb as mt,fa as Vi,fb as ut,ga as dt,gb as xe,gd as Ui,ha as zt,ib as Di,ka as Fe,kd as D,la as B,mb as T,n as ee,nb as qt,nc as Li,o as Ci,ob as vt,oc as Ni,pb as Pi,qc as c,qd as Ee,r as hi,ra as k,rc as b,s as _i,sa as V,sc as h,sd as Te,tc as R,ub as we,uc as He,vb as Ii,vc as Gi,wc as ft,x as xi,xc as z,yc as $,yd as _t,zc as q,zd as et}from"./chunk-IOKYXV5M.js";var Ge=function(){function e(){}return e}();var yt=function(){function e(n){this._ranScripts={},this._renderer=n.createRenderer(null,null)}return e.prototype.insertEl=function(n,t,o,i,l){if(i&&!l){var y=n._prevSVG&&n._prevSVG.parentNode;y&&this._renderer.removeChild(y,n._prevSVG),t.innerHTML=""}l?this._renderer.insertBefore(t,o,t.firstChild):this._renderer.appendChild(t,o),o.nodeName==="svg"&&(n._prevSVG=o)},e.prototype.evalScripts=function(n,t,o){for(var i=n.querySelectorAll("script"),l=[],y=0;y<i.length;y++){var j=i[y].getAttribute("type");if(!j||j==="application/ecmascript"||j==="application/javascript"){var K=i[y].innerText||i[y].textContent;l.push(K),this._renderer.removeChild(i[y].parentNode,i[y])}}if(l.length>0&&(o==="always"||o==="once"&&!this._ranScripts[t])){for(var y=0;y<l.length;y++)new Function(l[y])(window);this._ranScripts[t]=!0}},e.\u0275fac=function(t){return new(t||e)(Fe(mt))},e.\u0275prov=dt({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();var tt=function(){function e(n,t){this._inlineSVGService=n,this._el=t}return e.prototype.ngAfterViewInit=function(){this._updateContent()},e.prototype.ngOnChanges=function(n){n.content&&this._updateContent()},e.prototype._updateContent=function(){this._inlineSVGService.insertEl(this.context,this._el.nativeElement,this.content,this.replaceContents,this.prepend)},e.\u0275fac=function(t){return new(t||e)(xe(yt),xe(qe))},e.\u0275cmp=T({type:e,selectors:[["inline-svg"]],inputs:{context:"context",content:"content",replaceContents:"replaceContents",prepend:"prepend"},standalone:!0,features:[$e],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0}),e}();var it=function(){function e(n,t,o,i,l,y){this._appBase=n,this._location=t,this._config=o,this._http=o&&!o.bypassHttpClientInterceptorChain?i:new xt(l),this._renderer=y.createRenderer(null,null),this.setBaseUrl(),e._cache||(e._cache=new Map),e._inProgressReqs||(e._inProgressReqs=new Map)}return e.prototype.getSVG=function(n,t,o){var i=this;o===void 0&&(o=!0);var l=(t?this.getAbsoluteUrl(n):n).replace(/#.+$/,"");if(o&&e._cache.has(l))return hi(this._cloneSVG(e._cache.get(l)));if(e._inProgressReqs.has(l))return e._inProgressReqs.get(l);var y=this._http.get(l,{responseType:"text"}).pipe(ki(function(){e._inProgressReqs.delete(l)}),bi(function(j){return e._inProgressReqs.delete(l),_i(j.message)}),Mi(),xi(function(j){var K=i._svgElementFromString(j);return e._cache.set(l,K),i._cloneSVG(K)}));return e._inProgressReqs.set(l,y),y},e.prototype.setBaseUrl=function(){this._config?this._baseUrl=this._config.baseUrl:this._appBase!==null?this._baseUrl=this._appBase:this._location!==null&&(this._baseUrl=this._location.getBaseHrefFromDOM())},e.prototype.getAbsoluteUrl=function(n){this._baseUrl&&!/^https?:\/\//i.test(n)&&(n=this._baseUrl+n,n.indexOf("//")===0&&(n=n.substring(1)));var t=this._renderer.createElement("BASE");return t.href=n,t.href},e.prototype._svgElementFromString=function(n){var t=this._renderer.createElement("DIV");t.innerHTML=n;var o=t.querySelector("svg");if(!o)throw new Error("No SVG found in loaded contents");return o},e.prototype._cloneSVG=function(n){return n.cloneNode(!0)},e.\u0275fac=function(t){return new(t||e)(Fe(Ui,8),Fe(Wi,8),Fe(Ge,8),Fe(xt),Fe(zi),Fe(mt))},e.\u0275prov=dt({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();function Yi(e){return e.charAt(0)==="#"||e.indexOf(".svg#")>-1}function Ji(){return typeof SVGRect<"u"}function Xi(e,n,t){var o=n.querySelector('[id="'.concat(t,'"]'));if(!o)throw new Error('Symbol "'.concat(t,'" not found'));var i=e.createElement("svg","svg");e.appendChild(i,o);var l=e.createElement("use","svg");return e.setAttribute(l,"href","#".concat(t),"xlink"),e.appendChild(i,l),i}function Qt(e,n){for(var t=0;t<n.length;t++){var o=e.getAttribute(n[t]);o&&e.removeAttribute(n[t])}for(var i=e.getElementsByTagName("*"),t=0;t<i.length;t++)Qt(i[t],n)}function en(e,n){for(var t in n)e.setAttribute(t,n[t])}var O=function(){function e(n,t,o,i,l,y,j,K){this._el=n,this._viewContainerRef=t,this._resolver=o,this._svgCache=i,this._renderer=l,this._inlineSVGService=y,this._config=j,this.platformId=K,this.resolveSVGUrl=!0,this.replaceContents=!0,this.prepend=!1,this.injectComponent=!1,this.cacheSVG=!0,this.forceEvalStyles=!1,this.evalScripts="always",this.onSVGInserted=new we,this.onSVGFailed=new we,this._supportsSVG=Ji(),!et(this.platformId)&&!this._supportsSVG&&this._fail("Embed SVG are not supported by this browser")}return e.prototype.ngOnInit=function(){!this._isValidPlatform()||this._isSSRDisabled()||this._insertSVG()},e.prototype.ngOnChanges=function(n){if(!(!this._isValidPlatform()||this._isSSRDisabled())){var t=!!n.setSVGAttributes;(n.inlineSVG||t)&&this._insertSVG(t)}},e.prototype.ngOnDestroy=function(){this._subscription&&this._subscription.unsubscribe()},e.prototype._insertSVG=function(n){var t=this;if(n===void 0&&(n=!1),!(!et(this.platformId)&&!this._supportsSVG)){if(!this.inlineSVG){this._fail("No URL passed to [inlineSVG]");return}!n&&this.inlineSVG===this._prevUrl||(this._prevUrl=this.inlineSVG,this._subscription=this._svgCache.getSVG(this.inlineSVG,this.resolveSVGUrl,this.cacheSVG).subscribe(function(o){if(Yi(t.inlineSVG)){var i=t.inlineSVG.split("#")[1];o=Xi(t._renderer,o,i)}t._processSvg(o)},function(o){t._fail(o)}))}},e.prototype._processSvg=function(n){if(n){if(this.removeSVGAttributes&&_t(this.platformId)&&Qt(n,this.removeSVGAttributes),this.setSVGAttributes&&en(n,this.setSVGAttributes),this.onSVGLoaded&&(n=this.onSVGLoaded(n,this._el.nativeElement)),this._insertEl(n),_t(this.platformId)&&this._inlineSVGService.evalScripts(n,this.inlineSVG,this.evalScripts),this.forceEvalStyles){var t=n.querySelectorAll("style");Array.from(t).forEach(function(o){return o.textContent+=""})}this.onSVGInserted.emit(n)}},e.prototype._insertEl=function(n){if(this.injectComponent){if(!this._svgComp){var t=this._resolver.resolveComponentFactory(tt);this._svgComp=this._viewContainerRef.createComponent(t)}this._svgComp.instance.context=this,this._svgComp.instance.replaceContents=this.replaceContents,this._svgComp.instance.prepend=this.prepend,this._svgComp.instance.content=n,this._renderer.appendChild(this._el.nativeElement,this._svgComp.injector.get(tt)._el.nativeElement)}else this._inlineSVGService.insertEl(this,this._el.nativeElement,n,this.replaceContents,this.prepend)},e.prototype._fail=function(n){if(this.onSVGFailed.emit(n),this.fallbackImgUrl){var t=this._renderer.createElement("IMG");this._renderer.setAttribute(t,"src",this.fallbackImgUrl),this._insertEl(t)}else this.fallbackSVG&&this.fallbackSVG!==this.inlineSVG&&(this.inlineSVG=this.fallbackSVG,this._insertSVG())},e.prototype._isValidPlatform=function(){return et(this.platformId)||_t(this.platformId)},e.prototype._isSSRDisabled=function(){return et(this.platformId)&&this._config&&this._config.clientOnly},e.\u0275fac=function(t){return new(t||e)(xe(qe),xe(Di),xe(Ei),xe(it),xe(ut),xe(yt),xe(Ge,8),xe(wi))},e.\u0275dir=vt({type:e,selectors:[["","inlineSVG",""]],inputs:{inlineSVG:"inlineSVG",resolveSVGUrl:"resolveSVGUrl",replaceContents:"replaceContents",prepend:"prepend",injectComponent:"injectComponent",cacheSVG:"cacheSVG",setSVGAttributes:"setSVGAttributes",removeSVGAttributes:"removeSVGAttributes",forceEvalStyles:"forceEvalStyles",evalScripts:"evalScripts",fallbackImgUrl:"fallbackImgUrl",fallbackSVG:"fallbackSVG",onSVGLoaded:"onSVGLoaded"},outputs:{onSVGInserted:"onSVGInserted",onSVGFailed:"onSVGFailed"},standalone:!0,features:[Ct([it]),$e]}),e}();var Zo=function(){function e(){}return e.forRoot=function(n){return{ngModule:e,providers:[{provide:Ge,useValue:n}]}},e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=zt({imports:[tt]}),e}();var Re=function(e){return e.Range="range",e.Steps="steps",e.Positions="positions",e.Count="count",e.Values="values",e}(Re||{}),Me=function(e){return e[e.None=-1]="None",e[e.NoValue=0]="NoValue",e[e.LargeValue=1]="LargeValue",e[e.SmallValue=2]="SmallValue",e}(Me||{});function Yo(e){return bt(e)&&typeof e.from=="function"}function bt(e){return typeof e=="object"&&typeof e.to=="function"}function tn(e){e.parentElement.removeChild(e)}function Zt(e){return e!=null}function nn(e){e.preventDefault()}function Jo(e){return e.filter(function(n){return this[n]?!1:this[n]=!0},{})}function Xo(e,n){return Math.round(e/n)*n}function er(e,n){var t=e.getBoundingClientRect(),o=e.ownerDocument,i=o.documentElement,l=sn(o);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(l.x=0),n?t.top+l.y-i.clientTop:t.left+l.x-i.clientLeft}function Ve(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}function on(e,n,t){t>0&&(Se(e,n),setTimeout(function(){St(e,n)},t))}function rn(e){return Math.max(Math.min(e,100),0)}function Tt(e){return Array.isArray(e)?e:[e]}function tr(e){e=String(e);var n=e.split(".");return n.length>1?n[1].length:0}function Se(e,n){e.classList&&!/\s/.test(n)?e.classList.add(n):e.className+=" "+n}function St(e,n){e.classList&&!/\s/.test(n)?e.classList.remove(n):e.className=e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")}function ir(e,n){return e.classList?e.classList.contains(n):new RegExp("\\b"+n+"\\b").test(e.className)}function sn(e){var n=window.pageXOffset!==void 0,t=(e.compatMode||"")==="CSS1Compat",o=n?window.pageXOffset:t?e.documentElement.scrollLeft:e.body.scrollLeft,i=n?window.pageYOffset:t?e.documentElement.scrollTop:e.body.scrollTop;return{x:o,y:i}}function nr(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function or(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,n)}catch{}return e}function rr(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function Jt(e,n){return 100/(n-e)}function Yt(e,n,t){return n*100/(e[t+1]-e[t])}function ar(e,n){return Yt(e,e[0]<0?n+Math.abs(e[0]):n-e[0],0)}function sr(e,n){return n*(e[1]-e[0])/100+e[0]}function nt(e,n){for(var t=1;e>=n[t];)t+=1;return t}function lr(e,n,t){if(t>=e.slice(-1)[0])return 100;var o=nt(t,e),i=e[o-1],l=e[o],y=n[o-1],j=n[o];return y+ar([i,l],t)/Jt(y,j)}function cr(e,n,t){if(t>=100)return e.slice(-1)[0];var o=nt(t,n),i=e[o-1],l=e[o],y=n[o-1],j=n[o];return sr([i,l],(t-y)*Jt(y,j))}function pr(e,n,t,o){if(o===100)return o;var i=nt(o,e),l=e[i-1],y=e[i];return t?o-l>(y-l)/2?y:l:n[i-1]?e[i-1]+Xo(o-e[i-1],n[i-1]):o}var dr=function(){function e(n,t,o){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[o||!1],this.xNumSteps=[!1],this.snap=t;var i,l=[];for(Object.keys(n).forEach(function(y){l.push([Tt(n[y]),y])}),l.sort(function(y,j){return y[0][0]-j[0][0]}),i=0;i<l.length;i++)this.handleEntryPoint(l[i][1],l[i][0]);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)this.handleStepPoint(i,this.xNumSteps[i])}return e.prototype.getDistance=function(n){for(var t=[],o=0;o<this.xNumSteps.length-1;o++)t[o]=Yt(this.xVal,n,o);return t},e.prototype.getAbsoluteDistance=function(n,t,o){var i=0;if(n<this.xPct[this.xPct.length-1])for(;n>this.xPct[i+1];)i++;else n===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);!o&&n===this.xPct[i+1]&&i++,t===null&&(t=[]);var l,y=1,j=t[i],K=0,N=0,Q=0,ce=0;for(o?l=(n-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):l=(this.xPct[i+1]-n)/(this.xPct[i+1]-this.xPct[i]);j>0;)K=this.xPct[i+1+ce]-this.xPct[i+ce],t[i+ce]*y+100-l*100>100?(N=K*l,y=(j-100*l)/t[i+ce],l=1):(N=t[i+ce]*K/100*y,y=0),o?(Q=Q-N,this.xPct.length+ce>=1&&ce--):(Q=Q+N,this.xPct.length-ce>=1&&ce++),j=t[i+ce]*y;return n+Q},e.prototype.toStepping=function(n){return n=lr(this.xVal,this.xPct,n),n},e.prototype.fromStepping=function(n){return cr(this.xVal,this.xPct,n)},e.prototype.getStep=function(n){return n=pr(this.xPct,this.xSteps,this.snap,n),n},e.prototype.getDefaultStep=function(n,t,o){var i=nt(n,this.xPct);return(n===100||t&&n===this.xPct[i-1])&&(i=Math.max(i-1,1)),(this.xVal[i]-this.xVal[i-1])/o},e.prototype.getNearbySteps=function(n){var t=nt(n,this.xPct);return{stepBefore:{startValue:this.xVal[t-2],step:this.xNumSteps[t-2],highestStep:this.xHighestCompleteStep[t-2]},thisStep:{startValue:this.xVal[t-1],step:this.xNumSteps[t-1],highestStep:this.xHighestCompleteStep[t-1]},stepAfter:{startValue:this.xVal[t],step:this.xNumSteps[t],highestStep:this.xHighestCompleteStep[t]}}},e.prototype.countStepDecimals=function(){var n=this.xNumSteps.map(tr);return Math.max.apply(null,n)},e.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},e.prototype.convert=function(n){return this.getStep(this.toStepping(n))},e.prototype.handleEntryPoint=function(n,t){var o;if(n==="min"?o=0:n==="max"?o=100:o=parseFloat(n),!Ve(o)||!Ve(t[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(o),this.xVal.push(t[0]);var i=Number(t[1]);o?this.xSteps.push(isNaN(i)?!1:i):isNaN(i)||(this.xSteps[0]=i),this.xHighestCompleteStep.push(0)},e.prototype.handleStepPoint=function(n,t){if(t){if(this.xVal[n]===this.xVal[n+1]){this.xSteps[n]=this.xHighestCompleteStep[n]=this.xVal[n];return}this.xSteps[n]=Yt([this.xVal[n],this.xVal[n+1]],t,0)/Jt(this.xPct[n],this.xPct[n+1]);var o=(this.xVal[n+1]-this.xVal[n])/this.xNumSteps[n],i=Math.ceil(Number(o.toFixed(3))-1),l=this.xVal[n]+this.xNumSteps[n]*i;this.xHighestCompleteStep[n]=l}},e}(),an={to:function(e){return e===void 0?"":e.toFixed(2)},from:Number},mr={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},Oe={tooltips:".__tooltips",aria:".__aria"};function ur(e,n){if(!Ve(n))throw new Error("noUiSlider: 'step' is not numeric.");e.singleStep=n}function vr(e,n){if(!Ve(n))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");e.keyboardPageMultiplier=n}function gr(e,n){if(!Ve(n))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");e.keyboardMultiplier=n}function fr(e,n){if(!Ve(n))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");e.keyboardDefaultStep=n}function Cr(e,n){if(typeof n!="object"||Array.isArray(n))throw new Error("noUiSlider: 'range' is not an object.");if(n.min===void 0||n.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");e.spectrum=new dr(n,e.snap||!1,e.singleStep)}function hr(e,n){if(n=Tt(n),!Array.isArray(n)||!n.length)throw new Error("noUiSlider: 'start' option is incorrect.");e.handles=n.length,e.start=n}function _r(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");e.snap=n}function xr(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");e.animate=n}function yr(e,n){if(typeof n!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");e.animationDuration=n}function ln(e,n){var t=[!1],o;if(n==="lower"?n=[!0,!1]:n==="upper"&&(n=[!1,!0]),n===!0||n===!1){for(o=1;o<e.handles;o++)t.push(n);t.push(!1)}else{if(!Array.isArray(n)||!n.length||n.length!==e.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");t=n}e.connect=t}function Sr(e,n){switch(n){case"horizontal":e.ort=0;break;case"vertical":e.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function cn(e,n){if(!Ve(n))throw new Error("noUiSlider: 'margin' option must be numeric.");n!==0&&(e.margin=e.spectrum.getDistance(n))}function br(e,n){if(!Ve(n))throw new Error("noUiSlider: 'limit' option must be numeric.");if(e.limit=e.spectrum.getDistance(n),!e.limit||e.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function Tr(e,n){var t;if(!Ve(n)&&!Array.isArray(n))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(n)&&!(n.length===2||Ve(n[0])||Ve(n[1])))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(n!==0){for(Array.isArray(n)||(n=[n,n]),e.padding=[e.spectrum.getDistance(n[0]),e.spectrum.getDistance(n[1])],t=0;t<e.spectrum.xNumSteps.length-1;t++)if(e.padding[0][t]<0||e.padding[1][t]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var o=n[0]+n[1],i=e.spectrum.xVal[0],l=e.spectrum.xVal[e.spectrum.xVal.length-1];if(o/(l-i)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function Mr(e,n){switch(n){case"ltr":e.dir=0;break;case"rtl":e.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function kr(e,n){if(typeof n!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var t=n.indexOf("tap")>=0,o=n.indexOf("drag")>=0,i=n.indexOf("fixed")>=0,l=n.indexOf("snap")>=0,y=n.indexOf("hover")>=0,j=n.indexOf("unconstrained")>=0,K=n.indexOf("invert-connects")>=0,N=n.indexOf("drag-all")>=0,Q=n.indexOf("smooth-steps")>=0;if(i){if(e.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");cn(e,e.start[1]-e.start[0])}if(K&&e.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(j&&(e.margin||e.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");e.events={tap:t||l,drag:o,dragAll:N,smoothSteps:Q,fixed:i,snap:l,hover:y,unconstrained:j,invertConnects:K}}function Vr(e,n){if(n!==!1)if(n===!0||bt(n)){e.tooltips=[];for(var t=0;t<e.handles;t++)e.tooltips.push(n)}else{if(n=Tt(n),n.length!==e.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");n.forEach(function(o){if(typeof o!="boolean"&&!bt(o))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),e.tooltips=n}}function wr(e,n){if(n.length!==e.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");e.handleAttributes=n}function Er(e,n){if(!bt(n))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");e.ariaFormat=n}function Dr(e,n){if(!Yo(n))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");e.format=n}function Pr(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");e.keyboardSupport=n}function Ir(e,n){e.documentElement=n}function Ar(e,n){if(typeof n!="string"&&n!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");e.cssPrefix=n}function Br(e,n){if(typeof n!="object")throw new Error("noUiSlider: 'cssClasses' must be an object.");typeof e.cssPrefix=="string"?(e.cssClasses={},Object.keys(n).forEach(function(t){e.cssClasses[t]=e.cssPrefix+n[t]})):e.cssClasses=n}function pn(e){var n={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:an,format:an},t={step:{r:!1,t:ur},keyboardPageMultiplier:{r:!1,t:vr},keyboardMultiplier:{r:!1,t:gr},keyboardDefaultStep:{r:!1,t:fr},start:{r:!0,t:hr},connect:{r:!0,t:ln},direction:{r:!0,t:Mr},snap:{r:!1,t:_r},animate:{r:!1,t:xr},animationDuration:{r:!1,t:yr},range:{r:!0,t:Cr},orientation:{r:!1,t:Sr},margin:{r:!1,t:cn},limit:{r:!1,t:br},padding:{r:!1,t:Tr},behaviour:{r:!0,t:kr},ariaFormat:{r:!1,t:Er},format:{r:!1,t:Dr},tooltips:{r:!1,t:Vr},keyboardSupport:{r:!0,t:Pr},documentElement:{r:!1,t:Ir},cssPrefix:{r:!0,t:Ar},cssClasses:{r:!0,t:Br},handleAttributes:{r:!1,t:wr}},o={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:mr,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(t).forEach(function(K){if(!Zt(e[K])&&o[K]===void 0){if(t[K].r)throw new Error("noUiSlider: '"+K+"' is required.");return}t[K].t(n,Zt(e[K])?e[K]:o[K])}),n.pips=e.pips;var i=document.createElement("div"),l=i.style.msTransform!==void 0,y=i.style.transform!==void 0;n.transformRule=y?"transform":l?"msTransform":"webkitTransform";var j=[["left","top"],["right","bottom"]];return n.style=j[n.dir][n.ort],n}function Fr(e,n,t){var o=nr(),i=rr(),l=i&&or(),y=e,j,K,N,Q,ce,he,X=n.spectrum,Ie=[],pe=[],be=[],Dt=0,Ae={},Ze=!1,ze=e.ownerDocument,at=n.documentElement||ze.documentElement,st=ze.body,yo=ze.dir==="rtl"||n.ort===1?0:100;function Be(g,f){var S=ze.createElement("div");return f&&Se(S,f),g.appendChild(S),S}function So(g,f){var S=Be(g,n.cssClasses.origin),E=Be(S,n.cssClasses.handle);if(Be(E,n.cssClasses.touchArea),E.setAttribute("data-handle",String(f)),n.keyboardSupport&&(E.setAttribute("tabindex","0"),E.addEventListener("keydown",function(A){return Lo(A,f)})),n.handleAttributes!==void 0){var I=n.handleAttributes[f];Object.keys(I).forEach(function(A){E.setAttribute(A,I[A])})}return E.setAttribute("role","slider"),E.setAttribute("aria-orientation",n.ort?"vertical":"horizontal"),f===0?Se(E,n.cssClasses.handleLower):f===n.handles-1&&Se(E,n.cssClasses.handleUpper),S.handle=E,S}function Pt(g,f){return f?Be(g,n.cssClasses.connect):!1}function bo(g,f){K=Be(f,n.cssClasses.connects),N=[],Q=[],Q.push(Pt(K,g[0]));for(var S=0;S<n.handles;S++)N.push(So(f,S)),be[S]=S,Q.push(Pt(K,g[S+1]))}function To(g){Se(g,n.cssClasses.target),n.dir===0?Se(g,n.cssClasses.ltr):Se(g,n.cssClasses.rtl),n.ort===0?Se(g,n.cssClasses.horizontal):Se(g,n.cssClasses.vertical);var f=getComputedStyle(g).direction;return f==="rtl"?Se(g,n.cssClasses.textDirectionRtl):Se(g,n.cssClasses.textDirectionLtr),Be(g,n.cssClasses.base)}function Mo(g,f){return!n.tooltips||!n.tooltips[f]?!1:Be(g.firstChild,n.cssClasses.tooltip)}function ii(){return y.hasAttribute("disabled")}function It(g){var f=N[g];return f.hasAttribute("disabled")}function ko(g){g!=null?(N[g].setAttribute("disabled",""),N[g].handle.removeAttribute("tabindex")):(y.setAttribute("disabled",""),N.forEach(function(f){f.handle.removeAttribute("tabindex")}))}function Vo(g){g!=null?(N[g].removeAttribute("disabled"),N[g].handle.setAttribute("tabindex","0")):(y.removeAttribute("disabled"),N.forEach(function(f){f.removeAttribute("disabled"),f.handle.setAttribute("tabindex","0")}))}function At(){he&&(Ye("update"+Oe.tooltips),he.forEach(function(g){g&&tn(g)}),he=null)}function ni(){At(),he=N.map(Mo),Lt("update"+Oe.tooltips,function(g,f,S){if(!(!he||!n.tooltips)&&he[f]!==!1){var E=g[f];n.tooltips[f]!==!0&&(E=n.tooltips[f].to(S[f])),he[f].innerHTML=E}})}function wo(){Ye("update"+Oe.aria),Lt("update"+Oe.aria,function(g,f,S,E,I){be.forEach(function(A){var G=N[A],F=lt(pe,A,0,!0,!0,!0),se=lt(pe,A,100,!0,!0,!0),le=I[A],de=String(n.ariaFormat.to(S[A]));F=X.fromStepping(F).toFixed(1),se=X.fromStepping(se).toFixed(1),le=X.fromStepping(le).toFixed(1),G.children[0].setAttribute("aria-valuemin",F),G.children[0].setAttribute("aria-valuemax",se),G.children[0].setAttribute("aria-valuenow",le),G.children[0].setAttribute("aria-valuetext",de)})})}function Eo(g){if(g.mode===Re.Range||g.mode===Re.Steps)return X.xVal;if(g.mode===Re.Count){if(g.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var f=g.values-1,S=100/f,E=[];f--;)E[f]=f*S;return E.push(100),oi(E,g.stepped)}return g.mode===Re.Positions?oi(g.values,g.stepped):g.mode===Re.Values?g.stepped?g.values.map(function(I){return X.fromStepping(X.getStep(X.toStepping(I)))}):g.values:[]}function oi(g,f){return g.map(function(S){return X.fromStepping(f?X.getStep(S):S)})}function Do(g){function f(le,de){return Number((le+de).toFixed(7))}var S=Eo(g),E={},I=X.xVal[0],A=X.xVal[X.xVal.length-1],G=!1,F=!1,se=0;return S=Jo(S.slice().sort(function(le,de){return le-de})),S[0]!==I&&(S.unshift(I),G=!0),S[S.length-1]!==A&&(S.push(A),F=!0),S.forEach(function(le,de){var me,ie,ge,_e=le,fe=S[de+1],Ce,Rt,jt,Wt,vi,Ut,gi,fi=g.mode===Re.Steps;for(fi&&(me=X.xNumSteps[de]),me||(me=fe-_e),fe===void 0&&(fe=_e),me=Math.max(me,1e-7),ie=_e;ie<=fe;ie=f(ie,me)){for(Ce=X.toStepping(ie),Rt=Ce-se,vi=Rt/(g.density||1),Ut=Math.round(vi),gi=Rt/Ut,ge=1;ge<=Ut;ge+=1)jt=se+ge*gi,E[jt.toFixed(5)]=[X.fromStepping(jt),0];Wt=S.indexOf(ie)>-1?Me.LargeValue:fi?Me.SmallValue:Me.NoValue,!de&&G&&ie!==fe&&(Wt=0),ie===fe&&F||(E[Ce.toFixed(5)]=[ie,Wt]),se=Ce}}),E}function Po(g,f,S){var E,I,A=ze.createElement("div"),G=(E={},E[Me.None]="",E[Me.NoValue]=n.cssClasses.valueNormal,E[Me.LargeValue]=n.cssClasses.valueLarge,E[Me.SmallValue]=n.cssClasses.valueSub,E),F=(I={},I[Me.None]="",I[Me.NoValue]=n.cssClasses.markerNormal,I[Me.LargeValue]=n.cssClasses.markerLarge,I[Me.SmallValue]=n.cssClasses.markerSub,I),se=[n.cssClasses.valueHorizontal,n.cssClasses.valueVertical],le=[n.cssClasses.markerHorizontal,n.cssClasses.markerVertical];Se(A,n.cssClasses.pips),Se(A,n.ort===0?n.cssClasses.pipsHorizontal:n.cssClasses.pipsVertical);function de(ie,ge){var _e=ge===n.cssClasses.value,fe=_e?se:le,Ce=_e?G:F;return ge+" "+fe[n.ort]+" "+Ce[ie]}function me(ie,ge,_e){if(_e=f?f(ge,_e):_e,_e!==Me.None){var fe=Be(A,!1);fe.className=de(_e,n.cssClasses.marker),fe.style[n.style]=ie+"%",_e>Me.NoValue&&(fe=Be(A,!1),fe.className=de(_e,n.cssClasses.value),fe.setAttribute("data-value",String(ge)),fe.style[n.style]=ie+"%",fe.innerHTML=String(S.to(ge)))}}return Object.keys(g).forEach(function(ie){me(ie,g[ie][0],g[ie][1])}),A}function Bt(){ce&&(tn(ce),ce=null)}function Ft(g){Bt();var f=Do(g),S=g.filter,E=g.format||{to:function(I){return String(Math.round(I))}};return ce=y.appendChild(Po(f,S,E)),ce}function ri(){var g=j.getBoundingClientRect(),f="offset"+["Width","Height"][n.ort];return n.ort===0?g.width||j[f]:g.height||j[f]}function Le(g,f,S,E){var I=function(G){var F=Io(G,E.pageOffset,E.target||f);if(!F||ii()&&!E.doNotReject||ir(y,n.cssClasses.tap)&&!E.doNotReject||g===o.start&&F.buttons!==void 0&&F.buttons>1||E.hover&&F.buttons)return!1;l||F.preventDefault(),F.calcPoint=F.points[n.ort],S(F,E)},A=[];return g.split(" ").forEach(function(G){f.addEventListener(G,I,l?{passive:!0}:!1),A.push([G,I])}),A}function Io(g,f,S){var E=g.type.indexOf("touch")===0,I=g.type.indexOf("mouse")===0,A=g.type.indexOf("pointer")===0,G=0,F=0;if(g.type.indexOf("MSPointer")===0&&(A=!0),g.type==="mousedown"&&!g.buttons&&!g.touches)return!1;if(E){var se=function(me){var ie=me.target;return ie===S||S.contains(ie)||g.composed&&g.composedPath().shift()===S};if(g.type==="touchstart"){var le=Array.prototype.filter.call(g.touches,se);if(le.length>1)return!1;G=le[0].pageX,F=le[0].pageY}else{var de=Array.prototype.find.call(g.changedTouches,se);if(!de)return!1;G=de.pageX,F=de.pageY}}return f=f||sn(ze),(I||A)&&(G=g.clientX+f.x,F=g.clientY+f.y),g.pageOffset=f,g.points=[G,F],g.cursor=I||A,g}function ai(g){var f=g-er(j,n.ort),S=f*100/ri();return S=rn(S),n.dir?100-S:S}function Ao(g){var f=100,S=!1;return N.forEach(function(E,I){if(!It(I)){var A=pe[I],G=Math.abs(A-g),F=G===100&&f===100,se=G<f,le=G<=f&&g>A;(se||le||F)&&(S=I,f=G)}}),S}function Bo(g,f){g.type==="mouseout"&&g.target.nodeName==="HTML"&&g.relatedTarget===null&&Ht(g,f)}function Fo(g,f){if(navigator.appVersion.indexOf("MSIE 9")===-1&&g.buttons===0&&f.buttonsProperty!==0)return Ht(g,f);var S=(n.dir?-1:1)*(g.calcPoint-f.startCalcPoint),E=S*100/f.baseSize;li(S>0,E,f.locations,f.handleNumbers,f.connect)}function Ht(g,f){f.handle&&(St(f.handle,n.cssClasses.active),Dt-=1),f.listeners.forEach(function(S){at.removeEventListener(S[0],S[1])}),Dt===0&&(St(y,n.cssClasses.drag),Gt(),g.cursor&&(st.style.cursor="",st.removeEventListener("selectstart",nn))),n.events.smoothSteps&&(f.handleNumbers.forEach(function(S){Ne(S,pe[S],!0,!0,!1,!1)}),f.handleNumbers.forEach(function(S){ve("update",S)})),f.handleNumbers.forEach(function(S){ve("change",S),ve("set",S),ve("end",S)})}function Ot(g,f){if(!f.handleNumbers.some(It)){var S;if(f.handleNumbers.length===1){var E=N[f.handleNumbers[0]];S=E.children[0],Dt+=1,Se(S,n.cssClasses.active)}g.stopPropagation();var I=[],A=Le(o.move,at,Fo,{target:g.target,handle:S,connect:f.connect,listeners:I,startCalcPoint:g.calcPoint,baseSize:ri(),pageOffset:g.pageOffset,handleNumbers:f.handleNumbers,buttonsProperty:g.buttons,locations:pe.slice()}),G=Le(o.end,at,Ht,{target:g.target,handle:S,listeners:I,doNotReject:!0,handleNumbers:f.handleNumbers}),F=Le("mouseout",at,Bo,{target:g.target,handle:S,listeners:I,doNotReject:!0,handleNumbers:f.handleNumbers});I.push.apply(I,A.concat(G,F)),g.cursor&&(st.style.cursor=getComputedStyle(g.target).cursor,N.length>1&&Se(y,n.cssClasses.drag),st.addEventListener("selectstart",nn,!1)),f.handleNumbers.forEach(function(se){ve("start",se)})}}function Ho(g){g.stopPropagation();var f=ai(g.calcPoint),S=Ao(f);S!==!1&&(n.events.snap||on(y,n.cssClasses.tap,n.animationDuration),Ne(S,f,!0,!0),Gt(),ve("slide",S,!0),ve("update",S,!0),n.events.snap?Ot(g,{handleNumbers:[S]}):(ve("change",S,!0),ve("set",S,!0)))}function Oo(g){var f=ai(g.calcPoint),S=X.getStep(f),E=X.fromStepping(S);Object.keys(Ae).forEach(function(I){I.split(".")[0]==="hover"&&Ae[I].forEach(function(A){A.call(pt,E)})})}function Lo(g,f){if(ii()||It(f))return!1;var S=["Left","Right"],E=["Down","Up"],I=["PageDown","PageUp"],A=["Home","End"];n.dir&&!n.ort?S.reverse():n.ort&&!n.dir&&(E.reverse(),I.reverse());var G=g.key.replace("Arrow",""),F=G===I[0],se=G===I[1],le=G===E[0]||G===S[0]||F,de=G===E[1]||G===S[1]||se,me=G===A[0],ie=G===A[1];if(!le&&!de&&!me&&!ie)return!0;g.preventDefault();var ge;if(de||le){var _e=le?0:1,fe=mi(f),Ce=fe[_e];if(Ce===null)return!1;Ce===!1&&(Ce=X.getDefaultStep(pe[f],le,n.keyboardDefaultStep)),se||F?Ce*=n.keyboardPageMultiplier:Ce*=n.keyboardMultiplier,Ce=Math.max(Ce,1e-7),Ce=(le?-1:1)*Ce,ge=Ie[f]+Ce}else ie?ge=n.spectrum.xVal[n.spectrum.xVal.length-1]:ge=n.spectrum.xVal[0];return Ne(f,X.toStepping(ge),!0,!0),ve("slide",f),ve("update",f),ve("change",f),ve("set",f),!1}function si(g){g.fixed||N.forEach(function(f,S){Le(o.start,f.children[0],Ot,{handleNumbers:[S]})}),g.tap&&Le(o.start,j,Ho,{}),g.hover&&Le(o.move,j,Oo,{hover:!0}),g.drag&&Q.forEach(function(f,S){if(!(f===!1||S===0||S===Q.length-1)){var E=N[S-1],I=N[S],A=[f],G=[E,I],F=[S-1,S];Se(f,n.cssClasses.draggable),g.fixed&&(A.push(E.children[0]),A.push(I.children[0])),g.dragAll&&(G=N,F=be),A.forEach(function(se){Le(o.start,se,Ot,{handles:G,handleNumbers:F,connect:f})})}})}function Lt(g,f){Ae[g]=Ae[g]||[],Ae[g].push(f),g.split(".")[0]==="update"&&N.forEach(function(S,E){ve("update",E)})}function No(g){return g===Oe.aria||g===Oe.tooltips}function Ye(g){var f=g&&g.split(".")[0],S=f?g.substring(f.length):g;Object.keys(Ae).forEach(function(E){var I=E.split(".")[0],A=E.substring(I.length);(!f||f===I)&&(!S||S===A)&&(!No(A)||S===A)&&delete Ae[E]})}function ve(g,f,S){Object.keys(Ae).forEach(function(E){var I=E.split(".")[0];g===I&&Ae[E].forEach(function(A){A.call(pt,Ie.map(n.format.to),f,Ie.slice(),S||!1,pe.slice(),pt)})})}function lt(g,f,S,E,I,A,G){var F;return N.length>1&&!n.events.unconstrained&&(E&&f>0&&(F=X.getAbsoluteDistance(g[f-1],n.margin,!1),S=Math.max(S,F)),I&&f<N.length-1&&(F=X.getAbsoluteDistance(g[f+1],n.margin,!0),S=Math.min(S,F))),N.length>1&&n.limit&&(E&&f>0&&(F=X.getAbsoluteDistance(g[f-1],n.limit,!1),S=Math.min(S,F)),I&&f<N.length-1&&(F=X.getAbsoluteDistance(g[f+1],n.limit,!0),S=Math.max(S,F))),n.padding&&(f===0&&(F=X.getAbsoluteDistance(0,n.padding[0],!1),S=Math.max(S,F)),f===N.length-1&&(F=X.getAbsoluteDistance(100,n.padding[1],!0),S=Math.min(S,F))),G||(S=X.getStep(S)),S=rn(S),S===g[f]&&!A?!1:S}function Nt(g,f){var S=n.ort;return(S?f:g)+", "+(S?g:f)}function li(g,f,S,E,I){var A=S.slice(),G=E[0],F=n.events.smoothSteps,se=[!g,g],le=[g,!g];E=E.slice(),g&&E.reverse(),E.length>1?E.forEach(function(me,ie){var ge=lt(A,me,A[me]+f,se[ie],le[ie],!1,F);ge===!1?f=0:(f=ge-A[me],A[me]=ge)}):se=le=[!0];var de=!1;E.forEach(function(me,ie){de=Ne(me,S[me]+f,se[ie],le[ie],!1,F)||de}),de&&(E.forEach(function(me){ve("update",me),ve("slide",me)}),I!=null&&ve("drag",G))}function ci(g,f){return n.dir?100-g-f:g}function Go(g,f){pe[g]=f,Ie[g]=X.fromStepping(f);var S=ci(f,0)-yo,E="translate("+Nt(S+"%","0")+")";if(N[g].style[n.transformRule]=E,n.events.invertConnects&&pe.length>1){var I=pe.every(function(A,G,F){return G===0||A>=F[G-1]});if(Ze!==!I){$o();return}}Je(g),Je(g+1),Ze&&(Je(g-1),Je(g+2))}function Gt(){be.forEach(function(g){var f=pe[g]>50?-1:1,S=3+(N.length+f*g);N[g].style.zIndex=String(S)})}function Ne(g,f,S,E,I,A){return I||(f=lt(pe,g,f,S,E,!1,A)),f===!1?!1:(Go(g,f),!0)}function Je(g){if(Q[g]){var f=pe.slice();Ze&&f.sort(function(F,se){return F-se});var S=0,E=100;g!==0&&(S=f[g-1]),g!==Q.length-1&&(E=f[g]);var I=E-S,A="translate("+Nt(ci(S,I)+"%","0")+")",G="scale("+Nt(I/100,"1")+")";Q[g].style[n.transformRule]=A+" "+G}}function pi(g,f){return g===null||g===!1||g===void 0||(typeof g=="number"&&(g=String(g)),g=n.format.from(g),g!==!1&&(g=X.toStepping(g)),g===!1||isNaN(g))?pe[f]:g}function ct(g,f,S){var E=Tt(g),I=pe[0]===void 0;f=f===void 0?!0:f,n.animate&&!I&&on(y,n.cssClasses.tap,n.animationDuration),be.forEach(function(F){Ne(F,pi(E[F],F),!0,!1,S)});var A=be.length===1?0:1;if(I&&X.hasNoSize()&&(S=!0,pe[0]=0,be.length>1)){var G=100/(be.length-1);be.forEach(function(F){pe[F]=F*G})}for(;A<be.length;++A)be.forEach(function(F){Ne(F,pe[F],!0,!0,S)});Gt(),be.forEach(function(F){ve("update",F),E[F]!==null&&f&&ve("set",F)})}function Ro(g){ct(n.start,g)}function jo(g,f,S,E){if(g=Number(g),!(g>=0&&g<be.length))throw new Error("noUiSlider: invalid handle number, got: "+g);Ne(g,pi(f,g),!0,!0,E),ve("update",g),S&&ve("set",g)}function di(g){if(g===void 0&&(g=!1),g)return Ie.length===1?Ie[0]:Ie.slice(0);var f=Ie.map(n.format.to);return f.length===1?f[0]:f}function Wo(){for(Ye(Oe.aria),Ye(Oe.tooltips),Object.keys(n.cssClasses).forEach(function(g){St(y,n.cssClasses[g])});y.firstChild;)y.removeChild(y.firstChild);delete y.noUiSlider}function mi(g){var f=pe[g],S=X.getNearbySteps(f),E=Ie[g],I=S.thisStep.step,A=null;if(n.snap)return[E-S.stepBefore.startValue||null,S.stepAfter.startValue-E||null];I!==!1&&E+I>S.stepAfter.startValue&&(I=S.stepAfter.startValue-E),E>S.thisStep.startValue?A=S.thisStep.step:S.stepBefore.step===!1?A=!1:A=E-S.stepBefore.highestStep,f===100?I=null:f===0&&(A=null);var G=X.countStepDecimals();return I!==null&&I!==!1&&(I=Number(I.toFixed(G))),A!==null&&A!==!1&&(A=Number(A.toFixed(G))),[A,I]}function Uo(){return be.map(mi)}function zo(g,f){var S=di(),E=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];E.forEach(function(A){g[A]!==void 0&&(t[A]=g[A])});var I=pn(t);E.forEach(function(A){g[A]!==void 0&&(n[A]=I[A])}),X=I.spectrum,n.margin=I.margin,n.limit=I.limit,n.padding=I.padding,n.pips?Ft(n.pips):Bt(),n.tooltips?ni():At(),pe=[],ct(Zt(g.start)?g.start:S,f),g.connect&&ui()}function ui(){for(;K.firstChild;)K.removeChild(K.firstChild);for(var g=0;g<=n.handles;g++)Q[g]=Pt(K,n.connect[g]),Je(g);si({drag:n.events.drag,fixed:!0})}function $o(){Ze=!Ze,ln(n,n.connect.map(function(g){return!g})),ui()}function qo(){j=To(y),bo(n.connect,j),si(n.events),ct(n.start),n.pips&&Ft(n.pips),n.tooltips&&ni(),wo()}qo();var pt={destroy:Wo,steps:Uo,on:Lt,off:Ye,get:di,set:ct,setHandle:jo,reset:Ro,disable:ko,enable:Vo,__moveHandles:function(g,f,S){li(g,f,pe,S)},options:t,updateOptions:zo,target:y,removePips:Bt,removeTooltips:At,getPositions:function(){return pe.slice()},getTooltips:function(){return he},getOrigins:function(){return N},pips:Ft};return pt}function dn(e,n){if(!e||!e.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+e);if(e.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var t=pn(n),o=Fr(e,t,n);return e.noUiSlider=o,o}var Xt=class{to(n){return String(parseFloat(parseFloat(String(n)).toFixed(2)))}from(n){return parseFloat(n)}},re=(()=>{class e{constructor(t,o,i){this.ngZone=t,this.el=o,this.renderer=i,this.handles=[],this.config={},this.change=new we(!0),this.update=new we(!0),this.slide=new we(!0),this.set=new we(!0),this.start=new we(!0),this.end=new we(!0),this.onChange=Function.prototype,this.cleanups=[],this.eventHandler=(l,y,j,K)=>{let N=this.toValues(y),Q=!1;if(this.value===void 0){this.value=N;return}Array.isArray(N)&&this.value[j]!=N[j]&&(Q=!0),!Array.isArray(N)&&this.value!=N&&(Q=!0),Q&&this.ngZone.run(()=>{l.observers.length>0&&l.emit(N),this.onChange(N)}),Array.isArray(N)?this.value[j]=N[j]:this.value=N},this.defaultKeyHandler=l=>{let y=this.slider.steps(),j=parseInt(l.target.getAttribute("data-handle")),K=1,N=1,Q=0,ce=0;switch(l.which){case 34:N=this.config.pageSteps;break;case 40:case 37:K=-1,Q=y[j][0],l.preventDefault();break;case 33:N=this.config.pageSteps;break;case 38:case 39:Q=y[j][1],l.preventDefault();break;default:break}ce=K*N*Q;let he;Array.isArray(this.value)?(he=[...this.value],he[j]=he[j]+ce):he=this.value+ce,this.slider.set(he)}}ngOnChanges(t){this.slider&&(t.min||t.max||t.step||t.range)&&this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.updateOptions({range:Object.assign({},{min:this.min,max:this.max},this.range||{}),step:this.step})})})}ngOnDestroy(){for(this.slider.destroy();this.cleanups.length;)this.cleanups.pop()?.()}toValues(t){let o=t.map(this.config.format.from);return o.length==1?o[0]:o}writeValue(t){this.slider?this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.set(t)})}):t!==null&&(this.value=t,this.createSlider(t))}registerOnChange(t){this.onChange=t}registerOnTouched(t){}setDisabledState(t){t?this.renderer.setAttribute(this.el.nativeElement.childNodes[0],"disabled","true"):this.renderer.removeAttribute(this.el.nativeElement.childNodes[0],"disabled")}createSlider(t){let o=JSON.parse(JSON.stringify({behaviour:this.behaviour,connect:this.connect,limit:this.limit,start:t,step:this.step,pageSteps:this.pageSteps,keyboard:this.keyboard,onKeydown:this.onKeydown,range:this.range||this.config.range||{min:this.min,max:this.max},tooltips:this.tooltips,snap:this.snap,animate:this.animate}));if(o.tooltips=this.tooltips||this.config.tooltips,o.format=this.format||this.config.format||new Xt,this.ngZone.runOutsideAngular(()=>{this.slider=dn(this.el.nativeElement.querySelector("div"),Object.assign(this.config,o))}),this.handles=[].slice.call(this.el.nativeElement.querySelectorAll(".noUi-handle")),this.config.keyboard){this.config.pageSteps===void 0&&(this.config.pageSteps=10);for(let i of this.handles){i.setAttribute("tabindex",0);let l=this.config.onKeydown||this.defaultKeyHandler;this.ngZone.runOutsideAngular(()=>{this.cleanups.push(this.renderer.listen(i,"keydown",l),this.renderer.listen(i,"click",()=>{i.focus()}))})}}this.slider.on("set",(i,l,y)=>{this.eventHandler(this.set,i,l,y)}),this.slider.on("update",(i,l,y)=>{this.update.observers.length>0&&this.ngZone.run(()=>{this.update.emit(this.toValues(i))})}),this.slider.on("change",(i,l,y)=>{this.change.observers.length>0&&this.ngZone.run(()=>{this.change.emit(this.toValues(i))})}),this.slider.on("slide",(i,l,y)=>{this.eventHandler(this.slide,i,l,y)}),this.slider.on("start",(i,l,y)=>{this.start.observers.length>0&&this.ngZone.run(()=>{this.start.emit(this.toValues(i))})}),this.slider.on("end",(i,l,y)=>{this.end.observers.length>0&&this.ngZone.run(()=>{this.end.emit(this.toValues(i))})})}}return e.\u0275fac=function(t){return new(t||e)(xe(Ii),xe(qe),xe(ut))},e.\u0275cmp=T({type:e,selectors:[["nouislider"]],hostVars:2,hostBindings:function(t,o){t&2&&Ni("ng2-nouislider",!0)},inputs:{disabled:"disabled",behaviour:"behaviour",connect:"connect",limit:"limit",min:"min",max:"max",snap:"snap",animate:"animate",range:"range",step:"step",format:"format",pageSteps:"pageSteps",config:"config",keyboard:"keyboard",onKeydown:"onKeydown",tooltips:"tooltips"},outputs:{change:"change",update:"update",slide:"slide",set:"set",start:"start",end:"end"},features:[Ct([{provide:$i,useExisting:Vi(()=>e),multi:!0}]),$e],decls:1,vars:1,template:function(t,o){t&1&&Qe(0,"div"),t&2&&M("disabled",o.disabled?!0:void 0)},styles:["[_nghost-%COMP%]{display:block;margin-top:1rem;margin-bottom:1rem}"]}),e})();var Mt=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Or(e,n){if(e&1){let t=H();r(0,"button",6),C("click",function(i){k(t);let l=u(2);return V(l.setTargetMode(0,i))}),r(1,"div",7),v(2,"i",8),s(),c(3),p(4,"translate"),r(5,"div",9),v(6,"i",10),s()()}if(e&2){let t=u(2);a(2),m("ngClass",P(4,Mt,t.targetMode===0,t.targetMode!==0)),a(),h(" ",d(4,2,"accessories.control.manual")," ")}}function Lr(e,n){if(e&1){let t=H();r(0,"button",6),C("click",function(i){k(t);let l=u(2);return V(l.setTargetMode(1,i))}),r(1,"div",7),v(2,"i",8),s(),c(3),p(4,"translate"),r(5,"div",9),v(6,"i",10),s()()}if(e&2){let t=u(2);a(2),m("ngClass",P(4,Mt,t.targetMode===1,t.targetMode!==1)),a(),h(" ",d(4,2,"accessories.control.auto")," ")}}function Nr(e,n){if(e&1&&(r(0,"h6",12),c(1),p(2,"translate"),s(),r(3,"div",13),_(4,Or,7,7,"button",14),_(5,Lr,7,7,"button",14),s()),e&2){let t=u();a(),b(d(2,3,"accessories.control.mode")),a(3),x(t.targetModeValidValues.includes(0)?4:-1),a(),x(t.targetModeValidValues.includes(1)?5:-1)}}function Gr(e,n){if(e&1){let t=H();r(0,"h6",12),c(1),p(2,"translate"),s(),r(3,"nouislider",15),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=u();a(),R("",d(2,6,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,"%"),a(2),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),z("ngModel",t.targetRotationSpeed.value)}}var mn=(()=>{class e{$activeModal=B(Y);service;targetState;targetMode;targetModeValidValues=[];targetRotationSpeed;targetRotationSpeedChanged=new ee;constructor(){this.targetRotationSpeedChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetState=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetState=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetState=this.service.values.Active||this.service.values.On,this.targetMode=this.service.values.TargetAirPurifierState,"TargetAirPurifierState"in this.service.values&&(this.targetModeValidValues=this.service.getCharacteristic("TargetAirPurifierState").validValues),this.loadRotationSpeed()}setTargetState(t,o){this.targetState=t,"Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.targetState):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(this.targetState===1),this.targetState&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue),o.target.blur()}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("TargetAirPurifierState").setValue(this.targetMode),o.target.blur()}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:24,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Air Purifier State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Air Purifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5)(7,"button",6),C("click",function(y){return i.setTargetState(0,y)}),r(8,"div",7),v(9,"i",8),s(),c(10),p(11,"translate"),r(12,"div",9),v(13,"i",10),s()(),r(14,"button",6),C("click",function(y){return i.setTargetState(1,y)}),r(15,"div",7),v(16,"i",8),s(),c(17),p(18,"translate"),r(19,"div",9),v(20,"i",10),s()()(),_(21,Nr,6,5),_(22,Gr,4,8),s(),v(23,"div",11),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,8,"form.button_close")),a(6),m("ngClass",P(14,Mt,i.targetState===0,i.targetState!==0)),a(),h(" ",d(11,10,"accessories.control.off")," "),a(6),m("ngClass",P(17,Mt,i.targetState===1,i.targetState!==1)),a(),h(" ",d(18,12,"accessories.control.on")," "),a(4),x(i.targetModeValidValues.length?21:-1),a(),x(i.targetRotationSpeed?22:-1))},dependencies:[Z,ne,oe,re,D,w],styles:[".purifying svg .air-line{animation:_ngcontent-%COMP%_wave-motion 5s ease-in-out infinite;stroke:#1976d2;stroke-opacity:.5} .purifying svg .bottom-line{animation-delay:.4s}@keyframes _ngcontent-%COMP%_wave-motion{0%,to{transform:translateY(0);stroke-opacity:.5}50%{transform:translateY(2px);stroke-opacity:1}}"]})}return e})();var U=(()=>{class e{downTimeout;done=!1;duration=350;longClick=Kt();shortClick=Kt();onEnter(t){this.shortClick.emit(t)}onMouseUp(t){clearTimeout(this.downTimeout),this.done||(this.done=!0,this.shortClick.emit(t))}onTouchEnd(t){clearTimeout(this.downTimeout),t.preventDefault(),t.stopPropagation(),this.done||(this.done=!0,this.shortClick.emit(t))}onMouseDown(t){t instanceof MouseEvent&&t.button!==0||(this.done=!1,t instanceof TouchEvent&&(t.preventDefault(),t.stopPropagation()),this.downTimeout=setTimeout(()=>{this.done||(this.done=!0,this.longClick.emit(t))},this.duration))}onMouseMove(){this.done=!0,clearTimeout(this.downTimeout)}ngOnDestroy(){clearTimeout(this.downTimeout)}static \u0275fac=function(o){return new(o||e)};static \u0275dir=vt({type:e,selectors:[["","shortClick",""],["","longClick",""]],hostBindings:function(o,i){o&1&&C("keyup.enter",function(y){return i.onEnter(y)})("mouseup",function(y){return i.onMouseUp(y)})("touchend",function(y){return i.onTouchEnd(y)})("touchstart",function(y){return i.onMouseDown(y)})("mousedown",function(y){return i.onMouseDown(y)})("mousemove",function(y){return i.onMouseMove(y)})("touchmove",function(y){return i.onMouseMove(y)})},inputs:{duration:"duration"},outputs:{longClick:"longClick",shortClick:"shortClick"}})}return e})();var Rr=(e,n)=>({"switch-on":e,purifying:n});function jr(e,n){if(e&1&&(r(0,"div",4),c(1),s()),e&2){let t=u(2);a(),h("",t.service.values.RotationSpeed,"%")}}function Wr(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.on")))}function Ur(e,n){if(e&1&&_(0,jr,2,1,"div",4)(1,Wr,3,3,"div",4),e&2){let t=u();x("RotationSpeed"in t.service.values?0:1)}}function zr(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.idle")))}function $r(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.off")))}var un=(()=>{class e{$modal=B(J);hasTargetValidValues=!1;service;readyForControl=!1;ngOnInit(){"TargetAirPurifierState"in this.service.values&&(this.hasTargetValidValues=this.service.getCharacteristic("TargetAirPurifierState").validValues.length>0)}onClick(){this.readyForControl&&("Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(!this.service.values.On),"RotationSpeed"in this.service.values&&!this.service.values.On&&!this.service.values.Active&&!this.service.values.RotationSpeed&&(this.service.values.RotationSpeed=this.service.getCharacteristic("RotationSpeed").maxValue))}onLongClick(){if(this.readyForControl&&(this.hasTargetValidValues||"RotationSpeed"in this.service.values)){let t=this.$modal.open(mn,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-air-purifier"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:8,vars:8,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,Ur,2,1)(6,zr,3,3,"div",4)(7,$r,3,3,"div",4),s()()),o&2&&(m("ngClass",P(5,Rr,i.service.values.Active&&!("CurrentAirPurifierState"in i.service.values)||i.service.values.Active&&"CurrentAirPurifierState"in i.service.values&&i.service.values.CurrentAirPurifierState!==0||i.service.values.On,i.service.values.Active&&!("CurrentAirPurifierState"in i.service.values)||i.service.values.Active&&"CurrentAirPurifierState"in i.service.values&&i.service.values.CurrentAirPurifierState===2||i.service.values.On)),a(2),m("inlineSVG","/assets/service-icons/air-purifier.svg"),M("aria-label","Air Purifier"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.Active&&!("CurrentAirPurifierState"in i.service.values)||i.service.values.Active&&"CurrentAirPurifierState"in i.service.values&&i.service.values.CurrentAirPurifierState===2||i.service.values.On?5:i.service.values.Active&&!("CurrentAirPurifierState"in i.service.values)||i.service.values.Active&&"CurrentAirPurifierState"in i.service.values&&i.service.values.CurrentAirPurifierState===1||i.service.values.On?6:7))},dependencies:[U,D,O,w],styles:[".purifying svg .air-line{animation:_ngcontent-%COMP%_wave-motion 5s ease-in-out infinite;stroke:#1976d2;stroke-opacity:.5} .purifying svg .bottom-line{animation-delay:.4s}@keyframes _ngcontent-%COMP%_wave-motion{0%,to{transform:translateY(0);stroke-opacity:.5}50%{transform:translateY(2px);stroke-opacity:1}}"]})}return e})();var qr=()=>[3,4],Kr=()=>[1,2],Qr=(e,n,t,o)=>({"switch-on":e,"fill-red":n,"fill-orange":t,"fill-green":o}),Zr=(e,n)=>({"grey-text":e,"red-text":n}),vn=(()=>{class e{service;labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-air-quality-sensor"]],inputs:{service:"service"},decls:7,vars:16,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"ngClass"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),r(5,"div",4),c(6),s()()()),o&2&&(m("ngClass",ht(8,Qr,i.service.values.AirQuality===5,i.service.values.AirQuality===5,ue(6,qr).includes(i.service.values.AirQuality),ue(7,Kr).includes(i.service.values.AirQuality))),a(2),m("inlineSVG","/assets/service-icons/air-quality-sensor.svg"),M("aria-label","Air Quality Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),m("ngClass",P(13,Zr,i.service.values.AirQuality<5,i.service.values.AirQuality===5)),a(),h(" ",i.labels[i.service.values.AirQuality||0]," "))},dependencies:[D,O],styles:[".fill-red svg .leaves{fill:#d32f2f!important;fill-opacity:.5!important} .fill-orange svg .leaves{fill:#ff9800!important;fill-opacity:.5!important} .fill-green svg .leaves{fill:#4caf50!important;fill-opacity:.5!important}"]})}return e})();var Yr=e=>({"switch-on":e}),Jr=(e,n)=>({lowbattery:e,charging:n}),Xr=(e,n)=>({"battery-over":e,"battery-under":n});function ea(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.battery_notcharging")," ")}function ta(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.battery_charging")," ")}function ia(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.battery_notchargeable")," ")}function na(e,n){e&1&&(r(0,"span",7),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.battery_low")))}function oa(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.battery_charged")," ")}var gn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-battery"]],inputs:{service:"service"},decls:15,vars:19,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"batterylevel-battery","mt-2",3,"ngClass"],[1,"battery-level-fill"],[1,"battery-text",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"red-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1)(2,"div",2),v(3,"div",3),r(4,"span",4),c(5),p(6,"number"),s()(),r(7,"div",5),c(8),s(),r(9,"div",6),_(10,ea,2,3)(11,ta,2,3)(12,ia,2,3)(13,na,3,3,"span",7)(14,oa,2,3),s()()()),o&2&&(m("ngClass",W(11,Yr,i.service.values.ChargingState===1)),a(2),m("ngClass",P(13,Jr,i.service.values.StatusLowBattery===1&&i.service.values.ChargingState!==1,i.service.values.ChargingState===1)),a(),Li("width",i.service.values.BatteryLevel||0,"%"),a(),m("ngClass",P(16,Xr,i.service.values.BatteryLevel>=30,i.service.values.BatteryLevel<30)),a(),b(ae(6,8,i.service.values.BatteryLevel||0,"1.0-0")+"%"),a(3),b(i.service.customName||i.service.serviceName),a(2),x(i.service.values.ChargingState===0?10:i.service.values.ChargingState===1?11:i.service.values.ChargingState===2?12:i.service.values.StatusLowBattery===1||i.service.values.BatteryLevel===0?13:14))},dependencies:[D,Te,w],styles:['.batterylevel-battery[_ngcontent-%COMP%]{position:relative;width:75px;height:30px;border:1px solid rgb(128,128,128);border-radius:4px;margin-bottom:6px;text-align:center;display:flex;align-items:center;justify-content:center;color:#d3d3d3;font-size:14px}.batterylevel-battery[_ngcontent-%COMP%]:after{content:"";position:absolute;top:7px;right:-6px;width:6px;height:13px;background-color:gray;border-radius:2px}.batterylevel-battery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{position:absolute;top:0;left:0;height:100%;background-color:gray;z-index:1;transition:width .3s ease-in-out}.batterylevel-battery[_ngcontent-%COMP%] .battery-text[_ngcontent-%COMP%]{position:relative;z-index:2}.batterylevel-battery[_ngcontent-%COMP%] .battery-over[_ngcontent-%COMP%]{color:#d3d3d3}.batterylevel-battery[_ngcontent-%COMP%] .battery-under[_ngcontent-%COMP%]{color:gray}@media (max-width: 575px){.batterylevel-battery[_ngcontent-%COMP%]{width:50px;height:25px;font-size:12px}.batterylevel-battery[_ngcontent-%COMP%]:after{top:4px}}.lowbattery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{background-color:#e69533}.charging[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{background-color:#4caf50}']})}return e})();var ra=e=>({"switch-on":e});function aa(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.detected")))}function sa(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.not_detected")))}var fn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-carbon-dioxide-sensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,aa,3,3,"div",4)(6,sa,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,ra,i.service.values.CarbonDioxideDetected)),a(2),m("inlineSVG","/assets/service-icons/carbon-dioxide-sensor.svg"),M("aria-label","Carbon Dioxide Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.CarbonDioxideDetected?5:6))},dependencies:[D,O,w],styles:[".switch-on svg .air-line{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite} .switch-on svg .type{fill:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{opacity:1}50%{opacity:.2}}"]})}return e})();var la=e=>({"switch-on":e});function ca(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.detected")))}function pa(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.not_detected")))}var Cn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-carbon-monoxide-sensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,ca,3,3,"div",4)(6,pa,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,la,i.service.values.CarbonMonoxideDetected)),a(2),m("inlineSVG","/assets/service-icons/carbon-monoxide-sensor.svg"),M("aria-label","Carbon Monoxide Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.CarbonMonoxideDetected?5:6))},dependencies:[D,O,w],styles:[".switch-on svg .air-line{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite} .switch-on svg .type{fill:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{opacity:1}50%{opacity:.2}}"]})}return e})();var da=e=>({"switch-on":e});function ma(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.open")))}function ua(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.closed")))}var hn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-contact-sensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,ma,3,3,"div",4)(6,ua,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,da,i.service.values.ContactSensorState)),a(2),m("inlineSVG","/assets/service-icons/contact-sensor.svg"),M("aria-label","Contact Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.ContactSensorState?5:6))},dependencies:[D,O,w],styles:[".switch-on svg .left-sensor{fill:#ff9800;fill-opacity:.5} .switch-on svg .right-object{x:24px} .switch-on svg .right-sensor{x:24px;fill:#ff9800;fill-opacity:.5}"]})}return e})();function va(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closed")," ")}function ga(e,n){if(e&1&&(c(0),p(1,"translate")),e&2){let t=u(2);R(" ",d(1,2,"accessories.control.open")," ",t.service.getCharacteristic("CurrentPosition").value,"% ")}}function fa(e,n){if(e&1&&_(0,va,2,3)(1,ga,2,4),e&2){let t=u();x(t.service.values.CurrentPosition===0?0:1)}}function Ca(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.opening"),"... ")}function ha(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closing"),"... ")}var _n=(()=>{class e{$activeModal=B(Y);service;targetMode;targetPositionChanged=new ee;targetPosition;constructor(){this.targetPositionChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #242424, #ffd6aa)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5)(7,"div",6),_(8,fa,2,1)(9,Ca,2,3)(10,ha,2,3),s()(),r(11,"h6",7),c(12),p(13,"translate"),s(),r(14,"nouislider",8),q("ngModelChange",function(y){return $(i.targetPosition.value,y)||(i.targetPosition.value=y),y}),C("ngModelChange",function(){return i.onTargetPositionChange()}),s(),r(15,"div",9)(16,"span",10),c(17),p(18,"translate"),s(),r(19,"span",10),c(20),p(21,"translate"),s()(),r(22,"h6",7),c(23),p(24,"translate"),s(),r(25,"nouislider",11),q("ngModelChange",function(y){return $(i.service.getCharacteristic("CurrentPosition").value,y)||(i.service.getCharacteristic("CurrentPosition").value=y),y}),s(),r(26,"div",9)(27,"span",10),c(28),p(29,"translate"),s(),r(30,"span",10),c(31),p(32,"translate"),s()()(),v(33,"div",12),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,20,"form.button_close")),a(5),x(i.service.values.PositionState===2?8:i.service.values.PositionState===1?9:i.service.values.PositionState===0?10:-1),a(4),R("",d(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),a(2),m("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),z("ngModel",i.targetPosition.value),a(3),b(d(18,24,"accessories.control.closed")),a(3),b(d(21,26,"accessories.control.open")),a(3),R(" ",d(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),a(2),m("min",0)("max",100)("step",1)("disabled",!0),z("ngModel",i.service.getCharacteristic("CurrentPosition").value),a(3),b(d(29,30,"accessories.control.closed")),a(3),b(d(32,32,"accessories.control.open")))},dependencies:[re,Z,ne,oe,w],encapsulation:2})}return e})();var _a=e=>({"accessory-on":e});function xa(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closed")," ")}function ya(e,n){if(e&1&&(c(0),p(1,"translate")),e&2){let t=u(2);R(" ",d(1,2,"accessories.control.open")," ",t.service.values.CurrentPosition,"% ")}}function Sa(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.open")," ")}function ba(e,n){if(e&1&&(r(0,"div",4),_(1,xa,2,3),_(2,ya,2,4),_(3,Sa,2,3),s()),e&2){let t=u();a(),x(t.service.values.CurrentPosition===0?1:-1),a(),x(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),a(),x(t.service.values.CurrentPosition===100?3:-1)}}function Ta(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),h("",d(2,1,"accessories.control.opening"),"..."))}function Ma(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),h("",d(2,1,"accessories.control.closing"),"..."))}var xn=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){this.readyForControl&&(this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100))}onLongClick(){if(!this.readyForControl)return;let t=this.$modal.open(_n,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-door"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:8,vars:7,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,ba,4,3,"div",4)(6,Ta,3,3,"div",5)(7,Ma,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,_a,i.service.values.CurrentPosition)),a(2),m("inlineSVG","/assets/service-icons/door.svg"),M("aria-label","Door"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.PositionState===2?5:i.service.values.PositionState===1?6:i.service.values.PositionState===0?7:-1))},dependencies:[U,D,O,w],styles:["svg .outline{transition:width 3s ease;width:12.8px} svg .panel{transition:width 3s ease;width:9.6px} svg .handle{visibility:visible;opacity:1;transition:opacity 3s ease,visibility 0s linear 3s} .accessory-on svg .outline{transition:width 3s ease;width:3.8px} .accessory-on svg .panel{transition:width 3s ease;width:.6px} .accessory-on svg .handle{visibility:hidden;opacity:0;transition:opacity 3s ease,visibility 0s linear 0s}"]})}return e})();var je=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function ka(e,n){if(e&1){let t=H();r(0,"div",5)(1,"button",7),C("click",function(i){k(t);let l=u();return V(l.setActive(0,i))}),r(2,"div",8),v(3,"i",9),s(),c(4),p(5,"translate"),r(6,"div",10),v(7,"i",11),s()(),r(8,"button",7),C("click",function(i){k(t);let l=u();return V(l.setActive(1,i))}),r(9,"div",8),v(10,"i",9),s(),c(11),p(12,"translate"),r(13,"div",10),v(14,"i",11),s()()()}if(e&2){let t=u();a(3),m("ngClass",P(8,je,t.service.values.Active===0,t.service.values.Active!==0)),a(),h(" ",d(5,4,"accessories.control.off")," "),a(6),m("ngClass",P(11,je,t.service.values.Active===1,t.service.values.Active!==1)),a(),h(" ",d(12,6,"accessories.control.on")," ")}}function Va(e,n){if(e&1){let t=H();r(0,"div",5)(1,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(0,i))}),r(2,"div",8),v(3,"i",9),s(),c(4),p(5,"translate"),r(6,"div",10),v(7,"i",11),s()(),r(8,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(1,i))}),r(9,"div",8),v(10,"i",9),s(),c(11),p(12,"translate"),r(13,"div",10),v(14,"i",11),s()(),r(15,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(2,i))}),r(16,"div",8),v(17,"i",9),s(),c(18),p(19,"translate"),r(20,"div",10),v(21,"i",11),s()()()}if(e&2){let t=u();a(3),m("ngClass",P(12,je,t.service.values.CurrentMediaState===0,t.service.values.CurrentMediaState!==0)),a(),h(" ",d(5,6,"accessories.control.play")," "),a(6),m("ngClass",P(15,je,t.service.values.CurrentMediaState===1,t.service.values.CurrentMediaState!==1)),a(),h(" ",d(12,8,"accessories.control.pause")," "),a(6),m("ngClass",P(18,je,t.service.values.CurrentMediaState===2,t.service.values.CurrentMediaState!==2)),a(),h(" ",d(19,10,"accessories.control.stop")," ")}}function wa(e,n){if(e&1){let t=H();r(0,"h6"),c(1),p(2,"translate"),s(),r(3,"div",12)(4,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(!1,i))}),r(5,"div",8),v(6,"i",9),s(),c(7),p(8,"translate"),r(9,"div",10),v(10,"i",11),s()(),r(11,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(!0,i))}),r(12,"div",8),v(13,"i",9),s(),c(14),p(15,"translate"),r(16,"div",10),v(17,"i",11),s()()()}if(e&2){let t=u();a(),h(" ",d(2,5,"Active"in t.service.values||"TargetMediaState"in t.service.values?"accessories.control.speaker_volume":"menu.label_status")," "),a(5),m("ngClass",P(11,je,!t.targetMode,t.targetMode)),a(),h(" ",d(8,7,"accessories.control.not_mute")," "),a(6),m("ngClass",P(14,je,t.targetMode,!t.targetMode)),a(),h(" ",d(15,9,"accessories.control.mute")," ")}}function Ea(e,n){if(e&1){let t=H();r(0,"h6",13),c(1),p(2,"translate"),s(),r(3,"nouislider",14),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetVolume.value,i)||(l.targetVolume.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onVolumeStateChange())}),s()}if(e&2){let t=u();a(),R("",d(2,6,"accessories.control.speaker_volume"),": ",t.targetVolume.value,"%"),a(2),m("min",t.targetVolume.min)("max",t.targetVolume.max)("step",t.targetVolume.step),z("ngModel",t.targetVolume.value)}}var yn=(()=>{class e{$activeModal=B(Y);service;targetMode;targetVolume;targetVolumeChanged=new ee;constructor(){this.targetVolumeChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)})}ngOnInit(){this.targetMode=this.service.values.Mute,this.loadTargetVolume()}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("Mute").setValue(this.targetMode),o.target.blur()}setActive(t,o){this.service.getCharacteristic("Active").setValue(t),o.target.blur()}setTargetState(t,o){this.service.getCharacteristic("TargetMediaState").setValue(t),o.target.blur()}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetVolume(){let t=this.service.getCharacteristic("Volume");t&&(this.targetVolume={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #ffffff, #ffd966, #ff0000)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:11,vars:7,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Doorbell Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],["role","group","aria-label","Doorbell Mute Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],[1,"mt-4","mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4),_(6,ka,15,14,"div",5)(7,Va,22,21,"div",5),_(8,wa,18,17),_(9,Ea,4,8),s(),v(10,"div",6),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,5,"form.button_close")),a(3),x("Active"in i.service.values?6:"TargetMediaState"in i.service.values?7:-1),a(2),x("Mute"in i.service.values?8:-1),a(),x(i.targetVolume?9:-1))},dependencies:[Z,ne,oe,re,D,w],encapsulation:2})}return e})();var Da=()=>[0,1],Sn=()=>["Speaker","SmartSpeaker"],Pa=(e,n)=>({"switch-on":e,paused:n});function Ia(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.play")," ")}function Aa(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.pause")," ")}function Ba(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.stop")," ")}function Fa(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" \xB7 ",d(1,1,"accessories.control.mute")," ")}function Ha(e,n){if(e&1&&c(0),e&2){let t=u(3);h(" \xB7 ",t.service.values.Volume,"% ")}}function Oa(e,n){if(e&1&&_(0,Ha,1,1),e&2){let t=u(2);x("Volume"in t.service.values?0:-1)}}function La(e,n){if(e&1&&(r(0,"div",4),_(1,Ia,2,3)(2,Aa,2,3)(3,Ba,2,3),_(4,Fa,2,3)(5,Oa,1,1),s()),e&2){let t,o=u();a(),x((t=o.service.values.CurrentMediaState)===0?1:t===1?2:t===2?3:-1),a(3),x("Mute"in o.service.values&&o.service.values.Mute?4:5)}}function Na(e,n){e&1&&(v(0,"div",5),p(1,"translate")),e&2&&m("innerText",d(1,1,"accessories.control.off"))}function Ga(e,n){e&1&&(v(0,"div",5),p(1,"translate")),e&2&&m("innerText",d(1,1,"accessories.control.mute"))}function Ra(e,n){if(e&1&&(r(0,"div",4),c(1),s()),e&2){let t=u();a(),h("",t.service.values.Volume,"%")}}function ja(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.on")))}function Wa(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.doorbell")))}var bn=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){this.readyForControl&&("Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active===0?1:0):"TargetMediaState"in this.service.values?this.service.getCharacteristic("TargetMediaState").setValue(this.service.values.TargetMediaState===0?1:0):"Mute"in this.service.values&&this.service.getCharacteristic("Mute").setValue(!this.service.values.Mute))}onLongClick(){if(this.readyForControl&&("Active"in this.service.values||"TargetMediaState"in this.service.values||"Volume"in this.service.values||"Mute"in this.service.values)){let t=this.$modal.open(yn,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-doorbell"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:11,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,La,6,2,"div",4)(6,Na,2,3,"div",5)(7,Ga,2,3,"div",5)(8,Ra,2,1,"div",4)(9,ja,3,3,"div",4)(10,Wa,3,3,"div",4),s()()),o&2&&(m("ngClass",P(7,Pa,"Active"in i.service.values?i.service.values.Active:"CurrentMediaState"in i.service.values?ue(5,Da).includes(i.service.values.CurrentMediaState):ue(6,Sn).includes(i.service.customType||i.service.type)?"Mute"in i.service.values&&!i.service.values.Mute:!1,"CurrentMediaState"in i.service.values&&i.service.values.CurrentMediaState===1)),a(2),m("inlineSVG","/assets/service-icons/doorbell.svg"),M("aria-label","Doorbell"),a(2),b(i.service.customName||i.service.serviceName),a(),x("CurrentMediaState"in i.service.values?5:"Active"in i.service.values&&!i.service.values.Active?6:"Mute"in i.service.values&&i.service.values.Mute?7:"Volume"in i.service.values?8:ue(10,Sn).includes(i.service.customType||i.service.type)?9:10))},dependencies:[U,O,D,w],encapsulation:2})}return e})();var kt=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Ua(e,n){if(e&1){let t=H();r(0,"h6",12),c(1),p(2,"translate"),s(),r(3,"div",13)(4,"button",6),C("click",function(i){k(t);let l=u();return V(l.setRotationDirection(0,i))}),r(5,"div",7),v(6,"i",8),s(),c(7),p(8,"translate"),r(9,"div",9),v(10,"i",10),s()(),r(11,"button",6),C("click",function(i){k(t);let l=u();return V(l.setRotationDirection(1,i))}),r(12,"div",7),v(13,"i",8),s(),c(14),p(15,"translate"),r(16,"div",9),v(17,"i",10),s()()()}if(e&2){let t=u();a(),b(d(2,5,"accessories.control.rotation_direction")),a(5),m("ngClass",P(11,kt,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),a(),h(" ",d(8,7,"accessories.control.rotation_clockwise")," "),a(6),m("ngClass",P(14,kt,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),a(),h(" ",d(15,9,"accessories.control.rotation_c_clockwise")," ")}}function za(e,n){e&1&&c(0,"%")}function $a(e,n){if(e&1){let t=H();r(0,"h6",12),c(1),p(2,"translate"),_(3,za,1,0),s(),r(4,"nouislider",14),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=u();a(),R(" ",d(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value),a(2),x(t.targetRotationSpeed.unit==="percentage"?3:-1),a(),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),z("ngModel",t.targetRotationSpeed.value)}}var Tn=(()=>{class e{$activeModal=B(Y);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new ee;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.targetMode?(this.targetMode=!0,"On"in this.service.values?this.service.getCharacteristic("On").setValue(this.targetMode):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.targetMode?1:0)):!this.targetRotationSpeed.value&&this.targetMode&&(this.targetMode=!1,"On"in this.service.values?this.service.getCharacteristic("On").setValue(this.targetMode):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.targetMode?1:0))})}ngOnInit(){this.targetMode="On"in this.service.values?this.service.values.On:this.service.values.Active===1,this.loadRotationSpeed(),"RotationDirection"in this.service.values&&(this.hasRotationDirection=!0)}setTargetMode(t,o){this.targetMode=t,"On"in this.service.values?this.service.getCharacteristic("On").setValue(this.targetMode):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.targetMode?1:0),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue),o.target.blur()}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t,o){this.service.getCharacteristic("RotationDirection").setValue(t),o.target.blur()}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:24,vars:20,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5)(7,"button",6),C("click",function(y){return i.setTargetMode(!1,y)}),r(8,"div",7),v(9,"i",8),s(),c(10),p(11,"translate"),r(12,"div",9),v(13,"i",10),s()(),r(14,"button",6),C("click",function(y){return i.setTargetMode(!0,y)}),r(15,"div",7),v(16,"i",8),s(),c(17),p(18,"translate"),r(19,"div",9),v(20,"i",10),s()()(),_(21,Ua,18,17),_(22,$a,5,9),s(),v(23,"div",11),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,8,"form.button_close")),a(6),m("ngClass",P(14,kt,!i.targetMode,i.targetMode)),a(),h(" ",d(11,10,"accessories.control.off")," "),a(6),m("ngClass",P(17,kt,i.targetMode,!i.targetMode)),a(),h(" ",d(18,12,"accessories.control.on")," "),a(4),x(i.hasRotationDirection?21:-1),a(),x(i.targetRotationSpeed?22:-1))},dependencies:[Z,ne,oe,re,D,w],encapsulation:2})}return e})();var qa=e=>({"switch-on":e}),Ka=(e,n)=>({spin:e,"spin-counter":n});function Qa(e,n){if(e&1&&(r(0,"div",4),c(1),s()),e&2){let t=u();a(),R("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit)}}function Za(e,n){if(e&1&&(v(0,"div",5),p(1,"translate")),e&2){let t=u();m("innerText",d(1,1,t.service.values.On||t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}var Mn=(()=>{class e{$modal=B(J);service;readyForControl=!1;rotationSpeedUnit="";hasRotationDirection=!1;ngOnInit(){"RotationSpeed"in this.service.values&&this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed").unit==="percentage"&&(this.rotationSpeedUnit="%"),"RotationDirection"in this.service.values&&(this.hasRotationDirection=!0)}onClick(){this.readyForControl&&("On"in this.service.values?this.service.getCharacteristic("On").setValue(!this.service.values.On):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),"RotationSpeed"in this.service.values&&!this.service.values.On&&!this.service.values.RotationSpeed&&(this.service.values.RotationSpeed=this.service.getCharacteristic("RotationSpeed").maxValue))}onLongClick(){if(this.readyForControl&&("RotationSpeed"in this.service.values||"RotationDirection"in this.service.values)){let t=this.$modal.open(Tn,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-fan"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:7,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,Qa,2,2,"div",4)(6,Za,2,3,"div",5),s()()),o&2&&(m("ngClass",W(6,qa,i.service.values.On||i.service.values.Active)),a(2),m("inlineSVG","/assets/service-icons/fan.svg")("ngClass",P(8,Ka,(i.service.values.On||i.service.values.Active)&&(!i.hasRotationDirection||i.hasRotationDirection&&i.service.values.RotationDirection===0),(i.service.values.On||i.service.values.Active)&&i.hasRotationDirection&&i.service.values.RotationDirection===1)),M("aria-label","Fan"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.On&&i.service.values.RotationSpeed?5:6))},dependencies:[U,D,O,w],styles:[".spin svg g .fan-blades{animation:_ngcontent-%COMP%_fa-spin 2s infinite linear;transform-origin:53.5% 50%} .spin-counter svg g .fan-blades{animation:_ngcontent-%COMP%_fa-spin-counter 2s infinite linear;transform-origin:53.5% 50%}@keyframes _ngcontent-%COMP%_fa-spin{0%{transform:rotate(0)}to{transform:rotate(-359deg)}}@keyframes _ngcontent-%COMP%_fa-spin-counter{0%{transform:rotate(0)}to{transform:rotate(-359deg)}}"]})}return e})();var kn=(()=>{class e{$activeModal=B(Y);service;targetMode;ngOnInit(){setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to right, #8B4513, #4169E1)"})},10)}resetFilterLife(t){this.service.getCharacteristic("ResetFilterIndication").setValue(1),t.target.blur()}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:15,vars:16,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mb-4"],[3,"ngModelChange","min","max","step","disabled","ngModel"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mt-5","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"modal-footer"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"h6",5),c(7),p(8,"translate"),s(),r(9,"nouislider",6),q("ngModelChange",function(y){return $(i.service.values.FilterLifeLevel,y)||(i.service.values.FilterLifeLevel=y),y}),s(),r(10,"div",7)(11,"button",8),C("click",function(y){return i.resetFilterLife(y)}),c(12),p(13,"translate"),s()()(),v(14,"div",9),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,10,"form.button_close")),a(4),R("",d(8,12,"accessories.control.filter_level"),": ",i.service.values.FilterLifeLevel,"%"),a(2),m("min",0)("max",100)("step",1)("disabled",!0),z("ngModel",i.service.values.FilterLifeLevel),a(3),h(" ",d(13,14,"form.button_reset")," "))},dependencies:[Z,ne,oe,re,w],encapsulation:2})}return e})();var Ya=(e,n)=>({replace:e,dirty:n}),Ja=e=>({"red-text":e});function Xa(e,n){e&1&&(c(0," \xB7 "),r(1,"span",6),c(2),p(3,"translate"),s()),e&2&&(a(2),b(d(3,1,"accessories.control.replace")))}var Vn=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){if(!this.readyForControl)return;let t=this.$modal.open(kn,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-filter-maintenance"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:9,vars:12,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[3,"ngClass"],[1,"red-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),r(5,"div",4)(6,"span",5),c(7),s(),_(8,Xa,4,3),s()()()),o&2&&(m("ngClass",P(7,Ya,i.service.values.FilterChangeIndication===1||i.service.values.FilterLifeLevel<10,i.service.values.FilterChangeIndication!==1&&i.service.values.FilterLifeLevel<50)),a(2),m("inlineSVG","/assets/service-icons/filter-maintenance.svg"),M("aria-label","Filter Maintenance"),a(2),b(i.service.customName||i.service.serviceName),a(2),m("ngClass",W(10,Ja,i.service.values.FilterChangeIndication===1)),a(),h(" ",i.service.values.FilterLifeLevel,"% "),a(),x(i.service.values.FilterChangeIndication===1?8:-1))},dependencies:[O,D,U,w],styles:[".dirty svg .status{fill:#ff9800!important} .replace svg .status{fill:#d32f2f!important} body.dark-mode svg .back{fill:#2b2b2b!important}"]})}return e})();var es=()=>[0,2,3,4],ts=(e,n,t,o,i,l,y)=>({"switch-on":e,opening:n,open:t,closing:o,closed:i,stopped:l,obstructed:y});function is(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.obstructed")))}function ns(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.open")))}function os(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.closed")))}function rs(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),h("",d(2,1,"accessories.control.opening"),"..."))}function as(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),h("",d(2,1,"accessories.control.closing"),"..."))}function ss(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.stopped")))}function ls(e,n){if(e&1&&_(0,ns,3,3,"div",4)(1,os,3,3,"div",5)(2,rs,3,3,"div",4)(3,as,3,3,"div",4)(4,ss,3,3,"div",4),e&2){let t,o=u();x((t=o.service.values.CurrentDoorState)===0?0:t===1?1:t===2?2:t===3?3:t===4?4:-1)}}function cs(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.open")))}function ps(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.closed")))}function ds(e,n){if(e&1&&_(0,cs,3,3,"div",4)(1,ps,3,3,"div",5),e&2){let t=u();x(t.service.values.On||t.service.values.Active?0:1)}}var wn=(()=>{class e{service;readyForControl=!1;onClick(){this.readyForControl&&("TargetDoorState"in this.service.values?this.service.getCharacteristic("TargetDoorState").setValue(this.service.values.TargetDoorState?0:1):"On"in this.service.values?this.service.getCharacteristic("On").setValue(!this.service.values.On):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(!this.service.values.Active))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-garage-door-opener"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:8,vars:14,consts:[["tabindex","0",1,"accessory-box",3,"shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,is,3,3,"div",4)(6,ls,5,1)(7,ds,2,1),s()()),o&2&&(m("ngClass",ji(6,ts,i.service.values.ObstructionDetected||ue(5,es).includes(i.service.values.CurrentDoorState)||i.service.values.On||i.service.values.Active,i.service.values.CurrentDoorState===2&&!i.service.values.ObstructionDetected,i.service.values.CurrentDoorState===0&&!i.service.values.ObstructionDetected,i.service.values.CurrentDoorState===3&&!i.service.values.ObstructionDetected,i.service.values.CurrentDoorState===1&&!i.service.values.ObstructionDetected,i.service.values.CurrentDoorState===4&&!i.service.values.ObstructionDetected,i.service.values.ObstructionDetected)),a(2),m("inlineSVG","/assets/service-icons/garage-door.svg"),M("aria-label","Garage Door"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.ObstructionDetected?5:"CurrentDoorState"in i.service.values?6:7))},dependencies:[U,D,O,w],styles:[".opening svg .window{fill:#ff9800!important;fill-opacity:.5!important} .opening svg .line{animation:_ngcontent-%COMP%_fade-out .5s ease-in-out forwards} .opening svg .line1{animation-delay:9.282s} .opening svg .line2{animation-delay:8.568s} .opening svg .line3{animation-delay:7.854s} .opening svg .line4{animation-delay:7.14s} .opening svg .line5{animation-delay:6.426s} .opening svg .line6{animation-delay:5.712s} .opening svg .line7{animation-delay:4.998s} .opening svg .line8{animation-delay:4.284s} .opening svg .line9{animation-delay:3.57s} .opening svg .line10{animation-delay:2.856s} .opening svg .line11{animation-delay:2.142s} .opening svg .line12{animation-delay:1.428s} .opening svg .line13{animation-delay:.714s} .opening svg .line14{animation-delay:0s}@keyframes _ngcontent-%COMP%_fade-out{to{opacity:0}} .open .window{fill:#d32f2f!important;fill-opacity:.5!important} .open .line{opacity:0} .closing svg .window{fill:#ff9800!important;fill-opacity:.5!important} .closing svg .line{opacity:0;animation:_ngcontent-%COMP%_fade-in .5s ease-in-out forwards} .closing svg .line1{animation-delay:0s} .closing svg .line2{animation-delay:.714s} .closing svg .line3{animation-delay:1.428s} .closing svg .line4{animation-delay:2.142s} .closing svg .line5{animation-delay:2.856s} .closing svg .line6{animation-delay:3.57s} .closing svg .line7{animation-delay:4.284s} .closing svg .line8{animation-delay:4.998s} .closing svg .line9{animation-delay:5.712s} .closing svg .line10{animation-delay:6.426s} .closing svg .line11{animation-delay:7.14s} .closing svg .line12{animation-delay:7.854s} .closing svg .line13{animation-delay:8.568s} .closing svg .line14{animation-delay:9.282s}@keyframes _ngcontent-%COMP%_fade-in{to{opacity:1}} .closed .window{fill:#4caf50!important;fill-opacity:.5!important} .closed .line{opacity:1} .stopped .window{fill:#d32f2f!important} .stopped .line7, .stopped .line8, .stopped .line9, .stopped .line10, .stopped .line11, .stopped .line12, .stopped .line13, .stopped .line14{opacity:0} .obstructed .window{animation:_ngcontent-%COMP%_flash 2s infinite;fill:#d32f2f!important}@keyframes _ngcontent-%COMP%_flash{0%,to{fill-opacity:.5}50%{fill-opacity:.1}} .obstructed .line7, .obstructed .line8, .obstructed .line9, .obstructed .line10, .obstructed .line11, .obstructed .line12, .obstructed .line13, .obstructed .line14{opacity:0}"]})}return e})();var ms=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),ot=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function us(e,n){if(e&1){let t=H();r(0,"button",7),C("click",function(i){k(t);let l=u(2);return V(l.setTargetMode(0,i))}),r(1,"div",8),v(2,"i",9),s(),c(3),p(4,"translate"),r(5,"div",10),v(6,"i",11),s()()}if(e&2){let t=u(2);a(2),m("ngClass",P(4,ot,t.targetMode===0,t.targetMode!==0)),a(),h(" ",d(4,2,"accessories.control.auto")," ")}}function vs(e,n){if(e&1){let t=H();r(0,"button",7),C("click",function(i){k(t);let l=u(2);return V(l.setTargetMode(1,i))}),r(1,"div",8),v(2,"i",9),s(),c(3),p(4,"translate"),r(5,"div",10),v(6,"i",11),s()()}if(e&2){let t=u(2);a(2),m("ngClass",P(4,ot,t.targetMode===1,t.targetMode!==1)),a(),h(" ",d(4,2,"accessories.control.heat")," ")}}function gs(e,n){if(e&1){let t=H();r(0,"button",7),C("click",function(i){k(t);let l=u(2);return V(l.setTargetMode(2,i))}),r(1,"div",8),v(2,"i",9),s(),c(3),p(4,"translate"),r(5,"div",10),v(6,"i",11),s()()}if(e&2){let t=u(2);a(2),m("ngClass",P(4,ot,t.targetMode===2,t.targetMode!==2)),a(),h(" ",d(4,2,"accessories.control.cool")," ")}}function fs(e,n){if(e&1&&(r(0,"h6",13),c(1),p(2,"translate"),s(),r(3,"div",14),_(4,us,7,7,"button",15),_(5,vs,7,7,"button",15),_(6,gs,7,7,"button",15),s()),e&2){let t=u();a(),b(d(2,4,"accessories.control.mode")),a(3),x(t.targetStateValidValues.includes(0)?4:-1),a(),x(t.targetStateValidValues.includes(1)?5:-1),a(),x(t.targetStateValidValues.includes(2)?6:-1)}}function Cs(e,n){if(e&1){let t=H();r(0,"h6",16),c(1),p(2,"translate"),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),p(6,"convertTemp"),p(7,"number"),p(8,"uppercase"),s(),r(9,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.autoTemp,i)||(l.autoTemp=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onAutoTemperatureStateChange())}),s()}if(e&2){let t=u(2);a(),ft(" ",d(2,9,"accessories.control.target_auto"),": ",ae(4,13,d(3,11,t.autoTemp[0]),"1.0-1"),"\xB0",d(5,16,t.temperatureUnits)," - ",ae(7,20,d(6,18,t.autoTemp[1]),"1.0-1"),"\xB0",d(8,23,t.temperatureUnits)," "),a(8),m("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),z("ngModel",t.autoTemp)}}function hs(e,n){if(e&1){let t=H();r(0,"h6",13),c(1),p(2,"translate"),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),s(),r(6,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onTemperatureStateChange())}),s()}if(e&2){let t=u(2);a(),He(" ",d(2,7,"accessories.control.target_auto"),": ",ae(4,11,d(3,9,t.targetHeatingTemp),"1.0-1"),"\xB0",d(5,14,t.temperatureUnits)," "),a(5),m("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),z("ngModel",t.targetHeatingTemp)}}function _s(e,n){if(e&1){let t=H();r(0,"h6",13),c(1),p(2,"translate"),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),s(),r(6,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onTemperatureStateChange())}),s()}if(e&2){let t=u(2);a(),He(" ",d(2,7,"accessories.control.target_auto"),": ",ae(4,11,d(3,9,t.targetCoolingTemp),"1.0-1"),"\xB0",d(5,14,t.temperatureUnits)," "),a(5),m("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),z("ngModel",t.targetCoolingTemp)}}function xs(e,n){if(e&1&&_(0,Cs,10,25)(1,hs,7,16)(2,_s,7,16),e&2){let t=u();x(t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?0:t.HeatingThresholdTemperature&&!t.CoolingThresholdTemperature?1:!t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?2:-1)}}var En=(()=>{class e{$activeModal=B(Y);$settings=B(De);service;temperatureUnits=this.$settings.env.temperatureUnits;targetState;targetMode;targetTemperatureChanged=new ee;targetStateValidValues=[];CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;constructor(){this.targetTemperatureChanged.pipe(te(500)).subscribe(()=>{this.HeatingThresholdTemperature&&this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp),this.CoolingThresholdTemperature&&this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp)})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHeaterCoolerState,this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.targetStateValidValues=this.service.getCharacteristic("TargetHeaterCoolerState").validValues,this.loadTargetTemperature(),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}setTargetState(t,o){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetTemperature(),o.target.blur()}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("TargetHeaterCoolerState").setValue(this.targetMode),this.loadTargetTemperature(),o.target.blur()}onTemperatureStateChange(){this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetTemperatureChanged.next(void 0)}onAutoTemperatureStateChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.targetTemperatureChanged.next(void 0)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetTemperature(){this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:28,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"temperature-circle","temperature-circle-big","mb-4",3,"innerText","ngClass"],["role","group","aria-label","Heater Cooler State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Heater Cooler Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"mt-4","mb-1"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4),v(6,"div",5),p(7,"convertTemp"),p(8,"number"),p(9,"uppercase"),r(10,"div",6)(11,"button",7),C("click",function(y){return i.setTargetState(0,y)}),r(12,"div",8),v(13,"i",9),s(),c(14),p(15,"translate"),r(16,"div",10),v(17,"i",11),s()(),r(18,"button",7),C("click",function(y){return i.setTargetState(1,y)}),r(19,"div",8),v(20,"i",9),s(),c(21),p(22,"translate"),r(23,"div",10),v(24,"i",11),s()()(),_(25,fs,7,6),_(26,xs,3,1),s(),v(27,"div",12),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,10,"form.button_close")),a(3),m("innerText",ae(8,14,d(7,12,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+d(9,17,i.temperatureUnits))("ngClass",ye(23,ms,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),a(7),m("ngClass",P(27,ot,i.targetState===0,i.targetState!==0)),a(),h(" ",d(15,19,"accessories.control.off")," "),a(6),m("ngClass",P(30,ot,i.targetState===1,i.targetState!==1)),a(),h(" ",d(22,21,"accessories.control.on")," "),a(4),x(i.targetStateValidValues.length?25:-1),a(),x(i.targetStateValidValues.includes(0)?26:-1))},dependencies:[D,Z,ne,oe,re,Te,w,Pe,Ee],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var ys=e=>({"switch-on":e}),Ss=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function bs(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.off")," ")}function Ts(e,n){if(e&1&&(v(0,"i",5),c(1),p(2,"convertTemp"),p(3,"number"),p(4,"uppercase"),p(5,"convertTemp"),p(6,"number"),p(7,"uppercase")),e&2){let t=u(2);a(),Gi(" ",ae(3,6,d(2,4,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0",d(4,9,t.temperatureUnits)," - ",ae(6,13,d(5,11,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0",d(7,16,t.temperatureUnits)," ")}}function Ms(e,n){if(e&1&&(v(0,"i",5),c(1),p(2,"convertTemp"),p(3,"number"),p(4,"uppercase")),e&2){let t=u(2);a(),R(" ",ae(3,4,d(2,2,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0",d(4,7,t.temperatureUnits)," ")}}function ks(e,n){if(e&1&&(v(0,"i",5),c(1),p(2,"convertTemp"),p(3,"number"),p(4,"uppercase")),e&2){let t=u(2);a(),R(" ",ae(3,4,d(2,2,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0",d(4,7,t.temperatureUnits)," ")}}function Vs(e,n){if(e&1&&_(0,Ts,8,18)(1,Ms,5,9)(2,ks,5,9),e&2){let t=u();x(t.hasHeating&&t.hasCooling?0:t.hasHeating&&!t.hasCooling?1:!t.hasHeating&&t.hasCooling?2:-1)}}function ws(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.heat")," ")}function Es(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.cool")," ")}function Ds(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.on")," ")}var Dn=(()=>{class e{$modal=B(J);$settings=B(De);service;readyForControl=!1;type;temperatureUnits=this.$settings.env.temperatureUnits;hasHeating=!1;hasCooling=!1;ngOnInit(){this.hasHeating="HeatingThresholdTemperature"in this.service.values,this.hasCooling="CoolingThresholdTemperature"in this.service.values}onClick(){this.readyForControl&&("Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(!this.service.values.On))}onLongClick(){if(this.readyForControl&&"TargetHeaterCoolerState"in this.service.values){let t=this.$modal.open(En,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-heater-cooler"]],inputs:{service:"service",readyForControl:"readyForControl",type:"type"},decls:14,vars:18,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),r(6,"div",3),c(7),s(),r(8,"div",4),_(9,bs,2,3)(10,Vs,3,1)(11,ws,2,3)(12,Es,2,3)(13,Ds,2,3),s()()()),o&2&&(m("ngClass",W(12,ys,i.service.values.Active||i.service.values.On)),a(2),m("innerText","CurrentTemperature"in i.service.values?ae(4,7,d(3,5,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+d(5,10,i.temperatureUnits):"")("ngClass",ye(14,Ss,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1||i.type==="cooler"&&(i.service.values.Active||i.service.values.On),i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1||i.type==="heater"&&(i.service.values.Active||i.service.values.On),i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),a(5),b(i.service.customName||i.service.serviceName),a(2),x("Active"in i.service.values&&!i.service.values.Active||"On"in i.service.values&&!i.service.values.On?9:i.service.values.TargetHeaterCoolerState===0&&(i.hasHeating||i.hasCooling)?10:i.service.values.TargetHeaterCoolerState===1?11:i.service.values.TargetHeaterCoolerState===2?12:13))},dependencies:[U,D,Te,w,Pe,Ee],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Ps=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t}),rt=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Is(e,n){if(e&1){let t=H();r(0,"button",8),C("click",function(i){k(t);let l=u(2);return V(l.setTargetMode(0,i))}),r(1,"div",9),v(2,"i",10),s(),c(3),p(4,"translate"),r(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=u(2);a(2),m("ngClass",P(4,rt,t.targetMode===0,t.targetMode!==0)),a(),h(" ",d(4,2,"accessories.control.auto")," ")}}function As(e,n){if(e&1){let t=H();r(0,"button",8),C("click",function(i){k(t);let l=u(2);return V(l.setTargetMode(1,i))}),r(1,"div",9),v(2,"i",10),s(),c(3),p(4,"translate"),r(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=u(2);a(2),m("ngClass",P(4,rt,t.targetMode===1,t.targetMode!==1)),a(),h(" ",d(4,2,"accessories.control.humidify")," ")}}function Bs(e,n){if(e&1){let t=H();r(0,"button",8),C("click",function(i){k(t);let l=u(2);return V(l.setTargetMode(2,i))}),r(1,"div",9),v(2,"i",10),s(),c(3),p(4,"translate"),r(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=u(2);a(2),m("ngClass",P(4,rt,t.targetMode===2,t.targetMode!==2)),a(),h(" ",d(4,2,"accessories.control.dehumidify")," ")}}function Fs(e,n){if(e&1&&(r(0,"h6",14),c(1),p(2,"translate"),s(),r(3,"div",15),_(4,Is,7,7,"button",16),_(5,As,7,7,"button",16),_(6,Bs,7,7,"button",16),s()),e&2){let t=u();a(),b(d(2,4,"accessories.control.mode")),a(3),x(t.targetStateValidValues.includes(0)?4:-1),a(),x(t.targetStateValidValues.includes(1)?5:-1),a(),x(t.targetStateValidValues.includes(2)?6:-1)}}function Hs(e,n){if(e&1){let t=H();r(0,"h6",14),c(1),p(2,"translate"),s(),r(3,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.autoHumidity,i)||(l.autoHumidity=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onAutoHumidityStateChange())}),s()}if(e&2){let t=u(2);a(),He(" ",d(2,7,"accessories.control.target_auto"),": ",t.autoHumidity[0],"% - ",t.autoHumidity[1],"% "),a(2),m("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),z("ngModel",t.autoHumidity)}}function Os(e,n){if(e&1){let t=H();r(0,"h6",14),c(1),p(2,"translate"),s(),r(3,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.targetHumidifierHumidity,i)||(l.targetHumidifierHumidity=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onHumidityStateChange())}),s()}if(e&2){let t=u(2);a(),R("",d(2,6,"accessories.control.target_auto"),": ",t.targetHumidifierHumidity,"%"),a(2),m("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityHumidifierThreshold.maxValue)("step",t.RelativeHumidityHumidifierThreshold.minStep),z("ngModel",t.targetHumidifierHumidity)}}function Ls(e,n){if(e&1){let t=H();r(0,"h6",14),c(1),p(2,"translate"),s(),r(3,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.targetDehumidifierHumidity,i)||(l.targetDehumidifierHumidity=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onHumidityStateChange())}),s()}if(e&2){let t=u(2);a(),R("",d(2,6,"accessories.control.target_auto"),": ",t.targetDehumidifierHumidity,"%"),a(2),m("min",t.RelativeHumidityDehumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),z("ngModel",t.targetDehumidifierHumidity)}}function Ns(e,n){if(e&1&&_(0,Hs,4,9)(1,Os,4,8)(2,Ls,4,8),e&2){let t=u();x(t.RelativeHumidityHumidifierThreshold&&t.RelativeHumidityDehumidifierThreshold?0:t.RelativeHumidityHumidifierThreshold&&!t.RelativeHumidityDehumidifierThreshold?1:!t.RelativeHumidityHumidifierThreshold&&t.RelativeHumidityDehumidifierThreshold?2:-1)}}var Pn=(()=>{class e{$activeModal=B(Y);service;targetState;targetMode;targetHumidityChanged=new ee;targetStateValidValues=[];RelativeHumidityDehumidifierThreshold;RelativeHumidityHumidifierThreshold;targetDehumidifierHumidity;targetHumidifierHumidity;autoHumidity;constructor(){this.targetHumidityChanged.pipe(te(500)).subscribe(()=>{this.RelativeHumidityHumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.targetHumidifierHumidity),this.RelativeHumidityDehumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.targetDehumidifierHumidity)})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHumidifierDehumidifierState,this.RelativeHumidityDehumidifierThreshold=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"),this.RelativeHumidityHumidifierThreshold=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.targetStateValidValues=this.service.getCharacteristic("TargetHumidifierDehumidifierState").validValues,this.loadTargetHumidity(),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to left, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}loadTargetHumidity(){this.targetDehumidifierHumidity=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")?.value,this.targetHumidifierHumidity=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity]}setTargetState(t,o){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetHumidity(),o.target.blur()}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("TargetHumidifierDehumidifierState").setValue(this.targetMode),this.loadTargetHumidity(),o.target.blur()}onHumidityStateChange(){this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity],this.targetHumidityChanged.next(void 0)}onAutoHumidityStateChange(){this.targetHumidifierHumidity=this.autoHumidity[0],this.targetDehumidifierHumidity=this.autoHumidity[1],this.targetHumidityChanged.next(void 0)}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:26,vars:26,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"humidity-drop","humidity-drop-big","mb-3",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],["role","group","aria-label","Humidifier Dehumidifier State Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group","aria-label","Humidifier Dehumidifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5),v(7,"div",6),s(),r(8,"div",7)(9,"button",8),C("click",function(y){return i.setTargetState(0,y)}),r(10,"div",9),v(11,"i",10),s(),c(12),p(13,"translate"),r(14,"div",11),v(15,"i",12),s()(),r(16,"button",8),C("click",function(y){return i.setTargetState(1,y)}),r(17,"div",9),v(18,"i",10),s(),c(19),p(20,"translate"),r(21,"div",11),v(22,"i",12),s()()(),_(23,Fs,7,6),_(24,Ns,3,1),s(),v(25,"div",13),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,10,"form.button_close")),a(3),m("ngClass",ye(16,Ps,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),a(),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),a(4),m("ngClass",P(20,rt,i.targetState===0,i.targetState!==0)),a(),h(" ",d(13,12,"accessories.control.off")," "),a(6),m("ngClass",P(23,rt,i.targetState===1,i.targetState!==1)),a(),h(" ",d(20,14,"accessories.control.on")," "),a(4),x(i.targetStateValidValues.length?23:-1),a(),x(i.targetStateValidValues.includes(0)?24:-1))},dependencies:[D,Z,ne,oe,re,w],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:45px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:29px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:0}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-4px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:76px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-3px}@keyframes _ngcontent-%COMP%_animate-humidifying{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-dehumidifying{0%{background-position:0 0}to{background-position:0 100%}}.humidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-dehumidifying 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.dehumidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-humidifying 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Gs=e=>({"switch-on":e}),Rs=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t});function js(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.off")," ")}function Ws(e,n){if(e&1&&(v(0,"i",6),c(1)),e&2){let t=u(2);a(),R(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% - ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function Us(e,n){if(e&1&&(v(0,"i",6),c(1)),e&2){let t=u(2);a(),h(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% ")}}function zs(e,n){if(e&1&&(v(0,"i",6),c(1)),e&2){let t=u(2);a(),h(" ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function $s(e,n){if(e&1&&_(0,Ws,2,2)(1,Us,2,1)(2,zs,2,1),e&2){let t=u();x(t.hasHumidifier&&t.hasDehumidifier?0:t.hasHumidifier&&!t.hasDehumidifier?1:!t.hasHumidifier&&t.hasDehumidifier?2:-1)}}function qs(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.humidify")," ")}function Ks(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.dehumidify")," ")}function Qs(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.on")," ")}function Zs(e,n){if(e&1&&_(0,Ks,2,3)(1,Qs,2,3),e&2){let t=u();x(t.service.values.TargetHumidifierDehumidifierState===2?0:1)}}var In=(()=>{class e{$modal=B(J);service;readyForControl=!1;type;hasHumidifier=!1;hasDehumidifier=!1;ngOnInit(){this.hasHumidifier="RelativeHumidityHumidifierThreshold"in this.service.values,this.hasDehumidifier="RelativeHumidityDehumidifierThreshold"in this.service.values}onClick(){this.readyForControl&&("Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(!this.service.values.On))}onLongClick(){if(this.readyForControl&&"TargetHumidifierDehumidifierState"in this.service.values){let t=this.$modal.open(Pn,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-humidifier-dehumidifier"]],inputs:{service:"service",readyForControl:"readyForControl",type:"type"},decls:11,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1)(2,"div",2),v(3,"div",3),s(),r(4,"div",4),c(5),s(),r(6,"div",5),_(7,js,2,3)(8,$s,3,1)(9,qs,2,3)(10,Zs,2,1),s()()()),o&2&&(m("ngClass",W(5,Gs,i.service.values.Active||i.service.values.On)),a(2),m("ngClass",ye(7,Rs,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1||i.type==="dehumidifier"&&(i.service.values.Active||i.service.values.On),i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1||i.type==="humidifier"&&(i.service.values.Active||i.service.values.On),i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),a(),m("innerText","CurrentRelativeHumidity"in i.service.values?i.service.values.CurrentRelativeHumidity+"%":""),a(2),b(i.service.customName||i.service.serviceName),a(2),x("Active"in i.service.values&&!i.service.values.Active||"On"in i.service.values&&!i.service.values.On?7:i.service.values.TargetHumidifierDehumidifierState===0&&(i.hasHumidifier||i.hasDehumidifier)?8:i.service.values.TargetHumidifierDehumidifierState===1?9:10))},dependencies:[U,D,w],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:45px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:29px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:0}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-4px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:76px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-3px}@keyframes _ngcontent-%COMP%_animate-humidifying{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-dehumidifying{0%{background-position:0 0}to{background-position:0 100%}}.humidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-dehumidifying 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.dehumidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-humidifying 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var An=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-humidity-sensor"]],inputs:{service:"service"},decls:6,vars:2,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(Ke(0,"div",0)(1,"div",1)(2,"div",2),Qe(3,"div",3),Xe(),Ke(4,"div",4),c(5),Xe()()()),o&2&&(a(3),gt("innerText",(typeof i.service.values.CurrentRelativeHumidity=="number"?i.service.values.CurrentRelativeHumidity:"?")+"%"),a(2),b(i.service.customName||i.service.serviceName))},styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}"]})}return e})();var Ys=e=>({"switch-on":e});function Js(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.running")))}function Xs(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.off")))}var Bn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-irrigation-system"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,Js,3,3,"div",4)(6,Xs,3,3,"div",4),s()()),o&2&&(m("ngClass",W(5,Ys,i.service.values.InUse)),a(2),m("inlineSVG","/assets/service-icons/irrigation-system.svg"),M("aria-label","Irrigation System"),a(2),h(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),a(),x(i.service.values.InUse?5:6))},dependencies:[D,O,w],styles:[".switch-on svg .field{fill:#4caf50} .switch-on svg .pipe{animation:_ngcontent-%COMP%_pulse 5s infinite}@keyframes _ngcontent-%COMP%_pulse{0%,to{stroke:#7f7f7f;stroke-opacity:.5}50%{stroke:#1976d2;stroke-opacity:1}}"]})}return e})();var el=e=>({"switch-on":e});function tl(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.detected")))}function il(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.not_detected")))}var Fn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-leak-sensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,tl,3,3,"div",4)(6,il,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,el,i.service.values.LeakDetected)),a(2),m("inlineSVG","/assets/service-icons/leak-sensor.svg"),M("aria-label","Leak Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.LeakDetected?5:6))},dependencies:[D,O,w],styles:[".switch-on svg .red-outline{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{stroke-opacity:.8}50%{stroke-opacity:.2}}"]})}return e})();var Hn=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),nl=(e,n)=>({"off-text":e,"on-text":n}),ei=(e,n)=>({"mb-1":e,"":n});function ol(e,n){e&1&&v(0,"div")}function rl(e,n){if(e&1&&(r(0,"div",11)(1,"div",13)(2,"div",7),v(3,"i",14),s(),c(4),p(5,"translate"),r(6,"div",9),v(7,"i",10),s()()()),e&2){let t=u();a(3),m("ngClass",P(5,nl,!t.isAdaptiveLightingEnabled,t.isAdaptiveLightingEnabled)),a(),R(" ",d(5,3,"accessories.control.adaptive_lighting"),": ",t.isAdaptiveLightingEnabled?"ON":"OFF"," ")}}function al(e,n){if(e&1){let t=H();r(0,"h6",15),c(1),p(2,"translate"),s(),r(3,"nouislider",16),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetBrightness.value,i)||(l.targetBrightness.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onBrightnessStateChange())}),s()}if(e&2){let t=u();a(),R("",d(2,6,"accessories.control.brightness"),": ",t.targetBrightness.value,"%"),a(2),m("min",t.targetBrightness.min)("max",t.targetBrightness.max)("step",t.targetBrightness.step),z("ngModel",t.targetBrightness.value)}}function sl(e,n){e&1&&(r(0,"div",18)(1,"span",19),c(2),p(3,"translate"),s()()),e&2&&(a(2),b(d(3,1,"accessories.control.adaptive_lighting_note")))}function ll(e,n){if(e&1){let t=H();r(0,"h6",15),c(1),p(2,"translate"),s(),r(3,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetHue.value,i)||(l.targetHue.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onHueStateChange())}),s(),_(4,sl,4,3,"div",18)}if(e&2){let t=u();a(),R("",d(2,8,"accessories.control.hue"),": ",t.targetHue.value,"\xB0"),a(2),m("min",0)("max",360)("step",1),z("ngModel",t.targetHue.value),m("ngClass",P(10,ei,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),a(),x(t.isAdaptiveLightingEnabled?4:-1)}}function cl(e,n){e&1&&(r(0,"div",18)(1,"span",19),c(2),p(3,"translate"),s()()),e&2&&(a(2),b(d(3,1,"accessories.control.adaptive_lighting_note")))}function pl(e,n){if(e&1){let t=H();r(0,"h6",15),c(1),p(2,"translate"),s(),r(3,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetSaturation.value,i)||(l.targetSaturation.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onSaturationStateChange())}),s(),_(4,cl,4,3,"div",18)}if(e&2){let t=u();a(),R("",d(2,8,"accessories.control.saturation"),": ",t.targetSaturation.value,"%"),a(2),m("min",0)("max",100)("step",1),z("ngModel",t.targetSaturation.value),m("ngClass",P(10,ei,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),a(),x(t.isAdaptiveLightingEnabled?4:-1)}}function dl(e,n){e&1&&(r(0,"div",18)(1,"span",19),c(2),p(3,"translate"),s()()),e&2&&(a(2),b(d(3,1,"accessories.control.adaptive_lighting_note")))}function ml(e,n){if(e&1){let t=H();r(0,"h6",15),c(1),p(2,"translate"),p(3,"convertMired"),s(),r(4,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetColorTemperature.value,i)||(l.targetColorTemperature.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onColorTemperatureStateChange())}),s(),_(5,dl,4,3,"div",18)}if(e&2){let t=u();a(),R(" ",d(2,8,"accessories.control.color_temperature"),": ",d(3,10,t.targetColorTemperature.mired)," "),a(3),m("min",t.targetColorTemperature.min)("max",t.targetColorTemperature.max)("step",t.targetColorTemperature.step),z("ngModel",t.targetColorTemperature.value),m("ngClass",P(12,ei,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),a(),x(t.isAdaptiveLightingEnabled?5:-1)}}var On=(()=>{class e{$activeModal=B(Y);service;isAdaptiveLightingEnabled$;targetMode;targetBrightness;targetBrightnessChanged=new ee;targetHue;targetHueChanged=new ee;targetSaturation;targetSaturationChanged=new ee;targetColorTemperature;targetColorTemperatureChanged=new ee;hasAdaptiveLighting=!1;isAdaptiveLightingEnabled=!1;sliderIndex=0;constructor(){this.targetBrightnessChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("Brightness").setValue(this.targetBrightness.value),this.targetBrightness.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetBrightness.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))}),this.targetHueChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("Hue").setValue(this.targetHue.value)}),this.targetSaturationChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("Saturation").setValue(this.targetSaturation.value)}),this.targetColorTemperatureChanged.pipe(te(500)).subscribe(t=>{this.service.getCharacteristic("ColorTemperature").setValue(t)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetBrightness(),this.loadTargetHue(),this.loadTargetSaturation(),this.loadTargetColorTemperature()}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetBrightness&&!this.targetBrightness.value&&(this.targetBrightness.value=this.service.getCharacteristic("Brightness").maxValue),o.target.blur()}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}onHueStateChange(){this.targetHueChanged.next(this.targetHue.value);let t=document.querySelectorAll(".noUi-target")[this.sliderIndex-1];if(t){let o=this.targetHue.value;t.style.background=`linear-gradient(to right,
2
- hsl(${o}, 0%, 50%),
3
- hsl(${o}, 100%, 50%))`}}onSaturationStateChange(){this.targetSaturationChanged.next(this.targetSaturation.value)}onColorTemperatureStateChange(){let t=this.kelvinToMired(this.targetColorTemperature.value);this.targetColorTemperature.mired=t,this.targetColorTemperatureChanged.next(t)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetBrightness(){let t=this.service.getCharacteristic("Brightness");t&&(this.targetBrightness={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];o&&(o.style.background="linear-gradient(to right, #242424, #ffd6aa)",this.sliderIndex+=1)},10))}loadTargetHue(){this.service.getCharacteristic("Hue")&&(this.targetHue={value:this.service.getCharacteristic("Hue").value},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];o&&(o.style.background=`linear-gradient(to right,
4
- hsl(0, 100%, 50%),
5
- hsl(60, 100%, 50%),
6
- hsl(120, 100%, 50%),
7
- hsl(180, 100%, 50%),
8
- hsl(240, 100%, 50%),
9
- hsl(300, 100%, 50%),
10
- hsl(360, 100%, 50%))`),this.sliderIndex+=1},10))}loadTargetSaturation(){this.service.getCharacteristic("Saturation")&&(this.targetSaturation={value:this.service.getCharacteristic("Saturation").value},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];if(o){let i=this.targetHue.value||0;o.style.background=`linear-gradient(to right,
11
- hsl(${i}, 0%, 50%),
12
- hsl(${i}, 100%, 50%))`}this.sliderIndex+=1},10))}loadTargetColorTemperature(){let t=this.service.getCharacteristic("ColorTemperature");t&&(this.targetColorTemperature={value:this.miredToKelvin(t.value),mired:t.value,min:this.miredToKelvin(t.maxValue),max:this.miredToKelvin(t.minValue),step:t.minStep},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];if(o){let i=this.kelvinToHsl(this.targetColorTemperature.min),l=this.kelvinToHsl(this.targetColorTemperature.max);o.style.background=`linear-gradient(to right, ${i}, ${l})`}},10),this.isAdaptiveLightingEnabled$&&(this.hasAdaptiveLighting=!0,this.isAdaptiveLightingEnabled$.subscribe(o=>{this.isAdaptiveLightingEnabled=o})))}miredToKelvin(t){return Math.round(1e6/t)}kelvinToMired(t){return Math.round(1e6/t)}kelvinToHsl(t){let o=t/100,i,l,y;o<=66?(i=255,l=Math.min(99.4708025861*Math.log(o)-161.1195681661,255),y=o<=19?0:Math.min(138.5177312231*Math.log(o-10)-305.0447927307,255)):(i=Math.min(329.698727446*(o-60)**-.1332047592,255),l=Math.min(288.1221695283*(o-60)**-.0755148492,255),y=255),i/=255,l/=255,y/=255;let j=Math.max(i,l,y),K=Math.min(i,l,y),N=j-K,Q=0;N!==0&&(j===i?Q=(l-y)/N%6:j===l?Q=(y-i)/N+2:Q=(i-l)/N+4,Q=Math.round(Q*60),Q<0&&(Q+=360));let ce=(j+K)/2,he=N===0?0:N/(1-Math.abs(2*ce-1));return`hsl(${Math.round(Q)}, ${Math.round(he*100)}%, ${Math.round(ce*100)}%)`}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service",isAdaptiveLightingEnabled$:"isAdaptiveLightingEnabled$"},decls:28,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Lightbulb Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"d-flex","justify-content-center","mb-0","p-0","mt-0","grey-outline"],[1,"modal-footer"],[1,"mb-0","mx-0","p-3","btn-read","w-100","no-round-top"],[1,"fas","fa-fw","fa-xl","fa-sun",3,"ngClass"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],[3,"ngModelChange","min","max","step","ngModel","ngClass"],[1,"d-flex","text-center","mt-0","mb-1"],[1,"grey-text","small"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5)(7,"button",6),C("click",function(y){return i.setTargetMode(!1,y)}),r(8,"div",7),v(9,"i",8),s(),c(10),p(11,"translate"),r(12,"div",9),v(13,"i",10),s()(),r(14,"button",6),C("click",function(y){return i.setTargetMode(!0,y)}),r(15,"div",7),v(16,"i",8),s(),c(17),p(18,"translate"),r(19,"div",9),v(20,"i",10),s()(),_(21,ol,1,0,"div"),s(),_(22,rl,8,8,"div",11),_(23,al,4,8),_(24,ll,5,13),_(25,pl,5,13),_(26,ml,6,15),s(),v(27,"div",12),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,12,"form.button_close")),a(6),m("ngClass",P(18,Hn,!i.targetMode,i.targetMode)),a(),h(" ",d(11,14,"accessories.control.off")," "),a(6),m("ngClass",P(21,Hn,i.targetMode,!i.targetMode)),a(),h(" ",d(18,16,"accessories.control.on")," "),a(4),x(i.hasAdaptiveLighting?21:-1),a(),x(i.hasAdaptiveLighting?22:-1),a(),x(i.targetBrightness?23:-1),a(),x(i.targetHue?24:-1),a(),x(i.targetSaturation?25:-1),a(),x(i.targetColorTemperature?26:-1))},dependencies:[Z,ne,oe,re,D,w,qi],encapsulation:2})}return e})();var ul=e=>({"light-on":e});function vl(e,n){if(e&1&&(v(0,"div",4),p(1,"translate")),e&2){let t=u();m("innerHTML",t.service.values.On?t.service.values.Brightness+"%"+(t.hasAdaptiveLighting?" \xB7 <i class='fa fa-sun "+(t.isAdaptiveLightingEnabled?"on-text":"grey-text")+"'></i>":""):d(1,1,"accessories.control.off"),$t)}}function gl(e,n){if(e&1&&(v(0,"div",4),p(1,"translate")),e&2){let t=u();m("innerHTML",d(1,1,t.service.values.On||t.service.values.Active?"accessories.control.on"+(t.hasAdaptiveLighting?" \xB7 <i class='fa fa-sun "+(t.isAdaptiveLightingEnabled?"on-text":"grey-text")+"'></i>":""):"accessories.control.off"),$t)}}var Ln=(()=>{class e{$modal=B(J);intervalId;service;readyForControl=!1;hasAdaptiveLighting=!1;isAdaptiveLightingEnabled=!1;isAdaptiveLightingEnabled$=new Ci(!1);ngOnInit(){this.loadAdaptiveLighting()}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}onClick(){this.readyForControl&&("On"in this.service.values?this.service.getCharacteristic("On").setValue(!this.service.values.On):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),"Brightness"in this.service.values&&!this.service.values.On&&!this.service.values.Brightness&&(this.service.values.Brightness=this.service.getCharacteristic("Brightness").maxValue))}onLongClick(){if(this.readyForControl&&("Brightness"in this.service.values||"Hue"in this.service.values||"Saturation"in this.service.values||"ColorTemperature"in this.service.values)){let t=this.$modal.open(On,{size:"md",backdrop:"static"});if(t.componentInstance.service=this.service,this.hasAdaptiveLighting){t.componentInstance.isAdaptiveLightingEnabled$=this.isAdaptiveLightingEnabled$,this.intervalId&&clearInterval(this.intervalId),this.intervalId=setInterval(()=>{this.isAdaptiveLightingEnabled$.next(!!this.service.values.CharacteristicValueActiveTransitionCount)},3e3);let o=this.isAdaptiveLightingEnabled$.subscribe(i=>{this.isAdaptiveLightingEnabled=i});t.result.finally(()=>{this.intervalId&&clearInterval(this.intervalId),o.unsubscribe(),this.intervalId=setInterval(()=>{this.isAdaptiveLightingEnabled$.next(!!this.service.values.CharacteristicValueActiveTransitionCount)},3e4)})}}}loadAdaptiveLighting(){"CharacteristicValueActiveTransitionCount"in this.service.values&&(this.hasAdaptiveLighting=!0,this.isAdaptiveLightingEnabled$.next(!!this.service.values.CharacteristicValueActiveTransitionCount),this.intervalId=setInterval(()=>{this.isAdaptiveLightingEnabled$.next(!!this.service.values.CharacteristicValueActiveTransitionCount)},3e4),this.isAdaptiveLightingEnabled$.subscribe(t=>{this.isAdaptiveLightingEnabled=t}))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-light-bulb"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:7,vars:7,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerHTML"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,vl,2,3,"div",4)(6,gl,2,3,"div",4),s()()),o&2&&(m("ngClass",W(5,ul,i.service.values.On||i.service.values.Active)),a(2),m("inlineSVG","/assets/hap-icons/light-bulb.svg"),M("aria-label","Light Bulb"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.Brightness?5:6))},dependencies:[U,D,O,w],encapsulation:2})}return e})();function fl(e,n){if(e&1&&(r(0,"div",4),c(1),p(2,"number"),s()),e&2){let t=u();a(),h("",ae(2,1,t.service.values.CurrentAmbientLightLevel,"0.1-1")," lux")}}function Cl(e,n){if(e&1&&(r(0,"div",4),c(1),p(2,"number"),s()),e&2){let t=u();a(),h("",ae(2,1,t.service.values.CurrentAmbientLightLevel,"1.0-0")," lux")}}var Nn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-light-sensor"]],inputs:{service:"service"},decls:7,vars:4,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,fl,3,4,"div",4)(6,Cl,3,4,"div",4),s()()),o&2&&(a(2),m("inlineSVG","/assets/service-icons/light-sensor.svg"),M("aria-label","Light Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.CurrentAmbientLightLevel<1?5:6))},dependencies:[O,Te],encapsulation:2})}return e})();var Vt=(()=>{class e{transform(t){if(typeof t!="number"||Number.isNaN(t))return"";let o=Math.floor(t/60),i=t%60;return[o>0?`${o.toString()}m`:"",i>0?`${i.toString()}s`:""].filter(Boolean).join(" ")}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=Pi({name:"duration",type:e,pure:!0})}return e})();var Gn=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function hl(e,n){if(e&1){let t=H();r(0,"h6",12),c(1),p(2,"translate"),p(3,"duration"),s(),r(4,"nouislider",13),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetLockManagementAutoSecurityTimeout.value,i)||(l.targetLockManagementAutoSecurityTimeout.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onLockManagementAutoSecurityTimeoutStateChange())}),s()}if(e&2){let t=u();a(),R(" ",d(2,6,"accessories.control.lock_auto"),": ",t.targetLockManagementAutoSecurityTimeout.value===0?"\u221E":d(3,8,t.targetLockManagementAutoSecurityTimeout.value)," "),a(3),m("min",t.targetLockManagementAutoSecurityTimeout.min)("max",t.targetLockManagementAutoSecurityTimeout.max)("step",10),z("ngModel",t.targetLockManagementAutoSecurityTimeout.value)}}var Rn=(()=>{class e{$activeModal=B(Y);lockTimeout;service;serviceManagement;targetMode;targetLockManagementAutoSecurityTimeout;targetLockManagementAutoSecurityTimeoutChanged=new ee;ngOnInit(){this.targetMode=this.service.values.LockTargetState,this.service.linkedServices&&(this.serviceManagement=Object.values(this.service.linkedServices).find(t=>t.type==="LockManagement")),this.serviceManagement&&(this.targetLockManagementAutoSecurityTimeoutChanged.pipe(te(300),Ti()).subscribe(()=>{this.serviceManagement.getCharacteristic("LockManagementAutoSecurityTimeout").setValue(this.targetLockManagementAutoSecurityTimeout.value)}),this.loadTargetLockManagementAutoSecurityTimeout())}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("LockTargetState").setValue(this.targetMode),this.lockTimeout&&(clearTimeout(this.lockTimeout),this.lockTimeout=null),this.targetMode===0&&this.targetLockManagementAutoSecurityTimeout?.value>0&&(this.lockTimeout=setTimeout(()=>{this.targetMode=1},(this.targetLockManagementAutoSecurityTimeout.value+.3)*1e3)),o.target.blur()}onLockManagementAutoSecurityTimeoutStateChange(){this.targetLockManagementAutoSecurityTimeoutChanged.next(this.targetLockManagementAutoSecurityTimeout.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetLockManagementAutoSecurityTimeout(){let t=this.serviceManagement.getCharacteristic("LockManagementAutoSecurityTimeout");t&&(this.targetLockManagementAutoSecurityTimeout={value:t.value||0,min:t.minValue||0,max:t.maxValue||3600,step:t.minStep||10},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #ffffff, #ffd966, #ff0000)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:23,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Lock Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5)(7,"button",6),C("click",function(y){return i.setTargetMode(1,y)}),r(8,"div",7),v(9,"i",8),s(),c(10),p(11,"translate"),r(12,"div",9),v(13,"i",10),s()(),r(14,"button",6),C("click",function(y){return i.setTargetMode(0,y)}),r(15,"div",7),v(16,"i",8),s(),c(17),p(18,"translate"),r(19,"div",9),v(20,"i",10),s()()(),_(21,hl,5,10),s(),v(22,"div",11),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,7,"form.button_close")),a(6),m("ngClass",P(13,Gn,i.targetMode===1,i.targetMode!==1)),a(),h(" ",d(11,9,"accessories.control.locked")," "),a(6),m("ngClass",P(16,Gn,i.targetMode===0,i.targetMode!==0)),a(),h(" ",d(18,11,"accessories.control.unlocked")," "),a(4),x(i.serviceManagement?21:-1))},dependencies:[Z,ne,oe,re,D,w,Vt],encapsulation:2})}return e})();var _l=(e,n,t,o)=>({"switch-on":e,unlocked:n,jammed:t,error:o}),xl=(e,n)=>({"red-text":e,"grey-text":n});function yl(e,n){if(e&1&&(v(0,"div",4),p(1,"translate")),e&2){let t=u();m("innerText",d(1,2,t.service.values.LockCurrentState?"accessories.control.locked":"accessories.control.unlocked"))("ngClass",P(4,xl,!t.service.values.LockCurrentState,t.service.values.LockCurrentState))}}function Sl(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.jammed")))}function bl(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.unknown")))}var jn=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){this.readyForControl&&("LockTargetState"in this.service.values?this.service.getCharacteristic("LockTargetState").setValue(this.service.values.LockTargetState?0:1):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(!this.service.values.On))}onLongClick(){if(this.readyForControl&&"LockTargetState"in this.service.values){let t=this.$modal.open(Rn,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-lock-mechanism"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:8,vars:10,consts:[["tabindex","0",1,"accessory-box",3,"shortClick","longClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("shortClick",function(){return i.onClick()})("longClick",function(){return i.onLongClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,yl,2,7,"div",4)(6,Sl,3,3,"div",5)(7,bl,3,3,"div",5),s()()),o&2&&(m("ngClass",ht(5,_l,"LockCurrentState"in i.service.values&&i.service.values.LockCurrentState!==1||i.service.values.On===1,i.service.values.LockCurrentState===0||i.service.values.On===1,i.service.values.LockCurrentState===2,i.service.values.LockCurrentState===3)),a(2),m("inlineSVG","/assets/service-icons/lock-mechanism.svg"),M("aria-label","Lock Mechanism"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.LockCurrentState<2?5:i.service.values.LockCurrentState===2?6:i.service.values.LockCurrentState===3?7:-1))},dependencies:[U,D,O,w],styles:["@keyframes _ngcontent-%COMP%_blink{0%,to{fill-opacity:1}50%{fill-opacity:.2}} .unlocked svg .shackle-locked{stroke-opacity:0!important} .unlocked svg .shackle-unlocked{stroke-opacity:1!important} .unlocked svg .keyhole{fill:#ff9800!important} .jammed svg .shackle-locked{stroke-opacity:0!important} .jammed svg .shackle-unlocked{stroke-opacity:1!important} .jammed svg .keyhole{fill:#d32f2f!important;animation:_ngcontent-%COMP%_blink 1s infinite} .error svg .shackle-locked{stroke-opacity:0!important} .error svg .shackle-unlocked{stroke-opacity:1!important} .error svg .keyhole{fill:#d32f2f!important;animation:_ngcontent-%COMP%_blink 1s infinite}"]})}return e})();var We=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Tl(e,n){if(e&1){let t=H();r(0,"div",5)(1,"button",7),C("click",function(i){k(t);let l=u();return V(l.setActive(0,i))}),r(2,"div",8),v(3,"i",9),s(),c(4),p(5,"translate"),r(6,"div",10),v(7,"i",11),s()(),r(8,"button",7),C("click",function(i){k(t);let l=u();return V(l.setActive(1,i))}),r(9,"div",8),v(10,"i",9),s(),c(11),p(12,"translate"),r(13,"div",10),v(14,"i",11),s()()()}if(e&2){let t=u();a(3),m("ngClass",P(8,We,t.service.values.Active===0,t.service.values.Active!==0)),a(),h(" ",d(5,4,"accessories.control.off")," "),a(6),m("ngClass",P(11,We,t.service.values.Active===1,t.service.values.Active!==1)),a(),h(" ",d(12,6,"accessories.control.on")," ")}}function Ml(e,n){if(e&1){let t=H();r(0,"div",5)(1,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(0,i))}),r(2,"div",8),v(3,"i",9),s(),c(4),p(5,"translate"),r(6,"div",10),v(7,"i",11),s()(),r(8,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(1,i))}),r(9,"div",8),v(10,"i",9),s(),c(11),p(12,"translate"),r(13,"div",10),v(14,"i",11),s()(),r(15,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(2,i))}),r(16,"div",8),v(17,"i",9),s(),c(18),p(19,"translate"),r(20,"div",10),v(21,"i",11),s()()()}if(e&2){let t=u();a(3),m("ngClass",P(12,We,t.service.values.CurrentMediaState===0,t.service.values.CurrentMediaState!==0)),a(),h(" ",d(5,6,"accessories.control.play")," "),a(6),m("ngClass",P(15,We,t.service.values.CurrentMediaState===1,t.service.values.CurrentMediaState!==1)),a(),h(" ",d(12,8,"accessories.control.pause")," "),a(6),m("ngClass",P(18,We,t.service.values.CurrentMediaState===2,t.service.values.CurrentMediaState!==2)),a(),h(" ",d(19,10,"accessories.control.stop")," ")}}function kl(e,n){if(e&1){let t=H();r(0,"h6"),c(1),p(2,"translate"),s(),r(3,"div",12)(4,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(!1,i))}),r(5,"div",8),v(6,"i",9),s(),c(7),p(8,"translate"),r(9,"div",10),v(10,"i",11),s()(),r(11,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(!0,i))}),r(12,"div",8),v(13,"i",9),s(),c(14),p(15,"translate"),r(16,"div",10),v(17,"i",11),s()()()}if(e&2){let t=u();a(),h(" ",d(2,5,"Active"in t.service.values||"TargetMediaState"in t.service.values?"accessories.control.speaker_volume":"menu.label_status")," "),a(5),m("ngClass",P(11,We,!t.targetMode,t.targetMode)),a(),h(" ",d(8,7,"accessories.control.not_mute")," "),a(6),m("ngClass",P(14,We,t.targetMode,!t.targetMode)),a(),h(" ",d(15,9,"accessories.control.mute")," ")}}function Vl(e,n){if(e&1){let t=H();r(0,"h6",13),c(1),p(2,"translate"),s(),r(3,"nouislider",14),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetVolume.value,i)||(l.targetVolume.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onVolumeStateChange())}),s()}if(e&2){let t=u();a(),R("",d(2,6,"accessories.control.speaker_volume"),": ",t.targetVolume.value,"%"),a(2),m("min",t.targetVolume.min)("max",t.targetVolume.max)("step",t.targetVolume.step),z("ngModel",t.targetVolume.value)}}var Wn=(()=>{class e{$activeModal=B(Y);service;targetMode;targetVolume;targetVolumeChanged=new ee;constructor(){this.targetVolumeChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)})}ngOnInit(){this.targetMode=this.service.values.Mute,this.loadTargetVolume()}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("Mute").setValue(this.targetMode),o.target.blur()}setActive(t,o){this.service.getCharacteristic("Active").setValue(t),o.target.blur()}setTargetState(t,o){this.service.getCharacteristic("TargetMediaState").setValue(t),o.target.blur()}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetVolume(){let t=this.service.getCharacteristic("Volume");t&&(this.targetVolume={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #ffffff, #ffd966, #ff0000)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:11,vars:7,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Microphone Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],["role","group","aria-label","Microphone Mute Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],[1,"mt-4","mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4),_(6,Tl,15,14,"div",5)(7,Ml,22,21,"div",5),_(8,kl,18,17),_(9,Vl,4,8),s(),v(10,"div",6),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,5,"form.button_close")),a(3),x("Active"in i.service.values?6:"TargetMediaState"in i.service.values?7:-1),a(2),x("Mute"in i.service.values?8:-1),a(),x(i.targetVolume?9:-1))},dependencies:[Z,ne,oe,re,D,w],encapsulation:2})}return e})();var wl=()=>[0,1],Un=()=>["Speaker","SmartSpeaker"],El=(e,n)=>({"switch-on":e,paused:n});function Dl(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.play")," ")}function Pl(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.pause")," ")}function Il(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.stop")," ")}function Al(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" \xB7 ",d(1,1,"accessories.control.mute")," ")}function Bl(e,n){if(e&1&&c(0),e&2){let t=u(3);h(" \xB7 ",t.service.values.Volume,"% ")}}function Fl(e,n){if(e&1&&_(0,Bl,1,1),e&2){let t=u(2);x("Volume"in t.service.values?0:-1)}}function Hl(e,n){if(e&1&&(r(0,"div",4),_(1,Dl,2,3)(2,Pl,2,3)(3,Il,2,3),_(4,Al,2,3)(5,Fl,1,1),s()),e&2){let t,o=u();a(),x((t=o.service.values.CurrentMediaState)===0?1:t===1?2:t===2?3:-1),a(3),x("Mute"in o.service.values&&o.service.values.Mute?4:5)}}function Ol(e,n){e&1&&(v(0,"div",5),p(1,"translate")),e&2&&m("innerText",d(1,1,"accessories.control.off"))}function Ll(e,n){e&1&&(v(0,"div",5),p(1,"translate")),e&2&&m("innerText",d(1,1,"accessories.control.mute"))}function Nl(e,n){if(e&1&&(r(0,"div",4),c(1),s()),e&2){let t=u();a(),h("",t.service.values.Volume,"%")}}function Gl(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.on")))}function Rl(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.microphone")))}var zn=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){this.readyForControl&&("Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active===0?1:0):"TargetMediaState"in this.service.values?this.service.getCharacteristic("TargetMediaState").setValue(this.service.values.TargetMediaState===0?1:0):"Mute"in this.service.values&&this.service.getCharacteristic("Mute").setValue(!this.service.values.Mute))}onLongClick(){if(this.readyForControl&&("Active"in this.service.values||"TargetMediaState"in this.service.values||"Volume"in this.service.values||"Mute"in this.service.values)){let t=this.$modal.open(Wn,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-microphone"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:11,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,Hl,6,2,"div",4)(6,Ol,2,3,"div",5)(7,Ll,2,3,"div",5)(8,Nl,2,1,"div",4)(9,Gl,3,3,"div",4)(10,Rl,3,3,"div",4),s()()),o&2&&(m("ngClass",P(7,El,"Active"in i.service.values?i.service.values.Active:"CurrentMediaState"in i.service.values?ue(5,wl).includes(i.service.values.CurrentMediaState):ue(6,Un).includes(i.service.customType||i.service.type)?"Mute"in i.service.values&&!i.service.values.Mute:!1,"CurrentMediaState"in i.service.values&&i.service.values.CurrentMediaState===1)),a(2),m("inlineSVG","/assets/service-icons/microphone.svg"),M("aria-label","Microphone"),a(2),b(i.service.customName||i.service.serviceName),a(),x("CurrentMediaState"in i.service.values?5:"Active"in i.service.values&&!i.service.values.Active?6:"Mute"in i.service.values&&i.service.values.Mute?7:"Volume"in i.service.values?8:ue(10,Un).includes(i.service.customType||i.service.type)?9:10))},dependencies:[U,O,D,w],encapsulation:2})}return e})();var jl=e=>({"switch-on":e});function Wl(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.detected")))}function Ul(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.not_detected")))}var $n=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-motion-sensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,Wl,3,3,"div",4)(6,Ul,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,jl,i.service.values.MotionDetected)),a(2),m("inlineSVG","/assets/service-icons/motion-sensor.svg"),M("aria-label","Motion Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.MotionDetected?5:6))},dependencies:[D,O,w],styles:[".switch-on svg .orange-outline{stroke:#ff9800;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{stroke-opacity:.8}50%{stroke-opacity:.2}}"]})}return e})();var zl=e=>({"switch-on":e});function $l(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.detected")))}function ql(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.not_detected")))}var qn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-occupancy-sensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,$l,3,3,"div",4)(6,ql,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,zl,i.service.values.OccupancyDetected)),a(2),m("inlineSVG","/assets/service-icons/occupancy-sensor.svg"),M("aria-label","Occupancy Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.OccupancyDetected?5:6))},dependencies:[D,O,w],styles:[".switch-on svg .orange-outline{stroke:#ff9800;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{stroke-opacity:.8}50%{stroke-opacity:.2}}"]})}return e})();var Kn=()=>[0,2],Kl=e=>({"switch-on":e}),Qn=(()=>{class e{service;readyForControl=!1;onClick(){this.readyForControl&&("On"in this.service.values?this.service.getCharacteristic("On").setValue(!this.service.values.On):"Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1):"LockTargetState"in this.service.values?this.service.getCharacteristic("LockTargetState").setValue(this.service.values.LockTargetState?0:1):"TargetDoorState"in this.service.values&&this.service.getCharacteristic("TargetDoorState").setValue(this.service.values.TargetDoorState?0:1))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-outlet"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:7,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(r(0,"div",0),C("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),v(5,"div",4),p(6,"translate"),s()()),o&2&&(m("ngClass",W(8,Kl,i.service.values.On||i.service.values.Active||"LockTargetState"in i.service.values&&!i.service.values.LockTargetState||"CurrentDoorState"in i.service.values&&ue(7,Kn).includes(i.service.values.CurrentDoorState))),a(2),m("inlineSVG","/assets/hap-icons/outlet.svg"),M("aria-label","Outlet"),a(2),b(i.service.customName||i.service.serviceName),a(),m("innerText",d(6,5,i.service.values.On||i.service.values.Active||"LockTargetState"in i.service.values&&!i.service.values.LockTargetState||"CurrentDoorState"in i.service.values&&ue(10,Kn).includes(i.service.values.CurrentDoorState)?"accessories.control.on":"accessories.control.off")))},dependencies:[U,D,O,w],encapsulation:2})}return e})();var Ql=e=>({"switch-on":e}),Zn=(()=>{class e{service;readyForControl=!1;onClick(){this.readyForControl&&("On"in this.service.values?this.service.getCharacteristic("On").setValue(!this.service.values.On):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-robot-vacuum"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:7,vars:9,consts:[["tabindex","0",1,"accessory-box",3,"shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(r(0,"div",0),C("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),v(5,"div",4),p(6,"translate"),s()()),o&2&&(m("ngClass",W(7,Ql,i.service.values.On||i.service.values.Active)),a(2),m("inlineSVG","/assets/service-icons/robot-vacuum.svg"),M("aria-label","Robot Vacuum"),a(2),b(i.service.customName||i.service.serviceName),a(),m("innerText",d(6,5,i.service.values.On||i.service.values.Active?"accessories.control.on":"accessories.control.off")))},dependencies:[U,D,O,w],styles:[".switch-on svg .motion-lines{display:inline!important}"]})}return e})();var wt=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Zl(e,n){if(e&1){let t=H();r(0,"button",8),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(3,i))}),r(1,"div",9),v(2,"i",10),s(),c(3),p(4,"translate"),r(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=u();a(2),m("ngClass",P(4,wt,t.targetMode===3,t.targetMode!==3)),a(),h(" ",d(4,2,"accessories.control.off")," ")}}function Yl(e,n){if(e&1){let t=H();r(0,"button",8),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(0,i))}),r(1,"div",9),v(2,"i",10),s(),c(3),p(4,"translate"),r(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=u();a(2),m("ngClass",P(4,wt,t.targetMode===0,t.targetMode!==0)),a(),h(" ",d(4,2,"accessories.control.home")," ")}}function Jl(e,n){if(e&1){let t=H();r(0,"button",8),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(1,i))}),r(1,"div",9),v(2,"i",10),s(),c(3),p(4,"translate"),r(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=u();a(2),m("ngClass",P(4,wt,t.targetMode===1,t.targetMode!==1)),a(),h(" ",d(4,2,"accessories.control.away")," ")}}function Xl(e,n){if(e&1){let t=H();r(0,"button",8),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(2,i))}),r(1,"div",9),v(2,"i",10),s(),c(3),p(4,"translate"),r(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=u();a(2),m("ngClass",P(4,wt,t.targetMode===2,t.targetMode!==2)),a(),h(" ",d(4,2,"accessories.control.night")," ")}}var Yn=(()=>{class e{$activeModal=B(Y);service;targetMode;targetModeValidValues=[];ngOnInit(){this.targetMode=this.service.values.SecuritySystemTargetState,this.targetModeValidValues=this.service.getCharacteristic("SecuritySystemTargetState").validValues}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("SecuritySystemTargetState").setValue(this.targetMode),o.target.blur()}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:12,vars:8,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Security System Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5),_(7,Zl,7,7,"button",6),_(8,Yl,7,7,"button",6),_(9,Jl,7,7,"button",6),_(10,Xl,7,7,"button",6),s()(),v(11,"div",7),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,6,"form.button_close")),a(4),x(i.targetModeValidValues.includes(3)?7:-1),a(),x(i.targetModeValidValues.includes(0)?8:-1),a(),x(i.targetModeValidValues.includes(1)?9:-1),a(),x(i.targetModeValidValues.includes(2)?10:-1))},dependencies:[Z,D,w],encapsulation:2})}return e})();var ec=(e,n,t,o,i)=>({"switch-on":e,home:n,away:t,night:o,triggered:i});function tc(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.home")))}function ic(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.away")))}function nc(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.night")))}function oc(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.off")))}function rc(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.triggered")))}var Jn=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){if(!this.readyForControl)return;let t=this.$modal.open(Yn,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-security-system"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:10,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){if(o&1&&(r(0,"div",0),C("longClick",function(){return i.onClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,tc,3,3,"div",4)(6,ic,3,3,"div",4)(7,nc,3,3,"div",4)(8,oc,3,3,"div",5)(9,rc,3,3,"div",5),s()()),o&2){let l;m("ngClass",Ri(5,ec,i.service.values.SecuritySystemCurrentState!==3,i.service.values.SecuritySystemCurrentState===0,i.service.values.SecuritySystemCurrentState===1,i.service.values.SecuritySystemCurrentState===2,i.service.values.SecuritySystemCurrentState===4)),a(2),m("inlineSVG","/assets/service-icons/security-system.svg"),M("aria-label","Security System"),a(2),b(i.service.customName||i.service.serviceName),a(),x((l=i.service.values.SecuritySystemCurrentState)===0?5:l===1?6:l===2?7:l===3?8:l===4?9:-1)}},dependencies:[U,D,O,w],styles:[".home svg .dome{fill:#1976d2!important} .away svg .dome{fill:#ff9800!important} .night svg .dome{fill:#673ab7!important} .triggered svg .dome{fill:#d32f2f!important} .triggered svg .ray{stroke:#d32f2f;stroke-opacity:.5;animation:_ngcontent-%COMP%_blink 1s infinite}@keyframes _ngcontent-%COMP%_blink{0%,to{stroke-opacity:1}50%{stroke-opacity:.2}}"]})}return e})();var ac=e=>({"switch-on":e});function sc(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.detected")))}function lc(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.not_detected")))}var Xn=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-smoke-sensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,sc,3,3,"div",4)(6,lc,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,ac,i.service.values.SmokeDetected)),a(2),m("inlineSVG","/assets/service-icons/smoke-sensor.svg"),M("aria-label","Smoke Sensor"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.SmokeDetected?5:6))},dependencies:[D,O,w],styles:[".switch-on svg .air-line{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite} .switch-on svg .type{fill:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{opacity:1}50%{opacity:.2}}"]})}return e})();var Ue=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function cc(e,n){if(e&1){let t=H();r(0,"div",5)(1,"button",7),C("click",function(i){k(t);let l=u();return V(l.setActive(0,i))}),r(2,"div",8),v(3,"i",9),s(),c(4),p(5,"translate"),r(6,"div",10),v(7,"i",11),s()(),r(8,"button",7),C("click",function(i){k(t);let l=u();return V(l.setActive(1,i))}),r(9,"div",8),v(10,"i",9),s(),c(11),p(12,"translate"),r(13,"div",10),v(14,"i",11),s()()()}if(e&2){let t=u();a(3),m("ngClass",P(8,Ue,t.service.values.Active===0,t.service.values.Active!==0)),a(),h(" ",d(5,4,"accessories.control.off")," "),a(6),m("ngClass",P(11,Ue,t.service.values.Active===1,t.service.values.Active!==1)),a(),h(" ",d(12,6,"accessories.control.on")," ")}}function pc(e,n){if(e&1){let t=H();r(0,"div",5)(1,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(0,i))}),r(2,"div",8),v(3,"i",9),s(),c(4),p(5,"translate"),r(6,"div",10),v(7,"i",11),s()(),r(8,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(1,i))}),r(9,"div",8),v(10,"i",9),s(),c(11),p(12,"translate"),r(13,"div",10),v(14,"i",11),s()(),r(15,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetState(2,i))}),r(16,"div",8),v(17,"i",9),s(),c(18),p(19,"translate"),r(20,"div",10),v(21,"i",11),s()()()}if(e&2){let t=u();a(3),m("ngClass",P(12,Ue,t.service.values.CurrentMediaState===0,t.service.values.CurrentMediaState!==0)),a(),h(" ",d(5,6,"accessories.control.play")," "),a(6),m("ngClass",P(15,Ue,t.service.values.CurrentMediaState===1,t.service.values.CurrentMediaState!==1)),a(),h(" ",d(12,8,"accessories.control.pause")," "),a(6),m("ngClass",P(18,Ue,t.service.values.CurrentMediaState===2,t.service.values.CurrentMediaState!==2)),a(),h(" ",d(19,10,"accessories.control.stop")," ")}}function dc(e,n){if(e&1){let t=H();r(0,"h6"),c(1),p(2,"translate"),s(),r(3,"div",12)(4,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(!1,i))}),r(5,"div",8),v(6,"i",9),s(),c(7),p(8,"translate"),r(9,"div",10),v(10,"i",11),s()(),r(11,"button",7),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(!0,i))}),r(12,"div",8),v(13,"i",9),s(),c(14),p(15,"translate"),r(16,"div",10),v(17,"i",11),s()()()}if(e&2){let t=u();a(),h(" ",d(2,5,"Active"in t.service.values||"TargetMediaState"in t.service.values?"accessories.control.speaker_volume":"menu.label_status")," "),a(5),m("ngClass",P(11,Ue,!t.targetMode,t.targetMode)),a(),h(" ",d(8,7,"accessories.control.not_mute")," "),a(6),m("ngClass",P(14,Ue,t.targetMode,!t.targetMode)),a(),h(" ",d(15,9,"accessories.control.mute")," ")}}function mc(e,n){if(e&1){let t=H();r(0,"h6",13),c(1),p(2,"translate"),s(),r(3,"nouislider",14),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetVolume.value,i)||(l.targetVolume.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onVolumeStateChange())}),s()}if(e&2){let t=u();a(),R("",d(2,6,"accessories.control.speaker_volume"),": ",t.targetVolume.value,"%"),a(2),m("min",t.targetVolume.min)("max",t.targetVolume.max)("step",t.targetVolume.step),z("ngModel",t.targetVolume.value)}}var eo=(()=>{class e{$activeModal=B(Y);service;targetMode;targetVolume;targetVolumeChanged=new ee;constructor(){this.targetVolumeChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)})}ngOnInit(){this.targetMode=this.service.values.Mute,this.loadTargetVolume()}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("Mute").setValue(this.targetMode),o.target.blur()}setActive(t,o){this.service.getCharacteristic("Active").setValue(t),o.target.blur()}setTargetState(t,o){this.service.getCharacteristic("TargetMediaState").setValue(t),o.target.blur()}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetVolume(){let t=this.service.getCharacteristic("Volume");t&&(this.targetVolume={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #ffffff, #ffd966, #ff0000)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:11,vars:7,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Speaker Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],["role","group","aria-label","Speaker Mute Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],[1,"mt-4","mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4),_(6,cc,15,14,"div",5)(7,pc,22,21,"div",5),_(8,dc,18,17),_(9,mc,4,8),s(),v(10,"div",6),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,5,"form.button_close")),a(3),x("Active"in i.service.values?6:"TargetMediaState"in i.service.values?7:-1),a(2),x("Mute"in i.service.values?8:-1),a(),x(i.targetVolume?9:-1))},dependencies:[Z,ne,oe,re,D,w],encapsulation:2})}return e})();var uc=()=>[0,1],to=()=>["Speaker","SmartSpeaker"],vc=(e,n,t)=>({"switch-on":e,paused:n,muted:t});function gc(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.play")," ")}function fc(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.pause")," ")}function Cc(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.stop")," ")}function hc(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" \xB7 ",d(1,1,"accessories.control.mute")," ")}function _c(e,n){if(e&1&&c(0),e&2){let t=u(3);h(" \xB7 ",t.service.values.Volume,"% ")}}function xc(e,n){if(e&1&&_(0,_c,1,1),e&2){let t=u(2);x("Volume"in t.service.values?0:-1)}}function yc(e,n){if(e&1&&(r(0,"div",4),_(1,gc,2,3)(2,fc,2,3)(3,Cc,2,3),_(4,hc,2,3)(5,xc,1,1),s()),e&2){let t,o=u();a(),x((t=o.service.values.CurrentMediaState)===0?1:t===1?2:t===2?3:-1),a(3),x("Mute"in o.service.values&&o.service.values.Mute?4:5)}}function Sc(e,n){e&1&&(v(0,"div",5),p(1,"translate")),e&2&&m("innerText",d(1,1,"accessories.control.off"))}function bc(e,n){e&1&&(v(0,"div",5),p(1,"translate")),e&2&&m("innerText",d(1,1,"accessories.control.mute"))}function Tc(e,n){if(e&1&&(r(0,"div",4),c(1),s()),e&2){let t=u();a(),h("",t.service.values.Volume,"%")}}function Mc(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.on")))}function kc(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.speaker")))}var io=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){this.readyForControl&&("Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active===0?1:0):"TargetMediaState"in this.service.values?this.service.getCharacteristic("TargetMediaState").setValue(this.service.values.TargetMediaState===0?1:0):"Mute"in this.service.values&&this.service.getCharacteristic("Mute").setValue(!this.service.values.Mute))}onLongClick(){if(this.readyForControl&&("Active"in this.service.values||"TargetMediaState"in this.service.values||"Volume"in this.service.values||"Mute"in this.service.values)){let t=this.$modal.open(eo,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-speaker"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:11,vars:12,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,yc,6,2,"div",4)(6,Sc,2,3,"div",5)(7,bc,2,3,"div",5)(8,Tc,2,1,"div",4)(9,Mc,3,3,"div",4)(10,kc,3,3,"div",4),s()()),o&2&&(m("ngClass",ye(7,vc,"Active"in i.service.values?i.service.values.Active:"CurrentMediaState"in i.service.values?ue(5,uc).includes(i.service.values.CurrentMediaState):ue(6,to).includes(i.service.customType||i.service.type)?"Mute"in i.service.values&&!i.service.values.Mute:!1,"CurrentMediaState"in i.service.values&&i.service.values.CurrentMediaState===1,"Mute"in i.service.values&&i.service.values.Mute)),a(2),m("inlineSVG","/assets/service-icons/speaker.svg"),M("aria-label","Speaker"),a(2),b(i.service.customName||i.service.serviceName),a(),x("CurrentMediaState"in i.service.values?5:"Active"in i.service.values&&!i.service.values.Active?6:"Mute"in i.service.values&&i.service.values.Mute?7:"Volume"in i.service.values?8:ue(11,to).includes(i.service.customType||i.service.type)?9:10))},dependencies:[U,D,O,w],styles:[".switch-on:not(.paused):not(.muted) svg .wave-inner{animation:_ngcontent-%COMP%_pulse-inner 2s infinite} .switch-on:not(.paused):not(.muted) svg .wave-outer{animation:_ngcontent-%COMP%_pulse-outer 2s infinite}@keyframes _ngcontent-%COMP%_pulse-inner{0%{stroke-opacity:.5}50%{stroke-opacity:1}to{stroke-opacity:.5}}@keyframes _ngcontent-%COMP%_pulse-outer{0%{stroke-opacity:.3}50%{stroke-opacity:.8}to{stroke-opacity:.3}} body.dark-mode div.accessory-box:not(.switch-on) svg .inner{fill:#2b2b2b!important}"]})}return e})();var Vc=(e,n,t)=>({"press-single":e,"press-double":n,"press-long":t}),no=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-stateless-programmable-switch"]],inputs:{service:"service"},decls:8,vars:11,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),r(5,"div",4),c(6),p(7,"translate"),s()()()),o&2&&(m("ngClass",ye(7,Vc,i.service.values.ProgrammableSwitchEvent===0,i.service.values.ProgrammableSwitchEvent===1,i.service.values.ProgrammableSwitchEvent===2)),a(2),m("inlineSVG","/assets/service-icons/stateless-programmable-switch.svg"),M("aria-label","Stateless Programmable Switch"),a(2),b(i.service.customName||i.service.serviceName),a(2),b(d(7,5,"accessories.control.stateless")))},dependencies:[O,D,w],styles:[".press-single svg .single{fill:#1976d2!important} .press-double svg .double{fill:#1976d2!important} .press-long svg .long{fill:#1976d2!important}"]})}return e})();var oo=()=>[0,2],wc=e=>({"switch-on":e}),ro=(()=>{class e{service;readyForControl=!1;onClick(){this.readyForControl&&("On"in this.service.values?this.service.getCharacteristic("On").setValue(!this.service.values.On):"Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1):"LockTargetState"in this.service.values?this.service.getCharacteristic("LockTargetState").setValue(this.service.values.LockTargetState?0:1):"TargetDoorState"in this.service.values&&this.service.getCharacteristic("TargetDoorState").setValue(this.service.values.TargetDoorState?0:1))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-switch"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:7,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(r(0,"div",0),C("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),v(5,"div",4),p(6,"translate"),s()()),o&2&&(m("ngClass",W(8,wc,i.service.values.On||i.service.values.Active||"LockTargetState"in i.service.values&&!i.service.values.LockTargetState||"CurrentDoorState"in i.service.values&&ue(7,oo).includes(i.service.values.CurrentDoorState))),a(2),m("inlineSVG","/assets/hap-icons/switch.svg"),M("aria-label","Switch"),a(2),b(i.service.customName||i.service.serviceName),a(),m("innerText",d(6,5,i.service.values.On||i.service.values.Active||"LockTargetState"in i.service.values&&!i.service.values.LockTargetState||"CurrentDoorState"in i.service.values&&ue(10,oo).includes(i.service.values.CurrentDoorState)?"accessories.control.on":"accessories.control.off")))},dependencies:[U,D,O,w],encapsulation:2})}return e})();var Ec=(e,n)=>({"mb-4":e,"mb-0":n}),ti=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Dc(e,n){if(e&1){let t=H();r(0,"div",5)(1,"button",7),C("click",function(i){k(t);let l=u();return V(l.setActive(0,i))}),r(2,"div",8),v(3,"i",9),s(),c(4),p(5,"translate"),r(6,"div",10),v(7,"i",11),s()(),r(8,"button",7),C("click",function(i){k(t);let l=u();return V(l.setActive(1,i))}),r(9,"div",8),v(10,"i",9),s(),c(11),p(12,"translate"),r(13,"div",10),v(14,"i",11),s()()()}if(e&2){let t=u();m("ngClass",P(9,Ec,t.sourceList.length,!t.sourceList.length)),a(3),m("ngClass",P(12,ti,t.service.values.Active===0,t.service.values.Active!==0)),a(),h(" ",d(5,5,"accessories.control.off")," "),a(6),m("ngClass",P(15,ti,t.service.values.Active===1,t.service.values.Active!==1)),a(),h(" ",d(12,7,"accessories.control.on")," ")}}function Pc(e,n){e&1&&(r(0,"h6"),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.input")))}function Ic(e,n){if(e&1){let t=H();r(0,"button",7),C("click",function(i){let l=k(t).$implicit,y=u(2);return V(y.setInput(l.identifier,i))}),r(1,"div",8),v(2,"i",9),s(),c(3),r(4,"div",10),v(5,"i",11),s()()}if(e&2){let t=n.$implicit,o=u(2);a(2),m("ngClass",P(2,ti,o.service.values.ActiveIdentifier===t.identifier,o.service.values.ActiveIdentifier!==t.identifier)),a(),h(" ",t.name," ")}}function Ac(e,n){if(e&1&&(_(0,Pc,3,3,"h6"),r(1,"div",12),Bi(2,Ic,6,5,"button",13,Ai),s()),e&2){let t=u();x(t.hasActive?0:-1),a(2),Fi(t.sourceList)}}var ao=(()=>{class e{$activeModal=B(Y);service;inputList;hasActive=!1;sourceList=[];ngOnInit(){"Active"in this.service.values&&(this.hasActive=!0),Object.keys(this.inputList).length&&Object.entries(this.inputList).forEach(([t,o])=>{this.sourceList.push({identifier:Number.parseInt(t,10),name:o})})}setActive(t,o){this.service.getCharacteristic("Active").setValue(t),o.target.blur()}setInput(t,o){this.service.getCharacteristic("ActiveIdentifier").setValue(t),o.target.blur()}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service",inputList:"inputList"},decls:9,vars:6,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Television Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0",3,"ngClass"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],["role","group","aria-label","Television Input Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4),_(6,Dc,15,18,"div",5),_(7,Ac,4,1),s(),v(8,"div",6),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,4,"form.button_close")),a(3),x(i.hasActive?6:-1),a(),x(i.sourceList.length?7:-1))},dependencies:[Z,D,w],encapsulation:2})}return e})();var Bc=e=>({"switch-on":e});function Fc(e,n){if(e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2){let t=u();a(),h(" ",t.channelList[t.service.values.ActiveIdentifier]||d(2,1,"accessories.control.on")," ")}}function Hc(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.off")))}var so=(()=>{class e{$modal=B(J);service;readyForControl=!1;channelList={};ngOnInit(){if(this.service.linkedServices)for(let[,t]of Object.entries(this.service.linkedServices))t.type==="InputSource"&&(this.channelList[t.values.Identifier]=t.values.ConfiguredName||`Input ${t.values.Identifier}`)}onClick(){this.readyForControl&&("Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(!this.service.values.On))}onLongClick(){if(this.readyForControl&&("Active"in this.service.values||Object.keys(this.channelList).length)){let t=this.$modal.open(ao,{size:"md",backdrop:"static"});t.componentInstance.service=this.service,t.componentInstance.inputList=this.channelList}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-television"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:7,vars:7,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,Fc,3,3,"div",4)(6,Hc,3,3,"div",4),s()()),o&2&&(m("ngClass",W(5,Bc,i.service.values.Active||i.service.values.On)),a(2),m("inlineSVG","/assets/service-icons/television.svg"),M("aria-label","Television"),a(2),h(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),a(),x(i.service.values.On||i.service.values.Active?5:6))},dependencies:[U,D,O,w],styles:["body.dark-mode .screen{fill:#2b2b2b;stroke:#7f7f7f} .switch-on svg .screen{animation:_ngcontent-%COMP%_color-change 3s infinite alternate} .switch-on svg .stand{stroke:#7f7f7f;stroke-opacity:1}@keyframes _ngcontent-%COMP%_color-change{0%{fill:#4fc3f7}to{fill:#0288d1}}"]})}return e})();var lo=(()=>{class e{$settings=B(De);service;temperatureUnits=this.$settings.env.temperatureUnits;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-temperature-sensor"]],inputs:{service:"service"},decls:8,vars:9,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(Ke(0,"div",0)(1,"div",1),Qe(2,"div",2),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),Ke(6,"div",3),c(7),Xe()()()),o&2&&(a(2),gt("innerText",(typeof i.service.values.CurrentTemperature=="number"?ae(4,4,d(3,2,i.service.values.CurrentTemperature),"1.0-1"):"?")+"\xB0"+d(5,7,i.temperatureUnits)),a(5),b(i.service.customName||i.service.serviceName))},dependencies:[Te,Pe,Ee],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}"]})}return e})();var Oc=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),Et=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Lc(e,n){if(e&1&&(r(0,"div",6),v(1,"div",10),s()),e&2){let t=u();a(),m("innerText",t.service.values.CurrentRelativeHumidity+"%")}}function Nc(e,n){if(e&1){let t=H();r(0,"button",11),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(0,i))}),r(1,"div",12),v(2,"i",13),s(),c(3),p(4,"translate"),r(5,"div",14),v(6,"i",15),s()()}if(e&2){let t=u();a(2),m("ngClass",P(4,Et,t.targetMode===0,t.targetMode!==0)),a(),h(" ",d(4,2,"accessories.control.off")," ")}}function Gc(e,n){if(e&1){let t=H();r(0,"button",11),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(3,i))}),r(1,"div",12),v(2,"i",13),s(),c(3),p(4,"translate"),r(5,"div",14),v(6,"i",15),s()()}if(e&2){let t=u();a(2),m("ngClass",P(4,Et,t.targetMode===3,t.targetMode!==3)),a(),h(" ",d(4,2,"accessories.control.auto")," ")}}function Rc(e,n){if(e&1){let t=H();r(0,"button",11),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(1,i))}),r(1,"div",12),v(2,"i",13),s(),c(3),p(4,"translate"),r(5,"div",14),v(6,"i",15),s()()}if(e&2){let t=u();a(2),m("ngClass",P(4,Et,t.targetMode===1,t.targetMode!==1)),a(),h(" ",d(4,2,"accessories.control.heat")," ")}}function jc(e,n){if(e&1){let t=H();r(0,"button",11),C("click",function(i){k(t);let l=u();return V(l.setTargetMode(2,i))}),r(1,"div",12),v(2,"i",13),s(),c(3),p(4,"translate"),r(5,"div",14),v(6,"i",15),s()()}if(e&2){let t=u();a(2),m("ngClass",P(4,Et,t.targetMode===2,t.targetMode!==2)),a(),h(" ",d(4,2,"accessories.control.cool")," ")}}function Wc(e,n){if(e&1){let t=H();r(0,"h6",16),c(1),p(2,"translate"),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),s(),r(6,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetTemperature.value,i)||(l.targetTemperature.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onTemperatureStateChange())}),s()}if(e&2){let t=u();a(),He(" ",d(2,7,"accessories.control.target"),": ",ae(4,11,d(3,9,t.targetTemperature.value),"1.0-1"),"\xB0",d(5,14,t.temperatureUnits)," "),a(5),m("min",t.targetTemperature.min)("max",t.targetTemperature.max)("step",t.targetTemperature.step),z("ngModel",t.targetTemperature.value)}}function Uc(e,n){if(e&1){let t=H();r(0,"h6",18),c(1),p(2,"translate"),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),p(6,"convertTemp"),p(7,"number"),p(8,"uppercase"),s(),r(9,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.autoTemp,i)||(l.autoTemp=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onAutoThresholdStateChange())}),s()}if(e&2){let t=u(2);a(),ft(" ",d(2,9,"accessories.control.threshold_auto"),": ",ae(4,13,d(3,11,t.autoTemp[0]),"1.0-1"),"\xB0",d(5,16,t.temperatureUnits)," - ",ae(7,20,d(6,18,t.autoTemp[1]),"1.0-1"),"\xB0",d(8,23,t.temperatureUnits)," "),a(8),m("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),z("ngModel",t.autoTemp)}}function zc(e,n){if(e&1){let t=H();r(0,"h6",16),c(1),p(2,"translate"),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),s(),r(6,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onThresholdStateChange())}),s()}if(e&2){let t=u(2);a(),He(" ",d(2,7,"accessories.control.threshold_auto"),": ",ae(4,11,d(3,9,t.targetHeatingTemp),"1.0-1"),"\xB0",d(5,14,t.temperatureUnits)," "),a(5),m("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),z("ngModel",t.targetHeatingTemp)}}function $c(e,n){if(e&1){let t=H();r(0,"h6",16),c(1),p(2,"translate"),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),s(),r(6,"nouislider",17),q("ngModelChange",function(i){k(t);let l=u(2);return $(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),V(i)}),C("ngModelChange",function(){k(t);let i=u(2);return V(i.onThresholdStateChange())}),s()}if(e&2){let t=u(2);a(),He(" ",d(2,7,"accessories.control.threshold_auto"),": ",ae(4,11,d(3,9,t.targetCoolingTemp),"1.0-1"),"\xB0",d(5,14,t.temperatureUnits)," "),a(5),m("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),z("ngModel",t.targetCoolingTemp)}}function qc(e,n){if(e&1&&_(0,Uc,10,25)(1,zc,7,16)(2,$c,7,16),e&2){let t=u();x(t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?0:t.HeatingThresholdTemperature&&!t.CoolingThresholdTemperature?1:!t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?2:-1)}}var co=(()=>{class e{$activeModal=B(Y);$settings=B(De);service;targetMode;targetTemperature;targetTemperatureChanged=new ee;targetThresholdChanged=new ee;targetStateValidValues=[];CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;hasHumidity=!1;temperatureUnits=this.$settings.env.temperatureUnits;constructor(){this.targetTemperatureChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("TargetTemperature").setValue(this.targetTemperature.value)}),this.targetThresholdChanged.pipe(te(500)).subscribe(()=>{this.HeatingThresholdTemperature&&this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp),this.CoolingThresholdTemperature&&this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp)})}ngOnInit(){this.targetMode=this.service.values.TargetHeatingCoolingState,this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.targetStateValidValues=this.service.getCharacteristic("TargetHeatingCoolingState").validValues,this.loadTargetTemperature(),this.service.getCharacteristic("CurrentRelativeHumidity")&&(this.hasHumidity=!0),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("TargetHeatingCoolingState").setValue(this.targetMode),o.target.blur()}onTemperatureStateChange(){this.targetTemperatureChanged.next(this.targetTemperature.value)}onThresholdStateChange(){this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetThresholdChanged.next(void 0)}onAutoThresholdStateChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.targetThresholdChanged.next(void 0)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetTemperature(){let t=this.service.getCharacteristic("TargetTemperature");this.targetTemperature={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep||.5},this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:19,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"temperature-circle","temperature-circle-big","mb-4",3,"innerText","ngClass"],[1,"humidity-drop","humidity-drop-big","ms-5","no-current-state"],["role","group","aria-label","Thermostat Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"modal-footer"],[1,"humidity-drop-text",3,"innerText"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"mt-4","mb-1"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4),v(6,"div",5),p(7,"convertTemp"),p(8,"number"),p(9,"uppercase"),_(10,Lc,2,1,"div",6),r(11,"div",7),_(12,Nc,7,7,"button",8),_(13,Gc,7,7,"button",8),_(14,Rc,7,7,"button",8),_(15,jc,7,7,"button",8),s(),_(16,Wc,7,16),_(17,qc,3,1),s(),v(18,"div",9),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,11,"form.button_close")),a(3),m("innerText",ae(8,15,d(7,13,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+d(9,18,i.temperatureUnits))("ngClass",ye(20,Oc,i.service.values.CurrentHeatingCoolingState===2&&i.service.values.TargetHeatingCoolingState>0,i.service.values.CurrentHeatingCoolingState===1&&i.service.values.TargetHeatingCoolingState>0,i.service.values.TargetHeatingCoolingState>0&&i.service.values.CurrentHeatingCoolingState===0)),a(4),x(i.hasHumidity?10:-1),a(2),x(i.targetStateValidValues.includes(0)?12:-1),a(),x(i.targetStateValidValues.includes(3)?13:-1),a(),x(i.targetStateValidValues.includes(1)?14:-1),a(),x(i.targetStateValidValues.includes(2)?15:-1),a(),x("TargetTemperature"in i.service.values?16:-1),a(),x(i.targetStateValidValues.includes(3)?17:-1))},dependencies:[D,Z,ne,oe,re,Te,w,Pe,Ee],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-9px}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Kc=e=>({"switch-on":e}),Qc=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function Zc(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.off")," ")}function Yc(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.heat")," ")}function Jc(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.cool")," ")}function Xc(e,n){if(e&1&&(v(0,"i",5),c(1),p(2,"convertTemp"),p(3,"number"),p(4,"uppercase")),e&2){let t=u();a(),R(" ",ae(3,4,d(2,2,t.service.values.TargetTemperature),"1.0-1"),"\xB0",d(4,7,t.temperatureUnits)," ")}}var po=(()=>{class e{$modal=B(J);$settings=B(De);service;readyForControl=!1;temperatureUnits=this.$settings.env.temperatureUnits;onClick(){if(!this.readyForControl)return;let t=this.$modal.open(co,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-thermostat"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:13,vars:18,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),p(3,"convertTemp"),p(4,"number"),p(5,"uppercase"),r(6,"div",3),c(7),s(),r(8,"div",4),_(9,Zc,2,3)(10,Yc,2,3)(11,Jc,2,3)(12,Xc,5,9),s()()()),o&2&&(m("ngClass",W(12,Kc,i.service.values.TargetHeatingCoolingState>0)),a(2),m("innerText",ae(4,7,d(3,5,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+d(5,10,i.temperatureUnits))("ngClass",ye(14,Qc,i.service.values.CurrentHeatingCoolingState===2&&i.service.values.TargetHeatingCoolingState>0,i.service.values.CurrentHeatingCoolingState===1&&i.service.values.TargetHeatingCoolingState>0,i.service.values.TargetHeatingCoolingState>0&&i.service.values.CurrentHeatingCoolingState===0)),a(5),b(i.service.customName||i.service.serviceName),a(2),x(i.service.values.TargetHeatingCoolingState===0?9:i.service.values.TargetHeatingCoolingState===1?10:i.service.values.TargetHeatingCoolingState===2?11:i.service.values.TargetHeatingCoolingState===3?12:-1))},dependencies:[U,D,Te,w,Pe,Ee],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-9px}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var mo=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-unknown"]],inputs:{service:"service"},decls:7,vars:4,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),r(5,"div",4),c(6),s()()()),o&2&&(a(2),m("inlineSVG","/assets/hap-icons/unknown.svg"),M("aria-label","Unknown"),a(2),b(i.service.customName||i.service.serviceName),a(2),b(i.service.humanType))},dependencies:[O],encapsulation:2})}return e})();var uo=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function ep(e,n){if(e&1){let t=H();r(0,"h6"),c(1),p(2,"translate"),p(3,"duration"),s(),r(4,"nouislider",12),q("ngModelChange",function(i){k(t);let l=u();return $(l.targetSetDuration.value,i)||(l.targetSetDuration.value=i),V(i)}),C("ngModelChange",function(){k(t);let i=u();return V(i.onSetDurationStateChange())}),s()}if(e&2){let t=u();a(),R(" ",d(2,6,"accessories.control.set_duration"),": ",t.targetSetDuration.value===0?"\u221E":d(3,8,t.targetSetDuration.value)," "),a(3),m("min",t.targetSetDuration.min)("max",t.targetSetDuration.max)("step",15),z("ngModel",t.targetSetDuration.value)}}var vo=(()=>{class e{$activeModal=B(Y);service;targetMode;targetSetDuration;targetSetDurationChanged=new ee;constructor(){this.targetSetDurationChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("SetDuration").setValue(this.targetSetDuration.value)})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadTargetSetDuration()}setTargetMode(t,o){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),o.target.blur()}onSetDurationStateChange(){this.targetSetDurationChanged.next(this.targetSetDuration.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetSetDuration(){let t=this.service.getCharacteristic("SetDuration");t&&(this.targetSetDuration={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[0];o&&(o.style.background="linear-gradient(to right, #add8e6, #416bdf)")},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:23,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Valve Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5)(7,"button",6),C("click",function(y){return i.setTargetMode(!1,y)}),r(8,"div",7),v(9,"i",8),s(),c(10),p(11,"translate"),r(12,"div",9),v(13,"i",10),s()(),r(14,"button",6),C("click",function(y){return i.setTargetMode(!0,y)}),r(15,"div",7),v(16,"i",8),s(),c(17),p(18,"translate"),r(19,"div",9),v(20,"i",10),s()()(),_(21,ep,5,10),s(),v(22,"div",11),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,7,"form.button_close")),a(6),m("ngClass",P(13,uo,!i.targetMode,i.targetMode)),a(),h(" ",d(11,9,"accessories.control.off")," "),a(6),m("ngClass",P(16,uo,i.targetMode,!i.targetMode)),a(),h(" ",d(18,11,"accessories.control.on")," "),a(4),x(i.targetSetDuration?21:-1))},dependencies:[Z,ne,oe,re,D,w,Vt],encapsulation:2})}return e})();var tp=e=>({"switch-on":e});function ip(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/service-icons/valve-generic.svg"),M("aria-label","Generic Valve"))}function np(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/service-icons/valve-irrigation.svg"),M("aria-label","Irrigation Valve"))}function op(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/service-icons/valve-shower-head.svg"),M("aria-label","Shower Head Valve"))}function rp(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/service-icons/valve-faucet.svg"),M("aria-label","Faucet Valve"))}function ap(e,n){if(e&1&&(r(0,"div",4),c(1),s()),e&2){let t=u();a(),b(t.remainingDuration)}}function sp(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.running")))}function lp(e,n){e&1&&(r(0,"div",4),c(1),p(2,"translate"),s()),e&2&&(a(),b(d(2,1,"accessories.control.off")))}var go=(()=>{class e{$modal=B(J);service;readyForControl=!1;secondsActive=0;remainingDuration;remainingDurationInterval=yi(1e3).pipe(Si(()=>this.isActive()));remainingDurationSubscription;ngOnInit(){"SetDuration"in this.service.values&&this.setupRemainingDurationCounter()}onClick(){this.readyForControl&&("Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(!this.service.values.On))}onLongClick(){if(this.readyForControl&&"SetDuration"in this.service.values){let t=this.$modal.open(vo,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}}ngOnDestroy(){this.remainingDurationSubscription&&this.remainingDurationSubscription.unsubscribe()}isActive(){return this.service.values.Active?!0:(this.resetRemainingDuration(),!1)}setupRemainingDurationCounter(){this.remainingDurationSubscription=this.remainingDurationInterval.subscribe(()=>{this.secondsActive++;let t=this.service.getCharacteristic("RemainingDuration").value-this.secondsActive;t>0?this.remainingDuration=t<3600?new Date(t*1e3).toISOString().substring(14,19):new Date(t*1e3).toISOString().substring(11,19):this.remainingDuration=""})}resetRemainingDuration(){this.secondsActive=0,this.service.getCharacteristic("RemainingDuration")&&(this.remainingDuration="")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-valve"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:11,vars:6,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),_(2,ip,1,2,"div",2)(3,np,1,2,"div",2)(4,op,1,2,"div",2)(5,rp,1,2,"div",2),r(6,"div",3),c(7),s(),_(8,ap,2,1,"div",4)(9,sp,3,3,"div",4)(10,lp,3,3,"div",4),s()()),o&2&&(m("ngClass",W(4,tp,i.service.values.Active||i.service.values.On)),a(2),x(i.service.values.ValveType===0||!i.service.values.ValveType?2:i.service.values.ValveType===1?3:i.service.values.ValveType===2?4:i.service.values.ValveType===3?5:-1),a(5),h(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),a(),x(i.service.values.Active&&i.remainingDuration?8:i.service.values.Active&&!i.remainingDuration||i.service.values.On?9:10))},dependencies:[U,D,O,w],styles:[".switch-on svg .grass{stroke:#4caf50!important} .switch-on svg .drop{fill-opacity:.5} .switch-on svg .drop-in{animation:_ngcontent-%COMP%_blink 1.5s infinite} .switch-on svg .drop-out{animation:_ngcontent-%COMP%_blink 1.5s infinite;animation-delay:.75s} .switch-on svg .drop-top{animation:_ngcontent-%COMP%_blink 1.5s infinite} .switch-on svg .drop-middle{animation:_ngcontent-%COMP%_blink 1.5s infinite;animation-delay:.5s} .switch-on svg .drop-bottom{animation:_ngcontent-%COMP%_blink 1.5s infinite;animation-delay:1s}@keyframes _ngcontent-%COMP%_blink{0%,to{opacity:1}50%{opacity:0}}@keyframes _ngcontent-%COMP%_blink-on-off{0%,to{opacity:1}50%{opacity:.5}} .switch-on svg .stream{stroke-opacity:.5;animation:_ngcontent-%COMP%_blink-on-off 4s infinite} .switch-on svg .sink{fill:#1976d2}"]})}return e})();var cp=e=>({"switch-on":e}),fo=(()=>{class e{service;readyForControl=!1;onClick(){this.readyForControl&&("On"in this.service.values?this.service.getCharacteristic("On").setValue(!this.service.values.On):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-washing-machine"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:7,vars:9,consts:[["tabindex","0",1,"accessory-box",3,"shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(r(0,"div",0),C("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),v(5,"div",4),p(6,"translate"),s()()),o&2&&(m("ngClass",W(7,cp,i.service.values.On||i.service.values.Active)),a(2),m("inlineSVG","/assets/service-icons/washing-machine.svg"),M("aria-label","Washing Machine"),a(2),b(i.service.customName||i.service.serviceName),a(),m("innerText",d(6,5,i.service.values.On||i.service.values.Active?"accessories.control.on":"accessories.control.off")))},dependencies:[U,D,O,w],styles:[".switch-on svg .handle{fill:#1976d2;fill-opacity:.5;transform-origin:48% 53%;animation:_ngcontent-%COMP%_rotate-handle 2s linear infinite}@keyframes _ngcontent-%COMP%_rotate-handle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"]})}return e})();function pp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closed")," ")}function dp(e,n){if(e&1&&(c(0),p(1,"translate")),e&2){let t=u(2);R(" ",d(1,2,"accessories.control.open")," ",t.service.getCharacteristic("CurrentPosition").value,"% ")}}function mp(e,n){if(e&1&&_(0,pp,2,3)(1,dp,2,4),e&2){let t=u();x(t.service.values.CurrentPosition===0?0:1)}}function up(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.opening"),"... ")}function vp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closing"),"... ")}var Co=(()=>{class e{$activeModal=B(Y);service;targetMode;targetPositionChanged=new ee;targetPosition;constructor(){this.targetPositionChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #242424, #ffd6aa)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5)(7,"div",6),_(8,mp,2,1)(9,up,2,3)(10,vp,2,3),s()(),r(11,"h6",7),c(12),p(13,"translate"),s(),r(14,"nouislider",8),q("ngModelChange",function(y){return $(i.targetPosition.value,y)||(i.targetPosition.value=y),y}),C("ngModelChange",function(){return i.onTargetPositionChange()}),s(),r(15,"div",9)(16,"span",10),c(17),p(18,"translate"),s(),r(19,"span",10),c(20),p(21,"translate"),s()(),r(22,"h6",7),c(23),p(24,"translate"),s(),r(25,"nouislider",11),q("ngModelChange",function(y){return $(i.service.getCharacteristic("CurrentPosition").value,y)||(i.service.getCharacteristic("CurrentPosition").value=y),y}),s(),r(26,"div",9)(27,"span",10),c(28),p(29,"translate"),s(),r(30,"span",10),c(31),p(32,"translate"),s()()(),v(33,"div",12),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,20,"form.button_close")),a(5),x(i.service.values.PositionState===2?8:i.service.values.PositionState===1?9:i.service.values.PositionState===0?10:-1),a(4),R("",d(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),a(2),m("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),z("ngModel",i.targetPosition.value),a(3),b(d(18,24,"accessories.control.closed")),a(3),b(d(21,26,"accessories.control.open")),a(3),R(" ",d(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),a(2),m("min",0)("max",100)("step",1)("disabled",!0),z("ngModel",i.service.getCharacteristic("CurrentPosition").value),a(3),b(d(29,30,"accessories.control.closed")),a(3),b(d(32,32,"accessories.control.open")))},dependencies:[re,Z,ne,oe,w],encapsulation:2})}return e})();var gp=e=>({"accessory-on":e});function fp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closed")," ")}function Cp(e,n){if(e&1&&(c(0),p(1,"translate")),e&2){let t=u(2);R(" ",d(1,2,"accessories.control.open")," ",t.service.values.CurrentPosition,"% ")}}function hp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.open")," ")}function _p(e,n){if(e&1&&(r(0,"div",4),_(1,fp,2,3),_(2,Cp,2,4),_(3,hp,2,3),s()),e&2){let t=u();a(),x(t.service.values.CurrentPosition===0?1:-1),a(),x(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),a(),x(t.service.values.CurrentPosition===100?3:-1)}}function xp(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),h("",d(2,1,"accessories.control.opening"),"..."))}function yp(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),h("",d(2,1,"accessories.control.closing"),"..."))}var ho=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){this.readyForControl&&(this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100))}onLongClick(){if(!this.readyForControl)return;let t=this.$modal.open(Co,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-window-covering"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:8,vars:7,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,_p,4,3,"div",4)(6,xp,3,3,"div",5)(7,yp,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,gp,i.service.values.CurrentPosition)),a(2),m("inlineSVG","/assets/service-icons/window-covering.svg"),M("aria-label","Window Covering"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.PositionState===2?5:i.service.values.PositionState===1?6:i.service.values.PositionState===0?7:-1))},dependencies:[U,D,O,w],styles:["body.dark-mode .c-blinds{fill:#2b2b2b;stroke:#2b2b2b;stroke-opacity:.8;fill-opacity:.8} svg .c-blinds{transition:height 3s ease;height:27.6px} svg .c-light{transition:y 3s ease,height 3s ease;y:29.9px;height:0} .accessory-on svg .c-blinds{transition:height 3s ease;height:.3px} .accessory-on svg .c-light{transition:y 3s ease,height 3s ease;y:2.65px;height:27.3px}"]})}return e})();function Sp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closed")," ")}function bp(e,n){if(e&1&&(c(0),p(1,"translate")),e&2){let t=u(2);R(" ",d(1,2,"accessories.control.open")," ",t.service.getCharacteristic("CurrentPosition").value,"% ")}}function Tp(e,n){if(e&1&&_(0,Sp,2,3)(1,bp,2,4),e&2){let t=u();x(t.service.values.CurrentPosition===0?0:1)}}function Mp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.opening"),"... ")}function kp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closing"),"... ")}var _o=(()=>{class e{$activeModal=B(Y);service;targetMode;targetPositionChanged=new ee;targetPosition;constructor(){this.targetPositionChanged.pipe(te(500)).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #242424, #ffd6aa)"})},10))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"div",1),v(2,"h5",2),r(3,"button",3),p(4,"translate"),C("click",function(){return i.dismissModal()}),s()(),r(5,"div",4)(6,"div",5)(7,"div",6),_(8,Tp,2,1)(9,Mp,2,3)(10,kp,2,3),s()(),r(11,"h6",7),c(12),p(13,"translate"),s(),r(14,"nouislider",8),q("ngModelChange",function(y){return $(i.targetPosition.value,y)||(i.targetPosition.value=y),y}),C("ngModelChange",function(){return i.onTargetPositionChange()}),s(),r(15,"div",9)(16,"span",10),c(17),p(18,"translate"),s(),r(19,"span",10),c(20),p(21,"translate"),s()(),r(22,"h6",7),c(23),p(24,"translate"),s(),r(25,"nouislider",11),q("ngModelChange",function(y){return $(i.service.getCharacteristic("CurrentPosition").value,y)||(i.service.getCharacteristic("CurrentPosition").value=y),y}),s(),r(26,"div",9)(27,"span",10),c(28),p(29,"translate"),s(),r(30,"span",10),c(31),p(32,"translate"),s()()(),v(33,"div",12),s()),o&2&&(a(2),m("innerText",i.service.customName||i.service.serviceName),a(),M("aria-label",d(4,20,"form.button_close")),a(5),x(i.service.values.PositionState===2?8:i.service.values.PositionState===1?9:i.service.values.PositionState===0?10:-1),a(4),R("",d(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),a(2),m("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),z("ngModel",i.targetPosition.value),a(3),b(d(18,24,"accessories.control.closed")),a(3),b(d(21,26,"accessories.control.open")),a(3),R(" ",d(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),a(2),m("min",0)("max",100)("step",1)("disabled",!0),z("ngModel",i.service.getCharacteristic("CurrentPosition").value),a(3),b(d(29,30,"accessories.control.closed")),a(3),b(d(32,32,"accessories.control.open")))},dependencies:[re,Z,ne,oe,w],encapsulation:2})}return e})();var Vp=e=>({"accessory-on":e});function wp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.closed")," ")}function Ep(e,n){if(e&1&&(c(0),p(1,"translate")),e&2){let t=u(2);R(" ",d(1,2,"accessories.control.open")," ",t.service.values.CurrentPosition,"% ")}}function Dp(e,n){e&1&&(c(0),p(1,"translate")),e&2&&h(" ",d(1,1,"accessories.control.open")," ")}function Pp(e,n){if(e&1&&(r(0,"div",4),_(1,wp,2,3),_(2,Ep,2,4),_(3,Dp,2,3),s()),e&2){let t=u();a(),x(t.service.values.CurrentPosition===0?1:-1),a(),x(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),a(),x(t.service.values.CurrentPosition===100?3:-1)}}function Ip(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),h("",d(2,1,"accessories.control.opening"),"..."))}function Ap(e,n){e&1&&(r(0,"div",5),c(1),p(2,"translate"),s()),e&2&&(a(),h("",d(2,1,"accessories.control.closing"),"..."))}var xo=(()=>{class e{$modal=B(J);service;readyForControl=!1;onClick(){this.readyForControl&&(this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100))}onLongClick(){if(!this.readyForControl)return;let t=this.$modal.open(_o,{size:"md",backdrop:"static"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-window"]],inputs:{service:"service",readyForControl:"readyForControl"},decls:8,vars:7,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(r(0,"div",0),C("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),r(1,"div",1),v(2,"div",2),r(3,"div",3),c(4),s(),_(5,Pp,4,3,"div",4)(6,Ip,3,3,"div",5)(7,Ap,3,3,"div",5),s()()),o&2&&(m("ngClass",W(5,Vp,i.service.values.CurrentPosition)),a(2),m("inlineSVG","/assets/service-icons/window.svg"),M("aria-label","Window"),a(2),b(i.service.customName||i.service.serviceName),a(),x(i.service.values.PositionState===2?5:i.service.values.PositionState===1?6:i.service.values.PositionState===0?7:-1))},dependencies:[U,D,O,w],styles:["svg .outline-left{x:2.8px;width:12.4px} svg .divider-left{x:3.66px;width:10.68px} svg .handle-left{x:15.16px;width:.1px} svg .outline-right{x:16.8px;width:12.4px} svg .divider-right{x:17.66px;width:10.68px} svg .handle-right{x:16.76px;width:.1px} .accessory-on svg .outline-left{x:2.8px;width:2.4px} .accessory-on svg .divider-left{x:3.66px;width:.68px} .accessory-on svg .handle-left{x:5.16px;width:.1px} .accessory-on svg .outline-right{x:26.8px;width:2.4px} .accessory-on svg .divider-right{x:27.66px;width:.68px} .accessory-on svg .handle-right{x:26.76px;width:.1px}"]})}return e})();function Bp(e,n){if(e&1){let t=H();r(0,"a",6),C("click",function(){k(t);let i=u();return V(i.$accessories.showAccessoryInformation(i.service))}),v(1,"i",7),s()}}function Fp(e,n){e&1&&v(0,"i",1)}function Hp(e,n){if(e&1&&(r(0,"app-switch",2),c(1,"Switch"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Op(e,n){if(e&1&&(r(0,"app-thermostat",2),c(1,"Thermostat"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Lp(e,n){if(e&1&&(r(0,"app-outlet",2),c(1,"Outlet"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Np(e,n){if(e&1&&(r(0,"app-fan",3),c(1,"Fan"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Gp(e,n){if(e&1&&(r(0,"app-fan",3),c(1,"Fan"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Rp(e,n){if(e&1&&(r(0,"app-air-purifier",3),c(1,"Air Purifier"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function jp(e,n){if(e&1&&(r(0,"app-light-bulb",2),c(1,"Lightbulb"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Wp(e,n){if(e&1&&(r(0,"app-light-sensor",4),c(1,"Light Sensor"),s()),e&2){let t=u();m("service",t.service)}}function Up(e,n){if(e&1&&(r(0,"app-lock-mechanism",2),c(1,"Lock Mechanism"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function zp(e,n){if(e&1&&(r(0,"app-temperature-sensor",4),c(1,"Temperature Sensor"),s()),e&2){let t=u();m("service",t.service)}}function $p(e,n){if(e&1&&(r(0,"app-garage-door-opener",2),c(1,"Garage Door Opener"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function qp(e,n){if(e&1&&(r(0,"app-motion-sensor",4),c(1,"Motion Sensor"),s()),e&2){let t=u();m("service",t.service)}}function Kp(e,n){if(e&1&&(r(0,"app-occupancy-sensor",4),c(1,"Occupancy Sensor"),s()),e&2){let t=u();m("service",t.service)}}function Qp(e,n){if(e&1&&(r(0,"app-contact-sensor",4),c(1,"Contact Sensor"),s()),e&2){let t=u();m("service",t.service)}}function Zp(e,n){if(e&1&&(r(0,"app-humidity-sensor",4),c(1,"Humidity Sensor"),s()),e&2){let t=u();m("service",t.service)}}function Yp(e,n){if(e&1&&(r(0,"app-air-quality-sensor",4),c(1,"Air Quality Sensor"),s()),e&2){let t=u();m("service",t.service)}}function Jp(e,n){if(e&1&&(r(0,"app-window-covering",2),c(1,"Window Covering"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Xp(e,n){if(e&1&&(r(0,"app-window",2),c(1,"Window"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function ed(e,n){if(e&1&&(r(0,"app-door",2),c(1,"Door"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function td(e,n){if(e&1&&(r(0,"app-television",2),c(1,"Television"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function id(e,n){if(e&1&&(r(0,"app-battery",4),c(1,"Battery"),s()),e&2){let t=u();m("service",t.service)}}function nd(e,n){if(e&1&&(r(0,"app-battery",4),c(1,"Battery"),s()),e&2){let t=u();m("service",t.service)}}function od(e,n){if(e&1&&(r(0,"app-speaker",2),c(1,"Speaker"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function rd(e,n){if(e&1&&(r(0,"app-speaker",2),c(1,"Speaker"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function ad(e,n){if(e&1&&(r(0,"app-doorbell",2),c(1,"Doorbell"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function sd(e,n){if(e&1&&(r(0,"app-microphone",2),c(1,"Microphone"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function ld(e,n){if(e&1&&(r(0,"app-security-system",2),c(1,"Security System"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function cd(e,n){if(e&1&&(r(0,"app-leak-sensor",4),c(1,"Leak Sensor"),s()),e&2){let t=u();m("service",t.service)}}function pd(e,n){if(e&1&&(r(0,"app-smoke-sensor",4),c(1,"Smoke Sensor"),s()),e&2){let t=u();m("service",t.service)}}function dd(e,n){if(e&1&&(r(0,"app-carbon-monoxide-sensor",4),c(1,"Carbon Monoxide Sensor"),s()),e&2){let t=u();m("service",t.service)}}function md(e,n){if(e&1&&(r(0,"app-carbon-dioxide-sensor",4),c(1,"Carbon Dioxide Sensor"),s()),e&2){let t=u();m("service",t.service)}}function ud(e,n){if(e&1&&(r(0,"app-valve",2),c(1,"Valve"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function vd(e,n){if(e&1&&(r(0,"app-irrigation-system",4),c(1,"Irrigation System"),s()),e&2){let t=u();m("service",t.service)}}function gd(e,n){if(e&1&&(r(0,"app-heater-cooler",2),c(1,"Heater Cooler"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function fd(e,n){if(e&1&&(r(0,"app-heater-cooler",5),c(1,"Heater"),s()),e&2){let t=u();m("service",t.service)("type","heater")("readyForControl",t.$accessories.readyForControl)}}function Cd(e,n){if(e&1&&(r(0,"app-heater-cooler",5),c(1,"Cooler"),s()),e&2){let t=u();m("service",t.service)("type","cooler")("readyForControl",t.$accessories.readyForControl)}}function hd(e,n){if(e&1&&(r(0,"app-humidifier-dehumidifier",2),c(1,"Humidifier Dehumidifier"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function _d(e,n){if(e&1&&(r(0,"app-humidifier-dehumidifier",5),c(1,"Humidifier Dehumidifier"),s()),e&2){let t=u();m("service",t.service)("type","humidifier")("readyForControl",t.$accessories.readyForControl)}}function xd(e,n){if(e&1&&(r(0,"app-humidifier-dehumidifier",5),c(1,"Humidifier Dehumidifier"),s()),e&2){let t=u();m("service",t.service)("type","dehumidifier")("readyForControl",t.$accessories.readyForControl)}}function yd(e,n){if(e&1&&(r(0,"app-stateless-programmable-switch",4),c(1,"Stateless Programmable Switch"),s()),e&2){let t=u();m("service",t.service)}}function Sd(e,n){if(e&1&&(r(0,"app-filter-maintenance",2),c(1,"Filter Maintenance"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function bd(e,n){if(e&1&&(r(0,"app-robot-vacuum",2),c(1,"Robot Vacuum"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Td(e,n){if(e&1&&(r(0,"app-washing-machine",2),c(1,"Washing Machine"),s()),e&2){let t=u();m("service",t.service)("readyForControl",t.$accessories.readyForControl)}}function Md(e,n){if(e&1&&(r(0,"app-unknown",4),c(1),s()),e&2){let t=u();m("service",t.service),a(),b(t.service.humanType)}}var y_=(()=>{class e{$accessories=B(Ki);service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-accessory-tile"]],inputs:{service:"service"},decls:47,vars:3,consts:[["href","javascript:void(0)",1,"manage-accessory-button"],[1,"fas","fa-fw","fa-spin","fa-sync-alt","refreshing-accessory-status-icon","grey-text"],[3,"service","readyForControl"],[1,"w-100",3,"service","readyForControl"],[3,"service"],[3,"service","type","readyForControl"],["href","javascript:void(0)",1,"manage-accessory-button",3,"click"],[1,"fas","fa-fw","fa-bars","grey-text"]],template:function(o,i){if(o&1&&(Hi(0),_(1,Bp,2,0,"a",0),_(2,Fp,1,0,"i",1),_(3,Hp,2,2,"app-switch",2)(4,Op,2,2,"app-thermostat",2)(5,Lp,2,2,"app-outlet",2)(6,Np,2,2,"app-fan",3)(7,Gp,2,2,"app-fan",3)(8,Rp,2,2,"app-air-purifier",3)(9,jp,2,2,"app-light-bulb",2)(10,Wp,2,1,"app-light-sensor",4)(11,Up,2,2,"app-lock-mechanism",2)(12,zp,2,1,"app-temperature-sensor",4)(13,$p,2,2,"app-garage-door-opener",2)(14,qp,2,1,"app-motion-sensor",4)(15,Kp,2,1,"app-occupancy-sensor",4)(16,Qp,2,1,"app-contact-sensor",4)(17,Zp,2,1,"app-humidity-sensor",4)(18,Yp,2,1,"app-air-quality-sensor",4)(19,Jp,2,2,"app-window-covering",2)(20,Xp,2,2,"app-window",2)(21,ed,2,2,"app-door",2)(22,td,2,2,"app-television",2)(23,id,2,1,"app-battery",4)(24,nd,2,1,"app-battery",4)(25,od,2,2,"app-speaker",2)(26,rd,2,2,"app-speaker",2)(27,ad,2,2,"app-doorbell",2)(28,sd,2,2,"app-microphone",2)(29,ld,2,2,"app-security-system",2)(30,cd,2,1,"app-leak-sensor",4)(31,pd,2,1,"app-smoke-sensor",4)(32,dd,2,1,"app-carbon-monoxide-sensor",4)(33,md,2,1,"app-carbon-dioxide-sensor",4)(34,ud,2,2,"app-valve",2)(35,vd,2,1,"app-irrigation-system",4)(36,gd,2,2,"app-heater-cooler",2)(37,fd,2,3,"app-heater-cooler",5)(38,Cd,2,3,"app-heater-cooler",5)(39,hd,2,2,"app-humidifier-dehumidifier",2)(40,_d,2,3,"app-humidifier-dehumidifier",5)(41,xd,2,3,"app-humidifier-dehumidifier",5)(42,yd,2,1,"app-stateless-programmable-switch",4)(43,Sd,2,2,"app-filter-maintenance",2)(44,bd,2,2,"app-robot-vacuum",2)(45,Td,2,2,"app-washing-machine",2)(46,Md,2,2,"app-unknown",4),Oi()),o&2){let l;a(),x(i.$accessories.readyForControl?1:-1),a(),x(i.$accessories.readyForControl?-1:2),a(),x((l=i.service.customType||i.service.type)==="Switch"?3:l==="Thermostat"?4:l==="Outlet"?5:l==="Fan"?6:l==="Fanv2"?7:l==="AirPurifier"?8:l==="Lightbulb"?9:l==="LightSensor"?10:l==="LockMechanism"?11:l==="TemperatureSensor"?12:l==="GarageDoorOpener"?13:l==="MotionSensor"?14:l==="OccupancySensor"?15:l==="ContactSensor"?16:l==="HumiditySensor"?17:l==="AirQualitySensor"?18:l==="WindowCovering"?19:l==="Window"?20:l==="Door"?21:l==="Television"?22:l==="Battery"?23:l==="BatteryService"?24:l==="Speaker"?25:l==="SmartSpeaker"?26:l==="Doorbell"?27:l==="Microphone"?28:l==="SecuritySystem"?29:l==="LeakSensor"?30:l==="SmokeSensor"?31:l==="CarbonMonoxideSensor"?32:l==="CarbonDioxideSensor"?33:l==="Valve"?34:l==="IrrigationSystem"?35:l==="HeaterCooler"?36:l==="Heater"?37:l==="Cooler"?38:l==="HumidifierDehumidifier"?39:l==="Humidifier"?40:l==="Dehumidifier"?41:l==="StatelessProgrammableSwitch"?42:l==="FilterMaintenance"?43:l==="RobotVacuum"?44:l==="WashingMachine"?45:46)}},dependencies:[ro,po,Qn,Mn,un,Ln,Nn,jn,lo,wn,$n,qn,hn,An,vn,ho,xo,xn,so,gn,io,Jn,Fn,Xn,Cn,fn,go,Bn,Dn,In,no,Vn,bn,mo,zn,Zn,fo],encapsulation:2})}return e})();export{y_ as a};