UNPKG

iobroker.lovelace

Version:

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

16 lines 59.8 kB
export const __rspack_esm_id=39352;export const __rspack_esm_ids=[39352];export const __webpack_modules__={63708(t,e,s){s.d(e,{fW:()=>o});s(18111),s(13579);var a=s(44537),i=s(36312);const o=(t,e)=>(l(e)||r(t,e))&&n(t,e),r=(t,e)=>!e.component||(0,a.e)(e.component).some(e=>(0,i.x)(t.config,e)),n=(t,e)=>!e.not_component||!(0,a.e)(e.not_component).some(e=>(0,i.x)(t.config,e)),l=t=>t.core},98975(t,e,s){s.a(t,async function(t,a){try{s.d(e,{K:()=>h});var i=s(74487),o=s(22786),r=s(63927),n=t([i,r]);[i,r]=n.then?(await n)():n;const l=(0,o.A)(t=>new Intl.RelativeTimeFormat(t.language,{numeric:"auto"})),h=(t,e,s,a=!0)=>{const i=(0,r.x)(t,s,e);return a?l(e).format(i.value,i.unit):Intl.NumberFormat(e.language,{style:"unit",unit:i.unit,unitDisplay:"long"}).format(Math.abs(i.value))};a()}catch(t){a(t)}})},93421(t,e,s){s.d(e,{IW:()=>c,dH:()=>h,fI:()=>l});s(44114);var a=s(35211),i=s(22792),o=s(32172);const r=(t,e)=>{let s=t;for(const t of e){if(null==s)return;s=s[t]}return s},n=(t,e,s)=>{const i=(0,o.p)({transformer:function(t){return s.call(this,t)},watch:e?[e]:[]}),r=(0,a.Fg)({context:t,subscribe:!0});return(t,e)=>{i(t,e),r(t,e)}},l=t=>n(i.iN,t.entityIdPath[0],function(e){const s=r(this,t.entityIdPath);return"string"==typeof s?e?.[s]:void 0}),h=t=>n(i.X1,t.entityIdPath[0],function(e){const s=r(this,t.entityIdPath);return"string"==typeof s?e?.[s]:void 0}),c=()=>n(i.D5,void 0,({localize:t})=>t)},26218(t,e,s){s.d(e,{a:()=>i});const a=(0,s(77796).n)(t=>{history.replaceState({scrollPosition:t},"")},300);function i(t){return(e,s)=>{if("object"==typeof s)throw new Error("This decorator does not support this compilation type.");const i=e.connectedCallback;e.connectedCallback=function(){i.call(this);const e=this[s];e&&this.updateComplete.then(()=>{const s=this.renderRoot.querySelector(t);s&&setTimeout(()=>{s.scrollTop=e},0)})};const o=Object.getOwnPropertyDescriptor(e,s);let r;if(void 0===o)r={get(){return this[`__${String(s)}`]||history.state?.scrollPosition},set(t){a(t),this[`__${String(s)}`]=t},configurable:!0,enumerable:!0};else{const t=o.set;r={...o,set(e){a(e),this[`__${String(s)}`]=e,t?.call(this,e)}}}Object.defineProperty(e,s,r)}}},32172(t,e,s){s.d(e,{p:()=>a});s(18111),s(7588),s(45367),s(92731),s(17642),s(58004),s(33853),s(45876),s(32475),s(15024),s(31698);function a(t){return(e,s)=>{if("object"==typeof s)throw new Error("This decorator does not support this compilation type.");const a=String(s),i=e;if(i._transformers){if(!i.hasOwnProperty("_transformers")){const t=i._transformers;i._transformers=new Map,t.forEach((t,e)=>i._transformers.set(e,t))}}else{i._transformers=new Map,i._watching=new Map;const t=i.willUpdate;i.willUpdate=function(e){t.call(this,e);const s=new Set;e.forEach((t,e)=>{const a=this._watching.get(e);void 0!==a&&a.forEach(t=>s.add(t))}),s.forEach(t=>{this[t]=this[`__original_${String(t)}`]})}}i._transformers.set(s,t.transformer),t.watch&&t.watch.forEach(t=>{let e=i._watching.get(t);e||(e=new Set,i._watching.set(t,e)),e.add(s)});const o=Object.getOwnPropertyDescriptor(e,s);let r;if(void 0===o)r={get(){return this[`__transform_${a}`]},set(t){const e=this[`__transform_${a}`],s=this._transformers.get(a);this[`__transform_${a}`]=s?s.call(this,t):t,this[`__original_${a}`]=t,this.requestUpdate(a,e)},configurable:!0,enumerable:!0};else{const t=o.set;r={...o,set(e){const s=this[`__transform_${a}`],i=this._transformers.get(a);this[`__transform_${a}`]=i?i.call(this,e):e,this[`__original_${a}`]=e,this.requestUpdate(a,s),t?.call(this,e)}}}Object.defineProperty(e,s,r)}}},63927(t,e,s){s.a(t,async function(t,a){try{s.d(e,{x:()=>d});var i=s(6946),o=s(52640),r=s(38684),n=s(380);const l=1e3,h=60,c=60*h;function d(t,e=Date.now(),s,a={}){const d={...p,...a||{}},u=(+t-+e)/l;if(Math.abs(u)<d.second)return{value:Math.round(u),unit:"second"};const f=u/h;if(Math.abs(f)<d.minute)return{value:Math.round(f),unit:"minute"};const g=u/c;if(Math.abs(g)<d.hour)return{value:Math.round(g),unit:"hour"};const v=new Date(t),m=new Date(e);v.setHours(0,0,0,0),m.setHours(0,0,0,0);const b=(0,i.c)(v,m);if(0===b)return{value:Math.round(g),unit:"hour"};if(Math.abs(b)<d.day)return{value:b,unit:"day"};const _=(0,n.P)(s),y=(0,o.k)(v,{weekStartsOn:_}),w=(0,o.k)(m,{weekStartsOn:_}),x=(0,r.I)(y,w);if(0===x)return{value:b,unit:"day"};if(Math.abs(x)<d.week)return{value:x,unit:"week"};const k=v.getFullYear()-m.getFullYear(),C=12*k+v.getMonth()-m.getMonth();return 0===C?{value:x,unit:"week"}:Math.abs(C)<d.month||0===k?{value:C,unit:"month"}:{value:Math.round(k),unit:"year"}}const p={second:59,minute:59,hour:22,day:5,week:4,month:11};a()}catch(u){a(u)}})},77796(t,e,s){s.d(e,{n:()=>a});const a=(t,e,s=!0,a=!0)=>{let i,o=0;const r=(...r)=>{const n=()=>{o=!1===s?0:Date.now(),i=void 0,t(...r)},l=Date.now();o||!1!==s||(o=l);const h=e-(l-o);h<=0||h>e?(i&&(clearTimeout(i),i=void 0),o=l,t(...r)):i||!1===a||(i=window.setTimeout(n,h))};return r.cancel=()=>{clearTimeout(i),i=void 0,o=0},r}},38962(t,e,s){s.a(t,async function(t,a){try{s.r(e);var i=s(62826),o=s(5124),r=s(22441),n=s(6412),l=s(93421),h=s(1087),c=s(26300),d=(s(67094),t([c]));c=(d.then?(await d)():d)[0];const p="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",u={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"};class f extends o.WF{render(){return o.qy` <div class="issue-type ${(0,n.H)({[this.alertType]:!0})}" role="alert"> <div class="icon ${this.title?"":"no-title"}"> <slot name="icon"> <ha-svg-icon .path="${u[this.alertType]}"></ha-svg-icon> </slot> </div> <div class="${(0,n.H)({content:!0,narrow:this.narrow})}"> <div class="main-content"> ${this.title?o.qy`<div class="title">${this.title}</div>`:o.s6} <slot></slot> </div> <div class="action"> <slot name="action"> ${this.dismissable?o.qy`<ha-icon-button @click="${this._dismissClicked}" .label="${this._localize?.("ui.common.dismiss_alert")}" .path="${p}"></ha-icon-button>`:o.s6} </slot> </div> </div> </div> `}_dismissClicked(){(0,h.r)(this,"alert-dismissed-clicked")}constructor(...t){super(...t),this.title="",this.alertType="info",this.dismissable=!1,this.narrow=!1}}f.styles=o.AH`.issue-type{position:relative;padding:8px;display:flex}.icon{height:var(--ha-alert-icon-size,24px);width:var(--ha-alert-icon-size,24px)}.issue-type::after{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;content:"";border-radius:var(--ha-border-radius-sm)}.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;line-height:normal;margin-left:8px;margin-right:0;margin-inline-start:8px;margin-inline-end:8px}.title{margin-top:2px;font-weight:var(--ha-font-weight-bold)}.action ha-icon-button{--mdc-theme-primary:var(--primary-text-color);--ha-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}`,(0,i.Cg)([(0,r.MZ)()],f.prototype,"title",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"alert-type"})],f.prototype,"alertType",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean})],f.prototype,"dismissable",void 0),(0,i.Cg)([(0,r.wk)(),(0,l.IW)()],f.prototype,"_localize",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean})],f.prototype,"narrow",void 0),f=(0,i.Cg)([(0,r.EM)("ha-alert")],f),a()}catch(t){a(t)}})},76776(t,e,s){var a=s(62826),i=s(5124),o=s(22441);class r extends i.WF{render(){return i.qy` ${this.header?i.qy`<h1 class="card-header">${this.header}</h1>`:i.s6} <slot></slot> `}constructor(...t){super(...t),this.raised=!1}}r.styles=i.AH`: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,var(--ha-border-radius-lg));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, var(--ha-font-size-2xl));letter-spacing:-.012em;line-height:var(--ha-line-height-expanded);padding:var(--ha-space-3) var(--ha-space-4) var(--ha-space-4);display:block;margin-block-start:0;margin-block-end:0;font-weight:var(--ha-font-weight-normal)}
    :host
      ::slotted(
        .card-content:not(:nth-child(1 of .card-content, .card-header))
      ),
    slot:not(:first-child)::slotted(.card-content) {
      padding-top: 0;
      margin-top: calc(var(--ha-space-2) * -1);
    }
    :host ::slotted(.card-content){padding:var(--ha-space-4)}:host ::slotted(.card-actions){border-top:1px solid var(--divider-color,#e8e8e8);padding:var(--ha-space-2)}`,(0,a.Cg)([(0,o.MZ)()],r.prototype,"header",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],r.prototype,"raised",void 0),r=(0,a.Cg)([(0,o.EM)("ha-card")],r)},90248(t,e,s){s.a(t,async function(t,a){try{s.r(e),s.d(e,{HaIconButtonArrowPrev:()=>p});var i=s(62826),o=s(5124),r=s(22441),n=s(63091),l=s(26300),h=t([l]);l=(h.then?(await h)():h)[0];const c="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z";class p extends o.WF{render(){return o.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(...t){super(...t),this.disabled=!1,this._icon="rtl"===n.G.document.dir?d:c}}(0,i.Cg)([(0,r.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean})],p.prototype,"disabled",void 0),(0,i.Cg)([(0,r.MZ)()],p.prototype,"label",void 0),(0,i.Cg)([(0,r.MZ)()],p.prototype,"href",void 0),(0,i.Cg)([(0,r.MZ)()],p.prototype,"target",void 0),(0,i.Cg)([(0,r.MZ)()],p.prototype,"rel",void 0),(0,i.Cg)([(0,r.MZ)()],p.prototype,"download",void 0),(0,i.Cg)([(0,r.wk)()],p.prototype,"_icon",void 0),p=(0,i.Cg)([(0,r.EM)("ha-icon-button-arrow-prev")],p),a()}catch(t){a(t)}})},26300(t,e,s){s.a(t,async function(t,a){try{s.r(e),s.d(e,{HaIconButton:()=>c});var i=s(62826),o=s(5124),r=s(22441),n=s(63672),l=s(18350),h=(s(67094),t([l]));l=(h.then?(await h)():h)[0];class c extends o.WF{render(){return o.qy` <ha-button appearance="plain" variant="neutral" aria-label="${(0,n.J)(this.label)}" title="${(0,n.J)(this.hideTitle?void 0:this.label)}" aria-haspopup="${(0,n.J)(this.ariaHasPopup)}" .disabled="${this.disabled}" .iconTag="${this.path?"ha-svg-icon":"span"}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"> ${this.path?o.qy`<ha-svg-icon aria-hidden="true" .path="${this.path}"></ha-svg-icon>`:o.qy`<span><slot></slot></span>`} </ha-button> `}constructor(...t){super(...t),this.disabled=!1,this.hideTitle=!1,this.selected=!1}}c.shadowRootOptions={mode:"open",delegatesFocus:!0},c.styles=o.AH`:host{display:inline-block;outline:0;--ha-button-height:var(--ha-icon-button-size, 48px)}ha-button{position:relative;isolation:isolate;--wa-form-control-padding-inline:var(
        --ha-icon-button-padding-inline,
        --ha-space-2
      );--wa-color-on-normal:currentColor;--wa-color-fill-quiet:transparent;--ha-button-label-overflow:visible}ha-button::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background-color:currentColor;opacity:0;pointer-events:none}ha-button::part(base){width:var(--wa-form-control-height);aspect-ratio:1;outline-offset:-4px}ha-button::part(label){display:flex}:host([selected]) ha-button::after{opacity:.1}@media (hover:hover){:host(:hover:not([disabled])) ha-button::after{opacity:.1}}`,(0,i.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],c.prototype,"disabled",void 0),(0,i.Cg)([(0,r.MZ)({type:String})],c.prototype,"path",void 0),(0,i.Cg)([(0,r.MZ)({type:String})],c.prototype,"label",void 0),(0,i.Cg)([(0,r.MZ)({type:String,attribute:"aria-haspopup"})],c.prototype,"ariaHasPopup",void 0),(0,i.Cg)([(0,r.MZ)({attribute:"hide-title",type:Boolean})],c.prototype,"hideTitle",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],c.prototype,"selected",void 0),(0,i.Cg)([(0,r.MZ)()],c.prototype,"href",void 0),(0,i.Cg)([(0,r.MZ)()],c.prototype,"target",void 0),(0,i.Cg)([(0,r.MZ)()],c.prototype,"rel",void 0),(0,i.Cg)([(0,r.MZ)()],c.prototype,"download",void 0),c=(0,i.Cg)([(0,r.EM)("ha-icon-button")],c),a()}catch(t){a(t)}})},2054(t,e,s){s.a(t,async function(t,e){try{var a=s(62826),i=s(5124),o=s(22441),r=s(1087),n=s(44249),l=s(26300),h=t([l]);l=(h.then?(await h)():h)[0];const c="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z";class d extends i.WF{connectedCallback(){super.connectedCallback(),this._attachNotifOnConnect&&(this._attachNotifOnConnect=!1,this._subscribeNotifications())}disconnectedCallback(){super.disconnectedCallback(),this._unsubNotifications&&(this._attachNotifOnConnect=!0,this._unsubNotifications(),this._unsubNotifications=void 0)}render(){if(!this._show)return i.s6;const t=this._hasNotifications&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);return i.qy` <ha-icon-button .label="${this.hass.localize("ui.sidebar.sidebar_toggle")}" .path="${c}" @click="${this._toggleMenu}"></ha-icon-button> ${t?i.qy`<div class="dot"></div>`:""} `}willUpdate(t){if(super.willUpdate(t),!t.has("narrow")&&!t.has("hass"))return;const e=t.has("hass")?t.get("hass"):this.hass,s=t.has("narrow")?t.get("narrow"):this.narrow,a=!1===e?.kioskMode&&(s||"always_hidden"===e?.dockedSidebar),i=!1===this.hass.kioskMode&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);this.hasUpdated&&a===i||(this._show=i||this._alwaysVisible,i?this._subscribeNotifications():this._unsubNotifications&&(this._unsubNotifications(),this._unsubNotifications=void 0))}_subscribeNotifications(){if(this._unsubNotifications)throw new Error("Already subscribed");this._unsubNotifications=(0,n.V)(this.hass.connection,t=>{this._hasNotifications=t.length>0})}_toggleMenu(){(0,r.r)(this,"hass-toggle-menu")}constructor(...t){super(...t),this.narrow=!1,this._hasNotifications=!1,this._show=!1,this._alwaysVisible=!1,this._attachNotifOnConnect=!1}}d.styles=i.AH`:host{position:relative}.dot{pointer-events:none;position:absolute;background-color:var(--accent-color);width:12px;height:12px;top:9px;right:7px;inset-inline-end:7px;inset-inline-start:initial;border-radius:var(--ha-border-radius-circle);border:2px solid var(--app-header-background-color)}`,(0,a.Cg)([(0,o.MZ)({type:Boolean})],d.prototype,"narrow",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],d.prototype,"hass",void 0),(0,a.Cg)([(0,o.wk)()],d.prototype,"_hasNotifications",void 0),(0,a.Cg)([(0,o.wk)()],d.prototype,"_show",void 0),d=(0,a.Cg)([(0,o.EM)("ha-menu-button")],d),e()}catch(t){e(t)}})},8034(t,e,s){var a=s(62826),i=s(92070),o=s(5124),r=s(22441);class n extends o.WF{render(){const t=this._hasSlotController.test("description");return o.qy` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" part="heading" ?two-line="${!this.threeLine&&t}" ?three-line="${this.threeLine}"> <slot name="heading"></slot> ${t?o.qy`<span class="secondary"><slot name="description"></slot></span>`:o.s6} </div> </div> <div class="content"> <slot></slot> </div> `}constructor(...t){super(...t),this.narrow=!1,this.slim=!1,this.threeLine=!1,this.wrapHeading=!1,this.empty=!1,this._hasSlotController=new i.X(this,"description")}}n.styles=o.AH`:host{display:flex;padding:0 var(--ha-space-4);align-content:normal;align-self:auto;align-items:center}.body{padding-top:var(--settings-row-body-padding-top,var(--ha-space-2));padding-bottom:var(--settings-row-body-padding-bottom,var(--ha-space-2));padding-left:0;padding-inline-start:0;padding-right:var(--ha-space-4);padding-inline-end:var(--ha-space-4);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:88px}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:var(--ha-space-1);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));-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-weight:var(--mdc-typography-body2-font-weight,var(--ha-font-weight-normal));line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(72px - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;min-width:0;padding:var(--settings-row-content-padding-block,var(--ha-space-4)) 0}:host([empty]) .content{display:none}.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:var(--ha-space-2)}::slotted(ha-switch){padding:var(--settings-row-switch-padding-block,var(--ha-space-4)) 0}.secondary{white-space:normal}.prefix-wrap{flex:var(--settings-row-prefix-flex,1);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}`,(0,a.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],n.prototype,"narrow",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],n.prototype,"slim",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,attribute:"three-line"})],n.prototype,"threeLine",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,attribute:"wrap-heading",reflect:!0})],n.prototype,"wrapHeading",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],n.prototype,"empty",void 0),n=(0,a.Cg)([(0,r.EM)("ha-settings-row")],n)},67094(t,e,s){s.r(e),s.d(e,{HaSvgIcon:()=>r});var a=s(62826),i=s(5124),o=s(22441);class r extends i.WF{render(){return i.JW` <svg viewBox="${this.viewBox||"0 0 24 24"}" preserveAspectRatio="xMidYMid meet" focusable="false" role="img" aria-hidden="true"> <g> ${this.path?i.JW`<path class="primary-path" d="${this.path}"></path>`:i.s6} ${this.secondaryPath?i.JW`<path class="secondary-path" d="${this.secondaryPath}"></path>`:i.s6} </g> </svg>`}}r.styles=i.AH`:host{display:var(--ha-icon-display,inline-flex);align-items:center;justify-content:center;position:relative;vertical-align:middle;fill:var(--icon-primary-color,currentcolor);width:var(--mdc-icon-size,24px);height:var(--mdc-icon-size,24px)}svg{width:100%;height:100%;pointer-events:none;display:block}path.primary-path{opacity:var(--icon-primary-opactity, 1)}path.secondary-path{fill:var(--icon-secondary-color,currentcolor);opacity:var(--icon-secondary-opactity, .5)}`,(0,a.Cg)([(0,o.MZ)()],r.prototype,"path",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],r.prototype,"secondaryPath",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],r.prototype,"viewBox",void 0),r=(0,a.Cg)([(0,o.EM)("ha-svg-icon")],r)},43831(t,e,s){var a=s(62826),i=s(5124),o=s(22441),r=s(63672);s(54276);class n extends i.WF{render(){return i.qy` <div tabindex="0" role="tab" aria-selected="${this.active}" aria-label="${(0,r.J)(this.name)}" @keydown="${this._handleKeyDown}"> <slot name="icon"></slot> <span class="name">${this.name}</span> <ha-ripple></ha-ripple> </div> `}_handleKeyDown(t){"Enter"===t.key&&t.target.click()}constructor(...t){super(...t),this.active=!1,this.narrow=!1}}n.styles=i.AH`div{padding:0 32px;display:flex;flex-direction:column;text-align:center;box-sizing:border-box;align-items:center;justify-content:center;width:100%;height:var(--header-height);cursor:pointer;position:relative;outline:0}:host(:not([narrow])) div{flex-direction:row;gap:var(--ha-space-2)}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}:host([active]){color:var(--primary-color)}:host(:not([narrow])[active]) div{border-bottom:2px solid var(--primary-color)}:host([narrow]){min-width:0;display:flex;justify-content:center;overflow:hidden}:host([narrow]) div{padding:0 4px}::slotted([slot=icon]){margin-bottom:var(--ha-space-1)}:host(:not([narrow])) ::slotted([slot=icon]){margin-bottom:0}div:focus-visible:before{position:absolute;display:block;content:"";inset:0;background-color:var(--secondary-text-color);opacity:.08}`,(0,a.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],n.prototype,"active",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],n.prototype,"narrow",void 0),(0,a.Cg)([(0,o.MZ)()],n.prototype,"name",void 0),n=(0,a.Cg)([(0,o.EM)("ha-tab")],n)},28170(t,e,s){s.d(e,{o:()=>l});var a=s(62826),i=s(5124),o=s(22441),r=s(1087),n=s(83892);class l extends n.x{connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role",this.defaultRole),(0,r.r)(this,"ha-list-item-register",{item:this})}disconnectedCallback(){super.disconnectedCallback(),(0,r.r)(this,"ha-list-item-unregister",{item:this})}activate(){this.click()}constructor(...t){super(...t),this.interactive=!1,this.defaultRole="listitem"}}l.styles=[n.x.styles,i.AH`:host{--ha-list-item-focus-radius:var(--ha-border-radius-sm);--ha-list-item-focus-width:2px;--ha-list-item-focus-width-start:var(--ha-space-2);--ha-list-item-focus-offset:-2px;--ha-list-item-focus-background:var(--ha-color-fill-neutral-quiet-hover)}:host(:focus){outline:0}.base{border-radius:var(--ha-list-item-focus-radius);outline:var(--ha-list-item-focus-width) solid transparent;outline-offset:var(--ha-list-item-focus-offset);transition:outline-color var(--ha-animation-duration-fast) ease-out,background-color var(--ha-animation-duration-fast) ease-out}@keyframes ha-list-item-focus-in{from{outline-width:var(--ha-list-item-focus-width-start);outline-offset:calc(-1 * var(--ha-list-item-focus-width-start))}to{outline-width:var(--ha-list-item-focus-width);outline-offset:var(--ha-list-item-focus-offset)}}:host(:focus-visible) .base{outline-color:var(--ha-color-focus);background-color:var(--ha-list-item-focus-background);animation:ha-list-item-focus-in var(--ha-animation-duration-normal) ease-in}`],(0,a.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],l.prototype,"interactive",void 0),l=(0,a.Cg)([(0,o.EM)("ha-list-item-base")],l)},83892(t,e,s){s.d(e,{x:()=>n});s(18111),s(13579);var a=s(62826),i=s(92070),o=s(5124),r=s(22441);class n extends o.WF{_onSlotChange(t){return e=>{const s=e.target.assignedNodes({flatten:!0}).some(t=>t.nodeType===Node.ELEMENT_NODE||t.nodeType===Node.TEXT_NODE&&""!==t.textContent?.trim());"start"===t?this._hasStart=s:this._hasEnd=s}}render(){return this._renderBase(this._renderInner())}_renderBase(t){return o.qy`<div part="base" class="base" id="item">${t}</div>`}_renderInner(){const t=this._slotController.test("content");return o.qy` <div part="start" class="start" ?hidden="${!this._hasStart}"> <slot name="start" @slotchange="${this._onSlotChange("start")}"></slot> </div> <div part="content" class="content"> ${t?o.qy`<slot name="content"></slot>`:this._renderDefaultContent()} </div> <div part="end" class="end" ?hidden="${!this._hasEnd}"> <slot name="end" @slotchange="${this._onSlotChange("end")}"></slot> </div> `}_renderDefaultContent(){const t=this._slotController.test("headline"),e=this._slotController.test("supporting-text"),s=t||void 0!==this.headline,a=e||void 0!==this.supportingText;return o.qy` ${s?o.qy`<div part="headline" class="headline"> <slot name="headline">${this.headline??o.s6}</slot> </div>`:o.s6} ${a?o.qy`<div part="supporting-text" class="supporting"> <slot name="supporting-text">${this.supportingText??o.s6}</slot> </div>`:o.s6} `}constructor(...t){super(...t),this.disabled=!1,this._slotController=new i.X(this,"headline","supporting-text","content"),this._hasStart=!1,this._hasEnd=!1}}n.styles=o.AH`:host{display:block;color:var(--primary-text-color);font-size:var(--ha-font-size-m);line-height:var(--ha-line-height-normal)}:host([disabled]){color:var(--disabled-text-color);pointer-events:none}.base{position:relative;display:flex;flex-direction:row;align-items:center;gap:var(--ha-row-item-gap,var(--ha-space-4));padding-block:var(--ha-row-item-padding-block,var(--ha-space-3));padding-inline:var(--ha-row-item-padding-inline,var(--ha-space-4));min-height:var(--ha-row-item-min-height,48px);box-sizing:border-box}.content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center}.end,.start{display:flex;align-items:center;flex:0 0 auto}.end[hidden],.start[hidden]{display:none}.headline{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supporting{color:var(--secondary-text-color);font-size:var(--ha-font-size-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`,(0,a.Cg)([(0,r.MZ)({type:String})],n.prototype,"headline",void 0),(0,a.Cg)([(0,r.MZ)({type:String,attribute:"supporting-text"})],n.prototype,"supportingText",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],n.prototype,"disabled",void 0),(0,a.Cg)([(0,r.wk)()],n.prototype,"_hasStart",void 0),(0,a.Cg)([(0,r.wk)()],n.prototype,"_hasEnd",void 0),n=(0,a.Cg)([(0,r.EM)("ha-row-item")],n)},50723(t,e,s){s.d(e,{N:()=>c});s(74423),s(18111),s(22489),s(7588);var a=s(62826),i=s(5124),o=s(22441),r=s(91335);s(44114);const n=t=>{const e=[];let s=t;for(;s;){e.push(s);const t=s.parentNode;if(t instanceof ShadowRoot)s=t.host;else if(t)s=t;else{const t=s.getRootNode();s=t instanceof ShadowRoot?t.host:null}}return e.reverse()},l=(t,e)=>{if(t===e)return 0;const s=n(t),a=n(e);let i=0;for(;i<s.length&&i<a.length&&s[i]===a[i];)i++;return 0===i?0:i===s.length?-1:i===a.length?1:s[i].compareDocumentPosition(a[i])&Node.DOCUMENT_POSITION_FOLLOWING?-1:1};var h=s(1087);class c extends i.WF{connectedCallback(){super.connectedCallback(),this.hasAttribute("ha-list")||this.setAttribute("ha-list",""),!this.hasAttribute("role")&&this.hostRole&&this.setAttribute("role",this.hostRole),this._unbindKeys=(0,r.Tc)(this,{ArrowDown:this._onForward,ArrowUp:this._onBack,Home:this._onHome,End:this._onEnd,Enter:this._onActivate,Space:this._onActivate}),this.addEventListener("focusin",this._onFocusIn),this.addEventListener("ha-list-item-register",this._onItemRegister),this.addEventListener("ha-list-item-unregister",this._onItemUnregister)}disconnectedCallback(){super.disconnectedCallback(),this._unbindKeys?.(),this._unbindKeys=void 0,this.removeEventListener("focusin",this._onFocusIn),this.removeEventListener("ha-list-item-register",this._onItemRegister),this.removeEventListener("ha-list-item-unregister",this._onItemUnregister)}focus(t){this.items.length?this.focusItemAtIndex(this._activeItemIndex>=0?this._activeItemIndex:0):super.focus(t)}focusItemAtIndex(t){t<0||this.setActiveItemIndex(t,!0)}getActiveItemIndex(){return this._activeItemIndex}setActiveItemIndex(t,e=!1){this._hasFocusableItem?(this._activeItemIndex=Math.max(0,Math.min(this.items.length-1,t)),this._isFocusable(this._activeItemIndex)||(this._activeItemIndex=this._firstFocusableIndex),this._applyActive(e)):this._activeItemIndex=-1}updateListItems(){this._recomputeFocusableIndexes(),(this._activeItemIndex>=this.items.length||!this._hasFocusableItem||this._activeItemIndex<0)&&(this._activeItemIndex=this._firstFocusableIndex),this._applyActive(!1)}_recomputeFocusableIndexes(){let t=-1,e=-1;for(let s=0;s<this.items.length;s++)this._isFocusable(s)&&(-1===t&&(t=s),e=s);this._firstFocusableIndex=t,this._lastFocusableIndex=e,this._hasFocusableItem=-1!==t}render(){return i.qy`<div part="base" class="base"> <slot></slot> </div>`}_isFocusable(t){const e=this.items[t];return!!e&&e.interactive&&!e.disabled}_applyActive(t){this.items.forEach((t,e)=>{t.interactive&&!t.disabled?t.tabIndex=e===this._activeItemIndex?0:-1:t.removeAttribute("tabindex")}),t&&this._activeItemIndex>=0&&this.items[this._activeItemIndex]?.focus()}_moveFocus(t,e){!this._hasFocusableItem||e<0||e===this._activeItemIndex||(t.preventDefault(),this._activeItemIndex=e,this._applyActive(!0))}_stepIndex(t,e){const s=this.items.length;if(!s||!this._hasFocusableItem)return t;let a=t;for(let i=0;i<s;i++){if(a+=e,a<0||a>=s){if(!this.wrapFocus)return t;a=(a+s)%s}if(this._isFocusable(a))return a}return t}constructor(...t){super(...t),this.wrapFocus=!1,this.ariaLabel=null,this.items=[],this.hostRole="list",this._activeItemIndex=-1,this._firstFocusableIndex=-1,this._lastFocusableIndex=-1,this._hasFocusableItem=!1,this._onItemRegister=t=>{t.stopPropagation();const e=t.detail.item;if(this.items.includes(e))return;const s=[...this.items,e];s.sort(l),this.items=s,this.updateListItems()},this._onItemUnregister=t=>{t.stopPropagation();const e=t.detail.item;this.items.includes(e)&&(this.items=this.items.filter(t=>t!==e),this.updateListItems())},this._onFocusIn=t=>{const e=t.composedPath();for(let t=0;t<this.items.length;t++)if(e.includes(this.items[t]))return void(t!==this._activeItemIndex&&(this._activeItemIndex=t,this._applyActive(!1)))},this._onForward=t=>{this._moveFocus(t,this._stepIndex(this._activeItemIndex,1))},this._onBack=t=>{this._moveFocus(t,this._stepIndex(this._activeItemIndex,-1))},this._onHome=t=>{this._moveFocus(t,this._firstFocusableIndex)},this._onEnd=t=>{this._moveFocus(t,this._lastFocusableIndex)},this._onActivate=t=>{if(!this._isFocusable(this._activeItemIndex))return;t.preventDefault();const e=this.items[this._activeItemIndex];e.activate(),(0,h.r)(this,"ha-list-activated",{index:this._activeItemIndex,item:e})}}}c.styles=i.AH`:host{display:block}.base{display:flex;flex-direction:column;gap:var(--ha-list-gap,0);padding:var(--ha-list-padding,0);margin:0;list-style:none}`,(0,a.Cg)([(0,o.MZ)({type:Boolean,attribute:"wrap-focus"})],c.prototype,"wrapFocus",void 0),(0,a.Cg)([(0,o.MZ)({type:String,attribute:"aria-label",reflect:!0})],c.prototype,"ariaLabel",void 0),c=(0,a.Cg)([(0,o.EM)("ha-list-base")],c)},44249(t,e,s){s.d(e,{V:()=>a});const a=(t,e)=>{const s=new i,a=t.subscribeMessage(t=>e(s.processMessage(t)),{type:"persistent_notification/subscribe"});return()=>{a.then(t=>t?.())}};class i{processMessage(t){if("removed"===t.type)for(const e of Object.keys(t.notifications))delete this.notifications[e];else this.notifications={...this.notifications,...t.notifications};return Object.values(this.notifications)}constructor(){this.notifications={}}}},40511(t,e,s){s.a(t,async function(t,e){try{s(18111),s(22489),s(20116),s(61701),s(14603),s(47566),s(98721);var a=s(62826),i=s(5124),o=s(22441),r=s(6412),n=s(22786),l=s(63708),h=s(26218),c=s(76830),d=s(91926),p=s(90248),u=s(2054),f=(s(67094),s(43831),s(14503)),g=t([p,u]);[p,u]=g.then?(await g)():g;const v=t=>t.endsWith("/")&&t.length>1?t.slice(0,-1):t;class m extends i.WF{willUpdate(t){if(t.has("route")){const t=`${this.route.prefix}${this.route.path}`;this._activeTab=this.tabs.find(e=>this._isActiveTabPath(e.path,t))}super.willUpdate(t)}render(){const t=this._getTabs(this.tabs,this._activeTab,this.hass.config.components,this.hass.language,this.hass.userData,this.narrow,this.localizeFunc||this.hass.localize);return i.qy` <div class="toolbar ${(0,r.H)({narrow:this.narrow})}"> <slot name="toolbar"> <div class="toolbar-content"> ${this.mainPage||!this.backPath&&history.state?.root?i.qy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:this.backPath?i.qy` <ha-icon-button-arrow-prev .href="${this.backPath}" .hass="${this.hass}"></ha-icon-button-arrow-prev> `:i.qy` <ha-icon-button-arrow-prev .hass="${this.hass}" @click="${this._backTapped}"></ha-icon-button-arrow-prev> `} ${this.narrow||!this.showTabs?i.qy`<div class="main-title"> <slot name="header">${this.showTabs?"":t[0]}</slot> </div>`:""} ${this.showTabs&&!this.narrow?i.qy`<div id="tabbar">${t}</div>`:""} <div id="toolbar-icon"> <slot name="toolbar-icon"></slot> </div> </div> </slot> ${this.showTabs&&this.narrow?i.qy`<div id="tabbar" class="bottom-bar">${t}</div>`:""} </div> <div class="container"> ${this.pane?i.qy`<div class="pane"> <div class="shadow-container"></div> <div class="ha-scrollbar"> <slot name="pane"></slot> </div> </div>`:i.s6} <div class="content ha-scrollbar" @scroll="${this._saveScrollPos}"> <slot></slot> ${this.hasFab?i.qy`<div class="fab-bottom-space"></div>`:i.s6} </div> </div> <div id="fab"> <slot name="fab"></slot> </div> `}_saveScrollPos(t){this._savedScrollPos=t.target.scrollTop}focusContentScroller(){this._content&&(this._content.style.outline="none",this._content.focus({preventScroll:!0}))}_backTapped(){this.backCallback?this.backCallback():(0,d.OE)()}_isActiveTabPath(t,e){try{const s=new URL(t,window.location.origin),a=new URL(e,window.location.origin),i=v(s.pathname),o=v(a.pathname);return!(o!==i&&!o.startsWith(`${i}/`))}catch(s){return e===t||e.startsWith(`${t}/`)}}async _tabClicked(t){const e=(0,c.d)(t);e&&await(0,d.oo)(e,{replace:!0})}static get styles(){return[f.dp,i.AH`:host{display:block;height:100%;background-color:var(--primary-background-color)}:host([narrow]){width:100%;position:fixed}.container{display:flex;height:calc(100% - var(--header-height,0px) - var(--safe-area-inset-top,0px))}ha-menu-button{margin-right:24px;margin-inline-end:24px;margin-inline-start:initial}.toolbar{font-size:var(--ha-font-size-xl);height:calc(var(--header-height,0px) + var(--safe-area-inset-top,0px));padding-top:var(--safe-area-inset-top);padding-right:var(--safe-area-inset-right);background-color:var(--sidebar-background-color);font-weight:var(--ha-font-weight-normal);border-bottom:1px solid var(--divider-color);box-sizing:border-box}:host([narrow]) .toolbar{padding-left:var(--safe-area-inset-left)}.toolbar-content{padding:8px 12px;display:flex;align-items:center;height:100%;box-sizing:border-box}:host([narrow]) .toolbar-content{padding:4px}.toolbar a{color:var(--sidebar-text-color);text-decoration:none}.bottom-bar a{width:25%}#tabbar{display:flex;font-size:var(--ha-font-size-m);overflow:hidden}#tabbar>a{overflow:hidden;max-width:45%}#tabbar.bottom-bar{position:absolute;bottom:0;left:0;padding:0 16px;box-sizing:border-box;background-color:var(--sidebar-background-color);border-top:1px solid var(--divider-color);justify-content:space-around;z-index:2;font-size:var(--ha-font-size-s);width:100%;padding-bottom:var(--safe-area-inset-bottom)}#tabbar:not(.bottom-bar){flex:1;justify-content:center}:host(:not([narrow])) #toolbar-icon{min-width:40px}::slotted([slot=toolbar-icon]),ha-icon-button-arrow-prev,ha-menu-button{display:flex;flex-shrink:0;pointer-events:auto;color:var(--sidebar-icon-color)}.main-title{min-width:0;flex:1;max-height:var(--header-height);line-height:var(--ha-line-height-normal);color:var(--sidebar-text-color);margin-inline-start:var(--main-title-margin,var(--ha-space-6))}.narrow .main-title{margin-inline-start:var(--main-title-margin,var(--ha-space-2))}.content{position:relative;width:100%;margin-right:var(--safe-area-inset-right);margin-inline-end:var(--safe-area-inset-right);overflow:auto;-webkit-overflow-scrolling:touch}:host([narrow]) .content{margin-left:var(--safe-area-inset-left);margin-inline-start:var(--safe-area-inset-left)}:host([narrow][show-tabs]) .content{margin-bottom:calc(var(--header-height,0px) + var(--safe-area-inset-bottom,0px))}.content .fab-bottom-space{height:calc(64px + var(--safe-area-inset-bottom,0px))}:host([narrow][show-tabs]) .content .fab-bottom-space{height:calc(80px + var(--safe-area-inset-bottom,0px))}#fab{position:fixed;right:calc(16px + var(--safe-area-inset-right,0px));inset-inline-end:calc(16px + var(--safe-area-inset-right));inset-inline-start:initial;bottom:calc(16px + var(--safe-area-inset-bottom,0px));z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ha-space-2);--ha-button-box-shadow:var(--ha-box-shadow-l)}:host([narrow][show-tabs]) #fab{bottom:calc(84px + var(--safe-area-inset-bottom,0px))}#fab[is-wide]{bottom:24px;right:24px;inset-inline-end:24px;inset-inline-start:initial}.pane{border-right:1px solid var(--divider-color);border-inline-end:1px solid var(--divider-color);border-inline-start:initial;box-sizing:border-box;display:flex;flex:0 0 var(--sidepane-width,250px);width:var(--sidepane-width,250px);flex-direction:column;position:relative}.pane .ha-scrollbar{flex:1}`]}constructor(...t){super(...t),this.mainPage=!1,this.narrow=!1,this.isWide=!1,this.pane=!1,this.hasFab=!1,this.showTabs=!1,this._getTabs=(0,n.A)((t,e,s,a,o,r,n)=>{const h=t.filter(t=>(0,l.fW)(this.hass,t));if(h.length<2){if(this.showTabs=!1,1===h.length){const t=h[0];return[t.translationKey?n(t.translationKey):t.name]}return[""]}return this.showTabs=!0,h.map(t=>i.qy` <a href="${t.path}" @click="${this._tabClicked}"> <ha-tab .active="${t.path===e?.path}" .narrow="${this.narrow}" .name="${t.translationKey?n(t.translationKey):t.name}"> ${t.iconPath?i.qy`<ha-svg-icon slot="icon" .path="${t.iconPath}"></ha-svg-icon>`:""} </ha-tab> </a> `)})}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],m.prototype,"localizeFunc",void 0),(0,a.Cg)([(0,o.MZ)({type:String,attribute:"back-path"})],m.prototype,"backPath",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],m.prototype,"backCallback",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,attribute:"main-page"})],m.prototype,"mainPage",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],m.prototype,"route",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],m.prototype,"tabs",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,reflect:!0})],m.prototype,"narrow",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,reflect:!0,attribute:"is-wide"})],m.prototype,"isWide",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean})],m.prototype,"pane",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,attribute:"has-fab"})],m.prototype,"hasFab",void 0),(0,a.Cg)([(0,o.MZ)({type:Boolean,attribute:"show-tabs",reflect:!0})],m.prototype,"showTabs",void 0),(0,a.Cg)([(0,o.wk)()],m.prototype,"_activeTab",void 0),(0,a.Cg)([(0,o.P)(".content")],m.prototype,"_content",void 0),(0,a.Cg)([(0,h.a)(".content")],m.prototype,"_savedScrollPos",void 0),(0,a.Cg)([(0,o.Ls)({passive:!0})],m.prototype,"_saveScrollPos",null),m=(0,a.Cg)([(0,o.EM)("hass-tabs-subpage")],m),e()}catch(t){e(t)}})},62452(t,e,s){s.a(t,async function(t,e){try{var a=s(62826),i=s(5124),o=s(22441),r=s(38962),n=s(18350),l=(s(76776),s(65829)),h=s(91485),c=s(82e3),d=s(65063),p=s(14503),u=t([r,n,l,h]);[r,n,l,h]=u.then?(await u)():u;class f extends i.WF{render(){return i.qy` <ha-card .header="${this.hass.localize("ui.panel.profile.change_password.header")}"> <div class="card-content"> ${this._errorMsg?i.qy`<ha-alert alert-type="error">${this._errorMsg}</ha-alert>`:""} ${this._statusMsg?i.qy`<ha-alert alert-type="success">${this._statusMsg}</ha-alert>`:""} <ha-input id="currentPassword" type="password" password-toggle name="currentPassword" .label="${this.hass.localize("ui.panel.profile.change_password.current_password")}" autocomplete="current-password" .value="${this._currentPassword}" @input="${this._currentPasswordChanged}" @change="${this._currentPasswordChanged}" required></ha-input> ${this._currentPassword?i.qy`<ha-input type="password" password-toggle .label="${this.hass.localize("ui.panel.profile.change_password.new_password")}" name="password" autocomplete="new-password" .value="${this._password}" @input="${this._newPasswordChanged}" @change="${this._newPasswordChanged}" required autoValidate></ha-input> <ha-input type="password" password-toggle .label="${this.hass.localize("ui.panel.profile.change_password.confirm_new_password")}" name="passwordConfirm" autocomplete="new-password" .value="${this._passwordConfirm}" @input="${this._newPasswordConfirmChanged}" @change="${this._newPasswordConfirmChanged}" required autoValidate></ha-input>`:""} </div> <div class="card-actions"> <ha-button .loading="${this._loading}" @click="${this._changePassword}" .disabled="${!this._passwordConfirm}">${this.hass.localize("ui.panel.profile.change_password.submit")}</ha-button> </div> </ha-card> `}_currentPasswordChanged(t){this._currentPassword=t.target.value}_newPasswordChanged(t){this._password=t.target.value}_newPasswordConfirmChanged(t){this._passwordConfirm=t.target.value}firstUpdated(t){super.firstUpdated(t),this.addEventListener("keypress",t=>{this._statusMsg=void 0,"Enter"===t.key&&this._changePassword()})}async _changePassword(){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.ec)(this.hass,this._currentPassword,this._password)}catch(t){return void(this._errorMsg=t.message)}finally{this._loading=!1}if(this._statusMsg=this.hass.localize("ui.panel.profile.change_password.success"),this.refreshTokens&&await(0,d.dk)(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.Y_)(this.hass)}catch(t){await(0,d.showAlertDialog)(this,{title:this.hass.localize("ui.panel.profile.change_password.delete_failed"),text:t.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")}static get styles(){return[p.RF,i.AH`#currentPassword{margin-top:0}.card-actions{display:flex;justify-content:flex-end}`]}constructor(...t){super(...t),this._loading=!1,this._currentPassword="",this._password="",this._passwordConfirm=""}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],f.prototype,"hass",void 0),(0,a.Cg)([(0,o.wk)()],f.prototype,"_loading",void 0),(0,a.Cg)([(0,o.wk)()],f.prototype,"_statusMsg",void 0),(0,a.Cg)([(0,o.wk)()],f.prototype,"_errorMsg",void 0),(0,a.Cg)([(0,o.wk)()],f.prototype,"_currentPassword",void 0),(0,a.Cg)([(0,o.wk)()],f.prototype,"_password",void 0),(0,a.Cg)([(0,o.wk)()],f.prototype,"_passwordConfirm",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],f.prototype,"refreshTokens",void 0),f=(0,a.Cg)([(0,o.EM)("ha-change-password-card")],f),e()}catch(t){e(t)}})},60463(t,e,s){s.a(t,async function(t,e){try{s(18111),s(22489),s(61701);var a=s(62826),i=s(5124),o=s(22441),r=s(22786),n=s(98975),l=s(1087),h=s(18350),c=(s(76776),s(26300)),d=(s(8034),s(65063)),p=s(14503),u=s(90204),f=t([h,c,n]);[h,c,n]=f.then?(await f)():f;const g="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z";class v extends i.WF{render(){const t=this._accessTokens(this.refreshTokens);return i.qy` <ha-card .header="${this.hass.localize("ui.panel.profile.long_lived_access_tokens.header")}"> <div class="card-content"> ${this.hass.localize("ui.panel.profile.long_lived_access_tokens.description")} <a href="https://developers.home-assistant.io/docs/auth_api/#making-authenticated-requests" target="_blank" rel="noreferrer"> ${this.hass.localize("ui.panel.profile.long_lived_access_tokens.learn_auth_requests")} </a> ${t.length?t.map(t=>i.qy`<ha-settings-row two-line> <span slot="heading">${t.client_name}</span> <div slot="description"> ${this.hass.localize("ui.panel.profile.long_lived_access_tokens.created",{date:(0,n.K)(new Date(t.created_at),this.hass.locale)})} </div> <ha-icon-button .token="${t}" .disabled="${t.is_current}" .label="${this.hass.localize("ui.common.delete")}" .path="${g}" @click="${this._deleteToken}"></ha-icon-button> </ha-settings-row>`):i.qy`<p> ${this.hass.localize("ui.panel.profile.long_lived_access_tokens.empty_state")} </p>`} </div> <div class="card-actions"> <ha-button @click="${this._createToken}"> ${this.hass.localize("ui.panel.profile.long_lived_access_tokens.create")} </ha-button> </div> </ha-card> `}_createToken(){const t=this._accessTokens(this.refreshTokens);(0,u.t)(this,{createdCallback:()=>(0,l.r)(this,"hass-refresh-tokens"),existingNames:t.map(t=>t.client_name).filter(t=>Boolean(t))})}async _deleteToken(t){const e=t.currentTarget.token;if(await(0,d.dk)(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:e.client_name}),confirmText:this.hass.localize("ui.common.delete"),destructive:!0}))try{await this.hass.callWS({type:"auth/delete_refresh_token",refresh_token_id:e.id}),(0,l.r)(this,"hass-refresh-tokens")}catch(t){await(0,d.showAlertDialog)(this,{title:this.hass.localize("ui.panel.profile.long_lived_access_tokens.delete_failed"),text:t.message})}}static get styles(){return[p.RF,i.AH`ha-settings-row{padding:0}a{color:var(--primary-color)}ha-icon-button{color:var(--primary-text-color)}.card-actions{display:flex;justify-content:flex-end}`]}constructor(...t){super(...t),this._accessTokens=(0,r.A)(t=>(t??[]).filter(t=>"long_lived_access_token"===t.type).reverse())}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],v.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],v.prototype,"refreshTokens",void 0),v=(0,a.Cg)([(0,o.EM)("ha-long-lived-access-tokens-card")],v),e()}catch(t){e(t)}})},52592(t,e,s){s.a(t,async function(t,e){try{s(18111),s(61701);var a=s(62826),i=s(5124),o=s(22441),r=s(1087),n=(s(76776),s(18350)),l=s(65063),h=s(21372),c=t([n]);n=(c.then?(await c)():c)[0];class d extends i.WF{render(){return i.qy` <ha-card .header="${this.hass.localize("ui.panel.profile.mfa.header")}"> ${this.mfaModules.map(t=>i.qy`<ha-settings-row two-line> <span slot="heading">${t.name}</span> <span slot="description">${t.id}</span> <ha-button size="small" appearance="plain" .module="${t}" @click="${t.enabled?this._disable:this._enable}">${this.hass.localize("ui.panel.profile.mfa."+(t.enabled?"disable":"enable"))}</ha-button> </ha-settings-row>`)} </ha-card> `}_enable(t){(0,h.d)(this,{mfaModuleId:t.currentTarget.module.id,dialogClosedCallback:()=>this._refreshCurrentUser()})}async _disable(t){const e=t.currentTarget.module;if(!await(0,l.dk)(this,{text:this.hass.localize("ui.panel.profile.mfa.confirm_disable",{name:e.name})}))return;const s=e.id;this.hass.callWS({type:"auth/depose_mfa",mfa_module_id:s}).then(()=>{this._refreshCurrentUser()})}_refreshCurrentUser(){(0,r.r)(this,"hass-refresh-current-user")}}d.styles=i.AH`ha-button{margin-right:-.57em;margin-inline-end:-.57em;margin-inline-start:initial}`,(0,a.Cg)([(0,o.MZ)({attribute:!1})],d.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],d.prototype,"mfaModules",void 0),d=(0,a.Cg)([(0,o.EM)("ha-mfa-modules-card")],d),e()}catch(t){e(t)}})},77867(t,e,s){s.a(t,async function(t,a){try{s.r(e);s(18111),s(13579);var i=s(62826),o=s(5124),r=s(22441),n=s(40511),l=s(62337),h=s(14503),c=s(62452),d=s(60463),p=s(52592),u=s(20938),f=t([n,c,d,p,u]);[n,c,d,p,u]=f.then?(await f)():f;class g extends o.WF{connectedCallback(){super.connectedCallback(),this._refreshRefreshTokens()}firstUpdated(){this._refreshTokens||this._refreshRefreshTokens()}render(){return o.qy` <hass-tabs-subpage main-page .hass="${this.hass}" .narrow="${this.narrow}" .tabs="${l.profileSections}" .route="${this.route}"> <div slot="title">${this.hass.localize("panel.profile")}</div> <div class="content"> ${this.hass.user.credentials.some(t=>"homeassistant"===t.auth_provider_type)?o.qy` <ha-change-password-card .refreshTokens="${this._refreshTokens}" @hass-refresh-tokens="${this._refreshRefreshTokens}" .hass="${this.hass}"></ha-change-password-card> `:""} <ha-mfa-modules-card .hass="${this.hass}" .mfaModules="${this.hass.user.mfa_modules}"></ha-mfa-modules-card> <ha-refresh-tokens-card .hass="${this.hass}" .refreshTokens="${this._refreshTokens}" @hass-refresh-tokens="${this._refreshRefreshTokens}"></ha-refresh-tokens-card> <ha-long-lived-access-tokens-card .hass="${this.hass}" .refreshTokens="${this._refreshTokens}" @hass-refresh-tokens="${this._refreshRefreshTokens}"></ha-long-lived-access-tokens-card> </div> </hass-tabs-subpage> `}async _refreshRefreshTokens(){this.hass&&(this._refreshTokens=await this.hass.callWS({type:"auth/refresh_tokens"}))}static get styles(){return[h.RF,o.AH`:host{-ms-user-select:initial;-webkit-user-select:initial;-moz-user-select:initial}.content{display:block;max-width:600px;margin:0 auto;padding-bottom:var(--safe-area-inset-bottom)}.content>*{display:block;margin:24px 0}.promo-advanced{text-align:center;color:var(--secondary-text-color)}`]}constructor(...t){super(...t),this.narrow=!1}}(0,i.Cg)([(0,r.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,i.Cg)([(0,r.MZ)({type:Boolean})],g.prototype,"narrow",void 0),(0,i.Cg)([(0,r.wk)()],g.prototype,"_refreshTokens",void 0),(0,i.Cg)([(0,r.MZ)({attribute:!1})],g.prototype,"route",void 0),g=(0,i.Cg)([(0,r.EM)("ha-profile-section-security")],g),a()}catch(t){a(t)}})},20938(t,e,s){s.a(t,async function(t,e){try{s(18111),s(22489),s(61701);var a=s(62826),i=s(5124),o=s(22441),r=s(22786),n=s(98975),l=s(1087),h=s(18350),c=(s(76776),s(29823)),d=(s(70947),s(26300)),p=(s(28170),s(50723),s(82e3)),u=s(65063),f=s(14503),g=t([h,c,d,n]);[h,c,d,n]=g.then?(await g)():g;const v="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",m="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",b="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",_="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",y="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",x="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",k="https://home-assistant.io/iOS",C="https://home-assistant.io/android",$=(t,e)=>{const s=t.last_used_at?new Date(t.last_used_at):0,a=e.last_used_at?new Date(e.last_used_at):0;return s<a?1:s>a?-1:0};class M extends i.WF{render(){const t=this.refreshTokens?this._refreshTokens(this.refreshTokens):[];return i.qy` <ha-card .header="${this.hass.localize("ui.panel.profile.refresh_tokens.header")}"> <div class="card-content"> ${this.hass.localize("ui.panel.profile.refresh_tokens.description")} <ha-list-base> ${t.length?t.map(t=>i.qy` <ha-list-item-base> <ha-svg-icon slot="start" .path="${t.client_id===k?m:t.client_id===C?v:x}"></ha-svg-icon> <span slot="headline" class="primary"> ${this._formatTokenName(t)} </span> <div slot="supporting-text"> ${this.hass.localize("ui.panel.profile.refresh_tokens.created_at",{date:(0,n.K)(new Date(t.created_at),this.hass.locale)})} </div> <div slot="supporting-text"> ${t.is_current?i.qy` <span class="current-session"> <span class="dot"></span> ${this.hass.localize("ui.panel.profile.refresh_tokens.current_session")} </span> `:t.last_used_at?this.hass.localize("ui.panel.profile.refresh_tokens.last_used",{date:(0,n.K)(new Date(t.last_used_at),this.hass.locale),location:t.last_used_ip}):this.hass.localize("ui.panel.profile.refresh_tokens.not_used")} </div> <div slot="supporting-text"> ${t.expire_at?this.hass.localize("ui.panel.profile.refresh_tokens.expires_in",{date:(0,n.K)(new Date(t.expire_at),this.hass.locale)}):this.hass.localize("ui.panel.profile.refresh_tokens.never_expires")} </div> <ha-dropdown slot="end" @wa-select="${this._handleDropdownSelect}"> <ha-icon-button slot="trigger" .label="${this.hass.localize("ui.common.menu")}" .path="${w}"></ha-icon-button> <ha-dropdown-item .token="${t}" .action="${"toggle_expiration"}"> <ha-svg-icon slot="icon" .path="${t.expire_at?_:b}"></ha-svg-icon> ${t.expire_at?this.hass.localize("ui.panel.profile.refresh_tokens.disable_token_expiration"):this.hass.localize("ui.panel.profile.refresh_tokens.enable_token_expiration")} </ha-dropdown-item> <ha-dropdown-item .token="${t}" .action="${"delete_token"}" variant="danger" .disabled="${t.is_current}"> <ha-svg-icon slot="icon" .path="${y}"></ha-svg-icon> ${this.hass.localize("ui.common.delete")} </ha-dropdown-item> </ha-dropdown> </ha-list-item-base> `):i.s6} </ha-list-base> </div> <div class="card-actions"> <ha-button variant="danger" appearance="filled" size="small" @click="${this._deleteAllTokens}"> ${this.hass.localize("ui.panel.profile.refresh_tokens.delete_all_tokens")} </ha-button> </div> </ha-card> `}_handleDropdownSelect(t){"toggle_expiration"===t.detail.item.action?this._toggleTokenExpiration(t.detail.item.token):"delete_token"===t.detail.item.action&&this._deleteToken(t.detail.item.token)}async _toggleTokenExpiration(t){const e=!t.expire_at;if(e||await(0,u.dk)(this,{title:this.hass.localize("ui.panel.profile.refresh_tokens.confirm_disable_token_expiration_title"),text:this.hass.localize("ui.panel.profile.refresh_tokens.confirm_disable_token_expiration_text",{name:this._formatTokenName(t)}),confirmText:this.hass.localize("ui.common.disable"),destructive:!0}))try{await this.hass.callWS({type:"auth/refresh_token_set_expiry",refresh_token_id:t.id,enable_expiry:e}),(0,l.r)(this,"hass-refresh-tokens")}catch(t){const s="object"==typeof t&&null!==t&&"message"in t?t.message:String(t);await(0,u.showAlertDialog)(this,{title:this.hass.localize(`ui.panel.profile.refresh_tokens.${e?"enable":"disable"}_expiration_failed`),text:s})}}async _deleteToken(t){if(await(0,u.dk)(this,{title:this.hass.localize("ui.panel.profile.refresh_tokens.confirm_delete_title"),text:this.hass.localize("ui.panel.profile.refresh_tokens.confirm_delete_text",{name:this._formatTokenName(t)}),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.r)(this,"hass-refresh-tokens")}catch(t){await(0,u.showAlertDialog)(this,{title:this.hass.localize("ui.panel.profile.refresh_tokens.delete_failed"),text:t.message})}}async _deleteAllTokens(){if(await(0,u.dk)(this,{title:this.hass.localize("ui.panel.profile.refresh_tokens.confirm_delete_all_title"),text:this.hass.localize("ui.panel.profile.refresh_tokens.confirm_delete_all"),confirmText:this.hass.localize("ui.common.delete_all"),destructive:!0}))try{await(0,p.Y_)(this.hass,"normal",!1),(0,l.r)(this,"hass-refresh-tokens")}catch(t){await(0,u.showAlertDialog)(this,{title:this.hass.localize("ui.panel.profile.refresh_tokens.delete_failed"),text:t.message})}}static get styles(){return[f.RF,i.AH`ha-list-item-base{--ha-row-item-padding-inline:0}ha-icon-button{color:var(--primary-text-color)}ha-list-item-base .dot{display:inline-block;width:8px;height:8px;background-color:var(--success-color);border-radius:var(--ha-border-radius-circle);margin-right:6px}`]}constructor(...t){super(...t),this._refreshTokens=(0,r.A)(t=>t.filter(t=>"normal"===t.type).sort($)),this._formatTokenName=t=>t.client_id===k?this.hass.localize("ui.panel.profile.refresh_tokens.ios_app"):t.client_id===C?this.hass.localize("ui.panel.profile.refresh_tokens.android_app"):t.client_name||t.client_id}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],M.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],M.prototype,"refreshTokens",void 0),M=(0,a.Cg)([(0,o.EM)("ha-refresh-tokens-card")],M),e()}catch(t){e(t)}})},21372(t,e,s){s.d(e,{d:()=>o});var a=s(1087);const i=()=>Promise.all([s.e(58416),s.e(59250),s.e(53480),s.e(54418)]).then(s.bind(s,15056)),o=(t,e)=>{(0,a.r)(t,"show-dialog",{dialogTag:"ha-mfa-module-setup-flow",dialogImport:i,dialogParams:e})}},90204(t,e,s){s.d(e,{t:()=>i});var a=s(1087);const i=(t,e)=>{(0,a.r)(t,"show-dialog",{dialogTag:"ha-long-lived-access-token-dialog",dialogImport:()=>s.e(99171).then(s.bind(s,72206)),dialogParams:e})}}};