From c0e990ae521a3d277918fd2885142c109d184245 Mon Sep 17 00:00:00 2001 From: Joshua Spence Date: Wed, 15 Nov 2023 19:58:30 +1100 Subject: [PATCH] Update `slider-entity-row` --- .../rollup.config.js.gz | Bin 330 -> 330 bytes .../slider-entity-row.js | 30 ++++++++++++------ .../slider-entity-row.js.gz | Bin 9745 -> 10850 bytes 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/www/community/lovelace-slider-entity-row/rollup.config.js.gz b/www/community/lovelace-slider-entity-row/rollup.config.js.gz index 31823b76a15ef829c783bdb79c4fee9c56cf6e76..22b3aeba91c2241a78275bfdbe37b6608903591d 100644 GIT binary patch delta 17 YcmX@bbc%^XzMF%?#xpQ=BZm_s04*5=k^lez delta 17 YcmX@bbc%^XzMF&Nq{YhQjT}yl05cE;WB>pF diff --git a/www/community/lovelace-slider-entity-row/slider-entity-row.js b/www/community/lovelace-slider-entity-row/slider-entity-row.js index e30198cc..c9819f18 100644 --- a/www/community/lovelace-slider-entity-row/slider-entity-row.js +++ b/www/community/lovelace-slider-entity-row/slider-entity-row.js @@ -1,20 +1,31 @@ -function t(t,e,s,i){var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,s,i);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(a=(n<3?r(a):n>3?r(e,s,a):r(e,s))||a);return n>3&&a&&Object.defineProperty(e,s,a),a}const e=window,s=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),r=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(s&&void 0===t){const s=void 0!==e&&1===e.length;s&&(t=r.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&r.set(e,t))}return t}toString(){return this.cssText}};const a=(t,...e)=>{const s=1===t.length?t[0]:e.reduce(((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1]),t[0]);return new n(s,t,i)},o=s?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,i))(e)})(t):t;var l;const h=window,u=h.trustedTypes,c=u?u.emptyScript:"",d=h.reactiveElementPolyfillSupport,_={toAttribute(t,e){switch(e){case Boolean:t=t?c:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},p=(t,e)=>e!==t&&(e==e||t==t),g={attribute:!0,type:String,converter:_,reflect:!1,hasChanged:p};let b=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,s)=>{const i=this._$Ep(s,e);void 0!==i&&(this._$Ev.set(i,s),t.push(i))})),t}static createProperty(t,e=g){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const s="symbol"==typeof t?Symbol():"__"+t,i=this.getPropertyDescriptor(t,s,e);void 0!==i&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){return{get(){return this[e]},set(i){const r=this[t];this[e]=i,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||g}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of e)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(o(t))}else void 0!==t&&e.push(o(t));return e}static _$Ep(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,s;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const i=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,i)=>{s?t.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):i.forEach((s=>{const i=document.createElement("style"),r=e.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=s.cssText,t.appendChild(i)}))})(i,this.constructor.elementStyles),i}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EO(t,e,s=g){var i;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const n=(void 0!==(null===(i=s.converter)||void 0===i?void 0:i.toAttribute)?s.converter:_).toAttribute(e,s.type);this._$El=t,null==n?this.removeAttribute(r):this.setAttribute(r,n),this._$El=null}}_$AK(t,e){var s;const i=this.constructor,r=i._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=i.getPropertyOptions(r),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:_;this._$El=r,this[r]=n.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,s){let i=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||p)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(s)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(s)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};var v;b.finalized=!0,b.elementProperties=new Map,b.elementStyles=[],b.shadowRootOptions={mode:"open"},null==d||d({ReactiveElement:b}),(null!==(l=h.reactiveElementVersions)&&void 0!==l?l:h.reactiveElementVersions=[]).push("1.5.0");const f=window,m=f.trustedTypes,$=m?m.createPolicy("lit-html",{createHTML:t=>t}):void 0,y=`lit$${(Math.random()+"").slice(9)}$`,O="?"+y,w=`<${O}>`,j=document,A=(t="")=>j.createComment(t),S=t=>null===t||"object"!=typeof t&&"function"!=typeof t,E=Array.isArray,x=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,C=/-->/g,T=/>/g,k=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),P=/'/g,M=/"/g,U=/^(?:script|style|textarea|title)$/i,H=(t=>(e,...s)=>({_$litType$:t,strings:e,values:s}))(1),R=Symbol.for("lit-noChange"),N=Symbol.for("lit-nothing"),z=new WeakMap,L=j.createTreeWalker(j,129,null,!1),I=(t,e)=>{const s=t.length-1,i=[];let r,n=2===e?"":"",a=x;for(let e=0;e"===l[0]?(a=null!=r?r:x,h=-1):void 0===l[1]?h=-2:(h=a.lastIndex-l[2].length,o=l[1],a=void 0===l[3]?k:'"'===l[3]?M:P):a===M||a===P?a=k:a===C||a===T?a=x:(a=k,r=void 0);const c=a===k&&t[e+1].startsWith("/>")?" ":"";n+=a===x?s+w:h>=0?(i.push(o),s.slice(0,h)+"$lit$"+s.slice(h)+y+c):s+y+(-2===h?(i.push(void 0),e):c)}const o=n+(t[s]||"")+(2===e?"":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==$?$.createHTML(o):o,i]};class D{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let r=0,n=0;const a=t.length-1,o=this.parts,[l,h]=I(t,e);if(this.el=D.createElement(l,s),L.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(i=L.nextNode())&&o.length0){i.textContent=m?m.emptyScript:"";for(let s=0;sE(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.k(t):this.g(t)}O(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}g(t){this._$AH!==N&&S(this._$AH)?this._$AA.nextSibling.data=t:this.T(j.createTextNode(t)),this._$AH=t}$(t){var e;const{values:s,_$litType$:i}=t,r="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=D.createElement(i.h,this.options)),i);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.p(s);else{const t=new W(r,this),e=t.v(this.options);t.p(s),this.T(e),this._$AH=t}}_$AC(t){let e=z.get(t.strings);return void 0===e&&z.set(t.strings,e=new D(t)),e}k(t){E(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const r of t)i===e.length?e.push(s=new V(this.O(A()),this.O(A()),this,this.options)):s=e[i],s._$AI(r),i++;i2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=N}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,s,i){const r=this.strings;let n=!1;if(void 0===r)t=B(this,t,e,0),n=!S(t)||t!==this._$AH&&t!==R,n&&(this._$AH=t);else{const i=t;let a,o;for(t=r[0],a=0;a{var i,r;const n=null!==(i=null==s?void 0:s.renderBefore)&&void 0!==i?i:e;let a=n._$litPart$;if(void 0===a){const t=null!==(r=null==s?void 0:s.renderBefore)&&void 0!==r?r:null;n._$litPart$=a=new V(e.insertBefore(A(),t),t,void 0,null!=s?s:{})}return a._$AI(t),a})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return R}}tt.finalized=!0,tt._$litElement$=!0,null===(Q=globalThis.litElementHydrateSupport)||void 0===Q||Q.call(globalThis,{LitElement:tt});const et=globalThis.litElementPolyfillSupport;null==et||et({LitElement:tt}),(null!==(X=globalThis.litElementVersions)&&void 0!==X?X:globalThis.litElementVersions=[]).push("3.2.2");const st=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(s){s.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(s){s.createProperty(e.key,t)}};function it(t){return(e,s)=>void 0!==s?((t,e,s)=>{e.constructor.createProperty(s,t)})(t,e,s):st(t,e)}var rt;null===(rt=window.HTMLSlotElement)||void 0===rt||rt.prototype.assignedElements;class nt{constructor(t){this._config=t}set hass(t){this._hass=t,this.stateObj=t.states[this._config.entity]}get value(){return this._value?Math.round(this._value/this.step)*this.step:0}set value(t){t!==this.value&&(this._value=t)}get string(){return`${this.value}`}get hidden(){return!1}get hasSlider(){return!0}get hasToggle(){return!0}get background(){}renderToggle(t){return this.hasToggle?H` +function t(t,e,s,i){var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,s,i);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(a=(n<3?r(a):n>3?r(e,s,a):r(e,s))||a);return n>3&&a&&Object.defineProperty(e,s,a),a}"function"==typeof SuppressedError&&SuppressedError;const e=globalThis,s=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),r=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(s&&void 0===t){const s=void 0!==e&&1===e.length;s&&(t=r.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&r.set(e,t))}return t}toString(){return this.cssText}};const a=(t,...e)=>{const s=1===t.length?t[0]:e.reduce(((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1]),t[0]);return new n(s,t,i)},o=s?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,i))(e)})(t):t,{is:h,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:u,getOwnPropertySymbols:d,getPrototypeOf:_}=Object,p=globalThis,g=p.trustedTypes,b=g?g.emptyScript:"",f=p.reactiveElementPolyfillSupport,m=(t,e)=>t,v={toAttribute(t,e){switch(e){case Boolean:t=t?b:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},$=(t,e)=>!h(t,e),y={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:$};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;class w extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=y){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(t,s,e);void 0!==i&&l(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){const{get:i,set:r}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return i?.call(this)},set(e){const n=i?.call(this);r.call(this,e),this.requestUpdate(t,n,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(m("elementProperties")))return;const t=_(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(m("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(m("properties"))){const t=this.properties,e=[...u(t),...d(t)];for(const s of e)this.createProperty(s,t[s])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,s]of e)this.elementProperties.set(t,s)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const s=this._$Eu(t,e);void 0!==s&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(o(t))}else void 0!==t&&e.push(o(t));return e}static _$Eu(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$ES??=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$ES?.splice(this._$ES.indexOf(t)>>>0,1)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,i)=>{if(s)t.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const s of i){const i=document.createElement("style"),r=e.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=s.cssText,t.appendChild(i)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$ES?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$ES?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EO(t,e){const s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(void 0!==i&&!0===s.reflect){const r=(void 0!==s.converter?.toAttribute?s.converter:v).toAttribute(e,s.type);this._$Em=t,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){const s=this.constructor,i=s._$Eh.get(t);if(void 0!==i&&this._$Em!==i){const t=s.getPropertyOptions(i),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:v;this._$Em=i,this[i]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,s,i=!1,r){if(void 0!==t){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??$)(i?r:this[t],e))return;this.C(t,e,s)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),!0===s.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,s]of t)!0!==s.wrapped||this._$AL.has(e)||void 0===this[e]||this.C(e,this[e],s)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$ES?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$ET()}catch(e){throw t=!1,this._$ET(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$ES?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[m("elementProperties")]=new Map,w[m("finalized")]=new Map,f?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.0.1");const O=globalThis,j=O.trustedTypes,A=j?j.createPolicy("lit-html",{createHTML:t=>t}):void 0,S="$lit$",E=`lit$${(Math.random()+"").slice(9)}$`,x="?"+E,C=`<${x}>`,T=document,P=()=>T.createComment(""),k=t=>null===t||"object"!=typeof t&&"function"!=typeof t,M=Array.isArray,U="[ \t\n\f\r]",R=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,H=/-->/g,N=/>/g,z=RegExp(`>|${U}(?:([^\\s"'>=/]+)(${U}*=${U}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),L=/'/g,I=/"/g,D=/^(?:script|style|textarea|title)$/i,B=(t=>(e,...s)=>({_$litType$:t,strings:e,values:s}))(1),W=Symbol.for("lit-noChange"),q=Symbol.for("lit-nothing"),V=new WeakMap,K=T.createTreeWalker(T,129);function F(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==A?A.createHTML(e):e}const J=(t,e)=>{const s=t.length-1,i=[];let r,n=2===e?"":"",a=R;for(let e=0;e"===h[0]?(a=r??R,l=-1):void 0===h[1]?l=-2:(l=a.lastIndex-h[2].length,o=h[1],a=void 0===h[3]?z:'"'===h[3]?I:L):a===I||a===L?a=z:a===H||a===N?a=R:(a=z,r=void 0);const u=a===z&&t[e+1].startsWith("/>")?" ":"";n+=a===R?s+C:l>=0?(i.push(o),s.slice(0,l)+S+s.slice(l)+E+u):s+E+(-2===l?e:u)}return[F(t,n+(t[s]||"")+(2===e?"":"")),i]};class Z{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let r=0,n=0;const a=t.length-1,o=this.parts,[h,l]=J(t,e);if(this.el=Z.createElement(h,s),K.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(i=K.nextNode())&&o.length0){i.textContent=j?j.emptyScript:"";for(let s=0;sM(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==q&&k(this._$AH)?this._$AA.nextSibling.data=t:this.$(T.createTextNode(t)),this._$AH=t}g(t){const{values:e,_$litType$:s}=t,i="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=Z.createElement(F(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===i)this._$AH.p(e);else{const t=new Y(i,this),s=t.u(this.options);t.p(e),this.$(s),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new Z(t)),e}T(t){M(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const r of t)i===e.length?e.push(s=new Q(this.k(P()),this.k(P()),this,this.options)):s=e[i],s._$AI(r),i++;i2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=q}_$AI(t,e=this,s,i){const r=this.strings;let n=!1;if(void 0===r)t=G(this,t,e,0),n=!k(t)||t!==this._$AH&&t!==W,n&&(this._$AH=t);else{const i=t;let a,o;for(t=r[0],a=0;a{const i=s?.renderBefore??e;let r=i._$litPart$;if(void 0===r){const t=s?.renderBefore??null;i._$litPart$=r=new Q(e.insertBefore(P(),t),t,void 0,s??{})}return r._$AI(t),r})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return W}}nt._$litElement$=!0,nt.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:nt});const at=globalThis.litElementPolyfillSupport;at?.({LitElement:nt}),(globalThis.litElementVersions??=[]).push("4.0.1");const ot={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:$},ht=(t=ot,e,s)=>{const{kind:i,metadata:r}=s;let n=globalThis.litPropertyMetadata.get(r);if(void 0===n&&globalThis.litPropertyMetadata.set(r,n=new Map),n.set(s.name,t),"accessor"===i){const{name:i}=s;return{set(s){const r=e.get.call(this);e.set.call(this,s),this.requestUpdate(i,r,t)},init(e){return void 0!==e&&this.C(i,void 0,t),e}}}if("setter"===i){const{name:i}=s;return function(s){const r=this[i];e.call(this,s),this.requestUpdate(i,r,t)}}throw Error("Unsupported decorator location: "+i)};function lt(t){return(e,s)=>"object"==typeof s?ht(t,e,s):((t,e,s)=>{const i=e.hasOwnProperty(s);return e.constructor.createProperty(s,i?{...t,wrapped:!0}:t),i?Object.getOwnPropertyDescriptor(e,s):void 0})(t,e,s)}const ct=(t,e,s)=>(s.configurable=!0,s.enumerable=!0,Reflect.decorate&&"object"!=typeof e&&Object.defineProperty(t,e,s),s);class ut{constructor(t,e){this._config=t}set hass(t){this._hass=t,this.stateObj=t.states[this._config.entity]}get value(){return this._value?Math.round(this._value/this.step)*this.step:0}set value(t){t!==this.value&&(this._value=t)}get string(){return`${this.value}`}get hidden(){return!1}get hasSlider(){return!0}get hasToggle(){return!0}get background(){}renderToggle(t){return this.hasToggle?B` - `:void 0}get isOff(){return!this.stateObj||"unavailable"===this.stateObj.state||("off"===this.stateObj.state||0===this.value)}get min(){var t,e;return null!==(e=null!==(t=this._config.min)&&void 0!==t?t:this._min)&&void 0!==e?e:0}get max(){var t,e;return null!==(e=null!==(t=this._config.max)&&void 0!==t?t:this._max)&&void 0!==e?e:100}get step(){var t,e;return null!==(e=null!==(t=this._config.step)&&void 0!==t?t:this._step)&&void 0!==e?e:5}get dir(){var t;return null!==(t=this._config.dir)&&void 0!==t?t:void 0}}const at={red:0,green:1,blue:2,white:3,cold_white:3,warm_white:4},ot={hue:0,saturation:1};class lt extends nt{get attribute(){return this._config.attribute||"brightness_pct"}get _rgbww(){const t=this.stateObj.attributes;switch(t.color_mode){case"rgb":case"hs":case"xy":return[...t.rgb_color,0,0];case"rgbw":return[...t.rgbw_color,0];case"rgbww":return[...t.rgbww_color];default:return[0,0,0,0,0]}}get _value(){if(!this.stateObj||"on"!==this.stateObj.state)return 0;const t=this.stateObj.attributes;switch(this.attribute){case"color_temp":return Math.round(t.color_temp_kelvin);case"color_temp_mired":return Math.round(t.color_temp);case"white_value":return Math.round(t.white_value);case"brightness":return Math.round(t.brightness);case"brightness_pct":return Math.round(100*t.brightness/255);case"red":case"green":case"blue":return t.rgb_color?Math.round(this._rgbww[at[this.attribute]]):0;case"white":return t.rgbw_color?Math.round(100*this._rgbww[at[this.attribute]]/255):0;case"cold_white":case"warm_white":return t.rgbww_color?Math.round(100*this._rgbww[at[this.attribute]]/255):0;case"hue":case"saturation":return t.hs_color?Math.round(t.hs_color[ot[this.attribute]]):0;case"effect":return t.effect_list?t.effect_list.indexOf(t.effect):0;default:return 0}}get _step(){switch(this.attribute){case"effect":return 1;default:return 5}}get _min(){switch(this.attribute){case"color_temp":return this.stateObj?this.stateObj.attributes.min_color_temp_kelvin:0;case"color_temp_mired":return this.stateObj?this.stateObj.attributes.min_mireds:0;default:return 0}}get _max(){switch(this.attribute){case"color_temp":return this.stateObj?this.stateObj.attributes.max_color_temp_kelvin:0;case"color_temp_mired":return this.stateObj?this.stateObj.attributes.max_mireds:0;case"red":case"green":case"blue":case"white_value":case"brightness":return 255;case"hue":return 360;case"effect":return this.stateObj&&this.stateObj.attributes.effect_list?this.stateObj.attributes.effect_list.length-1:0;default:return 100}}get isOff(){return"on"!==this.stateObj.state}set _value(t){if(!this.stateObj)return;const e=this.stateObj.attributes.color_mode;let s,i=this.attribute,r=!0;switch(i){case"brightness":case"brightness_pct":(t="brightness"===i?Math.round(t):Math.round(t/100*255))||(r=!1),i="brightness";break;case"red":case"green":case"blue":if(s=this._rgbww,s[at[i]]=t,"rgbww"===e){i="rgbww_color",t=s;break}if("rgbw"===e){i="rgbw_color",t=s.slice(0,4);break}i="rgb_color",t=s.slice(0,3);break;case"white":s=this._rgbww,s[at[i]]=Math.round(t/100*255),t=s.slice(0,4),i="rgbw_color";break;case"cold_white":case"warm_white":s=this._rgbww,s[at[i]]=Math.round(t/100*255),t=s,i="rgbww_color";break;case"hue":case"saturation":s=this.stateObj.attributes.hs_color||[0,0],s[ot[i]]=t,t=s,i="hs_color";break;case"effect":t=this.stateObj.attributes.effect_list[t],i="effect";break;case"color_temp":i="kelvin";break;case"color_temp_mired":i="color_temp"}r?this._hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,[i]:t}):this._hass.callService("light","turn_off",{entity_id:this.stateObj.entity_id})}get string(){if(this.stateObj&&"off"===this.stateObj.state)return this._hass.localize("component.light.state._.off");switch(this.attribute){case"color_temp_mired":case"brightness":return`${this.value}`;case"color_temp":return`${this.value} K`;case"brightness_pct":case"saturation":return`${this.value} %`;case"hue":return`${this.value} °`;case"effect":return this.stateObj?this.stateObj.attributes.effect:"";default:return this.value}}get hasSlider(){var t,e,s,i,r,n,a;const o=this.stateObj.attributes,l=2&o.supported_features||(null===(t=o.supported_color_modes)||void 0===t?void 0:t.some((t=>["color_temp"].includes(t)))),h=16&o.supported_features||(null===(e=o.supported_color_modes)||void 0===e?void 0:e.some((t=>["rgb","rgbw","rgbww"].includes(t)))),u=null===(s=o.supported_color_modes)||void 0===s?void 0:s.some((t=>["rgbw"].includes(t))),c=null===(i=o.supported_color_modes)||void 0===i?void 0:i.some((t=>["rgbww"].includes(t))),d=16&o.supported_features||(null===(r=o.supported_color_modes)||void 0===r?void 0:r.some((t=>["hs"].includes(t)))),_=null===(n=o.supported_color_modes)||void 0===n?void 0:n.some((t=>["xy"].includes(t))),p=1&o.supported_features||l||h||d||_||(null===(a=o.supported_color_modes)||void 0===a?void 0:a.some((t=>["brightness"].includes(t)))),g=h||d;if(!this.stateObj)return!1;switch(this.attribute){case"brightness":case"brightness_pct":return!(!("brightness"in this.stateObj.attributes)&&!p);case"color_temp":case"color_temp_mired":return!(!("color_temp"in this.stateObj.attributes)&&!l);case"white_value":return!!(128&o.supported_features||"white_value"in this.stateObj.attributes);case"white":return!!u;case"cold_white":case"warm_white":return!!c;case"red":case"green":case"blue":return!(!("rgb_color"in this.stateObj.attributes)&&!g);case"hue":case"saturation":return!(!("hs_color"in this.stateObj.attributes)&&!g);case"effect":return"effect"in this.stateObj.attributes||"effect_list"in this.stateObj.attributes;default:return!1}}get background(){return"hue"===this.attribute?"linear-gradient(to right,red,yellow,green,cyan,blue,magenta,red)":"color_temp_mired"===this.attribute?"linear-gradient(to right,rgb(166,209,255),rgb(255,255,255),rgb(255,160,0))":"color_temp"===this.attribute?"linear-gradient(to left,rgb(166,209,255),rgb(255,255,255),rgb(255,160,0))":"red"===this.attribute?"linear-gradient(to right,rgb(0,0,0),rgb(255,0,0))":"green"===this.attribute?"linear-gradient(to right,rgb(0,0,0),rgb(0,255,0))":"blue"===this.attribute?"linear-gradient(to right,rgb(0,0,0),rgb(0,0,255))":"brightness"===this.attribute?"linear-gradient(to right,rgb(0,0,0),rgb(255,255,255))":void 0}}class ht extends nt{get _value(){return this.stateObj.attributes.is_volume_muted?0:Math.round(100*this.stateObj.attributes.volume_level)}set _value(t){t/=100,this._hass.callService("media_player","volume_set",{entity_id:this.stateObj.entity_id,volume_level:t}),t&&this.stateObj.attributes.is_volume_muted&&this._hass.callService("media_player","volume_mute",{entity_id:this.stateObj.entity_id,is_volume_muted:!1})}get isOff(){return"off"===this.stateObj.state}get string(){return this.stateObj.attributes.is_volume_muted?"-":this.stateObj.attributes.volume_level?`${this.value} %`:this._hass.localize("component.media_player.state._.off")}get hasToggle(){return!0}_handleMute(){this._hass.callService("media_player","volume_mute",{entity_id:this.stateObj.entity_id,is_volume_muted:!this.stateObj.attributes.is_volume_muted})}renderToggle(t){const e=t.states[this.stateObj.entity_id],s=document.createElement("ha-icon");s.style.display="flex",s.icon=e.attributes.is_volume_muted?"mdi:volume-off":"mdi:volume-high";const i=document.createElement("ha-icon-button");return i.appendChild(s),i.addEventListener("click",(()=>this._handleMute())),this.hasToggle?i:void 0}}class ut extends nt{get _value(){return this.stateObj.attributes.temperature}set _value(t){this._hass.callService("climate","set_temperature",{entity_id:this.stateObj.entity_id,temperature:t})}get string(){return`${this.value} ${this._hass.config.unit_system.temperature}`}get isOff(){return"off"===this.stateObj.state}get _min(){return this.stateObj.attributes.min_temp}get _max(){return this.stateObj.attributes.max_temp}get _step(){return 1}}class ct extends nt{get attribute(){return this._config.attribute||"position"}get _value(){switch(this.attribute){case"position":return"closed"===this.stateObj.state?0:this.stateObj.attributes.current_position;case"tilt":return this.stateObj.attributes.current_tilt_position;default:return 0}}set _value(t){switch(this.attribute){case"position":this._hass.callService("cover","set_cover_position",{entity_id:this.stateObj.entity_id,position:t});break;case"tilt":this._hass.callService("cover","set_cover_tilt_position",{entity_id:this.stateObj.entity_id,tilt_position:t})}}get string(){if(!this.hasSlider)return"";switch(this.attribute){case"position":return"closed"===this.stateObj.state?this._hass.localize("component.cover.state._.closed"):100===this.value?this._hass.localize("component.cover.state._.open"):`${this.value} %`;case"tilt":return`${this.value} %`}}get hasToggle(){return!1}get hasSlider(){switch(this.attribute){case"position":if("current_position"in this.stateObj.attributes)return!0;if("supported_features"in this.stateObj.attributes&&4&this.stateObj.attributes.supported_features)return!0;case"tilt":if("current_tilt_position"in this.stateObj.attributes)return!0;if("supported_features"in this.stateObj.attributes&&128&this.stateObj.attributes.supported_features)return!0;default:return!1}}get _step(){return 10}}class dt extends nt{get _value(){return"off"!==this.stateObj.state?this.stateObj.attributes.percentage:0}set _value(t){t>0?this._hass.callService("fan","set_percentage",{entity_id:this.stateObj.entity_id,percentage:t}):this._hass.callService("fan","turn_off",{entity_id:this.stateObj.entity_id})}get string(){return"off"===this.stateObj.state?this._hass.localize("component.fan.state._.off"):`${this.stateObj.attributes.percentage} %`}get hasSlider(){return"percentage"in this.stateObj.attributes}get _step(){return this.stateObj.attributes.percentage_step}}class _t extends nt{get _value(){return this.stateObj.state}set _value(t){this._hass.callService("input_number","set_value",{entity_id:this.stateObj.entity_id,value:t})}get string(){return`${parseFloat(this.stateObj.state)} ${this.stateObj.attributes.unit_of_measurement||""}`.trim()}get isOff(){return!1}get hasToggle(){return!1}get hasSlider(){return"slider"===this.stateObj.attributes.mode}get _min(){return this.stateObj.attributes.min}get _max(){return this.stateObj.attributes.max}get _step(){return this.stateObj.attributes.step}}class pt extends nt{get _value(){return this.stateObj.attributes.options.indexOf(this.stateObj.state)}set _value(t){t in this.stateObj.attributes.options&&this._hass.callService("input_select","select_option",{entity_id:this.stateObj.entity_id,option:this.stateObj.attributes.options[t]})}get string(){return this.stateObj.state}get isOff(){return!1}get hasToggle(){return!1}get hasSlider(){return this.stateObj.attributes.options&&this.stateObj.attributes.options.length>0}get _max(){return this.stateObj.attributes.options.length-1}get _step(){return 1}}class gt extends nt{get _value(){return this.stateObj.state}set _value(t){this._hass.callService("number","set_value",{entity_id:this.stateObj.entity_id,value:t})}get string(){return`${parseFloat(this.stateObj.state)} ${this.stateObj.attributes.unit_of_measurement||""}`.trim()}get isOff(){return!1}get hasToggle(){return!1}get hasSlider(){return!0}get _min(){return this.stateObj.attributes.min}get _max(){return this.stateObj.attributes.max}get _step(){return this.stateObj.attributes.step}}class bt extends nt{get _value(){return this.stateObj.attributes.temperature}set _value(t){this._hass.callService("water_heater","set_temperature",{entity_id:this.stateObj.entity_id,temperature:t})}get string(){return`${this.value} ${this._hass.config.unit_system.temperature}`}get isOff(){return"off"===this.stateObj.state}get _min(){return this.stateObj.attributes.min_temp}get _max(){return this.stateObj.attributes.max_temp}get _step(){return 1}}class vt extends nt{get _value(){return this.stateObj.attributes.humidity}set _value(t){this._hass.callService("humidifier","set_humidity",{entity_id:this.stateObj.entity_id,humidity:t})}get string(){return`${this.value} %`}get isOff(){return"off"===this.stateObj.state}get _min(){return this.stateObj.attributes.min_humidity}get _max(){return this.stateObj.attributes.max_humidity}get _step(){return 1}}var ft="17.3.0";class mt extends tt{setConfig(t){if(this._config=t,!t.entity)throw new Error("No entity specified.");const e=t.entity.split(".")[0],s=function(t){return{light:lt,media_player:ht,climate:ut,water_heater:bt,cover:ct,fan:dt,input_number:_t,input_select:pt,number:gt,humidifier:vt}[t]}(e);if(!s)throw new Error(`Unsupported entity type: ${e}`);this.ctrl=new s(t)}async resized(){await this.updateComplete,this.shadowRoot&&this.parentElement&&(this.hide_state=this._config.full_row?this.parentElement.clientWidth<=180:this.parentElement.clientWidth<=335)}async firstUpdated(){await this.resized()}render(){var t;const e=this.ctrl;if(e.hass=this.hass,!e.stateObj)return H` + `:void 0}get isOff(){return!this.stateObj||"unavailable"===this.stateObj.state||("off"===this.stateObj.state||0===this.value)}get min(){var t,e;return null!==(e=null!==(t=this._config.min)&&void 0!==t?t:this._min)&&void 0!==e?e:0}get max(){var t,e;return null!==(e=null!==(t=this._config.max)&&void 0!==t?t:this._max)&&void 0!==e?e:100}get step(){var t,e;return null!==(e=null!==(t=this._config.step)&&void 0!==t?t:this._step)&&void 0!==e?e:5}get dir(){var t;return null!==(t=this._config.dir)&&void 0!==t?t:void 0}}ut.allowed_attributes=[];const dt={red:0,green:1,blue:2,white:3,cold_white:3,warm_white:4},_t={hue:0,saturation:1};class pt extends ut{get attribute(){return this._config.attribute||"brightness_pct"}get _rgbww(){const t=this.stateObj.attributes;switch(t.color_mode){case"rgb":case"hs":case"xy":return[...t.rgb_color,0,0];case"rgbw":return[...t.rgbw_color,0];case"rgbww":return[...t.rgbww_color];default:return[0,0,0,0,0]}}get _value(){if(!this.stateObj||"on"!==this.stateObj.state)return 0;const t=this.stateObj.attributes;switch(this.attribute){case"color_temp":return Math.round(t.color_temp_kelvin);case"color_temp_mired":return Math.round(t.color_temp);case"white_value":return Math.round(t.white_value);case"brightness":return Math.round(t.brightness);case"brightness_pct":return Math.round(100*t.brightness/255);case"red":case"green":case"blue":return t.rgb_color?Math.round(this._rgbww[dt[this.attribute]]):0;case"white":return t.rgbw_color?Math.round(100*this._rgbww[dt[this.attribute]]/255):0;case"cold_white":case"warm_white":return t.rgbww_color?Math.round(100*this._rgbww[dt[this.attribute]]/255):0;case"hue":case"saturation":return t.hs_color?Math.round(t.hs_color[_t[this.attribute]]):0;case"effect":return t.effect_list?t.effect_list.indexOf(t.effect):0;default:return 0}}get _step(){return"effect"===this.attribute?1:5}get _min(){switch(this.attribute){case"color_temp":return this.stateObj?this.stateObj.attributes.min_color_temp_kelvin:0;case"color_temp_mired":return this.stateObj?this.stateObj.attributes.min_mireds:0;default:return 0}}get _max(){switch(this.attribute){case"color_temp":return this.stateObj?this.stateObj.attributes.max_color_temp_kelvin:0;case"color_temp_mired":return this.stateObj?this.stateObj.attributes.max_mireds:0;case"red":case"green":case"blue":case"white_value":case"brightness":return 255;case"hue":return 360;case"effect":return this.stateObj&&this.stateObj.attributes.effect_list?this.stateObj.attributes.effect_list.length-1:0;default:return 100}}get isOff(){return"on"!==this.stateObj.state}set _value(t){if(!this.stateObj)return;const e=this.stateObj.attributes.color_mode;let s,i=this.attribute,r=!0;switch(i){case"brightness":case"brightness_pct":(t="brightness"===i?Math.round(t):Math.round(t/100*255))||(r=!1),i="brightness";break;case"red":case"green":case"blue":if(s=this._rgbww,s[dt[i]]=t,"rgbww"===e){i="rgbww_color",t=s;break}if("rgbw"===e){i="rgbw_color",t=s.slice(0,4);break}i="rgb_color",t=s.slice(0,3);break;case"white":s=this._rgbww,s[dt[i]]=Math.round(t/100*255),t=s.slice(0,4),i="rgbw_color";break;case"cold_white":case"warm_white":s=this._rgbww,s[dt[i]]=Math.round(t/100*255),t=s,i="rgbww_color";break;case"hue":case"saturation":s=this.stateObj.attributes.hs_color||[0,0],s[_t[i]]=t,t=s,i="hs_color";break;case"effect":t=this.stateObj.attributes.effect_list[t],i="effect";break;case"color_temp":i="kelvin";break;case"color_temp_mired":i="color_temp"}r?this._hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,[i]:t}):this._hass.callService("light","turn_off",{entity_id:this.stateObj.entity_id})}get string(){if(this.stateObj&&"off"===this.stateObj.state)return this._hass.localize("component.light.entity_component._.state.off");switch(this.attribute){case"color_temp_mired":case"brightness":return`${this.value}`;case"color_temp":return`${this.value} K`;case"brightness_pct":case"saturation":return`${this.value} %`;case"hue":return`${this.value} °`;case"effect":return this.stateObj?this.stateObj.attributes.effect:"";default:return this.value}}get hasSlider(){var t,e,s,i,r,n,a;const o=this.stateObj.attributes,h=2&o.supported_features||(null===(t=o.supported_color_modes)||void 0===t?void 0:t.some((t=>["color_temp"].includes(t)))),l=16&o.supported_features||(null===(e=o.supported_color_modes)||void 0===e?void 0:e.some((t=>["rgb","rgbw","rgbww"].includes(t)))),c=null===(s=o.supported_color_modes)||void 0===s?void 0:s.some((t=>["rgbw"].includes(t))),u=null===(i=o.supported_color_modes)||void 0===i?void 0:i.some((t=>["rgbww"].includes(t))),d=16&o.supported_features||(null===(r=o.supported_color_modes)||void 0===r?void 0:r.some((t=>["hs"].includes(t)))),_=null===(n=o.supported_color_modes)||void 0===n?void 0:n.some((t=>["xy"].includes(t))),p=1&o.supported_features||h||l||d||_||(null===(a=o.supported_color_modes)||void 0===a?void 0:a.some((t=>["brightness"].includes(t)))),g=l||d;if(!this.stateObj)return!1;switch(this.attribute){case"brightness":case"brightness_pct":return!(!("brightness"in this.stateObj.attributes)&&!p);case"color_temp":case"color_temp_mired":return!(!("color_temp"in this.stateObj.attributes)&&!h);case"white_value":return!!(128&o.supported_features||"white_value"in this.stateObj.attributes);case"white":return!!c;case"cold_white":case"warm_white":return!!u;case"red":case"green":case"blue":return!(!("rgb_color"in this.stateObj.attributes)&&!g);case"hue":case"saturation":return!(!("hs_color"in this.stateObj.attributes)&&!g);case"effect":return"effect"in this.stateObj.attributes||"effect_list"in this.stateObj.attributes;default:return!1}}get background(){return"hue"===this.attribute?"linear-gradient(to right,red,yellow,green,cyan,blue,magenta,red)":"color_temp_mired"===this.attribute?"linear-gradient(to right,rgb(166,209,255),rgb(255,255,255),rgb(255,160,0))":"color_temp"===this.attribute?"linear-gradient(to left,rgb(166,209,255),rgb(255,255,255),rgb(255,160,0))":"red"===this.attribute?"linear-gradient(to right,rgb(0,0,0),rgb(255,0,0))":"green"===this.attribute?"linear-gradient(to right,rgb(0,0,0),rgb(0,255,0))":"blue"===this.attribute?"linear-gradient(to right,rgb(0,0,0),rgb(0,0,255))":"brightness"===this.attribute?"linear-gradient(to right,rgb(0,0,0),rgb(255,255,255))":void 0}}pt.allowed_attributes=["brightness_pct","brightness","color_temp","color_temp_mired","hue","saturation","red","green","blue","effect","white","cold_white","warm_white"];class gt extends ut{get attribute(){return this._config.attribute||"position"}get _value(){switch(this.attribute){case"position":return"closed"===this.stateObj.state?0:this.stateObj.attributes.current_position;case"tilt":return this.stateObj.attributes.current_tilt_position;default:return 0}}set _value(t){switch(this.attribute){case"position":this._hass.callService("cover","set_cover_position",{entity_id:this.stateObj.entity_id,position:t});break;case"tilt":this._hass.callService("cover","set_cover_tilt_position",{entity_id:this.stateObj.entity_id,tilt_position:t})}}get string(){if(!this.hasSlider)return"";switch(this.attribute){case"position":return"closed"===this.stateObj.state?this._hass.localize("component.cover.entity_component._.state.closed"):100===this.value?this._hass.localize("component.cover.entity_component._.state.open"):`${this.value} %`;case"tilt":return`${this.value} %`}}get hasToggle(){return!0}renderToggle(t){const e=t.states[this.stateObj.entity_id];return console.log("Toggle",t),B` + + `}get hasSlider(){switch(this.attribute){case"position":if("current_position"in this.stateObj.attributes)return!0;if("supported_features"in this.stateObj.attributes&&4&this.stateObj.attributes.supported_features)return!0;case"tilt":if("current_tilt_position"in this.stateObj.attributes)return!0;if("supported_features"in this.stateObj.attributes&&128&this.stateObj.attributes.supported_features)return!0;default:return!1}}get _step(){return 10}}gt.allowed_attributes=["position","tilt"];const bt={light:pt,media_player:class extends ut{get _value(){return this.stateObj.attributes.is_volume_muted?0:Math.round(100*this.stateObj.attributes.volume_level)}set _value(t){t/=100,this._hass.callService("media_player","volume_set",{entity_id:this.stateObj.entity_id,volume_level:t}),t&&this.stateObj.attributes.is_volume_muted&&this._hass.callService("media_player","volume_mute",{entity_id:this.stateObj.entity_id,is_volume_muted:!1})}get isOff(){return"off"===this.stateObj.state}get string(){return this.stateObj.attributes.is_volume_muted?"-":this.stateObj.attributes.volume_level?`${this.value} %`:this._hass.localize("component.media_player.entity_component._.state.off")}get hasToggle(){return!0}_handleMute(){this._hass.callService("media_player","volume_mute",{entity_id:this.stateObj.entity_id,is_volume_muted:!this.stateObj.attributes.is_volume_muted})}renderToggle(t){const e=t.states[this.stateObj.entity_id],s=document.createElement("ha-icon");s.style.display="flex",s.icon=e.attributes.is_volume_muted?"mdi:volume-off":"mdi:volume-high";const i=document.createElement("ha-icon-button");return i.appendChild(s),i.addEventListener("click",(()=>this._handleMute())),this.hasToggle?i:void 0}},climate:class extends ut{get _value(){return this.stateObj.attributes.temperature}set _value(t){this._hass.callService("climate","set_temperature",{entity_id:this.stateObj.entity_id,temperature:t})}get string(){return`${this.value} ${this._hass.config.unit_system.temperature}`}get isOff(){return"off"===this.stateObj.state}get _min(){return this.stateObj.attributes.min_temp}get _max(){return this.stateObj.attributes.max_temp}get _step(){return 1}},water_heater:class extends ut{get _value(){return this.stateObj.attributes.temperature}set _value(t){this._hass.callService("water_heater","set_temperature",{entity_id:this.stateObj.entity_id,temperature:t})}get string(){return`${this.value} ${this._hass.config.unit_system.temperature}`}get isOff(){return"off"===this.stateObj.state}get _min(){return this.stateObj.attributes.min_temp}get _max(){return this.stateObj.attributes.max_temp}get _step(){return 1}},cover:gt,fan:class extends ut{get _value(){return"off"!==this.stateObj.state?this.stateObj.attributes.percentage:0}set _value(t){t>0?this._hass.callService("fan","set_percentage",{entity_id:this.stateObj.entity_id,percentage:t}):this._hass.callService("fan","turn_off",{entity_id:this.stateObj.entity_id})}get string(){return"off"===this.stateObj.state?this._hass.localize("component.light.entity_component._.state.off"):`${this.stateObj.attributes.percentage} %`}get hasSlider(){return"percentage"in this.stateObj.attributes}get _step(){return this.stateObj.attributes.percentage_step}},input_number:class extends ut{get _value(){return this.stateObj.state}set _value(t){this._hass.callService("input_number","set_value",{entity_id:this.stateObj.entity_id,value:t})}get string(){return`${parseFloat(this.stateObj.state)} ${this.stateObj.attributes.unit_of_measurement||""}`.trim()}get isOff(){return!1}get hasToggle(){return!1}get hasSlider(){return"slider"===this.stateObj.attributes.mode}get _min(){return this.stateObj.attributes.min}get _max(){return this.stateObj.attributes.max}get _step(){return this.stateObj.attributes.step}},input_select:class extends ut{get _value(){return this.stateObj.attributes.options.indexOf(this.stateObj.state)}set _value(t){t in this.stateObj.attributes.options&&this._hass.callService("input_select","select_option",{entity_id:this.stateObj.entity_id,option:this.stateObj.attributes.options[t]})}get string(){return this.stateObj.state}get isOff(){return!1}get hasToggle(){return!1}get hasSlider(){return this.stateObj.attributes.options&&this.stateObj.attributes.options.length>0}get _max(){return this.stateObj.attributes.options.length-1}get _step(){return 1}},number:class extends ut{get _value(){return this.stateObj.state}set _value(t){this._hass.callService("number","set_value",{entity_id:this.stateObj.entity_id,value:t})}get string(){return`${parseFloat(this.stateObj.state)} ${this.stateObj.attributes.unit_of_measurement||""}`.trim()}get isOff(){return!1}get hasToggle(){return!1}get hasSlider(){return!0}get _min(){return this.stateObj.attributes.min}get _max(){return this.stateObj.attributes.max}get _step(){return this.stateObj.attributes.step}},humidifier:class extends ut{get _value(){return this.stateObj.attributes.humidity}set _value(t){this._hass.callService("humidifier","set_humidity",{entity_id:this.stateObj.entity_id,humidity:t})}get string(){return`${this.value} %`}get isOff(){return"off"===this.stateObj.state}get _min(){return this.stateObj.attributes.min_humidity}get _max(){return this.stateObj.attributes.max_humidity}get _step(){return 1}},timer:class extends ut{constructor(t,e){super(t,e),this._calcvalue=0,this._calcvalue=0,this._interval=window.setInterval((()=>{this._calcvalue=this.calculate_value(),e.requestUpdate()}),1e3)}get _value(){return this._calcvalue}calculate_value(){let t=this.stateObj.attributes.remaining;if(!t)return 0;const e=t.split(":").map(Number);if(t=3600*e[0]+60*e[1]+e[2],"active"===this.stateObj.state){const e=(new Date).getTime(),s=new Date(this.stateObj.last_changed).getTime();t=Math.max(t-(e-s)/1e3,0)}return t}set _value(t){t?this._hass.callService("timer","start",{entity_id:this.stateObj.entity_id,duration:t}):this._hass.callService("timer","finish",{entity_id:this.stateObj.entity_id})}get string(){if("active"===this.stateObj.state){const t=t=>t<10?`0${t}`:`${t}`,e=Math.floor(this.value/3600),s=Math.floor(this.value%3600/60),i=Math.floor(this.value%60);return e>0?`${e}:${t(s)}:${t(i)}`:s>0?`${s}:${t(i)}`:`${i}`}return this._hass.localize("component.timer.entity_component._.state.idle")}get isOff(){return"active"!==this.stateObj.state}get _min(){return 0}get _max(){return 300}get _step(){return 1}}};var ft="17.4.0";class mt extends nt{setConfig(t){this._config=t}_schema(t){var e,s,i;const r=Object.keys(bt);console.log(t,bt[t],null===(e=bt[t])||void 0===e?void 0:e.allowed_attributes);const n=null!==(i=null===(s=bt[t])||void 0===s?void 0:s.allowed_attributes)&&void 0!==i?i:[];return[{name:"entity",required:!0,selector:{entity:{filter:[{domain:r}]}}},{type:"grid",name:"",schema:[{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}}]},{type:"grid",name:"",schema:[{name:"min",selector:{number:{min:-1e32,max:1e32,mode:"box"}}},{name:"max",selector:{number:{min:-1e32,max:1e32,mode:"box"}}},{name:"step",selector:{number:{min:-1e32,max:1e32,mode:"box"}}}]},{type:"grid",name:"",schema:[{name:"toggle",selector:{boolean:{}}},{name:"hide_state",selector:{boolean:{}}},{name:"hide_when_off",selector:{boolean:{}}},{name:"full_row",selector:{boolean:{}}},{name:"show_icon",selector:{boolean:{}}}]},n.length?{type:"grid",name:"",schema:[{name:"attribute",selector:{select:{options:n}}},{name:"colorize",selector:{boolean:{}}}]}:{}]}render(){var t,e;if(!this.hass||!this._config)return"";const s=this._schema(null===(e=null===(t=this._config.entity)||void 0===t?void 0:t.split("."))||void 0===e?void 0:e[0]);return B` + + `}_valueChanged(t){this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:t.detail.value}}))}}t([lt()],mt.prototype,"hass",void 0),t([function(t){return lt({...t,state:!0,attribute:!1})}()],mt.prototype,"_config",void 0),customElements.define("slider-entity-row-editor",mt);class vt extends nt{setConfig(t){if(this._config=t,!t.entity)throw new Error("No entity specified.");const e=t.entity.split(".")[0],s=function(t){return bt[t]}(e);if(!s)throw new Error(`Unsupported entity type: ${e}`);this.ctrl=new s(t,this)}static getConfigElement(){return console.log("GetConfigElement"),document.createElement("slider-entity-row-editor")}async resized(){var t,e;await this.updateComplete,this.shadowRoot&&this.parentElement&&(this.hide_state=this._config.full_row?(null===(t=this.parentElement)||void 0===t?void 0:t.clientWidth)<=180:(null===(e=this.parentElement)||void 0===e?void 0:e.clientWidth)<=335)}async firstUpdated(){await this.resized()}async updated(){var t;if(!this._slider)return;if(await this._slider.updateComplete,this._slider.shadowRoot.querySelector("style.slider-entity-row"))return;const e=document.createElement("style");e.classList.add("slider-entity-row"),e.innerHTML=".container .track::before{background: var(--_inactive-track-color);}\n .container .track::after{background: var(--_active-track-color);}",null===(t=this._slider.shadowRoot)||void 0===t||t.appendChild(e)}async connectedCallback(){super.connectedCallback(),await this.resized()}render(){var t;const e=this.ctrl;if(e.hass=this.hass,!e.stateObj)return B` ${this.hass.localize("ui.panel.lovelace.warning.entity_not_found","entity",this._config.entity)} - `;const s=(null!==(t=e.dir)&&void 0!==t?t:this.hass.translationMetadata.translations[this.hass.language||"en"].isRTL)?"rtl":"ltr",i="unavailable"!==e.stateObj.state&&e.hasSlider&&!(e.isOff&&this._config.hide_when_off),r=this._config.toggle&&e.hasToggle,n=!r&&(!1===this._config.hide_state||!this._config.hide_state&&!this.hide_state&&(!e.isOff||!this._config.hide_when_off)),a=H` + `;const s=(null!==(t=e.dir)&&void 0!==t?t:this.hass.translationMetadata.translations[this.hass.language||"en"].isRTL)?"rtl":"ltr",i="unavailable"!==e.stateObj.state&&e.hasSlider&&!(e.isOff&&this._config.hide_when_off),r=this._config.toggle&&e.hasToggle,n=!r&&(!1===this._config.hide_state||!this._config.hide_state&&!this.hide_state&&(!e.isOff||!this._config.hide_when_off)),a=B`
t.stopPropagation()}> - ${i?H` - ${this._config.colorize&&e.background?H` + ${i?B` + ${this._config.colorize&&e.background?B` @@ -25,6 +36,7 @@ function t(t,e,s,i){var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPro .step=${e.step} .value=${e.value} .dir=${s} + labeled pin @change=${t=>e.value=this.shadowRoot.querySelector("ha-slider").value} class=${this._config.full_row||this._config.grow?"full":""} @@ -32,11 +44,11 @@ function t(t,e,s,i){var r,n=arguments.length,a=n<3?e:null===i?i=Object.getOwnPro > `:""} ${r?e.renderToggle(this.hass):""} - ${n?H` + ${n?B` ${"unavailable"===e.stateObj.state?this.hass.localize("state.default.unavailable"):e.string} `:""}
- `;if(this._config.full_row){if(this._config.hide_when_off&&e.isOff)return H``;if(!0===this._config.show_icon){const t=this._config;return H` + `;if(this._config.full_row){if(this._config.hide_when_off&&e.isOff)return B``;if(!0===this._config.show_icon){const t=this._config;return B`
${a}
- `}return a}return H` + `}return a}return B` {const n=e=>e.renderRoot?.querySelector(t)??null;if(e){const{get:t,set:a}="object"==typeof i?s:r??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return ct(s,i,{get(){if(e){let e=t.call(this);return void 0===e&&(e=n(this),a.call(this,e)),e}return n(this)}})}return ct(s,i,{get(){return n(this)}})}}("ha-slider")],vt.prototype,"_slider",void 0),customElements.get("slider-entity-row")||(customElements.define("slider-entity-row",vt),console.info(`%cSLIDER-ENTITY-ROW ${ft} IS INSTALLED`,"color: green; font-weight: bold","")); diff --git a/www/community/lovelace-slider-entity-row/slider-entity-row.js.gz b/www/community/lovelace-slider-entity-row/slider-entity-row.js.gz index cdecb93565dd605cf64aeb464d161f9917c1614e..b59e9ce5c6b59cd1a54bbb4469b9a526e1cb8282 100644 GIT binary patch literal 10850 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