var MenuItem=function(e,t){"object"!=typeof popupObj&&(popupObj=!1),this.domNode=e,this.menu=t,this.popupMenu=!1,this.isMenubarItem=!1,this.keyCode=Object.freeze({TAB:9,RETURN:13,ESC:27,SPACE:32,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40})};MenuItem.prototype.init=function(){this.domNode.tabIndex=-1,this.domNode.addEventListener("keydown",this.handleKeydown.bind(this)),this.domNode.addEventListener("click",this.handleClick.bind(this)),this.domNode.addEventListener("focus",this.handleFocus.bind(this)),this.domNode.addEventListener("blur",this.handleBlur.bind(this)),this.domNode.addEventListener("mouseover",this.handleMouseover.bind(this)),this.domNode.addEventListener("mouseout",this.handleMouseout.bind(this));var e=this.domNode.nextElementSibling;e&&"UL"===e.tagName&&0!==e.childElementCount&&(this.popupMenu=new PopupMenu(e,this),this.popupMenu.init())},MenuItem.prototype.isExpanded=function(){return"true"===this.domNode.getAttribute("aria-expanded")},MenuItem.prototype.handleKeydown=function(e){var t,s,o=e.currentTarget,n=e.key,i=!1;switch(e.keyCode){case this.keyCode.SPACE:case this.keyCode.RETURN:if(this.popupMenu)this.popupMenu.open(),this.popupMenu.setFocusToFirstItem();else{try{t=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0})}catch(e){document.createEvent&&(t=document.createEvent("MouseEvents")).initEvent("click",!0,!0)}o.dispatchEvent(t)}i=!0;break;case this.keyCode.UP:this.menu.setFocusToPreviousItem(this),i=!0;break;case this.keyCode.DOWN:this.menu.setFocusToNextItem(this),i=!0;break;case this.keyCode.LEFT:this.menu.setFocusToController("previous",!0),this.menu.close(!0),i=!0;break;case this.keyCode.RIGHT:this.popupMenu?(this.popupMenu.open(),this.popupMenu.setFocusToFirstItem()):(this.menu.setFocusToController("next",!0),this.menu.close(!0)),i=!0;break;case this.keyCode.HOME:case this.keyCode.PAGEUP:this.menu.setFocusToFirstItem(),i=!0;break;case this.keyCode.END:case this.keyCode.PAGEDOWN:this.menu.setFocusToLastItem(),i=!0;break;case this.keyCode.ESC:this.menu.setFocusToController(),this.menu.close(!0),i=!0;break;case this.keyCode.TAB:this.menu.setFocusToController();break;default:1===(s=n).length&&s.match(/\S/)&&(this.menu.setFocusByFirstCharacter(this,n),i=!0)}i&&(e.stopPropagation(),e.preventDefault())},MenuItem.prototype.setExpanded=function(e){e?this.domNode.setAttribute("aria-expanded","true"):this.domNode.setAttribute("aria-expanded","false")},MenuItem.prototype.handleClick=function(e){this.menu.setFocusToController(),this.menu.close(!0)},MenuItem.prototype.handleFocus=function(e){this.menu.hasFocus=!0},MenuItem.prototype.handleBlur=function(e){this.menu.hasFocus=!1,setTimeout(this.menu.close.bind(this.menu,!1),300)},MenuItem.prototype.handleMouseover=function(e){this.menu.hasHover=!0,this.menu.open(),this.popupMenu&&(this.popupMenu.hasHover=!0,this.popupMenu.open())},MenuItem.prototype.handleMouseout=function(e){this.popupMenu&&(this.popupMenu.hasHover=!1,this.popupMenu.close(!0)),this.menu.hasHover=!1,setTimeout(this.menu.close.bind(this.menu,!1),300)};