{"version":3,"names":[],"mappings":"","sources":["successstory-gallery.js"],"sourcesContent":["(function($) {\n //ScrollMagic init for gallery\n var controller = new ScrollMagic.Controller();\n // Lives Changed gallery\n new ScrollMagic.Scene({\n triggerElement: '.successstory-list',\n triggerHook: 1,\n })\n .setClassToggle('.successstory-list', 'initialized')\n .addTo(controller);\n})(jQuery);\n\n(function($) {\n var gallery = {\n wrapper: document.querySelector('.successstory-list__wrapper'),\n header: undefined,\n el: undefined,\n tiles: undefined,\n scrollInterval: undefined,\n scrollSpeed: 0,\n scrollDir: 0,\n\n triggerGalleryScroll: function(on) {\n if (on) {\n var ctrl = this;\n this.scrollInterval = setInterval(function() {\n if (ctrl.scrollDir && ctrl.scrollSpeed) {\n ctrl.el.scrollLeft += ctrl.scrollDir * ctrl.scrollSpeed;\n ctrl.header.style.transform =\n 'translateX(' + -1 * ctrl.el.scrollLeft + 'px)';\n }\n }, 10);\n } else {\n this.scrollDir = 0;\n this.scrollSpeed = 0;\n clearInterval(this.scrollInterval);\n }\n },\n init: function() {\n if (this.wrapper) {\n this.header = this.wrapper.querySelector('.successstory-list__header');\n this.el = this.wrapper.querySelector('.successstory-list');\n this.tiles = Array.from(\n this.el.querySelectorAll('.block-successstory')\n );\n if (this.tiles.length > 2) {\n var ctrl = this;\n ctrl.el.addEventListener('mousemove', function(e) {\n var ePos = e.clientX / window.innerWidth - 0.5;\n var eDist = Math.abs(ePos);\n if (eDist < 0.3) {\n ctrl.scrollDir = 0;\n ctrl.scrollSpeed = 0;\n } else {\n ctrl.scrollSpeed = 50 * (eDist - 0.2);\n if (this.scrollLeft > 0 && ePos < 0) {\n ctrl.scrollDir = -1;\n } else if (\n this.scrollLeft + window.innerWidth < this.scrollWidth &&\n ePos > 0\n ) {\n ctrl.scrollDir = 1;\n } else {\n ctrl.scrollDir = 0;\n }\n }\n });\n ctrl.el.addEventListener('mouseenter', function(e) {\n ctrl.triggerGalleryScroll(true);\n });\n ctrl.el.addEventListener('mouseleave', function(e) {\n ctrl.triggerGalleryScroll(false);\n });\n ctrl.el.addEventListener('scroll', function(e) {\n ctrl.tiles.forEach((el, e) => {\n var tileOffset = (e + 0.5) * el.clientWidth;\n var translate =\n tileOffset < ctrl.el.scrollLeft\n ? ctrl.el.scrollLeft - tileOffset\n : 0;\n el.style.transform = 'translateX(-' + translate + 'px)';\n });\n ctrl.header.style.transform =\n 'translateX(' + -1 * ctrl.el.scrollLeft + 'px)';\n });\n }\n }\n return this;\n },\n }.init();\n})(jQuery);\n"],"file":"successstory-gallery.js"}