homebridge-config-ui-x 5.0.0-beta.22 → 5.0.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -1
- package/dist/modules/plugins/plugins.service.js +6 -3
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/package.json +5 -4
- package/public/3rdpartylicenses.txt +73 -3
- package/public/assets/hap-icons/airpurifier.svg +49 -16
- package/public/assets/hap-icons/airquality.svg +24 -13
- package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
- package/public/assets/hap-icons/contactsensor-open.svg +80 -2
- package/public/assets/hap-icons/door-closed.svg +32 -2
- package/public/assets/hap-icons/door-open.svg +48 -2
- package/public/assets/hap-icons/fan-off.svg +24 -13
- package/public/assets/hap-icons/fan-on.svg +24 -13
- package/public/assets/hap-icons/garagedoor.svg +24 -13
- package/public/assets/hap-icons/humidity.svg +24 -13
- package/public/assets/hap-icons/irrigation-system.svg +47 -18
- package/public/assets/hap-icons/leaksensor.svg +52 -2
- package/public/assets/hap-icons/light.svg +47 -28
- package/public/assets/hap-icons/lightbulb.svg +24 -13
- package/public/assets/hap-icons/lock-locked.svg +24 -13
- package/public/assets/hap-icons/lock-unlocked.svg +24 -13
- package/public/assets/hap-icons/motionsensor.svg +100 -2
- package/public/assets/hap-icons/occupancysensor.svg +97 -2
- package/public/assets/hap-icons/outlet.svg +24 -13
- package/public/assets/hap-icons/securitysystem-active.svg +102 -2
- package/public/assets/hap-icons/securitysystem-off.svg +68 -2
- package/public/assets/hap-icons/smokesensor.svg +42 -9
- package/public/assets/hap-icons/speaker.svg +29 -13
- package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
- package/public/assets/hap-icons/switch.svg +24 -13
- package/public/assets/hap-icons/television.svg +15 -4
- package/public/assets/hap-icons/temperature.svg +24 -13
- package/public/assets/hap-icons/unknown.svg +24 -13
- package/public/assets/hap-icons/valve-generic.svg +26 -15
- package/public/assets/hap-icons/valve-irrigation.svg +36 -20
- package/public/assets/hap-icons/valve-showerhead.svg +51 -12
- package/public/assets/hap-icons/valve-waterfaucet.svg +20 -6
- package/public/assets/hap-icons/window-closed.svg +85 -2
- package/public/assets/hap-icons/window-open.svg +136 -2
- package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
- package/public/assets/hap-icons/windowcovering-open.svg +40 -44
- package/public/assets/homebridge-color-round.svg +36 -1
- package/public/assets/homebridge-logo.svg +11 -1
- package/public/assets/mask-icon.svg +5 -1
- package/public/chunk-27FPUPTN.js +1 -0
- package/public/{chunk-6MDI4RNQ.js → chunk-2DMDQOK2.js} +1 -1
- package/public/chunk-2F3XEUAD.js +1 -0
- package/public/chunk-2SJOCVSL.js +1 -0
- package/public/{chunk-3VDXR5B2.js → chunk-33OXRXUC.js} +1 -1
- package/public/chunk-3T7LR3KP.js +1 -0
- package/public/chunk-4GEGP5GO.js +1 -0
- package/public/{chunk-EXVHFPLG.js → chunk-4MKTUK3C.js} +1 -1
- package/public/chunk-4XUOS275.js +1 -0
- package/public/chunk-5PUZ56HW.js +1 -0
- package/public/{chunk-MMPQXC6H.js → chunk-5SBO5IQQ.js} +1 -1
- package/public/{chunk-BZVO3JIQ.js → chunk-67EN4M44.js} +1 -1
- package/public/chunk-6KTSVDPB.js +1 -0
- package/public/chunk-75LZTZGF.js +1 -0
- package/public/chunk-7PD4QI6O.js +1 -0
- package/public/chunk-7VZO5R4J.js +1 -0
- package/public/{chunk-UZZFYFXN.js → chunk-7WGR5I6Z.js} +1 -1
- package/public/{chunk-HBGENGOA.js → chunk-ACRDELJP.js} +1 -1
- package/public/{chunk-KFM3IHPE.js → chunk-AGHJJT2B.js} +1 -1
- package/public/chunk-BOYCBPUU.js +1 -0
- package/public/chunk-C5RNSBNS.js +1 -0
- package/public/{chunk-4J45MC2M.js → chunk-CBI3LF3A.js} +1 -1
- package/public/{chunk-P5WCYSBI.js → chunk-CEFSEL4J.js} +1 -1
- package/public/chunk-CFFLJ5JD.js +1 -0
- package/public/chunk-CKXSP7IR.js +20 -0
- package/public/chunk-DBMSQ32L.js +1 -0
- package/public/chunk-E2YV2VI5.js +5 -0
- package/public/{chunk-LY2KRV55.js → chunk-E4LCOK4T.js} +1 -1
- package/public/{chunk-HMOW3VNR.js → chunk-EBVMWV7Q.js} +1 -1
- package/public/chunk-EE3AXC6U.js +1 -0
- package/public/{chunk-CATV74VT.js → chunk-EJFSW4SK.js} +1 -1
- package/public/chunk-EOXXEC54.js +1 -0
- package/public/chunk-ET5ASDZV.js +1 -0
- package/public/chunk-F3YCS6HT.js +1 -0
- package/public/chunk-FCTX2YEK.js +1 -0
- package/public/chunk-GABFFUBD.js +1 -0
- package/public/chunk-GEH6XWDN.js +1 -0
- package/public/chunk-GZ5DOCVG.js +1 -0
- package/public/chunk-HPJ3LUSD.js +1 -0
- package/public/chunk-HVJRSDCO.js +1 -0
- package/public/{chunk-T6FYP7FJ.js → chunk-IF47NAUS.js} +1 -1
- package/public/{chunk-HGKURYNB.js → chunk-IYYWSVBH.js} +5 -5
- package/public/chunk-J4I2UKEG.js +5 -0
- package/public/{chunk-CK234OHO.js → chunk-JHGDWS5G.js} +1 -1
- package/public/{chunk-2JYMQLNI.js → chunk-JHT7FCNA.js} +1 -1
- package/public/{chunk-KJTNT2RS.js → chunk-K2VKBYPF.js} +1 -1
- package/public/chunk-K7SACHXO.js +1 -0
- package/public/chunk-KMMOUPYM.js +1 -0
- package/public/chunk-L224W57S.js +1 -0
- package/public/chunk-LAFQ6QBN.js +1 -0
- package/public/{chunk-F4QKTMKG.js → chunk-LJNOSMWT.js} +1 -1
- package/public/chunk-LJNRODOH.js +1 -0
- package/public/chunk-LXRPNSLW.js +1 -0
- package/public/chunk-MA3HOSPP.js +1 -0
- package/public/chunk-MP2566JB.js +1 -0
- package/public/chunk-NFFAXZA6.js +1 -0
- package/public/chunk-NHJLTSH3.js +7 -0
- package/public/chunk-NNPWW7QY.js +1 -0
- package/public/chunk-NRCSHT3L.js +1 -0
- package/public/chunk-P2OEQDP7.js +1 -0
- package/public/chunk-P6375ABC.js +1 -0
- package/public/{chunk-44XAYR34.js → chunk-PH3WWITU.js} +1 -1
- package/public/chunk-Q4VBD4HY.js +1 -0
- package/public/{chunk-2QRN7P6W.js → chunk-QADRQCUN.js} +1 -1
- package/public/chunk-QN6P2WRK.js +1 -0
- package/public/chunk-QQELI3RK.js +1 -0
- package/public/chunk-RMEDSCQG.js +1 -0
- package/public/chunk-SYZ2D5X2.js +1 -0
- package/public/chunk-TQODQLMU.js +1 -0
- package/public/{chunk-Z4CHNCHA.js → chunk-UUOIJNVA.js} +1 -1
- package/public/chunk-V6DGQLQO.js +1 -0
- package/public/chunk-W3NZWHLA.js +1 -0
- package/public/chunk-WTYP6A2G.js +1 -0
- package/public/chunk-X34XL3Z7.js +1 -0
- package/public/chunk-XT73VRCU.js +1 -0
- package/public/chunk-YCLJUAE2.js +1 -0
- package/public/chunk-YG5UHXGO.js +1 -0
- package/public/{chunk-RUC7TPCB.js → chunk-YQQIYYEJ.js} +20 -20
- package/public/{chunk-PFCIYPDO.js → chunk-YSOWPBAG.js} +8 -8
- package/public/{chunk-QHHRJOCD.js → chunk-YXTLNUTK.js} +1 -1
- package/public/chunk-Z4LQDDZT.js +1 -0
- package/public/index.html +2 -2
- package/public/main-VBJHYWNC.js +1 -0
- package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
- package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
- package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
- package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
- package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
- package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
- package/public/styles-LM2DJG4C.css +1 -0
- package/public/chunk-2G26F2OY.js +0 -1
- package/public/chunk-2HOZ3Y6C.js +0 -1
- package/public/chunk-2Q3ZJBWD.js +0 -1
- package/public/chunk-4XUM4AAX.js +0 -1
- package/public/chunk-5U265P7U.js +0 -1
- package/public/chunk-66TZYBOD.js +0 -1
- package/public/chunk-75MRNSXS.js +0 -5
- package/public/chunk-76R6FK4N.js +0 -1
- package/public/chunk-77MKNJZD.js +0 -1
- package/public/chunk-7TYZZBWX.js +0 -1
- package/public/chunk-7YINJGU5.js +0 -1
- package/public/chunk-A5DGQCNW.js +0 -1
- package/public/chunk-A5ZYGUPQ.js +0 -1
- package/public/chunk-A7JPIFDI.js +0 -1
- package/public/chunk-AOMI4P34.js +0 -1
- package/public/chunk-AWR7QC6L.js +0 -1
- package/public/chunk-BGVO4RUG.js +0 -1
- package/public/chunk-BPBMT7G5.js +0 -1
- package/public/chunk-CCREQ443.js +0 -1
- package/public/chunk-DQ6WFEV3.js +0 -1
- package/public/chunk-EFBNPDVN.js +0 -1
- package/public/chunk-EH7W2CXP.js +0 -1
- package/public/chunk-F37DFFAF.js +0 -1
- package/public/chunk-F5SS6TN7.js +0 -5
- package/public/chunk-G4YIZM2X.js +0 -20
- package/public/chunk-GG777Z5B.js +0 -1
- package/public/chunk-GGXW7MGP.js +0 -1
- package/public/chunk-GZ4RCRCW.js +0 -1
- package/public/chunk-H3E4T6KH.js +0 -1
- package/public/chunk-HCPQDE4Y.js +0 -1
- package/public/chunk-HH7AWBSM.js +0 -1
- package/public/chunk-HMGLHQQM.js +0 -1
- package/public/chunk-IQ2VQFLN.js +0 -1
- package/public/chunk-JN3IG5XN.js +0 -1
- package/public/chunk-JXLK34BL.js +0 -1
- package/public/chunk-KDJPDALB.js +0 -7
- package/public/chunk-LAYV53FZ.js +0 -1
- package/public/chunk-LRBNS4GA.js +0 -1
- package/public/chunk-NBLWBPNU.js +0 -1
- package/public/chunk-NHYJBJ7V.js +0 -1
- package/public/chunk-NIGZKKLM.js +0 -1
- package/public/chunk-NSDKR2DD.js +0 -1
- package/public/chunk-OAKLLAD6.js +0 -1
- package/public/chunk-OZTQT47N.js +0 -1
- package/public/chunk-Q5X32EHZ.js +0 -1
- package/public/chunk-QCBEADHI.js +0 -1
- package/public/chunk-R5PFZZHR.js +0 -1
- package/public/chunk-RSUIRNXB.js +0 -1
- package/public/chunk-SHFHQWOE.js +0 -1
- package/public/chunk-SZQRABYM.js +0 -1
- package/public/chunk-TC25IMJX.js +0 -1
- package/public/chunk-VQ5OLP5R.js +0 -1
- package/public/chunk-W463PPSI.js +0 -1
- package/public/chunk-W5XD4G3A.js +0 -1
- package/public/chunk-XIOY5AEA.js +0 -1
- package/public/chunk-ZXAV3M77.js +0 -1
- package/public/main-JEWXJ5EM.js +0 -1
- package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
- package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
- package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
- package/public/styles-EG5MFQEM.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as pe,n as de}from"./chunk-J4I2UKEG.js";import{a as Cn,b as _n,c as Sn,e as ge,l as he,r as yn,s as xn,t as bn,y as ce}from"./chunk-UUOIJNVA.js";import{a as Tn}from"./chunk-E4LCOK4T.js";import{c as hn}from"./chunk-33OXRXUC.js";import{b as gn}from"./chunk-CBI3LF3A.js";import{j as fn}from"./chunk-HVJRSDCO.js";import{a as un,e as li}from"./chunk-YXTLNUTK.js";import{a as vn,b as I}from"./chunk-Q4VBD4HY.js";import{Ac as ze,Bb as w,Cc as m,Dc as v,Ec as _e,Fa as Ue,G as qi,Ga as Qi,H as At,Ia as Ti,K as Xi,Ka as rt,Lb as V,M as Te,Mb as d,Nb as Z,Oa as Ji,Ob as on,R as De,Rb as g,Tb as Bt,Ub as Ht,Uc as sn,Vb as Nt,Wb as a,Xb as s,Xc as ln,Y as Ki,Yb as _,Zb as rn,_b as an,ac as Pe,bd as O,ca as Yi,dc as y,dd as cn,e as et,ec as S,ed as pn,fd as dn,g as Tr,ga as Zi,gd as mn,h as ii,ha as nt,i as bi,ia as _t,ib as r,jb as ke,ma as Ke,mb as en,md as Ge,n as le,na as N,nb as oi,ob as ri,oc as c,pb as tn,pc as C,pd as si,qc as M,qd as Ot,r as Ui,rc as ve,s as zi,tc as J,ub as T,uc as ee,vb as St,vc as te,w as $i,wa as ot,wb as yt,wc as ai,x as ni,xa as re,xb as nn,ya as ae,yc as Y,zc as fe}from"./chunk-NHJLTSH3.js";var Oo=et((s1,No)=>{No.exports=function(n,t){return Array.prototype.slice.call(n,t)}});var Ro=et((l1,Go)=>{var mp=typeof setImmediate=="function",Di;mp?Di=function(e){setImmediate(e)}:Di=function(e){setTimeout(e,0)};Go.exports=Di});var Fo=et((c1,Lo)=>{"use strict";var up=Ro();Lo.exports=function(n,t,o){n&&up(function(){n.apply(o||null,t||[])})}});var Uo=et((p1,Wo)=>{"use strict";var jo=Oo(),vp=Fo();Wo.exports=function(n,t){var o=t||{},i={};return n===void 0&&(n={}),n.on=function(l,u){return i[l]?i[l].push(u):i[l]=[u],n},n.once=function(l,u){return u._once=!0,n.on(l,u),n},n.off=function(l,u){var x=arguments.length;if(x===1)delete i[l];else if(x===0)i={};else{var E=i[l];if(!E)return n;E.splice(E.indexOf(u),1)}return n},n.emit=function(){var l=jo(arguments);return n.emitterSnapshot(l.shift()).apply(this,l)},n.emitterSnapshot=function(l){var u=(i[l]||[]).slice(0);return function(){var x=jo(arguments),E=this||n;if(l==="error"&&o.throws!==!1&&!u.length)throw x.length===1?x[0]:x;return u.forEach(function(F){o.async?vp(F,x,E):F.apply(E,x),F._once&&n.off(l,F)}),n}},n}});var qo=et((d1,$o)=>{var zo=global.CustomEvent;function fp(){try{var e=new zo("cat",{detail:{foo:"bar"}});return e.type==="cat"&&e.detail.foo==="bar"}catch{}return!1}$o.exports=fp()?zo:typeof document<"u"&&typeof document.createEvent=="function"?function(n,t){var o=document.createEvent("CustomEvent");return t?o.initCustomEvent(n,t.bubbles,t.cancelable,t.detail):o.initCustomEvent(n,!1,!1,void 0),o}:function(n,t){var o=document.createEventObject();return o.type=n,t?(o.bubbles=!!t.bubbles,o.cancelable=!!t.cancelable,o.detail=t.detail):(o.bubbles=!1,o.cancelable=!1,o.detail=void 0),o}});var Yo=et((m1,Ko)=>{"use strict";var Xo=[],Pi="",gp=/^on/;for(Pi in global)gp.test(Pi)&&Xo.push(Pi.slice(2));Ko.exports=Xo});var tr=et((u1,er)=>{"use strict";var hp=qo(),Cp=Yo(),ui=global.document,Zo=_p,Qo=yp,Lt=[];global.addEventListener||(Zo=Sp,Qo=xp);er.exports={add:Zo,remove:Qo,fabricate:bp};function _p(e,n,t,o){return e.addEventListener(n,t,o)}function Sp(e,n,t){return e.attachEvent("on"+n,Mp(e,n,t))}function yp(e,n,t,o){return e.removeEventListener(n,t,o)}function xp(e,n,t){var o=Jo(e,n,t);if(o)return e.detachEvent("on"+n,o)}function bp(e,n,t){var o=Cp.indexOf(n)===-1?l():i();e.dispatchEvent?e.dispatchEvent(o):e.fireEvent("on"+n,o);function i(){var u;return ui.createEvent?(u=ui.createEvent("Event"),u.initEvent(n,!0,!0)):ui.createEventObject&&(u=ui.createEventObject()),u}function l(){return new hp(n,{detail:t})}}function Tp(e,n,t){return function(i){var l=i||global.event;l.target=l.target||l.srcElement,l.preventDefault=l.preventDefault||function(){l.returnValue=!1},l.stopPropagation=l.stopPropagation||function(){l.cancelBubble=!0},l.which=l.which||l.keyCode,t.call(e,l)}}function Mp(e,n,t){var o=Jo(e,n,t)||Tp(e,n,t);return Lt.push({wrapper:o,element:e,type:n,fn:t}),o}function Jo(e,n,t){var o=wp(e,n,t);if(o){var i=Lt[o].wrapper;return Lt.splice(o,1),i}}function wp(e,n,t){var o,i;for(o=0;o<Lt.length;o++)if(i=Lt[o],i.element===e&&i.type===n&&i.fn===t)return o}});var rr=et((v1,or)=>{"use strict";var ir={},kp="(?:^|\\s)",Ep="(?:\\s|$)";function nr(e){var n=ir[e];return n?n.lastIndex=0:ir[e]=n=new RegExp(kp+e+Ep,"g"),n}function Vp(e,n){var t=e.className;t.length?nr(n).test(t)||(e.className+=" "+n):e.className=n}function Ip(e,n){e.className=e.className.replace(nr(n)," ").trim()}or.exports={add:Vp,rm:Ip}});var fr=et((f1,vr)=>{"use strict";var Dp=Uo(),xt=tr(),st=rr(),bt=document,Qe=bt.documentElement;function Pp(e,n){var t=arguments.length;t===1&&Array.isArray(e)===!1&&(n=e,e=[]);var o,i,l,u,x,E,D,F,q,$,j,Ce=null,K,B=n||{};B.moves===void 0&&(B.moves=cr),B.accepts===void 0&&(B.accepts=cr),B.invalid===void 0&&(B.invalid=$t),B.containers===void 0&&(B.containers=e||[]),B.isContainer===void 0&&(B.isContainer=Bp),B.copy===void 0&&(B.copy=!1),B.copySortSource===void 0&&(B.copySortSource=!1),B.revertOnSpill===void 0&&(B.revertOnSpill=!1),B.removeOnSpill===void 0&&(B.removeOnSpill=!1),B.direction===void 0&&(B.direction="vertical"),B.ignoreInputTextSelection===void 0&&(B.ignoreInputTextSelection=!0),B.mirrorContainer===void 0&&(B.mirrorContainer=bt.body);var se=Dp({containers:B.containers,start:gi,end:gt,cancel:Xt,remove:Mt,destroy:ft,canMove:fi,dragging:!1});return B.removeOnSpill===!0&&se.on("over",Et).on("out",Vt),tt(),se;function Fe(b){return se.containers.indexOf(b)!==-1||B.isContainer(b)}function tt(b){var R=b?"remove":"add";Ft(Qe,R,"mousedown",Xe),Ft(Qe,R,"mouseup",Tt)}function Ze(b){var R=b?"remove":"add";Ft(Qe,R,"mousemove",vi)}function ct(b){var R=b?"remove":"add";xt[R](Qe,"selectstart",Ut),xt[R](Qe,"click",Ut)}function ft(){tt(!0),Tt({})}function Ut(b){K&&b.preventDefault()}function Xe(b){E=b.clientX,D=b.clientY;var R=ar(b)!==1||b.metaKey||b.ctrlKey;if(!R){var z=b.target,Q=pt(z);Q&&(K=Q,Ze(),b.type==="mousedown"&&(mr(z)?z.focus():b.preventDefault()))}}function vi(b){if(K){if(ar(b)===0){Tt({});return}if(!(b.clientX!==void 0&&Math.abs(b.clientX-E)<=(B.slideFactorX||0)&&b.clientY!==void 0&&Math.abs(b.clientY-D)<=(B.slideFactorY||0))){if(B.ignoreInputTextSelection){var R=lt("clientX",b)||0,z=lt("clientY",b)||0,Q=bt.elementFromPoint(R,z);if(mr(Q))return}var Be=K;Ze(!0),ct(),gt(),zt(Be);var Me=Ap(l);u=lt("pageX",b)-Me.left,x=lt("pageY",b)-Me.top,st.add($||l,"gu-transit"),Yt(),kt(b)}}}function pt(b){if(!(se.dragging&&o)&&!Fe(b)){for(var R=b;Le(b)&&Fe(Le(b))===!1;)if(B.invalid(b,R)||(b=Le(b),!b))return;var z=Le(b);if(z&&!B.invalid(b,R)){var Q=B.moves(b,z,R,jt(b));if(Q)return{item:b,source:z}}}}function fi(b){return!!pt(b)}function gi(b){var R=pt(b);R&&zt(R)}function zt(b){hi(b.item,b.source)&&($=b.item.cloneNode(!0),se.emit("cloned",$,b.item,"copy")),i=b.source,l=b.item,F=q=jt(b.item),se.dragging=!0,se.emit("drag",l,i)}function $t(){return!1}function gt(){if(se.dragging){var b=$||l;ht(b,Le(b))}}function qt(){K=!1,Ze(!0),ct(!0)}function Tt(b){if(qt(),!!se.dragging){var R=$||l,z=lt("clientX",b)||0,Q=lt("clientY",b)||0,Be=lr(o,z,Q),Me=Kt(Be,z,Q);Me&&($&&B.copySortSource||!$||Me!==i)?ht(R,Me):B.removeOnSpill?Mt():Xt()}}function ht(b,R){var z=Le(b);$&&B.copySortSource&&R===i&&z.removeChild(l),Ct(R)?se.emit("cancel",b,i,i):se.emit("drop",b,R,i,q),wt()}function Mt(){if(se.dragging){var b=$||l,R=Le(b);R&&R.removeChild(b),se.emit($?"cancel":"remove",b,R,i),wt()}}function Xt(b){if(se.dragging){var R=arguments.length>0?b:B.revertOnSpill,z=$||l,Q=Le(z),Be=Ct(Q);Be===!1&&R&&($?Q&&Q.removeChild($):i.insertBefore(z,F)),Be||R?se.emit("cancel",z,i,i):se.emit("drop",z,Q,i,q),wt()}}function wt(){var b=$||l;qt(),Je(),b&&st.rm(b,"gu-transit"),j&&clearTimeout(j),se.dragging=!1,Ce&&se.emit("out",b,Ce,i),se.emit("dragend",b),i=l=$=F=q=j=Ce=null}function Ct(b,R){var z;return R!==void 0?z=R:o?z=q:z=jt($||l),b===i&&z===F}function Kt(b,R,z){for(var Q=b;Q&&!Be();)Q=Le(Q);return Q;function Be(){var Me=Fe(Q);if(Me===!1)return!1;var it=Zt(Q,b),Ee=It(Q,it,R,z),We=Ct(Q,Ee);return We?!0:B.accepts(l,Q,i,Ee)}}function kt(b){if(!o)return;b.preventDefault();var R=lt("clientX",b)||0,z=lt("clientY",b)||0,Q=R-u,Be=z-x;o.style.left=Q+"px",o.style.top=Be+"px";var Me=$||l,it=lr(o,R,z),Ee=Kt(it,R,z),We=Ee!==null&&Ee!==Ce;(We||Ee===null)&&(Qt(),Ce=Ee,Dt());var Oe=Le(Me);if(Ee===i&&$&&!B.copySortSource){Oe&&Oe.removeChild(Me);return}var Ve,oe=Zt(Ee,it);if(oe!==null)Ve=It(Ee,oe,R,z);else if(B.revertOnSpill===!0&&!$)Ve=F,Ee=i;else{$&&Oe&&Oe.removeChild(Me);return}(Ve===null&&We||Ve!==Me&&Ve!==jt(Me))&&(q=Ve,Ee.insertBefore(Me,Ve),se.emit("shadow",Me,Ee,i));function je(Jt){se.emit(Jt,Me,Ce,i)}function Dt(){We&&je("over")}function Qt(){Ce&&je("out")}}function Et(b){st.rm(b,"gu-hide")}function Vt(b){se.dragging&&st.add(b,"gu-hide")}function Yt(){if(!o){var b=l.getBoundingClientRect();o=l.cloneNode(!0),o.style.width=pr(b)+"px",o.style.height=dr(b)+"px",st.rm(o,"gu-transit"),st.add(o,"gu-mirror"),B.mirrorContainer.appendChild(o),Ft(Qe,"add","mousemove",kt),st.add(B.mirrorContainer,"gu-unselectable"),se.emit("cloned",o,l,"mirror")}}function Je(){o&&(st.rm(B.mirrorContainer,"gu-unselectable"),Ft(Qe,"remove","mousemove",kt),Le(o).removeChild(o),o=null)}function Zt(b,R){for(var z=R;z!==b&&Le(z)!==b;)z=Le(z);return z===Qe?null:z}function It(b,R,z,Q){var Be=B.direction==="horizontal",Me=R!==b?Ee():it();return Me;function it(){var Oe=b.children.length,Ve,oe,je;for(Ve=0;Ve<Oe;Ve++)if(oe=b.children[Ve],je=oe.getBoundingClientRect(),Be&&je.left+je.width/2>z||!Be&&je.top+je.height/2>Q)return oe;return null}function Ee(){var Oe=R.getBoundingClientRect();return We(Be?z>Oe.left+pr(Oe)/2:Q>Oe.top+dr(Oe)/2)}function We(Oe){return Oe?jt(R):R}}function hi(b,R){return typeof B.copy=="boolean"?B.copy:B.copy(b,R)}}function Ft(e,n,t,o){var i={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},l={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},u={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};global.navigator.pointerEnabled?xt[n](e,l[t],o):global.navigator.msPointerEnabled?xt[n](e,u[t],o):(xt[n](e,i[t],o),xt[n](e,t,o))}function ar(e){if(e.touches!==void 0)return e.touches.length;if(e.which!==void 0&&e.which!==0)return e.which;if(e.buttons!==void 0)return e.buttons;var n=e.button;if(n!==void 0)return n&1?1:n&2?3:n&4?2:0}function Ap(e){var n=e.getBoundingClientRect();return{left:n.left+sr("scrollLeft","pageXOffset"),top:n.top+sr("scrollTop","pageYOffset")}}function sr(e,n){return typeof global[n]<"u"?global[n]:Qe.clientHeight?Qe[e]:bt.body[e]}function lr(e,n,t){e=e||{};var o=e.className||"",i;return e.className+=" gu-hide",i=bt.elementFromPoint(n,t),e.className=o,i}function Bp(){return!1}function cr(){return!0}function pr(e){return e.width||e.right-e.left}function dr(e){return e.height||e.bottom-e.top}function Le(e){return e.parentNode===bt?null:e.parentNode}function mr(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.tagName==="SELECT"||ur(e)}function ur(e){return!e||e.contentEditable==="false"?!1:e.contentEditable==="true"?!0:ur(Le(e))}function jt(e){return e.nextElementSibling||n();function n(){var t=e;do t=t.nextSibling;while(t&&t.nodeType!==1);return t}}function Hp(e){return e.targetTouches&&e.targetTouches.length?e.targetTouches[0]:e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e}function lt(e,n){var t=Hp(n),o={pageX:"clientX",pageY:"clientY"};return e in o&&!(e in t)&&o[e]in t&&(e=o[e]),t[e]}vr.exports=Pp});var $e=(()=>{class e{$settings=N(gn);constructor(){}transform(t,o=this.$settings.env.temperatureUnits){return o==="f"?t*1.8+32:t}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=nn({name:"convertTemp",type:e,pure:!0})}return e})();function Mr(e,n){if(e&1&&(a(0,"span"),c(1),s()),e&2){let t=S().$implicit;r(),M("",t.value,"%")}}function wr(e,n){if(e&1&&(a(0,"span"),c(1),m(2,"convertTemp"),s()),e&2){let t=S().$implicit;r(),M("",v(2,1,t.value),"\xB0")}}function kr(e,n){if(e&1&&(a(0,"span"),c(1),s()),e&2){let t=S().$implicit;r(),C(t.value)}}function Er(e,n){if(e&1&&(a(0,"tr")(1,"td"),c(2),s(),a(3,"td",18)(4,"span"),w(5,Mr,2,1,"span")(6,wr,3,3,"span")(7,kr,2,1,"span"),s()()()),e&2){let t,o=n.$implicit;r(2),C(o.description),r(3),g((t=o.unit)==="percentage"?5:t==="celsius"?6:7)}}function Vr(e,n){if(e&1&&(a(0,"tr")(1,"td"),c(2),s(),a(3,"td",23),c(4),s()()),e&2){let t=n.$implicit;r(2),C(t.key),r(2),C(t.value)}}var Mn=(()=>{class e{$activeModal=N(pe);service;accessoryInformation;constructor(){}ngOnInit(){this.accessoryInformation=Object.entries(this.service.accessoryInformation).map(([t,o])=>({key:t,value:o}))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["ng-component"]],inputs:{service:"service"},decls:74,vars:34,consts:[[1,"modal-content","hb-accessories-info-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"md-form"],["type","text","id","form-name","autocomplete","off",1,"form-control","px-0",3,"ngModelChange","ngModel"],["for","form-name",1,"active"],[1,"container","px-1"],[1,"form-group","row","align-items-center"],[1,"col-6","col-form-label"],[1,"col-6","text-right"],["type","checkbox","id","hide-accessory",1,"rendux-input",3,"ngModelChange","ngModel"],["for","hide-accessory",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","show-on-dashboard",1,"rendux-input",3,"ngModelChange","ngModel"],["for","show-on-dashboard",1,"rendux-label","ml-3",2,"min-width","50px"],[1,"table","table-borderless","table-hover","table-striped","table-sm",2,"table-layout","fixed","width","100%","word-wrap","break-word"],[1,"text-right"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-right","text-break"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(),a(4,"button",3),m(5,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(6,"span",4),c(7,"\xD7"),s()()(),a(8,"div",5)(9,"div",6)(10,"input",7),y("ngModelChange",function(u){return i.service.customName=u}),s(),a(11,"label",8),c(12),m(13,"translate"),s()(),a(14,"div",9)(15,"div",10)(16,"label",11),c(17),m(18,"translate"),s(),a(19,"div",12)(20,"input",13),m(21,"translate"),te("ngModelChange",function(u){return ee(i.service.hidden,u)||(i.service.hidden=u),u}),s(),_(22,"label",14),s()(),a(23,"div",10)(24,"label",11),c(25),m(26,"translate"),s(),a(27,"div",12)(28,"input",15),m(29,"translate"),te("ngModelChange",function(u){return ee(i.service.onDashboard,u)||(i.service.onDashboard=u),u}),s(),_(30,"label",16),s()()(),a(31,"table",17)(32,"tbody")(33,"tr")(34,"th"),c(35),s(),_(36,"td",18),s(),Ht(37,Er,8,2,"tr",null,Bt),Ht(39,Vr,5,2,"tr",null,Bt),a(41,"tr")(42,"td"),c(43,"Homebridge Instance IP"),s(),a(44,"td",18),c(45),s()(),a(46,"tr")(47,"td"),c(48,"Homebridge Instance Port"),s(),a(49,"td",18),c(50),s()(),a(51,"tr")(52,"td"),c(53,"Homebridge Instance Username"),s(),a(54,"td",18),c(55),s()(),a(56,"tr")(57,"td"),c(58,"aid"),s(),a(59,"td",18),c(60),s()(),a(61,"tr")(62,"td"),c(63,"iid"),s(),a(64,"td",18),c(65),s()()()()(),a(66,"div",19),_(67,"div",20),a(68,"div",21)(69,"button",22),m(70,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),c(71),m(72,"translate"),s()(),_(73,"div",18),s()()),o&2&&(r(3),C(i.service.customName||i.service.serviceName),r(),V("aria-label",v(5,18,"form.button_close")),r(6),d("ngModel",i.service.customName||i.service.serviceName),r(2),C(v(13,20,"accessories.name")),r(5),C(v(18,22,"accessories.hide_this_accessory")),r(3),J("ngModel",i.service.hidden),V("aria-label",v(21,24,"accessories.hide_this_accessory")),r(5),C(v(26,26,"accessories.show_on_dashboard")),r(3),J("ngModel",i.service.onDashboard),V("aria-label",v(29,28,"accessories.show_on_dashboard")),r(7),C(i.service.humanType),r(2),Nt(i.service.serviceCharacteristics),r(2),Nt(i.accessoryInformation),r(6),C(i.service.instance.ipAddress),r(5),C(i.service.instance.port),r(5),C(i.service.instance.username),r(5),C(i.service.aid),r(5),C(i.service.iid),r(4),V("aria-label",v(70,30,"form.button_close")),r(2),M(" ",v(72,32,"form.button_close")," "))},dependencies:[ce,Sn,_n,ge,he,I,$e],encapsulation:2})}return e})();var wn=(()=>{class e{$auth=N(hn);$modal=N(de);$toastr=N(fn);$translate=N(vn);$ws=N(Tn);layoutSaved=new le;accessoryData=new le;readyForControl=!1;accessoryLayout;accessories={services:[]};rooms=[];io;roomsOrdered=!1;hiddenTypes=["InputSource","CameraRTPStreamManagement","ProtocolInformation"];constructor(){}showAccessoryInformation(t){let o=this.$modal.open(Mn,{size:"lg",backdrop:"static"});return o.componentInstance.service=t,o.result.then(()=>this.saveLayout()).catch(()=>this.saveLayout()),!1}stop(){this.io.end(),this.rooms=[],this.accessories={services:[]},this.roomsOrdered=!1,delete this.accessoryLayout}start(){return ii(this,null,function*(){this.readyForControl=!1,this.io=this.$ws.connectToNamespace("accessories"),yield this.loadLayout(),this.io.connected?(this.io.socket.emit("get-accessories"),setTimeout(()=>{this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")})},1e3)):this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")}),this.io.socket.on("accessories-data",t=>{this.parseServices(t),this.generateHelpers(),this.sortIntoRooms(),this.roomsOrdered||(this.orderRooms(),this.applyCustomAttributes(),this.roomsOrdered=!0),this.accessoryData.next(t)}),this.io.socket.on("accessories-reload-required",()=>ii(this,null,function*(){this.stop(),yield this.start()})),this.io.socket.on("accessory-control-failure",t=>{console.error(t),this.$toastr.error(t,this.$translate.instant("toast.title_error"))}),this.io.socket.on("accessories-ready-for-control",()=>{this.readyForControl=!0})})}saveLayout(){this.accessoryLayout=this.rooms.map(t=>({name:t.name,services:t.services.map(o=>({uniqueId:o.uniqueId,aid:o.aid,iid:o.iid,uuid:o.uuid,customName:o.customName||void 0,hidden:o.hidden||void 0,onDashboard:o.onDashboard||void 0}))})).filter(t=>t.services.length),this.io.request("save-layout",{user:this.$auth.user.username,layout:this.accessoryLayout}).subscribe({next:()=>this.layoutSaved.next(void 0),error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}loadLayout(){return ii(this,null,function*(){this.accessoryLayout=yield $i(this.io.request("get-layout",{user:this.$auth.user.username})),this.rooms=this.accessoryLayout.map(t=>({name:t.name,services:[]}))})}parseServices(t){if(!this.accessories.services.length){this.accessories.services=t;return}t.forEach(o=>{let i=this.accessories.services.find(l=>l.uniqueId===o.uniqueId);i?Object.assign(i,o):this.accessories.services.push(o)})}sortIntoRooms(){this.accessories.services.forEach(t=>{if(this.hiddenTypes.includes(t.type))return;if(t.linked&&(t.linkedServices={},t.linked.forEach(i=>{t.linkedServices[i]=this.accessories.services.find(l=>l.aid===t.aid&&l.iid===i&&l.instance.username===t.instance.username)})),!this.rooms.find(i=>i.services.find(l=>l.uniqueId===t.uniqueId))){let i=this.accessoryLayout.find(l=>l.services.find(u=>u.uniqueId===t.uniqueId));if(i)this.rooms.find(l=>l.name===i.name).services.push(t);else{let l=this.rooms.find(u=>u.name==="Default Room");l?l.services.push(t):this.rooms.push({name:"Default Room",services:[t]})}}})}orderRooms(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.sort((i,l)=>{let u=o.services.findIndex(E=>E.uniqueId===i.uniqueId),x=o.services.findIndex(E=>E.uniqueId===l.uniqueId);return u<x?-1:u>x?1:0})})}applyCustomAttributes(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.forEach(i=>{let l=o.services.find(u=>u.uniqueId===i.uniqueId);Object.assign(i,l)})})}generateHelpers(){this.accessories.services.forEach(t=>{t.getCharacteristic||(t.getCharacteristic=o=>{let i=t.serviceCharacteristics.find(l=>l.type===o);return i?(i.setValue=l=>new Promise(u=>(this.readyForControl||u(void 0),this.io.socket.emit("accessory-control",{set:{uniqueId:t.uniqueId,aid:t.aid,siid:t.iid,iid:i.iid,value:l}}),u(void 0))),i):null})})}static \u0275fac=function(o){return new(o||e)};static \u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var mt=function(e){return e.Range="range",e.Steps="steps",e.Positions="positions",e.Count="count",e.Values="values",e}(mt||{}),Re=function(e){return e[e.None=-1]="None",e[e.NoValue=0]="NoValue",e[e.LargeValue=1]="LargeValue",e[e.SmallValue=2]="SmallValue",e}(Re||{});function Ir(e){return pi(e)&&typeof e.from=="function"}function pi(e){return typeof e=="object"&&typeof e.to=="function"}function kn(e){e.parentElement.removeChild(e)}function Mi(e){return e!=null}function En(e){e.preventDefault()}function Dr(e){return e.filter(function(n){return this[n]?!1:this[n]=!0},{})}function Pr(e,n){return Math.round(e/n)*n}function Ar(e,n){var t=e.getBoundingClientRect(),o=e.ownerDocument,i=o.documentElement,l=Pn(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 Ye(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}function Vn(e,n,t){t>0&&(Ne(e,n),setTimeout(function(){ci(e,n)},t))}function In(e){return Math.max(Math.min(e,100),0)}function di(e){return Array.isArray(e)?e:[e]}function Br(e){e=String(e);var n=e.split(".");return n.length>1?n[1].length:0}function Ne(e,n){e.classList&&!/\s/.test(n)?e.classList.add(n):e.className+=" "+n}function ci(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 Hr(e,n){return e.classList?e.classList.contains(n):new RegExp("\\b"+n+"\\b").test(e.className)}function Pn(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 Gr(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function ki(e,n){return 100/(n-e)}function wi(e,n,t){return n*100/(e[t+1]-e[t])}function Rr(e,n){return wi(e,e[0]<0?n+Math.abs(e[0]):n-e[0],0)}function Lr(e,n){return n*(e[1]-e[0])/100+e[0]}function Gt(e,n){for(var t=1;e>=n[t];)t+=1;return t}function Fr(e,n,t){if(t>=e.slice(-1)[0])return 100;var o=Gt(t,e),i=e[o-1],l=e[o],u=n[o-1],x=n[o];return u+Rr([i,l],t)/ki(u,x)}function jr(e,n,t){if(t>=100)return e.slice(-1)[0];var o=Gt(t,n),i=e[o-1],l=e[o],u=n[o-1],x=n[o];return Lr([i,l],(t-u)*ki(u,x))}function Wr(e,n,t,o){if(o===100)return o;var i=Gt(o,e),l=e[i-1],u=e[i];return t?o-l>(u-l)/2?u:l:n[i-1]?e[i-1]+Pr(o-e[i-1],n[i-1]):o}var Ur=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(u){l.push([di(n[u]),u])}),l.sort(function(u,x){return u[0][0]-x[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]=wi(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,u=1,x=t[i],E=0,D=0,F=0,q=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]);x>0;)E=this.xPct[i+1+q]-this.xPct[i+q],t[i+q]*u+100-l*100>100?(D=E*l,u=(x-100*l)/t[i+q],l=1):(D=t[i+q]*E/100*u,u=0),o?(F=F-D,this.xPct.length+q>=1&&q--):(F=F+D,this.xPct.length-q>=1&&q++),x=t[i+q]*u;return n+F},e.prototype.toStepping=function(n){return n=Fr(this.xVal,this.xPct,n),n},e.prototype.fromStepping=function(n){return jr(this.xVal,this.xPct,n)},e.prototype.getStep=function(n){return n=Wr(this.xPct,this.xSteps,this.snap,n),n},e.prototype.getDefaultStep=function(n,t,o){var i=Gt(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=Gt(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(Br);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),!Ye(o)||!Ye(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]=wi([this.xVal[n],this.xVal[n+1]],t,0)/ki(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}(),Dn={to:function(e){return e===void 0?"":e.toFixed(2)},from:Number},zr={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"},at={tooltips:".__tooltips",aria:".__aria"};function $r(e,n){if(!Ye(n))throw new Error("noUiSlider: 'step' is not numeric.");e.singleStep=n}function qr(e,n){if(!Ye(n))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");e.keyboardPageMultiplier=n}function Xr(e,n){if(!Ye(n))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");e.keyboardMultiplier=n}function Kr(e,n){if(!Ye(n))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");e.keyboardDefaultStep=n}function Yr(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 Ur(n,e.snap||!1,e.singleStep)}function Zr(e,n){if(n=di(n),!Array.isArray(n)||!n.length)throw new Error("noUiSlider: 'start' option is incorrect.");e.handles=n.length,e.start=n}function Qr(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");e.snap=n}function Jr(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");e.animate=n}function ea(e,n){if(typeof n!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");e.animationDuration=n}function An(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 ta(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 Bn(e,n){if(!Ye(n))throw new Error("noUiSlider: 'margin' option must be numeric.");n!==0&&(e.margin=e.spectrum.getDistance(n))}function ia(e,n){if(!Ye(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 na(e,n){var t;if(!Ye(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||Ye(n[0])||Ye(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 oa(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 ra(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,u=n.indexOf("hover")>=0,x=n.indexOf("unconstrained")>=0,E=n.indexOf("invert-connects")>=0,D=n.indexOf("drag-all")>=0,F=n.indexOf("smooth-steps")>=0;if(i){if(e.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Bn(e,e.start[1]-e.start[0])}if(E&&e.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(x&&(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:D,smoothSteps:F,fixed:i,snap:l,hover:u,unconstrained:x,invertConnects:E}}function aa(e,n){if(n!==!1)if(n===!0||pi(n)){e.tooltips=[];for(var t=0;t<e.handles;t++)e.tooltips.push(n)}else{if(n=di(n),n.length!==e.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");n.forEach(function(o){if(typeof o!="boolean"&&!pi(o))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),e.tooltips=n}}function sa(e,n){if(n.length!==e.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");e.handleAttributes=n}function la(e,n){if(!pi(n))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");e.ariaFormat=n}function ca(e,n){if(!Ir(n))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");e.format=n}function pa(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");e.keyboardSupport=n}function da(e,n){e.documentElement=n}function ma(e,n){if(typeof n!="string"&&n!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");e.cssPrefix=n}function ua(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 Hn(e){var n={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:Dn,format:Dn},t={step:{r:!1,t:$r},keyboardPageMultiplier:{r:!1,t:qr},keyboardMultiplier:{r:!1,t:Xr},keyboardDefaultStep:{r:!1,t:Kr},start:{r:!0,t:Zr},connect:{r:!0,t:An},direction:{r:!0,t:oa},snap:{r:!1,t:Qr},animate:{r:!1,t:Jr},animationDuration:{r:!1,t:ea},range:{r:!0,t:Yr},orientation:{r:!1,t:ta},margin:{r:!1,t:Bn},limit:{r:!1,t:ia},padding:{r:!1,t:na},behaviour:{r:!0,t:ra},ariaFormat:{r:!1,t:la},format:{r:!1,t:ca},tooltips:{r:!1,t:aa},keyboardSupport:{r:!0,t:pa},documentElement:{r:!1,t:da},cssPrefix:{r:!0,t:ma},cssClasses:{r:!0,t:ua},handleAttributes:{r:!1,t:sa}},o={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:zr,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(t).forEach(function(E){if(!Mi(e[E])&&o[E]===void 0){if(t[E].r)throw new Error("noUiSlider: '"+E+"' is required.");return}t[E].t(n,Mi(e[E])?e[E]:o[E])}),n.pips=e.pips;var i=document.createElement("div"),l=i.style.msTransform!==void 0,u=i.style.transform!==void 0;n.transformRule=u?"transform":l?"msTransform":"webkitTransform";var x=[["left","top"],["right","bottom"]];return n.style=x[n.dir][n.ort],n}function va(e,n,t){var o=Nr(),i=Gr(),l=i&&Or(),u=e,x,E,D,F,q,$,j=n.spectrum,Ce=[],K=[],B=[],se=0,Fe={},tt=!1,Ze=e.ownerDocument,ct=n.documentElement||Ze.documentElement,ft=Ze.body,Ut=Ze.dir==="rtl"||n.ort===1?0:100;function Xe(p,f){var h=Ze.createElement("div");return f&&Ne(h,f),p.appendChild(h),h}function vi(p,f){var h=Xe(p,n.cssClasses.origin),k=Xe(h,n.cssClasses.handle);if(Xe(k,n.cssClasses.touchArea),k.setAttribute("data-handle",String(f)),n.keyboardSupport&&(k.setAttribute("tabindex","0"),k.addEventListener("keydown",function(A){return it(A,f)})),n.handleAttributes!==void 0){var P=n.handleAttributes[f];Object.keys(P).forEach(function(A){k.setAttribute(A,P[A])})}return k.setAttribute("role","slider"),k.setAttribute("aria-orientation",n.ort?"vertical":"horizontal"),f===0?Ne(k,n.cssClasses.handleLower):f===n.handles-1&&Ne(k,n.cssClasses.handleUpper),h.handle=k,h}function pt(p,f){return f?Xe(p,n.cssClasses.connect):!1}function fi(p,f){E=Xe(f,n.cssClasses.connects),D=[],F=[],F.push(pt(E,p[0]));for(var h=0;h<n.handles;h++)D.push(vi(f,h)),B[h]=h,F.push(pt(E,p[h+1]))}function gi(p){Ne(p,n.cssClasses.target),n.dir===0?Ne(p,n.cssClasses.ltr):Ne(p,n.cssClasses.rtl),n.ort===0?Ne(p,n.cssClasses.horizontal):Ne(p,n.cssClasses.vertical);var f=getComputedStyle(p).direction;return f==="rtl"?Ne(p,n.cssClasses.textDirectionRtl):Ne(p,n.cssClasses.textDirectionLtr),Xe(p,n.cssClasses.base)}function zt(p,f){return!n.tooltips||!n.tooltips[f]?!1:Xe(p.firstChild,n.cssClasses.tooltip)}function $t(){return u.hasAttribute("disabled")}function gt(p){var f=D[p];return f.hasAttribute("disabled")}function qt(p){p!=null?(D[p].setAttribute("disabled",""),D[p].handle.removeAttribute("tabindex")):(u.setAttribute("disabled",""),D.forEach(function(f){f.handle.removeAttribute("tabindex")}))}function Tt(p){p!=null?(D[p].removeAttribute("disabled"),D[p].handle.setAttribute("tabindex","0")):(u.removeAttribute("disabled"),D.forEach(function(f){f.removeAttribute("disabled"),f.handle.setAttribute("tabindex","0")}))}function ht(){$&&(Ve("update"+at.tooltips),$.forEach(function(p){p&&kn(p)}),$=null)}function Mt(){ht(),$=D.map(zt),We("update"+at.tooltips,function(p,f,h){if(!(!$||!n.tooltips)&&$[f]!==!1){var k=p[f];n.tooltips[f]!==!0&&(k=n.tooltips[f].to(h[f])),$[f].innerHTML=k}})}function Xt(){Ve("update"+at.aria),We("update"+at.aria,function(p,f,h,k,P){B.forEach(function(A){var L=D[A],H=je(K,A,0,!0,!0,!0),me=je(K,A,100,!0,!0,!0),ue=P[A],ye=String(n.ariaFormat.to(h[A]));H=j.fromStepping(H).toFixed(1),me=j.fromStepping(me).toFixed(1),ue=j.fromStepping(ue).toFixed(1),L.children[0].setAttribute("aria-valuemin",H),L.children[0].setAttribute("aria-valuemax",me),L.children[0].setAttribute("aria-valuenow",ue),L.children[0].setAttribute("aria-valuetext",ye)})})}function wt(p){if(p.mode===mt.Range||p.mode===mt.Steps)return j.xVal;if(p.mode===mt.Count){if(p.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var f=p.values-1,h=100/f,k=[];f--;)k[f]=f*h;return k.push(100),Ct(k,p.stepped)}return p.mode===mt.Positions?Ct(p.values,p.stepped):p.mode===mt.Values?p.stepped?p.values.map(function(P){return j.fromStepping(j.getStep(j.toStepping(P)))}):p.values:[]}function Ct(p,f){return p.map(function(h){return j.fromStepping(f?j.getStep(h):h)})}function Kt(p){function f(ue,ye){return Number((ue+ye).toFixed(7))}var h=wt(p),k={},P=j.xVal[0],A=j.xVal[j.xVal.length-1],L=!1,H=!1,me=0;return h=Dr(h.slice().sort(function(ue,ye){return ue-ye})),h[0]!==P&&(h.unshift(P),L=!0),h[h.length-1]!==A&&(h.push(A),H=!0),h.forEach(function(ue,ye){var xe,ie,we,He=ue,Ie=h[ye+1],Ae,_i,Si,yi,Fi,xi,ji,Wi=p.mode===mt.Steps;for(Wi&&(xe=j.xNumSteps[ye]),xe||(xe=Ie-He),Ie===void 0&&(Ie=He),xe=Math.max(xe,1e-7),ie=He;ie<=Ie;ie=f(ie,xe)){for(Ae=j.toStepping(ie),_i=Ae-me,Fi=_i/(p.density||1),xi=Math.round(Fi),ji=_i/xi,we=1;we<=xi;we+=1)Si=me+we*ji,k[Si.toFixed(5)]=[j.fromStepping(Si),0];yi=h.indexOf(ie)>-1?Re.LargeValue:Wi?Re.SmallValue:Re.NoValue,!ye&&L&&ie!==Ie&&(yi=0),ie===Ie&&H||(k[Ae.toFixed(5)]=[ie,yi]),me=Ae}}),k}function kt(p,f,h){var k,P,A=Ze.createElement("div"),L=(k={},k[Re.None]="",k[Re.NoValue]=n.cssClasses.valueNormal,k[Re.LargeValue]=n.cssClasses.valueLarge,k[Re.SmallValue]=n.cssClasses.valueSub,k),H=(P={},P[Re.None]="",P[Re.NoValue]=n.cssClasses.markerNormal,P[Re.LargeValue]=n.cssClasses.markerLarge,P[Re.SmallValue]=n.cssClasses.markerSub,P),me=[n.cssClasses.valueHorizontal,n.cssClasses.valueVertical],ue=[n.cssClasses.markerHorizontal,n.cssClasses.markerVertical];Ne(A,n.cssClasses.pips),Ne(A,n.ort===0?n.cssClasses.pipsHorizontal:n.cssClasses.pipsVertical);function ye(ie,we){var He=we===n.cssClasses.value,Ie=He?me:ue,Ae=He?L:H;return we+" "+Ie[n.ort]+" "+Ae[ie]}function xe(ie,we,He){if(He=f?f(we,He):He,He!==Re.None){var Ie=Xe(A,!1);Ie.className=ye(He,n.cssClasses.marker),Ie.style[n.style]=ie+"%",He>Re.NoValue&&(Ie=Xe(A,!1),Ie.className=ye(He,n.cssClasses.value),Ie.setAttribute("data-value",String(we)),Ie.style[n.style]=ie+"%",Ie.innerHTML=String(h.to(we)))}}return Object.keys(p).forEach(function(ie){xe(ie,p[ie][0],p[ie][1])}),A}function Et(){q&&(kn(q),q=null)}function Vt(p){Et();var f=Kt(p),h=p.filter,k=p.format||{to:function(P){return String(Math.round(P))}};return q=u.appendChild(kt(f,h,k)),q}function Yt(){var p=x.getBoundingClientRect(),f="offset"+["Width","Height"][n.ort];return n.ort===0?p.width||x[f]:p.height||x[f]}function Je(p,f,h,k){var P=function(L){var H=Zt(L,k.pageOffset,k.target||f);if(!H||$t()&&!k.doNotReject||Hr(u,n.cssClasses.tap)&&!k.doNotReject||p===o.start&&H.buttons!==void 0&&H.buttons>1||k.hover&&H.buttons)return!1;l||H.preventDefault(),H.calcPoint=H.points[n.ort],h(H,k)},A=[];return p.split(" ").forEach(function(L){f.addEventListener(L,P,l?{passive:!0}:!1),A.push([L,P])}),A}function Zt(p,f,h){var k=p.type.indexOf("touch")===0,P=p.type.indexOf("mouse")===0,A=p.type.indexOf("pointer")===0,L=0,H=0;if(p.type.indexOf("MSPointer")===0&&(A=!0),p.type==="mousedown"&&!p.buttons&&!p.touches)return!1;if(k){var me=function(xe){var ie=xe.target;return ie===h||h.contains(ie)||p.composed&&p.composedPath().shift()===h};if(p.type==="touchstart"){var ue=Array.prototype.filter.call(p.touches,me);if(ue.length>1)return!1;L=ue[0].pageX,H=ue[0].pageY}else{var ye=Array.prototype.find.call(p.changedTouches,me);if(!ye)return!1;L=ye.pageX,H=ye.pageY}}return f=f||Pn(Ze),(P||A)&&(L=p.clientX+f.x,H=p.clientY+f.y),p.pageOffset=f,p.points=[L,H],p.cursor=P||A,p}function It(p){var f=p-Ar(x,n.ort),h=f*100/Yt();return h=In(h),n.dir?100-h:h}function hi(p){var f=100,h=!1;return D.forEach(function(k,P){if(!gt(P)){var A=K[P],L=Math.abs(A-p),H=L===100&&f===100,me=L<f,ue=L<=f&&p>A;(me||ue||H)&&(h=P,f=L)}}),h}function b(p,f){p.type==="mouseout"&&p.target.nodeName==="HTML"&&p.relatedTarget===null&&z(p,f)}function R(p,f){if(navigator.appVersion.indexOf("MSIE 9")===-1&&p.buttons===0&&f.buttonsProperty!==0)return z(p,f);var h=(n.dir?-1:1)*(p.calcPoint-f.startCalcPoint),k=h*100/f.baseSize;Qt(h>0,k,f.locations,f.handleNumbers,f.connect)}function z(p,f){f.handle&&(ci(f.handle,n.cssClasses.active),se-=1),f.listeners.forEach(function(h){ct.removeEventListener(h[0],h[1])}),se===0&&(ci(u,n.cssClasses.drag),Ci(),p.cursor&&(ft.style.cursor="",ft.removeEventListener("selectstart",En))),n.events.smoothSteps&&(f.handleNumbers.forEach(function(h){dt(h,K[h],!0,!0,!1,!1)}),f.handleNumbers.forEach(function(h){oe("update",h)})),f.handleNumbers.forEach(function(h){oe("change",h),oe("set",h),oe("end",h)})}function Q(p,f){if(!f.handleNumbers.some(gt)){var h;if(f.handleNumbers.length===1){var k=D[f.handleNumbers[0]];h=k.children[0],se+=1,Ne(h,n.cssClasses.active)}p.stopPropagation();var P=[],A=Je(o.move,ct,R,{target:p.target,handle:h,connect:f.connect,listeners:P,startCalcPoint:p.calcPoint,baseSize:Yt(),pageOffset:p.pageOffset,handleNumbers:f.handleNumbers,buttonsProperty:p.buttons,locations:K.slice()}),L=Je(o.end,ct,z,{target:p.target,handle:h,listeners:P,doNotReject:!0,handleNumbers:f.handleNumbers}),H=Je("mouseout",ct,b,{target:p.target,handle:h,listeners:P,doNotReject:!0,handleNumbers:f.handleNumbers});P.push.apply(P,A.concat(L,H)),p.cursor&&(ft.style.cursor=getComputedStyle(p.target).cursor,D.length>1&&Ne(u,n.cssClasses.drag),ft.addEventListener("selectstart",En,!1)),f.handleNumbers.forEach(function(me){oe("start",me)})}}function Be(p){p.stopPropagation();var f=It(p.calcPoint),h=hi(f);h!==!1&&(n.events.snap||Vn(u,n.cssClasses.tap,n.animationDuration),dt(h,f,!0,!0),Ci(),oe("slide",h,!0),oe("update",h,!0),n.events.snap?Q(p,{handleNumbers:[h]}):(oe("change",h,!0),oe("set",h,!0)))}function Me(p){var f=It(p.calcPoint),h=j.getStep(f),k=j.fromStepping(h);Object.keys(Fe).forEach(function(P){P.split(".")[0]==="hover"&&Fe[P].forEach(function(A){A.call(ti,k)})})}function it(p,f){if($t()||gt(f))return!1;var h=["Left","Right"],k=["Down","Up"],P=["PageDown","PageUp"],A=["Home","End"];n.dir&&!n.ort?h.reverse():n.ort&&!n.dir&&(k.reverse(),P.reverse());var L=p.key.replace("Arrow",""),H=L===P[0],me=L===P[1],ue=L===k[0]||L===h[0]||H,ye=L===k[1]||L===h[1]||me,xe=L===A[0],ie=L===A[1];if(!ue&&!ye&&!xe&&!ie)return!0;p.preventDefault();var we;if(ye||ue){var He=ue?0:1,Ie=Ri(f),Ae=Ie[He];if(Ae===null)return!1;Ae===!1&&(Ae=j.getDefaultStep(K[f],ue,n.keyboardDefaultStep)),me||H?Ae*=n.keyboardPageMultiplier:Ae*=n.keyboardMultiplier,Ae=Math.max(Ae,1e-7),Ae=(ue?-1:1)*Ae,we=Ce[f]+Ae}else ie?we=n.spectrum.xVal[n.spectrum.xVal.length-1]:we=n.spectrum.xVal[0];return dt(f,j.toStepping(we),!0,!0),oe("slide",f),oe("update",f),oe("change",f),oe("set",f),!1}function Ee(p){p.fixed||D.forEach(function(f,h){Je(o.start,f.children[0],Q,{handleNumbers:[h]})}),p.tap&&Je(o.start,x,Be,{}),p.hover&&Je(o.move,x,Me,{hover:!0}),p.drag&&F.forEach(function(f,h){if(!(f===!1||h===0||h===F.length-1)){var k=D[h-1],P=D[h],A=[f],L=[k,P],H=[h-1,h];Ne(f,n.cssClasses.draggable),p.fixed&&(A.push(k.children[0]),A.push(P.children[0])),p.dragAll&&(L=D,H=B),A.forEach(function(me){Je(o.start,me,Q,{handles:L,handleNumbers:H,connect:f})})}})}function We(p,f){Fe[p]=Fe[p]||[],Fe[p].push(f),p.split(".")[0]==="update"&&D.forEach(function(h,k){oe("update",k)})}function Oe(p){return p===at.aria||p===at.tooltips}function Ve(p){var f=p&&p.split(".")[0],h=f?p.substring(f.length):p;Object.keys(Fe).forEach(function(k){var P=k.split(".")[0],A=k.substring(P.length);(!f||f===P)&&(!h||h===A)&&(!Oe(A)||h===A)&&delete Fe[k]})}function oe(p,f,h){Object.keys(Fe).forEach(function(k){var P=k.split(".")[0];p===P&&Fe[k].forEach(function(A){A.call(ti,Ce.map(n.format.to),f,Ce.slice(),h||!1,K.slice(),ti)})})}function je(p,f,h,k,P,A,L){var H;return D.length>1&&!n.events.unconstrained&&(k&&f>0&&(H=j.getAbsoluteDistance(p[f-1],n.margin,!1),h=Math.max(h,H)),P&&f<D.length-1&&(H=j.getAbsoluteDistance(p[f+1],n.margin,!0),h=Math.min(h,H))),D.length>1&&n.limit&&(k&&f>0&&(H=j.getAbsoluteDistance(p[f-1],n.limit,!1),h=Math.min(h,H)),P&&f<D.length-1&&(H=j.getAbsoluteDistance(p[f+1],n.limit,!0),h=Math.max(h,H))),n.padding&&(f===0&&(H=j.getAbsoluteDistance(0,n.padding[0],!1),h=Math.max(h,H)),f===D.length-1&&(H=j.getAbsoluteDistance(100,n.padding[1],!0),h=Math.min(h,H))),L||(h=j.getStep(h)),h=In(h),h===p[f]&&!A?!1:h}function Dt(p,f){var h=n.ort;return(h?f:p)+", "+(h?p:f)}function Qt(p,f,h,k,P){var A=h.slice(),L=k[0],H=n.events.smoothSteps,me=[!p,p],ue=[p,!p];k=k.slice(),p&&k.reverse(),k.length>1?k.forEach(function(xe,ie){var we=je(A,xe,A[xe]+f,me[ie],ue[ie],!1,H);we===!1?f=0:(f=we-A[xe],A[xe]=we)}):me=ue=[!0];var ye=!1;k.forEach(function(xe,ie){ye=dt(xe,h[xe]+f,me[ie],ue[ie],!1,H)||ye}),ye&&(k.forEach(function(xe){oe("update",xe),oe("slide",xe)}),P!=null&&oe("drag",L))}function Jt(p,f){return n.dir?100-p-f:p}function gr(p,f){K[p]=f,Ce[p]=j.fromStepping(f);var h=Jt(f,0)-Ut,k="translate("+Dt(h+"%","0")+")";if(D[p].style[n.transformRule]=k,n.events.invertConnects&&K.length>1){var P=K.every(function(A,L,H){return L===0||A>=H[L-1]});if(tt!==!P){xr();return}}Pt(p),Pt(p+1),tt&&(Pt(p-1),Pt(p+2))}function Ci(){B.forEach(function(p){var f=K[p]>50?-1:1,h=3+(D.length+f*p);D[p].style.zIndex=String(h)})}function dt(p,f,h,k,P,A){return P||(f=je(K,p,f,h,k,!1,A)),f===!1?!1:(gr(p,f),!0)}function Pt(p){if(F[p]){var f=K.slice();tt&&f.sort(function(H,me){return H-me});var h=0,k=100;p!==0&&(h=f[p-1]),p!==F.length-1&&(k=f[p]);var P=k-h,A="translate("+Dt(Jt(h,P)+"%","0")+")",L="scale("+Dt(P/100,"1")+")";F[p].style[n.transformRule]=A+" "+L}}function Oi(p,f){return p===null||p===!1||p===void 0||(typeof p=="number"&&(p=String(p)),p=n.format.from(p),p!==!1&&(p=j.toStepping(p)),p===!1||isNaN(p))?K[f]:p}function ei(p,f,h){var k=di(p),P=K[0]===void 0;f=f===void 0?!0:f,n.animate&&!P&&Vn(u,n.cssClasses.tap,n.animationDuration),B.forEach(function(H){dt(H,Oi(k[H],H),!0,!1,h)});var A=B.length===1?0:1;if(P&&j.hasNoSize()&&(h=!0,K[0]=0,B.length>1)){var L=100/(B.length-1);B.forEach(function(H){K[H]=H*L})}for(;A<B.length;++A)B.forEach(function(H){dt(H,K[H],!0,!0,h)});Ci(),B.forEach(function(H){oe("update",H),k[H]!==null&&f&&oe("set",H)})}function hr(p){ei(n.start,p)}function Cr(p,f,h,k){if(p=Number(p),!(p>=0&&p<B.length))throw new Error("noUiSlider: invalid handle number, got: "+p);dt(p,Oi(f,p),!0,!0,k),oe("update",p),h&&oe("set",p)}function Gi(p){if(p===void 0&&(p=!1),p)return Ce.length===1?Ce[0]:Ce.slice(0);var f=Ce.map(n.format.to);return f.length===1?f[0]:f}function _r(){for(Ve(at.aria),Ve(at.tooltips),Object.keys(n.cssClasses).forEach(function(p){ci(u,n.cssClasses[p])});u.firstChild;)u.removeChild(u.firstChild);delete u.noUiSlider}function Ri(p){var f=K[p],h=j.getNearbySteps(f),k=Ce[p],P=h.thisStep.step,A=null;if(n.snap)return[k-h.stepBefore.startValue||null,h.stepAfter.startValue-k||null];P!==!1&&k+P>h.stepAfter.startValue&&(P=h.stepAfter.startValue-k),k>h.thisStep.startValue?A=h.thisStep.step:h.stepBefore.step===!1?A=!1:A=k-h.stepBefore.highestStep,f===100?P=null:f===0&&(A=null);var L=j.countStepDecimals();return P!==null&&P!==!1&&(P=Number(P.toFixed(L))),A!==null&&A!==!1&&(A=Number(A.toFixed(L))),[A,P]}function Sr(){return B.map(Ri)}function yr(p,f){var h=Gi(),k=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];k.forEach(function(A){p[A]!==void 0&&(t[A]=p[A])});var P=Hn(t);k.forEach(function(A){p[A]!==void 0&&(n[A]=P[A])}),j=P.spectrum,n.margin=P.margin,n.limit=P.limit,n.padding=P.padding,n.pips?Vt(n.pips):Et(),n.tooltips?Mt():ht(),K=[],ei(Mi(p.start)?p.start:h,f),p.connect&&Li()}function Li(){for(;E.firstChild;)E.removeChild(E.firstChild);for(var p=0;p<=n.handles;p++)F[p]=pt(E,n.connect[p]),Pt(p);Ee({drag:n.events.drag,fixed:!0})}function xr(){tt=!tt,An(n,n.connect.map(function(p){return!p})),Li()}function br(){x=gi(u),fi(n.connect,x),Ee(n.events),ei(n.start),n.pips&&Vt(n.pips),n.tooltips&&Mt(),Xt()}br();var ti={destroy:_r,steps:Sr,on:We,off:Ve,get:Gi,set:ei,setHandle:Cr,reset:hr,disable:qt,enable:Tt,__moveHandles:function(p,f,h){Qt(p,f,K,h)},options:t,updateOptions:yr,target:u,removePips:Et,removeTooltips:ht,getPositions:function(){return K.slice()},getTooltips:function(){return $},getOrigins:function(){return D},pips:Vt};return ti}function Nn(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=Hn(n),o=va(e,t,n);return e.noUiSlider=o,o}var Ei=class{to(n){return String(parseFloat(parseFloat(String(n)).toFixed(2)))}from(n){return parseFloat(n)}},be=(()=>{class e{constructor(t,o,i){this.ngZone=t,this.el=o,this.renderer=i,this.handles=[],this.config={},this.change=new Ue(!0),this.update=new Ue(!0),this.slide=new Ue(!0),this.set=new Ue(!0),this.start=new Ue(!0),this.end=new Ue(!0),this.onChange=Function.prototype,this.cleanups=[],this.eventHandler=(l,u,x,E)=>{let D=this.toValues(u),F=!1;if(this.value===void 0){this.value=D;return}Array.isArray(D)&&this.value[x]!=D[x]&&(F=!0),!Array.isArray(D)&&this.value!=D&&(F=!0),F&&this.ngZone.run(()=>{l.observers.length>0&&l.emit(D),this.onChange(D)}),Array.isArray(D)?this.value[x]=D[x]:this.value=D},this.defaultKeyHandler=l=>{let u=this.slider.steps(),x=parseInt(l.target.getAttribute("data-handle")),E=1,D=1,F=0,q=0;switch(l.which){case 34:D=this.config.pageSteps;break;case 40:case 37:E=-1,F=u[x][0],l.preventDefault();break;case 33:D=this.config.pageSteps;break;case 38:case 39:F=u[x][1],l.preventDefault();break;default:break}q=E*D*F;let $;Array.isArray(this.value)?($=[...this.value],$[x]=$[x]+q):$=this.value+q,this.slider.set($)}}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(){var t;for(this.slider.destroy();this.cleanups.length;)(t=this.cleanups.pop())==null||t()}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 Ei,this.ngZone.runOutsideAngular(()=>{this.slider=Nn(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,u)=>{this.eventHandler(this.set,i,l,u)}),this.slider.on("update",(i,l,u)=>{this.update.observers.length>0&&this.ngZone.run(()=>{this.update.emit(this.toValues(i))})}),this.slider.on("change",(i,l,u)=>{this.change.observers.length>0&&this.ngZone.run(()=>{this.change.emit(this.toValues(i))})}),this.slider.on("slide",(i,l,u)=>{this.eventHandler(this.slide,i,l,u)}),this.slider.on("start",(i,l,u)=>{this.start.observers.length>0&&this.ngZone.run(()=>{this.start.emit(this.toValues(i))})}),this.slider.on("end",(i,l,u)=>{this.end.observers.length>0&&this.ngZone.run(()=>{this.end.emit(this.toValues(i))})})}}return e.\u0275fac=function(t){return new(t||e)(ke(Qi),ke(rt),ke(ri))},e.\u0275cmp=T({type:e,selectors:[["nouislider"]],hostVars:2,hostBindings:function(t,o){t&2&&on("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:[ai([{provide:Cn,useExisting:Zi(()=>e),multi:!0}]),ot],decls:1,vars:1,template:function(t,o){t&1&&_(0,"div"),t&2&&V("disabled",o.disabled?!0:void 0)},styles:["[_nghost-%COMP%]{display:block;margin-top:1rem;margin-bottom:1rem}"]}),e})(),vd=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=St({type:e}),e.\u0275inj=_t({imports:[be]}),e})();function ga(e,n){if(e&1){let t=Pe();a(0,"div")(1,"h5",9),c(2),m(3,"translate"),s(),a(4,"p"),c(5),s(),a(6,"nouislider",10),te("ngModelChange",function(i){re(t);let l=S();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S();return ae(i.onTargetRotationSpeedChange())}),s()()}if(e&2){let t=S();r(2),C(v(3,6,"accessories.control.rotation_speed")),r(3),M("",t.targetRotationSpeed.value,"%"),r(),d("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var On=(()=>{class e{$activeModal=N(pe);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new le;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetMode=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetMode=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadRotationSpeed()}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=100)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-airpurifier-manage"]],inputs:{service:"service"},decls:21,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center"],["role","group","aria-label","Air Purifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[1,"modal-footer"],[1,"mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"h5")(9,"strong"),c(10),m(11,"translate"),s()(),a(12,"div",6)(13,"button",7),y("click",function(){return i.setTargetMode(0)}),c(14),m(15,"translate"),s(),a(16,"button",7),y("click",function(){return i.setTargetMode(1)}),c(17),m(18,"translate"),s()(),w(19,ga,7,8,"div"),s(),_(20,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,10,"form.button_close")),r(7),M(" ",v(11,12,i.service.values.Active?"accessories.control.on":"accessories.control.off")," "),r(3),Z("opacity",i.targetMode===0?"1":"0.75"),r(),M(" ",v(15,14,"accessories.control.off")," "),r(2),Z("opacity",i.targetMode===1?"1":"0.75"),r(),M(" ",v(18,16,"accessories.control.on")," "),r(2),g(i.targetRotationSpeed?19:-1))},dependencies:[ce,ge,he,be,I],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var ut=function(){function e(){}return e}();var mi=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 u=n._prevSVG&&n._prevSVG.parentNode;u&&this._renderer.removeChild(u,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=[],u=0;u<i.length;u++){var x=i[u].getAttribute("type");if(!x||x==="application/ecmascript"||x==="application/javascript"){var E=i[u].innerText||i[u].textContent;l.push(E),this._renderer.removeChild(i[u].parentNode,i[u])}}if(l.length>0&&(o==="always"||o==="once"&&!this._ranScripts[t])){for(var u=0;u<l.length;u++)new Function(l[u])(window);this._ranScripts[t]=!0}},e.\u0275fac=function(t){return new(t||e)(Ke(oi))},e.\u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();var Vi=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)(ke(mi),ke(rt))},e.\u0275cmp=T({type:e,selectors:[["inline-svg"]],inputs:{context:"context",content:"content",replaceContents:"replaceContents",prepend:"prepend"},features:[ot],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0}),e}();var Rt=function(){function e(n,t,o,i,l,u){this._appBase=n,this._location=t,this._config=o,this._http=o&&!o.bypassHttpClientInterceptorChain?i:new li(l),this._renderer=u.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 Ui(this._cloneSVG(e._cache.get(l)));if(e._inProgressReqs.has(l))return e._inProgressReqs.get(l);var u=this._http.get(l,{responseType:"text"}).pipe(Yi(function(){e._inProgressReqs.delete(l)}),Xi(function(x){return e._inProgressReqs.delete(l),zi(x.message)}),Ki(),ni(function(x){var E=i._svgElementFromString(x);return e._cache.set(l,E),i._cloneSVG(E)}));return e._inProgressReqs.set(l,u),u},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)(Ke(ln,8),Ke(sn,8),Ke(ut,8),Ke(li),Ke(un),Ke(oi))},e.\u0275prov=nt({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();function Ln(e){return e.charAt(0)==="#"||e.indexOf(".svg#")>-1}function Fn(){return typeof SVGRect<"u"}function jn(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 Ii(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++)Ii(i[t],n)}function Wn(e,n){for(var t in n)e.setAttribute(t,n[t])}var W=function(){function e(n,t,o,i,l,u,x,E){this._el=n,this._viewContainerRef=t,this._resolver=o,this._svgCache=i,this._renderer=l,this._inlineSVGService=u,this._config=x,this.platformId=E,this.resolveSVGUrl=!0,this.replaceContents=!0,this.prepend=!1,this.injectComponent=!1,this.cacheSVG=!0,this.forceEvalStyles=!1,this.evalScripts="always",this.onSVGInserted=new Ue,this.onSVGFailed=new Ue,this._supportsSVG=Fn(),!Ot(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),!(!Ot(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(Ln(t.inlineSVG)){var i=t.inlineSVG.split("#")[1];o=jn(t._renderer,o,i)}t._processSvg(o)},function(o){t._fail(o)}))}},e.prototype._processSvg=function(n){if(n){if(this.removeSVGAttributes&&si(this.platformId)&&Ii(n,this.removeSVGAttributes),this.setSVGAttributes&&Wn(n,this.setSVGAttributes),this.onSVGLoaded&&(n=this.onSVGLoaded(n,this._el.nativeElement)),this._insertEl(n),si(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(Vi);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(Vi)._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 Ot(this.platformId)||si(this.platformId)},e.prototype._isSSRDisabled=function(){return Ot(this.platformId)&&this._config&&this._config.clientOnly},e.\u0275fac=function(t){return new(t||e)(ke(rt),ke(tn),ke(en),ke(Rt),ke(ri),ke(mi),ke(ut,8),ke(Ji))},e.\u0275dir=yt({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"},features:[ai([Rt]),ot]}),e}();var U=function(){function e(){}return e.forRoot=function(n){return{ngModule:e,providers:[{provide:ut,useValue:n}]}},e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=St({type:e}),e.\u0275inj=_t({}),e}();var X=(()=>{class e{duration=350;longclick=Ti();shortclick=Ti();downTimeout;done=!1;constructor(){}onEnter(t){this.shortclick.emit(t)}onMouseUp(t){clearInterval(this.downTimeout),this.done||(this.done=!0,this.shortclick.emit(t))}onTouchEnd(t){clearInterval(this.downTimeout),t.preventDefault(),t.stopPropagation(),this.done||(this.done=!0,this.shortclick.emit(t))}onMouseDown(t){t.button===0&&(this.done=!1,this.downTimeout=setTimeout(()=>{this.done=!0,this.longclick.emit(t)},this.duration))}onMouseMove(){this.done=!0,clearInterval(this.downTimeout)}ngOnDestroy(){clearInterval(this.downTimeout)}static \u0275fac=function(o){return new(o||e)};static \u0275dir=yt({type:e,selectors:[["","appLongclick",""]],hostBindings:function(o,i){o&1&&y("keyup.enter",function(u){return i.onEnter(u)})("mouseup",function(u){return i.onMouseUp(u)})("touchend",function(u){return i.onTouchEnd(u)})("touchstart",function(u){return i.onMouseDown(u)})("mousedown",function(u){return i.onMouseDown(u)})("mousemove",function(u){return i.onMouseMove(u)})("touchmove",function(u){return i.onMouseMove(u)})},inputs:{duration:"duration"},outputs:{longclick:"longclick",shortclick:"shortclick"}})}return e})();var _a=(e,n)=>({"switch-on":e,"switch-off":n});function Sa(e,n){if(e&1&&(_(0,"div",4),m(1,"translate")),e&2){let t=S();d("innerText",v(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function ya(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=S();r(),M("",t.service.values.RotationSpeed,"%")}}var Un=(()=>{class e{$modal=N(de);service;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed&&this.service.getCharacteristic("RotationSpeed").setValue(100)}onLongClick(){let t=this.$modal.open(On,{size:"sm"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-airpurifier"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","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,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,Sa,2,3,"div",4)(6,ya,2,1,"div",5),s()()),o&2&&(d("ngClass",fe(6,_a,i.service.values.Active,!i.service.values.Active)),r(2),d("inlineSVG","/assets/hap-icons/airpurifier.svg"),V("aria-label","Air Purifier"),r(2),C(i.service.customName||i.service.serviceName),r(),g(!i.service.values.RotationSpeed||!i.service.values.Active?5:-1),r(),g(i.service.values.RotationSpeed&&i.service.values.Active?6:-1))},dependencies:[X,O,U,W,I],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var xa=e=>({"switch-on":e}),ba=(e,n)=>({"grey-text":e,"red-text":n}),zn=(()=>{class e{service;labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-airqualitysensor"]],inputs:{service:"service"},decls:7,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",3,"ngClass"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(d("ngClass",Y(6,xa,i.service.values.AirQuality>3)),r(2),d("inlineSVG","/assets/hap-icons/airquality.svg"),V("aria-label","Switch"),r(2),C(i.service.customName||i.service.serviceName),r(),d("ngClass",fe(8,ba,i.service.values.AirQuality<4,i.service.values.AirQuality>3)),r(),M(" ",i.labels[i.service.values.AirQuality]," "))},dependencies:[O,U,W],encapsulation:2})}return e})();var Ta=e=>({lowbattery:e});function Ma(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.battery_notcharging")))}function wa(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.battery_charging")))}function ka(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.battery_notchargeable")))}var $n=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-battery"]],inputs:{service:"service"},decls:9,vars:11,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"batterylevel-circle",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"div",2),m(3,"number"),a(4,"div",3),c(5),s(),w(6,Ma,3,3,"div",4)(7,wa,3,3,"div",4)(8,ka,3,3,"div",4),s()()),o&2&&(r(2),d("innerText",_e(3,6,i.service.values.BatteryLevel||0,"1.0-0")+"%")("ngClass",Y(9,Ta,i.service.values.StatusLowBattery===1)),r(3),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.ChargingState===0?6:-1),r(),g(i.service.values.ChargingState===1?7:-1),r(),g(i.service.values.ChargingState===2?8:-1))},dependencies:[O,Ge,I],styles:[".batterylevel-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;padding:6% 0;border-radius:50%;font-size:16px;line-height:35px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.batterylevel-circle[_ngcontent-%COMP%]{width:31px;font-size:10px;margin-bottom:7px;line-height:20px}}.lowbattery[_ngcontent-%COMP%]{background-color:#f80;color:#fff}"]})}return e})();var Ea=(e,n)=>({"switch-on":e,"switch-off":n});function Va(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.detected")))}function Ia(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.not_detected")))}var qn=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-carbondioxidesensor"]],inputs:{service:"service"},decls:7,vars:9,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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,Va,3,3,"div",4)(6,Ia,3,3,"div",5),s()()),o&2&&(d("ngClass",fe(6,Ea,i.service.values.CarbonDioxideDetected,!i.service.values.CarbonDioxideDetected)),r(2),d("inlineSVG","/assets/hap-icons/smokesensor.svg"),V("aria-label","Carbon Dioxide Sensor"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.CarbonDioxideDetected?5:-1),r(),g(i.service.values.CarbonDioxideDetected?-1:6))},dependencies:[O,U,W,I],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var Da=(e,n)=>({"switch-on":e,"switch-off":n});function Pa(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.detected")))}function Aa(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.not_detected")))}var Xn=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-carbonmonoxidesensor"]],inputs:{service:"service"},decls:7,vars:9,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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,Pa,3,3,"div",4)(6,Aa,3,3,"div",5),s()()),o&2&&(d("ngClass",fe(6,Da,i.service.values.CarbonMonoxideDetected,!i.service.values.CarbonMonoxideDetected)),r(2),d("inlineSVG","/assets/hap-icons/smokesensor.svg"),V("aria-label","Carbon Monoxide Sensor"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.CarbonMonoxideDetected?5:-1),r(),g(i.service.values.CarbonMonoxideDetected?-1:6))},dependencies:[O,U,W,I],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var Ba=(e,n)=>({"switch-on":e,"switch-off":n});function Ha(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/contactsensor-open.svg"),V("aria-label","Switch"))}function Na(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/contactsensor-closed.svg"),V("aria-label","Switch"))}function Oa(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.open")))}function Ga(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.closed")))}var Kn=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-contactsensor"]],inputs:{service:"service"},decls:8,vars:9,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&&(a(0,"div",0)(1,"div",1),w(2,Ha,1,2,"div",2)(3,Na,1,2,"div",2),a(4,"div",3),c(5),s(),w(6,Oa,3,3,"div",4)(7,Ga,3,3,"div",5),s()()),o&2&&(d("ngClass",fe(6,Ba,i.service.values.ContactSensorState,!i.service.values.ContactSensorState)),r(2),g(i.service.values.ContactSensorState?2:-1),r(),g(i.service.values.ContactSensorState?-1:3),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.ContactSensorState?6:-1),r(),g(i.service.values.ContactSensorState?-1:7))},dependencies:[O,U,W,I],styles:["body.dark-mode .switch-off svg .contact_sensor_split_line{fill:#2b2b2b}"]})}return e})();function Ra(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.closed")))}function La(e,n){if(e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2){let t=S(2);r(),ve(" ",t.service.values.CurrentPosition,"% ",v(2,2,"accessories.control.open")," ")}}function Fa(e,n){e&1&&(a(0,"span"),c(1,"Open"),s())}function ja(e,n){if(e&1&&(a(0,"div"),w(1,Ra,3,3,"span")(2,La,3,4,"span")(3,Fa,2,0,"span"),s()),e&2){let t=S();r(),g(t.service.values.CurrentPosition===0?1:-1),r(),g(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),g(t.service.values.CurrentPosition===100?3:-1)}}function Wa(e,n){e&1&&(a(0,"div",6),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.opening"),"..."))}function Ua(e,n){e&1&&(a(0,"div",6),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.closing"),"..."))}var Yn=(()=>{class e{$activeModal=N(pe);service;targetMode;targetPosition;targetPositionChanged=new le;constructor(){this.targetPositionChanged.pipe(Te(300),De()).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()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-door-manage"]],inputs:{service:"service"},decls:18,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center","px-5"],[1,"red-text"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"h5")(9,"strong"),w(10,ja,4,3,"div")(11,Wa,3,3,"div",6)(12,Ua,3,3,"div",6),s()(),a(13,"p"),c(14),m(15,"translate"),s(),a(16,"nouislider",7),te("ngModelChange",function(u){return ee(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),y("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),_(17,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,11,"form.button_close")),r(7),g(i.service.values.PositionState===2?10:-1),r(),g(i.service.values.PositionState===1?11:-1),r(),g(i.service.values.PositionState===0?12:-1),r(2),ve("",v(15,13,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),d("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),J("ngModel",i.targetPosition.value))},dependencies:[be,ce,ge,he,I],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var za=e=>({"window-on":e});function $a(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/door-closed.svg"),V("aria-label","Door"))}function qa(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/door-open.svg"),V("aria-label","Door"))}function Xa(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.closed")))}function Ka(e,n){if(e&1&&(a(0,"span"),c(1),s()),e&2){let t=S(2);r(),M(" ",t.service.values.CurrentPosition,"% ")}}function Ya(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.open")))}function Za(e,n){if(e&1&&(a(0,"div",4),w(1,Xa,3,3,"span")(2,Ka,2,1,"span")(3,Ya,3,3,"span"),s()),e&2){let t=S();r(),g(t.service.values.CurrentPosition===0?1:-1),r(),g(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),g(t.service.values.CurrentPosition===100?3:-1)}}function Qa(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.opening"),"..."))}function Ja(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.closing"),"..."))}var Zn=(()=>{class e{$modal=N(de);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Yn,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-door"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","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&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),w(2,$a,1,2,"div",2)(3,qa,1,2,"div",2),a(4,"div",3),c(5),s(),w(6,Za,4,3,"div",4)(7,Qa,3,3,"div",5)(8,Ja,3,3,"div",5),s()()),o&2&&(d("ngClass",Y(7,za,i.service.values.TargetPosition)),r(2),g(i.service.values.TargetPosition?-1:2),r(),g(i.service.values.TargetPosition?3:-1),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.PositionState===2?6:-1),r(),g(i.service.values.PositionState===1?7:-1),r(),g(i.service.values.PositionState===0?8:-1))},dependencies:[X,O,U,W,I],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function es(e,n){e&1&&(a(0,"span"),c(1,"%"),s())}function ts(e,n){if(e&1){let t=Pe();a(0,"div")(1,"h5",9),c(2),m(3,"translate"),s(),a(4,"p"),c(5),w(6,es,2,0,"span"),s(),a(7,"nouislider",10),te("ngModelChange",function(i){re(t);let l=S();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S();return ae(i.onTargetRotationSpeedChange())}),s()()}if(e&2){let t=S();r(2),C(v(3,7,"accessories.control.rotation_speed")),r(3),M(" ",t.targetRotationSpeed.value,""),r(),g(t.targetRotationSpeed.unit==="percentage"?6:-1),r(),d("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var Qn=(()=>{class e{$activeModal=N(pe);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new le;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadRotationSpeed()}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})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-fan-manage"]],inputs:{service:"service"},decls:22,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[1,"modal-footer"],[1,"mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"h5")(9,"strong"),c(10),m(11,"translate"),m(12,"translate"),s()(),a(13,"div",6)(14,"button",7),y("click",function(){return i.setTargetMode(!1)}),c(15),m(16,"translate"),s(),a(17,"button",7),y("click",function(){return i.setTargetMode(!0)}),c(18),m(19,"translate"),s()(),w(20,ts,8,9,"div"),s(),_(21,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,11,"form.button_close")),r(7),ve(" ",v(11,13,"accessories.control.fan")," ",v(12,15,i.service.values.On?"accessories.control.on":"accessories.control.off")," "),r(4),Z("opacity",i.targetMode?"0.75":"1"),r(),M(" ",v(16,17,"accessories.control.off")," "),r(2),Z("opacity",i.targetMode?"1":"0.75"),r(),M(" ",v(19,19,"accessories.control.on")," "),r(2),g(i.targetRotationSpeed?20:-1))},dependencies:[ce,ge,he,be,I],encapsulation:2})}return e})();var is=e=>({"switch-on":e});function ns(e,n){e&1&&_(0,"img",2)}function os(e,n){e&1&&_(0,"img",3)}function rs(e,n){if(e&1&&(_(0,"div",5),m(1,"translate")),e&2){let t=S();d("innerText",v(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function as(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=S();r(),ve("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit,"")}}var Jn=(()=>{class e{$modal=N(de);service;rotationSpeedUnit="";constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%")}onClick(){if(this.service.getCharacteristic("On").setValue(!this.service.values.On),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open(Qn,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-fan"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img","spin"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),w(2,ns,1,0,"img",2)(3,os,1,0,"img",3),a(4,"div",4),c(5),s(),w(6,rs,2,3,"div",5)(7,as,2,2,"div",6),s()()),o&2&&(d("ngClass",Y(6,is,i.service.values.On)),r(2),g(i.service.values.On?-1:2),r(),g(i.service.values.On?3:-1),r(2),C(i.service.customName||i.service.serviceName),r(),g(!i.service.values.RotationSpeed||!i.service.values.On?6:-1),r(),g(i.service.values.RotationSpeed&&i.service.values.On?7:-1))},dependencies:[X,O,I],encapsulation:2})}return e})();function ss(e,n){e&1&&(a(0,"span"),c(1,"%"),s())}function ls(e,n){if(e&1){let t=Pe();a(0,"div")(1,"h5",9),c(2),m(3,"translate"),s(),a(4,"p"),c(5),w(6,ss,2,0,"span"),s(),a(7,"nouislider",10),te("ngModelChange",function(i){re(t);let l=S();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S();return ae(i.onTargetRotationSpeedChange())}),s()()}if(e&2){let t=S();r(2),C(v(3,7,"accessories.control.rotation_speed")),r(3),M(" ",t.targetRotationSpeed.value,""),r(),g(t.targetRotationSpeed.unit==="percentage"?6:-1),r(),d("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),J("ngModel",t.targetRotationSpeed.value)}}var eo=(()=>{class e{$activeModal=N(pe);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new le;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetMode=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetMode=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadRotationSpeed()}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})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-fanv2-manage"]],inputs:{service:"service"},decls:22,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[1,"modal-footer"],[1,"mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"h5")(9,"strong"),c(10),m(11,"translate"),m(12,"translate"),s()(),a(13,"div",6)(14,"button",7),y("click",function(){return i.setTargetMode(0)}),c(15),m(16,"translate"),s(),a(17,"button",7),y("click",function(){return i.setTargetMode(1)}),c(18),m(19,"translate"),s()(),w(20,ls,8,9,"div"),s(),_(21,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,11,"form.button_close")),r(7),ve(" ",v(11,13,"accessories.control.fan")," ",v(12,15,i.service.values.Active?"accessories.control.on":"accessories.control.off")," "),r(4),Z("opacity",i.targetMode===0?"1":"0.75"),r(),M(" ",v(16,17,"accessories.control.off")," "),r(2),Z("opacity",i.targetMode===1?"1":"0.75"),r(),M(" ",v(19,19,"accessories.control.on")," "),r(2),g(i.targetRotationSpeed?20:-1))},dependencies:[ce,ge,he,be,I],encapsulation:2})}return e})();var cs=e=>({"switch-on":e});function ps(e,n){e&1&&_(0,"img",2)}function ds(e,n){e&1&&_(0,"img",3)}function ms(e,n){if(e&1&&(_(0,"div",5),m(1,"translate")),e&2){let t=S();d("innerText",v(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function us(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=S();r(),ve("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit,"")}}var to=(()=>{class e{$modal=N(de);service;rotationSpeedUnit="";constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%")}onClick(){if(this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open(eo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-fanv2"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img","spin"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),w(2,ps,1,0,"img",2)(3,ds,1,0,"img",3),a(4,"div",4),c(5),s(),w(6,ms,2,3,"div",5)(7,us,2,2,"div",6),s()()),o&2&&(d("ngClass",Y(6,cs,i.service.values.Active)),r(2),g(i.service.values.Active?-1:2),r(),g(i.service.values.Active?3:-1),r(2),C(i.service.customName||i.service.serviceName),r(),g(!i.service.values.RotationSpeed||!i.service.values.Active?6:-1),r(),g(i.service.values.RotationSpeed&&i.service.values.Active?7:-1))},dependencies:[X,O,I],encapsulation:2})}return e})();var vs=e=>({"switch-on":e}),fs=(e,n)=>({"red-text":e,"grey-text":n});function gs(e,n){if(e&1&&(_(0,"div",4),m(1,"translate")),e&2){let t=S();d("innerText",v(1,2,t.service.values.CurrentDoorState?"accessories.control.closed":"accessories.control.open"))("ngClass",fe(4,fs,!t.service.values.CurrentDoorState,t.service.values.CurrentDoorState))}}function hs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.opening"),"..."))}function Cs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.closing"),"..."))}function _s(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.stopped")))}var io=(()=>{class e{service;constructor(){}onClick(){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-garagedooropener"]],inputs:{service:"service"},decls:9,vars:10,consts:[["appLongclick","","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",3,"innerText","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),y("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,gs,2,7,"div",4)(6,hs,3,3,"div",5)(7,Cs,3,3,"div",5)(8,_s,3,3,"div",5),s()()),o&2&&(d("ngClass",Y(8,vs,i.service.values.CurrentDoorState===0||i.service.values.CurrentDoorState===2)),r(2),d("inlineSVG","/assets/hap-icons/garagedoor.svg"),V("aria-label","Garage Door"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.CurrentDoorState<2?5:-1),r(),g(i.service.values.CurrentDoorState===2?6:-1),r(),g(i.service.values.CurrentDoorState===3?7:-1),r(),g(i.service.values.CurrentDoorState===4?8:-1))},dependencies:[X,O,U,W,I],encapsulation:2})}return e})();var Ss=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function ys(e,n){if(e&1){let t=Pe();a(0,"div")(1,"p"),c(2),m(3,"convertTemp"),m(4,"number"),m(5,"convertTemp"),m(6,"number"),s(),a(7,"nouislider",10),te("ngModelChange",function(i){re(t);let l=S(2);return ee(l.autoTemp,i)||(l.autoTemp=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S(2);return ae(i.onTemperatureStateChange())}),s()()}if(e&2){let t=S(2);r(2),ve(" ",_e(4,8,v(3,6,t.autoTemp[0]),"1.0-1"),"\xB0 - ",_e(6,13,v(5,11,t.autoTemp[1]),"1.0-1"),"\xB0 "),r(5),d("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),J("ngModel",t.autoTemp)}}function xs(e,n){if(e&1){let t=Pe();a(0,"div")(1,"p"),c(2),m(3,"convertTemp"),m(4,"number"),s(),a(5,"nouislider",10),te("ngModelChange",function(i){re(t);let l=S(2);return ee(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S(2);return ae(i.onTemperatureStateChange())}),s()()}if(e&2){let t=S(2);r(2),M("",_e(4,7,v(3,5,t.targetHeatingTemp),"1.0-1"),"\xB0"),r(3),d("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),J("ngModel",t.targetHeatingTemp)}}function bs(e,n){if(e&1){let t=Pe();a(0,"div")(1,"p"),c(2),m(3,"convertTemp"),m(4,"number"),s(),a(5,"nouislider",10),te("ngModelChange",function(i){re(t);let l=S(2);return ee(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S(2);return ae(i.onTemperatureStateChange())}),s()()}if(e&2){let t=S(2);r(2),M("",_e(4,7,v(3,5,t.targetCoolingTemp),"1.0-1"),"\xB0"),r(3),d("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),J("ngModel",t.targetCoolingTemp)}}function Ts(e,n){if(e&1&&(a(0,"div")(1,"h5"),c(2),m(3,"translate"),s(),a(4,"div"),w(5,ys,8,16,"div")(6,xs,6,10,"div")(7,bs,6,10,"div"),s()()),e&2){let t,o=S();r(2),C(v(3,2,"accessories.control.target_temperature")),r(3),g((t=o.targetMode)===0?5:t===1?6:t===2?7:-1)}}var no=(()=>{class e{$activeModal=N(pe);service;targetMode;targetTemperatureChanged=new le;CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;constructor(){this.targetTemperatureChanged.pipe(Te(300)).subscribe(()=>{switch(this.targetMode){case 0:this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.autoTemp[0]),this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.autoTemp[1]);break;case 1:this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp);break;case 2:this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp);break}})}ngOnInit(){this.targetMode=this.service.values.Active?this.service.values.TargetHeaterCoolerState:"off",this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.loadTargetTemperature()}loadTargetTemperature(){var t,o;this.targetCoolingTemp=(t=this.service.getCharacteristic("CoolingThresholdTemperature"))==null?void 0:t.value,this.targetHeatingTemp=(o=this.service.getCharacteristic("HeatingThresholdTemperature"))==null?void 0:o.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}setTargetMode(t){this.targetMode=t,this.targetMode==="off"?this.service.getCharacteristic("Active").setValue(0):(this.service.getCharacteristic("Active").value===0&&this.service.getCharacteristic("Active").setValue(1),this.service.getCharacteristic("TargetHeaterCoolerState").setValue(this.targetMode)),this.loadTargetTemperature()}onTemperatureStateChange(){this.targetTemperatureChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-heatercooler-manage"]],inputs:{service:"service"},decls:26,vars:36,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center"],[1,"temperature-circle","mb-3",3,"innerText","ngClass"],["role","group","aria-label","Heater Cooler Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5),_(8,"div",6),m(9,"convertTemp"),m(10,"number"),a(11,"div",7)(12,"button",8),y("click",function(){return i.setTargetMode(0)}),c(13),m(14,"translate"),s(),a(15,"button",8),y("click",function(){return i.setTargetMode(1)}),c(16),m(17,"translate"),s(),a(18,"button",8),y("click",function(){return i.setTargetMode(2)}),c(19),m(20,"translate"),s(),a(21,"button",8),y("click",function(){return i.setTargetMode("off")}),c(22),m(23,"translate"),s()(),w(24,Ts,8,4,"div"),s(),_(25,"div",9),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,17,"form.button_close")),r(5),d("innerText",_e(10,21,v(9,19,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",ze(32,Ss,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)),r(4),Z("opacity",i.targetMode===0?"1":"0.75"),r(),M(" ",v(14,24,"accessories.control.auto")," "),r(2),Z("opacity",i.targetMode===1?"1":"0.75"),r(),M(" ",v(17,26,"accessories.control.heat")," "),r(2),Z("opacity",i.targetMode===2?"1":"0.75"),r(),M(" ",v(20,28,"accessories.control.cool")," "),r(2),Z("opacity",i.targetMode==="off"?"1":"0.75"),r(),M(" ",v(23,30,"accessories.control.off")," "),r(2),g(i.service.values.Active===1&&i.HeatingThresholdTemperature&&i.CoolingThresholdTemperature?24:-1))},dependencies:[O,ce,ge,he,be,Ge,I,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;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}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;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 Ms=e=>({"switch-on":e}),ws=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function ks(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.off")))}function Es(e,n){if(e&1&&(a(0,"span"),c(1),m(2,"convertTemp"),m(3,"number"),s()),e&2){let t=S(2);r(),M(" ",_e(3,3,v(2,1,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0 ")}}function Vs(e,n){if(e&1&&(a(0,"span"),c(1),m(2,"convertTemp"),m(3,"number"),s()),e&2){let t=S(2);r(),M(" ",_e(3,3,v(2,1,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0 ")}}function Is(e,n){if(e&1&&(a(0,"span"),c(1),m(2,"convertTemp"),m(3,"number"),m(4,"convertTemp"),m(5,"number"),s()),e&2){let t=S(2);r(),ve(" ",_e(3,4,v(2,2,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0-",_e(5,9,v(4,7,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0 ")}}function Ds(e,n){if(e&1&&(a(0,"div",4),w(1,Es,4,6,"span")(2,Vs,4,6,"span")(3,Is,6,12,"span"),s()),e&2){let t,o=S();r(),g((t=o.service.values.TargetHeaterCoolerState)===1?1:t===2?2:t===0?3:-1)}}function Ps(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.on")))}var oo=(()=>{class e{$modal=N(de);service;model=1;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(no,{size:"sm"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-heatercooler"]],inputs:{service:"service"},decls:10,vars:18,consts:[["appLongclick","","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"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s(),w(7,ks,3,3,"div",4)(8,Ds,4,1,"div",4)(9,Ps,3,3,"div",4),s()()),o&2&&(d("ngClass",Y(12,Ms,i.service.values.Active===1)),r(2),d("innerText",_e(4,9,v(3,7,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",ze(14,ws,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)),r(4),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.Active===0?7:-1),r(),g(i.service.values.Active===1&&i.service.getCharacteristic("CoolingThresholdTemperature")&&i.service.getCharacteristic("HeatingThresholdTemperature")?8:-1),r(),g(i.service.values.Active===1&&(!i.service.getCharacteristic("CoolingThresholdTemperature")||!i.service.getCharacteristic("HeatingThresholdTemperature"))?9:-1))},dependencies:[X,O,Ge,I,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;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}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;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 As=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t});function Bs(e,n){if(e&1){let t=Pe();a(0,"div")(1,"p"),c(2),s(),a(3,"nouislider",11),te("ngModelChange",function(i){re(t);let l=S(2);return ee(l.autoHumidity,i)||(l.autoHumidity=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S(2);return ae(i.onHumidityStateChange())}),s()()}if(e&2){let t=S(2);r(2),ve("",t.autoHumidity[0],"% - ",t.autoHumidity[1],"%"),r(),d("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),J("ngModel",t.autoHumidity)}}function Hs(e,n){if(e&1){let t=Pe();a(0,"div")(1,"p"),c(2),s(),a(3,"nouislider",11),te("ngModelChange",function(i){re(t);let l=S(2);return ee(l.targetHumidifierHumidity,i)||(l.targetHumidifierHumidity=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S(2);return ae(i.onHumidityStateChange())}),s()()}if(e&2){let t=S(2);r(2),M("",t.targetHumidifierHumidity,"%"),r(),d("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityHumidifierThreshold.maxValue)("step",t.RelativeHumidityHumidifierThreshold.minStep),J("ngModel",t.targetHumidifierHumidity)}}function Ns(e,n){if(e&1){let t=Pe();a(0,"div")(1,"p"),c(2),s(),a(3,"nouislider",11),te("ngModelChange",function(i){re(t);let l=S(2);return ee(l.targetDehumidifierHumidity,i)||(l.targetDehumidifierHumidity=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S(2);return ae(i.onHumidityStateChange())}),s()()}if(e&2){let t=S(2);r(2),M("",t.targetDehumidifierHumidity,"%"),r(),d("min",t.RelativeHumidityDehumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),J("ngModel",t.targetDehumidifierHumidity)}}function Os(e,n){if(e&1&&(a(0,"div")(1,"h5"),c(2),m(3,"translate"),s(),a(4,"div"),w(5,Bs,4,6,"div")(6,Hs,4,5,"div")(7,Ns,4,5,"div"),s()()),e&2){let t,o=S();r(2),C(v(3,2,"accessories.control.target_humidity")),r(3),g((t=o.targetMode)===0?5:t===1?6:t===2?7:-1)}}var ro=(()=>{class e{$activeModal=N(pe);service;targetMode;targetHumidityChanged=new le;RelativeHumidityDehumidifierThreshold;RelativeHumidityHumidifierThreshold;targetDehumidifierHumidity;targetHumidifierHumidity;autoHumidity;constructor(){this.targetHumidityChanged.pipe(Te(300)).subscribe(()=>{switch(this.targetMode){case 0:this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.autoHumidity[0]),this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.autoHumidity[1]);break;case 1:this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.targetHumidifierHumidity);break;case 2:this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.targetDehumidifierHumidity);break}})}ngOnInit(){this.targetMode=this.service.values.Active?this.service.values.TargetHumidifierDehumidifierState:"off",this.RelativeHumidityDehumidifierThreshold=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"),this.RelativeHumidityHumidifierThreshold=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.loadTargetHumidity()}loadTargetHumidity(){var t,o;this.targetDehumidifierHumidity=(t=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"))==null?void 0:t.value,this.targetHumidifierHumidity=(o=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"))==null?void 0:o.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity]}setTargetMode(t){this.targetMode=t,this.targetMode==="off"?this.service.getCharacteristic("Active").setValue(0):(this.service.getCharacteristic("Active").value===0&&this.service.getCharacteristic("Active").setValue(1),this.service.getCharacteristic("TargetHumidifierDehumidifierState").setValue(this.targetMode)),this.loadTargetHumidity()}onHumidityStateChange(){this.targetHumidityChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-humidifierdehumidifier-manage"]],inputs:{service:"service"},decls:25,vars:31,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center"],[1,"humidity-drop","mb-3",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],["role","group","aria-label","Humidifier Dehumidifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"div",6),_(9,"div",7),s(),a(10,"div",8)(11,"button",9),y("click",function(){return i.setTargetMode(0)}),c(12),m(13,"translate"),s(),a(14,"button",9),y("click",function(){return i.setTargetMode(1)}),c(15),m(16,"translate"),s(),a(17,"button",9),y("click",function(){return i.setTargetMode(2)}),c(18),m(19,"translate"),s(),a(20,"button",9),y("click",function(){return i.setTargetMode("off")}),c(21),m(22,"translate"),s()(),w(23,Os,8,4,"div"),s(),_(24,"div",10),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,17,"form.button_close")),r(5),d("ngClass",ze(27,As,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)),r(),d("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),Z("opacity",i.targetMode===0?"1":"0.75"),r(),M(" ",v(13,19,"accessories.control.auto")," "),r(2),Z("opacity",i.targetMode===1?"1":"0.75"),r(),M(" ",v(16,21,"accessories.control.humidifying")," "),r(2),Z("opacity",i.targetMode===2?"1":"0.75"),r(),M(" ",v(19,23,"accessories.control.dehumidifying")," "),r(2),Z("opacity",i.targetMode==="off"?"1":"0.75"),r(),M(" ",v(22,25,"accessories.control.off")," "),r(2),g(i.service.values.Active===1&&i.RelativeHumidityHumidifierThreshold&&i.RelativeHumidityDehumidifierThreshold?23:-1))},dependencies:[O,ce,ge,he,be,I],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;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:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}.humidifying[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.dehumidifying[_ngcontent-%COMP%]{background-color:#f80;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 Ls(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.off")))}function Fs(e,n){if(e&1&&(a(0,"span"),c(1),s()),e&2){let t=S(2);r(),M(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% ")}}function js(e,n){if(e&1&&(a(0,"span"),c(1),s()),e&2){let t=S(2);r(),M(" ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function Ws(e,n){if(e&1&&(a(0,"span"),c(1),s()),e&2){let t=S(2);r(),ve(" ",t.service.values.RelativeHumidityHumidifierThreshold,"%-",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function Us(e,n){if(e&1&&(a(0,"div",5),w(1,Fs,2,1,"span")(2,js,2,1,"span")(3,Ws,2,2,"span"),s()),e&2){let t,o=S();r(),g((t=o.service.values.TargetHumidifierDehumidifierState)===1?1:t===2?2:t===0?3:-1)}}function zs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.on")))}var ao=(()=>{class e{$modal=N(de);service;model=1;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(ro,{size:"sm"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-humidifierdehumidifier"]],inputs:{service:"service"},decls:9,vars:13,consts:[["appLongclick","","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"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),_(3,"div",3),s(),a(4,"div",4),c(5),s(),w(6,Ls,3,3,"div",5)(7,Us,4,1,"div",5)(8,zs,3,3,"div",5),s()()),o&2&&(d("ngClass",Y(7,Gs,i.service.values.Active===1)),r(2),d("ngClass",ze(9,Rs,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)),r(),d("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.Active===0?6:-1),r(),g(i.service.values.Active===1&&i.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")&&i.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?7:-1),r(),g(i.service.values.Active===1&&(!i.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")||!i.service.getCharacteristic("RelativeHumidityHumidifierThreshold"))?8:-1))},dependencies:[X,O,I],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;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:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}.humidifying[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.dehumidifying[_ngcontent-%COMP%]{background-color:#f80;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 so=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-humiditysensor"]],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&&(a(0,"div",0)(1,"div",1)(2,"div",2),_(3,"div",3),s(),a(4,"div",4),c(5),s()()()),o&2&&(r(3),d("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),C(i.service.customName||i.service.serviceName))},styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;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:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}"]})}return e})();var $s=(e,n)=>({"switch-on":e,"switch-off":n});function qs(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.running")))}function Xs(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.off")))}var lo=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-irrigationsystem"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","",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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,qs,3,3,"div",4)(6,Xs,3,3,"div",4),s()()),o&2&&(d("ngClass",fe(6,$s,i.service.values.InUse,!i.service.values.InUse)),r(2),d("inlineSVG","/assets/hap-icons/irrigation-system.svg"),V("aria-label","Irrigation Valve"),r(2),M(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),g(i.service.values.InUse?5:-1),r(),g(i.service.values.InUse?-1:6))},dependencies:[X,O,U,W,I],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();var Ks=(e,n)=>({"switch-on":e,"switch-off":n});function Ys(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.detected")))}function Zs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.not_detected")))}var co=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-leaksensor"]],inputs:{service:"service"},decls:7,vars:9,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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,Ys,3,3,"div",4)(6,Zs,3,3,"div",5),s()()),o&2&&(d("ngClass",fe(6,Ks,i.service.values.LeakDetected,!i.service.values.LeakDetected)),r(2),d("inlineSVG","/assets/hap-icons/leaksensor.svg"),V("aria-label","Leak Sensor"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.LeakDetected?5:-1),r(),g(i.service.values.LeakDetected?-1:6))},dependencies:[O,U,W,I],styles:[".switch-off svg .leak_sensor_droplet{fill:#e0e0e0} .switch-off svg .leak_sensor_trigger_lines{display:none} .switch-off svg .leak_sensor_background{fill:gray} body.dark-mode .switch-off svg .leak_sensor_droplet{fill:#2b2b2b}"]})}return e})();function Qs(e,n){if(e&1){let t=Pe();a(0,"div")(1,"h5",9),c(2),m(3,"translate"),s(),a(4,"p"),c(5),s(),a(6,"nouislider",10),te("ngModelChange",function(i){re(t);let l=S();return ee(l.targetBrightness.value,i)||(l.targetBrightness.value=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S();return ae(i.onBrightnessStateChange())}),s()()}if(e&2){let t=S();r(2),C(v(3,6,"accessories.control.brightness")),r(3),M("",t.targetBrightness.value,"%"),r(),d("min",t.targetBrightness.min)("max",t.targetBrightness.max)("step",t.targetBrightness.step),J("ngModel",t.targetBrightness.value)}}var po=(()=>{class e{$activeModal=N(pe);service;targetMode;targetBrightness;targetBrightnessChanged=new le;constructor(){this.targetBrightnessChanged.pipe(Te(300),De()).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))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetBrightness()}loadTargetBrightness(){let t=this.service.getCharacteristic("Brightness");t&&(this.targetBrightness={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetBrightness&&!this.targetBrightness.value&&(this.targetBrightness.value=100)}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-lightbulb-manage"]],inputs:{service:"service"},decls:22,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center","p-5"],["role","group","aria-label","Lightbulb Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[1,"modal-footer"],[1,"mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"h5")(9,"strong"),c(10),m(11,"translate"),m(12,"translate"),s()(),a(13,"div",6)(14,"button",7),y("click",function(){return i.setTargetMode(!1)}),c(15),m(16,"translate"),s(),a(17,"button",7),y("click",function(){return i.setTargetMode(!0)}),c(18),m(19,"translate"),s()(),w(20,Qs,7,8,"div"),s(),_(21,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,11,"form.button_close")),r(7),ve(" ",v(11,13,"accessories.control.light")," ",v(12,15,i.service.values.On?"accessories.control.on":"accessories.control.off")," "),r(4),Z("opacity",i.targetMode?"0.75":"1"),r(),M(" ",v(16,17,"accessories.control.off")," "),r(2),Z("opacity",i.targetMode?"1":"0.75"),r(),M(" ",v(19,19,"accessories.control.on")," "),r(2),g(i.targetBrightness?20:-1))},dependencies:[ce,ge,he,be,I],encapsulation:2})}return e})();var Js=e=>({"light-on":e});function el(e,n){if(e&1&&(_(0,"div",4),m(1,"translate")),e&2){let t=S();d("innerText",v(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function tl(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=S();r(),M("",t.service.values.Brightness,"%")}}var mo=(()=>{class e{$modal=N(de);service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On),!this.service.values.On&&"Brightness"in this.service.values&&!this.service.values.Brightness&&this.service.getCharacteristic("Brightness").setValue(100)}onLongClick(){if("Brightness"in this.service.values){let t=this.$modal.open(po,{size:"md"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-lightbulb"]],inputs:{service:"service"},decls:7,vars:8,consts:[["appLongclick","","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,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,el,2,3,"div",4)(6,tl,2,1,"div",5),s()()),o&2&&(d("ngClass",Y(6,Js,i.service.values.On)),r(2),d("inlineSVG","/assets/hap-icons/lightbulb.svg"),V("aria-label","Light Bulb"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.Brightness?-1:5),r(),g(i.service.values.Brightness?6:-1))},dependencies:[X,O,U,W,I],encapsulation:2})}return e})();function il(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"number"),s()),e&2){let t=S();r(),M("",_e(2,1,t.service.values.CurrentAmbientLightLevel,"0.1-1")," lux")}}function nl(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"number"),s()),e&2){let t=S();r(),M("",_e(2,1,t.service.values.CurrentAmbientLightLevel,"1.0-0")," lux")}}var uo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-lightsensor"]],inputs:{service:"service"},decls:7,vars:5,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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,il,3,4,"div",4)(6,nl,3,4,"div",4),s()()),o&2&&(r(2),d("inlineSVG","/assets/hap-icons/light.svg"),V("aria-label","Light Sensor"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.CurrentAmbientLightLevel<1?5:-1),r(),g(i.service.values.CurrentAmbientLightLevel>=1?6:-1))},dependencies:[U,W,Ge],encapsulation:2})}return e})();var ol=e=>({"switch-on":e}),rl=(e,n)=>({"red-text":e,"grey-text":n});function al(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/lock-unlocked.svg"),V("aria-label","Unlocked"))}function sl(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/lock-locked.svg"),V("aria-label","Locked"))}function ll(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/unknown.svg"),V("aria-label","Error"))}function cl(e,n){if(e&1&&(_(0,"div",4),m(1,"translate")),e&2){let t=S();d("innerText",v(1,2,t.service.values.LockCurrentState?"accessories.control.locked":"accessories.control.unlocked"))("ngClass",fe(4,rl,!t.service.values.LockCurrentState,t.service.values.LockCurrentState))}}function pl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.jammed")))}function dl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.unknown")))}var vo=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("LockTargetState").setValue(this.service.values.LockTargetState?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-lockmechanism"]],inputs:{service:"service"},decls:10,vars:10,consts:[["appLongclick","","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","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),y("shortclick",function(){return i.onClick()}),a(1,"div",1),w(2,al,1,2,"div",2)(3,sl,1,2,"div",2)(4,ll,1,2,"div",2),a(5,"div",3),c(6),s(),w(7,cl,2,7,"div",4)(8,pl,3,3,"div",5)(9,dl,3,3,"div",5),s()()),o&2&&(d("ngClass",Y(8,ol,i.service.values.LockCurrentState===0)),r(2),g(i.service.values.LockCurrentState===0?2:-1),r(),g(i.service.values.LockCurrentState===1?3:-1),r(),g(i.service.values.LockCurrentState>1?4:-1),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.LockCurrentState<2?7:-1),r(),g(i.service.values.LockCurrentState===2?8:-1),r(),g(i.service.values.LockCurrentState===3?9:-1))},dependencies:[X,O,U,W,I],encapsulation:2})}return e})();var ml=(e,n)=>({"switch-on":e,"switch-off":n});function ul(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.detected")))}function vl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.not_detected")))}var fo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-motionsensor"]],inputs:{service:"service"},decls:7,vars:9,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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,ul,3,3,"div",4)(6,vl,3,3,"div",5),s()()),o&2&&(d("ngClass",fe(6,ml,i.service.values.MotionDetected,!i.service.values.MotionDetected)),r(2),d("inlineSVG","/assets/hap-icons/motionsensor.svg"),V("aria-label","Motion Sensor"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.MotionDetected?5:-1),r(),g(i.service.values.MotionDetected?-1:6))},dependencies:[O,U,W,I],styles:[".switch-off svg .motion_sensor_person, .switch-off svg .motion_sensor_trail_lines{fill:#e0e0e0} .switch-off svg .motion_sensor_trigger_lines{display:none} .switch-off svg .motion_sensor_background{fill:gray} body.dark-mode .switch-off svg .motion_sensor_person, body.dark-mode .switch-off svg .motion_sensor_trail_lines{fill:#2b2b2b}"]})}return e})();var fl=(e,n)=>({"switch-on":e,"switch-off":n});function gl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.detected")))}function hl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.not_detected")))}var go=(()=>{class e{service;constructor(){}onClick(){console.log("short click")}onLongClick(){console.log("long clicked")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-occupancysensor"]],inputs:{service:"service"},decls:7,vars:9,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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,gl,3,3,"div",4)(6,hl,3,3,"div",5),s()()),o&2&&(d("ngClass",fe(6,fl,i.service.values.OccupancyDetected,!i.service.values.OccupancyDetected)),r(2),d("inlineSVG","/assets/hap-icons/occupancysensor.svg"),V("aria-label","Occupancy Sensor"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.OccupancyDetected?5:-1),r(),g(i.service.values.OccupancyDetected?-1:6))},dependencies:[O,U,W,I],styles:[".switch-off svg .occupancy_sensor_person{fill:#e0e0e0} .switch-off svg .occupancy_sensor_trigger_lines{display:none} .switch-off svg .occupancy_sensor_background{fill:gray} body.dark-mode .switch-off svg .occupancy_sensor_person{fill:#2b2b2b}"]})}return e})();var Cl=e=>({"switch-on":e}),ho=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-outlet"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","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&&(a(0,"div",0),y("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),_(5,"div",4),m(6,"translate"),s()()),o&2&&(d("ngClass",Y(7,Cl,i.service.values.On)),r(2),d("inlineSVG","/assets/hap-icons/outlet.svg"),V("aria-label","Outlet"),r(2),C(i.service.customName||i.service.serviceName),r(),d("innerText",v(6,5,i.service.values.On?"accessories.control.on":"accessories.control.off")))},dependencies:[X,O,U,W,I],encapsulation:2})}return e})();var _l=["class","manage"],Co=(()=>{class e{$activeModal=N(pe);service;targetMode;constructor(){}ngOnInit(){this.targetMode=this.service.values.SecuritySystemTargetState}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("SecuritySystemTargetState").setValue(this.targetMode)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-securitysystem",8,"manage"]],inputs:{service:"service"},attrs:_l,decls:22,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center"],["role","group","aria-label","Security System Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"div",6)(9,"button",7),y("click",function(){return i.setTargetMode(0)}),c(10),m(11,"translate"),s(),a(12,"button",7),y("click",function(){return i.setTargetMode(1)}),c(13),m(14,"translate"),s(),a(15,"button",7),y("click",function(){return i.setTargetMode(2)}),c(16),m(17,"translate"),s(),a(18,"button",7),y("click",function(){return i.setTargetMode(3)}),c(19),m(20,"translate"),s()()(),_(21,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,14,"form.button_close")),r(6),Z("opacity",i.targetMode===0?"1":"0.75"),r(),M(" ",v(11,16,"accessories.control.home")," "),r(2),Z("opacity",i.targetMode===1?"1":"0.75"),r(),M(" ",v(14,18,"accessories.control.away")," "),r(2),Z("opacity",i.targetMode===2?"1":"0.75"),r(),M(" ",v(17,20,"accessories.control.night")," "),r(2),Z("opacity",i.targetMode===3?"1":"0.75"),r(),M(" ",v(20,22,"accessories.control.off")," "))},dependencies:[ce,I],encapsulation:2})}return e})();var Sl=e=>({"switch-on":e});function yl(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/securitysystem-active.svg"),V("aria-label","Armed"))}function xl(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/securitysystem-off.svg"),V("aria-label","Disarmed"))}function bl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.home")))}function Tl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.away")))}function Ml(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.night")))}function wl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.off")))}function kl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.triggered")))}var _o=(()=>{class e{$modal=N(de);service;constructor(){}onClick(){let t=this.$modal.open(Co,{size:"sm"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-securitysystem"]],inputs:{service:"service"},decls:11,vars:7,consts:[["appLongclick","","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"],[1,"accessory-label","red-text"]],template:function(o,i){if(o&1&&(a(0,"div",0),y("shortclick",function(){return i.onClick()}),a(1,"div",1),w(2,yl,1,2,"div",2)(3,xl,1,2,"div",2),a(4,"div",3),c(5),s(),w(6,bl,3,3,"div",4)(7,Tl,3,3,"div",4)(8,Ml,3,3,"div",4)(9,wl,3,3,"div",5)(10,kl,3,3,"div",5),s()()),o&2){let l;d("ngClass",Y(5,Sl,i.service.values.SecuritySystemCurrentState!==3)),r(2),g(i.service.values.SecuritySystemCurrentState!==3?2:-1),r(),g(i.service.values.SecuritySystemCurrentState===3?3:-1),r(2),C(i.service.customName||i.service.serviceName),r(),g((l=i.service.values.SecuritySystemCurrentState)===0?6:l===1?7:l===2?8:l===3?9:l===4?10:-1)}},dependencies:[X,O,U,W,I],encapsulation:2})}return e})();var El=(e,n)=>({"switch-on":e,"switch-off":n});function Vl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.detected")))}function Il(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.not_detected")))}var So=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-smokesensor"]],inputs:{service:"service"},decls:7,vars:9,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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,Vl,3,3,"div",4)(6,Il,3,3,"div",5),s()()),o&2&&(d("ngClass",fe(6,El,i.service.values.SmokeDetected,!i.service.values.SmokeDetected)),r(2),d("inlineSVG","/assets/hap-icons/smokesensor.svg"),V("aria-label","Smoke Sensor"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.SmokeDetected?5:-1),r(),g(i.service.values.SmokeDetected?-1:6))},dependencies:[O,U,W,I],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();function Dl(e,n){if(e&1){let t=Pe();a(0,"div")(1,"h5",9),c(2),m(3,"translate"),s(),a(4,"p"),c(5),s(),a(6,"nouislider",10),te("ngModelChange",function(i){re(t);let l=S();return ee(l.targetVolume.value,i)||(l.targetVolume.value=i),ae(i)}),y("ngModelChange",function(){re(t);let i=S();return ae(i.onVolumeStateChange())}),s()()}if(e&2){let t=S();r(2),C(v(3,6,"accessories.control.speaker_volume")),r(3),M("",t.targetVolume.value,"%"),r(),d("min",t.targetVolume.min)("max",t.targetVolume.max)("step",t.targetVolume.step),J("ngModel",t.targetVolume.value)}}var yo=(()=>{class e{$activeModal=N(pe);service;targetMode;targetVolume;targetVolumeChanged=new le;constructor(){this.targetVolumeChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)})}ngOnInit(){this.targetMode=this.service.values.Mute,this.loadTargetVolume()}loadTargetVolume(){let t=this.service.getCharacteristic("Volume");t&&(this.targetVolume={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Mute").setValue(this.targetMode)}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-speaker-manage"]],inputs:{service:"service"},decls:21,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center"],["role","group","aria-label","Speaker Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[1,"modal-footer"],[1,"mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"h5")(9,"strong"),c(10),m(11,"translate"),s()(),a(12,"div",6)(13,"button",7),y("click",function(){return i.setTargetMode(!1)}),c(14),m(15,"translate"),s(),a(16,"button",7),y("click",function(){return i.setTargetMode(!0)}),c(17),m(18,"translate"),s()(),w(19,Dl,7,8,"div"),s(),_(20,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,10,"form.button_close")),r(7),M(" ",v(11,12,i.service.values.Mute?"accessories.control.mute":"accessories.control.not_mute")," "),r(3),Z("opacity",i.targetMode?"0.75":"1"),r(),M(" ",v(15,14,"accessories.control.not_mute")," "),r(2),Z("opacity",i.targetMode?"1":"0.75"),r(),M(" ",v(18,16,"accessories.control.mute")," "),r(2),g(i.targetVolume?19:-1))},dependencies:[ce,ge,he,be,I],encapsulation:2})}return e})();var Pl=e=>({"switch-on":e});function Al(e,n){e&1&&(_(0,"div",4),m(1,"translate")),e&2&&d("innerText",v(1,1,"accessories.control.mute"))}function Bl(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=S();r(),M("",t.service.values.Volume,"%")}}function Hl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.not_mute")))}var xo=(()=>{class e{$modal=N(de);service;constructor(){}onClick(){this.service.getCharacteristic("Mute").setValue(!this.service.values.Mute)}onLongClick(){if("Volume"in this.service.values){let t=this.$modal.open(yo,{size:"sm"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-speaker"]],inputs:{service:"service"},decls:8,vars:9,consts:[["appLongclick","","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","red-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,Al,2,3,"div",4)(6,Bl,2,1,"div",5)(7,Hl,3,3,"div",5),s()()),o&2&&(d("ngClass",Y(7,Pl,!i.service.values.Mute)),r(2),d("inlineSVG","/assets/hap-icons/speaker.svg"),V("aria-label","Speaker"),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.Mute?5:-1),r(),g(i.service.values.Volume!==void 0&&!i.service.values.Mute?6:-1),r(),g(i.service.values.Volume===void 0&&!i.service.values.Mute?7:-1))},dependencies:[X,O,U,W,I],encapsulation:2})}return e})();var bo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-statelessprogrammableswitch"]],inputs:{service:"service"},decls:5,vars:3,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s()()()),o&2&&(r(2),d("inlineSVG","/assets/hap-icons/statelessprogrammableswitch.svg"),V("aria-label","Stateless Programmable Switch"),r(2),C(i.service.customName||i.service.serviceName))},dependencies:[U,W],encapsulation:2})}return e})();var Nl=e=>({"switch-on":e}),To=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-switch"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","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&&(a(0,"div",0),y("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),_(5,"div",4),m(6,"translate"),s()()),o&2&&(d("ngClass",Y(7,Nl,i.service.values.On)),r(2),d("inlineSVG","/assets/hap-icons/switch.svg"),V("aria-label","Switch"),r(2),C(i.service.customName||i.service.serviceName),r(),d("innerText",v(6,5,i.service.values.On?"accessories.control.on":"accessories.control.off")))},dependencies:[X,O,U,W,I],encapsulation:2})}return e})();var Ol=e=>({"switch-on":e});function Gl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.off")))}function Rl(e,n){if(e&1&&(a(0,"div",4),c(1),s()),e&2){let t=S();r(),C(t.channelList[t.service.values.ActiveIdentifier])}}var Mo=(()=>{class e{service;channelList={};constructor(){}ngOnInit(){for(let[,t]of Object.entries(this.service.linkedServices))this.channelList[t.values.Identifier]=t.values.ConfiguredName}onClick(){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-television"]],inputs:{service:"service"},decls:7,vars:8,consts:[["appLongclick","","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"]],template:function(o,i){o&1&&(a(0,"div",0),y("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),w(5,Gl,3,3,"div",4)(6,Rl,2,1,"div",4),s()()),o&2&&(d("ngClass",Y(6,Ol,i.service.values.Active)),r(2),d("inlineSVG","/assets/hap-icons/television.svg"),V("aria-label","Television"),r(2),M(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),g(i.service.values.Active?-1:5),r(),g(i.service.values.Active?6:-1))},dependencies:[X,O,U,W,I],encapsulation:2})}return e})();var wo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-temperaturesensor"]],inputs:{service:"service"},decls:7,vars:7,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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s()()()),o&2&&(r(2),d("innerText",_e(4,4,v(3,2,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"),r(4),C(i.service.customName||i.service.serviceName))},dependencies:[Ge,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;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 Ll=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),ko=(()=>{class e{$activeModal=N(pe);service;targetMode;targetTemperature;targetTemperatureChanged=new le;constructor(){this.targetTemperatureChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("TargetTemperature").setValue(this.targetTemperature.value)})}ngOnInit(){this.targetMode=this.service.values.TargetHeatingCoolingState,this.loadTargetTemperature()}loadTargetTemperature(){let t=this.service.getCharacteristic("TargetTemperature");this.targetTemperature={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep}}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHeatingCoolingState").setValue(this.targetMode)}onTemperatureStateChange(){this.targetTemperatureChanged.next(this.targetTemperature.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-thermostat-manage"]],inputs:{service:"service"},decls:33,vars:48,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center"],[1,"temperature-circle","mb-3",3,"innerText","ngClass"],["role","group","aria-label","Thermostat Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","btn-primary","mb-0","mx-0","px-0","py-2",3,"click"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5),_(8,"div",6),m(9,"convertTemp"),m(10,"number"),a(11,"div",7)(12,"button",8),y("click",function(){return i.setTargetMode(0)}),c(13),m(14,"translate"),s(),a(15,"button",8),y("click",function(){return i.setTargetMode(1)}),c(16),m(17,"translate"),s(),a(18,"button",8),y("click",function(){return i.setTargetMode(2)}),c(19),m(20,"translate"),s(),a(21,"button",8),y("click",function(){return i.setTargetMode(3)}),c(22),m(23,"translate"),s()(),a(24,"h5"),c(25),m(26,"translate"),s(),a(27,"p"),c(28),m(29,"convertTemp"),m(30,"number"),s(),a(31,"nouislider",9),te("ngModelChange",function(u){return ee(i.targetTemperature.value,u)||(i.targetTemperature.value=u),u}),y("ngModelChange",function(){return i.onTemperatureStateChange()}),s()(),_(32,"div",10),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,22,"form.button_close")),r(5),d("innerText",_e(10,26,v(9,24,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",ze(44,Ll,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)),r(4),Z("opacity",i.targetMode===0?"1":"0.75"),r(),M(" ",v(14,29,"accessories.control.off")," "),r(2),Z("opacity",i.targetMode===1?"1":"0.75"),r(),M(" ",v(17,31,"accessories.control.heat")," "),r(2),Z("opacity",i.targetMode===2?"1":"0.75"),r(),M(" ",v(20,33,"accessories.control.cool")," "),r(2),Z("opacity",i.targetMode===3?"1":"0.75"),r(),M(" ",v(23,35,"accessories.control.auto")," "),r(3),C(v(26,37,"accessories.control.target_temperature")),r(3),M("",_e(30,41,v(29,39,i.targetTemperature.value),"1.0-1"),"\xB0"),r(3),d("min",i.targetTemperature.min)("max",i.targetTemperature.max)("step",i.targetTemperature.step),J("ngModel",i.targetTemperature.value))},dependencies:[O,ce,ge,he,be,Ge,I,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;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}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;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 Fl=e=>({"switch-on":e}),jl=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function Wl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.off")))}function Ul(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"convertTemp"),m(3,"number"),s()),e&2){let t=S();r(),M(" ",_e(3,3,v(2,1,t.service.values.TargetTemperature),"1.0-1"),"\xB0 ")}}var Eo=(()=>{class e{$modal=N(de);service;model=1;constructor(){}onClick(){let t=this.$modal.open(ko,{size:"sm"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-thermostat"]],inputs:{service:"service"},decls:9,vars:17,consts:[["appLongclick","","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"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),_(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s(),w(7,Wl,3,3,"div",4)(8,Ul,4,6,"div",4),s()()),o&2&&(d("ngClass",Y(11,Fl,i.service.values.TargetHeatingCoolingState>0)),r(2),d("innerText",_e(4,8,v(3,6,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",ze(13,jl,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)),r(4),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.TargetHeatingCoolingState===0?7:-1),r(),g(i.service.values.TargetHeatingCoolingState?8:-1))},dependencies:[X,O,Ge,I,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;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}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;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 Vo=(()=>{class e{service;constructor(){}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&&(a(0,"div",0)(1,"div",1),_(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(r(2),d("inlineSVG","/assets/hap-icons/unknown.svg"),V("aria-label","Switch"),r(2),C(i.service.customName||i.service.serviceName),r(2),C(i.service.humanType))},dependencies:[U,W],encapsulation:2})}return e})();function zl(e,n){if(e&1&&(a(0,"option",8),c(1),s()),e&2){let t=n.$implicit;d("value",t.seconds),r(),C(t.label)}}var Io=(()=>{class e{$activeModal=N(pe);service;availableSetDurations=[];targetSetDuration;durationSeconds=[300,600,900,1200,1500,1800,2100,2400,2700,3e3,3300,3600];constructor(){}ngOnInit(){this.targetSetDuration=this.service.values.SetDuration,this.durationSeconds.includes(this.targetSetDuration)||this.durationSeconds.unshift(this.targetSetDuration),this.availableSetDurations=this.durationSeconds.map(t=>{let o=t<3600?new Date(t*1e3).toISOString().substring(14,19):new Date(t*1e3).toISOString().substring(11,19);return{seconds:t,label:o}})}onSetDurationChange(){this.service.getCharacteristic("SetDuration").setValue(this.targetSetDuration)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-valve-manage"]],inputs:{service:"service"},decls:16,vars:8,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"form-group"],[1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"div",6)(9,"label"),c(10),m(11,"translate"),s(),a(12,"select",7),te("ngModelChange",function(u){return ee(i.targetSetDuration,u)||(i.targetSetDuration=u),u}),y("change",function(){return i.onSetDurationChange()}),Ht(13,zl,2,2,"option",8,Bt),s()()(),_(15,"div",9),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName),r(),V("aria-label",v(4,4,"form.button_close")),r(7),C(v(11,6,"accessories.control.default_running_time")),r(2),J("ngModel",i.targetSetDuration),r(),Nt(i.availableSetDurations))},dependencies:[ce,xn,bn,yn,ge,he,I],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();var $l=(e,n)=>({"switch-on":e,"switch-off":n});function ql(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/valve-generic.svg"),V("aria-label","Valve"))}function Xl(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/valve-irrigation.svg"),V("aria-label","Valve"))}function Kl(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/valve-showerhead.svg"),V("aria-label","Valve"))}function Yl(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/valve-waterfaucet.svg"),V("aria-label","Valve"))}function Zl(e,n){if(e&1&&(a(0,"div",4),c(1),s()),e&2){let t=S();r(),C(t.remainingDuration)}}function Ql(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.running")))}function Jl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.off")))}var Do=(()=>{class e{$modal=N(de);service;secondsActive=0;remainingDuration;remainingDurationInterval=qi(1e3).pipe(At(()=>this.isActive()));remainingDurationSubscription;constructor(){}ngOnInit(){this.service.getCharacteristic("RemainingDuration")&&this.setupRemainingDurationCounter()}isActive(){return this.service&&this.service.values?this.service.getCharacteristic("Active").value===1?!0:(this.resetRemainingDuration(),!1):!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="")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){if(!this.service.getCharacteristic("SetDuration"))return;let t=this.$modal.open(Io,{size:"sm"});t.componentInstance.service=this.service}ngOnDestroy(){this.remainingDurationSubscription&&this.remainingDurationSubscription.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-valve"]],inputs:{service:"service"},decls:11,vars:12,consts:[["appLongclick","","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&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),w(2,ql,1,2,"div",2)(3,Xl,1,2,"div",2)(4,Kl,1,2,"div",2)(5,Yl,1,2,"div",2),a(6,"div",3),c(7),s(),w(8,Zl,2,1,"div",4)(9,Ql,3,3,"div",4)(10,Jl,3,3,"div",4),s()()),o&2&&(d("ngClass",fe(9,$l,i.service.values.Active,!i.service.values.Active)),r(2),g(i.service.values.ValveType===0?2:-1),r(),g(i.service.values.ValveType===1?3:-1),r(),g(i.service.values.ValveType===2?4:-1),r(),g(i.service.values.ValveType===3?5:-1),r(2),M(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),g(i.service.values.Active&&i.remainingDuration?8:-1),r(),g(i.service.values.Active&&!i.remainingDuration?9:-1),r(),g(i.service.values.Active?-1:10))},dependencies:[X,O,U,W,I],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();function ec(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.closed")))}function tc(e,n){if(e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2){let t=S(2);r(),ve(" ",t.service.values.CurrentPosition,"% ",v(2,2,"accessories.control.open")," ")}}function ic(e,n){e&1&&(a(0,"span"),c(1,"Open"),s())}function nc(e,n){if(e&1&&(a(0,"div"),w(1,ec,3,3,"span")(2,tc,3,4,"span")(3,ic,2,0,"span"),s()),e&2){let t=S();r(),g(t.service.values.CurrentPosition===0?1:-1),r(),g(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),g(t.service.values.CurrentPosition===100?3:-1)}}function oc(e,n){e&1&&(a(0,"div",6),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.opening"),"..."))}function rc(e,n){e&1&&(a(0,"div",6),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.closing"),"..."))}var Po=(()=>{class e{$activeModal=N(pe);service;targetMode;targetPosition;targetPositionChanged=new le;constructor(){this.targetPositionChanged.pipe(Te(300),De()).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()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-window-manage"]],inputs:{service:"service"},decls:18,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center","px-5"],[1,"red-text"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"h5")(9,"strong"),w(10,nc,4,3,"div")(11,oc,3,3,"div",6)(12,rc,3,3,"div",6),s()(),a(13,"p"),c(14),m(15,"translate"),s(),a(16,"nouislider",7),te("ngModelChange",function(u){return ee(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),y("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),_(17,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,11,"form.button_close")),r(7),g(i.service.values.PositionState===2?10:-1),r(),g(i.service.values.PositionState===1?11:-1),r(),g(i.service.values.PositionState===0?12:-1),r(2),ve("",v(15,13,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),d("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),J("ngModel",i.targetPosition.value))},dependencies:[be,ce,ge,he,I],styles:[".window-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var ac=e=>({"window-on":e});function sc(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/window-closed.svg"),V("aria-label","Window"))}function lc(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/window-open.svg"),V("aria-label","Window"))}function cc(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.closed")))}function pc(e,n){if(e&1&&(a(0,"span"),c(1),s()),e&2){let t=S(2);r(),M(" ",t.service.values.CurrentPosition,"% ")}}function dc(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.open")))}function mc(e,n){if(e&1&&(a(0,"div",4),w(1,cc,3,3,"span")(2,pc,2,1,"span")(3,dc,3,3,"span"),s()),e&2){let t=S();r(),g(t.service.values.CurrentPosition===0?1:-1),r(),g(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),g(t.service.values.CurrentPosition===100?3:-1)}}function uc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.opening"),"..."))}function vc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.closing"),"..."))}var Ao=(()=>{class e{$modal=N(de);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Po,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-window"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","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&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),w(2,sc,1,2,"div",2)(3,lc,1,2,"div",2),a(4,"div",3),c(5),s(),w(6,mc,4,3,"div",4)(7,uc,3,3,"div",5)(8,vc,3,3,"div",5),s()()),o&2&&(d("ngClass",Y(7,ac,i.service.values.TargetPosition)),r(2),g(i.service.values.TargetPosition?-1:2),r(),g(i.service.values.TargetPosition?3:-1),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.PositionState===2?6:-1),r(),g(i.service.values.PositionState===1?7:-1),r(),g(i.service.values.PositionState===0?8:-1))},dependencies:[X,O,U,W,I],styles:[".window-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function fc(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.closed")))}function gc(e,n){if(e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2){let t=S(2);r(),ve(" ",t.service.values.CurrentPosition,"% ",v(2,2,"accessories.control.open")," ")}}function hc(e,n){e&1&&(a(0,"span"),c(1,"Open"),s())}function Cc(e,n){if(e&1&&(a(0,"div"),w(1,fc,3,3,"span")(2,gc,3,4,"span")(3,hc,2,0,"span"),s()),e&2){let t=S();r(),g(t.service.values.CurrentPosition===0?1:-1),r(),g(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),g(t.service.values.CurrentPosition===100?3:-1)}}function _c(e,n){e&1&&(a(0,"div",6),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.opening"),"..."))}function Sc(e,n){e&1&&(a(0,"div",6),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.closing"),"..."))}var Bo=(()=>{class e{$activeModal=N(pe);service;targetMode;targetPosition;targetPositionChanged=new le;constructor(){this.targetPositionChanged.pipe(Te(300),De()).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()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-windowcovering-manage"]],inputs:{service:"service"},decls:18,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","text-center","px-5"],[1,"red-text"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),_(2,"h5",2),a(3,"button",3),m(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(5,"span",4),c(6,"\xD7"),s()()(),a(7,"div",5)(8,"h5")(9,"strong"),w(10,Cc,4,3,"div")(11,_c,3,3,"div",6)(12,Sc,3,3,"div",6),s()(),a(13,"p"),c(14),m(15,"translate"),s(),a(16,"nouislider",7),te("ngModelChange",function(u){return ee(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),y("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),_(17,"div",8),s()),o&2&&(r(2),d("innerText",i.service.customName||i.service.serviceName),r(),V("aria-label",v(4,11,"form.button_close")),r(7),g(i.service.values.PositionState===2?10:-1),r(),g(i.service.values.PositionState===1?11:-1),r(),g(i.service.values.PositionState===0?12:-1),r(2),ve("",v(15,13,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),d("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),J("ngModel",i.targetPosition.value))},dependencies:[be,ce,ge,he,I],styles:[".windowcovering-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var yc=e=>({"window-on":e});function xc(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/windowcovering-closed.svg"),V("aria-label","Window Covering"))}function bc(e,n){e&1&&_(0,"div",2),e&2&&(d("inlineSVG","/assets/hap-icons/windowcovering-open.svg"),V("aria-label","Window Covering"))}function Tc(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.closed")))}function Mc(e,n){if(e&1&&(a(0,"span"),c(1),s()),e&2){let t=S(2);r(),M(" ",t.service.values.CurrentPosition,"% ")}}function wc(e,n){e&1&&(a(0,"span"),c(1),m(2,"translate"),s()),e&2&&(r(),C(v(2,1,"accessories.control.open")))}function kc(e,n){if(e&1&&(a(0,"div",4),w(1,Tc,3,3,"span")(2,Mc,2,1,"span")(3,wc,3,3,"span"),s()),e&2){let t=S();r(),g(t.service.values.CurrentPosition===0?1:-1),r(),g(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),g(t.service.values.CurrentPosition===100?3:-1)}}function Ec(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.opening"),"..."))}function Vc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),M("",v(2,1,"accessories.control.closing"),"..."))}var Ho=(()=>{class e{$modal=N(de);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Bo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-windowcovering"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","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&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),w(2,xc,1,2,"div",2)(3,bc,1,2,"div",2),a(4,"div",3),c(5),s(),w(6,kc,4,3,"div",4)(7,Ec,3,3,"div",5)(8,Vc,3,3,"div",5),s()()),o&2&&(d("ngClass",Y(7,yc,i.service.values.TargetPosition)),r(2),g(i.service.values.TargetPosition?-1:2),r(),g(i.service.values.TargetPosition?3:-1),r(2),C(i.service.customName||i.service.serviceName),r(),g(i.service.values.PositionState===2?6:-1),r(),g(i.service.values.PositionState===1?7:-1),r(),g(i.service.values.PositionState===0?8:-1))},dependencies:[X,O,U,W,I],styles:[".windowcovering-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function Ic(e,n){e&1&&_(0,"i",7)}function Dc(e,n){e&1&&_(0,"i",8)}function Pc(e,n){if(e&1&&(a(0,"app-switch",9),c(1,"Switch"),s()),e&2){let t=S();d("service",t.service)}}function Ac(e,n){if(e&1&&(a(0,"app-thermostat",9),c(1,"Thermostat"),s()),e&2){let t=S();d("service",t.service)}}function Bc(e,n){if(e&1&&(a(0,"app-outlet",9),c(1,"Outlet"),s()),e&2){let t=S();d("service",t.service)}}function Hc(e,n){if(e&1&&(a(0,"app-fan",10),c(1,"Fan"),s()),e&2){let t=S();d("service",t.service)}}function Nc(e,n){if(e&1&&(a(0,"app-fanv2",10),c(1,"Fan"),s()),e&2){let t=S();d("service",t.service)}}function Oc(e,n){if(e&1&&(a(0,"app-airpurifier",10),c(1,"Air Purifier"),s()),e&2){let t=S();d("service",t.service)}}function Gc(e,n){if(e&1&&(a(0,"app-lightbulb",9),c(1,"Lightbulb"),s()),e&2){let t=S();d("service",t.service)}}function Rc(e,n){if(e&1&&(a(0,"app-lightsensor",9),c(1,"Light Sensor"),s()),e&2){let t=S();d("service",t.service)}}function Lc(e,n){if(e&1&&(a(0,"app-lockmechanism",9),c(1,"Lock Mechanism"),s()),e&2){let t=S();d("service",t.service)}}function Fc(e,n){if(e&1&&(a(0,"app-temperaturesensor",9),c(1,"Temperature Sensor"),s()),e&2){let t=S();d("service",t.service)}}function jc(e,n){if(e&1&&(a(0,"app-garagedooropener",9),c(1,"Garage Door Opener"),s()),e&2){let t=S();d("service",t.service)}}function Wc(e,n){if(e&1&&(a(0,"app-motionsensor",9),c(1,"Motion Sensor"),s()),e&2){let t=S();d("service",t.service)}}function Uc(e,n){if(e&1&&(a(0,"app-occupancysensor",9),c(1,"Occupancy Sensor"),s()),e&2){let t=S();d("service",t.service)}}function zc(e,n){if(e&1&&(a(0,"app-contactsensor",9),c(1,"Contact Sensor"),s()),e&2){let t=S();d("service",t.service)}}function $c(e,n){if(e&1&&(a(0,"app-humiditysensor",9),c(1,"Humidity Sensor"),s()),e&2){let t=S();d("service",t.service)}}function qc(e,n){if(e&1&&(a(0,"app-airqualitysensor",9),c(1,"Air Quality Sensor"),s()),e&2){let t=S();d("service",t.service)}}function Xc(e,n){if(e&1&&(a(0,"app-windowcovering",9),c(1,"Window Covering"),s()),e&2){let t=S();d("service",t.service)}}function Kc(e,n){if(e&1&&(a(0,"app-window",9),c(1,"Window"),s()),e&2){let t=S();d("service",t.service)}}function Yc(e,n){if(e&1&&(a(0,"app-door",9),c(1,"Door"),s()),e&2){let t=S();d("service",t.service)}}function Zc(e,n){if(e&1&&(a(0,"app-television",9),c(1,"Television"),s()),e&2){let t=S();d("service",t.service)}}function Qc(e,n){if(e&1&&(a(0,"app-battery",9),c(1,"Battery"),s()),e&2){let t=S();d("service",t.service)}}function Jc(e,n){if(e&1&&(a(0,"app-battery",9),c(1,"Battery"),s()),e&2){let t=S();d("service",t.service)}}function ep(e,n){if(e&1&&(a(0,"app-speaker",9),c(1,"Speaker"),s()),e&2){let t=S();d("service",t.service)}}function tp(e,n){if(e&1&&(a(0,"app-securitysystem",9),c(1,"Security System"),s()),e&2){let t=S();d("service",t.service)}}function ip(e,n){if(e&1&&(a(0,"app-leaksensor",9),c(1,"Leak Sensor"),s()),e&2){let t=S();d("service",t.service)}}function np(e,n){if(e&1&&(a(0,"app-smokesensor",9),c(1,"Smoke Sensor"),s()),e&2){let t=S();d("service",t.service)}}function op(e,n){if(e&1&&(a(0,"app-carbonmonoxidesensor",9),c(1,"Carbon Monoxide Sensor"),s()),e&2){let t=S();d("service",t.service)}}function rp(e,n){if(e&1&&(a(0,"app-carbondioxidesensor",9),c(1,"Carbon Monoxide Sensor"),s()),e&2){let t=S();d("service",t.service)}}function ap(e,n){if(e&1&&(a(0,"app-valve",9),c(1,"Valve"),s()),e&2){let t=S();d("service",t.service)}}function sp(e,n){if(e&1&&(a(0,"app-irrigationsystem",9),c(1,"Irrigation System"),s()),e&2){let t=S();d("service",t.service)}}function lp(e,n){if(e&1&&(a(0,"app-heatercooler",9),c(1,"Heater Cooler"),s()),e&2){let t=S();d("service",t.service)}}function cp(e,n){if(e&1&&(a(0,"app-humidifierdehumidifier",9),c(1,"Humidifier Dehumidifier"),s()),e&2){let t=S();d("service",t.service)}}function pp(e,n){if(e&1&&(a(0,"app-statelessprogrammableswitch",9),c(1,"Stateless Programmable Switch"),s()),e&2){let t=S();d("service",t.service)}}function dp(e,n){if(e&1&&(a(0,"app-unknown",9),c(1),s()),e&2){let t=S();d("service",t.service),r(),C(t.service.humanType)}}var r1=(()=>{class e{$accessories=N(wn);service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=T({type:e,selectors:[["app-accessory-tile"]],inputs:{service:"service"},decls:38,vars:36,consts:[[3,"ngSwitch"],["href","javascript:void(0)",1,"manage-accessory-button",3,"click"],["class","fas fa-fw fa-cog primary-text",4,"ngIf"],["class","fas fa-fw fa-spin fa-sync-alt refreshing-accessory-status-icon text-grey",4,"ngIf"],[3,"service",4,"ngSwitchCase"],["class","w-100",3,"service",4,"ngSwitchCase"],[3,"service",4,"ngSwitchDefault"],[1,"fas","fa-fw","fa-cog","primary-text"],[1,"fas","fa-fw","fa-spin","fa-sync-alt","refreshing-accessory-status-icon","text-grey"],[3,"service"],[1,"w-100",3,"service"]],template:function(o,i){o&1&&(rn(0,0),a(1,"a",1),y("click",function(){return i.$accessories.showAccessoryInformation(i.service)}),w(2,Ic,1,0,"i",2),s(),w(3,Dc,1,0,"i",3)(4,Pc,2,1,"app-switch",4)(5,Ac,2,1,"app-thermostat",4)(6,Bc,2,1,"app-outlet",4)(7,Hc,2,1,"app-fan",5)(8,Nc,2,1,"app-fanv2",5)(9,Oc,2,1,"app-airpurifier",5)(10,Gc,2,1,"app-lightbulb",4)(11,Rc,2,1,"app-lightsensor",4)(12,Lc,2,1,"app-lockmechanism",4)(13,Fc,2,1,"app-temperaturesensor",4)(14,jc,2,1,"app-garagedooropener",4)(15,Wc,2,1,"app-motionsensor",4)(16,Uc,2,1,"app-occupancysensor",4)(17,zc,2,1,"app-contactsensor",4)(18,$c,2,1,"app-humiditysensor",4)(19,qc,2,1,"app-airqualitysensor",4)(20,Xc,2,1,"app-windowcovering",4)(21,Kc,2,1,"app-window",4)(22,Yc,2,1,"app-door",4)(23,Zc,2,1,"app-television",4)(24,Qc,2,1,"app-battery",4)(25,Jc,2,1,"app-battery",4)(26,ep,2,1,"app-speaker",4)(27,tp,2,1,"app-securitysystem",4)(28,ip,2,1,"app-leaksensor",4)(29,np,2,1,"app-smokesensor",4)(30,op,2,1,"app-carbonmonoxidesensor",4)(31,rp,2,1,"app-carbondioxidesensor",4)(32,ap,2,1,"app-valve",4)(33,sp,2,1,"app-irrigationsystem",4)(34,lp,2,1,"app-heatercooler",4)(35,cp,2,1,"app-humidifierdehumidifier",4)(36,pp,2,1,"app-statelessprogrammableswitch",4)(37,dp,2,2,"app-unknown",6),an()),o&2&&(d("ngSwitch",i.service.type),r(2),d("ngIf",i.$accessories.readyForControl),r(),d("ngIf",!i.$accessories.readyForControl),r(),d("ngSwitchCase","Switch"),r(),d("ngSwitchCase","Thermostat"),r(),d("ngSwitchCase","Outlet"),r(),d("ngSwitchCase","Fan"),r(),d("ngSwitchCase","Fanv2"),r(),d("ngSwitchCase","AirPurifier"),r(),d("ngSwitchCase","Lightbulb"),r(),d("ngSwitchCase","LightSensor"),r(),d("ngSwitchCase","LockMechanism"),r(),d("ngSwitchCase","TemperatureSensor"),r(),d("ngSwitchCase","GarageDoorOpener"),r(),d("ngSwitchCase","MotionSensor"),r(),d("ngSwitchCase","OccupancySensor"),r(),d("ngSwitchCase","ContactSensor"),r(),d("ngSwitchCase","HumiditySensor"),r(),d("ngSwitchCase","AirQualitySensor"),r(),d("ngSwitchCase","WindowCovering"),r(),d("ngSwitchCase","Window"),r(),d("ngSwitchCase","Door"),r(),d("ngSwitchCase","Television"),r(),d("ngSwitchCase","Battery"),r(),d("ngSwitchCase","BatteryService"),r(),d("ngSwitchCase","Speaker"),r(),d("ngSwitchCase","SecuritySystem"),r(),d("ngSwitchCase","LeakSensor"),r(),d("ngSwitchCase","SmokeSensor"),r(),d("ngSwitchCase","CarbonMonoxideSensor"),r(),d("ngSwitchCase","CarbonDioxideSensor"),r(),d("ngSwitchCase","Valve"),r(),d("ngSwitchCase","IrrigationSystem"),r(),d("ngSwitchCase","HeaterCooler"),r(),d("ngSwitchCase","HumidifierDehumidifier"),r(),d("ngSwitchCase","StatelessProgrammableSwitch"))},dependencies:[pn,cn,dn,To,Eo,ho,Jn,to,Un,mo,uo,vo,wo,io,fo,go,Kn,so,zn,Ho,Ao,Zn,Mo,$n,xo,_o,co,So,Xn,qn,Do,lo,oo,ao,bo,mn,Vo],encapsulation:2})}return e})();var Ni=Tr(fr(),1),Ai=class{constructor(n,t,o){this.name=n,this.drake=t,this.options=o,this.initEvents=!1}},ne=function(e){return e.Cancel="cancel",e.Cloned="cloned",e.Drag="drag",e.DragEnd="dragend",e.Drop="drop",e.Out="out",e.Over="over",e.Remove="remove",e.Shadow="shadow",e.DropModel="dropModel",e.RemoveModel="removeModel",e}(ne||{}),Np=Object.keys(ne).map(e=>ne[e]),Op=Ni.default||Ni,Wt=class{constructor(n=Op){this.build=n}},vt=(e,n,t)=>o=>o.pipe(At(({event:i,name:l})=>i===e&&(n===void 0||l===n)),ni(({name:i,args:l})=>t(i,l))),Gp=(e,[n,t,o])=>({name:e,el:n,container:t,source:o}),Bi=(()=>{let n=class n{constructor(o){this.drakeFactory=o,this.groups={},this.dispatch$=new le,this.elContainerSource=i=>l=>this.dispatch$.pipe(vt(i,l,Gp)),this.cancel=this.elContainerSource(ne.Cancel),this.remove=this.elContainerSource(ne.Remove),this.shadow=this.elContainerSource(ne.Shadow),this.over=this.elContainerSource(ne.Over),this.out=this.elContainerSource(ne.Out),this.drag=i=>this.dispatch$.pipe(vt(ne.Drag,i,(l,[u,x])=>({name:l,el:u,source:x}))),this.dragend=i=>this.dispatch$.pipe(vt(ne.DragEnd,i,(l,[u])=>({name:l,el:u}))),this.drop=i=>this.dispatch$.pipe(vt(ne.Drop,i,(l,[u,x,E,D])=>({name:l,el:u,target:x,source:E,sibling:D}))),this.cloned=i=>this.dispatch$.pipe(vt(ne.Cloned,i,(l,[u,x,E])=>({name:l,clone:u,original:x,cloneType:E}))),this.dropModel=i=>this.dispatch$.pipe(vt(ne.DropModel,i,(l,[u,x,E,D,F,q,$,j,Ce])=>({name:l,el:u,target:x,source:E,sibling:D,item:F,sourceModel:q,targetModel:$,sourceIndex:j,targetIndex:Ce}))),this.removeModel=i=>this.dispatch$.pipe(vt(ne.RemoveModel,i,(l,[u,x,E,D,F,q])=>({name:l,el:u,container:x,source:E,item:D,sourceModel:F,sourceIndex:q}))),(this.drakeFactory===null||this.drakeFactory===void 0)&&(this.drakeFactory=new Wt)}add(o){if(this.find(o.name))throw new Error('Group named: "'+o.name+'" already exists.');return this.groups[o.name]=o,this.handleModels(o),this.setupEvents(o),o}find(o){return this.groups[o]}destroy(o){let i=this.find(o);i&&(i.drake&&i.drake.destroy(),delete this.groups[o])}createGroup(o,i){return this.add(new Ai(o,this.drakeFactory.build([],i),i))}handleModels({name:o,drake:i,options:l}){let u,x,E;i.on("remove",(D,F,q)=>{if(!i.models)return;let $=i.models[i.containers.indexOf(q)];$=$.slice(0);let j=$.splice(x,1)[0];this.dispatch$.next({event:ne.RemoveModel,name:o,args:[D,F,q,j,$,x]})}),i.on("drag",(D,F)=>{i.models&&(u=D,x=this.domIndexOf(D,F))}),i.on("drop",(D,F,q,$)=>{if(!i.models||!F)return;E=this.domIndexOf(D,F);let j=i.models[i.containers.indexOf(q)],Ce=i.models[i.containers.indexOf(F)],K;if(F===q)j=j.slice(0),K=j.splice(x,1)[0],j.splice(E,0,K),Ce=j;else{let B=u!==D;if(K=j[x],B){if(!l.copyItem)throw new Error("If you have enabled `copy` on a group, you must provide a `copyItem` function.");K=l.copyItem(K)}if(B||(j=j.slice(0),j.splice(x,1)),Ce=Ce.slice(0),Ce.splice(E,0,K),B)try{F.removeChild(D)}catch{}}this.dispatch$.next({event:ne.DropModel,name:o,args:[D,F,q,$,K,j,Ce,x,E]})})}setupEvents(o){if(o.initEvents)return;o.initEvents=!0;let i=o.name,l=this,u=x=>{switch(x){case ne.Drag:o.drake.on(x,(...E)=>{this.dispatch$.next({event:x,name:i,args:E})});break;case ne.Drop:o.drake.on(x,(...E)=>{this.dispatch$.next({event:x,name:i,args:E})});break;case ne.DragEnd:o.drake.on(x,(...E)=>{this.dispatch$.next({event:x,name:i,args:E})});break;case ne.Cancel:case ne.Remove:case ne.Shadow:case ne.Over:case ne.Out:o.drake.on(x,(...E)=>{this.dispatch$.next({event:x,name:i,args:E})});break;case ne.Cloned:o.drake.on(x,(...E)=>{this.dispatch$.next({event:x,name:i,args:E})});break;case ne.DropModel:o.drake.on(x,(...E)=>{this.dispatch$.next({event:x,name:i,args:E})});break;case ne.RemoveModel:o.drake.on(x,(...E)=>{this.dispatch$.next({event:x,name:i,args:E})});break;default:break}};Np.forEach(u)}domIndexOf(o,i){if(i)return Array.prototype.indexOf.call(i.children,o)}};n.\u0275fac=function(i){return new(i||n)(Ke(Wt,8))},n.\u0275prov=nt({token:n,factory:n.\u0275fac,providedIn:"root"});let e=n;return e})(),M1=(()=>{let n=class n{get container(){return this.el&&this.el.nativeElement}constructor(o,i){this.el=o,this.dragulaService=i,this.dragulaModelChange=new Ue}ngOnChanges(o){var i;if(o&&o.dragula){let{previousValue:l,currentValue:u,firstChange:x}=o.dragula,E=!!l,D=!!u;E&&this.teardown(l),D&&this.setup()}else if(o&&o.dragulaModel){let{previousValue:l,currentValue:u,firstChange:x}=o.dragulaModel,E=(i=this.group)==null?void 0:i.drake;if(this.dragula&&E){E.models=E.models||[];let D=E.models.indexOf(l);D!==-1?(E.models.splice(D,1),u&&E.models.splice(D,0,u)):u&&E.models.push(u)}}}setup(){var l;let o=u=>{var x,E,D;this.dragulaModel&&((x=u.drake)!=null&&x.models?(D=(E=u.drake)==null?void 0:E.models)==null||D.push(this.dragulaModel):u.drake&&(u.drake.models=[this.dragulaModel]))};if(!this.dragula)return;let i=this.dragulaService.find(this.dragula);if(!i){let u={};i=this.dragulaService.createGroup(this.dragula,u)}o(i),(l=i.drake)==null||l.containers.push(this.container),this.subscribe(this.dragula),this.group=i}subscribe(o){this.subs=new bi,this.subs.add(this.dragulaService.dropModel(o).subscribe(({source:i,target:l,sourceModel:u,targetModel:x})=>{i===this.el.nativeElement?this.dragulaModelChange.emit(u):l===this.el.nativeElement&&this.dragulaModelChange.emit(x)})),this.subs.add(this.dragulaService.removeModel(o).subscribe(({source:i,sourceModel:l})=>{i===this.el.nativeElement&&this.dragulaModelChange.emit(l)}))}teardown(o){var l,u;this.subs&&this.subs.unsubscribe();let i=this.dragulaService.find(o);if(i){let x=(l=i.drake)==null?void 0:l.containers.indexOf(this.el.nativeElement);if(x!==-1&&((u=i.drake)==null||u.containers.splice(x,1)),this.dragulaModel&&i.drake&&i.drake.models){let E=i.drake.models.indexOf(this.dragulaModel);E!==-1&&i.drake.models.splice(E,1)}}}ngOnDestroy(){this.dragula&&this.teardown(this.dragula)}};n.\u0275fac=function(i){return new(i||n)(ke(rt),ke(Bi))},n.\u0275dir=yt({type:n,selectors:[["","dragula",""]],inputs:{dragula:"dragula",dragulaModel:"dragulaModel"},outputs:{dragulaModelChange:"dragulaModelChange"},standalone:!1,features:[ot]});let e=n;return e})(),w1=(()=>{let n=class n{static forRoot(){return{ngModule:n,providers:[Bi]}}};n.\u0275fac=function(i){return new(i||n)},n.\u0275mod=St({type:n}),n.\u0275inj=_t({providers:[Bi]});let e=n;return e})(),k1=new Wt((e,n)=>new Hi(e,n)),Hi=class{constructor(n=[],t={},o){this.containers=n,this.options=t,this.models=o,this.emitter$=new le,this.subs=new bi,this.dragging=!1}on(n,t){this.subs.add(this.emitter$.pipe(At(({eventType:o})=>o===n)).subscribe(({eventType:o,args:i})=>{if(o===ne.Drag){let l=Array.from(i),u=l[0],x=l[1];t(u,x);return}if(o===ne.Drop){let l=Array.from(i),u=l[0],x=l[1],E=l[2],D=l[3];t(u,x,E,D);return}if(o===ne.Remove){let l=Array.from(i),u=l[0],x=l[1],E=l[2];t(u,x,E);return}t(i)}))}start(n){this.dragging=!0}end(){this.dragging=!1}cancel(n){this.dragging=!1}canMove(n){return this.options.accepts?this.options.accepts(n):!1}remove(){this.dragging=!1}destroy(){this.subs.unsubscribe()}emit(n,...t){this.emitter$.next({eventType:n,args:t})}};export{$e as a,Mn as b,wn as c,vd as d,On as e,Un as f,zn as g,qn as h,Xn as i,Kn as j,Yn as k,Zn as l,Qn as m,eo as n,io as o,no as p,ro as q,lo as r,co as s,po as t,mo as u,uo as v,vo as w,fo as x,go as y,ho as z,Co as A,_o as B,So as C,yo as D,xo as E,bo as F,To as G,Mo as H,ko as I,Vo as J,Io as K,Do as L,Po as M,Ao as N,Bo as O,Ho as P,r1 as Q,Bi as R,M1 as S,w1 as T};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Q as Y,R as Z,S as ee,T as te,c as X}from"./chunk-MP2566JB.js";import{a as U}from"./chunk-67EN4M44.js";import{m as J,n as K,o as Q}from"./chunk-J4I2UKEG.js";import{c as W,e as R,f as H,i as j,l as G,m as z,y as q}from"./chunk-UUOIJNVA.js";import{c as F}from"./chunk-33OXRXUC.js";import{b as L}from"./chunk-CBI3LF3A.js";import{b as T}from"./chunk-Q4VBD4HY.js";import{Bb as y,Cc as s,Dc as l,Lb as x,Mb as c,Wb as r,Xb as a,Yb as _,Zb as E,_b as B,ac as A,bd as P,cd as V,dc as v,dd as N,ec as p,ed as O,ib as o,na as f,oc as d,pc as u,qc as w,tc as M,ub as C,uc as S,vc as k,xa as b,xc as $,ya as h,yc as D}from"./chunk-NHJLTSH3.js";var re=()=>({standalone:!0}),oe=(()=>{class t{$activeModal=f(J);roomName;constructor(){}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=C({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:30,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],["role","alert",1,"alert"],[1,"md-form"],["type","text","id","form-name","autofocus","",1,"form-control","px-0",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],["for","form-name"],[1,"fas","fa-fw","fa-home"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),a(),r(6,"button",3),s(7,"translate"),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),r(8,"span",4),d(9,"\xD7"),a()()(),r(10,"div",5)(11,"div",6),d(12),s(13,"translate"),a(),r(14,"div",7)(15,"input",8),k("ngModelChange",function(I){return S(i.roomName,I)||(i.roomName=I),I}),v("keyup.enter",function(){return i.$activeModal.close(i.roomName)}),a(),r(16,"label",9),_(17,"i",10),d(18),s(19,"translate"),a()()(),r(20,"div",11)(21,"div",12)(22,"button",13),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),d(23),s(24,"translate"),a()(),_(25,"div",14),r(26,"div",15)(27,"button",16),v("click",function(){return i.$activeModal.close(i.roomName)}),d(28),s(29,"translate"),a()()()()()),n&2&&(o(4),u(l(5,8,"accessories.button_add_room")),o(2),x("aria-label",l(7,10,"form.button_close")),o(6),u(l(13,12,"accessories.rooms_not_appear_in_homekit")),o(3),M("ngModel",i.roomName),c("ngModelOptions",$(20,re)),o(3),w(" ",l(19,14,"accessories.room_name")," "),o(5),w(" ",l(24,16,"form.button_close")," "),o(5),w(" ",l(29,18,"form.button_save")," "))},dependencies:[q,z,W,R,H,G,j,T],encapsulation:2})}return t})();var ne=(()=>{class t{constructor(){}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=C({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(n,i){n&1&&(r(0,"div",0),_(1,"i",1),r(2,"div",2),d(3),s(4,"translate"),a()()),n&2&&(o(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[T],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var ae=t=>({"cursor-move":t});function se(t,g){if(t&1&&(r(0,"div",19)(1,"div",20)(2,"h5",21),d(3),s(4,"translate"),a()()()),t&2){let e=p().$implicit,n=p(2);o(2),c("ngClass",D(4,ae,!n.isMobile)),o(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function le(t,g){if(t&1&&(E(0),_(1,"app-accessory-tile",26),B()),t&2){let e=p().$implicit;o(),c("service",e)}}function ce(t,g){if(t&1&&(r(0,"div",25),y(1,le,2,1,"ng-container",0),a()),t&2){let e=g.$implicit,n=p(4);c("ngSwitch",e.type),o(),c("ngIf",!n.hideHidden||!e.hidden)}}function de(t,g){if(t&1){let e=A();r(0,"div",22),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),y(1,ce,2,2,"div",23),_(2,"div",24)(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24)(13,"div",24)(14,"div",24)(15,"div",24)(16,"div",24),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services),o(),c("ngForOf",e.services)}}function pe(t,g){if(t&1){let e=A();r(0,"div",27),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),_(1,"app-drag-here-placeholder",28),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services)}}function me(t,g){if(t&1&&(r(0,"div"),y(1,se,5,6,"div",15),r(2,"div",16),y(3,de,17,3,"div",17)(4,pe,2,2,"div",18),a()()),t&2){let e=g.$implicit,n=p(2);o(),c("ngIf",!n.isMobile||e.services.length),o(2),c("ngIf",e.services.length),o(),c("ngIf",!e.services.length&&!n.isMobile)}}function _e(t,g){if(t&1){let e=A();r(0,"div")(1,"div",1)(2,"div",2)(3,"h3",3),d(4),s(5,"translate"),a()(),r(6,"div",4)(7,"div",5)(8,"button",6),s(9,"translate"),s(10,"translate"),v("click",function(){b(e);let i=p();return h(i.addRoom())}),_(11,"i",7),a()(),r(12,"div",5)(13,"button",6),s(14,"translate"),s(15,"translate"),s(16,"translate"),s(17,"translate"),v("click",function(){b(e);let i=p();return h(i.hideHidden=!i.hideHidden)}),_(18,"i",8),a()(),r(19,"div",5)(20,"button",9),s(21,"translate"),s(22,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(23,"i",10),a(),r(24,"button",11),s(25,"translate"),s(26,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(27,"i",12),a()()()(),r(28,"div",13),k("dragulaModelChange",function(i){b(e);let m=p();return S(m.$accessories.rooms,i)||(m.$accessories.rooms=i),h(i)}),y(29,me,5,3,"div",14),a()()}if(t&2){let e=p();o(4),u(l(5,17,"accessories.title_accessories")),o(4),c("hidden",e.isMobile)("ngbTooltip",l(9,19,"accessories.button_add_room")),x("aria-label",l(10,21,"accessories.button_add_room")),o(5),c("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(14,23,"accessories.button_hidden_show"):l(15,25,"accessories.button_hidden_hide")),x("aria-label",e.hideHidden?l(16,27,"accessories.button_hidden_show"):l(17,29,"accessories.button_hidden_hide")),o(5),c("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),o(2),c("disabled",!e.isMobile)("ngbTooltip",l(21,31,"form.button_unlock")),x("aria-label",l(22,33,"form.button_unlock")),o(4),c("disabled",e.isMobile)("ngbTooltip",l(25,35,"form.button_lock")),x("aria-label",l(26,37,"form.button_lock")),o(4),c("dragula","rooms-bag"),M("dragulaModel",e.$accessories.rooms),o(),c("ngForOf",e.$accessories.rooms)}}function ue(t,g){t&1&&(r(0,"p",37),d(1),s(2,"translate"),a()),t&2&&(o(),u(l(2,1,"accessories.settings_link")))}function ge(t,g){if(t&1&&(r(0,"div")(1,"div",19)(2,"div",29)(3,"h3",30),d(4),s(5,"translate"),a()(),r(6,"div",31)(7,"div",32)(8,"h4",33),d(9),s(10,"translate"),a(),r(11,"div")(12,"p"),d(13),s(14,"translate"),a(),r(15,"p",34)(16,"span"),d(17),s(18,"translate"),a(),r(19,"a",35),d(20," https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control "),a(),r(21,"span"),d(22),s(23,"translate"),a()(),y(24,ue,3,3,"p",36),a()()()()()),t&2){let e=p();o(4),u(l(5,6,"accessories.title_accessories")),o(5),u(l(10,8,"accessories.control_disabled")),o(4),u(l(14,10,"accessories.message_must_use_insecure_mode")),o(4),u(l(18,12,"accessories.message_please_see")),o(5),u(l(23,14,"accessories.message_for_more_information")),o(2),c("ngIf",e.$auth.user.admin)}}var We=(()=>{class t{$auth=f(F);dragulaService=f(Z);$modal=f(K);$settings=f(L);$md=f(U);$accessories=f(X);isMobile=!1;hideHidden=!0;orderSubscription;constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(n,i,m)=>!this.isMobile&&m.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:n=>!this.isMobile&&!n.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),window.localStorage.getItem("accessories-layout-locked")&&(this.isMobile=!0)}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(oe,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(n=>n.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?window.localStorage.setItem("accessories-layout-locked","yes"):window.localStorage.removeItem("accessories-layout-locked")}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=C({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-sm-6"],[1,"primary-text","m-0"],[1,"col-sm-6","text-right","d-none","d-sm-block"],["role","group",1,"btn-group"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[4,"ngFor","ngForOf"],["class","row",4,"ngIf"],[1,"row","mb-4"],["class","col-md-12 d-flex flex-wrap justify-content-between noselect services-bag",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],["class","col-md-12 d-flex flex-wrap noselect",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],[1,"row"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],["class","accessory-item accessory-tab",3,"ngSwitch",4,"ngFor","ngForOf"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab",3,"ngSwitch"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"primary-text","mb-3","mt-0"],[1,"mb-0"],["target","_blank","rel","noopener noreferrer","href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control"],["class","mt-3 mb-0",4,"ngIf"],[1,"mt-3","mb-0"]],template:function(n,i){n&1&&y(0,_e,30,39,"div",0)(1,ge,25,16,"div",0),n&2&&(c("ngIf",i.$settings.env.enableAccessories),o(),c("ngIf",!i.$settings.env.enableAccessories))},dependencies:[N,Q,P,te,ee,V,O,Y,ne,T],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{oe as a,We as b};
|