iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
8 lines • 30.1 kB
JavaScript
export const __webpack_ids__=["66163"];export const __webpack_modules__={74666:function(e,t,i){var a=i(44249),n=i(74763),s=i(15093);(0,a.Z)([(0,s.Mo)("ha-chip-set")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[]}}),n.l)},41986:function(e,t,i){var a=i(44249),n=i(72621),s=i(72629),d=i(57243),l=i(15093);(0,a.Z)([(0,l.Mo)("ha-filter-chip")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,l.Cb)({type:Boolean,reflect:!0,attribute:"no-leading-icon"})],key:"noLeadingIcon",value:()=>!1},{kind:"field",static:!0,key:"styles",value(){return[...(0,n.Z)(i,"styles",this),d.iv`:host{--md-sys-color-primary:var(--primary-text-color);--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--primary-text-color);--md-sys-color-on-secondary-container:var(--primary-text-color);--md-filter-chip-container-shape:16px;--md-filter-chip-outline-color:var(--outline-color);--md-filter-chip-selected-container-color:rgba(
var(--rgb-primary-text-color),
0.15
)}`]}},{kind:"method",key:"renderLeadingIcon",value:function(){return this.noLeadingIcon?d.dy``:(0,n.Z)(i,"renderLeadingIcon",this,3)([])}}]}}),s.r)},55486:function(e,t,i){var a=i(44249),n=i(4918),s=i(6394),d=i(57243),l=i(15093),o=i(35359),r=i(36522);(0,a.Z)([(0,l.Mo)("ha-formfield")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,l.Cb)({type:Boolean,reflect:!0})],key:"disabled",value:()=>!1},{kind:"method",key:"render",value:function(){const e={"mdc-form-field--align-end":this.alignEnd,"mdc-form-field--space-between":this.spaceBetween,"mdc-form-field--nowrap":this.nowrap};return d.dy` <div class="mdc-form-field ${(0,o.$)(e)}"> <slot></slot> <label class="mdc-label" ="${this._labelClick}"> <slot name="label">${this.label}</slot> </label> </div>`}},{kind:"method",key:"_labelClick",value:function(){const e=this.input;if(e&&(e.focus(),!e.disabled))switch(e.tagName){case"HA-CHECKBOX":e.checked=!e.checked,(0,r.B)(e,"change");break;case"HA-RADIO":e.checked=!0,(0,r.B)(e,"change");break;default:e.click()}}},{kind:"field",static:!0,key:"styles",value:()=>[s.W,d.iv`:host(:not([alignEnd])) ::slotted(ha-switch){margin-right:10px;margin-inline-end:10px;margin-inline-start:inline}.mdc-form-field{align-items:var(--ha-formfield-align-items,center);gap:4px}.mdc-form-field>label{direction:var(--direction);margin-inline-start:0;margin-inline-end:auto;padding:0}:host([disabled]) label{color:var(--disabled-text-color)}`]}]}}),n.a)},7285:function(e,t,i){i.d(t,{M:()=>r});var a=i(44249),n=i(72621),s=i(65703),d=i(46289),l=i(57243),o=i(15093);let r=(0,a.Z)([(0,o.Mo)("ha-list-item")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"method",key:"renderRipple",value:function(){return this.noninteractive?"":(0,n.Z)(i,"renderRipple",this,3)([])}},{kind:"get",static:!0,key:"styles",value:function(){return[d.W,l.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?l.iv`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`:l.iv``]}}]}}),s.K)},1888:function(e,t,i){var a=i(44249),n=i(72621),s=i(62523),d=i(83835),l=i(57243),o=i(15093),r=i(13560);(0,a.Z)([(0,o.Mo)("ha-switch")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"haptic",value:()=>!1},{kind:"method",key:"firstUpdated",value:function(){(0,n.Z)(i,"firstUpdated",this,3)([]),this.addEventListener("change",(()=>{this.haptic&&(0,r.j)("light")}))}},{kind:"field",static:!0,key:"styles",value:()=>[d.W,l.iv`:host{--mdc-theme-secondary:var(--switch-checked-color)}.mdc-switch.mdc-switch--checked .mdc-switch__thumb{background-color:var(--switch-checked-button-color);border-color:var(--switch-checked-button-color)}.mdc-switch.mdc-switch--checked .mdc-switch__track{background-color:var(--switch-checked-track-color);border-color:var(--switch-checked-track-color)}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb{background-color:var(--switch-unchecked-button-color);border-color:var(--switch-unchecked-button-color)}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__track{background-color:var(--switch-unchecked-track-color);border-color:var(--switch-unchecked-track-color)}`]}]}}),s.H)},40917:function(e,t,i){var a=i(44249),n=i(72621),s=i(27323),d=i(33990),l=i(88540),o=i(57243),r=i(15093);(0,a.Z)([(0,r.Mo)("ha-textarea")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({type:Boolean,reflect:!0})],key:"autogrow",value:()=>!1},{kind:"method",key:"updated",value:function(e){(0,n.Z)(i,"updated",this,3)([e]),this.autogrow&&e.has("value")&&(this.mdcRoot.dataset.value=this.value+'="')}},{kind:"field",static:!0,key:"styles",value:()=>[d.W,l.W,o.iv`:host([autogrow]) .mdc-text-field{position:relative;min-height:74px;min-width:178px;max-height:200px}:host([autogrow]) .mdc-text-field:after{content:attr(data-value);margin-top:23px;margin-bottom:9px;line-height:1.5rem;min-height:42px;padding:0px 32px 0 16px;letter-spacing:var(
--mdc-typography-subtitle1-letter-spacing,
.009375em
);visibility:hidden;white-space:pre-wrap}:host([autogrow]) .mdc-text-field__input{position:absolute;height:calc(100% - 32px)}:host([autogrow]) .mdc-text-field.mdc-text-field--no-label:after{margin-top:16px;margin-bottom:16px}.mdc-floating-label{inset-inline-start:16px!important;inset-inline-end:initial!important;transform-origin:var(--float-start) top} only screen and (min-width:459px){:host([mobile-multiline]) .mdc-text-field__input{white-space:nowrap;max-height:16px}}`]}]}}),s.O)},49969:function(e,t,i){i.a(e,(async function(e,a){try{i.r(t);var n=i(44249),s=(i(9359),i(1331),i(31622),i(35895)),d=i(32424),l=i(61323),o=i(38836),r=i(14276),h=i(23711),c=i(57243),u=i(15093),m=i(27486),_=i(11104),p=i(36522),y=i(59847),v=i(75278),f=i(28281),k=i(58725),g=(i(99426),i(36185)),b=i(73729),$=(i(55486),i(1888),i(40917),i(83166),i(49653),i(91106)),w=i(28008),x=i(8069),D=i(14073),z=i(77490),C=e([k,g,x,D,_,s]);[k,g,x,D,_,s]=C.then?(await C)():C;const R=["calendar"];(0,n.Z)([(0,u.Mo)("dialog-calendar-event-editor")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,u.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,u.SB)()],key:"_error",value:void 0},{kind:"field",decorators:[(0,u.SB)()],key:"_info",value:void 0},{kind:"field",decorators:[(0,u.SB)()],key:"_params",value:void 0},{kind:"field",decorators:[(0,u.SB)()],key:"_calendarId",value:void 0},{kind:"field",decorators:[(0,u.SB)()],key:"_summary",value:()=>""},{kind:"field",decorators:[(0,u.SB)()],key:"_description",value:()=>""},{kind:"field",decorators:[(0,u.SB)()],key:"_rrule",value:void 0},{kind:"field",decorators:[(0,u.SB)()],key:"_allDay",value:()=>!1},{kind:"field",decorators:[(0,u.SB)()],key:"_dtstart",value:void 0},{kind:"field",decorators:[(0,u.SB)()],key:"_dtend",value:void 0},{kind:"field",decorators:[(0,u.SB)()],key:"_submitting",value:()=>!1},{kind:"field",key:"_timeZone",value:void 0},{kind:"method",key:"showDialog",value:function(e){if(this._error=void 0,this._info=void 0,this._params=e,this._calendarId=e.calendarId||Object.values(this.hass.states).find((e=>"calendar"===(0,y.N)(e)&&(0,v.e)(e,$.Vt.CREATE_EVENT)))?.entity_id,this._timeZone=(0,_.f)(this.hass.locale.time_zone,this.hass.config.time_zone),e.entry){const t=e.entry;this._allDay=(0,f.J)(t.dtstart),this._summary=t.summary,this._description=t.description,this._rrule=t.rrule,this._allDay?(this._dtstart=new Date(t.dtstart+"T00:00:00"),this._dtend=(0,d.E)(new Date(t.dtend+"T00:00:00"),-1)):(this._dtstart=new Date(t.dtstart),this._dtend=new Date(t.dtend))}else this._allDay=!1,this._dtstart=(0,l.o)(e.selectedDate?e.selectedDate:new Date),this._dtend=(0,o.T)(this._dtstart,1)}},{kind:"method",key:"closeDialog",value:function(){this._params&&(this._calendarId=void 0,this._params=void 0,this._dtstart=void 0,this._dtend=void 0,this._summary="",this._description="",this._rrule=void 0,(0,p.B)(this,"dialog-closed",{dialog:this.localName}))}},{kind:"method",key:"render",value:function(){if(!this._params)return c.Ld;const e=void 0===this._params.entry,{startDate:t,startTime:i,endDate:a,endTime:n}=this._getLocaleStrings(this._dtstart,this._dtend);return c.dy` <ha-dialog open ="${this.closeDialog}" scrimClickAction escapeKeyAction .heading="${(0,b.i)(this.hass,this.hass.localize("ui.components.calendar.event."+(e?"add":"edit")))}"> <div class="content"> ${this._error?c.dy`<ha-alert alert-type="error">${this._error}</ha-alert>`:""} ${this._info?c.dy`<ha-alert alert-type="info" dismissable -dismissed-clicked="${this._clearInfo}">${this._info}</ha-alert>`:""} <ha-textfield class="summary" name="summary" .label="${this.hass.localize("ui.components.calendar.event.summary")}" .value="${this._summary}" required ="${this._handleSummaryChanged}" .validationMessage="${this.hass.localize("ui.common.error_required")}" dialogInitialFocus></ha-textfield> <ha-textarea class="description" name="description" .label="${this.hass.localize("ui.components.calendar.event.description")}" .value="${this._description}" ="${this._handleDescriptionChanged}" autogrow></ha-textarea> <ha-entity-picker name="calendar" .hass="${this.hass}" .label="${this.hass.localize("ui.components.calendar.label")}" .value="${this._calendarId}" .includeDomains="${R}" .entityFilter="${this._isEditableCalendar}" .disabled="${!e}" required -changed="${this._handleCalendarChanged}"></ha-entity-picker> <ha-formfield .label="${this.hass.localize("ui.components.calendar.event.all_day")}"> <ha-switch id="all_day" .checked="${this._allDay}" ="${this._allDayToggleChanged}"></ha-switch> </ha-formfield> <div> <span class="label">${this.hass.localize("ui.components.calendar.event.start")}:</span> <div class="flex"> <ha-date-input .value="${t}" .locale="${this.hass.locale}" -changed="${this._startDateChanged}"></ha-date-input> ${this._allDay?"":c.dy`<ha-time-input .value="${i}" .locale="${this.hass.locale}" -changed="${this._startTimeChanged}"></ha-time-input>`} </div> </div> <div> <span class="label">${this.hass.localize("ui.components.calendar.event.end")}:</span> <div class="flex"> <ha-date-input .value="${a}" .min="${t}" .locale="${this.hass.locale}" -changed="${this._endDateChanged}"></ha-date-input> ${this._allDay?"":c.dy`<ha-time-input .value="${n}" .locale="${this.hass.locale}" -changed="${this._endTimeChanged}"></ha-time-input>`} </div> </div> <ha-recurrence-rule-editor .hass="${this.hass}" .dtstart="${this._dtstart}" .allDay="${this._allDay}" .locale="${this.hass.locale}" .timezone="${this.hass.config.time_zone}" .value="${this._rrule||""}" -changed="${this._handleRRuleChanged}"> </ha-recurrence-rule-editor> </div> ${e?c.dy` <mwc-button slot="primaryAction" ="${this._createEvent}" .disabled="${this._submitting}"> ${this.hass.localize("ui.components.calendar.event.add")} </mwc-button> `:c.dy` <mwc-button slot="primaryAction" ="${this._saveEvent}" .disabled="${this._submitting}"> ${this.hass.localize("ui.components.calendar.event.save")} </mwc-button> ${this._params.canDelete?c.dy` <mwc-button slot="secondaryAction" class="warning" ="${this._deleteEvent}" .disabled="${this._submitting}"> ${this.hass.localize("ui.components.calendar.event.delete")} </mwc-button> `:""} `} </ha-dialog> `}},{kind:"field",key:"_isEditableCalendar",value:()=>e=>(0,v.e)(e,$.Vt.CREATE_EVENT)},{kind:"field",key:"_getLocaleStrings",value(){return(0,m.Z)(((e,t)=>({startDate:this._formatDate(e),startTime:this._formatTime(e),endDate:this._formatDate(t),endTime:this._formatTime(t)})))}},{kind:"method",key:"_formatDate",value:function(e,t=this._timeZone){return(0,s.CV)(e,t,"yyyy-MM-dd")}},{kind:"method",key:"_formatTime",value:function(e,t=this._timeZone){return(0,s.CV)(e,t,"HH:mm:ss")}},{kind:"method",key:"_parseDate",value:function(e){return(0,s.ZU)(e,{timeZone:this._timeZone})}},{kind:"method",key:"_clearInfo",value:function(){this._info=void 0}},{kind:"method",key:"_handleSummaryChanged",value:function(e){this._summary=e.target.value}},{kind:"method",key:"_handleDescriptionChanged",value:function(e){this._description=e.target.value}},{kind:"method",key:"_handleRRuleChanged",value:function(e){this._rrule=e.detail.value}},{kind:"method",key:"_allDayToggleChanged",value:function(e){this._allDay=e.target.checked}},{kind:"method",key:"_startDateChanged",value:function(e){const t=(0,r._)(this._dtend,this._dtstart);this._dtstart=this._parseDate(`${e.detail.value}T${this._formatTime(this._dtstart)}`),this._dtend<=this._dtstart&&(this._dtend=(0,h.n)(this._dtstart,t),this._info=this.hass.localize("ui.components.calendar.event.end_auto_adjusted"))}},{kind:"method",key:"_endDateChanged",value:function(e){this._dtend=this._parseDate(`${e.detail.value}T${this._formatTime(this._dtend)}`)}},{kind:"method",key:"_startTimeChanged",value:function(e){const t=(0,r._)(this._dtend,this._dtstart);this._dtstart=this._parseDate(`${this._formatDate(this._dtstart)}T${e.detail.value}`),this._dtend<=this._dtstart&&(this._dtend=(0,h.n)(new Date(this._dtstart),t),this._info=this.hass.localize("ui.components.calendar.event.end_auto_adjusted"))}},{kind:"method",key:"_endTimeChanged",value:function(e){this._dtend=this._parseDate(`${this._formatDate(this._dtend)}T${e.detail.value}`)}},{kind:"method",key:"_calculateData",value:function(){const e={summary:this._summary,description:this._description,rrule:this._rrule||void 0,dtstart:"",dtend:""};return this._allDay?(e.dtstart=this._formatDate(this._dtstart),e.dtend=this._formatDate((0,d.E)(this._dtend,1))):(e.dtstart=`${this._formatDate(this._dtstart,this.hass.config.time_zone)}T${this._formatTime(this._dtstart,this.hass.config.time_zone)}`,e.dtend=`${this._formatDate(this._dtend,this.hass.config.time_zone)}T${this._formatTime(this._dtend,this.hass.config.time_zone)}`),e}},{kind:"method",key:"_handleCalendarChanged",value:function(e){this._calendarId=e.detail.value}},{kind:"method",key:"_isValidStartEnd",value:function(){return this._allDay?this._dtend>=this._dtstart:this._dtend>this._dtstart}},{kind:"method",key:"_createEvent",value:async function(){if(this._summary&&this._calendarId)if(this._isValidStartEnd()){this._submitting=!0;try{await(0,$.fE)(this.hass,this._calendarId,this._calculateData())}catch(e){return void(this._error=e?e.message:"Unknown error")}finally{this._submitting=!1}await this._params.updated(),this.closeDialog()}else this._error=this.hass.localize("ui.components.calendar.event.invalid_duration");else this._error=this.hass.localize("ui.components.calendar.event.not_all_required_fields")}},{kind:"method",key:"_saveEvent",value:async function(){if(!this._summary||!this._calendarId)return void(this._error=this.hass.localize("ui.components.calendar.event.not_all_required_fields"));if(!this._isValidStartEnd())return void(this._error=this.hass.localize("ui.components.calendar.event.invalid_duration"));this._submitting=!0;const e=this._params.entry;let t=$.$5.THISEVENT;if(e.recurrence_id&&(t=await(0,z.Y)(this,{title:this.hass.localize("ui.components.calendar.event.confirm_update.update"),text:this.hass.localize("ui.components.calendar.event.confirm_update.recurring_prompt"),confirmText:this.hass.localize("ui.components.calendar.event.confirm_update.update_this"),confirmFutureText:this.hass.localize("ui.components.calendar.event.confirm_update.update_future")})),void 0===t)return void(this._submitting=!1);const i=this._calculateData();e.rrule&&i.rrule&&t===$.$5.THISEVENT&&(i.rrule=void 0);try{await(0,$.KI)(this.hass,this._calendarId,e.uid,i,e.recurrence_id||"",t)}catch(e){return void(this._error=e?e.message:"Unknown error")}finally{this._submitting=!1}await this._params.updated(),this.closeDialog()}},{kind:"method",key:"_deleteEvent",value:async function(){this._submitting=!0;const e=this._params.entry,t=await(0,z.Y)(this,{title:this.hass.localize("ui.components.calendar.event.confirm_delete.delete"),text:e.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.recurring_prompt"):this.hass.localize("ui.components.calendar.event.confirm_delete.prompt"),confirmText:e.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.delete_this"):this.hass.localize("ui.components.calendar.event.confirm_delete.delete"),confirmFutureText:e.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.delete_future"):void 0});if(void 0!==t){try{await(0,$.d1)(this.hass,this._calendarId,e.uid,e.recurrence_id||"",t)}catch(e){return void(this._error=e?e.message:"Unknown error")}finally{this._submitting=!1}await this._params.updated(),this.closeDialog()}else this._submitting=!1}},{kind:"get",static:!0,key:"styles",value:function(){return[w.yu,c.iv` all and (min-width:450px) and (min-height:500px){ha-dialog{--mdc-dialog-min-width:min(600px, 95vw);--mdc-dialog-max-width:min(600px, 95vw)}}state-info{line-height:40px}ha-alert{display:block;margin-bottom:16px}ha-textarea,ha-textfield{display:block}ha-textarea{margin-bottom:16px}ha-formfield{display:block;padding:16px 0}ha-date-input{flex-grow:1}ha-time-input{margin-left:16px;margin-inline-start:16px;margin-inline-end:initial}ha-recurrence-rule-editor{display:block;margin-top:16px}.flex{display:flex;justify-content:space-between}.label{font-size:12px;font-weight:500;color:var(--input-label-ink-color)}.date-range-details-content{display:inline-block}ha-rrule{display:block}ha-svg-icon{width:40px;margin-right:8px;margin-inline-end:8px;margin-inline-start:initial;direction:var(--direction);vertical-align:top}ha-rrule{display:inline-block}.key{display:inline-block;vertical-align:top}.value{display:inline-block;vertical-align:top}`]}}]}}),c.oi);a()}catch(e){a(e)}}))},14073:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(44249),n=i(72621),s=(i(9359),i(70104),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814),i(35895)),d=i(57243),l=i(15093),o=i(34355),r=i(19631),h=i(49976),c=(i(74666),i(41986),i(36185)),u=(i(7285),i(92824),i(83166),i(92588)),m=e([c,u,o,s]);[c,u,o,s]=m.then?(await m)():m;(0,a.Z)([(0,l.Mo)("ha-recurrence-rule-editor")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,l.Cb)()],key:"value",value:()=>""},{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"dtstart",value:void 0},{kind:"field",decorators:[(0,l.Cb)({attribute:"all-day",type:Boolean})],key:"allDay",value:()=>!1},{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"locale",value:void 0},{kind:"field",decorators:[(0,l.Cb)()],key:"timezone",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_computedRRule",value:()=>""},{kind:"field",decorators:[(0,l.SB)()],key:"_freq",value:()=>"none"},{kind:"field",decorators:[(0,l.SB)()],key:"_interval",value:()=>1},{kind:"field",decorators:[(0,l.SB)()],key:"_weekday",value:()=>new Set},{kind:"field",decorators:[(0,l.SB)()],key:"_monthlyRepeat",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_monthlyRepeatWeekday",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_monthday",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_end",value:()=>"never"},{kind:"field",decorators:[(0,l.SB)()],key:"_count",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_untilDay",value:void 0},{kind:"field",decorators:[(0,l.IO)("#monthly")],key:"_monthlyRepeatSelect",value:void 0},{kind:"field",key:"_allWeekdays",value:void 0},{kind:"field",key:"_monthlyRepeatItems",value:()=>[]},{kind:"method",key:"willUpdate",value:function(e){if((0,n.Z)(i,"willUpdate",this,3)([e]),e.has("locale")&&(this._allWeekdays=(0,u.D1)((0,r.Bt)(this.locale)).map((e=>e.toString()))),e.has("dtstart")||e.has("_interval")){this._monthlyRepeatItems=this.dtstart?(0,u.TT)(this.hass,this._interval,this.dtstart):[],this._computeWeekday();const t=this._monthlyRepeatSelect;if(t){const i=t.index;t.select(-1),this.updateComplete.then((()=>{t.select(e.has("dtstart")?0:i)}))}}if(!e.has("value")&&(e.has("dtstart")||e.has("timezone")||e.has("_freq")||e.has("_interval")||e.has("_weekday")||e.has("_monthlyRepeatWeekday")||e.has("_monthday")||e.has("_end")||e.has("_count")||e.has("_untilDay")))return void this._updateRule();if(this._computedRRule===this.value)return;if(this._interval=1,this._weekday.clear(),this._monthlyRepeat=void 0,this._monthday=void 0,this._monthlyRepeatWeekday=void 0,this._end="never",this._count=void 0,this._untilDay=void 0,this._computedRRule=this.value,""===this.value)return void(this._freq="none");let t;try{t=o.Ci.parseString(this.value)}catch(e){return void(this._freq=void 0)}this._freq=(0,u.A$)(t.freq),t.interval&&(this._interval=t.interval),this._monthlyRepeatWeekday=(0,u.JU)(t),this._monthlyRepeatWeekday&&(this._monthlyRepeat=`BYDAY=${this._monthlyRepeatWeekday.toString()}`),this._monthday=(0,u.f1)(t),this._monthday&&(this._monthlyRepeat=`BYMONTHDAY=${this._monthday}`),"weekly"===this._freq&&t.byweekday&&Array.isArray(t.byweekday)&&(this._weekday=new Set(t.byweekday.map((e=>e.toString())))),t.until?(this._end="on",this._untilDay=(0,s.ZU)(t.until,{timeZone:this.timezone})):t.count&&(this._end="after",this._count=t.count)}},{kind:"method",key:"renderRepeat",value:function(){return d.dy` <ha-select id="freq" label="${this.hass.localize("ui.components.calendar.event.repeat.label")}" ="${this._onRepeatSelected}" ="${h.U}" fixedMenuPosition naturalMenuWidth .value="${this._freq}"> <ha-list-item value="none"> ${this.hass.localize("ui.components.calendar.event.repeat.freq.none")} </ha-list-item> <ha-list-item value="yearly"> ${this.hass.localize("ui.components.calendar.event.repeat.freq.yearly")} </ha-list-item> <ha-list-item value="monthly"> ${this.hass.localize("ui.components.calendar.event.repeat.freq.monthly")} </ha-list-item> <ha-list-item value="weekly"> ${this.hass.localize("ui.components.calendar.event.repeat.freq.weekly")} </ha-list-item> <ha-list-item value="daily"> ${this.hass.localize("ui.components.calendar.event.repeat.freq.daily")} </ha-list-item> </ha-select> `}},{kind:"method",key:"renderMonthly",value:function(){return d.dy` ${this.renderInterval()} ${this._monthlyRepeatItems.length>0?d.dy`<ha-select id="monthly" label="${this.hass.localize("ui.components.calendar.event.repeat.monthly.label")}" ="${this._onMonthlyDetailSelected}" .value="${this._monthlyRepeat||this._monthlyRepeatItems[0]?.value}" ="${h.U}" fixedMenuPosition naturalMenuWidth> ${this._monthlyRepeatItems.map((e=>d.dy` <ha-list-item .value="${e.value}" .item="${e}"> ${e.label} </ha-list-item> `))} </ha-select>`:d.Ld} `}},{kind:"method",key:"renderWeekly",value:function(){return d.dy` ${this.renderInterval()} <ha-chip-set class="weekdays"> ${this._allWeekdays.map((e=>d.dy` <ha-filter-chip no-leading-icon .value="${e}" .selected="${this._weekday.has(e)}" ="${this._onWeekdayToggle}" .label="${this.hass.localize(`ui.components.calendar.event.repeat.weekly.weekday.${e.toLowerCase()}`)}"> </ha-filter-chip> `))} </ha-chip-set> `}},{kind:"method",key:"renderDaily",value:function(){return this.renderInterval()}},{kind:"method",key:"renderInterval",value:function(){return d.dy` <ha-textfield id="interval" label="${this.hass.localize("ui.components.calendar.event.repeat.interval.label")}" type="number" min="1" .value="${this._interval}" .suffix="${this.hass.localize(`ui.components.calendar.event.repeat.interval.${this._freq}`)}" ="${this._onIntervalChange}"></ha-textfield> `}},{kind:"method",key:"renderEnd",value:function(){return d.dy` <ha-select id="end" label="${this.hass.localize("ui.components.calendar.event.repeat.end.label")}" .value="${this._end}" ="${this._onEndSelected}" ="${h.U}" fixedMenuPosition naturalMenuWidth> <ha-list-item value="never"> ${this.hass.localize("ui.components.calendar.event.repeat.end.never")} </ha-list-item> <ha-list-item value="after"> ${this.hass.localize("ui.components.calendar.event.repeat.end.after")} </ha-list-item> <ha-list-item value="on"> ${this.hass.localize("ui.components.calendar.event.repeat.end.on")} </ha-list-item> </ha-select> ${"after"===this._end?d.dy` <ha-textfield id="after" label="${this.hass.localize("ui.components.calendar.event.repeat.end_after.label")}" type="number" min="1" .value="${this._count}" suffix="${this.hass.localize("ui.components.calendar.event.repeat.end_after.ocurrences")}" ="${this._onCountChange}"></ha-textfield> `:d.Ld} ${"on"===this._end?d.dy` <ha-date-input id="on" label="${this.hass.localize("ui.components.calendar.event.repeat.end_on.label")}" .locale="${this.locale}" .value="${this._formatDate(this._untilDay)}" -changed="${this._onUntilChange}"></ha-date-input> `:d.Ld} `}},{kind:"method",key:"render",value:function(){return d.dy` ${this.renderRepeat()} ${"monthly"===this._freq?this.renderMonthly():d.Ld} ${"weekly"===this._freq?this.renderWeekly():d.Ld} ${"daily"===this._freq?this.renderDaily():d.Ld} ${"none"!==this._freq?this.renderEnd():d.Ld} `}},{kind:"method",key:"_onIntervalChange",value:function(e){this._interval=e.target.value}},{kind:"method",key:"_onRepeatSelected",value:function(e){this._freq=e.target.value,"yearly"===this._freq&&(this._interval=1),"weekly"!==this._freq&&(this._weekday.clear(),this._computeWeekday()),e.stopPropagation()}},{kind:"method",key:"_onMonthlyDetailSelected",value:function(e){e.stopPropagation();const t=this._monthlyRepeatItems[e.detail.index];t&&(this._monthlyRepeat=t.value,this._monthlyRepeatWeekday=t.byday,this._monthday=t.bymonthday)}},{kind:"method",key:"_onWeekdayToggle",value:function(e){const t=e.currentTarget.value;this._weekday.has(t)?this._weekday.delete(t):this._weekday.add(t),this.requestUpdate("_weekday")}},{kind:"method",key:"_onEndSelected",value:function(e){const t=e.target.value;if(t!==this._end){switch(this._end=t,this._end){case"after":this._count=u.yD[this._freq],this._untilDay=void 0;break;case"on":this._count=void 0,this._untilDay=(0,u.og)(this._freq);break;default:this._count=void 0,this._untilDay=void 0}e.stopPropagation()}}},{kind:"method",key:"_onCountChange",value:function(e){this._count=e.target.value}},{kind:"method",key:"_onUntilChange",value:function(e){e.stopPropagation(),this._untilDay=(0,s.ZU)(e.detail.value+"T00:00:00",{timeZone:this.timezone})}},{kind:"method",key:"_computeWeekday",value:function(){if(this.dtstart&&this._weekday.size<=1){const e=(0,u.FO)(this.dtstart);this._weekday.clear(),this._weekday.add(new o.OG(e).toString())}}},{kind:"method",key:"_computeRRule",value:function(){if(void 0===this._freq||"none"===this._freq)return"";let e,t;"monthly"===this._freq&&void 0!==this._monthlyRepeatWeekday?e=[this._monthlyRepeatWeekday]:"monthly"===this._freq&&void 0!==this._monthday?t=this._monthday:"weekly"===this._freq&&(e=(0,u.jU)(this._weekday));const i={freq:(0,u.rq)(this._freq),interval:this._interval>1?this._interval:void 0,count:this._count,byweekday:e,bymonthday:t};let a=o.Ci.optionsToString(i);if(this._untilDay){const e=(0,s.ZU)(this._formatDate(this._untilDay)+"T"+this._formatTime(this.dtstart),{timeZone:this.timezone}),t=this.allDay?"yyyyMMdd":"yyyyMMdd'T'HHmmss";a+=`;UNTIL=${(0,s.CV)(e,this.hass.config.time_zone,t)}`}return a.slice(6)}},{kind:"method",key:"_updateRule",value:function(){const e=this._computeRRule();e!==this._computedRRule&&(this._computedRRule=e,this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:e}})))}},{kind:"method",key:"_formatDate",value:function(e){return(0,s.CV)(e,this.timezone,"yyyy-MM-dd")}},{kind:"method",key:"_formatTime",value:function(e){return(0,s.CV)(e,this.timezone,"HH:mm:ss")}},{kind:"field",static:!0,key:"styles",value:()=>d.iv`ha-select,ha-textfield{display:block;margin-bottom:16px}.weekdays{margin-bottom:16px}.weekdays:last-child,ha-select:last-child,ha-textfield:last-child{margin-bottom:0}`}]}}),d.oi);t()}catch(e){t(e)}}))},96530:function(e,t,i){i.d(t,{X:()=>s,y:()=>n});var a=i(92636);const n=["input_boolean","input_button","input_text","input_number","input_datetime","input_select","counter","timer","schedule"],s=(0,a.z)(n)}};
//# sourceMappingURL=66163.a1b3c9714cf38e4d.js.map