UNPKG

iobroker.lovelace

Version:

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

10 lines 30.2 kB
export const __rspack_esm_id=60001;export const __rspack_esm_ids=[60001];export const __webpack_modules__={93421(t,e,i){i.d(e,{IW:()=>d,dH:()=>h,fI:()=>l});i(44114);var s=i(35211),a=i(22792),o=i(32172);const r=(t,e)=>{let i=t;for(const t of e){if(null==i)return;i=i[t]}return i},n=(t,e,i)=>{const a=(0,o.p)({transformer:function(t){return i.call(this,t)},watch:e?[e]:[]}),r=(0,s.Fg)({context:t,subscribe:!0});return(t,e)=>{a(t,e),r(t,e)}},l=t=>n(a.iN,t.entityIdPath[0],function(e){const i=r(this,t.entityIdPath);return"string"==typeof i?e?.[i]:void 0}),h=t=>n(a.X1,t.entityIdPath[0],function(e){const i=r(this,t.entityIdPath);return"string"==typeof i?e?.[i]:void 0}),d=()=>n(a.D5,void 0,({localize:t})=>t)},32172(t,e,i){i.d(e,{p:()=>s});i(18111),i(7588),i(45367),i(92731),i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698);function s(t){return(e,i)=>{if("object"==typeof i)throw new Error("This decorator does not support this compilation type.");const s=String(i),a=e;if(a._transformers){if(!a.hasOwnProperty("_transformers")){const t=a._transformers;a._transformers=new Map,t.forEach((t,e)=>a._transformers.set(e,t))}}else{a._transformers=new Map,a._watching=new Map;const t=a.willUpdate;a.willUpdate=function(e){t.call(this,e);const i=new Set;e.forEach((t,e)=>{const s=this._watching.get(e);void 0!==s&&s.forEach(t=>i.add(t))}),i.forEach(t=>{this[t]=this[`__original_${String(t)}`]})}}a._transformers.set(i,t.transformer),t.watch&&t.watch.forEach(t=>{let e=a._watching.get(t);e||(e=new Set,a._watching.set(t,e)),e.add(i)});const o=Object.getOwnPropertyDescriptor(e,i);let r;if(void 0===o)r={get(){return this[`__transform_${s}`]},set(t){const e=this[`__transform_${s}`],i=this._transformers.get(s);this[`__transform_${s}`]=i?i.call(this,t):t,this[`__original_${s}`]=t,this.requestUpdate(s,e)},configurable:!0,enumerable:!0};else{const t=o.set;r={...o,set(e){const i=this[`__transform_${s}`],a=this._transformers.get(s);this[`__transform_${s}`]=a?a.call(this,e):e,this[`__original_${s}`]=e,this.requestUpdate(s,i),t?.call(this,e)}}}Object.defineProperty(e,i,r)}}},38962(t,e,i){i.a(t,async function(t,s){try{i.r(e);var a=i(62826),o=i(5124),r=i(22441),n=i(6412),l=i(93421),h=i(1087),d=i(26300),c=(i(67094),t([d]));d=(c.then?(await c)():c)[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 o.WF{render(){return o.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?o.qy`<div class="title">${this.title}</div>`:o.s6} <slot></slot> </div> <div class="action"> <slot name="action"> ${this.dismissable?o.qy`<ha-icon-button @click="${this._dismissClicked}" .label="${this._localize?.("ui.common.dismiss_alert")}" .path="${p}"></ha-icon-button>`:o.s6} </slot> </div> </div> </div> `}_dismissClicked(){(0,h.r)(this,"alert-dismissed-clicked")}constructor(...t){super(...t),this.title="",this.alertType="info",this.dismissable=!1,this.narrow=!1}}g.styles=o.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,a.Cg)([(0,r.MZ)()],g.prototype,"title",void 0),(0,a.Cg)([(0,r.MZ)({attribute:"alert-type"})],g.prototype,"alertType",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean})],g.prototype,"dismissable",void 0),(0,a.Cg)([(0,r.wk)(),(0,l.IW)()],g.prototype,"_localize",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean})],g.prototype,"narrow",void 0),g=(0,a.Cg)([(0,r.EM)("ha-alert")],g),s()}catch(t){s(t)}})},832(t,e,i){i.a(t,async function(t,e){try{var s=i(62826),a=i(5124),o=i(22441),r=i(1087),n=i(26613),l=t([n]);n=(l.then?(await l)():l)[0];class h extends a.WF{render(){return this.aliases?a.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 @value-changed="${this._aliasesChanged}"> </ha-input-multi> `:a.s6}_aliasesChanged(t){t.stopPropagation(),(0,r.r)(this,"value-changed",{value:t.detail.value})}constructor(...t){super(...t),this.disabled=!1,this.sortable=!1}}(0,s.Cg)([(0,o.MZ)({attribute:!1})],h.prototype,"hass",void 0),(0,s.Cg)([(0,o.MZ)({type:Array})],h.prototype,"aliases",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],h.prototype,"disabled",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],h.prototype,"sortable",void 0),h=(0,s.Cg)([(0,o.EM)("ha-aliases-editor")],h),e()}catch(t){e(t)}})},3449(t,e,i){var s=i(62826),a=i(5124),o=i(22441);class r extends a.WF{render(){return a.qy`<slot></slot>`}constructor(...t){super(...t),this.disabled=!1}}r.styles=a.AH`:host{display:block;color:var(--mdc-text-field-label-ink-color,rgba(0,0,0,.6));font-size:var(--ha-font-size-s);padding-left:16px;padding-right:16px;padding-inline-start:16px;padding-inline-end:16px;letter-spacing:var( --mdc-typography-caption-letter-spacing, .0333333333em );line-height:normal}:host([disabled]){color:var(--mdc-text-field-disabled-ink-color,rgba(0,0,0,.6))}`,(0,s.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],r.prototype,"disabled",void 0),r=(0,s.Cg)([(0,o.EM)("ha-input-helper-text")],r)},2846(t,e,i){i.d(e,{G:()=>h,J:()=>l});var s=i(62826),a=i(58168),o=i(82553),r=i(5124),n=i(22441);i(54276);const l=[o.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 h extends a.n{renderRipple(){return"text"===this.type?r.s6:r.qy`<ha-ripple part="ripple" for="item" ?disabled="${this.disabled&&"link"!==this.type}"></ha-ripple>`}}h.styles=l,h=(0,s.Cg)([(0,n.EM)("ha-md-list-item")],h)},85938(t,e,i){i(18111),i(22489),i(46058);var s=i(62826),a=i(5124),o=i(22441),r=i(1087);class n extends a.WF{updated(t){t.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?a.s6:a.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 t=this.children[0];if(!t)return;const e=(await Promise.all([i.e(85283),i.e(70322)]).then(i.bind(i,80745))).default,s={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&&(s.draggable=this.draggableSelector),this.handleSelector&&(s.handle=this.handleSelector),void 0!==this.invertSwap&&(s.invertSwap=this.invertSwap),this.group&&(s.group=this.group),this.filter&&(s.filter=this.filter),this._sortable=new e(t,s)}_destroySortable(){this._sortable&&(this._sortable.destroy(),this._sortable=void 0)}constructor(...t){super(...t),this.disabled=!1,this.noStyle=!1,this.invertSwap=!1,this.rollback=!0,this._shouldBeDestroy=!1,this._handleUpdate=t=>{(0,r.r)(this,"item-moved",{newIndex:t.newIndex,oldIndex:t.oldIndex})},this._handleAdd=t=>{(0,r.r)(this,"item-added",{index:t.newIndex,data:t.item.sortableData,item:t.item})},this._handleRemove=t=>{(0,r.r)(this,"item-removed",{index:t.oldIndex})},this._handleEnd=async t=>{(0,r.r)(this,"drag-end"),this.rollback&&t.item.placeholder&&(t.item.placeholder.replaceWith(t.item),delete t.item.placeholder)},this._handleStart=()=>{(0,r.r)(this,"drag-start")},this._handleChoose=t=>{this.rollback&&(t.item.placeholder=document.createComment("sort-placeholder"),t.item.after(t.item.placeholder))}}}(0,s.Cg)([(0,o.MZ)({type:Boolean})],n.prototype,"disabled",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean,attribute:"no-style"})],n.prototype,"noStyle",void 0),(0,s.Cg)([(0,o.MZ)({type:String,attribute:"draggable-selector"})],n.prototype,"draggableSelector",void 0),(0,s.Cg)([(0,o.MZ)({type:String,attribute:"handle-selector"})],n.prototype,"handleSelector",void 0),(0,s.Cg)([(0,o.MZ)({type:String,attribute:"filter"})],n.prototype,"filter",void 0),(0,s.Cg)([(0,o.MZ)({type:String})],n.prototype,"group",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean,attribute:"invert-swap"})],n.prototype,"invertSwap",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],n.prototype,"options",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean})],n.prototype,"rollback",void 0),n=(0,s.Cg)([(0,o.EM)("ha-sortable")],n)},59646(t,e,i){i.a(t,async function(t,e){try{var s=i(62826),a=i(29344),o=i(5124),r=i(22441),n=i(88360),l=t([a]);a=(l.then?(await l)():l)[0];class h extends a.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[a.A.styles,o.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,s.Cg)([(0,r.MZ)({type:Boolean})],h.prototype,"haptic",void 0),h=(0,s.Cg)([(0,r.EM)("ha-switch")],h),e()}catch(t){e(t)}})},26613(t,e,i){i.a(t,async function(t,e){try{var s=i(62826),a=i(35211),o=i(5124),r=i(22441),n=i(75751),l=i(1087),h=i(22792),d=i(14503),c=i(18350),p=i(26300),u=(i(3449),i(85938),i(91485)),g=t([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",m="M21 11H3V9H21V11M21 13H3V15H21V13Z",y="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";class v extends o.WF{render(){return o.qy` <ha-sortable handle-selector=".handle" draggable-selector=".row" .disabled="${!this.sortable||this.disabled}" @item-moved="${this._itemMoved}"> <div class="items"> ${(0,n.u)(this._items,(t,e)=>`${t}-${e}`,(t,e)=>{const i=""+(this.itemIndex?` ${e+1}`:"");return o.qy` <div class="layout horizontal center-center row"> <ha-input .type="${this.inputType}" .autocomplete="${this.autocomplete}" .disabled="${this.disabled}" dialogInitialFocus="${e}" .index="${e}" class="flex-auto" .label="${""+(this.label?`${this.label}${i}`:"")}" .value="${t}" ?data-last="${e===this._items.length-1}" @input="${this._editItem}" @change="${this._editItem}" @keydown="${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="${e}" slot="navigationIcon" .label="${this.removeLabel??this._i18n?.localize("ui.common.remove")??"Remove"}" @click="${this._removeItem}" .path="${b}"></ha-icon-button> ${this.sortable?o.qy`<ha-svg-icon class="handle" .path="${m}"></ha-svg-icon>`:o.s6} </div> `})} </div> </ha-sortable> <div class="layout horizontal"> <ha-button size="small" appearance="filled" @click="${this._addItem}" .disabled="${this.disabled||null!=this.max&&this._items.length>=this.max}"> <ha-svg-icon slot="start" .path="${y}"></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 t=[...this._items,""];this._fireChanged(t),await this.updateComplete,this._lastInput?.focus()}async _editItem(t){if(this.updateOnBlur&&"input"===t.type)return;if(!this.updateOnBlur&&"change"===t.type)return;const e=t.target.index,i=[...this._items];i[e]=t.target.value,this._fireChanged(i)}async _keyDown(t){"Enter"===t.key&&(t.stopPropagation(),this._addItem())}_itemMoved(t){t.stopPropagation();const{oldIndex:e,newIndex:i}=t.detail,s=[...this._items],[a]=s.splice(e,1);s.splice(i,0,a),this._fireChanged(s)}async _removeItem(t){const e=t.target.index,i=[...this._items];i.splice(e,1),this._fireChanged(i)}_fireChanged(t){this.value=t,(0,l.r)(this,"value-changed",{value:t})}static get styles(){return[d.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(...t){super(...t),this.disabled=!1,this.itemIndex=!1,this.sortable=!1,this.updateOnBlur=!1}}(0,s.Cg)([(0,r.MZ)({attribute:!1})],v.prototype,"value",void 0),(0,s.Cg)([(0,r.MZ)({type:Boolean})],v.prototype,"disabled",void 0),(0,s.Cg)([(0,r.MZ)()],v.prototype,"label",void 0),(0,s.Cg)([(0,r.MZ)()],v.prototype,"helper",void 0),(0,s.Cg)([(0,r.MZ)({attribute:"input-type"})],v.prototype,"inputType",void 0),(0,s.Cg)([(0,r.MZ)({attribute:"input-suffix"})],v.prototype,"inputSuffix",void 0),(0,s.Cg)([(0,r.MZ)({attribute:"input-prefix"})],v.prototype,"inputPrefix",void 0),(0,s.Cg)([(0,r.MZ)()],v.prototype,"autocomplete",void 0),(0,s.Cg)([(0,r.MZ)({attribute:"add-label"})],v.prototype,"addLabel",void 0),(0,s.Cg)([(0,r.MZ)({attribute:"remove-label"})],v.prototype,"removeLabel",void 0),(0,s.Cg)([(0,r.MZ)({attribute:"item-index",type:Boolean})],v.prototype,"itemIndex",void 0),(0,s.Cg)([(0,r.MZ)({type:Number})],v.prototype,"max",void 0),(0,s.Cg)([(0,r.MZ)({type:Boolean})],v.prototype,"sortable",void 0),(0,s.Cg)([(0,r.MZ)({type:Boolean,attribute:"update-on-blur"})],v.prototype,"updateOnBlur",void 0),(0,s.Cg)([(0,r.wk)(),(0,a.Fg)({context:h.D5,subscribe:!0})],v.prototype,"_i18n",void 0),(0,s.Cg)([(0,r.P)("ha-input[data-last]")],v.prototype,"_lastInput",void 0),v=(0,s.Cg)([(0,r.EM)("ha-input-multi")],v),e()}catch(t){e(t)}})},42269(t,e,i){i.d(e,{p:()=>a});var s=i(1087);const a=(t,e)=>(0,s.r)(t,"hass-more-info",e)},54706(t,e,i){i.d(e,{E:()=>o});i(74423),i(18111),i(13579);var s=i(62826),a=i(22441);const o=t=>{class e extends t{connectedCallback(){super.connectedCallback(),this._checkSubscribed()}disconnectedCallback(){if(super.disconnectedCallback(),this.__unsubs){for(;this.__unsubs.length;){const t=this.__unsubs.pop();t instanceof Promise?t.then(t=>t()):t()}this.__unsubs=void 0}}updated(t){if(super.updated(t),t.has("hass"))this._checkSubscribed();else if(this.hassSubscribeRequiredHostProps)for(const e of t.keys())if(this.hassSubscribeRequiredHostProps.includes(e))return void this._checkSubscribed()}hassSubscribe(){return[]}_checkSubscribed(){void 0===this.__unsubs&&this.isConnected&&void 0!==this.hass&&!this.hassSubscribeRequiredHostProps?.some(t=>void 0===this[t])&&(this.__unsubs=this.hassSubscribe())}}return(0,s.Cg)([(0,a.MZ)({attribute:!1})],e.prototype,"hass",void 0),e}},50008(t,e,i){i.a(t,async function(t,s){try{i.r(e);var a=i(62826),o=i(5124),r=i(22441),n=i(1087),l=i(28978),h=i(26300),d=i(72554),c=i(42269),p=i(14503),u=i(95341),g=t([h,d,u]);[h,d,u]=g.then?(await g)():g;const b="M7 3H5V9H7V3M19 3H17V13H19V3M3 13H5V21H7V13H9V11H3V13M15 7H13V3H11V7H9V9H15V7M11 21H13V11H11V21M15 15V17H17V21H19V17H21V15H15Z";class m extends o.WF{showDialog(t){this._params=t,this._open=!0}closeDialog(){this._open=!1}_dialogClosed(){this._params=void 0,(0,n.r)(this,"dialog-closed",{dialog:this.localName})}_viewMoreInfo(){(0,c.p)(this,{entityId:this._params.entityId}),this.closeDialog()}render(){if(!this._params)return o.s6;const t=(0,l.u)(this.hass.states[this._params.entityId])||this.hass.localize("ui.panel.config.entities.picker.unnamed_entity");return o.qy` <ha-dialog .open="${this._open}" header-title="${t}" @closed="${this._dialogClosed}"> <ha-icon-button slot="headerActionItems" .label="${this.hass.localize("ui.dialogs.voice-settings.view_entity")}" .path="${b}" @click="${this._viewMoreInfo}"></ha-icon-button> <div> <entity-voice-settings .hass="${this.hass}" .entityId="${this._params.entityId}" .entry="${this._params.extEntityReg}" .exposed="${this._params.exposed}" @entity-entry-updated="${this._entityEntryUpdated}" @exposed-entities-changed="${this._exposedEntitiesChanged}"></entity-voice-settings> </div> </ha-dialog> `}_entityEntryUpdated(t){this._params.extEntityReg=t.detail}_exposedEntitiesChanged(){this._params.exposedEntitiesChanged?.()}static get styles(){return[p.RF,p.nA,o.AH`ha-dialog{--dialog-content-padding:0}`]}constructor(...t){super(...t),this._open=!1}}(0,a.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,a.Cg)([(0,r.wk)()],m.prototype,"_params",void 0),(0,a.Cg)([(0,r.wk)()],m.prototype,"_open",void 0),m=(0,a.Cg)([(0,r.EM)("dialog-voice-settings")],m),s()}catch(t){s(t)}})},95341(t,e,i){i.a(t,async function(t,e){try{i(74423),i(18111),i(22489),i(61701);var s=i(62826),a=i(5124),o=i(22441),r=i(22786),n=i(36312),l=i(1087),h=i(28978),d=i(84446),c=i(38962),p=i(832),u=(i(9503),i(2846),i(59646)),g=(i(61037),i(53211)),b=i(71117),m=i(59241),y=i(14782),v=i(56982),_=i(54706),f=i(14503),w=i(36918),x=t([c,p,u]);[c,p,u]=x.then?(await x)():x;const k="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 $ extends((0,_.E)(a.WF)){willUpdate(t){(0,n.x)(this.hass.config,"cloud")&&(t.has("entityId")&&this.entityId&&this._fetchEntities(),this.hasUpdated||(0,b.eN)(this.hass).then(t=>{this._cloudStatus=t}))}async _fetchEntities(){try{const t=await(0,v.kz)(this.hass,this.entityId);this._googleEntity=t,this.requestUpdate("_googleEntity")}catch(t){"not_supported"===t.code&&(this._unsupported["cloud.google_assistant"]=!0,this.requestUpdate("_unsupported"))}try{await(0,g.Gk)(this.hass,this.entityId)}catch(t){"not_supported"===t.code&&(this._unsupported["cloud.alexa"]=!0,this.requestUpdate("_unsupported"))}}render(){const t=!0===this._cloudStatus?.logged_in&&!0===this._cloudStatus.prefs.google_enabled,e=!0===this._cloudStatus?.logged_in&&!0===this._cloudStatus.prefs.alexa_enabled,i=[...Object.keys(y.aK)],s=[...i],o=e&&!(0,d.z)(this._cloudStatus.alexa_entities),r=t&&!(0,d.z)(this._cloudStatus.google_entities);t?r&&s.splice(s.indexOf("cloud.google_assistant"),1):(i.splice(i.indexOf("cloud.google_assistant"),1),s.splice(i.indexOf("cloud.google_assistant"),1)),e?o&&s.splice(s.indexOf("cloud.alexa"),1):(i.splice(i.indexOf("cloud.alexa"),1),s.splice(s.indexOf("cloud.alexa"),1));const n=s.some(t=>this.exposed[t]);let l;(o||r)&&(l=this._getEntityFilterFuncs(this._cloudStatus.google_entities,this._cloudStatus.alexa_entities));const c=o&&l.alexa(this.entityId),p=r&&l.google(this.entityId),u=n||c||p;return a.qy` <ha-md-list-item> <h3 slot="headline"> ${this.hass.localize("ui.dialogs.voice-settings.expose_header")} </h3> <ha-switch slot="end" @change="${this._toggleAll}" .assistants="${s}" .checked="${u}"></ha-switch> </ha-md-list-item> ${u?i.map(t=>{const e=!this._unsupported[t],i=o&&"cloud.alexa"===t?c:r&&"cloud.google_assistant"===t?p:this.exposed[t],s=o&&"cloud.alexa"===t||r&&"cloud.google_assistant"===t,n="cloud.google_assistant"===t&&!r&&e&&this._googleEntity?.might_2fa;return a.qy` <ha-md-list-item> <voice-assistant-brand-icon slot="start" .voiceAssistantId="${t}" .hass="${this.hass}"> </voice-assistant-brand-icon> <span slot="headline">${y.aK[t].name}</span> ${e?a.s6:a.qy`<div slot="supporting-text" class="unsupported"> <ha-svg-icon .path="${k}"></ha-svg-icon> ${this.hass.localize("ui.dialogs.voice-settings.unsupported")} </div>`} ${s?a.qy` <div slot="supporting-text"> ${this.hass.localize("ui.dialogs.voice-settings.manual_config")} </div> `:a.s6} ${n?a.qy` <ha-checkbox slot="supporting-text" .checked="${!this._googleEntity.disable_2fa}" @change="${this._2faChanged}"> ${this.hass.localize("ui.dialogs.voice-settings.ask_pin")} </ha-checkbox> `:a.s6} <ha-switch slot="end" .assistant="${t}" @change="${this._toggleAssistant}" .disabled="${s||!i&&!e}" .checked="${i}"></ha-switch> </ha-md-list-item> `}):a.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?a.qy` <ha-md-list-item> <span slot="headline"> ${this.hass.states[this.entityId]?(0,h.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)}" @change="${this._toggleEntityNameAlias}"></ha-switch> </ha-md-list-item> <ha-aliases-editor .hass="${this.hass}" .aliases="${(this._aliases??this.entry.aliases).filter(t=>null!==t)}" sortable @value-changed="${this._aliasesChanged}"></ha-aliases-editor> `:a.qy`<ha-alert alert-type="warning"> ${this.hass.localize("ui.dialogs.voice-settings.aliases_no_unique_id",{faq_link:a.qy`<a href="${(0,w.o)(this.hass,"/faq/unique_id")}" target="_blank" rel="noreferrer">${this.hass.localize("ui.dialogs.entity_registry.faq")}</a>`})} </ha-alert>`} `}async _toggleEntityNameAlias(t){const e=t.target.checked,i=this._aliases??this.entry?.aliases??[];this._aliases=e?[null,...i.filter(t=>null!==t)]:i.filter(t=>null!==t),await this._saveAliases()}_aliasesChanged(t){const e=(this._aliases??this.entry?.aliases??[]).includes(null)?[null]:[],i=t.detail.value;this._aliases=[...e,...i],this._saveAliases()}async _2faChanged(t){try{await(0,b.p1)(this.hass,this.entityId,!t.target.checked)}catch(e){t.target.checked=!t.target.checked}}async _saveAliases(){if(!this._aliases)return;const t=this._aliases.includes(null)?[null]:[],e=this._aliases.filter(t=>null!==t).map(t=>t.trim()).filter(t=>t),i=await(0,m.G_)(this.hass,this.entityId,{aliases:[...t,...e]});(0,l.r)(this,"entity-entry-updated",i.entity_entry)}async _toggleAssistant(t){if((0,y.ij)(this.hass,[t.target.assistant],[this.entityId],t.target.checked),this.entry){const t=await(0,m.v)(this.hass,this.entityId);(0,l.r)(this,"entity-entry-updated",t)}(0,l.r)(this,"exposed-entities-changed")}async _toggleAll(t){const e=t.target.checked?t.target.assistants.filter(t=>!this._unsupported[t]):t.target.assistants;if((0,y.ij)(this.hass,e,[this.entityId],t.target.checked),this.entry){const t=await(0,m.v)(this.hass,this.entityId);(0,l.r)(this,"entity-entry-updated",t)}(0,l.r)(this,"exposed-entities-changed")}static get styles(){return[f.RF,a.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(...t){super(...t),this._unsupported={},this._getEntityFilterFuncs=(0,r.A)((t,e)=>({google:(0,d.p)(t.include_domains,t.include_entities,t.exclude_domains,t.exclude_entities),alexa:(0,d.p)(e.include_domains,e.include_entities,e.exclude_domains,e.exclude_entities)}))}}(0,s.Cg)([(0,o.MZ)({attribute:!1})],$.prototype,"hass",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],$.prototype,"entityId",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],$.prototype,"exposed",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],$.prototype,"entry",void 0),(0,s.Cg)([(0,o.wk)()],$.prototype,"_cloudStatus",void 0),(0,s.Cg)([(0,o.wk)()],$.prototype,"_aliases",void 0),(0,s.Cg)([(0,o.wk)()],$.prototype,"_googleEntity",void 0),(0,s.Cg)([(0,o.wk)()],$.prototype,"_unsupported",void 0),$=(0,s.Cg)([(0,o.EM)("entity-voice-settings")],$),e()}catch(t){e(t)}})},36918(t,e,i){i.d(e,{o:()=>s});const s=(t,e)=>`https://www.iobroker.net/#${t.language&&t.language.split("-")[0]||"en"}/adapters/adapterref/iobroker.lovelace/README.md#`}};