@zeniai/web-app-ui 5.1.61-qa → 5.1.62-qa

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.
Files changed (136) hide show
  1. package/dist/assets/AddressRoutes-CZL5IIDj.js +1 -0
  2. package/dist/assets/AddressScreen-CxOVTdB3.js +9 -0
  3. package/dist/assets/{AiCfoScreen-It5Iqwvu.js → AiCfoScreen-Ufyr17L2.js} +2 -2
  4. package/dist/assets/{BillPayApprovalRoutes-BzW0b3Z-.js → BillPayApprovalRoutes-COMjZNBM.js} +1 -1
  5. package/dist/assets/{BillPayRoutes-BM10Ap-2.js → BillPayRoutes-ycYrxG7k.js} +9 -9
  6. package/dist/assets/{BusinessVerificationPageScreen-tq2Pq8-k.js → BusinessVerificationPageScreen-BSOfMkHj.js} +2 -2
  7. package/dist/assets/CardsAiCfoScreen-BofarOgC.js +14 -0
  8. package/dist/assets/{ChargeCardRoutes-BKpbGgWX.js → ChargeCardRoutes-iiwF-L1o.js} +11 -11
  9. package/dist/assets/CompanyPassportScreen-N6HtNLO2.js +1 -0
  10. package/dist/assets/ConnectionAuthScreen-GiDrTcJ9.js +11 -0
  11. package/dist/assets/CustomerOnboardingAuthScreen-CIo2QvBW.js +1 -0
  12. package/dist/assets/{CustomerOnboardingRoutes-DC4e3Ogu.js → CustomerOnboardingRoutes-C39jSTCn.js} +4 -4
  13. package/dist/assets/{DashboardRoutes-BpHU2Qkf.js → DashboardRoutes-dFcQ-Udv.js} +3 -3
  14. package/dist/assets/{DefaultTenantHome-TmE6YsRf.js → DefaultTenantHome-CiIQC--y.js} +1 -1
  15. package/dist/assets/DomesticWireDetailScreen-Cv3GFhdJ.js +18 -0
  16. package/dist/assets/DrawerScreen-Dz_Ifi-A.js +1 -0
  17. package/dist/assets/EntityDetailRoutes-CGqc-n2O.js +1 -0
  18. package/dist/assets/{ExpenseAutomationRoutes-CGrxhlUE.js → ExpenseAutomationRoutes-iUGrHrmT.js} +4 -4
  19. package/dist/assets/FeaturePreviewScreen-CdQFs282.js +1 -0
  20. package/dist/assets/HubSpotOAuthCallbackScreen-Crp8q0ZQ.js +1 -0
  21. package/dist/assets/MagicLinkRoutes-BPzX2NJX.js +72 -0
  22. package/dist/assets/MagicLinkSignInScreen-BoA-7inn.js +12 -0
  23. package/dist/assets/MobileAppDrawer-cGG4tefr.js +1 -0
  24. package/dist/assets/NotFoundScreen-DmxmtGfC.js +1 -0
  25. package/dist/assets/NotificationRoutes-DRjXwQc4.js +1 -0
  26. package/dist/assets/{OAuthConsentScreen-DXJTz5MU.js → OAuthConsentScreen-HR6-AToH.js} +1 -1
  27. package/dist/assets/PandLWithForecastRoutes-COEiLMeU.js +1 -0
  28. package/dist/assets/{PeopleRoutes-DM0B31yg.js → PeopleRoutes-CQ7KgSTF.js} +4 -4
  29. package/dist/assets/{PerformanceRoutes-yT4nKfMt.js → PerformanceRoutes-CUptxU2M.js} +1 -1
  30. package/dist/assets/{Preview-DgYvT3D-.js → Preview-lrK4F27Y.js} +1 -1
  31. package/dist/assets/{QBOConnectionScreen-Dxk5EKMF.js → QBOConnectionScreen-MiEEvzBf.js} +1 -1
  32. package/dist/assets/ReferralListScreen-BqOgHlgl.js +5 -0
  33. package/dist/assets/ReimbursementApprovalRoutes-CuEZag2r.js +1 -0
  34. package/dist/assets/{ReimbursementApprovalRuleDetailScreen-Btjx5v4l.js → ReimbursementApprovalRuleDetailScreen-DSLe2MhL.js} +1 -1
  35. package/dist/assets/{ReimbursementRoutes-CLjD-rz3.js → ReimbursementRoutes--RsJPCEP.js} +11 -11
  36. package/dist/assets/{ReportsRoutes-DIvKwgKT.js → ReportsRoutes-uT5eAJf1.js} +1 -1
  37. package/dist/assets/RewardsRoutes-DNPQGfAV.js +1 -0
  38. package/dist/assets/ScreenRoutes-BEMAKpuY.js +2 -0
  39. package/dist/assets/{SettingsRoutes-CwZJeFhH.js → SettingsRoutes-DqieIzNx.js} +8 -8
  40. package/dist/assets/{SetupPagesScreen-DHP6inkV.js → SetupPagesScreen-Pz567UQO.js} +5 -5
  41. package/dist/assets/SignInScreen-DPJ9eMik.js +1 -0
  42. package/dist/assets/SignOutScreen-BmbWt3Pd.js +9 -0
  43. package/dist/assets/TaskListScreen-Chd2rxBe.js +9 -0
  44. package/dist/assets/TaskRoutes-DXfXoaYF.js +9 -0
  45. package/dist/assets/{TransactionDetailRoutes-DWs1Egcj.js → TransactionDetailRoutes-Dko7BvP2.js} +1 -1
  46. package/dist/assets/{TransactionDetailScreen-BbsGsqi_.js → TransactionDetailScreen-B7KMTXiT.js} +2 -2
  47. package/dist/assets/{TransactionListRoutes-Co9duxwX.js → TransactionListRoutes-MalhqO-o.js} +1 -1
  48. package/dist/assets/TreasuryRoutes-BJIzvR2Q.js +37 -0
  49. package/dist/assets/{VendorsRoutes-puD2Dgk7.js → VendorsRoutes-45nX3W2c.js} +23 -23
  50. package/dist/assets/WiseConfirmationScreen-CWe-skzP.js +12 -0
  51. package/dist/assets/{ZeniAccountRoutes-CbulRVVe.js → ZeniAccountRoutes-DWsFxkzK.js} +11 -11
  52. package/dist/assets/ZeniAccountStatementScreen-BqtUjZCP.js +9 -0
  53. package/dist/assets/{accountMappingHelper-BPz1owqi.js → accountMappingHelper-CSvCSQoY.js} +1 -1
  54. package/dist/assets/{analytics-C-A3qVJh.js → analytics-DCrhd8oB.js} +1 -1
  55. package/dist/assets/{analyticsHelper-CewoJ3Hu.js → analyticsHelper-MomIUc09.js} +1 -1
  56. package/dist/assets/{core-SRRzy8qJ.js → core-DmAftQ4g.js} +1 -1
  57. package/dist/assets/{decodeURIComponentSafe-Bz-26BXW.js → decodeURIComponentSafe-C70tsXnj.js} +1 -1
  58. package/dist/assets/{dnd-CR8sMRK3.js → dnd-3F1D24DQ.js} +1 -1
  59. package/dist/assets/{empty-BjaZv87n.js → empty-B3YzB_Zh.js} +1 -1
  60. package/dist/assets/{empty-Btqk4ZK3.js → empty-CDCfsLV4.js} +1 -1
  61. package/dist/assets/{emptyVideoElement-CcSCePHi.js → emptyVideoElement-CFNhZ55F.js} +1 -1
  62. package/dist/assets/epic-Bmb0p0Me.js +2 -0
  63. package/dist/assets/getLocaleForTenant-DBZLLRpQ.js +1 -0
  64. package/dist/assets/{index-CejiZfG4.js → index-B2dyNLwa.js} +1 -1
  65. package/dist/assets/{index-JPErnqsm.js → index-BJ17Ijlb.js} +2 -2
  66. package/dist/assets/{index-CxtVVz4g.js → index-BTn1WqO7.js} +1 -1
  67. package/dist/assets/{index-CEFX9nem.js → index-BpGaPboJ.js} +1 -1
  68. package/dist/assets/{index-BnX1nS7p.js → index-BsmcHa9A.js} +13159 -13147
  69. package/dist/assets/{index-rTYnRLvf.js → index-DPrh5XVZ.js} +1 -1
  70. package/dist/assets/{index-6PBzTIZ2.js → index-DniSRtks.js} +1 -1
  71. package/dist/assets/{index-DiKyQs4W.js → index-EyTFjAAZ.js} +1 -1
  72. package/dist/assets/{lexical-qJrDnJMV.js → lexical-PVlNGkpS.js} +1 -1
  73. package/dist/assets/{liveblocks-DS8sOLD1.js → liveblocks-evjZPqs_.js} +1 -1
  74. package/dist/assets/{lottie-Coq2aDEW.js → lottie-CmTLY-9t.js} +1 -1
  75. package/dist/assets/{mui-DQ-jfgFM.js → mui-PcDpEhsm.js} +1 -1
  76. package/dist/assets/{pathToGoBack-BmSmVqnZ.js → pathToGoBack-Dt8AwbCr.js} +1 -1
  77. package/dist/assets/{pdf-D2Xq7623.js → pdf-CbXlPYUs.js} +4 -4
  78. package/dist/assets/{pdf-lib-fB9Fkl6A.js → pdf-lib-CU5FhbnZ.js} +1 -1
  79. package/dist/assets/{plaid-DWZgMqW3.js → plaid-DSnXUEUK.js} +1 -1
  80. package/dist/assets/{pusher-Xj81uOBz.js → pusher-Cwyg5VVV.js} +1 -1
  81. package/dist/assets/{react-eGjCUI9Z.js → react-CDqmK3AW.js} +1 -1
  82. package/dist/assets/{react-BlqDZveQ.js → react-CJ1HWQ69.js} +1 -1
  83. package/dist/assets/{react-CgdBA-iC.js → react-CY1ZQ6op.js} +1 -1
  84. package/dist/assets/{react-DRyTZBkZ.js → react-Cf5hLxOq.js} +1 -1
  85. package/dist/assets/{react-DyXk5i5q.js → react-EoTfQhVb.js} +1 -1
  86. package/dist/assets/{react-DrjKWElm.js → react-ymB_cbpE.js} +1 -1
  87. package/dist/assets/{recharts-CHATJmXy.js → recharts-CgEqsrFw.js} +1 -1
  88. package/dist/assets/routePaths-ieN8hn7m.js +1 -0
  89. package/dist/assets/{sentry-B2Aew07S.js → sentry-CCZGmBkl.js} +1 -1
  90. package/dist/assets/{url-BOKPP8B2.js → url-9kg5cual.js} +1 -1
  91. package/dist/assets/{url-BfvldWlU.js → url-BKaTO14S.js} +1 -1
  92. package/dist/assets/{useAiCfoDashboardSuggestedQuestionsChips-DiiAXpvy.js → useAiCfoDashboardSuggestedQuestionsChips-Ber5T8-o.js} +1 -1
  93. package/dist/assets/{useAskAiCfoHostNavButtonProps-RYFll1PC.js → useAskAiCfoHostNavButtonProps-5Ek-t3F9.js} +1 -1
  94. package/dist/assets/useCashManagementBanner-B0ma2Yzx.js +1 -0
  95. package/dist/assets/{useChargeCardPusherEvents-iVaYEDl9.js → useChargeCardPusherEvents-RkbvNufi.js} +1 -1
  96. package/dist/assets/{useDeviceId-obtSvxuy.js → useDeviceId-DGJPBja9.js} +1 -1
  97. package/dist/assets/useEmailConnectResultRefresh-CiHOFzmr.js +1 -0
  98. package/dist/assets/{useInitialThreadRequest-8loDIspA.js → useInitialThreadRequest-Dr9FuJUY.js} +1 -1
  99. package/dist/assets/{utils-D8kKiFqT.js → utils--mWNe9J7.js} +1 -1
  100. package/dist/assets/{withTransactionSidePanel-CpddR0Hs.js → withTransactionSidePanel-C15NQsNY.js} +2 -2
  101. package/dist/assets/{zeni-epic-state-DcKqCCCg.js → zeni-epic-state-vtQ66nN6.js} +6 -6
  102. package/dist/index.html +1 -1
  103. package/package.json +3 -3
  104. package/dist/assets/AddressRoutes-DYu6X0mE.js +0 -1
  105. package/dist/assets/AddressScreen-DmitYkw7.js +0 -9
  106. package/dist/assets/CardsAiCfoScreen-DWCPoMx2.js +0 -14
  107. package/dist/assets/CompanyPassportScreen-CdbgEPbH.js +0 -1
  108. package/dist/assets/ConnectionAuthScreen-B6ApFE5A.js +0 -11
  109. package/dist/assets/CustomerOnboardingAuthScreen-BC6kPGo0.js +0 -1
  110. package/dist/assets/DomesticWireDetailScreen-Bg4mE0II.js +0 -18
  111. package/dist/assets/DrawerScreen-Q_Fkogtz.js +0 -1
  112. package/dist/assets/EntityDetailRoutes-FVCOQ4xF.js +0 -1
  113. package/dist/assets/FeaturePreviewScreen-D35UAPet.js +0 -1
  114. package/dist/assets/HubSpotOAuthCallbackScreen-CqLWzeL5.js +0 -1
  115. package/dist/assets/MagicLinkRoutes-Cy9sY1KO.js +0 -72
  116. package/dist/assets/MagicLinkSignInScreen-CTQVJ1D1.js +0 -12
  117. package/dist/assets/MobileAppDrawer-DChLZMjE.js +0 -1
  118. package/dist/assets/NotFoundScreen-DRRoMVDk.js +0 -1
  119. package/dist/assets/NotificationRoutes-DC-UVqrq.js +0 -1
  120. package/dist/assets/PandLWithForecastRoutes-DtN54cOv.js +0 -1
  121. package/dist/assets/ReferralListScreen-DoZyTHjO.js +0 -5
  122. package/dist/assets/ReimbursementApprovalRoutes-AEJXMIeN.js +0 -1
  123. package/dist/assets/RewardsRoutes-B_SjWYxl.js +0 -1
  124. package/dist/assets/ScreenRoutes-DrzMUCeq.js +0 -2
  125. package/dist/assets/SignInScreen-B5h77NMY.js +0 -1
  126. package/dist/assets/SignOutScreen-MsTaSP0q.js +0 -9
  127. package/dist/assets/TaskListScreen-BDTDGrzi.js +0 -9
  128. package/dist/assets/TaskRoutes-CNamnrYQ.js +0 -9
  129. package/dist/assets/TreasuryRoutes-B_Dv4GZ7.js +0 -37
  130. package/dist/assets/WiseConfirmationScreen-DAi_rrl_.js +0 -12
  131. package/dist/assets/ZeniAccountStatementScreen-DbJvbotJ.js +0 -9
  132. package/dist/assets/epic-DDYIjE2A.js +0 -2
  133. package/dist/assets/getLocaleForTenant-DHWNDQcY.js +0 -1
  134. package/dist/assets/routePaths-DyfF54Mg.js +0 -1
  135. package/dist/assets/useCashManagementBanner-DeSZsTvv.js +0 -1
  136. package/dist/assets/useEmailConnectResultRefresh-DEaO6bJX.js +0 -1
