UNPKG

iobroker.lovelace

Version:

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

33 lines 30.9 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[91826],{93421:function(t,a,o){o.d(a,{IW:function(){return h},dH:function(){return c},fI:function(){return l}});o(44114),o(62953);var e=o(35211),i=o(22792),r=o(32172);const n=(t,a)=>{let o=t;for(const e of a){if(null==o)return;o=o[e]}return o},s=(t,a,o)=>{const i=(0,r.p)({transformer:function(t){return o.call(this,t)},watch:a?[a]:[]}),n=(0,e.Fg)({context:t,subscribe:!0});return(t,a)=>{i(t,a),n(t,a)}},l=t=>s(i.iN,t.entityIdPath[0],function(a){const o=n(this,t.entityIdPath);return"string"==typeof o?null==a?void 0:a[o]:void 0}),c=t=>s(i.X1,t.entityIdPath[0],function(a){const o=n(this,t.entityIdPath);return"string"==typeof o?null==a?void 0:a[o]:void 0}),h=()=>s(i.D5,void 0,({localize:t})=>t)},26218:function(t,a,o){o.d(a,{a:function(){return i}});o(16280);const e=(0,o(77796).n)(t=>{history.replaceState({scrollPosition:t},"")},300);function i(t){return(a,o)=>{if("object"==typeof o)throw new Error("This decorator does not support this compilation type.");const i=a.connectedCallback;a.connectedCallback=function(){i.call(this);const a=this[o];a&&this.updateComplete.then(()=>{const o=this.renderRoot.querySelector(t);o&&setTimeout(()=>{o.scrollTop=a},0)})};const r=Object.getOwnPropertyDescriptor(a,o);let n;if(void 0===r)n={get(){var t;return this[`__${String(o)}`]||(null===(t=history.state)||void 0===t?void 0:t.scrollPosition)},set(t){e(t),this[`__${String(o)}`]=t},configurable:!0,enumerable:!0};else{const t=r.set;n=Object.assign(Object.assign({},r),{},{set(a){e(a),this[`__${String(o)}`]=a,null==t||t.call(this,a)}})}Object.defineProperty(a,o,n)}}},32172:function(t,a,o){o.d(a,{p:function(){return e}});o(16280),o(18111),o(7588),o(45367),o(92731),o(17642),o(58004),o(33853),o(45876),o(32475),o(15024),o(31698),o(62953);function e(t){return(a,o)=>{if("object"==typeof o)throw new Error("This decorator does not support this compilation type.");const e=String(o),i=a;if(i._transformers){if(!i.hasOwnProperty("_transformers")){const t=i._transformers;i._transformers=new Map,t.forEach((t,a)=>i._transformers.set(a,t))}}else{i._transformers=new Map,i._watching=new Map;const t=i.willUpdate;i.willUpdate=function(a){t.call(this,a);const o=new Set;a.forEach((t,a)=>{const e=this._watching.get(a);void 0!==e&&e.forEach(t=>o.add(t))}),o.forEach(t=>{this[t]=this[`__original_${String(t)}`]})}}i._transformers.set(o,t.transformer),t.watch&&t.watch.forEach(t=>{let a=i._watching.get(t);a||(a=new Set,i._watching.set(t,a)),a.add(o)});const r=Object.getOwnPropertyDescriptor(a,o);let n;if(void 0===r)n={get(){return this[`__transform_${e}`]},set(t){const a=this[`__transform_${e}`],o=this._transformers.get(e);this[`__transform_${e}`]=o?o.call(this,t):t,this[`__original_${e}`]=t,this.requestUpdate(e,a)},configurable:!0,enumerable:!0};else{const t=r.set;n=Object.assign(Object.assign({},r),{},{set(a){const o=this[`__transform_${e}`],i=this._transformers.get(e);this[`__transform_${e}`]=i?i.call(this,a):a,this[`__original_${e}`]=a,this.requestUpdate(e,o),null==t||t.call(this,a)}})}Object.defineProperty(a,o,n)}}},77796:function(t,a,o){o.d(a,{n:function(){return e}});o(62953);const e=(t,a,o=!0,e=!0)=>{let i,r=0;const n=(...n)=>{const s=()=>{r=!1===o?0:Date.now(),i=void 0,t(...n)},l=Date.now();r||!1!==o||(r=l);const c=a-(l-r);c<=0||c>a?(i&&(clearTimeout(i),i=void 0),r=l,t(...n)):i||!1===e||(i=window.setTimeout(s,c))};return n.cancel=()=>{clearTimeout(i),i=void 0,r=0},n}},38962:function(t,a,o){o.a(t,async function(t,e){try{o.r(a);o(62953);var i=o(40445),r=o(5124),n=o(67576),s=o(6412),l=o(93421),c=o(1087),h=o(26300),d=(o(67094),t([h]));h=(d.then?(await d)():d)[0];let p,g,v,f,u=t=>t;const b="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",m={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 y extends r.WF{render(){var t;return(0,r.qy)(p||(p=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,s.H)({[this.alertType]:!0}),this.title?"":"no-title",m[this.alertType],(0,s.H)({content:!0,narrow:this.narrow}),this.title?(0,r.qy)(g||(g=u`<div class="title">${0}</div>`),this.title):r.s6,this.dismissable?(0,r.qy)(v||(v=u`<ha-icon-button @click="${0}" .label="${0}" .path="${0}"></ha-icon-button>`),this._dismissClicked,null===(t=this._localize)||void 0===t?void 0:t.call(this,"ui.common.dismiss_alert"),b):r.s6)}_dismissClicked(){(0,c.r)(this,"alert-dismissed-clicked")}constructor(...t){super(...t),this.title="",this.alertType="info",this.dismissable=!1,this.narrow=!1}}y.styles=(0,r.AH)(f||(f=u`.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,n.MZ)()],y.prototype,"title",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"alert-type"})],y.prototype,"alertType",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],y.prototype,"dismissable",void 0),(0,i.Cg)([(0,n.wk)(),(0,l.IW)()],y.prototype,"_localize",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],y.prototype,"narrow",void 0),y=(0,i.Cg)([(0,n.EM)("ha-alert")],y),e()}catch(p){e(p)}})},76776:function(t,a,o){o(62953);var e=o(40445),i=o(5124),r=o(67576);let n,s,l,c=t=>t;class h extends i.WF{render(){return(0,i.qy)(n||(n=c` ${0} <slot></slot> `),this.header?(0,i.qy)(s||(s=c`<h1 class="card-header">${0}</h1>`),this.header):i.s6)}constructor(...t){super(...t),this.raised=!1}}h.styles=(0,i.AH)(l||(l=c`: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,e.Cg)([(0,r.MZ)()],h.prototype,"header",void 0),(0,e.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],h.prototype,"raised",void 0),h=(0,e.Cg)([(0,r.EM)("ha-card")],h)},90248:function(t,a,o){o.a(t,async function(t,e){try{o.r(a),o.d(a,{HaIconButtonArrowPrev:function(){return v}});o(62953);var i=o(40445),r=o(5124),n=o(67576),s=o(63091),l=o(26300),c=t([l]);l=(c.then?(await c)():c)[0];let h,d=t=>t;const p="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",g="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z";class v extends r.WF{render(){var t;return(0,r.qy)(h||(h=d` <ha-icon-button .disabled="${0}" .label="${0}" .path="${0}" .href="${0}" .target="${0}" .rel="${0}" .download="${0}"></ha-icon-button> `),this.disabled,this.label||(null===(t=this.hass)||void 0===t?void 0:t.localize("ui.common.back"))||"Back",this._icon,this.href,this.target,this.rel,this.download)}constructor(...t){super(...t),this.disabled=!1,this._icon="rtl"===s.G.document.dir?g:p}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],v.prototype,"hass",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],v.prototype,"disabled",void 0),(0,i.Cg)([(0,n.MZ)()],v.prototype,"label",void 0),(0,i.Cg)([(0,n.MZ)()],v.prototype,"href",void 0),(0,i.Cg)([(0,n.MZ)()],v.prototype,"target",void 0),(0,i.Cg)([(0,n.MZ)()],v.prototype,"rel",void 0),(0,i.Cg)([(0,n.MZ)()],v.prototype,"download",void 0),(0,i.Cg)([(0,n.wk)()],v.prototype,"_icon",void 0),v=(0,i.Cg)([(0,n.EM)("ha-icon-button-arrow-prev")],v),e()}catch(h){e(h)}})},26300:function(t,a,o){o.a(t,async function(t,e){try{o.r(a),o.d(a,{HaIconButton:function(){return f}});o(62953);var i=o(40445),r=o(5124),n=o(67576),s=o(63672),l=o(18350),c=(o(67094),t([l]));l=(c.then?(await c)():c)[0];let h,d,p,g,v=t=>t;class f extends r.WF{render(){return(0,r.qy)(h||(h=v` <ha-button appearance="plain" variant="neutral" aria-label="${0}" title="${0}" aria-haspopup="${0}" .disabled="${0}" .iconTag="${0}" .href="${0}" .target="${0}" .rel="${0}" .download="${0}"> ${0} </ha-button> `),(0,s.J)(this.label),(0,s.J)(this.hideTitle?void 0:this.label),(0,s.J)(this.ariaHasPopup),this.disabled,this.path?"ha-svg-icon":"span",this.href,this.target,this.rel,this.download,this.path?(0,r.qy)(d||(d=v`<ha-svg-icon aria-hidden="true" .path="${0}"></ha-svg-icon>`),this.path):(0,r.qy)(p||(p=v`<span><slot></slot></span>`)))}constructor(...t){super(...t),this.disabled=!1,this.hideTitle=!1,this.selected=!1}}f.shadowRootOptions={mode:"open",delegatesFocus:!0},f.styles=(0,r.AH)(g||(g=v`: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,n.MZ)({type:Boolean,reflect:!0})],f.prototype,"disabled",void 0),(0,i.Cg)([(0,n.MZ)({type:String})],f.prototype,"path",void 0),(0,i.Cg)([(0,n.MZ)({type:String})],f.prototype,"label",void 0),(0,i.Cg)([(0,n.MZ)({type:String,attribute:"aria-haspopup"})],f.prototype,"ariaHasPopup",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"hide-title",type:Boolean})],f.prototype,"hideTitle",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],f.prototype,"selected",void 0),(0,i.Cg)([(0,n.MZ)()],f.prototype,"href",void 0),(0,i.Cg)([(0,n.MZ)()],f.prototype,"target",void 0),(0,i.Cg)([(0,n.MZ)()],f.prototype,"rel",void 0),(0,i.Cg)([(0,n.MZ)()],f.prototype,"download",void 0),f=(0,i.Cg)([(0,n.EM)("ha-icon-button")],f),e()}catch(h){e(h)}})},2054:function(t,a,o){o.a(t,async function(t,a){try{o(16280),o(62953);var e=o(40445),i=o(5124),r=o(67576),n=o(1087),s=o(44249),l=o(26300),c=t([l]);l=(c.then?(await c)():c)[0];let h,d,p,g=t=>t;const v="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z";class f 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(0,i.qy)(h||(h=g` <ha-icon-button .label="${0}" .path="${0}" @click="${0}"></ha-icon-button> ${0} `),this.hass.localize("ui.sidebar.sidebar_toggle"),v,this._toggleMenu,t?(0,i.qy)(d||(d=g`<div class="dot"></div>`)):"")}willUpdate(t){if(super.willUpdate(t),!t.has("narrow")&&!t.has("hass"))return;const a=t.has("hass")?t.get("hass"):this.hass,o=t.has("narrow")?t.get("narrow"):this.narrow,e=!1===(null==a?void 0:a.kioskMode)&&(o||"always_hidden"===(null==a?void 0:a.dockedSidebar)),i=!1===this.hass.kioskMode&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);this.hasUpdated&&e===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,s.V)(this.hass.connection,t=>{this._hasNotifications=t.length>0})}_toggleMenu(){(0,n.r)(this,"hass-toggle-menu")}constructor(...t){super(...t),this.narrow=!1,this._hasNotifications=!1,this._show=!1,this._alwaysVisible=!1,this._attachNotifOnConnect=!1}}f.styles=(0,i.AH)(p||(p=g`: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,e.Cg)([(0,r.MZ)({type:Boolean})],f.prototype,"narrow",void 0),(0,e.Cg)([(0,r.MZ)({attribute:!1})],f.prototype,"hass",void 0),(0,e.Cg)([(0,r.wk)()],f.prototype,"_hasNotifications",void 0),(0,e.Cg)([(0,r.wk)()],f.prototype,"_show",void 0),f=(0,e.Cg)([(0,r.EM)("ha-menu-button")],f),a()}catch(h){a(h)}})},67094:function(t,a,o){o.r(a),o.d(a,{HaSvgIcon:function(){return d}});var e=o(40445),i=o(5124),r=o(67576);let n,s,l,c,h=t=>t;class d extends i.WF{render(){return(0,i.JW)(n||(n=h` <svg viewBox="${0}" preserveAspectRatio="xMidYMid meet" focusable="false" role="img" aria-hidden="true"> <g> ${0} ${0} </g> </svg>`),this.viewBox||"0 0 24 24",this.path?(0,i.JW)(s||(s=h`<path class="primary-path" d="${0}"></path>`),this.path):i.s6,this.secondaryPath?(0,i.JW)(l||(l=h`<path class="secondary-path" d="${0}"></path>`),this.secondaryPath):i.s6)}}d.styles=(0,i.AH)(c||(c=h`: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,e.Cg)([(0,r.MZ)()],d.prototype,"path",void 0),(0,e.Cg)([(0,r.MZ)({attribute:!1})],d.prototype,"secondaryPath",void 0),(0,e.Cg)([(0,r.MZ)({attribute:!1})],d.prototype,"viewBox",void 0),d=(0,e.Cg)([(0,r.EM)("ha-svg-icon")],d)},44249:function(t,a,o){o.d(a,{V:function(){return e}});o(62953);const e=(t,a)=>{const o=new i,e=t.subscribeMessage(t=>a(o.processMessage(t)),{type:"persistent_notification/subscribe"});return()=>{e.then(t=>null==t?void 0:t())}};class i{processMessage(t){if("removed"===t.type)for(const a of Object.keys(t.notifications))delete this.notifications[a];else this.notifications=Object.assign(Object.assign({},this.notifications),t.notifications);return Object.values(this.notifications)}constructor(){this.notifications={}}}},81310:function(t,a,o){o.a(t,async function(t,a){try{o(62953);var e=o(40445),i=o(5124),r=o(67576),n=o(6412),s=o(26218),l=o(91926),c=o(90248),h=o(2054),d=o(14503),p=t([c,h]);[c,h]=p.then?(await p)():p;let g,v,f,u,b,m=t=>t;class y extends i.WF{render(){var t;return(0,i.qy)(g||(g=m` <div class="toolbar ${0}"> <div class="toolbar-content"> ${0} <div class="main-title"> <slot name="header">${0}</slot> </div> <slot name="toolbar-icon"></slot> </div> </div> <div class="${0}" @scroll="${0}"> <slot></slot> </div> <div id="fab"> <slot name="fab"></slot> </div> `),(0,n.H)({narrow:this.narrow}),this.mainPage||null!==(t=history.state)&&void 0!==t&&t.root?(0,i.qy)(v||(v=m` <ha-menu-button .hass="${0}" .narrow="${0}"></ha-menu-button> `),this.hass,this.narrow):this.backPath?(0,i.qy)(f||(f=m` <ha-icon-button-arrow-prev href="${0}" .hass="${0}"></ha-icon-button-arrow-prev> `),this.backPath,this.hass):(0,i.qy)(u||(u=m` <ha-icon-button-arrow-prev .hass="${0}" @click="${0}"></ha-icon-button-arrow-prev> `),this.hass,this._backTapped),this.header,(0,n.H)({content:!0,"ha-scrollbar":this.scrollable,"not-scrollable":!this.scrollable}),this._saveScrollPos)}_saveScrollPos(t){this._savedScrollPos=t.target.scrollTop}_backTapped(){this.backCallback?this.backCallback():(0,l.OE)()}static get styles(){return[d.dp,(0,i.AH)(b||(b=m`:host{display:block;height:100%;background-color:var(--primary-background-color);overflow:hidden;position:relative}:host([narrow]){width:100%;position:fixed}.toolbar{background-color:var(--app-header-background-color);padding-top:var(--safe-area-inset-top);padding-right:var(--safe-area-inset-right)}:host([narrow]) .toolbar{padding-left:var(--safe-area-inset-left)}.toolbar-content{display:flex;align-items:center;font-size:var(--ha-font-size-xl);height:var(--header-height);font-weight:var(--ha-font-weight-normal);color:var(--app-header-text-color,#fff);border-bottom:var(--app-header-border-bottom,none);box-sizing:border-box;padding:8px 12px}.toolbar a{color:var(--sidebar-text-color);text-decoration:none}::slotted([slot=toolbar-icon]),ha-icon-button-arrow-prev,ha-menu-button{display:flex;align-items:center;pointer-events:auto;color:var(--sidebar-icon-color)}.main-title{margin-inline-start:var(--ha-space-6);line-height:var(--ha-line-height-normal);min-width:0;flex-grow:1;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.narrow .main-title{margin-inline-start:var(--ha-space-2)}.content{position:relative;width:calc(100% - var(--safe-area-inset-right,0px));height:calc(100% - 1px - var(--header-height,0px) - var(--safe-area-inset-top,0px) - var(--safe-area-inset-bottom,0px));padding-bottom:var(--safe-area-inset-bottom,0px);margin-right:var(--safe-area-inset-right);overflow-y:auto;overflow:auto;-webkit-overflow-scrolling:touch}.content.not-scrollable{overflow:hidden;display:flex;flex-direction:column}:host([narrow]) .content{width:calc(100% - var(--safe-area-inset-left,0px) - var(--safe-area-inset-right,0px));margin-left:var(--safe-area-inset-left)}#fab{position:absolute;right:calc(16px + var(--safe-area-inset-right,0px));inset-inline-end:calc(16px + var(--safe-area-inset-right,0px));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]) #fab.tabs{bottom:calc(84px + var(--safe-area-inset-bottom,0px))}#fab[is-wide]{bottom:calc(24px + var(--safe-area-inset-bottom,0px));right:calc(24px + var(--safe-area-inset-right,0px));inset-inline-end:calc(24px + var(--safe-area-inset-right,0px));inset-inline-start:initial}`))]}constructor(...t){super(...t),this.mainPage=!1,this.narrow=!1,this.scrollable=!0}}(0,e.Cg)([(0,r.MZ)({attribute:!1})],y.prototype,"hass",void 0),(0,e.Cg)([(0,r.MZ)()],y.prototype,"header",void 0),(0,e.Cg)([(0,r.MZ)({type:Boolean,attribute:"main-page"})],y.prototype,"mainPage",void 0),(0,e.Cg)([(0,r.MZ)({type:String,attribute:"back-path"})],y.prototype,"backPath",void 0),(0,e.Cg)([(0,r.MZ)({attribute:!1})],y.prototype,"backCallback",void 0),(0,e.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],y.prototype,"narrow",void 0),(0,e.Cg)([(0,r.MZ)({type:Boolean})],y.prototype,"scrollable",void 0),(0,e.Cg)([(0,s.a)(".content")],y.prototype,"_savedScrollPos",void 0),(0,e.Cg)([(0,r.Ls)({passive:!0})],y.prototype,"_saveScrollPos",null),y=(0,e.Cg)([(0,r.EM)("hass-subpage")],y),a()}catch(g){a(g)}})},40521:function(t,a,o){o.a(t,async function(t,e){try{o.r(a);o(3362),o(62953);var i=o(40445),r=o(5124),n=o(67576),s=o(38962),l=o(18350),c=(o(76776),o(67094),o(48250)),h=o(65063),d=o(81310),p=o(14503),g=o(36918),v=o(91926),f=t([s,l,d]);[s,l,d]=f.then?(await f)():f;let u,b,m=t=>t;const y="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z",w="M20.5,11H19V7C19,5.89 18.1,5 17,5H13V3.5A2.5,2.5 0 0,0 10.5,1A2.5,2.5 0 0,0 8,3.5V5H4A2,2 0 0,0 2,7V10.8H3.5C5,10.8 6.2,12 6.2,13.5C6.2,15 5,16.2 3.5,16.2H2V20A2,2 0 0,0 4,22H7.8V20.5C7.8,19 9,17.8 10.5,17.8C12,17.8 13.2,19 13.2,20.5V22H17A2,2 0 0,0 19,20V16H20.5A2.5,2.5 0 0,0 23,13.5A2.5,2.5 0 0,0 20.5,11Z";class x extends r.WF{render(){return(0,r.qy)(u||(u=m` <hass-subpage .hass="${0}" .narrow="${0}" back-path="/config" .header="${0}"> <div class="content"> <ha-card outlined> <div class="card-content"> <div class="header"> <ha-svg-icon class="icon" .path="${0}"></ha-svg-icon> <h1> ${0} </h1> </div> <p> ${0} </p> </div> </ha-card> <ha-card outlined> <div class="card-content"> <h2> ${0} </h2> <p> ${0} </p> <ha-alert alert-type="info"> ${0} </ha-alert> </div> <div class="card-actions"> <ha-button appearance="plain" href="${0}" target="_blank" rel="noreferrer"> ${0} <ha-svg-icon slot="icon" .path="${0}"></ha-svg-icon> </ha-button> <ha-button @click="${0}" variant="danger"> ${0} </ha-button> </div> </ha-card> </div> </hass-subpage> `),this.hass,this.narrow,this.hass.localize("ui.panel.config.dashboard.apps.main"),w,this.hass.localize("ui.panel.config.apps.info.what_is_an_app"),this.hass.localize("ui.panel.config.apps.info.what_is_an_app_description"),this.hass.localize("ui.panel.config.apps.info.why_not_available"),this.hass.localize("ui.panel.config.apps.info.why_not_available_description"),this.hass.localize("ui.panel.config.apps.info.installation_hint"),(0,g.o)(this.hass,"/apps/"),this.hass.localize("ui.panel.config.apps.info.learn_more"),y,this._dismiss,this.hass.localize("ui.panel.config.apps.info.dismiss"))}async _dismiss(){try{await(0,c.Bp)(this.hass.connection,"core",Object.assign(Object.assign({},this.hass.userData),{},{apps_info_dismissed:!0}))}catch(t){return void(0,h.showAlertDialog)(this,{text:t.message})}(0,v.oo)("/config",{replace:!0})}static get styles(){return[p.RF,(0,r.AH)(b||(b=m`.content{max-width:600px;margin:0 auto;padding:var(--ha-space-4);display:flex;flex-direction:column;gap:var(--ha-space-4)}.card-content{padding:var(--ha-space-4)}.header{display:flex;align-items:center;gap:var(--ha-space-3);margin-bottom:var(--ha-space-4)}.icon{width:40px;height:40px;flex-shrink:0;color:var(--primary-color)}h1{margin:0;font-size:var(--ha-font-size-xl);font-weight:500}h2{margin:0 0 var(--ha-space-3);font-size:var(--ha-font-size-l);font-weight:500}p{margin:0 0 var(--ha-space-3);line-height:var(--ha-line-height-normal);color:var(--secondary-text-color)}ha-alert{display:block;margin-top:var(--ha-space-2)}.card-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--ha-space-2);padding:var(--ha-space-2);border-top:var(--ha-border-width-sm) solid var(--divider-color)}a{text-decoration:none}`))]}constructor(...t){super(...t),this.narrow=!1,this.isWide=!1}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],x.prototype,"hass",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],x.prototype,"narrow",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"is-wide",type:Boolean})],x.prototype,"isWide",void 0),x=(0,i.Cg)([(0,n.EM)("ha-config-apps-info")],x),e()}catch(u){e(u)}})},14503:function(t,a,o){o.d(a,{RF:function(){return p},dp:function(){return f},kO:function(){return v},nA:function(){return g},og:function(){return d}});var e=o(5124);let i,r,n,s,l,c,h=t=>t;const d=(0,e.AH)(i||(i=h`button.link{background:0 0;color:inherit;border:none;padding:0;font:inherit;text-align:left;text-decoration:underline;cursor:pointer;outline:0}`)),p=(0,e.AH)(r||(r=h`:host{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal)}app-header div[sticky]{height:48px}app-toolbar [main-title]{margin-left:20px;margin-inline-start:20px;margin-inline-end:initial}.header{transition:box-shadow .2s linear,width var(--ha-animation-duration-normal) ease,padding-left var(--ha-animation-duration-normal) ease,padding-right var(--ha-animation-duration-normal) ease}@media (prefers-reduced-motion:reduce){.header{transition:box-shadow .2s linear}}h1{font-family:var(--ha-font-family-heading);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-2xl);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed)}h2{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--ha-font-size-xl);font-weight:var(--ha-font-weight-medium);line-height:var(--ha-line-height-normal)}h3{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal)}a{color:var(--primary-color)}.secondary{color:var(--secondary-text-color)}.error{color:var(--error-color)}.warning{color:var(--error-color)}${0} .card-actions a{text-decoration:none}.card-actions .warning{--mdc-theme-primary:var(--error-color)}.layout.horizontal,.layout.vertical{display:flex}.layout.inline{display:inline-flex}.layout.horizontal{flex-direction:row}.layout.vertical{flex-direction:column}.layout.wrap{flex-wrap:wrap}.layout.no-wrap{flex-wrap:nowrap}.layout.center,.layout.center-center{align-items:center}.layout.bottom{align-items:flex-end}.layout.center-center,.layout.center-justified{justify-content:center}.flex{flex:1;flex-basis:0.000000001px}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.layout.justified{justify-content:space-between}`),d),g=(0,e.AH)(n||(n=h`ha-adaptive-dialog,ha-dialog{--mdc-dialog-min-width:400px;--mdc-dialog-max-width:600px;--mdc-dialog-max-width:min(600px, 95vw);--justify-action-buttons:space-between;--dialog-container-padding:var(--safe-area-inset-top, 0) var(--safe-area-inset-right, 0) var(--safe-area-inset-bottom, 0) var(--safe-area-inset-left, 0);--dialog-surface-padding:0px}ha-adaptive-dialog .form,ha-dialog .form{color:var(--primary-text-color)}a{color:var(--primary-color)}@media all and (max-width:450px),all and (max-height:500px){ha-adaptive-dialog,ha-dialog{--mdc-dialog-min-width:100vw;--mdc-dialog-max-width:100vw;--mdc-dialog-min-height:100vh;--mdc-dialog-min-height:100svh;--mdc-dialog-max-height:100vh;--mdc-dialog-max-height:100svh;--dialog-container-padding:0px;--dialog-surface-padding:var(--safe-area-inset-top, 0) var(--safe-area-inset-right, 0) var(--safe-area-inset-bottom, 0) var(--safe-area-inset-left, 0);--vertical-align-dialog:flex-end}ha-dialog{--ha-dialog-border-radius:var(--ha-border-radius-square)}}.error{color:var(--error-color)}`)),v=(0,e.AH)(s||(s=h`ha-adaptive-dialog,ha-dialog{--vertical-align-dialog:flex-start;--dialog-surface-margin-top:var(--ha-space-10);--mdc-dialog-max-height:calc( 100vh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var( --safe-area-inset-y, 0px ) );--mdc-dialog-max-height:calc( 100svh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var( --safe-area-inset-y, 0px ) );--ha-dialog-max-height:calc( 100vh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var( --safe-area-inset-y, 0px ) );--ha-dialog-max-height:calc( 100svh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var( --safe-area-inset-y, 0px ) )}@media all and (max-width:450px),all and (max-height:500px){ha-adaptive-dialog,ha-dialog{--dialog-surface-margin-top:0px;--mdc-dialog-min-height:100vh;--mdc-dialog-min-height:100svh;--mdc-dialog-max-height:100vh;--mdc-dialog-max-height:100svh;--ha-dialog-max-height:100vh;--ha-dialog-max-height:100svh}}`)),f=(0,e.AH)(l||(l=h`.ha-scrollbar::-webkit-scrollbar{width:.4rem;height:.4rem}.ha-scrollbar::-webkit-scrollbar-thumb{border-radius:var(--ha-border-radius-sm);background:var(--scrollbar-thumb-color)}.ha-scrollbar{overflow-y:auto;scrollbar-color:var(--scrollbar-thumb-color) transparent;scrollbar-width:thin}`));(0,e.AH)(c||(c=h`body{background-color:var(--primary-background-color);color:var(--primary-text-color);height:calc(100vh - 32px);width:100vw}`))},36918:function(t,a,o){o.d(a,{o:function(){return e}});const e=(t,a)=>`https://www.iobroker.net/#${t.language&&t.language.split("-")[0]||"en"}/adapters/adapterref/iobroker.lovelace/README.md#`}}]);