{"mappings":"8XAAA,IAAAA,EAAAC,EAAA,sBAGO,MAAMC,EAAU,KAErBC,OACiC,8BAC7B,SAAuCC,GAErCC,EAAAL,EAAA,CAAE,yBAAyBM,QAAQ,QAAQC,SAC7CF,EAAAL,EAAA,CAAE,yBACCM,QAAQ,QAAQ,GAChBE,SAEHH,EAAAL,EAAA,CAAE,yBACCM,QAAQ,UACRG,KAAK,YAAY,KAKxBJ,EAAAL,EAAA,CAAEU,UAAUC,OAAM,KAChBN,EAAAL,EAAA,CAAE,eAAeY,YAAY,mBAI/BP,EAAAL,EAAA,CAAE,eAAea,GAAG,SAAUC,IAC5B,MAAMC,EAAQV,EAAAL,EAAA,CAAEc,EAAEE,eACZC,EAAeF,EAAMG,SAAS,gBAC9BC,EAAmBJ,EAAMG,SAAS,sBAClCE,EAAQL,EAAMT,QAAQ,QAG5B,IAAKc,EAAMb,OAET,OADAQ,EAAMM,SAAS,iBACR,EAOT,GAJAP,EAAEQ,iBAIEH,KACG,EAAAI,EAAAC,sBACH,OAAO,EAIX,IAAKJ,EAAMK,QACT,OAAO,EAET,GAAIL,EAAMK,QAAS,CAIjB,GAHAV,EAAMM,SAAS,gBAGXJ,EAEF,YADAS,WAAWC,UAIbC,YAAW,KACTR,EAAM,GAAGZ,WACR","sources":["scripts/src/loading/index.ts"],"sourcesContent":["import $ from \"jquery\";\r\nimport { isIos } from \"../react/utils/browserUtils\";\r\nimport { brochureValidation } from \"../AddressLookUp\";\r\nexport const loading = () => {\r\n // sets global submit event for recaptcha thats called from the google api\r\n window[\r\n \"neptuneRecaptchaSubmitHandler\"\r\n ] = function neptuneRecaptchaSubmitHandler(token) {\r\n // submits the form after a the key has been added\r\n if ($(\".g-recaptcha-response\").closest(\"form\").length) {\r\n $(\".g-recaptcha-response\")\r\n .closest(\"form\")[0]\r\n .submit();\r\n // after posting sets a disabled state to the button\r\n $(\".g-recaptcha-response\")\r\n .closest(\"button\")\r\n .prop(\"disabled\", true);\r\n }\r\n };\r\n\r\n // this has been added to fix the issue to remove loading indicator just in case if user clicks back button - don't remove.\r\n $(document).ready(() => {\r\n $(\".js-loading\").removeClass(\"btn--loading\");\r\n });\r\n\r\n // generic loading event handles loading animation, form validation & recaptcha\r\n $(\".js-loading\").on(\"click\", (e: JQuery.ClickEvent) => {\r\n const $this = $(e.currentTarget);\r\n const hasRecaptcha = $this.hasClass(\"js-recaptcha\");\r\n const isBrochureButton = $this.hasClass(\"js-brochure-submit\");\r\n const $form = $this.closest(\"form\");\r\n\r\n // guest or returning page: no form\r\n if (!$form.length) {\r\n $this.addClass(\"btn--loading\");\r\n return true;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Should run before jquery validate as brochure products appear above the form\r\n // runs some further validation for the brochure button\r\n if (isBrochureButton) {\r\n if (!brochureValidation()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (!$form.valid()) {\r\n return false;\r\n }\r\n if ($form.valid()) {\r\n $this.addClass(\"btn--loading\");\r\n\r\n // Submit form through the submit callback on captcha.\r\n if (hasRecaptcha) {\r\n grecaptcha.execute();\r\n return;\r\n }\r\n // All other form submissions\r\n setTimeout(() => {\r\n $form[0].submit();\r\n }, 0);\r\n }\r\n });\r\n};\r\n"],"names":["$4sYka","parcelRequire","$91ec6fda49173b09$export$46c1c92549715335","window","token","$parcel$interopDefault","closest","length","submit","prop","document","ready","removeClass","on","e","$this","currentTarget","hasRecaptcha","hasClass","isBrochureButton","$form","addClass","preventDefault","$d2X6t","brochureValidation","valid","grecaptcha","execute","setTimeout"],"version":3,"file":"loading.81133b40.js.map"}