iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
3 lines • 7.46 kB
JavaScript
/*! For license information please see 76945.1d41af80b6e3f0d8.js.LICENSE.txt */
export const __webpack_ids__=["76945"];export const __webpack_modules__={74763:function(e,t,s){s.d(t,{l:()=>h});var i=s(9065),o=s(15093),n=(s(67351),s(9359),s(56475),s(1331),s(57243)),r=s(4077);class a extends n.oi{get chips(){return this.childElements.filter((e=>e instanceof r.A))}constructor(){super(),this.internals=this.attachInternals(),n.sk||(this.addEventListener("focusin",this.updateTabIndices.bind(this)),this.addEventListener("update-focus",this.updateTabIndices.bind(this)),this.addEventListener("keydown",this.handleKeyDown.bind(this)),this.internals.role="toolbar")}render(){return n.dy`<slot ="${this.updateTabIndices}"></slot>`}handleKeyDown(e){const t="ArrowLeft"===e.key,s="ArrowRight"===e.key,i="Home"===e.key,o="End"===e.key;if(!(t||s||i||o))return;const{chips:n}=this;if(n.length<2)return;if(e.preventDefault(),i||o){return n[i?0:n.length-1].focus({trailing:o}),void this.updateTabIndices()}const r="rtl"===getComputedStyle(this).direction?t:s,a=n.find((e=>e.matches(":focus-within")));if(!a){return(r?n[0]:n[n.length-1]).focus({trailing:!r}),void this.updateTabIndices()}const d=n.indexOf(a);let h=r?d+1:d-1;for(;h!==d;){h>=n.length?h=0:h<0&&(h=n.length-1);const e=n[h];if(!e.disabled||e.alwaysFocusable){e.focus({trailing:!r}),this.updateTabIndices();break}r?h++:h--}}updateTabIndices(){const{chips:e}=this;let t;for(const s of e){const e=s.alwaysFocusable||!s.disabled;s.matches(":focus-within")&&e?t=s:(e&&!t&&(t=s),s.tabIndex=-1)}t&&(t.tabIndex=0)}}(0,i.__decorate)([(0,o.NH)()],a.prototype,"childElements",void 0);const d=n.iv`:host{display:flex;flex-wrap:wrap;gap:8px}`;let h=class extends a{};h.styles=[d],h=(0,i.__decorate)([(0,o.Mo)("md-chip-set")],h)},1231:function(e,t,s){s.d(t,{B:()=>d});var i=s(9065),o=s(15093),n=s(57243);class r extends n.oi{constructor(){super(...arguments),this.inset=!1,this.insetStart=!1,this.insetEnd=!1}}(0,i.__decorate)([(0,o.Cb)({type:Boolean,reflect:!0})],r.prototype,"inset",void 0),(0,i.__decorate)([(0,o.Cb)({type:Boolean,reflect:!0,attribute:"inset-start"})],r.prototype,"insetStart",void 0),(0,i.__decorate)([(0,o.Cb)({type:Boolean,reflect:!0,attribute:"inset-end"})],r.prototype,"insetEnd",void 0);const a=n.iv`:host{box-sizing:border-box;color:var(--md-divider-color,var(--md-sys-color-outline-variant,#cac4d0));display:flex;height:var(--md-divider-thickness,1px);width:100%}:host([inset-start]),:host([inset]){padding-inline-start:16px}:host([inset-end]),:host([inset]){padding-inline-end:16px}:host::before{background:currentColor;content:"";height:100%;width:100%} {:host::before{background:CanvasText}}`;let d=class extends r{};d.styles=[a],d=(0,i.__decorate)([(0,o.Mo)("md-divider")],d)},92264:function(e,t,s){s.d(t,{f:()=>u});var i=s(9065),o=s(15093),n=(s(92745),s(57243)),r=s(64840),a=s(7162),d=s(9235);class h extends n.oi{get item(){return this.items[0]??null}get menu(){return this.menus[0]??null}constructor(){super(),this.anchorCorner=d.Ns.START_END,this.menuCorner=d.Ns.START_START,this.hoverOpenDelay=400,this.hoverCloseDelay=400,this.isSubMenu=!0,this.previousOpenTimeout=0,this.previousCloseTimeout=0,this.onMouseenter=()=>{clearTimeout(this.previousOpenTimeout),clearTimeout(this.previousCloseTimeout),this.menu?.open||(this.hoverOpenDelay?this.previousOpenTimeout=setTimeout((()=>{this.show()}),this.hoverOpenDelay):this.show())},this.onMouseleave=()=>{clearTimeout(this.previousCloseTimeout),clearTimeout(this.previousOpenTimeout),this.hoverCloseDelay?this.previousCloseTimeout=setTimeout((()=>{this.close()}),this.hoverCloseDelay):this.close()},n.sk||(this.addEventListener("mouseenter",this.onMouseenter),this.addEventListener("mouseleave",this.onMouseleave))}render(){return n.dy` <slot name="item" ="${this.onClick}" ="${this.onKeydown}" ="${this.onSlotchange}"> </slot> <slot name="menu" ="${this.onSubMenuKeydown}" -menu="${this.onCloseSubmenu}" ="${this.onSlotchange}"> </slot> `}firstUpdated(){this.onSlotchange()}async show(){const e=this.menu;if(!e||e.open)return;e.addEventListener("closed",(()=>{this.item.ariaExpanded="false",this.dispatchEvent((0,a.YU)()),this.dispatchEvent((0,r.NS)()),e.ariaHidden="true"}),{once:!0}),"document"===e.positioning&&(e.positioning="absolute"),e.quick=!0,e.hasOverflow=!0,e.anchorCorner=this.anchorCorner,e.menuCorner=this.menuCorner,e.anchorElement=this.item,e.defaultFocus="first-item",e.removeAttribute("aria-hidden"),e.skipRestoreFocus=!1;const t=e.open;if(e.show(),this.item.ariaExpanded="true",this.item.ariaHasPopup="menu",e.id&&this.item.setAttribute("aria-controls",e.id),this.dispatchEvent((0,r.NS)()),this.dispatchEvent((0,a.Ti)()),this.item.selected=!0,!t){let t=e=>{};const s=new Promise((e=>{t=e}));e.addEventListener("opened",t,{once:!0}),await s}}async close(){const e=this.menu;if(!e||!e.open)return;this.dispatchEvent((0,a.YU)()),e.quick=!0,e.close(),this.dispatchEvent((0,r.NS)());let t=e=>{};const s=new Promise((e=>{t=e}));e.addEventListener("closed",t,{once:!0}),await s}onSlotchange(){if(!this.item)return;this.item.ariaExpanded="false",this.item.ariaHasPopup="menu",this.menu?.id&&this.item.setAttribute("aria-controls",this.menu.id),this.item.keepOpen=!0;const e=this.menu;e&&(e.isSubmenu=!0,e.ariaHidden="true")}onClick(){this.show()}async onKeydown(e){const t=this.isSubmenuOpenKey(e.code);if(e.defaultPrevented)return;const s=t&&(a.wg.LEFT===e.code||a.wg.RIGHT===e.code);if((e.code===a.LE.SPACE||s)&&(e.preventDefault(),s&&e.stopPropagation()),!t)return;const i=this.menu;if(!i)return;const o=i.items,n=(0,r.B3)(o);return n?(await this.show(),n.tabIndex=0,void n.focus()):void 0}onCloseSubmenu(e){const{itemPath:t,reason:s}=e.detail;if(t.push(this.item),this.dispatchEvent((0,a.YU)()),s.kind===a.GB.KEYDOWN&&s.key===a.KC.ESCAPE)return e.stopPropagation(),void this.item.dispatchEvent((0,r.oh)());this.dispatchEvent((0,r.NS)())}async onSubMenuKeydown(e){if(e.defaultPrevented)return;const{close:t,keyCode:s}=this.isSubmenuCloseKey(e.code);t&&(e.preventDefault(),s!==a.wg.LEFT&&s!==a.wg.RIGHT||e.stopPropagation(),await this.close(),(0,r.tq)(this.menu.items),this.item?.focus(),this.item.tabIndex=0,this.item.focus())}isSubmenuOpenKey(e){switch(e){case"rtl"===getComputedStyle(this).direction?a.wg.LEFT:a.wg.RIGHT:case a.LE.SPACE:case a.LE.ENTER:return!0;default:return!1}}isSubmenuCloseKey(e){switch(e){case"rtl"===getComputedStyle(this).direction?a.wg.RIGHT:a.wg.LEFT:case a.KC.ESCAPE:return{close:!0,keyCode:e};default:return{close:!1}}}}(0,i.__decorate)([(0,o.Cb)({attribute:"anchor-corner"})],h.prototype,"anchorCorner",void 0),(0,i.__decorate)([(0,o.Cb)({attribute:"menu-corner"})],h.prototype,"menuCorner",void 0),(0,i.__decorate)([(0,o.Cb)({type:Number,attribute:"hover-open-delay"})],h.prototype,"hoverOpenDelay",void 0),(0,i.__decorate)([(0,o.Cb)({type:Number,attribute:"hover-close-delay"})],h.prototype,"hoverCloseDelay",void 0),(0,i.__decorate)([(0,o.Cb)({type:Boolean,reflect:!0,attribute:"md-sub-menu"})],h.prototype,"isSubMenu",void 0),(0,i.__decorate)([(0,o.NH)({slot:"item",flatten:!0})],h.prototype,"items",void 0),(0,i.__decorate)([(0,o.NH)({slot:"menu",flatten:!0})],h.prototype,"menus",void 0);const c=n.iv`:host{position:relative;display:flex;flex-direction:column}`;let u=class extends h{};u.styles=[c],u=(0,i.__decorate)([(0,o.Mo)("md-sub-menu")],u)}};
//# sourceMappingURL=76945.1d41af80b6e3f0d8.js.map