{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/flipCardTileBlock/js/flipCardTileBlock.js"],"names":["CLS","FlipCardTileBlock","element","_this","this","_classCallCheck","$element","$","$card","find","concat","isFlipped","on","flipCard","adjustPersepective","window","resize","_","debounce","lockParentScroll","css","visibility","key","value","hasClass","removeClass","addClass","perspective","width","_this2","lockFixedScroll","throttle","leading","trailing","$fixedScrollEvent","parents","length","removeAttr","attr"],"mappings":"+3BAAA,IACMA,EAAM,oBAECC,EAAiB,WA0B5B,SAzBD,SAAAA,EAAYC,GAAS,IAAAC,EAAAC,kGAAAC,CAAAD,KAAAH,GACpBG,KAAKF,QAAUA,EACfE,KAAKE,SAAWC,EAAEL,GAElBE,KAAKI,MAAQJ,KAAKE,SAASG,KAAI,IAAAC,OAAKV,EAAG,UACvCI,KAAKO,WAAY,EAEjBP,KAAKE,SAASM,GAAE,GAAAF,OAAIV,EAAG,SAAS,WAC/BG,EAAKU,aAGNT,KAAKE,SAASM,GAAG,QAAS,WACzBT,EAAKU,aAGNT,KAAKU,qBACLP,EAAEQ,QAAQC,OAAOC,EAAEC,SAAS,WAC3Bf,EAAKW,sBACH,KAEHV,KAAKe,mBAELf,KAAKE,SAASc,KACbC,WAAY,kBAEbC,IAAA,WAAAC,MAED,WACiBnB,KAAKI,MAAMgB,SAAQ,GAAAd,OAAIV,EAAG,oBAGzCI,KAAKI,MAAMiB,YAAW,GAAAf,OAAIV,EAAG,mBAC7BI,KAAKO,WAAY,IAGjBP,KAAKI,MAAMkB,SAAQ,GAAAhB,OAAIV,EAAG,mBAC1BI,KAAKO,WAAY,MAElBW,IAAA,qBAAAC,MAED,WACCnB,KAAKE,SAASc,KACbO,YAAkC,EAArBvB,KAAKI,MAAMoB,aAI1BN,IAAA,mBAAAC,MAKA,WAAmB,IAAAM,EAAAzB,KAClBA,KAAKE,SAASM,GAAG,QAAS,WACtBiB,EAAKlB,WACPmB,MAIF1B,KAAKE,SAASM,GAAG,aAAcK,EAAEc,SAAS,WACtCF,EAAKlB,WACPmB,KAEC,IAAME,SAAS,EAAMC,UAAU,KAElC7B,KAAKE,SAASM,GAAG,sBAAuBK,EAAEc,SAAS,WAClD,GAAGF,EAAKlB,UAAW,CAClB,IAAIuB,EAAoBL,EAAKvB,SAAS6B,UAAU1B,KAAK,wBAClDyB,GAAqBA,EAAkBE,OAAS,GAClDF,EAAkBG,WAAW,6BAG7B,IAAML,SAAS,EAAMC,UAAU,KAElC,IAAIH,EAAkB,WACrB,IAAII,EAAoBL,EAAKvB,SAAS6B,UAAU1B,KAAK,wBAClDyB,GAAqBA,EAAkBE,OAAS,GAClDF,EAAkBI,KAAK,0BAA2B,wGA7ExB","file":"block-28.2f662a3aa586e55a56ca.js","sourcesContent":["const NS = 'FlipCardTileBlock';\nconst CLS = 'flipCardTileBlock';\n\nexport class FlipCardTileBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.$card = this.$element.find(`.${CLS}-card`);\n\t\tthis.isFlipped = false;\n\n\t\tthis.$element.on(`${CLS}.flip`, () => {\n\t\t\tthis.flipCard();\n\t\t});\n\n\t\tthis.$element.on('click', () => {\n\t\t\tthis.flipCard();\n\t\t});\n\n\t\tthis.adjustPersepective();\n\t\t$(window).resize(_.debounce(() => {\n\t\t\tthis.adjustPersepective();\n\t\t}, 50));\n\n\t\tthis.lockParentScroll();\n\n\t\tthis.$element.css({\n\t\t\tvisibility: 'visible'\n\t\t});\n\t}\n\n\tflipCard() {\n\t\tlet isFlipped = this.$card.hasClass(`${CLS}-card--flipped`);\n\n\t\tif(isFlipped) {\n\t\t\tthis.$card.removeClass(`${CLS}-card--flipped`);\n\t\t\tthis.isFlipped = false;\n\t\t}\n\t\telse {\n\t\t\tthis.$card.addClass(`${CLS}-card--flipped`);\n\t\t\tthis.isFlipped = true;\n\t\t}\n\t}\n\n\tadjustPersepective() {\n\t\tthis.$element.css({\n\t\t\tperspective: this.$card.width() * 4\n\t\t});\n\t}\n\n\t/**\n\t * Locks the parent scroll assuming the fixedScrollMixin is implemented.\n\t * [fixed-scroll-event] is generated by the fixedScrollMixin\n\t * Used in conjunction with overscrollBehaviour: https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior\n\t */\n\tlockParentScroll() {\n\t\tthis.$element.on('click', () => {\n\t\t\tif(this.isFlipped) {\n\t\t\t\tlockFixedScroll();\n\t\t\t}\n\t\t});\n\n\t\tthis.$element.on('mouseenter', _.throttle(() => {\n\t\t\tif(this.isFlipped) {\n\t\t\t\tlockFixedScroll();\n\t\t\t}\n\t\t}, 50, { leading: true, trailing: true }));\n\n\t\tthis.$element.on('mouseleave touchend', _.throttle(() => {\n\t\t\tif(this.isFlipped) {\n\t\t\t\tlet $fixedScrollEvent = this.$element.parents().find('[fixed-scroll-event]');\n\t\t\t\tif($fixedScrollEvent && $fixedScrollEvent.length > 0) {\n\t\t\t\t\t$fixedScrollEvent.removeAttr('fixed-scroll-event-lock');\n\t\t\t\t}\n\t\t\t}\n\t\t}, 50, { leading: true, trailing: true }));\n\n\t\tlet lockFixedScroll = () => {\n\t\t\tlet $fixedScrollEvent = this.$element.parents().find('[fixed-scroll-event]');\n\t\t\tif($fixedScrollEvent && $fixedScrollEvent.length > 0) {\n\t\t\t\t$fixedScrollEvent.attr('fixed-scroll-event-lock', 'true');\n\t\t\t}\n\t\t};\n\t}\n}\n"],"sourceRoot":""}