{"version":3,"sources":["webpack:///webpack/bootstrap 8fedc8fa92769e4a782f?8d50*","webpack:///./cartridges/app_bata_sfra/cartridge/client/en_IN/js/login.js","webpack:///./cartridges/app_bata_sfra/cartridge/client/default/js/util.js?0ce9*","webpack:///./cartridges/app_bata_sfra/cartridge/client/en_IN/js/components/eyePassword.js?8525","webpack:///./cartridges/app_bata_sfra/cartridge/client/default/js/login/login.js","webpack:///./cartridges/app_bata_sfra/cartridge/client/default/js/components/formValidation.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","id","loaded","modules","call","m","c","p","processInclude","$","document","ready","include","_typeof","Object","keys","forEach","key","on","self","this","parent","find","attr","is","closest","removeClass","addClass","formValidation","validateEmail","field","isValid","emailAddressToValidate","test","isValidEmailAddress","val","parents","text","data","validatePhone","regexPhoneString","RegExp","trim","login","submit","e","form","preventDefault","url","type","spinner","start","trigger","ajax","dataType","serialize","success","stop","isLoginCheckout","length","email","customerCrmId","gtmData","location","href","redirectUrl","isFirstLogin","modal","csrf","token","error","responseJSON","window","resetPassword","receivedMsgHeading","empty","append","receivedMsgBody","returnUrl","buttonText","emailValidationLogin","clearResetForm","validate","fieldValue","isEmailField","formElement","payload","clearFormErrors","remove","fields","feedbackElement","Array","isArray","html","join","siblings","show","scrollIntoView","behavior","block","inline","prop","prepend"],"mappings":"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","file":"login.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8fedc8fa92769e4a782f","'use strict';\n\nvar processInclude = require('../../default/js/util');\n\n$(document).ready(function () {\n processInclude(require('../../default/js/login/login'));\n processInclude(require('./components/eyePassword'));\n});\n\n\n\n// WEBPACK FOOTER //\n// ./cartridges/app_bata_sfra/cartridge/client/en_IN/js/login.js","'use strict';\n\nmodule.exports = function (include) {\n if (typeof include === 'function') {\n include();\n } else if (typeof include === 'object') {\n Object.keys(include).forEach(function (key) {\n if (typeof include[key] === 'function') {\n include[key]();\n }\n });\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./cartridges/app_bata_sfra/cartridge/client/default/js/util.js","'use strict';\n\nmodule.exports = function () {\n $(document).on('click', '.js-togglePassword', function () {\n const self = $(this);\n self.parent().find('.js-form-password').attr('type', self.parent().find('.js-form-password').is(':password') ? 'text' : 'password');\n if (self.parent().find('.js-form-password').attr('type') === 'password') {\n self.closest('.cc-content-input').removeClass('js-passwordShow cc-account__viewPassword');\n } else {\n self.closest('.cc-content-input').addClass('js-passwordShow cc-account__viewPassword');\n }\n });\n};\n\n\n\n\n// WEBPACK FOOTER //\n// ./cartridges/app_bata_sfra/cartridge/client/en_IN/js/components/eyePassword.js","'use strict';\n\nvar formValidation = require('../components/formValidation');\n\n/**\n * Regex to check if the string passed is a valid e-mail address\n */\nfunction isValidEmailAddress(emailAddressToValidate) {\n var regexEmailString = /^[\\w.%+-]+@[\\w.-]+\\.[\\w]{2,6}$/;\n return regexEmailString.test(emailAddressToValidate);\n}\n\n/**\n * Validate email format and display error\n * @param {*} field - the email field to validate\n * @returns {Boolean} - a boolean that rapresent if the email inserted is valid or not\n */\nfunction validateEmail(field) {\n var isValid = isValidEmailAddress($(field).val());\n if (isValid) {\n $(field).removeClass('is-invalid custom-error');\n } else {\n $(field).addClass('is-invalid custom-error');\n $(field).parents('.cc-form-group').find('.cc-text-message').text($(field).data('pattern-mismatch'));\n }\n return isValid;\n}\n\n/**\n * Validate phone format and display error\n * @param {*} field - the phone field to validate\n * @returns {Boolean} - a boolean that rapresent if the number inserted is valid or not\n */\nfunction validatePhone(field) {\n var regexPhoneString = $(field).data('phone-pattern');\n var regexPhone = new RegExp(regexPhoneString);\n var isValid = regexPhone.test($(field).val().trim());\n if (isValid) {\n $(field).removeClass('is-invalid custom-error');\n } else {\n $(field).addClass('is-invalid custom-error');\n $(field).parents('.cc-form-group').find('.cc-text-message').text($(field).data('pattern-phone-mismatch'));\n }\n return isValid;\n}\n\nmodule.exports = {\n login: function () {\n $('form.login').submit(function (e) {\n var form = $(this);\n e.preventDefault();\n var url = form.attr('action');\n var isEmailField = $('#login-form-email')[0].type === 'email' ? true : false;\n if (!isEmailField) {\n var isValid = false;\n var numberRegex = /^\\+?[\\d ]+$/;\n var isPhoneNumber = numberRegex.test($('#login-form-email').val().trim());\n if (isPhoneNumber) {\n isValid = validatePhone($('#login-form-email'));\n } else {\n isValid = validateEmail($('#login-form-email'));\n }\n if (!isValid) {\n return;\n }\n }\n form.spinner().start();\n $('form.login').trigger('login:submit', e);\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: form.serialize(),\n success: function (data) {\n form.spinner().stop();\n if (!data.success) {\n if (data.isFirstLogin) {\n $('#firstLoginModal').modal('show');\n // hide login modal on checkout to avoid modals overlap\n if ($('#checkoutLoginModal').length > 0) {\n $('#checkoutLoginModal').modal('hide');\n }\n } else {\n formValidation(form, data);\n }\n //update csrf token\n $('#csrfTokenInput').val(data.csrf.token);\n $('form.login').trigger('login:error', data);\n } else {\n var isLoginCheckout = $('#checkoutLoginModal').length > 0 ? true : false;\n $('form.login').trigger('login:success', data);\n // trigger the analytics login event\n var email = $('#login-form-email').val();\n $('body').trigger('analytics:login',\n {\n customerCrmId: data.customerCrmId,\n email: email,\n isLoginCheckout: isLoginCheckout\n }\n );\n // trigger the analytics basket collection data for mailing list\n $('body').trigger('analytics:pushBasketData', data.gtmData);\n location.href = data.redirectUrl;\n }\n },\n error: function (data) {\n if (data.responseJSON.redirectUrl) {\n window.location.href = data.responseJSON.redirectUrl;\n } else {\n $('form.login').trigger('login:error', data);\n form.spinner().stop();\n }\n }\n });\n return false;\n });\n },\n\n resetPassword: function () {\n $('.reset-password-form').submit(function (e) {\n var form = $(this);\n e.preventDefault();\n var url = form.attr('action');\n form.spinner().start();\n form.trigger('login:register', e);\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: form.serialize(),\n success: function (data) {\n form.spinner().stop();\n if (data.redirectUrl) {\n //close the modal and redirect to another\n form.closest('.modal-content').find('button.close').trigger('click');\n location.href = data.redirectUrl;\n } else if (!data.success) {\n // no migration needed\n formValidation(form, data);\n } else {\n $('.request-password-title').text(data.receivedMsgHeading);\n $('.request-password-body').empty()\n .append('

' + data.receivedMsgBody + '

' + data.buttonText + '
');\n }\n },\n error: function () {\n form.spinner().stop();\n }\n });\n return false;\n });\n },\n\n emailValidationLogin: function () {\n $('.js-email-login-validation').on('click', function () {\n validateEmail($('#login-form-email'));\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 validate: function () {\n $('#login-form-email').on('blur', function () {\n var fieldValue = $(this).val().trim();\n $(this).val(fieldValue);\n var isEmailField = $(this)[0].type === 'email' ? true : false;\n if (fieldValue.length > 0) {\n // check if a number is entered\n var numberRegex = /^\\+?[\\d ]+$/;\n var isPhoneNumber = numberRegex.test(fieldValue);\n if (isPhoneNumber && !isEmailField) {\n validatePhone(this);\n } else {\n validateEmail(this);\n }\n } else {\n $(this).addClass('is-invalid');\n $(this).parents('.cc-form-group').find('.cc-text-message').text($(this).data('missing-error'));\n }\n });\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./cartridges/app_bata_sfra/cartridge/client/default/js/login/login.js","'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 .parents('.cc-form-group')\n .find('.invalid-feedback');\n\n if (feedbackElement.length > 0) {\n if (Array.isArray(payload[key])) {\n feedbackElement.find('.cc-text-message').html(payload.fields[key].join('
'));\n } else {\n feedbackElement.find('.cc-text-message').html(payload.fields[key]);\n }\n feedbackElement.siblings('.form-control').addClass('is-invalid');\n feedbackElement.show();\n feedbackElement[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'nearest'});\n }\n }\n });\n }\n if (payload && payload.error) {\n var form = $(formElement).prop('tagName') === 'FORM'\n ? $(formElement)\n : $(formElement).parents('form');\n\n form.prepend('
'\n + payload.error.join('
') + '
');\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./cartridges/app_bata_sfra/cartridge/client/default/js/components/formValidation.js"],"sourceRoot":""}