homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
67 lines • 516 kB
JavaScript
import{a as Rn}from"./chunk-V7JOHLGY.js";import{a as Dn}from"./chunk-GXCQWWJO.js";import{A as Fn,B as Ln,C as Nn,g as Pn,k as An,l as On,m as In,n as Vn}from"./chunk-NAG4LCT2.js";import{s as Hn,t as ei}from"./chunk-CG4JSQF7.js";import{s as Xt,t as ee}from"./chunk-YATM6BZO.js";import{a as Xe}from"./chunk-XPK2EQJA.js";import{c as kn}from"./chunk-2GN26TCR.js";import{C as de,a as Mn,b as Tn,c as bn,e as pe,l as me,t as Bn,u as wn,w as En}from"./chunk-ORSKS7BY.js";import{b as Te}from"./chunk-4NRNA47I.js";import{C as yn,D as E,F as Ie,I as Sn,g as Re,i as xn,j as Pe}from"./chunk-QCMOCU6Q.js";import{Ab as h,Cb as it,Db as $e,Dc as l,Eb as Ue,Ec as c,F as rn,Fb as T,Fc as ue,Gb as a,Hb as d,I as an,Ib as g,Jb as C,Kb as y,Lb as O,Lc as te,Mb as vn,Nb as hn,Oc as bi,P as sn,Pc as P,Q as ln,R as Lt,Sb as j,Sc as Jt,Ta as qe,Tb as Ee,W as cn,X as Kt,Xb as k,Ya as o,Yb as ve,Zb as m,_ as Qt,aa as w,d as Z,ea as J,ga as I,gb as fn,ha as V,hb as Zt,hc as dt,ia as F,ic as M,ja as L,jc as pt,kc as p,lb as X,lc as _,ma as ct,mb as B,mc as f,n as tn,nc as R,oa as Ct,ob as gn,oc as Ze,pa as dn,pb as tt,pc as Cn,qc as Mt,rb as re,rc as z,sa as Le,sc as Y,tc as K,va as pn,w as nn,wa as mn,x as Yt,xa as oe,xb as S,xc as _n,yc as De,z as on,za as un,zb as v}from"./chunk-ZMC752RO.js";import{a as st,b as lt,h as se}from"./chunk-B4AJQJMI.js";var jn={AccessoryFlags:{1:"REQUIRES_ADDITIONAL_SETUP_BIT_MASK"},Active:{0:"INACTIVE",1:"ACTIVE"},AirParticulateSize:{0:"_2_5_M",1:"_10_M"},AirQuality:{0:"UNKNOWN",1:"EXCELLENT",2:"GOOD",3:"FAIR",4:"INFERIOR",5:"POOR"},CameraOperatingModeIndicator:{0:"DISABLE",1:"ENABLE"},CarbonDioxideDetected:{0:"CO2_LEVELS_NORMAL",1:"CO2_LEVELS_ABNORMAL"},CarbonMonoxideDetected:{0:"CO_LEVELS_NORMAL",1:"CO_LEVELS_ABNORMAL"},ChargingState:{0:"NOT_CHARGING",1:"CHARGING",2:"NOT_CHARGEABLE"},ClosedCaptions:{0:"DISABLED",1:"ENABLED"},ContactSensorState:{0:"CONTACT_DETECTED",1:"CONTACT_NOT_DETECTED"},CurrentAirPurifierState:{0:"INACTIVE",1:"IDLE",2:"PURIFYING_AIR"},CurrentDoorState:{0:"OPEN",1:"CLOSED",2:"OPENING",3:"CLOSING",4:"STOPPED"},CurrentFanState:{0:"INACTIVE",1:"IDLE",2:"BLOWING_AIR"},CurrentHeaterCoolerState:{0:"INACTIVE",1:"IDLE",2:"HEATING",3:"COOLING"},CurrentHeatingCoolingState:{0:"OFF",1:"HEAT",2:"COOL"},CurrentHumidifierDehumidifierState:{0:"INACTIVE",1:"IDLE",2:"HUMIDIFYING",3:"DEHUMIDIFYING"},CurrentMediaState:{0:"PLAY",1:"PAUSE",2:"STOP",4:"LOADING",5:"INTERRUPTED"},CurrentSlatState:{0:"FIXED",1:"JAMMED",2:"SWINGING"},CurrentVisibilityState:{0:"SHOWN",1:"HIDDEN"},EventSnapshotsActive:{0:"DISABLE",1:"ENABLE"},FilterChangeIndication:{0:"FILTER_OK",1:"CHANGE_FILTER"},HomeKitCameraActive:{0:"OFF",1:"ON"},InputDeviceType:{0:"OTHER",1:"TV",2:"RECORDING",3:"TUNER",4:"PLAYBACK",5:"AUDIO_SYSTEM"},InputSourceType:{0:"OTHER",1:"HOME_SCREEN",2:"TUNER",3:"HDMI",4:"COMPOSITE_VIDEO",5:"S_VIDEO",6:"COMPONENT_VIDEO",7:"DVI",8:"AIRPLAY",9:"USB",10:"APPLICATION"},InUse:{0:"NOT_IN_USE",1:"IN_USE"},IsConfigured:{0:"NOT_CONFIGURED",1:"CONFIGURED"},LeakDetected:{0:"LEAK_NOT_DETECTED",1:"LEAK_DETECTED"},LockCurrentState:{0:"UNSECURED",1:"SECURED",2:"JAMMED",3:"UNKNOWN"},LockLastKnownAction:{0:"SECURED_PHYSICALLY_INTERIOR",1:"UNSECURED_PHYSICALLY_INTERIOR",2:"SECURED_PHYSICALLY_EXTERIOR",3:"UNSECURED_PHYSICALLY_EXTERIOR",4:"SECURED_BY_KEYPAD",5:"UNSECURED_BY_KEYPAD",6:"SECURED_REMOTELY",7:"UNSECURED_REMOTELY",8:"SECURED_BY_AUTO_SECURE_TIMEOUT",9:"SECURED_PHYSICALLY",10:"UNSECURED_PHYSICALLY"},LockPhysicalControls:{0:"CONTROL_LOCK_DISABLED",1:"CONTROL_LOCK_ENABLED"},LockTargetState:{0:"UNSECURED",1:"SECURED"},ManagedNetworkEnable:{0:"DISABLED",1:"ENABLED"},ManuallyDisabled:{0:"ENABLED",1:"DISABLED"},OccupancyDetected:{0:"OCCUPANCY_NOT_DETECTED",1:"OCCUPANCY_DETECTED"},PeriodicSnapshotsActive:{0:"DISABLE",1:"ENABLE"},PictureMode:{0:"OTHER",1:"STANDARD",2:"CALIBRATED",3:"CALIBRATED_DARK",4:"VIVID",5:"GAME",6:"COMPUTER",7:"CUSTOM"},PositionState:{0:"DECREASING",1:"INCREASING",2:"STOPPED"},PowerModeSelection:{0:"SHOW",1:"HIDE"},ProgrammableSwitchEvent:{0:"SINGLE_PRESS",1:"DOUBLE_PRESS",2:"LONG_PRESS"},ProgramMode:{0:"NO_PROGRAM_SCHEDULED",1:"PROGRAM_SCHEDULED",2:"PROGRAM_SCHEDULED_MANUAL_MODE"},RecordingAudioActive:{0:"DISABLE",1:"ENABLE"},RemoteKey:{0:"REWIND",1:"FAST_FORWARD",2:"NEXT_TRACK",3:"PREVIOUS_TRACK",4:"ARROW_UP",5:"ARROW_DOWN",6:"ARROW_LEFT",7:"ARROW_RIGHT",8:"SELECT",9:"BACK",10:"EXIT",11:"PLAY_PAUSE",15:"INFORMATION"},RotationDirection:{0:"CLOCKWISE",1:"COUNTER_CLOCKWISE"},RouterStatus:{0:"READY",1:"NOT_READY"},SecuritySystemAlarmType:{0:"NO_ALARM",1:"UNKNOWN"},SecuritySystemCurrentState:{0:"STAY_ARM",1:"AWAY_ARM",2:"NIGHT_ARM",3:"DISARMED",4:"ALARM_TRIGGERED"},SecuritySystemTargetState:{0:"STAY_ARM",1:"AWAY_ARM",2:"NIGHT_ARM",3:"DISARM"},ServiceLabelNamespace:{0:"DOTS",1:"ARABIC_NUMERALS"},SiriInputType:{0:"PUSH_BUTTON_TRIGGERED_APPLE_TV"},SlatType:{0:"HORIZONTAL",1:"VERTICAL"},SleepDiscoveryMode:{0:"NOT_DISCOVERABLE",1:"ALWAYS_DISCOVERABLE"},SmokeDetected:{0:"SMOKE_NOT_DETECTED",1:"SMOKE_DETECTED"},StatusFault:{0:"NO_FAULT",1:"GENERAL_FAULT"},StatusJammed:{0:"NOT_JAMMED",1:"JAMMED"},StatusLowBattery:{0:"BATTERY_LEVEL_NORMAL",1:"BATTERY_LEVEL_LOW"},StatusTampered:{0:"NOT_TAMPERED",1:"TAMPERED"},SwingMode:{0:"SWING_DISABLED",1:"SWING_ENABLED"},TargetAirPurifierState:{0:"MANUAL",1:"AUTO"},TargetDoorState:{0:"OPEN",1:"CLOSED"},TargetFanState:{0:"MANUAL",1:"AUTO"},TargetHeaterCoolerState:{0:"AUTO",1:"HEAT",2:"COOL"},TargetHeatingCoolingState:{0:"OFF",1:"HEAT",2:"COOL",3:"AUTO"},TargetHumidifierDehumidifierState:{0:"HUMIDIFIER_OR_DEHUMIDIFIER",1:"HUMIDIFIER",2:"DEHUMIDIFIER"},TargetMediaState:{0:"PLAY",1:"PAUSE",2:"STOP"},TargetVisibilityState:{0:"SHOWN",1:"HIDDEN"},TemperatureDisplayUnits:{0:"CELSIUS",1:"FAHRENHEIT"},ThirdPartyCameraActive:{0:"OFF",1:"ON"},ValveType:{0:"GENERIC_VALVE",1:"IRRIGATION",2:"SHOWER_HEAD",3:"WATER_FAUCET"},VolumeControlType:{0:"NONE",1:"RELATIVE",2:"RELATIVE_WITH_CURRENT",3:"ABSOLUTE"},VolumeSelector:{0:"INCREMENT",1:"DECREMENT"},WiFiSatelliteStatus:{0:"UNKNOWN",1:"CONNECTED",2:"NOT_CONNECTED"}};var mt=(()=>{class t{transform(e){if(typeof e!="number")return e;let n=1e6/e,i=Math.round(e),s=Math.round(n);return`${i}M (${s}K)`}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=tt({name:"convertMired",type:t,pure:!0})}return t})();var Ve=(()=>{class t{$settings=w(Te);transform(e,n=this.$settings.env.temperatureUnits){return n==="f"?Math.round((e*1.8+32)*10)/10:Math.round(e*10)/10}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=tt({name:"convertTemp",type:t,pure:!0})}return t})();var $n=(()=>{class t{transform(e){return typeof e!="string"?e:e.replace(Pn," ").replace(In,"$1 $2").toLowerCase().replace(Vn,n=>n.toUpperCase()).trim()}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=tt({name:"prettify",type:t,pure:!0})}return t})();var Un=(()=>{class t{transform(e){return typeof e!="string"||!e?e:`accessories.core.${e.replace(An,i=>i.toLowerCase()).replace(On,i=>`_${i.toLowerCase()}`)}`}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=tt({name:"serviceToTranslationString",type:t,pure:!0})}return t})();var Aa=(t,r)=>r.name,Oa=(t,r)=>r.key;function Ia(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" (",c(1,1,"settings.display.menu_default"),") ")}function Va(t,r){if(t&1&&(a(0,"option",30),p(1),l(2,"serviceToTranslationString"),l(3,"translate"),v(4,Ia,2,3),d()),t&2){let e=r.$implicit,n=m(2);T("value",e),o(),f(" ",c(3,5,c(2,3,e))," "),o(3),h(n.isDefaultType(e)?4:-1)}}function Fa(t,r){if(t&1){let e=j();a(0,"li",8)(1,"label",28),p(2),l(3,"translate"),d(),a(4,"div",10)(5,"select",29),K("ngModelChange",function(i){I(e);let s=m();return Y(s.localService.customType,i)||(s.localService.customType=i),V(i)}),$e(6,Va,5,7,"option",30,it),d()()()}if(t&2){let e=m();o(2),_(c(3,2,"accessories.custom_type")),o(3),z("ngModel",e.localService.customType),o(),Ue(e.customTypeList.sort())}}function La(t,r){if(t&1){let e=j();a(0,"li",12)(1,"span",13),p(2),l(3,"translate"),d(),a(4,"div",14)(5,"input",31),l(6,"translate"),K("ngModelChange",function(i){I(e);let s=m();return Y(s.localService.onDashboard,i)||(s.localService.onDashboard=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onDashboardChange())}),d(),g(7,"label",32),d()()}if(t&2){let e=m();o(2),_(c(3,3,"accessories.show_on_dashboard")),o(3),z("ngModel",e.localService.onDashboard),S("aria-label",c(6,5,"accessories.show_on_dashboard"))}}function Na(t,r){if(t&1&&(a(0,"small"),p(1),d()),t&2){let e=m().$implicit,n=m(3);o(),_(n.JSON.stringify(e.value,null,2))}}function Ha(t,r){if(t&1&&p(0),t&2){let e=m().$implicit;f(" ",e.value," ")}}function Ra(t,r){if(t&1&&(a(0,"li",34)(1,"span",35),p(2),l(3,"prettify"),d(),a(4,"span",22),v(5,Na,2,1,"small")(6,Ha,1,1),d()()),t&2){let e=r.$implicit;o(2),_(c(3,2,e.key)),o(3),h(typeof e.value=="object"?5:6)}}function ja(t,r){if(t&1&&(a(0,"li",18)(1,"span",33),p(2),l(3,"prettify"),d()(),$e(4,Ra,7,4,"li",34,Oa),l(6,"keyvalue")),t&2){let e=r.$implicit;o(2),_(c(3,1,e.name)),o(2),Ue(c(6,3,e.attributes))}}function $a(t,r){if(t&1&&(a(0,"li",18)(1,"h6",19),p(2),l(3,"translate"),d()(),$e(4,ja,7,5,null,null,Aa)),t&2){let e=m();o(2),_(c(3,1,"accessories.service_info")),o(2),Ue(e.clusterInfo)}}function Ua(t,r){if(t&1){let e=j();a(0,"span",42),k("click",function(){I(e);let i=m().$implicit,s=m(2);return V(s.toggleDetailsVisibility(i))})("keydown.enter",function(){I(e);let i=m().$implicit,s=m(2);return V(s.toggleDetailsVisibility(i))}),p(1),d()}if(t&2){let e=m().$implicit,n=m(2);S("aria-expanded",n.isDetailsVisible[e.uuid]),o(),_(e.description)}}function Wa(t,r){if(t&1&&(a(0,"span",38),p(1),d()),t&2){let e=m().$implicit;o(),_(e.description)}}function Ga(t,r){if(t&1&&(a(0,"div"),p(1),d()),t&2){let e=m(2).$implicit;o(),f("Step: ",e.minStep)}}function qa(t,r){if(t&1&&(a(0,"div"),p(1),d()),t&2){let e=m(2).$implicit;o(),f("Min: ",e.minValue)}}function za(t,r){if(t&1&&(a(0,"div"),p(1),d()),t&2){let e=m(2).$implicit;o(),f("Max: ",e.maxValue)}}function Ya(t,r){t&1&&p(0," \xB7 ")}function Ka(t,r){if(t&1&&(p(0),v(1,Ya,1,0)),t&2){let e=r.$implicit,n=r.$index,i=r.$count;f(" ",e," "),o(),h(n!==i-1?1:-1)}}function Qa(t,r){if(t&1&&(a(0,"div"),p(1," Valid: "),$e(2,Ka,2,2,null,null,it),d()),t&2){let e=m(2).$implicit;o(2),Ue(e.validValues)}}function Za(t,r){if(t&1&&(a(0,"div",39),v(1,Ga,2,1,"div"),v(2,qa,2,1,"div"),v(3,za,2,1,"div"),v(4,Qa,4,0,"div"),d()),t&2){let e=m().$implicit;o(),h("minStep"in e?1:-1),o(),h("minValue"in e?2:-1),o(),h("maxValue"in e?3:-1),o(),h("validValues"in e?4:-1)}}function Ja(t,r){t&1&&p(0," Value: ")}function Xa(t,r){if(t&1&&p(0),t&2){let e=m().$implicit;f(" ",e.value,"% ")}}function e0(t,r){if(t&1&&(p(0),l(1,"convertTemp")),t&2){let e=m().$implicit,n=m(2);f(" ",c(1,1,n.Number(e.value)),"\xB0 ")}}function t0(t,r){if(t&1&&(p(0),l(1,"convertMired")),t&2){let e=m(2).$implicit;f(" ",c(1,1,e.value)," ")}}function i0(t,r){if(t&1&&p(0),t&2){let e=m(2).$implicit;f(" ",e.value," ")}}function n0(t,r){if(t&1&&v(0,t0,2,3)(1,i0,1,1),t&2){let e,n=m().$implicit;h((e=n.type)==="ColorTemperature"?0:1)}}function o0(t,r){if(t&1&&(p(0),l(1,"prettify")),t&2){let e=m().$implicit,n=m(2);f(" (",c(1,1,n.enums[e.type][e.value]),") ")}}function r0(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m().$implicit;f(" (",c(1,1,e.value?"status.widget.info.yes":"status.widget.info.no"),") ")}}function a0(t,r){if(t&1&&p(0),t&2){let e=m().$implicit;f(" ",e.value,"% ")}}function s0(t,r){if(t&1&&(p(0),l(1,"convertTemp")),t&2){let e=m().$implicit,n=m(2);f(" ",c(1,1,n.Number(e.value)),"\xB0 ")}}function l0(t,r){if(t&1&&(p(0),l(1,"convertMired")),t&2){let e=m(2).$implicit;f(" ",c(1,1,e.value)," ")}}function c0(t,r){if(t&1&&p(0),t&2){let e=m(2).$implicit;f(" ",e.value," ")}}function d0(t,r){if(t&1&&v(0,l0,2,3)(1,c0,1,1),t&2){let e,n=m().$implicit;h((e=n.type)==="ColorTemperature"?0:1)}}function p0(t,r){if(t&1&&(p(0),l(1,"prettify")),t&2){let e=m().$implicit,n=m(2);f(" (",c(1,1,n.enums[e.type][e.value]),") ")}}function m0(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m().$implicit;f(" (",c(1,1,e.value?"status.widget.info.yes":"status.widget.info.no"),") ")}}function u0(t,r){if(t&1&&(a(0,"li",20)(1,"span",36),v(2,Ua,2,2,"span",37)(3,Wa,2,1,"span",38),v(4,Za,5,4,"div",39),a(5,"div",40),v(6,Ja,1,0),v(7,Xa,1,1)(8,e0,2,3)(9,n0,2,1),v(10,o0,2,3)(11,r0,2,3),d()(),a(12,"span",41),v(13,a0,1,1)(14,s0,2,3)(15,d0,2,1),v(16,p0,2,3)(17,m0,2,3),d()()),t&2){let e,n,i=r.$implicit,s=m(2);o(2),h("minStep"in i||"minValue"in i||"maxValue"in i||"validValues"in i?2:3),o(2),h(s.isDetailsVisible[i.uuid]?4:-1),o(2),h(s.isDetailsVisible[i.uuid]?6:-1),o(),h((e=i.unit)==="percentage"?7:e==="celsius"?8:9),o(3),h(s.enums[i.type]!=null&&s.enums[i.type][i.value]?10:i.format==="bool"?11:-1),o(3),h((n=i.unit)==="percentage"?13:n==="celsius"?14:15),o(3),h(s.enums[i.type]!=null&&s.enums[i.type][i.value]?16:i.format==="bool"?17:-1)}}function f0(t,r){if(t&1&&(a(0,"li",18)(1,"h6",19),p(2),l(3,"translate"),d()(),a(4,"li",20)(5,"span",21),p(6),l(7,"translate"),d(),a(8,"span",22),p(9),d()(),a(10,"li",20)(11,"span",21),p(12),l(13,"translate"),d(),a(14,"span",22),p(15),d()(),$e(16,u0,18,7,"li",20,it)),t&2){let e=m();o(2),_(c(3,5,"accessories.service_info")),o(4),_(c(7,7,"accessories.service")),o(3),_(e.localService.humanType),o(3),_(c(13,9,"accessories.name")),o(3),_(e.localService.serviceName),o(),Ue(e.localService.serviceCharacteristics)}}function g0(t,r){if(t&1){let e=j();a(0,"span",44),k("click",function(){I(e);let i=m().$implicit,s=m(2);return V(s.toggleDetailsVisibility(i))})("keydown.enter",function(){I(e);let i=m().$implicit,s=m(2);return V(s.toggleDetailsVisibility(i))}),p(1),d()}if(t&2){let e=m().$implicit,n=m(2);S("aria-expanded",n.isDetailsVisible[e.uuid]),o(),_(e.description)}}function v0(t,r){if(t&1&&p(0),t&2){let e=m().$implicit;f(" ",e.description," ")}}function h0(t,r){if(t&1&&(a(0,"div"),p(1),d()),t&2){let e=m(2).$implicit;o(),f("Step: ",e.minStep)}}function C0(t,r){if(t&1&&(a(0,"div"),p(1),d()),t&2){let e=m(2).$implicit;o(),f("Min: ",e.minValue)}}function _0(t,r){if(t&1&&(a(0,"div"),p(1),d()),t&2){let e=m(2).$implicit;o(),f("Max: ",e.maxValue)}}function x0(t,r){t&1&&p(0," \xB7 ")}function y0(t,r){if(t&1&&(p(0),v(1,x0,1,0)),t&2){let e=r.$implicit,n=r.$index,i=r.$count;f(" ",e," "),o(),h(n!==i-1?1:-1)}}function S0(t,r){if(t&1&&(a(0,"div"),p(1," Valid: "),$e(2,y0,2,2,null,null,it),d()),t&2){let e=m(2).$implicit;o(2),Ue(e.validValues)}}function k0(t,r){if(t&1&&(a(0,"div",39),v(1,h0,2,1,"div"),v(2,C0,2,1,"div"),v(3,_0,2,1,"div"),v(4,S0,4,0,"div"),d()),t&2){let e=m().$implicit;o(),h("minStep"in e?1:-1),o(),h("minValue"in e?2:-1),o(),h("maxValue"in e?3:-1),o(),h("validValues"in e?4:-1)}}function M0(t,r){t&1&&p(0," Value: ")}function T0(t,r){if(t&1&&p(0),t&2){let e=m().$implicit;f(" ",e.value,"% ")}}function b0(t,r){if(t&1&&(p(0),l(1,"convertTemp")),t&2){let e=m().$implicit,n=m(2);f(" ",c(1,1,n.Number(e.value)),"\xB0 ")}}function B0(t,r){if(t&1&&(p(0),l(1,"convertMired")),t&2){let e=m(2).$implicit;f(" ",c(1,1,e.value)," ")}}function w0(t,r){if(t&1&&p(0),t&2){let e=m(2).$implicit;f(" ",e.value," ")}}function E0(t,r){if(t&1&&v(0,B0,2,3)(1,w0,1,1),t&2){let e,n=m().$implicit;h((e=n.type)==="ColorTemperature"?0:1)}}function D0(t,r){if(t&1&&(p(0),l(1,"prettify")),t&2){let e=m().$implicit,n=m(2);f(" (",c(1,1,n.enums[e.type][e.value]),") ")}}function P0(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m().$implicit;f(" (",c(1,1,e.value?"status.widget.info.yes":"status.widget.info.no"),") ")}}function A0(t,r){if(t&1&&p(0),t&2){let e=m().$implicit;f(" ",e.value,"% ")}}function O0(t,r){if(t&1&&(p(0),l(1,"convertTemp")),t&2){let e=m().$implicit,n=m(2);f(" ",c(1,1,n.Number(e.value)),"\xB0 ")}}function I0(t,r){if(t&1&&(p(0),l(1,"convertMired")),t&2){let e=m(2).$implicit;f(" ",c(1,1,e.value)," ")}}function V0(t,r){if(t&1&&p(0),t&2){let e=m(2).$implicit;f(" ",e.value," ")}}function F0(t,r){if(t&1&&v(0,I0,2,3)(1,V0,1,1),t&2){let e,n=m().$implicit;h((e=n.type)==="ColorTemperature"?0:1)}}function L0(t,r){if(t&1&&(p(0),l(1,"prettify")),t&2){let e=m().$implicit,n=m(2);f(" (",c(1,1,n.enums[e.type][e.value]),") ")}}function N0(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m().$implicit;f(" (",c(1,1,e.value?"status.widget.info.yes":"status.widget.info.no"),") ")}}function H0(t,r){if(t&1&&(a(0,"li",20)(1,"span"),v(2,g0,2,2,"span",43)(3,v0,1,1),v(4,k0,5,4,"div",39),a(5,"div",40),v(6,M0,1,0),v(7,T0,1,1)(8,b0,2,3)(9,E0,2,1),v(10,D0,2,3)(11,P0,2,3),d()(),a(12,"span",41),v(13,A0,1,1)(14,O0,2,3)(15,F0,2,1),v(16,L0,2,3)(17,N0,2,3),d()()),t&2){let e,n,i=r.$implicit,s=m(2);o(2),h("minStep"in i||"minValue"in i||"maxValue"in i||"validValues"in i?2:3),o(2),h(s.isDetailsVisible[i.uuid]?4:-1),o(2),h(s.isDetailsVisible[i.uuid]?6:-1),o(),h((e=i.unit)==="percentage"?7:e==="celsius"?8:9),o(3),h(s.enums[i.type]!=null&&s.enums[i.type][i.value]?10:i.format==="bool"?11:-1),o(3),h((n=i.unit)==="percentage"?13:n==="celsius"?14:15),o(3),h(s.enums[i.type]!=null&&s.enums[i.type][i.value]?16:i.format==="bool"?17:-1)}}function R0(t,r){if(t&1&&(a(0,"ul",5)(1,"li",18)(2,"h6",19),p(3),l(4,"translate"),d()(),a(5,"li",20)(6,"span",21),p(7),l(8,"translate"),d(),a(9,"span",22),p(10),d()(),a(11,"li",20)(12,"span",21),p(13),l(14,"translate"),d(),a(15,"span",22),p(16),d()(),$e(17,H0,18,7,"li",20,it),d()),t&2){let e=r.$implicit;o(3),_(c(4,5,"accessories.service_info")),o(4),_(c(8,7,"accessories.service")),o(3),_(e.humanType),o(3),_(c(14,9,"accessories.name")),o(3),_(e.serviceName),o(),Ue(e.serviceCharacteristics)}}function j0(t,r){if(t&1&&(a(0,"li",20)(1,"span",21),p(2),l(3,"translate"),d(),a(4,"span",22),p(5),d()()),t&2){let e=m(2);o(2),_(c(3,2,"child_bridge.config.platform")),o(3),_(e.matchedCachedAccessory.platform)}}function $0(t,r){if(t&1&&(a(0,"li",20)(1,"span",21),p(2),l(3,"translate"),d(),a(4,"span",22),p(5),d()()),t&2){let e=m(2);o(2),_(c(3,2,"child_bridge.config.accessory")),o(3),_(e.matchedCachedAccessory.accessory)}}function U0(t,r){if(t&1&&(a(0,"li",20)(1,"span",21),p(2),l(3,"translate"),d(),a(4,"span",22),p(5),d()(),v(6,j0,6,4,"li",20),v(7,$0,6,4,"li",20)),t&2){let e=m();o(2),_(c(3,4,"accessories.plugin")),o(3),_(e.matchedCachedAccessory.plugin),o(),h(e.matchedCachedAccessory.platform?6:-1),o(),h(e.matchedCachedAccessory.accessory?7:-1)}}function W0(t,r){if(t&1&&(a(0,"li",20)(1,"span",21),p(2),d(),a(3,"span",22),p(4),d()()),t&2){let e=r.$implicit;o(2),_(e.key),o(2),_(e.value)}}function G0(t,r){if(t&1&&(a(0,"li",20)(1,"span",21),p(2,"Bridge"),d(),a(3,"span",22),p(4),d()()),t&2){let e=m();o(4),_(e.localService.instance.name)}}function q0(t,r){if(t&1&&(a(0,"li",20)(1,"span",21),p(2),l(3,"translate"),d(),a(4,"span",22),p(5),d()()),t&2){let e=m();o(2),_(c(3,2,"child_bridge.config.name")),o(3),_(e.matchedCachedAccessory.bridge)}}function z0(t,r){t&1&&g(0,"i",49)}function Y0(t,r){t&1&&g(0,"i",50)}function K0(t,r){if(t&1){let e=j();a(0,"li",20)(1,"span",21),p(2),l(3,"translate"),d(),a(4,"span",22),p(5),d()(),a(6,"li",20)(7,"span",21),p(8),l(9,"translate"),d(),a(10,"span",22),p(11),d()(),a(12,"li",20)(13,"span",45),p(14,"HAP UID"),d(),a(15,"span",46)(16,"span",47),p(17),d(),a(18,"a",48),k("click",function(){I(e);let i=m();return V(i.copyUniqueIdToClipboard())}),v(19,z0,1,0,"i",49)(20,Y0,1,0,"i",50),d()()(),a(21,"li",20)(22,"span",51),p(23,"aid"),d(),a(24,"span",22),p(25),d()(),a(26,"li",20)(27,"span",51),p(28,"iid"),d(),a(29,"span",22),p(30),d()()}if(t&2){let e=m();o(2),_(c(3,8,"accessories.bridge_ip")),o(3),_(e.localService.instance.ipAddress),o(3),_(c(9,10,"accessories.bridge_port")),o(3),_(e.localService.instance.port),o(6),_(e.service.uniqueId),o(2),h(e.uniqueIdCopied()?19:20),o(6),_(e.localService.aid),o(5),_(e.localService.iid)}}function Q0(t,r){t&1&&g(0,"i",49)}function Z0(t,r){t&1&&g(0,"i",50)}function J0(t,r){if(t&1){let e=j();a(0,"li",20)(1,"span",52),p(2,"UUID"),d(),a(3,"span",46)(4,"span",47),p(5),d(),a(6,"a",48),k("click",function(){I(e);let i=m();return V(i.copyUUIDToClipboard())}),v(7,Q0,1,0,"i",49)(8,Z0,1,0,"i",50),d()()(),a(9,"li",53)(10,"span",13),p(11),l(12,"translate"),d(),a(13,"button",54),l(14,"translate"),k("click",function(){I(e);let i=m();return V(i.removeSingleCachedAccessories())}),g(15,"i",55),d()()}if(t&2){let e=m();o(5),_(e.matchedCachedAccessory.UUID),o(2),h(e.uuidCopied()?7:8),o(4),_(c(12,4,"accessories.button_remove")),o(2),S("aria-label",c(14,6,"accessories.button_remove"))}}var Wn=(()=>{class t{$activeModal=w(Xt);$cdr=w(Jt);$modal=w(ee);modalData=w(ei);injector=w(J);copyTimeouts=new Map;hapCustomTypeList=[["AirPurifier","Switch","Outlet","Fan","Lightbulb","Heater","Cooler","Humidifier","Dehumidifier","Television","Valve","RobotVacuum","WashingMachine"],["Switch","Outlet","LockMechanism"],["Switch","Outlet","GarageDoorOpener"],["Door","Window","WindowCovering"],["Doorbell","Speaker","SmartSpeaker","Microphone"]];matterCustomTypeList=[["OnOffLight","OnOffLightSwitch","OnOffPlugInUnit","RoboticVacuumCleaner"],["Door","Window","WindowCovering"],["Fan"],["Thermostat"]];accessoryCache=this.modalData.accessoryCache;pairingCache=this.modalData.pairingCache;service=this.modalData.service;localAccessoryCache=[];localPairingCache=[];localService;isDetailsVisible={};accessoryInformation;extraServices=[];matchedCachedAccessory=null;enums=jn;customTypeList=[];isMatterAccessory=!1;clusterInfo=[];uniqueIdCopied=Le(!1);uuidCopied=Le(!1);originalCustomName;originalCustomType;originalHidden;originalOnDashboard;ngOnInit(){let e=this.accessoryCache,n=this.pairingCache,i=this.service;if(!e||!n||!i){console.error("AccessoryInfoComponent: required data not provided"),this.$activeModal.dismiss("Missing required data");return}if(this.localAccessoryCache=e,this.localPairingCache=n,this.localService=i,this.isMatterAccessory=this.localService.protocol==="matter",this.isMatterAccessory){this.customTypeList=[...new Set(this.matterCustomTypeList.filter(u=>this.localService.deviceType&&u.includes(this.localService.deviceType)).flat())];let s=this.localService.clusters||{};this.clusterInfo=Object.entries(s).map(([u,A])=>({name:u,attributes:A})),this.accessoryInformation=Object.entries(this.localService.accessoryInformation||{}).map(([u,A])=>({key:u,value:A})),this.accessoryInformation.unshift({key:"Device Type",value:this.localService.deviceType||"Unknown"}),this.localService.customType||(this.localService.customType=this.localService.deviceType)}else this.customTypeList=[...new Set(this.hapCustomTypeList.filter(s=>s.includes(this.localService.type)).flat())],this.accessoryInformation=Object.entries(this.localService.accessoryInformation).map(([s,u])=>({key:s,value:u})),this.matchedCachedAccessory=this.matchToCachedAccessory(),this.localService.type==="LockMechanism"&&this.localService.linkedServices&&Object.values(this.localService.linkedServices).filter(s=>s.type==="LockManagement").forEach(s=>this.extraServices.push(s)),this.localService.customType||(this.localService.customType=this.localService.type);this.originalCustomName=this.localService.customName,this.originalCustomType=this.localService.customType,this.originalHidden=this.localService.hidden,this.originalOnDashboard=this.localService.onDashboard}ngOnDestroy(){this.copyTimeouts.forEach(e=>clearTimeout(e)),this.copyTimeouts.clear()}removeSingleCachedAccessories(){this.$activeModal.close();let e=X([{provide:Hn,useValue:{selectedBridge:this.localService.instance.username.replaceAll(":","")}}],this.injector);this.$modal.open(Rn,{size:"lg",backdrop:"static",injector:e})}isDefaultType(e){return this.isMatterAccessory?e===this.localService.deviceType:e===this.localService.type}toggleDetailsVisibility(e){("minStep"in e||"minValue"in e||"maxValue"in e||"validValues"in e)&&(this.isDetailsVisible[e.uuid]=!this.isDetailsVisible[e.uuid])}dismissModal(){this.localService.customName=this.originalCustomName,this.localService.customType=this.originalCustomType,this.localService.hidden=this.originalHidden,this.localService.onDashboard=this.originalOnDashboard,this.$activeModal.dismiss("Dismiss")}saveModal(){this.$activeModal.close({customName:this.localService.customName,customType:this.localService.customType,hidden:this.localService.hidden,onDashboard:this.localService.onDashboard})}isFormUnchanged(){return this.localService.customName===this.originalCustomName&&this.localService.customType===this.originalCustomType&&this.localService.hidden===this.originalHidden&&this.localService.onDashboard===this.originalOnDashboard}onHiddenChange(){this.localService.hidden&&(this.localService.onDashboard=!1),this.$cdr.markForCheck()}onDashboardChange(){this.$cdr.markForCheck()}copyUniqueIdToClipboard(){return se(this,null,function*(){let e=this.service.uniqueId;e&&(yield this.copyToClipboard(e,this.uniqueIdCopied))})}copyUUIDToClipboard(){return se(this,null,function*(){let e=this.matchedCachedAccessory?.UUID;e&&(yield this.copyToClipboard(e,this.uuidCopied))})}copyToClipboard(e,n){return se(this,null,function*(){try{yield navigator.clipboard.writeText(e)}catch(u){this.fallbackCopyToClipboard(e)}n.set(!0);let i=this.copyTimeouts.get(n);i&&clearTimeout(i);let s=setTimeout(()=>{n.set(!1),this.copyTimeouts.delete(n)},3e3);this.copyTimeouts.set(n,s)})}fallbackCopyToClipboard(e){let n=document.createElement("textarea");n.value=e,n.style.position="fixed",n.style.left="-999999px",n.style.top="-999999px",document.body.appendChild(n),n.focus(),n.select();try{document.execCommand("copy")}catch(i){console.error("Fallback: Could not copy text",i)}document.body.removeChild(n)}matchToCachedAccessory(){let e=this.localService.instance.username,n=this.localPairingCache.find(i=>i._username===e);if(n){let i=n._main?"cachedAccessories":`cachedAccessories.${n._id}`,s=this.localAccessoryCache.filter(u=>u.$cacheFile===i);if(s.length){let u=this.localService.accessoryInformation.Name,A=this.localService.accessoryInformation["Serial Number"],G=s.filter($=>{let ce=$.services.find(ge=>ge.constructorName==="AccessoryInformation"),he=ce?.characteristics.find(ge=>ge.displayName==="Name"),Ae=ce?.characteristics.find(ge=>ge.displayName==="Serial Number");return he?.value===u&&Ae?.value===A});if(G.length===1)return lt(st({},G[0]),{bridge:n.name})}}return null}Number=Number;JSON=JSON;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-accessory-info"]],decls:71,vars:54,consts:[["role","dialog","aria-modal","true",1,"modal-content"],[1,"modal-header"],["id","accessory-info-modal-title",1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"list-group","list-group-box","mb-3"],[1,"list-group-item","text-center","grey-text","small"],[3,"innerHTML"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","id","form-name","autocomplete","off",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],["aria-hidden","true",1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","hide-accessory",1,"rendux-input",3,"ngModelChange","ngModel"],["for","hide-accessory","aria-hidden","true",1,"rendux-label","ms-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-left","flex-column","flex-md-row"],[1,"text-start"],[1,"text-start","text-md-end","grey-text","font-monospace"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-primary",3,"click","disabled"],["for","custom-type",1,"mb-2","mb-md-0","w-100","w-md-50"],["id","custom-type",1,"custom-select",3,"ngModelChange","ngModel"],[3,"value"],["type","checkbox","id","show-on-dashboard",1,"rendux-input","mb-0",3,"ngModelChange","ngModel"],["for","show-on-dashboard","aria-hidden","true",1,"rendux-label","ms-3"],[1,"fw-bold"],[1,"list-group-item","d-flex","justify-content-between","align-items-start","align-items-md-center","flex-column","flex-md-row"],[1,"text-start","me-2"],[1,"me-3"],["role","button","tabindex","0",1,"hover-pointer","text-nowrap"],[1,"text-nowrap"],[1,"grey-text","m-0","p-0","font-monospace"],[1,"d-block","d-md-none","font-monospace","grey-text","text-break-all"],[1,"text-start","text-md-end","grey-text","font-monospace","d-none","d-md-block","align-content-center","text-break-all"],["role","button","tabindex","0",1,"hover-pointer","text-nowrap",3,"click","keydown.enter"],["role","button","tabindex","0",1,"hover-pointer"],["role","button","tabindex","0",1,"hover-pointer",3,"click","keydown.enter"],[1,"text-start","align-self-md-center","text-nowrap"],[1,"text-start","text-md-end","grey-text","font-monospace","d-flex","justify-content-between","align-items-center","ms-md-2"],[1,"text-break-all"],["href","javascript:void(0)",1,"ms-2","text-primary","flex-shrink-0",3,"click"],[1,"fas","fa-check","green-text"],[1,"fas","fa-copy"],[1,"text-start","font-monospace"],[1,"text-start","align-self-md-center","font-monospace","text-nowrap"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],["type","button",1,"btn","btn-primary","m-0","ms-3","py-1",3,"click"],["aria-hidden","true",1,"fas","fa-arrow-right"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),p(3),d(),a(4,"button",3),l(5,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(6,"div",4)(7,"ul",5)(8,"li",6),g(9,"span",7),l(10,"translate"),g(11,"br")(12,"span",7),l(13,"translate"),d(),a(14,"li",8)(15,"label",9),p(16),l(17,"translate"),d(),a(18,"div",10)(19,"input",11),k("ngModelChange",function(u){return i.localService.customName=u}),d()()(),v(20,Fa,8,4,"li",8),a(21,"li",12)(22,"span",13),p(23),l(24,"translate"),d(),a(25,"div",14)(26,"input",15),l(27,"translate"),K("ngModelChange",function(u){return Y(i.localService.hidden,u)||(i.localService.hidden=u),u}),k("ngModelChange",function(){return i.onHiddenChange()}),d(),g(28,"label",16),d()(),v(29,La,8,7,"li",12),d(),a(30,"ul",5),v(31,$a,6,3)(32,f0,18,11),d(),$e(33,R0,19,11,"ul",5,it),a(35,"ul",17)(36,"li",18)(37,"h6",19),p(38),l(39,"translate"),d()(),a(40,"li",20)(41,"span",21),p(42),l(43,"translate"),d(),a(44,"span",22),p(45),d()(),v(46,U0,8,6),$e(47,W0,5,2,"li",20,it),v(49,G0,5,1,"li",20),a(50,"li",20)(51,"span",21),p(52),l(53,"translate"),d(),a(54,"span",22),p(55),d()(),v(56,q0,6,4,"li",20),v(57,K0,31,12),v(58,J0,16,8),d()(),a(59,"div",23)(60,"div",21)(61,"button",24),l(62,"translate"),k("click",function(){return i.dismissModal()}),p(63),l(64,"translate"),d()(),g(65,"div",25),a(66,"div",26)(67,"button",27),l(68,"translate"),k("click",function(){return i.saveModal()}),p(69),l(70,"translate"),d()()()()),n&2&&(S("aria-labelledby","accessory-info-modal-title"),o(3),f(" ",i.localService.customName||i.localService.serviceName," "),o(),S("aria-label",c(5,28,"form.button_close")),o(5),T("innerHTML",c(10,30,"accessories.only_ui"),qe),o(3),T("innerHTML",c(13,32,"accessories.only_ui_2"),qe),o(4),_(c(17,34,"accessories.custom_name")),o(3),T("ngModel",i.localService.customName||i.localService.serviceName),o(),h(i.customTypeList.length?20:-1),o(3),_(c(24,36,"accessories.hide_this_accessory")),o(3),z("ngModel",i.localService.hidden),S("aria-label",c(27,38,"accessories.hide_this_accessory")),o(3),h(i.localService.hidden?-1:29),o(2),h(i.isMatterAccessory?31:32),o(2),Ue(i.extraServices),o(5),_(c(39,40,"accessories.accessory_info")),o(4),_(c(43,42,"accessories.protocol")),o(3),f(" ",i.isMatterAccessory?"Matter":"HAP"," "),o(),h(i.matchedCachedAccessory?46:-1),o(),Ue(i.accessoryInformation),o(2),h(i.isMatterAccessory?49:-1),o(3),_(c(53,44,"users.label_username")),o(3),_(i.localService.instance.username),o(),h(i.matchedCachedAccessory?56:-1),o(),h(i.isMatterAccessory?-1:57),o(),h(i.matchedCachedAccessory?58:-1),o(3),S("aria-label",c(62,46,"form.button_close")),o(2),f(" ",c(64,48,"form.button_close")," "),o(4),T("disabled",i.isFormUnchanged()),S("aria-label",c(68,50,"form.button_save")),o(2),f(" ",c(70,52,"form.button_save")," "))},dependencies:[de,wn,En,bn,Tn,Bn,pe,me,xn,E,Ve,$n,mt,Un],encapsulation:2,changeDetection:0})}return t})();var ie=(()=>{class t{injector=w(J);$api=w(Sn);$auth=w(kn);$destroyRef=w(ct);$modal=w(ee);$toastr=w(Ie);$translate=w(yn);$ws=w(Dn);accessoryCache=[];pairingCache=[];customAttributesApplied=new Set;combinedServiceIds=new Set;io;stop$=new Z;hiddenTypes=new Set(["InputSource","LockManagement","CameraRTPStreamManagement","ProtocolInformation","NFCAccess"]);layoutSaved=new Z;accessoryData=new Z;hapReadyForControl=!1;matterReadyForControl=!1;accessories={services:[]};accessoryLayout;originalLayout;availableBridges=Le([]);selectedBridges=Le(null);bridgeUsernameToNameMap=new Map;rooms=Le([]);constructor(){this.$auth.user.admin&&this.loadCachedData()}loadCachedData(){return se(this,null,function*(){try{this.accessoryCache=yield this.$api.get("/server/cached-accessories")}catch(e){console.error(e)}try{this.pairingCache=yield this.$api.get("/server/pairings")}catch(e){console.error(e)}})}showAccessoryInformation(e){return se(this,null,function*(){let n=X([{provide:ei,useValue:{service:e,accessoryCache:this.accessoryCache,pairingCache:this.pairingCache}}],this.injector),i=this.$modal.open(Wn,{size:"lg",backdrop:"static",injector:n});try{let s=yield i.result,A=this.rooms().flatMap(G=>G.services).find(G=>G.uniqueId===e.uniqueId)||e;A.customName=s.customName,A.customType=s.customType,A.hidden=s.hidden,A.onDashboard=s.onDashboard,this.saveLayout(),this.rooms.update(G=>[...G])}catch(s){}return!1})}stop(){this.stop$.next(),this.stop$.complete(),this.io?.end?.(),this.rooms.set([]),this.accessories={services:[]},this.customAttributesApplied.clear(),this.combinedServiceIds.clear(),this.accessoryLayout=void 0,this.originalLayout=void 0,this.stop$=new Z}start(){return se(this,null,function*(){this.hapReadyForControl=!1,this.matterReadyForControl=!1,this.io=this.$ws.connectToNamespace("accessories"),yield this.loadLayout(),this.io.connected.pipe(Lt(this.stop$)).subscribe(()=>{this.io.socket.emit("get-accessories")}),this.io.socket.connected&&this.io.socket.emit("get-accessories"),this.io.socket.on("accessories-data",e=>{this.parseServices(e),this.combineRelatedServices(),this.generateHelpers(),this.sortIntoRooms(),this.orderRooms(),this.refreshRoomsForChangeDetection(),this.applyCustomAttributes(),this.accessoryData.next(e)}),this.io.socket.on("accessories-reload-required",()=>se(this,null,function*(){this.stop(),yield this.start()})),this.io.socket.on("matter-accessories-reload-required",()=>se(this,null,function*(){this.matterReadyForControl=!1,this.io.socket.emit("accessory-control",{refresh:!0})})),this.io.socket.on("accessory-control-failure",e=>{console.error(e),this.$toastr.error(e,this.$translate.instant("toast.title_error"))}),this.io.socket.on("hap-accessories-ready-for-control",()=>{this.hapReadyForControl=!0}),this.io.socket.on("matter-accessories-ready-for-control",()=>{this.matterReadyForControl=!0})})}saveLayout(){let e=this.rooms().map(i=>({name:i.name,isDefault:i.isDefault,services:i.services.map(s=>({uniqueId:s.uniqueId,nameBasedUniqueId:s.nameBasedUniqueId||void 0,name:s.serviceName,serial:s.accessoryInformation?.["Serial Number"],bridge:s.instance?.username,aid:s.aid,iid:s.iid,uuid:s.uuid,customName:s.customName||void 0,customType:s.customType||void 0,hidden:s.hidden||void 0,onDashboard:s.onDashboard||void 0}))}));!e.some(i=>i.isDefault===!0)&&e.length>0&&(e[0].isDefault=!0),this.accessoryLayout=this.mergeWithUndiscoveredServices(e),this.io.request("save-layout",{user:this.$auth.user.username,layout:this.accessoryLayout}).pipe(Lt(this.stop$),Xe(this.$destroyRef)).subscribe({next:()=>this.layoutSaved.next(void 0),error:i=>{console.error(i),this.$toastr.error(i.message,this.$translate.instant("toast.title_error"))}})}loadLayout(){return se(this,null,function*(){if(this.accessoryLayout=yield tn(this.io.request("get-layout",{user:this.$auth.user.username})),this.originalLayout=JSON.parse(JSON.stringify(this.accessoryLayout)),!this.accessoryLayout.some(n=>n.isDefault)&&this.accessoryLayout.length>0){let n=this.accessoryLayout.findIndex(s=>s.name==="Default Room"),i=n!==-1?n:0;this.accessoryLayout[i].isDefault=!0}this.rooms.set(this.accessoryLayout.map(n=>({name:n.name,isDefault:n.isDefault,services:[]})))})}servicesMatch(e,n){return n.protocol==="matter"||n.uniqueId?.startsWith("matter:")?e.uniqueId===n.uniqueId&&e.bridge===(n.instance?.username||n.bridge):e.nameBasedUniqueId&&n.nameBasedUniqueId?e.nameBasedUniqueId===n.nameBasedUniqueId:e.uniqueId===n.uniqueId?!0:e.name===(n.serviceName||n.name)&&e.serial===(n.accessoryInformation?.["Serial Number"]||n.serial)&&e.bridge===(n.instance?.username||n.bridge)&&e.uuid===n.uuid}findInLayout(e){for(let n of this.accessoryLayout)for(let i of n.services)if(i.name&&this.servicesMatch(i,e))return{room:n,service:i};return null}mergeWithUndiscoveredServices(e){if(!this.originalLayout)return e;let n=JSON.parse(JSON.stringify(e)),i=new Set;for(let s of n)for(let u of s.services)for(let A of this.originalLayout){for(let G of A.services)if(G.name&&this.servicesMatch(G,u)){i.add(this.getServiceKey(G));break}if(i.has(this.getServiceKey(u)))break}for(let s of this.originalLayout)for(let u of s.services){if(i.has(this.getServiceKey(u))||!u.name)continue;let A=n.find(G=>G.name===s.name);!A&&(A=n.find(G=>G.isDefault),!A)||A.services.push({uniqueId:u.uniqueId,nameBasedUniqueId:u.nameBasedUniqueId,name:u.name,bridge:u.bridge,serial:u.serial,aid:u.aid,iid:u.iid,uuid:u.uuid,customName:u.customName,customType:u.customType,hidden:u.hidden,onDashboard:u.onDashboard})}return n.filter(s=>s.services.length>0||e.some(u=>u.name===s.name))}getServiceKey(e){return e.nameBasedUniqueId||e.uniqueId}parseServices(e){if(!this.accessories.services.length){this.accessories.services=e;return}e.forEach(n=>{let i=this.accessories.services.findIndex(s=>s.uniqueId===n.uniqueId);n.type==="LockMechanism"&&this.attachLockManagementToMechanism(n),i!==-1?(this.accessories.services[i]=n,this.customAttributesApplied.delete(n.uniqueId)):this.accessories.services.push(n)})}sortIntoRooms(){this.accessories.services.forEach(e=>{if(this.hiddenTypes.has(e.type)||this.combinedServiceIds.has(e.uniqueId))return;if(e.linked&&(e.linkedServices={},e.linked.forEach(i=>{e.linkedServices[i]=this.accessories.services.find(s=>s.aid===e.aid&&s.iid===i&&s.instance.username===e.instance.username)})),!this.rooms().find(i=>i.services.find(s=>s.uniqueId===e.uniqueId))){let i=this.findInLayout(e);if(i){let s=e;i.service.customType&&(s.customType=i.service.customType),i.service.customName&&(s.customName=i.service.customName),i.service.hidden&&(s.hidden=i.service.hidden),i.service.onDashboard&&(s.onDashboard=i.service.onDashboard),this.customAttributesApplied.add(e.uniqueId),this.rooms.update(u=>u.map(A=>A.name===i.room.name?lt(st({},A),{services:[...A.services,e]}):A))}else{this.customAttributesApplied.add(e.uniqueId);let s=this.rooms().find(u=>u.isDefault===!0)||this.rooms().find(u=>u.name==="Default Room");s?this.rooms.update(u=>u.map(A=>A.name===s.name?lt(st({},A),{services:[...A.services,e]}):A)):this.rooms.update(u=>[...u,{name:"Default Room",isDefault:!0,services:[e]}])}}})}orderRooms(){this.rooms.update(e=>e.map(n=>{let i=this.accessoryLayout.find(u=>u.name===n.name);if(!i)return n;let s=n.services.toSorted((u,A)=>{let G=i.services.findIndex(ce=>this.servicesMatch(ce,u)),$=i.services.findIndex(ce=>this.servicesMatch(ce,A));return G-$});return lt(st({},n),{services:s})}))}refreshRoomsForChangeDetection(){this.rooms.update(e=>e.map(n=>lt(st({},n),{services:n.services.map(i=>this.accessories.services.find(u=>u.uniqueId===i.uniqueId)||i)})))}applyCustomAttributes(){this.rooms().forEach(e=>{e.services.forEach(n=>{if(this.customAttributesApplied.has(n.uniqueId))return;let i=this.findInLayout(n);if(!i)return;let s=n;i.service.customType&&(s.customType=i.service.customType),i.service.customName&&(s.customName=i.service.customName),i.service.hidden&&(s.hidden=i.service.hidden),i.service.onDashboard&&(s.onDashboard=i.service.onDashboard),this.customAttributesApplied.add(n.uniqueId)})})}generateHelpers(){this.accessories.services.forEach(e=>{let n=e;n.protocol==="matter"?n.getCluster||(n.getCluster=i=>{let s=n.clusters||{};return s[i]?{attributes:s[i],setAttributes:u=>new Promise(A=>this.matterReadyForControl?(this.io.socket.emit("accessory-control",{set:{uniqueId:e.uniqueId,cluster:i,attributes:u}}),A(void 0)):(console.warn("Matter control attempted but not ready for control:",{matterReadyForControl:this.matterReadyForControl,uniqueId:e.uniqueId,cluster:i}),A(void 0)))}:null}):e.getCharacteristic||(e.getCharacteristic=i=>{let s=e.serviceCharacteristics.find(u=>u.type===i);return s?(s.setValue=u=>new Promise(A=>(this.hapReadyForControl&&this.io.socket.emit("accessory-control",{set:{uniqueId:e.uniqueId,aid:e.aid,siid:e.iid,iid:s.iid,value:u}}),A(void 0))),s):null})})}isSameAccessory(e,n){return e.accessoryInformation.Name===n.accessoryInformation.Name&&e.accessoryInformation["Serial Number"]===n.accessoryInformation["Serial Number"]&&e.instance.username===n.instance.username}attachLockManagementToMechanism(e){let n=[],i=[];for(let s of this.accessories.services)s.type==="LockMechanism"&&this.isSameAccessory(s,e)?n.push(s):s.type==="LockManagement"&&this.isSameAccessory(s,e)&&i.push(s);if(n.length===1&&i.length===1){let s=i[0];e.linkedServices||(e.linkedServices={}),e.linkedServices[s.iid]=s}}attachFanToHeaterCooler(e){let n=[],i=[];for(let s of this.accessories.services)this.isSameAccessory(s,e)&&(s.type==="HeaterCooler"?n.push(s):(s.type==="Fan"||s.type==="Fanv2")&&i.push(s));if(n.length===1&&i.length===1){let s=i[0];e.linkedServices||(e.linkedServices={}),e.linkedServices[s.iid]=s,this.combinedServiceIds.add(s.uniqueId)}}attachFanToHumidifierDehumidifier(e){let n=[],i=[];for(let s of this.accessories.services)this.isSameAccessory(s,e)&&(s.type==="HumidifierDehumidifier"?n.push(s):(s.type==="Fan"||s.type==="Fanv2")&&i.push(s));if(n.length===1&&i.length===1){let s=i[0];e.linkedServices||(e.linkedServices={}),e.linkedServices[s.iid]=s,this.combinedServiceIds.add(s.uniqueId)}}combineRelatedServices(){this.combinedServiceIds.clear();for(let e of this.accessories.services)e.type==="HeaterCooler"?this.attachFanToHeaterCooler(e):e.type==="HumidifierDehumidifier"&&this.attachFanToHumidifierDehumidifier(e);this.rooms.update(e=>e.map(n=>lt(st({},n),{services:n.services.filter(i=>!this.combinedServiceIds.has(i.uniqueId))})))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Gn=(()=>{class t{service=P.required();readyForControl=P(!1);static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-access-code"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:18,vars:7,consts:[["tabindex","0",1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","6","y","1","width","18","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","2"],["x","9","y","5","width","12","height","3","rx","1","stroke","#7f7f7f","stroke-width","1","fill","#1976d2","fill-opacity","0.5"],["x","9","y","11","width","12","height","16","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1"],["x1","13","y1","11","x2","13","y2","27","stroke","#7f7f7f","stroke-width","1"],["x1","17","y1","11","x2","17","y2","27","stroke","#7f7f7f","stroke-width","1"],["x1","9","y1","15","x2","21","y2","15","stroke","#7f7f7f","stroke-width","1"],["x1","9","y1","19","x2","21","y2","19","stroke","#7f7f7f","stroke-width","1"],["x1","9","y1","23","x2","21","y2","23","stroke","#7f7f7f","stroke-width","1"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"rect",5)(7,"rect",6)(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11),y()(),L(),C(13,"div",12),p(14),y(),C(15,"div",13),p(16),l(17,"translate"),y()()()),n&2&&(o(2),S("aria-label",c(3,3,"accessories.core.access_code")),o(12),_(i.service().customName||i.service().serviceName),o(2),_(c(17,5,"accessories.core.access_code")))},dependencies:[E],encapsulation:2,changeDetection:0})}return t})();var ne=new Qt("AccessoryManageModalData"),ae=(()=>{class t{destroyRef=w(ct);$activeModal=w(Xt);cdr=w(Jt);modalData=w(ne);service;$accessories;ngOnInit(){if(!this.modalData.service||!this.modalData.$accessories){console.error("BaseManageComponent: service or $accessories not provided"),this.$activeModal.dismiss("Missing required data");return}this.service=this.modalData.service,this.$accessories=this.modalData.$accessories,this.setupComponent(),this.subscribeToAccessoryUpdates()}dismissModal(){this.$activeModal.dismiss("Dismiss")}subscribeToAccessoryUpdates(){this.$accessories&&this.$accessories.accessoryData.pipe(Xe(this.destroyRef)).subscribe(()=>{let e=this.$accessories.accessories.services.find(n=>n.uniqueId===this.service.uniqueId);e&&(this.service=e),this.handleAccessoryUpdate(),this.cdr.markForCheck()})}createDebouncedSubscription(e,n,i=500){e.pipe(rn(i),Xe(this.destroyRef)).subscribe(n)}applySliderGradient(e,n=".noUi-target"){requestAnimationFrame(()=>{document.querySelectorAll(n).forEach(s=>{s.style.background=e})})}blurTarget(e){e.target.blur()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-base-manage"]],decls:0,vars:0,template:function(n,i){},encapsulation:2,changeDetection:0})}return t})();var _t=(function(t){return t.Range="range",t.Steps="steps",t.Positions="positions",t.Count="count",t.Values="values",t})(_t||{}),ze=(function(t){return t[t.None=-1]="None",t[t.NoValue=0]="NoValue",t[t.LargeValue=1]="LargeValue",t[t.SmallValue=2]="SmallValue",t})(ze||{});function X0(t){return ii(t)&&typeof t.from=="function"}function ii(t){return typeof t=="object"&&typeof t.to=="function"}function qn(t){t.parentElement.removeChild(t)}function Bi(t){return t!=null}function zn(t){t.preventDefault()}function es(t){return t.filter(function(r){return this[r]?!1:this[r]=!0},{})}function ts(t,r){return Math.round(t/r)*r}function is(t,r){var e=t.getBoundingClientRect(),n=t.ownerDocument,i=n.documentElement,s=Zn(n);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(s.x=0),r?e.top+s.y-i.clientTop:e.left+s.x-i.clientLeft}function et(t){return typeof t=="number"&&!isNaN(t)&&isFinite(t)}function Yn(t,r,e){e>0&&(je(t,r),setTimeout(function(){ti(t,r)},e))}function Kn(t){return Math.max(Math.min(t,100),0)}function ni(t){return Array.isArray(t)?t:[t]}function ns(t){t=String(t);var r=t.split(".");return r.length>1?r[1].length:0}function je(t,r){t.classList&&!/\s/.test(r)?t.classList.add(r):t.className+=" "+r}function ti(t,r){t.classList&&!/\s/.test(r)?t.classList.remove(r):t.className=t.className.replace(new RegExp("(^|\\b)"+r.split(" ").join("|")+"(\\b|$)","gi")," ")}function os(t,r){return t.classList?t.classList.contains(r):new RegExp("\\b"+r+"\\b").test(t.className)}function Zn(t){var r=window.pageXOffset!==void 0,e=(t.compatMode||"")==="CSS1Compat",n=r?window.pageXOffset:e?t.documentElement.scrollLeft:t.body.scrollLeft,i=r?window.pageYOffset:e?t.documentElement.scrollTop:t.body.scrollTop;return{x:n,y:i}}function rs(){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 as(){var t=!1;try{var r=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,r)}catch(e){}return t}function ss(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function Ei(t,r){return 100/(r-t)}function wi(t,r,e){return r*100/(t[e+1]-t[e])}function ls(t,r){return wi(t,t[0]<0?r+Math.abs(t[0]):r-t[0],0)}function cs(t,r){return r*(t[1]-t[0])/100+t[0]}function Nt(t,r){for(var e=1;t>=r[e];)e+=1;return e}function ds(t,r,e){if(e>=t.slice(-1)[0])return 100;var n=Nt(e,t),i=t[n-1],s=t[n],u=r[n-1],A=r[n];return u+ls([i,s],e)/Ei(u,A)}function ps(t,r,e){if(e>=100)return t.slice(-1)[0];var n=Nt(e,r),i=t[n-1],s=t[n],u=r[n-1],A=r[n];return cs([i,s],(e-u)*Ei(u,A))}function ms(t,r,e,n){if(n===100)return n;var i=Nt(n,t),s=t[i-1],u=t[i];return e?n-s>(u-s)/2?u:s:r[i-1]?t[i-1]+ts(n-t[i-1],r[i-1]):n}var us=(function(){function t(r,e,n){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[n||!1],this.xNumSteps=[!1],this.snap=e;var i,s=[];for(Object.keys(r).forEach(function(u){s.push([ni(r[u]),u])}),s.sort(function(u,A){return u[0][0]-A[0][0]}),i=0;i<s.length;i++)this.handleEntryPoint(s[i][1],s[i][0]);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)this.handleStepPoint(i,this.xNumSteps[i])}return t.prototype.getDistance=function(r){for(var e=[],n=0;n<this.xNumSteps.length-1;n++)e[n]=wi(this.xVal,r,n);return e},t.prototype.getAbsoluteDistance=function(r,e,n){var i=0;if(r<this.xPct[this.xPct.length-1])for(;r>this.xPct[i+1];)i++;else r===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);!n&&r===this.xPct[i+1]&&i++,e===null&&(e=[]);var s,u=1,A=e[i],G=0,$=0,ce=0,he=0;for(n?s=(r-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):s=(this.xPct[i+1]-r)/(this.xPct[i+1]-this.xPct[i]);A>0;)G=this.xPct[i+1+he]-this.xPct[i+he],e[i+he]*u+100-s*100>100?($=G*s,u=(A-100*s)/e[i+he],s=1):($=e[i+he]*G/100*u,u=0),n?(ce=ce-$,this.xPct.length+he>=1&&he--):(ce=ce+$,this.xPct.length-he>=1&&he++),A=e[i+he]*u;return r+ce},t.prototype.toStepping=function(r){return r=ds(this.xVal,this.xPct,r),r},t.prototype.fromStepping=function(r){return ps(this.xVal,this.xPct,r)},t.prototype.getStep=function(r){return r=ms(this.xPct,this.xSteps,this.snap,r),r},t.prototype.getDefaultStep=function(r,e,n){var i=Nt(r,this.xPct);return(r===100||e&&r===this.xPct[i-1])&&(i=Math.max(i-1,1)),(this.xVal[i]-this.xVal[i-1])/n},t.prototype.getNearbySteps=function(r){var e=Nt(r,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},t.prototype.countStepDecimals=function(){var r=this.xNumSteps.map(ns);return Math.max.apply(null,r)},t.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},t.prototype.convert=function(r){return this.getStep(this.toStepping(r))},t.prototype.handleEntryPoint=function(r,e){var n;if(r==="min"?n=0:r==="max"?n=100:n=parseFloat(r),!et(n)||!et(e[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(n),this.xVal.push(e[0]);var i=Number(e[1]);n?this.xSteps.push(isNaN(i)?!1:i):isNaN(i)||(this.xSteps[0]=i),this.xHighestCompleteStep.push(0)},t.prototype.handleStepPoint=function(r,e){if(e){if(this.xVal[r]===this.xVal[r+1]){this.xSteps[r]=this.xHighestCompleteStep[r]=this.xVal[r];return}this.xSteps[r]=wi([this.xVal[r],this.xVal[r+1]],e,0)/Ei(this.xPct[r],this.xPct[r+1]);var n=(this.xVal[r+1]-this.xVal[r])/this.xNumSteps[r],i=Math.ceil(Number(n.toFixed(3))-1),s=this.xVal[r]+this.xNumSteps[r]*i;this.xHighestCompleteStep[r]=s}},t})(),Qn={to:function(t){return t===void 0?"":t.toFixed(2)},from:Number},fs={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"},ut={tooltips:".__tooltips",aria:".__aria"};function gs(t,r){if(!et(r))throw new Error("noUiSlider: 'step' is not numeric.");t.singleStep=r}function vs(t,r){if(!et(r))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");t.keyboardPageMultiplier=r}function hs(t,r){if(!et(r))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");t.keyboardMultiplier=r}function Cs(t,r){if(!et(r))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");t.keyboardDefaultStep=r}function _s(t,r){if(typeof r!="object"||Array.isArray(r))throw new Error("noUiSlider: 'range' is not an object.");if(r.min===void 0||r.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");t.spectrum=new us(r,t.snap||!1,t.singleStep)}function xs(t,r){if(r=ni(r),!Array.isArray(r)||!r.length)throw new Error("noUiSlider: 'start' option is incorrect.");t.handles=r.length,t.start=r}function ys(t,r){if(typeof r!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");t.snap=r}function Ss(t,r){if(typeof r!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");t.animate=r}function ks(t,r){if(typeof r!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");t.animationDuration=r}function Jn(t,r){var e=[!1],n;if(r==="lower"?r=[!0,!1]:r==="upper"&&(r=[!1,!0]),r===!0||r===!1){for(n=1;n<t.handles;n++)e.push(r);e.push(!1)}else{if(!Array.isArray(r)||!r.length||r.length!==t.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");e=r}t.connect=e}function Ms(t,r){switch(r){case"horizontal":t.ort=0;break;case"vertical":t.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function Xn(t,r){if(!et(r))throw new Error("noUiSlider: 'margin' option must be numeric.");r!==0&&(t.margin=t.spectrum.getDistance(r))}function Ts(t,r){if(!et(r))throw new Error("noUiSlider: 'limit' option must be numeric.");if(t.limit=t.spectrum.getDistance(r),!t.limit||t.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function bs(t,r){var e;if(!et(r)&&!Array.isArray(r))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(r)&&!(r.length===2||et(r[0])||et(r[1])))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(r!==0){for(Array.isArray(r)||(r=[r,r]),t.padding=[t.spectrum.getDistance(r[0]),t.spectrum.getDistance(r[1])],e=0;e<t.spectrum.xNumSteps.length-1;e++)if(t.padding[0][e]<0||t.padding[1][e]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var n=r[0]+r[1],i=t.spectrum.xVal[0],s=t.spectrum.xVal[t.spectrum.xVal.length-1];if(n/(s-i)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function Bs(t,r){switch(r){case"ltr":t.dir=0;break;case"rtl":t.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function ws(t,r){if(typeof r!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var e=r.indexOf("tap")>=0,n=r.indexOf("drag")>=0,i=r.indexOf("fixed")>=0,s=r.indexOf("snap")>=0,u=r.indexOf("hover")>=0,A=r.indexOf("unconstrained")>=0,G=r.indexOf("invert-connects")>=0,$=r.indexOf("drag-all")>=0,ce=r.indexOf("smooth-steps")>=0;if(i){if(t.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Xn(t,t.start[1]-t.start[0])}if(G&&t.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(A&&(t.margin||t.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");t.events={tap:e||s,drag:n,dragAll:$,smoothSteps:ce,fixed:i,snap:s,hover:u,unconstrained:A,invertConnects:G}}function Es(t,r){if(r!==!1)if(r===!0||ii(r)){t.tooltips=[];for(var e=0;e<t.handles;e++)t.tooltips.push(r)}else{if(r=ni(r),r.length!==t.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");r.forEach(function(n){if(typeof n!="boolean"&&!ii(n))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),t.tooltips=r}}function Ds(t,r){if(r.length!==t.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");t.handleAttributes=r}function Ps(t,r){if(!ii(r))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");t.ariaFormat=r}function As(t,r){if(!X0(r))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");t.format=r}function Os(t,r){if(typeof r!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");t.keyboardSupport=r}function Is(t,r){t.documentElement=r}function Vs(t,r){if(typeof r!="string"&&r!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");t.cssPrefix=r}function Fs(t,r){if(typeof r!="object")throw new Error("noUiSlider: 'cssClasses' must be an object.");typeof t.cssPrefix=="string"?(t.cssClasses={},Object.keys(r).forEach(function(e){t.cssClasses[e]=t.cssPrefix+r[e]})):t.cssClasses=r}function eo(t){var r={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:Qn,format:Qn},e={step:{r:!1,t:gs},keyboardPageMultiplier:{r:!1,t:vs},keyboardMultiplier:{r:!1,t:hs},keyboardDefaultStep:{r:!1,t:Cs},start:{r:!0,t:xs},connect:{r:!0,t:Jn},direction:{r:!0,t:Bs},snap:{r:!1,t:ys},animate:{r:!1,t:Ss},animationDuration:{r:!1,t:ks},range:{r:!0,t:_s},orientation:{r:!1,t:Ms},margin:{r:!1,t:Xn},limit:{r:!1,t:Ts},padding:{r:!1,t:bs},behaviour:{r:!0,t:ws},ariaFormat:{r:!1,t:Ps},format:{r:!1,t:As},tooltips:{r:!1,t:Es},keyboardSupport:{r:!0,t:Os},documentElement:{r:!1,t:Is},cssPrefix:{r:!0,t:Vs},cssClasses:{r:!0,t:Fs},handleAttributes:{r:!1,t:Ds}},n={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:fs,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};t.format&&!t.ariaFormat&&(t.ariaFormat=t.format),Object.keys(e).forEach(function(G){if(!Bi(t[G])&&n[G]===void 0){if(e[G].r)throw new Error("noUiSlider: '"+G+"' is required.");return}e[G].t(r,Bi(t[G])?t[G]:n[G])}),r.pips=t.pips;var i=document.createElement("div"),s=i.style.msTransform!==void 0,u=i.style.transform!==void 0;r.transformRule=u?"transform":s?"msTransform":"webkitTransform";var A=[["left","top"],["right","bottom"]];return r.style=A[r.dir][r.ort],r}function Ls(t,r,e){var n=rs(),i=ss(),s=i&&as(),u=t,A,G,$,ce,he,Ae,ge=r.spectrum,ot=[],Se=[],Ge=[],pi=0,rt={},It=!1,kt=t.ownerDocument,Ut=r.documentElement||kt.documentElement,Wt=kt.body,ra=kt.dir==="rtl"||r.ort===1?0:100;function at(x,b){var D=kt.createElement("div");return b&&je(D,b),x.appendChild(D),D}function aa(x,b){var D=at(x,r.cssClasses.origin),N=at(D,r.cssClasses.handle);if(at(N,r.cssClasses.touchArea),N.setAttribute("data-handle",String(b)),r.keyboardSupport&&(N.setAttribute("tabindex","0"),N.addEventListener("keydown",function(W){return Sa(W,b)})),r.handleAttributes!==void 0){var U=r.handleAttributes[b];Object.keys(U).forEach(function(W){N.setAttribute(W,U[W])})}return N.setAttribute("role","slider"),N.setAttribute("aria-orientation",r.ort?"vertical":"horizontal"),b===0?je(N,r.cssClasses.handleLower):b===r.handles-1&&je(N,r.cssClasses.handleUpper),D.handle=N,D}function mi(x,b){return b?at(x,r.cssClasses.connect):!1}function sa(x,b){G=at(b,r.cssClasses.connects),$=[],ce=[],ce.push(mi(G,x[0]));for(var D=0;D<r.handles;D++)$.push(aa(b,D)),Ge[D]=D,ce.push(mi(G,x[D+1]))}function la(x){je(x,r.cssClasses.target),r.dir===0?je(x,r.cssClasses.ltr):je(x,r.cssClasses.rtl),r.ort===0?je(x,r.cssClasses.horizontal):je(x,r.cssClasses.vertical);var b=getComputedStyle(x).direction;return b==="rtl"?je(x,r.cssClasses.textDirectionRtl):je(x,r.cssClasses.textDirectionLtr),at(x,r.cssClasses.base)}function ca(x,b){return!r.tooltips||!r.tooltips[b]?!1:at(x.firstChild,r.cssClasses.tooltip)}function Ri(){return u.hasAttribute("disabled")}function ui(x){var b=$[x];return b.hasAttribute("disabled")}function da(x){x!=null?($[x].setAttribute("disabled",""),$[x].handle.removeAttribute("tabindex")):(u.setAttribute("disabled",""),$.forEach(function(b){b.handle.removeAttribute("tabindex")}))}function pa(x){x!=null?($[x].removeAttribute("disabled"),$[x].handle.setAttribute("tabindex","0")):(u.removeAttribute("disabled"),$.forEach(function(b){b.removeAttribute("disabled"),b.handle.setAttribute("tabindex","0")}))}function fi(){Ae&&(Vt("update"+ut.tooltips),Ae.forEach(function(x){x&&qn(x)}),Ae=null)}function ji(){fi(),Ae=$.map(ca),_i("update"+ut.tooltips,function(x,b,D){if(!(!Ae||!r.tooltips)&&Ae[b]!==!1){var N=x[b];r.tooltips[b]!==!0&&(N=r.tooltips[b].to(D[b])),Ae[b].innerHTML=N}})}function ma(){Vt("update"+ut.aria),_i("update"+ut.aria,function(x,b,D,N,U){Ge.forEach(function(W){var le=$[W],q=Gt(Se,W,0,!0,!0,!0),_e=Gt(Se,W,100,!0,!0,!0),xe=U[W],ke=String(r.ariaFormat.to(D[W]));q=ge.fromStepping(q).toFixed(1),_e=ge.fromStepping(_e).toFixed(1),xe=ge.fromStepping(xe).toFixed(1),le.children[0].setAttribute("aria-valuemin",q),le.children[0].setAttribute("aria-valuemax",_e),le.children[0].setAttribute("aria-valuenow",xe),le.children[0].setAttribute("aria-valuetext",ke)})})}function ua(x){if(x.mode===_t.Range||x.mode===_t.Steps)return ge.xVal;if(x.mode===_t.Count){if(x.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var b=x.values-1,D=100/b,N=[];b--;)N[b]=b*D;return N.push(100),$i(N,x.stepped)}return x.mode===_t.Positions?$i(x.values,x.stepped):x.mode===_t.Values?x.stepped?x.values.map(function(U){return ge.fromStepping(ge.getStep(ge.toStepping(U)))}):x.values:[]}function $i(x,b){return x.map(function(D){return ge.fromStepping(b?ge.getStep(D):D)})}function fa(x){function b(xe,ke){return Number((xe+ke).toFixed(7))}var D=ua(x),N={},U=ge.xVal[0],W=ge.xVal[ge.xVal.length-1],le=!1,q=!1,_e=0;return D=es(D.slice().sort(function(xe,ke){return xe-ke})),D[0]!==U&&(D.unshift(U),le=!0),D[D.length-1]!==W&&(D.push(W),q=!0),D.forEach(function(xe,ke){var Me,Ce,we,He=xe,Oe=D[ke+1],Fe,Si,ki,Mi,Ji,Ti,Xi,en=x.mode===_t.Steps;for(en&&(Me=ge.xNumSteps[ke]),Me||(Me=Oe-He),Oe===void 0&&(Oe=He),Me=Math.max(Me,1e-7),Ce=He;Ce<=Oe;Ce=b(Ce,Me)){for(Fe=ge.toStepping(Ce),Si=Fe-_e,Ji=Si/(x.density||1),Ti=Math.round(Ji),Xi=Si/Ti,we=1;we<=Ti;we+=1)ki=_e+we*Xi,N[ki.toFixed(5)]=[ge.fromStepping(ki),0];Mi=D.indexOf(Ce)>-1?ze.LargeValue:en?ze.SmallValue:ze.NoValue,!ke&&le&&Ce!==Oe&&(Mi=0),Ce===Oe&&q||(N[Fe.toFixed(5)]=[Ce,Mi]),_e=Fe}}),N}function ga(x,b,D){var N,U,W=kt.createElement("div"),le=(N={},N[ze.None]="",N[ze.NoValue]=r.cssClasses.valueNormal,N[ze.LargeValue]=r.cssClasses.valueLarge,N[ze.SmallValue]=r.cssClasses.valueSub,N),q=(U={},U[ze.None]="",U[ze.NoValue]=r.cssClasses.markerNormal,U[ze.LargeValue]=r.cssClasses.markerLarge,U[ze.SmallValue]=r.cssClasses.markerSub,U),_e=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],xe=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];je(W,r.cssClasses.pips),je(W,r.ort===0?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical);function ke(Ce,we){var He=we===r.cssClasses.value,Oe=He?_e:xe,Fe=He?le:q;return we+" "+Oe[r.ort]+" "+Fe[Ce]}function Me(Ce,we,He){if(He=b?b(we,He):He,He!==ze.None){var Oe=at(W,!1);Oe.className=ke(He,r.cssClasses.marker),Oe.style[r.style]=Ce+"%",He>ze.NoValue&&(Oe=at(W,!1),Oe.className=ke(He,r.cssClasses.value),Oe.setAttribute("data-value",String(we)),Oe.style[r.style]=Ce+"%",Oe.innerHTML=String(D.to(we)))}}return Object.keys(x).forEach(function(Ce){Me(Ce,x[Ce][0],x[Ce][1])}),W}function gi(){he&&(qn(he),he=null)}function vi(x){gi();var b=fa(x),D=x.filter,N=x.format||{to:function(U){return String(Math.round(U))}};return he=u.appendChild(ga(b,D,N)),he}function Ui(){var x=A.getBoundingClientRect(),b="offset"+["Width","Height"][r.ort];return r.ort===0?x.width||A[b]:x.height||A[b]}function vt(x,b,D,N){var U=function(le){var q=va(le,N.pageOffset,N.target||b);if(!q||Ri()&&!N.doNotReject||os(u,r.cssClasses.tap)&&!N.doNotReject||x===n.start&&q.buttons!==void 0&&q.buttons>1||N.hover&&q.buttons)return!1;s||q.preventDefault(),q.calcPoint=q.points[r.ort],D(q,N)},W=[];return x.split(" ").forEach(function(le){b.addEventListener(le,U,s?{passive:!0}:!1),W.push([le,U])}),W}function va(x,b,D){var N=x.type.indexOf("touch")===0,U=x.type.indexOf("mouse")===0,W=x.type.indexOf("pointer")===0,le=0,q=0;if(x.type.indexOf("MSPointer")===0&&(W=!0),x.type==="mousedown"&&!x.buttons&&!x.touches)return!1;if(N){var _e=function(Me){var Ce=Me.target;return Ce===D||D.contains(Ce)||x.composed&&x.composedPath().shift()===D};if(x.type==="touchstart"){var xe=Array.prototype.filter.call(x.touches,_e);if(xe.length>1)return!1;le=xe[0].pageX,q=xe[0].pageY}else{var ke=Array.prototype.find.call(x.changedTouches,_e);if(!ke)return!1;le=ke.pageX,q=ke.pageY}}return b=b||Zn(kt),(U||W)&&(le=x.clientX+b.x,q=x.clientY+b.y),x.pageOffset=b,x.points=[le,q],x.cursor=U||W,x}function Wi(x){var b=x-is(A,r.ort),D=b*100/Ui();return D=Kn(D),r.dir?100-D:D}function ha(x){var b=100,D=!1;return $.forEach(function(N,U){if(!ui(U)){var W=Se[U],le=Math.abs(W-x),q=le===100&&b===100,_e=le<b,xe=le<=b&&x>W;(_e||xe||q)&&(D=U,b=le)}}),D}function Ca(x,b){x.type==="mouseout"&&x.target.nodeName==="HTML"&&x.relatedTarget===null&&hi(x,b)}function _a(x,b){if(navigator.appVersion.indexOf("MSIE 9")===-1&&x.buttons===0&&b.buttonsProperty!==0)return hi(x,b);var D=(r.dir?-1:1)*(x.calcPoint-b.startCalcPoint),N=D*100/b.baseSize;qi(D>0,N,b.locations,b.handleNumbers,b.connect)}function hi(x,b){b.handle&&(ti(b.handle,r.cssClasses.active),pi-=1),b.listeners.forEach(function(D){Ut.removeEventListener(D[0],D[1])}),pi===0&&(ti(u,r.cssClasses.drag),yi(),x.cursor&&(Wt.style.cursor="",Wt.removeEventListener("selectstart",zn))),r.events.smoothSteps&&(b.handleNumbers.forEach(function(D){ht(D,Se[D],!0,!0,!1,!1)}),b.handleNumbers.forEach(function(D){be("update",D)})),b.handleNumbers.forEach(function(D){be("change",D),be("set",D),be("end",D)})}function Ci(x,b){if(!b.handleNumbers.some(ui)){var D;if(b.handleNumbers.length===1){var N=$[b.handleNumbers[0]];D=N.children[0],pi+=1,je(D,r.cssClasses.active)}x.stopPropagation();var U=[],W=vt(n.move,Ut,_a,{target:x.target,handle:D,connect:b.connect,listeners:U,startCalcPoint:x.calcPoint,baseSize:Ui(),pageOffset:x.pageOffset,handleNumbers:b.handleNumbers,buttonsProperty:x.buttons,locations:Se.slice()}),le=vt(n.end,Ut,hi,{target:x.target,handle:D,listeners:U,doNotReject:!0,handleNumbers:b.handleNumbers}),q=vt("mouseout",Ut,Ca,{target:x.target,handle:D,listeners:U,doNotReject:!0,handleNumbers:b.handleNumbers});U.push.apply(U,W.concat(le,q)),x.cursor&&(Wt.style.cursor=getComputedStyle(x.target).cursor,$.length>1&&je(u,r.cssClasses.drag),Wt.addEventListener("selectstart",zn,!1)),b.handleNumbers.forEach(function(_e){be("start",_e)})}}function xa(x){x.stopPropagation();var b=Wi(x.calcPoint),D=ha(b);D!==!1&&(r.events.snap||Yn(u,r.cssClasses.tap,r.animationDuration),ht(D,b,!0,!0),yi(),be("slide",D,!0),be("update",D,!0),r.events.snap?Ci(x,{handleNumbers:[D]}):(be("change",D,!0),be("set",D,!0)))}function ya(x){var b=Wi(x.calcPoint),D=ge.getStep(b),N=ge.fromStepping(D);Object.keys(rt).forEach(function(U){U.split(".")[0]==="hover"&&rt[U].forEach(function(W){W.call(zt,N)})})}function Sa(x,b){if(Ri()||ui(b))return!1;var D=["Left","Right"],N=["Down","Up"],U=["PageDown","PageUp"],W=["Home","End"];r.dir&&!r.ort?D.reverse():r.ort&&!r.dir&&(N.reverse(),U.reverse());var le=x.key.replace("Arrow",""),q=le===U[0],_e=le===U[1],xe=le===N[0]||le===D[0]||q,ke=le===N[1]||le===D[1]||_e,Me=le===W[0],Ce=le===W[1];if(!xe&&!ke&&!Me&&!Ce)return!0;x.preventDefault();var we;if(ke||xe){var He=xe?0:1,Oe=Qi(b),Fe=Oe[He];if(Fe===null)return!1;Fe===!1&&(Fe=ge.getDefaultStep(Se[b],xe,r.keyboardDefaultStep)),_e||q?Fe*=r.keyboardPageMultiplier:Fe*=r.keyboardMultiplier,Fe=Math.max(Fe,1e-7),Fe=(xe?-1:1)*Fe,we=ot[b]+Fe}else Ce?we=r.spectrum.xVal[r.spectrum.xVal.length-1]:we=r.spectrum.xVal[0];return ht(b,ge.toStepping(we),!0,!0),be("slide",b),be("update",b),be("change",b),be("set",b),!1}function Gi(x){x.fixed||$.forEach(function(b,D){vt(n.start,b.children[0],Ci,{handleNumbers:[D]})}),x.tap&&vt(n.start,A,xa,{}),x.hover&&vt(n.move,A,ya,{hover:!0}),x.drag&&ce.forEach(function(b,D){if(!(b===!1||D===0||D===ce.length-1)){var N=$[D-1],U=$[D],W=[b],le=[N,U],q=[D-1,D];je(b,r.cssClasses.draggable),x.fixed&&(W.push(N.children[0]),W.push(U.children[0])),x.dragAll&&(le=$,q=Ge),W.forEach(function(_e){vt(n.start,_e,Ci,{handles:le,handleNumbers:q,connect:b})})}})}function _i(x,b){rt[x]=rt[x]||[],rt[x].push(b),x.split(".")[0]==="update"&&$.forEach(function(D,N){be("update",N)})}function ka(x){return x===ut.aria||x===ut.tooltips}function Vt(x){var b=x&&x.split(".")[0],D=b?x.substring(b.length):x;Object.keys(rt).forEach(function(N){var U=N.split(".")[0],W=N.substring(U.length);(!b||b===U)&&(!D||D===W)&&(!ka(W)||D===W)&&delete rt[N]})}function be(x,b,D){Object.keys(rt).forEach(function(N){var U=N.split(".")[0];x===U&&rt[N].forEach(function(W){W.call(zt,ot.map(r.format.to),b,ot.slice(),D||!1,Se.slice(),zt)})})}function Gt(x,b,D,N,U,W,le){var q;return $.length>1&&!r.events.unconstrained&&(N&&b>0&&(q=ge.getAbsoluteDistance(x[b-1],r.margin,!1),D=Math.max(D,q)),U&&b<$.length-1&&(q=ge.getAbsoluteDistance(x[b+1],r.margin,!0),D=Math.min(D,q))),$.length>1&&r.limit&&(N&&b>0&&(q=ge.getAbsoluteDistance(x[b-1],r.limit,!1),D=Math.min(D,q)),U&&b<$.length-1&&(q=ge.getAbsoluteDistance(x[b+1],r.limit,!0),D=Math.max(D,q))),r.padding&&(b===0&&(q=ge.getAbsoluteDistance(0,r.padding[0],!1),D=Math.max(D,q)),b===$.length-1&&(q=ge.getAbsoluteDistance(100,r.padding[1],!0),D=Math.min(D,q))),le||(D=ge.getStep(D)),D=Kn(D),D===x[b]&&!W?!1:D}function xi(x,b){var D=r.ort;return(D?b:x)+", "+(D?x:b)}function qi(x,b,D,N,U){var W=D.slice(),le=N[0],q=r.events.smoothSteps,_e=[!x,x],xe=[x,!x];N=N.slice(),x&&N.reverse(),N.length>1?N.forEach(function(Me,Ce){var we=Gt(W,Me,W[Me]+b,_e[Ce],xe[Ce],!1,q);we===!1?b=0:(b=we-W[Me],W[Me]=we)}):_e=xe=[!0];var ke=!1;N.forEach(function(Me,Ce){ke=ht(Me,D[Me]+b,_e[Ce],xe[Ce],!1,q)||ke}),ke&&(N.forEach(function(Me){be("update",Me),be("slide",Me)}),U!=null&&be("drag",le))}function zi(x,b){return r.dir?100-x-b:x}function Ma(x,b){Se[x]=b,ot[x]=ge.fromStepping(b);var D=zi(b,0)-ra,N="translate("+xi(D+"%","0")+")";if($[x].style[r.transformRule]=N,r.events.invertConnects&&Se.length>1){var U=Se.every(function(W,le,q){return le===0||W>=q[le-1]});if(It!==!U){Da();return}}Ft(x),Ft(x+1),It&&(Ft(x-1),Ft(x+2))}function yi(){Ge.forEach(function(x){var b=Se[x]>50?-1:1,D=3+($.length+b*x);$[x].style.zIndex=String(D)})}function ht(x,b,D,N,U,W){return U||(b=Gt(Se,x,b,D,N,!1,W)),b===!1?!1:(Ma(x,b),!0)}function Ft(x){if(ce[x]){var b=Se.slice();It&&b.sort(function(q,_e){return q-_e});var D=0,N=100;x!==0&&(D=b[x-1]),x!==ce.length-1&&(N=b[x]);var U=N-D,W="translate("+xi(zi(D,U)+"%","0")+")",le="scale("+xi(U/100,"1")+")";ce[x].style[r.transformRule]=W+" "+le}}function Yi(x,b){return x===null||x===!1||x===void 0||(typeof x=="number"&&(x=String(x)),x=r.format.from(x),x!==!1&&(x=ge.toStepping(x)),x===!1||isNaN(x))?Se[b]:x}function qt(x,b,D){var N=ni(x),U=Se[0]===void 0;b=b===void 0?!0:b,r.animate&&!U&&Yn(u,r.cssClasses.tap,r.animationDuration),Ge.forEach(function(q){ht(q,Yi(N[q],q),!0,!1,D)});var W=Ge.length===1?0:1;if(U&&ge.hasNoSize()&&(D=!0,Se[0]=0,Ge.length>1)){var le=100/(Ge.length-1);Ge.forEach(function(q){Se[q]=q*le})}for(;W<Ge.length;++W)Ge.forEach(function(q){ht(q,Se[q],!0,!0,D)});yi(),Ge.forEach(function(q){be("update",q),N[q]!==null&&b&&be("set",q)})}function Ta(x){qt(r.start,x)}function ba(x,b,D,N){if(x=Number(x),!(x>=0&&x<Ge.length))throw new Error("noUiSlider: invalid handle number, got: "+x);ht(x,Yi(b,x),!0,!0,N),be("update",x),D&&be("set",x)}function Ki(x){if(x===void 0&&(x=!1),x)return ot.length===1?ot[0]:ot.slice(0);var b=ot.map(r.format.to);return b.length===1?b[0]:b}function Ba(){for(Vt(ut.aria),Vt(ut.tooltips),Object.keys(r.cssClasses).forEach(function(x){ti(u,r.cssClasses[x])});u.firstChild;)u.removeChild(u.firstChild);delete u.noUiSlider}function Qi(x){var b=Se[x],D=ge.getNearbySteps(b),N=ot[x],U=D.thisStep.step,W=null;if(r.snap)return[N-D.stepBefore.startValue||null,D.stepAfter.startValue-N||null];U!==!1&&N+U>D.stepAfter.startValue&&(U=D.stepAfter.startValue-N),N>D.thisStep.startValue?W=D.thisStep.step:D.stepBefore.step===!1?W=!1:W=N-D.stepBefore.highestStep,b===100?U=null:b===0&&(W=null);var le=ge.countStepDecimals();return U!==null&&U!==!1&&(U=Number(U.toFixed(le))),W!==null&&W!==!1&&(W=Number(W.toFixed(le))),[W,U]}function wa(){return Ge.map(Qi)}function Ea(x,b){var D=Ki(),N=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];N.forEach(function(W){x[W]!==void 0&&(e[W]=x[W])});var U=eo(e);N.forEach(function(W){x[W]!==void 0&&(r[W]=U[W])}),ge=U.spectrum,r.margin=U.margin,r.limit=U.limit,r.padding=U.padding,r.pips?vi(r.pips):gi(),r.tooltips?ji():fi(),Se=[],qt(Bi(x.start)?x.start:D,b),x.connect&&Zi()}function Zi(){for(;G.firstChild;)G.removeChild(G.firstChild);for(var x=0;x<=r.handles;x++)ce[x]=mi(G,r.connect[x]),Ft(x);Gi({drag:r.events.drag,fixed:!0})}function Da(){It=!It,Jn(r,r.connect.map(function(x){return!x})),Zi()}function Pa(){A=la(u),sa(r.connect,A),Gi(r.events),qt(r.start),r.pips&&vi(r.pips),r.tooltips&&ji(),ma()}Pa();var zt={destroy:Ba,steps:wa,on:_i,off:Vt,get:Ki,set:qt,setHandle:ba,reset:Ta,disable:da,enable:pa,__moveHandles:function(x,b,D){qi(x,b,Se,D)},options:e,updateOptions:Ea,target:u,removePips:gi,removeTooltips:fi,getPositions:function(){return Se.slice()},getTooltips:function(){return Ae},getOrigins:function(){return $},pips:vi};return zt}function to(t,r){if(!t||!t.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+t);if(t.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var e=eo(r),n=Ls(t,e,r);return t.noUiSlider=n,n}var Di=class{to(r){return String(parseFloat(parseFloat(String(r)).toFixed(2)))}from(r){return parseFloat(r)}},fe=(()=>{class t{constructor(e,n,i){this.ngZone=e,this.el=n,this.renderer=i,this.handles=[],this.config={},this.change=new Ct(!0),this.update=new Ct(!0),this.slide=new Ct(!0),this.set=new Ct(!0),this.start=new Ct(!0),this.end=new Ct(!0),this.onChange=Function.prototype,this.cleanups=[],this.eventHandler=(s,u,A,G)=>{let $=this.toValues(u),ce=!1;if(this.value===void 0){this.value=$;return}Array.isArray($)&&this.value[A]!=$[A]&&(ce=!0),!Array.isArray($)&&this.value!=$&&(ce=!0),ce&&this.ngZone.run(()=>{s.observers.length>0&&s.emit($),this.onChange($)}),Array.isArray($)?this.value[A]=$[A]:this.value=$},this.defaultKeyHandler=s=>{let u=this.slider.steps(),A=parseInt(s.target.getAttribute("data-handle")),G=1,$=1,ce=0,he=0;switch(s.which){case 34:$=this.config.pageSteps;break;case 40:case 37:G=-1,ce=u[A][0],s.preventDefault();break;case 33:$=this.config.pageSteps;break;case 38:case 39:ce=u[A][1],s.preventDefault();break;default:break}he=G*$*ce;let Ae;Array.isArray(this.value)?(Ae=[...this.value],Ae[A]=Ae[A]+he):Ae=this.value+he,this.slider.set(Ae)}}ngOnChanges(e){this.slider&&(e.min||e.max||e.step||e.range)&&this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.updateOptions({range:Object.assign({},{min:this.min,max:this.max},this.range||{}),step:this.step})})})}ngOnDestroy(){for(this.slider.destroy();this.cleanups.length;)this.cleanups.pop()?.()}toValues(e){let n=e.map(this.config.format.from);return n.length==1?n[0]:n}writeValue(e){this.slider?this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.set(e)})}):e!==null&&(this.value=e,this.createSlider(e))}registerOnChange(e){this.onChange=e}registerOnTouched(e){}setDisabledState(e){e?this.renderer.setAttribute(this.el.nativeElement.childNodes[0],"disabled","true"):this.renderer.removeAttribute(this.el.nativeElement.childNodes[0],"disabled")}createSlider(e){let n=JSON.parse(JSON.stringify({behaviour:this.behaviour,connect:this.connect,limit:this.limit,start:e,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(n.tooltips=this.tooltips||this.config.tooltips,n.format=this.format||this.config.format||new Di,this.ngZone.runOutsideAngular(()=>{this.slider=to(this.el.nativeElement.querySelector("div"),Object.assign(this.config,n))}),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 s=this.config.onKeydown||this.defaultKeyHandler;this.ngZone.runOutsideAngular(()=>{this.cleanups.push(this.renderer.listen(i,"keydown",s),this.renderer.listen(i,"click",()=>{i.focus()}))})}}this.slider.on("set",(i,s,u)=>{this.eventHandler(this.set,i,s,u)}),this.slider.on("update",(i,s,u)=>{this.update.observers.length>0&&this.ngZone.run(()=>{this.update.emit(this.toValues(i))})}),this.slider.on("change",(i,s,u)=>{this.change.observers.length>0&&this.ngZone.run(()=>{this.change.emit(this.toValues(i))})}),this.slider.on("slide",(i,s,u)=>{this.eventHandler(this.slide,i,s,u)}),this.slider.on("start",(i,s,u)=>{this.start.observers.length>0&&this.ngZone.run(()=>{this.start.emit(this.toValues(i))})}),this.slider.on("end",(i,s,u)=>{this.end.observers.length>0&&this.ngZone.run(()=>{this.end.emit(this.toValues(i))})})}}return t.\u0275fac=function(e){return new(e||t)(Zt(dn),Zt(un),Zt(fn))},t.\u0275cmp=B({type:t,selectors:[["nouislider"]],hostVars:2,hostBindings:function(e,n){e&2&&M("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:[_n([{provide:Mn,useExisting:cn(()=>t),multi:!0}]),mn],decls:1,vars:1,template:function(e,n){e&1&&O(0,"div"),e&2&&S("disabled",n.disabled?!0:void 0)},styles:["[_nghost-%COMP%]{display:block;margin-top:1rem;margin-bottom:1rem}"]}),t})();function Hs(t,r){if(t&1){let e=j();a(0,"button",6),k("click",function(i){I(e);let s=m(2);return V(s.setTargetMode(0,i))}),a(1,"div",7),g(2,"i",8),d(),p(3),l(4,"translate"),a(5,"div",9),g(6,"i",10),d()()}if(t&2){let e=m(2);o(2),M("fa-check-circle",e.targetMode===0)("fa-blank",e.targetMode!==0),o(),f(" ",c(4,5,"accessories.control.manual")," ")}}function Rs(t,r){if(t&1){let e=j();a(0,"button",6),k("click",function(i){I(e);let s=m(2);return V(s.setTargetMode(1,i))}),a(1,"div",7),g(2,"i",8),d(),p(3),l(4,"translate"),a(5,"div",9),g(6,"i",10),d()()}if(t&2){let e=m(2);o(2),M("fa-check-circle",e.targetMode===1)("fa-blank",e.targetMode!==1),o(),f(" ",c(4,5,"accessories.control.auto")," ")}}function js(t,r){if(t&1&&(a(0,"h6",12),p(1),l(2,"translate"),d(),a(3,"div",5),l(4,"translate"),v(5,Hs,7,7,"button",13),v(6,Rs,7,7,"button",13),d()),t&2){let e=m();o(),_(c(2,4,"accessories.control.mode")),o(2),S("aria-label",c(4,6,"accessories.control.mode_control")),o(2),h(e.targetModeValidValues.includes(0)?5:-1),o(),h(e.targetModeValidValues.includes(1)?6:-1)}}function $s(t,r){if(t&1){let e=j();a(0,"h6",12),p(1),l(2,"translate"),d(),a(3,"nouislider",14),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetRotationSpeed.value,i)||(s.targetRotationSpeed.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onTargetRotationSpeedChange())}),d()}if(t&2){let e=m();o(),R("",c(2,6,"accessories.control.rotation_speed"),": ",e.targetRotationSpeed.value,"%"),o(2),T("min",e.targetRotationSpeed.min)("max",e.targetRotationSpeed.max)("step",e.targetRotationSpeed.step),z("ngModel",e.targetRotationSpeed.value)}}var io=(()=>{class t extends ae{targetState;targetMode;targetModeValidValues=[];targetRotationSpeed;targetRotationSpeedChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetRotationSpeedChanged,()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.targetState?(this.targetState=1,"Active"in this.service.values?this.service.getCharacteristic("Active").setValue(1):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(!0)):!this.targetRotationSpeed.value&&this.targetState&&(this.targetState=0,"Active"in this.service.values?this.service.getCharacteristic("Active").setValue(0):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(!1))}),this.targetState="Active"in this.service.values?this.service.values.Active:this.service.values.On?1:0,this.targetMode=this.service.values.TargetAirPurifierState,"TargetAirPurifierState"in this.service.values&&(this.targetModeValidValues=this.service.getCharacteristic("TargetAirPurifierState").validValues),this.loadRotationSpeed()}handleAccessoryUpdate(){this.targetState="Active"in this.service.values?this.service.values.Active:this.service.values.On?1:0,this.targetMode=this.service.values.TargetAirPurifierState,this.targetRotationSpeed&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed")?.value)}setTargetState(e,n){this.targetState=e,"Active"in this.service.values?this.service.getCharacteristic("Active").setValue(this.targetState):"On"in this.service.values&&this.service.getCharacteristic("On").setValue(this.targetState===1),this.blurTarget(n)}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("TargetAirPurifierState").setValue(this.targetMode),this.blurTarget(n)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}loadRotationSpeed(){let e=this.service.getCharacteristic("RotationSpeed");e&&(this.targetRotationSpeed={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #add8e6, #416bdf)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-air-purifier-manage"]],features:[re],decls:25,vars:23,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetState(0,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetState(1,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()()(),v(22,js,7,8),v(23,$s,4,8),d(),g(24,"div",11),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,15,"form.button_close")),o(3),S("aria-label",c(7,17,"accessories.control.state_control")),o(4),M("fa-check-circle",i.targetState===0)("fa-blank",i.targetState!==0),o(),f(" ",c(12,19,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetState===1)("fa-blank",i.targetState!==1),o(),f(" ",c(19,21,"accessories.control.on")," "),o(4),h(i.targetModeValidValues.length?22:-1),o(),h(i.targetRotationSpeed?23:-1))},dependencies:[de,pe,me,fe,E],styles:[".purifying[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .air-wave[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_wave-motion 5s ease-in-out infinite;stroke:#1976d2;stroke-opacity:.5}.purifying[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%]{animation-delay:.4s}@keyframes _ngcontent-%COMP%_wave-motion{0%,to{transform:translateY(0);stroke-opacity:.5}50%{transform:translateY(2px);stroke-opacity:1}}"],changeDetection:0})}return t})();var Q=(()=>{class t{downTimeout;done=!1;touchInProgress=!1;touchStartTime=0;duration=P(350);longClick=bi();shortClick=bi();onEnter(e){this.shortClick.emit(e)}onMouseUp(e){!this.touchInProgress&&!this.isSyntheticEvent()&&(clearTimeout(this.downTimeout),this.done||(this.done=!0,this.shortClick.emit(e)))}onTouchEnd(e){clearTimeout(this.downTimeout),this.done||(this.done=!0,this.shortClick.emit(e)),setTimeout(()=>{this.touchInProgress=!1},150)}onMouseDown(e){if("touches"in e){this.touchInProgress=!0,this.done=!1,this.touchStartTime=Date.now(),e.cancelable&&this.isSafariMobile()&&e.preventDefault(),this.downTimeout=setTimeout(()=>{this.done||(this.done=!0,this.longClick.emit(e))},this.duration());return}!this.touchInProgress&&!this.isSyntheticEvent()&&e.button===0&&(this.done=!1,this.downTimeout=setTimeout(()=>{this.done||(this.done=!0,this.longClick.emit(e))},this.duration()))}onMouseMove(){this.done=!0,clearTimeout(this.downTimeout)}isSyntheticEvent(){let e=Date.now()-this.touchStartTime;return this.touchInProgress&&e<300}isSafariMobile(){let e=navigator.userAgent;return Fn.test(e)&&Ln.test(e)&&!Nn.test(e)}ngOnDestroy(){clearTimeout(this.downTimeout),this.touchInProgress=!1}static \u0275fac=function(n){return new(n||t)};static \u0275dir=gn({type:t,selectors:[["","shortClick",""],["","longClick",""]],hostBindings:function(n,i){n&1&&k("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(){return i.onMouseMove()})("touchmove",function(){return i.onMouseMove()})},inputs:{duration:[1,"duration"]},outputs:{longClick:"longClick",shortClick:"shortClick"}})}return t})();function Us(t,r){if(t&1&&(a(0,"div",18),p(1),d()),t&2){let e,n=m(2);o(),f("",(e=n.service().values)==null?null:e.RotationSpeed,"%")}}function Ws(t,r){t&1&&(a(0,"div",18),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.on")))}function Gs(t,r){if(t&1&&v(0,Us,2,1,"div",18)(1,Ws,3,3,"div",18),t&2){let e=m();h("RotationSpeed"in e.service().values?0:1)}}function qs(t,r){t&1&&(a(0,"div",18),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.idle")))}function zs(t,r){t&1&&(a(0,"div",18),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.off")))}var no=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);hasTargetValidValues=!1;service=P.required();readyForControl=P(!1);ngOnInit(){"TargetAirPurifierState"in this.service().values&&(this.hasTargetValidValues=this.service().getCharacteristic("TargetAirPurifierState").validValues.length>0)}isOn(){let e=this.service().values;return!!(e?.Active&&!("CurrentAirPurifierState"in e)||e?.Active&&"CurrentAirPurifierState"in e&&e?.CurrentAirPurifierState!==0||e?.On)}isPurifying(){let e=this.service().values;return!!(e?.Active&&!("CurrentAirPurifierState"in e)||e?.Active&&"CurrentAirPurifierState"in e&&e?.CurrentAirPurifierState===2||e?.On)}onClick(){this.readyForControl()&&("Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1):"On"in this.service().values&&this.service().getCharacteristic("On").setValue(!this.service().values.On))}onLongClick(){if(this.readyForControl()&&(this.hasTargetValidValues||"RotationSpeed"in this.service().values)){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(io,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-air-purifier"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:23,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["d","M3,3.0706147 C3.28945166,3.8007217 5.978098,4.1773883 10.0660175,4.2006147 C12.5085124,4.2144929 18.5053297,1.8514837 22.4060749,1.1943647 C24.1588716,0.898084 26.5955382,1.1756219 28.716875,2.0221772","stroke","#7f7f7f","fill","transparent","stroke-width","1.5","stroke-linecap","round",1,"air-wave"],["d","M3,9.0706147 C3.28945166,9.8007217 5.978098,10.1773883 10.0660175,10.2006147 C12.5085124,10.2144929 18.5053297,7.8514837 22.4060749,7.1943647 C24.1588716,6.898084 26.5955382,7.1756219 28.716875,8.0221772","stroke","#7f7f7f","fill","transparent","stroke-width","1.5","stroke-linecap","round",1,"air-wave","bottom-line"],["x1","7","y1","14","x2","25","y2","14","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","7","y1","14","x2","2","y2","23","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","25","y1","14","x2","30","y2","23","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","8","y1","16.5","x2","24","y2","16.5","stroke","#7f7f7f","stroke-width","1","stroke-linecap","round"],["x1","7","y1","18.5","x2","25","y2","18.5","stroke","#7f7f7f","stroke-width","1","stroke-linecap","round"],["x1","6","y1","20.5","x2","26","y2","20.5","stroke","#7f7f7f","stroke-width","1","stroke-linecap","round"],["x1","2","y1","23","x2","30","y2","23","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","30","y1","23","x2","30","y2","31","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","2","y1","23","x2","2","y2","31","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["cx","15.5","cy","27","r","2.5","stroke","#7f7f7f","stroke-width","1","fill","#1976d2","fill-opacity","0.5"],["x1","2","y1","31","x2","30","y2","31","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"path",4)(6,"path",5)(7,"line",6)(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"circle",15)(17,"line",16),d()(),L(),a(18,"div",17),p(19),d(),v(20,Gs,2,1)(21,qs,3,3,"div",18)(22,zs,3,3,"div",18),d()()),n&2){let s;M("accessory-on",i.isOn())("purifying",i.isPurifying())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.air_purifier")),o(17),_(i.service().customName||i.service().serviceName),o(),h((s=i.service().values)!=null&&s.Active&&!("CurrentAirPurifierState"in i.service().values)||(s=i.service().values)!=null&&s.Active&&"CurrentAirPurifierState"in i.service().values&&((s=i.service().values)==null?null:s.CurrentAirPurifierState)===2||(s=i.service().values)!=null&&s.On?20:(s=i.service().values)!=null&&s.Active&&!("CurrentAirPurifierState"in i.service().values)||(s=i.service().values)!=null&&s.Active&&"CurrentAirPurifierState"in i.service().values&&((s=i.service().values)==null?null:s.CurrentAirPurifierState)===1||(s=i.service().values)!=null&&s.On?21:22)}},dependencies:[Q,E],styles:[".purifying[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .air-wave[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_wave-motion 5s ease-in-out infinite;stroke:#1976d2;stroke-opacity:.5}.purifying[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%]{animation-delay:.4s}@keyframes _ngcontent-%COMP%_wave-motion{0%,to{transform:translateY(0);stroke-opacity:.5}50%{transform:translateY(2px);stroke-opacity:1}}"],changeDetection:0})}return t})();var Ys=()=>[1,2],Ks=()=>[3,4];function Qs(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,2,"accessories.control.pm25")),o(3),f("",e.pm25," \xB5g/m\xB3")}}function Zs(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,2,"accessories.control.pm10")),o(3),f("",e.pm10," \xB5g/m\xB3")}}function Js(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,2,"accessories.control.ozone")),o(3),f("",e.ozone," \xB5g/m\xB3")}}function Xs(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,2,"accessories.control.nitrogen_dioxide")),o(3),f("",e.no2," \xB5g/m\xB3")}}function el(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,2,"accessories.control.sulphur_dioxide")),o(3),f("",e.so2," \xB5g/m\xB3")}}function tl(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,2,"accessories.control.voc")),o(3),f("",e.voc," \xB5g/m\xB3")}}function il(t,r){if(t&1&&(C(0,"ul",7),v(1,Qs,6,4,"li",9),v(2,Zs,6,4,"li",9),v(3,Js,6,4,"li",9),v(4,Xs,6,4,"li",9),v(5,el,6,4,"li",9),v(6,tl,6,4,"li",9),y()),t&2){let e=m();o(),h(e.pm25!==null?1:-1),o(),h(e.pm10!==null?2:-1),o(),h(e.ozone!==null?3:-1),o(),h(e.no2!==null?4:-1),o(),h(e.so2!==null?5:-1),o(),h(e.voc!==null?6:-1)}}var oo=(()=>{class t extends ae{labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];airQuality=0;pm25=null;pm10=null;ozone=null;no2=null;so2=null;voc=null;setupComponent(){this.updateFromService()}handleAccessoryUpdate(){this.updateFromService()}updateFromService(){this.airQuality=this.service.values?.AirQuality??0,this.pm25=this.service.values?.PM2_5Density??null,this.pm10=this.service.values?.PM10Density??null,this.ozone=this.service.values?.OzoneDensity??null,this.no2=this.service.values?.NitrogenDioxideDensity??null,this.so2=this.service.values?.SulphurDioxideDensity??null,this.voc=this.service.values?.VOCDensity??null}get hasReadings(){return this.pm25!==null||this.pm10!==null||this.ozone!==null||this.no2!==null||this.so2!==null||this.voc!==null}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-air-quality-sensor-manage"]],features:[re],decls:11,vars:14,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","px-4"],[1,"text-center","mb-3"],[1,"badge","rounded-pill","fs-6"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1),O(2,"h5",2),C(3,"button",3),l(4,"translate"),ve("click",function(){return i.dismissModal()}),y()(),C(5,"div",4)(6,"div",5)(7,"span",6),p(8),y()(),v(9,il,7,6,"ul",7),y(),O(10,"div",8),y()),n&2&&(o(2),Ee("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,10,"form.button_close")),o(4),M("bg-success",De(12,Ys).includes(i.airQuality))("bg-warning",De(13,Ks).includes(i.airQuality))("bg-danger",i.airQuality>=5),o(),f(" ",i.labels[i.airQuality||0]," "),o(),h(i.hasReadings?9:-1))},dependencies:[E],encapsulation:2,changeDetection:0})}return t})();var nl=()=>[3,4],ol=()=>[1,2],ro=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];canShowModal=te(()=>{let e=this.service().values;return e?.PM2_5Density!==void 0||e?.PM10Density!==void 0||e?.OzoneDensity!==void 0||e?.NitrogenDioxideDensity!==void 0||e?.SulphurDioxideDensity!==void 0||e?.VOCDensity!==void 0});onLongClick(){if(!this.canShowModal())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(oo,{size:"md",backdrop:"static",injector:e})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-air-quality-sensor"]],inputs:{service:[1,"service"]},decls:25,vars:19,consts:[["appLongClick","",1,"accessory-box","cursor-pointer",3,"longClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["transform","translate(5.1, 3) scale(0.68)"],["fill","#7f7f7f","d","M10.1435881,25.4905179 C10.286009,26.7050605 10.531254,27.9706077 10.8919121,29.2887103 C6.25942062,27.4175104 3.57173247,24.180341 2.39781526,19.889403 C1.54190101,16.760839 1.56931096,13.3702525 2.13724518,10.1783222 C2.1501971,10.1055292 2.17646546,9.96330988 2.17646546,9.96330988 C2.17646546,9.96330988 2.33770347,10.0208429 2.92620872,10.2769757 C4.60998953,11.0098007 6.29364519,11.9318703 7.85704035,13.0517448 C9.19214306,14.0080913 10.3087445,15.0188915 11.223018,16.0899229 L11.223018,16.0899229 C10.426841,18.1910249 9.96797687,20.5297906 9.99206994,23.1241613 L5.43414987,14.7605739 C5.30203551,14.5181498 4.99858593,14.4288208 4.75637627,14.5610522 C4.51416661,14.6932836 4.42491674,14.9970019 4.5570311,15.2394261 L10.1435881,25.4905179 Z M13.0333542,29.4136738 C10.9912074,19.9059085 11.088992,14.922477 21.5133004,6.73565972 C23.6127007,5.0868782 25.9746706,4.01306759 28.2881453,3.03596757 C29.0967374,2.69445726 29.3182746,2.61774651 29.3182746,2.61774651 C29.3182746,2.61774651 29.3543667,2.80737221 29.3721623,2.90442957 C30.1524904,7.1603367 30.190151,11.6811187 29.0141452,15.8525373 C27.1508473,22.4618551 22.5118613,27.1961122 14.1841552,29.413553 L25.4116309,9.74806947 C25.5485147,9.50831075 25.46529,9.20288341 25.2257434,9.06587843 C24.9861969,8.92887344 24.6810398,9.01217181 24.544156,9.25193053 L13.0333542,29.4136738 Z M13.4880693,32 C38.9655056,25.5 30.755735,0 30.755735,0 C30.755735,0 17.0308715,3.72274828 11.9893965,14.5 C7.99293593,9 0.873098889,8 0.873098889,8 C-3.99644586,30.5 13.4880693,32 13.4880693,32 Z",1,"leaves"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4),a(6,"g",5),g(7,"path",6),d(),g(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19),d()(),L(),a(21,"div",20),p(22),d(),a(23,"div",21),p(24),d()()()),n&2){let s,u,A,G,$,ce,he;M("accessory-on",((s=i.service().values)==null?null:s.AirQuality)===5)("fill-red",((u=i.service().values)==null?null:u.AirQuality)===5)("fill-orange",De(17,nl).includes((A=i.service().values)==null?null:A.AirQuality))("fill-green",De(18,ol).includes((G=i.service().values)==null?null:G.AirQuality)),o(2),S("aria-label",c(3,15,"accessories.core.air_quality_sensor")),o(20),_(i.service().customName||i.service().serviceName),o(),M("grey-text",(($=i.service().values)==null?null:$.AirQuality)<5)("red-text",((ce=i.service().values)==null?null:ce.AirQuality)===5),o(),f(" ",i.labels[((he=i.service().values)==null?null:he.AirQuality)||0]," ")}},dependencies:[Q,E],styles:[".fill-red[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .leaves[_ngcontent-%COMP%]{fill:#d32f2f!important;fill-opacity:.5!important}.fill-orange[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .leaves[_ngcontent-%COMP%]{fill:#ff9800!important;fill-opacity:.5!important}.fill-green[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .leaves[_ngcontent-%COMP%]{fill:#4caf50!important;fill-opacity:.5!important}"],changeDetection:0})}return t})();function rl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.battery_notcharging")," ")}function al(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.battery_charging")," ")}function sl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.battery_notchargeable")," ")}function ll(t,r){t&1&&(C(0,"span",10),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.battery_low")))}function cl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.battery_charged")," ")}function dl(t,r){if(t&1&&v(0,sl,2,3)(1,ll,3,3,"span",10)(2,cl,2,3),t&2){let e,n=m(2);h(((e=n.service().values)==null?null:e.ChargingState)===2?0:((e=n.service().values)==null?null:e.StatusLowBattery)===1||((e=n.service().values)==null?null:e.BatteryLevel)===0?1:2)}}function pl(t,r){if(t&1&&v(0,al,2,3)(1,dl,3,1),t&2){let e,n=m();h(((e=n.service().values)==null?null:e.ChargingState)===1?0:1)}}var ao=(()=>{class t{service=P.required();Math=Math;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-battery"]],inputs:{service:[1,"service"]},decls:15,vars:11,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","5","height","13","rx","2","stroke","none","stroke-width","0"],["x","29.5","y","8","width","2","height","7","rx","2","stroke","none","fill","#7f7f7f","stroke-width","1"],["x","1","y","5","width","29","height","13","rx","2","stroke","#7f7f7f","fill","none","stroke-width","0.75"],["x","16","y","28","font-size","9","text-anchor","middle","fill","#7f7f7f","font-family","Arial, sans-serif"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"red-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"rect",5)(7,"rect",6),C(8,"text",7),p(9),y()()(),L(),C(10,"div",8),p(11),y(),C(12,"div",9),v(13,rl,2,3)(14,pl,2,1),y()()()),n&2){let s,u,A,G,$,ce;M("accessory-on",((s=i.service().values)==null?null:s.ChargingState)===1),o(2),S("aria-label",c(3,9,"accessories.core.battery")),o(3),S("width",i.Math.round(29/100*(((u=i.service().values)==null?null:u.BatteryLevel)||0)))("fill",((A=i.service().values)==null?null:A.ChargingState)===1?"#4caf50":((A=i.service().values)==null?null:A.StatusLowBattery)===1?"#e69533":"#808080")("fill-opacity",((G=i.service().values)==null?null:G.ChargingState)===1||((G=i.service().values)==null?null:G.StatusLowBattery)===1?"0.5":"1"),o(4),f(" ",(($=i.service().values)==null?null:$.BatteryLevel)||0,"% "),o(2),_(i.service().customName||i.service().serviceName),o(2),h(((ce=i.service().values)==null?null:ce.ChargingState)===0?13:14)}},dependencies:[E],styles:['.batterylevel-battery[_ngcontent-%COMP%]{position:relative;width:75px;height:30px;border:1px solid rgb(128,128,128);border-radius:4px;margin-bottom:6px;text-align:center;display:flex;align-items:center;justify-content:center;color:#d3d3d3;font-size:14px}.batterylevel-battery[_ngcontent-%COMP%]:after{content:"";position:absolute;top:7px;right:-6px;width:6px;height:13px;background-color:gray;border-radius:2px}.batterylevel-battery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{position:absolute;top:0;left:0;height:100%;background-color:gray;z-index:1;transition:width .3s ease-in-out}.batterylevel-battery[_ngcontent-%COMP%] .battery-text[_ngcontent-%COMP%]{position:relative;z-index:2}.batterylevel-battery[_ngcontent-%COMP%] .battery-over[_ngcontent-%COMP%]{color:#d3d3d3}.batterylevel-battery[_ngcontent-%COMP%] .battery-under[_ngcontent-%COMP%]{color:gray}@media(max-width:575px){.batterylevel-battery[_ngcontent-%COMP%]{width:50px;height:25px;font-size:12px}.batterylevel-battery[_ngcontent-%COMP%]:after{top:4px}}.lowbattery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{background-color:#e69533}.charging[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{background-color:#4caf50}'],changeDetection:0})}return t})();function ml(t,r){t&1&&(C(0,"div",16),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function ul(t,r){t&1&&(C(0,"div",17),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var so=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-carbon-dioxide-sensor"]],inputs:{service:[1,"service"]},decls:21,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","30","height","12","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1.25"],["text-anchor","middle","dominant-baseline","middle","font-family","Arial","font-size","7.5","x","16","y","7.7","fill","#7f7f7f","stroke-width","0.6","font-weight","900",1,"type"],["x1","6","y1","14.5","x2","25.5","y2","14.5","stroke","#1976d2","stroke-opacity","0.5","stroke-width","2"],["stroke-linecap","round","x1","5","y1","13","x2","6.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","11","y1","13","x2","11","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","15.5","y1","13","x2","15.5","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","20","y1","13","x2","20","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","26","y1","13","x2","24.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","6.5","y1","16","x2","24.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["d","M3,24.0706147 C3.28945166,24.8007217 5.978098,25.1773883 10.0660175,25.2006147 C12.5085124,25.2144929 18.5053297,22.8514837 22.4060749,22.1943647 C24.1588716,21.898084 26.5955382,22.1756219 28.716875,23.0221772","stroke","#7f7f7f","fill","transparent","stroke-width","1.5","stroke-linecap","round",1,"air-line"],["d","M3,30.0706147 C3.28945166,30.8007217 5.978098,31.1773883 10.0660175,31.2006147 C12.5085124,31.2144929 18.5053297,28.8514837 22.4060749,28.1943647 C24.1588716,27.898084 26.5955382,28.1756219 28.716875,29.0221772","stroke","#7f7f7f","fill","transparent","stroke-width","1.5","stroke-linecap","round",1,"air-line"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"text",5),p(7," CO2 "),y(),O(8,"line",6)(9,"line",7)(10,"line",8)(11,"line",9)(12,"line",10)(13,"line",11)(14,"line",12)(15,"path",13)(16,"path",14),y()(),L(),C(17,"div",15),p(18),y(),v(19,ml,3,3,"div",16)(20,ul,3,3,"div",17),y()()),n&2){let s,u;M("accessory-on",(s=i.service().values)==null?null:s.CarbonDioxideDetected),o(2),S("aria-label",c(3,5,"accessories.core.carbon_dioxide_sensor")),o(16),_(i.service().customName||i.service().serviceName),o(),h((u=i.service().values)!=null&&u.CarbonDioxideDetected?19:20)}},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .air-line[_ngcontent-%COMP%]{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .type[_ngcontent-%COMP%]{fill:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{opacity:1}50%{opacity:.2}}"],changeDetection:0})}return t})();function fl(t,r){t&1&&(C(0,"div",16),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function gl(t,r){t&1&&(C(0,"div",17),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var lo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-carbon-monoxide-sensor"]],inputs:{service:[1,"service"]},decls:21,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","30","height","12","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1.25"],["text-anchor","middle","dominant-baseline","middle","font-family","Arial","font-size","7.5","x","16","y","7.7","fill","#7f7f7f","stroke-width","0.6","font-weight","900",1,"type"],["x1","6","y1","14.5","x2","25.5","y2","14.5","stroke","#1976d2","stroke-opacity","0.5","stroke-width","2"],["stroke-linecap","round","x1","5","y1","13","x2","6.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","11","y1","13","x2","11","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","15.5","y1","13","x2","15.5","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","20","y1","13","x2","20","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","26","y1","13","x2","24.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","6.5","y1","16","x2","24.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["d","M3,23 C6,25 9,21 12,23 C15,25 18,21 21,23 C24,25 27,21 30,23","stroke","#7f7f7f","fill","transparent","stroke-width","1.5","stroke-linecap","round",1,"air-line"],["d","M3,30 C6,32 9,28 12,30 C15,32 18,28 21,30 C24,32 27,28 30,30","stroke","#7f7f7f","fill","transparent","stroke-width","1.5","stroke-linecap","round",1,"air-line"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"text",5),p(7," CO "),y(),O(8,"line",6)(9,"line",7)(10,"line",8)(11,"line",9)(12,"line",10)(13,"line",11)(14,"line",12)(15,"path",13)(16,"path",14),y()(),L(),C(17,"div",15),p(18),y(),v(19,fl,3,3,"div",16)(20,gl,3,3,"div",17),y()()),n&2){let s,u;M("accessory-on",(s=i.service().values)==null?null:s.CarbonMonoxideDetected),o(2),S("aria-label",c(3,5,"accessories.core.carbon_monoxide_sensor")),o(16),_(i.service().customName||i.service().serviceName),o(),h((u=i.service().values)!=null&&u.CarbonMonoxideDetected?19:20)}},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .air-line[_ngcontent-%COMP%]{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .type[_ngcontent-%COMP%]{fill:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{opacity:1}50%{opacity:.2}}"],changeDetection:0})}return t})();function vl(t,r){t&1&&(C(0,"div",9),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.open")))}function hl(t,r){t&1&&(C(0,"div",10),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.closed")))}var co=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-contact-sensor"]],inputs:{service:[1,"service"]},decls:13,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","15","height","30","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1.5",1,"left-object"],["x","16","y","1","width","15","height","30","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1.5",1,"right-object"],["x","10","y","11","width","6","height","10","rx","1","stroke","#7f7f7f","fill","#4caf50","fill-opacity","0.5","stroke-width","0.5",1,"left-sensor"],["x","16","y","11","width","6","height","10","rx","1","stroke","#7f7f7f","fill","#4caf50","fill-opacity","0.5","stroke-width","0.5",1,"right-sensor"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"rect",5)(7,"rect",6)(8,"rect",7),y()(),L(),C(9,"div",8),p(10),y(),v(11,vl,3,3,"div",9)(12,hl,3,3,"div",10),y()()),n&2){let s,u;M("accessory-on",(s=i.service().values)==null?null:s.ContactSensorState),o(2),S("aria-label",c(3,5,"accessories.core.contact_sensor")),o(8),_(i.service().customName||i.service().serviceName),o(),h((u=i.service().values)!=null&&u.ContactSensorState?11:12)}},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .left-sensor[_ngcontent-%COMP%]{fill:#ff9800;fill-opacity:.5}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .right-object[_ngcontent-%COMP%]{x:24px}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .right-sensor[_ngcontent-%COMP%]{x:24px;fill:#ff9800;fill-opacity:.5}"],changeDetection:0})}return t})();function Cl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function _l(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m(2);R(" ",c(1,2,"accessories.control.open")," ",e.service.getCharacteristic("CurrentPosition").value,"% ")}}function xl(t,r){if(t&1&&v(0,Cl,2,3)(1,_l,2,4),t&2){let e=m();h((e.service.values==null?null:e.service.values.CurrentPosition)===0?0:1)}}function yl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.opening"),"... ")}function Sl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closing"),"... ")}var po=(()=>{class t extends ae{targetMode;targetPositionChanged=new Z;targetPosition;setupComponent(){this.createDebouncedSubscription(this.targetPositionChanged,()=>{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)}),this.targetMode=this.service.values.On,this.loadTargetPosition()}handleAccessoryUpdate(){this.targetMode=this.service.values.On,this.targetPosition&&(this.targetPosition.value=this.service.getCharacteristic("TargetPosition")?.value)}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}loadTargetPosition(){let e=this.service.getCharacteristic("TargetPosition");e&&(this.targetPosition={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #242424, #ffd6aa)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-door-manage"]],features:[re],decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5)(7,"div",6),v(8,xl,2,1)(9,yl,2,3)(10,Sl,2,3),d()(),a(11,"h6",7),p(12),l(13,"translate"),d(),a(14,"nouislider",8),K("ngModelChange",function(u){return Y(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),k("ngModelChange",function(){return i.onTargetPositionChange()}),d(),a(15,"div",9)(16,"span",10),p(17),l(18,"translate"),d(),a(19,"span",10),p(20),l(21,"translate"),d()(),a(22,"h6",7),p(23),l(24,"translate"),d(),a(25,"nouislider",11),K("ngModelChange",function(u){return Y(i.service.getCharacteristic("CurrentPosition").value,u)||(i.service.getCharacteristic("CurrentPosition").value=u),u}),d(),a(26,"div",9)(27,"span",10),p(28),l(29,"translate"),d(),a(30,"span",10),p(31),l(32,"translate"),d()()(),g(33,"div",12),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,20,"form.button_close")),o(5),h((i.service.values==null?null:i.service.values.PositionState)===2?8:(i.service.values==null?null:i.service.values.PositionState)===1?9:(i.service.values==null?null:i.service.values.PositionState)===0?10:-1),o(4),R("",c(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),o(2),T("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),z("ngModel",i.targetPosition.value),o(3),_(c(18,24,"accessories.control.closed")),o(3),_(c(21,26,"accessories.control.open")),o(3),R(" ",c(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),o(2),T("min",0)("max",100)("step",1)("disabled",!0),z("ngModel",i.service.getCharacteristic("CurrentPosition").value),o(3),_(c(29,30,"accessories.control.closed")),o(3),_(c(32,32,"accessories.control.open")))},dependencies:[fe,de,pe,me,E],encapsulation:2,changeDetection:0})}return t})();function kl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function Ml(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e,n=m(2);R(" ",c(1,2,"accessories.control.open")," ",(e=n.service().values)==null?null:e.CurrentPosition,"% ")}}function Tl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.open")," ")}function bl(t,r){if(t&1&&(a(0,"div",11),v(1,kl,2,3),v(2,Ml,2,4),v(3,Tl,2,3),d()),t&2){let e,n,i,s=m();o(),h(((e=s.service().values)==null?null:e.CurrentPosition)===0?1:-1),o(),h(((n=s.service().values)==null?null:n.CurrentPosition)>0&&((n=s.service().values)==null?null:n.CurrentPosition)<100?2:-1),o(),h(((i=s.service().values)==null?null:i.CurrentPosition)===100?3:-1)}}function Bl(t,r){t&1&&(a(0,"div",12),p(1),l(2,"translate"),d()),t&2&&(o(),f("",c(2,1,"accessories.control.opening"),"..."))}function wl(t,r){t&1&&(a(0,"div",12),p(1),l(2,"translate"),d()),t&2&&(o(),f("",c(2,1,"accessories.control.closing"),"..."))}var mo=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&(this.service().values.TargetPosition?this.service().getCharacteristic("TargetPosition").setValue(0):this.service().getCharacteristic("TargetPosition").setValue(100))}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(po,{size:"md",backdrop:"static",injector:e})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-door"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:16,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","7.8","y","0.8","width","16.4","height","30.2","rx","0.5","stroke","#7f7f7f","fill","none","stroke-width","1.5"],["x","9.6","y","2.6","width","12.8","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1",1,"outline"],["x","11.2","y","4.2","width","9.6","height","10.8","stroke","#7f7f7f","fill-opacity","0","stroke-width","0.5","rx","0.25",1,"panel"],["x","11.2","y","16.8","width","9.6","height","10.8","stroke","#7f7f7f","fill-opacity","0","stroke-width","0.5","rx","0.25",1,"panel"],["x1","0","y1","31","x2","32","y2","31","stroke","#7f7f7f","stroke-width","1.5"],["x","19.25","y","15.87","width","1.55","height","0.05","stroke","#1976d2","fill","none","stroke-width","0.5","rx","10",1,"handle"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4)(6,"rect",5)(7,"rect",6)(8,"rect",7)(9,"line",8)(10,"rect",9),d()(),L(),a(11,"div",10),p(12),d(),v(13,bl,4,3,"div",11)(14,Bl,3,3,"div",12)(15,wl,3,3,"div",12),d()()),n&2){let s,u,A;dt("--position",(((s=i.service().values)==null?null:s.CurrentPosition)??0)/100),M("accessory-on",(u=i.service().values)==null?null:u.CurrentPosition)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.door")),o(10),_(i.service().customName||i.service().serviceName),o(),h(((A=i.service().values)==null?null:A.PositionState)===2?13:((A=i.service().values)==null?null:A.PositionState)===1?14:((A=i.service().values)==null?null:A.PositionState)===0?15:-1)}},dependencies:[Q,E],styles:["svg[_ngcontent-%COMP%] .outline[_ngcontent-%COMP%]{transition:width 3s ease;width:calc(12.8px - 9px * var(--position, 0))}svg[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{transition:width 3s ease;width:calc(9.6px - 9px * var(--position, 0))}svg[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{opacity:calc(1 - var(--position, 0));transition:opacity 3s ease}"],changeDetection:0})}return t})();function El(t,r){if(t&1){let e=j();a(0,"div",5),l(1,"translate"),a(2,"button",7),k("click",function(i){I(e);let s=m();return V(s.setActive(0,i))}),a(3,"div",8),g(4,"i",9),d(),p(5),l(6,"translate"),a(7,"div",10),g(8,"i",11),d()(),a(9,"button",7),k("click",function(i){I(e);let s=m();return V(s.setActive(1,i))}),a(10,"div",8),g(11,"i",9),d(),p(12),l(13,"translate"),a(14,"div",10),g(15,"i",11),d()()()}if(t&2){let e=m();S("aria-label",c(1,11,"accessories.control.mode_control")),o(4),M("fa-check-circle",(e.service.values==null?null:e.service.values.Active)===0)("fa-blank",(e.service.values==null?null:e.service.values.Active)!==0),o(),f(" ",c(6,13,"accessories.control.off")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.Active)===1)("fa-blank",(e.service.values==null?null:e.service.values.Active)!==1),o(),f(" ",c(13,15,"accessories.control.on")," ")}}function Dl(t,r){if(t&1){let e=j();a(0,"div",5),l(1,"translate"),a(2,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(0,i))}),a(3,"div",8),g(4,"i",9),d(),p(5),l(6,"translate"),a(7,"div",10),g(8,"i",11),d()(),a(9,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(1,i))}),a(10,"div",8),g(11,"i",9),d(),p(12),l(13,"translate"),a(14,"div",10),g(15,"i",11),d()(),a(16,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(2,i))}),a(17,"div",8),g(18,"i",9),d(),p(19),l(20,"translate"),a(21,"div",10),g(22,"i",11),d()()()}if(t&2){let e=m();S("aria-label",c(1,16,"accessories.control.media_control")),o(4),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===0)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==0),o(),f(" ",c(6,18,"accessories.control.play")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===1)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==1),o(),f(" ",c(13,20,"accessories.control.pause")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===2)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==2),o(),f(" ",c(20,22,"accessories.control.stop")," ")}}function Pl(t,r){if(t&1){let e=j();a(0,"h6"),p(1),l(2,"translate"),d(),a(3,"div",12),l(4,"translate"),a(5,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(!1,i))}),a(6,"div",8),g(7,"i",9),d(),p(8),l(9,"translate"),a(10,"div",10),g(11,"i",11),d()(),a(12,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(!0,i))}),a(13,"div",8),g(14,"i",9),d(),p(15),l(16,"translate"),a(17,"div",10),g(18,"i",11),d()()()}if(t&2){let e=m();o(),f(" ",c(2,12,"Active"in e.service.values||"TargetMediaState"in e.service.values?"accessories.control.speaker_volume":"menu.label_status")," "),o(2),S("aria-label",c(4,14,"accessories.control.mute_control")),o(4),M("fa-check-circle",!e.targetMode)("fa-blank",e.targetMode),o(),f(" ",c(9,16,"accessories.control.not_mute")," "),o(6),M("fa-check-circle",e.targetMode)("fa-blank",!e.targetMode),o(),f(" ",c(16,18,"accessories.control.mute")," ")}}function Al(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),d(),a(3,"nouislider",14),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetVolume.value,i)||(s.targetVolume.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onVolumeStateChange())}),d()}if(t&2){let e=m();o(),R("",c(2,6,"accessories.control.speaker_volume"),": ",e.targetVolume.value,"%"),o(2),T("min",e.targetVolume.min)("max",e.targetVolume.max)("step",e.targetVolume.step),z("ngModel",e.targetVolume.value)}}var uo=(()=>{class t extends ae{targetMode;targetVolume;targetVolumeChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetVolumeChanged,()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)}),this.targetMode=this.service.values.Mute,this.loadTargetVolume()}handleAccessoryUpdate(){this.targetMode=this.service.values.Mute,this.targetVolume&&(this.targetVolume.value=this.service.getCharacteristic("Volume")?.value)}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("Mute").setValue(this.targetMode),this.blurTarget(n)}setActive(e,n){this.service.getCharacteristic("Active").setValue(e),this.blurTarget(n)}setTargetState(e,n){this.service.getCharacteristic("TargetMediaState").setValue(e),this.blurTarget(n)}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}loadTargetVolume(){let e=this.service.getCharacteristic("Volume");e&&(this.targetVolume={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #ffffff, #ffd966, #ff0000)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-doorbell-manage"]],features:[re],decls:11,vars:7,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],[1,"mt-4","mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4),v(6,El,16,17,"div",5)(7,Dl,23,24,"div",5),v(8,Pl,19,20),v(9,Al,4,8),d(),g(10,"div",6),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,5,"form.button_close")),o(3),h("Active"in i.service.values?6:"TargetMediaState"in i.service.values?7:-1),o(2),h("Mute"in i.service.values?8:-1),o(),h(i.targetVolume?9:-1))},dependencies:[de,pe,me,fe,E],encapsulation:2,changeDetection:0})}return t})();var Ol=()=>["Speaker","SmartSpeaker"];function Il(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.playing")," ")}function Vl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.paused")," ")}function Fl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.stopped")," ")}function Ll(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" \xB7 ",c(1,1,"accessories.control.mute")," ")}function Nl(t,r){if(t&1&&p(0),t&2){let e,n=m(3);f(" \xB7 ",(e=n.service().values)==null?null:e.Volume,"% ")}}function Hl(t,r){if(t&1&&v(0,Nl,1,1),t&2){let e=m(2);h("Volume"in e.service().values?0:-1)}}function Rl(t,r){if(t&1&&(a(0,"div",7),v(1,Il,2,3)(2,Vl,2,3)(3,Fl,2,3),v(4,Ll,2,3)(5,Hl,1,1),d()),t&2){let e,n,i=m();o(),h((e=(e=i.service().values)==null?null:e.CurrentMediaState)===0?1:e===1?2:e===2?3:-1),o(3),h("Mute"in i.service().values&&((n=i.service().values)!=null&&n.Mute)?4:5)}}function jl(t,r){t&1&&(g(0,"div",8),l(1,"translate")),t&2&&T("innerText",c(1,1,"accessories.control.off"))}function $l(t,r){t&1&&(g(0,"div",8),l(1,"translate")),t&2&&T("innerText",c(1,1,"accessories.control.mute"))}function Ul(t,r){if(t&1&&(a(0,"div",7),p(1),d()),t&2){let e,n=m();o(),f("",(e=n.service().values)==null?null:e.Volume,"%")}}function Wl(t,r){t&1&&(a(0,"div",7),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.on")))}function Gl(t,r){t&1&&(a(0,"div",7),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.core.doorbell")))}var fo=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);isOn(){let e=this.service().values;return"Active"in e?!!e?.Active:"CurrentMediaState"in e?[0,1].includes(e?.CurrentMediaState):"Mute"in e&&"Volume"in e?!e?.Mute&&e?.Volume>0:"Mute"in e&&!e?.Mute}onClick(){this.readyForControl()&&("Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active===0?1:0):"TargetMediaState"in this.service().values?this.service().getCharacteristic("TargetMediaState").setValue(this.service().values.TargetMediaState===0?1:0):"Mute"in this.service().values&&this.service().getCharacteristic("Mute").setValue(!this.service().values.Mute))}onLongClick(){if(this.readyForControl()&&("Active"in this.service().values||"TargetMediaState"in this.service().values||"Volume"in this.service().values||"Mute"in this.service().values)){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(uo,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-doorbell"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:15,vars:12,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","6","y","1","width","18","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","2"],["cx","15","cy","16","r","5","stroke","#7f7f7f","stroke-width","2","fill","#1976d2","fill-opacity","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4)(6,"circle",5),d()(),L(),a(7,"div",6),p(8),d(),v(9,Rl,6,2,"div",7)(10,jl,2,3,"div",8)(11,$l,2,3,"div",8)(12,Ul,2,1,"div",7)(13,Wl,3,3,"div",7)(14,Gl,3,3,"div",7),d()()),n&2){let s,u;M("accessory-on",i.isOn())("paused","CurrentMediaState"in i.service().values&&((s=i.service().values)==null?null:s.CurrentMediaState)===1)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.doorbell")),o(6),_(i.service().customName||i.service().serviceName),o(),h("CurrentMediaState"in i.service().values?9:"Active"in i.service().values&&!((u=i.service().values)!=null&&u.Active)?10:"Mute"in i.service().values&&((u=i.service().values)!=null&&u.Mute)?11:"Volume"in i.service().values?12:De(11,Ol).includes(i.service().customType||i.service().type)?13:14)}},dependencies:[Q,E],encapsulation:2,changeDetection:0})}return t})();function ql(t,r){if(t&1){let e=j();a(0,"h6",12),p(1),l(2,"translate"),d(),a(3,"div",13),l(4,"translate"),a(5,"button",6),k("click",function(i){I(e);let s=m();return V(s.setRotationDirection(0,i))}),a(6,"div",7),g(7,"i",8),d(),p(8),l(9,"translate"),a(10,"div",9),g(11,"i",10),d()(),a(12,"button",6),k("click",function(i){I(e);let s=m();return V(s.setRotationDirection(1,i))}),a(13,"div",7),g(14,"i",8),d(),p(15),l(16,"translate"),a(17,"div",9),g(18,"i",10),d()()()}if(t&2){let e=m();o(),_(c(2,12,"accessories.control.rotation_direction")),o(2),S("aria-label",c(4,14,"accessories.control.direction_control")),o(4),M("fa-check-circle",(e.service.values==null?null:e.service.values.RotationDirection)===0)("fa-blank",(e.service.values==null?null:e.service.values.RotationDirection)!==0),o(),f(" ",c(9,16,"accessories.control.rotation_clockwise")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.RotationDirection)===1)("fa-blank",(e.service.values==null?null:e.service.values.RotationDirection)!==1),o(),f(" ",c(16,18,"accessories.control.rotation_c_clockwise")," ")}}function zl(t,r){t&1&&p(0," % ")}function Yl(t,r){if(t&1){let e=j();a(0,"h6",12),p(1),l(2,"translate"),v(3,zl,1,0),d(),a(4,"nouislider",14),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetRotationSpeed.value,i)||(s.targetRotationSpeed.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onTargetRotationSpeedChange())}),d()}if(t&2){let e=m();o(),R(" ",c(2,7,"accessories.control.rotation_speed"),": ",e.targetRotationSpeed.value," "),o(2),h(e.targetRotationSpeed.unit==="percentage"?3:-1),o(),T("min",e.targetRotationSpeed.min)("max",e.targetRotationSpeed.max)("step",e.targetRotationSpeed.step),z("ngModel",e.targetRotationSpeed.value)}}var go=(()=>{class t extends ae{targetMode;targetRotationSpeed;targetRotationSpeedChanged=new Z;hasRotationDirection=!1;setupComponent(){this.createDebouncedSubscription(this.targetRotationSpeedChanged,()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.targetMode?(this.targetMode=!0,"On"in this.service.values?this.service.getCharacteristic("On").setValue(this.targetMode):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.targetMode?1:0)):!this.targetRotationSpeed.value&&this.targetMode&&(this.targetMode=!1,"On"in this.service.values?this.service.getCharacteristic("On").setValue(this.targetMode):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.targetMode?1:0))}),this.targetMode="On"in this.service.values?this.service.values.On:this.service.values.Active===1,this.loadRotationSpeed(),"RotationDirection"in this.service.values&&(this.hasRotationDirection=!0)}handleAccessoryUpdate(){this.targetMode="On"in this.service.values?this.service.values.On:this.service.values.Active===1,this.targetRotationSpeed&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed")?.value)}setTargetMode(e,n){this.targetMode=e,"On"in this.service.values?this.service.getCharacteristic("On").setValue(this.targetMode):"Active"in this.service.values&&this.service.getCharacteristic("Active").setValue(this.targetMode?1:0),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue),this.blurTarget(n)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(e,n){this.service.getCharacteristic("RotationDirection").setValue(e),this.blurTarget(n)}loadRotationSpeed(){let e=this.service.getCharacteristic("RotationSpeed");e&&(this.targetRotationSpeed={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep,unit:e.unit},this.applySliderGradient("linear-gradient(to right, #add8e6, #416bdf)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-fan-manage"]],features:[re],decls:25,vars:23,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetMode(!1,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetMode(!0,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()()(),v(22,ql,19,20),v(23,Yl,5,9),d(),g(24,"div",11),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,15,"form.button_close")),o(3),S("aria-label",c(7,17,"accessories.control.mode_control")),o(4),M("fa-check-circle",!i.targetMode)("fa-blank",i.targetMode),o(),f(" ",c(12,19,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetMode)("fa-blank",!i.targetMode),o(),f(" ",c(19,21,"accessories.control.on")," "),o(4),h(i.hasRotationDirection?22:-1),o(),h(i.targetRotationSpeed?23:-1))},dependencies:[de,pe,me,fe,E],encapsulation:2,changeDetection:0})}return t})();function Kl(t,r){if(t&1&&(a(0,"div",8),p(1),d()),t&2){let e,n=m();o(),R("",(e=n.service().values)==null?null:e.RotationSpeed,"",n.rotationSpeedUnit)}}function Ql(t,r){if(t&1&&(g(0,"div",9),l(1,"translate")),t&2){let e,n=m();T("innerText",c(1,1,(e=n.service().values)!=null&&e.On||(e=n.service().values)!=null&&e.Active?"accessories.control.on":"accessories.control.off"))}}var vo=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);rotationSpeedUnit="";hasRotationDirection=!1;ngOnInit(){"RotationSpeed"in this.service().values&&this.service().serviceCharacteristics.find(n=>n.type==="RotationSpeed")?.unit==="percentage"&&(this.rotationSpeedUnit="%"),"RotationDirection"in this.service().values&&(this.hasRotationDirection=!0)}onClick(){this.readyForControl()&&("On"in this.service().values?this.service().getCharacteristic("On").setValue(!this.service().values.On):"Active"in this.service().values&&this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1),"RotationSpeed"in this.service().values&&!this.service().values.On&&!this.service().values.RotationSpeed&&(this.service().values.RotationSpeed=this.service().getCharacteristic("RotationSpeed").maxValue))}onLongClick(){if(this.readyForControl()&&("RotationSpeed"in this.service().values||"RotationDirection"in this.service().values)){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(go,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-fan"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:12,vars:13,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["transform","translate(-0.85, 0.2) scale(0.99)"],["fill","#7f7f7f","fill-rule","evenodd","clip-rule","evenodd","d","M20.988 10.265c.382-.596.951-1.424 1.844-2.71C25.462 3.61 23.456 0 18 0c-6.263 0-10.09 5.649-6.835 11.923-.594-.382-1.416-.948-2.682-1.826-3.945-2.63-7.555-.625-7.555 4.832 0 6.308 5.73 10.145 12.057 6.763-.383.599-.958 1.436-1.872 2.753C8.485 28.39 10.49 32 15.947 32c6.267 0 10.095-5.655 6.83-11.932.593.382 1.412.946 2.668 1.818 3.945 2.63 7.555.625 7.555-4.832 0-6.293-5.703-10.127-12.012-6.788Zm-.407 2.602C26.101 8.924 31 11.805 31 17.053c0 3.877-1.845 4.902-4.445 3.169-2.525-1.761-3.46-2.385-4.406-2.763a7.87 7.87 0 0 0-1.01-.317c.105-.382.161-.785.161-1.2 0-1.327-.919-3.134-.919-3.134ZM18.405 10.85c.378-.946 1.001-1.88 2.763-4.405C22.902 3.845 21.877 2 18 2c-5.247 0-8.129 4.899-4.186 10.419 0 0 1.89-.919 3.186-.919.398 0 .783.052 1.15.149.064-.269.149-.533.255-.798ZM11.78 14.524c-.946-.378-1.88-1.001-4.405-2.763-2.6-1.734-4.445-.709-4.445 3.168 0 5.247 4.899 8.129 10.419 4.186 0 0-.848-1.812-.848-3.115 0-.416.057-.819.163-1.201a7.81 7.81 0 0 0-1.183-.275Zm3.763 6.625c-.378.946-1.001 1.88-2.763 4.405-1.734 2.6-.709 4.445 3.168 4.445 5.248 0 8.13-4.899 4.187-10.419 0 0-1.831.919-3.133.919-.416 0-.819-.057-1.201-.162a7.802 7.802 0 0 0-.258.812ZM17 19.5c-1.933 0-3.5-1.567-3.5-3.5s1.567-3.5 3.5-3.5 3.5 1.567 3.5 3.5-1.567 3.5-3.5 3.5Z",1,"fan-blades"],["cx","16","cy","16","r","3.6","stroke","#7f7f7f","stroke-width","2","fill","#1976d2","fill-opacity","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3)(5,"g",4),g(6,"path",5),d(),g(7,"circle",6),d()(),L(),a(8,"div",7),p(9),d(),v(10,Kl,2,2,"div",8)(11,Ql,2,3,"div",9),d()()),n&2){let s,u,A;M("accessory-on",i.service().values.On||i.service().values.Active)("cursor-pointer",i.readyForControl()),o(2),M("spin",(((s=i.service().values)==null?null:s.On)||((s=i.service().values)==null?null:s.Active))&&(!i.hasRotationDirection||i.hasRotationDirection&&((s=i.service().values)==null?null:s.RotationDirection)===0))("spin-counter",(((u=i.service().values)==null?null:u.On)||((u=i.service().values)==null?null:u.Active))&&i.hasRotationDirection&&((u=i.service().values)==null?null:u.RotationDirection)===1),S("aria-label",c(3,11,"accessories.core.fan")),o(7),_(i.service().customName||i.service().serviceName),o(),h((A=i.service().values)!=null&&A.On&&((A=i.service().values)!=null&&A.RotationSpeed)?10:11)}},dependencies:[Q,E],styles:[".spin[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] g[_ngcontent-%COMP%] .fan-blades[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fa-spin 2s infinite linear;transform-origin:53.5% 50%}.spin-counter[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] g[_ngcontent-%COMP%] .fan-blades[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fa-spin-counter 2s infinite linear;transform-origin:53.5% 50%}@keyframes _ngcontent-%COMP%_fa-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes _ngcontent-%COMP%_fa-spin-counter{0%{transform:rotate(0)}to{transform:rotate(-359deg)}}"],changeDetection:0})}return t})();var ho=(()=>{class t extends ae{targetMode;setupComponent(){this.applySliderGradient("linear-gradient(to right, #d32f2f, #e69533, #42d672, #42d672)")}handleAccessoryUpdate(){}resetFilterLife(e){this.service.getCharacteristic("ResetFilterIndication").setValue(1),this.blurTarget(e)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-filter-maintenance-manage"]],features:[re],decls:16,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mb-4"],[3,"min","max","step","disabled","ngModel"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mt-5","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"modal-footer"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"h6",5),p(7),l(8,"translate"),d(),g(9,"nouislider",6),a(10,"div",7),l(11,"translate"),a(12,"button",8),k("click",function(u){return i.resetFilterLife(u)}),p(13),l(14,"translate"),d()()(),g(15,"div",9),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,11,"form.button_close")),o(4),R("",c(8,13,"accessories.control.filter_level"),": ",i.service.values==null?null:i.service.values.FilterLifeLevel,"%"),o(2),T("min",0)("max",100)("step",1)("disabled",!0)("ngModel",i.service.values==null?null:i.service.values.FilterLifeLevel),o(),S("aria-label",c(11,15,"accessories.core.filter_maintenance")),o(3),f(" ",c(14,17,"form.button_reset")," "))},dependencies:[de,pe,me,fe,E],encapsulation:2,changeDetection:0})}return t})();function Zl(t,r){t&1&&(p(0," \xB7 "),a(1,"span",27),p(2),l(3,"translate"),d()),t&2&&(o(2),_(c(3,1,"accessories.control.replace")))}var Co=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(ho,{size:"md",backdrop:"static",injector:e})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-filter-maintenance"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:32,vars:14,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["cx","16","cy","7","rx","11","ry","5","stroke","#7f7f7f","stroke-width","1.75","fill","#4caf50","fill-opacity","0.5",1,"status"],["cx","16","cy","7","rx","6","ry","2","stroke","#7f7f7f","stroke-width","1","fill","#e0e0e0","fill-opacity","1",1,"back"],["x1","5","y1","7","x2","5","y2","27.7","stroke","#7f7f7f","stroke-width","1.75"],["x1","27","y1","7","x2","27","y2","27.7","stroke","#7f7f7f","stroke-width","1.75"],["d","M4.7,27 A13,6.9 0 0,0 27.3,27","stroke","#7f7f7f","stroke-width","1.75","fill","none"],["x1","7","y1","10","x2","7","y2","29","stroke","#7f7f7f","stroke-width","1"],["x1","9","y1","11","x2","9","y2","29","stroke","#7f7f7f","stroke-width","1"],["x1","11","y1","12","x2","11","y2","30","stroke","#7f7f7f","stroke-width","1"],["x1","13","y1","12","x2","13","y2","30","stroke","#7f7f7f","stroke-width","1"],["x1","15","y1","12","x2","15","y2","30","stroke","#7f7f7f","stroke-width","1"],["x1","17","y1","12","x2","17","y2","30","stroke","#7f7f7f","stroke-width","1"],["x1","19","y1","12","x2","19","y2","30","stroke","#7f7f7f","stroke-width","1"],["x1","21","y1","12","x2","21","y2","30","stroke","#7f7f7f","stroke-width","1"],["x1","23","y1","11","x2","23","y2","29","stroke","#7f7f7f","stroke-width","1"],["x1","25","y1","10","x2","25","y2","29","stroke","#7f7f7f","stroke-width","1"],["x1","11","y1","6","x2","11","y2","8","stroke","#7f7f7f","stroke-width","1"],["x1","13","y1","5","x2","13","y2","9","stroke","#7f7f7f","stroke-width","1"],["x1","15","y1","5","x2","15","y2","9","stroke","#7f7f7f","stroke-width","1"],["x1","17","y1","5","x2","17","y2","9","stroke","#7f7f7f","stroke-width","1"],["x1","19","y1","5","x2","19","y2","9","stroke","#7f7f7f","stroke-width","1"],["x1","21","y1","6","x2","21","y2","8","stroke","#7f7f7f","stroke-width","1"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"red-text"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"ellipse",4)(6,"ellipse",5)(7,"line",6)(8,"line",7)(9,"path",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20)(22,"line",21)(23,"line",22)(24,"line",23)(25,"line",24),d()(),L(),a(26,"div",25),p(27),d(),a(28,"div",26)(29,"span"),p(30),d(),v(31,Zl,4,3),d()()()),n&2){let s,u,A,G,$;M("replace",((s=i.service().values)==null?null:s.FilterChangeIndication)===1||((s=i.service().values)==null?null:s.FilterLifeLevel)<10)("dirty",((u=i.service().values)==null?null:u.FilterChangeIndication)!==1&&((u=i.service().values)==null?null:u.FilterLifeLevel)<50)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,12,"accessories.core.filter_maintenance")),o(25),_(i.service().customName||i.service().serviceName),o(2),M("red-text",((A=i.service().values)==null?null:A.FilterChangeIndication)===1),o(),f(" ",(G=i.service().values)==null?null:G.FilterLifeLevel,"% "),o(),h((($=i.service().values)==null?null:$.FilterChangeIndication)===1?31:-1)}},dependencies:[Q,E],styles:[".dirty[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .status[_ngcontent-%COMP%]{fill:#e69533!important}.replace[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .status[_ngcontent-%COMP%]{fill:#d32f2f!important}body.dark-mode[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .back[_ngcontent-%COMP%]{fill:#2b2b2b!important}"],changeDetection:0})}return t})();function Jl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.open")," ")}function Xl(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function ec(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.opening"),"... ")}function tc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closing"),"... ")}function ic(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.stopped")," ")}function nc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" (",c(1,1,"accessories.control.obstructed"),") ")}var _o=(()=>{class t extends ae{targetState;lastMovingDirection;setupComponent(){this.targetState=this.resolveTargetState(this.service.values.CurrentDoorState)}handleAccessoryUpdate(){this.targetState=this.resolveTargetState(this.service.values.CurrentDoorState)}resolveTargetState(e){return(e===2||e===3)&&(this.lastMovingDirection=e),e===4&&this.lastMovingDirection!==void 0?this.lastMovingDirection===3?0:1:e}setTargetState(e,n){this.service.getCharacteristic("TargetDoorState").setValue(e),this.blurTarget(n)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-garage-door-opener-manage"]],features:[re],decls:31,vars:23,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-4","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1),O(2,"h5",2),C(3,"button",3),l(4,"translate"),ve("click",function(){return i.dismissModal()}),y()(),C(5,"div",4)(6,"div",5)(7,"div",6),v(8,Jl,2,3)(9,Xl,2,3)(10,ec,2,3)(11,tc,2,3)(12,ic,2,3),v(13,nc,2,3),y()(),C(14,"div",7),l(15,"translate"),C(16,"button",8),ve("click",function(u){return i.setTargetState(0,u)}),C(17,"div",9),O(18,"i",10),y(),p(19),l(20,"translate"),C(21,"div",11),O(22,"i",12),y()(),C(23,"button",8),ve("click",function(u){return i.setTargetState(1,u)}),C(24,"div",9),O(25,"i",10),y(),p(26),l(27,"translate"),C(28,"div",11),O(29,"i",12),y()()()(),O(30,"div",13),y()),n&2){let s;o(2),Ee("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,15,"form.button_close")),o(5),h((s=i.service.values==null?null:i.service.values.CurrentDoorState)===0?8:s===1?9:s===2?10:s===3?11:s===4?12:-1),o(5),h(i.service.values!=null&&i.service.values.ObstructionDetected?13:-1),o(),S("aria-label",c(15,17,"accessories.control.state_control")),o(4),M("fa-check-circle",i.targetState===0)("fa-blank",i.targetState!==0),o(),f(" ",c(20,19,"accessories.control.open")," "),o(6),M("fa-check-circle",i.targetState===1)("fa-blank",i.targetState!==1),o(),f(" ",c(27,21,"accessories.control.close")," ")}},dependencies:[E],encapsulation:2,changeDetection:0})}return t})();var oc=()=>[0,2,3,4];function rc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" (",c(1,1,"accessories.control.obstructed"),") ")}function ac(t,r){if(t&1&&(a(0,"div",31),p(1),l(2,"translate"),v(3,rc,2,3),d()),t&2){let e,n=m(2);o(),f(" ",c(2,2,"accessories.control.open")," "),o(2),h((e=n.service().values)!=null&&e.ObstructionDetected?3:-1)}}function sc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" (",c(1,1,"accessories.control.obstructed"),") ")}function lc(t,r){if(t&1&&(a(0,"div",33),p(1),l(2,"translate"),v(3,sc,2,3),d()),t&2){let e,n,i,s=m(2);M("grey-text",!((e=s.service().values)!=null&&e.ObstructionDetected))("red-text",(n=s.service().values)==null?null:n.ObstructionDetected),o(),f(" ",c(2,6,"accessories.control.closed")," "),o(2),h((i=s.service().values)!=null&&i.ObstructionDetected?3:-1)}}function cc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" (",c(1,1,"accessories.control.obstructed"),") ")}function dc(t,r){if(t&1&&(a(0,"div",31),p(1),l(2,"translate"),v(3,cc,2,3),d()),t&2){let e,n=m(2);o(),f(" ",c(2,2,"accessories.control.opening"),"... "),o(2),h((e=n.service().values)!=null&&e.ObstructionDetected?3:-1)}}function pc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" (",c(1,1,"accessories.control.obstructed"),") ")}function mc(t,r){if(t&1&&(a(0,"div",31),p(1),l(2,"translate"),v(3,pc,2,3),d()),t&2){let e,n=m(2);o(),f(" ",c(2,2,"accessories.control.closing"),"... "),o(2),h((e=n.service().values)!=null&&e.ObstructionDetected?3:-1)}}function uc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" (",c(1,1,"accessories.control.obstructed"),") ")}function fc(t,r){if(t&1&&(a(0,"div",31),p(1),l(2,"translate"),v(3,uc,2,3),d()),t&2){let e,n=m(2);o(),f(" ",c(2,2,"accessories.control.stopped")," "),o(2),h((e=n.service().values)!=null&&e.ObstructionDetected?3:-1)}}function gc(t,r){if(t&1&&v(0,ac,4,4,"div",31)(1,lc,4,8,"div",32)(2,dc,4,4,"div",31)(3,mc,4,4,"div",31)(4,fc,4,4,"div",31),t&2){let e,n=m();h((e=(e=n.service().values)==null?null:e.CurrentDoorState)===0?0:e===1?1:e===2?2:e===3?3:e===4?4:-1)}}function vc(t,r){t&1&&(a(0,"div",31),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.open")))}function hc(t,r){t&1&&(a(0,"div",34),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.closed")))}function Cc(t,r){if(t&1&&v(0,vc,3,3,"div",31)(1,hc,3,3,"div",34),t&2){let e,n=m();h((e=n.service().values)!=null&&e.On||(e=n.service().values)!=null&&e.Active?0:1)}}var xo=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);fromStopped=Le(!1);lastDoorState=void 0;lastMovingDirection=void 0;constructor(){pn(()=>{let e=this.service().values?.CurrentDoorState;if(e!==this.lastDoorState){let n=this.lastDoorState===4;this.fromStopped.set(n&&(e===2||e===3)),(e===2||e===3)&&(this.lastMovingDirection=e),this.lastDoorState=e}})}onClick(){if(this.readyForControl())if("TargetDoorState"in this.service().values){let e=this.service().values.CurrentDoorState;e===4?this.service().getCharacteristic("TargetDoorState").setValue(this.lastMovingDirection===3?0:1):e===1||e===3?this.service().getCharacteristic("TargetDoorState").setValue(0):this.service().getCharacteristic("TargetDoorState").setValue(1)}else"On"in this.service().values?this.service().getCharacteristic("On").setValue(!this.service().values.On):"Active"in this.service().values&&this.service().getCharacteristic("Active").setValue(!this.service().values.Active)}onLongClick(){if(this.readyForControl()&&"TargetDoorState"in this.service().values){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(_o,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-garage-door-opener"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:35,vars:24,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["cx","15.5","cy","10.25","r","3","fill","#1976d2","fill-opacity","0.5",1,"window"],["cx","15.5","cy","10.25","r","3","stroke","#7f7f7f","stroke-width","0.5","fill","none"],["x1","1","y1","12","x2","15","y2","1","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","31","y1","12","x2","16","y2","1","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["cx","15.5","cy","1.3","r","0.5","stroke","#7f7f7f","stroke-width","1.5"],["x1","3","y1","11","x2","3","y2","31","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","29","y1","11","x2","29","y2","31","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","3","y1","31","x2","6","y2","31","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","26","y1","31","x2","29","y2","31","stroke","#7f7f7f","stroke-width","1.5","stroke-linecap","round"],["x1","6","y1","17","x2","6","y2","31","stroke","#7f7f7f","stroke-width","1.5"],["x1","26","y1","17","x2","26","y2","31","stroke","#7f7f7f","stroke-width","1.5"],["x1","5.25","y1","17","x2","26.75","y2","17","stroke","#7f7f7f","stroke-width","1"],["x1","6.75","y1","18","x2","25.25","y2","18","stroke","#1976d2","stroke-width","1","stroke-opacity","0.5",1,"line","line1"],["x1","5.25","y1","19","x2","26.75","y2","19","stroke","#7f7f7f","stroke-width","1",1,"line","line2"],["x1","6.75","y1","20","x2","25.25","y2","20","stroke","#1976d2","stroke-width","1","stroke-opacity","0.5",1,"line","line3"],["x1","5.25","y1","21","x2","26.75","y2","21","stroke","#7f7f7f","stroke-width","1",1,"line","line4"],["x1","6.75","y1","22","x2","25.25","y2","22","stroke","#1976d2","stroke-width","1","stroke-opacity","0.5",1,"line","line5"],["x1","5.25","y1","23","x2","26.75","y2","23","stroke","#7f7f7f","stroke-width","1",1,"line","line6"],["x1","6.75","y1","24","x2","25.25","y2","24","stroke","#1976d2","stroke-width","1","stroke-opacity","0.5",1,"line","line7"],["x1","5.25","y1","25","x2","26.75","y2","25","stroke","#7f7f7f","stroke-width","1",1,"line","line8"],["x1","6.75","y1","26","x2","25.25","y2","26","stroke","#1976d2","stroke-width","1","stroke-opacity","0.5",1,"line","line9"],["x1","5.25","y1","27","x2","26.75","y2","27","stroke","#7f7f7f","stroke-width","1",1,"line","line10"],["x1","6.75","y1","28","x2","25.25","y2","28","stroke","#1976d2","stroke-width","1","stroke-opacity","0.5",1,"line","line11"],["x1","5.25","y1","29","x2","26.75","y2","29","stroke","#7f7f7f","stroke-width","1",1,"line","line12"],["x1","6.75","y1","30","x2","25.25","y2","30","stroke","#1976d2","stroke-width","1","stroke-opacity","0.5",1,"line","line13"],["x1","5.25","y1","31","x2","26.75","y2","31","stroke","#7f7f7f","stroke-width","1",1,"line","line14"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label",3,"grey-text","red-text"],[1,"accessory-label"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"circle",4)(6,"circle",5)(7,"line",6)(8,"line",7)(9,"circle",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20)(22,"line",21)(23,"line",22)(24,"line",23)(25,"line",24)(26,"line",25)(27,"line",26)(28,"line",27)(29,"line",28)(30,"line",29),d()(),L(),a(31,"div",30),p(32),d(),v(33,gc,5,1)(34,Cc,2,1),d()()),n&2){let s,u,A,G,$,ce,he;M("accessory-on",((s=i.service().values)==null?null:s.ObstructionDetected)||De(23,oc).includes((s=i.service().values)==null?null:s.CurrentDoorState)||((s=i.service().values)==null?null:s.On)||((s=i.service().values)==null?null:s.Active))("opening",((u=i.service().values)==null?null:u.CurrentDoorState)===2)("open",((A=i.service().values)==null?null:A.CurrentDoorState)===0)("closing",((G=i.service().values)==null?null:G.CurrentDoorState)===3)("closed",(($=i.service().values)==null?null:$.CurrentDoorState)===1)("stopped",((ce=i.service().values)==null?null:ce.CurrentDoorState)===4)("from-stopped",i.fromStopped())("obstructed",(he=i.service().values)==null?null:he.ObstructionDetected)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,21,"accessories.core.garage_door_opener")),o(30),_(i.service().customName||i.service().serviceName),o(),h("CurrentDoorState"in i.service().values?33:34)}},dependencies:[Q,E],styles:[".opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .window[_ngcontent-%COMP%]{fill:#ff9800!important;fill-opacity:.5!important}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fade-out .5s ease-in-out forwards}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line1[_ngcontent-%COMP%]{animation-delay:9.282s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line2[_ngcontent-%COMP%]{animation-delay:8.568s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line3[_ngcontent-%COMP%]{animation-delay:7.854s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line4[_ngcontent-%COMP%]{animation-delay:7.14s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line5[_ngcontent-%COMP%]{animation-delay:6.426s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line6[_ngcontent-%COMP%]{animation-delay:5.712s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line7[_ngcontent-%COMP%]{animation-delay:4.998s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line8[_ngcontent-%COMP%]{animation-delay:4.284s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line9[_ngcontent-%COMP%]{animation-delay:3.57s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line10[_ngcontent-%COMP%]{animation-delay:2.856s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line11[_ngcontent-%COMP%]{animation-delay:2.142s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line12[_ngcontent-%COMP%]{animation-delay:1.428s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line13[_ngcontent-%COMP%]{animation-delay:.714s}.opening[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line14[_ngcontent-%COMP%]{animation-delay:0s}@keyframes _ngcontent-%COMP%_fade-out{to{opacity:0}}.opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line7[_ngcontent-%COMP%], .opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line8[_ngcontent-%COMP%], .opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line9[_ngcontent-%COMP%], .opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line10[_ngcontent-%COMP%], .opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line11[_ngcontent-%COMP%], .opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line12[_ngcontent-%COMP%], .opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line13[_ngcontent-%COMP%], .opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line14[_ngcontent-%COMP%]{animation:none!important;opacity:0}.opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line6[_ngcontent-%COMP%]{animation-delay:0s!important}.opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line5[_ngcontent-%COMP%]{animation-delay:.714s!important}.opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line4[_ngcontent-%COMP%]{animation-delay:1.428s!important}.opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line3[_ngcontent-%COMP%]{animation-delay:2.142s!important}.opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line2[_ngcontent-%COMP%]{animation-delay:2.856s!important}.opening.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line1[_ngcontent-%COMP%]{animation-delay:3.57s!important}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line1[_ngcontent-%COMP%], .closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line2[_ngcontent-%COMP%], .closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line3[_ngcontent-%COMP%], .closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line4[_ngcontent-%COMP%], .closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line5[_ngcontent-%COMP%], .closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line6[_ngcontent-%COMP%]{animation:none!important;opacity:1}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line7[_ngcontent-%COMP%]{animation-delay:0s!important}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line8[_ngcontent-%COMP%]{animation-delay:.714s!important}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line9[_ngcontent-%COMP%]{animation-delay:1.428s!important}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line10[_ngcontent-%COMP%]{animation-delay:2.142s!important}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line11[_ngcontent-%COMP%]{animation-delay:2.856s!important}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line12[_ngcontent-%COMP%]{animation-delay:3.57s!important}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line13[_ngcontent-%COMP%]{animation-delay:4.284s!important}.closing.from-stopped[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line14[_ngcontent-%COMP%]{animation-delay:4.998s!important}.open[_ngcontent-%COMP%] .window[_ngcontent-%COMP%]{fill:#d32f2f!important;fill-opacity:.5!important}.open[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{opacity:0}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .window[_ngcontent-%COMP%]{fill:#ff9800!important;fill-opacity:.5!important}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{opacity:0;animation:_ngcontent-%COMP%_fade-in .5s ease-in-out forwards}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line1[_ngcontent-%COMP%]{animation-delay:0s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line2[_ngcontent-%COMP%]{animation-delay:.714s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line3[_ngcontent-%COMP%]{animation-delay:1.428s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line4[_ngcontent-%COMP%]{animation-delay:2.142s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line5[_ngcontent-%COMP%]{animation-delay:2.856s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line6[_ngcontent-%COMP%]{animation-delay:3.57s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line7[_ngcontent-%COMP%]{animation-delay:4.284s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line8[_ngcontent-%COMP%]{animation-delay:4.998s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line9[_ngcontent-%COMP%]{animation-delay:5.712s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line10[_ngcontent-%COMP%]{animation-delay:6.426s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line11[_ngcontent-%COMP%]{animation-delay:7.14s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line12[_ngcontent-%COMP%]{animation-delay:7.854s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line13[_ngcontent-%COMP%]{animation-delay:8.568s}.closing[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .line14[_ngcontent-%COMP%]{animation-delay:9.282s}@keyframes _ngcontent-%COMP%_fade-in{to{opacity:1}}.closed[_ngcontent-%COMP%] .window[_ngcontent-%COMP%]{fill:#4caf50!important;fill-opacity:.5!important}.closed[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{opacity:1}.stopped[_ngcontent-%COMP%] .window[_ngcontent-%COMP%]{fill:#d32f2f!important}.stopped[_ngcontent-%COMP%] .line7[_ngcontent-%COMP%], .stopped[_ngcontent-%COMP%] .line8[_ngcontent-%COMP%], .stopped[_ngcontent-%COMP%] .line9[_ngcontent-%COMP%], .stopped[_ngcontent-%COMP%] .line10[_ngcontent-%COMP%], .stopped[_ngcontent-%COMP%] .line11[_ngcontent-%COMP%], .stopped[_ngcontent-%COMP%] .line12[_ngcontent-%COMP%], .stopped[_ngcontent-%COMP%] .line13[_ngcontent-%COMP%], .stopped[_ngcontent-%COMP%] .line14[_ngcontent-%COMP%]{opacity:0}.obstructed[_ngcontent-%COMP%] .window[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_flash 2s infinite;fill:#d32f2f!important}@keyframes _ngcontent-%COMP%_flash{0%,to{opacity:1}50%{opacity:.2}}"],changeDetection:0})}return t})();function _c(t,r){if(t&1){let e=j();a(0,"button",7),k("click",function(i){I(e);let s=m(2);return V(s.setTargetMode(0,i))}),a(1,"div",8),g(2,"i",9),d(),p(3),l(4,"translate"),a(5,"div",10),g(6,"i",11),d()()}if(t&2){let e=m(2);o(2),M("fa-check-circle",e.targetMode===0)("fa-blank",e.targetMode!==0),o(),f(" ",c(4,5,"accessories.control.auto")," ")}}function xc(t,r){if(t&1){let e=j();a(0,"button",7),k("click",function(i){I(e);let s=m(2);return V(s.setTargetMode(1,i))}),a(1,"div",8),g(2,"i",9),d(),p(3),l(4,"translate"),a(5,"div",10),g(6,"i",11),d()()}if(t&2){let e=m(2);o(2),M("fa-check-circle",e.targetMode===1)("fa-blank",e.targetMode!==1),o(),f(" ",c(4,5,"accessories.control.heat")," ")}}function yc(t,r){if(t&1){let e=j();a(0,"button",7),k("click",function(i){I(e);let s=m(2);return V(s.setTargetMode(2,i))}),a(1,"div",8),g(2,"i",9),d(),p(3),l(4,"translate"),a(5,"div",10),g(6,"i",11),d()()}if(t&2){let e=m(2);o(2),M("fa-check-circle",e.targetMode===2)("fa-blank",e.targetMode!==2),o(),f(" ",c(4,5,"accessories.control.cool")," ")}}function Sc(t,r){if(t&1&&(a(0,"h6",13),p(1),l(2,"translate"),d(),a(3,"div",14),l(4,"translate"),v(5,_c,7,7,"button",15),v(6,xc,7,7,"button",15),v(7,yc,7,7,"button",15),d()),t&2){let e=m();o(),_(c(2,5,"accessories.control.mode")),o(2),S("aria-label",c(4,7,"accessories.control.mode_control")),o(2),h(e.targetStateValidValues.includes(0)?5:-1),o(),h(e.targetStateValidValues.includes(1)?6:-1),o(),h(e.targetStateValidValues.includes(2)?7:-1)}}function kc(t,r){if(t&1){let e=j();a(0,"h6",16),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),l(6,"convertTemp"),l(7,"number"),l(8,"uppercase"),d(),a(9,"div",17)(10,"nouislider",18),K("ngModelChange",function(i){I(e);let s=m();return Y(s.autoTemp,i)||(s.autoTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onAutoTemperatureStateChange())}),d()()}if(t&2){let e=m();o(),Mt(" ",c(2,9,"accessories.control.temperature_thresholds"),": ",ue(4,13,c(3,11,e.autoTemp[0]),"1.0-1"),"\xB0",c(5,16,e.temperatureUnits)," - ",ue(7,20,c(6,18,e.autoTemp[1]),"1.0-1"),"\xB0",c(8,23,e.temperatureUnits)," "),o(9),T("min",e.HeatingThresholdTemperature.minValue)("max",e.CoolingThresholdTemperature.maxValue)("step",e.CoolingThresholdTemperature.minStep),z("ngModel",e.autoTemp)}}function Mc(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),d(),a(6,"div",17)(7,"nouislider",18),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetHeatingTemp,i)||(s.targetHeatingTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onTemperatureStateChange())}),d()()}if(t&2){let e=m();o(),Ze(" ",c(2,7,"accessories.control.heating_threshold"),": ",ue(4,11,c(3,9,e.targetHeatingTemp),"1.0-1"),"\xB0",c(5,14,e.temperatureUnits)," "),o(6),T("min",e.HeatingThresholdTemperature.minValue)("max",e.HeatingThresholdTemperature.maxValue)("step",e.HeatingThresholdTemperature.minStep),z("ngModel",e.targetHeatingTemp)}}function Tc(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),d(),a(6,"div",17)(7,"nouislider",18),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetCoolingTemp,i)||(s.targetCoolingTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onTemperatureStateChange())}),d()()}if(t&2){let e=m();o(),Ze(" ",c(2,7,"accessories.control.cooling_threshold"),": ",ue(4,11,c(3,9,e.targetCoolingTemp),"1.0-1"),"\xB0",c(5,14,e.temperatureUnits)," "),o(6),T("min",e.CoolingThresholdTemperature.minValue)("max",e.CoolingThresholdTemperature.maxValue)("step",e.CoolingThresholdTemperature.minStep),z("ngModel",e.targetCoolingTemp)}}function bc(t,r){t&1&&p(0," % ")}function Bc(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),v(3,bc,1,0),d(),a(4,"div",19)(5,"nouislider",18),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetRotationSpeed.value,i)||(s.targetRotationSpeed.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onTargetRotationSpeedChange())}),d()()}if(t&2){let e=m();o(),R(" ",c(2,7,"accessories.control.rotation_speed"),": ",e.targetRotationSpeed.value," "),o(2),h(e.targetRotationSpeed.unit==="percentage"?3:-1),o(2),T("min",e.targetRotationSpeed.min)("max",e.targetRotationSpeed.max)("step",e.targetRotationSpeed.step),z("ngModel",e.targetRotationSpeed.value)}}var yo=(()=>{class t extends ae{$settings=w(Te);type;temperatureUnits=this.$settings.env.temperatureUnits;targetState;targetMode;targetTemperatureChanged=new Z;targetStateValidValues=[];CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;serviceFan;targetRotationSpeed;targetRotationSpeedChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetTemperatureChanged,()=>{this.HeatingThresholdTemperature&&this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp),this.CoolingThresholdTemperature&&this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp)}),this.createDebouncedSubscription(this.targetRotationSpeedChanged,()=>{this.serviceFan&&this.serviceFan.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value)}),this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHeaterCoolerState,this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.targetStateValidValues=this.service.getCharacteristic("TargetHeaterCoolerState").validValues,this.targetStateValidValues.includes(1)&&!this.targetStateValidValues.includes(2)?this.type="heater":this.targetStateValidValues.includes(2)&&!this.targetStateValidValues.includes(1)&&(this.type="cooler"),this.loadTargetTemperature(),this.service.linkedServices&&(this.serviceFan=Object.values(this.service.linkedServices).find(e=>e.type==="Fan"||e.type==="Fanv2")),this.serviceFan&&this.loadRotationSpeed(),this.applyAllGradients()}handleAccessoryUpdate(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHeaterCoolerState,this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetRotationSpeed&&this.serviceFan&&(this.targetRotationSpeed.value=this.serviceFan.getCharacteristic("RotationSpeed")?.value),this.applyAllGradients()}getStatusClass(){let e=this.service.values,n=e?.Active||e?.On,i=e?.CurrentHeaterCoolerState===3&&e?.Active===1||this.type==="cooler"&&n,s=e?.CurrentHeaterCoolerState===2&&e?.Active===1||this.type==="heater"&&n;return i?"status-color-cooling":s?"status-color-heating":n?"status-color-active":"status-color-inactive"}setTargetState(e,n){this.targetState=e,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetTemperature(),this.applyAllGradients(),this.blurTarget(n)}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("TargetHeaterCoolerState").setValue(this.targetMode),this.loadTargetTemperature(),this.blurTarget(n),this.applyAllGradients()}onTemperatureStateChange(){this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetTemperatureChanged.next(void 0)}onAutoTemperatureStateChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.targetTemperatureChanged.next(void 0)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}loadRotationSpeed(){let e=this.serviceFan.getCharacteristic("RotationSpeed");e&&(this.targetRotationSpeed={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep,unit:e.unit})}loadTargetTemperature(){this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}getFanSliderGradient(){if(!this.targetState)return"linear-gradient(to right, #c0c0c0, #7b7b7b)";switch(this.targetMode){case 2:return"linear-gradient(to right, #add8e6, #416bdf)";case 1:return"linear-gradient(to right, #ffb978, #e05a33)";default:return"linear-gradient(to right, #90ee90, #2d8659)"}}applyAllGradients(){this.applySliderGradient("linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))",".temp-slider .noUi-target"),this.serviceFan&&this.applySliderGradient(this.getFanSliderGradient(),".fan-slider .noUi-target")}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-heater-cooler-manage"]],features:[re],decls:34,vars:35,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mt-2","mb-4","fs-4"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"mt-4","mb-1"],[1,"temp-slider"],[3,"ngModelChange","min","max","step","ngModel"],[1,"fan-slider"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"h6",5),g(7,"i"),p(8),l(9,"convertTemp"),l(10,"number"),l(11,"uppercase"),d(),a(12,"div",6),l(13,"translate"),a(14,"button",7),k("click",function(u){return i.setTargetState(0,u)}),a(15,"div",8),g(16,"i",9),d(),p(17),l(18,"translate"),a(19,"div",10),g(20,"i",11),d()(),a(21,"button",7),k("click",function(u){return i.setTargetState(1,u)}),a(22,"div",8),g(23,"i",9),d(),p(24),l(25,"translate"),a(26,"div",10),g(27,"i",11),d()()(),v(28,Sc,8,9),v(29,kc,11,25)(30,Mc,8,16)(31,Tc,8,16),v(32,Bc,6,9),d(),g(33,"div",12),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,20,"form.button_close")),o(4),pt(`fas fa-temperature-full ${i.getStatusClass()}`),o(),R("",ue(10,24,c(9,22,i.service.values==null?null:i.service.values.CurrentTemperature),"1.0-1"),"\xB0",c(11,27,i.temperatureUnits)," "),o(4),S("aria-label",c(13,29,"accessories.control.state_control")),o(4),M("fa-check-circle",i.targetState===0)("fa-blank",i.targetState!==0),o(),f(" ",c(18,31,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetState===1)("fa-blank",i.targetState!==1),o(),f(" ",c(25,33,"accessories.control.on")," "),o(4),h(i.targetStateValidValues.length?28:-1),o(),h(i.targetMode===0&&i.HeatingThresholdTemperature&&i.CoolingThresholdTemperature?29:i.HeatingThresholdTemperature&&(i.targetMode===1||i.targetMode===0&&!i.CoolingThresholdTemperature)?30:i.CoolingThresholdTemperature&&(i.targetMode===2||i.targetMode===0&&!i.HeatingThresholdTemperature)?31:-1),o(3),h(i.targetRotationSpeed?32:-1))},dependencies:[de,pe,me,fe,Pe,E,Ve,Re],encapsulation:2,changeDetection:0})}return t})();function wc(t,r){if(t&1&&(F(),a(0,"text",23),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase"),d()),t&2){let e,n=m();o(),R(" ",ue(3,4,c(2,2,(e=n.service().values)==null?null:e.CurrentTemperature),"1.0-1"),"\xB0",c(4,7,n.temperatureUnits)," ")}}function Ec(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.off")," ")}function Dc(t,r){if(t&1&&(g(0,"i",26),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase"),l(5,"convertTemp"),l(6,"number"),l(7,"uppercase")),t&2){let e,n=m(2);o(),Cn(" ",ue(3,6,c(2,4,(e=n.service().values)==null?null:e.HeatingThresholdTemperature),"1.0-1"),"\xB0",c(4,9,n.temperatureUnits)," - ",ue(6,13,c(5,11,(e=n.service().values)==null?null:e.CoolingThresholdTemperature),"1.0-1"),"\xB0",c(7,16,n.temperatureUnits)," ")}}function Pc(t,r){if(t&1&&(g(0,"i",26),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase")),t&2){let e,n=m(2);o(),R(" ",ue(3,4,c(2,2,(e=n.service().values)==null?null:e.HeatingThresholdTemperature),"1.0-1"),"\xB0",c(4,7,n.temperatureUnits)," ")}}function Ac(t,r){if(t&1&&(g(0,"i",26),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase")),t&2){let e,n=m(2);o(),R(" ",ue(3,4,c(2,2,(e=n.service().values)==null?null:e.CoolingThresholdTemperature),"1.0-1"),"\xB0",c(4,7,n.temperatureUnits)," ")}}function Oc(t,r){if(t&1&&v(0,Dc,8,18)(1,Pc,5,9)(2,Ac,5,9),t&2){let e=m();h(e.hasHeating()&&e.hasCooling()?0:e.hasHeating()&&!e.hasCooling()?1:!e.hasHeating()&&e.hasCooling()?2:-1)}}function Ic(t,r){if(t&1&&(g(0,"i",26),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase")),t&2){let e,n=m();o(),R(" ",ue(3,4,c(2,2,(e=n.service().values)==null?null:e.HeatingThresholdTemperature),"1.0-1"),"\xB0",c(4,7,n.temperatureUnits)," ")}}function Vc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.heat")," ")}function Fc(t,r){if(t&1&&(g(0,"i",26),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase")),t&2){let e,n=m();o(),R(" ",ue(3,4,c(2,2,(e=n.service().values)==null?null:e.CoolingThresholdTemperature),"1.0-1"),"\xB0",c(4,7,n.temperatureUnits)," ")}}function Lc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.cool")," ")}function Nc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.on")," ")}var So=(()=>{class t{$modal=w(ee);injector=w(J);$settings=w(Te);$accessories=w(ie);service=P.required();readyForControl=P(!1);type=P();temperatureUnits=this.$settings.env.temperatureUnits;hasHeating=Le(!1);hasCooling=Le(!1);ngOnInit(){this.hasHeating.set("HeatingThresholdTemperature"in this.service().values),this.hasCooling.set("CoolingThresholdTemperature"in this.service().values)}getStatusFill(){let e=this.service().values,n=e?.Active||e?.On,i=e?.CurrentHeaterCoolerState===3&&e?.Active===1||this.type()==="cooler"&&n,s=e?.CurrentHeaterCoolerState===2&&e?.Active===1||this.type()==="heater"&&n;return i?"url(#coolingGradient)":s?"url(#heatingGradient)":n?"#42d672":"#7b7b7b"}onClick(){this.readyForControl()&&("Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1):"On"in this.service().values&&this.service().getCharacteristic("On").setValue(!this.service().values.On))}onLongClick(){if(this.readyForControl()&&"TargetHeaterCoolerState"in this.service().values){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(yo,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-heater-cooler"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"],type:[1,"type"]},decls:38,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["id","coolingGradient","x1","0","y1","1","x2","0","y2","0"],["offset","0%","stop-color","#1e8bbd"],["attributeName","stop-color","values","#1e8bbd;#66d6d6;#1e8bbd","dur","5s","repeatCount","indefinite"],["offset","50%","stop-color","#66d6d6"],["attributeName","stop-color","values","#66d6d6;#1e8bbd;#66d6d6","dur","5s","repeatCount","indefinite"],["offset","100%","stop-color","#1e8bbd"],["id","heatingGradient","x1","0","y1","1","x2","0","y2","0"],["offset","0%","stop-color","#cc5e00"],["attributeName","stop-color","values","#cc5e00;#e69533;#cc5e00;#e69533","dur","5s","repeatCount","indefinite"],["offset","50%","stop-color","#e69533"],["attributeName","stop-color","values","#e69533;#cc5e00;#e69533;#cc5e00","dur","5s","repeatCount","indefinite"],["offset","100%","stop-color","#cc5e00"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["x1","8","y1","7","x2","8","y2","16","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","12","y1","7","x2","12","y2","16","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","16","y1","7","x2","16","y2","16","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","20","y1","7","x2","20","y2","16","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","24","y1","7","x2","24","y2","16","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x","3.5","y","4","width","25","height","15","rx","0","stroke","#7f7f7f","stroke-width","1.2","fill-opacity","0.5"],["x","16","y","27.5","font-size","7","text-anchor","middle","fill","#7f7f7f","font-family","Arial, sans-serif"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3)(5,"defs")(6,"linearGradient",4)(7,"stop",5),g(8,"animate",6),d(),a(9,"stop",7),g(10,"animate",8),d(),a(11,"stop",9),g(12,"animate",6),d()(),a(13,"linearGradient",10)(14,"stop",11),g(15,"animate",12),d(),a(16,"stop",13),g(17,"animate",14),d(),a(18,"stop",15),g(19,"animate",12),d()()(),g(20,"rect",16)(21,"line",17)(22,"line",18)(23,"line",19)(24,"line",20)(25,"line",21)(26,"rect",22),v(27,wc,5,9,":svg:text",23),d()(),L(),a(28,"div",24),p(29),d(),a(30,"div",25),v(31,Ec,2,3)(32,Oc,3,1)(33,Ic,5,9)(34,Vc,2,3)(35,Fc,5,9)(36,Lc,2,3)(37,Nc,2,3),d()()()),n&2){let s;M("accessory-on",i.service().values.Active||i.service().values.On)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.heater_cooler")),o(24),S("fill",i.getStatusFill()),o(),h("CurrentTemperature"in i.service().values?27:-1),o(2),_(i.service().customName||i.service().serviceName),o(2),h("Active"in i.service().values&&!((s=i.service().values)!=null&&s.Active)||"On"in i.service().values&&!((s=i.service().values)!=null&&s.On)?31:((s=i.service().values)==null?null:s.TargetHeaterCoolerState)===0&&(i.hasHeating()||i.hasCooling())?32:((s=i.service().values)==null?null:s.TargetHeaterCoolerState)===1&&i.hasHeating()?33:((s=i.service().values)==null?null:s.TargetHeaterCoolerState)===1?34:((s=i.service().values)==null?null:s.TargetHeaterCoolerState)===2&&i.hasCooling()?35:((s=i.service().values)==null?null:s.TargetHeaterCoolerState)===2?36:37)}},dependencies:[Q,Pe,E,Ve,Re],encapsulation:2,changeDetection:0})}return t})();function Hc(t,r){if(t&1){let e=j();a(0,"button",7),k("click",function(i){I(e);let s=m(2);return V(s.setTargetMode(0,i))}),a(1,"div",8),g(2,"i",9),d(),p(3),l(4,"translate"),a(5,"div",10),g(6,"i",11),d()()}if(t&2){let e=m(2);o(2),M("fa-check-circle",e.targetMode===0)("fa-blank",e.targetMode!==0),o(),f(" ",c(4,5,"accessories.control.auto")," ")}}function Rc(t,r){if(t&1){let e=j();a(0,"button",7),k("click",function(i){I(e);let s=m(2);return V(s.setTargetMode(1,i))}),a(1,"div",8),g(2,"i",9),d(),p(3),l(4,"translate"),a(5,"div",10),g(6,"i",11),d()()}if(t&2){let e=m(2);o(2),M("fa-check-circle",e.targetMode===1)("fa-blank",e.targetMode!==1),o(),f(" ",c(4,5,"accessories.control.humidify")," ")}}function jc(t,r){if(t&1){let e=j();a(0,"button",7),k("click",function(i){I(e);let s=m(2);return V(s.setTargetMode(2,i))}),a(1,"div",8),g(2,"i",9),d(),p(3),l(4,"translate"),a(5,"div",10),g(6,"i",11),d()()}if(t&2){let e=m(2);o(2),M("fa-check-circle",e.targetMode===2)("fa-blank",e.targetMode!==2),o(),f(" ",c(4,5,"accessories.control.dehumidify")," ")}}function $c(t,r){if(t&1&&(a(0,"h6",13),p(1),l(2,"translate"),d(),a(3,"div",14),l(4,"translate"),v(5,Hc,7,7,"button",15),v(6,Rc,7,7,"button",15),v(7,jc,7,7,"button",15),d()),t&2){let e=m();o(),_(c(2,5,"accessories.control.mode")),o(2),S("aria-label",c(4,7,"accessories.control.mode_control")),o(2),h(e.targetStateValidValues.includes(0)?5:-1),o(),h(e.targetStateValidValues.includes(1)?6:-1),o(),h(e.targetStateValidValues.includes(2)?7:-1)}}function Uc(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),d(),a(3,"div",16)(4,"nouislider",17),K("ngModelChange",function(i){I(e);let s=m();return Y(s.autoHumidity,i)||(s.autoHumidity=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onAutoHumidityStateChange())}),d()()}if(t&2){let e=m();o(),Ze(" ",c(2,7,"accessories.control.humidity_thresholds"),": ",e.autoHumidity[0],"% - ",e.autoHumidity[1],"% "),o(3),T("min",e.RelativeHumidityHumidifierThreshold.minValue)("max",e.RelativeHumidityDehumidifierThreshold.maxValue)("step",e.RelativeHumidityDehumidifierThreshold.minStep),z("ngModel",e.autoHumidity)}}function Wc(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),d(),a(3,"div",16)(4,"nouislider",17),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetHumidifierHumidity,i)||(s.targetHumidifierHumidity=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onHumidityStateChange())}),d()()}if(t&2){let e=m();o(),R(" ",c(2,6,"accessories.control.humidifier_threshold"),": ",e.targetHumidifierHumidity,"% "),o(3),T("min",e.RelativeHumidityHumidifierThreshold.minValue)("max",e.RelativeHumidityHumidifierThreshold.maxValue)("step",e.RelativeHumidityHumidifierThreshold.minStep),z("ngModel",e.targetHumidifierHumidity)}}function Gc(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),d(),a(3,"div",16)(4,"nouislider",17),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetDehumidifierHumidity,i)||(s.targetDehumidifierHumidity=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onHumidityStateChange())}),d()()}if(t&2){let e=m();o(),R(" ",c(2,6,"accessories.control.dehumidifier_threshold"),": ",e.targetDehumidifierHumidity,"% "),o(3),T("min",e.RelativeHumidityDehumidifierThreshold.minValue)("max",e.RelativeHumidityDehumidifierThreshold.maxValue)("step",e.RelativeHumidityDehumidifierThreshold.minStep),z("ngModel",e.targetDehumidifierHumidity)}}function qc(t,r){t&1&&p(0," % ")}function zc(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),v(3,qc,1,0),d(),a(4,"div",18)(5,"nouislider",17),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetRotationSpeed.value,i)||(s.targetRotationSpeed.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onTargetRotationSpeedChange())}),d()()}if(t&2){let e=m();o(),R(" ",c(2,7,"accessories.control.rotation_speed"),": ",e.targetRotationSpeed.value," "),o(2),h(e.targetRotationSpeed.unit==="percentage"?3:-1),o(2),T("min",e.targetRotationSpeed.min)("max",e.targetRotationSpeed.max)("step",e.targetRotationSpeed.step),z("ngModel",e.targetRotationSpeed.value)}}var ko=(()=>{class t extends ae{type;targetState;targetMode;targetHumidityChanged=new Z;targetStateValidValues=[];RelativeHumidityDehumidifierThreshold;RelativeHumidityHumidifierThreshold;targetDehumidifierHumidity;targetHumidifierHumidity;autoHumidity;serviceFan;targetRotationSpeed;targetRotationSpeedChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetHumidityChanged,()=>{this.RelativeHumidityHumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.targetHumidifierHumidity),this.RelativeHumidityDehumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.targetDehumidifierHumidity)}),this.createDebouncedSubscription(this.targetRotationSpeedChanged,()=>{this.serviceFan&&this.serviceFan.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value)}),this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHumidifierDehumidifierState,this.RelativeHumidityDehumidifierThreshold=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"),this.RelativeHumidityHumidifierThreshold=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.targetStateValidValues=this.service.getCharacteristic("TargetHumidifierDehumidifierState").validValues,this.targetStateValidValues.includes(1)&&!this.targetStateValidValues.includes(2)?this.type="humidifier":this.targetStateValidValues.includes(2)&&!this.targetStateValidValues.includes(1)&&(this.type="dehumidifier"),this.loadTargetHumidity(),this.service.linkedServices&&(this.serviceFan=Object.values(this.service.linkedServices).find(e=>e.type==="Fan"||e.type==="Fanv2")),this.serviceFan&&this.loadRotationSpeed(),this.applyAllGradients()}handleAccessoryUpdate(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHumidifierDehumidifierState,this.targetDehumidifierHumidity=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")?.value,this.targetHumidifierHumidity=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity],this.targetRotationSpeed&&this.serviceFan&&(this.targetRotationSpeed.value=this.serviceFan.getCharacteristic("RotationSpeed")?.value),this.applyAllGradients()}getStatusClass(){let e=this.service.values,n=e?.Active||e?.On,i=e?.CurrentHumidifierDehumidifierState===2&&e?.Active===1||this.type==="humidifier"&&n,s=e?.CurrentHumidifierDehumidifierState===3&&e?.Active===1||this.type==="dehumidifier"&&n;return i?"status-color-cooling":s?"status-color-heating":n?"status-color-active":"status-color-inactive"}loadTargetHumidity(){this.targetDehumidifierHumidity=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")?.value,this.targetHumidifierHumidity=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity]}setTargetState(e,n){this.targetState=e,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetHumidity(),this.applyAllGradients(),this.blurTarget(n)}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("TargetHumidifierDehumidifierState").setValue(this.targetMode),this.loadTargetHumidity(),this.blurTarget(n),this.applyAllGradients()}onHumidityStateChange(){this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity],this.targetHumidityChanged.next(void 0)}onAutoHumidityStateChange(){this.targetHumidifierHumidity=this.autoHumidity[0],this.targetDehumidifierHumidity=this.autoHumidity[1],this.targetHumidityChanged.next(void 0)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}loadRotationSpeed(){let e=this.serviceFan.getCharacteristic("RotationSpeed");e&&(this.targetRotationSpeed={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep,unit:e.unit})}getFanSliderGradient(){if(!this.targetState)return"linear-gradient(to right, #c0c0c0, #7b7b7b)";switch(this.targetMode){case 1:return"linear-gradient(to right, #add8e6, #416bdf)";case 2:return"linear-gradient(to right, #ffb978, #e05a33)";default:return"linear-gradient(to right, #90ee90, #2d8659)"}}applyAllGradients(){this.applySliderGradient("linear-gradient(to left, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))",".humidity-slider .noUi-target"),this.serviceFan&&this.applySliderGradient(this.getFanSliderGradient(),".fan-slider .noUi-target")}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-humidifier-dehumidifier-manage"]],features:[re],decls:31,vars:27,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mt-2","mb-4","fs-4"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"humidity-slider"],[3,"ngModelChange","min","max","step","ngModel"],[1,"fan-slider"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"h6",5),g(7,"i"),p(8),d(),a(9,"div",6),l(10,"translate"),a(11,"button",7),k("click",function(u){return i.setTargetState(0,u)}),a(12,"div",8),g(13,"i",9),d(),p(14),l(15,"translate"),a(16,"div",10),g(17,"i",11),d()(),a(18,"button",7),k("click",function(u){return i.setTargetState(1,u)}),a(19,"div",8),g(20,"i",9),d(),p(21),l(22,"translate"),a(23,"div",10),g(24,"i",11),d()()(),v(25,$c,8,9),v(26,Uc,5,9)(27,Wc,5,8)(28,Gc,5,8),v(29,zc,6,9),d(),g(30,"div",12),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,19,"form.button_close")),o(4),pt(`fas fa-temperature-full ${i.getStatusClass()}`),o(),f("",i.service.values==null?null:i.service.values.CurrentRelativeHumidity,"% "),o(),S("aria-label",c(10,21,"accessories.control.state_control")),o(4),M("fa-check-circle",i.targetState===0)("fa-blank",i.targetState!==0),o(),f(" ",c(15,23,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetState===1)("fa-blank",i.targetState!==1),o(),f(" ",c(22,25,"accessories.control.on")," "),o(4),h(i.targetStateValidValues.length?25:-1),o(),h(i.targetMode===0&&i.RelativeHumidityHumidifierThreshold&&i.RelativeHumidityDehumidifierThreshold?26:i.RelativeHumidityHumidifierThreshold&&(i.targetMode===1||i.targetMode===0&&!i.RelativeHumidityDehumidifierThreshold)?27:i.RelativeHumidityDehumidifierThreshold&&(i.targetMode===2||i.targetMode===0&&!i.RelativeHumidityHumidifierThreshold)?28:-1),o(3),h(i.targetRotationSpeed?29:-1))},dependencies:[de,pe,me,fe,E],encapsulation:2,changeDetection:0})}return t})();function Yc(t,r){if(t&1&&(F(),a(0,"text",36),p(1),d()),t&2){let e,n=m();o(),f(" ",(e=n.service().values)==null?null:e.CurrentRelativeHumidity,"% ")}}function Kc(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.off")," ")}function Qc(t,r){if(t&1&&(g(0,"i",39),p(1)),t&2){let e,n=m(2);o(),R(" ",(e=n.service().values)==null?null:e.RelativeHumidityHumidifierThreshold,"% - ",(e=n.service().values)==null?null:e.RelativeHumidityDehumidifierThreshold,"% ")}}function Zc(t,r){if(t&1&&(g(0,"i",39),p(1)),t&2){let e,n=m(2);o(),f(" ",(e=n.service().values)==null?null:e.RelativeHumidityHumidifierThreshold,"% ")}}function Jc(t,r){if(t&1&&(g(0,"i",39),p(1)),t&2){let e,n=m(2);o(),f(" ",(e=n.service().values)==null?null:e.RelativeHumidityDehumidifierThreshold,"% ")}}function Xc(t,r){if(t&1&&v(0,Qc,2,2)(1,Zc,2,1)(2,Jc,2,1),t&2){let e=m();h(e.hasHumidifier&&e.hasDehumidifier?0:e.hasHumidifier&&!e.hasDehumidifier?1:!e.hasHumidifier&&e.hasDehumidifier?2:-1)}}function ed(t,r){if(t&1&&(g(0,"i",39),p(1)),t&2){let e,n=m();o(),f(" ",(e=n.service().values)==null?null:e.RelativeHumidityHumidifierThreshold,"% ")}}function td(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.humidify")," ")}function id(t,r){if(t&1&&(g(0,"i",39),p(1)),t&2){let e,n=m();o(),f(" ",(e=n.service().values)==null?null:e.RelativeHumidityDehumidifierThreshold,"% ")}}function nd(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.dehumidify")," ")}function od(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.on")," ")}var Mo=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);type=P();hasHumidifier=!1;hasDehumidifier=!1;ngOnInit(){this.hasHumidifier="RelativeHumidityHumidifierThreshold"in this.service().values,this.hasDehumidifier="RelativeHumidityDehumidifierThreshold"in this.service().values}getStatusFill(){let e=this.service().values,n=e?.Active||e?.On,i=e?.CurrentHumidifierDehumidifierState===2&&e?.Active===1||this.type()==="humidifier"&&n,s=e?.CurrentHumidifierDehumidifierState===3&&e?.Active===1||this.type()==="dehumidifier"&&n;return i?"url(#humidifyingGradient)":s?"url(#dehumidifyingGradient)":n?"#42d672":"#7b7b7b"}onClick(){this.readyForControl()&&("Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1):"On"in this.service().values&&this.service().getCharacteristic("On").setValue(!this.service().values.On))}onLongClick(){if(this.readyForControl()&&"TargetHumidifierDehumidifierState"in this.service().values){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(ko,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-humidifier-dehumidifier"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"],type:[1,"type"]},decls:51,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["id","humidifyingGradient","x1","0","y1","1","x2","0","y2","0"],["offset","0%","stop-color","#1e8bbd"],["attributeName","stop-color","values","#1e8bbd;#66d6d6;#1e8bbd","dur","5s","repeatCount","indefinite"],["offset","50%","stop-color","#66d6d6"],["attributeName","stop-color","values","#66d6d6;#1e8bbd;#66d6d6","dur","5s","repeatCount","indefinite"],["offset","100%","stop-color","#1e8bbd"],["id","dehumidifyingGradient","x1","0","y1","1","x2","0","y2","0"],["offset","0%","stop-color","#cc5e00"],["attributeName","stop-color","values","#cc5e00;#e69533;#cc5e00;#e69533","dur","5s","repeatCount","indefinite"],["offset","50%","stop-color","#e69533"],["attributeName","stop-color","values","#e69533;#cc5e00;#e69533;#cc5e00","dur","5s","repeatCount","indefinite"],["offset","100%","stop-color","#cc5e00"],["x","1","y","3.5","width","30","height","25","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["x1","6","y1","10","x2","6","y2","10","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","6","y1","12","x2","6","y2","12","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","6","y1","14","x2","6","y2","14","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","10","y1","10","x2","10","y2","10","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","10","y1","12","x2","10","y2","12","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","10","y1","14","x2","10","y2","14","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","14","y1","10","x2","14","y2","10","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","14","y1","12","x2","14","y2","12","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","14","y1","14","x2","14","y2","14","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","18","y1","10","x2","18","y2","10","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","18","y1","12","x2","18","y2","12","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","18","y1","14","x2","18","y2","14","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","22","y1","10","x2","22","y2","10","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","22","y1","12","x2","22","y2","12","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","22","y1","14","x2","22","y2","14","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","26","y1","10","x2","26","y2","10","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","26","y1","12","x2","26","y2","12","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x1","26","y1","14","x2","26","y2","14","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["x","1","y","7","width","30","height","10","rx","0","stroke","#7f7f7f","stroke-width","1.2","fill-opacity","0.5"],["x","16.5","y","25.5","font-size","7","text-anchor","middle","fill","#7f7f7f","font-family","Arial, sans-serif"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3)(5,"defs")(6,"linearGradient",4)(7,"stop",5),g(8,"animate",6),d(),a(9,"stop",7),g(10,"animate",8),d(),a(11,"stop",9),g(12,"animate",6),d()(),a(13,"linearGradient",10)(14,"stop",11),g(15,"animate",12),d(),a(16,"stop",13),g(17,"animate",14),d(),a(18,"stop",15),g(19,"animate",12),d()()(),g(20,"rect",16)(21,"line",17)(22,"line",18)(23,"line",19)(24,"line",20)(25,"line",21)(26,"line",22)(27,"line",23)(28,"line",24)(29,"line",25)(30,"line",26)(31,"line",27)(32,"line",28)(33,"line",29)(34,"line",30)(35,"line",31)(36,"line",32)(37,"line",33)(38,"line",34)(39,"rect",35),v(40,Yc,2,1,":svg:text",36),d()(),L(),a(41,"div",37),p(42),d(),a(43,"div",38),v(44,Kc,2,3)(45,Xc,3,1)(46,ed,2,1)(47,td,2,3)(48,id,2,1)(49,nd,2,3)(50,od,2,3),d()()()),n&2){let s;M("accessory-on",i.service().values.Active||i.service().values.On)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.humidifier_dehumidifier")),o(37),S("fill",i.getStatusFill()),o(),h("CurrentRelativeHumidity"in i.service().values?40:-1),o(2),_(i.service().customName||i.service().serviceName),o(2),h("Active"in i.service().values&&!((s=i.service().values)!=null&&s.Active)||"On"in i.service().values&&!((s=i.service().values)!=null&&s.On)?44:((s=i.service().values)==null?null:s.TargetHumidifierDehumidifierState)===0&&(i.hasHumidifier||i.hasDehumidifier)?45:((s=i.service().values)==null?null:s.TargetHumidifierDehumidifierState)===1&&i.hasHumidifier?46:((s=i.service().values)==null?null:s.TargetHumidifierDehumidifierState)===1?47:((s=i.service().values)==null?null:s.TargetHumidifierDehumidifierState)===2&&i.hasDehumidifier?48:((s=i.service().values)==null?null:s.TargetHumidifierDehumidifierState)===2?49:50)}},dependencies:[Q,E],encapsulation:2,changeDetection:0})}return t})();function rd(t,r){if(t&1&&p(0),t&2){let e,n=m();f(" ",(e=n.service().values)==null?null:e.CurrentRelativeHumidity,"% ")}}function ad(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.no_data")," ")}var To=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-humidity-sensor"]],inputs:{service:[1,"service"]},decls:26,vars:5,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["transform","translate(1.8, -4.3), scale(0.85)"],["d","M23.61 24.58C23.61 28.67 20.44 31.99 16.56 31.99C12.68 31.99 9.52 28.67 9.52 24.58C9.52 20.49 12.68 17.13 16.56 10.87C20.44 17.13 23.61 20.49 23.61 24.58Z","fill","#1976d2","fill-opacity","0.4","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"g",5),O(7,"path",6),y(),O(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19),y()(),L(),C(21,"div",20),p(22),y(),C(23,"div",21),v(24,rd,1,1)(25,ad,2,3),y()()()),n&2&&(o(2),S("aria-label",c(3,3,"accessories.core.humidity_sensor")),o(20),_(i.service().customName||i.service().serviceName),o(2),h("CurrentRelativeHumidity"in i.service().values?24:25))},dependencies:[E],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media(max-width:575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}"],changeDetection:0})}return t})();function sd(t,r){t&1&&(C(0,"div",14),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.running")))}function ld(t,r){t&1&&(C(0,"div",14),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.off")))}var bo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-irrigation-system"]],inputs:{service:[1,"service"]},decls:18,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32","height","32","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","9","y","1","width","14","height","6.5","rx","2","fill","#1976d2","stroke","#7b7b7b","stroke-width","0.5","fill-opacity","0.5"],["x1","16","y1","8","x2","16","y2","31","stroke","#7f7f7f","stroke-width","1","stroke-linecap","round",1,"pipe"],["x1","1","y1","9","x2","31","y2","9","stroke","#7f7f7f","stroke-width","1","stroke-linecap","round",1,"pipe"],["x1","1","y1","20","x2","31","y2","20","stroke","#7f7f7f","stroke-width","1","stroke-linecap","round",1,"pipe"],["x1","1","y1","31","x2","31","y2","31","stroke","#7f7f7f","stroke-width","1","stroke-linecap","round",1,"pipe"],["x","1","y","10","width","14","height","9","rx","0","fill","#7f7f7f","stroke-width","0","fill-opacity","0.5",1,"field"],["x","17","y","10","width","14","height","9","rx","0","fill","#7f7f7f","stroke-width","0","fill-opacity","0.5",1,"field"],["x","1","y","21","width","14","height","9","rx","0","fill","#7f7f7f","stroke-width","0","fill-opacity","0.5",1,"field"],["x","17","y","21","width","14","height","9","rx","0","fill","#7f7f7f","stroke-width","0","fill-opacity","0.5",1,"field"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"line",5)(7,"line",6)(8,"line",7)(9,"line",8)(10,"rect",9)(11,"rect",10)(12,"rect",11)(13,"rect",12),y()(),L(),C(14,"div",13),p(15),y(),v(16,sd,3,3,"div",14)(17,ld,3,3,"div",14),y()()),n&2){let s,u,A;M("accessory-on",(s=i.service().values)==null?null:s.InUse),o(2),S("aria-label",c(3,5,"accessories.core.irrigation_system")),o(13),f(" ",i.service().customName||((u=i.service().values)==null?null:u.ConfiguredName)||i.service().serviceName," "),o(),h((A=i.service().values)!=null&&A.InUse?16:17)}},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{fill:#4caf50}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .pipe[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse 5s infinite}@keyframes _ngcontent-%COMP%_pulse{0%,to{stroke:#7f7f7f;stroke-opacity:.5}50%{stroke:#1976d2;stroke-opacity:1}}"],changeDetection:0})}return t})();function cd(t,r){t&1&&(C(0,"div",23),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function dd(t,r){t&1&&(C(0,"div",24),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var Bo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-leak-sensor"]],inputs:{service:[1,"service"]},decls:28,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2",1,"red-outline"],["transform","translate(7, 0), scale(0.35)"],["d","M23.61 24.58C23.61 28.67 20.44 31.99 16.56 31.99C12.68 31.99 9.52 28.67 9.52 24.58C9.52 20.49 12.68 17.13 16.56 10.87C20.44 17.13 23.61 20.49 23.61 24.58Z","fill","#1976d2","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","1"],["transform","translate(13, 7), scale(0.35)"],["cx","16","cy","22","rx","10","ry","2","fill","#1976d2","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","0.35"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"g",5),O(7,"path",6),y(),C(8,"g",7),O(9,"path",6),y(),O(10,"ellipse",8)(11,"line",9)(12,"line",10)(13,"line",11)(14,"line",12)(15,"line",13)(16,"line",14)(17,"line",15)(18,"line",16)(19,"line",17)(20,"line",18)(21,"line",19)(22,"line",20)(23,"line",21),y()(),L(),C(24,"div",22),p(25),y(),v(26,cd,3,3,"div",23)(27,dd,3,3,"div",24),y()()),n&2){let s,u;M("accessory-on",(s=i.service().values)==null?null:s.LeakDetected),o(2),S("aria-label",c(3,5,"accessories.core.leak_sensor")),o(23),_(i.service().customName||i.service().serviceName),o(),h((u=i.service().values)!=null&&u.LeakDetected?26:27)}},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .red-outline[_ngcontent-%COMP%]{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{stroke-opacity:.8}50%{stroke-opacity:.2}}"],changeDetection:0})}return t})();function pd(t,r){if(t&1&&(C(0,"div",28),p(1),l(2,"number"),y()),t&2){let e,n=m();o(),f(" ",ue(2,1,(e=n.service().values)==null?null:e.CurrentAmbientLightLevel,"0.1-1")," lux ")}}function md(t,r){if(t&1&&(C(0,"div",28),p(1),l(2,"number"),y()),t&2){let e,n=m();o(),f(" ",ue(2,1,(e=n.service().values)==null?null:e.CurrentAmbientLightLevel,"1.0-0")," lux ")}}var wo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-light-sensor"]],inputs:{service:[1,"service"]},decls:32,vars:5,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["cx","16","cy","13.75","r","5","stroke","#ff9800","fill","none","stroke-width","1.2","stroke-opacity","0.5"],["x1","16","y1","3","x2","16","y2","7","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","23.5","y1","6","x2","20.5","y2","9","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","22.75","y1","13.5","x2","26.75","y2","13.5","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","20.75","y1","18.25","x2","23.75","y2","21.25","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","16","y1","20.5","x2","16","y2","24.5","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","11.25","y1","18.25","x2","8.25","y2","21.25","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","5.25","y1","13.5","x2","9.25","y2","13.5","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","8.5","y1","6","x2","11.5","y2","9","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"circle",5)(7,"line",6)(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20)(22,"line",21)(23,"line",22)(24,"line",23)(25,"line",24)(26,"line",25)(27,"line",26),y()(),L(),C(28,"div",27),p(29),y(),v(30,pd,3,4,"div",28)(31,md,3,4,"div",28),y()()),n&2){let s;o(2),S("aria-label",c(3,3,"accessories.core.light_sensor")),o(27),_(i.service().customName||i.service().serviceName),o(),h(((s=i.service().values)==null?null:s.CurrentAmbientLightLevel)<1?30:31)}},dependencies:[Pe,E],encapsulation:2,changeDetection:0})}return t})();var Je=(()=>{class t{miredToKelvin(e){return Math.round(1e6/e)}kelvinToMired(e){return Math.round(1e6/e)}kelvinToHex(e){e=Math.max(1e3,Math.min(4e4,e));let n=e/100,i,s,u;return n<=66?(i=255,s=n,s=99.4708025861*Math.log(s)-161.1195681661,u=n<=19?0:138.5177312231*Math.log(n-10)-305.0447927307):(i=329.698727446*(n-60)**-.1332047592,s=288.1221695283*(n-60)**-.0755148492,u=255),i=Math.round(Math.min(Math.max(i,0),255)),s=Math.round(Math.min(Math.max(s,0),255)),u=Math.round(Math.min(Math.max(u,0),255)),`#${i.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}${u.toString(16).padStart(2,"0")}`}kelvinToHsl(e){let n=e/100,i,s,u;n<=66?(i=255,s=Math.min(99.4708025861*Math.log(n)-161.1195681661,255),u=n<=19?0:Math.min(138.5177312231*Math.log(n-10)-305.0447927307,255)):(i=Math.min(329.698727446*(n-60)**-.1332047592,255),s=Math.min(288.1221695283*(n-60)**-.0755148492,255),u=255),i/=255,s/=255,u/=255;let A=Math.max(i,s,u),G=Math.min(i,s,u),$=A-G,ce=0;$!==0&&(A===i?ce=(s-u)/$%6:A===s?ce=(u-i)/$+2:ce=(i-s)/$+4,ce=Math.round(ce*60),ce<0&&(ce+=360));let he=(A+G)/2,Ae=$===0?0:$/(1-Math.abs(2*he-1));return`hsl(${Math.round(ce)}, ${Math.round(Ae*100)}%, ${Math.round(he*100)}%)`}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Kt({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ud(t,r){t&1&&g(0,"div")}function fd(t,r){if(t&1&&(a(0,"div",11)(1,"div",13)(2,"div",7),g(3,"i",14),d(),p(4),l(5,"translate"),a(6,"div",9),g(7,"i",10),d()()()),t&2){let e=m();o(3),M("off-text",!e.adaptiveLightingSignal())("on-text",e.adaptiveLightingSignal()),o(),R(" ",c(5,6,"accessories.control.adaptive_lighting"),": ",e.adaptiveLightingSignal()?"ON":"OFF"," ")}}function gd(t,r){if(t&1){let e=j();a(0,"h6",15),p(1),l(2,"translate"),d(),a(3,"div",16)(4,"nouislider",17),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetBrightness.value,i)||(s.targetBrightness.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onBrightnessStateChange())}),d()()}if(t&2){let e=m();o(),R("",c(2,6,"accessories.control.brightness"),": ",e.targetBrightness.value,"%"),o(3),T("min",e.targetBrightness.min)("max",e.targetBrightness.max)("step",e.targetBrightness.step),z("ngModel",e.targetBrightness.value)}}function vd(t,r){t&1&&(a(0,"div",19)(1,"span",20),p(2),l(3,"translate"),d()()),t&2&&(o(2),_(c(3,1,"accessories.control.adaptive_lighting_note")))}function hd(t,r){if(t&1){let e=j();a(0,"h6",15),p(1),l(2,"translate"),d(),a(3,"div",18)(4,"nouislider",17),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetHue.value,i)||(s.targetHue.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onHueStateChange())}),d()(),v(5,vd,4,3,"div",19)}if(t&2){let e=m();o(),R("",c(2,9,"accessories.control.hue"),": ",e.targetHue.value,"\xB0"),o(3),M("mb-1",e.adaptiveLightingSignal()),T("min",0)("max",360)("step",1),z("ngModel",e.targetHue.value),o(),h(e.adaptiveLightingSignal()?5:-1)}}function Cd(t,r){t&1&&(a(0,"div",19)(1,"span",20),p(2),l(3,"translate"),d()()),t&2&&(o(2),_(c(3,1,"accessories.control.adaptive_lighting_note")))}function _d(t,r){if(t&1){let e=j();a(0,"h6",15),p(1),l(2,"translate"),d(),a(3,"div",21)(4,"nouislider",17),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetSaturation.value,i)||(s.targetSaturation.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onSaturationStateChange())}),d()(),v(5,Cd,4,3,"div",19)}if(t&2){let e=m();o(),R("",c(2,9,"accessories.control.saturation"),": ",e.targetSaturation.value,"%"),o(3),M("mb-1",e.adaptiveLightingSignal()),T("min",0)("max",100)("step",1),z("ngModel",e.targetSaturation.value),o(),h(e.adaptiveLightingSignal()?5:-1)}}function xd(t,r){t&1&&(a(0,"div",19)(1,"span",20),p(2),l(3,"translate"),d()()),t&2&&(o(2),_(c(3,1,"accessories.control.adaptive_lighting_note")))}function yd(t,r){if(t&1){let e=j();a(0,"h6",15),p(1),l(2,"translate"),l(3,"convertMired"),d(),a(4,"div",22)(5,"nouislider",17),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetColorTemperature.value,i)||(s.targetColorTemperature.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onColorTemperatureStateChange())}),d()(),v(6,xd,4,3,"div",19)}if(t&2){let e=m();o(),R(" ",c(2,9,"accessories.control.color_temperature"),": ",c(3,11,e.targetColorTemperature.mired)," "),o(4),M("mb-1",e.adaptiveLightingSignal()),T("min",e.targetColorTemperature.min)("max",e.targetColorTemperature.max)("step",e.targetColorTemperature.step),z("ngModel",e.targetColorTemperature.value),o(),h(e.adaptiveLightingSignal()?6:-1)}}var Pi=new Qt("LightbulbAdaptiveLighting",{factory:()=>{}}),Eo=(()=>{class t extends ae{$colour=w(Je);adaptiveLightingSignal=w(Pi);hasAdaptiveLighting=!!this.adaptiveLightingSignal;targetMode;targetBrightness;targetBrightnessChanged=new Z;targetHue;targetHueChanged=new Z;targetSaturation;targetSaturationChanged=new Z;targetColorTemperature;targetColorTemperatureChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetBrightnessChanged,()=>{this.service.getCharacteristic("Brightness").setValue(this.targetBrightness.value),this.targetBrightness.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetBrightness.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))}),this.createDebouncedSubscription(this.targetHueChanged,()=>{this.service.getCharacteristic("Hue").setValue(this.targetHue.value)}),this.createDebouncedSubscription(this.targetSaturationChanged,()=>{this.service.getCharacteristic("Saturation").setValue(this.targetSaturation.value)}),this.createDebouncedSubscription(this.targetColorTemperatureChanged,e=>{this.service.getCharacteristic("ColorTemperature").setValue(e)}),this.targetMode=this.service.values.On,this.loadTargetBrightness(),this.loadTargetHue(),this.loadTargetSaturation(),this.loadTargetColorTemperature()}handleAccessoryUpdate(){if(this.targetMode=this.service.values.On,this.targetBrightness&&(this.targetBrightness.value=this.service.getCharacteristic("Brightness").value),this.targetHue&&(this.targetHue.value=this.service.getCharacteristic("Hue").value),this.targetSaturation&&(this.targetSaturation.value=this.service.getCharacteristic("Saturation").value),this.targetColorTemperature){let e=this.service.getCharacteristic("ColorTemperature").value;this.targetColorTemperature.value=this.$colour.miredToKelvin(e),this.targetColorTemperature.mired=e}}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetBrightness&&!this.targetBrightness.value&&(this.targetBrightness.value=this.service.getCharacteristic("Brightness").maxValue),this.blurTarget(n)}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}onHueStateChange(){this.targetHueChanged.next(this.targetHue.value),this.applySaturationGradient()}onSaturationStateChange(){this.targetSaturationChanged.next(this.targetSaturation.value)}onColorTemperatureStateChange(){let e=this.$colour.kelvinToMired(this.targetColorTemperature.value);this.targetColorTemperature.mired=e,this.targetColorTemperatureChanged.next(e)}loadTargetBrightness(){let e=this.service.getCharacteristic("Brightness");e&&(this.targetBrightness={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #242424, #ffd6aa)",".brightness-slider .noUi-target"))}loadTargetHue(){let e=this.service.getCharacteristic("Hue");e&&(this.targetHue={value:e.value},this.applySliderGradient(`linear-gradient(to right,
hsl(0, 100%, 50%),
hsl(60, 100%, 50%),
hsl(120, 100%, 50%),
hsl(180, 100%, 50%),
hsl(240, 100%, 50%),
hsl(300, 100%, 50%),
hsl(360, 100%, 50%))`,".hue-slider .noUi-target"))}loadTargetSaturation(){let e=this.service.getCharacteristic("Saturation");e&&(this.targetSaturation={value:e.value},this.applySaturationGradient())}loadTargetColorTemperature(){let e=this.service.getCharacteristic("ColorTemperature");if(e){this.targetColorTemperature={value:this.$colour.miredToKelvin(e.value),mired:e.value,min:this.$colour.miredToKelvin(e.maxValue),max:this.$colour.miredToKelvin(e.minValue),step:e.minStep};let n=this.$colour.kelvinToHsl(this.targetColorTemperature.min),i=this.$colour.kelvinToHsl(this.targetColorTemperature.max);this.applySliderGradient(`linear-gradient(to right, ${n}, ${i})`,".color-temp-slider .noUi-target")}}applySaturationGradient(){let e=this.targetHue?.value||0;this.applySliderGradient(`linear-gradient(to right,
hsl(${e}, 0%, 50%),
hsl(${e}, 100%, 50%))`,".saturation-slider .noUi-target")}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-lightbulb-manage"]],features:[re],decls:29,vars:27,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"d-flex","justify-content-center","mb-0","p-0","mt-0","grey-outline"],[1,"modal-footer"],[1,"mb-0","mx-0","p-3","btn-read","w-100","no-round-top"],[1,"fas","fa-xl","fa-sun"],[1,"mt-4"],[1,"brightness-slider"],[3,"ngModelChange","min","max","step","ngModel"],[1,"hue-slider"],[1,"d-flex","text-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"saturation-slider"],[1,"color-temp-slider"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetMode(!1,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetMode(!0,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()(),v(22,ud,1,0,"div"),d(),v(23,fd,8,8,"div",11),v(24,gd,5,8),v(25,hd,6,11),v(26,_d,6,11),v(27,yd,7,13),d(),g(28,"div",12),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,19,"form.button_close")),o(3),S("aria-label",c(7,21,"accessories.control.mode_control")),o(4),M("fa-check-circle",!i.targetMode)("fa-blank",i.targetMode),o(),f(" ",c(12,23,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetMode)("fa-blank",!i.targetMode),o(),f(" ",c(19,25,"accessories.control.on")," "),o(4),h(i.hasAdaptiveLighting?22:-1),o(),h(i.hasAdaptiveLighting?23:-1),o(),h(i.targetBrightness?24:-1),o(),h(i.targetHue?25:-1),o(),h(i.targetSaturation?26:-1),o(),h(i.targetColorTemperature?27:-1))},dependencies:[de,pe,me,fe,E,mt],encapsulation:2,changeDetection:0})}return t})();function Sd(t,r){if(t&1&&(g(0,"div",10),l(1,"translate")),t&2){let e,n=m();T("innerHTML",(e=n.service().values)!=null&&e.On?n.getBrightnessLabel():c(1,1,"accessories.control.off"),qe)}}function kd(t,r){if(t&1&&(g(0,"div",10),l(1,"translate")),t&2){let e,n=m();T("innerHTML",c(1,1,(e=n.service().values)!=null&&e.On||(e=n.service().values)!=null&&e.Active?"accessories.control.on":"accessories.control.off")+n.getOnOffLabel(),qe)}}var Do=(()=>{class t{destroyRef=w(ct);injector=w(J);$accessories=w(ie);$modal=w(ee);pollingRate$=new Z;$colour=w(Je);service=P.required();readyForControl=P(!1);hasAdaptiveLighting=Le(!1);isAdaptiveLightingEnabled=Le(!1);ngOnInit(){this.loadAdaptiveLighting()}getBulbFill(){let e=this.service().values;return e?.On||e?.Active?"Hue"in e?`hsl(${e?.Hue}, ${e?.Saturation}%, 50%)`:"ColorTemperature"in e?this.$colour.kelvinToHsl(this.$colour.miredToKelvin(e?.ColorTemperature)):"#ffcf55":"none"}getBrightnessLabel(){let e=this.service().values;if(!e?.On)return"";let n=`${e?.Brightness}%`;if(this.hasAdaptiveLighting()){let i=this.isAdaptiveLightingEnabled()?"on-text":"grey-text";n+=` · <i class='fa fa-sun ${i}'></i>`}return n}getOnOffLabel(){let e=this.service().values;return(e?.On||e?.Active)&&this.hasAdaptiveLighting()?` · <i class='fa fa-sun ${this.isAdaptiveLightingEnabled()?"on-text":"grey-text"}'></i>`:""}onClick(){this.readyForControl()&&("On"in this.service().values?this.service().getCharacteristic("On").setValue(!this.service().values.On):"Active"in this.service().values&&this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1),"Brightness"in this.service().values&&!this.service().values.On&&!this.service().values.Brightness&&(this.service().values.Brightness=this.service().getCharacteristic("Brightness").maxValue))}onLongClick(){return se(this,null,function*(){if(this.readyForControl()&&("Brightness"in this.service().values||"Hue"in this.service().values||"Saturation"in this.service().values||"ColorTemperature"in this.service().values)){let e=[{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}];this.hasAdaptiveLighting()&&e.push({provide:Pi,useValue:this.isAdaptiveLightingEnabled});let n=X(e,this.injector),i=this.$modal.open(Eo,{size:"md",backdrop:"static",injector:n});if(this.hasAdaptiveLighting()){this.pollingRate$.next(3e3);try{yield i.result}catch(s){}finally{this.pollingRate$.next(3e4)}}}})}loadAdaptiveLighting(){"CharacteristicValueActiveTransitionCount"in this.service().values&&(this.hasAdaptiveLighting.set(!0),this.isAdaptiveLightingEnabled.set(!!this.service().values.CharacteristicValueActiveTransitionCount),this.pollingRate$.pipe(sn(3e4),ln(e=>Yt(e)),Xe(this.destroyRef)).subscribe(()=>{this.isAdaptiveLightingEnabled.set(!!this.service().values.CharacteristicValueActiveTransitionCount)}))}Math=Math;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-lightbulb"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["stroke","#7f7f7f","stroke-width","1.5","d","M8 21c-2.8-2.2-4.5-5.4-4.5-9 0-6.1 5-11 11.5-11S27.5 5.9 27.5 12c0 3.5-1.7 6.7-4.5 8.9-1.2 1-1.8 4.8-3 7.3-.9 2-2.2 2.7-4.5 2.7s-3.6-.7-4.5-2.7c-1.2-2.5-1.8-6.3-3-7.3z"],["stroke","#7f7f7f","stroke-width","1.5","x1","8","y1","21.5","x2","23","y2","21.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","23","x2","21","y2","24"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","25.5","x2","21","y2","26.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","11","y1","28","x2","20","y2","29"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerHTML"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"path",4)(6,"line",5)(7,"line",6)(8,"line",7)(9,"line",8),d()(),L(),a(10,"div",9),p(11),d(),v(12,Sd,2,3,"div",10)(13,kd,2,3,"div",10),d()()),n&2){let s,u;M("accessory-on",i.service().values.On||i.service().values.Active)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.lightbulb")),o(3),S("fill",i.getBulbFill())("fill-opacity","Brightness"in i.service().values?.25+((s=i.service().values)==null?null:s.Brightness)/100*.5:.75),o(6),_(i.service().customName||i.service().serviceName),o(),h((u=i.service().values)!=null&&u.Brightness?12:13)}},dependencies:[Q,E],encapsulation:2,changeDetection:0})}return t})();var oi=(()=>{class t{transform(e){if(typeof e!="number"||Number.isNaN(e))return"";let n=Math.floor(e/60),i=e%60;return[n>0?`${n.toString()}m`:"",i>0?`${i.toString()}s`:""].filter(Boolean).join(" ")}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=tt({name:"duration",type:t,pure:!0})}return t})();function Md(t,r){if(t&1){let e=j();a(0,"h6",12),p(1),l(2,"translate"),l(3,"duration"),d(),a(4,"nouislider",13),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetLockManagementAutoSecurityTimeout.value,i)||(s.targetLockManagementAutoSecurityTimeout.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onLockManagementAutoSecurityTimeoutStateChange())}),d()}if(t&2){let e=m();o(),R(" ",c(2,6,"accessories.control.lock_auto"),": ",e.targetLockManagementAutoSecurityTimeout.value===0?"\u221E":c(3,8,e.targetLockManagementAutoSecurityTimeout.value)," "),o(3),T("min",e.targetLockManagementAutoSecurityTimeout.min)("max",e.targetLockManagementAutoSecurityTimeout.max)("step",10),z("ngModel",e.targetLockManagementAutoSecurityTimeout.value)}}var Po=(()=>{class t extends ae{cancelLockTimer$=new Z;serviceManagement;targetMode;targetLockManagementAutoSecurityTimeout;targetLockManagementAutoSecurityTimeoutChanged=new Z;setupComponent(){this.targetMode=this.service.values.LockTargetState,this.service.linkedServices&&(this.serviceManagement=Object.values(this.service.linkedServices).find(e=>e.type==="LockManagement")),this.serviceManagement&&(this.targetLockManagementAutoSecurityTimeoutChanged.pipe(an()).subscribe(()=>{this.serviceManagement.getCharacteristic("LockManagementAutoSecurityTimeout").setValue(this.targetLockManagementAutoSecurityTimeout.value)}),this.createDebouncedSubscription(this.targetLockManagementAutoSecurityTimeoutChanged,()=>{this.serviceManagement.getCharacteristic("LockManagementAutoSecurityTimeout").setValue(this.targetLockManagementAutoSecurityTimeout.value)},300),this.loadTargetLockManagementAutoSecurityTimeout())}handleAccessoryUpdate(){this.targetMode=this.service.values.LockTargetState,this.targetLockManagementAutoSecurityTimeout&&this.serviceManagement&&(this.targetLockManagementAutoSecurityTimeout.value=this.serviceManagement.getCharacteristic("LockManagementAutoSecurityTimeout")?.value)}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("LockTargetState").setValue(this.targetMode),this.cancelLockTimer$.next(),this.targetMode===0&&this.targetLockManagementAutoSecurityTimeout?.value>0&&nn((this.targetLockManagementAutoSecurityTimeout.value+.3)*1e3).pipe(Lt(this.cancelLockTimer$),Xe(this.destroyRef)).subscribe(()=>{this.targetMode=1,this.cdr.markForCheck()}),this.blurTarget(n)}onLockManagementAutoSecurityTimeoutStateChange(){this.targetLockManagementAutoSecurityTimeoutChanged.next(this.targetLockManagementAutoSecurityTimeout.value)}loadTargetLockManagementAutoSecurityTimeout(){let e=this.serviceManagement.getCharacteristic("LockManagementAutoSecurityTimeout");e&&(this.targetLockManagementAutoSecurityTimeout={value:e.value||0,min:e.minValue||0,max:e.maxValue||3600,step:e.minStep||10},this.applySliderGradient("linear-gradient(to right, #ffffff, #ffd966, #ff0000)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-lock-mechanism-manage"]],features:[re],decls:24,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetMode(1,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetMode(0,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()()(),v(22,Md,5,10),d(),g(23,"div",11),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,14,"form.button_close")),o(3),S("aria-label",c(7,16,"accessories.control.mode_control")),o(4),M("fa-check-circle",i.targetMode===1)("fa-blank",i.targetMode!==1),o(),f(" ",c(12,18,"accessories.control.lock")," "),o(6),M("fa-check-circle",i.targetMode===0)("fa-blank",i.targetMode!==0),o(),f(" ",c(19,20,"accessories.control.unlock")," "),o(4),h(i.serviceManagement?22:-1))},dependencies:[de,pe,me,fe,E,oi],encapsulation:2,changeDetection:0})}return t})();function Td(t,r){if(t&1&&(g(0,"div",11),l(1,"translate")),t&2){let e,n,i,s=m();M("red-text",!((e=s.service().values)!=null&&e.LockCurrentState))("grey-text",(n=s.service().values)==null?null:n.LockCurrentState),T("innerText",c(1,5,(i=s.service().values)!=null&&i.LockCurrentState?"accessories.control.locked":"accessories.control.unlocked"))}}function bd(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.jammed")))}function Bd(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.unknown")))}var Ao=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&("LockTargetState"in this.service().values?this.service().getCharacteristic("LockTargetState").setValue(this.service().values.LockTargetState?0:1):"On"in this.service().values&&this.service().getCharacteristic("On").setValue(!this.service().values.On))}onLongClick(){if(this.readyForControl()&&"LockTargetState"in this.service().values){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Po,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-lock-mechanism"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:15,consts:[["tabindex","0",1,"accessory-box",3,"shortClick","longClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["d","M8 16 C6 -4, 26 -4, 24 16","fill","none","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"shackle-locked"],["d","M8 16 C6 -2, 22 -2, 24 7","fill","none","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","stroke-opacity","0",1,"shackle-unlocked"],["x","5","y","16","width","22","height","15","rx","3","fill","none","stroke","#7f7f7f","stroke-width","2"],["cx","16","cy","23.5","r","3","stroke","#7f7f7f","stroke-width","0.5","fill","#4caf50","fill-opacity","0.5",1,"keyhole"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText","red-text","grey-text"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("shortClick",function(){return i.onClick()})("longClick",function(){return i.onLongClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"path",4)(6,"path",5)(7,"rect",6)(8,"circle",7),d()(),L(),a(9,"div",8),p(10),d(),v(11,Td,2,7,"div",9)(12,bd,3,3,"div",10)(13,Bd,3,3,"div",10),d()()),n&2){let s,u,A,G,$;M("accessory-on","LockCurrentState"in i.service().values&&((s=i.service().values)==null?null:s.LockCurrentState)!==1||((s=i.service().values)==null?null:s.On)===1)("unlocked",((u=i.service().values)==null?null:u.LockCurrentState)===0||((u=i.service().values)==null?null:u.On)===1)("jammed",((A=i.service().values)==null?null:A.LockCurrentState)===2)("error",((G=i.service().values)==null?null:G.LockCurrentState)===3)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,13,"accessories.core.lock_mechanism")),o(8),_(i.service().customName||i.service().serviceName),o(),h((($=i.service().values)==null?null:$.LockCurrentState)<2?11:(($=i.service().values)==null?null:$.LockCurrentState)===2?12:(($=i.service().values)==null?null:$.LockCurrentState)===3?13:-1)}},dependencies:[Q,E],styles:["@keyframes _ngcontent-%COMP%_blink{0%,to{fill-opacity:1}50%{fill-opacity:.2}}.unlocked[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-locked[_ngcontent-%COMP%]{stroke-opacity:0!important}.unlocked[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-unlocked[_ngcontent-%COMP%]{stroke-opacity:1!important}.unlocked[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .keyhole[_ngcontent-%COMP%]{fill:#ff9800!important}.jammed[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-locked[_ngcontent-%COMP%]{stroke-opacity:0!important}.jammed[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-unlocked[_ngcontent-%COMP%]{stroke-opacity:1!important}.jammed[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .keyhole[_ngcontent-%COMP%]{fill:#d32f2f!important;animation:_ngcontent-%COMP%_blink 1s infinite}.error[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-locked[_ngcontent-%COMP%]{stroke-opacity:0!important}.error[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-unlocked[_ngcontent-%COMP%]{stroke-opacity:1!important}.error[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .keyhole[_ngcontent-%COMP%]{fill:#d32f2f!important;animation:_ngcontent-%COMP%_blink 1s infinite}"],changeDetection:0})}return t})();function wd(t,r){if(t&1){let e=j();a(0,"div",5),l(1,"translate"),a(2,"button",7),k("click",function(i){I(e);let s=m();return V(s.setActive(0,i))}),a(3,"div",8),g(4,"i",9),d(),p(5),l(6,"translate"),a(7,"div",10),g(8,"i",11),d()(),a(9,"button",7),k("click",function(i){I(e);let s=m();return V(s.setActive(1,i))}),a(10,"div",8),g(11,"i",9),d(),p(12),l(13,"translate"),a(14,"div",10),g(15,"i",11),d()()()}if(t&2){let e=m();S("aria-label",c(1,11,"accessories.control.mode_control")),o(4),M("fa-check-circle",(e.service.values==null?null:e.service.values.Active)===0)("fa-blank",(e.service.values==null?null:e.service.values.Active)!==0),o(),f(" ",c(6,13,"accessories.control.off")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.Active)===1)("fa-blank",(e.service.values==null?null:e.service.values.Active)!==1),o(),f(" ",c(13,15,"accessories.control.on")," ")}}function Ed(t,r){if(t&1){let e=j();a(0,"div",5),l(1,"translate"),a(2,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(0,i))}),a(3,"div",8),g(4,"i",9),d(),p(5),l(6,"translate"),a(7,"div",10),g(8,"i",11),d()(),a(9,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(1,i))}),a(10,"div",8),g(11,"i",9),d(),p(12),l(13,"translate"),a(14,"div",10),g(15,"i",11),d()(),a(16,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(2,i))}),a(17,"div",8),g(18,"i",9),d(),p(19),l(20,"translate"),a(21,"div",10),g(22,"i",11),d()()()}if(t&2){let e=m();S("aria-label",c(1,16,"accessories.control.media_control")),o(4),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===0)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==0),o(),f(" ",c(6,18,"accessories.control.play")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===1)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==1),o(),f(" ",c(13,20,"accessories.control.pause")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===2)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==2),o(),f(" ",c(20,22,"accessories.control.stop")," ")}}function Dd(t,r){if(t&1){let e=j();a(0,"h6"),p(1),l(2,"translate"),d(),a(3,"div",12),l(4,"translate"),a(5,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(!1,i))}),a(6,"div",8),g(7,"i",9),d(),p(8),l(9,"translate"),a(10,"div",10),g(11,"i",11),d()(),a(12,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(!0,i))}),a(13,"div",8),g(14,"i",9),d(),p(15),l(16,"translate"),a(17,"div",10),g(18,"i",11),d()()()}if(t&2){let e=m();o(),f(" ",c(2,12,"Active"in e.service.values||"TargetMediaState"in e.service.values?"accessories.control.speaker_volume":"menu.label_status")," "),o(2),S("aria-label",c(4,14,"accessories.control.mute_control")),o(4),M("fa-check-circle",!e.targetMode)("fa-blank",e.targetMode),o(),f(" ",c(9,16,"accessories.control.not_mute")," "),o(6),M("fa-check-circle",e.targetMode)("fa-blank",!e.targetMode),o(),f(" ",c(16,18,"accessories.control.mute")," ")}}function Pd(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),d(),a(3,"nouislider",14),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetVolume.value,i)||(s.targetVolume.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onVolumeStateChange())}),d()}if(t&2){let e=m();o(),R("",c(2,6,"accessories.control.speaker_volume"),": ",e.targetVolume.value,"%"),o(2),T("min",e.targetVolume.min)("max",e.targetVolume.max)("step",e.targetVolume.step),z("ngModel",e.targetVolume.value)}}var Oo=(()=>{class t extends ae{targetMode;targetVolume;targetVolumeChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetVolumeChanged,()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)}),this.targetMode=this.service.values.Mute,this.loadTargetVolume()}handleAccessoryUpdate(){this.targetMode=this.service.values.Mute,this.targetVolume&&(this.targetVolume.value=this.service.getCharacteristic("Volume")?.value)}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("Mute").setValue(this.targetMode),this.blurTarget(n)}setActive(e,n){this.service.getCharacteristic("Active").setValue(e),this.blurTarget(n)}setTargetState(e,n){this.service.getCharacteristic("TargetMediaState").setValue(e),this.blurTarget(n)}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}loadTargetVolume(){let e=this.service.getCharacteristic("Volume");e&&(this.targetVolume={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #ffffff, #ffd966, #ff0000)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-microphone-manage"]],features:[re],decls:11,vars:7,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],[1,"mt-4","mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4),v(6,wd,16,17,"div",5)(7,Ed,23,24,"div",5),v(8,Dd,19,20),v(9,Pd,4,8),d(),g(10,"div",6),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,5,"form.button_close")),o(3),h("Active"in i.service.values?6:"TargetMediaState"in i.service.values?7:-1),o(2),h("Mute"in i.service.values?8:-1),o(),h(i.targetVolume?9:-1))},dependencies:[de,pe,me,fe,E],encapsulation:2,changeDetection:0})}return t})();var Ad=()=>["Speaker","SmartSpeaker"];function Od(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.playing")," ")}function Id(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.paused")," ")}function Vd(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.stopped")," ")}function Fd(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" \xB7 ",c(1,1,"accessories.control.mute")," ")}function Ld(t,r){if(t&1&&p(0),t&2){let e,n=m(3);f(" \xB7 ",(e=n.service().values)==null?null:e.Volume,"% ")}}function Nd(t,r){if(t&1&&v(0,Ld,1,1),t&2){let e=m(2);h("Volume"in e.service().values?0:-1)}}function Hd(t,r){if(t&1&&(a(0,"div",10),v(1,Od,2,3)(2,Id,2,3)(3,Vd,2,3),v(4,Fd,2,3)(5,Nd,1,1),d()),t&2){let e,n,i=m();o(),h((e=(e=i.service().values)==null?null:e.CurrentMediaState)===0?1:e===1?2:e===2?3:-1),o(3),h("Mute"in i.service().values&&((n=i.service().values)!=null&&n.Mute)?4:5)}}function Rd(t,r){t&1&&(g(0,"div",11),l(1,"translate")),t&2&&T("innerText",c(1,1,"accessories.control.off"))}function jd(t,r){t&1&&(g(0,"div",11),l(1,"translate")),t&2&&T("innerText",c(1,1,"accessories.control.mute"))}function $d(t,r){if(t&1&&(a(0,"div",10),p(1),d()),t&2){let e,n=m();o(),f("",(e=n.service().values)==null?null:e.Volume,"%")}}function Ud(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.on")))}function Wd(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.microphone")))}var Io=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);isOn(){let e=this.service().values;return"Active"in e?!!e?.Active:"CurrentMediaState"in e?[0,1].includes(e?.CurrentMediaState):"Mute"in e&&"Volume"in e?!e?.Mute&&e?.Volume>0:"Mute"in e&&!e?.Mute}onClick(){this.readyForControl()&&("Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active===0?1:0):"TargetMediaState"in this.service().values?this.service().getCharacteristic("TargetMediaState").setValue(this.service().values.TargetMediaState===0?1:0):"Mute"in this.service().values&&this.service().getCharacteristic("Mute").setValue(!this.service().values.Mute))}onLongClick(){if(this.readyForControl()&&("Active"in this.service().values||"TargetMediaState"in this.service().values||"Volume"in this.service().values||"Mute"in this.service().values)){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Oo,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-microphone"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:18,vars:12,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","6","y","1","width","18","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","2"],["stroke-linecap","round","x1","10","y1","6","x2","20","y2","6","stroke","#7f7f7f","stroke-width","2"],["stroke-linecap","round","x1","10","y1","10","x2","20","y2","10","stroke","#7f7f7f","stroke-width","2"],["stroke-linecap","round","x1","10","y1","14","x2","20","y2","14","stroke","#7f7f7f","stroke-width","2"],["cx","15","cy","23","r","3","stroke","#7f7f7f","stroke-width","2","fill","#1976d2","fill-opacity","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4)(6,"line",5)(7,"line",6)(8,"line",7)(9,"circle",8),d()(),L(),a(10,"div",9),p(11),d(),v(12,Hd,6,2,"div",10)(13,Rd,2,3,"div",11)(14,jd,2,3,"div",11)(15,$d,2,1,"div",10)(16,Ud,3,3,"div",10)(17,Wd,3,3,"div",10),d()()),n&2){let s,u;M("accessory-on",i.isOn())("paused","CurrentMediaState"in i.service().values&&((s=i.service().values)==null?null:s.CurrentMediaState)===1)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.microphone")),o(9),_(i.service().customName||i.service().serviceName),o(),h("CurrentMediaState"in i.service().values?12:"Active"in i.service().values&&!((u=i.service().values)!=null&&u.Active)?13:"Mute"in i.service().values&&((u=i.service().values)!=null&&u.Mute)?14:"Volume"in i.service().values?15:De(11,Ad).includes(i.service().customType||i.service().type)?16:17)}},dependencies:[Q,E],encapsulation:2,changeDetection:0})}return t})();function Gd(t,r){t&1&&(C(0,"div",25),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function qd(t,r){t&1&&(C(0,"div",26),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var Vo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-motion-sensor"]],inputs:{service:[1,"service"]},decls:29,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2",1,"orange-outline"],["transform","translate(7, -0.75), scale(0.075)"],["d","M190.85 83.94C190.85 70.36 180.09 59.24 166.93 59.24C153.78 59.24 143.02 70.36 143.02 83.94C143.02 97.53 153.78 108.65 166.93 108.65C180.09 108.65 190.85 97.53 190.85 83.94Z","fill","#1976d2","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","7"],["d","M232.24 175.95C210.12 175.95 190.98 163.6 180.22 145.69C179.08 143.72 169.99 127.91 168.86 125.93C164.67 118.52 156.9 114.2 148.53 114.2C145.54 114.2 142.55 114.81 139.56 116.05C135.37 117.82 114.45 126.67 76.78 142.6L76.78 200.66L100.69 200.66L100.69 159.28L121.62 150.02L88.73 324.17L113.85 324.17L134.78 225.36L160.49 250.06L160.49 324.17L184.4 324.17L184.4 230.92L159.89 205.6C164.19 183.36 166.59 171.01 167.06 168.54C182.61 188.3 205.93 200.66 232.24 200.66C232.24 195.72 232.24 178.42 232.24 175.95Z","fill","#1976d2","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","7"],["x","9","y","9","width","2","height","1","rx","0.2","stroke","#7f7f7f","fill","#1976d2","fill-opacity","0.25","stroke-width","0.25"],["x","7","y","13","width","3","height","1","rx","0.2","stroke","#7f7f7f","fill","#1976d2","fill-opacity","0.25","stroke-width","0.25"],["x","8","y","17","width","4","height","1","rx","0.2","stroke","#7f7f7f","fill","#1976d2","fill-opacity","0.25","stroke-width","0.25"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"g",5),O(7,"path",6)(8,"path",7),y(),O(9,"rect",8)(10,"rect",9)(11,"rect",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20)(22,"line",21)(23,"line",22)(24,"line",23),y()(),L(),C(25,"div",24),p(26),y(),v(27,Gd,3,3,"div",25)(28,qd,3,3,"div",26),y()()),n&2){let s,u;M("accessory-on",(s=i.service().values)==null?null:s.MotionDetected),o(2),S("aria-label",c(3,5,"accessories.core.motion_sensor")),o(24),_(i.service().customName||i.service().serviceName),o(),h((u=i.service().values)!=null&&u.MotionDetected?27:28)}},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .orange-outline[_ngcontent-%COMP%]{stroke:#ff9800;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{stroke-opacity:.8}50%{stroke-opacity:.2}}"],changeDetection:0})}return t})();function zd(t,r){t&1&&(C(0,"div",22),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function Yd(t,r){t&1&&(C(0,"div",23),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var Fo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-occupancy-sensor"]],inputs:{service:[1,"service"]},decls:26,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2",1,"orange-outline"],["transform","translate(4.75, -0.75), scale(0.075)"],["d","M190.85 83.94C190.85 70.36 180.09 59.24 166.93 59.24C153.78 59.24 143.02 70.36 143.02 83.94C143.02 97.53 153.78 108.65 166.93 108.65C180.09 108.65 190.85 97.53 190.85 83.94Z","fill","#ff9800","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","7"],["d","M232.24 175.95C210.12 175.95 190.98 163.6 180.22 145.69C179.08 143.72 169.99 127.91 168.86 125.93C164.67 118.52 156.9 114.2 148.53 114.2C145.54 114.2 142.55 114.81 139.56 116.05C135.37 117.82 114.45 126.67 76.78 142.6L76.78 200.66L100.69 200.66L100.69 159.28L121.62 150.02L88.73 324.17L113.85 324.17L134.78 225.36L160.49 250.06L160.49 324.17L184.4 324.17L184.4 230.92L159.89 205.6C164.19 183.36 166.59 171.01 167.06 168.54C182.61 188.3 205.93 200.66 232.24 200.66C232.24 195.72 232.24 178.42 232.24 175.95Z","fill","#ff9800","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","7"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"g",5),O(7,"path",6)(8,"path",7),y(),O(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20),y()(),L(),C(22,"div",21),p(23),y(),v(24,zd,3,3,"div",22)(25,Yd,3,3,"div",23),y()()),n&2){let s,u;M("accessory-on",(s=i.service().values)==null?null:s.OccupancyDetected),o(2),S("aria-label",c(3,5,"accessories.core.occupancy_sensor")),o(21),_(i.service().customName||i.service().serviceName),o(),h((u=i.service().values)!=null&&u.OccupancyDetected?24:25)}},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .orange-outline[_ngcontent-%COMP%]{stroke:#ff9800;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{stroke-opacity:.8}50%{stroke-opacity:.2}}"],changeDetection:0})}return t})();function Kd(t,r){t&1&&(F(),g(0,"line",8)(1,"line",9)(2,"line",10))}function Qd(t,r){t&1&&(F(),g(0,"line",11)(1,"line",12)(2,"line",13))}function Zd(t,r){t&1&&(F(),g(0,"line",13)(1,"line",14)(2,"line",15))}var Lo=(()=>{class t{$settings=w(Te);service=P.required();readyForControl=P(!1);browserLang=this.$settings.browserLang;isOn(){let e=this.service().values;return e?!!(e.On||e.Active||"LockTargetState"in e&&!e.LockTargetState||"CurrentDoorState"in e&&[0,2].includes(e.CurrentDoorState)):!1}onClick(){this.readyForControl()&&("On"in this.service().values?this.service().getCharacteristic("On").setValue(!this.service().values.On):"Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1):"LockTargetState"in this.service().values?this.service().getCharacteristic("LockTargetState").setValue(this.service().values.LockTargetState?0:1):"TargetDoorState"in this.service().values&&this.service().getCharacteristic("TargetDoorState").setValue(this.service().values.TargetDoorState?0:1))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-outlet"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:12,consts:[["tabindex","0",1,"accessory-box",3,"shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32","height","32","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","30","height","30","rx","6","ry","6","fill","none","stroke","#7f7f7f","stroke-width","1.5",1,"outer"],["cx","16","cy","16","r","10","fill","none","stroke","#7f7f7f","stroke-width","1.5",1,"inner"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],["x1","16","y1","10","x2","16","y2","13","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","10","y1","19","x2","13","y2","19","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","19","y1","19","x2","22","y2","19","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","11.5","y1","14.5","x2","13.5","y2","11.5","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","18.5","y1","11.5","x2","20.5","y2","14.5","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","16","y1","19","x2","16","y2","22","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","10","y1","14","x2","13","y2","14","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","19","y1","14","x2","22","y2","14","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"]],template:function(n,i){n&1&&(a(0,"div",0),k("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4)(6,"circle",5),v(7,Kd,3,0)(8,Qd,3,0)(9,Zd,3,0),d()(),L(),a(10,"div",6),p(11),d(),g(12,"div",7),l(13,"translate"),d()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,8,"accessories.core.outlet")),o(5),h(i.browserLang==="en-GB"?7:i.browserLang==="en-AU"||i.browserLang==="en-NZ"?8:9),o(4),_(i.service().customName||i.service().serviceName),o(),T("innerText",c(13,10,i.isOn()?"accessories.control.on":"accessories.control.off")))},dependencies:[Q,E],styles:[".accessory-on[_ngcontent-%COMP%] .accessory-svg[_ngcontent-%COMP%] .outer[_ngcontent-%COMP%]{stroke:#1976d2;stroke-opacity:.75;stroke-width:2.5}.accessory-on[_ngcontent-%COMP%] .accessory-svg[_ngcontent-%COMP%] .inner[_ngcontent-%COMP%]{stroke:#1976d2;stroke-opacity:.75}"],changeDetection:0})}return t})();var No=(()=>{class t{service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&("On"in this.service().values?this.service().getCharacteristic("On").setValue(!this.service().values.On):"Active"in this.service().values&&this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-robot-vacuum"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:36,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["id","motionClip"],["x","0","y","-0.5","width","32","height","8"],["transform","translate(0, 5)"],["cx","16","cy","10","rx","14","ry","8.4","stroke","#7f7f7f","stroke-width","1.75","fill","none"],["x1","2","y1","10","x2","2","y2","16","stroke","#7f7f7f","stroke-width","1.75"],["x1","30","y1","10","x2","30","y2","16","stroke","#7f7f7f","stroke-width","1.75"],["d","M2,16 A14,6.9 0 0,0 30,16","stroke","#7f7f7f","stroke-width","1.75","fill","none"],["cx","16","cy","10","rx","4.2","ry","2.5","stroke","#7f7f7f","stroke-width","1","fill","#1976d2","fill-opacity","0.5"],["cx","16","cy","15","r","0.9","fill","#7f7f7f"],["x1","2","y1","16","x2","0.5","y2","18.5","stroke","#7f7f7f","stroke-width","1"],["x1","2","y1","16","x2","0.5","y2","14","stroke","#7f7f7f","stroke-width","1"],["x1","30","y1","16","x2","31.5","y2","18.5","stroke","#7f7f7f","stroke-width","1"],["x1","30","y1","16","x2","31.5","y2","14","stroke","#7f7f7f","stroke-width","1"],["clip-path","url(#motionClip)","stroke","#7f7f7f","stroke-linecap","round",1,"motion-lines"],["x1","12","y1","8","x2","12","y2","14","stroke-width","2.1","opacity","0"],["attributeName","y1","values","8;0","dur","3s","begin","0.3s","repeatCount","indefinite"],["attributeName","y2","values","14;6","dur","3s","begin","0.3s","repeatCount","indefinite"],["attributeName","opacity","values","0;1;1;0","keyTimes","0;0.2;0.8;1","dur","3s","begin","0.3s","repeatCount","indefinite"],["x1","16","y1","8","x2","16","y2","14","stroke-width","2.5","opacity","0"],["attributeName","y1","values","8;0","dur","3s","begin","0.6s","repeatCount","indefinite"],["attributeName","y2","values","14;6","dur","3s","begin","0.6s","repeatCount","indefinite"],["attributeName","opacity","values","0;1;1;0","keyTimes","0;0.2;0.8;1","dur","3s","begin","0.6s","repeatCount","indefinite"],["x1","20","y1","8","x2","20","y2","14","stroke-width","2.1","opacity","0"],["attributeName","y1","values","8;0","dur","3s","begin","0.9s","repeatCount","indefinite"],["attributeName","y2","values","14;6","dur","3s","begin","0.9s","repeatCount","indefinite"],["attributeName","opacity","values","0;1;1;0","keyTimes","0;0.2;0.8;1","dur","3s","begin","0.9s","repeatCount","indefinite"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3)(5,"defs")(6,"clipPath",4),g(7,"rect",5),d()(),a(8,"g",6),g(9,"ellipse",7)(10,"line",8)(11,"line",9)(12,"path",10)(13,"ellipse",11)(14,"circle",12)(15,"line",13)(16,"line",14)(17,"line",15)(18,"line",16),d(),a(19,"g",17)(20,"line",18),g(21,"animate",19)(22,"animate",20)(23,"animate",21),d(),a(24,"line",22),g(25,"animate",23)(26,"animate",24)(27,"animate",25),d(),a(28,"line",26),g(29,"animate",27)(30,"animate",28)(31,"animate",29),d()()()(),L(),a(32,"div",30),p(33),d(),g(34,"div",31),l(35,"translate"),d()()),n&2){let s,u;M("accessory-on",((s=i.service().values)==null?null:s.On)||((s=i.service().values)==null?null:s.Active))("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,7,"accessories.core.robot_vacuum")),o(31),_(i.service().customName||i.service().serviceName),o(),T("innerText",c(35,9,(u=i.service().values)!=null&&u.On||(u=i.service().values)!=null&&u.Active?"accessories.control.on":"accessories.control.off"))}},dependencies:[Q,E],styles:[".motion-lines[_ngcontent-%COMP%]{display:none}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .motion-lines[_ngcontent-%COMP%]{display:inline!important}"],changeDetection:0})}return t})();function Jd(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.triggered")," ")}function Xd(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.arming"),"... ")}function e1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.disarming"),"... ")}function t1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.off")," ")}function i1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.ready")," ")}function n1(t,r){if(t&1){let e=j();C(0,"button",10),ve("click",function(i){I(e);let s=m();return V(s.setTargetMode(3,i))}),C(1,"div",11),O(2,"i",12),y(),p(3),l(4,"translate"),C(5,"div",13),O(6,"i",14),y()()}if(t&2){let e=m();o(2),M("fa-check-circle",e.targetMode===3)("fa-blank",e.targetMode!==3)("opacity-muted",(e.service.values==null?null:e.service.values.SecuritySystemCurrentState)===4),o(),f(" ",c(4,7,"accessories.control.off")," ")}}function o1(t,r){if(t&1){let e=j();C(0,"button",10),ve("click",function(i){I(e);let s=m();return V(s.setTargetMode(0,i))}),C(1,"div",11),O(2,"i",12),y(),p(3),l(4,"translate"),C(5,"div",13),O(6,"i",14),y()()}if(t&2){let e=m();o(2),M("fa-check-circle",e.targetMode===0)("fa-blank",e.targetMode!==0)("opacity-muted",(e.service.values==null?null:e.service.values.SecuritySystemCurrentState)===4),o(),f(" ",c(4,7,"accessories.control.home")," ")}}function r1(t,r){if(t&1){let e=j();C(0,"button",10),ve("click",function(i){I(e);let s=m();return V(s.setTargetMode(1,i))}),C(1,"div",11),O(2,"i",12),y(),p(3),l(4,"translate"),C(5,"div",13),O(6,"i",14),y()()}if(t&2){let e=m();o(2),M("fa-check-circle",e.targetMode===1)("fa-blank",e.targetMode!==1)("opacity-muted",(e.service.values==null?null:e.service.values.SecuritySystemCurrentState)===4),o(),f(" ",c(4,7,"accessories.control.away")," ")}}function a1(t,r){if(t&1){let e=j();C(0,"button",10),ve("click",function(i){I(e);let s=m();return V(s.setTargetMode(2,i))}),C(1,"div",11),O(2,"i",12),y(),p(3),l(4,"translate"),C(5,"div",13),O(6,"i",14),y()()}if(t&2){let e=m();o(2),M("fa-check-circle",e.targetMode===2)("fa-blank",e.targetMode!==2)("opacity-muted",(e.service.values==null?null:e.service.values.SecuritySystemCurrentState)===4),o(),f(" ",c(4,7,"accessories.control.night")," ")}}var Ho=(()=>{class t extends ae{targetMode;targetModeValidValues=[];isArming=!1;isDisarming=!1;setupComponent(){this.targetMode=this.service.values.SecuritySystemTargetState,this.targetModeValidValues=this.service.getCharacteristic("SecuritySystemTargetState").validValues,this.updateTransitionState()}handleAccessoryUpdate(){this.targetMode=this.service.values.SecuritySystemTargetState,this.updateTransitionState()}updateTransitionState(){let e=this.service.values.SecuritySystemCurrentState,n=this.service.values.SecuritySystemTargetState;this.isArming=e!==n&&n!==3&&e!==4,this.isDisarming=e!==n&&n===3&&e!==4}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("SecuritySystemTargetState").setValue(this.targetMode),this.blurTarget(n)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-security-system-manage"]],features:[re],decls:20,vars:14,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-4","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1),O(2,"h5",2),C(3,"button",3),l(4,"translate"),ve("click",function(){return i.dismissModal()}),y()(),C(5,"div",4)(6,"div",5)(7,"div",6),v(8,Jd,2,3)(9,Xd,2,3)(10,e1,2,3)(11,t1,2,3)(12,i1,2,3),y()(),C(13,"div",7),l(14,"translate"),v(15,n1,7,9,"button",8),v(16,o1,7,9,"button",8),v(17,r1,7,9,"button",8),v(18,a1,7,9,"button",8),y()(),O(19,"div",9),y()),n&2&&(o(2),Ee("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,10,"form.button_close")),o(4),M("text-danger",(i.service.values==null?null:i.service.values.SecuritySystemCurrentState)===4),o(),h((i.service.values==null?null:i.service.values.SecuritySystemCurrentState)===4?8:i.isArming?9:i.isDisarming?10:(i.service.values==null?null:i.service.values.SecuritySystemCurrentState)===3?11:12),o(5),S("aria-label",c(14,12,"accessories.control.mode_control")),o(2),h(i.targetModeValidValues.includes(3)?15:-1),o(),h(i.targetModeValidValues.includes(0)?16:-1),o(),h(i.targetModeValidValues.includes(1)?17:-1),o(),h(i.targetModeValidValues.includes(2)?18:-1))},dependencies:[de,E],encapsulation:2,changeDetection:0})}return t})();function s1(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),f("",c(2,1,"accessories.control.arming"),"..."))}function l1(t,r){t&1&&(a(0,"div",11),p(1),l(2,"translate"),d()),t&2&&(o(),f("",c(2,1,"accessories.control.disarming"),"..."))}function c1(t,r){t&1&&(a(0,"div",11),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.home")))}function d1(t,r){t&1&&(a(0,"div",11),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.away")))}function p1(t,r){t&1&&(a(0,"div",11),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.night")))}function m1(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.off")))}function u1(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.triggered")))}function f1(t,r){if(t&1&&v(0,c1,3,3,"div",11)(1,d1,3,3,"div",11)(2,p1,3,3,"div",11)(3,m1,3,3,"div",10)(4,u1,3,3,"div",10),t&2){let e,n=m();h((e=(e=n.service().values)==null?null:e.SecuritySystemCurrentState)===0?0:e===1?1:e===2?2:e===3?3:e===4?4:-1)}}var Ro=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);isArming=te(()=>{let e=this.service().values?.SecuritySystemCurrentState,n=this.service().values?.SecuritySystemTargetState;return e!==n&&n!==3&&e!==4});isDisarming=te(()=>{let e=this.service().values?.SecuritySystemCurrentState,n=this.service().values?.SecuritySystemTargetState;return e!==n&&n===3&&e!==4});onClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Ho,{size:"md",backdrop:"static",injector:e})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-security-system"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:15,vars:17,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32","height","32","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["d","M7 18 C7 5, 25 5, 25 18 V26 H7 V18 Z","fill","none","stroke","#7f7f7f","stroke-width","1.5","fill-opacity","0.5",1,"dome"],["x","2","y","26","width","28","height","4","fill","none","stroke","#7f7f7f","stroke-width","1.5","rx","1"],["x1","6","y1","3","x2","10","y2","7","stroke-width","3",1,"ray"],["x1","16","y1","0","x2","16","y2","5","stroke-width","3",1,"ray"],["x1","26","y1","3","x2","22","y2","7","stroke-width","3",1,"ray"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"path",4)(6,"rect",5)(7,"line",6)(8,"line",7)(9,"line",8),d()(),L(),a(10,"div",9),p(11),d(),v(12,s1,3,3,"div",10)(13,l1,3,3,"div",11)(14,f1,5,1),d()()),n&2){let s,u,A,G,$;M("accessory-on",((s=i.service().values)==null?null:s.SecuritySystemCurrentState)!==3||i.isDisarming())("home",((u=i.service().values)==null?null:u.SecuritySystemCurrentState)===0&&!i.isArming())("away",((A=i.service().values)==null?null:A.SecuritySystemCurrentState)===1&&!i.isArming())("night",((G=i.service().values)==null?null:G.SecuritySystemCurrentState)===2&&!i.isArming())("triggered",(($=i.service().values)==null?null:$.SecuritySystemCurrentState)===4)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,15,"accessories.core.security_system")),o(9),_(i.service().customName||i.service().serviceName),o(),h(i.isArming()?12:i.isDisarming()?13:14)}},dependencies:[Q,E],styles:[".home[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .dome[_ngcontent-%COMP%]{fill:#1976d2!important}.away[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .dome[_ngcontent-%COMP%]{fill:#ff9800!important}.night[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .dome[_ngcontent-%COMP%]{fill:#673ab7!important}.triggered[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .dome[_ngcontent-%COMP%]{fill:#d32f2f!important}.triggered[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .ray[_ngcontent-%COMP%]{stroke:#d32f2f;stroke-opacity:.5;animation:_ngcontent-%COMP%_blink 1s infinite}@keyframes _ngcontent-%COMP%_blink{0%,to{stroke-opacity:1}50%{stroke-opacity:.2}}"],changeDetection:0})}return t})();function g1(t,r){t&1&&(C(0,"div",17),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function v1(t,r){t&1&&(C(0,"div",18),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var jo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-smoke-sensor"]],inputs:{service:[1,"service"]},decls:22,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","30","height","12","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1.25"],["text-anchor","middle","dominant-baseline","middle","font-family","Arial","font-size","7.5","x","16","y","7.7","fill","#7f7f7f","stroke-width","0.6","font-weight","900",1,"type"],["x1","6","y1","14.5","x2","25.5","y2","14.5","stroke","#1976d2","stroke-opacity","0.5","stroke-width","2"],["stroke-linecap","round","x1","5","y1","13","x2","6.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","11","y1","13","x2","11","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","15.5","y1","13","x2","15.5","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","20","y1","13","x2","20","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","26","y1","13","x2","24.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","6.5","y1","16","x2","24.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","11","y1","21","x2","6","y2","27","stroke","#7f7f7f","stroke-width","1.25",1,"air-line"],["stroke-linecap","round","x1","16","y1","21","x2","16","y2","31","stroke","#7f7f7f","stroke-width","1.25",1,"air-line"],["stroke-linecap","round","x1","21","y1","21","x2","26","y2","27","stroke","#7f7f7f","stroke-width","1.25",1,"air-line"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"text",5),p(7," SMOKE "),y(),O(8,"line",6)(9,"line",7)(10,"line",8)(11,"line",9)(12,"line",10)(13,"line",11)(14,"line",12)(15,"line",13)(16,"line",14)(17,"line",15),y()(),L(),C(18,"div",16),p(19),y(),v(20,g1,3,3,"div",17)(21,v1,3,3,"div",18),y()()),n&2){let s,u;M("accessory-on",(s=i.service().values)==null?null:s.SmokeDetected),o(2),S("aria-label",c(3,5,"accessories.core.smoke_sensor")),o(17),_(i.service().customName||i.service().serviceName),o(),h((u=i.service().values)!=null&&u.SmokeDetected?20:21)}},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .air-line[_ngcontent-%COMP%]{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .type[_ngcontent-%COMP%]{fill:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{opacity:1}50%{opacity:.2}}"],changeDetection:0})}return t})();function h1(t,r){if(t&1){let e=j();a(0,"div",5),l(1,"translate"),a(2,"button",7),k("click",function(i){I(e);let s=m();return V(s.setActive(0,i))}),a(3,"div",8),g(4,"i",9),d(),p(5),l(6,"translate"),a(7,"div",10),g(8,"i",11),d()(),a(9,"button",7),k("click",function(i){I(e);let s=m();return V(s.setActive(1,i))}),a(10,"div",8),g(11,"i",9),d(),p(12),l(13,"translate"),a(14,"div",10),g(15,"i",11),d()()()}if(t&2){let e=m();S("aria-label",c(1,11,"accessories.control.mode_control")),o(4),M("fa-check-circle",(e.service.values==null?null:e.service.values.Active)===0)("fa-blank",(e.service.values==null?null:e.service.values.Active)!==0),o(),f(" ",c(6,13,"accessories.control.off")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.Active)===1)("fa-blank",(e.service.values==null?null:e.service.values.Active)!==1),o(),f(" ",c(13,15,"accessories.control.on")," ")}}function C1(t,r){if(t&1){let e=j();a(0,"div",5),l(1,"translate"),a(2,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(0,i))}),a(3,"div",8),g(4,"i",9),d(),p(5),l(6,"translate"),a(7,"div",10),g(8,"i",11),d()(),a(9,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(1,i))}),a(10,"div",8),g(11,"i",9),d(),p(12),l(13,"translate"),a(14,"div",10),g(15,"i",11),d()(),a(16,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetState(2,i))}),a(17,"div",8),g(18,"i",9),d(),p(19),l(20,"translate"),a(21,"div",10),g(22,"i",11),d()()()}if(t&2){let e=m();S("aria-label",c(1,16,"accessories.control.media_control")),o(4),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===0)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==0),o(),f(" ",c(6,18,"accessories.control.play")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===1)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==1),o(),f(" ",c(13,20,"accessories.control.pause")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.CurrentMediaState)===2)("fa-blank",(e.service.values==null?null:e.service.values.CurrentMediaState)!==2),o(),f(" ",c(20,22,"accessories.control.stop")," ")}}function _1(t,r){if(t&1){let e=j();a(0,"h6"),p(1),l(2,"translate"),d(),a(3,"div",12),l(4,"translate"),a(5,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(!1,i))}),a(6,"div",8),g(7,"i",9),d(),p(8),l(9,"translate"),a(10,"div",10),g(11,"i",11),d()(),a(12,"button",7),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(!0,i))}),a(13,"div",8),g(14,"i",9),d(),p(15),l(16,"translate"),a(17,"div",10),g(18,"i",11),d()()()}if(t&2){let e=m();o(),f(" ",c(2,12,"Active"in e.service.values||"TargetMediaState"in e.service.values?"accessories.control.speaker_volume":"menu.label_status")," "),o(2),S("aria-label",c(4,14,"accessories.control.mute_control")),o(4),M("fa-check-circle",!e.targetMode)("fa-blank",e.targetMode),o(),f(" ",c(9,16,"accessories.control.not_mute")," "),o(6),M("fa-check-circle",e.targetMode)("fa-blank",!e.targetMode),o(),f(" ",c(16,18,"accessories.control.mute")," ")}}function x1(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),d(),a(3,"nouislider",14),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetVolume.value,i)||(s.targetVolume.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onVolumeStateChange())}),d()}if(t&2){let e=m();o(),R("",c(2,6,"accessories.control.speaker_volume"),": ",e.targetVolume.value,"%"),o(2),T("min",e.targetVolume.min)("max",e.targetVolume.max)("step",e.targetVolume.step),z("ngModel",e.targetVolume.value)}}var $o=(()=>{class t extends ae{targetMode;targetVolume;targetVolumeChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetVolumeChanged,()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)}),this.targetMode=this.service.values.Mute,this.loadTargetVolume()}handleAccessoryUpdate(){this.targetMode=this.service.values.Mute,this.targetVolume&&"Volume"in this.service.values&&(this.targetVolume.value=this.service.getCharacteristic("Volume").value)}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("Mute").setValue(this.targetMode),this.blurTarget(n)}setActive(e,n){this.service.getCharacteristic("Active").setValue(e),this.blurTarget(n)}setTargetState(e,n){this.service.getCharacteristic("TargetMediaState").setValue(e),this.blurTarget(n)}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}loadTargetVolume(){let e=this.service.getCharacteristic("Volume");e&&(this.targetVolume={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #ffffff, #ffd966, #ff0000)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-speaker-manage"]],features:[re],decls:11,vars:7,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],[1,"mt-4","mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4),v(6,h1,16,17,"div",5)(7,C1,23,24,"div",5),v(8,_1,19,20),v(9,x1,4,8),d(),g(10,"div",6),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,5,"form.button_close")),o(3),h("Active"in i.service.values?6:"TargetMediaState"in i.service.values?7:-1),o(2),h("Mute"in i.service.values?8:-1),o(),h(i.targetVolume?9:-1))},dependencies:[de,pe,me,fe,E],encapsulation:2,changeDetection:0})}return t})();var y1=()=>["Speaker","SmartSpeaker"];function S1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.playing")," ")}function k1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.paused")," ")}function M1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.stopped")," ")}function T1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" \xB7 ",c(1,1,"accessories.control.mute")," ")}function b1(t,r){if(t&1&&p(0),t&2){let e,n=m(3);f(" \xB7 ",(e=n.service().values)==null?null:e.Volume,"% ")}}function B1(t,r){if(t&1&&v(0,b1,1,1),t&2){let e=m(2);h("Volume"in e.service().values?0:-1)}}function w1(t,r){if(t&1&&(a(0,"div",14),v(1,S1,2,3)(2,k1,2,3)(3,M1,2,3),v(4,T1,2,3)(5,B1,1,1),d()),t&2){let e,n,i=m();o(),h((e=(e=i.service().values)==null?null:e.CurrentMediaState)===0?1:e===1?2:e===2?3:-1),o(3),h("Mute"in i.service().values&&((n=i.service().values)!=null&&n.Mute)?4:5)}}function E1(t,r){t&1&&(g(0,"div",15),l(1,"translate")),t&2&&T("innerText",c(1,1,"accessories.control.off"))}function D1(t,r){t&1&&(g(0,"div",15),l(1,"translate")),t&2&&T("innerText",c(1,1,"accessories.control.mute"))}function P1(t,r){if(t&1&&(a(0,"div",14),p(1),d()),t&2){let e,n=m();o(),f("",(e=n.service().values)==null?null:e.Volume,"%")}}function A1(t,r){t&1&&(a(0,"div",14),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.on")))}function O1(t,r){t&1&&(a(0,"div",14),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.speaker")))}var Uo=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);isOn(){let e=this.service().values;return"Active"in e?!!e?.Active:"CurrentMediaState"in e?[0,1].includes(e?.CurrentMediaState):"Mute"in e&&"Volume"in e?!e?.Mute&&e?.Volume>0:"Mute"in e&&!e?.Mute}onClick(){this.readyForControl()&&("Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active===0?1:0):"TargetMediaState"in this.service().values?this.service().getCharacteristic("TargetMediaState").setValue(this.service().values.TargetMediaState===0?1:0):"Mute"in this.service().values&&this.service().getCharacteristic("Mute").setValue(!this.service().values.Mute))}onLongClick(){if(this.readyForControl()&&("Active"in this.service().values||"TargetMediaState"in this.service().values||"Volume"in this.service().values||"Mute"in this.service().values)){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open($o,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-speaker"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:22,vars:14,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","6","y","1","width","20","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1"],["cx","16","cy","9","r","4.5","stroke","#7f7f7f","stroke-width","0","fill","#7f7f7f"],["cx","16","cy","9","r","1.5","stroke","#7f7f7f","stroke-width","0","fill","#e1e1e1",1,"inner"],["cx","16","cy","22","r","6","stroke","#7f7f7f","stroke-width","0","fill","#7f7f7f"],["cx","16","cy","22","r","2","stroke","#7f7f7f","stroke-width","0","fill","#e1e1e1",1,"inner"],["d","M4,12 Q1,16 4,20","stroke","#1976d2","fill","none","stroke-width","1","stroke-opacity","0",1,"wave-inner"],["d","M3,10 Q-2,16 3,22","stroke","#1976d2","fill","none","stroke-width","1","stroke-opacity","0",1,"wave-outer"],["d","M28,12 Q31,16 28,20","stroke","#1976d2","fill","none","stroke-width","1","stroke-opacity","0",1,"wave-inner"],["d","M29,10 Q34,16 29,22","stroke","#1976d2","fill","none","stroke-width","1","stroke-opacity","0",1,"wave-outer"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4)(6,"circle",5)(7,"circle",6)(8,"circle",7)(9,"circle",8)(10,"path",9)(11,"path",10)(12,"path",11)(13,"path",12),d()(),L(),a(14,"div",13),p(15),d(),v(16,w1,6,2,"div",14)(17,E1,2,3,"div",15)(18,D1,2,3,"div",15)(19,P1,2,1,"div",14)(20,A1,3,3,"div",14)(21,O1,3,3,"div",14),d()()),n&2){let s,u,A;M("accessory-on",i.isOn())("paused","CurrentMediaState"in i.service().values&&((s=i.service().values)==null?null:s.CurrentMediaState)===1)("muted","Mute"in i.service().values&&((u=i.service().values)==null?null:u.Mute))("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,11,"accessories.core.speaker")),o(13),_(i.service().customName||i.service().serviceName),o(),h("CurrentMediaState"in i.service().values?16:"Active"in i.service().values&&!((A=i.service().values)!=null&&A.Active)?17:"Mute"in i.service().values&&((A=i.service().values)!=null&&A.Mute)?18:"Volume"in i.service().values?19:De(13,y1).includes(i.service().customType||i.service().type)?20:21)}},dependencies:[Q,E],styles:[".accessory-on[_ngcontent-%COMP%]:not(.paused):not(.muted) svg[_ngcontent-%COMP%] .wave-inner[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse-inner 2s infinite}.accessory-on[_ngcontent-%COMP%]:not(.paused):not(.muted) svg[_ngcontent-%COMP%] .wave-outer[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse-outer 2s infinite}@keyframes _ngcontent-%COMP%_pulse-inner{0%{stroke-opacity:.5}50%{stroke-opacity:1}to{stroke-opacity:.5}}@keyframes _ngcontent-%COMP%_pulse-outer{0%{stroke-opacity:.3}50%{stroke-opacity:.8}to{stroke-opacity:.3}}body.dark-mode[_ngcontent-%COMP%] div.accessory-box[_ngcontent-%COMP%]:not(.accessory-on) svg[_ngcontent-%COMP%] .inner[_ngcontent-%COMP%]{fill:#2b2b2b!important}"],changeDetection:0})}return t})();var Wo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-stateless-programmable-switch"]],inputs:{service:[1,"service"]},decls:17,vars:13,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","30","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","2"],["cx","8.5","cy","9.5","r","5","stroke","#7f7f7f","stroke-width","1","fill","none","fill-opacity","0.5",1,"single"],["cx","23.5","cy","9.5","r","5","stroke","#7f7f7f","stroke-width","1","fill","none","fill-opacity","0.5",1,"double"],["cx","23.5","cy","9.5","r","3","stroke","#7f7f7f","stroke-width","1","fill","none"],["cx","16","cy","23.5","r","5","stroke","#7f7f7f","stroke-width","1","fill","none","fill-opacity","0.5",1,"long"],["x1","5","y1","23.5","x2","11","y2","23.5","stroke","#7f7f7f","stroke-width","0.5","stroke-linecap","round"],["x1","21","y1","23.5","x2","27","y2","23.5","stroke","#7f7f7f","stroke-width","0.5","stroke-linecap","round"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"circle",5)(7,"circle",6)(8,"circle",7)(9,"circle",8)(10,"line",9)(11,"line",10),y()(),L(),C(12,"div",11),p(13),y(),C(14,"div",12),p(15),l(16,"translate"),y()()()),n&2){let s,u,A;M("press-single",((s=i.service().values)==null?null:s.ProgrammableSwitchEvent)===0)("press-double",((u=i.service().values)==null?null:u.ProgrammableSwitchEvent)===1)("press-long",((A=i.service().values)==null?null:A.ProgrammableSwitchEvent)===2),o(2),S("aria-label",c(3,9,"accessories.core.stateless_programmable_switch")),o(11),_(i.service().customName||i.service().serviceName),o(2),_(c(16,11,"accessories.control.stateless"))}},dependencies:[E],styles:[".press-single[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .single[_ngcontent-%COMP%]{fill:#1976d2!important}.press-double[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .double[_ngcontent-%COMP%]{fill:#1976d2!important}.press-long[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .long[_ngcontent-%COMP%]{fill:#1976d2!important}"],changeDetection:0})}return t})();var Go=(()=>{class t{service=P.required();readyForControl=P(!1);isOn(){let e=this.service().values;return e?!!(e.On||e.Active||"LockTargetState"in e&&!e.LockTargetState||"CurrentDoorState"in e&&[0,2].includes(e.CurrentDoorState)):!1}onClick(){this.readyForControl()&&("On"in this.service().values?this.service().getCharacteristic("On").setValue(!this.service().values.On):"Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1):"LockTargetState"in this.service().values?this.service().getCharacteristic("LockTargetState").setValue(this.service().values.LockTargetState?0:1):"TargetDoorState"in this.service().values&&this.service().getCharacteristic("TargetDoorState").setValue(this.service().values.TargetDoorState?0:1))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-switch"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:12,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["cx","16","cy","16","r","14","fill","none","stroke","#7f7f7f","stroke-width","2"],["x1","16","y1","8","x2","16","y2","14","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round"],["fill","#7f7f7f","d",`M21.4589329,9.49999998
C21,9.97698687 21.1735519,10.8351 21.4589326,11.2029426
C22.4505994,12.4811551 23,14.065977 23,15.7447101
C23,19.7640218 19.8532802,23 16,23
C12.1467198,23 9,19.7640218 9,15.7447101
C9,14.0415493 9.56560927,12.4352187 10.5838497,11.1483389
C10.8725653,10.7834523 11,9.9670534 10.5,9.49999999
C10,9.03294657 9.01543812,9.9073372 9.01543812,9.9073372
C7.75536735,11.4998488 7,13.5315645 7,15.7447101
C7,20.8562656 11.0294373,25 16,25
C20.9705627,25 25,20.8562656 25,15.7447101
C25,13.5637007 24.2664101,11.5588905 23.0391328,9.97698685
C23.0391328,9.97698685 21.9178658,9.0230131 21.4589329,9.49999998 Z`],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){n&1&&(a(0,"div",0),k("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"circle",4)(6,"line",5)(7,"path",6),d()(),L(),a(8,"div",7),p(9),d(),g(10,"div",8),l(11,"translate"),d()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,7,"accessories.core.switch")),o(7),_(i.service().customName||i.service().serviceName),o(),T("innerText",c(11,9,i.isOn()?"accessories.control.on":"accessories.control.off")))},dependencies:[Q,E],styles:[".accessory-on[_ngcontent-%COMP%] .accessory-svg[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:#1976d2;stroke-opacity:.75;stroke-width:2.5}.accessory-on[_ngcontent-%COMP%] .accessory-svg[_ngcontent-%COMP%] line[_ngcontent-%COMP%]{stroke:#1976d2;stroke-opacity:.75}.accessory-on[_ngcontent-%COMP%] .accessory-svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{fill:#1976d2;fill-opacity:.75}"],changeDetection:0})}return t})();function I1(t,r){if(t&1){let e=j();C(0,"div",7),l(1,"translate"),C(2,"button",8),ve("click",function(i){I(e);let s=m();return V(s.setActive(0,i))}),C(3,"div",9),O(4,"i",10),y(),p(5),l(6,"translate"),C(7,"div",11),O(8,"i",12),y()(),C(9,"button",8),ve("click",function(i){I(e);let s=m();return V(s.setActive(1,i))}),C(10,"div",9),O(11,"i",10),y(),p(12),l(13,"translate"),C(14,"div",11),O(15,"i",12),y()()()}if(t&2){let e=m();M("mb-4",e.sourceList.length)("mb-0",!e.sourceList.length),S("aria-label",c(1,15,"accessories.control.mode_control")),o(4),M("fa-check-circle",(e.service.values==null?null:e.service.values.Active)===0)("fa-blank",(e.service.values==null?null:e.service.values.Active)!==0),o(),f(" ",c(6,17,"accessories.control.off")," "),o(6),M("fa-check-circle",(e.service.values==null?null:e.service.values.Active)===1)("fa-blank",(e.service.values==null?null:e.service.values.Active)!==1),o(),f(" ",c(13,19,"accessories.control.on")," ")}}function V1(t,r){t&1&&(C(0,"h6"),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.input")))}function F1(t,r){if(t&1){let e=j();C(0,"button",8),ve("click",function(i){let s=I(e).$implicit,u=m(2);return V(u.setInput(s.identifier,i))}),C(1,"div",9),O(2,"i",10),y(),p(3),C(4,"div",11),O(5,"i",12),y()()}if(t&2){let e=r.$implicit,n=m(2);o(2),M("fa-check-circle",(n.service.values==null?null:n.service.values.ActiveIdentifier)===e.identifier)("fa-blank",(n.service.values==null?null:n.service.values.ActiveIdentifier)!==e.identifier),o(),f(" ",e.name," ")}}function L1(t,r){if(t&1&&(v(0,V1,3,3,"h6"),C(1,"div",13),l(2,"translate"),$e(3,F1,6,5,"button",14,it),y()),t&2){let e=m();h(e.hasActive?0:-1),o(),S("aria-label",c(2,2,"accessories.control.input_control")),o(2),Ue(e.sourceList)}}var qo=(()=>{class t extends ae{hasActive=!1;sourceList=[];setupComponent(){if("Active"in this.service.values&&(this.hasActive=!0),this.service.linkedServices)for(let[,e]of Object.entries(this.service.linkedServices))e.type==="InputSource"&&this.sourceList.push({identifier:e.values.Identifier,name:e.values.ConfiguredName||`Input ${e.values.Identifier}`})}handleAccessoryUpdate(){"Active"in this.service.values&&(this.hasActive=!0)}setActive(e,n){this.service.getCharacteristic("Active").setValue(e),this.blurTarget(n)}setInput(e,n){this.service.getCharacteristic("ActiveIdentifier").setValue(e),this.blurTarget(n)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-television-manage"]],features:[re],decls:9,vars:6,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0",3,"mb-4","mb-0"],[1,"modal-footer"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1),O(2,"h5",2),C(3,"button",3),l(4,"translate"),ve("click",function(){return i.dismissModal()}),y()(),C(5,"div",4),v(6,I1,16,21,"div",5),v(7,L1,5,4),y(),O(8,"div",6),y()),n&2&&(o(2),Ee("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,4,"form.button_close")),o(3),h(i.hasActive?6:-1),o(),h(i.sourceList.length?7:-1))},dependencies:[de,E],encapsulation:2,changeDetection:0})}return t})();function N1(t,r){if(t&1&&(a(0,"div",7),p(1),l(2,"translate"),d()),t&2){let e,n=m();o(),f(" ",n.channelList[(e=n.service().values)==null?null:e.ActiveIdentifier]||c(2,1,"accessories.control.on")," ")}}function H1(t,r){t&1&&(a(0,"div",7),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.off")))}var zo=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);channelList={};ngOnInit(){if(this.service().linkedServices)for(let[,e]of Object.entries(this.service().linkedServices))e.type==="InputSource"&&(this.channelList[e.values.Identifier]=e.values.ConfiguredName||`Input ${e.values.Identifier}`)}onClick(){this.readyForControl()&&("Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1):"On"in this.service().values&&this.service().getCharacteristic("On").setValue(!this.service().values.On))}onLongClick(){if(this.readyForControl()&&("Active"in this.service().values||Object.keys(this.channelList).length)){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(qo,{size:"md",backdrop:"static",injector:e})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-television"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:11,vars:9,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x1","10","y1","27.25","x2","22","y2","27.25","stroke","#d32f2f","stroke-width","4","stroke-linecap","round","stroke-opacity","0.75",1,"stand"],["x","1","y","6","width","30","height","20","rx","2","stroke","#7f7f7f","fill","#808080","stroke-width","1.5",1,"screen"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"line",4)(6,"rect",5),d()(),L(),a(7,"div",6),p(8),d(),v(9,N1,3,3,"div",7)(10,H1,3,3,"div",7),d()()),n&2){let s,u,A;M("accessory-on",((s=i.service().values)==null?null:s.Active)||((s=i.service().values)==null?null:s.On))("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,7,"accessories.core.television")),o(6),f(" ",i.service().customName||((u=i.service().values)==null?null:u.ConfiguredName)||i.service().serviceName," "),o(),h((A=i.service().values)!=null&&A.On||(A=i.service().values)!=null&&A.Active?9:10)}},dependencies:[Q,E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .screen[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_color-change 3s infinite alternate}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .stand[_ngcontent-%COMP%]{stroke:#7f7f7f;stroke-opacity:1}@keyframes _ngcontent-%COMP%_color-change{0%{fill:#4fc3f7}to{fill:#0288d1}}"],changeDetection:0})}return t})();function R1(t,r){if(t&1&&(p(0),l(1,"convertTemp"),l(2,"number"),l(3,"uppercase")),t&2){let e,n=m();R(" ",ue(2,4,c(1,2,(e=n.service().values)==null?null:e.CurrentTemperature),"1.0-1"),"\xB0",c(3,7,n.temperatureUnits)," ")}}function j1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.no_data")," ")}var Yo=(()=>{class t{$settings=w(Te);service=P.required();temperatureUnits=this.$settings.env.temperatureUnits;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-temperature-sensor"]],inputs:{service:[1,"service"]},decls:34,vars:5,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["x1","16","y1","5","x2","16","y2","17","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["cx","16","cy","20","r","3","stroke","#7f7f7f","stroke-width","1.2","fill","#1976d2","fill-opacity","0.5"],["x1","9","y1","6","x2","13","y2","6","stroke","#7f7f7f","stroke-width","0.8"],["x1","9","y1","9","x2","13","y2","9","stroke","#7f7f7f","stroke-width","0.8"],["x1","9","y1","12","x2","13","y2","12","stroke","#7f7f7f","stroke-width","0.8"],["x1","9","y1","15","x2","13","y2","15","stroke","#7f7f7f","stroke-width","0.8"],["x1","19","y1","6","x2","23","y2","6","stroke","#7f7f7f","stroke-width","0.8"],["x1","19","y1","9","x2","23","y2","9","stroke","#7f7f7f","stroke-width","0.8"],["x1","19","y1","12","x2","23","y2","12","stroke","#7f7f7f","stroke-width","0.8"],["x1","19","y1","15","x2","23","y2","15","stroke","#7f7f7f","stroke-width","0.8"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"line",5)(7,"circle",6)(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20)(22,"line",21)(23,"line",22)(24,"line",23)(25,"line",24)(26,"line",25)(27,"line",26)(28,"line",27),y()(),L(),C(29,"div",28),p(30),y(),C(31,"div",29),v(32,R1,4,9)(33,j1,2,3),y()()()),n&2&&(o(2),S("aria-label",c(3,3,"accessories.core.temperature_sensor")),o(28),_(i.service().customName||i.service().serviceName),o(2),h("CurrentTemperature"in i.service().values?32:33))},dependencies:[Pe,Ve,Re,E],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media(max-width:575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}"],changeDetection:0})}return t})();function $1(t,r){if(t&1&&p(0),t&2){let e=m();f(" \xB7 ",e.service.values==null?null:e.service.values.CurrentRelativeHumidity,"% ")}}function U1(t,r){if(t&1){let e=j();a(0,"button",9),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(0,i))}),a(1,"div",10),g(2,"i",11),d(),p(3),l(4,"translate"),a(5,"div",12),g(6,"i",13),d()()}if(t&2){let e=m();o(2),M("fa-check-circle",e.targetMode===0)("fa-blank",e.targetMode!==0),o(),f(" ",c(4,5,"accessories.control.off")," ")}}function W1(t,r){if(t&1){let e=j();a(0,"button",9),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(3,i))}),a(1,"div",10),g(2,"i",11),d(),p(3),l(4,"translate"),a(5,"div",12),g(6,"i",13),d()()}if(t&2){let e=m();o(2),M("fa-check-circle",e.targetMode===3)("fa-blank",e.targetMode!==3),o(),f(" ",c(4,5,"accessories.control.auto")," ")}}function G1(t,r){if(t&1){let e=j();a(0,"button",9),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(1,i))}),a(1,"div",10),g(2,"i",11),d(),p(3),l(4,"translate"),a(5,"div",12),g(6,"i",13),d()()}if(t&2){let e=m();o(2),M("fa-check-circle",e.targetMode===1)("fa-blank",e.targetMode!==1),o(),f(" ",c(4,5,"accessories.control.heat")," ")}}function q1(t,r){if(t&1){let e=j();a(0,"button",9),k("click",function(i){I(e);let s=m();return V(s.setTargetMode(2,i))}),a(1,"div",10),g(2,"i",11),d(),p(3),l(4,"translate"),a(5,"div",12),g(6,"i",13),d()()}if(t&2){let e=m();o(2),M("fa-check-circle",e.targetMode===2)("fa-blank",e.targetMode!==2),o(),f(" ",c(4,5,"accessories.control.cool")," ")}}function z1(t,r){if(t&1){let e=j();a(0,"h6",14),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),d(),a(6,"nouislider",15),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetTemperature.value,i)||(s.targetTemperature.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onTemperatureStateChange())}),d()}if(t&2){let e=m();o(),Ze(" ",c(2,7,"accessories.control.target"),": ",ue(4,11,c(3,9,e.targetTemperature.value),"1.0-1"),"\xB0",c(5,14,e.temperatureUnits)," "),o(5),T("min",e.targetTemperature.min)("max",e.targetTemperature.max)("step",e.targetTemperature.step),z("ngModel",e.targetTemperature.value)}}function Y1(t,r){if(t&1){let e=j();a(0,"h6",16),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),l(6,"convertTemp"),l(7,"number"),l(8,"uppercase"),d(),a(9,"nouislider",15),K("ngModelChange",function(i){I(e);let s=m(2);return Y(s.autoTemp,i)||(s.autoTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m(2);return V(i.onAutoThresholdStateChange())}),d()}if(t&2){let e=m(2);o(),Mt(" ",c(2,9,"accessories.control.threshold_auto"),": ",ue(4,13,c(3,11,e.autoTemp[0]),"1.0-1"),"\xB0",c(5,16,e.temperatureUnits)," - ",ue(7,20,c(6,18,e.autoTemp[1]),"1.0-1"),"\xB0",c(8,23,e.temperatureUnits)," "),o(8),T("min",e.HeatingThresholdTemperature.minValue)("max",e.CoolingThresholdTemperature.maxValue)("step",e.CoolingThresholdTemperature.minStep),z("ngModel",e.autoTemp)}}function K1(t,r){if(t&1){let e=j();a(0,"h6",14),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),d(),a(6,"nouislider",15),K("ngModelChange",function(i){I(e);let s=m(2);return Y(s.targetHeatingTemp,i)||(s.targetHeatingTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m(2);return V(i.onThresholdStateChange())}),d()}if(t&2){let e=m(2);o(),Ze(" ",c(2,7,"accessories.control.threshold_auto"),": ",ue(4,11,c(3,9,e.targetHeatingTemp),"1.0-1"),"\xB0",c(5,14,e.temperatureUnits)," "),o(5),T("min",e.HeatingThresholdTemperature.minValue)("max",e.HeatingThresholdTemperature.maxValue)("step",e.HeatingThresholdTemperature.minStep),z("ngModel",e.targetHeatingTemp)}}function Q1(t,r){if(t&1){let e=j();a(0,"h6",14),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),d(),a(6,"nouislider",15),K("ngModelChange",function(i){I(e);let s=m(2);return Y(s.targetCoolingTemp,i)||(s.targetCoolingTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m(2);return V(i.onThresholdStateChange())}),d()}if(t&2){let e=m(2);o(),Ze(" ",c(2,7,"accessories.control.threshold_auto"),": ",ue(4,11,c(3,9,e.targetCoolingTemp),"1.0-1"),"\xB0",c(5,14,e.temperatureUnits)," "),o(5),T("min",e.CoolingThresholdTemperature.minValue)("max",e.CoolingThresholdTemperature.maxValue)("step",e.CoolingThresholdTemperature.minStep),z("ngModel",e.targetCoolingTemp)}}function Z1(t,r){if(t&1&&v(0,Y1,10,25)(1,K1,7,16)(2,Q1,7,16),t&2){let e=m();h(e.HeatingThresholdTemperature&&e.CoolingThresholdTemperature?0:e.HeatingThresholdTemperature&&!e.CoolingThresholdTemperature?1:!e.HeatingThresholdTemperature&&e.CoolingThresholdTemperature?2:-1)}}var Ko=(()=>{class t extends ae{$settings=w(Te);targetMode;targetTemperature;targetTemperatureChanged=new Z;targetThresholdChanged=new Z;targetStateValidValues=[];CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;hasHumidity=!1;temperatureUnits=this.$settings.env.temperatureUnits;setupComponent(){this.createDebouncedSubscription(this.targetTemperatureChanged,()=>{this.service.getCharacteristic("TargetTemperature").setValue(this.targetTemperature.value)}),this.createDebouncedSubscription(this.targetThresholdChanged,()=>{this.HeatingThresholdTemperature&&this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp),this.CoolingThresholdTemperature&&this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp)}),this.targetMode=this.service.values.TargetHeatingCoolingState,this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.targetStateValidValues=this.service.getCharacteristic("TargetHeatingCoolingState").validValues,this.loadTargetTemperature(),this.service.getCharacteristic("CurrentRelativeHumidity")&&(this.hasHumidity=!0),this.applyThermostatGradient()}handleAccessoryUpdate(){this.targetMode=this.service.values.TargetHeatingCoolingState,this.targetTemperature&&(this.targetTemperature.value=this.service.getCharacteristic("TargetTemperature").value),this.CoolingThresholdTemperature&&(this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature").value),this.HeatingThresholdTemperature&&(this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature").value),this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.applyThermostatGradient()}getStatusClass(){let e=this.service.values?.CurrentHeatingCoolingState,n=this.service.values?.TargetHeatingCoolingState;return e===2?"status-color-cooling":e===1?"status-color-heating":n===3?"status-color-active":"status-color-inactive"}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("TargetHeatingCoolingState").setValue(this.targetMode),this.blurTarget(n),this.applyThermostatGradient()}onTemperatureStateChange(){this.targetTemperatureChanged.next(this.targetTemperature.value)}onThresholdStateChange(){this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetThresholdChanged.next(void 0)}onAutoThresholdStateChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.targetThresholdChanged.next(void 0)}loadTargetTemperature(){let e=this.service.getCharacteristic("TargetTemperature");this.targetTemperature={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep||.5},this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}applyThermostatGradient(){this.applySliderGradient("linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))")}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-thermostat-manage"]],features:[re],decls:22,vars:25,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mt-2","mb-4","fs-4"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"modal-footer"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"mt-4","mb-1"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"h6",5),g(7,"i"),p(8),l(9,"convertTemp"),l(10,"number"),l(11,"uppercase"),v(12,$1,1,1),d(),a(13,"div",6),l(14,"translate"),v(15,U1,7,7,"button",7),v(16,W1,7,7,"button",7),v(17,G1,7,7,"button",7),v(18,q1,7,7,"button",7),d(),v(19,z1,7,16),v(20,Z1,3,1),d(),g(21,"div",8),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,14,"form.button_close")),o(4),pt(`fas fa-temperature-full ${i.getStatusClass()}`),o(),R("",ue(10,18,c(9,16,i.service.values==null?null:i.service.values.CurrentTemperature),"1.0-1"),"\xB0",c(11,21,i.temperatureUnits)," "),o(4),h(i.hasHumidity?12:-1),o(),S("aria-label",c(14,23,"accessories.control.mode_control")),o(2),h(i.targetStateValidValues.includes(0)?15:-1),o(),h(i.targetStateValidValues.includes(3)?16:-1),o(),h(i.targetStateValidValues.includes(1)?17:-1),o(),h(i.targetStateValidValues.includes(2)?18:-1),o(),h("TargetTemperature"in i.service.values?19:-1),o(),h(i.targetStateValidValues.includes(3)?20:-1))},dependencies:[de,pe,me,fe,Pe,E,Ve,Re],encapsulation:2,changeDetection:0})}return t})();function J1(t,r){if(t&1&&(F(),a(0,"text",18),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase"),d()),t&2){let e,n=m();o(),R(" ",ue(3,4,c(2,2,(e=n.service().values)==null?null:e.CurrentTemperature),"1.0-1"),"\xB0",c(4,7,n.temperatureUnits)," ")}}function X1(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.off")," ")}function ep(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.heat")," ")}function tp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.cool")," ")}function ip(t,r){if(t&1&&(g(0,"i",21),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase")),t&2){let e,n=m();o(),R(" ",ue(3,4,c(2,2,(e=n.service().values)==null?null:e.TargetTemperature),"1.0-1"),"\xB0",c(4,7,n.temperatureUnits)," ")}}var Qo=(()=>{class t{$modal=w(ee);injector=w(J);$settings=w(Te);$accessories=w(ie);service=P.required();readyForControl=P(!1);temperatureUnits=this.$settings.env.temperatureUnits;getStatusFill(){let e=this.service().values?.CurrentHeatingCoolingState,n=this.service().values?.TargetHeatingCoolingState;return e===2?"url(#coolingGradient)":e===1?"url(#heatingGradient)":n===3?"#42d672":"#7b7b7b"}onClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Ko,{size:"md",backdrop:"static",injector:e})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-thermostat"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:30,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["id","coolingGradient","x1","0","y1","1","x2","0","y2","0"],["offset","0%","stop-color","#1e8bbd"],["attributeName","stop-color","values","#1e8bbd;#66d6d6;#1e8bbd","dur","5s","repeatCount","indefinite"],["offset","50%","stop-color","#66d6d6"],["attributeName","stop-color","values","#66d6d6;#1e8bbd;#66d6d6","dur","5s","repeatCount","indefinite"],["offset","100%","stop-color","#1e8bbd"],["id","heatingGradient","x1","0","y1","1","x2","0","y2","0"],["offset","0%","stop-color","#cc5e00"],["attributeName","stop-color","values","#cc5e00;#e69533;#cc5e00;#e69533","dur","5s","repeatCount","indefinite"],["offset","50%","stop-color","#e69533"],["attributeName","stop-color","values","#e69533;#cc5e00;#e69533;#cc5e00","dur","5s","repeatCount","indefinite"],["offset","100%","stop-color","#cc5e00"],["x","1","y","1","width","30","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["x","1","y","19","width","30","height","8","rx","0","stroke","#7f7f7f","stroke-width","0.75","fill-opacity","0.5"],["x","16","y","13","font-size","8","text-anchor","middle","fill","#7f7f7f","font-family","Arial, sans-serif"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"fa","fas","fa-bullseye"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3)(5,"defs")(6,"linearGradient",4)(7,"stop",5),g(8,"animate",6),d(),a(9,"stop",7),g(10,"animate",8),d(),a(11,"stop",9),g(12,"animate",6),d()(),a(13,"linearGradient",10)(14,"stop",11),g(15,"animate",12),d(),a(16,"stop",13),g(17,"animate",14),d(),a(18,"stop",15),g(19,"animate",12),d()()(),g(20,"rect",16)(21,"rect",17),v(22,J1,5,9,":svg:text",18),d()(),L(),a(23,"div",19),p(24),d(),a(25,"div",20),v(26,X1,2,3)(27,ep,2,3)(28,tp,2,3)(29,ip,5,9),d()()()),n&2){let s,u;M("accessory-on",((s=i.service().values)==null?null:s.TargetHeatingCoolingState)>0)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.thermostat")),o(19),S("fill",i.getStatusFill()),o(),h("CurrentTemperature"in i.service().values?22:-1),o(2),_(i.service().customName||i.service().serviceName),o(2),h(((u=i.service().values)==null?null:u.TargetHeatingCoolingState)===0?26:((u=i.service().values)==null?null:u.CurrentHeatingCoolingState)===1?27:((u=i.service().values)==null?null:u.CurrentHeatingCoolingState)===2?28:((u=i.service().values)==null?null:u.TargetHeatingCoolingState)===3?29:-1)}},dependencies:[Q,Pe,E,Ve,Re],encapsulation:2,changeDetection:0})}return t})();var Zo=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-unknown"]],inputs:{service:[1,"service"]},decls:10,vars:3,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["cx","16","cy","16","r","14","fill","none","stroke","#7f7f7f","stroke-width","1.5"],["d",`M12.2575393,17.7112593
L12.1868707,17.7112593
C11.0779698,17.7112593 10.6478221,16.9467914 11.2212184,16.0037726
L16.4805582,7.35415962
C17.67876,5.38357359 18.0624739,5.55948915 17.3376772,7.746963
L15.7252918,12.6132252
C15.3772095,13.6637556 15.9942825,14.5048291 17.0992511,14.5048291
L20.1977772,14.5048291
L20.1846183,14.5177121
L20.2552868,14.5177121
C21.3641878,14.5177121 21.7943355,15.2821799 21.2209392,16.2251988
L16.1844844,24.5082506
C14.864477,26.6791606 14.4411534,26.4839632 15.241777,24.0676402
L16.7168658,19.6157462
C17.0649481,18.5652158 16.447875,17.7241422 15.3429064,17.7241422
L12.2443804,17.7241422
L12.2575393,17.7112593 Z`,"fill","#7f7f7f"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),F(),C(3,"svg",3),O(4,"circle",4)(5,"path",5),y()(),L(),C(6,"div",6),p(7),y(),C(8,"div",7),p(9),y()()()),n&2&&(o(2),S("aria-label",i.service().humanType),o(5),_(i.service().customName||i.service().serviceName),o(2),_(i.service().humanType))},encapsulation:2,changeDetection:0})}return t})();function np(t,r){if(t&1){let e=j();a(0,"h6"),p(1),l(2,"translate"),l(3,"duration"),d(),a(4,"nouislider",12),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetSetDuration.value,i)||(s.targetSetDuration.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onSetDurationStateChange())}),d()}if(t&2){let e=m();o(),R(" ",c(2,6,"accessories.control.set_duration"),": ",e.targetSetDuration.value===0?"\u221E":c(3,8,e.targetSetDuration.value)," "),o(3),T("min",e.targetSetDuration.min)("max",e.targetSetDuration.max)("step",15),z("ngModel",e.targetSetDuration.value)}}var Jo=(()=>{class t extends ae{targetMode;targetSetDuration;targetSetDurationChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetSetDurationChanged,()=>{this.service.getCharacteristic("SetDuration").setValue(this.targetSetDuration.value)}),this.targetMode=this.service.values.Active,this.loadTargetSetDuration()}handleAccessoryUpdate(){this.targetMode=this.service.values.Active,this.targetSetDuration&&"SetDuration"in this.service.values&&(this.targetSetDuration.value=this.service.getCharacteristic("SetDuration").value)}setTargetMode(e,n){this.targetMode=e,this.service.getCharacteristic("Active").setValue(this.targetMode),this.blurTarget(n)}onSetDurationStateChange(){this.targetSetDurationChanged.next(this.targetSetDuration.value)}loadTargetSetDuration(){let e=this.service.getCharacteristic("SetDuration");e&&(this.targetSetDuration={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #add8e6, #416bdf)",".noUi-target"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-valve-manage"]],features:[re],decls:24,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetMode(!1,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetMode(!0,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()()(),v(22,np,5,10),d(),g(23,"div",11),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,14,"form.button_close")),o(3),S("aria-label",c(7,16,"accessories.control.mode_control")),o(4),M("fa-check-circle",!i.targetMode)("fa-blank",i.targetMode),o(),f(" ",c(12,18,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetMode)("fa-blank",!i.targetMode),o(),f(" ",c(19,20,"accessories.control.on")," "),o(4),h(i.targetSetDuration?22:-1))},dependencies:[de,pe,me,fe,E,oi],encapsulation:2,changeDetection:0})}return t})();function op(t,r){t&1&&(a(0,"div",2),l(1,"translate"),F(),a(2,"svg",5),g(3,"line",6)(4,"line",7)(5,"line",8)(6,"line",9)(7,"circle",10)(8,"circle",11)(9,"circle",12)(10,"circle",13)(11,"circle",14)(12,"circle",15),d()()),t&2&&S("aria-label",c(1,1,"accessories.core.generic_valve"))}function rp(t,r){t&1&&(a(0,"div",2),l(1,"translate"),F(),a(2,"svg",5),g(3,"circle",16)(4,"circle",17)(5,"circle",18)(6,"circle",19)(7,"circle",20)(8,"circle",21)(9,"circle",22)(10,"circle",23)(11,"circle",24)(12,"circle",25)(13,"line",26)(14,"line",27)(15,"line",28),d()()),t&2&&S("aria-label",c(1,1,"accessories.core.irrigation_valve"))}function ap(t,r){t&1&&(a(0,"div",2),l(1,"translate"),F(),a(2,"svg",5),g(3,"line",29)(4,"line",30)(5,"line",31)(6,"path",32)(7,"line",33)(8,"circle",34)(9,"circle",35)(10,"circle",36)(11,"circle",37)(12,"circle",38)(13,"circle",39)(14,"circle",40)(15,"circle",41)(16,"circle",42)(17,"circle",43)(18,"circle",44)(19,"circle",45),d()()),t&2&&S("aria-label",c(1,1,"accessories.core.shower_head_valve"))}function sp(t,r){t&1&&(a(0,"div",2),l(1,"translate"),F(),a(2,"svg",5),g(3,"rect",46)(4,"line",47)(5,"line",48)(6,"rect",49)(7,"path",50)(8,"line",51)(9,"line",52),d()()),t&2&&S("aria-label",c(1,1,"accessories.core.faucet_valve"))}function lp(t,r){if(t&1&&(a(0,"div",4),p(1),d()),t&2){let e=m();o(),_(e.remainingDuration())}}function cp(t,r){t&1&&(a(0,"div",4),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.running")))}function dp(t,r){t&1&&(a(0,"div",4),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.off")))}var Xo=(()=>{class t{destroyRef=w(ct);injector=w(J);$accessories=w(ie);$modal=w(ee);service=P.required();readyForControl=P(!1);secondsActive=0;remainingDuration=Le("");remainingDurationInterval=Yt(1e3).pipe(on(()=>this.isActive()));ngOnInit(){"SetDuration"in this.service().values&&this.setupRemainingDurationCounter()}onClick(){this.readyForControl()&&("Active"in this.service().values?this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1):"On"in this.service().values&&this.service().getCharacteristic("On").setValue(!this.service().values.On))}onLongClick(){if(this.readyForControl()&&"SetDuration"in this.service().values){let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Jo,{size:"md",backdrop:"static",injector:e})}}isActive(){return this.service().values.Active?!0:(this.resetRemainingDuration(),!1)}setupRemainingDurationCounter(){this.remainingDurationInterval.pipe(Xe(this.destroyRef)).subscribe(()=>{this.secondsActive++;let e=this.service().getCharacteristic("RemainingDuration").value-this.secondsActive;e>0?this.remainingDuration.set(e<3600?new Date(e*1e3).toISOString().substring(14,19):new Date(e*1e3).toISOString().substring(11,19)):this.remainingDuration.set("")})}resetRemainingDuration(){this.secondsActive=0,this.service().getCharacteristic?.("RemainingDuration")&&this.remainingDuration.set("")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-valve"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:11,vars:7,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],["width","32","height","32","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x1","8","y1","3","x2","14","y2","3","stroke","#7f7f7f","stroke-width","3","stroke-linecap","round"],["x1","11","y1","8","x2","11","y2","3","stroke","#7f7f7f","stroke-width","3","stroke-linecap","round"],["x1","0","y1","9","x2","21","y2","9","stroke","#7f7f7f","stroke-width","4","stroke-linecap","round"],["x1","21","y1","9","x2","21","y2","14","stroke","#7f7f7f","stroke-width","4","stroke-linecap","round"],["fill","#1976d2","fill-opacity","0","cx","21","cy","19","r","1.5",1,"drop","drop-top"],["fill","#1976d2","fill-opacity","0","cx","17","cy","24","r","1.5",1,"drop","drop-middle"],["fill","#1976d2","fill-opacity","0","cx","25","cy","24","r","1.5",1,"drop","drop-middle"],["fill","#1976d2","fill-opacity","0","cx","13","cy","29","r","1.5",1,"drop","drop-bottom"],["fill","#1976d2","fill-opacity","0","cx","21","cy","29","r","1.5",1,"drop","drop-bottom"],["fill","#1976d2","fill-opacity","0","cx","29","cy","29","r","1.5",1,"drop","drop-bottom"],["fill","#1976d2","fill-opacity","0","cx","1","cy","16","r","1",1,"drop","drop-out"],["fill","#1976d2","fill-opacity","0","cx","6","cy","8","r","1",1,"drop","drop-out"],["fill","#1976d2","fill-opacity","0","cx","16","cy","4","r","1",1,"drop","drop-out"],["fill","#1976d2","fill-opacity","0","cx","26","cy","8","r","1",1,"drop","drop-out"],["fill","#1976d2","fill-opacity","0","cx","31","cy","16","r","1",1,"drop","drop-out"],["fill","#1976d2","fill-opacity","0","cx","7","cy","16","r","1.5",1,"drop","drop-in"],["fill","#1976d2","fill-opacity","0","cx","25","cy","16","r","1.5",1,"drop","drop-in"],["fill","#1976d2","fill-opacity","0","cx","10.5","cy","11.5","r","1.5",1,"drop","drop-in"],["fill","#1976d2","fill-opacity","0","cx","21.5","cy","11.5","r","1.5",1,"drop","drop-in"],["fill","#1976d2","fill-opacity","0","cx","16","cy","9","r","1.5",1,"drop","drop-in"],["x1","16","y1","16","x2","16","y2","31","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round"],["x1","14","y1","16","x2","18","y2","16","stroke","#7f7f7f","stroke-width","4","stroke-linecap","round"],["x1","4","y1","31","x2","28","y2","31","stroke","#7f7f7f","stroke-opacity","0.5","stroke-width","10","stroke-linecap","round",1,"grass"],["x1","1","y1","1","x2","16","y2","1","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round"],["x1","1","y1","1","x2","1","y2","31","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round"],["x1","16","y1","1","x2","16","y2","3","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round"],["d","M8 11 A8 7 0 0 1 24 11","fill","none","stroke","#7f7f7f","stroke-width","2"],["x1","7","y1","11","x2","25","y2","11","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round"],["fill","#1976d2","fill-opacity","0","cx","8","cy","16","r","1.25",1,"drop","drop-top"],["fill","#1976d2","fill-opacity","0","cx","13.3","cy","16","r","1.25",1,"drop","drop-top"],["fill","#1976d2","fill-opacity","0","cx","18.6","cy","16","r","1.25",1,"drop","drop-top"],["fill","#1976d2","fill-opacity","0","cx","24","cy","16","r","1.25",1,"drop","drop-top"],["fill","#1976d2","fill-opacity","0","cx","8","cy","22","r","1",1,"drop","drop-middle"],["fill","#1976d2","fill-opacity","0","cx","13.3","cy","22","r","1",1,"drop","drop-middle"],["fill","#1976d2","fill-opacity","0","cx","18.6","cy","22","r","1",1,"drop","drop-middle"],["fill","#1976d2","fill-opacity","0","cx","24","cy","22","r","1",1,"drop","drop-middle"],["fill","#1976d2","fill-opacity","0","cx","8","cy","28","r","0.75",1,"drop","drop-bottom"],["fill","#1976d2","fill-opacity","0","cx","13.3","cy","28","r","0.75",1,"drop","drop-bottom"],["fill","#1976d2","fill-opacity","0","cx","18.6","cy","28","r","0.75",1,"drop","drop-bottom"],["fill","#1976d2","fill-opacity","0","cx","24","cy","28","r","0.75",1,"drop","drop-bottom"],["x","-3","y","28","width","21","height","6.5","fill","#7f7f7f","stroke-width","0","fill-opacity","0.5",1,"sink"],["stroke-linecap","round","x1","24","y1","18","x2","26","y2","18","stroke","#1976d2","stroke-width","3","stroke-opacity","0.5"],["stroke-linecap","round","x1","20","y1","18","x2","22","y2","18","stroke","#d32f2f","stroke-width","3","stroke-opacity","0.5"],["x","19","y","16.5","rx","1","width","8","height","3","fill","none","stroke-width","1","stroke","#7f7f7f"],["d","M10 9 C10 -1, 23 -1, 23 10 V26","fill","none","stroke","#7f7f7f","stroke-width","2"],["x1","10","y1","9","x2","10","y2","28","stroke","#1976d2","stroke-opacity","0","stroke-width","1.5",1,"stream"],["x1","20","y1","31","x2","26","y2","31","stroke","#7f7f7f","stroke-width","10","stroke-linecap","round"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1),v(2,op,13,3,"div",2)(3,rp,16,3,"div",2)(4,ap,20,3,"div",2)(5,sp,10,3,"div",2),a(6,"div",3),p(7),d(),v(8,lp,2,1,"div",4)(9,cp,3,3,"div",4)(10,dp,3,3,"div",4),d()()),n&2){let s,u,A,G;M("accessory-on",((s=i.service().values)==null?null:s.Active)||((s=i.service().values)==null?null:s.On))("cursor-pointer",i.readyForControl()),o(2),h(((u=i.service().values)==null?null:u.ValveType)===0||!((u=i.service().values)!=null&&u.ValveType)?2:((u=i.service().values)==null?null:u.ValveType)===1?3:((u=i.service().values)==null?null:u.ValveType)===2?4:((u=i.service().values)==null?null:u.ValveType)===3?5:-1),o(5),f(" ",i.service().customName||((A=i.service().values)==null?null:A.ConfiguredName)||i.service().serviceName," "),o(),h((G=i.service().values)!=null&&G.Active&&i.remainingDuration()?8:(G=i.service().values)!=null&&G.Active&&!i.remainingDuration()||(G=i.service().values)!=null&&G.On?9:10)}},dependencies:[Q,E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .grass[_ngcontent-%COMP%]{stroke:#4caf50!important}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .drop[_ngcontent-%COMP%]{fill-opacity:.5}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .drop-in[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_blink 1.5s infinite}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .drop-out[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_blink 1.5s infinite;animation-delay:.75s}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .drop-top[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_blink 1.5s infinite}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .drop-middle[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_blink 1.5s infinite;animation-delay:.5s}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .drop-bottom[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_blink 1.5s infinite;animation-delay:1s}@keyframes _ngcontent-%COMP%_blink{0%,to{opacity:1}50%{opacity:0}}@keyframes _ngcontent-%COMP%_blink-on-off{0%,to{opacity:1}50%{opacity:.5}}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .stream[_ngcontent-%COMP%]{stroke-opacity:.5;animation:_ngcontent-%COMP%_blink-on-off 4s infinite}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .sink[_ngcontent-%COMP%]{fill:#1976d2}"],changeDetection:0})}return t})();var er=(()=>{class t{service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&("On"in this.service().values?this.service().getCharacteristic("On").setValue(!this.service().values.On):"Active"in this.service().values&&this.service().getCharacteristic("Active").setValue(this.service().values.Active?0:1))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-washing-machine"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:22,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3","y","1","width","25","height","30","rx","2","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["x","6","y","4","width","5","rx","0.5","height","4","stroke","#7f7f7f","fill","none","stroke-width","0.5"],["x","7","y","6","width","3","rx","0.25","height","1","stroke","#7f7f7f","fill","none","stroke-width","0.25"],["x","14","y","4","width","11","height","4","rx","0.5","fill","none","stroke","#7f7f7f","stroke-width","0.5"],["x","19","y","5","width","5","height","2","rx","0.25","fill","#1976d2","fill-opacity","0.5","stroke","#7f7f7f","stroke-width","0.25"],["x","15","y","5","width","1","height","1","rx","0.25","fill","none","stroke","#7f7f7f","stroke-width","0.25"],["x","16","y","5","width","1","height","1","rx","0.25","fill","none","stroke","#7f7f7f","stroke-width","0.25"],["x","17","y","5","width","1","height","1","rx","0.25","fill","none","stroke","#7f7f7f","stroke-width","0.25"],["x","15","y","6","width","1","height","1","rx","0.25","fill","none","stroke","#7f7f7f","stroke-width","0.25"],["x","16","y","6","width","1","height","1","rx","0.25","fill","none","stroke","#7f7f7f","stroke-width","0.25"],["x","17","y","6","width","1","height","1","rx","0.25","fill","none","stroke","#7f7f7f","stroke-width","0.25"],["x","19","y","15.5","rx","1","width","3","height","3","fill","#7f7f7f",1,"handle"],["cx","15.5","cy","17","r","6.5","stroke","#7f7f7f","fill","none","stroke-width","1.2"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4)(6,"rect",5)(7,"rect",6)(8,"rect",7)(9,"rect",8)(10,"rect",9)(11,"rect",10)(12,"rect",11)(13,"rect",12)(14,"rect",13)(15,"rect",14)(16,"rect",15)(17,"circle",16),d()(),L(),a(18,"div",17),p(19),d(),g(20,"div",18),l(21,"translate"),d()()),n&2){let s,u;M("accessory-on",((s=i.service().values)==null?null:s.On)||((s=i.service().values)==null?null:s.Active))("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,7,"accessories.core.washing_machine")),o(17),_(i.service().customName||i.service().serviceName),o(),T("innerText",c(21,9,(u=i.service().values)!=null&&u.On||(u=i.service().values)!=null&&u.Active?"accessories.control.on":"accessories.control.off"))}},dependencies:[Q,E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{fill:#1976d2;fill-opacity:.5;transform-origin:48% 53%;animation:_ngcontent-%COMP%_rotate-handle 2s linear infinite}@keyframes _ngcontent-%COMP%_rotate-handle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"],changeDetection:0})}return t})();function pp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function mp(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m(2);R(" ",c(1,2,"accessories.control.open")," ",e.service.getCharacteristic("CurrentPosition").value,"% ")}}function up(t,r){if(t&1&&v(0,pp,2,3)(1,mp,2,4),t&2){let e=m();h((e.service.values==null?null:e.service.values.CurrentPosition)===0?0:1)}}function fp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.opening"),"... ")}function gp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closing"),"... ")}var tr=(()=>{class t extends ae{targetMode;targetPositionChanged=new Z;targetPosition;setupComponent(){this.createDebouncedSubscription(this.targetPositionChanged,()=>{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)}),this.targetMode=this.service.values.On,this.loadTargetPosition()}handleAccessoryUpdate(){this.targetMode=this.service.values.On,this.targetPosition&&"TargetPosition"in this.service.values&&(this.targetPosition.value=this.service.getCharacteristic("TargetPosition").value)}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}loadTargetPosition(){let e=this.service.getCharacteristic("TargetPosition");e&&(this.targetPosition={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #242424, #ffd6aa)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-window-covering-manage"]],features:[re],decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5)(7,"div",6),v(8,up,2,1)(9,fp,2,3)(10,gp,2,3),d()(),a(11,"h6",7),p(12),l(13,"translate"),d(),a(14,"nouislider",8),K("ngModelChange",function(u){return Y(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),k("ngModelChange",function(){return i.onTargetPositionChange()}),d(),a(15,"div",9)(16,"span",10),p(17),l(18,"translate"),d(),a(19,"span",10),p(20),l(21,"translate"),d()(),a(22,"h6",7),p(23),l(24,"translate"),d(),a(25,"nouislider",11),K("ngModelChange",function(u){return Y(i.service.getCharacteristic("CurrentPosition").value,u)||(i.service.getCharacteristic("CurrentPosition").value=u),u}),d(),a(26,"div",9)(27,"span",10),p(28),l(29,"translate"),d(),a(30,"span",10),p(31),l(32,"translate"),d()()(),g(33,"div",12),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,20,"form.button_close")),o(5),h((i.service.values==null?null:i.service.values.PositionState)===2?8:(i.service.values==null?null:i.service.values.PositionState)===1?9:(i.service.values==null?null:i.service.values.PositionState)===0?10:-1),o(4),R("",c(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),o(2),T("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),z("ngModel",i.targetPosition.value),o(3),_(c(18,24,"accessories.control.closed")),o(3),_(c(21,26,"accessories.control.open")),o(3),R(" ",c(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),o(2),T("min",0)("max",100)("step",1)("disabled",!0),z("ngModel",i.service.getCharacteristic("CurrentPosition").value),o(3),_(c(29,30,"accessories.control.closed")),o(3),_(c(32,32,"accessories.control.open")))},dependencies:[fe,de,pe,me,E],encapsulation:2,changeDetection:0})}return t})();function vp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function hp(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e,n=m(2);R(" ",c(1,2,"accessories.control.open")," ",(e=n.service().values)==null?null:e.CurrentPosition,"% ")}}function Cp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.open")," ")}function _p(t,r){if(t&1&&(a(0,"div",12),v(1,vp,2,3),v(2,hp,2,4),v(3,Cp,2,3),d()),t&2){let e,n,i,s=m();o(),h(((e=s.service().values)==null?null:e.CurrentPosition)===0?1:-1),o(),h(((n=s.service().values)==null?null:n.CurrentPosition)>0&&((n=s.service().values)==null?null:n.CurrentPosition)<100?2:-1),o(),h(((i=s.service().values)==null?null:i.CurrentPosition)===100?3:-1)}}function xp(t,r){t&1&&(a(0,"div",13),p(1),l(2,"translate"),d()),t&2&&(o(),f("",c(2,1,"accessories.control.opening"),"..."))}function yp(t,r){t&1&&(a(0,"div",13),p(1),l(2,"translate"),d()),t&2&&(o(),f("",c(2,1,"accessories.control.closing"),"..."))}var ir=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&(this.service().values.TargetPosition?this.service().getCharacteristic("TargetPosition").setValue(0):this.service().getCharacteristic("TargetPosition").setValue(100))}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(tr,{size:"md",backdrop:"static",injector:e})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-window-covering"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:17,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","0.8","width","30","height","30.2","rx","0.5","stroke","#7f7f7f","fill","none","stroke-width","1.5"],["x","2.8","y","2.6","width","12.4","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1"],["x","3.66","y","15.65","width","10.68","height","0.5","stroke","#7f7f7f","fill","none","stroke-width","0.5","rx","2"],["x","16.8","y","2.6","width","12.4","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1"],["x","17.66","y","15.65","width","10.68","height","0.5","stroke","#7f7f7f","fill","none","stroke-width","0.5","rx","2"],["x","2.3","y","2.1","width","27.4","height","27.6","stroke","#808080","fill","#808080","stroke-width","0.5","stroke-opacity","0.9","fill-opacity","0.9",1,"c-blinds"],["x","2.05","y","29.9","width","27.9","height","0","stroke","#ffffff","fill","#ffffff","stroke-width","0.5","stroke-opacity","0","fill-opacity","0.5",1,"c-light"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4)(6,"rect",5)(7,"rect",6)(8,"rect",7)(9,"rect",8)(10,"rect",9)(11,"rect",10),d()(),L(),a(12,"div",11),p(13),d(),v(14,_p,4,3,"div",12)(15,xp,3,3,"div",13)(16,yp,3,3,"div",13),d()()),n&2){let s,u,A;dt("--position",(((s=i.service().values)==null?null:s.CurrentPosition)??0)/100),M("accessory-on",(u=i.service().values)==null?null:u.CurrentPosition)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.window_covering")),o(11),_(i.service().customName||i.service().serviceName),o(),h(((A=i.service().values)==null?null:A.PositionState)===2?14:((A=i.service().values)==null?null:A.PositionState)===1?15:((A=i.service().values)==null?null:A.PositionState)===0?16:-1)}},dependencies:[Q,E],styles:["svg[_ngcontent-%COMP%] .c-blinds[_ngcontent-%COMP%]{transition:height 3s ease;height:calc(27.6px - 27.3px * var(--position, 0))}svg[_ngcontent-%COMP%] .c-light[_ngcontent-%COMP%]{transition:y 3s ease,height 3s ease;y:calc(29.9px - 27.25px * var(--position, 0));height:calc(27.3px * var(--position, 0))}"],changeDetection:0})}return t})();function Sp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function kp(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m(2);R(" ",c(1,2,"accessories.control.open")," ",e.service.getCharacteristic("CurrentPosition").value,"% ")}}function Mp(t,r){if(t&1&&v(0,Sp,2,3)(1,kp,2,4),t&2){let e=m();h((e.service.values==null?null:e.service.values.CurrentPosition)===0?0:1)}}function Tp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.opening"),"... ")}function bp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closing"),"... ")}var nr=(()=>{class t extends ae{targetMode;targetPositionChanged=new Z;targetPosition;setupComponent(){this.createDebouncedSubscription(this.targetPositionChanged,()=>{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)}),this.targetMode=this.service.values.On,this.loadTargetPosition()}handleAccessoryUpdate(){this.targetMode=this.service.values.On,this.targetPosition&&"TargetPosition"in this.service.values&&(this.targetPosition.value=this.service.getCharacteristic("TargetPosition").value)}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}loadTargetPosition(){let e=this.service.getCharacteristic("TargetPosition");e&&(this.targetPosition={value:e.value,min:e.minValue,max:e.maxValue,step:e.minStep},this.applySliderGradient("linear-gradient(to right, #242424, #ffd6aa)"))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-window-manage"]],features:[re],decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5)(7,"div",6),v(8,Mp,2,1)(9,Tp,2,3)(10,bp,2,3),d()(),a(11,"h6",7),p(12),l(13,"translate"),d(),a(14,"nouislider",8),K("ngModelChange",function(u){return Y(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),k("ngModelChange",function(){return i.onTargetPositionChange()}),d(),a(15,"div",9)(16,"span",10),p(17),l(18,"translate"),d(),a(19,"span",10),p(20),l(21,"translate"),d()(),a(22,"h6",7),p(23),l(24,"translate"),d(),a(25,"nouislider",11),K("ngModelChange",function(u){return Y(i.service.getCharacteristic("CurrentPosition").value,u)||(i.service.getCharacteristic("CurrentPosition").value=u),u}),d(),a(26,"div",9)(27,"span",10),p(28),l(29,"translate"),d(),a(30,"span",10),p(31),l(32,"translate"),d()()(),g(33,"div",12),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName),o(),S("aria-label",c(4,20,"form.button_close")),o(5),h((i.service.values==null?null:i.service.values.PositionState)===2?8:(i.service.values==null?null:i.service.values.PositionState)===1?9:(i.service.values==null?null:i.service.values.PositionState)===0?10:-1),o(4),R("",c(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),o(2),T("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),z("ngModel",i.targetPosition.value),o(3),_(c(18,24,"accessories.control.closed")),o(3),_(c(21,26,"accessories.control.open")),o(3),R(" ",c(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),o(2),T("min",0)("max",100)("step",1)("disabled",!0),z("ngModel",i.service.getCharacteristic("CurrentPosition").value),o(3),_(c(29,30,"accessories.control.closed")),o(3),_(c(32,32,"accessories.control.open")))},dependencies:[fe,de,pe,me,E],encapsulation:2,changeDetection:0})}return t})();function Bp(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function wp(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e,n=m(2);R(" ",c(1,2,"accessories.control.open")," ",(e=n.service().values)==null?null:e.CurrentPosition,"% ")}}function Ep(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.open")," ")}function Dp(t,r){if(t&1&&(a(0,"div",12),v(1,Bp,2,3),v(2,wp,2,4),v(3,Ep,2,3),d()),t&2){let e,n,i,s=m();o(),h(((e=s.service().values)==null?null:e.CurrentPosition)===0?1:-1),o(),h(((n=s.service().values)==null?null:n.CurrentPosition)>0&&((n=s.service().values)==null?null:n.CurrentPosition)<100?2:-1),o(),h(((i=s.service().values)==null?null:i.CurrentPosition)===100?3:-1)}}function Pp(t,r){t&1&&(a(0,"div",13),p(1),l(2,"translate"),d()),t&2&&(o(),f("",c(2,1,"accessories.control.opening"),"..."))}function Ap(t,r){t&1&&(a(0,"div",13),p(1),l(2,"translate"),d()),t&2&&(o(),f("",c(2,1,"accessories.control.closing"),"..."))}var or=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&(this.service().values.TargetPosition?this.service().getCharacteristic("TargetPosition").setValue(0):this.service().getCharacteristic("TargetPosition").setValue(100))}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(nr,{size:"md",backdrop:"static",injector:e})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-window"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:17,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","0.8","width","30","height","30.2","rx","0.5","stroke","#7f7f7f","fill","none","stroke-width","1.5"],["x","2.8","y","2.6","width","12.4","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1",1,"outline-left"],["x","3.66","y","15.65","width","10.68","height","0.5","stroke","#7f7f7f","fill","none","stroke-width","0.5","ry","2",1,"divider-left"],["x","15.16","y","13.6","width","0.1","height","4.6","stroke","#1976d2","fill","none","stroke-width","0.5","ry","2",1,"handle-left"],["x","16.8","y","2.6","width","12.4","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1",1,"outline-right"],["x","17.66","y","15.65","width","10.68","height","0.5","stroke","#7f7f7f","fill","none","stroke-width","0.5","ry","2",1,"divider-right"],["x","16.76","y","13.6","width","0.1","height","4.6","stroke","#1976d2","fill","none","stroke-width","0.5","ry","2",1,"handle-right"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4)(6,"rect",5)(7,"rect",6)(8,"rect",7)(9,"rect",8)(10,"rect",9)(11,"rect",10),d()(),L(),a(12,"div",11),p(13),d(),v(14,Dp,4,3,"div",12)(15,Pp,3,3,"div",13)(16,Ap,3,3,"div",13),d()()),n&2){let s,u,A;dt("--position",(((s=i.service().values)==null?null:s.CurrentPosition)??0)/100),M("accessory-on",(u=i.service().values)==null?null:u.CurrentPosition)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.window")),o(11),_(i.service().customName||i.service().serviceName),o(),h(((A=i.service().values)==null?null:A.PositionState)===2?14:((A=i.service().values)==null?null:A.PositionState)===1?15:((A=i.service().values)==null?null:A.PositionState)===0?16:-1)}},dependencies:[Q,E],styles:["svg[_ngcontent-%COMP%] .outline-left[_ngcontent-%COMP%]{transition:width 3s ease;x:2.8px;width:calc(12.4px - 10px * var(--position, 0))}svg[_ngcontent-%COMP%] .divider-left[_ngcontent-%COMP%]{transition:width 3s ease;x:3.66px;width:calc(10.68px - 10px * var(--position, 0))}svg[_ngcontent-%COMP%] .handle-left[_ngcontent-%COMP%]{transition:x 3s ease;x:calc(15.16px - 10px * var(--position, 0));width:.1px}svg[_ngcontent-%COMP%] .outline-right[_ngcontent-%COMP%]{transition:x 3s ease,width 3s ease;x:calc(16.8px + 10px * var(--position, 0));width:calc(12.4px - 10px * var(--position, 0))}svg[_ngcontent-%COMP%] .divider-right[_ngcontent-%COMP%]{transition:x 3s ease,width 3s ease;x:calc(17.66px + 10px * var(--position, 0));width:calc(10.68px - 10px * var(--position, 0))}svg[_ngcontent-%COMP%] .handle-right[_ngcontent-%COMP%]{transition:x 3s ease;x:calc(16.76px + 10px * var(--position, 0));width:.1px}"],changeDetection:0})}return t})();var Ht={OnOffLight:"OnOffLight",OnOffLightSwitch:"OnOffLightSwitch",OnOffPlugInUnit:"OnOffPlugInUnit",DimmableLight:"DimmableLight",ColorTemperatureLight:"ColorTemperatureLight",ExtendedColorLight:"ExtendedColorLight",RoboticVacuumCleaner:"RoboticVacuumCleaner",ContactSensor:"ContactSensor",OccupancySensor:"OccupancySensor",LightSensor:"LightSensor",TemperatureSensor:"TemperatureSensor",HumiditySensor:"HumiditySensor",SmokeCoAlarm:"SmokeCoAlarm",WaterLeakDetector:"WaterLeakDetector",AirQualitySensor:"AirQualitySensor",DoorLock:"DoorLock",WindowCovering:"WindowCovering",Door:"Door",Window:"Window",Fan:"Fan",Thermostat:"Thermostat"},ye=(function(t){return t[t.Stopped=0]="Stopped",t[t.Running=1]="Running",t[t.Paused=2]="Paused",t[t.Error=3]="Error",t[t.SeekingCharger=64]="SeekingCharger",t[t.Charging=65]="Charging",t[t.Docked=66]="Docked",t})(ye||{}),Ye=(function(t){return t[t.Idle=0]="Idle",t[t.Cleaning=1]="Cleaning",t})(Ye||{}),Ne={Min:0,Max:254},Tt={MinMired:147,MaxMired:500},ri=(function(t){return t[t.NotFullyLocked=0]="NotFullyLocked",t[t.Locked=1]="Locked",t[t.Unlocked=2]="Unlocked",t})(ri||{});var Rt=(function(t){return t[t.Off=0]="Off",t[t.Auto=1]="Auto",t[t.Cool=3]="Cool",t[t.Heat=4]="Heat",t[t.EmergencyHeat=5]="EmergencyHeat",t[t.Precooling=6]="Precooling",t[t.FanOnly=7]="FanOnly",t})(Rt||{});function rr(t){return t.deviceType===Ht.OnOffLight||t.deviceType===Ht.OnOffLightSwitch||t.deviceType===Ht.OnOffPlugInUnit}function Ai(t){return t.deviceType===Ht.RoboticVacuumCleaner}function bt(t){return t.clusters?.rvcOperationalState?.operationalState??ye.Stopped}function Op(t){let r=bt(t);return r===ye.Running||r===ye.Paused||r===ye.SeekingCharger}function Ip(t){return se(this,null,function*(){let r=bt(t);if(r===ye.Running){let e=t.getCluster?.("rvcOperationalState");if(!e){let n=new Error("RVC operational state cluster not found");throw console.error(n.message),n}try{yield e.setAttributes({operationalState:ye.Paused})}catch(n){throw console.error("Failed to pause Matter robotic vacuum:",n),n}}else if(r===ye.Paused){let e=t.getCluster?.("rvcOperationalState");if(!e){let n=new Error("RVC operational state cluster not found");throw console.error(n.message),n}try{yield e.setAttributes({operationalState:ye.Running})}catch(n){throw console.error("Failed to resume Matter robotic vacuum:",n),n}}else{let e=t.getCluster?.("rvcRunMode");if(!e){let n=new Error("RvcRunMode cluster not found");throw console.error(n.message),n}try{yield e.setAttributes({currentMode:Ye.Cleaning})}catch(n){throw console.error("Failed to start Matter robotic vacuum:",n),n}}})}function Vp(t){return se(this,null,function*(){let e=!(t.clusters?.onOff?.onOff??!1),n=t.getCluster?.("onOff");if(!n){let i=new Error("OnOff cluster not found");throw console.error(i.message),i}try{yield n.setAttributes({onOff:e})}catch(i){throw console.error("Failed to control Matter device:",i),i}})}function Qe(t){return t.clusters?.onOff?.onOff??!1}function Fp(t){return t.clusters?.levelControl!==void 0}function Ke(t){if(Ai(t))return Op(t);if(Fp(t)){let r=Qe(t),e=We(t)>0;return r&&e}return Qe(t)}function ft(t){Ai(t)?Ip(t):Vp(t)}function Lp(t){switch(bt(t)){case ye.Running:return"accessories.control.cleaning";case ye.Paused:return"accessories.control.paused";case ye.SeekingCharger:return"accessories.control.seeking_charger";case ye.Charging:return"accessories.control.charging";case ye.Docked:return"accessories.control.docked";case ye.Stopped:default:return"accessories.control.stopped"}}function Np(t){return Qe(t)?"accessories.control.on":"accessories.control.off"}function ar(t){return Ai(t)?Lp(t):Np(t)}function We(t){return t.clusters?.levelControl?.currentLevel??Ne.Min}function Bt(t){let r=We(t);return Math.round(r/Ne.Max*100)}function wt(t){return Math.round(t/Ne.Max*100)}function Et(t){return se(this,null,function*(){let r=We(t);if(Qe(t)){let n=t.getCluster?.("onOff");if(!n){let i=new Error("OnOff cluster not found");throw console.error(i.message),i}try{yield n.setAttributes({onOff:!1})}catch(i){throw console.error("Failed to turn Matter light off:",i),i}}else{let n=r||Ne.Max,i=t.getCluster?.("levelControl");if(!i){let s=new Error("LevelControl cluster not found");throw console.error(s.message),s}try{yield i.setAttributes({currentLevel:n})}catch(s){throw console.error("Failed to turn Matter light on:",s),s}}})}function nt(t){return t.clusters?.colorControl?.colorTemperatureMireds??250}function sr(t){return t.clusters?.colorControl?.colorTemperatureMireds!==void 0}function lr(t){return t.clusters?.colorControl?.colorMode??0}function xt(t){return t.clusters?.colorControl?.currentHue??0}function yt(t){return t.clusters?.colorControl?.currentSaturation??0}function cr(t){return!(t.clusters?.booleanState?.stateValue??!1)}function dr(t){return t.clusters?.occupancySensing?.occupancy?.occupied??!1}function pr(t){let r=t.clusters?.illuminanceMeasurement?.measuredValue??0;return r===0||r===null?0:10**((r-1)/1e4)}function mr(t){let r=t.clusters?.temperatureMeasurement?.measuredValue;return r==null?null:r/100}function ur(t){let r=t.clusters?.relativeHumidityMeasurement?.measuredValue;return r==null?null:r/100}function Hp(t){return t.clusters?.smokeCoAlarm?.smokeState??0}function Rp(t){return t.clusters?.smokeCoAlarm?.coState??0}function fr(t){let r=Hp(t),e=Rp(t);return r>0||e>0}function gr(t){return t.clusters?.booleanState?.stateValue??!1}function si(t){return t.clusters?.airQuality?.airQuality??0}function Dt(t){return t.clusters?.doorLock?.lockState??1}function vr(t){return se(this,null,function*(){let r=Dt(t),e=t.getCluster?.("doorLock");if(!e){let n=new Error("Door lock cluster not found");throw console.error(n.message),n}try{r===1?yield e.setAttributes({lockState:2}):yield e.setAttributes({lockState:1})}catch(n){throw console.error(`Failed to ${r===1?"unlock":"lock"} door:`,n),n}})}function hr(t,r){return se(this,null,function*(){let e=t.getCluster?.("doorLock");if(!e){let i=new Error("Door lock cluster not found");throw console.error(i.message),i}let n=r?1:2;try{yield e.setAttributes({lockState:n})}catch(i){throw console.error("Failed to set door lock state:",i),i}})}function jp(t){return t.clusters?.windowCovering?.currentPositionLiftPercent100ths??0}function $p(t){return Math.round(100-t/100)}function Up(t){return Math.round((100-t)*100)}function gt(t){let r=jp(t);return $p(r)}function ai(t,r){return se(this,null,function*(){let e=t.getCluster?.("windowCovering");if(!e){let i=new Error("Window covering cluster not found");throw console.error(i.message),i}let n=Up(r);try{yield e.setAttributes({targetPositionLiftPercent100ths:n})}catch(i){throw console.error("Failed to set window covering position:",i),i}})}function Cr(t){return se(this,null,function*(){gt(t)>50?yield ai(t,0):yield ai(t,100)})}function Wp(t){return t.clusters?.fanControl?.fanMode??0}function St(t){return t.clusters?.fanControl?.percentSetting??0}function Pt(t){let r=Wp(t),e=St(t);return r>0||e>0}function _r(t){return se(this,null,function*(){let r=Pt(t),e=t.getCluster?.("fanControl");if(!e){let n=new Error("Fan control cluster not found");throw console.error(n.message),n}try{r?yield e.setAttributes({percentSetting:0}):yield e.setAttributes({percentSetting:100})}catch(n){throw console.error(`Failed to turn fan ${r?"off":"on"}:`,n),n}})}function li(t,r){return se(this,null,function*(){let e=t.getCluster?.("fanControl");if(!e){let n=new Error("Fan control cluster not found");throw console.error(n.message),n}try{yield e.setAttributes({percentSetting:r})}catch(n){throw console.error("Failed to set fan speed:",n),n}})}function ci(t){let r=t.clusters?.thermostat?.localTemperature??t.clusters?.thermostat?.externalMeasuredIndoorTemperature;return r==null?null:r/100}function At(t){return t.clusters?.thermostat?.systemMode??0}function jt(t){return(t.clusters?.thermostat?.occupiedHeatingSetpoint??2e3)/100}function $t(t){return(t.clusters?.thermostat?.occupiedCoolingSetpoint??2400)/100}function xr(t){return At(t)>0}function yr(t,r){return se(this,null,function*(){let e=t.getCluster?.("thermostat");if(!e){let n=new Error("Thermostat cluster not found");throw console.error(n.message),n}try{yield e.setAttributes({systemMode:r})}catch(n){throw console.error("Failed to set thermostat system mode:",n),n}})}function Oi(t,r){return se(this,null,function*(){let e=t.getCluster?.("thermostat");if(!e){let i=new Error("Thermostat cluster not found");throw console.error(i.message),i}let n=Math.round(r*100);try{yield e.setAttributes({occupiedHeatingSetpoint:n})}catch(i){throw console.error("Failed to set heating setpoint:",i),i}})}function Ii(t,r){return se(this,null,function*(){let e=t.getCluster?.("thermostat");if(!e){let i=new Error("Thermostat cluster not found");throw console.error(i.message),i}let n=Math.round(r*100);try{yield e.setAttributes({occupiedCoolingSetpoint:n})}catch(i){throw console.error("Failed to set cooling setpoint:",i),i}})}function Vi(t){return t.clusters?.pm25ConcentrationMeasurement?.measuredValue??null}function Fi(t){return t.clusters?.pm10ConcentrationMeasurement?.measuredValue??null}function Li(t){return t.clusters?.carbonMonoxideConcentrationMeasurement?.measuredValue??null}function Ni(t){return t.clusters?.nitrogenDioxideConcentrationMeasurement?.measuredValue??null}function Hi(t){return t.clusters?.ozoneConcentrationMeasurement?.measuredValue??null}function di(t){return Vi(t)!==null||Fi(t)!==null||Li(t)!==null||Ni(t)!==null||Hi(t)!==null}function Ot(t,r){let e=t.clusters?.[r];if(e?.measurementUnit!==void 0)switch(e.measurementUnit){case 0:return"ppm";case 1:return"ppb";case 2:return"ppt";case 3:return"mg/m\xB3";case 4:return"\xB5g/m\xB3"}return r.includes("pm25")||r.includes("pm10")?"\xB5g/m\xB3":r.includes("carbonMonoxide")?"ppm":"ppb"}function Sr(t){return!!t.clusters?.serviceArea}function kr(t){return!!t.clusters?.rvcCleanMode}function Mr(t){let r=t.clusters?.serviceArea?.supportedAreas;return Array.isArray(r)?r.map(e=>({areaId:e.areaId,name:e.areaInfo?.locationName||`Area ${e.areaId}`})):[]}function Tr(t){return t.clusters?.serviceArea?.selectedAreas??[]}function br(t){return t.clusters?.serviceArea?.currentArea??null}function Br(t){return t.clusters?.serviceArea?.progress??[]}function wr(t){return t.clusters?.rvcCleanMode?.supportedModes??[]}function Er(t){return t.clusters?.rvcCleanMode?.currentMode??0}var Gp=()=>[1,2],qp=()=>[3,4];function zp(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,3,"accessories.control.pm25")),o(3),R("",e.pm25," ",e.pm25Unit)}}function Yp(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,3,"accessories.control.pm10")),o(3),R("",e.pm10," ",e.pm10Unit)}}function Kp(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,3,"accessories.control.carbon_monoxide")),o(3),R("",e.co," ",e.coUnit)}}function Qp(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,3,"accessories.control.nitrogen_dioxide")),o(3),R("",e.no2," ",e.no2Unit)}}function Zp(t,r){if(t&1&&(C(0,"li",9)(1,"span"),p(2),l(3,"translate"),y(),C(4,"span",10),p(5),y()()),t&2){let e=m(2);o(2),_(c(3,3,"accessories.control.ozone")),o(3),R("",e.ozone," ",e.ozoneUnit)}}function Jp(t,r){if(t&1&&(C(0,"ul",7),v(1,zp,6,5,"li",9),v(2,Yp,6,5,"li",9),v(3,Kp,6,5,"li",9),v(4,Qp,6,5,"li",9),v(5,Zp,6,5,"li",9),y()),t&2){let e=m();o(),h(e.pm25!==null?1:-1),o(),h(e.pm10!==null?2:-1),o(),h(e.co!==null?3:-1),o(),h(e.no2!==null?4:-1),o(),h(e.ozone!==null?5:-1)}}var Dr=(()=>{class t extends ae{labels=["accessories.control.air_quality_unknown","accessories.control.air_quality_good","accessories.control.air_quality_fair","accessories.control.air_quality_moderate","accessories.control.air_quality_poor","accessories.control.air_quality_very_poor","accessories.control.air_quality_extremely_poor"];airQuality=0;pm25=null;pm10=null;co=null;no2=null;ozone=null;pm25Unit="\xB5g/m\xB3";pm10Unit="\xB5g/m\xB3";coUnit="ppm";no2Unit="ppb";ozoneUnit="ppb";setupComponent(){this.updateFromService()}handleAccessoryUpdate(){this.updateFromService()}updateFromService(){this.airQuality=si(this.service),this.pm25=Vi(this.service),this.pm10=Fi(this.service),this.co=Li(this.service),this.no2=Ni(this.service),this.ozone=Hi(this.service),this.pm25!==null&&(this.pm25Unit=Ot(this.service,"pm25ConcentrationMeasurement")),this.pm10!==null&&(this.pm10Unit=Ot(this.service,"pm10ConcentrationMeasurement")),this.co!==null&&(this.coUnit=Ot(this.service,"carbonMonoxideConcentrationMeasurement")),this.no2!==null&&(this.no2Unit=Ot(this.service,"nitrogenDioxideConcentrationMeasurement")),this.ozone!==null&&(this.ozoneUnit=Ot(this.service,"ozoneConcentrationMeasurement"))}get hasConcentration(){return di(this.service)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-air-quality-sensor-manage"]],features:[re],decls:12,vars:16,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","px-4"],[1,"text-center","mb-3"],[1,"badge","rounded-pill","fs-6"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1),O(2,"h5",2),C(3,"button",3),l(4,"translate"),ve("click",function(){return i.dismissModal()}),y()(),C(5,"div",4)(6,"div",5)(7,"span",6),p(8),l(9,"translate"),y()(),v(10,Jp,6,5,"ul",7),y(),O(11,"div",8),y()),n&2&&(o(2),Ee("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,10,"form.button_close")),o(4),M("bg-success",De(14,Gp).includes(i.airQuality))("bg-warning",De(15,qp).includes(i.airQuality))("bg-danger",i.airQuality>=5),o(),f(" ",c(9,12,i.labels[i.airQuality||0])," "),o(2),h(i.hasConcentration?10:-1))},dependencies:[E],encapsulation:2,changeDetection:0})}return t})();var Xp=()=>[3,4],em=()=>[1,2],Pr=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();labels=["accessories.control.air_quality_unknown","accessories.control.air_quality_good","accessories.control.air_quality_fair","accessories.control.air_quality_moderate","accessories.control.air_quality_poor","accessories.control.air_quality_very_poor","accessories.control.air_quality_extremely_poor"];airQuality=te(()=>si(this.service()));canShowModal=te(()=>di(this.service()));onLongClick(){if(!this.canShowModal())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Dr,{size:"md",backdrop:"static",injector:e})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-air-quality-sensor"]],inputs:{service:[1,"service"]},decls:26,vars:21,consts:[["appLongClick","",1,"accessory-box","cursor-pointer",3,"longClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["transform","translate(5.1, 3) scale(0.68)"],["fill","#7f7f7f","d","M10.1435881,25.4905179 C10.286009,26.7050605 10.531254,27.9706077 10.8919121,29.2887103 C6.25942062,27.4175104 3.57173247,24.180341 2.39781526,19.889403 C1.54190101,16.760839 1.56931096,13.3702525 2.13724518,10.1783222 C2.1501971,10.1055292 2.17646546,9.96330988 2.17646546,9.96330988 C2.17646546,9.96330988 2.33770347,10.0208429 2.92620872,10.2769757 C4.60998953,11.0098007 6.29364519,11.9318703 7.85704035,13.0517448 C9.19214306,14.0080913 10.3087445,15.0188915 11.223018,16.0899229 L11.223018,16.0899229 C10.426841,18.1910249 9.96797687,20.5297906 9.99206994,23.1241613 L5.43414987,14.7605739 C5.30203551,14.5181498 4.99858593,14.4288208 4.75637627,14.5610522 C4.51416661,14.6932836 4.42491674,14.9970019 4.5570311,15.2394261 L10.1435881,25.4905179 Z M13.0333542,29.4136738 C10.9912074,19.9059085 11.088992,14.922477 21.5133004,6.73565972 C23.6127007,5.0868782 25.9746706,4.01306759 28.2881453,3.03596757 C29.0967374,2.69445726 29.3182746,2.61774651 29.3182746,2.61774651 C29.3182746,2.61774651 29.3543667,2.80737221 29.3721623,2.90442957 C30.1524904,7.1603367 30.190151,11.6811187 29.0141452,15.8525373 C27.1508473,22.4618551 22.5118613,27.1961122 14.1841552,29.413553 L25.4116309,9.74806947 C25.5485147,9.50831075 25.46529,9.20288341 25.2257434,9.06587843 C24.9861969,8.92887344 24.6810398,9.01217181 24.544156,9.25193053 L13.0333542,29.4136738 Z M13.4880693,32 C38.9655056,25.5 30.755735,0 30.755735,0 C30.755735,0 17.0308715,3.72274828 11.9893965,14.5 C7.99293593,9 0.873098889,8 0.873098889,8 C-3.99644586,30.5 13.4880693,32 13.4880693,32 Z",1,"leaves"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label"]],template:function(n,i){n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"rect",4),a(6,"g",5),g(7,"path",6),d(),g(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19),d()(),L(),a(21,"div",20),p(22),d(),a(23,"div",21),p(24),l(25,"translate"),d()()()),n&2&&(M("accessory-on",i.airQuality()===5)("fill-red",i.airQuality()===5)("fill-orange",De(19,Xp).includes(i.airQuality()))("fill-green",De(20,em).includes(i.airQuality())),o(2),S("aria-label",c(3,15,"accessories.core.air_quality_sensor")),o(20),_(i.service().customName||i.service().displayName),o(),M("grey-text",i.airQuality()<5)("red-text",i.airQuality()===5),o(),f(" ",c(25,17,i.labels[i.airQuality()||0])," "))},dependencies:[Q,E],styles:[".fill-red[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .leaves[_ngcontent-%COMP%]{fill:#d32f2f!important;fill-opacity:.5!important}.fill-orange[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .leaves[_ngcontent-%COMP%]{fill:#ff9800!important;fill-opacity:.5!important}.fill-green[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .leaves[_ngcontent-%COMP%]{fill:#4caf50!important;fill-opacity:.5!important}"],changeDetection:0})}return t})();var Ar=(()=>{class t extends ae{$colour=w(Je);$toastr=w(Ie);targetMode;targetBrightness;targetBrightnessChanged=new Z;targetColorTemperature;targetColorTemperatureChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetBrightnessChanged,()=>se(this,null,function*(){let e=We(this.service);try{if(this.targetBrightness.value===Ne.Min){let n=this.service.getCluster?.("onOff");if(!n)throw new Error("OnOff cluster not found");yield n.setAttributes({onOff:!1})}else{let n=this.service.getCluster?.("levelControl");if(!n)throw new Error("LevelControl cluster not found");yield n.setAttributes({currentLevel:this.targetBrightness.value})}this.targetMode=this.targetBrightness.value>0}catch(n){this.$toastr.error("Failed to set light brightness","Error"),this.targetBrightness.value=e,this.targetMode=e>0,this.cdr.markForCheck()}}),300),this.createDebouncedSubscription(this.targetColorTemperatureChanged,e=>se(this,null,function*(){let n=nt(this.service);try{let i=this.service.getCluster?.("colorControl");if(!i)throw new Error("ColorControl cluster not found");yield i.setAttributes({colorTemperatureMireds:e})}catch(i){this.$toastr.error("Failed to set light color temperature","Error"),this.targetColorTemperature.mired=n,this.targetColorTemperature.value=this.$colour.miredToKelvin(n),this.cdr.markForCheck()}}),300),this.targetMode=Qe(this.service),this.loadTargetBrightness(),this.loadTargetColorTemperature()}handleAccessoryUpdate(){this.targetMode=Qe(this.service),this.targetBrightness.value=We(this.service);let e=nt(this.service);this.targetColorTemperature.mired=e,this.targetColorTemperature.value=this.$colour.miredToKelvin(e)}setTargetMode(e,n){return se(this,null,function*(){let i=this.targetMode,s=this.targetBrightness.value;try{if(this.targetMode=e,e){let u=this.targetBrightness.value||this.targetBrightness.max;this.targetBrightness.value=u;let A=this.service.getCluster?.("levelControl");if(!A)throw new Error("LevelControl cluster not found");yield A.setAttributes({currentLevel:u})}else{let u=this.service.getCluster?.("onOff");if(!u)throw new Error("OnOff cluster not found");yield u.setAttributes({onOff:!1})}this.blurTarget(n)}catch(u){this.$toastr.error(`Failed to turn light ${e?"on":"off"}`,"Error"),this.targetMode=i,this.targetBrightness.value=s,this.cdr.markForCheck()}})}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}onColorTemperatureStateChange(){let e=this.$colour.kelvinToMired(this.targetColorTemperature.value);this.targetColorTemperature.mired=e,this.targetColorTemperatureChanged.next(e)}loadTargetBrightness(){let e=We(this.service);this.targetBrightness={value:e,min:Ne.Min,max:Ne.Max,step:1},this.applySliderGradient("linear-gradient(to right, #242424, #ffd6aa)",".brightness-slider .noUi-target")}loadTargetColorTemperature(){let e=nt(this.service);this.targetColorTemperature={value:this.$colour.miredToKelvin(e),mired:e,min:this.$colour.miredToKelvin(Tt.MaxMired),max:this.$colour.miredToKelvin(Tt.MinMired),step:10};let n=this.$colour.kelvinToHsl(this.targetColorTemperature.min),i=this.$colour.kelvinToHsl(this.targetColorTemperature.max);this.applySliderGradient(`linear-gradient(to right, ${n}, ${i})`,".color-temp-slider .noUi-target")}get brightnessPercentage(){return wt(this.targetBrightness.value)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-color-temperature-light-manage"]],features:[re],decls:34,vars:39,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"mt-4"],[1,"brightness-slider"],[3,"ngModelChange","min","max","step","ngModel"],[1,"color-temp-slider"],[1,"modal-footer"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetMode(!1,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetMode(!0,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()()(),a(22,"h6",11),p(23),l(24,"translate"),d(),a(25,"div",12)(26,"nouislider",13),K("ngModelChange",function(u){return Y(i.targetBrightness.value,u)||(i.targetBrightness.value=u),u}),k("ngModelChange",function(){return i.onBrightnessStateChange()}),d()(),a(27,"h6",11),p(28),l(29,"translate"),l(30,"convertMired"),d(),a(31,"div",14)(32,"nouislider",13),K("ngModelChange",function(u){return Y(i.targetColorTemperature.value,u)||(i.targetColorTemperature.value=u),u}),k("ngModelChange",function(){return i.onColorTemperatureStateChange()}),d()()(),g(33,"div",15),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,25,"form.button_close")),o(3),S("aria-label",c(7,27,"accessories.control.mode_control")),o(4),M("fa-check-circle",!i.targetMode)("fa-blank",i.targetMode),o(),f(" ",c(12,29,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetMode)("fa-blank",!i.targetMode),o(),f(" ",c(19,31,"accessories.control.on")," "),o(5),R("",c(24,33,"accessories.control.brightness"),": ",i.brightnessPercentage,"%"),o(3),T("min",i.targetBrightness.min)("max",i.targetBrightness.max)("step",i.targetBrightness.step),z("ngModel",i.targetBrightness.value),o(2),R(" ",c(29,35,"accessories.control.color_temperature"),": ",c(30,37,i.targetColorTemperature.mired)," "),o(4),T("min",i.targetColorTemperature.min)("max",i.targetColorTemperature.max)("step",i.targetColorTemperature.step),z("ngModel",i.targetColorTemperature.value))},dependencies:[de,pe,me,fe,E,mt],encapsulation:2,changeDetection:0})}return t})();var Or=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);$colour=w(Je);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&Et(this.service())}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Ar,{size:"md",backdrop:"static",injector:e})}isOn=te(()=>Ke(this.service()));brightness=te(()=>Bt(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-color-temperature-light"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:13,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["stroke","#7f7f7f","stroke-width","1.5","d","M8 21c-2.8-2.2-4.5-5.4-4.5-9 0-6.1 5-11 11.5-11S27.5 5.9 27.5 12c0 3.5-1.7 6.7-4.5 8.9-1.2 1-1.8 4.8-3 7.3-.9 2-2.2 2.7-4.5 2.7s-3.6-.7-4.5-2.7c-1.2-2.5-1.8-6.3-3-7.3z"],["stroke","#7f7f7f","stroke-width","1.5","x1","8","y1","21.5","x2","23","y2","21.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","23","x2","21","y2","24"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","25.5","x2","21","y2","26.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","11","y1","28","x2","20","y2","29"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerHTML"]],template:function(n,i){if(n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"path",4)(6,"line",5)(7,"line",6)(8,"line",7)(9,"line",8),d()(),L(),a(10,"div",9),p(11),d(),g(12,"div",10),l(13,"translate"),d()()),n&2){let s;M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.lightbulb")),o(3),S("fill",i.isOn()?i.$colour.kelvinToHex(i.$colour.miredToKelvin(((s=i.service().clusters)==null||s.colorControl==null?null:s.colorControl.colorTemperatureMireds)||250)):"none")("fill-opacity",.25+i.brightness()/100*.5),o(6),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(),T("innerHTML",i.isOn()?`${i.brightness()}%`:c(13,11,"accessories.control.off"),qe)}},dependencies:[Q,E],encapsulation:2,changeDetection:0})}return t})();function tm(t,r){t&1&&(C(0,"div",9),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.open")))}function im(t,r){t&1&&(C(0,"div",10),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.closed")))}var Ir=(()=>{class t{service=P.required();isOpen=te(()=>cr(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-contact-sensor"]],inputs:{service:[1,"service"]},decls:13,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","15","height","30","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1.5",1,"left-object"],["x","16","y","1","width","15","height","30","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1.5",1,"right-object"],["x","10","y","11","width","6","height","10","rx","1","stroke","#7f7f7f","fill","#4caf50","fill-opacity","0.5","stroke-width","0.5",1,"left-sensor"],["x","16","y","11","width","6","height","10","rx","1","stroke","#7f7f7f","fill","#4caf50","fill-opacity","0.5","stroke-width","0.5",1,"right-sensor"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"rect",5)(7,"rect",6)(8,"rect",7),y()(),L(),C(9,"div",8),p(10),y(),v(11,tm,3,3,"div",9)(12,im,3,3,"div",10),y()()),n&2&&(M("accessory-on",i.isOpen()),o(2),S("aria-label",c(3,5,"accessories.core.contact_sensor")),o(8),_(i.service().customName||i.service().serviceName),o(),h(i.isOpen()?11:12))},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .left-sensor[_ngcontent-%COMP%]{fill:#ff9800;fill-opacity:.5}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .right-object[_ngcontent-%COMP%]{x:24px}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .right-sensor[_ngcontent-%COMP%]{x:24px;fill:#ff9800;fill-opacity:.5}"],changeDetection:0})}return t})();var Vr=(()=>{class t extends ae{$toastr=w(Ie);targetMode;targetBrightness;targetBrightnessChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetBrightnessChanged,()=>se(this,null,function*(){let e=We(this.service);try{if(this.targetBrightness.value===Ne.Min){let n=this.service.getCluster?.("onOff");if(!n)throw new Error("OnOff cluster not found");yield n.setAttributes({onOff:!1})}else{let n=this.service.getCluster?.("levelControl");if(!n)throw new Error("LevelControl cluster not found");yield n.setAttributes({currentLevel:this.targetBrightness.value})}this.targetMode=this.targetBrightness.value>0}catch(n){this.$toastr.error("Failed to set light brightness","Error"),this.targetBrightness.value=e,this.targetMode=e>0,this.cdr.markForCheck()}}),300),this.targetMode=Qe(this.service),this.loadTargetBrightness()}handleAccessoryUpdate(){this.targetMode=Qe(this.service),this.targetBrightness.value=We(this.service)}setTargetMode(e,n){return se(this,null,function*(){let i=this.targetMode,s=this.targetBrightness.value;try{if(this.targetMode=e,e){let u=this.targetBrightness.value||this.targetBrightness.max;this.targetBrightness.value=u;let A=this.service.getCluster?.("levelControl");if(!A)throw new Error("LevelControl cluster not found");yield A.setAttributes({currentLevel:u})}else{let u=this.service.getCluster?.("onOff");if(!u)throw new Error("OnOff cluster not found");yield u.setAttributes({onOff:!1})}this.blurTarget(n)}catch(u){this.$toastr.error(`Failed to turn light ${e?"on":"off"}`,"Error"),this.targetMode=i,this.targetBrightness.value=s,this.cdr.markForCheck()}})}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}loadTargetBrightness(){let e=We(this.service);this.targetBrightness={value:e,min:Ne.Min,max:Ne.Max,step:1},this.applySliderGradient("linear-gradient(to right, #242424, #ffd6aa)")}get brightnessPercentage(){return wt(this.targetBrightness.value)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-dimmable-light-manage"]],features:[re],decls:27,vars:29,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetMode(!1,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetMode(!0,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()()(),a(22,"h6",11),p(23),l(24,"translate"),d(),a(25,"nouislider",12),K("ngModelChange",function(u){return Y(i.targetBrightness.value,u)||(i.targetBrightness.value=u),u}),k("ngModelChange",function(){return i.onBrightnessStateChange()}),d()(),g(26,"div",13),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,19,"form.button_close")),o(3),S("aria-label",c(7,21,"accessories.control.mode_control")),o(4),M("fa-check-circle",!i.targetMode)("fa-blank",i.targetMode),o(),f(" ",c(12,23,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetMode)("fa-blank",!i.targetMode),o(),f(" ",c(19,25,"accessories.control.on")," "),o(5),R("",c(24,27,"accessories.control.brightness"),": ",i.brightnessPercentage,"%"),o(2),T("min",i.targetBrightness.min)("max",i.targetBrightness.max)("step",i.targetBrightness.step),z("ngModel",i.targetBrightness.value))},dependencies:[de,pe,me,fe,E],encapsulation:2,changeDetection:0})}return t})();var Fr=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&Et(this.service())}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Vr,{size:"md",backdrop:"static",injector:e})}isOn=te(()=>Ke(this.service()));brightness=te(()=>Bt(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-dimmable-light"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:13,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["stroke","#7f7f7f","stroke-width","1.5","d","M8 21c-2.8-2.2-4.5-5.4-4.5-9 0-6.1 5-11 11.5-11S27.5 5.9 27.5 12c0 3.5-1.7 6.7-4.5 8.9-1.2 1-1.8 4.8-3 7.3-.9 2-2.2 2.7-4.5 2.7s-3.6-.7-4.5-2.7c-1.2-2.5-1.8-6.3-3-7.3z"],["stroke","#7f7f7f","stroke-width","1.5","x1","8","y1","21.5","x2","23","y2","21.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","23","x2","21","y2","24"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","25.5","x2","21","y2","26.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","11","y1","28","x2","20","y2","29"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerHTML"]],template:function(n,i){n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"path",4)(6,"line",5)(7,"line",6)(8,"line",7)(9,"line",8),d()(),L(),a(10,"div",9),p(11),d(),g(12,"div",10),l(13,"translate"),d()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.lightbulb")),o(3),S("fill",i.isOn()?"#ffcf55":"none")("fill-opacity",.25+i.brightness()/100*.5),o(6),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(),T("innerHTML",i.isOn()?`${i.brightness()}%`:c(13,11,"accessories.control.off"),qe))},dependencies:[Q,E],encapsulation:2,changeDetection:0})}return t})();var Lr=(()=>{class t extends ae{$toastr=w(Ie);targetMode;setupComponent(){this.targetMode=Dt(this.service)}handleAccessoryUpdate(){this.targetMode=Dt(this.service)}setTargetMode(e,n){return se(this,null,function*(){let i=this.targetMode;try{this.targetMode=e,this.cdr.markForCheck();let s=e===ri.Locked;yield hr(this.service,s),this.blurTarget(n)}catch(s){this.$toastr.error(`Failed to ${e===ri.Locked?"lock":"unlock"} door`,"Error"),this.targetMode=i,this.cdr.markForCheck()}})}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-door-lock-manage"]],features:[re],decls:23,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1),O(2,"h5",2),C(3,"button",3),l(4,"translate"),ve("click",function(){return i.dismissModal()}),y()(),C(5,"div",4)(6,"div",5),l(7,"translate"),C(8,"button",6),ve("click",function(u){return i.setTargetMode(1,u)}),C(9,"div",7),O(10,"i",8),y(),p(11),l(12,"translate"),C(13,"div",9),O(14,"i",10),y()(),C(15,"button",6),ve("click",function(u){return i.setTargetMode(2,u)}),C(16,"div",7),O(17,"i",8),y(),p(18),l(19,"translate"),C(20,"div",9),O(21,"i",10),y()()()(),O(22,"div",11),y()),n&2&&(o(2),Ee("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,13,"form.button_close")),o(3),S("aria-label",c(7,15,"accessories.control.mode_control")),o(4),M("fa-check-circle",i.targetMode===1)("fa-blank",i.targetMode!==1),o(),f(" ",c(12,17,"accessories.control.lock")," "),o(6),M("fa-check-circle",i.targetMode===2)("fa-blank",i.targetMode!==2),o(),f(" ",c(19,19,"accessories.control.unlock")," "))},dependencies:[E],encapsulation:2,changeDetection:0})}return t})();function nm(t,r){t&1&&(a(0,"div",9),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.locked")))}function om(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.unlocked")))}function rm(t,r){t&1&&(a(0,"div",10),p(1),l(2,"translate"),d()),t&2&&(o(),_(c(2,1,"accessories.control.jammed")))}var Nr=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&vr(this.service())}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Lr,{size:"md",backdrop:"static",injector:e})}lockState=te(()=>Dt(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-door-lock"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:13,consts:[["tabindex","0",1,"accessory-box",3,"shortClick","longClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["d","M8 16 C6 -4, 26 -4, 24 16","fill","none","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"shackle-locked"],["d","M8 16 C6 -2, 22 -2, 24 7","fill","none","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","stroke-opacity","0",1,"shackle-unlocked"],["x","5","y","16","width","22","height","15","rx","3","fill","none","stroke","#7f7f7f","stroke-width","2"],["cx","16","cy","23.5","r","3","stroke","#7f7f7f","stroke-width","0.5","fill","#4caf50","fill-opacity","0.5",1,"keyhole"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(n,i){n&1&&(a(0,"div",0),k("shortClick",function(){return i.onClick()})("longClick",function(){return i.onLongClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"path",4)(6,"path",5)(7,"rect",6)(8,"circle",7),d()(),L(),a(9,"div",8),p(10),d(),v(11,nm,3,3,"div",9)(12,om,3,3,"div",10)(13,rm,3,3,"div",10),d()()),n&2&&(M("accessory-on",i.lockState()!==1)("unlocked",i.lockState()===2)("jammed",i.lockState()===0)("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,11,"accessories.core.lock_mechanism")),o(8),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(),h(i.lockState()===1?11:i.lockState()===2?12:i.lockState()===0?13:-1))},dependencies:[Q,E],styles:["@keyframes _ngcontent-%COMP%_blink{0%,to{fill-opacity:1}50%{fill-opacity:.2}}.unlocked[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-locked[_ngcontent-%COMP%]{stroke-opacity:0!important}.unlocked[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-unlocked[_ngcontent-%COMP%]{stroke-opacity:1!important}.unlocked[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .keyhole[_ngcontent-%COMP%]{fill:#ff9800!important}.jammed[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-locked[_ngcontent-%COMP%]{stroke-opacity:0!important}.jammed[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-unlocked[_ngcontent-%COMP%]{stroke-opacity:1!important}.jammed[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .keyhole[_ngcontent-%COMP%]{fill:#d32f2f!important;animation:_ngcontent-%COMP%_blink 1s infinite}.error[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-locked[_ngcontent-%COMP%]{stroke-opacity:0!important}.error[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .shackle-unlocked[_ngcontent-%COMP%]{stroke-opacity:1!important}.error[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .keyhole[_ngcontent-%COMP%]{fill:#d32f2f!important;animation:_ngcontent-%COMP%_blink 1s infinite}"],changeDetection:0})}return t})();function am(t,r){if(t&1){let e=j();a(0,"h6",11),p(1),l(2,"translate"),l(3,"convertMired"),d(),a(4,"div",18)(5,"nouislider",13),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetColorTemperature.value,i)||(s.targetColorTemperature.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onColorTemperatureStateChange())}),d()()}if(t&2){let e=m();o(),R(" ",c(2,6,"accessories.control.color_temperature"),": ",c(3,8,e.targetColorTemperature.mired)," "),o(4),T("min",e.targetColorTemperature.min)("max",e.targetColorTemperature.max)("step",e.targetColorTemperature.step),z("ngModel",e.targetColorTemperature.value)}}var Hr=(()=>{class t extends ae{$colour=w(Je);$toastr=w(Ie);targetMode;targetBrightness;targetBrightnessChanged=new Z;targetColorTemperature;targetColorTemperatureChanged=new Z;targetHue;targetHueChanged=new Z;targetSaturation;targetSaturationChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetBrightnessChanged,()=>se(this,null,function*(){let e=We(this.service);try{if(this.targetBrightness.value===Ne.Min){let n=this.service.getCluster?.("onOff");if(!n)throw new Error("OnOff cluster not found");yield n.setAttributes({onOff:!1})}else{let n=this.service.getCluster?.("levelControl");if(!n)throw new Error("LevelControl cluster not found");yield n.setAttributes({currentLevel:this.targetBrightness.value})}this.targetMode=this.targetBrightness.value>0}catch(n){this.$toastr.error("Failed to set light brightness","Error"),this.targetBrightness.value=e,this.targetMode=e>0,this.cdr.markForCheck()}}),300),this.createDebouncedSubscription(this.targetColorTemperatureChanged,e=>se(this,null,function*(){let n=nt(this.service);try{let i=this.service.getCluster?.("colorControl");if(!i)throw new Error("ColorControl cluster not found");yield i.setAttributes({colorTemperatureMireds:e})}catch(i){this.$toastr.error("Failed to set light color temperature","Error"),this.targetColorTemperature.mired=n,this.targetColorTemperature.value=this.$colour.miredToKelvin(n),this.cdr.markForCheck()}}),300),this.createDebouncedSubscription(this.targetHueChanged,()=>se(this,null,function*(){let e=xt(this.service),n=yt(this.service);try{let i=this.service.getCluster?.("colorControl");if(!i)throw new Error("ColorControl cluster not found");yield i.setAttributes({currentHue:this.targetHue.value,currentSaturation:this.targetSaturation.value})}catch(i){this.$toastr.error("Failed to set light hue","Error"),this.targetHue.value=e,this.targetSaturation.value=n,this.updateSaturationSliderGradient(),this.cdr.markForCheck()}}),300),this.createDebouncedSubscription(this.targetSaturationChanged,()=>se(this,null,function*(){let e=xt(this.service),n=yt(this.service);try{let i=this.service.getCluster?.("colorControl");if(!i)throw new Error("ColorControl cluster not found");yield i.setAttributes({currentHue:this.targetHue.value,currentSaturation:this.targetSaturation.value})}catch(i){this.$toastr.error("Failed to set light saturation","Error"),this.targetHue.value=e,this.targetSaturation.value=n,this.cdr.markForCheck()}}),300),this.targetMode=Qe(this.service),this.loadTargetBrightness(),this.supportsColorTemperature&&this.loadTargetColorTemperature(),this.loadTargetHueSaturation()}handleAccessoryUpdate(){if(this.targetMode=Qe(this.service),this.targetBrightness.value=We(this.service),this.supportsColorTemperature){let n=nt(this.service);this.targetColorTemperature.mired=n,this.targetColorTemperature.value=this.$colour.miredToKelvin(n)}let e=xt(this.service);this.targetHue.value!==e&&(this.targetHue.value=e,this.updateSaturationSliderGradient()),this.targetSaturation.value=yt(this.service)}setTargetMode(e,n){return se(this,null,function*(){let i=this.targetMode,s=this.targetBrightness.value;try{if(this.targetMode=e,e){let u=this.targetBrightness.value||this.targetBrightness.max;this.targetBrightness.value=u;let A=this.service.getCluster?.("levelControl");if(!A)throw new Error("LevelControl cluster not found");yield A.setAttributes({currentLevel:u})}else{let u=this.service.getCluster?.("onOff");if(!u)throw new Error("OnOff cluster not found");yield u.setAttributes({onOff:!1})}this.blurTarget(n)}catch(u){this.$toastr.error(`Failed to turn light ${e?"on":"off"}`,"Error"),this.targetMode=i,this.targetBrightness.value=s,this.cdr.markForCheck()}})}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}onColorTemperatureStateChange(){let e=this.$colour.kelvinToMired(this.targetColorTemperature.value);this.targetColorTemperature.mired=e,this.targetColorTemperatureChanged.next(e)}onHueStateChange(){this.targetHueChanged.next(this.targetHue.value),this.updateSaturationSliderGradient()}onSaturationStateChange(){this.targetSaturationChanged.next(this.targetSaturation.value)}loadTargetBrightness(){let e=We(this.service);this.targetBrightness={value:e,min:Ne.Min,max:Ne.Max,step:1},this.applySliderGradient("linear-gradient(to right, #242424, #ffd6aa)",".brightness-slider .noUi-target")}loadTargetColorTemperature(){let e=nt(this.service);this.targetColorTemperature={value:this.$colour.miredToKelvin(e),mired:e,min:this.$colour.miredToKelvin(Tt.MaxMired),max:this.$colour.miredToKelvin(Tt.MinMired),step:10};let n=this.$colour.kelvinToHsl(this.targetColorTemperature.min),i=this.$colour.kelvinToHsl(this.targetColorTemperature.max);this.applySliderGradient(`linear-gradient(to right, ${n}, ${i})`,".color-temp-slider .noUi-target")}loadTargetHueSaturation(){let e=xt(this.service),n=yt(this.service);this.targetHue={value:e,min:0,max:254,step:1},this.targetSaturation={value:n,min:0,max:254,step:1},this.applySliderGradient("linear-gradient(to right, hsl(0, 100%, 50%), hsl(60, 100%, 50%), hsl(120, 100%, 50%), hsl(180, 100%, 50%), hsl(240, 100%, 50%), hsl(300, 100%, 50%), hsl(360, 100%, 50%))",".hue-slider .noUi-target"),this.updateSaturationSliderGradient()}get brightnessPercentage(){return wt(this.targetBrightness.value)}get huePercentage(){return Math.round(this.targetHue.value/254*100)}get saturationPercentage(){return Math.round(this.targetSaturation.value/254*100)}get supportsColorTemperature(){return sr(this.service)}updateSaturationSliderGradient(){let e=this.targetHue.value/254*360;this.applySliderGradient(`linear-gradient(to right, hsl(${e}, 0%, 50%), hsl(${e}, 100%, 50%))`,".saturation-slider .noUi-target")}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-extended-color-light-manage"]],features:[re],decls:39,vars:46,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"mt-4"],[1,"brightness-slider"],[3,"ngModelChange","min","max","step","ngModel"],[1,"mt-3"],[1,"hue-slider"],[1,"saturation-slider"],[1,"modal-footer"],[1,"color-temp-slider"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetMode(!1,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetMode(!0,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()()(),a(22,"h6",11),p(23),l(24,"translate"),d(),a(25,"div",12)(26,"nouislider",13),K("ngModelChange",function(u){return Y(i.targetBrightness.value,u)||(i.targetBrightness.value=u),u}),k("ngModelChange",function(){return i.onBrightnessStateChange()}),d()(),v(27,am,6,10),a(28,"h6",14),p(29),l(30,"translate"),d(),a(31,"div",15)(32,"nouislider",13),K("ngModelChange",function(u){return Y(i.targetHue.value,u)||(i.targetHue.value=u),u}),k("ngModelChange",function(){return i.onHueStateChange()}),d()(),a(33,"h6",14),p(34),l(35,"translate"),d(),a(36,"div",16)(37,"nouislider",13),K("ngModelChange",function(u){return Y(i.targetSaturation.value,u)||(i.targetSaturation.value=u),u}),k("ngModelChange",function(){return i.onSaturationStateChange()}),d()()(),g(38,"div",17),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,32,"form.button_close")),o(3),S("aria-label",c(7,34,"accessories.control.mode_control")),o(4),M("fa-check-circle",!i.targetMode)("fa-blank",i.targetMode),o(),f(" ",c(12,36,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetMode)("fa-blank",!i.targetMode),o(),f(" ",c(19,38,"accessories.control.on")," "),o(5),R("",c(24,40,"accessories.control.brightness"),": ",i.brightnessPercentage,"%"),o(3),T("min",i.targetBrightness.min)("max",i.targetBrightness.max)("step",i.targetBrightness.step),z("ngModel",i.targetBrightness.value),o(),h(i.supportsColorTemperature?27:-1),o(2),R("",c(30,42,"accessories.control.hue"),": ",i.huePercentage,"%"),o(3),T("min",i.targetHue.min)("max",i.targetHue.max)("step",i.targetHue.step),z("ngModel",i.targetHue.value),o(2),R("",c(35,44,"accessories.control.saturation"),": ",i.saturationPercentage,"%"),o(3),T("min",i.targetSaturation.min)("max",i.targetSaturation.max)("step",i.targetSaturation.step),z("ngModel",i.targetSaturation.value))},dependencies:[de,pe,me,fe,E,mt],encapsulation:2,changeDetection:0})}return t})();var Rr=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);$colour=w(Je);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&Et(this.service())}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Hr,{size:"md",backdrop:"static",injector:e})}isOn=te(()=>Ke(this.service()));brightness=te(()=>Bt(this.service()));lightColor=te(()=>{if(lr(this.service())===2){let A=nt(this.service());return this.$colour.kelvinToHex(this.$colour.miredToKelvin(A))}let n=xt(this.service()),i=yt(this.service()),s=n/254*360,u=i/254*100;return`hsl(${s}, ${u}%, 50%)`});static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-extended-color-light"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:13,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["stroke","#7f7f7f","stroke-width","1.5","d","M8 21c-2.8-2.2-4.5-5.4-4.5-9 0-6.1 5-11 11.5-11S27.5 5.9 27.5 12c0 3.5-1.7 6.7-4.5 8.9-1.2 1-1.8 4.8-3 7.3-.9 2-2.2 2.7-4.5 2.7s-3.6-.7-4.5-2.7c-1.2-2.5-1.8-6.3-3-7.3z"],["stroke","#7f7f7f","stroke-width","1.5","x1","8","y1","21.5","x2","23","y2","21.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","23","x2","21","y2","24"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","25.5","x2","21","y2","26.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","11","y1","28","x2","20","y2","29"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerHTML"]],template:function(n,i){n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3),g(5,"path",4)(6,"line",5)(7,"line",6)(8,"line",7)(9,"line",8),d()(),L(),a(10,"div",9),p(11),d(),g(12,"div",10),l(13,"translate"),d()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.lightbulb")),o(3),S("fill",i.isOn()?i.lightColor():"none")("fill-opacity",.25+i.brightness()/100*.5),o(6),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(),T("innerHTML",i.isOn()?`${i.brightness()}%`:c(13,11,"accessories.control.off"),qe))},dependencies:[Q,E],encapsulation:2,changeDetection:0})}return t})();function sm(t,r){if(t&1){let e=j();a(0,"h6",12),p(1),l(2,"translate"),d(),a(3,"nouislider",13),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetSpeed.value,i)||(s.targetSpeed.value=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onTargetSpeedChange())}),d()}if(t&2){let e=m();o(),R("",c(2,6,"accessories.control.rotation_speed"),": ",e.targetSpeed.value,"%"),o(2),T("min",e.targetSpeed.min)("max",e.targetSpeed.max)("step",e.targetSpeed.step),z("ngModel",e.targetSpeed.value)}}var jr=(()=>{class t extends ae{$toastr=w(Ie);targetMode;targetSpeed;targetSpeedChanged=new Z;setupComponent(){this.createDebouncedSubscription(this.targetSpeedChanged,()=>se(this,null,function*(){let e=St(this.service);try{yield li(this.service,this.targetSpeed.value)}catch(n){this.$toastr.error("Failed to set fan speed","Error"),this.targetSpeed.value=e,this.targetMode=e>0,this.cdr.markForCheck()}})),this.targetMode=Pt(this.service),this.loadSpeed()}handleAccessoryUpdate(){this.targetMode=Pt(this.service),this.targetSpeed&&(this.targetSpeed.value=St(this.service))}setTargetMode(e,n){return se(this,null,function*(){let i=this.targetMode,s=this.targetSpeed.value;try{if(this.targetMode=e,e){let u=this.targetSpeed.value||100;yield li(this.service,u),this.targetSpeed.value=u}else yield li(this.service,0),this.targetSpeed.value=0;this.blurTarget(n)}catch(u){this.$toastr.error(`Failed to turn fan ${e?"on":"off"}`,"Error"),this.targetMode=i,this.targetSpeed.value=s,this.cdr.markForCheck()}})}onTargetSpeedChange(){this.targetSpeedChanged.next(this.targetSpeed.value),this.targetMode=this.targetSpeed.value>0}loadSpeed(){this.targetSpeed={value:St(this.service),min:0,max:100,step:1},this.applySliderGradient("linear-gradient(to right, #add8e6, #416bdf)")}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-fan-manage"]],features:[re],decls:24,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5),l(7,"translate"),a(8,"button",6),k("click",function(u){return i.setTargetMode(!1,u)}),a(9,"div",7),g(10,"i",8),d(),p(11),l(12,"translate"),a(13,"div",9),g(14,"i",10),d()(),a(15,"button",6),k("click",function(u){return i.setTargetMode(!0,u)}),a(16,"div",7),g(17,"i",8),d(),p(18),l(19,"translate"),a(20,"div",9),g(21,"i",10),d()()(),v(22,sm,4,8),d(),g(23,"div",11),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,14,"form.button_close")),o(3),S("aria-label",c(7,16,"accessories.control.mode_control")),o(4),M("fa-check-circle",!i.targetMode)("fa-blank",i.targetMode),o(),f(" ",c(12,18,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetMode)("fa-blank",!i.targetMode),o(),f(" ",c(19,20,"accessories.control.on")," "),o(4),h(i.targetSpeed?22:-1))},dependencies:[de,pe,me,fe,E],encapsulation:2,changeDetection:0})}return t})();function lm(t,r){if(t&1&&(a(0,"div",8),p(1),d()),t&2){let e=m();o(),f("",e.fanSpeed(),"%")}}function cm(t,r){if(t&1&&(g(0,"div",9),l(1,"translate")),t&2){let e=m();T("innerText",c(1,1,e.isOn()?"accessories.control.on":"accessories.control.off"))}}var $r=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&_r(this.service())}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(jr,{size:"md",backdrop:"static",injector:e})}isOn=te(()=>Pt(this.service()));fanSpeed=te(()=>St(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-fan"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:12,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["transform","translate(-0.85, 0.2) scale(0.99)"],["fill","#7f7f7f","fill-rule","evenodd","clip-rule","evenodd","d","M20.988 10.265c.382-.596.951-1.424 1.844-2.71C25.462 3.61 23.456 0 18 0c-6.263 0-10.09 5.649-6.835 11.923-.594-.382-1.416-.948-2.682-1.826-3.945-2.63-7.555-.625-7.555 4.832 0 6.308 5.73 10.145 12.057 6.763-.383.599-.958 1.436-1.872 2.753C8.485 28.39 10.49 32 15.947 32c6.267 0 10.095-5.655 6.83-11.932.593.382 1.412.946 2.668 1.818 3.945 2.63 7.555.625 7.555-4.832 0-6.293-5.703-10.127-12.012-6.788Zm-.407 2.602C26.101 8.924 31 11.805 31 17.053c0 3.877-1.845 4.902-4.445 3.169-2.525-1.761-3.46-2.385-4.406-2.763a7.87 7.87 0 0 0-1.01-.317c.105-.382.161-.785.161-1.2 0-1.327-.919-3.134-.919-3.134ZM18.405 10.85c.378-.946 1.001-1.88 2.763-4.405C22.902 3.845 21.877 2 18 2c-5.247 0-8.129 4.899-4.186 10.419 0 0 1.89-.919 3.186-.919.398 0 .783.052 1.15.149.064-.269.149-.533.255-.798ZM11.78 14.524c-.946-.378-1.88-1.001-4.405-2.763-2.6-1.734-4.445-.709-4.445 3.168 0 5.247 4.899 8.129 10.419 4.186 0 0-.848-1.812-.848-3.115 0-.416.057-.819.163-1.201a7.81 7.81 0 0 0-1.183-.275Zm3.763 6.625c-.378.946-1.001 1.88-2.763 4.405-1.734 2.6-.709 4.445 3.168 4.445 5.248 0 8.13-4.899 4.187-10.419 0 0-1.831.919-3.133.919-.416 0-.819-.057-1.201-.162a7.802 7.802 0 0 0-.258.812ZM17 19.5c-1.933 0-3.5-1.567-3.5-3.5s1.567-3.5 3.5-3.5 3.5 1.567 3.5 3.5-1.567 3.5-3.5 3.5Z",1,"fan-blades"],["cx","16","cy","16","r","3.6","stroke","#7f7f7f","stroke-width","2","fill","#1976d2","fill-opacity","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3)(5,"g",4),g(6,"path",5),d(),g(7,"circle",6),d()(),L(),a(8,"div",7),p(9),d(),v(10,lm,2,1,"div",8)(11,cm,2,3,"div",9),d()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),M("spin",i.isOn()),S("aria-label",c(3,9,"accessories.core.fan")),o(7),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(),h(i.isOn()&&i.fanSpeed()>0?10:11))},dependencies:[Q,E],styles:[".spin[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] g[_ngcontent-%COMP%] .fan-blades[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fa-spin 2s infinite linear;transform-origin:53.5% 50%}.spin-counter[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] g[_ngcontent-%COMP%] .fan-blades[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fa-spin-counter 2s infinite linear;transform-origin:53.5% 50%}@keyframes _ngcontent-%COMP%_fa-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes _ngcontent-%COMP%_fa-spin-counter{0%{transform:rotate(0)}to{transform:rotate(-359deg)}}"],changeDetection:0})}return t})();function dm(t,r){if(t&1&&p(0),t&2){let e=m();f(" ",e.humidity(),"% ")}}function pm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.no_data")," ")}var Ur=(()=>{class t{service=P.required();humidity=te(()=>ur(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-humidity-sensor"]],inputs:{service:[1,"service"]},decls:26,vars:5,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["transform","translate(1.8, -4.3), scale(0.85)"],["d","M23.61 24.58C23.61 28.67 20.44 31.99 16.56 31.99C12.68 31.99 9.52 28.67 9.52 24.58C9.52 20.49 12.68 17.13 16.56 10.87C20.44 17.13 23.61 20.49 23.61 24.58Z","fill","#1976d2","fill-opacity","0.4","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"g",5),O(7,"path",6),y(),O(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19),y()(),L(),C(21,"div",20),p(22),y(),C(23,"div",21),v(24,dm,1,1)(25,pm,2,3),y()()()),n&2&&(o(2),S("aria-label",c(3,3,"accessories.core.humidity_sensor")),o(20),_(i.service().customName||i.service().serviceName),o(2),h(i.humidity()!==null?24:25))},dependencies:[E],encapsulation:2,changeDetection:0})}return t})();function mm(t,r){if(t&1&&(C(0,"div",28),p(1),l(2,"number"),y()),t&2){let e=m();o(),f("",ue(2,1,e.illuminance(),"0.1-1")," lux")}}function um(t,r){if(t&1&&(C(0,"div",28),p(1),l(2,"number"),y()),t&2){let e=m();o(),f("",ue(2,1,e.illuminance(),"1.0-0")," lux")}}var Wr=(()=>{class t{service=P.required();illuminance=te(()=>pr(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-light-sensor"]],inputs:{service:[1,"service"]},decls:32,vars:5,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["cx","16","cy","13.75","r","5","stroke","#ff9800","fill","none","stroke-width","1.2","stroke-opacity","0.5"],["x1","16","y1","3","x2","16","y2","7","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","23.5","y1","6","x2","20.5","y2","9","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","22.75","y1","13.5","x2","26.75","y2","13.5","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","20.75","y1","18.25","x2","23.75","y2","21.25","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","16","y1","20.5","x2","16","y2","24.5","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","11.25","y1","18.25","x2","8.25","y2","21.25","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","5.25","y1","13.5","x2","9.25","y2","13.5","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["x1","8.5","y1","6","x2","11.5","y2","9","stroke","#ff9800","stroke-width","1.2","stroke-opacity","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"circle",5)(7,"line",6)(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20)(22,"line",21)(23,"line",22)(24,"line",23)(25,"line",24)(26,"line",25)(27,"line",26),y()(),L(),C(28,"div",27),p(29),y(),v(30,mm,3,4,"div",28)(31,um,3,4,"div",28),y()()),n&2&&(o(2),S("aria-label",c(3,3,"accessories.core.light_sensor")),o(27),_(i.service().customName||i.service().serviceName),o(),h(i.illuminance()<1?30:31))},dependencies:[Pe,E],encapsulation:2,changeDetection:0})}return t})();function fm(t,r){t&1&&(C(0,"div",22),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function gm(t,r){t&1&&(C(0,"div",23),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var Gr=(()=>{class t{service=P.required();isOccupied=te(()=>dr(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-occupancy-sensor"]],inputs:{service:[1,"service"]},decls:26,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2",1,"orange-outline"],["transform","translate(4.75, -0.75), scale(0.075)"],["d","M190.85 83.94C190.85 70.36 180.09 59.24 166.93 59.24C153.78 59.24 143.02 70.36 143.02 83.94C143.02 97.53 153.78 108.65 166.93 108.65C180.09 108.65 190.85 97.53 190.85 83.94Z","fill","#ff9800","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","7"],["d","M232.24 175.95C210.12 175.95 190.98 163.6 180.22 145.69C179.08 143.72 169.99 127.91 168.86 125.93C164.67 118.52 156.9 114.2 148.53 114.2C145.54 114.2 142.55 114.81 139.56 116.05C135.37 117.82 114.45 126.67 76.78 142.6L76.78 200.66L100.69 200.66L100.69 159.28L121.62 150.02L88.73 324.17L113.85 324.17L134.78 225.36L160.49 250.06L160.49 324.17L184.4 324.17L184.4 230.92L159.89 205.6C164.19 183.36 166.59 171.01 167.06 168.54C182.61 188.3 205.93 200.66 232.24 200.66C232.24 195.72 232.24 178.42 232.24 175.95Z","fill","#ff9800","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","7"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"g",5),O(7,"path",6)(8,"path",7),y(),O(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20),y()(),L(),C(22,"div",21),p(23),y(),v(24,fm,3,3,"div",22)(25,gm,3,3,"div",23),y()()),n&2&&(M("accessory-on",i.isOccupied()),o(2),S("aria-label",c(3,5,"accessories.core.occupancy_sensor")),o(21),_(i.service().customName||i.service().serviceName),o(),h(i.isOccupied()?24:25))},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .orange-outline[_ngcontent-%COMP%]{stroke:#ff9800;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{stroke-opacity:.8}50%{stroke-opacity:.2}}"],changeDetection:0})}return t})();var qr=(()=>{class t{service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&ft(this.service())}isOn=te(()=>Ke(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-on-off-light-switch"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:12,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"click","keydown.enter"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["cx","16","cy","16","r","14","fill","none","stroke","#7f7f7f","stroke-width","2"],["x1","16","y1","8","x2","16","y2","14","stroke","#7f7f7f","stroke-width","2","stroke-linecap","round"],["fill","#7f7f7f","d",`M21.4589329,9.49999998
C21,9.97698687 21.1735519,10.8351 21.4589326,11.2029426
C22.4505994,12.4811551 23,14.065977 23,15.7447101
C23,19.7640218 19.8532802,23 16,23
C12.1467198,23 9,19.7640218 9,15.7447101
C9,14.0415493 9.56560927,12.4352187 10.5838497,11.1483389
C10.8725653,10.7834523 11,9.9670534 10.5,9.49999999
C10,9.03294657 9.01543812,9.9073372 9.01543812,9.9073372
C7.75536735,11.4998488 7,13.5315645 7,15.7447101
C7,20.8562656 11.0294373,25 16,25
C20.9705627,25 25,20.8562656 25,15.7447101
C25,13.5637007 24.2664101,11.5588905 23.0391328,9.97698685
C23.0391328,9.97698685 21.9178658,9.0230131 21.4589329,9.49999998 Z`],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){n&1&&(C(0,"div",0),ve("click",function(){return i.onClick()})("keydown.enter",function(){return i.onClick()}),C(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"circle",4)(6,"line",5)(7,"path",6),y()(),L(),C(8,"div",7),p(9),y(),O(10,"div",8),l(11,"translate"),y()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,7,"accessories.core.switch")),o(7),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(),Ee("innerText",c(11,9,i.isOn()?"accessories.control.on":"accessories.control.off")))},dependencies:[E],encapsulation:2,changeDetection:0})}return t})();var zr=(()=>{class t{service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&ft(this.service())}isOn=te(()=>Ke(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-on-off-light"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:12,consts:[["tabindex","0",1,"accessory-box",3,"click","keydown.enter"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["fill-opacity","0.75","stroke","#7f7f7f","stroke-width","1.5","d","M8 21c-2.8-2.2-4.5-5.4-4.5-9 0-6.1 5-11 11.5-11S27.5 5.9 27.5 12c0 3.5-1.7 6.7-4.5 8.9-1.2 1-1.8 4.8-3 7.3-.9 2-2.2 2.7-4.5 2.7s-3.6-.7-4.5-2.7c-1.2-2.5-1.8-6.3-3-7.3z"],["stroke","#7f7f7f","stroke-width","1.5","x1","8","y1","21.5","x2","23","y2","21.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","23","x2","21","y2","24"],["stroke","#7f7f7f","stroke-width","0.75","x1","10","y1","25.5","x2","21","y2","26.5"],["stroke","#7f7f7f","stroke-width","0.75","x1","11","y1","28","x2","20","y2","29"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerHTML"]],template:function(n,i){n&1&&(C(0,"div",0),ve("click",function(){return i.onClick()})("keydown.enter",function(){return i.onClick()}),C(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"path",4)(6,"line",5)(7,"line",6)(8,"line",7)(9,"line",8),y()(),L(),C(10,"div",9),p(11),y(),O(12,"div",10),l(13,"translate"),y()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,8,"accessories.core.lightbulb")),o(3),S("fill",i.isOn()?"#ffcf55":"none"),o(6),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(),Ee("innerHTML",c(13,10,i.isOn()?"accessories.control.on":"accessories.control.off"),qe))},dependencies:[E],encapsulation:2,changeDetection:0})}return t})();function vm(t,r){t&1&&(F(),O(0,"line",8)(1,"line",9)(2,"line",10))}function hm(t,r){t&1&&(F(),O(0,"line",11)(1,"line",12)(2,"line",13))}function Cm(t,r){t&1&&(F(),O(0,"line",13)(1,"line",14)(2,"line",15))}var Yr=(()=>{class t{$settings=w(Te);service=P.required();readyForControl=P(!1);browserLang=this.$settings.browserLang;onClick(){this.readyForControl()&&ft(this.service())}isOn=te(()=>Ke(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-on-off-plug-in-unit"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:14,vars:12,consts:[["tabindex","0",1,"accessory-box",3,"click","keydown.enter"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32","height","32","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","30","height","30","rx","6","ry","6","fill","none","stroke","#7f7f7f","stroke-width","1.5",1,"outer"],["cx","16","cy","16","r","10","fill","none","stroke","#7f7f7f","stroke-width","1.5",1,"inner"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],["x1","16","y1","10","x2","16","y2","13","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","10","y1","19","x2","13","y2","19","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","19","y1","19","x2","22","y2","19","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","11.5","y1","14.5","x2","13.5","y2","11.5","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","18.5","y1","11.5","x2","20.5","y2","14.5","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","16","y1","19","x2","16","y2","22","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","10","y1","14","x2","13","y2","14","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"],["x1","19","y1","14","x2","22","y2","14","stroke","#7f7f7f","stroke-linecap","round","stroke-width","1.5"]],template:function(n,i){n&1&&(C(0,"div",0),ve("click",function(){return i.onClick()})("keydown.enter",function(){return i.onClick()}),C(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"circle",5),v(7,vm,3,0)(8,hm,3,0)(9,Cm,3,0),y()(),L(),C(10,"div",6),p(11),y(),O(12,"div",7),l(13,"translate"),y()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,8,"accessories.core.outlet")),o(5),h(i.browserLang==="en-GB"?7:i.browserLang==="en-AU"||i.browserLang==="en-NZ"?8:9),o(4),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(),Ee("innerText",c(13,10,i.isOn()?"accessories.control.on":"accessories.control.off")))},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] .accessory-svg[_ngcontent-%COMP%] .outer[_ngcontent-%COMP%]{stroke:#1976d2;stroke-opacity:.75;stroke-width:2.5}.accessory-on[_ngcontent-%COMP%] .accessory-svg[_ngcontent-%COMP%] .inner[_ngcontent-%COMP%]{stroke:#1976d2;stroke-opacity:.75}"],changeDetection:0})}return t})();var _m=(t,r)=>r.mode,xm=(t,r)=>r.areaId;function ym(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.stopped")," ")}function Sm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.paused")," ")}function km(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.cleaning")," ")}function Mm(t,r){if(t&1){let e=j();C(0,"button",8),ve("click",function(i){let s=I(e).$implicit,u=m(2);return V(u.setCleanMode(s.mode,i))}),C(1,"div",9),O(2,"i",10),y(),p(3),C(4,"div",11),O(5,"i",12),y()()}if(t&2){let e=r.$implicit,n=m(2);o(2),M("fa-check-circle",n.currentCleanModeId===e.mode)("fa-blank",n.currentCleanModeId!==e.mode),o(),f(" ",e.label," ")}}function Tm(t,r){if(t&1&&(C(0,"h6",14),p(1),l(2,"translate"),y(),C(3,"div",7),l(4,"translate"),$e(5,Mm,6,5,"button",15,_m),y()),t&2){let e=m();o(),_(c(2,2,"accessories.control.clean_mode")),o(2),S("aria-label",c(4,4,"accessories.control.clean_mode")),o(2),Ue(e.cleanModes)}}function bm(t,r){t&1&&(C(0,"span",16),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.cleaning")))}function Bm(t,r){t&1&&O(0,"i",12)}function wm(t,r){if(t&1){let e=j();C(0,"button",8),ve("click",function(){let i=I(e).$implicit,s=m(2);return V(s.toggleAreaSelection(i.areaId))}),C(1,"div",9),O(2,"i",10),y(),p(3),C(4,"div",11),v(5,bm,3,3,"span",16)(6,Bm,1,0,"i",12),y()()}if(t&2){let e=r.$implicit,n=m(2);o(2),M("fa-check-circle",n.isAreaSelected(e.areaId))("fa-blank",!n.isAreaSelected(e.areaId)),o(),f(" ",e.name," "),o(2),h(n.currentAreaId===e.areaId?5:6)}}function Em(t,r){if(t&1&&(C(0,"h6",14),p(1),l(2,"translate"),y(),C(3,"div",7),l(4,"translate"),$e(5,wm,7,6,"button",15,xm),y()),t&2){let e=m();o(),_(c(2,2,"accessories.control.service_areas")),o(2),S("aria-label",c(4,4,"accessories.control.service_areas")),o(2),Ue(e.areas)}}var Kr=(()=>{class t extends ae{$toastr=w(Ie);currentMode=0;hasCleanMode=!1;cleanModes=[];currentCleanModeId=0;hasServiceArea=!1;areas=[];selectedAreaIds=[];currentAreaId=null;areaProgress=[];setupComponent(){this.updateModeFromService(),this.updateCleanModeFromService(),this.updateServiceAreaFromService()}handleAccessoryUpdate(){this.updateModeFromService(),this.updateCleanModeFromService(),this.updateServiceAreaFromService()}updateModeFromService(){let e=this.service.clusters?.rvcOperationalState?.operationalState??ye.Stopped;e===ye.Running?this.currentMode=Ye.Cleaning:e===ye.Paused?this.currentMode=2:this.currentMode=Ye.Idle}updateCleanModeFromService(){this.hasCleanMode=kr(this.service),this.hasCleanMode&&(this.cleanModes=wr(this.service),this.currentCleanModeId=Er(this.service))}updateServiceAreaFromService(){this.hasServiceArea=Sr(this.service),this.hasServiceArea&&(this.areas=Mr(this.service),this.selectedAreaIds=Tr(this.service),this.currentAreaId=br(this.service),this.areaProgress=Br(this.service))}setMode(e,n){return se(this,null,function*(){if(e===ye.Paused&&this.currentMode===Ye.Idle)return;let i=this.currentMode;try{if(this.currentMode=e,this.cdr.markForCheck(),e===Ye.Idle){let s=this.service.getCluster?.("rvcRunMode");if(!s)throw new Error("RvcRunMode cluster not found");yield s.setAttributes({currentMode:Ye.Idle})}else if(e===Ye.Cleaning){let s=this.service.getCluster?.("rvcRunMode");if(!s)throw new Error("RvcRunMode cluster not found");yield s.setAttributes({currentMode:Ye.Cleaning})}else if(e===ye.Paused){let s=this.service.getCluster?.("rvcOperationalState");if(!s)throw new Error("RvcOperationalState cluster not found");yield s.setAttributes({operationalState:ye.Paused})}this.blurTarget(n)}catch(s){let u=e===Ye.Idle?"stop":e===Ye.Cleaning?"start":"pause";this.$toastr.error(`Failed to ${u} robotic vacuum`,"Error"),this.currentMode=i,this.cdr.markForCheck()}})}setCleanMode(e,n){return se(this,null,function*(){let i=this.currentCleanModeId;try{this.currentCleanModeId=e,this.cdr.markForCheck();let s=this.service.getCluster?.("rvcCleanMode");if(!s)throw new Error("RvcCleanMode cluster not found");yield s.setAttributes({currentMode:e}),this.blurTarget(n)}catch(s){this.$toastr.error("Failed to set clean mode","Error"),this.currentCleanModeId=i,this.cdr.markForCheck()}})}toggleAreaSelection(e){return se(this,null,function*(){let n=[...this.selectedAreaIds];try{this.selectedAreaIds.indexOf(e)===-1?this.selectedAreaIds=[...this.selectedAreaIds,e]:this.selectedAreaIds=this.selectedAreaIds.filter(u=>u!==e),this.cdr.markForCheck();let s=this.service.getCluster?.("serviceArea");if(!s)throw new Error("ServiceArea cluster not found");yield s.setAttributes({selectedAreas:this.selectedAreaIds})}catch(i){this.$toastr.error("Failed to update area selection","Error"),this.selectedAreaIds=n,this.cdr.markForCheck()}})}isAreaSelected(e){return this.selectedAreaIds.includes(e)}get isPauseDisabled(){return this.currentMode===Ye.Idle}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-robotic-vacuum-cleaner-manage"]],features:[re],decls:37,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-4","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control"],[1,"badge","bg-primary"]],template:function(n,i){if(n&1&&(C(0,"div",0)(1,"div",1),O(2,"h5",2),C(3,"button",3),l(4,"translate"),ve("click",function(){return i.dismissModal()}),y()(),C(5,"div",4)(6,"div",5)(7,"div",6),v(8,ym,2,3)(9,Sm,2,3)(10,km,2,3),y()(),C(11,"div",7),l(12,"translate"),C(13,"button",8),ve("click",function(u){return i.setMode(0,u)}),C(14,"div",9),O(15,"i",10),y(),p(16),l(17,"translate"),C(18,"div",11),O(19,"i",12),y()(),C(20,"button",8),ve("click",function(u){return i.setMode(2,u)}),C(21,"div",9),O(22,"i",10),y(),p(23),l(24,"translate"),C(25,"div",11),O(26,"i",12),y()(),C(27,"button",8),ve("click",function(u){return i.setMode(1,u)}),C(28,"div",9),O(29,"i",10),y(),p(30),l(31,"translate"),C(32,"div",11),O(33,"i",12),y()()(),v(34,Tm,7,6),v(35,Em,7,6),y(),O(36,"div",13),y()),n&2){let s;o(2),Ee("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,23,"form.button_close")),o(5),h((s=i.currentMode)===0?8:s===2?9:s===1?10:-1),o(3),S("aria-label",c(12,25,"accessories.control.mode_control")),o(4),M("fa-check-circle",i.currentMode===0)("fa-blank",i.currentMode!==0),o(),f(" ",c(17,27,"accessories.control.stop")," "),o(4),M("btn-pause-disabled",i.isPauseDisabled),o(2),M("fa-check-circle",i.currentMode===2)("fa-blank",i.currentMode!==2),o(),f(" ",c(24,29,"accessories.control.pause")," "),o(6),M("fa-check-circle",i.currentMode===1)("fa-blank",i.currentMode!==1),o(),f(" ",c(31,31,"accessories.control.clean")," "),o(4),h(i.hasCleanMode&&i.cleanModes.length>0?34:-1),o(),h(i.hasServiceArea&&i.areas.length>0?35:-1)}},dependencies:[E],styles:[".btn-control.btn-pause-disabled[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed!important;pointer-events:auto!important}.btn-control.btn-pause-disabled[_ngcontent-%COMP%]:hover{cursor:not-allowed!important}"],changeDetection:0})}return t})();var Qr=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&ft(this.service())}onLongClick(){if(!this.readyForControl()||!this.canShowModal())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Kr,{size:"md",backdrop:"static",injector:e})}isActive=te(()=>Ke(this.service()));isRunning=te(()=>bt(this.service())===ye.Running);isCharging=te(()=>bt(this.service())===ye.Charging);statusText=te(()=>ar(this.service()));canShowModal=te(()=>!rr(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-robotic-vacuum-cleaner"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:36,vars:15,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["id","motionClip"],["x","0","y","-0.5","width","32","height","8"],["transform","translate(0, 5)"],["cx","16","cy","10","rx","14","ry","8.4","stroke","#7f7f7f","stroke-width","1.75","fill","none"],["x1","2","y1","10","x2","2","y2","16","stroke","#7f7f7f","stroke-width","1.75"],["x1","30","y1","10","x2","30","y2","16","stroke","#7f7f7f","stroke-width","1.75"],["d","M2,16 A14,6.9 0 0,0 30,16","stroke","#7f7f7f","stroke-width","1.75","fill","none"],["cx","16","cy","10","rx","4.2","ry","2.5","stroke","#7f7f7f","stroke-width","1","fill","#1976d2","fill-opacity","0.5"],["cx","16","cy","15","r","0.9","fill","#7f7f7f"],["x1","2","y1","16","x2","0.5","y2","18.5","stroke","#7f7f7f","stroke-width","1"],["x1","2","y1","16","x2","0.5","y2","14","stroke","#7f7f7f","stroke-width","1"],["x1","30","y1","16","x2","31.5","y2","18.5","stroke","#7f7f7f","stroke-width","1"],["x1","30","y1","16","x2","31.5","y2","14","stroke","#7f7f7f","stroke-width","1"],["clip-path","url(#motionClip)","stroke","#7f7f7f","stroke-linecap","round",1,"motion-lines"],["x1","12","y1","8","x2","12","y2","14","stroke-width","2.1","opacity","0"],["attributeName","y1","values","8;0","dur","3s","begin","0.3s","repeatCount","indefinite"],["attributeName","y2","values","14;6","dur","3s","begin","0.3s","repeatCount","indefinite"],["attributeName","opacity","values","0;1;1;0","keyTimes","0;0.2;0.8;1","dur","3s","begin","0.3s","repeatCount","indefinite"],["x1","16","y1","8","x2","16","y2","14","stroke-width","2.5","opacity","0"],["attributeName","y1","values","8;0","dur","3s","begin","0.6s","repeatCount","indefinite"],["attributeName","y2","values","14;6","dur","3s","begin","0.6s","repeatCount","indefinite"],["attributeName","opacity","values","0;1;1;0","keyTimes","0;0.2;0.8;1","dur","3s","begin","0.6s","repeatCount","indefinite"],["x1","20","y1","8","x2","20","y2","14","stroke-width","2.1","opacity","0"],["attributeName","y1","values","8;0","dur","3s","begin","0.9s","repeatCount","indefinite"],["attributeName","y2","values","14;6","dur","3s","begin","0.9s","repeatCount","indefinite"],["attributeName","opacity","values","0;1;1;0","keyTimes","0;0.2;0.8;1","dur","3s","begin","0.9s","repeatCount","indefinite"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(n,i){n&1&&(a(0,"div",0),k("longClick",function(){return i.canShowModal()&&i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3)(5,"defs")(6,"clipPath",4),g(7,"rect",5),d()(),a(8,"g",6),g(9,"ellipse",7)(10,"line",8)(11,"line",9)(12,"path",10)(13,"ellipse",11)(14,"circle",12)(15,"line",13)(16,"line",14)(17,"line",15)(18,"line",16),d(),a(19,"g",17)(20,"line",18),g(21,"animate",19)(22,"animate",20)(23,"animate",21),d(),a(24,"line",22),g(25,"animate",23)(26,"animate",24)(27,"animate",25),d(),a(28,"line",26),g(29,"animate",27)(30,"animate",28)(31,"animate",29),d()()()(),L(),a(32,"div",30),p(33),d(),g(34,"div",31),l(35,"translate"),d()()),n&2&&(M("accessory-on",i.isActive())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,11,"accessories.core.robotic_vacuum_cleaner")),o(11),M("is-charging",i.isCharging()),o(6),M("is-running",i.isRunning()),o(14),_(i.service().customName||i.service().serviceName),o(),T("innerText",c(35,13,i.statusText())))},dependencies:[Q,E],styles:[".motion-lines[_ngcontent-%COMP%]{display:none}.motion-lines.is-running[_ngcontent-%COMP%]{display:block}.is-charging[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_charging-pulse 5s ease-in-out infinite}@keyframes _ngcontent-%COMP%_charging-pulse{0%,to{fill-opacity:.3}50%{fill-opacity:.8}}"],changeDetection:0})}return t})();function Dm(t,r){t&1&&(C(0,"div",17),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function Pm(t,r){t&1&&(C(0,"div",18),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var Zr=(()=>{class t{service=P.required();isTriggered=te(()=>fr(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-smoke-co-alarm"]],inputs:{service:[1,"service"]},decls:22,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","1","width","30","height","12","rx","1","stroke","#7f7f7f","fill","none","stroke-width","1.25"],["text-anchor","middle","dominant-baseline","middle","font-family","Arial","font-size","7.5","x","16","y","7.7","fill","#7f7f7f","stroke-width","0.6","font-weight","900",1,"type"],["x1","6","y1","14.5","x2","25.5","y2","14.5","stroke","#1976d2","stroke-opacity","0.5","stroke-width","2"],["stroke-linecap","round","x1","5","y1","13","x2","6.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","11","y1","13","x2","11","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","15.5","y1","13","x2","15.5","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","20","y1","13","x2","20","y2","16","stroke","#7f7f7f","stroke-width","1"],["stroke-linecap","round","x1","26","y1","13","x2","24.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","6.5","y1","16","x2","24.5","y2","16","stroke","#7f7f7f","stroke-width","1.25"],["stroke-linecap","round","x1","11","y1","21","x2","6","y2","27","stroke","#7f7f7f","stroke-width","1.25",1,"air-line"],["stroke-linecap","round","x1","16","y1","21","x2","16","y2","31","stroke","#7f7f7f","stroke-width","1.25",1,"air-line"],["stroke-linecap","round","x1","21","y1","21","x2","26","y2","27","stroke","#7f7f7f","stroke-width","1.25",1,"air-line"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"text",5),p(7," ALARM "),y(),O(8,"line",6)(9,"line",7)(10,"line",8)(11,"line",9)(12,"line",10)(13,"line",11)(14,"line",12)(15,"line",13)(16,"line",14)(17,"line",15),y()(),L(),C(18,"div",16),p(19),y(),v(20,Dm,3,3,"div",17)(21,Pm,3,3,"div",18),y()()),n&2&&(M("accessory-on",i.isTriggered()),o(2),S("aria-label",c(3,5,"accessories.core.smoke_sensor")),o(17),_(i.service().customName||i.service().serviceName),o(),h(i.isTriggered()?20:21))},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .air-line[_ngcontent-%COMP%]{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}.accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .type[_ngcontent-%COMP%]{fill:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{opacity:1}50%{opacity:.2}}"],changeDetection:0})}return t})();function Am(t,r){if(t&1&&(p(0),l(1,"convertTemp"),l(2,"number"),l(3,"uppercase")),t&2){let e=m();R(" ",ue(2,4,c(1,2,e.temperature()),"1.0-1"),"\xB0",c(3,7,e.temperatureUnits)," ")}}function Om(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.no_data")," ")}var Jr=(()=>{class t{$settings=w(Te);service=P.required();temperatureUnits=this.$settings.env.temperatureUnits;temperature=te(()=>mr(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-temperature-sensor"]],inputs:{service:[1,"service"]},decls:34,vars:5,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["x1","16","y1","5","x2","16","y2","17","stroke","#7f7f7f","stroke-width","1.2","stroke-linecap","round"],["cx","16","cy","20","r","3","stroke","#7f7f7f","stroke-width","1.2","fill","#1976d2","fill-opacity","0.5"],["x1","9","y1","6","x2","13","y2","6","stroke","#7f7f7f","stroke-width","0.8"],["x1","9","y1","9","x2","13","y2","9","stroke","#7f7f7f","stroke-width","0.8"],["x1","9","y1","12","x2","13","y2","12","stroke","#7f7f7f","stroke-width","0.8"],["x1","9","y1","15","x2","13","y2","15","stroke","#7f7f7f","stroke-width","0.8"],["x1","19","y1","6","x2","23","y2","6","stroke","#7f7f7f","stroke-width","0.8"],["x1","19","y1","9","x2","23","y2","9","stroke","#7f7f7f","stroke-width","0.8"],["x1","19","y1","12","x2","23","y2","12","stroke","#7f7f7f","stroke-width","0.8"],["x1","19","y1","15","x2","23","y2","15","stroke","#7f7f7f","stroke-width","0.8"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4)(6,"line",5)(7,"circle",6)(8,"line",7)(9,"line",8)(10,"line",9)(11,"line",10)(12,"line",11)(13,"line",12)(14,"line",13)(15,"line",14)(16,"line",15)(17,"line",16)(18,"line",17)(19,"line",18)(20,"line",19)(21,"line",20)(22,"line",21)(23,"line",22)(24,"line",23)(25,"line",24)(26,"line",25)(27,"line",26)(28,"line",27),y()(),L(),C(29,"div",28),p(30),y(),C(31,"div",29),v(32,Am,4,9)(33,Om,2,3),y()()()),n&2&&(o(2),S("aria-label",c(3,3,"accessories.core.temperature_sensor")),o(28),_(i.service().customName||i.service().serviceName),o(2),h(i.temperature()!==null?32:33))},dependencies:[Pe,Ve,Re,E],encapsulation:2,changeDetection:0})}return t})();function Im(t,r){if(t&1&&(a(0,"h6",5),g(1,"i"),p(2),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),d()),t&2){let e=m();o(),pt(`fas fa-temperature-full ${e.getStatusClass()}`),o(),R("",ue(4,6,c(3,4,e.currentTemperature),"1.0-1"),"\xB0",c(5,9,e.temperatureUnits)," ")}}function Vm(t,r){if(t&1){let e=j();a(0,"h6",13),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),l(6,"convertTemp"),l(7,"number"),l(8,"uppercase"),d(),a(9,"nouislider",14),K("ngModelChange",function(i){I(e);let s=m();return Y(s.autoTemp,i)||(s.autoTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onAutoTempChange())}),d()}if(t&2){let e=m();o(),Mt(" ",c(2,9,"accessories.control.threshold_auto"),": ",ue(4,13,c(3,11,e.autoTemp[0]),"1.0-1"),"\xB0",c(5,16,e.temperatureUnits)," - ",ue(7,20,c(6,18,e.autoTemp[1]),"1.0-1"),"\xB0",c(8,23,e.temperatureUnits)," "),o(8),T("min",e.minHeatSetpoint)("max",e.maxCoolSetpoint)("step",.5),z("ngModel",e.autoTemp)}}function Fm(t,r){if(t&1){let e=j();a(0,"h6",15),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),d(),a(6,"nouislider",14),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetHeatingTemp,i)||(s.targetHeatingTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onHeatingTempChange())}),d()}if(t&2){let e=m();o(),Ze(" ",c(2,7,"accessories.control.target"),": ",ue(4,11,c(3,9,e.targetHeatingTemp),"1.0-1"),"\xB0",c(5,14,e.temperatureUnits)," "),o(5),T("min",e.minHeatSetpoint)("max",e.maxHeatSetpoint)("step",.5),z("ngModel",e.targetHeatingTemp)}}function Lm(t,r){if(t&1){let e=j();a(0,"h6",15),p(1),l(2,"translate"),l(3,"convertTemp"),l(4,"number"),l(5,"uppercase"),d(),a(6,"nouislider",14),K("ngModelChange",function(i){I(e);let s=m();return Y(s.targetCoolingTemp,i)||(s.targetCoolingTemp=i),V(i)}),k("ngModelChange",function(){I(e);let i=m();return V(i.onCoolingTempChange())}),d()}if(t&2){let e=m();o(),Ze(" ",c(2,7,"accessories.control.target"),": ",ue(4,11,c(3,9,e.targetCoolingTemp),"1.0-1"),"\xB0",c(5,14,e.temperatureUnits)," "),o(5),T("min",e.minCoolSetpoint)("max",e.maxCoolSetpoint)("step",.5),z("ngModel",e.targetCoolingTemp)}}var Xr=(()=>{class t extends ae{$settings=w(Te);$toastr=w(Ie);targetMode;targetHeatingTemp;targetCoolingTemp;autoTemp;temperatureUnits=this.$settings.env.temperatureUnits;heatingTempChanged=new Z;coolingTempChanged=new Z;autoTempChanged=new Z;minHeatSetpoint=7;maxHeatSetpoint=30;minCoolSetpoint=10;maxCoolSetpoint=35;setupComponent(){this.createDebouncedSubscription(this.heatingTempChanged,()=>se(this,null,function*(){try{yield Oi(this.service,this.targetHeatingTemp)}catch(n){this.$toastr.error("Failed to set heating temperature","Error"),this.targetHeatingTemp=jt(this.service),this.cdr.markForCheck()}})),this.createDebouncedSubscription(this.coolingTempChanged,()=>se(this,null,function*(){try{yield Ii(this.service,this.targetCoolingTemp)}catch(n){this.$toastr.error("Failed to set cooling temperature","Error"),this.targetCoolingTemp=$t(this.service),this.cdr.markForCheck()}})),this.createDebouncedSubscription(this.autoTempChanged,()=>se(this,null,function*(){try{yield Oi(this.service,this.autoTemp[0]),yield Ii(this.service,this.autoTemp[1])}catch(n){this.$toastr.error("Failed to set temperature range","Error"),this.targetHeatingTemp=jt(this.service),this.targetCoolingTemp=$t(this.service),this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.cdr.markForCheck()}})),this.targetMode=At(this.service),this.targetHeatingTemp=jt(this.service),this.targetCoolingTemp=$t(this.service),this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp];let e=this.service.clusters?.thermostat;e&&(this.minHeatSetpoint=e.minHeatSetpointLimit?e.minHeatSetpointLimit/100:7,this.maxHeatSetpoint=e.maxHeatSetpointLimit?e.maxHeatSetpointLimit/100:30,this.minCoolSetpoint=e.minCoolSetpointLimit?e.minCoolSetpointLimit/100:10,this.maxCoolSetpoint=e.maxCoolSetpointLimit?e.maxCoolSetpointLimit/100:35),this.applySliderGradient("linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))")}handleAccessoryUpdate(){let e=this.targetMode;this.targetMode=At(this.service),this.targetHeatingTemp=jt(this.service),this.targetCoolingTemp=$t(this.service),this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],e!==this.targetMode&&this.applySliderGradient("linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))")}getStatusClass(){return this.targetMode===Rt.Cool?"status-color-cooling":this.targetMode===Rt.Heat?"status-color-heating":this.targetMode===Rt.Auto?"status-color-active":"status-color-inactive"}setTargetMode(e,n){return se(this,null,function*(){let i=this.targetMode;try{this.targetMode=e,this.cdr.markForCheck(),yield yr(this.service,this.targetMode),this.blurTarget(n),this.applySliderGradient("linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))")}catch(s){this.$toastr.error("Failed to set thermostat mode","Error"),this.targetMode=i,this.cdr.markForCheck()}})}onHeatingTempChange(){this.heatingTempChanged.next(this.targetHeatingTemp)}onCoolingTempChange(){this.coolingTempChanged.next(this.targetCoolingTemp)}onAutoTempChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.autoTempChanged.next(this.autoTemp)}get currentTemperature(){return ci(this.service)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-thermostat-manage"]],features:[re],decls:41,vars:39,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mt-2","mb-4","fs-4"],["role","group",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-xl"],[1,"float-end"],[1,"fas","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4","mb-1"],[3,"ngModelChange","min","max","step","ngModel"],[1,"mt-4"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4),v(6,Im,6,11,"h6",5),a(7,"div",6),l(8,"translate"),a(9,"button",7),k("click",function(u){return i.setTargetMode(0,u)}),a(10,"div",8),g(11,"i",9),d(),p(12),l(13,"translate"),a(14,"div",10),g(15,"i",11),d()(),a(16,"button",7),k("click",function(u){return i.setTargetMode(1,u)}),a(17,"div",8),g(18,"i",9),d(),p(19),l(20,"translate"),a(21,"div",10),g(22,"i",11),d()(),a(23,"button",7),k("click",function(u){return i.setTargetMode(4,u)}),a(24,"div",8),g(25,"i",9),d(),p(26),l(27,"translate"),a(28,"div",10),g(29,"i",11),d()(),a(30,"button",7),k("click",function(u){return i.setTargetMode(3,u)}),a(31,"div",8),g(32,"i",9),d(),p(33),l(34,"translate"),a(35,"div",10),g(36,"i",11),d()()(),v(37,Vm,10,25),v(38,Fm,7,16),v(39,Lm,7,16),d(),g(40,"div",12),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,27,"form.button_close")),o(3),h(i.currentTemperature!==null?6:-1),o(),S("aria-label",c(8,29,"accessories.control.mode_control")),o(4),M("fa-check-circle",i.targetMode===0)("fa-blank",i.targetMode!==0),o(),f(" ",c(13,31,"accessories.control.off")," "),o(6),M("fa-check-circle",i.targetMode===1)("fa-blank",i.targetMode!==1),o(),f(" ",c(20,33,"accessories.control.auto")," "),o(6),M("fa-check-circle",i.targetMode===4)("fa-blank",i.targetMode!==4),o(),f(" ",c(27,35,"accessories.control.heat")," "),o(6),M("fa-check-circle",i.targetMode===3)("fa-blank",i.targetMode!==3),o(),f(" ",c(34,37,"accessories.control.cool")," "),o(4),h(i.targetMode===1?37:-1),o(),h(i.targetMode===4?38:-1),o(),h(i.targetMode===3?39:-1))},dependencies:[de,pe,me,fe,Pe,E,Ve,Re],encapsulation:2,changeDetection:0})}return t})();function Nm(t,r){if(t&1&&(F(),a(0,"text",18),p(1),l(2,"convertTemp"),l(3,"number"),l(4,"uppercase"),d()),t&2){let e=m();o(),R(" ",ue(3,4,c(2,2,e.currentTemperature()),"1.0-1"),"\xB0",c(4,7,e.temperatureUnits)," ")}}function Hm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.off")," ")}function Rm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.cool")," ")}function jm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.heat")," ")}function $m(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.auto")," ")}var ea=(()=>{class t{$modal=w(ee);injector=w(J);$settings=w(Te);$accessories=w(ie);service=P.required();readyForControl=P(!1);temperatureUnits=this.$settings.env.temperatureUnits;onClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(Xr,{size:"md",backdrop:"static",injector:e})}getStatusFill(){let e=this.systemMode();return e===3?"url(#coolingGradient)":e===4?"url(#heatingGradient)":e===1?"#42d672":"#7b7b7b"}isOn=te(()=>xr(this.service()));systemMode=te(()=>At(this.service()));currentTemperature=te(()=>ci(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-thermostat"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:30,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["id","coolingGradient","x1","0","y1","1","x2","0","y2","0"],["offset","0%","stop-color","#1e8bbd"],["attributeName","stop-color","values","#1e8bbd;#66d6d6;#1e8bbd","dur","5s","repeatCount","indefinite"],["offset","50%","stop-color","#66d6d6"],["attributeName","stop-color","values","#66d6d6;#1e8bbd;#66d6d6","dur","5s","repeatCount","indefinite"],["offset","100%","stop-color","#1e8bbd"],["id","heatingGradient","x1","0","y1","1","x2","0","y2","0"],["offset","0%","stop-color","#cc5e00"],["attributeName","stop-color","values","#cc5e00;#e69533;#cc5e00;#e69533","dur","5s","repeatCount","indefinite"],["offset","50%","stop-color","#e69533"],["attributeName","stop-color","values","#e69533;#cc5e00;#e69533;#cc5e00","dur","5s","repeatCount","indefinite"],["offset","100%","stop-color","#cc5e00"],["x","1","y","1","width","30","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2"],["x","1","y","19","width","30","height","8","rx","0","stroke","#7f7f7f","stroke-width","0.75","fill-opacity","0.5"],["x","16","y","13","font-size","8","text-anchor","middle","fill","#7f7f7f","font-family","Arial, sans-serif"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(a(0,"div",0),k("longClick",function(){return i.onClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),l(3,"translate"),F(),a(4,"svg",3)(5,"defs")(6,"linearGradient",4)(7,"stop",5),g(8,"animate",6),d(),a(9,"stop",7),g(10,"animate",8),d(),a(11,"stop",9),g(12,"animate",6),d()(),a(13,"linearGradient",10)(14,"stop",11),g(15,"animate",12),d(),a(16,"stop",13),g(17,"animate",14),d(),a(18,"stop",15),g(19,"animate",12),d()()(),g(20,"rect",16)(21,"rect",17),v(22,Nm,5,9,":svg:text",18),d()(),L(),a(23,"div",19),p(24),d(),a(25,"div",20),v(26,Hm,2,3)(27,Rm,2,3)(28,jm,2,3)(29,$m,2,3),d()()()),n&2&&(M("accessory-on",i.isOn())("cursor-pointer",i.readyForControl()),o(2),S("aria-label",c(3,9,"accessories.core.thermostat")),o(19),S("fill",i.getStatusFill()),o(),h(i.currentTemperature()!==null?22:-1),o(2),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(2),h(i.systemMode()===0?26:i.systemMode()===3?27:i.systemMode()===4?28:i.systemMode()===1?29:-1))},dependencies:[Q,Pe,E,Ve,Re],encapsulation:2,changeDetection:0})}return t})();var ta=(()=>{class t{service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-unknown"]],inputs:{service:[1,"service"]},decls:10,vars:3,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["cx","16","cy","16","r","14","fill","none","stroke","#7f7f7f","stroke-width","1.5"],["d",`M12.2575393,17.7112593
L12.1868707,17.7112593
C11.0779698,17.7112593 10.6478221,16.9467914 11.2212184,16.0037726
L16.4805582,7.35415962
C17.67876,5.38357359 18.0624739,5.55948915 17.3376772,7.746963
L15.7252918,12.6132252
C15.3772095,13.6637556 15.9942825,14.5048291 17.0992511,14.5048291
L20.1977772,14.5048291
L20.1846183,14.5177121
L20.2552868,14.5177121
C21.3641878,14.5177121 21.7943355,15.2821799 21.2209392,16.2251988
L16.1844844,24.5082506
C14.864477,26.6791606 14.4411534,26.4839632 15.241777,24.0676402
L16.7168658,19.6157462
C17.0649481,18.5652158 16.447875,17.7241422 15.3429064,17.7241422
L12.2443804,17.7241422
L12.2575393,17.7112593 Z`,"fill","#7f7f7f"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),F(),C(3,"svg",3),O(4,"circle",4)(5,"path",5),y()(),L(),C(6,"div",6),p(7),y(),C(8,"div",7),p(9),y()()()),n&2&&(o(2),S("aria-label",i.service().humanType),o(5),_(i.service().customName||i.service().serviceName),o(2),_(i.service().humanType))},encapsulation:2,changeDetection:0})}return t})();function Um(t,r){t&1&&(C(0,"div",23),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.detected")))}function Wm(t,r){t&1&&(C(0,"div",24),p(1),l(2,"translate"),y()),t&2&&(o(),_(c(2,1,"accessories.control.not_detected")))}var ia=(()=>{class t{service=P.required();isLeaking=te(()=>gr(this.service()));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-water-leak-detector"]],inputs:{service:[1,"service"]},decls:28,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","3.5","y","1","width","25","height","30","rx","3","stroke","#7f7f7f","fill","none","stroke-width","1.2",1,"red-outline"],["transform","translate(7, 0), scale(0.35)"],["d","M23.61 24.58C23.61 28.67 20.44 31.99 16.56 31.99C12.68 31.99 9.52 28.67 9.52 24.58C9.52 20.49 12.68 17.13 16.56 10.87C20.44 17.13 23.61 20.49 23.61 24.58Z","fill","#1976d2","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","1"],["transform","translate(13, 7), scale(0.35)"],["cx","16","cy","22","rx","10","ry","2","fill","#1976d2","fill-opacity","0.25","stroke","#7f7f7f","stroke-width","0.35"],["stroke-linecap","round","x1","7","y1","26","x2","25","y2","26","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","27.5","x2","25","y2","27.5","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","29","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","7","y1","26","x2","7","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","9","y1","26","x2","9","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","11","y1","26","x2","11","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","13","y1","26","x2","13","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","15","y1","26","x2","15","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","17","y1","26","x2","17","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","19","y1","26","x2","19","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","21","y1","26","x2","21","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","23","y1","26","x2","23","y2","29","stroke","#7f7f7f","stroke-width","0.5"],["stroke-linecap","round","x1","25","y1","26","x2","25","y2","29","stroke","#7f7f7f","stroke-width","0.5"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(n,i){n&1&&(C(0,"div",0)(1,"div",1)(2,"div",2),l(3,"translate"),F(),C(4,"svg",3),O(5,"rect",4),C(6,"g",5),O(7,"path",6),y(),C(8,"g",7),O(9,"path",6),y(),O(10,"ellipse",8)(11,"line",9)(12,"line",10)(13,"line",11)(14,"line",12)(15,"line",13)(16,"line",14)(17,"line",15)(18,"line",16)(19,"line",17)(20,"line",18)(21,"line",19)(22,"line",20)(23,"line",21),y()(),L(),C(24,"div",22),p(25),y(),v(26,Um,3,3,"div",23)(27,Wm,3,3,"div",24),y()()),n&2&&(M("accessory-on",i.isLeaking()),o(2),S("aria-label",c(3,5,"accessories.core.leak_sensor")),o(23),_(i.service().customName||i.service().serviceName),o(),h(i.isLeaking()?26:27))},dependencies:[E],styles:[".accessory-on[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .red-outline[_ngcontent-%COMP%]{stroke:#d32f2f;animation:_ngcontent-%COMP%_flash 1s infinite}@keyframes _ngcontent-%COMP%_flash{0%,to{stroke-opacity:.8}50%{stroke-opacity:.2}}"],changeDetection:0})}return t})();function Gm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function qm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.open")," ")}function zm(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m();R(" ",c(1,2,"accessories.control.open")," ",e.currentPosition,"% ")}}var na=(()=>{class t extends ae{$toastr=w(Ie);targetPositionChanged=new Z;targetPosition;setupComponent(){this.loadTargetPosition(),this.createDebouncedSubscription(this.targetPositionChanged,()=>se(this,null,function*(){let e=gt(this.service);try{yield ai(this.service,this.targetPosition.value)}catch(n){this.$toastr.error("Failed to set window covering position","Error"),this.targetPosition.value=e,this.cdr.markForCheck()}}))}handleAccessoryUpdate(){this.targetPosition&&(this.targetPosition.value=gt(this.service))}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}loadTargetPosition(){this.targetPosition={value:gt(this.service),min:0,max:100,step:1},this.applySliderGradient("linear-gradient(to right, #242424, #ffd6aa)")}get currentPosition(){return gt(this.service)}static \u0275fac=(()=>{let e;return function(i){return(e||(e=oe(t)))(i||t)}})();static \u0275cmp=B({type:t,selectors:[["app-window-covering-manage"]],features:[re],decls:34,vars:34,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1),g(2,"h5",2),a(3,"button",3),l(4,"translate"),k("click",function(){return i.dismissModal()}),d()(),a(5,"div",4)(6,"div",5)(7,"div",6),v(8,Gm,2,3)(9,qm,2,3)(10,zm,2,4),d()(),a(11,"h6",7),p(12),l(13,"translate"),d(),a(14,"nouislider",8),K("ngModelChange",function(u){return Y(i.targetPosition.value,u)||(i.targetPosition.value=u),u}),k("ngModelChange",function(){return i.onTargetPositionChange()}),d(),a(15,"div",9)(16,"span",10),p(17),l(18,"translate"),d(),a(19,"span",10),p(20),l(21,"translate"),d()(),a(22,"h6",7),p(23),l(24,"translate"),d(),g(25,"nouislider",11),a(26,"div",9)(27,"span",10),p(28),l(29,"translate"),d(),a(30,"span",10),p(31),l(32,"translate"),d()()(),g(33,"div",12),d()),n&2&&(o(2),T("innerText",i.service.customName||i.service.serviceName||i.service.displayName),o(),S("aria-label",c(4,20,"form.button_close")),o(5),h(i.currentPosition===0?8:i.currentPosition===100?9:10),o(4),R("",c(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),o(2),T("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),z("ngModel",i.targetPosition.value),o(3),_(c(18,24,"accessories.control.closed")),o(3),_(c(21,26,"accessories.control.open")),o(3),R("",c(24,28,"accessories.control.current"),": ",i.currentPosition,"%"),o(2),T("min",0)("max",100)("step",1)("disabled",!0)("ngModel",i.currentPosition),o(3),_(c(29,30,"accessories.control.closed")),o(3),_(c(32,32,"accessories.control.open")))},dependencies:[fe,de,pe,me,E],encapsulation:2,changeDetection:0})}return t})();function Ym(t,r){t&1&&(a(0,"div",2),l(1,"translate"),F(),a(2,"svg",5),g(3,"rect",6)(4,"rect",7)(5,"rect",8)(6,"rect",9)(7,"rect",10)(8,"rect",11)(9,"rect",12),d()()),t&2&&S("aria-label",c(1,1,"accessories.core.window_covering"))}function Km(t,r){t&1&&(a(0,"div",2),l(1,"translate"),F(),a(2,"svg",5),g(3,"rect",13)(4,"rect",14)(5,"rect",15)(6,"rect",16)(7,"line",17)(8,"rect",18),d()()),t&2&&S("aria-label",c(1,1,"accessories.core.door"))}function Qm(t,r){t&1&&(a(0,"div",2),l(1,"translate"),F(),a(2,"svg",5),g(3,"rect",6)(4,"rect",19)(5,"rect",20)(6,"rect",21)(7,"rect",22)(8,"rect",23)(9,"rect",24),d()()),t&2&&S("aria-label",c(1,1,"accessories.core.window"))}function Zm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.closed")," ")}function Jm(t,r){t&1&&(p(0),l(1,"translate")),t&2&&f(" ",c(1,1,"accessories.control.open")," ")}function Xm(t,r){if(t&1&&(p(0),l(1,"translate")),t&2){let e=m();R(" ",c(1,2,"accessories.control.open")," ",e.currentPosition(),"% ")}}var oa=(()=>{class t{$accessories=w(ie);injector=w(J);$modal=w(ee);service=P.required();readyForControl=P(!1);onClick(){this.readyForControl()&&Cr(this.service())}onLongClick(){if(!this.readyForControl())return;let e=X([{provide:ne,useValue:{service:this.service(),$accessories:this.$accessories}}],this.injector);this.$modal.open(na,{size:"md",backdrop:"static",injector:e})}currentPosition=te(()=>gt(this.service()));deviceType=te(()=>this.service().customType||this.service().deviceType||"WindowCovering");isWindowCovering=te(()=>this.deviceType()==="WindowCovering");isDoor=te(()=>this.deviceType()==="Door");isWindow=te(()=>this.deviceType()==="Window");static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-matter-window-covering"]],inputs:{service:[1,"service"],readyForControl:[1,"readyForControl"]},decls:11,vars:11,consts:[["tabindex","0",1,"accessory-box",3,"longClick","shortClick"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],["width","32px","height","32px","viewBox","0 0 32 32","xmlns","http://www.w3.org/2000/svg"],["x","1","y","0.8","width","30","height","30.2","rx","0.5","stroke","#7f7f7f","fill","none","stroke-width","1.5"],["x","2.8","y","2.6","width","12.4","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1"],["x","3.66","y","15.65","width","10.68","height","0.5","stroke","#7f7f7f","fill","none","stroke-width","0.5","rx","2"],["x","16.8","y","2.6","width","12.4","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1"],["x","17.66","y","15.65","width","10.68","height","0.5","stroke","#7f7f7f","fill","none","stroke-width","0.5","rx","2"],["x","2.3","y","2.1","width","27.4","height","27.6","stroke","#808080","fill","#808080","stroke-width","0.5","stroke-opacity","0.9","fill-opacity","0.9",1,"c-blinds"],["x","2.05","y","29.9","width","27.9","height","0","stroke","#ffffff","fill","#ffffff","stroke-width","0.5","stroke-opacity","0","fill-opacity","0.5",1,"c-light"],["x","7.8","y","0.8","width","16.4","height","30.2","rx","0.5","stroke","#7f7f7f","fill","none","stroke-width","1.5"],["x","9.6","y","2.6","width","12.8","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1",1,"outline"],["x","11.2","y","4.2","width","9.6","height","10.8","stroke","#7f7f7f","fill-opacity","0","stroke-width","0.5","rx","0.25",1,"panel"],["x","11.2","y","16.8","width","9.6","height","10.8","stroke","#7f7f7f","fill-opacity","0","stroke-width","0.5","rx","0.25",1,"panel"],["x1","0","y1","31","x2","32","y2","31","stroke","#7f7f7f","stroke-width","1.5"],["x","19.25","y","15.87","width","1.55","height","0.05","stroke","#1976d2","fill","none","stroke-width","0.5","rx","10",1,"handle"],["x","2.8","y","2.6","width","12.4","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1",1,"outline-left"],["x","3.66","y","15.65","width","10.68","height","0.5","stroke","#7f7f7f","fill","none","stroke-width","0.5","ry","2",1,"divider-left"],["x","15.16","y","13.6","width","0.1","height","4.6","stroke","#1976d2","fill","none","stroke-width","0.5","ry","2",1,"handle-left"],["x","16.8","y","2.6","width","12.4","height","26.6","stroke","#7f7f7f","fill","none","stroke-width","1",1,"outline-right"],["x","17.66","y","15.65","width","10.68","height","0.5","stroke","#7f7f7f","fill","none","stroke-width","0.5","ry","2",1,"divider-right"],["x","16.76","y","13.6","width","0.1","height","4.6","stroke","#1976d2","fill","none","stroke-width","0.5","ry","2",1,"handle-right"]],template:function(n,i){n&1&&(a(0,"div",0),k("longClick",function(){return i.onLongClick()})("shortClick",function(){return i.onClick()}),a(1,"div",1),v(2,Ym,10,3,"div",2),v(3,Km,9,3,"div",2),v(4,Qm,10,3,"div",2),a(5,"div",3),p(6),d(),a(7,"div",4),v(8,Zm,2,3)(9,Jm,2,3)(10,Xm,2,4),d()()()),n&2&&(dt("--position",i.currentPosition()/100),M("accessory-on",i.currentPosition()>0)("cursor-pointer",i.readyForControl()),o(2),h(i.isWindowCovering()?2:-1),o(),h(i.isDoor()?3:-1),o(),h(i.isWindow()?4:-1),o(2),f(" ",i.service().customName||i.service().serviceName||i.service().displayName," "),o(2),h(i.currentPosition()===0?8:i.currentPosition()===100?9:10))},dependencies:[Q,E],styles:["svg[_ngcontent-%COMP%] .c-blinds[_ngcontent-%COMP%]{transition:height 3s ease;height:calc(27.6px - 27.3px * var(--position, 0))}svg[_ngcontent-%COMP%] .c-light[_ngcontent-%COMP%]{transition:y 3s ease,height 3s ease;y:calc(29.9px - 27.25px * var(--position, 0));height:calc(27.3px * var(--position, 0))}svg[_ngcontent-%COMP%] .outline[_ngcontent-%COMP%]{transition:width 3s ease;width:calc(12.8px - 9px * var(--position, 0))}svg[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{transition:width 3s ease;width:calc(9.6px - 9px * var(--position, 0))}svg[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{opacity:calc(1 - var(--position, 0));transition:opacity 3s ease}svg[_ngcontent-%COMP%] .outline-left[_ngcontent-%COMP%]{transition:width 3s ease;x:2.8px;width:calc(12.4px - 10px * var(--position, 0))}svg[_ngcontent-%COMP%] .divider-left[_ngcontent-%COMP%]{transition:width 3s ease;x:3.66px;width:calc(10.68px - 10px * var(--position, 0))}svg[_ngcontent-%COMP%] .handle-left[_ngcontent-%COMP%]{transition:x 3s ease;x:calc(15.16px - 10px * var(--position, 0));width:.1px}svg[_ngcontent-%COMP%] .outline-right[_ngcontent-%COMP%]{transition:x 3s ease,width 3s ease;x:calc(16.8px + 10px * var(--position, 0));width:calc(12.4px - 10px * var(--position, 0))}svg[_ngcontent-%COMP%] .divider-right[_ngcontent-%COMP%]{transition:x 3s ease,width 3s ease;x:calc(17.66px + 10px * var(--position, 0));width:calc(10.68px - 10px * var(--position, 0))}svg[_ngcontent-%COMP%] .handle-right[_ngcontent-%COMP%]{transition:x 3s ease;x:calc(16.76px + 10px * var(--position, 0));width:.1px}"],changeDetection:0})}return t})();function eu(t,r){t&1&&g(0,"i",4)(1,"i",5)}function tu(t,r){t&1&&g(0,"i",3)}function iu(t,r){if(t&1){let e=j();a(0,"button",2),l(1,"translate"),k("click",function(){I(e);let i=m();return V(i.$accessories.showAccessoryInformation(i.service()))}),v(2,eu,2,0)(3,tu,1,0,"i",3),d()}if(t&2){let e=m();M("accessory-hidden-indicator",e.service().hidden),S("aria-label",`${c(1,4,"form.button_edit")} ${e.service().customName||e.service().serviceName}`),o(2),h(e.service().hidden?2:3)}}function nu(t,r){if(t&1){let e=j();a(0,"button",6),l(1,"translate"),k("click",function(){I(e);let i=m();return V(i.$accessories.showAccessoryInformation(i.service()))}),g(2,"i",7),d()}if(t&2){let e=m();S("aria-label",`${c(1,1,"form.button_edit")} ${e.service().customName||e.service().serviceName}`)}}function ou(t,r){if(t&1&&(a(0,"app-on-off-light",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.on_off_light")," ")}}function ru(t,r){if(t&1&&(a(0,"app-dimmable-light",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.dimmable_light")," ")}}function au(t,r){if(t&1&&(a(0,"app-color-temperature-light",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.color_temperature_light")," ")}}function su(t,r){if(t&1&&(a(0,"app-extended-color-light",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.extended_color_light")," ")}}function lu(t,r){if(t&1&&(a(0,"app-on-off-plug-in-unit",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.on_off_plug_in_unit")," ")}}function cu(t,r){if(t&1&&(a(0,"app-on-off-light-switch",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.on_off_light_switch")," ")}}function du(t,r){if(t&1&&(a(0,"app-robotic-vacuum-cleaner",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.robotic_vacuum_cleaner")," ")}}function pu(t,r){if(t&1&&(a(0,"app-matter-contact-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.contact_sensor")," ")}}function mu(t,r){if(t&1&&(a(0,"app-matter-occupancy-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.occupancy_sensor")," ")}}function uu(t,r){if(t&1&&(a(0,"app-matter-light-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.light_sensor")," ")}}function fu(t,r){if(t&1&&(a(0,"app-matter-temperature-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.temperature_sensor")," ")}}function gu(t,r){if(t&1&&(a(0,"app-matter-humidity-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.humidity_sensor")," ")}}function vu(t,r){if(t&1&&(a(0,"app-matter-smoke-co-alarm",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.smoke_co_alarm")," ")}}function hu(t,r){if(t&1&&(a(0,"app-matter-water-leak-detector",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.leak_sensor")," ")}}function Cu(t,r){if(t&1&&(a(0,"app-matter-air-quality-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.air_quality_sensor")," ")}}function _u(t,r){if(t&1&&(a(0,"app-matter-door-lock",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.lock_mechanism")," ")}}function xu(t,r){if(t&1&&(a(0,"app-matter-window-covering",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.window_covering")," ")}}function yu(t,r){if(t&1&&(a(0,"app-matter-window-covering",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.door")," ")}}function Su(t,r){if(t&1&&(a(0,"app-matter-window-covering",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.window")," ")}}function ku(t,r){if(t&1&&(a(0,"app-matter-fan",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.fan")," ")}}function Mu(t,r){if(t&1&&(a(0,"app-matter-thermostat",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.matterReadyForControl),o(),f(" ",c(2,3,"accessories.core.thermostat")," ")}}function Tu(t,r){if(t&1&&(a(0,"app-matter-unknown",9),p(1),d()),t&2){let e=m(2);T("service",e.service()),o(),_(e.service().humanType)}}function bu(t,r){if(t&1&&v(0,ou,3,5,"app-on-off-light",8)(1,ru,3,5,"app-dimmable-light",8)(2,au,3,5,"app-color-temperature-light",8)(3,su,3,5,"app-extended-color-light",8)(4,lu,3,5,"app-on-off-plug-in-unit",8)(5,cu,3,5,"app-on-off-light-switch",8)(6,du,3,5,"app-robotic-vacuum-cleaner",8)(7,pu,3,4,"app-matter-contact-sensor",9)(8,mu,3,4,"app-matter-occupancy-sensor",9)(9,uu,3,4,"app-matter-light-sensor",9)(10,fu,3,4,"app-matter-temperature-sensor",9)(11,gu,3,4,"app-matter-humidity-sensor",9)(12,vu,3,4,"app-matter-smoke-co-alarm",9)(13,hu,3,4,"app-matter-water-leak-detector",9)(14,Cu,3,4,"app-matter-air-quality-sensor",9)(15,_u,3,5,"app-matter-door-lock",8)(16,xu,3,5,"app-matter-window-covering",8)(17,yu,3,5,"app-matter-window-covering",8)(18,Su,3,5,"app-matter-window-covering",8)(19,ku,3,5,"app-matter-fan",8)(20,Mu,3,5,"app-matter-thermostat",8)(21,Tu,2,2,"app-matter-unknown",9),t&2){let e,n=m();h((e=n.service().customType||n.service().deviceType)==="OnOffLight"?0:e==="DimmableLight"?1:e==="ColorTemperatureLight"?2:e==="ExtendedColorLight"?3:e==="OnOffPlugInUnit"?4:e==="OnOffLightSwitch"?5:e==="RoboticVacuumCleaner"?6:e==="ContactSensor"?7:e==="OccupancySensor"?8:e==="LightSensor"?9:e==="TemperatureSensor"?10:e==="HumiditySensor"?11:e==="SmokeCoAlarm"?12:e==="WaterLeakDetector"?13:e==="AirQualitySensor"?14:e==="DoorLock"?15:e==="WindowCovering"?16:e==="Door"?17:e==="Window"?18:e==="Fan"?19:e==="Thermostat"?20:21)}}function Bu(t,r){if(t&1&&(a(0,"app-switch",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.switch")," ")}}function wu(t,r){if(t&1&&(a(0,"app-thermostat",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.thermostat")," ")}}function Eu(t,r){if(t&1&&(a(0,"app-outlet",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.outlet")," ")}}function Du(t,r){if(t&1&&(a(0,"app-fan",10),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.fan")," ")}}function Pu(t,r){if(t&1&&(a(0,"app-fan",10),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.fan")," ")}}function Au(t,r){if(t&1&&(a(0,"app-air-purifier",10),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.air_purifier")," ")}}function Ou(t,r){if(t&1&&(a(0,"app-access-code",10),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.access_code")," ")}}function Iu(t,r){if(t&1&&(a(0,"app-lightbulb",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.lightbulb")," ")}}function Vu(t,r){if(t&1&&(a(0,"app-light-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),_(c(2,2,"accessories.core.light_sensor"))}}function Fu(t,r){if(t&1&&(a(0,"app-lock-mechanism",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.lock_mechanism")," ")}}function Lu(t,r){if(t&1&&(a(0,"app-temperature-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.temperature_sensor")," ")}}function Nu(t,r){if(t&1&&(a(0,"app-garage-door-opener",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.garage_door_opener")," ")}}function Hu(t,r){if(t&1&&(a(0,"app-motion-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),_(c(2,2,"accessories.core.motion_sensor"))}}function Ru(t,r){if(t&1&&(a(0,"app-occupancy-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.occupancy_sensor")," ")}}function ju(t,r){if(t&1&&(a(0,"app-contact-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),_(c(2,2,"accessories.core.contact_sensor"))}}function $u(t,r){if(t&1&&(a(0,"app-humidity-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),_(c(2,2,"accessories.core.humidity_sensor"))}}function Uu(t,r){if(t&1&&(a(0,"app-air-quality-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.air_quality_sensor")," ")}}function Wu(t,r){if(t&1&&(a(0,"app-window-covering",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.window_covering")," ")}}function Gu(t,r){if(t&1&&(a(0,"app-window",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.window")," ")}}function qu(t,r){if(t&1&&(a(0,"app-door",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.door")," ")}}function zu(t,r){if(t&1&&(a(0,"app-television",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.television")," ")}}function Yu(t,r){if(t&1&&(a(0,"app-battery",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),_(c(2,2,"accessories.core.battery"))}}function Ku(t,r){if(t&1&&(a(0,"app-battery",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),_(c(2,2,"accessories.core.battery"))}}function Qu(t,r){if(t&1&&(a(0,"app-speaker",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.speaker")," ")}}function Zu(t,r){if(t&1&&(a(0,"app-speaker",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.speaker")," ")}}function Ju(t,r){if(t&1&&(a(0,"app-doorbell",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.doorbell")," ")}}function Xu(t,r){if(t&1&&(a(0,"app-microphone",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.microphone")," ")}}function e2(t,r){if(t&1&&(a(0,"app-security-system",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.security_system")," ")}}function t2(t,r){if(t&1&&(a(0,"app-leak-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),_(c(2,2,"accessories.core.leak_sensor"))}}function i2(t,r){if(t&1&&(a(0,"app-smoke-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),_(c(2,2,"accessories.core.smoke_sensor"))}}function n2(t,r){if(t&1&&(a(0,"app-carbon-monoxide-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.carbon_monoxide_sensor")," ")}}function o2(t,r){if(t&1&&(a(0,"app-carbon-dioxide-sensor",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.carbon_dioxide_sensor")," ")}}function r2(t,r){if(t&1&&(a(0,"app-valve",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.valve")," ")}}function a2(t,r){if(t&1&&(a(0,"app-irrigation-system",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.irrigation_system")," ")}}function s2(t,r){if(t&1&&(a(0,"app-heater-cooler",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.heater_cooler")," ")}}function l2(t,r){if(t&1&&(a(0,"app-heater-cooler",11),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.heater")," ")}}function c2(t,r){if(t&1&&(a(0,"app-heater-cooler",12),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.cooler")," ")}}function d2(t,r){if(t&1&&(a(0,"app-humidifier-dehumidifier",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.humidifier_dehumidifier")," ")}}function p2(t,r){if(t&1&&(a(0,"app-humidifier-dehumidifier",13),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.humidifier")," ")}}function m2(t,r){if(t&1&&(a(0,"app-humidifier-dehumidifier",14),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.dehumidifier")," ")}}function u2(t,r){if(t&1&&(a(0,"app-stateless-programmable-switch",9),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service()),o(),f(" ",c(2,2,"accessories.core.stateless_programmable_switch")," ")}}function f2(t,r){if(t&1&&(a(0,"app-filter-maintenance",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.filter_maintenance")," ")}}function g2(t,r){if(t&1&&(a(0,"app-robot-vacuum",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.robot_vacuum")," ")}}function v2(t,r){if(t&1&&(a(0,"app-washing-machine",8),p(1),l(2,"translate"),d()),t&2){let e=m(2);T("service",e.service())("readyForControl",e.$accessories.hapReadyForControl),o(),f(" ",c(2,3,"accessories.core.washing_machine")," ")}}function h2(t,r){if(t&1&&(a(0,"app-unknown",9),p(1),d()),t&2){let e=m(2);T("service",e.service()),o(),_(e.service().humanType)}}function C2(t,r){if(t&1&&v(0,Bu,3,5,"app-switch",8)(1,wu,3,5,"app-thermostat",8)(2,Eu,3,5,"app-outlet",8)(3,Du,3,5,"app-fan",10)(4,Pu,3,5,"app-fan",10)(5,Au,3,5,"app-air-purifier",10)(6,Ou,3,5,"app-access-code",10)(7,Iu,3,5,"app-lightbulb",8)(8,Vu,3,4,"app-light-sensor",9)(9,Fu,3,5,"app-lock-mechanism",8)(10,Lu,3,4,"app-temperature-sensor",9)(11,Nu,3,5,"app-garage-door-opener",8)(12,Hu,3,4,"app-motion-sensor",9)(13,Ru,3,4,"app-occupancy-sensor",9)(14,ju,3,4,"app-contact-sensor",9)(15,$u,3,4,"app-humidity-sensor",9)(16,Uu,3,4,"app-air-quality-sensor",9)(17,Wu,3,5,"app-window-covering",8)(18,Gu,3,5,"app-window",8)(19,qu,3,5,"app-door",8)(20,zu,3,5,"app-television",8)(21,Yu,3,4,"app-battery",9)(22,Ku,3,4,"app-battery",9)(23,Qu,3,5,"app-speaker",8)(24,Zu,3,5,"app-speaker",8)(25,Ju,3,5,"app-doorbell",8)(26,Xu,3,5,"app-microphone",8)(27,e2,3,5,"app-security-system",8)(28,t2,3,4,"app-leak-sensor",9)(29,i2,3,4,"app-smoke-sensor",9)(30,n2,3,4,"app-carbon-monoxide-sensor",9)(31,o2,3,4,"app-carbon-dioxide-sensor",9)(32,r2,3,5,"app-valve",8)(33,a2,3,4,"app-irrigation-system",9)(34,s2,3,5,"app-heater-cooler",8)(35,l2,3,5,"app-heater-cooler",11)(36,c2,3,5,"app-heater-cooler",12)(37,d2,3,5,"app-humidifier-dehumidifier",8)(38,p2,3,5,"app-humidifier-dehumidifier",13)(39,m2,3,5,"app-humidifier-dehumidifier",14)(40,u2,3,4,"app-stateless-programmable-switch",9)(41,f2,3,5,"app-filter-maintenance",8)(42,g2,3,5,"app-robot-vacuum",8)(43,v2,3,5,"app-washing-machine",8)(44,h2,2,2,"app-unknown",9),t&2){let e,n=m();h((e=n.service().customType||n.service().type||n.service().deviceType)==="Switch"?0:e==="Thermostat"?1:e==="Outlet"?2:e==="Fan"?3:e==="Fanv2"?4:e==="AirPurifier"?5:e==="AccessCode"?6:e==="Lightbulb"?7:e==="LightSensor"?8:e==="LockMechanism"?9:e==="TemperatureSensor"?10:e==="GarageDoorOpener"?11:e==="MotionSensor"?12:e==="OccupancySensor"?13:e==="ContactSensor"?14:e==="HumiditySensor"?15:e==="AirQualitySensor"?16:e==="WindowCovering"?17:e==="Window"?18:e==="Door"?19:e==="Television"?20:e==="Battery"?21:e==="BatteryService"?22:e==="Speaker"?23:e==="SmartSpeaker"?24:e==="Doorbell"?25:e==="Microphone"?26:e==="SecuritySystem"?27:e==="LeakSensor"?28:e==="SmokeSensor"?29:e==="CarbonMonoxideSensor"?30:e==="CarbonDioxideSensor"?31:e==="Valve"?32:e==="IrrigationSystem"?33:e==="HeaterCooler"?34:e==="Heater"?35:e==="Cooler"?36:e==="HumidifierDehumidifier"?37:e==="Humidifier"?38:e==="Dehumidifier"?39:e==="StatelessProgrammableSwitch"?40:e==="FilterMaintenance"?41:e==="RobotVacuum"?42:e==="WashingMachine"?43:44)}}var ZM=(()=>{class t{$accessories=w(ie);service=P.required();static \u0275fac=function(n){return new(n||t)};static \u0275cmp=B({type:t,selectors:[["app-accessory-tile"]],inputs:{service:[1,"service"]},decls:5,vars:2,consts:[["type","button",1,"manage-accessory-button",3,"accessory-hidden-indicator"],["type","button",1,"refreshing-accessory-button"],["type","button",1,"manage-accessory-button",3,"click"],["aria-hidden","true",1,"fas","fa-bars","grey-text"],["aria-hidden","true",1,"fas","fa-eye-slash","grey-text","accessory-hidden-icon"],["aria-hidden","true",1,"fas","fa-bars","grey-text","accessory-hidden-hover-icon"],["type","button",1,"refreshing-accessory-button",3,"click"],["aria-hidden","true",1,"fas","fa-circle-notch","fa-spin","grey-text"],[3,"service","readyForControl"],[3,"service"],[1,"w-100",3,"service","readyForControl"],["type","heater",3,"service","readyForControl"],["type","cooler",3,"service","readyForControl"],["type","humidifier",3,"service","readyForControl"],["type","dehumidifier",3,"service","readyForControl"]],template:function(n,i){n&1&&(vn(0),v(1,iu,4,6,"button",0)(2,nu,3,3,"button",1),v(3,bu,22,1)(4,C2,45,1),hn()),n&2&&(o(),h(i.service().protocol==="matter"&&i.$accessories.matterReadyForControl||i.service().protocol!=="matter"&&i.$accessories.hapReadyForControl?1:2),o(2),h(i.service().protocol==="matter"?3:4))},dependencies:[Go,Qo,Lo,vo,no,Do,wo,Ao,Yo,xo,Vo,Fo,co,To,ro,ir,or,mo,zo,ao,Uo,Ro,Bo,jo,lo,so,Xo,bo,So,Mo,Wo,Co,fo,Zo,Io,No,er,zr,Yr,qr,Fr,Or,Rr,Qr,Ir,Gr,Wr,Jr,Ur,Zr,ia,Pr,Nr,oa,$r,ea,ta,Gn,E],encapsulation:2,changeDetection:0})}return t})();export{Ve as a,ie as b,ZM as c};