UNPKG

iobroker.lovelace

Version:

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

5 lines 19.6 kB
/*! For license information please see 23659.1176cf2c174c7f79.js.LICENSE.txt */ "use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[23659],{35370:function(e,t,o){var a=o(26198);e.exports=function(e,t,o){for(var r=0,i=arguments.length>2?o:a(t),n=new e(i);i>r;)n[r]=t[r++];return n}},53921:function(e,t,o){var a=o(46518),r=o(72652),i=o(97040);a({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,function(e,o){i(t,e,o)},{AS_ENTRIES:!0}),t}})},1126:function(e,t,o){o.a(e,async function(e,t){try{o(3362),o(27495),o(62953);var a=o(5124),r=o(67576),i=o(6412),n=o(63672),s=o(17051),d=o(42462),l=o(28438),h=o(98779),c=o(27259),p=o(25877),u=o(31247),w=o(4444),f=o(92070),m=o(9395),b=o(717),v=o(17060),g=o(88496),y=o(57024),k=e([g,v]);[g,v]=k.then?(await k)():k;let E,L,$,M=e=>e;var C=Object.defineProperty,D=Object.getOwnPropertyDescriptor,x=(e,t,o,a)=>{for(var r,i=a>1?void 0:a?D(t,o):t,n=e.length-1;n>=0;n--)(r=e[n])&&(i=(a?r(t,o,i):r(i))||i);return a&&i&&C(t,o,i),i};let P=class extends b.A{firstUpdated(){a.S$||this.open&&(this.addOpenListeners(),this.drawer.showModal(),(0,w.JG)(this))}disconnectedCallback(){super.disconnectedCallback(),(0,w.I7)(this),this.removeOpenListeners()}async requestClose(e){const t=new l.L({source:e});if(this.dispatchEvent(t),t.defaultPrevented)return this.open=!0,void(0,c.Ud)(this.drawer,"pulse");this.removeOpenListeners(),await(0,c.Ud)(this.drawer,"hide"),this.open=!1,this.drawer.close(),(0,w.I7)(this);const o=this.originalTrigger;"function"==typeof(null==o?void 0:o.focus)&&setTimeout(()=>o.focus()),this.dispatchEvent(new s.Z)}addOpenListeners(){document.addEventListener("keydown",this.handleDocumentKeyDown),(0,p.AZ)(this)}removeOpenListeners(){document.removeEventListener("keydown",this.handleDocumentKeyDown),(0,p.Fw)(this)}handleDialogCancel(e){e.preventDefault(),!this.drawer.classList.contains("hide")&&e.target===this.drawer&&(0,p.a0)(this)&&this.requestClose(this.drawer)}handleDialogClick(e){const t=e.target.closest('[data-drawer="close"]');t&&(e.stopPropagation(),this.requestClose(t))}async handleDialogPointerDown(e){e.target===this.drawer&&(this.lightDismiss?this.requestClose(this.drawer):await(0,c.Ud)(this.drawer,"pulse"))}handleOpenChange(){this.open&&!this.drawer.open?this.show():this.drawer.open&&(this.open=!0,this.requestClose(this.drawer))}async show(){const e=new h.k;this.dispatchEvent(e),e.defaultPrevented?this.open=!1:(this.addOpenListeners(),this.originalTrigger=document.activeElement,this.open=!0,this.drawer.showModal(),(0,w.JG)(this),requestAnimationFrame(()=>{const e=this.querySelector("[autofocus]");e&&"function"==typeof e.focus?e.focus():this.drawer.focus()}),await(0,c.Ud)(this.drawer,"show"),this.dispatchEvent(new d.q))}render(){var e;const t=!this.withoutHeader,o=this.hasUpdated?this.hasSlotController.test("footer"):this.withFooter;return(0,a.qy)(E||(E=M` <dialog aria-labelledby="${0}" aria-describedby="${0}" part="dialog" class="${0}" @cancel="${0}" @click="${0}" @pointerdown="${0}"> ${0} <div part="body" class="body"><slot></slot></div> ${0} </dialog> `),null!==(e=this.ariaLabelledby)&&void 0!==e?e:"title",(0,n.J)(this.ariaDescribedby),(0,i.H)({drawer:!0,open:this.open,top:"top"===this.placement,end:"end"===this.placement,bottom:"bottom"===this.placement,start:"start"===this.placement}),this.handleDialogCancel,this.handleDialogClick,this.handleDialogPointerDown,t?(0,a.qy)(L||(L=M` <header part="header" class="header"> <h2 part="title" class="title" id="title"> <slot name="label"> ${0} </slot> </h2> <div part="header-actions" class="header-actions"> <slot name="header-actions"></slot> <wa-button part="close-button" exportparts="base:close-button__base" class="close" appearance="plain" @click="${0}"> <wa-icon name="xmark" label="${0}" library="system" variant="solid"></wa-icon> </wa-button> </div> </header> `),this.label.length>0?this.label:String.fromCharCode(8203),e=>this.requestClose(e.target),this.localize.term("close")):"",o?(0,a.qy)($||($=M` <footer part="footer" class="footer"> <slot name="footer"></slot> </footer> `)):"")}constructor(){super(...arguments),this.localize=new v.c(this),this.hasSlotController=new f.X(this,"footer","header-actions","label"),this.open=!1,this.label="",this.placement="end",this.withoutHeader=!1,this.lightDismiss=!0,this.withFooter=!1,this.handleDocumentKeyDown=e=>{"Escape"===e.key&&this.open&&(0,p.a0)(this)&&(e.preventDefault(),e.stopPropagation(),this.requestClose(this.drawer))}}};P.css=y.A,x([(0,r.P)(".drawer")],P.prototype,"drawer",2),x([(0,r.MZ)({type:Boolean,reflect:!0})],P.prototype,"open",2),x([(0,r.MZ)({reflect:!0})],P.prototype,"label",2),x([(0,r.MZ)({reflect:!0})],P.prototype,"placement",2),x([(0,r.MZ)({attribute:"without-header",type:Boolean,reflect:!0})],P.prototype,"withoutHeader",2),x([(0,r.MZ)({attribute:"light-dismiss",type:Boolean})],P.prototype,"lightDismiss",2),x([(0,r.MZ)({attribute:"aria-labelledby"})],P.prototype,"ariaLabelledby",2),x([(0,r.MZ)({attribute:"aria-describedby"})],P.prototype,"ariaDescribedby",2),x([(0,r.MZ)({attribute:"with-footer",type:Boolean})],P.prototype,"withFooter",2),x([(0,m.w)("open",{waitUntilFirstUpdate:!0})],P.prototype,"handleOpenChange",1),P=x([(0,r.EM)("wa-drawer")],P),a.S$||(document.addEventListener("click",e=>{const t=e.target.closest("[data-drawer]");if(t instanceof Element){const[e,o]=(0,u.v)(t.getAttribute("data-drawer")||"");if("open"===e&&null!=o&&o.length){const e=t.getRootNode().getElementById(o);"wa-drawer"===(null==e?void 0:e.localName)?e.open=!0:console.warn(`A drawer with an ID of "${o}" could not be found in this document.`)}}}),document.addEventListener("pointerdown",()=>{})),t()}catch(E){t(E)}})},57024:function(e,t,o){o.d(t,{A:function(){return r}});let a;var r=(0,o(5124).AH)(a||(a=(e=>e)`:host{--size:25rem;--spacing:var(--wa-space-l);--backdrop-filter:none;--show-duration:200ms;--hide-duration:200ms;display:none}:host([open]){display:block}.drawer{display:flex;flex-direction:column;top:0;inset-inline-start:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow:hidden;color:inherit;background-color:var(--wa-color-surface-raised);border:none;box-shadow:var(--wa-shadow-l);overflow:auto;padding:0;margin:0;animation-duration:var(--show-duration);animation-timing-function:ease}.drawer.show::backdrop{animation:show-backdrop var(--show-duration,200ms) ease}.drawer.hide::backdrop{animation:show-backdrop var(--hide-duration,200ms) ease reverse}.drawer.show.top{animation:show-drawer-from-top var(--show-duration) ease}.drawer.hide.top{animation:show-drawer-from-top var(--hide-duration) ease reverse}.drawer.show.end{animation:show-drawer-from-end var(--show-duration) ease}.drawer.show.end:dir(rtl){animation-name:show-drawer-from-start}.drawer.hide.end{animation:show-drawer-from-end var(--hide-duration) ease reverse}.drawer.hide.end:dir(rtl){animation-name:show-drawer-from-start}.drawer.show.bottom{animation:show-drawer-from-bottom var(--show-duration) ease}.drawer.hide.bottom{animation:show-drawer-from-bottom var(--hide-duration) ease reverse}.drawer.show.start{animation:show-drawer-from-start var(--show-duration) ease}.drawer.show.start:dir(rtl){animation-name:show-drawer-from-end}.drawer.hide.start{animation:show-drawer-from-start var(--hide-duration) ease reverse}.drawer.hide.start:dir(rtl){animation-name:show-drawer-from-end}.drawer.pulse{animation:pulse 250ms ease}.drawer:focus{outline:0}.top{top:0;inset-inline-end:auto;bottom:auto;inset-inline-start:0;width:100%;height:var(--size)}.end{top:0;inset-inline-end:0;bottom:auto;inset-inline-start:auto;width:var(--size);height:100%}.bottom{top:auto;inset-inline-end:auto;bottom:0;inset-inline-start:0;width:100%;height:var(--size)}.start{top:0;inset-inline-end:auto;bottom:auto;inset-inline-start:0;width:var(--size);height:100%}.header{display:flex;flex-wrap:nowrap;padding-inline-start:var(--spacing);padding-block-end:0;padding-inline-end:calc(var(--spacing) - var(--wa-form-control-padding-block));padding-block-start:calc(var(--spacing) - var(--wa-form-control-padding-block))}.title{align-self:center;flex:1 1 auto;font:inherit;font-size:var(--wa-font-size-l);font-weight:var(--wa-font-weight-heading);line-height:var(--wa-line-height-condensed);margin:0}.header-actions{align-self:start;display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:end;gap:var(--wa-space-2xs);padding-inline-start:var(--spacing)}.header-actions ::slotted(wa-button),.header-actions wa-button{flex:0 0 auto;display:flex;align-items:center}.body{flex:1 1 auto;display:block;padding:var(--spacing);overflow:auto;-webkit-overflow-scrolling:touch}.body:focus{outline:0}.body:focus-visible{outline:var(--wa-focus-ring);outline-offset:var(--wa-focus-ring-offset)}.footer{display:flex;flex-wrap:wrap;gap:var(--wa-space-xs);justify-content:end;padding:var(--spacing);padding-block-start:0}.footer ::slotted(wa-button:not(:last-of-type)){margin-inline-end:var(--wa-spacing-xs)}.drawer::backdrop{background-color:var(--wa-color-overlay-modal,rgb(0 0 0 / .25));-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}@keyframes pulse{0%{scale:1}50%{scale:1.01}100%{scale:1}}@keyframes show-drawer{from{opacity:0;scale:0.8}to{opacity:1;scale:1}}@keyframes show-drawer-from-top{from{opacity:0;translate:0 -100%}to{opacity:1;translate:0 0}}@keyframes show-drawer-from-end{from{opacity:0;translate:100%}to{opacity:1;translate:0 0}}@keyframes show-drawer-from-bottom{from{opacity:0;translate:0 100%}to{opacity:1;translate:0 0}}@keyframes show-drawer-from-start{from{opacity:0;translate:-100% 0}to{opacity:1;translate:0 0}}@keyframes show-backdrop{from{opacity:0}to{opacity:1}}@media (forced-colors:active){.drawer{border:solid 1px #fff}}`))},61366:function(e,t,o){o.a(e,async function(e,t){try{o(74423),o(3362),o(17642),o(58004),o(33853),o(45876),o(32475),o(15024),o(31698),o(62953);var a=o(5124),r=o(67576),i=o(6412),n=o(63672),s=o(17051),d=o(42462),l=o(28438),h=o(98779),c=o(27259),p=o(25877),u=o(984),w=o(95010),f=o(9395),m=o(717),b=o(40158),v=o(10416),g=e([b]);b=(g.then?(await g)():g)[0];let D,x=e=>e;var y=Object.defineProperty,k=Object.getOwnPropertyDescriptor,C=(e,t,o,a)=>{for(var r,i=a>1?void 0:a?k(t,o):t,n=e.length-1;n>=0;n--)(r=e[n])&&(i=(a?r(t,o,i):r(i))||i);return a&&i&&y(t,o,i),i};const E=new Set;let L=class extends m.A{connectedCallback(){super.connectedCallback(),this.id||(this.id=(0,w.N)("wa-popover-")),this.eventController.signal.aborted&&(this.eventController=new AbortController),this.for&&this.anchor&&(this.anchor=null,this.handleForChange())}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("keydown",this.handleDocumentKeyDown),(0,p.Fw)(this),this.eventController.abort()}firstUpdated(){this.open&&this.handleOpenChange()}updated(e){e.has("open")&&this.customStates.set("open",this.open)}async handleOpenChange(){if(this.open){const e=new h.k;if(this.dispatchEvent(e),e.defaultPrevented)return void(this.open=!1);E.forEach(e=>e.open=!1),document.addEventListener("keydown",this.handleDocumentKeyDown,{signal:this.eventController.signal}),document.addEventListener("click",this.handleDocumentClick,{signal:this.eventController.signal}),this.trapFocus?this.dialog.showModal():this.dialog.show(),this.popup.active=!0,E.add(this),(0,p.AZ)(this),requestAnimationFrame(()=>{const e=this.querySelector("[autofocus]");e&&"function"==typeof e.focus?e.focus():this.dialog.focus()}),this.popup.popup||await this.popup.updateComplete,await(0,c.Ud)(this.popup.popup,"show-with-scale"),this.popup.reposition(),this.dispatchEvent(new d.q)}else{const e=new l.L;if(this.dispatchEvent(e),e.defaultPrevented)return void(this.open=!0);document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("click",this.handleDocumentClick),E.delete(this),(0,p.Fw)(this),await(0,c.Ud)(this.popup.popup,"hide-with-scale"),this.popup.active=!1,this.dialog.close(),this.dispatchEvent(new s.Z)}}handleForChange(){const e=this.getRootNode();if(!e)return;const t=this.for?e.getElementById(this.for):null,o=this.anchor;if(t===o)return;const{signal:a}=this.eventController;t&&t.addEventListener("click",this.handleAnchorClick,{signal:a}),o&&o.removeEventListener("click",this.handleAnchorClick),this.anchor=t,this.for&&!t&&console.warn(`A popover was assigned to an element with an ID of "${this.for}" but the element could not be found.`,this)}async handleOptionsChange(){this.hasUpdated&&(await this.updateComplete,this.popup.reposition())}async show(){if(!this.open)return this.open=!0,(0,u.l)(this,"wa-after-show")}async hide(){if(this.open)return this.open=!1,(0,u.l)(this,"wa-after-hide")}handleDialogCancel(e){e.preventDefault(),this.dialog.classList.contains("hide")||(this.open=!1)}render(){return(0,a.qy)(D||(D=x` <dialog aria-labelledby="${0}" aria-describedby="${0}" part="dialog" class="dialog" @cancel="${0}"> <wa-popup part="popup" exportparts=" popup:popup__popup, arrow:popup__arrow " class="${0}" placement="${0}" distance="${0}" skidding="${0}" flip shift ?arrow="${0}" .anchor="${0}" .autoSize="${0}" .autoSizePadding="${0}"> <div part="body" class="body" @click="${0}"> <slot></slot> </div> </wa-popup> </dialog> `),(0,n.J)(this.ariaLabelledby),(0,n.J)(this.ariaDescribedby),this.handleDialogCancel,(0,i.H)({popover:!0,"popover-open":this.open}),this.placement,this.distance,this.skidding,!this.withoutArrow,this.anchor,this.autoSize,this.autoSizePadding,this.handleBodyClick)}constructor(){super(...arguments),this.anchor=null,this.placement="top",this.open=!1,this.distance=8,this.skidding=0,this.for=null,this.withoutArrow=!1,this.autoSizePadding=0,this.trapFocus=!1,this.eventController=new AbortController,this.handleAnchorClick=()=>{this.open=!this.open},this.handleBodyClick=e=>{e.stopPropagation();e.target.closest('[data-popover="close"]')&&(this.open=!1)},this.handleDocumentKeyDown=e=>{"Escape"===e.key&&this.open&&(0,p.a0)(this)&&(e.preventDefault(),e.stopPropagation(),this.open=!1,this.anchor&&"function"==typeof this.anchor.focus&&this.anchor.focus())},this.handleDocumentClick=e=>{this.anchor&&e.composedPath().includes(this.anchor)||e.composedPath().includes(this)||(this.open=!1)}}};L.css=v.A,L.dependencies={"wa-popup":b.A},C([(0,r.P)("dialog")],L.prototype,"dialog",2),C([(0,r.P)(".body")],L.prototype,"body",2),C([(0,r.P)("wa-popup")],L.prototype,"popup",2),C([(0,r.wk)()],L.prototype,"anchor",2),C([(0,r.MZ)()],L.prototype,"placement",2),C([(0,r.MZ)({type:Boolean,reflect:!0})],L.prototype,"open",2),C([(0,r.MZ)({type:Number})],L.prototype,"distance",2),C([(0,r.MZ)({type:Number})],L.prototype,"skidding",2),C([(0,r.MZ)()],L.prototype,"for",2),C([(0,r.MZ)({attribute:"without-arrow",type:Boolean,reflect:!0})],L.prototype,"withoutArrow",2),C([(0,r.MZ)({attribute:"auto-size"})],L.prototype,"autoSize",2),C([(0,r.MZ)({attribute:"auto-size-padding",type:Number})],L.prototype,"autoSizePadding",2),C([(0,r.MZ)({attribute:"trap-focus",type:Boolean})],L.prototype,"trapFocus",2),C([(0,r.MZ)({attribute:"aria-labelledby"})],L.prototype,"ariaLabelledby",2),C([(0,r.MZ)({attribute:"aria-describedby"})],L.prototype,"ariaDescribedby",2),C([(0,f.w)("open",{waitUntilFirstUpdate:!0})],L.prototype,"handleOpenChange",1),C([(0,f.w)("for")],L.prototype,"handleForChange",1),C([(0,f.w)(["distance","placement","skidding"])],L.prototype,"handleOptionsChange",1),L=C([(0,r.EM)("wa-popover")],L),t()}catch(D){t(D)}})},10416:function(e,t,o){o.d(t,{A:function(){return r}});let a;var r=(0,o(5124).AH)(a||(a=(e=>e)`:host{--arrow-size:0.375rem;--max-width:25rem;--show-duration:100ms;--hide-duration:100ms;display:contents;font-size:var(--wa-font-size-m);line-height:var(--wa-line-height-normal);text-align:start;white-space:normal}.dialog{display:none;position:fixed;inset:0;width:100%;height:100%;margin:0;padding:0;border:none;background:0 0;overflow:visible;pointer-events:none}.dialog:focus{outline:0}.dialog[open]{display:block}.popover{--arrow-size:inherit;--popup-border-width:var(--wa-panel-border-width);--show-duration:inherit;--hide-duration:inherit;pointer-events:auto}.popover::part(arrow){background-color:var(--wa-color-surface-default);border-top:none;border-left:none;border-bottom:solid var(--wa-panel-border-width) var(--wa-color-surface-border);border-right:solid var(--wa-panel-border-width) var(--wa-color-surface-border);box-shadow:none}.popover[placement^=top]::part(popup){transform-origin:bottom}.popover[placement^=bottom]::part(popup){transform-origin:top}.popover[placement^=left]::part(popup){transform-origin:right}.popover[placement^=right]::part(popup){transform-origin:left}.body{display:flex;flex-direction:column;width:auto;max-width:min(var(--max-width),100vw);padding:var(--wa-space-l);background-color:var(--wa-color-surface-default);border:var(--wa-panel-border-width) solid var(--wa-color-surface-border);border-radius:var(--wa-panel-border-radius);border-style:var(--wa-panel-border-style);box-shadow:var(--wa-shadow-l);color:var(--wa-color-text-normal);user-select:none;-webkit-user-select:none}.popover[data-current-placement^=bottom] .body,.popover[data-current-placement^=top] .body{max-width:min(var(--max-width),100vw - (var(--wa-space-m) * 2));margin-inline:var(--wa-space-m)}.popover[data-current-placement^=left] .body,.popover[data-current-placement^=right] .body{max-height:calc(100vh - (var(--wa-space-m) * 2));margin-block:var(--wa-space-m)}`))},95010:function(e,t,o){o.d(t,{q:function(){return r},N:function(){return i}});o(54743),o(11745),o(16573),o(78100),o(77936),o(21489),o(48140),o(75044),o(21903),o(91134),o(28845),o(373),o(37467),o(44732),o(79577),o(16632),o(34226),o(9486),o(20456);let a=(e=21)=>{let t="",o=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&o[e]];return t};function r(e,t,o){const a=e=>Object.is(e,-0)?0:e;return a(e<t?t:e>o?o:e)}function i(e=""){return`${e}${a()}`}},4444:function(e,t,o){o.d(t,{JG:function(){return r},Rt:function(){return n},I7:function(){return i}});o(27495),o(17642),o(58004),o(33853),o(45876),o(32475),o(15024),o(31698),o(25440),o(62953);const a=new Set;function r(e){if(a.add(e),!document.documentElement.classList.contains("wa-scroll-lock")){const e=function(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}()+function(){const e=Number(getComputedStyle(document.body).paddingRight.replace(/px/,""));return isNaN(e)||!e?0:e}();let t=getComputedStyle(document.documentElement).scrollbarGutter;t&&"auto"!==t||(t="stable"),e<2&&(t=""),document.documentElement.style.setProperty("--wa-scroll-lock-gutter",t),document.documentElement.classList.add("wa-scroll-lock"),document.documentElement.style.setProperty("--wa-scroll-lock-size",`${e}px`)}}function i(e){a.delete(e),0===a.size&&(document.documentElement.classList.remove("wa-scroll-lock"),document.documentElement.style.removeProperty("--wa-scroll-lock-size"))}function n(e,t,o="vertical",a="smooth"){const r=function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),i=r.top+t.scrollTop,n=r.left+t.scrollLeft,s=t.scrollLeft,d=t.scrollLeft+t.offsetWidth,l=t.scrollTop,h=t.scrollTop+t.offsetHeight;"horizontal"!==o&&"both"!==o||(n<s?t.scrollTo({left:n,behavior:a}):n+e.clientWidth>d&&t.scrollTo({left:n-t.offsetWidth+e.clientWidth,behavior:a})),"vertical"!==o&&"both"!==o||(i<l?t.scrollTo({top:i,behavior:a}):i+e.clientHeight>h&&t.scrollTo({top:i-t.offsetHeight+e.clientHeight,behavior:a}))}}}]);