/* * HC Off-canvas Nav * =================== * Version: 6.1.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(re){function i(e,t){if(t=t||{},!(e="string"==typeof e?"#"===e.charAt(0)&&-1===e.indexOf(" ")?ie.querySelector(e):ie.querySelectorAll(e):e))return!1;var ee=i.Helpers;void 0!==t.maxWidth&&(ee.deprecated("maxWidth","disableAt","option"),t.disableAt=t.maxWidth);var te=Object.assign({},{width:280,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,closeOnEsc:!0,customToggle:null,activeToggleClass:null,bodyInsert:"prepend",keepClasses:!0,removeOriginalNav:!1,rtl:!1,insertClose:!0,insertBack:!0,levelTitleAsBack:!0,labelClose:"",labelBack:"Back"},t);function ne(e){if(ae.length){for(var t=!1,n=(e="string"==typeof e?[e]:e).length,a=0;a .nav-wrapper","transform: translate3d(-"+i+", 0, 0)",n),s.add(".hc-offcanvas-nav."+b+".nav-levels-overlap.nav-position-right li.level-open > .nav-wrapper","transform: translate3d("+i+", 0, 0)",n),s.add(".hc-offcanvas-nav."+b+".nav-levels-overlap.nav-position-top li.level-open > .nav-wrapper","transform: translate3d(0, -"+i+", 0)",n),s.add(".hc-offcanvas-nav."+b+".nav-levels-overlap.nav-position-bottom li.level-open > .nav-wrapper","transform: translate3d(0, "+i+", 0)",n),s.insert(),e&&!ne("pushContent")||(m=te.pushContent?ee.getElements(te.pushContent)[0]:null),d.style.transition="none";n=u.classList.contains(le),n=["hc-offcanvas-nav",te.navClass||"",b,"nav-levels-"+(te.levelOpen||"none"),"nav-position-"+te.position,te.disableBody?"disable-body":"",ee.isIos?"is-ios":"",ee.isTouchDevice?"touch-device":"",n?le:"",te.rtl?"rtl":"",!0!==te.insertClose||te.labelClose?"":"nav-close-button-empty"].join(" ").trim().replace(/ +/g," ");u.removeEventListener("click"),u.className=n,u.setAttribute("aria-hidden",!0),ie.documentElement.style.setProperty("--nav-level-spacing",te.levelSpacing+"px"),te.disableBody&&u.addEventListener("click",$),e?M():setTimeout(M,0)},P=function(){t=function l(e,t){var n=[];Array.prototype.forEach.call(e,function(e){var o;("UL"===e.tagName||e instanceof HTMLHeadingElement)&&(o={tagName:e.tagName,id:t,htmlClass:e.getAttribute("class")||null,items:[]},e instanceof HTMLHeadingElement?o.content=ee.clone(e,!1,!0):(null!==e.getAttribute("data-nav-active")&&(E=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.childNodes: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?[].concat(Array.prototype.filter.call(a[0].parentNode.children,function(e){return"UL"===e.tagName||e instanceof HTMLHeadingElement})):[],a=null;if(!n.length){for(var i="",s=0;sie.body.clientWidth-50)&&(l=!0,q(0-(A-t),Math.abs(t)))},U=function e(t){var n;ie.removeEventListener("touchmove",D),ie.removeEventListener("touchend",e),l&&(n=t.changedTouches[t.changedTouches.length-1],t=0-(r-n.clientX),n="overlap"===te.levelOpen?Y()*te.levelSpacing:0,n=A+n,(t="left"===te.position?Math.min(Math.max(t,0),n):Math.abs(Math.min(Math.max(t,-n),0)))?H(70ie.documentElement.clientHeight&&se.classList.add("hc-nav-yscroll"),ie.body.classList.add("hc-nav-open"),L&&(ie.body.style.top=-L+"px")),m&&(n="x"===ee.getAxis(te.position)?A:x,ee.setTransform(m,n,te.position)),y?y=!1:(u._eventListeners.toggle&&u._eventListeners.toggle.forEach(function(e){e.fn(ee.customEventObject("toggle",u,u,{action:"open"}),Object.assign({},te))}),setTimeout(function(){u._eventListeners.open&&u._eventListeners.open.forEach(function(e){e.fn(ee.customEventObject("open",u,u),Object.assign({},te))})},p))),W())){if("number"!=typeof e&&!ee.isNumeric(e)||"number"!=typeof t&&!ee.isNumeric(t))E?(a=Array.prototype.filter.call(d.querySelectorAll(".hc-chk"),function(e){return e.value==E})[0],!te.closeActiveLevel&&te.closeOpenLevels||(E=null)):!1===te.closeOpenLevels&&(a=(a=Array.prototype.filter.call(d.querySelectorAll(".hc-chk"),function(e){return"true"===e.getAttribute("checked")}))[a.length-1]);else if(!(a=ie.querySelector("#"+b+"-"+e+"-"+t)))return void console.warn("HC Offcanvas Nav: level "+e+" doesn't have index "+t);if(a){var r=[];if(e=Number(a.dataset.level),t=Number(a.dataset.index),1 element.","color: #fa253b","color: default")}te.ariaLabels=Object.assign({},{open:"Open Menu",close:"Close Menu",submenu:"Submenu"},t.ariaLabels);var ae=[];if(Array.isArray(e)||e instanceof NodeList){for(var a=[],r=0;r "+t.tagName.toLowerCase()},u=function(){s("transform");return function(e,t,n){!1===t||""===t?e.style.transform="":"x"===p(n)?e.style.transform="translate3d("+i("left"===n?t:-t)+",0,0)":e.style.transform="translate3d(0,"+i("top"===n?t:-t)+",0)"}}();e.Helpers={supportsPassive:t,isIos:c,isTouchDevice:v,isNumeric:r,formatSizeVal:i,toMs:function(e){return parseFloat(e)*(/\ds$/.test(e)?1e3:1)},stopPropagation:function(e){return e.stopPropagation()},preventDefault:function(e){return e.preventDefault()},preventClick:function(t){return function(e){e.preventDefault(),e.stopPropagation(),"function"==typeof t&&t()}},browserPrefix:s,children:l,wrap:function(e,t){e.parentNode.insertBefore(t,e),t.appendChild(e)},data:function(e,t,n){if(e.hcOffcanvasNav=e.hcOffcanvasNav||{},void 0===n)return e.hcOffcanvasNav[t];e.hcOffcanvasNav[t]=n},clone:function(e,t,n){var a=e.cloneNode(n||!1),r=e instanceof Element?[e].concat(Array.prototype.slice.call(e.getElementsByTagName("*"))):[],e=a instanceof Element?[a].concat(Array.prototype.slice.call(a.getElementsByTagName("*"))):[];return t||(r.shift(),e.shift()),n&&function(e,t){for(var n=0;n