@@ -1,9 +1,9 @@
1
- import{j as c}from"./liveblocks-DS8sOLD1.js";import{h as de,g as Ce,i as Me,u as pe,j as o,N as ba,s as Dt,n as De,t as In,o as es,p as se}from"./core-SRRzy8qJ.js";import{bt as Pe,RQ as as,RR as ts,eX as un,RS as kn,f4 as En,RT as An,RU as Dn,RV as _n,RW as Pn,f5 as wn,f6 as vn,RX as Tn,fg as Fn,fh as $a,RY as xn,RZ as ns,fa as rs,f9 as ss,R_ as cs,B_ as Bn,fj as ca,R$ as os,S0 as is,eZ as ds,eY as ls,fv as ze,fc as Rn,fb as Ln,S1 as us,fd as ms,Bv as Cs,Bu as ps,By as hs,BA as fs,fo as gs,eU as Un,S2 as Ss,S3 as bs,ft as On,S4 as ys,fu as bt,BG as Is,BD as ks,eV as fe,S5 as Qa,fy as we,fz as ve,fA as Te,gt as oa,cv as ia,S6 as da,S7 as _t,uN as za,kC as Ya,S8 as Za,Ce as ka,Cg as Qe,Ch as Pt,ks as jn,S9 as la,C2 as _a,Sa as Es,Sb as As,C5 as Ja,Sc as Ds,Qb as Xa,ff as Mn,Cb as ga,hS as _s,Sd as Nn,Se as ua,bo as Ps,Sf as ws,ge as et,gd as at,CL as vs,gc as tt,PT as Ts,Sg as Vn,co as Hn,cQ as Fs,Qa as wa,Dk as Gn,Sh as mn,CW as Pa,Si as $n,Dl as xs,QA as Bs,Dm as Rs,Er as Ls,u8 as Us,El as Os,Sj as js,Cf as ra,Sk as Ms,Sl as Ns,Sm as Vs,Sn as Hs,So as Gs,Sp as wt,Sq as $s,Cw as zn,Cp as zs,Sr as Ys,gv as Zs,CF as Yn,CJ as Zn,gu as Ks,Ss as Ws,D6 as Kn,St as qs,Su as Qs,Sv as Js,CH as Wn,Cs as qn,C8 as Qn,CB as Jn,Cz as Xn,CD as Xs,Sw as er,Sx as ec,fq as ac,fr as tc,fs as nc,Sy as nt,fk as ar,cR as vt,Sz as rc,SA as sc,SB as cc,SC as oc,CR as yt,Dd as ic,D9 as dc,CN as lc,Db as uc,D1 as mc,D3 as Cc,SD as tr,Dj as Ga,Ka as pc,SE as hc,SF as fc,SG as gc,SH as nr,SI as Sc,DG as bc,CV as rr,CQ as je,CU as yc,SJ as Ic,SK as kc,B$ as Ec,SL as sr,fe as cr,SM as Ac,C1 as Dc,C0 as Cn,SN as _c,SO as Pc,SP as wc,MH as vc,SQ as Tt,SR as Tc,xN as or,la as Fc,hI as xc,DL as Bc,SS as ir,f1 as Rc,f2 as Lc,ST as Uc,dh as Oc,fi as jc,DB as Mc,Dv as qe,bs as Nc,bJ as Vc,cA as Hc,bK as Gc,LU as $c}from"./zeni-epic-state-DcKqCCCg.js";import{I as Fe,cp as dr,k as _e,cq as lr,cr as ur,cs as zc,a as Xe,Z as Ft,ct as Yc,cu as Zc,Q as mr,c as Cr,X as pr,s as ye,W as le,U as K,ar as ya,cv as hr,cw as Kc,cx as Wc,z as re,w as va,ce as rt,cy as qc,cz as Qc,cA as Jc,q as Ta,aQ as Ye,br as xt,cB as Xc,y as Fa,i as st,m as Bt,d as J,a7 as ct,cC as eo,bE as Sa,cD as It,cE as ao,x as Rt,cF as to,au as fr,a2 as kt,cG as no,V as gr,f as Sr,cH as ro,cI as so,cJ as co,cK as oo,cL as io,cM as lo,o as Ka,cN as uo,cO as mo,cP as pt,$ as Co,cQ as po,cR as ho,cS as fo,cT as go,cU as So,a9 as bo}from"./index-BnX1nS7p.js";import{n as Ne,D as br,S as yo}from"./mui-DQ-jfgFM.js";import{a as r}from"./sentry-B2Aew07S.js";import{u as xa}from"./useAskAiCfoHostNavButtonProps-RYFll1PC.js";import{M as Ie}from"./MobileAppDrawer-DChLZMjE.js";import{d as Lt}from"./recharts-CHATJmXy.js";import{g as Ae,a as Ba,b as yr,c as xe,d as Be,e as Je,f as ea,h as aa,A as Io,i as Ut,P as ko,j as Ot,s as Ia,k as Ir,l as sa,m as kr,n as Eo,o as Er,p as Ao,S as pn}from"./SetupPagesScreen-DHP6inkV.js";import{u as Ar}from"./useInitialThreadRequest-8loDIspA.js";import ot from"./NotFoundScreen-DRRoMVDk.js";import{u as jt}from"./useChargeCardPusherEvents-iVaYEDl9.js";import{n as hn}from"./utils-D8kKiFqT.js";import{t as Do}from"./AddressScreen-DmitYkw7.js";import"./analytics-C-A3qVJh.js";import"./plaid-DWZgMqW3.js";import"./dnd-CR8sMRK3.js";import"./stripe-DMRn4zHo.js";import"./lottie-Coq2aDEW.js";import"./lexical-qJrDnJMV.js";import"./pdf-D2Xq7623.js";import"./analyticsHelper-CewoJ3Hu.js";import"./routePaths-DyfF54Mg.js";import"./BusinessVerificationPageScreen-tq2Pq8-k.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]="a5636aca-02b8-4823-96dc-0cc560dadd01",e._sentryDebugIdIdentifier="sentry-dbid-a5636aca-02b8-4823-96dc-0cc560dadd01")}catch{}})();const _o=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}},Dr=e=>({id:e.id,isChecked:!1,cardName:e.cardName,last4:e.accountLast4,limitAmount:e.limit?.amount??0,limitCadence:e.creditLimitFrequency?.code,owner:_o(e),utilizationAmount:(e.limit?.amount??0)-(e.available?.amount??0)}),{spendManagement:{chargeCard:{cardPolicyPage:fn}}}=Xe.getLocalizedStrings(),Po=e=>Rn(e,!1),wo=e=>Ln(e.name,!1);function vo(){const e=de(),n=Ce(),{tenantEmailDomain:t}=Me(),a=pe(),s=Fe(),y=Pe(s?.loggedInUserRoleMap),[f,S]=r.useState(!1),w=r.useCallback(P=>{S(P)},[]),l=r.useCallback(()=>{w(!0)},[w]),{isAiCfoAccessEnabled:m,onAskAiCfoClick:R}=xa({mobileExploreReferrer:"Card Policy"});r.useEffect(()=>()=>{a(as()),a(ts()),a(un())},[a]);const v=o(P=>kn(P.cardPolicyState)),u=o(P=>En(P.cardPolicyState)),M=o(P=>An(P.cardPolicyState)),x=o(P=>Dn(P.cardPolicyState)),B=o(P=>_n(P.cardPolicyState)),p=o(P=>Pn(P.cardPolicyState)),h=o(P=>wn(P.cardPolicyState)),D=o(P=>vn(P.cardPolicyState)),d=o(P=>Tn(P.cardPolicyState)),_=o(P=>P.chargeCardConfigState.receiptRequiredAboveAmount.amount),k=o(P=>P.chargeCardConfigState.fetchState);r.useEffect(()=>{v!=="Completed"&&v!=="In-Progress"&&a(Fn())},[a,v]),r.useEffect(()=>{D==="Completed"&&d===""||D==="In-Progress"||a($a())},[a,D,d]);const j=o(P=>xn(P.createCardPolicyState)),A=o(P=>ns(P.createCardPolicyState)),I=o(P=>rs(P.cardPolicyState)),L=o(P=>ss(P.cardPolicyState)),i=o(P=>cs(P.createCardPolicyState)),C=o(P=>Bn(P));r.useEffect(()=>{C.fetchState==="Not-Started"&&a(ca(!1,!1,!1))},[C.fetchState,a]);const N=r.useMemo(()=>u.map(Po),[u]),G=r.useMemo(()=>h.map(wo),[h]),U=r.useMemo(()=>C.cards.filter(P=>!dr(P.status.code)).map(Dr),[C.cards]),O=v==="Completed"&&C.fetchState==="Completed"&&k==="Completed";r.useEffect(()=>{O&&i==null&&a(os({cardsMasterList:U,defaultRequireReceiptAmount:_,suggestedAllowMerchants:M,suggestedBlockMerchants:x,suggestedAllowCategories:B,suggestedBlockCategories:p}))},[k,a,O,i,U,_,M,x,B,p]);const z=r.useMemo(()=>Lt(P=>{a($a(P))},250),[a]);r.useEffect(()=>()=>{z.cancel()},[z]);const Y=r.useCallback(P=>{z(P)},[z]),b=j.fetchState,T=t!=null?`/${t}/cards/policy`:"..",Z=r.useCallback(()=>{const P=_e(n.state?.pathnameStackToGoBack),ee=P.poppedPathname??T;e(ee,{state:{pathnameStackToGoBack:P.newStack}})},[n.state,e,T]),q=r.useCallback(()=>{e(T)},[e,T]),E=r.useCallback(P=>{a(is(P))},[a]),V=r.useCallback(P=>{const ee=lr(P);a(ds({templates:[ee]}))},[a]),Q=r.useCallback(P=>{P.length!==0&&a(ls(P))},[a]),X=r.useCallback(()=>{a(un())},[a]),g=r.useRef(b);r.useEffect(()=>{const P=g.current;g.current=b,b==="Completed"&&P!=="Completed"&&A!=null&&(a(ze({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(T))},[a,b,A,e,T]);const F=b==="Error"?j.error?.message??fn.createPolicyGenericErrorMessage:void 0;return y&&t!=null?i==null?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:w}),c.jsx(ur,{showUploadDocumentSection:!0,navBarTitle:fn.createPageTitle,onBackClick:Z,onClickMenuIcon:l,isAiCfoAccessEnabled:m,onAskAiCfoClick:R})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:w}),c.jsx(zc,{formDraft:i,vendorSearchOptions:G,categorySearchOptions:N,isVendorSearchLoading:D==="In-Progress",onVendorSearchTextChange:Y,submitState:b,submitErrorMessage:F,documentUploadState:I,uploadedFileName:L,isAiCfoAccessEnabled:m,onAskAiCfoClick:R,onBackClick:Z,onCancelClick:q,onClickMenuIcon:l,onFormChange:E,onSubmit:V,onUploadDocument:Q,onRemoveDocument:X})]}):c.jsx(ba,{to:"..",replace:!0})}const{spendManagement:{chargeCard:{cardPolicyPage:To}}}=Xe.getLocalizedStrings(),Fo=e=>Rn(e,!1),xo=e=>Ln(e.name,!1);function Bo(){const e=de(),n=Ce(),{tenantEmailDomain:t,templateId:a}=Me(),s=pe(),y=Fe(),f=Pe(y?.loggedInUserRoleMap),[S,w]=r.useState(!1),l=r.useCallback(F=>{w(F)},[]),m=r.useCallback(()=>{l(!0)},[l]),{isAiCfoAccessEnabled:R,onAskAiCfoClick:v}=xa({mobileExploreReferrer:"Card Policy"}),u=o(F=>us(F)),M=o(F=>kn(F.cardPolicyState)),x=o(F=>En(F.cardPolicyState)),B=o(F=>An(F.cardPolicyState)),p=o(F=>Dn(F.cardPolicyState)),h=o(F=>_n(F.cardPolicyState)),D=o(F=>Pn(F.cardPolicyState)),d=o(F=>wn(F.cardPolicyState)),_=o(F=>vn(F.cardPolicyState)),k=o(F=>Tn(F.cardPolicyState)),j=o(F=>Bn(F)),A=o(F=>a!=null?ms(F.cardPolicyState,a):void 0),I=r.useMemo(()=>u.templateId===a&&u.formDraft!=null?u.formDraft:A!=null?Cs(A):void 0,[u.templateId,u.formDraft,A,a]);r.useEffect(()=>{if(a==null)return;const F=u.detailFetchState.fetchState;u.templateId===a&&(F==="Completed"||F==="In-Progress")||A!=null||s(ps(a))},[s,a,u.templateId,u.detailFetchState.fetchState,A]),r.useEffect(()=>{M!=="Completed"&&M!=="In-Progress"&&s(Fn())},[s,M]),r.useEffect(()=>{_==="Completed"&&k===""||_==="In-Progress"||s($a())},[s,_,k]);const L=o(F=>F.chargeCardConfigState.receiptRequiredAboveAmount.amount);r.useEffect(()=>{j.fetchState==="Not-Started"&&s(ca(!1,!1,!1))},[j.fetchState,s]);const i=r.useMemo(()=>x.map(Fo),[x]),C=r.useMemo(()=>d.map(xo),[d]),N=r.useMemo(()=>j.cards.filter(F=>!dr(F.status.code)).map(Dr),[j.cards]);Ft({isDataReady:I!=null});const G=r.useMemo(()=>{if(I!=null)return Yc({draft:I,cardRows:N,categorySearchOptions:i,vendorSearchOptions:C,defaultRequireReceiptAmount:L,suggestedAllowMerchants:B,suggestedBlockMerchants:p,suggestedAllowCategories:h,suggestedBlockCategories:D})},[I,N,i,C,L,B,p,h,D]),[U,O]=r.useState(void 0),z=r.useRef(!1);r.useEffect(()=>{z.current||U!=null||G==null||(z.current=!0,O(G))},[U,G]);const Y=r.useCallback(F=>{O(F)},[]),b=r.useMemo(()=>Lt(F=>{s($a(F))},250),[s]);r.useEffect(()=>()=>{b.cancel()},[b]);const T=r.useCallback(F=>{b(F)},[b]),Z=u.updateFetchState.fetchState,q=t!=null?`/${t}/cards/policy`:"..",E=r.useCallback(()=>{const F=_e(n.state?.pathnameStackToGoBack),P=F.poppedPathname??q;e(P,{state:{pathnameStackToGoBack:F.newStack}})},[n.state,e,q]),V=r.useCallback(()=>{e(q)},[e,q]),Q=r.useCallback(F=>{if(a==null)return;const P=lr(F);s(hs(P)),s(fs(a))},[s,a]),X=r.useRef(Z);r.useEffect(()=>{const F=X.current;X.current=Z,Z==="Completed"&&F!=="Completed"&&(s(ze({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(q))},[s,Z,e,q]);const g=Z==="Error"?u.updateFetchState.error?.message??To.updatePolicyGenericErrorMessage:void 0;return!f||t==null||a==null?c.jsx(ba,{to:"..",replace:!0}):U!=null&&M==="Completed"&&j.fetchState==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:l}),c.jsx(Zc,{templateName:u.template?.name??"",formDraft:U,vendorSearchOptions:C,categorySearchOptions:i,isVendorSearchLoading:_==="In-Progress",onVendorSearchTextChange:T,submitState:Z,submitErrorMessage:g,isAiCfoAccessEnabled:R,onAskAiCfoClick:v,onBackClick:E,onCancelClick:V,onClickMenuIcon:m,onFormChange:Y,onSubmit:Q})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:l}),c.jsx(ur,{showUploadDocumentSection:!1,navBarTitle:u.template?.name,onBackClick:E,onClickMenuIcon:m,isAiCfoAccessEnabled:R,onAskAiCfoClick:v})]})}function _r(e,n,t){return n?e.filter(a=>a!=null&&a.trim().length>0).slice(0,t):[]}function Pr(e){return o(n=>e==null||e===""?{chips:ht,isResolved:!1}:function(t){const a=t?.fetchState,s=a==="Completed"||a==="Error";return{chips:a==="Completed"?t?.suggestedQuestions??ht:ht,isResolved:s}}(gs(n,e)),Dt)}const ht=[],{spendManagement:{chargeCard:{cardPolicyAiCfoHero:{headline:Ro,subheadline:Lo,pageTitle:Uo}}}}=Xe.getLocalizedStrings(),Oo=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 jo(){const e=de(),n=Ce(),{tenantEmailDomain:t}=Me(),a=pe(),s=Fe(),y=Pe(s?.loggedInUserRoleMap),[f,S]=r.useState(!1),w=r.useCallback(b=>{S(b)},[]),l=r.useCallback(()=>{w(!0)},[w]),{useFeatureGate:m}=le(),{isFeatureEnabled:R}=m(K.isAiCfoFileUploadEnabled),{isFeatureEnabled:v}=m(K.isCardPolicyEnabled),{isAiCfoAccessEnabled:u,onAskAiCfoClick:M}=xa({mobileExploreReferrer:"Card Policy"}),x=o(b=>Ss(b)),B=o(b=>xn(b.createCardPolicyState)),p=o(b=>bs(b.createCardPolicyState)),h=o(b=>p==null?[]:On(b.aiCfoState,p).filter(T=>T.kind==="creating_policy"),Dt),D=B.fetchState==="In-Progress"?Math.max(h.length,1):0,d=o(b=>ys(b.createCardPolicyState)),_=ya(B.fetchState);r.useEffect(()=>{if(_==="In-Progress"&&B.fetchState==="Completed"&&p!=null)h.forEach(b=>{a(bt({chatSessionId:p,id:b.id,entityIds:d,kind:"created_policy"}))});else if(_==="In-Progress"&&B.fetchState==="Error"&&p!=null){h.forEach(T=>{a(bt({chatSessionId:p,id:T.id,kind:"errored_policy"}))});const b=B.error?.message!=null&&B.error.message.length>0?B.error.message:Xe.getLocalizedStrings().common.errorMessage.somethingWentWrongPleaseTryAgain;a(ze({messageSection:"card_policy_created",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:b}]}))}},[B.error?.message,B.fetchState,a,p,d,h,_]);const k=x.fetchState.fetchState;r.useEffect(()=>{k!=="Not-Started"&&k!=="Error"||a(Is())},[a,k]);const j=x.archiveFetchState.fetchState,A=ya(j);r.useEffect(()=>{A==="In-Progress"&&j==="Completed"&&a(ze({messageSection:"card_policy_deleted",messageText:"success",type:"success"}))},[j,a,A]);const I=r.useMemo(()=>x.templates.map(Oo),[x.templates]);Ft({isDataReady:x.fetchState.fetchState==="Completed"});const L=I.length>0||D>0,i=function(b){const{hasAnyPolicies:T,isChargeCardAdmin:Z,isFileUploadEnabled:q}=b,E=de(),V=Ce(),{tenantEmailDomain:Q}=Me(),{isAiCfoOpen:X,setIsAiCfoOpen:g}=mr(),F=Cr(),P=pr(),ee=o(ce=>Un(ce)).createSessionAndSubmitState.fetchState==="In-Progress",{chips:W,isResolved:ke}=Pr("card_policy"),Se=r.useMemo(()=>_r(W,ke,3),[W,ke]),[ge,ae]=r.useState(""),ue=P&&F&&Q!=null&&!X,oe=r.useCallback(ce=>{if(Q==null)return;const Ea=ye(V.state?.pathnameStackToGoBack,V.pathname);E(`/${Q}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Ea,referrer:"card_policy_hero",aiCfoInitialQuestion:ce,aiCfoShouldSubmit:ce!=null&&ce.trim().length>0}})},[V.pathname,V.state,E,Q]),te=r.useCallback(ce=>{ce.trim().length!==0&&(ae(""),oe(ce))},[oe]),Ze=r.useCallback(()=>{const ce=ge.trim();ce.length!==0&&(ae(""),oe(ce))},[ge,oe]),Ee=r.useCallback(()=>{},[]),ne=r.useCallback(ce=>{ae(ce)},[]),Ke=r.useCallback(()=>{g(!0)},[g]),Re=r.useCallback(()=>{oe(void 0)},[oe]);return r.useMemo(()=>{if(ue&&!T&&Z)return{aiAgentName:Uo,headline:Ro,subheadline:Lo,promptChips:Se,composer:{currentInput:ge,isSubmitting:ee,isFileUploadEnabled:q,onInputChange:ne,onSubmit:Ze,onStopSubmit:Ee},onPromptClick:te,onOpenSidePanel:Ke,onOpenFullView:Re,dataTestIdPrefix:"card-policy-ai-cfo-hero"}},[ge,T,ue,Z,q,ee,ne,Re,Ke,te,Ee,Ze,Se])}({hasAnyPolicies:L,isChargeCardAdmin:y,isFileUploadEnabled:R}),C=v&&i!=null?c.jsx(hr,{...i}):null,N=u&&C==null,G=r.useCallback(()=>{const b=_e(n.state?.pathnameStackToGoBack),T=b.poppedPathname??"..";e(T,{state:{pathnameStackToGoBack:b.newStack}})},[n.state,e]),U=r.useCallback(()=>{t!=null&&e(`/${t}/cards/policy/new`)},[e,t]),O=r.useCallback(b=>{t!=null&&e(`/${t}/cards/policy/${b}/edit`)},[e,t]),z=r.useCallback(b=>{a(ks(b))},[a]),Y=x.fetchState.fetchState;return!L&&Y!=="Completed"&&Y!=="Error"?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:w}),c.jsx(Kc,{onBackClick:G,onNewPolicyClick:U,onClickMenuIcon:l,isAiCfoAccessEnabled:u,onAskAiCfoClick:M})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:w}),c.jsx(Wc,{policies:I,archivingTemplateId:x.archiveTargetTemplateId,pendingCreationCount:D,onBackClick:G,onNewPolicyClick:U,onEditPolicyClick:O,onArchivePolicyClick:z,onClickMenuIcon:l,policyAiCfoHero:C,isAiCfoAccessEnabled:N,onAskAiCfoClick:M})]})}function Mo(){const e=de(),{cardId:n}=Me(),t=pe(),a=re.getSignedInUser(),s=o(W=>fe(W)),y=Fe(),f=Pe(y?.loggedInUserRoleMap),{useFeatureGate:S}=le();if(a==null)throw Error("Can't access Add To Wallet Page without signing in...");const[w,l]=r.useState(!1),m=o(W=>Qa(W).firstViewAfterActivation);if(n==null)throw Error("Empty card id is not valid...");const R=s.userRole.includes("charge_card_user"),{isFeatureEnabled:v}=S(K.isChargeCardFeatureEnabled),u=!!s.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:M}=S(K.isDebitCardFeatureEnabled),x=we(s),B=ve(s),p=Te(M,s),h=s.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=xe({isDebitCardFeatureEnabled:M,isBankingOnlyTenant:p}),d=Be({isCardsOnlyTenant:x,isChargeCardFeatureEnabled:v,isBookKeepingTenant:B,isDebitCardProductVisible:D,chargeCardsCreditAccountLimit:h}),_=!!s.companyDebitCardInfo?.info?.isDebitCardEnabled,k=o(W=>oa(W,s.companyId)),j=ia(k.controllers),{creditAccount:A,creditAccountRepayment:I}=o(W=>da(W)),L=o(W=>W.classListState.fetchState),i=!R&&d&&u,C=o(W=>_t(W,n,i,d)),[N,G]=r.useState(!1),U=C.chargeCard,O=U?.cardCreatedByUser?.userId,z=o(W=>O!=null?za(W.userRoleState,O):void 0),Y=z?.accountingClassIDs[0],b=o(W=>Y!=null?Ya(W.classState,{classId:Y,reportId:"class_list"}):void 0),T=U?.cardHolderUser?.userId,Z=o(W=>T!=null?za(W.userRoleState,T):void 0),q=Z?.accountingClassIDs[0],E=o(W=>q!=null?Ya(W.classState,{classId:q,reportId:"class_list"}):void 0),V=U?.type.code==="business_physical_credit_card"||U?.type.code==="business_physical_debit_card",Q=U?.type.code==="business_physical_debit_card";r.useEffect(()=>{m&&w===!1&&V&&(l(!0),setTimeout(()=>{t(Za()),Q&&t(ze({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[m,w,V,Q]),r.useEffect(()=>{N||C.fetchState==="Completed"||C.fetchState==="In-Progress"||n==null||(G(!0),t(ka(n,i,!1)))},[N,C,n,t]),r.useEffect(()=>{if(C.fetchState==="Completed"&&(V===!1||V&&U?.status?.code!=="active"||U?.cardHolderUserId!==a.userId||m===!1&&w===!1||U?.type.code==="business_physical_debit_card"||U?.type.code==="business_virtual_debit_card")){const W=Ae(s.tenantEmailDomain,n,a,U,m);e(W)}},[C.fetchState,m,V]),r.useEffect(()=>{A.fetchState!=="Completed"&&A.fetchState!=="In-Progress"&&d&&u&&f&&t(Qe()),I.fetchState!=="Completed"&&I.fetchState!=="In-Progress"&&d&&u&&f&&t(Pt()),L!=="Completed"&&L!=="In-Progress"&&t(jn())},[A.fetchState,I.fetchState,t,d,u,f,L]);const X=()=>{if(a!=null&&n!=null){t(Za());const W=Ae(s.tenantEmailDomain,n,a);e(W)}},g=U?.type.code==="business_physical_debit_card"||U?.type.code==="business_virtual_debit_card",F=Je(d,D,_,u),P=Ba(d,u,f,A,I),ee=yr(g,C);return C.fetchState!=="Completed"?c.jsx(va,{fetchState:"In-Progress"}):c.jsxs(c.Fragment,{children:[c.jsx(rt,{showConfetti:m}),c.jsx(qc,{onGotItClick:X,isDebitCard:U?.type.code==="business_physical_debit_card",controllerEmails:j,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:D,isDebitCardSetupEnabled:_,isChargeCardSetupEnabled:u,productInformation:F,creditAccountInformation:P,debitAccountInformation:ee,chargeCardDetailView:C,creditAccount:A,classListFetchState:L,creditAccountRepayment:I,cardIssuedByRoles:z?.userRoles,cardIssuedByDepartmentName:b?.className,cardHolderRoles:Z?.userRoles,cardHolderDepartmentName:E?.className})]})}const wr="charge-card-transaction-update",vr="charge-card-transaction-created",Tr="charge-card-transaction-declined",Fr="charge-card-transaction-updated",xr="charge-card-transaction-receipt-uploaded",ma="charge-card-status-update",Mt="charge-card-spending-updated",it="credit-account-balance-updated",dt="charge-card-created",Nt="charge-card-limit-updated",Vt="charge-card-limit-reset",Ht="charge-card-renamed",No="charge-card-department-updated",Br="charge-card-repayment-completed",Rr="charge-card-payment-date-updated",Ra="charge-card-cashback-redeemed",La="charge-card-cashback-earned",Ca=(e,n)=>e==null||e===""?[]:n.map(t=>`private-encrypted-${e}.${t}`),Vo=[La,Ra],Ho=De(function(e){const n=la(e);return{insightsData:n.insight,cashbackByPeriod:n.cashbackByPeriod,uiState:n.uiState,cashbackSummary:n.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(n,t)=>{e(Es({uiState:{sortKey:n,sortOrder:t}}))}}})(Jc);function Go(){const e=de(),n=pe(),t=Ce(),a=re.getSignedInUser(),s=o(M=>fe(M)),{useFeatureGate:y}=le(),{isFeatureEnabled:f}=y(K.isCardsCommentingEnabled),[S,w]=r.useState(!1),l=o(M=>la(M)),m=Ar(s.companyId,{clearParams:l.fetchState==="Completed"}),R=r.useCallback(()=>{const M=_e(t.state?.pathnameStackToGoBack),x=M.poppedPathname??$o(s.tenantEmailDomain);e(x,{state:{pathnameStackToGoBack:M.newStack}})},[e,t,s.tenantEmailDomain]),v=ea(s);if(jt({events:Ca(v,Vo),onEvent:M=>{switch(M){case La:case Ra:return void n(_a(!0))}},onSubscribed:()=>{n(_a(!0))}}),r.useEffect(()=>{S||l.fetchState==="Completed"||l.fetchState==="In-Progress"||(w(!0),n(_a()))},[S,l,n]),a==null)throw Error("Can't access cashback detail page without signing in...");const u=l.cashbackSummary?.cashbackEarned?.amount!=null&&l.fetchState!=="Not-Started";return l.fetchState!=="In-Progress"||u?(l.cashbackSummary?.cashbackEarned?.amount??0)===0&&l.fetchState==="Completed"?c.jsx(ot,{}):c.jsx(Ho,{onBackClick:R,isCardsCommentingEnabled:f,initialOpenThreadRequest:m}):c.jsx(Qc,{onBackClick:R})}const $o=e=>`/${e}/cards`,zo={containerWidth:new Fa(100,58)},Yo=({appContent:e})=>{const n=Ta(),t=pe(),a=de(),{cardId:s}=Me(),y=Ce(),{useDynamicConfig:f}=le(),[S,w]=r.useState(!1),[l,m]=r.useState(!1),[R,v]=r.useState(!1),[u,M]=r.useState(!1),x=re.getSignedInUser();if(x==null)throw Error("Can't access onboarding card page without signing in...");const B=o(E=>fe(E));if(s==null)throw Error("Empty card id is not valid...");const{configValue:p}=f(Ye.zeniCardsConfig),h=p.max_charge_card_activation_attempts_by_card_id,D=o(E=>As(E,s)),d=D.chargeCard,_=o(E=>E.chargeCardConfigState.fetchState),{useFeatureGate:k}=le(),{isFeatureEnabled:j}=k(K.isChargeCardFeatureEnabled),{isFeatureEnabled:A}=k(K.isDebitCardFeatureEnabled),I=Te(A,B),L=xe({isDebitCardFeatureEnabled:A,isBankingOnlyTenant:I}),i=!!B.companyChargeCardInfo?.info?.isChargeCardEnabled,C=B.userRole.includes("charge_card_user"),N=we(B),G=ve(B),U=B.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,O=Be({isCardsOnlyTenant:N,isChargeCardFeatureEnabled:j,isBookKeepingTenant:G,isDebitCardProductVisible:L,chargeCardsCreditAccountLimit:U}),z=!C&&O&&i;r.useEffect(()=>{S===!1&&_!=="In-Progress"&&_!=="Completed"&&(t(Ja()),w(!0)),l===!1&&D.fetchState==="Not-Started"&&(m(!0),t(ka(s,z,O)))},[l,D.fetchState,S,_]);const Y=d?.type.code==="business_physical_credit_card"||d?.type.code==="business_physical_debit_card";r.useEffect(()=>{if(D.fetchState==="Completed"){if(R===!1&&(Y===!1||Y&&d?.status?.code!=="inactive"||d?.cardHolderUserId!==x.userId)){const E=Ae(B.tenantEmailDomain,s,x,d,!0),V=ye(y.state?.pathnameStackToGoBack,y.pathname);a(E,{state:{pathnameStackToGoBack:V}})}else if(R&&D.isRefreshingViewInBackground===!1&&d?.status?.code==="active"){t(Ds({chargeCardId:s}));const E=Ae(B.tenantEmailDomain,s,x,d,!0),V=ye(y.state?.pathnameStackToGoBack,y.pathname);t(Xa()),a(E,{state:{pathnameStackToGoBack:V}})}}},[D.fetchState,d?.type.code,R,D.isRefreshingViewInBackground]);const b=re.getZeniOtpTokenForCardHolder(s),T=o(E=>Mn(E.userState,x.userId)),Z=()=>{d?.status?.code!=="active"&&t(ga(s,!0))};r.useEffect(()=>{D.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&d?.cardActivationAttemptHistory.some(E=>E.statusCode==="success")===!0&&R===!1&&(setTimeout(Z,3e3),v(!0))},[D.updatePhysicalChargeCardAttemptFetchState.fetchState,d?.cardActivationAttemptHistory]);const q=E=>{M(E)};if(_!=="Completed"||d==null)return c.jsx(va,{fetchState:"In-Progress"});if(d.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(T?.phone==null)throw Error("Can't access user phone number.");return c.jsxs(Wo,{children:[c.jsx(Ie,{isAppContentDrawerOpen:u,handleDrawerToggle:q}),c.jsx(Zo,{cardId:s,card:d,shippingAddressId:d.shippingAddressId,phone:T.phone,signedInUser:x,isSandboxEnv:xt(),chargeCardDetailState:D,signedInUserToken:b,navigate:a,currentTenant:B,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(Ko,{windowSize:n,children:e}):null]})},Zo=De(function(e,{chargeCardDetailState:n,shippingAddressId:t,location:a,cardId:s}){const y=_s(e.addressState,t);if(y==null)throw Error("Can't access shippingAddress.");const f=Nn(e,s),S=n.updateStatus,w=ua(e,!1,!1,!1);let l=!1;w.fetchState==="Completed"&&w.cards.length<=1&&(l=!0);const m=a.state?.message==="comingFromV2UrlPath";return{showActivatePage:n.chargeCard?.providerCardCreateTime!=null&&n.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Ps())||m,showMenuIcon:l,shippingAddress:y,vgsVaultId:st.cardVaultId,twoFAView:f,activationWaitStatus:S,isRefreshingViewInBackground:n.isRefreshingViewInBackground}},function(e,n){const{navigate:t,cardId:a,location:s,currentTenant:y,chargeCardDetailState:f}=n,S=f.chargeCard?.cardProviderID,{tenantEmailDomain:w}=y;return{onGetOtp:l=>{S!=null&&e(tt(l,"ChargeCardHolder",a))},onUpdatePhysicalChargeCardAttempt:l=>{e(vs(a,l))},onResendOtp:l=>{S!=null&&e(at(l,"ChargeCardHolder",a))},onVerifyOtp:(l,m)=>{S!=null&&e(et(l,m,"ChargeCardHolder",a))},onVerifyOtpSuccess:l=>{l!=null&&re.saveZeniOtpTokenForCardHolder(l,a)},onCVVActivateSuccess:()=>{e(ws({chargeCardId:a}))},onBackClick:()=>{const l=_e(s.state?.pathnameStackToGoBack),m=l.poppedPathname==null||l.poppedPathname.includes("onboard")===!0?aa(w):l.poppedPathname;t(m,{state:{pathnameStackToGoBack:l.newStack}})}}})(Xc),Ko=Ne.div`
1
+ import{j as c}from"./liveblocks-evjZPqs_.js";import{h as de,g as Ce,i as Me,u as pe,j as o,N as ba,s as Dt,n as De,t as In,o as es,p as se}from"./core-DmAftQ4g.js";import{bt as Pe,RR as as,RS as ts,eY as un,RT as kn,f5 as En,RU as An,RV as Dn,RW as _n,RX as Pn,f6 as wn,f7 as vn,RY as Tn,fh as Fn,fi as $a,RZ as xn,R_ as ns,fb as rs,fa as ss,R$ as cs,B$ as Bn,fk as ca,S0 as os,S1 as is,e_ as ds,eZ as ls,fw as ze,fd as Rn,fc as Ln,S2 as us,fe as ms,Bw as Cs,Bv as ps,Bz as hs,BB as fs,fp as gs,eV as On,S3 as Ss,S4 as bs,fu as Un,S5 as ys,fv as bt,BH as Is,BE as ks,eW as fe,S6 as Qa,fz as we,fA as ve,fB as Te,gu as oa,cv as ia,S7 as da,S8 as _t,uO as za,kD as Wa,S9 as Ya,Cf as ka,Ch as Qe,Ci as Pt,kt as jn,Sa as la,C3 as _a,Sb as Es,Sc as As,C6 as Ja,Sd as Ds,Qc as Xa,fg as Mn,Cc as ga,hT as _s,Se as Nn,Sf as ua,bo as Ps,Sg as ws,gf as et,ge as at,CM as vs,gd as tt,PU as Ts,Sh as Vn,co as Hn,cQ as Fs,Qb as wa,Dl as Gn,Si as mn,CX as Pa,Sj as $n,Dm as xs,QB as Bs,Dn as Rs,Es as Ls,u9 as Os,Em as Us,Sk as js,Cg as ra,Sl as Ms,Sm as Ns,Sn as Vs,So as Hs,Sp as Gs,Sq as wt,Sr as $s,Cx as zn,Cq as zs,Ss as Ws,gw as Ys,CG as Wn,CK as Yn,gv as Zs,St as Ks,D7 as Zn,Su as qs,Sv as Qs,Sw as Js,CI as Kn,Ct as qn,C9 as Qn,CC as Jn,CA as Xn,CE as Xs,Sx as er,Sy as ec,fr as ac,fs as tc,ft as nc,Sz as nt,fl as ar,cR as vt,SA as rc,SB as sc,SC as cc,SD as oc,CS as yt,De as ic,Da as dc,CO as lc,Dc as uc,D2 as mc,D4 as Cc,SE as tr,Dk as Ga,Kb as pc,SF as hc,SG as fc,SH as gc,SI as nr,SJ as Sc,DH as bc,CW as rr,CR as je,CV as yc,SK as Ic,SL as kc,C0 as Ec,SM as sr,ff as cr,SN as Ac,C2 as Dc,C1 as Cn,SO as _c,SP as Pc,SQ as wc,MI as vc,SR as Tt,SS as Tc,xO as or,lb as Fc,hJ as xc,DM as Bc,ST as ir,f2 as Rc,f3 as Lc,SU as Oc,di as Uc,fj as jc,DC as Mc,Dw as qe,bs as Nc,bJ as Vc,cA as Hc,bK as Gc,LV as $c}from"./zeni-epic-state-vtQ66nN6.js";import{I as Fe,cp as dr,p as _e,cq as lr,cr as ur,cs as zc,O as Xe,_ as Ft,ct as Wc,cu as Yc,V as mr,a as Cr,Y as pr,q as ye,W as le,U as Z,ar as ya,cv as hr,cw as Zc,cx as Kc,z as re,B as va,ce as rt,cy as qc,cz as Qc,cA as Jc,Z as Ta,aQ as We,br as xt,cB as Xc,y as Fa,i as st,m as Bt,c as J,a7 as ct,cC as eo,bE as Sa,cD as It,cE as ao,x as Rt,cF as to,au as fr,a2 as kt,cG as no,X as gr,e as Sr,cH as ro,cI as so,cJ as co,cK as oo,cL as io,cM as lo,o as Za,cN as uo,cO as mo,cP as pt,v as Co,cQ as po,cR as ho,cS as fo,cT as go,cU as So,a9 as bo}from"./index-BsmcHa9A.js";import{n as Ne,D as br,S as yo}from"./mui-PcDpEhsm.js";import{a as r}from"./sentry-CCZGmBkl.js";import{u as xa}from"./useAskAiCfoHostNavButtonProps-5Ek-t3F9.js";import{M as Ie}from"./MobileAppDrawer-cGG4tefr.js";import{d as Lt}from"./recharts-CgEqsrFw.js";import{g as Ae,a as Ba,b as yr,c as xe,d as Be,e as Je,f as ea,h as aa,A as Io,i as Ot,P as ko,j as Ut,s as Ia,k as Ir,l as sa,m as kr,n as Eo,o as Er,p as Ao,S as pn}from"./SetupPagesScreen-Pz567UQO.js";import{u as Ar}from"./useInitialThreadRequest-Dr9FuJUY.js";import ot from"./NotFoundScreen-DmxmtGfC.js";import{u as jt}from"./useChargeCardPusherEvents-RkbvNufi.js";import{n as hn}from"./utils--mWNe9J7.js";import{t as Do}from"./AddressScreen-CxOVTdB3.js";import"./analytics-DCrhd8oB.js";import"./plaid-DSnXUEUK.js";import"./dnd-3F1D24DQ.js";import"./stripe-DMRn4zHo.js";import"./lottie-CmTLY-9t.js";import"./lexical-PVlNGkpS.js";import"./pdf-CbXlPYUs.js";import"./analyticsHelper-MomIUc09.js";import"./routePaths-ieN8hn7m.js";import"./BusinessVerificationPageScreen-BSOfMkHj.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]="93e948dd-5224-4ee3-95b4-acc5a3a0e959",e._sentryDebugIdIdentifier="sentry-dbid-93e948dd-5224-4ee3-95b4-acc5a3a0e959")}catch{}})();const _o=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}},Dr=e=>({id:e.id,isChecked:!1,cardName:e.cardName,last4:e.accountLast4,limitAmount:e.limit?.amount??0,limitCadence:e.creditLimitFrequency?.code,owner:_o(e),utilizationAmount:(e.limit?.amount??0)-(e.available?.amount??0)}),{spendManagement:{chargeCard:{cardPolicyPage:fn}}}=Xe.getLocalizedStrings(),Po=e=>Rn(e,!1),wo=e=>Ln(e.name,!1);function vo(){const e=de(),n=Ce(),{tenantEmailDomain:t}=Me(),a=pe(),s=Fe(),y=Pe(s?.loggedInUserRoleMap),[f,S]=r.useState(!1),w=r.useCallback(P=>{S(P)},[]),l=r.useCallback(()=>{w(!0)},[w]),{isAiCfoAccessEnabled:m,onAskAiCfoClick:R}=xa({mobileExploreReferrer:"Card Policy"});r.useEffect(()=>()=>{a(as()),a(ts()),a(un())},[a]);const v=o(P=>kn(P.cardPolicyState)),u=o(P=>En(P.cardPolicyState)),M=o(P=>An(P.cardPolicyState)),x=o(P=>Dn(P.cardPolicyState)),B=o(P=>_n(P.cardPolicyState)),p=o(P=>Pn(P.cardPolicyState)),h=o(P=>wn(P.cardPolicyState)),D=o(P=>vn(P.cardPolicyState)),d=o(P=>Tn(P.cardPolicyState)),_=o(P=>P.chargeCardConfigState.receiptRequiredAboveAmount.amount),k=o(P=>P.chargeCardConfigState.fetchState);r.useEffect(()=>{v!=="Completed"&&v!=="In-Progress"&&a(Fn())},[a,v]),r.useEffect(()=>{D==="Completed"&&d===""||D==="In-Progress"||a($a())},[a,D,d]);const j=o(P=>xn(P.createCardPolicyState)),A=o(P=>ns(P.createCardPolicyState)),I=o(P=>rs(P.cardPolicyState)),L=o(P=>ss(P.cardPolicyState)),i=o(P=>cs(P.createCardPolicyState)),C=o(P=>Bn(P));r.useEffect(()=>{C.fetchState==="Not-Started"&&a(ca(!1,!1,!1))},[C.fetchState,a]);const N=r.useMemo(()=>u.map(Po),[u]),G=r.useMemo(()=>h.map(wo),[h]),O=r.useMemo(()=>C.cards.filter(P=>!dr(P.status.code)).map(Dr),[C.cards]),U=v==="Completed"&&C.fetchState==="Completed"&&k==="Completed";r.useEffect(()=>{U&&i==null&&a(os({cardsMasterList:O,defaultRequireReceiptAmount:_,suggestedAllowMerchants:M,suggestedBlockMerchants:x,suggestedAllowCategories:B,suggestedBlockCategories:p}))},[k,a,U,i,O,_,M,x,B,p]);const z=r.useMemo(()=>Lt(P=>{a($a(P))},250),[a]);r.useEffect(()=>()=>{z.cancel()},[z]);const W=r.useCallback(P=>{z(P)},[z]),b=j.fetchState,T=t!=null?`/${t}/cards/policy`:"..",Y=r.useCallback(()=>{const P=_e(n.state?.pathnameStackToGoBack),ee=P.poppedPathname??T;e(ee,{state:{pathnameStackToGoBack:P.newStack}})},[n.state,e,T]),q=r.useCallback(()=>{e(T)},[e,T]),E=r.useCallback(P=>{a(is(P))},[a]),V=r.useCallback(P=>{const ee=lr(P);a(ds({templates:[ee]}))},[a]),Q=r.useCallback(P=>{P.length!==0&&a(ls(P))},[a]),X=r.useCallback(()=>{a(un())},[a]),g=r.useRef(b);r.useEffect(()=>{const P=g.current;g.current=b,b==="Completed"&&P!=="Completed"&&A!=null&&(a(ze({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(T))},[a,b,A,e,T]);const F=b==="Error"?j.error?.message??fn.createPolicyGenericErrorMessage:void 0;return y&&t!=null?i==null?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:w}),c.jsx(ur,{showUploadDocumentSection:!0,navBarTitle:fn.createPageTitle,onBackClick:Y,onClickMenuIcon:l,isAiCfoAccessEnabled:m,onAskAiCfoClick:R})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:w}),c.jsx(zc,{formDraft:i,vendorSearchOptions:G,categorySearchOptions:N,isVendorSearchLoading:D==="In-Progress",onVendorSearchTextChange:W,submitState:b,submitErrorMessage:F,documentUploadState:I,uploadedFileName:L,isAiCfoAccessEnabled:m,onAskAiCfoClick:R,onBackClick:Y,onCancelClick:q,onClickMenuIcon:l,onFormChange:E,onSubmit:V,onUploadDocument:Q,onRemoveDocument:X})]}):c.jsx(ba,{to:"..",replace:!0})}const{spendManagement:{chargeCard:{cardPolicyPage:To}}}=Xe.getLocalizedStrings(),Fo=e=>Rn(e,!1),xo=e=>Ln(e.name,!1);function Bo(){const e=de(),n=Ce(),{tenantEmailDomain:t,templateId:a}=Me(),s=pe(),y=Fe(),f=Pe(y?.loggedInUserRoleMap),[S,w]=r.useState(!1),l=r.useCallback(F=>{w(F)},[]),m=r.useCallback(()=>{l(!0)},[l]),{isAiCfoAccessEnabled:R,onAskAiCfoClick:v}=xa({mobileExploreReferrer:"Card Policy"}),u=o(F=>us(F)),M=o(F=>kn(F.cardPolicyState)),x=o(F=>En(F.cardPolicyState)),B=o(F=>An(F.cardPolicyState)),p=o(F=>Dn(F.cardPolicyState)),h=o(F=>_n(F.cardPolicyState)),D=o(F=>Pn(F.cardPolicyState)),d=o(F=>wn(F.cardPolicyState)),_=o(F=>vn(F.cardPolicyState)),k=o(F=>Tn(F.cardPolicyState)),j=o(F=>Bn(F)),A=o(F=>a!=null?ms(F.cardPolicyState,a):void 0),I=r.useMemo(()=>u.templateId===a&&u.formDraft!=null?u.formDraft:A!=null?Cs(A):void 0,[u.templateId,u.formDraft,A,a]);r.useEffect(()=>{if(a==null)return;const F=u.detailFetchState.fetchState;u.templateId===a&&(F==="Completed"||F==="In-Progress")||A!=null||s(ps(a))},[s,a,u.templateId,u.detailFetchState.fetchState,A]),r.useEffect(()=>{M!=="Completed"&&M!=="In-Progress"&&s(Fn())},[s,M]),r.useEffect(()=>{_==="Completed"&&k===""||_==="In-Progress"||s($a())},[s,_,k]);const L=o(F=>F.chargeCardConfigState.receiptRequiredAboveAmount.amount);r.useEffect(()=>{j.fetchState==="Not-Started"&&s(ca(!1,!1,!1))},[j.fetchState,s]);const i=r.useMemo(()=>x.map(Fo),[x]),C=r.useMemo(()=>d.map(xo),[d]),N=r.useMemo(()=>j.cards.filter(F=>!dr(F.status.code)).map(Dr),[j.cards]);Ft({isDataReady:I!=null});const G=r.useMemo(()=>{if(I!=null)return Wc({draft:I,cardRows:N,categorySearchOptions:i,vendorSearchOptions:C,defaultRequireReceiptAmount:L,suggestedAllowMerchants:B,suggestedBlockMerchants:p,suggestedAllowCategories:h,suggestedBlockCategories:D})},[I,N,i,C,L,B,p,h,D]),[O,U]=r.useState(void 0),z=r.useRef(!1);r.useEffect(()=>{z.current||O!=null||G==null||(z.current=!0,U(G))},[O,G]);const W=r.useCallback(F=>{U(F)},[]),b=r.useMemo(()=>Lt(F=>{s($a(F))},250),[s]);r.useEffect(()=>()=>{b.cancel()},[b]);const T=r.useCallback(F=>{b(F)},[b]),Y=u.updateFetchState.fetchState,q=t!=null?`/${t}/cards/policy`:"..",E=r.useCallback(()=>{const F=_e(n.state?.pathnameStackToGoBack),P=F.poppedPathname??q;e(P,{state:{pathnameStackToGoBack:F.newStack}})},[n.state,e,q]),V=r.useCallback(()=>{e(q)},[e,q]),Q=r.useCallback(F=>{if(a==null)return;const P=lr(F);s(hs(P)),s(fs(a))},[s,a]),X=r.useRef(Y);r.useEffect(()=>{const F=X.current;X.current=Y,Y==="Completed"&&F!=="Completed"&&(s(ze({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(q))},[s,Y,e,q]);const g=Y==="Error"?u.updateFetchState.error?.message??To.updatePolicyGenericErrorMessage:void 0;return!f||t==null||a==null?c.jsx(ba,{to:"..",replace:!0}):O!=null&&M==="Completed"&&j.fetchState==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:l}),c.jsx(Yc,{templateName:u.template?.name??"",formDraft:O,vendorSearchOptions:C,categorySearchOptions:i,isVendorSearchLoading:_==="In-Progress",onVendorSearchTextChange:T,submitState:Y,submitErrorMessage:g,isAiCfoAccessEnabled:R,onAskAiCfoClick:v,onBackClick:E,onCancelClick:V,onClickMenuIcon:m,onFormChange:W,onSubmit:Q})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:l}),c.jsx(ur,{showUploadDocumentSection:!1,navBarTitle:u.template?.name,onBackClick:E,onClickMenuIcon:m,isAiCfoAccessEnabled:R,onAskAiCfoClick:v})]})}function _r(e,n,t){return n?e.filter(a=>a!=null&&a.trim().length>0).slice(0,t):[]}function Pr(e){return o(n=>e==null||e===""?{chips:ht,isResolved:!1}:function(t){const a=t?.fetchState,s=a==="Completed"||a==="Error";return{chips:a==="Completed"?t?.suggestedQuestions??ht:ht,isResolved:s}}(gs(n,e)),Dt)}const ht=[],{spendManagement:{chargeCard:{cardPolicyAiCfoHero:{headline:Ro,subheadline:Lo,pageTitle:Oo}}}}=Xe.getLocalizedStrings(),Uo=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 jo(){const e=de(),n=Ce(),{tenantEmailDomain:t}=Me(),a=pe(),s=Fe(),y=Pe(s?.loggedInUserRoleMap),[f,S]=r.useState(!1),w=r.useCallback(b=>{S(b)},[]),l=r.useCallback(()=>{w(!0)},[w]),{useFeatureGate:m}=le(),{isFeatureEnabled:R}=m(Z.isAiCfoFileUploadEnabled),{isFeatureEnabled:v}=m(Z.isCardPolicyEnabled),{isAiCfoAccessEnabled:u,onAskAiCfoClick:M}=xa({mobileExploreReferrer:"Card Policy"}),x=o(b=>Ss(b)),B=o(b=>xn(b.createCardPolicyState)),p=o(b=>bs(b.createCardPolicyState)),h=o(b=>p==null?[]:Un(b.aiCfoState,p).filter(T=>T.kind==="creating_policy"),Dt),D=B.fetchState==="In-Progress"?Math.max(h.length,1):0,d=o(b=>ys(b.createCardPolicyState)),_=ya(B.fetchState);r.useEffect(()=>{if(_==="In-Progress"&&B.fetchState==="Completed"&&p!=null)h.forEach(b=>{a(bt({chatSessionId:p,id:b.id,entityIds:d,kind:"created_policy"}))});else if(_==="In-Progress"&&B.fetchState==="Error"&&p!=null){h.forEach(T=>{a(bt({chatSessionId:p,id:T.id,kind:"errored_policy"}))});const b=B.error?.message!=null&&B.error.message.length>0?B.error.message:Xe.getLocalizedStrings().common.errorMessage.somethingWentWrongPleaseTryAgain;a(ze({messageSection:"card_policy_created",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:b}]}))}},[B.error?.message,B.fetchState,a,p,d,h,_]);const k=x.fetchState.fetchState;r.useEffect(()=>{k!=="Not-Started"&&k!=="Error"||a(Is())},[a,k]);const j=x.archiveFetchState.fetchState,A=ya(j);r.useEffect(()=>{A==="In-Progress"&&j==="Completed"&&a(ze({messageSection:"card_policy_deleted",messageText:"success",type:"success"}))},[j,a,A]);const I=r.useMemo(()=>x.templates.map(Uo),[x.templates]);Ft({isDataReady:x.fetchState.fetchState==="Completed"});const L=I.length>0||D>0,i=function(b){const{hasAnyPolicies:T,isChargeCardAdmin:Y,isFileUploadEnabled:q}=b,E=de(),V=Ce(),{tenantEmailDomain:Q}=Me(),{isAiCfoOpen:X,setIsAiCfoOpen:g}=mr(),F=Cr(),P=pr(),ee=o(ce=>On(ce)).createSessionAndSubmitState.fetchState==="In-Progress",{chips:K,isResolved:ke}=Pr("card_policy"),Se=r.useMemo(()=>_r(K,ke,3),[K,ke]),[ge,ae]=r.useState(""),ue=P&&F&&Q!=null&&!X,oe=r.useCallback(ce=>{if(Q==null)return;const Ea=ye(V.state?.pathnameStackToGoBack,V.pathname);E(`/${Q}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Ea,referrer:"card_policy_hero",aiCfoInitialQuestion:ce,aiCfoShouldSubmit:ce!=null&&ce.trim().length>0}})},[V.pathname,V.state,E,Q]),te=r.useCallback(ce=>{ce.trim().length!==0&&(ae(""),oe(ce))},[oe]),Ye=r.useCallback(()=>{const ce=ge.trim();ce.length!==0&&(ae(""),oe(ce))},[ge,oe]),Ee=r.useCallback(()=>{},[]),ne=r.useCallback(ce=>{ae(ce)},[]),Ze=r.useCallback(()=>{g(!0)},[g]),Re=r.useCallback(()=>{oe(void 0)},[oe]);return r.useMemo(()=>{if(ue&&!T&&Y)return{aiAgentName:Oo,headline:Ro,subheadline:Lo,promptChips:Se,composer:{currentInput:ge,isSubmitting:ee,isFileUploadEnabled:q,onInputChange:ne,onSubmit:Ye,onStopSubmit:Ee},onPromptClick:te,onOpenSidePanel:Ze,onOpenFullView:Re,dataTestIdPrefix:"card-policy-ai-cfo-hero"}},[ge,T,ue,Y,q,ee,ne,Re,Ze,te,Ee,Ye,Se])}({hasAnyPolicies:L,isChargeCardAdmin:y,isFileUploadEnabled:R}),C=v&&i!=null?c.jsx(hr,{...i}):null,N=u&&C==null,G=r.useCallback(()=>{const b=_e(n.state?.pathnameStackToGoBack),T=b.poppedPathname??"..";e(T,{state:{pathnameStackToGoBack:b.newStack}})},[n.state,e]),O=r.useCallback(()=>{t!=null&&e(`/${t}/cards/policy/new`)},[e,t]),U=r.useCallback(b=>{t!=null&&e(`/${t}/cards/policy/${b}/edit`)},[e,t]),z=r.useCallback(b=>{a(ks(b))},[a]),W=x.fetchState.fetchState;return!L&&W!=="Completed"&&W!=="Error"?c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:w}),c.jsx(Zc,{onBackClick:G,onNewPolicyClick:O,onClickMenuIcon:l,isAiCfoAccessEnabled:u,onAskAiCfoClick:M})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:f,handleDrawerToggle:w}),c.jsx(Kc,{policies:I,archivingTemplateId:x.archiveTargetTemplateId,pendingCreationCount:D,onBackClick:G,onNewPolicyClick:O,onEditPolicyClick:U,onArchivePolicyClick:z,onClickMenuIcon:l,policyAiCfoHero:C,isAiCfoAccessEnabled:N,onAskAiCfoClick:M})]})}function Mo(){const e=de(),{cardId:n}=Me(),t=pe(),a=re.getSignedInUser(),s=o(K=>fe(K)),y=Fe(),f=Pe(y?.loggedInUserRoleMap),{useFeatureGate:S}=le();if(a==null)throw Error("Can't access Add To Wallet Page without signing in...");const[w,l]=r.useState(!1),m=o(K=>Qa(K).firstViewAfterActivation);if(n==null)throw Error("Empty card id is not valid...");const R=s.userRole.includes("charge_card_user"),{isFeatureEnabled:v}=S(Z.isChargeCardFeatureEnabled),u=!!s.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:M}=S(Z.isDebitCardFeatureEnabled),x=we(s),B=ve(s),p=Te(M,s),h=s.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=xe({isDebitCardFeatureEnabled:M,isBankingOnlyTenant:p}),d=Be({isCardsOnlyTenant:x,isChargeCardFeatureEnabled:v,isBookKeepingTenant:B,isDebitCardProductVisible:D,chargeCardsCreditAccountLimit:h}),_=!!s.companyDebitCardInfo?.info?.isDebitCardEnabled,k=o(K=>oa(K,s.companyId)),j=ia(k.controllers),{creditAccount:A,creditAccountRepayment:I}=o(K=>da(K)),L=o(K=>K.classListState.fetchState),i=!R&&d&&u,C=o(K=>_t(K,n,i,d)),[N,G]=r.useState(!1),O=C.chargeCard,U=O?.cardCreatedByUser?.userId,z=o(K=>U!=null?za(K.userRoleState,U):void 0),W=z?.accountingClassIDs[0],b=o(K=>W!=null?Wa(K.classState,{classId:W,reportId:"class_list"}):void 0),T=O?.cardHolderUser?.userId,Y=o(K=>T!=null?za(K.userRoleState,T):void 0),q=Y?.accountingClassIDs[0],E=o(K=>q!=null?Wa(K.classState,{classId:q,reportId:"class_list"}):void 0),V=O?.type.code==="business_physical_credit_card"||O?.type.code==="business_physical_debit_card",Q=O?.type.code==="business_physical_debit_card";r.useEffect(()=>{m&&w===!1&&V&&(l(!0),setTimeout(()=>{t(Ya()),Q&&t(ze({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[m,w,V,Q]),r.useEffect(()=>{N||C.fetchState==="Completed"||C.fetchState==="In-Progress"||n==null||(G(!0),t(ka(n,i,!1)))},[N,C,n,t]),r.useEffect(()=>{if(C.fetchState==="Completed"&&(V===!1||V&&O?.status?.code!=="active"||O?.cardHolderUserId!==a.userId||m===!1&&w===!1||O?.type.code==="business_physical_debit_card"||O?.type.code==="business_virtual_debit_card")){const K=Ae(s.tenantEmailDomain,n,a,O,m);e(K)}},[C.fetchState,m,V]),r.useEffect(()=>{A.fetchState!=="Completed"&&A.fetchState!=="In-Progress"&&d&&u&&f&&t(Qe()),I.fetchState!=="Completed"&&I.fetchState!=="In-Progress"&&d&&u&&f&&t(Pt()),L!=="Completed"&&L!=="In-Progress"&&t(jn())},[A.fetchState,I.fetchState,t,d,u,f,L]);const X=()=>{if(a!=null&&n!=null){t(Ya());const K=Ae(s.tenantEmailDomain,n,a);e(K)}},g=O?.type.code==="business_physical_debit_card"||O?.type.code==="business_virtual_debit_card",F=Je(d,D,_,u),P=Ba(d,u,f,A,I),ee=yr(g,C);return C.fetchState!=="Completed"?c.jsx(va,{fetchState:"In-Progress"}):c.jsxs(c.Fragment,{children:[c.jsx(rt,{showConfetti:m}),c.jsx(qc,{onGotItClick:X,isDebitCard:O?.type.code==="business_physical_debit_card",controllerEmails:j,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:D,isDebitCardSetupEnabled:_,isChargeCardSetupEnabled:u,productInformation:F,creditAccountInformation:P,debitAccountInformation:ee,chargeCardDetailView:C,creditAccount:A,classListFetchState:L,creditAccountRepayment:I,cardIssuedByRoles:z?.userRoles,cardIssuedByDepartmentName:b?.className,cardHolderRoles:Y?.userRoles,cardHolderDepartmentName:E?.className})]})}const wr="charge-card-transaction-update",vr="charge-card-transaction-created",Tr="charge-card-transaction-declined",Fr="charge-card-transaction-updated",xr="charge-card-transaction-receipt-uploaded",ma="charge-card-status-update",Mt="charge-card-spending-updated",it="credit-account-balance-updated",dt="charge-card-created",Nt="charge-card-limit-updated",Vt="charge-card-limit-reset",Ht="charge-card-renamed",No="charge-card-department-updated",Br="charge-card-repayment-completed",Rr="charge-card-payment-date-updated",Ra="charge-card-cashback-redeemed",La="charge-card-cashback-earned",Ca=(e,n)=>e==null||e===""?[]:n.map(t=>`private-encrypted-${e}.${t}`),Vo=[La,Ra],Ho=De(function(e){const n=la(e);return{insightsData:n.insight,cashbackByPeriod:n.cashbackByPeriod,uiState:n.uiState,cashbackSummary:n.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(n,t)=>{e(Es({uiState:{sortKey:n,sortOrder:t}}))}}})(Jc);function Go(){const e=de(),n=pe(),t=Ce(),a=re.getSignedInUser(),s=o(M=>fe(M)),{useFeatureGate:y}=le(),{isFeatureEnabled:f}=y(Z.isCardsCommentingEnabled),[S,w]=r.useState(!1),l=o(M=>la(M)),m=Ar(s.companyId,{clearParams:l.fetchState==="Completed"}),R=r.useCallback(()=>{const M=_e(t.state?.pathnameStackToGoBack),x=M.poppedPathname??$o(s.tenantEmailDomain);e(x,{state:{pathnameStackToGoBack:M.newStack}})},[e,t,s.tenantEmailDomain]),v=ea(s);if(jt({events:Ca(v,Vo),onEvent:M=>{switch(M){case La:case Ra:return void n(_a(!0))}},onSubscribed:()=>{n(_a(!0))}}),r.useEffect(()=>{S||l.fetchState==="Completed"||l.fetchState==="In-Progress"||(w(!0),n(_a()))},[S,l,n]),a==null)throw Error("Can't access cashback detail page without signing in...");const u=l.cashbackSummary?.cashbackEarned?.amount!=null&&l.fetchState!=="Not-Started";return l.fetchState!=="In-Progress"||u?(l.cashbackSummary?.cashbackEarned?.amount??0)===0&&l.fetchState==="Completed"?c.jsx(ot,{}):c.jsx(Ho,{onBackClick:R,isCardsCommentingEnabled:f,initialOpenThreadRequest:m}):c.jsx(Qc,{onBackClick:R})}const $o=e=>`/${e}/cards`,zo={containerWidth:new Fa(100,58)},Wo=({appContent:e})=>{const n=Ta(),t=pe(),a=de(),{cardId:s}=Me(),y=Ce(),{useDynamicConfig:f}=le(),[S,w]=r.useState(!1),[l,m]=r.useState(!1),[R,v]=r.useState(!1),[u,M]=r.useState(!1),x=re.getSignedInUser();if(x==null)throw Error("Can't access onboarding card page without signing in...");const B=o(E=>fe(E));if(s==null)throw Error("Empty card id is not valid...");const{configValue:p}=f(We.zeniCardsConfig),h=p.max_charge_card_activation_attempts_by_card_id,D=o(E=>As(E,s)),d=D.chargeCard,_=o(E=>E.chargeCardConfigState.fetchState),{useFeatureGate:k}=le(),{isFeatureEnabled:j}=k(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:A}=k(Z.isDebitCardFeatureEnabled),I=Te(A,B),L=xe({isDebitCardFeatureEnabled:A,isBankingOnlyTenant:I}),i=!!B.companyChargeCardInfo?.info?.isChargeCardEnabled,C=B.userRole.includes("charge_card_user"),N=we(B),G=ve(B),O=B.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,U=Be({isCardsOnlyTenant:N,isChargeCardFeatureEnabled:j,isBookKeepingTenant:G,isDebitCardProductVisible:L,chargeCardsCreditAccountLimit:O}),z=!C&&U&&i;r.useEffect(()=>{S===!1&&_!=="In-Progress"&&_!=="Completed"&&(t(Ja()),w(!0)),l===!1&&D.fetchState==="Not-Started"&&(m(!0),t(ka(s,z,U)))},[l,D.fetchState,S,_]);const W=d?.type.code==="business_physical_credit_card"||d?.type.code==="business_physical_debit_card";r.useEffect(()=>{if(D.fetchState==="Completed"){if(R===!1&&(W===!1||W&&d?.status?.code!=="inactive"||d?.cardHolderUserId!==x.userId)){const E=Ae(B.tenantEmailDomain,s,x,d,!0),V=ye(y.state?.pathnameStackToGoBack,y.pathname);a(E,{state:{pathnameStackToGoBack:V}})}else if(R&&D.isRefreshingViewInBackground===!1&&d?.status?.code==="active"){t(Ds({chargeCardId:s}));const E=Ae(B.tenantEmailDomain,s,x,d,!0),V=ye(y.state?.pathnameStackToGoBack,y.pathname);t(Xa()),a(E,{state:{pathnameStackToGoBack:V}})}}},[D.fetchState,d?.type.code,R,D.isRefreshingViewInBackground]);const b=re.getZeniOtpTokenForCardHolder(s),T=o(E=>Mn(E.userState,x.userId)),Y=()=>{d?.status?.code!=="active"&&t(ga(s,!0))};r.useEffect(()=>{D.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&d?.cardActivationAttemptHistory.some(E=>E.statusCode==="success")===!0&&R===!1&&(setTimeout(Y,3e3),v(!0))},[D.updatePhysicalChargeCardAttemptFetchState.fetchState,d?.cardActivationAttemptHistory]);const q=E=>{M(E)};if(_!=="Completed"||d==null)return c.jsx(va,{fetchState:"In-Progress"});if(d.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(T?.phone==null)throw Error("Can't access user phone number.");return c.jsxs(Ko,{children:[c.jsx(Ie,{isAppContentDrawerOpen:u,handleDrawerToggle:q}),c.jsx(Yo,{cardId:s,card:d,shippingAddressId:d.shippingAddressId,phone:T.phone,signedInUser:x,isSandboxEnv:xt(),chargeCardDetailState:D,signedInUserToken:b,navigate:a,currentTenant:B,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(Zo,{windowSize:n,children:e}):null]})},Yo=De(function(e,{chargeCardDetailState:n,shippingAddressId:t,location:a,cardId:s}){const y=_s(e.addressState,t);if(y==null)throw Error("Can't access shippingAddress.");const f=Nn(e,s),S=n.updateStatus,w=ua(e,!1,!1,!1);let l=!1;w.fetchState==="Completed"&&w.cards.length<=1&&(l=!0);const m=a.state?.message==="comingFromV2UrlPath";return{showActivatePage:n.chargeCard?.providerCardCreateTime!=null&&n.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Ps())||m,showMenuIcon:l,shippingAddress:y,vgsVaultId:st.cardVaultId,twoFAView:f,activationWaitStatus:S,isRefreshingViewInBackground:n.isRefreshingViewInBackground}},function(e,n){const{navigate:t,cardId:a,location:s,currentTenant:y,chargeCardDetailState:f}=n,S=f.chargeCard?.cardProviderID,{tenantEmailDomain:w}=y;return{onGetOtp:l=>{S!=null&&e(tt(l,"ChargeCardHolder",a))},onUpdatePhysicalChargeCardAttempt:l=>{e(vs(a,l))},onResendOtp:l=>{S!=null&&e(at(l,"ChargeCardHolder",a))},onVerifyOtp:(l,m)=>{S!=null&&e(et(l,m,"ChargeCardHolder",a))},onVerifyOtpSuccess:l=>{l!=null&&re.saveZeniOtpTokenForCardHolder(l,a)},onCVVActivateSuccess:()=>{e(ws({chargeCardId:a}))},onBackClick:()=>{const l=_e(s.state?.pathnameStackToGoBack),m=l.poppedPathname==null||l.poppedPathname.includes("onboard")===!0?aa(w):l.poppedPathname;t(m,{state:{pathnameStackToGoBack:l.newStack}})}}})(Xc),Zo=Ne.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  width: ${e=>`${zo.containerWidth.value(e.windowSize)}%`};
5
5
  ${e=>e.windowSize!=="small"?"overflow: auto;":""}
