iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
58 lines • 34.9 kB
JavaScript
export const __rspack_esm_id=89203;export const __rspack_esm_ids=[89203];export const __webpack_modules__={26218(e,t,a){a.d(t,{a:()=>i});const o=(0,a(77796).n)(e=>{history.replaceState({scrollPosition:e},"")},300);function i(e){return(t,a)=>{if("object"==typeof a)throw new Error("This decorator does not support this compilation type.");const i=t.connectedCallback;t.connectedCallback=function(){i.call(this);const t=this[a];t&&this.updateComplete.then(()=>{const a=this.renderRoot.querySelector(e);a&&setTimeout(()=>{a.scrollTop=t},0)})};const r=Object.getOwnPropertyDescriptor(t,a);let s;if(void 0===r)s={get(){return this[`__${String(a)}`]||history.state?.scrollPosition},set(e){o(e),this[`__${String(a)}`]=e},configurable:!0,enumerable:!0};else{const e=r.set;s={...r,set(t){o(t),this[`__${String(a)}`]=t,e?.call(this,t)}}}Object.defineProperty(t,a,s)}}},57237(e,t,a){a.d(t,{d:()=>o});const o=e=>e.stopPropagation()},77796(e,t,a){a.d(t,{n:()=>o});const o=(e,t,a=!0,o=!0)=>{let i,r=0;const s=(...s)=>{const n=()=>{r=!1===a?0:Date.now(),i=void 0,e(...s)},l=Date.now();r||!1!==a||(r=l);const h=t-(l-r);h<=0||h>t?(i&&(clearTimeout(i),i=void 0),r=l,e(...s)):i||!1===o||(i=window.setTimeout(n,h))};return s.cancel=()=>{clearTimeout(i),i=void 0,r=0},s}},76776(e,t,a){var o=a(62826),i=a(5124),r=a(22441);class s extends i.WF{render(){return i.qy` ${this.header?i.qy`<h1 class="card-header">${this.header}</h1>`:i.s6} <slot></slot> `}constructor(...e){super(...e),this.raised=!1}}s.styles=i.AH`:host{background:var(--ha-card-background,var(--card-background-color,#fff));-webkit-backdrop-filter:var(--ha-card-backdrop-filter,none);backdrop-filter:var(--ha-card-backdrop-filter,none);box-shadow:var(--ha-card-box-shadow,none);box-sizing:border-box;border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg));border-width:var(--ha-card-border-width,1px);border-style:solid;border-color:var(--ha-card-border-color,var(--divider-color,#e0e0e0));color:var(--primary-text-color);display:block;transition:all .3s ease-out;position:relative}:host([raised]){border:none;box-shadow:var(--ha-card-box-shadow,0px 2px 1px -1px rgba(0,0,0,.2),0px 1px 1px 0px rgba(0,0,0,.14),0px 1px 3px 0px rgba(0,0,0,.12))}.card-header,:host ::slotted(.card-header){color:var(--ha-card-header-color,var(--primary-text-color));font-family:var(--ha-card-header-font-family, inherit);font-size:var(--ha-card-header-font-size, var(--ha-font-size-2xl));letter-spacing:-.012em;line-height:var(--ha-line-height-expanded);padding:var(--ha-space-3) var(--ha-space-4) var(--ha-space-4);display:block;margin-block-start:0;margin-block-end:0;font-weight:var(--ha-font-weight-normal)}
:host
::slotted(
.card-content:not(:nth-child(1 of .card-content, .card-header))
),
slot:not(:first-child)::slotted(.card-content) {
padding-top: 0;
margin-top: calc(var(--ha-space-2) * -1);
}
:host ::slotted(.card-content){padding:var(--ha-space-4)}:host ::slotted(.card-actions){border-top:1px solid var(--divider-color,#e8e8e8);padding:var(--ha-space-2)}`,(0,o.Cg)([(0,r.MZ)()],s.prototype,"header",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],s.prototype,"raised",void 0),s=(0,o.Cg)([(0,r.EM)("ha-card")],s)},9503(e,t,a){var o=a(62826),i=a(97577),r=a(5124),s=a(22441);class n extends i.A{get value(){return this._value??null}set value(e){this._value=e}static get styles(){return[i.A.styles,r.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))}`]}}n=(0,o.Cg)([(0,s.EM)("ha-checkbox")],n)},8630(e,t,a){var o=a(62826),i=a(68618),r=a(11081),s=a(22441);class n extends i.iY{}n.styles=r.R,n=(0,o.Cg)([(0,s.EM)("ha-list")],n)},54276(e,t,a){var o=a(62826),i=a(76482),r=a(91382),s=a(96245),n=a(5124),l=a(22441);class h extends r.n{attach(e){super.attach(e),this.attachableTouchController.attach(e)}disconnectedCallback(){super.disconnectedCallback(),this.hovered=!1,this.pressed=!1}detach(){super.detach(),this.attachableTouchController.detach()}_onTouchControlChange(e,t){e?.removeEventListener("touchend",this._handleTouchEnd),t?.addEventListener("touchend",this._handleTouchEnd)}constructor(...e){super(...e),this.attachableTouchController=new i.i(this,this._onTouchControlChange.bind(this)),this._handleTouchEnd=()=>{this.disabled||super.endPressAnimation()}}}h.styles=[s.R,n.AH`:host{--md-ripple-hover-opacity:var(--ha-ripple-hover-opacity, 0.08);--md-ripple-pressed-opacity:var(--ha-ripple-pressed-opacity, 0.12);--md-ripple-hover-color:var(
--ha-ripple-hover-color,
var(--ha-ripple-color, var(--secondary-text-color))
);--md-ripple-pressed-color:var(
--ha-ripple-pressed-color,
var(--ha-ripple-color, var(--secondary-text-color))
)}`],h=(0,o.Cg)([(0,l.EM)("ha-ripple")],h)},34127(e,t,a){a.a(e,async function(e,t){try{var o=a(62826),i=a(52630),r=a(5124),s=a(22441),n=e([i]);i=(n.then?(await n)():n)[0];class l extends i.A{static get styles(){return[i.A.styles,r.AH`:host{--wa-tooltip-background-color:var(
--ha-tooltip-background-color,
var(--ha-color-surface-default)
);--wa-tooltip-content-color:var(
--ha-tooltip-text-color,
var(--primary-text-color)
);--wa-tooltip-font-family:var(
--ha-tooltip-font-family,
var(--ha-font-family-body)
);--wa-tooltip-font-size:var(
--ha-tooltip-font-size,
var(--ha-font-size-m)
);--wa-tooltip-font-weight:var(
--ha-tooltip-font-weight,
var(--ha-font-weight-medium)
);--wa-tooltip-line-height:var(
--ha-tooltip-line-height,
var(--ha-line-height-condensed)
);--wa-tooltip-padding:var(--ha-tooltip-padding, var(--ha-space-2));--wa-tooltip-border-radius:var(
--ha-tooltip-border-radius,
var(--ha-border-radius-md)
);--wa-tooltip-arrow-size:var(--ha-tooltip-arrow-size, 0px);--wa-tooltip-border-width:0px;--wa-z-index-tooltip:1000}.tooltip::part(popup){animation-duration:var(--ha-tooltip-animation-duration, 0)}.body{box-shadow:var(--ha-tooltip-box-shadow,var(--ha-box-shadow-m))}`]}constructor(...e){super(...e),this.showDelay=350,this.hideDelay=150}}(0,o.Cg)([(0,s.MZ)({attribute:"show-delay",type:Number})],l.prototype,"showDelay",void 0),(0,o.Cg)([(0,s.MZ)({attribute:"hide-delay",type:Number})],l.prototype,"hideDelay",void 0),l=(0,o.Cg)([(0,s.EM)("ha-tooltip")],l),t()}catch(e){t(e)}})},36866(e,t,a){a.a(e,async function(e,t){try{var o=a(62826),i=a(5124),r=a(22441),s=a(91485),n=e([s]);s=(n.then?(await n)():n)[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 h extends s.U{willUpdate(e){super.willUpdate(e),this.label||this.placeholder||this.hasUpdated&&!e.has("_i18n")||(this.placeholder=this.i18n?.localize?.("ui.common.search")||"Search")}renderStartDefault(){return i.qy`<ha-svg-icon slot="start" .path="${l}"></ha-svg-icon>`}constructor(){super(),this.withClear=!0,this.autocomplete=this.autocomplete||"off"}}h.styles=[...s.U.styles,i.AH`:host([appearance=outlined]) wa-input.no-label::part(base){height:40px}`],h=(0,o.Cg)([(0,r.EM)("ha-input-search")],h),t()}catch(e){t(e)}})},91485(e,t,a){a.a(e,async function(e,o){try{a.d(t,{U:()=>_});var i=a(62826),r=(a(86137),a(30006)),s=a(92070),n=a(35211),l=a(5124),h=a(22441),d=a(6412),c=a(63672),p=a(57237),u=a(22792),v=a(26300),b=(a(67094),a(34127)),g=a(53305),y=e([r,v,b]);[r,v,b]=y.then?(await y)():y;const m="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",w="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z",f="M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z";class _ extends((0,g.w)(l.WF)){get _formControl(){return this._input}showPicker(){this._input?.showPicker()}stepUp(){this._input?.stepUp()}stepDown(){this._input?.stepDown()}async firstUpdated(e){super.firstUpdated(e),this.insetLabel||(await(this._input?.updateComplete),this._syncStartSlotWidth())}render(){const e=!this.label&&this._hasSlotController.test("label"),t=!this.hint&&this._hasSlotController.test("hint"),a=this._hasSlotController.test("start");return l.qy` <wa-input .type="${this.type}" .value="${this.value??null}" .withClear="${this.withClear}" .placeholder="${this.placeholder}" .readonly="${this.readonly}" .passwordToggle="${this.passwordToggle}" .passwordVisible="${this.passwordVisible}" .withoutSpinButtons="${this.withoutSpinButtons}" .required="${this.required}" .pattern="${this.pattern}" .minlength="${this.minlength}" .maxlength="${this.maxlength}" .min="${this.min}" .max="${this.max}" .step="${this.step}" .autocapitalize="${this.autocapitalize||void 0}" .autocorrect="${this.autocorrect?"on":"off"}" .autocomplete="${this.autocomplete}" .autofocus="${this.autofocus}" .enterkeyhint="${this.enterkeyhint||void 0}" .spellcheck="${this.spellcheck}" .inputmode="${this.inputmode||void 0}" .name="${this.name}" .disabled="${this.disabled}" class="${(0,d.H)({input:!0,invalid:this.invalid||this._invalid,"label-raised":void 0!==this.value&&""!==this.value||this.label&&this.placeholder||a&&this.insetLabel,"no-label":!this.label,"hint-hidden":!(this.hint||t||this.required||this._invalid||this.invalid)})}" ="${this._handleInput}" ="${this._handleChange}" ="${this._handleBlur}" -invalid="${this._handleInvalid}" exportparts="base:wa-base, hint:wa-hint, input:wa-input"> ${this.label||e?l.qy`<slot name="label" slot="label">${this.label?this._renderLabel(this.label,this.required):l.s6}</slot>`:l.s6} <slot name="start" slot="start" ="${this._syncStartSlotWidth}"> ${this.renderStartDefault()} </slot> <slot name="end" slot="end"> ${this.renderEndDefault()} </slot> <slot name="clear-button" slot="clear-button"> <ha-icon-button ="${this._handleClearClick}" .label="${this.i18n?.localize?.("ui.components.input.clear")||"Clear"}" .path="${m}"></ha-icon-button> </slot> <slot name="password-toggle-button" slot="password-toggle-button"> <ha-icon-button ="${p.d}" ="${this._handlePasswordToggle}" .label="${this.i18n?.localize?.("ui.components.input."+(this.passwordVisible?"hide_password":"show_password"))||(this.passwordVisible?"Hide password":"Show password")}" .path="${this.passwordVisible?f:w}"></ha-icon-button> </slot> <div slot="hint" class="${(0,d.H)({error:this.invalid||this._invalid})}" role="${(0,c.J)(this.invalid||this._invalid?"alert":void 0)}" aria-live="polite"> ${this._invalid||this.invalid?this.validationMessage||this._input?.validationMessage:this.hint||(t?l.qy`<slot name="hint"></slot>`:l.s6)} </div> </wa-input> `}renderStartDefault(){return l.s6}renderEndDefault(){return l.s6}_handleClearClick(){this._input?.clear()}_handlePasswordToggle(){this.passwordVisible=!this.passwordVisible}constructor(...e){super(...e),this.appearance="material",this.type="text",this.withClear=!1,this.passwordToggle=!1,this.passwordVisible=!1,this.withoutSpinButtons=!1,this.autocorrect=!1,this.insetLabel=!1,this._hasSlotController=new s.X(this,"label","hint","input","start"),this._syncStartSlotWidth=()=>{const e=this._input?.shadowRoot?.querySelector('[part~="start"]'),t=e?.offsetWidth??0;t>0&&!this.insetLabel?(this.style.setProperty("--start-slot-width",`calc(${t}px + var(--ha-space-1))`),this.style.setProperty("--input-padding-inline-start","var(--ha-space-1)")):(this.style.removeProperty("--start-slot-width"),this.style.removeProperty("--input-padding-inline-start"))}}}_.styles=[g.N,l.AH`:host{display:flex;align-items:flex-start;padding-top:var(--ha-input-padding-top);padding-bottom:var(--ha-input-padding-bottom,var(--ha-space-2));text-align:var(--ha-input-text-align,start)}:host([appearance=outlined]){padding-bottom:var(--ha-input-padding-bottom)}wa-input::part(label){padding-inline-start:calc(var(--start-slot-width,0px) + var(--ha-space-4));padding-inline-end:var(--ha-space-4);padding-top:var(--ha-space-5)}:host([appearance=material]:focus-within) wa-input::part(label){color:var(--primary-color)}:host(:focus-within) wa-input::part(label),:host([type=date]) wa-input::part(label),wa-input.label-raised::part(label){padding-top:var(--ha-space-3);font-size:var(--ha-font-size-xs)}wa-input::part(base){height:56px;padding:0 var(--ha-space-4)}:host([appearance=outlined]) wa-input.no-label::part(base){height:32px;padding:0 var(--ha-space-2)}:host([appearance=outlined]) wa-input::part(base){border:1px solid var(--ha-color-border-neutral-quiet);background-color:var(--card-background-color);border-radius:var(--ha-border-radius-md);transition:border-color var(--wa-transition-normal) ease-in-out}:host([appearance=material]) ::part(base)::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:var(--ha-color-border-neutral-loud);transition:height var(--wa-transition-normal) ease-in-out,background-color var(--wa-transition-normal) ease-in-out}:host([appearance=material]:focus-within) wa-input::part(base)::after{height:2px;background-color:var(--primary-color)}:host([appearance=material]) wa-input.invalid:not([disabled])::part(base)::after,:host([appearance=material]:focus-within) wa-input.invalid::part(base)::after{background-color:var(--ha-color-border-danger-normal)}wa-input::part(input){padding-top:var(--ha-space-3);padding-inline-start:var(--input-padding-inline-start,0)}wa-input.no-label::part(input){padding-top:0}:host([type=color]) wa-input::part(input){padding-top:var(--ha-space-6);padding-bottom:2px;cursor:pointer}:host([type=color]) wa-input.no-label::part(input){padding:var(--ha-space-2)}:host([type=color]) wa-input.no-label::part(base){padding:0}wa-input::part(input)::placeholder{color:var(--ha-color-neutral-60)}wa-input::part(base):hover{background-color:var(--ha-color-form-background-hover)}:host([appearance=outlined]) wa-input::part(base):hover{border-color:var(--ha-color-border-neutral-normal)}:host([appearance=outlined]:focus-within) wa-input::part(base){border-color:var(--primary-color)}wa-input:disabled::part(base){background-color:var(--ha-color-form-background-disabled)}wa-input:disabled::part(label){opacity:.5}wa-input::part(end){color:var(--ha-color-text-secondary)}ha-icon-button{display:flex;align-items:center;color:var(--ha-color-text-secondary)}:host([appearance=outlined]) wa-input.no-label{--ha-icon-button-size:24px;--mdc-icon-size:18px}`],(0,i.Cg)([(0,h.MZ)({reflect:!0})],_.prototype,"appearance",void 0),(0,i.Cg)([(0,h.MZ)({reflect:!0})],_.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,attribute:"with-clear"})],_.prototype,"withClear",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,attribute:"password-toggle"})],_.prototype,"passwordToggle",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,attribute:"password-visible"})],_.prototype,"passwordVisible",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,attribute:"without-spin-buttons"})],_.prototype,"withoutSpinButtons",void 0),(0,i.Cg)([(0,h.MZ)()],_.prototype,"pattern",void 0),(0,i.Cg)([(0,h.MZ)()],_.prototype,"min",void 0),(0,i.Cg)([(0,h.MZ)()],_.prototype,"max",void 0),(0,i.Cg)([(0,h.MZ)()],_.prototype,"step",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean})],_.prototype,"autocorrect",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,attribute:"inset-label"})],_.prototype,"insetLabel",void 0),(0,i.Cg)([(0,h.P)("wa-input")],_.prototype,"_input",void 0),(0,i.Cg)([(0,h.wk)(),(0,n.Fg)({context:u.D5,subscribe:!0})],_.prototype,"i18n",void 0),_=(0,i.Cg)([(0,h.EM)("ha-input")],_),o()}catch(e){o(e)}})},53305(e,t,a){a.d(t,{w:()=>l,N:()=>h});var o=a(62826),i=a(5124),r=a(22441),s=a(22786);a(74423);const n=Boolean(globalThis.ElementInternals)&&globalThis.HTMLElement?.prototype.attachInternals?.toString().includes("[native code]"),l=e=>{class t extends e{get _formControl(){throw new Error("_formControl getter must be implemented by subclass")}select(){this._formControl?.select()}setSelectionRange(e,t,a){this._formControl?.setSelectionRange(e,t,a)}setRangeText(e,t,a,o){this._formControl?.setRangeText(e,t,a,o)}checkValidity(){return!n||(this._formControl?.checkValidity()??!0)}reportValidity(){const e=this.checkValidity();return this._invalid=!e,e}_handleInput(){this.value=this._formControl?.value??void 0,this._invalid&&this._formControl?.checkValidity()&&(this._invalid=!1)}_handleChange(){this.value=this._formControl?.value??void 0}_handleBlur(){this.autoValidate&&(this._invalid=!this._formControl?.checkValidity())}_handleInvalid(){this._invalid=!0}constructor(...e){super(...e),this.label="",this.hint="",this.placeholder="",this.readonly=!1,this.required=!1,this.autocapitalize="",this.autofocus=!1,this.spellcheck=!0,this.inputmode="",this.enterkeyhint="",this.disabled=!1,this.validationMessage="",this.autoValidate=!1,this.invalid=!1,this._invalid=!1,this._requiredMarkerCSSVar="--ha-input-required-marker",this._renderLabel=(0,s.A)((e,t)=>{if(!t)return e;let a=getComputedStyle(this).getPropertyValue(this._requiredMarkerCSSVar);return a||(a="*"),a.startsWith('"')&&a.endsWith('"')&&(a=a.slice(1,-1)),a?`${e}${a}`:e})}}return t.shadowRootOptions={mode:"open",delegatesFocus:!0},(0,o.Cg)([(0,r.MZ)()],t.prototype,"value",void 0),(0,o.Cg)([(0,r.MZ)()],t.prototype,"label",void 0),(0,o.Cg)([(0,r.MZ)()],t.prototype,"hint",void 0),(0,o.Cg)([(0,r.MZ)()],t.prototype,"placeholder",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],t.prototype,"readonly",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],t.prototype,"required",void 0),(0,o.Cg)([(0,r.MZ)({type:Number})],t.prototype,"minlength",void 0),(0,o.Cg)([(0,r.MZ)({type:Number})],t.prototype,"maxlength",void 0),(0,o.Cg)([(0,r.MZ)()],t.prototype,"autocapitalize",void 0),(0,o.Cg)([(0,r.MZ)()],t.prototype,"autocomplete",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],t.prototype,"autofocus",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],t.prototype,"spellcheck",void 0),(0,o.Cg)([(0,r.MZ)()],t.prototype,"inputmode",void 0),(0,o.Cg)([(0,r.MZ)()],t.prototype,"enterkeyhint",void 0),(0,o.Cg)([(0,r.MZ)()],t.prototype,"name",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],t.prototype,"disabled",void 0),(0,o.Cg)([(0,r.MZ)({attribute:"validation-message"})],t.prototype,"validationMessage",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,attribute:"auto-validate"})],t.prototype,"autoValidate",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],t.prototype,"invalid",void 0),(0,o.Cg)([(0,r.wk)()],t.prototype,"_invalid",void 0),t},h=i.AH`.input{flex:1;min-width:0;--wa-transition-fast:var(--wa-transition-normal);position:relative}.input::part(label){position:absolute;top:0;font-weight:var(--ha-font-weight-normal);font-family:var(--ha-font-family-body);transition:all var(--wa-transition-normal) ease-in-out;color:var(--secondary-text-color);line-height:var(--ha-line-height-condensed);z-index:1;pointer-events:none;font-size:var(--ha-font-size-m)}.input.invalid:not([disabled])::part(label),:host(:focus-within) .input.invalid::part(label){color:var(--ha-color-fill-danger-loud-resting)}.input::part(base){background-color:var(--ha-color-form-background);border-top-left-radius:var(--ha-border-radius-sm);border-top-right-radius:var(--ha-border-radius-sm);border-bottom-left-radius:var(--ha-border-radius-square);border-bottom-right-radius:var(--ha-border-radius-square);border:none;position:relative;transition:background-color var(--wa-transition-normal) ease-in-out}:host(:focus-within) .input::part(base){outline:0}.input::part(hint){min-height:var(--ha-space-5);margin-block-start:0;margin-inline-start:var(--ha-space-3);font-size:var(--ha-font-size-s);display:flex;align-items:center;color:var(--ha-color-text-secondary)}.input.hint-hidden::part(hint){height:0;min-height:0}.error{color:var(--ha-color-on-danger-quiet)}`},84621(e,t,a){a.d(t,{$:()=>x,A2:()=>A,C2:()=>o,Iu:()=>M,Ky:()=>d,Lj:()=>h,Mo:()=>L,On:()=>n,P0:()=>$,PA:()=>l,Qo:()=>C,RW:()=>k,Uc:()=>s,Ui:()=>m,VC:()=>q,VK:()=>E,Yf:()=>P,ZU:()=>r,cm:()=>b,f7:()=>Z,hi:()=>f,i_:()=>u,jm:()=>D,kH:()=>c,ks:()=>p,oM:()=>v,p7:()=>z,pl:()=>g,rv:()=>y,sb:()=>W,tg:()=>S,tv:()=>_,xU:()=>i,zt:()=>w});const o=(e,t,a)=>e.connection.subscribeMessage(e=>a(e),{type:"zha/devices/reconfigure",ieee:t}),i=e=>e.callWS({type:"zha/topology/update"}),r=(e,t,a,o,i)=>e.callWS({type:"zha/devices/clusters/attributes",ieee:t,endpoint_id:a,cluster_id:o,cluster_type:i}),s=e=>e.callWS({type:"zha/devices"}),n=(e,t)=>e.callWS({type:"zha/device",ieee:t}),l=(e,t)=>e.callWS({type:"zha/devices/bindable",ieee:t}),h=(e,t,a)=>e.callWS({type:"zha/devices/bind",source_ieee:t,target_ieee:a}),d=(e,t,a)=>e.callWS({type:"zha/devices/unbind",source_ieee:t,target_ieee:a}),c=(e,t,a,o)=>e.callWS({type:"zha/groups/bind",source_ieee:t,group_id:a,bindings:o}),p=(e,t,a,o)=>e.callWS({type:"zha/groups/unbind",source_ieee:t,group_id:a,bindings:o}),u=(e,t)=>e.callWS({...t,type:"zha/devices/clusters/attributes/value"}),v=(e,t,a,o,i)=>e.callWS({type:"zha/devices/clusters/commands",ieee:t,endpoint_id:a,cluster_id:o,cluster_type:i}),b=(e,t)=>e.callWS({type:"zha/devices/clusters",ieee:t}),g=e=>e.callWS({type:"zha/groups"}),y=(e,t)=>e.callWS({type:"zha/group/remove",group_ids:t}),m=(e,t)=>e.callWS({type:"zha/group",group_id:t}),w=e=>e.callWS({type:"zha/devices/groupable"}),f=(e,t,a)=>e.callWS({type:"zha/group/members/add",group_id:t,members:a}),_=(e,t,a)=>e.callWS({type:"zha/group/members/remove",group_id:t,members:a}),x=(e,t,a,o)=>e.callWS({type:"zha/group/add",group_name:t,group_id:a,members:o}),C=e=>e.callWS({type:"zha/configuration"}),k=(e,t)=>e.callWS({type:"zha/configuration/update",data:t}),$=e=>e.callWS({type:"zha/network/settings"}),M=e=>e.callWS({type:"zha/network/backups/create"}),z=(e,t)=>e.callWS({type:"zha/network/change_channel",new_channel:t}),S="INITIALIZED",L="INTERVIEW_COMPLETE",Z="CONFIGURED",E=["PAIRED",Z,L],q=["device_joined","raw_device_initialized","device_fully_initialized"],D="log_output",A="zha_channel_bind",W="zha_channel_configure_reporting",P="zha_channel_cfg_done"},81310(e,t,a){a.a(e,async function(e,t){try{var o=a(62826),i=a(5124),r=a(22441),s=a(6412),n=a(26218),l=a(91926),h=a(90248),d=a(2054),c=a(14503),p=e([h,d]);[h,d]=p.then?(await p)():p;class u extends i.WF{render(){return i.qy` <div class="toolbar ${(0,s.H)({narrow:this.narrow})}"> <div class="toolbar-content"> ${this.mainPage||history.state?.root?i.qy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:this.backPath?i.qy` <ha-icon-button-arrow-prev href="${this.backPath}" .hass="${this.hass}"></ha-icon-button-arrow-prev> `:i.qy` <ha-icon-button-arrow-prev .hass="${this.hass}" ="${this._backTapped}"></ha-icon-button-arrow-prev> `} <div class="main-title"> <slot name="header">${this.header}</slot> </div> <slot name="toolbar-icon"></slot> </div> </div> <div class="${(0,s.H)({content:!0,"ha-scrollbar":this.scrollable,"not-scrollable":!this.scrollable})}" ="${this._saveScrollPos}"> <slot></slot> </div> <div id="fab"> <slot name="fab"></slot> </div> `}_saveScrollPos(e){this._savedScrollPos=e.target.scrollTop}_backTapped(){this.backCallback?this.backCallback():(0,l.OE)()}static get styles(){return[c.dp,i.AH`:host{display:block;height:100%;background-color:var(--primary-background-color);overflow:hidden;position:relative}:host([narrow]){width:100%;position:fixed}.toolbar{background-color:var(--app-header-background-color);padding-top:var(--safe-area-inset-top);padding-right:var(--safe-area-inset-right)}:host([narrow]) .toolbar{padding-left:var(--safe-area-inset-left)}.toolbar-content{display:flex;align-items:center;font-size:var(--ha-font-size-xl);height:var(--header-height);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;padding:8px 12px}.toolbar a{color:var(--sidebar-text-color);text-decoration:none}::slotted([slot=toolbar-icon]),ha-icon-button-arrow-prev,ha-menu-button{display:flex;align-items:center;pointer-events:auto;color:var(--sidebar-icon-color)}.main-title{margin-inline-start:var(--ha-space-6);line-height:var(--ha-line-height-normal);min-width:0;flex-grow:1;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.narrow .main-title{margin-inline-start:var(--ha-space-2)}.content{position:relative;width:calc(100% - var(--safe-area-inset-right,0px));height:calc(100% - 1px - var(--header-height,0px) - var(--safe-area-inset-top,0px) - var(--safe-area-inset-bottom,0px));padding-bottom:var(--safe-area-inset-bottom,0px);margin-right:var(--safe-area-inset-right);overflow-y:auto;overflow:auto;-webkit-overflow-scrolling:touch}.content.not-scrollable{overflow:hidden;display:flex;flex-direction:column}:host([narrow]) .content{width:calc(100% - var(--safe-area-inset-left,0px) - var(--safe-area-inset-right,0px));margin-left:var(--safe-area-inset-left)}#fab{position:absolute;right:calc(16px + var(--safe-area-inset-right,0px));inset-inline-end:calc(16px + var(--safe-area-inset-right,0px));inset-inline-start:initial;bottom:calc(16px + var(--safe-area-inset-bottom,0px));z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ha-space-2);--ha-button-box-shadow:var(--ha-box-shadow-l)}:host([narrow]) #fab.tabs{bottom:calc(84px + var(--safe-area-inset-bottom,0px))}#fab[is-wide]{bottom:calc(24px + var(--safe-area-inset-bottom,0px));right:calc(24px + var(--safe-area-inset-right,0px));inset-inline-end:calc(24px + var(--safe-area-inset-right,0px));inset-inline-start:initial}`]}constructor(...e){super(...e),this.mainPage=!1,this.narrow=!1,this.scrollable=!0}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,o.Cg)([(0,r.MZ)()],u.prototype,"header",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,attribute:"main-page"})],u.prototype,"mainPage",void 0),(0,o.Cg)([(0,r.MZ)({type:String,attribute:"back-path"})],u.prototype,"backPath",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],u.prototype,"backCallback",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],u.prototype,"narrow",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],u.prototype,"scrollable",void 0),(0,o.Cg)([(0,n.a)(".content")],u.prototype,"_savedScrollPos",void 0),(0,o.Cg)([(0,r.Ls)({passive:!0})],u.prototype,"_saveScrollPos",null),u=(0,o.Cg)([(0,r.EM)("hass-subpage")],u),t()}catch(e){t(e)}})},92834(e,t,a){a.a(e,async function(e,t){try{a(74423),a(18111),a(22489),a(7588),a(61701),a(13579);var o=a(62826),i=a(35211),r=a(5124),s=a(22441),n=a(75751),l=(a(76776),a(26300)),h=(a(8630),a(36866)),d=(a(28170),a(86698),a(83492),a(22792)),c=e([l,h]);[l,h]=c.then?(await c)():c;const p="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z";class u extends r.WF{clearSelection(){this._selectedDeviceIds=[],this._list?.clearSelection(),this._fireSelectionChanged()}render(){const e=this._deviceEndpointRows,t=this._filterDeviceEndpoints(e),a=e.length>5||this._filter;return r.qy` <ha-card class="${`${a?"searchable":""} ${this.scrollable?"scrollable":""}`}"> ${a?r.qy` <div class="search"> <ha-input-search appearance="outlined" .value="${this._filter}" ="${this._handleFilterChanged}"></ha-input-search> </div> `:""} ${t.length?r.qy` ${this.selectable?r.qy` <ha-list-selectable multi -list-selected="${this._handleListSelectionChanged}"> ${(0,n.u)(t,e=>e.id,e=>this._renderSelectableListRow(e))} </ha-list-selectable> `:r.qy` <ha-list> ${(0,n.u)(t,e=>e.id,e=>this._renderReadonlyListRow(e))} </ha-list> `} `:r.qy` <div class="empty-list"> ${this._filter?this._i18n.localize("ui.panel.config.zha.groups.no_devices_found"):this.emptyText||this._i18n.localize("ui.components.data-table.no-data")} </div> `} </ha-card> `}get _deviceEndpointRows(){return this.deviceEndpoints.map(e=>({name:e.device.user_given_name||e.device.name,area:e.device.area_id?this._areas[e.device.area_id]?.name:void 0,model:e.device.model,manufacturer:e.device.manufacturer,id:`${e.device.ieee}_${e.endpoint_id}`,ieee:e.device.ieee,endpoint_id:e.endpoint_id,entities:e.entities,dev_id:e.device.device_reg_id}))}_renderSelectableListRow(e){const t=this._selectedDeviceIds.includes(e.id);return r.qy` <ha-list-item-option appearance="checkbox" class="device-row" .value="${e.id}" .selected="${t}"> <span slot="headline">${e.name}</span> <span slot="supporting-text"> ${this._deviceEndpointDetails(e)} </span> ${this.showDeviceLink?r.qy` <ha-icon-button slot="end" .path="${p}" .href="${`/config/devices/device/${e.dev_id}`}" .label="${this._i18n.localize("ui.panel.config.zha.groups.open_device")}" ="${this._stopPropagation}"></ha-icon-button> `:r.s6} </ha-list-item-option> `}_renderReadonlyListRow(e){return r.qy` <ha-list-item-base class="device-row"> <span slot="headline">${e.name}</span> <span slot="supporting-text"> ${this._deviceEndpointDetails(e)} </span> ${this.showDeviceLink?r.qy` <ha-icon-button slot="end" .path="${p}" .href="${`/config/devices/device/${e.dev_id}`}" .label="${this._i18n.localize("ui.panel.config.zha.groups.open_device")}"></ha-icon-button> `:r.s6} </ha-list-item-base> `}_filterDeviceEndpoints(e){const t=this._filter.trim().toLowerCase();return t?e.filter(e=>[e.name,this._deviceEndpointDetails(e),e.ieee,e.manufacturer,e.model].filter(Boolean).some(e=>e.toLowerCase().includes(t))):e}_deviceEndpointDetails(e){const t=e.entities.map(e=>e.name||e.original_name||e.entity_id),a=t.length?t.length>2?`${t.slice(0,2).join(", ")} +${t.length-2}`:t.join(", "):this._i18n.localize("ui.panel.config.zha.groups.no_entities");return[e.area,`${this._i18n.localize("ui.panel.config.zha.groups.endpoint")} ${e.endpoint_id}`,a].filter(Boolean).join(" · ")}_handleFilterChanged(e){this._filter=e.currentTarget.value}_handleListSelectionChanged(e){const t=e.currentTarget;let a=this._selectedDeviceIds;e.detail.diff?.added.forEach(e=>{const o=t.items[e];o?.value&&(a=this._setSelectedDeviceId(a,o.value,!0))}),e.detail.diff?.removed.forEach(e=>{const o=t.items[e];o?.value&&(a=this._setSelectedDeviceId(a,o.value,!1))}),this._selectedDeviceIds=a,this._fireSelectionChanged()}_setSelectedDeviceId(e,t,a){return a?e.includes(t)?e:[...e,t]:e.filter(e=>e!==t)}_fireSelectionChanged(){this.dispatchEvent(new CustomEvent("selection-changed",{detail:{value:this._selectedDeviceIds},bubbles:!0,composed:!0}))}_stopPropagation(e){e.stopPropagation()}static get styles(){return[r.AH`ha-card.scrollable{display:flex;flex-direction:column;overflow:hidden}ha-card.searchable.scrollable{height:min(520px,calc(100vh - 360px))}.search{padding:var(--ha-space-4) var(--ha-space-4) var(--ha-space-2)}ha-list,ha-list-selectable{display:block;width:100%;background:0 0;padding:0}ha-list-selectable::part(base){width:100%}ha-card.scrollable ha-list,ha-card.scrollable ha-list-selectable{overflow-y:auto}.device-row{width:100%;--ha-row-item-min-height:64px;--ha-row-item-gap:var(--ha-space-3)}[slot=headline],[slot=supporting-text]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-list{padding:var(--ha-space-6);color:var(--secondary-text-color);text-align:center} (max-width:600px){ha-card.searchable.scrollable{height:440px}}`]}constructor(...e){super(...e),this.narrow=!1,this.selectable=!1,this.scrollable=!1,this.showDeviceLink=!1,this.deviceEndpoints=[],this._filter="",this._selectedDeviceIds=[]}}(0,o.Cg)([(0,s.MZ)({type:Boolean})],u.prototype,"narrow",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean})],u.prototype,"selectable",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean})],u.prototype,"scrollable",void 0),(0,o.Cg)([(0,s.MZ)({attribute:!1})],u.prototype,"emptyText",void 0),(0,o.Cg)([(0,s.MZ)({attribute:"show-device-link",type:Boolean})],u.prototype,"showDeviceLink",void 0),(0,o.Cg)([(0,s.MZ)({attribute:!1})],u.prototype,"deviceEndpoints",void 0),(0,o.Cg)([(0,s.wk)()],u.prototype,"_filter",void 0),(0,o.Cg)([(0,s.wk)()],u.prototype,"_selectedDeviceIds",void 0),(0,o.Cg)([(0,s.wk)(),(0,i.Fg)({context:d.D5,subscribe:!0})],u.prototype,"_i18n",void 0),(0,o.Cg)([(0,s.wk)(),(0,i.Fg)({context:d.wn,subscribe:!0})],u.prototype,"_areas",void 0),(0,o.Cg)([(0,s.P)("ha-list-selectable")],u.prototype,"_list",void 0),u=(0,o.Cg)([(0,s.EM)("zha-device-endpoint-list")],u),t()}catch(e){t(e)}})}};