define(['jquery','jquery-ui-modules/widget','mage/menu'],function($){$.widget('tcs.menu',$.mage.menu,{options:{breakpoint:768,mediaBreakpoint:'(max-width:768px)'},_init:function(){var that=this;this._super();$(window).on('resize',function(){that._adjustMobile();});that._adjustMobile();},_adjustMobile:function(){var navSections=$(".nav-sections");if($(window).width() .nav-sections-items"),navSectionsBottom=navSectionsItems.offset().top+navSectionsItems.outerHeight(),viewportHeight=$(window).height();navSections.css("bottom",(navSectionsBottom a':function(event){event.preventDefault();},'click .ui-state-disabled > a':function(event){event.preventDefault();},'click .ui-menu-item:has(a)':function(event){var target=$(event.target).closest('.ui-menu-item');if(!this.mouseHandled&&target.not('.ui-state-disabled').length){this.select(event);if(!event.isPropagationStopped()){this.mouseHandled=true;} if(target.has('.ui-menu').length){this.expand(event);}else if(!this.element.is(':focus')&&$(this.document[0].activeElement).closest('.ui-menu').length){this.element.trigger('focus',[true]);if(this.active&&this.active.parents('.ui-menu').length===1){clearTimeout(this.timer);}}}},'mouseenter .ui-menu-item':function(event){var target=$(event.currentTarget),submenu=this.options.menus,ulElement,ulElementWidth,width,targetPageX,rightBound;if(target.has(submenu)){ulElement=target.find(submenu);ulElementWidth=ulElement.outerWidth(true);width=target.outerWidth()*2;targetPageX=target.offset().left;rightBound=$(window).width();if(ulElementWidth+width+targetPageX>rightBound){ulElement.addClass('submenu-reverse');} if(targetPageX-ulElementWidth<0){ulElement.removeClass('submenu-reverse');}} target.siblings().children('.ui-state-active').removeClass('ui-state-active');this.showMenu=true;if(target.hasClass('level0')){this._delay(function(){if(this.showMenu){this.focus(event,target);}},400);}else{this.focus(event,target);}},'mouseleave':function(event){this.collapseAll(event,true);this.showMenu=false;},'mouseleave .ui-menu':'collapseAll'});categoryParent=this.element.find('.all-category');html=$('html');categoryParent.remove();if(html.hasClass('nav-open')){html.removeClass('nav-open');setTimeout(function(){html.removeClass('nav-before-open');},this.options.hideDelay);}},});return $.tcs.menu;});