@zeniai/web-app-ui 5.4.18-dev → 5.4.19-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/dist/assets/{AccountMappingScreen-4Zeu95kU.js → AccountMappingScreen-BpJDQCQx.js} +2 -2
  2. package/dist/assets/ActualMatchingMatchDetailScreen-fK8c-oot.js +1 -0
  3. package/dist/assets/AddressRoutes-_bCuEkwx.js +1 -0
  4. package/dist/assets/AddressScreen-Dh4KOVQ1.js +9 -0
  5. package/dist/assets/AiCfoScreen-03lSUwaj.js +22 -0
  6. package/dist/assets/AppDrawer-DtBNEFvY.js +10 -0
  7. package/dist/assets/{BillPayApprovalRoutes-B4dh4WxY.js → BillPayApprovalRoutes-D1JvUYMQ.js} +1 -1
  8. package/dist/assets/{BillPayRoutes-DZx-x_-P.js → BillPayRoutes-DosvZj42.js} +18 -18
  9. package/dist/assets/BusinessVerificationPageScreen-CeIfGxLQ.js +9 -0
  10. package/dist/assets/CardsAiCfoScreen-C8_v-BYR.js +14 -0
  11. package/dist/assets/{ChargeCardRoutes-Db9V9An_.js → ChargeCardRoutes-BZz4pRiz.js} +10 -10
  12. package/dist/assets/{CompanyPassportScreen-Db20J8Yl.js → CompanyPassportScreen-BieP2EZa.js} +1 -1
  13. package/dist/assets/ConnectionAuthScreen-C1MNasE2.js +11 -0
  14. package/dist/assets/CustomerOnboardingAuthScreen-DYKZjGKN.js +1 -0
  15. package/dist/assets/{CustomerOnboardingRoutes-De4sHn4O.js → CustomerOnboardingRoutes-DyVqaxvR.js} +3 -3
  16. package/dist/assets/CustomersRoutes-CtL2o5-n.js +8 -0
  17. package/dist/assets/DashboardRoutes-7yhAEy7g.js +20 -0
  18. package/dist/assets/{DefaultTenantHome-BN__AQ5l.js → DefaultTenantHome-DHs0Czed.js} +1 -1
  19. package/dist/assets/DomesticWireDetailScreen-BIF8BW0a.js +18 -0
  20. package/dist/assets/{DrawerScreen-DUhkZI2Z.js → DrawerScreen-XY9r5sqx.js} +1 -1
  21. package/dist/assets/EntityDetailRoutes-CLCMxp18.js +1 -0
  22. package/dist/assets/{ExpenseAutomationRoutes-DcjeaHHd.js → ExpenseAutomationRoutes-CA-VSGA_.js} +6 -6
  23. package/dist/assets/{FallBackRoute-orqRsHMl.js → FallBackRoute-BmlOw1z3.js} +2 -2
  24. package/dist/assets/FeaturePreviewScreen-C2u4cMYG.js +1 -0
  25. package/dist/assets/HubSpotOAuthCallbackScreen-CdL4B6fj.js +1 -0
  26. package/dist/assets/InboxNotificationsProvider-DvvXiK-n.js +1 -0
  27. package/dist/assets/InvoicingRoutes-Ds8bd8V8.js +3 -0
  28. package/dist/assets/MagicLinkRoutes-BCx3YLpp.js +72 -0
  29. package/dist/assets/MagicLinkSignInScreen-BJFFKbta.js +12 -0
  30. package/dist/assets/MobileAppDrawer-BLYS912H.js +1 -0
  31. package/dist/assets/NotFoundScreen-BDU6ccX1.js +1 -0
  32. package/dist/assets/NotificationRoutes-B3DfKahf.js +1 -0
  33. package/dist/assets/OAuthConsentScreen-DMS9CTOV.js +1 -0
  34. package/dist/assets/PandLWithForecastRoutes-D4c4br1B.js +1 -0
  35. package/dist/assets/PaymentLinkScreen-BEA834bi.js +21 -0
  36. package/dist/assets/PeopleRoutes-By8BlbIz.js +22 -0
  37. package/dist/assets/PerformanceRoutes-CQ6Hxkqk.js +1 -0
  38. package/dist/assets/{Preview-Db0nRlxD.js → Preview-lAFQaJcB.js} +1 -1
  39. package/dist/assets/{QBOConnectionScreen-BEn_CddB.js → QBOConnectionScreen-DyZaNX6V.js} +1 -1
  40. package/dist/assets/ReimbursementApprovalRoutes-CPfPh7_I.js +1 -0
  41. package/dist/assets/ReimbursementApprovalRuleDetailScreen-DrgxKZH7.js +1 -0
  42. package/dist/assets/ReimbursementRoutes-Bq5czlC0.js +68 -0
  43. package/dist/assets/ReportsRoutes-DxNr6i5Y.js +1 -0
  44. package/dist/assets/RewardsRoutes-CO6TuNiV.js +1 -0
  45. package/dist/assets/ScheduleDetailsPrepaidExpensesScreen-BxMaq7Gq.js +33 -0
  46. package/dist/assets/ScreenRoutes-LEc4L-Ek.js +2 -0
  47. package/dist/assets/{SettingsRoutes-CCWla9X1.js → SettingsRoutes-Cc8RIjZt.js} +6 -6
  48. package/dist/assets/{SetupPagesScreen-C5PRNruc.js → SetupPagesScreen-BgAn4bD3.js} +5 -5
  49. package/dist/assets/SignInScreen-Di05f1i8.js +1 -0
  50. package/dist/assets/SignOutScreen-CiQsSj2I.js +9 -0
  51. package/dist/assets/{TaskListScreen-C7smUYFP.js → TaskListScreen-CBFYc4EW.js} +2 -2
  52. package/dist/assets/TaskRoutes-w6Z4j7Vq.js +9 -0
  53. package/dist/assets/TransactionDetailRoutes-ggKexh3-.js +1 -0
  54. package/dist/assets/{TransactionDetailScreen-CHzsnTr9.js → TransactionDetailScreen-BBWVy8TW.js} +2 -2
  55. package/dist/assets/{TransactionListRoutes-ChJOrV96.js → TransactionListRoutes-B7kikvJW.js} +1 -1
  56. package/dist/assets/TreasuryRoutes-DnYXMIpO.js +37 -0
  57. package/dist/assets/{VendorsRoutes-CVu8jS5h.js → VendorsRoutes-BtVR0Vii.js} +18 -18
  58. package/dist/assets/WiseConfirmationScreen-8Hcaa3Fc.js +12 -0
  59. package/dist/assets/{ZeniAccountRoutes-D3ONSR9y.js → ZeniAccountRoutes-VM-T0h6_.js} +10 -10
  60. package/dist/assets/ZeniAccountStatementScreen-CM9U5Zls.js +9 -0
  61. package/dist/assets/{accountMappingHelper-CHQgwqfy.js → accountMappingHelper-8C9JQylV.js} +1 -1
  62. package/dist/assets/{analytics-D051O7ML.js → analytics-u8j262Ga.js} +1 -1
  63. package/dist/assets/{analyticsHelper-DkNc3mKz.js → analyticsHelper-CKG9W7dC.js} +1 -1
  64. package/dist/assets/{core-BBlQ3ArL.js → core-BVdj_noT.js} +1 -1
  65. package/dist/assets/{decodeURIComponentSafe-YbpxzvKa.js → decodeURIComponentSafe-JMSvQveN.js} +1 -1
  66. package/dist/assets/{dnd-CU3yeazS.js → dnd-Ex3ltzzE.js} +1 -1
  67. package/dist/assets/{empty-BiAWzWBi.js → empty-C5tm1JkN.js} +1 -1
  68. package/dist/assets/{index-fVadamkP.js → empty-C97tUCQZ.js} +1 -1
  69. package/dist/assets/{emptyVideoElement-CRPwTqUS.js → emptyVideoElement-Hn3yI6W2.js} +1 -1
  70. package/dist/assets/epic-BPbLNJeP.js +2 -0
  71. package/dist/assets/expenseAutomationHelper-BtpowfoM.js +1 -0
  72. package/dist/assets/{getLocaleForTenant-DTPcYF0O.js → getLocaleForTenant-CI9ZVduS.js} +1 -1
  73. package/dist/assets/{index-MRZKoeCT.js → index-B1EE-QC-.js} +2 -2
  74. package/dist/assets/index-BtE2ozWs.js +1 -0
  75. package/dist/assets/{index-s4pcd-16.js → index-CCd99LPb.js} +1 -1
  76. package/dist/assets/{index--CQENyaz.js → index-Ch4hjMoy.js} +1 -1
  77. package/dist/assets/{index-ClwW47Zs.js → index-Dme9CBSK.js} +15750 -15711
  78. package/dist/assets/{empty-B3C-udVF.js → index-OsAw6lBi.js} +1 -1
  79. package/dist/assets/{index-jomr_c-N.js → index-TJhTBaFX.js} +1 -1
  80. package/dist/assets/{index-CaztP9tz.js → index-UCW7ypYi.js} +1 -1
  81. package/dist/assets/{lexical-DVH-xgq1.js → lexical-CVwGZsIc.js} +1 -1
  82. package/dist/assets/{liveblocks-CuUK5O_2.js → liveblocks-XOqCw7q2.js} +1 -1
  83. package/dist/assets/{lottie-Du4lbH8J.js → lottie-C5YZIzuj.js} +1 -1
  84. package/dist/assets/{mui--aGBnNu2.js → mui-BZ0jnpww.js} +1 -1
  85. package/dist/assets/{pathToGoBack-DOePc_e5.js → pathToGoBack-BYz7DD9r.js} +1 -1
  86. package/dist/assets/{pdf-lib-Cvsvldn7.js → pdf-lib-BIDHf6ZS.js} +1 -1
  87. package/dist/assets/{pdf-CrvsvvW3.js → pdf-q1-3GLH6.js} +3 -3
  88. package/dist/assets/{plaid-7P9b69CP.js → plaid-CCMRXiQR.js} +1 -1
  89. package/dist/assets/{pusher-DdvpIMG0.js → pusher-DF-wuBh7.js} +1 -1
  90. package/dist/assets/{react-CjVSd3S9.js → react-BzblgiCG.js} +1 -1
  91. package/dist/assets/{react-B8GJK4jq.js → react-CGkIeSIu.js} +1 -1
  92. package/dist/assets/{react-D-JjM7p6.js → react-Cjn3drUx.js} +1 -1
  93. package/dist/assets/{react-CUlf2ISA.js → react-Czniha8W.js} +1 -1
  94. package/dist/assets/{react-Bz6aBujY.js → react-D35bcyMl.js} +1 -1
  95. package/dist/assets/{react-DoYRVAKa.js → react-znTjPsiU.js} +1 -1
  96. package/dist/assets/{recharts-CkREU3LH.js → recharts-VHHravhf.js} +1 -1
  97. package/dist/assets/{reportTimeframe-ChAOzqo_.js → reportTimeframe-BTqRG1HM.js} +1 -1
  98. package/dist/assets/routePaths-TIOEKAr9.js +1 -0
  99. package/dist/assets/{sentry-D0lP5-8e.js → sentry-CNIAdl-1.js} +1 -1
  100. package/dist/assets/stripSplatSuffix-CLHAbjpi.js +1 -0
  101. package/dist/assets/{url-GwD82u5j.js → url-CyyPACTT.js} +1 -1
  102. package/dist/assets/{url-nN4BnP9N.js → url-uObfQ0XR.js} +1 -1
  103. package/dist/assets/useActualMatchingMatchDetail-ClGwke9Y.js +1 -0
  104. package/dist/assets/{useAiCfoDashboardSuggestedQuestionsChips-usJW6KKQ.js → useAiCfoDashboardSuggestedQuestionsChips-CF91keX4.js} +1 -1
  105. package/dist/assets/useAskAiCfoHostNavButtonProps-DO-bnRp-.js +1 -0
  106. package/dist/assets/{useChargeCardPusherEvents-DPfHk-vM.js → useChargeCardPusherEvents-DTd9bnXH.js} +1 -1
  107. package/dist/assets/{useDeviceId-pp3Grc-z.js → useDeviceId-CF-WgrL6.js} +1 -1
  108. package/dist/assets/useEmailConnectResultRefresh-BJWnx3gQ.js +1 -0
  109. package/dist/assets/useEnsureVendorListLoaded-U686iOkV.js +1 -0
  110. package/dist/assets/{useInitialThreadRequest-DmfmyzKI.js → useInitialThreadRequest-DCdvOJx6.js} +1 -1
  111. package/dist/assets/useIsCustomersTabEnabled-DZ7jecHx.js +1 -0
  112. package/dist/assets/{useTaskManagerAccess-DrmpkeUw.js → useTaskManagerAccess-Z6bIfXqO.js} +1 -1
  113. package/dist/assets/{useTaskManagerPusherEvents-CHhZ2DRZ.js → useTaskManagerPusherEvents-Doj7t2BI.js} +1 -1
  114. package/dist/assets/{utils-Ctp9Zfhk.js → utils-BtSqr9lx.js} +1 -1
  115. package/dist/assets/{withTransactionSidePanel-CKC1_4cy.js → withTransactionSidePanel-DybBA6JZ.js} +2 -2
  116. package/dist/assets/{zeni-epic-state-aUBx6G2Q.js → zeni-epic-state-BSu6fdxh.js} +7 -7
  117. package/dist/index.html +1 -1
  118. package/package.json +3 -3
  119. package/dist/assets/ActualMatchingMatchDetailScreen-B6pl-MVl.js +0 -1
  120. package/dist/assets/AddressRoutes-zjWkB0xf.js +0 -1
  121. package/dist/assets/AddressScreen-Czlolp2X.js +0 -9
  122. package/dist/assets/AiCfoScreen-BhfmD__h.js +0 -22
  123. package/dist/assets/AppDrawer-B7GEeTxi.js +0 -10
  124. package/dist/assets/BusinessVerificationPageScreen-je1np7-9.js +0 -9
  125. package/dist/assets/CardsAiCfoScreen-abedaxWu.js +0 -14
  126. package/dist/assets/ConnectionAuthScreen-BmJpUHtJ.js +0 -11
  127. package/dist/assets/CustomerOnboardingAuthScreen-Deo-LVYJ.js +0 -1
  128. package/dist/assets/DashboardRoutes-CCGs4e1_.js +0 -20
  129. package/dist/assets/DomesticWireDetailScreen-6W-Er5_q.js +0 -18
  130. package/dist/assets/EntityDetailRoutes-BrJAd36h.js +0 -1
  131. package/dist/assets/FeaturePreviewScreen-Dcu53_tf.js +0 -1
  132. package/dist/assets/HubSpotOAuthCallbackScreen-ClZsPGpZ.js +0 -1
  133. package/dist/assets/InboxNotificationsProvider-DiTDJFwP.js +0 -1
  134. package/dist/assets/InvoicingRoutes-BTvzZ8JV.js +0 -3
  135. package/dist/assets/MagicLinkRoutes-V1DxaNiW.js +0 -72
  136. package/dist/assets/MagicLinkSignInScreen-DnCx8Y6G.js +0 -12
  137. package/dist/assets/MobileAppDrawer-Bql3K6nh.js +0 -1
  138. package/dist/assets/NotFoundScreen-CTik05r2.js +0 -1
  139. package/dist/assets/NotificationRoutes-wSm6mA8N.js +0 -1
  140. package/dist/assets/OAuthConsentScreen-BELrcqAy.js +0 -1
  141. package/dist/assets/PandLWithForecastRoutes-Dpao8SIb.js +0 -1
  142. package/dist/assets/PaymentLinkScreen-vbM_NtP3.js +0 -21
  143. package/dist/assets/PeopleRoutes-CJeBX2Ca.js +0 -22
  144. package/dist/assets/PerformanceRoutes-W4NxEUmH.js +0 -1
  145. package/dist/assets/ReimbursementApprovalRoutes-CSZJghRB.js +0 -1
  146. package/dist/assets/ReimbursementApprovalRuleDetailScreen-kqCAU4nf.js +0 -1
  147. package/dist/assets/ReimbursementRoutes-BUZKWvJ7.js +0 -68
  148. package/dist/assets/ReportsRoutes-BUZ4r7hx.js +0 -1
  149. package/dist/assets/RewardsRoutes-DuYZ4TXP.js +0 -1
  150. package/dist/assets/ScheduleDetailsPrepaidExpensesScreen-DN2DZsFw.js +0 -33
  151. package/dist/assets/ScreenRoutes-CxP9HSCe.js +0 -2
  152. package/dist/assets/SignInScreen-BScZ138a.js +0 -1
  153. package/dist/assets/SignOutScreen-Bk-Y8Sbv.js +0 -9
  154. package/dist/assets/TaskRoutes-DPcu4NRR.js +0 -9
  155. package/dist/assets/TransactionDetailRoutes-yEwix446.js +0 -1
  156. package/dist/assets/TreasuryRoutes-C24SAGLB.js +0 -37
  157. package/dist/assets/WiseConfirmationScreen-Dt6hB5m-.js +0 -12
  158. package/dist/assets/ZeniAccountStatementScreen-CmfHt6Wr.js +0 -9
  159. package/dist/assets/epic-DwBfFPJQ.js +0 -2
  160. package/dist/assets/expenseAutomationHelper-SA0jUIyg.js +0 -1
  161. package/dist/assets/index-ae04Qn4V.js +0 -1
  162. package/dist/assets/routePaths-D0jOibXk.js +0 -1
  163. package/dist/assets/stripSplatSuffix-CFosfir7.js +0 -1
  164. package/dist/assets/useActualMatchingMatchDetail-nJ3hpXEY.js +0 -1
  165. package/dist/assets/useAskAiCfoHostNavButtonProps-CWWQxV2L.js +0 -1
  166. package/dist/assets/useEmailConnectResultRefresh-B6j7j1rG.js +0 -1
  167. package/dist/assets/useEnsureVendorListLoaded-COBYTL2U.js +0 -1
