{"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"}