UNPKG

iobroker.lovelace

Version:

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

2 lines 45.3 kB
/*! For license information please see 38076.a321bd2d9a50bfec.js.LICENSE.txt */ export const __rspack_esm_id=38076;export const __rspack_esm_ids=[38076];export const __webpack_modules__={90409(e,t,i){i.d(t,{A:()=>a});i(18111),i(61701);function a(e){const t=e.split(":").map(Number);return 3600*t[0]+60*t[1]+t[2]}},27167(e,t,i){i.d(t,{A:()=>o});const a=e=>e<10?`0${e}`:e;function o(e){const t=Math.floor(e/3600),i=Math.floor(e%3600/60),o=Math.floor(e%3600%60);return t>0?`${t}:${a(i)}:${a(o)}`:i>0?`${i}:${a(o)}`:o>0?""+o:null}},81816(e,t,i){i.d(t,{aH:()=>n,cx:()=>r,es:()=>l});var a=i(37981),o=i(28978),s=i(79461);const n=(e,t,i)=>{const a=t[e.entity_id];return a?r(a,i):(0,o.u)(e)},r=(e,t,i)=>{const n=e.name||("original_name"in e&&null!=e.original_name?String(e.original_name):void 0),r=e.device_id?t[e.device_id]:void 0;if(!r)return n||(i?(0,o.u)(i):void 0);const l=(0,a.xn)(r);return l!==n?l&&n&&(0,s.p)(n,l)||n:void 0},l=(e,t,i)=>!n(e,t,i)},74705(e,t,i){i.d(t,{Bj:()=>u,Cf:()=>g,uU:()=>c});i(18111),i(81148),i(22489),i(61701),i(13579);if(66649!=i.j)var a=i(44537);var o=i(15638),s=i(65522),n=i(37981),r=i(81816),l=i(55931);if(66649!=i.j)var d=i(28978);var h=i(28455);const c=(e,t,i,o,s,n,l)=>{if("string"==typeof t)return t;if(!t)return(0,d.u)(e);let h=(0,a.e)(t);const c=l?.separator??" ";if(h.every(e=>"text"===e.type))return h.map(e=>e.text).join(c);if((0,r.es)(e,i,o)){h.some(e=>"device"===e.type)||(h=h.map(e=>"entity"===e.type?{type:"device"}:e))}const u=g(e,h,i,o,s,n);return 1===u.length?u[0]||"":u.filter(e=>e).join(c)},g=(e,t,i,a,o,d)=>{const{device:c,area:g,floor:u}=(0,h.ln)(e,i,a,o,d);return t.map(t=>{switch(t.type){case"entity":return(0,r.aH)(e,i,a);case"device":return c?(0,n.xn)(c):void 0;case"area":return g?(0,s.A)(g):void 0;case"floor":return u?(0,l.X)(u):void 0;case"text":return t.text;default:return""}})},u=(e,t)=>{const[i,a,s]=g(t,[{type:"entity"},{type:"device"},{type:"area"}],e.entities,e.devices,e.areas,e.floors),n=(0,o.qC)(e.language,e.translationMetadata.translations);return{primary:i||a||t.entity_id,secondary:[s,i?a:void 0].filter(Boolean).join(n?" ◂ ":" ▸ ")||void 0}}},89300(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),o=i(5124),s=i(22441),n=i(6412),r=i(18350),l=i(65829),d=(i(67094),e([r,l]));[r,l]=d.then?(await d)():d;const h="M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M13,17V15H11V17H13M13,13V7H11V13H13Z",c="M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z";class g extends o.WF{render(){const e=this.progress||this._result?"accent":this.appearance;return o.qy` <ha-button .appearance="${e}" .disabled="${this.disabled}" .loading="${this.progress}" .variant="${"success"===this._result?"success":"error"===this._result?"danger":this.variant}" class="${(0,n.H)({result:!!this._result,success:"success"===this._result,error:"error"===this._result})}"> ${this.iconPath?o.qy`<ha-svg-icon .path="${this.iconPath}" slot="start"></ha-svg-icon>`:o.s6} <slot>${this.label}</slot> </ha-button> ${this._result?o.qy` <div class="progress"> ${"success"===this._result?o.qy`<ha-svg-icon .path="${c}"></ha-svg-icon>`:"error"===this._result?o.qy`<ha-svg-icon .path="${h}"></ha-svg-icon>`:o.s6} </div> `:o.s6} `}actionSuccess(){this._setResult("success")}actionError(){this._setResult("error")}_setResult(e){this._result=e,setTimeout(()=>{this._result=void 0},2e3)}constructor(...e){super(...e),this.disabled=!1,this.progress=!1,this.appearance="accent",this.variant="brand"}}g.styles=o.AH`:host{outline:0;display:inline-block;position:relative}:host([progress]){pointer-events:none}.progress{bottom:0;display:flex;justify-content:center;align-items:center;position:absolute;top:0;width:100%}ha-button{width:100%}ha-button.result::part(caret),ha-button.result::part(end),ha-button.result::part(label),ha-button.result::part(spinner),ha-button.result::part(start){visibility:hidden}:host([appearance=brand]) ha-svg-icon{color:var(--white-color)}`,(0,a.Cg)([(0,s.MZ)()],g.prototype,"label",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean})],g.prototype,"disabled",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],g.prototype,"progress",void 0),(0,a.Cg)([(0,s.MZ)()],g.prototype,"appearance",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],g.prototype,"iconPath",void 0),(0,a.Cg)([(0,s.MZ)()],g.prototype,"variant",void 0),(0,a.Cg)([(0,s.wk)()],g.prototype,"_result",void 0),g=(0,a.Cg)([(0,s.EM)("ha-progress-button")],g),t()}catch(e){t(e)}})},82474(e,t,i){i.a(e,async function(e,t){try{i(18111),i(20116),i(61701);var a=i(62826),o=i(5124),s=i(22441),n=i(22786),r=i(1087),l=i(74705),d=i(78649),h=i(53756),c=i(95350),g=i(24367),u=i(19711),p=(i(75064),i(38508)),m=(i(47680),i(67094),i(74281)),y=e([p,m]);[p,m]=y.then?(await y)():y;const b="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",_="M11,13.5V21.5H3V13.5H11M12,2L17.5,11H6.5L12,2M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13Z",f="___create-new-entity___";class v extends o.WF{willUpdate(e){this._pendingEntityId&&e.has("hass")&&this.hass.states!==e.get("hass")?.states&&this.hass.states[this._pendingEntityId]&&(this._setValue(this._pendingEntityId),this._pendingEntityId=void 0)}firstUpdated(e){super.firstUpdated(e),this.hass.loadBackendTranslation("title")}_findExtraOption(e){return e?this.extraOptions?.find(t=>t.id===e):void 0}_renderExtraOptionStart(e){const t=e.entity_id?this.hass.states[e.entity_id]:void 0;return t?o.qy` <state-badge slot="start" .stateObj="${t}" .hass="${this.hass}"></state-badge> `:e.icon_path?o.qy` <ha-svg-icon slot="start" .path="${e.icon_path}" style="margin:0 4px"></ha-svg-icon> `:e.icon?o.qy`<ha-icon slot="start" .icon="${e.icon}"></ha-icon>`:o.s6}get _showEntityId(){return this.showEntityId||this.hass.userData?.showEntityIdPicker}_shouldHideClearIcon(){return!!this._findExtraOption(this.value)?.hide_clear}render(){const e=this.placeholder??this.hass.localize("ui.components.entity.entity-picker.placeholder");return o.qy` <ha-generic-picker .hass="${this.hass}" .disabled="${this.disabled}" .autofocus="${this.autofocus}" .allowCustomValue="${this.allowCustomEntity}" .required="${this.required}" .label="${this.label}" .placeholder="${e}" .helper="${this.helper}" .value="${this.addButton?void 0:this.value}" .searchLabel="${this.searchLabel}" .notFoundLabel="${this._notFoundLabel}" .rowRenderer="${this._rowRenderer}" .getItems="${this._getItems}" .getAdditionalItems="${this._getAdditionalItems}" .hideClearIcon="${this.hideClearIcon||this._shouldHideClearIcon()}" .searchFn="${this._searchFn}" .valueRenderer="${this._valueRenderer}" .searchKeys="${h.t}" use-top-label .addButtonLabel="${this.addButton?this.addButtonLabel??this.hass.localize("ui.components.entity.entity-picker.add"):void 0}" .unknownItemText="${this.hass.localize("ui.components.entity.entity-picker.unknown")}" @value-changed="${this._valueChanged}"> </ha-generic-picker> `}async open(){await this.updateComplete,await(this._picker?.open())}_valueChanged(e){e.stopPropagation();const t=e.detail.value;if(t){if(t.startsWith(f)){const e=t.substring(f.length);return void(0,u.$)(this,{domain:e,dialogClosedCallback:e=>{e.entityId&&(this.hass.states[e.entityId]?this._setValue(e.entityId):this._pendingEntityId=e.entityId)}})}((0,d.n)(t)||this._findExtraOption(t))&&this._setValue(t)}else this._setValue(void 0)}_setValue(e){this.value=e,(0,r.r)(this,"value-changed",{value:e}),(0,r.r)(this,"change")}constructor(...e){super(...e),this.autofocus=!1,this.disabled=!1,this.required=!1,this.showEntityId=!1,this.hideClearIcon=!1,this.addButton=!1,this._valueRenderer=e=>{const t=e||"",i=this._findExtraOption(t);if(i)return o.qy` ${this._renderExtraOptionStart(i)} <span slot="headline">${i.primary}</span> ${i.secondary?o.qy`<span slot="supporting-text">${i.secondary}</span>`:o.s6} `;const a=this.hass.states[t];if(!a)return o.qy` <ha-svg-icon slot="start" .path="${_}" style="margin:0 4px"></ha-svg-icon> <span slot="headline">${t}</span> `;const{primary:s,secondary:n}=(0,l.Bj)(this.hass,a);return o.qy` <state-badge .hass="${this.hass}" .stateObj="${a}" slot="start"></state-badge> <span slot="headline">${s}</span> <span slot="supporting-text">${n}</span> `},this._rowRenderer=(e,t)=>{const i=this._showEntityId;return o.qy` <ha-combo-box-item type="button" compact="compact" .borderTop="${0!==t}"> ${e.icon_path?o.qy` <ha-svg-icon slot="start" style="margin:0 4px" .path="${e.icon_path}"></ha-svg-icon> `:o.qy` <state-badge slot="start" .stateObj="${e.stateObj}" .hass="${this.hass}"></state-badge> `} <span slot="headline">${e.primary}</span> ${e.secondary?o.qy`<span slot="supporting-text">${e.secondary}</span>`:o.s6} ${e.stateObj&&i?o.qy` <span slot="supporting-text" class="code"> ${e.stateObj.entity_id} </span> `:o.s6} ${e.domain_name&&!i?o.qy` <div slot="trailing-supporting-text" class="domain"> ${e.domain_name} </div> `:o.s6} </ha-combo-box-item> `},this._getAdditionalItems=()=>this._getCreateItems(this.hass.localize,this.createDomains),this._getCreateItems=(0,n.A)((e,t)=>t?.length?(this.hass.loadFragmentTranslation("config"),t.map(t=>{const i=e("ui.components.entity.entity-picker.create_helper",{domain:(0,g.z)(t)?e(`ui.panel.config.helpers.types.${t}`)||t:(0,c.p$)(e,t)});return{id:f+t,primary:i,secondary:e("ui.components.entity.entity-picker.new_entity"),icon_path:b}})):[]),this._getEntitiesMemoized=(0,n.A)(h.w),this._getItems=()=>{const e=this._getEntitiesMemoized(this.hass,this.includeDomains,this.excludeDomains,this.entityFilter,this.includeDeviceClasses,this.includeUnitOfMeasurement,this.includeEntities,this.excludeEntities,this.value);if(this.extraOptions?.length){return[...this.extraOptions.map(e=>({...e,stateObj:e.entity_id?this.hass.states[e.entity_id]:void 0})),...e]}return e},this._searchFn=(e,t)=>{const i=t.findIndex(t=>t.stateObj?.entity_id===e);if(-1===i)return t;const[a]=t.splice(i,1);return t.unshift(a),t},this._notFoundLabel=e=>this.hass.localize("ui.components.entity.entity-picker.no_match",{term:o.qy`<b>‘${e}’</b>`})}}(0,a.Cg)([(0,s.MZ)({attribute:!1})],v.prototype,"hass",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean})],v.prototype,"autofocus",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean})],v.prototype,"disabled",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean})],v.prototype,"required",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean,attribute:"allow-custom-entity"})],v.prototype,"allowCustomEntity",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean,attribute:"show-entity-id"})],v.prototype,"showEntityId",void 0),(0,a.Cg)([(0,s.MZ)()],v.prototype,"label",void 0),(0,a.Cg)([(0,s.MZ)()],v.prototype,"value",void 0),(0,a.Cg)([(0,s.MZ)()],v.prototype,"helper",void 0),(0,a.Cg)([(0,s.MZ)()],v.prototype,"placeholder",void 0),(0,a.Cg)([(0,s.MZ)({type:String,attribute:"search-label"})],v.prototype,"searchLabel",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],v.prototype,"createDomains",void 0),(0,a.Cg)([(0,s.MZ)({type:Array,attribute:"include-domains"})],v.prototype,"includeDomains",void 0),(0,a.Cg)([(0,s.MZ)({type:Array,attribute:"exclude-domains"})],v.prototype,"excludeDomains",void 0),(0,a.Cg)([(0,s.MZ)({type:Array,attribute:"include-device-classes"})],v.prototype,"includeDeviceClasses",void 0),(0,a.Cg)([(0,s.MZ)({type:Array,attribute:"include-unit-of-measurement"})],v.prototype,"includeUnitOfMeasurement",void 0),(0,a.Cg)([(0,s.MZ)({type:Array,attribute:"include-entities"})],v.prototype,"includeEntities",void 0),(0,a.Cg)([(0,s.MZ)({type:Array,attribute:"exclude-entities"})],v.prototype,"excludeEntities",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],v.prototype,"entityFilter",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],v.prototype,"extraOptions",void 0),(0,a.Cg)([(0,s.MZ)({attribute:"hide-clear-icon",type:Boolean})],v.prototype,"hideClearIcon",void 0),(0,a.Cg)([(0,s.MZ)({attribute:"add-button",type:Boolean})],v.prototype,"addButton",void 0),(0,a.Cg)([(0,s.MZ)({attribute:"add-button-label"})],v.prototype,"addButtonLabel",void 0),(0,a.Cg)([(0,s.P)("ha-generic-picker")],v.prototype,"_picker",void 0),(0,a.Cg)([(0,s.wk)()],v.prototype,"_pendingEntityId",void 0),v=(0,a.Cg)([(0,s.EM)("ha-entity-picker")],v),t()}catch(e){t(e)}})},58234(e,t,i){i.a(e,async function(e,t){try{i(18111),i(20116);var a=i(62826),o=i(5124),s=i(22441),n=i(6412),r=i(23832),l=i(27167),d=i(69093),h=i(28978),c=i(15090),g=i(22675),u=i(49141),p=(i(58388),i(93367)),m=e([p]);p=(m.then?(await m)():m)[0];const y="M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z",b=["alarm_control_panel","device_tracker","person"],_=(e,t)=>(0,r.g)(b)(e)&&(0,r.g)(c.vB[e])(t)?`${e}.${t}`:null;class f extends o.WF{connectedCallback(){super.connectedCallback(),this._connected=!0,this._startInterval(this.state)}disconnectedCallback(){super.disconnectedCallback(),this._connected=!1,this._clearInterval()}render(){const e=this.state;if(!e)return o.qy` <ha-label-badge class="warning" label="${this.hass.localize("state_badge.default.error")}" description="${this.hass.localize("state_badge.default.entity_not_found")}"> <ha-svg-icon .path="${y}"></ha-svg-icon> </ha-label-badge> `;const t=(0,d.t)(e),i=this.hass?.entities[e.entity_id],a=this.icon||this._computeShowIcon(t,e,i),s=this.icon?"":this.image?this.image:e.attributes.entity_picture_local||e.attributes.entity_picture,r=s||a?void 0:this._computeValue(t,e,i);return o.qy` <ha-label-badge class="${(0,n.H)({[t]:!0,"has-unit_of_measurement":"unit_of_measurement"in e.attributes})}" .image="${s}" .label="${this._computeLabel(t,e,this._timerTimeRemaining)}" .description="${this.showName?this.name??(0,h.u)(e):void 0}"> ${!s&&a?o.qy`<ha-state-icon .icon="${this.icon}" .stateObj="${e}"></ha-state-icon>`:""} ${!r||s||a?"":o.qy`<span class="${r&&r.length>4?"big":""}">${r}</span>`} </ha-label-badge> `}updated(e){super.updated(e),this._connected&&e.has("state")&&this._startInterval(this.state)}_computeValue(e,t,i){switch(e){case"alarm_control_panel":case"binary_sensor":case"device_tracker":case"person":case"scene":case"sun":case"timer":return null;case"sensor":if("moon"===i?.platform)return null;default:return t.state===g.Hh||t.state===g.HV?"—":this.hass.formatEntityStateToParts(t).find(e=>"value"===e.type)?.value}}_computeShowIcon(e,t,i){if(t.state===g.Hh)return!1;switch(e){case"alarm_control_panel":case"binary_sensor":case"device_tracker":case"person":case"scene":case"sun":case"timer":return!0;case"sensor":return"moon"===i?.platform;default:return!1}}_computeLabel(e,t,i=0){if(t.state===g.Hh||t.state===g.HV)return this.hass.localize(`state_badge.default.${t.state}`);const a=_(e,t.state);return a?this.hass.localize(`state_badge.${a}`):"person"===e||"device_tracker"===e?t.state:"timer"===e?(0,l.A)(i):this.hass.formatEntityStateToParts(t).find(e=>"unit"===e.type)?.value||null}_clearInterval(){this._updateRemaining&&(clearInterval(this._updateRemaining),this._updateRemaining=void 0)}_startInterval(e){this._clearInterval(),e&&"timer"===(0,d.t)(e)&&(this._calculateTimerRemaining(e),"active"===e.state&&(this._updateRemaining=window.setInterval(()=>this._calculateTimerRemaining(this.state),1e3)))}_calculateTimerRemaining(e){this._timerTimeRemaining=(0,u.ls)(e)}constructor(...e){super(...e),this.showName=!1}}f.styles=o.AH`:host{cursor:pointer}.big{font-size:var(--ha-font-size-xs)}ha-label-badge{--ha-label-badge-color:var(--label-badge-red)}ha-label-badge.has-unit_of_measurement{--ha-label-badge-label-text-transform:none}ha-label-badge.binary_sensor{--ha-label-badge-color:var(--label-badge-blue)}.red{--ha-label-badge-color:var(--label-badge-red)}.blue{--ha-label-badge-color:var(--label-badge-blue)}.green{--ha-label-badge-color:var(--label-badge-green)}.yellow{--ha-label-badge-color:var(--label-badge-yellow)}.grey{--ha-label-badge-color:var(--label-badge-grey)}.warning{--ha-label-badge-color:var(--label-badge-yellow)}`,(0,a.Cg)([(0,s.MZ)({attribute:!1})],f.prototype,"hass",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],f.prototype,"state",void 0),(0,a.Cg)([(0,s.MZ)()],f.prototype,"name",void 0),(0,a.Cg)([(0,s.MZ)()],f.prototype,"icon",void 0),(0,a.Cg)([(0,s.MZ)()],f.prototype,"image",void 0),(0,a.Cg)([(0,s.MZ)({attribute:"show-name",type:Boolean})],f.prototype,"showName",void 0),(0,a.Cg)([(0,s.wk)()],f.prototype,"_timerTimeRemaining",void 0),f=(0,a.Cg)([(0,s.EM)("ha-state-label-badge")],f),t()}catch(e){t(e)}})},45100(e,t,i){i.a(e,async function(e,a){try{i.r(t),i.d(t,{HaIconButtonPrev:()=>g});var o=i(62826),s=i(5124),n=i(22441),r=i(63091),l=i(26300),d=e([l]);l=(d.then?(await d)():d)[0];const h="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",c="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";class g extends s.WF{render(){return s.qy` <ha-icon-button .disabled="${this.disabled}" .label="${this.label||this.hass?.localize("ui.common.back")||"Back"}" .path="${this._icon}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"></ha-icon-button> `}constructor(...e){super(...e),this.disabled=!1,this._icon="rtl"===r.G.document.dir?c:h}}(0,o.Cg)([(0,n.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean})],g.prototype,"disabled",void 0),(0,o.Cg)([(0,n.MZ)()],g.prototype,"label",void 0),(0,o.Cg)([(0,n.MZ)()],g.prototype,"href",void 0),(0,o.Cg)([(0,n.MZ)()],g.prototype,"target",void 0),(0,o.Cg)([(0,n.MZ)()],g.prototype,"rel",void 0),(0,o.Cg)([(0,n.MZ)()],g.prototype,"download",void 0),(0,o.Cg)([(0,n.wk)()],g.prototype,"_icon",void 0),g=(0,o.Cg)([(0,n.EM)("ha-icon-button-prev")],g),a()}catch(e){a(e)}})},58388(e,t,i){var a=i(62826),o=i(5124),s=i(22441),n=i(6412);class r extends o.WF{render(){return o.qy` <div class="badge-container"> <div class="label-badge" id="badge"> <div class="value"> <slot></slot> </div> ${this.label?o.qy` <div class="${(0,n.H)({label:!0,big:this.label.length>5})}"> <span>${this.label}</span> </div> `:""} </div> ${this.description?o.qy`<div class="title">${this.description}</div>`:""} </div> `}static get styles(){return[o.AH`.badge-container{display:inline-block;text-align:center;vertical-align:top;padding:var(--ha-label-badge-padding,0 0 0 0)}.label-badge{position:relative;display:block;margin:0 auto;width:var(--ha-label-badge-size,2.5em);text-align:center;height:var(--ha-label-badge-size,2.5em);line-height:var(--ha-label-badge-size, 2.5em);font-size:var(--ha-label-badge-font-size, 1.5em);border-radius:var(--ha-label-badge-border-radius,50%);border:.1em solid var(--ha-label-badge-color,var(--primary-color));color:var(--label-badge-text-color,#4c4c4c);white-space:nowrap;background-color:var(--label-badge-background-color,#fff);background-size:cover;transition:border .3s ease-in-out}.label-badge .label.big span{font-size:90%;padding:10% 12% 7% 12%}.label-badge .value{font-size:90%;overflow:hidden;text-overflow:ellipsis}.label-badge .label{position:absolute;bottom:-1em;left:-.2em;right:-.2em;line-height:1em;font-size:.5em}.label-badge .label span{box-sizing:border-box;max-width:100%;display:inline-block;background-color:var(--ha-label-badge-color,var(--primary-color));color:var(--ha-label-badge-label-color,#fff);border-radius:var(--ha-border-radius-lg);padding:9% 16% 8% 16%;font-weight:var(--ha-font-weight-medium);overflow:hidden;text-transform:uppercase;text-overflow:ellipsis;transition:background-color .3s ease-in-out;text-transform:var(--ha-label-badge-label-text-transform,uppercase)}.badge-container .title{margin-top:1em;font-size:var(--ha-label-badge-title-font-size, .9em);width:var(--ha-label-badge-title-width,5em);font-weight:var(--ha-label-badge-title-font-weight,var(--ha-font-weight-normal));overflow:hidden;text-overflow:ellipsis;line-height:normal}`]}updated(e){super.updated(e),e.has("image")&&(this.shadowRoot.getElementById("badge").style.backgroundImage=this.image?`url(${this.image})`:"")}}(0,a.Cg)([(0,s.MZ)()],r.prototype,"label",void 0),(0,a.Cg)([(0,s.MZ)()],r.prototype,"description",void 0),(0,a.Cg)([(0,s.MZ)()],r.prototype,"image",void 0),r=(0,a.Cg)([(0,s.EM)("ha-label-badge")],r)},85938(e,t,i){i(18111),i(22489),i(46058);var a=i(62826),o=i(5124),s=i(22441),n=i(1087);class r extends o.WF{updated(e){e.has("disabled")&&(this.disabled?this._destroySortable():this._createSortable())}disconnectedCallback(){super.disconnectedCallback(),this._shouldBeDestroy=!0,setTimeout(()=>{this._shouldBeDestroy&&(this._destroySortable(),this._shouldBeDestroy=!1)},1)}connectedCallback(){super.connectedCallback(),this._shouldBeDestroy=!1,this.hasUpdated&&!this.disabled&&this._createSortable()}createRenderRoot(){return this}render(){return this.noStyle?o.s6:o.qy` <style>.sortable-fallback{display:none!important}.sortable-ghost{box-shadow:0 0 0 2px var(--primary-color);background:rgba(var(--rgb-primary-color),.25);border-radius:var(--ha-border-radius-sm);opacity:.4}.sortable-drag{border-radius:var(--ha-border-radius-sm);opacity:1;background:var(--card-background-color);box-shadow:0px 4px 8px 3px #00000026;cursor:grabbing}</style> `}async _createSortable(){if(this._sortable)return;const e=this.children[0];if(!e)return;const t=(await Promise.all([i.e(85283),i.e(70322)]).then(i.bind(i,80745))).default,a={scroll:!0,forceAutoScrollFallback:!0,scrollSpeed:20,animation:150,...this.options,onChoose:this._handleChoose,onStart:this._handleStart,onEnd:this._handleEnd,onUpdate:this._handleUpdate,onAdd:this._handleAdd,onRemove:this._handleRemove};this.draggableSelector&&(a.draggable=this.draggableSelector),this.handleSelector&&(a.handle=this.handleSelector),void 0!==this.invertSwap&&(a.invertSwap=this.invertSwap),this.group&&(a.group=this.group),this.filter&&(a.filter=this.filter),this._sortable=new t(e,a)}_destroySortable(){this._sortable&&(this._sortable.destroy(),this._sortable=void 0)}constructor(...e){super(...e),this.disabled=!1,this.noStyle=!1,this.invertSwap=!1,this.rollback=!0,this._shouldBeDestroy=!1,this._handleUpdate=e=>{(0,n.r)(this,"item-moved",{newIndex:e.newIndex,oldIndex:e.oldIndex})},this._handleAdd=e=>{(0,n.r)(this,"item-added",{index:e.newIndex,data:e.item.sortableData,item:e.item})},this._handleRemove=e=>{(0,n.r)(this,"item-removed",{index:e.oldIndex})},this._handleEnd=async e=>{(0,n.r)(this,"drag-end"),this.rollback&&e.item.placeholder&&(e.item.placeholder.replaceWith(e.item),delete e.item.placeholder)},this._handleStart=()=>{(0,n.r)(this,"drag-start")},this._handleChoose=e=>{this.rollback&&(e.item.placeholder=document.createComment("sort-placeholder"),e.item.after(e.item.placeholder))}}}(0,a.Cg)([(0,s.MZ)({type:Boolean})],r.prototype,"disabled",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean,attribute:"no-style"})],r.prototype,"noStyle",void 0),(0,a.Cg)([(0,s.MZ)({type:String,attribute:"draggable-selector"})],r.prototype,"draggableSelector",void 0),(0,a.Cg)([(0,s.MZ)({type:String,attribute:"handle-selector"})],r.prototype,"handleSelector",void 0),(0,a.Cg)([(0,s.MZ)({type:String,attribute:"filter"})],r.prototype,"filter",void 0),(0,a.Cg)([(0,s.MZ)({type:String})],r.prototype,"group",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean,attribute:"invert-swap"})],r.prototype,"invertSwap",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],r.prototype,"options",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean})],r.prototype,"rollback",void 0),r=(0,a.Cg)([(0,s.EM)("ha-sortable")],r)},53756(e,t,i){i.d(t,{t:()=>l,w:()=>d});i(74423),i(18111),i(22489),i(61701);var a=i(71727),o=i(74705),s=i(28978),n=i(15638),r=i(95350);const l=[{name:"search_labels.entityName",weight:10},{name:"search_labels.friendlyName",weight:8},{name:"search_labels.deviceName",weight:7},{name:"search_labels.areaName",weight:6},{name:"search_labels.domainName",weight:6},{name:"search_labels.entityId",weight:3}],d=(e,t,i,l,d,h,c,g,u,p="")=>{let m,y=Object.keys(e.states);return c&&(y=y.filter(e=>c.includes(e))),g&&(y=y.filter(e=>!g.includes(e))),t&&(y=y.filter(e=>t.includes((0,a.m)(e)))),i&&(y=y.filter(e=>!i.includes((0,a.m)(e)))),m=y.map(t=>{const i=e.states[t],l=(0,s.u)(i),[d,h,c]=(0,o.Cf)(i,[{type:"entity"},{type:"device"},{type:"area"}],e.entities,e.devices,e.areas,e.floors),g=(0,r.p$)(e.localize,(0,a.m)(t)),u=(0,n.qC)(e.language,e.translationMetadata.translations),m=d||h||t,y=[c,d?h:void 0].filter(Boolean).join(u?" ◂ ":" ▸ ");return{id:`${p}${t}`,primary:m,secondary:y,domain_name:g,sorting_label:[m,y].filter(Boolean).join("_"),search_labels:{entityName:d||null,deviceName:h||null,areaName:c||null,domainName:g||null,friendlyName:l||null,entityId:t},stateObj:i}}),d&&(m=m.filter(e=>e.id===u||e.stateObj?.attributes.device_class&&d.includes(e.stateObj.attributes.device_class))),h&&(m=m.filter(e=>e.id===u||e.stateObj?.attributes.unit_of_measurement&&h.includes(e.stateObj.attributes.unit_of_measurement))),l&&(m=m.filter(e=>e.id===u||e.stateObj&&l(e.stateObj))),m}},49141(e,t,i){i.d(t,{CR:()=>n,PF:()=>h,kL:()=>s,ls:()=>d,pZ:()=>l,r9:()=>r});var a=i(90409),o=i(27167);const s=e=>e.callWS({type:"timer/list"}),n=(e,t)=>e.callWS({type:"timer/create",...t}),r=(e,t,i)=>e.callWS({type:"timer/update",timer_id:t,...i}),l=(e,t)=>e.callWS({type:"timer/delete",timer_id:t}),d=e=>{if(!e.attributes.remaining)return;let t=(0,a.A)(e.attributes.remaining);if("active"===e.state){const i=(new Date).getTime(),a=new Date(e.attributes.finishes_at).getTime();t=Math.max((a-i)/1e3,0)}return t},h=(e,t,i)=>{if(!t)return null;if("idle"===t.state||0===i)return e.formatEntityState(t);let a=(0,o.A)(i||0)||"0";return"paused"===t.state&&(a=`${a} (${e.formatEntityState(t)})`),a}},19711(e,t,i){i.d(t,{$:()=>s});var a=i(1087);const o=()=>Promise.all([i.e(80131),i.e(70183),i.e(47677)]).then(i.bind(i,79029)),s=(e,t)=>{(0,a.r)(e,"show-dialog",{dialogTag:"dialog-helper-detail",dialogImport:o,dialogParams:t})}},9169(e,t,i){i.d(t,{j:()=>a});const a=["relative","total","date","time","datetime"]},84043(e,t,i){i.a(e,async function(e,a){try{i.d(t,{d:()=>u});i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698);var o=i(98743),s=(i(16732),i(9578)),n=i(51007),r=i(37696),l=i(10792),d=i(14097),h=i(34128),c=e([o,s,n,r,l,d]);[o,s,n,r,l,d]=c.then?(await c)():c;const g=new Set(["conditional","icon","image","service-button","state-badge","state-icon","state-label"]),u=e=>("action-button"===e.type&&(e={...e,type:"service-button"}),(0,h.Ue)("element",e,g));a()}catch(e){a(e)}})},82743(e,t,i){i.a(e,async function(e,a){try{i.d(t,{j:()=>p});i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698);var o=i(98743),s=(i(16732),i(9578)),n=i(51007),r=i(37696),l=i(10792),d=i(14097),h=i(34128),c=e([o,s,n,r,l,d]);[o,s,n,r,l,d]=c.then?(await c)():c;const g=new Set(["conditional","icon","image","service-button","state-badge","state-icon","state-label"]),u={},p=e=>(0,h.gh)("action-button"===e?"service-button":e,"element",g,u);a()}catch(e){a(e)}})},98809(e,t,i){i.a(e,async function(e,t){try{i(74423),i(18111),i(22489),i(61701);var a=i(62826),o=i(5124),s=i(22441),n=i(22786),r=i(63533),l=i(1087),d=i(71727),h=i(52763),c=i(20507),g=e([h]);h=(g.then?(await g)():g)[0];const u={none:{},"entity-id":{},"last-changed":{},"last-updated":{},"last-triggered":{domains:["automation","script"]},area:{},position:{domains:["cover"]},state:{},"tilt-position":{domains:["cover"]},brightness:{domains:["light"]}};class p extends o.WF{setConfig(e){(0,r.vA)(e,c.l),this._config=e}render(){if(!this.hass||!this._config)return o.s6;const e=this.schema||this._schema(this._config.entity,this.hass.localize);return o.qy` <ha-form .hass="${this.hass}" .data="${this._config}" .schema="${e}" .computeLabel="${this._computeLabelCallback}" @value-changed="${this._valueChanged}"></ha-form> `}_valueChanged(e){(0,l.r)(this,"config-changed",{config:e.detail.value})}constructor(...e){super(...e),this._schema=(0,n.A)((e,t)=>{const i=(0,d.m)(e);return[{name:"entity",required:!0,selector:{entity:{}}},{name:"name",selector:{entity_name:{}},context:{entity:"entity"}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"secondary_info",selector:{select:{options:Object.keys(u).filter(e=>!("domains"in u[e])||"domains"in u[e]&&u[e].domains.includes(i)).map(e=>({value:e,label:t(`ui.panel.lovelace.editor.card.entities.secondary_info_values.${e}`)}))}}}]}),this._computeLabelCallback=e=>"secondary_info"===e.name?this.hass.localize(`ui.panel.lovelace.editor.card.entity-row.${e.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${e.name}`)}}(0,a.Cg)([(0,s.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],p.prototype,"schema",void 0),(0,a.Cg)([(0,s.wk)()],p.prototype,"_config",void 0),p=(0,a.Cg)([(0,s.EM)("hui-generic-entity-row-editor")],p),t()}catch(e){t(e)}})},88528(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),o=i(22441),s=i(94225),n=i(63277),r=i(98809),l=e([r,n,s]);[r,n,s]=l.then?(await l)():l;const d="generic-row";class h extends n.U{get configElementType(){return!this.value?.type&&"entity"in this.value?d:"perform-action"===this.value?.type?"call-service":this.value?.type}async getConfigElement(){if(this.configElementType===d)return document.createElement("hui-generic-entity-row-editor");const e=await(0,s.t)(this.configElementType);return e&&e.getConfigElement?e.getConfigElement():void 0}}h=(0,a.Cg)([(0,o.EM)("hui-row-element-editor")],h),t()}catch(e){t(e)}})},10903(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),o=i(22441),s=i(13174),n=i(63277),r=e([n,s]);[n,s]=r.then?(await r)():r;class l extends n.U{async getConfigElement(){const e=await(0,s.h)(this.configElementType);if(e&&e.getConfigElement)return e.getConfigElement()}async getConfigForm(){const e=await(0,s.h)(this.configElementType);if(e&&e.getConfigForm)return e.getConfigForm()}}l=(0,a.Cg)([(0,o.EM)("hui-card-feature-element-editor")],l),t()}catch(e){t(e)}})},39039(e,t,i){i.d(t,{r:()=>a});class a extends Error{constructor(e,t,i){super(e),this.name="GUISupportError",this.warnings=t,this.errors=i}}},49288(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),o=i(22441),s=i(83938),n=i(63277),r=e([n]);n=(r.then?(await r)():r)[0];class l extends n.U{async getConfigElement(){const e=await(0,s.l)(this.configElementType);if(e&&e.getConfigElement)return e.getConfigElement()}}l=(0,a.Cg)([(0,o.EM)("hui-headerfooter-element-editor")],l),t()}catch(e){t(e)}})},6870(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),o=i(22441),s=i(72669),n=i(63277),r=e([n,s]);[n,s]=r.then?(await r)():r;class l extends n.U{get configElementType(){return this.value?.type||"entity"}async getConfigElement(){const e=await(0,s.U)(this.configElementType);if(e&&e.getConfigElement)return e.getConfigElement()}async getConfigForm(){const e=await(0,s.U)(this.configElementType);if(e&&e.getConfigForm)return e.getConfigForm()}}l=(0,a.Cg)([(0,o.EM)("hui-heading-badge-element-editor")],l),t()}catch(e){t(e)}})},91322(e,t,i){i.a(e,async function(e,a){try{i.d(t,{m:()=>y});i(18111),i(7588),i(61701);var o=i(62826),s=i(5124),n=i(22441),r=i(74985),l=i(1087),d=i(78978),h=i(19459),c=i(38962),g=i(65829),u=i(10763),p=i(39039),m=e([c,g,u]);[c,g,u]=m.then?(await m)():m;class y extends s.WF{get value(){return this._config}set value(e){this._config&&(0,h.b)(e,this._config,{compareSymbols:!0})||(this._config=e,this._errors=void 0,this._setConfig())}_setConfig(){if(!this._errors&&!this._yamlError)try{this._updateConfigElement()}catch(e){this._errors=[e.message]}this.updateComplete.then(()=>{(0,l.r)(this,"config-changed",{config:this.value,error:this._errors?.join(", "),guiModeAvailable:!(this.hasWarning||this.hasError||!1===this._guiSupported)})})}get hasWarning(){return void 0!==this._warnings&&this._warnings.length>0}get hasError(){return this._yamlError||void 0!==this._errors&&this._errors.length>0}get GUImode(){return this._guiMode}set GUImode(e){this._guiMode=e,this.updateComplete.then(()=>{(0,l.r)(this,"GUImode-changed",{guiMode:e,guiModeAvailable:!(this.hasWarning||this.hasError||!1===this._guiSupported)})})}toggleMode(){this.GUImode||this._yamlEditor?.disableCodeEditorFullscreen(),this.GUImode=!this.GUImode}focusYamlEditor(){this._configElement?.focusYamlEditor&&this._configElement.focusYamlEditor(),this._yamlEditor&&this._yamlEditor.focus()}async getConfigElement(){}async getConfigForm(){}renderConfigElement(){return s.qy`${this._configElement}`}_renderSubElement(){return s.qy` <hui-sub-element-editor .hass="${this.hass}" .config="${this._subElementEditorConfig}" @go-back="${this._goBack}" @config-changed="${this._subElementChanged}"> </hui-sub-element-editor> `}_subElementChanged(e){e.stopPropagation();const t=e.detail.config;this._subElementEditorConfig={...this._subElementEditorConfig,elementConfig:t},this._subElementEditorConfig.saveElementConfig?.(t)}_goBack(e){e.stopPropagation(),this._subElementEditorConfig=void 0}async _editSubElement(e){e.stopPropagation(),await Promise.all([i.e(92769),i.e(3283),i.e(80131),i.e(70183),i.e(67218),i.e(58416),i.e(99788),i.e(58303),i.e(21543),i.e(22398),i.e(46601),i.e(51455),i.e(26092),i.e(8851),i.e(59704),i.e(25322),i.e(90790),i.e(59532),i.e(55076),i.e(36332),i.e(77563),i.e(15862),i.e(99143),i.e(97500),i.e(12009),i.e(66990),i.e(20282),i.e(87857),i.e(92363),i.e(84240)]).then(i.bind(i,81287)),this._subElementEditorConfig={type:e.detail.type,elementConfig:e.detail.config,context:e.detail.context,saveElementConfig:e.detail.saveConfig}}render(){return s.qy` <div class="wrapper"> ${this.GUImode?s.qy` <div class="gui-editor" @edit-sub-element="${this._editSubElement}"> ${this._loading?s.qy` <ha-spinner class="center margin-bot"></ha-spinner> `:(0,r.P)(this._subElementEditorConfig?this._renderSubElement():this.renderConfigElement())} </div> `:s.qy` <div class="yaml-editor"> <ha-yaml-editor .defaultValue="${this._config}" autofocus .inDialog="${this.inDialog}" @value-changed="${this._handleYAMLChanged}" @keydown="${this._ignoreKeydown}" dir="ltr"></ha-yaml-editor> </div> `} ${!1===this._guiSupported&&!1===this._loading?s.qy` <ha-alert alert-type="info" .title="${this.hass.localize("ui.errors.config.visual_editor_not_supported")}"> ${this.hass.localize("ui.errors.config.visual_editor_not_supported_reason_type")} <br> ${this.hass.localize("ui.errors.config.edit_in_yaml_supported")} </ha-alert> `:s.s6} ${this._errors?.length?s.qy` <ha-alert alert-type="error" .title="${this.hass.localize("ui.errors.config.configuration_error")}"> <ul> ${this._errors.map(e=>s.qy`<li>${e}</li>`)} </ul> </ha-alert> `:s.s6} ${this.hasWarning?s.qy` <ha-alert alert-type="warning" .title="${this.hass.localize("ui.errors.config.visual_editor_not_supported")}"> <ul> ${this._warnings.map(e=>s.qy`<li>${e}</li>`)} </ul> ${this.hass.localize("ui.errors.config.edit_in_yaml_supported")} </ha-alert> `:s.s6} </div> `}updated(e){super.updated(e),this._configElement&&e.has("hass")&&(this._configElement.hass=this.hass),this._configElement&&"lovelace"in this._configElement&&e.has("lovelace")&&(this._configElement.lovelace=this.lovelace),this._configElement&&e.has("context")&&(this._configElement.context=this.context)}_handleUIConfigChanged(e){if(e.stopPropagation(),!this.GUImode)return;const t=e.detail.config;Object.keys(t).forEach(e=>{void 0===t[e]&&delete t[e]}),this.value=t}_handleYAMLChanged(e){e.stopPropagation(),e.detail.isValid?(this._config=e.detail.value,this._errors=void 0,this._yamlError=!1):this._yamlError=!0,this._setConfig()}async unloadConfigElement(){this._configElement=void 0,this._guiSupported=void 0}async loadConfigElement(){if(this._configElement)return;let e=await this.getConfigElement();if(!e){const t=await this.getConfigForm();if(t){await i.e(15106).then(i.bind(i,15737)),e=document.createElement("hui-form-editor");const{schema:a,assertConfig:o,computeLabel:s,computeHelper:n}=t;e.schema=a,s&&(e.computeLabel=s),n&&(e.computeHelper=n),o&&(e.assertConfig=o)}}e?(e.hass=this.hass,"lovelace"in e&&(e.lovelace=this.lovelace),e.context=this.context,e.addEventListener("config-changed",e=>this._handleUIConfigChanged(e)),this._guiSupported=!0):this._guiSupported=!1,this._configElement=e}async _updateConfigElement(){if(!this.value)return;const e=++this._loadCount;try{if(this._errors=void 0,this._warnings=void 0,await this.loadConfigElement(),this._configElement)try{this._configElement.setConfig(this.value)}catch(e){const t=(0,d._)(this.hass,e);throw new p.r("Config is not supported",t.warnings,t.errors)}else this._guiSupported=!1,this.GUImode=!1}catch(t){if(e!==this._loadCount)return;t instanceof p.r?(this._warnings=t.warnings??[t.message],this._errors=t.errors||void 0):this._errors=[t.message],this.GUImode=!1}finally{this._loading=!1}}_ignoreKeydown(e){e.stopPropagation()}constructor(...e){super(...e),this.inDialog=!1,this._guiMode=!0,this._loading=!1,this._yamlError=!1,this._loadCount=0}}y.styles=s.AH`:host{display:flex}.wrapper{width:100%}.gui-editor,.yaml-editor{padding:8px 0px}ha-code-editor{--code-mirror-max-height:calc(100vh - 245px)}ha-spinner{display:block;margin:auto}`,(0,o.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"hass",void 0),(0,o.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"lovelace",void 0),(0,o.Cg)([(0,n.MZ)({attribute:!1})],y.prototype,"context",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,attribute:"in-dialog"})],y.prototype,"inDialog",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_config",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_configElement",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_subElementEditorConfig",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_guiMode",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_errors",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_warnings",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_guiSupported",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_loading",void 0),(0,o.Cg)([(0,n.wk)()],y.prototype,"_yamlError",void 0),(0,o.Cg)([(0,n.P)("ha-yaml-editor")],y.prototype,"_yamlEditor",void 0),a()}catch(e){a(e)}})},98161(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),o=i(22441),s=i(91322),n=e([s]);s=(n.then?(await n)():n)[0];class r extends s.m{async getConfigForm(){return this.form}updated(e){if(super.updated(e),e.has("form")&&this._configElement){const{schema:e,assertConfig:t,computeLabel:i,computeHelper:a}=this.form;this._configElement.schema=e,i&&(this._configElement.computeLabel=i),a&&(this._configElement.computeHelper=a),t&&(this._configElement.assertConfig=t)}}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],r.prototype,"form",void 0),r=(0,a.Cg)([(0,o.EM)("hui-form-element-editor")],r),t()}catch(e){t(e)}})},81287(e,t,i){i.a(e,async function(e,a){try{i.r(t),i.d(t,{HuiSubElementEditor:()=>f});var o=i(62826),s=i(5124),n=i(22441),r=i(1087),l=i(26300),d=i(45100),h=i(88528),c=i(10903),g=i(49288),u=i(6870),p=i(98161),m=i(3548),y=e([l,d,h,c,g,u,p,m]);[l,d,h,c,g,u,p,m]=y.then?(await y)():y;const b="M8,3A2,2 0 0,0 6,5V9A2,2 0 0,1 4,11H3V13H4A2,2 0 0,1 6,15V19A2,2 0 0,0 8,21H10V19H8V14A2,2 0 0,0 6,12A2,2 0 0,0 8,10V5H10V3M16,3A2,2 0 0,1 18,5V9A2,2 0 0,0 20,11H21V13H20A2,2 0 0,0 18,15V19A2,2 0 0,1 16,21H14V19H16V14A2,2 0 0,1 18,12A2,2 0 0,1 16,10V5H14V3H16Z",_="M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z";class f extends s.WF{render(){const e=this.config.elementConfig&&"type"in this.config.elementConfig?this.config.elementConfig.type:"";return s.qy` <div class="header"> <div class="back-title"> <ha-icon-button-prev .label="${this.hass.localize("ui.common.back")}" @click="${this._goBack}"></ha-icon-button-prev> <span slot="title"> ${"element"===this.config?.type?this.hass.localize("ui.panel.lovelace.editor.sub-element-editor.types.element_type",{type:this.hass.localize(`ui.panel.lovelace.editor.card.picture-elements.element_types.${e}`)||e}):this.hass.localize(`ui.panel.lovelace.editor.sub-element-editor.types.${this.config?.type}`)} </span> </div> <ha-icon-button class="gui-mode-button" @click="${this._toggleMode}" .disabled="${!this._guiModeAvailable}" .label="${this.hass.localize(this._guiMode?"ui.panel.lovelace.editor.edit_card.show_code_editor":"ui.panel.lovelace.editor.edit_card.show_visual_editor")}" .path="${this._guiMode?b:_}"></ha-icon-button> </div> ${this._renderEditor()} `}_renderEditor(){const e=this.config.type;if(this.form)return s.qy` <hui-form-element-editor class="editor" .hass="${this.hass}" .value="${this.config.elementConfig}" .form="${this.form}" .context="${this.config.context}" @config-changed="${this._handleConfigChanged}"></hui-form-element-editor> `;switch(e){case"row":return s.qy` <hui-row-element-editor class="editor" .hass="${this.hass}" .value="${this.config.elementConfig}" .context="${this.config.context}" @config-changed="${this._handleConfigChanged}" @GUImode-changed="${this._handleGUIModeChanged}"></hui-row-element-editor> `;case"header":case"footer":return s.qy` <hui-headerfooter-element-editor class="editor" .hass="${this.hass}" .value="${this.config.elementConfig}" .context="${this.config.context}" @config-changed="${this._handleConfigChanged}" @GUImode-changed="${this._handleGUIModeChanged}"></hui-headerfooter-element-editor> `;case"element":return s.qy` <hui-picture-element-element-editor class="editor" .hass="${this.hass}" .value="${this.config.elementConfig}" .context="${this.config.context}" @config-changed="${this._handleConfigChanged}" @GUImode-changed="${this._handleGUIModeChanged}"></hui-picture-element-element-editor> `;case"feature":return s.qy` <hui-card-feature-element-editor class="editor" .hass="${this.hass}" .value="${this.config.elementConfig}" .context="${this.config.context}" @config-changed="${this._handleConfigChanged}" @GUImode-changed="${this._handleGUIModeChanged}"></hui-card-feature-element-editor> `;case"heading-badge":return s.qy` <hui-heading-badge-element-editor class="editor" .hass="${this.hass}" .value="${this.config.elementConfig}" .context="${this.config.context}" @config-changed="${this._handleConfigChanged}" @GUImode-changed="${this._handleGUIModeChanged}"></hui-heading-badge-element-editor> `;default:return s.s6}}_goBack(){(0,r.r)(this,"go-back")}_toggleMode(){this._editorElement?.toggleMode()}_handleGUIModeChanged(e){e.stopPropagation(),this._guiMode=e.detail.guiMode,this._guiModeAvailable=e.detail.guiModeAvailable}_handleConfigChanged(e){this._guiModeAvailable=e.detail.guiModeAvailable}constructor(...e){super(...e),this._guiModeAvailable=!0,this._guiMode=!0}}f.styles=s.AH`.header{display:flex;justify-content:space-between;align-items:center}.back-title{display:flex;align-items:center;font-size:var(--ha-font-size-l)}`,(0,o.Cg)([(0,n.MZ)({attribute:!1})],f.prototype,"config",void 0),(0,o.Cg)([(0,n.MZ)({attribute:!1})],f.prototype,"form",void 0),(0,o.Cg)([(0,n.wk)()],f.prototype,"_guiModeAvailable",void 0),(0,o.Cg)([(0,n.wk)()],f.prototype,"_guiMode",void 0),(0,o.Cg)([(0,n.P)(".editor")],f.prototype,"_editorElement",void 0),f=(0,o.Cg)([(0,n.EM)("hui-sub-element-editor")],f),a()}catch(e){a(e)}})},63277(e,t,i){i.a(e,async function(e,a){try{i.d(t,{U:()=>l});var o=i(62826),s=i(22441),n=i(91322),r=e([n]);n=(r.then?(await r)():r)[0];class l extends n.m{get configElementType(){return this.value?this.value.type:void 0}async loadConfigElement(){if(this._configElementType!==this.configElementType){if(this.unloadConfigElement(),!this.configElementType)throw new Error(this.hass.localize("ui.errors.config.no_type_provided"));this._configElementType=this.configElementType}return super.loadConfigElement()}}(0,o.Cg)([(0,s.wk)()],l.prototype,"_configElementType",void 0),a()}catch(e){a(e)}})},3548(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),o=i(22441),s=i(63277),n=i(82743),r=e([s,n]);[s,n]=r.then?(await r)():r;class l extends s.U{get configElementType(){return"action-button"===this.value?.type?"service-button":this.value?.type}async getConfigElement(){const e=await(0,n.j)(this.configElementType);if(e&&e.getConfigElement)return e.getConfigElement()}}l=(0,a.Cg)([(0,o.EM)("hui-picture-element-element-editor")],l),t()}catch(e){t(e)}})},88170(e,t,i){i.d(t,{_:()=>a});i(18111),i(61701);function a(e){return e.map(e=>"string"==typeof e?{entity:e}:e)}},84698(e,t,i){i.d(t,{H:()=>o});var a=i(63533);const o=(0,a.Ik)({type:(0,a.Yj)(),view_layout:(0,a.bz)(),layout_options:(0,a.bz)(),grid_options:(0,a.bz)(),visibility:(0,a.bz)(),disabled:(0,a.lq)((0,a.zM)())})},20507(e,t,i){i.d(t,{l:()=>r,z:()=>l});var a=i(63533),o=i(9169),s=i(91408),n=i(44155);const r=(0,a.KC)([(0,a.Ik)({entity:(0,a.Yj)(),name:(0,a.lq)(n.q),icon:(0,a.lq)((0,a.Yj)()),image:(0,a.lq)((0,a.Yj)()),secondary_info:(0,a.lq)((0,a.Yj)()),format:(0,a.lq)((0,a.vP)(o.j)),state_color:(0,a.lq)((0,a.zM)()),tap_action:(0,a.lq)(s.kn),hold_action:(0,a.lq)(s.kn),double_tap_action:(0,a.lq)(s.kn),confirmation:(0,a.lq)(s.dk),show_last_changed:(0,a.lq)((0,a.zM)()),show_state:(0,a.lq)((0,a.zM)())}),(0,a.Yj)()]),l=(0,a.KC)([(0,a.Ik)({entity:(0,a.Yj)(),name:(0,a.lq)(n.q),color:(0,a.lq)((0,a.Yj)())}),(0,a.Yj)()])},74985(e,t,i){i.d(t,{P:()=>r});i(88454),i(29452);var a=i(5055),o=i(42017),s=i(63937);const n=e=>(0,s.ps)(e)?e._$litType$.h:e.strings,r=(0,o.u$)(class extends o.WL{render(e){return[e]}update(e,[t]){const i=(0,s.qb)(this.it)?n(this.it):null,o=(0,s.qb)(t)?n(t):null;if(null!==i&&(null===o||i!==o)){const t=(0,s.cN)(e).pop();let o=this.et.get(i);if(void 0===o){const e=document.createDocumentFragment();o=(0,a.XX)(a.s6,e),o.setConnected(!1),this.et.set(i,o)}(0,s.mY)(o,[t]),(0,s.Dx)(o,void 0,t)}if(null!==o){if(null===i||i!==o){const t=this.et.get(o);if(void 0!==t){const i=(0,s.cN)(t).pop();(0,s.Jz)(e),(0,s.Dx)(e,void 0,i),(0,s.mY)(e,[i])}}this.it=t}else this.it=void 0;return this.render(t)}constructor(e){super(e),this.et=new WeakMap}})}};