@@ -1,4 +1,4 @@
1
- import{j as o}from"./liveblocks-CuUK5O_2.js";import{u as le,j as d,h as ie,g as me,i as Ve,N as Je,s as _t,l as Pe,t as _n,n as os,o as ne}from"./core-BBlQ3ArL.js";import{fV as Dt,Ze as cs,g5 as Pt,br as Fe,Zf as is,Zg as ds,fK as hn,Zh as Dn,fT as Pn,Zi as wn,Zj as Tn,Zk as vn,Zl as Fn,fU as xn,g4 as Ln,Zm as Bn,Zn as ls,f_ as us,fZ as ms,Zo as Cs,KK as Rn,g7 as ia,Zp as ps,Zq as hs,fM as fs,fL as gs,gk as ze,g0 as On,f$ as Un,Zr as bs,g1 as Ss,Kg as ys,Kf as Is,Kj as ks,Kl as Es,gd as As,fH as jn,Zs as _s,Zt as Ds,gi as Mn,Zu as Ps,gj as St,Kr as ws,Ko as Ts,fI as ge,Zv as Wa,ep as xe,d2 as Le,eq as Be,h2 as da,cs as la,Zw as ua,Zx as wt,Dt as Za,mi as Ga,Zy as $a,K_ as Ia,g8 as Qe,L0 as Tt,m8 as Nn,Zz as ma,KO as _a,ZA as vs,ZB as Fs,KR as qa,ZC as xs,ZD as Qa,g3 as Vn,KX as ga,iB as Ls,ZE as Hn,fW as Ca,bv as Bs,ZF as Rs,gJ as Ja,gI as Xa,Lu as Os,gH as et,ZG as Zn,cl as Gn,eb as Us,ZH as Pa,M3 as $n,ZI as fn,LF as Da,ZJ as Kn,M4 as js,Yg as Ms,M5 as Ns,Nd as Vs,CJ as Hs,N7 as Zs,ZK as Gs,K$ as oa,ZL as $s,ZM as Ks,ZN as zs,ZO as Ys,ZP as Ws,ZQ as vt,ZR as qs,Lf as zn,L8 as Qs,ZS as Js,h4 as Xs,ZT as Yn,Lo as Wn,Ls as qn,h3 as eo,ZU as ao,LR as Qn,ZV as to,ZW as no,ZX as ro,Lq as Jn,Lb as Xn,KU as er,Lk as ar,Li as tr,Lm as so,ZY as nr,ZZ as oo,gf as co,gg as io,gh as lo,Z_ as at,g9 as rr,ed as Ft,Z$ as uo,_0 as mo,_1 as Co,_2 as po,LA as yt,LY as ho,LU as fo,Lw as go,LW as bo,LM as So,LO as yo,_3 as sr,M2 as Ha,T8 as Io,_4 as ko,_5 as Eo,_6 as Ao,_7 as or,_8 as _o,Mp as Do,LE as cr,Lz as Ne,LD as Po,_9 as wo,_a as To,KL as vo,_b as ir,g2 as dr,_c as Fo,KN as xo,KM as gn,_d as Lo,_e as Bo,_f as Ro,_g as Oo,_h as xt,_i as Uo,xJ as lr,mS as jo,ir as Mo,Mu as No,_j as ur,fQ as Vo,fR as Ho,_k as Zo,dA as Go,g6 as $o,Mk as Ko,Me as qe,bp as zo,bJ as Yo,cx as Wo,bK as qo,ha as Qo}from"./zeni-epic-state-aUBx6G2Q.js";import{V as Re,bs as mr,a5 as we,bt as Cr,bu as pr,bv as Jo,G as aa,al as Lt,bw as Xo,bx as ec,g as hr,a as fr,ar as gr,q as Ee,p as de,N as q,m as Sa,by as br,bz as ac,bA as tc,z as te,a8 as wa,bB as tt,bC as nc,bD as rc,bE as sc,a2 as Ta,au as Xe,aT as Bt,bF as oc,ac as va,_ as nt,d as ee,w as rt,bG as cc,bH as ba,bI as It,bJ as ic,a9 as Rt,bK as dc,af as Sr,aj as kt,bL as lc,aC as yr,L as Ir,U as kr,aB as uc,bM as mc,bN as Cc,bO as pc,bP as hc,bQ as fc,bR as gc,R as Ka,bS as bc,bT as Sc,s as pt,h as yc,bU as Ic,bV as kc,bW as Ec,az as Ac,bX as _c,bY as Dc,i as Pc}from"./index-ClwW47Zs.js";import{n as He,u as Ot,D as Er,S as wc}from"./mui--aGBnNu2.js";import{a as r}from"./sentry-D0lP5-8e.js";import{u as Fa}from"./useAskAiCfoHostNavButtonProps-CWWQxV2L.js";import{M as Ae}from"./MobileAppDrawer-Bql3K6nh.js";import{d as Ut}from"./recharts-CkREU3LH.js";import{g as De,a as xa,b as Ar,c as Oe,d as Ue,e as ea,f as ta,h as na,A as Tc,i as jt,P as vc,j as Mt,s as ya,k as _r,l as ca,m as Dr,n as Fc,o as Pr,p as xc,S as bn}from"./SetupPagesScreen-C5PRNruc.js";import{u as wr}from"./useInitialThreadRequest-DmfmyzKI.js";import st from"./NotFoundScreen-CTik05r2.js";import{u as Nt}from"./useChargeCardPusherEvents-DPfHk-vM.js";import{n as Sn}from"./utils-Ctp9Zfhk.js";import{t as Lc}from"./AddressScreen-Czlolp2X.js";import"./analytics-D051O7ML.js";import"./plaid-7P9b69CP.js";import"./dnd-CU3yeazS.js";import"./stripe-cKAAJElX.js";import"./lottie-Du4lbH8J.js";import"./lexical-DVH-xgq1.js";import"./pdf-CrvsvvW3.js";import"./InboxNotificationsProvider-DiTDJFwP.js";import"./useTaskManagerAccess-DrmpkeUw.js";import"./BusinessVerificationPageScreen-je1np7-9.js";import"./routePaths-D0jOibXk.js";import"./analyticsHelper-DkNc3mKz.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="a16132b6-bbe2-435c-9c4a-d9fce516d979",e._sentryDebugIdIdentifier="sentry-dbid-a16132b6-bbe2-435c-9c4a-d9fce516d979")}catch{}})();const Bc=e=>{const a=e.cardHolderUser,n=`${a.firstName??""} ${a.lastName??""}`.trim()||a.email||a.userId;return{userId:a.userId,displayName:n,roleLabel:e.cardHolderRoles?.titleAtCompany}},Tr=e=>({id:e.id,isChecked:!1,cardName:e.cardName,last4:e.accountLast4,limitAmount:e.limit?.amount??0,limitCadence:e.creditLimitFrequency?.code,owner:Bc(e),utilizationAmount:(e.limit?.amount??0)-(e.available?.amount??0)});function vr(){const e=le(),a=d((t=>Dt(t.cardPolicyState))),n=d((t=>cs(t.cardPolicyState)));r.useEffect((()=>{n!==""||a==="Completed"&&n===""||a==="In-Progress"||e(Pt())}),[e,a,n])}const{spendManagement:{chargeCard:{cardPolicyPage:yn}}}=aa.getLocalizedStrings(),Rc=e=>On(e,!1),Oc=e=>Un(e.name,!1);function Uc(){const e=ie(),a=me(),{tenantEmailDomain:n}=Ve(),t=le(),s=Re(),f=Fe(s?.loggedInUserRoleMap),[b,m]=r.useState(!1),A=r.useCallback((P=>{m(P)}),[]),u=r.useCallback((()=>{A(!0)}),[A]),{isAiCfoAccessEnabled:l,onAskAiCfoClick:B}=Fa({mobileExploreReferrer:"Card Policy"});r.useEffect((()=>()=>{t(is()),t(ds()),t(hn())}),[t]);const _=d((P=>Dn(P.cardPolicyState))),C=d((P=>Pn(P.cardPolicyState))),O=d((P=>wn(P.cardPolicyState))),U=d((P=>Tn(P.cardPolicyState))),S=d((P=>vn(P.cardPolicyState))),c=d((P=>Fn(P.cardPolicyState))),p=d((P=>xn(P.cardPolicyState))),x=d((P=>Dt(P.cardPolicyState))),E=d((P=>P.chargeCardConfigState.receiptRequiredAboveAmount.amount)),I=d((P=>P.chargeCardConfigState.fetchState));r.useEffect((()=>{_!=="Completed"&&_!=="In-Progress"&&t(Ln())}),[t,_]),vr();const k=d((P=>Bn(P.createCardPolicyState))),V=d((P=>ls(P.createCardPolicyState))),w=d((P=>us(P.cardPolicyState))),y=d((P=>ms(P.cardPolicyState))),F=d((P=>Cs(P.createCardPolicyState))),i=d((P=>Rn(P)));r.useEffect((()=>{i.fetchState==="Not-Started"&&t(ia(!1,!1,!1))}),[i.fetchState,t]);const g=r.useMemo((()=>C.map(Rc)),[C]),R=r.useMemo((()=>p.map(Oc)),[p]),Z=r.useMemo((()=>i.cards.filter((P=>!mr(P.status.code))).map(Tr)),[i.cards]),M=_==="Completed"&&i.fetchState==="Completed"&&I==="Completed";r.useEffect((()=>{M&&F==null&&t(ps({cardsMasterList:Z,defaultRequireReceiptAmount:E,suggestedAllowMerchants:O,suggestedBlockMerchants:U,suggestedAllowCategories:S,suggestedBlockCategories:c}))}),[I,t,M,F,Z,E,O,U,S,c]);const L=r.useMemo((()=>Ut((P=>{t(Pt(P))}),250)),[t]);r.useEffect((()=>()=>{L.cancel()}),[L]);const K=r.useCallback((P=>{L(P)}),[L]),j=k.fetchState,h=n!=null?`/${n}/cards/policy`:"..",H=r.useCallback((()=>{const P=we(a.state?.pathnameStackToGoBack),ae=P.poppedPathname??h;e(ae,{state:{pathnameStackToGoBack:P.newStack}})}),[a.state,e,h]),z=r.useCallback((()=>{e(h)}),[e,h]),D=r.useCallback((P=>{t(hs(P))}),[t]),W=r.useCallback((P=>{const ae=Cr(P);t(fs({templates:[ae]}))}),[t]),N=r.useCallback((P=>{P.length!==0&&t(gs(P))}),[t]),G=r.useCallback((()=>{t(hn())}),[t]),v=r.useRef(j);r.useEffect((()=>{const P=v.current;v.current=j,j==="Completed"&&P!=="Completed"&&V!=null&&(t(ze({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(h))}),[t,j,V,e,h]);const T=j==="Error"?k.error?.message??yn.createPolicyGenericErrorMessage:void 0;return f&&n!=null?F==null?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(pr,{showUploadDocumentSection:!0,navBarTitle:yn.createPageTitle,onBackClick:H,onClickMenuIcon:u,isAiCfoAccessEnabled:l,onAskAiCfoClick:B})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(Jo,{formDraft:F,vendorSearchOptions:R,categorySearchOptions:g,isVendorSearchLoading:x==="In-Progress",onVendorSearchTextChange:K,submitState:j,submitErrorMessage:T,documentUploadState:w,uploadedFileName:y,isAiCfoAccessEnabled:l,onAskAiCfoClick:B,onBackClick:H,onCancelClick:z,onClickMenuIcon:u,onFormChange:D,onSubmit:W,onUploadDocument:N,onRemoveDocument:G})]}):o.jsx(Je,{to:"..",replace:!0})}const{spendManagement:{chargeCard:{cardPolicyPage:jc}}}=aa.getLocalizedStrings(),Mc=e=>On(e,!1),Nc=e=>Un(e.name,!1);function Vc(){const e=ie(),a=me(),{tenantEmailDomain:n,templateId:t}=Ve(),s=le(),f=Re(),b=Fe(f?.loggedInUserRoleMap),[m,A]=r.useState(!1),u=r.useCallback((T=>{A(T)}),[]),l=r.useCallback((()=>{u(!0)}),[u]),{isAiCfoAccessEnabled:B,onAskAiCfoClick:_}=Fa({mobileExploreReferrer:"Card Policy"}),C=d((T=>bs(T))),O=d((T=>Dn(T.cardPolicyState))),U=d((T=>Pn(T.cardPolicyState))),S=d((T=>wn(T.cardPolicyState))),c=d((T=>Tn(T.cardPolicyState))),p=d((T=>vn(T.cardPolicyState))),x=d((T=>Fn(T.cardPolicyState))),E=d((T=>xn(T.cardPolicyState))),I=d((T=>Dt(T.cardPolicyState))),k=d((T=>Rn(T))),V=d((T=>t!=null?Ss(T.cardPolicyState,t):void 0)),w=r.useMemo((()=>C.templateId===t&&C.formDraft!=null?C.formDraft:V!=null?ys(V):void 0),[C.templateId,C.formDraft,V,t]);r.useEffect((()=>{if(t==null)return;const T=C.detailFetchState.fetchState;C.templateId===t&&(T==="Completed"||T==="In-Progress")||V!=null||s(Is(t))}),[s,t,C.templateId,C.detailFetchState.fetchState,V]),r.useEffect((()=>{O!=="Completed"&&O!=="In-Progress"&&s(Ln())}),[s,O]),vr();const y=d((T=>T.chargeCardConfigState.receiptRequiredAboveAmount.amount));r.useEffect((()=>{k.fetchState==="Not-Started"&&s(ia(!1,!1,!1))}),[k.fetchState,s]);const F=r.useMemo((()=>U.map(Mc)),[U]),i=r.useMemo((()=>E.map(Nc)),[E]),g=r.useMemo((()=>k.cards.filter((T=>!mr(T.status.code))).map(Tr)),[k.cards]);Lt({isDataReady:w!=null});const R=r.useMemo((()=>{if(w!=null)return Xo({draft:w,cardRows:g,categorySearchOptions:F,vendorSearchOptions:i,defaultRequireReceiptAmount:y,suggestedAllowMerchants:S,suggestedBlockMerchants:c,suggestedAllowCategories:p,suggestedBlockCategories:x})}),[w,g,F,i,y,S,c,p,x]),[Z,M]=r.useState(void 0),L=r.useRef(!1);r.useEffect((()=>{L.current||Z!=null||R==null||(L.current=!0,M(R))}),[Z,R]);const K=r.useCallback((T=>{M(T)}),[]),j=r.useMemo((()=>Ut((T=>{s(Pt(T))}),250)),[s]);r.useEffect((()=>()=>{j.cancel()}),[j]);const h=r.useCallback((T=>{j(T)}),[j]),H=C.updateFetchState.fetchState,z=n!=null?`/${n}/cards/policy`:"..",D=r.useCallback((()=>{const T=we(a.state?.pathnameStackToGoBack),P=T.poppedPathname??z;e(P,{state:{pathnameStackToGoBack:T.newStack}})}),[a.state,e,z]),W=r.useCallback((()=>{e(z)}),[e,z]),N=r.useCallback((T=>{if(t==null)return;const P=Cr(T);s(ks(P)),s(Es(t))}),[s,t]),G=r.useRef(H);r.useEffect((()=>{const T=G.current;G.current=H,H==="Completed"&&T!=="Completed"&&(s(ze({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(z))}),[s,H,e,z]);const v=H==="Error"?C.updateFetchState.error?.message??jc.updatePolicyGenericErrorMessage:void 0;return!b||n==null||t==null?o.jsx(Je,{to:"..",replace:!0}):Z!=null&&O==="Completed"&&k.fetchState==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:m,handleDrawerToggle:u}),o.jsx(ec,{templateName:C.template?.name??"",formDraft:Z,vendorSearchOptions:i,categorySearchOptions:F,isVendorSearchLoading:I==="In-Progress",onVendorSearchTextChange:h,submitState:H,submitErrorMessage:v,isAiCfoAccessEnabled:B,onAskAiCfoClick:_,onBackClick:D,onCancelClick:W,onClickMenuIcon:l,onFormChange:K,onSubmit:N})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:m,handleDrawerToggle:u}),o.jsx(pr,{showUploadDocumentSection:!1,navBarTitle:C.template?.name,onBackClick:D,onClickMenuIcon:l,isAiCfoAccessEnabled:B,onAskAiCfoClick:_})]})}function Fr(e,a,n){return a?e.filter((t=>t!=null&&t.trim().length>0)).slice(0,n):[]}function xr(e){return d((a=>e==null||e===""?{chips:ht,isResolved:!1}:(function(n){const t=n?.fetchState,s=t==="Completed"||t==="Error";return{chips:t==="Completed"?n?.suggestedQuestions??ht:ht,isResolved:s}})(As(a,e))),_t)}const ht=[],{spendManagement:{chargeCard:{cardPolicyAiCfoHero:{headline:Hc,subheadline:Zc,pageTitle:Gc}}}}=aa.getLocalizedStrings(),$c=e=>{const a=e.cardsCount>0?e.cardsCount:e.appliedCards.length,n=e.allowedEntity.merchantNames.length+e.blockedEntity.merchantNames.length,t=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:a,vendorRestrictionsCount:n,categoryRestrictionsCount:t}};function Kc(){const e=ie(),a=me(),{tenantEmailDomain:n}=Ve(),t=le(),s=Re(),f=Fe(s?.loggedInUserRoleMap),[b,m]=r.useState(!1),A=r.useCallback((h=>{m(h)}),[]),u=r.useCallback((()=>{A(!0)}),[A]),{useFeatureGate:l}=de(),{isFeatureEnabled:B}=l(q.isAiCfoFileUploadEnabled),{isFeatureEnabled:_}=l(q.isCardPolicyEnabled),{isAiCfoAccessEnabled:C,onAskAiCfoClick:O}=Fa({mobileExploreReferrer:"Card Policy"}),U=d((h=>_s(h))),S=d((h=>Bn(h.createCardPolicyState))),c=d((h=>Ds(h.createCardPolicyState))),p=d((h=>c==null?[]:Mn(h.aiCfoState,c).filter((H=>H.kind==="creating_policy"))),_t),x=S.fetchState==="In-Progress"?Math.max(p.length,1):0,E=d((h=>Ps(h.createCardPolicyState))),I=Sa(S.fetchState);r.useEffect((()=>{if(I==="In-Progress"&&S.fetchState==="Completed"&&c!=null)p.forEach((h=>{t(St({chatSessionId:c,id:h.id,entityIds:E,kind:"created_policy"}))}));else if(I==="In-Progress"&&S.fetchState==="Error"&&c!=null){p.forEach((H=>{t(St({chatSessionId:c,id:H.id,kind:"errored_policy"}))}));const h=S.error?.message!=null&&S.error.message.length>0?S.error.message:aa.getLocalizedStrings().common.errorMessage.somethingWentWrongPleaseTryAgain;t(ze({messageSection:"card_policy_created",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:h}]}))}}),[S.error?.message,S.fetchState,t,c,E,p,I]);const k=U.fetchState.fetchState;r.useEffect((()=>{k!=="Not-Started"&&k!=="Error"||t(ws())}),[t,k]);const V=U.archiveFetchState.fetchState,w=Sa(V);r.useEffect((()=>{w==="In-Progress"&&V==="Completed"&&t(ze({messageSection:"card_policy_deleted",messageText:"success",type:"success"}))}),[V,t,w]);const y=r.useMemo((()=>U.templates.map($c)),[U.templates]);Lt({isDataReady:U.fetchState.fetchState==="Completed"});const F=y.length>0||x>0,i=(function(h){const{hasAnyPolicies:H,isChargeCardAdmin:z,isFileUploadEnabled:D}=h,W=ie(),N=me(),{tenantEmailDomain:G}=Ve(),{isAiCfoOpen:v,setIsAiCfoOpen:T}=hr(),P=fr(),ae=gr(),Ce=d((Q=>jn(Q))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:X,isResolved:Te}=xr("card_policy"),Ie=r.useMemo((()=>Fr(X,Te,3)),[X,Te]),[re,be]=r.useState(""),pe=ae&&P&&G!=null&&!v,he=r.useCallback((Q=>{if(G==null)return;const Ze=Ee(N.state?.pathnameStackToGoBack,N.pathname);W(`/${G}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Ze,referrer:"card_policy_hero",aiCfoInitialQuestion:Q,aiCfoShouldSubmit:Q!=null&&Q.trim().length>0}})}),[N.pathname,N.state,W,G]),oe=r.useCallback((Q=>{Q.trim().length!==0&&(be(""),he(Q))}),[he]),J=r.useCallback((()=>{const Q=re.trim();Q.length!==0&&(be(""),he(Q))}),[re,he]),Se=r.useCallback((()=>{}),[]),_e=r.useCallback((Q=>{be(Q)}),[]),fe=r.useCallback((()=>{T(!0)}),[T]),ve=r.useCallback((()=>{he(void 0)}),[he]);return r.useMemo((()=>{if(pe&&!H&&z)return{aiAgentName:Gc,headline:Hc,subheadline:Zc,promptChips:Ie,composer:{currentInput:re,isSubmitting:Ce,isFileUploadEnabled:D,onInputChange:_e,onSubmit:J,onStopSubmit:Se},onPromptClick:oe,onOpenSidePanel:fe,onOpenFullView:ve,dataTestIdPrefix:"card-policy-ai-cfo-hero"}}),[re,H,pe,z,D,Ce,_e,ve,fe,oe,Se,J,Ie])})({hasAnyPolicies:F,isChargeCardAdmin:f,isFileUploadEnabled:B}),g=_&&i!=null?o.jsx(br,{...i}):null,R=C&&g==null,Z=r.useCallback((()=>{const h=we(a.state?.pathnameStackToGoBack),H=h.poppedPathname??"..";e(H,{state:{pathnameStackToGoBack:h.newStack}})}),[a.state,e]),M=r.useCallback((()=>{n!=null&&e(`/${n}/cards/policy/new`)}),[e,n]),L=r.useCallback((h=>{n!=null&&e(`/${n}/cards/policy/${h}/edit`)}),[e,n]),K=r.useCallback((h=>{t(Ts(h))}),[t]),j=U.fetchState.fetchState;return!F&&j!=="Completed"&&j!=="Error"?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(ac,{onBackClick:Z,onNewPolicyClick:M,onClickMenuIcon:u,isAiCfoAccessEnabled:C,onAskAiCfoClick:O})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(tc,{policies:y,archivingTemplateId:U.archiveTargetTemplateId,pendingCreationCount:x,onBackClick:Z,onNewPolicyClick:M,onEditPolicyClick:L,onArchivePolicyClick:K,onClickMenuIcon:u,policyAiCfoHero:g,isAiCfoAccessEnabled:R,onAskAiCfoClick:O})]})}function zc(){const e=ie(),{cardId:a}=Ve(),n=le(),t=te.getSignedInUser(),s=d((X=>ge(X))),f=Re(),b=Fe(f?.loggedInUserRoleMap),{useFeatureGate:m}=de();if(t==null)throw Error("Can't access Add To Wallet Page without signing in...");const[A,u]=r.useState(!1),l=d((X=>Wa(X).firstViewAfterActivation));if(a==null)throw Error("Empty card id is not valid...");const B=s.userRole.includes("charge_card_user"),{isFeatureEnabled:_}=m(q.isChargeCardFeatureEnabled),C=!!s.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:O}=m(q.isDebitCardFeatureEnabled),U=xe(s),S=Le(s),c=Be(O,s),p=s.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,x=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:c}),E=Ue({isCardsOnlyTenant:U,isChargeCardFeatureEnabled:_,isBookKeepingTenant:S,isDebitCardProductVisible:x,chargeCardsCreditAccountLimit:p}),I=!!s.companyDebitCardInfo?.info?.isDebitCardEnabled,k=d((X=>da(X,s.companyId))),V=la(k.controllers),{creditAccount:w,creditAccountRepayment:y}=d((X=>ua(X))),F=d((X=>X.classListState.fetchState)),i=!B&&E&&C,g=d((X=>wt(X,a,i,E))),[R,Z]=r.useState(!1),M=g.chargeCard,L=M?.cardCreatedByUser?.userId,K=d((X=>L!=null?Za(X.userRoleState,L):void 0)),j=K?.accountingClassIDs[0],h=d((X=>j!=null?Ga(X.classState,{classId:j,reportId:"class_list"}):void 0)),H=M?.cardHolderUser?.userId,z=d((X=>H!=null?Za(X.userRoleState,H):void 0)),D=z?.accountingClassIDs[0],W=d((X=>D!=null?Ga(X.classState,{classId:D,reportId:"class_list"}):void 0)),N=M?.type.code==="business_physical_credit_card"||M?.type.code==="business_physical_debit_card",G=M?.type.code==="business_physical_debit_card";r.useEffect((()=>{l&&A===!1&&N&&(u(!0),setTimeout((()=>{n($a()),G&&n(ze({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[l,A,N,G]),r.useEffect((()=>{R||g.fetchState==="Completed"||g.fetchState==="In-Progress"||a==null||(Z(!0),n(Ia(a,i,!1)))}),[R,g,a,n]),r.useEffect((()=>{if(g.fetchState==="Completed"&&(N===!1||N&&M?.status?.code!=="active"||M?.cardHolderUserId!==t.userId||l===!1&&A===!1||M?.type.code==="business_physical_debit_card"||M?.type.code==="business_virtual_debit_card")){const X=De(s.tenantEmailDomain,a,t,M,l);e(X)}}),[g.fetchState,l,N]),r.useEffect((()=>{w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&E&&C&&b&&n(Qe()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&E&&C&&b&&n(Tt()),F!=="Completed"&&F!=="In-Progress"&&n(Nn())}),[w.fetchState,y.fetchState,n,E,C,b,F]);const v=()=>{if(t!=null&&a!=null){n($a());const X=De(s.tenantEmailDomain,a,t);e(X)}},T=M?.type.code==="business_physical_debit_card"||M?.type.code==="business_virtual_debit_card",P=ea(E,x,I,C),ae=xa(E,C,b,w,y),Ce=Ar(T,g);return g.fetchState!=="Completed"?o.jsx(wa,{fetchState:"In-Progress"}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:l}),o.jsx(nc,{onGotItClick:v,isDebitCard:M?.type.code==="business_physical_debit_card",controllerEmails:V,isChargeCardFeatureEnabled:E,isDebitCardFeatureEnabled:x,isDebitCardSetupEnabled:I,isChargeCardSetupEnabled:C,productInformation:P,creditAccountInformation:ae,debitAccountInformation:Ce,chargeCardDetailView:g,creditAccount:w,classListFetchState:F,creditAccountRepayment:y,cardIssuedByRoles:K?.userRoles,cardIssuedByDepartmentName:h?.className,cardHolderRoles:z?.userRoles,cardHolderDepartmentName:W?.className})]})}const Lr="charge-card-transaction-update",Br="charge-card-transaction-created",Rr="charge-card-transaction-declined",Or="charge-card-transaction-updated",Ur="charge-card-transaction-receipt-uploaded",pa="charge-card-status-update",Vt="charge-card-spending-updated",ot="credit-account-balance-updated",ct="charge-card-created",Ht="charge-card-limit-updated",Zt="charge-card-limit-reset",Gt="charge-card-renamed",Yc="charge-card-department-updated",jr="charge-card-repayment-completed",Mr="charge-card-payment-date-updated",La="charge-card-cashback-redeemed",Ba="charge-card-cashback-earned",ha=(e,a)=>e==null||e===""?[]:a.map((n=>`private-encrypted-${e}.${n}`)),Wc=[Ba,La],qc=Pe((function(e){const a=ma(e);return{insightsData:a.insight,cashbackByPeriod:a.cashbackByPeriod,uiState:a.uiState,cashbackSummary:a.cashbackSummary}}),(function(e){return{onColumnSortConfigChanged:(a,n)=>{e(vs({uiState:{sortKey:a,sortOrder:n}}))}}}))(sc);function Qc(){const e=ie(),a=le(),n=me(),t=te.getSignedInUser(),s=d((_=>ge(_))),[f,b]=r.useState(!1),m=d((_=>ma(_))),A=wr(s.companyId,{clearParams:m.fetchState==="Completed"}),u=r.useCallback((()=>{const _=we(n.state?.pathnameStackToGoBack),C=_.poppedPathname??Jc(s.tenantEmailDomain);e(C,{state:{pathnameStackToGoBack:_.newStack}})}),[e,n,s.tenantEmailDomain]),l=ta(s);if(Nt({events:ha(l,Wc),onEvent:_=>{switch(_){case Ba:case La:return void a(_a(!0))}},onSubscribed:()=>{a(_a(!0))}}),r.useEffect((()=>{f||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(b(!0),a(_a()))}),[f,m,a]),t==null)throw Error("Can't access cashback detail page without signing in...");const B=m.cashbackSummary?.cashbackEarned?.amount!=null&&m.fetchState!=="Not-Started";return m.fetchState!=="In-Progress"||B?(m.cashbackSummary?.cashbackEarned?.amount??0)===0&&m.fetchState==="Completed"?o.jsx(st,{}):o.jsx(qc,{onBackClick:u,initialOpenThreadRequest:A}):o.jsx(rc,{onBackClick:u})}const Jc=e=>`/${e}/cards`,Xc={containerWidth:new va(100,58)},ei=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b}=de(),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,_]=r.useState(!1),[C,O]=r.useState(!1),U=te.getSignedInUser();if(U==null)throw Error("Can't access onboarding card page without signing in...");const S=d((W=>ge(W)));if(s==null)throw Error("Empty card id is not valid...");const{configValue:c}=b(Xe.zeniCardsConfig),p=c.max_charge_card_activation_attempts_by_card_id,x=d((W=>Fs(W,s))),E=x.chargeCard,I=d((W=>W.chargeCardConfigState.fetchState)),{useFeatureGate:k}=de(),{isFeatureEnabled:V}=k(q.isChargeCardFeatureEnabled),{isFeatureEnabled:w}=k(q.isDebitCardFeatureEnabled),y=Be(w,S),F=Oe({isDebitCardFeatureEnabled:w,isBankingOnlyTenant:y}),i=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,g=S.userRole.includes("charge_card_user"),R=xe(S),Z=Le(S),M=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=Ue({isCardsOnlyTenant:R,isChargeCardFeatureEnabled:V,isBookKeepingTenant:Z,isDebitCardProductVisible:F,chargeCardsCreditAccountLimit:M}),K=!g&&L&&i;r.useEffect((()=>{m===!1&&I!=="In-Progress"&&I!=="Completed"&&(n(qa()),A(!0)),u===!1&&x.fetchState==="Not-Started"&&(l(!0),n(Ia(s,K,L)))}),[u,x.fetchState,m,I]);const j=E?.type.code==="business_physical_credit_card"||E?.type.code==="business_physical_debit_card";r.useEffect((()=>{if(x.fetchState==="Completed"){if(B===!1&&(j===!1||j&&E?.status?.code!=="inactive"||E?.cardHolderUserId!==U.userId)){const W=De(S.tenantEmailDomain,s,U,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(W,{state:{pathnameStackToGoBack:N}})}else if(B&&x.isRefreshingViewInBackground===!1&&E?.status?.code==="active"){n(xs({chargeCardId:s}));const W=De(S.tenantEmailDomain,s,U,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Qa()),t(W,{state:{pathnameStackToGoBack:N}})}}}),[x.fetchState,E?.type.code,B,x.isRefreshingViewInBackground]);const h=te.getZeniOtpTokenForCardHolder(s),H=d((W=>Vn(W.userState,U.userId))),z=()=>{E?.status?.code!=="active"&&n(ga(s,!0))};r.useEffect((()=>{x.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&E?.cardActivationAttemptHistory.some((W=>W.statusCode==="success"))===!0&&B===!1&&(setTimeout(z,3e3),_(!0))}),[x.updatePhysicalChargeCardAttemptFetchState.fetchState,E?.cardActivationAttemptHistory]);const D=W=>{O(W)};if(I!=="Completed"||E==null)return o.jsx(wa,{fetchState:"In-Progress"});if(E.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(H?.phone==null)throw Error("Can't access user phone number.");return o.jsxs(ni,{children:[o.jsx(Ae,{isAppContentDrawerOpen:C,handleDrawerToggle:D}),o.jsx(ai,{cardId:s,card:E,shippingAddressId:E.shippingAddressId,phone:H.phone,signedInUser:U,isSandboxEnv:Bt(),chargeCardDetailState:x,signedInUserToken:h,navigate:t,currentTenant:S,location:f,maxChargeCardActivationAttempts:p[s]!=null?p[s]:c.default_max_charge_card_activation_attempts!=null?c.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:c.charge_card_cashback_rate_per_transaction!=null?c.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{D(!0)}}),e!=null?o.jsx(ti,{windowSize:a,children:e}):null]})},ai=Pe((function(e,{chargeCardDetailState:a,shippingAddressId:n,location:t,cardId:s}){const f=Ls(e.addressState,n);if(f==null)throw Error("Can't access shippingAddress.");const b=Hn(e,s),m=a.updateStatus,A=Ca(e,!1,!1,!1);let u=!1;A.fetchState==="Completed"&&A.cards.length<=1&&(u=!0);const l=t.state?.message==="comingFromV2UrlPath";return{showActivatePage:a.chargeCard?.providerCardCreateTime!=null&&a.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Bs())||l,showMenuIcon:u,shippingAddress:f,vgsVaultId:nt.cardVaultId,twoFAView:b,activationWaitStatus:m,isRefreshingViewInBackground:a.isRefreshingViewInBackground}}),(function(e,a){const{navigate:n,cardId:t,location:s,currentTenant:f,chargeCardDetailState:b}=a,m=b.chargeCard?.cardProviderID,{tenantEmailDomain:A}=f;return{onGetOtp:u=>{m!=null&&e(et(u,"ChargeCardHolder",t))},onUpdatePhysicalChargeCardAttempt:u=>{e(Os(t,u))},onResendOtp:u=>{m!=null&&e(Xa(u,"ChargeCardHolder",t))},onVerifyOtp:(u,l)=>{m!=null&&e(Ja(u,l,"ChargeCardHolder",t))},onVerifyOtpSuccess:u=>{u!=null&&te.saveZeniOtpTokenForCardHolder(u,t)},onCVVActivateSuccess:()=>{e(Rs({chargeCardId:t}))},onBackClick:()=>{const u=we(s.state?.pathnameStackToGoBack),l=u.poppedPathname==null||u.poppedPathname.includes("onboard")===!0?na(A):u.poppedPathname;n(l,{state:{pathnameStackToGoBack:u.newStack}})}}}))(oc),ti=He.div`
1
+ import{j as o}from"./liveblocks-XOqCw7q2.js";import{u as le,j as d,h as ie,g as me,i as Ve,N as Je,s as _t,l as Pe,t as _n,n as os,o as ne}from"./core-BVdj_noT.js";import{fW as Dt,Zp as cs,g6 as Pt,bs as Fe,Zq as is,Zr as ds,fL as hn,Zs as Dn,fU as Pn,Zt as wn,Zu as Tn,Zv as vn,Zw as Fn,fV as xn,g5 as Ln,Zx as Bn,Zy as ls,f$ as us,f_ as ms,Zz as Cs,KU as Rn,g8 as ia,ZA as ps,ZB as hs,fN as fs,fM as gs,gl as Ke,g1 as On,g0 as Un,ZC as bs,g2 as Ss,Kq as ys,Kp as Is,Kt as ks,Kv as Es,ge as As,fI as jn,ZD as _s,ZE as Ds,gj as Mn,ZF as Ps,gk as St,KB as ws,Ky as Ts,fJ as ge,ZG as Wa,eq as xe,d4 as Le,er as Be,h3 as da,ct as la,ZH as ua,ZI as wt,DD as Ga,mj as $a,ZJ as Za,L8 as Ia,g9 as Qe,La as Tt,m9 as Nn,ZK as ma,KY as _a,ZL as vs,ZM as Fs,K$ as qa,ZN as xs,ZO as Qa,g4 as Vn,L5 as ga,iC as Ls,ZP as Hn,fX as Ca,bw as Bs,ZQ as Rs,gK as Ja,gJ as Xa,LE as Os,gI as et,ZR as Gn,cm as $n,ec as Us,ZS as Pa,Md as Zn,ZT as fn,LP as Da,ZU as zn,Me as js,Yr as Ms,Mf as Ns,Nn as Vs,CT as Hs,Nh as Gs,ZV as $s,L9 as oa,ZW as Zs,ZX as zs,ZY as Ks,ZZ as Ys,Z_ as Ws,Z$ as vt,_0 as qs,Lp as Kn,Li as Qs,_1 as Js,h5 as Xs,_2 as Yn,Ly as Wn,LC as qn,h4 as eo,_3 as ao,L$ as Qn,_4 as to,_5 as no,_6 as ro,LA as Jn,Ll as Xn,L2 as er,Lu as ar,Ls as tr,Lw as so,_7 as nr,_8 as oo,gg as co,gh as io,gi as lo,_9 as at,ga as rr,ee as Ft,_a as uo,_b as mo,_c as Co,_d as po,LK as yt,M6 as ho,M2 as fo,LG as go,M4 as bo,LW as So,LY as yo,_e as sr,Mc as Ha,Tj as Io,_f as ko,_g as Eo,_h as Ao,_i as or,_j as _o,Mz as Do,LO as cr,LJ as Ne,LN as Po,_k as wo,_l as To,KV as vo,_m as ir,g3 as dr,_n as Fo,KX as xo,KW as gn,_o as Lo,_p as Bo,_q as Ro,_r as Oo,_s as xt,_t as Uo,xT as lr,mT as jo,is as Mo,ME as No,_u as ur,fR as Vo,fS as Ho,_v as Go,dB as $o,g7 as Zo,Mu as zo,Mo as qe,bp as Ko,bK as Yo,cz as Wo,bL as qo,hb as Qo}from"./zeni-epic-state-BSu6fdxh.js";import{V as Re,bs as mr,a5 as we,bt as Cr,bu as pr,bv as Jo,G as aa,al as Lt,bw as Xo,bx as ec,g as hr,a as fr,ar as gr,s as Ee,p as de,_ as q,o as Sa,by as br,bz as ac,bA as tc,z as te,a8 as wa,bB as tt,bC as nc,bD as rc,bE as sc,a2 as Ta,au as Xe,aT as Bt,bF as oc,ac as va,W as nt,c as ee,w as rt,bG as cc,bH as ba,bI as It,bJ as ic,a9 as Rt,bK as dc,af as Sr,aj as kt,bL as lc,aC as yr,K as Ir,R as kr,aB as uc,bM as mc,bN as Cc,bO as pc,bP as hc,bQ as fc,bR as gc,N as za,bS as bc,bT as Sc,v as pt,j as yc,bU as Ic,bV as kc,bW as Ec,az as Ac,bX as _c,bY as Dc,i as Pc}from"./index-Dme9CBSK.js";import{n as He,u as Ot,D as Er,S as wc}from"./mui-BZ0jnpww.js";import{a as r}from"./sentry-CNIAdl-1.js";import{u as Fa}from"./useAskAiCfoHostNavButtonProps-DO-bnRp-.js";import{M as Ae}from"./MobileAppDrawer-BLYS912H.js";import{d as Ut}from"./recharts-VHHravhf.js";import{g as De,a as xa,b as Ar,c as Oe,d as Ue,e as ea,f as ta,h as na,A as Tc,i as jt,P as vc,j as Mt,s as ya,k as _r,l as ca,m as Dr,n as Fc,o as Pr,p as xc,S as bn}from"./SetupPagesScreen-BgAn4bD3.js";import{u as wr}from"./useInitialThreadRequest-DCdvOJx6.js";import st from"./NotFoundScreen-BDU6ccX1.js";import{u as Nt}from"./useChargeCardPusherEvents-DTd9bnXH.js";import{n as Sn}from"./utils-BtSqr9lx.js";import{t as Lc}from"./AddressScreen-Dh4KOVQ1.js";import"./analytics-u8j262Ga.js";import"./plaid-CCMRXiQR.js";import"./dnd-Ex3ltzzE.js";import"./stripe-cKAAJElX.js";import"./lottie-C5YZIzuj.js";import"./lexical-CVwGZsIc.js";import"./pdf-q1-3GLH6.js";import"./InboxNotificationsProvider-DvvXiK-n.js";import"./useTaskManagerAccess-Z6bIfXqO.js";import"./useIsCustomersTabEnabled-DZ7jecHx.js";import"./BusinessVerificationPageScreen-CeIfGxLQ.js";import"./routePaths-TIOEKAr9.js";import"./analyticsHelper-CKG9W7dC.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="a21276bd-1a04-4079-b97b-649b27353b29",e._sentryDebugIdIdentifier="sentry-dbid-a21276bd-1a04-4079-b97b-649b27353b29")}catch{}})();const Bc=e=>{const a=e.cardHolderUser,n=`${a.firstName??""} ${a.lastName??""}`.trim()||a.email||a.userId;return{userId:a.userId,displayName:n,roleLabel:e.cardHolderRoles?.titleAtCompany}},Tr=e=>({id:e.id,isChecked:!1,cardName:e.cardName,last4:e.accountLast4,limitAmount:e.limit?.amount??0,limitCadence:e.creditLimitFrequency?.code,owner:Bc(e),utilizationAmount:(e.limit?.amount??0)-(e.available?.amount??0)});function vr(){const e=le(),a=d((t=>Dt(t.cardPolicyState))),n=d((t=>cs(t.cardPolicyState)));r.useEffect((()=>{n!==""||a==="Completed"&&n===""||a==="In-Progress"||e(Pt())}),[e,a,n])}const{spendManagement:{chargeCard:{cardPolicyPage:yn}}}=aa.getLocalizedStrings(),Rc=e=>On(e,!1),Oc=e=>Un(e.name,!1);function Uc(){const e=ie(),a=me(),{tenantEmailDomain:n}=Ve(),t=le(),s=Re(),f=Fe(s?.loggedInUserRoleMap),[b,m]=r.useState(!1),A=r.useCallback((P=>{m(P)}),[]),u=r.useCallback((()=>{A(!0)}),[A]),{isAiCfoAccessEnabled:l,onAskAiCfoClick:B}=Fa({mobileExploreReferrer:"Card Policy"});r.useEffect((()=>()=>{t(is()),t(ds()),t(hn())}),[t]);const _=d((P=>Dn(P.cardPolicyState))),C=d((P=>Pn(P.cardPolicyState))),O=d((P=>wn(P.cardPolicyState))),U=d((P=>Tn(P.cardPolicyState))),S=d((P=>vn(P.cardPolicyState))),c=d((P=>Fn(P.cardPolicyState))),p=d((P=>xn(P.cardPolicyState))),x=d((P=>Dt(P.cardPolicyState))),E=d((P=>P.chargeCardConfigState.receiptRequiredAboveAmount.amount)),I=d((P=>P.chargeCardConfigState.fetchState));r.useEffect((()=>{_!=="Completed"&&_!=="In-Progress"&&t(Ln())}),[t,_]),vr();const k=d((P=>Bn(P.createCardPolicyState))),V=d((P=>ls(P.createCardPolicyState))),w=d((P=>us(P.cardPolicyState))),y=d((P=>ms(P.cardPolicyState))),F=d((P=>Cs(P.createCardPolicyState))),i=d((P=>Rn(P)));r.useEffect((()=>{i.fetchState==="Not-Started"&&t(ia(!1,!1,!1))}),[i.fetchState,t]);const g=r.useMemo((()=>C.map(Rc)),[C]),R=r.useMemo((()=>p.map(Oc)),[p]),G=r.useMemo((()=>i.cards.filter((P=>!mr(P.status.code))).map(Tr)),[i.cards]),M=_==="Completed"&&i.fetchState==="Completed"&&I==="Completed";r.useEffect((()=>{M&&F==null&&t(ps({cardsMasterList:G,defaultRequireReceiptAmount:E,suggestedAllowMerchants:O,suggestedBlockMerchants:U,suggestedAllowCategories:S,suggestedBlockCategories:c}))}),[I,t,M,F,G,E,O,U,S,c]);const L=r.useMemo((()=>Ut((P=>{t(Pt(P))}),250)),[t]);r.useEffect((()=>()=>{L.cancel()}),[L]);const z=r.useCallback((P=>{L(P)}),[L]),j=k.fetchState,h=n!=null?`/${n}/cards/policy`:"..",H=r.useCallback((()=>{const P=we(a.state?.pathnameStackToGoBack),ae=P.poppedPathname??h;e(ae,{state:{pathnameStackToGoBack:P.newStack}})}),[a.state,e,h]),K=r.useCallback((()=>{e(h)}),[e,h]),D=r.useCallback((P=>{t(hs(P))}),[t]),W=r.useCallback((P=>{const ae=Cr(P);t(fs({templates:[ae]}))}),[t]),N=r.useCallback((P=>{P.length!==0&&t(gs(P))}),[t]),$=r.useCallback((()=>{t(hn())}),[t]),v=r.useRef(j);r.useEffect((()=>{const P=v.current;v.current=j,j==="Completed"&&P!=="Completed"&&V!=null&&(t(Ke({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(h))}),[t,j,V,e,h]);const T=j==="Error"?k.error?.message??yn.createPolicyGenericErrorMessage:void 0;return f&&n!=null?F==null?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(pr,{showUploadDocumentSection:!0,navBarTitle:yn.createPageTitle,onBackClick:H,onClickMenuIcon:u,isAiCfoAccessEnabled:l,onAskAiCfoClick:B})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(Jo,{formDraft:F,vendorSearchOptions:R,categorySearchOptions:g,isVendorSearchLoading:x==="In-Progress",onVendorSearchTextChange:z,submitState:j,submitErrorMessage:T,documentUploadState:w,uploadedFileName:y,isAiCfoAccessEnabled:l,onAskAiCfoClick:B,onBackClick:H,onCancelClick:K,onClickMenuIcon:u,onFormChange:D,onSubmit:W,onUploadDocument:N,onRemoveDocument:$})]}):o.jsx(Je,{to:"..",replace:!0})}const{spendManagement:{chargeCard:{cardPolicyPage:jc}}}=aa.getLocalizedStrings(),Mc=e=>On(e,!1),Nc=e=>Un(e.name,!1);function Vc(){const e=ie(),a=me(),{tenantEmailDomain:n,templateId:t}=Ve(),s=le(),f=Re(),b=Fe(f?.loggedInUserRoleMap),[m,A]=r.useState(!1),u=r.useCallback((T=>{A(T)}),[]),l=r.useCallback((()=>{u(!0)}),[u]),{isAiCfoAccessEnabled:B,onAskAiCfoClick:_}=Fa({mobileExploreReferrer:"Card Policy"}),C=d((T=>bs(T))),O=d((T=>Dn(T.cardPolicyState))),U=d((T=>Pn(T.cardPolicyState))),S=d((T=>wn(T.cardPolicyState))),c=d((T=>Tn(T.cardPolicyState))),p=d((T=>vn(T.cardPolicyState))),x=d((T=>Fn(T.cardPolicyState))),E=d((T=>xn(T.cardPolicyState))),I=d((T=>Dt(T.cardPolicyState))),k=d((T=>Rn(T))),V=d((T=>t!=null?Ss(T.cardPolicyState,t):void 0)),w=r.useMemo((()=>C.templateId===t&&C.formDraft!=null?C.formDraft:V!=null?ys(V):void 0),[C.templateId,C.formDraft,V,t]);r.useEffect((()=>{if(t==null)return;const T=C.detailFetchState.fetchState;C.templateId===t&&(T==="Completed"||T==="In-Progress")||V!=null||s(Is(t))}),[s,t,C.templateId,C.detailFetchState.fetchState,V]),r.useEffect((()=>{O!=="Completed"&&O!=="In-Progress"&&s(Ln())}),[s,O]),vr();const y=d((T=>T.chargeCardConfigState.receiptRequiredAboveAmount.amount));r.useEffect((()=>{k.fetchState==="Not-Started"&&s(ia(!1,!1,!1))}),[k.fetchState,s]);const F=r.useMemo((()=>U.map(Mc)),[U]),i=r.useMemo((()=>E.map(Nc)),[E]),g=r.useMemo((()=>k.cards.filter((T=>!mr(T.status.code))).map(Tr)),[k.cards]);Lt({isDataReady:w!=null});const R=r.useMemo((()=>{if(w!=null)return Xo({draft:w,cardRows:g,categorySearchOptions:F,vendorSearchOptions:i,defaultRequireReceiptAmount:y,suggestedAllowMerchants:S,suggestedBlockMerchants:c,suggestedAllowCategories:p,suggestedBlockCategories:x})}),[w,g,F,i,y,S,c,p,x]),[G,M]=r.useState(void 0),L=r.useRef(!1);r.useEffect((()=>{L.current||G!=null||R==null||(L.current=!0,M(R))}),[G,R]);const z=r.useCallback((T=>{M(T)}),[]),j=r.useMemo((()=>Ut((T=>{s(Pt(T))}),250)),[s]);r.useEffect((()=>()=>{j.cancel()}),[j]);const h=r.useCallback((T=>{j(T)}),[j]),H=C.updateFetchState.fetchState,K=n!=null?`/${n}/cards/policy`:"..",D=r.useCallback((()=>{const T=we(a.state?.pathnameStackToGoBack),P=T.poppedPathname??K;e(P,{state:{pathnameStackToGoBack:T.newStack}})}),[a.state,e,K]),W=r.useCallback((()=>{e(K)}),[e,K]),N=r.useCallback((T=>{if(t==null)return;const P=Cr(T);s(ks(P)),s(Es(t))}),[s,t]),$=r.useRef(H);r.useEffect((()=>{const T=$.current;$.current=H,H==="Completed"&&T!=="Completed"&&(s(Ke({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(K))}),[s,H,e,K]);const v=H==="Error"?C.updateFetchState.error?.message??jc.updatePolicyGenericErrorMessage:void 0;return!b||n==null||t==null?o.jsx(Je,{to:"..",replace:!0}):G!=null&&O==="Completed"&&k.fetchState==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:m,handleDrawerToggle:u}),o.jsx(ec,{templateName:C.template?.name??"",formDraft:G,vendorSearchOptions:i,categorySearchOptions:F,isVendorSearchLoading:I==="In-Progress",onVendorSearchTextChange:h,submitState:H,submitErrorMessage:v,isAiCfoAccessEnabled:B,onAskAiCfoClick:_,onBackClick:D,onCancelClick:W,onClickMenuIcon:l,onFormChange:z,onSubmit:N})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:m,handleDrawerToggle:u}),o.jsx(pr,{showUploadDocumentSection:!1,navBarTitle:C.template?.name,onBackClick:D,onClickMenuIcon:l,isAiCfoAccessEnabled:B,onAskAiCfoClick:_})]})}function Fr(e,a,n){return a?e.filter((t=>t!=null&&t.trim().length>0)).slice(0,n):[]}function xr(e){return d((a=>e==null||e===""?{chips:ht,isResolved:!1}:(function(n){const t=n?.fetchState,s=t==="Completed"||t==="Error";return{chips:t==="Completed"?n?.suggestedQuestions??ht:ht,isResolved:s}})(As(a,e))),_t)}const ht=[],{spendManagement:{chargeCard:{cardPolicyAiCfoHero:{headline:Hc,subheadline:Gc,pageTitle:$c}}}}=aa.getLocalizedStrings(),Zc=e=>{const a=e.cardsCount>0?e.cardsCount:e.appliedCards.length,n=e.allowedEntity.merchantNames.length+e.blockedEntity.merchantNames.length,t=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:a,vendorRestrictionsCount:n,categoryRestrictionsCount:t}};function zc(){const e=ie(),a=me(),{tenantEmailDomain:n}=Ve(),t=le(),s=Re(),f=Fe(s?.loggedInUserRoleMap),[b,m]=r.useState(!1),A=r.useCallback((h=>{m(h)}),[]),u=r.useCallback((()=>{A(!0)}),[A]),{useFeatureGate:l}=de(),{isFeatureEnabled:B}=l(q.isAiCfoFileUploadEnabled),{isFeatureEnabled:_}=l(q.isCardPolicyEnabled),{isAiCfoAccessEnabled:C,onAskAiCfoClick:O}=Fa({mobileExploreReferrer:"Card Policy"}),U=d((h=>_s(h))),S=d((h=>Bn(h.createCardPolicyState))),c=d((h=>Ds(h.createCardPolicyState))),p=d((h=>c==null?[]:Mn(h.aiCfoState,c).filter((H=>H.kind==="creating_policy"))),_t),x=S.fetchState==="In-Progress"?Math.max(p.length,1):0,E=d((h=>Ps(h.createCardPolicyState))),I=Sa(S.fetchState);r.useEffect((()=>{if(I==="In-Progress"&&S.fetchState==="Completed"&&c!=null)p.forEach((h=>{t(St({chatSessionId:c,id:h.id,entityIds:E,kind:"created_policy"}))}));else if(I==="In-Progress"&&S.fetchState==="Error"&&c!=null){p.forEach((H=>{t(St({chatSessionId:c,id:H.id,kind:"errored_policy"}))}));const h=S.error?.message!=null&&S.error.message.length>0?S.error.message:aa.getLocalizedStrings().common.errorMessage.somethingWentWrongPleaseTryAgain;t(Ke({messageSection:"card_policy_created",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:h}]}))}}),[S.error?.message,S.fetchState,t,c,E,p,I]);const k=U.fetchState.fetchState;r.useEffect((()=>{k!=="Not-Started"&&k!=="Error"||t(ws())}),[t,k]);const V=U.archiveFetchState.fetchState,w=Sa(V);r.useEffect((()=>{w==="In-Progress"&&V==="Completed"&&t(Ke({messageSection:"card_policy_deleted",messageText:"success",type:"success"}))}),[V,t,w]);const y=r.useMemo((()=>U.templates.map(Zc)),[U.templates]);Lt({isDataReady:U.fetchState.fetchState==="Completed"});const F=y.length>0||x>0,i=(function(h){const{hasAnyPolicies:H,isChargeCardAdmin:K,isFileUploadEnabled:D}=h,W=ie(),N=me(),{tenantEmailDomain:$}=Ve(),{isAiCfoOpen:v,setIsAiCfoOpen:T}=hr(),P=fr(),ae=gr(),Ce=d((Q=>jn(Q))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:X,isResolved:Te}=xr("card_policy"),Ie=r.useMemo((()=>Fr(X,Te,3)),[X,Te]),[re,be]=r.useState(""),pe=ae&&P&&$!=null&&!v,he=r.useCallback((Q=>{if($==null)return;const Ge=Ee(N.state?.pathnameStackToGoBack,N.pathname);W(`/${$}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Ge,referrer:"card_policy_hero",aiCfoInitialQuestion:Q,aiCfoShouldSubmit:Q!=null&&Q.trim().length>0}})}),[N.pathname,N.state,W,$]),oe=r.useCallback((Q=>{Q.trim().length!==0&&(be(""),he(Q))}),[he]),J=r.useCallback((()=>{const Q=re.trim();Q.length!==0&&(be(""),he(Q))}),[re,he]),Se=r.useCallback((()=>{}),[]),_e=r.useCallback((Q=>{be(Q)}),[]),fe=r.useCallback((()=>{T(!0)}),[T]),ve=r.useCallback((()=>{he(void 0)}),[he]);return r.useMemo((()=>{if(pe&&!H&&K)return{aiAgentName:$c,headline:Hc,subheadline:Gc,promptChips:Ie,composer:{currentInput:re,isSubmitting:Ce,isFileUploadEnabled:D,onInputChange:_e,onSubmit:J,onStopSubmit:Se},onPromptClick:oe,onOpenSidePanel:fe,onOpenFullView:ve,dataTestIdPrefix:"card-policy-ai-cfo-hero"}}),[re,H,pe,K,D,Ce,_e,ve,fe,oe,Se,J,Ie])})({hasAnyPolicies:F,isChargeCardAdmin:f,isFileUploadEnabled:B}),g=_&&i!=null?o.jsx(br,{...i}):null,R=C&&g==null,G=r.useCallback((()=>{const h=we(a.state?.pathnameStackToGoBack),H=h.poppedPathname??"..";e(H,{state:{pathnameStackToGoBack:h.newStack}})}),[a.state,e]),M=r.useCallback((()=>{n!=null&&e(`/${n}/cards/policy/new`)}),[e,n]),L=r.useCallback((h=>{n!=null&&e(`/${n}/cards/policy/${h}/edit`)}),[e,n]),z=r.useCallback((h=>{t(Ts(h))}),[t]),j=U.fetchState.fetchState;return!F&&j!=="Completed"&&j!=="Error"?o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(ac,{onBackClick:G,onNewPolicyClick:M,onClickMenuIcon:u,isAiCfoAccessEnabled:C,onAskAiCfoClick:O})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:b,handleDrawerToggle:A}),o.jsx(tc,{policies:y,archivingTemplateId:U.archiveTargetTemplateId,pendingCreationCount:x,onBackClick:G,onNewPolicyClick:M,onEditPolicyClick:L,onArchivePolicyClick:z,onClickMenuIcon:u,policyAiCfoHero:g,isAiCfoAccessEnabled:R,onAskAiCfoClick:O})]})}function Kc(){const e=ie(),{cardId:a}=Ve(),n=le(),t=te.getSignedInUser(),s=d((X=>ge(X))),f=Re(),b=Fe(f?.loggedInUserRoleMap),{useFeatureGate:m}=de();if(t==null)throw Error("Can't access Add To Wallet Page without signing in...");const[A,u]=r.useState(!1),l=d((X=>Wa(X).firstViewAfterActivation));if(a==null)throw Error("Empty card id is not valid...");const B=s.userRole.includes("charge_card_user"),{isFeatureEnabled:_}=m(q.isChargeCardFeatureEnabled),C=!!s.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:O}=m(q.isDebitCardFeatureEnabled),U=xe(s),S=Le(s),c=Be(O,s),p=s.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,x=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:c}),E=Ue({isCardsOnlyTenant:U,isChargeCardFeatureEnabled:_,isBookKeepingTenant:S,isDebitCardProductVisible:x,chargeCardsCreditAccountLimit:p}),I=!!s.companyDebitCardInfo?.info?.isDebitCardEnabled,k=d((X=>da(X,s.companyId))),V=la(k.controllers),{creditAccount:w,creditAccountRepayment:y}=d((X=>ua(X))),F=d((X=>X.classListState.fetchState)),i=!B&&E&&C,g=d((X=>wt(X,a,i,E))),[R,G]=r.useState(!1),M=g.chargeCard,L=M?.cardCreatedByUser?.userId,z=d((X=>L!=null?Ga(X.userRoleState,L):void 0)),j=z?.accountingClassIDs[0],h=d((X=>j!=null?$a(X.classState,{classId:j,reportId:"class_list"}):void 0)),H=M?.cardHolderUser?.userId,K=d((X=>H!=null?Ga(X.userRoleState,H):void 0)),D=K?.accountingClassIDs[0],W=d((X=>D!=null?$a(X.classState,{classId:D,reportId:"class_list"}):void 0)),N=M?.type.code==="business_physical_credit_card"||M?.type.code==="business_physical_debit_card",$=M?.type.code==="business_physical_debit_card";r.useEffect((()=>{l&&A===!1&&N&&(u(!0),setTimeout((()=>{n(Za()),$&&n(Ke({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[l,A,N,$]),r.useEffect((()=>{R||g.fetchState==="Completed"||g.fetchState==="In-Progress"||a==null||(G(!0),n(Ia(a,i,!1)))}),[R,g,a,n]),r.useEffect((()=>{if(g.fetchState==="Completed"&&(N===!1||N&&M?.status?.code!=="active"||M?.cardHolderUserId!==t.userId||l===!1&&A===!1||M?.type.code==="business_physical_debit_card"||M?.type.code==="business_virtual_debit_card")){const X=De(s.tenantEmailDomain,a,t,M,l);e(X)}}),[g.fetchState,l,N]),r.useEffect((()=>{w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&E&&C&&b&&n(Qe()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&E&&C&&b&&n(Tt()),F!=="Completed"&&F!=="In-Progress"&&n(Nn())}),[w.fetchState,y.fetchState,n,E,C,b,F]);const v=()=>{if(t!=null&&a!=null){n(Za());const X=De(s.tenantEmailDomain,a,t);e(X)}},T=M?.type.code==="business_physical_debit_card"||M?.type.code==="business_virtual_debit_card",P=ea(E,x,I,C),ae=xa(E,C,b,w,y),Ce=Ar(T,g);return g.fetchState!=="Completed"?o.jsx(wa,{fetchState:"In-Progress"}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:l}),o.jsx(nc,{onGotItClick:v,isDebitCard:M?.type.code==="business_physical_debit_card",controllerEmails:V,isChargeCardFeatureEnabled:E,isDebitCardFeatureEnabled:x,isDebitCardSetupEnabled:I,isChargeCardSetupEnabled:C,productInformation:P,creditAccountInformation:ae,debitAccountInformation:Ce,chargeCardDetailView:g,creditAccount:w,classListFetchState:F,creditAccountRepayment:y,cardIssuedByRoles:z?.userRoles,cardIssuedByDepartmentName:h?.className,cardHolderRoles:K?.userRoles,cardHolderDepartmentName:W?.className})]})}const Lr="charge-card-transaction-update",Br="charge-card-transaction-created",Rr="charge-card-transaction-declined",Or="charge-card-transaction-updated",Ur="charge-card-transaction-receipt-uploaded",pa="charge-card-status-update",Vt="charge-card-spending-updated",ot="credit-account-balance-updated",ct="charge-card-created",Ht="charge-card-limit-updated",Gt="charge-card-limit-reset",$t="charge-card-renamed",Yc="charge-card-department-updated",jr="charge-card-repayment-completed",Mr="charge-card-payment-date-updated",La="charge-card-cashback-redeemed",Ba="charge-card-cashback-earned",ha=(e,a)=>e==null||e===""?[]:a.map((n=>`private-encrypted-${e}.${n}`)),Wc=[Ba,La],qc=Pe((function(e){const a=ma(e);return{insightsData:a.insight,cashbackByPeriod:a.cashbackByPeriod,uiState:a.uiState,cashbackSummary:a.cashbackSummary}}),(function(e){return{onColumnSortConfigChanged:(a,n)=>{e(vs({uiState:{sortKey:a,sortOrder:n}}))}}}))(sc);function Qc(){const e=ie(),a=le(),n=me(),t=te.getSignedInUser(),s=d((_=>ge(_))),[f,b]=r.useState(!1),m=d((_=>ma(_))),A=wr(s.companyId,{clearParams:m.fetchState==="Completed"}),u=r.useCallback((()=>{const _=we(n.state?.pathnameStackToGoBack),C=_.poppedPathname??Jc(s.tenantEmailDomain);e(C,{state:{pathnameStackToGoBack:_.newStack}})}),[e,n,s.tenantEmailDomain]),l=ta(s);if(Nt({events:ha(l,Wc),onEvent:_=>{switch(_){case Ba:case La:return void a(_a(!0))}},onSubscribed:()=>{a(_a(!0))}}),r.useEffect((()=>{f||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(b(!0),a(_a()))}),[f,m,a]),t==null)throw Error("Can't access cashback detail page without signing in...");const B=m.cashbackSummary?.cashbackEarned?.amount!=null&&m.fetchState!=="Not-Started";return m.fetchState!=="In-Progress"||B?(m.cashbackSummary?.cashbackEarned?.amount??0)===0&&m.fetchState==="Completed"?o.jsx(st,{}):o.jsx(qc,{onBackClick:u,initialOpenThreadRequest:A}):o.jsx(rc,{onBackClick:u})}const Jc=e=>`/${e}/cards`,Xc={containerWidth:new va(100,58)},ei=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b}=de(),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,_]=r.useState(!1),[C,O]=r.useState(!1),U=te.getSignedInUser();if(U==null)throw Error("Can't access onboarding card page without signing in...");const S=d((W=>ge(W)));if(s==null)throw Error("Empty card id is not valid...");const{configValue:c}=b(Xe.zeniCardsConfig),p=c.max_charge_card_activation_attempts_by_card_id,x=d((W=>Fs(W,s))),E=x.chargeCard,I=d((W=>W.chargeCardConfigState.fetchState)),{useFeatureGate:k}=de(),{isFeatureEnabled:V}=k(q.isChargeCardFeatureEnabled),{isFeatureEnabled:w}=k(q.isDebitCardFeatureEnabled),y=Be(w,S),F=Oe({isDebitCardFeatureEnabled:w,isBankingOnlyTenant:y}),i=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,g=S.userRole.includes("charge_card_user"),R=xe(S),G=Le(S),M=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=Ue({isCardsOnlyTenant:R,isChargeCardFeatureEnabled:V,isBookKeepingTenant:G,isDebitCardProductVisible:F,chargeCardsCreditAccountLimit:M}),z=!g&&L&&i;r.useEffect((()=>{m===!1&&I!=="In-Progress"&&I!=="Completed"&&(n(qa()),A(!0)),u===!1&&x.fetchState==="Not-Started"&&(l(!0),n(Ia(s,z,L)))}),[u,x.fetchState,m,I]);const j=E?.type.code==="business_physical_credit_card"||E?.type.code==="business_physical_debit_card";r.useEffect((()=>{if(x.fetchState==="Completed"){if(B===!1&&(j===!1||j&&E?.status?.code!=="inactive"||E?.cardHolderUserId!==U.userId)){const W=De(S.tenantEmailDomain,s,U,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(W,{state:{pathnameStackToGoBack:N}})}else if(B&&x.isRefreshingViewInBackground===!1&&E?.status?.code==="active"){n(xs({chargeCardId:s}));const W=De(S.tenantEmailDomain,s,U,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Qa()),t(W,{state:{pathnameStackToGoBack:N}})}}}),[x.fetchState,E?.type.code,B,x.isRefreshingViewInBackground]);const h=te.getZeniOtpTokenForCardHolder(s),H=d((W=>Vn(W.userState,U.userId))),K=()=>{E?.status?.code!=="active"&&n(ga(s,!0))};r.useEffect((()=>{x.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&E?.cardActivationAttemptHistory.some((W=>W.statusCode==="success"))===!0&&B===!1&&(setTimeout(K,3e3),_(!0))}),[x.updatePhysicalChargeCardAttemptFetchState.fetchState,E?.cardActivationAttemptHistory]);const D=W=>{O(W)};if(I!=="Completed"||E==null)return o.jsx(wa,{fetchState:"In-Progress"});if(E.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(H?.phone==null)throw Error("Can't access user phone number.");return o.jsxs(ni,{children:[o.jsx(Ae,{isAppContentDrawerOpen:C,handleDrawerToggle:D}),o.jsx(ai,{cardId:s,card:E,shippingAddressId:E.shippingAddressId,phone:H.phone,signedInUser:U,isSandboxEnv:Bt(),chargeCardDetailState:x,signedInUserToken:h,navigate:t,currentTenant:S,location:f,maxChargeCardActivationAttempts:p[s]!=null?p[s]:c.default_max_charge_card_activation_attempts!=null?c.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:c.charge_card_cashback_rate_per_transaction!=null?c.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{D(!0)}}),e!=null?o.jsx(ti,{windowSize:a,children:e}):null]})},ai=Pe((function(e,{chargeCardDetailState:a,shippingAddressId:n,location:t,cardId:s}){const f=Ls(e.addressState,n);if(f==null)throw Error("Can't access shippingAddress.");const b=Hn(e,s),m=a.updateStatus,A=Ca(e,!1,!1,!1);let u=!1;A.fetchState==="Completed"&&A.cards.length<=1&&(u=!0);const l=t.state?.message==="comingFromV2UrlPath";return{showActivatePage:a.chargeCard?.providerCardCreateTime!=null&&a.chargeCard.providerCardCreateTime.add(24,"h").isBefore(Bs())||l,showMenuIcon:u,shippingAddress:f,vgsVaultId:nt.cardVaultId,twoFAView:b,activationWaitStatus:m,isRefreshingViewInBackground:a.isRefreshingViewInBackground}}),(function(e,a){const{navigate:n,cardId:t,location:s,currentTenant:f,chargeCardDetailState:b}=a,m=b.chargeCard?.cardProviderID,{tenantEmailDomain:A}=f;return{onGetOtp:u=>{m!=null&&e(et(u,"ChargeCardHolder",t))},onUpdatePhysicalChargeCardAttempt:u=>{e(Os(t,u))},onResendOtp:u=>{m!=null&&e(Xa(u,"ChargeCardHolder",t))},onVerifyOtp:(u,l)=>{m!=null&&e(Ja(u,l,"ChargeCardHolder",t))},onVerifyOtpSuccess:u=>{u!=null&&te.saveZeniOtpTokenForCardHolder(u,t)},onCVVActivateSuccess:()=>{e(Rs({chargeCardId:t}))},onBackClick:()=>{const u=we(s.state?.pathnameStackToGoBack),l=u.poppedPathname==null||u.poppedPathname.includes("onboard")===!0?na(A):u.poppedPathname;n(l,{state:{pathnameStackToGoBack:u.newStack}})}}}))(oc),ti=He.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  width: ${e=>`${Xc.containerWidth.value(e.windowSize)}%`};
@@ -11,18 +11,18 @@ import{j as o}from"./liveblocks-CuUK5O_2.js";import{u as le,j as d,h as ie,g as
11
11
  flex-direction: column;
12
12
  align-items: center;
13
13
  background-color: ${e=>e.theme.colors.grey4};
14
- `,za=aa.getLocalizedStrings().dateFormat,ri={overlayWidth:new va(100,100,58)},Nr=[jr,ot],si=new Set(Nr),oi=Pe((function(e,a){const n=a.currentTenant?.companyId;return{plaidConnectionDetails:Ms(e,n,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:Ns(e.depositAccountState,e.depositAccountListState)}}),(function(e,a){const{navigate:n,currentTenant:t,isCashbackInfoFetchStateCompleted:s,isCreditCardInfoFetchStateCompleted:f,isDebitCardInfoFetchStateCompleted:b,controllerEmails:m,paymentDetails:A,productInformation:u,cashbackInformation:l,paymentSourceInformation:B,creditAccountInformation:_,debitAccountInformation:C,paymentInitiatedDate:O,sourcePage:U}=a,{tenantEmailDomain:S}=t,c=()=>{e($n(!0));const p=ta(t);p!=null&&p!==""&&e(Da(p,!0,!0)),e(Qe(!0))};return{onBackNavigation:()=>{if(s&&f&&b&&l!=null&&ee.trackCardsPayEarlyFormClick(m,u,l,"Back",A.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:A.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:A.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:A.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:A.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:O?.add(3,"day").format(za.visual.MMMDCommaYYYYformat),paymentInitiatedDate:O?.format(za.visual.MMMDCommaYYYYformat)},B,_,C),U==="cardPaymentHistory")a.closeDrawerHandler(!0),e(Kn());else{const p=na(S);n(p)}},onUpdatePaymentAccountStatus:(p,x,E)=>{e(Zs(p,x,"bill_pay","bill_pay_detail",E))},onEstablishConnectionSuccess:()=>{e(Da(t.companyId,!0))},onFetchLinkTokenClick:p=>{e(Hs("external_account",p))},onEstablishConnectionClick:p=>{e(Vs(p,t.companyId,"charge_card_payment","charge_cards"))},onEventReceived:p=>{si.has(p)&&c()},onPusherSubscribed:c}}))(rt(cc)),$t=({isPaymentDrawerOpen:e,closeDrawerHandler:a,pageName:n,creditAccountSpentAmount:t,productInformation:s,sourcePage:f,creditAccountInformation:b,debitAccountInformation:m,cashbackInformation:A,isDebitCardInfoFetchStateCompleted:u,isCreditCardInfoFetchStateCompleted:l,isCashbackInfoFetchStateCompleted:B,paymentInitiatedDate:_,retryRepayment:C})=>{const O=ie(),{useDynamicConfig:U}=de(),S=d((G=>Zn(G))),{creditAccount:c}=d((G=>ua(G))),p=d((G=>ge(G))),x=Ot(),E=Ta(),I=le(),k=te.getSignedInUser(),V=Re(),[w,y]=r.useState(!1),[F,i]=r.useState(!1),{configValue:g}=U(Xe.zeniCardsConfig),R=g.credit_card_auto_pay_threshold_by_company_id?.[p.companyId]??g.default_credit_card_auto_pay_threshold??Tc,Z=Gn(V?.loggedInUserRoleMap),M=Us(V?.loggedInUserRoleMap),L=d((G=>Pa(G,p.companyId))),K=L.companyChargeCardInfo?.primaryFundingAccount,j=L.allFundingAccounts.find((G=>G.id===K?.accountId)),h=d((G=>da(G,p.companyId))),H=la(h.controllers);r.useEffect((()=>{if(S.fetchState!=="Completed"&&S.fetchState!=="In-Progress"&&I($n()),S.fetchState==="Completed"&&!F){const G=p.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,v=S.transferFromAccounts.find((P=>P.id===G));let T;if(f==="cardPaymentHistory"&&C){const P=C.paymentAccountId!=null?S.transferFromAccounts.find((ae=>ae.id===C.paymentAccountId)):void 0;T={amount:C.amount,isAutoRepayment:p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:Sn(),transferFrom:P??v}}else T={amount:{amount:c.balance.amount+c.hold.amount,currencyCode:c.balance.currencyCode,currencySymbol:c.balance.currencySymbol},isAutoRepayment:p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:Sn(),transferFrom:v};I(fn(T)),i(!0)}}),[S.fetchState,F,f,C,S.transferFromAccounts,p.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,p.companyChargeCardInfo?.info?.isAutoPayEnabled,c.balance.amount,c.balance.currencyCode,c.balance.currencySymbol,c.hold.amount,I]);const z={isZeniCheckingEnabled:p.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:j?.accType==="depositAccount",creditCardPaymentSourceAccountName:j?.label,creditCardPaymentSourceAccountType:j?.accType,creditCardPaymentSourceLastFourDigits:j?.accountLast4,creditCardPaymentSourceBalance:j?.accountBalance?.available?.amount??0};if(r.useEffect((()=>{L.fetchState!=="Completed"&&L.fetchState!=="In-Progress"&&I(Da(p.companyId,!0))}),[L.fetchState]),r.useEffect((()=>{S.updateStatus==="Completed"&&A!=null&&B&&l&&u&&ee.trackCardsPayEarlyPayNowClick(H,s,A,S.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:S.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:S.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:S.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:S.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:_?.add(3,"day").format(za.visual.MMMDCommaYYYYformat),paymentInitiatedDate:_?.format(za.visual.MMMDCommaYYYYformat)},z,b,m)}),[S.updateStatus,A,B,l,u,_]),r.useEffect((()=>{S.fetchState==="Completed"&&A!=null&&B&&l&&u&&!w&&e&&F&&A!=null&&(ee.trackCardsPayEarlyFormView(H,s,A,n,p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,c.balance.amount,z,b,m),y(!0))}),[S,B,l,u,w,e,F]),k==null)throw Error("Can't access invite people page without signing in...");const D=()=>{a(!0),I(Kn())},W=ta(p),N={events:e?ha(W,Nr):[],eventCallback:(G,v,T)=>{T.onEventReceived(G)},onSubscribed:G=>{G.onPusherSubscribed()}};return o.jsx(o.Fragment,{children:o.jsx(Er,{onClose:()=>{D()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:ri.overlayWidth.valuePercentage(E),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:x.colors.black,opacity:.75,cursor:"pointer"}}},children:o.jsx(ci,{onClick:G=>G.stopPropagation(),children:o.jsx(oi,{...N,closeDrawerHandler:a,navigate:O,paymentDetails:S,creditAccountSpentAmount:t,onTransferClick:()=>{B&&l&&u&&A!=null&&ee.trackCardsPayEarlyFormClick(H,s,A,"Pay Now",S.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:S.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:S.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:S.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:S.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:void 0,paymentInitiatedDate:void 0},z,b,m),I(js({companyId:p.companyId}))},onDismissClick:D,onSaveChangesToLocalStore:G=>{I(fn(G))},currentTenant:p,hasZeniAccountsAdminAccess:Z,isZeniAccountsUser:M,productInformation:s,sourcePage:f,controllerEmails:H,autoPayThreshold:R,paymentSourceInformation:z,creditAccountInformation:b,debitAccountInformation:m,cashbackInformation:A,isCashbackInfoFetchStateCompleted:B,isCreditCardInfoFetchStateCompleted:l,isDebitCardInfoFetchStateCompleted:u,paymentInitiatedDate:_})})})})},ci=He(wc)`
14
+ `,Ka=aa.getLocalizedStrings().dateFormat,ri={overlayWidth:new va(100,100,58)},Nr=[jr,ot],si=new Set(Nr),oi=Pe((function(e,a){const n=a.currentTenant?.companyId;return{plaidConnectionDetails:Ms(e,n,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:Ns(e.depositAccountState,e.depositAccountListState)}}),(function(e,a){const{navigate:n,currentTenant:t,isCashbackInfoFetchStateCompleted:s,isCreditCardInfoFetchStateCompleted:f,isDebitCardInfoFetchStateCompleted:b,controllerEmails:m,paymentDetails:A,productInformation:u,cashbackInformation:l,paymentSourceInformation:B,creditAccountInformation:_,debitAccountInformation:C,paymentInitiatedDate:O,sourcePage:U}=a,{tenantEmailDomain:S}=t,c=()=>{e(Zn(!0));const p=ta(t);p!=null&&p!==""&&e(Da(p,!0,!0)),e(Qe(!0))};return{onBackNavigation:()=>{if(s&&f&&b&&l!=null&&ee.trackCardsPayEarlyFormClick(m,u,l,"Back",A.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:A.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:A.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:A.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:A.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:O?.add(3,"day").format(Ka.visual.MMMDCommaYYYYformat),paymentInitiatedDate:O?.format(Ka.visual.MMMDCommaYYYYformat)},B,_,C),U==="cardPaymentHistory")a.closeDrawerHandler(!0),e(zn());else{const p=na(S);n(p)}},onUpdatePaymentAccountStatus:(p,x,E)=>{e(Gs(p,x,"bill_pay","bill_pay_detail",E))},onEstablishConnectionSuccess:()=>{e(Da(t.companyId,!0))},onFetchLinkTokenClick:p=>{e(Hs("external_account",p))},onEstablishConnectionClick:p=>{e(Vs(p,t.companyId,"charge_card_payment","charge_cards"))},onEventReceived:p=>{si.has(p)&&c()},onPusherSubscribed:c}}))(rt(cc)),Zt=({isPaymentDrawerOpen:e,closeDrawerHandler:a,pageName:n,creditAccountSpentAmount:t,productInformation:s,sourcePage:f,creditAccountInformation:b,debitAccountInformation:m,cashbackInformation:A,isDebitCardInfoFetchStateCompleted:u,isCreditCardInfoFetchStateCompleted:l,isCashbackInfoFetchStateCompleted:B,paymentInitiatedDate:_,retryRepayment:C})=>{const O=ie(),{useDynamicConfig:U}=de(),S=d(($=>Gn($))),{creditAccount:c}=d(($=>ua($))),p=d(($=>ge($))),x=Ot(),E=Ta(),I=le(),k=te.getSignedInUser(),V=Re(),[w,y]=r.useState(!1),[F,i]=r.useState(!1),{configValue:g}=U(Xe.zeniCardsConfig),R=g.credit_card_auto_pay_threshold_by_company_id?.[p.companyId]??g.default_credit_card_auto_pay_threshold??Tc,G=$n(V?.loggedInUserRoleMap),M=Us(V?.loggedInUserRoleMap),L=d(($=>Pa($,p.companyId))),z=L.companyChargeCardInfo?.primaryFundingAccount,j=L.allFundingAccounts.find(($=>$.id===z?.accountId)),h=d(($=>da($,p.companyId))),H=la(h.controllers);r.useEffect((()=>{if(S.fetchState!=="Completed"&&S.fetchState!=="In-Progress"&&I(Zn()),S.fetchState==="Completed"&&!F){const $=p.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,v=S.transferFromAccounts.find((P=>P.id===$));let T;if(f==="cardPaymentHistory"&&C){const P=C.paymentAccountId!=null?S.transferFromAccounts.find((ae=>ae.id===C.paymentAccountId)):void 0;T={amount:C.amount,isAutoRepayment:p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:Sn(),transferFrom:P??v}}else T={amount:{amount:c.balance.amount+c.hold.amount,currencyCode:c.balance.currencyCode,currencySymbol:c.balance.currencySymbol},isAutoRepayment:p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:Sn(),transferFrom:v};I(fn(T)),i(!0)}}),[S.fetchState,F,f,C,S.transferFromAccounts,p.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,p.companyChargeCardInfo?.info?.isAutoPayEnabled,c.balance.amount,c.balance.currencyCode,c.balance.currencySymbol,c.hold.amount,I]);const K={isZeniCheckingEnabled:p.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:j?.accType==="depositAccount",creditCardPaymentSourceAccountName:j?.label,creditCardPaymentSourceAccountType:j?.accType,creditCardPaymentSourceLastFourDigits:j?.accountLast4,creditCardPaymentSourceBalance:j?.accountBalance?.available?.amount??0};if(r.useEffect((()=>{L.fetchState!=="Completed"&&L.fetchState!=="In-Progress"&&I(Da(p.companyId,!0))}),[L.fetchState]),r.useEffect((()=>{S.updateStatus==="Completed"&&A!=null&&B&&l&&u&&ee.trackCardsPayEarlyPayNowClick(H,s,A,S.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:S.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:S.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:S.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:S.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:_?.add(3,"day").format(Ka.visual.MMMDCommaYYYYformat),paymentInitiatedDate:_?.format(Ka.visual.MMMDCommaYYYYformat)},K,b,m)}),[S.updateStatus,A,B,l,u,_]),r.useEffect((()=>{S.fetchState==="Completed"&&A!=null&&B&&l&&u&&!w&&e&&F&&A!=null&&(ee.trackCardsPayEarlyFormView(H,s,A,n,p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,c.balance.amount,K,b,m),y(!0))}),[S,B,l,u,w,e,F]),k==null)throw Error("Can't access invite people page without signing in...");const D=()=>{a(!0),I(zn())},W=ta(p),N={events:e?ha(W,Nr):[],eventCallback:($,v,T)=>{T.onEventReceived($)},onSubscribed:$=>{$.onPusherSubscribed()}};return o.jsx(o.Fragment,{children:o.jsx(Er,{onClose:()=>{D()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:ri.overlayWidth.valuePercentage(E),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:x.colors.black,opacity:.75,cursor:"pointer"}}},children:o.jsx(ci,{onClick:$=>$.stopPropagation(),children:o.jsx(oi,{...N,closeDrawerHandler:a,navigate:O,paymentDetails:S,creditAccountSpentAmount:t,onTransferClick:()=>{B&&l&&u&&A!=null&&ee.trackCardsPayEarlyFormClick(H,s,A,"Pay Now",S.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:S.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:S.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:S.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:S.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:void 0,paymentInitiatedDate:void 0},K,b,m),I(js({companyId:p.companyId}))},onDismissClick:D,onSaveChangesToLocalStore:$=>{I(fn($))},currentTenant:p,hasZeniAccountsAdminAccess:G,isZeniAccountsUser:M,productInformation:s,sourcePage:f,controllerEmails:H,autoPayThreshold:R,paymentSourceInformation:K,creditAccountInformation:b,debitAccountInformation:m,cashbackInformation:A,isCashbackInfoFetchStateCompleted:B,isCreditCardInfoFetchStateCompleted:l,isDebitCardInfoFetchStateCompleted:u,paymentInitiatedDate:_})})})})},ci=He(wc)`
15
15
  display: flex;
16
16
  min-height: 100%;
17
17
  flex-direction: column;
18
- `,Kt=e=>e!=null&&typeof e=="object"?e:null,ce=e=>typeof e=="string"?e:void 0,Me=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,Ya=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 a=e;return typeof a.transaction_id=="string"&&typeof a.amount=="number"&&typeof a.currency_code=="string"&&typeof a.currency_symbol=="string"&&typeof a.direction=="string"&&!!Ya(a.transaction_status)&&!!Ya(a.transaction_type)},zt=(e,a)=>{const n=e?.card_status;if(!Ya(n))return null;const t=e?.is_locked_by_admin;return{cardId:a,cardStatus:n,isLockedByAdmin:typeof t=="boolean"?t:void 0}},Et=[Lr,Br,Rr,Or,Ur,pa,Vt,ot,Ht,Zt,Gt],Vr=[Ba,La],ii=new Set([...Et,...Vr]),gt=aa.getLocalizedStrings().dateFormat,di=Pe((function(e,a){const{includeCreditAccountInfo:n,cardId:t,signedInUserToken:s,isChargeCardFeatureEnabled:f}=a,b=te.getSignedInUser(),m=e.tenantState.currentTenantId,A={userId:b?.userId??"",sessionId:b?.zeniSessionId??"",tenantId:m??""},u=wt(e,t,n,f),l=Js(e,t),B=Xs(e);return{chargeCardDetailView:u,chargeCardsRecurringExpensesState:l,vgsVaultId:nt.cardVaultId,transactionAttachmentsEndpointToFetch:`${kt}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${kt}/card_transaction_attachment`,authParams:A,isSnackbarOpen:B.isSnackbarOpen,cardsEndPoint:`${Sr.cardMicroServiceBaseUrl}`,signedInUserToken:u.twoFAView.token??s,receiptsEmail:Yn(e.tenantState,m)}}),(function(e,a){const{cardId:n,currentTenant:t,navigate:s,location:f,cardProviderId:b,includeCreditAccountInfo:m,setIsPaymentOpen:A,controllerEmails:u,productInformation:l,cashbackInformation:B,primaryFundingAccountDetails:_,creditAccountInformation:C,debitAccountInformation:O,isChargeCardFeatureEnabled:U}=a,{tenantEmailDomain:S}=t;return{onEventReceived:(c,p)=>{(({event:x,data:E,cardId:I,dispatch:k,subscribedEvents:V})=>{const w=Kt(E);switch(x){case Ba:case La:return void k(_a(!0));case Lr:{const y=ce(w?.card_id);if(y==null||y!==I)return;const F=ce(w?.transaction_id),i=w?.transaction_status;return F!=null&&Ya(i)?void k(qs({transactionId:F,transactionStatus:i})):void k(oa(I,null,null,!0))}case pa:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=zt(w,y);return F!=null?void k(vt(F)):void k(ga(I,!0))}case Vt:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=ce(w?.currency_code),i=ce(w?.currency_symbol),g=Me(w?.balance);return F!=null&&i!=null&&g!=null?(k(Ws({cardId:y,currencyCode:F,currencySymbol:i,balance:g,hold:Me(w?.hold),dailyPurchaseSpends:Me(w?.daily_purchase_spends),monthlyPurchaseSpends:Me(w?.monthly_purchase_spends),dailyWithdrawals:Me(w?.daily_withdrawals),monthlyWithdrawals:Me(w?.monthly_withdrawals)})),void k(Qe(!0))):(k(ga(I,!0)),void k(Qe(!0)))}case ot:{const y=ce(w?.currency_code),F=ce(w?.currency_symbol),i=Me(w?.available_amount),g=Me(w?.balance_amount);return y!=null&&F!=null&&i!=null&&g!=null?void k(Ys({currencyCode:y,currencySymbol:F,available:i,balance:g,hold:Me(w?.hold_amount),cashback:Me(w?.cashback_amount)})):void k(Qe(!0))}case Br:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(zs({cardId:y,transaction:F})):void k(oa(I,null,null,!0))}case Rr:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(Ks({cardId:y,declineReason:ce(w?.decline_reason),transaction:F})):void k(oa(I,null,null,!0))}case Or:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k($s({cardId:y,transaction:F})):void k(oa(I,null,null,!0))}case Ur:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=ce(w?.transaction_id),i=w?.attachment_file_paths;return F!=null&&Array.isArray(i)&&i.every((g=>typeof g=="string"))?void k(Gs({cardId:y,transactionId:F,attachmentFilePaths:i})):void k(oa(I,null,null,!0))}case Ht:case Zt:case Gt:{const y=ce(w?.card_id);if(y==null||y!==I)return;k(ga(I,!0))}}})({event:c,data:p,cardId:n,dispatch:e,subscribedEvents:ii})},onPusherSubscribed:()=>{e(ga(n,!0)),e(oa(n,null,null,!0)),e(Qe(!0))},onReloadTransactions:()=>{e(Ia(n,m,U))},onFetchChargeCardTransactionList:(c,p)=>{e(oa(n,c,p))},onUpdateScrollYOffset:c=>{},onGetOtp:c=>{b!=null&&e(et(c,"ChargeCardHolder",n))},onResendOtp:c=>{b!=null&&e(Xa(c,"ChargeCardHolder",n))},onVerifyOtp:(c,p)=>{b!=null&&e(Ja(c,p,"ChargeCardHolder",n))},onVerifyOtpSuccess:c=>{c!=null&&te.saveZeniOtpTokenForCardHolder(c,n)},onColorCodeChange:c=>{e(so(n,c))},onLockChargeCard:(c,p)=>{e(tr(c,n,p))},onUnlockChargeCard:c=>{e(ar(c,n))},onCloseChargeCard:c=>{e(er(n,c))},onFetchChargeCardsRecurringExpenses:()=>{e(Xn([n]))},updateChargeCardName:(c,p)=>{e(Jn(c,n,p))},updateChargeCardTransactionAttachments:(c,p)=>{p!=null&&e(ro({transactionId:c,data:p}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(c,p,x,E)=>{e(no({chargeCardId:p,transactionId:c,fetchState:x,error:E}))},updateChargeCardTransactionReceiptsShowTick:(c,p,x)=>{e(to({chargeCardId:p,transactionId:c,shouldShowTick:x}))},onChargeCardRevokeInviteClick:()=>{e(Qn(n))},updateChargeCardTransactionIsViewReceiptClicked:(c,p,x)=>{e(ao({chargeCardId:p,transactionId:c,isViewReceiptClicked:x}))},onChargeCardTransactionRowClick:(c,p)=>{const x=Ee(f.state?.pathnameStackToGoBack,f.pathname);s(`../../transaction/${c}/${p}`,{state:{pathnameStackToGoBack:x}})},onBackClick:()=>{const c=we(f.state?.pathnameStackToGoBack),p=na(S);s(p,{state:{pathnameStackToGoBack:c.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(eo())},onUpdateDebitCardPinAttempt:c=>{e(qn(n,c)),c==="success"&&e(ze({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(c,p)=>{c?e(ze({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):p!=null&&e(ze({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:p.message}]}))},updateSpendLimit(c,p,x,E){e(Wn(c,p,x.code,E))},shouldOpenCreditCardPaymentDrawer(c){c&&B!=null&&ee.trackCardsPayEarlyClick(u,l,B,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:t.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:_?.accType==="depositAccount",creditCardPaymentSourceAccountName:_?.label,creditCardPaymentSourceAccountType:_?.accType,creditCardPaymentSourceLastFourDigits:_?.accountLast4,creditCardPaymentSourceBalance:_?.accountBalance?.available?.amount??0},C,O),A(c)}}}))(rt(dc));function li(){const e=ie(),a=le(),n=me(),{cardId:t}=Ve(),[s,f]=r.useState(!1),[b,m]=r.useState(!1),{useDynamicConfig:A}=de(),u=te.getSignedInUser(),l=d((Y=>ge(Y))),B=d((Y=>Wa(Y).firstViewAfterActivation)),_=d((Y=>Y.classListState.fetchState)),{configValue:C}=A(Xe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:O}=A(Xe.zeniCardsConfig),U=O.enable_card_controls_for_company_ids,S=O.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(U)&&U.includes(l.companyId),[c,p]=r.useState(!1),[x,E]=r.useState(!1),{useFeatureGate:I}=de(),{isFeatureEnabled:k}=I(q.isChargeCardFeatureEnabled),{isFeatureEnabled:V}=I(q.isDebitCardFeatureEnabled),w=Be(V,l),y=Oe({isDebitCardFeatureEnabled:V,isBankingOnlyTenant:w}),{isFeatureEnabled:F}=I(q.isEarlyPayFeatureEnabled),i=Le(l),g=xe(l),R=l.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,Z=Ue({isCardsOnlyTenant:g,isChargeCardFeatureEnabled:k,isBookKeepingTenant:i,isDebitCardProductVisible:y,chargeCardsCreditAccountLimit:R}),M=!!l.companyDebitCardInfo?.info?.isDebitCardEnabled,L=!!l.companyChargeCardInfo?.info?.isChargeCardEnabled,K=!l.userRole.includes("charge_card_user")&&Z&&L;if(t==null)throw Error("Empty card id is not valid...");const j=d((Y=>Pa(Y,l.companyId))),{creditAccount:h,creditAccountRepayment:H}=d((Y=>ua(Y))),z=te.getZeniOtpTokenForCardHolder(t),D=d((Y=>wt(Y,t,K,Z))),{isAiCfoAccessEnabled:W,onAskAiCfoClick:N}=Fa({mobileExploreReferrer:"Card Detail"});Lt({isDataReady:D.fetchState==="Completed"});const G=d((Y=>ma(Y))),v=D.chargeCard,T=Re(),P=Fe(T?.loggedInUserRoleMap),ae=v?.type.code==="business_physical_debit_card"||v?.type.code==="business_virtual_debit_card",Ce=v?.type.code==="business_physical_debit_card"||v?.type.code==="business_physical_credit_card",X=v?.type.code==="business_virtual_debit_card"||v?.type.code==="business_virtual_credit_card",Te=v?.type.code==="business_virtual_debit_card",Ie=xa(Z,L,P,h,H),re=Ar(ae,D),be=jt(P,G),pe=ea(Z,y,M,L),he=D.depositAccountLimitFetchState.fetchState!=="Completed"&&D.depositAccountLimitFetchState.fetchState!=="In-Progress",oe=d((Y=>da(Y,l.companyId))),J=la(oe.controllers),Se=d((Y=>v?.cardCreatedByUser?.userId!=null?Za(Y.userRoleState,v?.cardCreatedByUser?.userId):void 0)),_e=d((Y=>Se?.accountingClassIDs[0]!=null?Ga(Y.classState,{classId:Se?.accountingClassIDs[0],reportId:"class_list"}):void 0)),fe=d((Y=>v?.cardHolderUser?.userId!=null?Za(Y.userRoleState,v?.cardHolderUser?.userId):void 0)),ve=d((Y=>fe?.accountingClassIDs[0]!=null?Ga(Y.classState,{classId:fe?.accountingClassIDs[0],reportId:"class_list"}):void 0)),Q=l?.userRole,Ze=d((Y=>Ca(Y,!1,y,k).revokeCardInvite)),Ra=Sa(Ze.saveStatus.fetchState);if(r.useEffect((()=>{if(Ra==="In-Progress"&&Ze.saveStatus.fetchState==="Completed"){const Y=na(l.tenantEmailDomain);e(Y)}}),[Ra,Ze.saveStatus.fetchState,e,l.tenantEmailDomain]),r.useEffect((()=>{B&&s===!1&&X&&(f(!0),setTimeout((()=>{a($a()),Te&&a(ze({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[B,s,X,Te]),r.useEffect((()=>{c||D.fetchState==="Completed"||D.fetchState==="In-Progress"||t==null||(p(!0),a(Ia(t,K,Z,!1)))}),[c,D,t,a]),r.useEffect((()=>{!x&&D.fetchState==="Completed"&&D.chargeCard?.connectedAccountId!=null&&ae&&he&&P&&(E(!0),a(zn({depositAccountId:D.chargeCard?.connectedAccountId})))}),[x,D,a,he,P]),r.useEffect((()=>{G.fetchState!=="Completed"&&G.fetchState!=="In-Progress"&&P&&a(_a()),_!=="Completed"&&_!=="In-Progress"&&a(Nn()),D.transactionStatistics.fetchState!=="Completed"&&D.transactionStatistics.fetchState!=="In-Progress"&&a(Qs({chargeCardId:t})),j.fetchState!=="Completed"&&j.fetchState!=="In-Progress"&&a(Da(l.companyId,!0))}),[G.fetchState,a,P,_,D.transactionStatistics.fetchState,j.fetchState]),r.useEffect((()=>{if(!(D.fetchState!=="Completed"||Z&&h.fetchState!=="Completed"||v==null||D.transactionStatistics.fetchState!=="Completed"||ae&&P&&D.depositAccountLimitFetchState.fetchState!=="Completed")){const Y=v.type.code.includes("physical"),ye=Y?v.cardActivationAttemptHistory[0]?.timestamp:v.createTime;ee.trackCardsCardDetailView(J,pe,{cardId:t,cardName:v.cardName,cardType:v.type.code.includes("credit")?"credit":"debit",cardCategory:Y?"physical":"virtual",cardLimit:ba(v.limit.amount),cardLastFourDigits:v.accountLast4,cardStatus:v.status.code,cardAssignedDate:v.createTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:v.providerCardCreateTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:ye?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:v.creditLimitFrequency.name,cardSpentAmount:ba(v.balance.amount),cardAvailableLimit:ba(v.available.amount),cardUtilizationPercent:v.limit.amount>0?Math.round((v.limit.amount-v.available.amount)/v.limit.amount*100):0,cardUtilizationAmount:ba(v.limit.amount-v.available.amount),totalNumberOfDeclinedTransactions:D.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:D.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:D.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:D.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:D.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:D.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:D.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:D.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:D.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:D.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:It(v.cardCreatedByUser,!1),cardIssuedByEmail:v.cardCreatedByUser?.email,cardIssuedByUserId:v.cardCreatedByUser?.userId,cardIssuedByRole:Se?.userRoles,cardIssuedByDepartment:_e?.className},{cardholderName:It(v.cardHolderUser,!1),cardholderEmail:v.cardHolderUser?.email,cardholderRole:fe?.userRoles,cardholderUserId:v.cardHolderUser?.userId,cardholderDepartment:ve?.className},Ie,re)}}),[D.fetchState,D.depositAccountLimitFetchState.fetchState,D.transactionStatistics.fetchState,h.fetchState,P]),u==null)throw Error("Can't access card detail page without signing in...");const it=ta(l),ka=P?[...Et,...Vr]:Et,ra={events:ha(it,ka),eventCallback:(Y,ye,se)=>{se.onEventReceived(Y,ye)},onSubscribed:Y=>{Y.onPusherSubscribed()}},Ea=()=>{if(t!=null&&v!=null){const{ownerName:Y,cardName:ye,utilisation:se,limit:Ge,frequency:Ye,cardColor:$e}=bt(v),Ke=v.cardHolderUserId===u.userId;ee.trackCardsDetailPageViewed(t,Y,ye,se,Ge,Ye,$e,Ke)}};r.useEffect((()=>{if(D.fetchState==="Completed"){const Y=D.chargeCard;if(Y?.status.code==="inactive"||ae&&Y?.isPinSet===!1||Ce&&B){const ye=De(l.tenantEmailDomain,t,u,v,B);e(ye)}}}),[D.fetchState]);const dt=(Y,ye)=>{if(t!=null&&v!=null){const{ownerName:se,cardName:Ge,utilisation:Ye,limit:$e,frequency:Ke}=bt(v),sa=v.cardHolderUserId===u.userId;ee.trackCardsDetailPageClicked(t,se,Ge,Ye,$e,Ke,Y,sa,ye)}},lt=(Y,ye)=>{if(t!=null&&v!=null){const{ownerName:se,cardName:Ge,utilisation:Ye,limit:$e,frequency:Ke}=bt(v),sa=v.cardHolderUserId===u.userId;ee.trackCardsVerifyPopUpClick(t,se,Ge,Ye,$e,Ke,Y,sa,ye)}},ue=h.balance.amount+h.hold.amount,Oa=l.companyChargeCardInfo?.info?.primaryFundingAccount,Aa=j.allFundingAccounts.find((Y=>Y.id===Oa?.accountId)),Ua=D.chargeCard!=null,ja=D.depositAccountLimit!=null;return D.fetchState!=="Error"||Ua?!Ua&&(D.fetchState==="In-Progress"||D.fetchState==="Not-Started")||Ze.saveStatus.fetchState==="In-Progress"||!ja&&ae&&P&&D.depositAccountLimitFetchState.fetchState!=="Completed"?o.jsx(ic,{}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:B}),D.fetchState==="Completed"?o.jsx(Rt,{analytics:ee,onLoad:Ea}):null,b===!0?o.jsx($t,{closeDrawerHandler:()=>m(!1),isPaymentDrawerOpen:b,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,creditAccountSpentAmount:ue,isDebitCardInfoFetchStateCompleted:!ae||!P||D.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!Z||h.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!P||G.fetchState==="Completed",paymentInitiatedDate:H.initiatedRepaymentDate}):null,o.jsx(di,{...ra,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:lt,onFireOnClickAnalytics:dt,isSandboxEnv:Bt(),signedInUser:u,location:n,navigate:e,setIsPaymentOpen:m,cardIssuedByRoles:Se?.userRoles,cardIssuedByDepartmentName:_e?.className,cardHolderRoles:fe?.userRoles,cardHolderDepartmentName:ve?.className,loggedInUserRole:Q,isChargeCardFeatureEnabled:Z,isDebitCardFeatureEnabled:y,isDebitCardSetupEnabled:M,isChargeCardSetupEnabled:L,isCardControlsEnabled:S,isEarlyPayEnabled:F,controllerEmails:J,chargeCardCashbackDetailState:G,productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,classListFetchState:_,primaryFundingAccountDetails:Aa,currentTenant:l,cardProviderId:D.chargeCard?.cardProviderID,cardId:t,creditAccount:h,creditAccountRepayment:H,includeCreditAccountInfo:K,signedInUserToken:z,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:C.documentAiReceiptMaxSizeLimitBytes!=null?C.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:W,onAskAiCfoClick:N})]}):o.jsx(st,{})}const bt=e=>{const a=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,n=e.cardName,t=(e.limit.amount??0)-(e.available.amount??0),s=e.limit.amount,f=e.creditLimitFrequency.name;return{ownerName:a,cardName:n,utilisation:t,cardColor:e.cardColorCode??"",frequency:f,limit:s}},{spendManagement:{chargeCard:{cardsAiCfoHero:{headline:ui,subheadline:mi,pageTitle:Ci}}}}=aa.getLocalizedStrings(),Hr=[pa,ot,Mr,La,Ba,ct,Gt,Yc,Ht,Zt,Vt],pi=new Set(Hr),At=Ut(((e,a,n,t)=>{e(ia(a,n,t,!0))}),400),hi=He.div`
18
+ `,zt=e=>e!=null&&typeof e=="object"?e:null,ce=e=>typeof e=="string"?e:void 0,Me=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,Ya=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 a=e;return typeof a.transaction_id=="string"&&typeof a.amount=="number"&&typeof a.currency_code=="string"&&typeof a.currency_symbol=="string"&&typeof a.direction=="string"&&!!Ya(a.transaction_status)&&!!Ya(a.transaction_type)},Kt=(e,a)=>{const n=e?.card_status;if(!Ya(n))return null;const t=e?.is_locked_by_admin;return{cardId:a,cardStatus:n,isLockedByAdmin:typeof t=="boolean"?t:void 0}},Et=[Lr,Br,Rr,Or,Ur,pa,Vt,ot,Ht,Gt,$t],Vr=[Ba,La],ii=new Set([...Et,...Vr]),gt=aa.getLocalizedStrings().dateFormat,di=Pe((function(e,a){const{includeCreditAccountInfo:n,cardId:t,signedInUserToken:s,isChargeCardFeatureEnabled:f}=a,b=te.getSignedInUser(),m=e.tenantState.currentTenantId,A={userId:b?.userId??"",sessionId:b?.zeniSessionId??"",tenantId:m??""},u=wt(e,t,n,f),l=Js(e,t),B=Xs(e);return{chargeCardDetailView:u,chargeCardsRecurringExpensesState:l,vgsVaultId:nt.cardVaultId,transactionAttachmentsEndpointToFetch:`${kt}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${kt}/card_transaction_attachment`,authParams:A,isSnackbarOpen:B.isSnackbarOpen,cardsEndPoint:`${Sr.cardMicroServiceBaseUrl}`,signedInUserToken:u.twoFAView.token??s,receiptsEmail:Yn(e.tenantState,m)}}),(function(e,a){const{cardId:n,currentTenant:t,navigate:s,location:f,cardProviderId:b,includeCreditAccountInfo:m,setIsPaymentOpen:A,controllerEmails:u,productInformation:l,cashbackInformation:B,primaryFundingAccountDetails:_,creditAccountInformation:C,debitAccountInformation:O,isChargeCardFeatureEnabled:U}=a,{tenantEmailDomain:S}=t;return{onEventReceived:(c,p)=>{(({event:x,data:E,cardId:I,dispatch:k,subscribedEvents:V})=>{const w=zt(E);switch(x){case Ba:case La:return void k(_a(!0));case Lr:{const y=ce(w?.card_id);if(y==null||y!==I)return;const F=ce(w?.transaction_id),i=w?.transaction_status;return F!=null&&Ya(i)?void k(qs({transactionId:F,transactionStatus:i})):void k(oa(I,null,null,!0))}case pa:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=Kt(w,y);return F!=null?void k(vt(F)):void k(ga(I,!0))}case Vt:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=ce(w?.currency_code),i=ce(w?.currency_symbol),g=Me(w?.balance);return F!=null&&i!=null&&g!=null?(k(Ws({cardId:y,currencyCode:F,currencySymbol:i,balance:g,hold:Me(w?.hold),dailyPurchaseSpends:Me(w?.daily_purchase_spends),monthlyPurchaseSpends:Me(w?.monthly_purchase_spends),dailyWithdrawals:Me(w?.daily_withdrawals),monthlyWithdrawals:Me(w?.monthly_withdrawals)})),void k(Qe(!0))):(k(ga(I,!0)),void k(Qe(!0)))}case ot:{const y=ce(w?.currency_code),F=ce(w?.currency_symbol),i=Me(w?.available_amount),g=Me(w?.balance_amount);return y!=null&&F!=null&&i!=null&&g!=null?void k(Ys({currencyCode:y,currencySymbol:F,available:i,balance:g,hold:Me(w?.hold_amount),cashback:Me(w?.cashback_amount)})):void k(Qe(!0))}case Br:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(Ks({cardId:y,transaction:F})):void k(oa(I,null,null,!0))}case Rr:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(zs({cardId:y,declineReason:ce(w?.decline_reason),transaction:F})):void k(oa(I,null,null,!0))}case Or:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(Zs({cardId:y,transaction:F})):void k(oa(I,null,null,!0))}case Ur:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=ce(w?.transaction_id),i=w?.attachment_file_paths;return F!=null&&Array.isArray(i)&&i.every((g=>typeof g=="string"))?void k($s({cardId:y,transactionId:F,attachmentFilePaths:i})):void k(oa(I,null,null,!0))}case Ht:case Gt:case $t:{const y=ce(w?.card_id);if(y==null||y!==I)return;k(ga(I,!0))}}})({event:c,data:p,cardId:n,dispatch:e,subscribedEvents:ii})},onPusherSubscribed:()=>{e(ga(n,!0)),e(oa(n,null,null,!0)),e(Qe(!0))},onReloadTransactions:()=>{e(Ia(n,m,U))},onFetchChargeCardTransactionList:(c,p)=>{e(oa(n,c,p))},onUpdateScrollYOffset:c=>{},onGetOtp:c=>{b!=null&&e(et(c,"ChargeCardHolder",n))},onResendOtp:c=>{b!=null&&e(Xa(c,"ChargeCardHolder",n))},onVerifyOtp:(c,p)=>{b!=null&&e(Ja(c,p,"ChargeCardHolder",n))},onVerifyOtpSuccess:c=>{c!=null&&te.saveZeniOtpTokenForCardHolder(c,n)},onColorCodeChange:c=>{e(so(n,c))},onLockChargeCard:(c,p)=>{e(tr(c,n,p))},onUnlockChargeCard:c=>{e(ar(c,n))},onCloseChargeCard:c=>{e(er(n,c))},onFetchChargeCardsRecurringExpenses:()=>{e(Xn([n]))},updateChargeCardName:(c,p)=>{e(Jn(c,n,p))},updateChargeCardTransactionAttachments:(c,p)=>{p!=null&&e(ro({transactionId:c,data:p}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(c,p,x,E)=>{e(no({chargeCardId:p,transactionId:c,fetchState:x,error:E}))},updateChargeCardTransactionReceiptsShowTick:(c,p,x)=>{e(to({chargeCardId:p,transactionId:c,shouldShowTick:x}))},onChargeCardRevokeInviteClick:()=>{e(Qn(n))},updateChargeCardTransactionIsViewReceiptClicked:(c,p,x)=>{e(ao({chargeCardId:p,transactionId:c,isViewReceiptClicked:x}))},onChargeCardTransactionRowClick:(c,p)=>{const x=Ee(f.state?.pathnameStackToGoBack,f.pathname);s(`../../transaction/${c}/${p}`,{state:{pathnameStackToGoBack:x}})},onBackClick:()=>{const c=we(f.state?.pathnameStackToGoBack),p=na(S);s(p,{state:{pathnameStackToGoBack:c.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(eo())},onUpdateDebitCardPinAttempt:c=>{e(qn(n,c)),c==="success"&&e(Ke({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(c,p)=>{c?e(Ke({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):p!=null&&e(Ke({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:p.message}]}))},updateSpendLimit(c,p,x,E){e(Wn(c,p,x.code,E))},shouldOpenCreditCardPaymentDrawer(c){c&&B!=null&&ee.trackCardsPayEarlyClick(u,l,B,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:t.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:_?.accType==="depositAccount",creditCardPaymentSourceAccountName:_?.label,creditCardPaymentSourceAccountType:_?.accType,creditCardPaymentSourceLastFourDigits:_?.accountLast4,creditCardPaymentSourceBalance:_?.accountBalance?.available?.amount??0},C,O),A(c)}}}))(rt(dc));function li(){const e=ie(),a=le(),n=me(),{cardId:t}=Ve(),[s,f]=r.useState(!1),[b,m]=r.useState(!1),{useDynamicConfig:A}=de(),u=te.getSignedInUser(),l=d((Y=>ge(Y))),B=d((Y=>Wa(Y).firstViewAfterActivation)),_=d((Y=>Y.classListState.fetchState)),{configValue:C}=A(Xe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:O}=A(Xe.zeniCardsConfig),U=O.enable_card_controls_for_company_ids,S=O.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(U)&&U.includes(l.companyId),[c,p]=r.useState(!1),[x,E]=r.useState(!1),{useFeatureGate:I}=de(),{isFeatureEnabled:k}=I(q.isChargeCardFeatureEnabled),{isFeatureEnabled:V}=I(q.isDebitCardFeatureEnabled),w=Be(V,l),y=Oe({isDebitCardFeatureEnabled:V,isBankingOnlyTenant:w}),{isFeatureEnabled:F}=I(q.isEarlyPayFeatureEnabled),i=Le(l),g=xe(l),R=l.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,G=Ue({isCardsOnlyTenant:g,isChargeCardFeatureEnabled:k,isBookKeepingTenant:i,isDebitCardProductVisible:y,chargeCardsCreditAccountLimit:R}),M=!!l.companyDebitCardInfo?.info?.isDebitCardEnabled,L=!!l.companyChargeCardInfo?.info?.isChargeCardEnabled,z=!l.userRole.includes("charge_card_user")&&G&&L;if(t==null)throw Error("Empty card id is not valid...");const j=d((Y=>Pa(Y,l.companyId))),{creditAccount:h,creditAccountRepayment:H}=d((Y=>ua(Y))),K=te.getZeniOtpTokenForCardHolder(t),D=d((Y=>wt(Y,t,z,G))),{isAiCfoAccessEnabled:W,onAskAiCfoClick:N}=Fa({mobileExploreReferrer:"Card Detail"});Lt({isDataReady:D.fetchState==="Completed"});const $=d((Y=>ma(Y))),v=D.chargeCard,T=Re(),P=Fe(T?.loggedInUserRoleMap),ae=v?.type.code==="business_physical_debit_card"||v?.type.code==="business_virtual_debit_card",Ce=v?.type.code==="business_physical_debit_card"||v?.type.code==="business_physical_credit_card",X=v?.type.code==="business_virtual_debit_card"||v?.type.code==="business_virtual_credit_card",Te=v?.type.code==="business_virtual_debit_card",Ie=xa(G,L,P,h,H),re=Ar(ae,D),be=jt(P,$),pe=ea(G,y,M,L),he=D.depositAccountLimitFetchState.fetchState!=="Completed"&&D.depositAccountLimitFetchState.fetchState!=="In-Progress",oe=d((Y=>da(Y,l.companyId))),J=la(oe.controllers),Se=d((Y=>v?.cardCreatedByUser?.userId!=null?Ga(Y.userRoleState,v?.cardCreatedByUser?.userId):void 0)),_e=d((Y=>Se?.accountingClassIDs[0]!=null?$a(Y.classState,{classId:Se?.accountingClassIDs[0],reportId:"class_list"}):void 0)),fe=d((Y=>v?.cardHolderUser?.userId!=null?Ga(Y.userRoleState,v?.cardHolderUser?.userId):void 0)),ve=d((Y=>fe?.accountingClassIDs[0]!=null?$a(Y.classState,{classId:fe?.accountingClassIDs[0],reportId:"class_list"}):void 0)),Q=l?.userRole,Ge=d((Y=>Ca(Y,!1,y,k).revokeCardInvite)),Ra=Sa(Ge.saveStatus.fetchState);if(r.useEffect((()=>{if(Ra==="In-Progress"&&Ge.saveStatus.fetchState==="Completed"){const Y=na(l.tenantEmailDomain);e(Y)}}),[Ra,Ge.saveStatus.fetchState,e,l.tenantEmailDomain]),r.useEffect((()=>{B&&s===!1&&X&&(f(!0),setTimeout((()=>{a(Za()),Te&&a(Ke({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[B,s,X,Te]),r.useEffect((()=>{c||D.fetchState==="Completed"||D.fetchState==="In-Progress"||t==null||(p(!0),a(Ia(t,z,G,!1)))}),[c,D,t,a]),r.useEffect((()=>{!x&&D.fetchState==="Completed"&&D.chargeCard?.connectedAccountId!=null&&ae&&he&&P&&(E(!0),a(Kn({depositAccountId:D.chargeCard?.connectedAccountId})))}),[x,D,a,he,P]),r.useEffect((()=>{$.fetchState!=="Completed"&&$.fetchState!=="In-Progress"&&P&&a(_a()),_!=="Completed"&&_!=="In-Progress"&&a(Nn()),D.transactionStatistics.fetchState!=="Completed"&&D.transactionStatistics.fetchState!=="In-Progress"&&a(Qs({chargeCardId:t})),j.fetchState!=="Completed"&&j.fetchState!=="In-Progress"&&a(Da(l.companyId,!0))}),[$.fetchState,a,P,_,D.transactionStatistics.fetchState,j.fetchState]),r.useEffect((()=>{if(!(D.fetchState!=="Completed"||G&&h.fetchState!=="Completed"||v==null||D.transactionStatistics.fetchState!=="Completed"||ae&&P&&D.depositAccountLimitFetchState.fetchState!=="Completed")){const Y=v.type.code.includes("physical"),ye=Y?v.cardActivationAttemptHistory[0]?.timestamp:v.createTime;ee.trackCardsCardDetailView(J,pe,{cardId:t,cardName:v.cardName,cardType:v.type.code.includes("credit")?"credit":"debit",cardCategory:Y?"physical":"virtual",cardLimit:ba(v.limit.amount),cardLastFourDigits:v.accountLast4,cardStatus:v.status.code,cardAssignedDate:v.createTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:v.providerCardCreateTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:ye?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:v.creditLimitFrequency.name,cardSpentAmount:ba(v.balance.amount),cardAvailableLimit:ba(v.available.amount),cardUtilizationPercent:v.limit.amount>0?Math.round((v.limit.amount-v.available.amount)/v.limit.amount*100):0,cardUtilizationAmount:ba(v.limit.amount-v.available.amount),totalNumberOfDeclinedTransactions:D.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:D.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:D.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:D.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:D.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:D.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:D.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:D.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:D.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:D.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:It(v.cardCreatedByUser,!1),cardIssuedByEmail:v.cardCreatedByUser?.email,cardIssuedByUserId:v.cardCreatedByUser?.userId,cardIssuedByRole:Se?.userRoles,cardIssuedByDepartment:_e?.className},{cardholderName:It(v.cardHolderUser,!1),cardholderEmail:v.cardHolderUser?.email,cardholderRole:fe?.userRoles,cardholderUserId:v.cardHolderUser?.userId,cardholderDepartment:ve?.className},Ie,re)}}),[D.fetchState,D.depositAccountLimitFetchState.fetchState,D.transactionStatistics.fetchState,h.fetchState,P]),u==null)throw Error("Can't access card detail page without signing in...");const it=ta(l),ka=P?[...Et,...Vr]:Et,ra={events:ha(it,ka),eventCallback:(Y,ye,se)=>{se.onEventReceived(Y,ye)},onSubscribed:Y=>{Y.onPusherSubscribed()}},Ea=()=>{if(t!=null&&v!=null){const{ownerName:Y,cardName:ye,utilisation:se,limit:$e,frequency:Ye,cardColor:Ze}=bt(v),ze=v.cardHolderUserId===u.userId;ee.trackCardsDetailPageViewed(t,Y,ye,se,$e,Ye,Ze,ze)}};r.useEffect((()=>{if(D.fetchState==="Completed"){const Y=D.chargeCard;if(Y?.status.code==="inactive"||ae&&Y?.isPinSet===!1||Ce&&B){const ye=De(l.tenantEmailDomain,t,u,v,B);e(ye)}}}),[D.fetchState]);const dt=(Y,ye)=>{if(t!=null&&v!=null){const{ownerName:se,cardName:$e,utilisation:Ye,limit:Ze,frequency:ze}=bt(v),sa=v.cardHolderUserId===u.userId;ee.trackCardsDetailPageClicked(t,se,$e,Ye,Ze,ze,Y,sa,ye)}},lt=(Y,ye)=>{if(t!=null&&v!=null){const{ownerName:se,cardName:$e,utilisation:Ye,limit:Ze,frequency:ze}=bt(v),sa=v.cardHolderUserId===u.userId;ee.trackCardsVerifyPopUpClick(t,se,$e,Ye,Ze,ze,Y,sa,ye)}},ue=h.balance.amount+h.hold.amount,Oa=l.companyChargeCardInfo?.info?.primaryFundingAccount,Aa=j.allFundingAccounts.find((Y=>Y.id===Oa?.accountId)),Ua=D.chargeCard!=null,ja=D.depositAccountLimit!=null;return D.fetchState!=="Error"||Ua?!Ua&&(D.fetchState==="In-Progress"||D.fetchState==="Not-Started")||Ge.saveStatus.fetchState==="In-Progress"||!ja&&ae&&P&&D.depositAccountLimitFetchState.fetchState!=="Completed"?o.jsx(ic,{}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:B}),D.fetchState==="Completed"?o.jsx(Rt,{analytics:ee,onLoad:Ea}):null,b===!0?o.jsx(Zt,{closeDrawerHandler:()=>m(!1),isPaymentDrawerOpen:b,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,creditAccountSpentAmount:ue,isDebitCardInfoFetchStateCompleted:!ae||!P||D.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!G||h.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!P||$.fetchState==="Completed",paymentInitiatedDate:H.initiatedRepaymentDate}):null,o.jsx(di,{...ra,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:lt,onFireOnClickAnalytics:dt,isSandboxEnv:Bt(),signedInUser:u,location:n,navigate:e,setIsPaymentOpen:m,cardIssuedByRoles:Se?.userRoles,cardIssuedByDepartmentName:_e?.className,cardHolderRoles:fe?.userRoles,cardHolderDepartmentName:ve?.className,loggedInUserRole:Q,isChargeCardFeatureEnabled:G,isDebitCardFeatureEnabled:y,isDebitCardSetupEnabled:M,isChargeCardSetupEnabled:L,isCardControlsEnabled:S,isEarlyPayEnabled:F,controllerEmails:J,chargeCardCashbackDetailState:$,productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,classListFetchState:_,primaryFundingAccountDetails:Aa,currentTenant:l,cardProviderId:D.chargeCard?.cardProviderID,cardId:t,creditAccount:h,creditAccountRepayment:H,includeCreditAccountInfo:z,signedInUserToken:K,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:C.documentAiReceiptMaxSizeLimitBytes!=null?C.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:W,onAskAiCfoClick:N})]}):o.jsx(st,{})}const bt=e=>{const a=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,n=e.cardName,t=(e.limit.amount??0)-(e.available.amount??0),s=e.limit.amount,f=e.creditLimitFrequency.name;return{ownerName:a,cardName:n,utilisation:t,cardColor:e.cardColorCode??"",frequency:f,limit:s}},{spendManagement:{chargeCard:{cardsAiCfoHero:{headline:ui,subheadline:mi,pageTitle:Ci}}}}=aa.getLocalizedStrings(),Hr=[pa,ot,Mr,La,Ba,ct,$t,Yc,Ht,Gt,Vt],pi=new Set(Hr),At=Ut(((e,a,n,t)=>{e(ia(a,n,t,!0))}),400),hi=He.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
- `,fi=Pe((function(e,a){const n=Ca(e,a.includeCreditAccountDebitSummaryAndCashbackInfo,a.isDebitCardFeatureEnabled&&a.isDebitCardSetupEnabled,a.isChargeCardFeatureEnabled&&a.isChargeCardSetupEnabled);return{chargeCardListView:n,rowActionView:uo(e),bulkActionView:mo(e),companyLegalName:a.currentTenant.companyName,admins:a.admins,searchText:n.searchText,uiState:n.uiState,signedInUser:a.signedInUser,receiptsEmail:Yn(e.tenantState,a.currentTenant.tenantId)}}),(function(e,a){const{navigateAndClearBulkSelection:n,currentTenant:t,location:s,signedInUser:f,chargeCardListState:b,includeCreditAccountDebitSummaryAndCashbackInfo:m,isChargeCardFeatureEnabled:A,isCreditCardProductVisibleForExpressInterest:u,isChargeCardSetupEnabled:l,isDebitCardFeatureEnabled:B,isDebitCardSetupEnabled:_,isDebitCardTOSAccepted:C,isChargeCardTOSAccepted:O,controllerEmails:U,depositAccountListWithDebitCardIssued:S,primaryFundingAccountDetails:c,chargeCardSetUpViewFetchState:p,productInformation:x,cashbackInformation:E,creditAccountInformation:I,debitAccountInformation:k,updatePayNowInfoTooltip:V,isUserHasCardsAdminLevelAccess:w}=a,{tenantEmailDomain:y}=t,{cards:F}=b;return{onChargeCardRowClick:(i,g)=>{const R=Dr(F,i);let Z;R!=null&&((L=>{const K=L.limit.amount-L.available.amount,j=`${L.cardHolderUser?.firstName.toLowerCase()} ${L.cardHolderUser?.lastName.toLowerCase()}`,h=L.cardName,H=L.department?.className??"",z=L.limit.amount,D=L.creditLimitFrequency.name;ee.trackCardsListRowClicked(j,h,H,K,z,D,f.userId===L.cardHolderUserId)})(R),ca(B,_,S)&&ee.trackCardsCardListRowClick(U,x,"Card Row Item","row_clicked",g+1,{cardOwner:It(R.cardHolderUser,!1),cardName:R.cardName,cardType:R.type.code.includes("credit")?"credit":"debit",cardStatus:R.status.code,cardUtilizationAmount:ba(R.limit.amount-R.available.amount),cardUtilizationPercent:R.limit.amount>0?Math.round((R.limit.amount-R.available.amount)/R.limit.amount*100):0,cardLimit:ba(R.limit.amount)},E,I,k)),Z=R?.status.code==="request_on_hold"&&f.userId===R.cardHolderUserId?Pr(y):De(y,i,f,R);const M=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(Z,{state:{pathnameStackToGoBack:M}})},onFetchChargeCardsRecurringExpenses:i=>{e(Xn(i))},onFetchDepositAccountLimit:i=>{e(zn({depositAccountId:i}))},onChargeCardResendInviteClick:i=>{e(yo(i))},onChargeCardRevokeInviteClick:i=>{e(Qn(i))},onLockChargeCardList:(i,g)=>{e(So(i,g))},onUnlockChargeCardList:i=>{e(bo(i))},onCloseChargeCardList:(i,g)=>{e(go(i,g))},onRevokeChargeCardList:i=>{e(fo(i))},updateChargeCardListSpendLimit(i,g,R){e(ho(i,g,R.code))},onLockChargeCard:(i,g)=>{e(tr(w,i,g))},onUnlockChargeCard:i=>{e(ar(w,i))},onCloseChargeCard:(i,g)=>{e(er(i,g))},onUpdateSpendLimit(i,g,R,Z){e(Wn(i,g,R.code,Z))},updateChargeCardName:(i,g)=>{e(Jn(w,i,g))},onClickSetupIcon:()=>{ee.trackCardsListPageClicked("settings"),ca(B,_,S)&&E!=null&&ee.trackCardsSettingsClick(U,x,E,I,k);const i=Fc(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},onIssueCardClick:()=>{ee.trackCardsListPageClicked("new card"),ca(B,_,S)&&E!=null&&ee.trackCardsNewCardClick(U,x,E,"New Button","card_creation_initiated","Card List",I,k);const i=gi(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},onColumnSortConfigChanged:(i,g)=>{ca(B,_,S)&&E!=null&&ee.trackCardsCardListSortClick(U,x,E,"Sort Icon","sort",i,g==="ascending"?"ASC":"DESC","Cards List",I,k),e(yt({uiState:{sortKey:i,sortOrder:g}}))},onSearchTextChanged:i=>{e(po(i))},onReloadCards:()=>{e(ia(m,B&&_,A&&l,!0))},onLetsGoClick:()=>{n("./onboard")},onBackClick:()=>{n("../../")},onTotalCashbackClick:()=>{ca(B,_,S)&&E!=null&&ee.trackCardsCashbackOverviewClick(U,x,E,"Cashback Overview","cashback_details_viewed",I,k),n("./cashback")},onClickStatementsIcon:()=>{ca(B,_,S)&&E!=null&&ee.trackCardsStatementsClick(U,x,E,I,k),n("./statements")},onCreateNowClick:i=>{ca(B,_,S)&&E!=null&&ee.trackCardsNewCardClick(U,x,E,"Promo Banner","card_creation_initiated","Card List",I,k),n(`./new?cardType=${i}`)},onPromoCardClick:i=>{n(i==="debit"&&B&&!C||i==="credit"&&u&&!O?`../promo?cardPromoType=${i}`:"./setup")},navigateToCreditCardPaymentPage:(i,g)=>{p==="Completed"&&t.company!=null&&E!=null&&ee.trackCardsPayEarlyClick(U,x,E,"Card List",i,g,{isZeniCheckingEnabled:t.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:c?.accType==="depositAccount",creditCardPaymentSourceAccountName:c?.label,creditCardPaymentSourceAccountType:c?.accType,creditCardPaymentSourceLastFourDigits:c?.accountLast4,creditCardPaymentSourceBalance:c?.accountBalance?.available?.amount??0},I,k);const R=bi(y);n(R)},navigateToCreditCardPaymentHistoryPage:()=>{const i=Si(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},shouldShowPayNowInfoTooltip:V,onSetRowActionCardId:i=>{e(Co(i))},onSetBulkActionCardIds:i=>{e(nr(i))},onEventReceived:i=>{pi.has(i)&&At(e,m,B&&_,A&&l)},onPusherSubscribed:()=>{At(e,m,B&&_,A&&l)}}}))(rt(mc));function In({isPaymentDrawerOpen:e}){const a=ie(),n=le(),t=me(),s=r.useCallback((($,je)=>{n(nr([])),a($,je)}),[n,a]),[f,b]=r.useState(!1),[m,A]=r.useState(te.getPayNowInfoTooltip()??!1),u=$=>{te.savePayNowInfoTooltip($),A($)},[l,B]=r.useState(!1),_=te.getSignedInUser(),C=d(($=>ge($))),[O,U]=r.useState(!1),[S,c]=r.useState(!1),{isAiCfoAccessEnabled:p,onAskAiCfoClick:x}=Fa({mobileExploreReferrer:"Cards"}),E=C.userRole.includes("charge_card_user"),I=!E,k=!!C.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:V,useDynamicConfig:w}=de(),{isFeatureEnabled:y}=V(q.isCashbackFeatureEnabled),{isFeatureEnabled:F}=V(q.isChargeCardFeatureEnabled),{isFeatureEnabled:i}=V(q.isDebitCardFeatureEnabled),{isFeatureEnabled:g}=V(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:R}=V(q.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:Z}=V(q.isAiCfoFileUploadEnabled),{isFeatureEnabled:M}=V(q.isCardPolicyEnabled),{isFeatureEnabled:L}=V(q.isAiCardCreationEnabled),K=Be(i,C),j=Oe({isDebitCardFeatureEnabled:i,isBankingOnlyTenant:K}),h=xe(C),H=Le(C),z=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Ue({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:z}),W=_r({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H}),{configValue:N}=w(Xe.zeniCardsConfig),G=Re(),v=Fe(G?.loggedInUserRoleMap),T=d(($=>da($,C.companyId))),P=la(T.controllers),ae=N.charge_card_cashback_rate_per_transaction!=null?N.charge_card_cashback_rate_per_transaction:.0175,Ce=N.credit_card_pay_now_threshold_by_company_id?.[C.companyId]??N.default_credit_card_pay_now_threshold??vc,X=N.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(N.enable_card_controls_for_company_ids)&&N.enable_card_controls_for_company_ids.includes(C.companyId),Te=!!C.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,Ie=!!C.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!C.companyChargeCardInfo?.info?.isChargeCardEnabled,be=!!C.company?.companyChargeCardInfo?.isChargeCardEnabled,pe=!!C.company?.companyDebitCardInfo?.isDebitCardEnabled,he=d(($=>Zn($))),oe=Sa(he.updateStatus),J=d(($=>Ca($,I,j&&k,D&&re))),Se=d(($=>oo($))),_e=d(($=>co($))),fe=d(($=>io($))),ve=d(($=>lo($))),Q=d(($=>fe==null?[]:Mn($.aiCfoState,fe).filter((je=>je.kind==="creating_cards"))),_t),Ze=Sa(_e.fetchState);r.useEffect((()=>{Ze==="In-Progress"&&_e.fetchState==="Completed"&&fe!=null&&Q.forEach(($=>{n(St({chatSessionId:fe,id:$.id,entityIds:ve,kind:"created_cards"}))}))}),[n,_e.fetchState,fe,ve,Q,Ze]);const Ra=J.cards.filter(($=>$.type.code.includes("debit"))).map(($=>$.connectedAccountId)),it=[...new Set(Ra)],ka=d(($=>ma($))),ra=d(($=>at($,it))),Ea=d(($=>Pa($,C.companyId))),dt=Ea.companyChargeCardInfo?.primaryFundingAccount,lt=Ea.allFundingAccounts.find(($=>$.id===dt?.accountId)),ue=J.fetchState,Oa=J.creditAccount,Aa=r.useCallback((()=>v===!0&&M===!0&&ue==="Completed"&&te.getCardPolicyPopupSeen(C.tenantEmailDomain??"")!==!0),[v,M,ue,C.tenantEmailDomain]),[Ua,ja]=r.useState(Aa);r.useEffect((()=>{ja(Aa())}),[Aa]);const Y=()=>{te.saveCardPolicyPopupSeen(C.tenantEmailDomain??"",!0),ja(!1)},ye=ue==="Completed"&&!J.hasCreditCard&&!J.hasDebitCard;lc({isDataReady:ue==="Completed",pageContext:ye?"cards_creation":"cards"});const{creditAccountRepayment:se}=d(($=>ua($))),Ge=d(($=>Wa($).firstViewAfterActivation)),{areTenantIdsInSync:Ye}=yr(),$e=jt(v,ka),Ke=xa(D,re,v,Oa,se),sa=Mt(j,k,v,ra,J.debitCardSummary),ut=ea(D,j,k,re),mt=J.creditAccount.balance.amount+J.creditAccount.hold.amount;if(r.useEffect((()=>{ue==="Completed"&&(te.getPayNowInfoTooltip()==null||mt<Ce*J.creditAccount.limit.amount/100)&&u(!0)}),[ue,Ce,mt,J.creditAccount.limit.amount]),r.useEffect((()=>{if(e!=null&&e===!0&&se.initiatedRepayments.amount===0&&se.fetchState==="Completed"||oe==="In-Progress"&&he.updateStatus==="Completed")u(!1),b(!0);else if(se.initiatedRepayments.amount>0&&se.fetchState==="Completed"){b(!1),document.body.style.overflow="auto";const $=na(C.tenantEmailDomain);s($)}}),[e,se.initiatedRepayments.amount,se.fetchState,oe,he.updateStatus,s,C.tenantEmailDomain]),r.useEffect((()=>{!O&&(re||k)&&(be||pe)&&Ye&&(U(!0),n(ia(I,j&&k,D&&re,!1)))}),[O,I,n,Ye,be,pe]),r.useEffect((()=>{Ge&&l===!1&&(B(!0),setTimeout((()=>{n($a())}),5e3))}),[Ge,l]),r.useEffect((()=>()=>{At.flush()}),[]),r.useEffect((()=>{ue==="Completed"&&E&&J.cards.length===1&&(J.cards[0].status.code==="inactive"&&J.cards[0].type.code==="business_physical_credit_card"?s(`./${J.cards[0].id}/activate`):J.cards[0].status.code!=="request_on_hold"&&(t.state?.message==="comingFromCardDetail"?s("../../"):s(`./${J.cards[0].id}`)))}),[ue,E,t.state,s,J.cards]),r.useEffect((()=>{if(ue==="Completed"&&E){const $=J.cards.length,je=J.cards.filter((We=>We.cardHolderUserId===_?.userId)).filter((We=>We.status.code==="request_on_hold"));je.length>0&&$===je.length&&s("./onboard")}}),[ue,J.cards,E,s,_?.userId]),r.useEffect((()=>{ue!=="Completed"||D&&se.fetchState!=="Completed"||j&&k&&v&&ra.fetchState!=="Completed"||ee.trackCardsCardListView(P,ut,$e,Ke,sa)}),[ue,Oa,se.fetchState,ra.fetchState,v]),_==null)throw Error("Can't access charge card list page without signing in...");const Kr=d(($=>rr($.userState,$.userRoleState,$.userListViewState,"cardAdmin"))),Yt=Ft(G?.loggedInUserRoleMap),Wt=$=>{c($)},zr=J.creditAccount.limit,Yr=()=>{b(!1),s("..")},Wr=C.companyChargeCardInfo?.info!=null&&ya({cardInfo:C.companyChargeCardInfo.info,isProductVisible:D&&be,isTOSAccepted:Te,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:Yt}),qr=C.companyDebitCardInfo?.info!=null&&ya({cardInfo:C.companyDebitCardInfo.info,isProductVisible:j&&pe,isTOSAccepted:Ie,isSetupEnabled:k,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:Yt}),Qr=Wr||qr,qt=(function($){const{isEmptyCardsState:je,isChargeCardAdmin:We,isFileUploadEnabled:en}=$,an=ie(),Ma=me(),{tenantEmailDomain:Na}=Ve(),{isAiCfoOpen:ts,setIsAiCfoOpen:tn}=hr(),ns=fr(),rs=gr(),nn=d((ke=>jn(ke))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:rn,isResolved:sn}=xr("cards_creation"),on=r.useMemo((()=>Fr(rn,sn,3)),[rn,sn]),[Va,Ct]=r.useState(""),cn=rs&&ns&&Na!=null&&!ts,fa=r.useCallback((ke=>{if(Na==null)return;const ss=Ee(Ma.state?.pathnameStackToGoBack,Ma.pathname);an(`/${Na}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:ss,referrer:"cards_hero",aiCfoInitialQuestion:ke,aiCfoShouldSubmit:ke!=null&&ke.trim().length>0}})}),[Ma.pathname,Ma.state,an,Na]),dn=r.useCallback((ke=>{ke.trim().length!==0&&(Ct(""),fa(ke))}),[fa]),ln=r.useCallback((()=>{const ke=Va.trim();ke.length!==0&&(Ct(""),fa(ke))}),[Va,fa]),un=r.useCallback((()=>{}),[]),mn=r.useCallback((ke=>{Ct(ke)}),[]),Cn=r.useCallback((()=>{tn(!0)}),[tn]),pn=r.useCallback((()=>{fa(void 0)}),[fa]);return r.useMemo((()=>{if(cn&&je&&We)return{aiAgentName:Ci,headline:ui,subheadline:mi,promptChips:on,composer:{currentInput:Va,isSubmitting:nn,isFileUploadEnabled:en,onInputChange:mn,onSubmit:ln,onStopSubmit:un},onPromptClick:dn,onOpenSidePanel:Cn,onOpenFullView:pn,dataTestIdPrefix:"cards-ai-cfo-hero"}}),[Va,cn,We,je,en,nn,mn,pn,Cn,dn,un,ln,on])})({isEmptyCardsState:ye,isChargeCardAdmin:v,isFileUploadEnabled:Z}),Qt=L&&qt!=null?o.jsx(br,{...qt}):null,{isCardsShuttingDown:Jt,shutdownContent:Xt}=Ir(C.tenantId,C.company?.managementInfo?.receiverEmails),Jr=Jt===!0&&Xt!=null?o.jsx(uc,{shutdownContent:Xt}):null,Xr=p&&Qt==null,es=ta(C),as={events:ha(es,Hr),eventCallback:($,je,We)=>{We.onEventReceived($)},onSubscribed:$=>{$.onPusherSubscribed()}};return re||k?o.jsxs(o.Fragment,{children:[ue==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{ee.trackPageLoaded(kr.Event.cardsListPage),(D&&!re||j&&!k)&&ee.trackCardsPromoView(P,{isCreditCardOffered:D,isDebitCardOffered:j,isDebitCardEnabled:k,isCreditCardEnabled:re},"Banner",j&&!k?"Debit Card":D&&!re?"Credit Card":"","Card List")}}),o.jsx(tt,{showConfetti:Ge})]}):null,f===!0?o.jsx($t,{closeDrawerHandler:Yr,isPaymentDrawerOpen:f,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:mt,productInformation:ut,creditAccountInformation:Ke,debitAccountInformation:sa,cashbackInformation:$e,isDebitCardInfoFetchStateCompleted:!(j&&k&&v)||ra.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!D||se.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!v||ka.fetchState==="Completed",paymentInitiatedDate:se.initiatedRepaymentDate}):null,o.jsxs(hi,{children:[o.jsx(Ae,{isAppContentDrawerOpen:S,handleDrawerToggle:Wt}),o.jsx(fi,{...as,isCashbackFeatureEnabled:y,isChargeCardFeatureEnabled:D,isDebitCardFeatureEnabled:j,isCreditCardProductVisibleForExpressInterest:W,updatePayNowInfoTooltip:u,showPayNowInfoTooltip:m,creditCardPayNowThreshold:Ce,signedInUser:_,chargeCardListState:J,location:t,admins:Kr.users,navigateAndClearBulkSelection:s,currentTenant:C,isCardControlsEnabled:X,companyChargeCardInfoCreditAccountLimit:C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:C.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:v,includeCreditAccountDebitSummaryAndCashbackInfo:I,onClickMenuIcon:()=>{Wt(!0)},creditLimit:zr,isChargeCardSetupEnabled:re,isChargeCardEnabledOnCompany:be,isDebitCardSetupEnabled:k,isDebitCardEnabledOnCompany:pe,isEarlyPayEnabled:g,isChargeCardPaymentHistoryFeatureEnabled:R,cashbackRate:ae,controllerEmails:P,chargeCardCashbackDetailState:ka,depositAccountListWithDebitCardIssued:ra,isChargeCardTOSAccepted:Te,isDebitCardTOSAccepted:Ie,primaryFundingAccountDetails:lt,chargeCardSetUpViewFetchState:Ea.fetchState,productInformation:ut,creditAccountInformation:Ke,debitAccountInformation:sa,cashbackInformation:$e,isAiCfoAccessEnabled:Xr,onAskAiCfoClick:x,cardsAiCfoHero:Qt,cardsShutdownBanner:Jr,isCardsShuttingDown:Jt,onClickPolicyIcon:v&&M?()=>a(yi(C.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:Ua,onPolicyIntroTooltipClose:Y,pendingCreationCount:Se})]})]}):(Te||Ie)&&v===!0?o.jsx(Je,{to:"../setup"}):Qr?o.jsx(Je,{to:"../promo"}):o.jsx(wa,{fetchState:ue})}const gi=e=>`/${e}/cards/new`,bi=e=>`/${e}/cards/payment`,Si=e=>`/${e}/cards/payment-history`,yi=e=>`/${e}/cards/policy`,Zr=[jr,Mr],Ii=new Set(Zr),ki=Pe((function(e){const a=te.getSignedInUser(),n=ge(e),t=e.tenantState.currentTenantId,s=sr(e),f={userId:a?.userId??"",sessionId:a?.zeniSessionId??"",tenantId:t??""},b=n?.companyName??"",m=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:s.fetchState,filters:s.filters,isZeniTenant:Io(n),repaymentList:s.repaymentHistory,searchText:s.searchText,repaymentHistoryUsers:s.repaymentHistoryUsers,sortConfig:{sortKey:s.uiState.sortKey,sortOrder:s.uiState.sortOrder},downloadParams:{authParams:f,companyName:b,spendManagementEndPoint:`${kt}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:m}}),(function(e,a){const{location:n,navigate:t}=a;return{onBackClick:()=>{const s=we(n.state?.pathnameStackToGoBack),f=s.poppedPathname??"..";t(f,{state:{pathnameStackToGoBack:s.newStack}})},onColumnSortConfigChanged:(s,f)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:s,sortOrder:f}}})},onFiltersChange:s=>{e(Eo({filters:s}))},onReloadPayments:()=>{e(Ha(!0))},onEventReceived:s=>{Ii.has(s)&&e(Ha(!0))},onPusherSubscribed:()=>{e(Ha(!0))},onSearchTextChanged:s=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:s})},updateDownloadStateHandler:s=>{e(ko({uiState:{downloadState:s}}))}}}))(rt(Cc));function Ei(){const e=ie(),a=me(),n=le(),{areTenantIdsInSync:t}=yr(),{useFeatureGate:s}=de();if(te.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const f=d((T=>ge(T))),b=d((T=>sr(T))),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,_]=r.useState(!1),[C,O]=r.useState(null),U=!f.userRole.includes("charge_card_user"),S=!!f.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:c}=s(q.isChargeCardFeatureEnabled),{isFeatureEnabled:p}=s(q.isDebitCardFeatureEnabled),x=Be(p,f),E=Oe({isDebitCardFeatureEnabled:p,isBankingOnlyTenant:x}),I=xe(f),k=Le(f),V=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,w=Ue({isCardsOnlyTenant:I,isChargeCardFeatureEnabled:c,isBookKeepingTenant:k,isDebitCardProductVisible:E,chargeCardsCreditAccountLimit:V}),y=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,F=Re(),i=Fe(F?.loggedInUserRoleMap),g=d((T=>Ca(T,U,E&&S,w&&y))),R=r.useMemo((()=>{const T=g.cards.filter((P=>P.type.code.includes("debit")));return[...new Set(T.map((P=>P.connectedAccountId)))]}),[g.cards]),Z=d((T=>ma(T))),M=d((T=>at(T,R))),{creditAccountRepayment:L}=d((T=>ua(T))),K=r.useMemo((()=>jt(i,Z)),[i,Z]),j=r.useMemo((()=>xa(w,y,i,g.creditAccount,L)),[w,y,i,g.creditAccount,L]),h=r.useMemo((()=>Mt(E,S,i,M,g.debitCardSummary)),[E,S,i,M,g.debitCardSummary]),H=r.useMemo((()=>ea(w,E,S,y)),[w,E,S,y]),z=g.creditAccount.balance.amount+g.creditAccount.hold.amount,D=r.useMemo((()=>C!=null?b.repaymentHistory.find((T=>T.cardRepaymentId===C)):void 0),[C,b.repaymentHistory]),W=r.useCallback((T=>{O(T),n(ia(U,E&&S,w&&y,!1)),_(!0)}),[n,U,E,S,w,y]),N=r.useCallback((()=>{_(!1),O(null),document.body.style.overflow="auto"}),[]);r.useEffect((()=>{m||b.fetchState==="Completed"||b.fetchState==="In-Progress"||(A(!0),n(Ha()))}),[m,n,b.fetchState]),r.useEffect((()=>{!u&&(y||S)&&t&&(l(!0),n(ia(U,!1,w&&y,!1)))}),[u,y,S,t,n,U,w]);const G=ta(f),v={events:ha(G,Zr),eventCallback:(T,P,ae)=>{ae.onEventReceived(T)},onSubscribed:T=>{T.onPusherSubscribed()}};return o.jsxs(o.Fragment,{children:[B?o.jsx($t,{closeDrawerHandler:N,isPaymentDrawerOpen:B,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:z,productInformation:H,creditAccountInformation:j,debitAccountInformation:h,cashbackInformation:K,isDebitCardInfoFetchStateCompleted:!(E&&S&&i)||M.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!w||L.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!i||Z.fetchState==="Completed",paymentInitiatedDate:L.initiatedRepaymentDate,retryRepayment:D}):null,o.jsx(ki,{...v,location:a,navigate:e,accountInfoByAccountId:b.accountInfoByAccountId,onRetryPaymentClick:W})]})}const kn=He.div`
25
+ `,fi=Pe((function(e,a){const n=Ca(e,a.includeCreditAccountDebitSummaryAndCashbackInfo,a.isDebitCardFeatureEnabled&&a.isDebitCardSetupEnabled,a.isChargeCardFeatureEnabled&&a.isChargeCardSetupEnabled);return{chargeCardListView:n,rowActionView:uo(e),bulkActionView:mo(e),companyLegalName:a.currentTenant.companyName,admins:a.admins,searchText:n.searchText,uiState:n.uiState,signedInUser:a.signedInUser,receiptsEmail:Yn(e.tenantState,a.currentTenant.tenantId)}}),(function(e,a){const{navigateAndClearBulkSelection:n,currentTenant:t,location:s,signedInUser:f,chargeCardListState:b,includeCreditAccountDebitSummaryAndCashbackInfo:m,isChargeCardFeatureEnabled:A,isCreditCardProductVisibleForExpressInterest:u,isChargeCardSetupEnabled:l,isDebitCardFeatureEnabled:B,isDebitCardSetupEnabled:_,isDebitCardTOSAccepted:C,isChargeCardTOSAccepted:O,controllerEmails:U,depositAccountListWithDebitCardIssued:S,primaryFundingAccountDetails:c,chargeCardSetUpViewFetchState:p,productInformation:x,cashbackInformation:E,creditAccountInformation:I,debitAccountInformation:k,updatePayNowInfoTooltip:V,isUserHasCardsAdminLevelAccess:w}=a,{tenantEmailDomain:y}=t,{cards:F}=b;return{onChargeCardRowClick:(i,g)=>{const R=Dr(F,i);let G;R!=null&&((L=>{const z=L.limit.amount-L.available.amount,j=`${L.cardHolderUser?.firstName.toLowerCase()} ${L.cardHolderUser?.lastName.toLowerCase()}`,h=L.cardName,H=L.department?.className??"",K=L.limit.amount,D=L.creditLimitFrequency.name;ee.trackCardsListRowClicked(j,h,H,z,K,D,f.userId===L.cardHolderUserId)})(R),ca(B,_,S)&&ee.trackCardsCardListRowClick(U,x,"Card Row Item","row_clicked",g+1,{cardOwner:It(R.cardHolderUser,!1),cardName:R.cardName,cardType:R.type.code.includes("credit")?"credit":"debit",cardStatus:R.status.code,cardUtilizationAmount:ba(R.limit.amount-R.available.amount),cardUtilizationPercent:R.limit.amount>0?Math.round((R.limit.amount-R.available.amount)/R.limit.amount*100):0,cardLimit:ba(R.limit.amount)},E,I,k)),G=R?.status.code==="request_on_hold"&&f.userId===R.cardHolderUserId?Pr(y):De(y,i,f,R);const M=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(G,{state:{pathnameStackToGoBack:M}})},onFetchChargeCardsRecurringExpenses:i=>{e(Xn(i))},onFetchDepositAccountLimit:i=>{e(Kn({depositAccountId:i}))},onChargeCardResendInviteClick:i=>{e(yo(i))},onChargeCardRevokeInviteClick:i=>{e(Qn(i))},onLockChargeCardList:(i,g)=>{e(So(i,g))},onUnlockChargeCardList:i=>{e(bo(i))},onCloseChargeCardList:(i,g)=>{e(go(i,g))},onRevokeChargeCardList:i=>{e(fo(i))},updateChargeCardListSpendLimit(i,g,R){e(ho(i,g,R.code))},onLockChargeCard:(i,g)=>{e(tr(w,i,g))},onUnlockChargeCard:i=>{e(ar(w,i))},onCloseChargeCard:(i,g)=>{e(er(i,g))},onUpdateSpendLimit(i,g,R,G){e(Wn(i,g,R.code,G))},updateChargeCardName:(i,g)=>{e(Jn(w,i,g))},onClickSetupIcon:()=>{ee.trackCardsListPageClicked("settings"),ca(B,_,S)&&E!=null&&ee.trackCardsSettingsClick(U,x,E,I,k);const i=Fc(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},onIssueCardClick:()=>{ee.trackCardsListPageClicked("new card"),ca(B,_,S)&&E!=null&&ee.trackCardsNewCardClick(U,x,E,"New Button","card_creation_initiated","Card List",I,k);const i=gi(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},onColumnSortConfigChanged:(i,g)=>{ca(B,_,S)&&E!=null&&ee.trackCardsCardListSortClick(U,x,E,"Sort Icon","sort",i,g==="ascending"?"ASC":"DESC","Cards List",I,k),e(yt({uiState:{sortKey:i,sortOrder:g}}))},onSearchTextChanged:i=>{e(po(i))},onReloadCards:()=>{e(ia(m,B&&_,A&&l,!0))},onLetsGoClick:()=>{n("./onboard")},onBackClick:()=>{n("../../")},onTotalCashbackClick:()=>{ca(B,_,S)&&E!=null&&ee.trackCardsCashbackOverviewClick(U,x,E,"Cashback Overview","cashback_details_viewed",I,k),n("./cashback")},onClickStatementsIcon:()=>{ca(B,_,S)&&E!=null&&ee.trackCardsStatementsClick(U,x,E,I,k),n("./statements")},onCreateNowClick:i=>{ca(B,_,S)&&E!=null&&ee.trackCardsNewCardClick(U,x,E,"Promo Banner","card_creation_initiated","Card List",I,k),n(`./new?cardType=${i}`)},onPromoCardClick:i=>{n(i==="debit"&&B&&!C||i==="credit"&&u&&!O?`../promo?cardPromoType=${i}`:"./setup")},navigateToCreditCardPaymentPage:(i,g)=>{p==="Completed"&&t.company!=null&&E!=null&&ee.trackCardsPayEarlyClick(U,x,E,"Card List",i,g,{isZeniCheckingEnabled:t.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:c?.accType==="depositAccount",creditCardPaymentSourceAccountName:c?.label,creditCardPaymentSourceAccountType:c?.accType,creditCardPaymentSourceLastFourDigits:c?.accountLast4,creditCardPaymentSourceBalance:c?.accountBalance?.available?.amount??0},I,k);const R=bi(y);n(R)},navigateToCreditCardPaymentHistoryPage:()=>{const i=Si(y),g=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(i,{state:{pathnameStackToGoBack:g}})},shouldShowPayNowInfoTooltip:V,onSetRowActionCardId:i=>{e(Co(i))},onSetBulkActionCardIds:i=>{e(nr(i))},onEventReceived:i=>{pi.has(i)&&At(e,m,B&&_,A&&l)},onPusherSubscribed:()=>{At(e,m,B&&_,A&&l)}}}))(rt(mc));function In({isPaymentDrawerOpen:e}){const a=ie(),n=le(),t=me(),s=r.useCallback(((Z,je)=>{n(nr([])),a(Z,je)}),[n,a]),[f,b]=r.useState(!1),[m,A]=r.useState(te.getPayNowInfoTooltip()??!1),u=Z=>{te.savePayNowInfoTooltip(Z),A(Z)},[l,B]=r.useState(!1),_=te.getSignedInUser(),C=d((Z=>ge(Z))),[O,U]=r.useState(!1),[S,c]=r.useState(!1),{isAiCfoAccessEnabled:p,onAskAiCfoClick:x}=Fa({mobileExploreReferrer:"Cards"}),E=C.userRole.includes("charge_card_user"),I=!E,k=!!C.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:V,useDynamicConfig:w}=de(),{isFeatureEnabled:y}=V(q.isCashbackFeatureEnabled),{isFeatureEnabled:F}=V(q.isChargeCardFeatureEnabled),{isFeatureEnabled:i}=V(q.isDebitCardFeatureEnabled),{isFeatureEnabled:g}=V(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:R}=V(q.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:G}=V(q.isAiCfoFileUploadEnabled),{isFeatureEnabled:M}=V(q.isCardPolicyEnabled),{isFeatureEnabled:L}=V(q.isAiCardCreationEnabled),z=Be(i,C),j=Oe({isDebitCardFeatureEnabled:i,isBankingOnlyTenant:z}),h=xe(C),H=Le(C),K=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Ue({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:K}),W=_r({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H}),{configValue:N}=w(Xe.zeniCardsConfig),$=Re(),v=Fe($?.loggedInUserRoleMap),T=d((Z=>da(Z,C.companyId))),P=la(T.controllers),ae=N.charge_card_cashback_rate_per_transaction!=null?N.charge_card_cashback_rate_per_transaction:.0175,Ce=N.credit_card_pay_now_threshold_by_company_id?.[C.companyId]??N.default_credit_card_pay_now_threshold??vc,X=N.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(N.enable_card_controls_for_company_ids)&&N.enable_card_controls_for_company_ids.includes(C.companyId),Te=!!C.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,Ie=!!C.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!C.companyChargeCardInfo?.info?.isChargeCardEnabled,be=!!C.company?.companyChargeCardInfo?.isChargeCardEnabled,pe=!!C.company?.companyDebitCardInfo?.isDebitCardEnabled,he=d((Z=>Gn(Z))),oe=Sa(he.updateStatus),J=d((Z=>Ca(Z,I,j&&k,D&&re))),Se=d((Z=>oo(Z))),_e=d((Z=>co(Z))),fe=d((Z=>io(Z))),ve=d((Z=>lo(Z))),Q=d((Z=>fe==null?[]:Mn(Z.aiCfoState,fe).filter((je=>je.kind==="creating_cards"))),_t),Ge=Sa(_e.fetchState);r.useEffect((()=>{Ge==="In-Progress"&&_e.fetchState==="Completed"&&fe!=null&&Q.forEach((Z=>{n(St({chatSessionId:fe,id:Z.id,entityIds:ve,kind:"created_cards"}))}))}),[n,_e.fetchState,fe,ve,Q,Ge]);const Ra=J.cards.filter((Z=>Z.type.code.includes("debit"))).map((Z=>Z.connectedAccountId)),it=[...new Set(Ra)],ka=d((Z=>ma(Z))),ra=d((Z=>at(Z,it))),Ea=d((Z=>Pa(Z,C.companyId))),dt=Ea.companyChargeCardInfo?.primaryFundingAccount,lt=Ea.allFundingAccounts.find((Z=>Z.id===dt?.accountId)),ue=J.fetchState,Oa=J.creditAccount,Aa=r.useCallback((()=>v===!0&&M===!0&&ue==="Completed"&&te.getCardPolicyPopupSeen(C.tenantEmailDomain??"")!==!0),[v,M,ue,C.tenantEmailDomain]),[Ua,ja]=r.useState(Aa);r.useEffect((()=>{ja(Aa())}),[Aa]);const Y=()=>{te.saveCardPolicyPopupSeen(C.tenantEmailDomain??"",!0),ja(!1)},ye=ue==="Completed"&&!J.hasCreditCard&&!J.hasDebitCard;lc({isDataReady:ue==="Completed",pageContext:ye?"cards_creation":"cards"});const{creditAccountRepayment:se}=d((Z=>ua(Z))),$e=d((Z=>Wa(Z).firstViewAfterActivation)),{areTenantIdsInSync:Ye}=yr(),Ze=jt(v,ka),ze=xa(D,re,v,Oa,se),sa=Mt(j,k,v,ra,J.debitCardSummary),ut=ea(D,j,k,re),mt=J.creditAccount.balance.amount+J.creditAccount.hold.amount;if(r.useEffect((()=>{ue==="Completed"&&(te.getPayNowInfoTooltip()==null||mt<Ce*J.creditAccount.limit.amount/100)&&u(!0)}),[ue,Ce,mt,J.creditAccount.limit.amount]),r.useEffect((()=>{if(e!=null&&e===!0&&se.initiatedRepayments.amount===0&&se.fetchState==="Completed"||oe==="In-Progress"&&he.updateStatus==="Completed")u(!1),b(!0);else if(se.initiatedRepayments.amount>0&&se.fetchState==="Completed"){b(!1),document.body.style.overflow="auto";const Z=na(C.tenantEmailDomain);s(Z)}}),[e,se.initiatedRepayments.amount,se.fetchState,oe,he.updateStatus,s,C.tenantEmailDomain]),r.useEffect((()=>{!O&&(re||k)&&(be||pe)&&Ye&&(U(!0),n(ia(I,j&&k,D&&re,!1)))}),[O,I,n,Ye,be,pe]),r.useEffect((()=>{$e&&l===!1&&(B(!0),setTimeout((()=>{n(Za())}),5e3))}),[$e,l]),r.useEffect((()=>()=>{At.flush()}),[]),r.useEffect((()=>{ue==="Completed"&&E&&J.cards.length===1&&(J.cards[0].status.code==="inactive"&&J.cards[0].type.code==="business_physical_credit_card"?s(`./${J.cards[0].id}/activate`):J.cards[0].status.code!=="request_on_hold"&&(t.state?.message==="comingFromCardDetail"?s("../../"):s(`./${J.cards[0].id}`)))}),[ue,E,t.state,s,J.cards]),r.useEffect((()=>{if(ue==="Completed"&&E){const Z=J.cards.length,je=J.cards.filter((We=>We.cardHolderUserId===_?.userId)).filter((We=>We.status.code==="request_on_hold"));je.length>0&&Z===je.length&&s("./onboard")}}),[ue,J.cards,E,s,_?.userId]),r.useEffect((()=>{ue!=="Completed"||D&&se.fetchState!=="Completed"||j&&k&&v&&ra.fetchState!=="Completed"||ee.trackCardsCardListView(P,ut,Ze,ze,sa)}),[ue,Oa,se.fetchState,ra.fetchState,v]),_==null)throw Error("Can't access charge card list page without signing in...");const zr=d((Z=>rr(Z.userState,Z.userRoleState,Z.userListViewState,"cardAdmin"))),Yt=Ft($?.loggedInUserRoleMap),Wt=Z=>{c(Z)},Kr=J.creditAccount.limit,Yr=()=>{b(!1),s("..")},Wr=C.companyChargeCardInfo?.info!=null&&ya({cardInfo:C.companyChargeCardInfo.info,isProductVisible:D&&be,isTOSAccepted:Te,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:Yt}),qr=C.companyDebitCardInfo?.info!=null&&ya({cardInfo:C.companyDebitCardInfo.info,isProductVisible:j&&pe,isTOSAccepted:Ie,isSetupEnabled:k,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:Yt}),Qr=Wr||qr,qt=(function(Z){const{isEmptyCardsState:je,isChargeCardAdmin:We,isFileUploadEnabled:en}=Z,an=ie(),Ma=me(),{tenantEmailDomain:Na}=Ve(),{isAiCfoOpen:ts,setIsAiCfoOpen:tn}=hr(),ns=fr(),rs=gr(),nn=d((ke=>jn(ke))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:rn,isResolved:sn}=xr("cards_creation"),on=r.useMemo((()=>Fr(rn,sn,3)),[rn,sn]),[Va,Ct]=r.useState(""),cn=rs&&ns&&Na!=null&&!ts,fa=r.useCallback((ke=>{if(Na==null)return;const ss=Ee(Ma.state?.pathnameStackToGoBack,Ma.pathname);an(`/${Na}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:ss,referrer:"cards_hero",aiCfoInitialQuestion:ke,aiCfoShouldSubmit:ke!=null&&ke.trim().length>0}})}),[Ma.pathname,Ma.state,an,Na]),dn=r.useCallback((ke=>{ke.trim().length!==0&&(Ct(""),fa(ke))}),[fa]),ln=r.useCallback((()=>{const ke=Va.trim();ke.length!==0&&(Ct(""),fa(ke))}),[Va,fa]),un=r.useCallback((()=>{}),[]),mn=r.useCallback((ke=>{Ct(ke)}),[]),Cn=r.useCallback((()=>{tn(!0)}),[tn]),pn=r.useCallback((()=>{fa(void 0)}),[fa]);return r.useMemo((()=>{if(cn&&je&&We)return{aiAgentName:Ci,headline:ui,subheadline:mi,promptChips:on,composer:{currentInput:Va,isSubmitting:nn,isFileUploadEnabled:en,onInputChange:mn,onSubmit:ln,onStopSubmit:un},onPromptClick:dn,onOpenSidePanel:Cn,onOpenFullView:pn,dataTestIdPrefix:"cards-ai-cfo-hero"}}),[Va,cn,We,je,en,nn,mn,pn,Cn,dn,un,ln,on])})({isEmptyCardsState:ye,isChargeCardAdmin:v,isFileUploadEnabled:G}),Qt=L&&qt!=null?o.jsx(br,{...qt}):null,{isCardsShuttingDown:Jt,shutdownContent:Xt}=Ir(C.tenantId,C.company?.managementInfo?.receiverEmails),Jr=Jt===!0&&Xt!=null?o.jsx(uc,{shutdownContent:Xt}):null,Xr=p&&Qt==null,es=ta(C),as={events:ha(es,Hr),eventCallback:(Z,je,We)=>{We.onEventReceived(Z)},onSubscribed:Z=>{Z.onPusherSubscribed()}};return re||k?o.jsxs(o.Fragment,{children:[ue==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{ee.trackPageLoaded(kr.Event.cardsListPage),(D&&!re||j&&!k)&&ee.trackCardsPromoView(P,{isCreditCardOffered:D,isDebitCardOffered:j,isDebitCardEnabled:k,isCreditCardEnabled:re},"Banner",j&&!k?"Debit Card":D&&!re?"Credit Card":"","Card List")}}),o.jsx(tt,{showConfetti:$e})]}):null,f===!0?o.jsx(Zt,{closeDrawerHandler:Yr,isPaymentDrawerOpen:f,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:mt,productInformation:ut,creditAccountInformation:ze,debitAccountInformation:sa,cashbackInformation:Ze,isDebitCardInfoFetchStateCompleted:!(j&&k&&v)||ra.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!D||se.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!v||ka.fetchState==="Completed",paymentInitiatedDate:se.initiatedRepaymentDate}):null,o.jsxs(hi,{children:[o.jsx(Ae,{isAppContentDrawerOpen:S,handleDrawerToggle:Wt}),o.jsx(fi,{...as,isCashbackFeatureEnabled:y,isChargeCardFeatureEnabled:D,isDebitCardFeatureEnabled:j,isCreditCardProductVisibleForExpressInterest:W,updatePayNowInfoTooltip:u,showPayNowInfoTooltip:m,creditCardPayNowThreshold:Ce,signedInUser:_,chargeCardListState:J,location:t,admins:zr.users,navigateAndClearBulkSelection:s,currentTenant:C,isCardControlsEnabled:X,companyChargeCardInfoCreditAccountLimit:C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:C.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:v,includeCreditAccountDebitSummaryAndCashbackInfo:I,onClickMenuIcon:()=>{Wt(!0)},creditLimit:Kr,isChargeCardSetupEnabled:re,isChargeCardEnabledOnCompany:be,isDebitCardSetupEnabled:k,isDebitCardEnabledOnCompany:pe,isEarlyPayEnabled:g,isChargeCardPaymentHistoryFeatureEnabled:R,cashbackRate:ae,controllerEmails:P,chargeCardCashbackDetailState:ka,depositAccountListWithDebitCardIssued:ra,isChargeCardTOSAccepted:Te,isDebitCardTOSAccepted:Ie,primaryFundingAccountDetails:lt,chargeCardSetUpViewFetchState:Ea.fetchState,productInformation:ut,creditAccountInformation:ze,debitAccountInformation:sa,cashbackInformation:Ze,isAiCfoAccessEnabled:Xr,onAskAiCfoClick:x,cardsAiCfoHero:Qt,cardsShutdownBanner:Jr,isCardsShuttingDown:Jt,onClickPolicyIcon:v&&M?()=>a(yi(C.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:Ua,onPolicyIntroTooltipClose:Y,pendingCreationCount:Se})]})]}):(Te||Ie)&&v===!0?o.jsx(Je,{to:"../setup"}):Qr?o.jsx(Je,{to:"../promo"}):o.jsx(wa,{fetchState:ue})}const gi=e=>`/${e}/cards/new`,bi=e=>`/${e}/cards/payment`,Si=e=>`/${e}/cards/payment-history`,yi=e=>`/${e}/cards/policy`,Gr=[jr,Mr],Ii=new Set(Gr),ki=Pe((function(e){const a=te.getSignedInUser(),n=ge(e),t=e.tenantState.currentTenantId,s=sr(e),f={userId:a?.userId??"",sessionId:a?.zeniSessionId??"",tenantId:t??""},b=n?.companyName??"",m=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:s.fetchState,filters:s.filters,isZeniTenant:Io(n),repaymentList:s.repaymentHistory,searchText:s.searchText,repaymentHistoryUsers:s.repaymentHistoryUsers,sortConfig:{sortKey:s.uiState.sortKey,sortOrder:s.uiState.sortOrder},downloadParams:{authParams:f,companyName:b,spendManagementEndPoint:`${kt}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:m}}),(function(e,a){const{location:n,navigate:t}=a;return{onBackClick:()=>{const s=we(n.state?.pathnameStackToGoBack),f=s.poppedPathname??"..";t(f,{state:{pathnameStackToGoBack:s.newStack}})},onColumnSortConfigChanged:(s,f)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:s,sortOrder:f}}})},onFiltersChange:s=>{e(Eo({filters:s}))},onReloadPayments:()=>{e(Ha(!0))},onEventReceived:s=>{Ii.has(s)&&e(Ha(!0))},onPusherSubscribed:()=>{e(Ha(!0))},onSearchTextChanged:s=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:s})},updateDownloadStateHandler:s=>{e(ko({uiState:{downloadState:s}}))}}}))(rt(Cc));function Ei(){const e=ie(),a=me(),n=le(),{areTenantIdsInSync:t}=yr(),{useFeatureGate:s}=de();if(te.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const f=d((T=>ge(T))),b=d((T=>sr(T))),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,_]=r.useState(!1),[C,O]=r.useState(null),U=!f.userRole.includes("charge_card_user"),S=!!f.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:c}=s(q.isChargeCardFeatureEnabled),{isFeatureEnabled:p}=s(q.isDebitCardFeatureEnabled),x=Be(p,f),E=Oe({isDebitCardFeatureEnabled:p,isBankingOnlyTenant:x}),I=xe(f),k=Le(f),V=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,w=Ue({isCardsOnlyTenant:I,isChargeCardFeatureEnabled:c,isBookKeepingTenant:k,isDebitCardProductVisible:E,chargeCardsCreditAccountLimit:V}),y=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,F=Re(),i=Fe(F?.loggedInUserRoleMap),g=d((T=>Ca(T,U,E&&S,w&&y))),R=r.useMemo((()=>{const T=g.cards.filter((P=>P.type.code.includes("debit")));return[...new Set(T.map((P=>P.connectedAccountId)))]}),[g.cards]),G=d((T=>ma(T))),M=d((T=>at(T,R))),{creditAccountRepayment:L}=d((T=>ua(T))),z=r.useMemo((()=>jt(i,G)),[i,G]),j=r.useMemo((()=>xa(w,y,i,g.creditAccount,L)),[w,y,i,g.creditAccount,L]),h=r.useMemo((()=>Mt(E,S,i,M,g.debitCardSummary)),[E,S,i,M,g.debitCardSummary]),H=r.useMemo((()=>ea(w,E,S,y)),[w,E,S,y]),K=g.creditAccount.balance.amount+g.creditAccount.hold.amount,D=r.useMemo((()=>C!=null?b.repaymentHistory.find((T=>T.cardRepaymentId===C)):void 0),[C,b.repaymentHistory]),W=r.useCallback((T=>{O(T),n(ia(U,E&&S,w&&y,!1)),_(!0)}),[n,U,E,S,w,y]),N=r.useCallback((()=>{_(!1),O(null),document.body.style.overflow="auto"}),[]);r.useEffect((()=>{m||b.fetchState==="Completed"||b.fetchState==="In-Progress"||(A(!0),n(Ha()))}),[m,n,b.fetchState]),r.useEffect((()=>{!u&&(y||S)&&t&&(l(!0),n(ia(U,!1,w&&y,!1)))}),[u,y,S,t,n,U,w]);const $=ta(f),v={events:ha($,Gr),eventCallback:(T,P,ae)=>{ae.onEventReceived(T)},onSubscribed:T=>{T.onPusherSubscribed()}};return o.jsxs(o.Fragment,{children:[B?o.jsx(Zt,{closeDrawerHandler:N,isPaymentDrawerOpen:B,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:K,productInformation:H,creditAccountInformation:j,debitAccountInformation:h,cashbackInformation:z,isDebitCardInfoFetchStateCompleted:!(E&&S&&i)||M.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!w||L.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!i||G.fetchState==="Completed",paymentInitiatedDate:L.initiatedRepaymentDate,retryRepayment:D}):null,o.jsx(ki,{...v,location:a,navigate:e,accountInfoByAccountId:b.accountInfoByAccountId,onRetryPaymentClick:W})]})}const kn=He.div`
26
26
  display: flex;
27
27
  height: 100vh;
28
28
  width: 100%;
@@ -31,7 +31,7 @@ import{j as o}from"./liveblocks-CuUK5O_2.js";import{u as le,j as d,h as ie,g as
31
31
  overflow: auto;
32
32
  align-items: center;
33
33
  background-color: ${e=>e.theme.colors.grey4};
34
- `,En=aa.getLocalizedStrings().months;function Ai(){const e=ie(),a=le(),n=me(),{creditAccount:t,creditAccountRepayment:s}=d((h=>ua(h))),f=`${Sr.cardMicroServiceBaseUrl}/1.0/credit-accounts/${t.id}`,[b,m]=r.useState(!1),[A,u]=r.useState(!1),l=d((h=>Ao(h))),{useFeatureGate:B}=de(),_=d((h=>ge(h))),{isFeatureEnabled:C}=B(q.isChargeCardFeatureEnabled),{isFeatureEnabled:O}=B(q.isDebitCardFeatureEnabled),U=wr(_.companyId,{clearParams:l.fetchState==="Completed"}),S=Be(O,_),c=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:S}),p=xe(_),x=Le(_),E=_.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ue({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:C,isBookKeepingTenant:x,isDebitCardProductVisible:c,chargeCardsCreditAccountLimit:E}),k=!!_.companyDebitCardInfo?.info?.isDebitCardEnabled,V=!!_.companyChargeCardInfo?.info?.isChargeCardEnabled,w=d((h=>da(h,_.companyId))),y=la(w.controllers),F=d((h=>or(h))),i=F.cards.filter((h=>h.type.code.includes("debit"))).map((h=>h.connectedAccountId)),g=[...new Set(i)],R=d((h=>at(h,g))),Z=d((h=>_o(h)));r.useEffect((()=>{A||t.fetchState==="Completed"||t.fetchState==="In-Progress"||(m(!0),a(Qe()))}),[b,a,t.fetchState]),r.useEffect((()=>{A||t.fetchState!=="Completed"||t.id==null||l.fetchState==="Completed"||l.fetchState==="In-Progress"||(u(!0),a(Do(t.id)))}),[A,a,t.fetchState,t.id,l.fetchState]),r.useEffect((()=>{R.fetchState!=="Completed"&&R.fetchState!=="In-Progress"&&c&&k&&a(cr()),F.fetchState!=="Completed"&&F.fetchState!=="In-Progress"&&a(Ne()),Z.fetchState!=="Completed"&&Z.fetchState!=="In-Progress"&&c&&k&&a(Po()),s.fetchState!=="Completed"&&s.fetchState!=="In-Progress"&&I&&V&&a(Tt())}),[R.fetchState,c,k,F.fetchState,Z.fetchState,s.fetchState,I,V]),r.useEffect((()=>{if(l.fetchState==="Completed"&&t.fetchState==="Completed"&&s.fetchState==="Completed"&&F.fetchState==="Completed"&&(!c||!k||R.fetchState==="Completed"&&Z.fetchState==="Completed")){let h="",H="";if(l.statements.length>0){const N=l.statements[l.statements.length-1].period,[G,v]=N.split("-"),T=l.statements[0].period,[P,ae]=T.split("-");h=`${En[parseInt(v)-1]} ${G}`,H=`${En[parseInt(ae)-1]} ${P}`}const z=ea(I,c,k,V),D=xa(I,V,!0,t,s),W=Mt(c,k,!0,R,Z);ee.trackCardsCreditCardStatementsView(y,z,{numberOfStatements:l.statements.length,oldestStatementMonthYear:h,latestStatementMonthYear:H},D,W)}}),[l.fetchState,t.fetchState,s.fetchState,R.fetchState,F.fetchState,Z.fetchState]);const M=()=>{const h=we(n.state?.pathnameStackToGoBack),H=h.poppedPathname??"..";e(H,{state:{pathnameStackToGoBack:h.newStack}})},L=d((h=>ma(h))),K=te.getSignedInUser(),j={userId:K?.userId??"",sessionId:K?.zeniSessionId??"",tenantId:_.tenantId??""};if(K==null)throw Error("Can't access address page without signing in...");if(l.fetchState!=="Completed")return o.jsx(kn,{children:o.jsx(pc,{onBackClick:M})});{const h=ea(I,c,k,V);return o.jsx(kn,{children:o.jsx(hc,{currentTenantCompanyName:_.companyName,statementListView:l,productInformation:h,onBackClick:M,authParams:j,controllerEmails:y,isChargeCardFeatureEnabled:I,isDebitCardFeatureEnabled:c,isDebitCardSetupEnabled:k,isChargeCardSetupEnabled:V,initialOpenThreadRequest:U,chargeCardCashbackDetailState:L,creditAccount:t,creditAccountRepayment:s,depositAccountListWithDebitCardIssued:R,debitCardSummary:Z,downloadEndPoint:f})})}}const Gr=[pa,ct],_i=new Set(Gr),Di={containerWidth:new va(100,58)},Pi=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),s=me(),{useDynamicConfig:f}=de(),[b,m]=r.useState(!1),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[_,C]=r.useState(!1),O=r.useRef(!1),U=r.useRef(null);r.useEffect((()=>()=>{U.current!=null&&(clearTimeout(U.current),U.current=null)}),[]);const[S,c]=r.useState(!1),[p,x]=r.useState(!1),E=te.getSignedInUser();if(E==null)throw Error("Can't access onboarding card page without signing in...");const I=d((N=>ge(N))),{configValue:k}=f(Xe.zeniCardsConfig),V=d((N=>wo(N))),{tenantEmailDomain:w}=I,y=d((N=>N.settingsViewState.profile.fetchState)),F=d((N=>N.chargeCardListState.fetchState)),i=d((N=>N.settingsViewState.profile.userId)),g=d((N=>N.chargeCardConfigState.fetchState));r.useEffect((()=>{b===!1&&y!=="In-Progress"&&y!=="Completed"&&(n(To()),m(!0)),A===!1&&g!=="In-Progress"&&g!=="Completed"&&(n(qa()),u(!0)),l===!1&&F==="Not-Started"&&(B(!0),n(Ne()))}),[b,l,F,A,g]),r.useEffect((()=>{y==="Completed"&&S===!1&&i!=null&&F==="Completed"&&V.cards.length>0&&(n(vo({userId:i})),n(ir({cardId:V.cards[V.cards.length-1].id})),c(!0))}),[y,S,i,F]),r.useEffect((()=>{if(!_&&V.fetchState==="Completed"&&V.cards.length===0){const N=we(s.state?.pathnameStackToGoBack),G=N.poppedPathname??na(w);t(G,{state:{pathnameStackToGoBack:N.newStack}})}}),[V.fetchState,V.cards,_]);const R=d((N=>Wa(N))),Z=Sa(R.updateStatus.fetchState),M=R.currentDisplayedCardId,{useFeatureGate:L}=de(),{isFeatureEnabled:K}=L(q.isChargeCardFeatureEnabled),j=!!I.companyChargeCardInfo?.info?.isChargeCardEnabled,h=!I.userRole.includes("charge_card_user")&&K&&j,H=d((N=>M!=null?dr(N.chargeCardState,M):null)),z=()=>{M!=null&&(O.current=!0,U.current!=null&&clearTimeout(U.current),U.current=setTimeout((()=>{O.current=!1,U.current=null}),5e3),n(Ia(M,h,!0)),n(Ne(!0)),C(!0))},D=ta(I);Nt({events:ha(D,Gr),onSubscribed:()=>{n(Ne(!0))},onEvent:(N,G)=>{if(!_i.has(N))return;const v=Kt(G),T=O.current;if(N===pa){const ae=ce(v?.card_id)??M;if(ae!=null){const Ce=zt(v,ae);if(Ce!=null)return n(vt(Ce)),void(ae!==M||T||z())}}if(N===ct)return void n(Ne(!0));const P=ce(v?.card_id)??M;(M==null||P===M)&&M!=null?T||z():n(Ne(!0))}}),r.useEffect((()=>{if(_&&M!=null&&H!=null&&H.status.code!=="request_on_hold"){const N=De(I.tenantEmailDomain,M,E,H),G=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(Fo()),H?.type.code==="business_virtual_credit_card"&&n(Qa()),t(N,{state:{pathnameStackToGoBack:G},replace:!0}),O.current=!1,U.current!=null&&(clearTimeout(U.current),U.current=null)}}),[_,H?.status.code]),r.useEffect((()=>{Z==="In-Progress"&&R.updateStatus.fetchState==="Completed"&&setTimeout(z,3e3)}),[Z,R.updateStatus.fetchState]);const W=N=>{x(N)};if(y!=="Completed"||V.cards.length===0)return o.jsxs(An,{children:[o.jsx(Ae,{isAppContentDrawerOpen:p,handleDrawerToggle:W}),o.jsx(fc,{})]});if(i==null)throw Error("Can't access my userId.");return o.jsxs(An,{children:[o.jsx(Ae,{isAppContentDrawerOpen:p,handleDrawerToggle:W}),o.jsx(wi,{chargeCardListView:V,cardUserOnboardingView:R,navigate:t,currentTenant:I,myUserId:i,location:s,chargeCardCashbackRatePerTransaction:k.charge_card_cashback_rate_per_transaction!=null?k.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{W(!0)}}),e!=null?o.jsx(Ti,{windowSize:a,children:e}):null]})},wi=Pe((function(e,{currentTenant:a,cardUserOnboardingView:n,chargeCardListView:t,myUserId:s}){const f=Ca(e,!1,!1,!1);let b=!1;return f.fetchState==="Completed"&&f.cards.length<=1&&(b=!0),{cards:t.cards,showMenuIcon:b,companyLegalName:a.companyName,twoFAView:n.twoFAView,cardUserOnboardingLocalData:n.cardUserOnboardingLocalData??{userId:s},isDOBDisabled:n.isDOBPresent,onboardingProgressStatus:n.onboardingProgressStatus}}),(function(e,a){const{navigate:n,cardUserOnboardingView:t,location:s,currentTenant:f}=a,{tenantEmailDomain:b}=f;return{updateCardUserOnboardingLocalData:m=>{e(gn({localData:m}))},onGetOtp:m=>{if(t.cardUserOnboardingLocalData!=null){const A={...t.cardUserOnboardingLocalData,phone:m};e(gn({localData:A}))}e(et(m,"CardUserOnboarding"))},onResendOtp:m=>{e(Xa(m,"CardUserOnboarding"))},onVerifyOtp:(m,A)=>{e(Ja(m,A,"CardUserOnboarding"))},onVerifyOtpSuccess:m=>{e(xo()),m!=null&&te.saveZeniOtpToken(m)},setCurrentDisplayedCardId:m=>{e(ir({cardId:m}))},onBackClick:()=>{const m=we(s.state?.pathnameStackToGoBack),A=m.poppedPathname??na(b);n(A,{state:{pathnameStackToGoBack:m.newStack}})}}}))(gc),Ti=He.div`
34
+ `,En=aa.getLocalizedStrings().months;function Ai(){const e=ie(),a=le(),n=me(),{creditAccount:t,creditAccountRepayment:s}=d((h=>ua(h))),f=`${Sr.cardMicroServiceBaseUrl}/1.0/credit-accounts/${t.id}`,[b,m]=r.useState(!1),[A,u]=r.useState(!1),l=d((h=>Ao(h))),{useFeatureGate:B}=de(),_=d((h=>ge(h))),{isFeatureEnabled:C}=B(q.isChargeCardFeatureEnabled),{isFeatureEnabled:O}=B(q.isDebitCardFeatureEnabled),U=wr(_.companyId,{clearParams:l.fetchState==="Completed"}),S=Be(O,_),c=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:S}),p=xe(_),x=Le(_),E=_.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ue({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:C,isBookKeepingTenant:x,isDebitCardProductVisible:c,chargeCardsCreditAccountLimit:E}),k=!!_.companyDebitCardInfo?.info?.isDebitCardEnabled,V=!!_.companyChargeCardInfo?.info?.isChargeCardEnabled,w=d((h=>da(h,_.companyId))),y=la(w.controllers),F=d((h=>or(h))),i=F.cards.filter((h=>h.type.code.includes("debit"))).map((h=>h.connectedAccountId)),g=[...new Set(i)],R=d((h=>at(h,g))),G=d((h=>_o(h)));r.useEffect((()=>{A||t.fetchState==="Completed"||t.fetchState==="In-Progress"||(m(!0),a(Qe()))}),[b,a,t.fetchState]),r.useEffect((()=>{A||t.fetchState!=="Completed"||t.id==null||l.fetchState==="Completed"||l.fetchState==="In-Progress"||(u(!0),a(Do(t.id)))}),[A,a,t.fetchState,t.id,l.fetchState]),r.useEffect((()=>{R.fetchState!=="Completed"&&R.fetchState!=="In-Progress"&&c&&k&&a(cr()),F.fetchState!=="Completed"&&F.fetchState!=="In-Progress"&&a(Ne()),G.fetchState!=="Completed"&&G.fetchState!=="In-Progress"&&c&&k&&a(Po()),s.fetchState!=="Completed"&&s.fetchState!=="In-Progress"&&I&&V&&a(Tt())}),[R.fetchState,c,k,F.fetchState,G.fetchState,s.fetchState,I,V]),r.useEffect((()=>{if(l.fetchState==="Completed"&&t.fetchState==="Completed"&&s.fetchState==="Completed"&&F.fetchState==="Completed"&&(!c||!k||R.fetchState==="Completed"&&G.fetchState==="Completed")){let h="",H="";if(l.statements.length>0){const N=l.statements[l.statements.length-1].period,[$,v]=N.split("-"),T=l.statements[0].period,[P,ae]=T.split("-");h=`${En[parseInt(v)-1]} ${$}`,H=`${En[parseInt(ae)-1]} ${P}`}const K=ea(I,c,k,V),D=xa(I,V,!0,t,s),W=Mt(c,k,!0,R,G);ee.trackCardsCreditCardStatementsView(y,K,{numberOfStatements:l.statements.length,oldestStatementMonthYear:h,latestStatementMonthYear:H},D,W)}}),[l.fetchState,t.fetchState,s.fetchState,R.fetchState,F.fetchState,G.fetchState]);const M=()=>{const h=we(n.state?.pathnameStackToGoBack),H=h.poppedPathname??"..";e(H,{state:{pathnameStackToGoBack:h.newStack}})},L=d((h=>ma(h))),z=te.getSignedInUser(),j={userId:z?.userId??"",sessionId:z?.zeniSessionId??"",tenantId:_.tenantId??""};if(z==null)throw Error("Can't access address page without signing in...");if(l.fetchState!=="Completed")return o.jsx(kn,{children:o.jsx(pc,{onBackClick:M})});{const h=ea(I,c,k,V);return o.jsx(kn,{children:o.jsx(hc,{currentTenantCompanyName:_.companyName,statementListView:l,productInformation:h,onBackClick:M,authParams:j,controllerEmails:y,isChargeCardFeatureEnabled:I,isDebitCardFeatureEnabled:c,isDebitCardSetupEnabled:k,isChargeCardSetupEnabled:V,initialOpenThreadRequest:U,chargeCardCashbackDetailState:L,creditAccount:t,creditAccountRepayment:s,depositAccountListWithDebitCardIssued:R,debitCardSummary:G,downloadEndPoint:f})})}}const $r=[pa,ct],_i=new Set($r),Di={containerWidth:new va(100,58)},Pi=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),s=me(),{useDynamicConfig:f}=de(),[b,m]=r.useState(!1),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[_,C]=r.useState(!1),O=r.useRef(!1),U=r.useRef(null);r.useEffect((()=>()=>{U.current!=null&&(clearTimeout(U.current),U.current=null)}),[]);const[S,c]=r.useState(!1),[p,x]=r.useState(!1),E=te.getSignedInUser();if(E==null)throw Error("Can't access onboarding card page without signing in...");const I=d((N=>ge(N))),{configValue:k}=f(Xe.zeniCardsConfig),V=d((N=>wo(N))),{tenantEmailDomain:w}=I,y=d((N=>N.settingsViewState.profile.fetchState)),F=d((N=>N.chargeCardListState.fetchState)),i=d((N=>N.settingsViewState.profile.userId)),g=d((N=>N.chargeCardConfigState.fetchState));r.useEffect((()=>{b===!1&&y!=="In-Progress"&&y!=="Completed"&&(n(To()),m(!0)),A===!1&&g!=="In-Progress"&&g!=="Completed"&&(n(qa()),u(!0)),l===!1&&F==="Not-Started"&&(B(!0),n(Ne()))}),[b,l,F,A,g]),r.useEffect((()=>{y==="Completed"&&S===!1&&i!=null&&F==="Completed"&&V.cards.length>0&&(n(vo({userId:i})),n(ir({cardId:V.cards[V.cards.length-1].id})),c(!0))}),[y,S,i,F]),r.useEffect((()=>{if(!_&&V.fetchState==="Completed"&&V.cards.length===0){const N=we(s.state?.pathnameStackToGoBack),$=N.poppedPathname??na(w);t($,{state:{pathnameStackToGoBack:N.newStack}})}}),[V.fetchState,V.cards,_]);const R=d((N=>Wa(N))),G=Sa(R.updateStatus.fetchState),M=R.currentDisplayedCardId,{useFeatureGate:L}=de(),{isFeatureEnabled:z}=L(q.isChargeCardFeatureEnabled),j=!!I.companyChargeCardInfo?.info?.isChargeCardEnabled,h=!I.userRole.includes("charge_card_user")&&z&&j,H=d((N=>M!=null?dr(N.chargeCardState,M):null)),K=()=>{M!=null&&(O.current=!0,U.current!=null&&clearTimeout(U.current),U.current=setTimeout((()=>{O.current=!1,U.current=null}),5e3),n(Ia(M,h,!0)),n(Ne(!0)),C(!0))},D=ta(I);Nt({events:ha(D,$r),onSubscribed:()=>{n(Ne(!0))},onEvent:(N,$)=>{if(!_i.has(N))return;const v=zt($),T=O.current;if(N===pa){const ae=ce(v?.card_id)??M;if(ae!=null){const Ce=Kt(v,ae);if(Ce!=null)return n(vt(Ce)),void(ae!==M||T||K())}}if(N===ct)return void n(Ne(!0));const P=ce(v?.card_id)??M;(M==null||P===M)&&M!=null?T||K():n(Ne(!0))}}),r.useEffect((()=>{if(_&&M!=null&&H!=null&&H.status.code!=="request_on_hold"){const N=De(I.tenantEmailDomain,M,E,H),$=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(Fo()),H?.type.code==="business_virtual_credit_card"&&n(Qa()),t(N,{state:{pathnameStackToGoBack:$},replace:!0}),O.current=!1,U.current!=null&&(clearTimeout(U.current),U.current=null)}}),[_,H?.status.code]),r.useEffect((()=>{G==="In-Progress"&&R.updateStatus.fetchState==="Completed"&&setTimeout(K,3e3)}),[G,R.updateStatus.fetchState]);const W=N=>{x(N)};if(y!=="Completed"||V.cards.length===0)return o.jsxs(An,{children:[o.jsx(Ae,{isAppContentDrawerOpen:p,handleDrawerToggle:W}),o.jsx(fc,{})]});if(i==null)throw Error("Can't access my userId.");return o.jsxs(An,{children:[o.jsx(Ae,{isAppContentDrawerOpen:p,handleDrawerToggle:W}),o.jsx(wi,{chargeCardListView:V,cardUserOnboardingView:R,navigate:t,currentTenant:I,myUserId:i,location:s,chargeCardCashbackRatePerTransaction:k.charge_card_cashback_rate_per_transaction!=null?k.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{W(!0)}}),e!=null?o.jsx(Ti,{windowSize:a,children:e}):null]})},wi=Pe((function(e,{currentTenant:a,cardUserOnboardingView:n,chargeCardListView:t,myUserId:s}){const f=Ca(e,!1,!1,!1);let b=!1;return f.fetchState==="Completed"&&f.cards.length<=1&&(b=!0),{cards:t.cards,showMenuIcon:b,companyLegalName:a.companyName,twoFAView:n.twoFAView,cardUserOnboardingLocalData:n.cardUserOnboardingLocalData??{userId:s},isDOBDisabled:n.isDOBPresent,onboardingProgressStatus:n.onboardingProgressStatus}}),(function(e,a){const{navigate:n,cardUserOnboardingView:t,location:s,currentTenant:f}=a,{tenantEmailDomain:b}=f;return{updateCardUserOnboardingLocalData:m=>{e(gn({localData:m}))},onGetOtp:m=>{if(t.cardUserOnboardingLocalData!=null){const A={...t.cardUserOnboardingLocalData,phone:m};e(gn({localData:A}))}e(et(m,"CardUserOnboarding"))},onResendOtp:m=>{e(Xa(m,"CardUserOnboarding"))},onVerifyOtp:(m,A)=>{e(Ja(m,A,"CardUserOnboarding"))},onVerifyOtpSuccess:m=>{e(xo()),m!=null&&te.saveZeniOtpToken(m)},setCurrentDisplayedCardId:m=>{e(ir({cardId:m}))},onBackClick:()=>{const m=we(s.state?.pathnameStackToGoBack),A=m.poppedPathname??na(b);n(A,{state:{pathnameStackToGoBack:m.newStack}})}}}))(gc),Ti=He.div`
35
35
  display: flex;
36
36
  flex-direction: column;
37
37
  width: ${e=>`${Di.containerWidth.value(e.windowSize)}%`};
@@ -44,12 +44,12 @@ import{j as o}from"./liveblocks-CuUK5O_2.js";import{u as le,j as d,h as ie,g as
44
44
  flex-direction: column;
45
45
  align-items: center;
46
46
  background-color: ${e=>e.theme.colors.grey4};
47
- `,vi={containerWidth:new va(100,58)},Fi=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[_,C]=r.useState(!1),[O,U]=r.useState(!1),S=te.getSignedInUser();if(S==null)throw Error("Can't access onboarding card page without signing in...");const c=d((h=>ge(h)));if(s==null)throw Error("Empty card id is not valid...");const{configValue:p}=b(Xe.zeniCardsConfig),x=d((h=>Lo(h,s))),{isFeatureEnabled:E}=m(q.isChargeCardFeatureEnabled),{isFeatureEnabled:I}=m(q.isDebitCardFeatureEnabled),k=Be(I,c),V=Oe({isDebitCardFeatureEnabled:I,isBankingOnlyTenant:k}),w=xe(c),y=Le(c),F=c.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=Ue({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:E,isBookKeepingTenant:y,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:F}),g=x.chargeCard,R=d((h=>h.chargeCardConfigState.fetchState));r.useEffect((()=>{A===!1&&R!=="In-Progress"&&R!=="Completed"&&(n(qa()),u(!0)),l===!1&&x.fetchState==="Not-Started"&&(B(!0),n(Ia(s,!1,i)))}),[l,x.fetchState,A,R]);const Z=g?.type.code==="business_physical_debit_card"||g?.type.code==="business_virtual_debit_card";r.useEffect((()=>{if(x.fetchState==="Completed"){if(_===!1&&(Z===!1||Z&&g.status?.code!=="active"||Z&&g.status.code==="active"&&g.isPinSet||g.cardHolderUserId!==S.userId)){const h=De(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(h,{state:{pathnameStackToGoBack:H}})}else if(_&&x.isRefreshingViewInBackground===!1&&g?.isPinSet===!0){n(Bo({chargeCardId:s}));const h=De(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Qa()),t(h,{state:{pathnameStackToGoBack:H}})}}}),[x.fetchState,g?.type.code,_,x.isRefreshingViewInBackground]);const M=te.getZeniOtpTokenForCardHolder(s),L=d((h=>Vn(h.userState,S.userId))),K=()=>{g?.isPinSet!==!0&&n(ga(s,!0))};r.useEffect((()=>{x.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(K,3e3),C(!0))}),[x.updateDebitCardPinAttemptFetchState.fetchState]);const j=h=>{U(h)};if(R!=="Completed"||g==null)return o.jsx(wa,{fetchState:"In-Progress"});if(L?.phone==null)throw Error("Can't access user phone number.");return o.jsxs(Bi,{children:[o.jsx(Ae,{isAppContentDrawerOpen:O,handleDrawerToggle:j}),o.jsx(xi,{cardId:s,card:g,phone:L.phone,signedInUser:S,isSandboxEnv:Bt(),debitCardDetailState:x,signedInUserToken:M,navigate:t,currentTenant:c,location:f,chargeCardCashbackRatePerTransaction:p.charge_card_cashback_rate_per_transaction!=null?p.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{j(!0)}}),e!=null?o.jsx(Li,{windowSize:a,children:e}):null]})},xi=Pe((function(e,{debitCardDetailState:a,cardId:n}){const t=Hn(e,n),s=a.updateStatus,f=Ca(e,!1,!1,!1);let b=!1;return f.fetchState==="Completed"&&f.cards.length<=1&&(b=!0),{showMenuIcon:b,vgsVaultId:nt.cardVaultId,twoFAView:t,setPinWaitStatus:s}}),(function(e,a){const{navigate:n,cardId:t,location:s,currentTenant:f,debitCardDetailState:b}=a,m=b.chargeCard?.cardProviderID,{tenantEmailDomain:A}=f;return{onGetOtp:u=>{m!=null&&e(et(u,"ChargeCardHolder",t))},onUpdateDebitCardPinAttempt:u=>{e(qn(t,u))},onResendOtp:u=>{m!=null&&e(Xa(u,"ChargeCardHolder",t))},onVerifyOtp:(u,l)=>{m!=null&&e(Ja(u,l,"ChargeCardHolder",t))},onVerifyOtpSuccess:u=>{u!=null&&te.saveZeniOtpTokenForCardHolder(u,t)},onSetPinSuccess:()=>{e(Ro({chargeCardId:t}))},onBackClick:()=>{const u=we(s.state?.pathnameStackToGoBack),l=u.poppedPathname==null||u.poppedPathname.includes("activate")===!0?na(A):u.poppedPathname;n(l,{state:{pathnameStackToGoBack:u.newStack}})}}}))(bc),Li=He.div`
47
+ `,vi={containerWidth:new va(100,58)},Fi=({appContent:e})=>{const a=Ta(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[_,C]=r.useState(!1),[O,U]=r.useState(!1),S=te.getSignedInUser();if(S==null)throw Error("Can't access onboarding card page without signing in...");const c=d((h=>ge(h)));if(s==null)throw Error("Empty card id is not valid...");const{configValue:p}=b(Xe.zeniCardsConfig),x=d((h=>Lo(h,s))),{isFeatureEnabled:E}=m(q.isChargeCardFeatureEnabled),{isFeatureEnabled:I}=m(q.isDebitCardFeatureEnabled),k=Be(I,c),V=Oe({isDebitCardFeatureEnabled:I,isBankingOnlyTenant:k}),w=xe(c),y=Le(c),F=c.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=Ue({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:E,isBookKeepingTenant:y,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:F}),g=x.chargeCard,R=d((h=>h.chargeCardConfigState.fetchState));r.useEffect((()=>{A===!1&&R!=="In-Progress"&&R!=="Completed"&&(n(qa()),u(!0)),l===!1&&x.fetchState==="Not-Started"&&(B(!0),n(Ia(s,!1,i)))}),[l,x.fetchState,A,R]);const G=g?.type.code==="business_physical_debit_card"||g?.type.code==="business_virtual_debit_card";r.useEffect((()=>{if(x.fetchState==="Completed"){if(_===!1&&(G===!1||G&&g.status?.code!=="active"||G&&g.status.code==="active"&&g.isPinSet||g.cardHolderUserId!==S.userId)){const h=De(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(h,{state:{pathnameStackToGoBack:H}})}else if(_&&x.isRefreshingViewInBackground===!1&&g?.isPinSet===!0){n(Bo({chargeCardId:s}));const h=De(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Qa()),t(h,{state:{pathnameStackToGoBack:H}})}}}),[x.fetchState,g?.type.code,_,x.isRefreshingViewInBackground]);const M=te.getZeniOtpTokenForCardHolder(s),L=d((h=>Vn(h.userState,S.userId))),z=()=>{g?.isPinSet!==!0&&n(ga(s,!0))};r.useEffect((()=>{x.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(z,3e3),C(!0))}),[x.updateDebitCardPinAttemptFetchState.fetchState]);const j=h=>{U(h)};if(R!=="Completed"||g==null)return o.jsx(wa,{fetchState:"In-Progress"});if(L?.phone==null)throw Error("Can't access user phone number.");return o.jsxs(Bi,{children:[o.jsx(Ae,{isAppContentDrawerOpen:O,handleDrawerToggle:j}),o.jsx(xi,{cardId:s,card:g,phone:L.phone,signedInUser:S,isSandboxEnv:Bt(),debitCardDetailState:x,signedInUserToken:M,navigate:t,currentTenant:c,location:f,chargeCardCashbackRatePerTransaction:p.charge_card_cashback_rate_per_transaction!=null?p.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{j(!0)}}),e!=null?o.jsx(Li,{windowSize:a,children:e}):null]})},xi=Pe((function(e,{debitCardDetailState:a,cardId:n}){const t=Hn(e,n),s=a.updateStatus,f=Ca(e,!1,!1,!1);let b=!1;return f.fetchState==="Completed"&&f.cards.length<=1&&(b=!0),{showMenuIcon:b,vgsVaultId:nt.cardVaultId,twoFAView:t,setPinWaitStatus:s}}),(function(e,a){const{navigate:n,cardId:t,location:s,currentTenant:f,debitCardDetailState:b}=a,m=b.chargeCard?.cardProviderID,{tenantEmailDomain:A}=f;return{onGetOtp:u=>{m!=null&&e(et(u,"ChargeCardHolder",t))},onUpdateDebitCardPinAttempt:u=>{e(qn(t,u))},onResendOtp:u=>{m!=null&&e(Xa(u,"ChargeCardHolder",t))},onVerifyOtp:(u,l)=>{m!=null&&e(Ja(u,l,"ChargeCardHolder",t))},onVerifyOtpSuccess:u=>{u!=null&&te.saveZeniOtpTokenForCardHolder(u,t)},onSetPinSuccess:()=>{e(Ro({chargeCardId:t}))},onBackClick:()=>{const u=we(s.state?.pathnameStackToGoBack),l=u.poppedPathname==null||u.poppedPathname.includes("activate")===!0?na(A):u.poppedPathname;n(l,{state:{pathnameStackToGoBack:u.newStack}})}}}))(bc),Li=He.div`
48
48
  display: flex;
49
49
  flex-direction: column;
50
50
  width: ${e=>`${vi.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
  `,Bi=He.div`
54
54
  display: flex;
55
55
  min-height: 100%;
@@ -58,8 +58,8 @@ import{j as o}from"./liveblocks-CuUK5O_2.js";import{u as le,j as d,h as ie,g 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
- `,Ri={overlayWidth:new va(pt[12],pt[12],pt[9])},Oi=Pe((function(e,a){const n=xt(e,!1,!1),t=a.lineId,s=n.customAddress[t],f=n.customAddressStatus[t]??{fetchState:"Not-Started",error:void 0};return{googleAPIKey:a.googleAPIKey,customAddress:s,customAddressStatus:f,lineId:t}}),(function(e,a){const{newCustomAddressId:n,lineId:t,chargeCardTypeOption:s}=a;return{onSubmitHandler:f=>{n!=null&&e(lr(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`));const b=Lc(f);e(jo({addressType:`${s==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`,addressToCreate:b})),e(Mo(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`))},onDismissClick:()=>{a.onDismissClick(),n!=null&&e(Uo({addressId:n,cardLineId:t,cardType:s==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}}))(Sc),Ui=({lineId:e,closeDrawerHandler:a,chargeCardTypeOption:n})=>{const t=Ot(),s=Ta(),f=()=>{a()},b=d((m=>Oo(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,m)))?.newAddressId;return o.jsx(Er,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:Ri.overlayWidth.valuePercentage(s),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:t.colors.black,cursor:"pointer"}}},onClose:(m,A)=>(A==="backdropClick"||A==="escapeKeyDown")&&f(),children:o.jsx(Oi,{googleAPIKey:nt.googleMapsAPIKey,onDismissClick:f,lineId:e,chargeCardTypeOption:n,newCustomAddressId:b})})},ji=Pe((function(e,a){const{isChargeCardFeatureEnabled:n,isDebitCardFeatureEnabled:t,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:f,isChargeCardSetupEnabled:b,isDebitCardSetupEnabled:m}=a,A=xt(e,n&&b,t&&m);return{issueChargeCards:A,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:f,isDebitCardFeatureEnabled:t,isChargeCardFeatureEnabled:n,isChargeCardSetupEnabled:b,isDebitCardSetupEnabled:m,cardHolderCandidates:A.userList.map((u=>u.user)).filter(Boolean),allRoles:A.userList.map((u=>u.userRole)),allAccountingClasses:A.allAccountingClasses,userList:A.userList}}),(function(e,a){return{onIssueCardClick:()=>{e(Ho())},onSaveChangesToLocalStore:n=>{e(Vo(n))},onDismissClick:()=>{e(ur()),a.navigate("../")},resetCustomAddressByLineID:(n,t)=>{e(lr(`${t==="creditCard"?"credit":"debit"}_custom_shipping_${n}_address`))},openAddAddressDrawerHandler:a.openAddAddressDrawerHandler}}))(kc);function Mi(){const e=te.getSignedInUser(),a=ie(),n=le(),t=yc(),[s]=_n(),f=s.get("cardType"),{useFeatureGate:b}=de(),{isFeatureEnabled:m}=b(q.isIssuePhysicalCardEnabled),{isFeatureEnabled:A}=b(q.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:u}=b(q.isDebitCardFeatureEnabled),{isFeatureEnabled:l}=b(q.isChargeCardFeatureEnabled),B=d((K=>ge(K))),_=Be(u,B),C=Oe({isDebitCardFeatureEnabled:u,isBankingOnlyTenant:_}),O=xe(B),U=Le(B),S=B.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,c=Ue({isCardsOnlyTenant:O,isChargeCardFeatureEnabled:l,isBookKeepingTenant:U,isDebitCardProductVisible:C,chargeCardsCreditAccountLimit:S}),[p,x]=r.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");r.useEffect((()=>{p||(x(!0),n(No(C&&I,c&&E,!1)))}),[p,x,n]);const E=!!B.companyChargeCardInfo?.info?.isChargeCardEnabled,I=!!B.companyDebitCardInfo?.info?.isDebitCardEnabled,k=d((K=>xt(K,c&&E,C&&I))),V=k.fetchState,w=k.issueCardStatus.fetchState,y=k.lastSelfIssuedDebitCardId,F=d((K=>y!=null?dr(K.chargeCardState,y):void 0)),[i,g]=r.useState(null),[R,Z]=r.useState(null),M=()=>{g(null)},L=(K,j)=>{g(K),Z(j)};return r.useEffect((()=>{if(w==="Completed"){if(y!=null&&F?.type.code==="business_virtual_debit_card"){let K;K=F?.status.code==="request_on_hold"&&e.userId===F.cardHolderUserId?Pr(B.tenantEmailDomain):De(B.tenantEmailDomain,y,e,F),a(K)}else a("../");n(ur())}}),[w,y]),V==="Completed"?o.jsxs(o.Fragment,{children:[i!==null&&R!==null?o.jsx(Ui,{closeDrawerHandler:M,lineId:i,chargeCardTypeOption:R}):null,o.jsx(ji,{themeState:t,isIssuePhysicalCardEnabled:m,isIssuePhysicalDebitCardEnabled:A,isDebitCardFeatureEnabled:C,isChargeCardFeatureEnabled:c,isChargeCardSetupEnabled:E,isDebitCardSetupEnabled:I,navigate:a,fetchState:k.fetchState,openAddAddressDrawerHandler:L,defaultCardType:f==="creditCard"||f==="debitCard"?f:void 0})]}):V==="Error"?o.jsx(st,{}):o.jsx(Ic,{})}const $r=[pa,ct],Ni=new Set($r),Vi=He.div`
61
+ box-shadow: ${e=>`${za.sp0} 2px ${za.sp1} ${e.theme.colors.dropShadowNormal}`};
62
+ `,Ri={overlayWidth:new va(pt[12],pt[12],pt[9])},Oi=Pe((function(e,a){const n=xt(e,!1,!1),t=a.lineId,s=n.customAddress[t],f=n.customAddressStatus[t]??{fetchState:"Not-Started",error:void 0};return{googleAPIKey:a.googleAPIKey,customAddress:s,customAddressStatus:f,lineId:t}}),(function(e,a){const{newCustomAddressId:n,lineId:t,chargeCardTypeOption:s}=a;return{onSubmitHandler:f=>{n!=null&&e(lr(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`));const b=Lc(f);e(jo({addressType:`${s==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`,addressToCreate:b})),e(Mo(`${s==="creditCard"?"credit":"debit"}_custom_shipping_${t}_address`))},onDismissClick:()=>{a.onDismissClick(),n!=null&&e(Uo({addressId:n,cardLineId:t,cardType:s==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}}))(Sc),Ui=({lineId:e,closeDrawerHandler:a,chargeCardTypeOption:n})=>{const t=Ot(),s=Ta(),f=()=>{a()},b=d((m=>Oo(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,m)))?.newAddressId;return o.jsx(Er,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:Ri.overlayWidth.valuePercentage(s),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:t.colors.black,cursor:"pointer"}}},onClose:(m,A)=>(A==="backdropClick"||A==="escapeKeyDown")&&f(),children:o.jsx(Oi,{googleAPIKey:nt.googleMapsAPIKey,onDismissClick:f,lineId:e,chargeCardTypeOption:n,newCustomAddressId:b})})},ji=Pe((function(e,a){const{isChargeCardFeatureEnabled:n,isDebitCardFeatureEnabled:t,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:f,isChargeCardSetupEnabled:b,isDebitCardSetupEnabled:m}=a,A=xt(e,n&&b,t&&m);return{issueChargeCards:A,isIssuePhysicalCardEnabled:s,isIssuePhysicalDebitCardEnabled:f,isDebitCardFeatureEnabled:t,isChargeCardFeatureEnabled:n,isChargeCardSetupEnabled:b,isDebitCardSetupEnabled:m,cardHolderCandidates:A.userList.map((u=>u.user)).filter(Boolean),allRoles:A.userList.map((u=>u.userRole)),allAccountingClasses:A.allAccountingClasses,userList:A.userList}}),(function(e,a){return{onIssueCardClick:()=>{e(Ho())},onSaveChangesToLocalStore:n=>{e(Vo(n))},onDismissClick:()=>{e(ur()),a.navigate("../")},resetCustomAddressByLineID:(n,t)=>{e(lr(`${t==="creditCard"?"credit":"debit"}_custom_shipping_${n}_address`))},openAddAddressDrawerHandler:a.openAddAddressDrawerHandler}}))(kc);function Mi(){const e=te.getSignedInUser(),a=ie(),n=le(),t=yc(),[s]=_n(),f=s.get("cardType"),{useFeatureGate:b}=de(),{isFeatureEnabled:m}=b(q.isIssuePhysicalCardEnabled),{isFeatureEnabled:A}=b(q.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:u}=b(q.isDebitCardFeatureEnabled),{isFeatureEnabled:l}=b(q.isChargeCardFeatureEnabled),B=d((z=>ge(z))),_=Be(u,B),C=Oe({isDebitCardFeatureEnabled:u,isBankingOnlyTenant:_}),O=xe(B),U=Le(B),S=B.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,c=Ue({isCardsOnlyTenant:O,isChargeCardFeatureEnabled:l,isBookKeepingTenant:U,isDebitCardProductVisible:C,chargeCardsCreditAccountLimit:S}),[p,x]=r.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");r.useEffect((()=>{p||(x(!0),n(No(C&&I,c&&E,!1)))}),[p,x,n]);const E=!!B.companyChargeCardInfo?.info?.isChargeCardEnabled,I=!!B.companyDebitCardInfo?.info?.isDebitCardEnabled,k=d((z=>xt(z,c&&E,C&&I))),V=k.fetchState,w=k.issueCardStatus.fetchState,y=k.lastSelfIssuedDebitCardId,F=d((z=>y!=null?dr(z.chargeCardState,y):void 0)),[i,g]=r.useState(null),[R,G]=r.useState(null),M=()=>{g(null)},L=(z,j)=>{g(z),G(j)};return r.useEffect((()=>{if(w==="Completed"){if(y!=null&&F?.type.code==="business_virtual_debit_card"){let z;z=F?.status.code==="request_on_hold"&&e.userId===F.cardHolderUserId?Pr(B.tenantEmailDomain):De(B.tenantEmailDomain,y,e,F),a(z)}else a("../");n(ur())}}),[w,y]),V==="Completed"?o.jsxs(o.Fragment,{children:[i!==null&&R!==null?o.jsx(Ui,{closeDrawerHandler:M,lineId:i,chargeCardTypeOption:R}):null,o.jsx(ji,{themeState:t,isIssuePhysicalCardEnabled:m,isIssuePhysicalDebitCardEnabled:A,isDebitCardFeatureEnabled:C,isChargeCardFeatureEnabled:c,isChargeCardSetupEnabled:E,isDebitCardSetupEnabled:I,navigate:a,fetchState:k.fetchState,openAddAddressDrawerHandler:L,defaultCardType:f==="creditCard"||f==="debitCard"?f:void 0})]}):V==="Error"?o.jsx(st,{}):o.jsx(Ic,{})}const Zr=[pa,ct],Ni=new Set(Zr),Vi=He.div`
63
63
  display: flex;
64
64
  height: 100vh;
65
65
  width: 100%;
@@ -68,4 +68,4 @@ import{j as o}from"./liveblocks-CuUK5O_2.js";import{u as le,j as d,h as ie,g as
68
68
  overflow: auto;
69
69
  align-items: center;
70
70
  background-color: ${e=>e.theme.colors.grey4};
71
- `,Hi=Pe((function(e,a){const{myPendingActivationChargeCardListState:n}=a;return{myPendingActivationChargeCardListView:n,uiState:n.uiState,signedInUser:a.signedInUser}}),(function(e,a){const{navigate:n,currentTenant:t,location:s,signedInUser:f,myPendingActivationChargeCardListState:b}=a,{tenantEmailDomain:m}=t,{cards:A}=b;return{onChargeCardRowClick:u=>{const l=Dr(A,u),B=De(m,u,f,l),_=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(B,{state:{pathnameStackToGoBack:_}})},onColumnSortConfigChanged:(u,l)=>{e(yt({uiState:{sortKey:u,sortOrder:l}}))},onReloadCards:()=>{e(Ne())},onBackClick:()=>{const u=t.userRole.includes("charge_card_user");e(yt({uiState:{sortKey:u?"cardName":"owner",sortOrder:"ascending"}})),n("../")}}}))(Ec);function Zi(){const e=ie(),a=le(),n=me(),t=Ot(),[s,f]=r.useState(!1),b=d((L=>Zo(L))),m=d((L=>ge(L))),A=d((L=>da(L,m.companyId))),u=la(A.controllers),{useFeatureGate:l}=de(),{isFeatureEnabled:B}=l(q.isChargeCardFeatureEnabled),{isFeatureEnabled:_}=l(q.isDebitCardFeatureEnabled),C=Be(_,m),O=Oe({isDebitCardFeatureEnabled:_,isBankingOnlyTenant:C}),U=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,S=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,c=Re(),p=xe(m),x=Le(m),E=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ue({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:B,isBookKeepingTenant:x,isDebitCardProductVisible:O,chargeCardsCreditAccountLimit:E}),k=Fe(c?.loggedInUserRoleMap),V=d((L=>ma(L))),{creditAccount:w,creditAccountRepayment:y}=d((L=>ua(L))),F=d((L=>or(L))).cards.filter((L=>L.type.code.includes("debit"))).map((L=>L.connectedAccountId)),i=[...new Set(F)],g=d((L=>at(L,i)));r.useEffect((()=>{s||b.fetchState==="Completed"||b.fetchState==="In-Progress"||(f(!0),a(Ne()),a(qa()))}),[s,a,b.fetchState]),r.useEffect((()=>{if(b.fetchState==="Completed"&&b.cards.length===1&&R!=null){const L=De(m.tenantEmailDomain,b.cards[0].id,R,b.cards[0]);e(L,{state:{message:n.state?.message}})}}),[b.fetchState,b.cards]);const R=te.getSignedInUser();r.useEffect((()=>{w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&I&&S&&k&&a(Qe()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&k&&a(Tt()),g.fetchState!=="Completed"&&g.fetchState!=="In-Progress"&&O&&U&&k&&a(cr())}),[w.fetchState,y.fetchState,a,g.fetchState,O,U,k,I,S]);const Z=ta(m);if(Nt({events:ha(Z,$r),onEvent:(L,K)=>{if(!Ni.has(L))return;const j=Kt(K);if(L===pa){const h=ce(j?.card_id);if(h!=null){const H=zt(j,h);if(H!=null)return void a(vt(H))}}a(Ne(!0))},onSubscribed:()=>{a(Ne(!0))}}),R==null)throw Error("Can't access address page without signing in...");const M=b.cards!=null&&b.cards.length>0;if(b.fetchState==="Completed"||M){const L=ea(I,O,U,S);return o.jsx(Vi,{children:o.jsx(Hi,{navigate:e,currentTenant:m,signedInUser:R,productInformation:L,myPendingActivationChargeCardListState:b,isChargeCardFeatureEnabled:I,isDebitCardFeatureEnabled:O,isDebitCardSetupEnabled:U,isChargeCardSetupEnabled:S,chargeCardCashbackDetailState:V,creditAccount:w,creditAccountRepayment:y,depositAccountListWithDebitCardIssued:g,controllerEmails:u,location:n})})}return o.jsx(wa,{fetchState:"In-Progress",style:{backgroundColor:t.colors.grey5}})}const Gi=Pe((function(e,a){const{companyId:n,companyLegalName:t}=a;return{chargeCardSetupView:Pa(e,n),admins:a.adminList,companyLegalName:t}}),(function(e,a){const{navigate:n,companyId:t,isCompanyBusinessVerificationAndPaymentSetUpDone:s,isDebitCardSetupEnabled:f,isChargeCardSetupEnabled:b,signedInUser:m,location:A,productInformation:u,isEarlyPayEnabled:l,controllerEmails:B,chargeCardsCreditAccountLimit:_}=a;return{onSetupButtonClick:C=>{if(m!=null&&ee.trackCardsPromoPageClicked("enable cards"),s)switch(ee.trackCardsEnableCardsClick(B,u,"Cards Promo"),C){case"credit":e(qe(t,!0,"charge_cards",l,!1));break;case"debit":e(qe(t,!0,"debit_cards",l,!1));break;case"debit_and_credit":e(_===0?qe(t,!0,"debit_cards",l,!0):qe(t,!0,"charge_cards__debit_cards",l,!1))}else switch(ee.trackCardsSetupCardsClick(B,u,"Cards Promo"),C){case"credit":e(qe(t,!1,"charge_cards",l,!1));break;case"debit":e(qe(t,!1,"debit_cards",l,!1));break;case"debit_and_credit":e(_===0?qe(t,!1,"debit_cards",l,!0):qe(t,!1,"charge_cards__debit_cards",l,!1))}},onBackClick:()=>{const C=we(A.state?.pathnameStackToGoBack);let O=C.poppedPathname;O==null&&(O=f||b?"..":"../.."),n(O,{state:{pathnameStackToGoBack:C.newStack}})},onLetsGoClick:()=>{n("./onboard")},onSetupChargeCardSuccess:()=>{s?(e(Qa()),n("../",{relative:"path"})):n("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(Ko(t))}}}))(Dc),$i=()=>{const e=Ac(),a=ie(),{tenantEmailDomain:n}=Ve(),[t]=_n(),s=t.get("cardPromoType"),f=le(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),{isFeatureEnabled:l}=m(q.isDebitCardFeatureEnabled),{isFeatureEnabled:B}=m(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:_}=m(q.isChargeCardFeatureEnabled),{configValue:C}=b(Xe.zeniCardsConfig),O=d((Q=>ge(Q))),U=d((Q=>da(Q,O.companyId))),S=la(U.controllers),c=C.charge_card_cashback_rate_per_transaction!=null?C.charge_card_cashback_rate_per_transaction:.0175,p=me(),x=te.getSignedInUserTenant(n)?.companyId??O.companyId,E=d((Q=>Pa(Q,x))),I=E.primaryFundingAccount,k=O.companyBillPayInfo?.info,V=xe(O),w=Le(O),y=Be(l,O),F=O.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=Oe({isDebitCardFeatureEnabled:l,isBankingOnlyTenant:y}),g=Ue({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:_,isBookKeepingTenant:w,isDebitCardProductVisible:i,chargeCardsCreditAccountLimit:F}),R=_r({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:_,isBookKeepingTenant:w}),Z=i&&g===!1,M=k?.businessVerificationStatus?.code==="verified"&&(Z||I?.accType==="depositAccount"||Go(I?.providerVerificationStatus?.code??"")),L=te.getSignedInUser(),K=!!O.companyZeniAccountInfo?.info?.isZeniAccountEnabled,j=!!O.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,h=!!O.company?.companyChargeCardInfo?.isChargeCardEnabled,H=!!O.company?.companyDebitCardInfo?.isDebitCardEnabled,z=!!O.companyChargeCardInfo?.info?.isChargeCardEnabled,D=!!O.companyDebitCardInfo?.info?.isDebitCardEnabled,W=!!O.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,N=Q=>{u(Q)},G=d((Q=>Q.chargeCardSetupViewState.fetchState));if(L==null)throw Error("Can't access Charge Card promo page without signing in...");const v=Re(),T=Fe(v?.loggedInUserRoleMap),P=Ft(v?.loggedInUserRoleMap),[ae,Ce]=r.useState(!1),[X,Te]=r.useState(!1),[Ie,re]=r.useState(!1);r.useEffect((()=>{ae===!1&&p.state?.message==="activation"&&Ce(!0)}),[p.state]),r.useEffect((()=>{X||G!=="Not-Started"||x==null||(Te(!0),f(Da(x,!0)))}),[X,G,x,f]);const be=O.companyChargeCardInfo?.info!=null&&ya({cardInfo:O.companyChargeCardInfo.info,isProductVisible:R&&h,isTOSAccepted:j,isSetupEnabled:z,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:P}),pe=O.companyDebitCardInfo?.info!=null&&ya({cardInfo:O.companyDebitCardInfo.info,isProductVisible:i&&H,isTOSAccepted:W,isSetupEnabled:D,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:P}),he=i&&pe&&R&&F>=0&&be?"debit_and_credit":i&&pe?"debit":"credit",oe=xc(s,he),J=E?.chargeCardTermsDetails?.fetchStatus?.fetchState,Se=r.useRef(null);r.useEffect((()=>{J==="In-Progress"?Se.current=oe:J!=="Error"&&J!=="Not-Started"||(Se.current=null)}),[J,oe]);const _e=J!=="In-Progress"&&J!=="Completed"||Se.current==null?oe:Se.current;r.useEffect((()=>{oe==="credit"&&(z||R===!1&&D)||oe==="debit"&&D||oe==="debit_and_credit"&&D&&z?a("../"):(oe==="debit_and_credit"&&j===!0&&W===!0||oe==="credit"&&(j===!0||R===!1&&W===!0)||oe==="debit"&&W===!0)&&T===!0&&a("../setup")}),[M,z,D,oe,j,W]),r.useEffect((()=>{Ie||(f($o("cardAdmin")),re(!0))}),[Ie]);const fe=d((Q=>rr(Q.userState,Q.userRoleState,Q.userListViewState,"cardAdmin"))),ve=ea(R,i,D,z);return(Q=>{switch(Q){case"credit":return h;case"debit":return H;case"debit_and_credit":return h&&H;default:return!1}})(_e)?(be||pe)&&G==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{if(ee.trackPageLoaded(kr.Event.cardsPromoPage),!!R&&!z||!!i&&!D||!!R&&!!i&&!D&&!z){const Q=Ki({isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:z,isCreditCardProductVisibleForExpressInterest:R,isDebitCardProductVisible:i});ee.trackCardsPromoView(S,ve,"Page",Q,"Promo Page")}}}),o.jsx(tt,{showConfetti:ae}),o.jsx(Ae,{isAppContentDrawerOpen:A,handleDrawerToggle:N}),o.jsx(Gi,{signedInUser:L,location:p,meetingUrl:e("charge_card_promo"),showEnableCardButton:M,isCompanyBusinessVerificationAndPaymentSetUpDone:M,isChargeCardSetupEnabled:z,isDebitCardSetupEnabled:D,companyLegalName:O.companyName,adminList:fe.users,isCheckingEnabled:K,navigate:a,companyId:x,cardPromoType:_e,controllerEmails:S,productInformation:ve,isCreditCardProductVisible:g,isDebitCardFeatureEnabled:l,isEarlyPayEnabled:B,cashbackRate:c,chargeCardsCreditAccountLimit:F,onClickMenuIcon:()=>{N(!0)}})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:A,handleDrawerToggle:N}),o.jsx(_c,{})]}):o.jsx(Je,{to:"../",replace:!0})},Ki=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:a,isCreditCardProductVisibleForExpressInterest:n,isDebitCardProductVisible:t})=>n&&t&&!e&&!a?"Credit & Debit Card":n&&!a?"Credit Card":t&&!e?"Debit Card":"";function yd(){const e=me(),a=d((v=>ge(v))),{useFeatureGate:n}=de(),{isFeatureEnabled:t}=n(q.isChargeCardFeatureEnabled),{isFeatureEnabled:s}=n(q.isDebitCardFeatureEnabled),{isFeatureEnabled:f}=n(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:b}=n(q.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:m}=n(q.isCardPolicyEnabled),A=Be(s,a),u=Oe({isDebitCardFeatureEnabled:s,isBankingOnlyTenant:A}),l=Pc(a,t,s),B=!!a.company?.companyChargeCardInfo.isChargeCardTOSAccepted,_=!!a.company?.companyDebitCardInfo.isDebitCardTOSAccepted,C=!!a.company?.companyChargeCardInfo?.isChargeCardEnabled,O=!!a.company?.companyDebitCardInfo?.isDebitCardEnabled,U=!!a.companyChargeCardInfo?.info?.isChargeCardEnabled,S=!!a.companyDebitCardInfo?.info?.isDebitCardEnabled,c=Re(),p=Fe(c?.loggedInUserRoleMap),{isCardsShuttingDown:x}=Ir(a.tenantId,a.company?.managementInfo?.receiverEmails),E=Ft(c?.loggedInUserRoleMap),{isFeatureEnabled:I}=n(q.isCashbackFeatureEnabled),k=a.userRole.includes("charge_card_user"),V=!k,w=!k&&U,y=a?.userRole!=null&&zo(a?.userRole),F=(a?.company==null||a.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!y)&&Yo(c?.loggedInUserRoleMap),i=Wo(c?.loggedInUserRoleMap),g=(a?.company==null||a.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!y)&&qo(c?.loggedInUserRoleMap),{isFeatureEnabled:R}=n(q.isDepositAccountsFeatureEnabled),Z=R&&!y&&Gn(c?.loggedInUserRoleMap),M=U&&C&&!y,L=S&&O&&!y,K=l&&!y&&Fe(c?.loggedInUserRoleMap),j=Qo(c?.loggedInUserRoleMap),h=xe(a),H=Le(a),z=a.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Ue({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:t,isBookKeepingTenant:H,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:z}),W=a.companyChargeCardInfo?.info!=null&&ya({cardInfo:a.companyChargeCardInfo.info,isProductVisible:D&&C,isTOSAccepted:B,isSetupEnabled:U,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),N=a.companyDebitCardInfo?.info!=null&&ya({cardInfo:a.companyDebitCardInfo.info,isProductVisible:u&&O,isTOSAccepted:_,isSetupEnabled:S,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),G=W||N;return o.jsxs(os,{children:[p?o.jsx(ne,{path:"setup",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:Z,isChargeCardAdminLevelAccess:K,isUserHasOnlyCardAccess:j,isUserHasOnlyBillPayAccess:i,productType:"charge_cards",type:"setup"})}):null,p?o.jsx(ne,{path:"verification",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isUserHasOnlyBillPayAccess:i,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:Z,isChargeCardAdminLevelAccess:K,isUserHasOnlyCardAccess:j,productType:"charge_cards",type:"verification"})}):null,p&&m?o.jsxs(o.Fragment,{children:[o.jsx(ne,{path:"policy",element:o.jsx(Kc,{})}),o.jsx(ne,{path:"policy/new",element:o.jsx(Uc,{})}),o.jsx(ne,{path:"policy/:templateId/edit",element:o.jsx(Vc,{})})]}):null,o.jsx(ne,{path:"promo",element:o.jsx($i,{})}),M||L?o.jsxs(o.Fragment,{children:[o.jsx(ne,{path:"/",element:o.jsx(In,{isPaymentDrawerOpen:!1})}),K&&f?o.jsx(ne,{path:"payment",element:o.jsx(In,{isPaymentDrawerOpen:!0})}):null,o.jsx(ne,{path:"activate",element:o.jsx(Zi,{})}),o.jsx(ne,{path:"onboard",element:o.jsx(Pi,{})}),p&&x!==!0?o.jsx(ne,{path:"new",element:o.jsx(Mi,{})}):p?o.jsx(ne,{path:"new",element:o.jsx(Je,{to:"..",replace:!0})}):null,I&&V?o.jsx(ne,{path:"cashback",element:o.jsx(Qc,{})}):null,w?o.jsx(ne,{path:"statements",element:o.jsx(Ai,{})}):null,K&&b&&U?o.jsx(ne,{path:"payment-history",element:o.jsx(Ei,{})}):null,o.jsx(ne,{path:":cardId/activate",element:o.jsx(ei,{})}),o.jsx(ne,{path:":cardId/setPin",element:o.jsx(Fi,{})}),o.jsx(ne,{path:":cardId/addToWallet",element:o.jsx(zc,{})}),o.jsx(ne,{path:":cardId/*",element:o.jsx(li,{})}),o.jsx(ne,{path:"*",element:o.jsx(st,{})})]}):(B||_)&&p?o.jsx(ne,{path:"*",element:o.jsx(Je,{to:"../setup"})}):G?o.jsx(ne,{path:"*",element:o.jsx(Je,{to:"../promo",state:e.state})}):o.jsx(ne,{path:"*",element:null})]})}export{yd as default};
71
+ `,Hi=Pe((function(e,a){const{myPendingActivationChargeCardListState:n}=a;return{myPendingActivationChargeCardListView:n,uiState:n.uiState,signedInUser:a.signedInUser}}),(function(e,a){const{navigate:n,currentTenant:t,location:s,signedInUser:f,myPendingActivationChargeCardListState:b}=a,{tenantEmailDomain:m}=t,{cards:A}=b;return{onChargeCardRowClick:u=>{const l=Dr(A,u),B=De(m,u,f,l),_=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(B,{state:{pathnameStackToGoBack:_}})},onColumnSortConfigChanged:(u,l)=>{e(yt({uiState:{sortKey:u,sortOrder:l}}))},onReloadCards:()=>{e(Ne())},onBackClick:()=>{const u=t.userRole.includes("charge_card_user");e(yt({uiState:{sortKey:u?"cardName":"owner",sortOrder:"ascending"}})),n("../")}}}))(Ec);function Gi(){const e=ie(),a=le(),n=me(),t=Ot(),[s,f]=r.useState(!1),b=d((L=>Go(L))),m=d((L=>ge(L))),A=d((L=>da(L,m.companyId))),u=la(A.controllers),{useFeatureGate:l}=de(),{isFeatureEnabled:B}=l(q.isChargeCardFeatureEnabled),{isFeatureEnabled:_}=l(q.isDebitCardFeatureEnabled),C=Be(_,m),O=Oe({isDebitCardFeatureEnabled:_,isBankingOnlyTenant:C}),U=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,S=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,c=Re(),p=xe(m),x=Le(m),E=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ue({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:B,isBookKeepingTenant:x,isDebitCardProductVisible:O,chargeCardsCreditAccountLimit:E}),k=Fe(c?.loggedInUserRoleMap),V=d((L=>ma(L))),{creditAccount:w,creditAccountRepayment:y}=d((L=>ua(L))),F=d((L=>or(L))).cards.filter((L=>L.type.code.includes("debit"))).map((L=>L.connectedAccountId)),i=[...new Set(F)],g=d((L=>at(L,i)));r.useEffect((()=>{s||b.fetchState==="Completed"||b.fetchState==="In-Progress"||(f(!0),a(Ne()),a(qa()))}),[s,a,b.fetchState]),r.useEffect((()=>{if(b.fetchState==="Completed"&&b.cards.length===1&&R!=null){const L=De(m.tenantEmailDomain,b.cards[0].id,R,b.cards[0]);e(L,{state:{message:n.state?.message}})}}),[b.fetchState,b.cards]);const R=te.getSignedInUser();r.useEffect((()=>{w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&I&&S&&k&&a(Qe()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&k&&a(Tt()),g.fetchState!=="Completed"&&g.fetchState!=="In-Progress"&&O&&U&&k&&a(cr())}),[w.fetchState,y.fetchState,a,g.fetchState,O,U,k,I,S]);const G=ta(m);if(Nt({events:ha(G,Zr),onEvent:(L,z)=>{if(!Ni.has(L))return;const j=zt(z);if(L===pa){const h=ce(j?.card_id);if(h!=null){const H=Kt(j,h);if(H!=null)return void a(vt(H))}}a(Ne(!0))},onSubscribed:()=>{a(Ne(!0))}}),R==null)throw Error("Can't access address page without signing in...");const M=b.cards!=null&&b.cards.length>0;if(b.fetchState==="Completed"||M){const L=ea(I,O,U,S);return o.jsx(Vi,{children:o.jsx(Hi,{navigate:e,currentTenant:m,signedInUser:R,productInformation:L,myPendingActivationChargeCardListState:b,isChargeCardFeatureEnabled:I,isDebitCardFeatureEnabled:O,isDebitCardSetupEnabled:U,isChargeCardSetupEnabled:S,chargeCardCashbackDetailState:V,creditAccount:w,creditAccountRepayment:y,depositAccountListWithDebitCardIssued:g,controllerEmails:u,location:n})})}return o.jsx(wa,{fetchState:"In-Progress",style:{backgroundColor:t.colors.grey5}})}const $i=Pe((function(e,a){const{companyId:n,companyLegalName:t}=a;return{chargeCardSetupView:Pa(e,n),admins:a.adminList,companyLegalName:t}}),(function(e,a){const{navigate:n,companyId:t,isCompanyBusinessVerificationAndPaymentSetUpDone:s,isDebitCardSetupEnabled:f,isChargeCardSetupEnabled:b,signedInUser:m,location:A,productInformation:u,isEarlyPayEnabled:l,controllerEmails:B,chargeCardsCreditAccountLimit:_}=a;return{onSetupButtonClick:C=>{if(m!=null&&ee.trackCardsPromoPageClicked("enable cards"),s)switch(ee.trackCardsEnableCardsClick(B,u,"Cards Promo"),C){case"credit":e(qe(t,!0,"charge_cards",l,!1));break;case"debit":e(qe(t,!0,"debit_cards",l,!1));break;case"debit_and_credit":e(_===0?qe(t,!0,"debit_cards",l,!0):qe(t,!0,"charge_cards__debit_cards",l,!1))}else switch(ee.trackCardsSetupCardsClick(B,u,"Cards Promo"),C){case"credit":e(qe(t,!1,"charge_cards",l,!1));break;case"debit":e(qe(t,!1,"debit_cards",l,!1));break;case"debit_and_credit":e(_===0?qe(t,!1,"debit_cards",l,!0):qe(t,!1,"charge_cards__debit_cards",l,!1))}},onBackClick:()=>{const C=we(A.state?.pathnameStackToGoBack);let O=C.poppedPathname;O==null&&(O=f||b?"..":"../.."),n(O,{state:{pathnameStackToGoBack:C.newStack}})},onLetsGoClick:()=>{n("./onboard")},onSetupChargeCardSuccess:()=>{s?(e(Qa()),n("../",{relative:"path"})):n("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(zo(t))}}}))(Dc),Zi=()=>{const e=Ac(),a=ie(),{tenantEmailDomain:n}=Ve(),[t]=_n(),s=t.get("cardPromoType"),f=le(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),{isFeatureEnabled:l}=m(q.isDebitCardFeatureEnabled),{isFeatureEnabled:B}=m(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:_}=m(q.isChargeCardFeatureEnabled),{configValue:C}=b(Xe.zeniCardsConfig),O=d((Q=>ge(Q))),U=d((Q=>da(Q,O.companyId))),S=la(U.controllers),c=C.charge_card_cashback_rate_per_transaction!=null?C.charge_card_cashback_rate_per_transaction:.0175,p=me(),x=te.getSignedInUserTenant(n)?.companyId??O.companyId,E=d((Q=>Pa(Q,x))),I=E.primaryFundingAccount,k=O.companyBillPayInfo?.info,V=xe(O),w=Le(O),y=Be(l,O),F=O.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,i=Oe({isDebitCardFeatureEnabled:l,isBankingOnlyTenant:y}),g=Ue({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:_,isBookKeepingTenant:w,isDebitCardProductVisible:i,chargeCardsCreditAccountLimit:F}),R=_r({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:_,isBookKeepingTenant:w}),G=i&&g===!1,M=k?.businessVerificationStatus?.code==="verified"&&(G||I?.accType==="depositAccount"||$o(I?.providerVerificationStatus?.code??"")),L=te.getSignedInUser(),z=!!O.companyZeniAccountInfo?.info?.isZeniAccountEnabled,j=!!O.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,h=!!O.company?.companyChargeCardInfo?.isChargeCardEnabled,H=!!O.company?.companyDebitCardInfo?.isDebitCardEnabled,K=!!O.companyChargeCardInfo?.info?.isChargeCardEnabled,D=!!O.companyDebitCardInfo?.info?.isDebitCardEnabled,W=!!O.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,N=Q=>{u(Q)},$=d((Q=>Q.chargeCardSetupViewState.fetchState));if(L==null)throw Error("Can't access Charge Card promo page without signing in...");const v=Re(),T=Fe(v?.loggedInUserRoleMap),P=Ft(v?.loggedInUserRoleMap),[ae,Ce]=r.useState(!1),[X,Te]=r.useState(!1),[Ie,re]=r.useState(!1);r.useEffect((()=>{ae===!1&&p.state?.message==="activation"&&Ce(!0)}),[p.state]),r.useEffect((()=>{X||$!=="Not-Started"||x==null||(Te(!0),f(Da(x,!0)))}),[X,$,x,f]);const be=O.companyChargeCardInfo?.info!=null&&ya({cardInfo:O.companyChargeCardInfo.info,isProductVisible:R&&h,isTOSAccepted:j,isSetupEnabled:K,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:P}),pe=O.companyDebitCardInfo?.info!=null&&ya({cardInfo:O.companyDebitCardInfo.info,isProductVisible:i&&H,isTOSAccepted:W,isSetupEnabled:D,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:P}),he=i&&pe&&R&&F>=0&&be?"debit_and_credit":i&&pe?"debit":"credit",oe=xc(s,he),J=E?.chargeCardTermsDetails?.fetchStatus?.fetchState,Se=r.useRef(null);r.useEffect((()=>{J==="In-Progress"?Se.current=oe:J!=="Error"&&J!=="Not-Started"||(Se.current=null)}),[J,oe]);const _e=J!=="In-Progress"&&J!=="Completed"||Se.current==null?oe:Se.current;r.useEffect((()=>{oe==="credit"&&(K||R===!1&&D)||oe==="debit"&&D||oe==="debit_and_credit"&&D&&K?a("../"):(oe==="debit_and_credit"&&j===!0&&W===!0||oe==="credit"&&(j===!0||R===!1&&W===!0)||oe==="debit"&&W===!0)&&T===!0&&a("../setup")}),[M,K,D,oe,j,W]),r.useEffect((()=>{Ie||(f(Zo("cardAdmin")),re(!0))}),[Ie]);const fe=d((Q=>rr(Q.userState,Q.userRoleState,Q.userListViewState,"cardAdmin"))),ve=ea(R,i,D,K);return(Q=>{switch(Q){case"credit":return h;case"debit":return H;case"debit_and_credit":return h&&H;default:return!1}})(_e)?(be||pe)&&$==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{if(ee.trackPageLoaded(kr.Event.cardsPromoPage),!!R&&!K||!!i&&!D||!!R&&!!i&&!D&&!K){const Q=zi({isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:K,isCreditCardProductVisibleForExpressInterest:R,isDebitCardProductVisible:i});ee.trackCardsPromoView(S,ve,"Page",Q,"Promo Page")}}}),o.jsx(tt,{showConfetti:ae}),o.jsx(Ae,{isAppContentDrawerOpen:A,handleDrawerToggle:N}),o.jsx($i,{signedInUser:L,location:p,meetingUrl:e("charge_card_promo"),showEnableCardButton:M,isCompanyBusinessVerificationAndPaymentSetUpDone:M,isChargeCardSetupEnabled:K,isDebitCardSetupEnabled:D,companyLegalName:O.companyName,adminList:fe.users,isCheckingEnabled:z,navigate:a,companyId:x,cardPromoType:_e,controllerEmails:S,productInformation:ve,isCreditCardProductVisible:g,isDebitCardFeatureEnabled:l,isEarlyPayEnabled:B,cashbackRate:c,chargeCardsCreditAccountLimit:F,onClickMenuIcon:()=>{N(!0)}})]}):o.jsxs(o.Fragment,{children:[o.jsx(Ae,{isAppContentDrawerOpen:A,handleDrawerToggle:N}),o.jsx(_c,{})]}):o.jsx(Je,{to:"../",replace:!0})},zi=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:a,isCreditCardProductVisibleForExpressInterest:n,isDebitCardProductVisible:t})=>n&&t&&!e&&!a?"Credit & Debit Card":n&&!a?"Credit Card":t&&!e?"Debit Card":"";function Id(){const e=me(),a=d((v=>ge(v))),{useFeatureGate:n}=de(),{isFeatureEnabled:t}=n(q.isChargeCardFeatureEnabled),{isFeatureEnabled:s}=n(q.isDebitCardFeatureEnabled),{isFeatureEnabled:f}=n(q.isEarlyPayFeatureEnabled),{isFeatureEnabled:b}=n(q.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:m}=n(q.isCardPolicyEnabled),A=Be(s,a),u=Oe({isDebitCardFeatureEnabled:s,isBankingOnlyTenant:A}),l=Pc(a,t,s),B=!!a.company?.companyChargeCardInfo.isChargeCardTOSAccepted,_=!!a.company?.companyDebitCardInfo.isDebitCardTOSAccepted,C=!!a.company?.companyChargeCardInfo?.isChargeCardEnabled,O=!!a.company?.companyDebitCardInfo?.isDebitCardEnabled,U=!!a.companyChargeCardInfo?.info?.isChargeCardEnabled,S=!!a.companyDebitCardInfo?.info?.isDebitCardEnabled,c=Re(),p=Fe(c?.loggedInUserRoleMap),{isCardsShuttingDown:x}=Ir(a.tenantId,a.company?.managementInfo?.receiverEmails),E=Ft(c?.loggedInUserRoleMap),{isFeatureEnabled:I}=n(q.isCashbackFeatureEnabled),k=a.userRole.includes("charge_card_user"),V=!k,w=!k&&U,y=a?.userRole!=null&&Ko(a?.userRole),F=(a?.company==null||a.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!y)&&Yo(c?.loggedInUserRoleMap),i=Wo(c?.loggedInUserRoleMap),g=(a?.company==null||a.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!y)&&qo(c?.loggedInUserRoleMap),{isFeatureEnabled:R}=n(q.isDepositAccountsFeatureEnabled),G=R&&!y&&$n(c?.loggedInUserRoleMap),M=U&&C&&!y,L=S&&O&&!y,z=l&&!y&&Fe(c?.loggedInUserRoleMap),j=Qo(c?.loggedInUserRoleMap),h=xe(a),H=Le(a),K=a.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Ue({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:t,isBookKeepingTenant:H,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:K}),W=a.companyChargeCardInfo?.info!=null&&ya({cardInfo:a.companyChargeCardInfo.info,isProductVisible:D&&C,isTOSAccepted:B,isSetupEnabled:U,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),N=a.companyDebitCardInfo?.info!=null&&ya({cardInfo:a.companyDebitCardInfo.info,isProductVisible:u&&O,isTOSAccepted:_,isSetupEnabled:S,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),$=W||N;return o.jsxs(os,{children:[p?o.jsx(ne,{path:"setup",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:G,isChargeCardAdminLevelAccess:z,isUserHasOnlyCardAccess:j,isUserHasOnlyBillPayAccess:i,productType:"charge_cards",type:"setup"})}):null,p?o.jsx(ne,{path:"verification",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isUserHasOnlyBillPayAccess:i,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:G,isChargeCardAdminLevelAccess:z,isUserHasOnlyCardAccess:j,productType:"charge_cards",type:"verification"})}):null,p&&m?o.jsxs(o.Fragment,{children:[o.jsx(ne,{path:"policy",element:o.jsx(zc,{})}),o.jsx(ne,{path:"policy/new",element:o.jsx(Uc,{})}),o.jsx(ne,{path:"policy/:templateId/edit",element:o.jsx(Vc,{})})]}):null,o.jsx(ne,{path:"promo",element:o.jsx(Zi,{})}),M||L?o.jsxs(o.Fragment,{children:[o.jsx(ne,{path:"/",element:o.jsx(In,{isPaymentDrawerOpen:!1})}),z&&f?o.jsx(ne,{path:"payment",element:o.jsx(In,{isPaymentDrawerOpen:!0})}):null,o.jsx(ne,{path:"activate",element:o.jsx(Gi,{})}),o.jsx(ne,{path:"onboard",element:o.jsx(Pi,{})}),p&&x!==!0?o.jsx(ne,{path:"new",element:o.jsx(Mi,{})}):p?o.jsx(ne,{path:"new",element:o.jsx(Je,{to:"..",replace:!0})}):null,I&&V?o.jsx(ne,{path:"cashback",element:o.jsx(Qc,{})}):null,w?o.jsx(ne,{path:"statements",element:o.jsx(Ai,{})}):null,z&&b&&U?o.jsx(ne,{path:"payment-history",element:o.jsx(Ei,{})}):null,o.jsx(ne,{path:":cardId/activate",element:o.jsx(ei,{})}),o.jsx(ne,{path:":cardId/setPin",element:o.jsx(Fi,{})}),o.jsx(ne,{path:":cardId/addToWallet",element:o.jsx(Kc,{})}),o.jsx(ne,{path:":cardId/*",element:o.jsx(li,{})}),o.jsx(ne,{path:"*",element:o.jsx(st,{})})]}):(B||_)&&p?o.jsx(ne,{path:"*",element:o.jsx(Je,{to:"../setup"})}):$?o.jsx(ne,{path:"*",element:o.jsx(Je,{to:"../promo",state:e.state})}):o.jsx(ne,{path:"*",element:null})]})}export{Id as default};