iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
21 lines • 12 kB
JavaScript
export const __rspack_esm_id=83336;export const __rspack_esm_ids=[83336];export const __webpack_modules__={26218(a,o,t){t.d(o,{a:()=>r});const e=(0,t(77796).n)(a=>{history.replaceState({scrollPosition:a},"")},300);function r(a){return(o,t)=>{if("object"==typeof t)throw new Error("This decorator does not support this compilation type.");const r=o.connectedCallback;o.connectedCallback=function(){r.call(this);const o=this[t];o&&this.updateComplete.then(()=>{const t=this.renderRoot.querySelector(a);t&&setTimeout(()=>{t.scrollTop=o},0)})};const i=Object.getOwnPropertyDescriptor(o,t);let n;if(void 0===i)n={get(){return this[`__${String(t)}`]||history.state?.scrollPosition},set(a){e(a),this[`__${String(t)}`]=a},configurable:!0,enumerable:!0};else{const a=i.set;n={...i,set(o){e(o),this[`__${String(t)}`]=o,a?.call(this,o)}}}Object.defineProperty(o,t,n)}}},77796(a,o,t){t.d(o,{n:()=>e});const e=(a,o,t=!0,e=!0)=>{let r,i=0;const n=(...n)=>{const l=()=>{i=!1===t?0:Date.now(),r=void 0,a(...n)},s=Date.now();i||!1!==t||(i=s);const h=o-(s-i);h<=0||h>o?(r&&(clearTimeout(r),r=void 0),i=s,a(...n)):r||!1===e||(r=window.setTimeout(l,h))};return n.cancel=()=>{clearTimeout(r),r=void 0,i=0},n}},81310(a,o,t){t.a(a,async function(a,o){try{var e=t(62826),r=t(5124),i=t(22441),n=t(6412),l=t(26218),s=t(91926),h=t(90248),c=t(2054),d=t(14503),p=a([h,c]);[h,c]=p.then?(await p)():p;class g extends r.WF{render(){return r.qy` <div class="toolbar ${(0,n.H)({narrow:this.narrow})}"> <div class="toolbar-content"> ${this.mainPage||history.state?.root?r.qy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:this.backPath?r.qy` <ha-icon-button-arrow-prev href="${this.backPath}" .hass="${this.hass}"></ha-icon-button-arrow-prev> `:r.qy` <ha-icon-button-arrow-prev .hass="${this.hass}" @click="${this._backTapped}"></ha-icon-button-arrow-prev> `} <div class="main-title"> <slot name="header">${this.header}</slot> </div> <slot name="toolbar-icon"></slot> </div> </div> <div class="${(0,n.H)({content:!0,"ha-scrollbar":this.scrollable,"not-scrollable":!this.scrollable})}" @scroll="${this._saveScrollPos}"> <slot></slot> </div> <div id="fab"> <slot name="fab"></slot> </div> `}_saveScrollPos(a){this._savedScrollPos=a.target.scrollTop}_backTapped(){this.backCallback?this.backCallback():(0,s.OE)()}static get styles(){return[d.dp,r.AH`: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(...a){super(...a),this.mainPage=!1,this.narrow=!1,this.scrollable=!0}}(0,e.Cg)([(0,i.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,e.Cg)([(0,i.MZ)()],g.prototype,"header",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean,attribute:"main-page"})],g.prototype,"mainPage",void 0),(0,e.Cg)([(0,i.MZ)({type:String,attribute:"back-path"})],g.prototype,"backPath",void 0),(0,e.Cg)([(0,i.MZ)({attribute:!1})],g.prototype,"backCallback",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean,reflect:!0})],g.prototype,"narrow",void 0),(0,e.Cg)([(0,i.MZ)({type:Boolean})],g.prototype,"scrollable",void 0),(0,e.Cg)([(0,l.a)(".content")],g.prototype,"_savedScrollPos",void 0),(0,e.Cg)([(0,i.Ls)({passive:!0})],g.prototype,"_saveScrollPos",null),g=(0,e.Cg)([(0,i.EM)("hass-subpage")],g),o()}catch(a){o(a)}})},67867(a,o,t){t.a(a,async function(a,e){try{t.r(o);t(14603),t(47566),t(98721);var r=t(62826),i=t(5124),n=t(22441),l=t(63672),s=t(28794),h=t(81310),c=t(47222),d=a([s,h]);[s,h]=d.then?(await d)():d;class p extends i.WF{render(){return"https:"===location.protocol&&"https:"!==new URL(this.panel.config.url,location.toString()).protocol?i.qy` <hass-error-screen .hass="${this.hass}" .narrow="${this.narrow}" error="Unable to load iframes that load websites over http:// if ioBroker is served over https://." rootnav></hass-error-screen> `:i.qy` <hass-subpage .hass="${this.hass}" .narrow="${this.narrow}" .header="${this.panel.title}" main-page> <iframe title="${(0,l.J)(null===this.panel.title?void 0:this.panel.title)}" src="${this.panel.config.url}" .sandbox="${c.D}" allow="fullscreen"></iframe> </hass-subpage> `}constructor(...a){super(...a),this.narrow=!1}}p.styles=i.AH`iframe{border:0;width:100%;position:absolute;height:100%;background-color:var(--primary-background-color)}`,(0,r.Cg)([(0,n.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,r.Cg)([(0,n.MZ)({type:Boolean})],p.prototype,"narrow",void 0),(0,r.Cg)([(0,n.MZ)({attribute:!1})],p.prototype,"panel",void 0),p=(0,r.Cg)([(0,n.EM)("ha-panel-iframe")],p),e()}catch(a){e(a)}})},14503(a,o,t){t.d(o,{RF:()=>i,dp:()=>s,kO:()=>l,nA:()=>n,og:()=>r});var e=t(5124);const r=e.AH`button.link{background:0 0;color:inherit;border:none;padding:0;font:inherit;text-align:left;text-decoration:underline;cursor:pointer;outline:0}`,i=e.AH`: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)}${r} .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}`,n=e.AH`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)}`,l=e.AH`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}}`,s=e.AH`.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}`;e.AH`body{background-color:var(--primary-background-color);color:var(--primary-text-color);height:calc(100vh - 32px);width:100vw}`},47222(a,o,t){t.d(o,{D:()=>e});const e="allow-forms allow-popups allow-pointer-lock allow-same-origin allow-scripts allow-modals allow-downloads"}};