UNPKG

iobroker.lovelace

Version:

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

23 lines 40.1 kB
/*! For license information please see 686.5d79fffab2cc550e.js.LICENSE.txt */ export const __rspack_esm_id=686;export const __rspack_esm_ids=[686];export const __webpack_modules__={71769(e,t,i){i.d(t,{m:()=>a});const a=(e,t)=>{const i=matchMedia(e),a=e=>t(e.matches);return i.addListener(a),t(i.matches),()=>i.removeListener(a)}},64481(e,t,i){i.d(t,{D:()=>o,J:()=>r});i(64979);let a=!1;try{a="true"===window.localStorage.getItem("disableViewTransition")}catch{}const o=e=>{a=e},s=e=>{if(!(e=>(e instanceof DOMException||e instanceof Error)&&"AbortError"===e.name)(e))throw e},r=e=>{if(!document.startViewTransition||a)return e(!1),Promise.resolve();let t=!1;try{const i=document.startViewTransition(()=>{t=!0,e(!0)});return i.ready.catch(s),i.finished.catch(s)}catch(i){return console.warn("View transition failed, falling back to direct execution.",i),t?Promise.reject(i):(e(!1),Promise.resolve())}}},14693(e,t,i){i.a(e,async function(e,a){try{i.d(t,{r:()=>m});var o=i(62826),s=i(35211),r=i(5124),n=i(22441),l=i(71769),d=i(22792),h=i(99611),c=(i(76538),i(26300)),p=i(72554),u=e([h,c,p]);[h,c,p]=u.then?(await u)():u;const g="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",v="(max-width: 870px), (max-height: 500px)";class m extends r.WF{connectedCallback(){super.connectedCallback(),this._unsubMediaQuery=(0,l.m)(v,e=>{this._modeSet&&!this.allowModeChange||(this.mode=e?"bottom-sheet":"dialog",this._modeSet=!0)})}get _defaultAriaLabelledBy(){return this.ariaLabelledBy||(void 0!==this.headerTitle?"ha-dialog-title":void 0)}_renderCloseButton(e){return this.hideCloseButton?r.qy`<span slot="${e}"></span>`:r.qy` <slot name="headerNavigationIcon" slot="${e}"> <ha-icon-button data-dialog="close" .label="${this._i18n?.localize?.("ui.common.close")??"Close"}" .path="${g}"></ha-icon-button> </slot> `}_renderHeaderContent(){return r.qy` <ha-dialog-header .subtitlePosition="${this.headerSubtitlePosition}"> ${this._renderCloseButton("navigationIcon")} ${void 0!==this.headerTitle?r.qy`<span slot="title" class="title" id="ha-dialog-title"> ${this.headerTitle} </span>`:r.qy`<slot name="headerTitle" slot="title"></slot>`} ${void 0!==this.headerSubtitle?r.qy`<span slot="subtitle">${this.headerSubtitle}</span>`:r.qy`<slot name="headerSubtitle" slot="subtitle"></slot>`} <slot name="headerActionItems" slot="actionItems"></slot> </ha-dialog-header> `}disconnectedCallback(){super.disconnectedCallback(),this._unsubMediaQuery?.(),this._unsubMediaQuery=void 0,this._modeSet=!1}render(){return"bottom-sheet"===this.mode?r.qy` <ha-bottom-sheet .ariaLabelledBy="${this._defaultAriaLabelledBy}" .ariaDescribedBy="${this.ariaDescribedBy}" .flexContent="${this.flexContent}" .open="${this.open}" .preventScrimClose="${this.preventScrimClose}"> ${this.withoutHeader?r.s6:r.qy` <slot name="header" slot="header">${this._renderHeaderContent()}</slot> `} <slot></slot> <slot name="footer" slot="footer"></slot> </ha-bottom-sheet> `:r.qy` <ha-dialog .open="${this.open}" .type="${this.type}" .width="${this.width}" .preventScrimClose="${this.preventScrimClose}" .ariaLabelledBy="${this.ariaLabelledBy}" .ariaDescribedBy="${this.ariaDescribedBy}" .headerTitle="${this.headerTitle}" .headerSubtitle="${this.headerSubtitle}" .headerSubtitlePosition="${this.headerSubtitlePosition}" .flexContent="${this.flexContent}" .withoutHeader="${this.withoutHeader}"> ${this._renderCloseButton("headerNavigationIcon")} <slot name="headerTitle" slot="headerTitle"></slot> <slot name="headerSubtitle" slot="headerSubtitle"></slot> <slot name="headerActionItems" slot="headerActionItems"></slot> <slot></slot> <slot name="footer" slot="footer"></slot> </ha-dialog> `}static get styles(){return[r.AH`ha-bottom-sheet{--ha-bottom-sheet-border-radius:var(--ha-border-radius-2xl);--ha-bottom-sheet-surface-background:var( --ha-dialog-surface-background, var(--card-background-color, var(--ha-color-surface-default)) );--ha-bottom-sheet-padding:0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left);--ha-bottom-sheet-content-padding:var( --dialog-content-padding, 0 var(--ha-space-6) var(--ha-space-6) var(--ha-space-6) )}`]}constructor(...e){super(...e),this.open=!1,this.type="standard",this.width="medium",this.preventScrimClose=!1,this.headerSubtitlePosition="below",this.allowModeChange=!1,this.withoutHeader=!1,this.hideCloseButton=!1,this.flexContent=!1,this.mode="dialog",this._modeSet=!1}}(0,o.Cg)([(0,n.MZ)({attribute:"aria-labelledby"})],m.prototype,"ariaLabelledBy",void 0),(0,o.Cg)([(0,n.MZ)({attribute:"aria-describedby"})],m.prototype,"ariaDescribedBy",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],m.prototype,"open",void 0),(0,o.Cg)([(0,n.MZ)({reflect:!0})],m.prototype,"type",void 0),(0,o.Cg)([(0,n.MZ)({type:String,reflect:!0,attribute:"width"})],m.prototype,"width",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,reflect:!0,attribute:"prevent-scrim-close"})],m.prototype,"preventScrimClose",void 0),(0,o.Cg)([(0,n.MZ)({attribute:"header-title"})],m.prototype,"headerTitle",void 0),(0,o.Cg)([(0,n.MZ)({attribute:"header-subtitle"})],m.prototype,"headerSubtitle",void 0),(0,o.Cg)([(0,n.MZ)({type:String,attribute:"header-subtitle-position"})],m.prototype,"headerSubtitlePosition",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,attribute:"allow-mode-change"})],m.prototype,"allowModeChange",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,attribute:"without-header"})],m.prototype,"withoutHeader",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,attribute:"hide-close-button"})],m.prototype,"hideCloseButton",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,reflect:!0,attribute:"flexcontent"})],m.prototype,"flexContent",void 0),(0,o.Cg)([(0,n.wk)()],m.prototype,"mode",void 0),(0,o.Cg)([(0,n.wk)(),(0,s.Fg)({context:d.D5,subscribe:!0})],m.prototype,"_i18n",void 0),m=(0,o.Cg)([(0,n.EM)("ha-adaptive-dialog")],m),a()}catch(e){a(e)}})},76538(e,t,i){var a=i(62826),o=i(5124),s=i(22441);class r extends o.WF{render(){const e=o.qy`<div class="header-title"> <slot name="title"></slot> </div>`,t=o.qy`<div class="header-subtitle"> <slot name="subtitle"></slot> </div>`;return o.qy` <header class="header"> <div class="header-bar"> <section class="header-navigation-icon"> <slot name="navigationIcon"></slot> </section> <section class="header-content"> ${"above"===this.subtitlePosition?o.qy`${t}${e}`:o.qy`${e}${t}`} </section> <section class="header-action-items"> <slot name="actionItems"></slot> </section> </div> <slot></slot> </header> `}static get styles(){return[o.AH`:host{display:block}:host([show-border]){border-bottom:1px solid var(--mdc-dialog-scroll-divider-color,rgba(0,0,0,.12))}.header-bar{display:flex;flex-direction:row;align-items:center;padding:0 var(--ha-space-1);box-sizing:border-box}.header-content{flex:1;padding:10px var(--ha-space-1);display:flex;flex-direction:column;justify-content:center;min-height:var(--ha-space-12);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-title{height:var(--ha-dialog-header-title-height,calc(var(--ha-font-size-xl) + var(--ha-space-1)));font-size:var(--ha-font-size-xl);line-height:var(--ha-line-height-condensed);font-weight:var(--ha-font-weight-medium);color:var(--ha-dialog-header-title-color,var(--primary-text-color))}.header-subtitle{font-size:var(--ha-font-size-m);line-height:var(--ha-line-height-normal);color:var(--ha-dialog-header-subtitle-color,var(--secondary-text-color))}@media all and (min-width:450px) and (min-height:500px){.header-bar{padding:0 var(--ha-space-2)}}.header-navigation-icon{flex:none;min-width:var(--ha-space-2);height:100%;display:flex;flex-direction:row}.header-action-items{flex:none;min-width:var(--ha-space-2);height:100%;display:flex;flex-direction:row}`]}constructor(...e){super(...e),this.subtitlePosition="below",this.showBorder=!1}}(0,a.Cg)([(0,s.MZ)({type:String,attribute:"subtitle-position"})],r.prototype,"subtitlePosition",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean,reflect:!0,attribute:"show-border"})],r.prototype,"showBorder",void 0),r=(0,a.Cg)([(0,s.EM)("ha-dialog-header")],r)},72554(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),o=i(93900),s=i(35211),r=i(5124),n=i(22441),l=i(63672),d=i(1087),h=i(64481),c=i(22792),p=i(59992),u=i(14503),g=i(22348),v=(i(76538),i(26300)),m=e([o,v]);[o,v]=m.then?(await m)():m;const f="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";class b extends((0,p.V)(r.WF)){connectedCallback(){super.connectedCallback(),this.addEventListener("dialog-set-fullscreen",this._handleFullscreenChanged)}get scrollableElement(){return this.bodyContainer}updated(e){super.updated(e),e.has("open")&&(this._open=this.open)}render(){return r.qy` <wa-dialog .open="${this._open}" .lightDismiss="${!this.preventScrimClose}" without-header aria-labelledby="${(0,l.J)(this.ariaLabelledBy||(void 0!==this.headerTitle?"ha-dialog-title":void 0))}" aria-describedby="${(0,l.J)(this.ariaDescribedBy)}" @keydown="${this._handleKeyDown}" @wa-hide="${this._handleHide}" @wa-show="${this._handleShow}" @wa-after-show="${this._handleAfterShow}" @wa-after-hide="${this._handleAfterHide}"> ${this.withoutHeader?r.s6:r.qy`<slot name="header"> <ha-dialog-header .subtitlePosition="${this.headerSubtitlePosition}" .showBorder="${this._bodyScrolled}"> <slot name="headerNavigationIcon" slot="navigationIcon"> <ha-icon-button data-dialog="close" .label="${this._i18n?.localize?.("ui.common.close")??"Close"}" .path="${f}"></ha-icon-button> </slot> ${void 0!==this.headerTitle?r.qy`<span slot="title" class="title" id="ha-dialog-title"> ${this.headerTitle} </span>`:r.qy`<slot name="headerTitle" slot="title"></slot>`} ${void 0!==this.headerSubtitle?r.qy`<span slot="subtitle">${this.headerSubtitle}</span>`:r.qy`<slot name="headerSubtitle" slot="subtitle"></slot>`} <slot name="headerActionItems" slot="actionItems"></slot> </ha-dialog-header> </slot>`} <div class="content-wrapper"> <div class="body ha-scrollbar" @scroll="${this._handleBodyScroll}"> <slot></slot> </div> ${this.renderScrollableFades()} </div> <slot name="footer" slot="footer"></slot> </wa-dialog> `}disconnectedCallback(){this.removeEventListener("dialog-set-fullscreen",this._handleFullscreenChanged),this._setFullscreen(!1),super.disconnectedCallback(),this._open=!1}_handleFullscreenChanged(e){this._open?(0,h.J)(()=>{this._setFullscreen(e.detail)}):this._setFullscreen(e.detail)}_setFullscreen(e){this.toggleAttribute("fullscreen",e)}_handleBodyScroll(e){this._bodyScrolled=e.target.scrollTop>0}_handleKeyDown(e){"Escape"===e.key&&(this._escapePressed=!0,this.preventScrimClose&&e.preventDefault(),e.stopPropagation(),e.currentTarget.open=!1)}_handleHide(e){const t=e.detail?.source===e.target.dialog;this.preventScrimClose&&this._escapePressed&&t&&e.preventDefault(),this._escapePressed=!1}static get styles(){return[...super.styles,u.dp,r.AH`wa-dialog{--full-width:var( --ha-dialog-width-full, min(95vw, var(--safe-width)) );--width:min(var(--ha-dialog-width-md, 580px), var(--full-width));--spacing:var(--dialog-content-padding, var(--ha-space-6));--show-duration:var(--ha-dialog-show-duration, 200ms);--hide-duration:var(--ha-dialog-hide-duration, 200ms);--wa-color-surface-raised:var( --ha-dialog-surface-background, var(--card-background-color, var(--ha-color-surface-default)) );--wa-panel-border-radius:var( --ha-dialog-border-radius, var(--ha-border-radius-3xl) );max-width:var(--ha-dialog-max-width,var(--safe-width))}@media (prefers-reduced-motion:reduce){wa-dialog{--show-duration:0ms;--hide-duration:0ms}}:host([width=small]) wa-dialog{--width:min(var(--ha-dialog-width-sm, 320px), var(--full-width))}:host([width=large]) wa-dialog{--width:min(var(--ha-dialog-width-lg, 1024px), var(--full-width))}:host([fullscreen]) wa-dialog,:host([width=full]) wa-dialog{--width:var(--full-width)}:host([fullscreen]) wa-dialog::part(dialog){min-height:var(--safe-height);max-height:var(--safe-height);margin-top:0;transform:none}:host([fullscreen]) .content-wrapper{overflow:hidden}:host([fullscreen]) .body{overflow:hidden;padding:0}wa-dialog::part(dialog){-webkit-backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);box-shadow:var(--dialog-box-shadow,var(--wa-shadow-l));color:var(--primary-text-color);min-width:var(--width,var(--full-width));max-width:var(--width,var(--full-width));max-height:var(--ha-dialog-max-height,calc(var(--safe-height) - var(--ha-space-20)));min-height:var(--ha-dialog-min-height);margin-top:var(--dialog-surface-margin-top,auto);transform:translate(calc(var(--safe-area-offset-left,0px) - var(--safe-area-offset-right,0px)),calc(var(--safe-area-offset-top,0px) - var(--safe-area-offset-bottom,0px)));display:flex;flex-direction:column;overflow:hidden}wa-dialog::part(dialog)::backdrop{-webkit-backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));background-color:var(--mdc-dialog-scrim-color,none)}@media all and (max-width:450px),all and (max-height:500px){:host([type=standard]){--ha-dialog-border-radius:0}:host([type=standard]) wa-dialog{--full-width:var(--ha-dialog-width-full, 100vw);--width:var(--full-width)}:host([type=standard]) wa-dialog::part(dialog){min-height:var(--ha-dialog-min-height,100vh);min-height:var(--ha-dialog-min-height,100dvh);max-height:var(--ha-dialog-max-height,100vh);max-height:var(--ha-dialog-max-height,100dvh);margin-top:0;margin-bottom:0;padding-top:var(--safe-area-inset-top);padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right);transform:none}}.header-title-container{display:flex;align-items:center}.header-title{margin:0;margin-bottom:0;color:var(--ha-dialog-header-title-color,var(--primary-text-color));font-size:var( --ha-dialog-header-title-font-size, var(--ha-font-size-2xl) );line-height:var( --ha-dialog-header-title-line-height, var(--ha-line-height-condensed) );font-weight:var(--ha-dialog-header-title-font-weight,var(--ha-font-weight-normal));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:var(--ha-space-3)}wa-dialog::part(body){padding:0;display:flex;flex-direction:column;max-width:100%;overflow:hidden}.content-wrapper{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.body{position:var(--dialog-content-position,relative);padding:var(--dialog-content-padding,0 var(--ha-space-6) var(--ha-space-6) var(--ha-space-6));overflow:auto;flex-grow:1}:host([flexcontent]) .body{max-width:100%;flex:1;display:flex;flex-direction:column}wa-dialog::part(footer){padding:0}::slotted([slot=footer]){display:flex;padding:var(--ha-space-3) var(--ha-space-4) var(--ha-space-4) var(--ha-space-4);gap:var(--ha-space-3);justify-content:flex-end;align-items:center;width:100%}`]}constructor(...e){super(...e),this.open=!1,this.type="standard",this.width="medium",this.preventScrimClose=!1,this.headerSubtitlePosition="below",this.flexContent=!1,this.withoutHeader=!1,this._open=!1,this._bodyScrolled=!1,this._escapePressed=!1,this._handleShow=async e=>{e.eventPhase===Event.AT_TARGET&&(this._open=!0,(0,d.r)(this,"opened"),await this.updateComplete,requestAnimationFrame(()=>{if(this._hassConfig?.auth.external&&(0,g.V)(this._hassConfig.auth.external)){const e=this.querySelector("[autofocus]");return void(null!==e&&(e.id||(e.id="ha-dialog-autofocus"),this._hassConfig.auth.external.fireMessage({type:"focus_element",payload:{element_id:e.id}})))}this.querySelector("[autofocus]")?.focus()}))},this._handleAfterShow=e=>{e.eventPhase===Event.AT_TARGET&&(0,d.r)(this,"after-show")},this._handleAfterHide=e=>{e.eventPhase===Event.AT_TARGET&&(this._open=!1,this._setFullscreen(!1),(0,d.r)(this,"closed"))}}}(0,a.Cg)([(0,n.MZ)({attribute:"aria-labelledby"})],b.prototype,"ariaLabelledBy",void 0),(0,a.Cg)([(0,n.MZ)({attribute:"aria-describedby"})],b.prototype,"ariaDescribedBy",void 0),(0,a.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],b.prototype,"open",void 0),(0,a.Cg)([(0,n.MZ)({reflect:!0})],b.prototype,"type",void 0),(0,a.Cg)([(0,n.MZ)({type:String,reflect:!0,attribute:"width"})],b.prototype,"width",void 0),(0,a.Cg)([(0,n.MZ)({type:Boolean,reflect:!0,attribute:"prevent-scrim-close"})],b.prototype,"preventScrimClose",void 0),(0,a.Cg)([(0,n.MZ)({attribute:"header-title"})],b.prototype,"headerTitle",void 0),(0,a.Cg)([(0,n.MZ)({attribute:"header-subtitle"})],b.prototype,"headerSubtitle",void 0),(0,a.Cg)([(0,n.MZ)({type:String,attribute:"header-subtitle-position"})],b.prototype,"headerSubtitlePosition",void 0),(0,a.Cg)([(0,n.MZ)({type:Boolean,reflect:!0,attribute:"flexcontent"})],b.prototype,"flexContent",void 0),(0,a.Cg)([(0,n.MZ)({type:Boolean,attribute:"without-header"})],b.prototype,"withoutHeader",void 0),(0,a.Cg)([(0,n.wk)()],b.prototype,"_open",void 0),(0,a.Cg)([(0,n.P)(".body")],b.prototype,"bodyContainer",void 0),(0,a.Cg)([(0,n.wk)(),(0,s.Fg)({context:c.D5,subscribe:!0})],b.prototype,"_i18n",void 0),(0,a.Cg)([(0,n.wk)(),(0,s.Fg)({context:c.WF,subscribe:!0})],b.prototype,"_hassConfig",void 0),(0,a.Cg)([(0,n.wk)()],b.prototype,"_bodyScrolled",void 0),(0,a.Cg)([(0,n.Ls)({passive:!0})],b.prototype,"_handleBodyScroll",null),b=(0,a.Cg)([(0,n.EM)("ha-dialog")],b),t()}catch(e){t(e)}})},43661(e,t,i){i.r(t),i.d(t,{HaIconNext:()=>n});var a=i(62826),o=i(22441),s=i(63091),r=i(67094);class n extends r.HaSvgIcon{constructor(...e){super(...e),this.path="rtl"===s.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,a.Cg)([(0,o.MZ)()],n.prototype,"path",void 0),n=(0,a.Cg)([(0,o.EM)("ha-icon-next")],n)},28170(e,t,i){i.d(t,{o:()=>l});var a=i(62826),o=i(5124),s=i(22441),r=i(1087),n=i(83892);class l extends n.x{connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role",this.defaultRole),(0,r.r)(this,"ha-list-item-register",{item:this})}disconnectedCallback(){super.disconnectedCallback(),(0,r.r)(this,"ha-list-item-unregister",{item:this})}activate(){this.click()}constructor(...e){super(...e),this.interactive=!1,this.defaultRole="listitem"}}l.styles=[n.x.styles,o.AH`:host{--ha-list-item-focus-radius:var(--ha-border-radius-sm);--ha-list-item-focus-width:2px;--ha-list-item-focus-width-start:var(--ha-space-2);--ha-list-item-focus-offset:-2px;--ha-list-item-focus-background:var(--ha-color-fill-neutral-quiet-hover)}:host(:focus){outline:0}.base{border-radius:var(--ha-list-item-focus-radius);outline:var(--ha-list-item-focus-width) solid transparent;outline-offset:var(--ha-list-item-focus-offset);transition:outline-color var(--ha-animation-duration-fast) ease-out,background-color var(--ha-animation-duration-fast) ease-out}@keyframes ha-list-item-focus-in{from{outline-width:var(--ha-list-item-focus-width-start);outline-offset:calc(-1 * var(--ha-list-item-focus-width-start))}to{outline-width:var(--ha-list-item-focus-width);outline-offset:var(--ha-list-item-focus-offset)}}:host(:focus-visible) .base{outline-color:var(--ha-color-focus);background-color:var(--ha-list-item-focus-background);animation:ha-list-item-focus-in var(--ha-animation-duration-normal) ease-in}`],(0,a.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],l.prototype,"interactive",void 0),l=(0,a.Cg)([(0,s.EM)("ha-list-item-base")],l)},1671(e,t,i){var a=i(62826),o=i(5124),s=i(22441),r=i(63672),n=(i(54276),i(28170));class l extends n.o{activate(){this._item?.click()}_renderBase(e){return void 0!==this.href?o.qy`<a part="base" class="base interactive" id="item" href="${(0,r.J)(this.disabled?void 0:this.href)}" target="${(0,r.J)(this.target)}" rel="${(0,r.J)(this.rel)}" download="${(0,r.J)(this.download)}" tabindex="-1" aria-disabled="${this.disabled?"true":"false"}"> ${this._renderRipple()}${e} </a>`:o.qy`<button part="base" class="base interactive" id="item" type="button" ?disabled="${this.disabled}" tabindex="-1"> ${this._renderRipple()}${e} </button>`}_renderRipple(){return o.qy`<ha-ripple part="ripple" for="item" ?disabled="${this.disabled}"></ha-ripple>`}constructor(...e){super(...e),this.interactive=!0}}l.styles=[n.o.styles,o.AH`:host{cursor:pointer;--ha-ripple-color:var(--primary-text-color)}:host([disabled]){cursor:default}.base.interactive{width:100%;border:none;background:0 0;color:inherit;font:inherit;text-align:inherit;text-decoration:none;appearance:none;cursor:inherit}:host([disabled]) .base.interactive{color:var(--disabled-text-color)}`],(0,a.Cg)([(0,s.MZ)({type:String})],l.prototype,"href",void 0),(0,a.Cg)([(0,s.MZ)({type:String})],l.prototype,"target",void 0),(0,a.Cg)([(0,s.MZ)({type:String})],l.prototype,"rel",void 0),(0,a.Cg)([(0,s.MZ)({type:String})],l.prototype,"download",void 0),(0,a.Cg)([(0,s.P)("#item")],l.prototype,"_item",void 0),l=(0,a.Cg)([(0,s.EM)("ha-list-item-button")],l)},83892(e,t,i){i.d(t,{x:()=>n});i(18111),i(13579);var a=i(62826),o=i(92070),s=i(5124),r=i(22441);class n extends s.WF{_onSlotChange(e){return t=>{const i=t.target.assignedNodes({flatten:!0}).some(e=>e.nodeType===Node.ELEMENT_NODE||e.nodeType===Node.TEXT_NODE&&""!==e.textContent?.trim());"start"===e?this._hasStart=i:this._hasEnd=i}}render(){return this._renderBase(this._renderInner())}_renderBase(e){return s.qy`<div part="base" class="base" id="item">${e}</div>`}_renderInner(){const e=this._slotController.test("content");return s.qy` <div part="start" class="start" ?hidden="${!this._hasStart}"> <slot name="start" @slotchange="${this._onSlotChange("start")}"></slot> </div> <div part="content" class="content"> ${e?s.qy`<slot name="content"></slot>`:this._renderDefaultContent()} </div> <div part="end" class="end" ?hidden="${!this._hasEnd}"> <slot name="end" @slotchange="${this._onSlotChange("end")}"></slot> </div> `}_renderDefaultContent(){const e=this._slotController.test("headline"),t=this._slotController.test("supporting-text"),i=e||void 0!==this.headline,a=t||void 0!==this.supportingText;return s.qy` ${i?s.qy`<div part="headline" class="headline"> <slot name="headline">${this.headline??s.s6}</slot> </div>`:s.s6} ${a?s.qy`<div part="supporting-text" class="supporting"> <slot name="supporting-text">${this.supportingText??s.s6}</slot> </div>`:s.s6} `}constructor(...e){super(...e),this.disabled=!1,this._slotController=new o.X(this,"headline","supporting-text","content"),this._hasStart=!1,this._hasEnd=!1}}n.styles=s.AH`:host{display:block;color:var(--primary-text-color);font-size:var(--ha-font-size-m);line-height:var(--ha-line-height-normal)}:host([disabled]){color:var(--disabled-text-color);pointer-events:none}.base{position:relative;display:flex;flex-direction:row;align-items:center;gap:var(--ha-row-item-gap,var(--ha-space-4));padding-block:var(--ha-row-item-padding-block,var(--ha-space-3));padding-inline:var(--ha-row-item-padding-inline,var(--ha-space-4));min-height:var(--ha-row-item-min-height,48px);box-sizing:border-box}.content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center}.end,.start{display:flex;align-items:center;flex:0 0 auto}.end[hidden],.start[hidden]{display:none}.headline{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supporting{color:var(--secondary-text-color);font-size:var(--ha-font-size-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`,(0,a.Cg)([(0,r.MZ)({type:String})],n.prototype,"headline",void 0),(0,a.Cg)([(0,r.MZ)({type:String,attribute:"supporting-text"})],n.prototype,"supportingText",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],n.prototype,"disabled",void 0),(0,a.Cg)([(0,r.wk)()],n.prototype,"_hasStart",void 0),(0,a.Cg)([(0,r.wk)()],n.prototype,"_hasEnd",void 0),n=(0,a.Cg)([(0,r.EM)("ha-row-item")],n)},50723(e,t,i){i.d(t,{N:()=>h});i(74423),i(18111),i(22489),i(7588);var a=i(62826),o=i(5124),s=i(22441),r=i(91335);i(44114);const n=e=>{const t=[];let i=e;for(;i;){t.push(i);const e=i.parentNode;if(e instanceof ShadowRoot)i=e.host;else if(e)i=e;else{const e=i.getRootNode();i=e instanceof ShadowRoot?e.host:null}}return t.reverse()},l=(e,t)=>{if(e===t)return 0;const i=n(e),a=n(t);let o=0;for(;o<i.length&&o<a.length&&i[o]===a[o];)o++;return 0===o?0:o===i.length?-1:o===a.length?1:i[o].compareDocumentPosition(a[o])&Node.DOCUMENT_POSITION_FOLLOWING?-1:1};var d=i(1087);class h extends o.WF{connectedCallback(){super.connectedCallback(),this.hasAttribute("ha-list")||this.setAttribute("ha-list",""),!this.hasAttribute("role")&&this.hostRole&&this.setAttribute("role",this.hostRole),this._unbindKeys=(0,r.Tc)(this,{ArrowDown:this._onForward,ArrowUp:this._onBack,Home:this._onHome,End:this._onEnd,Enter:this._onActivate,Space:this._onActivate}),this.addEventListener("focusin",this._onFocusIn),this.addEventListener("ha-list-item-register",this._onItemRegister),this.addEventListener("ha-list-item-unregister",this._onItemUnregister)}disconnectedCallback(){super.disconnectedCallback(),this._unbindKeys?.(),this._unbindKeys=void 0,this.removeEventListener("focusin",this._onFocusIn),this.removeEventListener("ha-list-item-register",this._onItemRegister),this.removeEventListener("ha-list-item-unregister",this._onItemUnregister)}focus(e){this.items.length?this.focusItemAtIndex(this._activeItemIndex>=0?this._activeItemIndex:0):super.focus(e)}focusItemAtIndex(e){e<0||this.setActiveItemIndex(e,!0)}getActiveItemIndex(){return this._activeItemIndex}setActiveItemIndex(e,t=!1){this._hasFocusableItem?(this._activeItemIndex=Math.max(0,Math.min(this.items.length-1,e)),this._isFocusable(this._activeItemIndex)||(this._activeItemIndex=this._firstFocusableIndex),this._applyActive(t)):this._activeItemIndex=-1}updateListItems(){this._recomputeFocusableIndexes(),(this._activeItemIndex>=this.items.length||!this._hasFocusableItem||this._activeItemIndex<0)&&(this._activeItemIndex=this._firstFocusableIndex),this._applyActive(!1)}_recomputeFocusableIndexes(){let e=-1,t=-1;for(let i=0;i<this.items.length;i++)this._isFocusable(i)&&(-1===e&&(e=i),t=i);this._firstFocusableIndex=e,this._lastFocusableIndex=t,this._hasFocusableItem=-1!==e}render(){return o.qy`<div part="base" class="base"> <slot></slot> </div>`}_isFocusable(e){const t=this.items[e];return!!t&&t.interactive&&!t.disabled}_applyActive(e){this.items.forEach((e,t)=>{e.interactive&&!e.disabled?e.tabIndex=t===this._activeItemIndex?0:-1:e.removeAttribute("tabindex")}),e&&this._activeItemIndex>=0&&this.items[this._activeItemIndex]?.focus()}_moveFocus(e,t){!this._hasFocusableItem||t<0||t===this._activeItemIndex||(e.preventDefault(),this._activeItemIndex=t,this._applyActive(!0))}_stepIndex(e,t){const i=this.items.length;if(!i||!this._hasFocusableItem)return e;let a=e;for(let o=0;o<i;o++){if(a+=t,a<0||a>=i){if(!this.wrapFocus)return e;a=(a+i)%i}if(this._isFocusable(a))return a}return e}constructor(...e){super(...e),this.wrapFocus=!1,this.ariaLabel=null,this.items=[],this.hostRole="list",this._activeItemIndex=-1,this._firstFocusableIndex=-1,this._lastFocusableIndex=-1,this._hasFocusableItem=!1,this._onItemRegister=e=>{e.stopPropagation();const t=e.detail.item;if(this.items.includes(t))return;const i=[...this.items,t];i.sort(l),this.items=i,this.updateListItems()},this._onItemUnregister=e=>{e.stopPropagation();const t=e.detail.item;this.items.includes(t)&&(this.items=this.items.filter(e=>e!==t),this.updateListItems())},this._onFocusIn=e=>{const t=e.composedPath();for(let e=0;e<this.items.length;e++)if(t.includes(this.items[e]))return void(e!==this._activeItemIndex&&(this._activeItemIndex=e,this._applyActive(!1)))},this._onForward=e=>{this._moveFocus(e,this._stepIndex(this._activeItemIndex,1))},this._onBack=e=>{this._moveFocus(e,this._stepIndex(this._activeItemIndex,-1))},this._onHome=e=>{this._moveFocus(e,this._firstFocusableIndex)},this._onEnd=e=>{this._moveFocus(e,this._lastFocusableIndex)},this._onActivate=e=>{if(!this._isFocusable(this._activeItemIndex))return;e.preventDefault();const t=this.items[this._activeItemIndex];t.activate(),(0,d.r)(this,"ha-list-activated",{index:this._activeItemIndex,item:t})}}}h.styles=o.AH`:host{display:block}.base{display:flex;flex-direction:column;gap:var(--ha-list-gap,0);padding:var(--ha-list-padding,0);margin:0;list-style:none}`,(0,a.Cg)([(0,s.MZ)({type:Boolean,attribute:"wrap-focus"})],h.prototype,"wrapFocus",void 0),(0,a.Cg)([(0,s.MZ)({type:String,attribute:"aria-label",reflect:!0})],h.prototype,"ariaLabel",void 0),h=(0,a.Cg)([(0,s.EM)("ha-list-base")],h)},25563(e,t,i){i.a(e,async function(e,a){try{i.r(t);i(18111),i(13579);var o=i(62826),s=i(5124),r=i(22441),n=i(22786),l=i(44537),d=i(1087),h=i(58594),c=i(6810),p=i(95311),u=i(14693),g=(i(76538),i(26300)),v=(i(43661),i(67094),i(50723),i(92288)),m=e([u,g,v]);[u,g,v]=m.then?(await m)():m;class f extends s.WF{showDialog(e){this._params=e,this._opened=!0}closeDialog(){return this._opened=!1,!0}_dialogClosed(){(0,d.r)(this,"dialog-closed",{dialog:this.localName}),this._params=void 0,this._entitySources=void 0,this._entitySourcesLoaded=!1}_hasIntegration(e){return e.target?.entity&&(0,l.e)(e.target.entity).some(e=>e.integration)||e.target?.device&&(0,l.e)(e.target.device).some(e=>e.integration)}updated(e){super.updated(e),e.has("_params")&&this._params?.selector&&this._hasIntegration(this._params.selector)&&!this._entitySourcesLoaded&&this._loadEntitySources()}async _loadEntitySources(){try{this._entitySources=await(0,c.c)(this.hass)}catch(e){console.error("Failed to load entity sources for target details",e)}finally{this._entitySourcesLoaded=!0}}_selectorTarget(){return this._params?.selector?.target||null}render(){if(!this._params)return s.s6;let e,t,i,a,o;this._params.selector?(e=this._filterDevices,t=this._filterEntities,o=this._params.selector.target?.primary_entities_only):(e=this._params.deviceFilter,t=this._params.entityFilter,i=this._params.includeDomains,a=this._params.includeDeviceClasses,o=this._params.primaryEntitiesOnly);const r=this._params.selector&&this._hasIntegration(this._params.selector)&&!this._entitySourcesLoaded;return s.qy` <ha-adaptive-dialog .open="${this._opened}" header-title="${this.hass.localize("ui.components.target-picker.target_details")}" @closed="${this._dialogClosed}"> <div class="type-wrapper"> <div class="type-label"> ${this.hass.localize(`ui.components.target-picker.type.${this._params.type}`)} </div> <ha-list-base .ariaLabel="${`${this.hass.localize(`ui.components.target-picker.type.${this._params.type}`)}: ${this._params.title}`}" wrap-focus> ${r?s.s6:s.qy` <ha-target-picker-item-row .hass="${this.hass}" .type="${this._params.type}" .itemId="${this._params.itemId}" .deviceFilter="${e}" .entityFilter="${t}" .includeDomains="${i}" .includeDeviceClasses="${a}" .primaryEntitiesOnly="${o}" expand></ha-target-picker-item-row> `} </ha-list-base> </div> </ha-adaptive-dialog> `}constructor(...e){super(...e),this._opened=!1,this._entitySourcesLoaded=!1,this._deviceIntegrationLookup=(0,n.A)(h.fk),this._filterEntities=e=>{const t=this._selectorTarget();return!t?.entity||(0,l.e)(t.entity).some(t=>(0,p.Ru)(t,e,this._entitySources))},this._filterDevices=e=>{const t=this._selectorTarget();if(!t?.device)return!0;const i=this._entitySources?this._deviceIntegrationLookup(this._entitySources,Object.values(this.hass.entities)):void 0;return(0,l.e)(t.device).some(t=>(0,p.vX)(t,e,i))}}}f.styles=s.AH`.type-wrapper{display:flex;flex-direction:column;border-radius:var(--ha-border-radius-xl);border:var(--ha-border-width-sm) solid var(--ha-color-border-neutral-normal);overflow:hidden}.type-label{background-color:var(--ha-color-surface-low);padding:var(--ha-space-1) var(--ha-space-3);font-weight:var(--ha-font-weight-bold);display:flex;align-items:center;height:20px}`,(0,o.Cg)([(0,r.MZ)({attribute:!1})],f.prototype,"hass",void 0),(0,o.Cg)([(0,r.wk)()],f.prototype,"_params",void 0),(0,o.Cg)([(0,r.wk)()],f.prototype,"_opened",void 0),(0,o.Cg)([(0,r.wk)()],f.prototype,"_entitySources",void 0),(0,o.Cg)([(0,r.wk)()],f.prototype,"_entitySourcesLoaded",void 0),f=(0,o.Cg)([(0,r.EM)("ha-dialog-target-details")],f),a()}catch(e){a(e)}})},6810(e,t,i){i.d(t,{c:()=>s});const a=async(e,t,i,o,s,...r)=>{const n=s,l=n[e],d=l=>o&&o(s,l.result)!==l.cacheKey?(n[e]=void 0,a(e,t,i,o,s,...r)):l.result;if(l)return l instanceof Promise?l.then(d):d(l);const h=i(s,...r);return n[e]=h,h.then(i=>{n[e]={result:i,cacheKey:o?.(s,i)},setTimeout(()=>{n[e]=void 0},t)},()=>{n[e]=void 0}),h},o=e=>e.callWS({type:"entity/source"}),s=e=>a("_entitySources",3e4,o,e=>Object.keys(e.states).length,e)},93900(e,t,i){i.a(e,async function(e,t){try{var a=i(5124),o=i(22441),s=i(6412),r=i(63672),n=i(17051),l=i(42462),d=i(28438),h=i(98779),c=i(27259),p=i(25877),u=i(31247),g=i(4444),v=i(92070),m=i(9395),f=i(717),b=i(17060),y=i(88496),w=i(91470),_=e([y,b]);[y,b]=_.then?(await _)():_;var x=Object.defineProperty,C=Object.getOwnPropertyDescriptor,I=(e,t,i,a)=>{for(var o,s=a>1?void 0:a?C(t,i):t,r=e.length-1;r>=0;r--)(o=e[r])&&(s=(a?o(t,i,s):o(s))||s);return a&&s&&x(t,i,s),s};let k=class extends f.A{firstUpdated(){this.open&&(this.addOpenListeners(),this.dialog.showModal(),(0,g.JG)(this))}disconnectedCallback(){super.disconnectedCallback(),(0,g.I7)(this),this.removeOpenListeners()}async requestClose(e){const t=new d.L({source:e});if(this.dispatchEvent(t),t.defaultPrevented)return this.open=!0,void(0,c.Ud)(this.dialog,"pulse");this.removeOpenListeners(),await(0,c.Ud)(this.dialog,"hide"),this.open=!1,this.dialog.close(),(0,g.I7)(this);const i=this.originalTrigger;"function"==typeof i?.focus&&setTimeout(()=>i.focus()),this.dispatchEvent(new n.Z)}addOpenListeners(){document.addEventListener("keydown",this.handleDocumentKeyDown),(0,p.AZ)(this)}removeOpenListeners(){document.removeEventListener("keydown",this.handleDocumentKeyDown),(0,p.Fw)(this)}handleDialogCancel(e){e.preventDefault(),!this.dialog.classList.contains("hide")&&e.target===this.dialog&&(0,p.a0)(this)&&this.requestClose(this.dialog)}handleDialogClick(e){const t=e.target.closest('[data-dialog="close"]');t&&(e.stopPropagation(),this.requestClose(t))}async handleDialogPointerDown(e){e.target===this.dialog&&(this.lightDismiss?this.requestClose(this.dialog):await(0,c.Ud)(this.dialog,"pulse"))}handleOpenChange(){this.open&&!this.dialog.open?this.show():!this.open&&this.dialog.open&&(this.open=!0,this.requestClose(this.dialog))}async show(){const e=new h.k;this.dispatchEvent(e),e.defaultPrevented?this.open=!1:(this.addOpenListeners(),this.originalTrigger=document.activeElement,this.open=!0,this.dialog.showModal(),(0,g.JG)(this),requestAnimationFrame(()=>{const e=this.querySelector("[autofocus]");e&&"function"==typeof e.focus?e.focus():this.dialog.focus()}),await(0,c.Ud)(this.dialog,"show"),this.dispatchEvent(new l.q))}render(){const e=!this.withoutHeader,t=this.hasUpdated?this.hasSlotController.test("footer"):this.withFooter;return a.qy` <dialog aria-labelledby="${this.ariaLabelledby??"title"}" aria-describedby="${(0,r.J)(this.ariaDescribedby)}" part="dialog" class="${(0,s.H)({dialog:!0,open:this.open})}" @cancel="${this.handleDialogCancel}" @click="${this.handleDialogClick}" @pointerdown="${this.handleDialogPointerDown}"> ${e?a.qy` <header part="header" class="header"> <h2 part="title" class="title" id="title"> <slot name="label"> ${this.label.length>0?this.label:String.fromCharCode(8203)} </slot> </h2> <div part="header-actions" class="header-actions"> <slot name="header-actions"></slot> <wa-button part="close-button" exportparts="base:close-button__base" class="close" appearance="plain" @click="${e=>this.requestClose(e.target)}"> <wa-icon name="xmark" label="${this.localize.term("close")}" library="system" variant="solid"></wa-icon> </wa-button> </div> </header> `:""} <div part="body" class="body"><slot></slot></div> ${t?a.qy` <footer part="footer" class="footer"> <slot name="footer"></slot> </footer> `:""} </dialog> `}constructor(){super(...arguments),this.localize=new b.c(this),this.hasSlotController=new v.X(this,"footer","header-actions","label"),this.open=!1,this.label="",this.withoutHeader=!1,this.lightDismiss=!1,this.withFooter=!1,this.handleDocumentKeyDown=e=>{"Escape"===e.key&&this.open&&(0,p.a0)(this)&&(e.preventDefault(),e.stopPropagation(),this.requestClose(this.dialog))}}};k.css=w.A,I([(0,o.P)(".dialog")],k.prototype,"dialog",2),I([(0,o.MZ)({type:Boolean,reflect:!0})],k.prototype,"open",2),I([(0,o.MZ)({reflect:!0})],k.prototype,"label",2),I([(0,o.MZ)({attribute:"without-header",type:Boolean,reflect:!0})],k.prototype,"withoutHeader",2),I([(0,o.MZ)({attribute:"light-dismiss",type:Boolean})],k.prototype,"lightDismiss",2),I([(0,o.MZ)({attribute:"aria-labelledby"})],k.prototype,"ariaLabelledby",2),I([(0,o.MZ)({attribute:"aria-describedby"})],k.prototype,"ariaDescribedby",2),I([(0,o.MZ)({attribute:"with-footer",type:Boolean})],k.prototype,"withFooter",2),I([(0,m.w)("open",{waitUntilFirstUpdate:!0})],k.prototype,"handleOpenChange",1),k=I([(0,o.EM)("wa-dialog")],k),a.S$||(document.addEventListener("click",e=>{const t=e.target.closest("[data-dialog]");if(t instanceof Element){const[e,i]=(0,u.v)(t.getAttribute("data-dialog")||"");if("open"===e&&i?.length){const e=t.getRootNode().getElementById(i);"wa-dialog"===e?.localName?e.open=!0:console.warn(`A dialog with an ID of "${i}" could not be found in this document.`)}}}),document.addEventListener("pointerdown",()=>{})),t()}catch(e){t(e)}})},91470(e,t,i){i.d(t,{A:()=>a});var a=i(5124).AH`:host{--width:31rem;--spacing:var(--wa-space-l);--backdrop-filter:none;--show-duration:200ms;--hide-duration:200ms;display:none}:host([open]){display:block}.dialog{display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;width:var(--width);max-width:calc(100% - var(--wa-space-2xl));max-height:calc(100% - var(--wa-space-2xl));color:inherit;background-color:var(--wa-color-surface-raised);border-radius:var(--wa-panel-border-radius);border:none;box-shadow:var(--wa-shadow-l);padding:0;margin:auto}.dialog.show{animation:show-dialog var(--show-duration) ease}.dialog.show::backdrop{animation:show-backdrop var(--show-duration,200ms) ease}.dialog.hide{animation:show-dialog var(--hide-duration) ease reverse}.dialog.hide::backdrop{animation:show-backdrop var(--hide-duration,200ms) ease reverse}.dialog.pulse{animation:pulse 250ms ease}.dialog:focus{outline:0}@media screen and (max-width:420px){.dialog{max-height:80vh}}.open{display:flex;opacity:1}.header{flex:0 0 auto;display:flex;flex-wrap:nowrap;padding-inline-start:var(--spacing);padding-block-end:0;padding-inline-end:calc(var(--spacing) - var(--wa-form-control-padding-block));padding-block-start:calc(var(--spacing) - var(--wa-form-control-padding-block))}.title{align-self:center;flex:1 1 auto;font-family:inherit;font-size:var(--wa-font-size-l);font-weight:var(--wa-font-weight-heading);line-height:var(--wa-line-height-condensed);margin:0}.header-actions{align-self:start;display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:end;gap:var(--wa-space-2xs);padding-inline-start:var(--spacing)}.header-actions ::slotted(wa-button),.header-actions wa-button{flex:0 0 auto;display:flex;align-items:center}.body{flex:1 1 auto;display:block;padding:var(--spacing);overflow:auto;-webkit-overflow-scrolling:touch}.body:focus{outline:0}.body:focus-visible{outline:var(--wa-focus-ring);outline-offset:var(--wa-focus-ring-offset)}.footer{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:var(--wa-space-xs);justify-content:end;padding:var(--spacing);padding-block-start:0}.footer ::slotted(wa-button:not(:first-of-type)){margin-inline-start:var(--wa-spacing-xs)}.dialog::backdrop{background-color:var(--wa-color-overlay-modal,rgb(0 0 0 / .25));-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}@keyframes pulse{0%{scale:1}50%{scale:1.02}100%{scale:1}}@keyframes show-dialog{from{opacity:0;scale:0.8}to{opacity:1;scale:1}}@keyframes show-backdrop{from{opacity:0}to{opacity:1}}@media (forced-colors:active){.dialog{border:solid 1px #fff}}`}};