UNPKG

iobroker.lovelace

Version:

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

7 lines 16.4 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[22907],{81244:function(t,e,i){i.a(t,async function(t,e){try{i(62953);var a=i(40445),o=i(5124),s=i(67576),r=i(36158),n=i(34127),l=i(74281),d=t([r,n,l]);[r,n,l]=d.then?(await d)():d;let c,h,p,m,v=t=>t;class g extends o.WF{render(){if(!this.hass||!this.stateObj)return o.s6;const t=this.hass.formatEntityName(this.stateObj,{type:"entity"});return(0,o.qy)(c||(c=v`<state-badge .hass="${0}" .stateObj="${0}" .stateColor="${0}" .color="${0}"></state-badge> <div class="info"> <div class="name ${0}" .title="${0}"> ${0} </div> ${0} </div>`),this.hass,this.stateObj,!0,this.color,this.inDialog?"in-dialog":"",t,t,this.inDialog?(0,o.qy)(h||(h=v`<div class="time-ago"> <ha-tooltip for="relative-time"> <div class="row"> <span class="column-name"> ${0}: </span> <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> </div> <div class="row"> <span> ${0}: </span> <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> </div> </ha-tooltip> <ha-relative-time id="relative-time" .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> </div>`),this.hass.localize("ui.dialogs.more_info_control.last_changed"),this.hass,this.stateObj.last_changed,this.hass.localize("ui.dialogs.more_info_control.last_updated"),this.hass,this.stateObj.last_updated,this.hass,this.stateObj.last_changed):(0,o.qy)(p||(p=v`<div class="extra-info"><slot></slot></div>`)))}constructor(...t){super(...t),this.inDialog=!1}}g.styles=(0,o.AH)(m||(m=v`:host{min-width:120px;white-space:nowrap;display:flex;align-items:center}state-badge{flex:none}.info{margin-left:8px;margin-inline-start:8px;margin-inline-end:initial;display:flex;flex-direction:column;justify-content:center;height:100%;min-width:0;text-align:var(--float-start);position:relative}.name{color:var(--primary-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name.in-dialog,:host([secondary-line]) .name{line-height:var(--ha-line-height-condensed)}.extra-info,.extra-info>*,.time-ago{color:var(--secondary-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row{display:flex;flex-direction:row;flex-wrap:no-wrap;width:100%;justify-content:space-between;margin:0 2px 4px 0}.row:last-child{margin-bottom:0px}`)),(0,a.Cg)([(0,s.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],g.prototype,"stateObj",void 0),(0,a.Cg)([(0,s.MZ)({attribute:"in-dialog",type:Boolean})],g.prototype,"inDialog",void 0),(0,a.Cg)([(0,s.MZ)()],g.prototype,"color",void 0),g=(0,a.Cg)([(0,s.EM)("state-info")],g),e()}catch(c){e(c)}})},75064:function(t,e,i){i(62953);var a=i(40445),o=i(5124),s=i(67576),r=i(2846);let n;class l extends r.G{constructor(...t){super(...t),this.borderTop=!1}}l.styles=[...r.J,(0,o.AH)(n||(n=(t=>t)`:host{--md-list-item-one-line-container-height:48px;--md-list-item-two-line-container-height:64px}:host([border-top]) md-item{border-top:1px solid var(--divider-color)}[slot=start]{--state-icon-color:var(--secondary-text-color)}[slot=overline]{line-height:1.15rem;font-size:calc(var(--mdc-typography-subtitle1-font-size, 1rem) * .75);font-weight:var(--mdc-typography-subtitle1-font-weight,400);font-family:var( --mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family) );color:var(--mdc-select-label-ink-color,rgba(0,0,0,.6))}[slot=headline]{line-height:var(--ha-line-height-normal);font-size:var(--ha-font-size-m);white-space:nowrap}[slot=supporting-text]{line-height:var(--ha-line-height-normal);font-size:var(--ha-font-size-s);white-space:nowrap}::slotted(img),::slotted(state-badge){width:32px;height:32px}::slotted(.code){font-family:var(--ha-font-family-code);font-size:var(--ha-font-size-xs)}::slotted(.domain){font-size:var(--ha-font-size-s);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal);align-self:flex-end;max-width:30%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}`))],(0,a.Cg)([(0,s.MZ)({type:Boolean,reflect:!0,attribute:"border-top"})],l.prototype,"borderTop",void 0),l=(0,a.Cg)([(0,s.EM)("ha-combo-box-item")],l)},3449:function(t,e,i){i(62953);var a=i(40445),o=i(5124),s=i(67576);let r,n,l=t=>t;class d extends o.WF{render(){return(0,o.qy)(r||(r=l`<slot></slot>`))}constructor(...t){super(...t),this.disabled=!1}}d.styles=(0,o.AH)(n||(n=l`:host{display:block;color:var(--mdc-text-field-label-ink-color,rgba(0,0,0,.6));font-size:var(--ha-font-size-s);padding-left:16px;padding-right:16px;padding-inline-start:16px;padding-inline-end:16px;letter-spacing:var( --mdc-typography-caption-letter-spacing, .0333333333em );line-height:normal}:host([disabled]){color:var(--mdc-text-field-disabled-ink-color,rgba(0,0,0,.6))}`)),(0,a.Cg)([(0,s.MZ)({type:Boolean,reflect:!0})],d.prototype,"disabled",void 0),d=(0,a.Cg)([(0,s.EM)("ha-input-helper-text")],d)},2846:function(t,e,i){i.d(e,{G:function(){return p},J:function(){return h}});var a=i(40445),o=i(58168),s=i(82553),r=i(5124),n=i(67576);i(54276);let l,d,c=t=>t;const h=[s.R,(0,r.AH)(l||(l=c`:host{--ha-icon-display:block;--md-sys-color-primary:var(--primary-text-color);--md-sys-color-secondary:var(--secondary-text-color);--md-sys-color-surface:var(--card-background-color);--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--secondary-text-color)}md-item{overflow:var(--md-item-overflow,hidden);align-items:var(--md-item-align-items,center);gap:var(--ha-md-list-item-gap,16px)}`))];class p extends o.n{renderRipple(){return"text"===this.type?r.s6:(0,r.qy)(d||(d=c`<ha-ripple part="ripple" for="item" ?disabled="${0}"></ha-ripple>`),this.disabled&&"link"!==this.type)}}p.styles=h,p=(0,a.Cg)([(0,n.EM)("ha-md-list-item")],p)},88285:function(t,e,i){i.a(t,async function(t,e){try{i(3362),i(62953);var a=i(40445),o=i(35211),s=i(5124),r=i(67576),n=i(63672),l=i(1087),d=i(22792),c=i(17894),h=(i(75064),i(47680),i(26300)),p=t([h]);h=(p.then?(await p)():p)[0];let m,v,g,u,f,y,b,x,_,w,$=t=>t;const C="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",k="M7,10L12,15L17,10H7Z";class q extends((0,c.c)(s.WF)){async focus(){var t;await this.updateComplete,await(null===(t=this.item)||void 0===t?void 0:t.focus())}render(){var t,e,i,a;const o=!!this.value,r=!(!this.value||this.required||this.disabled||this.hideClearIcon),l=null!==(t=this.placeholder)&&void 0!==t?t:this.label,d=this.label&&o?(0,s.qy)(m||(m=$`<span slot="overline">${0}${0}</span>`),this.label,this.required?" *":""):s.s6,c=o?this.valueRenderer?this.valueRenderer(null!==(e=this.value)&&void 0!==e?e:""):(0,s.qy)(v||(v=$`<span slot="headline">${0}</span>`),this.value):l?(0,s.qy)(g||(g=$`<span slot="headline" class="placeholder"> ${0}${0} </span>`),l,this.required?" *":""):s.s6;return(0,s.qy)(u||(u=$` <ha-combo-box-item aria-label="${0}" .disabled="${0}" type="button" compact="compact"> ${0} ${0}${0} ${0} ${0} <ha-svg-icon class="arrow" slot="end" .path="${0}"></ha-svg-icon> </ha-combo-box-item> `),(0,n.J)(this.label||this.placeholder),this.disabled,this.image?(0,s.qy)(f||(f=$`<img alt="${0}" slot="start" .src="${0}" crossorigin="anonymous" referrerpolicy="no-referrer">`),null!==(i=this.label)&&void 0!==i?i:"",this.image):this.icon?(0,s.qy)(y||(y=$`<ha-icon slot="start" .icon="${0}"></ha-icon>`),this.icon):(0,s.qy)(b||(b=$`<slot name="start"></slot>`)),d,c,this.unknown?(0,s.qy)(x||(x=$`<div slot="supporting-text" class="unknown"> ${0} </div>`),this.unknownItemText||(null===(a=this._i18n)||void 0===a?void 0:a.localize("ui.components.combo-box.unknown_item"))):s.s6,r?(0,s.qy)(_||(_=$` <ha-icon-button class="clear" slot="end" @click="${0}" .path="${0}"></ha-icon-button> `),this._clear,C):s.s6,k)}_clear(t){t.stopPropagation(),(0,l.r)(this,"clear")}static get styles(){return[(0,s.AH)(w||(w=$`ha-combo-box-item[disabled]{background-color:var(--ha-color-form-background-disabled);--md-list-item-disabled-opacity:0.5;opacity:.5;cursor:not-allowed}ha-combo-box-item{position:relative;background-color:var(--ha-color-form-background);border-radius:var(--ha-border-radius-sm);border-end-end-radius:0;border-end-start-radius:0;--md-list-item-one-line-container-height:56px;--md-list-item-two-line-container-height:56px;--md-list-item-top-space:0px;--md-list-item-bottom-space:0px;--md-list-item-leading-space:var(--ha-space-4);--md-list-item-trailing-space:var(--ha-space-2);--ha-md-list-item-gap:var(--ha-space-2);--md-focus-ring-width:0px;--md-focus-ring-duration:0s}ha-combo-box-item:after{display:block;content:"";position:absolute;pointer-events:none;bottom:0;left:0;right:0;height:1px;width:100%;background-color:var(--ha-color-border-neutral-loud);transform:height 180ms ease-in-out,background-color 180ms ease-in-out}ha-combo-box-item:focus:after{height:2px;background-color:var(--mdc-theme-primary)}:host([unknown]) ha-combo-box-item{background-color:var(--ha-color-fill-warning-quiet-resting)}:host([invalid]) ha-combo-box-item:after{height:2px;background-color:var(--mdc-theme-error,var(--error-color,#b00020))}.clear{margin:0 -8px;--ha-icon-button-size:32px;--ha-icon-button-padding-inline:var(--ha-space-1)}.arrow{--mdc-icon-size:20px;width:32px}.placeholder{color:var(--secondary-text-color)}:host([invalid]) .placeholder{color:var(--mdc-theme-error,var(--error-color,#b00020))}.unknown{color:var(--ha-color-on-warning-normal)}`))]}constructor(...t){super(...t),this.invalid=!1}}(0,a.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],q.prototype,"invalid",void 0),(0,a.Cg)([(0,r.P)("ha-combo-box-item",!0)],q.prototype,"item",void 0),(0,a.Cg)([(0,r.wk)(),(0,o.Fg)({context:d.D5,subscribe:!0})],q.prototype,"_i18n",void 0),q=(0,a.Cg)([(0,r.EM)("ha-picker-field")],q),e()}catch(m){e(m)}})},17894:function(t,e,i){i.d(e,{c:function(){return s}});i(62953);var a=i(40445),o=i(67576);const s=t=>{class e extends t{constructor(...t){super(...t),this.disabled=!1,this.required=!1,this.unknown=!1,this.hideClearIcon=!1}}return(0,a.Cg)([(0,o.MZ)({type:Boolean})],e.prototype,"disabled",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean})],e.prototype,"required",void 0),(0,a.Cg)([(0,o.MZ)()],e.prototype,"icon",void 0),(0,a.Cg)([(0,o.MZ)()],e.prototype,"image",void 0),(0,a.Cg)([(0,o.MZ)()],e.prototype,"label",void 0),(0,a.Cg)([(0,o.MZ)()],e.prototype,"placeholder",void 0),(0,a.Cg)([(0,o.MZ)()],e.prototype,"helper",void 0),(0,a.Cg)([(0,o.MZ)()],e.prototype,"value",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],e.prototype,"unknown",void 0),(0,a.Cg)([(0,o.MZ)({attribute:"unknown-item-text"})],e.prototype,"unknownItemText",void 0),(0,a.Cg)([(0,o.MZ)({attribute:"hide-clear-icon",type:Boolean})],e.prototype,"hideClearIcon",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],e.prototype,"valueRenderer",void 0),e}},43322:function(t,e,i){i.a(t,async function(t,a){try{i.r(e);i(89463),i(3362),i(62953);var o=i(40445),s=i(31886),r=i(92913),n=i(83309),l=i(5124),d=i(67576),c=i(72487),h=i(95747),p=i(30162),m=i(1087),v=i(22682),g=i(81244),u=i(38962),f=i(18350),y=i(19463),b=(i(93444),i(50286)),x=i(72554),_=i(55156),w=i(14503),$=i(79757),C=i(55666),k=i(50954),q=i(42228),M=i(8480),z=t([g,u,f,y,b,x,$,C,M,s,p,c,h]);[g,u,f,y,b,x,$,C,M,s,p,c,h]=z.then?(await z)():z;let Z,A,L,H,D,E,j,B,I,R=t=>t;const T="M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z";class V extends l.WF{async showDialog(t){if(this._params=t,this._open=!0,t.entry){const e=t.entry;this._data=e,this._calendarId=t.calendarId}}closeDialog(){this._open=!1}render(){if(!this._params)return l.s6;const t=this.hass.states[this._calendarId];return(0,l.qy)(Z||(Z=R` <ha-dialog .open="${0}" header-title="${0}" @closed="${0}"> <div class="content"> ${0} <div class="field"> <ha-svg-icon .path="${0}"></ha-svg-icon> <div class="value"> ${0}<br> ${0} ${0} ${0} </div> </div> <div class="attribute"> <state-info .hass="${0}" .stateObj="${0}" .color="${0}" in-dialog></state-info> </div> </div> <ha-dialog-footer slot="footer"> ${0} ${0} </ha-dialog-footer> </ha-dialog> `),this._open,this._data.summary,this._dialogClosed,this._error?(0,l.qy)(A||(A=R`<ha-alert alert-type="error">${0}</ha-alert>`),this._error):"",T,this._formatDateRange(),this._data.rrule?this._renderRRuleAsText(this._data.rrule):"",this._data.location?(0,l.qy)(L||(L=R`${0} <br>`),this._data.location):l.s6,this._data.description?(0,l.qy)(H||(H=R`<br> <div class="description">${0}</div>`),this._data.description):l.s6,this.hass,t,this._params.color,this._params.canDelete?(0,l.qy)(D||(D=R` <ha-button slot="secondaryAction" variant="danger" appearance="plain" @click="${0}" .disabled="${0}"> ${0} </ha-button> `),this._deleteEvent,this._submitting,this.hass.localize("ui.components.calendar.event.delete")):"",this._params.canEdit?(0,l.qy)(E||(E=R`<ha-button slot="primaryAction" @click="${0}" .disabled="${0}"> ${0} </ha-button>`),this._editEvent,this._submitting,this.hass.localize("ui.components.calendar.event.edit")):"")}_dialogClosed(){this._calendarId=void 0,this._params=void 0,this._open=!1,(0,m.r)(this,"dialog-closed",{dialog:this.localName})}_renderRRuleAsText(t){if(!t)return"";try{const e=(0,C.S_)(this.hass,t);return void 0!==e?(0,l.qy)(j||(j=R`<div id="text">${0}</div>`),e):(0,l.qy)(B||(B=R`<div id="text">Cannot convert recurrence rule</div>`))}catch(e){return"Error while processing the rule"}}_formatDateRange(){const t=(0,M.wj)(this.hass.locale.time_zone,this.hass.config.time_zone),e=(0,v.$)(this._data.dtstart)?new Date(this._data.dtstart+"T00:00:00"):new s.BB(this._data.dtstart,t),i=(0,v.$)(this._data.dtend)?new Date(this._data.dtend+"T00:00:00"):new s.BB(this._data.dtend,t),a=(0,v.$)(this._data.dtend)?(0,r.f)(i,-1):i;return(0,n.r)(e,a)?(0,v.$)(this._data.dtstart)?(0,c.Yq)(e,this.hass.locale,this.hass.config):`${(0,c.Yq)(e,this.hass.locale,this.hass.config)} ${(0,p.fU)(e,this.hass.locale,this.hass.config)} - ${(0,p.fU)(a,this.hass.locale,this.hass.config)}`:`${(0,v.$)(this._data.dtstart)?(0,c.Yq)(e,this.hass.locale,this.hass.config):(0,h.r6)(e,this.hass.locale,this.hass.config)} - ${(0,v.$)(this._data.dtend)?(0,c.Yq)(a,this.hass.locale,this.hass.config):(0,h.r6)(a,this.hass.locale,this.hass.config)}`}async _editEvent(){(0,q.A)(this,this._params),this.closeDialog()}async _deleteEvent(){this._submitting=!0;const t=this._params.entry,e=await(0,k.Q)(this,{title:this.hass.localize("ui.components.calendar.event.confirm_delete.delete"),text:t.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.recurring_prompt"):this.hass.localize("ui.components.calendar.event.confirm_delete.prompt"),confirmText:t.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.delete_this"):this.hass.localize("ui.components.calendar.event.confirm_delete.delete"),confirmFutureText:t.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.delete_future"):void 0});if(void 0!==e){try{await(0,_.At)(this.hass,this._calendarId,t.uid,t.recurrence_id||"",e)}catch(i){return void(this._error=i?i.message:"Unknown error")}finally{this._submitting=!1}await this._params.updated(),this.closeDialog()}else this._submitting=!1}static get styles(){return[w.nA,(0,l.AH)(I||(I=R`state-info{margin-top:24px}ha-svg-icon{width:40px;margin-right:8px;margin-inline-end:8px;margin-inline-start:initial;direction:var(--direction);vertical-align:top}.field{display:flex}.description{color:var(--secondary-text-color);max-width:300px;overflow-wrap:break-word;white-space:pre-line}`))]}constructor(...t){super(...t),this._open=!1,this._submitting=!1}}(0,o.Cg)([(0,d.MZ)({attribute:!1})],V.prototype,"hass",void 0),(0,o.Cg)([(0,d.wk)()],V.prototype,"_params",void 0),(0,o.Cg)([(0,d.wk)()],V.prototype,"_open",void 0),(0,o.Cg)([(0,d.wk)()],V.prototype,"_calendarId",void 0),(0,o.Cg)([(0,d.wk)()],V.prototype,"_submitting",void 0),(0,o.Cg)([(0,d.wk)()],V.prototype,"_error",void 0),(0,o.Cg)([(0,d.wk)()],V.prototype,"_data",void 0),V=(0,o.Cg)([(0,d.EM)("dialog-calendar-event-detail")],V),a()}catch(Z){a(Z)}})}}]);