iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
54 lines • 52.6 kB
JavaScript
export const __rspack_esm_id=40255;export const __rspack_esm_ids=[40255];export const __webpack_modules__={72487(t,e,a){a.a(t,async function(t,i){try{a.d(e,{CA:()=>$,Mi:()=>A,Pm:()=>k,Wq:()=>y,Yq:()=>c,bl:()=>L,c2:()=>x,fr:()=>b,gu:()=>M,kz:()=>d,m9:()=>T,sl:()=>m,ur:()=>H,zB:()=>u});a(18111),a(20116);var o=a(74487),s=a(22786),n=a(46927),r=a(8480),l=t([o,r]);[o,r]=l.then?(await l)():l;(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"long",month:"long",day:"numeric",timeZone:(0,r.wj)(t.time_zone,e)}));const c=(t,e,a)=>h(e,a.time_zone).format(t),h=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric",timeZone:(0,r.wj)(t.time_zone,e)})),d=(t,e,a)=>p(e,a.time_zone).format(t),p=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"short",day:"numeric",timeZone:(0,r.wj)(t.time_zone,e)})),u=(t,e,a)=>{const i=g(e,a.time_zone);if(e.date_format===n.ow.language||e.date_format===n.ow.system)return i.format(t);const o=i.formatToParts(t),s=o.find(t=>"literal"===t.type)?.value,r=o.find(t=>"day"===t.type)?.value,l=o.find(t=>"month"===t.type)?.value,c=o.find(t=>"year"===t.type)?.value,h=o[o.length-1];let d="literal"===h?.type?h?.value:"";"bg"===e.language&&e.date_format===n.ow.YMD&&(d="");return{[n.ow.DMY]:`${r}${s}${l}${s}${c}${d}`,[n.ow.MDY]:`${l}${s}${r}${s}${c}${d}`,[n.ow.YMD]:`${c}${s}${l}${s}${r}${d}`}[e.date_format]},g=(0,s.A)((t,e)=>{const a=t.date_format===n.ow.system?void 0:t.language;return t.date_format===n.ow.language||(t.date_format,n.ow.system),new Intl.DateTimeFormat(a,{year:"numeric",month:"numeric",day:"numeric",timeZone:(0,r.wj)(t.time_zone,e)})}),m=(t,e,a)=>v(e,a.time_zone).format(t),v=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{day:"numeric",month:"short",timeZone:(0,r.wj)(t.time_zone,e)})),b=(t,e,a)=>f(e,a.time_zone).format(t),f=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{month:"long",year:"numeric",timeZone:(0,r.wj)(t.time_zone,e)})),y=(t,e,a)=>_(e,a.time_zone).format(t),_=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{month:"long",timeZone:(0,r.wj)(t.time_zone,e)})),x=(t,e,a)=>w(e,a.time_zone).format(t),w=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{month:"short",timeZone:(0,r.wj)(t.time_zone,e)})),k=(t,e,a)=>C(e,a.time_zone).format(t),C=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",timeZone:(0,r.wj)(t.time_zone,e)})),$=(t,e,a)=>z(e,a.time_zone).format(t),z=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"long",timeZone:(0,r.wj)(t.time_zone,e)})),M=(t,e,a)=>S(e,a.time_zone).format(t),S=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"short",timeZone:(0,r.wj)(t.time_zone,e)})),A=(t,e,a)=>E(e,a.time_zone).format(t),E=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"short",month:"short",day:"numeric",timeZone:(0,r.wj)(t.time_zone,e)})),H=(t,e,a)=>Z(e,a.time_zone).format(t),Z=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"short",month:"short",day:"numeric",year:"numeric",timeZone:(0,r.wj)(t.time_zone,e)})),L=(t,e,a)=>{const i=(0,r.wj)(e.time_zone,a.time_zone);return new Intl.DateTimeFormat("en-CA",{year:"numeric",month:"2-digit",day:"2-digit",timeZone:i}).format(t)},T=(t,e,a,i)=>`${L(t,a,i)}/${L(e,a,i)}`;i()}catch(t){i(t)}})},30162(t,e,a){a.a(t,async function(t,i){try{a.d(e,{LW:()=>m,Xs:()=>u,fU:()=>c,ie:()=>d});var o=a(74487),s=a(22786),n=a(8480),r=a(69543),l=t([o,n]);[o,n]=l.then?(await l)():l;const c=(t,e,a)=>h(e,a.time_zone).format(t),h=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{hour:"numeric",minute:"2-digit",hourCycle:(0,r.J)(t)?"h12":"h23",timeZone:(0,n.wj)(t.time_zone,e)})),d=(t,e,a)=>p(e,a.time_zone).format(t),p=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{hour:(0,r.J)(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hourCycle:(0,r.J)(t)?"h12":"h23",timeZone:(0,n.wj)(t.time_zone,e)})),u=(t,e,a)=>g(e,a.time_zone).format(t),g=(0,s.A)((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"long",hour:(0,r.J)(t)?"numeric":"2-digit",minute:"2-digit",hourCycle:(0,r.J)(t)?"h12":"h23",timeZone:(0,n.wj)(t.time_zone,e)})),m=(t,e,a)=>v(e,a.time_zone).format(t),v=(0,s.A)((t,e)=>new Intl.DateTimeFormat("en-GB",{hour:"numeric",minute:"2-digit",hour12:!1,timeZone:(0,n.wj)(t.time_zone,e)}));i()}catch(t){i(t)}})},69543(t,e,a){a.d(e,{J:()=>s});a(74423);var i=a(22786),o=a(46927);const s=(0,i.A)(t=>{if(t.time_format===o.Hg.language||t.time_format===o.Hg.system){const e=t.time_format===o.Hg.language?t.language:void 0;return new Date("January 1, 2023 22:00:00").toLocaleString(e).includes("10")}return t.time_format===o.Hg.am_pm})},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 n;if(void 0===s)n={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;n={...s,set(e){i(e),this[`__${String(a)}`]=e,t?.call(this,e)}}}Object.defineProperty(e,a,n)}}},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),n=new Set(e),r=new Set(a),l=new Set(o),c=s.size>0||n.size>0,h=r.size>0||l.size>0;return c||h?c&&!h?t=>n.has(t)||s.has((0,i.m)(t)):!c&&h?t=>!l.has(t)&&!r.has((0,i.m)(t)):s.size?t=>s.has((0,i.m)(t))?!l.has(t):n.has(t):r.size?t=>r.has((0,i.m)(t))?n.has(t):!l.has(t):t=>n.has(t):()=>!0}},80880(t,e,a){a.d(e,{Y:()=>i});const i=(t,e="_")=>{const a="àáâäæãåāăąабçćčđďдèéêëēėęěеёэфğǵгḧхîïíīįìıİийкłлḿмñńǹňнôöòóœøōõőоṕпŕřрßśšşșсťțтûüùúūǘůűųувẃẍÿýыžźżз·",i=`aaaaaaaaaaabcccdddeeeeeeeeeeefggghhiiiiiiiiijkllmmnnnnnoooooooooopprrrsssssstttuuuuuuuuuuvwxyyyzzzz${e}`,o=new RegExp(a.split("").join("|"),"g"),s={ж:"zh",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ю:"iu",я:"ia"};let n;return""===t?n="":(n=t.toString().toLowerCase().replace(o,t=>i.charAt(a.indexOf(t))).replace(/[а-я]/g,t=>s[t]||"").replace(/(\d),(?=\d)/g,"$1").replace(/[^a-z0-9]+/g,e).replace(new RegExp(`(${e})\\1+`,"g"),"$1").replace(new RegExp(`^${e}+`),"").replace(new RegExp(`${e}+$`),""),""===n&&(n="unknown")),n}},77796(t,e,a){a.d(e,{n:()=>i});const i=(t,e,a=!0,i=!0)=>{let o,s=0;const n=(...n)=>{const r=()=>{s=!1===a?0:Date.now(),o=void 0,t(...n)},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(...n)):o||!1===i||(o=window.setTimeout(r,c))};return n.cancel=()=>{clearTimeout(o),o=void 0,s=0},n}},34296(t,e,a){var i=a(62826),o=a(96229),s=a(26069),n=a(91735),r=a(42034),l=a(5124),c=a(22441);class h extends o.k{renderOutline(){return this.filled?l.qy`<span class="filled"></span>`:super.renderOutline()}getContainerClasses(){return{...super.getContainerClasses(),active:this.active}}renderPrimaryContent(){return l.qy` <span class="leading icon" aria-hidden="true"> ${this.renderLeadingIcon()} </span> <span class="label">${this.label}</span> <span class="touch"></span> <span class="trailing leading icon" aria-hidden="true"> ${this.renderTrailingIcon()} </span> `}renderTrailingIcon(){return l.qy`<slot name="trailing-icon"></slot>`}constructor(...t){super(...t),this.filled=!1,this.active=!1}}h.styles=[n.R,r.R,s.R,l.AH`:host{--md-sys-color-primary:var(--primary-text-color);--md-sys-color-on-surface:var(--primary-text-color);--md-assist-chip-container-shape:var(
--ha-assist-chip-container-shape,
16px
);--md-assist-chip-outline-color:var(--outline-color);--md-assist-chip-label-text-weight:400}.filled{display:flex;pointer-events:none;border-radius:inherit;inset:0;position:absolute;background-color:var(--ha-assist-chip-filled-container-color)}::slotted([slot=icon]),::slotted([slot=trailing-icon]){display:flex;--mdc-icon-size:var(--md-input-chip-icon-size, 18px);font-size:var(--_label-text-size)!important}.trailing.icon ::slotted(*),.trailing.icon svg{margin-inline-end:unset;margin-inline-start:var(--_icon-label-space)}::before{background:var(--ha-assist-chip-container-color,transparent);opacity:var(--ha-assist-chip-container-opacity, 1)}:where(.active)::before{background:var(--ha-assist-chip-active-container-color);opacity:var(--ha-assist-chip-active-container-opacity)}.label{font-family:var(--ha-font-family-body)}`],(0,i.Cg)([(0,c.MZ)({type:Boolean,reflect:!0})],h.prototype,"filled",void 0),(0,i.Cg)([(0,c.MZ)({type:Boolean})],h.prototype,"active",void 0),h=(0,i.Cg)([(0,c.EM)("ha-assist-chip")],h)},9503(t,e,a){var i=a(62826),o=a(97577),s=a(5124),n=a(22441);class r extends o.A{get value(){return this._value??null}set value(t){this._value=t}static get styles(){return[o.A.styles,s.AH`:host{--wa-form-control-toggle-size:var(--ha-checkbox-size, 20px);--wa-form-control-border-color:var(
--ha-checkbox-border-color,
var(--ha-color-border-neutral-normal)
);--wa-form-control-background-color:var(
--ha-checkbox-background-color,
var(--wa-form-control-background-color)
);--checked-icon-color:var(
--ha-checkbox-checked-icon-color,
var(--wa-color-brand-on-loud)
);--wa-form-control-activated-color:var(
--ha-checkbox-checked-background-color,
var(--ha-color-fill-primary-loud-resting)
);-webkit-tap-highlight-color:transparent;--checked-icon-scale:var(--ha-checkbox-checked-icon-scale, 0.9);--wa-form-control-required-content:var(
--ha-checkbox-required-marker,
var(--ha-input-required-marker, "*")
);--wa-form-control-required-content-offset:var(
--ha-checkbox-required-marker-offset,
0.1rem
)}[part~=base]{align-items:center;gap:var(--ha-space-2)}[part~=control]{border-radius:var(--ha-checkbox-border-radius,var(--ha-border-radius-sm));border-width:var(--ha-checkbox-border-width,var(--ha-border-width-md));margin-inline-end:0}[part~=label]{line-height:1}#hint{font-size:var(--ha-font-size-xs);color:var(--ha-color-text-secondary)}label:has(input:not(:disabled)):hover{--wa-form-control-border-color:var(
--ha-checkbox-border-color-hover,
var(--ha-checkbox-border-color, var(--ha-color-border-neutral-loud))
)}label:has(input:not(:disabled)):hover [part~=control]{background-color:var(--ha-checkbox-background-color-hover,var(--ha-color-form-background-hover))}label:has(input:checked:not(:disabled)):hover [part~=control],label:has(input:indeterminate:not(:disabled)):hover [part~=control]{background-color:var(--ha-checkbox-checked-background-color-hover,var(--ha-color-fill-primary-loud-hover));border-color:var(--ha-checkbox-checked-background-color-hover,var(--ha-color-fill-primary-loud-hover))}`]}}r=(0,i.Cg)([(0,n.EM)("ha-checkbox")],r)},70947(t,e,a){var i=a(62826),o=a(50759),s=(a(38625),a(5124)),n=a(22441);a(67094);class r 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,n.MZ)({type:Boolean,reflect:!0})],r.prototype,"selected",void 0),r=(0,i.Cg)([(0,n.EM)("ha-dropdown-item")],r)},29823(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(52254),s=a(5124),n=a(22441),r=t([o]);o=(r.then?(await r)():r)[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,n.MZ)({attribute:!1})],l.prototype,"dropdownTag",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],l.prototype,"dropdownItemTag",void 0),l=(0,i.Cg)([(0,n.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),n=a(22441),r=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"===r.G.document.dir?d:h}}(0,o.Cg)([(0,n.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean})],p.prototype,"disabled",void 0),(0,o.Cg)([(0,n.MZ)()],p.prototype,"label",void 0),(0,o.Cg)([(0,n.MZ)()],p.prototype,"href",void 0),(0,o.Cg)([(0,n.MZ)()],p.prototype,"target",void 0),(0,o.Cg)([(0,n.MZ)()],p.prototype,"rel",void 0),(0,o.Cg)([(0,n.MZ)()],p.prototype,"download",void 0),(0,o.Cg)([(0,n.wk)()],p.prototype,"_icon",void 0),p=(0,o.Cg)([(0,n.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),n=a(22441),r=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,r.J)(this.label)}" title="${(0,r.J)(this.hideTitle?void 0:this.label)}" aria-haspopup="${(0,r.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,n.MZ)({type:Boolean,reflect:!0})],h.prototype,"disabled",void 0),(0,o.Cg)([(0,n.MZ)({type:String})],h.prototype,"path",void 0),(0,o.Cg)([(0,n.MZ)({type:String})],h.prototype,"label",void 0),(0,o.Cg)([(0,n.MZ)({type:String,attribute:"aria-haspopup"})],h.prototype,"ariaHasPopup",void 0),(0,o.Cg)([(0,n.MZ)({attribute:"hide-title",type:Boolean})],h.prototype,"hideTitle",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],h.prototype,"selected",void 0),(0,o.Cg)([(0,n.MZ)()],h.prototype,"href",void 0),(0,o.Cg)([(0,n.MZ)()],h.prototype,"target",void 0),(0,o.Cg)([(0,n.MZ)()],h.prototype,"rel",void 0),(0,o.Cg)([(0,n.MZ)()],h.prototype,"download",void 0),h=(0,o.Cg)([(0,n.EM)("ha-icon-button")],h),i()}catch(t){i(t)}})},2054(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(5124),s=a(22441),n=a(1087),r=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,r.V)(this.hass.connection,t=>{this._hasNotifications=t.length>0})}_toggleMenu(){(0,n.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)}})},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),n=a(5124),r=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,n.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,r.MZ)()],c.prototype,"size",void 0),c=(0,o.Cg)([(0,r.EM)("ha-spinner")],c),i()}catch(t){i(t)}})},67094(t,e,a){a.r(e),a.d(e,{HaSvgIcon:()=>n});var i=a(62826),o=a(5124),s=a(22441);class n 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>`}}n.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)()],n.prototype,"path",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],n.prototype,"secondaryPath",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],n.prototype,"viewBox",void 0),n=(0,i.Cg)([(0,s.EM)("ha-svg-icon")],n)},36866(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(5124),s=a(22441),n=a(91485),r=t([n]);n=(r.then?(await r)():r)[0];const l="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z";class c extends n.U{willUpdate(t){super.willUpdate(t),this.label||this.placeholder||this.hasUpdated&&!t.has("_i18n")||(this.placeholder=this.i18n?.localize?.("ui.common.search")||"Search")}renderStartDefault(){return o.qy`<ha-svg-icon slot="start" .path="${l}"></ha-svg-icon>`}constructor(){super(),this.withClear=!0,this.autocomplete=this.autocomplete||"off"}}c.styles=[...n.U.styles,o.AH`:host([appearance=outlined]) wa-input.no-label::part(base){height:40px}`],c=(0,i.Cg)([(0,s.EM)("ha-input-search")],c),e()}catch(t){e(t)}})},61037(t,e,a){var i=a(62826),o=a(22441),s=a(5124),n=a(14503),r=a(14782),l=a(44144);class c extends s.WF{render(){return s.qy` <img class="logo" alt="${r.aK[this.voiceAssistantId].name}" src="${(0,l.MR)({domain:r.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[n.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)},53211(t,e,a){a.d(e,{Gk:()=>o,Gq:()=>i});const i=t=>t.callWS({type:"cloud/alexa/entities"}),o=(t,e)=>t.callWS({type:"cloud/alexa/entities/get",entity_id:e})},22675(t,e,a){a.d(e,{HV:()=>s,Hh:()=>o});var i=a(23832);const o="unavailable",s="unknown",n=[o,s,"off"];(0,i.g)(n)},56982(t,e,a){a.d(e,{ig:()=>i,kz:()=>o});const i=t=>t.callWS({type:"cloud/google_assistant/entities"}),o=(t,e)=>t.callWS({type:"cloud/google_assistant/entities/get",entity_id:e})},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),n=a(22441),r=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,r.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,n.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean,attribute:"no-toolbar"})],u.prototype,"noToolbar",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean})],u.prototype,"rootnav",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean})],u.prototype,"narrow",void 0),(0,o.Cg)([(0,n.MZ)()],u.prototype,"message",void 0),u=(0,o.Cg)([(0,n.EM)("hass-loading-screen")],u),i()}catch(t){i(t)}})},59992(t,e,a){a.d(e,{V:()=>l});var i=a(62826),o=a(88696),s=a(5124),n=a(6412),r=a(22441);const l=t=>{class e extends t{get scrollableElement(){return e.DEFAULT_SCROLLABLE_ELEMENT}firstUpdated(t){super.firstUpdated?.(t),this.scrollableElement&&this._updateScrollableState(this.scrollableElement),this._attachScrollableElement()}updated(t){super.updated?.(t),this._attachScrollableElement()}disconnectedCallback(){this._detachScrollableElement(),this._contentScrolled=!1,this._contentScrollable=!1,super.disconnectedCallback()}renderScrollableFades(t=!1){return s.qy` <div class="${(0,n.H)({"fade-top":!0,rounded:t,visible:this._contentScrolled})}"></div> <div class="${(0,n.H)({"fade-bottom":!0,rounded:t,visible:this._contentScrollable})}"></div> `}static get styles(){const t=Object.getPrototypeOf(this);var e;return[...void 0===(e=t?.styles??[])?[]:Array.isArray(e)?e:[e],s.AH`.fade-bottom,.fade-top{position:absolute;left:0;right:0;height:var(--ha-space-2);pointer-events:none;transition:opacity 180ms ease-in-out;border-radius:var(--ha-border-radius-square);opacity:0;background:linear-gradient(to bottom,var(--ha-color-shadow-scrollable-fade),transparent)}.fade-top{top:0}.fade-bottom{bottom:0;transform:rotate(180deg)}.fade-bottom.visible,.fade-top.visible{opacity:1}.fade-bottom.rounded,.fade-top.rounded{border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg));border-bottom-left-radius:var(--ha-border-radius-square);border-bottom-right-radius:var(--ha-border-radius-square)}.fade-top.rounded{border-top-left-radius:var(--ha-border-radius-square);border-top-right-radius:var(--ha-border-radius-square)}.fade-bottom.rounded{border-bottom-left-radius:var(--ha-border-radius-square);border-bottom-right-radius:var(--ha-border-radius-square)}`]}_attachScrollableElement(){const t=this.scrollableElement;t!==this._scrollTarget&&(this._detachScrollableElement(),t&&(this._scrollTarget=t,t.addEventListener("scroll",this._onScroll,{passive:!0}),this._resize.observe(t),this._updateScrollableState(t)))}_detachScrollableElement(){this._scrollTarget&&(this._scrollTarget.removeEventListener("scroll",this._onScroll),this._resize.unobserve?.(this._scrollTarget),this._scrollTarget=void 0)}_updateScrollableState(t){const e=parseFloat(getComputedStyle(t).getPropertyValue("--safe-area-inset-bottom"))||0,{scrollHeight:a=0,clientHeight:i=0,scrollTop:o=0}=t;this._contentScrollable=a-i>o+e+this.scrollFadeSafeAreaPadding}constructor(...t){super(...t),this._contentScrolled=!1,this._contentScrollable=!1,this._onScroll=t=>{const e=t.currentTarget;this._contentScrolled=(e.scrollTop??0)>this.scrollFadeThreshold,this._updateScrollableState(e)},this._resize=new o.P(this,{target:null,callback:t=>{const e=t[0]?.target;e&&this._updateScrollableState(e)}}),this.scrollFadeSafeAreaPadding=4,this.scrollFadeThreshold=4}}return e.DEFAULT_SCROLLABLE_ELEMENT=null,(0,i.Cg)([(0,r.wk)()],e.prototype,"_contentScrolled",void 0),(0,i.Cg)([(0,r.wk)()],e.prototype,"_contentScrollable",void 0),e}},94017(t,e,a){a.a(t,async function(t,i){try{a.d(e,{HX:()=>c,MD:()=>r});a(74423),a(18111),a(61701),a(13579);var o=a(5124),s=a(75197),n=t([s]);function r(t,e,a,i,s,n){return{title:t("ui.panel.config.generic.headers.assistants"),type:"flex",defaultHidden:!n,sortable:!0,showNarrow:!0,minWidth:"112px",maxWidth:"112px",valueColumn:"assistants_sortable_key",template:t=>o.qy`${0!==t.assistants.length?o.qy`<div style="display:flex;gap:var(--ha-space-1)"> ${a.map(a=>{const o=!s?.[a]||s[a].includes(t.entity_id),n=t.manAssistants?.includes(a);return l(t.entity_id,t.assistants.includes(a),a,e,i,n,!o)})} </div>`:o.s6}`}}s=(n.then?(await n)():n)[0];const l=(t,e,a,i,s,n,r)=>{const l=s?.some(t=>t.assistants.includes(a));return e?o.qy`<voice-assistants-expose-assistant-icon .id="${t}" .assistant="${a}" .hass="${i}" .manual="${n??!1}" .unsupported="${r??!1}"></voice-assistants-expose-assistant-icon>`:l?o.qy`<div style="width:24px"></div>`:o.s6},c=t=>{let e=0;if(!t.length)return;return["conversation","cloud.alexa","cloud.google_assistant"].forEach((a,i)=>{t.includes(a)&&(e+=2**i)}),3===e?e=4:4===e&&(e=3),`${e}`};i()}catch(h){i(h)}})},19661(t,e,a){a.d(e,{V:()=>s});a(44114);var i=a(22786),o=a(36312);const s=(0,i.A)((t,e)=>{const a=[];return(0,o.x)(e.config,"conversation")&&a.push("conversation"),t?.logged_in&&(t.prefs.alexa_enabled&&a.push("cloud.alexa"),t.prefs.google_enabled&&a.push("cloud.google_assistant")),a})},75197(t,e,a){a.a(t,async function(t,e){try{var i=a(62826),o=a(5124),s=a(22441),n=a(89784),r=a(80880),l=a(14782),c=(a(67094),a(34127)),h=(a(61037),t([c]));c=(h.then?(await h)():h)[0];const d="M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z";class p extends o.WF{render(){if(!this.assistant||!l.aK[this.assistant])return o.s6;const t=(0,r.Y)(this.id)+"-"+this.assistant;return o.qy` <div class="container" id="${t}"> <voice-assistant-brand-icon style="${(0,n.W)({filter:this.manual?"grayscale(100%)":void 0})}" .voiceAssistantId="${this.assistant}" .hass="${this.hass}"> </voice-assistant-brand-icon> ${this.unsupported?o.qy` <ha-svg-icon .path="${d}" class="unsupported"></ha-svg-icon> `:o.s6} </div> <ha-tooltip for="${t}" placement="left" .disabled="${!this.unsupported&&!this.manual}"> ${this.unsupported?this.hass.localize("ui.panel.config.voice_assistants.expose.not_supported"):""} ${this.unsupported&&this.manual?o.qy`<br>`:o.s6} ${this.manual?this.hass.localize("ui.panel.config.voice_assistants.expose.manually_configured"):o.s6} </ha-tooltip> `}constructor(...t){super(...t),this.unsupported=!1,this.manual=!1}}p.styles=o.AH`.container{position:relative}.unsupported{color:var(--error-color);position:absolute;--mdc-icon-size:16px;right:10px;top:-7px;inset-inline-end:10px;inset-inline-start:initial}`,(0,i.Cg)([(0,s.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],p.prototype,"unsupported",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],p.prototype,"manual",void 0),(0,i.Cg)([(0,s.MZ)()],p.prototype,"assistant",void 0),p=(0,i.Cg)([(0,s.EM)("voice-assistants-expose-assistant-icon")],p),e()}catch(t){e(t)}})},43601(t,e,a){a.a(t,async function(t,i){try{a.r(e),a.d(e,{VoiceAssistantsExpose:()=>I});a(74423),a(44114),a(18111),a(22489),a(7588),a(61701),a(13579),a(14603),a(47566),a(98721);var o=a(62826),s=a(35211),n=a(5124),r=a(22441),l=a(63672),c=a(22786),h=a(93905),d=a(1087),p=a(71727),u=a(28978),g=a(84446),m=a(91926),v=a(18350),b=a(34127),f=a(53211),y=a(22792),_=a(59241),x=a(14782),w=a(56982),k=a(95350),C=a(65063),$=a(23296),z=a(72553),M=a(14503),S=a(29303),A=a(94017),E=a(19661),H=a(75197),Z=a(72440),L=a(60702),T=a(99436),q=t([v,b,$,z,H,S,A]);[v,b,$,z,H,S,A]=q.then?(await q)():q;const P="M4 20H18V22H4C2.9 22 2 21.11 2 20V6H4V20M20.22 2H7.78C6.8 2 6 2.8 6 3.78V16.22C6 17.2 6.8 18 7.78 18H20.22C21.2 18 22 17.2 22 16.22V3.78C22 2.8 21.2 2 20.22 2M19 13.6L17.6 15L14 11.4L10.4 15L9 13.6L12.6 10L9 6.4L10.4 5L14 8.6L17.6 5L19 6.4L15.4 10L19 13.6Z",V="M12,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,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z",j="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",F="M19,11H15V15H13V11H9V9H13V5H15V9H19M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6Z";class I extends n.WF{get _availableAssistants(){return(0,E.V)(this.cloudStatus,this.hass)}connectedCallback(){super.connectedCallback(),window.addEventListener("location-changed",this._locationChanged),window.addEventListener("popstate",this._popState)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("location-changed",this._locationChanged),window.removeEventListener("popstate",this._popState)}async _fetchEntities(){this._extEntities=await(0,_.G3)(this.hass,Object.keys(this._entities)),this._fetchSupportedEntities()}async _fetchSupportedEntities(){let t,e;this.cloudStatus?.logged_in&&this.cloudStatus.prefs.alexa_enabled&&(t=(0,f.Gq)(this.hass)),this.cloudStatus?.logged_in&&this.cloudStatus.prefs.google_enabled&&(e=(0,w.ig)(this.hass));const[a,i]=await Promise.all([t,e]);this._supportedEntities={"cloud.alexa":a?.map(t=>t.entity_id),"cloud.google_assistant":i?.map(t=>t.entity_id),conversation:void 0}}willUpdate(t){t.has("_entities")?this._fetchEntities():t.has("hass")&&"RUNNING"===this.hass.config.state&&t.get("hass")?.config.state!==this.hass.config.state&&this._fetchSupportedEntities()}render(){if(!this.hass||!this.exposedEntities||!this._extEntities)return n.qy`<hass-loading-screen></hass-loading-screen>`;const t=this._filteredEntities(this.hass.localize,this._extEntities,this.exposedEntities,this.hass.devices,this.hass.areas,this.cloudStatus,this._searchParms);return n.qy` <hass-tabs-subpage-data-table .hass="${this.hass}" .narrow="${this.narrow}" .backPath="${this._searchParms.has("historyBack")?void 0:"/config"}" .route="${this.route}" .tabs="${Z.voiceAssistantTabs}" .columns="${this._columns(this.narrow,this._availableAssistants,this._supportedEntities,this.hass.language,this.hass.localize,t)}" .data="${t}" .searchLabel="${this.hass.localize("ui.panel.config.entities.picker.search",{number:t.length})}" .filter="${this._filter}" selectable .selected="${this._selectedEntities.length}" clickable .initialSorting="${this._activeSorting}" .initialGroupColumn="${this._activeGrouping}" .initialCollapsedGroups="${this._activeCollapsed}" .columnOrder="${this._activeColumnOrder}" .hiddenColumns="${this._activeHiddenColumns}" @columns-changed="${this._handleColumnsChanged}" @sorting-changed="${this._handleSortingChanged}" @selection-changed="${this._handleSelectionChanged}" @grouping-changed="${this._handleGroupingChanged}" @collapsed-changed="${this._handleCollapseChanged}" @clear-filter="${this._clearFilter}" @search-changed="${this._handleSearchChange}" @row-click="${this._openEditEntry}" id="entity_id" has-fab> ${this._selectedEntities.length?n.qy` <div class="header-btns" slot="selection-bar"> ${this.narrow?n.qy` <ha-icon-button id="expose-button" @click="${this._exposeSelected}" .path="${F}" .label="${this.hass.localize("ui.panel.config.voice_assistants.expose.expose")}"></ha-icon-button> <ha-tooltip for="expose-button" placement="left"> ${this.hass.localize("ui.panel.config.voice_assistants.expose.expose")} </ha-tooltip> <ha-tooltip for="unexpose-button" placement="left"> ${this.hass.localize("ui.panel.config.voice_assistants.expose.unexpose")} </ha-tooltip> <ha-icon-button id="unexpose-button" @click="${this._unexposeSelected}" .path="${P}" .label="${this.hass.localize("ui.panel.config.voice_assistants.expose.unexpose")}"></ha-icon-button> `:n.qy` <ha-button appearance="plain" size="small" @click="${this._exposeSelected}">${this.hass.localize("ui.panel.config.voice_assistants.expose.expose")}</ha-button> <ha-button appearance="plain" size="small" @click="${this._unexposeSelected}">${this.hass.localize("ui.panel.config.voice_assistants.expose.unexpose")}</ha-button> `} </div> `:""} <ha-button slot="fab" size="large" @click="${this._addEntry}"> <ha-svg-icon slot="start" .path="${j}"></ha-svg-icon> ${this.hass.localize("ui.panel.config.voice_assistants.expose.add")} </ha-button> </hass-tabs-subpage-data-table> `}_addEntry(){const t=this._searchParms.has("assistants")?this._searchParms.get("assistants").split(","):this._availableAssistants;(0,L.$)(this,{filterAssistants:t,exposedEntities:this.exposedEntities,exposeEntities:e=>{(0,x.ij)(this.hass,t,e,!0).then(()=>(0,d.r)(this,"exposed-entities-changed"))}})}_handleSearchChange(t){this._filter=t.detail.value}_handleSelectionChanged(t){this._selectedEntities=t.detail.value}_unexposeSelected(){const t=this._searchParms.has("assistants")?this._searchParms.get("assistants").split(","):this._availableAssistants;(0,C.dk)(this,{title:this.hass.localize("ui.panel.config.voice_assistants.expose.unexpose_confirm_title"),text:this.hass.localize("ui.panel.config.voice_assistants.expose.unexpose_confirm_text",{assistants:t.map(t=>x.aK[t].name).join(", "),entities:this._selectedEntities.length}),confirmText:this.hass.localize("ui.panel.config.voice_assistants.expose.unexpose"),dismissText:this.hass.localize("ui.common.cancel"),confirm:()=>{(0,x.ij)(this.hass,t,this._selectedEntities,!1).then(()=>(0,d.r)(this,"exposed-entities-changed")),this._clearSelection()}})}_exposeSelected(){const t=this._searchParms.has("assistants")?this._searchParms.get("assistants").split(","):this._availableAssistants;(0,C.dk)(this,{title:this.hass.localize("ui.panel.config.voice_assistants.expose.expose_confirm_title"),text:this.hass.localize("ui.panel.config.voice_assistants.expose.expose_confirm_text",{assistants:t.map(t=>x.aK[t].name).join(", "),entities:this._selectedEntities.length}),confirmText:this.hass.localize("ui.panel.config.voice_assistants.expose.expose"),dismissText:this.hass.localize("ui.common.cancel"),confirm:()=>{(0,x.ij)(this.hass,t,this._selectedEntities,!0).then(()=>(0,d.r)(this,"exposed-entities-changed")),this._clearSelection()}})}_clearSelection(){this._dataTable.clearSelection()}_openEditEntry(t){const e=t.detail.id;(0,T.X)(this,{entityId:e,exposed:this.exposedEntities[e],extEntityReg:this._extEntities?.[e],exposedEntitiesChanged:()=>{(0,d.r)(this,"exposed-entities-changed")}})}_clearFilter(){(0,m.oo)(window.location.pathname,{replace:!0})}_handleSortingChanged(t){this._activeSorting=t.detail}_handleGroupingChanged(t){this._activeGrouping=t.detail.value}_handleCollapseChanged(t){this._activeCollapsed=t.detail.value}_handleColumnsChanged(t){this._activeColumnOrder=t.detail.columnOrder,this._activeHiddenColumns=t.detail.hiddenColumns}static get styles(){return[M.RF,n.AH`hass-loading-screen{--app-header-background-color:var(--sidebar-background-color);--app-header-text-color:var(--sidebar-text-color)}.table-header{display:flex;justify-content:space-between;align-items:center;height:56px;background-color:var(--mdc-text-field-fill-color,#f5f5f5);border-bottom:1px solid var(--mdc-text-field-idle-line-color,rgba(0,0,0,.42));box-sizing:border-box}.header-toolbar{display:flex;justify-content:space-between;align-items:center;color:var(--secondary-text-color);position:relative;top:-4px}.selected-txt{font-weight:var(--ha-font-weight-bold);padding-left:var(--ha-space-4);padding-inline-start:var(--ha-space-4);direction:var(--direction)}.table-header .selected-txt{margin-top:20px}.header-toolbar .selected-txt{font-size:var(--ha-font-size-l)}.header-toolbar .header-btns{margin-right:calc(var(--ha-space-3) * -1);margin-inline-end:calc(var(--ha-space-3) * -1);direction:var(--direction)}.header-btns{display:flex}.header-btns>ha-button,.header-btns>ha-icon-button{margin:var(--ha-space-2)}.clear{color:var(--primary-color);padding-left:var(--ha-space-2);padding-inline-start:var(--ha-space-2);text-transform:uppercase;direction:var(--direction)}`]}constructor(...t){super(...t),this.isWide=!1,this.narrow=!1,this._filter="",this._searchParms=new URLSearchParams(window.location.search),this._selectedEntities=[],this._columns=(0,c.A)((t,e,a,i,o,s)=>({icon:{title:"",label:o("ui.panel.config.voice_assistants.expose.headers.icon"),type:"icon",moveable:!1,hidden:t,template:t=>n.qy` <ha-state-icon title="${(0,l.J)(t.entity?.state)}" .stateObj="${t.entity}"></ha-state-icon> `},name:{main:!0,title:o("ui.panel.config.voice_assistants.expose.headers.name"),sortable:!0,filterable:!0,direction:"asc",flex:2},area:(0,S.A7)(o),entity_id:(0,S.DZ)(o,!0),domain:(0,S.vm)(o),assistants:(0,A.MD)(o,this.hass,e,s,a,!0),aliases:{title:o("ui.panel.config.voice_assistants.expose.headers.aliases"),sortable:!0,filterable:!0,template:t=>{const e=t.aliases.filter(t=>null!==t);return 0===e.length?"-":1===e.length?e[0]:this.hass.localize("ui.panel.config.voice_assistants.expose.aliases",{count:e.length})}},remove:{title:"",label:o("ui.panel.config.voice_assistants.expose.headers.remove"),type:"icon-button",hidden:t,template:()=>n.qy`<ha-icon-button @click="${this._removeEntity}" .path="${V}"></ha-icon-button>`}})),this._getEntityFilterFuncs=(0,c.A)((t,e)=>({google:(0,g.p)(t.include_domains,t.include_entities,t.exclude_domains,t.exclude_entities),amazon:(0,g.p)(e.include_domains,e.include_entities,e.exclude_domains,e.exclude_entities)})),this._filteredEntities=(0,c.A)((t,e,a,i,o,s,n)=>{const r=!0===s?.logged_in&&!0===s.prefs.google_enabled,l=!0===s?.logged_in&&!0===s.prefs.alexa_enabled,c=[...this._availableAssistants],h=l&&!(0,g.z)(this.cloudStatus.alexa_entities),d=r&&!(0,g.z)(this.cloudStatus.google_entities);d&&c.splice(c.indexOf("cloud.google_assistant"),1),h&&c.splice(c.indexOf("cloud.alexa"),1);const m={};let v,b=Object.values(this.hass.states);b=b.filter(t=>c.some(e=>a?.[t.entity_id]?.[e])),n.forEach((t,e)=>{"assistants"===e&&(v=t.split(","),b=b.filter(t=>v.some(e=>!("cloud.alexa"===e&&h)&&!("cloud.google_assistant"===e&&d)&&a?.[t.entity_id]?.[e])))});for(const s of b){const n=e[s.entity_id],r=n?.area_id??(n?.device_id?i[n.device_id]?.area_id:void 0),l=r?o[r]:void 0,h=Object.keys(a?.[s.entity_id]??{}).filter(t=>c.includes(t)&&a?.[s.entity_id]?.[t]);m[s.entity_id]={entity_id:s.entity_id,entity:s,name:(0,u.u)(s)||this.hass.localize("ui.panel.config.entities.picker.unnamed_entity"),domain:(0,k.p$)(t,(0,p.m)(s.entity_id)),area:l?l.name:void 0,assistants:h,assistants_sortable_key:(0,A.HX)(h),aliases:n?.aliases||[]}}if(h||d){const t=this._getEntityFilterFuncs(this.cloudStatus.google_entities,this.cloudStatus.alexa_entities);Object.keys(this.hass.states).forEach(s=>{const n=[];if(h&&t.amazon(s)&&n.push("cloud.alexa"),d&&t.google(s)&&n.push("cloud.google_assistant"),n.length){if(s in m)m[s].assistants.push(...n),m[s].manAssistants=n;else if(!v||v.some(t=>n.includes(t))){const t=this.hass.states[s],r=e[s],l=r?.area_id??(r?.device_id?i[r.device_id]?.area_id:void 0),h=l?o[l]:void 0;m[s]={entity_id:t.entity_id,entity:t,name:(0,u.u)(t),area:h?h.name:void 0,assistants:[...a?Object.keys(a?.[t.entity_id]??{}).filter(e=>c.includes(e)&&a?.[t.entity_id]?.[e]):[],...n],manAssistants:n,aliases:r?.aliases||[]}}m[s].assistants_sortable_key=(0,A.HX)(m[s].assistants)}})}return Object.values(m)}),this._locationChanged=()=>{window.location.search.substring(1)!==this._searchParms.toString()&&(this._searchParms=new URLSearchParams(window.location.search))},this._popState=()=>{window.location.search.substring(1)!==this._searchParms.toString()&&(this._searchParms=new URLSearchParams(window.location.search))},this._removeEntity=t=>{t.stopPropagation();const e=t.currentTarget.closest(".mdc-data-table__row").rowId,a=this._searchParms.has("assistants")?this._searchParms.get("assistants").split(","):this._availableAssistants;(0,x.ij)(this.hass,a,[e],!1).then(()=>(0,d.r)(this,"exposed-entities-changed"))}}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],I.prototype,"hass",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],I.prototype,"cloudStatus",void 0),(0,o.Cg)([(0,r.MZ)({attribute:"is-wide",type:Boolean})],I.prototype,"isWide",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],I.prototype,"narrow",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],I.prototype,"route",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],I.prototype,"exposedEntities",void 0),(0,o.Cg)([(0,r.wk)(),(0,s.Fg)({context:y.X1,subscribe:!0})],I.prototype,"_entities",void 0),(0,o.Cg)([(0,r.wk)()],I.prototype,"_extEntities",void 0),(0,o.Cg)([(0,r.wk)(),(0,h.I)({storage:"sessionStorage",key:"voice-expose-table-search",state:!0,subscribe:!1})],I.prototype,"_filter",void 0),(0,o.Cg)([(0,r.wk)()],I.prototype,"_searchParms",void 0),(0,o.Cg)([(0,r.wk)()],I.prototype,"_selectedEntities",void 0),(0,o.Cg)([(0,r.wk)()],I.prototype,"_supportedEntities",void 0),(0,o.Cg)([(0,h.I)({key:"voice-expose-table-sort",state:!1,subscribe:!1})],I.prototype,"_activeSorting",void 0),(0,o.Cg)([(0,h.I)({key:"voice-expose-table-grouping",state:!1,subscribe:!1})],I.prototype,"_activeGrouping",void 0),(0,o.Cg)([(0,h.I)({key:"voice-expose-table-collapsed",state:!1,subscribe:!1})],I.prototype,"_activeCollapsed",void 0),(0,o.Cg)([(0,h.I)({key:"voice-expose-table-column-order",state:!1,subscribe:!1})],I.prototype,"_activeColumnOrder",void 0),(0,o.Cg)([(0,h.I)({key:"voice-expose-table-hidden-columns",state:!1,subscribe:!1})],I.prototype,"_activeHiddenColumns",void 0),(0,o.Cg)([(0,r.P)("hass-tabs-subpage-data-table",!0)],I.prototype,"_dataTable",void 0),I=(0,o.Cg)([(0,r.EM)("ha-config-voice-assistants-expose")],I),i()}catch(t){i(t)}})},60702(t,e,a){a.d(e,{$:()=>s});var i=a(1087);const o=()=>Promise.all([a.e(80131),a.e(70183),a.e(58303),a.e(69139),a.e(67748),a.e(8851),a.e(9205)]).then(a.bind(a,17338)),s=(t,e)=>{(0,i.r)(t,"show-dialog",{dialogTag:"dialog-expose-entity",dialogImport:o,dialogParams:e})}},99436(t,e,a){a.d(e,{X:()=>s});var i=a(1087);const o=()=>Promise.all([a.e(59304),a.e(60001)]).then(a.bind(a,50008)),s=(t,e)=>{(0,i.r)(t,"show-dialog",{dialogTag:"dialog-voice-settings",dialogImport:o,dialogParams:e})}},14503(t,e,a){a.d(e,{RF:()=>s,dp:()=>l,kO:()=>r,nA:()=>n,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}`,n=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)}`,r=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}`},85614(t,e,a){a.d(e,{i:()=>i});const i=async()=>{await Promise.all([a.e(69139),a.e(22309)]).then(a.bind(a,46974))}},22348(t,e,a){a.d(e,{V:()=>o});var i=a(37177);const o=t=>!!t&&i.n},37177(t,e,a){a.d(e,{n:()=>i});const i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)},89429(t){t.exports=function(){}}};