iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 6.02 kB
JavaScript
export const __webpack_ids__=["79220"];export const __webpack_modules__={94264:function(e,t,i){i.d(t,{Ec:()=>d,Mo:()=>f,Oj:()=>_,UK:()=>u,av:()=>y,s_:()=>h});i(92745),i(9359),i(68107),i(56475),i(70104),i(48136),i(52924),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814);var n=i(95262),s=i(62201),o=i(31064),r=i(96194);function a(e,t){if((0,o.T)(t)&&e.states[t])return e.states[t]?.state}function c(e,t){const i=e.entity&&t.states[e.entity]?t.states[e.entity].state:r.lz;let s=e.state??e.state_not;if(Array.isArray(s)){const e=s.map((e=>a(t,e))).filter((e=>void 0!==e));s=[...s,...e]}else if("string"==typeof s){const e=a(t,s);s=[s],e&&s.push(e)}return null!=e.state?(0,n.r)(s).includes(i):!(0,n.r)(s).includes(i)}function d(e,t){return e.every((e=>{if("condition"in e)switch(e.condition){case"screen":return!!(i=e).media_query&&matchMedia(i.media_query).matches;case"user":return function(e,t){return!(!e.users||!t.user?.id)&&e.users.includes(t.user.id)}(e,t);case"numeric_state":return function(e,t){const i=(e.entity?t.states[e.entity]:void 0)?.state;let n=e.above,s=e.below;"string"==typeof n&&(n=a(t,n)??n),"string"==typeof s&&(s=a(t,s)??s);const o=Number(i),r=Number(n),c=Number(s);return!isNaN(o)&&(null==e.above||isNaN(r)||r<o)&&(null==e.below||isNaN(c)||c>o)}(e,t);case"and":return function(e,t){return!e.conditions||d(e.conditions,t)}(e,t);case"or":return function(e,t){return!e.conditions||e.conditions.some((e=>d([e],t)))}(e,t);default:return c(e,t)}var i;return c(e,t)}))}function u(e){const t=new Set;for(const i of e)if("numeric_state"===i.condition)i.entity&&t.add(i.entity),"string"==typeof i.above&&(0,o.T)(i.above)&&t.add(i.above),"string"==typeof i.below&&(0,o.T)(i.below)&&t.add(i.below);else if("state"===i.condition)i.entity&&t.add(i.entity),[...(0,n.r)(i.state)??[],...(0,n.r)(i.state_not)??[]].forEach((e=>{e&&(0,o.T)(e)&&t.add(e)}));else if("conditions"in i&&i.conditions)return new Set([...t,...u(i.conditions)]);return t}function l(e){return null!=e.entity&&(null!=e.state||null!=e.state_not)}function h(e){return e.every((e=>{if("condition"in e)switch(e.condition){case"screen":return null!=e.media_query;case"user":return function(e){return null!=e.users}(e);case"numeric_state":return function(e){return null!=e.entity&&(null!=e.above||null!=e.below)}(e);case"and":case"or":return function(e){return null!=e.conditions}(e);default:return l(e)}return l(e)}))}function f(e,t){return"conditions"in e&&e.conditions?{...e,conditions:e.conditions.map((e=>f(e,t)))}:"state"===e.condition||"numeric_state"===e.condition?{entity:t,...e}:e}function _(e){return e.reduce(((e,t)=>("conditions"in t&&t.conditions&&e.push(..._(t.conditions)),"screen"===t.condition&&t.media_query&&e.push(t.media_query),e)),[])}function y(e,t){return _(e).map((e=>(0,s.K)(e,(e=>{t(e)}))))}},34939:function(e,t,i){i.d(t,{g:()=>d});var n=i(44249),s=i(72621),o=(i(9359),i(56475),i(31526),i(57243)),r=i(15093),a=i(48045),c=i(94264);let d=(0,n.Z)([(0,r.Mo)("hui-conditional-base")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"preview",value:()=>!1},{kind:"field",decorators:[(0,r.SB)()],key:"_config",value:void 0},{kind:"field",key:"_element",value:void 0},{kind:"field",key:"_listeners",value:()=>[]},{kind:"field",key:"_mediaQueries",value:()=>[]},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"validateConfig",value:function(e){if(!e.conditions)throw new Error("No conditions configured");if(!Array.isArray(e.conditions))throw new Error("Conditions need to be an array");if(!(0,c.s_)(e.conditions))throw new Error("Conditions are invalid");this.lastChild&&this.removeChild(this.lastChild),this._config=e}},{kind:"method",key:"disconnectedCallback",value:function(){(0,s.Z)(i,"disconnectedCallback",this,3)([]),this._clearMediaQueries()}},{kind:"method",key:"connectedCallback",value:function(){(0,s.Z)(i,"connectedCallback",this,3)([]),this._listenMediaQueries(),this._updateVisibility()}},{kind:"method",key:"_clearMediaQueries",value:function(){this._listeners.forEach((e=>e())),this._listeners=[]}},{kind:"method",key:"_listenMediaQueries",value:function(){if(!this._config||!this.hass)return;const e=this._config.conditions.filter((e=>"condition"in e)),t=(0,c.Oj)(e);if((0,a.v)(t,this._mediaQueries))return;this._clearMediaQueries();const i=this._config.conditions,n=1===i.length&&"condition"in i[0]&&"screen"===i[0].condition&&!!i[0].media_query;this._listeners=(0,c.av)(e,(e=>{n?this.setVisibility(e):this._updateVisibility()}))}},{kind:"method",key:"update",value:function(e){(0,s.Z)(i,"update",this,3)([e]),(e.has("_element")||e.has("_config")||e.has("hass")||e.has("preview"))&&(this._listenMediaQueries(),this._updateVisibility())}},{kind:"method",key:"_updateVisibility",value:function(){if(!this._element||!this.hass||!this._config)return;this._element.preview=this.preview;const e=(0,c.Ec)(this._config.conditions,this.hass);this.setVisibility(e)}},{kind:"method",key:"setVisibility",value:function(e){if(!this._element||!this.hass)return;const t=this.preview||e;this.hidden!==!t&&(this.toggleAttribute("hidden",!t),this.style.setProperty("display",t?"":"none")),t?(this._element.hass=this.hass,this._element.parentElement||this.appendChild(this._element)):this._element.parentElement&&this.removeChild(this._element)}}]}}),o.fl)},24272:function(e,t,i){i.a(e,(async function(e,n){try{i.r(t);var s=i(44249),o=i(15093),r=i(34939),a=i(46542),c=e([a]);a=(c.then?(await c)():c)[0];(0,s.Z)([(0,o.Mo)("hui-conditional-row")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"method",key:"setConfig",value:function(e){if(this.validateConfig(e),!e.row)throw new Error("No row configured");this._element=(0,a.m)(e.state_color?{state_color:!0,...e.row}:e.row)}}]}}),r.g);n()}catch(e){n(e)}}))}};
//# sourceMappingURL=79220.ef1bc02f95144cca.js.map