UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

2 lines 8.08 kB
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["83572"],{66404:function(e,t,a){a.a(e,(async function(e,i){try{a.r(t),a.d(t,{HuiTileCardEditor:()=>j});var o=a(61701),n=(a(71695),a(9359),a(70104),a(19423),a(47021),a(57243)),s=a(50778),c=a(27486),l=a(62900),r=a(36522),u=(a(41307),a(29073),a(37583),a(53251)),_=a(30571),d=a(18200),h=a(10991),f=a(71295),m=e([u,f]);[u,f]=m.then?(await m)():m;let p,g,v,y=e=>e;const b="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",k="M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 7H9V9H7V7M7 11H9V13H7V11M7 15H9V17H7V15M17 17H11V15H17V17M17 13H11V11H17V13M17 9H11V7H17V9Z",C="M4,9H20V11H4V9M4,13H14V15H4V13Z",$=(0,l.f0)(d.I,(0,l.Ry)({entity:(0,l.jt)((0,l.Z_)()),name:(0,l.jt)((0,l.Z_)()),icon:(0,l.jt)((0,l.Z_)()),hide_state:(0,l.jt)((0,l.O7)()),state_content:(0,l.jt)((0,l.G0)([(0,l.Z_)(),(0,l.IX)((0,l.Z_)())])),color:(0,l.jt)((0,l.Z_)()),show_entity_picture:(0,l.jt)((0,l.O7)()),vertical:(0,l.jt)((0,l.O7)()),tap_action:(0,l.jt)(_.fJ),hold_action:(0,l.jt)(_.fJ),double_tap_action:(0,l.jt)(_.fJ),icon_tap_action:(0,l.jt)(_.fJ),icon_hold_action:(0,l.jt)(_.fJ),icon_double_tap_action:(0,l.jt)(_.fJ),features:(0,l.jt)((0,l.IX)((0,l.Yj)())),features_position:(0,l.jt)((0,l.kE)(["bottom","inline"]))}));let j=(0,o.Z)([(0,s.Mo)("hui-tile-card-editor")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_config",value:void 0},{kind:"method",key:"setConfig",value:function(e){(0,l.hu)(e,$),this._config=e}},{kind:"field",key:"_schema",value(){return(0,c.Z)(((e,t,a)=>[{name:"entity",selector:{entity:{}}},{name:"content",flatten:!0,type:"expandable",iconPath:C,schema:[{name:"",type:"grid",schema:[{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"color",selector:{ui_color:{default_color:"state",include_state:!0}}},{name:"show_entity_picture",selector:{boolean:{}}},{name:"hide_state",selector:{boolean:{}}}]},...a?[]:[{name:"state_content",selector:{ui_state_content:{}},context:{filter_entity:"entity"}}],{name:"content_layout",required:!0,selector:{select:{mode:"box",options:["horizontal","vertical"].map((t=>({label:e(`ui.panel.lovelace.editor.card.tile.content_layout_options.${t}`),value:t,image:{src:`/static/images/form/tile_content_layout_${t}.svg`,src_dark:`/static/images/form/tile_content_layout_${t}_dark.svg`,flip_rtl:!0}})))}}}]},{name:"interactions",type:"expandable",flatten:!0,iconPath:b,schema:[{name:"tap_action",selector:{ui_action:{default_action:"more-info"}}},{name:"icon_tap_action",selector:{ui_action:{default_action:t?(0,u.y)(t):"more-info"}}},{name:"",type:"optional_actions",flatten:!0,schema:["hold_action","icon_hold_action","double_tap_action","icon_double_tap_action"].map((e=>({name:e,selector:{ui_action:{default_action:"none"}}})))}]}]))}},{kind:"field",key:"_featuresSchema",value(){return(0,c.Z)(((e,t)=>[{name:"features_position",required:!0,selector:{select:{mode:"box",options:["bottom","inline"].map((a=>({label:e(`ui.panel.lovelace.editor.card.tile.features_position_options.${a}`),description:e(`ui.panel.lovelace.editor.card.tile.features_position_options.${a}_description`),value:a,image:{src:`/static/images/form/tile_features_position_${a}.svg`,src_dark:`/static/images/form/tile_features_position_${a}_dark.svg`,flip_rtl:!0},disabled:t&&"inline"===a})))}}}]))}},{kind:"field",key:"_hasCompatibleFeatures",value(){return(0,c.Z)((e=>(0,f.Bc)(e).length>0))}},{kind:"method",key:"render",value:function(){var e,t,a;if(!this.hass||!this._config)return n.Ld;const i=this._config.entity,o=i?this.hass.states[i]:void 0,s=this._schema(this.hass.localize,i,null!==(e=this._config.hide_state)&&void 0!==e&&e),c=this._featuresSchema(this.hass.localize,null!==(t=this._config.vertical)&&void 0!==t&&t),l=Object.assign(Object.assign({},this._config),{},{content_layout:this._config.vertical?"vertical":"horizontal"});l.features_position&&!l.vertical||(l.features_position="bottom");const r=o&&this._hasCompatibleFeatures(o)||!1;return(0,n.dy)(p||(p=y` <ha-form .hass="${0}" .data="${0}" .schema="${0}" .computeLabel="${0}" .computeHelper="${0}" @value-changed="${0}"></ha-form> <ha-expansion-panel outlined> <ha-svg-icon slot="leading-icon" .path="${0}"></ha-svg-icon> <h3 slot="header"> ${0} </h3> <div class="content"> ${0} <hui-card-features-editor .hass="${0}" .stateObj="${0}" .features="${0}" @features-changed="${0}" @edit-detail-element="${0}"></hui-card-features-editor> </div> </ha-expansion-panel> `),this.hass,l,s,this._computeLabelCallback,this._computeHelperCallback,this._valueChanged,k,this.hass.localize("ui.panel.lovelace.editor.card.generic.features"),r?(0,n.dy)(g||(g=y` <ha-form class="features-form" .hass="${0}" .data="${0}" .schema="${0}" .computeLabel="${0}" .computeHelper="${0}" @value-changed="${0}"></ha-form> `),this.hass,l,c,this._computeLabelCallback,this._computeHelperCallback,this._valueChanged):n.Ld,this.hass,o,null!==(a=this._config.features)&&void 0!==a?a:[],this._featuresChanged,this._editDetailElement)}},{kind:"method",key:"_valueChanged",value:function(e){if(e.stopPropagation(),!this._config||!this.hass)return;const t=e.detail.value,a=Object.assign({features:this._config.features},t);a.hide_state&&delete a.state_content,a.state_content||delete a.state_content,a.content_layout&&(a.vertical="vertical"===a.content_layout,delete a.content_layout),(0,r.B)(this,"config-changed",{config:a})}},{kind:"method",key:"_featuresChanged",value:function(e){if(e.stopPropagation(),!this._config||!this.hass)return;const t=e.detail.features,a=Object.assign(Object.assign({},this._config),{},{features:t});0===t.length&&delete a.features,(0,r.B)(this,"config-changed",{config:a})}},{kind:"method",key:"_editDetailElement",value:function(e){const t=e.detail.subElementConfig.index,a=this._config.features[t];(0,r.B)(this,"edit-sub-element",{config:a,saveConfig:e=>this._updateFeature(t,e),context:{entity_id:this._config.entity},type:"feature"})}},{kind:"method",key:"_updateFeature",value:function(e,t){const a=this._config.features.concat();a[e]=t;const i=Object.assign(Object.assign({},this._config),{},{features:a});(0,r.B)(this,"config-changed",{config:i})}},{kind:"field",key:"_computeLabelCallback",value(){return e=>{switch(e.name){case"color":case"icon_tap_action":case"icon_hold_action":case"icon_double_tap_action":case"show_entity_picture":case"hide_state":case"state_content":case"content_layout":case"features_position":return this.hass.localize(`ui.panel.lovelace.editor.card.tile.${e.name}`);default:return this.hass.localize(`ui.panel.lovelace.editor.card.generic.${e.name}`)}}}},{kind:"field",key:"_computeHelperCallback",value(){return e=>{var t;switch(e.name){case"color":return this.hass.localize(`ui.panel.lovelace.editor.card.tile.${e.name}_helper`);case"features_position":return null!==(t=this._config)&&void 0!==t&&t.vertical?this.hass.localize(`ui.panel.lovelace.editor.card.tile.${e.name}_helper_vertical`):void 0;default:return}}}},{kind:"get",static:!0,key:"styles",value:function(){return[h.A,(0,n.iv)(v||(v=y`.container{display:flex;flex-direction:column}ha-form{display:block;margin-bottom:24px}.info{color:var(--secondary-text-color);margin-top:0;margin-bottom:8px}.features-form{margin-bottom:8px}`))]}}]}}),n.oi);i()}catch(p){i(p)}}))},18200:function(e,t,a){a.d(t,{I:()=>o});var i=a(62900);const o=(0,i.Ry)({type:(0,i.Z_)(),view_layout:(0,i.Yj)(),layout_options:(0,i.Yj)(),grid_options:(0,i.Yj)(),visibility:(0,i.Yj)()})}}]); //# sourceMappingURL=83572.78146c43ebfb2e65.js.map