{"version":3,"sources":["webpack:///./assets/src/js/parts/sticky-tabs.js"],"names":["scrollable","document","getElementById","scrollTabs","el","to","duration","element","start","scrollLeft","change","startDate","Date","animateScroll","t","b","c","currentTime","parseInt","requestAnimationFrame","checkScroll","offsetWidth","jQuery","parents","offsetLeft","distance","on","this","UIkit","util","find"],"mappings":";;;;;;;;;;;;;;;;;oHAAA,OAAe,qBACX,IAAIA,EAAaC,SAASC,eAAe,cAErCC,EAAa,SAASC,EAAIC,EAAIC,GAC9B,IACIC,EAAUH,EACVI,EAAQD,EAAQE,WAChBC,EAASL,EAAKG,EACdG,GAAa,IAAIC,KAWjBC,EAAgB,WACZ,IAPqBC,EAAGC,EAAGC,EAQrBC,GADe,IAAIL,KACSD,EAClCJ,EAAQE,WAAaS,UATAJ,EASuBG,EATpBF,EASiCP,EAT9BQ,EASqCN,GARhEI,GAQwER,EARjE,GACC,EAAUU,EAAE,EAAEF,EAAEA,EAAIC,GAEpBC,EAAE,KADVF,GACkBA,EAAE,GAAK,GAAKC,IAM3BE,EAAcX,EACjBa,sBAAsBN,GAGtBN,EAAQE,WAAaJ,GAG7BQ,KAGAO,EAAc,SAAShB,GACvB,GAAIJ,EAAWqB,YAAcC,OAAOlB,GAAImB,QAAQ,MAAM,GAAGF,YACrD,GAAIjB,EAAGoB,WAAaxB,EAAWS,WAC3BN,EAAWH,EAAYI,EAAGoB,WAAa,GAAI,UACxC,GAAKpB,EAAGoB,WAAapB,EAAGiB,YAAgBrB,EAAWS,WAAaT,EAAWqB,YAAc,CAC5F,IAAII,EAAYrB,EAAGoB,WAAapB,EAAGiB,YAAc,GAAK,GAAMrB,EAAWqB,YACvElB,EAAWH,EAAYyB,EAAU,OAK7CH,OAAO,kBAAkBI,GAAG,SAAS,WACjCN,EAAYO,SAGhBC,MAAMC,KAAKH,GAAG,iBAAkB,UAAU,WACtC,IAAInB,EAAUe,OAAOK,MAAMG,KAAK,gBAAgB,GAChDV,EAAYb","file":"main/parts/sticky-tabs-fca6f311.js","sourcesContent":["export default () => {\n let scrollable = document.getElementById('scrollable');\n\n let scrollTabs = function(el, to, duration) {\n const\n element = el,\n start = element.scrollLeft,\n change = to - start,\n startDate = +new Date(),\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n easeInOutQuad = function(t, b, c, d) {\n t /= d/2;\n if (t < 1) return c/2*t*t + b;\n t--;\n return -c/2 * (t*(t-2) - 1) + b;\n },\n animateScroll = function() {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n element.scrollLeft = parseInt(easeInOutQuad(currentTime, start, change, duration));\n if(currentTime < duration) {\n requestAnimationFrame(animateScroll);\n }\n else {\n element.scrollLeft = to;\n }\n };\n animateScroll();\n };\n\n let checkScroll = function(el) {\n if (scrollable.offsetWidth < jQuery(el).parents('ul')[0].offsetWidth) {\n if (el.offsetLeft < scrollable.scrollLeft) { //scrolling to the left\n scrollTabs(scrollable, el.offsetLeft - 16, 150);\n } else if ((el.offsetLeft + el.offsetWidth) > (scrollable.scrollLeft + scrollable.offsetWidth)) { // scrolling to the right\n let distance = (el.offsetLeft + el.offsetWidth + 16 + 24) - scrollable.offsetWidth;\n scrollTabs(scrollable, distance, 150);\n }\n }\n }\n\n jQuery('#scrollable li').on('click', function() {\n checkScroll(this);\n });\n\n UIkit.util.on('.js-scrollable', 'active', function () {\n let element = jQuery(this).find('li.uk-active')[0];\n checkScroll(element);\n });\n}\n"],"sourceRoot":""}