{"version":3,"file":"public.js","sources":["../../../../IREP.Web.Content/v7/scripts/modules/public/sso-registration.ts","../../../../IREP.Web.Content/v7/scripts/modules/public/registration.ts","../../../../IREP.Web.Content/v7/scripts/modules/public/registration-extras.ts","../../../../IREP.Web.Content/v7/scripts/modules/public/registration-verify.ts","../../../../IREP.Web.Content/v7/scripts/modules/public/quick-register.ts","../../../../IREP.Web.Content/v7/scripts/modules/public/ssoconnect.ts","../../../../IREP.Web.Content/v7/scripts/modules/public/sso.ts"],"sourcesContent":["import Component from \"irep/modules/component\";\nexport class SSORegistration extends Component {\n constructor(options) {\n var _a, _b, _c;\n super(options.id);\n this.options = options;\n this.options.ssoRoute = (_a = this.options.ssoRoute) !== null && _a !== void 0 ? _a : \"CheckSSO\";\n this.options.ssoAppleRoute = (_b = this.options.ssoAppleRoute) !== null && _b !== void 0 ? _b : \"CheckAppleSSO\";\n this.options.ssoGoogleRoute = (_c = this.options.ssoGoogleRoute) !== null && _c !== void 0 ? _c : \"CheckGoogleSSO\";\n this.firstNameInput = $('#reg7-firstname');\n this.lastNameInput = $('#reg7-lastname');\n this.usernameInput = $('#reg7-username');\n this.ssoType = $('.ssoType');\n this.ssoAccessToken = $('.ssoAccessToken');\n this.ssoEmail = $('.ssoEmail');\n this.ssoUserId = $('.ssoUserId');\n this.googleButton = $(\"#googleLoginButton\");\n this.facebookButton = $('#faceBookLoginButton');\n this.appleButton = $('#appleLoginButton');\n this.ssoErrorText = $('.ssoErrorText');\n this.ssoAccountUsedApple = $('.ssoAccountUsedApple');\n this.ssoAccountUsedGoogle = $('.ssoAccountUsedGoogle');\n this.ssoAccountUsedFacebook = $('.ssoAccountUsedFacebook');\n let that = this;\n if (typeof FB !== \"undefined\") {\n FB.init({\n appId: '517395052008939',\n version: 'v3.0',\n status: true,\n cookie: true,\n xfbml: true\n });\n }\n this.handleAppleSso();\n this.googleButton.on('click', function () {\n that.loginGoogle();\n });\n this.appleButton.on('click', function () {\n that.loginApple();\n });\n }\n initRegistrationFacebook() {\n let qq = this;\n if (typeof FB !== \"undefined\") {\n FB.api('/' + sessionStorage.ssoUserId, { access_token: sessionStorage.ssoAccessToken, fields: 'email,first_name,last_name' }, function (resp) {\n qq.usernameInput.val(resp.email);\n qq.firstNameInput.val(resp.first_name);\n qq.lastNameInput.val(resp.last_name);\n });\n this.facebookButton.addClass('selected-sso');\n this.setValues();\n }\n }\n resetSsoSelection() {\n this.facebookButton.removeClass('selected-sso');\n this.googleButton.removeClass('selected-sso');\n this.appleButton.removeClass('selected-sso');\n sessionStorage.ssoType = undefined;\n sessionStorage.ssoUserId = undefined;\n sessionStorage.ssoAccessToken = undefined;\n sessionStorage.ssoEmail = undefined;\n sessionStorage.firstname = undefined;\n sessionStorage.lastname = undefined;\n }\n initRegistrationGoogle() {\n this.usernameInput.val(sessionStorage.ssoEmail);\n this.firstNameInput.val(sessionStorage.firstname);\n this.lastNameInput.val(sessionStorage.lastname);\n this.googleButton.addClass('selected-sso');\n this.setValues();\n }\n initRegistrationApple() {\n this.usernameInput.val(sessionStorage.ssoEmail);\n this.firstNameInput.val(sessionStorage.firstname);\n this.lastNameInput.val(sessionStorage.lastname);\n this.appleButton.addClass('selected-sso');\n this.setValues();\n }\n setValues() {\n this.ssoType.val(sessionStorage.ssoType);\n this.ssoUserId.val(sessionStorage.ssoUserId);\n this.ssoAccessToken.val(sessionStorage.ssoAccessToken);\n this.ssoEmail.val(sessionStorage.ssoEmail);\n }\n loginGoogle() {\n const that = this;\n this.resetSsoSelection();\n if (typeof google !== \"undefined\" && typeof google.accounts !== \"undefined\") {\n const client = google.accounts.oauth2.initCodeClient({\n client_id: '55919913559-sibt0ukd261jcclvlnmbaakamcf910tj.apps.googleusercontent.com',\n scope: 'https://www.googleapis.com/auth/userinfo.email',\n ux_mode: 'popup',\n callback: (response) => {\n const xhr = new XMLHttpRequest();\n xhr.open('POST', window.irep.options.appUrl + that.options.ssoGoogleRoute, true);\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n xhr.onload = function () {\n const resp = JSON.parse(xhr.responseText);\n sessionStorage.ssoType = 'GM';\n sessionStorage.ssoUserId = resp.ssoUserId;\n sessionStorage.ssoAccessToken = resp.accessToken;\n sessionStorage.ssoEmail = resp.email;\n that.checkSSO();\n };\n xhr.send('code=' + response.code);\n },\n });\n client.requestCode();\n }\n }\n loginApple() {\n this.resetSsoSelection();\n if (typeof AppleID !== \"undefined\") {\n AppleID.auth.signIn();\n }\n }\n handleAppleSso() {\n document.addEventListener('AppleIDSignInOnSuccess', (data) => {\n let asppleData = data;\n let user = asppleData.detail.user;\n let auth = asppleData.detail.authorization;\n if (user && user.name) {\n sessionStorage.firstname = user.name.firstName;\n sessionStorage.lastname = user.name.lastName;\n sessionStorage.ssoEmail = user.email;\n }\n sessionStorage.ssoType = 'AP';\n sessionStorage.ssoAccessToken = auth.id_token;\n sessionStorage.ssoUserId = undefined;\n this.checkSSO(auth.state);\n });\n }\n hideErrors() {\n this.ssoErrorText.addClass(\"hide\");\n this.ssoAccountUsedApple.addClass(\"hide\");\n this.ssoAccountUsedGoogle.addClass(\"hide\");\n this.ssoAccountUsedFacebook.addClass(\"hide\");\n }\n checkSSO(state = undefined) {\n this.hideErrors();\n let self = this;\n let qq = this;\n $.ajax({\n type: \"POST\",\n url: window.irep.options.appUrl + (sessionStorage.ssoType === \"AP\" ? self.options.ssoAppleRoute : self.options.ssoRoute),\n data: {\n type: sessionStorage.ssoType,\n userId: sessionStorage.ssoUserId,\n accessToken: sessionStorage.ssoAccessToken,\n email: sessionStorage.ssoEmail,\n state: state\n }\n }).done((x) => {\n if (x.userId) {\n sessionStorage.ssoUserId = x.userId;\n }\n if (x.email) {\n sessionStorage.ssoEmail = x.email;\n }\n if (x.valid === undefined) {\n qq.ssoErrorText.removeClass(\"hide\");\n }\n else if (x.valid == true) {\n switch (sessionStorage.ssoType) {\n case 'AP':\n qq.ssoAccountUsedApple.removeClass(\"hide\");\n break;\n case 'FB':\n qq.ssoAccountUsedFacebook.removeClass(\"hide\");\n break;\n case 'GM':\n qq.ssoAccountUsedGoogle.removeClass(\"hide\");\n break;\n default:\n break;\n }\n }\n else {\n switch (sessionStorage.ssoType) {\n case 'AP':\n qq.initRegistrationApple();\n break;\n case 'FB':\n qq.initRegistrationFacebook();\n break;\n case 'GM':\n qq.initRegistrationGoogle();\n break;\n default:\n break;\n }\n }\n });\n }\n}\n","import Component from \"irep/modules/component\";\nimport { EmailValidation, PasswordValidation } from \"../../utilities/validation\";\nimport { RetailerSearch } from \"./retailer-search\";\nimport { StoreManualEntry } from \"./store-manual-entry\";\nimport { StorePosition } from \"./store-position\";\nimport { SSORegistration } from \"./sso-registration\";\nimport { safeParseJSON } from \"../../utilities/helpers\";\nexport class Registration extends Component {\n constructor(options) {\n super(options.id);\n this.submitPayload = (token) => {\n let xhr = $.ajax({\n type: \"post\",\n dataType: \"html\",\n url: window.irep.options.appUrl + \"SubmitRegistration7\",\n data: this.formValidation.serialize() + \"&\" + this.storePosition.getResults() + \"&ReCapchaToken=\" + token\n }).done((data) => {\n let json = safeParseJSON(data);\n if (json !== null) {\n this.verificationWarning.removeClass(\"hide\");\n if (json.UsernameExists) {\n this.showEmailUniqueError();\n }\n }\n else {\n this.registrationContainer.html(data);\n this.configurePage();\n }\n }).fail((data, e) => {\n this.submitFail.removeClass(\"hide\");\n }).always(() => {\n $(window).scrollTop(0);\n grecaptcha.reset();\n });\n };\n this.options = options;\n this.countryCode = options.countryCode;\n this.registrationContainer = this.$component;\n this.regionSelect = this.$component.find(\".reg7-select-region\");\n this.countrySelect = this.$component.find(\".reg7-select-country\");\n this.languageSelect = this.$component.find(\".reg7-select-lang\");\n this.submitButton = this.$component.find(\"#reg7-submit\");\n this.verificationWarning = this.$component.find(\"#reg7-error\");\n this.usernameCtrl = this.$component.find(\"#reg7-username\");\n this.passwordMatchError = this.$component.find(\"#reg7-pass-confirm-invalid\");\n this.passwordCtrl = this.$component.find(\"#reg7-password\");\n this.confirmPasswordCtrl = this.$component.find(\"#reg7-confirmPassword\");\n this.emailFormatFail = this.$component.find(\"#reg7-email-format-invalid\");\n this.emailExistsFail = this.$component.find(\"#reg7-email-unique-invalid\");\n this.termsFail = this.$component.find(\"#reg7-agrees-terms-invalid\");\n this.formValidation = this.$component.find(\"#reg7-form\");\n this.termsAgree = this.$component.find(\"#TermsAgree\");\n this.submitFail = this.$component.find(\"#reg7-submit-fail\");\n this.backButton = this.$component.find(\"#menuBtnBackIcon\");\n this.formPayload = \"\";\n this.bindEvents();\n this.configurePage();\n this.init();\n }\n init() {\n let manual = new StoreManualEntry({ id: \"#StoreManualContainer\" });\n let ss = new RetailerSearch({ id: '#RetailerSearchContainer' });\n let ps = new RetailerSearch({ id: '#PromoterRetailerSearchContainer' });\n this.storePosition = new StorePosition({ id: '#StorePosition', retailerSearch: ss, promoterRetailerSearch: ps, storeManual: manual, countryCode: this.countryCode, isRegistration: true });\n window.submitPayload = this.submitPayload;\n let sso = new SSORegistration({ id: '#reg7-form', sectionId: '', ssoRoute: this.options.ssoRoute, ssoAppleRoute: this.options.ssoAppleRoute, ssoGoogleRoute: this.options.ssoGoogleRoute });\n if (sessionStorage.ssoUserId !== undefined && sessionStorage.ssoAccessToken !== undefined && sessionStorage.ssoType !== undefined) {\n if (sessionStorage.ssoType == \"FB\") {\n sso.initRegistrationFacebook();\n }\n else if (sessionStorage.ssoType == \"GM\") {\n sso.initRegistrationGoogle();\n }\n else if (sessionStorage.ssoType == \"@AppleSso.Id\") {\n sso.initRegistrationApple();\n }\n }\n $('.mt-select2').not('.mtRetailerSearch').not('.mtPromoterRetailerSearch').not('#speedB').select2({\n matcher: (params, data) => {\n if (params.term == undefined)\n return data;\n let search = this.stripDiacritics(params.term).replace(/[^a-zA-Z0-9]/, '');\n if (search !== params.term) {\n if (data.text.toLocaleLowerCase().indexOf(params.term.toLocaleLowerCase()) != -1) {\n return data;\n }\n }\n else {\n let dataVal = this.stripDiacritics(data.text).toLocaleLowerCase().replace(/[^a-zA-Z0-9]/, '');\n if (dataVal.indexOf(search) != -1) {\n return data;\n }\n }\n return null;\n }\n });\n }\n stripDiacritics(str) {\n return str.normalize(\"NFKD\").replace(/\\p{Diacritic}/gu, \"\");\n }\n configurePage() {\n if (window.location.search.indexOf('mobile') > -1) {\n this.isMobile = true;\n $(\"#registrationBar\").show();\n $(\".siteLogo\").hide();\n $(\".createAccountBanner\").css('margin-top', '40px');\n }\n else {\n $(\"#registrationBar\").hide();\n this.isMobile = false;\n }\n }\n bindEvents() {\n this.unbindEvents();\n this.regionSelect.on(\"change\", () => this.changeRegion());\n this.languageSelect.on(\"change\", () => this.changeLanguage());\n this.countrySelect.on(\"change\", () => this.changeCountry());\n this.submitButton.on(\"click\", (e) => this.submitForm(e));\n this.passwordCtrl.on(\"keyup\", () => this.validatePasswords());\n this.confirmPasswordCtrl.on(\"keyup\", () => this.validatePasswords());\n this.backButton.on(\"click\", () => this.mobileBackButtonClick());\n this.usernameCtrl.on(\"keyup\", () => this.validateUsername());\n }\n unbindEvents() {\n this.regionSelect.off(\"change\");\n this.languageSelect.off(\"change\");\n this.countrySelect.off(\"change\");\n this.submitButton.off(\"click\");\n this.passwordCtrl.off(\"keyup\");\n this.confirmPasswordCtrl.off(\"keyup\");\n this.backButton.off(\"click\");\n this.usernameCtrl.off(\"keyup\");\n }\n validateUsername() {\n this.emailExistsFail.addClass(\"hide\");\n this.emailFormatFail.addClass(\"hide\");\n this.usernameCtrl.removeClass('has-error');\n this.validateEmailFormat();\n }\n validate() {\n let isValid = true;\n this.resetValidation();\n this.formValidation.find(\"input\").not(\"[type=password]\").each((i, e) => {\n $(e).val($(e).val().toString().trim());\n });\n this.formValidation.find(\"input[required]:visible\").each((i, e) => {\n let $e = $(e);\n let val = $e.val().toString();\n if (val.length === 0) {\n $e.addClass(\"has-error\");\n $e.parent().find(\".error-message\").removeClass(\"hide\");\n isValid = false;\n }\n });\n this.formValidation.find(\"select[required]:visible\").each((i, e) => {\n let $e = $(e);\n let val = $e.val().toString();\n if (val.length === 0) {\n let $parent = $e.parent();\n $parent.find(\".select2-selection\").addClass(\"has-error\");\n $parent.find(\".error-message\").removeClass(\"hide\");\n isValid = false;\n }\n });\n if (!this.validateEmailFormat())\n isValid = false;\n if (!this.validatePasswords())\n isValid = false;\n if (!this.toggleCheck())\n isValid = false;\n if (!this.storePosition.validate())\n isValid = false;\n if (!isValid) {\n this.verificationWarning.removeClass(\"hide\");\n }\n return isValid;\n }\n resetValidation() {\n this.verificationWarning.addClass(\"hide\");\n $(\".has-error\").removeClass(\"has-error\");\n $(\".error-message:visible\").addClass(\"hide\");\n this.emailExistsFail.addClass(\"hide\");\n this.emailFormatFail.addClass(\"hide\");\n this.usernameCtrl.removeClass('has-error');\n this.passwordCtrl.removeClass(\"has-error\");\n this.confirmPasswordCtrl.removeClass(\"has-error\");\n this.passwordMatchError.addClass(\"hide\");\n this.passwordCtrl.parent().find(\".reg7-pass-reqs-pass\").removeClass(\"reg7-pass-reqs-pass\");\n }\n mobileBackButtonClick() {\n }\n toggleCheck() {\n this.termsFail.addClass('hide');\n let res = true;\n if (!this.termsAgree.is(\":checked\")) {\n this.termsFail.removeClass('hide');\n res = false;\n }\n return res;\n }\n validateEmailFormat() {\n let username = this.usernameCtrl.val().toString();\n let isValid = EmailValidation.emailFormatIsValid(username);\n if (!isValid) {\n this.usernameCtrl.addClass('has-error');\n this.emailFormatFail.removeClass(\"hide\");\n return false;\n }\n return true;\n }\n showEmailUniqueError() {\n this.emailExistsFail.removeClass(\"hide\");\n this.usernameCtrl.addClass('has-error');\n }\n validatePasswords() {\n let passwordValidation = PasswordValidation.newPasswordIsValid(this.passwordCtrl.val().toString(), this.confirmPasswordCtrl.val().toString());\n this.stylePasswordRequirements(passwordValidation.requirements, passwordValidation.requirements.valid);\n this.confirmPasswordCtrl.removeClass(\"has-error\");\n this.passwordCtrl.removeClass(\"has-error\");\n this.passwordMatchError.addClass(\"hide\");\n if (passwordValidation.valid) {\n this.confirmPasswordCtrl.removeClass(\"has-error\");\n this.passwordMatchError.addClass(\"hide\");\n this.passwordCtrl.removeClass(\"has-error\");\n return true;\n }\n else {\n if (!passwordValidation.match) {\n this.confirmPasswordCtrl.addClass(\"has-error\");\n this.passwordMatchError.removeClass(\"hide\");\n }\n if (!passwordValidation.requirements.valid) {\n this.passwordCtrl.addClass(\"has-error\");\n }\n }\n return false;\n }\n stylePasswordRequirements(requirementsState, isvalid) {\n const prefix = \"#reg7-pass-reqs-\";\n Object.keys(requirementsState).forEach(key => {\n let value = Reflect.get(requirementsState, key);\n $(prefix + key).removeClass(\"reg7-pass-reqs-gray\");\n if (value) {\n $(prefix + key).addClass(\"reg7-pass-reqs-pass\");\n $(prefix + key).removeClass(\"reg7-pass-reqs-fail\");\n }\n else if (isvalid) {\n $(prefix + key).addClass(\"reg7-pass-reqs-gray\");\n $(prefix + key).removeClass(\"reg7-pass-reqs-fail\");\n $(prefix + key).removeClass(\"reg7-pass-reqs-pass\");\n }\n else {\n $(prefix + key).addClass(\"reg7-pass-reqs-fail\");\n $(prefix + key).removeClass(\"reg7-pass-reqs-pass\");\n }\n });\n }\n changeRegion() {\n switch (this.regionSelect.val()) {\n case \"ASMO\":\n window.irep.options.user.cultureCode = \"en-US\";\n break;\n case \"EMEA\":\n window.irep.options.user.cultureCode = \"en-GB\";\n break;\n case \"LAR\":\n window.irep.options.user.cultureCode = \"es-MX\";\n break;\n case \"APAC\":\n window.irep.options.user.cultureCode = \"en-AU\";\n break;\n case \"PRC\":\n window.irep.options.user.cultureCode = \"en-AU\";\n break;\n default:\n return;\n }\n let url = \"?cultureCode=\" + window.irep.options.user.cultureCode;\n if (this.isMobile)\n url += \"&mobile=1\";\n window.location.search = url;\n }\n changeLanguage() {\n window.irep.options.user.cultureCode = this.languageSelect.val().toString();\n let url = \"?cultureCode=\" + this.languageSelect.val();\n url += \"&countryCode=\" + this.countrySelect.val();\n if (this.isMobile)\n url += \"&mobile=1\";\n window.location.search = url;\n }\n changeCountry() {\n let country = this.countrySelect.select2('data')[0];\n this.storePosition.setCountry(country.id, country.text);\n }\n submitForm(e) {\n let qq = this;\n e.preventDefault();\n if (!this.validate()) {\n return;\n }\n this.submitFail.addClass(\"hide\");\n grecaptcha.execute();\n qq.formPayload = qq.formValidation.serialize() + \"&\" + qq.storePosition.getResults();\n }\n}\n","import Component from \"irep/modules/component\";\nimport { EmailValidation, PhoneNumberValidation } from \"../../utilities/validation\";\nimport { safeParseJSON } from \"../../utilities/helpers\";\nexport class RegistrationExtras extends Component {\n constructor(options) {\n super(options.id);\n this.countryCode = options.countryCode;\n this.allowNameDisplay = this.$component.find(\"#AllowNameDisplay\");\n this.altScreenName = this.$component.find(\"#altScreenName\");\n this.altNameContrainer = this.$component.find(\"#altNameContrainer\");\n this.btnSubmit = this.$component.find(\"#btnSubmit\");\n this.verificationWarning = this.$component.find(\"#extras7-error\");\n this.submitFail = this.$component.find(\"#extras7-submit-fail\");\n this.referredByCtrl = this.$component.find(\"#referredBy\");\n this.emailFormatFail = this.$component.find(\"#emailFormatFail\");\n this.emailExistsFail = this.$component.find(\"#emailExistsFail\");\n this.phoneFormatFail = this.$component.find(\"#phoneFormatFail\");\n this.phoneInput = this.$component.find(\"#phoneInput\");\n this.backButton = this.$component.find(\"#menuBtnBackIcon\");\n this.formValidation = this.$component.find(\"#registrationExtras\");\n this.cityList = this.$component.find(\"#City\");\n this.provinceList = this.$component.find(\"#ProvinceId\");\n this.allowNameDisplay.prop('checked', true);\n this.bindEvents();\n this.configurePage();\n $('.mt-select2').select2({\n matcher: (params, data) => {\n if (params.term == undefined)\n return data;\n let search = this.stripDiacritics(params.term).replace(/[^a-zA-Z0-9]/, '');\n if (search !== params.term) {\n if (data.text.toLocaleLowerCase().indexOf(params.term.toLocaleLowerCase()) != -1) {\n return data;\n }\n }\n else {\n let dataVal = this.stripDiacritics(data.text).toLocaleLowerCase().replace(/[^a-zA-Z0-9]/, '');\n if (dataVal.indexOf(search) != -1) {\n return data;\n }\n }\n return null;\n }\n });\n }\n stripDiacritics(str) {\n return str.normalize(\"NFKD\").replace(/\\p{Diacritic}/gu, \"\");\n }\n configurePage() {\n if (window.irep.options.user.site == \"ASMO\") {\n $(\"#asmoOnlyToolTip\").removeClass(\"hide\");\n }\n else {\n $(\"#asmoOnlyToolTip\").addClass(\"hide\");\n }\n if (window.location.search.indexOf('mobile') > -1) {\n $(\"#registrationBar\").show();\n $(\"#register6_header\").hide();\n $(\"#btnCancel\").hide();\n $(\".createAccountBanner\").css('margin-top', '40px');\n }\n else {\n $(\"#registrationBar\").hide();\n $(\"#register6_header\").hide();\n }\n }\n bindEvents() {\n this.unbindEvents();\n this.allowNameDisplay.on(\"click\", (e) => this.handleNameDisplayChange());\n this.btnSubmit.on(\"click\", (e) => this.validateSubmitForm());\n this.referredByCtrl.on(\"change\", (e) => this.validateReferral());\n this.phoneInput.on(\"change\", (e) => this.validatePhoneFormat());\n this.backButton.on(\"click\", (e) => { this.mobileBackButtonClick(); });\n this.provinceList.on(\"change\", (e) => this.provinceChanged());\n }\n unbindEvents() {\n this.allowNameDisplay.unbind('click');\n this.btnSubmit.unbind('click');\n this.referredByCtrl.unbind(\"change\");\n this.phoneInput.unbind(\"change\");\n this.backButton.unbind('click');\n this.provinceList.unbind(\"change\");\n }\n provinceChanged() {\n if (this.countryCode == \"BR\") {\n this.loadBrazilCities();\n }\n }\n loadBrazilCities() {\n let qq = this;\n $.ajax({\n type: \"get\",\n dataType: \"json\",\n url: window.irep.options.appUrl + \"BrazilCities\",\n data: { provinceId: this.provinceList.select2('data')[0].id }\n }).done(function (d) {\n let listItems = \"\";\n for (let i = 0; i < d.Data.length; i++) {\n listItems += \"\";\n }\n qq.cityList.html(listItems);\n });\n }\n validateReferral() {\n return this.validateEmailFormat();\n }\n mobileBackButtonClick() {\n window.history.go(-(window.history.length - 1));\n return false;\n }\n validateEmailFormat() {\n this.emailExistsFail.addClass(\"hide\");\n this.emailFormatFail.addClass(\"hide\");\n this.referredByCtrl.removeClass('has-error');\n if (this.referredByCtrl.val().toString().trim().length > 0 && !EmailValidation.emailFormatIsValid(this.referredByCtrl.val().toString())) {\n this.referredByCtrl.addClass('has-error');\n this.emailFormatFail.removeClass(\"hide\");\n return false;\n }\n return true;\n }\n validatePhoneFormat() {\n this.phoneFormatFail.addClass(\"hide\");\n this.phoneInput.removeClass(\"has-error\");\n let res = true;\n if (this.phoneInput.val().toString().trim().length < 1) {\n return true;\n }\n if (window.irep.options.user.site == \"ASMO\" && this.phoneInput.val() !== '') {\n res = PhoneNumberValidation.validPhoneNumberAsmo(this.phoneInput.val().toString());\n }\n else if (window.irep.options.user.site == \"LAR\") {\n if (window.irep.options.user.cultureCode == \"pt-BR\") {\n res = PhoneNumberValidation.validPhoneNumberBrazil(this.phoneInput.val().toString());\n }\n else {\n res = PhoneNumberValidation.validPhoneNumberLar(this.phoneInput.val().toString());\n }\n }\n if (!res) {\n this.phoneFormatFail.removeClass(\"hide\");\n this.phoneInput.addClass(\"has-error\");\n return false;\n }\n return true;\n }\n validateSubmitForm() {\n let submit = true;\n this.verificationWarning.addClass(\"hide\");\n $('.has-error').removeClass('has-error');\n if (!this.validatePhoneFormat()) {\n submit = false;\n this.verificationWarning.removeClass(\"hide\");\n }\n if (this.referredByCtrl && this.referredByCtrl.val() && this.referredByCtrl.val().toString().trim().length > 0) {\n if (!this.validateReferral()) {\n submit = false;\n }\n }\n $(\"#registrationExtras\").find(\"input[required]:visible\").each((i, e) => {\n let $e = $(e);\n let val = $e.val().toString();\n if (val.length === 0) {\n $e.addClass(\"has-error\");\n $e.parent().find(\".error-message\").removeClass(\"hide\");\n this.verificationWarning.removeClass(\"hide\");\n submit = false;\n }\n });\n $(\"#registrationExtras\").find(\"select[required]:visible\").each((i, e) => {\n let $e = $(e);\n let val = $e.val();\n if (val < 1) {\n let $parent = $e.parent();\n $parent.find(\".select2-selection\").addClass(\"has-error\");\n $parent.find(\".error-message\").removeClass(\"hide\");\n this.verificationWarning.removeClass(\"hide\");\n submit = false;\n }\n });\n if (submit) {\n this.submitForm();\n }\n }\n submitForm() {\n this.submitFail.addClass(\"hide\");\n $.ajax({\n type: \"post\",\n dataType: \"html\",\n url: window.irep.options.appUrl + \"SubmitRegistrationExtras7\",\n data: $(\"#formSubmitExtras\").serialize()\n }).done((data) => {\n let json = safeParseJSON(data);\n if (json) {\n this.verificationWarning.removeClass(\"hide\");\n if (json.ReferralDoesNotExist) {\n this.emailExistsFail.removeClass(\"hide\");\n this.referredByCtrl.addClass('has-error');\n }\n $(window).scrollTop(0);\n }\n else {\n if (window.location.search.indexOf('mobile') > -1) {\n window.history.go(-(window.history.length - 1));\n return false;\n }\n else {\n window.location.href = \"/50\";\n }\n }\n }).fail((data, e) => {\n this.submitFail.removeClass(\"hide\");\n $(window).scrollTop(0);\n });\n }\n handleNameDisplayChange() {\n if (this.allowNameDisplay.is(\":checked\")) {\n this.altNameContrainer.addClass('display--none');\n this.altScreenName.val('');\n }\n else {\n this.altNameContrainer.removeClass('display--none');\n }\n }\n}\n","import Component from \"irep/modules/component\";\nexport class IRegistrationVerifyOptions {\n}\nexport class RegistrationVerify extends Component {\n constructor(options) {\n super(options.id);\n this.finishProfile = this.$component.find(\"#finishButton\");\n this.doItLater = this.$component.find(\"#skipLink\");\n this.bindEvents();\n this.configurePage();\n }\n configurePage() {\n $('#reg7').addClass('margin-vertical--xlarge');\n $('#createAccountHeader').addClass('hide');\n if (window.location.search.indexOf('mobile') > -1) {\n $(\"#registrationBar\").show();\n $(\"#register6_header\").hide();\n $(\".createAccountBanner\").css('margin-top', '40px');\n }\n else {\n $(\"#registrationBar\").hide();\n $(\"#register6_header\").hide();\n }\n }\n bindEvents() {\n this.unbindEvents();\n this.finishProfile.on(\"click\", (e) => this.goToFinish(e));\n this.doItLater.on(\"click\", (e) => this.goToLogin(e));\n }\n unbindEvents() {\n this.finishProfile.unbind('click');\n this.doItLater.unbind('click');\n }\n goToFinish(e) {\n let qq = this;\n e.preventDefault();\n $.ajax({\n type: \"get\",\n dataType: \"html\",\n url: window.irep.options.appUrl + \"SubmitRegistrationExtras7\",\n data: $(\"#formVerify\").serialize()\n }).done(function (data) {\n $(\"#reg7\").html(data);\n $('#createAccountHeader').hide();\n });\n }\n goToLogin(e) {\n e.preventDefault();\n if (window.location.search.indexOf('mobile') > -1) {\n window.history.go(-(window.history.length - 1));\n return false;\n }\n else {\n window.location.href = \"/\";\n }\n }\n}\n","import Component from \"irep/modules/component\";\nimport { EmailValidation, PasswordValidation } from \"../../utilities/validation\";\nimport { RetailerSearch } from \"./retailer-search\";\nimport { StoreManualEntry } from \"./store-manual-entry\";\nimport { StorePosition } from \"./store-position\";\nimport { safeParseJSON } from \"../../utilities/helpers\";\nexport class QuickRegister extends Component {\n constructor(options) {\n super(options.id);\n this.submitPayload = (token) => {\n $.ajax({\n type: \"post\",\n dataType: \"html\",\n url: window.irep.options.appUrl + \"SubmitQuickRegistration7\",\n data: this.formValidation.serialize() + \"&\" + this.storePosition.getResults() + \"&ReCapchaToken=\" + token\n }).done((data) => {\n let json = safeParseJSON(data);\n if (json) {\n this.verificationWarning.removeClass(\"hide\");\n if (json.UsernameExists) {\n this.showEmailUniqueError();\n }\n }\n else {\n this.registrationContainer.html(data);\n this.configurePage();\n $('.pageHeading').hide();\n }\n }).fail((data, e) => {\n this.submitFail.removeClass(\"hide\");\n }).always(() => {\n $(window).scrollTop(0);\n grecaptcha.reset();\n });\n };\n this.options = options;\n this.countryCode = options.countryCode;\n this.registrationContainer = this.$component;\n this.regionSelect = this.$component.find(\".reg7-select-region\");\n this.countrySelect = this.$component.find(\".reg7-select-country\");\n this.languageSelect = this.$component.find(\".reg7-select-lang\");\n this.submitButton = this.$component.find(\"#reg7-submit\");\n this.verificationWarning = this.$component.find(\"#reg7-error\");\n this.usernameCtrl = this.$component.find(\"#reg7-username\");\n this.passwordMatchError = this.$component.find(\"#reg7-pass-confirm-invalid\");\n this.passwordCtrl = this.$component.find(\"#reg7-password\");\n this.confirmPasswordCtrl = this.$component.find(\"#reg7-confirmPassword\");\n this.emailFormatFail = this.$component.find(\"#reg7-email-format-invalid\");\n this.emailExistsFail = this.$component.find(\"#reg7-email-unique-invalid\");\n this.termsFail = this.$component.find(\"#reg7-agrees-terms-invalid\");\n this.formValidation = this.$component.find(\"#reg7-form\");\n this.termsAgree = this.$component.find(\"#TermsAgree\");\n this.submitFail = this.$component.find(\"#reg7-submit-fail\");\n this.backButton = this.$component.find(\"#menuBtnBackIcon\");\n this.formPayload = \"\";\n this.bindEvents();\n this.configurePage();\n this.init();\n }\n init() {\n let manual = new StoreManualEntry({ id: \"#StoreManualContainer\" });\n let ss = new RetailerSearch({ id: '#RetailerSearchContainer' });\n let ps = new RetailerSearch({ id: '#PromoterRetailerSearchContainer' });\n this.storePosition = new StorePosition({ id: '#StorePosition', retailerSearch: ss, promoterRetailerSearch: ps, storeManual: manual, countryCode: this.countryCode, isRegistration: true });\n this.storePosition.initSelection(this.options.storePositionTypeId, this.options.retailerName, this.options.storeChainId, this.options.promoterAgency, this.options.promoterStoreId, this.options.storeName, this.options.storeId);\n window.submitPayload = this.submitPayload;\n $('.mt-select2').not('.mtRetailerSearch').not('.mtPromoterRetailerSearch').not('#speedB').select2({\n matcher: (params, data) => {\n if (params.term == undefined)\n return data;\n let search = this.stripDiacritics(params.term).replace(/[^a-zA-Z0-9]/, '');\n if (search !== params.term) {\n if (data.text.toLocaleLowerCase().indexOf(params.term.toLocaleLowerCase()) != -1) {\n return data;\n }\n }\n else {\n let dataVal = this.stripDiacritics(data.text).toLocaleLowerCase().replace(/[^a-zA-Z0-9]/, '');\n if (dataVal.indexOf(search) != -1) {\n return data;\n }\n }\n return null;\n }\n });\n }\n stripDiacritics(str) {\n return str.normalize(\"NFKD\").replace(/\\p{Diacritic}/gu, \"\");\n }\n configurePage() {\n if (window.location.search.indexOf('mobile') > -1) {\n this.isMobile = true;\n $(\"#registrationBar\").show();\n $(\".siteLogo\").hide();\n $(\".createAccountBanner\").css('margin-top', '40px');\n }\n else {\n $(\"#registrationBar\").hide();\n this.isMobile = false;\n }\n }\n bindEvents() {\n this.unbindEvents();\n this.regionSelect.on(\"change\", () => this.changeRegion());\n this.languageSelect.on(\"change\", () => this.changeLanguage());\n this.countrySelect.on(\"change\", () => this.changeCountry());\n this.submitButton.on(\"click\", (e) => this.submitForm(e));\n this.passwordCtrl.on(\"keyup\", () => this.validatePasswords());\n this.confirmPasswordCtrl.on(\"keyup\", () => this.validatePasswords());\n this.backButton.on(\"click\", () => this.mobileBackButtonClick());\n this.usernameCtrl.on(\"keyup\", () => this.validateUsername());\n }\n unbindEvents() {\n this.regionSelect.off(\"change\");\n this.languageSelect.off(\"change\");\n this.countrySelect.off(\"change\");\n this.submitButton.off(\"click\");\n this.passwordCtrl.off(\"keyup\");\n this.confirmPasswordCtrl.off(\"keyup\");\n this.backButton.off(\"click\");\n this.usernameCtrl.off(\"keyup\");\n }\n validateUsername() {\n this.emailExistsFail.addClass(\"hide\");\n this.emailFormatFail.addClass(\"hide\");\n this.usernameCtrl.removeClass('has-error');\n if (this.validateEmailFormat()) {\n this.validateEmailUnique();\n }\n }\n validate() {\n let isValid = true;\n this.resetValidation();\n this.formValidation.find(\"input\").not(\"[type=password]\").each((i, e) => {\n $(e).val($(e).val().toString().trim());\n });\n this.formValidation.find(\"input[required]:visible\").each((i, e) => {\n let $e = $(e);\n let val = $e.val().toString();\n if (val.length === 0) {\n $e.addClass(\"has-error\");\n $e.parent().find(\".error-message\").removeClass(\"hide\");\n isValid = false;\n }\n });\n this.formValidation.find(\"select[required]:visible\").each((i, e) => {\n let $e = $(e);\n let val = $e.val().toString();\n if (val.length === 0) {\n let $parent = $e.parent();\n $parent.find(\".select2-selection\").addClass(\"has-error\");\n $parent.find(\".error-message\").removeClass(\"hide\");\n isValid = false;\n }\n });\n if (!this.validateEmailFormat())\n isValid = false;\n if (!this.validatePasswords())\n isValid = false;\n if (!this.toggleCheck())\n isValid = false;\n if (!this.storePosition.validate())\n isValid = false;\n if (!isValid) {\n this.verificationWarning.removeClass(\"hide\");\n }\n return isValid;\n }\n resetValidation() {\n this.verificationWarning.addClass(\"hide\");\n $(\".has-error\").removeClass(\"has-error\");\n $(\".error-message:visible\").addClass(\"hide\");\n this.emailExistsFail.addClass(\"hide\");\n this.emailFormatFail.addClass(\"hide\");\n this.usernameCtrl.removeClass('has-error');\n this.passwordCtrl.removeClass(\"has-error\");\n this.confirmPasswordCtrl.removeClass(\"has-error\");\n this.passwordMatchError.addClass(\"hide\");\n this.passwordCtrl.parent().find(\".reg7-pass-reqs-pass\").removeClass(\"reg7-pass-reqs-pass\");\n }\n mobileBackButtonClick() {\n }\n toggleCheck() {\n this.termsFail.addClass('hide');\n let res = true;\n if (!this.termsAgree.is(\":checked\")) {\n this.termsFail.removeClass('hide');\n res = false;\n }\n return res;\n }\n validateEmailFormat() {\n let username = this.usernameCtrl.val().toString();\n let isValid = EmailValidation.emailFormatIsValid(username);\n if (!isValid) {\n this.usernameCtrl.addClass('has-error');\n this.emailFormatFail.removeClass(\"hide\");\n return false;\n }\n return true;\n }\n validateEmailUnique() {\n this.emailUnique().done((data) => {\n if (data.Exists) {\n this.showEmailUniqueError();\n }\n });\n }\n showEmailUniqueError() {\n this.emailExistsFail.removeClass(\"hide\");\n this.usernameCtrl.addClass('has-error');\n }\n emailUnique() {\n return $.ajax({\n type: \"get\",\n dataType: \"json\",\n url: window.irep.options.appUrl + \"UsernameExists\",\n data: { checkName: this.usernameCtrl.val() }\n });\n }\n validatePasswords() {\n let passwordValidation = PasswordValidation.newPasswordIsValid(this.passwordCtrl.val().toString(), this.confirmPasswordCtrl.val().toString());\n this.stylePasswordRequirements(passwordValidation.requirements, passwordValidation.requirements.valid);\n this.confirmPasswordCtrl.removeClass(\"has-error\");\n this.passwordCtrl.removeClass(\"has-error\");\n this.passwordMatchError.addClass(\"hide\");\n if (passwordValidation.valid) {\n this.confirmPasswordCtrl.removeClass(\"has-error\");\n this.passwordMatchError.addClass(\"hide\");\n this.passwordCtrl.removeClass(\"has-error\");\n return true;\n }\n else {\n if (!passwordValidation.match) {\n this.confirmPasswordCtrl.addClass(\"has-error\");\n this.passwordMatchError.removeClass(\"hide\");\n }\n if (!passwordValidation.requirements.valid) {\n this.passwordCtrl.addClass(\"has-error\");\n }\n }\n return false;\n }\n stylePasswordRequirements(requirementsState, isvalid) {\n const prefix = \"#reg7-pass-reqs-\";\n Object.keys(requirementsState).forEach(key => {\n let value = Reflect.get(requirementsState, key);\n $(prefix + key).removeClass(\"reg7-pass-reqs-gray\");\n if (value) {\n $(prefix + key).addClass(\"reg7-pass-reqs-pass\");\n $(prefix + key).removeClass(\"reg7-pass-reqs-fail\");\n }\n else if (isvalid) {\n $(prefix + key).addClass(\"reg7-pass-reqs-gray\");\n $(prefix + key).removeClass(\"reg7-pass-reqs-fail\");\n $(prefix + key).removeClass(\"reg7-pass-reqs-pass\");\n }\n else {\n $(prefix + key).addClass(\"reg7-pass-reqs-fail\");\n $(prefix + key).removeClass(\"reg7-pass-reqs-pass\");\n }\n });\n }\n changeRegion() {\n switch (this.regionSelect.val()) {\n case \"ASMO\":\n window.irep.options.user.cultureCode = \"en-US\";\n break;\n case \"EMEA\":\n window.irep.options.user.cultureCode = \"en-GB\";\n break;\n case \"LAR\":\n window.irep.options.user.cultureCode = \"es-MX\";\n break;\n case \"APAC\":\n window.irep.options.user.cultureCode = \"en-AU\";\n break;\n case \"PRC\":\n window.irep.options.user.cultureCode = \"en-AU\";\n break;\n default:\n return;\n }\n let url = \"?cultureCode=\" + window.irep.options.user.cultureCode;\n if (this.isMobile)\n url += \"&mobile=1\";\n window.location.search = url;\n }\n changeLanguage() {\n window.irep.options.user.cultureCode = this.languageSelect.val().toString();\n let url = \"?cultureCode=\" + this.languageSelect.val();\n url += \"&countryCode=\" + this.countrySelect.val();\n if (this.isMobile)\n url += \"&mobile=1\";\n window.location.search = url;\n }\n changeCountry() {\n let country = this.countrySelect.select2('data')[0];\n this.storePosition.setCountry(country.id, country.text);\n }\n submitForm(e) {\n let qq = this;\n e.preventDefault();\n if (!this.validate()) {\n return;\n }\n this.submitFail.addClass(\"hide\");\n grecaptcha.execute();\n qq.formPayload = qq.formValidation.serialize() + \"&\" + qq.storePosition.getResults();\n }\n}\n","import Component from \"irep/modules/component\";\nexport class SSOConnect7 extends Component {\n constructor(options) {\n var _a, _b, _c, _d, _e;\n super(options.id);\n this.options = options;\n this.options.ssoRoute = (_a = this.options.ssoRoute) !== null && _a !== void 0 ? _a : \"CheckSSO\";\n this.options.ssoAppleRoute = (_b = this.options.ssoAppleRoute) !== null && _b !== void 0 ? _b : \"CheckAppleSSO\";\n this.options.ssoGoogleRoute = (_c = this.options.ssoGoogleRoute) !== null && _c !== void 0 ? _c : \"CheckGoogleSSO\";\n this.options.ssoDisconnectRoute = (_d = this.options.ssoDisconnectRoute) !== null && _d !== void 0 ? _d : \"DisconnectSso\";\n this.options.ssoUnifyRoute = (_e = this.options.ssoUnifyRoute) !== null && _e !== void 0 ? _e : \"SsoUnify\";\n let that = this;\n if (typeof FB !== \"undefined\") {\n FB.init({\n appId: '517395052008939',\n version: 'v3.0',\n status: true,\n cookie: true,\n xfbml: true\n });\n }\n $(\"#SsoModel_ConnectedToGoogle\").on('change', function () {\n if ($(\"#SsoModel_ConnectedToGoogle\").is(':checked')) {\n try {\n that.loginGoogle();\n }\n catch (error) {\n console.log(error);\n $(\"#SsoModel_ConnectedToGoogle\").prop('checked', false);\n }\n }\n else {\n that.execDisconnect(\"GM\");\n }\n });\n $(\"#SsoModel_ConnectedToFacebook\").on('change', function () {\n if ($(\"#SsoModel_ConnectedToFacebook\").is(':checked')) {\n try {\n that.loginFacebook();\n }\n catch (error) {\n console.log(error);\n $(\"#SsoModel_ConnectedToFacebook\").prop('checked', false);\n }\n }\n else {\n that.execDisconnect(\"FB\");\n }\n });\n this.handleAppleSso();\n $(\"#SsoModel_ConnectedToApple\").on('change', function () {\n if ($(\"#SsoModel_ConnectedToApple\").is(':checked')) {\n try {\n that.loginApple();\n }\n catch (error) {\n $(\"#SsoModel_ConnectedToApple\").prop('checked', false);\n }\n }\n else {\n that.execDisconnect(\"AP\");\n }\n });\n }\n loginApple() {\n AppleID.auth.signIn();\n }\n handleAppleSso() {\n document.addEventListener('AppleIDSignInOnSuccess', ((data) => {\n let auth = data.detail.authorization;\n $(\".ssoType\").val(\"AP\");\n $(\".ssoAccessToken\").val(auth.id_token);\n this.execAuth(auth.state);\n }));\n document.addEventListener('AppleIDSignInOnFailure', (data) => {\n $(\"#SsoModel_ConnectedToApple\").prop('checked', false);\n });\n }\n initRegistrationFacebook() {\n if (typeof FB !== \"undefined\") {\n FB.api('/' + sessionStorage.ssoUserId, { access_token: sessionStorage.ssoAccessToken, fields: 'email,first_name,last_name' }, function (resp) {\n $(\"#StorePositionModel_Info_UserName\").val(resp.email);\n $(\"#StorePositionModel_Info_FirstName\").val(resp.first_name);\n $(\"#StorePositionModel_Info_LastName\").val(resp.last_name);\n });\n }\n }\n initRegistrationGoogle() {\n $(\"#StorePositionModel_Info_UserName\").val(sessionStorage.ssoEmail);\n $(\"#StorePositionModel_Info_FirstName\").val(sessionStorage.firstname);\n $(\"#StorePositionModel_Info_LastName\").val(sessionStorage.lastname);\n }\n loginGoogle() {\n const that = this;\n if (typeof google !== \"undefined\" && typeof google.accounts !== \"undefined\") {\n const client = google.accounts.oauth2.initCodeClient({\n client_id: '55919913559-sibt0ukd261jcclvlnmbaakamcf910tj.apps.googleusercontent.com',\n scope: 'https://www.googleapis.com/auth/userinfo.email',\n ux_mode: 'popup',\n error_callback: () => {\n $(\"#SsoModel_ConnectedToGoogle\").prop('checked', false);\n },\n callback: (response) => {\n const xhr = new XMLHttpRequest();\n xhr.open('POST', window.irep.options.appUrl + that.options.ssoGoogleRoute, true);\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n xhr.onerror = function () {\n $(\"#SsoModel_ConnectedToGoogle\").prop('checked', false);\n };\n xhr.onload = function () {\n const resp = JSON.parse(xhr.responseText);\n $(\".ssoType\").val('GM');\n $(\".ssoUserId\").val(resp.ssoUserId);\n $(\".ssoAccessToken\").val(resp.accessToken);\n $(\".ssoEmail\").val(resp.email);\n that.execAuth();\n };\n xhr.send('code=' + response.code);\n },\n });\n client.requestCode();\n }\n }\n loginFacebook() {\n if (typeof FB !== \"undefined\") {\n const that = this;\n FB.login(function (response) {\n if (response.authResponse) {\n FB.getLoginStatus(function (response) {\n if (response.status === 'connected') {\n FB.api('/me', { fields: 'email' }, function (result) {\n $(\".ssoType\").val(\"FB\");\n $(\".ssoUserId\").val(response.authResponse.userID);\n $(\".ssoAccessToken\").val(response.authResponse.accessToken);\n $(\".ssoEmail\").val(result.email);\n that.execAuth();\n });\n }\n });\n }\n }, { scope: 'email, public_profile', return_scopes: true });\n }\n }\n execDisconnect(type) {\n let self = this;\n $.ajax({\n type: \"POST\",\n url: window.irep.options.appUrl + self.options.ssoDisconnectRoute,\n data: {\n type: type\n }\n }).done((x) => {\n window.location.reload();\n });\n }\n execAuth(state = undefined) {\n $(\"#fbConnectFail\").addClass(\"hidden\");\n $(\"#googleConnectFail\").addClass(\"hidden\");\n $(\"#appleConnectFail\").addClass(\"hidden\");\n const that = this;\n $.ajax({\n type: \"POST\",\n url: window.irep.options.appUrl + ($(\"#ssoType\").val() === \"AP\" ? that.options.ssoAppleRoute : that.options.ssoRoute),\n data: {\n type: $(\"#ssoType\").val(),\n userId: $(\"#ssoUserId\").val(),\n accessToken: $(\"#ssoAccessToken\").val(),\n email: $(\"#ssoEmail\").val(),\n state: state\n }\n }).done((x) => {\n if (x.valid == true || x.valid === undefined) {\n if ($(\"#ssoType\").val() == \"FB\") {\n $(\"#fbConnectFail\").html(x.errorText);\n $(\"#fbConnectFail\").removeClass(\"hidden\");\n $(\"#SsoModel_ConnectedToFacebook\").prop('checked', false);\n }\n else if ($(\"#ssoType\").val() == \"GM\") {\n $(\"#googleConnectFail\").html(x.errorText);\n $(\"#googleConnectFail\").removeClass(\"hidden\");\n $(\"#SsoModel_ConnectedToGoogle\").prop('checked', false);\n }\n else if ($(\"#ssoType\").val() == \"AP\") {\n $(\"#appleConnectFail\").html(x.errorText);\n $(\"#appleConnectFail\").removeClass(\"hidden\");\n $(\"#SsoModel_ConnectedToApple\").prop('checked', false);\n }\n }\n else {\n if (x.userId) {\n $(\".ssoUserId\").val(x.userId);\n }\n if (x.email) {\n $(\".ssoEmail\").val(x.email);\n }\n that.submitSso();\n }\n });\n }\n submitSso() {\n let self = this;\n $.ajax({\n type: \"POST\",\n url: window.irep.options.appUrl + self.options.ssoUnifyRoute,\n data: {\n type: $(\"#ssoType\").val(),\n userId: $(\"#ssoUserId\").val(),\n accessToken: $(\"#ssoAccessToken\").val(),\n email: $(\"#ssoEmail\").val()\n }\n }).done((x) => {\n if (x.valid != true) {\n if ($(\"#ssoType\").val() == \"FB\") {\n $(\"#fbConnectFail\").html(x.errorText);\n $(\"#fbConnectFail\").removeClass(\"hidden\");\n $(\"#SsoModel_ConnectedToFacebook\").prop('checked', false);\n }\n else if ($(\"#ssoType\").val() == \"GM\") {\n $(\"#googleConnectFail\").html(x.errorText);\n $(\"#googleConnectFail\").removeClass(\"hidden\");\n $(\"#SsoModel_ConnectedToGoogle\").prop('checked', false);\n }\n else if ($(\"#ssoType\").val() == \"AP\") {\n $(\"#appleConnectFail\").html(x.errorText);\n $(\"#appleConnectFail\").removeClass(\"hidden\");\n $(\"#SsoModel_ConnectedToApple\").prop('checked', false);\n }\n }\n else {\n window.location.reload();\n }\n });\n }\n}\n","export class SSO {\n constructor(options) {\n var _a, _b, _c;\n this.options = options;\n this.options.ssoRoute = (_a = this.options.ssoRoute) !== null && _a !== void 0 ? _a : \"CheckSSO\";\n this.options.ssoAppleRoute = (_b = this.options.ssoAppleRoute) !== null && _b !== void 0 ? _b : \"CheckAppleSSO\";\n this.options.ssoGoogleRoute = (_c = this.options.ssoGoogleRoute) !== null && _c !== void 0 ? _c : \"CheckGoogleSSO\";\n const that = this;\n if (typeof FB !== \"undefined\") {\n FB.init({\n appId: '517395052008939',\n version: 'v3.0',\n status: true,\n cookie: true,\n xfbml: true\n });\n }\n this.handleAppleSso();\n $(\".validateuserlogin-loginForm--submit\").on('click', function () {\n $(\"#userVerifyLoginForm\").submit();\n });\n $(\"#googleLoginButton\").on('click', function () {\n $(\".ssoErrorText\").addClass('hidden');\n that.loginGoogle();\n });\n $(\"#faceBookLoginButton\").on('click', function () {\n $(\".ssoErrorText\").addClass('hidden');\n that.loginFacebook();\n });\n $(\"#appleLoginButton\").on('click', function () {\n $(\".ssoErrorText\").addClass('hidden');\n that.loginApple();\n });\n }\n initRegistrationFacebook() {\n if (typeof FB !== \"undefined\") {\n FB.api('/' + sessionStorage.ssoUserId, { access_token: sessionStorage.ssoAccessToken, fields: 'email,first_name,last_name' }, function (resp) {\n $(\"#StorePositionModel_Info_UserName\").val(resp.email);\n $(\"#StorePositionModel_Info_FirstName\").val(resp.first_name);\n $(\"#StorePositionModel_Info_LastName\").val(resp.last_name);\n });\n this.setValues();\n }\n }\n initRegistrationGoogle() {\n $(\"#StorePositionModel_Info_UserName\").val(sessionStorage.ssoEmail);\n $(\"#StorePositionModel_Info_FirstName\").val(sessionStorage.firstname);\n $(\"#StorePositionModel_Info_LastName\").val(sessionStorage.lastname);\n this.setValues();\n }\n initRegistrationApple() {\n $(\"#StorePositionModel_Info_UserName\").val(sessionStorage.ssoEmail);\n $(\"#StorePositionModel_Info_FirstName\").val(sessionStorage.firstname);\n $(\"#StorePositionModel_Info_LastName\").val(sessionStorage.lastname);\n this.setValues();\n }\n setValues() {\n $(\"#ssoType\").val(sessionStorage.ssoType);\n $(\"#ssoUserId\").val(sessionStorage.ssoUserId);\n $(\"#ssoAccessToken\").val(sessionStorage.ssoAccessToken);\n $(\"#ssoEmail\").val(sessionStorage.ssoEmail);\n }\n loginGoogle() {\n const that = this;\n const client = google.accounts.oauth2.initCodeClient({\n client_id: '55919913559-sibt0ukd261jcclvlnmbaakamcf910tj.apps.googleusercontent.com',\n scope: 'https://www.googleapis.com/auth/userinfo.email',\n ux_mode: 'popup',\n callback: (response) => {\n const xhr = new XMLHttpRequest();\n xhr.open('POST', window.irep.options.appUrl + that.options.ssoGoogleRoute, true);\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n xhr.onload = function () {\n const resp = JSON.parse(xhr.responseText);\n $(\".ssoType\").val(\"GM\");\n $(\".ssoAccessToken\").val(resp.accessToken);\n $(\".ssoUserId\").val(resp.ssoUserId);\n $(\".ssoEmail\").val(resp.email);\n that.execAuth();\n };\n xhr.send('code=' + response.code);\n },\n });\n client.requestCode();\n }\n loginApple() {\n if (typeof AppleID !== \"undefined\") {\n AppleID.auth.signIn();\n }\n }\n handleAppleSso() {\n document.addEventListener('AppleIDSignInOnSuccess', ((data) => {\n let user = data.detail.user;\n if (user && user.name) {\n sessionStorage.firstname = user.name.firstName;\n sessionStorage.lastname = user.name.lastName;\n }\n let auth = data.detail.authorization;\n $(\".ssoType\").val(\"AP\");\n $(\".ssoAccessToken\").val(auth.id_token);\n this.execAuth(auth.state);\n }));\n }\n loginFacebook() {\n if (typeof FB !== \"undefined\") {\n const that = this;\n FB.login(function (response) {\n if (response.authResponse) {\n FB.getLoginStatus(function (response) {\n if (response.status === 'connected') {\n FB.api('/me', { fields: 'email' }, function (result) {\n $(\".ssoType\").val(\"FB\");\n $(\".ssoUserId\").val(response.authResponse.userID);\n $(\".ssoAccessToken\").val(response.authResponse.accessToken);\n $(\".ssoEmail\").val(result.email);\n that.execAuth();\n });\n }\n });\n }\n }, { scope: 'email, public_profile', return_scopes: true });\n }\n }\n execAuth(state = undefined) {\n let self = this;\n $.ajax({\n type: \"POST\",\n url: window.irep.options.appUrl + ($(\"#ssoType\").val() === \"AP\" ? self.options.ssoAppleRoute : self.options.ssoRoute),\n data: {\n type: $(\"#ssoType\").val(),\n userId: $(\"#ssoUserId\").val(),\n accessToken: $(\"#ssoAccessToken\").val(),\n email: $(\"#ssoEmail\").val(),\n state: state\n }\n }).done((x) => {\n if (x.userId) {\n $(\".ssoUserId\").val(x.userId);\n }\n if (x.email) {\n $(\".ssoEmail\").val(x.email);\n }\n if (x.valid === undefined) {\n $(\".ssoErrorText\").removeClass(\"hidden\");\n }\n else if (x.valid == true) {\n $(\"#ssoForm\").submit();\n }\n else {\n $(\"#verifyIdentityPanel\").show();\n $(\"#userLoginForm\").hide();\n $(\"#forgotLink\").hide();\n $(\"#forgotPasswordPanel\").hide();\n sessionStorage.ssoType = $(\"#ssoType\").val();\n sessionStorage.ssoUserId = $(\"#ssoUserId\").val();\n sessionStorage.ssoAccessToken = $(\"#ssoAccessToken\").val();\n sessionStorage.ssoEmail = $(\"#ssoEmail\").val();\n $(\"#ssoUserName\").val($(\"#ssoEmail\").val());\n }\n });\n }\n}\n"],"names":["SSORegistration","Component","constructor","options","_a","_b","_c","super","id","this","ssoRoute","ssoAppleRoute","ssoGoogleRoute","firstNameInput","$","lastNameInput","usernameInput","ssoType","ssoAccessToken","ssoEmail","ssoUserId","googleButton","facebookButton","appleButton","ssoErrorText","ssoAccountUsedApple","ssoAccountUsedGoogle","ssoAccountUsedFacebook","that","FB","init","appId","version","status","cookie","xfbml","handleAppleSso","on","loginGoogle","loginApple","initRegistrationFacebook","qq","api","sessionStorage","access_token","fields","resp","val","email","first_name","last_name","addClass","setValues","resetSsoSelection","removeClass","undefined","firstname","lastname","initRegistrationGoogle","initRegistrationApple","google","accounts","oauth2","initCodeClient","client_id","scope","ux_mode","callback","response","xhr","XMLHttpRequest","open","window","irep","appUrl","setRequestHeader","onload","JSON","parse","responseText","accessToken","checkSSO","send","code","requestCode","AppleID","auth","signIn","document","addEventListener","data","asppleData","user","detail","authorization","name","firstName","lastName","id_token","state","hideErrors","ajax","type","url","userId","done","x","valid","Registration","submitPayload","token","dataType","formValidation","serialize","storePosition","getResults","json","safeParseJSON","verificationWarning","UsernameExists","showEmailUniqueError","registrationContainer","html","configurePage","fail","e","submitFail","always","scrollTop","grecaptcha","reset","countryCode","$component","regionSelect","find","countrySelect","languageSelect","submitButton","usernameCtrl","passwordMatchError","passwordCtrl","confirmPasswordCtrl","emailFormatFail","emailExistsFail","termsFail","termsAgree","backButton","formPayload","bindEvents","manual","StoreManualEntry","ss","RetailerSearch","ps","StorePosition","retailerSearch","promoterRetailerSearch","storeManual","isRegistration","sso","sectionId","not","select2","matcher","params","term","search","stripDiacritics","replace","text","toLocaleLowerCase","indexOf","str","normalize","location","isMobile","show","hide","css","unbindEvents","changeRegion","changeLanguage","changeCountry","submitForm","validatePasswords","mobileBackButtonClick","validateUsername","off","validateEmailFormat","validate","isValid","resetValidation","each","i","toString","trim","$e","length","parent","$parent","toggleCheck","res","is","username","EmailValidation","emailFormatIsValid","passwordValidation","PasswordValidation","newPasswordIsValid","stylePasswordRequirements","requirements","match","requirementsState","isvalid","prefix","Object","keys","forEach","key","value","Reflect","get","cultureCode","country","setCountry","preventDefault","execute","RegistrationExtras","allowNameDisplay","altScreenName","altNameContrainer","btnSubmit","referredByCtrl","phoneFormatFail","phoneInput","cityList","provinceList","prop","site","handleNameDisplayChange","validateSubmitForm","validateReferral","validatePhoneFormat","provinceChanged","unbind","loadBrazilCities","provinceId","d","listItems","Data","Id","Name","history","go","PhoneNumberValidation","validPhoneNumberAsmo","validPhoneNumberBrazil","validPhoneNumberLar","submit","ReferralDoesNotExist","href","RegistrationVerify","finishProfile","doItLater","goToFinish","goToLogin","QuickRegister","initSelection","storePositionTypeId","retailerName","storeChainId","promoterAgency","promoterStoreId","storeName","storeId","validateEmailUnique","emailUnique","Exists","checkName","SSOConnect7","_d","_e","ssoDisconnectRoute","ssoUnifyRoute","error","console","log","execDisconnect","loginFacebook","execAuth","error_callback","onerror","login","authResponse","getLoginStatus","result","userID","return_scopes","reload","errorText","submitSso","SSO"],"mappings":"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"}