PageSourceSearch

https://datasuite.fptcloud.com/assets/LoginPage-DY2pX6AD.js

js fptcloud.com collected 2026-10-01 12:39:32 UTC 26,233 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SignUpPage-DnOBWIKK.js","assets/react-DJo-hRcj.js","assets/index-C6hXkfvS.js","assets/index-B5XNITP8.js","assets/vendors-_9dKRPAn.js","assets/lodash-D9U91hCZ.js","assets/vendors-DrQ26gQT.css","assets/mui-core-DIGHSUz9.js","assets/mui-x-WaaF4sFd.js","assets/index-BnKm7cSP.css","assets/useDefaultVietnamese-BTAwsz3R.js","assets/Alert-CmamNx_P.js","assets/SharedComponents-CFIIYYlL.js","assets/LogoSkeleton-BnS_vFdm.js","assets/ControlledInput-t0pN4OLl.js","assets/EyeHidden-DOEKJS0r.js","assets/useDefaultVietnamese-BKK1CKEk.css","assets/Info-BluSCmph.js","assets/ArrowLeft-C8F9aGM7.js"])))=>i.map(i=>d[i]);
2import{r as q,R as e}from"./react-DJo-hRcj.js";import{$ as L,B as R,T as z,c as s,A as te,k as v,m as G,r as k,n as Je,h as Ce,aG as Le,aH as De,aI as Pe,aJ as Qe,aK as je,aL as et,aM as ce,aN as pe,aO as ve,aP as Se,aQ as he,aR as tt,S as Q,ah as Ae,aS as nt}from"./index-B5XNITP8.js";import{D as _e}from"./index-C6hXkfvS.js";import{A as ot}from"./Alert-CmamNx_P.js";import{B as at}from"./Building-_OqbRV1u.js";import{C as Ge}from"./ChevronRight-CXiTarPm.js";import{S as ne}from"./lodash-D9U91hCZ.js";import{b$ as ke,I as X,ba as rt,c1 as st,bZ as xe,b_ as ee,bW as Me,bX as Ue,bV as oe,bY as Ve,P as V,aw as it,ax as lt,bd as ct,ah as dt,bf as ut}from"./vendors-_9dKRPAn.js";import{t as Fe}from"./toastifyV2-JsPZrQKQ.js";import{C as Be}from"./ControlledInput-t0pN4OLl.js";import{A as mt}from"./ArrowLeft-Hw4adDOG.js";import{L as Oe,u as pt,d as gt,P as Et,s as de,i as We,a as It,g as Ot,b as Y,A as Nt,S as ue,G as ft}from"./useDefaultVietnamese-BTAwsz3R.js";import{z as ge,az as Ee}from"./mui-core-DIGHSUz9.js";import{A as Lt}from"./ArrowLeft-C8F9aGM7.js";import{C as St}from"./ChevronLeft-Tgkhoz-X.js";import"./mui-x-WaaF4sFd.js";import"./SharedComponents-CFIIYYlL.js";import"./LogoSkeleton-BnS_vFdm.js";import"./EyeHidden-DOEKJS0r.js";const ht="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAO/SURBVHgB7ZZdbFRFFMf/Z/b2g6W7SFtJXUmhioa0scgShYZGm1RbTaoU9YWgwZgSQkLSgvETQ4gPvmhiNjHVBGMfMAgvi2hbNcaWxlakWFALyqaBNpSWry4s3S+6vXcOswXKLuxtm6VP5P6SvbtzzsyZ/5w5M3sBCwsLCwuL+xrCLBLetmi51EU5ETIT7RJodnr6fUgDDbNEsL7oI6nzx2rJxHf4bCTbkSazksFgw+IKMJmJYIenXyBNZpbB9a1OzNV3AOLVu3wsP4WsLzZfKh+KP+0/VLuF1D4n4sI7ewgbua/WtFxBWgKZCZua/1DJLlGNFB3k3wSuYxOFar87nAeqlzBrPTe6JPdTraNm4mYmcNOP6+LicrI05NozkhSeuRKNDmd+MMREy8V8V5JPhvyE8THAkL9JaE2u7NyksEE9ipD6SEbXVNPPZIvdTyx0clvDSsp3ZE0u33chhKU72v9ziOhi4SqG/d2WpNRwYJgjn1SpygioDKP8cEUjHsjMub0AZjzX+TYf8fs6cY8Cy7dVFlHvuRBvb/yL1IpZV48Tw0Hloj8loUKbX8AycJ7GmjZPZFErfQG2snUEPXZybtWKIhsMlHVswbP5y/Dlkw147fBOjOoR9IWGSBXQ/+kLfMO7QIlYWaoyWJg7h77ZsCxupYM+P2/e00uQxk/qeL5nK64k4cxH1vrPblRZTh70f39W5at32qA/E6+0oegIsm1ZfDTQR79e7JkIr1ZzJlzb2pu+wGzt6QWOTLgL51FT1yAPXI4iHDOw+9DZCffrovsYiMq0R59i3ddF8tQRdSQFcyxCes8BVX/GL+rw1N3a++cfdNPgtYvxLN8y/Y5pmFqgwNLVS/L4UnCMtuw9gUhMT6gzHvwi+1sXzXNlUMFjGN/7PhsDxyhhcgjWBlSjFDeNq/KK+cPjX0/6ifk4pmHqC5SpOl5vtV/1cLK4eHTRqQavIFsGxvZNikvkkquqxK++H4o3HJodnlNefHe2LSEGT5tB83+Sne0ahkOj6teclH42Xhm1179FEDWpA/D+gooSrxDYndqP/uCalkew8ftqhLVu7KlJeReaZ/BCcLW5OHiwq3a/ErfKbLi631tJ4CUT94i6ZtZgo/dxkPYmcrDBLI55DRrystK/PdlI42rmbux6uWNk68KH1WtKvtlwVV99gjjMkv5JtLNgv2ZE9gXXHgwArUBdcyNifNo0DtIksnXRWkMKb2ovtzk8A5WYBdJ+3dIlXhSEWKJNbetVhmyGPv4OLCwsLCwsLO4LrgNTaXE1UdYH0gAAAABJRU5ErkJggg==",Ke="existedTenantOrgLogin",At=10,ae=()=>{try{const t=JSON.parse(localStorage.getItem(Ke));return Array.isArray(t)?t.filter(n=>n&&typeof n.orgName=="string"&&n.orgName):[]}catch{return[]}},$e=t=>{try{localStorage.setItem(Ke,JSON.stringify(t))}catch{}},He=({orgName:t,orgUrl:n})=>{if(!t)return ae();const c=[{orgName:t,orgUrl:n},...ae().filter(i=>i.orgName!==t)].slice(0,At);return $e(c),c},_t=t=>{const n=ae().filter(c=>c.orgName!==t);return $e(n),n},bt=({domainUrl:t,domainSubSignal:n})=>{try{const{hostname:c,host:i}=window.location,o=new URL(t);if(!c||c===o.hostname)return null;const u=c.split(n||".")[0];return u?{orgName:u,orgUrl:i}:null}catch{return null}};function Rt({changeLoginMethod:t,showBackButton:n=!0}){const c=ke(),{t:i}=X(),o=rt(),u=st.parse(o.search),[d,_]=q.useState("datasuite.fptcloud.com"),O=new Oe({queryClient:c}),T=xe().shape({tenantName:ee().matches(/^(?!-)[a-z0-9-]+(?<!-)$/i,i("LOGIN.INVALID_TENANT_NAME"))}),m=Me({resolver:Ue(T)}),{setValue:p,watch:b,formState:{errors:N}}=m,{mutateAsync:f,isLoading:S}=oe(O.checkOrgBySplugMutation());q.useEffect(()=>{const{hostname:w}
2=window.location,h=L.instance.domainUrl,g=new URL(h);if(_(`${g.host}`),u&&u.tenantName)p("tenantName",u.tenantName);else if(w!==g.hostname&&!window.location.search){const D=w.split(L.instance.domainSubSignal);p("tenantName",D[0])}},[]);const C=w=>{const h=w.tenantName.trim()||"";return v({eventName:k.LOGIN_ORGANIZATION_SSO_CLICKED,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{slug:h},sendImmediately:!0}),Fe(f({slug:h})).then(()=>{const g=`${L.instance.webApiUrl}/api/v1/login-by-org?tenantName=${h}`,D=new URL(L.instance.domainUrl);window.location.replace(`${D.protocol}//${h}${L.instance.domainSubSignal}${D.host}/login`),He({orgName:h,orgUrl:`${h}${L.instance.domainSubSignal}${D.host}`}),window.open(g,"_self")})};return e.createElement(Ve,{...m},e.createElement("form",{onSubmit:m.handleSubmit(C)},e.createElement(R,null,e.createElement(z,{variant:"bodySmMedium",component:"div",mb:1,sx:{color:s.content.neutral.neutralStrong}},i("LOGIN.TENANT_NAME")),e.createElement(Be,{autoFocus:!0,fullWidth:!0,size:"md",name:"tenantName",placeholder:i("LOGIN.TENANT_NAME_PLACEHOLDER"),inputProps:{maxLength:10},slotProps:{input:{endAdornment:e.createElement(z,{variant:"bodySmRegular",sx:{whiteSpace:"nowrap",color:s.content.neutral.neutralLight}},`${L.instance.domainSubSignal}${d}`)}}}),N.tenantName&&!ne(b("tenantName"))&&e.createElement(ge,{error:!0,mt:1},N.tenantName.message),e.createElement(R,{spacing:2,ml:"auto",mb:1,mt:2},e.createElement(te,{type:"submit",variant:"primary",fullWidth:!0,loading:S,disabled:N.tenantName||ne(b("tenantName"))},i("LOGIN.SUBMIT"))),n&&e.createElement(R,{spacing:2,m:"auto"},e.createElement(te,{variant:"text",fullWidth:!0,startIcon:e.createElement(mt,null),onClick:()=>t(!0),sx:{color:s.content.neutral.neutralStrong,"&:hover":{backgroundColor:s.background.neutral.surface1}}},i("LOGIN.BACK"))))))}function Tt({size:t=28}){return e.createElement("svg",{width:t,height:t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},e.createElement("rect",{x:"1",y:"1",width:"10",height:"10",fill:"#F25022"}),e.createElement("rect",{x:"13",y:"1",width:"10",height:"10",fill:"#7FBA00"}),e.createElement("rect",{x:"1",y:"13",width:"10",height:"10",fill:"#00A4EF"}),e.createElement("rect",{x:"13",y:"13",width:"10",height:"10",fill:"#FFB900"}))}function wt({length:t=6,value:n="",onChange:c,error:i=!1,disabled:o=!1,autoFocus:u=!0,groupLabel:d,digitLabel:_,describedById:O,testId:T="login-totp"}){const m=e.useRef([]),[p,b]=e.useState(()=>Array.from({length:t},(r,a)=>n[a]??""));e.useEffect(()=>{b(r=>r.join("")===n?r:Array.from({length:t},(a,E)=>n[E]??""))},[n,t]);const N=r=>{const a=Math.max(0,Math.min(r,t-1));m.current[a]?.focus()},f=r=>{b(r),c(r.join(""))},S=(r,a)=>{const E=[...p];E[r]=a,f(E)},C=(r,a)=>{const E=[...p];a.split("").forEach((F,$)=>{r+$<t&&(E[r+$]=F)}),f(E);const K=E.findIndex(F=>!F);N(K===-1?t-1:K)},w=r=>a=>{const E=a.target.value.replace(/\D/g,"");if(!E){S(r,"");return}if(E.length>1){C(r,E);return}S(r,E),N(r+1)},h=r=>a=>{a.preventDefault();const E=(a.clipboardData?.getData("text")||"").replace(/\D/g,"");E&&C(E.length>=t?0:r,E)},g=r=>a=>{if(a.key==="Backspace"){if(a.preventDefault(),p[r]){S(r,"");return}r>0&&(S(r-1,""),N(r-1));return}if(a.key==="Delete"){a.preventDefault(),S(r,"");return}if(a.key==="ArrowLeft"){a.preventDefault(),N(r-1);return}if(a.key==="ArrowRight"){a.preventDefault(),N(r+1);return}if(a.key==="Home"){a.preventDefault(),N(0);return}a.key==="End"&&(a.preventDefault(),N(t-1))},D=r=>{r.target.select()};e.useEffect(()=>{u&&!o&&N(0)},[]),e.useEffect(()=>{i&&!o&&N(0)},[i,o]);const W={flex:1,minWidth:0,height:72,padding:"10px",textAlign:"center",boxSizing:"border-box",...Je.h2Semibold,color:s.content.neutral.neutralStrong,bgcolor:i?s.background.error.surface1:s.background.main,border:`1px solid ${i?s.border.error.border1Strong:s.border.main}`,borderRadius:Ce.medium,outline:"none","&:focus":{borderColor:i?s.border.error.border1Strong:s.border.brand.border1Strong,boxShadow:`0 0 0 4px ${i?s.background.error.surface1:s.background.actived}`},"&:disabled":{opacity:.4,cursor:"not-allowed"}};return e.createElement(R,{role:"group","aria-label":d,sx:{display:"flex",gap:3,maxWidth:452,mx:"auto"},"data-testid":T},p.map((r,a)=>e.createElement(R,{component:"input",key:a,ref:E=>{m.current[a]=E},type:"text",inputMode:"numeric",pattern:"[0-9]*",maxLength:1,autoComplete:a===0?"one-time-code":"off",value:r,disabled:o,"aria-label":_?.(a+1,t),"aria-invalid":i||void 0,"aria-describedby":O,"data-testid":`${T}-${a}`,onChange:w(a),onKeyDown:g(a),onPaste:h(a),onFocus:D,sx:W})))}function yt(){return e.createElement(R,{component:"svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",sx:{width:16,height:16,flexShrink:0}},e.createElement("rect",{x:"7",y:"2.5",width:"10",height:"19",rx:"2.5"}),e.createElement("line",{x1:"11",y1:"18.5",x2:"13",y2:"18.5"}))}const be=2;function Ne({devices:t,value:n,onChange:c,defaultCredentialId:i,disabled:o}){const{t:u,i18n:d}=X(),[_,O]=e.useState(0),T=Math.max(0,t.length-be),m=Math.min(_,T),p=t.slice(m,m+be),b=f=>f.label?f.label:f.createdAt?u("LOGIN.OTP_DEVICE_UNNAMED",{date:new Date(f.createdAt).toLocaleDateString(d.language)}):u("LOGIN.OTP_DEVICE_UNNAMED_NO_DATE"),N={color:s.content.neutral.neutralLight,"&.Mui-disabled":{color:s.content.neutral.neutralLight,opacity:.4}};return e.createElement(R,{role:"radiogroup","aria-label":u("LOGIN.OTP_DEVICE_LABEL"),"data-testid":"login-otp-device-group",sx:{dis
2play:"flex",alignItems:"center",gap:2,mb:6}},e.createElement(Le,{type:"button",size:"small",disabled:o||m===0,onClick:()=>O(m-1),"aria-label":u("LOGIN.OTP_DEVICE_PREV"),"data-testid":"login-otp-device-prev",sx:N},e.createElement(St,{size:"sm"})),e.createElement(R,{sx:{display:"flex",gap:3,flex:1,minWidth:0}},p.map(f=>{const S=f.credentialId===n;return e.createElement(R,{key:f.credentialId,component:"button",type:"button",role:"radio","aria-checked":S,disabled:o,onClick:()=>c(f.credentialId),"data-testid":`login-otp-device-${f.credentialId}`,sx:{flex:1,minWidth:0,display:"flex",alignItems:"center",justifyContent:"center",gap:2,height:"48px",px:4,cursor:o?"default":"pointer",borderRadius:"8px",border:"1px solid",borderColor:S?s.border.brand.border2Strong:s.border.main,bgcolor:S?s.background.brand.surface1:s.background.white,color:S?s.content.brand.brandLight:s.content.neutral.neutralStrong,"&:hover":{borderColor:S?s.border.brand.border2Strong:s.border.neutral.border2}}},e.createElement(yt,null),e.createElement(z,{variant:"bodySmMedium",component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"inherit"},title:b(f)},b(f)),f.credentialId===i&&e.createElement(R,{component:"span","data-testid":"login-otp-device-default-hint",sx:{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap"}},u("LOGIN.OTP_DEVICE_DEFAULT_HINT")))})),e.createElement(Le,{type:"button",size:"small",disabled:o||m>=T,onClick:()=>O(m+1),"aria-label":u("LOGIN.OTP_DEVICE_NEXT"),"data-testid":"login-otp-device-next",sx:N},e.createElement(Ge,{size:"sm"})))}Ne.propTypes={devices:V.arrayOf(V.shape({credentialId:V.string.isRequired,label:V.string,createdAt:V.number})).isRequired,value:V.string,onChange:V.func.isRequired,defaultCredentialId:V.string,disabled:V.bool};Ne.defaultProps={value:"",defaultCredentialId:null,disabled:!1};const Ie=6;function Ct({error:t=!1,disabled:n=!1,describedById:c,devices:i=[],defaultCredentialId:o=null,selectedCredentialId:u="",onSelectDevice:d=()=>{}}){const _=i.length>1,{t:O}=X(),{control:T}=it();return e.createElement(R,{sx:{mb:6}},!_&&e.createElement(z,{variant:"bodySmRegular",component:"div","data-testid":"login-otp-prompt",sx:{mb:8,textAlign:"center",color:s.content.neutral.neutralMedium}},O("LOGIN.OTP_PROMPT")),_&&e.createElement(Ne,{devices:i,value:u,onChange:d,defaultCredentialId:o,disabled:n}),e.createElement(lt,{name:"totp",control:T,render:({field:m})=>e.createElement(wt,{length:Ie,value:m.value??"",onChange:m.onChange,error:t,disabled:n,groupLabel:O("LOGIN.OTP"),digitLabel:(p,b)=>O("LOGIN.OTP_DIGIT_ARIA",{index:p,total:b}),describedById:c})}))}const Dt=["utm_source","utm_medium","utm_campaign"],re=t=>{Qe(t)},Ye=()=>!localStorage.getItem("utm_params")?{}:Dt.reduce((n,c)=>({...n,[c]:localStorage.getItem(c)||""}),{}),Ze=({email:t,loginMethod:n})=>{re({event:"login_success",email:t,login_method:n,path:window.location.pathname,...Ye()})},qe=({email:t,signupMethod:n})=>{De("ga",t)&&(re({event:"sign_up_success",email:t,signup_method:n,path:window.location.pathname,...Ye()}),Pe({email:t}))},ze=({userId:t,email:n,loginMethod:c,isNewSignup:i})=>{const o=t==null||t===""?{}:{ds_usr_id:`DS_${t}`},d=je(t)?{}:{identity_resolved:!1},_=et();if(i){const O=n||(t?`uid:${t}`:"");if(!De("completed",O))return;v({eventName:k.SIGN_UP_COMPLETED,eventType:G.session,tenantId:null,workspaceId:null,properties:{sign_up_method:c,email:n,..._,...d},sendImmediately:!0}),re({event:"Sign_up",...o,sign_up_method:c,..._}),Pe({identityKey:O,email:n});return}v({eventName:k.LOG_IN_COMPLETED,eventType:G.session,tenantId:null,workspaceId:null,properties:{...d},sendImmediately:!0}),re({event:"Completed_Login",...o,..._})},Xe=t=>{if(!t)return{};try{return JSON.parse(atob(t.split(".")[1]))}catch{return{}}},Re={INVALID_CREDENTIALS:"LOGIN.ERROR_INVALID_CREDENTIALS",OTP_REQUIRED:"LOGIN.OTP_PROMPT",OTP_INVALID:"LOGIN.ERROR_OTP_INVALID",OTP_DEVICE_BUSY:"LOGIN.ERROR_OTP_DEVICE_BUSY",OTP_DEVICE_SWITCH_FAILED:"LOGIN.ERROR_OTP_DEVICE_SWITCH_FAILED",ACCOUNT_NOT_READY:"LOGIN.ERROR_ACCOUNT_NOT_READY",ACCOUNT_LOCKED:"LOGIN.ERROR_ACCOUNT_LOCKED",
2EMAIL_DOMAIN_NOT_ALLOWED:"LOGIN.ERROR_EMAIL_DOMAIN_NOT_ALLOWED",DIRECT_GRANT_UNAVAILABLE:"LOGIN.ERROR_IDP_UNAVAILABLE",IDP_UNAVAILABLE:"LOGIN.ERROR_IDP_UNAVAILABLE",IDP_TIMEOUT:"LOGIN.ERROR_IDP_TIMEOUT",MISSING_EMAIL_CLAIM:"LOGIN.ERROR_IDP_UNAVAILABLE"},Z={PASSWORD:"password",OTP:"otp",OTP_DEVICE:"otp-device"},Te="login-error-text",we=t=>{if(We(t))return"LOGIN.ERROR_NETWORK";if(t.response.status===429)return"LOGIN.ERROR_TOO_MANY_ATTEMPTS";const n=t.response.data?.code;return Re[n]?Re[n]:t.response.status===400?"LOGIN.ERROR_INVALID_INPUT":"LOGIN.ERROR_UNKNOWN"},Pt=new Set(["LOGIN.ERROR_NETWORK"]);function vt({onStepChange:t=()=>{}}){const{t:n}=X(),c=L.instance.fptIdForgotPasswordUrl,[i,o]=e.useState(null),[u,d]=e.useState(!1),[_,O]=e.useState(null),[T,m]=e.useState(Z.PASSWORD),p=T===Z.OTP,[b,N]=e.useState([]),[f,S]=e.useState(null),[C,w]=e.useState(""),h=e.useMemo(()=>xe().shape({email:ee().trim().required(n("LOGIN.EMAIL_REQUIRED")).max(ce.EMAIL_MAX_LENGTH,n("LOGIN.EMAIL_TOO_LONG")).matches(ce.EMAIL_PATTERN,n("LOGIN.EMAIL_INVALID")),password:ee().required(n("LOGIN.PASSWORD_REQUIRED")),totp:p?ee().trim().required(n("LOGIN.OTP_REQUIRED_ERROR")).matches(new RegExp(`^\\d{${Ie}}$`),n("LOGIN.OTP_INVALID_FORMAT")):ee()}),[n,p]),g=Me({resolver:Ue(h),mode:"onSubmit",defaultValues:{email:"",password:"",totp:""}}),D=g.watch("totp")??"",W=p&&D.length!==Ie,{maskedAutofill:r,syncNow:a}=pt(g,["email","password"]),E=!p&&!r&&(!(g.watch("email")??"").trim()||!(g.watch("password")??"")),K=e.useMemo(()=>new Oe({queryClient:null}),[]),{mutateAsync:F,isLoading:$}=oe(K.loginByPasswordMutation()),{mutateAsync:se,isLoading:ie}=oe(K.resendVerificationMutation()),le=async()=>{v({eventName:k.SIGNUP_VERIFY_RESENT,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{source:"login"}});try{await se({email:g.getValues("email").trim().toLowerCase()}),O("SIGNUP.RESEND_DONE"),d(!1)}catch(A){o(de(We(A)?"LOGIN.ERROR_NETWORK":A.response.status===429?"LOGIN.ERROR_TOO_MANY_ATTEMPTS":"SIGNUP.RESEND_FAILED"))}},l=()=>{m(Z.PASSWORD),g.setValue("totp",""),o(null),d(!1),O(null),w(""),N([]),S(null)};e.useEffect(()=>{if(!p){t(null);return}t(b.length>1?Z.OTP_DEVICE:Z.OTP)},[p,b.length,t]);const I=A=>{A!==C&&(w(A),g.setValue("totp",""),o(null))},x=async A=>{o(null),d(!1),O(null),v({eventName:k.LOGIN_EMAIL_PASSWORD_SUBMITTED,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{}});try{const B=String(A.totp||"").trim(),y=await F({email:A.email.trim().toLowerCase(),password:ce.StringHelpers.convertToBase64(A.password),...B?{totp:B}:{},...C?{credentialId:C}:{}}),P=y?.data?.data?.accessToken;if(!P){o("LOGIN.ERROR_UNKNOWN");return}pe(P);const M=A.email.trim().toLowerCase(),U=!!y?.data?.data?.isNewSignup;Ze({email:M,loginMethod:"email_password"}),U&&qe({email:M,signupMethod:"email_password"});const{userId:J}=Xe(P);ze({userId:J,email:M,loginMethod:"email_password",isNewSignup:U}),ve()}catch(B){const y=B?.response?.data?.code;if(d(y==="ACCOUNT_NOT_READY"),p&&y==="INVALID_CREDENTIALS"){l(),o("LOGIN.ERROR_PASSWORD_OR_OTP");return}if(y==="OTP_REQUIRED"||y==="OTP_INVALID"){m(Z.OTP);const P=B?.response?.data?.otpDevices,M=P?.items??[];N(M),S(P?.defaultCredentialId??null),w(U=>M.length<=1?"":M.some(H=>H.credentialId===U)?U:P?.defaultCredentialId??""),g.setValue("totp",""),o(y==="OTP_INVALID"?de(we(B)):null);return}
2o(de(we(B)))}};return e.createElement(Ve,{...gt(g)},e.createElement(R,{component:"form",noValidate:!0,onSubmit:A=>(a(),g.handleSubmit(x)(A)),sx:{display:"flex",flexDirection:"column",gap:4}},p?e.createElement(Ct,{error:!!i&&!Pt.has(i),disabled:$,describedById:i?Te:void 0,devices:b,defaultCredentialId:f,selectedCredentialId:C,onSelectDevice:I}):e.createElement(e.Fragment,null,e.createElement(Be,{fullWidth:!0,name:"email",type:"email",label:n("LOGIN.EMAIL"),placeholder:n("LOGIN.EMAIL_PLACEHOLDER"),autoComplete:"username",autoFocus:!0,inputProps:{"data-testid":"login-email"}}),e.createElement(Et,{name:"password",label:n("LOGIN.PASSWORD"),placeholder:n("LOGIN.PASSWORD_PLACEHOLDER"),autoComplete:"current-password",testId:"login-password"}),c&&e.createElement(Ee,{href:c,target:"_blank",rel:"noreferrer","data-testid":"forgot-password-link",sx:{alignSelf:"flex-end",mt:-2,fontSize:"14px",fontWeight:500,color:s.content.brand.brandLight,"&:hover":{color:s.content.brand.brandMedium},textDecoration:"none"}},n("LOGIN.FORGOT_PASSWORD"))),i&&e.createElement(ge,{id:Te,error:!0,role:"alert","data-testid":"login-error",sx:{m:0}},n(i)),u&&e.createElement(Ee,{component:"button",type:"button",disabled:ie,onClick:le,"data-testid":"login-resend-verification",sx:{alignSelf:"flex-start",fontSize:"14px",fontWeight:500,color:s.content.brand.brandLight,"&:hover":{color:s.content.brand.brandMedium},textDecoration:"none"}},n("LOGIN.RESEND_VERIFICATION")),_&&e.createElement(ge,{"data-testid":"login-resend-notice",sx:{m:0}},n(_)),e.createElement(te,{type:"submit",variant:"primary",fullWidth:!0,loading:$,disabled:W||E,"data-testid":"login-submit"},n("LOGIN.LOG_IN")),p&&e.createElement(te,{type:"button",variant:"text",fullWidth:!0,onClick:l,startIcon:e.createElement(Lt,{size:"xs"}),"data-testid":"login-otp-back",sx:{color:s.content.neutral.neutralStrong,"&:hover":{backgroundColor:s.background.neutral.surface1}}},n("LOGIN.BACK"))))}const me=()=>dt(()=>import("./SignUpPage-DnOBWIKK.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]));function Gt(){const{t}=X(),n=ct(),{fptIdSignupUrl:c,registrationEnabled:i}=L.instance,o=i===!0||!c;e.useEffect(()=>{o&&me()},[o]);const u=d=>{v({eventName:k.LOGIN_SIGN_UP_CLICKED,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{target:o?"internal":"fptid"}}),o&&(d.preventDefault(),q.startTransition(()=>n.push({pathname:Se,search:he()})))};return e.createElement(z,{"data-testid":"sign-up-link",variant:"bodySmRegular",component:"div",sx:{mt:3,textAlign:"center",color:s.content.neutral.neutralMedium}},t("LOGIN.NO_ACCOUNT")," ",e.createElement(Ee,{href:o?`${Se}${he()}`:c,target:o?void 0:"_blank",rel:o?void 0:"noreferrer",onClick:u,onMouseEnter:o?me:void 0,onFocus:o?me:void 0,sx:{color:s.content.brand.brandLight,"&:hover":{color:s.content.brand.brandMedium},fontWeight:500,textDecoration:"none"}},t("LOGIN.SIGN_UP")))}const kt={google:k.LOGIN_GOOGLE_ACCOUNT_CLICKED},j={PERSONAL:"personal",ORGANIZATION:"organization"},ye={my:5,color:s.content.neutral.neutralMedium};function tn(){const{t}=X(),n=ke(),c=L.instance.domainUrl,i=new URL(c),[o,u]=e.useState(j.PERSONAL),[d,_]=e.useState(null),[O,T]=e.useState(null),[m]=e.useState(()=>new URLSearchParams(window.location.search).get("verified")==="1");It();const p=new URLSearchParams(window.location.search),b=tt.some(l=>p.has(l)),N=()=>{u(j.ORGANIZATION),localStorage.removeItem("defaultTenantId"),localStorage.removeItem("defaultWorkspaceId"),v({eventName:k.LOGIN_ORGANIZATION_TAB_CLICKED,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{}})},f=()=>u(j.PERSONAL);q.useEffect(()=>{if(!m)return;const l=new URL(window.location.href);l.searchParams.delete("verified"),window.history.replaceState({},"",`${l.pathname}${l.search}`)},[m]),q.useEffect(()=>{if(window.localStorage.removeItem("impersonate"),window.localStorage.removeItem("impersonate-endTime"),!window.location.search)return;const{hostname:l,search:I}=window.location,x=I.substring(1);if(b)return;const A=ut.parse(x);(async()=>{let y=Ae();if(A.accessToken)pe(A.accessToken),y=A.accessToken,window.history.replaceState({},"",`${window.location.pathname}${window.location.hash||""}`);else{await nt();const H=Ae();H&&(pe(H),y=H)}const{email:P="",userId:M}=Xe(y),{loginMethod:U}=A,J=A.newSignup==="1";if(Ze({email:P,loginMethod:U}),J&&qe({email:P,signupMethod:U}),ze({userId:M,email:P,loginMethod:U,isNewSignup:J}),l!==i.hostname){const H=l.split(L.instance.domainSubSignal);localStorage.setItem("org",H[0]);const fe=bt({domainUrl:L.instance.domainUrl,domainSubSignal:L.instance.domainSubSignal});fe&&He(fe)}ve()})()},[]),q.useEffect(()=>{T(ae())},[]);const S=()=>{v({eventName:k.LOGIN_FPTID_CLICKED,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{},sendImmediately:!0});const l=`${L.instance.webApiUrl}/api/v1/login-by-fptid`;window.open(l,"_self")},C=()=>{v({eventName:k.LOGIN_MICROSOFT_CLICKED,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{},sendImmediately:!0});const l=`${L.instance.webApiUrl}/api/v1/login-by-microsoft`;window.open(l,"_self")},w=l=>{const I=kt[l];v({eventName:I,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{},sendImmediately:!0});const x=`${L.instance.webApiUrl}/api/v1/login-by-social?socialChanel=${l}`;window.open(x,"_self")},h=e.useMemo(()=>Ot(),[]),g=h.includes(Y.ORG),D=g&&!ne(O),W=h.includes(Y.GOOGLE),r=h.includes(Y.PASSWORD),a=e.useMemo(()=>h.filter(l=>[Y.FPTID,Y.MICROSOFT].includes(l)),[h]),E={[Y.FPTID]:{icon:e.createElement(R,{component:"img",src:ht,alt:"",sx:{width:18,height:18}}),labelKey:"LOGIN.CONTINUE_WITH_FPTID",labelFallback:"Continue with FPT ID",onClick:S},[Y.MICROSOFT]:{icon:e.createElement(Tt,{size:18}),labelKey:"LOGIN.CONTINUE_WITH_MICROSOFT",labelFallback:"Continue with Microsoft",onClick:C}},K=W||g||a.length>0,F=l=>g?(O||[]).slice(0,l).map(I=>
2e.createElement(R,{key:I.orgName,className:"card_button",onClick:()=>ie(I.orgName),sx:{"& .del_ic":{opacity:0,transition:"opacity .15s"},"&:hover .del_ic":{opacity:.5},"&:hover .org-chevron":{display:"none"}}},e.createElement("div",{className:`ic ${I.orgName.includes("fpt")?"fpt":"nonFpt"}`},!I.orgName.includes("fpt")&&I.orgName[0]),e.createElement(Q,{direction:"column"},e.createElement("div",{className:"orgName"},I.orgName),e.createElement("div",{className:"orgDomain"},I.orgUrl)),e.createElement(Q,{direction:"row",alignItems:"center",sx:{marginLeft:"auto"}},e.createElement(Ge,{className:"org-chevron",size:"sm",sx:{color:s.content.neutral.neutralLight}}),e.createElement(R,{className:"del_ic",title:t("LOGIN.REMOVE_SAVED_ORG"),sx:{position:"absolute",right:"16px"},onClick:x=>{x.stopPropagation(),le(I.orgName)}})))):[],$=new Oe({queryClient:n}),{mutateAsync:se}=oe($.checkOrgBySplugMutation()),ie=l=>{v({eventName:k.LOGIN_ORGANIZATION_SSO_CLICKED,eventType:G["click-button"],tenantId:null,workspaceId:null,properties:{slug:l,source:"saved-org"},sendImmediately:!0}),Fe(se({slug:l})).then(()=>{const I=`${L.instance.webApiUrl}/api/v1/login-by-org?tenantName=${l}`,x=new URL(L.instance.domainUrl);window.location.replace(`${x.protocol}//${l}${L.instance.domainSubSignal}${x.host}/login`),window.open(I,"_self")})},le=l=>{T(_t(l))};return e.createElement(Nt,{title:t(d==="otp-device"?"LOGIN.OTP_DEVICE_TITLE":d?"LOGIN.OTP_TITLE":"LOGIN.PAGE_TITLE"),testId:"login-card"},o===j.PERSONAL&&e.createElement(e.Fragment,null,!d&&D&&e.createElement(z,{variant:"bodySmRegular",component:"div","data-testid":"login-last-login-label",sx:{mb:2,color:s.content.neutral.neutralLight}},t("LOGIN.LAST_LOGIN")),!d&&F(1),!d&&K&&e.createElement(Q,{direction:"column",sx:{gap:3}},(W||g)&&e.createElement(Q,{direction:"row",sx:{gap:3}},W&&e.createElement(ue,{testId:"login-google",onClick:()=>w("google"),label:t("LOGIN.CONTINUE_WITH_GOOGLE"),icon:e.createElement(R,{component:"img",src:ft,alt:"",sx:{width:18,height:18}})}),g&&e.createElement(ue,{testId:"login-org-sso",onClick:N,label:t("LOGIN.CONTINUE_WITH_ORG_SSO"),icon:e.createElement(at,{size:"sm",sx:{color:s.content.neutral.neutralMedium}})})),a.map(l=>{const I=E[l];return I?e.createElement(Q,{key:l,direction:"row"},e.createElement(ue,{testId:`login-${l}`,onClick:I.onClick,label:t(I.labelKey,I.labelFallback),icon:I.icon})):null})),!d&&r&&e.createElement(_e,{sx:ye},t("LOGIN.OR")),!d&&m&&e.createElement(ot,{severity:"success","data-testid":"email-verified-notice",sx:{mb:4,borderRadius:Ce.medium}},t("LOGIN.EMAIL_VERIFIED")),r&&e.createElement(vt,{onStepChange:_}),!d&&e.createElement(Gt,null)),o===j.ORGANIZATION&&e.createElement(e.Fragment,null,F(3),!ne(O)&&e.createElement(_e,{sx:ye},t("LOGIN.OR")),e.createElement(Rt,{changeLoginMethod:f,showBackButton:!0})))}export{tn as default};

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.