function _setup(t,i){this.$element=t;this.options=e.extend({},DropdownMenu.defaults,this.$element.data(),i);this.className="DropdownMenu";f.init(e);this._init();l.register("DropdownMenu",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close"})}},{key:"_init",value:function _init(){u.Feather(this.$element,"dropdown");var e=this.$element.find("li.is-dropdown-submenu-parent");this.$element.children(".is-dropdown-submenu-parent").children(".is-dropdown-submenu").addClass("first-sub");this.$menuItems=this.$element.find('li[role="none"]');this.$tabs=this.$element.children('li[role="none"]');this.$tabs.find("ul.is-dropdown-submenu").addClass(this.options.verticalClass);if("auto"===this.options.alignment)if(this.$element.hasClass(this.options.rightClass)||rtl()||this.$element.parents(".top-bar-right").is("*")){this.options.alignment="right";e.addClass("opens-left")}else{this.options.alignment="left";e.addClass("opens-right")}else"right"===this.options.alignment?e.addClass("opens-left"):e.addClass("opens-right");this.changed=false;this._events()}},{key:"_isVertical",value:function _isVertical(){return"block"===this.$tabs.css("display")||"column"===this.$element.css("flex-direction")}},{key:"_isRtl",value:function _isRtl(){return this.$element.hasClass("align-right")||rtl()&&!this.$element.hasClass("align-left")}},{key:"_events",value:function _events(){var t=this,i="ontouchstart"in window||"undefined"!==typeof window.ontouchstart,n="is-dropdown-submenu-parent";var s=function handleClickFn(s){var a=e(s.target).parentsUntil("ul",".".concat(n)),o=a.hasClass(n),r="true"===a.attr("data-is-click"),l=a.children(".is-dropdown-submenu");if(o)if(r){if(!t.options.closeOnClick||!t.options.clickOpen&&!i||t.options.forceFollow&&i)return;s.stopImmediatePropagation();s.preventDefault();t._hide(a)}else{s.stopImmediatePropagation();s.preventDefault();t._show(l);a.add(a.parentsUntil(t.$element,".".concat(n))).attr("data-is-click",true)}};(this.options.clickOpen||i)&&this.$menuItems.on("click.zf.dropdownMenu touchstart.zf.dropdownMenu",s);t.options.closeOnClickInside&&this.$menuItems.on("click.zf.dropdownMenu",(function(){var i=e(this),s=i.hasClass(n);s||t._hide()}));i&&this.options.disableHoverOnTouch&&(this.options.disableHover=true);this.options.disableHover||this.$menuItems.on("mouseenter.zf.dropdownMenu",(function(){var i=e(this),s=i.hasClass(n);if(s){clearTimeout(i.data("_delay"));i.data("_delay",setTimeout((function(){t._show(i.children(".is-dropdown-submenu"))}),t.options.hoverDelay))}})).on("mouseleave.zf.dropdownMenu",ignoreMousedisappear((function(){var i=e(this),s=i.hasClass(n);if(s&&t.options.autoclose){if("true"===i.attr("data-is-click")&&t.options.clickOpen)return false;clearTimeout(i.data("_delay"));i.data("_delay",setTimeout((function(){t._hide(i)}),t.options.closingTime))}})));this.$menuItems.on("keydown.zf.dropdownMenu",(function(i){var n,s,a=e(i.target).parentsUntil("ul",'[role="none"]'),o=t.$tabs.index(a)>-1,r=o?t.$tabs:a.siblings("li").add(a);r.each((function(t){if(e(this).is(a)){n=r.eq(t-1);s=r.eq(t+1)}else;}));var c=function nextSibling(){s.children("a:first").focus();i.preventDefault()},h=function prevSibling(){n.children("a:first").focus();i.preventDefault()},d=function openSub(){var e=a.children("ul.is-dropdown-submenu");if(e.length){t._show(e);a.find("li > a:first").focus();i.preventDefault()}},u=function closeSub(){var e=a.parent("ul").parent("li");e.children("a:first").focus();t._hide(e);i.preventDefault()};var f={open:d,close:function close(){t._hide(t.$element);t.$menuItems.eq(0).children("a").focus();i.preventDefault()}};o?t._isVertical()?t._isRtl()?e.extend(f,{down:c,up:h,next:u,previous:d}):e.extend(f,{down:c,up:h,next:d,previous:u}):t._isRtl()?e.extend(f,{next:h,previous:c,down:d,up:u}):e.extend(f,{next:c,previous:h,down:d,up:u}):t._isRtl()?e.extend(f,{next:u,previous:d,down:c,up:h}):e.extend(f,{next:d,previous:u,down:c,up:h});l.handleKey(i,"DropdownMenu",f)}))}},{key:"_addBodyHandler",value:function _addBodyHandler(){var t=this;var i=e(document.body);this._removeBodyHandler();i.on("click.zf.dropdownMenu tap.zf.dropdownMenu",(function(i){var n=!!e(i.target).closest(t.$element).length;if(!n){t._hide();t._removeBodyHandler()}}))}},{key:"_removeBodyHandler",value:function _removeBodyHandler(){e(document.body).off("click.zf.dropdownMenu tap.zf.dropdownMenu")}