iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
8 lines • 60.1 kB
JavaScript
/*! For license information please see 37558.6cd65d6d08c5f036.js.LICENSE.txt */
export const __rspack_esm_id=37558;export const __rspack_esm_ids=[37558];export const __webpack_modules__={66639(e,t,a){a.d(t,{Vu:()=>r,Xz:()=>s,cs:()=>i});a(44114),a(18111),a(61701),a(45367),a(92731);const i=(e,t)=>{const a=new Map,i=[];for(const e of t)e.floor_id?(a.has(e.floor_id)||a.set(e.floor_id,[]),a.get(e.floor_id).push(e.area_id)):i.push(e.area_id);return{floors:e.map(e=>({id:e.floor_id,areas:a.get(e.floor_id)||[]})),areas:i}},s=e=>{const t=[];for(const a of e.floors)t.push(...a.areas);return t.push(...e.areas),t},r=e=>e.floors.map(e=>e.id)},18198(e,t,a){a.d(t,{Dc:()=>o,Si:()=>n});var i=a(62826),s=a(5124),r=a(22441);a(47680),a(67094);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"},o=e=>{switch(e.level){case 0:return"mdi:home-floor-0";case 1:return"mdi:home-floor-1";case 2:return"mdi:home-floor-2";case 3:return"mdi:home-floor-3";case-1:return"mdi:home-floor-negative-1"}return"mdi:home"};class c extends s.WF{render(){if(!this.floor)return s.s6;if(this.floor.icon)return s.qy`<ha-icon .icon="${this.floor.icon}"></ha-icon>`;const e=n(this.floor);return s.qy`<ha-svg-icon .path="${e}"></ha-svg-icon>`}}(0,i.Cg)([(0,r.MZ)({attribute:!1})],c.prototype,"floor",void 0),(0,i.Cg)([(0,r.MZ)()],c.prototype,"icon",void 0),c=(0,i.Cg)([(0,r.EM)("ha-floor-icon")],c)},69464(e,t,a){var i=a(62826),s=a(5124),r=a(22441);class n extends s.WF{render(){return s.qy`<slot></slot>`}}n.styles=s.AH`:host{background-color:var(--ha-color-fill-neutral-quiet-resting);padding:var(--ha-space-2) var(--ha-space-3);font-weight:var(--ha-font-weight-bold);color:var(--secondary-text-color);min-height:var(--ha-space-6);display:flex;align-items:center;box-sizing:border-box}`,n=(0,i.Cg)([(0,r.EM)("ha-section-title")],n)},62647(e,t,a){var i=a(62826),s=a(9866),r=a(5124),n=a(22441);class o extends s.A{static get styles(){return[s.A.styles,r.AH`:host{font-size:var(--ha-font-size-m);--wa-color-brand-on-quiet:var(
--ha-tab-active-text-color,
var(--primary-color)
);--wa-color-neutral-on-quiet:var(--wa-color-brand-on-quiet);opacity:.8;color:inherit;--wa-space-l:16px}:host([active]:not([disabled])){opacity:1}@media (hover:hover){:host(:hover:not([disabled]):not([active])) .tab{color:var(--wa-color-brand-on-quiet)}}`]}}o=(0,i.Cg)([(0,n.EM)("ha-tab-group-tab")],o)},66289(e,t,a){a.a(e,async function(e,t){try{var i=a(62826),s=a(42814),r=a(5124),n=a(22441),o=a(36356),c=e([s]);s=(c.then?(await c)():c)[0];class l extends s.A{connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this._handleKeyDown,!0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",this._handleKeyDown,!0)}handleClick(e){this._dragScrollController.scrolled||super.handleClick(e)}static get styles(){return[s.A.styles,r.AH`:host{--track-width:2px;--track-color:var(--ha-tab-track-color, var(--divider-color));--indicator-color:var(
--ha-tab-indicator-color,
var(--primary-color)
);--wa-color-neutral-on-quiet:var(--indicator-color)}.tab-group-top ::slotted(ha-tab-group-tab[active]){border-block-end:solid var(--track-width) var(--indicator-color);margin-block-end:calc(-1 * var(--track-width))}.tab-group-start ::slotted(ha-tab-group-tab[active]){border-inline-end:solid var(--track-width) var(--indicator-color);margin-inline-end:calc(-1 * var(--track-width))}.tab-group-end ::slotted(ha-tab-group-tab[active]){border-inline-start:solid var(--track-width) var(--indicator-color);margin-inline-start:calc(-1 * var(--track-width))}.scroll-button::part(base):hover{background-color:transparent}`]}constructor(...e){super(...e),this._dragScrollController=new o.q(this,{selector:".nav"}),this.tabTag="ha-tab-group-tab",this.tabOnly=!0,this._handleKeyDown=e=>{(e.altKey||e.metaKey)&&e.stopPropagation()}}}(0,i.Cg)([(0,n.MZ)({attribute:"tab-tag"})],l.prototype,"tabTag",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"tab-only",type:Boolean})],l.prototype,"tabOnly",void 0),l=(0,i.Cg)([(0,n.EM)("ha-tab-group")],l),t()}catch(e){t(e)}})},53756(e,t,a){a.d(t,{t:()=>c,w:()=>l});a(74423),a(18111),a(22489),a(61701);var i=a(71727),s=a(74705),r=a(28978),n=a(15638),o=a(95350);const c=[{name:"search_labels.entityName",weight:10},{name:"search_labels.friendlyName",weight:8},{name:"search_labels.deviceName",weight:7},{name:"search_labels.areaName",weight:6},{name:"search_labels.domainName",weight:6},{name:"search_labels.entityId",weight:3}],l=(e,t,a,c,l,d,h,p,u,g="")=>{let m,y=Object.keys(e.states);return h&&(y=y.filter(e=>h.includes(e))),p&&(y=y.filter(e=>!p.includes(e))),t&&(y=y.filter(e=>t.includes((0,i.m)(e)))),a&&(y=y.filter(e=>!a.includes((0,i.m)(e)))),m=y.map(t=>{const a=e.states[t],c=(0,r.u)(a),[l,d,h]=(0,s.Cf)(a,[{type:"entity"},{type:"device"},{type:"area"}],e.entities,e.devices,e.areas,e.floors),p=(0,o.p$)(e.localize,(0,i.m)(t)),u=(0,n.qC)(e.language,e.translationMetadata.translations),m=l||d||t,y=[h,l?d:void 0].filter(Boolean).join(u?" ◂ ":" ▸ ");return{id:`${g}${t}`,primary:m,secondary:y,domain_name:p,sorting_label:[m,y].filter(Boolean).join("_"),search_labels:{entityName:l||null,deviceName:d||null,areaName:h||null,domainName:p||null,friendlyName:c||null,entityId:t},stateObj:a}}),l&&(m=m.filter(e=>e.id===u||e.stateObj?.attributes.device_class&&l.includes(e.stateObj.attributes.device_class))),d&&(m=m.filter(e=>e.id===u||e.stateObj?.attributes.unit_of_measurement&&d.includes(e.stateObj.attributes.unit_of_measurement))),c&&(m=m.filter(e=>e.id===u||e.stateObj&&c(e.stateObj))),m}},26783(e,t,a){a.a(e,async function(e,i){try{a.d(t,{Cj:()=>Y});var s=a(50179),r=a(7349),n=a(38098),o=a(89807),c=a(11865),l=a(85032),d=a(47547),h=a(66102),p=a(89156),u=a(3453),g=a(81210),m=a(31095),y=a(1248),v=a(19300),_=a(57251),f=a(35598),b=a(58500),w=a(44772),$=a(44577),C=a(5817),x=a(67034),k=a(13028),E=a(30277),H=a(38409),L=a(339),z=a(74049),A=a(67142),M=a(5375),V=a(14312),q=a(29175),S=a(26671),I=a(61691),N=a(71982),T=a(91282),j=a(73269),Z=a(14501),D=a(29106),O=a(58467),K=a(57484),P=a(95605),F=a(77799),B=a(45429),R=a(52494),U=a(65115),W=a(31235),G=a(25232),J=a(34609),Q=a(75781),X=e([s,r,n,c,p,h,l,d,y,f,b,w,C,x,k,L,A,S,I,N,T,j,Z,D,B,K,P,O,R,J,Q]);[s,r,n,c,p,h,l,d,y,f,b,w,C,x,k,L,A,S,I,N,T,j,Z,D,B,K,P,O,R,J,Q]=X.then?(await X)():X;const Y={"alarm-modes":s.S,"area-controls":r.s,"bar-gauge":n.N,button:o.l,"climate-fan-modes":c.f,"climate-swing-modes":p.W,"climate-swing-horizontal-modes":h.S,"climate-hvac-modes":l.E,"climate-preset-modes":d.p,"counter-actions":u.Q,"cover-open-close":g.O,"cover-position-favorite":m.B,"cover-position":y.H,"cover-tilt-favorite":_.x,"cover-tilt-position":f.C,"cover-tilt":v.l,"date-set":b.Z,"fan-direction":w.n,"fan-oscillate":$.G,"fan-preset-modes":C.r,"fan-speed":x.Z,"humidifier-modes":k.J,"humidifier-toggle":E.R,"lawn-mower-commands":H.ED,"light-brightness":L._,"light-color-temp":A.a,"light-color-favorites":z.F,"lock-commands":M.k,"lock-open-door":V.o,"media-player-playback":q.L,"media-player-sound-mode":S.u,"media-player-source":I.d,"media-player-volume-buttons":N.X,"media-player-volume-slider":T.R,"numeric-input":j.Q,"precipitation-forecast":Z.t,"select-options":D.N,"trend-graph":B.E,"target-humidity":K.V,"target-temperature":P.E,"temperature-forecast":O.q,toggle:F.N,"update-actions":R.J,"vacuum-commands":U.Ky,"valve-open-close":W.B,"valve-position-favorite":G.c,"valve-position":J.U,"water-heater-operation-modes":Q.Y};i()}catch(e){i(e)}})},29754(e,t,a){a.d(t,{N:()=>s});var i=a(71727);const s={getEntitySuggestion:(e,t)=>"alarm_control_panel"!==(0,i.m)(t)?null:{config:{type:"alarm-panel",entity:t}}}},95210(e,t,a){a.d(t,{Q:()=>s});var i=a(71727);const s={getEntitySuggestion:(e,t)=>"calendar"!==(0,i.m)(t)?null:{config:{type:"calendar",entities:[t]}}}},10073(e,t,a){a.d(t,{D:()=>s});var i=a(71727);const s={getEntitySuggestion(e,t){if("sensor"!==(0,i.m)(t))return null;const a=e.states[t];return!a||isNaN(Number(a.state))||"%"!==a.attributes.unit_of_measurement?null:{config:{type:"gauge",entity:t}}}}},29587(e,t,a){a.d(t,{G:()=>r});a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var i=a(71727);const s=new Set(["counter","input_number","number","sensor"]),r={getEntitySuggestion(e,t){if(!s.has((0,i.m)(t)))return null;const a=e.states[t];return!a||isNaN(Number(a.state))?null:{config:{type:"history-graph",entities:[t],hours_to_show:24}}}}},81708(e,t,a){a.d(t,{a:()=>s});var i=a(71727);const s={getEntitySuggestion:(e,t)=>"humidifier"!==(0,i.m)(t)?null:{config:{type:"humidifier",entity:t}}}},75450(e,t,a){a.d(t,{a:()=>r});a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var i=a(71727);const s=new Set(["person","device_tracker","zone"]),r={getEntitySuggestion:(e,t)=>s.has((0,i.m)(t))?{config:{type:"map",entities:[t]}}:null}},52120(e,t,a){a.d(t,{l:()=>s});var i=a(71727);const s={getEntitySuggestion:(e,t)=>"media_player"!==(0,i.m)(t)?null:{config:{type:"media-control",entity:t}}}},92398(e,t,a){a.d(t,{b:()=>s});var i=a(71727);const s={getEntitySuggestion:(e,t)=>"camera"!==(0,i.m)(t)?null:{config:{type:"picture-entity",entity:t,camera_image:t}}}},64718(e,t,a){a.d(t,{v:()=>s});var i=a(71727);const s={getEntitySuggestion:(e,t)=>"plant"!==(0,i.m)(t)?null:{config:{type:"plant-status",entity:t}}}},37422(e,t,a){a.d(t,{B:()=>n});var i=a(71727);const s=[{labelKey:"last_24h",days_to_show:1,period:"hour",chart_type:"line",stat_types:["mean"]},{labelKey:"last_7d",days_to_show:7,period:"day",chart_type:"line",stat_types:["mean","min","max"]},{labelKey:"last_30d",days_to_show:30,period:"day",chart_type:"line",stat_types:["mean","min","max"]}],r=[{labelKey:"last_7d",days_to_show:7,period:"day",chart_type:"bar",stat_types:["change"]},{labelKey:"last_30d",days_to_show:30,period:"day",chart_type:"bar",stat_types:["change"]},{labelKey:"last_year",days_to_show:365,period:"month",chart_type:"bar",stat_types:["change"]}],n={getEntitySuggestion(e,t){if("sensor"!==(0,i.m)(t))return null;const a=e.states[t],n=a?.attributes.state_class;if(!n)return null;return("measurement"===n?s:r).map(a=>({label:e.localize(`ui.panel.lovelace.editor.cardpicker.suggestions.periods.${a.labelKey}`),config:{type:"statistics-graph",entities:[t],days_to_show:a.days_to_show,period:a.period,chart_type:a.chart_type,stat_types:a.stat_types}}))}}},70907(e,t,a){a.d(t,{t:()=>r});a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var i=a(71727);const s=new Set(["climate","water_heater"]),r={getEntitySuggestion:(e,t)=>s.has((0,i.m)(t))?{config:{type:"thermostat",entity:t}}:null}},6744(e,t,a){a.a(e,async function(e,i){try{a.d(t,{S:()=>w});a(44114),a(18111),a(81148),a(61701),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var s=a(71727),r=a(26783),n=e([r]);r=(n.then?(await n)():n)[0];const o=[],c=["toggle"],l=[o,["select-options"]],d=[o,["numeric-input"]],h=[o,["date-set"]],p=[o,["button"]],u={light:[o,["light-brightness"],c,["light-color-temp"],["light-color-favorites"]],cover:[o,["cover-open-close"],["cover-position"],["cover-tilt"],["cover-tilt-position"]],climate:[o,["climate-hvac-modes"],["climate-preset-modes"],["climate-fan-modes"],["climate-swing-modes"],["climate-swing-horizontal-modes"],["target-temperature"]],media_player:[o,["media-player-playback"],["media-player-volume-slider"],["media-player-volume-buttons"],["media-player-source"],["media-player-sound-mode"]],fan:[o,["fan-speed"],["fan-preset-modes"],["fan-direction"],["fan-oscillate"]],switch:[o,c],input_boolean:[o,c],lock:[o,["lock-commands"],["lock-open-door"]],humidifier:[o,["humidifier-toggle"],["humidifier-modes"],["target-humidity"]],vacuum:[o,["vacuum-commands"]],lawn_mower:[o,["lawn-mower-commands"]],valve:[o,["valve-open-close"],["valve-position"]],alarm_control_panel:[o,["alarm-modes"]],counter:[o,["counter-actions"]],input_select:l,select:l,input_number:d,number:d,input_datetime:h,date:h,update:[o,["update-actions"]],water_heater:[o,["water-heater-operation-modes"],["target-temperature"]],datetime:h,button:p,input_button:p,scene:p,script:p,weather:[o,["temperature-forecast"],["precipitation-forecast"]]},g=o,m=new Set(["battery","carbon_dioxide","carbon_monoxide","humidity","illuminance","pm1","pm10","pm25","power","pressure","temperature","volatile_organic_compounds","wind_speed"]),y=new Set(["calendar","todo","camera"]),v=(e,t)=>{const a=(0,s.m)(t);if("sensor"===a){const a=e[t],i=a?.attributes.device_class,s="%"===a?.attributes.unit_of_measurement,r=[o];return i&&m.has(i)&&r.push(["trend-graph"]),s&&r.push(["bar-gauge"]),r}return u[a]},_=(e,t)=>{const a={type:"tile",entity:e};return t.length&&(a.features=t.map(e=>({type:e}))),a},f=(e,t,a)=>a.every(a=>{try{return r.Cj[a](e,{entity_id:t})}catch{return!1}}),b=(e,t)=>{if(t.length)return t.map(t=>e.localize(`ui.panel.lovelace.editor.features.types.${t}.label`)).join(", ")},w={getEntitySuggestion(e,t){if(y.has((0,s.m)(t)))return null;const a=v(e.states,t)??[g],i=[];for(const s of a)f(e,t,s)&&i.push({label:b(e,s),config:_(t,s)});return i.length?i:null}};i()}catch(e){i(e)}})},7181(e,t,a){a.d(t,{U:()=>s});var i=a(71727);const s={getEntitySuggestion:(e,t)=>"todo"!==(0,i.m)(t)?null:{config:{type:"todo-list",entity:t}}}},20382(e,t,a){a.d(t,{$:()=>n});a(44114),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);var i=a(71727),s=a(43248);const r=["daily","hourly"],n={getEntitySuggestion(e,t){if("weather"!==(0,i.m)(t))return null;const a=e.states[t];if(!a)return null;const n=new Set((0,s.V7)(a)),o=[];for(const a of r)n.has(a)&&o.push({label:e.localize(`ui.panel.lovelace.editor.card.weather-forecast.${a}`),config:{type:"weather-forecast",entity:t,forecast_type:a}});return o.length?o:null}}},35694(e,t,a){a.a(e,async function(e,i){try{a.d(t,{h:()=>c});a(18111),a(30531);var s=a(44537),r=a(45291),n=a(74683),o=e([n]);n=(o.then?(await o)():o)[0];const c=(e,t)=>{if(!t||void 0===e.states[t])return{core:[],custom:[]};return{core:Object.values(n.z).flatMap(a=>{try{return(0,s.e)(a.getEntitySuggestion(e,t))??[]}catch(e){return console.error("Card suggestion provider threw:",e),[]}}),custom:r.J_.flatMap(a=>{if(!a.getEntitySuggestion)return[];try{return(0,s.e)(a.getEntitySuggestion(e,t))??[]}catch(e){return console.error(`Custom card "${a.type}" getEntitySuggestion threw:`,e),[]}})}};i()}catch(e){i(e)}})},74683(e,t,a){a.a(e,async function(e,i){try{a.d(t,{z:()=>f});var s=a(29754),r=a(95210),n=a(10073),o=a(29587),c=a(81708),l=a(75450),d=a(52120),h=a(92398),p=a(64718),u=a(37422),g=a(70907),m=a(6744),y=a(7181),v=a(20382),_=e([m]);const f={tile:(m=(_.then?(await _)():_)[0]).S,"alarm-panel":s.N,calendar:r.Q,gauge:n.D,humidifier:c.a,map:l.a,"media-control":d.l,"picture-entity":h.b,"plant-status":p.v,"statistics-graph":u.B,"history-graph":o.G,thermostat:g.t,"todo-list":y.U,"weather-forecast":v.$};i()}catch(e){i(e)}})},99939(e,t,a){a.d(t,{S_:()=>o,Xd:()=>c,lZ:()=>l});a(74423),a(18111),a(7588),a(17642),a(58004),a(33853),a(45876),a(32475),a(15024),a(31698);const i=["zone","persistent_notification"],s=(e,t)=>{if("call-service"!==t.action||!t.target?.entity_id&&!t.service_data?.entity_id&&!t.data?.entity_id)return;let a=t.service_data?.entity_id??t.data?.entity_id??t.target?.entity_id;Array.isArray(a)||(a=[a]);for(const t of a)e.add(t)},r=(e,t)=>{t&&("string"!=typeof t?(t.entity&&e.add(t.entity),t.camera_image&&e.add(t.camera_image),t.tap_action&&s(e,t.tap_action),t.hold_action&&s(e,t.hold_action)):e.add(t))},n=(e,t)=>{t.entity&&r(e,t.entity),t.entities&&Array.isArray(t.entities)&&t.entities.forEach(t=>r(e,t)),t.card&&n(e,t.card),t.cards&&Array.isArray(t.cards)&&t.cards.forEach(t=>n(e,t)),t.elements&&Array.isArray(t.elements)&&t.elements.forEach(t=>n(e,t)),t.badges&&Array.isArray(t.badges)&&t.badges.forEach(t=>r(e,t)),t.sections&&Array.isArray(t.sections)&&t.sections.forEach(t=>n(e,t))},o=e=>{const t=new Set;return e.views.forEach(e=>{n(t,e)}),t},c=(e,t)=>{const a=new Set;for(const s of Object.keys(e.states))t.has(s)||i.includes(s.split(".",1)[0])||a.add(s);return a},l=(e,t)=>{const a=o(t);return c(e,a)}},54(e,t,a){a.d(t,{BG:()=>f,BK:()=>m,OC:()=>y,TQ:()=>b,U7:()=>C,cY:()=>w,eT:()=>H,ig:()=>_,mI:()=>$,mm:()=>k,wH:()=>E});a(74423),a(44114),a(18111),a(22489),a(61701),a(45367),a(92731);var i=a(78648),s=a(66639),r=a(65522),n=a(37981),o=a(71727),c=a(81816),l=a(28978),d=a(52220),h=a(53756),p=a(95350),u=a(59653),g=a(24367);const m=e=>i.A.createIndex(x,e),y="__other_areas__",v="~",_=e=>`f|${e}`,f=e=>`u|${e}`,b=(e,t)=>`${e}${v}a|${t}`,w=(e,t)=>`${e}${v}d|${t}`,$=(e,t)=>`${e}${v}dom|${t}`,C=e=>`${e}${v}`,x=h.t.map(e=>e.name);function k(e){const{states:t,entities:a,devices:i,areas:h,floors:u,language:m,localize:y}=e,v=new Map,_=new Map,f=new Map,b=new Map,w=new Map,$=new Map,C=[];for(const e of Object.keys(t)){const s=t[e];if(!s)continue;const d=a[e];if(d?.hidden)continue;const u=d?.device_id?i[d.device_id]:void 0,m=d?.area_id??u?.area_id,x=m?h[m]:void 0,k=(0,o.m)(e),E=(0,c.aH)(s,a,i),H=(0,l.u)(s),L=u?(0,n.xn)(u):void 0,z=x?(0,r.A)(x):void 0,A=(0,p.p$)(y,k);if(C.push({id:e,name:E||H||e,area:z??"",device:L??"",domain:A,search_labels:{entityName:E||null,friendlyName:H||null,deviceName:L||null,areaName:z||null,domainName:A||null,entityId:e}}),!m||!h[m]){if(u){const t="service"===u.entry_type?b:f,a=t.get(u.id)??[];a.push(e),t.set(u.id,a)}else if((0,g.z)(k)){const t=w.get(k)??[];t.push(e),w.set(k,t)}else{const t=$.get(k)??[];t.push(e),$.set(k,t)}continue}if(u&&!d?.area_id){const t=_.get(m)??new Map,a=t.get(u.id)??[];a.push(e),t.set(u.id,a),_.set(m,t)}else{const t=v.get(m)??[];t.push(e),v.set(m,t)}}const x=(e,a)=>{const i=(0,l.u)(t[e])||e,s=(0,l.u)(t[a])||a;return(0,d.xL)(i,s,m)},k=e=>[...e.entries()].map(([e,t])=>{const a=i[e];return{id:e,name:(a?(0,n.xn)(a):void 0)??e,entityIds:t.sort(x)}}).sort((e,t)=>(0,d.xL)(e.name,t.name,m)),E=e=>{const t=h[e];if(!t)return;const a=(v.get(e)??[]).sort(x),i=_.get(e),s=i?k(i):[];return a.length||s.length?{id:t.area_id,name:(0,r.A)(t)??t.area_id,icon:t.icon??void 0,directEntityIds:a,devices:s}:void 0},H=Object.values(h),L=Object.values(u),z=(0,s.cs)(L,H),A=z.floors.map(({id:e,areas:t})=>{const a=u[e],i=t.map(e=>E(e)).filter(e=>!!e);if(i.length)return{id:a.floor_id,name:a.name,icon:a.icon,level:a.level,areas:i}}).filter(e=>!!e),M=z.areas.map(e=>E(e)).filter(e=>!!e),V=e=>[...e.entries()].map(([e,t])=>({domain:e,name:(0,p.p$)(y,e),entityIds:t.sort(x)})).sort((e,t)=>(0,d.xL)(e.name,t.name,m)),q=[],S=V($);S.length&&q.push({id:"entities",iconPath:"M11,13.5V21.5H3V13.5H11M12,2L17.5,11H6.5L12,2M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13Z",label:y("ui.panel.lovelace.editor.cardpicker.entities"),domains:S});const I=V(w);I.length&&q.push({id:"helpers",iconPath:"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z",label:y("ui.panel.lovelace.editor.cardpicker.helpers"),domains:I});const N=k(f);N.length&&q.push({id:"devices",iconPath:"M20.5,11H19V7C19,5.89 18.1,5 17,5H13V3.5A2.5,2.5 0 0,0 10.5,1A2.5,2.5 0 0,0 8,3.5V5H4A2,2 0 0,0 2,7V10.8H3.5C5,10.8 6.2,12 6.2,13.5C6.2,15 5,16.2 3.5,16.2H2V20A2,2 0 0,0 4,22H7.8V20.5C7.8,19 9,17.8 10.5,17.8C12,17.8 13.2,19 13.2,20.5V22H17A2,2 0 0,0 19,20V16H20.5A2.5,2.5 0 0,0 23,13.5A2.5,2.5 0 0,0 20.5,11Z",label:y("ui.panel.lovelace.editor.cardpicker.devices"),devices:N});const T=k(b);return T.length&&q.push({id:"services",iconPath:"M21.8,13H20V21H13V17.67L15.79,14.88L16.5,15C17.66,15 18.6,14.06 18.6,12.9C18.6,11.74 17.66,10.8 16.5,10.8A2.1,2.1 0 0,0 14.4,12.9L14.5,13.61L13,15.13V9.65C13.66,9.29 14.1,8.6 14.1,7.8A2.1,2.1 0 0,0 12,5.7A2.1,2.1 0 0,0 9.9,7.8C9.9,8.6 10.34,9.29 11,9.65V15.13L9.5,13.61L9.6,12.9A2.1,2.1 0 0,0 7.5,10.8A2.1,2.1 0 0,0 5.4,12.9A2.1,2.1 0 0,0 7.5,15L8.21,14.88L11,17.67V21H4V13H2.25C1.83,13 1.42,13 1.42,12.79C1.43,12.57 1.85,12.15 2.28,11.72L11,3C11.33,2.67 11.67,2.33 12,2.33C12.33,2.33 12.67,2.67 13,3L17,7V6H19V9L21.78,11.78C22.18,12.18 22.59,12.59 22.6,12.8C22.6,13 22.2,13 21.8,13M7.5,12A0.9,0.9 0 0,1 8.4,12.9A0.9,0.9 0 0,1 7.5,13.8A0.9,0.9 0 0,1 6.6,12.9A0.9,0.9 0 0,1 7.5,12M16.5,12C17,12 17.4,12.4 17.4,12.9C17.4,13.4 17,13.8 16.5,13.8A0.9,0.9 0 0,1 15.6,12.9A0.9,0.9 0 0,1 16.5,12M12,6.9C12.5,6.9 12.9,7.3 12.9,7.8C12.9,8.3 12.5,8.7 12,8.7C11.5,8.7 11.1,8.3 11.1,7.8C11.1,7.3 11.5,6.9 12,6.9Z",label:y("ui.panel.lovelace.editor.cardpicker.services"),devices:T}),{floors:A,otherAreas:M,unassignedSections:q,searchableEntities:C}}function E(e,t){for(const a of e.floors){const e=_(a.id);for(const i of a.areas){const a=b(e,i.id);if(i.directEntityIds.includes(t))return[e,a];for(const s of i.devices)if(s.entityIds.includes(t))return[e,a,w(a,s.id)]}}const a=_(y);for(const i of e.otherAreas){const e=b(a,i.id);if(i.directEntityIds.includes(t))return[a,e];for(const s of i.devices)if(s.entityIds.includes(t))return[a,e,w(e,s.id)]}for(const a of e.unassignedSections){const e=f(a.id);if(a.devices)for(const i of a.devices)if(i.entityIds.includes(t))return[e,w(e,i.id)];if(a.domains)for(const i of a.domains)if(i.entityIds.includes(t))return[e,$(e,i.domain)]}return[]}function H(e,t,a,i=100){return a?(0,u.x)(e,a,h.t,e=>e.id,t).slice(0,i):[]}},81797(e,t,a){a.a(e,async function(e,t){try{a(74423),a(18111),a(22489),a(61701);var i=a(62826),s=a(78648),r=a(5124),n=a(22441),o=a(6412),c=a(91450),l=a(22786),d=a(93905),h=a(1087),p=a(52220),u=(a(11382),a(65829)),g=a(36866),m=a(22675),y=a(45291),v=a(14503),_=a(99939),f=a(8349),b=a(43100),w=a(92708),$=e([u,g,f,b]);[u,g,f,b]=$.then?(await $)():$;class C extends r.WF{async focus(){await this.updateComplete,await(this._searchInput?.updateComplete),this._searchInput?.focus()}render(){if(!(this.hass&&this.lovelace&&this._unusedEntities&&this._usedEntities))return r.s6;const e=this._suggestedCards(this._cards),t=this._otherCards(this._cards),a=this._energyCards(this._cards),i=this._customCards(this._cards);return r.qy` <ha-input-search appearance="outlined" .value="${this._filter}" @input="${this._handleSearchChange}" .placeholder="${this.hass.localize("ui.panel.lovelace.editor.edit_card.search_cards")}"></ha-input-search> <div id="content" class="ha-scrollbar"> ${this._filter?r.qy`<div class="cards-container"> ${this._filterCards(this._cards,this._filter).map(e=>e.element)} </div>`:r.qy` ${e.length>0?r.qy` <ha-expansion-panel expanded> <div slot="header" class="cards-container-header"> ${this.hass.localize("ui.panel.lovelace.editor.card.generic.suggested_cards")} </div> <div class="cards-container"> ${this._renderClipboardCard()} ${e.map(e=>e.element)} </div> </ha-expansion-panel>`:r.s6} <ha-expansion-panel expanded> <div slot="header" class="cards-container-header"> ${this.hass.localize("ui.panel.lovelace.editor.card.generic.core_cards")} </div> <div class="cards-container"> ${0===e.length?this._renderClipboardCard():r.s6} ${t.map(e=>e.element)} </div> </ha-expansion-panel> <ha-expansion-panel> <div slot="header" class="cards-container-header"> ${this.hass.localize("ui.panel.lovelace.editor.card.generic.energy_cards")} </div> <div class="cards-container"> ${a.map(e=>e.element)} </div> </ha-expansion-panel> ${i.length>0?r.qy` <ha-expansion-panel expanded> <div slot="header" class="cards-container-header"> ${this.hass.localize("ui.panel.lovelace.editor.card.generic.custom_cards")} </div> <div class="cards-container"> ${i.map(e=>e.element)} </div> </ha-expansion-panel> `:r.s6} `} <div class="cards-container"> <div class="card manual" @click="${this._cardPicked}" .config="${{type:""}}"> <div class="card-header"> ${this.hass.localize("ui.panel.lovelace.editor.card.generic.manual")} </div> <div class="preview description"> ${this.hass.localize("ui.panel.lovelace.editor.card.generic.manual_description")} </div> <ha-ripple></ha-ripple> </div> </div> </div> `}shouldUpdate(e){const t=e.get("hass");return!t||t.locale!==this.hass.locale}firstUpdated(){if(!this.hass||!this.lovelace)return;const e=(0,_.S_)(this.lovelace),t=(0,_.Xd)(this.hass,e);this._usedEntities=[...e].filter(e=>this.hass.states[e]&&this.hass.states[e].state!==m.Hh&&this.hass.states[e].state!==m.HV),this._unusedEntities=[...t].filter(e=>this.hass.states[e]&&this.hass.states[e].state!==m.Hh&&this.hass.states[e].state!==m.HV),this._loadCards()}updated(e){if(super.updated(e),e.has("_filter")){const e=this.parentElement.shadowRoot.getElementById("content");e&&e.scrollTo({behavior:"auto",top:0})}}_loadCards(){let e=w.j.map(e=>({name:this.hass.localize(`ui.panel.lovelace.editor.card.${e.type}.name`),description:this.hass.localize(`ui.panel.lovelace.editor.card.${e.type}.description`),isSuggested:this.suggestedCards?.includes(e.type)||!1,...e}));e=e.sort((e,t)=>e.isSuggested&&!t.isSuggested?-1:!e.isSuggested&&t.isSuggested?1:(0,p.xL)(e.name||e.type,t.name||t.type,this.hass?.language)),e=e.concat(w.U.map(e=>({name:this.hass.localize(`ui.panel.lovelace.editor.card.${e.type}.name`),description:this.hass.localize(`ui.panel.lovelace.editor.card.${e.type}.description`),isEnergy:!0,...e}))),y.J_.length>0&&(e=e.concat(y.J_.map(e=>({type:e.type,name:e.name,description:e.description,showElement:e.preview,isCustom:!0})).sort((e,t)=>(0,p.xL)(e.name||e.type,t.name||t.type,this.hass?.language)))),this._cards=e.map(e=>({card:e,element:r.qy`${(0,c.T)(this._renderCardElement(e),r.qy` <div class="card spinner"> <ha-spinner></ha-spinner> </div> `)}`}))}_renderClipboardCard(){return this._clipboard?r.qy` ${(0,c.T)(this._renderCardElement({type:this._clipboard.type,showElement:!0,isCustom:!1,name:this.hass.localize("ui.panel.lovelace.editor.card.generic.paste"),description:`${this.hass.localize("ui.panel.lovelace.editor.card.generic.paste_description",{type:this._clipboard.type})}`},this._clipboard),r.qy` <div class="card spinner"> <ha-spinner></ha-spinner> </div> `)}`:r.s6}_handleSearchChange(e){this._filter=e.target.value??""}_cardPicked(e){const t=e.currentTarget.config;(0,h.r)(this,"config-changed",{config:t})}_tryCreateCardElement(e){const t=(0,f.MJ)(e);return t.hass=this.hass,t.addEventListener("ll-rebuild",a=>{a.stopPropagation(),this._rebuildCard(t,e)},{once:!0}),t}_rebuildCard(e,t){let a;try{a=this._tryCreateCardElement(t)}catch(e){return}e.parentElement&&e.parentElement.replaceChild(a,e)}async _renderCardElement(e,t){let{type:a}=e;const{showElement:i,isCustom:s,name:n,description:c}=e,l=s?(0,y.wi)(a):void 0;let d;s&&(a=`${y.IP}${a}`);let h=t??{type:a};if(this.hass&&this.lovelace&&(t||(h=await(0,b.N)(this.hass,a,this._unusedEntities,this._usedEntities)),i))try{d=this._tryCreateCardElement(h)}catch(e){d=void 0}return d&&(d.tabIndex=-1),r.qy` <div class="card" tabindex="0"> <div class="overlay" @click="${this._cardPicked}" .config="${h}"></div> <div class="card-header"> ${l?l.name||l.type:n} </div> <div class="preview ${(0,o.H)({description:!d||"HUI-ERROR-CARD"===d.tagName})}"> ${d&&"HUI-ERROR-CARD"!==d.tagName?d:l?l.description||this.hass.localize("ui.panel.lovelace.editor.cardpicker.no_description"):c} </div> <ha-ripple></ha-ripple> </div> `}static get styles(){return[v.dp,r.AH`:host{display:flex;flex-direction:column;min-height:0}#content{flex:1;min-height:0;overflow:auto}ha-input-search{padding:var(--ha-space-3) var(--ha-space-3) 0;position:sticky;top:0;z-index:10}.cards-container-header{font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);padding:var(--ha-space-3) var(--ha-space-2);margin:0;grid-column:1/-1;position:sticky;top:0;z-index:1;background:linear-gradient(90deg,var(--ha-dialog-surface-background,var(--mdc-theme-surface,#fff)) 0%,#ffffff00 80%)}.cards-container{display:grid;gap:var(--ha-space-2);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:var(--ha-space-3)}.card{height:100%;max-width:500px;display:flex;flex-direction:column;border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg));background:var(--primary-background-color,#fafafa);cursor:pointer;position:relative;overflow:hidden;border:var(--ha-card-border-width,1px) solid var(--ha-card-border-color,var(--divider-color))}.card-header{color:var(--ha-card-header-color,var(--primary-text-color));font-family:var(--ha-card-header-font-family, inherit);font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-bold);letter-spacing:-.012em;line-height:var(--ha-line-height-condensed);padding:var(--ha-space-3) var(--ha-space-4);display:block;text-align:center}.preview{pointer-events:none;margin:var(--ha-space-5);flex-grow:1;display:flex;align-items:center;justify-content:center}.preview>:first-child{display:block;width:100%}.description{text-align:center}.spinner{align-items:center;justify-content:center}.overlay{position:absolute;width:100%;height:100%;z-index:1;box-sizing:border-box;border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg))}.manual{max-width:none;grid-column:1/-1}.icon{position:absolute;top:var(--ha-space-2);right:var(--ha-space-2);inset-inline-start:var(--ha-space-2);inset-inline-end:var(--ha-space-2);border-radius:var(--ha-border-radius-circle);--mdc-icon-size:var(--ha-space-4);line-height:var(--ha-space-4);box-sizing:border-box;color:var(--text-primary-color);padding:var(--ha-space-1)}.icon.custom{background:var(--warning-color)}`]}constructor(...e){super(...e),this._cards=[],this._filter="",this._filterCards=(0,l.A)((e,t)=>{if(!t)return e;let a=e.map(e=>e.card);const i={keys:["type","name","description"],isCaseSensitive:!1,minMatchCharLength:Math.min(t.length,2),threshold:.2,ignoreDiacritics:!0,ignoreLocation:!0},r=new s.A(a,i);return a=r.search(t).map(e=>e.item),e.filter(e=>a.includes(e.card))}),this._suggestedCards=(0,l.A)(e=>e.filter(e=>e.card.isSuggested)),this._customCards=(0,l.A)(e=>e.filter(e=>e.card.isCustom&&!e.card.isSuggested)),this._otherCards=(0,l.A)(e=>e.filter(e=>!e.card.isSuggested&&!e.card.isCustom&&!e.card.isEnergy)),this._energyCards=(0,l.A)(e=>e.filter(e=>e.card.isEnergy))}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],C.prototype,"hass",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],C.prototype,"suggestedCards",void 0),(0,i.Cg)([(0,n.wk)(),(0,d.I)({key:"dashboardCardClipboard",state:!0,subscribe:!0,storage:"sessionStorage"})],C.prototype,"_clipboard",void 0),(0,i.Cg)([(0,n.wk)()],C.prototype,"_cards",void 0),(0,i.Cg)([(0,n.wk)()],C.prototype,"_filter",void 0),(0,i.Cg)([(0,n.P)("ha-input-search")],C.prototype,"_searchInput",void 0),C=(0,i.Cg)([(0,n.EM)("hui-card-picker")],C),t()}catch(e){t(e)}})},2389(e,t,a){a.a(e,async function(e,i){try{a.r(t),a.d(t,{HuiCreateDialogCard:()=>b});var s=a(62826),r=a(5124),n=a(22441),o=a(74985),c=a(1087),l=a(18350),d=a(72554),h=(a(93444),a(76538),a(66289)),p=(a(62647),a(14503)),u=a(82360),g=a(75196),m=a(81797),y=a(73840),v=a(15950),_=e([l,d,h,m,y]);[l,d,h,m,y]=_.then?(await _)():_;const f="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";class b extends r.WF{async showDialog(e){this._params=e,this._narrow=matchMedia("all and (max-width: 450px), all and (max-height: 500px)").matches;const t=(0,g.ys)(e.lovelaceConfig,e.path);if("strategy"in t)throw new Error("Can't edit strategy");this._containerConfig=t,this._open=!0}closeDialog(){return this._open=!1,!0}_dialogClosed(){this._open=!1,this._params=void 0,this._currTab="entity",(0,c.r)(this,"dialog-closed",{dialog:this.localName})}render(){if(!this._params)return r.s6;const e=this._containerConfig.title?this.hass.localize("ui.panel.lovelace.editor.edit_card.pick_card_title",{name:`"${this._containerConfig.title}"`}):this.hass.localize("ui.panel.lovelace.editor.edit_card.pick_card");return r.qy` <ha-dialog .open="${this._open}" flexcontent width="large" @keydown="${this._ignoreKeydown}" @closed="${this._dialogClosed}"> <ha-dialog-header show-border slot="header"> <ha-icon-button slot="navigationIcon" @click="${this._cancel}" .label="${this.hass.localize("ui.common.close")}" .path="${f}"></ha-icon-button> <span slot="title">${e}</span> ${this._params.saveCard?r.s6:r.qy` <ha-tab-group @wa-tab-show="${this._handleTabChanged}"> <ha-tab-group-tab slot="nav" .active="${"entity"===this._currTab}" panel="entity" ?autofocus="${this._narrow}">${this.hass.localize("ui.panel.lovelace.editor.cardpicker.by_entity")}</ha-tab-group-tab> <ha-tab-group-tab slot="nav" .active="${"card"===this._currTab}" panel="card"> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.by_card")} </ha-tab-group-tab> </ha-tab-group> `} </ha-dialog-header> <div class="body"> ${(0,o.P)("entity"===this._currTab?r.qy` <hui-suggestion-picker ?autofocus="${!this._narrow}" .hass="${this.hass}" .prioritizedCardTypes="${this._params.suggestedCards}" @suggestion-picked="${this._handleSuggestionPicked}" @browse-cards="${this._handleBrowseCards}"></hui-suggestion-picker> `:r.qy` <hui-card-picker ?autofocus="${!this._narrow}" .suggestedCards="${this._params.suggestedCards}" .lovelace="${this._params.lovelaceConfig}" .hass="${this.hass}" @config-changed="${this._handleCardPicked}"></hui-card-picker> `)} </div> <ha-dialog-footer slot="footer"> <ha-button slot="secondaryAction" appearance="plain" @click="${this._cancel}"> ${this.hass.localize("ui.common.cancel")} </ha-button> </ha-dialog-footer> </ha-dialog> `}_ignoreKeydown(e){e.stopPropagation()}static get styles(){return[p.nA,r.AH`ha-dialog{--dialog-content-padding:0;--dialog-z-index:6}@media (min-width:451px) and (min-height:501px){ha-dialog{--ha-dialog-min-height:min(900px, 80vh);--ha-dialog-max-height:var(--ha-dialog-min-height)}}ha-dialog::part(body){overflow:hidden}ha-dialog-footer{border-top:1px solid var(--divider-color)}ha-tab-group-tab{flex:1}ha-tab-group-tab::part(base){width:100%;justify-content:center}.body{display:flex;flex-direction:column;flex:1;min-height:0}hui-card-picker,hui-suggestion-picker{flex:1;min-height:0}`]}_handleBrowseCards(){this._currTab="card"}async _handleSuggestionPicked(e){const t=e.detail.config;if(this._params.saveCard)await this._params.saveCard(t);else{const e=this._params.lovelaceConfig,a=this._params.path,i=this._params.saveConfig,s=(0,u.gm)(e,a,t);await i(s)}this.closeDialog()}_handleCardPicked(e){const t=e.detail.config;if(this._params.entities&&this._params.entities.length&&("entities"in t?t.entities=this._params.entities:"entity"in t&&(t.entity=this._params.entities[0])),this._params.saveCard)return(0,v.O)(this,{lovelaceConfig:this._params.lovelaceConfig,saveCardConfig:this._params.saveCard,cardConfig:t,isNew:!0}),void this.closeDialog();const a=this._params.lovelaceConfig,i=this._params.path,s=this._params.saveConfig,r=2===i.length?(0,g.ys)(a,i):void 0;(0,v.O)(this,{lovelaceConfig:a,saveCardConfig:async e=>{const t=(0,u.gm)(a,i,e);await s(t)},cardConfig:t,sectionConfig:r,isNew:!0}),this.closeDialog()}_handleTabChanged(e){const t=e.detail.name;t!==this._currTab&&(this._currTab=t)}_cancel(e){e&&e.stopPropagation(),this.closeDialog()}constructor(...e){super(...e),this._open=!1,this._currTab="entity",this._narrow=!1}}(0,s.Cg)([(0,n.MZ)({attribute:!1})],b.prototype,"hass",void 0),(0,s.Cg)([(0,n.wk)()],b.prototype,"_params",void 0),(0,s.Cg)([(0,n.wk)()],b.prototype,"_open",void 0),(0,s.Cg)([(0,n.wk)()],b.prototype,"_containerConfig",void 0),(0,s.Cg)([(0,n.wk)()],b.prototype,"_currTab",void 0),(0,s.Cg)([(0,n.wk)()],b.prototype,"_narrow",void 0),b=(0,s.Cg)([(0,n.EM)("hui-dialog-create-card")],b),i()}catch(e){i(e)}})},33300(e,t,a){a.a(e,async function(e,t){try{var i=a(62826),s=a(5124),r=a(22441),n=a(1087),o=(a(54276),a(45291)),c=a(46856),l=e([c]);c=(l.then?(await l)():l)[0];const d=6,h=e=>{const t=e,a=t.cards??t.entities;if(!a||a.length<=d)return{config:e,hiddenCount:0};const i=a.slice(0,d);return{config:t.cards?{...e,cards:i}:{...e,entities:i},hiddenCount:a.length-d}};class p extends s.WF{willUpdate(e){super.willUpdate(e),e.has("suggestion")&&(this._preview=this.suggestion?.config?h(this.suggestion.config):void 0)}render(){const{suggestion:e}=this,t=this._preview?.hiddenCount??0,a=e.config.type;let i;if((0,o.c8)(a)){const e=(0,o.Iu)(a);i=(0,o.wi)(e)?.name??e}else i=this.hass.localize(`ui.panel.lovelace.editor.card.${a}.name`);const r=e.label?`${i} - ${e.label}`:i;return s.qy` <div class="card" tabindex="0" role="button" aria-label="${r}" @keydown="${this._handleKeyDown}"> <div class="overlay" @click="${this._handleClick}"></div> <div class="card-header">${r}</div> <div class="preview"> ${this._preview?s.qy` <hui-card .hass="${this.hass}" .config="${this._preview.config}" preview></hui-card> `:s.s6} </div> ${t>0?s.qy` <div class="more-badge"> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.more_cards",{count:t})} </div> `:s.s6} <ha-ripple></ha-ripple> </div> `}_handleClick(){(0,n.r)(this,"pick-suggestion",{suggestion:this.suggestion})}_handleKeyDown(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this._handleClick())}}p.styles=s.AH`:host{display:block;height:100%}.card{height:100%;display:flex;flex-direction:column;border-radius:var(--ha-card-border-radius,var(--ha-border-radius-lg));background:var(--primary-background-color);cursor:pointer;position:relative;overflow:hidden;border:var(--ha-card-border-width,var(--ha-border-width-sm)) solid var(--ha-card-border-color,var(--divider-color))}.card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.overlay{position:absolute;inset:0;z-index:1;border-radius:inherit}.card-header{color:var(--ha-card-header-color,var(--primary-text-color));font-family:var(--ha-card-header-font-family, inherit);font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-medium);padding:var(--ha-space-3) var(--ha-space-4);text-align:center}.preview{pointer-events:none;margin:var(--ha-space-4);flex-grow:1;display:flex;align-items:center;justify-content:center}.preview>:first-child{display:block;width:100%}.more-badge{margin:0 var(--ha-space-4) var(--ha-space-3);padding:var(--ha-space-1) var(--ha-space-2);align-self:flex-start;border-radius:var(--ha-border-radius-md);background:var(--ha-color-fill-neutral-quiet-resting);color:var(--ha-color-text-secondary);font-size:var(--ha-font-size-s);font-weight:var(--ha-font-weight-medium)}`,(0,i.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,i.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"suggestion",void 0),(0,i.Cg)([(0,r.wk)()],p.prototype,"_preview",void 0),p=(0,i.Cg)([(0,r.EM)("hui-suggestion-card")],p),t()}catch(e){t(e)}})},84030(e,t,a){a.a(e,async function(e,t){try{a(18111),a(61701);var i=a(62826),s=a(35211),r=a(5124),n=a(22441),o=a(75751),c=a(22786),l=a(32172),d=a(1087),h=a(81816),p=a(28978),u=a(15638),g=a(9899),m=a(63091),y=a(74281),v=(a(75064),a(59174)),_=(a(18198),a(47680),a(69464),a(67094),a(36866)),f=a(22792),b=a(14503),w=a(85614),$=a(54),C=e([y,v,_]);[y,v,_]=C.then?(await C)():C;const x="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z",k="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z",E="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",H="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z",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";class z extends r.WF{async focus(){await this.updateComplete,await(this._searchInput?.updateComplete),this._searchInput?.focus()}connectedCallback(){super.connectedCallback(),this._loadDomainTranslations()}async _loadDomainTranslations(){this.hass&&(this._domainLocalize=await this.hass.loadBackendTranslation("title"))}disconnectedCallback(){super.disconnectedCallback(),this._setFilter.cancel()}_deviceDomain(e){const t=this.hass?.devices[e];if(t?.primary_config_entry)return this._configEntryLookup?.[t.primary_config_entry]?.domain}willUpdate(e){super.willUpdate(e),this.hasUpdated||(0,w.i)(),!this._tree&&this.hass&&this._domainLocalize&&(this._tree=(0,$.mm)({states:this.hass.states,entities:this.hass.entities,devices:this.hass.devices,areas:this.hass.areas,floors:this.hass.floors,language:this.hass.locale?.language,localize:this._domainLocalize}),this._fuseIndex=(0,$.BK)(this._tree.searchableEntities),1===this._tree.floors.length&&(this._expanded={[(0,$.ig)(this._tree.floors[0].id)]:!0}))}render(){return this.hass?r.qy` <ha-input-search appearance="outlined" .value="${this._filter}" .placeholder="${this.hass.localize("ui.panel.lovelace.editor.cardpicker.search_entities")}" @input="${this._handleFilterChange}"></ha-input-search> ${this._tree?this._filter?this._renderSearchResults():r.qy`<div class="tree ha-scrollbar"> ${this._renderTree(this._tree)} </div>`:r.s6} `:r.s6}_isExpanded(e){return this._expanded[e]??!1}_renderTree(e){const t=0===e.floors.length&&e.otherAreas.length>0;return r.qy` ${e.floors.length||e.otherAreas.length?r.qy` <ha-section-title> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.home")} </ha-section-title> ${(0,o.u)(e.floors,e=>e.id,e=>this._renderFloor(e,!1))} ${e.otherAreas.length?t?(0,o.u)(e.otherAreas,e=>e.id,e=>this._renderArea(e,(0,$.ig)($.OC))):this._renderFloor({id:$.OC,name:this.hass.localize("ui.panel.lovelace.editor.cardpicker.other_areas"),icon:null,level:null,areas:e.otherAreas},!0):r.s6} `:r.s6} ${e.unassignedSections.length?r.qy` <ha-section-title> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.unassigned")} </ha-section-title> ${(0,o.u)(e.unassignedSections,e=>e.id,e=>this._renderUnassignedSection(e))} `:r.s6} `}_renderSearchResults(){const e=this._searchMemo(this._tree.searchableEntities,this._fuseIndex,this._filter);return e.length?r.qy` <lit-virtualizer scroller class="search-results ha-scrollbar" .items="${e}" .keyFunction="${this._searchKeyFunction}" .renderItem="${this._getSearchRowRenderer(this.selectedEntityId)}"></lit-virtualizer> `:r.qy` <div class="empty"> <ha-svg-icon .path="${H}"></ha-svg-icon> <h2> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.no_search_results_title")} </h2> <p> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.no_search_results_description")} </p> </div> `}_renderChevron(e){return r.qy`<ha-svg-icon class="chevron" .path="${e?x:"rtl"===m.G.document.dir?E:k}"></ha-svg-icon>`}_renderFloor(e,t){const a=(0,$.ig)(e.id),i=this._isExpanded(a);return r.qy` <ha-combo-box-item type="button" class="branch depth-root floor-item" aria-expanded="${i}" data-node-key="${a}" @click="${this._toggleNode}"> <div slot="start" class="leading"> ${this._renderChevron(i)} ${t?r.qy`<ha-svg-icon .path="${L}"></ha-svg-icon>`:r.qy`<ha-floor-icon .floor="${{icon:e.icon,level:e.level}}"></ha-floor-icon>`} </div> <span slot="headline">${e.name}</span> </ha-combo-box-item> ${i?(0,o.u)(e.areas,e=>e.id,e=>this._renderArea(e,a)):r.s6} `}_renderArea(e,t){const a=(0,$.TQ)(t,e.id),i=this._isExpanded(a);return r.qy` <ha-combo-box-item type="button" class="branch depth-area area-item" aria-expanded="${i}" data-node-key="${a}" @click="${this._toggleNode}"> <div slot="start" class="leading"> ${this._renderChevron(i)} ${e.icon?r.qy`<ha-icon .icon="${e.icon}"></ha-icon>`:r.qy`<ha-svg-icon .path="${L}"></ha-svg-icon>`} </div> <span slot="headline">${e.name}</span> </ha-combo-box-item> ${i?r.qy` ${(0,o.u)(e.devices,e=>e.id,e=>this._renderDevice(e,a))} ${(0,o.u)(e.directEntityIds,e=>e,e=>this._renderEntity(e,"depth-entity-area"))} `:r.s6} `}_renderDevice(e,t){const a=(0,$.cY)(t,e.id),i=this._isExpanded(a),s=this._deviceDomain(e.id);return r.qy` <ha-combo-box-item type="button" class="branch depth-device device-item" aria-expanded="${i}" data-node-key="${a}" @click="${this._toggleNode}"> <div slot="start" class="leading"> ${this._renderChevron(i)} ${s?r.qy`<ha-domain-icon .hass="${this.hass}" .domain="${s}" brand-fallback></ha-domain-icon>`:r.qy`<ha-svg-icon .path="${L}"></ha-svg-icon>`} </div> <span slot="headline">${e.name}</span> </ha-combo-box-item> ${i?(0,o.u)(e.entityIds,e=>e,e=>this._renderEntity(e,"depth-entity-device")):r.s6} `}_renderUnassignedSection(e){const t=(0,$.BG)(e.id),a=this._isExpanded(t);return r.qy` <ha-combo-box-item type="button" class="branch depth-root floor-item" aria-expanded="${a}" data-node-key="${t}" @click="${this._toggleNode}"> <div slot="start" class="leading"> ${this._renderChevron(a)} <ha-svg-icon .path="${e.iconPath}"></ha-svg-icon> </div> <span slot="headline">${e.label}</span> </ha-combo-box-item> ${a?r.qy` ${e.devices?(0,o.u)(e.devices,e=>e.id,e=>this._renderDevice(e,t)):r.s6} ${e.domains?(0,o.u)(e.domains,e=>e.domain,e=>{const a=(0,$.mI)(t,e.domain),i=this._isExpanded(a);return r.qy` <ha-combo-box-item type="button" class="branch depth-area area-item" aria-expanded="${i}" data-node-key="${a}" @click="${this._toggleNode}"> <div slot="start" class="leading"> ${this._renderChevron(i)} <ha-domain-icon .hass="${this.hass}" .domain="${e.domain}" brand-fallback></ha-domain-icon> </div> <span slot="headline">${e.name}</span> </ha-combo-box-item> ${i?(0,o.u)(e.entityIds,e=>e,e=>this._renderEntity(e,"depth-entity-area")):r.s6} `}):r.s6} `:r.s6} `}_renderEntity(e,t){const a=this.hass.states[e],i=this.selectedEntityId===e,s=(a?(0,h.aH)(a,this.hass.entities,this.hass.devices):void 0)||(a?(0,p.u)(a):void 0)||e;return r.qy` <ha-combo-box-item type="button" class="leaf ${t} entity-item ${i?"selected":""}" aria-current="${i?"true":"false"}" data-entity-id="${e}" @click="${this._pickEntity}"> <div slot="start" class="leading"> <span class="chevron-spacer"></span> ${a?r.qy`<state-badge .hass="${this.hass}" .stateObj="${a}"></state-badge>`:r.s6} </div> <span slot="headline">${s}</span> </ha-combo-box-item> `}_toggleNode(e){const t=e.currentTarget.dataset.nodeKey;if(t)if(this._expanded[t]){const e={...this._expanded};delete e[t];const a=(0,$.U7)(t);for(const t of Object.keys(e))t.startsWith(a)&&delete e[t];this._expanded=e}else this._expanded={...this._expanded,[t]:!0}}_expandToEntity(e){if(!this._tree)return;const t=(0,$.wH)(this._tree,e);if(!t.length)return;const a={...this._expanded};let i=!1;for(const e of t)a[e]||(a[e]=!0,i=!0);i&&(this._expanded=a)}_handleFilterChange(e){this._setFilter(e.target.value??"")}static get styles(){return[b.dp,r.AH`:host{display:flex;flex-direction:column;min-height:0}ha-input-search{padding:var(--ha-space-3);border-bottom:var(--ha-border-width-sm) solid var(--divider-color)}.tree{flex:1;min-height:0;overflow:auto;padding-bottom:var(--ha-space-3)}lit-virtualizer.search-results{flex:1;min-height:0;padding-bottom:var(--ha-space-3)}ha-combo-box-item{--md-list-item-one-line-container-height:40px;--md-list-item-two-line-container-height:48px;--md-list-item-leading-space:var(--ha-space-3);--md-list-item-trailing-space:var(--ha-space-3);--md-list-item-leading-element-leading-space:0;width:100%}ha-combo-box-item.depth-area{--md-list-item-leading-space:var(--ha-space-8)}ha-combo-box-item.depth-device{--md-list-item-leading-space:var(--ha-space-12)}ha-combo-box-item.depth-entity-area{--md-list-item-leading-space:var(--ha-space-12)}ha-combo-box-item.depth-entity-device{--md-list-item-leading-space:var(--ha-space-16)}.leading{display:flex;align-items:center;gap:var(--ha-space-2)}.leading ha-domain-icon,.leading ha-floor-icon,.leading ha-icon,.leading ha-svg-icon{color:var(--secondary-text-color)}.leading state-badge{--state-icon-color:var(--secondary-text-color);width:24px;height:24px}.chevron{color:var(--secondary-text-color);flex:0 0 24px}.chevron-spacer{width:24px;flex:0 0 24px}.floor-item{--md-list-item-label-text-weight:var(--ha-font-weight-medium)}.entity-item.selected{background-color:var(--ha-color-fill-primary-quiet-resting,rgba(var(--rgb-primary-color,33,150,243),.12));--md-list-item-label-text-color:var(--primary-color);--md-list-item-label-text-weight:var(--ha-font-weight-medium)}.entity-item.selected .leading state-badge{--state-icon-color:var(--primary-color)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ha-space-2);padding:var(--ha-space-8) var(--ha-space-4);text-align:center}.empty ha-svg-icon{--mdc-icon-size:32px;color:var(--ha-color-text-secondary)}.empty h2{margin:0;font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);color:var(--primary-text-color)}.empty p{margin:0;color:var(--ha-color-text-secondary);font-size:var(--ha-font-size-s)}`]}constructor(...e){super(...e),this._filter="",this._expanded={},this._searchMemo=(0,c.A)($.eT),this._searchKeyFunction=e=>e.id,this._getSearchRowRenderer=(0,c.A)(e=>(e,t)=>this._renderSearchRow(e,t)),this._renderSearchRow=(e,t)=>{const a=this.hass.states[e.id],i=this.selectedEntityId===e.id,s=(0,u.qC)(this.hass.language,this.hass.translationMetadata.translations)?" ◂ ":" ▸ ",n=[e.area,e.device].filter(Boolean).join(s);return r.qy` <ha-combo-box-item type="button" compact="compact" .borderTop="${0!==t}" class="entity-item ${i?"selected":""}" aria-current="${i?"true":"false"}" data-entity-id="${e.id}" @click="${this._pickEntity}"> ${a?r.qy`<state-badge slot="start" .hass="${this.hass}" .stateObj="${a}"></state-badge>`:r.s6} <span slot="headline">${e.name}</span> ${n?r.qy`<span slot="supporting-text">${n}</span>`:r.s6} ${e.domain?r.qy`<div slot="trailing-supporting-text" class="domain"> ${e.domain} </div>`:r.s6} </ha-combo-box-item> `},this._pickEntity=e=>{const t=e.currentTarget.dataset.entityId;t&&(this._expandToEntity(t),(0,d.r)(this,"entity-picked",{entityId:t}))},this._setFilter=(0,g.s)(e=>{this._filter=e},150)}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],z.prototype,"hass",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],z.prototype,"selectedEntityId",void 0),(0,i.Cg)([(0,n.wk)()],z.prototype,"_filter",void 0),(0,i.Cg)([(0,n.wk)()],z.prototype,"_expanded",void 0),(0,i.Cg)([(0,n.wk)(),(0,s.Fg)({context:f.g5,subscribe:!0}),(0,l.p)({transformer:e=>e?Object.fromEntries(e.map(e=>[e.entry_id,e])):void 0})],z.prototype,"_configEntryLookup",void 0),(0,i.Cg)([(0,n.wk)()],z.prototype,"_domainLocalize",void 0),(0,i.Cg)([(0,n.wk)()],z.prototype,"_tree",void 0),(0,i.Cg)([(0,n.wk)()],z.prototype,"_fuseIndex",void 0),(0,i.Cg)([(0,n.P)("ha-input-search")],z.prototype,"_searchInput",void 0),z=(0,i.Cg)([(0,n.EM)("hui-suggestion-entity-tree")],z),t()}catch(e){t(e)}})},73840(e,t,a){a.a(e,async function(e,t){try{a(74423),a(18111),a(22489),a(33110),a(88454),a(29452);var i=a(62826),s=a(5124),r=a(22441),n=a(6412),o=a(75751),c=a(22786),l=a(1087),d=a(74705),h=a(74281),p=a(18350),u=(a(75064),a(26300)),g=(a(54276),a(69464),a(67094),a(14503)),m=a(35694),y=a(33300),v=a(84030),_=e([h,p,u,y,v,m]);[h,p,u,y,v,m]=_.then?(await _)():_;const f="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",b="M13 3V11H21V3H13M3 21H11V13H3V21M3 3V11H11V3H3M13 16H16V13H18V16H21V18H18V21H16V18H13V16Z";class w extends s.WF{async focus(){await this.updateComplete,await(this._entityTree?.focus())}connectedCallback(){super.connectedCallback(),this._narrowMql=matchMedia("(max-width: 600px)"),this._narrow=this._narrowMql.matches,this._narrowMql.addEventListener("change",this._handleNarrowChange)}disconnectedCallback(){super.disconnectedCallback(),this._narrowMql?.removeEventListener("change",this._handleNarrowChange),this._narrowMql=void 0}render(){const e=!!this._entityId,t=!this._narrow||!e,a=!this._narrow||e;return s.qy` <div class="${(0,n.H)({sidebar:!0,hidden:!t})}"> <hui-suggestion-entity-tree class="tree" .hass="${this.hass}" .selectedEntityId="${this._entityId}" @entity-picked="${this._handleEntityPicked}"></hui-suggestion-entity-tree> </div> <div class="${(0,n.H)({main:!0,hidden:!a})}"> <div class="content ha-scrollbar"> ${this._renderMainContent(e)} </div> </div> `}_renderMainContent(e){if(!e)return this._renderEmptyState();const{core:t,custom:a}=this._suggestions();return s.qy` ${this._narrow?this._renderSelectedEntity():s.s6} <ha-section-title> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.suggestions_title")} </ha-section-title> ${this._renderSuggestionsGrid(t)} ${a.length?s.qy` <ha-section-title> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.community_title")} </ha-section-title> ${this._renderSuggestionsGrid(a)} `:s.s6} ${this._renderBrowseCard()} `}_renderBrowseCard(){return s.qy` <div class="browse-card"> <p> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.not_found")} </p> <ha-button appearance="plain" @click="${this._browseCards}"> <ha-svg-icon slot="start" .path="${b}"></ha-svg-icon> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.browse_cards")} </ha-button> </div> `}_renderSelectedEntity(){const e=this.hass.states[this._entityId],{primary:t,secondary:a}=e?(0,d.Bj)(this.hass,e):{primary:this._entityId,secondary:void 0};return s.qy` <ha-section-title> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.selected_entity")} </ha-section-title> <ha-combo-box-item compact="compact" class="selected-entity"> ${e?s.qy`<state-badge slot="start" .hass="${this.hass}" .stateObj="${e}"></state-badge>`:s.s6} <span slot="headline">${t}</span> ${a?s.qy`<span slot="supporting-text">${a}</span>`:s.s6} <ha-icon-button slot="end" .label="${this.hass.localize("ui.common.clear")}" .path="${f}" @click="${this._clearEntity}"></ha-icon-button> </ha-combo-box-item> `}_renderEmptyState(){return s.qy` <div class="content-empty"> <h2> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.content_empty_title")} </h2> <p> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.content_empty_description")} </p> <ha-button appearance="plain" @click="${this._browseCards}"> <ha-svg-icon slot="start" .path="${b}"></ha-svg-icon> ${this.hass.localize("ui.panel.lovelace.editor.cardpicker.browse_cards")} </ha-button> </div> `}_renderSuggestionsGrid(e){return s.qy` <div class="suggestions" @pick-suggestion="${this._pickSuggestion}"> ${(0,o.u)(e,this._suggestionKey,e=>s.qy` <hui-suggestion-card .hass="${this.hass}" .suggestion="${e}"></hui-suggestion-card> `)} </div> `}_suggestions(){return this._computeSuggestions(this._entityId,(this.prioritizedCardTypes??[]).join("|"))}_browseCards(){(0,l.r)(this,"browse-cards",void 0)}_handleEntityPicked(e){this._entityId=e.detail.entityId}_clearEntity(){this._entityId=void 0}_pickSuggestion(e){(0,l.r)(this,"suggestion-picked",{config:e.detail.suggestion.config})}static get styles(){return[g.dp,s.AH`:host{display:flex;flex-direction:row;min-height:0}.sidebar{flex:0 0 320px;display:flex;flex-direction:column;border-inline-end:var(--ha-border-width-sm) solid var(--divider-color);min-height:0;overflow:hidden}.tree{flex:1;min-height:0}.main{flex:1;display:flex;flex-direction:column;min-height:0}.content{flex:1;min-height:0;overflow:auto}.hidden{display:none!important}.suggestions{display:grid;gap:var(--ha-space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:var(--ha-space-3)}.content-empty{box-sizing:border-box;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ha-space-3);padding:var(--ha-space-8) var(--ha-space-4);text-align:center}.content-empty h2{margin:0;font-size:var(--ha-font-size-xl);font-weight:var(--ha-font-weight-medium)}.content-empty p{margin:0;max-width:480px;color:var(--ha-color-text-secondary);line-height:var(--ha-line-height-expanded)}.browse-card{display:flex;flex-direction:column;align-items:center;gap:var(--ha-space-2);padding:var(--ha-space-6) var(--ha-space-4)}.browse-card p{margin:0;color:var(--ha-color-text-secondary);font-size:var(--ha-font-size-s)}@media (max-width:600px){:host{flex-direction:column;overflow:hidden}.sidebar{flex:1;border-inline-end:none}}`]}constructor(...e){super(...e),this._narrow=!1,this._handleNarrowChange=e=>{this._narrow=e.matches},this._computeSuggestions=(0,c.A)((e,t)=>{const{core:a,custom:i}=(0,m.h)(this.hass,e),s=t?t.split("|"):void 0;if(!s?.length)return{core:a,custom:i};const r=e=>s.includes(e.config.type);return{core:[...a.filter(r),...a.filter(e=>!r(e))],custom:i}}),this._suggestionKeys=new WeakMap,this._suggestionKey=e=>{let t=this._suggestionKeys.get(e);return void 0===t&&(t=JSON.stringify(e.config),this._suggestionKeys.set(e,t)),t}}}(0,i.Cg)([(0,r.MZ)({attribute:!1})],w.prototype,"hass",void 0),(0,i.Cg)([(0,r.MZ)({type:Array,attribute:!1})],w.prototype,"prioritizedCardTypes",void 0),(0,i.Cg)([(0,r.wk)()],w.prototype,"_entityId",void 0),(0,i.Cg)([(0,r.wk)()],w.prototype,"_narrow",void 0),(0,i.Cg)([(0,r.P)("hui-suggestion-entity-tree")],w.prototype,"_entityTree",void 0),w=(0,i.Cg)([(0,r.EM)("hui-suggestion-picker")],w),t()}catch(e){t(e)}})},43100(e,t,a){a.a(e,async function(e,i){try{a.d(t,{N:()=>n});var s=a(8349),r=e([s]);s=(r.then?(await r)():r)[0];const n=async(e,t,a,i)=>{let r={type:t};const n=await(0,s.dY)(t);if(n&&n.getStubConfig){const t=await n.getStubConfig(e,a,i);r={...r,...t}}return r};i()}catch(e){i(e)}})},92708(e,t,a){a.d(t,{U:()=>s,j:()=>i});const i=[{type:"alarm-panel",showElement:!0},{type:"button",showElement:!0},{type:"calendar",showElement:!0},{type:"clock",showElement:!0},{type:"entities",showElement:!0},{type:"entity",showElement:!0},{type:"gauge",showElement:!0},{type:"glance",showElement:!0},{type:"history-graph",showElement:!0},{type:"distribution",showElement:!0},{type:"statistics-graph",showElement:!1},{type:"statistic",showElement:!0},{type:"humidifier",showElement:!0},{type:"light",showElement:!0},{type:"map",showElement:!0},{type:"markdown",showElement:!0},{type:"media-control",showElement:!0},{type:"picture",showElement:!0},{type:"picture-elements",showElement:!0},{type:"picture-entity",showElement:!0},{type:"picture-glance",showElement:!0},{type:"plant-status",showElement:!0},{type:"sensor",showElement:!0},{type:"thermostat",showElement:!0},{type:"weather-forecast",showElement:!0},{type:"area",showElement:!0},{type:"tile",showElement:!0},{type:"conditional"},{type:"entity-filter"},{type:"grid"},{type:"horizontal-stack"},{type:"iframe"},{type:"logbook"},{type:"vertical-stack"},{type:"todo-list"},{type:"heading",showElement:!0},{type:"shortcut",showElement:!0}],s=[{type:"energy-date-selection",showElement:!0},{type:"energy-distribution",showElement:!1},{type:"energy-usage-graph",showElement:!1},{type:"energy-solar-graph",showElement:!1},{type:"energy-gas-graph",showElement:!1},{type:"energy-water-graph",showElement:!1},{type:"power-sources-graph",showElement:!1},{type:"energy-sources-table",showElement:!1},{type:"energy-devices-graph",showElement:!1},{type:"energy-devices-detail-graph",showElement:!1},{type:"energy-sankey",showElement:!1},{type:"power-sankey",showElement:!1},{type:"water-sankey",showElement:!1},{type:"water-flow-sankey",showElement:!1},{type:"energy-solar-consumed-gauge",showElement:!1},{type:"energy-self-sufficiency-gauge",showElement:!1},{type:"energy-grid-neutrality-gauge",showElement:!1},{type:"energy-grid-balance",showElement:!1},{type:"energy-carbon-consumed-gauge",showElement:!1},{type:"energy-compare",showElement:!1}]},74985(e,t,a){a.d(t,{P:()=>o});a(88454),a(29452);var i=a(5055),s=a(42017),r=a(63937);const n=e=>(0,r.ps)(e)?e._$litType$.h:e.strings,o=(0,s.u$)(class extends s.WL{render(e){return[e]}update(e,[t]){const a=(0,r.qb)(this.it)?n(this.it):null,s=(0,r.qb)(t)?n(t):null;if(null!==a&&(null===s||a!==s)){const t=(0,r.cN)(e).pop();let s=this.et.get(a);if(void 0===s){const e=document.createDocumentFragment();s=(0,i.XX)(i.s6,e),s.setConnected(!1),this.et.set(a,s)}(0,r.mY)(s,[t]),(0,r.Dx)(s,void 0,t)}if(null!==s){if(null===a||a!==s){const t=this.et.get(s);if(void 0!==t){const a=(0,r.cN)(t).pop();(0,r.Jz)(e),(0,r.Dx)(e,void 0,a),(0,r.mY)(e,[a])}}this.it=t}else this.it=void 0;return this.render(t)}constructor(e){super(e),this.et=new WeakMap}})}};