{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/pages/mixins/scrollToTopButtonMixinPage/scrollToTopButtonMixinPage.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/pages/promotionalLandingPage/js/promotionalLandingPage.js"],"names":["__webpack_require__","r","__webpack_exports__","$","d","scrollToTopButtonMixinPage","gsap_dist_gsap__WEBPACK_IMPORTED_MODULE_0__","gsap_ScrollToPlugin__WEBPACK_IMPORTED_MODULE_1__","gsap_dist_ScrollTrigger_js__WEBPACK_IMPORTED_MODULE_2__","gsap","registerPlugin","ScrollToPlugin","ScrollTrigger","initScrollToTopButtonMixin","self","$element","element","$tplScroller","$tplContent","$tplFooter","$tplFooterWrap","length","data","append","$scrollButton","on","to","scrollTo","duration","height","PromotionalLandingPage","_createClass","_classCallCheck","this","Object","assign","prototype"],"mappings":"8FAAAA,EAAAC,EAAAC,GAAA,SAAAC,GAAAH,EAAAI,EAAAF,EAAA,+CAAAG,IAAA,IAAAC,EAAAN,EAAA,IAAAO,EAAAP,EAAA,IAAAQ,EAAAR,EAAA,IAKAS,OAAKC,eAAeC,IAAgBC,iBAE7B,IAAIP,GACVQ,2BAA4B,SAACC,GAC5BA,EAAKC,SAAWD,EAAKC,UAAYZ,EAAEW,EAAKE,SACxCF,EAAKG,aAAeH,EAAKG,cAAgBd,EAAE,iBAC3CW,EAAKI,YAAcf,EAAE,gBACrBW,EAAKK,WAAahB,EAAE,eACpBW,EAAKM,eAAiBjB,EAAE,0BAKrBW,EAAKG,cAAgBH,EAAKG,aAAaI,OAAS,GAAKP,EAAKC,SAASO,KAAK,yBAC1ER,EAAKM,eAAeG,OAAM,oJAI1BT,EAAKU,cAAgBrB,EAAC,sBACtBW,EAAKU,cAAcC,GAAG,QAAS,WAE9BhB,OAAKiB,GAAGZ,EAAKG,aAAa,IACzBU,SAAU,EACVC,UAAWd,EAAKG,aAAaY,SAAW,KAAK,k3BC5BlD,IAKaC,4GAAsBC,CAClC,SAAAD,EAAYd,gGAASgB,CAAAC,KAAAH,GACpBG,KAAKjB,QAAUA,EACfiB,KAAKlB,SAAWZ,EAAE8B,KAAKjB,SAEvBiB,KAAKpB,2BAA2BoB,QAIlCC,OAAOC,OAAOL,EAAuBM,UAAW/B","file":"page-15.2f662a3aa586e55a56ca.js","sourcesContent":["import { gsap } from 'gsap/dist/gsap';\nimport { ScrollToPlugin } from 'gsap/ScrollToPlugin';\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger.js';\n// import { scrollTo } from 'scroll-js';\n\ngsap.registerPlugin(ScrollToPlugin, ScrollTrigger);\n\nexport let scrollToTopButtonMixinPage = {\n\tinitScrollToTopButtonMixin: (self) => {\n\t\tself.$element = self.$element || $(self.element);\n\t\tself.$tplScroller = self.$tplScroller || $('.tpl-scroller');\n\t\tself.$tplContent = $('.tpl-content');\n\t\tself.$tplFooter = $('.tpl-footer');\n\t\tself.$tplFooterWrap = $('.siteFooterWidget-wrap');\n\t\t// self.$tplFooter.css({\n\t\t// \tposition: 'relative'\n\t\t// });\n\n\t\tif(self.$tplScroller && self.$tplScroller.length > 0 && self.$element.data('displayScrollButton')) {\n\t\t\tself.$tplFooterWrap.append(``);\n\n\t\t\tself.$scrollButton = $(`.scrollToTopButton`);\n\t\t\tself.$scrollButton.on('click', () => {\n\t\t\t\t// GSAP scrollTo (to replace existing method below)\n\t\t\t\tgsap.to(self.$tplScroller[0], {\n\t\t\t\t\tscrollTo: 0,\n\t\t\t\t\tduration: (self.$tplScroller.height() + 500)/1000\n\t\t\t\t});\n\n\t\t\t\t// Scrollto replaced with GSAP\n\t\t\t\t// scrollTo(self.$tplScroller[0], { top: 0, duration: self.$tplScroller.height() + 500, easing: 'ease-in-out' }).then(() => {\n\t\t\t\t// \tself.$scrollButton.removeClass(`scrollToTopButton--reveal`);\n\t\t\t\t// \tself.$scrollButton.addClass(`scrollToTopButton--conceal`);\n\t\t\t\t// });\n\t\t\t});\n\n\t\t\t// GSAP Scrolltrigger (to replace existing method below)\n\t\t\t/*\n\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--conceal`);\n\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--animate`);\n\t\t\t\tScrollTrigger.create({\n\t\t\t\t\tscroller: self.$tplScroller,\n\t\t\t\t\ttrigger: self.$tplContent,\n\t\t\t\t\tstart: 'top top-=100',\n\t\t\t\t\tend: 'bottom bottom-=1000',\n\t\t\t\t\tonToggle: (scroller) => {\n\t\t\t\t\t\tif(scroller.isActive) {\n\t\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--reveal`);\n\t\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--conceal`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--reveal`);\n\t\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--conceal`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tScrollTrigger.create({\n\t\t\t\t\tscroller: self.$tplScroller,\n\t\t\t\t\ttrigger: self.$tplFooter,\n\t\t\t\t\tstart: 'top bottom',\n\t\t\t\t\tonToggle: (scroller) => {\n\t\t\t\t\t\tif(scroller.isActive) {\n\t\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--absoluteRelative`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--absoluteRelative`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tScrollTrigger.refresh();\n\t\t\t\t}, 5000);\n\t\t\t*/\n\t\t\t/*\n\t\t\t\t// Disabled due to poor performance, replacing scroll hooks with GSAP ScrollTrigger\n\t\t\t\tself.$tplScroller.on('scroll', _.throttle(() => {\n\t\t\t\t\tif(self.$tplScroller.scrollTop() > 50) { \n\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--reveal`);\n\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--conceal`);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--reveal`);\n\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--conceal`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif(self.$tplFooter && self.$tplFooter.length > 0) {\n\t\t\t\t\t\tif(self.$tplFooter.offset().top - window.innerHeight <= 0) {\n\t\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--absoluteRelative`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--absoluteRelative`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, 50));\n\t\t\t*/\n\t\t}\n\t}\n};\n","const NS = 'PromotionalLandingPage';\nconst CLS = 'promotionalLandingPage';\n\nimport { scrollToTopButtonMixinPage } from '../../mixins/scrollToTopButtonMixinPage/scrollToTopButtonMixinPage';\n\nexport class PromotionalLandingPage {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(this.element);\n\n\t\tthis.initScrollToTopButtonMixin(this);\n\t}\n}\n\nObject.assign(PromotionalLandingPage.prototype, scrollToTopButtonMixinPage);\n\n"],"sourceRoot":""}