iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
5 lines • 33.9 kB
JavaScript
/*! For license information please see 62231.f69f9ee4712e6d2b.js.LICENSE.txt */
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[62231],{15090:function(e,t,i){i.d(t,{nP:function(){return l},vB:function(){return r}});i(44114),i(26910),i(18111),i(22489),i(61701),i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698),i(62953);var a=i(22675),o=i(52220),s=i(71727),n=i(69093);const r={alarm_control_panel:["armed_away","armed_custom_bypass","armed_home","armed_night","armed_vacation","arming","disarmed","disarming","pending","triggered"],alert:["on","off","idle"],assist_satellite:["idle","listening","responding","processing"],automation:["on","off"],binary_sensor:["on","off"],button:[],calendar:["on","off"],camera:["idle","recording","streaming"],cover:["closed","closing","open","opening"],device_tracker:["home","not_home"],fan:["on","off"],humidifier:["on","off"],infrared:[],input_boolean:["on","off"],input_button:[],lawn_mower:["error","paused","mowing","returning","docked"],light:["on","off"],lock:["jammed","locked","locking","unlocked","unlocking","opening","open"],media_player:["off","on","idle","playing","paused","standby","buffering"],person:["home","not_home"],plant:["ok","problem"],radio_frequency:[],remote:["on","off"],scene:[],schedule:["on","off"],script:["on","off"],siren:["on","off"],sun:["above_horizon","below_horizon"],switch:["on","off"],timer:["active","idle","paused"],update:["on","off"],vacuum:["cleaning","docked","error","idle","paused","returning"],valve:["closed","closing","open","opening"],weather:["clear-night","cloudy","exceptional","fog","hail","lightning-rainy","lightning","partlycloudy","pouring","rainy","snowy-rainy","snowy","sunny","windy-variant","windy"]},c={alarm_control_panel:{code_format:["number","text"]},binary_sensor:{device_class:["battery","battery_charging","co","cold","connectivity","door","garage_door","gas","heat","light","lock","moisture","motion","moving","occupancy","opening","plug","power","presence","problem","running","safety","smoke","sound","tamper","update","vibration","window"]},button:{device_class:["restart","update"]},camera:{frontend_stream_type:["hls","web_rtc"]},climate:{hvac_action:["off","idle","preheating","defrosting","heating","cooling","drying","fan"]},cover:{device_class:["awning","blind","curtain","damper","door","garage","gate","shade","shutter","window"]},device_tracker:{source_type:["bluetooth","bluetooth_le","gps","router"]},fan:{direction:["forward","reverse"]},humidifier:{device_class:["humidifier","dehumidifier"],action:["off","idle","humidifying","drying"]},media_player:{device_class:["tv","speaker","receiver"],media_content_type:["album","app","artist","channel","channels","composer","contributing_artist","episode","game","genre","image","movie","music","playlist","podcast","season","track","tvshow","url","video"],repeat:["off","one","all"]},number:{device_class:["temperature"]},sensor:{device_class:["apparent_power","aqi","battery","carbon_dioxide","carbon_monoxide","current","date","duration","energy","frequency","gas","humidity","illuminance","monetary","nitrogen_dioxide","nitrogen_monoxide","nitrous_oxide","ozone","ph","pm1","pm10","pm25","pm4","power_factor","power","pressure","reactive_power","signal_strength","sulphur_dioxide","temperature","timestamp","uptime","volatile_organic_compounds","volatile_organic_compounds_parts","voltage","volume_flow_rate"],state_class:["measurement","total","total_increasing"]},switch:{device_class:["outlet","switch"]},update:{device_class:["firmware"]},water_heater:{away_mode:["on","off"]}},l=(e,t,i=void 0)=>{const l=(0,n.t)(t),d=[];switch(d.push(...((e,t,i)=>{const n=[];switch(i||n.push(a.Hh,a.HV),!i&&t in r?n.push(...r[t]):i&&t in c&&i in c[t]&&n.push(...c[t][i]),t){case"device_tracker":case"person":i||n.push(...Object.entries(e.states).filter(([e,t])=>"zone"===(0,s.m)(e)&&"zone.home"!==e&&t.attributes.friendly_name).map(([e,t])=>t.attributes.friendly_name).sort((t,i)=>(0,o.xL)(t,i,e.locale.language)))}return n})(e,l,i)),l){case"climate":i?"fan_mode"===i?d.push(...t.attributes.fan_modes):"preset_mode"===i?d.push(...t.attributes.preset_modes):"swing_mode"===i?d.push(...t.attributes.swing_modes):"swing_horizontal_mode"===i&&d.push(...t.attributes.swing_horizontal_modes):d.push(...t.attributes.hvac_modes);break;case"event":"event_type"===i&&d.push(...t.attributes.event_types);break;case"fan":"preset_mode"===i&&d.push(...t.attributes.preset_modes);break;case"humidifier":"mode"===i&&d.push(...t.attributes.available_modes);break;case"input_select":case"select":i||d.push(...t.attributes.options);break;case"light":"effect"===i&&t.attributes.effect_list?d.push(...t.attributes.effect_list):"color_mode"===i&&t.attributes.supported_color_modes&&d.push(...t.attributes.supported_color_modes);break;case"media_player":"sound_mode"===i?d.push(...t.attributes.sound_mode_list):"source"===i&&d.push(...t.attributes.source_list);break;case"remote":"current_activity"===i&&d.push(...t.attributes.activity_list);break;case"sensor":i||"enum"!==t.attributes.device_class||d.push(...t.attributes.options);break;case"vacuum":"fan_speed"===i&&d.push(...t.attributes.fan_speed_list);break;case"water_heater":i&&"operation_mode"!==i||d.push(...t.attributes.operation_list)}return[...new Set(d)]}},3471:function(e,t,i){i.d(t,{e:function(){return a}});const a=e=>"latitude"in e.attributes&&"longitude"in e.attributes},45010:function(e,t,i){i.d(t,{U:function(){return a}});i(74423),i(18111),i(22489),i(61701),i(53921),i(62953);function a(e,t){const i=t.filter(t=>t in e).map(t=>[t,e[t]]),a=Object.entries(e).filter(([e])=>!t.includes(e));return Object.fromEntries([...i,...a])}},13467:function(e,t,i){var a=i(40445),o=i(41216),s=i(78960),n=i(75640),r=i(91735),c=i(43826),l=i(5124),d=i(67576);let h;class p extends o.R{}p.styles=[r.R,c.R,n.R,s.R,(0,l.AH)(h||(h=(e=>e)`:host{--md-sys-color-primary:var(--primary-text-color);--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--primary-text-color);--md-sys-color-on-secondary-container:var(--primary-text-color);--md-input-chip-container-shape:16px;--md-input-chip-outline-color:var(--outline-color);--md-input-chip-selected-container-color:rgba(
var(--rgb-primary-text-color),
0.15
);--ha-input-chip-selected-container-opacity:1;--md-input-chip-label-text-font:Roboto,sans-serif}::slotted([slot=icon]){display:flex;--mdc-icon-size:var(--md-input-chip-icon-size, 18px)}.selected::before{opacity:var(--ha-input-chip-selected-container-opacity)}`))],p=(0,a.Cg)([(0,d.EM)("ha-input-chip")],p)},17022:function(e,t,i){i.d(t,{A1:function(){return a},CY:function(){return n},Fn:function(){return o},Jz:function(){return c},St:function(){return r},VA:function(){return d},WI:function(){return h},iY:function(){return l},xw:function(){return s}});i(16280),i(3362);const a=(e,t)=>e.callWS({type:"media_source/resolve_media",media_content_id:t}),o=(e,t)=>e.callWS({type:"media_source/browse_media",media_content_id:t}),s="__MANUAL_ENTRY__",n=e=>e.startsWith(s),r=e=>e.startsWith("media-source://"),c=e=>e.startsWith("media-source://media_source"),l=e=>e.startsWith("media-source://image_upload"),d=async(e,t,i)=>{const a=new FormData;a.append("media_content_id",t),a.append("file",i);const o=await e.fetchWithAuth("/api/media_source/local_source/upload",{method:"POST",body:a});if(413===o.status)throw new Error(`Uploaded file is too large (${i.name})`);if(200!==o.status)throw new Error("Unknown error");return o.json()},h=async(e,t)=>e.callWS({type:"media_source/local_source/remove",media_content_id:t})},30592:function(e,t,i){i.a(e,async function(e,t){try{i(18111),i(61701),i(3362),i(88454),i(29452),i(62953);var a=i(40445),o=i(5124),s=i(67576),n=i(75751),r=i(1087),c=i(81816),l=i(15638),d=i(82474),h=i(26300),p=(i(85938),e([d,h]));[d,h]=p.then?(await p)():p;let u,m,_,g,v,f,y,b=e=>e;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",w="M21 11H3V9H21V11M21 13H3V15H21V13Z",$="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z";class C extends o.WF{_getKey(e){return this._entityKeys.has(e)||this._entityKeys.set(e,Math.random().toString()),this._entityKeys.get(e)}_renderItem(e,t){const i=this.hass.states[e.entity],a=i&&(0,c.es)(i,this.hass.entities,this.hass.devices),s=(0,l.qC)(this.hass.language,this.hass.translationMetadata.translations),n=i&&this.hass.formatEntityName(i,a?{type:"device"}:{type:"entity"})||e.entity,r=i&&this.hass.formatEntityName(i,a?[{type:"area"}]:[{type:"area"},{type:"device"}],{separator:s?" ◂ ":" ▸ "});return(0,o.qy)(u||(u=b` <ha-md-list-item class="item"> <ha-svg-icon class="handle" .path="${0}" slot="start"></ha-svg-icon> <div slot="headline" class="label">${0}</div> ${0} <ha-icon-button slot="end" .item="${0}" .index="${0}" .label="${0}" .path="${0}" ="${0}"></ha-icon-button> <ha-icon-button slot="end" .index="${0}" .label="${0}" .path="${0}" ="${0}"></ha-icon-button> </ha-md-list-item> `),w,n,r?(0,o.qy)(m||(m=b`<div slot="supporting-text" class="description"> ${0} </div>`),r):o.s6,e,t,this.hass.localize("ui.common.edit"),$,this._editItem,t,this.hass.localize("ui.common.delete"),x,this._deleteItem)}_editItem(e){const t=e.currentTarget.index;(0,r.r)(this,"edit-detail-element",{subElementConfig:{index:t,type:"row",elementConfig:this.entities[t]}})}_deleteItem(e){const t=e.target.index,i=this.entities.slice(0,t).concat(this.entities.slice(t+1));(0,r.r)(this,"entities-changed",{entities:i})}render(){return this.entities?(0,o.qy)(_||(_=b` <h3> ${0} </h3> ${0} <ha-entity-picker .hass="${0}" .entityFilter="${0}" -changed="${0}" add-button></ha-entity-picker> `),this.label||`${this.hass.localize("ui.panel.lovelace.editor.card.generic.entities")}${this.required?` (${this.hass.localize("ui.panel.lovelace.editor.card.config.required")})`:""}`,this.canEdit?(0,o.qy)(g||(g=b` <div class="items-container"> <ha-sortable handle-selector=".handle" draggable-selector=".item" -moved="${0}"> <ha-md-list> ${0} </ha-md-list> </ha-sortable> </div> `),this._entityMoved,this.entities.map((e,t)=>this._renderItem(e,t))):(0,o.qy)(v||(v=b`<ha-sortable handle-selector=".handle" -moved="${0}"> <div class="entities"> ${0} </div> </ha-sortable>`),this._entityMoved,(0,n.u)(this.entities,e=>this._getKey(e),(e,t)=>(0,o.qy)(f||(f=b` <div class="entity" data-entity-id="${0}"> <div class="handle"> <ha-svg-icon .path="${0}"></ha-svg-icon> </div> <ha-entity-picker .hass="${0}" .value="${0}" .index="${0}" .entityFilter="${0}" -changed="${0}"></ha-entity-picker> </div> `),e.entity,w,this.hass,e.entity,t,this.entityFilter,this._valueChanged))),this.hass,this.entityFilter,this._addEntity):o.s6}async _addEntity(e){const t=e.detail.value;if(""===t)return;const i=this.entities.concat({entity:t});e.target.value="",(0,r.r)(this,"entities-changed",{entities:i})}_entityMoved(e){e.stopPropagation();const{oldIndex:t,newIndex:i}=e.detail,a=this.entities.concat();a.splice(i,0,a.splice(t,1)[0]),(0,r.r)(this,"entities-changed",{entities:a})}_valueChanged(e){const t=e.detail.value,i=e.target.index,a=this.entities.concat();""===t||void 0===t?a.splice(i,1):a[i]=Object.assign(Object.assign({},a[i]),{},{entity:t}),(0,r.r)(this,"entities-changed",{entities:a})}constructor(...e){super(...e),this.required=!0,this._entityKeys=new WeakMap}}C.styles=(0,o.AH)(y||(y=b`.entity{display:flex;align-items:center}.entity .handle{padding-right:8px;cursor:move;cursor:grab;padding-inline-end:8px;padding-inline-start:initial;direction:var(--direction)}.entity .handle>*{pointer-events:none}.entity ha-entity-picker{flex-grow:1}ha-md-list{gap:8px;padding-top:0;display:flex;flex-direction:column}ha-md-list:has(> *){margin-bottom:var(--ha-space-2)}ha-md-list-item{border:1px solid var(--divider-color);border-radius:8px;--ha-md-list-item-gap:0;--md-list-item-top-space:0;--md-list-item-bottom-space:0;--md-list-item-leading-space:12px;--md-list-item-trailing-space:4px;--md-list-item-two-line-container-height:48px;--md-list-item-one-line-container-height:48px}.handle{cursor:move;padding:8px;margin-inline-start:-8px}label{margin-bottom:8px;display:block}ha-md-list-item .description,ha-md-list-item .label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}`)),(0,a.Cg)([(0,s.MZ)({attribute:!1})],C.prototype,"hass",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],C.prototype,"entities",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],C.prototype,"entityFilter",void 0),(0,a.Cg)([(0,s.MZ)()],C.prototype,"label",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean})],C.prototype,"required",void 0),(0,a.Cg)([(0,s.MZ)({attribute:"can-edit",type:Boolean})],C.prototype,"canEdit",void 0),C=(0,a.Cg)([(0,s.EM)("hui-entity-editor")],C),t()}catch(u){t(u)}})},81846:function(e,t,i){i.a(e,async function(e,a){try{i.r(t),i.d(t,{HuiMapCardEditor:function(){return F},mapEntitiesConfigStruct:function(){return D}});var o=i(86518),s=(i(18111),i(22489),i(20116),i(7588),i(61701),i(62953),i(40445)),n=i(5124),r=i(67576),c=i(22786),l=i(63533),d=i(35211),h=i(1087),p=i(71727),u=i(3471),m=i(45010),_=i(52763),g=(i(6),i(856)),v=i(59646),f=i(22273),y=i(68674),b=i(22845),x=i(30592),w=i(82747),$=i(13898),C=i(81287),k=i(88170),O=i(84698),z=i(7382),j=e([_,g,v,x,$,C,b,f]);[_,g,v,x,$,C,b,f]=j.then?(await j)():j;const q=["entities"],E=["color","label_mode","attribute","unit"];let A,M,L,S,H=e=>e;const Y="M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z",D=(0,l.KC)([(0,l.Ik)({entity:(0,l.Yj)(),name:(0,l.lq)((0,l.Yj)()),color:(0,l.lq)((0,l.Yj)()),label_mode:(0,l.lq)((0,l.Yj)()),attribute:(0,l.lq)((0,l.Yj)()),unit:(0,l.lq)((0,l.Yj)()),focus:(0,l.lq)((0,l.zM)())}),(0,l.Yj)()]),Z=(0,l.KC)([(0,l.Ik)({source:(0,l.Yj)(),label_mode:(0,l.lq)((0,l.Yj)()),attribute:(0,l.lq)((0,l.Yj)()),unit:(0,l.lq)((0,l.Yj)()),focus:(0,l.lq)((0,l.zM)())}),(0,l.Yj)()]),P=(0,l.kp)(O.H,(0,l.Ik)({title:(0,l.lq)((0,l.Yj)()),show_all:(0,l.lq)((0,l.zM)()),entities:(0,l.lq)((0,l.YO)(D)),geo_location_sources:(0,l.lq)((0,l.YO)(Z)),hours_to_show:(0,l.lq)((0,l.ai)()),aspect_ratio:(0,l.lq)((0,l.Yj)()),default_zoom:(0,l.lq)((0,l.ai)()),auto_fit:(0,l.lq)((0,l.zM)()),fit_zones:(0,l.lq)((0,l.zM)()),cluster:(0,l.lq)((0,l.zM)()),dark_mode:(0,l.lq)((0,l.zM)()),theme_mode:(0,l.lq)((0,l.Yj)()),conditions:(0,l.lq)((0,l.bz)())}));class F extends n.WF{setConfig(e){(0,l.vA)(e,P),this._config||"theme_mode"in e||((e=Object.assign({},e)).dark_mode?e.theme_mode="dark":e.theme_mode="auto",delete e.dark_mode,(0,h.r)(this,"config-changed",{config:e})),this._config=e}get _geo_location_sources(){return this._geoSourcesStrings(this._config.geo_location_sources)||[]}firstUpdated(e){super.firstUpdated(e),this._locationEntities=this.hass?Object.keys(this.hass.states).filter(e=>(0,u.e)(this.hass.states[e])):[]}render(){if(!this.hass||!this._config)return n.s6;if(this._subElementEditorConfig){const e=this._subElementEditorConfig.elementConfig.entity;return(0,n.qy)(A||(A=H` <hui-sub-element-editor .hass="${0}" .config="${0}" .form="${0}" -back="${0}" -changed="${0}"> </hui-sub-element-editor> `),this.hass,this._subElementEditorConfig,this._subForm(this.hass.localize,e,this._locationEntities),this._goBack,this._handleSubEntityChanged)}const e=this._config.entities?(0,k._)(this._config.entities):[];return(0,n.qy)(M||(M=H` <ha-form .hass="${0}" .data="${0}" .schema="${0}" .computeLabel="${0}" .computeHelper="${0}" -changed="${0}"></ha-form> <hui-entity-editor .hass="${0}" .entities="${0}" .entityFilter="${0}" can-edit .required="${0}" -changed="${0}" -detail-element="${0}"></hui-entity-editor> <h3> ${0} </h3> <ha-selector-select .label="${0}" .required="${0}" .hass="${0}" .value="${0}" -changed="${0}" .selector="${0}"></ha-selector-select> ${0} `),this.hass,this._config,this._schema(this.hass.localize),this._computeLabelCallback,this._computeHelperCallback,this._valueChanged,this.hass,e,u.e,!this._config.show_all,this._entitiesValueChanged,this._editDetailElement,this.hass.localize("ui.panel.lovelace.editor.card.map.geo_location_sources"),this.hass.localize("ui.panel.lovelace.editor.card.map.source"),!1,this.hass,this._geo_location_sources,this._geoSourcesChanged,this._selectSchema(this._possibleGeoSources,this.hass.localize),this.renderConditions())}renderConditions(){var e,t;const i=null!==(e=null===(t=this._config)||void 0===t?void 0:t.conditions)&&void 0!==e?e:[];return(0,n.qy)(L||(L=H` <h3> ${0} </h3> <p class="intro"> ${0} </p> <ha-card-conditions-editor .hass="${0}" .conditions="${0}" -changed="${0}"> </ha-card-conditions-editor> `),this.hass.localize("ui.panel.lovelace.editor.card.map.conditions"),this.hass.localize("ui.panel.lovelace.editor.card.map.conditions_helper"),this.hass,i,this._conditionsChanged)}_conditionsChanged(e){var t;e.stopPropagation();const i=e.detail.value,a=Object.assign(Object.assign({},this._config),{},{conditions:i});0===(null===(t=a.conditions)||void 0===t?void 0:t.length)&&delete a.conditions,(0,h.r)(this,"config-changed",{config:a})}_goBack(){this._subElementEditorConfig=void 0}_editDetailElement(e){this._subElementEditorConfig=e.detail.subElementConfig}_handleSubEntityChanged(e){e.stopPropagation();let t=e.detail.config;const i=t.entity;this._shouldDisableOptions(i)&&(t=this._deleteOptions(t));const a=this._subElementEditorConfig.index,o=[...this._config.entities];o[a]=t;let s=this._config;s=Object.assign(Object.assign({},s),{},{entities:o}),this._config=this._orderProperties(s),this._subElementEditorConfig=Object.assign(Object.assign({},this._subElementEditorConfig),{},{elementConfig:Object.assign({},this._config.entities[a])}),(0,h.r)(this,"config-changed",{config:this._config})}_entitiesValueChanged(e){if(e.detail&&e.detail.entities){if(e.detail.entities.length||!this._config.show_all)this._config=Object.assign(Object.assign({},this._config),{},{entities:e.detail.entities});else if(this._config.entities){const e=this._config,{entities:t}=e,i=(0,o.A)(e,q);this._config=i}const t=this._orderProperties(this._config);(0,h.r)(this,"config-changed",{config:t})}}_geoSourcesChanged(e){if(!this._config||!this.hass)return;const t=e.detail.value;if(this._geo_location_sources===t)return;if(""===t)this._config=Object.assign({},this._config),delete this._config.geo_location_sources;else{const e=t.map(e=>{var t;return(null===(t=this._config.geo_location_sources)||void 0===t?void 0:t.find(t=>"object"==typeof t&&t.source===e))||e});this._config=Object.assign(Object.assign({},this._config),{},{geo_location_sources:e})}const i=this._orderProperties(this._config);(0,h.r)(this,"config-changed",{config:i})}_valueChanged(e){var t;e.stopPropagation();let i=Object.assign({},e.detail.value);i.show_all&&0===(null===(t=i.entities)||void 0===t?void 0:t.length)&&delete i.entities,i=this._orderProperties(i),(0,h.r)(this,"config-changed",{config:i})}willUpdate(e){var t;e.has("_config")&&this._contextProvider.setValue(this._entityContext(null===(t=this._config)||void 0===t?void 0:t.entities));if(this.hass&&!this._possibleGeoSources){const e={};Object.entries(this.hass.states).forEach(([t,i])=>{"geo_location"===(0,p.m)(t)&&i.attributes.source&&(e[i.attributes.source]=i.attributes.attribution)}),this._possibleGeoSources=Object.entries(e).map(([e,t])=>({value:e,label:t||e}))}}_deleteOptions(e){const{color:t,label_mode:i,attribute:a,unit:s}=e;return(0,o.A)(e,E)}_orderProperties(e){const t=Object.keys(P.schema);let i=Object.assign({},(0,m.U)(e,t));const a={entities:["entity","name","color","label_mode","attribute","unit","focus"],geo_location_sources:["source","label_mode","attribute","unit","focus"]};return Object.entries(a).forEach(([t,a])=>{let o;e[t]&&(o=e[t].map(e=>"string"!=typeof e?(0,m.U)(e,a):e)),o&&(i=Object.assign(Object.assign({},i),{[t]:o}))}),i}static get styles(){return[z.U,(0,n.AH)(S||(S=H`.intro{margin:0;margin-bottom:var(--ha-space-1);color:var(--secondary-text-color)}`))]}constructor(...e){super(...e),this._shouldDisableOptions=e=>"zone"===(0,p.m)(e),this._locationEntities=[],this._entityContext=(0,c.A)(e=>{var t;return{mode:"filter",entityIds:null!==(t=null==e?void 0:e.map(e=>"string"==typeof e?e:e.entity))&&void 0!==t?t:[]}}),this._contextProvider=new d.DT(this,{context:w.$,initialValue:{mode:"filter",entityIds:[]}}),this._schema=(0,c.A)(e=>[{name:"title",selector:{text:{}}},{name:"",type:"expandable",iconPath:Y,title:e("ui.panel.lovelace.editor.card.map.appearance"),schema:[{name:"",type:"grid",schema:[{name:"aspect_ratio",selector:{text:{}}},{name:"default_zoom",default:b.DEFAULT_ZOOM,selector:{number:{mode:"box",min:0}}},{name:"theme_mode",selector:{select:{mode:"dropdown",options:y.X.map(t=>({value:t,label:e(`ui.panel.lovelace.editor.card.map.theme_modes.${t}`)}))}}},{name:"hours_to_show",default:b.DEFAULT_HOURS_TO_SHOW,selector:{number:{mode:"box",min:0}}},{name:"auto_fit",selector:{boolean:{}}},{name:"fit_zones",selector:{boolean:{}}},{name:"cluster",default:!0,selector:{boolean:{}}}]}]},{name:"show_all",selector:{boolean:{}}}]),this._subForm=(0,c.A)((e,t,i)=>({schema:[{name:"entity",selector:{entity:{include_entities:i}},required:!0},{name:"name",selector:{text:{}}},{name:"color",disabled:this._shouldDisableOptions(t),selector:{ui_color:{}}},{name:"",type:"grid",schema:[{name:"label_mode",disabled:this._shouldDisableOptions(t),selector:{select:{mode:"dropdown",options:f.$.map(t=>({value:t,label:e(`ui.panel.lovelace.editor.card.map.label_modes.${t}`)}))}}},{name:"attribute",disabled:this._shouldDisableOptions(t),selector:{attribute:{hide_attributes:["entity_picture","friendly_name","icon"]}},context:{filter_entity:"entity"}},{name:"unit",disabled:this._shouldDisableOptions(t),selector:{text:{}}},{name:"focus",default:!0,selector:{boolean:{}}}]}],computeLabel:t=>{if("focus"===t.name)return e("ui.panel.lovelace.editor.card.map.focus")},computeHelper:t=>{if("focus"===t.name)return e("ui.panel.lovelace.editor.card.map.focus_helper")}})),this._geoSourcesStrings=(0,c.A)(e=>null==e?void 0:e.map(e=>"string"==typeof e?e:e.source)),this._selectSchema=(0,c.A)((e,t)=>({select:{sort:!0,multiple:!0,custom_value:!0,options:e.length?e:[{value:"",label:t("ui.panel.lovelace.editor.card.map.no_geo_location_sources")}]}})),this._computeLabelCallback=e=>{switch(e.name){case"theme_mode":case"default_zoom":case"auto_fit":case"fit_zones":case"cluster":case"show_all":return this.hass.localize(`ui.panel.lovelace.editor.card.map.${e.name}`);default:return this.hass.localize(`ui.panel.lovelace.editor.card.generic.${e.name}`)}},this._computeHelperCallback=e=>{if("show_all"===e.name)return this.hass.localize(`ui.panel.lovelace.editor.card.map.${e.name}_helper`)}}}(0,s.Cg)([(0,r.MZ)({attribute:!1})],F.prototype,"hass",void 0),(0,s.Cg)([(0,r.wk)()],F.prototype,"_config",void 0),(0,s.Cg)([(0,r.wk)()],F.prototype,"_subElementEditorConfig",void 0),(0,s.Cg)([(0,r.wk)()],F.prototype,"_possibleGeoSources",void 0),F=(0,s.Cg)([(0,r.EM)("hui-map-card-editor")],F),a()}catch(q){a(q)}})},68674:function(e,t,i){i.d(t,{X:function(){return a}});const a=["auto","light","dark"]},41216:function(e,t,i){i.d(t,{R:function(){return p}});i(62953);var a=i(40445),o=i(5124),s=i(67576),n=i(64918),r=i(84842);let c,l,d,h=e=>e;class p extends n.M{get primaryId(){return this.href?"link":this.removeOnly?"":"button"}get rippleDisabled(){return!this.href&&(this.disabled||this.softDisabled)}get primaryAction(){return this.removeOnly?null:this.renderRoot.querySelector(".primary.action")}getContainerClasses(){return Object.assign(Object.assign({},super.getContainerClasses()),{},{avatar:this.avatar,disabled:!this.href&&(this.disabled||this.softDisabled),link:!!this.href,selected:this.selected,"has-trailing":!0})}renderPrimaryAction(e){const{ariaLabel:t}=this;return this.href?(0,o.qy)(c||(c=h` <a class="primary action" id="link" aria-label="${0}" href="${0}" target="${0}">${0}</a> `),t||o.s6,this.href,this.target||o.s6,e):this.removeOnly?(0,o.qy)(l||(l=h` <span class="primary action" aria-label="${0}"> ${0} </span> `),t||o.s6,e):(0,o.qy)(d||(d=h` <button class="primary action" id="button" aria-label="${0}" aria-disabled="${0}" ?disabled="${0}" type="button">${0}</button> `),t||o.s6,this.softDisabled||o.s6,this.disabled&&!this.alwaysFocusable,e)}renderTrailingAction(e){return(0,r.h)({focusListener:e,ariaLabel:this.ariaLabelRemove,disabled:!this.href&&(this.disabled||this.softDisabled),tabbable:this.removeOnly})}constructor(){super(...arguments),this.avatar=!1,this.href="",this.target="",this.removeOnly=!1,this.selected=!1}}(0,a.Cg)([(0,s.MZ)({type:Boolean})],p.prototype,"avatar",void 0),(0,a.Cg)([(0,s.MZ)()],p.prototype,"href",void 0),(0,a.Cg)([(0,s.MZ)()],p.prototype,"target",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean,attribute:"remove-only"})],p.prototype,"removeOnly",void 0),(0,a.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],p.prototype,"selected",void 0),(0,a.Cg)([(0,s.P)(".trailing.action")],p.prototype,"trailingAction",void 0)},78960:function(e,t,i){i.d(t,{R:function(){return o}});let a;const o=(0,i(5124).AH)(a||(a=(e=>e)`:host{--_container-height:var(--md-input-chip-container-height, 32px);--_disabled-label-text-color:var(--md-input-chip-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity:var(--md-input-chip-disabled-label-text-opacity, 0.38);--_disabled-selected-container-color:var(--md-input-chip-disabled-selected-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-selected-container-opacity:var(--md-input-chip-disabled-selected-container-opacity, 0.12);--_label-text-font:var(--md-input-chip-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height:var(--md-input-chip-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size:var(--md-input-chip-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight:var(--md-input-chip-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_selected-container-color:var(--md-input-chip-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_selected-focus-label-text-color:var(--md-input-chip-selected-focus-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-label-text-color:var(--md-input-chip-selected-hover-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-color:var(--md-input-chip-selected-hover-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-opacity:var(--md-input-chip-selected-hover-state-layer-opacity, 0.08);--_selected-label-text-color:var(--md-input-chip-selected-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-outline-width:var(--md-input-chip-selected-outline-width, 0px);--_selected-pressed-label-text-color:var(--md-input-chip-selected-pressed-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-state-layer-color:var(--md-input-chip-selected-pressed-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-state-layer-opacity:var(--md-input-chip-selected-pressed-state-layer-opacity, 0.12);--_disabled-outline-color:var(--md-input-chip-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity:var(--md-input-chip-disabled-outline-opacity, 0.12);--_focus-label-text-color:var(--md-input-chip-focus-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-outline-color:var(--md-input-chip-focus-outline-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-label-text-color:var(--md-input-chip-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color:var(--md-input-chip-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity:var(--md-input-chip-hover-state-layer-opacity, 0.08);--_label-text-color:var(--md-input-chip-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_outline-color:var(--md-input-chip-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width:var(--md-input-chip-outline-width, 1px);--_pressed-label-text-color:var(--md-input-chip-pressed-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color:var(--md-input-chip-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-opacity:var(--md-input-chip-pressed-state-layer-opacity, 0.12);--_avatar-shape:var(--md-input-chip-avatar-shape, var(--md-sys-shape-corner-full, 9999px));--_avatar-size:var(--md-input-chip-avatar-size, 24px);--_disabled-avatar-opacity:var(--md-input-chip-disabled-avatar-opacity, 0.38);--_disabled-leading-icon-color:var(--md-input-chip-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity:var(--md-input-chip-disabled-leading-icon-opacity, 0.38);--_icon-size:var(--md-input-chip-icon-size, 18px);--_selected-focus-leading-icon-color:var(--md-input-chip-selected-focus-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-hover-leading-icon-color:var(--md-input-chip-selected-hover-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-leading-icon-color:var(--md-input-chip-selected-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_selected-pressed-leading-icon-color:var(--md-input-chip-selected-pressed-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-icon-color:var(--md-input-chip-focus-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-leading-icon-color:var(--md-input-chip-hover-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_leading-icon-color:var(--md-input-chip-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_pressed-leading-icon-color:var(--md-input-chip-pressed-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_disabled-trailing-icon-color:var(--md-input-chip-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity:var(--md-input-chip-disabled-trailing-icon-opacity, 0.38);--_selected-focus-trailing-icon-color:var(--md-input-chip-selected-focus-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-trailing-icon-color:var(--md-input-chip-selected-hover-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-trailing-icon-color:var(--md-input-chip-selected-pressed-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-trailing-icon-color:var(--md-input-chip-selected-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-trailing-icon-color:var(--md-input-chip-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color:var(--md-input-chip-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-trailing-icon-color:var(--md-input-chip-pressed-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-color:var(--md-input-chip-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_container-shape-start-start:var(--md-input-chip-container-shape-start-start, var(--md-input-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-start-end:var(--md-input-chip-container-shape-start-end, var(--md-input-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-end:var(--md-input-chip-container-shape-end-end, var(--md-input-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-start:var(--md-input-chip-container-shape-end-start, var(--md-input-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_leading-space:var(--md-input-chip-leading-space, 16px);--_trailing-space:var(--md-input-chip-trailing-space, 16px);--_icon-label-space:var(--md-input-chip-icon-label-space, 8px);--_with-leading-icon-leading-space:var(--md-input-chip-with-leading-icon-leading-space, 8px);--_with-trailing-icon-trailing-space:var(--md-input-chip-with-trailing-icon-trailing-space, 8px)}:host([avatar]){--_container-shape-start-start:var( --md-input-chip-container-shape-start-start, var(--md-input-chip-container-shape, calc(var(--_container-height) / 2)) );--_container-shape-start-end:var( --md-input-chip-container-shape-start-end, var(--md-input-chip-container-shape, calc(var(--_container-height) / 2)) );--_container-shape-end-end:var( --md-input-chip-container-shape-end-end, var(--md-input-chip-container-shape, calc(var(--_container-height) / 2)) );--_container-shape-end-start:var( --md-input-chip-container-shape-end-start, var(--md-input-chip-container-shape, calc(var(--_container-height) / 2)) )}.avatar .primary.action{padding-inline-start:4px}.avatar .leading.icon ::slotted(:first-child){border-radius:var(--_avatar-shape);height:var(--_avatar-size);width:var(--_avatar-size)}.disabled.avatar .leading.icon{opacity:var(--_disabled-avatar-opacity)}{.link .outline{border-color:ActiveText}.disabled.avatar .leading.icon{opacity:1}}`))}}]);