6
- `,Wo=Ne.div`
6
+ `,Ko=Ne.div`
7
7
  display: flex;
8
8
  min-height: 100%;
9
9
  width: 100%;
@@ -11,18 +11,18 @@ import{j as c}from"./liveblocks-DS8sOLD1.js";import{h as de,g as Ce,i as Me,u as
11
11
  flex-direction: column;
12
12
  align-items: center;
13
13
  background-color: ${e=>e.theme.colors.grey4};
14
- `,Wa=Xe.getLocalizedStrings().dateFormat,qo={overlayWidth:new Fa(100,100,58)},Lr=[Br,it],Qo=new Set(Lr),Jo=De(function(e,n){const t=n.currentTenant?.companyId;return{plaidConnectionDetails:Bs(e,t,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:Rs(e.depositAccountState,e.depositAccountListState)}},function(e,n){const{navigate:t,currentTenant:a,hasZeniAccountsAdminAccess:s,isZeniAccountsUser:y,isCashbackInfoFetchStateCompleted:f,isCreditCardInfoFetchStateCompleted:S,isDebitCardInfoFetchStateCompleted:w,controllerEmails:l,paymentDetails:m,productInformation:R,cashbackInformation:v,paymentSourceInformation:u,creditAccountInformation:M,debitAccountInformation:x,paymentInitiatedDate:B,sourcePage:p}=n,{tenantEmailDomain:h}=a,D=()=>{e(Gn(!0));const d=ea(a);d!=null&&d!==""&&e(Pa(d,!0,!0)),e(Qe(!0))};return{onBackNavigation:()=>{if(f&&S&&w&&v!=null&&J.trackCardsPayEarlyFormClick(l,R,v,"Back",m.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:m.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:m.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:m.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:m.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:B?.add(3,"day").format(Wa.visual.MMMDCommaYYYYformat),paymentInitiatedDate:B?.format(Wa.visual.MMMDCommaYYYYformat)},u,M,x),p==="cardPaymentHistory")n.closeDrawerHandler(!0),e($n());else{const d=aa(h);t(d)}},onUpdatePaymentAccountStatus:(d,_,k)=>{e(Os(d,_,"bill_pay","bill_pay_detail",k))},onEstablishConnectionSuccess:()=>{e(Pa(a.companyId,!0))},onFetchLinkTokenClick:d=>{e(Us("external_account",d))},onEstablishConnectionClick:d=>{e(Ls(d,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:d=>{Qo.has(d)&&D()},onPusherSubscribed:D}})(ct(eo)),Gt=({isPaymentDrawerOpen:e,closeDrawerHandler:n,pageName:t,creditAccountSpentAmount:a,productInformation:s,sourcePage:y,creditAccountInformation:f,debitAccountInformation:S,cashbackInformation:w,isDebitCardInfoFetchStateCompleted:l,isCreditCardInfoFetchStateCompleted:m,isCashbackInfoFetchStateCompleted:R,paymentInitiatedDate:v,retryRepayment:u})=>{const M=de(),{useDynamicConfig:x}=le(),{configValue:B}=x(Ye.zeniAccountsConfig),p=Ts(B),h=o(F=>Vn(F)),{creditAccount:D}=o(F=>da(F)),d=o(F=>fe(F)),_=Bt(),k=Ta(),j=pe(),A=re.getSignedInUser(),I=Fe(),[L,i]=r.useState(!1),[C,N]=r.useState(!1),{configValue:G}=x(Ye.zeniCardsConfig),U=G.credit_card_auto_pay_threshold_by_company_id?.[d.companyId]??G.default_credit_card_auto_pay_threshold??Io,O=Hn(I?.loggedInUserRoleMap),z=Fs(I?.loggedInUserRoleMap),Y=!!d.companyZeniAccountInfo?.info?.isZeniAccountEnabled,b=o(F=>wa(F,d.companyId)),T=b.companyChargeCardInfo?.primaryFundingAccount,Z=b.allFundingAccounts.find(F=>F.id===T?.accountId),q=o(F=>oa(F,d.companyId)),E=ia(q.controllers);r.useEffect(()=>{if(h.fetchState!=="Completed"&&h.fetchState!=="In-Progress"&&j(Gn()),h.fetchState==="Completed"&&!C){const F=d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,P=h.transferFromAccounts.find(W=>W.id===F);let ee;if(y==="cardPaymentHistory"&&u){const W=u.paymentAccountId!=null?h.transferFromAccounts.find(ke=>ke.id===u.paymentAccountId):void 0;ee={amount:u.amount,isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:hn(),transferFrom:W??P}}else ee={amount:{amount:D.balance.amount+D.hold.amount,currencyCode:D.balance.currencyCode,currencySymbol:D.balance.currencySymbol},isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:hn(),transferFrom:P};j(mn(ee)),N(!0)}},[h.fetchState,C,y,u,h.transferFromAccounts,d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,d.companyChargeCardInfo?.info?.isAutoPayEnabled,D.balance.amount,D.balance.currencyCode,D.balance.currencySymbol,D.hold.amount,j]);const V={isZeniCheckingEnabled:d.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:Z?.accType==="depositAccount",creditCardPaymentSourceAccountName:Z?.label,creditCardPaymentSourceAccountType:Z?.accType,creditCardPaymentSourceLastFourDigits:Z?.accountLast4,creditCardPaymentSourceBalance:Z?.accountBalance?.available?.amount??0};if(r.useEffect(()=>{b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&j(Pa(d.companyId,!0))},[b.fetchState]),r.useEffect(()=>{h.updateStatus==="Completed"&&w!=null&&R&&m&&l&&J.trackCardsPayEarlyPayNowClick(E,s,w,h.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:h.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:h.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:h.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:h.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:v?.add(3,"day").format(Wa.visual.MMMDCommaYYYYformat),paymentInitiatedDate:v?.format(Wa.visual.MMMDCommaYYYYformat)},V,f,S)},[h.updateStatus,w,R,m,l,v]),r.useEffect(()=>{h.fetchState==="Completed"&&w!=null&&R&&m&&l&&!L&&e&&C&&w!=null&&(J.trackCardsPayEarlyFormView(E,s,w,t,d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,D.balance.amount,V,f,S),i(!0))},[h,R,m,l,L,e,C]),A==null)throw Error("Can't access invite people page without signing in...");const Q=()=>{n(!0),j($n())},X=ea(d),g={events:e?Ca(X,Lr):[],eventCallback:(F,P,ee)=>{ee.onEventReceived(F)},onSubscribed:F=>{F.onPusherSubscribed()}};return c.jsx(c.Fragment,{children:c.jsx(br,{onClose:()=>{Q()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:qo.overlayWidth.valuePercentage(k),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:_.colors.black,opacity:.75,cursor:"pointer"}}},children:c.jsx(Xo,{onClick:F=>F.stopPropagation(),children:c.jsx(Jo,{...g,closeDrawerHandler:n,navigate:M,paymentDetails:h,creditAccountSpentAmount:a,onTransferClick:()=>{R&&m&&l&&w!=null&&J.trackCardsPayEarlyFormClick(E,s,w,"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},V,f,S),j(xs({companyId:d.companyId}))},onDismissClick:Q,onSaveChangesToLocalStore:F=>{j(mn(F))},currentTenant:d,hasZeniAccountsAdminAccess:O,isZeniAccountsUser:z,isZeniAccountSetupEnabled:Y,productInformation:s,sourcePage:y,controllerEmails:E,autoPayThreshold:U,paymentSourceInformation:V,creditAccountInformation:f,debitAccountInformation:S,cashbackInformation:w,isCashbackInfoFetchStateCompleted:R,isCreditCardInfoFetchStateCompleted:m,isDebitCardInfoFetchStateCompleted:l,paymentInitiatedDate:v,maxInsuredAmount:p.maxInsuredAmount})})})})},Xo=Ne(yo)`
14
+ `,Ka=Xe.getLocalizedStrings().dateFormat,qo={overlayWidth:new Fa(100,100,58)},Lr=[Br,it],Qo=new Set(Lr),Jo=De(function(e,n){const t=n.currentTenant?.companyId;return{plaidConnectionDetails:Bs(e,t,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:Rs(e.depositAccountState,e.depositAccountListState)}},function(e,n){const{navigate:t,currentTenant:a,hasZeniAccountsAdminAccess:s,isZeniAccountsUser:y,isCashbackInfoFetchStateCompleted:f,isCreditCardInfoFetchStateCompleted:S,isDebitCardInfoFetchStateCompleted:w,controllerEmails:l,paymentDetails:m,productInformation:R,cashbackInformation:v,paymentSourceInformation:u,creditAccountInformation:M,debitAccountInformation:x,paymentInitiatedDate:B,sourcePage:p}=n,{tenantEmailDomain:h}=a,D=()=>{e(Gn(!0));const d=ea(a);d!=null&&d!==""&&e(Pa(d,!0,!0)),e(Qe(!0))};return{onBackNavigation:()=>{if(f&&S&&w&&v!=null&&J.trackCardsPayEarlyFormClick(l,R,v,"Back",m.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:m.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:m.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:m.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:m.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:B?.add(3,"day").format(Ka.visual.MMMDCommaYYYYformat),paymentInitiatedDate:B?.format(Ka.visual.MMMDCommaYYYYformat)},u,M,x),p==="cardPaymentHistory")n.closeDrawerHandler(!0),e($n());else{const d=aa(h);t(d)}},onUpdatePaymentAccountStatus:(d,_,k)=>{e(Us(d,_,"bill_pay","bill_pay_detail",k))},onEstablishConnectionSuccess:()=>{e(Pa(a.companyId,!0))},onFetchLinkTokenClick:d=>{e(Os("external_account",d))},onEstablishConnectionClick:d=>{e(Ls(d,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:d=>{Qo.has(d)&&D()},onPusherSubscribed:D}})(ct(eo)),Gt=({isPaymentDrawerOpen:e,closeDrawerHandler:n,pageName:t,creditAccountSpentAmount:a,productInformation:s,sourcePage:y,creditAccountInformation:f,debitAccountInformation:S,cashbackInformation:w,isDebitCardInfoFetchStateCompleted:l,isCreditCardInfoFetchStateCompleted:m,isCashbackInfoFetchStateCompleted:R,paymentInitiatedDate:v,retryRepayment:u})=>{const M=de(),{useDynamicConfig:x}=le(),{configValue:B}=x(We.zeniAccountsConfig),p=Ts(B),h=o(F=>Vn(F)),{creditAccount:D}=o(F=>da(F)),d=o(F=>fe(F)),_=Bt(),k=Ta(),j=pe(),A=re.getSignedInUser(),I=Fe(),[L,i]=r.useState(!1),[C,N]=r.useState(!1),{configValue:G}=x(We.zeniCardsConfig),O=G.credit_card_auto_pay_threshold_by_company_id?.[d.companyId]??G.default_credit_card_auto_pay_threshold??Io,U=Hn(I?.loggedInUserRoleMap),z=Fs(I?.loggedInUserRoleMap),W=!!d.companyZeniAccountInfo?.info?.isZeniAccountEnabled,b=o(F=>wa(F,d.companyId)),T=b.companyChargeCardInfo?.primaryFundingAccount,Y=b.allFundingAccounts.find(F=>F.id===T?.accountId),q=o(F=>oa(F,d.companyId)),E=ia(q.controllers);r.useEffect(()=>{if(h.fetchState!=="Completed"&&h.fetchState!=="In-Progress"&&j(Gn()),h.fetchState==="Completed"&&!C){const F=d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,P=h.transferFromAccounts.find(K=>K.id===F);let ee;if(y==="cardPaymentHistory"&&u){const K=u.paymentAccountId!=null?h.transferFromAccounts.find(ke=>ke.id===u.paymentAccountId):void 0;ee={amount:u.amount,isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:hn(),transferFrom:K??P}}else ee={amount:{amount:D.balance.amount+D.hold.amount,currencyCode:D.balance.currencyCode,currencySymbol:D.balance.currencySymbol},isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:hn(),transferFrom:P};j(mn(ee)),N(!0)}},[h.fetchState,C,y,u,h.transferFromAccounts,d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,d.companyChargeCardInfo?.info?.isAutoPayEnabled,D.balance.amount,D.balance.currencyCode,D.balance.currencySymbol,D.hold.amount,j]);const V={isZeniCheckingEnabled:d.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:Y?.accType==="depositAccount",creditCardPaymentSourceAccountName:Y?.label,creditCardPaymentSourceAccountType:Y?.accType,creditCardPaymentSourceLastFourDigits:Y?.accountLast4,creditCardPaymentSourceBalance:Y?.accountBalance?.available?.amount??0};if(r.useEffect(()=>{b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&j(Pa(d.companyId,!0))},[b.fetchState]),r.useEffect(()=>{h.updateStatus==="Completed"&&w!=null&&R&&m&&l&&J.trackCardsPayEarlyPayNowClick(E,s,w,h.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:h.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:h.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:h.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:h.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:v?.add(3,"day").format(Ka.visual.MMMDCommaYYYYformat),paymentInitiatedDate:v?.format(Ka.visual.MMMDCommaYYYYformat)},V,f,S)},[h.updateStatus,w,R,m,l,v]),r.useEffect(()=>{h.fetchState==="Completed"&&w!=null&&R&&m&&l&&!L&&e&&C&&w!=null&&(J.trackCardsPayEarlyFormView(E,s,w,t,d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,D.balance.amount,V,f,S),i(!0))},[h,R,m,l,L,e,C]),A==null)throw Error("Can't access invite people page without signing in...");const Q=()=>{n(!0),j($n())},X=ea(d),g={events:e?Ca(X,Lr):[],eventCallback:(F,P,ee)=>{ee.onEventReceived(F)},onSubscribed:F=>{F.onPusherSubscribed()}};return c.jsx(c.Fragment,{children:c.jsx(br,{onClose:()=>{Q()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:qo.overlayWidth.valuePercentage(k),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:_.colors.black,opacity:.75,cursor:"pointer"}}},children:c.jsx(Xo,{onClick:F=>F.stopPropagation(),children:c.jsx(Jo,{...g,closeDrawerHandler:n,navigate:M,paymentDetails:h,creditAccountSpentAmount:a,onTransferClick:()=>{R&&m&&l&&w!=null&&J.trackCardsPayEarlyFormClick(E,s,w,"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},V,f,S),j(xs({companyId:d.companyId}))},onDismissClick:Q,onSaveChangesToLocalStore:F=>{j(mn(F))},currentTenant:d,hasZeniAccountsAdminAccess:U,isZeniAccountsUser:z,isZeniAccountSetupEnabled:W,productInformation:s,sourcePage:y,controllerEmails:E,autoPayThreshold:O,paymentSourceInformation:V,creditAccountInformation:f,debitAccountInformation:S,cashbackInformation:w,isCashbackInfoFetchStateCompleted:R,isCreditCardInfoFetchStateCompleted:m,isDebitCardInfoFetchStateCompleted:l,paymentInitiatedDate:v,maxInsuredAmount:p.maxInsuredAmount})})})})},Xo=Ne(yo)`
15
15
  display: flex;
16
16
  min-height: 100%;
17
17
  flex-direction: column;
18
- `,$t=e=>e!=null&&typeof e=="object"?e:null,ie=e=>typeof e=="string"?e:void 0,Oe=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,qa=e=>e!=null&&typeof e=="object"&&typeof e.code=="string"&&typeof e.name=="string",ft=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"&&!!qa(n.transaction_status)&&!!qa(n.transaction_type)},zt=(e,n)=>{const t=e?.card_status;if(!qa(t))return null;const a=e?.is_locked_by_admin;return{cardId:n,cardStatus:t,isLockedByAdmin:typeof a=="boolean"?a:void 0}},Et=[wr,vr,Tr,Fr,xr,ma,Mt,it,Nt,Vt,Ht],Ur=[La,Ra],ei=new Set([...Et,...Ur]),gt=Xe.getLocalizedStrings().dateFormat,ai=De(function(e,n){const{includeCreditAccountInfo:t,cardId:a,signedInUserToken:s,isChargeCardFeatureEnabled:y}=n,f=re.getSignedInUser(),S=e.tenantState.currentTenantId,w={userId:f?.userId??"",sessionId:f?.zeniSessionId??"",tenantId:S??""},l=_t(e,a,t,y),m=Ys(e,a),R=Zs(e);return{chargeCardDetailView:l,chargeCardsRecurringExpensesState:m,vgsVaultId:st.cardVaultId,transactionAttachmentsEndpointToFetch:`${kt}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${kt}/card_transaction_attachment`,authParams:w,isSnackbarOpen:R.isSnackbarOpen,cardsEndPoint:`${fr.cardMicroServiceBaseUrl}`,signedInUserToken:l.twoFAView.token??s}},function(e,n){const{cardId:t,currentTenant:a,navigate:s,location:y,cardProviderId:f,includeCreditAccountInfo:S,setIsPaymentOpen:w,controllerEmails:l,productInformation:m,cashbackInformation:R,primaryFundingAccountDetails:v,creditAccountInformation:u,debitAccountInformation:M,isChargeCardFeatureEnabled:x}=n,{tenantEmailDomain:B}=a;return{onEventReceived:(p,h)=>{(({event:D,data:d,cardId:_,dispatch:k,subscribedEvents:j})=>{const A=$t(d);switch(D){case La:case Ra:return void k(_a(!0));case wr:{const I=ie(A?.card_id);if(I==null||I!==_)return;const L=ie(A?.transaction_id),i=A?.transaction_status;return L!=null&&qa(i)?void k($s({transactionId:L,transactionStatus:i})):void k(ra(_,null,null,!0))}case ma:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=zt(A,I);return L!=null?void k(wt(L)):void k(ga(_,!0))}case Mt:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=ie(A?.currency_code),i=ie(A?.currency_symbol),C=Oe(A?.balance);return L!=null&&i!=null&&C!=null?(k(Gs({cardId:I,currencyCode:L,currencySymbol:i,balance:C,hold:Oe(A?.hold),dailyPurchaseSpends:Oe(A?.daily_purchase_spends),monthlyPurchaseSpends:Oe(A?.monthly_purchase_spends),dailyWithdrawals:Oe(A?.daily_withdrawals),monthlyWithdrawals:Oe(A?.monthly_withdrawals)})),void k(Qe(!0))):(k(ga(_,!0)),void k(Qe(!0)))}case it:{const I=ie(A?.currency_code),L=ie(A?.currency_symbol),i=Oe(A?.available_amount),C=Oe(A?.balance_amount);return I!=null&&L!=null&&i!=null&&C!=null?void k(Hs({currencyCode:I,currencySymbol:L,available:i,balance:C,hold:Oe(A?.hold_amount),cashback:Oe(A?.cashback_amount)})):void k(Qe(!0))}case vr:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=A?.transaction;return ft(L)?void k(Vs({cardId:I,transaction:L})):void k(ra(_,null,null,!0))}case Tr:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=A?.transaction;return ft(L)?void k(Ns({cardId:I,declineReason:ie(A?.decline_reason),transaction:L})):void k(ra(_,null,null,!0))}case Fr:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=A?.transaction;return ft(L)?void k(Ms({cardId:I,transaction:L})):void k(ra(_,null,null,!0))}case xr:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=ie(A?.transaction_id),i=A?.attachment_file_paths;return L!=null&&Array.isArray(i)&&i.every(C=>typeof C=="string")?void k(js({cardId:I,transactionId:L,attachmentFilePaths:i})):void k(ra(_,null,null,!0))}case Nt:case Vt:case Ht:{const I=ie(A?.card_id);if(I==null||I!==_)return;k(ga(_,!0))}}})({event:p,data:h,cardId:t,dispatch:e,subscribedEvents:ei})},onPusherSubscribed:()=>{e(ga(t,!0)),e(ra(t,null,null,!0)),e(Qe(!0))},onReloadTransactions:()=>{e(ka(t,S,x))},onFetchChargeCardTransactionList:(p,h)=>{e(ra(t,p,h))},onUpdateScrollYOffset:p=>{},onGetOtp:p=>{f!=null&&e(tt(p,"ChargeCardHolder",t))},onResendOtp:p=>{f!=null&&e(at(p,"ChargeCardHolder",t))},onVerifyOtp:(p,h)=>{f!=null&&e(et(p,h,"ChargeCardHolder",t))},onVerifyOtpSuccess:p=>{p!=null&&re.saveZeniOtpTokenForCardHolder(p,t)},onColorCodeChange:p=>{e(Xs(t,p))},onLockChargeCard:(p,h)=>{e(Xn(p,t,h))},onUnlockChargeCard:p=>{e(Jn(p,t))},onCloseChargeCard:p=>{e(Qn(t,p))},onFetchChargeCardsRecurringExpenses:()=>{e(qn([t]))},updateChargeCardName:(p,h)=>{e(Wn(p,t,h))},updateChargeCardTransactionAttachments:(p,h)=>{h!=null&&e(Js({transactionId:p,data:h}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(p,h,D,d)=>{e(Qs({chargeCardId:h,transactionId:p,fetchState:D,error:d}))},updateChargeCardTransactionReceiptsShowTick:(p,h,D)=>{e(qs({chargeCardId:h,transactionId:p,shouldShowTick:D}))},onChargeCardRevokeInviteClick:()=>{e(Kn(t))},updateChargeCardTransactionIsViewReceiptClicked:(p,h,D)=>{e(Ws({chargeCardId:h,transactionId:p,isViewReceiptClicked:D}))},onChargeCardTransactionRowClick:(p,h)=>{const D=ye(y.state?.pathnameStackToGoBack,y.pathname);s(`../../transaction/${p}/${h}`,{state:{pathnameStackToGoBack:D}})},onBackClick:()=>{const p=_e(y.state?.pathnameStackToGoBack),h=aa(B);s(h,{state:{pathnameStackToGoBack:p.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(Ks())},onUpdateDebitCardPinAttempt:p=>{e(Zn(t,p)),p==="success"&&e(ze({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(p,h)=>{p?e(ze({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):h!=null&&e(ze({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:h.message}]}))},updateSpendLimit(p,h,D,d){e(Yn(p,h,D.code,d))},shouldOpenCreditCardPaymentDrawer(p){p&&R!=null&&J.trackCardsPayEarlyClick(l,m,R,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:a.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:v?.accType==="depositAccount",creditCardPaymentSourceAccountName:v?.label,creditCardPaymentSourceAccountType:v?.accType,creditCardPaymentSourceLastFourDigits:v?.accountLast4,creditCardPaymentSourceBalance:v?.accountBalance?.available?.amount??0},u,M),w(p)}}})(ct(to));function ti(){const e=de(),n=pe(),t=Ce(),{cardId:a}=Me(),[s,y]=r.useState(!1),[f,S]=r.useState(!1),{useDynamicConfig:w}=le(),l=re.getSignedInUser(),m=o(H=>fe(H)),R=o(H=>Qa(H).firstViewAfterActivation),v=o(H=>H.classListState.fetchState),{configValue:u}=w(Ye.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:M}=w(Ye.zeniCardsConfig),x=M.enable_card_controls_for_company_ids,B=M.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(x)&&x.includes(m.companyId),[p,h]=r.useState(!1),[D,d]=r.useState(!1),{useFeatureGate:_}=le(),{isFeatureEnabled:k}=_(K.isChargeCardFeatureEnabled),{isFeatureEnabled:j}=_(K.isDebitCardFeatureEnabled),A=Te(j,m),I=xe({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:A}),{isFeatureEnabled:L}=_(K.isEarlyPayFeatureEnabled),{isFeatureEnabled:i}=_(K.isCardsCommentingEnabled),C=ve(m),N=we(m),G=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,U=Be({isCardsOnlyTenant:N,isChargeCardFeatureEnabled:k,isBookKeepingTenant:C,isDebitCardProductVisible:I,chargeCardsCreditAccountLimit:G}),O=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,z=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,Y=!m.userRole.includes("charge_card_user")&&U&&z;if(a==null)throw Error("Empty card id is not valid...");const b=o(H=>wa(H,m.companyId)),{creditAccount:T,creditAccountRepayment:Z}=o(H=>da(H)),q=re.getZeniOtpTokenForCardHolder(a),E=o(H=>_t(H,a,Y,U)),{isAiCfoAccessEnabled:V,onAskAiCfoClick:Q}=xa({mobileExploreReferrer:"Card Detail"});Ft({isDataReady:E.fetchState==="Completed"});const X=o(H=>la(H)),g=E.chargeCard,F=Fe(),P=Pe(F?.loggedInUserRoleMap),ee=g?.type.code==="business_physical_debit_card"||g?.type.code==="business_virtual_debit_card",W=g?.type.code==="business_physical_debit_card"||g?.type.code==="business_physical_credit_card",ke=g?.type.code==="business_virtual_debit_card"||g?.type.code==="business_virtual_credit_card",Se=g?.type.code==="business_virtual_debit_card",ge=Ba(U,z,P,T,Z),ae=yr(ee,E),ue=Ut(P,X),oe=Je(U,I,O,z),te=E.depositAccountLimitFetchState.fetchState!=="Completed"&&E.depositAccountLimitFetchState.fetchState!=="In-Progress",Ze=o(H=>oa(H,m.companyId)),Ee=ia(Ze.controllers),ne=o(H=>g?.cardCreatedByUser?.userId!=null?za(H.userRoleState,g?.cardCreatedByUser?.userId):void 0),Ke=o(H=>ne?.accountingClassIDs[0]!=null?Ya(H.classState,{classId:ne?.accountingClassIDs[0],reportId:"class_list"}):void 0),Re=o(H=>g?.cardHolderUser?.userId!=null?za(H.userRoleState,g?.cardHolderUser?.userId):void 0),ce=o(H=>Re?.accountingClassIDs[0]!=null?Ya(H.classState,{classId:Re?.accountingClassIDs[0],reportId:"class_list"}):void 0),Ea=m?.userRole,pa=o(H=>ua(H,!1,I,k).revokeCardInvite),ha=ya(pa.saveStatus.fetchState);if(r.useEffect(()=>{if(ha==="In-Progress"&&pa.saveStatus.fetchState==="Completed"){const H=aa(m.tenantEmailDomain);e(H)}},[ha,pa.saveStatus.fetchState,e,m.tenantEmailDomain]),r.useEffect(()=>{R&&s===!1&&ke&&(y(!0),setTimeout(()=>{n(Za()),Se&&n(ze({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[R,s,ke,Se]),r.useEffect(()=>{p||E.fetchState==="Completed"||E.fetchState==="In-Progress"||a==null||(h(!0),n(ka(a,Y,U,!1)))},[p,E,a,n]),r.useEffect(()=>{!D&&E.fetchState==="Completed"&&E.chargeCard?.connectedAccountId!=null&&ee&&te&&P&&(d(!0),n(zn({depositAccountId:E.chargeCard?.connectedAccountId})))},[D,E,n,te,P]),r.useEffect(()=>{X.fetchState!=="Completed"&&X.fetchState!=="In-Progress"&&P&&n(_a()),v!=="Completed"&&v!=="In-Progress"&&n(jn()),E.transactionStatistics.fetchState!=="Completed"&&E.transactionStatistics.fetchState!=="In-Progress"&&n(zs({chargeCardId:a})),b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&n(Pa(m.companyId,!0))},[X.fetchState,n,P,v,E.transactionStatistics.fetchState,b.fetchState]),r.useEffect(()=>{if(!(E.fetchState!=="Completed"||U&&T.fetchState!=="Completed"||g==null||E.transactionStatistics.fetchState!=="Completed"||ee&&P&&E.depositAccountLimitFetchState.fetchState!=="Completed")){const H=g.type.code.includes("physical"),he=H?g.cardActivationAttemptHistory[0]?.timestamp:g.createTime;J.trackCardsCardDetailView(Ee,oe,{cardId:a,cardName:g.cardName,cardType:g.type.code.includes("credit")?"credit":"debit",cardCategory:H?"physical":"virtual",cardLimit:Sa(g.limit.amount),cardLastFourDigits:g.accountLast4,cardStatus:g.status.code,cardAssignedDate:g.createTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:g.providerCardCreateTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:he?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:g.creditLimitFrequency.name,cardSpentAmount:Sa(g.balance.amount),cardAvailableLimit:Sa(g.available.amount),cardUtilizationPercent:g.limit.amount>0?Math.round((g.limit.amount-g.available.amount)/g.limit.amount*100):0,cardUtilizationAmount:Sa(g.limit.amount-g.available.amount),totalNumberOfDeclinedTransactions:E.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:E.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:E.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:E.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:E.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:E.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:It(g.cardCreatedByUser,!1),cardIssuedByEmail:g.cardCreatedByUser?.email,cardIssuedByUserId:g.cardCreatedByUser?.userId,cardIssuedByRole:ne?.userRoles,cardIssuedByDepartment:Ke?.className},{cardholderName:It(g.cardHolderUser,!1),cardholderEmail:g.cardHolderUser?.email,cardholderRole:Re?.userRoles,cardholderUserId:g.cardHolderUser?.userId,cardholderDepartment:ce?.className},ge,ae)}},[E.fetchState,E.depositAccountLimitFetchState.fetchState,E.transactionStatistics.fetchState,T.fetchState,P]),l==null)throw Error("Can't access card detail page without signing in...");const ta=ea(m),Aa=P?[...Et,...Ur]:Et,lt={events:Ca(ta,Aa),eventCallback:(H,he,Le)=>{Le.onEventReceived(H,he)},onSubscribed:H=>{H.onPusherSubscribed()}},ut=()=>{if(a!=null&&g!=null){const{ownerName:H,cardName:he,utilisation:Le,limit:Ve,frequency:He,cardColor:Ge}=St(g),$e=g.cardHolderUserId===l.userId;J.trackCardsDetailPageViewed(a,H,he,Le,Ve,He,Ge,$e)}};r.useEffect(()=>{if(E.fetchState==="Completed"){const H=E.chargeCard;if(H?.status.code==="inactive"||ee&&H?.isPinSet===!1||W&&R){const he=Ae(m.tenantEmailDomain,a,l,g,R);e(he)}}},[E.fetchState]);const me=(H,he)=>{if(a!=null&&g!=null){const{ownerName:Le,cardName:Ve,utilisation:He,limit:Ge,frequency:$e}=St(g),na=g.cardHolderUserId===l.userId;J.trackCardsDetailPageClicked(a,Le,Ve,He,Ge,$e,H,na,he)}},Ua=(H,he)=>{if(a!=null&&g!=null){const{ownerName:Le,cardName:Ve,utilisation:He,limit:Ge,frequency:$e}=St(g),na=g.cardHolderUserId===l.userId;J.trackCardsVerifyPopUpClick(a,Le,Ve,He,Ge,$e,H,na,he)}},Da=T.balance.amount+T.hold.amount,mt=m.companyChargeCardInfo?.info?.primaryFundingAccount,Oa=b.allFundingAccounts.find(H=>H.id===mt?.accountId),ja=E.chargeCard!=null,Ma=E.depositAccountLimit!=null;return E.fetchState!=="Error"||ja?!ja&&(E.fetchState==="In-Progress"||E.fetchState==="Not-Started")||pa.saveStatus.fetchState==="In-Progress"||!Ma&&ee&&P&&E.depositAccountLimitFetchState.fetchState!=="Completed"?c.jsx(ao,{}):c.jsxs(c.Fragment,{children:[c.jsx(rt,{showConfetti:R}),E.fetchState==="Completed"?c.jsx(Rt,{analytics:J,onLoad:ut}):null,f===!0?c.jsx(Gt,{closeDrawerHandler:()=>S(!1),isPaymentDrawerOpen:f,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:oe,creditAccountInformation:ge,debitAccountInformation:ae,cashbackInformation:ue,creditAccountSpentAmount:Da,isDebitCardInfoFetchStateCompleted:!ee||!P||E.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!U||T.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!P||X.fetchState==="Completed",paymentInitiatedDate:Z.initiatedRepaymentDate}):null,c.jsx(ai,{...lt,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:Ua,onFireOnClickAnalytics:me,isSandboxEnv:xt(),signedInUser:l,location:t,navigate:e,setIsPaymentOpen:S,cardIssuedByRoles:ne?.userRoles,cardIssuedByDepartmentName:Ke?.className,cardHolderRoles:Re?.userRoles,cardHolderDepartmentName:ce?.className,loggedInUserRole:Ea,isChargeCardFeatureEnabled:U,isDebitCardFeatureEnabled:I,isDebitCardSetupEnabled:O,isChargeCardSetupEnabled:z,isCardControlsEnabled:B,isEarlyPayEnabled:L,controllerEmails:Ee,chargeCardCashbackDetailState:X,productInformation:oe,creditAccountInformation:ge,debitAccountInformation:ae,cashbackInformation:ue,classListFetchState:v,primaryFundingAccountDetails:Oa,currentTenant:m,cardProviderId:E.chargeCard?.cardProviderID,cardId:a,creditAccount:T,creditAccountRepayment:Z,includeCreditAccountInfo:Y,signedInUserToken:q,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:u.documentAiReceiptMaxSizeLimitBytes!=null?u.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:V,onAskAiCfoClick:Q,isCardsCommentingEnabled:i})]}):c.jsx(ot,{})}const St=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:ni,subheadline:ri,pageTitle:si}}}}=Xe.getLocalizedStrings(),Or=[ma,it,Rr,Ra,La,dt,Ht,No,Nt,Vt,Mt],ci=new Set(Or),At=Lt((e,n,t,a)=>{e(ca(n,t,a,!0))},400),oi=Ne.div`
18
+ `,$t=e=>e!=null&&typeof e=="object"?e:null,ie=e=>typeof e=="string"?e:void 0,Ue=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,qa=e=>e!=null&&typeof e=="object"&&typeof e.code=="string"&&typeof e.name=="string",ft=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"&&!!qa(n.transaction_status)&&!!qa(n.transaction_type)},zt=(e,n)=>{const t=e?.card_status;if(!qa(t))return null;const a=e?.is_locked_by_admin;return{cardId:n,cardStatus:t,isLockedByAdmin:typeof a=="boolean"?a:void 0}},Et=[wr,vr,Tr,Fr,xr,ma,Mt,it,Nt,Vt,Ht],Or=[La,Ra],ei=new Set([...Et,...Or]),gt=Xe.getLocalizedStrings().dateFormat,ai=De(function(e,n){const{includeCreditAccountInfo:t,cardId:a,signedInUserToken:s,isChargeCardFeatureEnabled:y}=n,f=re.getSignedInUser(),S=e.tenantState.currentTenantId,w={userId:f?.userId??"",sessionId:f?.zeniSessionId??"",tenantId:S??""},l=_t(e,a,t,y),m=Ws(e,a),R=Ys(e);return{chargeCardDetailView:l,chargeCardsRecurringExpensesState:m,vgsVaultId:st.cardVaultId,transactionAttachmentsEndpointToFetch:`${kt}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${kt}/card_transaction_attachment`,authParams:w,isSnackbarOpen:R.isSnackbarOpen,cardsEndPoint:`${fr.cardMicroServiceBaseUrl}`,signedInUserToken:l.twoFAView.token??s}},function(e,n){const{cardId:t,currentTenant:a,navigate:s,location:y,cardProviderId:f,includeCreditAccountInfo:S,setIsPaymentOpen:w,controllerEmails:l,productInformation:m,cashbackInformation:R,primaryFundingAccountDetails:v,creditAccountInformation:u,debitAccountInformation:M,isChargeCardFeatureEnabled:x}=n,{tenantEmailDomain:B}=a;return{onEventReceived:(p,h)=>{(({event:D,data:d,cardId:_,dispatch:k,subscribedEvents:j})=>{const A=$t(d);switch(D){case La:case Ra:return void k(_a(!0));case wr:{const I=ie(A?.card_id);if(I==null||I!==_)return;const L=ie(A?.transaction_id),i=A?.transaction_status;return L!=null&&qa(i)?void k($s({transactionId:L,transactionStatus:i})):void k(ra(_,null,null,!0))}case ma:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=zt(A,I);return L!=null?void k(wt(L)):void k(ga(_,!0))}case Mt:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=ie(A?.currency_code),i=ie(A?.currency_symbol),C=Ue(A?.balance);return L!=null&&i!=null&&C!=null?(k(Gs({cardId:I,currencyCode:L,currencySymbol:i,balance:C,hold:Ue(A?.hold),dailyPurchaseSpends:Ue(A?.daily_purchase_spends),monthlyPurchaseSpends:Ue(A?.monthly_purchase_spends),dailyWithdrawals:Ue(A?.daily_withdrawals),monthlyWithdrawals:Ue(A?.monthly_withdrawals)})),void k(Qe(!0))):(k(ga(_,!0)),void k(Qe(!0)))}case it:{const I=ie(A?.currency_code),L=ie(A?.currency_symbol),i=Ue(A?.available_amount),C=Ue(A?.balance_amount);return I!=null&&L!=null&&i!=null&&C!=null?void k(Hs({currencyCode:I,currencySymbol:L,available:i,balance:C,hold:Ue(A?.hold_amount),cashback:Ue(A?.cashback_amount)})):void k(Qe(!0))}case vr:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=A?.transaction;return ft(L)?void k(Vs({cardId:I,transaction:L})):void k(ra(_,null,null,!0))}case Tr:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=A?.transaction;return ft(L)?void k(Ns({cardId:I,declineReason:ie(A?.decline_reason),transaction:L})):void k(ra(_,null,null,!0))}case Fr:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=A?.transaction;return ft(L)?void k(Ms({cardId:I,transaction:L})):void k(ra(_,null,null,!0))}case xr:{const I=ie(A?.card_id)??_;if(I!==_)return;const L=ie(A?.transaction_id),i=A?.attachment_file_paths;return L!=null&&Array.isArray(i)&&i.every(C=>typeof C=="string")?void k(js({cardId:I,transactionId:L,attachmentFilePaths:i})):void k(ra(_,null,null,!0))}case Nt:case Vt:case Ht:{const I=ie(A?.card_id);if(I==null||I!==_)return;k(ga(_,!0))}}})({event:p,data:h,cardId:t,dispatch:e,subscribedEvents:ei})},onPusherSubscribed:()=>{e(ga(t,!0)),e(ra(t,null,null,!0)),e(Qe(!0))},onReloadTransactions:()=>{e(ka(t,S,x))},onFetchChargeCardTransactionList:(p,h)=>{e(ra(t,p,h))},onUpdateScrollYOffset:p=>{},onGetOtp:p=>{f!=null&&e(tt(p,"ChargeCardHolder",t))},onResendOtp:p=>{f!=null&&e(at(p,"ChargeCardHolder",t))},onVerifyOtp:(p,h)=>{f!=null&&e(et(p,h,"ChargeCardHolder",t))},onVerifyOtpSuccess:p=>{p!=null&&re.saveZeniOtpTokenForCardHolder(p,t)},onColorCodeChange:p=>{e(Xs(t,p))},onLockChargeCard:(p,h)=>{e(Xn(p,t,h))},onUnlockChargeCard:p=>{e(Jn(p,t))},onCloseChargeCard:p=>{e(Qn(t,p))},onFetchChargeCardsRecurringExpenses:()=>{e(qn([t]))},updateChargeCardName:(p,h)=>{e(Kn(p,t,h))},updateChargeCardTransactionAttachments:(p,h)=>{h!=null&&e(Js({transactionId:p,data:h}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(p,h,D,d)=>{e(Qs({chargeCardId:h,transactionId:p,fetchState:D,error:d}))},updateChargeCardTransactionReceiptsShowTick:(p,h,D)=>{e(qs({chargeCardId:h,transactionId:p,shouldShowTick:D}))},onChargeCardRevokeInviteClick:()=>{e(Zn(t))},updateChargeCardTransactionIsViewReceiptClicked:(p,h,D)=>{e(Ks({chargeCardId:h,transactionId:p,isViewReceiptClicked:D}))},onChargeCardTransactionRowClick:(p,h)=>{const D=ye(y.state?.pathnameStackToGoBack,y.pathname);s(`../../transaction/${p}/${h}`,{state:{pathnameStackToGoBack:D}})},onBackClick:()=>{const p=_e(y.state?.pathnameStackToGoBack),h=aa(B);s(h,{state:{pathnameStackToGoBack:p.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(Zs())},onUpdateDebitCardPinAttempt:p=>{e(Yn(t,p)),p==="success"&&e(ze({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(p,h)=>{p?e(ze({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):h!=null&&e(ze({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:h.message}]}))},updateSpendLimit(p,h,D,d){e(Wn(p,h,D.code,d))},shouldOpenCreditCardPaymentDrawer(p){p&&R!=null&&J.trackCardsPayEarlyClick(l,m,R,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:a.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:v?.accType==="depositAccount",creditCardPaymentSourceAccountName:v?.label,creditCardPaymentSourceAccountType:v?.accType,creditCardPaymentSourceLastFourDigits:v?.accountLast4,creditCardPaymentSourceBalance:v?.accountBalance?.available?.amount??0},u,M),w(p)}}})(ct(to));function ti(){const e=de(),n=pe(),t=Ce(),{cardId:a}=Me(),[s,y]=r.useState(!1),[f,S]=r.useState(!1),{useDynamicConfig:w}=le(),l=re.getSignedInUser(),m=o(H=>fe(H)),R=o(H=>Qa(H).firstViewAfterActivation),v=o(H=>H.classListState.fetchState),{configValue:u}=w(We.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:M}=w(We.zeniCardsConfig),x=M.enable_card_controls_for_company_ids,B=M.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(x)&&x.includes(m.companyId),[p,h]=r.useState(!1),[D,d]=r.useState(!1),{useFeatureGate:_}=le(),{isFeatureEnabled:k}=_(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:j}=_(Z.isDebitCardFeatureEnabled),A=Te(j,m),I=xe({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:A}),{isFeatureEnabled:L}=_(Z.isEarlyPayFeatureEnabled),{isFeatureEnabled:i}=_(Z.isCardsCommentingEnabled),C=ve(m),N=we(m),G=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,O=Be({isCardsOnlyTenant:N,isChargeCardFeatureEnabled:k,isBookKeepingTenant:C,isDebitCardProductVisible:I,chargeCardsCreditAccountLimit:G}),U=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,z=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,W=!m.userRole.includes("charge_card_user")&&O&&z;if(a==null)throw Error("Empty card id is not valid...");const b=o(H=>wa(H,m.companyId)),{creditAccount:T,creditAccountRepayment:Y}=o(H=>da(H)),q=re.getZeniOtpTokenForCardHolder(a),E=o(H=>_t(H,a,W,O)),{isAiCfoAccessEnabled:V,onAskAiCfoClick:Q}=xa({mobileExploreReferrer:"Card Detail"});Ft({isDataReady:E.fetchState==="Completed"});const X=o(H=>la(H)),g=E.chargeCard,F=Fe(),P=Pe(F?.loggedInUserRoleMap),ee=g?.type.code==="business_physical_debit_card"||g?.type.code==="business_virtual_debit_card",K=g?.type.code==="business_physical_debit_card"||g?.type.code==="business_physical_credit_card",ke=g?.type.code==="business_virtual_debit_card"||g?.type.code==="business_virtual_credit_card",Se=g?.type.code==="business_virtual_debit_card",ge=Ba(O,z,P,T,Y),ae=yr(ee,E),ue=Ot(P,X),oe=Je(O,I,U,z),te=E.depositAccountLimitFetchState.fetchState!=="Completed"&&E.depositAccountLimitFetchState.fetchState!=="In-Progress",Ye=o(H=>oa(H,m.companyId)),Ee=ia(Ye.controllers),ne=o(H=>g?.cardCreatedByUser?.userId!=null?za(H.userRoleState,g?.cardCreatedByUser?.userId):void 0),Ze=o(H=>ne?.accountingClassIDs[0]!=null?Wa(H.classState,{classId:ne?.accountingClassIDs[0],reportId:"class_list"}):void 0),Re=o(H=>g?.cardHolderUser?.userId!=null?za(H.userRoleState,g?.cardHolderUser?.userId):void 0),ce=o(H=>Re?.accountingClassIDs[0]!=null?Wa(H.classState,{classId:Re?.accountingClassIDs[0],reportId:"class_list"}):void 0),Ea=m?.userRole,pa=o(H=>ua(H,!1,I,k).revokeCardInvite),ha=ya(pa.saveStatus.fetchState);if(r.useEffect(()=>{if(ha==="In-Progress"&&pa.saveStatus.fetchState==="Completed"){const H=aa(m.tenantEmailDomain);e(H)}},[ha,pa.saveStatus.fetchState,e,m.tenantEmailDomain]),r.useEffect(()=>{R&&s===!1&&ke&&(y(!0),setTimeout(()=>{n(Ya()),Se&&n(ze({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[R,s,ke,Se]),r.useEffect(()=>{p||E.fetchState==="Completed"||E.fetchState==="In-Progress"||a==null||(h(!0),n(ka(a,W,O,!1)))},[p,E,a,n]),r.useEffect(()=>{!D&&E.fetchState==="Completed"&&E.chargeCard?.connectedAccountId!=null&&ee&&te&&P&&(d(!0),n(zn({depositAccountId:E.chargeCard?.connectedAccountId})))},[D,E,n,te,P]),r.useEffect(()=>{X.fetchState!=="Completed"&&X.fetchState!=="In-Progress"&&P&&n(_a()),v!=="Completed"&&v!=="In-Progress"&&n(jn()),E.transactionStatistics.fetchState!=="Completed"&&E.transactionStatistics.fetchState!=="In-Progress"&&n(zs({chargeCardId:a})),b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&n(Pa(m.companyId,!0))},[X.fetchState,n,P,v,E.transactionStatistics.fetchState,b.fetchState]),r.useEffect(()=>{if(!(E.fetchState!=="Completed"||O&&T.fetchState!=="Completed"||g==null||E.transactionStatistics.fetchState!=="Completed"||ee&&P&&E.depositAccountLimitFetchState.fetchState!=="Completed")){const H=g.type.code.includes("physical"),he=H?g.cardActivationAttemptHistory[0]?.timestamp:g.createTime;J.trackCardsCardDetailView(Ee,oe,{cardId:a,cardName:g.cardName,cardType:g.type.code.includes("credit")?"credit":"debit",cardCategory:H?"physical":"virtual",cardLimit:Sa(g.limit.amount),cardLastFourDigits:g.accountLast4,cardStatus:g.status.code,cardAssignedDate:g.createTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:g.providerCardCreateTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:he?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:g.creditLimitFrequency.name,cardSpentAmount:Sa(g.balance.amount),cardAvailableLimit:Sa(g.available.amount),cardUtilizationPercent:g.limit.amount>0?Math.round((g.limit.amount-g.available.amount)/g.limit.amount*100):0,cardUtilizationAmount:Sa(g.limit.amount-g.available.amount),totalNumberOfDeclinedTransactions:E.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:E.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:E.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:E.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:E.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:E.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:It(g.cardCreatedByUser,!1),cardIssuedByEmail:g.cardCreatedByUser?.email,cardIssuedByUserId:g.cardCreatedByUser?.userId,cardIssuedByRole:ne?.userRoles,cardIssuedByDepartment:Ze?.className},{cardholderName:It(g.cardHolderUser,!1),cardholderEmail:g.cardHolderUser?.email,cardholderRole:Re?.userRoles,cardholderUserId:g.cardHolderUser?.userId,cardholderDepartment:ce?.className},ge,ae)}},[E.fetchState,E.depositAccountLimitFetchState.fetchState,E.transactionStatistics.fetchState,T.fetchState,P]),l==null)throw Error("Can't access card detail page without signing in...");const ta=ea(m),Aa=P?[...Et,...Or]:Et,lt={events:Ca(ta,Aa),eventCallback:(H,he,Le)=>{Le.onEventReceived(H,he)},onSubscribed:H=>{H.onPusherSubscribed()}},ut=()=>{if(a!=null&&g!=null){const{ownerName:H,cardName:he,utilisation:Le,limit:Ve,frequency:He,cardColor:Ge}=St(g),$e=g.cardHolderUserId===l.userId;J.trackCardsDetailPageViewed(a,H,he,Le,Ve,He,Ge,$e)}};r.useEffect(()=>{if(E.fetchState==="Completed"){const H=E.chargeCard;if(H?.status.code==="inactive"||ee&&H?.isPinSet===!1||K&&R){const he=Ae(m.tenantEmailDomain,a,l,g,R);e(he)}}},[E.fetchState]);const me=(H,he)=>{if(a!=null&&g!=null){const{ownerName:Le,cardName:Ve,utilisation:He,limit:Ge,frequency:$e}=St(g),na=g.cardHolderUserId===l.userId;J.trackCardsDetailPageClicked(a,Le,Ve,He,Ge,$e,H,na,he)}},Oa=(H,he)=>{if(a!=null&&g!=null){const{ownerName:Le,cardName:Ve,utilisation:He,limit:Ge,frequency:$e}=St(g),na=g.cardHolderUserId===l.userId;J.trackCardsVerifyPopUpClick(a,Le,Ve,He,Ge,$e,H,na,he)}},Da=T.balance.amount+T.hold.amount,mt=m.companyChargeCardInfo?.info?.primaryFundingAccount,Ua=b.allFundingAccounts.find(H=>H.id===mt?.accountId),ja=E.chargeCard!=null,Ma=E.depositAccountLimit!=null;return E.fetchState!=="Error"||ja?!ja&&(E.fetchState==="In-Progress"||E.fetchState==="Not-Started")||pa.saveStatus.fetchState==="In-Progress"||!Ma&&ee&&P&&E.depositAccountLimitFetchState.fetchState!=="Completed"?c.jsx(ao,{}):c.jsxs(c.Fragment,{children:[c.jsx(rt,{showConfetti:R}),E.fetchState==="Completed"?c.jsx(Rt,{analytics:J,onLoad:ut}):null,f===!0?c.jsx(Gt,{closeDrawerHandler:()=>S(!1),isPaymentDrawerOpen:f,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:oe,creditAccountInformation:ge,debitAccountInformation:ae,cashbackInformation:ue,creditAccountSpentAmount:Da,isDebitCardInfoFetchStateCompleted:!ee||!P||E.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!O||T.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!P||X.fetchState==="Completed",paymentInitiatedDate:Y.initiatedRepaymentDate}):null,c.jsx(ai,{...lt,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:Oa,onFireOnClickAnalytics:me,isSandboxEnv:xt(),signedInUser:l,location:t,navigate:e,setIsPaymentOpen:S,cardIssuedByRoles:ne?.userRoles,cardIssuedByDepartmentName:Ze?.className,cardHolderRoles:Re?.userRoles,cardHolderDepartmentName:ce?.className,loggedInUserRole:Ea,isChargeCardFeatureEnabled:O,isDebitCardFeatureEnabled:I,isDebitCardSetupEnabled:U,isChargeCardSetupEnabled:z,isCardControlsEnabled:B,isEarlyPayEnabled:L,controllerEmails:Ee,chargeCardCashbackDetailState:X,productInformation:oe,creditAccountInformation:ge,debitAccountInformation:ae,cashbackInformation:ue,classListFetchState:v,primaryFundingAccountDetails:Ua,currentTenant:m,cardProviderId:E.chargeCard?.cardProviderID,cardId:a,creditAccount:T,creditAccountRepayment:Y,includeCreditAccountInfo:W,signedInUserToken:q,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:u.documentAiReceiptMaxSizeLimitBytes!=null?u.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:V,onAskAiCfoClick:Q,isCardsCommentingEnabled:i})]}):c.jsx(ot,{})}const St=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:ni,subheadline:ri,pageTitle:si}}}}=Xe.getLocalizedStrings(),Ur=[ma,it,Rr,Ra,La,dt,Ht,No,Nt,Vt,Mt],ci=new Set(Ur),At=Lt((e,n,t,a)=>{e(ca(n,t,a,!0))},400),oi=Ne.div`
19
19
  display: flex;
20
20
  width: 100%;
21
21
  flex: 1 1 auto;
22
22
  flex-direction: column;
23
23
  align-items: center;
24
24
  background-color: ${e=>e.theme.colors.grey4};
25
- `,ii=De(function(e,n){const t=ua(e,n.includeCreditAccountDebitSummaryAndCashbackInfo,n.isDebitCardFeatureEnabled&&n.isDebitCardSetupEnabled,n.isChargeCardFeatureEnabled&&n.isChargeCardSetupEnabled);return{chargeCardListView:t,rowActionView:rc(e),bulkActionView:sc(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:f,includeCreditAccountDebitSummaryAndCashbackInfo:S,isChargeCardFeatureEnabled:w,isCreditCardProductVisibleForExpressInterest:l,isChargeCardSetupEnabled:m,isDebitCardFeatureEnabled:R,isDebitCardSetupEnabled:v,isDebitCardTOSAccepted:u,isChargeCardTOSAccepted:M,controllerEmails:x,depositAccountListWithDebitCardIssued:B,primaryFundingAccountDetails:p,chargeCardSetUpViewFetchState:h,productInformation:D,cashbackInformation:d,creditAccountInformation:_,debitAccountInformation:k,updatePayNowInfoTooltip:j,isUserHasCardsAdminLevelAccess:A}=n,{tenantEmailDomain:I}=a,{cards:L}=f;return{onChargeCardRowClick:(i,C)=>{const N=kr(L,i);let G;N!=null&&((O=>{const z=O.limit.amount-O.available.amount,Y=`${O.cardHolderUser?.firstName.toLowerCase()} ${O.cardHolderUser?.lastName.toLowerCase()}`,b=O.cardName,T=O.department?.className??"",Z=O.limit.amount,q=O.creditLimitFrequency.name;J.trackCardsListRowClicked(Y,b,T,z,Z,q,y.userId===O.cardHolderUserId)})(N),sa(R,v,B)&&J.trackCardsCardListRowClick(x,D,"Card Row Item","row_clicked",C+1,{cardOwner:It(N.cardHolderUser,!1),cardName:N.cardName,cardType:N.type.code.includes("credit")?"credit":"debit",cardStatus:N.status.code,cardUtilizationAmount:Sa(N.limit.amount-N.available.amount),cardUtilizationPercent:N.limit.amount>0?Math.round((N.limit.amount-N.available.amount)/N.limit.amount*100):0,cardLimit:Sa(N.limit.amount)},d,_,k)),G=N?.status.code==="request_on_hold"&&y.userId===N.cardHolderUserId?Er(I):Ae(I,i,y,N);const U=ye(s.state?.pathnameStackToGoBack,s.pathname);t(G,{state:{pathnameStackToGoBack:U}})},onFetchChargeCardsRecurringExpenses:i=>{e(qn(i))},onFetchDepositAccountLimit:i=>{e(zn({depositAccountId:i}))},onChargeCardResendInviteClick:i=>{e(Cc(i))},onChargeCardRevokeInviteClick:i=>{e(Kn(i))},onLockChargeCardList:(i,C)=>{e(mc(i,C))},onUnlockChargeCardList:i=>{e(uc(i))},onCloseChargeCardList:(i,C)=>{e(lc(i,C))},onRevokeChargeCardList:i=>{e(dc(i))},updateChargeCardListSpendLimit(i,C,N){e(ic(i,C,N.code))},onLockChargeCard:(i,C)=>{e(Xn(A,i,C))},onUnlockChargeCard:i=>{e(Jn(A,i))},onCloseChargeCard:(i,C)=>{e(Qn(i,C))},onUpdateSpendLimit(i,C,N,G){e(Yn(i,C,N.code,G))},updateChargeCardName:(i,C)=>{e(Wn(A,i,C))},onClickSetupIcon:()=>{J.trackCardsListPageClicked("settings"),sa(R,v,B)&&d!=null&&J.trackCardsSettingsClick(x,D,d,_,k);const i=Eo(I),C=ye(s.state?.pathnameStackToGoBack,s.pathname);t(i,{state:{pathnameStackToGoBack:C}})},onIssueCardClick:()=>{J.trackCardsListPageClicked("new card"),sa(R,v,B)&&d!=null&&J.trackCardsNewCardClick(x,D,d,"New Button","card_creation_initiated","Card List",_,k);const i=di(I),C=ye(s.state?.pathnameStackToGoBack,s.pathname);t(i,{state:{pathnameStackToGoBack:C}})},onColumnSortConfigChanged:(i,C)=>{sa(R,v,B)&&d!=null&&J.trackCardsCardListSortClick(x,D,d,"Sort Icon","sort",i,C==="ascending"?"ASC":"DESC","Cards List",_,k),e(yt({uiState:{sortKey:i,sortOrder:C}}))},onSearchTextChanged:i=>{e(oc(i))},onReloadCards:()=>{e(ca(S,R&&v,w&&m,!0))},onLetsGoClick:()=>{t("./onboard")},onBackClick:()=>{t("../../")},onTotalCashbackClick:()=>{sa(R,v,B)&&d!=null&&J.trackCardsCashbackOverviewClick(x,D,d,"Cashback Overview","cashback_details_viewed",_,k),t("./cashback")},onClickStatementsIcon:()=>{sa(R,v,B)&&d!=null&&J.trackCardsStatementsClick(x,D,d,_,k),t("./statements")},onCreateNowClick:i=>{sa(R,v,B)&&d!=null&&J.trackCardsNewCardClick(x,D,d,"Promo Banner","card_creation_initiated","Card List",_,k),t(`./new?cardType=${i}`)},onPromoCardClick:i=>{t(i==="debit"&&R&&!u||i==="credit"&&l&&!M?`../promo?cardPromoType=${i}`:"./setup")},navigateToCreditCardPaymentPage:(i,C)=>{h==="Completed"&&a.company!=null&&d!=null&&J.trackCardsPayEarlyClick(x,D,d,"Card List",i,C,{isZeniCheckingEnabled:a.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:p?.accType==="depositAccount",creditCardPaymentSourceAccountName:p?.label,creditCardPaymentSourceAccountType:p?.accType,creditCardPaymentSourceLastFourDigits:p?.accountLast4,creditCardPaymentSourceBalance:p?.accountBalance?.available?.amount??0},_,k);const N=li(I);t(N)},navigateToCreditCardPaymentHistoryPage:()=>{const i=ui(I),C=ye(s.state?.pathnameStackToGoBack,s.pathname);t(i,{state:{pathnameStackToGoBack:C}})},shouldShowPayNowInfoTooltip:j,onSetRowActionCardId:i=>{e(cc(i))},onSetBulkActionCardIds:i=>{e(er(i))},onEventReceived:i=>{ci.has(i)&&At(e,S,R&&v,w&&m)},onPusherSubscribed:()=>{At(e,S,R&&v,w&&m)}}})(ct(ro));function gn({isPaymentDrawerOpen:e}){const n=de(),t=pe(),a=Ce(),s=r.useCallback(($,Ue)=>{t(er([])),n($,Ue)},[t,n]),[y,f]=r.useState(!1),[S,w]=r.useState(re.getPayNowInfoTooltip()??!1),l=$=>{re.savePayNowInfoTooltip($),w($)},[m,R]=r.useState(!1),v=re.getSignedInUser(),u=o($=>fe($)),[M,x]=r.useState(!1),[B,p]=r.useState(!1),{isAiCfoAccessEnabled:h,onAskAiCfoClick:D}=xa({mobileExploreReferrer:"Cards"}),d=u.userRole.includes("charge_card_user"),_=!d,k=!!u.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:j,useDynamicConfig:A}=le(),{isFeatureEnabled:I}=j(K.isCashbackFeatureEnabled),{isFeatureEnabled:L}=j(K.isChargeCardFeatureEnabled),{isFeatureEnabled:i}=j(K.isDebitCardFeatureEnabled),{isFeatureEnabled:C}=j(K.isEarlyPayFeatureEnabled),{isFeatureEnabled:N}=j(K.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:G}=j(K.isCardsCommentingEnabled),{isFeatureEnabled:U}=j(K.isAiCfoFileUploadEnabled),{isFeatureEnabled:O}=j(K.isCardPolicyEnabled),{isFeatureEnabled:z}=j(K.isAiCardCreationEnabled),Y=Te(i,u),b=xe({isDebitCardFeatureEnabled:i,isBankingOnlyTenant:Y}),T=we(u),Z=ve(u),q=u.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,E=Be({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:L,isBookKeepingTenant:Z,isDebitCardProductVisible:b,chargeCardsCreditAccountLimit:q}),V=Ir({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:L,isBookKeepingTenant:Z}),{configValue:Q}=A(Ye.zeniCardsConfig),X=Fe(),g=Pe(X?.loggedInUserRoleMap),F=o($=>oa($,u.companyId)),P=ia(F.controllers),ee=Q.charge_card_cashback_rate_per_transaction!=null?Q.charge_card_cashback_rate_per_transaction:.0175,W=Q.credit_card_pay_now_threshold_by_company_id?.[u.companyId]??Q.default_credit_card_pay_now_threshold??ko,ke=Q.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(Q.enable_card_controls_for_company_ids)&&Q.enable_card_controls_for_company_ids.includes(u.companyId),Se=!!u.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,ge=!!u.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,ae=!!u.companyChargeCardInfo?.info?.isChargeCardEnabled,ue=o($=>Vn($)),oe=ya(ue.updateStatus),te=o($=>ua($,_,b&&k,E&&ae)),Ze=o($=>ec($)),Ee=o($=>ac($)),ne=o($=>tc($)),Ke=o($=>nc($)),Re=o($=>ne==null?[]:On($.aiCfoState,ne).filter(Ue=>Ue.kind==="creating_cards"),Dt),ce=ya(Ee.fetchState);r.useEffect(()=>{ce==="In-Progress"&&Ee.fetchState==="Completed"&&ne!=null&&Re.forEach($=>{t(bt({chatSessionId:ne,id:$.id,entityIds:Ke,kind:"created_cards"}))})},[t,Ee.fetchState,ne,Ke,Re,ce]);const Ea=te.cards.filter($=>$.type.code.includes("debit")).map($=>$.connectedAccountId),pa=[...new Set(Ea)],ha=o($=>la($)),ta=o($=>nt($,pa)),Aa=o($=>wa($,u.companyId)),lt=Aa.companyChargeCardInfo?.primaryFundingAccount,ut=Aa.allFundingAccounts.find($=>$.id===lt?.accountId),me=te.fetchState,Ua=te.creditAccount,Da=r.useCallback(()=>g===!0&&O===!0&&me==="Completed"&&re.getCardPolicyPopupSeen(u.tenantEmailDomain??"")!==!0,[g,O,me,u.tenantEmailDomain]),[mt,Oa]=r.useState(Da);r.useEffect(()=>{Oa(Da())},[Da]);const ja=()=>{re.saveCardPolicyPopupSeen(u.tenantEmailDomain??"",!0),Oa(!1)},Ma=me==="Completed"&&!te.hasCreditCard&&!te.hasDebitCard;no({isDataReady:me==="Completed",pageContext:Ma?"cards_creation":"cards"});const{creditAccountRepayment:H}=o($=>da($)),he=o($=>Qa($).firstViewAfterActivation),{areTenantIdsInSync:Le}=gr(),Ve=Ut(g,ha),He=Ba(E,ae,g,Ua,H),Ge=Ot(b,k,g,ta,te.debitCardSummary),$e=Je(E,b,k,ae),na=te.creditAccount.balance.amount+te.creditAccount.hold.amount;if(r.useEffect(()=>{me==="Completed"&&(re.getPayNowInfoTooltip()==null||na<W*te.creditAccount.limit.amount/100)&&l(!0)},[me,W,na,te.creditAccount.limit.amount]),r.useEffect(()=>{if(e!=null&&e===!0&&H.initiatedRepayments.amount===0&&H.fetchState==="Completed"||oe==="In-Progress"&&ue.updateStatus==="Completed")l(!1),f(!0);else if(H.initiatedRepayments.amount>0&&H.fetchState==="Completed"){f(!1),document.body.style.overflow="auto";const $=aa(u.tenantEmailDomain);s($)}},[e,H.initiatedRepayments.amount,H.fetchState,oe,ue.updateStatus,s,u.tenantEmailDomain]),r.useEffect(()=>{!M&&(ae||k)&&Le&&(x(!0),t(ca(_,b&&k,E&&ae,!1)))},[M,_,t,Le]),r.useEffect(()=>{he&&m===!1&&(R(!0),setTimeout(()=>{t(Za())},5e3))},[he,m]),r.useEffect(()=>()=>{At.flush()},[]),r.useEffect(()=>{me==="Completed"&&d&&te.cards.length===1&&(te.cards[0].status.code==="inactive"&&te.cards[0].type.code==="business_physical_credit_card"?s(`./${te.cards[0].id}/activate`):te.cards[0].status.code!=="request_on_hold"&&(a.state?.message==="comingFromCardDetail"?s("../../"):s(`./${te.cards[0].id}`)))},[me,d,a.state,s,te.cards]),r.useEffect(()=>{if(me==="Completed"&&d){const $=te.cards.length,Ue=te.cards.filter(We=>We.cardHolderUserId===v?.userId).filter(We=>We.status.code==="request_on_hold");Ue.length>0&&$===Ue.length&&s("./onboard")}},[me,te.cards,d,s,v?.userId]),r.useEffect(()=>{me!=="Completed"||E&&H.fetchState!=="Completed"||b&&k&&g&&ta.fetchState!=="Completed"||J.trackCardsCardListView(P,$e,Ve,He,Ge)},[me,Ua,H.fetchState,ta.fetchState,g]),v==null)throw Error("Can't access charge card list page without signing in...");const Vr=o($=>ar($.userState,$.userRoleState,$.userListViewState,"cardAdmin")),Yt=vt(X?.loggedInUserRoleMap),Zt=$=>{p($)},Hr=te.creditAccount.limit,Gr=()=>{f(!1),s("..")},$r=u.companyChargeCardInfo?.info!=null&&Ia({cardInfo:u.companyChargeCardInfo.info,isProductVisible:E,isTOSAccepted:Se,isSetupEnabled:ae,isUserHasCardsAdminLevelAccess:g,isUserHasCardsAccess:Yt}),zr=u.companyDebitCardInfo?.info!=null&&Ia({cardInfo:u.companyDebitCardInfo.info,isProductVisible:b,isTOSAccepted:ge,isSetupEnabled:k,isUserHasCardsAdminLevelAccess:g,isUserHasCardsAccess:Yt}),Yr=$r||zr,Kt=function($){const{isEmptyCardsState:Ue,isChargeCardAdmin:We,isFileUploadEnabled:qt}=$,Qt=de(),Na=Ce(),{tenantEmailDomain:Va}=Me(),{isAiCfoOpen:qr,setIsAiCfoOpen:Jt}=mr(),Qr=Cr(),Jr=pr(),Xt=o(be=>Un(be)).createSessionAndSubmitState.fetchState==="In-Progress",{chips:en,isResolved:an}=Pr("cards_creation"),tn=r.useMemo(()=>_r(en,an,3),[en,an]),[Ha,Ct]=r.useState(""),nn=Jr&&Qr&&Va!=null&&!qr,fa=r.useCallback(be=>{if(Va==null)return;const Xr=ye(Na.state?.pathnameStackToGoBack,Na.pathname);Qt(`/${Va}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Xr,referrer:"cards_hero",aiCfoInitialQuestion:be,aiCfoShouldSubmit:be!=null&&be.trim().length>0}})},[Na.pathname,Na.state,Qt,Va]),rn=r.useCallback(be=>{be.trim().length!==0&&(Ct(""),fa(be))},[fa]),sn=r.useCallback(()=>{const be=Ha.trim();be.length!==0&&(Ct(""),fa(be))},[Ha,fa]),cn=r.useCallback(()=>{},[]),on=r.useCallback(be=>{Ct(be)},[]),dn=r.useCallback(()=>{Jt(!0)},[Jt]),ln=r.useCallback(()=>{fa(void 0)},[fa]);return r.useMemo(()=>{if(nn&&Ue&&We)return{aiAgentName:si,headline:ni,subheadline:ri,promptChips:tn,composer:{currentInput:Ha,isSubmitting:Xt,isFileUploadEnabled:qt,onInputChange:on,onSubmit:sn,onStopSubmit:cn},onPromptClick:rn,onOpenSidePanel:dn,onOpenFullView:ln,dataTestIdPrefix:"cards-ai-cfo-hero"}},[Ha,nn,We,Ue,qt,Xt,on,ln,dn,rn,cn,sn,tn])}({isEmptyCardsState:Ma,isChargeCardAdmin:g,isFileUploadEnabled:U}),Wt=z&&Kt!=null?c.jsx(hr,{...Kt}):null,Zr=h&&Wt==null,Kr=ea(u),Wr={events:Ca(Kr,Or),eventCallback:($,Ue,We)=>{We.onEventReceived($)},onSubscribed:$=>{$.onPusherSubscribed()}};return ae||k?c.jsxs(c.Fragment,{children:[me==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Rt,{analytics:J,onLoad:()=>{J.trackPageLoaded(Sr.Event.cardsListPage),(E&&!ae||b&&!k)&&J.trackCardsPromoView(P,{isCreditCardOffered:E,isDebitCardOffered:b,isDebitCardEnabled:k,isCreditCardEnabled:ae},"Banner",b&&!k?"Debit Card":E&&!ae?"Credit Card":"","Card List")}}),c.jsx(rt,{showConfetti:he})]}):null,y===!0?c.jsx(Gt,{closeDrawerHandler:Gr,isPaymentDrawerOpen:y,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:na,productInformation:$e,creditAccountInformation:He,debitAccountInformation:Ge,cashbackInformation:Ve,isDebitCardInfoFetchStateCompleted:!(b&&k&&g)||ta.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!E||H.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!g||ha.fetchState==="Completed",paymentInitiatedDate:H.initiatedRepaymentDate}):null,c.jsxs(oi,{children:[c.jsx(Ie,{isAppContentDrawerOpen:B,handleDrawerToggle:Zt}),c.jsx(ii,{...Wr,isCashbackFeatureEnabled:I,isChargeCardFeatureEnabled:E,isDebitCardFeatureEnabled:b,isCreditCardProductVisibleForExpressInterest:V,updatePayNowInfoTooltip:l,showPayNowInfoTooltip:S,creditCardPayNowThreshold:W,signedInUser:v,chargeCardListState:te,location:a,admins:Vr.users,navigateAndClearBulkSelection:s,currentTenant:u,isCardControlsEnabled:ke,companyChargeCardInfoCreditAccountLimit:u.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:u.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:g,includeCreditAccountDebitSummaryAndCashbackInfo:_,onClickMenuIcon:()=>{Zt(!0)},creditLimit:Hr,isChargeCardSetupEnabled:ae,isDebitCardSetupEnabled:k,isEarlyPayEnabled:C,isChargeCardPaymentHistoryFeatureEnabled:N,cashbackRate:ee,controllerEmails:P,chargeCardCashbackDetailState:ha,depositAccountListWithDebitCardIssued:ta,isChargeCardTOSAccepted:Se,isDebitCardTOSAccepted:ge,primaryFundingAccountDetails:ut,chargeCardSetUpViewFetchState:Aa.fetchState,productInformation:$e,creditAccountInformation:He,debitAccountInformation:Ge,cashbackInformation:Ve,isAiCfoAccessEnabled:Zr,onAskAiCfoClick:D,isCardsCommentingEnabled:G,cardsAiCfoHero:Wt,onClickPolicyIcon:g&&O?()=>n(mi(u.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:mt,onPolicyIntroTooltipClose:ja,pendingCreationCount:Ze})]})]}):(Se||ge)&&g===!0?c.jsx(ba,{to:"../setup"}):Yr?c.jsx(ba,{to:"../promo"}):c.jsx(va,{fetchState:me})}const di=e=>`/${e}/cards/new`,li=e=>`/${e}/cards/payment`,ui=e=>`/${e}/cards/payment-history`,mi=e=>`/${e}/cards/policy`,jr=[Br,Rr],Ci=new Set(jr),pi=De(function(e){const n=re.getSignedInUser(),t=fe(e),a=e.tenantState.currentTenantId,s=tr(e),y={userId:n?.userId??"",sessionId:n?.zeniSessionId??"",tenantId:a??""},f=t?.companyName??"",S=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:s.fetchState,filters:s.filters,isZeniTenant:pc(t),repaymentList:s.repaymentHistory,searchText:s.searchText,repaymentHistoryUsers:s.repaymentHistoryUsers,sortConfig:{sortKey:s.uiState.sortKey,sortOrder:s.uiState.sortOrder},downloadParams:{authParams:y,companyName:f,spendManagementEndPoint:`${kt}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:S}},function(e,n){const{location:t,navigate:a}=n;return{onBackClick:()=>{const s=_e(t.state?.pathnameStackToGoBack),y=s.poppedPathname??"..";a(y,{state:{pathnameStackToGoBack:s.newStack}})},onColumnSortConfigChanged:(s,y)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:s,sortOrder:y}}})},onFiltersChange:s=>{e(fc({filters:s}))},onReloadPayments:()=>{e(Ga(!0))},onEventReceived:s=>{Ci.has(s)&&e(Ga(!0))},onPusherSubscribed:()=>{e(Ga(!0))},onSearchTextChanged:s=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:s})},updateDownloadStateHandler:s=>{e(hc({uiState:{downloadState:s}}))}}})(ct(so));function hi(){const e=de(),n=Ce(),t=pe(),{areTenantIdsInSync:a}=gr(),{useFeatureGate:s}=le();if(re.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const y=o(g=>fe(g)),f=o(g=>tr(g)),[S,w]=r.useState(!1),[l,m]=r.useState(!1),[R,v]=r.useState(!1),[u,M]=r.useState(null),x=!y.userRole.includes("charge_card_user"),B=!!y.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:p}=s(K.isChargeCardFeatureEnabled),{isFeatureEnabled:h}=s(K.isDebitCardFeatureEnabled),D=Te(h,y),d=xe({isDebitCardFeatureEnabled:h,isBankingOnlyTenant:D}),_=we(y),k=ve(y),j=y.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,A=Be({isCardsOnlyTenant:_,isChargeCardFeatureEnabled:p,isBookKeepingTenant:k,isDebitCardProductVisible:d,chargeCardsCreditAccountLimit:j}),I=!!y.companyChargeCardInfo?.info?.isChargeCardEnabled,L=Fe(),i=Pe(L?.loggedInUserRoleMap),C=o(g=>ua(g,x,d&&B,A&&I)),N=r.useMemo(()=>{const g=C.cards.filter(F=>F.type.code.includes("debit"));return[...new Set(g.map(F=>F.connectedAccountId))]},[C.cards]),G=o(g=>la(g)),U=o(g=>nt(g,N)),{creditAccountRepayment:O}=o(g=>da(g)),z=r.useMemo(()=>Ut(i,G),[i,G]),Y=r.useMemo(()=>Ba(A,I,i,C.creditAccount,O),[A,I,i,C.creditAccount,O]),b=r.useMemo(()=>Ot(d,B,i,U,C.debitCardSummary),[d,B,i,U,C.debitCardSummary]),T=r.useMemo(()=>Je(A,d,B,I),[A,d,B,I]),Z=C.creditAccount.balance.amount+C.creditAccount.hold.amount,q=r.useMemo(()=>u!=null?f.repaymentHistory.find(g=>g.cardRepaymentId===u):void 0,[u,f.repaymentHistory]),E=r.useCallback(g=>{M(g),t(ca(x,d&&B,A&&I,!1)),v(!0)},[t,x,d,B,A,I]),V=r.useCallback(()=>{v(!1),M(null),document.body.style.overflow="auto"},[]);r.useEffect(()=>{S||f.fetchState==="Completed"||f.fetchState==="In-Progress"||(w(!0),t(Ga()))},[S,t,f.fetchState]),r.useEffect(()=>{!l&&(I||B)&&a&&(m(!0),t(ca(x,!1,A&&I,!1)))},[l,I,B,a,t,x,A]);const Q=ea(y),X={events:Ca(Q,jr),eventCallback:(g,F,P)=>{P.onEventReceived(g)},onSubscribed:g=>{g.onPusherSubscribed()}};return c.jsxs(c.Fragment,{children:[R?c.jsx(Gt,{closeDrawerHandler:V,isPaymentDrawerOpen:R,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:Z,productInformation:T,creditAccountInformation:Y,debitAccountInformation:b,cashbackInformation:z,isDebitCardInfoFetchStateCompleted:!(d&&B&&i)||U.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!A||O.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!i||G.fetchState==="Completed",paymentInitiatedDate:O.initiatedRepaymentDate,retryRepayment:q}):null,c.jsx(pi,{...X,location:n,navigate:e,accountInfoByAccountId:f.accountInfoByAccountId,onRetryPaymentClick:E})]})}const Sn=Ne.div`
25
+ `,ii=De(function(e,n){const t=ua(e,n.includeCreditAccountDebitSummaryAndCashbackInfo,n.isDebitCardFeatureEnabled&&n.isDebitCardSetupEnabled,n.isChargeCardFeatureEnabled&&n.isChargeCardSetupEnabled);return{chargeCardListView:t,rowActionView:rc(e),bulkActionView:sc(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:f,includeCreditAccountDebitSummaryAndCashbackInfo:S,isChargeCardFeatureEnabled:w,isCreditCardProductVisibleForExpressInterest:l,isChargeCardSetupEnabled:m,isDebitCardFeatureEnabled:R,isDebitCardSetupEnabled:v,isDebitCardTOSAccepted:u,isChargeCardTOSAccepted:M,controllerEmails:x,depositAccountListWithDebitCardIssued:B,primaryFundingAccountDetails:p,chargeCardSetUpViewFetchState:h,productInformation:D,cashbackInformation:d,creditAccountInformation:_,debitAccountInformation:k,updatePayNowInfoTooltip:j,isUserHasCardsAdminLevelAccess:A}=n,{tenantEmailDomain:I}=a,{cards:L}=f;return{onChargeCardRowClick:(i,C)=>{const N=kr(L,i);let G;N!=null&&((U=>{const z=U.limit.amount-U.available.amount,W=`${U.cardHolderUser?.firstName.toLowerCase()} ${U.cardHolderUser?.lastName.toLowerCase()}`,b=U.cardName,T=U.department?.className??"",Y=U.limit.amount,q=U.creditLimitFrequency.name;J.trackCardsListRowClicked(W,b,T,z,Y,q,y.userId===U.cardHolderUserId)})(N),sa(R,v,B)&&J.trackCardsCardListRowClick(x,D,"Card Row Item","row_clicked",C+1,{cardOwner:It(N.cardHolderUser,!1),cardName:N.cardName,cardType:N.type.code.includes("credit")?"credit":"debit",cardStatus:N.status.code,cardUtilizationAmount:Sa(N.limit.amount-N.available.amount),cardUtilizationPercent:N.limit.amount>0?Math.round((N.limit.amount-N.available.amount)/N.limit.amount*100):0,cardLimit:Sa(N.limit.amount)},d,_,k)),G=N?.status.code==="request_on_hold"&&y.userId===N.cardHolderUserId?Er(I):Ae(I,i,y,N);const O=ye(s.state?.pathnameStackToGoBack,s.pathname);t(G,{state:{pathnameStackToGoBack:O}})},onFetchChargeCardsRecurringExpenses:i=>{e(qn(i))},onFetchDepositAccountLimit:i=>{e(zn({depositAccountId:i}))},onChargeCardResendInviteClick:i=>{e(Cc(i))},onChargeCardRevokeInviteClick:i=>{e(Zn(i))},onLockChargeCardList:(i,C)=>{e(mc(i,C))},onUnlockChargeCardList:i=>{e(uc(i))},onCloseChargeCardList:(i,C)=>{e(lc(i,C))},onRevokeChargeCardList:i=>{e(dc(i))},updateChargeCardListSpendLimit(i,C,N){e(ic(i,C,N.code))},onLockChargeCard:(i,C)=>{e(Xn(A,i,C))},onUnlockChargeCard:i=>{e(Jn(A,i))},onCloseChargeCard:(i,C)=>{e(Qn(i,C))},onUpdateSpendLimit(i,C,N,G){e(Wn(i,C,N.code,G))},updateChargeCardName:(i,C)=>{e(Kn(A,i,C))},onClickSetupIcon:()=>{J.trackCardsListPageClicked("settings"),sa(R,v,B)&&d!=null&&J.trackCardsSettingsClick(x,D,d,_,k);const i=Eo(I),C=ye(s.state?.pathnameStackToGoBack,s.pathname);t(i,{state:{pathnameStackToGoBack:C}})},onIssueCardClick:()=>{J.trackCardsListPageClicked("new card"),sa(R,v,B)&&d!=null&&J.trackCardsNewCardClick(x,D,d,"New Button","card_creation_initiated","Card List",_,k);const i=di(I),C=ye(s.state?.pathnameStackToGoBack,s.pathname);t(i,{state:{pathnameStackToGoBack:C}})},onColumnSortConfigChanged:(i,C)=>{sa(R,v,B)&&d!=null&&J.trackCardsCardListSortClick(x,D,d,"Sort Icon","sort",i,C==="ascending"?"ASC":"DESC","Cards List",_,k),e(yt({uiState:{sortKey:i,sortOrder:C}}))},onSearchTextChanged:i=>{e(oc(i))},onReloadCards:()=>{e(ca(S,R&&v,w&&m,!0))},onLetsGoClick:()=>{t("./onboard")},onBackClick:()=>{t("../../")},onTotalCashbackClick:()=>{sa(R,v,B)&&d!=null&&J.trackCardsCashbackOverviewClick(x,D,d,"Cashback Overview","cashback_details_viewed",_,k),t("./cashback")},onClickStatementsIcon:()=>{sa(R,v,B)&&d!=null&&J.trackCardsStatementsClick(x,D,d,_,k),t("./statements")},onCreateNowClick:i=>{sa(R,v,B)&&d!=null&&J.trackCardsNewCardClick(x,D,d,"Promo Banner","card_creation_initiated","Card List",_,k),t(`./new?cardType=${i}`)},onPromoCardClick:i=>{t(i==="debit"&&R&&!u||i==="credit"&&l&&!M?`../promo?cardPromoType=${i}`:"./setup")},navigateToCreditCardPaymentPage:(i,C)=>{h==="Completed"&&a.company!=null&&d!=null&&J.trackCardsPayEarlyClick(x,D,d,"Card List",i,C,{isZeniCheckingEnabled:a.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:p?.accType==="depositAccount",creditCardPaymentSourceAccountName:p?.label,creditCardPaymentSourceAccountType:p?.accType,creditCardPaymentSourceLastFourDigits:p?.accountLast4,creditCardPaymentSourceBalance:p?.accountBalance?.available?.amount??0},_,k);const N=li(I);t(N)},navigateToCreditCardPaymentHistoryPage:()=>{const i=ui(I),C=ye(s.state?.pathnameStackToGoBack,s.pathname);t(i,{state:{pathnameStackToGoBack:C}})},shouldShowPayNowInfoTooltip:j,onSetRowActionCardId:i=>{e(cc(i))},onSetBulkActionCardIds:i=>{e(er(i))},onEventReceived:i=>{ci.has(i)&&At(e,S,R&&v,w&&m)},onPusherSubscribed:()=>{At(e,S,R&&v,w&&m)}}})(ct(ro));function gn({isPaymentDrawerOpen:e}){const n=de(),t=pe(),a=Ce(),s=r.useCallback(($,Oe)=>{t(er([])),n($,Oe)},[t,n]),[y,f]=r.useState(!1),[S,w]=r.useState(re.getPayNowInfoTooltip()??!1),l=$=>{re.savePayNowInfoTooltip($),w($)},[m,R]=r.useState(!1),v=re.getSignedInUser(),u=o($=>fe($)),[M,x]=r.useState(!1),[B,p]=r.useState(!1),{isAiCfoAccessEnabled:h,onAskAiCfoClick:D}=xa({mobileExploreReferrer:"Cards"}),d=u.userRole.includes("charge_card_user"),_=!d,k=!!u.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:j,useDynamicConfig:A}=le(),{isFeatureEnabled:I}=j(Z.isCashbackFeatureEnabled),{isFeatureEnabled:L}=j(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:i}=j(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:C}=j(Z.isEarlyPayFeatureEnabled),{isFeatureEnabled:N}=j(Z.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:G}=j(Z.isCardsCommentingEnabled),{isFeatureEnabled:O}=j(Z.isAiCfoFileUploadEnabled),{isFeatureEnabled:U}=j(Z.isCardPolicyEnabled),{isFeatureEnabled:z}=j(Z.isAiCardCreationEnabled),W=Te(i,u),b=xe({isDebitCardFeatureEnabled:i,isBankingOnlyTenant:W}),T=we(u),Y=ve(u),q=u.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,E=Be({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:L,isBookKeepingTenant:Y,isDebitCardProductVisible:b,chargeCardsCreditAccountLimit:q}),V=Ir({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:L,isBookKeepingTenant:Y}),{configValue:Q}=A(We.zeniCardsConfig),X=Fe(),g=Pe(X?.loggedInUserRoleMap),F=o($=>oa($,u.companyId)),P=ia(F.controllers),ee=Q.charge_card_cashback_rate_per_transaction!=null?Q.charge_card_cashback_rate_per_transaction:.0175,K=Q.credit_card_pay_now_threshold_by_company_id?.[u.companyId]??Q.default_credit_card_pay_now_threshold??ko,ke=Q.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(Q.enable_card_controls_for_company_ids)&&Q.enable_card_controls_for_company_ids.includes(u.companyId),Se=!!u.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,ge=!!u.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,ae=!!u.companyChargeCardInfo?.info?.isChargeCardEnabled,ue=o($=>Vn($)),oe=ya(ue.updateStatus),te=o($=>ua($,_,b&&k,E&&ae)),Ye=o($=>ec($)),Ee=o($=>ac($)),ne=o($=>tc($)),Ze=o($=>nc($)),Re=o($=>ne==null?[]:Un($.aiCfoState,ne).filter(Oe=>Oe.kind==="creating_cards"),Dt),ce=ya(Ee.fetchState);r.useEffect(()=>{ce==="In-Progress"&&Ee.fetchState==="Completed"&&ne!=null&&Re.forEach($=>{t(bt({chatSessionId:ne,id:$.id,entityIds:Ze,kind:"created_cards"}))})},[t,Ee.fetchState,ne,Ze,Re,ce]);const Ea=te.cards.filter($=>$.type.code.includes("debit")).map($=>$.connectedAccountId),pa=[...new Set(Ea)],ha=o($=>la($)),ta=o($=>nt($,pa)),Aa=o($=>wa($,u.companyId)),lt=Aa.companyChargeCardInfo?.primaryFundingAccount,ut=Aa.allFundingAccounts.find($=>$.id===lt?.accountId),me=te.fetchState,Oa=te.creditAccount,Da=r.useCallback(()=>g===!0&&U===!0&&me==="Completed"&&re.getCardPolicyPopupSeen(u.tenantEmailDomain??"")!==!0,[g,U,me,u.tenantEmailDomain]),[mt,Ua]=r.useState(Da);r.useEffect(()=>{Ua(Da())},[Da]);const ja=()=>{re.saveCardPolicyPopupSeen(u.tenantEmailDomain??"",!0),Ua(!1)},Ma=me==="Completed"&&!te.hasCreditCard&&!te.hasDebitCard;no({isDataReady:me==="Completed",pageContext:Ma?"cards_creation":"cards"});const{creditAccountRepayment:H}=o($=>da($)),he=o($=>Qa($).firstViewAfterActivation),{areTenantIdsInSync:Le}=gr(),Ve=Ot(g,ha),He=Ba(E,ae,g,Oa,H),Ge=Ut(b,k,g,ta,te.debitCardSummary),$e=Je(E,b,k,ae),na=te.creditAccount.balance.amount+te.creditAccount.hold.amount;if(r.useEffect(()=>{me==="Completed"&&(re.getPayNowInfoTooltip()==null||na<K*te.creditAccount.limit.amount/100)&&l(!0)},[me,K,na,te.creditAccount.limit.amount]),r.useEffect(()=>{if(e!=null&&e===!0&&H.initiatedRepayments.amount===0&&H.fetchState==="Completed"||oe==="In-Progress"&&ue.updateStatus==="Completed")l(!1),f(!0);else if(H.initiatedRepayments.amount>0&&H.fetchState==="Completed"){f(!1),document.body.style.overflow="auto";const $=aa(u.tenantEmailDomain);s($)}},[e,H.initiatedRepayments.amount,H.fetchState,oe,ue.updateStatus,s,u.tenantEmailDomain]),r.useEffect(()=>{!M&&(ae||k)&&Le&&(x(!0),t(ca(_,b&&k,E&&ae,!1)))},[M,_,t,Le]),r.useEffect(()=>{he&&m===!1&&(R(!0),setTimeout(()=>{t(Ya())},5e3))},[he,m]),r.useEffect(()=>()=>{At.flush()},[]),r.useEffect(()=>{me==="Completed"&&d&&te.cards.length===1&&(te.cards[0].status.code==="inactive"&&te.cards[0].type.code==="business_physical_credit_card"?s(`./${te.cards[0].id}/activate`):te.cards[0].status.code!=="request_on_hold"&&(a.state?.message==="comingFromCardDetail"?s("../../"):s(`./${te.cards[0].id}`)))},[me,d,a.state,s,te.cards]),r.useEffect(()=>{if(me==="Completed"&&d){const $=te.cards.length,Oe=te.cards.filter(Ke=>Ke.cardHolderUserId===v?.userId).filter(Ke=>Ke.status.code==="request_on_hold");Oe.length>0&&$===Oe.length&&s("./onboard")}},[me,te.cards,d,s,v?.userId]),r.useEffect(()=>{me!=="Completed"||E&&H.fetchState!=="Completed"||b&&k&&g&&ta.fetchState!=="Completed"||J.trackCardsCardListView(P,$e,Ve,He,Ge)},[me,Oa,H.fetchState,ta.fetchState,g]),v==null)throw Error("Can't access charge card list page without signing in...");const Vr=o($=>ar($.userState,$.userRoleState,$.userListViewState,"cardAdmin")),Wt=vt(X?.loggedInUserRoleMap),Yt=$=>{p($)},Hr=te.creditAccount.limit,Gr=()=>{f(!1),s("..")},$r=u.companyChargeCardInfo?.info!=null&&Ia({cardInfo:u.companyChargeCardInfo.info,isProductVisible:E,isTOSAccepted:Se,isSetupEnabled:ae,isUserHasCardsAdminLevelAccess:g,isUserHasCardsAccess:Wt}),zr=u.companyDebitCardInfo?.info!=null&&Ia({cardInfo:u.companyDebitCardInfo.info,isProductVisible:b,isTOSAccepted:ge,isSetupEnabled:k,isUserHasCardsAdminLevelAccess:g,isUserHasCardsAccess:Wt}),Wr=$r||zr,Zt=function($){const{isEmptyCardsState:Oe,isChargeCardAdmin:Ke,isFileUploadEnabled:qt}=$,Qt=de(),Na=Ce(),{tenantEmailDomain:Va}=Me(),{isAiCfoOpen:qr,setIsAiCfoOpen:Jt}=mr(),Qr=Cr(),Jr=pr(),Xt=o(be=>On(be)).createSessionAndSubmitState.fetchState==="In-Progress",{chips:en,isResolved:an}=Pr("cards_creation"),tn=r.useMemo(()=>_r(en,an,3),[en,an]),[Ha,Ct]=r.useState(""),nn=Jr&&Qr&&Va!=null&&!qr,fa=r.useCallback(be=>{if(Va==null)return;const Xr=ye(Na.state?.pathnameStackToGoBack,Na.pathname);Qt(`/${Va}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Xr,referrer:"cards_hero",aiCfoInitialQuestion:be,aiCfoShouldSubmit:be!=null&&be.trim().length>0}})},[Na.pathname,Na.state,Qt,Va]),rn=r.useCallback(be=>{be.trim().length!==0&&(Ct(""),fa(be))},[fa]),sn=r.useCallback(()=>{const be=Ha.trim();be.length!==0&&(Ct(""),fa(be))},[Ha,fa]),cn=r.useCallback(()=>{},[]),on=r.useCallback(be=>{Ct(be)},[]),dn=r.useCallback(()=>{Jt(!0)},[Jt]),ln=r.useCallback(()=>{fa(void 0)},[fa]);return r.useMemo(()=>{if(nn&&Oe&&Ke)return{aiAgentName:si,headline:ni,subheadline:ri,promptChips:tn,composer:{currentInput:Ha,isSubmitting:Xt,isFileUploadEnabled:qt,onInputChange:on,onSubmit:sn,onStopSubmit:cn},onPromptClick:rn,onOpenSidePanel:dn,onOpenFullView:ln,dataTestIdPrefix:"cards-ai-cfo-hero"}},[Ha,nn,Ke,Oe,qt,Xt,on,ln,dn,rn,cn,sn,tn])}({isEmptyCardsState:Ma,isChargeCardAdmin:g,isFileUploadEnabled:O}),Kt=z&&Zt!=null?c.jsx(hr,{...Zt}):null,Yr=h&&Kt==null,Zr=ea(u),Kr={events:Ca(Zr,Ur),eventCallback:($,Oe,Ke)=>{Ke.onEventReceived($)},onSubscribed:$=>{$.onPusherSubscribed()}};return ae||k?c.jsxs(c.Fragment,{children:[me==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Rt,{analytics:J,onLoad:()=>{J.trackPageLoaded(Sr.Event.cardsListPage),(E&&!ae||b&&!k)&&J.trackCardsPromoView(P,{isCreditCardOffered:E,isDebitCardOffered:b,isDebitCardEnabled:k,isCreditCardEnabled:ae},"Banner",b&&!k?"Debit Card":E&&!ae?"Credit Card":"","Card List")}}),c.jsx(rt,{showConfetti:he})]}):null,y===!0?c.jsx(Gt,{closeDrawerHandler:Gr,isPaymentDrawerOpen:y,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:na,productInformation:$e,creditAccountInformation:He,debitAccountInformation:Ge,cashbackInformation:Ve,isDebitCardInfoFetchStateCompleted:!(b&&k&&g)||ta.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!E||H.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!g||ha.fetchState==="Completed",paymentInitiatedDate:H.initiatedRepaymentDate}):null,c.jsxs(oi,{children:[c.jsx(Ie,{isAppContentDrawerOpen:B,handleDrawerToggle:Yt}),c.jsx(ii,{...Kr,isCashbackFeatureEnabled:I,isChargeCardFeatureEnabled:E,isDebitCardFeatureEnabled:b,isCreditCardProductVisibleForExpressInterest:V,updatePayNowInfoTooltip:l,showPayNowInfoTooltip:S,creditCardPayNowThreshold:K,signedInUser:v,chargeCardListState:te,location:a,admins:Vr.users,navigateAndClearBulkSelection:s,currentTenant:u,isCardControlsEnabled:ke,companyChargeCardInfoCreditAccountLimit:u.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:u.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:g,includeCreditAccountDebitSummaryAndCashbackInfo:_,onClickMenuIcon:()=>{Yt(!0)},creditLimit:Hr,isChargeCardSetupEnabled:ae,isDebitCardSetupEnabled:k,isEarlyPayEnabled:C,isChargeCardPaymentHistoryFeatureEnabled:N,cashbackRate:ee,controllerEmails:P,chargeCardCashbackDetailState:ha,depositAccountListWithDebitCardIssued:ta,isChargeCardTOSAccepted:Se,isDebitCardTOSAccepted:ge,primaryFundingAccountDetails:ut,chargeCardSetUpViewFetchState:Aa.fetchState,productInformation:$e,creditAccountInformation:He,debitAccountInformation:Ge,cashbackInformation:Ve,isAiCfoAccessEnabled:Yr,onAskAiCfoClick:D,isCardsCommentingEnabled:G,cardsAiCfoHero:Kt,onClickPolicyIcon:g&&U?()=>n(mi(u.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:mt,onPolicyIntroTooltipClose:ja,pendingCreationCount:Ye})]})]}):(Se||ge)&&g===!0?c.jsx(ba,{to:"../setup"}):Wr?c.jsx(ba,{to:"../promo"}):c.jsx(va,{fetchState:me})}const di=e=>`/${e}/cards/new`,li=e=>`/${e}/cards/payment`,ui=e=>`/${e}/cards/payment-history`,mi=e=>`/${e}/cards/policy`,jr=[Br,Rr],Ci=new Set(jr),pi=De(function(e){const n=re.getSignedInUser(),t=fe(e),a=e.tenantState.currentTenantId,s=tr(e),y={userId:n?.userId??"",sessionId:n?.zeniSessionId??"",tenantId:a??""},f=t?.companyName??"",S=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:s.fetchState,filters:s.filters,isZeniTenant:pc(t),repaymentList:s.repaymentHistory,searchText:s.searchText,repaymentHistoryUsers:s.repaymentHistoryUsers,sortConfig:{sortKey:s.uiState.sortKey,sortOrder:s.uiState.sortOrder},downloadParams:{authParams:y,companyName:f,spendManagementEndPoint:`${kt}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:S}},function(e,n){const{location:t,navigate:a}=n;return{onBackClick:()=>{const s=_e(t.state?.pathnameStackToGoBack),y=s.poppedPathname??"..";a(y,{state:{pathnameStackToGoBack:s.newStack}})},onColumnSortConfigChanged:(s,y)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:s,sortOrder:y}}})},onFiltersChange:s=>{e(fc({filters:s}))},onReloadPayments:()=>{e(Ga(!0))},onEventReceived:s=>{Ci.has(s)&&e(Ga(!0))},onPusherSubscribed:()=>{e(Ga(!0))},onSearchTextChanged:s=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:s})},updateDownloadStateHandler:s=>{e(hc({uiState:{downloadState:s}}))}}})(ct(so));function hi(){const e=de(),n=Ce(),t=pe(),{areTenantIdsInSync:a}=gr(),{useFeatureGate:s}=le();if(re.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const y=o(g=>fe(g)),f=o(g=>tr(g)),[S,w]=r.useState(!1),[l,m]=r.useState(!1),[R,v]=r.useState(!1),[u,M]=r.useState(null),x=!y.userRole.includes("charge_card_user"),B=!!y.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:p}=s(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:h}=s(Z.isDebitCardFeatureEnabled),D=Te(h,y),d=xe({isDebitCardFeatureEnabled:h,isBankingOnlyTenant:D}),_=we(y),k=ve(y),j=y.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,A=Be({isCardsOnlyTenant:_,isChargeCardFeatureEnabled:p,isBookKeepingTenant:k,isDebitCardProductVisible:d,chargeCardsCreditAccountLimit:j}),I=!!y.companyChargeCardInfo?.info?.isChargeCardEnabled,L=Fe(),i=Pe(L?.loggedInUserRoleMap),C=o(g=>ua(g,x,d&&B,A&&I)),N=r.useMemo(()=>{const g=C.cards.filter(F=>F.type.code.includes("debit"));return[...new Set(g.map(F=>F.connectedAccountId))]},[C.cards]),G=o(g=>la(g)),O=o(g=>nt(g,N)),{creditAccountRepayment:U}=o(g=>da(g)),z=r.useMemo(()=>Ot(i,G),[i,G]),W=r.useMemo(()=>Ba(A,I,i,C.creditAccount,U),[A,I,i,C.creditAccount,U]),b=r.useMemo(()=>Ut(d,B,i,O,C.debitCardSummary),[d,B,i,O,C.debitCardSummary]),T=r.useMemo(()=>Je(A,d,B,I),[A,d,B,I]),Y=C.creditAccount.balance.amount+C.creditAccount.hold.amount,q=r.useMemo(()=>u!=null?f.repaymentHistory.find(g=>g.cardRepaymentId===u):void 0,[u,f.repaymentHistory]),E=r.useCallback(g=>{M(g),t(ca(x,d&&B,A&&I,!1)),v(!0)},[t,x,d,B,A,I]),V=r.useCallback(()=>{v(!1),M(null),document.body.style.overflow="auto"},[]);r.useEffect(()=>{S||f.fetchState==="Completed"||f.fetchState==="In-Progress"||(w(!0),t(Ga()))},[S,t,f.fetchState]),r.useEffect(()=>{!l&&(I||B)&&a&&(m(!0),t(ca(x,!1,A&&I,!1)))},[l,I,B,a,t,x,A]);const Q=ea(y),X={events:Ca(Q,jr),eventCallback:(g,F,P)=>{P.onEventReceived(g)},onSubscribed:g=>{g.onPusherSubscribed()}};return c.jsxs(c.Fragment,{children:[R?c.jsx(Gt,{closeDrawerHandler:V,isPaymentDrawerOpen:R,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:Y,productInformation:T,creditAccountInformation:W,debitAccountInformation:b,cashbackInformation:z,isDebitCardInfoFetchStateCompleted:!(d&&B&&i)||O.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!A||U.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!i||G.fetchState==="Completed",paymentInitiatedDate:U.initiatedRepaymentDate,retryRepayment:q}):null,c.jsx(pi,{...X,location:n,navigate:e,accountInfoByAccountId:f.accountInfoByAccountId,onRetryPaymentClick:E})]})}const Sn=Ne.div`
26
26
  display: flex;
27
27
  height: 100vh;
28
28
  width: 100%;
@@ -31,7 +31,7 @@ import{j as c}from"./liveblocks-DS8sOLD1.js";import{h as de,g as Ce,i as Me,u as
31
31
  overflow: auto;
32
32
  align-items: center;
33
33
  background-color: ${e=>e.theme.colors.grey4};
34
- `,bn=Xe.getLocalizedStrings().months;function fi(){const e=de(),n=pe(),t=Ce(),{creditAccount:a,creditAccountRepayment:s}=o(T=>da(T)),y=`${fr.cardMicroServiceBaseUrl}/1.0/credit-accounts/${a.id}`,[f,S]=r.useState(!1),[w,l]=r.useState(!1),m=o(T=>gc(T)),{useFeatureGate:R}=le(),v=o(T=>fe(T)),{isFeatureEnabled:u}=R(K.isChargeCardFeatureEnabled),{isFeatureEnabled:M}=R(K.isDebitCardFeatureEnabled),{isFeatureEnabled:x}=R(K.isCardsCommentingEnabled),B=Ar(x?v.companyId:void 0,{clearParams:x&&m.fetchState==="Completed"}),p=Te(M,v),h=xe({isDebitCardFeatureEnabled:M,isBankingOnlyTenant:p}),D=we(v),d=ve(v),_=v.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,k=Be({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:u,isBookKeepingTenant:d,isDebitCardProductVisible:h,chargeCardsCreditAccountLimit:_}),j=!!v.companyDebitCardInfo?.info?.isDebitCardEnabled,A=!!v.companyChargeCardInfo?.info?.isChargeCardEnabled,I=o(T=>oa(T,v.companyId)),L=ia(I.controllers),i=o(T=>nr(T)),C=i.cards.filter(T=>T.type.code.includes("debit")).map(T=>T.connectedAccountId),N=[...new Set(C)],G=o(T=>nt(T,N)),U=o(T=>Sc(T));r.useEffect(()=>{w||a.fetchState==="Completed"||a.fetchState==="In-Progress"||(S(!0),n(Qe()))},[f,n,a.fetchState]),r.useEffect(()=>{w||a.fetchState!=="Completed"||a.id==null||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(l(!0),n(bc(a.id)))},[w,n,a.fetchState,a.id,m.fetchState]),r.useEffect(()=>{G.fetchState!=="Completed"&&G.fetchState!=="In-Progress"&&h&&j&&n(rr()),i.fetchState!=="Completed"&&i.fetchState!=="In-Progress"&&n(je()),U.fetchState!=="Completed"&&U.fetchState!=="In-Progress"&&h&&j&&n(yc()),s.fetchState!=="Completed"&&s.fetchState!=="In-Progress"&&k&&A&&n(Pt())},[G.fetchState,h,j,i.fetchState,U.fetchState,s.fetchState,k,A]),r.useEffect(()=>{if(m.fetchState==="Completed"&&a.fetchState==="Completed"&&s.fetchState==="Completed"&&i.fetchState==="Completed"&&(!h||!j||G.fetchState==="Completed"&&U.fetchState==="Completed")){let T="",Z="";if(m.statements.length>0){const Q=m.statements[m.statements.length-1].period,[X,g]=Q.split("-"),F=m.statements[0].period,[P,ee]=F.split("-");T=`${bn[parseInt(g)-1]} ${X}`,Z=`${bn[parseInt(ee)-1]} ${P}`}const q=Je(k,h,j,A),E=Ba(k,A,!0,a,s),V=Ot(h,j,!0,G,U);J.trackCardsCreditCardStatementsView(L,q,{numberOfStatements:m.statements.length,oldestStatementMonthYear:T,latestStatementMonthYear:Z},E,V)}},[m.fetchState,a.fetchState,s.fetchState,G.fetchState,i.fetchState,U.fetchState]);const O=()=>{const T=_e(t.state?.pathnameStackToGoBack),Z=T.poppedPathname??"..";e(Z,{state:{pathnameStackToGoBack:T.newStack}})},z=o(T=>la(T)),Y=re.getSignedInUser(),b={userId:Y?.userId??"",sessionId:Y?.zeniSessionId??"",tenantId:v.tenantId??""};if(Y==null)throw Error("Can't access address page without signing in...");if(m.fetchState!=="Completed")return c.jsx(Sn,{children:c.jsx(co,{onBackClick:O})});{const T=Je(k,h,j,A);return c.jsx(Sn,{children:c.jsx(oo,{currentTenantCompanyName:v.companyName,statementListView:m,productInformation:T,onBackClick:O,authParams:b,controllerEmails:L,isChargeCardFeatureEnabled:k,isDebitCardFeatureEnabled:h,isDebitCardSetupEnabled:j,isChargeCardSetupEnabled:A,isCardsCommentingEnabled:x,initialOpenThreadRequest:B,chargeCardCashbackDetailState:z,creditAccount:a,creditAccountRepayment:s,depositAccountListWithDebitCardIssued:G,debitCardSummary:U,downloadEndPoint:y})})}}const Mr=[ma,dt],gi=new Set(Mr),Si={containerWidth:new Fa(100,58)},bi=({appContent:e})=>{const n=Ta(),t=pe(),a=de(),s=Ce(),{useDynamicConfig:y}=le(),[f,S]=r.useState(!1),[w,l]=r.useState(!1),[m,R]=r.useState(!1),[v,u]=r.useState(!1),M=r.useRef(!1),x=r.useRef(null);r.useEffect(()=>()=>{x.current!=null&&(clearTimeout(x.current),x.current=null)},[]);const[B,p]=r.useState(!1),[h,D]=r.useState(!1),d=re.getSignedInUser();if(d==null)throw Error("Can't access onboarding card page without signing in...");const _=o(V=>fe(V)),{configValue:k}=y(Ye.zeniCardsConfig),j=o(V=>Ic(V)),{tenantEmailDomain:A}=_,I=o(V=>V.settingsViewState.profile.fetchState),L=o(V=>V.chargeCardListState.fetchState),i=o(V=>V.settingsViewState.profile.userId),C=o(V=>V.chargeCardConfigState.fetchState);r.useEffect(()=>{f===!1&&I!=="In-Progress"&&I!=="Completed"&&(t(kc()),S(!0)),w===!1&&C!=="In-Progress"&&C!=="Completed"&&(t(Ja()),l(!0)),m===!1&&L==="Not-Started"&&(R(!0),t(je()))},[f,m,L,w,C]),r.useEffect(()=>{I==="Completed"&&B===!1&&i!=null&&L==="Completed"&&j.cards.length>0&&(t(Ec({userId:i})),t(sr({cardId:j.cards[j.cards.length-1].id})),p(!0))},[I,B,i,L]),r.useEffect(()=>{if(!v&&j.fetchState==="Completed"&&j.cards.length===0){const V=_e(s.state?.pathnameStackToGoBack),Q=V.poppedPathname??aa(A);a(Q,{state:{pathnameStackToGoBack:V.newStack}})}},[j.fetchState,j.cards,v]);const N=o(V=>Qa(V)),G=ya(N.updateStatus.fetchState),U=N.currentDisplayedCardId,{useFeatureGate:O}=le(),{isFeatureEnabled:z}=O(K.isChargeCardFeatureEnabled),Y=!!_.companyChargeCardInfo?.info?.isChargeCardEnabled,b=!_.userRole.includes("charge_card_user")&&z&&Y,T=o(V=>U!=null?cr(V.chargeCardState,U):null),Z=()=>{U!=null&&(M.current=!0,x.current!=null&&clearTimeout(x.current),x.current=setTimeout(()=>{M.current=!1,x.current=null},5e3),t(ka(U,b,!0)),t(je(!0)),u(!0))},q=ea(_);jt({events:Ca(q,Mr),onSubscribed:()=>{t(je(!0))},onEvent:(V,Q)=>{if(!gi.has(V))return;const X=$t(Q),g=M.current;if(V===ma){const P=ie(X?.card_id)??U;if(P!=null){const ee=zt(X,P);if(ee!=null)return t(wt(ee)),void(P!==U||g||Z())}}if(V===dt)return void t(je(!0));const F=ie(X?.card_id)??U;(U==null||F===U)&&U!=null?g||Z():t(je(!0))}}),r.useEffect(()=>{if(v&&U!=null&&T!=null&&T.status.code!=="request_on_hold"){const V=Ae(_.tenantEmailDomain,U,d,T),Q=ye(s.state?.pathnameStackToGoBack,s.pathname);t(Ac()),T?.type.code==="business_virtual_credit_card"&&t(Xa()),a(V,{state:{pathnameStackToGoBack:Q},replace:!0}),M.current=!1,x.current!=null&&(clearTimeout(x.current),x.current=null)}},[v,T?.status.code]),r.useEffect(()=>{G==="In-Progress"&&N.updateStatus.fetchState==="Completed"&&setTimeout(Z,3e3)},[G,N.updateStatus.fetchState]);const E=V=>{D(V)};if(I!=="Completed"||j.cards.length===0)return c.jsxs(yn,{children:[c.jsx(Ie,{isAppContentDrawerOpen:h,handleDrawerToggle:E}),c.jsx(io,{})]});if(i==null)throw Error("Can't access my userId.");return c.jsxs(yn,{children:[c.jsx(Ie,{isAppContentDrawerOpen:h,handleDrawerToggle:E}),c.jsx(yi,{chargeCardListView:j,cardUserOnboardingView:N,navigate:a,currentTenant:_,myUserId:i,location:s,chargeCardCashbackRatePerTransaction:k.charge_card_cashback_rate_per_transaction!=null?k.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{E(!0)}}),e!=null?c.jsx(Ii,{windowSize:n,children:e}):null]})},yi=De(function(e,{currentTenant:n,cardUserOnboardingView:t,chargeCardListView:a,myUserId:s}){const y=ua(e,!1,!1,!1);let f=!1;return y.fetchState==="Completed"&&y.cards.length<=1&&(f=!0),{cards:a.cards,showMenuIcon:f,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:f}=y;return{updateCardUserOnboardingLocalData:S=>{e(Cn({localData:S}))},onGetOtp:S=>{if(a.cardUserOnboardingLocalData!=null){const w={...a.cardUserOnboardingLocalData,phone:S};e(Cn({localData:w}))}e(tt(S,"CardUserOnboarding"))},onResendOtp:S=>{e(at(S,"CardUserOnboarding"))},onVerifyOtp:(S,w)=>{e(et(S,w,"CardUserOnboarding"))},onVerifyOtpSuccess:S=>{e(Dc()),S!=null&&re.saveZeniOtpToken(S)},setCurrentDisplayedCardId:S=>{e(sr({cardId:S}))},onBackClick:()=>{const S=_e(s.state?.pathnameStackToGoBack),w=S.poppedPathname??aa(f);t(w,{state:{pathnameStackToGoBack:S.newStack}})}}})(lo),Ii=Ne.div`
34
+ `,bn=Xe.getLocalizedStrings().months;function fi(){const e=de(),n=pe(),t=Ce(),{creditAccount:a,creditAccountRepayment:s}=o(T=>da(T)),y=`${fr.cardMicroServiceBaseUrl}/1.0/credit-accounts/${a.id}`,[f,S]=r.useState(!1),[w,l]=r.useState(!1),m=o(T=>gc(T)),{useFeatureGate:R}=le(),v=o(T=>fe(T)),{isFeatureEnabled:u}=R(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:M}=R(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:x}=R(Z.isCardsCommentingEnabled),B=Ar(x?v.companyId:void 0,{clearParams:x&&m.fetchState==="Completed"}),p=Te(M,v),h=xe({isDebitCardFeatureEnabled:M,isBankingOnlyTenant:p}),D=we(v),d=ve(v),_=v.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,k=Be({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:u,isBookKeepingTenant:d,isDebitCardProductVisible:h,chargeCardsCreditAccountLimit:_}),j=!!v.companyDebitCardInfo?.info?.isDebitCardEnabled,A=!!v.companyChargeCardInfo?.info?.isChargeCardEnabled,I=o(T=>oa(T,v.companyId)),L=ia(I.controllers),i=o(T=>nr(T)),C=i.cards.filter(T=>T.type.code.includes("debit")).map(T=>T.connectedAccountId),N=[...new Set(C)],G=o(T=>nt(T,N)),O=o(T=>Sc(T));r.useEffect(()=>{w||a.fetchState==="Completed"||a.fetchState==="In-Progress"||(S(!0),n(Qe()))},[f,n,a.fetchState]),r.useEffect(()=>{w||a.fetchState!=="Completed"||a.id==null||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(l(!0),n(bc(a.id)))},[w,n,a.fetchState,a.id,m.fetchState]),r.useEffect(()=>{G.fetchState!=="Completed"&&G.fetchState!=="In-Progress"&&h&&j&&n(rr()),i.fetchState!=="Completed"&&i.fetchState!=="In-Progress"&&n(je()),O.fetchState!=="Completed"&&O.fetchState!=="In-Progress"&&h&&j&&n(yc()),s.fetchState!=="Completed"&&s.fetchState!=="In-Progress"&&k&&A&&n(Pt())},[G.fetchState,h,j,i.fetchState,O.fetchState,s.fetchState,k,A]),r.useEffect(()=>{if(m.fetchState==="Completed"&&a.fetchState==="Completed"&&s.fetchState==="Completed"&&i.fetchState==="Completed"&&(!h||!j||G.fetchState==="Completed"&&O.fetchState==="Completed")){let T="",Y="";if(m.statements.length>0){const Q=m.statements[m.statements.length-1].period,[X,g]=Q.split("-"),F=m.statements[0].period,[P,ee]=F.split("-");T=`${bn[parseInt(g)-1]} ${X}`,Y=`${bn[parseInt(ee)-1]} ${P}`}const q=Je(k,h,j,A),E=Ba(k,A,!0,a,s),V=Ut(h,j,!0,G,O);J.trackCardsCreditCardStatementsView(L,q,{numberOfStatements:m.statements.length,oldestStatementMonthYear:T,latestStatementMonthYear:Y},E,V)}},[m.fetchState,a.fetchState,s.fetchState,G.fetchState,i.fetchState,O.fetchState]);const U=()=>{const T=_e(t.state?.pathnameStackToGoBack),Y=T.poppedPathname??"..";e(Y,{state:{pathnameStackToGoBack:T.newStack}})},z=o(T=>la(T)),W=re.getSignedInUser(),b={userId:W?.userId??"",sessionId:W?.zeniSessionId??"",tenantId:v.tenantId??""};if(W==null)throw Error("Can't access address page without signing in...");if(m.fetchState!=="Completed")return c.jsx(Sn,{children:c.jsx(co,{onBackClick:U})});{const T=Je(k,h,j,A);return c.jsx(Sn,{children:c.jsx(oo,{currentTenantCompanyName:v.companyName,statementListView:m,productInformation:T,onBackClick:U,authParams:b,controllerEmails:L,isChargeCardFeatureEnabled:k,isDebitCardFeatureEnabled:h,isDebitCardSetupEnabled:j,isChargeCardSetupEnabled:A,isCardsCommentingEnabled:x,initialOpenThreadRequest:B,chargeCardCashbackDetailState:z,creditAccount:a,creditAccountRepayment:s,depositAccountListWithDebitCardIssued:G,debitCardSummary:O,downloadEndPoint:y})})}}const Mr=[ma,dt],gi=new Set(Mr),Si={containerWidth:new Fa(100,58)},bi=({appContent:e})=>{const n=Ta(),t=pe(),a=de(),s=Ce(),{useDynamicConfig:y}=le(),[f,S]=r.useState(!1),[w,l]=r.useState(!1),[m,R]=r.useState(!1),[v,u]=r.useState(!1),M=r.useRef(!1),x=r.useRef(null);r.useEffect(()=>()=>{x.current!=null&&(clearTimeout(x.current),x.current=null)},[]);const[B,p]=r.useState(!1),[h,D]=r.useState(!1),d=re.getSignedInUser();if(d==null)throw Error("Can't access onboarding card page without signing in...");const _=o(V=>fe(V)),{configValue:k}=y(We.zeniCardsConfig),j=o(V=>Ic(V)),{tenantEmailDomain:A}=_,I=o(V=>V.settingsViewState.profile.fetchState),L=o(V=>V.chargeCardListState.fetchState),i=o(V=>V.settingsViewState.profile.userId),C=o(V=>V.chargeCardConfigState.fetchState);r.useEffect(()=>{f===!1&&I!=="In-Progress"&&I!=="Completed"&&(t(kc()),S(!0)),w===!1&&C!=="In-Progress"&&C!=="Completed"&&(t(Ja()),l(!0)),m===!1&&L==="Not-Started"&&(R(!0),t(je()))},[f,m,L,w,C]),r.useEffect(()=>{I==="Completed"&&B===!1&&i!=null&&L==="Completed"&&j.cards.length>0&&(t(Ec({userId:i})),t(sr({cardId:j.cards[j.cards.length-1].id})),p(!0))},[I,B,i,L]),r.useEffect(()=>{if(!v&&j.fetchState==="Completed"&&j.cards.length===0){const V=_e(s.state?.pathnameStackToGoBack),Q=V.poppedPathname??aa(A);a(Q,{state:{pathnameStackToGoBack:V.newStack}})}},[j.fetchState,j.cards,v]);const N=o(V=>Qa(V)),G=ya(N.updateStatus.fetchState),O=N.currentDisplayedCardId,{useFeatureGate:U}=le(),{isFeatureEnabled:z}=U(Z.isChargeCardFeatureEnabled),W=!!_.companyChargeCardInfo?.info?.isChargeCardEnabled,b=!_.userRole.includes("charge_card_user")&&z&&W,T=o(V=>O!=null?cr(V.chargeCardState,O):null),Y=()=>{O!=null&&(M.current=!0,x.current!=null&&clearTimeout(x.current),x.current=setTimeout(()=>{M.current=!1,x.current=null},5e3),t(ka(O,b,!0)),t(je(!0)),u(!0))},q=ea(_);jt({events:Ca(q,Mr),onSubscribed:()=>{t(je(!0))},onEvent:(V,Q)=>{if(!gi.has(V))return;const X=$t(Q),g=M.current;if(V===ma){const P=ie(X?.card_id)??O;if(P!=null){const ee=zt(X,P);if(ee!=null)return t(wt(ee)),void(P!==O||g||Y())}}if(V===dt)return void t(je(!0));const F=ie(X?.card_id)??O;(O==null||F===O)&&O!=null?g||Y():t(je(!0))}}),r.useEffect(()=>{if(v&&O!=null&&T!=null&&T.status.code!=="request_on_hold"){const V=Ae(_.tenantEmailDomain,O,d,T),Q=ye(s.state?.pathnameStackToGoBack,s.pathname);t(Ac()),T?.type.code==="business_virtual_credit_card"&&t(Xa()),a(V,{state:{pathnameStackToGoBack:Q},replace:!0}),M.current=!1,x.current!=null&&(clearTimeout(x.current),x.current=null)}},[v,T?.status.code]),r.useEffect(()=>{G==="In-Progress"&&N.updateStatus.fetchState==="Completed"&&setTimeout(Y,3e3)},[G,N.updateStatus.fetchState]);const E=V=>{D(V)};if(I!=="Completed"||j.cards.length===0)return c.jsxs(yn,{children:[c.jsx(Ie,{isAppContentDrawerOpen:h,handleDrawerToggle:E}),c.jsx(io,{})]});if(i==null)throw Error("Can't access my userId.");return c.jsxs(yn,{children:[c.jsx(Ie,{isAppContentDrawerOpen:h,handleDrawerToggle:E}),c.jsx(yi,{chargeCardListView:j,cardUserOnboardingView:N,navigate:a,currentTenant:_,myUserId:i,location:s,chargeCardCashbackRatePerTransaction:k.charge_card_cashback_rate_per_transaction!=null?k.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{E(!0)}}),e!=null?c.jsx(Ii,{windowSize:n,children:e}):null]})},yi=De(function(e,{currentTenant:n,cardUserOnboardingView:t,chargeCardListView:a,myUserId:s}){const y=ua(e,!1,!1,!1);let f=!1;return y.fetchState==="Completed"&&y.cards.length<=1&&(f=!0),{cards:a.cards,showMenuIcon:f,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:f}=y;return{updateCardUserOnboardingLocalData:S=>{e(Cn({localData:S}))},onGetOtp:S=>{if(a.cardUserOnboardingLocalData!=null){const w={...a.cardUserOnboardingLocalData,phone:S};e(Cn({localData:w}))}e(tt(S,"CardUserOnboarding"))},onResendOtp:S=>{e(at(S,"CardUserOnboarding"))},onVerifyOtp:(S,w)=>{e(et(S,w,"CardUserOnboarding"))},onVerifyOtpSuccess:S=>{e(Dc()),S!=null&&re.saveZeniOtpToken(S)},setCurrentDisplayedCardId:S=>{e(sr({cardId:S}))},onBackClick:()=>{const S=_e(s.state?.pathnameStackToGoBack),w=S.poppedPathname??aa(f);t(w,{state:{pathnameStackToGoBack:S.newStack}})}}})(lo),Ii=Ne.div`
35
35
  display: flex;
36
36
  flex-direction: column;
37
37
  width: ${e=>`${Si.containerWidth.value(e.windowSize)}%`};
@@ -44,12 +44,12 @@ import{j as c}from"./liveblocks-DS8sOLD1.js";import{h as de,g as Ce,i as Me,u as
44
44
  flex-direction: column;
45
45
  align-items: center;
46
46
  background-color: ${e=>e.theme.colors.grey4};
47
- `,ki={containerWidth:new Fa(100,58)},Ei=({appContent:e})=>{const n=Ta(),t=pe(),a=de(),{cardId:s}=Me(),y=Ce(),{useDynamicConfig:f,useFeatureGate:S}=le(),[w,l]=r.useState(!1),[m,R]=r.useState(!1),[v,u]=r.useState(!1),[M,x]=r.useState(!1),B=re.getSignedInUser();if(B==null)throw Error("Can't access onboarding card page without signing in...");const p=o(b=>fe(b));if(s==null)throw Error("Empty card id is not valid...");const{configValue:h}=f(Ye.zeniCardsConfig),D=o(b=>_c(b,s)),{isFeatureEnabled:d}=S(K.isChargeCardFeatureEnabled),{isFeatureEnabled:_}=S(K.isDebitCardFeatureEnabled),k=Te(_,p),j=xe({isDebitCardFeatureEnabled:_,isBankingOnlyTenant:k}),A=we(p),I=ve(p),L=p.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=Be({isCardsOnlyTenant:A,isChargeCardFeatureEnabled:d,isBookKeepingTenant:I,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:L}),C=D.chargeCard,N=o(b=>b.chargeCardConfigState.fetchState);r.useEffect(()=>{w===!1&&N!=="In-Progress"&&N!=="Completed"&&(t(Ja()),l(!0)),m===!1&&D.fetchState==="Not-Started"&&(R(!0),t(ka(s,!1,i)))},[m,D.fetchState,w,N]);const G=C?.type.code==="business_physical_debit_card"||C?.type.code==="business_virtual_debit_card";r.useEffect(()=>{if(D.fetchState==="Completed"){if(v===!1&&(G===!1||G&&C.status?.code!=="active"||G&&C.status.code==="active"&&C.isPinSet||C.cardHolderUserId!==B.userId)){const b=Ae(p.tenantEmailDomain,s,B,C,!0),T=ye(y.state?.pathnameStackToGoBack,y.pathname);a(b,{state:{pathnameStackToGoBack:T}})}else if(v&&D.isRefreshingViewInBackground===!1&&C?.isPinSet===!0){t(Pc({chargeCardId:s}));const b=Ae(p.tenantEmailDomain,s,B,C,!0),T=ye(y.state?.pathnameStackToGoBack,y.pathname);t(Xa()),a(b,{state:{pathnameStackToGoBack:T}})}}},[D.fetchState,C?.type.code,v,D.isRefreshingViewInBackground]);const U=re.getZeniOtpTokenForCardHolder(s),O=o(b=>Mn(b.userState,B.userId)),z=()=>{C?.isPinSet!==!0&&t(ga(s,!0))};r.useEffect(()=>{D.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(z,3e3),u(!0))},[D.updateDebitCardPinAttemptFetchState.fetchState]);const Y=b=>{x(b)};if(N!=="Completed"||C==null)return c.jsx(va,{fetchState:"In-Progress"});if(O?.phone==null)throw Error("Can't access user phone number.");return c.jsxs(_i,{children:[c.jsx(Ie,{isAppContentDrawerOpen:M,handleDrawerToggle:Y}),c.jsx(Ai,{cardId:s,card:C,phone:O.phone,signedInUser:B,isSandboxEnv:xt(),debitCardDetailState:D,signedInUserToken:U,navigate:a,currentTenant:p,location:y,chargeCardCashbackRatePerTransaction:h.charge_card_cashback_rate_per_transaction!=null?h.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{Y(!0)}}),e!=null?c.jsx(Di,{windowSize:n,children:e}):null]})},Ai=De(function(e,{debitCardDetailState:n,cardId:t}){const a=Nn(e,t),s=n.updateStatus,y=ua(e,!1,!1,!1);let f=!1;return y.fetchState==="Completed"&&y.cards.length<=1&&(f=!0),{showMenuIcon:f,vgsVaultId:st.cardVaultId,twoFAView:a,setPinWaitStatus:s}},function(e,n){const{navigate:t,cardId:a,location:s,currentTenant:y,debitCardDetailState:f}=n,S=f.chargeCard?.cardProviderID,{tenantEmailDomain:w}=y;return{onGetOtp:l=>{S!=null&&e(tt(l,"ChargeCardHolder",a))},onUpdateDebitCardPinAttempt:l=>{e(Zn(a,l))},onResendOtp:l=>{S!=null&&e(at(l,"ChargeCardHolder",a))},onVerifyOtp:(l,m)=>{S!=null&&e(et(l,m,"ChargeCardHolder",a))},onVerifyOtpSuccess:l=>{l!=null&&re.saveZeniOtpTokenForCardHolder(l,a)},onSetPinSuccess:()=>{e(wc({chargeCardId:a}))},onBackClick:()=>{const l=_e(s.state?.pathnameStackToGoBack),m=l.poppedPathname==null||l.poppedPathname.includes("activate")===!0?aa(w):l.poppedPathname;t(m,{state:{pathnameStackToGoBack:l.newStack}})}}})(uo),Di=Ne.div`
47
+ `,ki={containerWidth:new Fa(100,58)},Ei=({appContent:e})=>{const n=Ta(),t=pe(),a=de(),{cardId:s}=Me(),y=Ce(),{useDynamicConfig:f,useFeatureGate:S}=le(),[w,l]=r.useState(!1),[m,R]=r.useState(!1),[v,u]=r.useState(!1),[M,x]=r.useState(!1),B=re.getSignedInUser();if(B==null)throw Error("Can't access onboarding card page without signing in...");const p=o(b=>fe(b));if(s==null)throw Error("Empty card id is not valid...");const{configValue:h}=f(We.zeniCardsConfig),D=o(b=>_c(b,s)),{isFeatureEnabled:d}=S(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:_}=S(Z.isDebitCardFeatureEnabled),k=Te(_,p),j=xe({isDebitCardFeatureEnabled:_,isBankingOnlyTenant:k}),A=we(p),I=ve(p),L=p.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=Be({isCardsOnlyTenant:A,isChargeCardFeatureEnabled:d,isBookKeepingTenant:I,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:L}),C=D.chargeCard,N=o(b=>b.chargeCardConfigState.fetchState);r.useEffect(()=>{w===!1&&N!=="In-Progress"&&N!=="Completed"&&(t(Ja()),l(!0)),m===!1&&D.fetchState==="Not-Started"&&(R(!0),t(ka(s,!1,i)))},[m,D.fetchState,w,N]);const G=C?.type.code==="business_physical_debit_card"||C?.type.code==="business_virtual_debit_card";r.useEffect(()=>{if(D.fetchState==="Completed"){if(v===!1&&(G===!1||G&&C.status?.code!=="active"||G&&C.status.code==="active"&&C.isPinSet||C.cardHolderUserId!==B.userId)){const b=Ae(p.tenantEmailDomain,s,B,C,!0),T=ye(y.state?.pathnameStackToGoBack,y.pathname);a(b,{state:{pathnameStackToGoBack:T}})}else if(v&&D.isRefreshingViewInBackground===!1&&C?.isPinSet===!0){t(Pc({chargeCardId:s}));const b=Ae(p.tenantEmailDomain,s,B,C,!0),T=ye(y.state?.pathnameStackToGoBack,y.pathname);t(Xa()),a(b,{state:{pathnameStackToGoBack:T}})}}},[D.fetchState,C?.type.code,v,D.isRefreshingViewInBackground]);const O=re.getZeniOtpTokenForCardHolder(s),U=o(b=>Mn(b.userState,B.userId)),z=()=>{C?.isPinSet!==!0&&t(ga(s,!0))};r.useEffect(()=>{D.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(z,3e3),u(!0))},[D.updateDebitCardPinAttemptFetchState.fetchState]);const W=b=>{x(b)};if(N!=="Completed"||C==null)return c.jsx(va,{fetchState:"In-Progress"});if(U?.phone==null)throw Error("Can't access user phone number.");return c.jsxs(_i,{children:[c.jsx(Ie,{isAppContentDrawerOpen:M,handleDrawerToggle:W}),c.jsx(Ai,{cardId:s,card:C,phone:U.phone,signedInUser:B,isSandboxEnv:xt(),debitCardDetailState:D,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:()=>{W(!0)}}),e!=null?c.jsx(Di,{windowSize:n,children:e}):null]})},Ai=De(function(e,{debitCardDetailState:n,cardId:t}){const a=Nn(e,t),s=n.updateStatus,y=ua(e,!1,!1,!1);let f=!1;return y.fetchState==="Completed"&&y.cards.length<=1&&(f=!0),{showMenuIcon:f,vgsVaultId:st.cardVaultId,twoFAView:a,setPinWaitStatus:s}},function(e,n){const{navigate:t,cardId:a,location:s,currentTenant:y,debitCardDetailState:f}=n,S=f.chargeCard?.cardProviderID,{tenantEmailDomain:w}=y;return{onGetOtp:l=>{S!=null&&e(tt(l,"ChargeCardHolder",a))},onUpdateDebitCardPinAttempt:l=>{e(Yn(a,l))},onResendOtp:l=>{S!=null&&e(at(l,"ChargeCardHolder",a))},onVerifyOtp:(l,m)=>{S!=null&&e(et(l,m,"ChargeCardHolder",a))},onVerifyOtpSuccess:l=>{l!=null&&re.saveZeniOtpTokenForCardHolder(l,a)},onSetPinSuccess:()=>{e(wc({chargeCardId:a}))},onBackClick:()=>{const l=_e(s.state?.pathnameStackToGoBack),m=l.poppedPathname==null||l.poppedPathname.includes("activate")===!0?aa(w):l.poppedPathname;t(m,{state:{pathnameStackToGoBack:l.newStack}})}}})(uo),Di=Ne.div`
48
48
  display: flex;
49
49
  flex-direction: column;
50
50
  width: ${e=>`${ki.containerWidth.value(e.windowSize)}%`};
51
51
  ${e=>e.windowSize!=="small"?"overflow: auto;":""}
52
- box-shadow: ${e=>`${Ka.sp0} 2px ${Ka.sp1} ${e.theme.colors.dropShadowNormal}`};
52
+ box-shadow: ${e=>`${Za.sp0} 2px ${Za.sp1} ${e.theme.colors.dropShadowNormal}`};
53
53
  `,_i=Ne.div`
54
54
  display: flex;
55
55
  min-height: 100%;
@@ -58,8 +58,8 @@ import{j as c}from"./liveblocks-DS8sOLD1.js";import{h as de,g as Ce,i as Me,u as
58
58
  flex-direction: column;
59
59
  align-items: center;
60
60
  background-color: ${e=>e.theme.colors.grey4};
61
- box-shadow: ${e=>`${Ka.sp0} 2px ${Ka.sp1} ${e.theme.colors.dropShadowNormal}`};
62
- `,Pi={overlayWidth:new Fa(pt[12],pt[12],pt[9])},wi=De(function(e,n){const t=Tt(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(or(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`));const f=Do(y);e(Fc({addressType:`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`,addressToCreate:f})),e(xc(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`))},onDismissClick:()=>{n.onDismissClick(),t!=null&&e(Tc({addressId:t,cardLineId:a,cardType:s==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}})(mo),vi=({lineId:e,closeDrawerHandler:n,chargeCardTypeOption:t})=>{const a=Bt(),s=Ta(),y=()=>{n()},f=o(S=>vc(`${t==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,S))?.newAddressId;return c.jsx(br,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:Pi.overlayWidth.valuePercentage(s),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:a.colors.black,cursor:"pointer"}}},onClose:(S,w)=>(w==="backdropClick"||w==="escapeKeyDown")&&y(),children:c.jsx(wi,{googleAPIKey:st.googleMapsAPIKey,onDismissClick:y,lineId:e,chargeCardTypeOption:t,newCustomAddressId:f})})},Ti=De(function(e,n){const{isChargeCardFeatureEnabled:t,isDebitCardFeatureEnabled:a,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:y,isChargeCardSetupEnabled:f,isDebitCardSetupEnabled:S}=n,w=Tt(e,t&&f,a&&S);return{issueChargeCards:w,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:y,isDebitCardFeatureEnabled:a,isChargeCardFeatureEnabled:t,isChargeCardSetupEnabled:f,isDebitCardSetupEnabled:S,cardHolderCandidates:w.userList.map(l=>l.user).filter(Boolean),allRoles:w.userList.map(l=>l.userRole),allAccountingClasses:w.allAccountingClasses,userList:w.userList}},function(e,n){return{onIssueCardClick:()=>{e(Lc())},onSaveChangesToLocalStore:t=>{e(Rc(t))},onDismissClick:()=>{e(ir()),n.navigate("../")},resetCustomAddressByLineID:(t,a)=>{e(or(`${a==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`))},openAddAddressDrawerHandler:n.openAddAddressDrawerHandler}})(ho);function Fi(){const e=re.getSignedInUser(),n=de(),t=pe(),a=Co(),[s]=In(),y=s.get("cardType"),{useFeatureGate:f}=le(),{isFeatureEnabled:S}=f(K.isIssuePhysicalCardEnabled),{isFeatureEnabled:w}=f(K.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:l}=f(K.isDebitCardFeatureEnabled),{isFeatureEnabled:m}=f(K.isChargeCardFeatureEnabled),R=o(z=>fe(z)),v=Te(l,R),u=xe({isDebitCardFeatureEnabled:l,isBankingOnlyTenant:v}),M=we(R),x=ve(R),B=R.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,p=Be({isCardsOnlyTenant:M,isChargeCardFeatureEnabled:m,isBookKeepingTenant:x,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:B}),[h,D]=r.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");r.useEffect(()=>{h||(D(!0),t(Bc(u&&_,p&&d,!1)))},[h,D,t]);const d=!!R.companyChargeCardInfo?.info?.isChargeCardEnabled,_=!!R.companyDebitCardInfo?.info?.isDebitCardEnabled,k=o(z=>Tt(z,p&&d,u&&_)),j=k.fetchState,A=k.issueCardStatus.fetchState,I=k.lastSelfIssuedDebitCardId,L=o(z=>I!=null?cr(z.chargeCardState,I):void 0),[i,C]=r.useState(null),[N,G]=r.useState(null),U=()=>{C(null)},O=(z,Y)=>{C(z),G(Y)};return r.useEffect(()=>{if(A==="Completed"){if(I!=null&&L?.type.code==="business_virtual_debit_card"){let z;z=L?.status.code==="request_on_hold"&&e.userId===L.cardHolderUserId?Er(R.tenantEmailDomain):Ae(R.tenantEmailDomain,I,e,L),n(z)}else n("../");t(ir())}},[A,I]),j==="Completed"?c.jsxs(c.Fragment,{children:[i!==null&&N!==null?c.jsx(vi,{closeDrawerHandler:U,lineId:i,chargeCardTypeOption:N}):null,c.jsx(Ti,{themeState:a,isIssuePhysicalCardEnabled:S,isIssuePhysicalDebitCardEnabled:w,isDebitCardFeatureEnabled:u,isChargeCardFeatureEnabled:p,isChargeCardSetupEnabled:d,isDebitCardSetupEnabled:_,navigate:n,fetchState:k.fetchState,openAddAddressDrawerHandler:O,defaultCardType:y==="creditCard"||y==="debitCard"?y:void 0})]}):j==="Error"?c.jsx(ot,{}):c.jsx(po,{})}const Nr=[ma,dt],xi=new Set(Nr),Bi=Ne.div`
61
+ box-shadow: ${e=>`${Za.sp0} 2px ${Za.sp1} ${e.theme.colors.dropShadowNormal}`};
62
+ `,Pi={overlayWidth:new Fa(pt[12],pt[12],pt[9])},wi=De(function(e,n){const t=Tt(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(or(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`));const f=Do(y);e(Fc({addressType:`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`,addressToCreate:f})),e(xc(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`))},onDismissClick:()=>{n.onDismissClick(),t!=null&&e(Tc({addressId:t,cardLineId:a,cardType:s==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}})(mo),vi=({lineId:e,closeDrawerHandler:n,chargeCardTypeOption:t})=>{const a=Bt(),s=Ta(),y=()=>{n()},f=o(S=>vc(`${t==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,S))?.newAddressId;return c.jsx(br,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:Pi.overlayWidth.valuePercentage(s),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:a.colors.black,cursor:"pointer"}}},onClose:(S,w)=>(w==="backdropClick"||w==="escapeKeyDown")&&y(),children:c.jsx(wi,{googleAPIKey:st.googleMapsAPIKey,onDismissClick:y,lineId:e,chargeCardTypeOption:t,newCustomAddressId:f})})},Ti=De(function(e,n){const{isChargeCardFeatureEnabled:t,isDebitCardFeatureEnabled:a,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:y,isChargeCardSetupEnabled:f,isDebitCardSetupEnabled:S}=n,w=Tt(e,t&&f,a&&S);return{issueChargeCards:w,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:y,isDebitCardFeatureEnabled:a,isChargeCardFeatureEnabled:t,isChargeCardSetupEnabled:f,isDebitCardSetupEnabled:S,cardHolderCandidates:w.userList.map(l=>l.user).filter(Boolean),allRoles:w.userList.map(l=>l.userRole),allAccountingClasses:w.allAccountingClasses,userList:w.userList}},function(e,n){return{onIssueCardClick:()=>{e(Lc())},onSaveChangesToLocalStore:t=>{e(Rc(t))},onDismissClick:()=>{e(ir()),n.navigate("../")},resetCustomAddressByLineID:(t,a)=>{e(or(`${a==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`))},openAddAddressDrawerHandler:n.openAddAddressDrawerHandler}})(ho);function Fi(){const e=re.getSignedInUser(),n=de(),t=pe(),a=Co(),[s]=In(),y=s.get("cardType"),{useFeatureGate:f}=le(),{isFeatureEnabled:S}=f(Z.isIssuePhysicalCardEnabled),{isFeatureEnabled:w}=f(Z.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:l}=f(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:m}=f(Z.isChargeCardFeatureEnabled),R=o(z=>fe(z)),v=Te(l,R),u=xe({isDebitCardFeatureEnabled:l,isBankingOnlyTenant:v}),M=we(R),x=ve(R),B=R.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,p=Be({isCardsOnlyTenant:M,isChargeCardFeatureEnabled:m,isBookKeepingTenant:x,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:B}),[h,D]=r.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");r.useEffect(()=>{h||(D(!0),t(Bc(u&&_,p&&d,!1)))},[h,D,t]);const d=!!R.companyChargeCardInfo?.info?.isChargeCardEnabled,_=!!R.companyDebitCardInfo?.info?.isDebitCardEnabled,k=o(z=>Tt(z,p&&d,u&&_)),j=k.fetchState,A=k.issueCardStatus.fetchState,I=k.lastSelfIssuedDebitCardId,L=o(z=>I!=null?cr(z.chargeCardState,I):void 0),[i,C]=r.useState(null),[N,G]=r.useState(null),O=()=>{C(null)},U=(z,W)=>{C(z),G(W)};return r.useEffect(()=>{if(A==="Completed"){if(I!=null&&L?.type.code==="business_virtual_debit_card"){let z;z=L?.status.code==="request_on_hold"&&e.userId===L.cardHolderUserId?Er(R.tenantEmailDomain):Ae(R.tenantEmailDomain,I,e,L),n(z)}else n("../");t(ir())}},[A,I]),j==="Completed"?c.jsxs(c.Fragment,{children:[i!==null&&N!==null?c.jsx(vi,{closeDrawerHandler:O,lineId:i,chargeCardTypeOption:N}):null,c.jsx(Ti,{themeState:a,isIssuePhysicalCardEnabled:S,isIssuePhysicalDebitCardEnabled:w,isDebitCardFeatureEnabled:u,isChargeCardFeatureEnabled:p,isChargeCardSetupEnabled:d,isDebitCardSetupEnabled:_,navigate:n,fetchState:k.fetchState,openAddAddressDrawerHandler:U,defaultCardType:y==="creditCard"||y==="debitCard"?y:void 0})]}):j==="Error"?c.jsx(ot,{}):c.jsx(po,{})}const Nr=[ma,dt],xi=new Set(Nr),Bi=Ne.div`
63
63
  display: flex;
64
64
  height: 100vh;
65
65
  width: 100%;
@@ -68,4 +68,4 @@ import{j as c}from"./liveblocks-DS8sOLD1.js";import{h as de,g as Ce,i as Me,u as
68
68
  overflow: auto;
69
69
  align-items: center;
70
70
  background-color: ${e=>e.theme.colors.grey4};
71
- `,Ri=De(function(e,n){const{myPendingActivationChargeCardListState:t}=n;return{myPendingActivationChargeCardListView:t,uiState:t.uiState,signedInUser:n.signedInUser}},function(e,n){const{navigate:t,currentTenant:a,location:s,signedInUser:y,myPendingActivationChargeCardListState:f}=n,{tenantEmailDomain:S}=a,{cards:w}=f;return{onChargeCardRowClick:l=>{const m=kr(w,l),R=Ae(S,l,y,m),v=ye(s.state?.pathnameStackToGoBack,s.pathname);t(R,{state:{pathnameStackToGoBack:v}})},onColumnSortConfigChanged:(l,m)=>{e(yt({uiState:{sortKey:l,sortOrder:m}}))},onReloadCards:()=>{e(je())},onBackClick:()=>{const l=a.userRole.includes("charge_card_user");e(yt({uiState:{sortKey:l?"cardName":"owner",sortOrder:"ascending"}})),t("../")}}})(fo);function Li(){const e=de(),n=pe(),t=Ce(),a=Bt(),[s,y]=r.useState(!1),f=o(O=>Uc(O)),S=o(O=>fe(O)),w=o(O=>oa(O,S.companyId)),l=ia(w.controllers),{useFeatureGate:m}=le(),{isFeatureEnabled:R}=m(K.isChargeCardFeatureEnabled),{isFeatureEnabled:v}=m(K.isDebitCardFeatureEnabled),u=Te(v,S),M=xe({isDebitCardFeatureEnabled:v,isBankingOnlyTenant:u}),x=!!S.companyDebitCardInfo?.info?.isDebitCardEnabled,B=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,p=Fe(),h=we(S),D=ve(S),d=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,_=Be({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:R,isBookKeepingTenant:D,isDebitCardProductVisible:M,chargeCardsCreditAccountLimit:d}),k=Pe(p?.loggedInUserRoleMap),j=o(O=>la(O)),{creditAccount:A,creditAccountRepayment:I}=o(O=>da(O)),L=o(O=>nr(O)).cards.filter(O=>O.type.code.includes("debit")).map(O=>O.connectedAccountId),i=[...new Set(L)],C=o(O=>nt(O,i));r.useEffect(()=>{s||f.fetchState==="Completed"||f.fetchState==="In-Progress"||(y(!0),n(je()),n(Ja()))},[s,n,f.fetchState]),r.useEffect(()=>{if(f.fetchState==="Completed"&&f.cards.length===1&&N!=null){const O=Ae(S.tenantEmailDomain,f.cards[0].id,N,f.cards[0]);e(O,{state:{message:t.state?.message}})}},[f.fetchState,f.cards]);const N=re.getSignedInUser();r.useEffect(()=>{A.fetchState!=="Completed"&&A.fetchState!=="In-Progress"&&_&&B&&k&&n(Qe()),I.fetchState!=="Completed"&&I.fetchState!=="In-Progress"&&k&&n(Pt()),C.fetchState!=="Completed"&&C.fetchState!=="In-Progress"&&M&&x&&k&&n(rr())},[A.fetchState,I.fetchState,n,C.fetchState,M,x,k,_,B]);const G=ea(S);if(jt({events:Ca(G,Nr),onEvent:(O,z)=>{if(!xi.has(O))return;const Y=$t(z);if(O===ma){const b=ie(Y?.card_id);if(b!=null){const T=zt(Y,b);if(T!=null)return void n(wt(T))}}n(je(!0))},onSubscribed:()=>{n(je(!0))}}),N==null)throw Error("Can't access address page without signing in...");const U=f.cards!=null&&f.cards.length>0;if(f.fetchState==="Completed"||U){const O=Je(_,M,x,B);return c.jsx(Bi,{children:c.jsx(Ri,{navigate:e,currentTenant:S,signedInUser:N,productInformation:O,myPendingActivationChargeCardListState:f,isChargeCardFeatureEnabled:_,isDebitCardFeatureEnabled:M,isDebitCardSetupEnabled:x,isChargeCardSetupEnabled:B,chargeCardCashbackDetailState:j,creditAccount:A,creditAccountRepayment:I,depositAccountListWithDebitCardIssued:C,controllerEmails:l,location:t})})}return c.jsx(va,{fetchState:"In-Progress",style:{backgroundColor:a.colors.grey5}})}const Ui=De(function(e,n){const{companyId:t,companyLegalName:a}=n;return{chargeCardSetupView:wa(e,t),admins:n.adminList,companyLegalName:a,meetingUrl:"https://meetings.hubspot.com/niharn/demo-zeni-charge-cards?embed=true"}},function(e,n){const{navigate:t,companyId:a,isCompanyBusinessVerificationAndPaymentSetUpDone:s,isDebitCardSetupEnabled:y,isChargeCardSetupEnabled:f,signedInUser:S,location:w,productInformation:l,isEarlyPayEnabled:m,controllerEmails:R,chargeCardsCreditAccountLimit:v}=n;return{onSetupButtonClick:u=>{if(S!=null&&J.trackCardsPromoPageClicked("enable cards"),s)switch(J.trackCardsEnableCardsClick(R,l,"Cards Promo"),u){case"credit":e(qe(a,!0,"charge_cards",m,!1));break;case"debit":e(qe(a,!0,"debit_cards",m,!1));break;case"debit_and_credit":e(v===0?qe(a,!0,"debit_cards",m,!0):qe(a,!0,"charge_cards__debit_cards",m,!1))}else switch(J.trackCardsSetupCardsClick(R,l,"Cards Promo"),u){case"credit":e(qe(a,!1,"charge_cards",m,!1));break;case"debit":e(qe(a,!1,"debit_cards",m,!1));break;case"debit_and_credit":e(v===0?qe(a,!1,"debit_cards",m,!0):qe(a,!1,"charge_cards__debit_cards",m,!1))}},onBackClick:()=>{const u=_e(w.state?.pathnameStackToGoBack);let M=u.poppedPathname;M==null&&(M=y||f?"..":"../.."),t(M,{state:{pathnameStackToGoBack:u.newStack}})},onLetsGoClick:()=>{t("./onboard")},onSetupChargeCardSuccess:()=>{s?(e(Xa()),t("../",{relative:"path"})):t("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(Mc(a))}}})(So),Oi=()=>{const e=de(),{tenantEmailDomain:n}=Me(),[t]=In(),a=t.get("cardPromoType"),s=pe(),{useDynamicConfig:y,useFeatureGate:f}=le(),[S,w]=r.useState(!1),{isFeatureEnabled:l}=f(K.isDebitCardFeatureEnabled),{isFeatureEnabled:m}=f(K.isEarlyPayFeatureEnabled),{isFeatureEnabled:R}=f(K.isChargeCardFeatureEnabled),{configValue:v}=y(Ye.zeniCardsConfig),u=o(ne=>fe(ne)),M=o(ne=>oa(ne,u.companyId)),x=ia(M.controllers),B=v.charge_card_cashback_rate_per_transaction!=null?v.charge_card_cashback_rate_per_transaction:.0175,p=Ce(),h=re.getSignedInUserTenant(n)?.companyId??u.companyId,D=o(ne=>wa(ne,h)),d=D.primaryFundingAccount,_=u.companyBillPayInfo?.info,k=we(u),j=ve(u),A=Te(l,u),I=u.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=xe({isDebitCardFeatureEnabled:l,isBankingOnlyTenant:A}),i=Be({isCardsOnlyTenant:k,isChargeCardFeatureEnabled:R,isBookKeepingTenant:j,isDebitCardProductVisible:L,chargeCardsCreditAccountLimit:I}),C=Ir({isCardsOnlyTenant:k,isChargeCardFeatureEnabled:R,isBookKeepingTenant:j}),N=L&&i===!1,G=_?.businessVerificationStatus?.code==="verified"&&(N||d?.accType==="depositAccount"||Oc(d?.providerVerificationStatus?.code??"")),U=re.getSignedInUser(),O=!!u.companyZeniAccountInfo?.info?.isZeniAccountEnabled,z=!!u.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,Y=!!u.company?.companyChargeCardInfo.isChargeCardEnabled,b=!!u.company?.companyDebitCardInfo.isDebitCardEnabled,T=!!u.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,Z=ne=>{w(ne)},q=o(ne=>ne.chargeCardSetupViewState.fetchState);if(U==null)throw Error("Can't access Charge Card promo page without signing in...");const E=Fe(),V=Pe(E?.loggedInUserRoleMap),Q=vt(E?.loggedInUserRoleMap),[X,g]=r.useState(!1),[F,P]=r.useState(!1),[ee,W]=r.useState(!1);r.useEffect(()=>{X===!1&&p.state?.message==="activation"&&g(!0)},[p.state]),r.useEffect(()=>{F||q!=="Not-Started"||h==null||(P(!0),s(Pa(h,!0)))},[F,q,h,s]);const ke=u.companyChargeCardInfo?.info!=null&&Ia({cardInfo:u.companyChargeCardInfo.info,isProductVisible:C,isTOSAccepted:z,isSetupEnabled:Y,isUserHasCardsAdminLevelAccess:V,isUserHasCardsAccess:Q}),Se=u.companyDebitCardInfo?.info!=null&&Ia({cardInfo:u.companyDebitCardInfo.info,isProductVisible:L,isTOSAccepted:T,isSetupEnabled:b,isUserHasCardsAdminLevelAccess:V,isUserHasCardsAccess:Q}),ge=L&&Se&&C&&I>=0&&ke?"debit_and_credit":L&&Se?"debit":"credit",ae=Ao(a,ge),ue=D?.chargeCardTermsDetails?.fetchStatus?.fetchState,oe=r.useRef(null);r.useEffect(()=>{ue==="In-Progress"?oe.current=ae:ue!=="Error"&&ue!=="Not-Started"||(oe.current=null)},[ue,ae]);const te=ue!=="In-Progress"&&ue!=="Completed"||oe.current==null?ae:oe.current;r.useEffect(()=>{ae==="credit"&&(Y||C===!1&&b)||ae==="debit"&&b||ae==="debit_and_credit"&&b&&Y?e("../"):(ae==="debit_and_credit"&&z===!0&&T===!0||ae==="credit"&&(z===!0||C===!1&&T===!0)||ae==="debit"&&T===!0)&&V===!0&&e("../setup")},[G,Y,b,ae,z,T]),r.useEffect(()=>{ee||(s(jc("cardAdmin")),W(!0))},[ee]);const Ze=o(ne=>ar(ne.userState,ne.userRoleState,ne.userListViewState,"cardAdmin")),Ee=Je(C,L,b,Y);return(ke||Se)&&q==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Rt,{analytics:J,onLoad:()=>{if(J.trackPageLoaded(Sr.Event.cardsPromoPage),!!C&&!Y||!!L&&!b||!!C&&!!L&&!b&&!Y){const ne=ji({isDebitCardSetupEnabled:b,isChargeCardSetupEnabled:Y,isCreditCardProductVisibleForExpressInterest:C,isDebitCardProductVisible:L});J.trackCardsPromoView(x,Ee,"Page",ne,"Promo Page")}}}),c.jsx(rt,{showConfetti:X}),c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:Z}),c.jsx(Ui,{signedInUser:U,location:p,showEnableCardButton:G,isCompanyBusinessVerificationAndPaymentSetUpDone:G,isChargeCardSetupEnabled:Y,isDebitCardSetupEnabled:b,companyLegalName:u.companyName,adminList:Ze.users,isCheckingEnabled:O,navigate:e,companyId:h,cardPromoType:te,controllerEmails:x,productInformation:Ee,isCreditCardProductVisible:i,isDebitCardFeatureEnabled:l,isEarlyPayEnabled:m,cashbackRate:B,chargeCardsCreditAccountLimit:I,onClickMenuIcon:()=>{Z(!0)}})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:Z}),c.jsx(go,{})]})},ji=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:n,isCreditCardProductVisibleForExpressInterest:t,isDebitCardProductVisible:a})=>t&&a&&!e&&!n?"Credit & Debit Card":t&&!n?"Credit Card":a&&!e?"Debit Card":"";function ld(){const e=Ce(),n=o(E=>fe(E)),{useFeatureGate:t}=le(),{isFeatureEnabled:a}=t(K.isChargeCardFeatureEnabled),{isFeatureEnabled:s}=t(K.isDebitCardFeatureEnabled),{isFeatureEnabled:y}=t(K.isEarlyPayFeatureEnabled),{isFeatureEnabled:f}=t(K.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:S}=t(K.isCardPolicyEnabled),w=Te(s,n),l=xe({isDebitCardFeatureEnabled:s,isBankingOnlyTenant:w}),m=bo(n,a,s),R=!!n.company?.companyChargeCardInfo.isChargeCardTOSAccepted,v=!!n.company?.companyDebitCardInfo.isDebitCardTOSAccepted,u=!!n.company?.companyChargeCardInfo.isChargeCardEnabled,M=!!n.company?.companyDebitCardInfo.isDebitCardEnabled,x=Fe(),B=Pe(x?.loggedInUserRoleMap),p=vt(x?.loggedInUserRoleMap),{isFeatureEnabled:h}=t(K.isCashbackFeatureEnabled),D=n.userRole.includes("charge_card_user"),d=!D,_=!D&&u,k=n?.userRole!=null&&Nc(n?.userRole),j=(n?.company==null||n.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!k)&&Vc(x?.loggedInUserRoleMap),A=Hc(x?.loggedInUserRoleMap),I=(n?.company==null||n.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!k)&&Gc(x?.loggedInUserRoleMap),{isFeatureEnabled:L}=t(K.isDepositAccountsFeatureEnabled),i=L&&!k&&Hn(x?.loggedInUserRoleMap),C=u&&!k,N=M&&!k,G=m&&!k&&Pe(x?.loggedInUserRoleMap),U=$c(x?.loggedInUserRoleMap),O=we(n),z=ve(n),Y=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,b=Be({isCardsOnlyTenant:O,isChargeCardFeatureEnabled:a,isBookKeepingTenant:z,isDebitCardProductVisible:l,chargeCardsCreditAccountLimit:Y}),T=n.companyChargeCardInfo?.info!=null&&Ia({cardInfo:n.companyChargeCardInfo.info,isProductVisible:b,isTOSAccepted:R,isSetupEnabled:u,isUserHasCardsAdminLevelAccess:B,isUserHasCardsAccess:p}),Z=n.companyDebitCardInfo?.info!=null&&Ia({cardInfo:n.companyDebitCardInfo.info,isProductVisible:l,isTOSAccepted:v,isSetupEnabled:M,isUserHasCardsAdminLevelAccess:B,isUserHasCardsAccess:p}),q=T||Z;return c.jsxs(es,{children:[B?c.jsx(se,{path:"setup",element:c.jsx(pn,{isBillPayAdminLevelAccess:j,isReimbursementAdminLevelAccess:I,isZeniAccountAdminLevelAccess:i,isChargeCardAdminLevelAccess:G,isUserHasOnlyCardAccess:U,isUserHasOnlyBillPayAccess:A,productType:"charge_cards",type:"setup"})}):null,B?c.jsx(se,{path:"verification",element:c.jsx(pn,{isBillPayAdminLevelAccess:j,isUserHasOnlyBillPayAccess:A,isReimbursementAdminLevelAccess:I,isZeniAccountAdminLevelAccess:i,isChargeCardAdminLevelAccess:G,isUserHasOnlyCardAccess:U,productType:"charge_cards",type:"verification"})}):null,B&&S?c.jsxs(c.Fragment,{children:[c.jsx(se,{path:"policy",element:c.jsx(jo,{})}),c.jsx(se,{path:"policy/new",element:c.jsx(vo,{})}),c.jsx(se,{path:"policy/:templateId/edit",element:c.jsx(Bo,{})})]}):null,c.jsx(se,{path:"promo",element:c.jsx(Oi,{})}),C||N?c.jsxs(c.Fragment,{children:[c.jsx(se,{path:"/",element:c.jsx(gn,{isPaymentDrawerOpen:!1})}),G&&y?c.jsx(se,{path:"payment",element:c.jsx(gn,{isPaymentDrawerOpen:!0})}):null,c.jsx(se,{path:"activate",element:c.jsx(Li,{})}),c.jsx(se,{path:"onboard",element:c.jsx(bi,{})}),B?c.jsx(se,{path:"new",element:c.jsx(Fi,{})}):null,h&&d?c.jsx(se,{path:"cashback",element:c.jsx(Go,{})}):null,_?c.jsx(se,{path:"statements",element:c.jsx(fi,{})}):null,G&&f&&u?c.jsx(se,{path:"payment-history",element:c.jsx(hi,{})}):null,c.jsx(se,{path:":cardId/activate",element:c.jsx(Yo,{})}),c.jsx(se,{path:":cardId/setPin",element:c.jsx(Ei,{})}),c.jsx(se,{path:":cardId/addToWallet",element:c.jsx(Mo,{})}),c.jsx(se,{path:":cardId/*",element:c.jsx(ti,{})}),c.jsx(se,{path:"*",element:c.jsx(ot,{})})]}):(R||v)&&B?c.jsx(se,{path:"*",element:c.jsx(ba,{to:"../setup"})}):q?c.jsx(se,{path:"*",element:c.jsx(ba,{to:"../promo",state:e.state})}):c.jsx(se,{path:"*",element:null})]})}export{ld as default};
71
+ `,Ri=De(function(e,n){const{myPendingActivationChargeCardListState:t}=n;return{myPendingActivationChargeCardListView:t,uiState:t.uiState,signedInUser:n.signedInUser}},function(e,n){const{navigate:t,currentTenant:a,location:s,signedInUser:y,myPendingActivationChargeCardListState:f}=n,{tenantEmailDomain:S}=a,{cards:w}=f;return{onChargeCardRowClick:l=>{const m=kr(w,l),R=Ae(S,l,y,m),v=ye(s.state?.pathnameStackToGoBack,s.pathname);t(R,{state:{pathnameStackToGoBack:v}})},onColumnSortConfigChanged:(l,m)=>{e(yt({uiState:{sortKey:l,sortOrder:m}}))},onReloadCards:()=>{e(je())},onBackClick:()=>{const l=a.userRole.includes("charge_card_user");e(yt({uiState:{sortKey:l?"cardName":"owner",sortOrder:"ascending"}})),t("../")}}})(fo);function Li(){const e=de(),n=pe(),t=Ce(),a=Bt(),[s,y]=r.useState(!1),f=o(U=>Oc(U)),S=o(U=>fe(U)),w=o(U=>oa(U,S.companyId)),l=ia(w.controllers),{useFeatureGate:m}=le(),{isFeatureEnabled:R}=m(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:v}=m(Z.isDebitCardFeatureEnabled),u=Te(v,S),M=xe({isDebitCardFeatureEnabled:v,isBankingOnlyTenant:u}),x=!!S.companyDebitCardInfo?.info?.isDebitCardEnabled,B=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,p=Fe(),h=we(S),D=ve(S),d=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,_=Be({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:R,isBookKeepingTenant:D,isDebitCardProductVisible:M,chargeCardsCreditAccountLimit:d}),k=Pe(p?.loggedInUserRoleMap),j=o(U=>la(U)),{creditAccount:A,creditAccountRepayment:I}=o(U=>da(U)),L=o(U=>nr(U)).cards.filter(U=>U.type.code.includes("debit")).map(U=>U.connectedAccountId),i=[...new Set(L)],C=o(U=>nt(U,i));r.useEffect(()=>{s||f.fetchState==="Completed"||f.fetchState==="In-Progress"||(y(!0),n(je()),n(Ja()))},[s,n,f.fetchState]),r.useEffect(()=>{if(f.fetchState==="Completed"&&f.cards.length===1&&N!=null){const U=Ae(S.tenantEmailDomain,f.cards[0].id,N,f.cards[0]);e(U,{state:{message:t.state?.message}})}},[f.fetchState,f.cards]);const N=re.getSignedInUser();r.useEffect(()=>{A.fetchState!=="Completed"&&A.fetchState!=="In-Progress"&&_&&B&&k&&n(Qe()),I.fetchState!=="Completed"&&I.fetchState!=="In-Progress"&&k&&n(Pt()),C.fetchState!=="Completed"&&C.fetchState!=="In-Progress"&&M&&x&&k&&n(rr())},[A.fetchState,I.fetchState,n,C.fetchState,M,x,k,_,B]);const G=ea(S);if(jt({events:Ca(G,Nr),onEvent:(U,z)=>{if(!xi.has(U))return;const W=$t(z);if(U===ma){const b=ie(W?.card_id);if(b!=null){const T=zt(W,b);if(T!=null)return void n(wt(T))}}n(je(!0))},onSubscribed:()=>{n(je(!0))}}),N==null)throw Error("Can't access address page without signing in...");const O=f.cards!=null&&f.cards.length>0;if(f.fetchState==="Completed"||O){const U=Je(_,M,x,B);return c.jsx(Bi,{children:c.jsx(Ri,{navigate:e,currentTenant:S,signedInUser:N,productInformation:U,myPendingActivationChargeCardListState:f,isChargeCardFeatureEnabled:_,isDebitCardFeatureEnabled:M,isDebitCardSetupEnabled:x,isChargeCardSetupEnabled:B,chargeCardCashbackDetailState:j,creditAccount:A,creditAccountRepayment:I,depositAccountListWithDebitCardIssued:C,controllerEmails:l,location:t})})}return c.jsx(va,{fetchState:"In-Progress",style:{backgroundColor:a.colors.grey5}})}const Oi=De(function(e,n){const{companyId:t,companyLegalName:a}=n;return{chargeCardSetupView:wa(e,t),admins:n.adminList,companyLegalName:a,meetingUrl:"https://meetings.hubspot.com/niharn/demo-zeni-charge-cards?embed=true"}},function(e,n){const{navigate:t,companyId:a,isCompanyBusinessVerificationAndPaymentSetUpDone:s,isDebitCardSetupEnabled:y,isChargeCardSetupEnabled:f,signedInUser:S,location:w,productInformation:l,isEarlyPayEnabled:m,controllerEmails:R,chargeCardsCreditAccountLimit:v}=n;return{onSetupButtonClick:u=>{if(S!=null&&J.trackCardsPromoPageClicked("enable cards"),s)switch(J.trackCardsEnableCardsClick(R,l,"Cards Promo"),u){case"credit":e(qe(a,!0,"charge_cards",m,!1));break;case"debit":e(qe(a,!0,"debit_cards",m,!1));break;case"debit_and_credit":e(v===0?qe(a,!0,"debit_cards",m,!0):qe(a,!0,"charge_cards__debit_cards",m,!1))}else switch(J.trackCardsSetupCardsClick(R,l,"Cards Promo"),u){case"credit":e(qe(a,!1,"charge_cards",m,!1));break;case"debit":e(qe(a,!1,"debit_cards",m,!1));break;case"debit_and_credit":e(v===0?qe(a,!1,"debit_cards",m,!0):qe(a,!1,"charge_cards__debit_cards",m,!1))}},onBackClick:()=>{const u=_e(w.state?.pathnameStackToGoBack);let M=u.poppedPathname;M==null&&(M=y||f?"..":"../.."),t(M,{state:{pathnameStackToGoBack:u.newStack}})},onLetsGoClick:()=>{t("./onboard")},onSetupChargeCardSuccess:()=>{s?(e(Xa()),t("../",{relative:"path"})):t("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(Mc(a))}}})(So),Ui=()=>{const e=de(),{tenantEmailDomain:n}=Me(),[t]=In(),a=t.get("cardPromoType"),s=pe(),{useDynamicConfig:y,useFeatureGate:f}=le(),[S,w]=r.useState(!1),{isFeatureEnabled:l}=f(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:m}=f(Z.isEarlyPayFeatureEnabled),{isFeatureEnabled:R}=f(Z.isChargeCardFeatureEnabled),{configValue:v}=y(We.zeniCardsConfig),u=o(ne=>fe(ne)),M=o(ne=>oa(ne,u.companyId)),x=ia(M.controllers),B=v.charge_card_cashback_rate_per_transaction!=null?v.charge_card_cashback_rate_per_transaction:.0175,p=Ce(),h=re.getSignedInUserTenant(n)?.companyId??u.companyId,D=o(ne=>wa(ne,h)),d=D.primaryFundingAccount,_=u.companyBillPayInfo?.info,k=we(u),j=ve(u),A=Te(l,u),I=u.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=xe({isDebitCardFeatureEnabled:l,isBankingOnlyTenant:A}),i=Be({isCardsOnlyTenant:k,isChargeCardFeatureEnabled:R,isBookKeepingTenant:j,isDebitCardProductVisible:L,chargeCardsCreditAccountLimit:I}),C=Ir({isCardsOnlyTenant:k,isChargeCardFeatureEnabled:R,isBookKeepingTenant:j}),N=L&&i===!1,G=_?.businessVerificationStatus?.code==="verified"&&(N||d?.accType==="depositAccount"||Uc(d?.providerVerificationStatus?.code??"")),O=re.getSignedInUser(),U=!!u.companyZeniAccountInfo?.info?.isZeniAccountEnabled,z=!!u.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,W=!!u.company?.companyChargeCardInfo.isChargeCardEnabled,b=!!u.company?.companyDebitCardInfo.isDebitCardEnabled,T=!!u.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,Y=ne=>{w(ne)},q=o(ne=>ne.chargeCardSetupViewState.fetchState);if(O==null)throw Error("Can't access Charge Card promo page without signing in...");const E=Fe(),V=Pe(E?.loggedInUserRoleMap),Q=vt(E?.loggedInUserRoleMap),[X,g]=r.useState(!1),[F,P]=r.useState(!1),[ee,K]=r.useState(!1);r.useEffect(()=>{X===!1&&p.state?.message==="activation"&&g(!0)},[p.state]),r.useEffect(()=>{F||q!=="Not-Started"||h==null||(P(!0),s(Pa(h,!0)))},[F,q,h,s]);const ke=u.companyChargeCardInfo?.info!=null&&Ia({cardInfo:u.companyChargeCardInfo.info,isProductVisible:C,isTOSAccepted:z,isSetupEnabled:W,isUserHasCardsAdminLevelAccess:V,isUserHasCardsAccess:Q}),Se=u.companyDebitCardInfo?.info!=null&&Ia({cardInfo:u.companyDebitCardInfo.info,isProductVisible:L,isTOSAccepted:T,isSetupEnabled:b,isUserHasCardsAdminLevelAccess:V,isUserHasCardsAccess:Q}),ge=L&&Se&&C&&I>=0&&ke?"debit_and_credit":L&&Se?"debit":"credit",ae=Ao(a,ge),ue=D?.chargeCardTermsDetails?.fetchStatus?.fetchState,oe=r.useRef(null);r.useEffect(()=>{ue==="In-Progress"?oe.current=ae:ue!=="Error"&&ue!=="Not-Started"||(oe.current=null)},[ue,ae]);const te=ue!=="In-Progress"&&ue!=="Completed"||oe.current==null?ae:oe.current;r.useEffect(()=>{ae==="credit"&&(W||C===!1&&b)||ae==="debit"&&b||ae==="debit_and_credit"&&b&&W?e("../"):(ae==="debit_and_credit"&&z===!0&&T===!0||ae==="credit"&&(z===!0||C===!1&&T===!0)||ae==="debit"&&T===!0)&&V===!0&&e("../setup")},[G,W,b,ae,z,T]),r.useEffect(()=>{ee||(s(jc("cardAdmin")),K(!0))},[ee]);const Ye=o(ne=>ar(ne.userState,ne.userRoleState,ne.userListViewState,"cardAdmin")),Ee=Je(C,L,b,W);return(ke||Se)&&q==="Completed"?c.jsxs(c.Fragment,{children:[c.jsx(Rt,{analytics:J,onLoad:()=>{if(J.trackPageLoaded(Sr.Event.cardsPromoPage),!!C&&!W||!!L&&!b||!!C&&!!L&&!b&&!W){const ne=ji({isDebitCardSetupEnabled:b,isChargeCardSetupEnabled:W,isCreditCardProductVisibleForExpressInterest:C,isDebitCardProductVisible:L});J.trackCardsPromoView(x,Ee,"Page",ne,"Promo Page")}}}),c.jsx(rt,{showConfetti:X}),c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:Y}),c.jsx(Oi,{signedInUser:O,location:p,showEnableCardButton:G,isCompanyBusinessVerificationAndPaymentSetUpDone:G,isChargeCardSetupEnabled:W,isDebitCardSetupEnabled:b,companyLegalName:u.companyName,adminList:Ye.users,isCheckingEnabled:U,navigate:e,companyId:h,cardPromoType:te,controllerEmails:x,productInformation:Ee,isCreditCardProductVisible:i,isDebitCardFeatureEnabled:l,isEarlyPayEnabled:m,cashbackRate:B,chargeCardsCreditAccountLimit:I,onClickMenuIcon:()=>{Y(!0)}})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ie,{isAppContentDrawerOpen:S,handleDrawerToggle:Y}),c.jsx(go,{})]})},ji=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:n,isCreditCardProductVisibleForExpressInterest:t,isDebitCardProductVisible:a})=>t&&a&&!e&&!n?"Credit & Debit Card":t&&!n?"Credit Card":a&&!e?"Debit Card":"";function ld(){const e=Ce(),n=o(E=>fe(E)),{useFeatureGate:t}=le(),{isFeatureEnabled:a}=t(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:s}=t(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:y}=t(Z.isEarlyPayFeatureEnabled),{isFeatureEnabled:f}=t(Z.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:S}=t(Z.isCardPolicyEnabled),w=Te(s,n),l=xe({isDebitCardFeatureEnabled:s,isBankingOnlyTenant:w}),m=bo(n,a,s),R=!!n.company?.companyChargeCardInfo.isChargeCardTOSAccepted,v=!!n.company?.companyDebitCardInfo.isDebitCardTOSAccepted,u=!!n.company?.companyChargeCardInfo.isChargeCardEnabled,M=!!n.company?.companyDebitCardInfo.isDebitCardEnabled,x=Fe(),B=Pe(x?.loggedInUserRoleMap),p=vt(x?.loggedInUserRoleMap),{isFeatureEnabled:h}=t(Z.isCashbackFeatureEnabled),D=n.userRole.includes("charge_card_user"),d=!D,_=!D&&u,k=n?.userRole!=null&&Nc(n?.userRole),j=(n?.company==null||n.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!k)&&Vc(x?.loggedInUserRoleMap),A=Hc(x?.loggedInUserRoleMap),I=(n?.company==null||n.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!k)&&Gc(x?.loggedInUserRoleMap),{isFeatureEnabled:L}=t(Z.isDepositAccountsFeatureEnabled),i=L&&!k&&Hn(x?.loggedInUserRoleMap),C=u&&!k,N=M&&!k,G=m&&!k&&Pe(x?.loggedInUserRoleMap),O=$c(x?.loggedInUserRoleMap),U=we(n),z=ve(n),W=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,b=Be({isCardsOnlyTenant:U,isChargeCardFeatureEnabled:a,isBookKeepingTenant:z,isDebitCardProductVisible:l,chargeCardsCreditAccountLimit:W}),T=n.companyChargeCardInfo?.info!=null&&Ia({cardInfo:n.companyChargeCardInfo.info,isProductVisible:b,isTOSAccepted:R,isSetupEnabled:u,isUserHasCardsAdminLevelAccess:B,isUserHasCardsAccess:p}),Y=n.companyDebitCardInfo?.info!=null&&Ia({cardInfo:n.companyDebitCardInfo.info,isProductVisible:l,isTOSAccepted:v,isSetupEnabled:M,isUserHasCardsAdminLevelAccess:B,isUserHasCardsAccess:p}),q=T||Y;return c.jsxs(es,{children:[B?c.jsx(se,{path:"setup",element:c.jsx(pn,{isBillPayAdminLevelAccess:j,isReimbursementAdminLevelAccess:I,isZeniAccountAdminLevelAccess:i,isChargeCardAdminLevelAccess:G,isUserHasOnlyCardAccess:O,isUserHasOnlyBillPayAccess:A,productType:"charge_cards",type:"setup"})}):null,B?c.jsx(se,{path:"verification",element:c.jsx(pn,{isBillPayAdminLevelAccess:j,isUserHasOnlyBillPayAccess:A,isReimbursementAdminLevelAccess:I,isZeniAccountAdminLevelAccess:i,isChargeCardAdminLevelAccess:G,isUserHasOnlyCardAccess:O,productType:"charge_cards",type:"verification"})}):null,B&&S?c.jsxs(c.Fragment,{children:[c.jsx(se,{path:"policy",element:c.jsx(jo,{})}),c.jsx(se,{path:"policy/new",element:c.jsx(vo,{})}),c.jsx(se,{path:"policy/:templateId/edit",element:c.jsx(Bo,{})})]}):null,c.jsx(se,{path:"promo",element:c.jsx(Ui,{})}),C||N?c.jsxs(c.Fragment,{children:[c.jsx(se,{path:"/",element:c.jsx(gn,{isPaymentDrawerOpen:!1})}),G&&y?c.jsx(se,{path:"payment",element:c.jsx(gn,{isPaymentDrawerOpen:!0})}):null,c.jsx(se,{path:"activate",element:c.jsx(Li,{})}),c.jsx(se,{path:"onboard",element:c.jsx(bi,{})}),B?c.jsx(se,{path:"new",element:c.jsx(Fi,{})}):null,h&&d?c.jsx(se,{path:"cashback",element:c.jsx(Go,{})}):null,_?c.jsx(se,{path:"statements",element:c.jsx(fi,{})}):null,G&&f&&u?c.jsx(se,{path:"payment-history",element:c.jsx(hi,{})}):null,c.jsx(se,{path:":cardId/activate",element:c.jsx(Wo,{})}),c.jsx(se,{path:":cardId/setPin",element:c.jsx(Ei,{})}),c.jsx(se,{path:":cardId/addToWallet",element:c.jsx(Mo,{})}),c.jsx(se,{path:":cardId/*",element:c.jsx(ti,{})}),c.jsx(se,{path:"*",element:c.jsx(ot,{})})]}):(R||v)&&B?c.jsx(se,{path:"*",element:c.jsx(ba,{to:"../setup"})}):q?c.jsx(se,{path:"*",element:c.jsx(ba,{to:"../promo",state:e.state})}):c.jsx(se,{path:"*",element:null})]})}export{ld as default};
@@ -0,0 +1 @@
1
+ import{j as m}from"./liveblocks-evjZPqs_.js";import{a as g}from"./sentry-CCZGmBkl.js";import{h as w,u as x,g as T,i as k,j as O,n as E}from"./core-DmAftQ4g.js";import{z as h,bc as P,x as F,c as A,e as V,af as b,bd as j,au as L,av as U,q as B}from"./index-BsmcHa9A.js";import{eW as N,gh as M,tA as R,gc as _,c6 as z,Ph as G,bn as Y,rA as q,ro as H,l3 as W,mE as S,Pi as Z,bE as $,cy as C,mO as J,mR as K}from"./zeni-epic-state-vtQ66nN6.js";import"./mui-PcDpEhsm.js";import{d as Q}from"./routePaths-ieN8hn7m.js";import{M as X}from"./MobileAppDrawer-cGG4tefr.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new a.Error().stack;t&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[t]="1329db67-3963-4e63-9401-6e55a94abcad",a._sentryDebugIdIdentifier="sentry-dbid-1329db67-3963-4e63-9401-6e55a94abcad")}catch{}})();const ee=E(function(a){const t=_(a),i=h.getSignedInUser(),l=N(a),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=z(l?.userRole??[])&&t.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=G(a.companyConfigState),n=a.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:t.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:t,allIndustries:e.companyIndustries??[],allNationalityCountries:n,isDisabled:f,authParams:p,filesEndPoint:`${L.fileMicroServiceBaseUrl}`,isZeniUser:Y(i)}},function(a,t){const{companyId:i,currentTenant:l,navigate:c,location:p}=t,{tenantEmailDomain:f}=l;return{onScheduleClick:e=>{let n=e.href;n.includes("http")||(n="https://".concat(n)),window.open(n,"_blank")},onSaveAll:()=>{a(K())},onAddressClick:e=>{const n=Q(f,e),o=B(p.state?.pathnameStackToGoBack,p.pathname);c(n,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{a(J({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:D}=r,v={companyInfo:{...n,website:u!=""&&u!=null?C(u):void 0,meetingLink:y!=""&&y!=null?C(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?$(s?.toString()):s,fileId:o.fileIds[0]},taxDetails:{taxIdOrEIN:r.taxIdOrEIN,sicCode:r.sicCode,naicsCode:r.naicsCode,dunsNumber:r.dunsNumber,taxesFiledYears:D.selectedOptions.map(I=>parseInt(I)),fileId:r.fileIds[0]}};a(S({companyDetails:v}))},onPrimaryContactDetailsUpdated:e=>{a(S({primaryContact:{userId:e.userId,email:e.email.trim(),firstName:e.name.firstName,lastName:e.name.lastName}}))},onNewCompanyOfficerAdded:e=>{a(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=>{a(Z(e))},onCompanyOfficerUpdated:e=>{a(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=>{a(W({files:e}))},onDeleteFile:e=>{a(H(e))},onEditFileName:(e,n)=>{a(q(e,n.split(".")[0]))}}})(j);function de(){const a=w(),t=x(),i=T(),{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=>N(s)),d=r.companyId??h.getSignedInUserTenant(l)?.companyId;if(h.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect(()=>{c||n!=="Not-Started"||d==null||(p(!0),t(M(d)))},[c,n,d,t]),g.useEffect(()=>{o==="Not-Started"&&t(R())},[o,t]);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:()=>a("../",{replace:!0}),onReload:()=>window.location.reload()}):m.jsxs(m.Fragment,{children:[m.jsx(F,{analytics:A,onLoad:s=>s.trackPageLoaded(V.Event.companyPassport,b(i)?"Settings":"Company Passport")}),b(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:a,location:i,isLoading:y,currentTenant:r,isSettings:b(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};