Skip to content

Instantly share code, notes, and snippets.

@regevbr
Created November 7, 2021 17:47
Show Gist options
  • Save regevbr/bdf7c75599ad53fe3cdd62d1245801b9 to your computer and use it in GitHub Desktop.
Save regevbr/bdf7c75599ad53fe3cdd62d1245801b9 to your computer and use it in GitHub Desktop.
mini-climate-card-bundle icons fix
(function(){"use strict";function a(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function b(b){for(var d,e=1;e<arguments.length;e++)d=null==arguments[e]?{}:arguments[e],e%2?a(Object(d),!0).forEach(function(a){c(b,a,d[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(d)):a(Object(d)).forEach(function(a){Object.defineProperty(b,a,Object.getOwnPropertyDescriptor(d,a))});return b}function c(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function d(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))}function e(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function f(a){return function(){var b=this,c=arguments;return new Promise(function(d,f){function g(a){e(i,d,f,g,h,"next",a)}function h(a){e(i,d,f,g,h,"throw",a)}var i=a.apply(b,c);g(void 0)})}}var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa;(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?b():"function"==typeof define&&define.amd?define(b):b()})(this,function(){var a=Number.isNaN,c=Math.round;function e(a,b){for(var{element:{content:d},parts:c}=a,e=document.createTreeWalker(d,133,null,!1),f=za(c),g=c[f],h=-1,i=0,j=[],k=null;e.nextNode();){h++;var l=e.currentNode;for(l.previousSibling===k&&(k=null),b.has(l)&&(j.push(l),null===k&&(k=l)),null!==k&&i++;g!==void 0&&g.index===h;)g.index=null===k?g.index-i:-1,f=za(c,f),g=c[f]}j.forEach(a=>a.parentNode.removeChild(a))}function ba(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null,{element:{content:e},parts:d}=a;if(null===c||void 0===c)return void e.appendChild(b);for(var f=document.createTreeWalker(e,133,null,!1),g=za(d),h=0,i=-1;f.nextNode();){i++;var j=f.currentNode;for(j===c&&(h=ya(b),c.parentNode.insertBefore(b,c));-1!==g&&d[g].index===i;){if(0<h){for(;-1!==g;)d[g].index+=h,g=za(d,g);return}g=za(d,g)}}}function ca(a){var b=Ua.get(a.type);void 0===b&&(b={stringsArray:new WeakMap,keyString:new Map},Ua.set(a.type,b));var c=b.stringsArray.get(a.strings);if(void 0!==c)return c;var d=a.strings.join(pa);return c=b.keyString.get(d),void 0===c&&(c=new ta(a,a.getTemplateElement()),b.keyString.set(d,c)),b.stringsArray.set(a.strings,c),c}function da(a,b){function c(){f&&(f=!1,a()),g&&e()}function d(){Db(c)}function e(){var a=Date.now();if(f){if(a-h<2)return;g=!0}else f=!0,g=!1,setTimeout(d,b);h=a}var f=!1,g=!1,h=0;return e}function ea(a){return parseFloat(a)||0}function fa(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];return b.reduce(function(b,c){var d=a["border-"+c+"-width"];return b+ea(d)},0)}function ga(a){for(var b=["top","right","bottom","left"],c={},d=0,e=b;d<e.length;d++){var f=e[d],g=a["padding-"+f];c[f]=ea(g)}return c}function ha(a){var b=a.getBBox();return ma(0,0,b.width,b.height)}function ia(a){var b=Math.abs,d=a.clientWidth,e=a.clientHeight;if(!d&&!e)return Jb;var f=Ib(a).getComputedStyle(a),g=ga(f),h=g.left+g.right,i=g.top+g.bottom,j=ea(f.width),k=ea(f.height);if("border-box"===f.boxSizing&&(c(j+h)!==d&&(j-=fa(f,"left","right")+h),c(k+i)!==e&&(k-=fa(f,"top","bottom")+i)),!ja(a)){var l=c(j+h)-d,m=c(k+i)-e;1!==b(l)&&(j-=l),1!==b(m)&&(k-=m)}return ma(g.left,g.top,j,k)}function ja(a){return a===Ib(a).document.documentElement}function ka(a){return Bb?Kb(a)?ha(a):ia(a):Jb}function la(a){var b=a.x,c=a.y,d=a.width,e=a.height,f="undefined"==typeof DOMRectReadOnly?Object:DOMRectReadOnly,g=Object.create(f.prototype);return Hb(g,{x:b,y:c,width:d,height:e,top:c,right:b+d,bottom:e+c,left:b}),g}function ma(a,b,c,d){return{x:a,y:b,width:c,height:d}}var na="undefined"!=typeof window&&null!=window.customElements&&window.customElements.polyfillWrapFlushCallback!==void 0,oa=function(a,b){for(var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;b!==c;){var d=b.nextSibling;a.removeChild(b),b=d}},pa="{{lit-".concat((Math.random()+"").slice(2),"}}"),qa="<!--".concat(pa,"-->"),ra=new RegExp("".concat(pa,"|").concat(qa)),sa="$lit$";class ta{constructor(a,b){this.parts=[],this.element=b;for(var c,d=[],e=[],f=document.createTreeWalker(b.content,133,null,!1),g=0,h=-1,j=0,{strings:k,values:{length:l}}=a;j<l;){if(c=f.nextNode(),null===c){f.currentNode=e.pop();continue}if(h++,1===c.nodeType){if(c.hasAttributes()){for(var m=c.attributes,{length:o}=m,p=0,q=0;q<o;q++)ua(m[q].name,sa)&&p++;for(;0<p--;){var r=k[j],t=xa.exec(r)[2],u=t.toLowerCase()+sa,v=c.getAttribute(u);c.removeAttribute(u);var C=v.split(ra);this.parts.push({type:"attribute",index:h,name:t,strings:C}),j+=C.length-1}}"TEMPLATE"===c.tagName&&(e.push(c),f.currentNode=c.content)}else if(3===c.nodeType){var D=c.data;if(0<=D.indexOf(pa)){for(var w=c.parentNode,x=D.split(ra),y=x.length-1,z=0;z<y;z++){var A=void 0,B=x[z];if(""===B)A=wa();else{var E=xa.exec(B);null!==E&&ua(E[2],sa)&&(B=B.slice(0,E.index)+E[1]+E[2].slice(0,-sa.length)+E[3]),A=document.createTextNode(B)}w.insertBefore(A,c),this.parts.push({type:"node",index:++h})}""===x[y]?(w.insertBefore(wa(),c),d.push(c)):c.data=x[y],j+=y}}else if(8===c.nodeType)if(c.data===pa){var F=c.parentNode;(null===c.previousSibling||h===g)&&(h++,F.insertBefore(wa(),c)),g=h,this.parts.push({type:"node",index:h}),null===c.nextSibling?c.data="":(d.push(c),h--),j++}else for(var G=-1;-1!==(G=c.data.indexOf(pa,G+1));)this.parts.push({type:"node",index:-1}),j++}for(var H of d)H.parentNode.removeChild(H)}}var ua=(a,b)=>{var c=a.length-b.length;return 0<=c&&a.slice(c)===b},va=a=>-1!==a.index,wa=()=>document.createComment(""),xa=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/,ya=a=>{for(var b=11===a.nodeType?0:1,c=document.createTreeWalker(a,133,null,!1);c.nextNode();)b++;return b},za=function(a){for(var b,c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:-1,d=c+1;d<a.length;d++)if(b=a[d],va(b))return d;return-1},Aa=new WeakMap,Ba=a=>function(){var b=a(...arguments);return Aa.set(b,!0),b},Ca=a=>"function"==typeof a&&Aa.has(a),Da={},Ea={};class Fa{constructor(a,b,c){this.__parts=[],this.template=a,this.processor=b,this.options=c}update(a){var b=0;for(var c of this.__parts)void 0!==c&&c.setValue(a[b]),b++;for(var d of this.__parts)void 0!==d&&d.commit()}_clone(){for(var a,b=na?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),c=[],d=this.template.parts,e=document.createTreeWalker(b,133,null,!1),f=0,g=0,h=e.nextNode();f<d.length;){if(a=d[f],!va(a)){this.__parts.push(void 0),f++;continue}for(;g<a.index;)g++,"TEMPLATE"===h.nodeName&&(c.push(h),e.currentNode=h.content),null===(h=e.nextNode())&&(e.currentNode=c.pop(),h=e.nextNode());if("node"===a.type){var i=this.processor.handleTextExpression(this.options);i.insertAfterNode(h.previousSibling),this.__parts.push(i)}else this.__parts.push(...this.processor.handleAttributeExpressions(h,a.name,a.strings,this.options));f++}return na&&(document.adoptNode(b),customElements.upgrade(b)),b}}var Ga=window.trustedTypes&&trustedTypes.createPolicy("lit-html",{createHTML:a=>a}),Ha=" ".concat(pa," ");class Ia{constructor(a,b,c,d){this.strings=a,this.values=b,this.type=c,this.processor=d}getHTML(){for(var a=this.strings.length-1,b="",c=!1,d=0;d<a;d++){var e=this.strings[d],f=e.lastIndexOf("<!--");c=(-1<f||c)&&-1===e.indexOf("-->",f+1);var g=xa.exec(e);b+=null===g?e+(c?Ha:qa):e.substr(0,g.index)+g[1]+g[2]+sa+g[3]+pa}return b+=this.strings[a],b}getTemplateElement(){var a=document.createElement("template"),b=this.getHTML();return void 0!==Ga&&(b=Ga.createHTML(b)),a.innerHTML=b,a}}var Ja=a=>null===a||"object"!=typeof a&&"function"!=typeof a,Ka=a=>Array.isArray(a)||!!(a&&a[Symbol.iterator]);class La{constructor(a,b,c){this.dirty=!0,this.element=a,this.name=b,this.strings=c,this.parts=[];for(var d=0;d<c.length-1;d++)this.parts[d]=this._createPart()}_createPart(){return new Ma(this)}_getValue(){var a=this.strings,b=a.length-1,c=this.parts;if(1===b&&""===a[0]&&""===a[1]){var f=c[0].value;if("symbol"==typeof f)return f+"";if("string"==typeof f||!Ka(f))return f}for(var d="",e=0;e<b;e++){d+=a[e];var g=c[e];if(void 0!==g){var h=g.value;if(Ja(h)||!Ka(h))d+="string"==typeof h?h:h+"";else for(var j of h)d+="string"==typeof j?j:j+""}}return d+=a[b],d}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class Ma{constructor(a){this.value=void 0,this.committer=a}setValue(a){a===Da||Ja(a)&&a===this.value||(this.value=a,!Ca(a)&&(this.committer.dirty=!0))}commit(){for(;Ca(this.value);){var a=this.value;this.value=Da,a(this)}this.value===Da||this.committer.commit()}}class Na{constructor(a){this.value=void 0,this.__pendingValue=void 0,this.options=a}appendInto(a){this.startNode=a.appendChild(wa()),this.endNode=a.appendChild(wa())}insertAfterNode(a){this.startNode=a,this.endNode=a.nextSibling}appendIntoPart(a){a.__insert(this.startNode=wa()),a.__insert(this.endNode=wa())}insertAfterPart(a){a.__insert(this.startNode=wa()),this.endNode=a.endNode,a.endNode=this.startNode}setValue(a){this.__pendingValue=a}commit(){if(null!==this.startNode.parentNode){for(;Ca(this.__pendingValue);){var b=this.__pendingValue;this.__pendingValue=Da,b(this)}var a=this.__pendingValue;a===Da||(Ja(a)?a!==this.value&&this.__commitText(a):a instanceof Ia?this.__commitTemplateResult(a):a instanceof Node?this.__commitNode(a):Ka(a)?this.__commitIterable(a):a===Ea?(this.value=Ea,this.clear()):this.__commitText(a))}}__insert(a){this.endNode.parentNode.insertBefore(a,this.endNode)}__commitNode(a){this.value===a||(this.clear(),this.__insert(a),this.value=a)}__commitText(a){var b=this.startNode.nextSibling;a=null==a?"":a;var c="string"==typeof a?a:a+"";b===this.endNode.previousSibling&&3===b.nodeType?b.data=c:this.__commitNode(document.createTextNode(c)),this.value=a}__commitTemplateResult(a){var b=this.options.templateFactory(a);if(this.value instanceof Fa&&this.value.template===b)this.value.update(a.values);else{var c=new Fa(b,a.processor,this.options),d=c._clone();c.update(a.values),this.__commitNode(d),this.value=c}}__commitIterable(a){Array.isArray(this.value)||(this.value=[],this.clear());var b,c=this.value,d=0;for(var e of a)b=c[d],void 0===b&&(b=new Na(this.options),c.push(b),0===d?b.appendIntoPart(this):b.insertAfterPart(c[d-1])),b.setValue(e),b.commit(),d++;d<c.length&&(c.length=d,this.clear(b&&b.endNode))}clear(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:this.startNode;oa(this.startNode.parentNode,a.nextSibling,this.endNode)}}class Oa{constructor(a,b,c){if(this.value=void 0,this.__pendingValue=void 0,2!==c.length||""!==c[0]||""!==c[1])throw new Error("Boolean attributes can only contain a single expression");this.element=a,this.name=b,this.strings=c}setValue(a){this.__pendingValue=a}commit(){for(;Ca(this.__pendingValue);){var b=this.__pendingValue;this.__pendingValue=Da,b(this)}if(this.__pendingValue!==Da){var a=!!this.__pendingValue;this.value!==a&&(a?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=a),this.__pendingValue=Da}}}class Pa extends La{constructor(a,b,c){super(a,b,c),this.single=2===c.length&&""===c[0]&&""===c[1]}_createPart(){return new Qa(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class Qa extends Ma{}var Ra=!1;(()=>{try{var a={get capture(){return Ra=!0,!1}};window.addEventListener("test",a,a),window.removeEventListener("test",a,a)}catch(a){}})();class Sa{constructor(a,b,c){this.value=void 0,this.__pendingValue=void 0,this.element=a,this.eventName=b,this.eventContext=c,this.__boundHandleEvent=a=>this.handleEvent(a)}setValue(a){this.__pendingValue=a}commit(){for(;Ca(this.__pendingValue);){var d=this.__pendingValue;this.__pendingValue=Da,d(this)}if(this.__pendingValue!==Da){var a=this.__pendingValue,b=this.value,c=null==a||null!=b&&(a.capture!==b.capture||a.once!==b.once||a.passive!==b.passive);c&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),null!=a&&(null==b||c)&&(this.__options=Ta(a),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=a,this.__pendingValue=Da}}handleEvent(a){"function"==typeof this.value?this.value.call(this.eventContext||this.element,a):this.value.handleEvent(a)}}var Ta=a=>a&&(Ra?{capture:a.capture,passive:a.passive,once:a.once}:a.capture),Ua=new Map,Va=new WeakMap,Wa=(a,b,c)=>{var d=Va.get(b);d===void 0&&(oa(b,b.firstChild),Va.set(b,d=new Na(Object.assign({templateFactory:ca},c))),d.appendInto(b)),d.setValue(a),d.commit()};var Xa=new class{handleAttributeExpressions(a,b,c,d){var e=b[0];if("."===e){var g=new Pa(a,b.slice(1),c);return g.parts}if("@"===e)return[new Sa(a,b.slice(1),d.eventContext)];if("?"===e)return[new Oa(a,b.slice(1),c)];var f=new La(a,b,c);return f.parts}handleTextExpression(a){return new Na(a)}};"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.4.1");var Ya=function(a){for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return new Ia(a,c,"html",Xa)},Za=(a,b)=>"".concat(a,"--").concat(b),$a=!0;"undefined"==typeof window.ShadyCSS?$a=!1:"undefined"==typeof window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),$a=!1);var ab,bb=a=>b=>{var c=Za(b.type,a),d=Ua.get(c);void 0===d&&(d={stringsArray:new WeakMap,keyString:new Map},Ua.set(c,d));var e=d.stringsArray.get(b.strings);if(void 0!==e)return e;var f=b.strings.join(pa);if(e=d.keyString.get(f),void 0===e){var g=b.getTemplateElement();$a&&window.ShadyCSS.prepareTemplateDom(g,a),e=new ta(b,g),d.keyString.set(f,e)}return d.stringsArray.set(b.strings,e),e},cb=["html","svg"],db=a=>{cb.forEach(b=>{var c=Ua.get(Za(b,a));c!==void 0&&c.keyString.forEach(a=>{var{element:{content:b}}=a,c=new Set;Array.from(b.querySelectorAll("style")).forEach(a=>{c.add(a)}),e(a,c)})})},eb=new Set,fb=(a,b,c)=>{eb.add(a);var d=!c?document.createElement("template"):c.element,f=b.querySelectorAll("style"),{length:g}=f;if(0===g)return void window.ShadyCSS.prepareTemplateStyles(d,a);for(var h,j=document.createElement("style"),k=0;k<g;k++)h=f[k],h.parentNode.removeChild(h),j.textContent+=h.textContent;db(a);var l=d.content;!c?l.insertBefore(j,l.firstChild):ba(c,j,l.firstChild),window.ShadyCSS.prepareTemplateStyles(d,a);var m=l.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==m)b.insertBefore(m.cloneNode(!0),b.firstChild);else if(!!c){l.insertBefore(j,l.firstChild);var n=new Set;n.add(j),e(c,n)}},gb=(a,b,c)=>{if(!c||"object"!=typeof c||!c.scopeName)throw new Error("The `scopeName` option is required.");var d=c.scopeName,e=Va.has(b),f=$a&&11===b.nodeType&&!!b.host,g=f&&!eb.has(d),h=g?document.createDocumentFragment():b;if(Wa(a,h,Object.assign({templateFactory:bb(d)},c)),g){var i=Va.get(h);Va.delete(h);var j=i.value instanceof Fa?i.value.template:void 0;fb(d,h,j),oa(b,b.firstChild),b.appendChild(h),Va.set(b,i)}!e&&f&&window.ShadyCSS.styleElement(b.host)};window.JSCompiler_renameProperty=a=>a;var hb={toAttribute(a,b){return b===Boolean?a?"":null:b===Object||b===Array?null==a?a:JSON.stringify(a):a},fromAttribute(a,b){return b===Boolean?null!==a:b===Number?null===a?null:+a:b===Object||b===Array?JSON.parse(a):a}},ib=(a,b)=>b!==a&&(b===b||a===a),jb={attribute:!0,type:String,converter:hb,reflect:!1,hasChanged:ib},kb=1,lb=4,mb=8,nb=16,ob="finalized";class pb extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();var a=[];return this._classProperties.forEach((b,c)=>{var d=this._attributeNameForProperty(c,b);void 0!==d&&(this._attributeToPropertyMap.set(d,c),a.push(d))}),a}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;var a=Object.getPrototypeOf(this)._classProperties;a!==void 0&&a.forEach((a,b)=>this._classProperties.set(b,a))}}static createProperty(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:jb;if(this._ensureClassProperties(),this._classProperties.set(a,b),!(b.noAccessor||this.prototype.hasOwnProperty(a))){var c="symbol"==typeof a?Symbol():"__".concat(a),d=this.getPropertyDescriptor(a,c,b);void 0!==d&&Object.defineProperty(this.prototype,a,d)}}static getPropertyDescriptor(a,b,c){return{get(){return this[b]},set(d){var e=this[a];this[b]=d,this.requestUpdateInternal(a,e,c)},configurable:!0,enumerable:!0}}static getPropertyOptions(a){return this._classProperties&&this._classProperties.get(a)||jb}static finalize(){var a=Object.getPrototypeOf(this);if(a.hasOwnProperty(ob)||a.finalize(),this[ob]=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){var b=this.properties,c=[...Object.getOwnPropertyNames(b),...("function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(b):[])];for(var d of c)this.createProperty(d,b[d])}}static _attributeNameForProperty(a,b){var c=b.attribute;return!1===c?void 0:"string"==typeof c?c:"string"==typeof a?a.toLowerCase():void 0}static _valueHasChanged(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:ib;return c(a,b)}static _propertyValueFromAttribute(a,b){var c=b.type,d=b.converter||hb,e="function"==typeof d?d:d.fromAttribute;return e?e(a,c):a}static _propertyValueToAttribute(a,b){if(void 0!==b.reflect){var c=b.type,d=b.converter,e=d&&d.toAttribute||hb.toAttribute;return e(a,c)}}initialize(){this._updateState=0,this._updatePromise=new Promise(a=>this._enableUpdatingResolver=a),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach((a,b)=>{if(this.hasOwnProperty(b)){var c=this[b];delete this[b],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(b,c)}})}_applyInstanceProperties(){this._instanceProperties.forEach((a,b)=>this[b]=a),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){this._enableUpdatingResolver!==void 0&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(a,b,c){b!==c&&this._attributeToProperty(a,c)}_propertyToAttribute(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:jb,d=this.constructor,e=d._attributeNameForProperty(a,c);if(e!==void 0){var f=d._propertyValueToAttribute(b,c);if(f===void 0)return;this._updateState|=mb,null==f?this.removeAttribute(e):this.setAttribute(e,f),this._updateState&=~mb}}_attributeToProperty(a,b){if(!(this._updateState&mb)){var c=this.constructor,d=c._attributeToPropertyMap.get(a);if(void 0!==d){var e=c.getPropertyOptions(d);this._updateState|=nb,this[d]=c._propertyValueFromAttribute(b,e),this._updateState&=~nb}}}requestUpdateInternal(a,b,c){var d=!0;if(a!==void 0){var e=this.constructor;c=c||e.getPropertyOptions(a),e._valueHasChanged(this[a],b,c.hasChanged)?(!this._changedProperties.has(a)&&this._changedProperties.set(a,b),!0===c.reflect&&!(this._updateState&nb)&&(this._reflectingProperties===void 0&&(this._reflectingProperties=new Map),this._reflectingProperties.set(a,c))):d=!1}!this._hasRequestedUpdate&&d&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(a,b){return this.requestUpdateInternal(a,b),this.updateComplete}_enqueueUpdate(){var a=this;return f(function*(){a._updateState|=lb;try{yield a._updatePromise}catch(a){}var b=a.performUpdate();return null!=b&&(yield b),!a._hasRequestedUpdate})()}get _hasRequestedUpdate(){return this._updateState&lb}get hasUpdated(){return this._updateState&kb}performUpdate(){if(this._hasRequestedUpdate){this._instanceProperties&&this._applyInstanceProperties();var a=!1,b=this._changedProperties;try{a=this.shouldUpdate(b),a?this.update(b):this._markUpdated()}catch(b){throw a=!1,this._markUpdated(),b}a&&(!(this._updateState&kb)&&(this._updateState|=kb,this.firstUpdated(b)),this.updated(b))}}_markUpdated(){this._changedProperties=new Map,this._updateState&=~lb}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}shouldUpdate(){return!0}update(){this._reflectingProperties!==void 0&&0<this._reflectingProperties.size&&(this._reflectingProperties.forEach((a,b)=>this._propertyToAttribute(b,this[b],a)),this._reflectingProperties=void 0),this._markUpdated()}updated(){}firstUpdated(){}}ab=ob,pb[ab]=!0;var qb=Element.prototype,rb=qb.msMatchesSelector||qb.webkitMatchesSelector,sb=window.ShadowRoot&&(window.ShadyCSS===void 0||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,tb=Symbol();class ub{constructor(a,b){if(b!==tb)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=a}get styleSheet(){return void 0===this._styleSheet&&(sb?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}var vb=a=>new ub(a+"",tb),wb=a=>{if(a instanceof ub)return a.cssText;if("number"==typeof a)return a;throw new Error("Value passed to 'css' function must be a 'css' function result: ".concat(a,". Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security."))},xb=function(a){for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];var e=c.reduce((b,c,d)=>b+wb(c)+a[d+1],a[0]);return new ub(e,tb)};(window.litElementVersions||(window.litElementVersions=[])).push("2.5.1");var yb={};class zb extends pb{static getStyles(){return this.styles}static _getUniqueStyles(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_styles",this))){var a=this.getStyles();if(Array.isArray(a)){var b=(a,c)=>a.reduceRight((a,c)=>Array.isArray(c)?b(c,a):(a.add(c),a),c),c=b(a,new Set),d=[];c.forEach(a=>d.unshift(a)),this._styles=d}else this._styles=void 0===a?[]:[a];this._styles=this._styles.map(a=>{if(a instanceof CSSStyleSheet&&!sb){var b=Array.prototype.slice.call(a.cssRules).reduce((a,b)=>a+b.cssText,"");return vb(b)}return a})}}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow(this.constructor.shadowRootOptions)}adoptStyles(){var a=this.constructor._styles;0===a.length||(window.ShadyCSS===void 0||window.ShadyCSS.nativeShadow?sb?this.renderRoot.adoptedStyleSheets=a.map(a=>a instanceof CSSStyleSheet?a:a.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(a.map(a=>a.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&window.ShadyCSS!==void 0&&window.ShadyCSS.styleElement(this)}update(a){var b=this.render();super.update(a),b!==yb&&this.constructor.render(b,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(a=>{var b=document.createElement("style");b.textContent=a.cssText,this.renderRoot.appendChild(b)}))}render(){return yb}}zb.finalized=!0,zb.render=gb,zb.shadowRootOptions={mode:"open"};var Ab=function(){function a(a,b){var c=-1;return a.some(function(a,d){return a[0]===b&&(c=d,!0)}),c}return"undefined"==typeof Map?function(){function b(){this.__entries__=[]}return Object.defineProperty(b.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),b.prototype.get=function(b){var c=a(this.__entries__,b),d=this.__entries__[c];return d&&d[1]},b.prototype.set=function(b,c){var d=a(this.__entries__,b);~d?this.__entries__[d][1]=c:this.__entries__.push([b,c])},b.prototype.delete=function(b){var c=this.__entries__,d=a(c,b);~d&&c.splice(d,1)},b.prototype.has=function(b){return!!~a(this.__entries__,b)},b.prototype.clear=function(){this.__entries__.splice(0)},b.prototype.forEach=function(a,b){void 0===b&&(b=null);for(var c,d=0,e=this.__entries__;d<e.length;d++)c=e[d],a.call(b,c[1],c[0])},b}():Map}(),Bb="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,Cb=function(){return"undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")()}(),Db=function(){return"function"==typeof requestAnimationFrame?requestAnimationFrame.bind(Cb):function(a){return setTimeout(function(){return a(Date.now())},1e3/60)}}(),Eb=["top","right","bottom","left","width","height","size","weight"],Fb="undefined"!=typeof MutationObserver,Gb=function(){function a(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=da(this.refresh.bind(this),20)}return a.prototype.addObserver=function(a){~this.observers_.indexOf(a)||this.observers_.push(a),this.connected_||this.connect_()},a.prototype.removeObserver=function(a){var b=this.observers_,c=b.indexOf(a);~c&&b.splice(c,1),!b.length&&this.connected_&&this.disconnect_()},a.prototype.refresh=function(){var a=this.updateObservers_();a&&this.refresh()},a.prototype.updateObservers_=function(){var a=this.observers_.filter(function(a){return a.gatherActive(),a.hasActive()});return a.forEach(function(a){return a.broadcastActive()}),0<a.length},a.prototype.connect_=function(){!Bb||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Fb?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},a.prototype.disconnect_=function(){Bb&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},a.prototype.onTransitionEnd_=function(a){var b=a.propertyName,c=void 0===b?"":b,d=Eb.some(function(a){return!!~c.indexOf(a)});d&&this.refresh()},a.getInstance=function(){return this.instance_||(this.instance_=new a),this.instance_},a.instance_=null,a}(),Hb=function(a,b){for(var c,d=0,e=Object.keys(b);d<e.length;d++)c=e[d],Object.defineProperty(a,c,{value:b[c],enumerable:!1,writable:!1,configurable:!0});return a},Ib=function(a){var b=a&&a.ownerDocument&&a.ownerDocument.defaultView;return b||Cb},Jb=ma(0,0,0,0),Kb=function(){return"undefined"==typeof SVGGraphicsElement?function(a){return a instanceof Ib(a).SVGElement&&"function"==typeof a.getBBox}:function(a){return a instanceof Ib(a).SVGGraphicsElement}}(),Lb=function(){function a(a){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=ma(0,0,0,0),this.target=a}return a.prototype.isActive=function(){var a=ka(this.target);return this.contentRect_=a,a.width!==this.broadcastWidth||a.height!==this.broadcastHeight},a.prototype.broadcastRect=function(){var a=this.contentRect_;return this.broadcastWidth=a.width,this.broadcastHeight=a.height,a},a}(),Mb=function(){return function(a,b){var c=la(b);Hb(this,{target:a,contentRect:c})}}(),Nb=function(){function a(a,b,c){if(this.activeObservations_=[],this.observations_=new Ab,"function"!=typeof a)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=a,this.controller_=b,this.callbackCtx_=c}return a.prototype.observe=function(a){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(a instanceof Ib(a).Element))throw new TypeError("parameter 1 is not of type \"Element\".");var b=this.observations_;b.has(a)||(b.set(a,new Lb(a)),this.controller_.addObserver(this),this.controller_.refresh())}},a.prototype.unobserve=function(a){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(a instanceof Ib(a).Element))throw new TypeError("parameter 1 is not of type \"Element\".");var b=this.observations_;b.has(a)&&(b.delete(a),!b.size&&this.controller_.removeObserver(this))}},a.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},a.prototype.gatherActive=function(){var a=this;this.clearActive(),this.observations_.forEach(function(b){b.isActive()&&a.activeObservations_.push(b)})},a.prototype.broadcastActive=function(){if(this.hasActive()){var a=this.callbackCtx_,b=this.activeObservations_.map(function(a){return new Mb(a.target,a.broadcastRect())});this.callback_.call(a,b,a),this.clearActive()}},a.prototype.clearActive=function(){this.activeObservations_.splice(0)},a.prototype.hasActive=function(){return 0<this.activeObservations_.length},a}(),Ob="undefined"==typeof WeakMap?new Ab:new WeakMap,Pb=function(){function a(b){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var c=Gb.getInstance(),d=new Nb(b,c,this);Ob.set(this,d)}return a}();["observe","unobserve","disconnect"].forEach(function(a){Pb.prototype[a]=function(){var b;return(b=Ob.get(this))[a].apply(b,arguments)}});var Qb=function(){return"undefined"==typeof Cb.ResizeObserver?Pb:Cb.ResizeObserver}();class Rb{constructor(a){this.classes=new Set,this.changed=!1,this.element=a;var b=(a.getAttribute("class")||"").split(/\s+/);for(var c of b)this.classes.add(c)}add(a){this.classes.add(a),this.changed=!0}remove(a){this.classes.delete(a),this.changed=!0}commit(){if(this.changed){var a="";this.classes.forEach(b=>a+=b+" "),this.element.setAttribute("class",a)}}}var Sb=new WeakMap,Tb=Ba(a=>b=>{if(!(b instanceof Ma)||b instanceof Qa||"class"!==b.committer.name||1<b.committer.parts.length)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");var{committer:c}=b,{element:d}=c,e=Sb.get(b);void 0===e&&(d.setAttribute("class",c.strings.join(" ")),Sb.set(b,e=new Set));var f=d.classList||new Rb(d);for(var g in e.forEach(b=>{b in a||(f.remove(b),e.delete(b))}),a){var h=a[g];h!=e.has(g)&&(h?(f.add(g),e.add(g)):(f.remove(g),e.delete(g)))}"function"==typeof f.commit&&f.commit()}),Ub=new WeakMap,Vb=Ba(a=>b=>{if(!(b instanceof Ma)||b instanceof Qa||"style"!==b.committer.name||1<b.committer.parts.length)throw new Error("The `styleMap` directive must be used in the style attribute and must be the only part in the attribute.");var{committer:c}=b,{style:d}=c.element,e=Ub.get(b);for(var f in void 0===e&&(d.cssText=c.strings.join(" "),Ub.set(b,e=new Set)),e.forEach(b=>{b in a||(e.delete(b),-1===b.indexOf("-")?d[b]=null:d.removeProperty(b))}),a)e.add(f),-1===f.indexOf("-")?d[f]=a[f]:d.setProperty(f,a[f])}),Wb=xb(g||(g=d(["\n :host {\n overflow: visible !important;\n display: block;\n --mc-scale: var(--mini-climate-scale, 1);\n --mc-unit: calc(var(--mc-scale) * 40px);\n --mc-name-font-weight: var(--mini-climate-name-font-weight, 400);\n --mc-info-font-weight: var(--mini-climate-info-font-weight, 300);\n --mc-entity-info-left-offset: 8px;\n --mc-accent-color: var(--mini-climate-accent-color, var(--accent-color, #f39c12));\n --mc-text-color: var(--mini-climate-base-color, var(--primary-text-color, #000));\n --mc-active-color: var(--mc-accent-color);\n --mc-button-color: var(--mini-climate-button-color, var(--paper-item-icon-color, #44739e));\n --mc-icon-color:\n var(--mini-climate-icon-color,\n var(--mini-climate-base-color,\n var(--paper-item-icon-color, #44739e)));\n --mc-icon-active-color: var(--paper-item-icon-active-color, --mc-active-color);\n --mc-info-opacity: 1;\n --mc-bg-opacity: var(--mini-climate-background-opacity, 1);\n color: var(--mc-text-color);\n --mc-dropdown-unit: calc(var(--mc-unit) * .75);\n --paper-item-min-height: var(--mc-unit);\n --mdc-icon-button-size: calc(var(--mc-unit) * 0.75);\n }\n ha-card.--group {\n box-shadow: none;\n }\n ha-card.--bg {\n --mc-info-opacity: .75;\n }\n ha-card {\n cursor: default;\n display: flex;\n background: transparent;\n overflow: visible;\n padding: 0;\n position: relative;\n color: inherit;\n font-size: calc(var(--mc-unit) * 0.35);\n }\n ha-card:before {\n content: '';\n padding-top: 0px;\n transition: padding-top .5s cubic-bezier(.21,.61,.35,1);\n will-change: padding-top;\n }\n header {\n display: none;\n }\n .mc__bg {\n background: var(--ha-card-background, var(--card-background-color, var(--paper-card-background-color, white)));\n position: absolute;\n top: 0; right: 0; bottom: 0; left: 0;\n overflow: hidden;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: var(--mc-bg-opacity);\n border-radius: var(--ha-card-border-radius, 0);\n }\n ha-card.--group .mc__bg {\n background: none;\n }\n .mc-climate {\n align-self: flex-end;\n box-sizing: border-box;\n position: relative;\n padding: 16px 16px 0px 16px;\n transition: padding .25s ease-out;\n width: 100%;\n will-change: padding;\n }\n .flex {\n display: flex;\n display: -ms-flexbox;\n display: -webkit-flex;\n flex-direction: row;\n }\n .mc-climate__core {\n position: relative;\n padding-right: 5px;\n }\n .entity__info {\n user-select: none;\n margin-left: var(--mc-entity-info-left-offset);\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n }\n .entity__icon {\n color: var(--mc-icon-color);\n white-space: nowrap;\n }\n .entity__icon[color] {\n color: var(--mc-icon-active-color);\n }\n .entity__icon {\n animation: fade-in .25s ease-out;\n background-position: center center;\n background-repeat: no-repeat;\n background-size: cover;\n border-radius: 100%;\n height: var(--mc-unit);\n width: var(--mc-unit);\n min-width: var(--mc-unit);\n line-height: var(--mc-unit);\n margin-right: calc(var(--mc-unit) / 5);\n position: relative;\n text-align: center;\n will-change: border-color;\n transition: border-color .25s ease-out;\n }\n .entity__info__name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: calc(var(--mc-unit) / 2);\n color: var(--mc-text-color);\n font-weight: var(--mc-name-font-weight);\n }\n .entity__secondary_info {\n margin-top: -2px;\n }\n ha-card.--initial .mc-climate {\n padding: 16px 16px 5px 16px;\n }\n ha-card.--unavailable .mc-climate {\n padding: 16px;\n }\n ha-card.--group .mc-climate {\n padding: 2px 0 0 0;\n }\n .toggle-button {\n width: calc(var(--mc-unit) * .75);\n height: calc(var(--mc-unit) * .75);\n --mdc-icon-button-size: calc(var(--mc-unit) * .75);\n color: var(--mc-icon-color);\n margin-left: auto;\n margin-top: calc(var(--mc-unit) * -.125);\n margin-right: calc(var(--mc-unit) * .05);\n }\n .toggle-button.open {\n transform: rotate(180deg);\n color: var(--mc-active-color)\n }\n .wrap {\n display: flex;\n flex-direction: row;\n }\n .entity__controls {\n margin-left: auto;\n display: flex;\n white-space: nowrap;\n margin-top: calc(var(--mc-unit) * -.25);\n }\n .ctl-wrap {\n display: flex;\n flex-direction: row;\n margin-left: auto;\n margin-top: auto;\n margin-bottom: 0;\n }\n .bottom {\n margin-top: calc(var(--mc-unit) * .05);\n height: calc(var(--mc-unit) * .625);;\n }\n .entity__info__name_wrap {\n margin-right: 10px;\n max-width: calc(calc(var(--mc-card-width) - 191.3px) / 1.43);\n min-width: calc(var(--mc-unit) * 2.5);\n cursor: pointer;\n height: var(--mc-unit);\n }\n mc-buttons {\n width: 100%;\n justify-content: space-evenly;\n display: flex;\n }\n mc-temperature {\n min-width: 0;\n }\n .--unavailable .ctl-wrap {\n margin-left: auto;\n margin-top: auto;\n margin-bottom: auto;\n }\n .--unavailable .entity__info {\n margin-top: auto;\n margin-bottom: auto;\n }\n .mc-toggle_content {\n margin-top: calc(var(--mc-unit) * .05);\n }\n .ctl-wrap mc-dropdown, .ctl-wrap mc-button {\n min-width: calc(var(--mc-unit) * .75);\n margin-right: 3px;\n }\n .ctl-wrap mc-button {\n width: calc(var(--mc-unit) * 0.75);\n height: calc(var(--mc-unit) * 0.75);\n }\n"]))),Xb=xb(h||(h=d(["\n .ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .label {\n margin: 0 8px;\n }\n ha-icon {\n width: calc(var(--mc-unit) * .6);\n height: calc(var(--mc-unit) * .6);\n }\n ha-icon-button {\n color: var(--mc-button-color);\n transition: color .25s;\n }\n ha-icon-button[color] {\n color: var(--mc-icon-active-color) !important;\n opacity: 1 !important;\n }\n ha-icon-button[inactive] {\n opacity: .5;\n }\n"]))),Yb=(a,c,d,f)=>{var g;if(d)switch(d.action){case"more-info":{g=new Event("hass-more-info",{composed:!0}),g.detail={entityId:d.entity||f},a.dispatchEvent(g);break}case"navigate":{if(!d.navigation_path)return;window.history.pushState(null,"",d.navigation_path),g=new Event("location-changed",{composed:!0}),g.detail={replace:!1},window.dispatchEvent(g);break}case"call-service":{if(!d.service)return;var[h,i]=d.service.split(".",2),j=b({},d.service_data);c.callService(h,i,j);break}case"url":{if(!d.url)return;window.location.href=d.url}}},Zb=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:"unknown",d=a.selectedLanguage||a.language,e=a.resources[d];if(!e)return c;for(var f,g=0;g<b.length;g+=1)if(f=b[g],e[f])return e[f];return c};console.info("%c MINI-CLIMATE-CARD %c ".concat("v1.2.8"," "),"color: white; background: coral; font-weight: 700;","color: coral; background: white; font-weight: 700;");var $b={DEFAULT:"mdi:air-conditioner",FAN:"mdi:fan",OFF:"mdi:power",HEAT:"mdi:weather-sunny",AUTO:"mdi:cached",COOL:"mdi:snowflake",DRY:"mdi:water",FAN_ONLY:"mdi:fan",TOGGLE:"mdi:dots-horizontal",UP:"mdi:chevron-up",DOWN:"mdi:chevron-down"},_b=["closed","locked","off"],ac=["unavailable","unknown"],bc=["more-info","navigate","call-service","url"],cc="-";class dc extends zb{static get properties(){return{indicators:{type:Object}}}handlePopup(a,b){a.stopPropagation(),Yb(this,b.hass,b.config.tap_action,b.entity.entity_id)}renderIcon(a){var{icon:b}=a;return b?Ya(i||(i=d(["<ha-icon style="," class='state__value_icon' .icon=","></ha-icon>"])),Vb(a.iconStyle),b):""}renderUnit(a){return a?Ya(j||(j=d(["<span class='state__uom'>","</span>"])),a):""}renderIndicator(a){if(!a)return"";var b=a.config&&a.config.tap_action&&a.config.tap_action.action,c=b&&bc.includes(b)?"pointer":"";return Ya(k||(k=d(["\n <div class='state ","' @click=",">\n ","\n <span class='state__value'>","</span>\n ","\n </div>\n "])),c,b=>this.handlePopup(b,a),this.renderIcon(a),a.value,this.renderUnit(a.unit))}render(){var a=this;return Ya(l||(l=d(["\n <div class='mc-indicators__container'>\n ","\n </div>\n "])),Object.entries(this.indicators).map(b=>a.renderIndicator(b[1])))}static get styles(){return xb(m||(m=d(["\n :host {\n position: relative;\n box-sizing: border-box;\n font-size: calc(var(--mc-unit) * .35);\n line-height: calc(var(--mc-unit) * .35);\n }\n .mc-indicators__container {\n display: flex;\n flex-wrap: wrap;\n margin-right: calc(var(--mc-unit) * .075);\n }\n .state {\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n margin-right: calc(var(--mc-unit) * .1);\n }\n .pointer {\n cursor: pointer\n }\n .state__value_icon {\n height: calc(var(--mc-unit) * .475);\n width: calc(var(--mc-unit) * .5);\n color: var(--mc-icon-color);\n --mdc-icon-size: calc(var(--mc-unit) * 0.5);\n }\n .state__value {\n margin: 0 1px;\n font-weight: var(--mc-info-font-weight);\n line-height: calc(var(--mc-unit) * .475);\n }\n .state__uom {\n font-size: calc(var(--mc-unit) * .275);\n line-height: calc(var(--mc-unit) * .525);\n margin-left: 1px;\n height: calc(var(--mc-unit) * .475);\n opacity: 0.8;\n }\n "])))}}customElements.define("mc-indicators",dc);class ec extends zb{static get properties(){return{items:[],label:String,selected:String,icon:String,active:Boolean,disabled:Boolean}}get selectedId(){return this.items.map(a=>a.id).indexOf(this.selected)}onChange(a){var b=a.target.selected;b!==this.selectedId&&this.items[b]&&(this.dispatchEvent(new CustomEvent("change",{detail:this.items[b]})),a.target.selected=-1)}render(){return Ya(n||(n=d(["\n <paper-menu-button\n class='mc-dropdown'\n noink no-animations\n .horizontalAlign=","\n .verticalAlign=","\n .verticalOffset=","\n .dynamicAlign=","\n ?disabled=","\n @click=",">\n <ha-icon-button class='mc-dropdown__button icon' slot='dropdown-trigger'\n .icon=","\n ?disabled=","\n ?color=",">\n <ha-icon .icon=","></ha-icon>\n </ha-icon-button>\n <paper-listbox slot=\"dropdown-content\" .selected="," @iron-select=",">\n ","\n </paper-listbox>\n </paper-menu-button>\n "])),"right","top",44,!0,this.disabled,a=>a.stopPropagation(),this.icon,this.disabled,this.active,this.icon,this.selectedId,this.onChange,this.items.map(a=>Ya(o||(o=d(["\n <paper-item value=",">\n <span class='mc-dropdown__item__label'>","</span>\n </paper-item>"])),a.id||a.name,a.name)))}static get styles(){return[Xb,xb(p||(p=d(["\n :host {\n position: relative;\n overflow: hidden;\n --paper-item-min-height: 40px;\n }\n paper-menu-button\n :host([disabled]) {\n opacity: .25;\n pointer-events: none;\n }\n :host([faded]) {\n opacity: .75;\n }\n .mc-dropdown {\n padding: 0;\n display: block;\n }\n ha-icon-button[disabled] {\n opacity: .25;\n pointer-events: none;\n }\n .mc-dropdown__button.icon {\n margin: 0;\n }\n ha-icon-button {\n width: calc(var(--mc-dropdown-unit));\n height: calc(var(--mc-dropdown-unit));\n --mdc-icon-button-size: calc(var(--mc-dropdown-unit));\n }\n paper-item > *:nth-child(2) {\n margin-left: 4px;\n }\n paper-menu-button[focused] ha-icon-button {\n color: var(--mc-accent-color);\n }\n paper-menu-button[focused] ha-icon-button[focused] {\n color: var(--mc-text-color);\n transform: rotate(0deg);\n }\n "])))]}}customElements.define("mc-dropdown-base",ec);class fc extends zb{constructor(){super(),this.mode={}}static get properties(){return{mode:{type:Object}}}get calcIcon(){if(this.selected){if(this.selected.icon)return this.selected.icon;if(void 0!==this.selected.id&&null!==this.selected.id){var a=this.selected.id.toString().toUpperCase();if(a in $b)return $b[a]}}return""}get selected(){return this.mode.source.find(a=>a.id===this.mode.state)||{}}get sources(){return this.mode.source.filter(a=>!a.hide).map(a=>({name:a.name,id:a.id,type:"source"}))}handleChange(a){a.stopPropagation();var b=a.detail.id;this.mode.handleChange(b)}render(){return Ya(q||(q=d(["\n <mc-dropdown-base\n @change=","\n .items=","\n .icon=","\n style=","\n .active=","\n .selected=",">\n </mc-dropdown-base>\n "])),this.handleChange,this.sources,this.calcIcon,Vb(this.mode.style),this.mode.isActive(this.mode.state),this.selected.id)}static get styles(){return xb(r||(r=d(["\n :host {\n min-width: calc(var(--mc-unit) * .85);\n --mc-dropdown-unit: calc(var(--mc-unit) * .75);\n --paper-item-min-height: var(--mc-unit);\n }\n "])))}}customElements.define("mc-mode-menu",fc);class gc extends zb{constructor(){super(),this.dropdown={},this.timer=void 0,this._state=void 0}static get properties(){return{dropdown:{type:Object}}}handleChange(a){var b=this;a.stopPropagation();var c=a.detail.id,{entity:d}=this.dropdown;return this._state=c,this.dropdown.handleChange(c),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(f(function*(){if(b.dropdown.entity===d)return b._state=void 0!==b.dropdown.state&&null!==b.dropdown.state?b.dropdown.state.toString():"",b.requestUpdate("_state")}),this.dropdown.actionTimeout),this.requestUpdate("_state")}render(){return Ya(s||(s=d(["\n <mc-dropdown-base\n style=","\n @change=","\n .items=","\n .icon=","\n .disabled=\"","\"\n .active=","\n .selected=",">\n </mc-dropdown-base>\n "])),Vb(this.dropdown.style),a=>this.handleChange(a),this.dropdown.source,this.dropdown.icon,this.dropdown.disabled,this.dropdown.isActive(this._state),this._state)}updated(a){if(a.has("dropdown"))return this._state=void 0!==this.dropdown.state&&null!==this.dropdown.state?this.dropdown.state.toString():"",this.timer&&clearTimeout(this.timer),this.requestUpdate("_state")}static get styles(){return[Xb,xb(t||(t=d(["\n :host {\n position: relative;\n box-sizing: border-box;\n margin: 0;\n overflow: hidden;\n transition: background .5s;\n }\n :host([color]) {\n background: var(--mc-active-color);\n transition: background .25s;\n opacity: 1;\n }\n :host([disabled]) {\n opacity: .25;\n pointer-events: none;\n }\n "])))]}}customElements.define("mc-dropdown",gc);class hc extends zb{constructor(){super(),this._isOn=!1,this.timer=void 0}static get properties(){return{button:{type:Object}}}handleToggle(a){var b=this;a.stopPropagation();var{entity:c}=this.button;return this._isOn=!this._isOn,this.button.handleToggle(),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(f(function*(){if(b.button.entity===c)return b._isOn=b.button.isOn,b.requestUpdate("_isOn")}),this.button.actionTimeout),this.requestUpdate("_isOn")}render(){return Ya(u||(u=d(["\n <ha-icon-button\n style=","\n .icon=","\n @click=","\n ?disabled=\"","\"\n ?color=",">\n <ha-icon .icon=","></ha-icon>\n </ha-icon-button>\n "])),Vb(this.button.style),this.button.icon,a=>this.handleToggle(a),this.button.disabled||this.button.isUnavailable,this._isOn,this.button.icon)}updated(a){if(a.has("button"))return this._isOn=this.button.isOn,this.timer&&clearTimeout(this.timer),this.requestUpdate("_isOn")}static get styles(){return[Xb,xb(v||(v=d(["\n :host {\n position: relative;\n box-sizing: border-box;\n margin: 0;\n overflow: hidden;\n transition: background .5s;\n }\n :host([color]) {\n background: var(--mc-active-color);\n transition: background .25s;\n opacity: 1;\n }\n :host([disabled]) {\n opacity: .25;\n pointer-events: none;\n }\n "])))]}}customElements.define("mc-button",hc);class ic extends zb{static get properties(){return{buttons:{}}}renderButton(a){return a.isUnavailable?"":Ya(w||(w=d(["\n <mc-button\n class=\"custom-button\"\n .button=",">\n </mc-button>\n "])),a)}renderDropdown(a){return Ya(x||(x=d(["\n <mc-dropdown\n .dropdown=",">\n </mc-dropdown>\n "])),a)}renderInternal(a){return"dropdown"===a.type?this.renderDropdown(a):this.renderButton(a)}render(){var a=this;return Ya(y||(y=d(["",""])),Object.entries(this.buttons).map(a=>a[1]).filter(a=>"main"!==a.location&&!a.hide).sort((c,a)=>c.order>a.order?1:a.order>c.order?-1:0).map(b=>a.renderInternal(b)))}static get styles(){return[Xb,xb(z||(z=d(["\n :host {\n position: relative;\n box-sizing: border-box;\n margin: 0;\n overflow: hidden;\n transition: background .5s;\n --paper-item-min-height: var(--mc-unit);\n --mc-dropdown-unit: var(--mc-unit);\n --mdc-icon-button-size: calc(var(--mc-unit));\n }\n :host([color]) {\n background: var(--mc-active-color);\n transition: background .25s;\n opacity: 1;\n }\n :host([disabled]) {\n opacity: .25;\n pointer-events: none;\n }\n mc-button {\n width: calc(var(--mc-unit));\n height: calc(var(--mc-unit));\n }\n "])))]}}customElements.define("mc-buttons",ic);class jc extends zb{static get properties(){return{temperature:Object,changing:Boolean,target:Number}}get targetStr(){var a=this.temperature.step.toString().split(".");return a[1]?parseFloat(this.target.toString()).toFixed(a[1].length):this.target}renderTemperature(){return void 0===this.temperature.value?"":Ya(A||(A=d(["\n <span class='state__value'>/</span>\n <span class='state__value'>","</span>"])),this.temperature.value)}render(){if(!this.temperature)return"";var a=this.changing?"changing":"",{unit:b}=this.temperature;return Ya(B||(B=d(["\n <div class='state ellipsis'>\n <span class='state__value ","'>","</span>\n ","\n <span class='state__uom'>","</span>\n </div>\n "])),a,this.targetStr,this.renderTemperature(),b)}static get styles(){return xb(C||(C=d(["\n .state {\n margin-top:calc(var(--mc-unit) * .15);\n }\n .state__value {\n font-weight: var(--mc-info-font-weight);\n line-height: calc(var(--mc-unit) * .475);\n font-size: calc(var(--mc-unit) * .475);\n }\n .state__uom {\n font-size: calc(var(--mc-unit) * 0.35);\n font-weight: var(--mc-name-font-weight);\n opacity: 0.6;\n line-height: calc(var(--mc-unit) * 0.475);\n }\n .ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .changing {\n color: var(--mc-accent-color);\n }\n "])))}}customElements.define("mc-temperature",jc);class kc extends zb{constructor(){super(),this.timeout=800}static get properties(){return{targetTemperature:{type:Object}}}increment(a){a.stopPropagation();var b=this.targetTemperature.increment();b&&(this.temp_last_changed=Date.now(),this.targetTemperatureChanged())}decrement(a){a.stopPropagation();var b=this.targetTemperature.decrement();b&&(this.temp_last_changed=Date.now(),this.targetTemperatureChanged())}sendChangeEvent(a){var b=new CustomEvent("changing",{detail:{changing:a}});this.dispatchEvent(b)}targetTemperatureChanged(){this.temp_last_changed&&(this.sendChangeEvent(!0),window.setTimeout(()=>{var a=Date.now();if(a-this.temp_last_changed>=this.timeout){var{value:b}=this.targetTemperature;try{this.targetTemperature.update(b)}finally{this.sendChangeEvent(!1),this.temp_last_changed=null}}},this.timeout+10))}render(){return this.targetTemperature?Ya(D||(D=d(["\n <div class='controls-wrap'>\n <ha-icon-button class='temp --up'\n .icon=","\n @click=",">\n <ha-icon .icon=","></ha-icon>\n </ha-icon-button>\n <ha-icon-button class='temp --down'\n .icon=","\n @click=",">\n <ha-icon .icon=","></ha-icon>\n </ha-icon-button>\n </div>\n "])),this.targetTemperature.icons.up,a=>this.increment(a),this.targetTemperature.icons.up,this.targetTemperature.icons.down,a=>this.decrement(a),this.targetTemperature.icons.down):""}static get styles(){return xb(E||(E=d(["\n .controls-wrap {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n .temp {\n width: calc(var(--mc-unit) * .75);\n height: calc(var(--mc-unit) * .75);\n --mdc-icon-button-size: calc(var(--mc-unit) * .75);\n color: var(--mc-icon-color);\n }\n .temp.--up {\n margin-top: -2px;\n }\n .temp.--down {\n margin-top: -2px;\n }\n .temp.--down {\n margin-top: auto;\n }\n "])))}}customElements.define("mc-target-temperature",kc);class lc extends zb{constructor(){super(),this.fanMode={},this.config={},this.timer=void 0,this._selected={},this.source={}}static get properties(){return{fanMode:{type:Object},config:{type:Object}}}get selectedIndex(){return this.fanMode.source.map(a=>a.id).indexOf(this._selected.id)}handleChange(a){var b=this,c=a.target.selected;if(c!==this.selectedIndex&&this.fanMode.source[c]){clearTimeout(this.timer);var d=this.fanMode.source[c],{entity:e}=this.fanMode,g=this._selected;return this._selected=d,this.timer=setTimeout(f(function*(){if(b.fanMode.entity===e)return b._selected=g,b.requestUpdate("_selected")}),this.fanMode.actionTimeout),this.fanMode.handleChange(d.id),this.requestUpdate("_selected")}}renderFanMode(){var a=this._selected?this._selected.name:this.fanMode.state,b=this.config.secondary_info.icon?this.config.secondary_info.icon:this.fanMode.icon;return Ya(F||(F=d(["\n <ha-icon class='icon' .icon=","></ha-icon>\n <span class='name'>","</span>\n "])),b,a)}renderFanModeDropdown(){return Ya(G||(G=d(["\n <paper-menu-button\n class='mc-dropdown'\n noink no-animations\n .horizontalAlign=","\n .verticalAlign=","\n .verticalOffset=","\n ?disabled=","\n .dynamicAlign=",">\n <div class=\"wrap\" slot='dropdown-trigger'>\n ","\n </div>\n <paper-listbox slot=\"dropdown-content\" .selected="," @iron-select=",">\n ","\n </paper-listbox>\n </paper-menu-button>\n "])),"right","top",44,this.fanMode.disabled,!0,this.renderFanMode(),this.selectedIndex,this.handleChange,this.fanMode.source.map(a=>Ya(H||(H=d(["\n <paper-item value=",">\n <span class='mc-dropdown__item__label'>","</span>\n </paper-item>"])),a.id||a.name,a.name)))}render(){var{type:a}=this.config.secondary_info;return"fan-mode-dropdown"===a?this.renderFanModeDropdown():this.renderFanMode()}updated(a){a.has("fanMode")&&(clearTimeout(this.timer),this._selected=this.fanMode.selected,this.requestUpdate("_selected").then())}static get styles(){return[Xb,xb(I||(I=d(["\n paper-menu-button {\n padding: 0;\n }\n .name {\n font-size: calc(var(--mc-unit) * .35);\n font-weight: var(--mc-info-font-weight);\n line-height: calc(var(--mc-unit) * .5);\n vertical-align: middle;\n display: inline-block;\n }\n .icon {\n color: var(--mc-icon-color);\n height: calc(var(--mc-unit) * .475);\n width: calc(var(--mc-unit) * .5);\n min-width: calc(var(--mc-unit) * .5);\n --mdc-icon-size: calc(var(--mc-unit) * 0.5);\n }\n "])))]}}customElements.define("mc-fan-mode-secondary",lc);class mc extends zb{constructor(){super(),this.fanMode={},this.hvacMode={},this.config={},this.climate={}}static get properties(){return{fanMode:{type:Object},config:{type:Object},hvacMode:{type:Object},climate:{type:Object}}}renderHvacAction(){var a=this.climate.hvacAction;if(!a)return"";var b=a.icon?a.icon:this.config.secondary_info.icon,c=b?"":"gray";return Ya(J||(J=d(["\n ","\n <span class='name ","'>","</span>\n "])),b?Ya(K||(K=d(["<ha-icon class='icon' .icon=","></ha-icon>"])),b):"",c,a.name)}renderHvacMode(){var{hvacMode:a}=this,b=a.selected||{},c=b.icon?b.icon:this.config.secondary_info.icon;return Ya(L||(L=d(["\n ","\n <span class='name'>","</span>\n "])),c?Ya(M||(M=d(["<ha-icon class='icon' .icon=","></ha-icon>"])),c):"",b.name)}render(){var{type:a}=this.config.secondary_info;return"hvac-mode"===a?this.renderHvacMode():"hvac-action"===a?this.renderHvacAction():"last-changed"===a?Ya(N||(N=d(["<ha-relative-time .hass="," .datetime=","></ha-relative-time>"])),this.climate.hass,this.climate.lastChanged):Ya(O||(O=d(["<mc-fan-mode-secondary .fanMode="," .config=","></mc-fan-mode-secondary>"])),this.fanMode,this.config)}static get styles(){return[Xb,xb(P||(P=d(["\n ha-relative-time, .gray {\n color: #727272;\n }\n .name {\n font-size: calc(var(--mc-unit) * .35);\n font-weight: var(--mc-info-font-weight);\n line-height: calc(var(--mc-unit) * .5);\n vertical-align: middle;\n display: inline-block;\n }\n .icon {\n color: var(--mc-icon-color);\n height: calc(var(--mc-unit) * .475);\n width: calc(var(--mc-unit) * .5);\n min-width: calc(var(--mc-unit) * .5);\n --mdc-icon-size: calc(var(--mc-unit) * 0.5);\n }\n "])))]}}customElements.define("mc-secondary-info",mc);var nc=a=>a?_b.includes(a)||ac.includes(a)?_b.includes(a)&&!ac.includes(a)?"on":a:"off":a,oc=(a,b)=>a?b?b.attribute?a.attributes[b.attribute]:a.state:a.state:void 0,pc=(a,b)=>+"".concat(c(+"".concat(a,"e").concat(b)),"e-").concat(b),qc=(a,b)=>{try{return new Function("","return ".concat(a)).call(b||{})}catch(b){throw new Error("\n[COMPILE ERROR]: [".concat(b.toString(),"]\n[SOURCE]: ").concat(a,"\n"))}};class rc{constructor(a,b,c){this.temperatureEntity=a||{},this.targetTemperatureEntity=b||{},this.config=c}get unit(){return this.config.temperature.unit||this.config.target_temperature.unit}get step(){var a=this.targetTemperatureEntity;return"step"in this.config.target_temperature?this.config.target_temperature.step:a&&a.attributes&&a.attributes.target_temp_step?a.attributes.target_temp_step:1}get value(){var a=this.rawValue;if(a!==void 0){if("fixed"in this.config.temperature)return parseFloat(a.toString()).toFixed(this.config.temperature.fixed);if("round"in this.config.temperature)return pc(a,this.config.temperature.round)}return a}get rawValue(){return oc(this.temperatureEntity,this.config.temperature.source)}}class sc{constructor(a,b,c){this.entity=a||{},this.config=b,this._hass=c,this.min=this.getMin(),this.max=this.getMax(),this.step=this.getStep()}get hass(){return this._hass}get icons(){return this.config.target_temperature.icons}getStep(){return"step"in this.config.target_temperature?parseFloat(this.config.target_temperature.step):this.entity&&this.entity.attributes&&this.entity.attributes.target_temp_step?parseFloat(this.entity.attributes.target_temp_step):1}getMin(){return"min"in this.config.target_temperature?parseFloat(this.config.target_temperature.min):this.entity&&this.entity.attributes&&this.entity.attributes.min_temp?parseFloat(this.entity.attributes.min_temp):16}getMax(){return"max"in this.config.target_temperature?parseFloat(this.config.target_temperature.max):this.entity&&this.entity.attributes&&this.entity.attributes.max_temp?parseFloat(this.entity.attributes.max_temp):30}_floatOrPlaceholder(b){return a(b)?cc:b}get value(){if(this._targetTemperature!==void 0)return this._floatOrPlaceholder(parseFloat(this._targetTemperature));var a=oc(this.entity,this.config.target_temperature.source);return this._floatOrPlaceholder(parseFloat(a))}set value(a){this._targetTemperature=parseFloat(a)}increment(){var a=this.value;if(a===cc)return!1;var b=this._round(this.value+this.step);return this.value=b<=this.max?b<=this.min?this.min:b:this.max,a!==this.value}decrement(){var a=this.value;if(a===cc)return!1;var b=this._round(this.value-this.step);return this.value=b>=this.min?b:this.min,a!==this.value}_round(a){var b=this.step.toString().split(".");return b[1]?parseFloat(a.toFixed(b[1].length)):c(a)}update(a){if(this.config.target_temperature.functions.change_action){var b=this.hass[this.config.entity];return this.config.target_temperature.functions.change_action(a,this.entity,b)}return this.hass.callService("climate","set_temperature",{entity_id:this.entity.entity_id,temperature:a})}}class tc{constructor(a,b,c,d){this.config=b||{},this.entity=a||{},this.climate=c||{},this._hass=d||{}}get id(){return this.config.id}get location(){return this.config.location||"bottom"}get hass(){return this._hass}get type(){return this.config.type}get order(){return this.config.order}get hide(){return this.config.hide}get icon(){return this.config.icon}get originalState(){return oc(this.entity,this.config.state)}get state(){var a=this.originalState;return this.config.functions.state&&this.config.functions.state.mapper&&(a=this.config.functions.state.mapper(a,this.entity,this.climate.entity,this.climate.mode)),a}isActive(a){return!!this.config.functions.active&&this.config.functions.active(a,this.entity,this.climate.entity,this.climate.mode)}get isUnavailable(){return this.entity===void 0||ac.includes(this.state)}get isOn(){return this.entity!==void 0&&!_b.includes(this.state)&&!ac.includes(this.state)}get disabled(){return!!this.config.functions.disabled&&this.config.functions.disabled(this.state,this.entity,this.climate.entity,this.climate.mode)}get style(){return this.config.functions.style?this.config.functions.style(this.state,this.entity,this.climate.entity,this.climate.mode)||{}:{}}get source(){var{functions:a}=this.config,c=Object.entries(this.config.source||{}).filter(a=>{var[b]=a;return"__filter"!==b}).map(a=>{var[c,d]=a;return"object"==typeof d?b({id:c},d||{}):{id:c,name:d}});return c.some(a=>"order"in a)&&(c=c.sort((c,a)=>c.order>a.order?1:a.order>c.order?-1:0)),a.source&&a.source.filter?a.source.filter(c,this.state,this.entity,this.climate.entity,this.climate.mode):c}get selected(){var{state:a}=this;return void 0===a||null===a?void 0:this.source.find(b=>b.id===a.toString())}get actionTimeout(){return"action_timeout"in this.config?this.config.action_timeout:2e3}handleToggle(){return this.config.functions.toggle_action?this.config.functions.toggle_action(this.state,this.entity,this.climate.entity,this.climate.mode):this.climate.callService("switch","toggle",{entity_id:this.entity.entity_id})}handleChange(a){return this.config.functions.change_action?this.config.functions.change_action(a,this.state,this.entity,this.climate.entity,this.climate.mode):void 0}}class uc{constructor(a,b,c,d){this.config=b||{},this.entity=a||{},this.climate=c||{},this._hass=d||{}}get id(){return this.config.id}get hass(){return this._hass}get originalValue(){return oc(this.entity,this.config.source)}get value(){var b=this.originalValue;return this.config.functions.mapper&&(b=this.config.functions.mapper(b,this.entity,this.climate.entity,this.climate.mode)),"round"in this.config&&!1===a(b)&&(b=pc(b,this.config.round)),b}get unit(){return this.config.unit}get icon(){if(this.config.functions.icon&&this.config.functions.icon.template)return this.config.functions.icon.template(this.value,this.entity,this.climate.entity,this.climate.mode);return this.config.icon&&"string"==typeof this.config.icon?this.config.icon:""}get iconStyle(){return this.config.functions.icon&&this.config.functions.icon.style?this.config.functions.icon.style(this.value,this.entity,this.climate.entity,this.climate.mode)||{}:{}}}class vc{constructor(a,c,d){this.hass=a||{},this.config=c||{},this.entity=d||{},this.state=d.state,this.attr=b({friendly_name:"",temperature:16,current_temperature:24,fan_mode:"",hvac_modes:[],target_temp_step:void 0,min_temp:void 0,max_temp:void 0,hvac_action:"",fan_modes:[]},d.attributes||{})}get lastChanged(){return this.entity.last_changed}get hvacAction(){var a=this.config.secondary_info&&this.config.secondary_info.source||{},c=this.attr.hvac_action,d={id:c};return d.name=Zb(this.hass,["".concat("state_attributes.climate.hvac_action",".").concat(c)],c),c in a&&("string"==typeof a[c]?d.name=a[c]:d=b(b({},d),a[c])),d}get mode(){return this._hvac_mode}set mode(a){this._hvac_mode=a}get defaultHvacModes(){for(var a=this.attr.hvac_modes,b=[],c=0;c<a.length;c+=1){var d=a[c],e=["state.climate.".concat(d),"component.climate.state._.".concat(d)],f={id:d,name:Zb(this.hass,e,d)},g=d.toString().toUpperCase();g in $b&&(f.icon=$b[g]),b.push(f)}return b}get defaultFanModes(){for(var a,b=this.attr.fan_modes,c={},d=0;d<b.length;d+=1)a=b[d],c[a]=Zb(this.hass,["".concat("state_attributes.climate.fan_mode",".").concat(a)],a);return c}get id(){return this.entity.entity_id}get icon(){return this.attr.icon}get name(){return this.attr.friendly_name||""}get isOff(){return this.entity!==void 0&&_b.includes(this.state)&&!ac.includes(this.state)}get isActive(){return!1===this.isOff&&!1===this.isUnavailable||!1}get isUnavailable(){return this.entity===void 0||ac.includes(this.state)}get isOn(){return this.entity!==void 0&&!_b.includes(this.state)&&!ac.includes(this.state)}callService(a,c,d){return this.hass.callService(a,c,b({entity_id:this.config.entity},d))}}class wc{constructor(a,b,c){this.config=b||{},this.entity=a||{},this.climate=c||{}}get hide(){return this.config.hide}get originalState(){return oc(this.entity,this.config.state)}get state(){var a=this.originalState;return this.config.functions.state&&this.config.functions.state.mapper&&(a=this.config.functions.state.mapper(a,this.entity,this.climate.entity)),a}isActive(a){return!!this.config.functions.active&&this.config.functions.active(a,this.entity,this.climate.entity)}get disabled(){return!!this.config.functions.disabled&&this.config.functions.disabled(this.state,this.entity,this.climate.entity)}get style(){return this.config.functions.style?this.config.functions.style(this.state,this.entity,this.climate.entity)||{}:{}}get source(){var{functions:a}=this.config,c=Object.entries(this.config.source||{}).filter(a=>{var[b]=a;return"__filter"!==b}).map(a=>{var[c,d]=a;return"object"==typeof d?b({id:c},d||{}):{id:c,name:d}});return c.some(a=>"order"in a)&&(c=c.sort((c,a)=>c.order>a.order?1:a.order>c.order?-1:0)),a.source&&a.source.filter?a.source.filter(c,this.state,this.entity,this.climate.entity):c}get selected(){var{state:a}=this;return void 0===a||null===a?void 0:this.source.find(b=>b.id===a.toString())}handleChange(a){return this.config.functions.change_action?this.config.functions.change_action(a,this.entity,this.climate.entity):void 0}}customElements.get("ha-icon-button")||customElements.define("ha-icon-button",class extends customElements.get("paper-icon-button"){});class xc extends zb{constructor(){super(),this.initial=!0,this.toggle=!1,this.temperature={},this.targetTemperature={},this.buttons={},this.indicators={},this.hvacMode={},this.targetTemperatureChanging=!1,this.climate={},this.targetTemperatureValue=0,this.width=0}static get properties(){return{_hass:{type:Object},config:{type:Object},entity:{type:Object},climate:{type:Object},initial:{type:Boolean},toggle:{type:Boolean}}}static get styles(){return[Xb,Wb]}set hass(a){if(a){var b=a.states[this.config.entity];this._hass=a;var c=!1;b&&this.entity!==b&&(this.entity=b,this.climate=new vc(a,this.config,b),c=!0),this.updateIndicators(c),this.updateButtons(c),this.updateTemperature(c),this.updateTargetTemperature(c),this.updateHvacMode(c),this.climate.mode=this.hvacMode.selected}}get hass(){return this._hass}get name(){return this.config.name||this.climate.name}updateIndicators(a){for(var b={},c=!1,d=0;d<this.config.indicators.length;d+=1){var e=this.config.indicators[d],{id:f}=e,g=e.source.entity||this.climate.id,h=this.hass.states[g];h&&(b[f]=new uc(h,e,this.climate,this.hass)),h!==(this.indicators[f]&&this.indicators[f].entity)&&(c=!0)}(c||a)&&(this.indicators=b)}updateTemperature(a){if(!this.targetTemperatureChanging){var b=this.config.temperature.source.entity||this.config.entity,c=this.hass.states[b],d=this.config.target_temperature.source&&this.config.target_temperature.source.entity||this.config.entity,e=this.hass.states[d],f=new rc(c,e,this.config);(this.temperature.rawValue!==f.rawValue||this.temperature.target!==f.target||a)&&(this.temperature=f)}}updateTargetTemperature(a){if(!this.targetTemperatureChanging){var b=this.config.target_temperature.source&&this.config.target_temperature.source.entity||this.config.entity,c=this.hass.states[b];(this.targetTemperature.entity!==c||a)&&(this.targetTemperature=new sc(c,this.config,this.hass),this.targetTemperatureValue=this.targetTemperature.value)}}updateHvacMode(a){var b=this.config.hvac_mode,c=b.state&&b.state.entity||this.climate.id,d=this.hass.states[c];(d&&d!==(this.hvacMode&&this.hvacMode.entity)||a)&&(this.hvacMode=new wc(d,b,this.climate))}updateButtons(a){for(var b={},c=!1,d=0;d<this.config.buttons.length;d+=1){var e=this.config.buttons[d],{id:f}=e,g=e.state&&e.state.entity||this.climate.id,h=this.hass.states[g];h&&(b[f]=new tc(h,e,this.climate,this.hass)),h!==(this.buttons[f]&&this.buttons[f].entity)&&(c=!0)}(c||a)&&(this.buttons=b)}getButtonsConfig(a){for(var b=Object.entries(a.buttons||{}),c=[],d=0;d<b.length;d+=1){var e=b[d][0],f=b[d][1],g=this.getButtonConfig(f,a);g.id=e,"order"in g||(g.order=d+1),c.push(g)}return c}getButtonConfig(a,c){var d=b({icon:"mdi:radiobox-marked",type:"button",toggle_action:void 0},a);d.functions={};var e=b({},a);return e.call_service=(a,b,c)=>this.hass.callService(a,b,c),e.entity_config=c,e.toggle_state=nc,d.disabled&&(d.functions.disabled=qc(d.disabled,e)),d.state&&d.state.mapper&&(d.functions.state={mapper:qc(d.state.mapper,e)}),d.active&&(d.functions.active=qc(d.active,e)),d.source&&d.source.__filter&&(d.functions.source={filter:qc(d.source.__filter,e)}),d.toggle_action&&(d.functions.toggle_action=qc(d.toggle_action,e)),d.change_action&&(d.functions.change_action=qc(d.change_action,e)),d.style&&(d.functions.style=qc(d.style,e)),d}getFanModeConfig(a){var c=b({id:"fan_mode",icon:"mdi:fan",type:"dropdown",order:0,state:{attribute:"fan_mode"},change_action:(a,b,c)=>{var d={fan_mode:a,entity_id:c.entity_id};return this.call_service("climate","set_fan_mode",d)}},a.fan_mode||{});c=this.getButtonConfig(c,a);var{functions:d}=c;return d.active||(d.active=()=>this.climate.isOn),c}getIndicatorConfig(a,c,d){var e=b({id:a,source:{enitity:void 0,attribute:void 0,mapper:void 0},icon:""},c);e.tap_action="string"==typeof c.tap_action?{action:c.tap_action}:b({action:"none"},e.tap_action||{}),e.functions=e.functions||{};var f=b({},c);return f.entity_config=d,f.toggle_state=nc,e.source.mapper&&(e.functions.mapper=qc(e.source.mapper,f)),"object"==typeof e.icon&&(e.functions.icon={},e.icon.template&&(e.functions.icon.template=qc(e.icon.template,f)),e.icon.style&&(e.functions.icon.style=qc(e.icon.style,f))),e}getIndicatorsConfig(a){return Object.entries(a.indicators||{}).map(b=>this.getIndicatorConfig(b[0],b[1]||{},a)).filter(a=>!a.hide)}getTargetTemperatureConfig(a){var c=b({unit:"\xB0C",source:{entity:void 0,attribute:"temperature"}},a.target_temperature||{});c.icons=b({up:$b.UP,down:$b.DOWN},c.icons||{}),c.functions={};var d=b({},a.target_temperature||{});return d.call_service=(a,b,c)=>this.hass.callService(a,b,c),d.entity_config=a,d.toggle_state=nc,c.change_action&&(c.functions.change_action=qc(c.change_action,d)),c}getHvacModeConfig(a){var c=b({type:"dropdown",change_action:(a,b)=>{var c={hvac_mode:a,entity_id:b.entity_id};return this.call_service("climate","set_hvac_mode",c)}},a.hvac_mode||{});c=this.getButtonConfig(c,this.config);var{functions:d}=c;return d.active||(d.active=()=>this.climate.isOn),c}setConfig(a){var c=["climate","fan"];if(!a.entity||!1===c.includes(a.entity.split(".")[0]))throw new Error("Specify an entity from within domains: [".concat(c.join(", "),"]."));this.config=b({tap_action:{action:"more-info",navigation_path:"",url:"",entity:"",service:"",service_data:{}}},a),this.config.indicators=this.getIndicatorsConfig(a),this.config.buttons=this.getButtonsConfig(a),this.fanModeConfig=this.getFanModeConfig(a),this.config.buttons.push(this.fanModeConfig),this.config.target_temperature=this.getTargetTemperatureConfig(a),this.config.temperature=b({round:1,unit:"\xB0C",source:{entity:void 0,attribute:"current_temperature"}},a.temperature||{}),this.config.hvac_mode=this.getHvacModeConfig(this.config),this.config.toggle=b({icon:$b.TOGGLE,hide:!1,default:!1},a.toggle||{}),this.config.secondary_info="string"==typeof a.secondary_info?{type:a.secondary_info}:b({type:"fan_mode"},a.secondary_info||{}),this.toggle=this.config.toggle.default}renderCtlWrap(){if(this.climate.isUnavailable)return Ya(Q||(Q=d(["\n <span class=\"label ellipsis\"> \n ","\n </span>\n "])),Zb(this.hass,["state.default.unavailable"],"Unavailable"));var a=Object.entries(this.buttons).map(a=>a[1]).filter(a=>"main"===a.location&&!a.hide).sort((c,a)=>c.order>a.order?1:a.order>c.order?-1:0);return Ya(R||(R=d(["\n ","\n ","\n <mc-temperature\n .temperature=","\n .target=","\n .changing=",">\n </mc-temperature>\n "])),a.map(a=>"dropdown"===a.type?Ya(S||(S=d(["<mc-dropdown .dropdown=","></mc-dropdown>"])),a):Ya(T||(T=d(["<mc-button .button=","></mc-button>"])),a)),this.hvacMode.hide?"":Ya(U||(U=d(["<mc-mode-menu .mode=","></mc-mode-menu>"])),this.hvacMode),this.temperature,this.targetTemperatureValue,this.targetTemperatureChanging)}renderEntityControls(){return this.climate.isUnavailable?"":Ya(V||(V=d(["\n <div class=\"entity__controls\">\n <mc-target-temperature\n .targetTemperature=","\n @changing=\"","\">\n </mc-target-temperature>\n </div>\n "])),this.targetTemperature,a=>this.handleChangingTargetTemperature(a))}render(){var a="fan-mode-dropdown"!==this.config.secondary_info.type;return Ya(W||(W=d(["\n <ha-card\n class=","\n style=",">\n <div class='mc__bg'></div>\n <div class='mc-climate'>\n <div class='mc-climate__core flex'>\n ","\n <div class='entity__info'>\n <div class=\"wrap\">\n <div class=\"entity__info__name_wrap\" @click=",">\n ","\n </div>\n <div class=\"ctl-wrap ellipsis\">\n ","\n </div>\n </div>\n ","\n </div>\n ","\n </div>\n ","\n </div>\n </ha-card>\n "])),this.computeClasses(),this.computeStyles(),this.renderIcon(),b=>this.handlePopup(b,a),this.renderEntityName(),this.renderCtlWrap(),this.renderBottomPanel(),this.renderEntityControls(),this.renderTogglePanel())}handleChangingTargetTemperature(a){return this.targetTemperatureValue=this.targetTemperature.value,this.targetTemperatureChanging=a.detail.changing,this.requestUpdate("targetTemperatureChanging")}handlePopup(a,b){b&&(a.stopPropagation(),Yb(this,this.hass,this.config.tap_action,this.climate.id))}handleToggle(a){a.stopPropagation(),this.toggle=!this.toggle}toggleButtonCls(){return this.toggle?"open":""}renderIcon(){var a=this.climate.isActive;return Ya(X||(X=d(["\n <div class='entity__icon' ?color=",">\n <ha-icon .icon="," ></ha-icon>\n </div>"])),a,this.computeIcon())}renderTogglePanel(){return this.toggle?Ya(Y||(Y=d(["\n <div class=\"mc-toggle_content\">\n <mc-buttons\n .buttons=",">\n </mc-buttons>\n </div>\n "])),this.buttons):""}renderBottomPanel(){return this.climate.isUnavailable?"":Ya(Z||(Z=d(["\n <div class='bottom flex'>\n <mc-indicators\n .indicators=",">\n </mc-indicators>\n ","\n </div>\n "])),this.indicators,this.renderToggleButton())}renderToggleButton(){return 0===this.config.buttons.filter(a=>!a.hide&&"main"!==a.location).length?"":this.config.toggle.hide?"":Ya($||($=d(["\n <ha-icon-button class='toggle-button ","'\n .icon=","\n @click=",">\n <ha-icon .icon=","></ha-icon>\n </ha-icon-button>\n "])),this.toggleButtonCls(),this.config.toggle.icon,a=>this.handleToggle(a),this.config.toggle.icon)}renderEntityName(){return Ya(_||(_=d(["\n <div class='entity__info__name' @click=",">\n ","\n </div>\n ","\n "])),a=>this.handlePopup(a,!0),this.name,this.renderSecondaryInfo())}renderSecondaryInfo(){return this.climate.isUnavailable?"":Ya(aa||(aa=d(["\n <div class='entity__secondary_info ellipsis'>\n <mc-secondary-info\n .climate=","\n .config=","\n .hvacMode=","\n .fanMode=",">\n </mc-secondary-info>\n </div>"])),this.climate,this.config,this.hvacMode,this.buttons.fan_mode)}computeIcon(){return this.config.icon?this.config.icon:this.climate.icon||$b.DEFAULT}computeClasses(){var{config:a}=0<arguments.length&&arguments[0]!==void 0?arguments[0]:this;return Tb({"--initial":this.initial,"--collapse":a.collapse,"--group":a.group,"--more-info":"none"!==a.tap_action,"--inactive":!this.climate.isActive,"--unavailable":this.climate.isUnavailable})}computeStyles(){var{scale:a}=this.config;return Vb(b(b({},a&&{"--mc-unit":"".concat(40*a,"px")}),{"--mc-card-width":"".concat(this.width,"px")}))}initDefaultFanModeSource(){var a=this.fanModeConfig,c=Object.entries(a.source||{}).filter(a=>"__filter"!==a[0]),{entity:d}=this.climate;d&&0===c.length&&d.attributes&&d.attributes.fan_modes&&(a.source=b(b({},this.climate.defaultFanModes),a.source||{}))}initDefaultHvacModeSource(){var a=this.config.hvac_mode,c=Object.entries(a.source||{}).filter(a=>"__filter"!==a[0]),{entity:d}=this.climate;d&&0===c.length&&(a.source=b(b({},this.climate.defaultHvacModes),a.source||{}))}firstUpdated(a){super.firstUpdated(a),a.has("climate")&&(this.initDefaultFanModeSource(),this.initDefaultHvacModeSource(),this.requestUpdate("climate").then()),a.has("targetTemperature")&&(this.targetTemperatureValue=this.targetTemperature.value,this.requestUpdate("targetTemperatureValue").then());var b=new Qb(a=>{var b=a.find(a=>a.target===this);b&&b.contentRect&&this.width!==b.contentRect.width&&(this.width=b.contentRect.width,this.requestUpdate("width").then())});b.observe(this)}}customElements.define("mini-climate",xc)})})();
@ranrinc
Copy link

ranrinc commented Nov 9, 2021

Got it.. thanks for the temporary solutions

@regevbr
Copy link
Author

regevbr commented Nov 9, 2021

Got it.. thanks for the temporary solutions

don't mention it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment