iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
4 lines • 85.8 kB
JavaScript
(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["60671"],{92636:function(e,i,t){"use strict";t.d(i,{z:()=>n});t(19083),t(61006);const n=e=>(i,t)=>e.includes(i,t)},46355:function(e,i,t){"use strict";t.d(i,{D:()=>b,S:()=>y});t(9359),t(56475),t(40251);var n=t(57243),o=t(75101),a=t(57816),r=t(91715),s=t(38572),l=t(76131),d=t(72548),c=t(91395),h=t(73192),u=t(72344),f=t(83523);let g,p,m,v=e=>e;const y=["zha","zwave_js","matter"],b=async(e,i,t,y)=>{if(null!=y&&y.domain){const e=await i.loadBackendTranslation("title",y.domain);y.domain=(0,a.Lh)(e,y.domain)}if(null!=y&&y.brand){var b;const e=await(0,r.G)(i);y.brand=(null===(b=e.core.integration[y.brand])||void 0===b?void 0:b.name)||y.brand}if("zwave_js"===t){const a=null!=y&&y.config_entry?void 0:(await(0,o.pB)(i,{domain:t})).filter((e=>!e.disabled_by));if(!((0,u.p)(i,"zwave_js")&&(null!=y&&y.config_entry||null!=a&&a.length)))return void(0,l.showConfirmationDialog)(e,{title:i.localize("ui.panel.config.integrations.config_flow.missing_zwave_zigbee_title",{integration:"Z-Wave"}),text:i.localize("ui.panel.config.integrations.config_flow.missing_zwave_zigbee",{integration:"Z-Wave",brand:(null==y?void 0:y.brand)||(null==y?void 0:y.domain)||"Z-Wave",supported_hardware_link:(0,n.dy)(g||(g=v`<a href="${0}" target="_blank" rel="noreferrer">${0}</a>`),(0,h.R)(i,"/docs/z-wave/controllers"),i.localize("ui.panel.config.integrations.config_flow.supported_hardware"))}),confirmText:i.localize("ui.panel.config.integrations.config_flow.proceed"),confirm:()=>{(0,s.t)(e,{startFlowHandler:"zwave_js"})}});(0,c.B)(e,{entry_id:(null==y?void 0:y.config_entry)||a[0].entry_id})}else if("zha"===t){const a=null!=y&&y.config_entry?void 0:(await(0,o.pB)(i,{domain:t})).filter((e=>!e.disabled_by));if(!((0,u.p)(i,"zha")&&(null!=y&&y.config_entry||null!=a&&a.length)))return void(0,l.showConfirmationDialog)(e,{title:i.localize("ui.panel.config.integrations.config_flow.missing_zwave_zigbee_title",{integration:"Zigbee"}),text:i.localize("ui.panel.config.integrations.config_flow.missing_zwave_zigbee",{integration:"Zigbee",brand:(null==y?void 0:y.brand)||(null==y?void 0:y.domain)||"Zigbee",supported_hardware_link:(0,n.dy)(p||(p=v`<a href="${0}" target="_blank" rel="noreferrer">${0}</a>`),(0,h.R)(i,"/integrations/zha/#known-working-zigbee-radio-modules"),i.localize("ui.panel.config.integrations.config_flow.supported_hardware"))}),confirmText:i.localize("ui.panel.config.integrations.config_flow.proceed"),confirm:()=>{(0,s.t)(e,{startFlowHandler:"zha"})}});(0,f.c)("/config/zha/add")}else if("matter"===t){const a=null!=y&&y.config_entry?void 0:(await(0,o.pB)(i,{domain:t})).filter((e=>!e.disabled_by));if(!((0,u.p)(i,t)&&(null!=y&&y.config_entry||null!=a&&a.length)))return void(0,l.showConfirmationDialog)(e,{title:i.localize("ui.panel.config.integrations.config_flow.missing_zwave_zigbee_title",{integration:"Matter"}),text:i.localize("ui.panel.config.integrations.config_flow.missing_matter",{integration:"Matter",brand:(null==y?void 0:y.brand)||(null==y?void 0:y.domain)||"Matter",supported_hardware_link:(0,n.dy)(m||(m=v`<a href="${0}" target="_blank" rel="noreferrer">${0}</a>`),(0,h.R)(i,"/integrations/matter"),i.localize("ui.panel.config.integrations.config_flow.supported_hardware"))}),confirmText:i.localize("ui.panel.config.integrations.config_flow.proceed"),confirm:()=>{(0,s.t)(e,{startFlowHandler:"matter"})}});(0,d.H)(e)}}},34273:function(e,i,t){"use strict";var n=t(61701),o=t(72621),a=(t(71695),t(9359),t(31526),t(47021),t(22997),t(57243)),r=t(50778),s=t(5111),l=t(76525);let d,c,h=e=>e;(0,n.Z)([(0,r.Mo)("ha-button-menu")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",key:l.gA,value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"corner",value(){return"BOTTOM_START"}},{kind:"field",decorators:[(0,r.Cb)({attribute:"menu-corner"})],key:"menuCorner",value(){return"START"}},{kind:"field",decorators:[(0,r.Cb)({type:Number})],key:"x",value(){return null}},{kind:"field",decorators:[(0,r.Cb)({type:Number})],key:"y",value(){return null}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"multi",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"activatable",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"fixed",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean,attribute:"no-anchor"})],key:"noAnchor",value(){return!1}},{kind:"field",decorators:[(0,r.IO)("mwc-menu",!0)],key:"_menu",value:void 0},{kind:"get",key:"items",value:function(){var e;return null===(e=this._menu)||void 0===e?void 0:e.items}},{kind:"get",key:"selected",value:function(){var e;return null===(e=this._menu)||void 0===e?void 0:e.selected}},{kind:"method",key:"focus",value:function(){var e,i;null!==(e=this._menu)&&void 0!==e&&e.open?this._menu.focusItemAtIndex(0):null===(i=this._triggerButton)||void 0===i||i.focus()}},{kind:"method",key:"render",value:function(){return(0,a.dy)(d||(d=h` <div @click="${0}"> <slot name="trigger" @slotchange="${0}"></slot> </div> <mwc-menu .corner="${0}" .menuCorner="${0}" .fixed="${0}" .multi="${0}" .activatable="${0}" .y="${0}" .x="${0}"> <slot></slot> </mwc-menu> `),this._handleClick,this._setTriggerAria,this.corner,this.menuCorner,this.fixed,this.multi,this.activatable,this.y,this.x)}},{kind:"method",key:"firstUpdated",value:function(e){(0,o.Z)(t,"firstUpdated",this,3)([e]),"rtl"===s.E.document.dir&&this.updateComplete.then((()=>{this.querySelectorAll("mwc-list-item").forEach((e=>{const i=document.createElement("style");i.innerHTML="span.material-icons:first-of-type { margin-left: var(--mdc-list-item-graphic-margin, 32px) !important; margin-right: 0px !important;}",e.shadowRoot.appendChild(i)}))}))}},{kind:"method",key:"_handleClick",value:function(){this.disabled||(this._menu.anchor=this.noAnchor?null:this,this._menu.show())}},{kind:"get",key:"_triggerButton",value:function(){return this.querySelector('ha-icon-button[slot="trigger"], mwc-button[slot="trigger"]')}},{kind:"method",key:"_setTriggerAria",value:function(){this._triggerButton&&(this._triggerButton.ariaHasPopup="menu")}},{kind:"field",static:!0,key:"styles",value(){return(0,a.iv)(c||(c=h`:host{display:inline-block;position:relative}::slotted([disabled]){color:var(--disabled-text-color)}`))}}]}}),a.oi)},83456:function(e,i,t){"use strict";var n=t(61701),o=(t(71695),t(47021),t(92444)),a=t(76688),r=t(57243),s=t(50778);let l,d=e=>e;(0,n.Z)([(0,s.Mo)("ha-checkbox")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",static:!0,key:"styles",value(){return[a.W,(0,r.iv)(l||(l=d`:host{--mdc-theme-secondary:var(--primary-color)}`))]}}]}}),o.A)},20130:function(e,i,t){"use strict";var n=t(61701),o=t(72621),a=(t(71695),t(47021),t(39785)),r=t(52876),s=t(50778),l=t(57243),d=t(5111);let c,h,u,f=e=>e;(0,n.Z)([(0,s.Mo)("ha-fab")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"method",key:"firstUpdated",value:function(e){(0,o.Z)(t,"firstUpdated",this,3)([e]),this.style.setProperty("--mdc-theme-secondary","var(--primary-color)")}},{kind:"field",static:!0,key:"styles",value(){return[r.W,(0,l.iv)(c||(c=f`:host .mdc-fab--extended .mdc-fab__icon{margin-inline-start:-8px;margin-inline-end:12px;direction:var(--direction)}:disabled{--mdc-theme-secondary:var(--disabled-text-color);pointer-events:none}`)),"rtl"===d.E.document.dir?(0,l.iv)(h||(h=f`:host .mdc-fab--extended .mdc-fab__icon{direction:rtl}`)):(0,l.iv)(u||(u=f``))]}}]}}),a._)},13928:function(e,i,t){"use strict";t.r(i),t.d(i,{HaIconNext:()=>s});var n=t(61701),o=(t(71695),t(47021),t(50778)),a=t(5111),r=t(37583);let s=(0,n.Z)([(0,o.Mo)("ha-icon-next")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,o.Cb)()],key:"path",value(){return"rtl"===a.E.document.dir?"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z":"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"}}]}}),r.HaSvgIcon)},7285:function(e,i,t){"use strict";t.d(i,{M:()=>f});var n=t(61701),o=t(72621),a=(t(71695),t(47021),t(65703)),r=t(46289),s=t(57243),l=t(50778);let d,c,h,u=e=>e,f=(0,n.Z)([(0,l.Mo)("ha-list-item")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"method",key:"renderRipple",value:function(){return this.noninteractive?"":(0,o.Z)(t,"renderRipple",this,3)([])}},{kind:"get",static:!0,key:"styles",value:function(){return[r.W,(0,s.iv)(d||(d=u`:host{padding-left:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-inline-start:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-right:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px));padding-inline-end:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px))}:host([graphic=avatar]:not([twoLine])),:host([graphic=icon]:not([twoLine])){height:48px}span.material-icons:first-of-type{margin-inline-start:0px!important;margin-inline-end:var(--mdc-list-item-graphic-margin,16px)!important;direction:var(--direction)!important}span.material-icons:last-of-type{margin-inline-start:auto!important;margin-inline-end:0px!important;direction:var(--direction)!important}.mdc-deprecated-list-item__meta{display:var(--mdc-list-item-meta-display);align-items:center;flex-shrink:0}:host([graphic=icon]:not([twoline])) .mdc-deprecated-list-item__graphic{margin-inline-end:var(--mdc-list-item-graphic-margin,20px)!important}:host([multiline-secondary]){height:auto}:host([multiline-secondary]) .mdc-deprecated-list-item__text{padding:8px 0}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text{text-overflow:initial;white-space:normal;overflow:auto;display:inline-block;margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text{margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text::before{display:none}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text::before{display:none}:host([disabled]){color:var(--disabled-text-color)}:host([noninteractive]){pointer-events:unset}`)),"rtl"===document.dir?(0,s.iv)(c||(c=u`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`)):(0,s.iv)(h||(h=u``))]}}]}}),a.K)},64780:function(e,i,t){"use strict";var n=t(61701),o=(t(71695),t(47021),t(57243)),a=t(50778),r=t(76525),s=t(36522);t(96090);let l,d,c=e=>e;(0,n.Z)([(0,a.Mo)("ha-md-button-menu")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",key:r.gA,value:void 0},{kind:"field",decorators:[(0,a.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)()],key:"positioning",value:void 0},{kind:"field",decorators:[(0,a.Cb)({type:Boolean,attribute:"has-overflow"})],key:"hasOverflow",value(){return!1}},{kind:"field",decorators:[(0,a.IO)("ha-menu",!0)],key:"_menu",value:void 0},{kind:"get",key:"items",value:function(){return this._menu.items}},{kind:"method",key:"focus",value:function(){var e;this._menu.open?this._menu.focus():null===(e=this._triggerButton)||void 0===e||e.focus()}},{kind:"method",key:"render",value:function(){return(0,o.dy)(l||(l=c` <div @click="${0}"> <slot name="trigger" @slotchange="${0}"></slot> </div> <ha-menu .positioning="${0}" .hasOverflow="${0}" @opening="${0}" @closing="${0}"> <slot></slot> </ha-menu> `),this._handleClick,this._setTriggerAria,this.positioning,this.hasOverflow,this._handleOpening,this._handleClosing)}},{kind:"method",key:"_handleOpening",value:function(){(0,s.B)(this,"opening",void 0,{composed:!1})}},{kind:"method",key:"_handleClosing",value:function(){(0,s.B)(this,"closing",void 0,{composed:!1})}},{kind:"method",key:"_handleClick",value:function(){this.disabled||(this._menu.anchorElement=this,this._menu.open?this._menu.close():this._menu.show())}},{kind:"get",key:"_triggerButton",value:function(){return this.querySelector('ha-icon-button[slot="trigger"], mwc-button[slot="trigger"], ha-assist-chip[slot="trigger"]')}},{kind:"method",key:"_setTriggerAria",value:function(){this._triggerButton&&(this._triggerButton.ariaHasPopup="menu")}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)(d||(d=c`:host{display:inline-block;position:relative}::slotted([disabled]){color:var(--disabled-text-color)}`))}}]}}),o.oi)},51868:function(e,i,t){"use strict";var n=t(61701),o=t(72621),a=(t(71695),t(47021),t(1231)),r=t(57243),s=t(50778);let l,d=e=>e;(0,n.Z)([(0,s.Mo)("ha-md-divider")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",static:!0,key:"styles",value(){return[...(0,o.Z)(t,"styles",this),(0,r.iv)(l||(l=d`:host{--md-divider-color:var(--divider-color)}`))]}}]}}),a.B)},7843:function(e,i,t){"use strict";var n=t(61701),o=t(72621),a=(t(71695),t(47021),t(28674)),r=t(57243),s=t(50778);let l,d=e=>e;(0,n.Z)([(0,s.Mo)("ha-md-menu-item")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"clickAction",value:void 0},{kind:"field",static:!0,key:"styles",value(){return[...(0,o.Z)(t,"styles",this),(0,r.iv)(l||(l=d`:host{--ha-icon-display:block;--md-sys-color-primary:var(--primary-text-color);--md-sys-color-on-primary:var(--primary-text-color);--md-sys-color-secondary:var(--secondary-text-color);--md-sys-color-surface:var(--card-background-color);--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--secondary-text-color);--md-sys-color-secondary-container:rgba(
var(--rgb-primary-color),
0.15
);--md-sys-color-on-secondary-container:var(--text-primary-color);--mdc-icon-size:16px;--md-sys-color-on-primary-container:var(--primary-text-color);--md-sys-color-on-secondary-container:var(--primary-text-color);--md-menu-item-label-text-font:Roboto,sans-serif}:host(.warning){--md-menu-item-label-text-color:var(--error-color);--md-menu-item-leading-icon-color:var(--error-color)}::slotted([slot=headline]){text-wrap:nowrap}`))]}}]}}),a.i)},96090:function(e,i,t){"use strict";var n=t(61701),o=t(72621),a=(t(71695),t(47021),t(53336)),r=t(7162),s=t(57243),l=t(50778);let d,c=e=>e;(0,n.Z)([(0,l.Mo)("ha-menu")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"method",key:"connectedCallback",value:function(){(0,o.Z)(t,"connectedCallback",this,3)([]),this.addEventListener("close-menu",this._handleCloseMenu)}},{kind:"method",key:"_handleCloseMenu",value:function(e){var i,t;e.detail.reason.kind===r.GB.KEYDOWN&&e.detail.reason.key===r.KC.ESCAPE||null===(i=(t=e.detail.initiator).clickAction)||void 0===i||i.call(t,e.detail.initiator)}},{kind:"field",static:!0,key:"styles",value(){return[...(0,o.Z)(t,"styles",this),(0,s.iv)(d||(d=c`:host{--md-sys-color-surface-container:var(--card-background-color)}`))]}}]}}),a.xX)},83166:function(e,i,t){"use strict";var n=t(61701),o=t(72621),a=(t(71695),t(47021),t(1105)),r=t(33990),s=t(57243),l=t(50778),d=t(5111);let c,h,u,f,g=e=>e;(0,n.Z)([(0,l.Mo)("ha-textfield")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"invalid",value:void 0},{kind:"field",decorators:[(0,l.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"icon",value(){return!1}},{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"iconTrailing",value(){return!1}},{kind:"field",decorators:[(0,l.Cb)()],key:"autocomplete",value:void 0},{kind:"field",decorators:[(0,l.Cb)()],key:"autocorrect",value:void 0},{kind:"field",decorators:[(0,l.Cb)({attribute:"input-spellcheck"})],key:"inputSpellcheck",value:void 0},{kind:"field",decorators:[(0,l.IO)("input")],key:"formElement",value:void 0},{kind:"method",key:"updated",value:function(e){(0,o.Z)(t,"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,i=!1){const t=i?"trailing":"leading";return(0,s.dy)(c||(c=g` <span class="mdc-text-field__icon mdc-text-field__icon--${0}" tabindex="${0}"> <slot name="${0}Icon"></slot> </span> `),t,i?1:-1,t)}},{kind:"field",static:!0,key:"styles",value(){return[r.W,(0,s.iv)(h||(h=g`.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"===d.E.document.dir?(0,s.iv)(u||(u=g`.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,s.iv)(f||(f=g``))]}}]}}),a.P)},56032:function(e,i,t){"use strict";t.a(e,(async function(e,i){try{var n=t(61701),o=(t(71695),t(47021),t(80519)),a=t(1261),r=t(57243),s=t(50778),l=t(85605),d=e([o]);o=(d.then?(await d)():d)[0];let c,h=e=>e;(0,l.jx)("tooltip.show",{keyframes:[{opacity:0},{opacity:1}],options:{duration:150,easing:"ease"}}),(0,l.jx)("tooltip.hide",{keyframes:[{opacity:1},{opacity:0}],options:{duration:400,easing:"ease"}});(0,n.Z)([(0,s.Mo)("ha-tooltip")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",static:!0,key:"styles",value(){return[a.Z,(0,r.iv)(c||(c=h`:host{--sl-tooltip-background-color:var(--secondary-background-color);--sl-tooltip-color:var(--primary-text-color);--sl-tooltip-font-family:Roboto,sans-serif;--sl-tooltip-font-size:12px;--sl-tooltip-font-weight:normal;--sl-tooltip-line-height:1;--sl-tooltip-padding:8px;--sl-tooltip-border-radius:var(--ha-tooltip-border-radius, 4px);--sl-tooltip-arrow-size:var(--ha-tooltip-arrow-size, 8px);--sl-z-index-tooltip:var(--ha-tooltip-z-index, 1000)}`))]}}]}}),o.Z);i()}catch(c){i(c)}}))},4398:function(e,i,t){"use strict";var n=t(61701),o=(t(71695),t(9359),t(56475),t(40251),t(47021),t(57243)),a=t(50778),r=t(36522),s=(t(23334),t(72621)),l=t(97274),d=t(79840),c=t(44846);let h,u,f,g,p=e=>e,m=((0,n.Z)([(0,a.Mo)("ha-outlined-field")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",key:"fieldTag",value(){return(0,d.i0)(h||(h=p`ha-outlined-field`))}},{kind:"field",static:!0,key:"styles",value(){return[...(0,s.Z)(t,"styles",this),(0,o.iv)(u||(u=p`.container::before{display:block;content:"";position:absolute;inset:0;background-color:var(--ha-outlined-field-container-color,transparent);opacity:var(--ha-outlined-field-container-opacity, 1);border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}`))]}}]}}),c.O),e=>e);(0,n.Z)([(0,a.Mo)("ha-outlined-text-field")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",key:"fieldTag",value(){return(0,d.i0)(f||(f=m`ha-outlined-field`))}},{kind:"field",static:!0,key:"styles",value(){return[...(0,s.Z)(t,"styles",this),(0,o.iv)(g||(g=m`:host{--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-primary:var(--primary-text-color);--md-outlined-text-field-input-text-color:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--secondary-text-color);--md-outlined-field-outline-color:var(--outline-color);--md-outlined-field-focus-outline-color:var(--primary-color);--md-outlined-field-hover-outline-color:var(--outline-hover-color)}:host([dense]){--md-outlined-field-top-space:5.5px;--md-outlined-field-bottom-space:5.5px;--md-outlined-field-container-shape-start-start:10px;--md-outlined-field-container-shape-start-end:10px;--md-outlined-field-container-shape-end-end:10px;--md-outlined-field-container-shape-end-start:10px;--md-outlined-field-focus-outline-width:1px;--md-outlined-field-with-leading-content-leading-space:8px;--md-outlined-field-with-trailing-content-trailing-space:8px;--md-outlined-field-content-space:8px;--mdc-icon-size:var(--md-input-chip-icon-size, 18px)}.input{font-family:Roboto,sans-serif}`))]}}]}}),l.x);t(37583);let v,y,b,_=e=>e;(0,n.Z)([(0,a.Mo)("search-input-outlined")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,a.Cb)()],key:"filter",value:void 0},{kind:"field",decorators:[(0,a.Cb)({type:Boolean})],key:"suffix",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({type:Boolean})],key:"autofocus",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({type:String})],key:"label",value:void 0},{kind:"field",decorators:[(0,a.Cb)({type:String})],key:"placeholder",value:void 0},{kind:"method",key:"focus",value:function(){var e;null===(e=this._input)||void 0===e||e.focus()}},{kind:"field",decorators:[(0,a.IO)("ha-outlined-text-field",!0)],key:"_input",value:void 0},{kind:"method",key:"render",value:function(){const e=this.placeholder||this.hass.localize("ui.common.search");return(0,o.dy)(v||(v=_` <ha-outlined-text-field .autofocus="${0}" .aria-label="${0}" .placeholder="${0}" .value="${0}" icon .iconTrailing="${0}" @input="${0}" dense> <slot name="prefix" slot="leading-icon"> <ha-svg-icon tabindex="-1" class="prefix" .path="${0}"></ha-svg-icon> </slot> ${0} </ha-outlined-text-field> `),this.autofocus,this.label||this.hass.localize("ui.common.search"),e,this.filter||"",this.filter||this.suffix,this._filterInputChanged,"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z",this.filter?(0,o.dy)(y||(y=_`<ha-icon-button aria-label="Clear input" slot="trailing-icon" @click="${0}" .path="${0}"> </ha-icon-button>`),this._clearSearch,"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"):o.Ld)}},{kind:"method",key:"_filterChanged",value:async function(e){(0,r.B)(this,"value-changed",{value:String(e)})}},{kind:"method",key:"_filterInputChanged",value:async function(e){this._filterChanged(e.target.value)}},{kind:"method",key:"_clearSearch",value:async function(){this._filterChanged("")}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)(b||(b=_`:host{display:inline-flex;z-index:0;--mdc-icon-button-size:24px}ha-outlined-text-field{display:block;width:100%;--ha-outlined-field-container-color:var(--card-background-color)}ha-icon-button,ha-svg-icon{display:flex;color:var(--primary-text-color)}ha-svg-icon{outline:0}`))}}]}}),o.oi)},36841:function(e,i,t){"use strict";var n=t(61701),o=(t(71695),t(9359),t(56475),t(40251),t(47021),t(57243)),a=t(50778),r=(t(23334),t(37583),t(83166),t(36522));let s,l,d,c=e=>e;(0,n.Z)([(0,a.Mo)("search-input")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,a.Cb)()],key:"filter",value:void 0},{kind:"field",decorators:[(0,a.Cb)({type:Boolean})],key:"suffix",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({type:Boolean})],key:"autofocus",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({type:String})],key:"label",value:void 0},{kind:"method",key:"focus",value:function(){var e;null===(e=this._input)||void 0===e||e.focus()}},{kind:"field",decorators:[(0,a.IO)("ha-textfield",!0)],key:"_input",value:void 0},{kind:"method",key:"render",value:function(){return(0,o.dy)(s||(s=c` <ha-textfield .autofocus="${0}" .label="${0}" .value="${0}" icon .iconTrailing="${0}" @input="${0}"> <slot name="prefix" slot="leadingIcon"> <ha-svg-icon tabindex="-1" class="prefix" .path="${0}"></ha-svg-icon> </slot> <div class="trailing" slot="trailingIcon"> ${0} <slot name="suffix"></slot> </div> </ha-textfield> `),this.autofocus,this.label||this.hass.localize("ui.common.search"),this.filter||"",this.filter||this.suffix,this._filterInputChanged,"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z",this.filter&&(0,o.dy)(l||(l=c` <ha-icon-button @click="${0}" .label="${0}" .path="${0}" class="clear-button"></ha-icon-button> `),this._clearSearch,this.hass.localize("ui.common.clear"),"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"))}},{kind:"method",key:"_filterChanged",value:async function(e){(0,r.B)(this,"value-changed",{value:String(e)})}},{kind:"method",key:"_filterInputChanged",value:async function(e){this._filterChanged(e.target.value)}},{kind:"method",key:"_clearSearch",value:async function(){this._filterChanged("")}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)(d||(d=c`:host{display:inline-flex}ha-icon-button,ha-svg-icon{color:var(--primary-text-color)}ha-svg-icon{outline:0}.clear-button{--mdc-icon-size:20px}ha-textfield{display:inherit}.trailing{display:flex;align-items:center}`))}}]}}),o.oi)},43546:function(e,i,t){"use strict";t.d(i,{Cp:()=>r,TZ:()=>s,W2:()=>a,YY:()=>d,iI:()=>o,j2:()=>l,oT:()=>n});t(19083),t(9359),t(70104),t(77439),t(19423),t(40251),t(97499),t(61006);const n=e=>e.map((e=>{if("string"!==e.type)return e;switch(e.name){case"username":return Object.assign(Object.assign({},e),{},{autocomplete:"username",autofocus:!0});case"password":return Object.assign(Object.assign({},e),{},{autocomplete:"current-password"});case"code":return Object.assign(Object.assign({},e),{},{autocomplete:"one-time-code",autofocus:!0});default:return e}})),o=(e,i)=>e.callWS({type:"auth/sign_path",path:i}),a=async(e,i,t,n)=>e.callWS({type:"config/auth_provider/homeassistant/create",user_id:i,username:t,password:n}),r=(e,i,t)=>e.callWS({type:"config/auth_provider/homeassistant/change_password",current_password:i,new_password:t}),s=(e,i,t)=>e.callWS({type:"config/auth_provider/homeassistant/admin_change_password",user_id:i,password:t}),l=(e,i,t)=>e.callWS({type:"config/auth_provider/homeassistant/admin_change_username",user_id:i,username:t}),d=(e,i,t)=>e.callWS({type:"auth/delete_all_refresh_tokens",token_type:i,delete_current_token:t})},91715:function(e,i,t){"use strict";t.d(i,{G:()=>n,p:()=>o});t(71695),t(47021);const n=e=>e.callWS({type:"integration/descriptions"}),o=(e,i)=>{if(e){if(i in e){const t=e[i];if("integration_type"in t)return t}for(const t of Object.values(e))if("integrations"in t&&t.integrations&&i in t.integrations)return t.integrations[i]}}},32503:function(e,i,t){"use strict";t.d(i,{k:()=>n});const n=e=>e.callWS({type:"usb/scan"})},87979:function(e,i,t){"use strict";var n=t(61701),o=(t(71695),t(47021),t(57243)),a=t(50778),r=t(31146),s=(t(54202),t(43344),t(28008));let l,d,c,h,u,f=e=>e;(0,n.Z)([(0,a.Mo)("hass-subpage")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,a.Cb)()],key:"header",value:void 0},{kind:"field",decorators:[(0,a.Cb)({type:Boolean,attribute:"main-page"})],key:"mainPage",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({type:String,attribute:"back-path"})],key:"backPath",value:void 0},{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"backCallback",value:void 0},{kind:"field",decorators:[(0,a.Cb)({type:Boolean,reflect:!0})],key:"narrow",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({type:Boolean})],key:"supervisor",value(){return!1}},{kind:"field",decorators:[(0,r.i)(".content")],key:"_savedScrollPos",value:void 0},{kind:"method",key:"render",value:function(){var e;return(0,o.dy)(l||(l=f` <div class="toolbar"> ${0} <div class="main-title"><slot name="header">${0}</slot></div> <slot name="toolbar-icon"></slot> </div> <div class="content ha-scrollbar" @scroll="${0}"> <slot></slot> </div> <div id="fab"> <slot name="fab"></slot> </div> `),this.mainPage||null!==(e=history.state)&&void 0!==e&&e.root?(0,o.dy)(d||(d=f` <ha-menu-button .hassio="${0}" .hass="${0}" .narrow="${0}"></ha-menu-button> `),this.supervisor,this.hass,this.narrow):this.backPath?(0,o.dy)(c||(c=f` <a href="${0}"> <ha-icon-button-arrow-prev .hass="${0}"></ha-icon-button-arrow-prev> </a> `),this.backPath,this.hass):(0,o.dy)(h||(h=f` <ha-icon-button-arrow-prev .hass="${0}" @click="${0}"></ha-icon-button-arrow-prev> `),this.hass,this._backTapped),this.header,this._saveScrollPos)}},{kind:"method",decorators:[(0,a.hO)({passive:!0})],key:"_saveScrollPos",value:function(e){this._savedScrollPos=e.target.scrollTop}},{kind:"method",key:"_backTapped",value:function(){this.backCallback?this.backCallback():history.back()}},{kind:"get",static:!0,key:"styles",value:function(){return[s.$c,(0,o.iv)(u||(u=f`:host{display:block;height:100%;background-color:var(--primary-background-color);overflow:hidden;position:relative}:host([narrow]){width:100%;position:fixed}.toolbar{display:flex;align-items:center;font-size:20px;height:var(--header-height);padding:8px 12px;background-color:var(--app-header-background-color);font-weight:400;color:var(--app-header-text-color,#fff);border-bottom:var(--app-header-border-bottom,none);box-sizing:border-box}@media (max-width:599px){.toolbar{padding:4px}}.toolbar a{color:var(--sidebar-text-color);text-decoration:none}::slotted([slot=toolbar-icon]),ha-icon-button-arrow-prev,ha-menu-button{pointer-events:auto;color:var(--sidebar-icon-color)}.main-title{margin:var(--margin-title);line-height:20px;min-width:0;flex-grow:1;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;padding-bottom:1px}.content{position:relative;width:100%;height:calc(100% - 1px - var(--header-height));overflow-y:auto;overflow:auto;-webkit-overflow-scrolling:touch}#fab{position:absolute;right:calc(16px + env(safe-area-inset-right));inset-inline-end:calc(16px + env(safe-area-inset-right));inset-inline-start:initial;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}:host([narrow]) #fab.tabs{bottom:calc(84px + env(safe-area-inset-bottom))}#fab[is-wide]{bottom:24px;right:24px;inset-inline-end:24px;inset-inline-start:initial}`))]}}]}}),o.oi)},29166:function(e,i,t){"use strict";t.d(i,{U:()=>n});t(71695),t(47021);const n=e=>class extends e{constructor(...e){super(...e),this._keydownEvent=e=>{const i=this.supportedShortcuts();(e.ctrlKey||e.metaKey)&&e.key in i&&(e.preventDefault(),i[e.key]())}}connectedCallback(){super.connectedCallback(),window.addEventListener("keydown",this._keydownEvent)}disconnectedCallback(){window.removeEventListener("keydown",this._keydownEvent),super.disconnectedCallback()}supportedShortcuts(){return{}}}},96530:function(e,i,t){"use strict";t.d(i,{X:()=>a,y:()=>o});var n=t(92636);const o=["input_boolean","input_button","input_text","input_number","input_datetime","input_select","counter","timer","schedule"],a=(0,n.z)(o)},4037:function(e,i,t){"use strict";var n=t(61701),o=(t(19083),t(71695),t(40251),t(19134),t(61006),t(97003),t(88044),t(47021),t(57243)),a=t(50778),r=t(35359),s=t(36522),l=t(15681),d=t(38572),c=t(76131),h=t(73192);t(8689),t(34273),t(59826),t(7285);let u,f,g,p,m,v,y=e=>e;const b="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z";(0,n.Z)([(0,a.Mo)("ha-config-flow-card")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"flow",value:void 0},{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"manifest",value:void 0},{kind:"method",key:"render",value:function(){const e=l.P3.includes(this.flow.context.source);return(0,o.dy)(u||(u=y` <ha-integration-action-card class="${0}" .hass="${0}" .manifest="${0}" .domain="${0}" .label="${0}"> <ha-button unelevated @click="${0}" .label="${0}"></ha-button> ${0} ${0} </ha-integration-action-card> `),(0,r.$)({attention:e}),this.hass,this.manifest,this.flow.handler,this.flow.localized_title,this._continueFlow,this.hass.localize(e?"ui.panel.config.integrations.reconfigure":"ui.common.add"),l.pV.includes(this.flow.context.source)&&this.flow.context.unique_id?(0,o.dy)(f||(f=y`<ha-button @click="${0}" .label="${0}"></ha-button>`),this._ignoreFlow,this.hass.localize("ui.panel.config.integrations.ignore.ignore")):"",this.flow.context.configuration_url||this.manifest?(0,o.dy)(g||(g=y`<ha-button-menu slot="header-button"> <ha-icon-button slot="trigger" .label="${0}" .path="${0}"></ha-icon-button> ${0} ${0} </ha-button-menu>`),this.hass.localize("ui.common.menu"),"M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z",this.flow.context.configuration_url?(0,o.dy)(p||(p=y`<a href="${0}" rel="noreferrer" target="${0}"> <ha-list-item graphic="icon" hasMeta> ${0} <ha-svg-icon slot="graphic" .path="${0}"></ha-svg-icon> <ha-svg-icon slot="meta" .path="${0}"></ha-svg-icon> </ha-list-item> </a>`),this.flow.context.configuration_url.replace(/^homeassistant:\/\//,"/"),this.flow.context.configuration_url.startsWith("homeassistant://")?"_self":"_blank",this.hass.localize("ui.panel.config.integrations.config_entry.open_configuration_url"),"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z",b):"",this.manifest?(0,o.dy)(m||(m=y`<a href="${0}" rel="noreferrer" target="_blank"> <ha-list-item graphic="icon" hasMeta> ${0} <ha-svg-icon slot="graphic" .path="${0}"></ha-svg-icon> <ha-svg-icon slot="meta" .path="${0}"></ha-svg-icon> </ha-list-item> </a>`),this.manifest.is_built_in?(0,h.R)(this.hass,`/integrations/${this.manifest.domain}`):this.manifest.documentation,this.hass.localize("ui.panel.config.integrations.config_entry.documentation"),"M9 3V18H12V3H9M12 5L16 18L19 17L15 4L12 5M5 5V18H8V5H5M3 19V21H21V19H3Z",b):""):"")}},{kind:"method",key:"_continueFlow",value:function(){"external"!==this.flow.flow_id?(0,d.t)(this,{continueFlowId:this.flow.flow_id,navigateToResult:!0,dialogClosedCallback:()=>{this._handleFlowUpdated()}}):this.hass.auth.external.fireMessage({type:"improv/configure_device",payload:{name:this.flow.localized_title||this.flow.context.title_placeholders.name}})}},{kind:"method",key:"_ignoreFlow",value:async function(){await(0,c.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.config.integrations.ignore.confirm_ignore_title",{name:(0,l.WW)(this.hass.localize,this.flow)}),text:this.hass.localize("ui.panel.config.integrations.ignore.confirm_ignore"),confirmText:this.hass.localize("ui.panel.config.integrations.ignore.ignore")})&&(await(0,l.zO)(this.hass,this.flow.flow_id,(0,l.WW)(this.hass.localize,this.flow)),this._handleFlowUpdated())}},{kind:"method",key:"_handleFlowUpdated",value:function(){(0,s.B)(this,"change",void 0,{bubbles:!1})}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)(v||(v=y`a{text-decoration:none;color:var(--primary-color)}ha-button-menu{color:var(--secondary-text-color)}ha-svg-icon[slot=meta]{width:18px;height:18px}.attention{--mdc-theme-primary:var(--error-color);--ha-card-border-color:var(--error-color)}`))}}]}}),o.oi)},24213:function(e,i,t){"use strict";t.a(e,(async function(e,i){try{var n=t(61701),o=t(72621),a=(t(19083),t(71695),t(92745),t(61893),t(9359),t(56475),t(1331),t(31526),t(70104),t(52924),t(19423),t(40251),t(19134),t(92519),t(42179),t(89256),t(24931),t(88463),t(57449),t(19814),t(61006),t(47706),t(47021),t(71513),t(75656),t(50100),t(18084),t(41298)),r=t(57243),s=t(50778),l=t(20552),d=t(27486),c=t(72344),h=t(46355),u=t(83523),f=t(1416),g=t(58776),p=t(76320),m=(t(34273),t(48103),t(83456),t(20130),t(23334),t(37583),t(36841),t(4398),t(75101)),v=t(15681),y=t(6823),b=t(63318),_=t(62992),k=t(57816),x=t(91715),w=t(32503),$=t(38572),C=t(76131),z=t(75375),L=(t(97546),t(29166)),M=t(6736),E=t(28008),S=t(82967),A=t(96530),I=(t(4037),t(74305),t(88482),t(51996)),Z=(t(44536),t(84361)),H=e([z,I]);[z,I]=H.then?(await H)():H;let B,D,P,V,F,O,T,j,W,R,U,N,q,G,K,X,J,Q,Y,ee,ie,te=e=>e;const ne="M6,13H18V11H6M3,6V8H21V6M10,18H14V16H10V18Z",oe="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",ae=e=>{const i=new Map;return e.forEach((e=>{i.has(e.domain)?i.get(e.domain).push(e):i.set(e.domain,[e])})),i};(0,n.Z)([(0,s.Mo)("ha-config-integrations-dashboard")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"narrow",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:"is-wide",type:Boolean})],key:"isWide",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"showAdvanced",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"route",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"configEntries",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"configEntriesInProgress",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_improvDiscovered",value(){return new Map}},{kind:"field",decorators:[(0,s.SB)()],key:"_entityRegistryEntries",value(){return[]}},{kind:"field",decorators:[(0,s.SB)()],key:"_manifests",value(){return{}}},{kind:"field",decorators:[(0,s.SB)()],key:"_domainEntities",value(){return{}}},{kind:"field",key:"_extraFetchedManifests",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_showIgnored",value(){return!1}},{kind:"field",decorators:[(0,s.SB)()],key:"_showDisabled",value(){return!1}},{kind:"field",decorators:[(0,s.SB)()],key:"_searchParms",value(){return new URLSearchParams(window.location.hash.substring(1))}},{kind:"field",decorators:[(0,s.SB)()],key:"_filter",value(){var e;return(null===(e=history.state)||void 0===e?void 0:e.filter)||""}},{kind:"field",decorators:[(0,s.SB)()],key:"_diagnosticHandlers",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_logInfos",value:void 0},{kind:"field",decorators:[(0,s.IO)("search-input-outlined")],key:"_searchInput",value:void 0},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(t,"disconnectedCallback",this,3)([]),window.removeEventListener("improv-discovered-device",this._handleImprovDiscovered),window.removeEventListener("improv-device-setup-done",this._reScanImprovDevices)}},{kind:"method",key:"hassSubscribe",value:function(){return[(0,b.LM)(this.hass.connection,(e=>{this._entityRegistryEntries=e})),(0,k.O)(this.hass.connection,(e=>{const i={};for(const t of e)i[t.domain]=t;this._logInfos=i}))]}},{kind:"field",key:"_filterConfigEntries",value(){return(0,d.Z)(((e,i,t,n,o)=>{const r=new Set(t.map((e=>e.domain))),s=new Set;for(const a of e){const e=a.split(".")[0];r.has(e)||!i[e]||i[e].config_flow||i[e].integration_type&&!["device","hub","service","integration"].includes(i[e].integration_type)||s.add(e)}const l=[...s].map((e=>({domain:e,localized_domain_name:(0,k.Lh)(n,e),title:e,source:"yaml",state:"loaded",supports_options:!1,supports_remove_device:!1,supports_unload:!1,supports_reconfigure:!1,supported_subentry_types:{},num_subentries:0,pref_disable_new_entities:!1,pref_disable_polling:!1,disabled_by:null,reason:null,error_reason_translation_key:null,error_reason_translation_placeholders:null}))),d=[...t,...l];let c;const h=[],u=[],g=[];if(o){const e={keys:["domain","localized_domain_name","title"],isCaseSensitive:!1,minMatchCharLength:Math.min(o.length,2),threshold:.2};c=new a.Z(d,e).search(o).map((e=>e.item))}else c=d;for(const a of c)"ignore"===a.source?h.push(a):null!==a.disabled_by?u.push(a):g.push(a);return[Array.from(ae(g)).sort(((e,i)=>(0,f.fe)(e[1][0].localized_domain_name||e[0],i[1][0].localized_domain_name||i[0],this.hass.locale.language))),h,u]}))}},{kind:"field",key:"_filterConfigEntriesInProgress",value(){return(0,d.Z)(((e,i,t)=>{let n=[...e];const o=Array.from(i.values());let r;if(o.length&&(n=n.filter((e=>!o.some((i=>i.name===e.localized_title)))),i.forEach((e=>{n.push({flow_id:"external",handler:"improv_ble",context:{title_placeholders:{name:e.name}},step_id:"bluetooth_confirm",localized_title:e.name})}))),t){const e={keys:["handler","localized_title"],isCaseSensitive:!1,minMatchCharLength:Math.min(t.length,2),threshold:.2,ignoreDiacritics:!0};r=new a.Z(n,e).search(t).map((e=>e.item))}else r=n;return r.sort(((e,i)=>(0,f.fe)(e.localized_title||e.handler,i.localized_title||i.handler,this.hass.locale.language)))}))}},{kind:"method",key:"firstUpdated",value:function(e){(0,o.Z)(t,"firstUpdated",this,3)([e]),this._fetchManifests(),this._fetchEntitySources(),"/add"===this.route.path&&this._handleAdd(),this._scanUSBDevices(),this._scanImprovDevices(),(0,c.p)(this.hass,"diagnostics")&&(0,y.pD)(this.hass).then((e=>{const i={};for(const t of e)i[t.domain]=t.handlers.config_entry;this._diagnosticHandlers=i}))}},{kind:"method",key:"updated",value:function(e){(0,o.Z)(t,"updated",this,3)([e]),(this._searchParms.has("config_entry")||this._searchParms.has("domain"))&&e.has("configEntries")&&!e.get("configEntries")&&this.configEntries&&this._highlightEntry(),e.has("configEntriesInProgress")&&this.configEntriesInProgress&&this._fetchIntegrationManifests(this.configEntriesInProgress.map((e=>e.handler))),e.has("configEntries")&&this.configEntries&&this._fetchIntegrationManifests(this.configEntries.map((e=>e.domain)))}},{kind:"method",key:"render",value:function(){if(!this.configEntries||!this.configEntriesInProgress)return(0,r.dy)(B||(B=te`<hass-loading-screen .hass="${0}" .narrow="${0}"></hass-loading-screen>`),this.hass,this.narrow);const[e,i,t]=this._filterConfigEntries(this.hass.config.components,this._manifests,this.configEntries,this.hass.localize,this._filter),n=this._filterConfigEntriesInProgress(this.configEntriesInProgress,this._improvDiscovered,this._filter),o=(0,r.dy)(D||(D=te` <div slot="${0}"> <div class="menu-badge-container"> ${0} <ha-button-menu multi @action="${0}" @click="${0}"> <ha-icon-button slot="trigger" .label="${0}" .path="${0}"> </ha-icon-button> <ha-check-list-item left .selected="${0}"> ${0} </ha-check-list-item> <ha-check-list-item left .selected="${0}"> ${0} </ha-check-list-item> </ha-button-menu> </div> ${0} </div> `),(0,l.o)(this.narrow?"toolbar-icon":void 0),!this._showDisabled&&this.narrow&&t.length?(0,r.dy)(P||(P=te`<span class="badge">${0}</span>`),t.length):"",this._handleMenuAction,this._preventDefault,this.hass.localize("ui.common.menu"),ne,this._showIgnored,this.hass.localize("ui.panel.config.integrations.ignore.show_ignored"),this._showDisabled,this.hass.localize("ui.panel.config.integrations.disable.show_disabled"),this.narrow?(0,r.dy)(V||(V=te` <ha-integration-overflow-menu .hass="${0}" slot="toolbar-icon"></ha-integration-overflow-menu> `),this.hass):"");return(0,r.dy)(F||(F=te` <hass-tabs-subpage .hass="${0}" .narrow="${0}" back-path="/config" .route="${0}" .tabs="${0}"> ${0} ${0} ${0} ${0} ${0} <div class="container"> ${0} </div> <ha-fab slot="fab" .label="${0}" extended @click="${0}"> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-fab> </hass-tabs-subpage> `),this.hass,this.narrow,this.route,S.configSections.devices,this.narrow?(0,r.dy)(O||(O=te` <div slot="header" class="header"> <search-input-outlined .hass="${0}" .filter="${0}" @value-changed="${0}" .label="${0}"> </search-input-outlined> </div> ${0} `),this.hass,this._filter,this._handleSearchChange,this.hass.localize("ui.panel.config.integrations.search"),o):(0,r.dy)(T||(T=te` <ha-integration-overflow-menu .hass="${0}" slot="toolbar-icon"></ha-integration-overflow-menu> <div class="search"> <search-input-outlined .hass="${0}" .filter="${0}" @value-changed="${0}" .label="${0}"> </search-input-outlined> <div class="filters"> ${0} ${0} </div> </div> `),this.hass,this.hass,this._filter,this._handleSearchChange,this.hass.localize("ui.panel.config.integrations.search"),!this._showDisabled&&t.length?(0,r.dy)(j||(j=te`<div class="active-filters" @click="${0}"> ${0} <mwc-button @click="${0}" .label="${0}"></mwc-button> </div>`),this._preventDefault,this.hass.localize("ui.panel.config.integrations.disable.disabled_integrations",{number:t.length}),this._toggleShowDisabled,this.hass.localize("ui.panel.config.integrations.disable.show")):"",o),this._showIgnored?(0,r.dy)(W||(W=te`<h1> ${0} </h1> <div class="container"> ${0} </div>`),this.hass.localize("ui.panel.config.integrations.ignore.ignored"),i.length>0?i.map((e=>(0,r.dy)(R||(R=te` <ha-ignored-config-entry-card .hass="${0}" .manifest="${0}" .entry="${0}" @change="${0}"></ha-ignored-config-entry-card> `),this.hass,this._manifests[e.domain],e,this._handleFlowUpdated))):(0,r.dy)(U||(U=te`${0}`),this.hass.localize("ui.panel.config.integrations.no_ignored_integrations"))):"",n.length?(0,r.dy)(N||(N=te`<h1> ${0} </h1> <div class="container"> ${0} </div>`),this.hass.localize("ui.panel.config.integrations.discovered"),n.map((e=>(0,r.dy)(q||(q=te` <ha-config-flow-card .hass="${0}" .manifest="${0}" .flow="${0}" @change="${0}"></ha-config-flow-card> `),this.hass,this._manifests[e.handler],e,this._handleFlowUpdated)))):"",this._showDisabled?(0,r.dy)(G||(G=te`<h1> ${0} </h1> <div class="container"> ${0} </div>`),this.hass.localize("ui.panel.config.integrations.disabled"),t.length>0?t.m