ultimenu-8.x-2.x-dev/js/ultimenu.base.min.js
js/ultimenu.base.min.js
!function(o,n,t,s,a,l){"use strict";var r="ultimenu",e="active",i="expanded",u="is-"+r,d="is-ulti",c=d+"desktop",f=d+"mobile",v=d+"sticky",h=u+"--"+i,m=u+"--"+e,C=u+"--hover",p=u+"--hiding",g="is-uitem-"+i,b="is-ulink-"+e,k="data-ultiajax-hit",$=!1,y=!1,_="hidden",A="is-flyout-"+i,x=".ultimenu__link",T="."+r+"__ajax",H="data-ultiajax-trigger",j=u+"__canvas-off",O=u+"__canvas-on",P=u+"__backdrop",w=r+"__caret",z="."+P,B=".button--ultiburger",F=void 0,D=void 0,E="addClass",I="removeClass",N="touchevents",S=t.ultimenu||{};"touchOrNot"in o&&o.touchOrNot(),n.ultimenu={$backdrop:null,$hamburger:null,$offCanvas:null,isInvalid:function(t,e){return!o.is(t.target,e)||"dblclick"===t.type},viewport:function(){var t=o.windowSize().height/100;l.style.setProperty("--vh",t+"px")},breakpoints:function(){function t(t){setTimeout(function(){e.viewport(),o.removeClass(l,[m,C,h,v]),e.closeFlyout(),t&&t.matches||t===N?(o.addClass(l,[f,m]),o.removeClass(l,c),o.trigger(s,"ultimenu:touch")):($||e.isHidden(o.find(a,B)||e.$hamburger)?(o.addClass(l,C),y&&(o.addClass(l,v),e.$offCanvas&&setTimeout(function(){var t=e.$offCanvas.offsetHeight;l.style.setProperty("--ultiheader",t+"px")},101))):o.addClass(l,m),o.addClass(l,c),o.removeClass(l,f),o.trigger(s,"ultimenu:desktop"))})}var e=this;t(o.isTouch(t)?N:null)},onClickHamburger:function(t){var e=this;t.preventDefault(),t.stopPropagation();var i=t.target,a=o.hasClass(l,h);if(e.isInvalid(t,B))return!1;s.setTimeout(function(){o[a?I:E](l,h),o[a?I:E](i,"is-ubtn-active"),e.closeFlyout()},30),a&&(s.clearTimeout(F),o.addClass(l,p),F=s.setTimeout(function(){o.removeClass(l,p)},500))},onResize:function(){this.viewport()},hamburger:function(){var t;null!==o.find(a,"body > "+B)||(t=o.find(a,B))&&a.body.appendChild(t),this.$hamburger=o.find(a,B),o.on(this.$hamburger,"click."+r,this.onClickHamburger.bind(this))},offcanvas:function(){var t,e=this;e.$hamburger&&((t=o.find(a,"is-ultimenu-canvas-off"))&&o.addClass(t,j),(t=o.findAll(a,"is-ultimenu-canvas-on")).length&&o.addClass(t,O),e.$offCanvas=o.find(a,"."+j),S.canvasOff&&S.canvasOn&&(e.$offCanvas||(e.$offCanvas=o.find(a,S.canvasOff),o.addClass(e.$offCanvas,j)),o.find(a,"."+O)||(e=o.findAll(a,S.canvasOn),o.addClass(e,O))))},backdrop:function(){var t,e,i=this;i.$offCanvas&&((e=o.find(a,"is-ultimenu-canvas-backdrop"))&&o.addClass(e,P),i.$backdrop=o.find(a,z),i.$backdrop||(t=i.$offCanvas.parentNode,(e=a.createElement("div")).className=P,t.insertBefore(e,t.firstElementChild||null),i.$backdrop=e),o.on(i.$backdrop,"click."+r,i.onClickBackdrop.bind(i)))},slideToggle:function(t,e,i){t&&o[i?E:I](t,e)},executeAjax:function(t){function e(){t.removeAttribute(H)}var i=o.closest(t,"li"),a=o.find(i,T);a?(a.hasAttribute(k)||(a.click(),a.setAttribute(k,1),o.addClass(a,_)),s.clearTimeout(D),D=s.setTimeout(function(){(a=o.find(i,T))?(o.removeClass(a,_),a.click()):e();var t=o.findAll(i,"[data-once]");t.length&&o.each(t,function(t){n.attachBehaviors(t)})},1500)):e()},triggerAjax:function(t){var e=t.target;t.stopPropagation();e=o.hasClass(e,w)?o.closest(e,x):e;o.hasAttr(e,H)&&this.executeAjax(e)},onClickBackdrop:function(t){if(t.preventDefault(),this.isInvalid(t,z))return!1;this.$hamburger&&this.$hamburger.click()},closeFlyout:function(t){t=t||a;var e=o.findAll(t,"."+g);o.removeClass(e,g);e=o.findAll(t,"."+b),t=o.findAll(t,"."+A);o.removeClass(e,b),o.removeClass(t,A)},isHidden:function(t){if(t){if(null===t.offsetParent||0===t.clientHeight)return!0;t=s.getComputedStyle(t);return"none"===t.display||"hidden"===t.visibility}return!1},onClickCaret:function(t){var e=this,i=t.target;if(t.preventDefault(),t.stopPropagation(),e.isInvalid(t,".ultimenu__caret"))return!1;var a=o.closest(i,x),n=o.closest(a,"li"),s=a.nextElementSibling,l=o.closest(n,".ultimenusub")?o.closest(n,".menu"):null;if(!s)return!1;t=e.isHidden(s);l?t&&e.closeFlyout(l):e.closeFlyout();i=o.hasClass(s,"ultimenu__flyout"),l=o.hasClass(s,"menu")||o.is(s,"ul");(i||l)&&(o[t?E:I](n,g),o[t?E:I](a,b),e.slideToggle(s,A,t))},prepare:function(){var t=this;$=o.hasClass(l,C),y=o.hasClass(l,v),o.resize(t.onResize.bind(t))(),t.hamburger(),t.offcanvas(),t.backdrop(),t.breakpoints()}}}(dBlazy,Drupal,drupalSettings,this,this.document,this.document.documentElement);
