iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
82 lines • 63.3 kB
JavaScript
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[96909],{26218:function(e,t,a){a.d(t,{a:function(){return i}});a(16280);const o=(0,a(77796).n)(e=>{history.replaceState({scrollPosition:e},"")},300);function i(e){return(t,a)=>{if("object"==typeof a)throw new Error("This decorator does not support this compilation type.");const i=t.connectedCallback;t.connectedCallback=function(){i.call(this);const t=this[a];t&&this.updateComplete.then(()=>{const a=this.renderRoot.querySelector(e);a&&setTimeout(()=>{a.scrollTop=t},0)})};const r=Object.getOwnPropertyDescriptor(t,a);let s;if(void 0===r)s={get(){var e;return this[`__${String(a)}`]||(null===(e=history.state)||void 0===e?void 0:e.scrollPosition)},set(e){o(e),this[`__${String(a)}`]=e},configurable:!0,enumerable:!0};else{const e=r.set;s=Object.assign(Object.assign({},r),{},{set(t){o(t),this[`__${String(a)}`]=t,null==e||e.call(this,t)}})}Object.defineProperty(t,a,s)}}},63130:function(e,t,a){a.d(t,{l:function(){return i}});a(3362);var o=a(50248);const i=async(e,t)=>{var a;if(navigator.clipboard)try{return void(await navigator.clipboard.writeText(e))}catch(s){}const i=t||(null===(a=(0,o.n)())||void 0===a?void 0:a.getRootNode())||document.body,r=document.createElement("textarea");r.value=e,r.setAttribute("readonly",""),r.style.position="fixed",r.style.top="0",r.style.left="0",r.style.opacity="0",i.appendChild(r),r.select(),document.execCommand("copy"),i.removeChild(r)}},77796:function(e,t,a){a.d(t,{n:function(){return o}});a(62953);const o=(e,t,a=!0,o=!0)=>{let i,r=0;const s=(...s)=>{const n=()=>{r=!1===a?0:Date.now(),i=void 0,e(...s)},l=Date.now();r||!1!==a||(r=l);const c=t-(l-r);c<=0||c>t?(i&&(clearTimeout(i),i=void 0),r=l,e(...s)):i||!1===o||(i=window.setTimeout(n,c))};return s.cancel=()=>{clearTimeout(i),i=void 0,r=0},s}},9503:function(e,t,a){var o=a(40445),i=a(97577),r=a(5124),s=a(67576);let n,l=e=>e;class c extends i.A{get value(){var e;return null!==(e=this._value)&&void 0!==e?e:null}set value(e){this._value=e}static get styles(){return[i.A.styles,(0,r.AH)(n||(n=l`:host{--wa-form-control-toggle-size:var(--ha-checkbox-size, 20px);--wa-form-control-border-color:var(
--ha-checkbox-border-color,
var(--ha-color-border-neutral-normal)
);--wa-form-control-background-color:var(
--ha-checkbox-background-color,
var(--wa-form-control-background-color)
);--checked-icon-color:var(
--ha-checkbox-checked-icon-color,
var(--wa-color-brand-on-loud)
);--wa-form-control-activated-color:var(
--ha-checkbox-checked-background-color,
var(--ha-color-fill-primary-loud-resting)
);-webkit-tap-highlight-color:transparent;--checked-icon-scale:var(--ha-checkbox-checked-icon-scale, 0.9);--wa-form-control-required-content:var(
--ha-checkbox-required-marker,
var(--ha-input-required-marker, "*")
);--wa-form-control-required-content-offset:var(
--ha-checkbox-required-marker-offset,
0.1rem
)}[part~=base]{align-items:center;gap:var(--ha-space-2)}[part~=control]{border-radius:var(--ha-checkbox-border-radius,var(--ha-border-radius-sm));border-width:var(--ha-checkbox-border-width,var(--ha-border-width-md));margin-inline-end:0}[part~=label]{line-height:1}#hint{font-size:var(--ha-font-size-xs);color:var(--ha-color-text-secondary)}label:has(input:not(:disabled)):hover{--wa-form-control-border-color:var(
--ha-checkbox-border-color-hover,
var(--ha-checkbox-border-color, var(--ha-color-border-neutral-loud))
)}label:has(input:not(:disabled)):hover [part~=control]{background-color:var(--ha-checkbox-background-color-hover,var(--ha-color-form-background-hover))}label:has(input:checked:not(:disabled)):hover [part~=control],label:has(input:indeterminate:not(:disabled)):hover [part~=control]{background-color:var(--ha-checkbox-checked-background-color-hover,var(--ha-color-fill-primary-loud-hover));border-color:var(--ha-checkbox-checked-background-color-hover,var(--ha-color-fill-primary-loud-hover))}`))]}}c=(0,o.Cg)([(0,s.EM)("ha-checkbox")],c)},11382:function(e,t,a){a(3362),a(62953);var o=a(40445),i=a(5124),r=a(67576),s=a(6412),n=a(1087),l=a(12587);a(67094);let c,h,d,p,u=e=>e;class v extends i.WF{render(){const e=this.noCollapse?i.s6:(0,i.qy)(c||(c=u` <ha-svg-icon .path="${0}" class="summary-icon ${0}"></ha-svg-icon> `),"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z",(0,s.H)({expanded:this.expanded}));return(0,i.qy)(h||(h=u` <div class="top ${0}"> <div id="summary" class="${0}" @click="${0}" @keydown="${0}" @focus="${0}" @blur="${0}" role="button" tabindex="${0}" aria-expanded="${0}" aria-controls="sect1" part="summary"> ${0} <slot name="leading-icon"></slot> <slot name="header"> <div class="header"> ${0} <slot class="secondary" name="secondary">${0}</slot> </div> </slot> <slot name="event"></slot> ${0} <slot name="icons"></slot> </div> </div> <div class="container ${0}" @transitionend="${0}" role="region" aria-labelledby="summary" aria-hidden="${0}" tabindex="-1"> ${0} </div> `),(0,s.H)({expanded:this.expanded}),(0,s.H)({noCollapse:this.noCollapse}),this._toggleContainer,this._toggleContainer,this._focusChanged,this._focusChanged,this.noCollapse?-1:0,this.expanded,this.leftChevron?e:i.s6,this.header,this.secondary,this.leftChevron?i.s6:e,(0,s.H)({expanded:this.expanded}),this._handleTransitionEnd,!this.expanded,this._showContent?(0,i.qy)(d||(d=u`<slot></slot>`)):"")}willUpdate(e){super.willUpdate(e),e.has("expanded")&&(this._showContent=this.expanded,setTimeout(()=>{this._container.style.overflow=this.expanded?"initial":"hidden"},300))}_handleTransitionEnd(){this._container.style.removeProperty("height"),this._container.style.overflow=this.expanded?"initial":"hidden",this._showContent=this.expanded}async _toggleContainer(e){if(e.defaultPrevented)return;if("keydown"===e.type&&"Enter"!==e.key&&" "!==e.key)return;if(e.preventDefault(),this.noCollapse)return;const t=!this.expanded;(0,n.r)(this,"expanded-will-change",{expanded:t}),this._container.style.overflow="hidden",t&&(this._showContent=!0,await(0,l.E)());const a=this._container.scrollHeight;this._container.style.height=`${a}px`,t||setTimeout(()=>{this._container.style.height="0px"},0),this.expanded=t,(0,n.r)(this,"expanded-changed",{expanded:this.expanded})}_focusChanged(e){this.noCollapse||this.shadowRoot.querySelector(".top").classList.toggle("focused","focus"===e.type)}constructor(...e){super(...e),this.expanded=!1,this.outlined=!1,this.leftChevron=!1,this.noCollapse=!1,this._showContent=this.expanded}}v.styles=(0,i.AH)(p||(p=u`:host{display:block}.top{display:flex;align-items:center;border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg))}.top.expanded{border-bottom-left-radius:0px;border-bottom-right-radius:0px}.top.focused{background:var(--input-fill-color)}:host([outlined]){box-shadow:none;border-width:1px;border-style:solid;border-color:var(--outline-color);border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg))}.summary-icon{transition:transform 150ms cubic-bezier(.4, 0, .2, 1);direction:var(--direction);margin-left:8px;margin-inline-start:8px;margin-inline-end:initial;border-radius:var(--ha-border-radius-circle)}#summary:focus-visible ha-svg-icon.summary-icon{background-color:var(--ha-color-fill-neutral-normal-active)}::slotted([slot=leading-icon]),:host([left-chevron]) .summary-icon{margin-left:0;margin-right:8px;margin-inline-start:0;margin-inline-end:8px}#summary{flex:1;display:flex;padding:var(--expansion-panel-summary-padding,0 8px);min-height:48px;align-items:center;cursor:pointer;overflow:hidden;font-weight:var(--ha-font-weight-medium);outline:0}#summary.noCollapse{cursor:default}.summary-icon.expanded{transform:rotate(180deg)}.header,::slotted([slot=header]){flex:1;overflow-wrap:anywhere;color:var(--primary-text-color)}.container{padding:var(--expansion-panel-content-padding,0 8px);overflow:hidden;transition:height .3s cubic-bezier(.4, 0, .2, 1);height:0px}.container.expanded{height:auto}.secondary{display:block;color:var(--secondary-text-color);font-size:var(--ha-font-size-s)}`)),(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],v.prototype,"expanded",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],v.prototype,"outlined",void 0),(0,o.Cg)([(0,r.MZ)({attribute:"left-chevron",type:Boolean,reflect:!0})],v.prototype,"leftChevron",void 0),(0,o.Cg)([(0,r.MZ)({attribute:"no-collapse",type:Boolean,reflect:!0})],v.prototype,"noCollapse",void 0),(0,o.Cg)([(0,r.MZ)()],v.prototype,"header",void 0),(0,o.Cg)([(0,r.MZ)()],v.prototype,"secondary",void 0),(0,o.Cg)([(0,r.wk)()],v.prototype,"_showContent",void 0),(0,o.Cg)([(0,r.P)(".container")],v.prototype,"_container",void 0),v=(0,o.Cg)([(0,r.EM)("ha-expansion-panel")],v)},43661:function(e,t,a){a.r(t),a.d(t,{HaIconNext:function(){return n}});a(62953);var o=a(40445),i=a(67576),r=a(63091),s=a(67094);class n extends s.HaSvgIcon{constructor(...e){super(...e),this.path="rtl"===r.G.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"}}(0,o.Cg)([(0,i.MZ)()],n.prototype,"path",void 0),n=(0,o.Cg)([(0,i.EM)("ha-icon-next")],n)},8630:function(e,t,a){var o=a(40445),i=a(68618),r=a(11081),s=a(67576);class n extends i.iY{}n.styles=r.R,n=(0,o.Cg)([(0,s.EM)("ha-list")],n)},2846:function(e,t,a){a.d(t,{G:function(){return p},J:function(){return d}});var o=a(40445),i=a(58168),r=a(82553),s=a(5124),n=a(67576);a(54276);let l,c,h=e=>e;const d=[r.R,(0,s.AH)(l||(l=h`:host{--ha-icon-display:block;--md-sys-color-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-item{overflow:var(--md-item-overflow,hidden);align-items:var(--md-item-align-items,center);gap:var(--ha-md-list-item-gap,16px)}`))];class p extends i.n{renderRipple(){return"text"===this.type?s.s6:(0,s.qy)(c||(c=h`<ha-ripple part="ripple" for="item" ?disabled="${0}"></ha-ripple>`),this.disabled&&"link"!==this.type)}}p.styles=d,p=(0,o.Cg)([(0,n.EM)("ha-md-list-item")],p)},17308:function(e,t,a){var o=a(40445),i=a(49838),r=a(11245),s=a(5124),n=a(67576);let l;class c extends i.B{}c.styles=[r.R,(0,s.AH)(l||(l=(e=>e)`:host{--md-sys-color-surface:var(--card-background-color)}`))],c=(0,o.Cg)([(0,n.EM)("ha-md-list")],c)},34630:function(e,t,a){a(74423),a(44114),a(18111),a(61701),a(62953);var o=a(40445),i=a(5124),r=a(67576),s=a(1087),n=a(14503);a(9503),a(8034),a(67094);let l,c,h,d,p,u,v,f=e=>e;const g=e=>(0,i.qy)(l||(l=f`${0}`),e.map((t,a)=>[(0,i.qy)(c||(c=f`<span>${0}/${0}</span>`),t.address,t.network_prefix),a<e.length-1?", ":i.s6]));class m extends i.WF{render(){if(void 0===this.networkConfig)return i.s6;const e=this.networkConfig.configured_adapters||[];return(0,i.qy)(d||(d=f` <ha-checkbox @change="${0}" .checked="${0}" .hint="${0}"> ${0} <div class="description"> ${0}: ${0} </div> </ha-checkbox> ${0} `),this._handleAutoConfigureCheckboxClick,!e.length,e.length?"":this.hass.localize("ui.panel.config.network.adapter.auto_configure_manual_hint"),this.hass.localize("ui.panel.config.network.adapter.auto_configure"),this.hass.localize("ui.panel.config.network.adapter.detected"),this.networkConfig.adapters.map(e=>e.auto?(0,i.qy)(h||(h=f`${0} (${0})`),e.name,g([...e.ipv4,...e.ipv6])):""),e.length||this._expanded?this.networkConfig.adapters.map(t=>(0,i.qy)(p||(p=f`<ha-checkbox id="${0}" @change="${0}" .checked="${0}" .adapter="${0}"> ${0}: ${0} ${0} <div class="description"> ${0} </div> </ha-checkbox>`),t.name,this._handleAdapterCheckboxClick,e.includes(t.name),t.name,this.hass.localize("ui.panel.config.network.adapter.adapter"),t.name,t.default?(0,i.qy)(u||(u=f`<ha-svg-icon .path="${0}"></ha-svg-icon> (${0})`),"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z",this.hass.localize("ui.common.default")):i.s6,g([...t.ipv4,...t.ipv6]))):i.s6)}_handleAutoConfigureCheckboxClick(e){const t=e.currentTarget;if(void 0===this.networkConfig)return;let a=[...this.networkConfig.configured_adapters];if(t.checked)this._expanded=!1,a=[];else{this._expanded=!0;for(const e of this.networkConfig.adapters)if(e.default){a=[e.name];break}}(0,s.r)(this,"network-config-changed",{configured_adapters:a})}_handleAdapterCheckboxClick(e){const t=e.currentTarget,a=t.id;if(void 0===this.networkConfig)return;const o=[...this.networkConfig.configured_adapters];if(t.checked)o.push(a);else{const e=o.indexOf(a,0);o.splice(e,1)}(0,s.r)(this,"network-config-changed",{configured_adapters:o})}static get styles(){return[n.RF,(0,i.AH)(v||(v=f`.error{color:var(--error-color)}ha-checkbox:not(:last-child){margin-bottom:var(--ha-space-3)}ha-svg-icon{--mdc-icon-size:12px;margin-bottom:4px}.description{font-size:var(--ha-font-size-s);margin-top:var(--ha-space-1);color:var(--secondary-text-color)}`))]}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"networkConfig",void 0),(0,o.Cg)([(0,r.wk)()],m.prototype,"_expanded",void 0),m=(0,o.Cg)([(0,r.EM)("ha-network")],m)},8034:function(e,t,a){a(27495),a(62953);var o=a(40445),i=a(92070),r=a(5124),s=a(67576);let n,l,c,h=e=>e;class d extends r.WF{render(){const e=this._hasSlotController.test("description");return(0,r.qy)(n||(n=h` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" part="heading" ?two-line="${0}" ?three-line="${0}"> <slot name="heading"></slot> ${0} </div> </div> <div class="content"> <slot></slot> </div> `),!this.threeLine&&e,this.threeLine,e?(0,r.qy)(l||(l=h`<span class="secondary"><slot name="description"></slot></span>`)):r.s6)}constructor(...e){super(...e),this.narrow=!1,this.slim=!1,this.threeLine=!1,this.wrapHeading=!1,this.empty=!1,this._hasSlotController=new i.X(this,"description")}}d.styles=(0,r.AH)(c||(c=h`:host{display:flex;padding:0 var(--ha-space-4);align-content:normal;align-self:auto;align-items:center}.body{padding-top:var(--settings-row-body-padding-top,var(--ha-space-2));padding-bottom:var(--settings-row-body-padding-bottom,var(--ha-space-2));padding-left:0;padding-inline-start:0;padding-right:var(--ha-space-4);padding-inline-end:var(--ha-space-4);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:88px}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:var(--ha-space-1);font-family:var(
--mdc-typography-body2-font-family,
var(--mdc-typography-font-family, var(--ha-font-family-body))
);font-size:var(--mdc-typography-body2-font-size, var(--ha-font-size-s));-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-weight:var(--mdc-typography-body2-font-weight,var(--ha-font-weight-normal));line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(72px - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;min-width:0;padding:var(--settings-row-content-padding-block,var(--ha-space-4)) 0}:host([empty]) .content{display:none}.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:var(--ha-space-2)}::slotted(ha-switch){padding:var(--settings-row-switch-padding-block,var(--ha-space-4)) 0}.secondary{white-space:normal}.prefix-wrap{flex:var(--settings-row-prefix-flex,1);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}`)),(0,o.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],d.prototype,"narrow",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],d.prototype,"slim",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean,attribute:"three-line"})],d.prototype,"threeLine",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean,attribute:"wrap-heading",reflect:!0})],d.prototype,"wrapHeading",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],d.prototype,"empty",void 0),d=(0,o.Cg)([(0,s.EM)("ha-settings-row")],d)},59646:function(e,t,a){a.a(e,async function(e,t){try{a(62953);var o=a(40445),i=a(29344),r=a(5124),s=a(67576),n=a(88360),l=e([i]);i=(l.then?(await l)():l)[0];let c,h=e=>e;class d extends i.A{updated(e){super.updated(e),e.has("haptic")&&(this.haptic?this.addEventListener("change",this._forwardHaptic):this.removeEventListener("change",this._forwardHaptic))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",this._forwardHaptic)}static get styles(){return[i.A.styles,(0,r.AH)(c||(c=h`:host{--wa-form-control-toggle-size:var(--ha-switch-size, 24px);--wa-form-control-required-content:var(
--ha-switch-required-marker,
var(--ha-input-required-marker, "*")
);--wa-form-control-required-content-offset:var(
--ha-switch-required-marker-offset,
0.1rem
);--thumb-size:var(--ha-switch-thumb-size, 18px);--width:var(--ha-switch-width, 48px)}label{position:relative;height:max(var(--thumb-size),var(--wa-form-control-toggle-size))}label::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;min-width:var(--ha-switch-min-touch-size,40px);min-height:var(--ha-switch-min-touch-size,40px)}label.disabled::before{pointer-events:none}.switch{background-color:var(--ha-switch-background-color,var(--ha-color-fill-disabled-quiet-resting));border-color:var(--ha-switch-border-color,var(--ha-color-border-neutral-normal))}label:not(.disabled) .input:focus-visible~.switch,label:not(.disabled):hover .switch{background-color:var(--ha-switch-background-color-hover,var(--ha-switch-background-color,var(--ha-color-fill-disabled-quiet-hover)))}.checked .switch{background-color:var(--ha-switch-checked-background-color,var(--ha-color-fill-primary-normal-resting));border-color:var(--ha-switch-checked-border-color,var(--ha-color-border-primary-loud))}label:not(.disabled).checked .input:focus-visible~.switch,label:not(.disabled).checked:hover .switch{background-color:var(--ha-switch-checked-background-color-hover,var(--ha-switch-checked-background-color,var(--ha-color-fill-primary-normal-hover)));border-color:var(--ha-switch-checked-border-color-hover,var(--ha-switch-checked-border-color,var(--ha-color-border-primary-loud)))}.switch .thumb{background-color:var(--ha-switch-thumb-background-color,var(--ha-color-on-neutral-normal));border-color:var(--ha-switch-thumb-border-color,var(--ha-color-on-neutral-normal));border-style:var(--wa-form-control-border-style);border-width:var(--wa-form-control-border-width);box-shadow:var(--ha-switch-thumb-box-shadow,var(--ha-box-shadow-s))}label:not(.disabled) .input:focus-visible~.switch .thumb,label:not(.disabled):hover .switch .thumb{background-color:var(--ha-switch-thumb-background-color-hover,var(--ha-switch-thumb-background-color,var(--ha-color-on-neutral-normal)));border-color:var(--ha-switch-thumb-border-color-hover,var(--ha-switch-thumb-border-color,var(--ha-color-on-neutral-normal)))}.checked .switch .thumb{background-color:var(--ha-switch-checked-thumb-background-color,var(--ha-color-on-primary-normal));border-color:var(--ha-switch-checked-thumb-border-color,var(--ha-color-on-primary-normal))}label:not(.disabled).checked .input:focus-visible~.switch .thumb,label:not(.disabled).checked:hover .switch .thumb{background-color:var(--ha-switch-checked-thumb-background-color-hover,var(--ha-switch-checked-thumb-background-color,var(--ha-color-on-primary-normal)));border-color:var(--ha-switch-checked-thumb-border-color-hover,var(--ha-switch-checked-thumb-border-color,var(--ha-color-on-primary-normal)))}label.disabled{opacity:var(--ha-switch-disabled-opacity, .3);cursor:not-allowed}label:not(.disabled) .input:focus-visible~.switch .thumb{outline:0;outline-offset:none}label:not(.disabled) .input:focus-visible~.switch{outline:var(--wa-focus-ring);outline-offset:var(--wa-focus-ring-offset)}:host(:empty) slot.label{display:none}`))]}constructor(...e){super(...e),this.haptic=!1,this._forwardHaptic=()=>{(0,n.j)(this,"light")}}}(0,o.Cg)([(0,s.MZ)({type:Boolean})],d.prototype,"haptic",void 0),d=(0,o.Cg)([(0,s.EM)("ha-switch")],d),t()}catch(c){t(c)}})},62647:function(e,t,a){var o=a(40445),i=a(9866),r=a(5124),s=a(67576);let n,l=e=>e;class c extends i.A{static get styles(){return[i.A.styles,(0,r.AH)(n||(n=l`:host{font-size:var(--ha-font-size-m);--wa-color-brand-on-quiet:var(
--ha-tab-active-text-color,
var(--primary-color)
);--wa-color-neutral-on-quiet:var(--wa-color-brand-on-quiet);opacity:.8;color:inherit;--wa-space-l:16px}:host([active]:not([disabled])){opacity:1}@media (hover:hover){:host(:hover:not([disabled]):not([active])) .tab{color:var(--wa-color-brand-on-quiet)}}`))]}}c=(0,o.Cg)([(0,s.EM)("ha-tab-group-tab")],c)},66289:function(e,t,a){a.a(e,async function(e,t){try{a(62953);var o=a(40445),i=a(42814),r=a(5124),s=a(67576),n=a(36356),l=e([i]);i=(l.then?(await l)():l)[0];let c,h=e=>e;class d extends i.A{connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this._handleKeyDown,!0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",this._handleKeyDown,!0)}handleClick(e){this._dragScrollController.scrolled||super.handleClick(e)}static get styles(){return[i.A.styles,(0,r.AH)(c||(c=h`:host{--track-width:2px;--track-color:var(--ha-tab-track-color, var(--divider-color));--indicator-color:var(
--ha-tab-indicator-color,
var(--primary-color)
);--wa-color-neutral-on-quiet:var(--indicator-color)}.tab-group-top ::slotted(ha-tab-group-tab[active]){border-block-end:solid var(--track-width) var(--indicator-color);margin-block-end:calc(-1 * var(--track-width))}.tab-group-start ::slotted(ha-tab-group-tab[active]){border-inline-end:solid var(--track-width) var(--indicator-color);margin-inline-end:calc(-1 * var(--track-width))}.tab-group-end ::slotted(ha-tab-group-tab[active]){border-inline-start:solid var(--track-width) var(--indicator-color);margin-inline-start:calc(-1 * var(--track-width))}.scroll-button::part(base):hover{background-color:transparent}`))]}constructor(...e){super(...e),this._dragScrollController=new n.q(this,{selector:".nav"}),this.tabTag="ha-tab-group-tab",this.tabOnly=!0,this._handleKeyDown=e=>{(e.altKey||e.metaKey)&&e.stopPropagation()}}}(0,o.Cg)([(0,s.MZ)({attribute:"tab-tag"})],d.prototype,"tabTag",void 0),(0,o.Cg)([(0,s.MZ)({attribute:"tab-only",type:Boolean})],d.prototype,"tabOnly",void 0),d=(0,o.Cg)([(0,s.EM)("ha-tab-group")],d),t()}catch(c){t(c)}})},34127:function(e,t,a){a.a(e,async function(e,t){try{a(62953);var o=a(40445),i=a(52630),r=a(5124),s=a(67576),n=e([i]);i=(n.then?(await n)():n)[0];let l,c=e=>e;class h extends i.A{static get styles(){return[i.A.styles,(0,r.AH)(l||(l=c`:host{--wa-tooltip-background-color:var(
--ha-tooltip-background-color,
var(--ha-color-surface-default)
);--wa-tooltip-content-color:var(
--ha-tooltip-text-color,
var(--primary-text-color)
);--wa-tooltip-font-family:var(
--ha-tooltip-font-family,
var(--ha-font-family-body)
);--wa-tooltip-font-size:var(
--ha-tooltip-font-size,
var(--ha-font-size-m)
);--wa-tooltip-font-weight:var(
--ha-tooltip-font-weight,
var(--ha-font-weight-medium)
);--wa-tooltip-line-height:var(
--ha-tooltip-line-height,
var(--ha-line-height-condensed)
);--wa-tooltip-padding:var(--ha-tooltip-padding, var(--ha-space-2));--wa-tooltip-border-radius:var(
--ha-tooltip-border-radius,
var(--ha-border-radius-md)
);--wa-tooltip-arrow-size:var(--ha-tooltip-arrow-size, 0px);--wa-tooltip-border-width:0px;--wa-z-index-tooltip:1000}.tooltip::part(popup){animation-duration:var(--ha-tooltip-animation-duration, 0)}.body{box-shadow:var(--ha-tooltip-box-shadow,var(--ha-box-shadow-m))}`))]}constructor(...e){super(...e),this.showDelay=350,this.hideDelay=150}}(0,o.Cg)([(0,s.MZ)({attribute:"show-delay",type:Number})],h.prototype,"showDelay",void 0),(0,o.Cg)([(0,s.MZ)({attribute:"hide-delay",type:Number})],h.prototype,"hideDelay",void 0),h=(0,o.Cg)([(0,s.EM)("ha-tooltip")],h),t()}catch(l){t(l)}})},64013:function(e,t,a){var o=a(40445),i=a(97086),r=a(5124),s=a(67576);let n,l=e=>e;class c extends i.A{static get styles(){return[i.A.styles,(0,r.AH)(n||(n=l`:host{--wa-form-control-required-content:var(
--ha-radio-group-required-marker,
var(--ha-input-required-marker, "*")
);--wa-form-control-required-content-offset:var(
--ha-radio-group-required-marker-offset,
0.1rem
)}`))]}constructor(){super(),this.radioTag="ha-radio-option"}}c=(0,o.Cg)([(0,s.EM)("ha-radio-group")],c)},92677:function(e,t,a){var o=a(40445),i=a(17010),r=a(5124),s=a(67576);let n,l=e=>e;class c extends i.A{static get styles(){return[i.A.styles,(0,r.AH)(n||(n=l`:host{--wa-form-control-activated-color:var(
--ha-radio-option-active-color,
var(--ha-color-fill-primary-loud-resting)
);--wa-form-control-height:var(--ha-radio-option-height, 40px);--wa-form-control-toggle-size:var(
--ha-radio-option-toggle-size,
20px
);--wa-form-control-border-width:var(
--ha-radio-option-border-width,
var(--ha-border-width-md)
);--wa-form-control-border-color:var(
--ha-radio-option-border-color,
var(--ha-color-border-neutral-normal)
);--wa-form-control-background-color:var(
--ha-radio-option-background-color,
var(--wa-form-control-background-color)
);--checked-icon-color:var(
--ha-radio-option-checked-icon-color,
var(--wa-form-control-activated-color)
);--checked-icon-scale:var(--ha-radio-option-checked-icon-scale, 0.7)}:host([appearance=default]) .control{margin:var(--ha-radio-option-control-margin,var(--ha-space-3) var(--ha-space-2) var(--ha-space-3) var(--ha-space-3))}:host(:not([aria-checked=true],[aria-disabled=true]):hover) .control{border-color:var(--ha-radio-option-border-color-hover,var(--ha-radio-option-border-color,var(--ha-color-border-neutral-loud)));background-color:var(--ha-radio-option-background-color-hover,var(--ha-color-fill-neutral-quiet-hover))}:host([aria-checked=true]) .control{background-color:var(--ha-radio-option-checked-background-color,var(--ha-color-fill-primary-normal-resting));color:var(--checked-icon-color);border-color:var(--checked-icon-color)}[part~=label]{display:inline-flex;align-items:center;cursor:pointer}:host([disabled]) [part~=label]{cursor:not-allowed}`))]}}c=(0,o.Cg)([(0,s.EM)("ha-radio-option")],c)},18885:function(e,t,a){a.d(t,{Td:function(){return o},iP:function(){return r},pz:function(){return i}});const o=(e,t)=>e.callWS(Object.assign({type:"config/core/update"},t)),i=e=>e.callWS({type:"config/core/detect"}),r=e=>e.callApi("POST","config/core/check_config")},47351:function(e,t,a){a.d(t,{PS:function(){return o},Tv:function(){return s},VR:function(){return i},lE:function(){return n}});a(74423),a(3362),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698),a(62953);const o=e=>e.data,i=e=>"object"==typeof e?"object"==typeof e.body?e.body.message||"Unknown error, see supervisor logs":e.body||e.message||"Unknown error, see supervisor logs":e,r=new Set([502,503,504]),s=e=>!!(e&&e.status_code&&r.has(e.status_code))||!(!e||!e.message||!e.message.includes("ERR_CONNECTION_CLOSED")&&!e.message.includes("ERR_CONNECTION_RESET")),n=async(e,t)=>e({type:"supervisor/api",endpoint:`/${t}/stats`,method:"get"})},15336:function(e,t,a){a.d(t,{He:function(){return c},Ku:function(){return r},PB:function(){return s},Wq:function(){return p},hu:function(){return l},mZ:function(){return n},v9:function(){return h},xY:function(){return d}});a(3362);var o=a(62384),i=a(47351);const r=async e=>{if((0,o.v)(e.config.version,2021,2,4))return e.callWS({type:"supervisor/api",endpoint:"/host/info",method:"get"});const t=await e.callApi("GET","hassio/host/info");return(0,i.PS)(t)},s=async e=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:"/os/info",method:"get"}):(0,i.PS)(await e.callApi("GET","hassio/os/info")),n=async e=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:"/host/reboot",method:"post",timeout:null}):e.callApi("POST","hassio/host/reboot"),l=async e=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:"/host/shutdown",method:"post",timeout:null}):e.callApi("POST","hassio/host/shutdown"),c=async(e,t)=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:"/host/options",method:"post",data:t}):e.callApi("POST","hassio/host/options",t),h=async(e,t)=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:"/os/datadisk/move",method:"post",timeout:null,data:{device:t}}):e.callApi("POST","hassio/os/datadisk/move"),d=async e=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:"/os/datadisk/list",method:"get",timeout:null}):(0,i.PS)(await e.callApi("GET","/os/datadisk/list")),p=async e=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:"/host/disks/default/usage",method:"get",timeout:3600,params:{max_depth:3}}):(0,i.PS)(await e.callApi("GET","hassio/host/disks/default/usage"))},72758:function(e,t,a){a.d(t,{$n:function(){return s},M0:function(){return c},jg:function(){return r},or:function(){return l},qr:function(){return n}});a(74423),a(72712),a(18111),a(61701),a(18237),a(3362),a(27495),a(62953);var o=a(62384),i=a(47351);const r=async e=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:"/network/info",method:"get"}):(0,i.PS)(await e.callApi("GET","hassio/network/info")),s=async(e,t,a)=>{(0,o.v)(e.config.version,2021,2,4)?await e.callWS({type:"supervisor/api",endpoint:`/network/interface/${t}/update`,method:"post",data:a,timeout:null}):await e.callApi("POST",`hassio/network/interface/${t}/update`,a)},n=async(e,t)=>(0,o.v)(e.config.version,2021,2,4)?e.callWS({type:"supervisor/api",endpoint:`/network/interface/${t}/accesspoints`,method:"get",timeout:null}):(0,i.PS)(await e.callApi("GET",`hassio/network/interface/${t}/accesspoints`)),l=e=>{const[t,a]=e.split("/"),o=t.includes(":");return{ip:t,mask:a?h(a,o):null,prefix:a}},c=(e,t)=>`${e}/${d(t)}`,h=(e,t=!1)=>{const a=parseInt(e,10);if(t){const e="ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",t=Math.floor(a/16),o=a%16,i=o?parseInt("1".repeat(o)+"0".repeat(16-o),2).toString(16):"";return e.split(":").slice(0,t).concat(i).concat(Array(8-t-(i?1:0)).fill("0")).join(":")}const o=~(2**(32-a)-1);return[o>>>24&255,o>>>16&255,o>>>8&255,255&o].join(".")},d=e=>e.includes(":")?e.split(":").map(e=>e?(parseInt(e,16).toString(2).match(/1/g)||[]).length:0).reduce((e,t)=>e+t,0):e.split(".").reduce((e,t)=>e+(parseInt(t,10).toString(2).match(/1/g)||[]).length,0)},59918:function(e,t,a){a.d(t,{PZ:function(){return i},RY:function(){return o},jh:function(){return r}});const o=e=>e.callWS({type:"network"}),i=(e,t)=>e.callWS({type:"network/configure",config:{configured_adapters:t}}),r=e=>e.callWS({type:"network/url"})},57304:function(e,t,a){a.a(e,async function(e,t){try{a(18111),a(22489),a(61701),a(3362),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698),a(62953);var o=a(40445),i=a(5124),r=a(67576),s=a(36312),n=a(38962),l=(a(76776),a(18350)),c=(a(34630),a(8034),a(72758)),h=a(59918),d=a(14503),p=e([n,l]);[n,l]=p.then?(await p)():p;let u,v,f,g=e=>e;class m extends i.WF{render(){return(0,s.x)(this.hass.config,"network")?(0,i.qy)(u||(u=g` <ha-card outlined header="${0}"> <div class="card-content"> ${0} <p> ${0} </p> <ha-network @network-config-changed="${0}" .hass="${0}" .networkConfig="${0}"></ha-network> </div> <div class="card-actions"> <ha-button @click="${0}"> ${0} </ha-button> </div> </ha-card> `),this.hass.localize("ui.panel.config.network.network_adapter"),this._error?(0,i.qy)(v||(v=g` <ha-alert alert-type="error">${0}</ha-alert> `),this._error.message||this._error.code):"",this.hass.localize("ui.panel.config.network.network_adapter_info"),this._configChanged,this.hass,this._networkConfig,this._save,this.hass.localize("ui.panel.config.core.section.core.core_config.save_button")):i.s6}firstUpdated(e){super.firstUpdated(e),(0,s.x)(this.hass.config,"network")&&this._load()}async _load(){this._error=void 0;try{const e=await(0,h.RY)(this.hass);if((0,s.x)(this.hass.config,"hassio")){const t=await(0,c.jg)(this.hass),a=new Set(t.interfaces.map(e=>e.interface));a.size&&(e.adapters=e.adapters.filter(e=>a.has(e.name)))}this._networkConfig=e}catch(e){this._error=e.message||e}}async _save(){this._error=void 0;try{var e;await(0,h.PZ)(this.hass,(null===(e=this._networkConfig)||void 0===e?void 0:e.configured_adapters)||[])}catch(t){this._error=t.message||t}}_configChanged(e){this._networkConfig=Object.assign(Object.assign({},this._networkConfig),{},{configured_adapters:e.detail.configured_adapters})}static get styles(){return[d.RF,(0,i.AH)(f||(f=g`.error{color:var(--error-color)}ha-settings-row{padding:0}.card-actions{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center}`))]}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,o.Cg)([(0,r.wk)()],m.prototype,"_networkConfig",void 0),(0,o.Cg)([(0,r.wk)()],m.prototype,"_error",void 0),m=(0,o.Cg)([(0,r.EM)("ha-config-network")],m),t()}catch(u){t(u)}})},61094:function(e,t,a){a.a(e,async function(e,o){try{a.r(t);a(62953);var i=a(40445),r=a(5124),s=a(67576),n=a(36312),l=a(81310),c=(a(76776),a(17308),a(2846),a(43661),a(57304)),h=a(62086),d=a(39735),p=a(20642),u=e([l,c,h,d,p]);[l,c,h,d,p]=u.then?(await u)():u;let v,f,g,m,w,_=e=>e;const b=["dhcp","ssdp","zeroconf"];class y extends r.WF{render(){return(0,r.qy)(v||(v=_` <hass-subpage back-path="/config/system" .hass="${0}" .narrow="${0}" .header="${0}"> <div class="content"> ${0} <ha-config-url-form .hass="${0}"></ha-config-url-form> <ha-config-network .hass="${0}"></ha-config-network> ${0} </div> </hass-subpage> `),this.hass,this.narrow,this.hass.localize("ui.panel.config.network.caption"),(0,n.x)(this.hass.config,"hassio")?(0,r.qy)(f||(f=_`<supervisor-hostname .hass="${0}" .narrow="${0}"></supervisor-hostname> <supervisor-network .hass="${0}"></supervisor-network>`),this.hass,this.narrow,this.hass):"",this.hass,this.hass,b.some(e=>(0,n.x)(this.hass.config,e))?(0,r.qy)(g||(g=_` <ha-card outlined class="discovery-card" header="${0}"> <ha-md-list> ${0} </ha-md-list> </ha-card> `),this.hass.localize("ui.panel.config.network.discovery.title"),b.map(e=>(0,r.qy)(m||(m=_` <ha-md-list-item type="link" href="/config/${0}"> <div slot="headline"> ${0} </div> <div slot="supporting-text"> ${0} </div> <ha-icon-next slot="end"></ha-icon-next> </ha-md-list-item> `),e,this.hass.localize(`ui.panel.config.network.discovery.${e}`),this.hass.localize(`ui.panel.config.network.discovery.${e}_info`)))):"")}constructor(...e){super(...e),this.narrow=!1}}y.styles=(0,r.AH)(w||(w=_`.content{padding:28px 20px 0;max-width:1040px;margin:0 auto}.discovery-card,ha-config-network,ha-config-url-form,supervisor-hostname,supervisor-network{display:block;margin:0 auto;margin-bottom:24px;max-width:600px}.discovery-card ha-md-list{padding-top:0}`)),(0,i.Cg)([(0,s.MZ)({attribute:!1})],y.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],y.prototype,"route",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],y.prototype,"narrow",void 0),y=(0,i.Cg)([(0,s.EM)("ha-config-section-network")],y),o()}catch(v){o(v)}})},62086:function(e,t,a){a.a(e,async function(e,t){try{a(74423),a(3362),a(62953),a(3296),a(27208),a(48408),a(14603),a(47566),a(98721);var o=a(40445),i=a(5124),r=a(67576),s=a(36312),n=a(92872),l=a(38962),c=a(18350),h=(a(76776),a(2846),a(59646)),d=a(43603),p=a(71117),u=a(18885),v=a(59918),f=a(54706),g=a(31381),m=e([l,c,h,d]);[l,c,h,d]=m.then?(await m)():m;let w,_,b,y,k,x,$,C,z,q,M=e=>e;class S extends((0,f.E)(i.WF)){hassSubscribe(){return[this.hass.connection.subscribeEvents(()=>{this._fetchUrls()},"core_config_updated")]}render(){var e,t,a;const o=["storage","default"].includes(this.hass.config.config_source),r=this._working||!o;if(void 0===this._cloudStatus||void 0===this._urls)return i.s6;const l=this._showCustomInternalUrl?this._internal_url:(null===(e=this._urls)||void 0===e?void 0:e.internal)||"",c=this._showCustomExternalUrl?this._external_url:(this._cloudChecked?null===(t=this._urls)||void 0===t?void 0:t.cloud:null===(a=this._urls)||void 0===a?void 0:a.external)||"";let h,d,p;return null===this._cloudStatus?(h=!1,d=!1,p=!1):(p=this._cloudStatus.http_use_ssl,this._cloudStatus.logged_in?(h=!0,d=this._cloudStatus.active_subscription&&this._cloudStatus.prefs.remote_enabled):(h=!1,d=!1)),(0,i.qy)(w||(w=M` <ha-card outlined .header="${0}"> <div class="card-content"> ${0} ${0} <div class="description"> ${0} </div> ${0} <div class="url-container"> <ha-input-copy auto-validate .validationMessage="${0}" data-name="external_url" type="url" .maskedToggle="${0}" placeholder="https://example.duckdns.org:8123" .value="${0}" .maskedValue="${0}" @change="${0}" .readonly="${0}" .disabled="${0}"> </ha-input-copy> </div> ${0} ${0} <h4> ${0} </h4> <ha-md-list-item> <span slot="headline">${0}</span> <span slot="supporting-text">${0}</span> <ha-switch slot="end" .disabled="${0}" .checked="${0}" @change="${0}"></ha-switch> </ha-md-list-item> <div class="url-container"> <ha-input-copy auto-validate .validationMessage="${0}" data-name="internal_url" .maskedToggle="${0}" type="url" placeholder="${0}" .value="${0}" .maskedValue="${0}" @change="${0}" .readonly="${0}" .disabled="${0}"> </ha-input-copy> </div> ${0} </div> <div class="card-actions"> <ha-button @click="${0}" .disabled="${0}"> ${0} </ha-button> </div> </ha-card> `),this.hass.localize("ui.panel.config.url.caption"),o?i.s6:(0,i.qy)(_||(_=M` <ha-alert> ${0} </ha-alert> `),this.hass.localize("ui.panel.config.core.section.core.core_config.edit_requires_storage")),this._error?(0,i.qy)(b||(b=M`<ha-alert alert-type="error">${0}</ha-alert>`),this._error):i.s6,this.hass.localize("ui.panel.config.url.description"),h?(0,i.qy)(y||(y=M` <h4> ${0} </h4> <ha-md-list-item> <span slot="headline">${0}</span> <ha-switch slot="end" .disabled="${0}" .checked="${0}" @change="${0}"></ha-switch> </ha-md-list-item> `),this.hass.localize("ui.panel.config.url.external_url_label"),this.hass.localize("ui.panel.config.url.external_use_ha_cloud"),r,this._cloudChecked,this._toggleCloud):i.s6,this.hass.localize("ui.panel.config.url.invalid_url"),!(this._showCustomExternalUrl&&o),c,this._showCustomExternalUrl&&o?void 0:(0,g.w)(c),this._handleChange,!this._showCustomExternalUrl,r,h||!(0,s.x)(this.hass.config,"cloud")?i.s6:(0,i.qy)(k||(k=M` <ha-alert alert-type="info"> ${0} <ha-button size="small" href="/config/cloud/register" slot="action"> <span class="no-wrap">${0}</span> </ha-button> </ha-alert> `),this.hass.localize("ui.panel.config.url.external_get_ha_cloud"),this.hass.localize("ui.panel.config.cloud.register.start_trial")),!this._showCustomExternalUrl&&h?(0,i.qy)(x||(x=M` ${0} `),d?(0,i.qy)($||($=M` <div class="row"> <div class="flex"></div> <a href="/config/cloud">${0}</a> </div> `),this.hass.localize("ui.panel.config.url.manage_ha_cloud")):(0,i.qy)(C||(C=M` <ha-alert alert-type="error"> ${0} <ha-button size="small" appearance="plain" href="/config/cloud" slot="action"> ${0} </ha-button> </ha-alert> `),this.hass.localize("ui.panel.config.url.ha_cloud_remote_not_enabled"),this.hass.localize("ui.panel.config.url.enable_remote"))):i.s6,this.hass.localize("ui.panel.config.url.internal_url_label"),this.hass.localize("ui.panel.config.url.internal_url_automatic"),this.hass.localize("ui.panel.config.url.internal_url_automatic_description"),r,!this._showCustomInternalUrl,this._toggleInternalAutomatic,this.hass.localize("ui.panel.config.url.invalid_url"),!(this._showCustomInternalUrl&&o),this.hass.localize("ui.panel.config.url.internal_url_placeholder"),l,this._showCustomInternalUrl&&o?void 0:(0,g.w)(l),this._handleChange,!this._showCustomInternalUrl,r,!p||l&&l.startsWith("https://")&&!(0,n.w)(new URL(l).hostname)?i.s6:(0,i.qy)(z||(z=M` <ha-alert .alertType="${0}" .title="${0}"> ${0} </ha-alert> `),this._showCustomInternalUrl?"info":"warning",this.hass.localize("ui.panel.config.url.internal_url_https_error_title"),this.hass.localize("ui.panel.config.url.internal_url_https_error_description")),this._save,r,this.hass.localize("ui.panel.config.core.section.core.core_config.save_button"))}firstUpdated(e){super.firstUpdated(e),(0,s.x)(this.hass.config,"cloud")?(0,p.eN)(this.hass).then(e=>{this._cloudStatus=e,this._showCustomExternalUrl=!(this._cloudStatus.logged_in&&!this.hass.config.external_url)}):this._cloudStatus=null,this._fetchUrls()}_toggleCloud(e){this._cloudChecked=e.currentTarget.checked,this._showCustomExternalUrl=!this._cloudChecked}_toggleInternalAutomatic(e){this._showCustomInternalUrl=!e.currentTarget.checked}_handleChange(e){const t=e.currentTarget,a=e.composedPath()[0];this[`_${t.dataset.name}`]=a.value||""}async _save(){var e,t;if(!1!==(null===(e=this._externalUrlField)||void 0===e?void 0:e.reportValidity())&&!1!==(null===(t=this._internalUrlField)||void 0===t?void 0:t.reportValidity())){this._working=!0,this._error=void 0;try{await(0,u.Td)(this.hass,{external_url:this._showCustomExternalUrl&&this._external_url||null,internal_url:this._showCustomInternalUrl&&this._internal_url||null})}catch(a){this._error=a.message||a}finally{this._working=!1}}}async _fetchUrls(){var e,t,a,o,i,r,s;this._urls=await(0,v.jh)(this.hass),this._cloudChecked=(null===(e=this._urls)||void 0===e?void 0:e.cloud)===(null===(t=this._urls)||void 0===t?void 0:t.external)&&!this.hass.config.external_url,this._showCustomInternalUrl=!!this.hass.config.internal_url,this._showCustomExternalUrl=!(null!==(a=this._cloudStatus)&&void 0!==a&&a.logged_in&&!this.hass.config.external_url),this._internal_url=null!==(o=null===(i=this._urls)||void 0===i?void 0:i.internal)&&void 0!==o?o:"",this._external_url=null!==(r=null===(s=this._urls)||void 0===s?void 0:s.external)&&void 0!==r?r:""}constructor(...e){super(...e),this._working=!1,this._external_url="",this._internal_url="",this._showCustomExternalUrl=!1,this._showCustomInternalUrl=!1,this._cloudChecked=!1}}S.styles=(0,i.AH)(q||(q=M`.description{margin-bottom:1em}.row{display:flex;flex-direction:row;margin:0 -8px;align-items:center;padding:8px 0}.secondary{color:var(--secondary-text-color)}.flex{flex:1}.row>*{margin:0 8px}ha-alert{display:block;margin:16px calc(var(--ha-space-4) * -1)}.card-actions{display:flex;flex-direction:row-reverse}a{color:var(--primary-color);text-decoration:none}.url-container{display:flex;align-items:center;gap:var(--ha-space-2);margin-top:8px}ha-input-copy{flex:1}ha-md-list-item{--md-list-item-top-space:0;--md-list-item-bottom-space:0;--md-list-item-leading-space:0;--md-list-item-trailing-space:0;--md-list-item-two-line-container-height:48px}.no-wrap{white-space:nowrap}`)),(0,o.Cg)([(0,r.MZ)({attribute:!1})],S.prototype,"hass",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_error",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_working",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_urls",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_external_url",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_internal_url",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_cloudStatus",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_showCustomExternalUrl",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_showCustomInternalUrl",void 0),(0,o.Cg)([(0,r.wk)()],S.prototype,"_cloudChecked",void 0),(0,o.Cg)([(0,r.P)('[data-name="external_url"]')],S.prototype,"_externalUrlField",void 0),(0,o.Cg)([(0,r.P)('[data-name="internal_url"]')],S.prototype,"_internalUrlField",void 0),S=(0,o.Cg)([(0,r.EM)("ha-config-url-form")],S),t()}catch(w){t(w)}})},39735:function(e,t,a){a.a(e,async function(e,t){try{a(3362),a(62953);var o=a(40445),i=a(5124),r=a(67576),s=a(38962),n=(a(76776),a(18350)),l=(a(11382),a(26300)),c=(a(8034),a(91485)),h=a(47351),d=a(15336),p=a(65063),u=e([s,n,l,c]);[s,n,l,c]=u.then?(await u)():u;let v,f,g=e=>e;class m extends i.WF{firstUpdated(){this._fetchHostInfo()}async _fetchHostInfo(){const e=await(0,d.Ku)(this.hass);this._hostname=e.hostname}render(){return this._hostname?(0,i.qy)(v||(v=g` <ha-card class="no-padding" outlined .header="${0}"> <div class="card-content"> <p> ${0} </p> <ha-input .disabled="${0}" .value="${0}" @change="${0}" placeholder="homeassistant"> </ha-input> </div> <div class="card-actions"> <ha-button .loading="${0}" @click="${0}" .disabled="${0}"> ${0} </ha-button> </div> </ha-card> `),this.hass.localize("ui.panel.config.network.supervisor.hostname.title"),this.hass.localize("ui.panel.config.network.supervisor.hostname.description"),this._processing,this._hostname,this._handleChange,this._processing,this._save,this._processing,this.hass.localize("ui.common.save")):i.s6}_handleChange(e){this._hostname=e.target.value}async _save(){this._processing=!0;try{await(0,d.He)(this.hass,{hostname:this._hostname})}catch(e){(0,p.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.network.supervisor.hostname.failed_to_set_hostname"),text:(0,h.VR)(e)})}finally{this._processing=!1}}constructor(...e){super(...e),this.narrow=!1,this._processing=!1}}m.styles=(0,i.AH)(f||(f=g`ha-input{width:100%}.card-actions{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center}.card-content>p{padding-bottom:1em}`)),(0,o.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],m.prototype,"narrow",void 0),(0,o.Cg)([(0,r.wk)()],m.prototype,"_processing",void 0),(0,o.Cg)([(0,r.wk)()],m.prototype,"_hostname",void 0),m=(0,o.Cg)([(0,r.EM)("supervisor-hostname")],m),t()}catch(v){t(v)}})},20642:function(e,t,a){a.a(e,async function(e,t){try{a(74423),a(44114),a(26910),a(18111),a(22489),a(20116),a(7588),a(61701),a(3362),a(42762),a(62953);var o=a(40445),i=a(5124),r=a(67576),s=a(74985),n=a(38962),l=a(18350),c=(a(76776),a(29823)),h=(a(70947),a(11382),a(26300)),d=(a(8630),a(28732),a(64013),a(92677),a(65829)),p=a(66289),u=(a(62647),a(91485)),v=a(47351),f=a(72758),g=a(65063),m=e([n,l,c,h,d,p,u]);[n,l,c,h,d,p,u]=m.then?(await m)():m;let w,_,b,y,k,x,$,C,z,q,M,S,A,E,T,U,L,P,H,I,O,Z,j=e=>e;const N="M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z",V="M7,10L12,15L17,10H7Z",D="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",W="M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z",R=["ipv4","ipv6"],F={ipv4:{Cloudflare:["1.1.1.1","1.0.0.1"],Google:["8.8.8.8","8.8.4.4"],Quad9:["9.9.9.9","149.112.112.112"],NextDNS:["45.90.28.0","45.90.30.0"],AdGuard:["94.140.14.140","94.140.14.141"]},ipv6:{Cloudflare:["2606:4700:4700::1111","2606:4700:4700::1001"],Google:["2001:4860:4860::8888","2001:4860:4860::8844"],Quad9:["2620:fe::fe","2620:fe::9"],NextDNS:["2a05:d014:a000::","2a05:d014:a001::"],AdGuard:["94.140.14.140","94.140.14.141"]}};class B extends i.WF{firstUpdated(){this._fetchNetworkInfo()}async _fetchNetworkInfo(){const e=await(0,f.jg)(this.hass);this._interfaces=e.interfaces.sort((e,t)=>e.primary>t.primary?-1:1),this._interface=Object.assign({},this._interfaces[this._curTabIndex])}render(){return this._interface?(0,i.qy)(w||(w=j` <ha-card outlined> <div class="card-header"> ${0} ${0} </div> ${0} </ha-card> `),this.hass.localize("ui.panel.config.network.supervisor.title"),this._interfaces.length>1?(0,i.qy)(_||(_=j` <ha-tab-group @wa-tab-show="${0}">${0} </ha-tab-group> `),this._handleTabActivated,this._interfaces.map((e,t)=>(0,i.qy)(b||(b=j`<ha-tab-group-tab slot="nav" .active="${0}" .panel="${0}" .id="${0}"> ${0} </ha-tab-group-tab>`),this._curTabIndex===t,t.toString(),e.interface,e.interface))):i.s6,(0,s.P)(this._renderTab())):i.s6}_renderTab(){var e,t,a,o;return(0,i.qy)(y||(y=j`<div class="card-content"> ${0} ${0} ${0} </div> <div class="card-actions"> <ha-button .loading="${0}" @click="${0}" .disabled="${0}"> ${0} </ha-button> <ha-button variant="danger" appearance="plain" @click="${0}"> ${0} </ha-button> </div>`),"wireless"===(null===(e=this._interface)||void 0===e?void 0:e.type)?(0,i.qy)(k||(k=j` <ha-expansion-panel .header="${0}" outlined .expanded="${0}"> ${0} <ha-button appearance="plain" class="scan" @click="${0}" .disabled="${0}" .loading="${0}"> ${0} <ha-svg-icon slot="start" .path="${0}"></ha-svg-icon> </ha-button> ${0} ${0} </ha-expansion-panel> `),this.hass.localize("ui.panel.config.network.supervisor.wifi"),!(null!==(t=this._interface)&&void 0!==t&&null!==(t=t.wifi)&&void 0!==t&&t.ssid),null!==(a=this._interface)&&void 0!==a&&null!==(a=a.wifi)&&void 0!==a&&a.ssid?(0,i.qy)(x||(x=j`<p> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> ${0} </p>`),W,this.hass.localize("ui.panel.config.network.supervisor.connected_to",{ssid:null===(o=this._interface)||void 0===o||null===(o=o.wifi)||void 0===o?void 0:o.ssid})):i.s6,this._scanForAP,this._scanning,this._scanning,this.hass.localize("ui.panel.config.network.supervisor.scan_ap"),W,this._accessPoints.length?(0,i.qy)($||($=j` <ha-list> ${0} </ha-list> `),this._accessPoints.map(e=>{var t;return(0,i.qy)(C||(C=j` <ha-list-item twoline @click="${0}" .activated="${0}" .ap="${0}"> <span>${0}</span> <span slot="secondary"> ${0} - ${0}: ${0} </span> </ha-list-item> `),this._selectAP,e.ssid===(null===(t=this._wifiConfiguration)||void 0===t?void 0:t.ssid),e,e.ssid,e.mac,this.hass.localize("ui.panel.config.network.supervisor.signal_strength"),e.signal)})):i.s6,this._wifiConfiguration?(0,i.qy)(z||(z=j` <ha-radio-group orientation="horizontal" .value="${0}" name="auth" @change="${0}"> <ha-radio-option value="open"> ${0} </ha-radio-option> <ha-radio-option value="wep"> ${0} </ha-radio-option> <ha-radio-option value="wpa-psk"> ${0} </ha-radio-option> </ha-radio-group> ${0} `),this._wifiConfiguration.auth||"open",this._handleRadioValueChangedAp,this.hass.localize("ui.panel.config.network.supervisor.open"),this.hass.localize("ui.panel.config.network.supervisor.wep"),this.hass.localize("ui.panel.config.network.supervisor.wpa"),"wpa-psk"===this._wifiConfiguration.auth||"wep"===this._wifiConfiguration.auth?(0,i.qy)(q||(q=j` <ha-input type="password" password-toggle id="psk" .label="${0}" .version="${0}" @change="${0}"> </ha-input> `),this.hass.localize("ui.panel.config.network.supervisor.wifi_password"),"wifi",this._handleInputValueChangedWifi):i.s6):i.s6):i.s6,R.map(e=>this._interface[e]?this._renderIPConfiguration(e):i.s6),this._dirty?(0,i.qy)(M||(M=j`<ha-alert alert-type="warning"> ${0} </ha-alert>`),this.hass.localize("ui.panel.config.network.supervisor.warning")):i.s6,this._processing,this._updateNetwork,!this._dirty,this.hass.localize("ui.common.save"),this._clear,this.hass.localize("ui.panel.config.network.supervisor.reset"))}_selectAP(e){this._wifiConfiguration=e.currentTarget.ap,R.forEach(e=>{"disabled"===this._interface[e].method&&(this._interface[e].method="auto")}),this._dirty=!0}async _scanForAP(){if(this._interface){this._scanning=!0;try{var e;const t=await(0,f.qr)(this.hass,this._interface.interface);this._accessPoints=[],null===(e=t.accesspoints)||void 0===e||e.forEach(e=>{if(e.ssid){const t=this._accessPoints.find(t=>t.ssid===e.ssid);t?e.signal>t.signal&&(this._accessPoints=this._accessPoints.filter(t=>t.ssid!==e.ssid),this._accessPoints.push(e)):this._accessPoints.push(e)}})}catch(t){(0,g.showAlertDialog)(this,{title:"Failed to scan for accesspoints",text:(0,v.VR)(t)})}finally{this._scanning=!1}}}_renderIPConfiguration(e){var t,a,o,r,s,n;if(!("wireless"!==(null===(t=this._interface)||void 0===t?void 0:t.type)||null!==(a=this._wifiConfiguration)&&void 0!==a&&a.ssid||null!==(o=this._interface.wifi)&&void 0!==o&&o.ssid))return i.s6;const l=(null===(r=this._interface[e])||void 0===r?void 0:r.nameservers)||[];0===l.length&&l.push("");const c="auto"===(null===(s=this._interface[e])||void 0===s?void 0:s.method);return(0,i.qy)(S||(S=j` <ha-expansion-panel .header="${0}" outlined> <ha-radio-group orientation="horizontal" .version="${0}" .value="${0}" name="${0}method" @change="${0}"> <ha-radio-option value="auto"> ${0} </ha-radio-option> <ha-radio-option value="static"> ${0} </ha-radio-option> <ha-radio-option value="disabled"> ${0} </ha-radio-option> </ha-radio-group> ${0} </ha-expansion-panel> `),`IPv${e.charAt(e.length-1)}`,e,null===(n=this._interface[e])||void 0===n?void 0:n.method,e,this._handleRadioValueChanged,this.hass.localize("ui.panel.config.network.supervisor.auto"),this.hass.localize("ui.panel.config.network.supervisor.static"),this.hass.localize("ui.panel.config.network.supervisor.disabled"),["static","auto"].includes(this._interface[e].method)?(0,i.qy)(A||(A=j` ${0} ${0} <ha-input id="gateway" .label="${0}" .version="${0}" .value="${0}" @change="${0}" .disabled="${0}"> </ha-input> <div class="nameservers"> ${0} </div> <ha-dropdown @wa-show="${0}" @wa-hide="${0}" .version="${0}" @wa-select="${0}" class="add-nameserver"> <ha-button appearance="filled" size="small" slot="trigger"> ${0} <ha-svg-icon slot="start" .path="${0}"></ha-svg-icon> </ha-button> ${0} <ha-dropdown-item value="add_custom" .version="${0}"> ${0} </ha-dropdown-item> </ha-dropdown> `),this._interface[e].address.map((t,a)=>{const{ip:o,mask:r,prefix:s}=(0,f.or)(t);return(0,i.qy)(E||(E=j` <div class="address-row"> <ha-input id="address" .label="${0}" .version="${0}" .value="${0}" .index="${0}" @change="${0}" .disabled="${0}"> </ha-input> ${0} ${0} </div> `),this.hass.localize("ui.panel.config.network.supervisor.ip"),e,o,a,this._handleInputValueChanged,c,"ipv6"===e?(0,i.qy)(T||(T=j` <ha-input id="prefix" .label="${0}" .version="${0}" .value="${0}" .index="${0}" @change="${0}" .disabled="${0}"> </ha-input> `),this.hass.localize("ui.panel.config.network.supervisor.prefix"),e,s||"",a,this._handleInputValueChanged,c):(0,i.qy)(U||(U=j` <ha-input id="netmask" .label="${0}" .version="${0}" .value="${0}" .index="${0}" @change="${0}" .disabled="${0}"> </ha-input> `),this.hass.localize("ui.panel.config.network.supervisor.netmask"),e,r||"",a,this._handleInputValueChanged,c),this._interface[e].address.length>1&&!c?(0,i.qy)(L||(L=j` <ha-icon-button .label="${0}" .path="${0}" .version="${0}" .index="${0}" @click="${0}"></ha-icon-button> `),this.hass.localize("ui.common.delete"),N,e,a,this._removeAddress):i.s6)}),c?i.s6:(0,i.qy)(P||(P=j` <ha-button @click="${0}" .version="${0}" class="add-address" appearance="filled" size="small"> ${0} <ha-svg-icon slot="start" .path="${0}"></ha-svg-icon> </ha-button> `),this._addAddress,e,this.hass.localize("ui.panel.config.network.supervisor.add_address"),D),this.hass.localize("ui.panel.config.network.supervisor.gateway"),e,this._interface[e].gateway||"",this._handleInputValueChanged,c,l.map((t,a)=>{var o;return(0,i.qy)(H||(H=j` <div class="address-row"> <ha-input id="nameserver" .label="${0}" .version="${0}" .value="${0}" .index="${0}" @change="${0}"> </ha-input> ${0} </div> `),`${this.hass.localize("ui.panel.config.network.supervisor.dns_server")}${this._getPredefinedDnsName(t,e)}`,e,t,a,this._handleInputValueChanged,(null===(o=this._interface[e].nameservers)||void 0===o?void 0:o.length)>1?(0,i.qy)(I||(I=j` <ha-icon-button slot="end" .label="${0}" .path="${0}" .version="${0}" .index="${0}" @click="${0}"></ha-icon-button> `),this.hass.localize("ui.common.delete"),N,e,a,this._removeNameserver):i.s6)}),this._handleDNSMenuOpened,this._handleDNSMenuClosed,e,this._handleDropdownSelect,this.hass.localize("ui.panel.config.network.supervisor.add_dns_server"),this._dnsMenuOpen?V:D,Object.entries(F[e]).map(([t,a])=>(0,i.qy)(O||(O=j` <ha-dropdown-item value="add_predefined" .version="${0}" .addresses="${0}"> ${0} </ha-dropdown-item> `),e,a,t)),e,this.hass.localize("ui.panel.config.network.supervisor.custom_dns")):i.s6)}_getPredefinedDnsName(e,t){for(const[a,o]of Object.entries(F[t]))if(o.includes(e))return` - ${a}`;return""}async _updateNetwork(){var e,t;this._processing=!0;let a={};R.forEach(e=>{var t,o,i,r,s;(a[e]={method:(null===(t=this._interface[e])||void 0===t?void 0:t.method)||"auto",nameservers:null===(o=this._interface[e])||void 0===o||null===(o=o.nameservers)||void 0===o?void 0:o.filter(e=>e.trim())},"static"===(null===(i=this._interface[e])||void 0===i?void 0:i.method))&&(a[e]=Object.assign(Object.assign({},a[e]),{},{address:null===(r=this._interface[e])||void 0===r||null===(r=r.address)||void 0===r?void 0:r.filter(e=>e.trim()),gateway:null===(s=this._interface[e])||void 0===s?void 0:s.gateway}))}),this._wifiConfiguration&&(a=Object.assign(Object.assign({},a),{},{wifi:{ssid:this._wifiConfiguration.ssid,mode:this._wifiConfiguration.mode,auth:this._wifiConfiguration.auth||"open"}}),"open"!==a.wifi.auth&&(a.wifi=Object.assign(Object.assign({},a.wifi),{},{psk:this._wifiConfiguration.psk}))),a.enabled=!("disabled"===(null===(e=a.ipv4)||void 0===e?void 0:e.method)&&"disabled"===(null===(t=a.ipv6)||void 0===t?void 0:t.method)||"wireless"===this._interface.type&&void 0===this._wifiConfiguration&&!this._interface.wifi);try{await(0,f.$n)(this.hass,this._interface.interface,a),this._dirty=!1,await this._fetchNetworkInfo()}catch(o){(0,g.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.network.supervisor.failed_to_change"),text:(0,v.VR)(o)})}finally{this._processing=!1}}async _clear(){await this._fetchNetworkInfo(),this._interface.ipv4.method="auto",this._interface.ipv4.nameservers=[],this._interface.ipv6.method="auto",this._interface.ipv6.nameservers=[],this._interface.wifi=null,this._wifiConfiguration=void 0,this._dirty=!0,this.requestUpdate("_interface")}async _handleTabActivated(e){if(this._dirty){if(!(await(0,g.dk)(this,{text:this.hass.localize("ui.panel.config.network.supervisor.unsaved"),confirmText:this.hass.localize("ui.common.yes"),dismissText:this.hass.localize("ui.common.no")})))return void this.requestUpdate("_interface")}this._curTabIndex=Number(e.detail.name),this._interface=Object.assign({},this._interfaces[this._curTabIndex])}_handleRadioValueChanged(e){const t=e.currentTarget,a=t.value,o=t.version;a&&this._interface&&this._interface[o].method!==a&&(this._dirty=!0,this._interface[o].method=a,this.requestUpdate("_interface"))}_handleRadioValueChangedAp(e){const t=e.currentTarget.value;this._wifiConfiguration.auth=t,this._dirty=!0,this.requestUpdate("_wifiConfiguration")}_handleInputValueChanged(e){var t;const a=e.target,o=a.value,i=e.target.version,r=a.id;if(o&&null!==(t=this._interface)&&void 0!==t&&t[i])if(this._dirty=!0,"address"===r){const t=e.target.index,{mask:a}=(0,f.or)(this._interface[i].address[t]),{mask:r}=(0,f.or)(o);this._interface[i].address[t]=(0,f.M0)(o,r||a||""),this.requestUpdate("_interface")}else if("netmask"===r){const t=e.target.index,{ip:a}=(0,f.or)(this._interface[i].address[t]);this._interface[i].address[t]=(0,f.M0)(a,o),this.requestUpdate("_interface")}else if("prefix"===r){const t=e.target.index,{ip:a}=(0,f.or)(this._interface[i].address[t]);this._interface[i].address[t]=`${a}/${o}`,this.requestUpdate("_interface")}else if("nameserver"===r){const t=e.target.index;this._interface[i].nameservers[t]=o,this.requestUpdate("_interface")}else this._interface[i][r]=o;else a.reportValidity()}_handleInputValueChangedWifi(e){const t=e.target,a=t.value,o=t.id;a&&this._wifiConfiguration&&this._wifiConfiguration[o]!==a?(this._dirty=!0,this._wifiConfiguration[o]=a):t.reportValidity()}_addAddress(e){const t=e.target.version;this._interface[t].address.push("ipv4"===t?"0.0.0.0/24":"::/64"),this._dirty=!0,this.requestUpdate("_interface")}_removeAddress(e){const t=e.target,a=t.index,o=t.version;this._interface[o].address.splice(a,1),this._dirty=!0,this.requestUpdate("_interface")}_handleDNSMenuOpened(){this._dnsMenuOpen=!0}_handleDNSMenuClosed(){this._dnsMenuOpen=!1}_addPredefinedDNS(e,t){this._interface[e].nameservers||(this._interface[e].nameservers=[]),this._interface[e].nameservers.push(...t),this._dirty=!0,this.requestUpdate("_interface")}_addCustomDNS(e){this._interface[e].nameservers||(this._interface[e].nameservers=[]),this._interface[e].nameservers.push(""),this._dirty=!0,this.requestUpdate("_interface")}_removeNameserver(e){const t=e.target,a=t.index,o=t.version;this._interface[o].nameservers.splice(a,1),this._dirty=!0,this.requestUpdate("_interface")}_handleDropdownSelect(e){var t;const a=null===(t=e.detail)||void 0===t||null===(t=t.item)||void 0===t?void 0:t.value;"add_predefined"!==a?"add_custom"===a&&this._addCustomDNS(e.detail.item.version):this._addPredefinedDNS(e.detail.item.version,e.detail.item.addresses)}static get styles(){return[(0,i.AH)(Z||(Z=j`.content{display:block;padding:20px 24px}ha-button.scan{margin-left:8px;margin-inline-start:8px;margin-inline-end:initial}ha-expansion-panel{--expansion-panel-summary-padding:0 16px;margin:4px 0}.address-row{display:flex;flex-direction:row;gap:var(--ha-space-2);align-items:center}.address-row ha-input{flex:1}.address-row #prefix{flex:none;width:95px}ha-icon-button{color:var(--secondary-text-color)}.address-row ha-icon-button{--ha-icon-button-size:36px;margin-top:var(--ha-space-5)}ha-dropdown{display:block}.add-address,.add-nameserver{margin-top:16px}ha-list-item{--mdc-list-side-padding:10px}.card-actions{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center}ha-expansion-panel>:last-child{margin-bottom:16px}ha-tab-group{line-height:var(--ha-line-height-normal)}ha-tab-group-tab{flex:1}ha-tab-group-tab::part(base){width:100%;justify-content:center}`))]}constructor(...e){super(...e),this._accessPoints=[],this._curTabIndex=0,this._dirty=!1,this._processing=!1,this._scanning=!1,this._dnsMenuOpen=!1}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],B.prototype,"hass",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_accessPoints",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_curTabIndex",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_dirty",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_interface",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_interfaces",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_processing",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_scanning",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_wifiConfiguration",void 0),(0,o.Cg)([(0,r.wk)()],B.prototype,"_dnsMenuOpen",void 0),B=(0,o.Cg)([(0,r.EM)("supervisor-network")],B),t()}catch(w){t(w)}})}}]);