{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/mixins/animateScrollRevealMixinBlock/animateScrollRevealMixinBlock.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/statisticsHeroBlock/js/statisticsHeroBlock.js"],"names":["__webpack_require__","r","__webpack_exports__","$","_","d","animateScrollRevealMixinBlock","gsap_dist_gsap__WEBPACK_IMPORTED_MODULE_0__","gsap_dist_ScrollTrigger_js__WEBPACK_IMPORTED_MODULE_1__","gsap","registerPlugin","ScrollTrigger","initAnimateScrollReveal","self","CLS","$element","element","isNil","data","addClass","concat","$tplScroller","on","removeClass","numbers","find","length","utils","toArray","forEach","item","text","hasClass","create","scroller","window","trigger","once","start","onEnter","numOriginal","toString","replace","numCount","val","setTimeout","to","duration","onUpdate","toLocaleString","minimumFractionDigits","maximumFractionDigits","StatisticsHeroBlock","_createClass","_classCallCheck","this","Object","assign","prototype"],"mappings":"8FAAAA,EAAAC,EAAAC,GAAA,SAAAC,EAAAC,GAAAJ,EAAAK,EAAAH,EAAA,kDAAAI,IAAA,IAAAC,EAAAP,EAAA,IAAAQ,EAAAR,EAAA,IAGAS,OAAKC,eAAeC,iBAEb,IAAIL,GACVM,wBAAyB,SAACC,EAAMC,GAG/B,GAFAD,EAAKE,SAAWF,EAAKE,UAAYZ,EAAEU,EAAKG,UAEpCZ,EAAEa,MAAMJ,EAAKE,SAASG,KAAK,yBAA2BL,EAAKE,SAASG,KAAK,uBAAwB,CACpGL,EAAKE,SAASI,SAAQ,GAAAC,OAAIN,EAAG,cAC7BD,EAAKE,SAASI,SAAQ,GAAAC,OAAIN,EAAG,cAE7BD,EAAKQ,aAAelB,EAAE,iBAEtBU,EAAKE,SAASO,GAAE,GAAAF,OAAIN,EAAG,oBAAoB,WAC1CD,EAAKE,SAASI,SAAQ,GAAAC,OAAIN,EAAG,aAC7BD,EAAKE,SAASQ,YAAW,GAAAH,OAAIN,EAAG,eAGjCD,EAAKE,SAASO,GAAE,GAAAF,OAAIN,EAAG,mBAAmB,WACzCD,EAAKE,SAASI,SAAQ,GAAAC,OAAIN,EAAG,aAC7BD,EAAKE,SAASQ,YAAW,GAAAH,OAAIN,EAAG,gBAIjC,IAAMU,EAAUX,EAAKE,SAASU,KAAK,kBAChCD,EAAQE,QACVjB,OAAKkB,MAAMC,QAAQJ,GAASK,QAAQ,SAACC,GACpC3B,EAAE2B,GAAMC,KAAK,OAIZlB,EAAKE,SAASiB,SAAQ,GAAAZ,OAAIN,EAAG,eAG/BH,gBAAcsB,QACbC,SAAWrB,EAAKQ,cAAgBR,EAAKQ,aAAaK,OAAS,EAAKb,EAAKQ,aAAec,OACpFC,QAASvB,EAAKE,SACdsB,MAAM,EACNC,MAAO,UAEPC,QAAS,WAER1B,EAAKE,SAASqB,QAAO,GAAAhB,OAAIN,EAAG,oBAG5B,IAAMU,EAAUX,EAAKE,SAASU,KAAK,kBAChCD,EAAQE,QACVjB,OAAKkB,MAAMC,QAAQJ,GAASK,QAAQ,SAACC,GACpC,IAAIU,EAAcrC,EAAE2B,GAAMZ,KAAK,WAC5BsB,IACFA,EAAcA,EAAYC,WAAWC,QAAQ,KAAM,KAEpD,IAAMC,GAAaC,IAAK,GACxBC,WAAW,WACVpC,OAAKqC,GAAGH,GACPC,IAAKJ,EACLO,SAAU,EACVC,SAAU,WACT7C,EAAE2B,GAAMC,KAAKY,EAASC,IAAIK,eAAe,MACxCC,sBAAuB,EACvBC,sBAAuB,SAIxB,u3BCjEX,IAKaC,4GAAmBC,CAC/B,SAAAD,EAAYpC,gGAASsC,CAAAC,KAAAH,GACpBG,KAAKvC,QAAUA,EACfuC,KAAKxC,SAAWZ,EAAEa,GAElBuC,KAAK3C,wBAAwB2C,KATnB,yBAaZC,OAAOC,OAAOL,EAAoBM,UAAWpD","file":"block-60.2f662a3aa586e55a56ca.js","sourcesContent":["import { gsap } from 'gsap/dist/gsap';\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger.js';\n\ngsap.registerPlugin(ScrollTrigger);\n\nexport let animateScrollRevealMixinBlock = {\n\tinitAnimateScrollReveal: (self, CLS) => {\n\t\tself.$element = self.$element || $(self.element);\n\n\t\tif(!_.isNil(self.$element.data('animateScrollReveal')) && self.$element.data('animateScrollReveal')) {\n\t\t\tself.$element.addClass(`${CLS}--animate`);\n\t\t\tself.$element.addClass(`${CLS}--conceal`);\n\n\t\t\tself.$tplScroller = $('.tpl-scroller');\n\n\t\t\tself.$element.on(`${CLS}.animate.conceal`, () => {\n\t\t\t\tself.$element.addClass(`${CLS}-conceal`);\n\t\t\t\tself.$element.removeClass(`${CLS}--reveal`);\n\t\t\t});\n\n\t\t\tself.$element.on(`${CLS}.animate.reveal`, () => {\n\t\t\t\tself.$element.addClass(`${CLS}--reveal`);\n\t\t\t\tself.$element.removeClass(`${CLS}--conceal`);\n\t\t\t});\n\n\t\t\t// Numbers Count (optiona - could be an extra anim element, but this is more performent)\n\t\t\tconst numbers = self.$element.find('[data-countup]');\n\t\t\tif(numbers.length) {\n\t\t\t\tgsap.utils.toArray(numbers).forEach((item) => {\n\t\t\t\t\t$(item).text('0');\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif(self.$element.hasClass(`${CLS}--animate`)) {\n\t\t\t\t// GSAP Scrolltrigger (to replace existing method below)\n\t\t\t\t// const start = $(self.$element).data('animated-start') !== undefined ? $(self.$element).data('animated-start') : 'top 75%';\n\t\t\t\tScrollTrigger.create({\n\t\t\t\t\tscroller: (self.$tplScroller && self.$tplScroller.length > 0) ? self.$tplScroller : window,\n\t\t\t\t\ttrigger: self.$element,\n\t\t\t\t\tonce: true,\n\t\t\t\t\tstart: 'top 75%',\n\t\t\t\t\t// markers: true,\n\t\t\t\t\tonEnter: () => {\n\t\t\t\t\t\t// console.log(self.$element);\n\t\t\t\t\t\tself.$element.trigger(`${CLS}.animate.reveal`);\n\n\t\t\t\t\t\t// Numbers Count (optiona - could be an extra anim element, but this is more performent)\n\t\t\t\t\t\tconst numbers = self.$element.find('[data-countup]');\n\t\t\t\t\t\tif(numbers.length) {\n\t\t\t\t\t\t\tgsap.utils.toArray(numbers).forEach((item) => {\n\t\t\t\t\t\t\t\tlet numOriginal = $(item).data('countup');\n\t\t\t\t\t\t\t\tif(numOriginal) {\n\t\t\t\t\t\t\t\t\tnumOriginal = numOriginal.toString().replace(/,/g, '');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst numCount = { val: 0 };\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\tgsap.to(numCount, {\n\t\t\t\t\t\t\t\t\t\tval: numOriginal,\n\t\t\t\t\t\t\t\t\t\tduration: 5,\n\t\t\t\t\t\t\t\t\t\tonUpdate: function() {\n\t\t\t\t\t\t\t\t\t\t\t$(item).text(numCount.val.toLocaleString('en', {\n\t\t\t\t\t\t\t\t\t\t\t\tminimumFractionDigits: 0,\n\t\t\t\t\t\t\t\t\t\t\t\tmaximumFractionDigits: 0\n\t\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}, 150);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t/*\n\t\t\t\t\tDisabling this due to poor performance (infinite scroll hooks), and lack of positioning options\n\t\t\t\t\t// Deal with latching the appropriate scroll event\n\t\t\t\t\tif(self.$tplScroller && self.$tplScroller.length > 0) {\n\t\t\t\t\t\tlet revealBlock = () => {\n\t\t\t\t\t\t\tif(Math.ceil(self.$element.position().top) < (self.$element.height() / 2)) {\n\t\t\t\t\t\t\t\tself.$element.trigger(`${CLS}.animate.reveal`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tself.$tplScroller.on('scroll', _.throttle(() => {\n\t\t\t\t\t\t\trevealBlock();\n\t\t\t\t\t\t}, 250));\n\n\t\t\t\t\t\trevealBlock();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet revealBlock = () => {\n\t\t\t\t\t\t\tlet scrollBottomY = window.scrollY + window.innerHeight;\n\n\t\t\t\t\t\t\tif(scrollBottomY >= Math.ceil(self.$element.position().top) + (self.$element.height() / 2)) {\n\t\t\t\t\t\t\t\tself.$element.trigger(`${CLS}.animate.reveal`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\twindow.addEventListener('scroll', _.throttle(() => {\n\t\t\t\t\t\t\trevealBlock();\n\t\t\t\t\t\t}, 250));\n\n\t\t\t\t\t\trevealBlock();\n\t\t\t\t\t}\n\t\t\t\t*/\n\t\t\t}\n\t\t}\n\t}\n};\n\n\n","/* eslint-disable no-invalid-this */\nconst NS = 'StatisticsHeroBlock';\nconst CLS = 'statisticsHeroBlock';\n\nimport { animateScrollRevealMixinBlock } from '../../mixins/animateScrollRevealMixinBlock/animateScrollRevealMixinBlock';\n\nexport class StatisticsHeroBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.initAnimateScrollReveal(this, CLS);\n\t}\n}\n\nObject.assign(StatisticsHeroBlock.prototype, animateScrollRevealMixinBlock);\n"],"sourceRoot":""}