{"version":3,"mappings":";6PAEe,MAAMA,CAAc,CACjC,YAAYC,EAAI,CAiEhBC,EAAA,wBAAmB,IAAM,CACvB,MAAMC,EAAKC,EAAK,SAAS,CACvB,SAAU,CACR,SAAU,GACV,KAAM,cACP,CACP,CAAK,EAEDA,EAAK,IAAI,KAAK,MAAO,CACnB,UAAW,CACjB,CAAK,EAEDA,EAAK,IAAI,KAAK,iBAAkB,CAC9B,SAAU,GAChB,CAAK,EAEDD,EAAG,GAAG,KAAK,MAAO,CAChB,UAAW,EACX,QAAS,MACf,CAAK,EAEDA,EAAG,GAAG,KAAK,iBAAkB,CAC3B,SAAU,EACV,WAAY,IAAM,CAChB,SAAS,KAAK,MAAM,SAAW,SAC/B,KAAK,OAAS,EACf,CACP,CAAK,CACL,GAEED,EAAA,kBAAa,IAAM,CACjB,MAAMC,EAAKC,EAAK,SAAS,CACvB,SAAU,CACR,SAAU,GACV,KAAM,cACP,CACP,CAAK,EAEDD,EAAG,GAAG,KAAK,iBAAkB,CAC3B,SAAU,GAChB,CAAK,EAEDA,EAAG,GAAG,KAAK,MAAO,CAChB,UAAW,EACX,WAAY,IAAM,CAChBC,EAAK,IAAI,KAAK,MAAO,CACnB,QAAS,MACnB,CAAS,EACD,SAAS,KAAK,MAAM,SAAW,OAC/B,KAAK,OAAS,EACf,CACP,CAAK,CACL,GApHI,KAAK,OAASH,EACd,KAAK,MAAQ,SAAS,cAAc,qCAAqC,EACzE,KAAK,MAAQ,SAAS,cAAc,oCAAoC,EACxE,KAAK,eAAiBA,EAAG,WAAW,WAAW,cAC7C,0CACN,EACI,KAAK,MAAQ,KAAK,MAAM,cACtB,6CACN,EACI,KAAK,iBAAmB,KAAK,MAAM,cACjC,gDACN,EACI,KAAK,OAAS,EACf,CAED,MAAO,CAGL,GAFA,KAAK,aAAY,EAEb,KAAK,OAAQ,CACf,GAAI,KAAK,MAAO,CAEd,KAAK,MAAM,UAAY,KAAK,eAAe,UAG3C,MAAMI,EAAO,KAAK,MAAM,cACtB,iCACV,EACQA,EAAK,cAAc,SAAS,EAAE,UAAU,OAAO,QAAQ,EAIvDC,EAAA,WAAO,+BAAsB,0BAAE,KAAMC,GAAM,CACzB,IAAIA,EAAE,QAAQF,CAAI,EAC1B,KAAI,CACtB,CAAS,EAGwB,KAAK,MAAM,cAClC,gCACV,GAESC,EAAA,IAAC,OAAO,0BAA0B,0BAAE,KAAMC,GAAM,CAC3B,IAAIA,EAAE,UACd,KAAI,CAC1B,CAAW,EAGH,KAAK,iBAAgB,CACtB,CAGG,KAAK,OACP,KAAK,MAAM,iBAAiB,QAAS,IAAM,CACzC,KAAK,WAAU,CACzB,CAAS,EAIH,OAAO,iBAAiB,cAAe,IAAM,CAC3C,KAAK,WAAU,CACvB,CAAO,CACF,CACF,CAwDD,cAAe,CACb,SAAS,iBAAiB,QAAUC,GAAU,CAE1C,KAAK,QACL,CAAC,KAAK,iBAAiB,SAASA,EAAM,MAAM,GAC5C,CAAC,KAAK,MAAM,SAASA,EAAM,MAAM,GACjCA,EAAM,OAAO,QAAQ,KAAO,qBAG5B,KAAK,WAAU,CAEvB,CAAK,CACF,CACH","names":["QuickBuyPopUp","el","__publicField","tl","gsap","form","__vitePreload","r","event"],"ignoreList":[],"sources":["../../../app/javascript/entrypoints/js/quickBuy/quick-buy-pop-up.js"],"sourcesContent":["import gsap from \"gsap\";\n\nexport default class QuickBuyPopUp {\n constructor(el) {\n this.button = el;\n this.popUp = document.querySelector(\"[data-js='quick-buy-mobile-pop-up']\");\n this.close = document.querySelector(\"[data-js='close-quick-buy-mobile']\");\n this.getContentHere = el.parentNode.parentNode.querySelector(\n \"[data-js='quick-buy-mobile-get-content']\",\n );\n this.empty = this.popUp.querySelector(\n \"[data-js='quick-buy-mobile-innerHtml-here']\",\n );\n this.clickableContent = this.popUp.querySelector(\n \"[data-js='quick-buy-mobile-clickable-content']\",\n );\n this.isOpen = false;\n }\n\n init() {\n this.clickOutside();\n\n if (this.button) {\n if (this.popUp) {\n // get the form from the card and append it to the pop up\n this.empty.innerHTML = this.getContentHere.innerHTML;\n\n // show additional content for mobile quick buy\n const form = this.empty.querySelector(\n \"[data-js='form-quick-buy-size']\",\n );\n form.querySelector(\"article\").classList.remove(\"hidden\");\n\n // import the js file for the form\n\n import(\"./quick-buy-sizes.js\").then((r) => {\n const qbSizes = new r.default(form);\n qbSizes.init();\n });\n\n // import the js file for the size guide\n const productSizeGuide = this.empty.querySelector(\n \"[data-js='product-size-guide']\",\n );\n if (productSizeGuide) {\n import(\"../product/size-guide.js\").then((r) => {\n const sizeGuide = new r.default();\n sizeGuide.init();\n });\n }\n\n this.animateOpenPopUp();\n }\n\n // close the pop up when clicking on the close button\n if (this.close) {\n this.close.addEventListener(\"click\", () => {\n this.closePopUp();\n });\n }\n\n // close the pop up when adding to cart\n window.addEventListener(\"add-to-cart\", () => {\n this.closePopUp();\n });\n }\n }\n\n animateOpenPopUp = () => {\n const tl = gsap.timeline({\n defaults: {\n duration: 0.2,\n ease: \"power2.inOut\",\n },\n });\n\n gsap.set(this.popUp, {\n autoAlpha: 0,\n });\n\n gsap.set(this.clickableContent, {\n yPercent: 100,\n });\n\n tl.to(this.popUp, {\n autoAlpha: 1,\n display: \"flex\",\n });\n\n tl.to(this.clickableContent, {\n yPercent: 0,\n onComplete: () => {\n document.body.style.overflow = \"hidden\";\n this.isOpen = true;\n },\n });\n };\n\n closePopUp = () => {\n const tl = gsap.timeline({\n defaults: {\n duration: 0.2,\n ease: \"power2.inOut\",\n },\n });\n\n tl.to(this.clickableContent, {\n yPercent: 100,\n });\n\n tl.to(this.popUp, {\n autoAlpha: 0,\n onComplete: () => {\n gsap.set(this.popUp, {\n display: \"none\",\n });\n document.body.style.overflow = \"auto\";\n this.isOpen = false;\n },\n });\n };\n\n clickOutside() {\n document.addEventListener(\"click\", (event) => {\n if (\n this.isOpen &&\n !this.clickableContent.contains(event.target) &&\n !this.close.contains(event.target) &&\n event.target.dataset.js !== \"size-guide__close\"\n ) {\n // console.log('click outside')\n this.closePopUp();\n }\n });\n }\n}\n"],"file":"assets/quick-buy-pop-up-DVbhkvMq.js"}