{"version":3,"sources":["webpack:///./src/js/modules/footerSignupForm.js"],"names":["FooterSignupForm","this","dom","input","el","querySelector","errorMessage","document","createElement","classList","add","setAttribute","addEventListener","handleFormSubmit","bind","handleTextInputFocus","handleTextInputBlur","checkInputValue","e","remove","parentNode","validateForm","preventDefault","appendChild","valid","value","validator","isEmail","innerHTML","dataset","validateEmail","validateRequired","target","Component"],"mappings":"0+CAGMA,E,sWACJ,WACEC,KAAKC,IAAM,CACTC,MAAOF,KAAKG,GAAGC,cAAc,SAC7BC,aAAcC,SAASC,cAAc,SAGvCP,KAAKC,IAAII,aAAaG,UAAUC,IAAI,8BACpCT,KAAKG,GAAGO,aAAa,aAAc,gB,0BAGrC,WACEV,KAAKG,GAAGQ,iBAAiB,SAAUX,KAAKY,iBAAiBC,KAAKb,OAE9DA,KAAKC,IAAIC,MAAMS,iBACb,QACAX,KAAKc,qBAAqBD,KAAKb,OAEjCA,KAAKC,IAAIC,MAAMS,iBACb,OACAX,KAAKe,oBAAoBF,KAAKb,OAEhCA,KAAKC,IAAIC,MAAMS,iBAAiB,SAAUX,KAAKgB,gBAAgBH,KAAKb,OACpEA,KAAKC,IAAIC,MAAMS,iBAAiB,QAASX,KAAKgB,gBAAgBH,KAAKb,S,8BAGrE,SAAiBiB,GACfjB,KAAKC,IAAII,aAAaa,SACtBlB,KAAKC,IAAIC,MAAMiB,WAAWX,UAAUU,OAAO,gCAEtClB,KAAKoB,iBACRH,EAAEI,iBAEFrB,KAAKC,IAAIC,MAAMiB,WAAWX,UAAUC,IAAI,gCACxCT,KAAKG,GAAGmB,YAAYtB,KAAKC,IAAII,iB,0BAIjC,WACE,IAAIkB,GAAQ,EAUZ,OARKvB,KAAKC,IAAIC,MAAMsB,MAGRC,IAAUC,QAAQ1B,KAAKC,IAAIC,MAAMsB,SAC3CxB,KAAKC,IAAII,aAAasB,UAAY3B,KAAKG,GAAGyB,QAAQC,cAClDN,GAAQ,IAJRvB,KAAKC,IAAII,aAAasB,UAAY3B,KAAKG,GAAGyB,QAAQE,iBAClDP,GAAQ,GAMHA,I,kCAGT,SAAqBN,GACnBA,EAAEc,OAAOZ,WAAWX,UAAUC,IAAI,gB,iCAGpC,SAAoBQ,GAClBA,EAAEc,OAAOZ,WAAWX,UAAUU,OAAO,gB,6BAGvC,SAAgBD,GACVA,EAAEc,OAAOP,MACXP,EAAEc,OAAOZ,WAAWX,UAAUC,IAAI,aAElCQ,EAAEc,OAAOZ,WAAWX,UAAUU,OAAO,kB,8BAhEZc,aAqEhBjC","file":"53.5c2fe1adf944b502ac87.js","sourcesContent":["import { Component } from '@verndale/core';\nimport validator from 'validator';\n\nclass FooterSignupForm extends Component {\n setupDefaults() {\n this.dom = {\n input: this.el.querySelector('input'),\n errorMessage: document.createElement('span')\n };\n\n this.dom.errorMessage.classList.add('footer__connect-form-error');\n this.el.setAttribute('novalidate', 'novalidate');\n }\n\n addListeners() {\n this.el.addEventListener('submit', this.handleFormSubmit.bind(this));\n\n this.dom.input.addEventListener(\n 'focus',\n this.handleTextInputFocus.bind(this)\n );\n this.dom.input.addEventListener(\n 'blur',\n this.handleTextInputBlur.bind(this)\n );\n this.dom.input.addEventListener('change', this.checkInputValue.bind(this));\n this.dom.input.addEventListener('keyup', this.checkInputValue.bind(this));\n }\n\n handleFormSubmit(e) {\n this.dom.errorMessage.remove();\n this.dom.input.parentNode.classList.remove('footer__connect-input--error');\n\n if (!this.validateForm()) {\n e.preventDefault();\n\n this.dom.input.parentNode.classList.add('footer__connect-input--error');\n this.el.appendChild(this.dom.errorMessage);\n }\n }\n\n validateForm() {\n let valid = true;\n\n if (!this.dom.input.value) {\n this.dom.errorMessage.innerHTML = this.el.dataset.validateRequired;\n valid = false;\n } else if (!validator.isEmail(this.dom.input.value)) {\n this.dom.errorMessage.innerHTML = this.el.dataset.validateEmail;\n valid = false;\n }\n\n return valid;\n }\n\n handleTextInputFocus(e) {\n e.target.parentNode.classList.add('is-focused');\n }\n\n handleTextInputBlur(e) {\n e.target.parentNode.classList.remove('is-focused');\n }\n\n checkInputValue(e) {\n if (e.target.value) {\n e.target.parentNode.classList.add('is-filled');\n } else {\n e.target.parentNode.classList.remove('is-filled');\n }\n }\n}\n\nexport default FooterSignupForm;\n"],"sourceRoot":""}