iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
10 lines • 56.6 kB
JavaScript
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["7698"],{19631:function(e,t,i){i.a(e,(async function(e,a){try{i.d(t,{Bt:()=>d,T8:()=>c});i(19083);var n=i(16485),s=i(88977),r=i(20382),o=e([n]);n=(o.then?(await o)():o)[0];const l=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],d=e=>e.first_weekday===r.FS.language?"weekInfo"in Intl.Locale.prototype?new Intl.Locale(e.language).weekInfo.firstDay%7:(0,s.L)(e.language)%7:l.includes(e.first_weekday)?l.indexOf(e.first_weekday):1,c=e=>{const t=d(e);return l[t]};a()}catch(l){a(l)}}))},94947:function(e,t,i){i.a(e,(async function(e,a){try{i.d(t,{G:()=>d});var n=i(16485),s=i(27486),r=i(27046),o=e([n,r]);[n,r]=o.then?(await o)():o;const l=(0,s.Z)((e=>new Intl.RelativeTimeFormat(e.language,{numeric:"auto"}))),d=(e,t,i,a=!0)=>{const n=(0,r.W)(e,i,t);return a?l(t).format(n.value,n.unit):Intl.NumberFormat(t.language,{style:"unit",unit:n.unit,unitDisplay:"long"}).format(Math.abs(n.value))};a()}catch(l){a(l)}}))},27046:function(e,t,i){i.a(e,(async function(e,a){try{i.d(t,{W:()=>p});i(19423);var n=i(13809),s=i(29558),r=i(94763),o=i(19631),l=e([o]);o=(l.then?(await l)():l)[0];const c=1e3,h=60,u=60*h;function p(e,t=Date.now(),i,a={}){const l=Object.assign(Object.assign({},f),a||{}),d=(+e-+t)/c;if(Math.abs(d)<l.second)return{value:Math.round(d),unit:"second"};const p=d/h;if(Math.abs(p)<l.minute)return{value:Math.round(p),unit:"minute"};const m=d/u;if(Math.abs(m)<l.hour)return{value:Math.round(m),unit:"hour"};const v=new Date(e),k=new Date(t);v.setHours(0,0,0,0),k.setHours(0,0,0,0);const g=(0,n.j)(v,k);if(0===g)return{value:Math.round(m),unit:"hour"};if(Math.abs(g)<l.day)return{value:g,unit:"day"};const y=(0,o.Bt)(i),_=(0,s.z)(v,{weekStartsOn:y}),x=(0,s.z)(k,{weekStartsOn:y}),b=(0,r.p)(_,x);if(0===b)return{value:g,unit:"day"};if(Math.abs(b)<l.week)return{value:b,unit:"week"};const w=v.getFullYear()-k.getFullYear(),C=12*w+v.getMonth()-k.getMonth();return 0===C?{value:b,unit:"week"}:Math.abs(C)<l.month||0===w?{value:C,unit:"month"}:{value:Math.round(w),unit:"year"}}const f={second:45,minute:45,hour:22,day:5,week:4,month:11};a()}catch(d){a(d)}}))},99426:function(e,t,i){i.r(t);var a=i(61701),n=(i(71695),i(47021),i(57243)),s=i(50778),r=i(35359),o=i(36522);i(23334),i(37583);let l,d,c,h,u=e=>e;const p={info:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z",warning:"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16",error:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",success:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2,4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"};(0,a.Z)([(0,s.Mo)("ha-alert")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)()],key:"title",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({attribute:"alert-type"})],key:"alertType",value(){return"info"}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"dismissable",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"narrow",value(){return!1}},{kind:"method",key:"render",value:function(){return(0,n.dy)(l||(l=u` <div class="issue-type ${0}" role="alert"> <div class="icon ${0}"> <slot name="icon"> <ha-svg-icon .path="${0}"></ha-svg-icon> </slot> </div> <div class="${0}"> <div class="main-content"> ${0} <slot></slot> </div> <div class="action"> <slot name="action"> ${0} </slot> </div> </div> </div> `),(0,r.$)({[this.alertType]:!0}),this.title?"":"no-title",p[this.alertType],(0,r.$)({content:!0,narrow:this.narrow}),this.title?(0,n.dy)(d||(d=u`<div class="title">${0}</div>`),this.title):n.Ld,this.dismissable?(0,n.dy)(c||(c=u`<ha-icon-button @click="${0}" label="Dismiss alert" .path="${0}"></ha-icon-button>`),this._dismissClicked,"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"):n.Ld)}},{kind:"method",key:"_dismissClicked",value:function(){(0,o.B)(this,"alert-dismissed-clicked")}},{kind:"field",static:!0,key:"styles",value(){return(0,n.iv)(h||(h=u`.issue-type{position:relative;padding:8px;display:flex}.issue-type::after{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;content:"";border-radius:4px}.icon{z-index:1}.icon.no-title{align-self:center}.content{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:var(--float-start)}.content.narrow{flex-direction:column;align-items:flex-end}.action{z-index:1;width:min-content;--mdc-theme-primary:var(--primary-text-color)}.main-content{overflow-wrap:anywhere;word-break:break-word;margin-left:8px;margin-right:0;margin-inline-start:8px;margin-inline-end:0}.title{margin-top:2px;font-weight:700}.action ha-icon-button,.action mwc-button{--mdc-theme-primary:var(--primary-text-color);--mdc-icon-button-size:36px}.issue-type.info>.icon{color:var(--info-color)}.issue-type.info::after{background-color:var(--info-color)}.issue-type.warning>.icon{color:var(--warning-color)}.issue-type.warning::after{background-color:var(--warning-color)}.issue-type.error>.icon{color:var(--error-color)}.issue-type.error::after{background-color:var(--error-color)}.issue-type.success>.icon{color:var(--success-color)}.issue-type.success::after{background-color:var(--success-color)}:host ::slotted(ul){margin:0;padding-inline-start:20px}`))}}]}}),n.oi)},34273:function(e,t,i){var a=i(61701),n=i(72621),s=(i(71695),i(9359),i(31526),i(47021),i(22997),i(57243)),r=i(50778),o=i(5111),l=i(76525);let d,c,h=e=>e;(0,a.Z)([(0,r.Mo)("ha-button-menu")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",key:l.gA,value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"corner",value(){return"BOTTOM_START"}},{kind:"field",decorators:[(0,r.Cb)({attribute:"menu-corner"})],key:"menuCorner",value(){return"START"}},{kind:"field",decorators:[(0,r.Cb)({type:Number})],key:"x",value(){return null}},{kind:"field",decorators:[(0,r.Cb)({type:Number})],key:"y",value(){return null}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"multi",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"activatable",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"fixed",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({type:Boolean,attribute:"no-anchor"})],key:"noAnchor",value(){return!1}},{kind:"field",decorators:[(0,r.IO)("mwc-menu",!0)],key:"_menu",value:void 0},{kind:"get",key:"items",value:function(){var e;return null===(e=this._menu)||void 0===e?void 0:e.items}},{kind:"get",key:"selected",value:function(){var e;return null===(e=this._menu)||void 0===e?void 0:e.selected}},{kind:"method",key:"focus",value:function(){var e,t;null!==(e=this._menu)&&void 0!==e&&e.open?this._menu.focusItemAtIndex(0):null===(t=this._triggerButton)||void 0===t||t.focus()}},{kind:"method",key:"render",value:function(){return(0,s.dy)(d||(d=h` <div @click="${0}"> <slot name="trigger" @slotchange="${0}"></slot> </div> <mwc-menu .corner="${0}" .menuCorner="${0}" .fixed="${0}" .multi="${0}" .activatable="${0}" .y="${0}" .x="${0}"> <slot></slot> </mwc-menu> `),this._handleClick,this._setTriggerAria,this.corner,this.menuCorner,this.fixed,this.multi,this.activatable,this.y,this.x)}},{kind:"method",key:"firstUpdated",value:function(e){(0,n.Z)(i,"firstUpdated",this,3)([e]),"rtl"===o.E.document.dir&&this.updateComplete.then((()=>{this.querySelectorAll("mwc-list-item").forEach((e=>{const t=document.createElement("style");t.innerHTML="span.material-icons:first-of-type { margin-left: var(--mdc-list-item-graphic-margin, 32px) !important; margin-right: 0px !important;}",e.shadowRoot.appendChild(t)}))}))}},{kind:"method",key:"_handleClick",value:function(){this.disabled||(this._menu.anchor=this.noAnchor?null:this,this._menu.show())}},{kind:"get",key:"_triggerButton",value:function(){return this.querySelector('ha-icon-button[slot="trigger"], mwc-button[slot="trigger"]')}},{kind:"method",key:"_setTriggerAria",value:function(){this._triggerButton&&(this._triggerButton.ariaHasPopup="menu")}},{kind:"field",static:!0,key:"styles",value(){return(0,s.iv)(c||(c=h`:host{display:inline-block;position:relative}::slotted([disabled]){color:var(--disabled-text-color)}`))}}]}}),s.oi)},54977:function(e,t,i){var a=i(61701),n=(i(71695),i(47021),i(57243)),s=i(50778);let r,o,l,d=e=>e;(0,a.Z)([(0,s.Mo)("ha-card")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)()],key:"header",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"raised",value(){return!1}},{kind:"field",static:!0,key:"styles",value(){return(0,n.iv)(r||(r=d`: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(0,n.dy)(o||(o=d` ${0} <slot></slot> `),this.header?(0,n.dy)(l||(l=d`<h1 class="card-header">${0}</h1>`),this.header):n.Ld)}}]}}),n.oi)},2914:function(e,t,i){var a=i(61701),n=(i(71695),i(47021),i(57243)),s=i(50778);let r,o,l=e=>e;(0,a.Z)([(0,s.Mo)("ha-label")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"dense",value(){return!1}},{kind:"method",key:"render",value:function(){return(0,n.dy)(r||(r=l` <span class="content"> <slot name="icon"></slot> <slot></slot> </span> `))}},{kind:"get",static:!0,key:"styles",value:function(){return[(0,n.iv)(o||(o=l`:host{--ha-label-text-color:var(--primary-text-color);--ha-label-icon-color:var(--primary-text-color);--ha-label-background-color:rgba(
var(--rgb-primary-text-color),
0.15
);--ha-label-background-opacity:1;border:1px solid var(--outline-color);position:relative;box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.1px;vertical-align:middle;height:32px;padding:0 16px;border-radius:18px;color:var(--ha-label-text-color);--mdc-icon-size:12px;text-wrap:nowrap}.content>*{position:relative;display:inline-flex;flex-direction:row;align-items:center}:host:before{position:absolute;content:"";inset:0;border-radius:inherit;background-color:var(--ha-label-background-color);opacity:var(--ha-label-background-opacity)}::slotted([slot=icon]){margin-right:8px;margin-left:-8px;margin-inline-start:-8px;margin-inline-end:8px;display:flex}span{display:inline-flex}:host([dense]){height:20px;padding:0 12px;border-radius:10px}:host([dense]) ::slotted([slot=icon]){margin-right:4px;margin-left:-4px;margin-inline-start:-4px;margin-inline-end:4px}`))]}}]}}),n.oi)},7285:function(e,t,i){i.d(t,{M:()=>p});var a=i(61701),n=i(72621),s=(i(71695),i(47021),i(65703)),r=i(46289),o=i(57243),l=i(50778);let d,c,h,u=e=>e,p=(0,a.Z)([(0,l.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[r.W,(0,o.iv)(d||(d=u`: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?(0,o.iv)(c||(c=u`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`)):(0,o.iv)(h||(h=u``))]}}]}}),s.K)},34326:function(e,t,i){var a=i(61701),n=(i(71695),i(47021),i(57243)),s=i(50778);i(23334),i(83166);let r,o,l,d=e=>e;(0,a.Z)([(0,s.Mo)("ha-password-field")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"invalid",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"icon",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"iconTrailing",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)()],key:"autocomplete",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"autocorrect",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"input-spellcheck"})],key:"inputSpellcheck",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"value",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"placeholder",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"label",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Number})],key:"minLength",value(){return-1}},{kind:"field",decorators:[(0,s.Cb)({type:Number})],key:"maxLength",value(){return-1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"outlined",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"helper",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"validateOnInitialRender",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"validationMessage",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"autoValidate",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"pattern",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:Number})],key:"size",value(){return null}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"helperPersistent",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"charCounter",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"endAligned",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"prefix",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"suffix",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:String})],key:"name",value(){return""}},{kind:"field",decorators:[(0,s.Cb)({type:String,attribute:"input-mode"})],key:"inputMode",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"readOnly",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:!1,type:String})],key:"autocapitalize",value(){return""}},{kind:"field",decorators:[(0,s.SB)()],key:"_unmaskedPassword",value(){return!1}},{kind:"field",decorators:[(0,s.IO)("ha-textfield")],key:"_textField",value:void 0},{kind:"method",key:"render",value:function(){var e;return(0,n.dy)(r||(r=d`<ha-textfield .invalid="${0}" .errorMessage="${0}" .icon="${0}" .iconTrailing="${0}" .autocomplete="${0}" .autocorrect="${0}" .inputSpellcheck="${0}" .value="${0}" .placeholder="${0}" .label="${0}" .disabled="${0}" .required="${0}" .minLength="${0}" .maxLength="${0}" .outlined="${0}" .helper="${0}" .validateOnInitialRender="${0}" .validationMessage="${0}" .autoValidate="${0}" .pattern="${0}" .size="${0}" .helperPersistent="${0}" .charCounter="${0}" .endAligned="${0}" .prefix="${0}" .name="${0}" .inputMode="${0}" .readOnly="${0}" .autocapitalize="${0}" .type="${0}" .suffix="${0}" @input="${0}" @change="${0}"></ha-textfield> <ha-icon-button .label="${0}" @click="${0}" .path="${0}"></ha-icon-button>`),this.invalid,this.errorMessage,this.icon,this.iconTrailing,this.autocomplete,this.autocorrect,this.inputSpellcheck,this.value,this.placeholder,this.label,this.disabled,this.required,this.minLength,this.maxLength,this.outlined,this.helper,this.validateOnInitialRender,this.validationMessage,this.autoValidate,this.pattern,this.size,this.helperPersistent,this.charCounter,this.endAligned,this.prefix,this.name,this.inputMode,this.readOnly,this.autocapitalize,this._unmaskedPassword?"text":"password",(0,n.dy)(o||(o=d`<div style="width:24px"></div>`)),this._handleInputEvent,this._handleChangeEvent,(null===(e=this.hass)||void 0===e?void 0:e.localize(this._unmaskedPassword?"ui.components.selectors.text.hide_password":"ui.components.selectors.text.show_password"))||(this._unmaskedPassword?"Hide password":"Show password"),this._toggleUnmaskedPassword,this._unmaskedPassword?"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z":"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z")}},{kind:"method",key:"focus",value:function(){this._textField.focus()}},{kind:"method",key:"checkValidity",value:function(){return this._textField.checkValidity()}},{kind:"method",key:"reportValidity",value:function(){return this._textField.reportValidity()}},{kind:"method",key:"setCustomValidity",value:function(e){return this._textField.setCustomValidity(e)}},{kind:"method",key:"layout",value:function(){return this._textField.layout()}},{kind:"method",key:"_toggleUnmaskedPassword",value:function(){this._unmaskedPassword=!this._unmaskedPassword}},{kind:"method",decorators:[(0,s.hO)({passive:!0})],key:"_handleInputEvent",value:function(e){this.value=e.target.value}},{kind:"method",decorators:[(0,s.hO)({passive:!0})],key:"_handleChangeEvent",value:function(e){this.value=e.target.value,this._reDispatchEvent(e)}},{kind:"method",key:"_reDispatchEvent",value:function(e){const t=new Event(e.type,e);this.dispatchEvent(t)}},{kind:"field",static:!0,key:"styles",value(){return(0,n.iv)(l||(l=d`:host{display:block;position:relative}ha-textfield{width:100%}ha-icon-button{position:absolute;top:8px;right:8px;inset-inline-start:initial;inset-inline-end:8px;--mdc-icon-button-size:40px;--mdc-icon-size:20px;color:var(--secondary-text-color);direction:var(--direction)}`))}}]}}),n.oi)},30509:function(e,t,i){var a=i(61701),n=(i(71695),i(47021),i(57243)),s=i(50778);let r,o,l=e=>e;(0,a.Z)([(0,s.Mo)("ha-settings-row")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"narrow",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"slim",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,attribute:"three-line"})],key:"threeLine",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],key:"wrapHeading",value(){return!1}},{kind:"method",key:"render",value:function(){return(0,n.dy)(r||(r=l` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${0}" ?three-line="${0}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `),!this.threeLine,this.threeLine)}},{kind:"field",static:!0,key:"styles",value(){return(0,n.iv)(o||(o=l`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:var(--paper-item-body-three-line-min-height,88px)}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var(
--mdc-typography-body2-font-family,
var(--mdc-typography-font-family, Roboto, sans-serif)
);-webkit-font-smoothing:antialiased;font-size:var(--mdc-typography-body2-font-size, .875rem);font-weight:var(--mdc-typography-body2-font-weight,400);line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(var(--paper-item-body-two-line-min-height,72px) - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`))}}]}}),n.oi)},17170:function(e,t,i){i.a(e,(async function(e,a){try{i.r(t),i.d(t,{HaSpinner:()=>p});var n=i(61701),s=i(72621),r=(i(71695),i(47021),i(97677)),o=i(43580),l=i(57243),d=i(50778),c=e([r]);r=(c.then?(await c)():c)[0];let h,u=e=>e,p=(0,n.Z)([(0,d.Mo)("ha-spinner")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,d.Cb)()],key:"size",value:void 0},{kind:"method",key:"updated",value:function(e){if((0,s.Z)(i,"updated",this,3)([e]),e.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(){return[o.Z,(0,l.iv)(h||(h=u`: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(h){a(h)}}))},83166:function(e,t,i){var a=i(61701),n=i(72621),s=(i(71695),i(47021),i(1105)),r=i(33990),o=i(57243),l=i(50778),d=i(5111);let c,h,u,p,f=e=>e;(0,a.Z)([(0,l.Mo)("ha-textfield")],(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})],key:"invalid",value:void 0},{kind:"field",decorators:[(0,l.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"icon",value(){return!1}},{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"iconTrailing",value(){return!1}},{kind:"field",decorators:[(0,l.Cb)()],key:"autocomplete",value:void 0},{kind:"field",decorators:[(0,l.Cb)()],key:"autocorrect",value:void 0},{kind:"field",decorators:[(0,l.Cb)({attribute:"input-spellcheck"})],key:"inputSpellcheck",value:void 0},{kind:"field",decorators:[(0,l.IO)("input")],key:"formElement",value:void 0},{kind:"method",key:"updated",value:function(e){(0,n.Z)(i,"updated",this,3)([e]),(e.has("invalid")||e.has("errorMessage"))&&(this.setCustomValidity(this.invalid?this.errorMessage||this.validationMessage||"Invalid":""),(this.invalid||this.validateOnInitialRender||e.has("invalid")&&void 0!==e.get("invalid"))&&this.reportValidity()),e.has("autocomplete")&&(this.autocomplete?this.formElement.setAttribute("autocomplete",this.autocomplete):this.formElement.removeAttribute("autocomplete")),e.has("autocorrect")&&(this.autocorrect?this.formElement.setAttribute("autocorrect",this.autocorrect):this.formElement.removeAttribute("autocorrect")),e.has("inputSpellcheck")&&(this.inputSpellcheck?this.formElement.setAttribute("spellcheck",this.inputSpellcheck):this.formElement.removeAttribute("spellcheck"))}},{kind:"method",key:"renderIcon",value:function(e,t=!1){const i=t?"trailing":"leading";return(0,o.dy)(c||(c=f` <span class="mdc-text-field__icon mdc-text-field__icon--${0}" tabindex="${0}"> <slot name="${0}Icon"></slot> </span> `),i,t?1:-1,i)}},{kind:"field",static:!0,key:"styles",value(){return[r.W,(0,o.iv)(h||(h=f`.mdc-text-field__input{width:var(--ha-textfield-input-width,100%)}.mdc-text-field:not(.mdc-text-field--with-leading-icon){padding:var(--text-field-padding,0px 16px)}.mdc-text-field__affix--suffix{padding-left:var(--text-field-suffix-padding-left,12px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,12px);padding-inline-end:var(--text-field-suffix-padding-right,0px);direction:ltr}.mdc-text-field--with-leading-icon{padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,16px);direction:var(--direction)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:var(--text-field-suffix-padding-left,0px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,0px)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix{color:var(--secondary-text-color)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon{color:var(--secondary-text-color)}.mdc-text-field__icon--leading{margin-inline-start:16px;margin-inline-end:8px;direction:var(--direction)}.mdc-text-field__icon--trailing{padding:var(--textfield-icon-trailing-padding,12px)}.mdc-floating-label:not(.mdc-floating-label--float-above){text-overflow:ellipsis;width:inherit;padding-right:30px;padding-inline-end:30px;padding-inline-start:initial;box-sizing:border-box;direction:var(--direction)}input{text-align:var(--text-field-text-align,start)}input[type=color]{height:20px}::-ms-reveal{display:none}:host([no-spinner]) input::-webkit-inner-spin-button,:host([no-spinner]) input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=color]::-webkit-color-swatch-wrapper{padding:0}:host([no-spinner]) input[type=number]{-moz-appearance:textfield}.mdc-text-field__ripple{overflow:hidden}.mdc-text-field{overflow:var(--text-field-overflow)}.mdc-floating-label{inset-inline-start:16px!important;inset-inline-end:initial!important;transform-origin:var(--float-start);direction:var(--direction);text-align:var(--float-start)}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px - var(--text-field-suffix-padding-left,0px));inset-inline-start:calc(48px + var(--text-field-suffix-padding-left,0px))!important;inset-inline-end:initial!important;direction:var(--direction)}.mdc-text-field__input[type=number]{direction:var(--direction)}.mdc-text-field__affix--prefix{padding-right:var(--text-field-prefix-padding-right,2px);padding-inline-end:var(--text-field-prefix-padding-right,2px);padding-inline-start:initial}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--prefix{color:var(--mdc-text-field-label-ink-color)}#helper-text ha-markdown{display:inline-block}`)),"rtl"===d.E.document.dir?(0,o.iv)(u||(u=f`.mdc-floating-label,.mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field__icon--leading,.mdc-text-field__input[type=number]{direction:rtl;--direction:rtl}`)):(0,o.iv)(p||(p=f``))]}}]}}),s.P)},43546:function(e,t,i){i.d(t,{Cp:()=>r,TZ:()=>o,W2:()=>s,YY:()=>d,iI:()=>n,j2:()=>l,oT:()=>a});i(19083),i(9359),i(70104),i(77439),i(19423),i(40251),i(97499),i(61006);const a=e=>e.map((e=>{if("string"!==e.type)return e;switch(e.name){case"username":return Object.assign(Object.assign({},e),{},{autocomplete:"username",autofocus:!0});case"password":return Object.assign(Object.assign({},e),{},{autocomplete:"current-password"});case"code":return Object.assign(Object.assign({},e),{},{autocomplete:"one-time-code",autofocus:!0});default:return e}})),n=(e,t)=>e.callWS({type:"auth/sign_path",path:t}),s=async(e,t,i,a)=>e.callWS({type:"config/auth_provider/homeassistant/create",user_id:t,username:i,password:a}),r=(e,t,i)=>e.callWS({type:"config/auth_provider/homeassistant/change_password",current_password:t,new_password:i}),o=(e,t,i)=>e.callWS({type:"config/auth_provider/homeassistant/admin_change_password",user_id:t,password:i}),l=(e,t,i)=>e.callWS({type:"config/auth_provider/homeassistant/admin_change_username",user_id:t,username:i}),d=(e,t,i)=>e.callWS({type:"auth/delete_all_refresh_tokens",token_type:t,delete_current_token:i})},23651:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(61701),n=i(72621),s=(i(71695),i(40251),i(47021),i(31622),i(57243)),r=i(50778),o=(i(54977),i(17170)),l=(i(83166),i(34326),i(28008)),d=(i(99426),i(76131)),c=i(43546),h=e([o]);o=(h.then?(await h)():h)[0];let u,p,f,m,v,k,g,y=e=>e;(0,a.Z)([(0,r.Mo)("ha-change-password-card")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_loading",value(){return!1}},{kind:"field",decorators:[(0,r.SB)()],key:"_statusMsg",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_errorMsg",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_currentPassword",value(){return""}},{kind:"field",decorators:[(0,r.SB)()],key:"_password",value(){return""}},{kind:"field",decorators:[(0,r.SB)()],key:"_passwordConfirm",value(){return""}},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"refreshTokens",value:void 0},{kind:"method",key:"render",value:function(){return(0,s.dy)(u||(u=y` <ha-card .header="${0}"> <div class="card-content"> ${0} ${0} <ha-password-field id="currentPassword" name="currentPassword" .label="${0}" autocomplete="current-password" .value="${0}" @input="${0}" @change="${0}" required></ha-password-field> ${0} </div> <div class="card-actions"> ${0} </div> </ha-card> `),this.hass.localize("ui.panel.profile.change_password.header"),this._errorMsg?(0,s.dy)(p||(p=y`<ha-alert alert-type="error">${0}</ha-alert>`),this._errorMsg):"",this._statusMsg?(0,s.dy)(f||(f=y`<ha-alert alert-type="success">${0}</ha-alert>`),this._statusMsg):"",this.hass.localize("ui.panel.profile.change_password.current_password"),this._currentPassword,this._currentPasswordChanged,this._currentPasswordChanged,this._currentPassword?(0,s.dy)(m||(m=y`<ha-password-field .label="${0}" name="password" autocomplete="new-password" .value="${0}" @input="${0}" @change="${0}" required autoValidate></ha-password-field> <ha-password-field .label="${0}" name="passwordConfirm" autocomplete="new-password" .value="${0}" @input="${0}" @change="${0}" required autoValidate></ha-password-field>`),this.hass.localize("ui.panel.profile.change_password.new_password"),this._password,this._newPasswordChanged,this._newPasswordChanged,this.hass.localize("ui.panel.profile.change_password.confirm_new_password"),this._passwordConfirm,this._newPasswordConfirmChanged,this._newPasswordConfirmChanged):"",this._loading?(0,s.dy)(v||(v=y`<div> <ha-spinner></ha-spinner> </div>`)):(0,s.dy)(k||(k=y`<mwc-button @click="${0}" .disabled="${0}">${0}</mwc-button>`),this._changePassword,!this._passwordConfirm,this.hass.localize("ui.panel.profile.change_password.submit")))}},{kind:"method",key:"_currentPasswordChanged",value:function(e){this._currentPassword=e.target.value}},{kind:"method",key:"_newPasswordChanged",value:function(e){this._password=e.target.value}},{kind:"method",key:"_newPasswordConfirmChanged",value:function(e){this._passwordConfirm=e.target.value}},{kind:"method",key:"firstUpdated",value:function(e){(0,n.Z)(i,"firstUpdated",this,3)([e]),this.addEventListener("keypress",(e=>{this._statusMsg=void 0,"Enter"===e.key&&this._changePassword()}))}},{kind:"method",key:"_changePassword",value:async function(){if(this._statusMsg=void 0,this._currentPassword&&this._password&&this._passwordConfirm)if(this._password===this._passwordConfirm)if(this._currentPassword!==this._password){this._loading=!0,this._errorMsg=void 0;try{await(0,c.Cp)(this.hass,this._currentPassword,this._password)}catch(e){return void(this._errorMsg=e.message)}finally{this._loading=!1}if(this._statusMsg=this.hass.localize("ui.panel.profile.change_password.success"),this.refreshTokens&&await(0,d.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.profile.change_password.logout_all_sessions"),text:this.hass.localize("ui.panel.profile.change_password.logout_all_sessions_text"),dismissText:this.hass.localize("ui.common.no"),confirmText:this.hass.localize("ui.common.yes"),destructive:!0}))try{await(0,c.YY)(this.hass)}catch(e){await(0,d.showAlertDialog)(this,{title:this.hass.localize("ui.panel.profile.change_password.delete_failed"),text:e.message})}this._currentPassword="",this._password="",this._passwordConfirm=""}else this._errorMsg=this.hass.localize("ui.panel.profile.change_password.error_new_is_old");else this._errorMsg=this.hass.localize("ui.panel.profile.change_password.error_new_mismatch")}},{kind:"get",static:!0,key:"styles",value:function(){return[l.Qx,(0,s.iv)(g||(g=y`ha-textfield{margin-top:8px;display:block}#currentPassword{margin-top:0}`))]}}]}}),s.oi);t()}catch(u){t(u)}}))},88502:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(61701),n=(i(71695),i(61495),i(9359),i(56475),i(70104),i(40251),i(47021),i(31622),i(57243)),s=i(50778),r=i(27486),o=i(94947),l=i(36522),d=(i(54977),i(30509),i(23334),i(76131)),c=i(28008),h=i(21034),u=e([o]);o=(u.then?(await u)():u)[0];let p,f,m,v,k=e=>e;const g="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z";(0,a.Z)([(0,s.Mo)("ha-long-lived-access-tokens-card")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"refreshTokens",value:void 0},{kind:"field",key:"_accessTokens",value(){return(0,r.Z)((e=>null==e?void 0:e.filter((e=>"long_lived_access_token"===e.type)).reverse()))}},{kind:"method",key:"render",value:function(){const e=this._accessTokens(this.refreshTokens);return(0,n.dy)(p||(p=k` <ha-card .header="${0}"> <div class="card-content"> ${0} <a href="https://developers.home-assistant.io/docs/auth_api/#making-authenticated-requests" target="_blank" rel="noreferrer"> ${0} </a> ${0} </div> <div class="card-actions"> <mwc-button @click="${0}"> ${0} </mwc-button> </div> </ha-card> `),this.hass.localize("ui.panel.profile.long_lived_access_tokens.header"),this.hass.localize("ui.panel.profile.long_lived_access_tokens.description"),this.hass.localize("ui.panel.profile.long_lived_access_tokens.learn_auth_requests"),null!=e&&e.length?e.map((e=>(0,n.dy)(m||(m=k`<ha-settings-row two-line> <span slot="heading">${0}</span> <div slot="description"> ${0} </div> <ha-icon-button .token="${0}" .disabled="${0}" .label="${0}" .path="${0}" @click="${0}"></ha-icon-button> </ha-settings-row>`),e.client_name,this.hass.localize("ui.panel.profile.long_lived_access_tokens.created",{date:(0,o.G)(new Date(e.created_at),this.hass.locale)}),e,e.is_current,this.hass.localize("ui.common.delete"),g,this._deleteToken))):(0,n.dy)(f||(f=k`<p> ${0} </p>`),this.hass.localize("ui.panel.profile.long_lived_access_tokens.empty_state")),this._createToken,this.hass.localize("ui.panel.profile.long_lived_access_tokens.create"))}},{kind:"method",key:"_createToken",value:async function(){const e=await(0,d.showPromptDialog)(this,{text:this.hass.localize("ui.panel.profile.long_lived_access_tokens.prompt_name"),inputLabel:this.hass.localize("ui.panel.profile.long_lived_access_tokens.name")});if(e)try{const t=await this.hass.callWS({type:"auth/long_lived_access_token",lifespan:3650,client_name:e});(0,h.b)(this,{token:t,name:e}),(0,l.B)(this,"hass-refresh-tokens")}catch(t){(0,d.showAlertDialog)(this,{title:this.hass.localize("ui.panel.profile.long_lived_access_tokens.create_failed"),text:t.message})}}},{kind:"method",key:"_deleteToken",value:async function(e){const t=e.currentTarget.token;if(await(0,d.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.profile.long_lived_access_tokens.confirm_delete_title"),text:this.hass.localize("ui.panel.profile.long_lived_access_tokens.confirm_delete_text",{name:t.client_name}),confirmText:this.hass.localize("ui.common.delete"),destructive:!0}))try{await this.hass.callWS({type:"auth/delete_refresh_token",refresh_token_id:t.id}),(0,l.B)(this,"hass-refresh-tokens")}catch(i){await(0,d.showAlertDialog)(this,{title:this.hass.localize("ui.panel.profile.long_lived_access_tokens.delete_failed"),text:i.message})}}},{kind:"get",static:!0,key:"styles",value:function(){return[c.Qx,(0,n.iv)(v||(v=k`ha-settings-row{padding:0}a{color:var(--primary-color)}mwc-button{--mdc-theme-primary:var(--primary-color)}ha-icon-button{color:var(--primary-text-color)}`))]}}]}}),n.oi);t()}catch(p){t(p)}}))},67389:function(e,t,i){var a=i(61701),n=(i(71695),i(9359),i(70104),i(40251),i(47021),i(31622),i(57243)),s=i(50778),r=i(36522),o=(i(54977),i(76131));const l=()=>Promise.all([i.e("97983"),i.e("2142"),i.e("52430"),i.e("92290"),i.e("63055"),i.e("24531")]).then(i.bind(i,33518));let d,c,h,u,p,f=e=>e;(0,a.Z)([(0,s.Mo)("ha-mfa-modules-card")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"mfaModules",value:void 0},{kind:"method",key:"render",value:function(){return(0,n.dy)(d||(d=f` <ha-card .header="${0}"> ${0} </ha-card> `),this.hass.localize("ui.panel.profile.mfa.header"),this.mfaModules.map((e=>(0,n.dy)(c||(c=f`<ha-settings-row two-line> <span slot="heading">${0}</span> <span slot="description">${0}</span> ${0} </ha-settings-row>`),e.name,e.id,e.enabled?(0,n.dy)(h||(h=f`<mwc-button .module="${0}" @click="${0}">${0}</mwc-button>`),e,this._disable,this.hass.localize("ui.panel.profile.mfa.disable")):(0,n.dy)(u||(u=f`<mwc-button .module="${0}" @click="${0}">${0}</mwc-button>`),e,this._enable,this.hass.localize("ui.panel.profile.mfa.enable"))))))}},{kind:"field",static:!0,key:"styles",value(){return(0,n.iv)(p||(p=f`mwc-button{margin-right:-.57em;margin-inline-end:-.57em;margin-inline-start:initial}ha-list-item{--mdc-list-item-meta-size:auto}`))}},{kind:"method",key:"_enable",value:function(e){var t,i;t=this,i={mfaModuleId:e.currentTarget.module.id,dialogClosedCallback:()=>this._refreshCurrentUser()},(0,r.B)(t,"show-dialog",{dialogTag:"ha-mfa-module-setup-flow",dialogImport:l,dialogParams:i})}},{kind:"method",key:"_disable",value:async function(e){const t=e.currentTarget.module;if(!(await(0,o.showConfirmationDialog)(this,{text:this.hass.localize("ui.panel.profile.mfa.confirm_disable",{name:t.name})})))return;const i=t.id;this.hass.callWS({type:"auth/depose_mfa",mfa_module_id:i}).then((()=>{this._refreshCurrentUser()}))}},{kind:"method",key:"_refreshCurrentUser",value:function(){(0,r.B)(this,"hass-refresh-current-user")}}]}}),n.oi)},6393:function(e,t,i){i.a(e,(async function(e,a){try{i.r(t);var n=i(61701),s=i(72621),r=(i(71695),i(9359),i(52924),i(40251),i(47021),i(57243)),o=i(50778),l=(i(97546),i(52230)),d=i(28008),c=i(23651),h=i(88502),u=(i(67389),i(45587)),p=e([c,h,u]);[c,h,u]=p.then?(await p)():p;let f,m,v,k=e=>e;(0,n.Z)([(0,o.Mo)("ha-profile-section-security")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"narrow",value(){return!1}},{kind:"field",decorators:[(0,o.SB)()],key:"_refreshTokens",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"route",value:void 0},{kind:"method",key:"connectedCallback",value:function(){(0,s.Z)(i,"connectedCallback",this,3)([]),this._refreshRefreshTokens()}},{kind:"method",key:"firstUpdated",value:function(){this._refreshTokens||this._refreshRefreshTokens()}},{kind:"method",key:"render",value:function(){return(0,r.dy)(f||(f=k` <hass-tabs-subpage main-page .hass="${0}" .narrow="${0}" .tabs="${0}" .route="${0}"> <div slot="title">${0}</div> <div class="content"> ${0} <ha-mfa-modules-card .hass="${0}" .mfaModules="${0}"></ha-mfa-modules-card> <ha-refresh-tokens-card .hass="${0}" .refreshTokens="${0}" @hass-refresh-tokens="${0}"></ha-refresh-tokens-card> <ha-long-lived-access-tokens-card .hass="${0}" .refreshTokens="${0}" @hass-refresh-tokens="${0}"></ha-long-lived-access-tokens-card> </div> </hass-tabs-subpage> `),this.hass,this.narrow,l.profileSections,this.route,this.hass.localize("panel.profile"),this.hass.user.credentials.some((e=>"homeassistant"===e.auth_provider_type))?(0,r.dy)(m||(m=k` <ha-change-password-card .refreshTokens="${0}" @hass-refresh-tokens="${0}" .hass="${0}"></ha-change-password-card> `),this._refreshTokens,this._refreshRefreshTokens,this.hass):"",this.hass,this.hass.user.mfa_modules,this.hass,this._refreshTokens,this._refreshRefreshTokens,this.hass,this._refreshTokens,this._refreshRefreshTokens)}},{kind:"method",key:"_refreshRefreshTokens",value:async function(){this.hass&&(this._refreshTokens=await this.hass.callWS({type:"auth/refresh_tokens"}))}},{kind:"get",static:!0,key:"styles",value:function(){return[d.Qx,(0,r.iv)(v||(v=k`:host{-ms-user-select:initial;-webkit-user-select:initial;-moz-user-select:initial}.content{display:block;max-width:600px;margin:0 auto;padding-bottom:env(safe-area-inset-bottom)}.content>*{display:block;margin:24px 0}.promo-advanced{text-align:center;color:var(--secondary-text-color)}`))]}}]}}),r.oi);a()}catch(f){a(f)}}))},45587:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(61701),n=(i(71695),i(61893),i(9359),i(56475),i(70104),i(40251),i(47021),i(57243)),s=i(50778),r=i(27486),o=i(94947),l=i(36522),d=(i(34273),i(54977),i(23334),i(2914),i(30509),i(7285),i(43546)),c=i(76131),h=i(28008),u=e([o]);o=(u.then?(await u)():u)[0];let p,f,m,v,k=e=>e;const g="M16.61 15.15C16.15 15.15 15.77 14.78 15.77 14.32S16.15 13.5 16.61 13.5H16.61C17.07 13.5 17.45 13.86 17.45 14.32C17.45 14.78 17.07 15.15 16.61 15.15M7.41 15.15C6.95 15.15 6.57 14.78 6.57 14.32C6.57 13.86 6.95 13.5 7.41 13.5H7.41C7.87 13.5 8.24 13.86 8.24 14.32C8.24 14.78 7.87 15.15 7.41 15.15M16.91 10.14L18.58 7.26C18.67 7.09 18.61 6.88 18.45 6.79C18.28 6.69 18.07 6.75 18 6.92L16.29 9.83C14.95 9.22 13.5 8.9 12 8.91C10.47 8.91 9 9.24 7.73 9.82L6.04 6.91C5.95 6.74 5.74 6.68 5.57 6.78C5.4 6.87 5.35 7.08 5.44 7.25L7.1 10.13C4.25 11.69 2.29 14.58 2 18H22C21.72 14.59 19.77 11.7 16.91 10.14H16.91Z",y="M18.71,19.5C17.88,20.74 17,21.95 15.66,21.97C14.32,22 13.89,21.18 12.37,21.18C10.84,21.18 10.37,21.95 9.1,22C7.79,22.05 6.8,20.68 5.96,19.47C4.25,17 2.94,12.45 4.7,9.39C5.57,7.87 7.13,6.91 8.82,6.88C10.1,6.86 11.32,7.75 12.11,7.75C12.89,7.75 14.37,6.68 15.92,6.84C16.57,6.87 18.39,7.1 19.56,8.82C19.47,8.88 17.39,10.1 17.41,12.63C17.44,15.65 20.06,16.66 20.09,16.67C20.06,16.74 19.67,18.11 18.71,19.5M13,3.5C13.73,2.67 14.94,2.04 15.94,2C16.07,3.17 15.6,4.35 14.9,5.19C14.21,6.04 13.07,6.7 11.95,6.61C11.8,5.46 12.36,4.26 13,3.5Z",_="M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13.1 19.9C12.7 20 12.4 20 12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12C20 12.4 20 12.7 19.9 13.1C20.6 13.2 21.2 13.4 21.8 13.7C21.9 13.1 22 12.6 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.5 22 12 22C12.6 22 13.2 21.9 13.7 21.8C13.4 21.3 13.2 20.6 13.1 19.9M15.6 14.1L12.5 12.3V7H11V13L14.5 15.1C14.8 14.7 15.2 14.4 15.6 14.1Z",x="M14.47 15.08L11 13V7H12.5V12.25L15.58 14.08C15.17 14.36 14.79 14.7 14.47 15.08M13.08 19.92C12.72 19.97 12.37 20 12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12C20 12.37 19.97 12.72 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.47 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.4 21.25 13.18 20.61 13.08 19.92M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z",b="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",w="M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z",C="M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",$="https://home-assistant.io/iOS",M="https://home-assistant.io/android",z=(e,t)=>{const i=e.last_used_at?new Date(e.last_used_at):0,a=t.last_used_at?new Date(t.last_used_at):0;return i<a?1:i>a?-1:0};(0,a.Z)([(0,s.Mo)("ha-refresh-tokens-card")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"refreshTokens",value:void 0},{kind:"field",key:"_refreshTokens",value(){return(0,r.Z)((e=>e.filter((e=>"normal"===e.type)).sort(z)))}},{kind:"field",key:"_formatTokenName",value(){return e=>e.client_id===$?this.hass.localize("ui.panel.profile.refresh_tokens.ios_app"):e.client_id===M?this.hass.localize("ui.panel.profile.refresh_tokens.android_app"):e.client_name||e.client_id}},{kind:"method",key:"render",value:function(){const e=this.refreshTokens?this._refreshTokens(this.refreshTokens):[];return(0,n.dy)(p||(p=k` <ha-card .header="${0}"> <div class="card-content"> ${0} ${0} </div> <div class="card-actions"> <mwc-button class="warning" @click="${0}"> ${0} </mwc-button> </div> </ha-card> `),this.hass.localize("ui