@zeniai/web-app-ui 5.1.87-qa → 5.1.88-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-D1WHvjaC.js +1 -0
- package/dist/assets/{AddressScreen-CFbhgIGJ.js → AddressScreen-BbyvVT6L.js} +2 -2
- package/dist/assets/{AiCfoScreen-B6zyicNm.js → AiCfoScreen-BirPn_Cp.js} +1 -1
- package/dist/assets/{BillPayApprovalRoutes-Oi3BB9M7.js → BillPayApprovalRoutes-C4YPYgux.js} +1 -1
- package/dist/assets/{BillPayRoutes-BTW4JYZ5.js → BillPayRoutes-BzydmPHl.js} +9 -9
- package/dist/assets/{BusinessVerificationPageScreen-CL6awpAL.js → BusinessVerificationPageScreen-B4Sdru5b.js} +2 -2
- package/dist/assets/{CardsAiCfoScreen-Dxy9X1Bo.js → CardsAiCfoScreen-Btq4pG_T.js} +1 -1
- package/dist/assets/ChargeCardRoutes-Cgu4oIIL.js +71 -0
- package/dist/assets/{CompanyPassportScreen-DOFoT4Be.js → CompanyPassportScreen-mmNQvD1l.js} +1 -1
- package/dist/assets/{ConnectionAuthScreen-CQV2_OZ0.js → ConnectionAuthScreen-BbwnVeZh.js} +1 -1
- package/dist/assets/CustomerOnboardingAuthScreen-SlT1SgCd.js +1 -0
- package/dist/assets/{CustomerOnboardingRoutes-BJZmmxt9.js → CustomerOnboardingRoutes-y0MRiG44.js} +4 -4
- package/dist/assets/{DashboardRoutes-BFMd-l1r.js → DashboardRoutes-3IVYIvWw.js} +1 -1
- package/dist/assets/{DefaultTenantHome-DJC12Cdo.js → DefaultTenantHome-Dqo0NCGe.js} +1 -1
- package/dist/assets/{DomesticWireDetailScreen-Df55U56u.js → DomesticWireDetailScreen-pZjx01h5.js} +1 -1
- package/dist/assets/DrawerScreen-B64CuqJH.js +1 -0
- package/dist/assets/{EntityDetailRoutes-2UgBgIRu.js → EntityDetailRoutes-DVlzKwkA.js} +1 -1
- package/dist/assets/{ExpenseAutomationRoutes-BJ95ir7i.js → ExpenseAutomationRoutes-CmegspTp.js} +3 -3
- package/dist/assets/{FeaturePreviewScreen-DrK5iO4h.js → FeaturePreviewScreen-4JjThRQw.js} +1 -1
- package/dist/assets/{HubSpotOAuthCallbackScreen-DG2Q66fQ.js → HubSpotOAuthCallbackScreen-DTQ5dtHc.js} +1 -1
- package/dist/assets/MagicLinkRoutes-Bl3diPGV.js +72 -0
- package/dist/assets/MagicLinkSignInScreen-DtACNd4K.js +12 -0
- package/dist/assets/{MobileAppDrawer-lEpfHv06.js → MobileAppDrawer-DeAmBX6B.js} +1 -1
- package/dist/assets/NotFoundScreen--bQtpbnT.js +1 -0
- package/dist/assets/{NotificationRoutes-CB14J9aV.js → NotificationRoutes-BUUI2IcZ.js} +1 -1
- package/dist/assets/OAuthConsentScreen-BEbJa-tg.js +1 -0
- package/dist/assets/{PandLWithForecastRoutes-vM-uwzHf.js → PandLWithForecastRoutes-zl-ps-j_.js} +1 -1
- package/dist/assets/{PeopleRoutes-X5tb8lhO.js → PeopleRoutes-8nw8zuv-.js} +3 -3
- package/dist/assets/{PerformanceRoutes-CRU5xoU7.js → PerformanceRoutes-RLKuJkPs.js} +1 -1
- package/dist/assets/{Preview-Dva_bJum.js → Preview-Dg1ZSkBS.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-BlHRcpm3.js → QBOConnectionScreen-CxYyqia2.js} +1 -1
- package/dist/assets/ReferralListScreen-iQWpMF4X.js +5 -0
- package/dist/assets/{ReimbursementApprovalRoutes-BuZZL2vV.js → ReimbursementApprovalRoutes-BrWLOXin.js} +1 -1
- package/dist/assets/{ReimbursementApprovalRuleDetailScreen-aGD2Y8Qy.js → ReimbursementApprovalRuleDetailScreen-D-6Lutgq.js} +1 -1
- package/dist/assets/{ReimbursementRoutes-D7LGMtpu.js → ReimbursementRoutes-7k16ZAgH.js} +1 -1
- package/dist/assets/{ReportsRoutes-CWHmiADl.js → ReportsRoutes-BK1o6TNN.js} +1 -1
- package/dist/assets/RewardsRoutes-DC51t0Yv.js +1 -0
- package/dist/assets/{ScreenRoutes-Cy4RnVLS.js → ScreenRoutes-CSQgFzeR.js} +2 -2
- package/dist/assets/{SettingsRoutes-CiHAUP6i.js → SettingsRoutes-hVxWlaAv.js} +1 -1
- package/dist/assets/{SetupPagesScreen-Xht4iwXu.js → SetupPagesScreen-BTuDl3Cv.js} +5 -5
- package/dist/assets/SignInScreen-Duv4SIzZ.js +1 -0
- package/dist/assets/SignOutScreen-Fwol25zL.js +9 -0
- package/dist/assets/{TaskListScreen-DX-JLRj3.js → TaskListScreen-TXdgCa5r.js} +2 -2
- package/dist/assets/{TaskRoutes-BpuZpme2.js → TaskRoutes-xVHfvGq2.js} +2 -2
- package/dist/assets/{TransactionDetailRoutes-eIr1TcUG.js → TransactionDetailRoutes-JaczX3m4.js} +1 -1
- package/dist/assets/{TransactionDetailScreen-BFbKNK0K.js → TransactionDetailScreen-BMeJP7Bk.js} +1 -1
- package/dist/assets/{TransactionListRoutes-CBsMtW5X.js → TransactionListRoutes-DBUsrkyG.js} +1 -1
- package/dist/assets/{TreasuryRoutes-ddHMPy4l.js → TreasuryRoutes-Xb2-ZHfI.js} +5 -5
- package/dist/assets/{VendorsRoutes-CGIr3vzC.js → VendorsRoutes-CGo4SIRt.js} +13 -13
- package/dist/assets/WiseConfirmationScreen-DfE4C1Lu.js +12 -0
- package/dist/assets/{ZeniAccountRoutes-BLfJsnfm.js → ZeniAccountRoutes-BD0J62S-.js} +1 -1
- package/dist/assets/{ZeniAccountStatementScreen-1ZlbkGh4.js → ZeniAccountStatementScreen-Cwz87pc9.js} +1 -1
- package/dist/assets/{accountMappingHelper-Du8kIzw4.js → accountMappingHelper-dP4oYbsE.js} +1 -1
- package/dist/assets/{analytics-BY30ztud.js → analytics-C839ALjG.js} +1 -1
- package/dist/assets/{analyticsHelper-BHJAp8-8.js → analyticsHelper-BmqSI_Lf.js} +1 -1
- package/dist/assets/{core-FEzHdTwu.js → core-BE5sOaFh.js} +1 -1
- package/dist/assets/{decodeURIComponentSafe-_VO6ySKg.js → decodeURIComponentSafe-BQyheK0C.js} +1 -1
- package/dist/assets/{dnd-Cb_vPZwC.js → dnd-DTt7nnqm.js} +1 -1
- package/dist/assets/{empty-C5RcOwbi.js → empty-DHPjwnEd.js} +1 -1
- package/dist/assets/{empty-C8ieKMB7.js → empty-ifBS6vam.js} +1 -1
- package/dist/assets/{emptyVideoElement-BmUcQvfG.js → emptyVideoElement-C9FB-i06.js} +1 -1
- package/dist/assets/{epic-BNsbOFuA.js → epic-Dq2wg9A7.js} +1 -1
- package/dist/assets/{getLocaleForTenant-B8PdHxEZ.js → getLocaleForTenant-DrGyVJin.js} +1 -1
- package/dist/assets/{index-CVniyevN.js → index-BQAeQoiw.js} +1 -1
- package/dist/assets/{index-DgG7sdLK.js → index-Bo1J9dzX.js} +1 -1
- package/dist/assets/{index-jQssSn-J.js → index-BruA-v5x.js} +1 -1
- package/dist/assets/{index-B4FjCn1f.js → index-D3mkEg-D.js} +1 -1
- package/dist/assets/{index-C7vi0ZZK.js → index-DZVFFUA4.js} +1 -1
- package/dist/assets/{index-CkBh8V_t.js → index-Hu1Bm28Y.js} +2 -2
- package/dist/assets/{index-sOa-ivVp.js → index-j91BsX6x.js} +8230 -8214
- package/dist/assets/{index-CBsCykBf.js → index-tj0b7I6S.js} +1 -1
- package/dist/assets/{lexical-fJeYHrZP.js → lexical-BDIjEa69.js} +1 -1
- package/dist/assets/{liveblocks-B2D23g1h.js → liveblocks-CL8iYAR7.js} +1 -1
- package/dist/assets/{lottie-BKshFrBj.js → lottie-D6l1SNxh.js} +1 -1
- package/dist/assets/{mui-C754KMjM.js → mui-D8wN7E11.js} +1 -1
- package/dist/assets/{pathToGoBack-UuLm5E-W.js → pathToGoBack-D-zEeULy.js} +1 -1
- package/dist/assets/{pdf-BSvba1pn.js → pdf-B7aBqR_B.js} +3 -3
- package/dist/assets/{pdf-lib-DwZXgIAK.js → pdf-lib-2JemKW90.js} +1 -1
- package/dist/assets/{plaid--k8gbxl0.js → plaid-s-fzmMlM.js} +1 -1
- package/dist/assets/{pusher-DZSPU4Iz.js → pusher-X1OwuLGQ.js} +1 -1
- package/dist/assets/{react-CNLrYL7C.js → react-B3BGVicH.js} +1 -1
- package/dist/assets/{react-Bwb7DPQL.js → react-BBhlpvlC.js} +1 -1
- package/dist/assets/{react-DTEOm1rk.js → react-Ck9BtMog.js} +1 -1
- package/dist/assets/{react-_GRuT6vD.js → react-CpKmyb1T.js} +1 -1
- package/dist/assets/{react-Bv0wImI-.js → react-DOvITSOM.js} +1 -1
- package/dist/assets/{react-KlSSTbpt.js → react-PNq75kwF.js} +1 -1
- package/dist/assets/{recharts-CIXkvtnT.js → recharts-CEhf2Gm_.js} +1 -1
- package/dist/assets/{routePaths-C_agWIhF.js → routePaths-MNVfXbZw.js} +1 -1
- package/dist/assets/{sentry-BQ1KU1t3.js → sentry-CO5QdUHy.js} +1 -1
- package/dist/assets/{url-BWcieJIW.js → url-Bu3ZxsAs.js} +1 -1
- package/dist/assets/{url-DLepITYL.js → url-GWWGspl-.js} +1 -1
- package/dist/assets/{useAiCfoDashboardSuggestedQuestionsChips-UyV5LaV3.js → useAiCfoDashboardSuggestedQuestionsChips-BYe9KDNy.js} +1 -1
- package/dist/assets/{useAskAiCfoHostNavButtonProps-ByAiXj6b.js → useAskAiCfoHostNavButtonProps-5B5IGvZZ.js} +1 -1
- package/dist/assets/{useCashManagementBanner-IspJUBVk.js → useCashManagementBanner-B-iQLyJE.js} +1 -1
- package/dist/assets/{useChargeCardPusherEvents-DKTUgdDs.js → useChargeCardPusherEvents-BckrLUOI.js} +1 -1
- package/dist/assets/{useDeviceId-C0O1xmgi.js → useDeviceId-C-ngzR5m.js} +1 -1
- package/dist/assets/{useEmailConnectResultRefresh-Capr7OcZ.js → useEmailConnectResultRefresh-CLY1bTNF.js} +1 -1
- package/dist/assets/{useInitialThreadRequest-Bzg53f4k.js → useInitialThreadRequest-B6VWj1GW.js} +1 -1
- package/dist/assets/{utils-C8oTXAPM.js → utils-BqFxyIYL.js} +1 -1
- package/dist/assets/{withTransactionSidePanel-BidzZJzq.js → withTransactionSidePanel-oRZAfGqS.js} +2 -2
- package/dist/assets/{zeni-epic-state-Bxb-N0Vf.js → zeni-epic-state-Cwuxiu06.js} +3 -3
- package/dist/index.html +1 -1
- package/package.json +4 -4
- package/dist/assets/AddressRoutes-U028ASzS.js +0 -1
- package/dist/assets/ChargeCardRoutes-7pOZH6XZ.js +0 -71
- package/dist/assets/CustomerOnboardingAuthScreen-LNleLdVj.js +0 -1
- package/dist/assets/DrawerScreen-CuGa-fYk.js +0 -1
- package/dist/assets/MagicLinkRoutes-DHtiC4OL.js +0 -72
- package/dist/assets/MagicLinkSignInScreen-BFWF0e4l.js +0 -12
- package/dist/assets/NotFoundScreen-DKRpU5d2.js +0 -1
- package/dist/assets/OAuthConsentScreen-DyHagxec.js +0 -1
- package/dist/assets/ReferralListScreen-CR-hF3FX.js +0 -5
- package/dist/assets/RewardsRoutes-k7gV7T8a.js +0 -1
- package/dist/assets/SignInScreen-DZAV_SQk.js +0 -1
- package/dist/assets/SignOutScreen-D-a-XJ-L.js +0 -9
- package/dist/assets/WiseConfirmationScreen-BADJXZJx.js +0 -12
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import{j as c}from"./liveblocks-CL8iYAR7.js";import{u as me,j as i,h as le,g as he,i as Ve,N as Xe,s as _t,n as Pe,t as _n,o as cs,p as ce}from"./core-BE5sOaFh.js";import{f8 as Pt,RW as os,fk as wt,bt as Fe,RX as is,RY as ds,eZ as fn,RZ as Pn,f6 as wn,R_ as vn,R$ as Tn,S0 as Fn,S1 as xn,f7 as Bn,fj as Ln,S2 as Rn,S3 as ls,fd as us,fc as ms,S4 as Cs,C5 as On,fm as ia,S5 as ps,S6 as hs,e$ as fs,e_ as gs,fz as Ye,ff as Un,fe as jn,S7 as Ss,fg as bs,BC as ys,BB as Is,BF as ks,BH as Es,fs as As,eW as Mn,S8 as Ds,S9 as _s,fx as Nn,Sa as Ps,fy as yt,BN as ws,BK as vs,eX as ge,Sb as qa,fC as xe,fD as Be,fE as Le,gw as da,cv as la,Sc as ua,Sd as vt,uT as $a,kF as za,Se as Ya,Cl as ka,fn as Qe,Cn as Tt,kv as Vn,Sf as ma,C9 as _a,Sg as Ts,Sh as Fs,Cc as Qa,Si as xs,Qi as Xa,fi as Hn,Ci as Sa,hV as Bs,Sj as Gn,f9 as Ca,bo as Ls,Sk as Rs,gh as Ja,gg as et,CR as Os,gf as at,P_ as Us,Sl as $n,co as zn,cQ as js,Qh as wa,Dq as Yn,Sm as gn,D0 as Pa,Sn as Wn,Dr as Ms,QG as Ns,Ds as Vs,Ex as Hs,ub as Gs,Er as $s,So as zs,Cm as ca,Sp as Ys,Sq as Ws,Sr as Zs,Ss as Ks,St as qs,Su as Ft,Sv as Qs,CC as Zn,Cv as Xs,Sw as Js,gy as ec,CL as Kn,CP as qn,gx as ac,Sx as tc,Dc as Qn,Sy as nc,Sz as rc,SA as sc,CN as Xn,Cy as Jn,Cf as er,CH as ar,CF as tr,CJ as cc,SB as nr,SC as oc,fu as ic,fv as dc,fw as lc,SD as tt,fo as rr,cS as xt,SE as uc,SF as mc,SG as Cc,SH as pc,CX as It,Dj as hc,Df as fc,CT as gc,Dh as Sc,D7 as bc,D9 as yc,SI as sr,Dp as Ga,Kg as Ic,SJ as kc,SK as Ec,SL as Ac,SM as cr,SN as Dc,DM as _c,C$ as or,CW as Ne,C_ as Pc,SO as wc,SP as vc,C6 as Tc,SQ as ir,fh as dr,SR as Fc,C8 as xc,C7 as Sn,SS as Bc,ST as Lc,SU as Rc,MN as Oc,SV as Bt,SW as Uc,xU as lr,ld as jc,hL as Mc,DR as Nc,SX as ur,f3 as Vc,f4 as Hc,SY as Gc,dj as $c,fl as zc,DH as Yc,DB as qe,bs as Wc,bJ as Zc,cA as Kc,bK as qc,L_ as Qc}from"./zeni-epic-state-Cwuxiu06.js";import{I as Re,cr as mr,p as we,cs as Cr,ct as pr,cu as Xc,a as ea,a0 as Lt,cv as Jc,cw as eo,Y as hr,c as fr,$ as gr,q as ye,C as ue,U as W,ar as ya,cx as Sr,cy as ao,cz as to,z as te,B as va,cg as nt,cA as no,cB as ro,cC as so,K as Ta,aS as We,bt as Rt,cD as co,D as Fa,j as rt,y as Ot,e as J,a9 as st,cE as oo,bG as ba,cF as kt,cG as io,w as Ut,cH as lo,au as br,a4 as Et,cI as uo,Z as yr,O as Ir,g as kr,cJ as mo,cK as Co,cL as po,cM as ho,cN as fo,cO as go,cP as So,o as Wa,cQ as bo,cR as yo,cS as ht,F as Io,cT as ko,cU as Eo,cV as Ao,cW as Do,cX as _o,i as Po}from"./index-j91BsX6x.js";import{n as He,D as Er,S as wo}from"./mui-D8wN7E11.js";import{a as r}from"./sentry-CO5QdUHy.js";import{u as xa}from"./useAskAiCfoHostNavButtonProps-5B5IGvZZ.js";import{M as Ie}from"./MobileAppDrawer-DeAmBX6B.js";import{d as jt}from"./recharts-CEhf2Gm_.js";import{g as _e,a as Ba,b as Ar,c as Oe,d as Ue,e as Je,f as aa,h as ta,A as vo,i as Mt,P as To,j as Nt,s as Ia,k as Dr,l as oa,m as _r,n as Fo,o as Pr,p as xo,S as bn}from"./SetupPagesScreen-BTuDl3Cv.js";import{u as wr}from"./useInitialThreadRequest-B6VWj1GW.js";import ct from"./NotFoundScreen--bQtpbnT.js";import{u as Vt}from"./useChargeCardPusherEvents-BckrLUOI.js";import{n as yn}from"./utils-BqFxyIYL.js";import{t as Bo}from"./AddressScreen-BbyvVT6L.js";import"./analytics-C839ALjG.js";import"./plaid-s-fzmMlM.js";import"./dnd-DTt7nnqm.js";import"./stripe-DMRn4zHo.js";import"./lottie-D6l1SNxh.js";import"./lexical-BDIjEa69.js";import"./pdf-B7aBqR_B.js";import"./analyticsHelper-BmqSI_Lf.js";import"./routePaths-MNVfXbZw.js";import"./BusinessVerificationPageScreen-B4Sdru5b.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]="709cb1fa-0996-4255-987a-d9e7a030d695",e._sentryDebugIdIdentifier="sentry-dbid-709cb1fa-0996-4255-987a-d9e7a030d695")}catch{}})();const Lo=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}},vr=e=>({id:e.id,isChecked:!1,cardName:e.cardName,last4:e.accountLast4,limitAmount:e.limit?.amount??0,limitCadence:e.creditLimitFrequency?.code,owner:Lo(e),utilizationAmount:(e.limit?.amount??0)-(e.available?.amount??0)});function Tr(){const e=me(),n=i(a=>Pt(a.cardPolicyState)),t=i(a=>os(a.cardPolicyState));r.useEffect(()=>{t!==""||n==="Completed"&&t===""||n==="In-Progress"||e(wt())},[e,n,t])}const{spendManagement:{chargeCard:{cardPolicyPage:In}}}=ea.getLocalizedStrings(),Ro=e=>Un(e,!1),Oo=e=>jn(e.name,!1);function Uo(){const e=le(),n=he(),{tenantEmailDomain:t}=Ve(),a=me(),s=Re(),y=Fe(s?.loggedInUserRoleMap),[g,S]=r.useState(!1),P=r.useCallback(E=>{S(E)},[]),m=r.useCallback(()=>{P(!0)},[P]),{isAiCfoAccessEnabled:C,onAskAiCfoClick:F}=xa({mobileExploreReferrer:"Card Policy"});r.useEffect(()=>()=>{a(is()),a(ds()),a(fn())},[a]);const w=i(E=>Pn(E.cardPolicyState)),l=i(E=>wn(E.cardPolicyState)),j=i(E=>vn(E.cardPolicyState)),B=i(E=>Tn(E.cardPolicyState)),L=i(E=>Fn(E.cardPolicyState)),p=i(E=>xn(E.cardPolicyState)),h=i(E=>Bn(E.cardPolicyState)),T=i(E=>Pt(E.cardPolicyState)),u=i(E=>E.chargeCardConfigState.receiptRequiredAboveAmount.amount),v=i(E=>E.chargeCardConfigState.fetchState);r.useEffect(()=>{w!=="Completed"&&w!=="In-Progress"&&a(Ln())},[a,w]),Tr();const k=i(E=>Rn(E.createCardPolicyState)),U=i(E=>ls(E.createCardPolicyState)),A=i(E=>us(E.cardPolicyState)),b=i(E=>ms(E.cardPolicyState)),x=i(E=>Cs(E.createCardPolicyState)),d=i(E=>On(E));r.useEffect(()=>{d.fetchState==="Not-Started"&&a(ia(!1,!1,!1))},[d.fetchState,a]);const f=r.useMemo(()=>l.map(Ro),[l]),M=r.useMemo(()=>h.map(Oo),[h]),V=r.useMemo(()=>d.cards.filter(E=>!mr(E.status.code)).map(vr),[d.cards]),O=w==="Completed"&&d.fetchState==="Completed"&&v==="Completed";r.useEffect(()=>{O&&x==null&&a(ps({cardsMasterList:V,defaultRequireReceiptAmount:u,suggestedAllowMerchants:j,suggestedBlockMerchants:B,suggestedAllowCategories:L,suggestedBlockCategories:p}))},[v,a,O,x,V,u,j,B,L,p]);const R=r.useMemo(()=>jt(E=>{a(wt(E))},250),[a]);r.useEffect(()=>()=>{R.cancel()},[R]);const z=r.useCallback(E=>{R(E)},[R]),$=k.fetchState,_=t!=null?`/${t}/cards/policy`:"..",D=r.useCallback(()=>{const E=we(n.state?.pathnameStackToGoBack),K=E.poppedPathname??_;e(K,{state:{pathnameStackToGoBack:E.newStack}})},[n.state,e,_]),G=r.useCallback(()=>{e(_)},[e,_]),Q=r.useCallback(E=>{a(hs(E))},[a]),I=r.useCallback(E=>{const K=Cr(E);a(fs({templates:[K]}))},[a]),N=r.useCallback(E=>{E.length!==0&&a(gs(E))},[a]),Z=r.useCallback(()=>{a(fn())},[a]),X=r.useRef($);r.useEffect(()=>{const E=X.current;X.current=$,$==="Completed"&&E!=="Completed"&&U!=null&&(a(Ye({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(_))},[a,$,U,e,_]);const o=$==="Error"?k.error?.message??In.createPolicyGenericErrorMessage:void 0;return y&&t!=null?x==null?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:g,handleDrawerToggle:P}),c.jsx(pr,{showUploadDocumentSection:!0,navBarTitle:In.createPageTitle,onBackClick:D,onClickMenuIcon:m,isAiCfoAccessEnabled:C,onAskAiCfoClick:F})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:g,handleDrawerToggle:P}),c.jsx(Xc,{formDraft:x,vendorSearchOptions:M,categorySearchOptions:f,isVendorSearchLoading:T==="In-Progress",onVendorSearchTextChange:z,submitState:$,submitErrorMessage:o,documentUploadState:A,uploadedFileName:b,isAiCfoAccessEnabled:C,onAskAiCfoClick:F,onBackClick:D,onCancelClick:G,onClickMenuIcon:m,onFormChange:Q,onSubmit:I,onUploadDocument:N,onRemoveDocument:Z})]}):c.jsx(Xe,{to:"..",replace:!0})}const{spendManagement:{chargeCard:{cardPolicyPage:jo}}}=ea.getLocalizedStrings(),Mo=e=>Un(e,!1),No=e=>jn(e.name,!1);function Vo(){const e=le(),n=he(),{tenantEmailDomain:t,templateId:a}=Ve(),s=me(),y=Re(),g=Fe(y?.loggedInUserRoleMap),[S,P]=r.useState(!1),m=r.useCallback(o=>{P(o)},[]),C=r.useCallback(()=>{m(!0)},[m]),{isAiCfoAccessEnabled:F,onAskAiCfoClick:w}=xa({mobileExploreReferrer:"Card Policy"}),l=i(o=>Ss(o)),j=i(o=>Pn(o.cardPolicyState)),B=i(o=>wn(o.cardPolicyState)),L=i(o=>vn(o.cardPolicyState)),p=i(o=>Tn(o.cardPolicyState)),h=i(o=>Fn(o.cardPolicyState)),T=i(o=>xn(o.cardPolicyState)),u=i(o=>Bn(o.cardPolicyState)),v=i(o=>Pt(o.cardPolicyState)),k=i(o=>On(o)),U=i(o=>a!=null?bs(o.cardPolicyState,a):void 0),A=r.useMemo(()=>l.templateId===a&&l.formDraft!=null?l.formDraft:U!=null?ys(U):void 0,[l.templateId,l.formDraft,U,a]);r.useEffect(()=>{if(a==null)return;const o=l.detailFetchState.fetchState;l.templateId===a&&(o==="Completed"||o==="In-Progress")||U!=null||s(Is(a))},[s,a,l.templateId,l.detailFetchState.fetchState,U]),r.useEffect(()=>{j!=="Completed"&&j!=="In-Progress"&&s(Ln())},[s,j]),Tr();const b=i(o=>o.chargeCardConfigState.receiptRequiredAboveAmount.amount);r.useEffect(()=>{k.fetchState==="Not-Started"&&s(ia(!1,!1,!1))},[k.fetchState,s]);const x=r.useMemo(()=>B.map(Mo),[B]),d=r.useMemo(()=>u.map(No),[u]),f=r.useMemo(()=>k.cards.filter(o=>!mr(o.status.code)).map(vr),[k.cards]);Lt({isDataReady:A!=null});const M=r.useMemo(()=>{if(A!=null)return Jc({draft:A,cardRows:f,categorySearchOptions:x,vendorSearchOptions:d,defaultRequireReceiptAmount:b,suggestedAllowMerchants:L,suggestedBlockMerchants:p,suggestedAllowCategories:h,suggestedBlockCategories:T})},[A,f,x,d,b,L,p,h,T]),[V,O]=r.useState(void 0),R=r.useRef(!1);r.useEffect(()=>{R.current||V!=null||M==null||(R.current=!0,O(M))},[V,M]);const z=r.useCallback(o=>{O(o)},[]),$=r.useMemo(()=>jt(o=>{s(wt(o))},250),[s]);r.useEffect(()=>()=>{$.cancel()},[$]);const _=r.useCallback(o=>{$(o)},[$]),D=l.updateFetchState.fetchState,G=t!=null?`/${t}/cards/policy`:"..",Q=r.useCallback(()=>{const o=we(n.state?.pathnameStackToGoBack),E=o.poppedPathname??G;e(E,{state:{pathnameStackToGoBack:o.newStack}})},[n.state,e,G]),I=r.useCallback(()=>{e(G)},[e,G]),N=r.useCallback(o=>{if(a==null)return;const E=Cr(o);s(ks(E)),s(Es(a))},[s,a]),Z=r.useRef(D);r.useEffect(()=>{const o=Z.current;Z.current=D,D==="Completed"&&o!=="Completed"&&(s(Ye({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(G))},[s,D,e,G]);const X=D==="Error"?l.updateFetchState.error?.message??jo.updatePolicyGenericErrorMessage:void 0;return!g||t==null||a==null?c.jsx(Xe,{to:"..",replace:!0}):V!=null&&j==="Completed"&&k.fetchState==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:m}),c.jsx(eo,{templateName:l.template?.name??"",formDraft:V,vendorSearchOptions:d,categorySearchOptions:x,isVendorSearchLoading:v==="In-Progress",onVendorSearchTextChange:_,submitState:D,submitErrorMessage:X,isAiCfoAccessEnabled:F,onAskAiCfoClick:w,onBackClick:Q,onCancelClick:I,onClickMenuIcon:C,onFormChange:z,onSubmit:N})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:m}),c.jsx(pr,{showUploadDocumentSection:!1,navBarTitle:l.template?.name,onBackClick:Q,onClickMenuIcon:C,isAiCfoAccessEnabled:F,onAskAiCfoClick:w})]})}function Fr(e,n,t){return n?e.filter(a=>a!=null&&a.trim().length>0).slice(0,t):[]}function xr(e){return i(n=>e==null||e===""?{chips:ft,isResolved:!1}:function(t){const a=t?.fetchState,s=a==="Completed"||a==="Error";return{chips:a==="Completed"?t?.suggestedQuestions??ft:ft,isResolved:s}}(As(n,e)),_t)}const ft=[],{spendManagement:{chargeCard:{cardPolicyAiCfoHero:{headline:Ho,subheadline:Go,pageTitle:$o}}}}=ea.getLocalizedStrings(),zo=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 Yo(){const e=le(),n=he(),{tenantEmailDomain:t}=Ve(),a=me(),s=Re(),y=Fe(s?.loggedInUserRoleMap),[g,S]=r.useState(!1),P=r.useCallback(_=>{S(_)},[]),m=r.useCallback(()=>{P(!0)},[P]),{useFeatureGate:C}=ue(),{isFeatureEnabled:F}=C(W.isAiCfoFileUploadEnabled),{isFeatureEnabled:w}=C(W.isCardPolicyEnabled),{isAiCfoAccessEnabled:l,onAskAiCfoClick:j}=xa({mobileExploreReferrer:"Card Policy"}),B=i(_=>Ds(_)),L=i(_=>Rn(_.createCardPolicyState)),p=i(_=>_s(_.createCardPolicyState)),h=i(_=>p==null?[]:Nn(_.aiCfoState,p).filter(D=>D.kind==="creating_policy"),_t),T=L.fetchState==="In-Progress"?Math.max(h.length,1):0,u=i(_=>Ps(_.createCardPolicyState)),v=ya(L.fetchState);r.useEffect(()=>{if(v==="In-Progress"&&L.fetchState==="Completed"&&p!=null)h.forEach(_=>{a(yt({chatSessionId:p,id:_.id,entityIds:u,kind:"created_policy"}))});else if(v==="In-Progress"&&L.fetchState==="Error"&&p!=null){h.forEach(D=>{a(yt({chatSessionId:p,id:D.id,kind:"errored_policy"}))});const _=L.error?.message!=null&&L.error.message.length>0?L.error.message:ea.getLocalizedStrings().common.errorMessage.somethingWentWrongPleaseTryAgain;a(Ye({messageSection:"card_policy_created",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:_}]}))}},[L.error?.message,L.fetchState,a,p,u,h,v]);const k=B.fetchState.fetchState;r.useEffect(()=>{k!=="Not-Started"&&k!=="Error"||a(ws())},[a,k]);const U=B.archiveFetchState.fetchState,A=ya(U);r.useEffect(()=>{A==="In-Progress"&&U==="Completed"&&a(Ye({messageSection:"card_policy_deleted",messageText:"success",type:"success"}))},[U,a,A]);const b=r.useMemo(()=>B.templates.map(zo),[B.templates]);Lt({isDataReady:B.fetchState.fetchState==="Completed"});const x=b.length>0||T>0,d=function(_){const{hasAnyPolicies:D,isChargeCardAdmin:G,isFileUploadEnabled:Q}=_,I=le(),N=he(),{tenantEmailDomain:Z}=Ve(),{isAiCfoOpen:X,setIsAiCfoOpen:o}=hr(),E=fr(),K=gr(),ne=i(oe=>Mn(oe)).createSessionAndSubmitState.fetchState==="In-Progress",{chips:q,isResolved:ke}=xr("card_policy"),ve=r.useMemo(()=>Fr(q,ke,3),[q,ke]),[fe,se]=r.useState(""),Ee=K&&E&&Z!=null&&!X,re=r.useCallback(oe=>{if(Z==null)return;const fa=ye(N.state?.pathnameStackToGoBack,N.pathname);I(`/${Z}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:fa,referrer:"card_policy_hero",aiCfoInitialQuestion:oe,aiCfoShouldSubmit:oe!=null&&oe.trim().length>0}})},[N.pathname,N.state,I,Z]),Ce=r.useCallback(oe=>{oe.trim().length!==0&&(se(""),re(oe))},[re]),Ae=r.useCallback(()=>{const oe=fe.trim();oe.length!==0&&(se(""),re(oe))},[fe,re]),ee=r.useCallback(()=>{},[]),Te=r.useCallback(oe=>{se(oe)},[]),De=r.useCallback(()=>{o(!0)},[o]),ae=r.useCallback(()=>{re(void 0)},[re]);return r.useMemo(()=>{if(Ee&&!D&&G)return{aiAgentName:$o,headline:Ho,subheadline:Go,promptChips:ve,composer:{currentInput:fe,isSubmitting:ne,isFileUploadEnabled:Q,onInputChange:Te,onSubmit:Ae,onStopSubmit:ee},onPromptClick:Ce,onOpenSidePanel:De,onOpenFullView:ae,dataTestIdPrefix:"card-policy-ai-cfo-hero"}},[fe,D,Ee,G,Q,ne,Te,ae,De,Ce,ee,Ae,ve])}({hasAnyPolicies:x,isChargeCardAdmin:y,isFileUploadEnabled:F}),f=w&&d!=null?c.jsx(Sr,{...d}):null,M=l&&f==null,V=r.useCallback(()=>{const _=we(n.state?.pathnameStackToGoBack),D=_.poppedPathname??"..";e(D,{state:{pathnameStackToGoBack:_.newStack}})},[n.state,e]),O=r.useCallback(()=>{t!=null&&e(`/${t}/cards/policy/new`)},[e,t]),R=r.useCallback(_=>{t!=null&&e(`/${t}/cards/policy/${_}/edit`)},[e,t]),z=r.useCallback(_=>{a(vs(_))},[a]),$=B.fetchState.fetchState;return!x&&$!=="Completed"&&$!=="Error"?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:g,handleDrawerToggle:P}),c.jsx(ao,{onBackClick:V,onNewPolicyClick:O,onClickMenuIcon:m,isAiCfoAccessEnabled:l,onAskAiCfoClick:j})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:g,handleDrawerToggle:P}),c.jsx(to,{policies:b,archivingTemplateId:B.archiveTargetTemplateId,pendingCreationCount:T,onBackClick:V,onNewPolicyClick:O,onEditPolicyClick:R,onArchivePolicyClick:z,onClickMenuIcon:m,policyAiCfoHero:f,isAiCfoAccessEnabled:M,onAskAiCfoClick:j})]})}function Wo(){const e=le(),{cardId:n}=Ve(),t=me(),a=te.getSignedInUser(),s=i(q=>ge(q)),y=Re(),g=Fe(y?.loggedInUserRoleMap),{useFeatureGate:S}=ue();if(a==null)throw Error("Can't access Add To Wallet Page without signing in...");const[P,m]=r.useState(!1),C=i(q=>qa(q).firstViewAfterActivation);if(n==null)throw Error("Empty card id is not valid...");const F=s.userRole.includes("charge_card_user"),{isFeatureEnabled:w}=S(W.isChargeCardFeatureEnabled),l=!!s.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:j}=S(W.isDebitCardFeatureEnabled),B=xe(s),L=Be(s),p=Le(j,s),h=s.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,T=Oe({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:p}),u=Ue({isCardsOnlyTenant:B,isChargeCardFeatureEnabled:w,isBookKeepingTenant:L,isDebitCardProductVisible:T,chargeCardsCreditAccountLimit:h}),v=!!s.companyDebitCardInfo?.info?.isDebitCardEnabled,k=i(q=>da(q,s.companyId)),U=la(k.controllers),{creditAccount:A,creditAccountRepayment:b}=i(q=>ua(q)),x=i(q=>q.classListState.fetchState),d=!F&&u&&l,f=i(q=>vt(q,n,d,u)),[M,V]=r.useState(!1),O=f.chargeCard,R=O?.cardCreatedByUser?.userId,z=i(q=>R!=null?$a(q.userRoleState,R):void 0),$=z?.accountingClassIDs[0],_=i(q=>$!=null?za(q.classState,{classId:$,reportId:"class_list"}):void 0),D=O?.cardHolderUser?.userId,G=i(q=>D!=null?$a(q.userRoleState,D):void 0),Q=G?.accountingClassIDs[0],I=i(q=>Q!=null?za(q.classState,{classId:Q,reportId:"class_list"}):void 0),N=O?.type.code==="business_physical_credit_card"||O?.type.code==="business_physical_debit_card",Z=O?.type.code==="business_physical_debit_card";r.useEffect(()=>{C&&P===!1&&N&&(m(!0),setTimeout(()=>{t(Ya()),Z&&t(Ye({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[C,P,N,Z]),r.useEffect(()=>{M||f.fetchState==="Completed"||f.fetchState==="In-Progress"||n==null||(V(!0),t(ka(n,d,!1)))},[M,f,n,t]),r.useEffect(()=>{if(f.fetchState==="Completed"&&(N===!1||N&&O?.status?.code!=="active"||O?.cardHolderUserId!==a.userId||C===!1&&P===!1||O?.type.code==="business_physical_debit_card"||O?.type.code==="business_virtual_debit_card")){const q=_e(s.tenantEmailDomain,n,a,O,C);e(q)}},[f.fetchState,C,N]),r.useEffect(()=>{A.fetchState!=="Completed"&&A.fetchState!=="In-Progress"&&u&&l&&g&&t(Qe()),b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&u&&l&&g&&t(Tt()),x!=="Completed"&&x!=="In-Progress"&&t(Vn())},[A.fetchState,b.fetchState,t,u,l,g,x]);const X=()=>{if(a!=null&&n!=null){t(Ya());const q=_e(s.tenantEmailDomain,n,a);e(q)}},o=O?.type.code==="business_physical_debit_card"||O?.type.code==="business_virtual_debit_card",E=Je(u,T,v,l),K=Ba(u,l,g,A,b),ne=Ar(o,f);return f.fetchState!=="Completed"?c.jsx(va,{fetchState:"In-Progress"}):c.jsxs(c.Fragment,{children:[c.jsx(nt,{showConfetti:C}),c.jsx(no,{onGotItClick:X,isDebitCard:O?.type.code==="business_physical_debit_card",controllerEmails:U,isChargeCardFeatureEnabled:u,isDebitCardFeatureEnabled:T,isDebitCardSetupEnabled:v,isChargeCardSetupEnabled:l,productInformation:E,creditAccountInformation:K,debitAccountInformation:ne,chargeCardDetailView:f,creditAccount:A,classListFetchState:x,creditAccountRepayment:b,cardIssuedByRoles:z?.userRoles,cardIssuedByDepartmentName:_?.className,cardHolderRoles:G?.userRoles,cardHolderDepartmentName:I?.className})]})}const Br="charge-card-transaction-update",Lr="charge-card-transaction-created",Rr="charge-card-transaction-declined",Or="charge-card-transaction-updated",Ur="charge-card-transaction-receipt-uploaded",pa="charge-card-status-update",Ht="charge-card-spending-updated",ot="credit-account-balance-updated",it="charge-card-created",Gt="charge-card-limit-updated",$t="charge-card-limit-reset",zt="charge-card-renamed",Zo="charge-card-department-updated",jr="charge-card-repayment-completed",Mr="charge-card-payment-date-updated",La="charge-card-cashback-redeemed",Ra="charge-card-cashback-earned",ha=(e,n)=>e==null||e===""?[]:n.map(t=>`private-encrypted-${e}.${t}`),Ko=[Ra,La],qo=Pe(function(e){const n=ma(e);return{insightsData:n.insight,cashbackByPeriod:n.cashbackByPeriod,uiState:n.uiState,cashbackSummary:n.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(n,t)=>{e(Ts({uiState:{sortKey:n,sortOrder:t}}))}}})(so);function Qo(){const e=le(),n=me(),t=he(),a=te.getSignedInUser(),s=i(j=>ge(j)),{useFeatureGate:y}=ue(),{isFeatureEnabled:g}=y(W.isCardsCommentingEnabled),[S,P]=r.useState(!1),m=i(j=>ma(j)),C=wr(s.companyId,{clearParams:m.fetchState==="Completed"}),F=r.useCallback(()=>{const j=we(t.state?.pathnameStackToGoBack),B=j.poppedPathname??Xo(s.tenantEmailDomain);e(B,{state:{pathnameStackToGoBack:j.newStack}})},[e,t,s.tenantEmailDomain]),w=aa(s);if(Vt({events:ha(w,Ko),onEvent:j=>{switch(j){case Ra:case La:return void n(_a(!0))}},onSubscribed:()=>{n(_a(!0))}}),r.useEffect(()=>{S||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(P(!0),n(_a()))},[S,m,n]),a==null)throw Error("Can't access cashback detail page without signing in...");const l=m.cashbackSummary?.cashbackEarned?.amount!=null&&m.fetchState!=="Not-Started";return m.fetchState!=="In-Progress"||l?(m.cashbackSummary?.cashbackEarned?.amount??0)===0&&m.fetchState==="Completed"?c.jsx(ct,{}):c.jsx(qo,{onBackClick:F,isCardsCommentingEnabled:g,initialOpenThreadRequest:C}):c.jsx(ro,{onBackClick:F})}const Xo=e=>`/${e}/cards`,Jo={containerWidth:new Fa(100,58)},ei=({appContent:e})=>{const n=Ta(),t=me(),a=le(),{cardId:s}=Ve(),y=he(),{useDynamicConfig:g}=ue(),[S,P]=r.useState(!1),[m,C]=r.useState(!1),[F,w]=r.useState(!1),[l,j]=r.useState(!1),B=te.getSignedInUser();if(B==null)throw Error("Can't access onboarding card page without signing in...");const L=i(I=>ge(I));if(s==null)throw Error("Empty card id is not valid...");const{configValue:p}=g(We.zeniCardsConfig),h=p.max_charge_card_activation_attempts_by_card_id,T=i(I=>Fs(I,s)),u=T.chargeCard,v=i(I=>I.chargeCardConfigState.fetchState),{useFeatureGate:k}=ue(),{isFeatureEnabled:U}=k(W.isChargeCardFeatureEnabled),{isFeatureEnabled:A}=k(W.isDebitCardFeatureEnabled),b=Le(A,L),x=Oe({isDebitCardFeatureEnabled:A,isBankingOnlyTenant:b}),d=!!L.companyChargeCardInfo?.info?.isChargeCardEnabled,f=L.userRole.includes("charge_card_user"),M=xe(L),V=Be(L),O=L.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,R=Ue({isCardsOnlyTenant:M,isChargeCardFeatureEnabled:U,isBookKeepingTenant:V,isDebitCardProductVisible:x,chargeCardsCreditAccountLimit:O}),z=!f&&R&&d;r.useEffect(()=>{S===!1&&v!=="In-Progress"&&v!=="Completed"&&(t(Qa()),P(!0)),m===!1&&T.fetchState==="Not-Started"&&(C(!0),t(ka(s,z,R)))},[m,T.fetchState,S,v]);const $=u?.type.code==="business_physical_credit_card"||u?.type.code==="business_physical_debit_card";r.useEffect(()=>{if(T.fetchState==="Completed"){if(F===!1&&($===!1||$&&u?.status?.code!=="inactive"||u?.cardHolderUserId!==B.userId)){const I=_e(L.tenantEmailDomain,s,B,u,!0),N=ye(y.state?.pathnameStackToGoBack,y.pathname);a(I,{state:{pathnameStackToGoBack:N}})}else if(F&&T.isRefreshingViewInBackground===!1&&u?.status?.code==="active"){t(xs({chargeCardId:s}));const I=_e(L.tenantEmailDomain,s,B,u,!0),N=ye(y.state?.pathnameStackToGoBack,y.pathname);t(Xa()),a(I,{state:{pathnameStackToGoBack:N}})}}},[T.fetchState,u?.type.code,F,T.isRefreshingViewInBackground]);const _=te.getZeniOtpTokenForCardHolder(s),D=i(I=>Hn(I.userState,B.userId)),G=()=>{u?.status?.code!=="active"&&t(Sa(s,!0))};r.useEffect(()=>{T.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&u?.cardActivationAttemptHistory.some(I=>I.statusCode==="success")===!0&&F===!1&&(setTimeout(G,3e3),w(!0))},[T.updatePhysicalChargeCardAttemptFetchState.fetchState,u?.cardActivationAttemptHistory]);const Q=I=>{j(I)};if(v!=="Completed"||u==null)return c.jsx(va,{fetchState:"In-Progress"});if(u.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(D?.phone==null)throw Error("Can't access user phone number.");return c.jsxs(ni,{children:[c.jsx(Ie,{isAppContentDrawerOpen:l,handleDrawerToggle:Q}),c.jsx(ai,{cardId:s,card:u,shippingAddressId:u.shippingAddressId,phone:D.phone,signedInUser:B,isSandboxEnv:Rt(),chargeCardDetailState:T,signedInUserToken:_,navigate:a,currentTenant:L,location:y,maxChargeCardActivationAttempts:h[s]!=null?h[s]:p.default_max_charge_card_activation_attempts!=null?p.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:p.charge_card_cashback_rate_per_transaction!=null?p.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{Q(!0)}}),e!=null?c.jsx(ti,{windowSize:n,children:e}):null]})},ai=Pe(function(e,{chargeCardDetailState:n,shippingAddressId:t,location:a,cardId:s}){const y=Bs(e.addressState,t);if(y==null)throw Error("Can't access shippingAddress.");const g=Gn(e,s),S=n.updateStatus,P=Ca(e,!1,!1,!1);let m=!1;P.fetchState==="Completed"&&P.cards.length<=1&&(m=!0);const C=a.state?.message==="comingFromV2UrlPath";return{showActivatePage:n.chargeCard?.providerCardCreateTime!=null&&n.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Ls())||C,showMenuIcon:m,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:P}=y;return{onGetOtp:m=>{S!=null&&e(at(m,"ChargeCardHolder",a))},onUpdatePhysicalChargeCardAttempt:m=>{e(Os(a,m))},onResendOtp:m=>{S!=null&&e(et(m,"ChargeCardHolder",a))},onVerifyOtp:(m,C)=>{S!=null&&e(Ja(m,C,"ChargeCardHolder",a))},onVerifyOtpSuccess:m=>{m!=null&&te.saveZeniOtpTokenForCardHolder(m,a)},onCVVActivateSuccess:()=>{e(Rs({chargeCardId:a}))},onBackClick:()=>{const m=we(s.state?.pathnameStackToGoBack),C=m.poppedPathname==null||m.poppedPathname.includes("onboard")===!0?ta(P):m.poppedPathname;t(C,{state:{pathnameStackToGoBack:m.newStack}})}}})(co),ti=He.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: ${e=>`${Jo.containerWidth.value(e.windowSize)}%`};
|
|
5
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
6
|
+
`,ni=He.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=ea.getLocalizedStrings().dateFormat,ri={overlayWidth:new Fa(100,100,58)},Nr=[jr,ot],si=new Set(Nr),ci=Pe(function(e,n){const t=n.currentTenant?.companyId;return{plaidConnectionDetails:Ns(e,t,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:Vs(e.depositAccountState,e.depositAccountListState)}},function(e,n){const{navigate:t,currentTenant:a,hasZeniAccountsAdminAccess:s,isZeniAccountsUser:y,isCashbackInfoFetchStateCompleted:g,isCreditCardInfoFetchStateCompleted:S,isDebitCardInfoFetchStateCompleted:P,controllerEmails:m,paymentDetails:C,productInformation:F,cashbackInformation:w,paymentSourceInformation:l,creditAccountInformation:j,debitAccountInformation:B,paymentInitiatedDate:L,sourcePage:p}=n,{tenantEmailDomain:h}=a,T=()=>{e(Yn(!0));const u=aa(a);u!=null&&u!==""&&e(Pa(u,!0,!0)),e(Qe(!0))};return{onBackNavigation:()=>{if(g&&S&&P&&w!=null&&J.trackCardsPayEarlyFormClick(m,F,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:L?.add(3,"day").format(Za.visual.MMMDCommaYYYYformat),paymentInitiatedDate:L?.format(Za.visual.MMMDCommaYYYYformat)},l,j,B),p==="cardPaymentHistory")n.closeDrawerHandler(!0),e(Wn());else{const u=ta(h);t(u)}},onUpdatePaymentAccountStatus:(u,v,k)=>{e($s(u,v,"bill_pay","bill_pay_detail",k))},onEstablishConnectionSuccess:()=>{e(Pa(a.companyId,!0))},onFetchLinkTokenClick:u=>{e(Gs("external_account",u))},onEstablishConnectionClick:u=>{e(Hs(u,a.companyId,"charge_card_payment","charge_cards"))},onSignUpAccountClick:()=>{s?window.open(`/${h}/checking/promo`,"_blank"):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")},onMoveMoneyClick:()=>{y?window.open(`/${h}/checking/transfer`):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")},onEventReceived:u=>{si.has(u)&&T()},onPusherSubscribed:T}})(st(oo)),Yt=({isPaymentDrawerOpen:e,closeDrawerHandler:n,pageName:t,creditAccountSpentAmount:a,productInformation:s,sourcePage:y,creditAccountInformation:g,debitAccountInformation:S,cashbackInformation:P,isDebitCardInfoFetchStateCompleted:m,isCreditCardInfoFetchStateCompleted:C,isCashbackInfoFetchStateCompleted:F,paymentInitiatedDate:w,retryRepayment:l})=>{const j=le(),{useDynamicConfig:B}=ue(),{configValue:L}=B(We.zeniAccountsConfig),p=Us(L),h=i(E=>$n(E)),{creditAccount:T}=i(E=>ua(E)),u=i(E=>ge(E)),v=Ot(),k=Ta(),U=me(),A=te.getSignedInUser(),b=Re(),[x,d]=r.useState(!1),[f,M]=r.useState(!1),{configValue:V}=B(We.zeniCardsConfig),O=V.credit_card_auto_pay_threshold_by_company_id?.[u.companyId]??V.default_credit_card_auto_pay_threshold??vo,R=zn(b?.loggedInUserRoleMap),z=js(b?.loggedInUserRoleMap),$=!!u.companyZeniAccountInfo?.info?.isZeniAccountEnabled,_=i(E=>wa(E,u.companyId)),D=_.companyChargeCardInfo?.primaryFundingAccount,G=_.allFundingAccounts.find(E=>E.id===D?.accountId),Q=i(E=>da(E,u.companyId)),I=la(Q.controllers);r.useEffect(()=>{if(h.fetchState!=="Completed"&&h.fetchState!=="In-Progress"&&U(Yn()),h.fetchState==="Completed"&&!f){const E=u.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,K=h.transferFromAccounts.find(q=>q.id===E);let ne;if(y==="cardPaymentHistory"&&l){const q=l.paymentAccountId!=null?h.transferFromAccounts.find(ke=>ke.id===l.paymentAccountId):void 0;ne={amount:l.amount,isAutoRepayment:u.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:yn(),transferFrom:q??K}}else ne={amount:{amount:T.balance.amount+T.hold.amount,currencyCode:T.balance.currencyCode,currencySymbol:T.balance.currencySymbol},isAutoRepayment:u.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:yn(),transferFrom:K};U(gn(ne)),M(!0)}},[h.fetchState,f,y,l,h.transferFromAccounts,u.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,u.companyChargeCardInfo?.info?.isAutoPayEnabled,T.balance.amount,T.balance.currencyCode,T.balance.currencySymbol,T.hold.amount,U]);const N={isZeniCheckingEnabled:u.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:G?.accType==="depositAccount",creditCardPaymentSourceAccountName:G?.label,creditCardPaymentSourceAccountType:G?.accType,creditCardPaymentSourceLastFourDigits:G?.accountLast4,creditCardPaymentSourceBalance:G?.accountBalance?.available?.amount??0};if(r.useEffect(()=>{_.fetchState!=="Completed"&&_.fetchState!=="In-Progress"&&U(Pa(u.companyId,!0))},[_.fetchState]),r.useEffect(()=>{h.updateStatus==="Completed"&&P!=null&&F&&C&&m&&J.trackCardsPayEarlyPayNowClick(I,s,P,h.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:h.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:h.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:h.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:h.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:w?.add(3,"day").format(Za.visual.MMMDCommaYYYYformat),paymentInitiatedDate:w?.format(Za.visual.MMMDCommaYYYYformat)},N,g,S)},[h.updateStatus,P,F,C,m,w]),r.useEffect(()=>{h.fetchState==="Completed"&&P!=null&&F&&C&&m&&!x&&e&&f&&P!=null&&(J.trackCardsPayEarlyFormView(I,s,P,t,u.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,T.balance.amount,N,g,S),d(!0))},[h,F,C,m,x,e,f]),A==null)throw Error("Can't access invite people page without signing in...");const Z=()=>{n(!0),U(Wn())},X=aa(u),o={events:e?ha(X,Nr):[],eventCallback:(E,K,ne)=>{ne.onEventReceived(E)},onSubscribed:E=>{E.onPusherSubscribed()}};return c.jsx(c.Fragment,{children:c.jsx(Er,{onClose:()=>{Z()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:ri.overlayWidth.valuePercentage(k),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:v.colors.black,opacity:.75,cursor:"pointer"}}},children:c.jsx(oi,{onClick:E=>E.stopPropagation(),children:c.jsx(ci,{...o,closeDrawerHandler:n,navigate:j,paymentDetails:h,creditAccountSpentAmount:a,onTransferClick:()=>{F&&C&&m&&P!=null&&J.trackCardsPayEarlyFormClick(I,s,P,"Pay Now",h.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:h.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:h.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:h.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:h.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:void 0,paymentInitiatedDate:void 0},N,g,S),U(Ms({companyId:u.companyId}))},onDismissClick:Z,onSaveChangesToLocalStore:E=>{U(gn(E))},currentTenant:u,hasZeniAccountsAdminAccess:R,isZeniAccountsUser:z,isZeniAccountSetupEnabled:$,productInformation:s,sourcePage:y,controllerEmails:I,autoPayThreshold:O,paymentSourceInformation:N,creditAccountInformation:g,debitAccountInformation:S,cashbackInformation:P,isCashbackInfoFetchStateCompleted:F,isCreditCardInfoFetchStateCompleted:C,isDebitCardInfoFetchStateCompleted:m,paymentInitiatedDate:w,maxInsuredAmount:p.maxInsuredAmount})})})})},oi=He(wo)`
|
|
15
|
+
display: flex;
|
|
16
|
+
min-height: 100%;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
`,Wt=e=>e!=null&&typeof e=="object"?e:null,de=e=>typeof e=="string"?e:void 0,Me=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",gt=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)},Zt=(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}},At=[Br,Lr,Rr,Or,Ur,pa,Ht,ot,Gt,$t,zt],Vr=[Ra,La],ii=new Set([...At,...Vr]),St=ea.getLocalizedStrings().dateFormat,di=Pe(function(e,n){const{includeCreditAccountInfo:t,cardId:a,signedInUserToken:s,isChargeCardFeatureEnabled:y}=n,g=te.getSignedInUser(),S=e.tenantState.currentTenantId,P={userId:g?.userId??"",sessionId:g?.zeniSessionId??"",tenantId:S??""},m=vt(e,a,t,y),C=Js(e,a),F=ec(e);return{chargeCardDetailView:m,chargeCardsRecurringExpensesState:C,vgsVaultId:rt.cardVaultId,transactionAttachmentsEndpointToFetch:`${Et}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${Et}/card_transaction_attachment`,authParams:P,isSnackbarOpen:F.isSnackbarOpen,cardsEndPoint:`${br.cardMicroServiceBaseUrl}`,signedInUserToken:m.twoFAView.token??s}},function(e,n){const{cardId:t,currentTenant:a,navigate:s,location:y,cardProviderId:g,includeCreditAccountInfo:S,setIsPaymentOpen:P,controllerEmails:m,productInformation:C,cashbackInformation:F,primaryFundingAccountDetails:w,creditAccountInformation:l,debitAccountInformation:j,isChargeCardFeatureEnabled:B}=n,{tenantEmailDomain:L}=a;return{onEventReceived:(p,h)=>{(({event:T,data:u,cardId:v,dispatch:k,subscribedEvents:U})=>{const A=Wt(u);switch(T){case Ra:case La:return void k(_a(!0));case Br:{const b=de(A?.card_id);if(b==null||b!==v)return;const x=de(A?.transaction_id),d=A?.transaction_status;return x!=null&&Ka(d)?void k(Qs({transactionId:x,transactionStatus:d})):void k(ca(v,null,null,!0))}case pa:{const b=de(A?.card_id)??v;if(b!==v)return;const x=Zt(A,b);return x!=null?void k(Ft(x)):void k(Sa(v,!0))}case Ht:{const b=de(A?.card_id)??v;if(b!==v)return;const x=de(A?.currency_code),d=de(A?.currency_symbol),f=Me(A?.balance);return x!=null&&d!=null&&f!=null?(k(qs({cardId:b,currencyCode:x,currencySymbol:d,balance:f,hold:Me(A?.hold),dailyPurchaseSpends:Me(A?.daily_purchase_spends),monthlyPurchaseSpends:Me(A?.monthly_purchase_spends),dailyWithdrawals:Me(A?.daily_withdrawals),monthlyWithdrawals:Me(A?.monthly_withdrawals)})),void k(Qe(!0))):(k(Sa(v,!0)),void k(Qe(!0)))}case ot:{const b=de(A?.currency_code),x=de(A?.currency_symbol),d=Me(A?.available_amount),f=Me(A?.balance_amount);return b!=null&&x!=null&&d!=null&&f!=null?void k(Ks({currencyCode:b,currencySymbol:x,available:d,balance:f,hold:Me(A?.hold_amount),cashback:Me(A?.cashback_amount)})):void k(Qe(!0))}case Lr:{const b=de(A?.card_id)??v;if(b!==v)return;const x=A?.transaction;return gt(x)?void k(Zs({cardId:b,transaction:x})):void k(ca(v,null,null,!0))}case Rr:{const b=de(A?.card_id)??v;if(b!==v)return;const x=A?.transaction;return gt(x)?void k(Ws({cardId:b,declineReason:de(A?.decline_reason),transaction:x})):void k(ca(v,null,null,!0))}case Or:{const b=de(A?.card_id)??v;if(b!==v)return;const x=A?.transaction;return gt(x)?void k(Ys({cardId:b,transaction:x})):void k(ca(v,null,null,!0))}case Ur:{const b=de(A?.card_id)??v;if(b!==v)return;const x=de(A?.transaction_id),d=A?.attachment_file_paths;return x!=null&&Array.isArray(d)&&d.every(f=>typeof f=="string")?void k(zs({cardId:b,transactionId:x,attachmentFilePaths:d})):void k(ca(v,null,null,!0))}case Gt:case $t:case zt:{const b=de(A?.card_id);if(b==null||b!==v)return;k(Sa(v,!0))}}})({event:p,data:h,cardId:t,dispatch:e,subscribedEvents:ii})},onPusherSubscribed:()=>{e(Sa(t,!0)),e(ca(t,null,null,!0)),e(Qe(!0))},onReloadTransactions:()=>{e(ka(t,S,B))},onFetchChargeCardTransactionList:(p,h)=>{e(ca(t,p,h))},onUpdateScrollYOffset:p=>{},onGetOtp:p=>{g!=null&&e(at(p,"ChargeCardHolder",t))},onResendOtp:p=>{g!=null&&e(et(p,"ChargeCardHolder",t))},onVerifyOtp:(p,h)=>{g!=null&&e(Ja(p,h,"ChargeCardHolder",t))},onVerifyOtpSuccess:p=>{p!=null&&te.saveZeniOtpTokenForCardHolder(p,t)},onColorCodeChange:p=>{e(cc(t,p))},onLockChargeCard:(p,h)=>{e(tr(p,t,h))},onUnlockChargeCard:p=>{e(ar(p,t))},onCloseChargeCard:p=>{e(er(t,p))},onFetchChargeCardsRecurringExpenses:()=>{e(Jn([t]))},updateChargeCardName:(p,h)=>{e(Xn(p,t,h))},updateChargeCardTransactionAttachments:(p,h)=>{h!=null&&e(sc({transactionId:p,data:h}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(p,h,T,u)=>{e(rc({chargeCardId:h,transactionId:p,fetchState:T,error:u}))},updateChargeCardTransactionReceiptsShowTick:(p,h,T)=>{e(nc({chargeCardId:h,transactionId:p,shouldShowTick:T}))},onChargeCardRevokeInviteClick:()=>{e(Qn(t))},updateChargeCardTransactionIsViewReceiptClicked:(p,h,T)=>{e(tc({chargeCardId:h,transactionId:p,isViewReceiptClicked:T}))},onChargeCardTransactionRowClick:(p,h)=>{const T=ye(y.state?.pathnameStackToGoBack,y.pathname);s(`../../transaction/${p}/${h}`,{state:{pathnameStackToGoBack:T}})},onBackClick:()=>{const p=we(y.state?.pathnameStackToGoBack),h=ta(L);s(h,{state:{pathnameStackToGoBack:p.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(ac())},onUpdateDebitCardPinAttempt:p=>{e(qn(t,p)),p==="success"&&e(Ye({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(p,h)=>{p?e(Ye({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):h!=null&&e(Ye({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:h.message}]}))},updateSpendLimit(p,h,T,u){e(Kn(p,h,T.code,u))},shouldOpenCreditCardPaymentDrawer(p){p&&F!=null&&J.trackCardsPayEarlyClick(m,C,F,"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},l,j),P(p)}}})(st(lo));function li(){const e=le(),n=me(),t=he(),{cardId:a}=Ve(),[s,y]=r.useState(!1),[g,S]=r.useState(!1),{useDynamicConfig:P}=ue(),m=te.getSignedInUser(),C=i(Y=>ge(Y)),F=i(Y=>qa(Y).firstViewAfterActivation),w=i(Y=>Y.classListState.fetchState),{configValue:l}=P(We.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:j}=P(We.zeniCardsConfig),B=j.enable_card_controls_for_company_ids,L=j.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(B)&&B.includes(C.companyId),[p,h]=r.useState(!1),[T,u]=r.useState(!1),{useFeatureGate:v}=ue(),{isFeatureEnabled:k}=v(W.isChargeCardFeatureEnabled),{isFeatureEnabled:U}=v(W.isDebitCardFeatureEnabled),A=Le(U,C),b=Oe({isDebitCardFeatureEnabled:U,isBankingOnlyTenant:A}),{isFeatureEnabled:x}=v(W.isEarlyPayFeatureEnabled),{isFeatureEnabled:d}=v(W.isCardsCommentingEnabled),f=Be(C),M=xe(C),V=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,O=Ue({isCardsOnlyTenant:M,isChargeCardFeatureEnabled:k,isBookKeepingTenant:f,isDebitCardProductVisible:b,chargeCardsCreditAccountLimit:V}),R=!!C.companyDebitCardInfo?.info?.isDebitCardEnabled,z=!!C.companyChargeCardInfo?.info?.isChargeCardEnabled,$=!C.userRole.includes("charge_card_user")&&O&&z;if(a==null)throw Error("Empty card id is not valid...");const _=i(Y=>wa(Y,C.companyId)),{creditAccount:D,creditAccountRepayment:G}=i(Y=>ua(Y)),Q=te.getZeniOtpTokenForCardHolder(a),I=i(Y=>vt(Y,a,$,O)),{isAiCfoAccessEnabled:N,onAskAiCfoClick:Z}=xa({mobileExploreReferrer:"Card Detail"});Lt({isDataReady:I.fetchState==="Completed"});const X=i(Y=>ma(Y)),o=I.chargeCard,E=Re(),K=Fe(E?.loggedInUserRoleMap),ne=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",ve=o?.type.code==="business_virtual_debit_card",fe=Ba(O,z,K,D,G),se=Ar(ne,I),Ee=Mt(K,X),re=Je(O,b,R,z),Ce=I.depositAccountLimitFetchState.fetchState!=="Completed"&&I.depositAccountLimitFetchState.fetchState!=="In-Progress",Ae=i(Y=>da(Y,C.companyId)),ee=la(Ae.controllers),Te=i(Y=>o?.cardCreatedByUser?.userId!=null?$a(Y.userRoleState,o?.cardCreatedByUser?.userId):void 0),De=i(Y=>Te?.accountingClassIDs[0]!=null?za(Y.classState,{classId:Te?.accountingClassIDs[0],reportId:"class_list"}):void 0),ae=i(Y=>o?.cardHolderUser?.userId!=null?$a(Y.userRoleState,o?.cardHolderUser?.userId):void 0),oe=i(Y=>ae?.accountingClassIDs[0]!=null?za(Y.classState,{classId:ae?.accountingClassIDs[0],reportId:"class_list"}):void 0),fa=C?.userRole,na=i(Y=>Ca(Y,!1,b,k).revokeCardInvite),Oa=ya(na.saveStatus.fetchState);if(r.useEffect(()=>{if(Oa==="In-Progress"&&na.saveStatus.fetchState==="Completed"){const Y=ta(C.tenantEmailDomain);e(Y)}},[Oa,na.saveStatus.fetchState,e,C.tenantEmailDomain]),r.useEffect(()=>{F&&s===!1&&ke&&(y(!0),setTimeout(()=>{n(Ya()),ve&&n(Ye({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[F,s,ke,ve]),r.useEffect(()=>{p||I.fetchState==="Completed"||I.fetchState==="In-Progress"||a==null||(h(!0),n(ka(a,$,O,!1)))},[p,I,a,n]),r.useEffect(()=>{!T&&I.fetchState==="Completed"&&I.chargeCard?.connectedAccountId!=null&&ne&&Ce&&K&&(u(!0),n(Zn({depositAccountId:I.chargeCard?.connectedAccountId})))},[T,I,n,Ce,K]),r.useEffect(()=>{X.fetchState!=="Completed"&&X.fetchState!=="In-Progress"&&K&&n(_a()),w!=="Completed"&&w!=="In-Progress"&&n(Vn()),I.transactionStatistics.fetchState!=="Completed"&&I.transactionStatistics.fetchState!=="In-Progress"&&n(Xs({chargeCardId:a})),_.fetchState!=="Completed"&&_.fetchState!=="In-Progress"&&n(Pa(C.companyId,!0))},[X.fetchState,n,K,w,I.transactionStatistics.fetchState,_.fetchState]),r.useEffect(()=>{if(!(I.fetchState!=="Completed"||O&&D.fetchState!=="Completed"||o==null||I.transactionStatistics.fetchState!=="Completed"||ne&&K&&I.depositAccountLimitFetchState.fetchState!=="Completed")){const Y=o.type.code.includes("physical"),Se=Y?o.cardActivationAttemptHistory[0]?.timestamp:o.createTime;J.trackCardsCardDetailView(ee,re,{cardId:a,cardName:o.cardName,cardType:o.type.code.includes("credit")?"credit":"debit",cardCategory:Y?"physical":"virtual",cardLimit:ba(o.limit.amount),cardLastFourDigits:o.accountLast4,cardStatus:o.status.code,cardAssignedDate:o.createTime?.format(St.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:o.providerCardCreateTime?.format(St.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:Se?.format(St.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:o.creditLimitFrequency.name,cardSpentAmount:ba(o.balance.amount),cardAvailableLimit:ba(o.available.amount),cardUtilizationPercent:o.limit.amount>0?Math.round((o.limit.amount-o.available.amount)/o.limit.amount*100):0,cardUtilizationAmount:ba(o.limit.amount-o.available.amount),totalNumberOfDeclinedTransactions:I.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:I.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:I.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:I.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:I.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:I.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:I.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:I.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:I.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:I.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:kt(o.cardCreatedByUser,!1),cardIssuedByEmail:o.cardCreatedByUser?.email,cardIssuedByUserId:o.cardCreatedByUser?.userId,cardIssuedByRole:Te?.userRoles,cardIssuedByDepartment:De?.className},{cardholderName:kt(o.cardHolderUser,!1),cardholderEmail:o.cardHolderUser?.email,cardholderRole:ae?.userRoles,cardholderUserId:o.cardHolderUser?.userId,cardholderDepartment:oe?.className},fe,se)}},[I.fetchState,I.depositAccountLimitFetchState.fetchState,I.transactionStatistics.fetchState,D.fetchState,K]),m==null)throw Error("Can't access card detail page without signing in...");const dt=aa(C),Ea=K?[...At,...Vr]:At,ra={events:ha(dt,Ea),eventCallback:(Y,Se,ie)=>{ie.onEventReceived(Y,Se)},onSubscribed:Y=>{Y.onPusherSubscribed()}},Aa=()=>{if(a!=null&&o!=null){const{ownerName:Y,cardName:Se,utilisation:ie,limit:Ge,frequency:Ze,cardColor:$e}=bt(o),ze=o.cardHolderUserId===m.userId;J.trackCardsDetailPageViewed(a,Y,Se,ie,Ge,Ze,$e,ze)}};r.useEffect(()=>{if(I.fetchState==="Completed"){const Y=I.chargeCard;if(Y?.status.code==="inactive"||ne&&Y?.isPinSet===!1||q&&F){const Se=_e(C.tenantEmailDomain,a,m,o,F);e(Se)}}},[I.fetchState]);const lt=(Y,Se)=>{if(a!=null&&o!=null){const{ownerName:ie,cardName:Ge,utilisation:Ze,limit:$e,frequency:ze}=bt(o),sa=o.cardHolderUserId===m.userId;J.trackCardsDetailPageClicked(a,ie,Ge,Ze,$e,ze,Y,sa,Se)}},ut=(Y,Se)=>{if(a!=null&&o!=null){const{ownerName:ie,cardName:Ge,utilisation:Ze,limit:$e,frequency:ze}=bt(o),sa=o.cardHolderUserId===m.userId;J.trackCardsVerifyPopUpClick(a,ie,Ge,Ze,$e,ze,Y,sa,Se)}},pe=D.balance.amount+D.hold.amount,Ua=C.companyChargeCardInfo?.info?.primaryFundingAccount,Da=_.allFundingAccounts.find(Y=>Y.id===Ua?.accountId),ja=I.chargeCard!=null,Ma=I.depositAccountLimit!=null;return I.fetchState!=="Error"||ja?!ja&&(I.fetchState==="In-Progress"||I.fetchState==="Not-Started")||na.saveStatus.fetchState==="In-Progress"||!Ma&&ne&&K&&I.depositAccountLimitFetchState.fetchState!=="Completed"?c.jsx(io,{}):c.jsxs(c.Fragment,{children:[c.jsx(nt,{showConfetti:F}),I.fetchState==="Completed"?c.jsx(Ut,{analytics:J,onLoad:Aa}):null,g===!0?c.jsx(Yt,{closeDrawerHandler:()=>S(!1),isPaymentDrawerOpen:g,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:re,creditAccountInformation:fe,debitAccountInformation:se,cashbackInformation:Ee,creditAccountSpentAmount:pe,isDebitCardInfoFetchStateCompleted:!ne||!K||I.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!O||D.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!K||X.fetchState==="Completed",paymentInitiatedDate:G.initiatedRepaymentDate}):null,c.jsx(di,{...ra,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:ut,onFireOnClickAnalytics:lt,isSandboxEnv:Rt(),signedInUser:m,location:t,navigate:e,setIsPaymentOpen:S,cardIssuedByRoles:Te?.userRoles,cardIssuedByDepartmentName:De?.className,cardHolderRoles:ae?.userRoles,cardHolderDepartmentName:oe?.className,loggedInUserRole:fa,isChargeCardFeatureEnabled:O,isDebitCardFeatureEnabled:b,isDebitCardSetupEnabled:R,isChargeCardSetupEnabled:z,isCardControlsEnabled:L,isEarlyPayEnabled:x,controllerEmails:ee,chargeCardCashbackDetailState:X,productInformation:re,creditAccountInformation:fe,debitAccountInformation:se,cashbackInformation:Ee,classListFetchState:w,primaryFundingAccountDetails:Da,currentTenant:C,cardProviderId:I.chargeCard?.cardProviderID,cardId:a,creditAccount:D,creditAccountRepayment:G,includeCreditAccountInfo:$,signedInUserToken:Q,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:l.documentAiReceiptMaxSizeLimitBytes!=null?l.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:N,onAskAiCfoClick:Z,isCardsCommentingEnabled:d})]}):c.jsx(ct,{})}const bt=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:ui,subheadline:mi,pageTitle:Ci}}}}=ea.getLocalizedStrings(),Hr=[pa,ot,Mr,La,Ra,it,zt,Zo,Gt,$t,Ht],pi=new Set(Hr),Dt=jt((e,n,t,a)=>{e(ia(n,t,a,!0))},400),hi=He.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
|
+
`,fi=Pe(function(e,n){const t=Ca(e,n.includeCreditAccountDebitSummaryAndCashbackInfo,n.isDebitCardFeatureEnabled&&n.isDebitCardSetupEnabled,n.isChargeCardFeatureEnabled&&n.isChargeCardSetupEnabled);return{chargeCardListView:t,rowActionView:uc(e),bulkActionView:mc(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:P,isCreditCardProductVisibleForExpressInterest:m,isChargeCardSetupEnabled:C,isDebitCardFeatureEnabled:F,isDebitCardSetupEnabled:w,isDebitCardTOSAccepted:l,isChargeCardTOSAccepted:j,controllerEmails:B,depositAccountListWithDebitCardIssued:L,primaryFundingAccountDetails:p,chargeCardSetUpViewFetchState:h,productInformation:T,cashbackInformation:u,creditAccountInformation:v,debitAccountInformation:k,updatePayNowInfoTooltip:U,isUserHasCardsAdminLevelAccess:A}=n,{tenantEmailDomain:b}=a,{cards:x}=g;return{onChargeCardRowClick:(d,f)=>{const M=_r(x,d);let V;M!=null&&((R=>{const z=R.limit.amount-R.available.amount,$=`${R.cardHolderUser?.firstName.toLowerCase()} ${R.cardHolderUser?.lastName.toLowerCase()}`,_=R.cardName,D=R.department?.className??"",G=R.limit.amount,Q=R.creditLimitFrequency.name;J.trackCardsListRowClicked($,_,D,z,G,Q,y.userId===R.cardHolderUserId)})(M),oa(F,w,L)&&J.trackCardsCardListRowClick(B,T,"Card Row Item","row_clicked",f+1,{cardOwner:kt(M.cardHolderUser,!1),cardName:M.cardName,cardType:M.type.code.includes("credit")?"credit":"debit",cardStatus:M.status.code,cardUtilizationAmount:ba(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:ba(M.limit.amount)},u,v,k)),V=M?.status.code==="request_on_hold"&&y.userId===M.cardHolderUserId?Pr(b):_e(b,d,y,M);const O=ye(s.state?.pathnameStackToGoBack,s.pathname);t(V,{state:{pathnameStackToGoBack:O}})},onFetchChargeCardsRecurringExpenses:d=>{e(Jn(d))},onFetchDepositAccountLimit:d=>{e(Zn({depositAccountId:d}))},onChargeCardResendInviteClick:d=>{e(yc(d))},onChargeCardRevokeInviteClick:d=>{e(Qn(d))},onLockChargeCardList:(d,f)=>{e(bc(d,f))},onUnlockChargeCardList:d=>{e(Sc(d))},onCloseChargeCardList:(d,f)=>{e(gc(d,f))},onRevokeChargeCardList:d=>{e(fc(d))},updateChargeCardListSpendLimit(d,f,M){e(hc(d,f,M.code))},onLockChargeCard:(d,f)=>{e(tr(A,d,f))},onUnlockChargeCard:d=>{e(ar(A,d))},onCloseChargeCard:(d,f)=>{e(er(d,f))},onUpdateSpendLimit(d,f,M,V){e(Kn(d,f,M.code,V))},updateChargeCardName:(d,f)=>{e(Xn(A,d,f))},onClickSetupIcon:()=>{J.trackCardsListPageClicked("settings"),oa(F,w,L)&&u!=null&&J.trackCardsSettingsClick(B,T,u,v,k);const d=Fo(b),f=ye(s.state?.pathnameStackToGoBack,s.pathname);t(d,{state:{pathnameStackToGoBack:f}})},onIssueCardClick:()=>{J.trackCardsListPageClicked("new card"),oa(F,w,L)&&u!=null&&J.trackCardsNewCardClick(B,T,u,"New Button","card_creation_initiated","Card List",v,k);const d=gi(b),f=ye(s.state?.pathnameStackToGoBack,s.pathname);t(d,{state:{pathnameStackToGoBack:f}})},onColumnSortConfigChanged:(d,f)=>{oa(F,w,L)&&u!=null&&J.trackCardsCardListSortClick(B,T,u,"Sort Icon","sort",d,f==="ascending"?"ASC":"DESC","Cards List",v,k),e(It({uiState:{sortKey:d,sortOrder:f}}))},onSearchTextChanged:d=>{e(pc(d))},onReloadCards:()=>{e(ia(S,F&&w,P&&C,!0))},onLetsGoClick:()=>{t("./onboard")},onBackClick:()=>{t("../../")},onTotalCashbackClick:()=>{oa(F,w,L)&&u!=null&&J.trackCardsCashbackOverviewClick(B,T,u,"Cashback Overview","cashback_details_viewed",v,k),t("./cashback")},onClickStatementsIcon:()=>{oa(F,w,L)&&u!=null&&J.trackCardsStatementsClick(B,T,u,v,k),t("./statements")},onCreateNowClick:d=>{oa(F,w,L)&&u!=null&&J.trackCardsNewCardClick(B,T,u,"Promo Banner","card_creation_initiated","Card List",v,k),t(`./new?cardType=${d}`)},onPromoCardClick:d=>{t(d==="debit"&&F&&!l||d==="credit"&&m&&!j?`../promo?cardPromoType=${d}`:"./setup")},navigateToCreditCardPaymentPage:(d,f)=>{h==="Completed"&&a.company!=null&&u!=null&&J.trackCardsPayEarlyClick(B,T,u,"Card List",d,f,{isZeniCheckingEnabled:a.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:p?.accType==="depositAccount",creditCardPaymentSourceAccountName:p?.label,creditCardPaymentSourceAccountType:p?.accType,creditCardPaymentSourceLastFourDigits:p?.accountLast4,creditCardPaymentSourceBalance:p?.accountBalance?.available?.amount??0},v,k);const M=Si(b);t(M)},navigateToCreditCardPaymentHistoryPage:()=>{const d=bi(b),f=ye(s.state?.pathnameStackToGoBack,s.pathname);t(d,{state:{pathnameStackToGoBack:f}})},shouldShowPayNowInfoTooltip:U,onSetRowActionCardId:d=>{e(Cc(d))},onSetBulkActionCardIds:d=>{e(nr(d))},onEventReceived:d=>{pi.has(d)&&Dt(e,S,F&&w,P&&C)},onPusherSubscribed:()=>{Dt(e,S,F&&w,P&&C)}}})(st(Co));function kn({isPaymentDrawerOpen:e}){const n=le(),t=me(),a=he(),s=r.useCallback((H,je)=>{t(nr([])),n(H,je)},[t,n]),[y,g]=r.useState(!1),[S,P]=r.useState(te.getPayNowInfoTooltip()??!1),m=H=>{te.savePayNowInfoTooltip(H),P(H)},[C,F]=r.useState(!1),w=te.getSignedInUser(),l=i(H=>ge(H)),[j,B]=r.useState(!1),[L,p]=r.useState(!1),{isAiCfoAccessEnabled:h,onAskAiCfoClick:T}=xa({mobileExploreReferrer:"Cards"}),u=l.userRole.includes("charge_card_user"),v=!u,k=!!l.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:U,useDynamicConfig:A}=ue(),{isFeatureEnabled:b}=U(W.isCashbackFeatureEnabled),{isFeatureEnabled:x}=U(W.isChargeCardFeatureEnabled),{isFeatureEnabled:d}=U(W.isDebitCardFeatureEnabled),{isFeatureEnabled:f}=U(W.isEarlyPayFeatureEnabled),{isFeatureEnabled:M}=U(W.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:V}=U(W.isCardsCommentingEnabled),{isFeatureEnabled:O}=U(W.isAiCfoFileUploadEnabled),{isFeatureEnabled:R}=U(W.isCardPolicyEnabled),{isFeatureEnabled:z}=U(W.isAiCardCreationEnabled),$=Le(d,l),_=Oe({isDebitCardFeatureEnabled:d,isBankingOnlyTenant:$}),D=xe(l),G=Be(l),Q=l.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ue({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:x,isBookKeepingTenant:G,isDebitCardProductVisible:_,chargeCardsCreditAccountLimit:Q}),N=Dr({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:x,isBookKeepingTenant:G}),{configValue:Z}=A(We.zeniCardsConfig),X=Re(),o=Fe(X?.loggedInUserRoleMap),E=i(H=>da(H,l.companyId)),K=la(E.controllers),ne=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?.[l.companyId]??Z.default_credit_card_pay_now_threshold??To,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(l.companyId),ve=!!l.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,fe=!!l.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,se=!!l.companyChargeCardInfo?.info?.isChargeCardEnabled,Ee=!!l.company?.companyChargeCardInfo?.isChargeCardEnabled,re=!!l.company?.companyDebitCardInfo?.isDebitCardEnabled,Ce=i(H=>$n(H)),Ae=ya(Ce.updateStatus),ee=i(H=>Ca(H,v,_&&k,I&&se)),Te=i(H=>oc(H)),De=i(H=>ic(H)),ae=i(H=>dc(H)),oe=i(H=>lc(H)),fa=i(H=>ae==null?[]:Nn(H.aiCfoState,ae).filter(je=>je.kind==="creating_cards"),_t),na=ya(De.fetchState);r.useEffect(()=>{na==="In-Progress"&&De.fetchState==="Completed"&&ae!=null&&fa.forEach(H=>{t(yt({chatSessionId:ae,id:H.id,entityIds:oe,kind:"created_cards"}))})},[t,De.fetchState,ae,oe,fa,na]);const Oa=ee.cards.filter(H=>H.type.code.includes("debit")).map(H=>H.connectedAccountId),dt=[...new Set(Oa)],Ea=i(H=>ma(H)),ra=i(H=>tt(H,dt)),Aa=i(H=>wa(H,l.companyId)),lt=Aa.companyChargeCardInfo?.primaryFundingAccount,ut=Aa.allFundingAccounts.find(H=>H.id===lt?.accountId),pe=ee.fetchState,Ua=ee.creditAccount,Da=r.useCallback(()=>o===!0&&R===!0&&pe==="Completed"&&te.getCardPolicyPopupSeen(l.tenantEmailDomain??"")!==!0,[o,R,pe,l.tenantEmailDomain]),[ja,Ma]=r.useState(Da);r.useEffect(()=>{Ma(Da())},[Da]);const Y=()=>{te.saveCardPolicyPopupSeen(l.tenantEmailDomain??"",!0),Ma(!1)},Se=pe==="Completed"&&!ee.hasCreditCard&&!ee.hasDebitCard;uo({isDataReady:pe==="Completed",pageContext:Se?"cards_creation":"cards"});const{creditAccountRepayment:ie}=i(H=>ua(H)),Ge=i(H=>qa(H).firstViewAfterActivation),{areTenantIdsInSync:Ze}=yr(),$e=Mt(o,Ea),ze=Ba(I,se,o,Ua,ie),sa=Nt(_,k,o,ra,ee.debitCardSummary),mt=Je(I,_,k,se),Ct=ee.creditAccount.balance.amount+ee.creditAccount.hold.amount;if(r.useEffect(()=>{pe==="Completed"&&(te.getPayNowInfoTooltip()==null||Ct<q*ee.creditAccount.limit.amount/100)&&m(!0)},[pe,q,Ct,ee.creditAccount.limit.amount]),r.useEffect(()=>{if(e!=null&&e===!0&&ie.initiatedRepayments.amount===0&&ie.fetchState==="Completed"||Ae==="In-Progress"&&Ce.updateStatus==="Completed")m(!1),g(!0);else if(ie.initiatedRepayments.amount>0&&ie.fetchState==="Completed"){g(!1),document.body.style.overflow="auto";const H=ta(l.tenantEmailDomain);s(H)}},[e,ie.initiatedRepayments.amount,ie.fetchState,Ae,Ce.updateStatus,s,l.tenantEmailDomain]),r.useEffect(()=>{!j&&(se||k)&&(Ee||re)&&Ze&&(B(!0),t(ia(v,_&&k,I&&se,!1)))},[j,v,t,Ze,Ee,re]),r.useEffect(()=>{Ge&&C===!1&&(F(!0),setTimeout(()=>{t(Ya())},5e3))},[Ge,C]),r.useEffect(()=>()=>{Dt.flush()},[]),r.useEffect(()=>{pe==="Completed"&&u&&ee.cards.length===1&&(ee.cards[0].status.code==="inactive"&&ee.cards[0].type.code==="business_physical_credit_card"?s(`./${ee.cards[0].id}/activate`):ee.cards[0].status.code!=="request_on_hold"&&(a.state?.message==="comingFromCardDetail"?s("../../"):s(`./${ee.cards[0].id}`)))},[pe,u,a.state,s,ee.cards]),r.useEffect(()=>{if(pe==="Completed"&&u){const H=ee.cards.length,je=ee.cards.filter(Ke=>Ke.cardHolderUserId===w?.userId).filter(Ke=>Ke.status.code==="request_on_hold");je.length>0&&H===je.length&&s("./onboard")}},[pe,ee.cards,u,s,w?.userId]),r.useEffect(()=>{pe!=="Completed"||I&&ie.fetchState!=="Completed"||_&&k&&o&&ra.fetchState!=="Completed"||J.trackCardsCardListView(K,mt,$e,ze,sa)},[pe,Ua,ie.fetchState,ra.fetchState,o]),w==null)throw Error("Can't access charge card list page without signing in...");const Yr=i(H=>rr(H.userState,H.userRoleState,H.userListViewState,"cardAdmin")),Kt=xt(X?.loggedInUserRoleMap),qt=H=>{p(H)},Wr=ee.creditAccount.limit,Zr=()=>{g(!1),s("..")},Kr=l.companyChargeCardInfo?.info!=null&&Ia({cardInfo:l.companyChargeCardInfo.info,isProductVisible:I&&Ee,isTOSAccepted:ve,isSetupEnabled:se,isUserHasCardsAdminLevelAccess:o,isUserHasCardsAccess:Kt}),qr=l.companyDebitCardInfo?.info!=null&&Ia({cardInfo:l.companyDebitCardInfo.info,isProductVisible:_&&re,isTOSAccepted:fe,isSetupEnabled:k,isUserHasCardsAdminLevelAccess:o,isUserHasCardsAccess:Kt}),Qr=Kr||qr,Qt=function(H){const{isEmptyCardsState:je,isChargeCardAdmin:Ke,isFileUploadEnabled:an}=H,tn=le(),Na=he(),{tenantEmailDomain:Va}=Ve(),{isAiCfoOpen:ts,setIsAiCfoOpen:nn}=hr(),ns=fr(),rs=gr(),rn=i(be=>Mn(be)).createSessionAndSubmitState.fetchState==="In-Progress",{chips:sn,isResolved:cn}=xr("cards_creation"),on=r.useMemo(()=>Fr(sn,cn,3),[sn,cn]),[Ha,pt]=r.useState(""),dn=rs&&ns&&Va!=null&&!ts,ga=r.useCallback(be=>{if(Va==null)return;const ss=ye(Na.state?.pathnameStackToGoBack,Na.pathname);tn(`/${Va}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:ss,referrer:"cards_hero",aiCfoInitialQuestion:be,aiCfoShouldSubmit:be!=null&&be.trim().length>0}})},[Na.pathname,Na.state,tn,Va]),ln=r.useCallback(be=>{be.trim().length!==0&&(pt(""),ga(be))},[ga]),un=r.useCallback(()=>{const be=Ha.trim();be.length!==0&&(pt(""),ga(be))},[Ha,ga]),mn=r.useCallback(()=>{},[]),Cn=r.useCallback(be=>{pt(be)},[]),pn=r.useCallback(()=>{nn(!0)},[nn]),hn=r.useCallback(()=>{ga(void 0)},[ga]);return r.useMemo(()=>{if(dn&&je&&Ke)return{aiAgentName:Ci,headline:ui,subheadline:mi,promptChips:on,composer:{currentInput:Ha,isSubmitting:rn,isFileUploadEnabled:an,onInputChange:Cn,onSubmit:un,onStopSubmit:mn},onPromptClick:ln,onOpenSidePanel:pn,onOpenFullView:hn,dataTestIdPrefix:"cards-ai-cfo-hero"}},[Ha,dn,Ke,je,an,rn,Cn,hn,pn,ln,mn,un,on])}({isEmptyCardsState:Se,isChargeCardAdmin:o,isFileUploadEnabled:O}),Xt=z&&Qt!=null?c.jsx(Sr,{...Qt}):null,{isCardsShuttingDown:Jt,shutdownContent:en}=Ir(l.tenantId,l.company?.managementInfo?.receiverEmails),Xr=Jt===!0&&en!=null?c.jsx(mo,{shutdownContent:en}):null,Jr=h&&Xt==null,es=aa(l),as={events:ha(es,Hr),eventCallback:(H,je,Ke)=>{Ke.onEventReceived(H)},onSubscribed:H=>{H.onPusherSubscribed()}};return se||k?c.jsxs(c.Fragment,{children:[pe==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Ut,{analytics:J,onLoad:()=>{J.trackPageLoaded(kr.Event.cardsListPage),(I&&!se||_&&!k)&&J.trackCardsPromoView(K,{isCreditCardOffered:I,isDebitCardOffered:_,isDebitCardEnabled:k,isCreditCardEnabled:se},"Banner",_&&!k?"Debit Card":I&&!se?"Credit Card":"","Card List")}}),c.jsx(nt,{showConfetti:Ge})]}):null,y===!0?c.jsx(Yt,{closeDrawerHandler:Zr,isPaymentDrawerOpen:y,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:Ct,productInformation:mt,creditAccountInformation:ze,debitAccountInformation:sa,cashbackInformation:$e,isDebitCardInfoFetchStateCompleted:!(_&&k&&o)||ra.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!I||ie.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!o||Ea.fetchState==="Completed",paymentInitiatedDate:ie.initiatedRepaymentDate}):null,c.jsxs(hi,{children:[c.jsx(Ie,{isAppContentDrawerOpen:L,handleDrawerToggle:qt}),c.jsx(fi,{...as,isCashbackFeatureEnabled:b,isChargeCardFeatureEnabled:I,isDebitCardFeatureEnabled:_,isCreditCardProductVisibleForExpressInterest:N,updatePayNowInfoTooltip:m,showPayNowInfoTooltip:S,creditCardPayNowThreshold:q,signedInUser:w,chargeCardListState:ee,location:a,admins:Yr.users,navigateAndClearBulkSelection:s,currentTenant:l,isCardControlsEnabled:ke,companyChargeCardInfoCreditAccountLimit:l.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:l.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:o,includeCreditAccountDebitSummaryAndCashbackInfo:v,onClickMenuIcon:()=>{qt(!0)},creditLimit:Wr,isChargeCardSetupEnabled:se,isChargeCardEnabledOnCompany:Ee,isDebitCardSetupEnabled:k,isDebitCardEnabledOnCompany:re,isEarlyPayEnabled:f,isChargeCardPaymentHistoryFeatureEnabled:M,cashbackRate:ne,controllerEmails:K,chargeCardCashbackDetailState:Ea,depositAccountListWithDebitCardIssued:ra,isChargeCardTOSAccepted:ve,isDebitCardTOSAccepted:fe,primaryFundingAccountDetails:ut,chargeCardSetUpViewFetchState:Aa.fetchState,productInformation:mt,creditAccountInformation:ze,debitAccountInformation:sa,cashbackInformation:$e,isAiCfoAccessEnabled:Jr,onAskAiCfoClick:T,isCardsCommentingEnabled:V,cardsAiCfoHero:Xt,cardsShutdownBanner:Xr,isCardsShuttingDown:Jt,onClickPolicyIcon:o&&R?()=>n(yi(l.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:ja,onPolicyIntroTooltipClose:Y,pendingCreationCount:Te})]})]}):(ve||fe)&&o===!0?c.jsx(Xe,{to:"../setup"}):Qr?c.jsx(Xe,{to:"../promo"}):c.jsx(va,{fetchState:pe})}const gi=e=>`/${e}/cards/new`,Si=e=>`/${e}/cards/payment`,bi=e=>`/${e}/cards/payment-history`,yi=e=>`/${e}/cards/policy`,Gr=[jr,Mr],Ii=new Set(Gr),ki=Pe(function(e){const n=te.getSignedInUser(),t=ge(e),a=e.tenantState.currentTenantId,s=sr(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:Ic(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:`${Et}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:S}},function(e,n){const{location:t,navigate:a}=n;return{onBackClick:()=>{const s=we(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(Ec({filters:s}))},onReloadPayments:()=>{e(Ga(!0))},onEventReceived:s=>{Ii.has(s)&&e(Ga(!0))},onPusherSubscribed:()=>{e(Ga(!0))},onSearchTextChanged:s=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:s})},updateDownloadStateHandler:s=>{e(kc({uiState:{downloadState:s}}))}}})(st(po));function Ei(){const e=le(),n=he(),t=me(),{areTenantIdsInSync:a}=yr(),{useFeatureGate:s}=ue();if(te.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const y=i(o=>ge(o)),g=i(o=>sr(o)),[S,P]=r.useState(!1),[m,C]=r.useState(!1),[F,w]=r.useState(!1),[l,j]=r.useState(null),B=!y.userRole.includes("charge_card_user"),L=!!y.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:p}=s(W.isChargeCardFeatureEnabled),{isFeatureEnabled:h}=s(W.isDebitCardFeatureEnabled),T=Le(h,y),u=Oe({isDebitCardFeatureEnabled:h,isBankingOnlyTenant:T}),v=xe(y),k=Be(y),U=y.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,A=Ue({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:p,isBookKeepingTenant:k,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:U}),b=!!y.companyChargeCardInfo?.info?.isChargeCardEnabled,x=Re(),d=Fe(x?.loggedInUserRoleMap),f=i(o=>Ca(o,B,u&&L,A&&b)),M=r.useMemo(()=>{const o=f.cards.filter(E=>E.type.code.includes("debit"));return[...new Set(o.map(E=>E.connectedAccountId))]},[f.cards]),V=i(o=>ma(o)),O=i(o=>tt(o,M)),{creditAccountRepayment:R}=i(o=>ua(o)),z=r.useMemo(()=>Mt(d,V),[d,V]),$=r.useMemo(()=>Ba(A,b,d,f.creditAccount,R),[A,b,d,f.creditAccount,R]),_=r.useMemo(()=>Nt(u,L,d,O,f.debitCardSummary),[u,L,d,O,f.debitCardSummary]),D=r.useMemo(()=>Je(A,u,L,b),[A,u,L,b]),G=f.creditAccount.balance.amount+f.creditAccount.hold.amount,Q=r.useMemo(()=>l!=null?g.repaymentHistory.find(o=>o.cardRepaymentId===l):void 0,[l,g.repaymentHistory]),I=r.useCallback(o=>{j(o),t(ia(B,u&&L,A&&b,!1)),w(!0)},[t,B,u,L,A,b]),N=r.useCallback(()=>{w(!1),j(null),document.body.style.overflow="auto"},[]);r.useEffect(()=>{S||g.fetchState==="Completed"||g.fetchState==="In-Progress"||(P(!0),t(Ga()))},[S,t,g.fetchState]),r.useEffect(()=>{!m&&(b||L)&&a&&(C(!0),t(ia(B,!1,A&&b,!1)))},[m,b,L,a,t,B,A]);const Z=aa(y),X={events:ha(Z,Gr),eventCallback:(o,E,K)=>{K.onEventReceived(o)},onSubscribed:o=>{o.onPusherSubscribed()}};return c.jsxs(c.Fragment,{children:[F?c.jsx(Yt,{closeDrawerHandler:N,isPaymentDrawerOpen:F,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:G,productInformation:D,creditAccountInformation:$,debitAccountInformation:_,cashbackInformation:z,isDebitCardInfoFetchStateCompleted:!(u&&L&&d)||O.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!A||R.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!d||V.fetchState==="Completed",paymentInitiatedDate:R.initiatedRepaymentDate,retryRepayment:Q}):null,c.jsx(ki,{...X,location:n,navigate:e,accountInfoByAccountId:g.accountInfoByAccountId,onRetryPaymentClick:I})]})}const En=He.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
|
+
`,An=ea.getLocalizedStrings().months;function Ai(){const e=le(),n=me(),t=he(),{creditAccount:a,creditAccountRepayment:s}=i(D=>ua(D)),y=`${br.cardMicroServiceBaseUrl}/1.0/credit-accounts/${a.id}`,[g,S]=r.useState(!1),[P,m]=r.useState(!1),C=i(D=>Ac(D)),{useFeatureGate:F}=ue(),w=i(D=>ge(D)),{isFeatureEnabled:l}=F(W.isChargeCardFeatureEnabled),{isFeatureEnabled:j}=F(W.isDebitCardFeatureEnabled),{isFeatureEnabled:B}=F(W.isCardsCommentingEnabled),L=wr(B?w.companyId:void 0,{clearParams:B&&C.fetchState==="Completed"}),p=Le(j,w),h=Oe({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:p}),T=xe(w),u=Be(w),v=w.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,k=Ue({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:l,isBookKeepingTenant:u,isDebitCardProductVisible:h,chargeCardsCreditAccountLimit:v}),U=!!w.companyDebitCardInfo?.info?.isDebitCardEnabled,A=!!w.companyChargeCardInfo?.info?.isChargeCardEnabled,b=i(D=>da(D,w.companyId)),x=la(b.controllers),d=i(D=>cr(D)),f=d.cards.filter(D=>D.type.code.includes("debit")).map(D=>D.connectedAccountId),M=[...new Set(f)],V=i(D=>tt(D,M)),O=i(D=>Dc(D));r.useEffect(()=>{P||a.fetchState==="Completed"||a.fetchState==="In-Progress"||(S(!0),n(Qe()))},[g,n,a.fetchState]),r.useEffect(()=>{P||a.fetchState!=="Completed"||a.id==null||C.fetchState==="Completed"||C.fetchState==="In-Progress"||(m(!0),n(_c(a.id)))},[P,n,a.fetchState,a.id,C.fetchState]),r.useEffect(()=>{V.fetchState!=="Completed"&&V.fetchState!=="In-Progress"&&h&&U&&n(or()),d.fetchState!=="Completed"&&d.fetchState!=="In-Progress"&&n(Ne()),O.fetchState!=="Completed"&&O.fetchState!=="In-Progress"&&h&&U&&n(Pc()),s.fetchState!=="Completed"&&s.fetchState!=="In-Progress"&&k&&A&&n(Tt())},[V.fetchState,h,U,d.fetchState,O.fetchState,s.fetchState,k,A]),r.useEffect(()=>{if(C.fetchState==="Completed"&&a.fetchState==="Completed"&&s.fetchState==="Completed"&&d.fetchState==="Completed"&&(!h||!U||V.fetchState==="Completed"&&O.fetchState==="Completed")){let D="",G="";if(C.statements.length>0){const Z=C.statements[C.statements.length-1].period,[X,o]=Z.split("-"),E=C.statements[0].period,[K,ne]=E.split("-");D=`${An[parseInt(o)-1]} ${X}`,G=`${An[parseInt(ne)-1]} ${K}`}const Q=Je(k,h,U,A),I=Ba(k,A,!0,a,s),N=Nt(h,U,!0,V,O);J.trackCardsCreditCardStatementsView(x,Q,{numberOfStatements:C.statements.length,oldestStatementMonthYear:D,latestStatementMonthYear:G},I,N)}},[C.fetchState,a.fetchState,s.fetchState,V.fetchState,d.fetchState,O.fetchState]);const R=()=>{const D=we(t.state?.pathnameStackToGoBack),G=D.poppedPathname??"..";e(G,{state:{pathnameStackToGoBack:D.newStack}})},z=i(D=>ma(D)),$=te.getSignedInUser(),_={userId:$?.userId??"",sessionId:$?.zeniSessionId??"",tenantId:w.tenantId??""};if($==null)throw Error("Can't access address page without signing in...");if(C.fetchState!=="Completed")return c.jsx(En,{children:c.jsx(ho,{onBackClick:R})});{const D=Je(k,h,U,A);return c.jsx(En,{children:c.jsx(fo,{currentTenantCompanyName:w.companyName,statementListView:C,productInformation:D,onBackClick:R,authParams:_,controllerEmails:x,isChargeCardFeatureEnabled:k,isDebitCardFeatureEnabled:h,isDebitCardSetupEnabled:U,isChargeCardSetupEnabled:A,isCardsCommentingEnabled:B,initialOpenThreadRequest:L,chargeCardCashbackDetailState:z,creditAccount:a,creditAccountRepayment:s,depositAccountListWithDebitCardIssued:V,debitCardSummary:O,downloadEndPoint:y})})}}const $r=[pa,it],Di=new Set($r),_i={containerWidth:new Fa(100,58)},Pi=({appContent:e})=>{const n=Ta(),t=me(),a=le(),s=he(),{useDynamicConfig:y}=ue(),[g,S]=r.useState(!1),[P,m]=r.useState(!1),[C,F]=r.useState(!1),[w,l]=r.useState(!1),j=r.useRef(!1),B=r.useRef(null);r.useEffect(()=>()=>{B.current!=null&&(clearTimeout(B.current),B.current=null)},[]);const[L,p]=r.useState(!1),[h,T]=r.useState(!1),u=te.getSignedInUser();if(u==null)throw Error("Can't access onboarding card page without signing in...");const v=i(N=>ge(N)),{configValue:k}=y(We.zeniCardsConfig),U=i(N=>wc(N)),{tenantEmailDomain:A}=v,b=i(N=>N.settingsViewState.profile.fetchState),x=i(N=>N.chargeCardListState.fetchState),d=i(N=>N.settingsViewState.profile.userId),f=i(N=>N.chargeCardConfigState.fetchState);r.useEffect(()=>{g===!1&&b!=="In-Progress"&&b!=="Completed"&&(t(vc()),S(!0)),P===!1&&f!=="In-Progress"&&f!=="Completed"&&(t(Qa()),m(!0)),C===!1&&x==="Not-Started"&&(F(!0),t(Ne()))},[g,C,x,P,f]),r.useEffect(()=>{b==="Completed"&&L===!1&&d!=null&&x==="Completed"&&U.cards.length>0&&(t(Tc({userId:d})),t(ir({cardId:U.cards[U.cards.length-1].id})),p(!0))},[b,L,d,x]),r.useEffect(()=>{if(!w&&U.fetchState==="Completed"&&U.cards.length===0){const N=we(s.state?.pathnameStackToGoBack),Z=N.poppedPathname??ta(A);a(Z,{state:{pathnameStackToGoBack:N.newStack}})}},[U.fetchState,U.cards,w]);const M=i(N=>qa(N)),V=ya(M.updateStatus.fetchState),O=M.currentDisplayedCardId,{useFeatureGate:R}=ue(),{isFeatureEnabled:z}=R(W.isChargeCardFeatureEnabled),$=!!v.companyChargeCardInfo?.info?.isChargeCardEnabled,_=!v.userRole.includes("charge_card_user")&&z&&$,D=i(N=>O!=null?dr(N.chargeCardState,O):null),G=()=>{O!=null&&(j.current=!0,B.current!=null&&clearTimeout(B.current),B.current=setTimeout(()=>{j.current=!1,B.current=null},5e3),t(ka(O,_,!0)),t(Ne(!0)),l(!0))},Q=aa(v);Vt({events:ha(Q,$r),onSubscribed:()=>{t(Ne(!0))},onEvent:(N,Z)=>{if(!Di.has(N))return;const X=Wt(Z),o=j.current;if(N===pa){const K=de(X?.card_id)??O;if(K!=null){const ne=Zt(X,K);if(ne!=null)return t(Ft(ne)),void(K!==O||o||G())}}if(N===it)return void t(Ne(!0));const E=de(X?.card_id)??O;(O==null||E===O)&&O!=null?o||G():t(Ne(!0))}}),r.useEffect(()=>{if(w&&O!=null&&D!=null&&D.status.code!=="request_on_hold"){const N=_e(v.tenantEmailDomain,O,u,D),Z=ye(s.state?.pathnameStackToGoBack,s.pathname);t(Fc()),D?.type.code==="business_virtual_credit_card"&&t(Xa()),a(N,{state:{pathnameStackToGoBack:Z},replace:!0}),j.current=!1,B.current!=null&&(clearTimeout(B.current),B.current=null)}},[w,D?.status.code]),r.useEffect(()=>{V==="In-Progress"&&M.updateStatus.fetchState==="Completed"&&setTimeout(G,3e3)},[V,M.updateStatus.fetchState]);const I=N=>{T(N)};if(b!=="Completed"||U.cards.length===0)return c.jsxs(Dn,{children:[c.jsx(Ie,{isAppContentDrawerOpen:h,handleDrawerToggle:I}),c.jsx(go,{})]});if(d==null)throw Error("Can't access my userId.");return c.jsxs(Dn,{children:[c.jsx(Ie,{isAppContentDrawerOpen:h,handleDrawerToggle:I}),c.jsx(wi,{chargeCardListView:U,cardUserOnboardingView:M,navigate:a,currentTenant:v,myUserId:d,location:s,chargeCardCashbackRatePerTransaction:k.charge_card_cashback_rate_per_transaction!=null?k.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{I(!0)}}),e!=null?c.jsx(vi,{windowSize:n,children:e}):null]})},wi=Pe(function(e,{currentTenant:n,cardUserOnboardingView:t,chargeCardListView:a,myUserId:s}){const y=Ca(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(Sn({localData:S}))},onGetOtp:S=>{if(a.cardUserOnboardingLocalData!=null){const P={...a.cardUserOnboardingLocalData,phone:S};e(Sn({localData:P}))}e(at(S,"CardUserOnboarding"))},onResendOtp:S=>{e(et(S,"CardUserOnboarding"))},onVerifyOtp:(S,P)=>{e(Ja(S,P,"CardUserOnboarding"))},onVerifyOtpSuccess:S=>{e(xc()),S!=null&&te.saveZeniOtpToken(S)},setCurrentDisplayedCardId:S=>{e(ir({cardId:S}))},onBackClick:()=>{const S=we(s.state?.pathnameStackToGoBack),P=S.poppedPathname??ta(g);t(P,{state:{pathnameStackToGoBack:S.newStack}})}}})(So),vi=He.div`
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
width: ${e=>`${_i.containerWidth.value(e.windowSize)}%`};
|
|
38
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
39
|
+
`,Dn=He.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
|
+
`,Ti={containerWidth:new Fa(100,58)},Fi=({appContent:e})=>{const n=Ta(),t=me(),a=le(),{cardId:s}=Ve(),y=he(),{useDynamicConfig:g,useFeatureGate:S}=ue(),[P,m]=r.useState(!1),[C,F]=r.useState(!1),[w,l]=r.useState(!1),[j,B]=r.useState(!1),L=te.getSignedInUser();if(L==null)throw Error("Can't access onboarding card page without signing in...");const p=i(_=>ge(_));if(s==null)throw Error("Empty card id is not valid...");const{configValue:h}=g(We.zeniCardsConfig),T=i(_=>Bc(_,s)),{isFeatureEnabled:u}=S(W.isChargeCardFeatureEnabled),{isFeatureEnabled:v}=S(W.isDebitCardFeatureEnabled),k=Le(v,p),U=Oe({isDebitCardFeatureEnabled:v,isBankingOnlyTenant:k}),A=xe(p),b=Be(p),x=p.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,d=Ue({isCardsOnlyTenant:A,isChargeCardFeatureEnabled:u,isBookKeepingTenant:b,isDebitCardProductVisible:U,chargeCardsCreditAccountLimit:x}),f=T.chargeCard,M=i(_=>_.chargeCardConfigState.fetchState);r.useEffect(()=>{P===!1&&M!=="In-Progress"&&M!=="Completed"&&(t(Qa()),m(!0)),C===!1&&T.fetchState==="Not-Started"&&(F(!0),t(ka(s,!1,d)))},[C,T.fetchState,P,M]);const V=f?.type.code==="business_physical_debit_card"||f?.type.code==="business_virtual_debit_card";r.useEffect(()=>{if(T.fetchState==="Completed"){if(w===!1&&(V===!1||V&&f.status?.code!=="active"||V&&f.status.code==="active"&&f.isPinSet||f.cardHolderUserId!==L.userId)){const _=_e(p.tenantEmailDomain,s,L,f,!0),D=ye(y.state?.pathnameStackToGoBack,y.pathname);a(_,{state:{pathnameStackToGoBack:D}})}else if(w&&T.isRefreshingViewInBackground===!1&&f?.isPinSet===!0){t(Lc({chargeCardId:s}));const _=_e(p.tenantEmailDomain,s,L,f,!0),D=ye(y.state?.pathnameStackToGoBack,y.pathname);t(Xa()),a(_,{state:{pathnameStackToGoBack:D}})}}},[T.fetchState,f?.type.code,w,T.isRefreshingViewInBackground]);const O=te.getZeniOtpTokenForCardHolder(s),R=i(_=>Hn(_.userState,L.userId)),z=()=>{f?.isPinSet!==!0&&t(Sa(s,!0))};r.useEffect(()=>{T.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(z,3e3),l(!0))},[T.updateDebitCardPinAttemptFetchState.fetchState]);const $=_=>{B(_)};if(M!=="Completed"||f==null)return c.jsx(va,{fetchState:"In-Progress"});if(R?.phone==null)throw Error("Can't access user phone number.");return c.jsxs(Li,{children:[c.jsx(Ie,{isAppContentDrawerOpen:j,handleDrawerToggle:$}),c.jsx(xi,{cardId:s,card:f,phone:R.phone,signedInUser:L,isSandboxEnv:Rt(),debitCardDetailState:T,signedInUserToken:O,navigate:a,currentTenant:p,location:y,chargeCardCashbackRatePerTransaction:h.charge_card_cashback_rate_per_transaction!=null?h.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{$(!0)}}),e!=null?c.jsx(Bi,{windowSize:n,children:e}):null]})},xi=Pe(function(e,{debitCardDetailState:n,cardId:t}){const a=Gn(e,t),s=n.updateStatus,y=Ca(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:P}=y;return{onGetOtp:m=>{S!=null&&e(at(m,"ChargeCardHolder",a))},onUpdateDebitCardPinAttempt:m=>{e(qn(a,m))},onResendOtp:m=>{S!=null&&e(et(m,"ChargeCardHolder",a))},onVerifyOtp:(m,C)=>{S!=null&&e(Ja(m,C,"ChargeCardHolder",a))},onVerifyOtpSuccess:m=>{m!=null&&te.saveZeniOtpTokenForCardHolder(m,a)},onSetPinSuccess:()=>{e(Rc({chargeCardId:a}))},onBackClick:()=>{const m=we(s.state?.pathnameStackToGoBack),C=m.poppedPathname==null||m.poppedPathname.includes("activate")===!0?ta(P):m.poppedPathname;t(C,{state:{pathnameStackToGoBack:m.newStack}})}}})(bo),Bi=He.div`
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
width: ${e=>`${Ti.containerWidth.value(e.windowSize)}%`};
|
|
51
|
+
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
52
|
+
box-shadow: ${e=>`${Wa.sp0} 2px ${Wa.sp1} ${e.theme.colors.dropShadowNormal}`};
|
|
53
|
+
`,Li=He.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=>`${Wa.sp0} 2px ${Wa.sp1} ${e.theme.colors.dropShadowNormal}`};
|
|
62
|
+
`,Ri={overlayWidth:new Fa(ht[12],ht[12],ht[9])},Oi=Pe(function(e,n){const t=Bt(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(lr(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`));const g=Bo(y);e(jc({addressType:`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`,addressToCreate:g})),e(Mc(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`))},onDismissClick:()=>{n.onDismissClick(),t!=null&&e(Uc({addressId:t,cardLineId:a,cardType:s==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}})(yo),Ui=({lineId:e,closeDrawerHandler:n,chargeCardTypeOption:t})=>{const a=Ot(),s=Ta(),y=()=>{n()},g=i(S=>Oc(`${t==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,S))?.newAddressId;return c.jsx(Er,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:Ri.overlayWidth.valuePercentage(s),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:a.colors.black,cursor:"pointer"}}},onClose:(S,P)=>(P==="backdropClick"||P==="escapeKeyDown")&&y(),children:c.jsx(Oi,{googleAPIKey:rt.googleMapsAPIKey,onDismissClick:y,lineId:e,chargeCardTypeOption:t,newCustomAddressId:g})})},ji=Pe(function(e,n){const{isChargeCardFeatureEnabled:t,isDebitCardFeatureEnabled:a,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:y,isChargeCardSetupEnabled:g,isDebitCardSetupEnabled:S}=n,P=Bt(e,t&&g,a&&S);return{issueChargeCards:P,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:y,isDebitCardFeatureEnabled:a,isChargeCardFeatureEnabled:t,isChargeCardSetupEnabled:g,isDebitCardSetupEnabled:S,cardHolderCandidates:P.userList.map(m=>m.user).filter(Boolean),allRoles:P.userList.map(m=>m.userRole),allAccountingClasses:P.allAccountingClasses,userList:P.userList}},function(e,n){return{onIssueCardClick:()=>{e(Hc())},onSaveChangesToLocalStore:t=>{e(Vc(t))},onDismissClick:()=>{e(ur()),n.navigate("../")},resetCustomAddressByLineID:(t,a)=>{e(lr(`${a==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`))},openAddAddressDrawerHandler:n.openAddAddressDrawerHandler}})(Eo);function Mi(){const e=te.getSignedInUser(),n=le(),t=me(),a=Io(),[s]=_n(),y=s.get("cardType"),{useFeatureGate:g}=ue(),{isFeatureEnabled:S}=g(W.isIssuePhysicalCardEnabled),{isFeatureEnabled:P}=g(W.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:m}=g(W.isDebitCardFeatureEnabled),{isFeatureEnabled:C}=g(W.isChargeCardFeatureEnabled),F=i(z=>ge(z)),w=Le(m,F),l=Oe({isDebitCardFeatureEnabled:m,isBankingOnlyTenant:w}),j=xe(F),B=Be(F),L=F.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,p=Ue({isCardsOnlyTenant:j,isChargeCardFeatureEnabled:C,isBookKeepingTenant:B,isDebitCardProductVisible:l,chargeCardsCreditAccountLimit:L}),[h,T]=r.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");r.useEffect(()=>{h||(T(!0),t(Nc(l&&v,p&&u,!1)))},[h,T,t]);const u=!!F.companyChargeCardInfo?.info?.isChargeCardEnabled,v=!!F.companyDebitCardInfo?.info?.isDebitCardEnabled,k=i(z=>Bt(z,p&&u,l&&v)),U=k.fetchState,A=k.issueCardStatus.fetchState,b=k.lastSelfIssuedDebitCardId,x=i(z=>b!=null?dr(z.chargeCardState,b):void 0),[d,f]=r.useState(null),[M,V]=r.useState(null),O=()=>{f(null)},R=(z,$)=>{f(z),V($)};return r.useEffect(()=>{if(A==="Completed"){if(b!=null&&x?.type.code==="business_virtual_debit_card"){let z;z=x?.status.code==="request_on_hold"&&e.userId===x.cardHolderUserId?Pr(F.tenantEmailDomain):_e(F.tenantEmailDomain,b,e,x),n(z)}else n("../");t(ur())}},[A,b]),U==="Completed"?c.jsxs(c.Fragment,{children:[d!==null&&M!==null?c.jsx(Ui,{closeDrawerHandler:O,lineId:d,chargeCardTypeOption:M}):null,c.jsx(ji,{themeState:a,isIssuePhysicalCardEnabled:S,isIssuePhysicalDebitCardEnabled:P,isDebitCardFeatureEnabled:l,isChargeCardFeatureEnabled:p,isChargeCardSetupEnabled:u,isDebitCardSetupEnabled:v,navigate:n,fetchState:k.fetchState,openAddAddressDrawerHandler:R,defaultCardType:y==="creditCard"||y==="debitCard"?y:void 0})]}):U==="Error"?c.jsx(ct,{}):c.jsx(ko,{})}const zr=[pa,it],Ni=new Set(zr),Vi=He.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
|
+
`,Hi=Pe(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:P}=g;return{onChargeCardRowClick:m=>{const C=_r(P,m),F=_e(S,m,y,C),w=ye(s.state?.pathnameStackToGoBack,s.pathname);t(F,{state:{pathnameStackToGoBack:w}})},onColumnSortConfigChanged:(m,C)=>{e(It({uiState:{sortKey:m,sortOrder:C}}))},onReloadCards:()=>{e(Ne())},onBackClick:()=>{const m=a.userRole.includes("charge_card_user");e(It({uiState:{sortKey:m?"cardName":"owner",sortOrder:"ascending"}})),t("../")}}})(Ao);function Gi(){const e=le(),n=me(),t=he(),a=Ot(),[s,y]=r.useState(!1),g=i(R=>Gc(R)),S=i(R=>ge(R)),P=i(R=>da(R,S.companyId)),m=la(P.controllers),{useFeatureGate:C}=ue(),{isFeatureEnabled:F}=C(W.isChargeCardFeatureEnabled),{isFeatureEnabled:w}=C(W.isDebitCardFeatureEnabled),l=Le(w,S),j=Oe({isDebitCardFeatureEnabled:w,isBankingOnlyTenant:l}),B=!!S.companyDebitCardInfo?.info?.isDebitCardEnabled,L=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,p=Re(),h=xe(S),T=Be(S),u=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,v=Ue({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:T,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:u}),k=Fe(p?.loggedInUserRoleMap),U=i(R=>ma(R)),{creditAccount:A,creditAccountRepayment:b}=i(R=>ua(R)),x=i(R=>cr(R)).cards.filter(R=>R.type.code.includes("debit")).map(R=>R.connectedAccountId),d=[...new Set(x)],f=i(R=>tt(R,d));r.useEffect(()=>{s||g.fetchState==="Completed"||g.fetchState==="In-Progress"||(y(!0),n(Ne()),n(Qa()))},[s,n,g.fetchState]),r.useEffect(()=>{if(g.fetchState==="Completed"&&g.cards.length===1&&M!=null){const R=_e(S.tenantEmailDomain,g.cards[0].id,M,g.cards[0]);e(R,{state:{message:t.state?.message}})}},[g.fetchState,g.cards]);const M=te.getSignedInUser();r.useEffect(()=>{A.fetchState!=="Completed"&&A.fetchState!=="In-Progress"&&v&&L&&k&&n(Qe()),b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&k&&n(Tt()),f.fetchState!=="Completed"&&f.fetchState!=="In-Progress"&&j&&B&&k&&n(or())},[A.fetchState,b.fetchState,n,f.fetchState,j,B,k,v,L]);const V=aa(S);if(Vt({events:ha(V,zr),onEvent:(R,z)=>{if(!Ni.has(R))return;const $=Wt(z);if(R===pa){const _=de($?.card_id);if(_!=null){const D=Zt($,_);if(D!=null)return void n(Ft(D))}}n(Ne(!0))},onSubscribed:()=>{n(Ne(!0))}}),M==null)throw Error("Can't access address page without signing in...");const O=g.cards!=null&&g.cards.length>0;if(g.fetchState==="Completed"||O){const R=Je(v,j,B,L);return c.jsx(Vi,{children:c.jsx(Hi,{navigate:e,currentTenant:S,signedInUser:M,productInformation:R,myPendingActivationChargeCardListState:g,isChargeCardFeatureEnabled:v,isDebitCardFeatureEnabled:j,isDebitCardSetupEnabled:B,isChargeCardSetupEnabled:L,chargeCardCashbackDetailState:U,creditAccount:A,creditAccountRepayment:b,depositAccountListWithDebitCardIssued:f,controllerEmails:m,location:t})})}return c.jsx(va,{fetchState:"In-Progress",style:{backgroundColor:a.colors.grey5}})}const $i=Pe(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:P,productInformation:m,isEarlyPayEnabled:C,controllerEmails:F,chargeCardsCreditAccountLimit:w}=n;return{onSetupButtonClick:l=>{if(S!=null&&J.trackCardsPromoPageClicked("enable cards"),s)switch(J.trackCardsEnableCardsClick(F,m,"Cards Promo"),l){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(F,m,"Cards Promo"),l){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 l=we(P.state?.pathnameStackToGoBack);let j=l.poppedPathname;j==null&&(j=y||g?"..":"../.."),t(j,{state:{pathnameStackToGoBack:l.newStack}})},onLetsGoClick:()=>{t("./onboard")},onSetupChargeCardSuccess:()=>{s?(e(Xa()),t("../",{relative:"path"})):t("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(Yc(a))}}})(_o),zi=()=>{const e=le(),{tenantEmailDomain:n}=Ve(),[t]=_n(),a=t.get("cardPromoType"),s=me(),{useDynamicConfig:y,useFeatureGate:g}=ue(),[S,P]=r.useState(!1),{isFeatureEnabled:m}=g(W.isDebitCardFeatureEnabled),{isFeatureEnabled:C}=g(W.isEarlyPayFeatureEnabled),{isFeatureEnabled:F}=g(W.isChargeCardFeatureEnabled),{configValue:w}=y(We.zeniCardsConfig),l=i(ae=>ge(ae)),j=i(ae=>da(ae,l.companyId)),B=la(j.controllers),L=w.charge_card_cashback_rate_per_transaction!=null?w.charge_card_cashback_rate_per_transaction:.0175,p=he(),h=te.getSignedInUserTenant(n)?.companyId??l.companyId,T=i(ae=>wa(ae,h)),u=T.primaryFundingAccount,v=l.companyBillPayInfo?.info,k=xe(l),U=Be(l),A=Le(m,l),b=l.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,x=Oe({isDebitCardFeatureEnabled:m,isBankingOnlyTenant:A}),d=Ue({isCardsOnlyTenant:k,isChargeCardFeatureEnabled:F,isBookKeepingTenant:U,isDebitCardProductVisible:x,chargeCardsCreditAccountLimit:b}),f=Dr({isCardsOnlyTenant:k,isChargeCardFeatureEnabled:F,isBookKeepingTenant:U}),M=x&&d===!1,V=v?.businessVerificationStatus?.code==="verified"&&(M||u?.accType==="depositAccount"||$c(u?.providerVerificationStatus?.code??"")),O=te.getSignedInUser(),R=!!l.companyZeniAccountInfo?.info?.isZeniAccountEnabled,z=!!l.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,$=!!l.company?.companyChargeCardInfo?.isChargeCardEnabled,_=!!l.company?.companyDebitCardInfo?.isDebitCardEnabled,D=!!l.companyChargeCardInfo?.info?.isChargeCardEnabled,G=!!l.companyDebitCardInfo?.info?.isDebitCardEnabled,Q=!!l.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,I=ae=>{P(ae)},N=i(ae=>ae.chargeCardSetupViewState.fetchState);if(O==null)throw Error("Can't access Charge Card promo page without signing in...");const Z=Re(),X=Fe(Z?.loggedInUserRoleMap),o=xt(Z?.loggedInUserRoleMap),[E,K]=r.useState(!1),[ne,q]=r.useState(!1),[ke,ve]=r.useState(!1);r.useEffect(()=>{E===!1&&p.state?.message==="activation"&&K(!0)},[p.state]),r.useEffect(()=>{ne||N!=="Not-Started"||h==null||(q(!0),s(Pa(h,!0)))},[ne,N,h,s]);const fe=l.companyChargeCardInfo?.info!=null&&Ia({cardInfo:l.companyChargeCardInfo.info,isProductVisible:f&&$,isTOSAccepted:z,isSetupEnabled:D,isUserHasCardsAdminLevelAccess:X,isUserHasCardsAccess:o}),se=l.companyDebitCardInfo?.info!=null&&Ia({cardInfo:l.companyDebitCardInfo.info,isProductVisible:x&&_,isTOSAccepted:Q,isSetupEnabled:G,isUserHasCardsAdminLevelAccess:X,isUserHasCardsAccess:o}),Ee=x&&se&&f&&b>=0&&fe?"debit_and_credit":x&&se?"debit":"credit",re=xo(a,Ee),Ce=T?.chargeCardTermsDetails?.fetchStatus?.fetchState,Ae=r.useRef(null);r.useEffect(()=>{Ce==="In-Progress"?Ae.current=re:Ce!=="Error"&&Ce!=="Not-Started"||(Ae.current=null)},[Ce,re]);const ee=Ce!=="In-Progress"&&Ce!=="Completed"||Ae.current==null?re:Ae.current;r.useEffect(()=>{re==="credit"&&(D||f===!1&&G)||re==="debit"&&G||re==="debit_and_credit"&&G&&D?e("../"):(re==="debit_and_credit"&&z===!0&&Q===!0||re==="credit"&&(z===!0||f===!1&&Q===!0)||re==="debit"&&Q===!0)&&X===!0&&e("../setup")},[V,D,G,re,z,Q]),r.useEffect(()=>{ke||(s(zc("cardAdmin")),ve(!0))},[ke]);const Te=i(ae=>rr(ae.userState,ae.userRoleState,ae.userListViewState,"cardAdmin")),De=Je(f,x,G,D);return(ae=>{switch(ae){case"credit":return $;case"debit":return _;case"debit_and_credit":return $&&_;default:return!1}})(ee)?(fe||se)&&N==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Ut,{analytics:J,onLoad:()=>{if(J.trackPageLoaded(kr.Event.cardsPromoPage),!!f&&!D||!!x&&!G||!!f&&!!x&&!G&&!D){const ae=Yi({isDebitCardSetupEnabled:G,isChargeCardSetupEnabled:D,isCreditCardProductVisibleForExpressInterest:f,isDebitCardProductVisible:x});J.trackCardsPromoView(B,De,"Page",ae,"Promo Page")}}}),c.jsx(nt,{showConfetti:E}),c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:I}),c.jsx($i,{signedInUser:O,location:p,showEnableCardButton:V,isCompanyBusinessVerificationAndPaymentSetUpDone:V,isChargeCardSetupEnabled:D,isDebitCardSetupEnabled:G,companyLegalName:l.companyName,adminList:Te.users,isCheckingEnabled:R,navigate:e,companyId:h,cardPromoType:ee,controllerEmails:B,productInformation:De,isCreditCardProductVisible:d,isDebitCardFeatureEnabled:m,isEarlyPayEnabled:C,cashbackRate:L,chargeCardsCreditAccountLimit:b,onClickMenuIcon:()=>{I(!0)}})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:I}),c.jsx(Do,{})]}):c.jsx(Xe,{to:"../",replace:!0})},Yi=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:n,isCreditCardProductVisibleForExpressInterest:t,isDebitCardProductVisible:a})=>t&&a&&!e&&!n?"Credit & Debit Card":t&&!n?"Credit Card":a&&!e?"Debit Card":"";function Sd(){const e=he(),n=i(X=>ge(X)),{useFeatureGate:t}=ue(),{isFeatureEnabled:a}=t(W.isChargeCardFeatureEnabled),{isFeatureEnabled:s}=t(W.isDebitCardFeatureEnabled),{isFeatureEnabled:y}=t(W.isEarlyPayFeatureEnabled),{isFeatureEnabled:g}=t(W.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:S}=t(W.isCardPolicyEnabled),P=Le(s,n),m=Oe({isDebitCardFeatureEnabled:s,isBankingOnlyTenant:P}),C=Po(n,a,s),F=!!n.company?.companyChargeCardInfo.isChargeCardTOSAccepted,w=!!n.company?.companyDebitCardInfo.isDebitCardTOSAccepted,l=!!n.company?.companyChargeCardInfo?.isChargeCardEnabled,j=!!n.company?.companyDebitCardInfo?.isDebitCardEnabled,B=!!n.companyChargeCardInfo?.info?.isChargeCardEnabled,L=!!n.companyDebitCardInfo?.info?.isDebitCardEnabled,p=Re(),h=Fe(p?.loggedInUserRoleMap),{isCardsShuttingDown:T}=Ir(n.tenantId,n.company?.managementInfo?.receiverEmails),u=xt(p?.loggedInUserRoleMap),{isFeatureEnabled:v}=t(W.isCashbackFeatureEnabled),k=n.userRole.includes("charge_card_user"),U=!k,A=!k&&B,b=n?.userRole!=null&&Wc(n?.userRole),x=(n?.company==null||n.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!b)&&Zc(p?.loggedInUserRoleMap),d=Kc(p?.loggedInUserRoleMap),f=(n?.company==null||n.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!b)&&qc(p?.loggedInUserRoleMap),{isFeatureEnabled:M}=t(W.isDepositAccountsFeatureEnabled),V=M&&!b&&zn(p?.loggedInUserRoleMap),O=B&&l&&!b,R=L&&j&&!b,z=C&&!b&&Fe(p?.loggedInUserRoleMap),$=Qc(p?.loggedInUserRoleMap),_=xe(n),D=Be(n),G=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,Q=Ue({isCardsOnlyTenant:_,isChargeCardFeatureEnabled:a,isBookKeepingTenant:D,isDebitCardProductVisible:m,chargeCardsCreditAccountLimit:G}),I=n.companyChargeCardInfo?.info!=null&&Ia({cardInfo:n.companyChargeCardInfo.info,isProductVisible:Q&&l,isTOSAccepted:F,isSetupEnabled:B,isUserHasCardsAdminLevelAccess:h,isUserHasCardsAccess:u}),N=n.companyDebitCardInfo?.info!=null&&Ia({cardInfo:n.companyDebitCardInfo.info,isProductVisible:m&&j,isTOSAccepted:w,isSetupEnabled:L,isUserHasCardsAdminLevelAccess:h,isUserHasCardsAccess:u}),Z=I||N;return c.jsxs(cs,{children:[h?c.jsx(ce,{path:"setup",element:c.jsx(bn,{isBillPayAdminLevelAccess:x,isReimbursementAdminLevelAccess:f,isZeniAccountAdminLevelAccess:V,isChargeCardAdminLevelAccess:z,isUserHasOnlyCardAccess:$,isUserHasOnlyBillPayAccess:d,productType:"charge_cards",type:"setup"})}):null,h?c.jsx(ce,{path:"verification",element:c.jsx(bn,{isBillPayAdminLevelAccess:x,isUserHasOnlyBillPayAccess:d,isReimbursementAdminLevelAccess:f,isZeniAccountAdminLevelAccess:V,isChargeCardAdminLevelAccess:z,isUserHasOnlyCardAccess:$,productType:"charge_cards",type:"verification"})}):null,h&&S?c.jsxs(c.Fragment,{children:[c.jsx(ce,{path:"policy",element:c.jsx(Yo,{})}),c.jsx(ce,{path:"policy/new",element:c.jsx(Uo,{})}),c.jsx(ce,{path:"policy/:templateId/edit",element:c.jsx(Vo,{})})]}):null,c.jsx(ce,{path:"promo",element:c.jsx(zi,{})}),O||R?c.jsxs(c.Fragment,{children:[c.jsx(ce,{path:"/",element:c.jsx(kn,{isPaymentDrawerOpen:!1})}),z&&y?c.jsx(ce,{path:"payment",element:c.jsx(kn,{isPaymentDrawerOpen:!0})}):null,c.jsx(ce,{path:"activate",element:c.jsx(Gi,{})}),c.jsx(ce,{path:"onboard",element:c.jsx(Pi,{})}),h&&T!==!0?c.jsx(ce,{path:"new",element:c.jsx(Mi,{})}):h?c.jsx(ce,{path:"new",element:c.jsx(Xe,{to:"..",replace:!0})}):null,v&&U?c.jsx(ce,{path:"cashback",element:c.jsx(Qo,{})}):null,A?c.jsx(ce,{path:"statements",element:c.jsx(Ai,{})}):null,z&&g&&B?c.jsx(ce,{path:"payment-history",element:c.jsx(Ei,{})}):null,c.jsx(ce,{path:":cardId/activate",element:c.jsx(ei,{})}),c.jsx(ce,{path:":cardId/setPin",element:c.jsx(Fi,{})}),c.jsx(ce,{path:":cardId/addToWallet",element:c.jsx(Wo,{})}),c.jsx(ce,{path:":cardId/*",element:c.jsx(li,{})}),c.jsx(ce,{path:"*",element:c.jsx(ct,{})})]}):(F||w)&&h?c.jsx(ce,{path:"*",element:c.jsx(Xe,{to:"../setup"})}):Z?c.jsx(ce,{path:"*",element:c.jsx(Xe,{to:"../promo",state:e.state})}):c.jsx(ce,{path:"*",element:null})]})}export{Sd as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as m}from"./liveblocks-
|
|
1
|
+
import{j as m}from"./liveblocks-CL8iYAR7.js";import{a as g}from"./sentry-CO5QdUHy.js";import{h as w,u as T,g as x,i as k,j as O,n as E}from"./core-BE5sOaFh.js";import{z as C,be as P,w as F,e as V,g as j,ag as b,bf as A,au as L,av as U,q as B}from"./index-j91BsX6x.js";import{eX as D,gj as M,tC as _,ge as G,c6 as R,Pn as z,bn as q,rC as Y,rq as H,l5 as Q,mG as S,Po as X,bE as Z,cy as N,mQ as $,mT as J}from"./zeni-epic-state-Cwuxiu06.js";import"./mui-D8wN7E11.js";import{d as K}from"./routePaths-MNVfXbZw.js";import{M as W}from"./MobileAppDrawer-DeAmBX6B.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new t.Error().stack;a&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[a]="8b704540-8083-4abf-ac62-1ff60c79fe24",t._sentryDebugIdIdentifier="sentry-dbid-8b704540-8083-4abf-ac62-1ff60c79fe24")}catch{}})();const ee=E(function(t){const a=G(t),i=C.getSignedInUser(),l=D(t),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=R(l?.userRole??[])&&a.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=z(t.companyConfigState),n=t.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:a.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:a,allIndustries:e.companyIndustries??[],allNationalityCountries:n,isDisabled:f,authParams:p,filesEndPoint:`${L.fileMicroServiceBaseUrl}`,isZeniUser:q(i)}},function(t,a){const{companyId:i,currentTenant:l,navigate:c,location:p}=a,{tenantEmailDomain:f}=l;return{onScheduleClick:e=>{let n=e.href;n.includes("http")||(n="https://".concat(n)),window.open(n,"_blank")},onSaveAll:()=>{t(J())},onAddressClick:e=>{const n=K(f,e),o=B(p.state?.pathnameStackToGoBack,p.pathname);c(n,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{t($({companyId:i}))},onBackClick:()=>{c("../")},onCompanyDetailsChanged:e=>{const{companyInfo:n,incInfo:o,taxDetails:r,zeniFinanceTeam:d}=e,{website:u}=n,{meetingLink:y}=d,{incDate:s}=o,{taxesFiledYears:h}=r,v={companyInfo:{...n,website:u!=""&&u!=null?N(u):void 0,meetingLink:y!=""&&y!=null?N(y):void 0,industry:n.industry.selectedOption,companyIndustryType:n.companyIndustryType?.selectedOption??void 0,companySubIndustry:n.companySubIndustry?.selectedOption??void 0,businessModel:n.businessModel.selectedOption??"",companySourceOfFunds:n.companySourceOfFunds?.selectedOption,companySourceOfFundsDescription:n.companySourceOfFundsDescription??void 0,countriesOfOperations:n.countriesOfOperations?.selectedOptions?.map(I=>I.length===2?I:U(I))??[],transactionVolume:n.transactionVolume?.selectedOption??void 0,transactionVolumeDescription:n.transactionVolumeDescription??void 0,regulatedStatus:n.regulatedStatus??void 0,regulatedStatusDescription:n.regulatedStatusDescription??void 0,usNexus:n.usNexus??void 0,usNexusTypes:n.usNexusTypes?.selectedOptions??[],purposeOfAccount:n.purposeOfAccount?.selectedOption??void 0,purposeOfAccountDescription:n.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]}};t(S({companyDetails:v}))},onPrimaryContactDetailsUpdated:e=>{t(S({primaryContact:{userId:e.userId,email:e.email.trim(),firstName:e.name.firstName,lastName:e.name.lastName}}))},onNewCompanyOfficerAdded:e=>{t(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=>{t(X(e))},onCompanyOfficerUpdated:e=>{t(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=>{t(Q({files:e}))},onDeleteFile:e=>{t(H(e))},onEditFileName:(e,n)=>{t(Y(e,n.split(".")[0]))}}})(A);function de(){const t=w(),a=T(),i=x(),{tenantEmailDomain:l}=k(),[c,p]=g.useState(!1),[f,e]=g.useState(!1),n=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||n!=="Not-Started"||d==null||(p(!0),a(M(d)))},[c,n,d,a]),g.useEffect(()=>{o==="Not-Started"&&a(_())},[o,a]);const u=s=>{e(s)},y=n==="Not-Started"||n==="In-Progress"||o==="Not-Started"||o==="In-Progress";return d!=null&&n==="Error"?m.jsx(P,{onGoHome:()=>t("../",{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(W,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:t,location:i,isLoading:y,currentTenant:r,isSettings:b(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as g}from"./liveblocks-
|
|
1
|
+
import{j as g}from"./liveblocks-CL8iYAR7.js";import{a}from"./sentry-CO5QdUHy.js";import{u as D,g as v,j as m,N as w}from"./core-BE5sOaFh.js";import{LW as A,eX as O,g1 as _,o9 as j,gs as h,g0 as L,fA as U,M1 as F}from"./zeni-epic-state-Cwuxiu06.js";import{u as $,z as p,L as C,a as k,o as H}from"./index-j91BsX6x.js";import{n as z}from"./mui-D8wN7E11.js";import{t as R}from"./getLocaleForTenant-DrGyVJin.js";import{g as P,Q as G}from"./QBOConnectionScreen-CxYyqia2.js";import"./recharts-CEhf2Gm_.js";import"./analytics-C839ALjG.js";import"./plaid-s-fzmMlM.js";import"./dnd-DTt7nnqm.js";import"./stripe-DMRn4zHo.js";import"./lottie-D6l1SNxh.js";import"./lexical-BDIjEa69.js";import"./pdf-B7aBqR_B.js";import"./utils-BqFxyIYL.js";import"./empty-DHPjwnEd.js";import"./pdf-lib-2JemKW90.js";import"./index-BQAeQoiw.js";import"./url-Bu3ZxsAs.js";import"./index-DZVFFUA4.js";import"./decodeURIComponentSafe-BQyheK0C.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]="b4b78fa5-2985-4494-adcd-66b73055d705",t._sentryDebugIdIdentifier="sentry-dbid-b4b78fa5-2985-4494-adcd-66b73055d705")}catch{}})();const M=z.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex: 1 1 auto;
|
|
4
4
|
flex-direction: row;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./liveblocks-CL8iYAR7.js";import{z as n}from"./index-j91BsX6x.js";import{g as d}from"./QBOConnectionScreen-CxYyqia2.js";import"./sentry-CO5QdUHy.js";import{g as p,N as s}from"./core-BE5sOaFh.js";import"./zeni-epic-state-Cwuxiu06.js";import"./recharts-CEhf2Gm_.js";import"./mui-D8wN7E11.js";import"./analytics-C839ALjG.js";import"./plaid-s-fzmMlM.js";import"./dnd-DTt7nnqm.js";import"./stripe-DMRn4zHo.js";import"./lottie-D6l1SNxh.js";import"./lexical-BDIjEa69.js";import"./pdf-B7aBqR_B.js";import"./utils-BqFxyIYL.js";import"./empty-DHPjwnEd.js";import"./pdf-lib-2JemKW90.js";import"./index-BQAeQoiw.js";import"./url-Bu3ZxsAs.js";import"./index-DZVFFUA4.js";import"./decodeURIComponentSafe-BQyheK0C.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};
|
package/dist/assets/{CustomerOnboardingRoutes-BJZmmxt9.js → CustomerOnboardingRoutes-y0MRiG44.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{j as a}from"./liveblocks-
|
|
1
|
+
import{j as a}from"./liveblocks-CL8iYAR7.js";import{t as yt,A as Ve}from"./AddressScreen-BbyvVT6L.js";import ht from"./NotFoundScreen--bQtpbnT.js";import{a as d}from"./sentry-CO5QdUHy.js";import{h as be,g as Ie,u as ne,i as ke,j as k,N as U,l as St,n as et,o as Ct,p as q}from"./core-BE5sOaFh.js";import{z as R,C as _e,U as H,d as bt,q as K,w as ae,e as N,g as de,aq as It,K as kt,F as tt,I as nt,ar as Le,j as Se,as as _t,o as Re,at as Ne,au as vt,av as Me,aw as Ot,ax as Tt}from"./index-j91BsX6x.js";import{eX as W,fE as ve,fC as Oe,bs as Et,fS as wt,bS as xt,o7 as At,tm as Pt,tp as Dt,MV as jt,MW as Ft,k9 as Ce,kc as at,Mq as Bt,bY as Ut,c6 as le,tQ as Te,tB as Vt,MX as ue,tR as ot,Kj as Lt,ld as st,MY as Rt,MZ as Nt,rj as Mt,hq as $t,Mi as ge,hn as Gt,Mj as zt,y1 as Kt,rn as Qt,hf as qt,hi as $e,M_ as it,M$ as Ht,E4 as Yt,N0 as Zt,E8 as Wt,ts as Xt,N1 as Jt,N2 as en,k7 as tn,ka as nn,u1 as an,tD as rt,tP as on,bE as Ge,cy as sn,u0 as ze,rC as rn,rq as cn,l5 as dn,gh as un,gg as ln,gf as pn,N3 as mn,tv as gn,u2 as fn,u5 as yn,u8 as hn,ue as Sn,cY as Cn}from"./zeni-epic-state-Cwuxiu06.js";import{n as Ee}from"./mui-D8wN7E11.js";import{g as bn,h as In,q as oe}from"./QBOConnectionScreen-CxYyqia2.js";import{u as kn,a as _n}from"./useEmailConnectResultRefresh-CLY1bTNF.js";import{u as vn}from"./useChargeCardPusherEvents-BckrLUOI.js";import"./recharts-CEhf2Gm_.js";import"./analytics-C839ALjG.js";import"./plaid-s-fzmMlM.js";import"./dnd-DTt7nnqm.js";import"./stripe-DMRn4zHo.js";import"./lottie-D6l1SNxh.js";import"./lexical-BDIjEa69.js";import"./pdf-B7aBqR_B.js";import"./utils-BqFxyIYL.js";import"./empty-DHPjwnEd.js";import"./pdf-lib-2JemKW90.js";import"./index-BQAeQoiw.js";import"./url-Bu3ZxsAs.js";import"./index-DZVFFUA4.js";import"./decodeURIComponentSafe-BQyheK0C.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},u=new t.Error().stack;u&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[u]="7d79e9ca-c7a4-47ba-897a-3f98b205fb59",t._sentryDebugIdIdentifier="sentry-dbid-7d79e9ca-c7a4-47ba-897a-3f98b205fb59")}catch{}})();const On=()=>{const t=be(),u=Ie(),i=ne(),[o,l]=d.useState(!1),[c,y]=d.useState(!1),{tenantEmailDomain:S}=ke(),e=R.getSignedInUser(),{useFeatureGate:n}=_e(),{isFeatureEnabled:s}=n(H.isApAgingFeatureEnabled),{isFeatureEnabled:C}=n(H.isArAgingFeatureEnabled),{isFeatureEnabled:_}=n(H.isReferralFeatureEnabled),{isFeatureEnabled:I}=n(H.isExpenseAutomationEnabledV2),{isFeatureEnabled:T}=n(H.isDebitCardFeatureEnabled),r=bt(),f=k(h=>W(h)),p=k(h=>h.onboardingCustomerViewState.fetchState),v=f.excludedResources,O=f.companyId??R.getSignedInUserTenant(S)?.companyId;if(e==null)throw Error("Can't access onboarding flow without signing in...");const E=ve(T,f),P=Oe(f),m=[],M=v?.resources?.find(h=>h.resource==="/reports/top_expenses")==null,j=v?.resources?.find(h=>h.resource==="/reports/task_card")==null,$=f?.userRole!=null&&Et(f?.userRole),G=v?.resources?.find(h=>h.resource==="/bills")==null&&!$,x=v?.resources?.find(h=>h.resource==="/reimbursements")==null;M===!1&&m.push("top_expenses"),j===!1&&m.push("task_card"),G===!1&&m.push("bill_pay_card","bill_pay_promo_card"),x===!1&&m.push("reimbursement_card","reimbursement_promo_card"),m.push("zeni_accounts_promo_card","treasury_promo_card"),_===!1&&m.push("rewards_card");const F=k(h=>{const D=[];s===!1&&D.push("accounts_payable_aging"),C===!1&&D.push("accounts_receivable_aging"),D.push("zeni_accounts_promo_card","treasury_promo_card"),_===!1&&D.push("rewards_card"),r===!1&&D.push("expense_automation_card");const Y=wt(h,D,e,I,r);return xt(Y.reportsInOrder.map(A=>({fetchState:A.fetchState,error:A.error}))).fetchState});d.useEffect(()=>{p!=="Completed"||o||E||P||(l(!0),i(At(e.userId,O,f.tenantId,!0,!1,m)))},[o,p,E,P,e,f.tenantId,i]);const Q=d.useRef(!1),z=d.useCallback(()=>{const h={pathnameStackToGoBack:K(u.state?.pathnameStackToGoBack,u.pathname),message:"activation"};t(E?"../../checking":P?"../../cards":"../../dashboard",{state:h})},[t,u,E,P]),V=d.useCallback(()=>{Q.current||(Q.current=!0,z())},[z]);return d.useEffect(()=>{const h=setTimeout(()=>y(!0),3e3);return()=>clearTimeout(h)},[]),d.useEffect(()=>{const h=setTimeout(V,6e3);return()=>clearTimeout(h)},[V]),d.useEffect(()=>{E||P||!c||F!=="Completed"&&F!=="Error"||V()},[c,F,E,P,V]),p!=="Completed"?a.jsx(U,{to:"../"}):a.jsxs(a.Fragment,{children:[a.jsx(ae,{analytics:N,onLoad:h=>h.trackPageLoaded(de.Event.onboardingDashboardActivation)}),a.jsx(It,{show:!0,onComplete:V})]})},fe=["reading_books","finance_graph","reconciliation","cfo_foundation"],ye=["llm_fine_tuning","rag_knowledge_graph","personalized_context"],Ke=(t,u)=>{const i=new Map(t.map(o=>[o.key,o]));return u.map(o=>{return l=i.get(o)?.status,l==="starting"||l==="building"?l:"idle";var l})},Qe=(t,u)=>{if(t.length===0)return!1;const i=new Map(t.map(o=>[o.key,o]));return u.every(o=>i.get(o)?.status==="ready")},qe=Ee.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
height: 100vh;
|
|
4
4
|
background-color: ${t=>t.theme.colors.grey4};
|
|
5
|
-
`,He=
|
|
5
|
+
`,He=Ee.div`
|
|
6
6
|
display: flex;
|
|
7
7
|
flex-direction: column;
|
|
8
8
|
align-items: center;
|
|
@@ -23,8 +23,8 @@ import{j as a}from"./liveblocks-B2D23g1h.js";import{t as yt,A as Ve}from"./Addre
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
${t=>t.windowSize!=="small"?"overflow: auto;":""}
|
|
26
|
-
`,Ye=et(function(t,u){const{companyId:i,isAdmin:o,currentTenant:l,isOnAddressPage:c}=u,y=R.getSignedInUser(),S=l.tenantId,e={userId:y?.userId??"",sessionId:y?.zeniSessionId??"",tenantId:S??""},n=W(t),s=Te(t,i),C=it(t),v=le(l?.userRole??[])&&s.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",I=Ht(t.userRoleConfigState);return{onboardingCustomerView:s,analytics:N,isRefreshingViewInBackground:!1,isDisabled:v,companyTitles:I.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:_t.fileMicroServiceBaseUrl,authParams:e},signedInUser:R.getSignedInUser(),currentTenant:n,isAdmin:o,isOnAddressPage:c,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:C,isCardPaymentPopupOpen:!1,stripeKey:Se.stripeKey}},function(t,u){const{companyId:i,currentTenant:o,themeState:l,navigate:c,location:y}=u,{tenantEmailDomain:S}=o;return{onFetchLinkTokenClick:(e,n)=>{t(Sn(e,n))},onEstablishConnectionClick:(e,n)=>{t(hn(e,n))},onUpdatePaymentAccountStatus:(e,n,s)=>{t(yn(e,n,s))},onUpdatePaymentAccountLoginStatus:(e,n)=>{t(fn(!1,e,n))},onEstablishConnectionSuccess:()=>{t(gn(i,!0,!1))},handleOnConnectClick:()=>{N.trackOnboardingConnectQBO(),oe.handleClick()},updateQBOPopupState:e=>{t(ue({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const n=e.map(s=>{const{officerType:C,userId:v,name:I,email:T,ssn:r,nationalityCountryCode:f,dob:p,phone:_,syncToken:O,selectDocument:x,role:P,ownership:m,isSelectedForVerification:M,userVerificationStatus:j,fileIds:$,isPhoneVerified:G}=s;let w;return x.selectDocumentType==="driverLicense"?w="driving_license":x.selectDocumentType==="passport"?w="passport":x.selectDocumentType==="stateId"?w="id_document":x.selectDocumentType==="ssnCard"&&(w="social_security_card"),{officerType:C,userId:v,firstName:I.firstName,lastName:I.lastName,email:T,ssn:r,nationalityCountryCode:f?.selectedOption!=null?Me(f.selectedOption):void 0,phone:_,birthday:p!=null?Ge(p?.toString()):p,syncToken:O,titleAtCompany:P.selectedOption,ownershipInCompany:m,documentTypeSelectedForVerification:w,isSelectedForVerification:M,userVerificationStatus:j,fileIds:$,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:G}});t(ze({officers:n}))},onGetOtp:(e,n)=>{t(pn(e,"CustomerOnboarding")),n!=null&&t(mn({officerType:n,phone:e}))},onResendOtp:e=>{t(ln(e,"CustomerOnboarding"))},onVerifyOtp:(e,n)=>{t(un(e,n,"CustomerOnboarding"))},updateFilesEntity:e=>{t(dn({files:e}))},onDeleteFile:e=>{t(cn(e))},onEditFileName:(e,n)=>{t(rn(e,n.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:n,companyIndustry:s,companyIndustryType:C,companyLegalName:v,companyTaxId:I,companyWebsite:T,companyPhone:r,primaryContactEmail:f,primaryContactName:p,primaryContactUserId:_,primaryContactSyncToken:O,syncToken:x,fileIds:P,typeOfIncorporation:m,stateOfIncorporation:M,incDate:j,companySourceOfFunds:$,companySourceOfFundsDescription:G,companySubIndustry:w,countriesOfOperations:F,purposeOfAccount:Q,purposeOfAccountDescription:z,regulatedStatus:V,regulatedStatusDescription:h,transactionVolume:D,transactionVolumeDescription:Y,usNexus:A,usNexusTypes:se}=e,B={companyId:i,companyDescription:n,companyIndustry:s.selectedOption,companyIndustryType:C?.selectedOption??"",companyLegalName:v,taxIdOrEIN:I,website:T!=""&&T!=null?sn(T):void 0,phone:r,syncToken:x,fileIds:P,incDate:j!=null?Ge(j?.toString()):j,typeOfIncorporation:m?.selectedOption??"",stateOfIncorporation:M?.selectedOption??"",companySourceOfFunds:$?.selectedOption??"",companySourceOfFundsDescription:G,companySubIndustry:w?.selectedOption??"",countriesOfOperations:F?.selectedOptions.map(X=>X.length===2?X:Me(X))??[],purposeOfAccount:Q?.selectedOption??"",purposeOfAccountDescription:z,regulatedStatus:V??"",regulatedStatusDescription:h,transactionVolume:D?.selectedOption??"",transactionVolumeDescription:Y,usNexus:A,usNexusTypes:se?.selectedOptions??[]},pe={userId:_,firstName:p.firstName,lastName:p.lastName,email:f,syncToken:O};t(ze({companyDetails:B,primaryContactDetails:pe}))},onAddressClick:(e,n)=>{const s=We(S,e,n),C=K(y.state?.pathnameStackToGoBack,y.pathname);c(s,{state:{pathnameStackToGoBack:C}})},onRegisteredAddressClick:(e,n)=>{const s=We(S,e,n),C=K(y.state?.pathnameStackToGoBack,y.pathname);c(s,{state:{pathnameStackToGoBack:C}})},onUpdateCustomerView:(e,n,s)=>{t(on(i,!1,n,s,e))},onAddressEditHandler:e=>{if(e!=null){const n=yt(e);t(st({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const e=K(y.state?.pathnameStackToGoBack,y.pathname);t(rt(i,!1,!1)),c("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(ot({step:e}))},onUpdateSubStep:e=>{t(an({subStep:e}))},onZeniLogoClick:()=>{l.toggle()},handleLogOutClick:()=>{const e=K(y.state?.pathnameStackToGoBack,y.pathname);c("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{c(`/${S}/rewards`)},handleCreateCardSetupIntent:e=>{t(at(e))},handleConfirmCardSetupIntent:e=>{t(nn(e))},updateCardPaymentModalState:e=>{t(ue({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,n,s)=>{t(tn(e,n,s))},handleFetchPaymentSources:()=>{t(Ce())},resetCardPaymentViewState:()=>{t(en())},handleResetCardPaymentErrorStatuses:()=>{t(Jt())},redirectToProductSuitePage:()=>{const e=K(y.state?.pathnameStackToGoBack,y.pathname);c(`/${S}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{i!=null&&t(Xt(i))},onIdentityDocumentUploadedForAutofill:e=>{if(i==null)return;const n=Zt(e.documentType);n!=null&&t(Wt({target:"onboarding",companyId:i,officerType:e.officerType,fileId:e.fileId,documentType:n}))},onCompanyDocumentUploadedForAutofill:e=>{i!=null&&t(Yt({target:"onboarding",companyId:i,fileId:e.fileId,documentType:e.documentType}))}}})(vt),ce=({taxCFOCustomer:t=!1,isOnAddressPage:u=!1,appContent:i})=>{const o=be(),l=Ie(),c=ne(),y=kt(),S=tt(),[e,n]=d.useState(!1),[s,C]=d.useState(!1),[v,I]=d.useState(!1),{tenantEmailDomain:T}=ke(),r=nt(),{useFeatureGate:f}=ve(),{isFeatureEnabled:p}=f(H.isDebitCardFeatureEnabled),_=St("/:tenantEmailDomain/onboarding")!==null&&l.search?.includes("code"),O=k(g=>g.onboardingCustomerViewState.fetchState),x=k(g=>g.onboardingCustomerViewState.currentStep),P=k(g=>g.onboardingCustomerViewState.uiState),m=k(g=>W(g)),M=k(g=>g.userRoleConfigState.fetchState),j=k(g=>g.cardPaymentViewState),$=Le(j.addCardPaymentSourceStatus.fetchState),G=j.addCardPaymentSourceStatus.fetchState,{code:w,realmId:F,state:Q}=bn(l.search),z=m.externalConnections?.accounting[0],V=z?.connectionType,h=z?.connectionName,D=z?.connectionId??"",Y=R.getSignedInUser()?.userId??"";d.useEffect(()=>{s||(C(!0),c(Ce()))},[s,c]),d.useEffect(()=>{v||(at(["card"]),I(!0))},[v]),d.useEffect(()=>{$==="In-Progress"&&G==="Completed"&&c(Ce())},[$,G]),d.useEffect(()=>{In(w,F,Q,D,Y)===!0&&m.externalConnections?.saveConnectionState!=="In-Progress"&&O==="Completed"&&(c(Bt(m.tenantId,{connection_type:V??"accounting",connection_name:h??"quickbooks_online",authorization_code:w,realm_id:F,connection_id:D,user_id:Y},Ut(window.location.origin+"/onboarding/auth"))),N.trackOnboardingSaveQBOConnection(F,D),o(l.pathname))},[w,F,Q,l.pathname,O]),d.useEffect(()=>{oe.isInitiated===!1&&O==="Completed"&&oe.init("/onboarding/auth",m.tenantEmailDomain)},[O]);const A=m.companyId??R.getSignedInUserTenant(T)?.companyId,se=le(m?.userRole??[]),B=k(g=>Te(g,A));d.useEffect(()=>{e||O!=="Not-Started"||A==null||(n(!0),c(Vt(A,!0,!_)))},[e,O,A]),d.useEffect(()=>{m.externalConnections?.saveConnectionState!=="Completed"&&m.externalConnections?.saveConnectionState!=="Error"||!P.isQBOPopupOpen||x!=="connect_ledger"||c(ue({isQBOPopupOpen:!1}))},[m.externalConnections?.saveConnectionState]),d.useEffect(()=>{O==="Completed"&&_&&(c(ot({step:"connect_ledger"})),c(ue({isQBOPopupOpen:!0})))},[_,O]),d.useEffect(()=>{M==="Not-Started"&&c(Lt(!0))},[M,c]);const pe=Le(B.companyDetailsLocalData?.addressStatus);d.useEffect(()=>{B.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&B.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&pe==null&&c(st({addressType:"company_registered_address",addressToCreate:B.companyDetailsLocalData?.addressStatus?.addressToCreate}))},[B.companyDetailsLocalData?.addressStatus?.addressToCreate,B.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const X=B.isInterimEmailSent,Ee=R.getSignedInUser();if(Ee==null)throw Error("Can't access onboarding flow without signing in...");const ct=_e(p,m),dt=Oe(m),we=m.company?.companyOnboardingInfo.isOnboardingCompleted,Ae=g=>g.trackPageLoaded(de.Event.onboardingPage),Pe=m.productSettings.isOtherProductsEnabled,ut=m.productSettings.isTreasuryEnabled,De=Tn({tenantEmailDomain:T??"",signedInUserEmail:Ee.userEmail??"",companyId:A}),je=(({companyId:g})=>{const L=ne(),ie=k(E=>E.onboardingCustomerViewState?.aiAgentsActivation),J=k(E=>W(E).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1),me=d.useCallback(()=>{L(Pt())},[L]);d.useEffect(()=>{me()},[me]);const Fe=d.useCallback(()=>{g==null||g===""||J||L(Dt(g))},[g,J,L]),lt=d.useMemo(()=>{if(g==null||g==="")return[];const E=`private-encrypted-${g}`;return[`${E}.ledger-ingestion.counts-updated`,`${E}.ai-agents-activation.phase-changed`]},[g]),pt=d.useCallback((E,ee)=>{if(ee==null||typeof ee!="object")return;const b=ee;if(E!=="ledger-ingestion.counts-updated"){if(E==="ai-agents-activation.phase-changed"){const re=typeof b.phase_key=="string"?b.phase_key:typeof b.key=="string"?b.key:"",Z=typeof b.status=="string"?b.status:"idle";if(re==="")return;L(Ft({key:re,status:Z==="starting"||Z==="building"||Z==="ready"?Z:"idle",startedAt:typeof b.started_at=="string"?b.started_at:void 0,completedAt:typeof b.completed_at=="string"?b.completed_at:void 0}))}}else L(jt({customerCount:typeof b.customer_count=="number"?b.customer_count:void 0,glAccountCount:typeof b.gl_account_count=="number"?b.gl_account_count:void 0,targetTransactionCount:typeof b.target_transaction_count=="number"?b.target_transaction_count:void 0,transactionCount:typeof b.transaction_count=="number"?b.transaction_count:void 0,vendorCount:typeof b.vendor_count=="number"?b.vendor_count:void 0}))},[L]);return _n({events:lt,onEvent:pt,onSubscribed:me}),d.useMemo(()=>{const E=ie?.phases??[],ee=Ke(E,fe),b=Ke(E,ye),re=Qe(E,fe),Z=Qe(E,ye),Be=E.some(ft=>ft.status!=="idle"),te=!J&&!Be,Ue=J&&!Be,mt=Ue?fe.map(()=>"building"):ee,gt=Ue?ye.map(()=>"building"):b;return{ledgerRowStatuses:te?void 0:mt,backgroundRowStatuses:te?void 0:gt,showLedgerReadyInLabel:te?void 0:re,showBackgroundReadyInLabel:te?void 0:Z,forceContinueEnabled:!te||void 0,counts:ie?.counts,onContinueClicked:Fe}},[ie?.phases,ie?.counts,J,Fe])})({companyId:A});if(we===!0){if(!Pe)return ut?a.jsx(U,{to:"../../treasury"}):ct?a.jsx(U,{to:"../../checking"}):dt?a.jsx(U,{to:"../../cards"}):a.jsx(U,{to:"../../dashboard"});const g=B.updateStatus.fetchState==="In-Progress";if(Pe&&!g)return t?a.jsxs(qe,{children:[a.jsx(ae,{analytics:N,onLoad:L=>Ae(L)}),a.jsx(Ye,{navigate:o,location:l,companyId:A,currentTenant:m,isAdmin:se,isOnAddressPage:u,themeState:S,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),i!=null?a.jsx(He,{windowSize:y,skipLegacyDrawerOffset:u&&m.productSettings.isOtherProductsEnabled!==!0,children:i}):null]}):a.jsx(U,{to:"../../onboarding/thankyou"})}else if(we===!1&&r?.loggedInUserRoleMap!=null)return X===!0?a.jsx(U,{to:"../../onboarding/thankyou"}):a.jsxs(qe,{children:[a.jsx(ae,{analytics:N,onLoad:g=>Ae(g)}),a.jsx(Ye,{navigate:o,location:l,companyId:A,currentTenant:m,isAdmin:se,isOnAddressPage:u,themeState:S,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),i!=null?a.jsx(He,{windowSize:y,skipLegacyDrawerOffset:u&&m.productSettings.isOtherProductsEnabled!==!0,children:i}):null]});return null},he="external_integrations",Tn=({tenantEmailDomain:t,signedInUserEmail:u,companyId:i})=>{const o=ne(),{pendingAutoFocusTabId:l}=kn(),{plaidAccounts:c,onAddPlaidAccount:y}=vn({companyId:i}),S=k(r=>r.plaidAccountViewState.external_account.plaidConnectionDetails),e=k(r=>W(r)),n=k(r=>r.tenantState.fetchState),s=k(r=>Rt(r,i)),C=k(r=>Nt(r,he)),v=d.useMemo(()=>new Set(C.map(r=>r.additionalInfo).filter(r=>r!=null)),[C]),I=e.tenantId,T=le(e.userRole??[]);return d.useEffect(()=>{o(Mt(he))},[o]),d.useMemo(()=>({isAdmin:T,integrationsView:s,isLoading:n==="In-Progress",notifyMeRegisteredSlugs:v,autoFocusTabId:l??void 0,saveChargeBeeState:s.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:s.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:s.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:s.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:s.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(s.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map(([r,f])=>[r,f?.message])),deleteConnectionState:s.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:s.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{o($e(I,"gmail",Ze()))},onConnectOutlook:()=>{o($e(I,"outlook",Ze()))},onConnectHubSpot:(r,f)=>{const p=s.externalConnections?.revenue?.find(O=>O.connectionName==="hubspot")?.connectionId;if(p==null)return;const _=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:r,client_secret:f,connection_id:p,redirect_uri:_,tenant_id:I})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(r)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(_)}`},onDisconnect:(r,f)=>{o(qt(I,r,ge(f)))},onNotifyMe:r=>{N.trackIntegrationsNotifyMeClicked("Onboarding",r),o(Qt(he,r,u))},onReconnectQBO:()=>{oe.init("/onboarding/auth",t),oe.handleClick()},onRefreshClick:()=>{s.integrations.refreshQBO.fetchState!=="In-Progress"&&o(Kt())},onSaveChargeBeeCredentials:(r,f)=>{const p=s.externalConnections?.revenue?.find(_=>_.connectionName==="chargebee")?.connectionId;p!=null&&o(Gt(I,p,ge("revenue"),zt("chargebee"),{api_key:r,site:f}))},onSaveConnectorCredentials:r=>{o($t(I,ge("payments"),r))},plaidAccounts:c,onAddPlaidAccount:y,plaidConnectionDetails:S}),[T,s,n,v,l,I,u,t,o,c,y,S])};function Ze(){const t=new URL(window.location.href);return t.searchParams.set("onboarding_step","connect_data_source"),t.toString()}function We(t,u,i){let o=`/${t}/onboarding/address`;return o=i!=null?o.concat(`/edit/${u}/${encodeURIComponent(i)}`):o.concat(`/new/${u}`),o}const Xe=xe.div`
|
|
26
|
+
`,Ye=et(function(t,u){const{companyId:i,isAdmin:o,currentTenant:l,isOnAddressPage:c}=u,y=R.getSignedInUser(),S=l.tenantId,e={userId:y?.userId??"",sessionId:y?.zeniSessionId??"",tenantId:S??""},n=W(t),s=Te(t,i),C=it(t),_=le(l?.userRole??[])&&s.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",I=Ht(t.userRoleConfigState);return{onboardingCustomerView:s,analytics:N,isRefreshingViewInBackground:!1,isDisabled:_,companyTitles:I.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:vt.fileMicroServiceBaseUrl,authParams:e},signedInUser:R.getSignedInUser(),currentTenant:n,isAdmin:o,isOnAddressPage:c,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:C,isCardPaymentPopupOpen:!1,stripeKey:Se.stripeKey}},function(t,u){const{companyId:i,currentTenant:o,themeState:l,navigate:c,location:y}=u,{tenantEmailDomain:S}=o;return{onFetchLinkTokenClick:(e,n)=>{t(Sn(e,n))},onEstablishConnectionClick:(e,n)=>{t(hn(e,n))},onUpdatePaymentAccountStatus:(e,n,s)=>{t(yn(e,n,s))},onUpdatePaymentAccountLoginStatus:(e,n)=>{t(fn(!1,e,n))},onEstablishConnectionSuccess:()=>{t(gn(i,!0,!1))},handleOnConnectClick:()=>{N.trackOnboardingConnectQBO(),oe.handleClick()},updateQBOPopupState:e=>{t(ue({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const n=e.map(s=>{const{officerType:C,userId:_,name:I,email:T,ssn:r,nationalityCountryCode:f,dob:p,phone:v,syncToken:O,selectDocument:E,role:P,ownership:m,isSelectedForVerification:M,userVerificationStatus:j,fileIds:$,isPhoneVerified:G}=s;let x;return E.selectDocumentType==="driverLicense"?x="driving_license":E.selectDocumentType==="passport"?x="passport":E.selectDocumentType==="stateId"?x="id_document":E.selectDocumentType==="ssnCard"&&(x="social_security_card"),{officerType:C,userId:_,firstName:I.firstName,lastName:I.lastName,email:T,ssn:r,nationalityCountryCode:f?.selectedOption!=null?Me(f.selectedOption):void 0,phone:v,birthday:p!=null?Ge(p?.toString()):p,syncToken:O,titleAtCompany:P.selectedOption,ownershipInCompany:m,documentTypeSelectedForVerification:x,isSelectedForVerification:M,userVerificationStatus:j,fileIds:$,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:G}});t(ze({officers:n}))},onGetOtp:(e,n)=>{t(pn(e,"CustomerOnboarding")),n!=null&&t(mn({officerType:n,phone:e}))},onResendOtp:e=>{t(ln(e,"CustomerOnboarding"))},onVerifyOtp:(e,n)=>{t(un(e,n,"CustomerOnboarding"))},updateFilesEntity:e=>{t(dn({files:e}))},onDeleteFile:e=>{t(cn(e))},onEditFileName:(e,n)=>{t(rn(e,n.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:n,companyIndustry:s,companyIndustryType:C,companyLegalName:_,companyTaxId:I,companyWebsite:T,companyPhone:r,primaryContactEmail:f,primaryContactName:p,primaryContactUserId:v,primaryContactSyncToken:O,syncToken:E,fileIds:P,typeOfIncorporation:m,stateOfIncorporation:M,incDate:j,companySourceOfFunds:$,companySourceOfFundsDescription:G,companySubIndustry:x,countriesOfOperations:F,purposeOfAccount:Q,purposeOfAccountDescription:z,regulatedStatus:V,regulatedStatusDescription:h,transactionVolume:D,transactionVolumeDescription:Y,usNexus:A,usNexusTypes:se}=e,B={companyId:i,companyDescription:n,companyIndustry:s.selectedOption,companyIndustryType:C?.selectedOption??"",companyLegalName:_,taxIdOrEIN:I,website:T!=""&&T!=null?sn(T):void 0,phone:r,syncToken:E,fileIds:P,incDate:j!=null?Ge(j?.toString()):j,typeOfIncorporation:m?.selectedOption??"",stateOfIncorporation:M?.selectedOption??"",companySourceOfFunds:$?.selectedOption??"",companySourceOfFundsDescription:G,companySubIndustry:x?.selectedOption??"",countriesOfOperations:F?.selectedOptions.map(X=>X.length===2?X:Me(X))??[],purposeOfAccount:Q?.selectedOption??"",purposeOfAccountDescription:z,regulatedStatus:V??"",regulatedStatusDescription:h,transactionVolume:D?.selectedOption??"",transactionVolumeDescription:Y,usNexus:A,usNexusTypes:se?.selectedOptions??[]},pe={userId:v,firstName:p.firstName,lastName:p.lastName,email:f,syncToken:O};t(ze({companyDetails:B,primaryContactDetails:pe}))},onAddressClick:(e,n)=>{const s=We(S,e,n),C=K(y.state?.pathnameStackToGoBack,y.pathname);c(s,{state:{pathnameStackToGoBack:C}})},onRegisteredAddressClick:(e,n)=>{const s=We(S,e,n),C=K(y.state?.pathnameStackToGoBack,y.pathname);c(s,{state:{pathnameStackToGoBack:C}})},onUpdateCustomerView:(e,n,s)=>{t(on(i,!1,n,s,e))},onAddressEditHandler:e=>{if(e!=null){const n=yt(e);t(st({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const e=K(y.state?.pathnameStackToGoBack,y.pathname);t(rt(i,!1,!1)),c("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(ot({step:e}))},onUpdateSubStep:e=>{t(an({subStep:e}))},onZeniLogoClick:()=>{l.toggle()},handleLogOutClick:()=>{const e=K(y.state?.pathnameStackToGoBack,y.pathname);c("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{c(`/${S}/rewards`)},handleCreateCardSetupIntent:e=>{t(at(e))},handleConfirmCardSetupIntent:e=>{t(nn(e))},updateCardPaymentModalState:e=>{t(ue({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,n,s)=>{t(tn(e,n,s))},handleFetchPaymentSources:()=>{t(Ce())},resetCardPaymentViewState:()=>{t(en())},handleResetCardPaymentErrorStatuses:()=>{t(Jt())},redirectToProductSuitePage:()=>{const e=K(y.state?.pathnameStackToGoBack,y.pathname);c(`/${S}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{i!=null&&t(Xt(i))},onIdentityDocumentUploadedForAutofill:e=>{if(i==null)return;const n=Zt(e.documentType);n!=null&&t(Wt({target:"onboarding",companyId:i,officerType:e.officerType,fileId:e.fileId,documentType:n}))},onCompanyDocumentUploadedForAutofill:e=>{i!=null&&t(Yt({target:"onboarding",companyId:i,fileId:e.fileId,documentType:e.documentType}))}}})(_t),ce=({taxCFOCustomer:t=!1,isOnAddressPage:u=!1,appContent:i})=>{const o=be(),l=Ie(),c=ne(),y=kt(),S=tt(),[e,n]=d.useState(!1),[s,C]=d.useState(!1),[_,I]=d.useState(!1),{tenantEmailDomain:T}=ke(),r=nt(),{useFeatureGate:f}=_e(),{isFeatureEnabled:p}=f(H.isDebitCardFeatureEnabled),v=St("/:tenantEmailDomain/onboarding")!==null&&l.search?.includes("code"),O=k(g=>g.onboardingCustomerViewState.fetchState),E=k(g=>g.onboardingCustomerViewState.currentStep),P=k(g=>g.onboardingCustomerViewState.uiState),m=k(g=>W(g)),M=k(g=>g.userRoleConfigState.fetchState),j=k(g=>g.cardPaymentViewState),$=Le(j.addCardPaymentSourceStatus.fetchState),G=j.addCardPaymentSourceStatus.fetchState,{code:x,realmId:F,state:Q}=bn(l.search),z=m.externalConnections?.accounting[0],V=z?.connectionType,h=z?.connectionName,D=z?.connectionId??"",Y=R.getSignedInUser()?.userId??"";d.useEffect(()=>{s||(C(!0),c(Ce()))},[s,c]),d.useEffect(()=>{_||(at(["card"]),I(!0))},[_]),d.useEffect(()=>{$==="In-Progress"&&G==="Completed"&&c(Ce())},[$,G]),d.useEffect(()=>{In(x,F,Q,D,Y)===!0&&m.externalConnections?.saveConnectionState!=="In-Progress"&&O==="Completed"&&(c(Bt(m.tenantId,{connection_type:V??"accounting",connection_name:h??"quickbooks_online",authorization_code:x,realm_id:F,connection_id:D,user_id:Y},Ut(window.location.origin+"/onboarding/auth"))),N.trackOnboardingSaveQBOConnection(F,D),o(l.pathname))},[x,F,Q,l.pathname,O]),d.useEffect(()=>{oe.isInitiated===!1&&O==="Completed"&&oe.init("/onboarding/auth",m.tenantEmailDomain)},[O]);const A=m.companyId??R.getSignedInUserTenant(T)?.companyId,se=le(m?.userRole??[]),B=k(g=>Te(g,A));d.useEffect(()=>{e||O!=="Not-Started"||A==null||(n(!0),c(Vt(A,!0,!v)))},[e,O,A]),d.useEffect(()=>{m.externalConnections?.saveConnectionState!=="Completed"&&m.externalConnections?.saveConnectionState!=="Error"||!P.isQBOPopupOpen||E!=="connect_ledger"||c(ue({isQBOPopupOpen:!1}))},[m.externalConnections?.saveConnectionState]),d.useEffect(()=>{O==="Completed"&&v&&(c(ot({step:"connect_ledger"})),c(ue({isQBOPopupOpen:!0})))},[v,O]),d.useEffect(()=>{M==="Not-Started"&&c(Lt(!0))},[M,c]);const pe=Le(B.companyDetailsLocalData?.addressStatus);d.useEffect(()=>{B.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&B.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&pe==null&&c(st({addressType:"company_registered_address",addressToCreate:B.companyDetailsLocalData?.addressStatus?.addressToCreate}))},[B.companyDetailsLocalData?.addressStatus?.addressToCreate,B.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const X=B.isInterimEmailSent,we=R.getSignedInUser();if(we==null)throw Error("Can't access onboarding flow without signing in...");const ct=ve(p,m),dt=Oe(m),xe=m.company?.companyOnboardingInfo.isOnboardingCompleted,Ae=g=>g.trackPageLoaded(de.Event.onboardingPage),Pe=m.productSettings.isOtherProductsEnabled,ut=m.productSettings.isTreasuryEnabled,De=Tn({tenantEmailDomain:T??"",signedInUserEmail:we.userEmail??"",companyId:A}),je=(({companyId:g})=>{const L=ne(),ie=k(w=>w.onboardingCustomerViewState?.aiAgentsActivation),J=k(w=>W(w).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1),me=d.useCallback(()=>{L(Pt())},[L]);d.useEffect(()=>{me()},[me]);const Fe=d.useCallback(()=>{g==null||g===""||J||L(Dt(g))},[g,J,L]),lt=d.useMemo(()=>{if(g==null||g==="")return[];const w=`private-encrypted-${g}`;return[`${w}.ledger-ingestion.counts-updated`,`${w}.ai-agents-activation.phase-changed`]},[g]),pt=d.useCallback((w,ee)=>{if(ee==null||typeof ee!="object")return;const b=ee;if(w!=="ledger-ingestion.counts-updated"){if(w==="ai-agents-activation.phase-changed"){const re=typeof b.phase_key=="string"?b.phase_key:typeof b.key=="string"?b.key:"",Z=typeof b.status=="string"?b.status:"idle";if(re==="")return;L(Ft({key:re,status:Z==="starting"||Z==="building"||Z==="ready"?Z:"idle",startedAt:typeof b.started_at=="string"?b.started_at:void 0,completedAt:typeof b.completed_at=="string"?b.completed_at:void 0}))}}else L(jt({customerCount:typeof b.customer_count=="number"?b.customer_count:void 0,glAccountCount:typeof b.gl_account_count=="number"?b.gl_account_count:void 0,targetTransactionCount:typeof b.target_transaction_count=="number"?b.target_transaction_count:void 0,transactionCount:typeof b.transaction_count=="number"?b.transaction_count:void 0,vendorCount:typeof b.vendor_count=="number"?b.vendor_count:void 0}))},[L]);return vn({events:lt,onEvent:pt,onSubscribed:me}),d.useMemo(()=>{const w=ie?.phases??[],ee=Ke(w,fe),b=Ke(w,ye),re=Qe(w,fe),Z=Qe(w,ye),Be=w.some(ft=>ft.status!=="idle"),te=!J&&!Be,Ue=J&&!Be,mt=Ue?fe.map(()=>"building"):ee,gt=Ue?ye.map(()=>"building"):b;return{ledgerRowStatuses:te?void 0:mt,backgroundRowStatuses:te?void 0:gt,showLedgerReadyInLabel:te?void 0:re,showBackgroundReadyInLabel:te?void 0:Z,forceContinueEnabled:!te||void 0,counts:ie?.counts,onContinueClicked:Fe}},[ie?.phases,ie?.counts,J,Fe])})({companyId:A});if(xe===!0){if(!Pe)return ut?a.jsx(U,{to:"../../treasury"}):ct?a.jsx(U,{to:"../../checking"}):dt?a.jsx(U,{to:"../../cards"}):a.jsx(U,{to:"../../dashboard"});const g=B.updateStatus.fetchState==="In-Progress";if(Pe&&!g)return t?a.jsxs(qe,{children:[a.jsx(ae,{analytics:N,onLoad:L=>Ae(L)}),a.jsx(Ye,{navigate:o,location:l,companyId:A,currentTenant:m,isAdmin:se,isOnAddressPage:u,themeState:S,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),i!=null?a.jsx(He,{windowSize:y,skipLegacyDrawerOffset:u&&m.productSettings.isOtherProductsEnabled!==!0,children:i}):null]}):a.jsx(U,{to:"../../onboarding/thankyou"})}else if(xe===!1&&r?.loggedInUserRoleMap!=null)return X===!0?a.jsx(U,{to:"../../onboarding/thankyou"}):a.jsxs(qe,{children:[a.jsx(ae,{analytics:N,onLoad:g=>Ae(g)}),a.jsx(Ye,{navigate:o,location:l,companyId:A,currentTenant:m,isAdmin:se,isOnAddressPage:u,themeState:S,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),i!=null?a.jsx(He,{windowSize:y,skipLegacyDrawerOffset:u&&m.productSettings.isOtherProductsEnabled!==!0,children:i}):null]});return null},he="external_integrations",Tn=({tenantEmailDomain:t,signedInUserEmail:u,companyId:i})=>{const o=ne(),{pendingAutoFocusTabId:l}=kn(),{plaidAccounts:c,onAddPlaidAccount:y}=_n({companyId:i}),S=k(r=>r.plaidAccountViewState.external_account.plaidConnectionDetails),e=k(r=>W(r)),n=k(r=>r.tenantState.fetchState),s=k(r=>Rt(r,i)),C=k(r=>Nt(r,he)),_=d.useMemo(()=>new Set(C.map(r=>r.additionalInfo).filter(r=>r!=null)),[C]),I=e.tenantId,T=le(e.userRole??[]);return d.useEffect(()=>{o(Mt(he))},[o]),d.useMemo(()=>({isAdmin:T,integrationsView:s,isLoading:n==="In-Progress",notifyMeRegisteredSlugs:_,autoFocusTabId:l??void 0,saveChargeBeeState:s.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:s.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:s.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:s.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:s.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(s.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map(([r,f])=>[r,f?.message])),deleteConnectionState:s.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:s.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{o($e(I,"gmail",Ze()))},onConnectOutlook:()=>{o($e(I,"outlook",Ze()))},onConnectHubSpot:(r,f)=>{const p=s.externalConnections?.revenue?.find(O=>O.connectionName==="hubspot")?.connectionId;if(p==null)return;const v=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:r,client_secret:f,connection_id:p,redirect_uri:v,tenant_id:I})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(r)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(v)}`},onDisconnect:(r,f)=>{o(qt(I,r,ge(f)))},onNotifyMe:r=>{N.trackIntegrationsNotifyMeClicked("Onboarding",r),o(Qt(he,r,u))},onReconnectQBO:()=>{oe.init("/onboarding/auth",t),oe.handleClick()},onRefreshClick:()=>{s.integrations.refreshQBO.fetchState!=="In-Progress"&&o(Kt())},onSaveChargeBeeCredentials:(r,f)=>{const p=s.externalConnections?.revenue?.find(v=>v.connectionName==="chargebee")?.connectionId;p!=null&&o(Gt(I,p,ge("revenue"),zt("chargebee"),{api_key:r,site:f}))},onSaveConnectorCredentials:r=>{o($t(I,ge("payments"),r))},plaidAccounts:c,onAddPlaidAccount:y,plaidConnectionDetails:S}),[T,s,n,_,l,I,u,t,o,c,y,S])};function Ze(){const t=new URL(window.location.href);return t.searchParams.set("onboarding_step","connect_data_source"),t.toString()}function We(t,u,i){let o=`/${t}/onboarding/address`;return o=i!=null?o.concat(`/edit/${u}/${encodeURIComponent(i)}`):o.concat(`/new/${u}`),o}const Xe=Ee.div`
|
|
27
27
|
display: flex;
|
|
28
28
|
height: 100vh;
|
|
29
29
|
background-color: ${t=>t.theme.colors.grey4};
|
|
30
|
-
`,Je=et(function(t,u){const{companyId:i,currentTenant:o}=u,l=Te(t,i),c=it(t);return{hasVerifiedBankAccount:(l.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(c.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:le(o?.userRole??[])&&l.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:R.getSignedInUser(),currentTenant:o,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true"}},function(t,u){const{currentTenant:i,themeState:o,navigate:l,location:c}=u,{tenantEmailDomain:y}=i;return{onZeniLogoClick:()=>{o.toggle()},handleLogOutClick:()=>{const S=K(c.state?.pathnameStackToGoBack,c.pathname);l("/signout",{replace:!0,state:{pathnameStackToGoBack:S,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{l(`/${y}/rewards`)},handleUpdatePaymentAddressDetailClick:()=>{const S=K(c.state?.pathnameStackToGoBack,c.pathname);l(`/${y}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:S,message:"UpdatePaymentAddressDetail"}})}}})(Tt),
|
|
30
|
+
`,Je=et(function(t,u){const{companyId:i,currentTenant:o}=u,l=Te(t,i),c=it(t);return{hasVerifiedBankAccount:(l.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(c.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:le(o?.userRole??[])&&l.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:R.getSignedInUser(),currentTenant:o,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true"}},function(t,u){const{currentTenant:i,themeState:o,navigate:l,location:c}=u,{tenantEmailDomain:y}=i;return{onZeniLogoClick:()=>{o.toggle()},handleLogOutClick:()=>{const S=K(c.state?.pathnameStackToGoBack,c.pathname);l("/signout",{replace:!0,state:{pathnameStackToGoBack:S,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{l(`/${y}/rewards`)},handleUpdatePaymentAddressDetailClick:()=>{const S=K(c.state?.pathnameStackToGoBack,c.pathname);l(`/${y}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:S,message:"UpdatePaymentAddressDetail"}})}}})(Tt),En=()=>{const t=be(),u=ne(),i=Ie(),o=tt(),{useFeatureGate:l}=_e(),{isFeatureEnabled:c}=l(H.isDebitCardFeatureEnabled),{tenantEmailDomain:y}=ke(),S=nt(),[e,n]=d.useState(!1);d.useEffect(()=>{e===!1&&i.state?.message==="OnboardingThankyou"&&n(!0)},[i.state]);const s=k(p=>W(p)),C=s.productSettings.isOtherProductsEnabled;d.useEffect(()=>{u(rt(_,!1,!C))},[]);const _=s.companyId??R.getSignedInUserTenant(y)?.companyId;if(S.loggedInUser==null)throw Error("Can't access onboarding flow without signing in...");const I=ve(c,s),T=Oe(s),r=k(p=>p.onboardingCustomerViewState.updateStatus.fetchState),f=s.company?.companyOnboardingInfo.isOnboardingCompleted;if(f!==!0||C)return r==="Completed"&&f===!0&&C&&S?.loggedInUserRoleMap!=null?a.jsxs(Xe,{children:[a.jsx(ae,{analytics:N,onLoad:p=>{p.trackPageLoaded(de.Event.onboardingLandingPage,"Onboarding",Cn(s.productSettings))}}),a.jsx(Je,{navigate:t,showUpdatePaymentDetailButton:C,location:i,companyId:_,currentTenant:s,themeState:o,isVisitingFirstTime:e})]}):r==="Completed"&&f===!1&&S?.loggedInUserRoleMap!=null?a.jsxs(Xe,{children:[a.jsx(ae,{analytics:N,onLoad:p=>{p.trackPageLoaded(de.Event.onboardingInterimPage)}}),a.jsx(Je,{navigate:t,showUpdatePaymentDetailButton:C,location:i,companyId:_,currentTenant:s,themeState:o,isVisitingFirstTime:e})]}):a.jsx(Ot,{});{const p={pathnameStackToGoBack:i.state?.pathnameStackToGoBack,message:"activation"};return I?a.jsx(U,{to:"../../checking",state:p,replace:!0}):T?a.jsx(U,{to:"../../cards",state:p,replace:!0}):a.jsx(U,{to:"../../dashboard",state:p,replace:!0})}};function ea(){return a.jsxs(Ct,{children:[a.jsx(q,{path:"/",element:a.jsx(ce,{})}),a.jsx(q,{path:"/billing/edit",element:a.jsx(ce,{taxCFOCustomer:!0})}),a.jsx(q,{path:"/thankyou",element:a.jsx(En,{})}),a.jsx(q,{path:"/activation",element:a.jsx(On,{})}),a.jsx(q,{path:"/address/edit/:addressType/:addressId",element:a.jsx(ce,{isOnAddressPage:!0,appContent:a.jsx(Ve,{})})}),a.jsx(q,{path:"/address/new/:addressType",element:a.jsx(ce,{isOnAddressPage:!0,appContent:a.jsx(Ve,{})})}),a.jsx(q,{path:"*",element:a.jsx(ht,{})})]})}export{ea as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as d}from"./liveblocks-B2D23g1h.js";import{i as K,j as k,g as H,u as $,h as W,n as ee,k as ra,o as bt,p as O}from"./core-FEzHdTwu.js";import{eX as L,Nm as We,bE as ia,bo as xe,OA as Pn,i$ as On,OB as Kt,OC as Fn,j2 as Ct,OD as Ze,OE as Rn,j7 as Bn,OF as qt,OG as jn,jb as _t,OH as Qe,OI as Mn,co as yt,OJ as Un,OK as Ln,NG as Gn,k3 as Vn,OL as Yn,bn as Xe,OM as ca,Na as ce,bc as la,kh as da,oh as ua,k0 as ma,Nc as le,Nb as J,eW as pa,fs as Nn,g3 as kt,ON as $n,OO as zn,OP as ha,OQ as Oe,vT as Me,vU as Ue,wf as we,w9 as de,vY as Le,OR as Kn,OS as qn,OT as Zn,OU as fa,OV as Fe,OW as Qn,dK as Je,sa as ga,OX as Hn,OY as Wn,OZ as Xn,O_ as vt,Ms as At,kx as De,wn as It,si as Jn,O$ as eo,vV as Zt,sd as Ee,s9 as ba,P0 as ge,P1 as to,P2 as Et,Mr as Tt,ui as Ca,P3 as ao,P4 as no,P5 as oo,P6 as xt,uy as so,P7 as ro,vX as Qt,uh as _a,P8 as be,P9 as io,bs as ka,wr as Sa,Pa as co,Pb as lo,Pc as uo,Pd as wt,wm as mo,Pe as po,vW as Ht,wq as ya,Pf as Ce,Pg as ho,Ph as fo,Pi as va,km as Aa,oe as Ia,kr as Ea,oc as Ta,ob as xa,oa as wa,tG as go,Pj as bo,cS as Co,cT as _o,o7 as ko,fS as So,oo as yo,GE as dt,Gw as vo,GA as Ao,Pk as Io,Pl as Eo,Pm as To,b5 as et,fK as xo,hJ as wo,gj as Do,oi as Po,jV as Oo,of as Fo,od as Ro,fE as Bo,fC as jo}from"./zeni-epic-state-Bxb-N0Vf.js";import{z as M,a4 as te,q as w,d as T,a as q,a_ as Mo,a0 as Ge,x as Ve,a$ as Da,f as Y,b0 as Uo,j as ke,b1 as Pa,C as Se,U as B,y as Lo,b2 as Go,b3 as Vo,Y as Oa,K as Fa,c as Ra,$ as Yo,b4 as No,W as $o,aS as Ba,a1 as se,b5 as ja,b6 as Ma,a3 as Ua,b7 as zo,b8 as Ko,s as qo,ar as Zo,p as Qo,Z as Ho,b9 as Wo,ba as Xo,bb as Jo,bc as es,bd as _e}from"./index-sOa-ivVp.js";import{n as Dt}from"./mui-C754KMjM.js";import{a as b}from"./sentry-BQ1KU1t3.js";import{w as La}from"./withTransactionSidePanel-BidzZJzq.js";import{c as Ga,t as Pe,f as ue,a as Pt,v as ts}from"./routePaths-C_agWIhF.js";import{u as ae}from"./useAskAiCfoHostNavButtonProps-ByAiXj6b.js";import je from"./NotFoundScreen-DKRpU5d2.js";import{u as Ot}from"./useInitialThreadRequest-Bzg53f4k.js";import{t as Va}from"./analyticsHelper-BHJAp8-8.js";import{C as as}from"./CompanyPassportScreen-DOFoT4Be.js";import{u as ns}from"./useAiCfoDashboardSuggestedQuestionsChips-UyV5LaV3.js";import{F as os}from"./FeaturePreviewScreen-DrK5iO4h.js";import{R as ss}from"./ReferralListScreen-CR-hF3FX.js";import"./recharts-CIXkvtnT.js";import"./analytics-BY30ztud.js";import"./plaid--k8gbxl0.js";import"./dnd-Cb_vPZwC.js";import"./stripe-DMRn4zHo.js";import"./lottie-BKshFrBj.js";import"./lexical-fJeYHrZP.js";import"./pdf-BSvba1pn.js";import"./utils-C8oTXAPM.js";import"./TransactionDetailScreen-BFbKNK0K.js";import"./decodeURIComponentSafe-_VO6ySKg.js";import"./MobileAppDrawer-lEpfHv06.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="6047418e-e4bd-48ab-992e-13a0f6a959a3",e._sentryDebugIdIdentifier="sentry-dbid-6047418e-e4bd-48ab-992e-13a0f6a959a3")}catch{}})();const rs=La(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=k(I=>I.tenantState.currentTenantId),c=k(I=>L(I)),{tenantEmailDomain:m}=K(),g=H(),C=c?.companyName??"",u={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},l=b.useMemo(()=>({authParams:u,companyName:C,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()}),[]),h=b.useMemo(()=>r!=null?ia(r):xe(),[r]),p=$(),f=W(),S=k(I=>Pn(I,h,o)),E=b.useCallback(()=>{o!=null&&S.fetchState!=="In-Progress"&&S.fetchState!=="Completed"&&p(On(o,h))},[h]),v=b.useCallback(()=>{f("../../",{relative:"path"})},[]),_=b.useCallback((I,U)=>{p(Kt({sortKey:I,sortOrder:U}))},[]),x=b.useCallback(I=>{p(Kt({downloadState:I}))},[]),D=b.useCallback(I=>{if(e)e(I.transactionId,I.transactionType);else if(m!=null){const U=Ga({id:I.transactionId,type:I.transactionType},m);f(U);const ne=w(g.state?.pathnameStackToGoBack,g.pathname);f(U,{state:{pathnameStackToGoBack:ne}})}},[m,e]),y=b.useCallback(()=>{S.vendor!=null&&T.trackApAgingDetail("AP Aging",h.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),S.vendor.id,S.vendor.name)},[S.vendor,h]);return b.useEffect(()=>{E()},[]),b.useEffect(()=>{S.fetchState==="Completed"&&y()},[y,S.fetchState]),d.jsx(Mo,{apAgingDetail:S,downloadParams:l,reportDate:h,analytics:T,onTransactionClick:D,onReload:E,onBackClick:v,onColumnSortConfigChanged:_,updateDownloadStateHandler:x,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),is=()=>{const e=$(),a=W(),t=k(_=>Fn(_)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AP Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=k(_=>_.tenantState.currentTenantId),i=k(_=>L(_)),c=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},g=b.useMemo(()=>({authParams:m,companyName:c,downloadEndPoint:`${te}/agingReport`,timezone:We()}),[]),C=t.apAgingUIState.selectedDate??xe(),u=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(Ct(C))},[]);b.useEffect(()=>{u()},[]);const l=b.useCallback(()=>{a("../",{relative:"path"})},[]),h=b.useCallback(_=>{e(Ze({searchString:_}))},[]),p=b.useCallback((_,x)=>{e(Ze({sortKey:x,sortOrder:_}))},[]),f=b.useCallback(_=>{a(`./${_}/${C.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[C]),S=b.useCallback(_=>{e(Ze({downloadState:_}))},[]),E=b.useCallback((_,x)=>{},[]),v=b.useCallback((_,x)=>{e(Ze({selectedDate:_,agingDateSelectionType:x})),e(Ct(_))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ve,{analytics:T,onLoad:_=>_.trackPageLoaded(Y.Event.agingReport,"AP Aging")}):null,d.jsx(Da,{uiState:t.apAgingUIState,report:t,downloadParams:g,analytics:T,onReloadReport:u,onBackClick:l,onSearchTextChange:h,onSortOrderChange:p,onEntityNameClick:f,updateDownloadStateHandler:S,onSelectedDateChanged:v,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},cs=La(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=k(y=>L(y)),{tenantEmailDomain:c}=K(),m=H(),g=i.companyName,C={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},u=b.useMemo(()=>({authParams:C,companyName:g,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()}),[]),l=b.useMemo(()=>r!=null?ia(r):xe(),[r]),h=$(),p=W(),f=k(y=>Rn(y,l,o)),S=b.useCallback(()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&h(Bn(o,l))},[l]),E=b.useCallback(()=>{p("../../",{relative:"path"})},[]),v=b.useCallback((y,I)=>{h(qt({sortKey:y,sortOrder:I}))},[]),_=b.useCallback(y=>{h(qt({downloadState:y}))},[]),x=b.useCallback(y=>{if(e)e(y.transactionId,y.transactionType);else if(c!=null){const I=Ga({id:y.transactionId,type:y.transactionType},c);p(I);const U=w(m.state?.pathnameStackToGoBack,m.pathname);p(I,{state:{pathnameStackToGoBack:U}})}},[c,e]),D=b.useCallback(()=>{f.customer!=null&&T.trackArAgingDetail("AR Aging",l.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.customer.id,f.customer.name)},[f.customer,l]);return b.useEffect(()=>{S()},[]),b.useEffect(()=>{f.fetchState==="Completed"&&D()},[f.fetchState,D]),d.jsx(Uo,{arAgingDetail:f,downloadParams:u,reportDate:l,analytics:T,onTransactionClick:x,onReload:S,onBackClick:E,onColumnSortConfigChanged:v,updateDownloadStateHandler:_,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),ls=()=>{const e=$(),a=W(),t=k(v=>jn(v)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AR Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=k(v=>L(v)),i=s.companyName,c={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo(()=>({authParams:c,companyName:i,downloadEndPoint:`${te}/agingReport`,timezone:We()}),[]),g=t.arAgingUIState.selectedDate??xe(),C=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(_t(g))},[]);b.useEffect(()=>{C()},[]);const u=b.useCallback(()=>{a("../",{relative:"path"})},[]),l=b.useCallback(v=>{e(Qe({searchString:v}))},[]),h=b.useCallback((v,_)=>{e(Qe({sortKey:_,sortOrder:v}))},[]),p=b.useCallback(v=>{a(`./${v}/${g.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[g]),f=b.useCallback(v=>{e(Qe({downloadState:v}))},[]),S=b.useCallback((v,_)=>{e(Qe({selectedDate:v,agingDateSelectionType:_})),e(_t(v))},[]),E=b.useCallback((v,_)=>{e(Mn({nodeId:v,isCollapsed:_}))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ve,{analytics:T,onLoad:v=>v.trackPageLoaded(Y.Event.agingReport,"AR Aging")}):null,d.jsx(Da,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:T,onReloadReport:C,onBackClick:u,onSearchTextChange:l,onSortOrderChange:h,onEntityNameClick:p,updateDownloadStateHandler:f,onSelectedDateChanged:S,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Ya=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function Na(e,a){const t=Gn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=Pe(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Vn(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?T.trackZeniAccountsCashBalancePromoClicked("Move Money"):(T.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else T.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const ds=ee(function(e){const a=Un(e).accountsInOrder.map((n,o)=>Ya(n,o)),t=Ln(e);return{sectionTitle:q.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:T}},Na)(Pa),us=ee(function(e){const a=Yn(e).accountsInOrder.map((o,r)=>Ya(o,r)),t=M.getSignedInUser(),n=Xe(t);return{sectionTitle:q.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:T}},Na)(Pa);function ms(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=ke(),o=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1),r=yt(n?.loggedInUserRoleMap);return k(s=>s.cashBalanceState.fetchState)==="Error"?d.jsx(je,{}):d.jsx(ds,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function ps(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=ke(),o=yt(n?.loggedInUserRoleMap),r=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1);return k(s=>s.cardBalanceState.fetchState)==="Error"?d.jsx(je,{}):d.jsx(us,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const hs=Dt.div`
|
|
1
|
+
import{j as d}from"./liveblocks-CL8iYAR7.js";import{i as K,j as k,g as H,u as $,h as W,n as ee,k as ra,o as bt,p as O}from"./core-BE5sOaFh.js";import{eX as L,Nm as We,bE as ia,bo as xe,OA as Pn,i$ as On,OB as Kt,OC as Fn,j2 as Ct,OD as Ze,OE as Rn,j7 as Bn,OF as qt,OG as jn,jb as _t,OH as Qe,OI as Mn,co as yt,OJ as Un,OK as Ln,NG as Gn,k3 as Vn,OL as Yn,bn as Xe,OM as ca,Na as ce,bc as la,kh as da,oh as ua,k0 as ma,Nc as le,Nb as J,eW as pa,fs as Nn,g3 as kt,ON as $n,OO as zn,OP as ha,OQ as Oe,vT as Me,vU as Ue,wf as we,w9 as de,vY as Le,OR as Kn,OS as qn,OT as Zn,OU as fa,OV as Fe,OW as Qn,dK as Je,sa as ga,OX as Hn,OY as Wn,OZ as Xn,O_ as vt,Ms as At,kx as De,wn as It,si as Jn,O$ as eo,vV as Zt,sd as Ee,s9 as ba,P0 as ge,P1 as to,P2 as Et,Mr as Tt,ui as Ca,P3 as ao,P4 as no,P5 as oo,P6 as xt,uy as so,P7 as ro,vX as Qt,uh as _a,P8 as be,P9 as io,bs as ka,wr as Sa,Pa as co,Pb as lo,Pc as uo,Pd as wt,wm as mo,Pe as po,vW as Ht,wq as ya,Pf as Ce,Pg as ho,Ph as fo,Pi as va,km as Aa,oe as Ia,kr as Ea,oc as Ta,ob as xa,oa as wa,tG as go,Pj as bo,cS as Co,cT as _o,o7 as ko,fS as So,oo as yo,GE as dt,Gw as vo,GA as Ao,Pk as Io,Pl as Eo,Pm as To,b5 as et,fK as xo,hJ as wo,gj as Do,oi as Po,jV as Oo,of as Fo,od as Ro,fE as Bo,fC as jo}from"./zeni-epic-state-Cwuxiu06.js";import{z as M,a4 as te,q as w,e as T,a as q,a_ as Mo,a0 as Ge,w as Ve,a$ as Da,g as Y,b0 as Uo,I as ke,b1 as Pa,C as Se,U as B,y as Lo,b2 as Go,b3 as Vo,Y as Oa,K as Fa,c as Ra,$ as Yo,b4 as No,T as $o,aS as Ba,a1 as se,b5 as ja,b6 as Ma,a3 as Ua,b7 as zo,b8 as Ko,d as qo,ar as Zo,p as Qo,Z as Ho,b9 as Wo,ba as Xo,bb as Jo,bc as es,bd as _e}from"./index-j91BsX6x.js";import{n as Dt}from"./mui-D8wN7E11.js";import{a as b}from"./sentry-CO5QdUHy.js";import{w as La}from"./withTransactionSidePanel-oRZAfGqS.js";import{c as Ga,t as Pe,f as ue,a as Pt,v as ts}from"./routePaths-MNVfXbZw.js";import{u as ae}from"./useAskAiCfoHostNavButtonProps-5B5IGvZZ.js";import je from"./NotFoundScreen--bQtpbnT.js";import{u as Ot}from"./useInitialThreadRequest-B6VWj1GW.js";import{t as Va}from"./analyticsHelper-BmqSI_Lf.js";import{C as as}from"./CompanyPassportScreen-mmNQvD1l.js";import{u as ns}from"./useAiCfoDashboardSuggestedQuestionsChips-BYe9KDNy.js";import{F as os}from"./FeaturePreviewScreen-4JjThRQw.js";import{R as ss}from"./ReferralListScreen-iQWpMF4X.js";import"./recharts-CEhf2Gm_.js";import"./analytics-C839ALjG.js";import"./plaid-s-fzmMlM.js";import"./dnd-DTt7nnqm.js";import"./stripe-DMRn4zHo.js";import"./lottie-D6l1SNxh.js";import"./lexical-BDIjEa69.js";import"./pdf-B7aBqR_B.js";import"./utils-BqFxyIYL.js";import"./TransactionDetailScreen-BMeJP7Bk.js";import"./decodeURIComponentSafe-BQyheK0C.js";import"./MobileAppDrawer-DeAmBX6B.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="f23c219b-3ed9-4d31-9845-1a6b60fc42bc",e._sentryDebugIdIdentifier="sentry-dbid-f23c219b-3ed9-4d31-9845-1a6b60fc42bc")}catch{}})();const rs=La(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=k(I=>I.tenantState.currentTenantId),c=k(I=>L(I)),{tenantEmailDomain:m}=K(),g=H(),C=c?.companyName??"",u={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},l=b.useMemo(()=>({authParams:u,companyName:C,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()}),[]),h=b.useMemo(()=>r!=null?ia(r):xe(),[r]),p=$(),f=W(),S=k(I=>Pn(I,h,o)),E=b.useCallback(()=>{o!=null&&S.fetchState!=="In-Progress"&&S.fetchState!=="Completed"&&p(On(o,h))},[h]),v=b.useCallback(()=>{f("../../",{relative:"path"})},[]),_=b.useCallback((I,U)=>{p(Kt({sortKey:I,sortOrder:U}))},[]),x=b.useCallback(I=>{p(Kt({downloadState:I}))},[]),D=b.useCallback(I=>{if(e)e(I.transactionId,I.transactionType);else if(m!=null){const U=Ga({id:I.transactionId,type:I.transactionType},m);f(U);const ne=w(g.state?.pathnameStackToGoBack,g.pathname);f(U,{state:{pathnameStackToGoBack:ne}})}},[m,e]),y=b.useCallback(()=>{S.vendor!=null&&T.trackApAgingDetail("AP Aging",h.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),S.vendor.id,S.vendor.name)},[S.vendor,h]);return b.useEffect(()=>{E()},[]),b.useEffect(()=>{S.fetchState==="Completed"&&y()},[y,S.fetchState]),d.jsx(Mo,{apAgingDetail:S,downloadParams:l,reportDate:h,analytics:T,onTransactionClick:D,onReload:E,onBackClick:v,onColumnSortConfigChanged:_,updateDownloadStateHandler:x,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),is=()=>{const e=$(),a=W(),t=k(_=>Fn(_)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AP Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=k(_=>_.tenantState.currentTenantId),i=k(_=>L(_)),c=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},g=b.useMemo(()=>({authParams:m,companyName:c,downloadEndPoint:`${te}/agingReport`,timezone:We()}),[]),C=t.apAgingUIState.selectedDate??xe(),u=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(Ct(C))},[]);b.useEffect(()=>{u()},[]);const l=b.useCallback(()=>{a("../",{relative:"path"})},[]),h=b.useCallback(_=>{e(Ze({searchString:_}))},[]),p=b.useCallback((_,x)=>{e(Ze({sortKey:x,sortOrder:_}))},[]),f=b.useCallback(_=>{a(`./${_}/${C.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[C]),S=b.useCallback(_=>{e(Ze({downloadState:_}))},[]),E=b.useCallback((_,x)=>{},[]),v=b.useCallback((_,x)=>{e(Ze({selectedDate:_,agingDateSelectionType:x})),e(Ct(_))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ve,{analytics:T,onLoad:_=>_.trackPageLoaded(Y.Event.agingReport,"AP Aging")}):null,d.jsx(Da,{uiState:t.apAgingUIState,report:t,downloadParams:g,analytics:T,onReloadReport:u,onBackClick:l,onSearchTextChange:h,onSortOrderChange:p,onEntityNameClick:f,updateDownloadStateHandler:S,onSelectedDateChanged:v,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},cs=La(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=k(y=>L(y)),{tenantEmailDomain:c}=K(),m=H(),g=i.companyName,C={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},u=b.useMemo(()=>({authParams:C,companyName:g,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()}),[]),l=b.useMemo(()=>r!=null?ia(r):xe(),[r]),h=$(),p=W(),f=k(y=>Rn(y,l,o)),S=b.useCallback(()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&h(Bn(o,l))},[l]),E=b.useCallback(()=>{p("../../",{relative:"path"})},[]),v=b.useCallback((y,I)=>{h(qt({sortKey:y,sortOrder:I}))},[]),_=b.useCallback(y=>{h(qt({downloadState:y}))},[]),x=b.useCallback(y=>{if(e)e(y.transactionId,y.transactionType);else if(c!=null){const I=Ga({id:y.transactionId,type:y.transactionType},c);p(I);const U=w(m.state?.pathnameStackToGoBack,m.pathname);p(I,{state:{pathnameStackToGoBack:U}})}},[c,e]),D=b.useCallback(()=>{f.customer!=null&&T.trackArAgingDetail("AR Aging",l.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.customer.id,f.customer.name)},[f.customer,l]);return b.useEffect(()=>{S()},[]),b.useEffect(()=>{f.fetchState==="Completed"&&D()},[f.fetchState,D]),d.jsx(Uo,{arAgingDetail:f,downloadParams:u,reportDate:l,analytics:T,onTransactionClick:x,onReload:S,onBackClick:E,onColumnSortConfigChanged:v,updateDownloadStateHandler:_,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),ls=()=>{const e=$(),a=W(),t=k(v=>jn(v)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AR Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=k(v=>L(v)),i=s.companyName,c={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo(()=>({authParams:c,companyName:i,downloadEndPoint:`${te}/agingReport`,timezone:We()}),[]),g=t.arAgingUIState.selectedDate??xe(),C=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(_t(g))},[]);b.useEffect(()=>{C()},[]);const u=b.useCallback(()=>{a("../",{relative:"path"})},[]),l=b.useCallback(v=>{e(Qe({searchString:v}))},[]),h=b.useCallback((v,_)=>{e(Qe({sortKey:_,sortOrder:v}))},[]),p=b.useCallback(v=>{a(`./${v}/${g.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[g]),f=b.useCallback(v=>{e(Qe({downloadState:v}))},[]),S=b.useCallback((v,_)=>{e(Qe({selectedDate:v,agingDateSelectionType:_})),e(_t(v))},[]),E=b.useCallback((v,_)=>{e(Mn({nodeId:v,isCollapsed:_}))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ve,{analytics:T,onLoad:v=>v.trackPageLoaded(Y.Event.agingReport,"AR Aging")}):null,d.jsx(Da,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:T,onReloadReport:C,onBackClick:u,onSearchTextChange:l,onSortOrderChange:h,onEntityNameClick:p,updateDownloadStateHandler:f,onSelectedDateChanged:S,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Ya=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function Na(e,a){const t=Gn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=Pe(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Vn(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?T.trackZeniAccountsCashBalancePromoClicked("Move Money"):(T.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else T.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const ds=ee(function(e){const a=Un(e).accountsInOrder.map((n,o)=>Ya(n,o)),t=Ln(e);return{sectionTitle:q.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:T}},Na)(Pa),us=ee(function(e){const a=Yn(e).accountsInOrder.map((o,r)=>Ya(o,r)),t=M.getSignedInUser(),n=Xe(t);return{sectionTitle:q.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:T}},Na)(Pa);function ms(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=ke(),o=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1),r=yt(n?.loggedInUserRoleMap);return k(s=>s.cashBalanceState.fetchState)==="Error"?d.jsx(je,{}):d.jsx(ds,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function ps(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=ke(),o=yt(n?.loggedInUserRoleMap),r=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1);return k(s=>s.cardBalanceState.fetchState)==="Error"?d.jsx(je,{}):d.jsx(us,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const hs=Dt.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex: 1 1 auto;
|
|
4
4
|
min-height: 100%;
|