iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
72 lines • 93.8 kB
JavaScript
export const __rspack_esm_id=43497;export const __rspack_esm_ids=[43497];export const __webpack_modules__={63708(t,e,a){a.d(e,{fW:()=>s});a(18111),a(13579);var i=a(44537),o=a(36312);const s=(t,e)=>(l(e)||r(t,e))&&n(t,e),r=(t,e)=>!e.component||(0,i.e)(e.component).some(e=>(0,o.x)(t.config,e)),n=(t,e)=>!e.not_component||!(0,i.e)(e.not_component).some(e=>(0,o.x)(t.config,e)),l=t=>t.core},93421(t,e,a){a.d(e,{IW:()=>h,dH:()=>c,fI:()=>l});a(44114);var i=a(35211),o=a(22792),s=a(32172);const r=(t,e)=>{let a=t;for(const t of e){if(null==a)return;a=a[t]}return a},n=(t,e,a)=>{const o=(0,s.p)({transformer:function(t){return a.call(this,t)},watch:e?[e]:[]}),r=(0,i.Fg)({context:t,subscribe:!0});return(t,e)=>{o(t,e),r(t,e)}},l=t=>n(o.iN,t.entityIdPath[0],function(e){const a=r(this,t.entityIdPath);return"string"==typeof a?e?.[a]:void 0}),c=t=>n(o.X1,t.entityIdPath[0],function(e){const a=r(this,t.entityIdPath);return"string"==typeof a?e?.[a]:void 0}),h=()=>n(o.D5,void 0,({localize:t})=>t)},26218(t,e,a){a.d(e,{a:()=>o});const i=(0,a(77796).n)(t=>{history.replaceState({scrollPosition:t},"")},300);function o(t){return(e,a)=>{if("object"==typeof a)throw new Error("This decorator does not support this compilation type.");const o=e.connectedCallback;e.connectedCallback=function(){o.call(this);const e=this[a];e&&this.updateComplete.then(()=>{const a=this.renderRoot.querySelector(t);a&&setTimeout(()=>{a.scrollTop=e},0)})};const s=Object.getOwnPropertyDescriptor(e,a);let r;if(void 0===s)r={get(){return this[`__${String(a)}`]||history.state?.scrollPosition},set(t){i(t),this[`__${String(a)}`]=t},configurable:!0,enumerable:!0};else{const t=s.set;r={...s,set(e){i(e),this[`__${String(a)}`]=e,t?.call(this,e)}}}Object.defineProperty(e,a,r)}}},32172(t,e,a){a.d(e,{p:()=>i});a(18111),a(7588),a(45367),a(92731),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);function i(t){return(e,a)=>{if("object"==typeof a)throw new Error("This decorator does not support this compilation type.");const i=String(a),o=e;if(o._transformers){if(!o.hasOwnProperty("_transformers")){const t=o._transformers;o._transformers=new Map,t.forEach((t,e)=>o._transformers.set(e,t))}}else{o._transformers=new Map,o._watching=new Map;const t=o.willUpdate;o.willUpdate=function(e){t.call(this,e);const a=new Set;e.forEach((t,e)=>{const i=this._watching.get(e);void 0!==i&&i.forEach(t=>a.add(t))}),a.forEach(t=>{this[t]=this[`__original_${String(t)}`]})}}o._transformers.set(a,t.transformer),t.watch&&t.watch.forEach(t=>{let e=o._watching.get(t);e||(e=new Set,o._watching.set(t,e)),e.add(a)});const s=Object.getOwnPropertyDescriptor(e,a);let r;if(void 0===s)r={get(){return this[`__transform_${i}`]},set(t){const e=this[`__transform_${i}`],a=this._transformers.get(i);this[`__transform_${i}`]=a?a.call(this,t):t,this[`__original_${i}`]=t,this.requestUpdate(i,e)},configurable:!0,enumerable:!0};else{const t=s.set;r={...s,set(e){const a=this[`__transform_${i}`],o=this._transformers.get(i);this[`__transform_${i}`]=o?o.call(this,e):e,this[`__original_${i}`]=e,this.requestUpdate(i,a),t?.call(this,e)}}}Object.defineProperty(e,a,r)}}},76830(t,e,a){a.d(e,{d:()=>i});a(18111),a(20116);const i=(t,e=!0)=>{if(t.defaultPrevented||0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey)return;const a=t.composedPath().find(t=>"A"===t.tagName);if(!a||a.target||a.hasAttribute("download")||"external"===a.getAttribute("rel"))return;let i=a.href;if(!i||-1!==i.indexOf("mailto:"))return;const o=window.location,s=o.origin||o.protocol+"//"+o.host;return i.startsWith(s)&&(i=i.slice(s.length),"#"!==i)?(e&&t.preventDefault(),i):void 0}},57237(t,e,a){a.d(e,{d:()=>i});const i=t=>t.stopPropagation()},84446(t,e,a){a.d(e,{p:()=>s,z:()=>o});a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var i=a(71727);const o=t=>t.include_domains.length+t.include_entities.length+t.exclude_domains.length+t.exclude_entities.length===0,s=(t,e,a,o)=>{const s=new Set(t),r=new Set(e),n=new Set(a),l=new Set(o),c=s.size>0||r.size>0,h=n.size>0||l.size>0;return c||h?c&&!h?t=>r.has(t)||s.has((0,i.m)(t)):!c&&h?t=>!l.has(t)&&!n.has((0,i.m)(t)):s.size?t=>s.has((0,i.m)(t))?!l.has(t):r.has(t):n.size?t=>n.has((0,i.m)(t))?r.has(t):!l.has(t):t=>r.has(t):()=>!0}},86198(t,e,a){a.a(t,async function(t,i){try{a.d(e,{T:()=>n});var o=a(74487),s=a(22786),r=t([o]);o=(r.then?(await r)():r)[0];const n=(t,e)=>{try{return l(e)?.of(t)??t}catch{return t}},l=(0,s.A)(t=>new Intl.DisplayNames(t.language,{type:"language",fallback:"code"}));i()}catch(t){i(t)}})},77796(t,e,a){a.d(e,{n:()=>i});const i=(t,e,a=!0,i=!0)=>{let o,s=0;const r=(...r)=>{const n=()=>{s=!1===a?0:Date.now(),o=void 0,t(...r)},l=Date.now();s||!1!==a||(s=l);const c=e-(l-s);c<=0||c>e?(o&&(clearTimeout(o),o=void 0),s=l,t(...r)):o||!1===i||(o=window.setTimeout(n,c))};return r.cancel=()=>{clearTimeout(o),o=void 0,s=0},r}},38962(t,e,a){a.a(t,async function(t,i){try{a.r(e);var o=a(62826),s=a(5124),r=a(22441),n=a(6412),l=a(93421),c=a(1087),h=a(26300),d=(a(67094),t([h]));h=(d.then?(await d)():d)[0];const p="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",u={info:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z",warning:"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16",error:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",success:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2,4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"};class g extends s.WF{render(){return s.qy` <div class="issue-type ${(0,n.H)({[this.alertType]:!0})}" role="alert"> <div class="icon ${this.title?"":"no-title"}"> <slot name="icon"> <ha-svg-icon .path="${u[this.alertType]}"></ha-svg-icon> </slot> </div> <div class="${(0,n.H)({content:!0,narrow:this.narrow})}"> <div class="main-content"> ${this.title?s.qy`<div class="title">${this.title}</div>`:s.s6} <slot></slot> </div> <div class="action"> <slot name="action"> ${this.dismissable?s.qy`<ha-icon-button @click="${this._dismissClicked}" .label="${this._localize?.("ui.common.dismiss_alert")}" .path="${p}"></ha-icon-button>`:s.s6} </slot> </div> </div> </div> `}_dismissClicked(){(0,c.r)(this,"alert-dismissed-clicked")}constructor(...t){super(...t),this.title="",this.alertType="info",this.dismissable=!1,this.narrow=!1}}g.styles=s.AH`.issue-type{position:relative;padding:8px;display:flex}.icon{height:var(--ha-alert-icon-size,24px);width:var(--ha-alert-icon-size,24px)}.issue-type::after{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;content:"";border-radius:var(--ha-border-radius-sm)}.icon.no-title{align-self:center}.content{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:var(--float-start)}.content.narrow{flex-direction:column;align-items:flex-end}.action{z-index:1;width:min-content;--mdc-theme-primary:var(--primary-text-color)}.main-content{overflow-wrap:anywhere;word-break:break-word;line-height:normal;margin-left:8px;margin-right:0;margin-inline-start:8px;margin-inline-end:8px}.title{margin-top:2px;font-weight:var(--ha-font-weight-bold)}.action ha-icon-button{--mdc-theme-primary:var(--primary-text-color);--ha-icon-button-size:36px}.issue-type.info>.icon{color:var(--info-color)}.issue-type.info::after{background-color:var(--info-color)}.issue-type.warning>.icon{color:var(--warning-color)}.issue-type.warning::after{background-color:var(--warning-color)}.issue-type.error>.icon{color:var(--error-color)}.issue-type.error::after{background-color:var(--error-color)}.issue-type.success>.icon{color:var(--success-color)}.issue-type.success::after{background-color:var(--success-color)}:host ::slotted(ul){margin:0;padding-inline-start:20px}`,(0,o.Cg)([(0,r.MZ)()],g.prototype,"title",void 0),(0,o.Cg)([(0,r.MZ)({attribute:"alert-type"})],g.prototype,"alertType",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],g.prototype,"dismissable",void 0),(0,o.Cg)([(0,r.wk)(),(0,l.IW)()],g.prototype,"_localize",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],g.prototype,"narrow",void 0),g=(0,o.Cg)([(0,r.EM)("ha-alert")],g),i()}catch(t){i(t)}})},76776(t,e,a){var i=a(62826),o=a(5124),s=a(22441);class r extends o.WF{render(){return o.qy` ${this.header?o.qy`<h1 class="card-header">${this.header}</h1>`:o.s6} <slot></slot> `}constructor(...t){super(...t),this.raised=!1}}r.styles=o.AH`:host{background:var(--ha-card-background,var(--card-background-color,#fff));-webkit-backdrop-filter:var(--ha-card-backdrop-filter,none);backdrop-filter:var(--ha-card-backdrop-filter,none);box-shadow:var(--ha-card-box-shadow,none);box-sizing:border-box;border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg));border-width:var(--ha-card-border-width,1px);border-style:solid;border-color:var(--ha-card-border-color,var(--divider-color,#e0e0e0));color:var(--primary-text-color);display:block;transition:all .3s ease-out;position:relative}:host([raised]){border:none;box-shadow:var(--ha-card-box-shadow,0px 2px 1px -1px rgba(0,0,0,.2),0px 1px 1px 0px rgba(0,0,0,.14),0px 1px 3px 0px rgba(0,0,0,.12))}.card-header,:host ::slotted(.card-header){color:var(--ha-card-header-color,var(--primary-text-color));font-family:var(--ha-card-header-font-family, inherit);font-size:var(--ha-card-header-font-size, var(--ha-font-size-2xl));letter-spacing:-.012em;line-height:var(--ha-line-height-expanded);padding:var(--ha-space-3) var(--ha-space-4) var(--ha-space-4);display:block;margin-block-start:0;margin-block-end:0;font-weight:var(--ha-font-weight-normal)}
:host
::slotted(
.card-content:not(:nth-child(1 of .card-content, .card-header))
),
slot:not(:first-child)::slotted(.card-content) {
padding-top: 0;
margin-top: calc(var(--ha-space-2) * -1);
}
:host ::slotted(.card-content){padding:var(--ha-space-4)}:host ::slotted(.card-actions){border-top:1px solid var(--divider-color,#e8e8e8);padding:var(--ha-space-2)}`,(0,i.Cg)([(0,s.MZ)()],r.prototype,"header",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],r.prototype,"raised",void 0),r=(0,i.Cg)([(0,s.EM)("ha-card")],r)},70947(t,e,a){var i=a(62826),o=a(50759),s=(a(38625),a(5124)),r=a(22441);a(67094);class n extends o.A{renderCheckboxIcon(){return s.qy` <ha-svg-icon id="check" part="checkmark" .path="${this.checked?"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z":"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z"}"></ha-svg-icon> `}static get styles(){return[o.A.styles,s.AH`:host{min-height:var(--ha-space-10)}#check{visibility:visible;flex-shrink:0}#icon ::slotted(*){color:var(--ha-color-on-neutral-normal)}:host([variant=danger]) #icon ::slotted(*){color:var(--ha-color-on-danger-quiet)}:host([selected]){font-weight:var(--ha-font-weight-medium);color:var(--primary-color);background-color:var(--ha-color-fill-primary-quiet-resting);--icon-primary-color:var(--primary-color)}:host([selected]:hover){background-color:var(--ha-color-fill-primary-quiet-hover)}`]}constructor(...t){super(...t),this.selected=!1}}(0,i.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],n.prototype,"selected",void 0),n=(0,i.Cg)([(0,r.EM)("ha-dropdown-item")],n)},29823(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(52254),s=a(5124),r=a(22441),n=t([o]);o=(n.then?(await n)():n)[0];class l extends o.A{get anchorElement(){return this.popup?.anchor}set anchorElement(t){this.popup&&(this.popup.anchor&&"ha-icon-button"===this.popup.anchor.localName&&(this.popup.anchor.selected=!1),this.popup.anchor=t)}getTrigger(){return this.anchorElement?this.anchorElement:super.getTrigger()}async showMenu(){await super.showMenu();const t=this.getTrigger();t&&"ha-icon-button"===t.localName&&(t.selected=!0)}async hideMenu(){const t=this.getTrigger();t&&"ha-icon-button"===t.localName&&(t.selected=!1),await super.hideMenu()}static get styles(){return[o.A.styles,s.AH`:host{font-size:var(--ha-dropdown-font-size, var(--ha-font-size-m));--wa-color-surface-raised:var(
--card-background-color,
var(--ha-dialog-surface-background, var(--mdc-theme-surface, #fff)),
)}#menu{padding:var(--ha-space-1)}wa-popup::part(popup){z-index:200}`]}constructor(...t){super(...t),this.dropdownTag="ha-dropdown",this.dropdownItemTag="ha-dropdown-item"}}(0,i.Cg)([(0,r.MZ)({attribute:!1})],l.prototype,"dropdownTag",void 0),(0,i.Cg)([(0,r.MZ)({attribute:!1})],l.prototype,"dropdownItemTag",void 0),l=(0,i.Cg)([(0,r.EM)("ha-dropdown")],l),e()}catch(t){e(t)}})},90248(t,e,a){a.a(t,async function(t,i){try{a.r(e),a.d(e,{HaIconButtonArrowPrev:()=>p});var o=a(62826),s=a(5124),r=a(22441),n=a(63091),l=a(26300),c=t([l]);l=(c.then?(await c)():c)[0];const h="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z";class p extends s.WF{render(){return s.qy` <ha-icon-button .disabled="${this.disabled}" .label="${this.label||this.hass?.localize("ui.common.back")||"Back"}" .path="${this._icon}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"></ha-icon-button> `}constructor(...t){super(...t),this.disabled=!1,this._icon="rtl"===n.G.document.dir?d:h}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],p.prototype,"disabled",void 0),(0,o.Cg)([(0,r.MZ)()],p.prototype,"label",void 0),(0,o.Cg)([(0,r.MZ)()],p.prototype,"href",void 0),(0,o.Cg)([(0,r.MZ)()],p.prototype,"target",void 0),(0,o.Cg)([(0,r.MZ)()],p.prototype,"rel",void 0),(0,o.Cg)([(0,r.MZ)()],p.prototype,"download",void 0),(0,o.Cg)([(0,r.wk)()],p.prototype,"_icon",void 0),p=(0,o.Cg)([(0,r.EM)("ha-icon-button-arrow-prev")],p),i()}catch(t){i(t)}})},26300(t,e,a){a.a(t,async function(t,i){try{a.r(e),a.d(e,{HaIconButton:()=>h});var o=a(62826),s=a(5124),r=a(22441),n=a(63672),l=a(18350),c=(a(67094),t([l]));l=(c.then?(await c)():c)[0];class h extends s.WF{render(){return s.qy` <ha-button appearance="plain" variant="neutral" aria-label="${(0,n.J)(this.label)}" title="${(0,n.J)(this.hideTitle?void 0:this.label)}" aria-haspopup="${(0,n.J)(this.ariaHasPopup)}" .disabled="${this.disabled}" .iconTag="${this.path?"ha-svg-icon":"span"}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"> ${this.path?s.qy`<ha-svg-icon aria-hidden="true" .path="${this.path}"></ha-svg-icon>`:s.qy`<span><slot></slot></span>`} </ha-button> `}constructor(...t){super(...t),this.disabled=!1,this.hideTitle=!1,this.selected=!1}}h.shadowRootOptions={mode:"open",delegatesFocus:!0},h.styles=s.AH`:host{display:inline-block;outline:0;--ha-button-height:var(--ha-icon-button-size, 48px)}ha-button{position:relative;isolation:isolate;--wa-form-control-padding-inline:var(
--ha-icon-button-padding-inline,
--ha-space-2
);--wa-color-on-normal:currentColor;--wa-color-fill-quiet:transparent;--ha-button-label-overflow:visible}ha-button::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background-color:currentColor;opacity:0;pointer-events:none}ha-button::part(base){width:var(--wa-form-control-height);aspect-ratio:1;outline-offset:-4px}ha-button::part(label){display:flex}:host([selected]) ha-button::after{opacity:.1}@media (hover:hover){:host(:hover:not([disabled])) ha-button::after{opacity:.1}}`,(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],h.prototype,"disabled",void 0),(0,o.Cg)([(0,r.MZ)({type:String})],h.prototype,"path",void 0),(0,o.Cg)([(0,r.MZ)({type:String})],h.prototype,"label",void 0),(0,o.Cg)([(0,r.MZ)({type:String,attribute:"aria-haspopup"})],h.prototype,"ariaHasPopup",void 0),(0,o.Cg)([(0,r.MZ)({attribute:"hide-title",type:Boolean})],h.prototype,"hideTitle",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],h.prototype,"selected",void 0),(0,o.Cg)([(0,r.MZ)()],h.prototype,"href",void 0),(0,o.Cg)([(0,r.MZ)()],h.prototype,"target",void 0),(0,o.Cg)([(0,r.MZ)()],h.prototype,"rel",void 0),(0,o.Cg)([(0,r.MZ)()],h.prototype,"download",void 0),h=(0,o.Cg)([(0,r.EM)("ha-icon-button")],h),i()}catch(t){i(t)}})},28732(t,e,a){var i=a(62826),o=a(27686),s=a(7731),r=a(5124),n=a(22441);class l extends o.J{renderRipple(){return this.noninteractive?"":super.renderRipple()}static get styles(){return[s.R,r.AH`:host{padding-left:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-inline-start:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-right:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px));padding-inline-end:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px))}:host([graphic=avatar]:not([twoLine])),:host([graphic=icon]:not([twoLine])){height:48px}span.material-icons:first-of-type{margin-inline-start:0px!important;margin-inline-end:var(--mdc-list-item-graphic-margin,16px)!important;direction:var(--direction)!important}span.material-icons:last-of-type{margin-inline-start:auto!important;margin-inline-end:0px!important;direction:var(--direction)!important}.mdc-deprecated-list-item__meta{display:var(--mdc-list-item-meta-display);align-items:center;flex-shrink:0}:host([graphic=icon]:not([twoline])) .mdc-deprecated-list-item__graphic{margin-inline-end:var(--mdc-list-item-graphic-margin,20px)!important}:host([multiline-secondary]){height:auto}:host([multiline-secondary]) .mdc-deprecated-list-item__text{padding:8px 0}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text{text-overflow:initial;white-space:normal;overflow:auto;display:inline-block;margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text{margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text::before{display:none}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text::before{display:none}:host([disabled]){color:var(--disabled-text-color)}:host([noninteractive]){pointer-events:unset}`,"rtl"===document.dir?r.AH`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`:r.AH``]}}l=(0,i.Cg)([(0,n.EM)("ha-list-item")],l)},8630(t,e,a){var i=a(62826),o=a(68618),s=a(11081),r=a(22441);class n extends o.iY{}n.styles=s.R,n=(0,i.Cg)([(0,r.EM)("ha-list")],n)},2846(t,e,a){a.d(e,{G:()=>c,J:()=>l});var i=a(62826),o=a(58168),s=a(82553),r=a(5124),n=a(22441);a(54276);const l=[s.R,r.AH`: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 c extends o.n{renderRipple(){return"text"===this.type?r.s6:r.qy`<ha-ripple part="ripple" for="item" ?disabled="${this.disabled&&"link"!==this.type}"></ha-ripple>`}}c.styles=l,c=(0,i.Cg)([(0,n.EM)("ha-md-list-item")],c)},2054(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(5124),s=a(22441),r=a(1087),n=a(44249),l=a(26300),c=t([l]);l=(c.then?(await c)():c)[0];const h="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z";class d extends o.WF{connectedCallback(){super.connectedCallback(),this._attachNotifOnConnect&&(this._attachNotifOnConnect=!1,this._subscribeNotifications())}disconnectedCallback(){super.disconnectedCallback(),this._unsubNotifications&&(this._attachNotifOnConnect=!0,this._unsubNotifications(),this._unsubNotifications=void 0)}render(){if(!this._show)return o.s6;const t=this._hasNotifications&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);return o.qy` <ha-icon-button .label="${this.hass.localize("ui.sidebar.sidebar_toggle")}" .path="${h}" @click="${this._toggleMenu}"></ha-icon-button> ${t?o.qy`<div class="dot"></div>`:""} `}willUpdate(t){if(super.willUpdate(t),!t.has("narrow")&&!t.has("hass"))return;const e=t.has("hass")?t.get("hass"):this.hass,a=t.has("narrow")?t.get("narrow"):this.narrow,i=!1===e?.kioskMode&&(a||"always_hidden"===e?.dockedSidebar),o=!1===this.hass.kioskMode&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);this.hasUpdated&&i===o||(this._show=o||this._alwaysVisible,o?this._subscribeNotifications():this._unsubNotifications&&(this._unsubNotifications(),this._unsubNotifications=void 0))}_subscribeNotifications(){if(this._unsubNotifications)throw new Error("Already subscribed");this._unsubNotifications=(0,n.V)(this.hass.connection,t=>{this._hasNotifications=t.length>0})}_toggleMenu(){(0,r.r)(this,"hass-toggle-menu")}constructor(...t){super(...t),this.narrow=!1,this._hasNotifications=!1,this._show=!1,this._alwaysVisible=!1,this._attachNotifOnConnect=!1}}d.styles=o.AH`:host{position:relative}.dot{pointer-events:none;position:absolute;background-color:var(--accent-color);width:12px;height:12px;top:9px;right:7px;inset-inline-end:7px;inset-inline-start:initial;border-radius:var(--ha-border-radius-circle);border:2px solid var(--app-header-background-color)}`,(0,i.Cg)([(0,s.MZ)({type:Boolean})],d.prototype,"narrow",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],d.prototype,"hass",void 0),(0,i.Cg)([(0,s.wk)()],d.prototype,"_hasNotifications",void 0),(0,i.Cg)([(0,s.wk)()],d.prototype,"_show",void 0),d=(0,i.Cg)([(0,s.EM)("ha-menu-button")],d),e()}catch(t){e(t)}})},54276(t,e,a){var i=a(62826),o=a(76482),s=a(91382),r=a(96245),n=a(5124),l=a(22441);class c extends s.n{attach(t){super.attach(t),this.attachableTouchController.attach(t)}disconnectedCallback(){super.disconnectedCallback(),this.hovered=!1,this.pressed=!1}detach(){super.detach(),this.attachableTouchController.detach()}_onTouchControlChange(t,e){t?.removeEventListener("touchend",this._handleTouchEnd),e?.addEventListener("touchend",this._handleTouchEnd)}constructor(...t){super(...t),this.attachableTouchController=new o.i(this,this._onTouchControlChange.bind(this)),this._handleTouchEnd=()=>{this.disabled||super.endPressAnimation()}}}c.styles=[r.R,n.AH`:host{--md-ripple-hover-opacity:var(--ha-ripple-hover-opacity, 0.08);--md-ripple-pressed-opacity:var(--ha-ripple-pressed-opacity, 0.12);--md-ripple-hover-color:var(
--ha-ripple-hover-color,
var(--ha-ripple-color, var(--secondary-text-color))
);--md-ripple-pressed-color:var(
--ha-ripple-pressed-color,
var(--ha-ripple-color, var(--secondary-text-color))
)}`],c=(0,i.Cg)([(0,l.EM)("ha-ripple")],c)},65829(t,e,a){a.a(t,async function(t,i){try{a.r(e),a.d(e,{HaSpinner:()=>c});var o=a(62826),s=a(55262),r=a(5124),n=a(22441),l=t([s]);s=(l.then?(await l)():l)[0];class c extends s.A{updated(t){if(super.updated(t),t.has("size"))switch(this.size){case"tiny":this.style.setProperty("--ha-spinner-size","16px");break;case"small":this.style.setProperty("--ha-spinner-size","28px");break;case"medium":this.style.setProperty("--ha-spinner-size","48px");break;case"large":this.style.setProperty("--ha-spinner-size","68px");break;case void 0:this.style.removeProperty("--ha-progress-ring-size")}}static get styles(){return[s.A.styles,r.AH`:host{--indicator-color:var(
--ha-spinner-indicator-color,
var(--primary-color)
);--track-color:var(--ha-spinner-divider-color, var(--divider-color));--track-width:4px;--speed:3.5s;font-size:var(--ha-spinner-size, 48px)}`]}}(0,o.Cg)([(0,n.MZ)()],c.prototype,"size",void 0),c=(0,o.Cg)([(0,n.EM)("ha-spinner")],c),i()}catch(t){i(t)}})},67094(t,e,a){a.r(e),a.d(e,{HaSvgIcon:()=>r});var i=a(62826),o=a(5124),s=a(22441);class r extends o.WF{render(){return o.JW` <svg viewBox="${this.viewBox||"0 0 24 24"}" preserveAspectRatio="xMidYMid meet" focusable="false" role="img" aria-hidden="true"> <g> ${this.path?o.JW`<path class="primary-path" d="${this.path}"></path>`:o.s6} ${this.secondaryPath?o.JW`<path class="secondary-path" d="${this.secondaryPath}"></path>`:o.s6} </g> </svg>`}}r.styles=o.AH`:host{display:var(--ha-icon-display,inline-flex);align-items:center;justify-content:center;position:relative;vertical-align:middle;fill:var(--icon-primary-color,currentcolor);width:var(--mdc-icon-size,24px);height:var(--mdc-icon-size,24px)}svg{width:100%;height:100%;pointer-events:none;display:block}path.primary-path{opacity:var(--icon-primary-opactity, 1)}path.secondary-path{fill:var(--icon-secondary-color,currentcolor);opacity:var(--icon-secondary-opactity, .5)}`,(0,i.Cg)([(0,s.MZ)()],r.prototype,"path",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],r.prototype,"secondaryPath",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],r.prototype,"viewBox",void 0),r=(0,i.Cg)([(0,s.EM)("ha-svg-icon")],r)},59646(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(29344),s=a(5124),r=a(22441),n=a(88360),l=t([o]);o=(l.then?(await l)():l)[0];class c extends o.A{updated(t){super.updated(t),t.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[o.A.styles,s.AH`: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(...t){super(...t),this.haptic=!1,this._forwardHaptic=()=>{(0,n.j)(this,"light")}}}(0,i.Cg)([(0,r.MZ)({type:Boolean})],c.prototype,"haptic",void 0),c=(0,i.Cg)([(0,r.EM)("ha-switch")],c),e()}catch(t){e(t)}})},43831(t,e,a){var i=a(62826),o=a(5124),s=a(22441),r=a(63672);a(54276);class n extends o.WF{render(){return o.qy` <div tabindex="0" role="tab" aria-selected="${this.active}" aria-label="${(0,r.J)(this.name)}" @keydown="${this._handleKeyDown}"> <slot name="icon"></slot> <span class="name">${this.name}</span> <ha-ripple></ha-ripple> </div> `}_handleKeyDown(t){"Enter"===t.key&&t.target.click()}constructor(...t){super(...t),this.active=!1,this.narrow=!1}}n.styles=o.AH`div{padding:0 32px;display:flex;flex-direction:column;text-align:center;box-sizing:border-box;align-items:center;justify-content:center;width:100%;height:var(--header-height);cursor:pointer;position:relative;outline:0}:host(:not([narrow])) div{flex-direction:row;gap:var(--ha-space-2)}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}:host([active]){color:var(--primary-color)}:host(:not([narrow])[active]) div{border-bottom:2px solid var(--primary-color)}:host([narrow]){min-width:0;display:flex;justify-content:center;overflow:hidden}:host([narrow]) div{padding:0 4px}::slotted([slot=icon]){margin-bottom:var(--ha-space-1)}:host(:not([narrow])) ::slotted([slot=icon]){margin-bottom:0}div:focus-visible:before{position:absolute;display:block;content:"";inset:0;background-color:var(--secondary-text-color);opacity:.08}`,(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],n.prototype,"active",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],n.prototype,"narrow",void 0),(0,i.Cg)([(0,s.MZ)()],n.prototype,"name",void 0),n=(0,i.Cg)([(0,s.EM)("ha-tab")],n)},34127(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(52630),s=a(5124),r=a(22441),n=t([o]);o=(n.then?(await n)():n)[0];class l extends o.A{static get styles(){return[o.A.styles,s.AH`: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(...t){super(...t),this.showDelay=350,this.hideDelay=150}}(0,i.Cg)([(0,r.MZ)({attribute:"show-delay",type:Number})],l.prototype,"showDelay",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"hide-delay",type:Number})],l.prototype,"hideDelay",void 0),l=(0,i.Cg)([(0,r.EM)("ha-tooltip")],l),e()}catch(t){e(t)}})},91485(t,e,a){a.a(t,async function(t,i){try{a.d(e,{U:()=>x});var o=a(62826),s=(a(86137),a(30006)),r=a(92070),n=a(35211),l=a(5124),c=a(22441),h=a(6412),d=a(63672),p=a(57237),u=a(22792),g=a(26300),v=(a(67094),a(34127)),b=a(53305),m=t([s,g,v]);[s,g,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",y="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",w="M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z";class x extends((0,b.w)(l.WF)){get _formControl(){return this._input}showPicker(){this._input?.showPicker()}stepUp(){this._input?.stepUp()}stepDown(){this._input?.stepDown()}async firstUpdated(t){super.firstUpdated(t),this.insetLabel||(await(this._input?.updateComplete),this._syncStartSlotWidth())}render(){const t=!this.label&&this._hasSlotController.test("label"),e=!this.hint&&this._hasSlotController.test("hint"),a=this._hasSlotController.test("start");return l.qy` <wa-input .type="${this.type}" .value="${this.value??null}" .withClear="${this.withClear}" .placeholder="${this.placeholder}" .readonly="${this.readonly}" .passwordToggle="${this.passwordToggle}" .passwordVisible="${this.passwordVisible}" .withoutSpinButtons="${this.withoutSpinButtons}" .required="${this.required}" .pattern="${this.pattern}" .minlength="${this.minlength}" .maxlength="${this.maxlength}" .min="${this.min}" .max="${this.max}" .step="${this.step}" .autocapitalize="${this.autocapitalize||void 0}" .autocorrect="${this.autocorrect?"on":"off"}" .autocomplete="${this.autocomplete}" .autofocus="${this.autofocus}" .enterkeyhint="${this.enterkeyhint||void 0}" .spellcheck="${this.spellcheck}" .inputmode="${this.inputmode||void 0}" .name="${this.name}" .disabled="${this.disabled}" class="${(0,h.H)({input:!0,invalid:this.invalid||this._invalid,"label-raised":void 0!==this.value&&""!==this.value||this.label&&this.placeholder||a&&this.insetLabel,"no-label":!this.label,"hint-hidden":!(this.hint||e||this.required||this._invalid||this.invalid)})}" @input="${this._handleInput}" @change="${this._handleChange}" @blur="${this._handleBlur}" @wa-invalid="${this._handleInvalid}" exportparts="base:wa-base, hint:wa-hint, input:wa-input"> ${this.label||t?l.qy`<slot name="label" slot="label">${this.label?this._renderLabel(this.label,this.required):l.s6}</slot>`:l.s6} <slot name="start" slot="start" @slotchange="${this._syncStartSlotWidth}"> ${this.renderStartDefault()} </slot> <slot name="end" slot="end"> ${this.renderEndDefault()} </slot> <slot name="clear-button" slot="clear-button"> <ha-icon-button @click="${this._handleClearClick}" .label="${this.i18n?.localize?.("ui.components.input.clear")||"Clear"}" .path="${f}"></ha-icon-button> </slot> <slot name="password-toggle-button" slot="password-toggle-button"> <ha-icon-button @keydown="${p.d}" @click="${this._handlePasswordToggle}" .label="${this.i18n?.localize?.("ui.components.input."+(this.passwordVisible?"hide_password":"show_password"))||(this.passwordVisible?"Hide password":"Show password")}" .path="${this.passwordVisible?w:y}"></ha-icon-button> </slot> <div slot="hint" class="${(0,h.H)({error:this.invalid||this._invalid})}" role="${(0,d.J)(this.invalid||this._invalid?"alert":void 0)}" aria-live="polite"> ${this._invalid||this.invalid?this.validationMessage||this._input?.validationMessage:this.hint||(e?l.qy`<slot name="hint"></slot>`:l.s6)} </div> </wa-input> `}renderStartDefault(){return l.s6}renderEndDefault(){return l.s6}_handleClearClick(){this._input?.clear()}_handlePasswordToggle(){this.passwordVisible=!this.passwordVisible}constructor(...t){super(...t),this.appearance="material",this.type="text",this.withClear=!1,this.passwordToggle=!1,this.passwordVisible=!1,this.withoutSpinButtons=!1,this.autocorrect=!1,this.insetLabel=!1,this._hasSlotController=new r.X(this,"label","hint","input","start"),this._syncStartSlotWidth=()=>{const t=this._input?.shadowRoot?.querySelector('[part~="start"]'),e=t?.offsetWidth??0;e>0&&!this.insetLabel?(this.style.setProperty("--start-slot-width",`calc(${e}px + var(--ha-space-1))`),this.style.setProperty("--input-padding-inline-start","var(--ha-space-1)")):(this.style.removeProperty("--start-slot-width"),this.style.removeProperty("--input-padding-inline-start"))}}}x.styles=[b.N,l.AH`:host{display:flex;align-items:flex-start;padding-top:var(--ha-input-padding-top);padding-bottom:var(--ha-input-padding-bottom,var(--ha-space-2));text-align:var(--ha-input-text-align,start)}:host([appearance=outlined]){padding-bottom:var(--ha-input-padding-bottom)}wa-input::part(label){padding-inline-start:calc(var(--start-slot-width,0px) + var(--ha-space-4));padding-inline-end:var(--ha-space-4);padding-top:var(--ha-space-5)}:host([appearance=material]:focus-within) wa-input::part(label){color:var(--primary-color)}:host(:focus-within) wa-input::part(label),:host([type=date]) wa-input::part(label),wa-input.label-raised::part(label){padding-top:var(--ha-space-3);font-size:var(--ha-font-size-xs)}wa-input::part(base){height:56px;padding:0 var(--ha-space-4)}:host([appearance=outlined]) wa-input.no-label::part(base){height:32px;padding:0 var(--ha-space-2)}:host([appearance=outlined]) wa-input::part(base){border:1px solid var(--ha-color-border-neutral-quiet);background-color:var(--card-background-color);border-radius:var(--ha-border-radius-md);transition:border-color var(--wa-transition-normal) ease-in-out}:host([appearance=material]) ::part(base)::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:var(--ha-color-border-neutral-loud);transition:height var(--wa-transition-normal) ease-in-out,background-color var(--wa-transition-normal) ease-in-out}:host([appearance=material]:focus-within) wa-input::part(base)::after{height:2px;background-color:var(--primary-color)}:host([appearance=material]) wa-input.invalid:not([disabled])::part(base)::after,:host([appearance=material]:focus-within) wa-input.invalid::part(base)::after{background-color:var(--ha-color-border-danger-normal)}wa-input::part(input){padding-top:var(--ha-space-3);padding-inline-start:var(--input-padding-inline-start,0)}wa-input.no-label::part(input){padding-top:0}:host([type=color]) wa-input::part(input){padding-top:var(--ha-space-6);padding-bottom:2px;cursor:pointer}:host([type=color]) wa-input.no-label::part(input){padding:var(--ha-space-2)}:host([type=color]) wa-input.no-label::part(base){padding:0}wa-input::part(input)::placeholder{color:var(--ha-color-neutral-60)}wa-input::part(base):hover{background-color:var(--ha-color-form-background-hover)}:host([appearance=outlined]) wa-input::part(base):hover{border-color:var(--ha-color-border-neutral-normal)}:host([appearance=outlined]:focus-within) wa-input::part(base){border-color:var(--primary-color)}wa-input:disabled::part(base){background-color:var(--ha-color-form-background-disabled)}wa-input:disabled::part(label){opacity:.5}wa-input::part(end){color:var(--ha-color-text-secondary)}ha-icon-button{display:flex;align-items:center;color:var(--ha-color-text-secondary)}:host([appearance=outlined]) wa-input.no-label{--ha-icon-button-size:24px;--mdc-icon-size:18px}`],(0,o.Cg)([(0,c.MZ)({reflect:!0})],x.prototype,"appearance",void 0),(0,o.Cg)([(0,c.MZ)({reflect:!0})],x.prototype,"type",void 0),(0,o.Cg)([(0,c.MZ)({type:Boolean,attribute:"with-clear"})],x.prototype,"withClear",void 0),(0,o.Cg)([(0,c.MZ)({type:Boolean,attribute:"password-toggle"})],x.prototype,"passwordToggle",void 0),(0,o.Cg)([(0,c.MZ)({type:Boolean,attribute:"password-visible"})],x.prototype,"passwordVisible",void 0),(0,o.Cg)([(0,c.MZ)({type:Boolean,attribute:"without-spin-buttons"})],x.prototype,"withoutSpinButtons",void 0),(0,o.Cg)([(0,c.MZ)()],x.prototype,"pattern",void 0),(0,o.Cg)([(0,c.MZ)()],x.prototype,"min",void 0),(0,o.Cg)([(0,c.MZ)()],x.prototype,"max",void 0),(0,o.Cg)([(0,c.MZ)()],x.prototype,"step",void 0),(0,o.Cg)([(0,c.MZ)({type:Boolean})],x.prototype,"autocorrect",void 0),(0,o.Cg)([(0,c.MZ)({type:Boolean,attribute:"inset-label"})],x.prototype,"insetLabel",void 0),(0,o.Cg)([(0,c.P)("wa-input")],x.prototype,"_input",void 0),(0,o.Cg)([(0,c.wk)(),(0,n.Fg)({context:u.D5,subscribe:!0})],x.prototype,"i18n",void 0),x=(0,o.Cg)([(0,c.EM)("ha-input")],x),i()}catch(t){i(t)}})},53305(t,e,a){a.d(e,{w:()=>l,N:()=>c});var i=a(62826),o=a(5124),s=a(22441),r=a(22786);a(74423);const n=Boolean(globalThis.ElementInternals)&&globalThis.HTMLElement?.prototype.attachInternals?.toString().includes("[native code]"),l=t=>{class e extends t{get _formControl(){throw new Error("_formControl getter must be implemented by subclass")}select(){this._formControl?.select()}setSelectionRange(t,e,a){this._formControl?.setSelectionRange(t,e,a)}setRangeText(t,e,a,i){this._formControl?.setRangeText(t,e,a,i)}checkValidity(){return!n||(this._formControl?.checkValidity()??!0)}reportValidity(){const t=this.checkValidity();return this._invalid=!t,t}_handleInput(){this.value=this._formControl?.value??void 0,this._invalid&&this._formControl?.checkValidity()&&(this._invalid=!1)}_handleChange(){this.value=this._formControl?.value??void 0}_handleBlur(){this.autoValidate&&(this._invalid=!this._formControl?.checkValidity())}_handleInvalid(){this._invalid=!0}constructor(...t){super(...t),this.label="",this.hint="",this.placeholder="",this.readonly=!1,this.required=!1,this.autocapitalize="",this.autofocus=!1,this.spellcheck=!0,this.inputmode="",this.enterkeyhint="",this.disabled=!1,this.validationMessage="",this.autoValidate=!1,this.invalid=!1,this._invalid=!1,this._requiredMarkerCSSVar="--ha-input-required-marker",this._renderLabel=(0,r.A)((t,e)=>{if(!e)return t;let a=getComputedStyle(this).getPropertyValue(this._requiredMarkerCSSVar);return a||(a="*"),a.startsWith('"')&&a.endsWith('"')&&(a=a.slice(1,-1)),a?`${t}${a}`:t})}}return e.shadowRootOptions={mode:"open",delegatesFocus:!0},(0,i.Cg)([(0,s.MZ)()],e.prototype,"value",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"label",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"hint",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"placeholder",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"readonly",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],e.prototype,"required",void 0),(0,i.Cg)([(0,s.MZ)({type:Number})],e.prototype,"minlength",void 0),(0,i.Cg)([(0,s.MZ)({type:Number})],e.prototype,"maxlength",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"autocapitalize",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"autocomplete",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"autofocus",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"spellcheck",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"inputmode",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"enterkeyhint",void 0),(0,i.Cg)([(0,s.MZ)()],e.prototype,"name",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"disabled",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"validation-message"})],e.prototype,"validationMessage",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,attribute:"auto-validate"})],e.prototype,"autoValidate",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],e.prototype,"invalid",void 0),(0,i.Cg)([(0,s.wk)()],e.prototype,"_invalid",void 0),e},c=o.AH`.input{flex:1;min-width:0;--wa-transition-fast:var(--wa-transition-normal);position:relative}.input::part(label){position:absolute;top:0;font-weight:var(--ha-font-weight-normal);font-family:var(--ha-font-family-body);transition:all var(--wa-transition-normal) ease-in-out;color:var(--secondary-text-color);line-height:var(--ha-line-height-condensed);z-index:1;pointer-events:none;font-size:var(--ha-font-size-m)}.input.invalid:not([disabled])::part(label),:host(:focus-within) .input.invalid::part(label){color:var(--ha-color-fill-danger-loud-resting)}.input::part(base){background-color:var(--ha-color-form-background);border-top-left-radius:var(--ha-border-radius-sm);border-top-right-radius:var(--ha-border-radius-sm);border-bottom-left-radius:var(--ha-border-radius-square);border-bottom-right-radius:var(--ha-border-radius-square);border:none;position:relative;transition:background-color var(--wa-transition-normal) ease-in-out}:host(:focus-within) .input::part(base){outline:0}.input::part(hint){min-height:var(--ha-space-5);margin-block-start:0;margin-inline-start:var(--ha-space-3);font-size:var(--ha-font-size-s);display:flex;align-items:center;color:var(--ha-color-text-secondary)}.input.hint-hidden::part(hint){height:0;min-height:0}.error{color:var(--ha-color-on-danger-quiet)}`},61037(t,e,a){var i=a(62826),o=a(22441),s=a(5124),r=a(14503),n=a(14782),l=a(44144);class c extends s.WF{render(){return s.qy` <img class="logo" alt="${n.aK[this.voiceAssistantId].name}" src="${(0,l.MR)({domain:n.aK[this.voiceAssistantId].domain,type:"icon",darkOptimized:this.hass.themes?.darkMode},this.hass.auth.data.hassUrl)}" crossorigin="anonymous" referrerpolicy="no-referrer"> `}static get styles(){return[r.RF,s.AH`:host{display:inline}.logo{position:relative;vertical-align:middle;height:24px}`]}}(0,i.Cg)([(0,o.MZ)({attribute:!1})],c.prototype,"hass",void 0),(0,i.Cg)([(0,o.MZ)({attribute:!1})],c.prototype,"voiceAssistantId",void 0),c=(0,i.Cg)([(0,o.EM)("voice-assistant-brand-icon")],c)},69150(t,e,a){a.d(e,{$$:()=>v,AH:()=>o,NH:()=>p,QC:()=>i,Uc:()=>r,Zr:()=>u,ds:()=>g,hJ:()=>n,mp:()=>c,nx:()=>l,u6:()=>h,vU:()=>s,zn:()=>d});const i=(t,e,a)=>"run-start"===e.type?t={init_options:a,stage:"ready",run:e.data,events:[e],started:new Date(e.timestamp)}:t?((t="wake_word-start"===e.type?{...t,stage:"wake_word",wake_word:{...e.data,done:!1}}:"wake_word-end"===e.type?{...t,wake_word:{...t.wake_word,...e.data,done:!0}}:"stt-start"===e.type?{...t,stage:"stt",stt:{...e.data,done:!1}}:"stt-end"===e.type?{...t,stt:{...t.stt,...e.data,done:!0}}:"intent-start"===e.type?{...t,stage:"intent",intent:{...e.data,done:!1}}:"intent-end"===e.type?{...t,intent:{...t.intent,...e.data,done:!0}}:"tts-start"===e.type?{...t,stage:"tts",tts:{...e.data,done:!1}}:"tts-end"===e.type?{...t,tts:{...t.tts,...e.data,done:!0}}:"run-end"===e.type?{...t,finished:new Date(e.timestamp),stage:"done"}:"error"===e.type?{...t,finished:new Date(e.timestamp),stage:"error",error:e.data}:{...t}).events=[...t.events,e],t):void console.warn("Received unexpected event before receiving session",e),o=(t,e,a)=>{let o;const r=s(t,t=>{o=i(o,t,a),"run-end"!==t.type&&"error"!==t.type||r.then(t=>t()),o&&e(o)},a);return r},s=(t,e,a)=>t.connection.subscribeMessage(e,{...a,type:"assist_pipeline/run"}),r=(t,e)=>t.callWS({type:"assist_pipeline/pipeline_debug/list",pipeline_id:e}),n=(t,e,a)=>t.callWS({type:"assist_pipeline/pipeline_debug/get",pipeline_id:e,pipeline_run_id:a}),l=t=>t.callWS({type:"assist_pipeline/pipeline/list"}),c=(t,e)=>t.callWS({type:"assist_pipeline/pipeline/get",pipeline_id:e}),h=(t,e)=>t.callWS({type:"assist_pipeline/pipeline/create",...e}),d=(t,e,a)=>t.callWS({type:"assist_pipeline/pipeline/update",pipeline_id:e,...a}),p=(t,e)=>t.callWS({type:"assist_pipeline/pipeline/set_preferred",pipeline_id:e}),u=(t,e)=>t.callWS({type:"assist_pipeline/pipeline/delete",pipeline_id:e}),g=t=>t.callWS({type:"assist_pipeline/language/list"}),v=t=>t.callWS({type:"assist_pipeline/device/list"})},44249(t,e,a){a.d(e,{V:()=>i});const i=(t,e)=>{const a=new o,i=t.subscribeMessage(t=>e(a.processMessage(t)),{type:"persistent_notification/subscribe"});return()=>{i.then(t=>t?.())}};class o{processMessage(t){if("removed"===t.type)for(const e of Object.keys(t.notifications))delete this.notifications[e];else this.notifications={...this.notifications,...t.notifications};return Object.values(this.notifications)}constructor(){this.notifications={}}}},23296(t,e,a){a.a(t,async function(t,i){try{a.r(e);var o=a(62826),s=a(5124),r=a(22441),n=a(91926),l=a(65829),c=a(90248),h=a(2054),d=a(14503),p=t([l,c,h]);[l,c,h]=p.then?(await p)():p;class u extends s.WF{render(){return s.qy` ${this.noToolbar?"":s.qy`<div class="toolbar"> ${this.rootnav||history.state?.root?s.qy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:s.qy` <ha-icon-button-arrow-prev .hass="${this.hass}" @click="${this._handleBack}"></ha-icon-button-arrow-prev> `} </div>`} <div class="content"> <ha-spinner></ha-spinner> ${this.message?s.qy`<div id="loading-text">${this.message}</div>`:s.s6} </div> `}_handleBack(){(0,n.OE)()}static get styles(){return[d.RF,s.AH`:host{display:block;height:100%;background-color:var(--primary-background-color)}.toolbar{display:flex;align-items:center;font-size:var(--ha-font-size-xl);height:var(--header-height);padding:8px 12px;pointer-events:none;background-color:var(--app-header-background-color);font-weight:var(--ha-font-weight-normal);color:var(--app-header-text-color,#fff);border-bottom:var(--app-header-border-bottom,none);box-sizing:border-box}@media (max-width:599px){.toolbar{padding:4px}}ha-icon-button-arrow-prev,ha-menu-button{pointer-events:auto}.content{height:calc(100% - var(--header-height));display:flex;flex-direction:column;align-items:center;justify-content:center}#loading-text{max-width:350px;margin-top:16px}`]}constructor(...t){super(...t),this.noToolbar=!1,this.rootnav=!1,this.narrow=!1}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,attribute:"no-toolbar"})],u.prototype,"noToolbar",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],u.prototype,"rootnav",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],u.prototype,"narrow",void 0),(0,o.Cg)([(0,r.MZ)()],u.prototype,"message",void 0),u=(0,o.Cg)([(0,r.EM)("hass-loading-screen")],u),i()}catch(t){i(t)}})},40511(t,e,a){a.a(t,async function(t,e){try{a(18111),a(22489),a(20116),a(61701),a(14603),a(47566),a(98721);var i=a(62826),o=a(5124),s=a(22441),r=a(6412),n=a(22786),l=a(63708),c=a(26218),h=a(76830),d=a(91926),p=a(90248),u=a(2054),g=(a(67094),a(43831),a(14503)),v=t([p,u]);[p,u]=v.then?(await v)():v;const b=t=>t.endsWith("/")&&t.length>1?t.slice(0,-1):t;class m extends o.WF{willUpdate(t){if(t.has("route")){const t=`${this.route.prefix}${this.route.path}`;this._activeTab=this.tabs.find(e=>this._isActiveTabPath(e.path,t))}super.willUpdate(t)}render(){const t=this._getTabs(this.tabs,this._activeTab,this.hass.config.components,this.hass.language,this.hass.userData,this.narrow,this.localizeFunc||this.hass.localize);return o.qy` <div class="toolbar ${(0,r.H)({narrow:this.narrow})}"> <slot name="toolbar"> <div class="toolbar-content"> ${this.mainPage||!this.backPath&&history.state?.root?o.qy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:this.backPath?o.qy` <ha-icon-button-arrow-prev .href="${this.backPath}" .hass="${this.hass}"></ha-icon-button-arrow-prev> `:o.qy` <ha-icon-button-arrow-prev .hass="${this.hass}" @click="${this._backTapped}"></ha-icon-button-arrow-prev> `} ${this.narrow||!this.showTabs?o.qy`<div class="main-title"> <slot name="header">${this.showTabs?"":t[0]}</slot> </div>`:""} ${this.showTabs&&!this.narrow?o.qy`<div id="tabbar">${t}</div>`:""} <div id="toolbar-icon"> <slot name="toolbar-icon"></slot> </div> </div> </slot> ${this.showTabs&&this.narrow?o.qy`<div id="tabbar" class="bottom-bar">${t}</div>`:""} </div> <div class="container"> ${this.pane?o.qy`<div class="pane"> <div class="shadow-container"></div> <div class="ha-scrollbar"> <slot name="pane"></slot> </div> </div>`:o.s6} <div class="content ha-scrollbar" @scroll="${this._saveScrollPos}"> <slot></slot> ${this.hasFab?o.qy`<div class="fab-bottom-space"></div>`:o.s6} </div> </div> <div id="fab"> <slot name="fab"></slot> </div> `}_saveScrollPos(t){this._savedScrollPos=t.target.scrollTop}focusContentScroller(){this._content&&(this._content.style.outline="none",this._content.focus({preventScroll:!0}))}_backTapped(){this.backCallback?this.backCallback():(0,d.OE)()}_isActiveTabPath(t,e){try{const a=new URL(t,window.location.origin),i=new URL(e,window.location.origin),o=b(a.pathname),s=b(i.pathname);return!(s!==o&&!s.startsWith(`${o}/`))}catch(a){return e===t||e.startsWith(`${t}/`)}}async _tabClicked(t){const e=(0,h.d)(t);e&&await(0,d.oo)(e,{replace:!0})}static get styles(){return[g.dp,o.AH`:host{display:block;height:100%;background-color:var(--primary-background-color)}:host([narrow]){width:100%;position:fixed}.container{display:flex;height:calc(100% - var(--header-height,0px) - var(--safe-area-inset-top,0px))}ha-menu-button{margin-right:24px;margin-inline-end:24px;margin-inline-start:initial}.toolbar{font-size:var(--ha-font-size-xl);height:calc(var(--header-height,0px) + var(--safe-area-inset-top,0px));padding-top:var(--safe-area-inset-top);padding-right:var(--safe-area-inset-right);background-color:var(--sidebar-background-color);font-weight:var(--ha-font-weight-normal);border-bottom:1px solid var(--divider-color);box-sizing:border-box}:host([narrow]) .toolbar{padding-left:var(--safe-area-inset-left)}.toolbar-content{padding:8px 12px;display:flex;align-items:center;height:100%;box-sizing:border-box}:host([narrow]) .toolbar-content{padding:4px}.toolbar a{color:var(--sidebar-text-color);text-decoration:none}.bottom-bar a{width:25%}#tabbar{display:flex;font-size:var(--ha-font-size-m);overflow:hidden}#tabbar>a{overflow:hidden;max-width:45%}#tabbar.bottom-bar{position:absolute;bottom:0;left:0;padding:0 16px;box-sizing:border-box;background-color:var(--sidebar-background-color);border-top:1px solid var(--divider-color);justify-content:space-around;z-index:2;font-size:var(--ha-font-size-s);width:100%;padding-bottom:var(--safe-area-inset-bottom)}#tabbar:not(.bottom-bar){flex:1;justify-content:center}:host(:not([narrow])) #toolbar-icon{min-width:40px}::slotted([slot=toolbar-icon]),ha-icon-button-arrow-prev,ha-menu-button{display:flex;flex-shrink:0;pointer-events:auto;color:var(--sidebar-icon-color)}.main-title{min-width:0;flex:1;max-height:var(--header-height);line-height:var(--ha-line-height-normal);color:var(--sidebar-text-color);margin-inline-start:var(--main-title-margin,var(--ha-space-6))}.narrow .main-title{margin-inline-start:var(--main-title-margin,var(--ha-space-2))}.content{position:relative;width:100%;margin-right:var(--safe-area-inset-right);margin-inline-end:var(--safe-area-inset-right);overflow:auto;-webkit-overflow-scrolling:touch}:host([narrow]) .content{margin-left:var(--safe-area-inset-left);margin-inline-start:var(--safe-area-inset-left)}:host([narrow][show-tabs]) .content{margin-bottom:calc(var(--header-height,0px) + var(--safe-area-inset-bottom,0px))}.content .fab-bottom-space{height:calc(64px + var(--safe-area-inset-bottom,0px))}:host([narrow][show-tabs]) .content .fab-bottom-space{height:calc(80px + var(--safe-area-inset-bottom,0px))}#fab{position:fixed;right:calc(16px + var(--safe-area-inset-right,0px));inset-inline-end:calc(16px + var(--safe-area-inset-right));inset-inline-start:initial;bottom:calc(16px + var(--safe-area-inset-bottom,0px));z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ha-space-2);--ha-button-box-shadow:var(--ha-box-shadow-l)}:host([narrow][show-tabs]) #fab{bottom:calc(84px + var(--safe-area-inset-bottom,0px))}#fab[is-wide]{bottom:24px;right:24px;inset-inline-end:24px;inset-inline-start:initial}.pane{border-right:1px solid var(--divider-color);border-inline-end:1px solid var(--divider-color);border-inline-start:initial;box-sizing:border-box;display:flex;flex:0 0 var(--sidepane-width,250px);width:var(--sidepane-width,250px);flex-direction:column;position:relative}.pane .ha-scrollbar{flex:1}`]}constructor(...t){super(...t),this.mainPage=!1,this.narrow=!1,this.isWide=!1,this.pane=!1,this.hasFab=!1,this.showTabs=!1,this._getTabs=(0,n.A)((t,e,a,i,s,r,n)=>{const c=t.filter(t=>(0,l.fW)(this.hass,t));if(c.length<2){if(this.showTabs=!1,1===c.length){const t=c[0];return[t.translationKey?n(t.translationKey):t.name]}return[""]}return this.showTabs=!0,c.map(t=>o.qy` <a href="${t.path}" @click="${this._tabClicked}"> <ha-tab .active="${t.path===e?.path}" .narrow="${this.narrow}" .name="${t.translationKey?n(t.translationKey):t.name}"> ${t.iconPath?o.qy`<ha-svg-icon slot="icon" .path="${t.iconPath}"></ha-svg-icon>`:""} </ha-tab> </a> `)})}}(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"localizeFunc",void 0),(0,i.Cg)([(0,s.MZ)({type:String,attribute:"back-path"})],m.prototype,"backPath",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"backCallback",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,attribute:"main-page"})],m.prototype,"mainPage",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"route",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"tabs",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],m.prototype,"narrow",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0,attribute:"is-wide"})],m.prototype,"isWide",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],m.prototype,"pane",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,attribute:"has-fab"})],m.prototype,"hasFab",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,attribute:"show-tabs",reflect:!0})],m.prototype,"showTabs",void 0),(0,i.Cg)([(0,s.wk)()],m.prototype,"_activeTab",void 0),(0,i.Cg)([(0,s.P)(".content")],m.prototype,"_content",void 0),(0,i.Cg)([(0,c.a)(".content")],m.prototype,"_savedScrollPos",void 0),(0,i.Cg)([(0,s.Ls)({passive:!0})],m.prototype,"_saveScrollPos",null),m=(0,i.Cg)([(0,s.EM)("hass-tabs-subpage")],m),e()}catch(t){e(t)}})},25617(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(5124),s=a(22441),r=a(18350),n=(a(76776),a(67094),t([r]));r=(n.then?(await n)():n)[0];const l="M3 6H21V4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H7V18H3V6M13 12H9V13.78C8.39 14.33 8 15.11 8 16C8 16.89 8.39 17.67 9 18.22V20H13V18.22C13.61 17.67 14 16.88 14 16S13.61 14.33 13 13.78V12M11 17.5C10.17 17.5 9.5 16.83 9.5 16S10.17 14.5 11 14.5 12.5 15.17 12.5 16 11.83 17.5 11 17.5M22 8H16C15.5 8 15 8.5 15 9V19C15 19.5 15.5 20 16 20H22C22.5 20 23 19.5 23 19V9C23 8.5 22.5 8 22 8M21 18H17V10H21V18Z";class c extends o.WF{render(){return o.qy` <ha-card outlined> <h1 class="card-header"> <ha-svg-icon .path="${l}" class="header-icon"></ha-svg-icon> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.current_device.title")} </h1> <div class="card-content"> <p> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.current_device.description")} </p> </div> <div class="card-actions"> <ha-button appearance="plain" @click="${this._openSettings}"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.current_device.open_settings")} </ha-button> </div> </ha-card> `}_openSettings(){this.hass.auth.external.fireMessage({type:"assist/settings"})}}c.styles=o.AH`.card-header{display:flex;align-items:center}.header-icon{height:28px;margin-right:16px;margin-inline-end:16px;margin-inline-start:initial}.card-actions{display:flex}`,(0,i.Cg)([(0,s.MZ)({attribute:!1})],c.prototype,"hass",void 0),c=(0,i.Cg)([(0,s.EM)("assist-current-device-pref")],c),e()}catch(t){e(t)}})},13180(t,e,a){a.a(t,async function(t,e){try{a(18111),a(22489),a(20116),a(61701);var i=a(62826),o=(a(68825),a(5124)),s=a(22441),r=a(22786),n=a(57237),l=a(71727),c=a(86198),h=a(91926),d=a(38962),p=a(18350),u=(a(76776),a(29823)),g=(a(70947),a(26300)),v=(a(2846),a(8630),a(28732),a(67094),a(59646)),b=(a(61037),a(69150)),m=a(14782),f=a(65063),y=a(27560),w=a(36918),x=a(53732),_=t([d,p,u,g,v,c]);[d,p,u,g,v,c]=_.then?(await _)():_;const C="M14,12H10V10H14M14,16H10V14H14M20,8H17.19C16.74,7.22 16.12,6.55 15.37,6.04L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.04,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6.04C7.88,6.55 7.26,7.22 6.81,8H4V10H6.09C6.04,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.04,15.67 6.09,16H4V18H6.81C7.85,19.79 9.78,21 12,21C14.22,21 16.15,19.79 17.19,18H20V16H17.91C17.96,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.96,10.33 17.91,10H20V8Z",k="M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M17,11H15V9H17V11M13,11H11V9H13V11M9,11H7V9H9V11Z",$="M11,17H4A2,2 0 0,1 2,15V3A2,2 0 0,1 4,1H16V3H4V15H11V13L15,16L11,19V17M19,21V7H8V13H6V7A2,2 0 0,1 8,5H19A2,2 0 0,1 21,7V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19Z",M="M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z",z="M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z",H="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",A="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",V="M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z";class Z extends o.WF{willUpdate(){this.hasUpdated||(0,m.Gw)(this.hass,"conversation").then(t=>{this._exposeNew=t.expose_new})}firstUpdated(t){super.firstUpdated(t),(0,b.nx)(this.hass).then(t=>{this._pipelines=t.pipelines,this._preferred=t.preferred_pipeline}),this._pipelineEntitiesCount=Object.values(this.hass.entities).filter(t=>"assist_satellite"===(0,l.m)(t.entity_id)&&"unavailable"!==this.hass.states[t.entity_id].state).length}render(){return o.qy` <ha-card outlined> <h1 class="card-header"> <voice-assistant-brand-icon .voiceAssistantId="${"conversation"}" .hass="${this.hass}"> </voice-assistant-brand-icon>Assist </h1> <div class="header-actions"> <ha-icon-button .label="${this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.link_learn_how_it_works")}" .path="${z}" href="${(0,w.o)(this.hass,"/docs/assist/")}" target="_blank" rel="noreferrer noopener" class="icon-link"></ha-icon-button> </div> <ha-list> ${this._pipelines.map(t=>o.qy` <ha-list-item twoline hasMeta role="button" .id="${t.id}" @click="${this._editPipeline}"> <span> ${t.name} ${this._preferred===t.id?o.qy`<ha-svg-icon .path="${A}"></ha-svg-icon>`:""} </span> <span slot="secondary"> ${(0,c.T)(t.language,this.hass.locale)} </span> <ha-dropdown slot="meta" placement="bottom-end" @click="${n.d}" @wa-select="${this._handlePipelineMenuAction}"> <ha-icon-button slot="trigger" .label="${this.hass.localize("ui.panel.lovelace.editor.menu.open")}" .path="${M}"></ha-icon-button> <ha-dropdown-item value="talk" .data="${t.id}"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.start_conversation")} <ha-svg-icon slot="icon" .path="${k}"></ha-svg-icon> </ha-dropdown-item> <ha-dropdown-item value="set-preferred" .data="${t.id}" .disabled="${this._preferred===t.id}"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.detail.set_as_preferred")} <ha-svg-icon slot="icon" .path="${A}"></ha-svg-icon> </ha-dropdown-item> <ha-dropdown-item value="debug" .data="${t.id}"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.detail.debug")} <ha-svg-icon slot="icon" .path="${C}"></ha-svg-icon> </ha-dropdown-item> <ha-dropdown-item value="duplicate" .data="${t.id}"> ${this.hass.localize("ui.common.duplicate")} <ha-svg-icon slot="icon" .path="${$}"></ha-svg-icon> </ha-dropdown-item> <wa-divider></wa-divider> <ha-dropdown-item variant="danger" value="delete" .data="${t.id}"> ${this.hass.localize("ui.common.delete")} <ha-svg-icon slot="icon" .path="${V}"></ha-svg-icon> </ha-dropdown-item> </ha-dropdown> </ha-list-item> `)} </ha-list> <ha-button appearance="filled" @click="${this._addPipeline}" class="add" size="small"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.add_assistant")} <ha-svg-icon slot="start" .path="${H}"></ha-svg-icon> </ha-button> <ha-md-list-item> <span slot="headline">${this.hass.localize("ui.panel.config.voice_assistants.expose.expose_new_entities")}</span> <span slot="supporting-text">${this.hass.localize("ui.panel.config.voice_assistants.expose.expose_new_entities_info")}</span> <ha-switch slot="end" .checked="${this._exposeNew}" .disabled="${void 0===this._exposeNew}" @change="${this._exposeNewToggleChanged}"></ha-switch> </ha-md-list-item> <div class="card-actions"> <ha-button appearance="plain" href="/config/voice-assistants/expose?assistants=conversation&historyBack"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.exposed_entities",{number:this.exposedEntities?this._exposedEntitiesCount(this.exposedEntities):0})} </ha-button> ${this._pipelineEntitiesCount>0?o.qy` <ha-button appearance="plain" href="/config/voice-assistants/assist/devices"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.assist_devices",{number:this._pipelineEntitiesCount})} </ha-button> `:""} </div> </ha-card> `}async _exposeNewToggleChanged(t){const e=t.target;if(void 0!==this._exposeNew&&this._exposeNew!==e.checked)try{await(0,m.YH)(this.hass,"conversation",e.checked)}catch(t){e.checked=!e.checked}}_handlePipelineMenuAction(t){const e=t.detail.item.value,a=t.detail.item.data;switch(e){case"talk":this._talkWithPipeline(a);break;case"set-preferred":this._setPreferredPipeline(a);break;case"debug":this._debugPipeline(a);break;case"duplicate":this._duplicatePipeline(a);break;case"delete":this._deletePipeline(a)}}_talkWithPipeline(t){(0,y.z)(this,this.hass,{pipeline_id:t})}async _setPreferredPipeline(t){await(0,b.NH)(this.hass,t),this._preferred=t}async _debugPipeline(t){(0,h.oo)(`/config/voice-assistants/debug/${t}`)}async _duplicatePipeline(t){const e=this._pipelines.find(e=>e.id===t);if(!e)return void(0,f.showAlertDialog)(this,{text:this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.duplicate.error_pipeline_not_found")});const{id:a,...i}=e,o={...i,name:this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.duplicate.name",{name:e.name})};this._openDialog(o)}async _deletePipeline(t){if(this._preferred===t)return void(0,f.showAlertDialog)(this,{text:this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.delete.error_preferred")});const e=this._pipelines.find(e=>e.id===t);await(0,f.dk)(this,{title:this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.delete.confirm_title",{name:e.name}),text:this.hass.localize("ui.panel.config.voice_assistants.assistants.pipeline.delete.confirm_text",{name:e.name}),confirmText:this.hass.localize("ui.common.delete"),destructive:!0})&&(await(0,b.Zr)(this.hass,e.id),this._pipelines=this._pipelines.filter(t=>t!==e))}_editPipeline(t){const e=t.currentTarget.id,a=this._pipelines.find(t=>t.id===e);this._openDialog(a)}_addPipeline(){this._openDialog()}async _openDialog(t){(0,x.L)(this,{cloudActiveSubscription:this.cloudStatus?.logged_in&&this.cloudStatus.active_subscription,pipeline:t,createPipeline:async t=>{const e=await(0,b.u6)(this.hass,t);this._pipelines=this._pipelines.concat(e)},...t&&"id"in t?{updatePipeline:async e=>{const a=await(0,b.zn)(this.hass,t.id,e),i=t;this._pipelines=this._pipelines.map(t=>t.id===i.id?a:t)}}:{}})}constructor(...t){super(...t),this._pipelines=[],this._preferred=null,this._pipelineEntitiesCount=0,this._exposedEntitiesCount=(0,r.A)(t=>Object.entries(t).filter(([t,e])=>e.conversation&&t in this.hass.states).length)}}Z.styles=o.AH`a{color:var(--primary-color)}.header-actions{position:absolute;right:0px;inset-inline-end:0px;inset-inline-start:initial;top:24px;display:flex;flex-direction:row}.header-actions .icon-link{margin-top:-16px;margin-right:8px;margin-inline-end:8px;margin-inline-start:initial;direction:var(--direction);color:var(--secondary-text-color)}ha-list-item{--mdc-list-item-meta-size:auto;--mdc-list-item-meta-display:flex;--mdc-list-side-padding-right:8px;--mdc-list-side-padding-left:16px}ha-list-item span ha-svg-icon{color:currentColor;width:16px}.add{margin:0 16px 16px}.card-actions{display:flex}.card-actions a{text-decoration:none}.card-header{display:flex;align-items:center;padding-bottom:0}voice-assistant-brand-icon{height:28px;margin-right:16px;margin-inline-end:16px;margin-inline-start:initial}ha-dropdown{font-size:var(--ha-font-size-m);font-family:var(--ha-font-family-body);letter-spacing:normal}`,(0,i.Cg)([(0,s.MZ)({attribute:!1})],Z.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],Z.prototype,"exposedEntities",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],Z.prototype,"cloudStatus",void 0),(0,i.Cg)([(0,s.wk)()],Z.prototype,"_pipelines",void 0),(0,i.Cg)([(0,s.wk)()],Z.prototype,"_preferred",void 0),(0,i.Cg)([(0,s.wk)()],Z.prototype,"_pipelineEntitiesCount",void 0),(0,i.Cg)([(0,s.wk)()],Z.prototype,"_exposeNew",void 0),Z=(0,i.Cg)([(0,s.EM)("assist-pref")],Z),e()}catch(t){e(t)}})},18636(t,e,a){a.a(t,async function(t,e){try{a(18111),a(22489);var i=a(62826),o=a(5124),s=a(22441),r=a(22786),n=a(1087),l=a(84446),c=a(38962),h=(a(76776),a(18350)),d=(a(2846),a(59646)),p=a(71117),u=a(14782),g=(a(61037),t([c,h,d]));[c,h,d]=g.then?(await g)():g;const v="M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z";class b extends o.WF{willUpdate(){this.hasUpdated||(0,u.Gw)(this.hass,"cloud.alexa").then(t=>{this._exposeNew=t.expose_new})}render(){if(!this.cloudStatus)return o.s6;const t=this.cloudStatus.alexa_registered,{alexa_enabled:e,alexa_report_state:a}=this.cloudStatus.prefs,i=!(0,l.z)(this.cloudStatus.alexa_entities);return o.qy` <ha-card outlined> <h1 class="card-header"> <voice-assistant-brand-icon .voiceAssistantId="${"cloud.alexa"}" .hass="${this.hass}"> </voice-assistant-brand-icon>${this.hass.localize("ui.panel.config.cloud.account.alexa.title")} </h1> <div class="header-actions"> <ha-icon-button .label="${this.hass.localize("ui.panel.config.cloud.account.alexa.link_learn_how_it_works")}" .path="${v}" href="https://www.nabucasa.com/config/amazon_alexa/" target="_blank" rel="noreferrer" class="icon-link"></ha-icon-button> <ha-switch .checked="${e}" @change="${this._enabledToggleChanged}"></ha-switch> </div> <div class="card-content"> <p> ${this.hass.localize("ui.panel.config.cloud.account.alexa.info")} </p> ${i?o.qy`<ha-alert alert-type="warning"> ${this.hass.localize("ui.panel.config.cloud.account.alexa.manual_config")} </ha-alert>`:o.s6} ${e?o.qy` ${t?o.s6:o.qy`<ha-alert .title="${this.hass.localize("ui.panel.config.cloud.account.alexa.not_configured_title")}"> ${this.hass.localize("ui.panel.config.cloud.account.alexa.not_configured_text")} <ul> <li> <a href="https://skills-store.amazon.com/deeplink/dp/B0772J1QKB?deviceType=app" target="_blank" rel="noreferrer"> ${this.hass.localize("ui.panel.config.cloud.account.alexa.enable_ha_skill")} </a> </li> <li> <a href="https://www.nabucasa.com/config/amazon_alexa/" target="_blank" rel="noreferrer"> ${this.hass.localize("ui.panel.config.cloud.account.alexa.config_documentation")} </a> </li> </ul> </ha-alert>`} <ha-md-list-item> <span slot="headline">${this.hass.localize("ui.panel.config.cloud.account.alexa.expose_new_entities")}</span> <span slot="supporting-text">${this.hass.localize("ui.panel.config.cloud.account.alexa.expose_new_entities_info")}</span> <ha-switch slot="end" .checked="${this._exposeNew}" .disabled="${void 0===this._exposeNew}" @change="${this._exposeNewToggleChanged}"></ha-switch> </ha-md-list-item> ${t?o.qy` <ha-md-list-item> <span slot="headline">${this.hass.localize("ui.panel.config.cloud.account.alexa.enable_state_reporting")}</span> <span slot="supporting-text">${this.hass.localize("ui.panel.config.cloud.account.alexa.info_state_reporting")}</span> <ha-switch slot="end" .checked="${a}" @change="${this._reportToggleChanged}"></ha-switch> </ha-md-list-item> `:o.s6} `:o.s6} </div> ${e?o.qy`<div class="card-actions"> <ha-button appearance="plain" href="/config/voice-assistants/expose?assistants=cloud.alexa&historyBack"> ${i?this.hass.localize("ui.panel.config.cloud.account.alexa.show_entities"):this.hass.localize("ui.panel.config.cloud.account.alexa.exposed_entities",{number:this.exposedEntities?this._exposedEntitiesCount(this.exposedEntities):0})} </ha-button> </div>`:o.s6} </ha-card> `}async _exposeNewToggleChanged(t){const e=t.target;if(void 0!==this._exposeNew&&this._exposeNew!==e.checked)try{await(0,u.YH)(this.hass,"cloud.alexa",e.checked)}catch(t){e.checked=!e.checked}}async _enabledToggleChanged(t){const e=t.target;try{await(0,p.Up)(this.hass,{alexa_enabled:e.checked}),(0,n.r)(this,"ha-refresh-cloud-status")}catch(t){e.checked=!e.checked}}async _reportToggleChanged(t){const e=t.target;try{await(0,p.Up)(this.hass,{alexa_report_state:e.checked}),(0,n.r)(this,"ha-refresh-cloud-status")}catch(t){alert(`${this.hass.localize("ui.panel.config.cloud.account.alexa.state_reporting_error",{enable_disable:this.hass.localize(e.checked?"ui.panel.config.cloud.account.alexa.enable":"ui.panel.config.cloud.account.alexa.disable")})} ${t.message}`),e.checked=!e.checked}}constructor(...t){super(...t),this._exposedEntitiesCount=(0,r.A)(t=>Object.entries(t).filter(([t,e])=>e["cloud.alexa"]&&t in this.hass.states).length)}}b.styles=o.AH`a{color:var(--primary-color)}ha-md-list-item{--md-list-item-leading-space:0;--md-list-item-trailing-space:0;--md-item-overflow:visible}.header-actions{position:absolute;right:24px;inset-inline-end:24px;inset-inline-start:initial;top:24px;display:flex;flex-direction:row}.header-actions .icon-link{margin-top:-16px;margin-right:8px;margin-inline-end:8px;margin-inline-start:initial;direction:var(--direction);color:var(--secondary-text-color)}.card-actions{display:flex}.card-actions a{text-decoration:none}.card-header{display:flex;align-items:center}voice-assistant-brand-icon{height:28px;margin-right:16px;margin-inline-end:16px;margin-inline-start:initial}`,(0,i.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"exposedEntities",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"cloudStatus",void 0),(0,i.Cg)([(0,s.wk)()],b.prototype,"_exposeNew",void 0),b=(0,i.Cg)([(0,s.EM)("cloud-alexa-pref")],b),e()}catch(t){e(t)}})},18160(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(5124),s=a(22441),r=a(36312),n=a(18350),l=(a(76776),a(67094),a(61037),t([n]));n=(l.then?(await l)():l)[0];const c="M8,7A2,2 0 0,1 10,9V14A2,2 0 0,1 8,16A2,2 0 0,1 6,14V9A2,2 0 0,1 8,7M14,14C14,16.97 11.84,19.44 9,19.92V22H7V19.92C4.16,19.44 2,16.97 2,14H4A4,4 0 0,0 8,18A4,4 0 0,0 12,14H14M21.41,9.41L17.17,13.66L18.18,10H14A2,2 0 0,1 12,8V4A2,2 0 0,1 14,2H20A2,2 0 0,1 22,4V8C22,8.55 21.78,9.05 21.41,9.41Z",h="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z";class d extends o.WF{render(){return o.qy` <ha-card outlined> <div class="card-content"> <h1 class="header"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.cloud.title",{home_assistant_cloud:o.qy` <span class="no-wrap">ioBroker Cloud</span> `})} </h1> <div class="features"> <div class="feature"> <div class="logos"> <div class="round-icon"> <ha-svg-icon .path="${c}"></ha-svg-icon> </div> </div> <h2> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.cloud.features.speech.title")} <span class="no-wrap"></span> </h2> <p> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.cloud.features.speech.text")} </p> </div> <div class="feature"> <div class="logos"> <voice-assistant-brand-icon .voiceAssistantId="${"cloud.google_assistant"}" .hass="${this.hass}"> </voice-assistant-brand-icon> <voice-assistant-brand-icon .voiceAssistantId="${"cloud.alexa"}" .hass="${this.hass}"> </voice-assistant-brand-icon> </div> <h2> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.cloud.features.assistants.title")} </h2> <p> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.cloud.features.assistants.text")} </p> </div> </div> <div class="more"> <ha-button appearance="plain" size="small" href="https://www.nabucasa.com" target="_blank" rel="noreferrer"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.cloud.and_more")} <ha-svg-icon slot="end" .path="${h}"></ha-svg-icon> </ha-button> </div> </div> ${(0,r.x)(this.hass.config,"cloud")?o.qy` <div class="card-actions"> <ha-button appearance="plain" href="/config/cloud/login"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.cloud.sign_in")} </ha-button> <ha-button href="/config/cloud/register" appearance="filled"> ${this.hass.localize("ui.panel.config.voice_assistants.assistants.cloud.try_one_month")} </ha-button> </div> `:o.s6} </ha-card> `}}d.styles=o.AH`ha-card{display:flex;flex-direction:column}.card-content{padding:24px 16px}.card-actions{display:flex;justify-content:space-between}.header{font-size:var(--ha-font-size-3xl);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed);text-align:center;max-width:600px;margin:0 auto 8px auto}@media (min-width:800px){.header{font-size:var(--ha-font-size-4xl);line-height:var(--ha-line-height-condensed);margin-bottom:16px}}.features{display:grid;grid-template-columns:auto;grid-gap:var(--ha-space-4);padding:16px}@media (min-width:600px){.features{grid-template-columns:repeat(2,1fr)}}.feature{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:16px}.feature .logos{margin-bottom:16px;display:flex;gap:var(--ha-space-4)}.feature .logos>*{width:40px;height:40px}.round-icon{border-radius:var(--ha-border-radius-circle);color:#6e41ab;background-color:#e8dcf7;display:flex;align-items:center;justify-content:center;font-size:var(--ha-font-size-2xl)}.feature h2{font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);line-height:var(--ha-line-height-normal);margin-top:0;margin-bottom:8px}.feature p{font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed);margin:0}.more{display:flex;align-items:center;justify-content:center}.more a{text-decoration:none;color:var(--primary-color);font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-medium)}.more a ha-svg-icon{--mdc-icon-size:16px}.no-wrap{white-space:nowrap}`,(0,i.Cg)([(0,s.MZ)({attribute:!1})],d.prototype,"hass",void 0),d=(0,i.Cg)([(0,s.EM)("cloud-discover")],d),e()}catch(t){e(t)}})},8980(t,e,a){a.a(t,async function(t,e){try{a(18111),a(22489);var i=a(62826),o=a(5124),s=a(22441),r=a(22786),n=a(1087),l=a(84446),c=a(38962),h=(a(76776),a(18350)),d=(a(2846),a(59646)),p=a(91485),u=a(71117),g=a(14782),v=a(92255),b=(a(61037),t([c,h,d,p]));[c,h,d,p]=b.then?(await b)():b;const m="M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z";class f extends o.WF{willUpdate(){this.hasUpdated||(0,g.Gw)(this.hass,"cloud.google_assistant").then(t=>{this._exposeNew=t.expose_new})}render(){if(!this.cloudStatus)return o.s6;const t=this.cloudStatus.google_registered,{google_enabled:e,google_report_state:a,google_secure_devices_pin:i}=this.cloudStatus.prefs,s=!(0,l.z)(this.cloudStatus.google_entities);return o.qy` <ha-card outlined> <h1 class="card-header"> <voice-assistant-brand-icon .voiceAssistantId="${"cloud.google_assistant"}" .hass="${this.hass}"> </voice-assistant-brand-icon>${this.hass.localize("ui.panel.config.cloud.account.google.title")} </h1> <div class="header-actions"> <ha-icon-button .label="${this.hass.localize("ui.panel.config.cloud.account.google.link_learn_how_it_works")}" .path="${m}" href="https://www.nabucasa.com/config/google_assistant/" target="_blank" rel="noreferrer" class="icon-link"></ha-icon-button> <ha-switch .checked="${e}" @change="${this._enabledToggleChanged}"></ha-switch> </div> <div class="card-content"> <p> ${this.hass.localize("ui.panel.config.cloud.account.google.info")} </p> ${s?o.qy`<ha-alert alert-type="warning"> ${this.hass.localize("ui.panel.config.cloud.account.google.manual_config")} </ha-alert>`:o.s6} ${e?o.qy` ${t?o.s6:o.qy` <ha-alert .title="${this.hass.localize("ui.panel.config.cloud.account.google.not_configured_title")}"> ${this.hass.localize("ui.panel.config.cloud.account.google.not_configured_text")} <ul> <li> <a href="https://www.nabucasa.com/config/google_assistant/" target="_blank" rel="noreferrer"> ${this.hass.localize("ui.panel.config.cloud.account.google.config_documentation")} </a> </li> </ul> </ha-alert> `} <ha-md-list-item> <span slot="headline">${this.hass.localize("ui.panel.config.cloud.account.google.expose_new_entities")}</span> <span slot="supporting-text">${this.hass.localize("ui.panel.config.cloud.account.google.expose_new_entities_info")}</span> <ha-switch slot="end" .checked="${this._exposeNew}" .disabled="${void 0===this._exposeNew}" @change="${this._exposeNewToggleChanged}"></ha-switch> </ha-md-list-item> ${t?o.qy` ${this.cloudStatus.http_use_ssl?o.qy` <ha-alert alert-type="warning" .title="${this.hass.localize("ui.panel.config.cloud.account.google.http_use_ssl_warning_title")}"> ${this.hass.localize("ui.panel.config.cloud.account.google.http_use_ssl_warning_text")} <a href="https://www.nabucasa.com/config/google_assistant/#local-communication" target="_blank" rel="noreferrer">${this.hass.localize("ui.panel.config.common.learn_more")}</a> </ha-alert> `:o.s6} <ha-md-list-item> <span slot="headline">${this.hass.localize("ui.panel.config.cloud.account.google.enable_state_reporting")}</span> <span slot="supporting-text">${this.hass.localize("ui.panel.config.cloud.account.google.info_state_reporting")}</span> <ha-switch slot="end" .checked="${a}" @change="${this._reportToggleChanged}"></ha-switch> </ha-md-list-item> <ha-md-list-item> <span slot="headline">${this.hass.localize("ui.panel.config.cloud.account.google.security_devices")}</span> <span slot="supporting-text">${this.hass.localize("ui.panel.config.cloud.account.google.enter_pin_info")}</span> <ha-switch slot="end"></ha-switch> </ha-md-list-item> <ha-input id="google_secure_devices_pin" .label="${this.hass.localize("ui.panel.config.cloud.account.google.devices_pin")}" .placeholder="${this.hass.localize("ui.panel.config.cloud.account.google.enter_pin_hint")}" .value="${i||""}" @change="${this._pinChanged}"></ha-input> `:o.s6} `:o.s6} </div> ${e?o.qy`<div class="card-actions"> <ha-button appearance="plain" size="small" href="/config/voice-assistants/expose?assistants=cloud.google_assistant&historyBack"> ${s?this.hass.localize("ui.panel.config.cloud.account.google.show_entities"):this.hass.localize("ui.panel.config.cloud.account.google.exposed_entities",{number:this.exposedEntities?this._exposedEntitiesCount(this.exposedEntities):0})} </ha-button> </div>`:o.s6} </ha-card> `}async _exposeNewToggleChanged(t){const e=t.target;if(void 0!==this._exposeNew&&this._exposeNew!==e.checked)try{await(0,g.YH)(this.hass,"cloud.google_assistant",e.checked)}catch(t){e.checked=!e.checked}}async _enabledToggleChanged(t){const e=t.target;try{await(0,u.Up)(this.hass,{google_enabled:e.checked}),(0,n.r)(this,"ha-refresh-cloud-status")}catch(t){e.checked=!e.checked}}async _reportToggleChanged(t){const e=t.target;try{await(0,u.Up)(this.hass,{google_report_state:e.checked}),(0,n.r)(this,"ha-refresh-cloud-status")}catch(t){alert(`Unable to ${e.checked?"enable":"disable"} report state. ${t.message}`),e.checked=!e.checked}}async _pinChanged(t){const e=t.target;try{await(0,u.Up)(this.hass,{[e.id]:e.value||null}),(0,v.f)(this,this.hass),(0,n.r)(this,"ha-refresh-cloud-status")}catch(t){alert(`${this.hass.localize("ui.panel.config.cloud.account.google.enter_pin_error")} ${t.message}`),e.value=this.cloudStatus.prefs.google_secure_devices_pin||""}}constructor(...t){super(...t),this._exposedEntitiesCount=(0,r.A)(t=>Object.entries(t).filter(([t,e])=>e["cloud.google_assistant"]&&t in this.hass.states).length)}}f.styles=o.AH`a{color:var(--primary-color)}.header-actions{position:absolute;right:24px;inset-inline-end:24px;inset-inline-start:initial;top:24px;display:flex;flex-direction:row}.header-actions .icon-link{margin-top:-16px;margin-right:8px;margin-inline-end:8px;margin-inline-start:initial;direction:var(--direction);color:var(--secondary-text-color)}ha-md-list-item{--md-list-item-leading-space:0;--md-list-item-trailing-space:0;--md-item-overflow:visible}ha-input{width:250px;margin-top:8px}.card-actions{display:flex}.card-actions a{text-decoration:none}.warning{color:var(--error-color)}.card-header{display:flex;align-items:center}voice-assistant-brand-icon{height:28px;margin-right:16px;margin-inline-end:16px;margin-inline-start:initial}`,(0,i.Cg)([(0,s.MZ)({attribute:!1})],f.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],f.prototype,"exposedEntities",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],f.prototype,"cloudStatus",void 0),(0,i.Cg)([(0,s.wk)()],f.prototype,"_exposeNew",void 0),f=(0,i.Cg)([(0,s.EM)("cloud-google-pref")],f),e()}catch(t){e(t)}})},6684(t,e,a){a.a(t,async function(t,i){try{a.r(e),a.d(e,{HaConfigVoiceAssistantsAssistants:()=>m});var o=a(62826),s=a(5124),r=a(22441),n=a(36312),l=a(23296),c=a(40511),h=a(25617),d=a(13180),p=a(18636),u=a(18160),g=a(8980),v=a(72440),b=t([l,c,h,d,p,u,g]);[l,c,h,d,p,u,g]=b.then?(await b)():b;class m extends s.WF{render(){return this.hass?s.qy` <hass-tabs-subpage .hass="${this.hass}" .narrow="${this.narrow}" back-path="/config" .route="${this.route}" .tabs="${v.voiceAssistantTabs}"> <div class="content"> ${(0,n.x)(this.hass.config,"assist_pipeline")?s.qy` <assist-pref .hass="${this.hass}" .cloudStatus="${this.cloudStatus}" .exposedEntities="${this.exposedEntities}"></assist-pref> `:s.s6} ${this.hass.auth.external?.config.hasAssistSettings?s.qy` <assist-current-device-pref .hass="${this.hass}"></assist-current-device-pref> `:s.s6} ${this.cloudStatus?.logged_in?s.qy` <cloud-alexa-pref .hass="${this.hass}" .exposedEntities="${this.exposedEntities}" .cloudStatus="${this.cloudStatus}"></cloud-alexa-pref> <cloud-google-pref .hass="${this.hass}" .exposedEntities="${this.exposedEntities}" .cloudStatus="${this.cloudStatus}"></cloud-google-pref> `:s.qy`<cloud-discover .hass="${this.hass}"></cloud-discover>`} </div> </hass-tabs-subpage> `:s.qy`<hass-loading-screen></hass-loading-screen>`}constructor(...t){super(...t),this.isWide=!1,this.narrow=!1}}m.styles=s.AH`.content{padding:28px 20px 0;max-width:1040px;margin:0 auto}.content>*{display:block;margin:auto;max-width:800px;margin-bottom:24px}a{text-decoration:none;color:inherit}`,(0,o.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"cloudStatus",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"exposedEntities",void 0),(0,o.Cg)([(0,r.MZ)({attribute:"is-wide",type:Boolean})],m.prototype,"isWide",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],m.prototype,"narrow",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"route",void 0),m=(0,o.Cg)([(0,r.EM)("ha-config-voice-assistants-assistants")],m),i()}catch(t){i(t)}})},53732(t,e,a){a.d(e,{L:()=>s});var i=a(1087);const o=()=>Promise.all([a.e(72130),a.e(85010),a.e(43935),a.e(34310),a.e(79662),a.e(81969)]).then(a.bind(a,43528)),s=(t,e)=>{(0,i.r)(t,"show-dialog",{dialogTag:"dialog-voice-assistant-pipeline-detail",dialogImport:o,dialogParams:e})}},14503(t,e,a){a.d(e,{RF:()=>s,dp:()=>l,kO:()=>n,nA:()=>r,og:()=>o});var i=a(5124);const o=i.AH`button.link{background:0 0;color:inherit;border:none;padding:0;font:inherit;text-align:left;text-decoration:underline;cursor:pointer;outline:0}`,s=i.AH`:host{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal)}app-header div[sticky]{height:48px}app-toolbar [main-title]{margin-left:20px;margin-inline-start:20px;margin-inline-end:initial}.header{transition:box-shadow .2s linear,width var(--ha-animation-duration-normal) ease,padding-left var(--ha-animation-duration-normal) ease,padding-right var(--ha-animation-duration-normal) ease}@media (prefers-reduced-motion:reduce){.header{transition:box-shadow .2s linear}}h1{font-family:var(--ha-font-family-heading);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-2xl);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed)}h2{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--ha-font-size-xl);font-weight:var(--ha-font-weight-medium);line-height:var(--ha-line-height-normal)}h3{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal)}a{color:var(--primary-color)}.secondary{color:var(--secondary-text-color)}.error{color:var(--error-color)}.warning{color:var(--error-color)}${o} .card-actions a{text-decoration:none}.card-actions .warning{--mdc-theme-primary:var(--error-color)}.layout.horizontal,.layout.vertical{display:flex}.layout.inline{display:inline-flex}.layout.horizontal{flex-direction:row}.layout.vertical{flex-direction:column}.layout.wrap{flex-wrap:wrap}.layout.no-wrap{flex-wrap:nowrap}.layout.center,.layout.center-center{align-items:center}.layout.bottom{align-items:flex-end}.layout.center-center,.layout.center-justified{justify-content:center}.flex{flex:1;flex-basis:0.000000001px}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.layout.justified{justify-content:space-between}`,r=i.AH`ha-adaptive-dialog,ha-dialog{--mdc-dialog-min-width:400px;--mdc-dialog-max-width:600px;--mdc-dialog-max-width:min(600px, 95vw);--justify-action-buttons:space-between;--dialog-container-padding:var(--safe-area-inset-top, 0) var(--safe-area-inset-right, 0) var(--safe-area-inset-bottom, 0) var(--safe-area-inset-left, 0);--dialog-surface-padding:0px}ha-adaptive-dialog .form,ha-dialog .form{color:var(--primary-text-color)}a{color:var(--primary-color)}@media all and (max-width:450px),all and (max-height:500px){ha-adaptive-dialog,ha-dialog{--mdc-dialog-min-width:100vw;--mdc-dialog-max-width:100vw;--mdc-dialog-min-height:100vh;--mdc-dialog-min-height:100svh;--mdc-dialog-max-height:100vh;--mdc-dialog-max-height:100svh;--dialog-container-padding:0px;--dialog-surface-padding:var(--safe-area-inset-top, 0) var(--safe-area-inset-right, 0) var(--safe-area-inset-bottom, 0) var(--safe-area-inset-left, 0);--vertical-align-dialog:flex-end}ha-dialog{--ha-dialog-border-radius:var(--ha-border-radius-square)}}.error{color:var(--error-color)}`,n=i.AH`ha-adaptive-dialog,ha-dialog{--vertical-align-dialog:flex-start;--dialog-surface-margin-top:var(--ha-space-10);--mdc-dialog-max-height:calc(
100vh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var(
--safe-area-inset-y,
0px
)
);--mdc-dialog-max-height:calc(
100svh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var(
--safe-area-inset-y,
0px
)
);--ha-dialog-max-height:calc(
100vh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var(
--safe-area-inset-y,
0px
)
);--ha-dialog-max-height:calc(
100svh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var(
--safe-area-inset-y,
0px
)
)}@media all and (max-width:450px),all and (max-height:500px){ha-adaptive-dialog,ha-dialog{--dialog-surface-margin-top:0px;--mdc-dialog-min-height:100vh;--mdc-dialog-min-height:100svh;--mdc-dialog-max-height:100vh;--mdc-dialog-max-height:100svh;--ha-dialog-max-height:100vh;--ha-dialog-max-height:100svh}}`,l=i.AH`.ha-scrollbar::-webkit-scrollbar{width:.4rem;height:.4rem}.ha-scrollbar::-webkit-scrollbar-thumb{border-radius:var(--ha-border-radius-sm);background:var(--scrollbar-thumb-color)}.ha-scrollbar{overflow-y:auto;scrollbar-color:var(--scrollbar-thumb-color) transparent;scrollbar-width:thin}`;i.AH`body{background-color:var(--primary-background-color);color:var(--primary-text-color);height:calc(100vh - 32px);width:100vw}`},36918(t,e,a){a.d(e,{o:()=>i});const i=(t,e)=>`https://www.iobroker.net/#${t.language&&t.language.split("-")[0]||"en"}/adapters/adapterref/iobroker.lovelace/README.md#`},92255(t,e,a){a.d(e,{f:()=>o});var i=a(81619);const o=(t,e)=>(0,i.P)(t,{message:e.localize("ui.common.successfully_saved")})},89429(t){t.exports=function(){}}};