/* * HC Off-canvas Nav * =================== * Version: 6.0.5 * Author: Some Web Media * Author URL: https://github.com/somewebmedia/ * Plugin URL: https://github.com/somewebmedia/hc-offcanvas-nav * Description: JavaScript library for creating off-canvas multi-level navigations * License: MIT */ "use strict";!function(e,t){if("object"==typeof module&&"object"==typeof module.exports){if(!e.document)throw new Error("HC Off-canvas Nav requires a browser to run.");module.exports=t(e)}else"function"==typeof define&&define.amd?define("hcOffcanvasNav",[],t(e)):t(e)}("undefined"!=typeof window?window:this,function(ne){var ae=ne.document,re=ae.getElementsByTagName("html")[0],ie=0,se="nav-open",i=function(e,t){if(t=t||{},"string"==typeof e&&(e="#"===e.charAt(0)&&-1===e.indexOf(" ")?ae.querySelector(e):ae.querySelectorAll(e)),!e)return!1;var R=i.Helpers;void 0!==t.maxWidth&&(R.deprecated("maxWidth","disableAt","option"),t.disableAt=t.maxWidth);var Z=Object.assign({},{width:320,height:"auto",disableAt:!1,pushContent:null,swipeGestures:!0,expanded:!1,position:"left",levelOpen:"overlap",levelSpacing:40,levelTitles:!0,closeOpenLevels:!0,closeActiveLevel:!1,navTitle:null,navClass:"",disableBody:!0,closeOnClick:!0,customToggle:null,bodyInsert:"prepend",keepClasses:!0,removeOriginalNav:!1,rtl:!1,insertClose:!0,insertBack:!0,levelTitleAsBack:!0,labelClose:"",labelBack:"Back"},t);Z.ariaLabels=Object.assign({},{open:"Open Menu",close:"Close Menu",submenu:"Submenu"},t.ariaLabels);var ee=[],te=function(e){if(!ee.length)return!1;var t=!1;"string"==typeof e&&(e=[e]);for(var n=e.length,a=0;a .nav-wrapper","transform: translate3d(-"+i+", 0, 0)",n),l.add(".hc-offcanvas-nav."+g+".nav-levels-overlap.nav-position-right li.level-open > .nav-wrapper","transform: translate3d("+i+", 0, 0)",n),l.add(".hc-offcanvas-nav."+g+".nav-levels-overlap.nav-position-top li.level-open > .nav-wrapper","transform: translate3d(0, -"+i+", 0)",n),l.add(".hc-offcanvas-nav."+g+".nav-levels-overlap.nav-position-bottom li.level-open > .nav-wrapper","transform: translate3d(0, "+i+", 0)",n),l.insert(),(!e||e&&te("pushContent"))&&(p=R.getElement(Z.pushContent)),v.style.transition="none";var s=c.classList.contains(se),o=["hc-offcanvas-nav",Z.navClass||"",g,"nav-levels-"+(Z.levelOpen||"none"),"nav-position-"+Z.position,Z.disableBody?"disable-body":"",R.isIos?"is-ios":"",R.isTouchDevice?"touch-device":"",s?se:"",Z.rtl?"rtl":""].join(" ").trim().replace(/ +/g," ");c.removeEventListener("click"),c.className=o,c.setAttribute("aria-hidden",!0),c.setAttribute("aria-labelledby",g),ae.documentElement.style.setProperty("--nav-level-spacing",Z.levelSpacing+"px"),Z.disableBody&&c.addEventListener("click",G),e?M():setTimeout(M,0)},i=function(){t=function c(e,t){var n=[];Array.prototype.forEach.call(e,function(e){if("UL"===e.tagName||e instanceof HTMLHeadingElement){var l={tagName:e.tagName,id:t,htmlClass:e.getAttribute("class")||null,items:[]};e instanceof HTMLHeadingElement?l.content=R.clone(e,!1,!0):(null!==e.getAttribute("data-nav-active")&&(m=t,e.removeAttribute("data-nav-active")),Array.prototype.forEach.call(e.children,function(e){var t=null!==e.getAttribute("data-nav-custom-content"),n=t?e.children:Array.prototype.filter.call(e.children,function(e){return"UL"!==e.tagName&&!e.querySelector("ul")}).concat(e.children.length?[]:[e.firstChild]),a=t?[]:Array.prototype.slice.call(e.querySelectorAll("ul")),r=a.length?[a[0]].concat(Array.prototype.filter.call(a[0].parentNode.children,function(e){return"UL"===e.tagName&&e!==a[0]})):[],i=null;if(!n.length){for(var s="",o=0;oae.clientWidth-50)&&(k=!0,_(0-(y-t),Math.abs(t)))},D=function e(t){if(ae.removeEventListener("touchmove",q),ae.removeEventListener("touchend",e),k){var n=t.changedTouches[t.changedTouches.length-1],a=0-(o-n.clientX),r="overlap"===Z.levelOpen?W()*Z.levelSpacing:0,i=y+r;(a="left"===Z.position?Math.min(Math.max(a,0),i):Math.abs(Math.min(Math.max(a,-i),0)))?B(70ae.documentElement.clientHeight&&re.classList.add("hc-nav-yscroll"),ae.body.classList.add("hc-nav-open"),b&&(ae.body.style.top=-b+"px"));if(p){var e="x"===R.getAxis(Z.position)?y:E;R.setTransform(p,e,Z.position)}if(h)return h=!1;c._eventListeners.toggle&&c._eventListeners.toggle.forEach(function(e){e.fn(R.customEventObject("toggle",c,c,{action:"open"}),Object.assign({},Z))});setTimeout(function(){c._eventListeners.open&&c._eventListeners.open.forEach(function(e){e.fn(R.customEventObject("open",c,c),Object.assign({},Z))})},d)}(),Q())){var n;if("number"!=typeof e&&!R.isNumeric(e)||"number"!=typeof t&&!R.isNumeric(t))m?(n=Array.prototype.filter.call(v.querySelectorAll(".hc-chk"),function(e){return e.value==m})[0],!Z.closeActiveLevel&&Z.closeOpenLevels||(m=null)):!1===Z.closeOpenLevels&&(n=(n=Array.prototype.filter.call(v.querySelectorAll(".hc-chk"),function(e){return"true"===e.getAttribute("checked")}))[n.length-1]);else if(!(n=ae.querySelector("#"+g+"-"+e+"-"+t)))return void console.warn("HC Offcanvas Nav: level "+e+" doesn't have index "+t);if(n){var a=[];if(e=Number(n.dataset.level),t=Number(n.dataset.index),1 element.","color: #fa253b","color: default")};if(Array.isArray(e)||e instanceof NodeList){for(var a=[],r=0;r "+t.tagName.toLowerCase()},printStyle:function(e){var r=u("style",{id:e}),i={},s={};o.head.appendChild(r);var a=function(e){return";"!==e.substr(-1)&&(e+=";"!==e.substr(-1)?";":""),e};return{reset:function(){i={},s={}},add:function(e,t,n){e=e.trim(),t=t.trim(),n?(n=n.trim(),s[n]=s[n]||{},s[n][e]=a(t)):i[e]=a(t)},remove:function(e,t){e=e.trim(),t?(t=t.trim(),void 0!==s[t][e]&&delete s[t][e]):void 0!==i[e]&&delete i[e]},insert:function(){var e="";for(var t in s){for(var n in e+="@media screen and ("+t+") {\n",s[t])e+=" "+n+" { "+s[t][n]+" }\n";e+="}\n"}for(var a in i)e+=a+" { "+i[a]+" }\n";r.innerHTML=e}}},insertAt:function(e,t,n){var a=v(n),r=a.length,i=-1<(t="last"===(t="first"===t?0:t)?r:t)?Math.max(0,Math.min(t,r)):Math.max(0,Math.min(r+t,r));0===i?n[0].insertBefore(e,n[0].firstChild):a[i-1].insertAdjacentElement("afterend",e)},getAxis:p,setTransform:f,deprecated:h}}(window);