{"version":3,"sources":["webpack:///./src/components/copy-shoutout/image-trail/image-trail.vue?d25b","webpack:///./src/components/copy-shoutout/image-trail/image-trail.vue","webpack:///./src/js/util/preloadImages.js","webpack:///./src/components/copy-shoutout/image-trail/util/lerp.js","webpack:///./src/components/copy-shoutout/image-trail/util/getDistance.js","webpack:///src/components/copy-shoutout/image-trail/image-trail.vue","webpack:///./src/components/copy-shoutout/image-trail/image-trail.vue?6d5d","webpack:///./src/components/copy-shoutout/image-trail/image-trail.vue?9506"],"names":["render","_vm","this","_c","_self","staticClass","_l","loadedImages","image","index","key","attrs","staticRenderFns","preloadImages","srcs","arguments","length","undefined","Promise","all","map","src","resolve","proxyImage","Image","addEventListener","complete","then","results","filter","result","lerp","a","b","n","getDistance","point1","point2","x","y","Math","sqrt","THRESHOLD","LERP_AMOUNT","name","props","images","type","Array","default","data","methods","_this","cachedMousePosition","mousePosition","distance","lastMousePosition","showNextImage","nextZIndex","nextIndex","isIdle","i","loadedImagesEls","idle","raf","window","requestAnimationFrame","_this2","img","el","_img$getBoundingClien","getBoundingClientRect","width","height","offsetTop","$el","top","pageYOffset","style","opacity","zIndex","transform","concat","visibility","transition","onTransitionEnd","e","target","removeEventListener","reflow","onMouseMove","pageX","pageY","created","mounted","_this3","matchMedia","matches","$nextTick","prototype","slice","call","querySelectorAll","beforeDestroy","cancelAnimationFrame","component"],"mappings":"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","file":"js/image-trail-lazy.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image-trail.vue?vue&type=style&index=0&id=a0a85f36&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"image-trail\"},[_vm._l((_vm.loadedImages),function(image,index){return [_c('img',{key:index,staticClass:\"image-trail__image\",attrs:{\"src\":image}})]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const preloadImages = (srcs = []) => {\n return Promise.all(\n srcs.map(src => new Promise(resolve => {\n const proxyImage = new Image();\n proxyImage.addEventListener('load', () => resolve(proxyImage.src));\n proxyImage.addEventListener('error', () => resolve(null));\n proxyImage.src = src;\n\n if (proxyImage.complete) {\n resolve(proxyImage.src);\n }\n }))\n ).then(results => {\n // filter out images that failed to load\n return results.filter(result => result);\n });\n};\n\nexport default preloadImages;","// linear interpolation\nconst lerp = (a, b, n) => (1 - n) * a + n * b;\n\nexport default lerp;","// distance between two points\nconst getDistance = (point1, point2) => {\n const a = point2.x - point1.x;\n const b = point2.y - point1.y;\n\n return Math.sqrt(a*a + b*b);\n};\n\nexport default getDistance;","\n \n
\n
\n \n
\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image-trail.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image-trail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./image-trail.vue?vue&type=template&id=a0a85f36\"\nimport script from \"./image-trail.vue?vue&type=script&lang=js\"\nexport * from \"./image-trail.vue?vue&type=script&lang=js\"\nimport style0 from \"./image-trail.vue?vue&type=style&index=0&id=a0a85f36&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}