{"version":3,"sources":["webpack:///./js/polyfills/intersection-observable.js","webpack:///./js/components/init-lazy-load.js"],"names":["intersection_observable","PageScrollHandler","_this","this","_classCallCheck","observer","IntersectionObserver","entries","handleEntries","callbacks","element","callback","sendElementToCallback","push","observe","handleBgImages","handleSrcImages","_this2","Array","forEach","event","isIntersecting","pair","find","x","target","url","getAttribute","undefined","image","Image","src","addEventListener","removeAttribute","setAttribute","classList","add","window","setTimeout","containerAnimate","document","querySelectorAll","lazyBg","lazyImage","funcName","length","registerBackgroundImageElement","registerImageElement","registerNewElement"],"mappings":"+VAkFeA,EAAA,eA/Eb,SAAAC,IAAc,IAAAC,EAAAC,kGAAAC,CAAAD,KAAAF,GACZE,KAAKE,SAAW,IAAIC,qBAAqB,SAAAC,GAAA,OACvCL,EAAKM,cAAcD,KAErBJ,KAAKM,UAAY,wDAGAC,EAASC,EAAUC,GACpCT,KAAKM,UAAUI,KAAK,CAAEH,UAASC,WAAUC,0BACzCT,KAAKE,SAASS,QAAQJ,0DAIOA,GAC7BP,KAAKM,UAAUI,KAAK,CAClBH,UACAC,SAAUR,KAAKY,eACfH,uBAAuB,IAEzBT,KAAKE,SAASS,QAAQJ,gDAIHA,GACnBP,KAAKM,UAAUI,KAAK,CAClBH,UACAC,SAAUR,KAAKa,gBACfJ,uBAAuB,IAEzBT,KAAKE,SAASS,QAAQJ,yCAIVH,GAAS,IAAAU,EAAAd,KACrBe,MAAMC,QAAQZ,EAAS,SAAAa,GACrB,GAAKA,EAAMC,eAAX,CAIA,IAAMC,EAAOL,EAAKR,UAAUc,KAAK,SAAAC,GAAA,OAAKA,EAAEd,UAAYU,EAAMK,SAEtDH,EAAKV,sBACPU,EAAKX,SAASW,EAAKZ,SAEnBY,EAAKX,qDAMID,GACb,IAAMgB,EAAMhB,EAAQiB,aAAa,YACjC,GAAY,OAARD,GAAwB,KAARA,QAAsBE,IAARF,EAAmB,CACnD,IAAMG,EAAQ,IAAIC,MAClBD,EAAME,IAAML,EACZG,EAAMG,iBAAiB,OAAQ,WAC7BtB,EAAQuB,gBAAgB,WAAYP,GACpChB,EAAQwB,aAAa,QAArB,0BAAwDR,EAAxD,OACAhB,EAAQyB,UAAUC,IAAI,qDAKZ1B,GACd,IAAMgB,EAAMhB,EAAQiB,aAAa,YACjC,GAAY,OAARD,GAAwB,KAARA,QAAsBE,IAARF,EAAmB,CACnD,IAAMG,EAAQ,IAAIC,MAClBD,EAAME,IAAML,EACZG,EAAMG,iBAAiB,OAAQ,WAC7BtB,EAAQuB,gBAAgB,WAAYP,GACpChB,EAAQwB,aAAa,MAAOR,GAC5BW,OAAOC,WAAW,WAChB5B,EAAQyB,UAAUC,IAAI,WACrB,iBCxELG,EAAmBC,SAASC,iBAAiB,yBAC7CC,EAASF,SAASC,iBAAiB,eACnCE,EAAYH,SAASC,iBAAiB,gBAE5C,SAASG,EAASlC,GAChBA,EAAQyB,UAAUC,IAAI,aAGT,OAAXM,GAAmBA,EAAOG,OAAS,GACrC3B,MAAMC,QAAQuB,EAAQ,SAAAhC,GACpBT,EAAkB6C,+BAA+BpC,KAInC,OAAdiC,GAAsBA,EAAUE,OAAS,GAC3C3B,MAAMC,QAAQwB,EAAW,SAAAjC,GACvBT,EAAkB8C,qBAAqBrC,KAIlB,OAArB6B,GACFrB,MAAMC,QAAQoB,EAAkB,SAAA7B,GAC9BT,EAAkB+C,mBAAmBtC,EAASkC,GAAU","file":"16-062b464f66c63bc8911e.js","sourcesContent":["/* eslint-disable */\r\n\r\nclass PageScrollHandler {\r\n constructor() {\r\n this.observer = new IntersectionObserver(entries =>\r\n this.handleEntries(entries),\r\n );\r\n this.callbacks = [];\r\n }\r\n\r\n registerNewElement(element, callback, sendElementToCallback) {\r\n this.callbacks.push({ element, callback, sendElementToCallback });\r\n this.observer.observe(element);\r\n }\r\n\r\n /* built in function to add image background image url from data-src when entering viewport */\r\n registerBackgroundImageElement(element) {\r\n this.callbacks.push({\r\n element,\r\n callback: this.handleBgImages,\r\n sendElementToCallback: true,\r\n });\r\n this.observer.observe(element);\r\n }\r\n\r\n /* built in function to add image src from data-src when entering viewport */\r\n registerImageElement(element) {\r\n this.callbacks.push({\r\n element,\r\n callback: this.handleSrcImages,\r\n sendElementToCallback: true,\r\n });\r\n this.observer.observe(element);\r\n }\r\n\r\n /* handle entries run when a new element is observed (comes into view) */\r\n handleEntries(entries) {\r\n Array.forEach(entries, event => {\r\n if (!event.isIntersecting) {\r\n return;\r\n }\r\n\r\n const pair = this.callbacks.find(x => x.element === event.target);\r\n\r\n if (pair.sendElementToCallback) {\r\n pair.callback(pair.element);\r\n } else {\r\n pair.callback();\r\n }\r\n });\r\n }\r\n\r\n /* built in styling functions */\r\n handleBgImages(element) {\r\n const url = element.getAttribute('data-src');\r\n if (url !== null && url !== '' && url !== undefined) {\r\n const image = new Image();\r\n image.src = url;\r\n image.addEventListener('load', () => {\r\n element.removeAttribute('data-src', url);\r\n element.setAttribute('style', `background-image: url('${url}');`);\r\n element.classList.add('loaded');\r\n });\r\n }\r\n }\r\n\r\n handleSrcImages(element) {\r\n const url = element.getAttribute('data-src');\r\n if (url !== null && url !== '' && url !== undefined) {\r\n const image = new Image();\r\n image.src = url;\r\n image.addEventListener('load', () => {\r\n element.removeAttribute('data-src', url);\r\n element.setAttribute('src', url);\r\n window.setTimeout(() => {\r\n element.classList.add('loaded');\r\n }, 50);\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default new PageScrollHandler();\r\n","/* eslint-disable */\r\n\r\nimport PageScrollHandler from \"../polyfills/intersection-observable\";\r\n\r\nconst containerAnimate = document.querySelectorAll(\".js-container-animate\");\r\nconst lazyBg = document.querySelectorAll(\".js-lazy-bg\");\r\nconst lazyImage = document.querySelectorAll(\".js-lazy-img\");\r\n\r\nfunction funcName(element) {\r\n element.classList.add(\"on-screen\");\r\n}\r\n\r\nif (lazyBg !== null && lazyBg.length > 0) {\r\n Array.forEach(lazyBg, element => {\r\n PageScrollHandler.registerBackgroundImageElement(element);\r\n });\r\n}\r\n\r\nif (lazyImage !== null && lazyImage.length > 0) {\r\n Array.forEach(lazyImage, element => {\r\n PageScrollHandler.registerImageElement(element);\r\n });\r\n}\r\n\r\nif (containerAnimate !== null) {\r\n Array.forEach(containerAnimate, element => {\r\n PageScrollHandler.registerNewElement(element, funcName, true);\r\n });\r\n}\r\n"],"sourceRoot":""}