iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
10 lines • 56.9 kB
JavaScript
(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["37133"],{84200:function(e,t,i){"use strict";i.d(t,{r:()=>o});i(71695),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814),i(47021);const a=(e,t,i=true)=>{var o;if(!e||e===document.body)return null;if((e=null!==(o=e.assignedSlot)&&void 0!==o?o:e).parentElement)e=e.parentElement;else{const t=e.getRootNode();e=t instanceof ShadowRoot?t.host:null}return(i?Object.prototype.hasOwnProperty.call(e,t):e&&t in e)?e:a(e,t,i)},o=(e,t,i=true)=>{const o=new Set;for(;e;)o.add(e),e=a(e,t,i);return o}},81165:function(e,t,i){"use strict";i.d(t,{j:()=>a});const a=(e=document)=>{var t;return null!==(t=e.activeElement)&&void 0!==t&&null!==(t=t.shadowRoot)&&void 0!==t&&t.activeElement?a(e.activeElement.shadowRoot):e.activeElement}},45061:function(e,t,i){"use strict";i.d(t,{K:()=>a});const a=e=>{switch(e.language){case"cs":case"de":case"fi":case"fr":case"sk":case"sv":return" ";default:return""}}},76320:function(e,t,i){"use strict";i.d(t,{T:()=>a,y:()=>o});i(40251);const a=e=>{requestAnimationFrame((()=>setTimeout(e,0)))},o=()=>new Promise((e=>{a(e)}))},74666:function(e,t,i){"use strict";var a=i(61701),o=(i(71695),i(47021),i(74763)),n=i(50778);(0,a.Z)([(0,n.Mo)("ha-chip-set")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[]}}),o.l)},18756:function(e,t,i){"use strict";var a=i(61701),o=i(72621),n=(i(71695),i(47021),i(74514)),r=i(57243),l=i(50778);let d,s=e=>e;(0,a.Z)([(0,l.Mo)("ha-input-chip")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",static:!0,key:"styles",value(){return[...(0,o.Z)(i,"styles",this),(0,r.iv)(d||(d=s`:host{--md-sys-color-primary:var(--primary-text-color);--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--primary-text-color);--md-sys-color-on-secondary-container:var(--primary-text-color);--md-input-chip-container-shape:16px;--md-input-chip-outline-color:var(--outline-color);--md-input-chip-selected-container-color:rgba(
var(--rgb-primary-text-color),
0.15
);--ha-input-chip-selected-container-opacity:1;--md-input-chip-label-text-font:Roboto,sans-serif}::slotted([slot=icon]){display:flex;--mdc-icon-size:var(--md-input-chip-icon-size, 18px)}.selected::before{opacity:var(--ha-input-chip-selected-container-opacity)}`))]}}]}}),n.W)},91665:function(e,t,i){"use strict";var a=i(61701),o=(i(71695),i(47021),i(57243)),n=i(50778),r=i(36522);i(78860);let l,d=e=>e;(0,a.Z)([(0,n.Mo)("ha-aliases-editor")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array})],key:"aliases",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"method",key:"render",value:function(){return this.aliases?(0,o.dy)(l||(l=d` <ha-multi-textfield .hass="${0}" .value="${0}" .disabled="${0}" .label="${0}" .removeLabel="${0}" .addLabel="${0}" item-index @value-changed="${0}"> </ha-multi-textfield> `),this.hass,this.aliases,this.disabled,this.hass.localize("ui.dialogs.aliases.label"),this.hass.localize("ui.dialogs.aliases.remove"),this.hass.localize("ui.dialogs.aliases.add"),this._aliasesChanged):o.Ld}},{kind:"method",key:"_aliasesChanged",value:function(e){(0,r.B)(this,"value-changed",{value:e})}}]}}),o.oi)},81282:function(e,t,i){"use strict";i.a(e,(async function(e,t){try{var a=i(61701),o=(i(19083),i(71695),i(9359),i(68107),i(56475),i(70104),i(52924),i(19423),i(40251),i(61006),i(47021),i(57243)),n=i(50778),r=i(35359),l=i(27486),d=i(36522),s=i(73850),c=i(24360),h=i(82100),u=i(71857),v=i(76131),p=i(61107),f=i(94279),m=(i(23334),i(7285),i(37583),e([f]));f=(m.then?(await m)():m)[0];let g,y,b,_,k=e=>e;const x="M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z",w=e=>(0,o.dy)(g||(g=k`<ha-list-item graphic="icon" class="${0}"> ${0} ${0} </ha-list-item>`),(0,r.$)({"add-new":e.area_id===$}),e.icon?(0,o.dy)(y||(y=k`<ha-icon slot="graphic" .icon="${0}"></ha-icon>`),e.icon):(0,o.dy)(b||(b=k`<ha-svg-icon slot="graphic" .path="${0}"></ha-svg-icon>`),x),e.name),$="___ADD_NEW___",C="___NO_ITEMS___",A="___ADD_NEW_SUGGESTION___";(0,a.Z)([(0,n.Mo)("ha-area-picker")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"placeholder",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,attribute:"no-add"})],key:"noAdd",value(){return!1}},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"include-domains"})],key:"includeDomains",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"exclude-domains"})],key:"excludeDomains",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"include-device-classes"})],key:"includeDeviceClasses",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"exclude-areas"})],key:"excludeAreas",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"deviceFilter",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"entityFilter",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"field",decorators:[(0,n.SB)()],key:"_opened",value:void 0},{kind:"field",decorators:[(0,n.IO)("ha-combo-box",!0)],key:"comboBox",value:void 0},{kind:"field",key:"_suggestion",value:void 0},{kind:"field",key:"_init",value(){return!1}},{kind:"method",key:"open",value:async function(){var e;await this.updateComplete,await(null===(e=this.comboBox)||void 0===e?void 0:e.open())}},{kind:"method",key:"focus",value:async function(){var e;await this.updateComplete,await(null===(e=this.comboBox)||void 0===e?void 0:e.focus())}},{kind:"field",key:"_getAreas",value(){return(0,l.Z)(((e,t,i,a,o,n,r,l,d,c)=>{let h,v,p={};(a||o||n||r||l)&&(p=(0,u.R6)(i),h=t,v=i.filter((e=>e.area_id)),a&&(h=h.filter((e=>{const t=p[e.id];return!(!t||!t.length)&&p[e.id].some((e=>a.includes((0,s.M)(e.entity_id))))})),v=v.filter((e=>a.includes((0,s.M)(e.entity_id))))),o&&(h=h.filter((e=>{const t=p[e.id];return!t||!t.length||i.every((e=>!o.includes((0,s.M)(e.entity_id))))})),v=v.filter((e=>!o.includes((0,s.M)(e.entity_id))))),n&&(h=h.filter((e=>{const t=p[e.id];return!(!t||!t.length)&&p[e.id].some((e=>{const t=this.hass.states[e.entity_id];return!!t&&(t.attributes.device_class&&n.includes(t.attributes.device_class))}))})),v=v.filter((e=>{const t=this.hass.states[e.entity_id];return t.attributes.device_class&&n.includes(t.attributes.device_class)}))),r&&(h=h.filter((e=>r(e)))),l&&(h=h.filter((e=>{const t=p[e.id];return!(!t||!t.length)&&p[e.id].some((e=>{const t=this.hass.states[e.entity_id];return!!t&&l(t)}))})),v=v.filter((e=>{const t=this.hass.states[e.entity_id];return!!t&&l(t)}))));let f,m=e;return h&&(f=h.filter((e=>e.area_id)).map((e=>e.area_id))),v&&(f=(null!=f?f:[]).concat(v.filter((e=>e.area_id)).map((e=>e.area_id)))),f&&(m=m.filter((e=>f.includes(e.area_id)))),c&&(m=m.filter((e=>!c.includes(e.area_id)))),m.length||(m=[{area_id:C,floor_id:null,name:this.hass.localize("ui.components.area-picker.no_areas"),picture:null,icon:null,aliases:[],labels:[],temperature_entity_id:null,humidity_entity_id:null,created_at:0,modified_at:0}]),d?m:[...m,{area_id:$,floor_id:null,name:this.hass.localize("ui.components.area-picker.add_new"),picture:null,icon:"mdi:plus",aliases:[],labels:[],temperature_entity_id:null,humidity_entity_id:null,created_at:0,modified_at:0}]}))}},{kind:"method",key:"updated",value:function(e){if(!this._init&&this.hass||this._init&&e.has("_opened")&&this._opened){this._init=!0;const e=this._getAreas(Object.values(this.hass.areas),Object.values(this.hass.devices),Object.values(this.hass.entities),this.includeDomains,this.excludeDomains,this.includeDeviceClasses,this.deviceFilter,this.entityFilter,this.noAdd,this.excludeAreas).map((e=>Object.assign(Object.assign({},e),{},{strings:[e.area_id,...e.aliases,e.name]})));this.comboBox.items=e,this.comboBox.filteredItems=e}}},{kind:"method",key:"render",value:function(){var e;return(0,o.dy)(_||(_=k` <ha-combo-box .hass="${0}" .helper="${0}" item-value-path="area_id" item-id-path="area_id" item-label-path="name" .value="${0}" .disabled="${0}" .required="${0}" .label="${0}" .placeholder="${0}" .renderer="${0}" @filter-changed="${0}" @opened-changed="${0}" @value-changed="${0}"> </ha-combo-box> `),this.hass,this.helper,this._value,this.disabled,this.required,void 0===this.label&&this.hass?this.hass.localize("ui.components.area-picker.area"):this.label,this.placeholder?null===(e=this.hass.areas[this.placeholder])||void 0===e?void 0:e.name:void 0,w,this._filterChanged,this._openedChanged,this._areaChanged)}},{kind:"method",key:"_filterChanged",value:function(e){var t;const i=e.target,a=e.detail.value;if(!a)return void(this.comboBox.filteredItems=this.comboBox.items);const o=(0,c.q)(a,(null===(t=i.items)||void 0===t?void 0:t.filter((e=>![C,$].includes(e.label_id))))||[]);0===o.length?this.noAdd?(this._suggestion=a,this.comboBox.filteredItems=[{area_id:A,floor_id:null,name:this.hass.localize("ui.components.area-picker.add_new_sugestion",{name:this._suggestion}),icon:"mdi:plus",picture:null,labels:[],aliases:[],temperature_entity_id:null,humidity_entity_id:null,created_at:0,modified_at:0}]):this.comboBox.filteredItems=[{area_id:C,floor_id:null,name:this.hass.localize("ui.components.area-picker.no_match"),icon:null,picture:null,labels:[],aliases:[],temperature_entity_id:null,humidity_entity_id:null,created_at:0,modified_at:0}]:this.comboBox.filteredItems=o}},{kind:"get",key:"_value",value:function(){return this.value||""}},{kind:"method",key:"_openedChanged",value:function(e){this._opened=e.detail.value}},{kind:"method",key:"_areaChanged",value:function(e){e.stopPropagation();let t=e.detail.value;if(t===C)return t="",void this.comboBox.setInputValue("");[A,$].includes(t)?(e.target.value=this._value,this.hass.loadFragmentTranslation("config"),(0,p.E)(this,{suggestedName:t===A?this._suggestion:"",createEntry:async e=>{try{const t=await(0,h.Lo)(this.hass,e),i=[...Object.values(this.hass.areas),t];this.comboBox.filteredItems=this._getAreas(i,Object.values(this.hass.devices),Object.values(this.hass.entities),this.includeDomains,this.excludeDomains,this.includeDeviceClasses,this.deviceFilter,this.entityFilter,this.noAdd,this.excludeAreas),await this.updateComplete,await this.comboBox.updateComplete,this._setValue(t.area_id)}catch(t){(0,v.showAlertDialog)(this,{title:this.hass.localize("ui.components.area-picker.failed_create_area"),text:t.message})}}}),this._suggestion=void 0,this.comboBox.setInputValue("")):t!==this._value&&this._setValue(t)}},{kind:"method",key:"_setValue",value:function(e){this.value=e,setTimeout((()=>{(0,d.B)(this,"value-changed",{value:e}),(0,d.B)(this,"change")}),0)}}]}}),o.oi);t()}catch(g){t(g)}}))},59826:function(e,t,i){"use strict";var a=i(61701),o=(i(71695),i(47021),i(31622)),n=i(57243),r=i(50778),l=i(22344);let d,s=e=>e;(0,a.Z)([(0,r.Mo)("ha-button")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",static:!0,key:"styles",value(){return[l.W,(0,n.iv)(d||(d=s`::slotted([slot=icon]){margin-inline-start:0px;margin-inline-end:8px;direction:var(--direction);display:block}.mdc-button{height:var(--button-height,36px)}.trailing-icon{display:flex}.slot-container{overflow:var(--button-slot-container-overflow,visible)}:host([destructive]){--mdc-theme-primary:var(--error-color)}`))]}}]}}),o.Button)},94279:function(e,t,i){"use strict";i.a(e,(async function(e,t){try{var a=i(61701),o=i(72621),n=(i(71695),i(9359),i(31526),i(40251),i(47021),i(2394)),r=i(28737),l=i(43631),d=i(57243),s=i(50778),c=i(20552),h=i(36522),u=(i(23334),i(7285),i(83166),e([r]));r=(u.then?(await u)():u)[0];let v,p,f,m,g,y,b=e=>e;const _="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",k="M7,10L12,15L17,10H7Z",x="M7,15L12,10L17,15H7Z";(0,l.hC)("vaadin-combo-box-item",(0,d.iv)(v||(v=b`:host{padding:0!important}:host([focused]:not([disabled])){background-color:rgba(var(--rgb-primary-text-color,0,0,0),.12)}:host([selected]:not([disabled])){background-color:transparent;color:var(--mdc-theme-primary);--mdc-ripple-color:var(--mdc-theme-primary);--mdc-theme-text-primary-on-background:var(--mdc-theme-primary)}:host([selected]:not([disabled])):before{background-color:var(--mdc-theme-primary);opacity:.12;content:"";position:absolute;top:0;left:0;width:100%;height:100%}:host([selected][focused]:not([disabled])):before{opacity:.24}:host(:hover:not([disabled])){background-color:transparent}[part=content]{width:100%}[part=checkmark]{display:none}`)));(0,a.Z)([(0,s.Mo)("ha-combo-box")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"placeholder",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"validationMessage",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"invalid",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"icon",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"items",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"filteredItems",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"dataProvider",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"allow-custom-value",type:Boolean})],key:"allowCustomValue",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:"item-value-path"})],key:"itemValuePath",value(){return"value"}},{kind:"field",decorators:[(0,s.Cb)({attribute:"item-label-path"})],key:"itemLabelPath",value(){return"label"}},{kind:"field",decorators:[(0,s.Cb)({attribute:"item-id-path"})],key:"itemIdPath",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"renderer",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"opened",value(){return!1}},{kind:"field",decorators:[(0,s.IO)("vaadin-combo-box-light",!0)],key:"_comboBox",value:void 0},{kind:"field",decorators:[(0,s.IO)("ha-textfield",!0)],key:"_inputElement",value:void 0},{kind:"field",key:"_overlayMutationObserver",value:void 0},{kind:"field",key:"_bodyMutationObserver",value:void 0},{kind:"method",key:"open",value:async function(){var e;await this.updateComplete,null===(e=this._comboBox)||void 0===e||e.open()}},{kind:"method",key:"focus",value:async function(){var e,t;await this.updateComplete,await(null===(e=this._inputElement)||void 0===e?void 0:e.updateComplete),null===(t=this._inputElement)||void 0===t||t.focus()}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(i,"disconnectedCallback",this,3)([]),this._overlayMutationObserver&&(this._overlayMutationObserver.disconnect(),this._overlayMutationObserver=void 0),this._bodyMutationObserver&&(this._bodyMutationObserver.disconnect(),this._bodyMutationObserver=void 0)}},{kind:"get",key:"selectedItem",value:function(){return this._comboBox.selectedItem}},{kind:"method",key:"setInputValue",value:function(e){this._comboBox.value=e}},{kind:"method",key:"render",value:function(){var e;return(0,d.dy)(p||(p=b` <vaadin-combo-box-light .itemValuePath="${0}" .itemIdPath="${0}" .itemLabelPath="${0}" .items="${0}" .value="${0}" .filteredItems="${0}" .dataProvider="${0}" .allowCustomValue="${0}" .disabled="${0}" .required="${0}" ${0} @opened-changed="${0}" @filter-changed="${0}" @value-changed="${0}" attr-for-value="value"> <ha-textfield label="${0}" placeholder="${0}" ?disabled="${0}" ?required="${0}" validationMessage="${0}" .errorMessage="${0}" class="input" autocapitalize="none" autocomplete="off" autocorrect="off" input-spellcheck="false" .suffix="${0}" .icon="${0}" .invalid="${0}" .helper="${0}" helperPersistent> <slot name="icon" slot="leadingIcon"></slot> </ha-textfield> ${0} <ha-svg-icon role="button" tabindex="-1" aria-label="${0}" aria-expanded="${0}" class="toggle-button" .path="${0}" @click="${0}"></ha-svg-icon> </vaadin-combo-box-light> `),this.itemValuePath,this.itemIdPath,this.itemLabelPath,this.items,this.value||"",this.filteredItems,this.dataProvider,this.allowCustomValue,this.disabled,this.required,(0,n.t)(this.renderer||this._defaultRowRenderer),this._openedChanged,this._filterChanged,this._valueChanged,(0,c.o)(this.label),(0,c.o)(this.placeholder),this.disabled,this.required,(0,c.o)(this.validationMessage),this.errorMessage,(0,d.dy)(f||(f=b`<div style="width:28px" role="none presentation"></div>`)),this.icon,this.invalid,this.helper,this.value?(0,d.dy)(m||(m=b`<ha-svg-icon role="button" tabindex="-1" aria-label="${0}" class="clear-button" .path="${0}" @click="${0}"></ha-svg-icon>`),(0,c.o)(null===(e=this.hass)||void 0===e?void 0:e.localize("ui.common.clear")),_,this._clearValue):"",(0,c.o)(this.label),this.opened?"true":"false",this.opened?x:k,this._toggleOpen)}},{kind:"field",key:"_defaultRowRenderer",value(){return e=>(0,d.dy)(g||(g=b`<ha-list-item> ${0} </ha-list-item>`),this.itemLabelPath?e[this.itemLabelPath]:e)}},{kind:"method",key:"_clearValue",value:function(e){e.stopPropagation(),(0,h.B)(this,"value-changed",{value:void 0})}},{kind:"method",key:"_toggleOpen",value:function(e){var t,i;this.opened?(null===(t=this._comboBox)||void 0===t||t.close(),e.stopPropagation()):null===(i=this._comboBox)||void 0===i||i.inputElement.focus()}},{kind:"method",key:"_openedChanged",value:function(e){e.stopPropagation();const t=e.detail.value;if(setTimeout((()=>{this.opened=t}),0),(0,h.B)(this,"opened-changed",{value:e.detail.value}),t){const e=document.querySelector("vaadin-combo-box-overlay");e&&this._removeInert(e),this._observeBody()}else{var i;null===(i=this._bodyMutationObserver)||void 0===i||i.disconnect(),this._bodyMutationObserver=void 0}}},{kind:"method",key:"_observeBody",value:function(){"MutationObserver"in window&&!this._bodyMutationObserver&&(this._bodyMutationObserver=new MutationObserver((e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{"VAADIN-COMBO-BOX-OVERLAY"===e.nodeName&&this._removeInert(e)})),e.removedNodes.forEach((e=>{var t;"VAADIN-COMBO-BOX-OVERLAY"===e.nodeName&&(null===(t=this._overlayMutationObserver)||void 0===t||t.disconnect(),this._overlayMutationObserver=void 0)}))}))})),this._bodyMutationObserver.observe(document.body,{childList:!0}))}},{kind:"method",key:"_removeInert",value:function(e){var t;if(e.inert)return e.inert=!1,null===(t=this._overlayMutationObserver)||void 0===t||t.disconnect(),void(this._overlayMutationObserver=void 0);"MutationObserver"in window&&!this._overlayMutationObserver&&(this._overlayMutationObserver=new MutationObserver((e=>{e.forEach((e=>{if("inert"===e.attributeName){const i=e.target;var t;if(i.inert)null===(t=this._overlayMutationObserver)||void 0===t||t.disconnect(),this._overlayMutationObserver=void 0,i.inert=!1}}))})),this._overlayMutationObserver.observe(e,{attributes:!0}))}},{kind:"method",key:"_filterChanged",value:function(e){e.stopPropagation(),(0,h.B)(this,"filter-changed",{value:e.detail.value})}},{kind:"method",key:"_valueChanged",value:function(e){e.stopPropagation(),this.allowCustomValue||(this._comboBox._closeOnBlurIsPrevented=!0);const t=e.detail.value;t!==this.value&&(0,h.B)(this,"value-changed",{value:t||void 0})}},{kind:"field",static:!0,key:"styles",value(){return(0,d.iv)(y||(y=b`:host{display:block;width:100%}vaadin-combo-box-light{position:relative;--vaadin-combo-box-overlay-max-height:calc(45vh - 56px)}ha-textfield{width:100%}ha-textfield>ha-icon-button{--mdc-icon-button-size:24px;padding:2px;color:var(--secondary-text-color)}ha-svg-icon{color:var(--input-dropdown-icon-color);position:absolute;cursor:pointer}.toggle-button{right:12px;top:-10px;inset-inline-start:initial;inset-inline-end:12px;direction:var(--direction)}:host([opened]) .toggle-button{color:var(--primary-color)}.clear-button{--mdc-icon-size:20px;top:-7px;right:36px;inset-inline-start:initial;inset-inline-end:36px;direction:var(--direction)}`))}}]}}),d.oi);t()}catch(v){t(v)}}))},73729:function(e,t,i){"use strict";i.d(t,{i:()=>f});var a=i(61701),o=i(72621),n=(i(22152),i(71695),i(47021),i(74966)),r=i(51408),l=i(57243),d=i(50778),s=i(76525);i(23334);let c,h,u,v=e=>e;const p=["button","ha-list-item"],f=(e,t)=>{var i;return(0,l.dy)(c||(c=v` <div class="header_title"> <ha-icon-button .label="${0}" .path="${0}" dialogAction="close" class="header_button"></ha-icon-button> <span>${0}</span> </div> `),null!==(i=null==e?void 0:e.localize("ui.common.close"))&&void 0!==i?i:"Close","M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",t)};(0,a.Z)([(0,d.Mo)("ha-dialog")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",key:s.gA,value:void 0},{kind:"method",key:"scrollToPos",value:function(e,t){var i;null===(i=this.contentElement)||void 0===i||i.scrollTo(e,t)}},{kind:"method",key:"renderHeading",value:function(){return(0,l.dy)(h||(h=v`<slot name="heading"> ${0} </slot>`),(0,o.Z)(i,"renderHeading",this,3)([]))}},{kind:"method",key:"firstUpdated",value:function(){var e;(0,o.Z)(i,"firstUpdated",this,3)([]),this.suppressDefaultPressSelector=[this.suppressDefaultPressSelector,p].join(", "),this._updateScrolledAttribute(),null===(e=this.contentElement)||void 0===e||e.addEventListener("scroll",this._onScroll,{passive:!0})}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(i,"disconnectedCallback",this,3)([]),this.contentElement.removeEventListener("scroll",this._onScroll)}},{kind:"field",key:"_onScroll",value(){return()=>{this._updateScrolledAttribute()}}},{kind:"method",key:"_updateScrolledAttribute",value:function(){this.contentElement&&this.toggleAttribute("scrolled",0!==this.contentElement.scrollTop)}},{kind:"field",static:!0,key:"styles",value(){return[r.W,(0,l.iv)(u||(u=v`:host([scrolled]) ::slotted(ha-dialog-header){border-bottom:1px solid var(--mdc-dialog-scroll-divider-color,rgba(0,0,0,.12))}.mdc-dialog{--mdc-dialog-scroll-divider-color:var(
--dialog-scroll-divider-color,
var(--divider-color)
);z-index:var(--dialog-z-index,8);-webkit-backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));--mdc-dialog-box-shadow:var(--dialog-box-shadow, none);--mdc-typography-headline6-font-weight:400;--mdc-typography-headline6-font-size:1.574rem}.mdc-dialog__actions{justify-content:var(--justify-action-buttons,flex-end);padding-bottom:max(env(safe-area-inset-bottom),24px)}.mdc-dialog__actions span:first-child{flex:var(--secondary-action-button-flex,unset)}.mdc-dialog__actions span:nth-child(2){flex:var(--primary-action-button-flex,unset)}.mdc-dialog__container{align-items:var(--vertical-align-dialog,center)}.mdc-dialog__title{padding:24px 24px 0 24px}.mdc-dialog__title:has(span){padding:12px 12px 0}.mdc-dialog__actions{padding:12px 24px 12px 24px}.mdc-dialog__title::before{content:unset}.mdc-dialog .mdc-dialog__content{position:var(--dialog-content-position,relative);padding:var(--dialog-content-padding,24px)}:host([hideactions]) .mdc-dialog .mdc-dialog__content{padding-bottom:max(var(--dialog-content-padding,24px),env(safe-area-inset-bottom))}.mdc-dialog .mdc-dialog__surface{position:var(--dialog-surface-position,relative);top:var(--dialog-surface-top);margin-top:var(--dialog-surface-margin-top);min-height:var(--mdc-dialog-min-height,auto);border-radius:var(--ha-dialog-border-radius,28px);-webkit-backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);background:var(--ha-dialog-surface-background,var(--mdc-theme-surface,#fff))}:host([flexContent]) .mdc-dialog .mdc-dialog__content{display:flex;flex-direction:column}.header_title{display:flex;align-items:center;direction:var(--direction)}.header_title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;padding-left:4px}.header_button{text-decoration:none;color:inherit;inset-inline-start:initial;inset-inline-end:-12px;direction:var(--direction)}.dialog-actions{inset-inline-start:initial!important;inset-inline-end:0px!important;direction:var(--direction)}`))]}}]}}),n.M)},21393:function(e,t,i){"use strict";i.a(e,(async function(e,a){try{i.r(t),i.d(t,{HaIconPicker:()=>w});var o=i(61701),n=(i(19083),i(71695),i(92745),i(61893),i(9359),i(56475),i(31526),i(70104),i(52924),i(40251),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814),i(61006),i(47021),i(57243)),r=i(50778),l=i(27486),d=i(36522),s=i(80654),c=i(94279),h=(i(7285),i(65981),e([c]));c=(h.then?(await h)():h)[0];let u,v,p,f,m,g=e=>e,y=[],b=!1;const _=async()=>{b=!0;const e=await i.e("25016").then(i.t.bind(i,58134,19));y=e.default.map((e=>({icon:`mdi:${e.name}`,parts:new Set(e.name.split("-")),keywords:e.keywords})));const t=[];Object.keys(s.g).forEach((e=>{t.push(k(e))})),(await Promise.all(t)).forEach((e=>{y.push(...e)}))},k=async e=>{try{const t=s.g[e].getIconList;if("function"!=typeof t)return[];const i=await t();return i.map((t=>{var i;return{icon:`${e}:${t.name}`,parts:new Set(t.name.split("-")),keywords:null!==(i=t.keywords)&&void 0!==i?i:[]}}))}catch(t){return console.warn(`Unable to load icon list for ${e} iconset`),[]}},x=e=>(0,n.dy)(u||(u=g`<ha-list-item graphic="avatar"> <ha-icon .icon="${0}" slot="graphic"></ha-icon> ${0} </ha-list-item>`),e.icon,e.icon);let w=(0,o.Z)([(0,r.Mo)("ha-icon-picker")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"placeholder",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"invalid",value(){return!1}},{kind:"method",key:"render",value:function(){return(0,n.dy)(v||(v=g` <ha-combo-box .hass="${0}" item-value-path="icon" item-label-path="icon" .value="${0}" allow-custom-value .dataProvider="${0}" .label="${0}" .helper="${0}" .disabled="${0}" .required="${0}" .placeholder="${0}" .errorMessage="${0}" .invalid="${0}" .renderer="${0}" icon @opened-changed="${0}" @value-changed="${0}"> ${0} </ha-combo-box> `),this.hass,this._value,b?this._iconProvider:void 0,this.label,this.helper,this.disabled,this.required,this.placeholder,this.errorMessage,this.invalid,x,this._openedChanged,this._valueChanged,this._value||this.placeholder?(0,n.dy)(p||(p=g` <ha-icon .icon="${0}" slot="icon"> </ha-icon> `),this._value||this.placeholder):(0,n.dy)(f||(f=g`<slot slot="icon" name="fallback"></slot>`)))}},{kind:"field",key:"_filterIcons",value(){return(0,l.Z)(((e,t=y)=>{if(!e)return t;const i=[],a=(e,t)=>i.push({icon:e,rank:t});for(const o of t)o.parts.has(e)?a(o.icon,1):o.keywords.includes(e)?a(o.icon,2):o.icon.includes(e)?a(o.icon,3):o.keywords.some((t=>t.includes(e)))&&a(o.icon,4);return 0===i.length&&a(e,0),i.sort(((e,t)=>e.rank-t.rank))}))}},{kind:"field",key:"_iconProvider",value(){return(e,t)=>{const i=this._filterIcons(e.filter.toLowerCase(),y),a=e.page*e.pageSize,o=a+e.pageSize;t(i.slice(a,o),i.length)}}},{kind:"method",key:"_openedChanged",value:async function(e){e.detail.value&&!b&&(await _(),this.requestUpdate())}},{kind:"method",key:"_valueChanged",value:function(e){e.stopPropagation(),this._setValue(e.detail.value)}},{kind:"method",key:"_setValue",value:function(e){this.value=e,(0,d.B)(this,"value-changed",{value:this._value},{bubbles:!1,composed:!1})}},{kind:"get",key:"_value",value:function(){return this.value||""}},{kind:"field",static:!0,key:"styles",value(){return(0,n.iv)(m||(m=g`[slot=icon]{color:var(--primary-text-color);position:relative;bottom:2px}[slot=prefix]{margin-right:8px;margin-inline-end:8px;margin-inline-start:initial}`))}}]}}),n.oi);a()}catch(u){a(u)}}))},34363:function(e,t,i){"use strict";var a=i(61701),o=(i(71695),i(47021),i(57243)),n=i(50778);let r,l,d=e=>e;(0,a.Z)([(0,n.Mo)("ha-input-helper-text")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"method",key:"render",value:function(){return(0,o.dy)(r||(r=d`<slot></slot>`))}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)(l||(l=d`:host{display:block;color:var(--mdc-text-field-label-ink-color,rgba(0,0,0,.6));font-size:.75rem;padding-left:16px;padding-right:16px;padding-inline-start:16px;padding-inline-end:16px}`))}}]}}),o.oi)},78860:function(e,t,i){"use strict";var a=i(61701),o=(i(71695),i(9359),i(70104),i(40251),i(47021),i(57243)),n=i(50778),r=i(36522),l=i(28008);i(59826),i(23334),i(83166),i(34363);let d,s,c,h,u=e=>e;(0,a.Z)([(0,n.Mo)("ha-multi-textfield")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"value",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,n.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"helper",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"inputType",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"inputSuffix",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"inputPrefix",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"autocomplete",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"addLabel",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"removeLabel",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:"item-index",type:Boolean})],key:"itemIndex",value(){return!1}},{kind:"method",key:"render",value:function(){var e,t,i,a;return(0,o.dy)(d||(d=u` ${0} <div class="layout horizontal"> <ha-button @click="${0}" .disabled="${0}"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-button> </div> ${0} `),this._items.map(((e,t)=>{var i,a,n;const r=""+(this.itemIndex?` ${t+1}`:"");return(0,o.dy)(s||(s=u` <div class="layout horizontal center-center row"> <ha-textfield .suffix="${0}" .prefix="${0}" .type="${0}" .autocomplete="${0}" .disabled="${0}" dialogInitialFocus="${0}" .index="${0}" class="flex-auto" .label="${0}" .value="${0}" ?data-last="${0}" @input="${0}" @keydown="${0}"></ha-textfield> <ha-icon-button .disabled="${0}" .index="${0}" slot="navigationIcon" .label="${0}" @click="${0}" .path="${0}"></ha-icon-button> </div> `),this.inputSuffix,this.inputPrefix,this.inputType,this.autocomplete,this.disabled,t,t,""+(this.label?`${this.label}${r}`:""),e,t===this._items.length-1,this._editItem,this._keyDown,this.disabled,t,null!==(i=null!==(a=this.removeLabel)&&void 0!==a?a:null===(n=this.hass)||void 0===n?void 0:n.localize("ui.common.remove"))&&void 0!==i?i:"Remove",this._removeItem,"M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z")})),this._addItem,this.disabled,null!==(e=null!==(t=this.addLabel)&&void 0!==t?t:this.label?null===(i=this.hass)||void 0===i?void 0:i.localize("ui.components.multi-textfield.add_item",{item:this.label}):null===(a=this.hass)||void 0===a?void 0:a.localize("ui.common.add"))&&void 0!==e?e:"Add","M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",this.helper?(0,o.dy)(c||(c=u`<ha-input-helper-text>${0}</ha-input-helper-text>`),this.helper):o.Ld)}},{kind:"get",key:"_items",value:function(){var e;return null!==(e=this.value)&&void 0!==e?e:[]}},{kind:"method",key:"_addItem",value:async function(){var e;const t=[...this._items,""];this._fireChanged(t),await this.updateComplete;const i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("ha-textfield[data-last]");null==i||i.focus()}},{kind:"method",key:"_editItem",value:async function(e){const t=e.target.index,i=[...this._items];i[t]=e.target.value,this._fireChanged(i)}},{kind:"method",key:"_keyDown",value:async function(e){"Enter"===e.key&&(e.stopPropagation(),this._addItem())}},{kind:"method",key:"_removeItem",value:async function(e){const t=e.target.index,i=[...this._items];i.splice(t,1),this._fireChanged(i)}},{kind:"method",key:"_fireChanged",value:function(e){this.value=e,(0,r.B)(this,"value-changed",{value:e})}},{kind:"get",static:!0,key:"styles",value:function(){return[l.Qx,(0,o.iv)(h||(h=u`.row{margin-bottom:8px}ha-textfield{display:block}ha-icon-button{display:block}ha-button{margin-left:8px;margin-inline-start:8px;margin-inline-end:initial}`))]}}]}}),o.oi)},30509:function(e,t,i){"use strict";var a=i(61701),o=(i(71695),i(47021),i(57243)),n=i(50778);let r,l,d=e=>e;(0,a.Z)([(0,n.Mo)("ha-settings-row")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"narrow",value(){return!1}},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"slim",value(){return!1}},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,attribute:"three-line"})],key:"threeLine",value(){return!1}},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],key:"wrapHeading",value(){return!1}},{kind:"method",key:"render",value:function(){return(0,o.dy)(r||(r=d` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${0}" ?three-line="${0}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `),!this.threeLine,this.threeLine)}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)(l||(l=d`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:var(--paper-item-body-three-line-min-height,88px)}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var(
--mdc-typography-body2-font-family,
var(--mdc-typography-font-family, Roboto, sans-serif)
);-webkit-font-smoothing:antialiased;font-size:var(--mdc-typography-body2-font-size, .875rem);font-weight:var(--mdc-typography-body2-font-weight,400);line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(var(--paper-item-body-two-line-min-height,72px) - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`))}}]}}),o.oi)},83166:function(e,t,i){"use strict";i.d(t,{f:()=>f});var a=i(61701),o=i(72621),n=(i(71695),i(47021),i(1105)),r=i(33990),l=i(57243),d=i(50778),s=i(5111);let c,h,u,v,p=e=>e,f=(0,a.Z)([(0,d.Mo)("ha-textfield")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"invalid",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"icon",value(){return!1}},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"iconTrailing",value(){return!1}},{kind:"field",decorators:[(0,d.Cb)()],key:"autocomplete",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"autocorrect",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:"input-spellcheck"})],key:"inputSpellcheck",value:void 0},{kind:"field",decorators:[(0,d.IO)("input")],key:"formElement",value:void 0},{kind:"method",key:"updated",value:function(e){(0,o.Z)(i,"updated",this,3)([e]),(e.has("invalid")||e.has("errorMessage"))&&(this.setCustomValidity(this.invalid?this.errorMessage||this.validationMessage||"Invalid":""),(this.invalid||this.validateOnInitialRender||e.has("invalid")&&void 0!==e.get("invalid"))&&this.reportValidity()),e.has("autocomplete")&&(this.autocomplete?this.formElement.setAttribute("autocomplete",this.autocomplete):this.formElement.removeAttribute("autocomplete")),e.has("autocorrect")&&(this.autocorrect?this.formElement.setAttribute("autocorrect",this.autocorrect):this.formElement.removeAttribute("autocorrect")),e.has("inputSpellcheck")&&(this.inputSpellcheck?this.formElement.setAttribute("spellcheck",this.inputSpellcheck):this.formElement.removeAttribute("spellcheck"))}},{kind:"method",key:"renderIcon",value:function(e,t=!1){const i=t?"trailing":"leading";return(0,l.dy)(c||(c=p` <span class="mdc-text-field__icon mdc-text-field__icon--${0}" tabindex="${0}"> <slot name="${0}Icon"></slot> </span> `),i,t?1:-1,i)}},{kind:"field",static:!0,key:"styles",value(){return[r.W,(0,l.iv)(h||(h=p`.mdc-text-field__input{width:var(--ha-textfield-input-width,100%)}.mdc-text-field:not(.mdc-text-field--with-leading-icon){padding:var(--text-field-padding,0px 16px)}.mdc-text-field__affix--suffix{padding-left:var(--text-field-suffix-padding-left,12px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,12px);padding-inline-end:var(--text-field-suffix-padding-right,0px);direction:ltr}.mdc-text-field--with-leading-icon{padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,16px);direction:var(--direction)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:var(--text-field-suffix-padding-left,0px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,0px)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix{color:var(--secondary-text-color)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon{color:var(--secondary-text-color)}.mdc-text-field__icon--leading{margin-inline-start:16px;margin-inline-end:8px;direction:var(--direction)}.mdc-text-field__icon--trailing{padding:var(--textfield-icon-trailing-padding,12px)}.mdc-floating-label:not(.mdc-floating-label--float-above){text-overflow:ellipsis;width:inherit;padding-right:30px;padding-inline-end:30px;padding-inline-start:initial;box-sizing:border-box;direction:var(--direction)}input{text-align:var(--text-field-text-align,start)}input[type=color]{height:20px}::-ms-reveal{display:none}:host([no-spinner]) input::-webkit-inner-spin-button,:host([no-spinner]) input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=color]::-webkit-color-swatch-wrapper{padding:0}:host([no-spinner]) input[type=number]{-moz-appearance:textfield}.mdc-text-field__ripple{overflow:hidden}.mdc-text-field{overflow:var(--text-field-overflow)}.mdc-floating-label{inset-inline-start:16px!important;inset-inline-end:initial!important;transform-origin:var(--float-start);direction:var(--direction);text-align:var(--float-start)}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px - var(--text-field-suffix-padding-left,0px));inset-inline-start:calc(48px + var(--text-field-suffix-padding-left,0px))!important;inset-inline-end:initial!important;direction:var(--direction)}.mdc-text-field__input[type=number]{direction:var(--direction)}.mdc-text-field__affix--prefix{padding-right:var(--text-field-prefix-padding-right,2px);padding-inline-end:var(--text-field-prefix-padding-right,2px);padding-inline-start:initial}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--prefix{color:var(--mdc-text-field-label-ink-color)}#helper-text ha-markdown{display:inline-block}`)),"rtl"===s.E.document.dir?(0,l.iv)(u||(u=p`.mdc-floating-label,.mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field__icon--leading,.mdc-text-field__input[type=number]{direction:rtl;--direction:rtl}`)):(0,l.iv)(v||(v=p``))]}}]}}),n.P)},76525:function(e,t,i){"use strict";i.d(t,{L$:()=>u,gA:()=>s,lD:()=>f,ts:()=>v,vC:()=>c});i(71695),i(92745),i(19423),i(40251),i(47021);var a=i(5111),o=i(84200);if(66977!=i.j)var n=i(81165);var r=i(76320);const l={},d=[],s=Symbol.for("HA focus target"),c=async(e,t,i,r,h,u=!0)=>{if(!(i in l)){if(!h)return!1;l[i]={element:h().then((()=>{const t=document.createElement(i);return e.provideHass(t),t.addEventListener("dialog-closed",p),t.addEventListener("dialog-closed",m),t}))}}if(u){var v,f;const{history:o}=a.E;if(null!==(v=o.state)&&void 0!==v&&v.dialog&&!d.length)return await new Promise((e=>{setTimeout(e)})),c(e,t,i,r,h,u);const n=d.findIndex((e=>e.dialogTag===i));-1!==n&&d.splice(n,1),d.push({element:e,root:t,dialogTag:i,dialogParams:r,dialogImport:h,addHistory:u});const l={dialog:i};null!==(f=o.state)&&void 0!==f&&f.dialog?o.replaceState(l,""):(o.replaceState(Object.assign(Object.assign({},o.state),{},{opensDialog:!0}),""),o.pushState(l,""))}l[i].closedFocusTargets=(0,o.r)((0,n.j)(),s);const g=await l[i].element;return t.appendChild(g),g.showDialog(r),!0},h=async e=>{if(!(e in l))return!0;const t=await l[e].element;return!t.closeDialog||!1!==t.closeDialog()},u=async()=>{if(d.length){var e;const t=d.pop(),i=await h(t.dialogTag);return i||d.push(t),d.length&&null!==(e=a.E.history.state)&&void 0!==e&&e.opensDialog&&a.E.history.pushState({dialog:d[d.length-1].dialogTag},""),i}return!0},v=async()=>{for(let e=d.length-1;e>=0;e--){if(!(!d[e]||await h(d[e].dialogTag)))return!1}return!0},p=e=>{var t;const i=d.findIndex((t=>t.dialogTag===e.detail.dialog));-1!==i&&d.splice(i,1),(null===(t=a.E.history.state)||void 0===t?void 0:t.dialog)===e.detail.dialog&&(d.length?a.E.history.replaceState({dialog:d[d.length-1].dialogTag},""):-1!==i&&a.E.history.back())},f=(e,t)=>{e.addEventListener("show-dialog",(i=>{const{dialogTag:a,dialogImport:o,dialogParams:n,addHistory:r}=i.detail;c(e,t,a,n,o,r)}))},m=async e=>{if(!l[e.detail.dialog])return;const t=l[e.detail.dialog].closedFocusTargets;if(delete l[e.detail.dialog].closedFocusTargets,!t)return;let i=(0,n.j)();i instanceof HTMLElement&&i.blur(),await(0,r.y)();for(const a of t)if(a instanceof HTMLElement&&(a.focus(),i=(0,n.j)(),i&&i!==document.body))return}},43604:function(e,t,i){"use strict";i.a(e,(async function(e,a){try{i.r(t);var o=i(61701),n=(i(71695),i(9359),i(56475),i(70104),i(40251),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814),i(81804),i(47021),i(31622),i(2060),i(57243)),r=i(50778),l=i(91583),d=i(27486),s=i(36522),c=(i(74666),i(18756),i(99426),i(91665),i(73729)),h=i(21393),u=i(2928),v=(i(30509),i(37583),i(83166),i(81282)),p=i(28008),f=i(61107),m=i(82100),g=e([h,u,v]);[h,u,v]=g.then?(await g)():g;let y,b,_,k,x,w,$,C,A,L=e=>e;const M="M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z";let B=(0,o.Z)(null,(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_name",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_aliases",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_icon",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_level",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_error",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_params",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_submitting",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_addedAreas",value(){return new Set}},{kind:"field",decorators:[(0,r.SB)()],key:"_removedAreas",value(){return new Set}},{kind:"method",key:"showDialog",value:function(e){var t,i,a,o;this._params=e,this._error=void 0,this._name=this._params.entry?this._params.entry.name:this._params.suggestedName||"",this._aliases=(null===(t=this._params.entry)||void 0===t?void 0:t.aliases)||[],this._icon=(null===(i=this._params.entry)||void 0===i?void 0:i.icon)||null,this._level=null!==(a=null===(o=this._params.entry)||void 0===o?void 0:o.level)&&void 0!==a?a:null,this._addedAreas.clear(),this._removedAreas.clear()}},{kind:"method",key:"closeDialog",value:function(){this._error="",this._params=void 0,this._addedAreas.clear(),this._removedAreas.clear(),(0,s.B)(this,"dialog-closed",{dialog:this.localName})}},{kind:"field",key:"_floorAreas",value(){return(0,d.Z)(((e,t,i,a)=>Object.values(t).filter((t=>(t.floor_id===(null==e?void 0:e.floor_id)||i.has(t.area_id))&&!a.has(t.area_id)))))}},{kind:"method",key:"render",value:function(){var e;const t=this._floorAreas(null===(e=this._params)||void 0===e?void 0:e.entry,this.hass.areas,this._addedAreas,this._removedAreas);if(!this._params)return n.Ld;const i=this._params.entry,a=!this._isNameValid();return(0,n.dy)(y||(y=L` <ha-dialog open @closed="${0}" .heading="${0}"> <div> ${0} <div class="form"> ${0} <ha-textfield .value="${0}" @input="${0}" .label="${0}" .validationMessage="${0}" required dialogInitialFocus></ha-textfield> <ha-textfield .value="${0}" @input="${0}" .label="${0}" type="number"></ha-textfield> <ha-icon-picker .hass="${0}" .value="${0}" @value-changed="${0}" .label="${0}"> ${0} </ha-icon-picker> <h3 class="header"> ${0} </h3> <p class="description"> ${0} </p> ${0} <ha-area-picker no-add .hass="${0}" @value-changed="${0}" .excludeAreas="${0}" .label="${0}"></ha-area-picker> <h3 class="header"> ${0} </h3> <p class="description"> ${0} </p> <ha-aliases-editor .hass="${0}" .aliases="${0}" @value-changed="${0}"></ha-aliases-editor> </div> </div> <mwc-button slot="secondaryAction" @click="${0}"> ${0} </mwc-button> <mwc-button slot="primaryAction" @click="${0}" .disabled="${0}"> ${0} </mwc-button> </ha-dialog> `),this.closeDialog,(0,c.i)(this.hass,i?this.hass.localize("ui.panel.config.floors.editor.update_floor"):this.hass.localize("ui.panel.config.floors.editor.create_floor")),this._error?(0,n.dy)(b||(b=L`<ha-alert alert-type="error">${0}</ha-alert>`),this._error):"",i?(0,n.dy)(_||(_=L` <ha-settings-row> <span slot="heading"> ${0} </span> <span slot="description">${0}</span> </ha-settings-row> `),this.hass.localize("ui.panel.config.floors.editor.floor_id"),i.floor_id):n.Ld,this._name,this._nameChanged,this.hass.localize("ui.panel.config.floors.editor.name"),this.hass.localize("ui.panel.config.floors.editor.name_required"),this._level,this._levelChanged,this.hass.localize("ui.panel.config.floors.editor.level"),this.hass,this._icon,this._iconChanged,this.hass.localize("ui.panel.config.areas.editor.icon"),this._icon?n.Ld:(0,n.dy)(k||(k=L` <ha-floor-icon slot="fallback" .floor="${0}"></ha-floor-icon> `),{level:this._level}),this.hass.localize("ui.panel.config.floors.editor.areas_section"),this.hass.localize("ui.panel.config.floors.editor.areas_description"),t.length?(0,n.dy)(x||(x=L`<ha-chip-set> ${0} </ha-chip-set>`),(0,l.r)(t,(e=>e.area_id),(e=>(0,n.dy)(w||(w=L`<ha-input-chip .area="${0}" @click="${0}" @remove="${0}" .label="${0}"> ${0} </ha-input-chip>`),e,this._openArea,this._removeArea,null==e?void 0:e.name,e.icon?(0,n.dy)($||($=L`<ha-icon slot="icon" .icon="${0}"></ha-icon>`),e.icon):(0,n.dy)(C||(C=L`<ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon>`),M))))):n.Ld,this.hass,this._addArea,t.map((e=>e.area_id)),this.hass.localize("ui.panel.config.floors.editor.add_area"),this.hass.localize("ui.panel.config.floors.editor.aliases_section"),this.hass.localize("ui.panel.config.floors.editor.aliases_description"),this.hass,this._aliases,this._aliasesChanged,this.closeDialog,this.hass.localize("ui.common.cancel"),this._updateEntry,a||this._submitting,i?this.hass.localize("ui.common.sav