iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
10 lines • 38.9 kB
JavaScript
export const __rspack_esm_id=7256;export const __rspack_esm_ids=[7256];export const __webpack_modules__={54419(e,t,a){a.a(e,async function(e,t){try{a(18111),a(61701);var i=a(62826),o=a(31886),r=a(35211),s=a(97686),n=a(5124),l=a(22441),d=a(380),h=a(72487),p=a(32172),c=a(1087),u=a(22792),m=a(46927),g=a(48949),b=a(14503),v=(a(5745),a(32023),a(26300)),y=a(25440),_=a(45100),f=(a(8630),a(28732),a(50286)),x=a(61370),w=e([s,v,y,_,f,o,h]);[s,v,y,_,f,o,h]=w.then?(await w)():w;const $="M7,10H12V15H7M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z";class k extends((0,g.Q)(n.WF)){connectedCallback(){super.connectedCallback();const e=this.startDate||new Date;this._dateValue=this.startDate&&this.endDate?(0,h.m9)(this.startDate,this.endDate,this._i18n?.locale,this._hassConfig):void 0,this._pickerMonth=(0,h.Wq)(e,this._i18n.locale,this._hassConfig),this._pickerYear=(0,h.Pm)(e,this._i18n.locale,this._hassConfig),this.timePicker&&this.startDate&&this.endDate&&(this._timeValue={from:{hours:this.startDate.getHours(),minutes:this.startDate.getMinutes()},to:{hours:this.endDate.getHours(),minutes:this.endDate.getMinutes()}})}_renderRanges(){return this._isMobileSize?n.qy` <ha-chip-set class="ha-scrollbar"> ${Object.entries(this.ranges).map(([e,t],a)=>n.qy` <ha-filter-chip .index="${a}" .range="${t}" ="${this._clickDateRangeChip}"> ${e} </ha-filter-chip> `)} </ha-chip-set> `:n.qy` <ha-list ="${this._setDateRange}" activatable> ${Object.keys(this.ranges).map(e=>n.qy`<ha-list-item>${e}</ha-list-item>`)} </ha-list> `}render(){return n.qy`<div class="picker"> ${!1!==this.ranges&&this.ranges?n.qy`<div class="date-range-ranges">${this._renderRanges()}</div>`:n.s6} <div class="range"> <calendar-range .value="${this._dateValue}" .locale="${this._i18n.locale.language}" .focusedDate="${this._focusDate}" ="${this._focusChanged}" ="${this._handleChange}" show-outside-days .firstDayOfWeek="${(0,d.P)(this._i18n.locale)}"> <ha-icon-button-prev tabindex="-1" slot="previous"></ha-icon-button-prev> <div class="heading" slot="heading"> <span class="month-year">${this._pickerMonth} ${this._pickerYear}</span> <ha-icon-button ="${this._focusToday}" .path="${$}" .label="${this._i18n.localize("ui.dialogs.date-picker.today")}"></ha-icon-button> </div> <ha-icon-button-next tabindex="-1" slot="next"></ha-icon-button-next> <calendar-month></calendar-month> </calendar-range> ${this.timePicker?n.qy` <div class="times"> <ha-time-input .value="${`${this._timeValue.from.hours}:${this._timeValue.from.minutes}`}" .locale="${this._i18n.locale}" -changed="${this._handleChangeTime}" .label="${this._i18n.localize("ui.components.date-range-picker.time_from")}" id="from" placeholder-labels auto-validate></ha-time-input> <ha-time-input .value="${`${this._timeValue.to.hours}:${this._timeValue.to.minutes}`}" .locale="${this._i18n.locale}" -changed="${this._handleChangeTime}" .label="${this._i18n.localize("ui.components.date-range-picker.time_to")}" id="to" placeholder-labels auto-validate></ha-time-input> </div> `:n.s6} </div> </div> <div class="footer"> <ha-button appearance="plain" ="${this._cancel}">${this._i18n.localize("ui.common.cancel")}</ha-button> <ha-button .disabled="${!this._dateValue}" ="${this._save}">${this._i18n.localize("ui.components.date-range-picker.select")}</ha-button> </div>`}_focusToday(){const e=new Date;this._focusDate=(0,h.bl)(e,this._i18n.locale,this._hassConfig),this._pickerMonth=(0,h.Wq)(e,this._i18n.locale,this._hassConfig),this._pickerYear=(0,h.Pm)(e,this._i18n.locale,this._hassConfig)}_cancel(){(0,c.r)(this,"cancel-date-picker")}_save(){if(!this._dateValue)return;const e=this._dateValue.split("/");let t=new Date(`${e[0]}T00:00:00`),a=new Date(`${e[1]}T23:59:00`);if(this.timePicker){const e=this._timeInputs;if(e&&![...e].every(e=>e.reportValidity()))return;t.setHours(this._timeValue.from.hours),t.setMinutes(this._timeValue.from.minutes),a.setHours(this._timeValue.to.hours),a.setMinutes(this._timeValue.to.minutes),t.setSeconds(0),t.setMilliseconds(0),a.setSeconds(0),a.setMilliseconds(0),a<=t&&a.setDate(t.getDate()+1)}this._i18n.locale.time_zone===m.Wj.server&&(t=new Date(new o.BB(t,this._hassConfig.time_zone).getTime()),a=new Date(new o.BB(a,this._hassConfig.time_zone).getTime())),t.getHours()===this._timeValue.from.hours&&t.getMinutes()===this._timeValue.from.minutes&&a.getHours()===this._timeValue.to.hours&&a.getMinutes()===this._timeValue.to.minutes||(this._timeValue.from.hours=t.getHours(),this._timeValue.from.minutes=t.getMinutes(),this._timeValue.to.hours=a.getHours(),this._timeValue.to.minutes=a.getMinutes()),(0,c.r)(this,"value-changed",{value:{startDate:t,endDate:a}})}_focusChanged(e){const t=e.detail;this._pickerMonth=(0,h.Wq)(t,this._i18n.locale,this._hassConfig),this._pickerYear=(0,h.Pm)(t,this._i18n.locale,this._hassConfig),this._focusDate=void 0}_handleChange(e){const t=e.target;this._dateValue=t.value,this._focusDate=void 0}_clickDateRangeChip(e){const t=e.target;this._saveDateRangePreset(t.range,t.index)}_setDateRange(e){const t=Object.values(this.ranges)[e.detail.index];this._saveDateRangePreset(t,e.detail.index)}_saveDateRangePreset(e,t){(0,c.r)(this,"value-changed",{value:{startDate:e[0],endDate:e[1]}}),(0,c.r)(this,"preset-selected",{index:t})}_handleChangeTime(e){e.stopPropagation();const t=e.detail.value,a=e.target.id;if(t){this._timeValue||(this._timeValue={from:{hours:0,minutes:0},to:{hours:23,minutes:59}});const[e,i]=t.split(":").map(Number);this._timeValue[a].hours=e,this._timeValue[a].minutes=i}}constructor(...e){super(...e),this.timePicker=!1,this._timeValue={from:{hours:0,minutes:0},to:{hours:23,minutes:59}}}}k.styles=[x.D,x.g,b.dp,n.AH`.picker{display:flex;flex-direction:row}.date-range-ranges{border-right:var(--ha-border-width-sm) solid var(--divider-color);min-width:140px;flex:0 1 30%}.range{display:flex;flex-direction:column;align-items:center;flex:1;padding:var(--ha-space-3);overflow-x:hidden} all and (max-width:450px),all and (max-height:500px){.picker{flex-direction:column}.date-range-ranges{border-bottom:1px solid var(--divider-color);margin-top:var(--ha-space-5);overflow:visible}ha-chip-set{padding:var(--ha-space-3);flex-wrap:nowrap;overflow-x:auto}.range{flex-basis:fit-content}}.times{display:flex;flex-direction:column;gap:var(--ha-space-2)}.footer{display:flex;justify-content:flex-end;padding:var(--ha-space-2);border-top:1px solid var(--divider-color)}`],(0,i.Cg)([(0,l.MZ)({attribute:!1})],k.prototype,"ranges",void 0),(0,i.Cg)([(0,l.MZ)({attribute:!1})],k.prototype,"startDate",void 0),(0,i.Cg)([(0,l.MZ)({attribute:!1})],k.prototype,"endDate",void 0),(0,i.Cg)([(0,l.MZ)({attribute:"time-picker",type:Boolean})],k.prototype,"timePicker",void 0),(0,i.Cg)([(0,l.wk)(),(0,r.Fg)({context:u.D5,subscribe:!0})],k.prototype,"_i18n",void 0),(0,i.Cg)([(0,l.wk)(),(0,r.Fg)({context:u.WF,subscribe:!0}),(0,p.p)({transformer:({config:e})=>e})],k.prototype,"_hassConfig",void 0),(0,i.Cg)([(0,l.wk)()],k.prototype,"_pickerMonth",void 0),(0,i.Cg)([(0,l.wk)()],k.prototype,"_pickerYear",void 0),(0,i.Cg)([(0,l.wk)()],k.prototype,"_focusDate",void 0),(0,i.Cg)([(0,l.wk)()],k.prototype,"_dateValue",void 0),(0,i.Cg)([(0,l.wk)()],k.prototype,"_timeValue",void 0),(0,i.Cg)([(0,l.YG)("ha-time-input")],k.prototype,"_timeInputs",void 0),k=(0,i.Cg)([(0,l.EM)("date-range-picker")],k),t()}catch(e){t(e)}})},58987(e,t,a){a.a(e,async function(e,t){try{var i=a(62826),o=a(61366),r=a(35211),s=a(97686),n=a(81688),l=a(5124),d=a(22441),h=a(91335),p=a(91069),c=a(46223),u=a(95747),m=a(32172),g=a(1087),b=a(22792),v=a(99611),y=a(26300),_=a(25440),f=a(45100),x=a(56304),w=a(54419),$=e([o,s,v,y,_,f,x,w,c,u,p]);[o,s,v,y,_,f,x,w,c,u,p]=$.then?(await $)():$;const k="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z",C=["today","yesterday","this_week"],M=["this_month","this_year","now-1h","now-12h","now-24h","now-7d","now-30d"];class L extends l.WF{connectedCallback(){super.connectedCallback(),this._handleResize(),window.addEventListener("resize",this._handleResize);const e=this.extendedPresets?[...C,...M]:C;this._ranges={},e.forEach(e=>{this._ranges[this._i18n.localize(`ui.components.date-range-picker.ranges.${e}`)]=(0,c.b)(this._i18n.locale,this._hassConfig,e)})}open(){this._openPicker()}render(){return l.qy` <div class="container"> <div class="date-range-inputs"> ${this.minimal?l.qy`<ha-icon-button ="${this._openPicker}" .disabled="${this.disabled}" id="field" .label="${this._i18n.localize("ui.components.date-range-picker.select_date_range")}" .path="${k}"></ha-icon-button>`:l.qy`<ha-textarea id="field" rows="1" resize="auto" ="${this._openPicker}" ="${this._handleKeydown}" .value="${((0,n.e)(this.startDate)?(0,u.ZS)(this.startDate,this._i18n.locale,this._hassConfig):(0,u.aQ)(this.startDate,this._i18n.locale,this._hassConfig))+(window.innerWidth>=459?" - ":" - \n")+((0,n.e)(this.endDate)?(0,u.ZS)(this.endDate,this._i18n.locale,this._hassConfig):(0,u.aQ)(this.endDate,this._i18n.locale,this._hassConfig))}" .label="${this._i18n.localize("ui.components.date-range-picker.start_date")+" - "+this._i18n.localize("ui.components.date-range-picker.end_date")}" .disabled="${this.disabled}" readonly="readonly"></ha-textarea> <ha-icon-button-prev .label="${this._i18n.localize("ui.common.previous")}" ="${this._handlePrev}"> </ha-icon-button-prev> <ha-icon-button-next .label="${this._i18n.localize("ui.common.next")}" ="${this._handleNext}"> </ha-icon-button-next>`} </div> ${this._pickerWrapperOpen||this._opened?this._openedNarrow?l.qy` <ha-bottom-sheet flexcontent .open="${this._pickerWrapperOpen}" -after-show="${this._dialogOpened}" ="${this._hidePicker}"> ${this._renderPicker()} </ha-bottom-sheet> `:l.qy` <wa-popover .open="${this._pickerWrapperOpen}" style="--body-width:${this._popoverWidth}px" class="${this._opened?"open":""}" without-arrow distance="0" .placement="${this.popoverPlacement}" for="field" auto-size="vertical" auto-size-padding="16" -after-show="${this._dialogOpened}" -hide="${this._handlePopoverHide}" -after-hide="${this._hidePicker}" trap-focus> ${this._renderPicker()} </wa-popover> `:l.s6} </div> `}_renderPicker(){return this._opened?l.qy` <date-range-picker .ranges="${!1!==this.ranges&&(this.ranges||this._ranges)}" .startDate="${this.startDate}" .endDate="${this.endDate}" .timePicker="${this.timePicker}" -date-picker="${this._closePicker}" -changed="${this._closePicker}"> </date-range-picker> `:l.s6}_hidePicker(e){e.stopPropagation(),this._opened=!1,this._pickerWrapperOpen=!1,this._unsubscribeTinyKeys?.(),(0,g.r)(this,"picker-closed")}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this._handleResize),this._unsubscribeTinyKeys?.()}_handleNext(e){e&&e.stopPropagation&&e.stopPropagation(),this._shift(!0)}_handlePrev(e){e&&e.stopPropagation&&e.stopPropagation(),this._shift(!1)}_shift(e){if(!this.startDate)return;const{start:t,end:a}=(0,p.eE)(this.startDate,this.endDate,e,this._i18n.locale,this._hassConfig);this.startDate=t,this.endDate=a,(0,g.r)(this,"value-changed",{value:{startDate:this.startDate,endDate:this.endDate}})}_closePicker(){this._pickerWrapperOpen=!1}_openPicker(e){this.disabled||(this._pickerWrapperOpen?e?.stopImmediatePropagation():(this._openedNarrow=this._narrow,this._popoverWidth=this._containerElement?.offsetWidth||250,this._pickerWrapperOpen=!0,this._unsubscribeTinyKeys=(0,h.Tc)(this,{Escape:this._handleEscClose})))}_handleKeydown(e){"Enter"!==e.key&&" "!==e.key||(e.stopPropagation(),this._openPicker(e))}_setTextareaFocusStyle(e){this._textareaElement&&this._textareaElement.setFocused(e)}constructor(...e){super(...e),this.timePicker=!1,this.backdrop=!1,this.disabled=!1,this.minimal=!1,this.extendedPresets=!1,this.popoverPlacement="bottom-start",this._opened=!1,this._pickerWrapperOpen=!1,this._openedNarrow=!1,this._popoverWidth=0,this._narrow=!1,this._handleResize=()=>{this._narrow=window.matchMedia("(max-width: 870px)").matches||window.matchMedia("(max-height: 500px)").matches,!this._openedNarrow&&this._pickerWrapperOpen&&(this._popoverWidth=this._containerElement?.offsetWidth||250)},this._dialogOpened=()=>{this._opened=!0,this._setTextareaFocusStyle(!0)},this._handlePopoverHide=()=>{this._opened=!1},this._handleEscClose=e=>{e.stopPropagation()}}}L.styles=[l.AH`ha-icon-button{direction:var(--direction)}.date-range-inputs{display:flex;align-items:center;gap:var(--ha-space-2)}ha-textarea{display:inline-block;width:340px} only screen and (max-width:460px){ha-textarea{width:100%}}wa-popover{--wa-space-l:0}wa-popover::part(dialog)::backdrop{opacity:0;transition:opacity var(--ha-animation-duration-normal) ease-out}wa-popover.open::part(dialog)::backdrop{opacity:1}:host(:not([backdrop])) wa-popover::part(dialog)::backdrop{background:0 0}wa-popover::part(body){min-width:max(var(--body-width),250px);max-width:calc(100vw - var(--safe-area-inset-left) - var(--safe-area-inset-right) - var(--ha-space-8));overflow:hidden}`],(0,i.Cg)([(0,d.wk)(),(0,r.Fg)({context:b.D5,subscribe:!0})],L.prototype,"_i18n",void 0),(0,i.Cg)([(0,d.wk)(),(0,r.Fg)({context:b.WF,subscribe:!0}),(0,m.p)({transformer:({config:e})=>e})],L.prototype,"_hassConfig",void 0),(0,i.Cg)([(0,d.MZ)({attribute:!1})],L.prototype,"startDate",void 0),(0,i.Cg)([(0,d.MZ)({attribute:!1})],L.prototype,"endDate",void 0),(0,i.Cg)([(0,d.MZ)({attribute:!1})],L.prototype,"ranges",void 0),(0,i.Cg)([(0,d.wk)()],L.prototype,"_ranges",void 0),(0,i.Cg)([(0,d.MZ)({attribute:"time-picker",type:Boolean})],L.prototype,"timePicker",void 0),(0,i.Cg)([(0,d.MZ)({type:Boolean,reflect:!0})],L.prototype,"backdrop",void 0),(0,i.Cg)([(0,d.MZ)({type:Boolean})],L.prototype,"disabled",void 0),(0,i.Cg)([(0,d.MZ)({type:Boolean})],L.prototype,"minimal",void 0),(0,i.Cg)([(0,d.MZ)({attribute:"extended-presets",type:Boolean})],L.prototype,"extendedPresets",void 0),(0,i.Cg)([(0,d.MZ)({attribute:"popover-placement"})],L.prototype,"popoverPlacement",void 0),(0,i.Cg)([(0,d.wk)()],L.prototype,"_opened",void 0),(0,i.Cg)([(0,d.wk)()],L.prototype,"_pickerWrapperOpen",void 0),(0,i.Cg)([(0,d.wk)()],L.prototype,"_openedNarrow",void 0),(0,i.Cg)([(0,d.wk)()],L.prototype,"_popoverWidth",void 0),(0,i.Cg)([(0,d.P)(".container")],L.prototype,"_containerElement",void 0),(0,i.Cg)([(0,d.P)("ha-textarea")],L.prototype,"_textareaElement",void 0),L=(0,i.Cg)([(0,d.EM)("ha-date-range-picker")],L),t()}catch(e){t(e)}})},61370(e,t,a){a.d(t,{D:()=>o,g:()=>r});var i=a(5124);const o=i.AH`calendar-date,calendar-range{width:100%;min-width:300px}calendar-date::part(button),calendar-range::part(button){border:none;background-color:unset;border-radius:var(--ha-border-radius-circle);outline-offset:-2px;outline-color:var(--ha-color-neutral-60)}calendar-month{width:calc(40px * 7);margin:0 auto;min-height:calc(42px * 7)}calendar-month::part(heading){display:none}calendar-month::part(day){color:var(--disabled-text-color);font-size:var(--ha-font-size-m);font-family:var(--ha-font-body)}calendar-month::part(button){color:var(--primary-text-color);height:32px;width:32px;margin:var(--ha-space-1);border-radius:var(--ha-border-radius-circle)}calendar-month::part(button):focus-visible{background-color:inherit;outline:2px solid var(--accent-color);outline-offset:2px}calendar-month::part(button):hover{background-color:var(--ha-color-fill-primary-quiet-hover)}calendar-month::part(today){color:var(--primary-color)}calendar-month::part(range-end),calendar-month::part(range-inner),calendar-month::part(range-start),calendar-month::part(selected),calendar-month::part(selected):hover{color:var(--text-primary-color);background-color:var(--primary-color);height:40px;width:40px;margin:0}calendar-month::part(selected):focus-visible{background-color:var(--primary-color);color:var(--text-primary-color)}calendar-month::part(outside){cursor:pointer}.heading{display:flex;justify-content:center;align-items:center;width:100%;font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-medium)}.month-year{flex:1;text-align:center;margin-left:48px;margin-inline-start:48px;margin-inline-end:initial}`,r=i.AH`calendar-month::part(selected):focus-visible{background-color:var(--primary-color);color:var(--text-primary-color)}calendar-month::part(range-end),calendar-month::part(range-end):hover,calendar-month::part(range-inner),calendar-month::part(range-inner):hover,calendar-month::part(range-start),calendar-month::part(range-start):hover{color:var(--text-primary-color);background-color:var(--primary-color);border-radius:var(--ha-border-radius-square);display:block;margin:0}calendar-month::part(range-start),calendar-month::part(range-start):hover{border-top-left-radius:var(--ha-border-radius-circle);border-bottom-left-radius:var(--ha-border-radius-circle)}calendar-month::part(range-end),calendar-month::part(range-end):hover{border-top-right-radius:var(--ha-border-radius-circle);border-bottom-right-radius:var(--ha-border-radius-circle)}calendar-month::part(range-end):hover,calendar-month::part(range-inner):hover,calendar-month::part(range-start):hover{color:var(--primary-text-color)}`},32656(e,t,a){a.a(e,async function(e,t){try{a(74423);var i=a(62826),o=a(5124),r=a(22441),s=a(63672),n=a(1087),l=a(57237),d=a(26300),h=(a(3449),a(606)),p=a(91485),c=e([d,h,p]);[d,h,p]=c.then?(await c)():c;const u="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 m extends o.WF{reportValidity(){const e=this._inputs;return!e||[...e].every(e=>e.reportValidity())}render(){return o.qy` ${this.label?o.qy`<label>${this.label}${this.required?" *":""}</label>`:o.s6} <div class="time-input-wrap-wrap"> <div class="time-input-wrap"> ${this.enableDay?o.qy` <ha-input id="day" type="number" inputmode="numeric" .value="${this.days.toFixed()}" .label="${this.placeholderLabels?"":this.dayLabel}" .placeholder="${this.placeholderLabels?this.dayLabel:""}" name="days" ="${this._valueChanged}" ="${this._onFocus}" without-spin-buttons .required="${this.required}" .autoValidate="${this.autoValidate}" min="0" .disabled="${this.disabled}"> </ha-input> <div class="time-separator">:</div> `:o.s6} <ha-input id="hour" type="number" inputmode="numeric" .value="${this.hours.toFixed()}" .label="${this.placeholderLabels?"":this.hourLabel}" .placeholder="${this.placeholderLabels?this.hourLabel:""}" name="hours" ="${this._valueChanged}" ="${this._onFocus}" without-spin-buttons .required="${this.required}" .autoValidate="${this.autoValidate}" maxlength="2" max="${(0,s.J)(this._hourMax)}" min="0" .disabled="${this.disabled}"> </ha-input> <div class="time-separator">:</div> <ha-input id="min" type="number" inputmode="numeric" .value="${this._formatValue(this.minutes)}" .label="${this.placeholderLabels?"":this.minLabel}" .placeholder="${this.placeholderLabels?this.minLabel:""}" ="${this._valueChanged}" ="${this._onFocus}" name="minutes" without-spin-buttons .required="${this.required}" .autoValidate="${this.autoValidate}" maxlength="2" max="59" min="0" .disabled="${this.disabled}"> </ha-input> ${this.enableSecond?o.qy`<div class="time-separator">:</div>`:o.s6} ${this.enableSecond?o.qy`<ha-input id="sec" type="number" inputmode="decimal" step="any" .value="${this._formatValue(this.seconds)}" .label="${this.placeholderLabels?"":this.secLabel}" .placeholder="${this.placeholderLabels?this.secLabel:""}" ="${this._valueChanged}" ="${this._onFocus}" name="seconds" without-spin-buttons .required="${this.required}" .autoValidate="${this.autoValidate}" max="59" min="0" .disabled="${this.disabled}"> </ha-input> ${this.enableMillisecond?o.qy`<div class="time-separator">:</div>`:o.s6}`:o.s6} ${this.enableMillisecond?o.qy`<ha-input id="millisec" type="number" .value="${this._formatValue(this.milliseconds,3)}" .label="${this.placeholderLabels?"":this.millisecLabel}" .placeholder="${this.placeholderLabels?this.millisecLabel:""}" ="${this._valueChanged}" ="${this._onFocus}" name="milliseconds" without-spin-buttons .required="${this.required}" .autoValidate="${this.autoValidate}" maxlength="3" max="999" min="0" .disabled="${this.disabled}"> </ha-input>`:o.s6} ${24===this.format?o.s6:o.qy`<ha-select .required="${this.required}" .value="${this.amPm}" .disabled="${this.disabled}" .name="${"amPm"}" ="${this._valueChanged}" -after-hide="${l.d}" -hide="${l.d}" .options="${["AM","PM"]}"> </ha-select>`} ${!this.clearable||this.required||this.disabled?o.s6:o.qy`<ha-icon-button label="clear" ="${this._clearValue}" .path="${u}"></ha-icon-button>`} </div> </div> ${this.helper?o.qy`<ha-input-helper-text .disabled="${this.disabled}">${this.helper}</ha-input-helper-text>`:o.s6} `}_clearValue(){(0,n.r)(this,"value-changed")}_valueChanged(e){const t=e.currentTarget;this[t.name||""]="amPm"===t.name?e.detail.value:Number(t.value);const a={hours:this.hours,minutes:this.minutes,seconds:this.seconds,milliseconds:this.milliseconds};this.enableDay&&(a.days=this.days),12===this.format&&(a.amPm=this.amPm),(0,n.r)(this,"value-changed",{value:a})}_onFocus(e){e.currentTarget.select()}_formatValue(e,t=2){const a=e.toString();return a.includes(".")?a:a.padStart(t,"0")}get _hourMax(){if(!this.noHoursLimit)return 12===this.format?12:23}constructor(...e){super(...e),this.autoValidate=!1,this.required=!1,this.format=12,this.disabled=!1,this.days=0,this.hours=0,this.minutes=0,this.seconds=0,this.milliseconds=0,this.dayLabel="",this.hourLabel="",this.minLabel="",this.secLabel="",this.millisecLabel="",this.enableSecond=!1,this.enableMillisecond=!1,this.enableDay=!1,this.noHoursLimit=!1,this.amPm="AM",this.placeholderLabels=!1}}m.shadowRootOptions={...o.WF.shadowRootOptions,delegatesFocus:!0},m.styles=o.AH`:host([clearable]){position:relative}.time-input-wrap-wrap{display:flex}.time-input-wrap{display:flex;flex:var(--time-input-flex,unset);border-radius:var(--mdc-shape-small,var(--ha-border-radius-sm)) var(--mdc-shape-small,var(--ha-border-radius-sm)) var(--ha-border-radius-square) var(--ha-border-radius-square);overflow:hidden;position:relative;direction:ltr;padding-right:3px}ha-input{height:56px;padding:0;width:60px;flex-grow:1}ha-input:first-child{--text-field-border-top-left-radius:var(--mdc-shape-medium)}ha-input:last-child{--text-field-border-top-right-radius:var(--mdc-shape-medium)}ha-input::part(wa-base){padding:var(--ha-space-1)}ha-input:first-child::part(wa-base){padding-inline-start:var(--ha-space-4)}ha-input:last-child::part(wa-base){padding-inline-end:var(--ha-space-4)}ha-input::part(wa-hint){height:0}ha-input::part(wa-input){text-align:center}.time-separator,ha-icon-button{background-color:var(--ha-color-form-background);color:var(--ha-color-text-secondary);border-bottom:1px solid var(--ha-color-border-neutral-loud);box-sizing:border-box;height:56px;margin-inline-start:calc(var(--ha-space-1) * -1)}.time-separator{width:12px;margin-inline-end:calc(var(--ha-space-1) * -1);display:flex;align-items:center;justify-content:center}:host([clearable]) .mdc-select__anchor{padding-inline-end:var(--select-selected-text-padding-end,12px)}ha-icon-button{position:relative;--ha-icon-button-size:36px;border-start-end-radius:var(--ha-border-radius-sm);--mdc-icon-size:20px;direction:var(--direction);display:flex;align-items:center}ha-select{margin-inline:calc(var(--ha-space-1) * -1)}label{-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);-webkit-font-smoothing:var(--ha-font-smoothing);font-family:var(
--mdc-typography-body2-font-family,
var(--mdc-typography-font-family, var(--ha-font-family-body))
);font-size:var(--mdc-typography-body2-font-size, var(--ha-font-size-s));line-height:var(
--mdc-typography-body2-line-height,
var(--ha-line-height-condensed)
);font-weight:var(--mdc-typography-body2-font-weight,var(--ha-font-weight-normal));letter-spacing:var(
--mdc-typography-body2-letter-spacing,
.0178571429em
);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:var(--mdc-typography-body2-text-transform,inherit);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));padding-left:4px;padding-inline-start:4px;padding-inline-end:initial}ha-input-helper-text{padding-top:8px;line-height:var(--ha-line-height-condensed)}`,(0,i.Cg)([(0,r.MZ)()],m.prototype,"label",void 0),(0,i.Cg)([(0,r.MZ)()],m.prototype,"helper",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"auto-validate",type:Boolean})],m.prototype,"autoValidate",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean})],m.prototype,"required",void 0),(0,i.Cg)([(0,r.MZ)({type:Number})],m.prototype,"format",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean})],m.prototype,"disabled",void 0),(0,i.Cg)([(0,r.MZ)({type:Number})],m.prototype,"days",void 0),(0,i.Cg)([(0,r.MZ)({type:Number})],m.prototype,"hours",void 0),(0,i.Cg)([(0,r.MZ)({type:Number})],m.prototype,"minutes",void 0),(0,i.Cg)([(0,r.MZ)({type:Number})],m.prototype,"seconds",void 0),(0,i.Cg)([(0,r.MZ)({type:Number})],m.prototype,"milliseconds",void 0),(0,i.Cg)([(0,r.MZ)({type:String,attribute:"day-label"})],m.prototype,"dayLabel",void 0),(0,i.Cg)([(0,r.MZ)({type:String,attribute:"hour-label"})],m.prototype,"hourLabel",void 0),(0,i.Cg)([(0,r.MZ)({type:String,attribute:"min-label"})],m.prototype,"minLabel",void 0),(0,i.Cg)([(0,r.MZ)({type:String,attribute:"sec-label"})],m.prototype,"secLabel",void 0),(0,i.Cg)([(0,r.MZ)({type:String,attribute:"ms-label"})],m.prototype,"millisecLabel",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"enable-second",type:Boolean})],m.prototype,"enableSecond",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"enable-millisecond",type:Boolean})],m.prototype,"enableMillisecond",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"enable-day",type:Boolean})],m.prototype,"enableDay",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"no-hours-limit",type:Boolean})],m.prototype,"noHoursLimit",void 0),(0,i.Cg)([(0,r.MZ)({attribute:!1})],m.prototype,"amPm",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],m.prototype,"clearable",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"placeholder-labels",type:Boolean})],m.prototype,"placeholderLabels",void 0),(0,i.Cg)([(0,r.YG)("ha-input")],m.prototype,"_inputs",void 0),m=(0,i.Cg)([(0,r.EM)("ha-base-time-input")],m),t()}catch(e){t(e)}})},25440(e,t,a){a.a(e,async function(e,i){try{a.r(t),a.d(t,{HaIconButtonNext:()=>c});var o=a(62826),r=a(5124),s=a(22441),n=a(63091),l=a(26300),d=e([l]);l=(d.then?(await d)():d)[0];const h="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",p="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";class c extends r.WF{render(){return r.qy` <ha-icon-button .disabled="${this.disabled}" .label="${this.label||this.hass?.localize("ui.common.next")||"Next"}" .path="${this._icon}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"></ha-icon-button> `}constructor(...e){super(...e),this.disabled=!1,this._icon="rtl"===n.G.document.dir?h:p}}(0,o.Cg)([(0,s.MZ)({attribute:!1})],c.prototype,"hass",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean})],c.prototype,"disabled",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"label",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"href",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"target",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"rel",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"download",void 0),(0,o.Cg)([(0,s.wk)()],c.prototype,"_icon",void 0),c=(0,o.Cg)([(0,s.EM)("ha-icon-button-next")],c),i()}catch(e){i(e)}})},45100(e,t,a){a.a(e,async function(e,i){try{a.r(t),a.d(t,{HaIconButtonPrev:()=>c});var o=a(62826),r=a(5124),s=a(22441),n=a(63091),l=a(26300),d=e([l]);l=(d.then?(await d)():d)[0];const h="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",p="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";class c extends r.WF{render(){return r.qy` <ha-icon-button .disabled="${this.disabled}" .label="${this.label||this.hass?.localize("ui.common.back")||"Back"}" .path="${this._icon}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"></ha-icon-button> `}constructor(...e){super(...e),this.disabled=!1,this._icon="rtl"===n.G.document.dir?p:h}}(0,o.Cg)([(0,s.MZ)({attribute:!1})],c.prototype,"hass",void 0),(0,o.Cg)([(0,s.MZ)({type:Boolean})],c.prototype,"disabled",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"label",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"href",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"target",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"rel",void 0),(0,o.Cg)([(0,s.MZ)()],c.prototype,"download",void 0),(0,o.Cg)([(0,s.wk)()],c.prototype,"_icon",void 0),c=(0,o.Cg)([(0,s.EM)("ha-icon-button-prev")],c),i()}catch(e){i(e)}})},28732(e,t,a){var i=a(62826),o=a(27686),r=a(7731),s=a(5124),n=a(22441);class l extends o.J{renderRipple(){return this.noninteractive?"":super.renderRipple()}static get styles(){return[r.R,s.AH`: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.AH`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`:s.AH``]}}l=(0,i.Cg)([(0,n.EM)("ha-list-item")],l)},56304(e,t,a){a.a(e,async function(e,t){try{var i=a(62826),o=a(99324),r=a(92070),s=a(5124),n=a(22441),l=a(6412),d=a(63672),h=a(57237),p=a(53305),c=e([o]);o=(c.then?(await c)():c)[0];class u extends((0,p.w)(s.WF)){get _formControl(){return this._textarea}setFocused(e){e?this.toggleAttribute("focused",!0):this.removeAttribute("focused")}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",h.d)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",h.d)}async firstUpdated(e){super.firstUpdated(e),this.autofocus&&(await(this._textarea?.updateComplete),this._textarea?.focus())}focus(e){this._textarea?.focus(e)}render(){const e=!this.label&&this._hasSlotController.test("label"),t=!this.hint&&this._hasSlotController.test("hint");return s.qy` <wa-textarea .value="${this.value??null}" .placeholder="${this.placeholder}" .readonly="${this.readonly}" .required="${this.required}" .rows="${this.rows??4}" .resize="${this.resize}" .disabled="${this.disabled}" name="${(0,d.J)(this.name)}" autocapitalize="${(0,d.J)(this.autocapitalize||void 0)}" autocomplete="${(0,d.J)(this.autocomplete)}" .autofocus="${this.autofocus}" .spellcheck="${this.spellcheck}" inputmode="${(0,d.J)(this.inputmode||void 0)}" enterkeyhint="${(0,d.J)(this.enterkeyhint||void 0)}" minlength="${(0,d.J)(this.minlength)}" maxlength="${(0,d.J)(this.maxlength)}" class="${(0,l.H)({input:!0,invalid:this.invalid||this._invalid,"label-raised":void 0!==this.value&&""!==this.value||this.label&&this.placeholder,"no-label":!this.label,"hint-hidden":!(this.hint||t||this.required||this._invalid||this.invalid)})}" ="${this._handleInput}" ="${this._handleChange}" ="${this._handleBlur}" -invalid="${this._handleInvalid}" exportparts="base:wa-base, hint:wa-hint, textarea:wa-textarea"> ${this.label||e?s.qy`<slot name="label" slot="label">${this.label?this._renderLabel(this.label,this.required):s.s6}</slot>`:s.s6} <div slot="hint" class="${(0,l.H)({error:this.invalid||this._invalid})}" role="${(0,d.J)(this.invalid||this._invalid?"alert":void 0)}" aria-live="polite"> ${this._invalid||this.invalid?this.validationMessage||this._textarea?.validationMessage:this.hint||(t?s.qy`<slot name="hint"></slot>`:s.s6)} </div> </wa-textarea> `}constructor(...e){super(...e),this.resize="none",this._hasSlotController=new r.X(this,"label","hint"),this._requiredMarkerCSSVar="--ha-textarea-required-marker"}}u.styles=[p.N,s.AH`:host{display:flex;align-items:flex-start;padding-bottom:var(--ha-textarea-padding-bottom)}wa-textarea::part(label){width:calc(100% - var(--ha-space-2));background-color:var(--ha-color-form-background);transition:all var(--wa-transition-normal) ease-in-out,background-color var(--wa-transition-normal) ease-in-out;padding-inline-start:var(--ha-space-3);padding-inline-end:var(--ha-space-3);margin:var(--ha-space-1) var(--ha-space-1) 0;padding-top:var(--ha-space-4);white-space:nowrap;overflow:hidden}:host(:focus-within) wa-textarea::part(label),:host([focused]) wa-textarea::part(label){color:var(--primary-color)}:host(:focus-within) wa-textarea::part(label),:host([focused]) wa-textarea::part(label),wa-textarea.label-raised::part(label){padding-top:var(--ha-space-2);font-size:var(--ha-font-size-xs)}wa-textarea.no-label::part(label){height:0;padding:0}wa-textarea::part(base){min-height:56px;padding-top:var(--ha-space-6);padding-bottom:var(--ha-space-2)}wa-textarea.no-label::part(base){padding-top:var(--ha-space-3)}wa-textarea::part(base)::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:var(--ha-color-border-neutral-loud);transition:height var(--wa-transition-normal) ease-in-out,background-color var(--wa-transition-normal) ease-in-out}:host(:focus-within) wa-textarea::part(base)::after,:host([focused]) wa-textarea::part(base)::after{height:2px;background-color:var(--primary-color)}:host(:focus-within) wa-textarea.invalid::part(base)::after,wa-textarea.invalid:not([disabled])::part(base)::after{background-color:var(--ha-color-border-danger-normal)}wa-textarea::part(textarea){padding:0 var(--ha-space-4);font-family:var(--ha-font-family-body);font-size:var(--ha-font-size-m)}:host([resize=auto]) wa-textarea::part(textarea){max-height:var(--ha-textarea-max-height,200px);overflow-y:auto}wa-textarea:hover::part(base),wa-textarea:hover::part(label){background-color:var(--ha-color-form-background-hover)}wa-textarea[disabled]::part(textarea){cursor:not-allowed}wa-textarea[disabled]::part(base),wa-textarea[disabled]::part(label){background-color:var(--ha-color-form-background-disabled)}`],(0,i.Cg)([(0,n.MZ)({type:Number})],u.prototype,"rows",void 0),(0,i.Cg)([(0,n.MZ)()],u.prototype,"resize",void 0),(0,i.Cg)([(0,n.P)("wa-textarea")],u.prototype,"_textarea",void 0),u=(0,i.Cg)([(0,n.EM)("ha-textarea")],u),t()}catch(e){t(e)}})},50286(e,t,a){a.a(e,async function(e,t){try{var i=a(62826),o=a(5124),r=a(22441),s=a(69543),n=a(1087),l=a(32656),d=e([l]);l=(d.then?(await d)():d)[0];class h extends o.WF{reportValidity(){return this._input?.reportValidity()??!0}render(){const e=(0,s.J)(this.locale);let t=NaN,a=NaN,i=NaN,r=0;if(this.value){const o=this.value?.split(":")||[];a=o[1]?Number(o[1]):0,i=o[2]?Number(o[2]):0,t=o[0]?Number(o[0]):0,r=t,r&&e&&r>12&&r<24&&(t=r-12),e&&0===r&&(t=12)}return o.qy` <ha-base-time-input .label="${this.label}" .hours="${t}" .minutes="${a}" .seconds="${i}" .format="${e?12:24}" .amPm="${e&&r>=12?"PM":"AM"}" .disabled="${this.disabled}" -changed="${this._timeChanged}" .enableSecond="${this.enableSecond}" .required="${this.required}" .clearable="${this.clearable&&void 0!==this.value}" .helper="${this.helper}" .placeholderLabels="${this.placeholderLabels}" .autoValidate="${this.autoValidate}" day-label="dd" hour-label="hh" min-label="mm" sec-label="ss" ms-label="ms"></ha-base-time-input> `}_timeChanged(e){e.stopPropagation();const t=e.detail.value,a=(0,s.J)(this.locale);let i,o=0;if(!(void 0===t||isNaN(t.hours)&&isNaN(t.minutes)&&isNaN(t.seconds))){let e=t.hours||0;t&&a&&(o=e>=12&&e<24?e-12:0===e?12:0,"PM"===t.amPm&&e<12&&(e+=12),"AM"===t.amPm&&12===e&&(e=0)),i=`${e.toString().padStart(2,"0")}:${t.minutes?t.minutes.toString().padStart(2,"0"):"00"}:${t.seconds?t.seconds.toString().padStart(2,"0"):"00"}`}o&&this.updateComplete.then(()=>{const e=this._input;e&&(e.hours=o)}),i!==this.value&&(this.value=i,(0,n.r)(this,"change"),(0,n.r)(this,"value-changed",{value:i}))}constructor(...e){super(...e),this.disabled=!1,this.required=!1,this.autoValidate=!1,this.enableSecond=!1,this.placeholderLabels=!1}}(0,i.Cg)([(0,r.MZ)({attribute:!1})],h.prototype,"locale",void 0),(0,i.Cg)([(0,r.MZ)()],h.prototype,"value",void 0),(0,i.Cg)([(0,r.MZ)()],h.prototype,"label",void 0),(0,i.Cg)([(0,r.MZ)()],h.prototype,"helper",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean})],h.prototype,"disabled",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean})],h.prototype,"required",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"auto-validate",type:Boolean})],h.prototype,"autoValidate",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean,attribute:"enable-second"})],h.prototype,"enableSecond",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],h.prototype,"clearable",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"placeholder-labels",type:Boolean})],h.prototype,"placeholderLabels",void 0),(0,i.Cg)([(0,r.P)("ha-base-time-input")],h.prototype,"_input",void 0),h=(0,i.Cg)([(0,r.EM)("ha-time-input")],h),t()}catch(e){t(e)}})},48949(e,t,a){a.d(t,{Q:()=>n});var i=a(62826),o=a(22441),r=a(71769),s=a(84187);const n=e=>{class t extends e{connectedCallback(){super.connectedCallback(),this._unsubMql=(0,r.m)(this.mobileSizeQuery,e=>{this._isMobileSize=e})}disconnectedCallback(){super.disconnectedCallback(),this._unsubMql?.(),this._unsubMql=void 0}constructor(...e){super(...e),this._isMobileSize=!1,this._isMobileClient=s.M,this.mobileSizeQuery="all and (max-width: 450px), all and (max-height: 500px)"}}return(0,i.Cg)([(0,o.wk)()],t.prototype,"_isMobileSize",void 0),t}},84187(e,t,a){a.d(t,{M:()=>i});const i=/(?:iphone|android|ipad)/i.test(navigator.userAgent)}};