File: /python/moda/public_html/tech/old/templates/hostx/js/hc-offcanvas-nav.js
"use strict";!function(e,n){const t=n.document,a=e(t.getElementsByTagName("html")[0]),s=(e(t),()=>t.documentElement.scrollHeight>t.documentElement.clientHeight),o=(()=>(/iPad|iPhone|iPod/.test(navigator.userAgent)||!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform))&&!n.MSStream)(),l=(()=>"ontouchstart"in n||navigator.maxTouchPoints||n.DocumentTouch&&t instanceof DocumentTouch)(),i=e=>!isNaN(parseFloat(e))&&isFinite(e),c=function(){return Math.random().toString(36).substr(2)+"-"+Math.random().toString(36).substr(2)},r=e=>e.stopPropagation(),p=e=>n=>{n.preventDefault(),n.stopPropagation(),"function"==typeof e&&e()},d=e=>"string"==typeof e?e:e.attr("id")?"#"+e.attr("id"):e.attr("class")?e.prop("tagName").toLowerCase()+"."+e.attr("class").replace(/\s+/g,"."):d(e.parent())+" "+e.prop("tagName").toLowerCase(),v=(e,n,t)=>{const a=t.children(),s=a.length,o=n>-1?Math.max(0,Math.min(n-1,s)):Math.max(0,Math.min(s+n+1,s));0===o?t.prepend(e):a.eq(o-1).after(e)},f=e=>-1!==["left","right"].indexOf(e)?"x":"y",h=(()=>{const e=(e=>{const n=["Webkit","Moz","Ms","O"],a=(t.body||t.documentElement).style,s=e.charAt(0).toUpperCase()+e.slice(1);if(void 0!==a[e])return e;for(let e=0;e<n.length;e++)if(void 0!==a[n[e]+s])return n[e]+s;return!1})("transform");return(n,t,a)=>{if(e)if(0===t)n.css(e,"");else if("x"===f(a)){const s="left"===a?t:-t;n.css(e,s?`translate3d(${s}px,0,0)`:"")}else{const s="top"===a?t:-t;n.css(e,s?`translate3d(0,${s}px,0)`:"")}else n.css(a,t)}})(),u=(e,n,t)=>{console.warn("%cHC Off-canvas Nav:%c "+t+"%c '"+e+"'%c is now deprecated and will be removed. Use%c '"+n+"'%c instead.","color: #fa253b","color: default","color: #5595c6","color: default","color: #5595c6","color: default")};let g=0;e.fn.extend({hcOffcanvasNav:function(n={}){if(!this.length)return this;const m=this,$=e(t.body);n.side&&(u("side","position","option"),n.position=n.side);let C=e.extend({},{maxWidth:1024,pushContent:!1,position:"left",levelOpen:"overlap",levelSpacing:40,levelTitles:!1,navTitle:null,navClass:"",disableBody:!0,closeOnClick:!0,customToggle:null,insertClose:!0,insertBack:!0,labelClose:"Close",labelBack:"Back"},n),x=[];const b="nav-open",k=e=>{if(!x.length)return!1;let n=!1;"string"==typeof e&&(e=[e]);let t=e.length;for(let a=0;a<t;a++)-1!==x.indexOf(e[a])&&(n=!0);return n};return this.each(function(){const n=e(this);if(!n.find("ul").addBack("ul").length)return void console.error("%c! HC Offcanvas Nav:%c Menu must contain <ul> element.","color: #fa253b","color: default");const t=`hc-nav-${++g}`,u=(n=>{const t=e(`<style id="${n}">`).appendTo(e("head"));let a={},s={};const o=e=>(";"!==e.substr(-1)&&(e+=";"!==e.substr(-1)?";":""),e);return{reset:()=>{a={},s={}},add:(e,n,t)=>{e=e.trim(),n=n.trim(),t?(t=t.trim(),s[t]=s[t]||{},s[t][e]=o(n)):a[e]=o(n)},remove:(e,n)=>{e=e.trim(),n?(n=n.trim(),void 0!==s[n][e]&&delete s[n][e]):void 0!==a[e]&&delete a[e]},insert:()=>{let e="";for(let n in s){e+=`@media screen and (${n}) {\n`;for(let t in s[n])e+=`${t} { ${s[n][t]} }\n`;e+="}\n"}for(let n in a)e+=`${n} { ${a[n]} }\n`;t.html(e)}}})(`hc-offcanvas-${g}-style`);let y;n.addClass(`hc-nav ${t}`);const O=e("<nav>").on("click",r),T=e('<div class="nav-container">').appendTo(O);let w,B,S,P=null,M={},N=!1,j=0,q=0,W=0,A=null,D={};const H=[];C.customToggle?y=e(C.customToggle).addClass(`hc-nav-trigger ${t}`).on("click",I):(y=e(`<a class="hc-nav-trigger ${t}"><span></span></a>`).on("click",I),n.after(y));const E=()=>{T.css("transition","none"),q=T.outerWidth(),W=T.outerHeight(),u.add(`.hc-offcanvas-nav.${t}.nav-position-left .nav-container`,`transform: translate3d(-${q}px, 0, 0)`),u.add(`.hc-offcanvas-nav.${t}.nav-position-right .nav-container`,`transform: translate3d(${q}px, 0, 0)`),u.add(`.hc-offcanvas-nav.${t}.nav-position-top .nav-container`,`transform: translate3d(0, -${W}px, 0)`),u.add(`.hc-offcanvas-nav.${t}.nav-position-bottom .nav-container`,`transform: translate3d(0, ${W}px, 0)`),u.insert(),T.css("transition",""),F()},F=()=>{w=T.css("transition-property").split(",")[0],B=(e=>parseFloat(e)*(/\ds$/.test(e)?1e3:1))(T.css("transition-duration").split(",")[0]),S=T.css("transition-timing-function").split(",")[0],C.pushContent&&P&&w&&u.add(d(C.pushContent),`transition: ${w} ${B}ms ${S}`),u.insert()},L=n=>{const a=y.css("display"),s=!!C.maxWidth&&`max-width: ${C.maxWidth-1}px`;k("maxWidth")&&u.reset(),u.add(`.hc-offcanvas-nav.${t}`,"display: block",s),u.add(`.hc-nav-trigger.${t}`,`display: ${a&&"none"!==a?a:"block"}`,s),u.add(`.hc-nav.${t}`,"display: none",s),u.add(`.hc-offcanvas-nav.${t}.nav-levels-overlap.nav-position-left li.level-open > .nav-wrapper`,`transform: translate3d(-${C.levelSpacing}px,0,0)`,s),u.add(`.hc-offcanvas-nav.${t}.nav-levels-overlap.nav-position-right li.level-open > .nav-wrapper`,`transform: translate3d(${C.levelSpacing}px,0,0)`,s),u.add(`.hc-offcanvas-nav.${t}.nav-levels-overlap.nav-position-top li.level-open > .nav-wrapper`,`transform: translate3d(0,-${C.levelSpacing}px,0)`,s),u.add(`.hc-offcanvas-nav.${t}.nav-levels-overlap.nav-position-bottom li.level-open > .nav-wrapper`,`transform: translate3d(0,${C.levelSpacing}px,0)`,s),u.insert(),(!n||n&&k("pushContent"))&&("string"==typeof C.pushContent?(P=e(C.pushContent)).length||(P=null):P=C.pushContent instanceof jQuery?C.pushContent:null),T.css("transition","none");const i=O.hasClass(b),c=["hc-offcanvas-nav",C.navClass||"",t,C.navClass||"","nav-levels-"+C.levelOpen||"none","nav-position-"+C.position,C.disableBody?"disable-body":"",o?"is-ios":"",l?"touch-device":"",i?b:""].join(" ");O.off("click").attr("class","").addClass(c),C.disableBody&&O.on("click",G),n?E():setTimeout(E,1)},Q=()=>{M=function n(t){const a=[];return t.each(function(){const t=e(this),s={classes:t.attr("class"),items:[]};t.children("li").each(function(){const t=e(this),a=t.children().filter(function(){const n=e(this);return n.is(":not(ul)")&&!n.find("ul").length}).add(t.contents().filter(function(){return 3===this.nodeType&&this.nodeValue.trim()})),o=t.find("ul"),l=o.first().add(o.first().siblings("ul"));l.length&&!t.data("hc-uniqid")&&t.data("hc-uniqid",c()),s.items.push({uniqid:t.data("hc-uniqid"),classes:t.attr("class"),$content:a,subnav:l.length?n(l):[]})}),a.push(s)}),a}((()=>{const e=n.find("ul").addBack("ul");return e.first().add(e.first().siblings("ul"))})())},U=n=>{n&&(T.empty(),D={}),function n(a,s,o,l,c){const d=e(`<div class="nav-wrapper nav-wrapper-${o}">`).appendTo(s).on("click",r),f=e('<div class="nav-content">').appendTo(d);if(l&&f.prepend(`<h2>${l}</h2>`),e.each(a,(a,s)=>{const l=e("<ul>").addClass(s.classes).appendTo(f);e.each(s.items,(a,s)=>{const i=s.$content;let c=i.find("a").addBack("a");const p=c.length?c.clone(!0,!0).addClass("nav-item"):e('<span class="nav-item">').append(i.clone(!0,!0)).on("click",r);c.length&&p.on("click",e=>{e.stopPropagation(),c[0].click()}),"#"===p.attr("href")&&p.on("click",e=>{e.preventDefault()}),C.closeOnClick&&(!1===C.levelOpen||"none"===C.levelOpen?p.filter("a").filter('[data-nav-close!="false"]').on("click",G):p.filter("a").filter('[data-nav-close!="false"]').filter(function(){const n=e(this);return!s.subnav.length||n.attr("href")&&"#"!==n.attr("href").charAt(0)}).on("click",G));const v=e("<li>").addClass(s.classes).append(p);if(l.append(v),C.levelSpacing&&("expand"===C.levelOpen||!1===C.levelOpen||"none"===C.levelOpen)){const e=C.levelSpacing*o;e&&l.css("text-indent",`${e}px`)}if(s.subnav.length){const a=o+1,l=s.uniqid;let c="";if(D[a]||(D[a]=0),v.addClass("nav-parent"),!1!==C.levelOpen&&"none"!==C.levelOpen){const n=D[a],s=e('<span class="nav-next">').appendTo(p),o=e(`<label for="${t}-${a}-${n}">`).on("click",r),f=e(`<input type="checkbox" id="${t}-${a}-${n}">`).attr("data-level",a).attr("data-index",n).val(l).on("click",r).on("change",z);-1!==H.indexOf(l)&&(d.addClass("sub-level-open").on("click",()=>K(a,n)),v.addClass("level-open"),f.prop("checked",!0)),v.prepend(f),c=!0===C.levelTitles?i.text().trim():"",p.attr("href")&&"#"!==p.attr("href").charAt(0)?s.append(o):p.prepend(o.on("click",function(){e(this).parent().trigger("click")}))}D[a]++,n(s.subnav,v,a,c,D[a]-1)}})}),o&&void 0!==c&&!1!==C.insertBack&&"overlap"===C.levelOpen){const n=f.children("ul");let t=e(`<li class="nav-back"><a href="#">${C.labelBack||""}<span></span></a></li>`);t.children("a").on("click",p(()=>K(o,c))),!0===C.insertBack?n.first().prepend(t):i(C.insertBack)&&v(t,C.insertBack,n)}if(0===o&&!1!==C.insertClose){const n=f.children("ul"),t=e(`<li class="nav-close"><a href="#">${C.labelClose||""}<span></span></a></li>`);t.children("a").on("click",p(G)),!0===C.insertClose?n.first().prepend(t):i(C.insertClose)&&v(t,C.insertClose,n.first().add(n.first().siblings("ul")))}}(M,T,0,C.navTitle)};function z(){const n=e(this),a=Number(n.attr("data-level")),s=Number(n.attr("data-index"));n.prop("checked")?function(n,a){const s=e(`#${t}-${n}-${a}`),o=s.val(),l=s.parent("li"),i=l.closest(".nav-wrapper");if(i.addClass("sub-level-open"),l.addClass("level-open"),-1===H.indexOf(o)&&H.push(o),"overlap"===C.levelOpen&&(i.on("click",()=>K(n,a)),h(T,n*C.levelSpacing,C.position),P)){const e="x"===f(C.position)?q:W;h(P,e+n*C.levelSpacing,C.position)}}(a,s):K(a,s)}function V(){if(N=!0,O.css("visibility","visible").addClass(b),y.addClass("toggle-open"),"expand"===C.levelOpen&&A&&clearTimeout(A),C.disableBody&&(j=a.scrollTop()||$.scrollTop(),s()&&a.addClass("hc-nav-yscroll"),$.addClass("hc-nav-open"),j&&$.css("top",-j)),P){const e="x"===f(C.position)?q:W;h(P,e,C.position)}setTimeout(()=>{m.trigger("open",e.extend({},C))},B+1)}function G(){N=!1,P&&h(P,0),O.removeClass(b),T.removeAttr("style"),y.removeClass("toggle-open"),"expand"===C.levelOpen&&-1!==["top","bottom"].indexOf(C.position)?K(0):!1!==C.levelOpen&&"none"!==C.levelOpen&&(A=setTimeout(()=>{K(0)},"expand"===C.levelOpen?B:0)),C.disableBody&&($.removeClass("hc-nav-open"),a.removeClass("hc-nav-yscroll"),j&&($.css("top","").scrollTop(j),a.scrollTop(j),j=0)),setTimeout(()=>{O.css("visibility",""),m.trigger("close.$",e.extend({},C)),m.trigger("close.once",e.extend({},C)).off("close.once")},B+1)}function I(e){e.preventDefault(),e.stopPropagation(),N?G():V()}L(),Q(),U(),$.append(O);const J=(n,a,s)=>{const o=e(`#${t}-${n}-${a}`),l=o.val(),i=o.parent("li"),c=i.closest(".nav-wrapper");if(o.prop("checked",!1),c.removeClass("sub-level-open"),i.removeClass("level-open"),-1!==H.indexOf(l)&&H.splice(H.indexOf(l),1),s&&"overlap"===C.levelOpen&&(c.off("click").on("click",r),h(T,(n-1)*C.levelSpacing,C.position),P)){const e="x"===f(C.position)?q:W;h(P,e+(n-1)*C.levelSpacing,C.position)}};function K(e,n){for(let t=e;t<=Object.keys(D).length;t++)if(t==e&&void 0!==n)J(e,n,!0);else for(let n=0;n<D[t];n++)J(t,n,t==e)}m.settings=(e=>e?C[e]:Object.assign({},C)),m.isOpen=(()=>O.hasClass(b)),m.open=V,m.close=G,m.update=((n,t)=>{if(x=[],"object"==typeof n){for(let e in n)C[e]!==n[e]&&x.push(e);C=e.extend({},C,n),L(!0),U(!0)}(!0===n||t)&&(L(!0),Q(),U(!0))})})}})}(jQuery,"undefined"!=typeof window?window:this);