UNPKG

iobroker.lovelace

Version:

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

5 lines 32.1 kB
export const __webpack_ids__=["16849"];export const __webpack_modules__={17803:function(t,e,i){i.d(e,{I:()=>a,_:()=>o});const a=(t,e,i,a)=>{const[o,n,r]=t.split(".",3);return Number(o)>e||Number(o)===e&&(void 0===a?Number(n)>=i:Number(n)>i)||void 0!==a&&Number(o)===e&&Number(n)===i&&Number(r)>=a},o=t=>t.includes("dev")},64214:function(t,e,i){i.a(t,(async function(t,a){try{i.d(e,{DG:()=>m,E8:()=>v,Fu:()=>g,NR:()=>b,o0:()=>h,yD:()=>y});var o=i(16485),n=i(27486),r=i(46467),s=i(33570),d=i(11104),l=i(16922),c=t([o,d,r,s]);[o,d,r,s]=c.then?(await c)():c;const h=(t,e,i)=>u(e,i.time_zone).format(t),u=(0,n.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric",hour:(0,l.y)(t)?"numeric":"2-digit",minute:"2-digit",hourCycle:(0,l.y)(t)?"h12":"h23",timeZone:(0,d.f)(t.time_zone,e)}))),m=((0,n.Z)((()=>new Intl.DateTimeFormat(void 0,{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}))),(t,e,i)=>p(e,i.time_zone).format(t)),p=(0,n.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"short",day:"numeric",hour:(0,l.y)(t)?"numeric":"2-digit",minute:"2-digit",hourCycle:(0,l.y)(t)?"h12":"h23",timeZone:(0,d.f)(t.time_zone,e)}))),y=(t,e,i)=>f(e,i.time_zone).format(t),f=(0,n.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{month:"short",day:"numeric",hour:(0,l.y)(t)?"numeric":"2-digit",minute:"2-digit",hourCycle:(0,l.y)(t)?"h12":"h23",timeZone:(0,d.f)(t.time_zone,e)}))),g=(t,e,i)=>(new Date).getFullYear()===t.getFullYear()?y(t,e,i):m(t,e,i),v=(t,e,i)=>_(e,i.time_zone).format(t),_=(0,n.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric",hour:(0,l.y)(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hourCycle:(0,l.y)(t)?"h12":"h23",timeZone:(0,d.f)(t.time_zone,e)}))),b=(t,e,i)=>`${(0,r.WB)(t,e,i)}, ${(0,s.mr)(t,e,i)}`;a()}catch(t){a(t)}}))},11104:function(t,e,i){i.a(t,(async function(t,a){try{i.d(e,{f:()=>l});var o=i(16485),n=i(20382),r=t([o]);o=(r.then?(await r)():r)[0];const s=Intl.DateTimeFormat?.().resolvedOptions?.().timeZone,d=s??"UTC",l=(t,e)=>t===n.c_.local&&s?d:e;a()}catch(t){a(t)}}))},59847:function(t,e,i){i.d(e,{N:()=>o});var a=i(73850);const o=t=>(0,a.M)(t.entity_id)},75278:function(t,e,i){i.d(e,{e:()=>a});const a=(t,e)=>o(t.attributes,e),o=(t,e)=>!!(t.supported_features&e)},87707:function(t,e,i){i.d(e,{Q:()=>a});const a=t=>!(!t.detail.selected||"property"!==t.detail.source)&&(t.currentTarget.selected=!1,!0)},50602:function(t,e,i){i.a(t,(async function(t,a){try{i.d(e,{SL:()=>d,l4:()=>u,sJ:()=>l,uf:()=>h});var o=i(16485),n=i(20382),r=i(34618),s=t([o]);o=(s.then?(await s)():s)[0];const d=t=>l(t.attributes),l=(t,e)=>!!t.unit_of_measurement||!!t.state_class||(e||[]).includes(t.device_class||""),c=t=>{switch(t.number_format){case n.y4.comma_decimal:return["en-US","en"];case n.y4.decimal_comma:return["de","es","it"];case n.y4.space_comma:return["fr","sv","cs"];case n.y4.system:return;default:return t.language}},h=(t,e,i)=>{const a=e?c(e):void 0;return Number.isNaN=Number.isNaN||function t(e){return"number"==typeof e&&t(e)},e?.number_format===n.y4.none||Number.isNaN(Number(t))?Number.isNaN(Number(t))||""===t||e?.number_format!==n.y4.none?"string"==typeof t?t:`${(0,r.N)(t,i?.maximumFractionDigits).toString()}${"currency"===i?.style?` ${i.currency}`:""}`:new Intl.NumberFormat("en-US",m(t,{...i,useGrouping:!1})).format(Number(t)):new Intl.NumberFormat(a,m(t,i)).format(Number(t))},u=(t,e)=>{const i=e?.display_precision;return null!=i?{maximumFractionDigits:i,minimumFractionDigits:i}:Number.isInteger(Number(t?.attributes?.step))&&Number.isInteger(Number(t?.state))?{maximumFractionDigits:0}:void 0},m=(t,e)=>{const i={maximumFractionDigits:2,...e};if("string"!=typeof t)return i;if(!e||void 0===e.minimumFractionDigits&&void 0===e.maximumFractionDigits){const e=t.indexOf(".")>-1?t.split(".")[1].length:0;i.minimumFractionDigits=e,i.maximumFractionDigits=e}return i};a()}catch(t){a(t)}}))},54977:function(t,e,i){var a=i(44249),o=i(57243),n=i(15093);(0,a.Z)([(0,n.Mo)("ha-card")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",decorators:[(0,n.Cb)()],key:"header",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"raised",value:()=>!1},{kind:"field",static:!0,key:"styles",value:()=>o.iv`:host{background:var(--ha-card-background,var(--card-background-color,#fff));-webkit-backdrop-filter:var(--ha-card-backdrop-filter,none);backdrop-filter:var(--ha-card-backdrop-filter,none);box-shadow:var(--ha-card-box-shadow,none);box-sizing:border-box;border-radius:var(--ha-card-border-radius,12px);border-width:var(--ha-card-border-width,1px);border-style:solid;border-color:var(--ha-card-border-color,var(--divider-color,#e0e0e0));color:var(--primary-text-color);display:block;transition:all .3s ease-out;position:relative}:host([raised]){border:none;box-shadow:var(--ha-card-box-shadow,0px 2px 1px -1px rgba(0,0,0,.2),0px 1px 1px 0px rgba(0,0,0,.14),0px 1px 3px 0px rgba(0,0,0,.12))}.card-header,:host ::slotted(.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-card-header-font-size, 24px);letter-spacing:-.012em;line-height:48px;padding:12px 16px 16px;display:block;margin-block-start:0px;margin-block-end:0px;font-weight:400}:host ::slotted(.card-content:not(:first-child)),slot:not(:first-child)::slotted(.card-content){padding-top:0px;margin-top:-8px}:host ::slotted(.card-content){padding:16px}:host ::slotted(.card-actions){border-top:1px solid var(--divider-color,#e8e8e8);padding:5px 16px}`},{kind:"method",key:"render",value:function(){return o.dy` ${this.header?o.dy`<h1 class="card-header">${this.header}</h1>`:o.Ld} <slot></slot> `}}]}}),o.oi)},20130:function(t,e,i){var a=i(44249),o=i(72621),n=i(39785),r=i(52876),s=i(15093),d=i(57243),l=i(5111);(0,a.Z)([(0,s.Mo)("ha-fab")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"method",key:"firstUpdated",value:function(t){(0,o.Z)(i,"firstUpdated",this,3)([t]),this.style.setProperty("--mdc-theme-secondary","var(--primary-color)")}},{kind:"field",static:!0,key:"styles",value:()=>[r.W,d.iv`:host .mdc-fab--extended .mdc-fab__icon{margin-inline-start:-8px;margin-inline-end:12px;direction:var(--direction)}:disabled{--mdc-theme-secondary:var(--disabled-text-color);pointer-events:none}`,"rtl"===l.E.document.dir?d.iv`:host .mdc-fab--extended .mdc-fab__icon{direction:rtl}`:d.iv``]}]}}),n._)},7285:function(t,e,i){i.d(e,{M:()=>l});var a=i(44249),o=i(72621),n=i(65703),r=i(46289),s=i(57243),d=i(15093);let l=(0,a.Z)([(0,d.Mo)("ha-list-item")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"method",key:"renderRipple",value:function(){return this.noninteractive?"":(0,o.Z)(i,"renderRipple",this,3)([])}},{kind:"get",static:!0,key:"styles",value:function(){return[r.W,s.iv`:host{padding-left:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-inline-start:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-right:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px));padding-inline-end:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px))}:host([graphic=avatar]:not([twoLine])),:host([graphic=icon]:not([twoLine])){height:48px}span.material-icons:first-of-type{margin-inline-start:0px!important;margin-inline-end:var(--mdc-list-item-graphic-margin,16px)!important;direction:var(--direction)!important}span.material-icons:last-of-type{margin-inline-start:auto!important;margin-inline-end:0px!important;direction:var(--direction)!important}.mdc-deprecated-list-item__meta{display:var(--mdc-list-item-meta-display);align-items:center;flex-shrink:0}:host([graphic=icon]:not([twoline])) .mdc-deprecated-list-item__graphic{margin-inline-end:var(--mdc-list-item-graphic-margin,20px)!important}:host([multiline-secondary]){height:auto}:host([multiline-secondary]) .mdc-deprecated-list-item__text{padding:8px 0}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text{text-overflow:initial;white-space:normal;overflow:auto;display:inline-block;margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text{margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text::before{display:none}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text::before{display:none}:host([disabled]){color:var(--disabled-text-color)}:host([noninteractive]){pointer-events:unset}`,"rtl"===document.dir?s.iv`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`:s.iv``]}}]}}),n.K)},17170:function(t,e,i){i.a(t,(async function(t,a){try{i.r(e),i.d(e,{HaSpinner:()=>h});var o=i(44249),n=i(72621),r=i(97677),s=i(43580),d=i(57243),l=i(15093),c=t([r]);r=(c.then?(await c)():c)[0];let h=(0,o.Z)([(0,l.Mo)("ha-spinner")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,l.Cb)()],key:"size",value:void 0},{kind:"method",key:"updated",value:function(t){if((0,n.Z)(i,"updated",this,3)([t]),t.has("size"))switch(this.size){case"tiny":this.style.setProperty("--ha-spinner-size","16px");break;case"small":this.style.setProperty("--ha-spinner-size","28px");break;case"medium":this.style.setProperty("--ha-spinner-size","48px");break;case"large":this.style.setProperty("--ha-spinner-size","68px");break;case void 0:this.style.removeProperty("--ha-progress-ring-size")}}},{kind:"field",static:!0,key:"styles",value:()=>[s.Z,d.iv`:host{--indicator-color:var( --ha-spinner-indicator-color, var(--primary-color) );--track-color:var(--ha-spinner-divider-color, var(--divider-color));--track-width:4px;--speed:3.5s;font-size:var(--ha-spinner-size, 48px)}`]}]}}),r.Z);a()}catch(t){a(t)}}))},56032:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(44249),o=i(80519),n=i(1261),r=i(57243),s=i(15093),d=i(85605),l=t([o]);o=(l.then?(await l)():l)[0],(0,d.jx)("tooltip.show",{keyframes:[{opacity:0},{opacity:1}],options:{duration:150,easing:"ease"}}),(0,d.jx)("tooltip.hide",{keyframes:[{opacity:1},{opacity:0}],options:{duration:400,easing:"ease"}});(0,a.Z)([(0,s.Mo)("ha-tooltip")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",static:!0,key:"styles",value:()=>[n.Z,r.iv`:host{--sl-tooltip-background-color:var(--secondary-background-color);--sl-tooltip-color:var(--primary-text-color);--sl-tooltip-font-family:Roboto,sans-serif;--sl-tooltip-font-size:12px;--sl-tooltip-font-weight:normal;--sl-tooltip-line-height:1;--sl-tooltip-padding:8px;--sl-tooltip-border-radius:var(--ha-tooltip-border-radius, 4px);--sl-tooltip-arrow-size:var(--ha-tooltip-arrow-size, 8px);--sl-z-index-tooltip:var(--ha-tooltip-z-index, 1000)}`]}]}}),o.Z);e()}catch(t){e(t)}}))},66929:function(t,e,i){i.d(e,{Ij:()=>o,S7:()=>a});const a=(t,e)=>t.callWS({type:"config/core/update",...e}),o=t=>t.callApi("POST","config/core/check_config")},69919:function(t,e,i){i.a(t,(async function(t,a){try{i.d(e,{EX:()=>m,Fj:()=>x,M$:()=>w,SO:()=>p,Sk:()=>f,TN:()=>$,UJ:()=>g,Ym:()=>z,hF:()=>y});i(9359),i(56475),i(70104);var o=i(73358),n=i(73850),r=i(59847),s=i(75278),d=i(50602),l=i(1416),c=i(76131),h=i(72473),u=t([d]);d=(u.then?(await u)():u)[0];let m=function(t){return t[t.INSTALL=1]="INSTALL",t[t.SPECIFIC_VERSION=2]="SPECIFIC_VERSION",t[t.PROGRESS=4]="PROGRESS",t[t.BACKUP=8]="BACKUP",t[t.RELEASE_NOTES=16]="RELEASE_NOTES",t}({});const p=t=>(0,s.e)(t,m.PROGRESS)&&null!==t.attributes.update_percentage,y=(t,e=!1)=>(t.state===o.uo||e&&Boolean(t.attributes.skipped_version))&&(0,s.e)(t,m.INSTALL),f=t=>!!t.attributes.in_progress,g=(t,e)=>t.callWS({type:"update/release_notes",entity_id:e}),v="ioBroker Core",_="ioBroker Supervisor",b="ioBroker Operating System",k=(t,e)=>Object.values(t).filter((t=>"update"===(0,r.N)(t))).sort(((t,i)=>t.attributes.title===v?-3:i.attributes.title===v?3:t.attributes.title===b?-2:i.attributes.title===b?2:t.attributes.title===_?-1:i.attributes.title===_?1:(0,l.fe)(t.attributes.title||t.attributes.friendly_name||"",i.attributes.title||i.attributes.friendly_name||"",e))),x=(t,e=!1)=>k(t).filter((t=>y(t,e))),w=async(t,e)=>{const i=k(e.states,e.locale.language).map((t=>t.entity_id));if(!i.length)return void(0,c.showAlertDialog)(t,{title:e.localize("ui.panel.config.updates.no_update_entities.title"),text:e.localize("ui.panel.config.updates.no_update_entities.description"),warning:!0});(0,h.C)(t,{message:e.localize("ui.panel.config.updates.checking_updates")});let a=0;const o=await e.connection.subscribeEvents((i=>{"update"===(0,n.M)(i.data.entity_id)&&(a++,(0,h.C)(t,{message:e.localize("ui.panel.config.updates.updates_refreshed",{count:a})}))}),"state_changed");await e.callService("homeassistant","update_entity",{entity_id:i}),await new Promise((t=>{setTimeout(t,15e3)})),o(),0===a&&(0,h.C)(t,{message:e.localize("ui.panel.config.updates.no_new_updates")})},z=(t,e)=>{const i=t.state,a=t.attributes;if("off"===i){return a.latest_version&&a.skipped_version===a.latest_version?a.latest_version:e.formatEntityState(t)}if("on"===i&&f(t)){return(0,s.e)(t,m.PROGRESS)&&null!==a.update_percentage?e.localize("ui.card.update.installing_with_progress",{progress:(0,d.uf)(a.update_percentage,e.locale,{maximumFractionDigits:a.display_precision,minimumFractionDigits:a.display_precision})}):e.localize("ui.card.update.installing")}return e.formatEntityState(t)},$=(t,e)=>{const i=t.entity_id,a=e[i]?.domain;if("hassio"!==a)return"generic";const o=t.attributes.title||"";return o===v?"home_assistant":[v,_,b].includes(o)?"generic":"addon"};a()}catch(t){a(t)}}))},5374:function(t,e,i){i.d(e,{$H:()=>n,Bf:()=>r,Pc:()=>c,fT:()=>l,vp:()=>s,zt:()=>o});var a=i(83523);const o=t=>t.callWS({type:"zone/list"}),n=(t,e)=>t.callWS({type:"zone/create",...e}),r=(t,e,i)=>t.callWS({type:"zone/update",zone_id:e,...i}),s=(t,e)=>t.callWS({type:"zone/delete",zone_id:e});let d;const l=t=>{d=t,(0,a.c)("/config/zone/new")},c=()=>{const t=d;return d=void 0,t}},75375:function(t,e,i){i.a(t,(async function(t,a){try{i.r(e);var o=i(44249),n=i(57243),r=i(15093),s=i(17170),d=(i(54202),i(43344),i(28008)),l=t([s]);s=(l.then?(await l)():l)[0];(0,o.Z)([(0,r.Mo)("hass-loading-screen")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({type:Boolean,attribute:"no-toolbar"})],key:"noToolbar",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"rootnav",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)()],key:"message",value:void 0},{kind:"method",key:"render",value:function(){return n.dy` ${this.noToolbar?"":n.dy`<div class="toolbar"> ${this.rootnav||history.state?.root?n.dy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:n.dy` <ha-icon-button-arrow-prev .hass="${this.hass}" @click="${this._handleBack}"></ha-icon-button-arrow-prev> `} </div>`} <div class="content"> <ha-spinner></ha-spinner> ${this.message?n.dy`<div id="loading-text">${this.message}</div>`:n.Ld} </div> `}},{kind:"method",key:"_handleBack",value:function(){history.back()}},{kind:"get",static:!0,key:"styles",value:function(){return[d.Qx,n.iv`:host{display:block;height:100%;background-color:var(--primary-background-color)}.toolbar{display:flex;align-items:center;font-size:20px;height:var(--header-height);padding:8px 12px;pointer-events:none;background-color:var(--app-header-background-color);font-weight:400;color:var(--app-header-text-color,#fff);border-bottom:var(--app-header-border-bottom,none);box-sizing:border-box}@media (max-width:599px){.toolbar{padding:4px}}ha-icon-button-arrow-prev,ha-menu-button{pointer-events:auto}.content{height:calc(100% - var(--header-height));display:flex;flex-direction:column;align-items:center;justify-content:center}#loading-text{max-width:350px;margin-top:16px}`]}}]}}),n.oi);a()}catch(t){a(t)}}))},98241:function(t,e,i){var a=i(44249),o=i(57243),n=i(15093),r=i(35359);(0,a.Z)([(0,n.Mo)("ha-config-section")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:"is-wide",type:Boolean})],key:"isWide",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"vertical",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,attribute:"full-width"})],key:"fullWidth",value:()=>!1},{kind:"method",key:"render",value:function(){return o.dy` <div class="content ${(0,r.$)({narrow:!this.isWide,"full-width":this.fullWidth})}"> <div class="header"><slot name="header"></slot></div> <div class="together layout ${(0,r.$)({narrow:!this.isWide,vertical:this.vertical||!this.isWide,horizontal:!this.vertical&&this.isWide})}"> <div class="intro"><slot name="introduction"></slot></div> <div class="panel flex-auto"><slot></slot></div> </div> </div> `}},{kind:"field",static:!0,key:"styles",value:()=>o.iv`:host{display:block}.content{padding:28px 20px 0;max-width:1040px;margin:0 auto}.layout{display:flex}.horizontal{flex-direction:row}.vertical{flex-direction:column}.flex-auto{flex:1 1 auto}.header{font-family:var(--paper-font-headline_-_font-family);-webkit-font-smoothing:var(--paper-font-headline_-_-webkit-font-smoothing);font-size:var(--paper-font-headline_-_font-size);font-weight:var(--paper-font-headline_-_font-weight);letter-spacing:var(--paper-font-headline_-_letter-spacing);line-height:var(--paper-font-headline_-_line-height);opacity:var(--dark-primary-opacity)}.together{margin-top:var(--config-section-content-together-margin-top,32px)}.intro{font-family:var(--paper-font-subhead_-_font-family);-webkit-font-smoothing:var(--paper-font-subhead_-_-webkit-font-smoothing);font-weight:var(--paper-font-subhead_-_font-weight);line-height:var(--paper-font-subhead_-_line-height);width:100%;opacity:var(--dark-primary-opacity);font-size:14px;padding-bottom:20px}.horizontal .intro{max-width:400px;margin-right:40px;margin-inline-end:40px;margin-inline-start:initial}.panel{margin-top:-24px}.panel ::slotted(*){margin-top:24px;display:block}.narrow.content{max-width:640px}.narrow .together{margin-top:var(--config-section-narrow-content-together-margin-top,var(--config-section-content-together-margin-top,20px))}.narrow .intro{padding-bottom:20px;margin-right:0;margin-inline-end:0;margin-inline-start:initial;max-width:500px}.full-width{padding:0}.full-width .layout{flex-direction:column}`}]}}),o.oi)},4507:function(t,e,i){i.a(t,(async function(t,a){try{i.r(e),i.d(e,{HaConfigZone:()=>S});var o=i(44249),n=i(72621),r=(i(9359),i(56475),i(1331),i(70104),i(75656),i(50100),i(18084),i(2060),i(57243)),s=i(15093),d=i(27486),l=i(59847),c=i(87707),h=i(83523),u=i(1416),m=(i(54977),i(20130),i(23334),i(7285),i(37583),i(56032)),p=i(5346),y=i(66929),f=i(63318),g=i(5374),v=i(76131),_=i(75375),b=(i(97546),i(6736)),k=(i(98241),i(82967)),x=i(95374),w=i(98420),z=t([m,p,_]);[m,p,_]=z.then?(await z)():z;const $="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",E="M18.66,2C18.4,2 18.16,2.09 17.97,2.28L16.13,4.13L19.88,7.88L21.72,6.03C22.11,5.64 22.11,5 21.72,4.63L19.38,2.28C19.18,2.09 18.91,2 18.66,2M3.28,4L2,5.28L8.5,11.75L4,16.25V20H7.75L12.25,15.5L18.72,22L20,20.72L13.5,14.25L9.75,10.5L3.28,4M15.06,5.19L11.03,9.22L14.78,12.97L18.81,8.94L15.06,5.19Z",C="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";let S=(0,o.Z)([(0,s.Mo)("ha-config-zone")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"is-wide",type:Boolean})],key:"isWide",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"route",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_searchParms",value:()=>new URLSearchParams(window.location.search)},{kind:"field",decorators:[(0,s.SB)()],key:"_storageItems",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_stateItems",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_activeEntry",value:()=>""},{kind:"field",decorators:[(0,s.SB)()],key:"_canEditCore",value:()=>!1},{kind:"field",decorators:[(0,s.IO)("ha-locations-editor")],key:"_map",value:void 0},{kind:"field",key:"_regEntities",value:()=>[]},{kind:"field",key:"_getZones",value(){return(0,d.Z)(((t,e)=>{const i=getComputedStyle(this),a=i.getPropertyValue("--accent-color"),o=i.getPropertyValue("--secondary-text-color"),n=i.getPropertyValue("--primary-color"),r=e.map((t=>({id:t.entity_id,icon:t.attributes.icon,name:t.attributes.friendly_name||t.entity_id,latitude:t.attributes.latitude,longitude:t.attributes.longitude,radius:t.attributes.radius,radius_color:"zone.home"===t.entity_id?n:t.attributes.passive?o:a,location_editable:"zone.home"===t.entity_id&&this._canEditCore,radius_editable:"zone.home"===t.entity_id&&this._canEditCore})));return t.map((t=>({...t,radius_color:t.passive?o:a,location_editable:!0,radius_editable:!0}))).concat(r)}))}},{kind:"method",key:"hassSubscribe",value:function(){return[(0,f.LM)(this.hass.connection,(t=>{this._regEntities=t.map((t=>t.entity_id)),this._filterStates()}))]}},{kind:"method",key:"render",value:function(){if(!this.hass||void 0===this._storageItems||void 0===this._stateItems)return r.dy`<hass-loading-screen></hass-loading-screen>`;const t=this.hass,e=0===this._storageItems.length&&0===this._stateItems.length?r.dy` <div class="empty"> ${t.localize("ui.panel.config.zone.no_zones_created_yet")} <br> <mwc-button @click="${this._createZone}"> ${t.localize("ui.panel.config.zone.create_zone")}</mwc-button> </div> `:r.dy` <mwc-list> ${this._storageItems.map((e=>r.dy` <ha-list-item .entry="${e}" .id="${this.narrow?e.id:""}" graphic="icon" .hasMeta="${!this.narrow}" @request-selected="${this._itemClicked}" .value="${e.id}" ?selected="${this._activeEntry===e.id}"> <ha-icon .icon="${e.icon}" slot="graphic"></ha-icon> ${e.name} ${this.narrow?"":r.dy` <div slot="meta"> <ha-icon-button .id="${e.id}" .entry="${e}" @click="${this._openEditEntry}" .path="${$}" .label="${t.localize("ui.panel.config.zone.edit_zone")}"></ha-icon-button> </div> `} </ha-list-item> `))} ${this._stateItems.map((e=>r.dy` <ha-list-item graphic="icon" .id="${this.narrow?e.entity_id:""}" .hasMeta="${!this.narrow||"zone.home"!==e.entity_id}" .value="${e.entity_id}" @request-selected="${this._stateItemClicked}" ?selected="${this._activeEntry===e.entity_id}" .noEdit="${"zone.home"!==e.entity_id||!this._canEditCore}"> <ha-icon .icon="${e.attributes.icon}" slot="graphic"> </ha-icon> ${e.attributes.friendly_name||e.entity_id} ${this.narrow&&"zone.home"===e.entity_id&&!this._canEditCore?r.Ld:r.dy`<ha-tooltip slot="meta" placement="left" .content="${t.localize("ui.panel.config.zone.configured_in_yaml")}" .disabled="${"zone.home"===e.entity_id}" hoist> <ha-icon-button .id="${this.narrow?"":e.entity_id}" .entityId="${e.entity_id}" .noEdit="${"zone.home"!==e.entity_id||!this._canEditCore}" .path="${"zone.home"===e.entity_id&&this._canEditCore?$:E}" .label="${"zone.home"===e.entity_id?t.localize("ui.panel.config.zone.edit_home"):t.localize("ui.panel.config.zone.edit_zone")}" @click="${this._editHomeZone}"></ha-icon-button> </ha-tooltip>`} </ha-list-item> `))} </mwc-list> `;return r.dy` <hass-tabs-subpage .hass="${this.hass}" .narrow="${this.narrow}" .route="${this.route}" .backPath="${this._searchParms.has("historyBack")?void 0:"/config"}" .tabs="${k.configSections.areas}"> ${this.narrow?r.dy` <ha-config-section .isWide="${this.isWide}"> <span slot="introduction"> ${t.localize("ui.panel.config.zone.introduction")} </span> <ha-card outlined>${e}</ha-card> </ha-config-section> `:""} ${this.narrow?"":r.dy` <div class="flex"> <ha-locations-editor .hass="${this.hass}" .locations="${this._getZones(this._storageItems,this._stateItems)}" @location-updated="${this._locationUpdated}" @radius-updated="${this._radiusUpdated}" @marker-clicked="${this._markerClicked}"></ha-locations-editor> <div class="overflow">${e}</div> </div> `} <ha-fab slot="fab" .label="${t.localize("ui.panel.config.zone.create_zone")}" extended @click="${this._createZone}"> <ha-svg-icon slot="icon" .path="${C}"></ha-svg-icon> </ha-fab> </hass-tabs-subpage> `}},{kind:"method",key:"firstUpdated",value:function(t){(0,n.Z)(i,"firstUpdated",this,3)([t]),this._canEditCore=Boolean(this.hass.user?.is_admin)&&["storage","default"].includes(this.hass.config.config_source),this._fetchData(),"/new"===this.route.path&&((0,h.c)("/config/zone",{replace:!0}),this._createZone())}},{kind:"method",key:"updated",value:function(){if(!this.route.path.startsWith("/edit/")||!this._stateItems||!this._storageItems)return;const t=this.route.path.slice(6);this._editZone(t),(0,h.c)("/config/zone",{replace:!0}),this.narrow||this._zoomZone(t)}},{kind:"method",key:"willUpdate",value:function(t){(0,n.Z)(i,"updated",this,3)([t]);const e=t.get("hass");e&&this._stateItems&&this._getStates(e)}},{kind:"method",key:"_fetchData",value:async function(){this._storageItems=(await(0,g.zt)(this.hass)).sort(((t,e)=>(0,u.$K)(t.name,e.name,this.hass.locale.language))),this._getStates()}},{kind:"method",key:"_getStates",value:function(t){let e=!1;const i=Object.values(this.hass.states).filter((i=>"zone"===(0,l.N)(i)&&(t?.states[i.entity_id]!==i&&(e=!0),!this._regEntities.includes(i.entity_id))));e&&(this._stateItems=i)}},{kind:"method",key:"_filterStates",value:function(){if(!this._stateItems)return;const t=this._stateItems.filter((t=>!this._regEntities.includes(t.entity_id)));t.length!==this._stateItems.length&&(this._stateItems=t)}},{kind:"method",key:"_locationUpdated",value:async function(t){if(this._activeEntry=t.detail.id,"zone.home"===t.detail.id&&this._canEditCore)return void await(0,y.S7)(this.hass,{latitude:t.detail.location[0],longitude:t.detail.location[1]});const e=this._storageItems.find((e=>e.id===t.detail.id));e&&this._updateEntry(e,{latitude:t.detail.location[0],longitude:t.detail.location[1]})}},{kind:"method",key:"_radiusUpdated",value:async function(t){if(this._activeEntry=t.detail.id,"zone.home"===t.detail.id&&this._canEditCore)return void await(0,y.S7)(this.hass,{radius:Math.round(t.detail.radius)});const e=this._storageItems.find((e=>e.id===t.detail.id));e&&this._updateEntry(e,{radius:t.detail.radius})}},{kind:"method",key:"_markerClicked",value:function(t){this._activeEntry=t.detail.id}},{kind:"method",key:"_createZone",value:function(){this._openDialog()}},{kind:"method",key:"_itemClicked",value:function(t){if(!(0,c.Q)(t))return;if(this.narrow)return void this._openEditEntry(t);const e=t.currentTarget.value;this._zoomZone(e),this._activeEntry=e}},{kind:"method",key:"_stateItemClicked",value:function(t){if(!(0,c.Q)(t))return;const e=t.currentTarget.value;this.narrow&&"zone.home"===e?this._editHomeZone(t):(this._zoomZone(e),this._activeEntry=e)}},{kind:"method",key:"_zoomZone",value:async function(t){this._map?.fitMarker(t)}},{kind:"method",key:"_editZone",value:async function(t){await this.updateComplete,this.shadowRoot?.querySelector(`[id="${t}"]`)?.click()}},{kind:"method",key:"_openEditEntry",value:function(t){const e=t.currentTarget.entry;this._openDialog(e),t.stopPropagation()}},{kind:"method",key:"_editHomeZone",value:async function(t){t.currentTarget.noEdit?(0,v.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zone.can_not_edit"),text:this.hass.localize("ui.panel.config.zone.configured_in_yaml")}):(0,x.q)(this,{updateEntry:t=>this._updateHomeZoneEntry(t)})}},{kind:"method",key:"_createEntry",value:async function(t){const e=await(0,g.$H)(this.hass,t);this._storageItems=this._storageItems.concat(e).sort(((t,e)=>(0,u.$K)(t.name,e.name,this.hass.locale.language))),this.narrow||(this._activeEntry=e.id,await this.updateComplete,await(this._map?.updateComplete),this._map?.fitMarker(e.id))}},{kind:"method",key:"_updateHomeZoneEntry",value:async function(t){await(0,y.S7)(this.hass,{latitude:t.latitude,longitude:t.longitude,radius:t.radius}),this._zoomZone("zone.home")}},{kind:"method",key:"_updateEntry",value:async function(t,e,i=!1){const a=await(0,g.Bf)(this.hass,t.id,e);this._storageItems=this._storageItems.map((e=>e===t?a:e)),!this.narrow&&i&&(this._activeEntry=t.id,await this.updateComplete,await(this._map?.updateComplete),this._map?.fitMarker(t.id))}},{kind:"method",key:"_removeEntry",value:async function(t){if(!await(0,v.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.config.zone.confirm_delete"),dismissText:this.hass.localize("ui.common.cancel"),confirmText:this.hass.localize("ui.common.delete"),destructive:!0}))return!1;try{return await(0,g.vp)(this.hass,t.id),this._storageItems=this._storageItems.filter((e=>e!==t)),this.narrow||this._map?.fitMap(),!0}catch(t){return!1}}},{kind:"method",key:"_openDialog",value:async function(t){(0,w.K)(this,{entry:t,createEntry:t=>this._createEntry(t),updateEntry:t?e=>this._updateEntry(t,e,!0):void 0,removeEntry:t?()=>this._removeEntry(t):void 0})}},{kind:"field",static:!0,key:"styles",value:()=>r.iv`hass-loading-screen{--app-header-background-color:var(--sidebar-background-color);--app-header-text-color:var(--sidebar-text-color)}ha-list-item{--mdc-list-item-meta-size:48px}a{color:var(--primary-color)}ha-card{margin:16px auto;overflow:hidden}ha-icon,ha-icon-button:not([disabled]){color:var(--secondary-text-color)}ha-icon-button{--mdc-theme-text-disabled-on-light:var(--disabled-text-color)}.empty{text-align:center;padding:8px}.flex{display:flex;height:100%}.overflow{height:100%;overflow:auto}ha-locations-editor{flex-grow:1;height:100%}.flex mwc-list{padding-bottom:64px}.flex .empty,.flex mwc-list{border-left:1px solid var(--divider-color);width:250px;min-height:100%;box-sizing:border-box}ha-card{margin-bottom:100px}ha-tooltip{display:block}`}]}}),(0,b.f)(r.oi));a()}catch(t){a(t)}}))},95374:function(t,e,i){i.d(e,{q:()=>n});var a=i(36522);const o=()=>Promise.all([i.e("97983"),i.e("68691"),i.e("63055"),i.e("76255")]).then(i.bind(i,40468)),n=(t,e)=>{(0,a.B)(t,"show-dialog",{dialogTag:"dialog-home-zone-detail",dialogImport:o,dialogParams:e})}},98420:function(t,e,i){i.d(e,{K:()=>n});var a=i(36522);const o=()=>Promise.all([i.e("97983"),i.e("73780"),i.e("63055"),i.e("92977")]).then(i.bind(i,71779)),n=(t,e)=>{(0,a.B)(t,"show-dialog",{dialogTag:"dialog-zone-detail",dialogImport:o,dialogParams:e})}},16485:function(t,e,i){i.a(t,(async function(t,e){try{i(92745);var a=i(61449),o=i(40574),n=i(30532),r=i(41674),s=i(49722),d=i(76632),l=i(7884),c=i(35185),h=i(60933),u=i(44180),m=i(49447);const t=async()=>{const t=(0,u.sS)(),e=[];(0,n.shouldPolyfill)()&&await Promise.all([i.e("80210"),i.e("74055")]).then(i.bind(i,98133)),(0,s.shouldPolyfill)()&&await Promise.all([i.e("83895"),i.e("75297"),i.e("80210"),i.e("60251")]).then(i.bind(i,59095)),(0,a.shouldPolyfill)(t)&&e.push(Promise.all([i.e("83895"),i.e("75297"),i.e("68250")]).then(i.bind(i,80561)).then((()=>(0,m.H)()))),(0,h.shouldPolyfill)()&&e.push(Promise.all([i.e("83895"),i.e("75297"),i.e("65578")]).then(i.bind(i,97995))),(0,o.shouldPolyfill)(t)&&e.push(Promise.all([i.e("83895"),i.e("75297"),i.e("59826")]).then(i.bind(i,31514))),(0,r.shouldPolyfill)(t)&&e.push(Promise.all([i.e("83895"),i.e("75297"),i.e("23649")]).then(i.bind(i,93840))),(0,d.shouldPolyfill)(t)&&e.push(Promise.all([i.e("83895"),i.e("75297"),i.e("42831")]).then(i.bind(i,29559))),(0,l.shouldPolyfill)(t)&&e.push(Promise.all([i.e("83895"),i.e("75297"),i.e("57377")]).then(i.bind(i,39030)).then((()=>i.e("61236").then(i.t.bind(i,4121,23))))),(0,c.shouldPolyfill)(t)&&e.push(Promise.all([i.e("83895"),i.e("75297"),i.e("13870")]).then(i.bind(i,74546))),0!==e.length&&await Promise.all(e).then((()=>(0,m.n)(t)))};await t(),e()}catch(t){e(t)}}),1)}}; //# sourceMappingURL=16849.88ca49bee2e14bf4.js.map