iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
23 lines • 30.5 kB
JavaScript
/*! For license information please see 77260.6a5b8e4663fe6a56.js.LICENSE.txt */
export const __rspack_esm_id=77260;export const __rspack_esm_ids=[77260];export const __webpack_modules__={84446(e,t,i){i.d(t,{p:()=>o,z:()=>s});i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698);var a=i(71727);const s=e=>e.include_domains.length+e.include_entities.length+e.exclude_domains.length+e.exclude_entities.length===0,o=(e,t,i,s)=>{const o=new Set(e),r=new Set(t),l=new Set(i),n=new Set(s),d=o.size>0||r.size>0,h=l.size>0||n.size>0;return d||h?d&&!h?e=>r.has(e)||o.has((0,a.m)(e)):!d&&h?e=>!n.has(e)&&!l.has((0,a.m)(e)):o.size?e=>o.has((0,a.m)(e))?!n.has(e):r.has(e):l.size?e=>l.has((0,a.m)(e))?r.has(e):!n.has(e):e=>r.has(e):()=>!0}},832(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),s=i(5124),o=i(22441),r=i(1087),l=i(26613),n=e([l]);l=(n.then?(await n)():n)[0];class d extends s.WF{render(){return this.aliases?s.qy` <ha-input-multi .value="${this.aliases}" .disabled="${this.disabled}" .sortable="${this.sortable}" update-on-blur .label="${this.hass.localize("ui.dialogs.aliases.label")}" .removeLabel="${this.hass.localize("ui.dialogs.aliases.remove")}" .addLabel="${this.hass.localize("ui.dialogs.aliases.add")}" item-index -changed="${this._aliasesChanged}"> </ha-input-multi> `:s.s6}_aliasesChanged(e){e.stopPropagation(),(0,r.r)(this,"value-changed",{value:e.detail.value})}constructor(...e){super(...e),this.disabled=!1,this.sortable=!1}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],d.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({type:Array})],d.prototype,"aliases",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean})],d.prototype,"disabled",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean})],d.prototype,"sortable",void 0),d=(0,a.Cg)([(0,o.EM)("ha-aliases-editor")],d),t()}catch(e){t(e)}})},9503(e,t,i){var a=i(62826),s=i(97577),o=i(5124),r=i(22441);class l extends s.A{get value(){return this._value??null}set value(e){this._value=e}static get styles(){return[s.A.styles,o.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))}`]}}l=(0,a.Cg)([(0,r.EM)("ha-checkbox")],l)},85938(e,t,i){i(18111),i(22489),i(46058);var a=i(62826),s=i(5124),o=i(22441),r=i(1087);class l extends s.WF{updated(e){e.has("disabled")&&(this.disabled?this._destroySortable():this._createSortable())}disconnectedCallback(){super.disconnectedCallback(),this._shouldBeDestroy=!0,setTimeout(()=>{this._shouldBeDestroy&&(this._destroySortable(),this._shouldBeDestroy=!1)},1)}connectedCallback(){super.connectedCallback(),this._shouldBeDestroy=!1,this.hasUpdated&&!this.disabled&&this._createSortable()}createRenderRoot(){return this}render(){return this.noStyle?s.s6:s.qy` <style>.sortable-fallback{display:none!important}.sortable-ghost{box-shadow:0 0 0 2px var(--primary-color);background:rgba(var(--rgb-primary-color),.25);border-radius:var(--ha-border-radius-sm);opacity:.4}.sortable-drag{border-radius:var(--ha-border-radius-sm);opacity:1;background:var(--card-background-color);box-shadow:0px 4px 8px 3px #00000026;cursor:grabbing}</style> `}async _createSortable(){if(this._sortable)return;const e=this.children[0];if(!e)return;const t=(await Promise.all([i.e(85283),i.e(70322)]).then(i.bind(i,80745))).default,a={scroll:!0,forceAutoScrollFallback:!0,scrollSpeed:20,animation:150,...this.options,onChoose:this._handleChoose,onStart:this._handleStart,onEnd:this._handleEnd,onUpdate:this._handleUpdate,onAdd:this._handleAdd,onRemove:this._handleRemove};this.draggableSelector&&(a.draggable=this.draggableSelector),this.handleSelector&&(a.handle=this.handleSelector),void 0!==this.invertSwap&&(a.invertSwap=this.invertSwap),this.group&&(a.group=this.group),this.filter&&(a.filter=this.filter),this._sortable=new t(e,a)}_destroySortable(){this._sortable&&(this._sortable.destroy(),this._sortable=void 0)}constructor(...e){super(...e),this.disabled=!1,this.noStyle=!1,this.invertSwap=!1,this.rollback=!0,this._shouldBeDestroy=!1,this._handleUpdate=e=>{(0,r.r)(this,"item-moved",{newIndex:e.newIndex,oldIndex:e.oldIndex})},this._handleAdd=e=>{(0,r.r)(this,"item-added",{index:e.newIndex,data:e.item.sortableData,item:e.item})},this._handleRemove=e=>{(0,r.r)(this,"item-removed",{index:e.oldIndex})},this._handleEnd=async e=>{(0,r.r)(this,"drag-end"),this.rollback&&e.item.placeholder&&(e.item.placeholder.replaceWith(e.item),delete e.item.placeholder)},this._handleStart=()=>{(0,r.r)(this,"drag-start")},this._handleChoose=e=>{this.rollback&&(e.item.placeholder=document.createComment("sort-placeholder"),e.item.after(e.item.placeholder))}}}(0,a.Cg)([(0,o.MZ)({type:Boolean})],l.prototype,"disabled",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,attribute:"no-style"})],l.prototype,"noStyle",void 0),(0,a.Cg)([(0,o.MZ)({type:String,attribute:"draggable-selector"})],l.prototype,"draggableSelector",void 0),(0,a.Cg)([(0,o.MZ)({type:String,attribute:"handle-selector"})],l.prototype,"handleSelector",void 0),(0,a.Cg)([(0,o.MZ)({type:String,attribute:"filter"})],l.prototype,"filter",void 0),(0,a.Cg)([(0,o.MZ)({type:String})],l.prototype,"group",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,attribute:"invert-swap"})],l.prototype,"invertSwap",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],l.prototype,"options",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean})],l.prototype,"rollback",void 0),l=(0,a.Cg)([(0,o.EM)("ha-sortable")],l)},26613(e,t,i){i.a(e,async function(e,t){try{var a=i(62826),s=i(35211),o=i(5124),r=i(22441),l=i(75751),n=i(1087),d=i(22792),h=i(14503),c=i(18350),p=i(26300),u=(i(3449),i(85938),i(91485)),g=e([c,p,u]);[c,p,u]=g.then?(await g)():g;const b="M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z",y="M21 11H3V9H21V11M21 13H3V15H21V13Z",m="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";class v extends o.WF{render(){return o.qy` <ha-sortable handle-selector=".handle" draggable-selector=".row" .disabled="${!this.sortable||this.disabled}" -moved="${this._itemMoved}"> <div class="items"> ${(0,l.u)(this._items,(e,t)=>`${e}-${t}`,(e,t)=>{const i=""+(this.itemIndex?` ${t+1}`:"");return o.qy` <div class="layout horizontal center-center row"> <ha-input .type="${this.inputType}" .autocomplete="${this.autocomplete}" .disabled="${this.disabled}" dialogInitialFocus="${t}" .index="${t}" class="flex-auto" .label="${""+(this.label?`${this.label}${i}`:"")}" .value="${e}" ?data-last="${t===this._items.length-1}" ="${this._editItem}" ="${this._editItem}" ="${this._keyDown}"> ${this.inputPrefix?o.qy`<span slot="start">${this.inputPrefix}</span>`:o.s6} ${this.inputSuffix?o.qy`<span slot="end">${this.inputSuffix}</span>`:o.s6} </ha-input> <ha-icon-button .disabled="${this.disabled}" .index="${t}" slot="navigationIcon" .label="${this.removeLabel??this._i18n?.localize("ui.common.remove")??"Remove"}" ="${this._removeItem}" .path="${b}"></ha-icon-button> ${this.sortable?o.qy`<ha-svg-icon class="handle" .path="${y}"></ha-svg-icon>`:o.s6} </div> `})} </div> </ha-sortable> <div class="layout horizontal"> <ha-button size="small" appearance="filled" ="${this._addItem}" .disabled="${this.disabled||null!=this.max&&this._items.length>=this.max}"> <ha-svg-icon slot="start" .path="${m}"></ha-svg-icon> ${this.addLabel??(this.label?this._i18n?.localize("ui.components.multi-textfield.add_item",{item:this.label}):this._i18n?.localize("ui.common.add"))??"Add"} </ha-button> </div> ${this.helper?o.qy`<ha-input-helper-text .disabled="${this.disabled}">${this.helper}</ha-input-helper-text>`:o.s6} `}get _items(){return this.value??[]}async _addItem(){if(null!=this.max&&this._items.length>=this.max)return;const e=[...this._items,""];this._fireChanged(e),await this.updateComplete,this._lastInput?.focus()}async _editItem(e){if(this.updateOnBlur&&"input"===e.type)return;if(!this.updateOnBlur&&"change"===e.type)return;const t=e.target.index,i=[...this._items];i[t]=e.target.value,this._fireChanged(i)}async _keyDown(e){"Enter"===e.key&&(e.stopPropagation(),this._addItem())}_itemMoved(e){e.stopPropagation();const{oldIndex:t,newIndex:i}=e.detail,a=[...this._items],[s]=a.splice(t,1);a.splice(i,0,s),this._fireChanged(a)}async _removeItem(e){const t=e.target.index,i=[...this._items];i.splice(t,1),this._fireChanged(i)}_fireChanged(e){this.value=e,(0,n.r)(this,"value-changed",{value:e})}static get styles(){return[h.RF,o.AH`.row{margin-bottom:8px;--ha-input-padding-bottom:0}ha-icon-button{display:block}.handle{cursor:grab;padding:8px;margin:-8px}`]}constructor(...e){super(...e),this.disabled=!1,this.itemIndex=!1,this.sortable=!1,this.updateOnBlur=!1}}(0,a.Cg)([(0,r.MZ)({attribute:!1})],v.prototype,"value",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean})],v.prototype,"disabled",void 0),(0,a.Cg)([(0,r.MZ)()],v.prototype,"label",void 0),(0,a.Cg)([(0,r.MZ)()],v.prototype,"helper",void 0),(0,a.Cg)([(0,r.MZ)({attribute:"input-type"})],v.prototype,"inputType",void 0),(0,a.Cg)([(0,r.MZ)({attribute:"input-suffix"})],v.prototype,"inputSuffix",void 0),(0,a.Cg)([(0,r.MZ)({attribute:"input-prefix"})],v.prototype,"inputPrefix",void 0),(0,a.Cg)([(0,r.MZ)()],v.prototype,"autocomplete",void 0),(0,a.Cg)([(0,r.MZ)({attribute:"add-label"})],v.prototype,"addLabel",void 0),(0,a.Cg)([(0,r.MZ)({attribute:"remove-label"})],v.prototype,"removeLabel",void 0),(0,a.Cg)([(0,r.MZ)({attribute:"item-index",type:Boolean})],v.prototype,"itemIndex",void 0),(0,a.Cg)([(0,r.MZ)({type:Number})],v.prototype,"max",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean})],v.prototype,"sortable",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,attribute:"update-on-blur"})],v.prototype,"updateOnBlur",void 0),(0,a.Cg)([(0,r.wk)(),(0,s.Fg)({context:d.D5,subscribe:!0})],v.prototype,"_i18n",void 0),(0,a.Cg)([(0,r.P)("ha-input[data-last]")],v.prototype,"_lastInput",void 0),v=(0,a.Cg)([(0,r.EM)("ha-input-multi")],v),t()}catch(e){t(e)}})},61037(e,t,i){var a=i(62826),s=i(22441),o=i(5124),r=i(14503),l=i(14782),n=i(44144);class d extends o.WF{render(){return o.qy` <img class="logo" alt="${l.aK[this.voiceAssistantId].name}" src="${(0,n.MR)({domain:l.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,o.AH`:host{display:inline}.logo{position:relative;vertical-align:middle;height:24px}`]}}(0,a.Cg)([(0,s.MZ)({attribute:!1})],d.prototype,"hass",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],d.prototype,"voiceAssistantId",void 0),d=(0,a.Cg)([(0,s.EM)("voice-assistant-brand-icon")],d)},53211(e,t,i){i.d(t,{Gk:()=>s,Gq:()=>a});const a=e=>e.callWS({type:"cloud/alexa/entities"}),s=(e,t)=>e.callWS({type:"cloud/alexa/entities/get",entity_id:t})},71117(e,t,i){i.d(t,{Gu:()=>s,Pd:()=>u,Sb:()=>b,Up:()=>g,Ut:()=>o,cn:()=>c,dq:()=>d,eN:()=>n,p1:()=>y,p7:()=>a,q3:()=>l,qF:()=>m,ql:()=>p,vO:()=>r,yG:()=>h});const a=({hass:e,...t})=>e.callApi("POST","cloud/login",t),s=e=>e.callApi("POST","cloud/logout"),o=(e,t)=>e.callApi("POST","cloud/forgot_password",{email:t}),r=(e,t,i)=>e.callApi("POST","cloud/register",{email:t,password:i}),l=(e,t)=>e.callApi("POST","cloud/resend_confirm",{email:t}),n=e=>e.callWS({type:"cloud/status"}),d=(e,t)=>e.callWS({type:"cloud/cloudhook/create",webhook_id:t}),h=(e,t)=>e.callWS({type:"cloud/cloudhook/delete",webhook_id:t}),c=e=>e.callWS({type:"cloud/remote/connect"}),p=e=>e.callWS({type:"cloud/remote/disconnect"}),u=e=>e.callWS({type:"cloud/subscription"}),g=(e,t)=>e.callWS({type:"cloud/update_prefs",...t}),b=e=>e.callWS({type:"cloud/remove_data"}),y=(e,t,i)=>e.callWS({type:"cloud/google_assistant/entities/update",entity_id:t,disable_2fa:i}),m=e=>e.callApi("GET","cloud/support_package")},14782(e,t,i){i.d(t,{Gw:()=>r,Ow:()=>n,YH:()=>o,aK:()=>s,hB:()=>d,ij:()=>l});i(18111),i(22489);var a=i(59241);const s={conversation:{domain:"assist_pipeline",name:"Assist"},"cloud.alexa":{domain:"alexa",name:"Amazon Alexa"},"cloud.google_assistant":{domain:"google_assistant",name:"Google Assistant"}},o=(e,t,i)=>e.callWS({type:"homeassistant/expose_new_entities/set",assistant:t,expose_new:i}),r=(e,t)=>e.callWS({type:"homeassistant/expose_new_entities/get",assistant:t}),l=(e,t,i,a)=>e.callWS({type:"homeassistant/expose_entity",assistants:t,entity_ids:i,should_expose:a}),n=e=>e.callWS({type:"homeassistant/expose_entity/list"}),d=(e,t)=>{const i=(0,a.Ox)(e)[t];return Object.keys(s).filter(e=>i?.options?.[e]?.should_expose)}},56982(e,t,i){i.d(t,{ig:()=>a,kz:()=>s});const a=e=>e.callWS({type:"cloud/google_assistant/entities"}),s=(e,t)=>e.callWS({type:"cloud/google_assistant/entities/get",entity_id:t})},66983(e,t,i){i.a(e,async function(e,a){try{i.r(t);i(18111),i(7588);var s=i(62826),o=i(5124),r=i(22441),l=i(22786),n=i(14782),d=i(95341),h=e([d]);d=(h.then?(await h)():h)[0];class c extends o.WF{render(){return this.params?o.qy`<entity-voice-settings .hass="${this.hass}" .entityId="${this.entry.entity_id}" .entry="${this.entry}" .exposed="${this._calculateExposed(this.entry)}"></entity-voice-settings>`:o.s6}static get styles(){return[o.AH`:host{display:flex;flex-direction:column}.content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ha-space-6);flex:1}`]}constructor(...e){super(...e),this._calculateExposed=(0,l.A)(e=>{const t={};return Object.keys(n.aK).forEach(i=>{t[i]=e.options?.[i]?.should_expose}),t})}}(0,s.Cg)([(0,r.MZ)({attribute:!1})],c.prototype,"hass",void 0),(0,s.Cg)([(0,r.MZ)({attribute:!1})],c.prototype,"entry",void 0),(0,s.Cg)([(0,r.MZ)()],c.prototype,"params",void 0),c=(0,s.Cg)([(0,r.EM)("ha-more-info-view-voice-assistants")],c),a()}catch(e){a(e)}})},54706(e,t,i){i.d(t,{E:()=>o});i(74423),i(18111),i(13579);var a=i(62826),s=i(22441);const o=e=>{class t extends e{connectedCallback(){super.connectedCallback(),this._checkSubscribed()}disconnectedCallback(){if(super.disconnectedCallback(),this.__unsubs){for(;this.__unsubs.length;){const e=this.__unsubs.pop();e instanceof Promise?e.then(e=>e()):e()}this.__unsubs=void 0}}updated(e){if(super.updated(e),e.has("hass"))this._checkSubscribed();else if(this.hassSubscribeRequiredHostProps)for(const t of e.keys())if(this.hassSubscribeRequiredHostProps.includes(t))return void this._checkSubscribed()}hassSubscribe(){return[]}_checkSubscribed(){void 0===this.__unsubs&&this.isConnected&&void 0!==this.hass&&!this.hassSubscribeRequiredHostProps?.some(e=>void 0===this[e])&&(this.__unsubs=this.hassSubscribe())}}return(0,a.Cg)([(0,s.MZ)({attribute:!1})],t.prototype,"hass",void 0),t}},95341(e,t,i){i.a(e,async function(e,t){try{i(74423),i(18111),i(22489),i(61701);var a=i(62826),s=i(5124),o=i(22441),r=i(22786),l=i(36312),n=i(1087),d=i(28978),h=i(84446),c=i(38962),p=i(832),u=(i(9503),i(2846),i(59646)),g=(i(61037),i(53211)),b=i(71117),y=i(59241),m=i(14782),v=i(56982),_=i(54706),f=i(14503),k=i(36918),x=e([c,p,u]);[c,p,u]=x.then?(await x)():x;const w="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 C extends((0,_.E)(s.WF)){willUpdate(e){(0,l.x)(this.hass.config,"cloud")&&(e.has("entityId")&&this.entityId&&this._fetchEntities(),this.hasUpdated||(0,b.eN)(this.hass).then(e=>{this._cloudStatus=e}))}async _fetchEntities(){try{const e=await(0,v.kz)(this.hass,this.entityId);this._googleEntity=e,this.requestUpdate("_googleEntity")}catch(e){"not_supported"===e.code&&(this._unsupported["cloud.google_assistant"]=!0,this.requestUpdate("_unsupported"))}try{await(0,g.Gk)(this.hass,this.entityId)}catch(e){"not_supported"===e.code&&(this._unsupported["cloud.alexa"]=!0,this.requestUpdate("_unsupported"))}}render(){const e=!0===this._cloudStatus?.logged_in&&!0===this._cloudStatus.prefs.google_enabled,t=!0===this._cloudStatus?.logged_in&&!0===this._cloudStatus.prefs.alexa_enabled,i=[...Object.keys(m.aK)],a=[...i],o=t&&!(0,h.z)(this._cloudStatus.alexa_entities),r=e&&!(0,h.z)(this._cloudStatus.google_entities);e?r&&a.splice(a.indexOf("cloud.google_assistant"),1):(i.splice(i.indexOf("cloud.google_assistant"),1),a.splice(i.indexOf("cloud.google_assistant"),1)),t?o&&a.splice(a.indexOf("cloud.alexa"),1):(i.splice(i.indexOf("cloud.alexa"),1),a.splice(a.indexOf("cloud.alexa"),1));const l=a.some(e=>this.exposed[e]);let n;(o||r)&&(n=this._getEntityFilterFuncs(this._cloudStatus.google_entities,this._cloudStatus.alexa_entities));const c=o&&n.alexa(this.entityId),p=r&&n.google(this.entityId),u=l||c||p;return s.qy` <ha-md-list-item> <h3 slot="headline"> ${this.hass.localize("ui.dialogs.voice-settings.expose_header")} </h3> <ha-switch slot="end" ="${this._toggleAll}" .assistants="${a}" .checked="${u}"></ha-switch> </ha-md-list-item> ${u?i.map(e=>{const t=!this._unsupported[e],i=o&&"cloud.alexa"===e?c:r&&"cloud.google_assistant"===e?p:this.exposed[e],a=o&&"cloud.alexa"===e||r&&"cloud.google_assistant"===e,l="cloud.google_assistant"===e&&!r&&t&&this._googleEntity?.might_2fa;return s.qy` <ha-md-list-item> <voice-assistant-brand-icon slot="start" .voiceAssistantId="${e}" .hass="${this.hass}"> </voice-assistant-brand-icon> <span slot="headline">${m.aK[e].name}</span> ${t?s.s6:s.qy`<div slot="supporting-text" class="unsupported"> <ha-svg-icon .path="${w}"></ha-svg-icon> ${this.hass.localize("ui.dialogs.voice-settings.unsupported")} </div>`} ${a?s.qy` <div slot="supporting-text"> ${this.hass.localize("ui.dialogs.voice-settings.manual_config")} </div> `:s.s6} ${l?s.qy` <ha-checkbox slot="supporting-text" .checked="${!this._googleEntity.disable_2fa}" ="${this._2faChanged}"> ${this.hass.localize("ui.dialogs.voice-settings.ask_pin")} </ha-checkbox> `:s.s6} <ha-switch slot="end" .assistant="${e}" ="${this._toggleAssistant}" .disabled="${a||!i&&!t}" .checked="${i}"></ha-switch> </ha-md-list-item> `}):s.s6} <h3 class="header"> ${this.hass.localize("ui.dialogs.voice-settings.aliases_header")} </h3> <p class="description"> ${this.hass.localize("ui.dialogs.voice-settings.aliases_description")} </p> ${this.entry?s.qy` <ha-md-list-item> <span slot="headline"> ${this.hass.states[this.entityId]?(0,d.u)(this.hass.states[this.entityId]):this.entityId} </span> <span slot="supporting-text"> ${this.hass.localize("ui.dialogs.voice-settings.entity_name_alias_description")} </span> <ha-switch slot="end" .checked="${(this._aliases??this.entry.aliases).includes(null)}" ="${this._toggleEntityNameAlias}"></ha-switch> </ha-md-list-item> <ha-aliases-editor .hass="${this.hass}" .aliases="${(this._aliases??this.entry.aliases).filter(e=>null!==e)}" sortable -changed="${this._aliasesChanged}"></ha-aliases-editor> `:s.qy`<ha-alert alert-type="warning"> ${this.hass.localize("ui.dialogs.voice-settings.aliases_no_unique_id",{faq_link:s.qy`<a href="${(0,k.o)(this.hass,"/faq/unique_id")}" target="_blank" rel="noreferrer">${this.hass.localize("ui.dialogs.entity_registry.faq")}</a>`})} </ha-alert>`} `}async _toggleEntityNameAlias(e){const t=e.target.checked,i=this._aliases??this.entry?.aliases??[];this._aliases=t?[null,...i.filter(e=>null!==e)]:i.filter(e=>null!==e),await this._saveAliases()}_aliasesChanged(e){const t=(this._aliases??this.entry?.aliases??[]).includes(null)?[null]:[],i=e.detail.value;this._aliases=[...t,...i],this._saveAliases()}async _2faChanged(e){try{await(0,b.p1)(this.hass,this.entityId,!e.target.checked)}catch(t){e.target.checked=!e.target.checked}}async _saveAliases(){if(!this._aliases)return;const e=this._aliases.includes(null)?[null]:[],t=this._aliases.filter(e=>null!==e).map(e=>e.trim()).filter(e=>e),i=await(0,y.G_)(this.hass,this.entityId,{aliases:[...e,...t]});(0,n.r)(this,"entity-entry-updated",i.entity_entry)}async _toggleAssistant(e){if((0,m.ij)(this.hass,[e.target.assistant],[this.entityId],e.target.checked),this.entry){const e=await(0,y.v)(this.hass,this.entityId);(0,n.r)(this,"entity-entry-updated",e)}(0,n.r)(this,"exposed-entities-changed")}async _toggleAll(e){const t=e.target.checked?e.target.assistants.filter(e=>!this._unsupported[e]):e.target.assistants;if((0,m.ij)(this.hass,t,[this.entityId],e.target.checked),this.entry){const e=await(0,y.v)(this.hass,this.entityId);(0,n.r)(this,"entity-entry-updated",e)}(0,n.r)(this,"exposed-entities-changed")}static get styles(){return[f.RF,s.AH`:host{display:block;margin:32px;margin-top:0}ha-md-list-item{--md-list-item-leading-space:0;--md-list-item-trailing-space:0;--md-item-overflow:visible}img{height:32px;width:32px;margin-right:16px;margin-inline-end:16px;margin-inline-start:initial}ha-aliases-editor{display:block}ha-alert{display:block;margin-top:16px}.unsupported{display:flex;align-items:center}.unsupported ha-svg-icon{color:var(--error-color);--mdc-icon-size:16px;margin-right:4px;margin-inline-end:4px;margin-inline-start:initial}.header{margin-top:8px;margin-bottom:4px}.description{color:var(--secondary-text-color);font-size:var(--ha-font-size-m);line-height:var(--ha-line-height-condensed);margin-top:0;margin-bottom:16px}`]}constructor(...e){super(...e),this._unsupported={},this._getEntityFilterFuncs=(0,r.A)((e,t)=>({google:(0,h.p)(e.include_domains,e.include_entities,e.exclude_domains,e.exclude_entities),alexa:(0,h.p)(t.include_domains,t.include_entities,t.exclude_domains,t.exclude_entities)}))}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],C.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],C.prototype,"entityId",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],C.prototype,"exposed",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],C.prototype,"entry",void 0),(0,a.Cg)([(0,o.wk)()],C.prototype,"_cloudStatus",void 0),(0,a.Cg)([(0,o.wk)()],C.prototype,"_aliases",void 0),(0,a.Cg)([(0,o.wk)()],C.prototype,"_googleEntity",void 0),(0,a.Cg)([(0,o.wk)()],C.prototype,"_unsupported",void 0),C=(0,a.Cg)([(0,o.EM)("entity-voice-settings")],C),t()}catch(e){t(e)}})},36918(e,t,i){i.d(t,{o:()=>a});const a=(e,t)=>`https://www.iobroker.net/#${e.language&&e.language.split("-")[0]||"en"}/adapters/adapterref/iobroker.lovelace/README.md#`},97577(e,t,i){i.d(t,{A:()=>_});var a=i(5124),s=i(22441),o=i(6412),r=i(63672),l=i(34514),n=i(40991),d=i(92070),h=i(49546),c=i(9395),p=i(62676),u=i(15477),g=i(31896),b=(i(38625),a.AH`:host{--checked-icon-color:var(--wa-color-brand-on-loud);--checked-icon-scale:0.8;display:inline-flex;color:var(--wa-form-control-value-color);font-family:inherit;font-weight:var(--wa-form-control-value-font-weight);line-height:var(--wa-form-control-value-line-height);user-select:none;-webkit-user-select:none}[part~=control]{display:inline-flex;flex:0 0 auto;position:relative;align-items:center;justify-content:center;width:var(--wa-form-control-toggle-size);height:var(--wa-form-control-toggle-size);border-color:var(--wa-form-control-border-color);border-radius:min(calc(var(--wa-form-control-toggle-size) * .375),var(--wa-border-radius-s));border-style:var(--wa-border-style);border-width:var(--wa-form-control-border-width);background-color:var(--wa-form-control-background-color);transition:background var(--wa-transition-normal),border-color var(--wa-transition-fast),box-shadow var(--wa-transition-fast),color var(--wa-transition-fast);transition-timing-function:var(--wa-transition-easing);margin-inline-end:.5em}[part~=base]{display:flex;align-items:flex-start;position:relative;color:currentColor;vertical-align:middle;cursor:pointer}[part~=label]{display:inline}[part~=control]:has(:checked,:indeterminate){color:var(--checked-icon-color);border-color:var(--wa-form-control-activated-color);background-color:var(--wa-form-control-activated-color)}[part~=control]:has(> input:focus-visible:not(:disabled)){outline:var(--wa-focus-ring);outline-offset:var(--wa-focus-ring-offset)}:host [part~=base]:has(input:disabled){opacity:.5;cursor:not-allowed}input{position:absolute;padding:0;margin:0;height:100%;width:100%;opacity:0;pointer-events:none}[part~=icon]{display:flex;scale:var(--checked-icon-scale)}[part~=icon]::part(svg){translate:0.0009765625em}input:not(:checked,:indeterminate)+[part~=icon]{visibility:hidden}:host([required]) [part~=label]::after{content:var(--wa-form-control-required-content);color:var(--wa-form-control-required-content-color);margin-inline-start:var(--wa-form-control-required-content-offset)}`),y=Object.defineProperty,m=Object.getOwnPropertyDescriptor,v=(e,t,i,a)=>{for(var s,o=a>1?void 0:a?m(t,i):t,r=e.length-1;r>=0;r--)(s=e[r])&&(o=(a?s(t,i,o):s(o))||o);return a&&o&&y(t,i,o),o};let _=class extends p.q{static get validators(){const e=a.S$?[]:[(0,h.Y)({validationProperty:"checked",validationElement:Object.assign(document.createElement("input"),{type:"checkbox",required:!0})})];return[...super.validators,...e]}get value(){return this._value??"on"}set value(e){this._value=e}handleSizeChange(){(0,n.b)(this.localName,this.size)}get checked(){return this.valueHasChanged?Boolean(this._checked):this._checked??this.defaultChecked}set checked(e){this._checked=Boolean(e),this.valueHasChanged=!0}handleClick(){this.hasInteracted=!0,this.checked=!this.checked,this.indeterminate=!1,this.updateComplete.then(()=>{this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))})}connectedCallback(){super.connectedCallback(),this.handleDefaultCheckedChange()}handleDefaultCheckedChange(){this.handleValueOrCheckedChange()}handleValueOrCheckedChange(){this.setValue(this.checked?this.value:null,this._value),this.updateValidity()}handleStateChange(){this.hasUpdated&&(this.input.checked=this.checked,this.input.indeterminate=this.indeterminate),this.customStates.set("checked",this.checked),this.customStates.set("indeterminate",this.indeterminate),this.updateValidity()}handleDisabledChange(){this.customStates.set("disabled",this.disabled)}willUpdate(e){super.willUpdate(e),(e.has("value")||e.has("checked")||e.has("defaultChecked"))&&this.handleValueOrCheckedChange()}formResetCallback(){this._checked=null,super.formResetCallback(),this.handleValueOrCheckedChange()}click(){this.input.click()}focus(e){this.input.focus(e)}blur(){this.input.blur()}render(){const e=!!a.S$||this.hasSlotController.test("hint"),t=!!this.hint||!!e,i=!this.checked&&this.indeterminate,s=i?"indeterminate":"check",n=i?"indeterminate":"check";return a.qy` <label part="base"> <span part="control"> <input class="input" type="checkbox" title="${this.title}" name="${(0,r.J)(this.name)}" value="${(0,r.J)(this._value)}" .indeterminate="${(0,l.V)(this.indeterminate)}" .checked="${(0,l.V)(this.checked)}" .disabled="${this.disabled}" .required="${this.required}" aria-checked="${this.indeterminate?"mixed":this.checked?"true":"false"}" aria-describedby="hint" @click="${this.handleClick}"> <wa-icon part="${n}-icon icon" library="system" name="${s}"></wa-icon> </span> <slot part="label"></slot> </label> <slot id="hint" part="hint" name="hint" aria-hidden="${t?"false":"true"}" class="${(0,o.H)({"has-slotted":t})}"> ${this.hint} </slot> `}constructor(){super(...arguments),this.hasSlotController=new d.X(this,"hint"),this.title="",this.name=null,this._value=this.getAttribute("value")??null,this.size="m",this.disabled=!1,this.indeterminate=!1,this._checked=null,this.defaultChecked=this.hasAttribute("checked"),this.required=!1,this.hint=""}};_.css=[u.A,g.A,b],_.shadowRootOptions={...p.q.shadowRootOptions,delegatesFocus:!0},v([(0,s.P)('input[type="checkbox"]')],_.prototype,"input",2),v([(0,s.MZ)()],_.prototype,"title",2),v([(0,s.MZ)({reflect:!0})],_.prototype,"name",2),v([(0,s.MZ)({reflect:!0})],_.prototype,"value",1),v([(0,s.MZ)({reflect:!0})],_.prototype,"size",2),v([(0,c.w)("size")],_.prototype,"handleSizeChange",1),v([(0,s.MZ)({type:Boolean})],_.prototype,"disabled",2),v([(0,s.MZ)({type:Boolean,reflect:!0})],_.prototype,"indeterminate",2),v([(0,s.MZ)({type:Boolean,attribute:!1})],_.prototype,"checked",1),v([(0,s.MZ)({type:Boolean,reflect:!0,attribute:"checked"})],_.prototype,"defaultChecked",2),v([(0,s.MZ)({type:Boolean,reflect:!0})],_.prototype,"required",2),v([(0,s.MZ)()],_.prototype,"hint",2),v([(0,c.w)(["checked","defaultChecked"])],_.prototype,"handleDefaultCheckedChange",1),v([(0,c.w)(["checked","indeterminate"])],_.prototype,"handleStateChange",1),v([(0,c.w)("disabled")],_.prototype,"handleDisabledChange",1),_=v([(0,s.EM)("wa-checkbox")],_),_.disableWarning?.("change-in-update")},49546(e,t,i){i.d(t,{Y:()=>a});i(44114);const a=(e={})=>{let{validationElement:t,validationProperty:i}=e;t||(t=Object.assign(document.createElement("input"),{required:!0})),i||(i="value");const a={observedAttributes:["required"],message:t.validationMessage,checkValidity(e){const t={message:"",isValid:!0,invalidKeys:[]};if(!(e.required??e.hasAttribute("required")))return t;return!e[i]&&(t.message="function"==typeof a.message?a.message(e):a.message||"",t.isValid=!1,t.invalidKeys.push("valueMissing")),t}};return a}}};