{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/mixins/fullWindowHeightMixinBlock/fullWindowHeightMixinBlock.js","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/mixins/trackingScrollMixinBlock/trackingScrollMixinBlock.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/quoteBlock/js/quoteBlock.js"],"names":["__webpack_require__","r","__webpack_exports__","$","_","d","fullWindowHeightMixinBlock","initFullWindowHeight","self","$element","element","isNil","data","setElementHeight","$tplHeader","setTimeout","css","minHeight","concat","window","height","visibility","resize","debounce","animateScrollRevealMixinBlock","gsap_dist_gsap__WEBPACK_IMPORTED_MODULE_0__","gsap_dist_ScrollTrigger_js__WEBPACK_IMPORTED_MODULE_1__","gsap","registerPlugin","ScrollTrigger","initAnimateScrollReveal","CLS","addClass","$tplScroller","on","removeClass","numbers","find","length","utils","toArray","forEach","item","text","hasClass","create","scroller","trigger","once","start","onEnter","numOriginal","toString","replace","numCount","val","to","duration","onUpdate","toLocaleString","minimumFractionDigits","maximumFractionDigits","trackingScrollMixinBlock","initTrackingScroll","trackingId","$tracker","markAsComplete","throttle","Math","ceil","position","top","outerHeight","clientHeight","scrollHeight","QuoteBlock","_createClass","_classCallCheck","this","$swiper","$buttonNext","$buttonPrev","Swiper","speed","spaceBetween","slidesPerView","autoHeight","navigation","nextEl","prevEl","Object","assign","prototype"],"mappings":"oGAAAA,EAAAC,EAAAC,GAAA,SAAAC,EAAAC,GAAAJ,EAAAK,EAAAH,EAAA,+CAAAI,IAAO,IAAIA,GACVC,qBAAsB,SAACC,GAGtB,GAFAA,EAAKC,SAAWD,EAAKC,UAAYN,EAAEK,EAAKE,UAEpCN,EAAEO,MAAMH,EAAKC,SAASG,KAAK,gBAAkBJ,EAAKC,SAASG,KAAK,cAAe,CAClF,IAAIC,EAAmB,WACtB,IAAIC,EAAaX,EAAE,eAGnBY,WAAW,WACVP,EAAKC,SAASO,KACbC,UAAS,GAAAC,OAAKf,EAAEgB,QAAQC,SAAWN,EAAWM,SAAQ,MACtDC,WAAY,aAEX,MAGJlB,EAAEgB,QAAQG,OAAOlB,EAAEmB,SAAS,WAC3BV,KACE,MAEHA,SAIAE,WAAW,WACVP,EAAKC,SAASO,KACbK,WAAY,aAEX,gEC7BNrB,EAAAC,EAAAC,GAAA,SAAAC,EAAAC,GAAAJ,EAAAK,EAAAH,EAAA,kDAAAsB,IAAA,IAAAC,EAAAzB,EAAA,IAAA0B,EAAA1B,EAAA,IAGA2B,OAAKC,eAAeC,iBAEb,IAAIL,GACVM,wBAAyB,SAACtB,EAAMuB,GAG/B,GAFAvB,EAAKC,SAAWD,EAAKC,UAAYN,EAAEK,EAAKE,UAEpCN,EAAEO,MAAMH,EAAKC,SAASG,KAAK,yBAA2BJ,EAAKC,SAASG,KAAK,uBAAwB,CACpGJ,EAAKC,SAASuB,SAAQ,GAAAd,OAAIa,EAAG,cAC7BvB,EAAKC,SAASuB,SAAQ,GAAAd,OAAIa,EAAG,cAE7BvB,EAAKyB,aAAe9B,EAAE,iBAEtBK,EAAKC,SAASyB,GAAE,GAAAhB,OAAIa,EAAG,oBAAoB,WAC1CvB,EAAKC,SAASuB,SAAQ,GAAAd,OAAIa,EAAG,aAC7BvB,EAAKC,SAAS0B,YAAW,GAAAjB,OAAIa,EAAG,eAGjCvB,EAAKC,SAASyB,GAAE,GAAAhB,OAAIa,EAAG,mBAAmB,WACzCvB,EAAKC,SAASuB,SAAQ,GAAAd,OAAIa,EAAG,aAC7BvB,EAAKC,SAAS0B,YAAW,GAAAjB,OAAIa,EAAG,gBAIjC,IAAMK,EAAU5B,EAAKC,SAAS4B,KAAK,kBAChCD,EAAQE,QACVX,OAAKY,MAAMC,QAAQJ,GAASK,QAAQ,SAACC,GACpCvC,EAAEuC,GAAMC,KAAK,OAIZnC,EAAKC,SAASmC,SAAQ,GAAA1B,OAAIa,EAAG,eAG/BF,gBAAcgB,QACbC,SAAWtC,EAAKyB,cAAgBzB,EAAKyB,aAAaK,OAAS,EAAK9B,EAAKyB,aAAed,OACpF4B,QAASvC,EAAKC,SACduC,MAAM,EACNC,MAAO,UAEPC,QAAS,WAER1C,EAAKC,SAASsC,QAAO,GAAA7B,OAAIa,EAAG,oBAG5B,IAAMK,EAAU5B,EAAKC,SAAS4B,KAAK,kBAChCD,EAAQE,QACVX,OAAKY,MAAMC,QAAQJ,GAASK,QAAQ,SAACC,GACpC,IAAIS,EAAchD,EAAEuC,GAAM9B,KAAK,WAC5BuC,IACFA,EAAcA,EAAYC,WAAWC,QAAQ,KAAM,KAEpD,IAAMC,GAAaC,IAAK,GACxBxC,WAAW,WACVY,OAAK6B,GAAGF,GACPC,IAAKJ,EACLM,SAAU,EACVC,SAAU,WACTvD,EAAEuC,GAAMC,KAAKW,EAASC,IAAII,eAAe,MACxCC,sBAAuB,EACvBC,sBAAuB,SAIxB,sEClEX7D,EAAAC,EAAAC,GAAA,SAAAC,EAAAC,GAAAJ,EAAAK,EAAAH,EAAA,6CAAA4D,IAAO,IAAIA,GACVC,mBAAoB,SAACvD,GACpBA,EAAKC,SAAWD,EAAKC,UAAYN,EAAEK,EAAKE,SACxCF,EAAKM,WAAaN,EAAKM,YAAcX,EAAE,eAEvC,IAAI6D,EAAaxD,EAAKC,SAASG,KAAK,cACpC,IAAIR,EAAEO,MAAMqD,IAA8B,KAAfA,EAAmB,CAC7C,IAAIC,EAAW9D,EAAE,kCAGjB,GAFAK,EAAKyB,aAAezB,EAAKyB,cAAgB9B,EAAE,mBAEtC8D,GAAYA,EAAS3B,OAAS,GAElC,OAGD,KAAK9B,EAAKyB,cAAgBzB,EAAKyB,aAAaK,OAAS,GAEpD,OAGD,IAAI4B,EAAiB,WAChB1D,EAAKC,SAASG,KAAK,sBACtBqD,EAASlB,QAAQ,qBAAuBtC,SAAUD,EAAKC,SAAUuD,WAAYA,IAC7ExD,EAAKC,SAASG,KAAK,oBAAoB,KAIzCJ,EAAKyB,aAAaC,GAAG,SAAU9B,EAAE+D,SAAS,WAEtCC,KAAKC,KAAM7D,EAAKC,SAAS6D,WAAWC,IAAM/D,EAAKC,SAAS+D,eAAkBhE,EAAKyB,aAAab,UAE9F8C,KAEC,MAGA1D,EAAKyB,aAAa,GAAGwC,cAAgBjE,EAAKyB,aAAa,GAAGyC,cAC5DR,24BCrCJ,IACMnC,EAAM,aAQC4C,4GAAUC,CACtB,SAAAD,EAAYjE,gGAASmE,CAAAC,KAAAH,GACpBG,KAAKpE,QAAUA,EACfoE,KAAKrE,SAAWN,EAAEO,GAElBoE,KAAKC,QAAUD,KAAKrE,SAAS4B,KAAI,IAAAnB,OAAKa,EAAG,YACzC+C,KAAKE,YAAcF,KAAKrE,SAAS4B,KAAI,IAAAnB,OAAKa,EAAG,wBAC7C+C,KAAKG,YAAcH,KAAKrE,SAAS4B,KAAI,IAAAnB,OAAKa,EAAG,wBAE9B,IAAImD,IAAOJ,KAAKC,QAAQ,IACtCI,MAAO,IACPC,aAAc,GACdC,cAAe,EACfC,YAAY,EACZC,YACCC,OAAQV,KAAKE,YAAY,GACzBS,OAAQX,KAAKG,YAAY,MAI3BH,KAAKvE,qBAAqBuE,MAC1BA,KAAKf,mBAAmBe,MACxBA,KAAKhD,wBAAwBgD,KAAM/C,KAIrC2D,OAAOC,OAAOhB,EAAWiB,UAAWtF,8BACpCoF,OAAOC,OAAOhB,EAAWiB,UAAWpE,iCACpCkE,OAAOC,OAAOhB,EAAWiB,UAAW9B","file":"block-54.2f662a3aa586e55a56ca.js","sourcesContent":["export let fullWindowHeightMixinBlock = {\n\tinitFullWindowHeight: (self) => {\n\t\tself.$element = self.$element || $(self.element);\n\n\t\tif(!_.isNil(self.$element.data('fullscreen')) && self.$element.data('fullscreen')) {\n\t\t\tlet setElementHeight = () => {\n\t\t\t\tlet $tplHeader = $('.tpl-header');\n\n\t\t\t\t// Slight delay\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tself.$element.css({\n\t\t\t\t\t\tminHeight: `${$(window).height() - $tplHeader.height()}px`,\n\t\t\t\t\t\tvisibility: 'visible'\n\t\t\t\t\t});\n\t\t\t\t}, 250);\n\t\t\t};\n\n\t\t\t$(window).resize(_.debounce(() => {\n\t\t\t\tsetElementHeight();\n\t\t\t}, 250));\n\n\t\t\tsetElementHeight();\n\t\t}\n\t\telse {\n\t\t\t// Slight delay\n\t\t\tsetTimeout(() => {\n\t\t\t\tself.$element.css({\n\t\t\t\t\tvisibility: 'visible'\n\t\t\t\t});\n\t\t\t}, 250);\n\t\t}\n\t}\n};\n","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","export let trackingScrollMixinBlock = {\n\tinitTrackingScroll: (self) => {\n\t\tself.$element = self.$element || $(self.element);\n\t\tself.$tplHeader = self.$tplHeader || $('.tpl-header');\n\n\t\tlet trackingId = self.$element.data('trackingId');\n\t\tif(!_.isNil(trackingId) && trackingId !== '') {\n\t\t\tlet $tracker = $('[data-pg][data-tracker=\"true\"]');\n\t\t\tself.$tplScroller = self.$tplScroller || $('.tpl-scroller');\n\n\t\t\tif(!($tracker && $tracker.length > 0)) {\n\t\t\t\tconsole.error(`TrackingScrollMixinBlock::Error`, 'Please ensure that the \"[data-pg][data-tracker=\"true\"]\" element exists.');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(!(self.$tplScroller && self.$tplScroller.length > 0)) {\n\t\t\t\tconsole.error(`TrackingScrollMixinBlock::Error`, 'Please ensure that the \".tpl-main\" element exists.');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet markAsComplete = () => {\n\t\t\t\tif(!self.$element.data('trackingComplete')) {\n\t\t\t\t\t$tracker.trigger('tracking.complete', { $element: self.$element, trackingId: trackingId });\n\t\t\t\t\tself.$element.data('trackingComplete', true);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tself.$tplScroller.on('scroll', _.throttle(() => {\n\t\t\t\t// If the bottom part of the element is above the bottom part of the tplScroller\n\t\t\t\tif(Math.ceil((self.$element.position().top + self.$element.outerHeight())) < self.$tplScroller.height()) {\n\t\t\t\t\t// Emit to the data-pg which contains data-tracker=\"true\"\n\t\t\t\t\tmarkAsComplete();\n\t\t\t\t}\n\t\t\t}, 250));\n\n\t\t\t// Mark scrolling as complete if the scroller clientHeight is greater than the scrollHeight\n\t\t\tif(self.$tplScroller[0].clientHeight >= self.$tplScroller[0].scrollHeight) {\n\t\t\t\tmarkAsComplete();\n\t\t\t}\n\t\t}\n\t}\n};\n","const NS = 'QuoteBlock';\nconst CLS = 'quoteBlock';\n\nimport Swiper from 'swiper/swiper-bundle.js';\n\nimport { fullWindowHeightMixinBlock } from '../../mixins/fullWindowHeightMixinBlock/fullWindowHeightMixinBlock';\nimport { trackingScrollMixinBlock } from '../../mixins/trackingScrollMixinBlock/trackingScrollMixinBlock';\nimport { animateScrollRevealMixinBlock } from '../../mixins/animateScrollRevealMixinBlock/animateScrollRevealMixinBlock';\n\nexport class QuoteBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.$swiper = this.$element.find(`.${CLS}-swiper`);\n\t\tthis.$buttonNext = this.$element.find(`.${CLS}-swiper-button-next`);\n\t\tthis.$buttonPrev = this.$element.find(`.${CLS}-swiper-button-prev`);\n\t\n\t\tconst swiper = new Swiper(this.$swiper[0], {\n\t\t\tspeed: 700,\n\t\t\tspaceBetween: 50,\n\t\t\tslidesPerView: 1,\n\t\t\tautoHeight: false,\n\t\t\tnavigation: {\n\t\t\t\tnextEl: this.$buttonNext[0],\n\t\t\t\tprevEl: this.$buttonPrev[0]\n\t\t\t}\n\t\t});\n\n\t\tthis.initFullWindowHeight(this);\n\t\tthis.initTrackingScroll(this);\n\t\tthis.initAnimateScrollReveal(this, CLS);\n\t}\n}\n\nObject.assign(QuoteBlock.prototype, fullWindowHeightMixinBlock);\nObject.assign(QuoteBlock.prototype, animateScrollRevealMixinBlock);\nObject.assign(QuoteBlock.prototype, trackingScrollMixinBlock);\n"],"sourceRoot":""}