{"version":3,"file":"TEKsystems.SitecoreXP.JumpNavFF.js","names":["define","$","waypoints","jumpNavFF","$jumpLinkFF","$headerFF","$sectionFF","Init","this","$sectionIdFF","find","length","on","jumpLinksFF","each","Waypoint","element","handler","direction","removeClass","id","addClass","offset","navId","document","getElementById","navLinks","getElementsByClassName","addEventListener","isTouchScreen","offsetLeft","style","left","i","e","composedPath","includes","jumpScrollFF","scrollVar","$where","whereTo","top","animate","scrollTop","attr","focus","window","navigator","maxTouchPoints","msMaxTouchPoints","where"],"sources":["site/TEKsystems.SitecoreXP.JumpNavFF.js"],"mappings":"AAAAA,OAAO,CAAC,SAAU,cACd,SAASC,EAAGC,GACR,IAAIC,EAAY,CACZC,YAAY,GACZC,UAAU,GACVC,WAAW,GACXC,KAAM,WAEFC,KAAKH,UAAYJ,EAAE,iBACnBO,KAAKJ,YAAcH,EAAE,wBACrBO,KAAKC,aAAeR,EAAE,iBAAiBS,KAAK,WAGxCP,EAAUC,YAAYO,QACtBR,EAAUC,YAAYQ,GAAG,QAAST,EAAUU,aAE5CV,EAAUM,aAAaE,QAEvBR,EAAUM,aAAaK,MAAK,WACT,IAAIC,SAAS,CACxBC,QAASf,EAAEO,MACXS,QAAS,SAAUC,GACfjB,EAAE,gCAAgCkB,YAAY,+BAC9ClB,EAAE,+BAA+BO,KAAKQ,QAAQ,GAAGI,GAAG,MAAMC,SAAS,8BAGvE,EACAC,OAAQ,KAEhB,IAGJ,MAAMC,EAAQC,SAASC,eAAe,UAChCC,EAAWH,GAASA,EAAMI,uBAAuB,uBAEvD,GAAIJ,EAAO,CAOP,IANAA,EAAMK,iBAAiB,SAAS,KACxBzB,EAAU0B,iBAAmBN,EAAMO,WAAa,IAChDP,EAAMQ,MAAMC,KAAO,EACvB,IAGCC,EAAI,EAAGA,EAAIP,EAASf,OAAQsB,IAC7BP,EAASO,GAAGL,iBAAiB,SAAS,KAC9BzB,EAAU0B,kBACVN,EAAMQ,MAAMC,KAAO,qBACvB,IAIRR,SAASI,iBAAiB,SAAUM,KACHA,EAAEC,eAAeC,SAASb,IACP,IAArBA,EAAMO,YAAoB3B,EAAU0B,kBAC3DN,EAAMQ,MAAMC,KAAO,qBACvB,GAER,CAGJ,EACAK,aAAc,SAAUC,GACpB,GAAKA,GAA0B,KAAbA,GAAiC,MAAbA,EAAtC,CAGA,IAAIC,EAAStC,EAAEqC,GACXE,EAAUD,EAAOjB,SAASmB,IAAM,IAEpCxC,EAAE,cAAcyC,QAAQ,CACpBC,UAAWH,GACZ,IAAK,SAERD,EAAOK,KAAK,YAAa,GAAGvB,SAAS,kBAAkBwB,OARvD,CASJ,EAEAhB,cAAe,WACX,MAAQ,iBAAkBiB,QACrBC,UAAUC,eAAiB,GAC3BD,UAAUE,iBAAmB,CACtC,EAEApC,YAAa,WACT,IAAIqC,EAAQjD,EAAEO,MAAMoC,KAAK,QAEzBzC,EAAUkC,aAAaa,EAC3B,GAGJ,OAAO/C,CACX","sourcesContent":["define(['jquery', \"waypoints\"],\r\n function($, waypoints) {\r\n var jumpNavFF = {\r\n $jumpLinkFF:'',\r\n $headerFF:'',\r\n $sectionFF:'',\r\n Init: function () {\r\n //declare vars\r\n this.$headerFF = $('.landing__nav');\r\n this.$jumpLinkFF = $('.landing__menu__link');\r\n this.$sectionIdFF = $('.page-wrapper').find('div[id]');\r\n\r\n\r\n if (jumpNavFF.$jumpLinkFF.length) {\r\n jumpNavFF.$jumpLinkFF.on('click', jumpNavFF.jumpLinksFF);\r\n }\r\n if (jumpNavFF.$sectionIdFF.length) {\r\n //log('test');\r\n jumpNavFF.$sectionIdFF.each(function () {\r\n var waypoint = new Waypoint({\r\n element: $(this),\r\n handler: function (direction) {\r\n $('.landing__menu__link--active').removeClass('landing__menu__link--active');\r\n $('.landing__menu__link[href=\"#'+this.element[0].id+'\"]').addClass('landing__menu__link--active');\r\n // log(this.element[0].id);\r\n // log(this.element.id + 'triggers at ' + direction)\r\n },\r\n offset: 150\r\n });\r\n });\r\n }\r\n\r\n const navId = document.getElementById(\"ff-nav\")\r\n const navLinks = navId && navId.getElementsByClassName('landing__menu__link')\r\n\r\n if (navId) {\r\n navId.addEventListener(\"click\", () => {\r\n if (jumpNavFF.isTouchScreen() && navId.offsetLeft < 0) {\r\n navId.style.left = 0;\r\n }\r\n })\r\n\r\n for (i = 0; i < navLinks.length; i++) {\r\n navLinks[i].addEventListener(\"click\", () => {\r\n if (jumpNavFF.isTouchScreen()) {\r\n navId.style.left = 'calc(-100% + 11px)';\r\n }\r\n })\r\n }\r\n\r\n document.addEventListener('click', (e) => {\r\n const isClickedOutsideNav = !e.composedPath().includes(navId)\r\n if (isClickedOutsideNav && navId.offsetLeft === 0 && jumpNavFF.isTouchScreen()) {\r\n navId.style.left = 'calc(-100% + 11px)';\r\n }\r\n })\r\n }\r\n\r\n\r\n },\r\n jumpScrollFF: function (scrollVar) {\r\n if (!scrollVar || scrollVar == '#' || scrollVar == '##') {\r\n return;\r\n }\r\n var $where = $(scrollVar);\r\n var whereTo = $where.offset().top - 150;\r\n\r\n $('html, body').animate({\r\n scrollTop: whereTo\r\n }, 500, 'swing');\r\n\r\n $where.attr('tabindex', -1).addClass('removetabindex').focus();\r\n },\r\n\r\n isTouchScreen: function () {\r\n return ('ontouchstart' in window) ||\r\n (navigator.maxTouchPoints > 0) ||\r\n (navigator.msMaxTouchPoints > 0);\r\n },\r\n\r\n jumpLinksFF: function () {\r\n var where = $(this).attr('href');\r\n\r\n jumpNavFF.jumpScrollFF(where);\r\n }\r\n }\r\n\r\n return jumpNavFF;\r\n }\r\n);"]}