1import{n as C,J as k,v as $,H as E,E as T}from"./index-CxHn0Gru.js";import{P as S}from"./app-un9PI25T.js";import{A,a as L}from"./auth-redirect-service-CgEp8BiU.js";import{A as I,D as R,T as z,P}from"./PasswordField-BxHaMMPD.js";import{E as q}from"./ErrorMessage-ZEY5WdPu.js";import{A as F}from"./AppPasswordField-DGVN9s-i.js";import{A as B}from"./AppInput-BpHdZqM-.js";import{A as M}from"./AppButton-DgRW-j5-.js";import{a as N}from"./alert-service-CRvK45oy.js";import{b as x}from"./index-DigVksEt.js";import"./guest-DlKky-wy.js";import"./roles-BxC5uA8g.js";import"./util-BKLjsQa7.js";import"./parsePhoneNumber-ZxPOqrGk.js";import"./feature-DDf01P73.js";import"./TooltipCommon-DqYZGIK-.js";import"./HasParentTargetMixin-Dquecb9q.js";import"./popover-BzVLPSVt.js";import"./bootstrap-CE9PbH8-.js";/* empty css *//* empty css *//* empty css */import"./ZendropLogo-D9X4NHpm.js";import"./useI18n-BOl0gMk-.js";const V={components:{AppIcon:E,HasError:$.HasError,AppPasswordField:F,AppInput:B,AppButton:M,PasswordField:P,TermsAlert:z,Divider:R,ErrorMessage:q,AuthButtons:I,AuthPageLayout:A},middleware:"guest",metaInfo(){return{title:this.$t("ui.public.login")}},data:()=>({error:null,showSsoButtons:!1,form:new k({email:"",password:""}),remember:!1,passwordVisible:!1,errorType:null,submitError:"",rateLimitSecondsLeft:0,rateLimitErrorText:"",rateLimitIntervalId:null,windowWidth:window.innerWidth}),computed:{isMobile(){return this.windowWidth<=767},passwordFieldType(){return this.passwordVisible?"text":"password"},isCredentialsError(){return this.errorType==="credentials"},errorText(){if(!this.error)return"";const i="ui.errors.auth."+this.error;return this.$te(i)?this.$t(i):this.error},invalidCredentialsError(){return this.form.errors.has("email")?this.form.errors.get("email"):""},loginErrorMessage(){return this.invalidCredentialsError?this.errorType==="credentials"?this.$t("ui.auth.failed",{link:this.$t("ui.auth.resetting_your_password")}):this.invalidCredentialsError:""},isRateLimited(){return this.rateLimitSecondsLeft>0}},mounted(){console.log("[Vue2] Login page mounted"),sessionStorage.removeItem("sessionContext"),this.$ff.showTrustPilotWidget&&T.$emit("load-trust-pilot-widget"),this.error=this.$route.query.error_message,this.showSsoButtons=window.config.sso_enabled,typeof ire=="function"?ire("identify",{customerId:"",customerEmail:""}):console.log("ire function not found"),this.$route.query.login_error!=null&&this.$route.query.login_error==="deactivated_account"&&N.errorAlert(this.$t("ui.public.deactivated_account_error"),""),window.addEventListener("resize",this.handleResize)},beforeDestroy(){this.clearRateLimitCountdown(),window.removeEventListener("resize",this.handleResize)},methods:{handleResize(){this.windowWidth=window.innerWidth},changePasswordValue(i){this.form.password=i},startRateLimitCountdown(i){this.clearRateLimitCountdown();const t=parseInt(i);this.rateLimitSecondsLeft=Number.isFinite(t)&&t>0?t:60,this.updateRateLimitErrorText(),this.rateLimitIntervalId=setInterval(()=>{this.rateLimitSecondsLeft=Math.max(0,this.rateLimitSecondsLeft-1),this.updateRateLimitErrorText(),this.rateLimitSecondsLeft<=0&&this.clearRateLimitCountdown()},1e3)},clearRateLimitCountdown(){this.rateLimitIntervalId&&(clearInterval(this.rateLimitIntervalId),this.rateLimitIntervalId=null),this.rateLimitSecondsLeft<=0&&(this.rateLimitErrorText="")},updateRateLimitErrorText(){this.rateLimitSecondsLeft>0?this.rateLimitErrorText=`Too many login attempts. Try again in ${this.rateLimitSecondsLeft}s.`:this.rateLimitErrorText=""},async login(){var t,e,s,a,l,d,u,n,f,h,g,_,b,v,w,y;if(this.isRateLimited)return;this.submitError="",this.$store.commit("auth/LOGOUT");const i=this.form.email;try{const{data:r}=await this.form.post(S.login);if(sessionStorage.setItem("sessionContext",i),sessionStorage.removeItem("otpAttemptCount"),r!=null&&r.otp_challenge_is_required&&(r!=null&&r.session_key)){x.push({event:"Log_in_OTP_required",email:i});const o={sessionKey:r.session_key},c={};this.$route.query.continue&&(c.continue=this.$route.query.continue),this.$router.push({name:"otp.challenge",params:o,query:c});return}await L.processTokenAndRedirect(r,this.$store,this.$router,this.remember).then(async()=>{const o=this.$store.state.auth.user;x.push({event:"Log_in_Successful",user_id:o==null?void 0:o.id,email:o==null?void 0:o.email}),await L.handleSuccessfulLogin(o,this.$router,this.$store,this.$root,this.$ff)})}catch(r){if(((t=r==null?void 0:r.response)==null?void 0:t.status)===429){const c=((e=r==null?void 0:r.response)==null?void 0:e.headers)||{};let m=parseInt(c["retry-after"]||c["Retry-After"]);if(!Number.isFinite(m)&&(m=parseInt(((a=(s=r==null?void 0:r.response)==null?void 0:s.data)==null?void 0:a.retry_after)??((d=(l=r==null?void 0:r.response)==null?void 0:l.data)==null?void 0:d.seconds)),!Number.isFinite(m))){const p=String(((n=(u=r==null?void 0:r.response)==null?void 0:u.data)==null?void 0:n.message)||"").match(/(\d+)/);p&&p[1]&&(m=parseInt(p[1]))}this.form.busy=!1,this.startRateLimitCountdown(Number.isFinite(m)?m:60);return}this.errorType=(_=(g=(h=(f=r==null?void 0:r.response)==null?void 0:f.data)==null?void 0:h.errors)==null?void 0:g.email)==null?void 0:_[0],this.errorType||(this.submitError=this.$t("ui.public.error_alert_text")),console.error(((v=(b=r==null?void 0:r.response)==null?void 0:b.data)==null?void 0:v.error)||((y=(w=r==null?void 0:r.response)==null?void 0:w.data)==null?void 0:y.message)||r)}}}};var W=function(){var t=this,e=t._self._c;return e("auth-page-layout",{attrs:{title:t.$t("ui.public.welcome_back")},scopedSlots:t._u([{key:"sso-section",fn:function(){return[t.showSsoButtons?e("div",{staticClass:"sso-section"},[e("auth-buttons",{attrs:{type:"login"}}),e("div",{staticClass:"divider"})],1):t._e()]},proxy:!0},{key:"form-content",fn:function(){return[e("form",{staticClass:"form-horizontal",on:{ke
1ydown:function(s){return t.form.onKeydown(s)},submit:function(s){return s.preventDefault(),t.login.apply(null,arguments)}}},[t.rateLimitErrorText?e("error-message",{staticClass:"mbp-8"},[t._v(" "+t._s(t.rateLimitErrorText)+" ")]):t._e(),t.submitError?e("error-message",{staticClass:"mbp-8"},[t._v(" "+t._s(t.submitError)+" ")]):t._e(),e("div",{staticClass:"form-group"},[e("app-input",{staticClass:"mbp-8",class:{"is-invalid":t.form.errors.has("email")},attrs:{error:t.form.errors.has("email"),placeholder:t.$t("ui.public.customer.email"),description:t.loginErrorMessage,size:t.isMobile?"medium":"small",autocomplete:"username","data-element":"login-email-input",name:"email",type:"email","new-font":""},scopedSlots:t._u([{key:"description",fn:function(){return[t.form.errors.has("email")&&t.isCredentialsError?e("i18n",{staticClass:"invalid-credentials",attrs:{path:"ui.auth.failed",tag:"p"},scopedSlots:t._u([{key:"link",fn:function(){return[e("router-link",{staticClass:"invalid-credentials-link",attrs:{to:{name:"password.request"},"data-element":"login-reset-password-link"}},[t._v(" "+t._s(t.$t("ui.auth.resetting_your_password"))+" ")])]},proxy:!0}],null,!1,1635266815)}):t._e()]},proxy:!0}]),model:{value:t.form.email,callback:function(s){t.$set(t.form,"email",s)},expression:"form.email"}})],1),e("div",{staticClass:"form-group"},[e("app-password-field",{attrs:{error:t.form.errors.has("password"),form:t.form,"initial-value":t.form.password,size:t.isMobile?"medium":"small",autocomplete:"current-password",classes:"mbp-8","data-element":"login-password",name:"password"},on:{input:t.changePasswordValue}})],1),t.error?e("error-message",[t._v(" "+t._s(t.errorText)+" ")]):t._e(),e("div",{staticClass:"form-group"},[e("app-button",{attrs:{loading:t.form.busy,"data-element":"login-submit-btn",size:"md",type:"submit",variant:"accent",block:""}},[t._v(" "+t._s(t.$t("ui.public.login"))+" ")])],1)],1)]},proxy:!0},{key:"footer-links",fn:function(){return[e("div",{staticClass:"forgot-password-container"},[e("router-link",{staticClass:"forgot-password",attrs:{to:{name:"password.request"},"data-element":"login-forgot-password-link"}},[t._v(" "+t._s(t.$t("ui.public.forgot_password_lowercase"))+" ")])],1)]},proxy:!0},{key:"bottom-section",fn:function(){return[e("div",{staticClass:"signup-container"},[e("span",[t._v(t._s(t.$t("ui.public.not_a_member")))]),e("router-link",{staticClass:"signup-link",attrs:{to:{name:"register"},"data-element":"login-signup-link"}},[t._v(" "+t._s(t.$t("ui.public.get_started"))+" ")]),e("app-icon",{attrs:{name:"ArrowRight",size:"related"}})],1)]},proxy:!0},{key:"old-design-form",fn:function(){return[t.rateLimitErrorText?e("error-message",[t._v(" "+t._s(t.rateLimitErrorText)+" ")]):t._e(),t.submitError?e("error-message",[t._v(" "+t._s(t.submitError)+" ")]):t._e(),t.error?e("error-message",[t._v(" "+t._s(t.errorText)+" ")]):t._e(),e("form",{staticClass:"form-horizontal",on:{keydown:function(s){return t.form.onKeydown(s)},submit:function(s){return s.preventDefault(),t.login.apply(null,arguments)}}},[e("div",{staticClass:"form-group mb-16"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.email,expression:"form.email"}],staticClass:"form-control branded-input",class:{"is-invalid":t.form.errors.has("email")},attrs:{placeholder:t.$t("ui.public.customer.email"),"data-element":"login-email-input",name:"email",type:"email"},domProps:{value:t.form.email},on:{input:function(s){s.target.composing||t.$set(t.form,"email",s.target.value)}}}),e("has-error",{attrs:{form:t.form,field:"email"}})],1),e("password-field",{attrs:{form:t.form,"initial-value":t.form.password,classes:"mbp-12 branded-input"},on:{update:t.changePasswordValue}}),e("div",{staticClass:"form-group mb-24 remember-box d-flex justify-content-between"},[e("div",{staticClass:"checkbox checkbox-success"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.remember,expression:"form.remember"}],staticClass:"accept-term min-height-auto",attrs:{id:"remember","data-element":"login-remember-checkbox",name:"remember",type:"checkbox"},domProps:{checked:Array.isArray(t.form.remember)?t._i(t.form.remember,null)>-1:t.form.remember},on:{change:function(s){var a=t.form.remember,l=s.target,d=!!l.checked;if(Array.isArray(a)){var u=null,n=t._i(a,u);l.checked?n<0&&t.$set(t.form,"remember",a.concat([u])):n>-1&&t.$set(t.form,"remember",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.form,"remember",d)}}}),e("label",{staticClass:"remember-label",attrs:{for:"remember"}},[t._v(" "+t._s(t.$t("ui.public.remember_me"))+" ")])]),e("router-link",{staticClass:"forgot-pass small ml-auto my-auto text-muted float-right",attrs:{to:{name:"password.request"},"data-element":"login-forgot-password-link"}},[e("small",{staticClass:"fadein-effect"}
1,[t._v(t._s(t.$t("ui.public.forgot_password")))])])],1),e("div",{staticClass:"form-group row text-center"},[e("div",{staticClass:"col-12"},[e("v-button",{staticClass:"w-100 grow-effect btn btn-success auth-btn waves-effect waves-light text-capitalize mb-8",attrs:{loading:t.form.busy,"data-element":"login-submit-btn"}},[t._v(" "+t._s(t.$t("ui.public.login"))+" ")]),e("terms-alert")],1)])],1)]},proxy:!0},{key:"old-design-sso",fn:function(){return[t.showSsoButtons?e("div",[e("divider"),e("auth-buttons",{attrs:{type:"login"}})],1):t._e()]},proxy:!0},{key:"old-design-footer",fn:function(){return[e("div",{staticClass:"mt-3 login-footer text-center"},[e("p",{staticClass:"text-muted"},[t._v(" "+t._s(t.$t("ui.public.login_page.dont_have_account"))+" "),e("router-link",{staticClass:"fadein-effect text-dark m-l-5",attrs:{to:{name:"register"},"data-element":"login-signup-link"}},[e("span",{staticClass:"styled-link"},[t._v(t._s(t.$t("ui.public.sign_up")))])])],1)])]},proxy:!0}])})},D=[],H=C(V,W,D,!1,null,"109e6764");const ht=H.exports;export{ht as default}; 2//# sourceMappingURL=login-wHuhBcc5.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.