iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
3 lines • 10.4 kB
JavaScript
/*! For license information please see 56898.1f670d7dde780ffa.js.LICENSE.txt */
export const __webpack_ids__=["56898"];export const __webpack_modules__={22997:function(e,t,n){var o,i,s=n(9065),r=n(15093),d=(n(22139),n(2060),n(81843),{MENU_SELECTED_LIST_ITEM:"mdc-menu-item--selected",MENU_SELECTION_GROUP:"mdc-menu__selection-group",ROOT:"mdc-menu"}),l={ARIA_CHECKED_ATTR:"aria-checked",ARIA_DISABLED_ATTR:"aria-disabled",CHECKBOX_SELECTOR:'input[type="checkbox"]',LIST_SELECTOR:".mdc-list,.mdc-deprecated-list",SELECTED_EVENT:"MDCMenu:selected",SKIP_RESTORE_FOCUS:"data-menu-item-skip-restore-focus"},a={FOCUS_ROOT_INDEX:-1};(i=o||(o={}))[i.NONE=0]="NONE",i[i.LIST_ROOT=1]="LIST_ROOT",i[i.FIRST_ITEM=2]="FIRST_ITEM",i[i.LAST_ITEM=3]="LAST_ITEM";var c=n(80573),u=n(1328),m=n(94280);const p=function(e){function t(n){var i=e.call(this,(0,s.__assign)((0,s.__assign)({},t.defaultAdapter),n))||this;return i.closeAnimationEndTimerId=0,i.defaultFocusState=o.LIST_ROOT,i.selectedIndex=-1,i}return(0,s.__extends)(t,e),Object.defineProperty(t,"cssClasses",{get:function(){return d},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return l},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return a},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{addClassToElementAtIndex:function(){},removeClassFromElementAtIndex:function(){},addAttributeToElementAtIndex:function(){},removeAttributeFromElementAtIndex:function(){},getAttributeFromElementAtIndex:function(){return null},elementContainsClass:function(){return!1},closeSurface:function(){},getElementIndex:function(){return-1},notifySelected:function(){},getMenuItemCount:function(){return 0},focusItemAtIndex:function(){},focusListRoot:function(){},getSelectedSiblingOfItemAtIndex:function(){return-1},isSelectableItemAtIndex:function(){return!1}}},enumerable:!1,configurable:!0}),t.prototype.destroy=function(){this.closeAnimationEndTimerId&&clearTimeout(this.closeAnimationEndTimerId),this.adapter.closeSurface()},t.prototype.handleKeydown=function(e){var t=e.key,n=e.keyCode;("Tab"===t||9===n)&&this.adapter.closeSurface(!0)},t.prototype.handleItemAction=function(e){var t=this,n=this.adapter.getElementIndex(e);if(!(n<0)){this.adapter.notifySelected({index:n});var o="true"===this.adapter.getAttributeFromElementAtIndex(n,l.SKIP_RESTORE_FOCUS);this.adapter.closeSurface(o),this.closeAnimationEndTimerId=setTimeout((function(){var n=t.adapter.getElementIndex(e);n>=0&&t.adapter.isSelectableItemAtIndex(n)&&t.setSelectedIndex(n)}),m.k.numbers.TRANSITION_CLOSE_DURATION)}},t.prototype.handleMenuSurfaceOpened=function(){switch(this.defaultFocusState){case o.FIRST_ITEM:this.adapter.focusItemAtIndex(0);break;case o.LAST_ITEM:this.adapter.focusItemAtIndex(this.adapter.getMenuItemCount()-1);break;case o.NONE:break;default:this.adapter.focusListRoot()}},t.prototype.setDefaultFocusState=function(e){this.defaultFocusState=e},t.prototype.getSelectedIndex=function(){return this.selectedIndex},t.prototype.setSelectedIndex=function(e){if(this.validatedIndex(e),!this.adapter.isSelectableItemAtIndex(e))throw new Error("MDCMenuFoundation: No selection group at specified index.");var t=this.adapter.getSelectedSiblingOfItemAtIndex(e);t>=0&&(this.adapter.removeAttributeFromElementAtIndex(t,l.ARIA_CHECKED_ATTR),this.adapter.removeClassFromElementAtIndex(t,d.MENU_SELECTED_LIST_ITEM)),this.adapter.addClassToElementAtIndex(e,d.MENU_SELECTED_LIST_ITEM),this.adapter.addAttributeToElementAtIndex(e,l.ARIA_CHECKED_ATTR,"true"),this.selectedIndex=e},t.prototype.setEnabled=function(e,t){this.validatedIndex(e),t?(this.adapter.removeClassFromElementAtIndex(e,u.UX.LIST_ITEM_DISABLED_CLASS),this.adapter.addAttributeToElementAtIndex(e,l.ARIA_DISABLED_ATTR,"false")):(this.adapter.addClassToElementAtIndex(e,u.UX.LIST_ITEM_DISABLED_CLASS),this.adapter.addAttributeToElementAtIndex(e,l.ARIA_DISABLED_ATTR,"true"))},t.prototype.validatedIndex=function(e){var t=this.adapter.getMenuItemCount();if(!(e>=0&&e<t))throw new Error("MDCMenuFoundation: No list item at specified index.")},t}(c.K);var h=n(11911),_=n(78611),f=n(57243),I=n(35359);n(26625);class E extends h.H{constructor(){super(...arguments),this.mdcFoundationClass=p,this.listElement_=null,this.anchor=null,this.open=!1,this.quick=!1,this.wrapFocus=!1,this.innerRole="menu",this.innerAriaLabel=null,this.corner="TOP_START",this.x=null,this.y=null,this.absolute=!1,this.multi=!1,this.activatable=!1,this.fixed=!1,this.forceGroupSelection=!1,this.fullwidth=!1,this.menuCorner="START",this.stayOpenOnBodyClick=!1,this.defaultFocus="LIST_ROOT",this._listUpdateComplete=null}get listElement(){return this.listElement_||(this.listElement_=this.renderRoot.querySelector("mwc-list")),this.listElement_}get items(){const e=this.listElement;return e?e.items:[]}get index(){const e=this.listElement;return e?e.index:-1}get selected(){const e=this.listElement;return e?e.selected:null}render(){return this.renderSurface()}renderSurface(){const e=this.getSurfaceClasses();return f.dy` <mwc-menu-surface ?hidden="${!this.open}" .anchor="${this.anchor}" .open="${this.open}" .quick="${this.quick}" .corner="${this.corner}" .x="${this.x}" .y="${this.y}" .absolute="${this.absolute}" .fixed="${this.fixed}" .fullwidth="${this.fullwidth}" .menuCorner="${this.menuCorner}" ?stayOpenOnBodyClick="${this.stayOpenOnBodyClick}" class="${(0,I.$)(e)}" ="${this.onClosed}" ="${this.onOpened}" ="${this.onKeydown}"> ${this.renderList()} </mwc-menu-surface>`}getSurfaceClasses(){return{"mdc-menu":!0,"mdc-menu-surface":!0}}renderList(){const e="menu"===this.innerRole?"menuitem":"option",t=this.renderListClasses();return f.dy` <mwc-list rootTabbable .innerAriaLabel="${this.innerAriaLabel}" .innerRole="${this.innerRole}" .multi="${this.multi}" class="${(0,I.$)(t)}" .itemRoles="${e}" .wrapFocus="${this.wrapFocus}" .activatable="${this.activatable}" ="${this.onAction}"> <slot></slot> </mwc-list>`}renderListClasses(){return{"mdc-deprecated-list":!0}}createAdapter(){return{addClassToElementAtIndex:(e,t)=>{const n=this.listElement;if(!n)return;const o=n.items[e];o&&("mdc-menu-item--selected"===t?this.forceGroupSelection&&!o.selected&&n.toggle(e,!0):o.classList.add(t))},removeClassFromElementAtIndex:(e,t)=>{const n=this.listElement;if(!n)return;const o=n.items[e];o&&("mdc-menu-item--selected"===t?o.selected&&n.toggle(e,!1):o.classList.remove(t))},addAttributeToElementAtIndex:(e,t,n)=>{const o=this.listElement;if(!o)return;const i=o.items[e];i&&i.setAttribute(t,n)},removeAttributeFromElementAtIndex:(e,t)=>{const n=this.listElement;if(!n)return;const o=n.items[e];o&&o.removeAttribute(t)},getAttributeFromElementAtIndex:(e,t)=>{const n=this.listElement;if(!n)return null;const o=n.items[e];return o?o.getAttribute(t):null},elementContainsClass:(e,t)=>e.classList.contains(t),closeSurface:()=>{this.open=!1},getElementIndex:e=>{const t=this.listElement;return t?t.items.indexOf(e):-1},notifySelected:()=>{},getMenuItemCount:()=>{const e=this.listElement;return e?e.items.length:0},focusItemAtIndex:e=>{const t=this.listElement;if(!t)return;const n=t.items[e];n&&n.focus()},focusListRoot:()=>{this.listElement&&this.listElement.focus()},getSelectedSiblingOfItemAtIndex:e=>{const t=this.listElement;if(!t)return-1;const n=t.items[e];if(!n||!n.group)return-1;for(let o=0;o<t.items.length;o++){if(o===e)continue;const i=t.items[o];if(i.selected&&i.group===n.group)return o}return-1},isSelectableItemAtIndex:e=>{const t=this.listElement;if(!t)return!1;const n=t.items[e];return!!n&&n.hasAttribute("group")}}}onKeydown(e){this.mdcFoundation&&this.mdcFoundation.handleKeydown(e)}onAction(e){const t=this.listElement;if(this.mdcFoundation&&t){const n=e.detail.index,o=t.items[n];o&&this.mdcFoundation.handleItemAction(o)}}onOpened(){this.open=!0,this.mdcFoundation&&this.mdcFoundation.handleMenuSurfaceOpened()}onClosed(){this.open=!1}async getUpdateComplete(){await this._listUpdateComplete;return await super.getUpdateComplete()}async firstUpdated(){super.firstUpdated();const e=this.listElement;e&&(this._listUpdateComplete=e.updateComplete,await this._listUpdateComplete)}select(e){const t=this.listElement;t&&t.select(e)}close(){this.open=!1}show(){this.open=!0}getFocusedItemIndex(){const e=this.listElement;return e?e.getFocusedItemIndex():-1}focusItemAtIndex(e){const t=this.listElement;t&&t.focusItemAtIndex(e)}layout(e=!0){const t=this.listElement;t&&t.layout(e)}}(0,s.__decorate)([(0,r.IO)(".mdc-menu")],E.prototype,"mdcRoot",void 0),(0,s.__decorate)([(0,r.IO)("slot")],E.prototype,"slotElement",void 0),(0,s.__decorate)([(0,r.Cb)({type:Object})],E.prototype,"anchor",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean,reflect:!0})],E.prototype,"open",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"quick",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"wrapFocus",void 0),(0,s.__decorate)([(0,r.Cb)({type:String})],E.prototype,"innerRole",void 0),(0,s.__decorate)([(0,r.Cb)({type:String})],E.prototype,"innerAriaLabel",void 0),(0,s.__decorate)([(0,r.Cb)({type:String})],E.prototype,"corner",void 0),(0,s.__decorate)([(0,r.Cb)({type:Number})],E.prototype,"x",void 0),(0,s.__decorate)([(0,r.Cb)({type:Number})],E.prototype,"y",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"absolute",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"multi",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"activatable",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"fixed",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"forceGroupSelection",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"fullwidth",void 0),(0,s.__decorate)([(0,r.Cb)({type:String})],E.prototype,"menuCorner",void 0),(0,s.__decorate)([(0,r.Cb)({type:Boolean})],E.prototype,"stayOpenOnBodyClick",void 0),(0,s.__decorate)([(0,r.Cb)({type:String}),(0,_.P)((function(e){this.mdcFoundation&&this.mdcFoundation.setDefaultFocusState(o[e])}))],E.prototype,"defaultFocus",void 0);const A=f.iv`mwc-list ::slotted([mwc-list-item]:not([twoline])),mwc-list ::slotted([noninteractive]:not([twoline])){height:var(--mdc-menu-item-height,48px)}`;let S=class extends E{};S.styles=[A],S=(0,s.__decorate)([(0,r.Mo)("mwc-menu")],S)}};
//# sourceMappingURL=56898.1f670d7dde780ffa.js.map