!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("../../../../common/v1/src")):"function"==typeof def&&def.amd?def("pcs-candidate-login-v1",["vue","../../../../common/v1/src"],t):((e=e||self).phw=e.phw||{},e.phw.PcsCandidateLoginV1=t(e.Vue,e.PcsCommon))}(this,function(h,a){"use strict";h=h&&h.hasOwnProperty("default")?h.default:h,a=a&&a.hasOwnProperty("default")?a.default:a;var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};function e(e,t,o,i){var r,s=arguments.length,n=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,i);else for(var a=e.length-1;0<=a;a--)(r=e[a])&&(n=(s<3?r(n):3()\[\]\\.,;:\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,}))$/,S=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/,D="signIn",O="signUp",M="resetPassword",b="signIn",x="forgotPassword",L="candidateProfileUpdated",I="ph:candidateLoggedinEvent",_="getUserProfileData",R="fyf_container",F="ph:bot:removeProfile",V="ph:site:removeProfile",H="apply",j="ph:hash:triggerCandidatePopup",A=27,U=9,q=13,K={upperCase:{regex:/(.*[A-Z].*)/,literal:"",hasError:!1},lowerCase:{regex:/(.*[a-z].*)/,literal:"",hasError:!1},numeric:{regex:/(.*\d.*)/,literal:"",hasError:!1},passwordLength:{regex:/(.{8,})/,literal:"",hasError:!1}},B="fyfSignInHeading",$="fyfSignUpHeading",J="applySignInHeading",N="applySignUpHeading",W="savedJobsSignUpHeading",z="savedJobsSignInHeading",Z="loginEmail",Q="loginPassword",G="pcs-candidate-login-v1";function X(){this.constructor=E}function Y(){var e=null!==p&&p.apply(this,arguments)||this;return e.flowType="",e.widgetContext={},e.elementTag=G,e.bindableModel=new C,e.commonService=a.CommonService,e.localStorage=a.LocalStorage,e.phenomAppManager=a.PhenomAppManager,e.candidateLoginService=new c,e.initialFlowType="",e.isPasswordVisible=!1,e.staySignIn=!0,e.profileDetails={},e.isLoggedIn=!1,e.isDialogOpen=!1,e.signInModel={email:"",password:""},e.hasErrors=!1,e.errors=new k,e.step=b,e.isValidEmail=!1,e.isValidPassword=!1,e.isDropdownOpen=!1,e.socialProvider="",e.invalidCredentials=!1,e.resendEmail=!1,e.resetPasswordModel={rpToken:"",newPassword:""},e.pwdRegexMap=K,e.isHeadingDisabled=!1,e.cvUploaded=!1,e.tokenInvalid=!1,e.anonymousEmail="",e.showPasswordSrOnly=!1,e.passwordErrorSrOnly=!1,e.isFirstTimeUser=!0,e.userState="",e.isProfileDataAvailable=!1,e.widgetContent=void 0,e.signInHeading="",e.signUpHeading="",e.isEventRaisedForTriggerHashPopup=!1,e.ignoreMulTriggerHashPopup=!1,e.signUpSuccessSr=!1,e.signInSuccessSr=!1,e.privacyDataConsent=!1,e.privacyConsentError=!1,e.privacyConsentReqFlag=!1,e}return{component:(p=a.BaseComponent,o(E=Y,P=p),E.prototype=null===P?Object.create(P):(X.prototype=P.prototype,new X),Y.prototype.widgetViewLoaded=function(){var t=this;this.element=this.$el,this.userState=this.phenomAppManager.getSegmentedUserState&&this.phenomAppManager.getSegmentedUserState(),this.isPrivacyDataConsentCheckBoxRequired();var o=window.location.hash;a.EventBus.$on(j,function(e){t.ignoreMulTriggerHashPopup=!0,setTimeout(function(){t.isEventRaisedForTriggerHashPopup&&!t.isLoggedIn&&("#profilelogin"===o?t.handleDialogModal(D):"#createprofile"===o&&t.handleDialogModal(O))},150)}),this.fetchValidateJwtToken().then(function(){t.getContextBasedHeading(),t.getStateBasedHeading(),t.widgetContext=t.widgetContext||{};var e=t.widgetContext.context;t.isLoggedIn||"header"!==e||t.isEventRaisedForTriggerHashPopup||t.ignoreMulTriggerHashPopup||(t.isEventRaisedForTriggerHashPopup=!0,a.EventBus.$emit(j,{}))}),this.subscribeEvents(),this.flowType=this.flowType||O,this.initialFlowType=this.flowType,this.localStorage.getItem("_li")&&(this.isFirstTimeUser=!1),document.addEventListener("mouseup",this.handleDropdownOutsideScope,!0),document.addEventListener("keyup",this.handleDropdownOutsideScope,!0),this.initialFlowType==M&&this.checkValidToken(),(this.commonService.getSiteSettings("navItems")||{}).candidateHome||this.hideContainer()},Y.prototype.created=function(){},Y.prototype.contentModelLoaded=function(){this.content&&this.contentId&&(this.widgetContent=this.content[this.contentId])},Y.prototype.fetch=function(){},Y.prototype.widgetContextChanged=function(e,t){e&&e.triggerPopup&&(this.isHeadingDisabled=!0,this.handleDialogModal(this.flowType,e.closeSelector)),e&&e.profile&&e.profile.email&&(this.anonymousEmail=e.profile.email)&&(this.signInModel.email=this.anonymousEmail),e&&e.resumeUploaded&&(this.cvUploaded=!0),this.getContextBasedHeading()},Y.prototype.getContextBasedHeading=function(){if(this.widgetContext&&this.widgetContext.context&&this.widgetContext.context.length&&this.widgetContent)switch(this.widgetContext.context){case"fyf":case R:this.widgetContent[B]&&(this.signInHeading=this.widgetContent[B]),this.widgetContent[$]&&(this.signUpHeading=this.widgetContent[$]);break;case H:this.widgetContent[J]&&(this.signInHeading=this.widgetContent[J]),this.widgetContent[N]&&(this.signUpHeading=this.widgetContent[N])}},Y.prototype.getStateBasedHeading=function(){(!this.widgetContext||this.widgetContext&&this.widgetContext.context!=H)&&("visitor"==this.userState&&!this.isProfileDataAvailable&&this.widgetContent?(this.widgetContent[z]&&(this.signInHeading=this.widgetContent[z]),this.widgetContent[W]&&(this.signUpHeading=this.widgetContent[W])):this.isProfileDataAvailable&&this.widgetContent&&(this.widgetContent[B]&&(this.signInHeading=this.widgetContent[B]),this.widgetContent[$]&&(this.signUpHeading=this.widgetContent[$])))},Y.prototype.setValueInLocalStorage=function(){this.localStorage.setItem("_li","1")},Y.prototype.isPrivacyDataConsentCheckBoxRequired=function(){this.privacyConsentReqFlag=this.commonService.getSiteSettings("privacyDataConsentCheckBox")},Y.prototype.isPrivacyConsentChecked=function(){this.privacyDataConsent&&(this.privacyConsentError=!1)},Y.prototype.signIn=function(){var o=this,e=this.validateEmail(!0),t=this.validatePassword(this.signInModel.password,!0,e);this.hasErrors=e||t,this.hideError();var i=this.widgetContext&&this.widgetContext.context||"";if(this.hasErrors)this.focusToErrorField();else{var r={email:this.signInModel.email,password:this.signInModel.password};this.staySignIn||(r.unTrustedDevice=!0),i===H&&this.trackWidgetClick("ch_signin_trigger_apply_ty",{}),this.candidateLoginService.makeDDORequest(s.v1.ddoKeyCandidateSignIn,r).then(function(e){if(e&&"success"==e.status&&200==e.code){setTimeout(function(){o.signInSuccessSr=!0,setTimeout(function(){o.signInSuccessSr=!1},2e3)},1e3),o.setEagerLoadFlowType();var t={context:i||o.phenomAppManager.getPageName()};o.trackWidgetClick("profile_signIn_click",t),o.initialFlowType==M?window.location.href=o.phenomAppManager.getBaseUrl():(o.fetchValidateJwtToken(!0),o.closePopup(),o.resetErrorFields()),o.setValueInLocalStorage(),i===H&&o.trackWidgetClick("ch_signin_apply_ty",{})}else e&&"failure"==e.status&&405==e.code&&e.data?(o.isValidEmail=!1,o.errors.email.error=!0,o.errors.email.code="E103",o.errors.email.socialProvider=e.data.socialProvider,o.focusToField(Z)):e&&"failure"==e.status&&404==e.code?(o.isValidPassword=!1,o.errors.password.error=!0,o.errors.password.code="E103",o.focusToField(Q)):e&&"failure"==e.status&&401==e.code?(o.isValidEmail=!1,o.errors.email.error=!0,o.errors.email.code="E105",o.focusToField(Z)):o.showError("E500")})}},Y.prototype.fetchValidateJwtToken=function(t){var o=this;return this.unhideLoader(),this.candidateLoginService.makeDDORequest(s.v1.ddoKeyValidateJwtToken,{}).then(function(e){return e&&e.data?(o.isLoggedIn=e.data.isValidToken&&!e.data.isAnonymous,e.data.isSocialLogin&&o.setValueInLocalStorage(),o.isLoggedIn?(o.isProfileDataAvailable=!0,o.fetchProfileData(t||!1,!1)):e.data.isAnonymous?(o.isProfileDataAvailable=!0,o.fetchProfileData(t||!1,!0)):o.hideLoader()):o.hideLoader(),!0},function(e){o.hideLoader()})},Y.prototype.fetchProfileData=function(o,i){var r=this;this.candidateLoginService.makeDDORequest(s.v1.ddoKeyMergedProfile,{}).then(function(e){if(e&&Object.keys(e).length&&"success"==e.status){if(i?(r.anonymousEmail=e.email,r.anonymousEmail&&(r.signInModel.email=r.anonymousEmail)):r.profileDetails.profile=e,o){r.publishSignInEvents(e);var t={context:"candidateProfile"};r.widgetContext=r.widgetContext||{context:"header"},t.widgetContext=r.widgetContext.context,r.dispatchEvent(_,t)}}else r.isLoggedIn=!1;r.hideLoader()},function(e){r.hideLoader()})},Y.prototype.publishSignInEvents=function(e){this.dispatchEvent(I,e),this.dispatchEvent("jobCartUpdatedCount",{})},Y.prototype.checkEmailValidation=function(){this.isValidEmail=T.test(this.signInModel.email)},Y.prototype.checkPasswordValidation=function(e){var t=document.querySelector('[id="createPassword"]');t&&t.removeAttribute("aria-describedby"),e=e||this.signInModel.password,this.isValidPassword=S.test(e),this.errors.password.error?(t&&t.setAttribute("aria-describedby","errorCreatePasswordSrOnly"),this.passwordErrorSrOnly=!0):t&&t.setAttribute("aria-describedby","errorCreatePassword")},Y.prototype.validateEmail=function(e){var t=this;this.errors.email.error=!1,this.errors.email.srHidden=!!e;var o=!1;return o=this.signInModel.email?T.test(this.signInModel.email)?(this.errors.email.code=void 0,!1):(this.errors.email.code="E102",!0):(this.errors.email.code="E101",!0),setTimeout(function(){t.errors.email.error=o},0),o},Y.prototype.validatePassword=function(t,e,o){var i=this;t=t||this.signInModel.password,this.errors.password.error=!1,this.errors.password.srHidden=!!o;var r=!1;return r=e?t.length?(this.errors.password.code=void 0,!1):(this.errors.password.code="E101",!0):S.test(t)?(this.errors.password.code=void 0,Object.keys(this.pwdRegexMap).forEach(function(e){i.pwdRegexMap[e].hasError=!1}),!1):(Object.keys(this.pwdRegexMap).forEach(function(e){i.pwdRegexMap[e].regex.test(t)?i.pwdRegexMap[e].hasError=!1:i.pwdRegexMap[e].hasError=!0}),!0),setTimeout(function(){i.errors.password.error=r},0),r},Y.prototype.validateNewPassword=function(){return this.validatePassword(this.resetPasswordModel.newPassword)},Y.prototype.forgotPassword=function(){var e=this;this.resetErrorFields(),this.unhideLoader(),this.hideLoader(),this.step=x,setTimeout(function(){e.focusToField(Z)},100)},Y.prototype.sendPswdResetLink=function(){var t=this;if(this.hasErrors=this.validateEmail(!0),this.hasErrors)this.focusToField(Z);else{var e={email:this.signInModel.email};this.candidateLoginService.makeDDORequest(s.v1.ddoKeySendResetPasswordLink,e).then(function(e){!e||"success"!=e.status&&200!=e.status?e&&"failure"==e.status&&401==e.code?(t.isValidEmail=!1,t.errors.email.error=!0,t.errors.email.code="E105",t.focusToField(Z)):t.showError("E500"):(t.trackWidgetClick("reset_password_link_click",{}),t.resetErrorFields(),t.unhideLoader(),t.hideLoader(),t.step="resetPasswordLink",setTimeout(function(){t.focusToField(".ph-a11y-popup-start-focus ")},100),t.tokenInvalid=!1)})}},Y.prototype.resendPswrdResetLink=function(){this.resendEmail=!0,this.sendPswdResetLink()},Y.prototype.changeFlowType=function(e,t){var o=this;this.resetErrorFields(),this.flowType=e,this.step=t||b,this.signInModel.password="",this.resetPasswordModel.newPassword="",this.isPasswordVisible=!1,this.isValidPassword=!1,this.staySignIn=!0,this.privacyConsentError=!1,Object.keys(this.pwdRegexMap).forEach(function(e){o.pwdRegexMap[e].hasError=!1}),setTimeout(function(){o.focusToField(Z)},100)},Y.prototype.handleDialogModal=function(e,t){this.isDialogOpen=!0,t?(this.isDialogOpen=!0,this.addModalPopup(Z,t)):(this.flowType=e,this.initialFlowType=e,this.isDialogOpen=!0,e==D?this.addModalPopup(Z,".sign-in-link"):e==O&&(this.addModalPopup(Z,".create-account-link"),this.focusToField(Z)))},Y.prototype.addModalPopup=function(r,s){var n=this;setTimeout(function(){var e="string"==typeof s?n.element.querySelector(s):s,t=n.$refs[r],o=n.element.querySelector(".popup-modal-backdrop");o&&o.classList.add("active");var i=n.element.querySelector(".ph-a11y-modal-area");n.element.addEventListener("keyup",n.handleEscape),n.element.addEventListener("click",n.handleEscape),a.DialogManager.openDialog(i,t,e)},0),setTimeout(function(){var e=n.$refs[Z];e&&n.anonymousEmail&&n.anonymousEmail.length&&(e.value=n.anonymousEmail)},50)},Y.prototype.handleEscape=function(e){var t=this.element.querySelector(".ph-a11y-modal-area");"Escape"!=e.key&&27!==e.keyCode&&27!==e.which&&e.target!=t||this.closePopup()},Y.prototype.closePopup=function(){this.isDialogOpen=!1,a.DialogManager.close(),this.signInModel.password="",this.signInModel.email="",this.resetPasswordModel.newPassword="",this.step=b,this.flowType=this.initialFlowType,this.isValidEmail=!1,this.isValidPassword=!1,this.resendEmail=!1,this.isPasswordVisible=!1,this.cvUploaded=!1,this.privacyConsentError=!1,this.resetErrorFields(),this.widgetContext&&this.widgetContext.context==R&&this.widgetContext.widgetRef&&this.widgetContext.widgetRef.closePopup&&this.widgetContext.widgetRef.closePopup(),this.element.removeEventListener("keyup",this.handleEscape),this.element.removeEventListener("click",this.handleEscape)},Y.prototype.toggleDropDown=function(){this.isDropdownOpen=!this.isDropdownOpen},Y.prototype.signUp=function(){var o=this;this.privacyConsentError=!1;var e=this.validateEmail(!0),t=this.validatePassword(this.signInModel.password,!1,e);this.hasErrors=e||t,this.hideError();var i=this.widgetContext&&this.widgetContext.context||"";if(this.hasErrors){if(this.privacyConsentReqFlag&&!this.privacyDataConsent)return void(this.privacyConsentError=!0);this.focusToErrorField()}else{if(this.privacyConsentReqFlag&&!this.privacyDataConsent)return void(this.privacyConsentError=!0);var r={email:this.signInModel.email,password:this.signInModel.password};this.staySignIn||(r.unTrustedDevice=!0),i===H&&this.trackWidgetClick("ch_signup_trigger_apply_ty",{}),this.candidateLoginService.makeDDORequest(s.v1.ddoKeyCandidateRegistration,r).then(function(e){if(e&&"success"==e.status&&200==e.code){setTimeout(function(){o.signUpSuccessSr=!0,setTimeout(function(){o.signUpSuccessSr=!1},2e3)},1e3),o.setEagerLoadFlowType();var t={context:i||o.phenomAppManager.getPageName()};o.trackWidgetClick("profile_signUp_click",t),o.closePopup(),o.fetchValidateJwtToken(!0),o.resetErrorFields(),o.setValueInLocalStorage(),i===H&&o.trackWidgetClick("ch_signup_apply_ty",{})}else e&&"failure"==e.status&&405==e.code&&e.data?(o.isValidEmail=!1,o.errors.email.error=!0,o.errors.email.code="E103",o.errors.email.socialProvider=e.data.socialProvider,o.focusToField(Z)):e&&"failure"==e.status&&402==e.code?(o.isValidEmail=!1,o.errors.email.error=!0,o.errors.email.code="E104",o.focusToField(Z)):o.showError("E500")})}},Y.prototype.handleDropdownOutsideScope=function(e){var t=this.handleOutsideScopeEvents(e,"post-sign-in-action-area");null!=t&&(this.isDropdownOpen=t)},Y.prototype.handleOutsideScopeEvents=function(e,t){var o,i,r=e.target,s=!1;if(e.keyCode===q||e.keyCode==U||null==e.keyCode)for(;r;)if(i=(r=r.parentElement)&&r.classList)if(null!=r&&i.contains(t)){if(i.contains(t)){s=!1;break}}else s=!0;else r||(s=!0);return!s&&e.keyCode!=A||(o=!1),o},Y.prototype.destroyed=function(){document.removeEventListener("mouseup",this.handleDropdownOutsideScope,!0),document.removeEventListener("keyup",this.handleDropdownOutsideScope,!0),document.removeEventListener(V,this.resetProfileData),document.removeEventListener(F,this.resetProfileData),document.removeEventListener(L,this.updateProfileData),document.removeEventListener(I,this.updateProfileData),document.removeEventListener(_,this.getProfileData),this.changeFlowType(this.initialFlowType),a.EventBus.$off(j)},Y.prototype.resetErrorFields=function(){var t=this;setTimeout(function(){t.errors=new k,t.socialProvider="",Object.keys(t.pwdRegexMap).length&&Object.keys(t.pwdRegexMap).forEach(function(e){t.pwdRegexMap[e]&&(t.pwdRegexMap[e].hasError=!1)})},0)},Y.prototype.showError=function(e){this.errors.server.error=!0,this.errors.server.code=e},Y.prototype.hideError=function(){this.errors.server.error=!1,this.errors.server.code=""},Y.prototype.updateProfileData=function(e){var t=e&&e.detail;this.profileDetails.profile=t,this.isLoggedIn=!0},Y.prototype.getProfileData=function(e){"candidateProfile"!=e.detail.context&&this.fetchProfileData(!1,!0)},Y.prototype.subscribeEvents=function(){document.addEventListener(L,this.updateProfileData),document.addEventListener(I,this.updateProfileData),document.addEventListener(_,this.getProfileData),document.addEventListener(V,this.resetProfileData),document.addEventListener(F,this.resetProfileData)},Y.prototype.resetProfileData=function(){this.anonymousEmail="",this.signInModel.email=""},Y.prototype.checkValidToken=function(){var t=this;this.resetPasswordModel.rpToken=this.commonService.getQueryParam("rp");var e={rpToken:this.resetPasswordModel.rpToken};this.candidateLoginService.makeDDORequest(s.v1.ddoKeyIsValidToken,e).then(function(e){e&&"success"==e.status?t.tokenInvalid=!1:e&&"failure"==e.status&&403==e.code&&(t.tokenInvalid=!0,t.changeFlowType(D,x))},function(e){})},Y.prototype.resetPassword=function(){var t=this;if(this.hasErrors=!this.tokenInvalid&&this.validateNewPassword(),this.hideError(),this.hasErrors||this.tokenInvalid)this.focusToField(Q);else{this.resetPasswordModel.rpToken=this.resetPasswordModel.rpToken||this.commonService.getQueryParam("rp");var e={rpToken:this.resetPasswordModel.rpToken,newPassword:this.resetPasswordModel.newPassword};this.candidateLoginService.makeDDORequest(s.v1.ddoKeyResetPassword,e).then(function(e){e&&"success"==e.status?(t.trackWidgetClick("reset_password_click",{}),t.resetErrorFields(),t.resetPasswordModel.password="",t.changeFlowType(D)):e&&"failure"==e.status&&403==e.code?(t.resetPasswordModel.password="",t.tokenInvalid=!0):t.showError("E500")})}},Y.prototype.setEagerLoadFlowType=function(){this.candidateLoginService.makeDDORequest(s.v1.ddoKeyEagerLoad,{flowType:"candidateProfile"}).then(function(e){})},Y.prototype.showHidePassword=function(){var e,t=this;this.isPasswordVisible=!this.isPasswordVisible,clearTimeout(e),this.showPasswordSrOnly=!0,e=setTimeout(function(){t.showPasswordSrOnly=!1},50)},Y.prototype.focusToField=function(e){var t=this.$refs[e]?this.$refs[e]:this.element.querySelector(e);t&&t.focus()},Y.prototype.focusToErrorField=function(){var t=this;setTimeout(function(){if(t.errors.email.error)t.focusToField(Z);else if(t.errors.password.error){t.focusToField(Q);var e=document.querySelector('[id="createPassword"]');e&&e.setAttribute("aria-describedby","errorCreatePasswordSrOnly"),t.focusToField(Q)}},0)},e([r()],Y.prototype,"flowType",void 0),e([r()],Y.prototype,"widgetContext",void 0),e([function(i,e){void 0===e&&(e={});var t=e.deep,r=void 0!==t&&t,o=e.immediate,s=void 0!==o&&o;return n(function(e,t){"object"!=typeof e.watch&&(e.watch=Object.create(null));var o=e.watch;"object"!=typeof o[i]||Array.isArray(o[i])?void 0===o[i]&&(o[i]=[]):o[i]=[o[i]],o[i].push({handler:t,deep:r,immediate:s})})}("widgetContext")],Y.prototype,"widgetContextChanged",null),Y=e([t({name:G})],Y))}});