UNPKG

iobroker.lovelace

Version:

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

58 lines 23.4 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[97067],{26218:function(e,t,a){a.d(t,{a:function(){return r}});a(16280);const o=(0,a(77796).n)(e=>{history.replaceState({scrollPosition:e},"")},300);function r(e){return(t,a)=>{if("object"==typeof a)throw new Error("This decorator does not support this compilation type.");const r=t.connectedCallback;t.connectedCallback=function(){r.call(this);const t=this[a];t&&this.updateComplete.then(()=>{const a=this.renderRoot.querySelector(e);a&&setTimeout(()=>{a.scrollTop=t},0)})};const i=Object.getOwnPropertyDescriptor(t,a);let n;if(void 0===i)n={get(){var e;return this[`__${String(a)}`]||(null===(e=history.state)||void 0===e?void 0:e.scrollPosition)},set(e){o(e),this[`__${String(a)}`]=e},configurable:!0,enumerable:!0};else{const e=i.set;n=Object.assign(Object.assign({},i),{},{set(t){o(t),this[`__${String(a)}`]=t,null==e||e.call(this,t)}})}Object.defineProperty(t,a,n)}}},77796:function(e,t,a){a.d(t,{n:function(){return o}});a(62953);const o=(e,t,a=!0,o=!0)=>{let r,i=0;const n=(...n)=>{const l=()=>{i=!1===a?0:Date.now(),r=void 0,e(...n)},s=Date.now();i||!1!==a||(i=s);const c=t-(s-i);c<=0||c>t?(r&&(clearTimeout(r),r=void 0),i=s,e(...n)):r||!1===o||(r=window.setTimeout(l,c))};return n.cancel=()=>{clearTimeout(r),r=void 0,i=0},n}},76776:function(e,t,a){a(62953);var o=a(40445),r=a(5124),i=a(67576);let n,l,s,c=e=>e;class d extends r.WF{render(){return(0,r.qy)(n||(n=c` ${0} <slot></slot> `),this.header?(0,r.qy)(l||(l=c`<h1 class="card-header">${0}</h1>`),this.header):r.s6)}constructor(...e){super(...e),this.raised=!1}}d.styles=(0,r.AH)(s||(s=c`: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,i.MZ)()],d.prototype,"header",void 0),(0,o.Cg)([(0,i.MZ)({type:Boolean,reflect:!0})],d.prototype,"raised",void 0),d=(0,o.Cg)([(0,i.EM)("ha-card")],d)},9503:function(e,t,a){var o=a(40445),r=a(97577),i=a(5124),n=a(67576);let l,s=e=>e;class c extends r.A{get value(){var e;return null!==(e=this._value)&&void 0!==e?e:null}set value(e){this._value=e}static get styles(){return[r.A.styles,(0,i.AH)(l||(l=s`: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))}`))]}}c=(0,o.Cg)([(0,n.EM)("ha-checkbox")],c)},8630:function(e,t,a){var o=a(40445),r=a(68618),i=a(11081),n=a(67576);class l extends r.iY{}l.styles=i.R,l=(0,o.Cg)([(0,n.EM)("ha-list")],l)},54276:function(e,t,a){a(62953);var o=a(40445),r=a(76482),i=a(91382),n=a(96245),l=a(5124),s=a(67576);let c;class d extends i.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){null==e||e.removeEventListener("touchend",this._handleTouchEnd),null==t||t.addEventListener("touchend",this._handleTouchEnd)}constructor(...e){super(...e),this.attachableTouchController=new r.i(this,this._onTouchControlChange.bind(this)),this._handleTouchEnd=()=>{this.disabled||super.endPressAnimation()}}}d.styles=[n.R,(0,l.AH)(c||(c=(e=>e)`: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)) )}`))],d=(0,o.Cg)([(0,s.EM)("ha-ripple")],d)},34127:function(e,t,a){a.a(e,async function(e,t){try{a(62953);var o=a(40445),r=a(52630),i=a(5124),n=a(67576),l=e([r]);r=(l.then?(await l)():l)[0];let s,c=e=>e;class d extends r.A{static get styles(){return[r.A.styles,(0,i.AH)(s||(s=c`: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,n.MZ)({attribute:"show-delay",type:Number})],d.prototype,"showDelay",void 0),(0,o.Cg)([(0,n.MZ)({attribute:"hide-delay",type:Number})],d.prototype,"hideDelay",void 0),d=(0,o.Cg)([(0,n.EM)("ha-tooltip")],d),t()}catch(s){t(s)}})},36866:function(e,t,a){a.a(e,async function(e,t){try{a(62953);var o=a(40445),r=a(5124),i=a(67576),n=a(91485),l=e([n]);n=(l.then?(await l)():l)[0];let s,c,d=e=>e;const h="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 p extends n.U{willUpdate(e){var t,a;(super.willUpdate(e),this.label||this.placeholder||this.hasUpdated&&!e.has("_i18n"))||(this.placeholder=(null===(t=this.i18n)||void 0===t||null===(a=t.localize)||void 0===a?void 0:a.call(t,"ui.common.search"))||"Search")}renderStartDefault(){return(0,r.qy)(s||(s=d`<ha-svg-icon slot="start" .path="${0}"></ha-svg-icon>`),h)}constructor(){super(),this.withClear=!0,this.autocomplete=this.autocomplete||"off"}}p.styles=[...n.U.styles,(0,r.AH)(c||(c=d`:host([appearance=outlined]) wa-input.no-label::part(base){height:40px}`))],p=(0,o.Cg)([(0,i.EM)("ha-input-search")],p),t()}catch(s){t(s)}})},84621:function(e,t,a){a.d(t,{$:function(){return x},A2:function(){return T},C2:function(){return o},Iu:function(){return $},Ky:function(){return d},Lj:function(){return c},Mo:function(){return M},On:function(){return l},P0:function(){return z},PA:function(){return s},Qo:function(){return k},RW:function(){return C},Uc:function(){return n},Ui:function(){return y},VC:function(){return L},VK:function(){return W},Yf:function(){return A},ZU:function(){return i},cm:function(){return b},f7:function(){return D},hi:function(){return w},i_:function(){return u},jm:function(){return P},kH:function(){return h},ks:function(){return p},oM:function(){return v},p7:function(){return S},pl:function(){return g},rv:function(){return f},sb:function(){return q},tg:function(){return E},tv:function(){return _},xU:function(){return r},zt:function(){return m}});const o=(e,t,a)=>e.connection.subscribeMessage(e=>a(e),{type:"zha/devices/reconfigure",ieee:t}),r=e=>e.callWS({type:"zha/topology/update"}),i=(e,t,a,o,r)=>e.callWS({type:"zha/devices/clusters/attributes",ieee:t,endpoint_id:a,cluster_id:o,cluster_type:r}),n=e=>e.callWS({type:"zha/devices"}),l=(e,t)=>e.callWS({type:"zha/device",ieee:t}),s=(e,t)=>e.callWS({type:"zha/devices/bindable",ieee:t}),c=(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}),h=(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(Object.assign(Object.assign({},t),{},{type:"zha/devices/clusters/attributes/value"})),v=(e,t,a,o,r)=>e.callWS({type:"zha/devices/clusters/commands",ieee:t,endpoint_id:a,cluster_id:o,cluster_type:r}),b=(e,t)=>e.callWS({type:"zha/devices/clusters",ieee:t}),g=e=>e.callWS({type:"zha/groups"}),f=(e,t)=>e.callWS({type:"zha/group/remove",group_ids:t}),y=(e,t)=>e.callWS({type:"zha/group",group_id:t}),m=e=>e.callWS({type:"zha/devices/groupable"}),w=(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}),k=e=>e.callWS({type:"zha/configuration"}),C=(e,t)=>e.callWS({type:"zha/configuration/update",data:t}),z=e=>e.callWS({type:"zha/network/settings"}),$=e=>e.callWS({type:"zha/network/backups/create"}),S=(e,t)=>e.callWS({type:"zha/network/change_channel",new_channel:t}),E="INITIALIZED",M="INTERVIEW_COMPLETE",D="CONFIGURED",W=["PAIRED",D,M],L=["device_joined","raw_device_initialized","device_fully_initialized"],P="log_output",T="zha_channel_bind",q="zha_channel_configure_reporting",A="zha_channel_cfg_done"},81310:function(e,t,a){a.a(e,async function(e,t){try{a(62953);var o=a(40445),r=a(5124),i=a(67576),n=a(6412),l=a(26218),s=a(91926),c=a(90248),d=a(2054),h=a(14503),p=e([c,d]);[c,d]=p.then?(await p)():p;let u,v,b,g,f,y=e=>e;class m extends r.WF{render(){var e;return(0,r.qy)(u||(u=y` <div class="toolbar ${0}"> <div class="toolbar-content"> ${0} <div class="main-title"> <slot name="header">${0}</slot> </div> <slot name="toolbar-icon"></slot> </div> </div> <div class="${0}" @scroll="${0}"> <slot></slot> </div> <div id="fab"> <slot name="fab"></slot> </div> `),(0,n.H)({narrow:this.narrow}),this.mainPage||null!==(e=history.state)&&void 0!==e&&e.root?(0,r.qy)(v||(v=y` <ha-menu-button .hass="${0}" .narrow="${0}"></ha-menu-button> `),this.hass,this.narrow):this.backPath?(0,r.qy)(b||(b=y` <ha-icon-button-arrow-prev href="${0}" .hass="${0}"></ha-icon-button-arrow-prev> `),this.backPath,this.hass):(0,r.qy)(g||(g=y` <ha-icon-button-arrow-prev .hass="${0}" @click="${0}"></ha-icon-button-arrow-prev> `),this.hass,this._backTapped),this.header,(0,n.H)({content:!0,"ha-scrollbar":this.scrollable,"not-scrollable":!this.scrollable}),this._saveScrollPos)}_saveScrollPos(e){this._savedScrollPos=e.target.scrollTop}_backTapped(){this.backCallback?this.backCallback():(0,s.OE)()}static get styles(){return[h.dp,(0,r.AH)(f||(f=y`: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,i.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,o.Cg)([(0,i.MZ)()],m.prototype,"header",void 0),(0,o.Cg)([(0,i.MZ)({type:Boolean,attribute:"main-page"})],m.prototype,"mainPage",void 0),(0,o.Cg)([(0,i.MZ)({type:String,attribute:"back-path"})],m.prototype,"backPath",void 0),(0,o.Cg)([(0,i.MZ)({attribute:!1})],m.prototype,"backCallback",void 0),(0,o.Cg)([(0,i.MZ)({type:Boolean,reflect:!0})],m.prototype,"narrow",void 0),(0,o.Cg)([(0,i.MZ)({type:Boolean})],m.prototype,"scrollable",void 0),(0,o.Cg)([(0,l.a)(".content")],m.prototype,"_savedScrollPos",void 0),(0,o.Cg)([(0,i.Ls)({passive:!0})],m.prototype,"_saveScrollPos",null),m=(0,o.Cg)([(0,i.EM)("hass-subpage")],m),t()}catch(u){t(u)}})},92834:function(e,t,a){a.a(e,async function(e,t){try{a(74423),a(18111),a(22489),a(7588),a(61701),a(13579),a(42762),a(62953);var o=a(40445),r=a(35211),i=a(5124),n=a(67576),l=a(75751),s=(a(76776),a(26300)),c=(a(8630),a(36866)),d=(a(28170),a(86698),a(83492),a(22792)),h=e([s,c]);[s,c]=h.then?(await h)():h;let p,u,v,b,g,f,y,m,w,_,x,k=e=>e;const C="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 z extends i.WF{clearSelection(){var e;this._selectedDeviceIds=[],null===(e=this._list)||void 0===e||e.clearSelection(),this._fireSelectionChanged()}render(){const e=this._deviceEndpointRows,t=this._filterDeviceEndpoints(e),a=e.length>5||this._filter;return(0,i.qy)(p||(p=k` <ha-card class="${0}"> ${0} ${0} </ha-card> `),`${a?"searchable":""} ${this.scrollable?"scrollable":""}`,a?(0,i.qy)(u||(u=k` <div class="search"> <ha-input-search appearance="outlined" .value="${0}" @input="${0}"></ha-input-search> </div> `),this._filter,this._handleFilterChanged):"",t.length?(0,i.qy)(v||(v=k` ${0} `),this.selectable?(0,i.qy)(b||(b=k` <ha-list-selectable multi @ha-list-selected="${0}"> ${0} </ha-list-selectable> `),this._handleListSelectionChanged,(0,l.u)(t,e=>e.id,e=>this._renderSelectableListRow(e))):(0,i.qy)(g||(g=k` <ha-list> ${0} </ha-list> `),(0,l.u)(t,e=>e.id,e=>this._renderReadonlyListRow(e)))):(0,i.qy)(f||(f=k` <div class="empty-list"> ${0} </div> `),this._filter?this._i18n.localize("ui.panel.config.zha.groups.no_devices_found"):this.emptyText||this._i18n.localize("ui.components.data-table.no-data")))}get _deviceEndpointRows(){return this.deviceEndpoints.map(e=>{var t;return{name:e.device.user_given_name||e.device.name,area:e.device.area_id?null===(t=this._areas[e.device.area_id])||void 0===t?void 0:t.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(0,i.qy)(y||(y=k` <ha-list-item-option appearance="checkbox" class="device-row" .value="${0}" .selected="${0}"> <span slot="headline">${0}</span> <span slot="supporting-text"> ${0} </span> ${0} </ha-list-item-option> `),e.id,t,e.name,this._deviceEndpointDetails(e),this.showDeviceLink?(0,i.qy)(m||(m=k` <ha-icon-button slot="end" .path="${0}" .href="${0}" .label="${0}" @click="${0}"></ha-icon-button> `),C,`/config/devices/device/${e.dev_id}`,this._i18n.localize("ui.panel.config.zha.groups.open_device"),this._stopPropagation):i.s6)}_renderReadonlyListRow(e){return(0,i.qy)(w||(w=k` <ha-list-item-base class="device-row"> <span slot="headline">${0}</span> <span slot="supporting-text"> ${0} </span> ${0} </ha-list-item-base> `),e.name,this._deviceEndpointDetails(e),this.showDeviceLink?(0,i.qy)(_||(_=k` <ha-icon-button slot="end" .path="${0}" .href="${0}" .label="${0}"></ha-icon-button> `),C,`/config/devices/device/${e.dev_id}`,this._i18n.localize("ui.panel.config.zha.groups.open_device")):i.s6)}_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){var t,a;const o=e.currentTarget;let r=this._selectedDeviceIds;null===(t=e.detail.diff)||void 0===t||t.added.forEach(e=>{const t=o.items[e];null!=t&&t.value&&(r=this._setSelectedDeviceId(r,t.value,!0))}),null===(a=e.detail.diff)||void 0===a||a.removed.forEach(e=>{const t=o.items[e];null!=t&&t.value&&(r=this._setSelectedDeviceId(r,t.value,!1))}),this._selectedDeviceIds=r,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[(0,i.AH)(x||(x=k`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}@media (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,n.MZ)({type:Boolean})],z.prototype,"narrow",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean})],z.prototype,"selectable",void 0),(0,o.Cg)([(0,n.MZ)({type:Boolean})],z.prototype,"scrollable",void 0),(0,o.Cg)([(0,n.MZ)({attribute:!1})],z.prototype,"emptyText",void 0),(0,o.Cg)([(0,n.MZ)({attribute:"show-device-link",type:Boolean})],z.prototype,"showDeviceLink",void 0),(0,o.Cg)([(0,n.MZ)({attribute:!1})],z.prototype,"deviceEndpoints",void 0),(0,o.Cg)([(0,n.wk)()],z.prototype,"_filter",void 0),(0,o.Cg)([(0,n.wk)()],z.prototype,"_selectedDeviceIds",void 0),(0,o.Cg)([(0,n.wk)(),(0,r.Fg)({context:d.D5,subscribe:!0})],z.prototype,"_i18n",void 0),(0,o.Cg)([(0,n.wk)(),(0,r.Fg)({context:d.wn,subscribe:!0})],z.prototype,"_areas",void 0),(0,o.Cg)([(0,n.P)("ha-list-selectable")],z.prototype,"_list",void 0),z=(0,o.Cg)([(0,n.EM)("zha-device-endpoint-list")],z),t()}catch(p){t(p)}})}}]);