@zeniai/web-app-ui 5.4.21-qa → 5.4.22-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 (179) hide show
  1. package/dist/assets/{AccountMappingScreen-DSIWi6s5.js → AccountMappingScreen-C5mOiJ2U.js} +2 -2
  2. package/dist/assets/ActualMatchingMatchDetailScreen-wHD8fSWU.js +1 -0
  3. package/dist/assets/AddressRoutes-CVWN9CJv.js +1 -0
  4. package/dist/assets/AddressScreen-DgUwrml_.js +9 -0
  5. package/dist/assets/AiCfoScreen-yDQ2sphg.js +22 -0
  6. package/dist/assets/{AppDrawer-DXTltxSC.js → AppDrawer-DzYZBC2G.js} +3 -3
  7. package/dist/assets/{BillPayApprovalRoutes-B5OXFSfw.js → BillPayApprovalRoutes-BcCgse3-.js} +1 -1
  8. package/dist/assets/BillPayRoutes-HAS0-pNc.js +119 -0
  9. package/dist/assets/BusinessVerificationPageScreen-DM_jBIuD.js +9 -0
  10. package/dist/assets/CardsAiCfoScreen-yrI2CL7M.js +14 -0
  11. package/dist/assets/ChargeCardRoutes-DgtmFgR6.js +71 -0
  12. package/dist/assets/CompanyPassportScreen-BLtXgkEd.js +1 -0
  13. package/dist/assets/ConnectionAuthScreen-CuZmfRIp.js +11 -0
  14. package/dist/assets/CustomerOnboardingAuthScreen-BjmJLllh.js +1 -0
  15. package/dist/assets/{CustomerOnboardingRoutes-CCsjVlGs.js → CustomerOnboardingRoutes-C0b805o-.js} +7 -7
  16. package/dist/assets/CustomersRoutes-DD5Gx1mW.js +8 -0
  17. package/dist/assets/DashboardRoutes-C8RZkkYj.js +20 -0
  18. package/dist/assets/DefaultTenantHome-C6Ygdgwt.js +1 -0
  19. package/dist/assets/DomesticWireDetailScreen-BxClNf2J.js +18 -0
  20. package/dist/assets/DrawerScreen-BHaectiO.js +1 -0
  21. package/dist/assets/EntityDetailRoutes-BJzuW7dq.js +1 -0
  22. package/dist/assets/ExpenseAutomationRoutes-BKrWZyYV.js +38 -0
  23. package/dist/assets/FallBackRoute-DuMHkNqk.js +2 -0
  24. package/dist/assets/FeaturePreviewScreen-DHt0WFS8.js +1 -0
  25. package/dist/assets/HubSpotOAuthCallbackScreen-Di0pbhHE.js +1 -0
  26. package/dist/assets/{InboxNotificationsProvider-CR8M19mz.js → InboxNotificationsProvider-CiKEEv6Q.js} +1 -1
  27. package/dist/assets/InvoicingRoutes-Bsq4ym98.js +3 -0
  28. package/dist/assets/MagicLinkRoutes-DJX5Nm1n.js +72 -0
  29. package/dist/assets/MagicLinkSignInScreen-CD7Pya_j.js +12 -0
  30. package/dist/assets/MobileAppDrawer-BWNb5zLN.js +1 -0
  31. package/dist/assets/NotFoundScreen-DXy-BCit.js +1 -0
  32. package/dist/assets/NotificationRoutes-B2xHVaqf.js +1 -0
  33. package/dist/assets/OAuthConsentScreen-BA2eBLib.js +1 -0
  34. package/dist/assets/PandLWithForecastRoutes-Dm5Vnr71.js +1 -0
  35. package/dist/assets/PaymentLinkScreen-CndVAq3p.js +21 -0
  36. package/dist/assets/PeopleRoutes-kralZgbz.js +22 -0
  37. package/dist/assets/PerformanceRoutes-DJhuo9qY.js +1 -0
  38. package/dist/assets/{Preview-DY7J6hF2.js → Preview--c8D4GAG.js} +1 -1
  39. package/dist/assets/{QBOConnectionScreen-CUY1FKXU.js → QBOConnectionScreen-DroXrkno.js} +2 -2
  40. package/dist/assets/ReimbursementApprovalRoutes-B2ftFL0O.js +1 -0
  41. package/dist/assets/ReimbursementApprovalRuleDetailScreen-CHTcY28V.js +1 -0
  42. package/dist/assets/{ReimbursementRoutes-BGuB1qNk.js → ReimbursementRoutes-CI3m7PHD.js} +9 -9
  43. package/dist/assets/ReportsRoutes-C7A0Ycu_.js +1 -0
  44. package/dist/assets/RewardsRoutes-Dkg4zGB8.js +1 -0
  45. package/dist/assets/{ScheduleDetailsPrepaidExpensesScreen-CY17Raf2.js → ScheduleDetailsPrepaidExpensesScreen-ZwdXW6K5.js} +5 -5
  46. package/dist/assets/ScreenRoutes-B_WT7FAm.js +2 -0
  47. package/dist/assets/{SettingsRoutes-ClmD3D2-.js → SettingsRoutes-_XBnyBgG.js} +6 -6
  48. package/dist/assets/{SetupPagesScreen-CZUQQDiy.js → SetupPagesScreen-D6ssIWb0.js} +5 -5
  49. package/dist/assets/SignInScreen-H_SOl_FQ.js +1 -0
  50. package/dist/assets/SignOutScreen-OFswrnt8.js +9 -0
  51. package/dist/assets/{TaskListScreen-DpbqjWaF.js → TaskListScreen-Bmj5V_dR.js} +2 -2
  52. package/dist/assets/TaskRoutes-D6cEqDZN.js +9 -0
  53. package/dist/assets/TransactionDetailRoutes-D-b6zdg4.js +1 -0
  54. package/dist/assets/TransactionDetailScreen-JBKbtouq.js +5 -0
  55. package/dist/assets/TransactionListRoutes-THtfycHC.js +1 -0
  56. package/dist/assets/TreasuryRoutes-CgHwdyKd.js +37 -0
  57. package/dist/assets/{VendorsRoutes-CyzrLUAk.js → VendorsRoutes-jETcYESc.js} +18 -18
  58. package/dist/assets/WiseConfirmationScreen-BpRHCykr.js +12 -0
  59. package/dist/assets/{ZeniAccountRoutes-vedqKXJ2.js → ZeniAccountRoutes-C8cr5UMy.js} +11 -11
  60. package/dist/assets/ZeniAccountStatementScreen-DAs1_LIC.js +9 -0
  61. package/dist/assets/{accountMappingHelper-6DbklLyK.js → accountMappingHelper-DSd2V454.js} +1 -1
  62. package/dist/assets/{analytics-CFxWPAfp.js → analytics-Vgn85Ur_.js} +4 -4
  63. package/dist/assets/analyticsHelper-CWMk7_rd.js +1 -0
  64. package/dist/assets/{core-Dj_sc5JU.js → core-CbdTrw7T.js} +1 -1
  65. package/dist/assets/{decodeURIComponentSafe-CruFQaAA.js → decodeURIComponentSafe-D7APy95S.js} +1 -1
  66. package/dist/assets/{dnd-5Q4l7GBy.js → dnd-DuiAlI7w.js} +1 -1
  67. package/dist/assets/empty-B1nH_ieU.js +1 -0
  68. package/dist/assets/{empty-90bgzNqS.js → empty-CjoB5KP4.js} +1 -1
  69. package/dist/assets/{emptyVideoElement-CG1lrSja.js → emptyVideoElement-B6iUrc8S.js} +1 -1
  70. package/dist/assets/epic-CCMzkkv8.js +2 -0
  71. package/dist/assets/expenseAutomationHelper-CgTsmmCm.js +1 -0
  72. package/dist/assets/getLocaleForTenant-B8EqveGi.js +1 -0
  73. package/dist/assets/{index-CknpfAr_.js → index-BFdcFsSo.js} +1 -1
  74. package/dist/assets/index-BNFAuGus.js +1 -0
  75. package/dist/assets/{index-CY0VD1jn.js → index-CnIO6_IQ.js} +14764 -14764
  76. package/dist/assets/{index-D3GdhLCV.js → index-DjPsG1Xt.js} +1 -1
  77. package/dist/assets/{index-DgM5Gz01.js → index-LGKtWUy9.js} +1 -1
  78. package/dist/assets/{index-LWpD9GrX.js → index-naWU0Itr.js} +2 -2
  79. package/dist/assets/{empty-UDJfEj2S.js → index-pWh5QyXZ.js} +1 -1
  80. package/dist/assets/{index-CGFget0-.js → index-wSCaSCb5.js} +1 -1
  81. package/dist/assets/{lexical-BzjAp4AL.js → lexical-B-vxEaRQ.js} +1 -1
  82. package/dist/assets/{liveblocks-ByIxqWJk.js → liveblocks-BLpmr1Pv.js} +15 -15
  83. package/dist/assets/{lottie-CelagD5x.js → lottie-Lb1ftKY1.js} +1 -1
  84. package/dist/assets/{mui-BYXLmEqm.js → mui-DNGY4bFU.js} +2 -2
  85. package/dist/assets/{pathToGoBack-BzjAj2pA.js → pathToGoBack-CJCquoqC.js} +1 -1
  86. package/dist/assets/{pdf-Ctx2ExfD.js → pdf-B1uD4Ovv.js} +3 -3
  87. package/dist/assets/{pdf-lib-CZyWp-Tq.js → pdf-lib-BKN88Kre.js} +1 -1
  88. package/dist/assets/{plaid-CLiLant-.js → plaid-DhfTjhua.js} +1 -1
  89. package/dist/assets/{pusher-4U4JTU2d.js → pusher-BPtf_EL-.js} +1 -1
  90. package/dist/assets/{react-BEae2nKv.js → react-B10NZVQI.js} +1 -1
  91. package/dist/assets/{react-DsOnQCnT.js → react-BAEKpD-r.js} +1 -1
  92. package/dist/assets/{react-BzAF6y_Y.js → react-Bhjp4pzB.js} +1 -1
  93. package/dist/assets/{react-CB4BsLSa.js → react-DEDzyvMl.js} +1 -1
  94. package/dist/assets/{react-RNadsjUA.js → react-DGl2P4dK.js} +1 -1
  95. package/dist/assets/{react-BsM3F52d.js → react-arX5WESX.js} +1 -1
  96. package/dist/assets/{recharts-PGbaLytC.js → recharts-CTh_JhT_.js} +1 -1
  97. package/dist/assets/{reportTimeframe-Dl2MfTSY.js → reportTimeframe-DeLnONFM.js} +1 -1
  98. package/dist/assets/{routePaths-CsEd-Pbs.js → routePaths-CV12X_S-.js} +1 -1
  99. package/dist/assets/{sentry-9XsSr7sR.js → sentry-DWNq3t8E.js} +2 -2
  100. package/dist/assets/{stripSplatSuffix-BjmSkzFi.js → stripSplatSuffix-DP9nmQOu.js} +1 -1
  101. package/dist/assets/{url-CHBhwoFp.js → url-B2x9G6No.js} +4 -4
  102. package/dist/assets/{url-Bl9O_rxx.js → url-BqlXUDAr.js} +1 -1
  103. package/dist/assets/useActualMatchingMatchDetail-D-Ym3wTm.js +1 -0
  104. package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-Dqg5VVaq.js +1 -0
  105. package/dist/assets/useAskAiCfoHostNavButtonProps-DXFswt7R.js +1 -0
  106. package/dist/assets/useChargeCardPusherEvents-Cq6Y4mMW.js +1 -0
  107. package/dist/assets/{useDeviceId-D9z31npB.js → useDeviceId-dj9QS4Ga.js} +1 -1
  108. package/dist/assets/useEmailConnectResultRefresh-qgk6N8cm.js +1 -0
  109. package/dist/assets/useEnsureVendorListLoaded-CIShbpK4.js +1 -0
  110. package/dist/assets/useInitialThreadRequest-DAUsQlCl.js +1 -0
  111. package/dist/assets/useIsCustomersTabEnabled-C6mkabn2.js +1 -0
  112. package/dist/assets/useTaskManagerAccess-Cm5trA3i.js +1 -0
  113. package/dist/assets/useTaskManagerPusherEvents-C1gzc-aA.js +1 -0
  114. package/dist/assets/{utils-DI6OGGjP.js → utils-CrhrpmD8.js} +2 -2
  115. package/dist/assets/{withTransactionSidePanel-BoHm4v8l.js → withTransactionSidePanel-D-hDwbdr.js} +5 -5
  116. package/dist/assets/{zeni-epic-state-RN9etYeQ.js → zeni-epic-state-C5DO1jkr.js} +7 -7
  117. package/dist/index.html +1 -1
  118. package/package.json +4 -4
  119. package/dist/assets/ActualMatchingMatchDetailScreen-fiFb522S.js +0 -1
  120. package/dist/assets/AddressRoutes-CZXccJVo.js +0 -1
  121. package/dist/assets/AddressScreen-D9ytAzo4.js +0 -9
  122. package/dist/assets/AiCfoScreen-CkU9Vttb.js +0 -22
  123. package/dist/assets/BillPayRoutes-BdnvTGKc.js +0 -119
  124. package/dist/assets/BusinessVerificationPageScreen-IdWkVeTs.js +0 -9
  125. package/dist/assets/CardsAiCfoScreen-Cj86rJgb.js +0 -14
  126. package/dist/assets/ChargeCardRoutes-DcPAOx8X.js +0 -71
  127. package/dist/assets/CompanyPassportScreen-DqB5oBcd.js +0 -1
  128. package/dist/assets/ConnectionAuthScreen-2sFx8558.js +0 -11
  129. package/dist/assets/CustomerOnboardingAuthScreen-BZZUKU2D.js +0 -1
  130. package/dist/assets/CustomersRoutes-b_GBDyKW.js +0 -8
  131. package/dist/assets/DashboardRoutes-DpXCoqPl.js +0 -20
  132. package/dist/assets/DefaultTenantHome-IBYOPnwd.js +0 -1
  133. package/dist/assets/DomesticWireDetailScreen-ClicUNfX.js +0 -18
  134. package/dist/assets/DrawerScreen-1iiJqYPf.js +0 -1
  135. package/dist/assets/EntityDetailRoutes-DGjLGj1f.js +0 -1
  136. package/dist/assets/ExpenseAutomationRoutes-nEe3PFTP.js +0 -38
  137. package/dist/assets/FeaturePreviewScreen-CWeorrAP.js +0 -1
  138. package/dist/assets/HubSpotOAuthCallbackScreen-rjJ7of46.js +0 -1
  139. package/dist/assets/InvoicingRoutes-WYyYgKyd.js +0 -3
  140. package/dist/assets/MagicLinkRoutes-CxOsj948.js +0 -72
  141. package/dist/assets/MagicLinkSignInScreen-CMCs7o4p.js +0 -12
  142. package/dist/assets/MobileAppDrawer-B4DreqQy.js +0 -1
  143. package/dist/assets/NotFoundScreen-qzMvf835.js +0 -1
  144. package/dist/assets/NotificationRoutes-B5b-HM0B.js +0 -1
  145. package/dist/assets/OAuthConsentScreen-BSYOAgnX.js +0 -1
  146. package/dist/assets/PandLWithForecastRoutes-BAqDgcrm.js +0 -1
  147. package/dist/assets/PaymentLinkScreen-uBCPj7U-.js +0 -21
  148. package/dist/assets/PeopleRoutes-CsLCmyJ2.js +0 -22
  149. package/dist/assets/PerformanceRoutes-DBaA-VPu.js +0 -1
  150. package/dist/assets/ReimbursementApprovalRoutes-BU3j473F.js +0 -1
  151. package/dist/assets/ReimbursementApprovalRuleDetailScreen-Cwcu8o11.js +0 -1
  152. package/dist/assets/ReportsRoutes-D3JsKyFt.js +0 -1
  153. package/dist/assets/RewardsRoutes-Y44oe2Vc.js +0 -1
  154. package/dist/assets/ScreenRoutes-DWsCKyWW.js +0 -2
  155. package/dist/assets/SignInScreen-D6NmDWFW.js +0 -1
  156. package/dist/assets/SignOutScreen-Bq9qzL9T.js +0 -9
  157. package/dist/assets/TaskRoutes-BF3MK68Y.js +0 -9
  158. package/dist/assets/TransactionDetailRoutes-B9-OGoe1.js +0 -1
  159. package/dist/assets/TransactionDetailScreen-P7tVSby5.js +0 -5
  160. package/dist/assets/TransactionListRoutes-rF93JJZz.js +0 -1
  161. package/dist/assets/TreasuryRoutes-CXZ3GK1g.js +0 -37
  162. package/dist/assets/WiseConfirmationScreen-B5Y7a2RT.js +0 -12
  163. package/dist/assets/ZeniAccountStatementScreen-BlGO2V-T.js +0 -9
  164. package/dist/assets/analyticsHelper-Cz_Jj03m.js +0 -1
  165. package/dist/assets/epic-COLv6VHe.js +0 -2
  166. package/dist/assets/expenseAutomationHelper-Cl03EVHW.js +0 -1
  167. package/dist/assets/getLocaleForTenant-Cb0gGUXK.js +0 -1
  168. package/dist/assets/index-CupGsprQ.js +0 -1
  169. package/dist/assets/index-fIzifU8E.js +0 -1
  170. package/dist/assets/useActualMatchingMatchDetail-B1mBWE-P.js +0 -1
  171. package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-BjbLlJPK.js +0 -1
  172. package/dist/assets/useAskAiCfoHostNavButtonProps-KhabBRdb.js +0 -1
  173. package/dist/assets/useChargeCardPusherEvents-CAaJDucS.js +0 -1
  174. package/dist/assets/useEmailConnectResultRefresh-h6IoQxvO.js +0 -1
  175. package/dist/assets/useEnsureVendorListLoaded-vYAJo8rK.js +0 -1
  176. package/dist/assets/useInitialThreadRequest-BsXsay8_.js +0 -1
  177. package/dist/assets/useIsCustomersTabEnabled-CjgNHh2z.js +0 -1
  178. package/dist/assets/useTaskManagerAccess-5u2jYjXE.js +0 -1
  179. package/dist/assets/useTaskManagerPusherEvents-BZR3VVVu.js +0 -1
