iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 34.6 kB
JavaScript
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[24891],{66639:function(e,t,i){i.d(t,{Vu:function(){return r},Xz:function(){return s},cs:function(){return a}});i(44114),i(18111),i(61701),i(45367),i(92731),i(62953);const a=(e,t)=>{const i=new Map,a=[];for(const s of t)s.floor_id?(i.has(s.floor_id)||i.set(s.floor_id,[]),i.get(s.floor_id).push(s.area_id)):a.push(s.area_id);return{floors:e.map(e=>({id:e.floor_id,areas:i.get(e.floor_id)||[]})),areas:a}},s=e=>{const t=[];for(const i of e.floors)t.push(...i.areas);return t.push(...e.areas),t},r=e=>e.floors.map(e=>e.id)},79286:function(e,t,i){i.a(e,async function(e,t){try{i(74423),i(44114),i(26910),i(18111),i(22489),i(20116),i(7588),i(61701),i(53921),i(3362),i(27495),i(62953);var a=i(40445),s=i(61366),r=i(35211),n=i(78648),o=i(5124),l=i(67576),d=i(89784),h=i(22786),c=i(44537),p=i(1087),u=i(78649),v=i(52220),y=i(15638),g=i(28223),_=i(77423),m=i(22792),f=i(31422),b=i(53756),$=i(95350),k=i(5904),C=i(88555),x=i(54706),I=i(24367),w=i(19711),M=i(59653),E=i(44144),D=i(38508),F=(i(67094),i(73150),i(22099)),O=i(69404),L=e([s,D,F,O]);[s,D,F,O]=L.then?(await L)():L;let V,H,A,j,T,q,Z,z,R,P,S,B,N,G,W,K,U,Y,X,J,Q,ee,te,ie,ae,se,re,ne,oe=e=>e;const le="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",de="M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z",he="________",ce="___create-new-entity___",pe=e=>"entity"===e||"device"===e||"area"===e||"label"===e||"floor"===e;class ue extends((0,x.E)(o.WF)){get _showEntityId(){var e;return null===(e=this.hass.userData)||void 0===e?void 0:e.showEntityIdPicker}willUpdate(e){var t;super.willUpdate(e),this.hasUpdated||this._loadConfigEntries(),this._pendingEntityId&&e.has("hass")&&this.hass.states!==(null===(t=e.get("hass"))||void 0===t?void 0:t.states)&&this.hass.states[this._pendingEntityId]&&(this._addTarget(this._pendingEntityId,"entity"),this._pendingEntityId=void 0)}render(){return this.addOnTop?(0,o.qy)(V||(V=oe` ${0} ${0} `),this._renderPicker(),this._renderItems()):(0,o.qy)(H||(H=oe` ${0} ${0} `),this._renderItems(),this._renderPicker())}_renderValueChips(){var e,t,i,a,s;const r=null!==(e=this.value)&&void 0!==e&&e.entity_id?(0,c.e)(this.value.entity_id):[],n=null!==(t=this.value)&&void 0!==t&&t.device_id?(0,c.e)(this.value.device_id):[],l=null!==(i=this.value)&&void 0!==i&&i.area_id?(0,c.e)(this.value.area_id):[],d=null!==(a=this.value)&&void 0!==a&&a.floor_id?(0,c.e)(this.value.floor_id):[],h=null!==(s=this.value)&&void 0!==s&&s.label_id?(0,c.e)(this.value.label_id):[];return r.length||n.length||l.length||d.length||h.length?(0,o.qy)(A||(A=oe` <div class="items"> ${0} ${0} ${0} ${0} ${0} </div> `),d.length?d.map(e=>(0,o.qy)(j||(j=oe` <ha-target-picker-value-chip .hass="${0}" type="floor" .itemId="${0}" -target-item="${0}" -target-item="${0}"></ha-target-picker-value-chip> `),this.hass,e,this._handleRemove,this._handleExpand)):o.s6,l.length?l.map(e=>(0,o.qy)(T||(T=oe` <ha-target-picker-value-chip .hass="${0}" type="area" .itemId="${0}" -target-item="${0}" -target-item="${0}"></ha-target-picker-value-chip> `),this.hass,e,this._handleRemove,this._handleExpand)):o.s6,n.length?n.map(e=>(0,o.qy)(q||(q=oe` <ha-target-picker-value-chip .hass="${0}" type="device" .itemId="${0}" -target-item="${0}" -target-item="${0}"></ha-target-picker-value-chip> `),this.hass,e,this._handleRemove,this._handleExpand)):o.s6,r.length?r.map(e=>(0,o.qy)(Z||(Z=oe` <ha-target-picker-value-chip .hass="${0}" type="entity" .itemId="${0}" -target-item="${0}" -target-item="${0}"></ha-target-picker-value-chip> `),this.hass,e,this._handleRemove,this._handleExpand)):o.s6,h.length?h.map(e=>(0,o.qy)(z||(z=oe` <ha-target-picker-value-chip .hass="${0}" type="label" .itemId="${0}" -target-item="${0}" -target-item="${0}"></ha-target-picker-value-chip> `),this.hass,e,this._handleRemove,this._handleExpand)):o.s6):o.s6}_renderValueGroups(){var e,t,i,a,s,r;const n=null!==(e=this.value)&&void 0!==e&&e.entity_id?(0,c.e)(this.value.entity_id):[],l=null!==(t=this.value)&&void 0!==t&&t.device_id?(0,c.e)(this.value.device_id):[],d=null!==(i=this.value)&&void 0!==i&&i.area_id?(0,c.e)(this.value.area_id):[],h=null!==(a=this.value)&&void 0!==a&&a.floor_id?(0,c.e)(this.value.floor_id):[],p=null!==(s=this.value)&&void 0!==s&&s.label_id?(0,c.e)(null===(r=this.value)||void 0===r?void 0:r.label_id):[];return n.length||l.length||d.length||h.length||p.length?(0,o.qy)(R||(R=oe` <div class="item-groups"> ${0} ${0} ${0} ${0} </div> `),n.length?(0,o.qy)(P||(P=oe` <ha-target-picker-item-group -target-item="${0}" -target-item="${0}" type="entity" .hass="${0}" .items="${0}" .deviceFilter="${0}" .entityFilter="${0}" .includeDomains="${0}" .includeDeviceClasses="${0}" .primaryEntitiesOnly="${0}"> </ha-target-picker-item-group> `),this._handleRemove,this._handleReplace,this.hass,{entity:n},this.deviceFilter,this.entityFilter,this.includeDomains,this.includeDeviceClasses,this.primaryEntitiesOnly):o.s6,l.length?(0,o.qy)(S||(S=oe` <ha-target-picker-item-group -target-item="${0}" -target-item="${0}" type="device" .hass="${0}" .items="${0}" .deviceFilter="${0}" .entityFilter="${0}" .includeDomains="${0}" .includeDeviceClasses="${0}" .primaryEntitiesOnly="${0}"> </ha-target-picker-item-group> `),this._handleRemove,this._handleReplace,this.hass,{device:l},this.deviceFilter,this.entityFilter,this.includeDomains,this.includeDeviceClasses,this.primaryEntitiesOnly):o.s6,h.length||d.length?(0,o.qy)(B||(B=oe` <ha-target-picker-item-group -target-item="${0}" -target-item="${0}" type="area" .hass="${0}" .items="${0}" .deviceFilter="${0}" .entityFilter="${0}" .includeDomains="${0}" .includeDeviceClasses="${0}" .primaryEntitiesOnly="${0}"> </ha-target-picker-item-group> `),this._handleRemove,this._handleReplace,this.hass,{floor:h,area:d},this.deviceFilter,this.entityFilter,this.includeDomains,this.includeDeviceClasses,this.primaryEntitiesOnly):o.s6,p.length?(0,o.qy)(N||(N=oe` <ha-target-picker-item-group -target-item="${0}" -target-item="${0}" type="label" .hass="${0}" .items="${0}" .deviceFilter="${0}" .entityFilter="${0}" .includeDomains="${0}" .includeDeviceClasses="${0}" .primaryEntitiesOnly="${0}"> </ha-target-picker-item-group> `),this._handleRemove,this._handleReplace,this.hass,{label:p},this.deviceFilter,this.entityFilter,this.includeDomains,this.includeDeviceClasses,this.primaryEntitiesOnly):o.s6):o.s6}_renderItems(){return(0,o.qy)(G||(G=oe` ${0} `),this.compact?this._renderValueChips():this._renderValueGroups())}_renderPicker(){const e=[{id:"entity",label:this.hass.localize("ui.components.target-picker.type.entities")},{id:"device",label:this.hass.localize("ui.components.target-picker.type.devices")},{id:"area",label:this.hass.localize("ui.components.target-picker.type.areas")},"separator",{id:"label",label:this.hass.localize("ui.components.target-picker.type.labels")}];return(0,o.qy)(W||(W=oe` <div class="add-target-wrapper"> <ha-generic-picker .hass="${0}" .disabled="${0}" .autofocus="${0}" .helper="${0}" .sections="${0}" .notFoundLabel="${0}" .emptyLabel="${0}" .sectionTitleFunction="${0}" .selectedSection="${0}" .popoverAnchor="${0}" .rowRenderer="${0}" .getItems="${0}" -changed="${0}" -closed="${0}" .addButtonLabel="${0}" .getAdditionalItems="${0}"> </ha-generic-picker> </div> `),this.hass,this.disabled,this.autofocus,this.helper,e,this._noTargetFoundLabel,this.hass.localize("ui.components.target-picker.no_targets"),this._sectionTitleFunction,this._selectedSection,this._replaceTargetAnchor,this._renderRow,this._getItems,this._targetPicked,this._handlePickerClosed,this.hass.localize("ui.components.target-picker.add_target"),this._getAdditionalItems)}_targetPicked(e){e.stopPropagation();const t=e.detail.value;if(t.startsWith(ce))return void this._createNewDomainElement(t.substring(ce.length));const[i,a]=t.split(he);a&&pe(i)&&(this._replaceTarget?this._replaceTargetItem(this._replaceTarget,{type:i,id:a}):this._addTarget(a,i))}_replaceTargetItem(e,t){const i=this._replaceTargetInValue(this.value,e,t);i!==this.value&&(0,p.r)(this,"value-changed",{value:i})}_addTarget(e,t){var i,a;const s=this._addTargetToValue(this.value,{type:t,id:e});s!==this.value&&((0,p.r)(this,"value-changed",{value:s}),null===(i=this.shadowRoot)||void 0===i||null===(i=i.querySelector(`ha-target-picker-item-group[type='${null===(a=this._newTarget)||void 0===a?void 0:a.type}']`))||void 0===i||i.removeAttribute("collapsed"))}_replaceTargetInValue(e,t,i){if(!e||t.type===i.type&&t.id===i.id)return e;const a=this._removeItem(e,t.type,t.id);return this._addTargetToValue(a,i)}_addTargetToValue(e,t){const i=`${t.type}_id`;return"entity_id"!==i||(0,u.n)(t.id)?null!=e&&e[i]&&(0,c.e)(e[i]).includes(t.id)?e:e?Object.assign(Object.assign({},e),{},{[i]:e[i]?[...(0,c.e)(e[i]),t.id]:t.id}):{[i]:t.id}:e}_handleRemove(e){const{type:t,id:i}=e.detail;(0,p.r)(this,"value-changed",{value:this._removeItem(this.value,t,i)})}_handleExpand(e){const t=e.detail.type,i=e.detail.id,a=[],s=[],r=[];if("floor"===t)Object.values(this.hass.areas).forEach(e=>{var t;e.floor_id!==i||null!==(t=this.value.area_id)&&void 0!==t&&t.includes(e.area_id)||!(0,C.Kx)(e,this.hass.devices,this.hass.entities,this.deviceFilter,this.includeDomains,this.includeDeviceClasses,this.hass.states,this.entityFilter)||a.push(e.area_id)});else if("area"===t)Object.values(this.hass.devices).forEach(e=>{var t;e.area_id!==i||null!==(t=this.value.device_id)&&void 0!==t&&t.includes(e.id)||!(0,C.Ly)(e,this.hass.entities,this.deviceFilter,this.includeDomains,this.includeDeviceClasses,this.hass.states,this.entityFilter)||s.push(e.id)}),Object.values(this.hass.entities).forEach(e=>{var t;e.area_id!==i||null!==(t=this.value.entity_id)&&void 0!==t&&t.includes(e.entity_id)||!(0,C.YK)(e,!1,this.includeDomains,this.includeDeviceClasses,this.hass.states,this.entityFilter)||r.push(e.entity_id)});else if("device"===t)Object.values(this.hass.entities).forEach(e=>{var t;e.device_id!==i||null!==(t=this.value.entity_id)&&void 0!==t&&t.includes(e.entity_id)||!(0,C.YK)(e,!1,this.includeDomains,this.includeDeviceClasses,this.hass.states,this.entityFilter)||r.push(e.entity_id)});else{if("label"!==t)return;Object.values(this.hass.areas).forEach(e=>{var t;!e.labels.includes(i)||null!==(t=this.value.area_id)&&void 0!==t&&t.includes(e.area_id)||!(0,C.Kx)(e,this.hass.devices,this.hass.entities,this.deviceFilter,this.includeDomains,this.includeDeviceClasses,this.hass.states,this.entityFilter)||a.push(e.area_id)}),Object.values(this.hass.devices).forEach(e=>{var t;!e.labels.includes(i)||null!==(t=this.value.device_id)&&void 0!==t&&t.includes(e.id)||!(0,C.Ly)(e,this.hass.entities,this.deviceFilter,this.includeDomains,this.includeDeviceClasses,this.hass.states,this.entityFilter)||s.push(e.id)}),Object.values(this.hass.entities).forEach(e=>{var t;!e.labels.includes(i)||null!==(t=this.value.entity_id)&&void 0!==t&&t.includes(e.entity_id)||!(0,C.YK)(e,!0,this.includeDomains,this.includeDeviceClasses,this.hass.states,this.entityFilter)||r.push(e.entity_id)})}let n=this.value;r.length&&(n=this._addItems(n,"entity_id",r)),s.length&&(n=this._addItems(n,"device_id",s)),a.length&&(n=this._addItems(n,"area_id",a)),n=this._removeItem(n,t,i),(0,p.r)(this,"value-changed",{value:n})}_handleReplace(e){var t;e.stopPropagation(),this._replaceTargetAnchor=e.composedPath().find(e=>e instanceof HTMLElement&&"HA-TARGET-PICKER-ITEM-ROW"===e.tagName);const i=e.detail.type;if("floor"===i)this._selectedSection="area";else{if("entity"!==i&&"device"!==i&&"area"!==i&&"label"!==i)return;this._selectedSection=i}this._replaceTarget={type:i,id:e.detail.id},null===(t=this._picker)||void 0===t||t.open(void 0,{selectedValue:`${i}${he}${e.detail.id}`})}_handlePickerClosed(){this._replaceTarget&&(this._selectedSection=void 0),this._replaceTarget=void 0,this._replaceTargetAnchor=void 0}_addItems(e,t,i){return Object.assign(Object.assign({},e),{},{[t]:e[t]?(0,c.e)(e[t]).concat(i):i})}_removeItem(e,t,i){const a=`${t}_id`,s=(0,c.e)(e[a]).filter(e=>String(e)!==i);if(s.length)return Object.assign(Object.assign({},e),{},{[a]:s});const r=Object.assign({},e);return delete r[a],Object.keys(r).length?r:void 0}_filterGroup(e,t,i,a,s=!0){const r=this._fuseIndexes[e](t);return s?(0,M.x)(t,i,a,e=>e.id,r):(0,M.C)(t,i,a,r,{ignoreLocation:!0})}async _loadConfigEntries(){const e=await(0,_.VN)(this.hass);this._configEntryLookup=Object.fromEntries(e.map(e=>[e.entry_id,e]))}constructor(...e){super(...e),this.compact=!1,this.disabled=!1,this.addOnTop=!1,this._configEntryLookup={},this._getDevicesMemoized=(0,h.A)(f.oG),this._getLabelsMemoized=(0,h.A)(k.I),this._getEntitiesMemoized=(0,h.A)(b.w),this._getAreasAndFloorsMemoized=(0,h.A)(g.bi),this._fuseIndexes={area:(0,h.A)(e=>this._createFuseIndex(e,g.Z2)),entity:(0,h.A)(e=>this._createFuseIndex(e,b.t)),device:(0,h.A)(e=>this._createFuseIndex(e,f._o)),label:(0,h.A)(e=>this._createFuseIndex(e,k.u))},this._createFuseIndex=(e,t)=>n.A.createIndex(t,e),this._createNewDomainElement=e=>{(0,w.$)(this,{domain:e,dialogClosedCallback:e=>{e.entityId&&(this.hass.states[e.entityId]?this._addTarget(e.entityId,"entity"):this._pendingEntityId=e.entityId)}})},this._sectionTitleFunction=({firstIndex:e,lastIndex:t,firstItem:i,secondItem:a,itemsCount:s})=>{if(void 0===i||void 0===a||"string"==typeof i||"string"==typeof a&&"padding"!==a||0===e&&t===s-1)return;const r=(0,C.OJ)(i),n="area"===r||"floor"===r?"areas":"entity"===r?"entities":r&&"empty"!==r?`${r}s`:void 0;return n?this.hass.localize(`ui.components.target-picker.type.${n}`):void 0},this._getItems=(e,t)=>(this._selectedSection=t,this._getItemsMemoized(this.hass.localize,this.entityFilter,this.deviceFilter,this.includeDomains,this.includeDeviceClasses,this.value,this._replaceTarget,e,this._configEntryLookup,this._selectedSection)),this._getItemsMemoized=(0,h.A)((e,t,i,a,s,r,n,o,l,d)=>{const p="entity"===(null==n?void 0:n.type)?n.id:void 0,u="device"===(null==n?void 0:n.type)?n.id:void 0,v="area"===(null==n?void 0:n.type)?n.id:void 0,y="floor"===(null==n?void 0:n.type)?n.id:void 0,_="label"===(null==n?void 0:n.type)?n.id:void 0,m=[];if(!d||"entity"===d){let i=this._getEntitiesMemoized(this.hass,a,void 0,t,s,void 0,void 0,null!=r&&r.entity_id?p?(0,c.e)(r.entity_id).filter(e=>e!==p):(0,c.e)(r.entity_id):void 0,p?`entity${he}${p}`:void 0,`entity${he}`).sort(this._sortBySortingLabel);o&&(i=this._filterGroup("entity",i,o,b.t)),!d&&i.length&&m.push(e("ui.components.target-picker.type.entities")),m.push(...i)}if(!d||"device"===d){let n=this._getDevicesMemoized(this.hass,l,a,void 0,s,i,t,null!=r&&r.device_id?u?(0,c.e)(r.device_id).filter(e=>e!==u):(0,c.e)(r.device_id):void 0,u,`device${he}`).sort(this._sortBySortingLabel);o&&(n=this._filterGroup("device",n,o,f._o)),!d&&n.length&&m.push(e("ui.components.target-picker.type.devices")),m.push(...n)}if(!d||"area"===d){let n=this._getAreasAndFloorsMemoized(this.hass.states,this.hass.floors,this.hass.areas,this.hass.devices,this.hass.entities,(0,h.A)(e=>[e.type,e.id].join(he)),a,void 0,s,i,t,null!=r&&r.area_id?v?(0,c.e)(r.area_id).filter(e=>e!==v):(0,c.e)(r.area_id):void 0,null!=r&&r.floor_id?y?(0,c.e)(r.floor_id).filter(e=>e!==y):(0,c.e)(r.floor_id):void 0);o&&(n=this._filterGroup("area",n,o,g.Z2,!1)),!d&&n.length&&m.push(e("ui.components.target-picker.type.areas")),m.push(...n.map((e,t)=>{const i=n[t+1];return!i||"area"===e.type&&"floor"===i.type?Object.assign(Object.assign({},e),{},{last:!0}):e}))}if(!d||"label"===d){let n=this._getLabelsMemoized(this.hass.states,this.hass.areas,this.hass.devices,this.hass.entities,this._labelRegistry,a,void 0,s,i,t,null!=r&&r.label_id?_?(0,c.e)(r.label_id).filter(e=>e!==_):(0,c.e)(r.label_id):void 0,`label${he}`).sort(this._sortBySortingLabel);o&&(n=this._filterGroup("label",n,o,k.u)),!d&&n.length&&m.push(e("ui.components.target-picker.type.labels")),m.push(...n)}return m}),this._getAdditionalItems=()=>this._getCreateItems(this.createDomains),this._getCreateItems=(0,h.A)(e=>null!=e&&e.length?e.map(e=>{const t=this.hass.localize("ui.components.entity.entity-picker.create_helper",{domain:(0,I.z)(e)?this.hass.localize(`ui.panel.config.helpers.types.${e}`):(0,$.p$)(this.hass.localize,e)});return{id:ce+e,primary:t,secondary:this.hass.localize("ui.components.entity.entity-picker.new_entity"),icon_path:le}}):[]),this._renderRow=(e,t)=>{var i;if(!e)return o.s6;const a=(0,C.OJ)(e);let s=!1,r=!1,n=!1;var l;"area"!==a&&"floor"!==a||(r=(0,y.qC)(this.hass.language,this.hass.translationMetadata.translations),s="area"===a&&!(null===(l=e.area)||void 0===l||!l.floor_id));return"entity"===a&&(n=!!this._showEntityId),(0,o.qy)(K||(K=oe` <ha-combo-box-item id="${0}" tabindex="-1" .type="${0}" class="${0}" style="${0}"> ${0} ${0} <span slot="headline">${0}</span> ${0} ${0} ${0} </ha-combo-box-item> `),`list-item-${t}`,"empty"===a?"text":"button","empty"===a?"empty":"","area"===e.type&&s?"--md-list-item-leading-space: var(--ha-space-12);":"","area"===e.type&&s?(0,o.qy)(U||(U=oe` <ha-tree-indicator style="${0}" .end="${0}" slot="start"></ha-tree-indicator> `),(0,d.W)({width:"var(--ha-space-12)",position:"absolute",top:"0",left:r?void 0:"var(--ha-space-1)",right:r?"var(--ha-space-1)":void 0,transform:r?"scaleX(-1)":""}),e.last):o.s6,e.icon?(0,o.qy)(Y||(Y=oe`<ha-icon slot="start" .icon="${0}"></ha-icon>`),e.icon):e.icon_path?(0,o.qy)(X||(X=oe`<ha-svg-icon slot="start" .path="${0}"></ha-svg-icon>`),e.icon_path):"entity"===a&&e.stateObj?(0,o.qy)(J||(J=oe` <state-badge slot="start" .stateObj="${0}" .hass="${0}"></state-badge> `),e.stateObj,this.hass):"device"===a&&e.domain?(0,o.qy)(Q||(Q=oe` <img slot="start" alt="" crossorigin="anonymous" referrerpolicy="no-referrer" src="${0}"> `),(0,E.MR)({domain:e.domain,type:"icon",darkOptimized:this.hass.themes.darkMode},this.hass.auth.data.hassUrl)):"floor"===a?(0,o.qy)(ee||(ee=oe`<ha-floor-icon slot="start" .floor="${0}"></ha-floor-icon>`),e.floor):"area"===a?(0,o.qy)(te||(te=oe`<ha-svg-icon slot="start" .path="${0}"></ha-svg-icon>`),e.icon_path||de):o.s6,e.primary,e.secondary?(0,o.qy)(ie||(ie=oe`<span slot="supporting-text">${0}</span>`),e.secondary):o.s6,e.stateObj&&n?(0,o.qy)(ae||(ae=oe` <span slot="supporting-text" class="code"> ${0} </span> `),null===(i=e.stateObj)||void 0===i?void 0:i.entity_id):o.s6,!e.domain_name||"entity"===a&&n?o.s6:(0,o.qy)(se||(se=oe` <div slot="trailing-supporting-text" class="domain"> ${0} </div> `),e.domain_name))},this._noTargetFoundLabel=e=>this.hass.localize("ui.components.target-picker.no_target_found",{term:(0,o.qy)(re||(re=oe`<b>‘${0}’</b>`),e)}),this._sortBySortingLabel=(e,t)=>{var i,a;return(0,v.SH)(e.sorting_label,t.sorting_label,null!==(i=null===(a=this.hass)||void 0===a?void 0:a.locale.language)&&void 0!==i?i:navigator.language)}}}ue.styles=(0,o.AH)(ne||(ne=oe`.add-target-wrapper{display:flex;justify-content:flex-start;margin-top:var(--ha-space-3)}ha-generic-picker{width:100%}.items{z-index:2;display:flex;flex-wrap:wrap;padding:var(--ha-space-2) 0;gap:var(--ha-space-2)}.item-groups{overflow:hidden;border:2px solid var(--divider-color);border-radius:var(--ha-border-radius-lg)}`)),(0,a.Cg)([(0,l.MZ)({attribute:!1})],ue.prototype,"hass",void 0),(0,a.Cg)([(0,l.MZ)({attribute:!1})],ue.prototype,"value",void 0),(0,a.Cg)([(0,l.MZ)()],ue.prototype,"helper",void 0),(0,a.Cg)([(0,l.MZ)({type:Boolean,reflect:!0})],ue.prototype,"compact",void 0),(0,a.Cg)([(0,l.MZ)({attribute:!1})],ue.prototype,"createDomains",void 0),(0,a.Cg)([(0,l.MZ)({type:Boolean,attribute:"primary-entities-only"})],ue.prototype,"primaryEntitiesOnly",void 0),(0,a.Cg)([(0,l.MZ)({type:Array,attribute:"include-domains"})],ue.prototype,"includeDomains",void 0),(0,a.Cg)([(0,l.MZ)({type:Array,attribute:"include-device-classes"})],ue.prototype,"includeDeviceClasses",void 0),(0,a.Cg)([(0,l.MZ)({attribute:!1})],ue.prototype,"deviceFilter",void 0),(0,a.Cg)([(0,l.MZ)({attribute:!1})],ue.prototype,"entityFilter",void 0),(0,a.Cg)([(0,l.MZ)({type:Boolean,reflect:!0})],ue.prototype,"disabled",void 0),(0,a.Cg)([(0,l.MZ)({attribute:"add-on-top",type:Boolean})],ue.prototype,"addOnTop",void 0),(0,a.Cg)([(0,l.wk)()],ue.prototype,"_selectedSection",void 0),(0,a.Cg)([(0,l.wk)()],ue.prototype,"_replaceTarget",void 0),(0,a.Cg)([(0,l.wk)()],ue.prototype,"_replaceTargetAnchor",void 0),(0,a.Cg)([(0,l.wk)()],ue.prototype,"_configEntryLookup",void 0),(0,a.Cg)([(0,l.wk)(),(0,r.Fg)({context:m.HD,subscribe:!0})],ue.prototype,"_labelRegistry",void 0),(0,a.Cg)([(0,l.P)("ha-generic-picker")],ue.prototype,"_picker",void 0),(0,a.Cg)([(0,l.wk)()],ue.prototype,"_pendingEntityId",void 0),ue=(0,a.Cg)([(0,l.EM)("ha-target-picker")],ue),t()}catch(V){t(V)}})},73150:function(e,t,i){i(62953);var a=i(40445),s=i(5124),r=i(67576);let n,o,l=e=>e;class d extends s.WF{render(){return(0,s.qy)(n||(n=l` <svg width="100%" height="100%" viewBox="0 0 48 48"> <line x1="24" y1="0" x2="24" y2="${0}"></line> <line x1="24" y1="24" x2="36" y2="24"></line> </svg> `),this.end?"24":"48")}constructor(...e){super(...e),this.end=!1}}d.styles=(0,s.AH)(o||(o=l`:host{display:block;width:48px;height:48px}line{stroke:var(--divider-color);stroke-width:2;stroke-dasharray:2}`)),(0,a.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],d.prototype,"end",void 0),d=(0,a.Cg)([(0,r.EM)("ha-tree-indicator")],d)},22099:function(e,t,i){i.a(e,async function(e,t){try{i(18111),i(7588),i(61701),i(62953);var a=i(40445),s=i(5124),r=i(67576),n=(i(11382),i(50723),i(92288)),o=e([n]);n=(o.then?(await o)():o)[0];let l,d,h,c=e=>e;class p extends s.WF{render(){let e=0;return Object.values(this.items).forEach(t=>{t&&(e+=t.length)}),(0,s.qy)(l||(l=c`<ha-expansion-panel .expanded="${0}" left-chevron -changed="${0}"> <div slot="header" class="heading"> ${0} </div> <ha-list-base> ${0} </ha-list-base> </ha-expansion-panel>`),!this.collapsed,this._expandedChanged,this.hass.localize(`ui.components.target-picker.selected.${this.type}`,{count:e}),Object.entries(this.items).map(([e,t])=>t?t.map(t=>(0,s.qy)(d||(d=c`<ha-target-picker-item-row .hass="${0}" .type="${0}" .itemId="${0}" .deviceFilter="${0}" .entityFilter="${0}" .includeDomains="${0}" .includeDeviceClasses="${0}" .primaryEntitiesOnly="${0}"></ha-target-picker-item-row>`),this.hass,e,t,this.deviceFilter,this.entityFilter,this.includeDomains,this.includeDeviceClasses,this.primaryEntitiesOnly)):s.s6))}_expandedChanged(e){this.collapsed=!e.detail.expanded}constructor(...e){super(...e),this.collapsed=!1}}p.styles=(0,s.AH)(h||(h=c`:host{display:block;--expansion-panel-content-padding:0}ha-expansion-panel::part(summary){background-color:var(--ha-color-surface-low);padding:var(--ha-space-1) var(--ha-space-2);font-weight:var(--ha-font-weight-bold);color:var(--secondary-text-color);display:flex;justify-content:space-between;min-height:unset}`)),(0,a.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,a.Cg)([(0,r.MZ)()],p.prototype,"type",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"items",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],p.prototype,"collapsed",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"deviceFilter",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"entityFilter",void 0),(0,a.Cg)([(0,r.MZ)({type:Array,attribute:"include-domains"})],p.prototype,"includeDomains",void 0),(0,a.Cg)([(0,r.MZ)({type:Array,attribute:"include-device-classes"})],p.prototype,"includeDeviceClasses",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,attribute:"primary-entities-only"})],p.prototype,"primaryEntitiesOnly",void 0),p=(0,a.Cg)([(0,r.EM)("ha-target-picker-item-group")],p),t()}catch(l){t(l)}})},69404:function(e,t,i){i.a(e,async function(e,t){try{i(18111),i(20116),i(3362),i(62953);var a=i(40445),s=i(10058),r=i(35211),n=i(5124),o=i(67576),l=i(22786),d=i(78870),h=i(79468),c=i(1087),p=i(37981),u=i(71727),v=i(28978),y=i(80880),g=i(77423),_=i(22792),m=i(95350),f=i(44144),b=i(59174),$=i(18198),k=(i(47680),i(26300)),C=i(93367),x=i(34127),I=e([s,b,k,C,x]);[s,b,k,C,x]=I.then?(await I)():I;let w,M,E,D,F,O,L,V=e=>e;const H="M3 6H21V4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H7V18H3V6M13 12H9V13.78C8.39 14.33 8 15.11 8 16C8 16.89 8.39 17.67 9 18.22V20H13V18.22C13.61 17.67 14 16.88 14 16S13.61 14.33 13 13.78V12M11 17.5C10.17 17.5 9.5 16.83 9.5 16S10.17 14.5 11 14.5 12.5 15.17 12.5 16 11.83 17.5 11 17.5M22 8H16C15.5 8 15 8.5 15 9V19C15 19.5 15.5 20 16 20H22C22.5 20 23 19.5 23 19V9C23 8.5 22.5 8 22 8M21 18H17V10H21V18Z",A="M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z",j="M17.63,5.84C17.27,5.33 16.67,5 16,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H16C16.67,19 17.27,18.66 17.63,18.15L22,12L17.63,5.84Z",T="M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z",q="M18.17,12L15,8.83L16.41,7.41L21,12L16.41,16.58L15,15.17L18.17,12M5.83,12L9,15.17L7.59,16.59L3,12L7.59,7.42L9,8.83L5.83,12Z";class Z extends n.WF{render(){const{name:e,iconPath:t,fallbackIconPath:i,stateObject:a,color:s}=this._itemData(this.type,this.itemId);return(0,n.qy)(w||(w=V` <wa-tag pill with-remove class="${0}" style="${0}" -remove="${0}"> <div class="icon"> ${0} </div> <span class="name"> ${0} </span> ${0} </wa-tag> `),this.type,s?`--color: rgb(${s});`:"",this._removeItem,t?(0,n.qy)(M||(M=V`<ha-icon .icon="${0}"></ha-icon>`),t):this._iconImg?(0,n.qy)(E||(E=V`<img alt="${0}" width="24" crossorigin="anonymous" referrerpolicy="no-referrer" src="${0}">`),this._domainName||"",this._iconImg):i?(0,n.qy)(D||(D=V`<ha-svg-icon .path="${0}"></ha-svg-icon>`),i):a?(0,n.qy)(F||(F=V`<ha-state-icon .stateObj="${0}"></ha-state-icon>`),a):n.s6,e,"entity"===this.type?n.s6:(0,n.qy)(O||(O=V`<ha-tooltip .for="expand-${0}">${0} </ha-tooltip> <ha-icon-button class="expand-btn mdc-chip__icon mdc-chip__icon--trailing" .label="${0}" .path="${0}" hide-title .id="expand-${0}" .type="${0}" ="${0}"></ha-icon-button>`),(0,y.Y)(this.itemId),this.hass.localize(`ui.components.target-picker.expand_${this.type}_id`),this.hass.localize("ui.components.target-picker.expand"),q,(0,y.Y)(this.itemId),this.type,this._handleExpand))}_setDomainName(e){this._domainName=(0,m.p$)(this.hass.localize,e)}async _getDeviceDomain(e){try{var t;const i=(await(0,g.Vx)(this.hass,e)).config_entry.domain;this._iconImg=(0,f.MR)({domain:i,type:"icon",darkOptimized:null===(t=this.hass.themes)||void 0===t?void 0:t.darkMode},this.hass.auth.data.hassUrl),this._setDomainName(i)}catch(i){}}_removeItem(e){e.stopPropagation(),(0,c.r)(this,"remove-target-item",{type:this.type,id:this.itemId})}_handleExpand(e){e.stopPropagation(),(0,c.r)(this,"expand-target-item",{type:this.type,id:this.itemId})}constructor(...e){super(...e),this._itemData=(0,l.A)((e,t)=>{var i,a;if("floor"===e){var s;const e=null===(s=this.hass.floors)||void 0===s?void 0:s[t];return{name:(null==e?void 0:e.name)||t,iconPath:null==e?void 0:e.icon,fallbackIconPath:e?(0,$.Si)(e):A}}if("area"===e){var r;const e=null===(r=this.hass.areas)||void 0===r?void 0:r[t];return{name:(null==e?void 0:e.name)||t,iconPath:null==e?void 0:e.icon,fallbackIconPath:T}}if("device"===e){var n;const e=null===(n=this.hass.devices)||void 0===n?void 0:n[t];return e.primary_config_entry&&this._getDeviceDomain(e.primary_config_entry),{name:e?(0,p.T)(e,this.hass.localize,this.hass.states):t,fallbackIconPath:H}}if("entity"===e){this._setDomainName((0,u.m)(t));const e=this.hass.states[t];return{name:(0,v.u)(e)||t,stateObject:e}}const o=this._labelRegistry.find(e=>e.label_id===t);let l=null!=o&&o.color?(0,d.MP)(o.color):void 0;if(null!==(i=l)&&void 0!==i&&i.startsWith("var(")){l=getComputedStyle(this).getPropertyValue(l.substring(4,l.length-1))}return null!==(a=l)&&void 0!==a&&a.startsWith("#")&&(l=(0,h.xp)(l).join(",")),{name:(null==o?void 0:o.name)||t,iconPath:null==o?void 0:o.icon,fallbackIconPath:j,color:l}})}}Z.styles=(0,n.AH)(L||(L=V`:host{display:inline-block;max-width:100%}wa-tag{background-color:var(--card-background-color);border-width:var(--ha-border-width-md);padding-inline-start:0;overflow:hidden;max-width:100%;color:var(--primary-text-color)}wa-tag.entity{border-color:var(--ha-color-green-80);--background-color:var(--ha-color-green-80)}wa-tag.device{border-color:var(--ha-color-primary-80);--background-color:var(--ha-color-primary-80)}wa-tag.area{border-color:var(--ha-color-orange-80);--background-color:var(--ha-color-orange-80)}wa-tag.label{border-color:var(--color);--background-color:var(--color);--icon-primary-color:var(--primary-text-color)}.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon{background-color:var(--background-color);border-radius:var(--ha-border-radius-circle);padding:var(--ha-space-2) var(--ha-space-1);display:flex}.expand-btn{--ha-icon-button-size:16px;--mdc-icon-size:14px}`)),(0,a.Cg)([(0,o.MZ)({attribute:!1})],Z.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)()],Z.prototype,"type",void 0),(0,a.Cg)([(0,o.MZ)({attribute:"item-id"})],Z.prototype,"itemId",void 0),(0,a.Cg)([(0,o.wk)()],Z.prototype,"_domainName",void 0),(0,a.Cg)([(0,o.wk)()],Z.prototype,"_iconImg",void 0),(0,a.Cg)([(0,o.wk)(),(0,r.Fg)({context:_.HD,subscribe:!0})],Z.prototype,"_labelRegistry",void 0),Z=(0,a.Cg)([(0,o.EM)("ha-target-picker-value-chip")],Z),t()}catch(w){t(w)}})},28223:function(e,t,i){i.d(t,{Z2:function(){return h},bi:function(){return d},g3:function(){return l}});i(46449),i(74423),i(44114),i(93514),i(18111),i(81148),i(22489),i(7588),i(61701),i(13579),i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698),i(62953);var a=i(66639),s=i(65522),r=i(71727),n=i(55931),o=i(58594);const l=(e,t,i,a,s,r,n,o,l,d,h,p,u)=>c(e,t,i,a,s,r,n,o,l,d,h,p,u,!0),d=(e,t,i,a,s,r,n,o,l,d,h,p,u)=>c(e,t,i,a,s,r,n,o,l,d,h,p,u),h=[{name:"search_labels.name",weight:10},{name:"search_labels.aliases",weight:8},{name:"search_labels.floorName",weight:6},{name:"search_labels.relatedAreas",weight:4},{name:"search_labels.id",weight:3}],c=(e,t,i,l,d,h,c,p,u,v,y,g,_,m=!1)=>{const f=Object.values(t),b=Object.values(i),$=Object.values(l),k=Object.values(d);let C,x,I={};(c||p||u||v||y)&&(I=(0,o.g2)(k),C=$,x=k.filter(e=>e.area_id),c&&(C=C.filter(e=>{const t=I[e.id];return!(!t||!t.length)&&I[e.id].some(e=>c.includes((0,r.m)(e.entity_id)))}),x=x.filter(e=>c.includes((0,r.m)(e.entity_id)))),p&&(C=C.filter(e=>{const t=I[e.id];return!t||!t.length||k.every(e=>!p.includes((0,r.m)(e.entity_id)))}),x=x.filter(e=>!p.includes((0,r.m)(e.entity_id)))),u&&(C=C.filter(t=>{const i=I[t.id];return!(!i||!i.length)&&I[t.id].some(t=>{const i=e[t.entity_id];return!!i&&(i.attributes.device_class&&u.includes(i.attributes.device_class))})}),x=x.filter(t=>{const i=e[t.entity_id];return i.attributes.device_class&&u.includes(i.attributes.device_class)})),v&&(C=C.filter(e=>v(e))),y&&(C=C.filter(t=>{const i=I[t.id];return!(!i||!i.length)&&I[t.id].some(t=>{const i=e[t.entity_id];return!!i&&y(i)})}),x=x.filter(t=>{const i=e[t.entity_id];return!!i&&y(i)})));let w,M=b,E=f;if(C&&(w=C.filter(e=>e.area_id).map(e=>e.area_id)),x&&(w=(null!=w?w:[]).concat(x.filter(e=>e.area_id).map(e=>e.area_id))),w&&(M=M.filter(e=>w.includes(e.area_id))),g&&(M=M.filter(e=>!g.includes(e.area_id))),_&&(M=M.filter(e=>!e.floor_id||!_.includes(e.floor_id)),E=E.filter(e=>!_.includes(e.floor_id))),y||v||c||p||u){const e=new Set(M.map(e=>e.floor_id).filter(e=>e));E=E.filter(t=>e.has(t.floor_id))}const D=(0,a.cs)(E,M),F=[];D.floors.forEach(e=>{const a=t[e.id],r=e.areas.map(e=>i[e]),o=(0,n.X)(a),l=r.map(e=>{const t=(0,s.A)(e);return[e.area_id,...t?[t]:[],...e.aliases]}).flat(),d={id:h({id:a.floor_id,type:"floor"}),type:"floor",primary:o,floor:a,icon:a.icon||void 0,search_labels:{id:a.floor_id,name:o||null,aliases:a.aliases.join(", ")||null,relatedAreas:l.join(" ")||null}};F.push(d);const c=r.map(e=>{const t=(0,s.A)(e);return{id:h({id:e.area_id,type:"area"}),type:"area",primary:t||e.area_id,area:e,icon:e.icon||void 0,search_labels:{id:e.area_id,name:t||null,aliases:e.aliases.join(", ")||null,floorName:o||null}}});m&&a?d.areas=c:F.push(...c)});const O=D.areas.map(e=>{const t=i[e],a=(0,s.A)(t);return{id:h({id:t.area_id,type:"area"}),type:"area",primary:a||t.area_id,area:t,icon:t.icon||void 0,search_labels:{id:t.area_id,name:a||null,aliases:t.aliases.join(", ")||null}}});return m&&O.length?F.push({id:void 0,areas:O}):F.push(...O),F}},5904:function(e,t,i){i.d(t,{I:function(){return n},u:function(){return r}});i(89463),i(74423),i(18111),i(81148),i(22489),i(7588),i(61701),i(13579),i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698),i(62953);var a=i(71727),s=i(58594);const r=[{name:"search_labels.name",weight:10},{name:"search_labels.description",weight:5},{name:"search_labels.id",weight:4}],n=(e,t,i,r,n,o,l,d,h,c,p,u="")=>{if(!n||0===n.length)return[];const v=Object.values(i),y=Object.values(r);let g,_,m={};(o||l||d||h||c)&&(m=(0,s.g2)(y),g=v,_=y.filter(e=>e.labels.length>0),o&&(g=g.filter(e=>{const t=m[e.id];return!(!t||!t.length)&&m[e.id].some(e=>o.includes((0,a.m)(e.entity_id)))}),_=_.filter(e=>o.includes((0,a.m)(e.entity_id)))),l&&(g=g.filter(e=>{const t=m[e.id];return!t||!t.length||y.every(e=>!l.includes((0,a.m)(e.entity_id)))}),_=_.filter(e=>!l.includes((0,a.m)(e.entity_id)))),d&&(g=g.filter(t=>{const i=m[t.id];return!(!i||!i.length)&&m[t.id].some(t=>{const i=e[t.entity_id];return!!i&&(i.attributes.device_class&&d.includes(i.attributes.device_class))})}),_=_.filter(t=>{const i=e[t.entity_id];return i&&i.attributes.device_class&&d.includes(i.attributes.device_class)})),h&&(g=g.filter(e=>h(e))),c&&(g=g.filter(t=>{const i=m[t.id];return!(!i||!i.length)&&m[t.id].some(t=>{const i=e[t.entity_id];return!!i&&c(i)})}),_=_.filter(t=>{const i=e[t.entity_id];return!!i&&c(i)})));let f=n;const b=new Set;let $;g&&($=g.filter(e=>e.area_id).map(e=>e.area_id),g.forEach(e=>{e.labels.forEach(e=>b.add(e))})),_&&($=(null!=$?$:[]).concat(_.filter(e=>e.area_id).map(e=>e.area_id)),_.forEach(e=>{e.labels.forEach(e=>b.add(e))})),$&&$.forEach(e=>{const i=t[e];null==i||i.labels.forEach(e=>b.add(e))}),p&&(f=f.filter(e=>!p.includes(e.label_id))),(g||_)&&(f=f.filter(e=>b.has(e.label_id)));return f.map(e=>{var t;return{id:`${u}${e.label_id}`,primary:e.name,secondary:null!==(t=e.description)&&void 0!==t?t:"",icon:e.icon||void 0,icon_path:e.icon?void 0:"M17.63,5.84C17.27,5.33 16.67,5 16,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H16C16.67,19 17.27,18.66 17.63,18.15L22,12L17.63,5.84Z",sorting_label:e.name,search_labels:{name:e.name,description:e.description,id:e.label_id},color:e.color||void 0}})}}}]);