{"version":3,"file":"sign-in.js","sources":["../../../src/assets/scripts/sign-in.entry.ts"],"sourcesContent":["import { postLogin } from '@_api/login';\n\nconst signIn = {\n init: function () {\n this.addEvent();\n window.redirectAfterLogin = false;\n window.selectedSku = '';\n },\n addEvent: function () {\n let forms = document.querySelectorAll('.saig-o-sign-in__form');\n const passwordIcon = document.querySelector('.saig-o-sign-in__password-icon');\n\n passwordIcon?.addEventListener('click', this.togglePasswordIcon.bind(this));\n for (const form of forms) {\n form.addEventListener('submit', this.submitHandler.bind(this));\n }\n },\n togglePasswordIcon: function (event: any) {\n const passwordEyeIcon = document.querySelector('.saig-o-sign-in__password-eye-icon');\n const passwordEyeOffIcon = document.querySelector('.saig-o-sign-in__password-eye-off-icon');\n let passwordInput = document?.querySelector('.saig-o-sign-in__password');\n\n if (passwordEyeIcon?.classList.contains('show')) {\n passwordEyeIcon?.classList.remove('show');\n passwordEyeOffIcon?.classList.add('show');\n if (passwordInput != undefined) {\n passwordInput.type = 'text';\n }\n } else {\n passwordEyeOffIcon?.classList.remove('show');\n passwordEyeIcon?.classList.add('show');\n if (passwordInput != undefined) {\n passwordInput.type = 'password';\n }\n }\n },\n submitHandler: function (event: SubmitEvent) {\n event.preventDefault();\n let form = event.target as HTMLFormElement;\n let emailInput = form?.querySelector('.saig-o-sign-in__email');\n let passwordInput = form?.querySelector('.saig-o-sign-in__password');\n let dataAttrAPI = document?.querySelector('.saig-o-sign-in__inner');\n this.hideError(form);\n if (this.validateInputs(form, emailInput?.value?.trim(), passwordInput?.value?.trim())) {\n postLogin(emailInput?.value?.trim(), passwordInput?.value?.trim(), dataAttrAPI?.dataset.apiUrl ?? '')\n .then((response) => {\n if (response == 'Success') {\n const redirectRequired = window.redirectAfterLogin;\n const selectedSku = window.selectedSku;\n const redirectURLAfterLogin = window.redirectURLAfterLogin;\n window.redirectAfterLogin = false;\n window.redirectURLAfterLogin = '';\n window.selectedSku = '';\n if (redirectRequired) {\n if (redirectURLAfterLogin && redirectURLAfterLogin.length > 0) {\n window.location.href = redirectURLAfterLogin;\n } else {\n dataAttrAPI && dataAttrAPI.dataset.redirectUrl && (window.location.href = dataAttrAPI?.dataset?.redirectUrl);\n }\n }\n else {\n selectedSku && selectedSku.length > 0\n ? (window.location.href = window.location.pathname + '?selected=' + selectedSku)\n : window.location.reload();\n\n }\n } else if (response == 'APIError') {\n this.showError(form, 'server-side-error', undefined, dataAttrAPI?.dataset.apiErrorMessage ?? '');\n } else {\n this.showError(form, 'server-side-error', undefined, ' Invalid Email/Password. Please try again!');\n }\n })\n .catch((error) => {\n this.showError(form, 'server-side-error', undefined, dataAttrAPI?.dataset.genericErrorMessage ?? '');\n });\n }\n },\n validateInputs: function (form?: HTMLFormElement, emailInput?: string, passwordInput?: string) {\n let valid = true;\n if (!this.validateEmail(emailInput?.trim())) {\n this.showError(form, 'email-required-validation', 'email');\n valid = false;\n }\n if (!passwordInput?.trim()) {\n this.showError(form, 'password-required-validation', 'password');\n valid = false;\n }\n return valid;\n },\n validateEmail: function (email?: string) {\n return email\n ? email.match(\n /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n )\n : false;\n },\n showError: function (form?: HTMLFormElement, className?: string, inputElement?: string, errorMsg?: string) {\n if (!form) return;\n\n if (inputElement) {\n form?.querySelector('.saig-o-sign-in__' + inputElement)?.classList?.add('error-border');\n }\n if (className) {\n form?.querySelector('.saig-o-sign-in__form-error' + '.' + className)?.classList?.add('show');\n }\n if (errorMsg) {\n const genericErrorDiv = form.querySelector(\n '.saig-o-sign-in__form-error' + '.' + className + ' .saig-o-sign-in__form-error-message'\n );\n genericErrorDiv && (genericErrorDiv.innerHTML = errorMsg);\n }\n },\n hideError: function (form: HTMLFormElement) {\n if (!form) return;\n const errorElements = form?.querySelectorAll('.saig-o-sign-in__form-error');\n [].forEach.call(errorElements, (errorDiv: HTMLElement) => {\n errorDiv.classList.remove('show');\n });\n form?.querySelector('.saig-o-sign-in__email')?.classList.remove('error-border');\n form?.querySelector('.saig-o-sign-in__password')?.classList.remove('error-border');\n },\n};\n\nsignIn.init();\n\nexport { signIn };\n"],"names":["signIn","forms","passwordIcon","form","event","passwordEyeIcon","passwordEyeOffIcon","passwordInput","emailInput","dataAttrAPI","_a","_b","postLogin","_c","_d","response","redirectRequired","selectedSku","redirectURLAfterLogin","error","valid","email","className","inputElement","errorMsg","genericErrorDiv","errorElements","errorDiv"],"mappings":"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"}