iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
5 lines • 15.1 kB
JavaScript
export const __webpack_ids__=["99457"];export const __webpack_modules__={17170:function(e,t,i){i.a(e,(async function(e,n){try{i.r(t),i.d(t,{HaSpinner:()=>h});var a=i(44249),o=i(72621),s=i(97677),r=i(43580),c=i(57243),l=i(15093),d=e([s]);s=(d.then?(await d)():d)[0];let h=(0,a.Z)([(0,l.Mo)("ha-spinner")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,l.Cb)()],key:"size",value:void 0},{kind:"method",key:"updated",value:function(e){if((0,o.Z)(i,"updated",this,3)([e]),e.has("size"))switch(this.size){case"tiny":this.style.setProperty("--ha-spinner-size","16px");break;case"small":this.style.setProperty("--ha-spinner-size","28px");break;case"medium":this.style.setProperty("--ha-spinner-size","48px");break;case"large":this.style.setProperty("--ha-spinner-size","68px");break;case void 0:this.style.removeProperty("--ha-progress-ring-size")}}},{kind:"field",static:!0,key:"styles",value:()=>[r.Z,c.iv`:host{--indicator-color:var(
--ha-spinner-indicator-color,
var(--primary-color)
);--track-color:var(--ha-spinner-divider-color, var(--divider-color));--track-width:4px;--speed:3.5s;font-size:var(--ha-spinner-size, 48px)}`]}]}}),s.Z);n()}catch(e){n(e)}}))},57733:function(e,t,i){i.a(e,(async function(e,n){try{i.r(t);var a=i(44249),o=i(72621),s=(i(92745),i(9359),i(31526),i(70104),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814),i(57243)),r=i(15093),c=i(35359),l=i(20552),d=i(73358),h=i(82393),u=i(73850),f=i(47194),g=(i(54977),i(23334),i(51223)),p=i(72099),m=i(3967),v=i(69223),y=i(1617),_=i(5684),b=i(93331),w=i(29401),k=i(63848),x=i(62577),$=(i(76986),e([g,k]));[g,k]=$.then?(await $)():$;const C=new Set(["closed","locked","not_home","off"]);(0,a.Z)([(0,r.Mo)("hui-picture-glance-card")],(function(e,t){class n extends t{constructor(...t){super(...t),e(this)}}return{F:n,d:[{kind:"method",static:!0,key:"getConfigElement",value:async function(){return await Promise.all([i.e("46379"),i.e("24199"),i.e("27506"),i.e("27090"),i.e("3049"),i.e("15134")]).then(i.bind(i,47393)),document.createElement("hui-picture-glance-card-editor")}},{kind:"method",static:!0,key:"getStubConfig",value:function(e,t,i){return{type:"picture-glance",title:"Kitchen",image:"https://demo.home-assistant.io/stub_config/kitchen.png",entities:(0,v.j)(e,2,t,i,["sensor","binary_sensor"])}}},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_config",value:void 0},{kind:"field",key:"_entitiesDialog",value:void 0},{kind:"field",key:"_entitiesToggle",value:void 0},{kind:"method",key:"getCardSize",value:function(){return 3}},{kind:"method",key:"setConfig",value:function(e){if(!e||!e.entities||!Array.isArray(e.entities)||!(e.image||e.image_entity||e.camera_image||e.state_image)||e.state_image&&!e.entity)throw new Error("Invalid configuration");const t=(0,w.A)(e.entities);this._entitiesDialog=[],this._entitiesToggle=[],t.forEach((t=>{e.force_dialog||!d.Kk.has((0,u.M)(t.entity))?this._entitiesDialog.push(t):this._entitiesToggle.push(t)})),this._config={tap_action:{action:"more-info"},...e}}},{kind:"method",key:"shouldUpdate",value:function(e){if(!this._config||(0,b.G2)(this,e))return!0;if(!e.has("hass"))return!1;const t=e.get("hass");if(!t||t.themes!==this.hass.themes||t.locale!==this.hass.locale)return!0;if(this._config.image_entity&&t.states[this._config.image_entity]!==this.hass.states[this._config.image_entity])return!0;if(this._entitiesDialog)for(const e of this._entitiesDialog)if(t.states[e.entity]!==this.hass.states[e.entity])return!0;if(this._entitiesToggle)for(const e of this._entitiesToggle)if(t.states[e.entity]!==this.hass.states[e.entity])return!0;return!1}},{kind:"method",key:"updated",value:function(e){if((0,o.Z)(n,"updated",this,3)([e]),!this._config||!this.hass)return;const t=e.get("hass"),i=e.get("_config");t&&i&&t.themes===this.hass.themes&&i.theme===this._config.theme||(0,h.R)(this,this.hass.themes,this._config.theme)}},{kind:"method",key:"render",value:function(){if(!this._config||!this.hass)return s.Ld;let e=this._config.image;if(this._config.image_entity){const t=this.hass.states[this._config.image_entity];switch((0,u.M)(this._config.image_entity)){case"image":e=(0,p.U)(t);break;case"person":t.attributes.entity_picture&&(e=t.attributes.entity_picture)}}return s.dy` <ha-card> <hui-image class="${(0,c.$)({clickable:Boolean(this._config.tap_action||this._config.hold_action||this._config.camera_image||this._config.image_entity)})}" @action="${this._handleAction}" .actionHandler="${(0,m.K)({hasHold:(0,_._)(this._config.hold_action),hasDoubleClick:(0,_._)(this._config.double_tap_action)})}" tabindex="${(0,l.o)((0,_._)(this._config.tap_action)?"0":void 0)}" .config="${this._config}" .hass="${this.hass}" .image="${e}" .stateImage="${this._config.state_image}" .stateFilter="${this._config.state_filter}" .cameraImage="${this._config.camera_image}" .cameraView="${this._config.camera_view}" .entity="${this._config.entity}" .aspectRatio="${this._config.aspect_ratio}"></hui-image> <div class="box"> ${this._config.title?s.dy`<div class="title">${this._config.title}</div>`:""} <div class="row"> ${this._entitiesDialog.map((e=>this._renderEntity(e,!0)))} </div> <div class="row"> ${this._entitiesToggle.map((e=>this._renderEntity(e,!1)))} </div> </div> </ha-card> `}},{kind:"method",key:"_renderEntity",value:function(e,t){const i=this.hass.states[e.entity];return e={tap_action:{action:t?"more-info":"toggle"},hold_action:{action:"more-info"},...e},i?s.dy` <div class="wrapper"> <ha-icon-button @action="${this._handleAction}" .actionHandler="${(0,m.K)({hasHold:(0,_._)(e.hold_action),hasDoubleClick:(0,_._)(e.double_tap_action)})}" tabindex="${(0,l.o)((0,_._)(e.tap_action)?void 0:"-1")}" .disabled="${!(0,_._)(e.tap_action)}" .config="${e}" class="${(0,c.$)({"state-on":!C.has(i.state)})}" title="${`${(0,f.C)(i)} : ${this.hass.formatEntityState(i)}`}"> <ha-state-icon .icon="${e.icon}" .stateObj="${i}" .hass="${this.hass}"></ha-state-icon> </ha-icon-button> ${!0!==this._config.show_state&&!0!==e.show_state?s.dy`<div class="state"></div>`:s.dy` <div class="state"> ${e.attribute?s.dy` ${e.prefix}${i.attributes[e.attribute]}${e.suffix} `:this.hass.formatEntityState(i)} </div> `} </div> `:s.dy` <hui-warning-element .label="${(0,x.i)(this.hass,e.entity)}"></hui-warning-element> `}},{kind:"method",key:"_handleAction",value:function(e){const t=e.currentTarget.config;(0,y.G)(this,this.hass,t,e.detail.action)}},{kind:"field",static:!0,key:"styles",value:()=>s.iv`ha-card{position:relative;min-height:48px;overflow:hidden;height:100%;box-sizing:border-box}hui-image.clickable{cursor:pointer}.box{position:absolute;left:0;right:0;bottom:0;background-color:var(--ha-picture-card-background-color,rgba(0,0,0,.3));padding:4px 8px;display:flex;justify-content:space-between;flex-direction:row}.box .title{font-weight:500;margin-left:8px;margin-inline-start:8px;margin-inline-end:initial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:16px;line-height:40px;color:var(--ha-picture-card-text-color,#fff);align-self:center}ha-state-icon{font-size:0}ha-icon-button{--mdc-icon-button-size:40px;--disabled-text-color:currentColor;color:var(--ha-picture-icon-button-color,#a9a9a9)}ha-icon-button.state-on{color:var(--ha-picture-icon-button-on-color,#fff)}hui-warning-element{padding:0 8px}.state{display:block;font-size:12px;text-align:center;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ha-picture-card-text-color,#fff)}.row{display:flex;flex-direction:row}.wrapper{display:flex;flex-direction:column;width:40px}`}]}}),s.oi);n()}catch(e){n(e)}}))},48734:function(e,t,i){i.a(e,(async function(e,n){try{i.d(t,{P5:()=>u,Ve:()=>g});var a=i(16485),o=(i(9359),i(70104),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814),e([a]));a=(o.then?(await o)():o)[0];const s=new Set,r=new Map;let c,l="ltr",d="en";const h="undefined"!=typeof MutationObserver&&"undefined"!=typeof document&&void 0!==document.documentElement;if(h){const p=new MutationObserver(f);l=document.documentElement.dir||"ltr",d=document.documentElement.lang||navigator.language,p.observe(document.documentElement,{attributes:!0,attributeFilter:["dir","lang"]})}function u(...e){e.map((e=>{const t=e.$code.toLowerCase();r.has(t)?r.set(t,Object.assign(Object.assign({},r.get(t)),e)):r.set(t,e),c||(c=e)})),f()}function f(){h&&(l=document.documentElement.dir||"ltr",d=document.documentElement.lang||navigator.language),[...s.keys()].map((e=>{"function"==typeof e.requestUpdate&&e.requestUpdate()}))}class g{constructor(e){this.host=e,this.host.addController(this)}hostConnected(){s.add(this.host)}hostDisconnected(){s.delete(this.host)}dir(){return`${this.host.dir||l}`.toLowerCase()}lang(){return`${this.host.lang||d}`.toLowerCase()}getTranslationData(e){var t,i;const n=new Intl.Locale(e.replace(/_/g,"-")),a=null==n?void 0:n.language.toLowerCase(),o=null!==(i=null===(t=null==n?void 0:n.region)||void 0===t?void 0:t.toLowerCase())&&void 0!==i?i:"";return{locale:n,language:a,region:o,primary:r.get(`${a}-${o}`),secondary:r.get(a)}}exists(e,t){var i;const{primary:n,secondary:a}=this.getTranslationData(null!==(i=t.lang)&&void 0!==i?i:this.lang());return t=Object.assign({includeFallback:!1},t),!!(n&&n[e]||a&&a[e]||t.includeFallback&&c&&c[e])}term(e,...t){const{primary:i,secondary:n}=this.getTranslationData(this.lang());let a;if(i&&i[e])a=i[e];else if(n&&n[e])a=n[e];else{if(!c||!c[e])return console.error(`No translation found for: ${String(e)}`),String(e);a=c[e]}return"function"==typeof a?a(...t):a}date(e,t){return e=new Date(e),new Intl.DateTimeFormat(this.lang(),t).format(e)}number(e,t){return e=Number(e),isNaN(e)?"":new Intl.NumberFormat(this.lang(),t).format(e)}relativeTime(e,t,i){return new Intl.RelativeTimeFormat(this.lang(),i).format(e,t)}}n()}catch(m){n(m)}}))},68783:function(e,t,i){i.a(e,(async function(e,n){try{i.d(t,{A:()=>d});var a=i(64699),o=i(15073),s=i(81048),r=i(31027),c=i(57243),l=e([o]);o=(l.then?(await l)():l)[0];var d=class extends r.P{constructor(){super(...arguments),this.localize=new o.V(this)}render(){return c.dy` <svg part="base" class="spinner" role="progressbar" aria-label="${this.localize.term("loading")}"> <circle class="spinner__track"></circle> <circle class="spinner__indicator"></circle> </svg> `}};d.styles=[s.N,a.D],n()}catch(e){n(e)}}))},31027:function(e,t,i){i.d(t,{P:()=>r});i(9359),i(31526);var n,a=i(52812),o=i(57243),s=i(15093),r=class extends o.oi{constructor(){super(),(0,a.Ko)(this,n,!1),this.initialReflectedProperties=new Map,Object.entries(this.constructor.dependencies).forEach((([e,t])=>{this.constructor.define(e,t)}))}emit(e,t){const i=new CustomEvent(e,(0,a.ih)({bubbles:!0,cancelable:!1,composed:!0,detail:{}},t));return this.dispatchEvent(i),i}static define(e,t=this,i={}){const n=customElements.get(e);if(!n){try{customElements.define(e,t,i)}catch(n){customElements.define(e,class extends t{},i)}return}let a=" (unknown version)",o=a;"version"in t&&t.version&&(a=" v"+t.version),"version"in n&&n.version&&(o=" v"+n.version),a&&o&&a===o||console.warn(`Attempted to register <${e}>${a}, but <${e}>${o} has already been registered.`)}attributeChangedCallback(e,t,i){(0,a.ac)(this,n)||(this.constructor.elementProperties.forEach(((e,t)=>{e.reflect&&null!=this[t]&&this.initialReflectedProperties.set(t,this[t])})),(0,a.qx)(this,n,!0)),super.attributeChangedCallback(e,t,i)}willUpdate(e){super.willUpdate(e),this.initialReflectedProperties.forEach(((t,i)=>{e.has(i)&&null==this[i]&&(this[i]=t)}))}};n=new WeakMap,r.version="2.20.1",r.dependencies={},(0,a.u2)([(0,s.Cb)()],r.prototype,"dir",2),(0,a.u2)([(0,s.Cb)()],r.prototype,"lang",2)},15073:function(e,t,i){i.a(e,(async function(e,n){try{i.d(t,{V:()=>r});var a=i(21262),o=i(48734),s=e([o,a]);[o,a]=s.then?(await s)():s;var r=class extends o.Ve{};(0,o.P5)(a.K),n()}catch(e){n(e)}}))},21262:function(e,t,i){i.a(e,(async function(e,n){try{i.d(t,{K:()=>r});var a=i(48734),o=e([a]);a=(o.then?(await o)():o)[0];var s={$code:"en",$name:"English",$dir:"ltr",carousel:"Carousel",clearEntry:"Clear entry",close:"Close",copied:"Copied",copy:"Copy",currentValue:"Current value",error:"Error",goToSlide:(e,t)=>`Go to slide ${e} of ${t}`,hidePassword:"Hide password",loading:"Loading",nextSlide:"Next slide",numOptionsSelected:e=>0===e?"No options selected":1===e?"1 option selected":`${e} options selected`,previousSlide:"Previous slide",progress:"Progress",remove:"Remove",resize:"Resize",scrollToEnd:"Scroll to end",scrollToStart:"Scroll to start",selectAColorFromTheScreen:"Select a color from the screen",showPassword:"Show password",slideNum:e=>`Slide ${e}`,toggleColorFormat:"Toggle color format"};(0,a.P5)(s);var r=s;n()}catch(e){n(e)}}))},64699:function(e,t,i){i.d(t,{D:()=>n});var n=i(57243).iv`:host{--track-width:2px;--track-color:rgb(128 128 128 / 25%);--indicator-color:var(--sl-color-primary-600);--speed:2s;display:inline-flex;width:1em;height:1em;flex:none}.spinner{flex:1 1 auto;height:100%;width:100%}.spinner__indicator,.spinner__track{fill:none;stroke-width:var(--track-width);r:calc(0.5em - var(--track-width)/ 2);cx:0.5em;cy:0.5em;transform-origin:50% 50%}.spinner__track{stroke:var(--track-color);transform-origin:0% 0%}.spinner__indicator{stroke:var(--indicator-color);stroke-linecap:round;stroke-dasharray:150% 75%;animation:spin var(--speed) linear infinite}@keyframes spin{0%{transform:rotate(0deg);stroke-dasharray:0.05em,3em}50%{transform:rotate(450deg);stroke-dasharray:1.375em,1.375em}100%{transform:rotate(1080deg);stroke-dasharray:0.05em,3em}}`},52812:function(e,t,i){i.d(t,{EZ:()=>f,Ko:()=>v,ac:()=>m,ih:()=>u,qx:()=>y,u2:()=>g});var n=Object.defineProperty,a=Object.defineProperties,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,d=e=>{throw TypeError(e)},h=(e,t,i)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,u=(e,t)=>{for(var i in t||(t={}))c.call(t,i)&&h(e,i,t[i]);if(r)for(var i of r(t))l.call(t,i)&&h(e,i,t[i]);return e},f=(e,t)=>a(e,s(t)),g=(e,t,i,a)=>{for(var s,r=a>1?void 0:a?o(t,i):t,c=e.length-1;c>=0;c--)(s=e[c])&&(r=(a?s(t,i,r):s(r))||r);return a&&r&&n(t,i,r),r},p=(e,t,i)=>t.has(e)||d("Cannot "+i),m=(e,t,i)=>(p(e,t,"read from private field"),i?i.call(e):t.get(e)),v=(e,t,i)=>t.has(e)?d("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),y=(e,t,i,n)=>(p(e,t,"write to private field"),n?n.call(e,i):t.set(e,i),i)},81048:function(e,t,i){i.d(t,{N:()=>n});var n=i(57243).iv`:host{box-sizing:border-box}:host *,:host ::after,:host ::before{box-sizing:inherit}[hidden]{display:none!important}`},97677:function(e,t,i){i.a(e,(async function(e,n){try{i.d(t,{Z:()=>a.A});var a=i(68783),o=(i(64699),i(15073)),s=i(21262),r=(i(81048),i(31027),i(52812),e([o,s,a]));[o,s,a]=r.then?(await r)():r,n()}catch(e){n(e)}}))},43580:function(e,t,i){i.d(t,{Z:()=>n.D});var n=i(64699);i(52812)}};
//# sourceMappingURL=99457.542a8ff77e226682.js.map