@@ -1,71 +0,0 @@
1
- import{j as o}from"./liveblocks-ByIxqWJk.js";import{u as le,j as d,h as ie,g as me,i as Ve,N as Qe,s as Dt,l as Pe,t as Dn,n as os,o as ne}from"./core-Dj_sc5JU.js";import{fW as _t,a1m as cs,g6 as Pt,bv as Fe,a1n as is,a1o as ds,fL as hn,a1p as _n,fU as Pn,a1q as wn,a1r as vn,a1s as Tn,a1t as Fn,fV as xn,g5 as Ln,a1u as Bn,a1v as ls,f$ as us,f_ as ms,a1w as Cs,KP as Rn,g8 as ia,a1x as ps,a1y as hs,fN as fs,fM as gs,gl as We,g1 as On,g0 as Un,a1z as bs,g2 as Ss,Kl as ys,Kk as Is,Ko as ks,Kq as Es,ge as As,fI as jn,a1A as Ds,a1B as _s,gj as Mn,a1C as Ps,gk as St,Kw as ws,Kt as vs,fJ as ge,a1D as Za,e1 as xe,dm as Le,e2 as Be,h3 as da,cE as la,a1E as ua,a1F as wt,Dy as Ga,mc as $a,a1G as za,L3 as Ia,g9 as Je,L5 as vt,m2 as Nn,a1H as ma,KT as Da,a1I as Ts,a1J as Fs,KW as qa,a1K as xs,_x as Ja,g4 as Vn,L0 as ga,iv as Ls,a1L as Hn,fX as Ca,br as Bs,a1M as Rs,gK as Qa,gJ as Xa,Lz as Os,gI as et,a1N as Gn,cx as $n,de as Us,_w as Pa,M8 as zn,a1O as fn,LK as _a,a1P as Kn,M9 as js,_X as Ms,Ma as Ns,Ni as Vs,CO as Hs,Nc as Gs,a1Q as $s,L4 as oa,a1R as zs,a1S as Ks,a1T as Ws,a1U as Ys,a1V as Zs,a1W as Tt,a1X as qs,Lk as Wn,Ld as Js,a1Y as Qs,h5 as Xs,a1Z as Yn,Lt as Zn,Lx as qn,h4 as eo,a1_ as ao,LW as Jn,a1$ as to,a20 as no,a21 as ro,Lv as Qn,Lg as Xn,KZ as er,Lp as ar,Ln as tr,Lr as so,a22 as nr,a23 as oo,gg as co,gh as io,gi as lo,a24 as at,ga as rr,dg as Ft,a25 as uo,a26 as mo,a27 as Co,a28 as po,LF as yt,M1 as ho,LZ as fo,LB as go,L$ as bo,LR as So,LT as yo,a29 as sr,M7 as Ha,Te as Io,a2a as ko,a2b as Eo,a2c as Ao,a2d as or,a2e as Do,Mu as _o,LJ as cr,LE as Ne,LI as Po,a2f as wo,a2g as vo,KQ as To,a2h as ir,g3 as dr,a2i as Fo,KS as xo,KR as gn,a2j as Lo,a2k as Bo,a2l as Ro,Wq as Oo,a2m as xt,a2n as Uo,xN as lr,mM as jo,ik as Mo,Mz as No,a2o as ur,fR as Vo,fS as Ho,a2p as Go,dS as $o,g7 as zo,Mp as Ko,Mj as qe,bq as Wo,bM as Yo,cK as Zo,bN as qo,Ve as Jo}from"./zeni-epic-state-RN9etYeQ.js";import{V as Re,dh as mr,a2 as we,di as Cr,dj as pr,dk as Qo,G as aa,aq as Lt,dl as Xo,dm as ec,a as hr,d as fr,ap as gr,j as Ee,p as de,_ as q,g as Sa,dn as br,dp as ac,dq as tc,z as te,a5 as wa,d6 as tt,dr as nc,ds as rc,dt as sc,$ as va,bl as Xe,bI as Bt,du as oc,a9 as Ta,W as nt,h as ee,w as rt,dv as cc,bU as ba,dw as It,dx as ic,a6 as Rt,dy as dc,ac as Sr,at as kt,dz as lc,ao as yr,R as Ir,Q as kr,bq as uc,dA as mc,dB as Cc,dC as pc,dD as hc,dE as fc,dF as gc,E as Ka,dG as bc,dH as Sc,m as pt,v as yc,dI as Ic,dJ as kc,dK as Ec,ag as Ac,dL as Dc,dM as _c,f as Pc}from"./index-CY0VD1jn.js";import{n as He,u as Ot,D as Er,S as wc}from"./mui-BYXLmEqm.js";import{a as r}from"./sentry-9XsSr7sR.js";import{u as Fa}from"./useAskAiCfoHostNavButtonProps-KhabBRdb.js";import{M as Ae}from"./MobileAppDrawer-B4DreqQy.js";import{d as Ut}from"./recharts-PGbaLytC.js";import{g as _e,a as xa,b as Ar,c as Oe,d as Ue,e as ea,f as ta,h as na,A as vc,i as jt,P as Tc,j as Mt,s as ya,k as Dr,l as ca,m as _r,n as Fc,o as Pr,p as xc,S as bn}from"./SetupPagesScreen-CZUQQDiy.js";import{u as wr}from"./useInitialThreadRequest-BsXsay8_.js";import st from"./NotFoundScreen-qzMvf835.js";import{u as Nt}from"./useChargeCardPusherEvents-CAaJDucS.js";import{n as Sn}from"./utils-DI6OGGjP.js";import{t as Lc}from"./AddressScreen-D9ytAzo4.js";import"./analytics-CFxWPAfp.js";import"./plaid-CLiLant-.js";import"./dnd-5Q4l7GBy.js";import"./stripe-cKAAJElX.js";import"./lottie-CelagD5x.js";import"./lexical-BzjAp4AL.js";import"./pdf-Ctx2ExfD.js";import"./InboxNotificationsProvider-CR8M19mz.js";import"./useTaskManagerAccess-5u2jYjXE.js";import"./useIsCustomersTabEnabled-CjgNHh2z.js";import"./BusinessVerificationPageScreen-IdWkVeTs.js";import"./routePaths-CsEd-Pbs.js";import"./analyticsHelper-Cz_Jj03m.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]="31ab952b-f4d3-4772-8d1d-5f08aef78edb",e._sentryDebugIdIdentifier="sentry-dbid-31ab952b-f4d3-4772-8d1d-5f08aef78edb")}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}},vr=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 Tr(){const e=le(),a=d((t=>_t(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=d((P=>_n(P.cardPolicyState))),C=d((P=>Pn(P.cardPolicyState))),O=d((P=>wn(P.cardPolicyState))),U=d((P=>vn(P.cardPolicyState))),S=d((P=>Tn(P.cardPolicyState))),c=d((P=>Fn(P.cardPolicyState))),p=d((P=>xn(P.cardPolicyState))),x=d((P=>_t(P.cardPolicyState))),E=d((P=>P.chargeCardConfigState.receiptRequiredAboveAmount.amount)),I=d((P=>P.chargeCardConfigState.fetchState));r.useEffect((()=>{D!=="Completed"&&D!=="In-Progress"&&t(Ln())}),[t,D]),Tr();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(vr)),[i.cards]),M=D==="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 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]),W=r.useCallback((()=>{e(h)}),[e,h]),_=r.useCallback((P=>{t(hs(P))}),[t]),Z=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]),T=r.useRef(j);r.useEffect((()=>{const P=T.current;T.current=j,j==="Completed"&&P!=="Completed"&&V!=null&&(t(We({messageSection:"card_policy_created",messageText:"success",type:"success"})),e(h))}),[t,j,V,e,h]);const v=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(Qo,{formDraft:F,vendorSearchOptions:R,categorySearchOptions:g,isVendorSearchLoading:x==="In-Progress",onVendorSearchTextChange:K,submitState:j,submitErrorMessage:v,documentUploadState:w,uploadedFileName:y,isAiCfoAccessEnabled:l,onAskAiCfoClick:B,onBackClick:H,onCancelClick:W,onClickMenuIcon:u,onFormChange:_,onSubmit:Z,onUploadDocument:N,onRemoveDocument:$})]}):o.jsx(Qe,{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((v=>{A(v)}),[]),l=r.useCallback((()=>{u(!0)}),[u]),{isAiCfoAccessEnabled:B,onAskAiCfoClick:D}=Fa({mobileExploreReferrer:"Card Policy"}),C=d((v=>bs(v))),O=d((v=>_n(v.cardPolicyState))),U=d((v=>Pn(v.cardPolicyState))),S=d((v=>wn(v.cardPolicyState))),c=d((v=>vn(v.cardPolicyState))),p=d((v=>Tn(v.cardPolicyState))),x=d((v=>Fn(v.cardPolicyState))),E=d((v=>xn(v.cardPolicyState))),I=d((v=>_t(v.cardPolicyState))),k=d((v=>Rn(v))),V=d((v=>t!=null?Ss(v.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 v=C.detailFetchState.fetchState;C.templateId===t&&(v==="Completed"||v==="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]),Tr();const y=d((v=>v.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((v=>!mr(v.status.code))).map(vr)),[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 K=r.useCallback((v=>{M(v)}),[]),j=r.useMemo((()=>Ut((v=>{s(Pt(v))}),250)),[s]);r.useEffect((()=>()=>{j.cancel()}),[j]);const h=r.useCallback((v=>{j(v)}),[j]),H=C.updateFetchState.fetchState,W=n!=null?`/${n}/cards/policy`:"..",_=r.useCallback((()=>{const v=we(a.state?.pathnameStackToGoBack),P=v.poppedPathname??W;e(P,{state:{pathnameStackToGoBack:v.newStack}})}),[a.state,e,W]),Z=r.useCallback((()=>{e(W)}),[e,W]),N=r.useCallback((v=>{if(t==null)return;const P=Cr(v);s(ks(P)),s(Es(t))}),[s,t]),$=r.useRef(H);r.useEffect((()=>{const v=$.current;$.current=H,H==="Completed"&&v!=="Completed"&&(s(We({messageSection:"card_policy_updated",messageText:"success",type:"success"})),e(W))}),[s,H,e,W]);const T=H==="Error"?C.updateFetchState.error?.message??jc.updatePolicyGenericErrorMessage:void 0;return!b||n==null||t==null?o.jsx(Qe,{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:T,isAiCfoAccessEnabled:B,onAskAiCfoClick:D,onBackClick:_,onCancelClick:Z,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:_,onClickMenuIcon:l,isAiCfoAccessEnabled:B,onAskAiCfoClick:D})]})}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))),Dt)}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 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:D}=l(q.isCardPolicyEnabled),{isAiCfoAccessEnabled:C,onAskAiCfoClick:O}=Fa({mobileExploreReferrer:"Card Policy"}),U=d((h=>Ds(h))),S=d((h=>Bn(h.createCardPolicyState))),c=d((h=>_s(h.createCardPolicyState))),p=d((h=>c==null?[]:Mn(h.aiCfoState,c).filter((H=>H.kind==="creating_policy"))),Dt),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(We({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(We({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:W,isFileUploadEnabled:_}=h,Z=ie(),N=me(),{tenantEmailDomain:$}=Ve(),{isAiCfoOpen:T,setIsAiCfoOpen:v}=hr(),P=fr(),ae=gr(),Ce=d((J=>jn(J))).createSessionAndSubmitState.fetchState==="In-Progress",{chips:X,isResolved:ve}=xr("card_policy"),Ie=r.useMemo((()=>Fr(X,ve,3)),[X,ve]),[re,be]=r.useState(""),pe=ae&&P&&$!=null&&!T,he=r.useCallback((J=>{if($==null)return;const Ge=Ee(N.state?.pathnameStackToGoBack,N.pathname);Z(`/${$}/cards/ask`,{state:{message:"",origin:"",pathnameStackToGoBack:Ge,referrer:"card_policy_hero",aiCfoInitialQuestion:J,aiCfoShouldSubmit:J!=null&&J.trim().length>0}})}),[N.pathname,N.state,Z,$]),oe=r.useCallback((J=>{J.trim().length!==0&&(be(""),he(J))}),[he]),Q=r.useCallback((()=>{const J=re.trim();J.length!==0&&(be(""),he(J))}),[re,he]),Se=r.useCallback((()=>{}),[]),De=r.useCallback((J=>{be(J)}),[]),fe=r.useCallback((()=>{v(!0)}),[v]),Te=r.useCallback((()=>{he(void 0)}),[he]);return r.useMemo((()=>{if(pe&&!H&&W)return{aiAgentName:$c,headline:Hc,subheadline:Gc,promptChips:Ie,composer:{currentInput:re,isSubmitting:Ce,isFileUploadEnabled:_,onInputChange:De,onSubmit:Q,onStopSubmit:Se},onPromptClick:oe,onOpenSidePanel:fe,onOpenFullView:Te,dataTestIdPrefix:"card-policy-ai-cfo-hero"}}),[re,H,pe,W,_,Ce,De,Te,fe,oe,Se,Q,Ie])})({hasAnyPolicies:F,isChargeCardAdmin:f,isFileUploadEnabled:B}),g=D&&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]),K=r.useCallback((h=>{t(vs(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:K,onClickMenuIcon:u,policyAiCfoHero:g,isAiCfoAccessEnabled:R,onAskAiCfoClick:O})]})}function Wc(){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=>Za(X).firstViewAfterActivation));if(a==null)throw Error("Empty card id is not valid...");const B=s.userRole.includes("charge_card_user"),{isFeatureEnabled:D}=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:D,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,K=d((X=>L!=null?Ga(X.userRoleState,L):void 0)),j=K?.accountingClassIDs[0],h=d((X=>j!=null?$a(X.classState,{classId:j,reportId:"class_list"}):void 0)),H=M?.cardHolderUser?.userId,W=d((X=>H!=null?Ga(X.userRoleState,H):void 0)),_=W?.accountingClassIDs[0],Z=d((X=>_!=null?$a(X.classState,{classId:_,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(We({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=_e(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(Je()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&E&&C&&b&&n(vt()),F!=="Completed"&&F!=="In-Progress"&&n(Nn())}),[w.fetchState,y.fetchState,n,E,C,b,F]);const T=()=>{if(t!=null&&a!=null){n(za());const X=_e(s.tenantEmailDomain,a,t);e(X)}},v=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(v,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:T,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:W?.userRoles,cardHolderDepartmentName:Z?.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}`)),Zc=[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(Ts({uiState:{sortKey:a,sortOrder:n}}))}}}))(sc);function Jc(){const e=ie(),a=le(),n=me(),t=te.getSignedInUser(),s=d((D=>ge(D))),[f,b]=r.useState(!1),m=d((D=>ma(D))),A=wr(s.companyId,{clearParams:m.fetchState==="Completed"}),u=r.useCallback((()=>{const D=we(n.state?.pathnameStackToGoBack),C=D.poppedPathname??Qc(s.tenantEmailDomain);e(C,{state:{pathnameStackToGoBack:D.newStack}})}),[e,n,s.tenantEmailDomain]),l=ta(s);if(Nt({events:ha(l,Zc),onEvent:D=>{switch(D){case Ba:case La:return void a(Da(!0))}},onSubscribed:()=>{a(Da(!0))}}),r.useEffect((()=>{f||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(b(!0),a(Da()))}),[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 Qc=e=>`/${e}/cards`,Xc={containerWidth:new Ta(100,58)},ei=({appContent:e})=>{const a=va(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b}=de(),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,D]=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((Z=>ge(Z)));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((Z=>Fs(Z,s))),E=x.chargeCard,I=d((Z=>Z.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}),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 Z=_e(S.tenantEmailDomain,s,U,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(Z,{state:{pathnameStackToGoBack:N}})}else if(B&&x.isRefreshingViewInBackground===!1&&E?.status?.code==="active"){n(xs({chargeCardId:s}));const Z=_e(S.tenantEmailDomain,s,U,E,!0),N=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Ja()),t(Z,{state:{pathnameStackToGoBack:N}})}}}),[x.fetchState,E?.type.code,B,x.isRefreshingViewInBackground]);const h=te.getZeniOtpTokenForCardHolder(s),H=d((Z=>Vn(Z.userState,U.userId))),W=()=>{E?.status?.code!=="active"&&n(ga(s,!0))};r.useEffect((()=>{x.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&E?.cardActivationAttemptHistory.some((Z=>Z.statusCode==="success"))===!0&&B===!1&&(setTimeout(W,3e3),D(!0))}),[x.updatePhysicalChargeCardAttemptFetchState.fetchState,E?.cardActivationAttemptHistory]);const _=Z=>{O(Z)};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:_}),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:()=>{_(!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(Qa(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
- display: flex;
3
- flex-direction: column;
4
- width: ${e=>`${Xc.containerWidth.value(e.windowSize)}%`};
5
- ${e=>e.windowSize!=="small"?"overflow: auto;":""}
6
- `,ni=He.div`
7
- display: flex;
8
- min-height: 100%;
9
- width: 100%;
10
- flex: 1 1 auto;
11
- flex-direction: column;
12
- align-items: center;
13
- background-color: ${e=>e.theme.colors.grey4};
14
- `,Wa=aa.getLocalizedStrings().dateFormat,ri={overlayWidth:new Ta(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:D,debitAccountInformation:C,paymentInitiatedDate:O,sourcePage:U}=a,{tenantEmailDomain:S}=t,c=()=>{e(zn(!0));const p=ta(t);p!=null&&p!==""&&e(_a(p,!0,!0)),e(Je(!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(Wa.visual.MMMDCommaYYYYformat),paymentInitiatedDate:O?.format(Wa.visual.MMMDCommaYYYYformat)},B,D,C),U==="cardPaymentHistory")a.closeDrawerHandler(!0),e(Kn());else{const p=na(S);n(p)}},onUpdatePaymentAccountStatus:(p,x,E)=>{e(Gs(p,x,"bill_pay","bill_pay_detail",E))},onEstablishConnectionSuccess:()=>{e(_a(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:D,retryRepayment:C})=>{const O=ie(),{useDynamicConfig:U}=de(),S=d(($=>Gn($))),{creditAccount:c}=d(($=>ua($))),p=d(($=>ge($))),x=Ot(),E=va(),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??vc,G=$n(V?.loggedInUserRoleMap),M=Us(V?.loggedInUserRoleMap),L=d(($=>Pa($,p.companyId))),K=L.companyChargeCardInfo?.primaryFundingAccount,j=L.allFundingAccounts.find(($=>$.id===K?.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,T=S.transferFromAccounts.find((P=>P.id===$));let v;if(f==="cardPaymentHistory"&&C){const P=C.paymentAccountId!=null?S.transferFromAccounts.find((ae=>ae.id===C.paymentAccountId)):void 0;v={amount:C.amount,isAutoRepayment:p.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:Sn(),transferFrom:P??T}}else v={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:T};I(fn(v)),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 W={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(_a(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:D?.add(3,"day").format(Wa.visual.MMMDCommaYYYYformat),paymentInitiatedDate:D?.format(Wa.visual.MMMDCommaYYYYformat)},W,b,m)}),[S.updateStatus,A,B,l,u,D]),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,W,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 _=()=>{a(!0),I(Kn())},Z=ta(p),N={events:e?ha(Z,Nr):[],eventCallback:($,T,v)=>{v.onEventReceived($)},onSubscribed:$=>{$.onPusherSubscribed()}};return o.jsx(o.Fragment,{children:o.jsx(Er,{onClose:()=>{_()},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},W,b,m),I(js({companyId:p.companyId}))},onDismissClick:_,onSaveChangesToLocalStore:$=>{I(fn($))},currentTenant:p,hasZeniAccountsAdminAccess:G,isZeniAccountsUser:M,productInformation:s,sourcePage:f,controllerEmails:H,autoPayThreshold:R,paymentSourceInformation:W,creditAccountInformation:b,debitAccountInformation:m,cashbackInformation:A,isCashbackInfoFetchStateCompleted:B,isCreditCardInfoFetchStateCompleted:l,isDebitCardInfoFetchStateCompleted:u,paymentInitiatedDate:D})})})})},ci=He(wc)`
15
- display: flex;
16
- min-height: 100%;
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)},Wt=(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=Qs(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:D,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(Da(!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=Wt(w,y);return F!=null?void k(Tt(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(Zs({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(Je(!0))):(k(ga(I,!0)),void k(Je(!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(Je(!0))}case Br:{const y=ce(w?.card_id)??I;if(y!==I)return;const F=w?.transaction;return ft(F)?void k(Ws({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(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(Je(!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(Qa(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(Qn(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(Jn(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(We({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(c,p)=>{c?e(We({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):p!=null&&e(We({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:p.message}]}))},updateSpendLimit(c,p,x,E){e(Zn(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:D?.accType==="depositAccount",creditCardPaymentSourceAccountName:D?.label,creditCardPaymentSourceAccountType:D?.accType,creditCardPaymentSourceLastFourDigits:D?.accountLast4,creditCardPaymentSourceBalance:D?.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=>Za(Y).firstViewAfterActivation)),D=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,K=!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))),W=te.getZeniOtpTokenForCardHolder(t),_=d((Y=>wt(Y,t,K,G))),{isAiCfoAccessEnabled:Z,onAskAiCfoClick:N}=Fa({mobileExploreReferrer:"Card Detail"});Lt({isDataReady:_.fetchState==="Completed"});const $=d((Y=>ma(Y))),T=_.chargeCard,v=Re(),P=Fe(v?.loggedInUserRoleMap),ae=T?.type.code==="business_physical_debit_card"||T?.type.code==="business_virtual_debit_card",Ce=T?.type.code==="business_physical_debit_card"||T?.type.code==="business_physical_credit_card",X=T?.type.code==="business_virtual_debit_card"||T?.type.code==="business_virtual_credit_card",ve=T?.type.code==="business_virtual_debit_card",Ie=xa(G,L,P,h,H),re=Ar(ae,_),be=jt(P,$),pe=ea(G,y,M,L),he=_.depositAccountLimitFetchState.fetchState!=="Completed"&&_.depositAccountLimitFetchState.fetchState!=="In-Progress",oe=d((Y=>da(Y,l.companyId))),Q=la(oe.controllers),Se=d((Y=>T?.cardCreatedByUser?.userId!=null?Ga(Y.userRoleState,T?.cardCreatedByUser?.userId):void 0)),De=d((Y=>Se?.accountingClassIDs[0]!=null?$a(Y.classState,{classId:Se?.accountingClassIDs[0],reportId:"class_list"}):void 0)),fe=d((Y=>T?.cardHolderUser?.userId!=null?Ga(Y.userRoleState,T?.cardHolderUser?.userId):void 0)),Te=d((Y=>fe?.accountingClassIDs[0]!=null?$a(Y.classState,{classId:fe?.accountingClassIDs[0],reportId:"class_list"}):void 0)),J=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()),ve&&a(We({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))}),5e3))}),[B,s,X,ve]),r.useEffect((()=>{c||_.fetchState==="Completed"||_.fetchState==="In-Progress"||t==null||(p(!0),a(Ia(t,K,G,!1)))}),[c,_,t,a]),r.useEffect((()=>{!x&&_.fetchState==="Completed"&&_.chargeCard?.connectedAccountId!=null&&ae&&he&&P&&(E(!0),a(Wn({depositAccountId:_.chargeCard?.connectedAccountId})))}),[x,_,a,he,P]),r.useEffect((()=>{$.fetchState!=="Completed"&&$.fetchState!=="In-Progress"&&P&&a(Da()),D!=="Completed"&&D!=="In-Progress"&&a(Nn()),_.transactionStatistics.fetchState!=="Completed"&&_.transactionStatistics.fetchState!=="In-Progress"&&a(Js({chargeCardId:t})),j.fetchState!=="Completed"&&j.fetchState!=="In-Progress"&&a(_a(l.companyId,!0))}),[$.fetchState,a,P,D,_.transactionStatistics.fetchState,j.fetchState]),r.useEffect((()=>{if(!(_.fetchState!=="Completed"||G&&h.fetchState!=="Completed"||T==null||_.transactionStatistics.fetchState!=="Completed"||ae&&P&&_.depositAccountLimitFetchState.fetchState!=="Completed")){const Y=T.type.code.includes("physical"),ye=Y?T.cardActivationAttemptHistory[0]?.timestamp:T.createTime;ee.trackCardsCardDetailView(Q,pe,{cardId:t,cardName:T.cardName,cardType:T.type.code.includes("credit")?"credit":"debit",cardCategory:Y?"physical":"virtual",cardLimit:ba(T.limit.amount),cardLastFourDigits:T.accountLast4,cardStatus:T.status.code,cardAssignedDate:T.createTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:T.providerCardCreateTime?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:ye?.format(gt.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:T.creditLimitFrequency.name,cardSpentAmount:ba(T.balance.amount),cardAvailableLimit:ba(T.available.amount),cardUtilizationPercent:T.limit.amount>0?Math.round((T.limit.amount-T.available.amount)/T.limit.amount*100):0,cardUtilizationAmount:ba(T.limit.amount-T.available.amount),totalNumberOfDeclinedTransactions:_.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:_.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:_.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:_.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:_.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:_.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:_.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:It(T.cardCreatedByUser,!1),cardIssuedByEmail:T.cardCreatedByUser?.email,cardIssuedByUserId:T.cardCreatedByUser?.userId,cardIssuedByRole:Se?.userRoles,cardIssuedByDepartment:De?.className},{cardholderName:It(T.cardHolderUser,!1),cardholderEmail:T.cardHolderUser?.email,cardholderRole:fe?.userRoles,cardholderUserId:T.cardHolderUser?.userId,cardholderDepartment:Te?.className},Ie,re)}}),[_.fetchState,_.depositAccountLimitFetchState.fetchState,_.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&&T!=null){const{ownerName:Y,cardName:ye,utilisation:se,limit:$e,frequency:Ye,cardColor:ze}=bt(T),Ke=T.cardHolderUserId===u.userId;ee.trackCardsDetailPageViewed(t,Y,ye,se,$e,Ye,ze,Ke)}};r.useEffect((()=>{if(_.fetchState==="Completed"){const Y=_.chargeCard;if(Y?.status.code==="inactive"||ae&&Y?.isPinSet===!1||Ce&&B){const ye=_e(l.tenantEmailDomain,t,u,T,B);e(ye)}}}),[_.fetchState]);const dt=(Y,ye)=>{if(t!=null&&T!=null){const{ownerName:se,cardName:$e,utilisation:Ye,limit:ze,frequency:Ke}=bt(T),sa=T.cardHolderUserId===u.userId;ee.trackCardsDetailPageClicked(t,se,$e,Ye,ze,Ke,Y,sa,ye)}},lt=(Y,ye)=>{if(t!=null&&T!=null){const{ownerName:se,cardName:$e,utilisation:Ye,limit:ze,frequency:Ke}=bt(T),sa=T.cardHolderUserId===u.userId;ee.trackCardsVerifyPopUpClick(t,se,$e,Ye,ze,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=_.chargeCard!=null,ja=_.depositAccountLimit!=null;return _.fetchState!=="Error"||Ua?!Ua&&(_.fetchState==="In-Progress"||_.fetchState==="Not-Started")||Ge.saveStatus.fetchState==="In-Progress"||!ja&&ae&&P&&_.depositAccountLimitFetchState.fetchState!=="Completed"?o.jsx(ic,{}):o.jsxs(o.Fragment,{children:[o.jsx(tt,{showConfetti:B}),_.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||_.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:De?.className,cardHolderRoles:fe?.userRoles,cardHolderDepartmentName:Te?.className,loggedInUserRole:J,isChargeCardFeatureEnabled:G,isDebitCardFeatureEnabled:y,isDebitCardSetupEnabled:M,isChargeCardSetupEnabled:L,isCardControlsEnabled:S,isEarlyPayEnabled:F,controllerEmails:Q,chargeCardCashbackDetailState:$,productInformation:pe,creditAccountInformation:Ie,debitAccountInformation:re,cashbackInformation:be,classListFetchState:D,primaryFundingAccountDetails:Aa,currentTenant:l,cardProviderId:_.chargeCard?.cardProviderID,cardId:t,creditAccount:h,creditAccountRepayment:H,includeCreditAccountInfo:K,signedInUserToken:W,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:C.documentAiReceiptMaxSizeLimitBytes!=null?C.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:Z,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
- display: flex;
20
- width: 100%;
21
- flex: 1 1 auto;
22
- flex-direction: column;
23
- align-items: center;
24
- background-color: ${e=>e.theme.colors.grey4};
25
- `,fi=Pe((function(e,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:D,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=_r(F,i);let G;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??"",W=L.limit.amount,_=L.creditLimitFrequency.name;ee.trackCardsListRowClicked(j,h,H,K,W,_,f.userId===L.cardHolderUserId)})(R),ca(B,D,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):_e(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(Wn({depositAccountId:i}))},onChargeCardResendInviteClick:i=>{e(yo(i))},onChargeCardRevokeInviteClick:i=>{e(Jn(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(Zn(i,g,R.code,G))},updateChargeCardName:(i,g)=>{e(Qn(w,i,g))},onClickSetupIcon:()=>{ee.trackCardsListPageClicked("settings"),ca(B,D,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,D,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,D,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&&D,A&&l,!0))},onLetsGoClick:()=>{n("./onboard")},onBackClick:()=>{n("../../")},onTotalCashbackClick:()=>{ca(B,D,S)&&E!=null&&ee.trackCardsCashbackOverviewClick(U,x,E,"Cashback Overview","cashback_details_viewed",I,k),n("./cashback")},onClickStatementsIcon:()=>{ca(B,D,S)&&E!=null&&ee.trackCardsStatementsClick(U,x,E,I,k),n("./statements")},onCreateNowClick:i=>{ca(B,D,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&&D,A&&l)},onPusherSubscribed:()=>{At(e,m,B&&D,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),D=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),K=Be(i,C),j=Oe({isDebitCardFeatureEnabled:i,isBankingOnlyTenant:K}),h=xe(C),H=Le(C),W=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,_=Ue({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:W}),Z=Dr({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:F,isBookKeepingTenant:H}),{configValue:N}=w(Xe.zeniCardsConfig),$=Re(),T=Fe($?.loggedInUserRoleMap),v=d((z=>da(z,C.companyId))),P=la(v.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??Tc,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),ve=!!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),Q=d((z=>Ca(z,I,j&&k,_&&re))),Se=d((z=>oo(z))),De=d((z=>co(z))),fe=d((z=>io(z))),Te=d((z=>lo(z))),J=d((z=>fe==null?[]:Mn(z.aiCfoState,fe).filter((je=>je.kind==="creating_cards"))),Dt),Ge=Sa(De.fetchState);r.useEffect((()=>{Ge==="In-Progress"&&De.fetchState==="Completed"&&fe!=null&&J.forEach((z=>{n(St({chatSessionId:fe,id:z.id,entityIds:Te,kind:"created_cards"}))}))}),[n,De.fetchState,fe,Te,J,Ge]);const Ra=Q.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=Q.fetchState,Oa=Q.creditAccount,Aa=r.useCallback((()=>T===!0&&M===!0&&ue==="Completed"&&te.getCardPolicyPopupSeen(C.tenantEmailDomain??"")!==!0),[T,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"&&!Q.hasCreditCard&&!Q.hasDebitCard;lc({isDataReady:ue==="Completed",pageContext:ye?"cards_creation":"cards"});const{creditAccountRepayment:se}=d((z=>ua(z))),$e=d((z=>Za(z).firstViewAfterActivation)),{areTenantIdsInSync:Ye}=yr(),ze=jt(T,ka),Ke=xa(_,re,T,Oa,se),sa=Mt(j,k,T,ra,Q.debitCardSummary),ut=ea(_,j,k,re),mt=Q.creditAccount.balance.amount+Q.creditAccount.hold.amount;if(r.useEffect((()=>{ue==="Completed"&&(te.getPayNowInfoTooltip()==null||mt<Ce*Q.creditAccount.limit.amount/100)&&u(!0)}),[ue,Ce,mt,Q.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,_&&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&&Q.cards.length===1&&(Q.cards[0].status.code==="inactive"&&Q.cards[0].type.code==="business_physical_credit_card"?s(`./${Q.cards[0].id}/activate`):Q.cards[0].status.code!=="request_on_hold"&&(t.state?.message==="comingFromCardDetail"?s("../../"):s(`./${Q.cards[0].id}`)))}),[ue,E,t.state,s,Q.cards]),r.useEffect((()=>{if(ue==="Completed"&&E){const z=Q.cards.length,je=Q.cards.filter((Ze=>Ze.cardHolderUserId===D?.userId)).filter((Ze=>Ze.status.code==="request_on_hold"));je.length>0&&z===je.length&&s("./onboard")}}),[ue,Q.cards,E,s,D?.userId]),r.useEffect((()=>{ue!=="Completed"||_&&se.fetchState!=="Completed"||j&&k&&T&&ra.fetchState!=="Completed"||ee.trackCardsCardListView(P,ut,ze,Ke,sa)}),[ue,Oa,se.fetchState,ra.fetchState,T]),D==null)throw Error("Can't access charge card list page without signing in...");const Kr=d((z=>rr(z.userState,z.userRoleState,z.userListViewState,"cardAdmin"))),Yt=Ft($?.loggedInUserRoleMap),Zt=z=>{c(z)},Wr=Q.creditAccount.limit,Yr=()=>{b(!1),s("..")},Zr=C.companyChargeCardInfo?.info!=null&&ya({cardInfo:C.companyChargeCardInfo.info,isProductVisible:_&&be,isTOSAccepted:ve,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:Yt}),qr=C.companyDebitCardInfo?.info!=null&&ya({cardInfo:C.companyDebitCardInfo.info,isProductVisible:j&&pe,isTOSAccepted:Ie,isSetupEnabled:k,isUserHasCardsAdminLevelAccess:T,isUserHasCardsAccess:Yt}),Jr=Zr||qr,qt=(function(z){const{isEmptyCardsState:je,isChargeCardAdmin:Ze,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&&Ze)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,Ze,je,en,nn,mn,pn,Cn,dn,un,ln,on])})({isEmptyCardsState:ye,isChargeCardAdmin:T,isFileUploadEnabled:G}),Jt=L&&qt!=null?o.jsx(br,{...qt}):null,{isCardsShuttingDown:Qt,shutdownContent:Xt}=Ir(C.tenantId,C.company?.managementInfo?.receiverEmails),Qr=Qt===!0&&Xt!=null?o.jsx(uc,{shutdownContent:Xt}):null,Xr=p&&Jt==null,es=ta(C),as={events:ha(es,Hr),eventCallback:(z,je,Ze)=>{Ze.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),(_&&!re||j&&!k)&&ee.trackCardsPromoView(P,{isCreditCardOffered:_,isDebitCardOffered:j,isDebitCardEnabled:k,isCreditCardEnabled:re},"Banner",j&&!k?"Debit Card":_&&!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:Ke,debitAccountInformation:sa,cashbackInformation:ze,isDebitCardInfoFetchStateCompleted:!(j&&k&&T)||ra.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!_||se.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!T||ka.fetchState==="Completed",paymentInitiatedDate:se.initiatedRepaymentDate}):null,o.jsxs(hi,{children:[o.jsx(Ae,{isAppContentDrawerOpen:S,handleDrawerToggle:Zt}),o.jsx(fi,{...as,isCashbackFeatureEnabled:y,isChargeCardFeatureEnabled:_,isDebitCardFeatureEnabled:j,isCreditCardProductVisibleForExpressInterest:Z,updatePayNowInfoTooltip:u,showPayNowInfoTooltip:m,creditCardPayNowThreshold:Ce,signedInUser:D,chargeCardListState:Q,location:t,admins:Kr.users,navigateAndClearBulkSelection:s,currentTenant:C,isCardControlsEnabled:X,companyChargeCardInfoCreditAccountLimit:C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:C.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:T,includeCreditAccountDebitSummaryAndCashbackInfo:I,onClickMenuIcon:()=>{Zt(!0)},creditLimit:Wr,isChargeCardSetupEnabled:re,isChargeCardEnabledOnCompany:be,isDebitCardSetupEnabled:k,isDebitCardEnabledOnCompany:pe,isEarlyPayEnabled:g,isChargeCardPaymentHistoryFeatureEnabled:R,cashbackRate:ae,controllerEmails:P,chargeCardCashbackDetailState:ka,depositAccountListWithDebitCardIssued:ra,isChargeCardTOSAccepted:ve,isDebitCardTOSAccepted:Ie,primaryFundingAccountDetails:lt,chargeCardSetUpViewFetchState:Ea.fetchState,productInformation:ut,creditAccountInformation:Ke,debitAccountInformation:sa,cashbackInformation:ze,isAiCfoAccessEnabled:Xr,onAskAiCfoClick:x,cardsAiCfoHero:Jt,cardsShutdownBanner:Qr,isCardsShuttingDown:Qt,onClickPolicyIcon:T&&M?()=>a(yi(C.tenantEmailDomain)):void 0,isPolicyIntroTooltipVisible:Ua,onPolicyIntroTooltipClose:Y,pendingCreationCount:Se})]})]}):(ve||Ie)&&T===!0?o.jsx(Qe,{to:"../setup"}):Jr?o.jsx(Qe,{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((v=>ge(v))),b=d((v=>sr(v))),[m,A]=r.useState(!1),[u,l]=r.useState(!1),[B,D]=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((v=>Ca(v,U,E&&S,w&&y))),R=r.useMemo((()=>{const v=g.cards.filter((P=>P.type.code.includes("debit")));return[...new Set(v.map((P=>P.connectedAccountId)))]}),[g.cards]),G=d((v=>ma(v))),M=d((v=>at(v,R))),{creditAccountRepayment:L}=d((v=>ua(v))),K=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]),W=g.creditAccount.balance.amount+g.creditAccount.hold.amount,_=r.useMemo((()=>C!=null?b.repaymentHistory.find((v=>v.cardRepaymentId===C)):void 0),[C,b.repaymentHistory]),Z=r.useCallback((v=>{O(v),n(ia(U,E&&S,w&&y,!1)),D(!0)}),[n,U,E,S,w,y]),N=r.useCallback((()=>{D(!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),T={events:ha($,Gr),eventCallback:(v,P,ae)=>{ae.onEventReceived(v)},onSubscribed:v=>{v.onPusherSubscribed()}};return o.jsxs(o.Fragment,{children:[B?o.jsx(zt,{closeDrawerHandler:N,isPaymentDrawerOpen:B,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:W,productInformation:H,creditAccountInformation:j,debitAccountInformation:h,cashbackInformation:K,isDebitCardInfoFetchStateCompleted:!(E&&S&&i)||M.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!w||L.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!i||G.fetchState==="Completed",paymentInitiatedDate:L.initiatedRepaymentDate,retryRepayment:_}):null,o.jsx(ki,{...T,location:a,navigate:e,accountInfoByAccountId:b.accountInfoByAccountId,onRetryPaymentClick:Z})]})}const kn=He.div`
26
- display: flex;
27
- height: 100vh;
28
- width: 100%;
29
- flex: 1 1 auto;
30
- flex-direction: column;
31
- overflow: auto;
32
- align-items: center;
33
- background-color: ${e=>e.theme.colors.grey4};
34
- `,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=d((h=>ge(h))),{isFeatureEnabled:C}=B(q.isChargeCardFeatureEnabled),{isFeatureEnabled:O}=B(q.isDebitCardFeatureEnabled),U=wr(D.companyId,{clearParams:l.fetchState==="Completed"}),S=Be(O,D),c=Oe({isDebitCardFeatureEnabled:O,isBankingOnlyTenant:S}),p=xe(D),x=Le(D),E=D.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,I=Ue({isCardsOnlyTenant:p,isChargeCardFeatureEnabled:C,isBookKeepingTenant:x,isDebitCardProductVisible:c,chargeCardsCreditAccountLimit:E}),k=!!D.companyDebitCardInfo?.info?.isDebitCardEnabled,V=!!D.companyChargeCardInfo?.info?.isChargeCardEnabled,w=d((h=>da(h,D.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=>Do(h)));r.useEffect((()=>{A||t.fetchState==="Completed"||t.fetchState==="In-Progress"||(m(!0),a(Je()))}),[b,a,t.fetchState]),r.useEffect((()=>{A||t.fetchState!=="Completed"||t.id==null||l.fetchState==="Completed"||l.fetchState==="In-Progress"||(u(!0),a(_o(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(vt())}),[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,[$,T]=N.split("-"),v=l.statements[0].period,[P,ae]=v.split("-");h=`${En[parseInt(T)-1]} ${$}`,H=`${En[parseInt(ae)-1]} ${P}`}const W=ea(I,c,k,V),_=xa(I,V,!0,t,s),Z=Mt(c,k,!0,R,G);ee.trackCardsCreditCardStatementsView(y,W,{numberOfStatements:l.statements.length,oldestStatementMonthYear:h,latestStatementMonthYear:H},_,Z)}}),[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))),K=te.getSignedInUser(),j={userId:K?.userId??"",sessionId:K?.zeniSessionId??"",tenantId:D.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:D.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],Di=new Set($r),_i={containerWidth:new Ta(100,58)},Pi=({appContent:e})=>{const a=va(),n=le(),t=ie(),s=me(),{useDynamicConfig:f}=de(),[b,m]=r.useState(!1),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[D,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(vo()),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(To({userId:i})),n(ir({cardId:V.cards[V.cards.length-1].id})),c(!0))}),[y,S,i,F]),r.useEffect((()=>{if(!D&&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,D]);const R=d((N=>Za(N))),G=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)),W=()=>{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))},_=ta(I);Nt({events:ha(_,$r),onSubscribed:()=>{n(Ne(!0))},onEvent:(N,$)=>{if(!Di.has(N))return;const T=Kt($),v=O.current;if(N===pa){const ae=ce(T?.card_id)??M;if(ae!=null){const Ce=Wt(T,ae);if(Ce!=null)return n(Tt(Ce)),void(ae!==M||v||W())}}if(N===ct)return void n(Ne(!0));const P=ce(T?.card_id)??M;(M==null||P===M)&&M!=null?v||W():n(Ne(!0))}}),r.useEffect((()=>{if(D&&M!=null&&H!=null&&H.status.code!=="request_on_hold"){const N=_e(I.tenantEmailDomain,M,E,H),$=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(Fo()),H?.type.code==="business_virtual_credit_card"&&n(Ja()),t(N,{state:{pathnameStackToGoBack:$},replace:!0}),O.current=!1,U.current!=null&&(clearTimeout(U.current),U.current=null)}}),[D,H?.status.code]),r.useEffect((()=>{G==="In-Progress"&&R.updateStatus.fetchState==="Completed"&&setTimeout(W,3e3)}),[G,R.updateStatus.fetchState]);const Z=N=>{x(N)};if(y!=="Completed"||V.cards.length===0)return o.jsxs(An,{children:[o.jsx(Ae,{isAppContentDrawerOpen:p,handleDrawerToggle:Z}),o.jsx(fc,{})]});if(i==null)throw Error("Can't access my userId.");return o.jsxs(An,{children:[o.jsx(Ae,{isAppContentDrawerOpen:p,handleDrawerToggle:Z}),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:()=>{Z(!0)}}),e!=null?o.jsx(vi,{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(Qa(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),vi=He.div`
35
- display: flex;
36
- flex-direction: column;
37
- width: ${e=>`${_i.containerWidth.value(e.windowSize)}%`};
38
- ${e=>e.windowSize!=="small"?"overflow: auto;":""}
39
- `,An=He.div`
40
- display: flex;
41
- min-height: 100%;
42
- width: 100%;
43
- flex: 1 1 auto;
44
- flex-direction: column;
45
- align-items: center;
46
- background-color: ${e=>e.theme.colors.grey4};
47
- `,Ti={containerWidth:new Ta(100,58)},Fi=({appContent:e})=>{const a=va(),n=le(),t=ie(),{cardId:s}=Ve(),f=me(),{useDynamicConfig:b,useFeatureGate:m}=de(),[A,u]=r.useState(!1),[l,B]=r.useState(!1),[D,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(D===!1&&(G===!1||G&&g.status?.code!=="active"||G&&g.status.code==="active"&&g.isPinSet||g.cardHolderUserId!==S.userId)){const h=_e(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);t(h,{state:{pathnameStackToGoBack:H}})}else if(D&&x.isRefreshingViewInBackground===!1&&g?.isPinSet===!0){n(Bo({chargeCardId:s}));const h=_e(c.tenantEmailDomain,s,S,g,!0),H=Ee(f.state?.pathnameStackToGoBack,f.pathname);n(Ja()),t(h,{state:{pathnameStackToGoBack:H}})}}}),[x.fetchState,g?.type.code,D,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(Qa(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
- display: flex;
49
- flex-direction: column;
50
- width: ${e=>`${Ti.containerWidth.value(e.windowSize)}%`};
51
- ${e=>e.windowSize!=="small"?"overflow: auto;":""}
52
- box-shadow: ${e=>`${Ka.sp0} 2px ${Ka.sp1} ${e.theme.colors.dropShadowNormal}`};
53
- `,Bi=He.div`
54
- display: flex;
55
- min-height: 100%;
56
- width: 100%;
57
- flex: 1 1 auto;
58
- flex-direction: column;
59
- align-items: center;
60
- background-color: ${e=>e.theme.colors.grey4};
61
- box-shadow: ${e=>`${Ka.sp0} 2px ${Ka.sp1} ${e.theme.colors.dropShadowNormal}`};
62
- `,Ri={overlayWidth:new Ta(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=va(),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]=Dn(),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))),D=Be(u,B),C=Oe({isDebitCardFeatureEnabled:u,isBankingOnlyTenant:D}),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,G]=r.useState(null),M=()=>{g(null)},L=(K,j)=>{g(K),G(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):_e(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 zr=[pa,ct],Ni=new Set(zr),Vi=He.div`
63
- display: flex;
64
- height: 100vh;
65
- width: 100%;
66
- flex: 1 1 auto;
67
- flex-direction: column;
68
- overflow: auto;
69
- align-items: center;
70
- background-color: ${e=>e.theme.colors.grey4};
71
- `,Hi=Pe((function(e,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=_r(A,u),B=_e(m,u,f,l),D=Ee(s.state?.pathnameStackToGoBack,s.pathname);n(B,{state:{pathnameStackToGoBack:D}})},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:D}=l(q.isDebitCardFeatureEnabled),C=Be(D,m),O=Oe({isDebitCardFeatureEnabled:D,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=_e(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(Je()),y.fetchState!=="Completed"&&y.fetchState!=="In-Progress"&&k&&a(vt()),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,K)=>{if(!Ni.has(L))return;const j=Kt(K);if(L===pa){const h=ce(j?.card_id);if(h!=null){const H=Wt(j,h);if(H!=null)return void a(Tt(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:D}=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(D===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(D===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(Ja()),n("../",{relative:"path"})):n("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(Ko(t))}}}))(_c),zi=()=>{const e=Ac(),a=ie(),{tenantEmailDomain:n}=Ve(),[t]=Dn(),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:D}=m(q.isChargeCardFeatureEnabled),{configValue:C}=b(Xe.zeniCardsConfig),O=d((J=>ge(J))),U=d((J=>da(J,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((J=>Pa(J,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:D,isBookKeepingTenant:w,isDebitCardProductVisible:i,chargeCardsCreditAccountLimit:F}),R=Dr({isCardsOnlyTenant:V,isChargeCardFeatureEnabled:D,isBookKeepingTenant:w}),G=i&&g===!1,M=k?.businessVerificationStatus?.code==="verified"&&(G||I?.accType==="depositAccount"||$o(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,W=!!O.companyChargeCardInfo?.info?.isChargeCardEnabled,_=!!O.companyDebitCardInfo?.info?.isDebitCardEnabled,Z=!!O.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,N=J=>{u(J)},$=d((J=>J.chargeCardSetupViewState.fetchState));if(L==null)throw Error("Can't access Charge Card promo page without signing in...");const T=Re(),v=Fe(T?.loggedInUserRoleMap),P=Ft(T?.loggedInUserRoleMap),[ae,Ce]=r.useState(!1),[X,ve]=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||(ve(!0),f(_a(x,!0)))}),[X,$,x,f]);const be=O.companyChargeCardInfo?.info!=null&&ya({cardInfo:O.companyChargeCardInfo.info,isProductVisible:R&&h,isTOSAccepted:j,isSetupEnabled:W,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:P}),pe=O.companyDebitCardInfo?.info!=null&&ya({cardInfo:O.companyDebitCardInfo.info,isProductVisible:i&&H,isTOSAccepted:Z,isSetupEnabled:_,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:P}),he=i&&pe&&R&&F>=0&&be?"debit_and_credit":i&&pe?"debit":"credit",oe=xc(s,he),Q=E?.chargeCardTermsDetails?.fetchStatus?.fetchState,Se=r.useRef(null);r.useEffect((()=>{Q==="In-Progress"?Se.current=oe:Q!=="Error"&&Q!=="Not-Started"||(Se.current=null)}),[Q,oe]);const De=Q!=="In-Progress"&&Q!=="Completed"||Se.current==null?oe:Se.current;r.useEffect((()=>{oe==="credit"&&(W||R===!1&&_)||oe==="debit"&&_||oe==="debit_and_credit"&&_&&W?a("../"):(oe==="debit_and_credit"&&j===!0&&Z===!0||oe==="credit"&&(j===!0||R===!1&&Z===!0)||oe==="debit"&&Z===!0)&&v===!0&&a("../setup")}),[M,W,_,oe,j,Z]),r.useEffect((()=>{Ie||(f(zo("cardAdmin")),re(!0))}),[Ie]);const fe=d((J=>rr(J.userState,J.userRoleState,J.userListViewState,"cardAdmin"))),Te=ea(R,i,_,W);return(J=>{switch(J){case"credit":return h;case"debit":return H;case"debit_and_credit":return h&&H;default:return!1}})(De)?(be||pe)&&$==="Completed"?o.jsxs(o.Fragment,{children:[o.jsx(Rt,{analytics:ee,onLoad:()=>{if(ee.trackPageLoaded(kr.Event.cardsPromoPage),!!R&&!W||!!i&&!_||!!R&&!!i&&!_&&!W){const J=Ki({isDebitCardSetupEnabled:_,isChargeCardSetupEnabled:W,isCreditCardProductVisibleForExpressInterest:R,isDebitCardProductVisible:i});ee.trackCardsPromoView(S,Te,"Page",J,"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:W,isDebitCardSetupEnabled:_,companyLegalName:O.companyName,adminList:fe.users,isCheckingEnabled:K,navigate:a,companyId:x,cardPromoType:De,controllerEmails:S,productInformation:Te,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(Dc,{})]}):o.jsx(Qe,{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 Id(){const e=me(),a=d((T=>ge(T))),{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,D=!!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&&Wo(a?.userRole),F=(a?.company==null||a.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!y)&&Yo(c?.loggedInUserRoleMap),i=Zo(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,K=l&&!y&&Fe(c?.loggedInUserRoleMap),j=Jo(c?.loggedInUserRoleMap),h=xe(a),H=Le(a),W=a.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,_=Ue({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:t,isBookKeepingTenant:H,isDebitCardProductVisible:u,chargeCardsCreditAccountLimit:W}),Z=a.companyChargeCardInfo?.info!=null&&ya({cardInfo:a.companyChargeCardInfo.info,isProductVisible:_&&C,isTOSAccepted:B,isSetupEnabled:U,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),N=a.companyDebitCardInfo?.info!=null&&ya({cardInfo:a.companyDebitCardInfo.info,isProductVisible:u&&O,isTOSAccepted:D,isSetupEnabled:S,isUserHasCardsAdminLevelAccess:p,isUserHasCardsAccess:E}),$=Z||N;return o.jsxs(os,{children:[p?o.jsx(ne,{path:"setup",element:o.jsx(bn,{isBillPayAdminLevelAccess:F,isReimbursementAdminLevelAccess:g,isZeniAccountAdminLevelAccess:G,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:G,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(zi,{})}),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(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(Qe,{to:"..",replace:!0})}):null,I&&V?o.jsx(ne,{path:"cashback",element:o.jsx(Jc,{})}):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(Wc,{})}),o.jsx(ne,{path:":cardId/*",element:o.jsx(li,{})}),o.jsx(ne,{path:"*",element:o.jsx(st,{})})]}):(B||D)&&p?o.jsx(ne,{path:"*",element:o.jsx(Qe,{to:"../setup"})}):$?o.jsx(ne,{path:"*",element:o.jsx(Qe,{to:"../promo",state:e.state})}):o.jsx(ne,{path:"*",element:null})]})}export{Id as default};
@@ -1 +0,0 @@
1
- import{j as m}from"./liveblocks-ByIxqWJk.js";import{a as g}from"./sentry-9XsSr7sR.js";import{h as w,u as x,g as T,i as k,j as O,l as E}from"./core-Dj_sc5JU.js";import{z as N,bv as F,a6 as P,h as V,Q as j,n as b,bw as A,ac as L,aE as M,j as U}from"./index-CY0VD1jn.js";import{fJ as h,gM as B,Cd as H,gH as _,cb as G,ZG as R,bn as z,vg as Z,v4 as Y,mE as J,od as S,ZH as Q,bH as $,cH as C,oo as q,oy as K}from"./zeni-epic-state-RN9etYeQ.js";import"./mui-BYXLmEqm.js";import{d as W}from"./routePaths-CsEd-Pbs.js";import{M as X}from"./MobileAppDrawer-B4DreqQy.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new t.Error().stack;a&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[a]="c49b4514-da09-4666-87bf-de2822009a79",t._sentryDebugIdIdentifier="sentry-dbid-c49b4514-da09-4666-87bf-de2822009a79")}catch{}})();const ee=E((function(t){const a=_(t),i=N.getSignedInUser(),l=h(t),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=G(l?.userRole??[])&&a.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=R(t.companyConfigState),n=t.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:a.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:a,allIndustries:e.companyIndustries??[],allNationalityCountries:n,isDisabled:f,authParams:p,filesEndPoint:`${L.fileMicroServiceBaseUrl}`,isZeniUser:z(i)}}),(function(t,a){const{companyId:i,currentTenant:l,navigate:c,location:p}=a,{tenantEmailDomain:f}=l;return{onScheduleClick:e=>{let n=e.href;n.includes("http")||(n="https://".concat(n)),window.open(n,"_blank")},onSaveAll:()=>{t(K())},onAddressClick:e=>{const n=W(f,e),o=U(p.state?.pathnameStackToGoBack,p.pathname);c(n,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{t(q({companyId:i}))},onBackClick:()=>{c("../")},onCompanyDetailsChanged:e=>{const{companyInfo:n,incInfo:o,taxDetails:r,zeniFinanceTeam:d}=e,{website:u}=n,{meetingLink:y}=d,{incDate:s}=o,{taxesFiledYears:D}=r,v={companyInfo:{...n,website:u!=""&&u!=null?C(u):void 0,meetingLink:y!=""&&y!=null?C(y):void 0,industry:n.industry.selectedOption,companyIndustryType:n.companyIndustryType?.selectedOption??void 0,companySubIndustry:n.companySubIndustry?.selectedOption??void 0,businessModel:n.businessModel.selectedOption??"",companySourceOfFunds:n.companySourceOfFunds?.selectedOption,companySourceOfFundsDescription:n.companySourceOfFundsDescription??void 0,countriesOfOperations:n.countriesOfOperations?.selectedOptions?.map((I=>I.length===2?I:M(I)))??[],transactionVolume:n.transactionVolume?.selectedOption??void 0,transactionVolumeDescription:n.transactionVolumeDescription??void 0,regulatedStatus:n.regulatedStatus??void 0,regulatedStatusDescription:n.regulatedStatusDescription??void 0,usNexus:n.usNexus??void 0,usNexusTypes:n.usNexusTypes?.selectedOptions??[],purposeOfAccount:n.purposeOfAccount?.selectedOption??void 0,purposeOfAccountDescription:n.purposeOfAccountDescription??void 0},incInfo:{typeOfInc:o.typeOfInc.selectedOption??"",stateOfInc:o.stateOfInc.selectedOption??"",incDate:s!=null?$(s?.toString()):s,fileId:o.fileIds[0]},taxDetails:{taxIdOrEIN:r.taxIdOrEIN,sicCode:r.sicCode,naicsCode:r.naicsCode,dunsNumber:r.dunsNumber,taxesFiledYears:D.selectedOptions.map((I=>parseInt(I))),fileId:r.fileIds[0]}};t(S({companyDetails:v}))},onPrimaryContactDetailsUpdated:e=>{t(S({primaryContact:{userId:e.userId,email:e.email.trim(),firstName:e.name.firstName,lastName:e.name.lastName}}))},onNewCompanyOfficerAdded:e=>{t(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:void 0}]}))},onNewCompanyOfficerRemoved:e=>{t(Q(e))},onCompanyOfficerUpdated:e=>{t(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:e.userId}]}))},updateFilesEntity:e=>{t(J({files:e}))},onDeleteFile:e=>{t(Y(e))},onEditFileName:(e,n)=>{t(Z(e,n.split(".")[0]))}}}))(A);function de(){const t=w(),a=x(),i=T(),{tenantEmailDomain:l}=k(),[c,p]=g.useState(!1),[f,e]=g.useState(!1),n=O((s=>s.companyViewState.passportView.fetchState)),o=O((s=>s.companyConfigState.fetchState)),r=O((s=>h(s))),d=r.companyId??N.getSignedInUserTenant(l)?.companyId;if(N.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect((()=>{c||n!=="Not-Started"||d==null||(p(!0),a(B(d)))}),[c,n,d,a]),g.useEffect((()=>{o==="Not-Started"&&a(H())}),[o,a]);const u=s=>{e(s)},y=n==="Not-Started"||n==="In-Progress"||o==="Not-Started"||o==="In-Progress";return d!=null&&n==="Error"?m.jsx(F,{onGoHome:()=>t("../",{replace:!0}),onReload:()=>window.location.reload()}):m.jsxs(m.Fragment,{children:[m.jsx(P,{analytics:V,onLoad:s=>s.trackPageLoaded(j.Event.companyPassport,b(i)?"Settings":"Company Passport")}),b(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:t,location:i,isLoading:y,currentTenant:r,isSettings:b(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
@@ -1,11 +0,0 @@
1
- import{j as I}from"./liveblocks-ByIxqWJk.js";import{a as o}from"./sentry-9XsSr7sR.js";import{u as R,h as k,g as q,j as C,N as w}from"./core-Dj_sc5JU.js";import{UT as H,fJ as z,gp as G,q9 as Q,gQ as A,go as V,gm as J,Vh as B,gl as O}from"./zeni-epic-state-RN9etYeQ.js";import{u as K,z as E,L as _,G as M,E as W}from"./index-CY0VD1jn.js";import{n as X}from"./mui-BYXLmEqm.js";import{P as h,a as D}from"./AccountMappingScreen-DSIWi6s5.js";import{t as Y}from"./getLocaleForTenant-Cb0gGUXK.js";import{g as Z,Q as ee}from"./QBOConnectionScreen-CUY1FKXU.js";import"./recharts-PGbaLytC.js";import"./analytics-CFxWPAfp.js";import"./plaid-CLiLant-.js";import"./dnd-5Q4l7GBy.js";import"./stripe-cKAAJElX.js";import"./lottie-CelagD5x.js";import"./lexical-BzjAp4AL.js";import"./pdf-Ctx2ExfD.js";import"./utils-DI6OGGjP.js";import"./MobileAppDrawer-B4DreqQy.js";import"./InboxNotificationsProvider-CR8M19mz.js";import"./useTaskManagerAccess-5u2jYjXE.js";import"./useIsCustomersTabEnabled-CjgNHh2z.js";import"./accountMappingHelper-6DbklLyK.js";import"./empty-90bgzNqS.js";import"./pdf-lib-CZyWp-Tq.js";import"./index-DgM5Gz01.js";import"./url-CHBhwoFp.js";import"./index-fIzifU8E.js";import"./decodeURIComponentSafe-CruFQaAA.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new t.Error().stack;i&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[i]="f12a6321-553b-459d-9d4e-cb37e62ea5aa",t._sentryDebugIdIdentifier="sentry-dbid-f12a6321-553b-459d-9d4e-cb37e62ea5aa")}catch{}})();const te=X.div`
2
- display: flex;
3
- flex: 1 1 auto;
4
- flex-direction: row;
5
- justify-content: center;
6
- align-items: center;
7
- width: 100%;
8
- height: 100vh;
9
- background-color: ${t=>t.theme.colors.background};
10
- box-shadow: ${t=>`0px 2px ${W.sp1} ${t.theme.colors.dropShadowNormal}`};
11
- `;function Ae(){const t=R(),i=k(),v=q(),{setLoading:m,clearAllLoading:c}=K(),S=o.useRef(!1),x=o.useRef(!1),N=o.useRef(!1),p=o.useRef(!1),{code:U,realmId:$,state:L}=Z(v.search),f=U!==""&&$!==""&&L!=="";f&&(N.current=!0);const j=sessionStorage.getItem(h),u=j===D.pending,F=j===D.ready,b=C((s=>H(s))),e=C((s=>z(s))),n=C((s=>s.tenantState.fetchState)),r=C((s=>s.tenantState.activeTenantFetchState.fetchState)),a=E.getSignedInUser(),g=E.getActiveTenantForUser()?.tenantId,l=e?.externalConnections?.fetchState,d=e?.externalConnections?.saveConnectionState,y=e.externalConnections?.accounting[0]?.isValid;o.useLayoutEffect((()=>{m(_.CONNECTION_AUTH)}),[m]),o.useEffect((()=>{S.current||a==null||g==null||(S.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(m(_.TENANT_FETCHING),t(G(a.userId,g))))}),[S,n,m]),o.useEffect((()=>{e.tenantId==null&&!x.current&&a!=null&&(x.current=!0,!(g==null||g!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(Q(a.userId)))}),[x,n,r]),o.useEffect((()=>{a==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||l==="In-Progress"||d!=="Error"||(m(_.CONNECTION_AUTH),t(A(a.userId,e.tenantId)))}),[d]),o.useEffect((()=>{n!=="Completed"&&r!=="Completed"||a==null||e?.tenantId==null||(t(V(e.tenantId)),E.saveActiveTenantDomainForUser(e.tenantEmailDomain),J(a?.userId,a?.zeniSessionId,e.tenantId),M.updateAppLocaleID(Y(B(e))),e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||l==="In-Progress"||a==null||e==null||t(A(a.userId,e.tenantId)))}),[n,r,l]),o.useEffect((()=>{b.tenantsCoreDetailsInOrder.length>0&&n==="Completed"&&E.saveSignedInUserTenants(b.tenantsCoreDetailsInOrder)}),[b.tenantsCoreDetailsInOrder.length,n]);const T=e==null||n!=="Completed"&&r!=="Completed"||l!=="Completed";if(o.useEffect((()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||l!=="Completed"&&l!=="Error"||c()}),[n,r,l]),o.useEffect((()=>{u&&d==="In-Progress"&&(p.current=!0)}),[u,d]),o.useEffect((()=>{if(!u||T)return;const s=e.tenantEmailDomain!=null?`/${e.tenantEmailDomain}/settings/accounting`:"/";return p.current&&d==="Completed"?(sessionStorage.setItem(h,D.ready),c(),void i(s,{replace:!0})):p.current&&d==="Error"?(sessionStorage.removeItem(h),t(O({messageSection:"accounting_projects_qbo_reconnect_failed",messageText:"failed",type:"error"})),c(),void i(s,{replace:!0})):void(f||N.current||p.current||y!==!0||(sessionStorage.removeItem(h),t(O({messageSection:"accounting_projects_qbo_reconnect_failed",messageText:"failed",type:"error"})),c(),i(s,{replace:!0})))}),[u,T,d,f,y,e.tenantEmailDomain,c,t,i]),T)return null;if(f||y!==!0)return I.jsx(te,{children:I.jsx(ee,{})});if(u)return null;const P=e.tenantEmailDomain!=null?`/${e.tenantEmailDomain}/settings/accounting`:"/";return F?I.jsx(w,{to:P,replace:!0}):I.jsx(w,{to:"/",replace:!0})}export{Ae as default};
@@ -1 +0,0 @@
1
- import{j as i}from"./liveblocks-ByIxqWJk.js";import{z as m}from"./index-CY0VD1jn.js";import{g as n}from"./QBOConnectionScreen-CUY1FKXU.js";import"./sentry-9XsSr7sR.js";import{g as p,N as s}from"./core-Dj_sc5JU.js";import"./zeni-epic-state-RN9etYeQ.js";import"./recharts-PGbaLytC.js";import"./mui-BYXLmEqm.js";import"./analytics-CFxWPAfp.js";import"./plaid-CLiLant-.js";import"./dnd-5Q4l7GBy.js";import"./stripe-cKAAJElX.js";import"./lottie-CelagD5x.js";import"./lexical-BzjAp4AL.js";import"./pdf-Ctx2ExfD.js";import"./utils-DI6OGGjP.js";import"./empty-90bgzNqS.js";import"./pdf-lib-CZyWp-Tq.js";import"./index-DgM5Gz01.js";import"./url-CHBhwoFp.js";import"./index-fIzifU8E.js";import"./decodeURIComponentSafe-CruFQaAA.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},o=new t.Error().stack;o&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[o]="30dcc1bd-8b20-47e1-980a-a4c8cf155654",t._sentryDebugIdIdentifier="sentry-dbid-30dcc1bd-8b20-47e1-980a-a4c8cf155654")}catch{}})();const U=()=>{const t=p(),{code:o,realmId:r,state:e}=n(t.search),a=m.getSignedInUser()?.userId??"";if(f(o,r,e,a)===!0){const d=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return i.jsx(s,{to:d})}return i.jsx(s,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
@@ -1,8 +0,0 @@
1
- import{j as o}from"./liveblocks-ByIxqWJk.js";import{a as i}from"./sentry-9XsSr7sR.js";import{u as F,h as R,g as _,i as A,j as c,n as G,o as Y,N as q}from"./core-Dj_sc5JU.js";import{Y1 as Q,Y2 as V,Y3 as X,fJ as L,Y4 as N,Y5 as z,Xd as J,Y6 as K,Y7 as U,Y8 as W,pZ as $,Xb as H,lk as C,br as P,Y9 as E,SM as M,Ta as j,Xc as Z,Tb as ee,Ya as te,Yb as ae,q4 as re,Xf as ne,T7 as se,Yc as oe,m4 as ie,q0 as I,Yd as w,Ye as le}from"./zeni-epic-state-RN9etYeQ.js";import{V as me,b0 as ce,j as B,a2 as de,aq as ue,b1 as fe}from"./index-CY0VD1jn.js";import{n as pe}from"./mui-BYXLmEqm.js";import{c as he,e as Se}from"./routePaths-CsEd-Pbs.js";import ye from"./NotFoundScreen-qzMvf835.js";import{u as be}from"./useAskAiCfoHostNavButtonProps-KhabBRdb.js";import{M as ge}from"./MobileAppDrawer-B4DreqQy.js";import{d as ke}from"./recharts-PGbaLytC.js";import"./analytics-CFxWPAfp.js";import"./plaid-CLiLant-.js";import"./dnd-5Q4l7GBy.js";import"./stripe-cKAAJElX.js";import"./lottie-CelagD5x.js";import"./lexical-BzjAp4AL.js";import"./pdf-Ctx2ExfD.js";import"./utils-DI6OGGjP.js";import"./InboxNotificationsProvider-CR8M19mz.js";import"./useTaskManagerAccess-5u2jYjXE.js";import"./useIsCustomersTabEnabled-CjgNHh2z.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},u=new t.Error().stack;u&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[u]="68c266d0-85cf-42db-a763-54539030d506",t._sentryDebugIdIdentifier="sentry-dbid-68c266d0-85cf-42db-a763-54539030d506")}catch{}})();const O=t=>se(t.id,t.name,{startDate:P().subtract(1,"year").startOf("year").format("YYYY-MM-DD"),endDate:P().format("YYYY-MM-DD")});function Te(){const t=F(),u=R(),f=_(),g=me(),{tenantEmailDomain:n,customerId:s=""}=A(),p=c((e=>Q(e,s))),k=c(V),l=c(X),d=c((e=>L(e).company?.companyInfo.firstMonthOfFY)),S=d??1,r=i.useMemo((()=>s!==""?{id:s,name:"",type:"customer",zeniId:s,qboId:""}:void 0),[s]),m=c((e=>r!=null?N(e,r,"EntityDetail"):void 0)),y=c((e=>r!=null&&l!=null?z(e,r,l.numberOfQuartersFetched):void 0)),b=c((e=>r!=null?J(e.trendWithTransactionsState,r,"EntityDetail"):void 0)),a=c(K),T=i.useMemo((()=>{const e=m?.trendReport,h=e?.trendReport,D=p.customer?.revenue;return m!=null&&e!=null&&h instanceof U&&D!=null?{...m,trendReport:{...e,trendReport:h.withFilter({filter:a,firstMonthOfFY:S,last30DaysRevenue:D.last_30_days_revenue,last90DaysRevenue:D.last_90_days_revenue})}}:m}),[m,a,S,p.customer]),[v,x]=i.useState(!1);return i.useEffect((()=>{s!==""&&(t(W(s)),p.fetchState!=="Not-Started"&&p.fetchState!=="Error"||t($(s)),x(!0))}),[s]),i.useEffect((()=>{if(r!=null&&d!=null&&v){if(x(!1),t(O(r)),l==null){const e=H(d,2),h=C({startDate:e.startDate,endDate:P()});t(E({timePeriod:h,numberOfQuartersFetched:3})),t(M(r,h,!1,!0))}t(j(r,"EntityDetail",{timeframe:b?.selectedPeriod?.timeframe??"quarter",timePeriod:b?.selectedPeriod?.timePeriod??Z(d)},d))}}),[r,v,d,b?.selectedPeriod,l,t]),s===""||n==null?o.jsx(ye,{}):o.jsx(ce,{allTransactionsTabData:l!=null?{timePeriod:ne(l.timePeriod),numberOfQuartersFetched:l.numberOfQuartersFetched}:void 0,allTransactionsView:y,detailView:p,firstMonthOfFY:S,readOnlyMode:g?.loggedInUserRoleMap?.bookkeeping_user===!0,selectedTab:k,trendFilter:a,trendWithTransactions:T,onBackClick:()=>{const e=de(f.state?.pathnameStackToGoBack);u(e.poppedPathname??"..",{state:{pathnameStackToGoBack:e.newStack}})},onLoadPreviousTransactionsClick:(e,h)=>{r!=null&&(t(E({timePeriod:C(e),numberOfQuartersFetched:h})),t(M(r,C(e),!0,!0)))},onSave:e=>t(re(s,e)),onTabChange:e=>t(ae(e)),onTrendRetry:()=>{r!=null&&t(O(r))},onTrendFilterChange:e=>t(te(e)),onTransactionItemClick:e=>{u(he(e,n),{state:{pathnameStackToGoBack:B(f.state?.pathnameStackToGoBack,f.pathname)}})},onTrendSelectedPeriodChange:e=>{r!=null&&e!=null&&(t(j(r,"EntityDetail",{timeframe:e.timeframe,timePeriod:e.addTimePeriod},S)),t(ee(r,"EntityDetail",{timeframe:e.timeframe,timePeriod:e.currentTimePeriod==null?e.addTimePeriod:{startDate:e.addTimePeriod.startDate,endDate:e.currentTimePeriod.endDate}})))}},s)}const De=pe.div`
2
- display: flex;
3
- min-height: 100%;
4
- width: 100%;
5
- flex: 1 1 auto;
6
- flex-direction: column;
7
- background-color: ${t=>t.theme.colors.grey4};
8
- `;function Ye(){const t=F(),u=R(),f=_(),{tenantEmailDomain:g}=A(),n=c(oe),s=c((a=>ie(a))),{isAiCfoAccessEnabled:p,onAskAiCfoClick:k}=be({mobileExploreReferrer:"Customers Summary"});ue({isDataReady:n.fetchState==="Completed"});const[l,d]=i.useState(n.searchString),[S,r]=i.useState(!1),m=i.useCallback((a=>t(I(!1,a))),[t]),y=i.useMemo((()=>ke(m,500)),[m]);i.useEffect((()=>()=>y.cancel()),[y]);const b=()=>{y.cancel();const a=l.trim();m(a.length===1?n.searchString:a)};return i.useEffect((()=>{n.fetchState==="Not-Started"&&m("")}),[]),o.jsxs(De,{children:[o.jsx(ge,{isAppContentDrawerOpen:S,handleDrawerToggle:r}),o.jsx(fe,{customers:n.customers,fetchState:n.fetchState,hasMore:n.uiState.pageToken!=null,isAccountingClassesEnabled:s,isAiCfoAccessEnabled:p,revenueSelection:n.uiState.revenueSelection,searchValue:l,sortKey:n.uiState.sortKey,sortOrder:n.uiState.sortOrder,onAskAiCfoClick:k,onClickMenuIcon:()=>r(!0),onCustomerClick:a=>{g!=null&&u(Se(a,g),{state:{pathnameStackToGoBack:B(f.state?.pathnameStackToGoBack,f.pathname)}})},onLoadMore:()=>t(I(!0,n.searchString,n.uiState.pageToken)),onRevenueSelectionChange:a=>{t(le(a)),t(w(a,"descending")),b()},onSearchChange:a=>{d(a),(a.trim().length>=2||a.trim().length===0)&&y(a.trim())},onSortChange:(a,T)=>{t(w(a,T)),b()}})]})}function ze(){return o.jsxs(G,{children:[o.jsx(Y,{path:"/summary",element:o.jsx(Ye,{})}),o.jsx(Y,{path:"/summary/:customerId",element:o.jsx(Te,{})}),o.jsx(Y,{path:"/",element:o.jsx(q,{to:"summary",replace:!0})})]})}export{ze as default};
@@ -1,20 +0,0 @@
1
- import{j as m}from"./liveblocks-ByIxqWJk.js";import{i as H,j as S,g as ee,u as $,h as te,l as se,k as ha,n as _t,o as R,N as xn}from"./core-Dj_sc5JU.js";import{fJ as V,WU as at,bH as q,br as Pe,YG as wn,kf as Pn,YH as Xt,YI as Fn,ki as kt,YJ as Je,YK as Rn,kn as jn,YL as Jt,YM as Bn,kr as yt,YN as et,YO as Mn,YP as Yn,Xc as Ln,lt as Un,YQ as Vn,bn as nt,YR as ga,XS as ge,bc as ba,lH as Ca,lq as Sa,XU as be,XT as oe,fI as _a,ge as Gn,gu as At,YS as Nn,YT as Zn,YU as ka,lV as It,Wd as Ve,dk as Ge,EM as zn,YV as Te,EF as Ne,EG as Ze,F3 as Fe,EZ as Ce,EK as ze,YW as Kn,c2 as Ke,YX as qn,YY as $n,YZ as ya,l_ as vt,EN as Qn,Y_ as Oe,Y$ as Hn,el as ot,AL as Aa,Z0 as Wn,Z1 as Ea,Z2 as Xn,Z3 as Jn,Z4 as eo,Z5 as Dt,VP as Tt,uv as Re,m4 as je,qc as Ot,EQ as to,Z6 as de,Fd as xt,AS as ao,AZ as no,Z7 as oo,Z8 as so,EH as ea,Z9 as ro,AO as xe,AJ as Ia,Za as ta,Zb as io,Zc as wt,VO as Pt,CW as va,Zd as co,Ze as Da,Zf as lo,Zg as uo,Zh as mo,Zi as Ft,qa as Rt,EP as po,Zj as ue,D9 as fo,Dg as ho,Zk as go,Zl as bo,EJ as aa,Zm as Co,CU as Ta,Zn as na,Zo as So,bq as Oa,Fi as xa,Zp as _o,Zq as wa,Zr as ko,Zs as yo,Zt as Ao,Zu as jt,qb as Bt,EO as Eo,Zv as me,Fa as Io,Fc as vo,Zw as Do,Zx as To,EI as oa,Zy as Oo,Fg as Pa,Zz as sa,ZA as xo,ZB as wo,ZC as Fa,qe as Ra,Ch as Po,dg as Fo,q7 as Ro,V8 as jo,qo as Bo,ZD as Mo,ZE as Yo,ZF as Lo,b5 as Mt,qi as Uo,ii as Vo,gM as Go,qh as No,lj as Zo,qf as zo,qd as Ko,e2 as qo,e1 as $o}from"./zeni-epic-state-RN9etYeQ.js";import{z as G,at as re,j,h as T,G as W,be as Qo,aq as qe,a6 as $e,bf as ja,Q as z,bg as Ho,bh as Ba,bi as Wo,bj as Xo,a as Ma,$ as Ya,d as La,ap as Jo,bk as es,am as ts,p as Se,bl as Ua,r as pe,bm as Va,bn as Ga,as as Na,bo as as,ag as Qe,_ as Y,V as He,bp as ns,R as os,bq as ss,K as rs,g as is,a2 as cs,ao as ls,br as ds,bs as us,bt as ms,bu as we}from"./index-CY0VD1jn.js";import{u as ps,n as Yt}from"./mui-BYXLmEqm.js";import{a as b}from"./sentry-9XsSr7sR.js";import{w as Za}from"./withTransactionSidePanel-BoHm4v8l.js";import{c as za,t as Be,i as _e,b as Lt,a as Ut,v as fs}from"./routePaths-CsEd-Pbs.js";import{u as ie}from"./useAskAiCfoHostNavButtonProps-KhabBRdb.js";import{u as ke}from"./useIsCustomersTabEnabled-CjgNHh2z.js";import Ue from"./NotFoundScreen-qzMvf835.js";import{t as st}from"./reportTimeframe-Dl2MfTSY.js";import{u as Vt}from"./useInitialThreadRequest-BsXsay8_.js";import{t as Ka}from"./analyticsHelper-Cz_Jj03m.js";import{C as hs}from"./CompanyPassportScreen-DqB5oBcd.js";import{u as gs}from"./useAiCfoDashboardSuggestedQuestionsChips-BjbLlJPK.js";import{F as bs}from"./FeaturePreviewScreen-CWeorrAP.js";import"./recharts-PGbaLytC.js";import"./analytics-CFxWPAfp.js";import"./plaid-CLiLant-.js";import"./dnd-5Q4l7GBy.js";import"./stripe-cKAAJElX.js";import"./lottie-CelagD5x.js";import"./lexical-BzjAp4AL.js";import"./pdf-Ctx2ExfD.js";import"./utils-DI6OGGjP.js";import"./TransactionDetailScreen-P7tVSby5.js";import"./decodeURIComponentSafe-CruFQaAA.js";import"./expenseAutomationHelper-Cl03EVHW.js";import"./stripSplatSuffix-BjmSkzFi.js";import"./MobileAppDrawer-B4DreqQy.js";import"./InboxNotificationsProvider-CR8M19mz.js";import"./useTaskManagerAccess-5u2jYjXE.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]="7fb40201-fb13-48bd-88fc-9a8887635e90",e._sentryDebugIdIdentifier="sentry-dbid-7fb40201-fb13-48bd-88fc-9a8887635e90")}catch{}})();const Cs=Za((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:s}=H(),r=G.getSignedInUser(),i=S((D=>D.tenantState.currentTenantId)),d=S((D=>V(D))),{tenantEmailDomain:c}=H(),h=ee(),u=d?.companyName??"",f={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:i??""},l=b.useMemo((()=>({authParams:f,companyName:u,downloadEndPoint:`${re}/agingDetailedReport`,timezone:at()})),[]),p=b.useMemo((()=>s!=null?q(s):Pe()),[s]),C=$(),g=te(),k=S((D=>wn(D,p,o))),E=b.useCallback((()=>{o!=null&&k.fetchState!=="In-Progress"&&k.fetchState!=="Completed"&&C(Pn(o,p))}),[p]),_=b.useCallback((()=>{g("../../",{relative:"path"})}),[]),A=b.useCallback(((D,B)=>{C(Xt({sortKey:D,sortOrder:B}))}),[]),v=b.useCallback((D=>{C(Xt({downloadState:D}))}),[]),U=b.useCallback((D=>{if(e)e(D.transactionId,D.transactionType);else if(c!=null){const B=za({id:D.transactionId,type:D.transactionType},c);g(B);const w=j(h.state?.pathnameStackToGoBack,h.pathname);g(B,{state:{pathnameStackToGoBack:w}})}}),[c,e]),x=b.useCallback((()=>{k.vendor!=null&&T.trackApAgingDetail("AP Aging",p.format(W.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),k.vendor.id,k.vendor.name)}),[k.vendor,p]);return b.useEffect((()=>{E()}),[]),b.useEffect((()=>{k.fetchState==="Completed"&&x()}),[x,k.fetchState]),m.jsx(Qo,{apAgingDetail:k,downloadParams:l,reportDate:p,analytics:T,onTransactionClick:U,onReload:E,onBackClick:_,onColumnSortConfigChanged:A,updateDownloadStateHandler:v,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),Ss=()=>{const e=$(),a=te(),t=S((A=>Fn(A))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ie({mobileExploreReferrer:"AP Aging"});qe({isDataReady:t.fetchState==="Completed"});const s=G.getSignedInUser(),r=S((A=>A.tenantState.currentTenantId)),i=S((A=>V(A))),d=i?.companyName??"",c={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:r??""},h=b.useMemo((()=>({authParams:c,companyName:d,downloadEndPoint:`${re}/agingReport`,timezone:at()})),[]),u=t.apAgingUIState.selectedDate??Pe(),f=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(kt(u))}),[]);b.useEffect((()=>{f()}),[]);const l=b.useCallback((()=>{a("../",{relative:"path"})}),[]),p=b.useCallback((A=>{e(Je({searchString:A}))}),[]),C=b.useCallback(((A,v)=>{e(Je({sortKey:v,sortOrder:A}))}),[]),g=b.useCallback((A=>{a(`./${A}/${u.format(W.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[u]),k=b.useCallback((A=>{e(Je({downloadState:A}))}),[]),E=b.useCallback(((A,v)=>{}),[]),_=b.useCallback(((A,v)=>{e(Je({selectedDate:A,agingDateSelectionType:v})),e(kt(A))}),[]);return m.jsxs(m.Fragment,{children:[t.fetchState==="Completed"?m.jsx($e,{analytics:T,onLoad:A=>A.trackPageLoaded(z.Event.agingReport,"AP Aging")}):null,m.jsx(ja,{uiState:t.apAgingUIState,report:t,downloadParams:h,analytics:T,onReloadReport:f,onBackClick:l,onSearchTextChange:p,onSortOrderChange:C,onEntityNameClick:g,updateDownloadStateHandler:k,onSelectedDateChanged:_,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},_s=Za((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:s}=H(),r=G.getSignedInUser(),i=S((x=>V(x))),{tenantEmailDomain:d}=H(),c=ee(),h=i.companyName,u={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:i.tenantId},f=b.useMemo((()=>({authParams:u,companyName:h,downloadEndPoint:`${re}/agingDetailedReport`,timezone:at()})),[]),l=b.useMemo((()=>s!=null?q(s):Pe()),[s]),p=$(),C=te(),g=S((x=>Rn(x,l,o))),k=b.useCallback((()=>{o!=null&&g.fetchState!=="In-Progress"&&g.fetchState!=="Completed"&&p(jn(o,l))}),[l]),E=b.useCallback((()=>{C("../../",{relative:"path"})}),[]),_=b.useCallback(((x,D)=>{p(Jt({sortKey:x,sortOrder:D}))}),[]),A=b.useCallback((x=>{p(Jt({downloadState:x}))}),[]),v=b.useCallback((x=>{if(e)e(x.transactionId,x.transactionType);else if(d!=null){const D=za({id:x.transactionId,type:x.transactionType},d);C(D);const B=j(c.state?.pathnameStackToGoBack,c.pathname);C(D,{state:{pathnameStackToGoBack:B}})}}),[d,e]),U=b.useCallback((()=>{g.customer!=null&&T.trackArAgingDetail("AR Aging",l.format(W.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),g.customer.id,g.customer.name)}),[g.customer,l]);return b.useEffect((()=>{k()}),[]),b.useEffect((()=>{g.fetchState==="Completed"&&U()}),[g.fetchState,U]),m.jsx(Ho,{arAgingDetail:g,downloadParams:f,reportDate:l,analytics:T,onTransactionClick:v,onReload:k,onBackClick:E,onColumnSortConfigChanged:_,updateDownloadStateHandler:A,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),ks=()=>{const e=$(),a=te(),t=S((_=>Bn(_))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ie({mobileExploreReferrer:"AR Aging"});qe({isDataReady:t.fetchState==="Completed"});const s=G.getSignedInUser(),r=S((_=>V(_))),i=r.companyName,d={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:r.tenantId},c=b.useMemo((()=>({authParams:d,companyName:i,downloadEndPoint:`${re}/agingReport`,timezone:at()})),[]),h=t.arAgingUIState.selectedDate??Pe(),u=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(yt(h))}),[]);b.useEffect((()=>{u()}),[]);const f=b.useCallback((()=>{a("../",{relative:"path"})}),[]),l=b.useCallback((_=>{e(et({searchString:_}))}),[]),p=b.useCallback(((_,A)=>{e(et({sortKey:A,sortOrder:_}))}),[]),C=b.useCallback((_=>{a(`./${_}/${h.format(W.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[h]),g=b.useCallback((_=>{e(et({downloadState:_}))}),[]),k=b.useCallback(((_,A)=>{e(et({selectedDate:_,agingDateSelectionType:A})),e(yt(_))}),[]),E=b.useCallback(((_,A)=>{e(Mn({nodeId:_,isCollapsed:A}))}),[]);return m.jsxs(m.Fragment,{children:[t.fetchState==="Completed"?m.jsx($e,{analytics:T,onLoad:_=>_.trackPageLoaded(z.Event.agingReport,"AR Aging")}):null,m.jsx(ja,{uiState:t.arAgingUIState,report:t,downloadParams:c,analytics:T,onReloadReport:u,onBackClick:f,onSearchTextChange:l,onSortOrderChange:p,onEntityNameClick:C,updateDownloadStateHandler:g,onSelectedDateChanged:k,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},qa=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function $a(e,a){const t=Ln(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const s=o.accountName===""?o.accountDescription:o.accountName,r=Be(a.tenantEmailDomain,o.accountId,o.accountType,s,"quarter",t,!1),i=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Un(n,o))}}}const ys=se((function(e){const a=Yn(e).accountsInOrder.map(((t,n)=>qa(t,n)));return{sectionTitle:W.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,fetchState:e.cashBalanceState.fetchState,analytics:T}}),$a)(Ba),As=se((function(e){const a=Vn(e).accountsInOrder.map(((o,s)=>qa(o,s))),t=G.getSignedInUser(),n=nt(t);return{sectionTitle:W.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:T}}),$a)(Ba);function Es(){const e=te(),a=ee(),{tenantEmailDomain:t}=H(),n=S((o=>V(o).company?.companyInfo.firstMonthOfFY??1));return S((o=>o.cashBalanceState.fetchState))==="Error"?m.jsx(Ue,{}):m.jsx(ys,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,firstMonthOfFY:n})}function Is(){const e=te(),a=ee(),{tenantEmailDomain:t}=H(),n=S((o=>V(o).company?.companyInfo.firstMonthOfFY??1));return S((o=>o.cardBalanceState.fetchState))==="Error"?m.jsx(Ue,{}):m.jsx(As,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,firstMonthOfFY:n})}const vs=Yt.div`
2
- display: flex;
3
- flex: 1 1 auto;
4
- min-height: 100%;
5
- flex-direction: column;
6
- background-color: ${e=>e.theme.colors.grey4};
7
- `,Ds=Yt.div`
8
- display: flex;
9
- flex: 1 1 auto;
10
- flex-direction: column;
11
- align-items: center;
12
- background-color: ${e=>e.theme.colors.grey4};
13
- `;function Ts({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:s}){const r=te(),i=$(),d=ee(),{tenantEmailDomain:c}=H(),h=ps(),u=ke();return m.jsxs(vs,{children:[m.jsx(Wo,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{r("../")},hideSearchBtn:!0,backgroundColor:h.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:f=>{f.trim().length>=2?i(be({searchString:f,searchOrigin:"navbar"})):f.trim().length===0&&i(oe("navbar"))},onAutoCompleteEntity:f=>{n!=null&&T?.trackSearch(z.Event.search,Os(a),f.type,f.name,n);const l=_e(f,c,u),p=j(d.state?.pathnameStackToGoBack,d.pathname);r(l,{state:{pathnameStackToGoBack:p}})}}},rightSideComponent:m.jsx(Xo,{isAiCfoAccessEnabled:o,onAskAiCfoClick:s})}),m.jsx(Ds,{children:a==="cash_balance"?m.jsx(Es,{}):m.jsx(Is,{})})]})}function ra(){const e=ee(),a=$(),t=S((l=>l.cashBalanceState.fetchState)),n=S((l=>l.cardBalanceState.fetchState)),o=G.getSignedInUser();if(o==null)throw Error("Can't access dashboard detail without signing in...");const s=ga((l=>{const p=ba(l,"/").split("/");return p[p.length-1]})(e.pathname));let r="Not-Started",i="";const d=W.getLocalizedStrings();switch(s){case"cash_balance":r=t,i=d.common.texts.cashBalance;break;case"card_balance":r=n,i=d.reportTitleById.card_balance;break;default:console.error(`${s} is not supported!`)}const{isAiCfoAccessEnabled:c,onAskAiCfoClick:h}=ie({mobileExploreReferrer:s==="card_balance"?"Card Balance":"Cash Balance"});qe({isDataReady:r==="Completed"});const u=S((l=>l.entityAutoCompleteState.autoCompleteText.navbar)),f=S((l=>ge(l,"navbar")));return b.useEffect((()=>{r==="Not-Started"&&(function(l,p){switch(p){case"card_balance":l(Sa());break;case"cash_balance":l(Ca());break;default:throw new Error(`balance report type ${p} is not yet supported`)}})(a,s)}),[o,a,r]),m.jsxs(m.Fragment,{children:[r==="Completed"?m.jsx($e,{analytics:T,onLoad:l=>((p,C)=>{switch(C){case"card_balance":p.trackPageLoaded(z.Event.cardBalance);break;case"cash_balance":p.trackPageLoaded(z.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${C}!`)}})(l,s)}):null,m.jsx(Ts,{title:i,reportId:s,autoCompleteText:u,entityAutoCompleteView:f,isAiCfoAccessEnabled:c,onAskAiCfoClick:h})]})}const Os=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},xs=[],ia="insights_section";function We(e){const{mobileExploreReferrer:a}=e,t=$(),n=te(),o=ee(),{tenantEmailDomain:s}=H(),{setIsAiCfoOpen:r,setAiCfoSidePanelQuestionToSubmit:i}=Ma(),d=Ya(),c=Na(d),h=ha(),u=S((F=>F.tenantState.fetchState==="Completed"||F.tenantState.activeTenantFetchState.fetchState==="Completed"?V(F):void 0)),f=u?.masterTOSInfo?.isMasterTOSAccepted??!1,l=S((F=>_a(F))),p=l.uiState?.currentChatSessionId,C=l.allSessionsWithOrderedQuestionAnswers??xs,g=G.getSignedInUser()?.userId,k=La(),E=Jo()&&k&&s!=null,_=es(),A=ts(!0),v=S((F=>_!=null?Gn(F,_):void 0)),{useDynamicConfig:U}=Se(),{configValue:x}=U(Ua.aiCfoMessageDynamicConfig),D=b.useMemo((()=>Array.isArray(x.default_message_list)?x.default_message_list:[]),[x.default_message_list]),B=b.useMemo((()=>D.slice(0,2)),[D]),w=_!=null&&v!=null&&v.fetchState!=="Completed"&&v.fetchState!=="Error"&&(A||v.fetchState==="In-Progress"),y=b.useMemo((()=>{if(_==null||v?.fetchState==="Error")return B;if(w)return[];const F=(v?.suggestedQuestions??[]).map((le=>le.trim())).filter((le=>le.length>0)).slice(0,2);return F.length===0?B:F}),[B,w,_,v?.fetchState,v?.suggestedQuestions]),O=b.useCallback(((F,le)=>{if(g==null||F.trim()==="")return;if(!f)return void pe({location:o,navigate:n,mergeState:{referrer:a,aiCfoInitialQuestion:F,aiCfoInitialSubmissionSource:ia,aiCfoSuggestionIndex:le}});const Me=Va(h.getState());if(c){const it=j(o.state?.pathnameStackToGoBack,o.pathname);n(`/${s}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:it,referrer:a,aiCfoInitialQuestion:F,aiCfoShouldSubmit:!Me}})}else{if(Me)return t(At(F)),void r(!0);i(F),r(!0),Ga(t,F,ia,p,C,g,le,void 0)}}),[C,p,t,f,c,o,a,n,r,i,h,s,g]),ce=b.useCallback((()=>{if(f)if(c){const F=j(o.state?.pathnameStackToGoBack,o.pathname);n(`/${s}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:F,referrer:a}})}else r(!0);else pe({location:o,navigate:n,mergeState:{referrer:a}})}),[f,c,o,a,n,r,s]);return b.useMemo((()=>{if(E)return{isSuggestedQuestionsLoading:w,onAskSomethingElseClick:ce,onSuggestedQuestionClick:O,suggestedQuestions:y}}),[E,w,ce,O,y])}const Xe=as,ws=se((function(e){const a=Nn(e),t=Zn(e),n=ka(e),{scrollPosition:o,...s}=n,r=W.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=G.getSignedInUser(),d=e.tenantState.currentTenantId,c=V(e),h=c?.companyName??"",u={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},f=e.entityAutoCompleteState.autoCompleteText.navbar,l=ge(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:r},highlightedRangeReport:t,uiState:s,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:h,statementEndPoint:`${re}/statement`,authParams:u},analytics:T,autoCompleteData:{autoCompleteText:f,entityAutoCompleteView:l}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Kn(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(ze(t,n)),e(Te({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(Fe("month")),e(Ce(a.firstMonthOfFY,t)),e(Te({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ne(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ze(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Te({resetLeftScroll:!0}))),50)},onElementCollapseStateChanged:(t,n)=>{e(Te({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Te({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(be({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(oe("navbar"))},onAutoCompleteEntity:t=>{const n=_e(t,a.tenantEmailDomain,a.isCustomersTabEnabled===!0),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")},onCustomDateRangeChanged:(t,n)=>{e(It(t,n));const o=q(t),s=q(n),r=Ve(a.firstMonthOfFY,"month",{startDate:o,endDate:s})??a.selectedCOABalancesRange.numberOfPeriods,{startOfTimeframeFY:i,endOfTimeframeFY:d}=Ge(s,a.firstMonthOfFY,"month"),c={numberOfPeriods:r,orderBy:a.selectedCOABalancesRange.orderBy,thisPeriod:{startDate:i,endDate:d}};e(zn({selectedCOABalancesRange:c,highlightedCOABalancesRange:c,isCustomDateRange:!0,customStartDate:t,customEndDate:n})),e(Te({resetLeftScroll:!0}))},onInitialDateRangeAvailable:()=>{}}}))(Xe),Ps=e=>{const a=ke(),{tenantEmailDomain:t,location:n,navigate:o}=e,s=Qe(),{isAiCfoAccessEnabled:r,onAskAiCfoClick:i}=ie({mobileExploreReferrer:"DashboardCashInCashOut"}),d=We({mobileExploreReferrer:"DashboardCashInCashOut"}),c=S((l=>ka(l))),h=c.mode==="compare_mode",{useFeatureGate:u}=Se(),{isFeatureEnabled:f}=u(Y.isReportsCustomDateRangeEnabled);return m.jsx(ws,{isCustomersTabEnabled:a,firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,location:n,isCompareModeOn:h,isCustomDateRangeEnabled:f,selectedCOABalancesRange:c.selectedCOABalancesRange,navigate:o,insightsSectionAiCfoInfo:d,isAiCfoAccessEnabled:r,onAskAiCfoClick:i,meetingUrl:Ke(s("dashboard_report_filters"))})},Fs=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=ot(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Rs=se((function(e){const a=qn(e),t=$n(e),n=ya(e),{scrollPosition:o,...s}=n,r=W.getLocalizedStrings().reportTitleById.cash_position,i=G.getSignedInUser(),d=e.tenantState.currentTenantId,c=V(e),h=c?.companyName??"",u={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},f=e.entityAutoCompleteState.autoCompleteText.navbar,l=ge(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:r},highlightedRangeReport:t,uiState:s,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:h,statementEndPoint:`${re}/statement`,authParams:u},analytics:T,autoCompleteData:{autoCompleteText:f,entityAutoCompleteView:l}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Hn(t))},onTimeframeSelectionChanged:t=>{e(Fe(t)),setTimeout((()=>e(Oe({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(ze(t,n)),e(Oe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(Ce(a.firstMonthOfFY,t)),e(Oe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ne(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ze(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Oe({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:s}=Fs(n),r=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&s!=null){const i=Be(a.tenantEmailDomain,t.accountId,t.accountType,r,s,o),d=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(be({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(oe("navbar"))},onAutoCompleteEntity:t=>{const n=_e(t,a.tenantEmailDomain,a.isCustomersTabEnabled===!0),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(Oe({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")},onCustomDateRangeChanged:(t,n,o)=>{e(vt(!0,t,n));const s=q(t),r=q(n),i=st(o??a.timeframe),d=Ve(a.firstMonthOfFY,i,{startDate:s,endDate:r})??a.selectedCOABalancesRange.numberOfPeriods,{startOfTimeframeFY:c,endOfTimeframeFY:h}=Ge(r,a.firstMonthOfFY,i),u={numberOfPeriods:d,orderBy:a.selectedCOABalancesRange.orderBy,thisPeriod:{startDate:c,endDate:h}};e(Qn({selectedCOABalancesRange:u,highlightedCOABalancesRange:u,isCustomDateRange:!0,customStartDate:t,customEndDate:n})),e(Oe({resetLeftScroll:!0}))},onInitialDateRangeAvailable:()=>{}}}))(Xe),js=e=>{const a=ke(),{tenantEmailDomain:t,location:n,navigate:o}=e,s=Qe(),{isAiCfoAccessEnabled:r,onAskAiCfoClick:i}=ie({mobileExploreReferrer:"DashboardCashPosition"}),d=We({mobileExploreReferrer:"DashboardCashPosition"}),c=S((l=>ya(l))),h=c.mode==="compare_mode",{useFeatureGate:u}=Se(),{isFeatureEnabled:f}=u(Y.isReportsCustomDateRangeEnabled);return m.jsx(Rs,{isCustomersTabEnabled:a,firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,location:n,isCompareModeOn:h,isCustomDateRangeEnabled:f,timeframe:c.timeframe,selectedCOABalancesRange:c.selectedCOABalancesRange,navigate:o,insightsSectionAiCfoInfo:d,isAiCfoAccessEnabled:r,onAskAiCfoClick:i,meetingUrl:Ke(s("dashboard_report_filters"))})},K=(e,a,t,n)=>{e===!1?a!=null&&n("../../",{relative:"path"}):a!==t&&(a!=null&&a.length>0?n(`../${t}`,{replace:!0}):n(`./forecast/${t}`,{replace:!0}))},Bs=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=ot(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Ms=se((function(e){const a=Aa(e),t=Wn(e),n=Ea(e),o=Xn(e),s=Jn(e),r=eo(e),i=Dt(e),{scrollPosition:d,...c}=i,h=t.reportTitle,u=G.getSignedInUser(),f=e.tenantState.currentTenantId,l=V(e),p=l?.companyName??"",C={userId:u?.userId??"",sessionId:u?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ge(e,"navbar"),E=Tt(l);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:s,reportLabels:{reportTitle:h},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:r,uiState:c,scrollPosition:d,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${re}/statement`,authParams:C},analytics:T,isZeniUser:nt(u),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:E,isAccountingClassesEnabled:je(e),isAccountingProjectsEnabled:Re(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(io(t))},onTimeframeSelectionChanged:t=>{e(Fe(t)),setTimeout((()=>e(de({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(ze(t,n)),e(de({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(Ce(a.firstMonthOfFY,t)),e(de({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ne(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ze(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&K(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(de({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:s}=Bs(n);if(o!=null&&s!=null){const r=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?Lt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,r,s,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Ut(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],r,s,o):Be(a.tenantEmailDomain,t.accountId,t.accountType,r,s,o),d=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(de({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(ta({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(de({scrollPosition:t})):e(ta({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(be({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(oe("navbar"))},onAutoCompleteEntity:t=>{const n=_e(t,a.tenantEmailDomain,a.isCustomersTabEnabled===!0),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(xe(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t==="forecast_mode"?(e(ea({viewMode:"account_group"})),e(Ia(!1,n?.id)),n!=null&&K(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):K(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(de({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":t==="project"?"Projects":"Accounts","Burn Rate"),e(ea({viewMode:t})),e(ro({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(so({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(oo({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(ao()),a.isAccountingProjectsEnabled&&e(no())},onResyncReports:()=>{e(xt(a.accountViewMode==="project"?"net_burn_or_income_by_projects":"net_burn_or_income_by_classes"))},onCustomDateRangeChanged:(t,n,o)=>{e(Ot(!0,a.selectedForecastId||void 0,!0,t,n));const s=q(t),r=q(n),i=st(o??a.timeframe),d=Ve(a.firstMonthOfFY,i,{startDate:s,endDate:r})??a.selectedCOABalancesRange.numberOfPeriods,{startOfTimeframeFY:c,endOfTimeframeFY:h}=Ge(r,a.firstMonthOfFY,i),u={numberOfPeriods:d,orderBy:a.selectedCOABalancesRange.orderBy,thisPeriod:{startDate:c,endDate:h}};e(to({selectedCOABalancesRange:u,highlightedCOABalancesRange:u,isCustomDateRange:!0,customStartDate:t,customEndDate:n})),e(de({resetLeftScroll:!0}))},onInitialDateRangeAvailable:()=>{}}}))(Xe),Ys=e=>{const a=ke(),t=$(),{tenantEmailDomain:n,location:o,navigate:s,forecastIdFromUrlPath:r}=e,i=Qe(),{isAiCfoAccessEnabled:d,onAskAiCfoClick:c}=ie({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),h=We({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),u=S((y=>Dt(y))),f=u.isForecastModeOn,l=u.timeframe,p=u.selectedForecast?.id,C=S((y=>wt(y.forecastState,p??""))),g=S((y=>Aa(y))),k=S((y=>Pt(y))),E=S((y=>je(y))),_=S((y=>Re(y))),A=S((y=>Ea(y).uiState.accountViewMode)),v=u.mode==="compare_mode",{useFeatureGate:U}=Se(),{isFeatureEnabled:x}=U(Y.isReportsCustomDateRangeEnabled),D=g.dataAvailable;b.useEffect((()=>{if(p!=null&&f===!0&&(K(f,r,p,s),C!=null)){const y=C?.forecastPeriod,O=D!=null&&y.endDate.isAfter(D?.endDate)===!0?D:y;t(Ce(e.firstMonthOfFY,{startDate:O.endDate.startOf(l),endDate:O?.endDate}))}}),[p]);const B=He(),w=Vt(B?.currentTenant?.companyId,{clearParams:g.fetchState==="Completed"});return m.jsx(Ms,{isCustomersTabEnabled:a,firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:n,selectedForecastId:r,forecastIdFromUrlPath:r,location:o,isAccountingClassesEnabled:E,isAccountingProjectsEnabled:_,accountViewMode:A,isCompareModeOn:v,isCustomDateRangeEnabled:x,timeframe:u.timeframe,selectedCOABalancesRange:u.selectedCOABalancesRange,navigate:s,analytics:T,reportsResyncFetchState:k.reportsResyncFetchState,insightsSectionAiCfoInfo:h,isAiCfoAccessEnabled:d,onAskAiCfoClick:c,initialOpenThreadRequest:w,meetingUrl:Ke(i("dashboard_report_filters"))})},Ls=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=ot(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Us=se((function(e){const a=va(e),t=co(e),n=Da(e),o=lo(e),s=uo(e),r=mo(e),i=Ft(e),{scrollPosition:d,...c}=i,h=W.getLocalizedStrings().common.texts.operatingExpenses,u=G.getSignedInUser(),f=e.tenantState.currentTenantId,l=V(e),p=l?.companyName??"",C={userId:u?.userId??"",sessionId:u?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ge(e,"navbar"),E=Tt(l);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:s,reportLabels:{reportTitle:h},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:r,uiState:c,scrollPosition:d,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${re}/statement`,authParams:C},analytics:T,isZeniUser:nt(u),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:E,isAccountingClassesEnabled:je(e),isAccountingProjectsEnabled:Re(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(So(t))},onTimeframeSelectionChanged:t=>{e(Fe(t)),setTimeout((()=>e(ue({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(ze(t,n)),e(ue({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(Ce(a.firstMonthOfFY,t)),e(ue({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ne(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ze(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&K(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(ue({resetLeftScroll:!0}))),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:s}=Ls(n);if(o!=null&&s!=null){const r=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?Lt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,r,s,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Ut(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],r,s,o):Be(a.tenantEmailDomain,t.accountId,t.accountType,r,s,o),d=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(ue({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(na({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(ue({scrollPosition:t})):e(na({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(be({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(oe("navbar"))},onAutoCompleteEntity:t=>{const n=_e(t,a.tenantEmailDomain,a.isCustomersTabEnabled===!0),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(xe(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t=="forecast_mode"?(e(aa({viewMode:"account_group"})),e(Ta(!1,n?.id)),n!=null&&K(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):K(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(ue({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":t==="project"?"Projects":"Accounts","Operating Expenses"),e(aa({viewMode:t})),e(Co({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(bo({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(go({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(fo()),a.isAccountingProjectsEnabled&&e(ho())},onResyncReports:()=>{e(xt(a.accountViewMode==="project"?"operating_expenses_by_projects":"operating_expenses_by_classes"))},onCustomDateRangeChanged:(t,n,o)=>{e(Rt(!0,a.selectedForecastId||void 0,!0,t,n));const s=q(t),r=q(n),i=st(o??a.timeframe),d=Ve(a.firstMonthOfFY,i,{startDate:s,endDate:r})??a.selectedCOABalancesRange.numberOfPeriods,{startOfTimeframeFY:c,endOfTimeframeFY:h}=Ge(r,a.firstMonthOfFY,i),u={numberOfPeriods:d,orderBy:a.selectedCOABalancesRange.orderBy,thisPeriod:{startDate:c,endDate:h}};e(po({selectedCOABalancesRange:u,highlightedCOABalancesRange:u,isCustomDateRange:!0,customStartDate:t,customEndDate:n})),e(ue({resetLeftScroll:!0}))},onInitialDateRangeAvailable:()=>{}}}))(Xe),Vs=e=>{const a=ke(),t=$(),{tenantEmailDomain:n,location:o,navigate:s,forecastIdFromUrlPath:r}=e,i=Qe(),{isAiCfoAccessEnabled:d,onAskAiCfoClick:c}=ie({mobileExploreReferrer:"DashboardOpEx"}),h=We({mobileExploreReferrer:"DashboardOpEx"}),u=S((O=>Ft(O))),f=u.isForecastModeOn,l=u.timeframe,p=u.selectedForecast?.id,C=S((O=>wt(O.forecastState,p??""))),g=S((O=>va(O))),k=S((O=>Pt(O))),E=S((O=>je(O))),_=S((O=>Re(O))),A=S((O=>Da(O).uiState.accountViewMode)),v=u.mode==="compare_mode",{useFeatureGate:U}=Se(),{isFeatureEnabled:x}=U(Y.isReportsCustomDateRangeEnabled),D=g.dataAvailable;b.useEffect((()=>{if(p!=null&&f===!0&&(K(f,r,p,s),C!=null)){const O=C?.forecastPeriod,ce=D!=null&&O.endDate.isAfter(D?.endDate)===!0?D:O;t(Ce(e.firstMonthOfFY,{startDate:ce.endDate.startOf(l),endDate:ce?.endDate}))}}),[p]);const B=He(),w=B?.loggedInUserRole!=null&&Oa(B?.loggedInUserRole)!==!0,y=Vt(B?.currentTenant?.companyId,{clearParams:g.fetchState==="Completed"});return m.jsx(Us,{isCustomersTabEnabled:a,firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:n,selectedForecastId:r,location:o,isAccountingClassesEnabled:E,isAccountingProjectsEnabled:_,accountViewMode:A,isCompareModeOn:v,isCustomDateRangeEnabled:x,timeframe:u.timeframe,selectedCOABalancesRange:u.selectedCOABalancesRange,navigate:s,forecastIdFromUrlPath:r,analytics:T,hasTransactionAccess:w,reportsResyncFetchState:k.reportsResyncFetchState,insightsSectionAiCfoInfo:h,isAiCfoAccessEnabled:d,onAskAiCfoClick:c,initialOpenThreadRequest:y,meetingUrl:Ke(i("dashboard_report_filters"))})},Gs=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=ot(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Ns=se((function(e){const a=xa(e),t=_o(e),n=wa(e),o=ko(e),s=yo(e),r=Ao(e),i=jt(e),{scrollPosition:d,...c}=i,h=W.getLocalizedStrings().common.texts.revenue,u=G.getSignedInUser(),f=e.tenantState.currentTenantId,l=V(e),p=l?.companyName??"",C={userId:u?.userId??"",sessionId:u?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ge(e,"navbar"),E=Tt(l);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:s,reportLabels:{reportTitle:h},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:r,uiState:c,scrollPosition:d,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${re}/statement`,authParams:C},analytics:T,isZeniUser:nt(u),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:E,isAccountingClassesEnabled:je(e),isAccountingProjectsEnabled:Re(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(xo(t))},onTimeframeSelectionChanged:t=>{e(Fe(t)),setTimeout((()=>e(me({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(ze(t,n)),e(me({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(Ce(a.firstMonthOfFY,t)),e(me({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ne(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ze(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&K(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(me({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:s}=Gs(n);if(o!=null&&s!=null){const r=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?Lt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,r,s,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Ut(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],r,s,o):Be(a.tenantEmailDomain,t.accountId,t.accountType,r,s,o),d=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(me({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(sa({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(me({scrollPosition:t})):e(sa({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(be({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(oe("navbar"))},onAutoCompleteEntity:t=>{const n=_e(t,a.tenantEmailDomain,a.isCustomersTabEnabled===!0),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(xe(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t==="forecast_mode"?(e(oa({viewMode:"account_group"})),e(Pa(!1,n?.id)),n!=null&&K(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):K(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(me({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":t==="project"?"Projects":"Accounts","Revenues"),e(oa({viewMode:t})),e(Oo({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(To({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(Do({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(Io()),a.isAccountingProjectsEnabled&&e(vo())},onResyncReports:()=>{e(xt(a.accountViewMode==="project"?"revenue_by_projects":"revenue_by_classes"))},onCustomDateRangeChanged:(t,n,o)=>{e(Bt(!0,a.selectedForecastId||void 0,!0,t,n));const s=q(t),r=q(n),i=st(o??a.timeframe),d=Ve(a.firstMonthOfFY,i,{startDate:s,endDate:r})??a.selectedCOABalancesRange.numberOfPeriods,{startOfTimeframeFY:c,endOfTimeframeFY:h}=Ge(r,a.firstMonthOfFY,i),u={numberOfPeriods:d,orderBy:a.selectedCOABalancesRange.orderBy,thisPeriod:{startDate:c,endDate:h}};e(Eo({selectedCOABalancesRange:u,highlightedCOABalancesRange:u,isCustomDateRange:!0,customStartDate:t,customEndDate:n})),e(me({resetLeftScroll:!0}))},onInitialDateRangeAvailable:()=>{}}}))(Xe),Zs=e=>{const a=ke(),t=$(),{tenantEmailDomain:n,location:o,navigate:s,forecastIdFromUrlPath:r}=e,i=Qe(),{isAiCfoAccessEnabled:d,onAskAiCfoClick:c}=ie({mobileExploreReferrer:"DashboardRevenue"}),h=We({mobileExploreReferrer:"DashboardRevenue"}),u=S((y=>jt(y))),f=u.isForecastModeOn,l=u.timeframe,p=u.selectedForecast?.id,C=S((y=>wt(y.forecastState,p??""))),g=S((y=>xa(y))),k=g.dataAvailable,E=u.mode==="compare_mode",{useFeatureGate:_}=Se(),{isFeatureEnabled:A}=_(Y.isReportsCustomDateRangeEnabled),v=S((y=>je(y))),U=S((y=>Re(y))),x=S((y=>wa(y).uiState.accountViewMode)),D=S((y=>Pt(y)));b.useEffect((()=>{if(p!=null&&f===!0&&(K(f,r,p,s),C!=null)){const y=C?.forecastPeriod,O=k!=null&&y.endDate.isAfter(k?.endDate)===!0?k:y;t(Ce(e.firstMonthOfFY,{startDate:O.endDate.startOf(l),endDate:O?.endDate}))}}),[p]);const B=He(),w=Vt(B?.currentTenant?.companyId,{clearParams:g.fetchState==="Completed"});return m.jsx(Ns,{isCustomersTabEnabled:a,firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:n,selectedForecastId:r,isAccountingClassesEnabled:v,isAccountingProjectsEnabled:U,accountViewMode:x,isCompareModeOn:E,isCustomDateRangeEnabled:A,timeframe:u.timeframe,selectedCOABalancesRange:u.selectedCOABalancesRange,location:o,navigate:s,forecastIdFromUrlPath:r,analytics:T,reportsResyncFetchState:D.reportsResyncFetchState,insightsSectionAiCfoInfo:h,isAiCfoAccessEnabled:d,onAskAiCfoClick:c,initialOpenThreadRequest:w,meetingUrl:Ke(i("dashboard_report_filters"))})},zs=e=>{let a,t;if(e.endDate!=null)switch(e.timePeriod){case"this_month_to_date":case"last_month":case"this_week_to_date":case"last_week":a="month",t={startDate:e.endDate.startOf("month"),endDate:e.endDate};break;case"last_3_months":case"last_6_months":case"last_12_months":case"this_year_to_date":case"last_year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;default:console.error(`this timeperiod ${e.timePeriod} is not supported!`)}return{timeframe:a,timePeriod:t}},Ks=se((function(e){const a=wo(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ge(e,"navbar");return{report:a,analytics:T,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}}),(function(e,a){return{onTimeframeSelectionChanged:t=>{T.trackTimeframeSwitch(Ka(t),"Top Expenses"),e(Fa(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:s}=zs(n),r=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&s!=null){const i=Be(a.tenantEmailDomain,t.accountId,t.accountType,r,s,o),d=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(be({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(oe("navbar"))},onAutoCompleteEntity:t=>{const n=_e(t,a.tenantEmailDomain,a.isCustomersTabEnabled===!0),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))(ns),qs=e=>{const a=ke(),{tenantEmailDomain:t,location:n,navigate:o}=e;return m.jsx(Ks,{isCustomersTabEnabled:a,tenantEmailDomain:t,location:n,navigate:o})},$s=Yt.div`
14
- display: flex;
15
- flex: 1 1 auto;
16
- min-height: 100%;
17
- flex-direction: column;
18
- background-color: ${e=>e.theme.colors.grey5};
19
- align-items: center;
20
- `;function Qs({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=te(),s=ee(),{tenantEmailDomain:r}=H();let i;qe({isDataReady:!0});const d={firstMonthOfFY:a,tenantEmailDomain:r,location:s,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=m.jsx(Vs,{...d});break;case"revenue":i=m.jsx(Zs,{...d});break;case"net_burn_or_income":i=m.jsx(Ys,{...d});break;case"cash_position":i=m.jsx(js,{...d});break;case"top_expenses":i=m.jsx(qs,{...d});break;case"cash_in_cash_out":i=m.jsx(Ps,{...d});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?m.jsx($s,{children:i}):null}function fe(){const e=ee(),a=$(),{forecastId:t}=H();let n="Not-Started";const o=S((l=>Ft(l).fetchState)),s=S((l=>jt(l).fetchState)),r=S((l=>Dt(l).fetchState)),i=S((l=>l.cashPositionState.fetchState)),d=S((l=>l.topExState.fetchState)),c=S((l=>l.cashInCashOutState.fetchState));if(G.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const h=S((l=>V(l))),u=h?.company?.companyInfo?.firstMonthOfFY??1,f=ga((l=>{const p=ba(l,"/").split("/");return t!=null?p[p.length-3]:p[p.length-1]})(e.pathname));switch(f){case"operating_expenses":n=o;break;case"revenue":n=s;break;case"net_burn_or_income":n=r;break;case"cash_position":n=i;break;case"top_expenses":n=d;break;case"cash_in_cash_out":n=c;break;default:console.error(`${f} is not supported!`)}return b.useEffect((()=>{n==="Not-Started"&&(function(l,p,C,g){switch(p){case"operating_expenses":l(Rt(!0)),g!=null&&(l(xe(C,!0,3,{id:g,index:0})),l(Ta(!1,g)));break;case"revenue":l(Bt(!0)),g!=null&&(l(xe(C,!0,3,{id:g,index:0})),l(Pa(!1,g)));break;case"net_burn_or_income":l(Ot(!0)),g!=null&&(l(xe(C,!0,3,{id:g,index:0})),l(Ia(!1,g)));break;case"cash_position":l(vt(!0));break;case"top_expenses":l(Ra());break;case"cash_in_cash_out":l(It());break;default:throw new Error(`report type ${p} is not yet supported`)}})(a,f,u,t)}),[t]),m.jsxs(m.Fragment,{children:[n==="Completed"?m.jsx($e,{analytics:T,onLoad:l=>((p,C)=>{const g=e.state?.referrer;switch(C){case"operating_expenses":p.trackPageLoaded(z.Event.operatingExpenses,g);break;case"revenue":p.trackPageLoaded(z.Event.revenues,g);break;case"net_burn_or_income":p.trackPageLoaded(z.Event.burnRate,g);break;case"cash_position":p.trackPageLoaded(z.Event.cashPosition,g);break;case"top_expenses":p.trackPageLoaded(z.Event.topExpenses,g);break;case"cash_in_cash_out":p.trackPageLoaded(z.Event.cashInCashOut,g);break;default:console.error(`Analytics: Not tracking Page Loaded for ${C}!`)}})(l,f)}):null,m.jsx(Qs,{firstMonthOfFY:u,fetchState:n,reportId:f,forecastId:t})]})}var pt=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function ft(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),(function(){t(window.event)}))}function Qa(e,a){for(var t=a.slice(0,a.length-1),n=0;n<t.length;n++)t[n]=e[t[n].toLowerCase()];return t}function Ha(e){typeof e!="string"&&(e="");for(var a=(e=e.replace(/\s/g,"")).split(","),t=a.lastIndexOf("");t>=0;)a[t-1]+=",",a.splice(t,1),t=a.lastIndexOf("");return a}for(var Gt={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":pt?173:189,"=":pt?61:187,";":pt?59:186,"'":222,"[":219,"]":221,"\\":220},he={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},Et={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},L={16:!1,18:!1,17:!1,91:!1},M={},tt=1;tt<20;tt++)Gt["f".concat(tt)]=111+tt;var P=[],ca=!1,Wa="all",la=[],rt=function(e){return Gt[e.toLowerCase()]||he[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function da(e){Wa=e||"all"}function Le(){return Wa||"all"}var ht=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,s=o===void 0?"+":o;Ha(a).forEach((function(r){var i=r.split(s),d=i.length,c=i[d-1],h=c==="*"?"*":rt(c);if(M[h]){t||(t=Le());var u=d>1?Qa(he,i):[];M[h]=M[h].filter((function(f){return!((!n||f.method===n)&&f.scope===t&&(function(l,p){for(var C=l.length>=p.length?l:p,g=l.length>=p.length?p:l,k=!0,E=0;E<C.length;E++)g.indexOf(C[E])===-1&&(k=!1);return k})(f.mods,u))}))}}))};function ua(e,a,t,n){var o;if(a.element===n&&(a.scope===t||a.scope==="all")){for(var s in o=a.mods.length>0,L)Object.prototype.hasOwnProperty.call(L,s)&&(!L[s]&&a.mods.indexOf(+s)>-1||L[s]&&a.mods.indexOf(+s)===-1)&&(o=!1);(a.mods.length!==0||L[16]||L[18]||L[17]||L[91])&&!o&&a.shortcut!=="*"||a.method(e,a)===!1&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0))}}function ma(e,a){var t=M["*"],n=e.keyCode||e.which||e.charCode;if(Z.filter.call(this,e)){if(n!==93&&n!==224||(n=91),P.indexOf(n)===-1&&n!==229&&P.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach((function(p){var C=Et[p];e[p]&&P.indexOf(C)===-1?P.push(C):!e[p]&&P.indexOf(C)>-1?P.splice(P.indexOf(C),1):p==="metaKey"&&e[p]&&P.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(P=P.slice(P.indexOf(C))))})),n in L){for(var o in L[n]=!0,he)he[o]===n&&(Z[o]=!0);if(!t)return}for(var s in L)Object.prototype.hasOwnProperty.call(L,s)&&(L[s]=e[Et[s]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(P.indexOf(17)===-1&&P.push(17),P.indexOf(18)===-1&&P.push(18),L[17]=!0,L[18]=!0);var r=Le();if(t)for(var i=0;i<t.length;i++)t[i].scope===r&&(e.type==="keydown"&&t[i].keydown||e.type==="keyup"&&t[i].keyup)&&ua(e,t[i],r,a);if(n in M){for(var d=0;d<M[n].length;d++)if((e.type==="keydown"&&M[n][d].keydown||e.type==="keyup"&&M[n][d].keyup)&&M[n][d].key){for(var c=M[n][d],h=c.splitKey,u=c.key.split(h),f=[],l=0;l<u.length;l++)f.push(rt(u[l]));f.sort().join("")===P.sort().join("")&&ua(e,c,r,a)}}}}function Z(e,a,t){P=[];var n=Ha(e),o=[],s="all",r=document,i=0,d=!1,c=!0,h="+",u=!1;for(t===void 0&&typeof a=="function"&&(t=a),Object.prototype.toString.call(a)==="[object Object]"&&(a.scope&&(s=a.scope),a.element&&(r=a.element),a.keyup&&(d=a.keyup),a.keydown!==void 0&&(c=a.keydown),a.capture!==void 0&&(u=a.capture),typeof a.splitKey=="string"&&(h=a.splitKey)),typeof a=="string"&&(s=a);i<n.length;i++)o=[],(e=n[i].split(h)).length>1&&(o=Qa(he,e)),(e=(e=e[e.length-1])==="*"?"*":rt(e))in M||(M[e]=[]),M[e].push({keyup:d,keydown:c,scope:s,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:h,element:r});r!==void 0&&!(function(f){return la.indexOf(f)>-1})(r)&&window&&(la.push(r),ft(r,"keydown",(function(f){ma(f,r)}),u),ca||(ca=!0,ft(window,"focus",(function(){P=[]}),u)),ft(r,"keyup",(function(f){ma(f,r),(function(l){var p=l.keyCode||l.which||l.charCode,C=P.indexOf(p);if(C>=0&&P.splice(C,1),l.key&&l.key.toLowerCase()==="meta"&&P.splice(0,P.length),p!==93&&p!==224||(p=91),p in L)for(var g in L[p]=!1,he)he[g]===p&&(Z[g]=!1)})(f)}),u))}var gt={setScope:da,getScope:Le,deleteScope:function(e,a){var t,n;for(var o in e||(e=Le()),M)if(Object.prototype.hasOwnProperty.call(M,o))for(t=M[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;Le()===e&&da(a||"all")},getPressedKeyCodes:function(){return P.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=rt(e)),P.indexOf(e)!==-1},filter:function(e){var a=e.target||e.srcElement,t=a.tagName,n=!0;return!a.isContentEditable&&(t!=="INPUT"&&t!=="TEXTAREA"&&t!=="SELECT"||a.readOnly)||(n=!1),n},trigger:function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(M).forEach((function(t){var n=M[t].find((function(o){return o.scope===a&&o.shortcut===e}));n&&n.method&&n.method()}))},unbind:function(e){if(e===void 0)Object.keys(M).forEach((function(r){return delete M[r]}));else if(Array.isArray(e))e.forEach((function(r){r.key&&ht(r)}));else if(typeof e=="object")e.key&&ht(e);else if(typeof e=="string"){for(var a=arguments.length,t=new Array(a>1?a-1:0),n=1;n<a;n++)t[n-1]=arguments[n];var o=t[0],s=t[1];typeof o=="function"&&(s=o,o=""),ht({key:e,scope:o,method:s,splitKey:"+"})}},keyMap:Gt,modifier:he,modifierMap:Et};for(var bt in gt)Object.prototype.hasOwnProperty.call(gt,bt)&&(Z[bt]=gt[bt]);if(typeof window<"u"){var Hs=window.hotkeys;Z.noConflict=function(e){return e&&window.hotkeys===Z&&(window.hotkeys=Hs),Z},window.hotkeys=Z}Z.filter=function(){return!0};var pa=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Ws(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},s=o.enableOnTags,r=o.filter,i=o.keyup,d=o.keydown,c=o.filterPreventDefault,h=c===void 0||c,u=o.enabled,f=u===void 0||u,l=o.enableOnContentEditable,p=l!==void 0&&l,C=b.useRef(null),g=b.useCallback((function(k,E){var _,A;return r&&!r(k)?!h:!!(pa(k,["INPUT","TEXTAREA","SELECT"])&&!pa(k,s)||(_=k.target)!=null&&_.isContentEditable&&!p)||!!(C.current===null||document.activeElement===C.current||(A=C.current)!=null&&A.contains(document.activeElement))&&(a(k,E),!0)}),n?[C,s,r].concat(n):[C,s,r]);return b.useEffect((function(){if(f)return i&&d!==!0&&(t.keydown=!1),Z(e,t||{},g),function(){return Z.unbind(e,g)};Z.unbind(e,g)}),[g,e,f]),C}Z.isPressed;const Xs=[],Ct="dashboard_card",ne="ai_cfo_dashboard_card";function fa(e,a){return a?e.some((t=>String(t)===ne))?e.slice():[ne,...e]:e.filter((t=>String(t)!==ne))}const Js=["net_burn_or_income_story_card","cash_balance","task_card","card_balance","zeni_promo_card","insights_dashboard","information_card","company_details","bill_pay_promo_card","bill_pay_card","reimbursement_card","reimbursement_promo_card","rewards_card"],er=(e,a,t,n,o)=>({card:{dimension:Mt(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e.status!=null?{balanceAmount:e.balance?.available,lastUpdatedTime:e.status.lastRefreshSuccessTime,changePercent:e.balance?.change?.percent,changeComparedToDate:e.balance?.change?.since}:void 0}),Ye=(e,a,t,n,o)=>({card:{dimension:Mt(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e}),tr=(e,a,t,n)=>Ye(void 0,e,we,a,t),ar=e=>{const a=Mt(we);return a.height=we.height+10,{card:{dimension:a,cardType:ne,cardIndex:e,fetchState:"Completed",disableAnimations:!1,spansFullDashboardWidth:!0}}},nr=se((function(e,a){const t=rr(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:s,cardsCreditLimit:r,cashbackRate:i}=a;let d=n.map(((c,h)=>{if(c==="reimbursement_promo_card"||c==="bill_pay_promo_card")return tr(t,c,h);if(c==="zeni_promo_card")return Ye({isExpressedInterest:s,creditLimit:r,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,we,c,h);if(c==="information_card")return Ye(void 0,"Completed",we,c,h);if(c===ne)return ar(h);{const u=o.find((f=>f?.reportId===c));return u?(function(f,l,p,C){const g=f.reportId;switch(g){case"card_balance":case"cash_balance":return[er(f,l,p,g,C)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"rewards_card":return[Ye(f,l,p,g,C)];case"net_burn_or_income_story_card":return[Ye(f,l,p,"net_burn_or_income_story_card",C)];default:return console.error(`card type ${g} not yet supported!`),[]}})(u,u.fetchState,we,h):[]}})).flat();return a.isSummaryCardsFiltered===!0&&(d=d.filter((c=>Js.includes(c.card.cardType)==0)).filter((c=>{const h=c.data?.availableNumberOfPeriods;return h!=null?h>0:c.card.cardType!="top_expenses"||c.data==null||(function(u){if(u==null||u.length===0)return!0;let f=!0;for(const l of u)if(l.balance.available.amount!==0){f=!1;break}return f})(c.data.topExpenses.accountsOrdered)===!1}))),{cardDataArray:d,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ge(e,"navbar")},analytics:T,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}}),(function(e,a){const t=a.tenantId,n=G.getSignedInUser();return{cardActions:{onCardClick:(o,s,r,i)=>{if(console.warn(`onCardClick at ${o} for the type ${s}`),s==="zeni_promo_card"&&i!=null)T.trackDashboardCardClicked("cards promo",2),T.trackZeniCardsPromoCardClicked(a.isChargeCardFeatureEnabled,i,2,`${n?.firstName??""} ${n?.lastName??""}`,a.isChargeCardFeatureEnabled?a.cardsCreditLimit:void 0),i==="Learn More"?window.open("https://www.zeni.ai/product/business-credit-card","_blank"):a.navigate("../cards/promo",{relative:"path"});else if(a.isForecastOn)switch(s){case"net_burn_or_income":case"operating_expenses":case"revenue":a.navigate(`${s}/forecast/${a.selectedForecastOnDashboard}`,{state:{referrer:r}});break;default:a.navigate(`${s}`,{state:{referrer:r}})}else s==="rewards_card"?(n!=null&&T.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:r}})):s==="expense_automation_card"?(T.trackMonthEndCloseClicked(a.selectedPeriod.month,a.selectedPeriod.year,"Dashboard"),a.navigate("../../month_end_close_checks/review",{state:{referrer:"Dashboard"}})):a.navigate(`${s}`,{state:{referrer:r}})},onReloadData:(o,s)=>{const r=[];a.isApAgingFeatureEnabled===!1&&r.push("accounts_payable_aging"),a.isArAgingFeatureEnabled===!1&&r.push("accounts_receivable_aging"),a.isRewardsFeatureEnabled===!1&&r.push("rewards_card"),(function(i,d,c,h){if(d!==ne)switch(d){case"card_balance":i(Sa());break;case"cash_balance":i(Ca());break;case"operating_expenses":i(Rt(!0));break;case"revenue":i(Bt(!0));break;case"net_burn_or_income":i(Ot(!0));break;case"net_burn_or_income_story_card":i(Ko(!0));break;case"cash_position":i(vt(!0));break;case"top_expenses":i(Ra());break;case"cash_in_cash_out":i(It());break;case"insights_dashboard":i(zo());break;case"bill_pay_card":i(Zo());break;case"reimbursement_card":i(No());break;case"company_details":i(Go(c));break;case"task_card":i(Vo());break;case"accounts_payable_aging":h.includes("accounts_payable_aging")===!1&&i(kt(Pe()));break;case"accounts_receivable_aging":i(yt(Pe()));break;case"rewards_card":h.includes("rewards_card")===!1&&i(Uo(!0));break;default:throw new Error(`report type ${d} is not yet supported`)}})(e,s,a.companyId,r)},onTimeframeChange:(o,s)=>{T.trackTimeframeSwitch(Ka(s),sr(o),"Dashboard"),(function(r,i,d){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":r(Fe(d));break;case"top_expenses":r(Fa(d));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}})(e,o,s)},onUpdateSelectedInsightIndex:o=>{e(Lo(o))},onCategoryClick:(o,s,r)=>{o==="bill-pay"?a.navigate("../bills",{state:{tab:s,subTab:r},relative:"path"}):o==="reimbursement"?a.navigate("../reimbursements",{state:{tab:s,subTab:r},relative:"path"}):o==="uncategorized-account-mapping"?a.navigate("../settings/accounting",{relative:"path"}):o==="show-all-tasks"?a.navigate("../tasks",{relative:"path"}):a.navigate(`../../transactions/${o}`)},onCardBtnClick:o=>{if(o==="bill_pay_promo_card"){const s="../bills",r=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:r},relative:"path"})}else if(o==="reimbursement_promo_card"){const s="../reimbursements",r=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:r},relative:"path"})}},onSaveClick:(o,s,r)=>{o==="net_burn_or_income_story_card"&&(T.trackUpdateBurnRateCalculatorSettings(s,r,Mo(r)),e(Yo(t,s,r)))}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(be({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(oe("navbar"))},onCancelAutoComplete:()=>{e(oe("navbar"))},onAutoCompleteEntity:o=>{let s="";s=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?_e(o,a.tenantEmailDomain,a.isCustomersTabEnabled===!0):fs(o.zeniId,o.qboId,a.tenantEmailDomain);const r=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:r,referrer:"Search"}})}}}}))(ms);function or(){const e=ke(),a=ha(),t=Ya(),n=Na(t),{isAiCfoOpen:o,setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:r}=Ma(),i=te(),d=$(),c=ee(),h=G.getSignedInUser(),{useFeatureGate:u,useDynamicConfig:f}=Se(),[l,p]=b.useState(!1),[C,g]=b.useState(!1),k=La(),{tenantEmailDomain:E}=H(),{isAiCfoAccessEnabled:_,onAskAiCfoClick:A}=ie({mobileExploreReferrer:"Dashboard"}),v=S((I=>I.tenantState.fetchState==="Completed"||I.tenantState.activeTenantFetchState.fetchState==="Completed"?V(I):void 0)),U=v??G.getSignedInUserTenant(E),{isCardsShuttingDown:x,shutdownContent:D}=os(U?.tenantId,v?.company?.managementInfo?.receiverEmails),B=b.useMemo((()=>x===!0&&D!=null?m.jsx(ss,{shutdownContent:D}):null),[x,D]),w=v?.masterTOSInfo?.isMasterTOSAccepted??!1,y=U.tenantId,O=U.companyId;b.useEffect((()=>{l===!1&&c.state?.message==="activation"&&(d(Po(O)),p(!0))}),[c.state,l,O,d]),b.useEffect((()=>{k&&!C&&c.state?.message==="open_ai_cfo_drawer"&&(g(!0),w?(s(!0),i({pathname:c.pathname,search:c.search,hash:c.hash},{replace:!0,state:{...c.state,message:void 0}})):pe({location:c,navigate:i,mergeState:{referrer:"Dashboard",message:void 0}}))}),[c,C,k,w,s,i]);const{isFeatureEnabled:ce}=u(Y.isApAgingFeatureEnabled),F=rs(),le=is(F),{isFeatureEnabled:Me}=u(Y.isArAgingFeatureEnabled),{isFeatureEnabled:it}=u(Y.isDepositAccountsFeatureEnabled),{isFeatureEnabled:Nt}=u(Y.isReferralFeatureEnabled),{isFeatureEnabled:Xa}=u(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:Ja}=u(Y.isAiCfoFileUploadEnabled),{isFeatureEnabled:en}=u(Y.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:tn}=u(Y.isDashboardSidebarNewYearAnimationEnabled),{isFeatureEnabled:an}=u(Y.aiAuditScorePercentage),{configValue:Zt}=f(Ua.zeniCardsConfig),nn=Zt.charge_card_cashback_rate_per_transaction==null?.0175:Zt.charge_card_cashback_rate_per_transaction;if(c.state?.message==="activation"){const I=cs(c.state?.pathnameStackToGoBack);i(c.pathname,{state:{...c.state,message:void 0,pathnameStackToGoBack:I.newStack}})}const[zt,on]=b.useState(!1),[ct,sn]=b.useState(!1);Ws("command+p, Control+p",(I=>{sn(!ct),I.preventDefault()}),{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[ct]);const Kt=v?.externalConnections?.accounting[0]?.isValid;if(h==null)throw Error("Can't access dashboard without signing in...");const ye=S((I=>V(I)?.excludedResources)),rn=S((I=>I.expenseAutomationViewState.selectedPeriodByTenantId)),cn=!!v?.companyReimbursementInfo?.info?.isReimbursementEnabled,ln=!!v?.companyBillPayInfo?.info?.isBillPayEnabled,dn=He(),Q=[],qt=ye?.resources?.find((I=>I.resource==="/reports/top_expenses"))==null,un=ye?.resources?.find((I=>I.resource==="/reports/task_card"))==null,$t=v?.userRole!=null&&Oa(v?.userRole),mn=ye?.resources?.find((I=>I.resource==="/bills"))==null&&!$t,pn=ye?.resources?.find((I=>I.resource==="/reimbursements"))==null,fn=Fo(dn?.loggedInUserRoleMap),hn=v?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,gn=v?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1;qt===!1&&Q.push("top_expenses"),un===!1&&Q.push("task_card"),mn===!1&&Q.push("bill_pay_card","bill_pay_promo_card"),ce===!1&&Q.push("accounts_payable_aging"),Me===!1&&Q.push("accounts_receivable_aging"),(F===!1||$t)&&Q.push("expense_automation_card"),pn===!1&&Q.push("reimbursement_card","reimbursement_promo_card"),Q.push("zeni_accounts_promo_card","treasury_promo_card"),Nt===!1&&Q.push("rewards_card");const{areTenantIdsInSync:Qt}=ls();b.useLayoutEffect((()=>{zt&&le===F||Kt!==!0||!Qt||ye?.fetchState!=="Completed"&&ye?.fetchState!=="Error"||(on(!0),d(Ro(h.userId,O,y,!0,!1,Q)))}),[zt,h,y,d,qt,Kt,ye?.fetchState,Qt]);const bn=S((I=>I.reportUIOptionsState.forecastOnDashboard.isForecastModeOn)),Cn=S((I=>I.revenueState.uiState.selectedForecast?.id)),Sn=S((I=>I.cardBalanceState.fetchState)),Ae=S((I=>jo(I,Q))),_n=Ae.fetchState,kn=b.useMemo((()=>fa(Ae.cardsOrdered,_)),[Ae.cardsOrdered,_]),yn=b.useMemo((()=>fa(Ae.cardsForDashboardUI,_)),[Ae.cardsForDashboardUI,_]);qe({isDataReady:!0});const{isSuggestedQuestionsLoading:An,suggestedPromptQuestions:En}=gs(),Ht=S((I=>_a(I))),Ee=Ht.uiState?.currentChatSessionId,lt=Ht.allSessionsWithOrderedQuestionAnswers??Xs,{currentSessionQuestionAnswers:In}=ds(lt,Ee),Wt=In.length===0,vn=b.useCallback(((I,X,ae)=>{const Ie=h?.userId;if(Ie==null)return;const N=I.trim();if(N.length===0&&X.length===0)return;if(!w)return void pe({location:c,navigate:i,mergeState:{referrer:"Dashboard",...N.length>0?{aiCfoInitialQuestion:N,aiCfoInitialSubmissionSource:Ct,...typeof ae=="number"?{aiCfoSuggestionIndex:ae}:{}}:{}}});const J=Va(a.getState()),ve=()=>{const De=j(c.state?.pathnameStackToGoBack,c.pathname);i(`/${E}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:De,referrer:"Dashboard",aiCfoInitialQuestion:N,aiCfoShouldSubmit:!J&&N.length>0,aiCfoInitialSubmissionSource:Ct,...typeof ae=="number"?{aiCfoSuggestionIndex:ae}:{}}})};return n?X.length>0?void s(!0):void ve():X.length>0?J?(d(At(N)),void s(!0)):(r(N.length>0?N:null),s(!0),void(N.length>0&&Ga(d,N,Ct,Ee,lt,Ie,ae,X.length>0?X:void 0))):(J&&d(At(N)),void ve())}),[lt,Ee,d,w,n,c,i,r,s,h?.userId,a,E]),Dn=b.useCallback((()=>{w?s(!0):pe({location:c,navigate:i,mergeState:{referrer:"Dashboard"}})}),[w,c,i,s]),Tn=b.useCallback((()=>{if(!w)return void pe({location:c,navigate:i,mergeState:{referrer:"Dashboard"}});if(E==null)return;const I=j(c.state?.pathnameStackToGoBack,c.pathname);i(`/${E}/ai-cfo/explore`,{state:{pathnameStackToGoBack:I,referrer:"Dashboard"}})}),[w,c,i,E]),On=b.useCallback((()=>{if(w)if(n){if(E==null||v==null)return;const I=Ee==null||Wt?`/${E}/ai-cfo/explore`:`/${E}/ai-cfo/${Ee}`,X=c.state?.pathnameStackToGoBack??[],ae=j(X,c.pathname);i(I,{state:{...c.state,pathnameStackToGoBack:ae,[us]:!0}})}else pe({location:c,navigate:i,mergeState:{referrer:"Dashboard"}});else pe({location:c,navigate:i,mergeState:{referrer:"Dashboard"}})}),[w,n,c,i,E,v,Ee,Wt]);return m.jsxs(m.Fragment,{children:[_n==="Completed"?m.jsx($e,{analytics:T,onLoad:I=>{I.trackPageLoaded(z.Event.dashboard)}}):null,m.jsx(nr,{isCustomersTabEnabled:e,cardsShutdownBanner:B,maxColumns:o?2:void 0,isAiCfoAccessEnabled:_,onAskAiCfoClick:A,onAiCfoDashboardOpenPanel:Dn,onAiCfoDashboardOpenScopePage:On,isAiCfoFileUploadEnabled:Ja===!0&&n===!1,onAiCfoDashboardPromptSubmit:vn,onAiCfoDashboardExpandToFullPage:Tn,aiCfoDashboardShouldClearPromptOnSubmit:w,aiCfoDashboardSuggestedPromptQuestions:En,aiCfoDashboardSuggestedPromptQuestionsLoading:An,onDragAndDropCard:(I,X)=>{if(I===ne||X===ne)return;const ae=(function(J,ve,De){const dt=De.indexOf(J),ut=De.indexOf(ve);if(dt===-1||ut===-1||dt===ut)return De;const mt=[...De];return mt.splice(dt,1),mt.splice(ut,0,J),mt})(I,X,kn),Ie=ae.filter((J=>J!==ne)),N=Ae.cardsOrdered;(Ie.length!==N.length||Ie.some(((J,ve)=>J!==N[ve])))&&d(Bo(Ie))},dashboardReport:Ae,passedCardsOrdered:yn,tenantId:y,companyId:O,tenantEmailDomain:E,location:c,navigate:i,isApAgingFeatureEnabled:ce,isArAgingFeatureEnabled:Me,isBillPayEnabled:ln,isReimbursementEnabled:cn,isSummaryCardsFiltered:ct,isForecastOn:bn,selectedForecastOnDashboard:Cn,isVisitingFirstTime:l,isZeniAccountEnabled:it,isRewardsFeatureEnabled:Nt,selectedPeriod:rn[y],isChargeCardFeatureEnabled:Xa,isUserHasCardsAccess:fn,cardsCreditLimit:hn,cashbackRate:nn,isInterestedInChargeCard:gn,cardBalanceFetchState:Sn,christmasAnimationEnabled:en,newYearAnimationEnabled:tn,aiAuditScorePercentageEnabled:an})]})}const sr=e=>{switch(e){case"operating_expenses":return"Operating Expenses";case"revenue":return"Revenues";case"top_expenses":return"Top Expenses";case"net_burn_or_income":return"Burn Rate";case"cash_in_cash_out":return"Cash In, Cash Out";case"cash_position":return"Cash Position"}return"Dashboard"},rr=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map((a=>a.fetchState)).reduce(((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t));function St(){return m.jsxs(_t,{children:[m.jsx(R,{path:"/",element:m.jsx(fe,{})}),m.jsx(R,{path:"/:forecastId",element:m.jsx(fe,{})}),m.jsx(R,{path:"/:forecastId/*",element:m.jsx(Ue,{})})]})}function Ur(){const e=He(),a=e?.excludedResources?.find((c=>c.resource==="/reports/top_expenses"))==null,{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(Y.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(Y.isArAgingFeatureEnabled),s=S((c=>V(c))),{isFeatureEnabled:r}=t(Y.isDebitCardFeatureEnabled),i=qo(r,s),d=$o(s);return i===!0||d===!0?m.jsx(_t,{children:m.jsx(R,{path:"/*",element:m.jsx(bs,{})})}):m.jsxs(_t,{children:[m.jsx(R,{path:"/",element:m.jsx(or,{})}),m.jsx(R,{path:"cash_balance/*",element:m.jsx(ra,{})}),m.jsx(R,{path:"card_balance/*",element:m.jsx(ra,{})}),m.jsx(R,{path:"operating_expenses/*",element:m.jsx(fe,{})}),m.jsx(R,{path:"operating_expenses/forecast/*",element:m.jsx(St,{})}),m.jsx(R,{path:"revenue/forecast/*",element:m.jsx(St,{})}),m.jsx(R,{path:"revenue/*",element:m.jsx(fe,{})}),m.jsx(R,{path:"net_burn_or_income/forecast/*",element:m.jsx(St,{})}),m.jsx(R,{path:"net_burn_or_income/*",element:m.jsx(fe,{})}),n===!0&&m.jsxs(m.Fragment,{children:[m.jsx(R,{path:"accounts_payable_aging/*",element:m.jsx(Ss,{})}),m.jsx(R,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:m.jsx(Cs,{})})]}),o&&m.jsxs(m.Fragment,{children:[m.jsx(R,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:m.jsx(_s,{})}),m.jsx(R,{path:"accounts_receivable_aging/*",element:m.jsx(ks,{})})]}),m.jsx(R,{path:"cash_position/*",element:m.jsx(fe,{})}),m.jsx(R,{path:"top_expenses/*",element:a===!0?m.jsx(fe,{}):m.jsx(Ue,{})}),m.jsx(R,{path:"cash_in_cash_out/*",element:m.jsx(fe,{})}),m.jsx(R,{path:"company_details",element:m.jsx(hs,{})}),m.jsx(R,{path:"referrals/*",element:m.jsx(xn,{to:"../../rewards/refer",replace:!0})}),m.jsx(R,{path:"*",element:m.jsx(Ue,{})})]})}export{Ur as default};