{"version":3,"file":"default/js/login.js","mappings":";;;;;;;;;;AAAa;;AAEb;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,gFAAgF,qCAAqC;AACrH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;AC/CA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,oCAAoC,iBAAiB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;;AAEL;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,oBAAoB,gCAAgC;AACpD;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B;AAC5B,yBAAyB;AACzB,uBAAuB;AACvB,2BAA2B;AAC3B,wBAAwB;AACxB,uBAAuB;AACvB,6BAA6B;AAC7B,wBAAwB;AACxB,wBAAwB;AACxB,uBAAuB;AACvB,6BAA6B;;;;;;;;;;;;AClZhB;;AAEb,qBAAqB,mBAAO,CAAC,uHAA8B;AAC3D,oBAAoB,mBAAO,EAAE,2GAAwB;AACrD,eAAe,mBAAO,EAAE,2FAAgB;AACxC,UAAU,mBAAO,CAAC,2EAAQ;AAC1B,uBAAuB,mBAAO,CAAC,6GAAyB;;AAExD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,UAAU,QAAQ;AAClB,UAAU,SAAS;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;AC7Qa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;;;;;;;;;;;;ACtCa;;AAEb;AACA;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,SAAS;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU,UAAU;AACpB,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxGa;;AAEb;AACA;AACA,UAAU,QAAQ;AAClB,UAAU,QAAQ;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,wEAAwE;AACxE;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kBAAkB;AAClB;AACA,oDAAoD;AACpD;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxDa;;AAEb;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;;;;;UCZA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;;;;;ACtBa;;AAEb,qBAAqB,mBAAO,CAAC,uFAAW;;AAExC;AACA,mBAAmB,mBAAO,CAAC,0FAAe;AAC1C,CAAC","sources":["webpack://sfra-startup-kit/./cartridges/app_ahumada/cartridge/client/default/js/components/formValidation.js","webpack://sfra-startup-kit/./cartridges/app_ahumada/cartridge/client/default/js/gtm.js","webpack://sfra-startup-kit/./cartridges/app_ahumada/cartridge/client/default/js/login/login.js","webpack://sfra-startup-kit/./cartridges/app_ahumada/cartridge/client/default/js/utils/masks.js","webpack://sfra-startup-kit/./cartridges/app_ahumada/cartridge/client/default/js/utils/recaptchaUtils.js","webpack://sfra-startup-kit/./cartridges/app_ahumada/cartridge/client/default/js/utils/utilsServices.js","webpack://sfra-startup-kit/./cartridges/app_storefront_base/cartridge/client/default/js/util.js","webpack://sfra-startup-kit/webpack/bootstrap","webpack://sfra-startup-kit/./cartridges/app_ahumada/cartridge/client/default/js/login.js"],"sourcesContent":["\"use strict\";\n\n/**\n * Remove all validation. Should be called every time before revalidating form\n * @param {element} form - Form to be cleared\n * @returns {void}\n */\nfunction clearFormErrors(form) {\n $(form).find(\".form-control.is-invalid\").removeClass(\"is-invalid\");\n}\n\nmodule.exports = function (formElement, payload) {\n // clear form validation first\n clearFormErrors(formElement);\n $(\".alert\", formElement).remove();\n\n if (typeof payload === \"object\" && payload.fields) {\n Object.keys(payload.fields).forEach(function (key) {\n if (payload.fields[key]) {\n var feedbackElement = $(formElement).find(\"[name=\\\"\" + key + \"\\\"]\")\n .parent()\n .children(\".invalid-feedback\");\n\n if (feedbackElement.length > 0) {\n if (Array.isArray(payload[key])) {\n feedbackElement.html(payload.fields[key].join(\"
\"));\n } else {\n feedbackElement.html(payload.fields[key]);\n }\n feedbackElement.siblings(\".form-control\").addClass(\"is-invalid\");\n }\n }\n });\n\n // Scroll to the first invalid field\n if ($(formElement).find(\".form-control.is-invalid\").length) {\n $(formElement).find(\".form-control.is-invalid\")[0].scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }\n if (payload && payload.error) {\n var form = $(formElement).prop(\"tagName\") === \"FORM\"\n ? $(formElement)\n : $(formElement).parents(\"form\");\n\n form.prepend(\"
\" + data.receivedMsgBody + \"
\");\n if (!data.mobile) {\n $(\"#submitEmailButton\").text(data.buttonText)\n .attr(\"data-dismiss\", \"modal\");\n } else {\n $(\".send-email-btn\").empty()\n .html(\"\"\n + data.buttonText + \"\"\n );\n }\n }\n },\n error: function () {\n form.spinner().stop();\n }\n });\n return false;\n });\n },\n\n clearResetForm: function () {\n $(\"#login .modal\").on(\"hidden.bs.modal\", function () {\n $(\"#reset-password-email\").val(\"\");\n $(\".modal-dialog .form-control.is-invalid\").removeClass(\"is-invalid\");\n });\n },\n\n submitSocialLoginForm: function () {\n const submit = (e) => {\n e.preventDefault();\n const $form = $(e.target).closest(\"form\");\n const isValid = $form[0].checkValidity();\n\n if (!isValid) {\n return;\n }\n\n $.spinner().start();\n const url = $form.attr(\"action\");\n const $notification = $(\".notification-alert\");\n\n $.ajax({\n url: url,\n type: \"post\",\n dataType: \"json\",\n data: $form.serialize(),\n success: function (data) {\n $form.spinner().stop();\n\n if (!data.success) {\n if (data.hasCustomerWithSameEmail) {\n showErrorEmailRegistered();\n return;\n }\n\n formValidation($form, data);\n } else {\n const urlRedirect = $(\"#url-redirect-to-account-show\").attr(\"value\");\n location.href = urlRedirect;\n }\n },\n error: function (data) {\n if (data.responseJSON.redirectUrl) {\n window.location.href = data.responseJSON.redirectUrl;\n } else {\n $form.spinner().stop();\n utilsServices.createErrorNotification(data.responseJSON.errorMessage, $notification);\n }\n }\n });\n };\n\n $(\"#sociallogin-btn\").on(\"click\", (e) => {\n submit(e);\n });\n },\n};\n","\"use strict\";\n\nmodule.exports = {\n maskRUT: function ($elem) {\n var $rutField = $($elem);\n var mask = \"Z0.000.000-A\";\n var rutOptions = {\n onKeyPress : function () {\n $rutField.mask(mask, rutOptions);\n },\n translation : {\n \"Z\" : {\n pattern : /[0-9]/g,\n optional : true\n },\n \"A\" : {\n pattern : /[0-9kK]/g,\n optional : false\n }\n },\n reverse: true\n };\n \n $rutField.mask(mask, rutOptions);\n },\n maskPhone: function ($elem) {\n delete $.jMaskGlobals.translation[\"9\"];\n $($elem).mask(\"+56 9 0000 0000\", {\n translation: {\n \"0\": {\n pattern : /[0-9]/g \n }\n }\n });\n },\n maskBirthdate: function ($elem) {\n $($elem).mask(\"00/00/0000\");\n }\n};\n","\"use strict\";\n\nconst recaptchaContainer = $(\".grecaptcha-container\");\nconst recaptchaSettings = getGRecaptchaConfigurationObject();\nconst $loginBtns = $(\".submit-customer-login, .btn-submit-login\");\n\n/**\n* Retrieves the reCAPTCHA configuration object\n* @returns {Object} - reCAPTCHA configuration object\n* @property {boolean} isEnabled - Indicates if reCAPTCHA is enabled\n* @property {string} siteKey - The reCAPTCHA site key\n* @property {string} isRequiredUrl - The URL for reCAPTCHA requirement\n* @property {string} isValidAnswerUrl - The URL for validating reCAPTCHA answer\n*/\nfunction getGRecaptchaConfigurationObject() {\n const isEnabled = recaptchaContainer.length > 0;\n const siteKey = isEnabled && recaptchaContainer.data(\"recaptcha-sitekey\");\n const isRequiredUrl = isEnabled && recaptchaContainer.data(\"recaptcha-url\");\n\n return {\n isEnabled : !!(isEnabled && siteKey && isRequiredUrl),\n siteKey : siteKey,\n isRequiredUrl : isRequiredUrl,\n };\n}\n\n/**\n* Resets the Google reCAPTCHA widget if it exists on the page\n*/\nfunction resetGRecaptcha() {\n if (recaptchaSettings.isEnabled && grecaptcha.getPageId() !== null) {\n toggleDisableOnLoginButtons(true);\n grecaptcha.reset();\n }\n}\n\n/**\n* Toggles the disabled state of login buttons\n* @param {boolean} disabled - whether the buttons should be disabled\n* @returns {void}\n*/\nfunction toggleDisableOnLoginButtons(disabled) {\n $loginBtns.prop(\"disabled\", disabled);\n}\n\n/**\n* Renders Google reCAPTCHA if it is required\n* @param {Function} callback - the callback function to be executed after rendering reCAPTCHA\n*/\nfunction renderGRecaptchaIfRequired(callback) {\n if (recaptchaSettings.isEnabled) {\n if (verifyGRecaptchaAnswer()) {\n return callback();\n }\n\n $.ajax({\n async: false,\n url: recaptchaSettings.isRequiredUrl,\n method: \"POST\"\n }).done(function (data) {\n if (data.isRecaptchaRequired) {\n resetGRecaptcha();\n\n if (!grecaptcha.getPageId()) {\n toggleDisableOnLoginButtons(true);\n grecaptcha.render(recaptchaContainer[0], {\n sitekey: recaptchaSettings.siteKey,\n lang: \"es\",\n callback: () => {\n toggleDisableOnLoginButtons(false);\n },\n \"expired-callback\": () => {\n toggleDisableOnLoginButtons(true);\n }\n });\n }\n\n $.spinner().stop();\n return false;\n }\n\n return callback();\n });\n\n return false;\n }\n\n callback();\n}\n\n/**\n* Verifies the Google reCAPTCHA answer and executes the callback function if the answer is valid\n* @param {Function} callback - the callback function to be executed if the reCAPTCHA answer is valid\n* @returns {jQuery.Deferred} - a jQuery deferred object representing the result of the reCAPTCHA verification\n*/\nfunction verifyGRecaptchaAnswer() {\n return grecaptcha.getPageId() !== null;\n}\n\nmodule.exports = {\n getGRecaptchaConfigurationObject: getGRecaptchaConfigurationObject,\n renderGRecaptchaIfRequired: renderGRecaptchaIfRequired,\n verifyGRecaptchaAnswer: verifyGRecaptchaAnswer,\n resetGRecaptcha: resetGRecaptcha\n};\n","\"use strict\";\n\n/**\n* Sets a timeout to clear the HTML content of the specified element reference\n* @param {jQuery} $elementRef - the jQuery element reference to update\n* @param {number} timeOut - the time in milliseconds before clearing the content\n* @returns {void}\n*/\nfunction setNotificationTimeout($elementRef, timeOut) {\n setTimeout(() => {\n $elementRef.html(\"\");\n }, timeOut);\n}\n\nmodule.exports = {\n createErrorNotification: function (message, $elementRef, hasSetTimeout = false, timeOut = 3000) {\n const errorHtml = `\n