UNPKG

iobroker.lovelace

Version:

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

2 lines 31.8 kB
/*! For license information please see 10509.19b82ed751a3c3d2.js.LICENSE.txt */ "use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[10509],{66033:function(e,t,a){a.d(t,{L:function(){return i}});const i=(e,t)=>{const a=e.floor_id;return{area:e,floor:(a?t[a]:void 0)||null}}},66086:function(e,t,a){a.a(e,async function(e,t){try{a(74423),a(18111),a(22489),a(61701),a(3362),a(62953);var i=a(40445),s=a(5124),o=a(67576),r=a(22786),n=a(1087),c=a(65522),l=a(55931),d=a(66033),h=a(49852),p=a(53641),u=a(65063),v=a(34023),g=(a(75064),a(38508)),y=a(26300),_=(a(67094),e([g,y]));[g,y]=_.then?(await _)():_;let m,b,f,C,$,w,k,x=e=>e;const M="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",A="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",V="___ADD_NEW___";class L extends s.WF{willUpdate(e){var t;this._pendingAreaId&&e.has("hass")&&this.hass.areas!==(null===(t=e.get("hass"))||void 0===t?void 0:t.areas)&&this.hass.areas[this._pendingAreaId]&&(this._setValue(this._pendingAreaId),this._pendingAreaId=void 0)}async open(){var e;await this.updateComplete,await(null===(e=this._picker)||void 0===e?void 0:e.open())}render(){var e;const t=null!==(e=this.label)&&void 0!==e?e:this.hass.localize("ui.components.area-picker.area"),a=this._computeValueRenderer(this.hass.areas);let i=t;if(this.value&&t){const e=this.hass.areas[this.value];if(e){const{floor:t}=(0,d.L)(e,this.hass.floors);t&&(i=void 0)}}return(0,s.qy)(m||(m=x` <ha-generic-picker .hass="${0}" .autofocus="${0}" .label="${0}" .helper="${0}" .notFoundLabel="${0}" .emptyLabel="${0}" .disabled="${0}" .required="${0}" .value="${0}" .getItems="${0}" .getAdditionalItems="${0}" .valueRenderer="${0}" .addButtonLabel="${0}" .searchKeys="${0}" .unknownItemText="${0}" @value-changed="${0}"> </ha-generic-picker> `),this.hass,this.autofocus,i,this.helper,this._notFoundLabel,this.hass.localize("ui.components.area-picker.no_areas"),this.disabled,this.required,this.value,this._getItems,this._getAdditionalItems,a,this.addButtonLabel,h.P,this.hass.localize("ui.components.area-picker.unknown"),this._valueChanged)}_valueChanged(e){e.stopPropagation();const t=e.detail.value;if(t){if(t.startsWith(V)){this.hass.loadFragmentTranslation("config");const e=t.substring(V.length);return void(0,v.J)(this,{suggestedName:e,createEntry:async e=>{try{const t=await(0,p.L3)(this.hass,e);this.hass.areas[t.area_id]?this._setValue(t.area_id):this._pendingAreaId=t.area_id}catch(t){(0,u.showAlertDialog)(this,{title:this.hass.localize("ui.components.area-picker.failed_create_area"),text:t.message})}}})}this._setValue(t)}else this._setValue(void 0)}_setValue(e){this.value=e,(0,n.r)(this,"value-changed",{value:e}),(0,n.r)(this,"change")}constructor(...e){super(...e),this.noAdd=!1,this.disabled=!1,this.required=!1,this._getAreasMemoized=(0,r.A)(h.j),this._computeValueRenderer=(0,r.A)(e=>e=>{const t=this.hass.areas[e];if(!t)return(0,s.qy)(b||(b=x` <ha-svg-icon slot="start" .path="${0}"></ha-svg-icon> <span slot="headline">${0}</span> `),A,t);const{floor:a}=(0,d.L)(t,this.hass.floors),i=t?(0,c.A)(t):void 0,o=a?(0,l.X)(a):void 0,r=t.icon;return(0,s.qy)(f||(f=x` ${0} <span slot="headline">${0}</span> ${0} `),r?(0,s.qy)(C||(C=x`<ha-icon slot="start" .icon="${0}"></ha-icon>`),r):(0,s.qy)($||($=x`<ha-svg-icon slot="start" .path="${0}"></ha-svg-icon>`),A),i,o?(0,s.qy)(w||(w=x`<span slot="supporting-text">${0}</span>`),o):s.s6)}),this._getItems=()=>this._getAreasMemoized(this.hass.areas,this.hass.floors,this.hass.devices,this.hass.entities,this.hass.states,this.includeDomains,this.excludeDomains,this.includeDeviceClasses,this.deviceFilter,this.entityFilter,this.excludeAreas),this._allAreaNames=(0,r.A)(e=>Object.values(e).map(e=>{var t;return null===(t=(0,c.A)(e))||void 0===t?void 0:t.toLowerCase()}).filter(Boolean)),this._getAdditionalItems=e=>{if(this.noAdd)return[];const t=this._allAreaNames(this.hass.areas);return e&&!t.includes(e.toLowerCase())?[{id:V+e,primary:this.hass.localize("ui.components.area-picker.add_new_suggestion",{name:e}),icon_path:M}]:[{id:V,primary:this.hass.localize("ui.components.area-picker.add_new"),icon_path:M}]},this._notFoundLabel=e=>this.hass.localize("ui.components.area-picker.no_match",{term:(0,s.qy)(k||(k=x`<b>‘${0}’</b>`),e)})}}(0,i.Cg)([(0,o.MZ)({attribute:!1})],L.prototype,"hass",void 0),(0,i.Cg)([(0,o.MZ)()],L.prototype,"label",void 0),(0,i.Cg)([(0,o.MZ)()],L.prototype,"value",void 0),(0,i.Cg)([(0,o.MZ)()],L.prototype,"helper",void 0),(0,i.Cg)([(0,o.MZ)()],L.prototype,"placeholder",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean,attribute:"no-add"})],L.prototype,"noAdd",void 0),(0,i.Cg)([(0,o.MZ)({type:Array,attribute:"include-domains"})],L.prototype,"includeDomains",void 0),(0,i.Cg)([(0,o.MZ)({type:Array,attribute:"exclude-domains"})],L.prototype,"excludeDomains",void 0),(0,i.Cg)([(0,o.MZ)({type:Array,attribute:"include-device-classes"})],L.prototype,"includeDeviceClasses",void 0),(0,i.Cg)([(0,o.MZ)({type:Array,attribute:"exclude-areas"})],L.prototype,"excludeAreas",void 0),(0,i.Cg)([(0,o.MZ)({attribute:!1})],L.prototype,"deviceFilter",void 0),(0,i.Cg)([(0,o.MZ)({attribute:!1})],L.prototype,"entityFilter",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean})],L.prototype,"disabled",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean})],L.prototype,"required",void 0),(0,i.Cg)([(0,o.MZ)({attribute:"add-button-label"})],L.prototype,"addButtonLabel",void 0),(0,i.Cg)([(0,o.P)("ha-generic-picker")],L.prototype,"_picker",void 0),(0,i.Cg)([(0,o.wk)()],L.prototype,"_pendingAreaId",void 0),L=(0,i.Cg)([(0,o.EM)("ha-area-picker")],L),t()}catch(m){t(m)}})},59174:function(e,t,a){a.a(e,async function(e,t){try{var i=a(40445),s=a(35211),o=a(5124),r=a(67576),n=a(91450),c=a(22792),l=a(85694),d=a(44144),h=(a(47680),e([l]));l=(h.then?(await h)():h)[0];let p,u,v,g,y,_,m,b=e=>e;class f extends o.WF{render(){if(this.icon)return(0,o.qy)(p||(p=b`<ha-icon .icon="${0}"></ha-icon>`),this.icon);if(!this.domain)return o.s6;if(!this._connection||!this._hassConfig)return this._renderFallback();const e=(0,l._4)(this._connection.connection,this._hassConfig.config,this.domain,this.deviceClass,this.state).then(e=>e?(0,o.qy)(u||(u=b`<ha-icon .icon="${0}"></ha-icon>`),e):this._renderFallback());return(0,o.qy)(v||(v=b`${0}`),(0,n.T)(e))}_renderFallback(){if(this.domain&&this.domain in l.l)return(0,o.qy)(g||(g=b` <ha-svg-icon .path="${0}"></ha-svg-icon> `),l.l[this.domain]);if(this.brandFallback){var e,t;const a=(0,d.MR)({domain:this.domain,type:"icon",darkOptimized:null===(e=this._hassUi)||void 0===e?void 0:e.themes.darkMode},null===(t=this._hassConfig)||void 0===t?void 0:t.auth.data.hassUrl);return(0,o.qy)(y||(y=b` <img alt="" src="${0}" crossorigin="anonymous" referrerpolicy="no-referrer"> `),a)}return(0,o.qy)(_||(_=b`<ha-svg-icon .path="${0}"></ha-svg-icon>`),l.lW)}}f.styles=(0,o.AH)(m||(m=b`img{width:var(--mdc-icon-size,24px)}`)),(0,i.Cg)([(0,r.MZ)()],f.prototype,"domain",void 0),(0,i.Cg)([(0,r.MZ)({attribute:!1})],f.prototype,"deviceClass",void 0),(0,i.Cg)([(0,r.MZ)({attribute:!1})],f.prototype,"state",void 0),(0,i.Cg)([(0,r.MZ)()],f.prototype,"icon",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"brand-fallback",type:Boolean})],f.prototype,"brandFallback",void 0),(0,i.Cg)([(0,r.wk)(),(0,s.Fg)({context:c.WF,subscribe:!0})],f.prototype,"_hassConfig",void 0),(0,i.Cg)([(0,r.wk)(),(0,s.Fg)({context:c.Wq,subscribe:!0})],f.prototype,"_connection",void 0),(0,i.Cg)([(0,r.wk)(),(0,s.Fg)({context:c.EK,subscribe:!0})],f.prototype,"_hassUi",void 0),f=(0,i.Cg)([(0,r.EM)("ha-domain-icon")],f),t()}catch(p){t(p)}})},49852:function(e,t,a){a.d(t,{P:function(){return l},j:function(){return c}});a(74423),a(18111),a(81148),a(22489),a(61701),a(13579);var i=a(65522),s=a(71727),o=a(55931),r=a(66033),n=a(58594);const c=(e,t,a,c,l,d,h,p,u,v,g,y="")=>{let _,m,b={};const f=Object.values(e),C=Object.values(a),$=Object.values(c);(d||h||p||u||v)&&(b=(0,n.g2)($),_=C,m=$.filter(e=>e.area_id),d&&(_=_.filter(e=>{const t=b[e.id];return!(!t||!t.length)&&b[e.id].some(e=>d.includes((0,s.m)(e.entity_id)))}),m=m.filter(e=>d.includes((0,s.m)(e.entity_id)))),h&&(_=_.filter(e=>{const t=b[e.id];return!t||!t.length||$.every(e=>!h.includes((0,s.m)(e.entity_id)))}),m=m.filter(e=>!h.includes((0,s.m)(e.entity_id)))),p&&(_=_.filter(e=>{const t=b[e.id];return!(!t||!t.length)&&b[e.id].some(e=>{const t=l[e.entity_id];return!!t&&(t.attributes.device_class&&p.includes(t.attributes.device_class))})}),m=m.filter(e=>{const t=l[e.entity_id];return t.attributes.device_class&&p.includes(t.attributes.device_class)})),u&&(_=_.filter(e=>u(e))),v&&(_=_.filter(e=>{const t=b[e.id];return!(!t||!t.length)&&b[e.id].some(e=>{const t=l[e.entity_id];return!!t&&v(t)})}),m=m.filter(e=>{const t=l[e.entity_id];return!!t&&v(t)})));let w,k=f;_&&(w=_.filter(e=>e.area_id).map(e=>e.area_id)),m&&(w=(null!=w?w:[]).concat(m.filter(e=>e.area_id).map(e=>e.area_id))),w&&(k=k.filter(e=>w.includes(e.area_id))),g&&(k=k.filter(e=>!g.includes(e.area_id)));return k.map(e=>{const{floor:a}=(0,r.L)(e,t),s=a?(0,o.X)(a):void 0,n=(0,i.A)(e);return{id:`${y}${e.area_id}`,primary:n||e.area_id,secondary:s,icon:e.icon||void 0,icon_path:e.icon?void 0:"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",search_labels:{areaId:e.area_id,aliases:e.aliases.join(" ")}}})},l=[{name:"primary",weight:10},{name:"search_labels.aliases",weight:8},{name:"secondary",weight:6},{name:"search_labels.domain",weight:4},{name:"search_labels.areaId",weight:2}]},16536:function(e,t,a){a.a(e,async function(e,t){try{a(74423),a(18111),a(22489),a(61701),a(13579),a(45367),a(92731),a(3362),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698),a(62953);var i=a(40445),s=a(5124),o=a(67576),r=a(22786),n=a(1087),c=a(38508),l=(a(67094),a(76570)),d=a(54706),h=a(90986),p=e([c]);c=(p.then?(await p)():p)[0];let u,v,g,y,_,m,b=e=>e;const f="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",C="M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z",$="___ADD_NEW___";class w extends((0,d.E)(s.WF)){willUpdate(e){var t;this._pendingCategoryId&&e.has("_categories")&&null!==(t=this._categories)&&void 0!==t&&t.some(e=>e.category_id===this._pendingCategoryId)&&(this._setValue(this._pendingCategoryId),this._pendingCategoryId=void 0)}async open(){var e;await this.updateComplete,await(null===(e=this._picker)||void 0===e?void 0:e.open())}hassSubscribe(){return[(0,l.Ar)(this.hass.connection,this.scope,e=>{this._categories=e})]}render(){const e=this._computeValueRenderer(this._categories);return(0,s.qy)(u||(u=b` <ha-generic-picker .hass="${0}" .autofocus="${0}" .label="${0}" .placeholder="${0}" .value="${0}" .notFoundLabel="${0}" .emptyLabel="${0}" .getItems="${0}" .getAdditionalItems="${0}" .valueRenderer="${0}" .unknownItemText="${0}" @value-changed="${0}"> </ha-generic-picker> `),this.hass,this.autofocus,this.label,this.placeholder,this.value,this._notFoundLabel,this.hass.localize("ui.components.category-picker.no_categories"),this._getItems,this._getAdditionalItems,e,this.hass.localize("ui.components.category-picker.unknown"),this._valueChanged)}_valueChanged(e){e.stopPropagation();const t=e.detail.value;if(t){if(t.startsWith($)){this.hass.loadFragmentTranslation("config");const e=t.substring($.length);return void(0,h.S)(this,{scope:this.scope,suggestedName:e,createEntry:async e=>{var t;const a=await(0,l.s_)(this.hass,this.scope,e);return null!==(t=this._categories)&&void 0!==t&&t.some(e=>e.category_id===a.category_id)?this._setValue(a.category_id):this._pendingCategoryId=a.category_id,a}})}this._setValue(t)}else this._setValue(void 0)}_setValue(e){this.value=e,setTimeout(()=>{(0,n.r)(this,"value-changed",{value:e}),(0,n.r)(this,"change")},0)}constructor(...e){super(...e),this.noAdd=!1,this.disabled=!1,this.required=!1,this.hassSubscribeRequiredHostProps=["scope"],this._categoryMap=(0,r.A)(e=>e?new Map(e.map(e=>[e.category_id,e])):new Map),this._computeValueRenderer=(0,r.A)(e=>t=>{const a=this._categoryMap(e).get(t);return a?(0,s.qy)(g||(g=b` ${0} <span slot="headline">${0}</span> `),a.icon?(0,s.qy)(y||(y=b`<ha-icon slot="start" .icon="${0}"></ha-icon>`),a.icon):(0,s.qy)(_||(_=b`<ha-svg-icon slot="start" .path="${0}"></ha-svg-icon>`),C),a.name):(0,s.qy)(v||(v=b` <ha-svg-icon slot="start" .path="${0}"></ha-svg-icon> <span slot="headline">${0}</span> `),C,t)}),this._getCategories=(0,r.A)(e=>{if(!e)return;return e.map(e=>({id:e.category_id,primary:e.name,icon:e.icon||void 0,icon_path:e.icon?void 0:C,sorting_label:e.name}))}),this._getItems=()=>this._getCategories(this._categories),this._allCategoryNames=(0,r.A)(e=>e?[...new Set(e.map(e=>e.name.toLowerCase()).filter(Boolean))]:[]),this._getAdditionalItems=e=>{if(this.noAdd)return[];const t=this._allCategoryNames(this._categories);return e&&!t.includes(e.toLowerCase())?[{id:$+e,primary:this.hass.localize("ui.components.category-picker.add_new_suggestion",{name:e}),icon_path:f}]:[{id:$,primary:this.hass.localize("ui.components.category-picker.add_new"),icon_path:f}]},this._notFoundLabel=e=>this.hass.localize("ui.components.category-picker.no_match",{term:(0,s.qy)(m||(m=b`<b>‘${0}’</b>`),e)})}}(0,i.Cg)([(0,o.MZ)({attribute:!1})],w.prototype,"hass",void 0),(0,i.Cg)([(0,o.MZ)()],w.prototype,"scope",void 0),(0,i.Cg)([(0,o.MZ)()],w.prototype,"label",void 0),(0,i.Cg)([(0,o.MZ)()],w.prototype,"value",void 0),(0,i.Cg)([(0,o.MZ)()],w.prototype,"helper",void 0),(0,i.Cg)([(0,o.MZ)()],w.prototype,"placeholder",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean,attribute:"no-add"})],w.prototype,"noAdd",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean})],w.prototype,"disabled",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean})],w.prototype,"required",void 0),(0,i.Cg)([(0,o.wk)()],w.prototype,"_categories",void 0),(0,i.Cg)([(0,o.P)("ha-generic-picker")],w.prototype,"_picker",void 0),(0,i.Cg)([(0,o.wk)()],w.prototype,"_pendingCategoryId",void 0),w=(0,i.Cg)([(0,o.EM)("ha-category-picker")],w),t()}catch(u){t(u)}})},63254:function(e,t,a){a.a(e,async function(e,i){try{a.r(t);a(89463),a(74423),a(3362),a(42762),a(62953);var s=a(40445),o=a(5124),r=a(67576),n=a(1087),c=(a(34296),a(5745),a(38962)),l=a(66086),d=a(59174),h=a(18350),p=a(72554),u=(a(93444),a(64138)),v=a(50176),g=(a(63891),a(67094),a(91485)),y=a(16536),_=a(14503),m=a(36215),b=a(97268),f=e([c,l,d,h,p,u,v,g,y,m]);[c,l,d,h,p,u,v,g,y,m]=f.then?(await f)():f;let C,$,w,k,x,M,A,V,L,q,O=e=>e;const Z="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",I={name:!0,categories:!0,labels:!0};class z extends o.WF{showDialog(e){var t,a,i;this._open=!0,this._params=e,this._error=!1,this._newIcon=e.config.icon,this._newName=e.config.name||this.hass.localize(`ui.panel.config.${this._params.domain}.editor.default_name`),this._entryUpdates=e.entityRegistryUpdate||{area:(null===(t=e.entityRegistryEntry)||void 0===t?void 0:t.area_id)||"",labels:(null===(a=e.entityRegistryEntry)||void 0===a?void 0:a.labels)||[],category:(null===(i=e.entityRegistryEntry)||void 0===i||null===(i=i.categories)||void 0===i?void 0:i[e.domain])||""},this._visibleOptionals=[this._entryUpdates.category?"category":"",this._entryUpdates.labels.length>0?"labels":""].filter(Boolean)}closeDialog(){this._open=!1,this._error=!1}_dialogClosed(){var e,t;this._open=!1,this._error=!1,null===(e=(t=this._params).onClose)||void 0===e||e.call(t),this._visibleOptionals=[],(0,n.r)(this,"dialog-closed",{dialog:this.localName})}_renderOptionalChip(e,t){return this._visibleOptionals.includes(e)?o.s6:(0,o.qy)(C||(C=O` <ha-assist-chip id="${0}" @click="${0}" label="${0}"> <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-assist-chip> `),e,this._addOptional,t,Z)}_renderInputs(){return this._params.hideInputs?o.s6:(0,o.qy)($||($=O` <ha-input dialogInitialFocus .value="${0}" .placeholder="${0}" .label="${0}" required @input="${0}"></ha-input> <ha-icon-picker .label="${0}" .value="${0}" @value-changed="${0}"> <ha-domain-icon slot="start" domain="${0}"> </ha-domain-icon> </ha-icon-picker> <ha-area-picker id="area" .hass="${0}" .value="${0}" @value-changed="${0}"></ha-area-picker> ${0} ${0} <ha-chip-set> ${0} ${0} </ha-chip-set> `),this._newName,this.hass.localize(`ui.panel.config.${this._params.domain}.editor.default_name`),this.hass.localize("ui.panel.config.scene.editor.name"),this._valueChanged,this.hass.localize("ui.panel.config.scene.editor.icon"),this._newIcon,this._iconChanged,this._params.domain,this.hass,this._entryUpdates.area,this._registryEntryChanged,this._visibleOptionals.includes("category")?(0,o.qy)(w||(w=O` <ha-category-picker id="category" .hass="${0}" .scope="${0}" .label="${0}" .value="${0}" @value-changed="${0}"></ha-category-picker>`),this.hass,this._params.domain,this.hass.localize("ui.components.category-picker.category"),this._entryUpdates.category,this._registryEntryChanged):o.s6,this._visibleOptionals.includes("labels")?(0,o.qy)(k||(k=O` <ha-labels-picker id="labels" .hass="${0}" .value="${0}" @value-changed="${0}"></ha-labels-picker>`),this.hass,this._entryUpdates.labels,this._registryEntryChanged):o.s6,this._renderOptionalChip("category",this.hass.localize("ui.panel.config.scene.editor.dialog.add_category")),this._renderOptionalChip("labels",this.hass.localize("ui.panel.config.scene.editor.dialog.add_labels")))}render(){if(!this._params)return o.s6;const e=this.hass.localize(this._params.config.id?"ui.panel.config.scene.editor.rename":"ui.common.save");return(0,o.qy)(x||(x=O` <ha-dialog .open="${0}" header-title="${0}" @closed="${0}"> ${0} ${0} ${0} ${0} <ha-dialog-footer slot="footer"> ${0} <ha-button slot="secondaryAction" appearance="plain" @click="${0}"> ${0} </ha-button> <ha-button slot="primaryAction" @click="${0}"> ${0} </ha-button> </ha-dialog-footer> </ha-dialog> `),this._open,this._params.title||e,this._dialogClosed,this._params.hideInputs?o.s6:(0,o.qy)(M||(M=O` <ha-suggest-with-ai-button slot="headerActionItems" .hass="${0}" .generateTask="${0}" @suggestion="${0}"></ha-suggest-with-ai-button>`),this.hass,this._generateTask,this._handleSuggestion),this._error?(0,o.qy)(A||(A=O`<ha-alert alert-type="error">${0}</ha-alert>`),this.hass.localize("ui.panel.config.scene.editor.missing_name")):"",this._params.description?(0,o.qy)(V||(V=O`<p>${0}</p>`),this._params.description):o.s6,this._renderInputs(),this._params.onDiscard?(0,o.qy)(L||(L=O` <ha-button slot="secondaryAction" variant="danger" appearance="plain" @click="${0}"> ${0} </ha-button> `),this._handleDiscard,this.hass.localize("ui.common.dont_save")):o.s6,this.closeDialog,this.hass.localize("ui.common.cancel"),this._save,this.hass.localize(this._params.config.id&&!this._params.onDiscard?"ui.panel.config.scene.editor.rename":"ui.common.save"))}_addOptional(e){e.stopPropagation();const t=e.target.id;this._visibleOptionals=[...this._visibleOptionals,t]}_registryEntryChanged(e){e.stopPropagation();const t=e.target.id,a=e.detail.value;this._entryUpdates=Object.assign(Object.assign({},this._entryUpdates),{},{[t]:a})}_iconChanged(e){e.stopPropagation(),this._newIcon=e.detail.value||void 0}_valueChanged(e){e.stopPropagation(),this._newName=e.target.value,this._error&&this._newName.trim()&&(this._error=!1)}_handleDiscard(){var e,t;null===(e=(t=this._params).onDiscard)||void 0===e||e.call(t),this.closeDialog()}async _handleSuggestion(e){var t;const a=e.detail,i=await(0,m.Fn)(this.hass.connection,"scene",a,I);i.name&&(this._newName=i.name,this._error&&this._newName.trim()&&(this._error=!1)),i.category&&(this._entryUpdates=Object.assign(Object.assign({},this._entryUpdates),{},{category:i.category}),this._visibleOptionals.includes("category")||(this._visibleOptionals=[...this._visibleOptionals,"category"])),null!==(t=i.labels)&&void 0!==t&&t.length&&(this._entryUpdates=Object.assign(Object.assign({},this._entryUpdates),{},{labels:i.labels}),this._visibleOptionals.includes("labels")||(this._visibleOptionals=[...this._visibleOptionals,"labels"]))}async _save(){this._newName?(await this._params.updateConfig(Object.assign(Object.assign({},this._params.config),{},{name:this._newName,icon:this._newIcon}),this._entryUpdates),this.closeDialog()):this._error=!0}static get styles(){return[_.nA,(0,o.AH)(q||(q=O`ha-area-picker,ha-category-picker,ha-icon-picker,ha-labels-picker{display:block;margin-bottom:var(--ha-space-5)}ha-alert{display:block;margin-bottom:var(--ha-space-4)}ha-suggest-with-ai-button{margin:var(--ha-space-2) var(--ha-space-4)}ha-input{--ha-input-padding-bottom:0}`))]}constructor(...e){super(...e),this._open=!1,this._error=!1,this._visibleOptionals=[],this._generateTask=async()=>(0,m.q3)(this.hass.connection,this.hass.language,"scene",this._params.config,await(0,b.m)(this.hass.connection,this.hass.states,"scene"),I)}}(0,s.Cg)([(0,r.MZ)({attribute:!1})],z.prototype,"hass",void 0),(0,s.Cg)([(0,r.wk)()],z.prototype,"_open",void 0),(0,s.Cg)([(0,r.wk)()],z.prototype,"_error",void 0),(0,s.Cg)([(0,r.wk)()],z.prototype,"_visibleOptionals",void 0),(0,s.Cg)([(0,r.wk)()],z.prototype,"_entryUpdates",void 0),(0,s.Cg)([(0,r.wk)()],z.prototype,"_newName",void 0),z=(0,s.Cg)([(0,r.EM)("ha-dialog-scene-save")],z),i()}catch(C){i(C)}})},41216:function(e,t,a){a.d(t,{R:function(){return p}});a(62953);var i=a(40445),s=a(5124),o=a(67576),r=a(64918),n=a(84842);let c,l,d,h=e=>e;class p extends r.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,s.qy)(c||(c=h` <a class="primary action" id="link" aria-label="${0}" href="${0}" target="${0}">${0}</a> `),t||s.s6,this.href,this.target||s.s6,e):this.removeOnly?(0,s.qy)(l||(l=h` <span class="primary action" aria-label="${0}"> ${0} </span> `),t||s.s6,e):(0,s.qy)(d||(d=h` <button class="primary action" id="button" aria-label="${0}" aria-disabled="${0}" ?disabled="${0}" type="button">${0}</button> `),t||s.s6,this.softDisabled||s.s6,this.disabled&&!this.alwaysFocusable,e)}renderTrailingAction(e){return(0,n.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,i.Cg)([(0,o.MZ)({type:Boolean})],p.prototype,"avatar",void 0),(0,i.Cg)([(0,o.MZ)()],p.prototype,"href",void 0),(0,i.Cg)([(0,o.MZ)()],p.prototype,"target",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean,attribute:"remove-only"})],p.prototype,"removeOnly",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],p.prototype,"selected",void 0),(0,i.Cg)([(0,o.P)(".trailing.action")],p.prototype,"trailingAction",void 0)},78960:function(e,t,a){a.d(t,{R:function(){return s}});let i;const s=(0,a(5124).AH)(i||(i=(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)}@media(forced-colors:active){.link .outline{border-color:ActiveText}.disabled.avatar .leading.icon{opacity:1}}`))}}]);