@zeniai/web-app-ui 5.1.65-qa → 5.1.66-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AddressRoutes-DEXYkqV1.js +1 -0
- package/dist/assets/{AddressScreen-C462o9IS.js → AddressScreen-D8kv1hF_.js} +2 -2
- package/dist/assets/AiCfoScreen-BrNLceCE.js +22 -0
- package/dist/assets/BillPayApprovalRoutes-CvKgF8Ok.js +1 -0
- package/dist/assets/BillPayRoutes-DYswIHAT.js +119 -0
- package/dist/assets/BusinessVerificationPageScreen-YVk91Fzz.js +9 -0
- package/dist/assets/CardsAiCfoScreen-BO5V838O.js +14 -0
- package/dist/assets/ChargeCardRoutes-BZOF502-.js +71 -0
- package/dist/assets/CompanyPassportScreen-CPKfXmmb.js +1 -0
- package/dist/assets/ConnectionAuthScreen-Cv-HiaYb.js +11 -0
- package/dist/assets/CustomerOnboardingAuthScreen-DdX8BaLn.js +1 -0
- package/dist/assets/CustomerOnboardingRoutes-CKdlHWlk.js +30 -0
- package/dist/assets/{DashboardRoutes-CdLho0oB.js → DashboardRoutes-CopaUmWi.js} +4 -4
- package/dist/assets/DefaultTenantHome-eT4t7R06.js +1 -0
- package/dist/assets/DomesticWireDetailScreen-Cbmuyang.js +18 -0
- package/dist/assets/DrawerScreen-CCxq1yzF.js +1 -0
- package/dist/assets/EntityDetailRoutes-DK7l7FnA.js +1 -0
- package/dist/assets/ExpenseAutomationRoutes-C3RWrFV-.js +25 -0
- package/dist/assets/FeaturePreviewScreen-BuXd4W0P.js +1 -0
- package/dist/assets/HubSpotOAuthCallbackScreen-D1enkInm.js +1 -0
- package/dist/assets/MagicLinkRoutes-BSRFSffK.js +72 -0
- package/dist/assets/MagicLinkSignInScreen-BSh1nXKM.js +12 -0
- package/dist/assets/{MobileAppDrawer-BB6nxZVq.js → MobileAppDrawer-BIP1MEKX.js} +1 -1
- package/dist/assets/NotFoundScreen-DY1Wwus4.js +1 -0
- package/dist/assets/NotificationRoutes-6rN7RQjW.js +1 -0
- package/dist/assets/OAuthConsentScreen-BqL6PD1E.js +1 -0
- package/dist/assets/PandLWithForecastRoutes-AcF3aqCk.js +1 -0
- package/dist/assets/PeopleRoutes-DPUTbQp_.js +22 -0
- package/dist/assets/PerformanceRoutes-Cn4Ovnir.js +1 -0
- package/dist/assets/{Preview-BcvozuOU.js → Preview-DDPGc7EO.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-CoBJUifN.js → QBOConnectionScreen-BEQPddK1.js} +1 -1
- package/dist/assets/ReferralListScreen-CQycV-0F.js +5 -0
- package/dist/assets/ReimbursementApprovalRoutes-Ch3sYOOh.js +1 -0
- package/dist/assets/ReimbursementApprovalRuleDetailScreen-BJZRYRum.js +1 -0
- package/dist/assets/ReimbursementRoutes-CgQPRNMh.js +68 -0
- package/dist/assets/ReportsRoutes-CQztdl9E.js +1 -0
- package/dist/assets/RewardsRoutes-B0jOOo8W.js +1 -0
- package/dist/assets/ScreenRoutes-D7kpFxVk.js +2 -0
- package/dist/assets/SettingsRoutes-CdvEgvyN.js +57 -0
- package/dist/assets/SetupPagesScreen-Dh6d6vu-.js +29 -0
- package/dist/assets/SignInScreen-FuVo71JP.js +1 -0
- package/dist/assets/SignOutScreen-DJh4f2Aj.js +9 -0
- package/dist/assets/TaskListScreen-CnT3FhwB.js +9 -0
- package/dist/assets/TaskRoutes-BlDolQ3c.js +9 -0
- package/dist/assets/TransactionDetailRoutes-C2XNyTUH.js +1 -0
- package/dist/assets/TransactionDetailScreen-Ch_kEoMB.js +5 -0
- package/dist/assets/TransactionListRoutes-CAZZrQj-.js +1 -0
- package/dist/assets/TreasuryRoutes-BQCtQUx_.js +37 -0
- package/dist/assets/{VendorsRoutes-DUhDEUNQ.js → VendorsRoutes-BGB3F2EZ.js} +27 -27
- package/dist/assets/WiseConfirmationScreen-BSryCvdh.js +12 -0
- package/dist/assets/ZeniAccountRoutes-D-szpn5h.js +73 -0
- package/dist/assets/ZeniAccountStatementScreen-BORtLhU4.js +9 -0
- package/dist/assets/{accountMappingHelper-DcHRTvHW.js → accountMappingHelper-SrHoNEDL.js} +1 -1
- package/dist/assets/{analytics-C--DBRuq.js → analytics-CkLW7NeW.js} +1 -1
- package/dist/assets/{analyticsHelper-BYU7ljxB.js → analyticsHelper-BsiU5y2K.js} +1 -1
- package/dist/assets/{core-yFUZRhgi.js → core-Crl6eqZl.js} +2 -2
- package/dist/assets/{decodeURIComponentSafe-DJGiVKY3.js → decodeURIComponentSafe-DwYiSzjo.js} +1 -1
- package/dist/assets/dnd-tE28jHT7.js +6 -0
- package/dist/assets/{empty-DWXN0zXu.js → empty-BpRPQOis.js} +1 -1
- package/dist/assets/{index-BjC87z-8.js → empty-C7ggsb2s.js} +1 -1
- package/dist/assets/{emptyVideoElement-W528gJEP.js → emptyVideoElement-BvjVfzOS.js} +1 -1
- package/dist/assets/epic-Qgvh4PH7.js +2 -0
- package/dist/assets/getLocaleForTenant-DiFaMSxg.js +1 -0
- package/dist/assets/{index-BN3A7Q7k.js → index-B5it1rE5.js} +1 -1
- package/dist/assets/{index-R6GjjTB3.css → index-BUmr5maU.css} +1 -1
- package/dist/assets/index-BdlPaglK.js +1 -0
- package/dist/assets/{index-Tz5qKzzr.js → index-Bs_5Wou0.js} +2 -2
- package/dist/assets/{index-BiOCnxUr.js → index-CJknvk0s.js} +33673 -28214
- package/dist/assets/index-CZNTdKXM.js +1 -0
- package/dist/assets/{index-_WROnW1b.js → index-Cg0vsa8G.js} +1 -1
- package/dist/assets/{index-D6SI2XXD.js → index-D5ItYKRr.js} +1 -1
- package/dist/assets/{index-Biw-dXZD.js → index-Dvok4kj_.js} +1 -1
- package/dist/assets/{lexical-a5QW-f2c.js → lexical-Bm_vZOjC.js} +1 -1
- package/dist/assets/{liveblocks-DQxWCA7d.js → liveblocks-B5ZW-VBI.js} +1 -1
- package/dist/assets/{lottie-CUC8jYi2.js → lottie-hSeCd_VX.js} +1 -1
- package/dist/assets/{mui-ChC8whdU.js → mui-U77PQnc2.js} +1 -1
- package/dist/assets/{pathToGoBack-48OEEFN8.js → pathToGoBack-BWWNiH76.js} +1 -1
- package/dist/assets/{pdf-BzsAlPE_.js → pdf-DDcPh2pm.js} +4 -4
- package/dist/assets/{pdf-lib-Bunmyp1f.js → pdf-lib-ImawEH2S.js} +1 -1
- package/dist/assets/{plaid-G4AU8x-v.js → plaid-TCRHScH1.js} +1 -1
- package/dist/assets/{pusher-C00F4DWB.js → pusher-CimMrDFu.js} +1 -1
- package/dist/assets/{react-C6PubH1a.js → react-BUcjX1FU.js} +1 -1
- package/dist/assets/{react-gwfdXk9P.js → react-BghKQeK_.js} +1 -1
- package/dist/assets/{react-B-EV2fAl.js → react-DdRuig8o.js} +1 -1
- package/dist/assets/{react-B_Y4cViF.js → react-DyFf3w8Z.js} +1 -1
- package/dist/assets/{react-7oSJc21D.js → react-DzBjlQkv.js} +1 -1
- package/dist/assets/{react-y_zdXwGN.js → react-z5kfbX38.js} +1 -1
- package/dist/assets/{recharts-BPALCGe7.js → recharts-e5u-LCPv.js} +3 -3
- package/dist/assets/{routePaths-CpYaPUdg.js → routePaths-jWP9zfXs.js} +1 -1
- package/dist/assets/{sentry-yFsVWhao.js → sentry-BxWyF9h9.js} +1 -1
- package/dist/assets/{url-DdmozPE3.js → url-DTS3WRFG.js} +1 -1
- package/dist/assets/{url-CItc7ZnZ.js → url-jBDeguac.js} +1 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-CgykUI65.js +1 -0
- package/dist/assets/useAskAiCfoHostNavButtonProps-BAtYgUWq.js +1 -0
- package/dist/assets/useCashManagementBanner-CRbG3Xtj.js +1 -0
- package/dist/assets/useChargeCardPusherEvents-Dq1SGHUY.js +1 -0
- package/dist/assets/{useDeviceId-BY2vlOSe.js → useDeviceId-BZa5m-bZ.js} +1 -1
- package/dist/assets/useEmailConnectResultRefresh-CiGW-Jar.js +1 -0
- package/dist/assets/useInitialThreadRequest-DZr1J4rc.js +1 -0
- package/dist/assets/{utils-CaIGWeOv.js → utils-BjvWDnmB.js} +2 -2
- package/dist/assets/withTransactionSidePanel-DKnep6Xn.js +21 -0
- package/dist/assets/zeni-epic-state-DTyrT1Ga.js +13 -0
- package/dist/index.html +1 -1
- package/package.json +4 -4
- package/dist/assets/AddressRoutes-B8Ckgpa3.js +0 -1
- package/dist/assets/AiCfoScreen-jf_vh6RV.js +0 -22
- package/dist/assets/BillPayApprovalRoutes-Dv07YBai.js +0 -1
- package/dist/assets/BillPayRoutes-BfH1dGV8.js +0 -119
- package/dist/assets/BusinessVerificationPageScreen-NFhMF-eZ.js +0 -9
- package/dist/assets/ChargeCardRoutes-CmSQC_Lv.js +0 -71
- package/dist/assets/CompanyPassportScreen-BTh0h3W9.js +0 -1
- package/dist/assets/ConnectionAuthScreen-DbUrzBEF.js +0 -11
- package/dist/assets/CustomerOnboardingAuthScreen-DSwHpsbC.js +0 -1
- package/dist/assets/CustomerOnboardingRoutes-D6x8LO5z.js +0 -23
- package/dist/assets/DefaultTenantHome-Cvz__eKe.js +0 -1
- package/dist/assets/DomesticWireDetailScreen-Fo4R4YRQ.js +0 -18
- package/dist/assets/DrawerScreen-DHL_W742.js +0 -1
- package/dist/assets/EntityDetailRoutes-OYUKZsw7.js +0 -1
- package/dist/assets/ExpenseAutomationRoutes-BSNLpHm-.js +0 -25
- package/dist/assets/FeaturePreviewScreen-CEy-pIWu.js +0 -1
- package/dist/assets/HubSpotOAuthCallbackScreen-DYNBQ5WX.js +0 -1
- package/dist/assets/MagicLinkRoutes-AN0N6Bbm.js +0 -72
- package/dist/assets/MagicLinkSignInScreen-CABl7ivE.js +0 -12
- package/dist/assets/NotFoundScreen-DxqYM2wk.js +0 -1
- package/dist/assets/NotificationRoutes-CcsjMt50.js +0 -1
- package/dist/assets/OAuthConsentScreen-DuYRDMYr.js +0 -1
- package/dist/assets/PandLWithForecastRoutes-D-lH2ScL.js +0 -1
- package/dist/assets/PeopleRoutes-D8H5LhLo.js +0 -22
- package/dist/assets/PerformanceRoutes-CrUlvbe8.js +0 -1
- package/dist/assets/ReferralListScreen-CAddpyLT.js +0 -5
- package/dist/assets/ReimbursementApprovalRoutes-OLrHIpq5.js +0 -1
- package/dist/assets/ReimbursementApprovalRuleDetailScreen-DrKUThOY.js +0 -1
- package/dist/assets/ReimbursementRoutes-CC_SGbNZ.js +0 -68
- package/dist/assets/ReportsRoutes-BWCj8bTz.js +0 -1
- package/dist/assets/RewardsRoutes-DtcaGdke.js +0 -1
- package/dist/assets/ScreenRoutes-JqGTg3y4.js +0 -2
- package/dist/assets/SettingsRoutes-BTveFGVQ.js +0 -57
- package/dist/assets/SetupPagesScreen-3YiJuF5G.js +0 -29
- package/dist/assets/SignInScreen-BWGG1xLU.js +0 -1
- package/dist/assets/SignOutScreen-DnGtoVfY.js +0 -9
- package/dist/assets/TaskListScreen-Nj-zc58y.js +0 -9
- package/dist/assets/TaskRoutes-B_U8Y-wv.js +0 -9
- package/dist/assets/TransactionDetailRoutes-DTXuYQuX.js +0 -1
- package/dist/assets/TransactionDetailScreen-BN5X1_PJ.js +0 -5
- package/dist/assets/TransactionListRoutes-CKJb2lcU.js +0 -1
- package/dist/assets/TreasuryRoutes-DvRWBU40.js +0 -37
- package/dist/assets/WiseConfirmationScreen-Db88Xwe3.js +0 -12
- package/dist/assets/ZeniAccountRoutes-D1NhLIdB.js +0 -57
- package/dist/assets/ZeniAccountStatementScreen-CszrCwc6.js +0 -9
- package/dist/assets/dnd-BsfjgQaS.js +0 -6
- package/dist/assets/empty-36OhCPgu.js +0 -1
- package/dist/assets/epic-CIRzUJFx.js +0 -2
- package/dist/assets/getLocaleForTenant-BhAx8guK.js +0 -1
- package/dist/assets/index-D8lrtix7.js +0 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-ouZaiHV2.js +0 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-BsQuCyy5.js +0 -1
- package/dist/assets/useInitialThreadRequest-CTq6SdMM.js +0 -1
- package/dist/assets/withTransactionSidePanel-CNVv5_p9.js +0 -21
- package/dist/assets/zeni-epic-state-Co_KJ39L.js +0 -13
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import{j as c}from"./liveblocks-B5ZW-VBI.js";import{u as ue,j as i,h as de,g as pe,i as Me,N as ba,s as At,n as De,t as kn,o as es,p as se}from"./core-Crl6eqZl.js";import{f7 as Dt,RS as as,fj as _t,bt as Pe,RT as ts,RU as ns,eY as mn,RV as En,f5 as An,RW as Dn,RX as _n,RY as Pn,RZ as wn,f6 as vn,fi as Tn,R_ as Fn,R$ as rs,fc as ss,fb as cs,S0 as os,C1 as xn,fl as ca,S1 as is,S2 as ds,e_ as ls,eZ as us,fy as ze,fe as Bn,fd as Rn,S3 as ms,ff as Cs,By as ps,Bx as hs,BB as fs,BD as gs,fr as Ss,eV as Ln,S4 as bs,S5 as ys,fw as Un,S6 as Is,fx as St,BJ as ks,BG as Es,eW as fe,S7 as qa,fB as we,fC as ve,fD as Te,gw as oa,cv as ia,S8 as da,S9 as Pt,uQ as $a,kF as za,Sa as Wa,Ch as ka,fm as Qe,Cj as wt,kv as On,Sb as la,C5 as _a,Sc as As,Sd as Ds,C8 as Qa,Se as _s,Qd as Ja,fh as jn,Ce as ga,hV as Ps,Sf as Mn,f8 as ua,bo as ws,Sg as vs,gh as Xa,gg as et,CN as Ts,gf as at,PV as Fs,Sh as Nn,co as Vn,cQ as xs,Qc as wa,Dm as Hn,Si as Cn,CY as Pa,Sj as Gn,Dn as Bs,QC as Rs,Do as Ls,Et as Us,ub as Os,En as js,Sk as Ms,Ci as ra,Sl as Ns,Sm as Vs,Sn as Hs,So as Gs,Sp as $s,Sq as vt,Sr as zs,Cy as $n,Cr as Ws,Ss as Ys,gy as Zs,CH as zn,CL as Wn,gx as Ks,St as qs,D8 as Yn,Su as Qs,Sv as Js,Sw as Xs,CJ as Zn,Cu as Kn,Cb as qn,CD as Qn,CB as Jn,CF as ec,Sx as Xn,Sy as ac,ft as tc,fu as nc,fv as rc,Sz as tt,fn as er,cR as Tt,SA as sc,SB as cc,SC as oc,SD as ic,CT as bt,Df as dc,Db as lc,CP as uc,Dd as mc,D3 as Cc,D5 as pc,SE as ar,Dl as Ga,Kc as hc,SF as fc,SG as gc,SH as Sc,SI as tr,SJ as bc,DI as yc,CX as nr,CS as je,CW as Ic,SK as kc,SL as Ec,C2 as Ac,SM as rr,fg as sr,SN as Dc,C4 as _c,C3 as pn,SO as Pc,SP as wc,SQ as vc,MJ as Tc,SR as Ft,SS as Fc,xQ as cr,ld as xc,hL as Bc,DN as Rc,ST as or,f2 as Lc,f3 as Uc,SU as Oc,di as jc,fk as Mc,DD as Nc,Dx as qe,bs as Vc,bJ as Hc,cA as Gc,bK as $c,LW as zc}from"./zeni-epic-state-DTyrT1Ga.js";import{I as Fe,cp as ir,r as _e,cq as dr,cr as lr,cs as Wc,F as Xe,Z as xt,ct as Yc,cu as Zc,U as ur,a as mr,Y as Cr,s as ye,W as le,Q as Y,aq as ya,cv as pr,cw as Kc,cx as qc,z as ne,B as va,ce as nt,cy as Qc,cz as Jc,cA as Xc,j as Ta,aQ as We,br as Bt,cB as eo,x as Fa,f as rt,m as Rt,c as J,a7 as st,cC as ao,bE as Sa,cD as yt,cE as to,V as Lt,cF as no,at as hr,a2 as It,cG as ro,X as fr,e as gr,cH as so,cI as co,cJ as oo,cK as io,cL as lo,cM as uo,o as Ya,cN as mo,cO as Co,cP as Ct,$ as po,cQ as ho,cR as fo,cS as go,cT as So,cU as bo,a9 as yo}from"./index-CJknvk0s.js";import{n as Ne,D as Sr,S as Io}from"./mui-U77PQnc2.js";import{a as r}from"./sentry-BxWyF9h9.js";import{u as xa}from"./useAskAiCfoHostNavButtonProps-BAtYgUWq.js";import{M as Ie}from"./MobileAppDrawer-BIP1MEKX.js";import{d as Ut}from"./recharts-e5u-LCPv.js";import{g as Ae,a as Ba,b as br,c as xe,d as Be,e as Je,f as ea,h as aa,A as ko,i as Ot,P as Eo,j as jt,s as Ia,k as yr,l as sa,m as Ir,n as Ao,o as kr,p as Do,S as hn}from"./SetupPagesScreen-Dh6d6vu-.js";import{u as Er}from"./useInitialThreadRequest-DZr1J4rc.js";import ct from"./NotFoundScreen-DY1Wwus4.js";import{u as Mt}from"./useChargeCardPusherEvents-Dq1SGHUY.js";import{n as fn}from"./utils-BjvWDnmB.js";import{t as _o}from"./AddressScreen-D8kv1hF_.js";import"./analytics-CkLW7NeW.js";import"./plaid-TCRHScH1.js";import"./dnd-tE28jHT7.js";import"./stripe-DMRn4zHo.js";import"./lottie-hSeCd_VX.js";import"./lexical-Bm_vZOjC.js";import"./pdf-DDcPh2pm.js";import"./analyticsHelper-BsiU5y2K.js";import"./routePaths-jWP9zfXs.js";import"./BusinessVerificationPageScreen-YVk91Fzz.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2b780a0b-d665-484d-ad3e-a563a1c002d4",e._sentryDebugIdIdentifier="sentry-dbid-2b780a0b-d665-484d-ad3e-a563a1c002d4")}catch{}})();const Po=e=>{const n=e.cardHolderUser,t=`${n.firstName??""} ${n.lastName??""}`.trim()||n.email||n.userId;return{userId:n.userId,displayName:t,roleLabel:e.cardHolderRoles?.titleAtCompany}},Ar=e=>({id:e.id,isChecked:!1,cardName:e.cardName,last4:e.accountLast4,limitAmount:e.limit?.amount??0,limitCadence:e.creditLimitFrequency?.code,owner:Po(e),utilizationAmount:(e.limit?.amount??0)-(e.available?.amount??0)});function Dr(){const e=ue(),n=i(a=>Dt(a.cardPolicyState)),t=i(a=>as(a.cardPolicyState));r.useEffect(()=>{t!==""||n==="Completed"&&t===""||n==="In-Progress"||e(_t())},[e,n,t])}const{spendManagement:{chargeCard:{cardPolicyPage:gn}}}=Xe.getLocalizedStrings(),wo=e=>Bn(e,!1),vo=e=>Rn(e.name,!1);function To(){const e=de(),n=pe(),{tenantEmailDomain:t}=Me(),a=ue(),s=Fe(),y=Pe(s?.loggedInUserRoleMap),[g,S]=r.useState(!1),_=r.useCallback(A=>{S(A)},[]),u=r.useCallback(()=>{_(!0)},[_]),{isAiCfoAccessEnabled:C,onAskAiCfoClick:B}=xa({mobileExploreReferrer:"Card Policy"});r.useEffect(()=>()=>{a(ts()),a(ns()),a(mn())},[a]);const w=i(A=>En(A.cardPolicyState)),m=i(A=>An(A.cardPolicyState)),j=i(A=>Dn(A.cardPolicyState)),F=i(A=>_n(A.cardPolicyState)),x=i(A=>Pn(A.cardPolicyState)),h=i(A=>wn(A.cardPolicyState)),f=i(A=>vn(A.cardPolicyState)),v=i(A=>Dt(A.cardPolicyState)),l=i(A=>A.chargeCardConfigState.receiptRequiredAboveAmount.amount),T=i(A=>A.chargeCardConfigState.fetchState);r.useEffect(()=>{w!=="Completed"&&w!=="In-Progress"&&a(Tn())},[a,w]),Dr();const b=i(A=>Fn(A.createCardPolicyState)),O=i(A=>rs(A.createCardPolicyState)),D=i(A=>ss(A.cardPolicyState)),k=i(A=>cs(A.cardPolicyState)),R=i(A=>os(A.createCardPolicyState)),d=i(A=>xn(A));r.useEffect(()=>{d.fetchState==="Not-Started"&&a(ca(!1,!1,!1))},[d.fetchState,a]);const p=r.useMemo(()=>m.map(wo),[m]),M=r.useMemo(()=>f.map(vo),[f]),V=r.useMemo(()=>d.cards.filter(A=>!ir(A.status.code)).map(Ar),[d.cards]),U=w==="Completed"&&d.fetchState==="Completed"&&T==="Completed";r.useEffect(()=>{U&&R==null&&a(is({cardsMasterList:V,defaultRequireReceiptAmount:l,suggestedAllowMerchants:j,suggestedBlockMerchants:F,suggestedAllowCategories:x,suggestedBlockCategories:h}))},[T,a,U,R,V,l,j,F,x,h]);const L=r.useMemo(()=>Ut(A=>{a(_t(A))},250),[a]);r.useEffect(()=>()=>{L.cancel()},[L]);const z=r.useCallback(A=>{L(A)},[L]),H=b.fetchState,I=t!=null?`/${t}/cards/policy`:"..",P=r.useCallback(()=>{const A=_e(n.state?.pathnameStackToGoBack),K=A.poppedPathname??I;e(K,{state:{pathnameStackToGoBack:A.newStack}})},[n.state,e,I]),W=r.useCallback(()=>{e(I)},[e,I]),Q=r.useCallback(A=>{a(ds(A))},[a]),E=r.useCallback(A=>{const K=dr(A);a(ls({templates:[K]}))},[a]),N=r.useCallback(A=>{A.length!==0&&a(us(A))},[a]),Z=r.useCallback(()=>{a(mn())},[a]),X=r.useRef(H);r.useEffect(()=>{const A=X.current;X.current=H,H==="Completed"&&A!=="Completed"&&O!=null&&(a(ze({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(I))},[a,H,O,e,I]);const o=H==="Error"?b.error?.message??gn.createPolicyGenericErrorMessage:void 0;return y&&t!=null?R==null?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:g,handleDrawerToggle:_}),c.jsx(lr,{showUploadDocumentSection:!0,navBarTitle:gn.createPageTitle,onBackClick:P,onClickMenuIcon:u,isAiCfoAccessEnabled:C,onAskAiCfoClick:B})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:g,handleDrawerToggle:_}),c.jsx(Wc,{formDraft:R,vendorSearchOptions:M,categorySearchOptions:p,isVendorSearchLoading:v==="In-Progress",onVendorSearchTextChange:z,submitState:H,submitErrorMessage:o,documentUploadState:D,uploadedFileName:k,isAiCfoAccessEnabled:C,onAskAiCfoClick:B,onBackClick:P,onCancelClick:W,onClickMenuIcon:u,onFormChange:Q,onSubmit:E,onUploadDocument:N,onRemoveDocument:Z})]}):c.jsx(ba,{to:"..",replace:!0})}const{spendManagement:{chargeCard:{cardPolicyPage:Fo}}}=Xe.getLocalizedStrings(),xo=e=>Bn(e,!1),Bo=e=>Rn(e.name,!1);function Ro(){const e=de(),n=pe(),{tenantEmailDomain:t,templateId:a}=Me(),s=ue(),y=Fe(),g=Pe(y?.loggedInUserRoleMap),[S,_]=r.useState(!1),u=r.useCallback(o=>{_(o)},[]),C=r.useCallback(()=>{u(!0)},[u]),{isAiCfoAccessEnabled:B,onAskAiCfoClick:w}=xa({mobileExploreReferrer:"Card Policy"}),m=i(o=>ms(o)),j=i(o=>En(o.cardPolicyState)),F=i(o=>An(o.cardPolicyState)),x=i(o=>Dn(o.cardPolicyState)),h=i(o=>_n(o.cardPolicyState)),f=i(o=>Pn(o.cardPolicyState)),v=i(o=>wn(o.cardPolicyState)),l=i(o=>vn(o.cardPolicyState)),T=i(o=>Dt(o.cardPolicyState)),b=i(o=>xn(o)),O=i(o=>a!=null?Cs(o.cardPolicyState,a):void 0),D=r.useMemo(()=>m.templateId===a&&m.formDraft!=null?m.formDraft:O!=null?ps(O):void 0,[m.templateId,m.formDraft,O,a]);r.useEffect(()=>{if(a==null)return;const o=m.detailFetchState.fetchState;m.templateId===a&&(o==="Completed"||o==="In-Progress")||O!=null||s(hs(a))},[s,a,m.templateId,m.detailFetchState.fetchState,O]),r.useEffect(()=>{j!=="Completed"&&j!=="In-Progress"&&s(Tn())},[s,j]),Dr();const k=i(o=>o.chargeCardConfigState.receiptRequiredAboveAmount.amount);r.useEffect(()=>{b.fetchState==="Not-Started"&&s(ca(!1,!1,!1))},[b.fetchState,s]);const R=r.useMemo(()=>F.map(xo),[F]),d=r.useMemo(()=>l.map(Bo),[l]),p=r.useMemo(()=>b.cards.filter(o=>!ir(o.status.code)).map(Ar),[b.cards]);xt({isDataReady:D!=null});const M=r.useMemo(()=>{if(D!=null)return Yc({draft:D,cardRows:p,categorySearchOptions:R,vendorSearchOptions:d,defaultRequireReceiptAmount:k,suggestedAllowMerchants:x,suggestedBlockMerchants:h,suggestedAllowCategories:f,suggestedBlockCategories:v})},[D,p,R,d,k,x,h,f,v]),[V,U]=r.useState(void 0),L=r.useRef(!1);r.useEffect(()=>{L.current||V!=null||M==null||(L.current=!0,U(M))},[V,M]);const z=r.useCallback(o=>{U(o)},[]),H=r.useMemo(()=>Ut(o=>{s(_t(o))},250),[s]);r.useEffect(()=>()=>{H.cancel()},[H]);const I=r.useCallback(o=>{H(o)},[H]),P=m.updateFetchState.fetchState,W=t!=null?`/${t}/cards/policy`:"..",Q=r.useCallback(()=>{const o=_e(n.state?.pathnameStackToGoBack),A=o.poppedPathname??W;e(A,{state:{pathnameStackToGoBack:o.newStack}})},[n.state,e,W]),E=r.useCallback(()=>{e(W)},[e,W]),N=r.useCallback(o=>{if(a==null)return;const A=dr(o);s(fs(A)),s(gs(a))},[s,a]),Z=r.useRef(P);r.useEffect(()=>{const o=Z.current;Z.current=P,P==="Completed"&&o!=="Completed"&&(s(ze({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(W))},[s,P,e,W]);const X=P==="Error"?m.updateFetchState.error?.message??Fo.updatePolicyGenericErrorMessage:void 0;return!g||t==null||a==null?c.jsx(ba,{to:"..",replace:!0}):V!=null&&j==="Completed"&&b.fetchState==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:u}),c.jsx(Zc,{templateName:m.template?.name??"",formDraft:V,vendorSearchOptions:d,categorySearchOptions:R,isVendorSearchLoading:T==="In-Progress",onVendorSearchTextChange:I,submitState:P,submitErrorMessage:X,isAiCfoAccessEnabled:B,onAskAiCfoClick:w,onBackClick:Q,onCancelClick:E,onClickMenuIcon:C,onFormChange:z,onSubmit:N})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:u}),c.jsx(lr,{showUploadDocumentSection:!1,navBarTitle:m.template?.name,onBackClick:Q,onClickMenuIcon:C,isAiCfoAccessEnabled:B,onAskAiCfoClick:w})]})}function _r(e,n,t){return n?e.filter(a=>a!=null&&a.trim().length>0).slice(0,t):[]}function Pr(e){return i(n=>e==null||e===""?{chips:pt,isResolved:!1}:function(t){const a=t?.fetchState,s=a==="Completed"||a==="Error";return{chips:a==="Completed"?t?.suggestedQuestions??pt:pt,isResolved:s}}(Ss(n,e)),At)}const pt=[],{spendManagement:{chargeCard:{cardPolicyAiCfoHero:{headline:Lo,subheadline:Uo,pageTitle:Oo}}}}=Xe.getLocalizedStrings(),jo=e=>{const n=e.cardsCount>0?e.cardsCount:e.appliedCards.length,t=e.allowedEntity.merchantNames.length+e.blockedEntity.merchantNames.length,a=e.allowedEntity.categoryCodes.length+e.blockedEntity.categoryCodes.length;return{templateId:e.templateId,name:e.name,description:e.description,mode:e.mode==="flexible"?"flexible":"strict",createdAtFormatted:e.createdAt.format("ll"),cardsCount:n,vendorRestrictionsCount:t,categoryRestrictionsCount:a}};function Mo(){const e=de(),n=pe(),{tenantEmailDomain:t}=Me(),a=ue(),s=Fe(),y=Pe(s?.loggedInUserRoleMap),[g,S]=r.useState(!1),_=r.useCallback(I=>{S(I)},[]),u=r.useCallback(()=>{_(!0)},[_]),{useFeatureGate:C}=le(),{isFeatureEnabled:B}=C(Y.isAiCfoFileUploadEnabled),{isFeatureEnabled:w}=C(Y.isCardPolicyEnabled),{isAiCfoAccessEnabled:m,onAskAiCfoClick:j}=xa({mobileExploreReferrer:"Card Policy"}),F=i(I=>bs(I)),x=i(I=>Fn(I.createCardPolicyState)),h=i(I=>ys(I.createCardPolicyState)),f=i(I=>h==null?[]:Un(I.aiCfoState,h).filter(P=>P.kind==="creating_policy"),At),v=x.fetchState==="In-Progress"?Math.max(f.length,1):0,l=i(I=>Is(I.createCardPolicyState)),T=ya(x.fetchState);r.useEffect(()=>{if(T==="In-Progress"&&x.fetchState==="Completed"&&h!=null)f.forEach(I=>{a(St({chatSessionId:h,id:I.id,entityIds:l,kind:"created_policy"}))});else if(T==="In-Progress"&&x.fetchState==="Error"&&h!=null){f.forEach(P=>{a(St({chatSessionId:h,id:P.id,kind:"errored_policy"}))});const I=x.error?.message!=null&&x.error.message.length>0?x.error.message:Xe.getLocalizedStrings().common.errorMessage.somethingWentWrongPleaseTryAgain;a(ze({messageSection:"card_policy_created",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:I}]}))}},[x.error?.message,x.fetchState,a,h,l,f,T]);const b=F.fetchState.fetchState;r.useEffect(()=>{b!=="Not-Started"&&b!=="Error"||a(ks())},[a,b]);const O=F.archiveFetchState.fetchState,D=ya(O);r.useEffect(()=>{D==="In-Progress"&&O==="Completed"&&a(ze({messageSection:"card_policy_deleted",messageText:"success",type:"success"}))},[O,a,D]);const k=r.useMemo(()=>F.templates.map(jo),[F.templates]);xt({isDataReady:F.fetchState.fetchState==="Completed"});const R=k.length>0||v>0,d=function(I){const{hasAnyPolicies:P,isChargeCardAdmin:W,isFileUploadEnabled:Q}=I,E=de(),N=pe(),{tenantEmailDomain:Z}=Me(),{isAiCfoOpen:X,setIsAiCfoOpen:o}=ur(),A=mr(),K=Cr(),re=i(ce=>Ln(ce)).createSessionAndSubmitState.fetchState==="In-Progress",{chips:q,isResolved:ke}=Pr("card_policy"),Se=r.useMemo(()=>_r(q,ke,3),[q,ke]),[ge,ee]=r.useState(""),me=K&&A&&Z!=null&&!X,oe=r.useCallback(ce=>{if(Z==null)return;const Ea=ye(N.state?.pathnameStackToGoBack,N.pathname);E(`/${Z}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Ea,referrer:"card_policy_hero",aiCfoInitialQuestion:ce,aiCfoShouldSubmit:ce!=null&&ce.trim().length>0}})},[N.pathname,N.state,E,Z]),ae=r.useCallback(ce=>{ce.trim().length!==0&&(ee(""),oe(ce))},[oe]),Ye=r.useCallback(()=>{const ce=ge.trim();ce.length!==0&&(ee(""),oe(ce))},[ge,oe]),Ee=r.useCallback(()=>{},[]),te=r.useCallback(ce=>{ee(ce)},[]),Ze=r.useCallback(()=>{o(!0)},[o]),Re=r.useCallback(()=>{oe(void 0)},[oe]);return r.useMemo(()=>{if(me&&!P&&W)return{aiAgentName:Oo,headline:Lo,subheadline:Uo,promptChips:Se,composer:{currentInput:ge,isSubmitting:re,isFileUploadEnabled:Q,onInputChange:te,onSubmit:Ye,onStopSubmit:Ee},onPromptClick:ae,onOpenSidePanel:Ze,onOpenFullView:Re,dataTestIdPrefix:"card-policy-ai-cfo-hero"}},[ge,P,me,W,Q,re,te,Re,Ze,ae,Ee,Ye,Se])}({hasAnyPolicies:R,isChargeCardAdmin:y,isFileUploadEnabled:B}),p=w&&d!=null?c.jsx(pr,{...d}):null,M=m&&p==null,V=r.useCallback(()=>{const I=_e(n.state?.pathnameStackToGoBack),P=I.poppedPathname??"..";e(P,{state:{pathnameStackToGoBack:I.newStack}})},[n.state,e]),U=r.useCallback(()=>{t!=null&&e(`/${t}/cards/policy/new`)},[e,t]),L=r.useCallback(I=>{t!=null&&e(`/${t}/cards/policy/${I}/edit`)},[e,t]),z=r.useCallback(I=>{a(Es(I))},[a]),H=F.fetchState.fetchState;return!R&&H!=="Completed"&&H!=="Error"?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:g,handleDrawerToggle:_}),c.jsx(Kc,{onBackClick:V,onNewPolicyClick:U,onClickMenuIcon:u,isAiCfoAccessEnabled:m,onAskAiCfoClick:j})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:g,handleDrawerToggle:_}),c.jsx(qc,{policies:k,archivingTemplateId:F.archiveTargetTemplateId,pendingCreationCount:v,onBackClick:V,onNewPolicyClick:U,onEditPolicyClick:L,onArchivePolicyClick:z,onClickMenuIcon:u,policyAiCfoHero:p,isAiCfoAccessEnabled:M,onAskAiCfoClick:j})]})}function No(){const e=de(),{cardId:n}=Me(),t=ue(),a=ne.getSignedInUser(),s=i(q=>fe(q)),y=Fe(),g=Pe(y?.loggedInUserRoleMap),{useFeatureGate:S}=le();if(a==null)throw Error("Can't access Add To Wallet Page without signing in...");const[_,u]=r.useState(!1),C=i(q=>qa(q).firstViewAfterActivation);if(n==null)throw Error("Empty card id is not valid...");const B=s.userRole.includes("charge_card_user"),{isFeatureEnabled:w}=S(Y.isChargeCardFeatureEnabled),m=!!s.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:j}=S(Y.isDebitCardFeatureEnabled),F=we(s),x=ve(s),h=Te(j,s),f=s.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,v=xe({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:h}),l=Be({isCardsOnlyTenant:F,isChargeCardFeatureEnabled:w,isBookKeepingTenant:x,isDebitCardProductVisible:v,chargeCardsCreditAccountLimit:f}),T=!!s.companyDebitCardInfo?.info?.isDebitCardEnabled,b=i(q=>oa(q,s.companyId)),O=ia(b.controllers),{creditAccount:D,creditAccountRepayment:k}=i(q=>da(q)),R=i(q=>q.classListState.fetchState),d=!B&&l&&m,p=i(q=>Pt(q,n,d,l)),[M,V]=r.useState(!1),U=p.chargeCard,L=U?.cardCreatedByUser?.userId,z=i(q=>L!=null?$a(q.userRoleState,L):void 0),H=z?.accountingClassIDs[0],I=i(q=>H!=null?za(q.classState,{classId:H,reportId:"class_list"}):void 0),P=U?.cardHolderUser?.userId,W=i(q=>P!=null?$a(q.userRoleState,P):void 0),Q=W?.accountingClassIDs[0],E=i(q=>Q!=null?za(q.classState,{classId:Q,reportId:"class_list"}):void 0),N=U?.type.code==="business_physical_credit_card"||U?.type.code==="business_physical_debit_card",Z=U?.type.code==="business_physical_debit_card";r.useEffect(()=>{C&&_===!1&&N&&(u(!0),setTimeout(()=>{t(Wa()),Z&&t(ze({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[C,_,N,Z]),r.useEffect(()=>{M||p.fetchState==="Completed"||p.fetchState==="In-Progress"||n==null||(V(!0),t(ka(n,d,!1)))},[M,p,n,t]),r.useEffect(()=>{if(p.fetchState==="Completed"&&(N===!1||N&&U?.status?.code!=="active"||U?.cardHolderUserId!==a.userId||C===!1&&_===!1||U?.type.code==="business_physical_debit_card"||U?.type.code==="business_virtual_debit_card")){const q=Ae(s.tenantEmailDomain,n,a,U,C);e(q)}},[p.fetchState,C,N]),r.useEffect(()=>{D.fetchState!=="Completed"&&D.fetchState!=="In-Progress"&&l&&m&&g&&t(Qe()),k.fetchState!=="Completed"&&k.fetchState!=="In-Progress"&&l&&m&&g&&t(wt()),R!=="Completed"&&R!=="In-Progress"&&t(On())},[D.fetchState,k.fetchState,t,l,m,g,R]);const X=()=>{if(a!=null&&n!=null){t(Wa());const q=Ae(s.tenantEmailDomain,n,a);e(q)}},o=U?.type.code==="business_physical_debit_card"||U?.type.code==="business_virtual_debit_card",A=Je(l,v,T,m),K=Ba(l,m,g,D,k),re=br(o,p);return p.fetchState!=="Completed"?c.jsx(va,{fetchState:"In-Progress"}):c.jsxs(c.Fragment,{children:[c.jsx(nt,{showConfetti:C}),c.jsx(Qc,{onGotItClick:X,isDebitCard:U?.type.code==="business_physical_debit_card",controllerEmails:O,isChargeCardFeatureEnabled:l,isDebitCardFeatureEnabled:v,isDebitCardSetupEnabled:T,isChargeCardSetupEnabled:m,productInformation:A,creditAccountInformation:K,debitAccountInformation:re,chargeCardDetailView:p,creditAccount:D,classListFetchState:R,creditAccountRepayment:k,cardIssuedByRoles:z?.userRoles,cardIssuedByDepartmentName:I?.className,cardHolderRoles:W?.userRoles,cardHolderDepartmentName:E?.className})]})}const wr="charge-card-transaction-update",vr="charge-card-transaction-created",Tr="charge-card-transaction-declined",Fr="charge-card-transaction-updated",xr="charge-card-transaction-receipt-uploaded",ma="charge-card-status-update",Nt="charge-card-spending-updated",ot="credit-account-balance-updated",it="charge-card-created",Vt="charge-card-limit-updated",Ht="charge-card-limit-reset",Gt="charge-card-renamed",Vo="charge-card-department-updated",Br="charge-card-repayment-completed",Rr="charge-card-payment-date-updated",Ra="charge-card-cashback-redeemed",La="charge-card-cashback-earned",Ca=(e,n)=>e==null||e===""?[]:n.map(t=>`private-encrypted-${e}.${t}`),Ho=[La,Ra],Go=De(function(e){const n=la(e);return{insightsData:n.insight,cashbackByPeriod:n.cashbackByPeriod,uiState:n.uiState,cashbackSummary:n.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(n,t)=>{e(As({uiState:{sortKey:n,sortOrder:t}}))}}})(Xc);function $o(){const e=de(),n=ue(),t=pe(),a=ne.getSignedInUser(),s=i(j=>fe(j)),{useFeatureGate:y}=le(),{isFeatureEnabled:g}=y(Y.isCardsCommentingEnabled),[S,_]=r.useState(!1),u=i(j=>la(j)),C=Er(s.companyId,{clearParams:u.fetchState==="Completed"}),B=r.useCallback(()=>{const j=_e(t.state?.pathnameStackToGoBack),F=j.poppedPathname??zo(s.tenantEmailDomain);e(F,{state:{pathnameStackToGoBack:j.newStack}})},[e,t,s.tenantEmailDomain]),w=ea(s);if(Mt({events:Ca(w,Ho),onEvent:j=>{switch(j){case La:case Ra:return void n(_a(!0))}},onSubscribed:()=>{n(_a(!0))}}),r.useEffect(()=>{S||u.fetchState==="Completed"||u.fetchState==="In-Progress"||(_(!0),n(_a()))},[S,u,n]),a==null)throw Error("Can't access cashback detail page without signing in...");const m=u.cashbackSummary?.cashbackEarned?.amount!=null&&u.fetchState!=="Not-Started";return u.fetchState!=="In-Progress"||m?(u.cashbackSummary?.cashbackEarned?.amount??0)===0&&u.fetchState==="Completed"?c.jsx(ct,{}):c.jsx(Go,{onBackClick:B,isCardsCommentingEnabled:g,initialOpenThreadRequest:C}):c.jsx(Jc,{onBackClick:B})}const zo=e=>`/${e}/cards`,Wo={containerWidth:new Fa(100,58)},Yo=({appContent:e})=>{const n=Ta(),t=ue(),a=de(),{cardId:s}=Me(),y=pe(),{useDynamicConfig:g}=le(),[S,_]=r.useState(!1),[u,C]=r.useState(!1),[B,w]=r.useState(!1),[m,j]=r.useState(!1),F=ne.getSignedInUser();if(F==null)throw Error("Can't access onboarding card page without signing in...");const x=i(E=>fe(E));if(s==null)throw Error("Empty card id is not valid...");const{configValue:h}=g(We.zeniCardsConfig),f=h.max_charge_card_activation_attempts_by_card_id,v=i(E=>Ds(E,s)),l=v.chargeCard,T=i(E=>E.chargeCardConfigState.fetchState),{useFeatureGate:b}=le(),{isFeatureEnabled:O}=b(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:D}=b(Y.isDebitCardFeatureEnabled),k=Te(D,x),R=xe({isDebitCardFeatureEnabled:D,isBankingOnlyTenant:k}),d=!!x.companyChargeCardInfo?.info?.isChargeCardEnabled,p=x.userRole.includes("charge_card_user"),M=we(x),V=ve(x),U=x.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=Be({isCardsOnlyTenant:M,isChargeCardFeatureEnabled:O,isBookKeepingTenant:V,isDebitCardProductVisible:R,chargeCardsCreditAccountLimit:U}),z=!p&&L&&d;r.useEffect(()=>{S===!1&&T!=="In-Progress"&&T!=="Completed"&&(t(Qa()),_(!0)),u===!1&&v.fetchState==="Not-Started"&&(C(!0),t(ka(s,z,L)))},[u,v.fetchState,S,T]);const H=l?.type.code==="business_physical_credit_card"||l?.type.code==="business_physical_debit_card";r.useEffect(()=>{if(v.fetchState==="Completed"){if(B===!1&&(H===!1||H&&l?.status?.code!=="inactive"||l?.cardHolderUserId!==F.userId)){const E=Ae(x.tenantEmailDomain,s,F,l,!0),N=ye(y.state?.pathnameStackToGoBack,y.pathname);a(E,{state:{pathnameStackToGoBack:N}})}else if(B&&v.isRefreshingViewInBackground===!1&&l?.status?.code==="active"){t(_s({chargeCardId:s}));const E=Ae(x.tenantEmailDomain,s,F,l,!0),N=ye(y.state?.pathnameStackToGoBack,y.pathname);t(Ja()),a(E,{state:{pathnameStackToGoBack:N}})}}},[v.fetchState,l?.type.code,B,v.isRefreshingViewInBackground]);const I=ne.getZeniOtpTokenForCardHolder(s),P=i(E=>jn(E.userState,F.userId)),W=()=>{l?.status?.code!=="active"&&t(ga(s,!0))};r.useEffect(()=>{v.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&l?.cardActivationAttemptHistory.some(E=>E.statusCode==="success")===!0&&B===!1&&(setTimeout(W,3e3),w(!0))},[v.updatePhysicalChargeCardAttemptFetchState.fetchState,l?.cardActivationAttemptHistory]);const Q=E=>{j(E)};if(T!=="Completed"||l==null)return c.jsx(va,{fetchState:"In-Progress"});if(l.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(P?.phone==null)throw Error("Can't access user phone number.");return c.jsxs(qo,{children:[c.jsx(Ie,{isAppContentDrawerOpen:m,handleDrawerToggle:Q}),c.jsx(Zo,{cardId:s,card:l,shippingAddressId:l.shippingAddressId,phone:P.phone,signedInUser:F,isSandboxEnv:Bt(),chargeCardDetailState:v,signedInUserToken:I,navigate:a,currentTenant:x,location:y,maxChargeCardActivationAttempts:f[s]!=null?f[s]:h.default_max_charge_card_activation_attempts!=null?h.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:h.charge_card_cashback_rate_per_transaction!=null?h.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{Q(!0)}}),e!=null?c.jsx(Ko,{windowSize:n,children:e}):null]})},Zo=De(function(e,{chargeCardDetailState:n,shippingAddressId:t,location:a,cardId:s}){const y=Ps(e.addressState,t);if(y==null)throw Error("Can't access shippingAddress.");const g=Mn(e,s),S=n.updateStatus,_=ua(e,!1,!1,!1);let u=!1;_.fetchState==="Completed"&&_.cards.length<=1&&(u=!0);const C=a.state?.message==="comingFromV2UrlPath";return{showActivatePage:n.chargeCard?.providerCardCreateTime!=null&&n.chargeCard.providerCardCreateTime.add(24,"h").isBefore(ws())||C,showMenuIcon:u,shippingAddress:y,vgsVaultId:rt.cardVaultId,twoFAView:g,activationWaitStatus:S,isRefreshingViewInBackground:n.isRefreshingViewInBackground}},function(e,n){const{navigate:t,cardId:a,location:s,currentTenant:y,chargeCardDetailState:g}=n,S=g.chargeCard?.cardProviderID,{tenantEmailDomain:_}=y;return{onGetOtp:u=>{S!=null&&e(at(u,"ChargeCardHolder",a))},onUpdatePhysicalChargeCardAttempt:u=>{e(Ts(a,u))},onResendOtp:u=>{S!=null&&e(et(u,"ChargeCardHolder",a))},onVerifyOtp:(u,C)=>{S!=null&&e(Xa(u,C,"ChargeCardHolder",a))},onVerifyOtpSuccess:u=>{u!=null&&ne.saveZeniOtpTokenForCardHolder(u,a)},onCVVActivateSuccess:()=>{e(vs({chargeCardId:a}))},onBackClick:()=>{const u=_e(s.state?.pathnameStackToGoBack),C=u.poppedPathname==null||u.poppedPathname.includes("onboard")===!0?aa(_):u.poppedPathname;t(C,{state:{pathnameStackToGoBack:u.newStack}})}}})(eo),Ko=Ne.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: ${e=>`${Wo.containerWidth.value(e.windowSize)}%`};
|
|
5
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
6
|
+
`,qo=Ne.div`
|
|
7
|
+
display: flex;
|
|
8
|
+
min-height: 100%;
|
|
9
|
+
width: 100%;
|
|
10
|
+
flex: 1 1 auto;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
align-items: center;
|
|
13
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
14
|
+
`,Za=Xe.getLocalizedStrings().dateFormat,Qo={overlayWidth:new Fa(100,100,58)},Lr=[Br,ot],Jo=new Set(Lr),Xo=De(function(e,n){const t=n.currentTenant?.companyId;return{plaidConnectionDetails:Rs(e,t,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:Ls(e.depositAccountState,e.depositAccountListState)}},function(e,n){const{navigate:t,currentTenant:a,hasZeniAccountsAdminAccess:s,isZeniAccountsUser:y,isCashbackInfoFetchStateCompleted:g,isCreditCardInfoFetchStateCompleted:S,isDebitCardInfoFetchStateCompleted:_,controllerEmails:u,paymentDetails:C,productInformation:B,cashbackInformation:w,paymentSourceInformation:m,creditAccountInformation:j,debitAccountInformation:F,paymentInitiatedDate:x,sourcePage:h}=n,{tenantEmailDomain:f}=a,v=()=>{e(Hn(!0));const l=ea(a);l!=null&&l!==""&&e(Pa(l,!0,!0)),e(Qe(!0))};return{onBackNavigation:()=>{if(g&&S&&_&&w!=null&&J.trackCardsPayEarlyFormClick(u,B,w,"Back",C.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:C.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:C.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:C.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:C.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:x?.add(3,"day").format(Za.visual.MMMDCommaYYYYformat),paymentInitiatedDate:x?.format(Za.visual.MMMDCommaYYYYformat)},m,j,F),h==="cardPaymentHistory")n.closeDrawerHandler(!0),e(Gn());else{const l=aa(f);t(l)}},onUpdatePaymentAccountStatus:(l,T,b)=>{e(js(l,T,"bill_pay","bill_pay_detail",b))},onEstablishConnectionSuccess:()=>{e(Pa(a.companyId,!0))},onFetchLinkTokenClick:l=>{e(Os("external_account",l))},onEstablishConnectionClick:l=>{e(Us(l,a.companyId,"charge_card_payment","charge_cards"))},onSignUpAccountClick:()=>{s?window.open(`/${f}/checking/promo`,"_blank"):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")},onMoveMoneyClick:()=>{y?window.open(`/${f}/checking/transfer`):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")},onEventReceived:l=>{Jo.has(l)&&v()},onPusherSubscribed:v}})(st(ao)),$t=({isPaymentDrawerOpen:e,closeDrawerHandler:n,pageName:t,creditAccountSpentAmount:a,productInformation:s,sourcePage:y,creditAccountInformation:g,debitAccountInformation:S,cashbackInformation:_,isDebitCardInfoFetchStateCompleted:u,isCreditCardInfoFetchStateCompleted:C,isCashbackInfoFetchStateCompleted:B,paymentInitiatedDate:w,retryRepayment:m})=>{const j=de(),{useDynamicConfig:F}=le(),{configValue:x}=F(We.zeniAccountsConfig),h=Fs(x),f=i(A=>Nn(A)),{creditAccount:v}=i(A=>da(A)),l=i(A=>fe(A)),T=Rt(),b=Ta(),O=ue(),D=ne.getSignedInUser(),k=Fe(),[R,d]=r.useState(!1),[p,M]=r.useState(!1),{configValue:V}=F(We.zeniCardsConfig),U=V.credit_card_auto_pay_threshold_by_company_id?.[l.companyId]??V.default_credit_card_auto_pay_threshold??ko,L=Vn(k?.loggedInUserRoleMap),z=xs(k?.loggedInUserRoleMap),H=!!l.companyZeniAccountInfo?.info?.isZeniAccountEnabled,I=i(A=>wa(A,l.companyId)),P=I.companyChargeCardInfo?.primaryFundingAccount,W=I.allFundingAccounts.find(A=>A.id===P?.accountId),Q=i(A=>oa(A,l.companyId)),E=ia(Q.controllers);r.useEffect(()=>{if(f.fetchState!=="Completed"&&f.fetchState!=="In-Progress"&&O(Hn()),f.fetchState==="Completed"&&!p){const A=l.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,K=f.transferFromAccounts.find(q=>q.id===A);let re;if(y==="cardPaymentHistory"&&m){const q=m.paymentAccountId!=null?f.transferFromAccounts.find(ke=>ke.id===m.paymentAccountId):void 0;re={amount:m.amount,isAutoRepayment:l.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:fn(),transferFrom:q??K}}else re={amount:{amount:v.balance.amount+v.hold.amount,currencyCode:v.balance.currencyCode,currencySymbol:v.balance.currencySymbol},isAutoRepayment:l.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:fn(),transferFrom:K};O(Cn(re)),M(!0)}},[f.fetchState,p,y,m,f.transferFromAccounts,l.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,l.companyChargeCardInfo?.info?.isAutoPayEnabled,v.balance.amount,v.balance.currencyCode,v.balance.currencySymbol,v.hold.amount,O]);const N={isZeniCheckingEnabled:l.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:W?.accType==="depositAccount",creditCardPaymentSourceAccountName:W?.label,creditCardPaymentSourceAccountType:W?.accType,creditCardPaymentSourceLastFourDigits:W?.accountLast4,creditCardPaymentSourceBalance:W?.accountBalance?.available?.amount??0};if(r.useEffect(()=>{I.fetchState!=="Completed"&&I.fetchState!=="In-Progress"&&O(Pa(l.companyId,!0))},[I.fetchState]),r.useEffect(()=>{f.updateStatus==="Completed"&&_!=null&&B&&C&&u&&J.trackCardsPayEarlyPayNowClick(E,s,_,f.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:f.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:f.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:f.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:f.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:w?.add(3,"day").format(Za.visual.MMMDCommaYYYYformat),paymentInitiatedDate:w?.format(Za.visual.MMMDCommaYYYYformat)},N,g,S)},[f.updateStatus,_,B,C,u,w]),r.useEffect(()=>{f.fetchState==="Completed"&&_!=null&&B&&C&&u&&!R&&e&&p&&_!=null&&(J.trackCardsPayEarlyFormView(E,s,_,t,l.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,v.balance.amount,N,g,S),d(!0))},[f,B,C,u,R,e,p]),D==null)throw Error("Can't access invite people page without signing in...");const Z=()=>{n(!0),O(Gn())},X=ea(l),o={events:e?Ca(X,Lr):[],eventCallback:(A,K,re)=>{re.onEventReceived(A)},onSubscribed:A=>{A.onPusherSubscribed()}};return c.jsx(c.Fragment,{children:c.jsx(Sr,{onClose:()=>{Z()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:Qo.overlayWidth.valuePercentage(b),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:T.colors.black,opacity:.75,cursor:"pointer"}}},children:c.jsx(ei,{onClick:A=>A.stopPropagation(),children:c.jsx(Xo,{...o,closeDrawerHandler:n,navigate:j,paymentDetails:f,creditAccountSpentAmount:a,onTransferClick:()=>{B&&C&&u&&_!=null&&J.trackCardsPayEarlyFormClick(E,s,_,"Pay Now",f.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:f.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:f.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:f.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:f.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:void 0,paymentInitiatedDate:void 0},N,g,S),O(Bs({companyId:l.companyId}))},onDismissClick:Z,onSaveChangesToLocalStore:A=>{O(Cn(A))},currentTenant:l,hasZeniAccountsAdminAccess:L,isZeniAccountsUser:z,isZeniAccountSetupEnabled:H,productInformation:s,sourcePage:y,controllerEmails:E,autoPayThreshold:U,paymentSourceInformation:N,creditAccountInformation:g,debitAccountInformation:S,cashbackInformation:_,isCashbackInfoFetchStateCompleted:B,isCreditCardInfoFetchStateCompleted:C,isDebitCardInfoFetchStateCompleted:u,paymentInitiatedDate:w,maxInsuredAmount:h.maxInsuredAmount})})})})},ei=Ne(Io)`
|
|
15
|
+
display: flex;
|
|
16
|
+
min-height: 100%;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
`,zt=e=>e!=null&&typeof e=="object"?e:null,ie=e=>typeof e=="string"?e:void 0,Oe=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,Ka=e=>e!=null&&typeof e=="object"&&typeof e.code=="string"&&typeof e.name=="string",ht=e=>{if(e==null||typeof e!="object")return!1;const n=e;return typeof n.transaction_id=="string"&&typeof n.amount=="number"&&typeof n.currency_code=="string"&&typeof n.currency_symbol=="string"&&typeof n.direction=="string"&&!!Ka(n.transaction_status)&&!!Ka(n.transaction_type)},Wt=(e,n)=>{const t=e?.card_status;if(!Ka(t))return null;const a=e?.is_locked_by_admin;return{cardId:n,cardStatus:t,isLockedByAdmin:typeof a=="boolean"?a:void 0}},kt=[wr,vr,Tr,Fr,xr,ma,Nt,ot,Vt,Ht,Gt],Ur=[La,Ra],ai=new Set([...kt,...Ur]),ft=Xe.getLocalizedStrings().dateFormat,ti=De(function(e,n){const{includeCreditAccountInfo:t,cardId:a,signedInUserToken:s,isChargeCardFeatureEnabled:y}=n,g=ne.getSignedInUser(),S=e.tenantState.currentTenantId,_={userId:g?.userId??"",sessionId:g?.zeniSessionId??"",tenantId:S??""},u=Pt(e,a,t,y),C=Ys(e,a),B=Zs(e);return{chargeCardDetailView:u,chargeCardsRecurringExpensesState:C,vgsVaultId:rt.cardVaultId,transactionAttachmentsEndpointToFetch:`${It}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${It}/card_transaction_attachment`,authParams:_,isSnackbarOpen:B.isSnackbarOpen,cardsEndPoint:`${hr.cardMicroServiceBaseUrl}`,signedInUserToken:u.twoFAView.token??s}},function(e,n){const{cardId:t,currentTenant:a,navigate:s,location:y,cardProviderId:g,includeCreditAccountInfo:S,setIsPaymentOpen:_,controllerEmails:u,productInformation:C,cashbackInformation:B,primaryFundingAccountDetails:w,creditAccountInformation:m,debitAccountInformation:j,isChargeCardFeatureEnabled:F}=n,{tenantEmailDomain:x}=a;return{onEventReceived:(h,f)=>{(({event:v,data:l,cardId:T,dispatch:b,subscribedEvents:O})=>{const D=zt(l);switch(v){case La:case Ra:return void b(_a(!0));case wr:{const k=ie(D?.card_id);if(k==null||k!==T)return;const R=ie(D?.transaction_id),d=D?.transaction_status;return R!=null&&Ka(d)?void b(zs({transactionId:R,transactionStatus:d})):void b(ra(T,null,null,!0))}case ma:{const k=ie(D?.card_id)??T;if(k!==T)return;const R=Wt(D,k);return R!=null?void b(vt(R)):void b(ga(T,!0))}case Nt:{const k=ie(D?.card_id)??T;if(k!==T)return;const R=ie(D?.currency_code),d=ie(D?.currency_symbol),p=Oe(D?.balance);return R!=null&&d!=null&&p!=null?(b($s({cardId:k,currencyCode:R,currencySymbol:d,balance:p,hold:Oe(D?.hold),dailyPurchaseSpends:Oe(D?.daily_purchase_spends),monthlyPurchaseSpends:Oe(D?.monthly_purchase_spends),dailyWithdrawals:Oe(D?.daily_withdrawals),monthlyWithdrawals:Oe(D?.monthly_withdrawals)})),void b(Qe(!0))):(b(ga(T,!0)),void b(Qe(!0)))}case ot:{const k=ie(D?.currency_code),R=ie(D?.currency_symbol),d=Oe(D?.available_amount),p=Oe(D?.balance_amount);return k!=null&&R!=null&&d!=null&&p!=null?void b(Gs({currencyCode:k,currencySymbol:R,available:d,balance:p,hold:Oe(D?.hold_amount),cashback:Oe(D?.cashback_amount)})):void b(Qe(!0))}case vr:{const k=ie(D?.card_id)??T;if(k!==T)return;const R=D?.transaction;return ht(R)?void b(Hs({cardId:k,transaction:R})):void b(ra(T,null,null,!0))}case Tr:{const k=ie(D?.card_id)??T;if(k!==T)return;const R=D?.transaction;return ht(R)?void b(Vs({cardId:k,declineReason:ie(D?.decline_reason),transaction:R})):void b(ra(T,null,null,!0))}case Fr:{const k=ie(D?.card_id)??T;if(k!==T)return;const R=D?.transaction;return ht(R)?void b(Ns({cardId:k,transaction:R})):void b(ra(T,null,null,!0))}case xr:{const k=ie(D?.card_id)??T;if(k!==T)return;const R=ie(D?.transaction_id),d=D?.attachment_file_paths;return R!=null&&Array.isArray(d)&&d.every(p=>typeof p=="string")?void b(Ms({cardId:k,transactionId:R,attachmentFilePaths:d})):void b(ra(T,null,null,!0))}case Vt:case Ht:case Gt:{const k=ie(D?.card_id);if(k==null||k!==T)return;b(ga(T,!0))}}})({event:h,data:f,cardId:t,dispatch:e,subscribedEvents:ai})},onPusherSubscribed:()=>{e(ga(t,!0)),e(ra(t,null,null,!0)),e(Qe(!0))},onReloadTransactions:()=>{e(ka(t,S,F))},onFetchChargeCardTransactionList:(h,f)=>{e(ra(t,h,f))},onUpdateScrollYOffset:h=>{},onGetOtp:h=>{g!=null&&e(at(h,"ChargeCardHolder",t))},onResendOtp:h=>{g!=null&&e(et(h,"ChargeCardHolder",t))},onVerifyOtp:(h,f)=>{g!=null&&e(Xa(h,f,"ChargeCardHolder",t))},onVerifyOtpSuccess:h=>{h!=null&&ne.saveZeniOtpTokenForCardHolder(h,t)},onColorCodeChange:h=>{e(ec(t,h))},onLockChargeCard:(h,f)=>{e(Jn(h,t,f))},onUnlockChargeCard:h=>{e(Qn(h,t))},onCloseChargeCard:h=>{e(qn(t,h))},onFetchChargeCardsRecurringExpenses:()=>{e(Kn([t]))},updateChargeCardName:(h,f)=>{e(Zn(h,t,f))},updateChargeCardTransactionAttachments:(h,f)=>{f!=null&&e(Xs({transactionId:h,data:f}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(h,f,v,l)=>{e(Js({chargeCardId:f,transactionId:h,fetchState:v,error:l}))},updateChargeCardTransactionReceiptsShowTick:(h,f,v)=>{e(Qs({chargeCardId:f,transactionId:h,shouldShowTick:v}))},onChargeCardRevokeInviteClick:()=>{e(Yn(t))},updateChargeCardTransactionIsViewReceiptClicked:(h,f,v)=>{e(qs({chargeCardId:f,transactionId:h,isViewReceiptClicked:v}))},onChargeCardTransactionRowClick:(h,f)=>{const v=ye(y.state?.pathnameStackToGoBack,y.pathname);s(`../../transaction/${h}/${f}`,{state:{pathnameStackToGoBack:v}})},onBackClick:()=>{const h=_e(y.state?.pathnameStackToGoBack),f=aa(x);s(f,{state:{pathnameStackToGoBack:h.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(Ks())},onUpdateDebitCardPinAttempt:h=>{e(Wn(t,h)),h==="success"&&e(ze({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(h,f)=>{h?e(ze({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):f!=null&&e(ze({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:f.message}]}))},updateSpendLimit(h,f,v,l){e(zn(h,f,v.code,l))},shouldOpenCreditCardPaymentDrawer(h){h&&B!=null&&J.trackCardsPayEarlyClick(u,C,B,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:a.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:w?.accType==="depositAccount",creditCardPaymentSourceAccountName:w?.label,creditCardPaymentSourceAccountType:w?.accType,creditCardPaymentSourceLastFourDigits:w?.accountLast4,creditCardPaymentSourceBalance:w?.accountBalance?.available?.amount??0},m,j),_(h)}}})(st(no));function ni(){const e=de(),n=ue(),t=pe(),{cardId:a}=Me(),[s,y]=r.useState(!1),[g,S]=r.useState(!1),{useDynamicConfig:_}=le(),u=ne.getSignedInUser(),C=i(G=>fe(G)),B=i(G=>qa(G).firstViewAfterActivation),w=i(G=>G.classListState.fetchState),{configValue:m}=_(We.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:j}=_(We.zeniCardsConfig),F=j.enable_card_controls_for_company_ids,x=j.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(F)&&F.includes(C.companyId),[h,f]=r.useState(!1),[v,l]=r.useState(!1),{useFeatureGate:T}=le(),{isFeatureEnabled:b}=T(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:O}=T(Y.isDebitCardFeatureEnabled),D=Te(O,C),k=xe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:D}),{isFeatureEnabled:R}=T(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:d}=T(Y.isCardsCommentingEnabled),p=ve(C),M=we(C),V=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,U=Be({isCardsOnlyTenant:M,isChargeCardFeatureEnabled:b,isBookKeepingTenant:p,isDebitCardProductVisible:k,chargeCardsCreditAccountLimit:V}),L=!!C.companyDebitCardInfo?.info?.isDebitCardEnabled,z=!!C.companyChargeCardInfo?.info?.isChargeCardEnabled,H=!C.userRole.includes("charge_card_user")&&U&&z;if(a==null)throw Error("Empty card id is not valid...");const I=i(G=>wa(G,C.companyId)),{creditAccount:P,creditAccountRepayment:W}=i(G=>da(G)),Q=ne.getZeniOtpTokenForCardHolder(a),E=i(G=>Pt(G,a,H,U)),{isAiCfoAccessEnabled:N,onAskAiCfoClick:Z}=xa({mobileExploreReferrer:"Card Detail"});xt({isDataReady:E.fetchState==="Completed"});const X=i(G=>la(G)),o=E.chargeCard,A=Fe(),K=Pe(A?.loggedInUserRoleMap),re=o?.type.code==="business_physical_debit_card"||o?.type.code==="business_virtual_debit_card",q=o?.type.code==="business_physical_debit_card"||o?.type.code==="business_physical_credit_card",ke=o?.type.code==="business_virtual_debit_card"||o?.type.code==="business_virtual_credit_card",Se=o?.type.code==="business_virtual_debit_card",ge=Ba(U,z,K,P,W),ee=br(re,E),me=Ot(K,X),oe=Je(U,k,L,z),ae=E.depositAccountLimitFetchState.fetchState!=="Completed"&&E.depositAccountLimitFetchState.fetchState!=="In-Progress",Ye=i(G=>oa(G,C.companyId)),Ee=ia(Ye.controllers),te=i(G=>o?.cardCreatedByUser?.userId!=null?$a(G.userRoleState,o?.cardCreatedByUser?.userId):void 0),Ze=i(G=>te?.accountingClassIDs[0]!=null?za(G.classState,{classId:te?.accountingClassIDs[0],reportId:"class_list"}):void 0),Re=i(G=>o?.cardHolderUser?.userId!=null?$a(G.userRoleState,o?.cardHolderUser?.userId):void 0),ce=i(G=>Re?.accountingClassIDs[0]!=null?za(G.classState,{classId:Re?.accountingClassIDs[0],reportId:"class_list"}):void 0),Ea=C?.userRole,pa=i(G=>ua(G,!1,k,b).revokeCardInvite),ha=ya(pa.saveStatus.fetchState);if(r.useEffect(()=>{if(ha==="In-Progress"&&pa.saveStatus.fetchState==="Completed"){const G=aa(C.tenantEmailDomain);e(G)}},[ha,pa.saveStatus.fetchState,e,C.tenantEmailDomain]),r.useEffect(()=>{B&&s===!1&&ke&&(y(!0),setTimeout(()=>{n(Wa()),Se&&n(ze({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[B,s,ke,Se]),r.useEffect(()=>{h||E.fetchState==="Completed"||E.fetchState==="In-Progress"||a==null||(f(!0),n(ka(a,H,U,!1)))},[h,E,a,n]),r.useEffect(()=>{!v&&E.fetchState==="Completed"&&E.chargeCard?.connectedAccountId!=null&&re&&ae&&K&&(l(!0),n($n({depositAccountId:E.chargeCard?.connectedAccountId})))},[v,E,n,ae,K]),r.useEffect(()=>{X.fetchState!=="Completed"&&X.fetchState!=="In-Progress"&&K&&n(_a()),w!=="Completed"&&w!=="In-Progress"&&n(On()),E.transactionStatistics.fetchState!=="Completed"&&E.transactionStatistics.fetchState!=="In-Progress"&&n(Ws({chargeCardId:a})),I.fetchState!=="Completed"&&I.fetchState!=="In-Progress"&&n(Pa(C.companyId,!0))},[X.fetchState,n,K,w,E.transactionStatistics.fetchState,I.fetchState]),r.useEffect(()=>{if(!(E.fetchState!=="Completed"||U&&P.fetchState!=="Completed"||o==null||E.transactionStatistics.fetchState!=="Completed"||re&&K&&E.depositAccountLimitFetchState.fetchState!=="Completed")){const G=o.type.code.includes("physical"),he=G?o.cardActivationAttemptHistory[0]?.timestamp:o.createTime;J.trackCardsCardDetailView(Ee,oe,{cardId:a,cardName:o.cardName,cardType:o.type.code.includes("credit")?"credit":"debit",cardCategory:G?"physical":"virtual",cardLimit:Sa(o.limit.amount),cardLastFourDigits:o.accountLast4,cardStatus:o.status.code,cardAssignedDate:o.createTime?.format(ft.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:o.providerCardCreateTime?.format(ft.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:he?.format(ft.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:o.creditLimitFrequency.name,cardSpentAmount:Sa(o.balance.amount),cardAvailableLimit:Sa(o.available.amount),cardUtilizationPercent:o.limit.amount>0?Math.round((o.limit.amount-o.available.amount)/o.limit.amount*100):0,cardUtilizationAmount:Sa(o.limit.amount-o.available.amount),totalNumberOfDeclinedTransactions:E.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:E.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:E.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:E.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:E.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:E.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:yt(o.cardCreatedByUser,!1),cardIssuedByEmail:o.cardCreatedByUser?.email,cardIssuedByUserId:o.cardCreatedByUser?.userId,cardIssuedByRole:te?.userRoles,cardIssuedByDepartment:Ze?.className},{cardholderName:yt(o.cardHolderUser,!1),cardholderEmail:o.cardHolderUser?.email,cardholderRole:Re?.userRoles,cardholderUserId:o.cardHolderUser?.userId,cardholderDepartment:ce?.className},ge,ee)}},[E.fetchState,E.depositAccountLimitFetchState.fetchState,E.transactionStatistics.fetchState,P.fetchState,K]),u==null)throw Error("Can't access card detail page without signing in...");const ta=ea(C),Aa=K?[...kt,...Ur]:kt,dt={events:Ca(ta,Aa),eventCallback:(G,he,Le)=>{Le.onEventReceived(G,he)},onSubscribed:G=>{G.onPusherSubscribed()}},lt=()=>{if(a!=null&&o!=null){const{ownerName:G,cardName:he,utilisation:Le,limit:Ve,frequency:He,cardColor:Ge}=gt(o),$e=o.cardHolderUserId===u.userId;J.trackCardsDetailPageViewed(a,G,he,Le,Ve,He,Ge,$e)}};r.useEffect(()=>{if(E.fetchState==="Completed"){const G=E.chargeCard;if(G?.status.code==="inactive"||re&&G?.isPinSet===!1||q&&B){const he=Ae(C.tenantEmailDomain,a,u,o,B);e(he)}}},[E.fetchState]);const Ce=(G,he)=>{if(a!=null&&o!=null){const{ownerName:Le,cardName:Ve,utilisation:He,limit:Ge,frequency:$e}=gt(o),na=o.cardHolderUserId===u.userId;J.trackCardsDetailPageClicked(a,Le,Ve,He,Ge,$e,G,na,he)}},Ua=(G,he)=>{if(a!=null&&o!=null){const{ownerName:Le,cardName:Ve,utilisation:He,limit:Ge,frequency:$e}=gt(o),na=o.cardHolderUserId===u.userId;J.trackCardsVerifyPopUpClick(a,Le,Ve,He,Ge,$e,G,na,he)}},Da=P.balance.amount+P.hold.amount,ut=C.companyChargeCardInfo?.info?.primaryFundingAccount,Oa=I.allFundingAccounts.find(G=>G.id===ut?.accountId),ja=E.chargeCard!=null,Ma=E.depositAccountLimit!=null;return E.fetchState!=="Error"||ja?!ja&&(E.fetchState==="In-Progress"||E.fetchState==="Not-Started")||pa.saveStatus.fetchState==="In-Progress"||!Ma&&re&&K&&E.depositAccountLimitFetchState.fetchState!=="Completed"?c.jsx(to,{}):c.jsxs(c.Fragment,{children:[c.jsx(nt,{showConfetti:B}),E.fetchState==="Completed"?c.jsx(Lt,{analytics:J,onLoad:lt}):null,g===!0?c.jsx($t,{closeDrawerHandler:()=>S(!1),isPaymentDrawerOpen:g,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:oe,creditAccountInformation:ge,debitAccountInformation:ee,cashbackInformation:me,creditAccountSpentAmount:Da,isDebitCardInfoFetchStateCompleted:!re||!K||E.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!U||P.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!K||X.fetchState==="Completed",paymentInitiatedDate:W.initiatedRepaymentDate}):null,c.jsx(ti,{...dt,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:Ua,onFireOnClickAnalytics:Ce,isSandboxEnv:Bt(),signedInUser:u,location:t,navigate:e,setIsPaymentOpen:S,cardIssuedByRoles:te?.userRoles,cardIssuedByDepartmentName:Ze?.className,cardHolderRoles:Re?.userRoles,cardHolderDepartmentName:ce?.className,loggedInUserRole:Ea,isChargeCardFeatureEnabled:U,isDebitCardFeatureEnabled:k,isDebitCardSetupEnabled:L,isChargeCardSetupEnabled:z,isCardControlsEnabled:x,isEarlyPayEnabled:R,controllerEmails:Ee,chargeCardCashbackDetailState:X,productInformation:oe,creditAccountInformation:ge,debitAccountInformation:ee,cashbackInformation:me,classListFetchState:w,primaryFundingAccountDetails:Oa,currentTenant:C,cardProviderId:E.chargeCard?.cardProviderID,cardId:a,creditAccount:P,creditAccountRepayment:W,includeCreditAccountInfo:H,signedInUserToken:Q,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:m.documentAiReceiptMaxSizeLimitBytes!=null?m.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:N,onAskAiCfoClick:Z,isCardsCommentingEnabled:d})]}):c.jsx(ct,{})}const gt=e=>{const n=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,t=e.cardName,a=(e.limit.amount??0)-(e.available.amount??0),s=e.limit.amount,y=e.creditLimitFrequency.name;return{ownerName:n,cardName:t,utilisation:a,cardColor:e.cardColorCode??"",frequency:y,limit:s}},{spendManagement:{chargeCard:{cardsAiCfoHero:{headline:ri,subheadline:si,pageTitle:ci}}}}=Xe.getLocalizedStrings(),Or=[ma,ot,Rr,Ra,La,it,Gt,Vo,Vt,Ht,Nt],oi=new Set(Or),Et=Ut((e,n,t,a)=>{e(ca(n,t,a,!0))},400),ii=Ne.div`
|
|
19
|
+
display: flex;
|
|
20
|
+
width: 100%;
|
|
21
|
+
flex: 1 1 auto;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
align-items: center;
|
|
24
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
25
|
+
`,di=De(function(e,n){const t=ua(e,n.includeCreditAccountDebitSummaryAndCashbackInfo,n.isDebitCardFeatureEnabled&&n.isDebitCardSetupEnabled,n.isChargeCardFeatureEnabled&&n.isChargeCardSetupEnabled);return{chargeCardListView:t,rowActionView:sc(e),bulkActionView:cc(e),companyLegalName:n.currentTenant.companyName,admins:n.admins,searchText:t.searchText,uiState:t.uiState,signedInUser:n.signedInUser}},function(e,n){const{navigateAndClearBulkSelection:t,currentTenant:a,location:s,signedInUser:y,chargeCardListState:g,includeCreditAccountDebitSummaryAndCashbackInfo:S,isChargeCardFeatureEnabled:_,isCreditCardProductVisibleForExpressInterest:u,isChargeCardSetupEnabled:C,isDebitCardFeatureEnabled:B,isDebitCardSetupEnabled:w,isDebitCardTOSAccepted:m,isChargeCardTOSAccepted:j,controllerEmails:F,depositAccountListWithDebitCardIssued:x,primaryFundingAccountDetails:h,chargeCardSetUpViewFetchState:f,productInformation:v,cashbackInformation:l,creditAccountInformation:T,debitAccountInformation:b,updatePayNowInfoTooltip:O,isUserHasCardsAdminLevelAccess:D}=n,{tenantEmailDomain:k}=a,{cards:R}=g;return{onChargeCardRowClick:(d,p)=>{const M=Ir(R,d);let V;M!=null&&((L=>{const z=L.limit.amount-L.available.amount,H=`${L.cardHolderUser?.firstName.toLowerCase()} ${L.cardHolderUser?.lastName.toLowerCase()}`,I=L.cardName,P=L.department?.className??"",W=L.limit.amount,Q=L.creditLimitFrequency.name;J.trackCardsListRowClicked(H,I,P,z,W,Q,y.userId===L.cardHolderUserId)})(M),sa(B,w,x)&&J.trackCardsCardListRowClick(F,v,"Card Row Item","row_clicked",p+1,{cardOwner:yt(M.cardHolderUser,!1),cardName:M.cardName,cardType:M.type.code.includes("credit")?"credit":"debit",cardStatus:M.status.code,cardUtilizationAmount:Sa(M.limit.amount-M.available.amount),cardUtilizationPercent:M.limit.amount>0?Math.round((M.limit.amount-M.available.amount)/M.limit.amount*100):0,cardLimit:Sa(M.limit.amount)},l,T,b)),V=M?.status.code==="request_on_hold"&&y.userId===M.cardHolderUserId?kr(k):Ae(k,d,y,M);const U=ye(s.state?.pathnameStackToGoBack,s.pathname);t(V,{state:{pathnameStackToGoBack:U}})},onFetchChargeCardsRecurringExpenses:d=>{e(Kn(d))},onFetchDepositAccountLimit:d=>{e($n({depositAccountId:d}))},onChargeCardResendInviteClick:d=>{e(pc(d))},onChargeCardRevokeInviteClick:d=>{e(Yn(d))},onLockChargeCardList:(d,p)=>{e(Cc(d,p))},onUnlockChargeCardList:d=>{e(mc(d))},onCloseChargeCardList:(d,p)=>{e(uc(d,p))},onRevokeChargeCardList:d=>{e(lc(d))},updateChargeCardListSpendLimit(d,p,M){e(dc(d,p,M.code))},onLockChargeCard:(d,p)=>{e(Jn(D,d,p))},onUnlockChargeCard:d=>{e(Qn(D,d))},onCloseChargeCard:(d,p)=>{e(qn(d,p))},onUpdateSpendLimit(d,p,M,V){e(zn(d,p,M.code,V))},updateChargeCardName:(d,p)=>{e(Zn(D,d,p))},onClickSetupIcon:()=>{J.trackCardsListPageClicked("settings"),sa(B,w,x)&&l!=null&&J.trackCardsSettingsClick(F,v,l,T,b);const d=Ao(k),p=ye(s.state?.pathnameStackToGoBack,s.pathname);t(d,{state:{pathnameStackToGoBack:p}})},onIssueCardClick:()=>{J.trackCardsListPageClicked("new card"),sa(B,w,x)&&l!=null&&J.trackCardsNewCardClick(F,v,l,"New Button","card_creation_initiated","Card List",T,b);const d=li(k),p=ye(s.state?.pathnameStackToGoBack,s.pathname);t(d,{state:{pathnameStackToGoBack:p}})},onColumnSortConfigChanged:(d,p)=>{sa(B,w,x)&&l!=null&&J.trackCardsCardListSortClick(F,v,l,"Sort Icon","sort",d,p==="ascending"?"ASC":"DESC","Cards List",T,b),e(bt({uiState:{sortKey:d,sortOrder:p}}))},onSearchTextChanged:d=>{e(ic(d))},onReloadCards:()=>{e(ca(S,B&&w,_&&C,!0))},onLetsGoClick:()=>{t("./onboard")},onBackClick:()=>{t("../../")},onTotalCashbackClick:()=>{sa(B,w,x)&&l!=null&&J.trackCardsCashbackOverviewClick(F,v,l,"Cashback Overview","cashback_details_viewed",T,b),t("./cashback")},onClickStatementsIcon:()=>{sa(B,w,x)&&l!=null&&J.trackCardsStatementsClick(F,v,l,T,b),t("./statements")},onCreateNowClick:d=>{sa(B,w,x)&&l!=null&&J.trackCardsNewCardClick(F,v,l,"Promo Banner","card_creation_initiated","Card List",T,b),t(`./new?cardType=${d}`)},onPromoCardClick:d=>{t(d==="debit"&&B&&!m||d==="credit"&&u&&!j?`../promo?cardPromoType=${d}`:"./setup")},navigateToCreditCardPaymentPage:(d,p)=>{f==="Completed"&&a.company!=null&&l!=null&&J.trackCardsPayEarlyClick(F,v,l,"Card List",d,p,{isZeniCheckingEnabled:a.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:h?.accType==="depositAccount",creditCardPaymentSourceAccountName:h?.label,creditCardPaymentSourceAccountType:h?.accType,creditCardPaymentSourceLastFourDigits:h?.accountLast4,creditCardPaymentSourceBalance:h?.accountBalance?.available?.amount??0},T,b);const M=ui(k);t(M)},navigateToCreditCardPaymentHistoryPage:()=>{const d=mi(k),p=ye(s.state?.pathnameStackToGoBack,s.pathname);t(d,{state:{pathnameStackToGoBack:p}})},shouldShowPayNowInfoTooltip:O,onSetRowActionCardId:d=>{e(oc(d))},onSetBulkActionCardIds:d=>{e(Xn(d))},onEventReceived:d=>{oi.has(d)&&Et(e,S,B&&w,_&&C)},onPusherSubscribed:()=>{Et(e,S,B&&w,_&&C)}}})(st(so));function Sn({isPaymentDrawerOpen:e}){const n=de(),t=ue(),a=pe(),s=r.useCallback(($,Ue)=>{t(Xn([])),n($,Ue)},[t,n]),[y,g]=r.useState(!1),[S,_]=r.useState(ne.getPayNowInfoTooltip()??!1),u=$=>{ne.savePayNowInfoTooltip($),_($)},[C,B]=r.useState(!1),w=ne.getSignedInUser(),m=i($=>fe($)),[j,F]=r.useState(!1),[x,h]=r.useState(!1),{isAiCfoAccessEnabled:f,onAskAiCfoClick:v}=xa({mobileExploreReferrer:"Cards"}),l=m.userRole.includes("charge_card_user"),T=!l,b=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:O,useDynamicConfig:D}=le(),{isFeatureEnabled:k}=O(Y.isCashbackFeatureEnabled),{isFeatureEnabled:R}=O(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:d}=O(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:p}=O(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:M}=O(Y.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:V}=O(Y.isCardsCommentingEnabled),{isFeatureEnabled:U}=O(Y.isAiCfoFileUploadEnabled),{isFeatureEnabled:L}=O(Y.isCardPolicyEnabled),{isFeatureEnabled:z}=O(Y.isAiCardCreationEnabled),H=Te(d,m),I=xe({isDebitCardFeatureEnabled:d,isBankingOnlyTenant:H}),P=we(m),W=ve(m),Q=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,E=Be({isCardsOnlyTenant:P,isChargeCardFeatureEnabled:R,isBookKeepingTenant:W,isDebitCardProductVisible:I,chargeCardsCreditAccountLimit:Q}),N=yr({isCardsOnlyTenant:P,isChargeCardFeatureEnabled:R,isBookKeepingTenant:W}),{configValue:Z}=D(We.zeniCardsConfig),X=Fe(),o=Pe(X?.loggedInUserRoleMap),A=i($=>oa($,m.companyId)),K=ia(A.controllers),re=Z.charge_card_cashback_rate_per_transaction!=null?Z.charge_card_cashback_rate_per_transaction:.0175,q=Z.credit_card_pay_now_threshold_by_company_id?.[m.companyId]??Z.default_credit_card_pay_now_threshold??Eo,ke=Z.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(Z.enable_card_controls_for_company_ids)&&Z.enable_card_controls_for_company_ids.includes(m.companyId),Se=!!m.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,ge=!!m.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,ee=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,me=i($=>Nn($)),oe=ya(me.updateStatus),ae=i($=>ua($,T,I&&b,E&&ee)),Ye=i($=>ac($)),Ee=i($=>tc($)),te=i($=>nc($)),Ze=i($=>rc($)),Re=i($=>te==null?[]:Un($.aiCfoState,te).filter(Ue=>Ue.kind==="creating_cards"),At),ce=ya(Ee.fetchState);r.useEffect(()=>{ce==="In-Progress"&&Ee.fetchState==="Completed"&&te!=null&&Re.forEach($=>{t(St({chatSessionId:te,id:$.id,entityIds:Ze,kind:"created_cards"}))})},[t,Ee.fetchState,te,Ze,Re,ce]);const Ea=ae.cards.filter($=>$.type.code.includes("debit")).map($=>$.connectedAccountId),pa=[...new Set(Ea)],ha=i($=>la($)),ta=i($=>tt($,pa)),Aa=i($=>wa($,m.companyId)),dt=Aa.companyChargeCardInfo?.primaryFundingAccount,lt=Aa.allFundingAccounts.find($=>$.id===dt?.accountId),Ce=ae.fetchState,Ua=ae.creditAccount,Da=r.useCallback(()=>o===!0&&L===!0&&Ce==="Completed"&&ne.getCardPolicyPopupSeen(m.tenantEmailDomain??"")!==!0,[o,L,Ce,m.tenantEmailDomain]),[ut,Oa]=r.useState(Da);r.useEffect(()=>{Oa(Da())},[Da]);const ja=()=>{ne.saveCardPolicyPopupSeen(m.tenantEmailDomain??"",!0),Oa(!1)},Ma=Ce==="Completed"&&!ae.hasCreditCard&&!ae.hasDebitCard;ro({isDataReady:Ce==="Completed",pageContext:Ma?"cards_creation":"cards"});const{creditAccountRepayment:G}=i($=>da($)),he=i($=>qa($).firstViewAfterActivation),{areTenantIdsInSync:Le}=fr(),Ve=Ot(o,ha),He=Ba(E,ee,o,Ua,G),Ge=jt(I,b,o,ta,ae.debitCardSummary),$e=Je(E,I,b,ee),na=ae.creditAccount.balance.amount+ae.creditAccount.hold.amount;if(r.useEffect(()=>{Ce==="Completed"&&(ne.getPayNowInfoTooltip()==null||na<q*ae.creditAccount.limit.amount/100)&&u(!0)},[Ce,q,na,ae.creditAccount.limit.amount]),r.useEffect(()=>{if(e!=null&&e===!0&&G.initiatedRepayments.amount===0&&G.fetchState==="Completed"||oe==="In-Progress"&&me.updateStatus==="Completed")u(!1),g(!0);else if(G.initiatedRepayments.amount>0&&G.fetchState==="Completed"){g(!1),document.body.style.overflow="auto";const $=aa(m.tenantEmailDomain);s($)}},[e,G.initiatedRepayments.amount,G.fetchState,oe,me.updateStatus,s,m.tenantEmailDomain]),r.useEffect(()=>{!j&&(ee||b)&&Le&&(F(!0),t(ca(T,I&&b,E&&ee,!1)))},[j,T,t,Le]),r.useEffect(()=>{he&&C===!1&&(B(!0),setTimeout(()=>{t(Wa())},5e3))},[he,C]),r.useEffect(()=>()=>{Et.flush()},[]),r.useEffect(()=>{Ce==="Completed"&&l&&ae.cards.length===1&&(ae.cards[0].status.code==="inactive"&&ae.cards[0].type.code==="business_physical_credit_card"?s(`./${ae.cards[0].id}/activate`):ae.cards[0].status.code!=="request_on_hold"&&(a.state?.message==="comingFromCardDetail"?s("../../"):s(`./${ae.cards[0].id}`)))},[Ce,l,a.state,s,ae.cards]),r.useEffect(()=>{if(Ce==="Completed"&&l){const $=ae.cards.length,Ue=ae.cards.filter(Ke=>Ke.cardHolderUserId===w?.userId).filter(Ke=>Ke.status.code==="request_on_hold");Ue.length>0&&$===Ue.length&&s("./onboard")}},[Ce,ae.cards,l,s,w?.userId]),r.useEffect(()=>{Ce!=="Completed"||E&&G.fetchState!=="Completed"||I&&b&&o&&ta.fetchState!=="Completed"||J.trackCardsCardListView(K,$e,Ve,He,Ge)},[Ce,Ua,G.fetchState,ta.fetchState,o]),w==null)throw Error("Can't access charge card list page without signing in...");const Vr=i($=>er($.userState,$.userRoleState,$.userListViewState,"cardAdmin")),Yt=Tt(X?.loggedInUserRoleMap),Zt=$=>{h($)},Hr=ae.creditAccount.limit,Gr=()=>{g(!1),s("..")},$r=m.companyChargeCardInfo?.info!=null&&Ia({cardInfo:m.companyChargeCardInfo.info,isProductVisible:E,isTOSAccepted:Se,isSetupEnabled:ee,isUserHasCardsAdminLevelAccess:o,isUserHasCardsAccess:Yt}),zr=m.companyDebitCardInfo?.info!=null&&Ia({cardInfo:m.companyDebitCardInfo.info,isProductVisible:I,isTOSAccepted:ge,isSetupEnabled:b,isUserHasCardsAdminLevelAccess:o,isUserHasCardsAccess:Yt}),Wr=$r||zr,Kt=function($){const{isEmptyCardsState:Ue,isChargeCardAdmin:Ke,isFileUploadEnabled:Qt}=$,Jt=de(),Na=pe(),{tenantEmailDomain:Va}=Me(),{isAiCfoOpen:qr,setIsAiCfoOpen:Xt}=ur(),Qr=mr(),Jr=Cr(),en=i(be=>Ln(be)).createSessionAndSubmitState.fetchState==="In-Progress",{chips:an,isResolved:tn}=Pr("cards_creation"),nn=r.useMemo(()=>_r(an,tn,3),[an,tn]),[Ha,mt]=r.useState(""),rn=Jr&&Qr&&Va!=null&&!qr,fa=r.useCallback(be=>{if(Va==null)return;const Xr=ye(Na.state?.pathnameStackToGoBack,Na.pathname);Jt(`/${Va}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Xr,referrer:"cards_hero",aiCfoInitialQuestion:be,aiCfoShouldSubmit:be!=null&&be.trim().length>0}})},[Na.pathname,Na.state,Jt,Va]),sn=r.useCallback(be=>{be.trim().length!==0&&(mt(""),fa(be))},[fa]),cn=r.useCallback(()=>{const be=Ha.trim();be.length!==0&&(mt(""),fa(be))},[Ha,fa]),on=r.useCallback(()=>{},[]),dn=r.useCallback(be=>{mt(be)},[]),ln=r.useCallback(()=>{Xt(!0)},[Xt]),un=r.useCallback(()=>{fa(void 0)},[fa]);return r.useMemo(()=>{if(rn&&Ue&&Ke)return{aiAgentName:ci,headline:ri,subheadline:si,promptChips:nn,composer:{currentInput:Ha,isSubmitting:en,isFileUploadEnabled:Qt,onInputChange:dn,onSubmit:cn,onStopSubmit:on},onPromptClick:sn,onOpenSidePanel:ln,onOpenFullView:un,dataTestIdPrefix:"cards-ai-cfo-hero"}},[Ha,rn,Ke,Ue,Qt,en,dn,un,ln,sn,on,cn,nn])}({isEmptyCardsState:Ma,isChargeCardAdmin:o,isFileUploadEnabled:U}),qt=z&&Kt!=null?c.jsx(pr,{...Kt}):null,Yr=f&&qt==null,Zr=ea(m),Kr={events:Ca(Zr,Or),eventCallback:($,Ue,Ke)=>{Ke.onEventReceived($)},onSubscribed:$=>{$.onPusherSubscribed()}};return ee||b?c.jsxs(c.Fragment,{children:[Ce==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Lt,{analytics:J,onLoad:()=>{J.trackPageLoaded(gr.Event.cardsListPage),(E&&!ee||I&&!b)&&J.trackCardsPromoView(K,{isCreditCardOffered:E,isDebitCardOffered:I,isDebitCardEnabled:b,isCreditCardEnabled:ee},"Banner",I&&!b?"Debit Card":E&&!ee?"Credit Card":"","Card List")}}),c.jsx(nt,{showConfetti:he})]}):null,y===!0?c.jsx($t,{closeDrawerHandler:Gr,isPaymentDrawerOpen:y,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:na,productInformation:$e,creditAccountInformation:He,debitAccountInformation:Ge,cashbackInformation:Ve,isDebitCardInfoFetchStateCompleted:!(I&&b&&o)||ta.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!E||G.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!o||ha.fetchState==="Completed",paymentInitiatedDate:G.initiatedRepaymentDate}):null,c.jsxs(ii,{children:[c.jsx(Ie,{isAppContentDrawerOpen:x,handleDrawerToggle:Zt}),c.jsx(di,{...Kr,isCashbackFeatureEnabled:k,isChargeCardFeatureEnabled:E,isDebitCardFeatureEnabled:I,isCreditCardProductVisibleForExpressInterest:N,updatePayNowInfoTooltip:u,showPayNowInfoTooltip:S,creditCardPayNowThreshold:q,signedInUser:w,chargeCardListState:ae,location:a,admins:Vr.users,navigateAndClearBulkSelection:s,currentTenant:m,isCardControlsEnabled:ke,companyChargeCardInfoCreditAccountLimit:m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:m.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:o,includeCreditAccountDebitSummaryAndCashbackInfo:T,onClickMenuIcon:()=>{Zt(!0)},creditLimit:Hr,isChargeCardSetupEnabled:ee,isDebitCardSetupEnabled:b,isEarlyPayEnabled:p,isChargeCardPaymentHistoryFeatureEnabled:M,cashbackRate:re,controllerEmails:K,chargeCardCashbackDetailState:ha,depositAccountListWithDebitCardIssued:ta,isChargeCardTOSAccepted:Se,isDebitCardTOSAccepted:ge,primaryFundingAccountDetails:lt,chargeCardSetUpViewFetchState:Aa.fetchState,productInformation:$e,creditAccountInformation:He,debitAccountInformation:Ge,cashbackInformation:Ve,isAiCfoAccessEnabled:Yr,onAskAiCfoClick:v,isCardsCommentingEnabled:V,cardsAiCfoHero:qt,onClickPolicyIcon:o&&L?()=>n(Ci(m.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:ut,onPolicyIntroTooltipClose:ja,pendingCreationCount:Ye})]})]}):(Se||ge)&&o===!0?c.jsx(ba,{to:"../setup"}):Wr?c.jsx(ba,{to:"../promo"}):c.jsx(va,{fetchState:Ce})}const li=e=>`/${e}/cards/new`,ui=e=>`/${e}/cards/payment`,mi=e=>`/${e}/cards/payment-history`,Ci=e=>`/${e}/cards/policy`,jr=[Br,Rr],pi=new Set(jr),hi=De(function(e){const n=ne.getSignedInUser(),t=fe(e),a=e.tenantState.currentTenantId,s=ar(e),y={userId:n?.userId??"",sessionId:n?.zeniSessionId??"",tenantId:a??""},g=t?.companyName??"",S=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:s.fetchState,filters:s.filters,isZeniTenant:hc(t),repaymentList:s.repaymentHistory,searchText:s.searchText,repaymentHistoryUsers:s.repaymentHistoryUsers,sortConfig:{sortKey:s.uiState.sortKey,sortOrder:s.uiState.sortOrder},downloadParams:{authParams:y,companyName:g,spendManagementEndPoint:`${It}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:S}},function(e,n){const{location:t,navigate:a}=n;return{onBackClick:()=>{const s=_e(t.state?.pathnameStackToGoBack),y=s.poppedPathname??"..";a(y,{state:{pathnameStackToGoBack:s.newStack}})},onColumnSortConfigChanged:(s,y)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:s,sortOrder:y}}})},onFiltersChange:s=>{e(gc({filters:s}))},onReloadPayments:()=>{e(Ga(!0))},onEventReceived:s=>{pi.has(s)&&e(Ga(!0))},onPusherSubscribed:()=>{e(Ga(!0))},onSearchTextChanged:s=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:s})},updateDownloadStateHandler:s=>{e(fc({uiState:{downloadState:s}}))}}})(st(co));function fi(){const e=de(),n=pe(),t=ue(),{areTenantIdsInSync:a}=fr(),{useFeatureGate:s}=le();if(ne.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const y=i(o=>fe(o)),g=i(o=>ar(o)),[S,_]=r.useState(!1),[u,C]=r.useState(!1),[B,w]=r.useState(!1),[m,j]=r.useState(null),F=!y.userRole.includes("charge_card_user"),x=!!y.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:h}=s(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:f}=s(Y.isDebitCardFeatureEnabled),v=Te(f,y),l=xe({isDebitCardFeatureEnabled:f,isBankingOnlyTenant:v}),T=we(y),b=ve(y),O=y.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Be({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:h,isBookKeepingTenant:b,isDebitCardProductVisible:l,chargeCardsCreditAccountLimit:O}),k=!!y.companyChargeCardInfo?.info?.isChargeCardEnabled,R=Fe(),d=Pe(R?.loggedInUserRoleMap),p=i(o=>ua(o,F,l&&x,D&&k)),M=r.useMemo(()=>{const o=p.cards.filter(A=>A.type.code.includes("debit"));return[...new Set(o.map(A=>A.connectedAccountId))]},[p.cards]),V=i(o=>la(o)),U=i(o=>tt(o,M)),{creditAccountRepayment:L}=i(o=>da(o)),z=r.useMemo(()=>Ot(d,V),[d,V]),H=r.useMemo(()=>Ba(D,k,d,p.creditAccount,L),[D,k,d,p.creditAccount,L]),I=r.useMemo(()=>jt(l,x,d,U,p.debitCardSummary),[l,x,d,U,p.debitCardSummary]),P=r.useMemo(()=>Je(D,l,x,k),[D,l,x,k]),W=p.creditAccount.balance.amount+p.creditAccount.hold.amount,Q=r.useMemo(()=>m!=null?g.repaymentHistory.find(o=>o.cardRepaymentId===m):void 0,[m,g.repaymentHistory]),E=r.useCallback(o=>{j(o),t(ca(F,l&&x,D&&k,!1)),w(!0)},[t,F,l,x,D,k]),N=r.useCallback(()=>{w(!1),j(null),document.body.style.overflow="auto"},[]);r.useEffect(()=>{S||g.fetchState==="Completed"||g.fetchState==="In-Progress"||(_(!0),t(Ga()))},[S,t,g.fetchState]),r.useEffect(()=>{!u&&(k||x)&&a&&(C(!0),t(ca(F,!1,D&&k,!1)))},[u,k,x,a,t,F,D]);const Z=ea(y),X={events:Ca(Z,jr),eventCallback:(o,A,K)=>{K.onEventReceived(o)},onSubscribed:o=>{o.onPusherSubscribed()}};return c.jsxs(c.Fragment,{children:[B?c.jsx($t,{closeDrawerHandler:N,isPaymentDrawerOpen:B,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:W,productInformation:P,creditAccountInformation:H,debitAccountInformation:I,cashbackInformation:z,isDebitCardInfoFetchStateCompleted:!(l&&x&&d)||U.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!D||L.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!d||V.fetchState==="Completed",paymentInitiatedDate:L.initiatedRepaymentDate,retryRepayment:Q}):null,c.jsx(hi,{...X,location:n,navigate:e,accountInfoByAccountId:g.accountInfoByAccountId,onRetryPaymentClick:E})]})}const bn=Ne.div`
|
|
26
|
+
display: flex;
|
|
27
|
+
height: 100vh;
|
|
28
|
+
width: 100%;
|
|
29
|
+
flex: 1 1 auto;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
overflow: auto;
|
|
32
|
+
align-items: center;
|
|
33
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
34
|
+
`,yn=Xe.getLocalizedStrings().months;function gi(){const e=de(),n=ue(),t=pe(),{creditAccount:a,creditAccountRepayment:s}=i(P=>da(P)),y=`${hr.cardMicroServiceBaseUrl}/1.0/credit-accounts/${a.id}`,[g,S]=r.useState(!1),[_,u]=r.useState(!1),C=i(P=>Sc(P)),{useFeatureGate:B}=le(),w=i(P=>fe(P)),{isFeatureEnabled:m}=B(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:j}=B(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:F}=B(Y.isCardsCommentingEnabled),x=Er(F?w.companyId:void 0,{clearParams:F&&C.fetchState==="Completed"}),h=Te(j,w),f=xe({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:h}),v=we(w),l=ve(w),T=w.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,b=Be({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:m,isBookKeepingTenant:l,isDebitCardProductVisible:f,chargeCardsCreditAccountLimit:T}),O=!!w.companyDebitCardInfo?.info?.isDebitCardEnabled,D=!!w.companyChargeCardInfo?.info?.isChargeCardEnabled,k=i(P=>oa(P,w.companyId)),R=ia(k.controllers),d=i(P=>tr(P)),p=d.cards.filter(P=>P.type.code.includes("debit")).map(P=>P.connectedAccountId),M=[...new Set(p)],V=i(P=>tt(P,M)),U=i(P=>bc(P));r.useEffect(()=>{_||a.fetchState==="Completed"||a.fetchState==="In-Progress"||(S(!0),n(Qe()))},[g,n,a.fetchState]),r.useEffect(()=>{_||a.fetchState!=="Completed"||a.id==null||C.fetchState==="Completed"||C.fetchState==="In-Progress"||(u(!0),n(yc(a.id)))},[_,n,a.fetchState,a.id,C.fetchState]),r.useEffect(()=>{V.fetchState!=="Completed"&&V.fetchState!=="In-Progress"&&f&&O&&n(nr()),d.fetchState!=="Completed"&&d.fetchState!=="In-Progress"&&n(je()),U.fetchState!=="Completed"&&U.fetchState!=="In-Progress"&&f&&O&&n(Ic()),s.fetchState!=="Completed"&&s.fetchState!=="In-Progress"&&b&&D&&n(wt())},[V.fetchState,f,O,d.fetchState,U.fetchState,s.fetchState,b,D]),r.useEffect(()=>{if(C.fetchState==="Completed"&&a.fetchState==="Completed"&&s.fetchState==="Completed"&&d.fetchState==="Completed"&&(!f||!O||V.fetchState==="Completed"&&U.fetchState==="Completed")){let P="",W="";if(C.statements.length>0){const Z=C.statements[C.statements.length-1].period,[X,o]=Z.split("-"),A=C.statements[0].period,[K,re]=A.split("-");P=`${yn[parseInt(o)-1]} ${X}`,W=`${yn[parseInt(re)-1]} ${K}`}const Q=Je(b,f,O,D),E=Ba(b,D,!0,a,s),N=jt(f,O,!0,V,U);J.trackCardsCreditCardStatementsView(R,Q,{numberOfStatements:C.statements.length,oldestStatementMonthYear:P,latestStatementMonthYear:W},E,N)}},[C.fetchState,a.fetchState,s.fetchState,V.fetchState,d.fetchState,U.fetchState]);const L=()=>{const P=_e(t.state?.pathnameStackToGoBack),W=P.poppedPathname??"..";e(W,{state:{pathnameStackToGoBack:P.newStack}})},z=i(P=>la(P)),H=ne.getSignedInUser(),I={userId:H?.userId??"",sessionId:H?.zeniSessionId??"",tenantId:w.tenantId??""};if(H==null)throw Error("Can't access address page without signing in...");if(C.fetchState!=="Completed")return c.jsx(bn,{children:c.jsx(oo,{onBackClick:L})});{const P=Je(b,f,O,D);return c.jsx(bn,{children:c.jsx(io,{currentTenantCompanyName:w.companyName,statementListView:C,productInformation:P,onBackClick:L,authParams:I,controllerEmails:R,isChargeCardFeatureEnabled:b,isDebitCardFeatureEnabled:f,isDebitCardSetupEnabled:O,isChargeCardSetupEnabled:D,isCardsCommentingEnabled:F,initialOpenThreadRequest:x,chargeCardCashbackDetailState:z,creditAccount:a,creditAccountRepayment:s,depositAccountListWithDebitCardIssued:V,debitCardSummary:U,downloadEndPoint:y})})}}const Mr=[ma,it],Si=new Set(Mr),bi={containerWidth:new Fa(100,58)},yi=({appContent:e})=>{const n=Ta(),t=ue(),a=de(),s=pe(),{useDynamicConfig:y}=le(),[g,S]=r.useState(!1),[_,u]=r.useState(!1),[C,B]=r.useState(!1),[w,m]=r.useState(!1),j=r.useRef(!1),F=r.useRef(null);r.useEffect(()=>()=>{F.current!=null&&(clearTimeout(F.current),F.current=null)},[]);const[x,h]=r.useState(!1),[f,v]=r.useState(!1),l=ne.getSignedInUser();if(l==null)throw Error("Can't access onboarding card page without signing in...");const T=i(N=>fe(N)),{configValue:b}=y(We.zeniCardsConfig),O=i(N=>kc(N)),{tenantEmailDomain:D}=T,k=i(N=>N.settingsViewState.profile.fetchState),R=i(N=>N.chargeCardListState.fetchState),d=i(N=>N.settingsViewState.profile.userId),p=i(N=>N.chargeCardConfigState.fetchState);r.useEffect(()=>{g===!1&&k!=="In-Progress"&&k!=="Completed"&&(t(Ec()),S(!0)),_===!1&&p!=="In-Progress"&&p!=="Completed"&&(t(Qa()),u(!0)),C===!1&&R==="Not-Started"&&(B(!0),t(je()))},[g,C,R,_,p]),r.useEffect(()=>{k==="Completed"&&x===!1&&d!=null&&R==="Completed"&&O.cards.length>0&&(t(Ac({userId:d})),t(rr({cardId:O.cards[O.cards.length-1].id})),h(!0))},[k,x,d,R]),r.useEffect(()=>{if(!w&&O.fetchState==="Completed"&&O.cards.length===0){const N=_e(s.state?.pathnameStackToGoBack),Z=N.poppedPathname??aa(D);a(Z,{state:{pathnameStackToGoBack:N.newStack}})}},[O.fetchState,O.cards,w]);const M=i(N=>qa(N)),V=ya(M.updateStatus.fetchState),U=M.currentDisplayedCardId,{useFeatureGate:L}=le(),{isFeatureEnabled:z}=L(Y.isChargeCardFeatureEnabled),H=!!T.companyChargeCardInfo?.info?.isChargeCardEnabled,I=!T.userRole.includes("charge_card_user")&&z&&H,P=i(N=>U!=null?sr(N.chargeCardState,U):null),W=()=>{U!=null&&(j.current=!0,F.current!=null&&clearTimeout(F.current),F.current=setTimeout(()=>{j.current=!1,F.current=null},5e3),t(ka(U,I,!0)),t(je(!0)),m(!0))},Q=ea(T);Mt({events:Ca(Q,Mr),onSubscribed:()=>{t(je(!0))},onEvent:(N,Z)=>{if(!Si.has(N))return;const X=zt(Z),o=j.current;if(N===ma){const K=ie(X?.card_id)??U;if(K!=null){const re=Wt(X,K);if(re!=null)return t(vt(re)),void(K!==U||o||W())}}if(N===it)return void t(je(!0));const A=ie(X?.card_id)??U;(U==null||A===U)&&U!=null?o||W():t(je(!0))}}),r.useEffect(()=>{if(w&&U!=null&&P!=null&&P.status.code!=="request_on_hold"){const N=Ae(T.tenantEmailDomain,U,l,P),Z=ye(s.state?.pathnameStackToGoBack,s.pathname);t(Dc()),P?.type.code==="business_virtual_credit_card"&&t(Ja()),a(N,{state:{pathnameStackToGoBack:Z},replace:!0}),j.current=!1,F.current!=null&&(clearTimeout(F.current),F.current=null)}},[w,P?.status.code]),r.useEffect(()=>{V==="In-Progress"&&M.updateStatus.fetchState==="Completed"&&setTimeout(W,3e3)},[V,M.updateStatus.fetchState]);const E=N=>{v(N)};if(k!=="Completed"||O.cards.length===0)return c.jsxs(In,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:E}),c.jsx(lo,{})]});if(d==null)throw Error("Can't access my userId.");return c.jsxs(In,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:E}),c.jsx(Ii,{chargeCardListView:O,cardUserOnboardingView:M,navigate:a,currentTenant:T,myUserId:d,location:s,chargeCardCashbackRatePerTransaction:b.charge_card_cashback_rate_per_transaction!=null?b.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{E(!0)}}),e!=null?c.jsx(ki,{windowSize:n,children:e}):null]})},Ii=De(function(e,{currentTenant:n,cardUserOnboardingView:t,chargeCardListView:a,myUserId:s}){const y=ua(e,!1,!1,!1);let g=!1;return y.fetchState==="Completed"&&y.cards.length<=1&&(g=!0),{cards:a.cards,showMenuIcon:g,companyLegalName:n.companyName,twoFAView:t.twoFAView,cardUserOnboardingLocalData:t.cardUserOnboardingLocalData??{userId:s},isDOBDisabled:t.isDOBPresent,onboardingProgressStatus:t.onboardingProgressStatus}},function(e,n){const{navigate:t,cardUserOnboardingView:a,location:s,currentTenant:y}=n,{tenantEmailDomain:g}=y;return{updateCardUserOnboardingLocalData:S=>{e(pn({localData:S}))},onGetOtp:S=>{if(a.cardUserOnboardingLocalData!=null){const _={...a.cardUserOnboardingLocalData,phone:S};e(pn({localData:_}))}e(at(S,"CardUserOnboarding"))},onResendOtp:S=>{e(et(S,"CardUserOnboarding"))},onVerifyOtp:(S,_)=>{e(Xa(S,_,"CardUserOnboarding"))},onVerifyOtpSuccess:S=>{e(_c()),S!=null&&ne.saveZeniOtpToken(S)},setCurrentDisplayedCardId:S=>{e(rr({cardId:S}))},onBackClick:()=>{const S=_e(s.state?.pathnameStackToGoBack),_=S.poppedPathname??aa(g);t(_,{state:{pathnameStackToGoBack:S.newStack}})}}})(uo),ki=Ne.div`
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
width: ${e=>`${bi.containerWidth.value(e.windowSize)}%`};
|
|
38
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
39
|
+
`,In=Ne.div`
|
|
40
|
+
display: flex;
|
|
41
|
+
min-height: 100%;
|
|
42
|
+
width: 100%;
|
|
43
|
+
flex: 1 1 auto;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
align-items: center;
|
|
46
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
47
|
+
`,Ei={containerWidth:new Fa(100,58)},Ai=({appContent:e})=>{const n=Ta(),t=ue(),a=de(),{cardId:s}=Me(),y=pe(),{useDynamicConfig:g,useFeatureGate:S}=le(),[_,u]=r.useState(!1),[C,B]=r.useState(!1),[w,m]=r.useState(!1),[j,F]=r.useState(!1),x=ne.getSignedInUser();if(x==null)throw Error("Can't access onboarding card page without signing in...");const h=i(I=>fe(I));if(s==null)throw Error("Empty card id is not valid...");const{configValue:f}=g(We.zeniCardsConfig),v=i(I=>Pc(I,s)),{isFeatureEnabled:l}=S(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:T}=S(Y.isDebitCardFeatureEnabled),b=Te(T,h),O=xe({isDebitCardFeatureEnabled:T,isBankingOnlyTenant:b}),D=we(h),k=ve(h),R=h.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,d=Be({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:l,isBookKeepingTenant:k,isDebitCardProductVisible:O,chargeCardsCreditAccountLimit:R}),p=v.chargeCard,M=i(I=>I.chargeCardConfigState.fetchState);r.useEffect(()=>{_===!1&&M!=="In-Progress"&&M!=="Completed"&&(t(Qa()),u(!0)),C===!1&&v.fetchState==="Not-Started"&&(B(!0),t(ka(s,!1,d)))},[C,v.fetchState,_,M]);const V=p?.type.code==="business_physical_debit_card"||p?.type.code==="business_virtual_debit_card";r.useEffect(()=>{if(v.fetchState==="Completed"){if(w===!1&&(V===!1||V&&p.status?.code!=="active"||V&&p.status.code==="active"&&p.isPinSet||p.cardHolderUserId!==x.userId)){const I=Ae(h.tenantEmailDomain,s,x,p,!0),P=ye(y.state?.pathnameStackToGoBack,y.pathname);a(I,{state:{pathnameStackToGoBack:P}})}else if(w&&v.isRefreshingViewInBackground===!1&&p?.isPinSet===!0){t(wc({chargeCardId:s}));const I=Ae(h.tenantEmailDomain,s,x,p,!0),P=ye(y.state?.pathnameStackToGoBack,y.pathname);t(Ja()),a(I,{state:{pathnameStackToGoBack:P}})}}},[v.fetchState,p?.type.code,w,v.isRefreshingViewInBackground]);const U=ne.getZeniOtpTokenForCardHolder(s),L=i(I=>jn(I.userState,x.userId)),z=()=>{p?.isPinSet!==!0&&t(ga(s,!0))};r.useEffect(()=>{v.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(z,3e3),m(!0))},[v.updateDebitCardPinAttemptFetchState.fetchState]);const H=I=>{F(I)};if(M!=="Completed"||p==null)return c.jsx(va,{fetchState:"In-Progress"});if(L?.phone==null)throw Error("Can't access user phone number.");return c.jsxs(Pi,{children:[c.jsx(Ie,{isAppContentDrawerOpen:j,handleDrawerToggle:H}),c.jsx(Di,{cardId:s,card:p,phone:L.phone,signedInUser:x,isSandboxEnv:Bt(),debitCardDetailState:v,signedInUserToken:U,navigate:a,currentTenant:h,location:y,chargeCardCashbackRatePerTransaction:f.charge_card_cashback_rate_per_transaction!=null?f.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{H(!0)}}),e!=null?c.jsx(_i,{windowSize:n,children:e}):null]})},Di=De(function(e,{debitCardDetailState:n,cardId:t}){const a=Mn(e,t),s=n.updateStatus,y=ua(e,!1,!1,!1);let g=!1;return y.fetchState==="Completed"&&y.cards.length<=1&&(g=!0),{showMenuIcon:g,vgsVaultId:rt.cardVaultId,twoFAView:a,setPinWaitStatus:s}},function(e,n){const{navigate:t,cardId:a,location:s,currentTenant:y,debitCardDetailState:g}=n,S=g.chargeCard?.cardProviderID,{tenantEmailDomain:_}=y;return{onGetOtp:u=>{S!=null&&e(at(u,"ChargeCardHolder",a))},onUpdateDebitCardPinAttempt:u=>{e(Wn(a,u))},onResendOtp:u=>{S!=null&&e(et(u,"ChargeCardHolder",a))},onVerifyOtp:(u,C)=>{S!=null&&e(Xa(u,C,"ChargeCardHolder",a))},onVerifyOtpSuccess:u=>{u!=null&&ne.saveZeniOtpTokenForCardHolder(u,a)},onSetPinSuccess:()=>{e(vc({chargeCardId:a}))},onBackClick:()=>{const u=_e(s.state?.pathnameStackToGoBack),C=u.poppedPathname==null||u.poppedPathname.includes("activate")===!0?aa(_):u.poppedPathname;t(C,{state:{pathnameStackToGoBack:u.newStack}})}}})(mo),_i=Ne.div`
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
width: ${e=>`${Ei.containerWidth.value(e.windowSize)}%`};
|
|
51
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
52
|
+
box-shadow: ${e=>`${Ya.sp0} 2px ${Ya.sp1} ${e.theme.colors.dropShadowNormal}`};
|
|
53
|
+
`,Pi=Ne.div`
|
|
54
|
+
display: flex;
|
|
55
|
+
min-height: 100%;
|
|
56
|
+
width: 100%;
|
|
57
|
+
flex: 1 1 auto;
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
align-items: center;
|
|
60
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
61
|
+
box-shadow: ${e=>`${Ya.sp0} 2px ${Ya.sp1} ${e.theme.colors.dropShadowNormal}`};
|
|
62
|
+
`,wi={overlayWidth:new Fa(Ct[12],Ct[12],Ct[9])},vi=De(function(e,n){const t=Ft(e,!1,!1),a=n.lineId,s=t.customAddress[a],y=t.customAddressStatus[a]??{fetchState:"Not-Started",error:void 0};return{googleAPIKey:n.googleAPIKey,customAddress:s,customAddressStatus:y,lineId:a}},function(e,n){const{newCustomAddressId:t,lineId:a,chargeCardTypeOption:s}=n;return{onSubmitHandler:y=>{t!=null&&e(cr(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`));const g=_o(y);e(xc({addressType:`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`,addressToCreate:g})),e(Bc(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`))},onDismissClick:()=>{n.onDismissClick(),t!=null&&e(Fc({addressId:t,cardLineId:a,cardType:s==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}})(Co),Ti=({lineId:e,closeDrawerHandler:n,chargeCardTypeOption:t})=>{const a=Rt(),s=Ta(),y=()=>{n()},g=i(S=>Tc(`${t==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,S))?.newAddressId;return c.jsx(Sr,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:wi.overlayWidth.valuePercentage(s),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:a.colors.black,cursor:"pointer"}}},onClose:(S,_)=>(_==="backdropClick"||_==="escapeKeyDown")&&y(),children:c.jsx(vi,{googleAPIKey:rt.googleMapsAPIKey,onDismissClick:y,lineId:e,chargeCardTypeOption:t,newCustomAddressId:g})})},Fi=De(function(e,n){const{isChargeCardFeatureEnabled:t,isDebitCardFeatureEnabled:a,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:y,isChargeCardSetupEnabled:g,isDebitCardSetupEnabled:S}=n,_=Ft(e,t&&g,a&&S);return{issueChargeCards:_,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:y,isDebitCardFeatureEnabled:a,isChargeCardFeatureEnabled:t,isChargeCardSetupEnabled:g,isDebitCardSetupEnabled:S,cardHolderCandidates:_.userList.map(u=>u.user).filter(Boolean),allRoles:_.userList.map(u=>u.userRole),allAccountingClasses:_.allAccountingClasses,userList:_.userList}},function(e,n){return{onIssueCardClick:()=>{e(Uc())},onSaveChangesToLocalStore:t=>{e(Lc(t))},onDismissClick:()=>{e(or()),n.navigate("../")},resetCustomAddressByLineID:(t,a)=>{e(cr(`${a==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`))},openAddAddressDrawerHandler:n.openAddAddressDrawerHandler}})(fo);function xi(){const e=ne.getSignedInUser(),n=de(),t=ue(),a=po(),[s]=kn(),y=s.get("cardType"),{useFeatureGate:g}=le(),{isFeatureEnabled:S}=g(Y.isIssuePhysicalCardEnabled),{isFeatureEnabled:_}=g(Y.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:u}=g(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:C}=g(Y.isChargeCardFeatureEnabled),B=i(z=>fe(z)),w=Te(u,B),m=xe({isDebitCardFeatureEnabled:u,isBankingOnlyTenant:w}),j=we(B),F=ve(B),x=B.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,h=Be({isCardsOnlyTenant:j,isChargeCardFeatureEnabled:C,isBookKeepingTenant:F,isDebitCardProductVisible:m,chargeCardsCreditAccountLimit:x}),[f,v]=r.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");r.useEffect(()=>{f||(v(!0),t(Rc(m&&T,h&&l,!1)))},[f,v,t]);const l=!!B.companyChargeCardInfo?.info?.isChargeCardEnabled,T=!!B.companyDebitCardInfo?.info?.isDebitCardEnabled,b=i(z=>Ft(z,h&&l,m&&T)),O=b.fetchState,D=b.issueCardStatus.fetchState,k=b.lastSelfIssuedDebitCardId,R=i(z=>k!=null?sr(z.chargeCardState,k):void 0),[d,p]=r.useState(null),[M,V]=r.useState(null),U=()=>{p(null)},L=(z,H)=>{p(z),V(H)};return r.useEffect(()=>{if(D==="Completed"){if(k!=null&&R?.type.code==="business_virtual_debit_card"){let z;z=R?.status.code==="request_on_hold"&&e.userId===R.cardHolderUserId?kr(B.tenantEmailDomain):Ae(B.tenantEmailDomain,k,e,R),n(z)}else n("../");t(or())}},[D,k]),O==="Completed"?c.jsxs(c.Fragment,{children:[d!==null&&M!==null?c.jsx(Ti,{closeDrawerHandler:U,lineId:d,chargeCardTypeOption:M}):null,c.jsx(Fi,{themeState:a,isIssuePhysicalCardEnabled:S,isIssuePhysicalDebitCardEnabled:_,isDebitCardFeatureEnabled:m,isChargeCardFeatureEnabled:h,isChargeCardSetupEnabled:l,isDebitCardSetupEnabled:T,navigate:n,fetchState:b.fetchState,openAddAddressDrawerHandler:L,defaultCardType:y==="creditCard"||y==="debitCard"?y:void 0})]}):O==="Error"?c.jsx(ct,{}):c.jsx(ho,{})}const Nr=[ma,it],Bi=new Set(Nr),Ri=Ne.div`
|
|
63
|
+
display: flex;
|
|
64
|
+
height: 100vh;
|
|
65
|
+
width: 100%;
|
|
66
|
+
flex: 1 1 auto;
|
|
67
|
+
flex-direction: column;
|
|
68
|
+
overflow: auto;
|
|
69
|
+
align-items: center;
|
|
70
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
71
|
+
`,Li=De(function(e,n){const{myPendingActivationChargeCardListState:t}=n;return{myPendingActivationChargeCardListView:t,uiState:t.uiState,signedInUser:n.signedInUser}},function(e,n){const{navigate:t,currentTenant:a,location:s,signedInUser:y,myPendingActivationChargeCardListState:g}=n,{tenantEmailDomain:S}=a,{cards:_}=g;return{onChargeCardRowClick:u=>{const C=Ir(_,u),B=Ae(S,u,y,C),w=ye(s.state?.pathnameStackToGoBack,s.pathname);t(B,{state:{pathnameStackToGoBack:w}})},onColumnSortConfigChanged:(u,C)=>{e(bt({uiState:{sortKey:u,sortOrder:C}}))},onReloadCards:()=>{e(je())},onBackClick:()=>{const u=a.userRole.includes("charge_card_user");e(bt({uiState:{sortKey:u?"cardName":"owner",sortOrder:"ascending"}})),t("../")}}})(go);function Ui(){const e=de(),n=ue(),t=pe(),a=Rt(),[s,y]=r.useState(!1),g=i(L=>Oc(L)),S=i(L=>fe(L)),_=i(L=>oa(L,S.companyId)),u=ia(_.controllers),{useFeatureGate:C}=le(),{isFeatureEnabled:B}=C(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:w}=C(Y.isDebitCardFeatureEnabled),m=Te(w,S),j=xe({isDebitCardFeatureEnabled:w,isBankingOnlyTenant:m}),F=!!S.companyDebitCardInfo?.info?.isDebitCardEnabled,x=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,h=Fe(),f=we(S),v=ve(S),l=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,T=Be({isCardsOnlyTenant:f,isChargeCardFeatureEnabled:B,isBookKeepingTenant:v,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:l}),b=Pe(h?.loggedInUserRoleMap),O=i(L=>la(L)),{creditAccount:D,creditAccountRepayment:k}=i(L=>da(L)),R=i(L=>tr(L)).cards.filter(L=>L.type.code.includes("debit")).map(L=>L.connectedAccountId),d=[...new Set(R)],p=i(L=>tt(L,d));r.useEffect(()=>{s||g.fetchState==="Completed"||g.fetchState==="In-Progress"||(y(!0),n(je()),n(Qa()))},[s,n,g.fetchState]),r.useEffect(()=>{if(g.fetchState==="Completed"&&g.cards.length===1&&M!=null){const L=Ae(S.tenantEmailDomain,g.cards[0].id,M,g.cards[0]);e(L,{state:{message:t.state?.message}})}},[g.fetchState,g.cards]);const M=ne.getSignedInUser();r.useEffect(()=>{D.fetchState!=="Completed"&&D.fetchState!=="In-Progress"&&T&&x&&b&&n(Qe()),k.fetchState!=="Completed"&&k.fetchState!=="In-Progress"&&b&&n(wt()),p.fetchState!=="Completed"&&p.fetchState!=="In-Progress"&&j&&F&&b&&n(nr())},[D.fetchState,k.fetchState,n,p.fetchState,j,F,b,T,x]);const V=ea(S);if(Mt({events:Ca(V,Nr),onEvent:(L,z)=>{if(!Bi.has(L))return;const H=zt(z);if(L===ma){const I=ie(H?.card_id);if(I!=null){const P=Wt(H,I);if(P!=null)return void n(vt(P))}}n(je(!0))},onSubscribed:()=>{n(je(!0))}}),M==null)throw Error("Can't access address page without signing in...");const U=g.cards!=null&&g.cards.length>0;if(g.fetchState==="Completed"||U){const L=Je(T,j,F,x);return c.jsx(Ri,{children:c.jsx(Li,{navigate:e,currentTenant:S,signedInUser:M,productInformation:L,myPendingActivationChargeCardListState:g,isChargeCardFeatureEnabled:T,isDebitCardFeatureEnabled:j,isDebitCardSetupEnabled:F,isChargeCardSetupEnabled:x,chargeCardCashbackDetailState:O,creditAccount:D,creditAccountRepayment:k,depositAccountListWithDebitCardIssued:p,controllerEmails:u,location:t})})}return c.jsx(va,{fetchState:"In-Progress",style:{backgroundColor:a.colors.grey5}})}const Oi=De(function(e,n){const{companyId:t,companyLegalName:a}=n;return{chargeCardSetupView:wa(e,t),admins:n.adminList,companyLegalName:a,meetingUrl:"https://meetings.hubspot.com/niharn/demo-zeni-charge-cards?embed=true"}},function(e,n){const{navigate:t,companyId:a,isCompanyBusinessVerificationAndPaymentSetUpDone:s,isDebitCardSetupEnabled:y,isChargeCardSetupEnabled:g,signedInUser:S,location:_,productInformation:u,isEarlyPayEnabled:C,controllerEmails:B,chargeCardsCreditAccountLimit:w}=n;return{onSetupButtonClick:m=>{if(S!=null&&J.trackCardsPromoPageClicked("enable cards"),s)switch(J.trackCardsEnableCardsClick(B,u,"Cards Promo"),m){case"credit":e(qe(a,!0,"charge_cards",C,!1));break;case"debit":e(qe(a,!0,"debit_cards",C,!1));break;case"debit_and_credit":e(w===0?qe(a,!0,"debit_cards",C,!0):qe(a,!0,"charge_cards__debit_cards",C,!1))}else switch(J.trackCardsSetupCardsClick(B,u,"Cards Promo"),m){case"credit":e(qe(a,!1,"charge_cards",C,!1));break;case"debit":e(qe(a,!1,"debit_cards",C,!1));break;case"debit_and_credit":e(w===0?qe(a,!1,"debit_cards",C,!0):qe(a,!1,"charge_cards__debit_cards",C,!1))}},onBackClick:()=>{const m=_e(_.state?.pathnameStackToGoBack);let j=m.poppedPathname;j==null&&(j=y||g?"..":"../.."),t(j,{state:{pathnameStackToGoBack:m.newStack}})},onLetsGoClick:()=>{t("./onboard")},onSetupChargeCardSuccess:()=>{s?(e(Ja()),t("../",{relative:"path"})):t("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(Nc(a))}}})(bo),ji=()=>{const e=de(),{tenantEmailDomain:n}=Me(),[t]=kn(),a=t.get("cardPromoType"),s=ue(),{useDynamicConfig:y,useFeatureGate:g}=le(),[S,_]=r.useState(!1),{isFeatureEnabled:u}=g(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:C}=g(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:B}=g(Y.isChargeCardFeatureEnabled),{configValue:w}=y(We.zeniCardsConfig),m=i(te=>fe(te)),j=i(te=>oa(te,m.companyId)),F=ia(j.controllers),x=w.charge_card_cashback_rate_per_transaction!=null?w.charge_card_cashback_rate_per_transaction:.0175,h=pe(),f=ne.getSignedInUserTenant(n)?.companyId??m.companyId,v=i(te=>wa(te,f)),l=v.primaryFundingAccount,T=m.companyBillPayInfo?.info,b=we(m),O=ve(m),D=Te(u,m),k=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,R=xe({isDebitCardFeatureEnabled:u,isBankingOnlyTenant:D}),d=Be({isCardsOnlyTenant:b,isChargeCardFeatureEnabled:B,isBookKeepingTenant:O,isDebitCardProductVisible:R,chargeCardsCreditAccountLimit:k}),p=yr({isCardsOnlyTenant:b,isChargeCardFeatureEnabled:B,isBookKeepingTenant:O}),M=R&&d===!1,V=T?.businessVerificationStatus?.code==="verified"&&(M||l?.accType==="depositAccount"||jc(l?.providerVerificationStatus?.code??"")),U=ne.getSignedInUser(),L=!!m.companyZeniAccountInfo?.info?.isZeniAccountEnabled,z=!!m.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,H=!!m.company?.companyChargeCardInfo.isChargeCardEnabled,I=!!m.company?.companyDebitCardInfo.isDebitCardEnabled,P=!!m.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,W=te=>{_(te)},Q=i(te=>te.chargeCardSetupViewState.fetchState);if(U==null)throw Error("Can't access Charge Card promo page without signing in...");const E=Fe(),N=Pe(E?.loggedInUserRoleMap),Z=Tt(E?.loggedInUserRoleMap),[X,o]=r.useState(!1),[A,K]=r.useState(!1),[re,q]=r.useState(!1);r.useEffect(()=>{X===!1&&h.state?.message==="activation"&&o(!0)},[h.state]),r.useEffect(()=>{A||Q!=="Not-Started"||f==null||(K(!0),s(Pa(f,!0)))},[A,Q,f,s]);const ke=m.companyChargeCardInfo?.info!=null&&Ia({cardInfo:m.companyChargeCardInfo.info,isProductVisible:p,isTOSAccepted:z,isSetupEnabled:H,isUserHasCardsAdminLevelAccess:N,isUserHasCardsAccess:Z}),Se=m.companyDebitCardInfo?.info!=null&&Ia({cardInfo:m.companyDebitCardInfo.info,isProductVisible:R,isTOSAccepted:P,isSetupEnabled:I,isUserHasCardsAdminLevelAccess:N,isUserHasCardsAccess:Z}),ge=R&&Se&&p&&k>=0&&ke?"debit_and_credit":R&&Se?"debit":"credit",ee=Do(a,ge),me=v?.chargeCardTermsDetails?.fetchStatus?.fetchState,oe=r.useRef(null);r.useEffect(()=>{me==="In-Progress"?oe.current=ee:me!=="Error"&&me!=="Not-Started"||(oe.current=null)},[me,ee]);const ae=me!=="In-Progress"&&me!=="Completed"||oe.current==null?ee:oe.current;r.useEffect(()=>{ee==="credit"&&(H||p===!1&&I)||ee==="debit"&&I||ee==="debit_and_credit"&&I&&H?e("../"):(ee==="debit_and_credit"&&z===!0&&P===!0||ee==="credit"&&(z===!0||p===!1&&P===!0)||ee==="debit"&&P===!0)&&N===!0&&e("../setup")},[V,H,I,ee,z,P]),r.useEffect(()=>{re||(s(Mc("cardAdmin")),q(!0))},[re]);const Ye=i(te=>er(te.userState,te.userRoleState,te.userListViewState,"cardAdmin")),Ee=Je(p,R,I,H);return(ke||Se)&&Q==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Lt,{analytics:J,onLoad:()=>{if(J.trackPageLoaded(gr.Event.cardsPromoPage),!!p&&!H||!!R&&!I||!!p&&!!R&&!I&&!H){const te=Mi({isDebitCardSetupEnabled:I,isChargeCardSetupEnabled:H,isCreditCardProductVisibleForExpressInterest:p,isDebitCardProductVisible:R});J.trackCardsPromoView(F,Ee,"Page",te,"Promo Page")}}}),c.jsx(nt,{showConfetti:X}),c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:W}),c.jsx(Oi,{signedInUser:U,location:h,showEnableCardButton:V,isCompanyBusinessVerificationAndPaymentSetUpDone:V,isChargeCardSetupEnabled:H,isDebitCardSetupEnabled:I,companyLegalName:m.companyName,adminList:Ye.users,isCheckingEnabled:L,navigate:e,companyId:f,cardPromoType:ae,controllerEmails:F,productInformation:Ee,isCreditCardProductVisible:d,isDebitCardFeatureEnabled:u,isEarlyPayEnabled:C,cashbackRate:x,chargeCardsCreditAccountLimit:k,onClickMenuIcon:()=>{W(!0)}})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:W}),c.jsx(So,{})]})},Mi=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:n,isCreditCardProductVisibleForExpressInterest:t,isDebitCardProductVisible:a})=>t&&a&&!e&&!n?"Credit & Debit Card":t&&!n?"Credit Card":a&&!e?"Debit Card":"";function ud(){const e=pe(),n=i(E=>fe(E)),{useFeatureGate:t}=le(),{isFeatureEnabled:a}=t(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:s}=t(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:y}=t(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:g}=t(Y.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:S}=t(Y.isCardPolicyEnabled),_=Te(s,n),u=xe({isDebitCardFeatureEnabled:s,isBankingOnlyTenant:_}),C=yo(n,a,s),B=!!n.company?.companyChargeCardInfo.isChargeCardTOSAccepted,w=!!n.company?.companyDebitCardInfo.isDebitCardTOSAccepted,m=!!n.company?.companyChargeCardInfo.isChargeCardEnabled,j=!!n.company?.companyDebitCardInfo.isDebitCardEnabled,F=Fe(),x=Pe(F?.loggedInUserRoleMap),h=Tt(F?.loggedInUserRoleMap),{isFeatureEnabled:f}=t(Y.isCashbackFeatureEnabled),v=n.userRole.includes("charge_card_user"),l=!v,T=!v&&m,b=n?.userRole!=null&&Vc(n?.userRole),O=(n?.company==null||n.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!b)&&Hc(F?.loggedInUserRoleMap),D=Gc(F?.loggedInUserRoleMap),k=(n?.company==null||n.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!b)&&$c(F?.loggedInUserRoleMap),{isFeatureEnabled:R}=t(Y.isDepositAccountsFeatureEnabled),d=R&&!b&&Vn(F?.loggedInUserRoleMap),p=m&&!b,M=j&&!b,V=C&&!b&&Pe(F?.loggedInUserRoleMap),U=zc(F?.loggedInUserRoleMap),L=we(n),z=ve(n),H=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Be({isCardsOnlyTenant:L,isChargeCardFeatureEnabled:a,isBookKeepingTenant:z,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:H}),P=n.companyChargeCardInfo?.info!=null&&Ia({cardInfo:n.companyChargeCardInfo.info,isProductVisible:I,isTOSAccepted:B,isSetupEnabled:m,isUserHasCardsAdminLevelAccess:x,isUserHasCardsAccess:h}),W=n.companyDebitCardInfo?.info!=null&&Ia({cardInfo:n.companyDebitCardInfo.info,isProductVisible:u,isTOSAccepted:w,isSetupEnabled:j,isUserHasCardsAdminLevelAccess:x,isUserHasCardsAccess:h}),Q=P||W;return c.jsxs(es,{children:[x?c.jsx(se,{path:"setup",element:c.jsx(hn,{isBillPayAdminLevelAccess:O,isReimbursementAdminLevelAccess:k,isZeniAccountAdminLevelAccess:d,isChargeCardAdminLevelAccess:V,isUserHasOnlyCardAccess:U,isUserHasOnlyBillPayAccess:D,productType:"charge_cards",type:"setup"})}):null,x?c.jsx(se,{path:"verification",element:c.jsx(hn,{isBillPayAdminLevelAccess:O,isUserHasOnlyBillPayAccess:D,isReimbursementAdminLevelAccess:k,isZeniAccountAdminLevelAccess:d,isChargeCardAdminLevelAccess:V,isUserHasOnlyCardAccess:U,productType:"charge_cards",type:"verification"})}):null,x&&S?c.jsxs(c.Fragment,{children:[c.jsx(se,{path:"policy",element:c.jsx(Mo,{})}),c.jsx(se,{path:"policy/new",element:c.jsx(To,{})}),c.jsx(se,{path:"policy/:templateId/edit",element:c.jsx(Ro,{})})]}):null,c.jsx(se,{path:"promo",element:c.jsx(ji,{})}),p||M?c.jsxs(c.Fragment,{children:[c.jsx(se,{path:"/",element:c.jsx(Sn,{isPaymentDrawerOpen:!1})}),V&&y?c.jsx(se,{path:"payment",element:c.jsx(Sn,{isPaymentDrawerOpen:!0})}):null,c.jsx(se,{path:"activate",element:c.jsx(Ui,{})}),c.jsx(se,{path:"onboard",element:c.jsx(yi,{})}),x?c.jsx(se,{path:"new",element:c.jsx(xi,{})}):null,f&&l?c.jsx(se,{path:"cashback",element:c.jsx($o,{})}):null,T?c.jsx(se,{path:"statements",element:c.jsx(gi,{})}):null,V&&g&&m?c.jsx(se,{path:"payment-history",element:c.jsx(fi,{})}):null,c.jsx(se,{path:":cardId/activate",element:c.jsx(Yo,{})}),c.jsx(se,{path:":cardId/setPin",element:c.jsx(Ai,{})}),c.jsx(se,{path:":cardId/addToWallet",element:c.jsx(No,{})}),c.jsx(se,{path:":cardId/*",element:c.jsx(ni,{})}),c.jsx(se,{path:"*",element:c.jsx(ct,{})})]}):(B||w)&&x?c.jsx(se,{path:"*",element:c.jsx(ba,{to:"../setup"})}):Q?c.jsx(se,{path:"*",element:c.jsx(ba,{to:"../promo",state:e.state})}):c.jsx(se,{path:"*",element:null})]})}export{ud as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as m}from"./liveblocks-B5ZW-VBI.js";import{a as g}from"./sentry-BxWyF9h9.js";import{h as w,u as T,g as x,i as k,j as O,n as E}from"./core-Crl6eqZl.js";import{z as C,bc as P,V as F,c as V,e as j,af as b,bd as A,at as L,au as U,s as B}from"./index-CJknvk0s.js";import{eW as D,gj as M,tC as _,ge as G,c6 as R,Pi as z,bn as Y,rC as q,rq as H,l5 as Q,mG as S,Pj as W,bE as Z,cy as N,mQ as $,mT as J}from"./zeni-epic-state-DTyrT1Ga.js";import"./mui-U77PQnc2.js";import{d as K}from"./routePaths-jWP9zfXs.js";import{M as X}from"./MobileAppDrawer-BIP1MEKX.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new n.Error().stack;t&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[t]="7bcbab9a-a803-4e8b-a7ef-4f9fd2432ffe",n._sentryDebugIdIdentifier="sentry-dbid-7bcbab9a-a803-4e8b-a7ef-4f9fd2432ffe")}catch{}})();const ee=E(function(n){const t=G(n),i=C.getSignedInUser(),l=D(n),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=R(l?.userRole??[])&&t.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=z(n.companyConfigState),a=n.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:t.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:t,allIndustries:e.companyIndustries??[],allNationalityCountries:a,isDisabled:f,authParams:p,filesEndPoint:`${L.fileMicroServiceBaseUrl}`,isZeniUser:Y(i)}},function(n,t){const{companyId:i,currentTenant:l,navigate:c,location:p}=t,{tenantEmailDomain:f}=l;return{onScheduleClick:e=>{let a=e.href;a.includes("http")||(a="https://".concat(a)),window.open(a,"_blank")},onSaveAll:()=>{n(J())},onAddressClick:e=>{const a=K(f,e),o=B(p.state?.pathnameStackToGoBack,p.pathname);c(a,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{n($({companyId:i}))},onBackClick:()=>{c("../")},onCompanyDetailsChanged:e=>{const{companyInfo:a,incInfo:o,taxDetails:r,zeniFinanceTeam:d}=e,{website:u}=a,{meetingLink:y}=d,{incDate:s}=o,{taxesFiledYears:h}=r,v={companyInfo:{...a,website:u!=""&&u!=null?N(u):void 0,meetingLink:y!=""&&y!=null?N(y):void 0,industry:a.industry.selectedOption,companyIndustryType:a.companyIndustryType?.selectedOption??void 0,companySubIndustry:a.companySubIndustry?.selectedOption??void 0,businessModel:a.businessModel.selectedOption??"",companySourceOfFunds:a.companySourceOfFunds?.selectedOption,companySourceOfFundsDescription:a.companySourceOfFundsDescription??void 0,countriesOfOperations:a.countriesOfOperations?.selectedOptions?.map(I=>I.length===2?I:U(I))??[],transactionVolume:a.transactionVolume?.selectedOption??void 0,transactionVolumeDescription:a.transactionVolumeDescription??void 0,regulatedStatus:a.regulatedStatus??void 0,regulatedStatusDescription:a.regulatedStatusDescription??void 0,usNexus:a.usNexus??void 0,usNexusTypes:a.usNexusTypes?.selectedOptions??[],purposeOfAccount:a.purposeOfAccount?.selectedOption??void 0,purposeOfAccountDescription:a.purposeOfAccountDescription??void 0},incInfo:{typeOfInc:o.typeOfInc.selectedOption??"",stateOfInc:o.stateOfInc.selectedOption??"",incDate:s!=null?Z(s?.toString()):s,fileId:o.fileIds[0]},taxDetails:{taxIdOrEIN:r.taxIdOrEIN,sicCode:r.sicCode,naicsCode:r.naicsCode,dunsNumber:r.dunsNumber,taxesFiledYears:h.selectedOptions.map(I=>parseInt(I)),fileId:r.fileIds[0]}};n(S({companyDetails:v}))},onPrimaryContactDetailsUpdated:e=>{n(S({primaryContact:{userId:e.userId,email:e.email.trim(),firstName:e.name.firstName,lastName:e.name.lastName}}))},onNewCompanyOfficerAdded:e=>{n(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:void 0}]}))},onNewCompanyOfficerRemoved:e=>{n(W(e))},onCompanyOfficerUpdated:e=>{n(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:e.userId}]}))},updateFilesEntity:e=>{n(Q({files:e}))},onDeleteFile:e=>{n(H(e))},onEditFileName:(e,a)=>{n(q(e,a.split(".")[0]))}}})(A);function de(){const n=w(),t=T(),i=x(),{tenantEmailDomain:l}=k(),[c,p]=g.useState(!1),[f,e]=g.useState(!1),a=O(s=>s.companyViewState.passportView.fetchState),o=O(s=>s.companyConfigState.fetchState),r=O(s=>D(s)),d=r.companyId??C.getSignedInUserTenant(l)?.companyId;if(C.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect(()=>{c||a!=="Not-Started"||d==null||(p(!0),t(M(d)))},[c,a,d,t]),g.useEffect(()=>{o==="Not-Started"&&t(_())},[o,t]);const u=s=>{e(s)},y=a==="Not-Started"||a==="In-Progress"||o==="Not-Started"||o==="In-Progress";return d!=null&&a==="Error"?m.jsx(P,{onGoHome:()=>n("../",{replace:!0}),onReload:()=>window.location.reload()}):m.jsxs(m.Fragment,{children:[m.jsx(F,{analytics:V,onLoad:s=>s.trackPageLoaded(j.Event.companyPassport,b(i)?"Settings":"Company Passport")}),b(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:n,location:i,isLoading:y,currentTenant:r,isSettings:b(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{j as g}from"./liveblocks-B5ZW-VBI.js";import{a}from"./sentry-BxWyF9h9.js";import{u as D,g as v,j as u,N as w}from"./core-Crl6eqZl.js";import{LS as A,eW as L,g1 as O,o9 as _,gs as h,g0 as j,fz as U,LZ as F}from"./zeni-epic-state-DTyrT1Ga.js";import{u as $,z as m,L as C,F as k,o as z}from"./index-CJknvk0s.js";import{n as H}from"./mui-U77PQnc2.js";import{t as R}from"./getLocaleForTenant-DiFaMSxg.js";import{g as P,Q as G}from"./QBOConnectionScreen-BEQPddK1.js";import"./recharts-e5u-LCPv.js";import"./analytics-CkLW7NeW.js";import"./plaid-TCRHScH1.js";import"./dnd-tE28jHT7.js";import"./stripe-DMRn4zHo.js";import"./lottie-hSeCd_VX.js";import"./lexical-Bm_vZOjC.js";import"./pdf-DDcPh2pm.js";import"./utils-BjvWDnmB.js";import"./empty-BpRPQOis.js";import"./pdf-lib-ImawEH2S.js";import"./index-D5ItYKRr.js";import"./url-jBDeguac.js";import"./index-CZNTdKXM.js";import"./decodeURIComponentSafe-DwYiSzjo.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new t.Error().stack;i&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[i]="b0dd3392-fe42-4425-9cb7-aec8a3e1ecc0",t._sentryDebugIdIdentifier="sentry-dbid-b0dd3392-fe42-4425-9cb7-aec8a3e1ecc0")}catch{}})();const Q=H.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex: 1 1 auto;
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 100vh;
|
|
9
|
+
background-color: ${t=>t.theme.colors.background};
|
|
10
|
+
box-shadow: ${t=>`0px 2px ${z.sp1} ${t.theme.colors.dropShadowNormal}`};
|
|
11
|
+
`;function pe(){const t=D(),i=v(),{setLoading:d,clearAllLoading:b}=$(),p=a.useRef(!1),f=a.useRef(!1),{code:x,realmId:S,state:T}=P(i.search),y=x!==""&&S!==""&&T!=="",I=u(l=>A(l)),e=u(l=>L(l)),n=u(l=>l.tenantState.fetchState),r=u(l=>l.tenantState.activeTenantFetchState.fetchState),o=m.getSignedInUser(),c=m.getActiveTenantForUser()?.tenantId,s=e?.externalConnections?.fetchState,E=e?.externalConnections?.saveConnectionState,N=e.externalConnections?.accounting[0]?.isValid;return a.useLayoutEffect(()=>{d(C.CONNECTION_AUTH)},[d]),a.useEffect(()=>{p.current||o==null||c==null||(p.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(d(C.TENANT_FETCHING),t(O(o.userId,c))))},[p,n,d]),a.useEffect(()=>{e.tenantId==null&&!f.current&&o!=null&&(f.current=!0,!(c==null||c!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(_(o.userId)))},[f,n,r]),a.useEffect(()=>{o==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||E!=="Error"||(d(C.CONNECTION_AUTH),t(h(o.userId,e.tenantId)))},[E]),a.useEffect(()=>{n!=="Completed"&&r!=="Completed"||o==null||e?.tenantId==null||(t(j(e.tenantId)),m.saveActiveTenantDomainForUser(e.tenantEmailDomain),U(o?.userId,o?.zeniSessionId,e.tenantId),k.updateAppLocaleID(R(F(e))),e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||o==null||e==null||t(h(o.userId,e.tenantId)))},[n,r,s]),a.useEffect(()=>{I.tenantsCoreDetailsInOrder.length>0&&n==="Completed"&&m.saveSignedInUserTenants(I.tenantsCoreDetailsInOrder)},[I.tenantsCoreDetailsInOrder.length,n]),a.useEffect(()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||s!=="Completed"&&s!=="Error"||b()},[n,r,s]),e==null||n!=="Completed"&&r!=="Completed"||s!=="Completed"?null:y||N===!1?g.jsx(Q,{children:g.jsx(G,{})}):g.jsx(w,{to:"/",replace:!0})}export{pe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./liveblocks-B5ZW-VBI.js";import{z as n}from"./index-CJknvk0s.js";import{g as d}from"./QBOConnectionScreen-BEQPddK1.js";import"./sentry-BxWyF9h9.js";import{g as p,N as s}from"./core-Crl6eqZl.js";import"./zeni-epic-state-DTyrT1Ga.js";import"./recharts-e5u-LCPv.js";import"./mui-U77PQnc2.js";import"./analytics-CkLW7NeW.js";import"./plaid-TCRHScH1.js";import"./dnd-tE28jHT7.js";import"./stripe-DMRn4zHo.js";import"./lottie-hSeCd_VX.js";import"./lexical-Bm_vZOjC.js";import"./pdf-DDcPh2pm.js";import"./utils-BjvWDnmB.js";import"./empty-BpRPQOis.js";import"./pdf-lib-ImawEH2S.js";import"./index-D5ItYKRr.js";import"./url-jBDeguac.js";import"./index-CZNTdKXM.js";import"./decodeURIComponentSafe-DwYiSzjo.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},o=new t.Error().stack;o&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[o]="817363c8-7f1d-4590-b58b-cef70b99ca15",t._sentryDebugIdIdentifier="sentry-dbid-817363c8-7f1d-4590-b58b-cef70b99ca15")}catch{}})();const U=()=>{const t=p(),{code:o,realmId:r,state:e}=d(t.search),m=n.getSignedInUser()?.userId??"";if(f(o,r,e,m)===!0){const a=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return i.jsx(s,{to:a})}return i.jsx(s,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import{j as a}from"./liveblocks-B5ZW-VBI.js";import{t as yt,A as Ve}from"./AddressScreen-D8kv1hF_.js";import ht from"./NotFoundScreen-DY1Wwus4.js";import{a as r}from"./sentry-BxWyF9h9.js";import{h as Ce,g as ke,u as Y,i as Ie,j as _,N as V,l as St,n as et,o as bt,p as W}from"./core-Crl6eqZl.js";import{z as N,W as _e,Q as L,E as Ct,s as z,V as se,c as Q,e as ue,ap as kt,j as It,$ as tt,I as nt,aq as Re,f as Se,ar as _t,o as Le,as as Ne,at as vt,au as Me,av as xt,aw as Et}from"./index-CJknvk0s.js";import{eW as J,fV as Ot,fD as ve,fB as xe,bs as Tt,fR as wt,bS as At,o7 as Pt,tm as Dt,tp as jt,MR as Ft,MS as Bt,MT as Ut,xK as Vt,Et as Rt,ub as Lt,MU as Nt,k9 as be,kc as at,Mm as Mt,bY as $t,c6 as pe,tQ as Ee,tB as Gt,MV as le,tR as ot,Kf as zt,ld as st,MW as Qt,MX as Kt,rj as qt,hq as Ht,Me as ge,hn as Wt,Mf as Zt,xZ as Xt,rn as Yt,hf as Jt,hi as $e,MY as it,MZ as en,E0 as tn,M_ as nn,E4 as an,ts as on,M$ as sn,N0 as rn,k7 as cn,ka as dn,u1 as un,tD as rt,tP as ln,bE as Ge,cy as pn,u0 as ze,rC as mn,rq as gn,l5 as fn,gh as yn,gg as hn,gf as Sn,N1 as bn,tv as Cn,u2 as kn,u5 as In,u8 as _n,ue as vn,cX as xn}from"./zeni-epic-state-DTyrT1Ga.js";import{n as Oe}from"./mui-U77PQnc2.js";import{g as En,h as On,q as ie}from"./QBOConnectionScreen-BEQPddK1.js";import{u as Tn}from"./useEmailConnectResultRefresh-CiGW-Jar.js";import{u as wn}from"./useChargeCardPusherEvents-Dq1SGHUY.js";import{u as An}from"./plaid-TCRHScH1.js";import"./recharts-e5u-LCPv.js";import"./analytics-CkLW7NeW.js";import"./dnd-tE28jHT7.js";import"./stripe-DMRn4zHo.js";import"./lottie-hSeCd_VX.js";import"./lexical-Bm_vZOjC.js";import"./pdf-DDcPh2pm.js";import"./utils-BjvWDnmB.js";import"./empty-BpRPQOis.js";import"./pdf-lib-ImawEH2S.js";import"./index-D5ItYKRr.js";import"./url-jBDeguac.js";import"./index-CZNTdKXM.js";import"./decodeURIComponentSafe-DwYiSzjo.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},l=new t.Error().stack;l&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[l]="b762b1d7-5567-4510-ab80-2f5d27f29fef",t._sentryDebugIdIdentifier="sentry-dbid-b762b1d7-5567-4510-ab80-2f5d27f29fef")}catch{}})();const Pn=()=>{const t=Ce(),l=ke(),s=Y(),[o,p]=r.useState(!1),[d,h]=r.useState(!1),{tenantEmailDomain:b}=Ie(),e=N.getSignedInUser(),{useFeatureGate:n}=_e(),{isFeatureEnabled:u}=n(L.isApAgingFeatureEnabled),{isFeatureEnabled:f}=n(L.isArAgingFeatureEnabled),{isFeatureEnabled:x}=n(L.isDepositAccountsFeatureEnabled),{isFeatureEnabled:i}=n(L.isReferralFeatureEnabled),{isFeatureEnabled:y}=n(L.isExpenseAutomationEnabledV2),{isFeatureEnabled:E}=n(L.isDebitCardFeatureEnabled),I=Ct(),c=_(S=>J(S)),{isFeatureEnabled:U}=n(L.isTreasuryEnabled),T=c.company!=null&&Ot(c.company),j=U&&T,B=_(S=>S.onboardingCustomerViewState.fetchState),m=c.excludedResources,C=c.companyId??N.getSignedInUserTenant(b)?.companyId;if(e==null)throw Error("Can't access onboarding flow without signing in...");const v=ve(E,c),w=xe(c),D=[],F=m?.resources?.find(S=>S.resource==="/reports/top_expenses")==null,M=m?.resources?.find(S=>S.resource==="/reports/task_card")==null,Z=c?.userRole!=null&&Tt(c?.userRole),K=m?.resources?.find(S=>S.resource==="/bills")==null&&!Z,ee=m?.resources?.find(S=>S.resource==="/reimbursements")==null;F===!1&&D.push("top_expenses"),M===!1&&D.push("task_card"),K===!1&&D.push("bill_pay_card","bill_pay_promo_card"),ee===!1&&D.push("reimbursement_card","reimbursement_promo_card"),x===!1&&D.push("zeni_accounts_promo_card"),i===!1&&D.push("rewards_card");const q=_(S=>{const O=[];u===!1&&O.push("accounts_payable_aging"),f===!1&&O.push("accounts_receivable_aging"),x===!1&&O.push("zeni_accounts_promo_card"),i===!1&&O.push("rewards_card"),I===!1&&O.push("expense_automation_card");const te=wt(S,O,e,y,I,j);return At(te.reportsInOrder.map(G=>({fetchState:G.fetchState,error:G.error}))).fetchState});r.useEffect(()=>{B!=="Completed"||o||v||w||(p(!0),s(Pt(e.userId,C,c.tenantId,!0,!1,D)))},[o,B,v,w,e,c.tenantId,s]);const $=r.useRef(!1),H=r.useCallback(()=>{const S={pathnameStackToGoBack:z(l.state?.pathnameStackToGoBack,l.pathname),message:"activation"};t(v?"../../checking":w?"../../cards":"../../dashboard",{state:S})},[t,l,v,w]),A=r.useCallback(()=>{$.current||($.current=!0,H())},[H]);return r.useEffect(()=>{const S=setTimeout(()=>h(!0),3e3);return()=>clearTimeout(S)},[]),r.useEffect(()=>{const S=setTimeout(A,6e3);return()=>clearTimeout(S)},[A]),r.useEffect(()=>{v||w||!d||q!=="Completed"&&q!=="Error"||A()},[d,q,v,w,A]),B!=="Completed"?a.jsx(V,{to:"../"}):a.jsxs(a.Fragment,{children:[a.jsx(se,{analytics:Q,onLoad:S=>S.trackPageLoaded(ue.Event.onboardingDashboardActivation)}),a.jsx(kt,{show:!0,onComplete:A})]})},fe=["reading_books","finance_graph","reconciliation","cfo_foundation"],ye=["llm_fine_tuning","rag_knowledge_graph","personalized_context"],Qe=(t,l)=>{const s=new Map(t.map(o=>[o.key,o]));return l.map(o=>{return p=s.get(o)?.status,p==="starting"||p==="building"?p:"idle";var p})},Ke=(t,l)=>{if(t.length===0)return!1;const s=new Map(t.map(o=>[o.key,o]));return l.every(o=>s.get(o)?.status==="ready")},Dn=new Set(Nt),qe=Oe.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
height: 100vh;
|
|
4
|
+
background-color: ${t=>t.theme.colors.grey4};
|
|
5
|
+
`,He=Oe.div`
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
align-items: center;
|
|
9
|
+
flex: 1;
|
|
10
|
+
min-width: 0;
|
|
11
|
+
|
|
12
|
+
${t=>t.skipLegacyDrawerOffset?`
|
|
13
|
+
width: 100%;
|
|
14
|
+
padding-left: ${Le.sp0};
|
|
15
|
+
`:`
|
|
16
|
+
min-width: calc(100% - ${Ne}px);
|
|
17
|
+
padding-left: ${Ne}px;
|
|
18
|
+
`}
|
|
19
|
+
|
|
20
|
+
${t=>t.theme.breakpoints.down("md")} {
|
|
21
|
+
width: 100%;
|
|
22
|
+
padding-left: ${Le.sp0};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
${t=>t.windowSize!=="small"?"overflow: auto;":""}
|
|
26
|
+
`,We=et(function(t,l){const{companyId:s,isAdmin:o,currentTenant:p,isOnAddressPage:d}=l,h=N.getSignedInUser(),b=p.tenantId,e={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:b??""},n=J(t),u=Ee(t,s),f=it(t),x=pe(p?.userRole??[])&&u.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",i=en(t.userRoleConfigState);return{onboardingCustomerView:u,analytics:Q,isRefreshingViewInBackground:!1,isDisabled:x,companyTitles:i.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:vt.fileMicroServiceBaseUrl,authParams:e},signedInUser:N.getSignedInUser(),currentTenant:n,isAdmin:o,isOnAddressPage:d,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:f,isCardPaymentPopupOpen:!1,stripeKey:Se.stripeKey}},function(t,l){const{companyId:s,currentTenant:o,themeState:p,navigate:d,location:h}=l,{tenantEmailDomain:b}=o;return{onFetchLinkTokenClick:(e,n)=>{t(vn(e,n))},onEstablishConnectionClick:(e,n)=>{t(_n(e,n))},onUpdatePaymentAccountStatus:(e,n,u)=>{t(In(e,n,u))},onUpdatePaymentAccountLoginStatus:(e,n)=>{t(kn(!1,e,n))},onEstablishConnectionSuccess:()=>{t(Cn(s,!0,!1))},handleOnConnectClick:()=>{Q.trackOnboardingConnectQBO(),ie.handleClick()},updateQBOPopupState:e=>{t(le({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const n=e.map(u=>{const{officerType:f,userId:x,name:i,email:y,ssn:E,nationalityCountryCode:I,dob:c,phone:U,syncToken:T,selectDocument:j,role:B,ownership:m,isSelectedForVerification:C,userVerificationStatus:v,fileIds:w,isPhoneVerified:D}=u;let F;return j.selectDocumentType==="driverLicense"?F="driving_license":j.selectDocumentType==="passport"?F="passport":j.selectDocumentType==="stateId"?F="id_document":j.selectDocumentType==="ssnCard"&&(F="social_security_card"),{officerType:f,userId:x,firstName:i.firstName,lastName:i.lastName,email:y,ssn:E,nationalityCountryCode:I?.selectedOption!=null?Me(I.selectedOption):void 0,phone:U,birthday:c!=null?Ge(c?.toString()):c,syncToken:T,titleAtCompany:B.selectedOption,ownershipInCompany:m,documentTypeSelectedForVerification:F,isSelectedForVerification:C,userVerificationStatus:v,fileIds:w,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:D}});t(ze({officers:n}))},onGetOtp:(e,n)=>{t(Sn(e,"CustomerOnboarding")),n!=null&&t(bn({officerType:n,phone:e}))},onResendOtp:e=>{t(hn(e,"CustomerOnboarding"))},onVerifyOtp:(e,n)=>{t(yn(e,n,"CustomerOnboarding"))},updateFilesEntity:e=>{t(fn({files:e}))},onDeleteFile:e=>{t(gn(e))},onEditFileName:(e,n)=>{t(mn(e,n.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:n,companyIndustry:u,companyIndustryType:f,companyLegalName:x,companyTaxId:i,companyWebsite:y,companyPhone:E,primaryContactEmail:I,primaryContactName:c,primaryContactUserId:U,primaryContactSyncToken:T,syncToken:j,fileIds:B,typeOfIncorporation:m,stateOfIncorporation:C,incDate:v,companySourceOfFunds:w,companySourceOfFundsDescription:D,companySubIndustry:F,countriesOfOperations:M,purposeOfAccount:Z,purposeOfAccountDescription:K,regulatedStatus:ee,regulatedStatusDescription:q,transactionVolume:$,transactionVolumeDescription:H,usNexus:A,usNexusTypes:S}=e,O={companyId:s,companyDescription:n,companyIndustry:u.selectedOption,companyIndustryType:f?.selectedOption??"",companyLegalName:x,taxIdOrEIN:i,website:y!=""&&y!=null?pn(y):void 0,phone:E,syncToken:j,fileIds:B,incDate:v!=null?Ge(v?.toString()):v,typeOfIncorporation:m?.selectedOption??"",stateOfIncorporation:C?.selectedOption??"",companySourceOfFunds:w?.selectedOption??"",companySourceOfFundsDescription:D,companySubIndustry:F?.selectedOption??"",countriesOfOperations:M?.selectedOptions.map(G=>G.length===2?G:Me(G))??[],purposeOfAccount:Z?.selectedOption??"",purposeOfAccountDescription:K,regulatedStatus:ee??"",regulatedStatusDescription:q,transactionVolume:$?.selectedOption??"",transactionVolumeDescription:H,usNexus:A,usNexusTypes:S?.selectedOptions??[]},te={userId:U,firstName:c.firstName,lastName:c.lastName,email:I,syncToken:T};t(ze({companyDetails:O,primaryContactDetails:te}))},onAddressClick:(e,n)=>{const u=Xe(b,e,n),f=z(h.state?.pathnameStackToGoBack,h.pathname);d(u,{state:{pathnameStackToGoBack:f}})},onRegisteredAddressClick:(e,n)=>{const u=Xe(b,e,n),f=z(h.state?.pathnameStackToGoBack,h.pathname);d(u,{state:{pathnameStackToGoBack:f}})},onUpdateCustomerView:(e,n,u)=>{t(ln(s,!1,n,u,e))},onAddressEditHandler:e=>{if(e!=null){const n=yt(e);t(st({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const e=z(h.state?.pathnameStackToGoBack,h.pathname);t(rt(s,!1,!1)),d("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(ot({step:e}))},onUpdateSubStep:e=>{t(un({subStep:e}))},onZeniLogoClick:()=>{p.toggle()},handleLogOutClick:()=>{const e=z(h.state?.pathnameStackToGoBack,h.pathname);d("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{d(`/${b}/rewards`)},handleCreateCardSetupIntent:e=>{t(at(e))},handleConfirmCardSetupIntent:e=>{t(dn(e))},updateCardPaymentModalState:e=>{t(le({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,n,u)=>{t(cn(e,n,u))},handleFetchPaymentSources:()=>{t(be())},resetCardPaymentViewState:()=>{t(rn())},handleResetCardPaymentErrorStatuses:()=>{t(sn())},redirectToProductSuitePage:()=>{const e=z(h.state?.pathnameStackToGoBack,h.pathname);d(`/${b}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{s!=null&&t(on(s))},onIdentityDocumentUploadedForAutofill:e=>{if(s==null)return;const n=nn(e.documentType);n!=null&&t(an({target:"onboarding",companyId:s,officerType:e.officerType,fileId:e.fileId,documentType:n}))},onCompanyDocumentUploadedForAutofill:e=>{s!=null&&t(tn({target:"onboarding",companyId:s,fileId:e.fileId,documentType:e.documentType}))}}})(_t),de=({taxCFOCustomer:t=!1,isOnAddressPage:l=!1,appContent:s})=>{const o=Ce(),p=ke(),d=Y(),h=It(),b=tt(),[e,n]=r.useState(!1),[u,f]=r.useState(!1),[x,i]=r.useState(!1),{tenantEmailDomain:y}=Ie(),E=nt(),{useFeatureGate:I}=_e(),{isFeatureEnabled:c}=I(L.isDebitCardFeatureEnabled),U=St("/:tenantEmailDomain/onboarding")!==null&&p.search?.includes("code"),T=_(g=>g.onboardingCustomerViewState.fetchState),j=_(g=>g.onboardingCustomerViewState.currentStep),B=_(g=>g.onboardingCustomerViewState.uiState),m=_(g=>J(g)),C=_(g=>g.userRoleConfigState.fetchState),v=_(g=>g.cardPaymentViewState),w=Re(v.addCardPaymentSourceStatus.fetchState),D=v.addCardPaymentSourceStatus.fetchState,{code:F,realmId:M,state:Z}=En(p.search),K=m.externalConnections?.accounting[0],ee=K?.connectionType,q=K?.connectionName,$=K?.connectionId??"",H=N.getSignedInUser()?.userId??"";r.useEffect(()=>{u||(f(!0),d(be()))},[u,d]),r.useEffect(()=>{x||(at(["card"]),i(!0))},[x]),r.useEffect(()=>{w==="In-Progress"&&D==="Completed"&&d(be())},[w,D]),r.useEffect(()=>{On(F,M,Z,$,H)===!0&&m.externalConnections?.saveConnectionState!=="In-Progress"&&T==="Completed"&&(d(Mt(m.tenantId,{connection_type:ee??"accounting",connection_name:q??"quickbooks_online",authorization_code:F,realm_id:M,connection_id:$,user_id:H},$t(window.location.origin+"/onboarding/auth"))),Q.trackOnboardingSaveQBOConnection(M,$),o(p.pathname))},[F,M,Z,p.pathname,T]),r.useEffect(()=>{ie.isInitiated===!1&&T==="Completed"&&ie.init("/onboarding/auth",m.tenantEmailDomain)},[T]);const A=m.companyId??N.getSignedInUserTenant(y)?.companyId,S=pe(m?.userRole??[]),O=_(g=>Ee(g,A));r.useEffect(()=>{e||T!=="Not-Started"||A==null||(n(!0),d(Gt(A,!0,!U)))},[e,T,A]),r.useEffect(()=>{m.externalConnections?.saveConnectionState!=="Completed"&&m.externalConnections?.saveConnectionState!=="Error"||!B.isQBOPopupOpen||j!=="connect_ledger"||d(le({isQBOPopupOpen:!1}))},[m.externalConnections?.saveConnectionState]),r.useEffect(()=>{T==="Completed"&&U&&(d(ot({step:"connect_ledger"})),d(le({isQBOPopupOpen:!0})))},[U,T]),r.useEffect(()=>{C==="Not-Started"&&d(zt(!0))},[C,d]);const te=Re(O.companyDetailsLocalData?.addressStatus);r.useEffect(()=>{O.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&O.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&te==null&&d(st({addressType:"company_registered_address",addressToCreate:O.companyDetailsLocalData?.addressStatus?.addressToCreate}))},[O.companyDetailsLocalData?.addressStatus?.addressToCreate,O.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const G=O.isInterimEmailSent,Te=N.getSignedInUser();if(Te==null)throw Error("Can't access onboarding flow without signing in...");const ct=ve(c,m),dt=xe(m),we=m.company?.companyOnboardingInfo.isOnboardingCompleted,Ae=g=>g.trackPageLoaded(ue.Event.onboardingPage),Pe=m.productSettings.isOtherProductsEnabled,ut=m.productSettings.isTreasuryEnabled,De=jn({tenantEmailDomain:y??"",signedInUserEmail:Te.userEmail??"",companyId:A}),je=(({companyId:g})=>{const R=Y(),re=_(P=>P.onboardingCustomerViewState?.aiAgentsActivation),ne=_(P=>J(P).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1),me=r.useCallback(()=>{R(Dt())},[R]);r.useEffect(()=>{me()},[me]);const Fe=r.useCallback(()=>{g==null||g===""||ne||R(jt(g))},[g,ne,R]),lt=r.useMemo(()=>{if(g==null||g==="")return[];const P=`private-encrypted-${g}`;return[`${P}.ledger-ingestion.counts-updated`,`${P}.ai-agents-activation.phase-changed`]},[g]),pt=r.useCallback((P,ae)=>{if(ae==null||typeof ae!="object")return;const k=ae;if(P!=="ledger-ingestion.counts-updated"){if(P==="ai-agents-activation.phase-changed"){const ce=typeof k.phase_key=="string"?k.phase_key:typeof k.key=="string"?k.key:"",X=typeof k.status=="string"?k.status:"idle";if(ce==="")return;R(Bt({key:ce,status:X==="starting"||X==="building"||X==="ready"?X:"idle",startedAt:typeof k.started_at=="string"?k.started_at:void 0,completedAt:typeof k.completed_at=="string"?k.completed_at:void 0}))}}else R(Ft({customerCount:typeof k.customer_count=="number"?k.customer_count:void 0,glAccountCount:typeof k.gl_account_count=="number"?k.gl_account_count:void 0,targetTransactionCount:typeof k.target_transaction_count=="number"?k.target_transaction_count:void 0,transactionCount:typeof k.transaction_count=="number"?k.transaction_count:void 0,vendorCount:typeof k.vendor_count=="number"?k.vendor_count:void 0}))},[R]);return wn({events:lt,onEvent:pt,onSubscribed:me}),r.useMemo(()=>{const P=re?.phases??[],ae=Qe(P,fe),k=Qe(P,ye),ce=Ke(P,fe),X=Ke(P,ye),Be=P.some(ft=>ft.status!=="idle"),oe=!ne&&!Be,Ue=ne&&!Be,mt=Ue?fe.map(()=>"building"):ae,gt=Ue?ye.map(()=>"building"):k;return{ledgerRowStatuses:oe?void 0:mt,backgroundRowStatuses:oe?void 0:gt,showLedgerReadyInLabel:oe?void 0:ce,showBackgroundReadyInLabel:oe?void 0:X,forceContinueEnabled:!oe||void 0,counts:re?.counts,onContinueClicked:Fe}},[re?.phases,re?.counts,ne,Fe])})({companyId:A});if(we===!0){if(!Pe)return ut?a.jsx(V,{to:"../../treasury"}):ct?a.jsx(V,{to:"../../checking"}):dt?a.jsx(V,{to:"../../cards"}):a.jsx(V,{to:"../../dashboard"});const g=O.updateStatus.fetchState==="In-Progress";if(Pe&&!g)return t?a.jsxs(qe,{children:[a.jsx(se,{analytics:Q,onLoad:R=>Ae(R)}),a.jsx(We,{navigate:o,location:p,companyId:A,currentTenant:m,isAdmin:S,isOnAddressPage:l,themeState:b,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),s!=null?a.jsx(He,{windowSize:h,skipLegacyDrawerOffset:l&&m.productSettings.isOtherProductsEnabled!==!0,children:s}):null]}):a.jsx(V,{to:"../../onboarding/thankyou"})}else if(we===!1&&E?.loggedInUserRoleMap!=null)return G===!0?a.jsx(V,{to:"../../onboarding/thankyou"}):a.jsxs(qe,{children:[a.jsx(se,{analytics:Q,onLoad:g=>Ae(g)}),a.jsx(We,{navigate:o,location:p,companyId:A,currentTenant:m,isAdmin:S,isOnAddressPage:l,themeState:b,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),s!=null?a.jsx(He,{windowSize:h,skipLegacyDrawerOffset:l&&m.productSettings.isOtherProductsEnabled!==!0,children:s}):null]});return null},he="external_integrations",jn=({tenantEmailDomain:t,signedInUserEmail:l,companyId:s})=>{const o=Y();Tn();const{plaidAccounts:p,onAddPlaidAccount:d}=(({companyId:i})=>{const y=Y(),E=_(C=>C.plaidAccountViewState.external_account.plaidConnectionDetails.link_external_account),I=_(C=>Ut(C.paymentAccountState)),c=r.useRef(!1);r.useEffect(()=>{y(Vt())},[y]);const U=r.useCallback(C=>{y(Rt(C,i,"external_account",void 0,"link_external_account")),c.current=!1},[y,i]),T=r.useCallback(()=>{c.current=!1},[]),{open:j,ready:B}=An({token:E.linkToken??null,onSuccess:U,onExit:T});r.useEffect(()=>{c.current&&B&&(j(),c.current=!1)},[B,j]);const m=r.useCallback(()=>{c.current=!0,y(Lt("external_account","link_external_account"))},[y]);return{plaidAccounts:r.useMemo(()=>I.map(C=>{return{accountId:C.paymentAccountId,name:C.institutionDetails?.institutionName??C.accountName,mask:C.accountLast4Digits,balanceFormatted:(v=C.balances?.current?.amount,w=C.balances?.current?.currencySymbol,v==null?"":`${w??"$"}${v.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`),isActive:Dn.has(C.providerVerificationStatus?.code??"")};var v,w}),[I]),onAddPlaidAccount:m}})({companyId:s}),h=_(i=>J(i)),b=_(i=>i.tenantState.fetchState),e=_(i=>Qt(i,s)),n=_(i=>Kt(i,he)),u=r.useMemo(()=>new Set(n.map(i=>i.additionalInfo).filter(i=>i!=null)),[n]),f=h.tenantId,x=pe(h.userRole??[]);return r.useEffect(()=>{o(qt(he))},[o]),r.useMemo(()=>({isAdmin:x,integrationsView:e,isLoading:b==="In-Progress",notifyMeRegisteredSlugs:u,saveChargeBeeState:e.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:e.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:e.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:e.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:e.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(e.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map(([i,y])=>[i,y?.message])),deleteConnectionState:e.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:e.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{o($e(f,"gmail",Ze()))},onConnectOutlook:()=>{o($e(f,"outlook",Ze()))},onConnectHubSpot:(i,y)=>{const E=e.externalConnections?.revenue?.find(c=>c.connectionName==="hubspot")?.connectionId;if(E==null)return;const I=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:i,client_secret:y,connection_id:E,redirect_uri:I,tenant_id:f})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(i)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(I)}`},onDisconnect:(i,y)=>{o(Jt(f,i,ge(y)))},onNotifyMe:i=>{o(Yt(he,i,l))},onReconnectQBO:()=>{ie.init("/onboarding/auth",t),ie.handleClick()},onRefreshClick:()=>{e.integrations.refreshQBO.fetchState!=="In-Progress"&&o(Xt())},onSaveChargeBeeCredentials:(i,y)=>{const E=e.externalConnections?.revenue?.find(I=>I.connectionName==="chargebee")?.connectionId;E!=null&&o(Wt(f,E,ge("revenue"),Zt("chargebee"),{api_key:i,site:y}))},onSaveConnectorCredentials:i=>{o(Ht(f,ge("payments"),i))},plaidAccounts:p,onAddPlaidAccount:d}),[x,e,b,u,f,l,t,o,p,d])};function Ze(){const t=new URL(window.location.href);return t.searchParams.set("onboarding_step","connect_data_source"),t.toString()}function Xe(t,l,s){let o=`/${t}/onboarding/address`;return o=s!=null?o.concat(`/edit/${l}/${encodeURIComponent(s)}`):o.concat(`/new/${l}`),o}const Ye=Oe.div`
|
|
27
|
+
display: flex;
|
|
28
|
+
height: 100vh;
|
|
29
|
+
background-color: ${t=>t.theme.colors.grey4};
|
|
30
|
+
`,Je=et(function(t,l){const{companyId:s,currentTenant:o}=l,p=Ee(t,s),d=it(t);return{hasVerifiedBankAccount:(p.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(d.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:pe(o?.userRole??[])&&p.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:N.getSignedInUser(),currentTenant:o,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true"}},function(t,l){const{currentTenant:s,themeState:o,navigate:p,location:d}=l,{tenantEmailDomain:h}=s;return{onZeniLogoClick:()=>{o.toggle()},handleLogOutClick:()=>{const b=z(d.state?.pathnameStackToGoBack,d.pathname);p("/signout",{replace:!0,state:{pathnameStackToGoBack:b,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{p(`/${h}/rewards`)},handleUpdatePaymentAddressDetailClick:()=>{const b=z(d.state?.pathnameStackToGoBack,d.pathname);p(`/${h}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:b,message:"UpdatePaymentAddressDetail"}})}}})(Et),Fn=()=>{const t=Ce(),l=Y(),s=ke(),o=tt(),{useFeatureGate:p}=_e(),{isFeatureEnabled:d}=p(L.isDebitCardFeatureEnabled),{tenantEmailDomain:h}=Ie(),b=nt(),[e,n]=r.useState(!1);r.useEffect(()=>{e===!1&&s.state?.message==="OnboardingThankyou"&&n(!0)},[s.state]);const u=_(c=>J(c)),f=u.productSettings.isOtherProductsEnabled;r.useEffect(()=>{l(rt(x,!1,!f))},[]);const x=u.companyId??N.getSignedInUserTenant(h)?.companyId;if(b.loggedInUser==null)throw Error("Can't access onboarding flow without signing in...");const i=ve(d,u),y=xe(u),E=_(c=>c.onboardingCustomerViewState.updateStatus.fetchState),I=u.company?.companyOnboardingInfo.isOnboardingCompleted;if(I!==!0||f)return E==="Completed"&&I===!0&&f&&b?.loggedInUserRoleMap!=null?a.jsxs(Ye,{children:[a.jsx(se,{analytics:Q,onLoad:c=>{c.trackPageLoaded(ue.Event.onboardingLandingPage,"Onboarding",xn(u.productSettings))}}),a.jsx(Je,{navigate:t,showUpdatePaymentDetailButton:f,location:s,companyId:x,currentTenant:u,themeState:o,isVisitingFirstTime:e})]}):E==="Completed"&&I===!1&&b?.loggedInUserRoleMap!=null?a.jsxs(Ye,{children:[a.jsx(se,{analytics:Q,onLoad:c=>{c.trackPageLoaded(ue.Event.onboardingInterimPage)}}),a.jsx(Je,{navigate:t,showUpdatePaymentDetailButton:f,location:s,companyId:x,currentTenant:u,themeState:o,isVisitingFirstTime:e})]}):a.jsx(xt,{});{const c={pathnameStackToGoBack:s.state?.pathnameStackToGoBack,message:"activation"};return i?a.jsx(V,{to:"../../checking",state:c,replace:!0}):y?a.jsx(V,{to:"../../cards",state:c,replace:!0}):a.jsx(V,{to:"../../dashboard",state:c,replace:!0})}};function ra(){return a.jsxs(bt,{children:[a.jsx(W,{path:"/",element:a.jsx(de,{})}),a.jsx(W,{path:"/billing/edit",element:a.jsx(de,{taxCFOCustomer:!0})}),a.jsx(W,{path:"/thankyou",element:a.jsx(Fn,{})}),a.jsx(W,{path:"/activation",element:a.jsx(Pn,{})}),a.jsx(W,{path:"/address/edit/:addressType/:addressId",element:a.jsx(de,{isOnAddressPage:!0,appContent:a.jsx(Ve,{})})}),a.jsx(W,{path:"/address/new/:addressType",element:a.jsx(de,{isOnAddressPage:!0,appContent:a.jsx(Ve,{})})}),a.jsx(W,{path:"*",element:a.jsx(ht,{})})]})}export{ra as default};
|