iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 34.7 kB
JavaScript
export const __webpack_ids__=["71958"];export const __webpack_modules__={86431:function(e,i,t){t.d(i,{jL:()=>s,wZ:()=>d});var a=t(47194);const s=e=>(e.name_by_user||e.name)?.trim(),d=(e,i,t)=>s(e)||t&&n(i,t)||i.localize("ui.panel.config.devices.unnamed_device",{type:i.localize(`ui.panel.config.devices.type.${e.entry_type||"device"}`)}),n=(e,i)=>{for(const t of i||[]){const i="string"==typeof t?t:t.entity_id,s=e.states[i];if(s)return(0,a.C)(s)}}},98157:function(e,i,t){var a=t(44249),s=(t(9359),t(68107),t(56475),t(70104),t(52924),t(57243)),d=t(15093),n=t(27486),o=t(36522),l=t(86431),r=t(73850),c=t(1416),h=t(24360),u=t(46329);t(94279),t(7285);const p=e=>s.dy`<ha-list-item .twoline="${!!e.area}"> <span>${e.name}</span> <span slot="secondary">${e.area}</span> </ha-list-item>`;(0,a.Z)([(0,d.Mo)("ha-device-picker")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"include-domains"})],key:"includeDomains",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"exclude-domains"})],key:"excludeDomains",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"include-device-classes"})],key:"includeDeviceClasses",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"exclude-devices"})],key:"excludeDevices",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"deviceFilter",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"entityFilter",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"required",value:()=>!1},{kind:"field",decorators:[(0,d.SB)()],key:"_opened",value:void 0},{kind:"field",decorators:[(0,d.IO)("ha-combo-box",!0)],key:"comboBox",value:void 0},{kind:"field",key:"_init",value:()=>!1},{kind:"field",key:"_getDevices",value(){return(0,n.Z)(((e,i,t,a,s,d,n,o,h)=>{if(!e.length)return[{id:"no_devices",area:"",name:this.hass.localize("ui.components.device-picker.no_devices"),strings:[]}];let p={};(a||s||d||o)&&(p=(0,u.R6)(t));let v=e.filter((e=>e.id===this.value||!e.disabled_by));a&&(v=v.filter((e=>{const i=p[e.id];return!(!i||!i.length)&&p[e.id].some((e=>a.includes((0,r.M)(e.entity_id))))}))),s&&(v=v.filter((e=>{const i=p[e.id];return!i||!i.length||t.every((e=>!s.includes((0,r.M)(e.entity_id))))}))),h&&(v=v.filter((e=>!h.includes(e.id)))),d&&(v=v.filter((e=>{const i=p[e.id];return!(!i||!i.length)&&p[e.id].some((e=>{const i=this.hass.states[e.entity_id];return!!i&&(i.attributes.device_class&&d.includes(i.attributes.device_class))}))}))),o&&(v=v.filter((e=>{const i=p[e.id];return!(!i||!i.length)&&i.some((e=>{const i=this.hass.states[e.entity_id];return!!i&&o(i)}))}))),n&&(v=v.filter((e=>e.id===this.value||n(e))));const _=v.map((e=>{const t=(0,l.wZ)(e,this.hass,p[e.id]);return{id:e.id,name:t||this.hass.localize("ui.components.device-picker.unnamed_device"),area:e.area_id&&i[e.area_id]?i[e.area_id].name:this.hass.localize("ui.components.device-picker.no_area"),strings:[t||""]}}));return _.length?1===_.length?_:_.sort(((e,i)=>(0,c.$K)(e.name||"",i.name||"",this.hass.locale.language))):[{id:"no_devices",area:"",name:this.hass.localize("ui.components.device-picker.no_match"),strings:[]}]}))}},{kind:"method",key:"open",value:async function(){await this.updateComplete,await(this.comboBox?.open())}},{kind:"method",key:"focus",value:async function(){await this.updateComplete,await(this.comboBox?.focus())}},{kind:"method",key:"updated",value:function(e){if(!this._init&&this.hass||this._init&&e.has("_opened")&&this._opened){this._init=!0;const e=this._getDevices(Object.values(this.hass.devices),this.hass.areas,Object.values(this.hass.entities),this.includeDomains,this.excludeDomains,this.includeDeviceClasses,this.deviceFilter,this.entityFilter,this.excludeDevices);this.comboBox.items=e,this.comboBox.filteredItems=e}}},{kind:"method",key:"render",value:function(){return s.dy` <ha-combo-box .hass="${this.hass}" .label="${void 0===this.label&&this.hass?this.hass.localize("ui.components.device-picker.device"):this.label}" .value="${this._value}" .helper="${this.helper}" .renderer="${p}" .disabled="${this.disabled}" .required="${this.required}" item-id-path="id" item-value-path="id" item-label-path="name" -changed="${this._openedChanged}" -changed="${this._deviceChanged}" -changed="${this._filterChanged}"></ha-combo-box> `}},{kind:"get",key:"_value",value:function(){return this.value||""}},{kind:"method",key:"_filterChanged",value:function(e){const i=e.target,t=e.detail.value.toLowerCase();i.filteredItems=t.length?(0,h.q)(t,i.items||[]):i.items}},{kind:"method",key:"_deviceChanged",value:function(e){e.stopPropagation();let i=e.detail.value;"no_devices"===i&&(i=""),i!==this._value&&this._setValue(i)}},{kind:"method",key:"_openedChanged",value:function(e){this._opened=e.detail.value}},{kind:"method",key:"_setValue",value:function(e){this.value=e,setTimeout((()=>{(0,o.B)(this,"value-changed",{value:e}),(0,o.B)(this,"change")}),0)}}]}}),s.oi)},25131:function(e,i,t){var a=t(44249),s=(t(92745),t(9359),t(68107),t(56475),t(1331),t(31526),t(70104),t(52924),t(57243)),d=t(15093),n=t(69634),o=t(27486),l=t(36522),r=t(73850),c=t(1416),h=t(24360),u=t(20172),p=t(46329),v=t(36595);t(94279),t(20165),t(23334),t(7285),t(37583),t(57707);(0,a.Z)([(0,d.Mo)("ha-area-floor-picker")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"placeholder",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"include-domains"})],key:"includeDomains",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"exclude-domains"})],key:"excludeDomains",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"include-device-classes"})],key:"includeDeviceClasses",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"exclude-areas"})],key:"excludeAreas",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Array,attribute:"exclude-floors"})],key:"excludeFloors",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"deviceFilter",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"entityFilter",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"required",value:()=>!1},{kind:"field",decorators:[(0,d.SB)()],key:"_opened",value:void 0},{kind:"field",decorators:[(0,d.IO)("ha-combo-box",!0)],key:"comboBox",value:void 0},{kind:"field",key:"_init",value:()=>!1},{kind:"method",key:"open",value:async function(){await this.updateComplete,await(this.comboBox?.open())}},{kind:"method",key:"focus",value:async function(){await this.updateComplete,await(this.comboBox?.focus())}},{kind:"field",key:"_rowRenderer",value(){return e=>{const i=(0,u.HE)(this.hass);return s.dy` <ha-list-item graphic="icon" style="${"area"===e.type&&e.hasFloor?i?"--mdc-list-side-padding-right: 48px;":"--mdc-list-side-padding-left: 48px;":""}"> ${"area"===e.type&&e.hasFloor?s.dy`<ha-tree-indicator style="${(0,n.V)({width:"48px",position:"absolute",top:"0px",left:i?void 0:"8px",right:i?"8px":void 0,transform:i?"scaleX(-1)":""})}" .end="${e.lastArea}" slot="graphic"></ha-tree-indicator>`:s.Ld} ${"floor"===e.type?s.dy`<ha-floor-icon slot="graphic" .floor="${e}"></ha-floor-icon>`:e.icon?s.dy`<ha-icon slot="graphic" .icon="${e.icon}"></ha-icon>`:s.dy`<ha-svg-icon slot="graphic" .path="${"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"}"></ha-svg-icon>`} ${e.name} </ha-list-item> `}}},{kind:"field",key:"_getAreas",value(){return(0,o.Z)(((e,i,t,a,s,d,n,o,l,h,u)=>{if(!i.length&&!e.length)return[{id:"no_areas",type:"area",name:this.hass.localize("ui.components.area-picker.no_areas"),icon:null,strings:[],level:null}];let _,m,y={};(s||d||n||o||l)&&(y=(0,p.R6)(a),_=t,m=a.filter((e=>e.area_id)),s&&(_=_.filter((e=>{const i=y[e.id];return!(!i||!i.length)&&y[e.id].some((e=>s.includes((0,r.M)(e.entity_id))))})),m=m.filter((e=>s.includes((0,r.M)(e.entity_id))))),d&&(_=_.filter((e=>{const i=y[e.id];return!i||!i.length||a.every((e=>!d.includes((0,r.M)(e.entity_id))))})),m=m.filter((e=>!d.includes((0,r.M)(e.entity_id))))),n&&(_=_.filter((e=>{const i=y[e.id];return!(!i||!i.length)&&y[e.id].some((e=>{const i=this.hass.states[e.entity_id];return!!i&&(i.attributes.device_class&&n.includes(i.attributes.device_class))}))})),m=m.filter((e=>{const i=this.hass.states[e.entity_id];return i.attributes.device_class&&n.includes(i.attributes.device_class)}))),o&&(_=_.filter((e=>o(e)))),l&&(_=_.filter((e=>{const i=y[e.id];return!(!i||!i.length)&&y[e.id].some((e=>{const i=this.hass.states[e.entity_id];return!!i&&l(i)}))})),m=m.filter((e=>{const i=this.hass.states[e.entity_id];return!!i&&l(i)}))));let f,k=i;if(_&&(f=_.filter((e=>e.area_id)).map((e=>e.area_id))),m&&(f=(f??[]).concat(m.filter((e=>e.area_id)).map((e=>e.area_id)))),f&&(k=k.filter((e=>f.includes(e.area_id)))),h&&(k=k.filter((e=>!h.includes(e.area_id)))),u&&(k=k.filter((e=>!e.floor_id||!u.includes(e.floor_id)))),!k.length)return[{id:"no_areas",type:"area",name:this.hass.localize("ui.components.area-picker.no_match"),icon:null,strings:[],level:null}];const b=(0,v.N5)(k),g=Object.values(k).filter((e=>!e.floor_id||!b[e.floor_id])),$=Object.entries(b).map((([i,t])=>[e.find((e=>e.floor_id===i)),t])).sort((([e],[i])=>e.level!==i.level?(e.level??0)-(i.level??0):(0,c.$K)(e.name,i.name))),x=[];return $.forEach((([e,i])=>{e&&x.push({id:e.floor_id,type:"floor",name:e.name,icon:e.icon,strings:[e.floor_id,...e.aliases,e.name],level:e.level}),x.push(...i.map(((e,i,t)=>({id:e.area_id,type:"area",name:e.name,icon:e.icon,strings:[e.area_id,...e.aliases,e.name],hasFloor:!0,level:null,lastArea:i===t.length-1}))))})),x.length||g.length||x.push({id:"no_areas",type:"area",name:this.hass.localize("ui.components.area-picker.unassigned_areas"),icon:null,strings:[],level:null}),x.push(...g.map((e=>({id:e.area_id,type:"area",name:e.name,icon:e.icon,strings:[e.area_id,...e.aliases,e.name],level:null})))),x}))}},{kind:"method",key:"updated",value:function(e){if(!this._init&&this.hass||this._init&&e.has("_opened")&&this._opened){this._init=!0;const e=this._getAreas(Object.values(this.hass.floors),Object.values(this.hass.areas),Object.values(this.hass.devices),Object.values(this.hass.entities),this.includeDomains,this.excludeDomains,this.includeDeviceClasses,this.deviceFilter,this.entityFilter,this.excludeAreas,this.excludeFloors);this.comboBox.items=e,this.comboBox.filteredItems=e}}},{kind:"method",key:"render",value:function(){return s.dy` <ha-combo-box .hass="${this.hass}" .helper="${this.helper}" item-value-path="id" item-id-path="id" item-label-path="name" .value="${this._value}" .disabled="${this.disabled}" .required="${this.required}" .label="${void 0===this.label&&this.hass?this.hass.localize("ui.components.area-picker.area"):this.label}" .placeholder="${this.placeholder?this.hass.areas[this.placeholder]?.name:void 0}" .renderer="${this._rowRenderer}" -changed="${this._filterChanged}" -changed="${this._openedChanged}" -changed="${this._areaChanged}"> </ha-combo-box> `}},{kind:"method",key:"_filterChanged",value:function(e){const i=e.target,t=e.detail.value;if(!t)return void(this.comboBox.filteredItems=this.comboBox.items);const a=(0,h.q)(t,i.items||[]);this.comboBox.filteredItems=a}},{kind:"get",key:"_value",value:function(){return this.value||""}},{kind:"method",key:"_openedChanged",value:function(e){this._opened=e.detail.value}},{kind:"method",key:"_areaChanged",value:async function(e){e.stopPropagation();if("no_areas"===e.detail.value)return;const i=this.comboBox.selectedItem;(0,l.B)(this,"value-changed",{value:{id:i.id,type:i.type}})}}]}}),s.oi)},20165:function(e,i,t){t.d(i,{m:()=>n});var a=t(44249),s=t(57243),d=t(15093);t(65981),t(37583);const n=e=>{switch(e.level){case 0:return"M11,10H13V16H11V10M22,12H19V20H5V12H2L12,3L22,12M15,10A2,2 0 0,0 13,8H11A2,2 0 0,0 9,10V16A2,2 0 0,0 11,18H13A2,2 0 0,0 15,16V10Z";case 1:return"M12,3L2,12H5V20H19V12H22L12,3M10,8H14V18H12V10H10V8Z";case 2:return"M12,3L2,12H5V20H19V12H22L12,3M9,8H13A2,2 0 0,1 15,10V12A2,2 0 0,1 13,14H11V16H15V18H9V14A2,2 0 0,1 11,12H13V10H9V8Z";case 3:return"M12,3L22,12H19V20H5V12H2L12,3M15,11.5V10C15,8.89 14.1,8 13,8H9V10H13V12H11V14H13V16H9V18H13A2,2 0 0,0 15,16V14.5A1.5,1.5 0 0,0 13.5,13A1.5,1.5 0 0,0 15,11.5Z";case-1:return"M12,3L2,12H5V20H19V12H22L12,3M11,15H7V13H11V15M15,18H13V10H11V8H15V18Z"}return"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"};(0,a.Z)([(0,d.Mo)("ha-floor-icon")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"floor",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"icon",value:void 0},{kind:"method",key:"render",value:function(){if(this.floor.icon)return s.dy`<ha-icon .icon="${this.floor.icon}"></ha-icon>`;const e=n(this.floor);return s.dy`<ha-svg-icon .path="${e}"></ha-svg-icon>`}}]}}),s.oi)},34363:function(e,i,t){var a=t(44249),s=t(57243),d=t(15093);(0,a.Z)([(0,d.Mo)("ha-input-helper-text")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"method",key:"render",value:function(){return s.dy`<slot></slot>`}},{kind:"field",static:!0,key:"styles",value:()=>s.iv`:host{display:block;color:var(--mdc-text-field-label-ink-color,rgba(0,0,0,.6));font-size:.75rem;padding-left:16px;padding-right:16px;padding-inline-start:16px;padding-inline-end:16px}`}]}}),s.oi)},37432:function(e,i,t){t.a(e,(async function(e,i){try{var a=t(44249),s=(t(92745),t(9359),t(56475),t(1331),t(31526),t(70104),t(52924),t(7370)),d=(t(31622),t(81843),t(57243)),n=t(15093),o=t(35359),l=t(95262),r=t(75011),c=t(11259),h=t(36522),u=t(49976),p=t(86431),v=t(73850),_=t(47194),m=t(31064),y=t(63860),f=t(6736),k=(t(98157),t(58725)),b=(t(25131),t(20165)),g=(t(23334),t(34363),t(37583),t(56032)),$=e([k,g]);[k,g]=$.then?(await $)():$;const x="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",C="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",H="M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z",V="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",M="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",L="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",F="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";(0,a.Z)([(0,n.Mo)("ha-target-picker")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"value",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1,type:Array})],key:"createDomains",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"include-domains"})],key:"includeDomains",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"include-device-classes"})],key:"includeDeviceClasses",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"deviceFilter",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"entityFilter",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({attribute:"add-on-top",type:Boolean})],key:"addOnTop",value:()=>!1},{kind:"field",decorators:[(0,n.SB)()],key:"_addMode",value:void 0},{kind:"field",decorators:[(0,n.IO)("#input")],key:"_inputElement",value:void 0},{kind:"field",decorators:[(0,n.IO)(".add-container",!0)],key:"_addContainer",value:void 0},{kind:"field",decorators:[(0,n.SB)()],key:"_labels",value:void 0},{kind:"field",key:"_opened",value:()=>!1},{kind:"method",key:"hassSubscribe",value:function(){return[(0,y.f4)(this.hass.connection,(e=>{this._labels=e}))]}},{kind:"method",key:"render",value:function(){return this.addOnTop?d.dy` ${this._renderChips()} ${this._renderItems()} `:d.dy` ${this._renderItems()} ${this._renderChips()} `}},{kind:"method",key:"_renderItems",value:function(){return d.dy` <div class="mdc-chip-set items"> ${this.value?.floor_id?(0,l.r)(this.value.floor_id).map((e=>{const i=this.hass.floors[e];return this._renderChip("floor_id",e,i?.name||e,void 0,i?.icon,i?(0,b.m)(i):H)})):""} ${this.value?.area_id?(0,l.r)(this.value.area_id).map((e=>{const i=this.hass.areas[e];return this._renderChip("area_id",e,i?.name||e,void 0,i?.icon,L)})):d.Ld} ${this.value?.device_id?(0,l.r)(this.value.device_id).map((e=>{const i=this.hass.devices[e];return this._renderChip("device_id",e,i?(0,p.wZ)(i,this.hass):e,void 0,void 0,C)})):d.Ld} ${this.value?.entity_id?(0,l.r)(this.value.entity_id).map((e=>{const i=this.hass.states[e];return this._renderChip("entity_id",e,i?(0,_.C)(i):e,i)})):d.Ld} ${this.value?.label_id?(0,l.r)(this.value.label_id).map((e=>{const i=this._labels?.find((i=>i.label_id===e));let t=i?.color?(0,r.I)(i.color):void 0;if(t?.startsWith("var(")){t=getComputedStyle(this).getPropertyValue(t.substring(4,t.length-1))}return t?.startsWith("#")&&(t=(0,c.wK)(t).join(",")),this._renderChip("label_id",e,i?i.name:e,void 0,i?.icon,V,t)})):d.Ld} </div> `}},{kind:"method",key:"_renderChips",value:function(){return d.dy` <div class="mdc-chip-set add-container"> <div class="mdc-chip area_id add" .type="${"area_id"}" ="${this._showPicker}"> <div class="mdc-chip__ripple"></div> <ha-svg-icon class="mdc-chip__icon mdc-chip__icon--leading" .path="${M}"></ha-svg-icon> <span role="gridcell"> <span role="button" tabindex="0" class="mdc-chip__primary-action"> <span class="mdc-chip__text">${this.hass.localize("ui.components.target-picker.add_area_id")}</span> </span> </span> </div> <div class="mdc-chip device_id add" .type="${"device_id"}" ="${this._showPicker}"> <div class="mdc-chip__ripple"></div> <ha-svg-icon class="mdc-chip__icon mdc-chip__icon--leading" .path="${M}"></ha-svg-icon> <span role="gridcell"> <span role="button" tabindex="0" class="mdc-chip__primary-action"> <span class="mdc-chip__text">${this.hass.localize("ui.components.target-picker.add_device_id")}</span> </span> </span> </div> <div class="mdc-chip entity_id add" .type="${"entity_id"}" ="${this._showPicker}"> <div class="mdc-chip__ripple"></div> <ha-svg-icon class="mdc-chip__icon mdc-chip__icon--leading" .path="${M}"></ha-svg-icon> <span role="gridcell"> <span role="button" tabindex="0" class="mdc-chip__primary-action"> <span class="mdc-chip__text">${this.hass.localize("ui.components.target-picker.add_entity_id")}</span> </span> </span> </div> <div class="mdc-chip label_id add" .type="${"label_id"}" ="${this._showPicker}"> <div class="mdc-chip__ripple"></div> <ha-svg-icon class="mdc-chip__icon mdc-chip__icon--leading" .path="${M}"></ha-svg-icon> <span role="gridcell"> <span role="button" tabindex="0" class="mdc-chip__primary-action"> <span class="mdc-chip__text">${this.hass.localize("ui.components.target-picker.add_label_id")}</span> </span> </span> </div> ${this._renderPicker()} </div> ${this.helper?d.dy`<ha-input-helper-text>${this.helper}</ha-input-helper-text>`:""} `}},{kind:"method",key:"_showPicker",value:function(e){this._addMode=e.currentTarget.type}},{kind:"method",key:"_renderChip",value:function(e,i,t,a,s,n,l){return d.dy` <div class="mdc-chip ${(0,o.$)({[e]:!0})}" style="${l?`--color: rgb(${l}); --background-color: rgba(${l}, .5)`:""}"> ${s?d.dy`<ha-icon class="mdc-chip__icon mdc-chip__icon--leading" .icon="${s}"></ha-icon>`:n?d.dy`<ha-svg-icon class="mdc-chip__icon mdc-chip__icon--leading" .path="${n}"></ha-svg-icon>`:""} ${a?d.dy`<ha-state-icon class="mdc-chip__icon mdc-chip__icon--leading" .hass="${this.hass}" .stateObj="${a}"></ha-state-icon>`:""} <span role="gridcell"> <span role="button" tabindex="0" class="mdc-chip__primary-action"> <span class="mdc-chip__text">${t}</span> </span> </span> ${"entity_id"===e?"":d.dy`<span role="gridcell"> <ha-tooltip .content="${this.hass.localize(`ui.components.target-picker.expand_${e}`)}"> <ha-icon-button class="expand-btn mdc-chip__icon mdc-chip__icon--trailing" .label="${this.hass.localize("ui.components.target-picker.expand")}" .path="${F}" hide-title .id="${i}" .type="${e}" ="${this._handleExpand}"></ha-icon-button> </ha-tooltip> </span>`} <span role="gridcell"> <ha-tooltip .content="${this.hass.localize(`ui.components.target-picker.remove_${e}`)}"> <ha-icon-button class="mdc-chip__icon mdc-chip__icon--trailing" .label="${this.hass.localize("ui.components.target-picker.remove")}" .path="${x}" hide-title .id="${i}" .type="${e}" ="${this._handleRemove}"></ha-icon-button> </ha-tooltip> </span> </div> `}},{kind:"method",key:"_renderPicker",value:function(){return this._addMode?d.dy`<mwc-menu-surface open .anchor="${this._addContainer}" ="${this._onClosed}" ="${this._onOpened}" -changed="${this._openedChanged}" ="${u.U}">${"area_id"===this._addMode?d.dy` <ha-area-floor-picker .hass="${this.hass}" id="input" .type="${"area_id"}" .label="${this.hass.localize("ui.components.target-picker.add_area_id")}" no-add .deviceFilter="${this.deviceFilter}" .entityFilter="${this.entityFilter}" .includeDeviceClasses="${this.includeDeviceClasses}" .includeDomains="${this.includeDomains}" .excludeAreas="${(0,l.r)(this.value?.area_id)}" .excludeFloors="${(0,l.r)(this.value?.floor_id)}" -changed="${this._targetPicked}" ="${this._preventDefault}"></ha-area-floor-picker> `:"device_id"===this._addMode?d.dy` <ha-device-picker .hass="${this.hass}" id="input" .type="${"device_id"}" .label="${this.hass.localize("ui.components.target-picker.add_device_id")}" .deviceFilter="${this.deviceFilter}" .entityFilter="${this.entityFilter}" .includeDeviceClasses="${this.includeDeviceClasses}" .includeDomains="${this.includeDomains}" .excludeDevices="${(0,l.r)(this.value?.device_id)}" -changed="${this._targetPicked}" ="${this._preventDefault}"></ha-device-picker> `:"label_id"===this._addMode?d.dy` <ha-label-picker .hass="${this.hass}" id="input" .type="${"label_id"}" .label="${this.hass.localize("ui.components.target-picker.add_label_id")}" no-add .deviceFilter="${this.deviceFilter}" .entityFilter="${this.entityFilter}" .includeDeviceClasses="${this.includeDeviceClasses}" .includeDomains="${this.includeDomains}" .excludeLabels="${(0,l.r)(this.value?.label_id)}" -changed="${this._targetPicked}" ="${this._preventDefault}"></ha-label-picker> `:d.dy` <ha-entity-picker .hass="${this.hass}" id="input" .type="${"entity_id"}" .label="${this.hass.localize("ui.components.target-picker.add_entity_id")}" .entityFilter="${this.entityFilter}" .includeDeviceClasses="${this.includeDeviceClasses}" .includeDomains="${this.includeDomains}" .excludeEntities="${(0,l.r)(this.value?.entity_id)}" .createDomains="${this.createDomains}" -changed="${this._targetPicked}" ="${this._preventDefault}" allow-custom-entity></ha-entity-picker> `}</mwc-menu-surface>`:d.Ld}},{kind:"method",key:"_targetPicked",value:function(e){if(e.stopPropagation(),!e.detail.value)return;let i=e.detail.value;const t=e.currentTarget;let a=t.type;("entity_id"!==a||(0,m.T)(i))&&("area_id"===a&&(i=e.detail.value.id,a=`${e.detail.value.type}_id`),t.value="",this.value&&this.value[a]&&(0,l.r)(this.value[a]).includes(i)||(0,h.B)(this,"value-changed",{value:this.value?{...this.value,[a]:this.value[a]?[...(0,l.r)(this.value[a]),i]:i}:{[a]:i}}))}},{kind:"method",key:"_handleExpand",value:function(e){const i=e.currentTarget,t=[],a=[],s=[];if("floor_id"===i.type)Object.values(this.hass.areas).forEach((e=>{e.floor_id===i.id&&!this.value.area_id?.includes(e.area_id)&&this._areaMeetsFilter(e)&&t.push(e.area_id)}));else if("area_id"===i.type)Object.values(this.hass.devices).forEach((e=>{e.area_id===i.id&&!this.value.device_id?.includes(e.id)&&this._deviceMeetsFilter(e)&&a.push(e.id)})),Object.values(this.hass.entities).forEach((e=>{e.area_id===i.id&&!this.value.entity_id?.includes(e.entity_id)&&this._entityRegMeetsFilter(e)&&s.push(e.entity_id)}));else if("device_id"===i.type)Object.values(this.hass.entities).forEach((e=>{e.device_id===i.id&&!this.value.entity_id?.includes(e.entity_id)&&this._entityRegMeetsFilter(e)&&s.push(e.entity_id)}));else{if("label_id"!==i.type)return;Object.values(this.hass.areas).forEach((e=>{e.labels.includes(i.id)&&!this.value.area_id?.includes(e.area_id)&&this._areaMeetsFilter(e)&&t.push(e.area_id)})),Object.values(this.hass.devices).forEach((e=>{e.labels.includes(i.id)&&!this.value.device_id?.includes(e.id)&&this._deviceMeetsFilter(e)&&a.push(e.id)})),Object.values(this.hass.entities).forEach((e=>{e.labels.includes(i.id)&&!this.value.entity_id?.includes(e.entity_id)&&this._entityRegMeetsFilter(e)&&s.push(e.entity_id)}))}let d=this.value;s.length&&(d=this._addItems(d,"entity_id",s)),a.length&&(d=this._addItems(d,"device_id",a)),t.length&&(d=this._addItems(d,"area_id",t)),d=this._removeItem(d,i.type,i.id),(0,h.B)(this,"value-changed",{value:d})}},{kind:"method",key:"_handleRemove",value:function(e){const i=e.currentTarget;(0,h.B)(this,"value-changed",{value:this._removeItem(this.value,i.type,i.id)})}},{kind:"method",key:"_addItems",value:function(e,i,t){return{...e,[i]:e[i]?(0,l.r)(e[i]).concat(t):t}}},{kind:"method",key:"_removeItem",value:function(e,i,t){const a=(0,l.r)(e[i]).filter((e=>String(e)!==t));if(a.length)return{...e,[i]:a};const s={...e};return delete s[i],Object.keys(s).length?s:void 0}},{kind:"method",key:"_onClosed",value:function(e){e.stopPropagation(),e.target.open=!0}},{kind:"method",key:"_onOpened",value:async function(){this._addMode&&(await(this._inputElement?.focus()),await(this._inputElement?.open()),this._opened=!0)}},{kind:"method",key:"_openedChanged",value:function(e){this._opened&&!e.detail.value&&(this._opened=!1,this._addMode=void 0)}},{kind:"method",key:"_preventDefault",value:function(e){e.preventDefault()}},{kind:"method",key:"_areaMeetsFilter",value:function(e){if(Object.values(this.hass.devices).filter((i=>i.area_id===e.area_id)).some((e=>this._deviceMeetsFilter(e))))return!0;return!!Object.values(this.hass.entities).filter((i=>i.area_id===e.area_id)).some((e=>this._entityRegMeetsFilter(e)))}},{kind:"method",key:"_deviceMeetsFilter",value:function(e){return!!Object.values(this.hass.entities).filter((i=>i.device_id===e.id)).some((e=>this._entityRegMeetsFilter(e)))&&!(this.deviceFilter&&!this.deviceFilter(e))}},{kind:"method",key:"_entityRegMeetsFilter",value:function(e){if(e.entity_category)return!1;if(this.includeDomains&&!this.includeDomains.includes((0,v.M)(e.entity_id)))return!1;if(this.includeDeviceClasses){const i=this.hass.states[e.entity_id];if(!i)return!1;if(!i.attributes.device_class||!this.includeDeviceClasses.includes(i.attributes.device_class))return!1}if(this.entityFilter){const i=this.hass.states[e.entity_id];if(!i)return!1;if(!this.entityFilter(i))return!1}return!0}},{kind:"get",static:!0,key:"styles",value:function(){return d.iv`${(0,d.$m)(s)} .mdc-chip{color:var(--primary-text-color)}.items{z-index:2}.mdc-chip-set{padding:4px 0}.mdc-chip.add{color:rgba(0,0,0,.87)}.add-container{position:relative;display:inline-flex}.mdc-chip:not(.add){cursor:default}.mdc-chip ha-icon-button{--mdc-icon-button-size:24px;display:flex;align-items:center;outline:0}.mdc-chip ha-icon-button ha-svg-icon{border-radius:50%;background:var(--secondary-text-color)}.mdc-chip__icon.mdc-chip__icon--trailing{width:16px;height:16px;--mdc-icon-size:14px;color:var(--secondary-text-color);margin-inline-start:4px!important;margin-inline-end:-4px!important;direction:var(--direction)}.mdc-chip__icon--leading{display:flex;align-items:center;justify-content:center;--mdc-icon-size:20px;border-radius:50%;padding:6px;margin-left:-13px!important;margin-inline-start:-13px!important;margin-inline-end:4px!important;direction:var(--direction)}.expand-btn{margin-right:0;margin-inline-end:0;margin-inline-start:initial}.mdc-chip.area_id:not(.add),.mdc-chip.floor_id:not(.add){border:1px solid #fed6a4;background:var(--card-background-color)}.mdc-chip.area_id.add,.mdc-chip.area_id:not(.add) .mdc-chip__icon--leading,.mdc-chip.floor_id.add,.mdc-chip.floor_id:not(.add) .mdc-chip__icon--leading{background:#fed6a4}.mdc-chip.device_id:not(.add){border:1px solid #a8e1fb;background:var(--card-background-color)}.mdc-chip.device_id.add,.mdc-chip.device_id:not(.add) .mdc-chip__icon--leading{background:#a8e1fb}.mdc-chip.entity_id:not(.add){border:1px solid #d2e7b9;background:var(--card-background-color)}.mdc-chip.entity_id.add,.mdc-chip.entity_id:not(.add) .mdc-chip__icon--leading{background:#d2e7b9}.mdc-chip.label_id:not(.add){border:1px solid var(--color,#e0e0e0);background:var(--card-background-color)}.mdc-chip.label_id.add,.mdc-chip.label_id:not(.add) .mdc-chip__icon--leading{background:var(--background-color,#e0e0e0)}.mdc-chip:hover{z-index:5}:host([disabled]) .mdc-chip{opacity:var(--light-disabled-opacity);pointer-events:none}mwc-menu-surface{--mdc-menu-min-width:100%}ha-area-floor-picker,ha-device-picker,ha-entity-picker{display:block;width:100%}ha-tooltip{--ha-tooltip-arrow-size:0}`}}]}}),(0,f.f)(d.oi));i()}catch(e){i(e)}}))},56032:function(e,i,t){t.a(e,(async function(e,i){try{var a=t(44249),s=t(80519),d=t(1261),n=t(57243),o=t(15093),l=t(85605),r=e([s]);s=(r.then?(await r)():r)[0],(0,l.jx)("tooltip.show",{keyframes:[{opacity:0},{opacity:1}],options:{duration:150,easing:"ease"}}),(0,l.jx)("tooltip.hide",{keyframes:[{opacity:1},{opacity:0}],options:{duration:400,easing:"ease"}});(0,a.Z)([(0,o.Mo)("ha-tooltip")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",static:!0,key:"styles",value:()=>[d.Z,n.iv`:host{--sl-tooltip-background-color:var(--secondary-background-color);--sl-tooltip-color:var(--primary-text-color);--sl-tooltip-font-family:Roboto,sans-serif;--sl-tooltip-font-size:12px;--sl-tooltip-font-weight:normal;--sl-tooltip-line-height:1;--sl-tooltip-padding:8px;--sl-tooltip-border-radius:var(--ha-tooltip-border-radius, 4px);--sl-tooltip-arrow-size:var(--ha-tooltip-arrow-size, 8px);--sl-z-index-tooltip:var(--ha-tooltip-z-index, 1000)}`]}]}}),s.Z);i()}catch(e){i(e)}}))},57707:function(e,i,t){var a=t(44249),s=t(57243),d=t(15093);(0,a.Z)([(0,d.Mo)("ha-tree-indicator")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,d.Cb)({type:Boolean,reflect:!0})],key:"end",value:()=>!1},{kind:"method",key:"render",value:function(){return s.dy` <svg width="100%" height="100%" viewBox="0 0 48 48"> <line x1="24" y1="0" x2="24" y2="${this.end?"24":"48"}"></line> <line x1="24" y1="24" x2="36" y2="24"></line> </svg> `}},{kind:"field",static:!0,key:"styles",value:()=>s.iv`:host{display:block;width:48px;height:48px}line{stroke:var(--divider-color);stroke-width:2;stroke-dasharray:2}`}]}}),s.oi)},36595:function(e,i,t){t.d(i,{N5:()=>n,fu:()=>d,jg:()=>s,z3:()=>a});t(92745),t(1416),t(43839);const a=(e,i)=>e.callWS({type:"config/floor_registry/create",...i}),s=(e,i,t)=>e.callWS({type:"config/floor_registry/update",floor_id:i,...t}),d=(e,i)=>e.callWS({type:"config/floor_registry/delete",floor_id:i}),n=e=>{const i={};for(const t of e)t.floor_id&&(t.floor_id in i||(i[t.floor_id]=[]),i[t.floor_id].push(t));return i}},63860:function(e,i,t){t.d(i,{$0:()=>c,NT:()=>n,f4:()=>l,jo:()=>r,uD:()=>h});var a=t(62212),s=t(1416),d=t(22381);const n=e=>e.sendMessagePromise({type:"config/label_registry/list"}).then((e=>e.sort(((e,i)=>(0,s.$K)(e.name,i.name))))),o=(e,i)=>e.subscribeEvents((0,d.D)((()=>n(e).then((e=>i.setState(e,!0)))),500,!0),"label_registry_updated"),l=(e,i)=>(0,a.B)("_labelRegistry",n,o,e,i),r=(e,i)=>e.callWS({type:"config/label_registry/create",...i}),c=(e,i,t)=>e.callWS({type:"config/label_registry/update",label_id:i,...t}),h=(e,i)=>e.callWS({type:"config/label_registry/delete",label_id:i})},6736:function(e,i,t){t.d(i,{f:()=>n});var a=t(44249),s=t(72621),d=(t(9359),t(52924),t(15093));const n=e=>(0,a.Z)(null,(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",key:"hassSubscribeRequiredHostProps",value:void 0},{kind:"field",key:"__unsubs",value:void 0},{kind:"method",key:"connectedCallback",value:function(){(0,s.Z)(t,"connectedCallback",this,3)([]),this._checkSubscribed()}},{kind:"method",key:"disconnectedCallback",value:function(){if((0,s.Z)(t,"disconnectedCallback",this,3)([]),this.__unsubs){for(;this.__unsubs.length;){const e=this.__unsubs.pop();e instanceof Promise?e.then((e=>e())):e()}this.__unsubs=void 0}}},{kind:"method",key:"updated",value:function(e){if((0,s.Z)(t,"updated",this,3)([e]),e.has("hass"))this._checkSubscribed();else if(this.hassSubscribeRequiredHostProps)for(const i of e.keys())if(this.hassSubscribeRequiredHostProps.includes(i))return void this._checkSubscribed()}},{kind:"method",key:"hassSubscribe",value:function(){return[]}},{kind:"method",key:"_checkSubscribed",value:function(){void 0===this.__unsubs&&this.isConnected&&void 0!==this.hass&&!this.hassSubscribeRequiredHostProps?.some((e=>void 0===this[e]))&&(this.__unsubs=this.hassSubscribe())}}]}}),e)}};
//# sourceMappingURL=71958.254c84a75a20f963.js.map