{"version":3,"sources":["forms.newsletter.js"],"names":["app","newsletterForm","init","form","document","querySelector","firstNameField","lastNameField","emailField","csrfField","addEventListener","event","preventDefault","tag","value","firstName","submitButton","emailAddress","console","fetch","tagField","method","headers","HomePageId","response","then","data","X-CSRF-TOKEN","Toast","message","util","homePageId","body","dataLayer","pushEvent","json","pageUrl","window","location","pathname","success","errorMessage","removeAttribute","setTimeout","catch","error"],"mappings":"AAIAA,IACEC,eAAA,wBAqFA,MAAO,CACLC,KApFF,WAEE,MAAKC,EAAMC,SAAAC,cAAA,0BAEX,GAAAF,EAAA,CAEA,MAAMG,EAAcH,EAAGA,cAAKE,mBACtBE,EAAAA,EAAgBJ,cAAKE,2BACrBG,EAAiBL,EAACE,cAAc,iCAChCI,EAAgBN,EAACE,cAAc,gCAEhCK,EAAAA,EAAiBL,cAAU,6BAC9BM,EAAMC,EAANP,cAAA,uCAGFF,EAAKO,iBAAiB,SAAA,SAAAC,GACpBA,EAAIA,mBADNR,EAMIU,iBAAcC,aADL,SAAAH,IAEgB,IAAzBI,EAAAA,OAAWT,QAJbU,EAMEC,aAAwB,WAACH,YAG3BI,EAAA,CAEAC,IAAMC,EAAAN,MACJO,UAAQf,EADyBQ,MAEjCQ,SAASf,EAAAO,MAPTG,aAQET,EAAgBM,OALpBI,QAQIK,IAAAA,GANJJ,MAQM,4BAAE,CARRE,OAUQ,OAAAC,QAAcE,CACnBC,eAAMC,mBACLC,eAAIlB,EAAuBK,MACzBc,QAAMF,KAAKG,UACX1B,WAAA2B,KAEAC,YARJC,KASQC,KAAAA,UAAUC,KAPjBT,KAOG,SAAAD,GAAA,OAAAA,EAAAW,SALFV,KAAA,SAQOC,IACe,IAApBE,EAAMF,SARNE,MAAMF,EAAKG,QAAS,UAAW,KAW/B7B,EAAIiC,QAAJjC,IAAAiC,UAAAC,UAAA,yBAAA,CAJKE,QAQQC,OAAJC,SAAJC,aARqB,IAAjBb,EAAKc,SAYdxC,MAAIiC,EAAJJ,QAAcK,QAAU,KAAxBlC,IAAAiC,UAAAC,UAAA,wBAAA,CAIDE,QAAAC,OAAAC,SAAAC,SAVGE,aAAcf,EAAKG,WAaRa,MAAb1B,EAAa0B,SACZd,MAFH,iBAAA,QAAA,KAMAA,IAAMK,UAAAC,UAAkB,wBAAxB,CAEAS,QAAWN,OAAAC,SAAMC,SACfvB,aAAa0B,mBAMvBC,WAAA,WAdU3B,EAAa0B,gBAAgB,aAC5B,OAeLE,MAAE1C,SAAAA,GADRgB,QAAA2B,MAAA,SAAAA,GAtFFjB,MAAA,iBAAA,QAAA,KA2FI3B,WAAeC,WAZPc,EAAa0B,gBAAgB,aAC5B,aA/EX,GA0FF1C,IAAIC,eAAeC","file":"../forms.newsletter.min.js","sourcesContent":["/* ========================================================================\r\n Newsletter form\r\n ========================================================================== */\r\n\r\napp.newsletterForm = (function () {\r\n 'use strict';\r\n\r\n function init() {\r\n const form = document.querySelector('[data-newsletter-form]');\r\n if (!form) return;\r\n\r\n const submitButton = form.querySelector('[type=\"submit\"]');\r\n const tagField = form.querySelector('[name=\"newsletter_tag\"]');\r\n const firstNameField = form.querySelector('[name=\"newsletter_firstname\"]');\r\n const lastNameField = form.querySelector('[name=\"newsletter_lastname\"]');\r\n const emailField = form.querySelector('[name=\"newsletter_email\"]');\r\n const csrfField = form.querySelector('[name=\"__RequestVerificationToken\"]');\r\n\r\n form.addEventListener('submit', (event) => {\r\n event.preventDefault();\r\n });\r\n\r\n form.addEventListener('validation', (event) => {\r\n if (event.detail.valid === false) return;\r\n\r\n submitButton.setAttribute('disabled', 'disabled');\r\n\r\n var data = {\r\n tag: tagField.value,\r\n firstName: firstNameField.value,\r\n lastName: lastNameField.value,\r\n emailAddress: emailField.value,\r\n };\r\n\r\n console.log(data);\r\n\r\n fetch('/api/newsletter/subscribe', {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-TOKEN': csrfField.value,\r\n Culture: util.uiCulture,\r\n HomePageId: util.homePageId,\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n if (data.success === true) {\r\n Toast(data.message, 'success', 10000);\r\n form.reset();\r\n\r\n // DATALAYER\r\n app.dataLayer.pushEvent('footerNewsletterSignup', {\r\n pageUrl: window.location.pathname,\r\n });\r\n } else if (data.success === false) {\r\n Toast(data.message, 'error', 10000);\r\n\r\n // DATALAYER\r\n app.dataLayer.pushEvent('footerNewsletterError', {\r\n pageUrl: window.location.pathname,\r\n errorMessage: data.message,\r\n });\r\n } else if (data.status === 400) {\r\n Toast('Unknown error.', 'error', 10000);\r\n\r\n // DATALAYER\r\n app.dataLayer.pushEvent('footerNewsletterError', {\r\n pageUrl: window.location.pathname,\r\n errorMessage: 'Unknown error',\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n submitButton.removeAttribute('disabled');\r\n }, 1000);\r\n })\r\n .catch((error) => {\r\n console.error('Error:', error);\r\n Toast('Unknown error.', 'error', 10000);\r\n\r\n setTimeout(() => {\r\n submitButton.removeAttribute('disabled');\r\n }, 1000);\r\n });\r\n });\r\n }\r\n\r\n // Expose public functions and variables\r\n return {\r\n init: init,\r\n };\r\n})();\r\n\r\napp.newsletterForm.init();\r\n"]}