iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 3.82 kB
JavaScript
export const __rspack_esm_id=71751;export const __rspack_esm_ids=[71751];export const __webpack_modules__={16282(t,i,e){e.a(t,async function(t,a){try{e.r(i),e.d(i,{HuiButtonHeadingBadgeEditor:()=>C});var o=e(62826),n=e(5124),s=e(22441),c=e(22786),l=e(63533),r=e(1087),h=(e(11382),e(52763)),d=e(13898),p=e(7382),g=e(91408),_=e(999),u=t([h,d,_]);[h,d,_]=u.then?(await u)():u;const m="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",f="M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M11,5A4,4 0 0,1 15,9C15,10.5 14.2,11.77 13,12.46V11.24C13.61,10.69 14,9.89 14,9A3,3 0 0,0 11,6A3,3 0 0,0 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9A4,4 0 0,1 11,5Z",v=["navigate","url","perform-action","assist","none"],b=(0,l.Ik)({type:(0,l.lq)((0,l.Yj)()),text:(0,l.lq)((0,l.Yj)()),icon:(0,l.lq)((0,l.Yj)()),color:(0,l.lq)((0,l.Yj)()),tap_action:(0,l.lq)((0,_.W0)(g.kn,v)),hold_action:(0,l.lq)((0,_.W0)(g.kn,v)),double_tap_action:(0,l.lq)((0,_.W0)(g.kn,v)),visibility:(0,l.lq)((0,l.YO)((0,l.bz)()))});class C extends n.WF{setConfig(t){(0,l.vA)(t,b),this._config=t}render(){if(!this.hass||!this._config)return n.s6;const t=this._schema(),i=this._config.visibility??[];return n.qy` <ha-form .hass="${this.hass}" .data="${this._config}" .schema="${t}" .computeLabel="${this._computeLabelCallback}" -changed="${this._valueChanged}"></ha-form> <ha-expansion-panel outlined> <ha-svg-icon slot="leading-icon" .path="${m}"></ha-svg-icon> <h3 slot="header"> ${this.hass.localize("ui.panel.lovelace.editor.card.heading.button_config.visibility")} </h3> <div class="content"> <p class="intro"> ${this.hass.localize("ui.panel.lovelace.editor.card.heading.button_config.visibility_explanation")} </p> <ha-card-conditions-editor .hass="${this.hass}" .conditions="${i}" -changed="${this._conditionChanged}"> </ha-card-conditions-editor> </div> </ha-expansion-panel> `}_valueChanged(t){if(t.stopPropagation(),!this._config||!this.hass)return;const i=t.detail.value;(0,r.r)(this,"config-changed",{config:i})}_conditionChanged(t){if(t.stopPropagation(),!this._config||!this.hass)return;const i=t.detail.value,e={...this._config,visibility:i};0===e.visibility?.length&&delete e.visibility,(0,r.r)(this,"config-changed",{config:e})}static get styles(){return[p.U,n.AH`.container{display:flex;flex-direction:column}ha-form{display:block;margin-bottom:24px}.intro{margin:0;color:var(--secondary-text-color);margin-bottom:8px}`]}constructor(...t){super(...t),this.preview=!1,this._schema=(0,c.A)(()=>[{name:"text",selector:{text:{}}},{name:"",type:"grid",schema:[{name:"icon",selector:{icon:{}}},{name:"color",selector:{ui_color:{}}}]},{name:"interactions",type:"expandable",flatten:!0,iconPath:f,schema:[{name:"tap_action",selector:{ui_action:{actions:v,default_action:"none"}}},{name:"",type:"optional_actions",flatten:!0,schema:["hold_action","double_tap_action"].map(t=>({name:t,selector:{ui_action:{actions:v,default_action:"none"}}}))}]}]),this._computeLabelCallback=t=>{switch(t.name){case"text":case"color":return this.hass.localize(`ui.panel.lovelace.editor.card.heading.button_config.${t.name}`);default:return this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}}}(0,o.Cg)([(0,s.MZ)({attribute:!1})],C.prototype,"hass",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean})],C.prototype,"preview",void 0),(0,o.Cg)([(0,s.wk)()],C.prototype,"_config",void 0),C=(0,o.Cg)([(0,s.EM)("hui-button-heading-badge-editor")],C),a()}catch(t){a(t)}})}};