@zeniai/web-app-ui 5.0.12-qa → 5.0.13-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 (157) hide show
  1. package/dist/assets/AddressRoutes-CBVrrn2k.js +1 -0
  2. package/dist/assets/{AddressScreen-CtX_qKM4.js → AddressScreen-UXVORYsI.js} +1 -1
  3. package/dist/assets/{AiCfoScreen-DFClKDvA.js → AiCfoScreen-9T_HnT1O.js} +1 -1
  4. package/dist/assets/{BillPayApprovalRoutes-BuPgz0VZ.js → BillPayApprovalRoutes-CyvUP9dD.js} +1 -1
  5. package/dist/assets/{BillPayRoutes-Bpbp5_TI.js → BillPayRoutes-DKU3IRRM.js} +1 -1
  6. package/dist/assets/{BusinessVerificationPageScreen-Ul9pbxMd.js → BusinessVerificationPageScreen-DiJtIpXw.js} +1 -1
  7. package/dist/assets/{ChargeCardRoutes-DBw7wMQc.js → ChargeCardRoutes-BMJyua_C.js} +1 -1
  8. package/dist/assets/{CompanyPassportScreen-Cqz1qGsf.js → CompanyPassportScreen-CBgDYpA6.js} +1 -1
  9. package/dist/assets/{ConnectionAuthScreen-B0hut9cU.js → ConnectionAuthScreen-n7c7ca9F.js} +1 -1
  10. package/dist/assets/CustomerOnboardingAuthScreen-Boxxhazt.js +1 -0
  11. package/dist/assets/{CustomerOnboardingRoutes-1srmqR5-.js → CustomerOnboardingRoutes-eFJ1d9x5.js} +1 -1
  12. package/dist/assets/{DashboardRoutes-B8hxKVWr.js → DashboardRoutes-C2PPVCPA.js} +1 -1
  13. package/dist/assets/{DefaultTenantHome-By01i4JV.js → DefaultTenantHome-Dr0E8E-x.js} +1 -1
  14. package/dist/assets/{DomesticWireDetailScreen-BknvyqFc.js → DomesticWireDetailScreen-CPFM3IcN.js} +1 -1
  15. package/dist/assets/{DrawerScreen-CPuMvDg7.js → DrawerScreen-CxkjwQIn.js} +1 -1
  16. package/dist/assets/{EntityDetailRoutes-CehcYova.js → EntityDetailRoutes-B7THCB4r.js} +1 -1
  17. package/dist/assets/{ExpenseAutomationRoutes--qEGkNAZ.js → ExpenseAutomationRoutes-DsES659J.js} +1 -1
  18. package/dist/assets/{FeaturePreviewScreen-BDotwidZ.js → FeaturePreviewScreen-B_86CEQS.js} +1 -1
  19. package/dist/assets/{MagicLinkRoutes-B7lTPJi5.js → MagicLinkRoutes-DeBDkqdD.js} +1 -1
  20. package/dist/assets/{MagicLinkSignInScreen-B64APuKo.js → MagicLinkSignInScreen-BG8wm2_4.js} +1 -1
  21. package/dist/assets/{MobileAppDrawer-DJybBxxC.js → MobileAppDrawer-Bx8lTmg0.js} +1 -1
  22. package/dist/assets/NotFoundScreen-BGqya0iF.js +1 -0
  23. package/dist/assets/{NotificationRoutes-ByMmcTfv.js → NotificationRoutes-Bf5LBZ8R.js} +1 -1
  24. package/dist/assets/{PandLWithForecastRoutes-CI7fhzbD.js → PandLWithForecastRoutes-CgM9Wo-6.js} +1 -1
  25. package/dist/assets/{PeopleRoutes-2EjYhZMl.js → PeopleRoutes-fVruxg09.js} +1 -1
  26. package/dist/assets/{PerformanceRoutes-DuSG2sOu.js → PerformanceRoutes-BEEfGS4X.js} +1 -1
  27. package/dist/assets/{Preview-C3TcKeZU.js → Preview-RtmufjZX.js} +1 -1
  28. package/dist/assets/{QBOConnectionScreen-CHf-hKza.js → QBOConnectionScreen-CC6k4vJE.js} +1 -1
  29. package/dist/assets/{ReferralListScreen-DXnNEK59.js → ReferralListScreen-wswn86OV.js} +1 -1
  30. package/dist/assets/{ReimbursementApprovalRoutes-D_6AwVb9.js → ReimbursementApprovalRoutes-aSZ_wShn.js} +1 -1
  31. package/dist/assets/{ReimbursementApprovalRuleDetailScreen-B0UWTjpK.js → ReimbursementApprovalRuleDetailScreen-CUguJaa6.js} +1 -1
  32. package/dist/assets/{ReimbursementRoutes-DpKjqTcA.js → ReimbursementRoutes-UN8So9Js.js} +1 -1
  33. package/dist/assets/{ReportsRoutes-Ci1ouv8p.js → ReportsRoutes-lc7GidmL.js} +1 -1
  34. package/dist/assets/{RewardsRoutes-BgSfJ48K.js → RewardsRoutes-C8QB5nn1.js} +1 -1
  35. package/dist/assets/{ScreenRoutes-Bd9RFirn.js → ScreenRoutes-DyKpA6gG.js} +2 -2
  36. package/dist/assets/{SettingsRoutes-B5wg5ovm.js → SettingsRoutes-BIohG9kB.js} +1 -1
  37. package/dist/assets/{SetupPagesScreen-BanbOOgQ.js → SetupPagesScreen-B6qYnyZ1.js} +1 -1
  38. package/dist/assets/{SignInScreen-CZI8HoAd.js → SignInScreen-kdxqbji_.js} +1 -1
  39. package/dist/assets/{SignOutScreen-BL4TvYfS.js → SignOutScreen-CoA4NiIP.js} +1 -1
  40. package/dist/assets/{TaskListScreen-BRZ-S3Tv.js → TaskListScreen-BOnN17k2.js} +1 -1
  41. package/dist/assets/{TaskRoutes-D4NPFxWo.js → TaskRoutes-CUZbFNHU.js} +1 -1
  42. package/dist/assets/TransactionDetailRoutes-h1cHra4c.js +1 -0
  43. package/dist/assets/{TransactionDetailScreen-BQBVq_ZG.js → TransactionDetailScreen-C4h7v589.js} +1 -1
  44. package/dist/assets/{TransactionListRoutes-BeBY15XF.js → TransactionListRoutes-26j8jmQu.js} +1 -1
  45. package/dist/assets/{TreasuryRoutes-BnDkIw9o.js → TreasuryRoutes-DIYYeRNB.js} +1 -1
  46. package/dist/assets/{VendorsRoutes-Bg_qB9es.js → VendorsRoutes-p6kpb3Y0.js} +1 -1
  47. package/dist/assets/{WiseConfirmationScreen-C9IRTjl_.js → WiseConfirmationScreen-bVdCcMoK.js} +1 -1
  48. package/dist/assets/{ZeniAccountRoutes-B-_OsFeA.js → ZeniAccountRoutes-CHWXhbKm.js} +1 -1
  49. package/dist/assets/{ZeniAccountStatementScreen-CVRPKBLf.js → ZeniAccountStatementScreen-CEDgFdf8.js} +1 -1
  50. package/dist/assets/{accountMappingHelper-DUJwjv4V.js → accountMappingHelper-VkYriGBP.js} +1 -1
  51. package/dist/assets/{analytics-DuZD1FBf.js → analytics-D3BPH6yx.js} +1 -1
  52. package/dist/assets/{analyticsHelper-CezXrIid.js → analyticsHelper-CT8y7LQ5.js} +1 -1
  53. package/dist/assets/{core-CHx9v1R3.js → core-CZukbx0Q.js} +1 -1
  54. package/dist/assets/{decodeURIComponentSafe-IyDHJK_-.js → decodeURIComponentSafe-BMhpBWAI.js} +1 -1
  55. package/dist/assets/{dnd-Ci4anwe2.js → dnd-C982KOaa.js} +1 -1
  56. package/dist/assets/{empty-CXijM8Yn.js → empty-BWCQ_0J5.js} +1 -1
  57. package/dist/assets/{empty-DC_zzPcD.js → empty-v0hJlOmn.js} +1 -1
  58. package/dist/assets/{emptyVideoElement-C2-_1qo0.js → emptyVideoElement-BxwhKJBx.js} +1 -1
  59. package/dist/assets/epic-CGgrgTSz.js +2 -0
  60. package/dist/assets/{getLocaleForTenant-BobWg4Hu.js → getLocaleForTenant-BkEEFtfp.js} +1 -1
  61. package/dist/assets/{index-DXrrGmep.js → index-B40Qim0p.js} +1 -1
  62. package/dist/assets/{index-DW2V2aM1.js → index-BCUyk4vZ.js} +1 -1
  63. package/dist/assets/{index-BJaFzjLY.js → index-BL5F9FcF.js} +1 -1
  64. package/dist/assets/{index-BYgpnDFl.js → index-BclNqUUi.js} +1 -1
  65. package/dist/assets/{index-DZjotWfe.js → index-BiQB87nE.js} +2 -2
  66. package/dist/assets/{index-DvW5_poC.js → index-CTCUMK3y.js} +1 -1
  67. package/dist/assets/{index-_YbuoSTd.js → index-uvx_AADs.js} +643 -614
  68. package/dist/assets/{lexical-DQpmcVQ9.js → lexical-BiHBh7jO.js} +1 -1
  69. package/dist/assets/{liveblocks-CQd3J_Jz.js → liveblocks-D6KTXvhv.js} +1 -1
  70. package/dist/assets/{lottie-Dnly7PBz.js → lottie-28Wzb4-h.js} +1 -1
  71. package/dist/assets/{mui-B5MJXy46.js → mui-BsWf3aoF.js} +1 -1
  72. package/dist/assets/{pathToGoBack-eAzzRDV4.js → pathToGoBack-DuOzAHpB.js} +1 -1
  73. package/dist/assets/{pdf-DYwn2DuC.js → pdf-D4etPH5X.js} +4 -4
  74. package/dist/assets/{pdf-lib-DV6Dg2jz.js → pdf-lib-B-kXlgH7.js} +1 -1
  75. package/dist/assets/{plaid-CcgrQve1.js → plaid-BlZUWQEE.js} +1 -1
  76. package/dist/assets/{pusher-SIueaQE_.js → pusher-DNeGnq4j.js} +1 -1
  77. package/dist/assets/{react-fY2vQLDW.js → react-BKssAPFM.js} +1 -1
  78. package/dist/assets/{react-Df7SmVuu.js → react-Bgw1-uo-.js} +1 -1
  79. package/dist/assets/{react-B_6uxiQm.js → react-BjugJboI.js} +1 -1
  80. package/dist/assets/{react-C7IO6ybw.js → react-Cmcopb6P.js} +1 -1
  81. package/dist/assets/{react-vH2UXDZO.js → react-DIioZG0x.js} +1 -1
  82. package/dist/assets/{react-BOC875DV.js → react-ScHkzTjl.js} +1 -1
  83. package/dist/assets/{recharts-nKX4-UUs.js → recharts-Kt4_Z9D4.js} +1 -1
  84. package/dist/assets/{routePaths-DcafKlRb.js → routePaths-Cqo_muAD.js} +1 -1
  85. package/dist/assets/{sentry-BO53Tmje.js → sentry-DlTle5wx.js} +1 -1
  86. package/dist/assets/{url-CXCHGUpp.js → url-B8abWcfS.js} +1 -1
  87. package/dist/assets/{url-kAF8xbJK.js → url-kIFJA3dP.js} +1 -1
  88. package/dist/assets/{useAskAiCfoHostNavButtonProps-BndHsfWo.js → useAskAiCfoHostNavButtonProps-BOODwYej.js} +1 -1
  89. package/dist/assets/{useDeviceId-J1-jcXdc.js → useDeviceId-DgVtbX-U.js} +1 -1
  90. package/dist/assets/{useFetchSuggestedQuestionsWhenReady-B8UnhkhU.js → useFetchSuggestedQuestionsWhenReady-DFgEppv4.js} +1 -1
  91. package/dist/assets/{useInitialThreadRequest-CIDuB5B_.js → useInitialThreadRequest-CKZbNN_8.js} +1 -1
  92. package/dist/assets/{utils-DpJstXha.js → utils-CnNkpT2e.js} +1 -1
  93. package/dist/assets/{withTransactionSidePanel-Bvasj9MO.js → withTransactionSidePanel-CuBFY4e0.js} +1 -1
  94. package/dist/assets/{zeni-epic-state-T7UkKQQw.js → zeni-epic-state-1VZHEC1T.js} +3 -3
  95. package/dist/index.html +1 -1
  96. package/package.json +3 -3
  97. package/dist/assets/AddressRoutes-BB3QwcV2.js +0 -1
  98. package/dist/assets/AddressRoutes-RZvAbm7b.js +0 -1
  99. package/dist/assets/AddressScreen-fg6k52x4.js +0 -9
  100. package/dist/assets/AiCfoScreen-jLlIeMQC.js +0 -11
  101. package/dist/assets/BillPayApprovalRoutes-DpwujefZ.js +0 -1
  102. package/dist/assets/BillPayRoutes-CQiDaAlk.js +0 -119
  103. package/dist/assets/BusinessVerificationPageScreen-Z_-aQI_5.js +0 -9
  104. package/dist/assets/ChargeCardRoutes-mbNdCQ5I.js +0 -71
  105. package/dist/assets/CompanyPassportScreen-Dof8QyCO.js +0 -1
  106. package/dist/assets/ConnectionAuthScreen-D3iY5CZB.js +0 -11
  107. package/dist/assets/CustomerOnboardingAuthScreen-InYw6yWH.js +0 -1
  108. package/dist/assets/CustomerOnboardingAuthScreen-SG-PPDAy.js +0 -1
  109. package/dist/assets/CustomerOnboardingRoutes-DNuKHrz2.js +0 -23
  110. package/dist/assets/DashboardRoutes-BJM-IVpb.js +0 -20
  111. package/dist/assets/DefaultTenantHome-Cc07dgHD.js +0 -1
  112. package/dist/assets/DomesticWireDetailScreen-C5mre1dZ.js +0 -18
  113. package/dist/assets/DrawerScreen-Dd2y9Zxp.js +0 -1
  114. package/dist/assets/EntityDetailRoutes-CsheHpOm.js +0 -1
  115. package/dist/assets/ExpenseAutomationRoutes-Bn2btjHv.js +0 -20
  116. package/dist/assets/FeaturePreviewScreen-jkbWAKFD.js +0 -1
  117. package/dist/assets/MagicLinkRoutes-Bk7xjaNH.js +0 -72
  118. package/dist/assets/MagicLinkSignInScreen-CIKfHfB4.js +0 -12
  119. package/dist/assets/MobileAppDrawer-gMG7WLxC.js +0 -1
  120. package/dist/assets/NotFoundScreen-Cd8X5xCE.js +0 -1
  121. package/dist/assets/NotFoundScreen-DKiPvQrK.js +0 -1
  122. package/dist/assets/NotificationRoutes-DRSZhtx9.js +0 -1
  123. package/dist/assets/PandLWithForecastRoutes-CzASlWgo.js +0 -1
  124. package/dist/assets/PeopleRoutes-BG3ChQRM.js +0 -22
  125. package/dist/assets/PerformanceRoutes-hWmBUaHL.js +0 -1
  126. package/dist/assets/QBOConnectionScreen-OXmvz2uL.js +0 -100
  127. package/dist/assets/ReferralListScreen-DmQVP2Me.js +0 -5
  128. package/dist/assets/ReimbursementApprovalRoutes-E6bF5lHy.js +0 -1
  129. package/dist/assets/ReimbursementApprovalRuleDetailScreen-CMkDXxn8.js +0 -1
  130. package/dist/assets/ReimbursementRoutes-zGe6V_ZX.js +0 -68
  131. package/dist/assets/ReportsRoutes-D7nHEFeV.js +0 -1
  132. package/dist/assets/RewardsRoutes-LUDjkgNt.js +0 -1
  133. package/dist/assets/ScreenRoutes-CPqWF-Ww.js +0 -2
  134. package/dist/assets/SettingsRoutes-B7PmQ0pH.js +0 -57
  135. package/dist/assets/SetupPagesScreen-Ch-NFUb5.js +0 -29
  136. package/dist/assets/SignInScreen-DBNzBnK2.js +0 -1
  137. package/dist/assets/SignOutScreen-CpX3JLX_.js +0 -9
  138. package/dist/assets/TaskListScreen-C090Vv7j.js +0 -9
  139. package/dist/assets/TaskRoutes-p-A0ZRuC.js +0 -9
  140. package/dist/assets/TransactionDetailRoutes-5Y-Qd0jd.js +0 -1
  141. package/dist/assets/TransactionDetailRoutes-DQpiFP5C.js +0 -1
  142. package/dist/assets/TransactionDetailScreen-B_ny21sj.js +0 -5
  143. package/dist/assets/TransactionListRoutes-HA0OKQn5.js +0 -1
  144. package/dist/assets/TreasuryRoutes-Cfd3gerU.js +0 -37
  145. package/dist/assets/VendorsRoutes-QN_UpFaZ.js +0 -112
  146. package/dist/assets/WiseConfirmationScreen-RvJMSTLm.js +0 -12
  147. package/dist/assets/ZeniAccountRoutes-2FokmTKZ.js +0 -66
  148. package/dist/assets/ZeniAccountStatementScreen-VNEYE6MA.js +0 -9
  149. package/dist/assets/analyticsHelper-Mt04lTg1.js +0 -1
  150. package/dist/assets/epic-ClqXieiv.js +0 -2
  151. package/dist/assets/getLocaleForTenant-NjEbUk_c.js +0 -1
  152. package/dist/assets/index-Dq9jqf2N.js +0 -70788
  153. package/dist/assets/routePaths-abbP8AF2.js +0 -1
  154. package/dist/assets/useAskAiCfoHostNavButtonProps-BoUrQmeU.js +0 -1
  155. package/dist/assets/useFetchSuggestedQuestionsWhenReady-SLtAuNb5.js +0 -1
  156. package/dist/assets/useInitialThreadRequest-DORcYYgp.js +0 -1
  157. package/dist/assets/withTransactionSidePanel-UHZfMBs6.js +0 -21
@@ -1,71 +0,0 @@
1
- import{j as s}from"./liveblocks-CQd3J_Jz.js";import{j as ue,l as la,h as me,g as S,u as ye,k as ge,N as ya,q as mt,n as Jt,o as te}from"./core-CHx9v1R3.js";import{eM as ie,br as Be,NX as _a,eR as Se,eS as Ie,eT as Ae,fK as Me,co as ze,NY as $e,NZ as $a,sI as Sa,ju as Ia,N_ as Aa,gy as ca,za as aa,zc as Ga,zd as Ya,jk as Ct,N$ as Ge,y_ as pt,O0 as Xt,O1 as Qt,z1 as wa,O2 as en,Mo as Pa,qU as ht,z7 as Za,gJ as an,O3 as ft,O4 as Ye,bp as tn,O5 as nn,fA as Ta,fz as Fa,zH as rn,fy as va,M4 as sn,O6 as gt,cN as bt,cJ as on,Mn as ua,Ah as cn,O7 as rt,zT as Oa,O8 as yt,Ai as dn,MO as ln,Aj as un,Bd as mn,s2 as Cn,B7 as pn,zs as St,zl as hn,O9 as fn,fM as gn,zB as It,zF as At,fL as bn,Oa as yn,A3 as Et,Ob as Sn,Oc as In,Od as An,zD as kt,zo as Dt,z4 as _t,zx as wt,zv as Pt,zz as En,zb as st,Oe as Tt,Of as xa,zQ as Ea,J3 as Ft,cK as Ka,Og as kn,Oh as Dn,Oi as _n,Oj as wn,zN as Ha,Aa as Pn,A6 as Tn,zJ as Fn,A8 as vn,z_ as On,A0 as xn,Ok as vt,Ag as Ot,GA as Bn,Ol as Ln,Om as Un,On as Rn,Oo as xt,Op as jn,AD as Nn,zS as Bt,zM as da,zR as Vn,Oq as Hn,Or as Mn,yX as zn,Os as Lt,Ot as Ut,Ou as $n,yZ as Gn,yY as ot,Ov as Yn,Ow as Zn,Ox as Kn,I$ as Wn,Oy as Wa,Oz as qn,vy as Rt,k2 as Jn,gz as Xn,AI as Qn,OA as jt,OB as er,AJ as ar,OC as tr,db as nr,sC as rr,Ay as sr,As as xe,bu as or,bC as ir,ct as cr,bD as dr,Ig as lr}from"./zeni-epic-state-T7UkKQQw.js";import{z as Q,S as Ue,i as oe,s as Z,B as Ze,bU as Ba,c3 as ur,q as ve,c4 as mr,c5 as Cr,J as ma,aI as Fe,v as be,bb as qa,c6 as pr,C as Ca,j as La,h as Ja,c as J,D as Xa,c7 as hr,K as Nt,al as Qa,bn as Qe,c8 as Ma,c9 as fr,x as et,a1 as gr,ca as br,ao as Vt,T as za,N as Ht,e as Mt,cb as yr,cc as Sr,cd as Ir,ce as Ar,cf as Er,o as ka,cg as kr,ch as Dr,ci as ja,Y as _r,cj as wr,ck as Pr,cl as Tr,cm as Fr,a4 as vr}from"./index-_YbuoSTd.js";import{n as _e,D as zt,S as Or}from"./mui-B5MJXy46.js";import{a as c}from"./sentry-BO53Tmje.js";import{g as fe,a as pa,b as $t,c as Ee,d as ke,e as Le,f as Re,A as xr,h as at,P as Br,i as tt,s as ea,j as Gt,k as He,l as Yt,m as Lr,n as Zt,p as Ur,S as it}from"./SetupPagesScreen-BanbOOgQ.js";import Ua from"./NotFoundScreen-DKiPvQrK.js";import{M as ha}from"./MobileAppDrawer-gMG7WLxC.js";import{u as Kt}from"./useAskAiCfoHostNavButtonProps-BndHsfWo.js";import{c as Wt}from"./useFetchSuggestedQuestionsWhenReady-B8UnhkhU.js";import{v as ct}from"./utils-DpJstXha.js";import{t as Rr}from"./AddressScreen-fg6k52x4.js";import"./recharts-nKX4-UUs.js";import"./analytics-DuZD1FBf.js";import"./plaid-CcgrQve1.js";import"./dnd-Ci4anwe2.js";import"./stripe-DMRn4zHo.js";import"./lottie-Dnly7PBz.js";import"./lexical-DQpmcVQ9.js";import"./pdf-DYwn2DuC.js";import"./analyticsHelper-CezXrIid.js";import"./routePaths-abbP8AF2.js";import"./BusinessVerificationPageScreen-Z_-aQI_5.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="666fe665-e9db-4dc6-bf78-168d84b5c4b6",e._sentryDebugIdIdentifier="sentry-dbid-666fe665-e9db-4dc6-bf78-168d84b5c4b6")}catch{}})();function jr(){const e=ue(),{cardId:t}=la(),a=me(),r=Q.getSignedInUser(),n=S(G=>ie(G)),u=Ue(),m=Be(u?.loggedInUserRoleMap),{useFeatureGate:C}=oe();if(r==null)throw Error("Can't access Add To Wallet Page without signing in...");const[I,o]=c.useState(!1),i=S(G=>_a(G).firstViewAfterActivation);if(t==null)throw Error("Empty card id is not valid...");const D=n.userRole.includes("charge_card_user"),{isFeatureEnabled:A}=C(Z.isChargeCardFeatureEnabled),f=!!n.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:B}=C(Z.isDebitCardFeatureEnabled),v=Se(n),k=Ie(n),h=Ae(B,n),b=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,g=Ee({isDebitCardFeatureEnabled:B,isBankingOnlyTenant:h}),l=ke({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:A,isBookKeepingTenant:k,isDebitCardProductVisible:g,chargeCardsCreditAccountLimit:b}),w=!!n.companyDebitCardInfo?.info?.isDebitCardEnabled,L=S(G=>Me(G,n.companyId)),j=ze(L.controllers),{creditAccount:T,creditAccountRepayment:P}=S(G=>$e(G)),N=S(G=>G.classListState.fetchState),p=!D&&l&&f,d=S(G=>$a(G,t,p,l)),[_,F]=c.useState(!1),R=d.chargeCard,M=R?.cardCreatedByUser?.userId,W=S(G=>M!=null?Sa(G.userRoleState,M):void 0),y=W?.accountingClassIDs[0],O=S(G=>y!=null?Ia(G.classState,{classId:y,reportId:"class_list"}):void 0),$=R?.cardHolderUser?.userId,U=S(G=>$!=null?Sa(G.userRoleState,$):void 0),Y=U?.accountingClassIDs[0],E=S(G=>Y!=null?Ia(G.classState,{classId:Y,reportId:"class_list"}):void 0),q=R?.type.code==="business_physical_credit_card"||R?.type.code==="business_physical_debit_card",K=R?.type.code==="business_physical_debit_card";c.useEffect(()=>{i&&I===!1&&q&&(o(!0),setTimeout(()=>{a(Aa()),K&&a(ca({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[i,I,q,K]),c.useEffect(()=>{_||d.fetchState==="Completed"||d.fetchState==="In-Progress"||t==null||(F(!0),a(aa(t,p,!1)))},[_,d,t,a]),c.useEffect(()=>{if(d.fetchState==="Completed"&&(q===!1||q&&R?.status?.code!=="active"||R?.cardHolderUserId!==r.userId||i===!1&&I===!1||R?.type.code==="business_physical_debit_card"||R?.type.code==="business_virtual_debit_card")){const G=fe(n.tenantEmailDomain,t,r,R,i);e(G)}},[d.fetchState,i,q]),c.useEffect(()=>{T.fetchState!=="Completed"&&T.fetchState!=="In-Progress"&&l&&f&&m&&a(Ga()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&l&&f&&m&&a(Ya()),N!=="Completed"&&N!=="In-Progress"&&a(Ct())},[T.fetchState,P.fetchState,a,l,f,m,N]);const z=()=>{if(r!=null&&t!=null){a(Aa());const G=fe(n.tenantEmailDomain,t,r);e(G)}},Ce=R?.type.code==="business_physical_debit_card"||R?.type.code==="business_virtual_debit_card",ae=Le(l,g,w,f),x=pa(l,f,m,T,P),pe=$t(Ce,d);return d.fetchState!=="Completed"?s.jsx(Ze,{fetchState:"In-Progress"}):s.jsxs(s.Fragment,{children:[s.jsx(Ba,{showConfetti:i}),s.jsx(ur,{onGotItClick:z,isDebitCard:R?.type.code==="business_physical_debit_card",controllerEmails:j,isChargeCardFeatureEnabled:l,isDebitCardFeatureEnabled:g,isDebitCardSetupEnabled:w,isChargeCardSetupEnabled:f,productInformation:ae,creditAccountInformation:x,debitAccountInformation:pe,chargeCardDetailView:d,creditAccount:T,classListFetchState:N,creditAccountRepayment:P,cardIssuedByRoles:W?.userRoles,cardIssuedByDepartmentName:O?.className,cardHolderRoles:U?.userRoles,cardHolderDepartmentName:E?.className})]})}const Nr=ge(function(e){const t=Ge(e);return{insightsData:t.insight,cashbackByPeriod:t.cashbackByPeriod,uiState:t.uiState,cashbackSummary:t.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(t,a)=>{e(Xt({uiState:{sortKey:t,sortOrder:a}}))}}})(Cr);function Vr(){const e=ue(),t=me(),a=ye(),r=Q.getSignedInUser(),n=S(o=>ie(o)),[u,m]=c.useState(!1),C=S(o=>Ge(o)),I=c.useCallback(()=>{const o=ve(a.state?.pathnameStackToGoBack),i=o.poppedPathname??Hr(n.tenantEmailDomain);e(i,{state:{pathnameStackToGoBack:o.newStack}})},[e,a,n.tenantEmailDomain]);if(c.useEffect(()=>{u||C.fetchState==="Completed"||C.fetchState==="In-Progress"||(m(!0),t(pt()))},[u,C,t]),r==null)throw Error("Can't access cashback detail page without signing in...");return C.fetchState==="In-Progress"?s.jsx(mr,{onBackClick:I}):C.cashbackSummary.cashbackEarned.amount===0&&C.fetchState==="Completed"?s.jsx(Ua,{}):s.jsx(Nr,{onBackClick:I})}const Hr=e=>`/${e}/cards`,Mr={containerWidth:new Ca(100,58)},zr=({appContent:e})=>{const t=ma(),a=me(),r=ue(),{cardId:n}=la(),u=ye(),{useDynamicConfig:m}=oe(),[C,I]=c.useState(!1),[o,i]=c.useState(!1),[D,A]=c.useState(!1),[f,B]=c.useState(!1),v=Q.getSignedInUser();if(v==null)throw Error("Can't access onboarding card page without signing in...");const k=S(E=>ie(E));if(n==null)throw Error("Empty card id is not valid...");const{configValue:h}=m(Fe.zeniCardsConfig),b=h.max_charge_card_activation_attempts_by_card_id,g=S(E=>Qt(E,n)),l=g.chargeCard,w=S(E=>E.chargeCardConfigState.fetchState),{useFeatureGate:L}=oe(),{isFeatureEnabled:j}=L(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:T}=L(Z.isDebitCardFeatureEnabled),P=Ae(T,k),N=Ee({isDebitCardFeatureEnabled:T,isBankingOnlyTenant:P}),p=!!k.companyChargeCardInfo?.info?.isChargeCardEnabled,d=k.userRole.includes("charge_card_user"),_=Se(k),F=Ie(k),R=k.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,M=ke({isCardsOnlyTenant:_,isChargeCardFeatureEnabled:j,isBookKeepingTenant:F,isDebitCardProductVisible:N,chargeCardsCreditAccountLimit:R}),W=!d&&M&&p;c.useEffect(()=>{C===!1&&w!=="In-Progress"&&w!=="Completed"&&(a(wa()),I(!0)),o===!1&&g.fetchState==="Not-Started"&&(i(!0),a(aa(n,W,M)))},[o,g.fetchState,C,w]);const y=l?.type.code==="business_physical_credit_card"||l?.type.code==="business_physical_debit_card";c.useEffect(()=>{if(g.fetchState==="Completed"){if(D===!1&&(y===!1||y&&l?.status?.code!=="inactive"||l?.cardHolderUserId!==v.userId)){const E=fe(k.tenantEmailDomain,n,v,l,!0),q=be(u.state?.pathnameStackToGoBack,u.pathname);r(E,{state:{pathnameStackToGoBack:q}})}else if(D&&g.isRefreshingViewInBackground===!1&&l?.status?.code==="active"){a(en({chargeCardId:n}));const E=fe(k.tenantEmailDomain,n,v,l,!0),q=be(u.state?.pathnameStackToGoBack,u.pathname);a(Pa()),r(E,{state:{pathnameStackToGoBack:q}})}}},[g.fetchState,l?.type.code,D,g.isRefreshingViewInBackground]);const O=Q.getZeniOtpTokenForCardHolder(n),$=S(E=>ht(E.userState,v.userId)),U=()=>{l?.status?.code!=="active"&&a(Za(n,!0))};c.useEffect(()=>{g.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&l?.cardActivationAttemptHistory.some(E=>E.statusCode==="success")===!0&&D===!1&&(setTimeout(U,3e3),A(!0))},[g.updatePhysicalChargeCardAttemptFetchState.fetchState,l?.cardActivationAttemptHistory]);const Y=E=>{B(E)};if(w!=="Completed"||l==null)return s.jsx(Ze,{fetchState:"In-Progress"});if(l.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if($?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(Yr,{children:[s.jsx(ha,{isAppContentDrawerOpen:f,handleDrawerToggle:Y}),s.jsx($r,{cardId:n,card:l,shippingAddressId:l.shippingAddressId,phone:$.phone,signedInUser:v,isSandboxEnv:qa(),chargeCardDetailState:g,signedInUserToken:O,navigate:r,currentTenant:k,location:u,maxChargeCardActivationAttempts:b[n]!=null?b[n]:h.default_max_charge_card_activation_attempts!=null?h.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:h.charge_card_cashback_rate_per_transaction!=null?h.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{Y(!0)}}),e!=null?s.jsx(Gr,{windowSize:t,children:e}):null]})},$r=ge(function(e,{chargeCardDetailState:t,shippingAddressId:a,location:r,cardId:n}){const u=an(e.addressState,a);if(u==null)throw Error("Can't access shippingAddress.");const m=ft(e,n),C=t.updateStatus,I=Ye(e,!1,!1,!1);let o=!1;I.fetchState==="Completed"&&I.cards.length<=1&&(o=!0);const i=r.state?.message==="comingFromV2UrlPath";return{showActivatePage:t.chargeCard?.providerCardCreateTime!=null&&t.chargeCard.providerCardCreateTime.add(24,"h").isBefore(tn())||i,showMenuIcon:o,shippingAddress:u,vgsVaultId:La.cardVaultId,twoFAView:m,activationWaitStatus:C,isRefreshingViewInBackground:t.isRefreshingViewInBackground}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:u,chargeCardDetailState:m}=t,C=m.chargeCard?.cardProviderID,{tenantEmailDomain:I}=u;return{onGetOtp:o=>{C!=null&&e(va(o,"ChargeCardHolder",r))},onUpdatePhysicalChargeCardAttempt:o=>{e(rn(r,o))},onResendOtp:o=>{C!=null&&e(Fa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,i)=>{C!=null&&e(Ta(o,i,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&Q.saveZeniOtpTokenForCardHolder(o,r)},onCVVActivateSuccess:()=>{e(nn({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),i=o.poppedPathname==null||o.poppedPathname.includes("onboard")===!0?Re(I):o.poppedPathname;a(i,{state:{pathnameStackToGoBack:o.newStack}})}}})(pr),Gr=_e.div`
2
- display: flex;
3
- flex-direction: column;
4
- width: ${e=>`${Mr.containerWidth.value(e.windowSize)}%`};
5
- ${e=>e.windowSize!=="small"?"overflow: auto;":""}
6
- `,Yr=_e.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
- `,Da=Xa.getLocalizedStrings().dateFormat,Zr={overlayWidth:new Ca(100,100,58)},Kr=ge(function(e,t){const a=t.currentTenant?.companyId;return{plaidConnectionDetails:ln(e,a,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:un(e.depositAccountState,e.depositAccountListState)}},function(e,t){const{navigate:a,currentTenant:r,hasZeniAccountsAdminAccess:n,isZeniAccountsUser:u,isCashbackInfoFetchStateCompleted:m,isCreditCardInfoFetchStateCompleted:C,isDebitCardInfoFetchStateCompleted:I,controllerEmails:o,paymentDetails:i,productInformation:D,cashbackInformation:A,paymentSourceInformation:f,creditAccountInformation:B,debitAccountInformation:v,paymentInitiatedDate:k,sourcePage:h}=t,{tenantEmailDomain:b}=r;return{onBackNavigation:()=>{if(m&&C&&I&&A!=null&&J.trackCardsPayEarlyFormClick(o,D,A,"Back",i.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:i.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:i.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:i.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:i.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:k?.add(3,"day").format(Da.visual.MMMDCommaYYYYformat),paymentInitiatedDate:k?.format(Da.visual.MMMDCommaYYYYformat)},f,B,v),h==="cardPaymentHistory")t.closeDrawerHandler(!0),e(yt());else{const g=Re(b);a(g)}},onUpdatePaymentAccountStatus:(g,l,w)=>{e(pn(g,l,"bill_pay","bill_pay_detail",w))},onEstablishConnectionSuccess:()=>{e(Oa(r.companyId,!0))},onFetchLinkTokenClick:g=>{e(Cn("external_account",g))},onEstablishConnectionClick:g=>{e(mn(g,r.companyId,"charge_card_payment","charge_cards"))},onSignUpAccountClick:()=>{n?window.open(`/${b}/checking/promo`,"_blank"):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")},onMoveMoneyClick:()=>{u?window.open(`/${b}/checking/transfer`):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}})(hr),nt=({isPaymentDrawerOpen:e,closeDrawerHandler:t,pageName:a,creditAccountSpentAmount:r,productInformation:n,sourcePage:u,creditAccountInformation:m,debitAccountInformation:C,cashbackInformation:I,isDebitCardInfoFetchStateCompleted:o,isCreditCardInfoFetchStateCompleted:i,isCashbackInfoFetchStateCompleted:D,paymentInitiatedDate:A,retryRepayment:f})=>{const B=ue(),{useDynamicConfig:v}=oe(),{configValue:k}=v(Fe.zeniAccountsConfig),h=sn(k),b=S(z=>gt(z)),{creditAccount:g}=S(z=>$e(z)),l=S(z=>ie(z)),w=Ja(),L=ma(),j=me(),T=Q.getSignedInUser(),P=Ue(),[N,p]=c.useState(!1),[d,_]=c.useState(!1),{configValue:F}=v(Fe.zeniCardsConfig),R=F.credit_card_auto_pay_threshold_by_company_id?.[l.companyId]??F.default_credit_card_auto_pay_threshold??xr,M=bt(P?.loggedInUserRoleMap),W=on(P?.loggedInUserRoleMap),y=!!l.companyZeniAccountInfo?.info?.isZeniAccountEnabled,O=S(z=>ua(z,l.companyId)),$=O.companyChargeCardInfo?.primaryFundingAccount,U=O.allFundingAccounts.find(z=>z.id===$?.accountId),Y=S(z=>Me(z,l.companyId)),E=ze(Y.controllers);c.useEffect(()=>{if(b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&j(cn()),b.fetchState==="Completed"&&!d){const z=l.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,Ce=b.transferFromAccounts.find(x=>x.id===z);let ae;if(u==="cardPaymentHistory"&&f){const x=f.paymentAccountId!=null?b.transferFromAccounts.find(pe=>pe.id===f.paymentAccountId):void 0;ae={amount:f.amount,isAutoRepayment:l.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:ct(),transferFrom:x??Ce}}else ae={amount:{amount:g.balance.amount+g.hold.amount,currencyCode:g.balance.currencyCode,currencySymbol:g.balance.currencySymbol},isAutoRepayment:l.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:ct(),transferFrom:Ce};j(rt(ae)),_(!0)}},[b.fetchState,d,u,f,b.transferFromAccounts,l.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,l.companyChargeCardInfo?.info?.isAutoPayEnabled,g.balance.amount,g.balance.currencyCode,g.balance.currencySymbol,g.hold.amount,j]);const q={isZeniCheckingEnabled:l.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:U?.accType==="depositAccount",creditCardPaymentSourceAccountName:U?.label,creditCardPaymentSourceAccountType:U?.accType,creditCardPaymentSourceLastFourDigits:U?.accountLast4,creditCardPaymentSourceBalance:U?.accountBalance?.available?.amount??0};if(c.useEffect(()=>{O.fetchState!=="Completed"&&O.fetchState!=="In-Progress"&&j(Oa(l.companyId,!0))},[O.fetchState]),c.useEffect(()=>{b.updateStatus==="Completed"&&I!=null&&D&&i&&o&&J.trackCardsPayEarlyPayNowClick(E,n,I,b.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:b.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:b.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:b.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:b.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:A?.add(3,"day").format(Da.visual.MMMDCommaYYYYformat),paymentInitiatedDate:A?.format(Da.visual.MMMDCommaYYYYformat)},q,m,C)},[b.updateStatus,I,D,i,o,A]),c.useEffect(()=>{b.fetchState==="Completed"&&I!=null&&D&&i&&o&&!N&&e&&d&&I!=null&&(J.trackCardsPayEarlyFormView(E,n,I,a,l.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,g.balance.amount,q,m,C),p(!0))},[b,D,i,o,N,e,d]),T==null)throw Error("Can't access invite people page without signing in...");const K=()=>{t(!0),j(yt())};return s.jsx(s.Fragment,{children:s.jsx(zt,{onClose:()=>{K()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:Zr.overlayWidth.valuePercentage(L),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:w.colors.black,opacity:.75,cursor:"pointer"}}},children:s.jsx(Wr,{onClick:z=>z.stopPropagation(),children:s.jsx(Kr,{closeDrawerHandler:t,navigate:B,paymentDetails:b,creditAccountSpentAmount:r,onTransferClick:()=>{D&&i&&o&&I!=null&&J.trackCardsPayEarlyFormClick(E,n,I,"Pay Now",b.chargeCardRepaymentDetailLocalData.isAutoRepayment,{paymentAmount:b.chargeCardRepaymentDetailLocalData.amount.amount,paymentAccountName:b.chargeCardRepaymentDetailLocalData.transferFrom?.label,paymentAccountType:b.chargeCardRepaymentDetailLocalData.transferFrom?.accType,paymentAccountLastFourDigits:b.chargeCardRepaymentDetailLocalData.transferFrom?.accountLast4,paymentCompleteEta:void 0,paymentInitiatedDate:void 0},q,m,C),j(dn({companyId:l.companyId}))},onDismissClick:K,onSaveChangesToLocalStore:z=>{j(rt(z))},currentTenant:l,hasZeniAccountsAdminAccess:M,isZeniAccountsUser:W,isZeniAccountSetupEnabled:y,productInformation:n,sourcePage:u,controllerEmails:E,autoPayThreshold:R,paymentSourceInformation:q,creditAccountInformation:m,debitAccountInformation:C,cashbackInformation:I,isCashbackInfoFetchStateCompleted:D,isCreditCardInfoFetchStateCompleted:i,isDebitCardInfoFetchStateCompleted:o,paymentInitiatedDate:A,maxInsuredAmount:h.maxInsuredAmount})})})})},Wr=_e(Or)`
15
- display: flex;
16
- min-height: 100%;
17
- flex-direction: column;
18
- `,qt="charge-card-transaction-update",Na=Xa.getLocalizedStrings().dateFormat,qr=ge(function(e,t){const{includeCreditAccountInfo:a,cardId:r,signedInUserToken:n,isChargeCardFeatureEnabled:u}=t,m=Q.getSignedInUser(),C=e.tenantState.currentTenantId,I={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:C??""},o=$a(e,r,a,u),i=fn(e,r),D=gn(e);return{chargeCardDetailView:o,chargeCardsRecurringExpensesState:i,vgsVaultId:La.cardVaultId,transactionAttachmentsEndpointToFetch:`${za}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${za}/card_transaction_attachment`,authParams:I,isSnackbarOpen:D.isSnackbarOpen,cardsEndPoint:`${Vt.cardMicroServiceBaseUrl}`,signedInUserToken:o.twoFAView.token??n}},function(e,t){const{cardId:a,currentTenant:r,navigate:n,location:u,cardProviderId:m,includeCreditAccountInfo:C,setIsPaymentOpen:I,controllerEmails:o,productInformation:i,cashbackInformation:D,primaryFundingAccountDetails:A,creditAccountInformation:f,debitAccountInformation:B,isChargeCardFeatureEnabled:v}=t,{tenantEmailDomain:k}=r;return{onEventReceived:h=>{h===qt&&(e(Za(a,!0)),e(st(a,null,null,!0)))},onReloadTransactions:()=>{e(aa(a,C,v))},onFetchChargeCardTransactionList:(h,b)=>{e(st(a,h,b))},onUpdateScrollYOffset:h=>{},onGetOtp:h=>{m!=null&&e(va(h,"ChargeCardHolder",a))},onResendOtp:h=>{m!=null&&e(Fa(h,"ChargeCardHolder",a))},onVerifyOtp:(h,b)=>{m!=null&&e(Ta(h,b,"ChargeCardHolder",a))},onVerifyOtpSuccess:h=>{h!=null&&Q.saveZeniOtpTokenForCardHolder(h,a)},onColorCodeChange:h=>{e(En(a,h))},onLockChargeCard:(h,b)=>{e(Pt(h,a,b))},onUnlockChargeCard:h=>{e(wt(h,a))},onCloseChargeCard:h=>{e(_t(a,h))},onFetchChargeCardsRecurringExpenses:()=>{e(Dt([a]))},updateChargeCardName:(h,b)=>{e(kt(h,a,b))},updateChargeCardTransactionAttachments:(h,b)=>{b!=null&&e(An({transactionId:h,data:b}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(h,b,g,l)=>{e(In({chargeCardId:b,transactionId:h,fetchState:g,error:l}))},updateChargeCardTransactionReceiptsShowTick:(h,b,g)=>{e(Sn({chargeCardId:b,transactionId:h,shouldShowTick:g}))},onChargeCardRevokeInviteClick:()=>{e(Et(a))},updateChargeCardTransactionIsViewReceiptClicked:(h,b,g)=>{e(yn({chargeCardId:b,transactionId:h,isViewReceiptClicked:g}))},onChargeCardTransactionRowClick:(h,b)=>{const g=be(u.state?.pathnameStackToGoBack,u.pathname);n(`../../transaction/${h}/${b}`,{state:{pathnameStackToGoBack:g}})},onBackClick:()=>{const h=ve(u.state?.pathnameStackToGoBack),b=Re(k);n(b,{state:{pathnameStackToGoBack:h.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(bn())},onUpdateDebitCardPinAttempt:h=>{e(At(a,h)),h==="success"&&e(ca({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(h,b)=>{h?e(ca({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):b!=null&&e(ca({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:b.message}]}))},updateSpendLimit(h,b,g,l){e(It(h,b,g.code,l))},shouldOpenCreditCardPaymentDrawer(h){h&&D!=null&&J.trackCardsPayEarlyClick(o,i,D,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:r.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:A?.accType==="depositAccount",creditCardPaymentSourceAccountName:A?.label,creditCardPaymentSourceAccountType:A?.accType,creditCardPaymentSourceLastFourDigits:A?.accountLast4,creditCardPaymentSourceBalance:A?.accountBalance?.available?.amount??0},f,B),I(h)}}})(gr(br));function Jr(){const e=ue(),t=me(),a=ye(),{cardId:r}=la(),[n,u]=c.useState(!1),[m,C]=c.useState(!1),{useDynamicConfig:I}=oe(),o=Q.getSignedInUser(),i=S(V=>ie(V)),D=S(V=>_a(V).firstViewAfterActivation),A=S(V=>V.classListState.fetchState),{configValue:f}=I(Fe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:B}=I(Fe.zeniCardsConfig),v=B.enable_card_controls_for_company_ids,k=B.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(v)&&v.includes(i.companyId),[h,b]=c.useState(!1),[g,l]=c.useState(!1),{useFeatureGate:w}=oe(),{isFeatureEnabled:L}=w(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:j}=w(Z.isDebitCardFeatureEnabled),T=Ae(j,i),P=Ee({isDebitCardFeatureEnabled:j,isBankingOnlyTenant:T}),{isFeatureEnabled:N}=w(Z.isEarlyPayFeatureEnabled),{isFeatureEnabled:p}=w(Z.isCardsCommentingEnabled),d=Ie(i),_=Se(i),F=i.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,R=ke({isCardsOnlyTenant:_,isChargeCardFeatureEnabled:L,isBookKeepingTenant:d,isDebitCardProductVisible:P,chargeCardsCreditAccountLimit:F}),M=!!i.companyDebitCardInfo?.info?.isDebitCardEnabled,W=!!i.companyChargeCardInfo?.info?.isChargeCardEnabled,y=!i.userRole.includes("charge_card_user")&&R&&W;if(r==null)throw Error("Empty card id is not valid...");const O=S(V=>ua(V,i.companyId)),{creditAccount:$,creditAccountRepayment:U}=S(V=>$e(V)),Y=Q.getZeniOtpTokenForCardHolder(r),E=S(V=>$a(V,r,y,R)),{isAiCfoOpen:q,setIsAiCfoOpen:K}=Nt(),{isAiCfoAccessEnabled:z,onAskAiCfoClick:Ce}=Kt({isAiCfoOpen:q,setIsAiCfoOpen:K,mobileExploreReferrer:"Card Detail"});Wt({isDataReady:E.fetchState==="Completed"});const ae=S(V=>Ge(V)),x=E.chargeCard,pe=Ue(),G=Be(pe?.loggedInUserRoleMap),ce=x?.type.code==="business_physical_debit_card"||x?.type.code==="business_virtual_debit_card",we=x?.type.code==="business_physical_debit_card"||x?.type.code==="business_physical_credit_card",re=x?.type.code==="business_virtual_debit_card"||x?.type.code==="business_virtual_credit_card",ne=x?.type.code==="business_virtual_debit_card",de=pa(R,W,G,$,U),X=$t(ce,E),Ke=at(G,ae),je=Le(R,P,M,W),Pe=E.depositAccountLimitFetchState.fetchState!=="Completed"&&E.depositAccountLimitFetchState.fetchState!=="In-Progress",ee=S(V=>Me(V,i.companyId)),We=ze(ee.controllers),qe=S(V=>x?.cardCreatedByUser?.userId!=null?Sa(V.userRoleState,x?.cardCreatedByUser?.userId):void 0),fa=S(V=>qe?.accountingClassIDs[0]!=null?Ia(V.classState,{classId:qe?.accountingClassIDs[0],reportId:"class_list"}):void 0),se=S(V=>x?.cardHolderUser?.userId!=null?Sa(V.userRoleState,x?.cardHolderUser?.userId):void 0),ta=S(V=>se?.accountingClassIDs[0]!=null?Ia(V.classState,{classId:se?.accountingClassIDs[0],reportId:"class_list"}):void 0),le=i?.userRole,Oe=S(V=>Ye(V,!1,P,L).revokeCardInvite),na=Qa(Oe.saveStatus.fetchState);if(c.useEffect(()=>{if(na==="In-Progress"&&Oe.saveStatus.fetchState==="Completed"){const V=Re(i.tenantEmailDomain);e(V)}},[na,Oe.saveStatus.fetchState,e,i.tenantEmailDomain]),c.useEffect(()=>{D&&n===!1&&re&&(u(!0),setTimeout(()=>{t(Aa()),ne&&t(ca({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[D,n,re,ne]),c.useEffect(()=>{h||E.fetchState==="Completed"||E.fetchState==="In-Progress"||r==null||(b(!0),t(aa(r,y,R,!1)))},[h,E,r,t]),c.useEffect(()=>{!g&&E.fetchState==="Completed"&&E.chargeCard?.connectedAccountId!=null&&ce&&Pe&&G&&(l(!0),t(St({depositAccountId:E.chargeCard?.connectedAccountId})))},[g,E,t,Pe,G]),c.useEffect(()=>{ae.fetchState!=="Completed"&&ae.fetchState!=="In-Progress"&&G&&t(pt()),A!=="Completed"&&A!=="In-Progress"&&t(Ct()),E.transactionStatistics.fetchState!=="Completed"&&E.transactionStatistics.fetchState!=="In-Progress"&&t(hn({chargeCardId:r})),O.fetchState!=="Completed"&&O.fetchState!=="In-Progress"&&t(Oa(i.companyId,!0))},[ae.fetchState,t,G,A,E.transactionStatistics.fetchState,O.fetchState]),c.useEffect(()=>{if(!(E.fetchState!=="Completed"||R&&$.fetchState!=="Completed"||x==null||E.transactionStatistics.fetchState!=="Completed"||ce&&G&&E.depositAccountLimitFetchState.fetchState!=="Completed")){const V=x.type.code.includes("physical"),he=V?x.cardActivationAttemptHistory[0]?.timestamp:x.createTime;J.trackCardsCardDetailView(We,je,{cardId:r,cardName:x.cardName,cardType:x.type.code.includes("credit")?"credit":"debit",cardCategory:V?"physical":"virtual",cardLimit:Qe(x.limit.amount),cardLastFourDigits:x.accountLast4,cardStatus:x.status.code,cardAssignedDate:x.createTime?.format(Na.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:x.providerCardCreateTime?.format(Na.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:he?.format(Na.analytics.MMMDashDDDashYYYYFormat),cardLimitFrequency:x.creditLimitFrequency.name,cardSpentAmount:Qe(x.balance.amount),cardAvailableLimit:Qe(x.available.amount),cardUtilizationPercent:x.limit.amount>0?Math.round((x.limit.amount-x.available.amount)/x.limit.amount*100):0,cardUtilizationAmount:Qe(x.limit.amount-x.available.amount),totalNumberOfDeclinedTransactions:E.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:E.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:E.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:E.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:E.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:E.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:E.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:Ma(x.cardCreatedByUser,!1),cardIssuedByEmail:x.cardCreatedByUser?.email,cardIssuedByUserId:x.cardCreatedByUser?.userId,cardIssuedByRole:qe?.userRoles,cardIssuedByDepartment:fa?.className},{cardholderName:Ma(x.cardHolderUser,!1),cardholderEmail:x.cardHolderUser?.email,cardholderRole:se?.userRoles,cardholderUserId:x.cardHolderUser?.userId,cardholderDepartment:ta?.className},de,X)}},[E.fetchState,E.depositAccountLimitFetchState.fetchState,E.transactionStatistics.fetchState,$.fetchState,G]),o==null)throw Error("Can't access card detail page without signing in...");const Je=i.companyId??Q.getSignedInUserTenant(i.tenantEmailDomain)?.companyId,ra={events:Je!=null?[`private-${Je}.${qt}`]:[],eventCallback:(V,he,Te)=>{Te.onEventReceived(V)}},sa=()=>{if(r!=null&&x!=null){const{ownerName:V,cardName:he,utilisation:Te,limit:Ne,frequency:Xe,cardColor:H}=Va(x),De=x.cardHolderUserId===o.userId;J.trackCardsDetailPageViewed(r,V,he,Te,Ne,Xe,H,De)}};c.useEffect(()=>{if(E.fetchState==="Completed"){const V=E.chargeCard;if(V?.status.code==="inactive"||ce&&V?.isPinSet===!1||we&&D){const he=fe(i.tenantEmailDomain,r,o,x,D);e(he)}}},[E.fetchState]);const oa=(V,he)=>{if(r!=null&&x!=null){const{ownerName:Te,cardName:Ne,utilisation:Xe,limit:H,frequency:De}=Va(x),Ve=x.cardHolderUserId===o.userId;J.trackCardsDetailPageClicked(r,Te,Ne,Xe,H,De,V,Ve,he)}},ia=(V,he)=>{if(r!=null&&x!=null){const{ownerName:Te,cardName:Ne,utilisation:Xe,limit:H,frequency:De}=Va(x),Ve=x.cardHolderUserId===o.userId;J.trackCardsVerifyPopUpClick(r,Te,Ne,Xe,H,De,V,Ve,he)}},Ra=$.balance.amount+$.hold.amount,ga=i.companyChargeCardInfo?.info?.primaryFundingAccount,ba=O.allFundingAccounts.find(V=>V.id===ga?.accountId);return r==null||E.fetchState==="Error"?s.jsx(Ua,{}):E.fetchState==="In-Progress"||E.fetchState==="Not-Started"||Oe.saveStatus.fetchState==="In-Progress"||ce&&G&&E.depositAccountLimitFetchState.fetchState!=="Completed"?s.jsx(fr,{}):s.jsxs(s.Fragment,{children:[s.jsx(Ba,{showConfetti:D}),E.fetchState==="Completed"?s.jsx(et,{analytics:J,onLoad:sa}):null,m===!0?s.jsx(nt,{closeDrawerHandler:()=>C(!1),isPaymentDrawerOpen:m,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:je,creditAccountInformation:de,debitAccountInformation:X,cashbackInformation:Ke,creditAccountSpentAmount:Ra,isDebitCardInfoFetchStateCompleted:!ce||!G||E.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!R||$.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!G||ae.fetchState==="Completed",paymentInitiatedDate:U.initiatedRepaymentDate}):null,s.jsx(qr,{...ra,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:ia,onFireOnClickAnalytics:oa,isSandboxEnv:qa(),signedInUser:o,location:a,navigate:e,setIsPaymentOpen:C,cardIssuedByRoles:qe?.userRoles,cardIssuedByDepartmentName:fa?.className,cardHolderRoles:se?.userRoles,cardHolderDepartmentName:ta?.className,loggedInUserRole:le,isChargeCardFeatureEnabled:R,isDebitCardFeatureEnabled:P,isDebitCardSetupEnabled:M,isChargeCardSetupEnabled:W,isCardControlsEnabled:k,isEarlyPayEnabled:N,controllerEmails:We,chargeCardCashbackDetailState:ae,productInformation:je,creditAccountInformation:de,debitAccountInformation:X,cashbackInformation:Ke,classListFetchState:A,primaryFundingAccountDetails:ba,currentTenant:i,cardProviderId:E.chargeCard?.cardProviderID,cardId:r,creditAccount:$,creditAccountRepayment:U,includeCreditAccountInfo:y,signedInUserToken:Y,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:f.documentAiReceiptMaxSizeLimitBytes!=null?f.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:z,onAskAiCfoClick:Ce,isCardsCommentingEnabled:p})]})}const Va=e=>{const t=`${e.cardHolderUser?.firstName.toLowerCase()} ${e.cardHolderUser?.lastName.toLowerCase()}`,a=e.cardName,r=(e.limit.amount??0)-(e.available.amount??0),n=e.limit.amount,u=e.creditLimitFrequency.name;return{ownerName:t,cardName:a,utilisation:r,cardColor:e.cardColorCode??"",frequency:u,limit:n}},Xr=_e.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
- `,Qr=ge(function(e,t){const a=Ye(e,t.includeCreditAccountDebitSummaryAndCashbackInfo,t.isDebitCardFeatureEnabled&&t.isDebitCardSetupEnabled,t.isChargeCardFeatureEnabled&&t.isChargeCardSetupEnabled);return{chargeCardListView:a,rowActionView:kn(e),bulkActionView:Dn(e),companyLegalName:t.currentTenant.companyName,admins:t.admins,searchText:a.searchText,uiState:a.uiState,signedInUser:t.signedInUser}},function(e,t){const{navigateAndClearBulkSelection:a,currentTenant:r,location:n,signedInUser:u,chargeCardListState:m,includeCreditAccountDebitSummaryAndCashbackInfo:C,isChargeCardFeatureEnabled:I,isCreditCardProductVisibleForExpressInterest:o,isChargeCardSetupEnabled:i,isDebitCardFeatureEnabled:D,isDebitCardSetupEnabled:A,isDebitCardTOSAccepted:f,isChargeCardTOSAccepted:B,controllerEmails:v,depositAccountListWithDebitCardIssued:k,primaryFundingAccountDetails:h,chargeCardSetUpViewFetchState:b,productInformation:g,cashbackInformation:l,creditAccountInformation:w,debitAccountInformation:L,updatePayNowInfoTooltip:j,isUserHasCardsAdminLevelAccess:T}=t,{tenantEmailDomain:P}=r,{cards:N}=m;return{onChargeCardRowClick:(p,d)=>{const _=Yt(N,p);let F;_!=null&&((M=>{const W=M.limit.amount-M.available.amount,y=`${M.cardHolderUser?.firstName.toLowerCase()} ${M.cardHolderUser?.lastName.toLowerCase()}`,O=M.cardName,$=M.department?.className??"",U=M.limit.amount,Y=M.creditLimitFrequency.name;J.trackCardsListRowClicked(y,O,$,W,U,Y,u.userId===M.cardHolderUserId)})(_),He(D,A,k)&&J.trackCardsCardListRowClick(v,g,"Card Row Item","row_clicked",d+1,{cardOwner:Ma(_.cardHolderUser,!1),cardName:_.cardName,cardType:_.type.code.includes("credit")?"credit":"debit",cardStatus:_.status.code,cardUtilizationAmount:Qe(_.limit.amount-_.available.amount),cardUtilizationPercent:_.limit.amount>0?Math.round((_.limit.amount-_.available.amount)/_.limit.amount*100):0,cardLimit:Qe(_.limit.amount)},l,w,L)),F=_?.status.code==="request_on_hold"&&u.userId===_.cardHolderUserId?Zt(P):fe(P,p,u,_);const R=be(n.state?.pathnameStackToGoBack,n.pathname);a(F,{state:{pathnameStackToGoBack:R}})},onFetchChargeCardsRecurringExpenses:p=>{e(Dt(p))},onFetchDepositAccountLimit:p=>{e(St({depositAccountId:p}))},onChargeCardResendInviteClick:p=>{e(xn(p))},onChargeCardRevokeInviteClick:p=>{e(Et(p))},onLockChargeCardList:(p,d)=>{e(On(p,d))},onUnlockChargeCardList:p=>{e(vn(p))},onCloseChargeCardList:(p,d)=>{e(Fn(p,d))},onRevokeChargeCardList:p=>{e(Tn(p))},updateChargeCardListSpendLimit(p,d,_){e(Pn(p,d,_.code))},onLockChargeCard:(p,d)=>{e(Pt(T,p,d))},onUnlockChargeCard:p=>{e(wt(T,p))},onCloseChargeCard:(p,d)=>{e(_t(p,d))},onUpdateSpendLimit(p,d,_,F){e(It(p,d,_.code,F))},updateChargeCardName:(p,d)=>{e(kt(T,p,d))},onClickSetupIcon:()=>{J.trackCardsListPageClicked("settings"),He(D,A,k)&&l!=null&&J.trackCardsSettingsClick(v,g,l,w,L);const p=Lr(P),d=be(n.state?.pathnameStackToGoBack,n.pathname);a(p,{state:{pathnameStackToGoBack:d}})},onIssueCardClick:()=>{J.trackCardsListPageClicked("new card"),He(D,A,k)&&l!=null&&J.trackCardsNewCardClick(v,g,l,"New Button","card_creation_initiated","Card List",w,L);const p=es(P),d=be(n.state?.pathnameStackToGoBack,n.pathname);a(p,{state:{pathnameStackToGoBack:d}})},onColumnSortConfigChanged:(p,d)=>{He(D,A,k)&&l!=null&&J.trackCardsCardListSortClick(v,g,l,"Sort Icon","sort",p,d==="ascending"?"ASC":"DESC","Cards List",w,L),e(Ha({uiState:{sortKey:p,sortOrder:d}}))},onSearchTextChanged:p=>{e(wn(p))},onReloadCards:()=>{e(Ea(C,D&&A,I&&i,!0))},onLetsGoClick:()=>{a("./onboard")},onBackClick:()=>{a("../../")},onTotalCashbackClick:()=>{He(D,A,k)&&l!=null&&J.trackCardsCashbackOverviewClick(v,g,l,"Cashback Overview","cashback_details_viewed",w,L),a("./cashback")},onClickStatementsIcon:()=>{He(D,A,k)&&l!=null&&J.trackCardsStatementsClick(v,g,l,w,L),a("./statements")},onCreateNowClick:p=>{He(D,A,k)&&l!=null&&J.trackCardsNewCardClick(v,g,l,"Promo Banner","card_creation_initiated","Card List",w,L),a(`./new?cardType=${p}`)},onPromoCardClick:p=>{a(p==="debit"&&D&&!f||p==="credit"&&o&&!B?`../promo?cardPromoType=${p}`:"./setup")},navigateToCreditCardPaymentPage:(p,d)=>{b==="Completed"&&r.company!=null&&l!=null&&J.trackCardsPayEarlyClick(v,g,l,"Card List",p,d,{isZeniCheckingEnabled:r.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:h?.accType==="depositAccount",creditCardPaymentSourceAccountName:h?.label,creditCardPaymentSourceAccountType:h?.accType,creditCardPaymentSourceLastFourDigits:h?.accountLast4,creditCardPaymentSourceBalance:h?.accountBalance?.available?.amount??0},w,L);const _=as(P);a(_)},navigateToCreditCardPaymentHistoryPage:()=>{const p=ts(P),d=be(n.state?.pathnameStackToGoBack,n.pathname);a(p,{state:{pathnameStackToGoBack:d}})},shouldShowPayNowInfoTooltip:j,onSetRowActionCardId:p=>{e(_n(p))},onSetBulkActionCardIds:p=>{e(Tt(p))}}})(yr);function dt({isPaymentDrawerOpen:e}){const t=ue(),a=me(),r=ye(),n=c.useCallback((H,De)=>{a(Tt([])),t(H,De)},[a,t]),[u,m]=c.useState(!1),[C,I]=c.useState(Q.getPayNowInfoTooltip()??!1),o=H=>{Q.savePayNowInfoTooltip(H),I(H)},[i,D]=c.useState(!1),A=Q.getSignedInUser(),f=S(H=>ie(H)),[B,v]=c.useState(!1),[k,h]=c.useState(!1),{isAiCfoOpen:b,setIsAiCfoOpen:g}=Nt(),{isAiCfoAccessEnabled:l,onAskAiCfoClick:w}=Kt({isAiCfoOpen:b,setIsAiCfoOpen:g,mobileExploreReferrer:"Cards"}),L=f.userRole.includes("charge_card_user"),j=!L,T=!!f.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:P,useDynamicConfig:N}=oe(),{isFeatureEnabled:p}=P(Z.isCashbackFeatureEnabled),{isFeatureEnabled:d}=P(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:_}=P(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:F}=P(Z.isEarlyPayFeatureEnabled),{isFeatureEnabled:R}=P(Z.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:M}=P(Z.isCardsCommentingEnabled),W=Ae(_,f),y=Ee({isDebitCardFeatureEnabled:_,isBankingOnlyTenant:W}),O=Se(f),$=Ie(f),U=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,Y=ke({isCardsOnlyTenant:O,isChargeCardFeatureEnabled:d,isBookKeepingTenant:$,isDebitCardProductVisible:y,chargeCardsCreditAccountLimit:U}),E=Gt({isCardsOnlyTenant:O,isChargeCardFeatureEnabled:d,isBookKeepingTenant:$}),{configValue:q}=N(Fe.zeniCardsConfig),K=Ue(),z=Be(K?.loggedInUserRoleMap),Ce=S(H=>Me(H,f.companyId)),ae=ze(Ce.controllers),x=q.charge_card_cashback_rate_per_transaction!=null?q.charge_card_cashback_rate_per_transaction:.0175,pe=q.credit_card_pay_now_threshold_by_company_id?.[f.companyId]??q.default_credit_card_pay_now_threshold??Br,G=q.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(q.enable_card_controls_for_company_ids)&&q.enable_card_controls_for_company_ids.includes(f.companyId),ce=!!f.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,we=!!f.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,ne=S(H=>gt(H)),de=Qa(ne.updateStatus),X=S(H=>Ye(H,j,y&&T,Y&&re)),Ke=X.cards.filter(H=>H.type.code.includes("debit")).map(H=>H.connectedAccountId),je=[...new Set(Ke)],Pe=S(H=>Ge(H)),ee=S(H=>xa(H,je)),We=S(H=>ua(H,f.companyId)),qe=We.companyChargeCardInfo?.primaryFundingAccount,fa=We.allFundingAccounts.find(H=>H.id===qe?.accountId),se=X.fetchState,ta=X.creditAccount;Wt({isDataReady:se==="Completed"});const{creditAccountRepayment:le}=S(H=>$e(H)),Oe=S(H=>_a(H).firstViewAfterActivation),{areTenantIdsInSync:na}=Ht(),Je=at(z,Pe),ra=pa(Y,re,z,ta,le),sa=tt(y,T,z,ee,X.debitCardSummary),oa=Le(Y,y,T,re),ia=X.creditAccount.balance.amount+X.creditAccount.hold.amount;if(c.useEffect(()=>{se==="Completed"&&(Q.getPayNowInfoTooltip()==null||ia<pe*X.creditAccount.limit.amount/100)&&o(!0)},[se,pe,ia,X.creditAccount.limit.amount]),c.useEffect(()=>{if(e!=null&&e===!0&&le.initiatedRepayments.amount===0&&le.fetchState==="Completed"||de==="In-Progress"&&ne.updateStatus==="Completed")o(!1),m(!0);else if(le.initiatedRepayments.amount>0&&le.fetchState==="Completed"){m(!1),document.body.style.overflow="auto";const H=Re(f.tenantEmailDomain);n(H)}},[e,le.initiatedRepayments.amount,le.fetchState,de,ne.updateStatus,n,f.tenantEmailDomain]),c.useEffect(()=>{!B&&(re||T)&&na&&(v(!0),a(Ea(j,y&&T,Y&&re,!1)))},[B,j,a,na]),c.useEffect(()=>{Oe&&i===!1&&(D(!0),setTimeout(()=>{a(Aa())},5e3))},[Oe,i]),c.useEffect(()=>{se==="Completed"&&L&&X.cards.length===1&&(X.cards[0].status.code==="inactive"&&X.cards[0].type.code==="business_physical_credit_card"?n(`./${X.cards[0].id}/activate`):X.cards[0].status.code!=="request_on_hold"&&(r.state?.message==="comingFromCardDetail"?n("../../"):n(`./${X.cards[0].id}`)))},[se,L,r.state,n,X.cards]),c.useEffect(()=>{if(se==="Completed"&&L){const H=X.cards.length,De=X.cards.filter(Ve=>Ve.cardHolderUserId===A?.userId).filter(Ve=>Ve.status.code==="request_on_hold");De.length>0&&H===De.length&&n("./onboard")}},[se,X.cards,L,n,A?.userId]),c.useEffect(()=>{se!=="Completed"||Y&&le.fetchState!=="Completed"||y&&T&&z&&ee.fetchState!=="Completed"||J.trackCardsCardListView(ae,oa,Je,ra,sa)},[se,ta,le.fetchState,ee.fetchState,z]),A==null)throw Error("Can't access charge card list page without signing in...");const Ra=S(H=>Ft(H.userState,H.userRoleState,H.userListViewState,"cardAdmin")),ga=Ka(K?.loggedInUserRoleMap),ba=H=>{h(H)},V=X.creditAccount.limit,he=()=>{m(!1),n("..")},Te=f.companyChargeCardInfo?.info!=null&&ea({cardInfo:f.companyChargeCardInfo.info,isProductVisible:Y,isTOSAccepted:ce,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:z,isUserHasCardsAccess:ga}),Ne=f.companyDebitCardInfo?.info!=null&&ea({cardInfo:f.companyDebitCardInfo.info,isProductVisible:y,isTOSAccepted:we,isSetupEnabled:T,isUserHasCardsAdminLevelAccess:z,isUserHasCardsAccess:ga});return re||T?s.jsxs(s.Fragment,{children:[se==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(et,{analytics:J,onLoad:()=>{J.trackPageLoaded(Mt.Event.cardsListPage),(Y&&!re||y&&!T)&&J.trackCardsPromoView(ae,{isCreditCardOffered:Y,isDebitCardOffered:y,isDebitCardEnabled:T,isCreditCardEnabled:re},"Banner",y&&!T?"Debit Card":Y&&!re?"Credit Card":"","Card List")}}),s.jsx(Ba,{showConfetti:Oe})]}):null,u===!0?s.jsx(nt,{closeDrawerHandler:he,isPaymentDrawerOpen:u,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:ia,productInformation:oa,creditAccountInformation:ra,debitAccountInformation:sa,cashbackInformation:Je,isDebitCardInfoFetchStateCompleted:!(y&&T&&z)||ee.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!Y||le.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!z||Pe.fetchState==="Completed",paymentInitiatedDate:le.initiatedRepaymentDate}):null,s.jsxs(Xr,{children:[s.jsx(ha,{isAppContentDrawerOpen:k,handleDrawerToggle:ba}),s.jsx(Qr,{isCashbackFeatureEnabled:p,isChargeCardFeatureEnabled:Y,isDebitCardFeatureEnabled:y,isCreditCardProductVisibleForExpressInterest:E,updatePayNowInfoTooltip:o,showPayNowInfoTooltip:C,creditCardPayNowThreshold:pe,signedInUser:A,chargeCardListState:X,location:r,admins:Ra.users,navigateAndClearBulkSelection:n,currentTenant:f,isCardControlsEnabled:G,companyChargeCardInfoCreditAccountLimit:f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:f.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:z,includeCreditAccountDebitSummaryAndCashbackInfo:j,onClickMenuIcon:()=>{ba(!0)},creditLimit:V,isChargeCardSetupEnabled:re,isDebitCardSetupEnabled:T,isEarlyPayEnabled:F,isChargeCardPaymentHistoryFeatureEnabled:R,cashbackRate:x,controllerEmails:ae,chargeCardCashbackDetailState:Pe,depositAccountListWithDebitCardIssued:ee,isChargeCardTOSAccepted:ce,isDebitCardTOSAccepted:we,primaryFundingAccountDetails:fa,chargeCardSetUpViewFetchState:We.fetchState,productInformation:oa,creditAccountInformation:ra,debitAccountInformation:sa,cashbackInformation:Je,isAiCfoAccessEnabled:l,onAskAiCfoClick:w,isCardsCommentingEnabled:M})]})]}):(ce||we)&&z===!0?s.jsx(ya,{to:"../setup"}):Te||Ne?s.jsx(ya,{to:"../promo"}):s.jsx(Ze,{fetchState:se})}const es=e=>`/${e}/cards/new`,as=e=>`/${e}/cards/payment`,ts=e=>`/${e}/cards/payment-history`,ns=ge(function(e){const t=Q.getSignedInUser(),a=ie(e),r=e.tenantState.currentTenantId,n=vt(e),u={userId:t?.userId??"",sessionId:t?.zeniSessionId??"",tenantId:r??""},m=a?.companyName??"",C=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:n.fetchState,filters:n.filters,isZeniTenant:Bn(a),repaymentList:n.repaymentHistory,searchText:n.searchText,repaymentHistoryUsers:n.repaymentHistoryUsers,sortConfig:{sortKey:n.uiState.sortKey,sortOrder:n.uiState.sortOrder},downloadParams:{authParams:u,companyName:m,spendManagementEndPoint:`${za}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:C}},function(e,t){const{location:a,navigate:r}=t;return{onBackClick:()=>{const n=ve(a.state?.pathnameStackToGoBack),u=n.poppedPathname??"..";r(u,{state:{pathnameStackToGoBack:n.newStack}})},onColumnSortConfigChanged:(n,u)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:n,sortOrder:u}}})},onFiltersChange:n=>{e(Un({filters:n}))},onReloadPayments:()=>{e(Ot(!0))},onSearchTextChanged:n=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:n})},updateDownloadStateHandler:n=>{e(Ln({uiState:{downloadState:n}}))}}})(Sr);function rs(){const e=ue(),t=ye(),a=me(),{areTenantIdsInSync:r}=Ht(),{useFeatureGate:n}=oe();if(Q.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const u=S(K=>ie(K)),m=S(K=>vt(K)),[C,I]=c.useState(!1),[o,i]=c.useState(!1),[D,A]=c.useState(!1),[f,B]=c.useState(null),v=!u.userRole.includes("charge_card_user"),k=!!u.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:h}=n(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:b}=n(Z.isDebitCardFeatureEnabled),g=Ae(b,u),l=Ee({isDebitCardFeatureEnabled:b,isBankingOnlyTenant:g}),w=Se(u),L=Ie(u),j=u.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,T=ke({isCardsOnlyTenant:w,isChargeCardFeatureEnabled:h,isBookKeepingTenant:L,isDebitCardProductVisible:l,chargeCardsCreditAccountLimit:j}),P=!!u.companyChargeCardInfo?.info?.isChargeCardEnabled,N=Ue(),p=Be(N?.loggedInUserRoleMap),d=S(K=>Ye(K,v,l&&k,T&&P)),_=c.useMemo(()=>{const K=d.cards.filter(z=>z.type.code.includes("debit"));return[...new Set(K.map(z=>z.connectedAccountId))]},[d.cards]),F=S(K=>Ge(K)),R=S(K=>xa(K,_)),{creditAccountRepayment:M}=S(K=>$e(K)),W=c.useMemo(()=>at(p,F),[p,F]),y=c.useMemo(()=>pa(T,P,p,d.creditAccount,M),[T,P,p,d.creditAccount,M]),O=c.useMemo(()=>tt(l,k,p,R,d.debitCardSummary),[l,k,p,R,d.debitCardSummary]),$=c.useMemo(()=>Le(T,l,k,P),[T,l,k,P]),U=d.creditAccount.balance.amount+d.creditAccount.hold.amount,Y=c.useMemo(()=>f!=null?m.repaymentHistory.find(K=>K.cardRepaymentId===f):void 0,[f,m.repaymentHistory]),E=c.useCallback(K=>{B(K),a(Ea(v,l&&k,T&&P,!1)),A(!0)},[a,v,l,k,T,P]),q=c.useCallback(()=>{A(!1),B(null),document.body.style.overflow="auto"},[]);return c.useEffect(()=>{C||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(I(!0),a(Ot()))},[C,a,m.fetchState]),c.useEffect(()=>{!o&&(P||k)&&r&&(i(!0),a(Ea(v,!1,T&&P,!1)))},[o,P,k,r,a,v,T]),s.jsxs(s.Fragment,{children:[D?s.jsx(nt,{closeDrawerHandler:q,isPaymentDrawerOpen:D,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:U,productInformation:$,creditAccountInformation:y,debitAccountInformation:O,cashbackInformation:W,isDebitCardInfoFetchStateCompleted:!(l&&k&&p)||R.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!T||M.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!p||F.fetchState==="Completed",paymentInitiatedDate:M.initiatedRepaymentDate,retryRepayment:Y}):null,s.jsx(ns,{location:t,navigate:e,accountInfoByAccountId:m.accountInfoByAccountId,onRetryPaymentClick:E})]})}const lt=_e.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
- `,ut=Xa.getLocalizedStrings().months;function ss(){const e=ue(),t=me(),a=ye(),{creditAccount:r,creditAccountRepayment:n}=S(y=>$e(y)),u=`${Vt.cardMicroServiceBaseUrl}/1.0/credit-accounts/${r.id}`,[m,C]=c.useState(!1),[I,o]=c.useState(!1),i=S(y=>Rn(y)),{useFeatureGate:D}=oe(),A=S(y=>ie(y)),{isFeatureEnabled:f}=D(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:B}=D(Z.isDebitCardFeatureEnabled),v=Ae(B,A),k=Ee({isDebitCardFeatureEnabled:B,isBankingOnlyTenant:v}),h=Se(A),b=Ie(A),g=A.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,l=ke({isCardsOnlyTenant:h,isChargeCardFeatureEnabled:f,isBookKeepingTenant:b,isDebitCardProductVisible:k,chargeCardsCreditAccountLimit:g}),w=!!A.companyDebitCardInfo?.info?.isDebitCardEnabled,L=!!A.companyChargeCardInfo?.info?.isChargeCardEnabled,j=S(y=>Me(y,A.companyId)),T=ze(j.controllers),P=S(y=>xt(y)),N=P.cards.filter(y=>y.type.code.includes("debit")).map(y=>y.connectedAccountId),p=[...new Set(N)],d=S(y=>xa(y,p)),_=S(y=>jn(y));c.useEffect(()=>{I||r.fetchState==="Completed"||r.fetchState==="In-Progress"||(C(!0),t(Ga()))},[m,t,r.fetchState]),c.useEffect(()=>{I||r.fetchState!=="Completed"||r.id==null||i.fetchState==="Completed"||i.fetchState==="In-Progress"||(o(!0),t(Nn(r.id)))},[I,t,r.fetchState,r.id,i.fetchState]),c.useEffect(()=>{d.fetchState!=="Completed"&&d.fetchState!=="In-Progress"&&k&&w&&t(Bt()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&t(da()),_.fetchState!=="Completed"&&_.fetchState!=="In-Progress"&&k&&w&&t(Vn()),n.fetchState!=="Completed"&&n.fetchState!=="In-Progress"&&l&&L&&t(Ya())},[d.fetchState,k,w,P.fetchState,_.fetchState,n.fetchState,l,L]),c.useEffect(()=>{if(i.fetchState==="Completed"&&r.fetchState==="Completed"&&n.fetchState==="Completed"&&P.fetchState==="Completed"&&(!k||!w||d.fetchState==="Completed"&&_.fetchState==="Completed")){let y="",O="";if(i.statements.length>0){const E=i.statements[i.statements.length-1].period,[q,K]=E.split("-"),z=i.statements[0].period,[Ce,ae]=z.split("-");y=`${ut[parseInt(K)-1]} ${q}`,O=`${ut[parseInt(ae)-1]} ${Ce}`}const $=Le(l,k,w,L),U=pa(l,L,!0,r,n),Y=tt(k,w,!0,d,_);J.trackCardsCreditCardStatementsView(T,$,{numberOfStatements:i.statements.length,oldestStatementMonthYear:y,latestStatementMonthYear:O},U,Y)}},[i.fetchState,r.fetchState,n.fetchState,d.fetchState,P.fetchState,_.fetchState]);const F=()=>{const y=ve(a.state?.pathnameStackToGoBack),O=y.poppedPathname??"..";e(O,{state:{pathnameStackToGoBack:y.newStack}})},R=S(y=>Ge(y)),M=Q.getSignedInUser(),W={userId:M?.userId??"",sessionId:M?.zeniSessionId??"",tenantId:A.tenantId??""};if(M==null)throw Error("Can't access address page without signing in...");if(i.fetchState!=="Completed")return s.jsx(lt,{children:s.jsx(Ir,{onBackClick:F})});{const y=Le(l,k,w,L);return s.jsx(lt,{children:s.jsx(Ar,{currentTenantCompanyName:A.companyName,statementListView:i,productInformation:y,onBackClick:F,authParams:W,controllerEmails:T,isChargeCardFeatureEnabled:l,isDebitCardFeatureEnabled:k,isDebitCardSetupEnabled:w,isChargeCardSetupEnabled:L,chargeCardCashbackDetailState:R,creditAccount:r,creditAccountRepayment:n,depositAccountListWithDebitCardIssued:d,debitCardSummary:_,downloadEndPoint:u})})}}const os={containerWidth:new Ca(100,58)},is=({appContent:e})=>{const t=ma(),a=me(),r=ue(),n=ye(),{useDynamicConfig:u}=oe(),[m,C]=c.useState(!1),[I,o]=c.useState(!1),[i,D]=c.useState(!1),[A,f]=c.useState(!1),[B,v]=c.useState(!1),[k,h]=c.useState(!1),b=Q.getSignedInUser();if(b==null)throw Error("Can't access onboarding card page without signing in...");const g=S(U=>ie(U)),{configValue:l}=u(Fe.zeniCardsConfig),w=S(U=>Hn(U)),{tenantEmailDomain:L}=g,j=S(U=>U.settingsViewState.profile.fetchState),T=S(U=>U.chargeCardListState.fetchState),P=S(U=>U.settingsViewState.profile.userId),N=S(U=>U.chargeCardConfigState.fetchState);c.useEffect(()=>{m===!1&&j!=="In-Progress"&&j!=="Completed"&&(a(Mn()),C(!0)),I===!1&&N!=="In-Progress"&&N!=="Completed"&&(a(wa()),o(!0)),i===!1&&T==="Not-Started"&&(D(!0),a(da()))},[m,i,T,I,N]),c.useEffect(()=>{j==="Completed"&&B===!1&&P!=null&&T==="Completed"&&w.cards.length>0&&(a(zn({userId:P})),a(Lt({cardId:w.cards[w.cards.length-1].id})),v(!0))},[j,B,P,T]),c.useEffect(()=>{if(!A&&w.fetchState==="Completed"&&w.cards.length===0){const U=ve(n.state?.pathnameStackToGoBack),Y=U.poppedPathname??Re(L);r(Y,{state:{pathnameStackToGoBack:U.newStack}})}},[w.fetchState,w.cards,A]);const p=S(U=>_a(U)),d=Qa(p.updateStatus.fetchState),_=p.currentDisplayedCardId,{useFeatureGate:F}=oe(),{isFeatureEnabled:R}=F(Z.isChargeCardFeatureEnabled),M=!!g.companyChargeCardInfo?.info?.isChargeCardEnabled,W=!g.userRole.includes("charge_card_user")&&R&&M,y=S(U=>_!=null?Ut(U.chargeCardState,_):null),O=()=>{_!=null&&(a(aa(_,W,!0)),a(da()),f(!0))};c.useEffect(()=>{if(A&&_!=null&&y!=null&&y.status.code!=="request_on_hold"){const U=fe(g.tenantEmailDomain,_,b,y),Y=be(n.state?.pathnameStackToGoBack,n.pathname);a($n()),y?.type.code==="business_virtual_credit_card"&&a(Pa()),r(U,{state:{pathnameStackToGoBack:Y},replace:!0})}},[A,y?.status.code]),c.useEffect(()=>{d==="In-Progress"&&p.updateStatus.fetchState==="Completed"&&setTimeout(O,3e3)},[d,p.updateStatus.fetchState]);const $=U=>{h(U)};if(!A&&T!=="Completed"||j!=="Completed"||w.cards.length===0)return s.jsx(Ze,{fetchState:"In-Progress"});if(P==null)throw Error("Can't access my userId.");return s.jsxs(ls,{children:[s.jsx(ha,{isAppContentDrawerOpen:k,handleDrawerToggle:$}),s.jsx(cs,{chargeCardListView:w,cardUserOnboardingView:p,navigate:r,currentTenant:g,myUserId:P,location:n,chargeCardCashbackRatePerTransaction:l.charge_card_cashback_rate_per_transaction!=null?l.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{$(!0)}}),e!=null?s.jsx(ds,{windowSize:t,children:e}):null]})},cs=ge(function(e,{currentTenant:t,cardUserOnboardingView:a,chargeCardListView:r,myUserId:n}){const u=Ye(e,!1,!1,!1);let m=!1;return u.fetchState==="Completed"&&u.cards.length<=1&&(m=!0),{cards:r.cards,showMenuIcon:m,companyLegalName:t.companyName,twoFAView:a.twoFAView,cardUserOnboardingLocalData:a.cardUserOnboardingLocalData??{userId:n},isDOBDisabled:a.isDOBPresent,onboardingProgressStatus:a.onboardingProgressStatus}},function(e,t){const{navigate:a,cardUserOnboardingView:r,location:n,currentTenant:u}=t,{tenantEmailDomain:m}=u;return{updateCardUserOnboardingLocalData:C=>{e(ot({localData:C}))},onGetOtp:C=>{if(r.cardUserOnboardingLocalData!=null){const I={...r.cardUserOnboardingLocalData,phone:C};e(ot({localData:I}))}e(va(C,"CardUserOnboarding"))},onResendOtp:C=>{e(Fa(C,"CardUserOnboarding"))},onVerifyOtp:(C,I)=>{e(Ta(C,I,"CardUserOnboarding"))},onVerifyOtpSuccess:C=>{e(Gn()),C!=null&&Q.saveZeniOtpToken(C)},setCurrentDisplayedCardId:C=>{e(Lt({cardId:C}))},onBackClick:()=>{const C=ve(n.state?.pathnameStackToGoBack),I=C.poppedPathname??Re(m);a(I,{state:{pathnameStackToGoBack:C.newStack}})}}})(Er),ds=_e.div`
35
- display: flex;
36
- flex-direction: column;
37
- width: ${e=>`${os.containerWidth.value(e.windowSize)}%`};
38
- ${e=>e.windowSize!=="small"?"overflow: auto;":""}
39
- `,ls=_e.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
- `,us={containerWidth:new Ca(100,58)},ms=({appContent:e})=>{const t=ma(),a=me(),r=ue(),{cardId:n}=la(),u=ye(),{useDynamicConfig:m,useFeatureGate:C}=oe(),[I,o]=c.useState(!1),[i,D]=c.useState(!1),[A,f]=c.useState(!1),[B,v]=c.useState(!1),k=Q.getSignedInUser();if(k==null)throw Error("Can't access onboarding card page without signing in...");const h=S(O=>ie(O));if(n==null)throw Error("Empty card id is not valid...");const{configValue:b}=m(Fe.zeniCardsConfig),g=S(O=>Yn(O,n)),{isFeatureEnabled:l}=C(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:w}=C(Z.isDebitCardFeatureEnabled),L=Ae(w,h),j=Ee({isDebitCardFeatureEnabled:w,isBankingOnlyTenant:L}),T=Se(h),P=Ie(h),N=h.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,p=ke({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:l,isBookKeepingTenant:P,isDebitCardProductVisible:j,chargeCardsCreditAccountLimit:N}),d=g.chargeCard,_=S(O=>O.chargeCardConfigState.fetchState);c.useEffect(()=>{I===!1&&_!=="In-Progress"&&_!=="Completed"&&(a(wa()),o(!0)),i===!1&&g.fetchState==="Not-Started"&&(D(!0),a(aa(n,!1,p)))},[i,g.fetchState,I,_]);const F=d?.type.code==="business_physical_debit_card"||d?.type.code==="business_virtual_debit_card";c.useEffect(()=>{if(g.fetchState==="Completed"){if(A===!1&&(F===!1||F&&d.status?.code!=="active"||F&&d.status.code==="active"&&d.isPinSet||d.cardHolderUserId!==k.userId)){const O=fe(h.tenantEmailDomain,n,k,d,!0),$=be(u.state?.pathnameStackToGoBack,u.pathname);r(O,{state:{pathnameStackToGoBack:$}})}else if(A&&g.isRefreshingViewInBackground===!1&&d?.isPinSet===!0){a(Zn({chargeCardId:n}));const O=fe(h.tenantEmailDomain,n,k,d,!0),$=be(u.state?.pathnameStackToGoBack,u.pathname);a(Pa()),r(O,{state:{pathnameStackToGoBack:$}})}}},[g.fetchState,d?.type.code,A,g.isRefreshingViewInBackground]);const R=Q.getZeniOtpTokenForCardHolder(n),M=S(O=>ht(O.userState,k.userId)),W=()=>{d?.isPinSet!==!0&&a(Za(n,!0))};c.useEffect(()=>{g.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(W,3e3),f(!0))},[g.updateDebitCardPinAttemptFetchState.fetchState]);const y=O=>{v(O)};if(_!=="Completed"||d==null)return s.jsx(Ze,{fetchState:"In-Progress"});if(M?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(hs,{children:[s.jsx(ha,{isAppContentDrawerOpen:B,handleDrawerToggle:y}),s.jsx(Cs,{cardId:n,card:d,phone:M.phone,signedInUser:k,isSandboxEnv:qa(),debitCardDetailState:g,signedInUserToken:R,navigate:r,currentTenant:h,location:u,chargeCardCashbackRatePerTransaction:b.charge_card_cashback_rate_per_transaction!=null?b.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{y(!0)}}),e!=null?s.jsx(ps,{windowSize:t,children:e}):null]})},Cs=ge(function(e,{debitCardDetailState:t,cardId:a}){const r=ft(e,a),n=t.updateStatus,u=Ye(e,!1,!1,!1);let m=!1;return u.fetchState==="Completed"&&u.cards.length<=1&&(m=!0),{showMenuIcon:m,vgsVaultId:La.cardVaultId,twoFAView:r,setPinWaitStatus:n}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:u,debitCardDetailState:m}=t,C=m.chargeCard?.cardProviderID,{tenantEmailDomain:I}=u;return{onGetOtp:o=>{C!=null&&e(va(o,"ChargeCardHolder",r))},onUpdateDebitCardPinAttempt:o=>{e(At(r,o))},onResendOtp:o=>{C!=null&&e(Fa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,i)=>{C!=null&&e(Ta(o,i,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&Q.saveZeniOtpTokenForCardHolder(o,r)},onSetPinSuccess:()=>{e(Kn({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),i=o.poppedPathname==null||o.poppedPathname.includes("activate")===!0?Re(I):o.poppedPathname;a(i,{state:{pathnameStackToGoBack:o.newStack}})}}})(kr),ps=_e.div`
48
- display: flex;
49
- flex-direction: column;
50
- width: ${e=>`${us.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
- `,hs=_e.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
- `,fs={overlayWidth:new Ca(ja[12],ja[12],ja[9])},gs=ge(function(e,t){const a=Wa(e,!1,!1),r=t.lineId,n=a.customAddress[r],u=a.customAddressStatus[r]??{fetchState:"Not-Started",error:void 0};return{googleAPIKey:t.googleAPIKey,customAddress:n,customAddressStatus:u,lineId:r}},function(e,t){const{newCustomAddressId:a,lineId:r,chargeCardTypeOption:n}=t;return{onSubmitHandler:u=>{a!=null&&e(Rt(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`));const m=Rr(u);e(Jn({addressType:`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`,addressToCreate:m})),e(Xn(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`))},onDismissClick:()=>{t.onDismissClick(),a!=null&&e(qn({addressId:a,cardLineId:r,cardType:n==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}})(Dr),bs=({lineId:e,closeDrawerHandler:t,chargeCardTypeOption:a})=>{const r=Ja(),n=ma(),u=()=>{t()},m=S(C=>Wn(`${a==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,C))?.newAddressId;return s.jsx(zt,{anchor:"right",open:e.length>0,PaperProps:{style:{minWidth:fs.overlayWidth.valuePercentage(n),boxShadow:"none",zIndex:8}},slotProps:{backdrop:{style:{opacity:.75,backgroundColor:r.colors.black,cursor:"pointer"}}},onClose:(C,I)=>(I==="backdropClick"||I==="escapeKeyDown")&&u(),children:s.jsx(gs,{googleAPIKey:La.googleMapsAPIKey,onDismissClick:u,lineId:e,chargeCardTypeOption:a,newCustomAddressId:m})})},ys=ge(function(e,t){const{isChargeCardFeatureEnabled:a,isDebitCardFeatureEnabled:r,isIssuePhysicalCardEnabled:n,isIssuePhysicalDebitCardEnabled:u,isChargeCardSetupEnabled:m,isDebitCardSetupEnabled:C}=t,I=Wa(e,a&&m,r&&C);return{companyName:t.companyName,signedInUser:t.signedInUser,issueChargeCards:I,isIssuePhysicalCardEnabled:n,isIssuePhysicalDebitCardEnabled:u,isDebitCardFeatureEnabled:r,isChargeCardFeatureEnabled:a,isChargeCardSetupEnabled:m,isDebitCardSetupEnabled:C,cardHolderCandidates:I.userList.map(o=>o.user).filter(Boolean),allRoles:I.userList.map(o=>o.userRole),allAccountingClasses:I.allAccountingClasses,userList:I.userList}},function(e,t){return{onIssueCardClick:()=>{e(ar())},onSaveChangesToLocalStore:a=>{e(er(a))},onDismissClick:()=>{e(jt()),t.navigate("../")},resetCustomAddressByLineID:(a,r)=>{e(Rt(`${r==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`))},openAddAddressDrawerHandler:t.openAddAddressDrawerHandler}})(Pr);function Ss(){const e=Q.getSignedInUser(),t=ue(),a=me(),r=_r(),[n]=mt(),u=n.get("cardType"),{useFeatureGate:m}=oe(),{isFeatureEnabled:C}=m(Z.isIssuePhysicalCardEnabled),{isFeatureEnabled:I}=m(Z.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:o}=m(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:i}=m(Z.isChargeCardFeatureEnabled),D=S(y=>ie(y)),A=Ae(o,D),f=Ee({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:A}),B=Se(D),v=Ie(D),k=D.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,h=ke({isCardsOnlyTenant:B,isChargeCardFeatureEnabled:i,isBookKeepingTenant:v,isDebitCardProductVisible:f,chargeCardsCreditAccountLimit:k}),[b,g]=c.useState(!1);if(e==null)throw Error("Can't access issue card page without signing in...");c.useEffect(()=>{b||(g(!0),a(Qn(f&&w,h&&l,!1)))},[b,g,a]);const l=!!D.companyChargeCardInfo?.info?.isChargeCardEnabled,w=!!D.companyDebitCardInfo?.info?.isDebitCardEnabled,L=D.companyName,j=S(y=>Wa(y,h&&l,f&&w)),T=j.fetchState,P=j.issueCardStatus.fetchState,N=j.lastSelfIssuedDebitCardId,p=S(y=>N!=null?Ut(y.chargeCardState,N):void 0),[d,_]=c.useState(null),[F,R]=c.useState(null),M=()=>{_(null)},W=(y,O)=>{_(y),R(O)};return c.useEffect(()=>{if(P==="Completed"){if(N!=null&&p?.type.code==="business_virtual_debit_card"){let y;y=p?.status.code==="request_on_hold"&&e.userId===p.cardHolderUserId?Zt(D.tenantEmailDomain):fe(D.tenantEmailDomain,N,e,p),t(y)}else t("../");a(jt())}},[P,N]),T==="Completed"?s.jsxs(s.Fragment,{children:[d!==null&&F!==null?s.jsx(bs,{closeDrawerHandler:M,lineId:d,chargeCardTypeOption:F}):null,s.jsx(ys,{companyName:L,signedInUser:e,themeState:r,isIssuePhysicalCardEnabled:C,isIssuePhysicalDebitCardEnabled:I,isDebitCardFeatureEnabled:f,isChargeCardFeatureEnabled:h,isChargeCardSetupEnabled:l,isDebitCardSetupEnabled:w,navigate:t,fetchState:j.fetchState,openAddAddressDrawerHandler:W,defaultCardType:u==="creditCard"||u==="debitCard"?u:void 0})]}):T==="Error"?s.jsx(Ua,{}):s.jsx(wr,{})}const Is=_e.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
- `,As=ge(function(e,t){const{myPendingActivationChargeCardListState:a}=t;return{myPendingActivationChargeCardListView:a,uiState:a.uiState,signedInUser:t.signedInUser}},function(e,t){const{navigate:a,currentTenant:r,location:n,signedInUser:u,myPendingActivationChargeCardListState:m}=t,{tenantEmailDomain:C}=r,{cards:I}=m;return{onChargeCardRowClick:o=>{const i=Yt(I,o),D=fe(C,o,u,i),A=be(n.state?.pathnameStackToGoBack,n.pathname);a(D,{state:{pathnameStackToGoBack:A}})},onColumnSortConfigChanged:(o,i)=>{e(Ha({uiState:{sortKey:o,sortOrder:i}}))},onReloadCards:()=>{e(da())},onBackClick:()=>{const o=r.userRole.includes("charge_card_user");e(Ha({uiState:{sortKey:o?"cardName":"owner",sortOrder:"ascending"}})),a("../")}}})(Tr);function Es(){const e=ue(),t=me(),a=ye(),r=Ja(),[n,u]=c.useState(!1),m=S(F=>tr(F)),C=S(F=>ie(F)),I=S(F=>Me(F,C.companyId)),o=ze(I.controllers),{useFeatureGate:i}=oe(),{isFeatureEnabled:D}=i(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:A}=i(Z.isDebitCardFeatureEnabled),f=Ae(A,C),B=Ee({isDebitCardFeatureEnabled:A,isBankingOnlyTenant:f}),v=!!C.companyDebitCardInfo?.info?.isDebitCardEnabled,k=!!C.companyChargeCardInfo?.info?.isChargeCardEnabled,h=Ue(),b=Se(C),g=Ie(C),l=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,w=ke({isCardsOnlyTenant:b,isChargeCardFeatureEnabled:D,isBookKeepingTenant:g,isDebitCardProductVisible:B,chargeCardsCreditAccountLimit:l}),L=Be(h?.loggedInUserRoleMap),j=S(F=>Ge(F)),{creditAccount:T,creditAccountRepayment:P}=S(F=>$e(F)),N=S(F=>xt(F)).cards.filter(F=>F.type.code.includes("debit")).map(F=>F.connectedAccountId),p=[...new Set(N)],d=S(F=>xa(F,p));c.useEffect(()=>{n||m.fetchState==="Completed"||m.fetchState==="In-Progress"||(u(!0),t(da()),t(wa()))},[n,t,m.fetchState]),c.useEffect(()=>{if(m.fetchState==="Completed"&&m.cards.length===1&&_!=null){const F=fe(C.tenantEmailDomain,m.cards[0].id,_,m.cards[0]);e(F,{state:{message:a.state?.message}})}},[m.fetchState,m.cards]);const _=Q.getSignedInUser();if(c.useEffect(()=>{T.fetchState!=="Completed"&&T.fetchState!=="In-Progress"&&w&&k&&L&&t(Ga()),P.fetchState!=="Completed"&&P.fetchState!=="In-Progress"&&L&&t(Ya()),d.fetchState!=="Completed"&&d.fetchState!=="In-Progress"&&B&&v&&L&&t(Bt())},[T.fetchState,P.fetchState,t,d.fetchState,B,v,L,w,k]),_==null)throw Error("Can't access address page without signing in...");if(m.fetchState!=="Completed")return s.jsx(Ze,{fetchState:"In-Progress",style:{backgroundColor:r.colors.grey5}});{const F=Le(w,B,v,k);return s.jsx(Is,{children:s.jsx(As,{navigate:e,currentTenant:C,signedInUser:_,productInformation:F,myPendingActivationChargeCardListState:m,isChargeCardFeatureEnabled:w,isDebitCardFeatureEnabled:B,isDebitCardSetupEnabled:v,isChargeCardSetupEnabled:k,chargeCardCashbackDetailState:j,creditAccount:T,creditAccountRepayment:P,depositAccountListWithDebitCardIssued:d,controllerEmails:o,location:a})})}}const ks=ge(function(e,t){const{companyId:a,companyLegalName:r}=t;return{chargeCardSetupView:ua(e,a),admins:t.adminList,companyLegalName:r,meetingUrl:"https://meetings.hubspot.com/niharn/demo-zeni-charge-cards?embed=true"}},function(e,t){const{navigate:a,companyId:r,isCompanyBusinessVerificationAndPaymentSetUpDone:n,isDebitCardSetupEnabled:u,isChargeCardSetupEnabled:m,signedInUser:C,location:I,productInformation:o,isEarlyPayEnabled:i,controllerEmails:D,chargeCardsCreditAccountLimit:A}=t;return{onSetupButtonClick:f=>{if(C!=null&&J.trackCardsPromoPageClicked("enable cards"),n)switch(J.trackCardsEnableCardsClick(D,o,"Cards Promo"),f){case"credit":e(xe(r,!0,"charge_cards",i,!1));break;case"debit":e(xe(r,!0,"debit_cards",i,!1));break;case"debit_and_credit":e(A===0?xe(r,!0,"debit_cards",i,!0):xe(r,!0,"charge_cards__debit_cards",i,!1))}else switch(J.trackCardsSetupCardsClick(D,o,"Cards Promo"),f){case"credit":e(xe(r,!1,"charge_cards",i,!1));break;case"debit":e(xe(r,!1,"debit_cards",i,!1));break;case"debit_and_credit":e(A===0?xe(r,!1,"debit_cards",i,!0):xe(r,!1,"charge_cards__debit_cards",i,!1))}},onBackClick:()=>{const f=ve(I.state?.pathnameStackToGoBack);let B=f.poppedPathname;B==null&&(B=u||m?"..":"../.."),a(B,{state:{pathnameStackToGoBack:f.newStack}})},onLetsGoClick:()=>{a("./onboard")},onSetupChargeCardSuccess:()=>{n?(e(Pa()),a("../",{relative:"path"})):a("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(sr(r))}}})(Fr),Ds=()=>{const e=ue(),{tenantEmailDomain:t}=la(),[a]=mt(),r=a.get("cardPromoType"),n=me(),{useDynamicConfig:u,useFeatureGate:m}=oe(),[C,I]=c.useState(!1),{isFeatureEnabled:o}=m(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:i}=m(Z.isEarlyPayFeatureEnabled),{isFeatureEnabled:D}=m(Z.isChargeCardFeatureEnabled),{configValue:A}=u(Fe.zeniCardsConfig),f=S(ee=>ie(ee)),B=S(ee=>Me(ee,f.companyId)),v=ze(B.controllers),k=A.charge_card_cashback_rate_per_transaction!=null?A.charge_card_cashback_rate_per_transaction:.0175,h=ye(),b=Q.getSignedInUserTenant(t)?.companyId??f.companyId,g=S(ee=>ua(ee,b)),l=g.primaryFundingAccount,w=f.companyBillPayInfo?.info,L=Se(f),j=Ie(f),T=Ae(o,f),P=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,N=Ee({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:T}),p=ke({isCardsOnlyTenant:L,isChargeCardFeatureEnabled:D,isBookKeepingTenant:j,isDebitCardProductVisible:N,chargeCardsCreditAccountLimit:P}),d=Gt({isCardsOnlyTenant:L,isChargeCardFeatureEnabled:D,isBookKeepingTenant:j}),_=N&&p===!1,F=w?.businessVerificationStatus?.code==="verified"&&(_||l?.accType==="depositAccount"||nr(l?.providerVerificationStatus?.code??"")),R=Q.getSignedInUser(),M=!!f.companyZeniAccountInfo?.info?.isZeniAccountEnabled,W=!!f.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,y=!!f.company?.companyChargeCardInfo.isChargeCardEnabled,O=!!f.company?.companyDebitCardInfo.isDebitCardEnabled,$=!!f.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,U=ee=>{I(ee)},Y=S(ee=>ee.chargeCardSetupViewState.fetchState);if(R==null)throw Error("Can't access Charge Card promo page without signing in...");const E=Ue(),q=Be(E?.loggedInUserRoleMap),K=Ka(E?.loggedInUserRoleMap),[z,Ce]=c.useState(!1),[ae,x]=c.useState(!1),[pe,G]=c.useState(!1);c.useEffect(()=>{z===!1&&h.state?.message==="activation"&&Ce(!0)},[h.state]),c.useEffect(()=>{ae||Y!=="Not-Started"||b==null||(x(!0),n(Oa(b,!0)))},[ae,Y,b,n]);const ce=f.companyChargeCardInfo?.info!=null&&ea({cardInfo:f.companyChargeCardInfo.info,isProductVisible:d,isTOSAccepted:W,isSetupEnabled:y,isUserHasCardsAdminLevelAccess:q,isUserHasCardsAccess:K}),we=f.companyDebitCardInfo?.info!=null&&ea({cardInfo:f.companyDebitCardInfo.info,isProductVisible:N,isTOSAccepted:$,isSetupEnabled:O,isUserHasCardsAdminLevelAccess:q,isUserHasCardsAccess:K}),re=N&&we&&d&&P>=0&&ce?"debit_and_credit":N&&we?"debit":"credit",ne=Ur(r,re),de=g?.chargeCardTermsDetails?.fetchStatus?.fetchState,X=c.useRef(null);c.useEffect(()=>{de==="In-Progress"?X.current=ne:de!=="Error"&&de!=="Not-Started"||(X.current=null)},[de,ne]);const Ke=de!=="In-Progress"&&de!=="Completed"||X.current==null?ne:X.current;c.useEffect(()=>{ne==="credit"&&(y||d===!1&&O)||ne==="debit"&&O||ne==="debit_and_credit"&&O&&y?e("../"):(ne==="debit_and_credit"&&W===!0&&$===!0||ne==="credit"&&(W===!0||d===!1&&$===!0)||ne==="debit"&&$===!0)&&q===!0&&e("../setup")},[F,y,O,ne,W,$]),c.useEffect(()=>{pe||(n(rr("cardAdmin")),G(!0))},[pe]);const je=S(ee=>Ft(ee.userState,ee.userRoleState,ee.userListViewState,"cardAdmin")),Pe=Le(d,N,O,y);return(ce||we)&&Y==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(et,{analytics:J,onLoad:()=>{if(J.trackPageLoaded(Mt.Event.cardsPromoPage),!!d&&!y||!!N&&!O||!!d&&!!N&&!O&&!y){const ee=_s({isDebitCardSetupEnabled:O,isChargeCardSetupEnabled:y,isCreditCardProductVisibleForExpressInterest:d,isDebitCardProductVisible:N});J.trackCardsPromoView(v,Pe,"Page",ee,"Promo Page")}}}),s.jsx(Ba,{showConfetti:z}),s.jsx(ha,{isAppContentDrawerOpen:C,handleDrawerToggle:U}),s.jsx(ks,{signedInUser:R,location:h,showEnableCardButton:F,isCompanyBusinessVerificationAndPaymentSetUpDone:F,isChargeCardSetupEnabled:y,isDebitCardSetupEnabled:O,companyLegalName:f.companyName,adminList:je.users,isCheckingEnabled:M,navigate:e,companyId:b,cardPromoType:Ke,controllerEmails:v,productInformation:Pe,isCreditCardProductVisible:p,isDebitCardFeatureEnabled:o,isEarlyPayEnabled:i,cashbackRate:k,chargeCardsCreditAccountLimit:P,onClickMenuIcon:()=>{U(!0)}})]}):s.jsx(Ze,{fetchState:"Not-Started"})},_s=({isDebitCardSetupEnabled:e,isChargeCardSetupEnabled:t,isCreditCardProductVisibleForExpressInterest:a,isDebitCardProductVisible:r})=>a&&r&&!e&&!t?"Credit & Debit Card":a&&!t?"Credit Card":r&&!e?"Debit Card":"";function Js(){const e=ye(),t=S(Y=>ie(Y)),{useFeatureGate:a}=oe(),{isFeatureEnabled:r}=a(Z.isChargeCardFeatureEnabled),{isFeatureEnabled:n}=a(Z.isDebitCardFeatureEnabled),{isFeatureEnabled:u}=a(Z.isEarlyPayFeatureEnabled),{isFeatureEnabled:m}=a(Z.isChargeCardPaymentHistoryFeatureEnabled),C=Ae(n,t),I=Ee({isDebitCardFeatureEnabled:n,isBankingOnlyTenant:C}),o=vr(t,r,n),i=!!t.company?.companyChargeCardInfo.isChargeCardTOSAccepted,D=!!t.company?.companyDebitCardInfo.isDebitCardTOSAccepted,A=!!t.company?.companyChargeCardInfo.isChargeCardEnabled,f=!!t.company?.companyDebitCardInfo.isDebitCardEnabled,B=Ue(),v=Be(B?.loggedInUserRoleMap),k=Ka(B?.loggedInUserRoleMap),{isFeatureEnabled:h}=a(Z.isCashbackFeatureEnabled),b=t.userRole.includes("charge_card_user"),g=!b,l=!b&&A,w=t?.userRole!=null&&or(t?.userRole),L=(t?.company==null||t.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!w)&&ir(B?.loggedInUserRoleMap),j=cr(B?.loggedInUserRoleMap),T=(t?.company==null||t.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!w)&&dr(B?.loggedInUserRoleMap),{isFeatureEnabled:P}=a(Z.isDepositAccountsFeatureEnabled),N=P&&!w&&bt(B?.loggedInUserRoleMap),p=A&&!w,d=f&&!w,_=o&&!w&&Be(B?.loggedInUserRoleMap),F=lr(B?.loggedInUserRoleMap),R=Se(t),M=Ie(t),W=t.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,y=ke({isCardsOnlyTenant:R,isChargeCardFeatureEnabled:r,isBookKeepingTenant:M,isDebitCardProductVisible:I,chargeCardsCreditAccountLimit:W}),O=t.companyChargeCardInfo?.info!=null&&ea({cardInfo:t.companyChargeCardInfo.info,isProductVisible:y,isTOSAccepted:i,isSetupEnabled:A,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:k}),$=t.companyDebitCardInfo?.info!=null&&ea({cardInfo:t.companyDebitCardInfo.info,isProductVisible:I,isTOSAccepted:D,isSetupEnabled:f,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:k}),U=O||$;return s.jsxs(Jt,{children:[v?s.jsx(te,{path:"setup",element:s.jsx(it,{isBillPayAdminLevelAccess:L,isReimbursementAdminLevelAccess:T,isZeniAccountAdminLevelAccess:N,isChargeCardAdminLevelAccess:_,isUserHasOnlyCardAccess:F,isUserHasOnlyBillPayAccess:j,productType:"charge_cards",type:"setup"})}):null,v?s.jsx(te,{path:"verification",element:s.jsx(it,{isBillPayAdminLevelAccess:L,isUserHasOnlyBillPayAccess:j,isReimbursementAdminLevelAccess:T,isZeniAccountAdminLevelAccess:N,isChargeCardAdminLevelAccess:_,isUserHasOnlyCardAccess:F,productType:"charge_cards",type:"verification"})}):null,s.jsx(te,{path:"promo",element:s.jsx(Ds,{})}),p||d?s.jsxs(s.Fragment,{children:[s.jsx(te,{path:"/",element:s.jsx(dt,{isPaymentDrawerOpen:!1})}),_&&u?s.jsx(te,{path:"payment",element:s.jsx(dt,{isPaymentDrawerOpen:!0})}):null,s.jsx(te,{path:"activate",element:s.jsx(Es,{})}),s.jsx(te,{path:"onboard",element:s.jsx(is,{})}),v?s.jsx(te,{path:"new",element:s.jsx(Ss,{})}):null,h&&g?s.jsx(te,{path:"cashback",element:s.jsx(Vr,{})}):null,l?s.jsx(te,{path:"statements",element:s.jsx(ss,{})}):null,_&&m&&A?s.jsx(te,{path:"payment-history",element:s.jsx(rs,{})}):null,s.jsx(te,{path:":cardId/activate",element:s.jsx(zr,{})}),s.jsx(te,{path:":cardId/setPin",element:s.jsx(ms,{})}),s.jsx(te,{path:":cardId/addToWallet",element:s.jsx(jr,{})}),s.jsx(te,{path:":cardId/*",element:s.jsx(Jr,{})}),s.jsx(te,{path:"*",element:s.jsx(Ua,{})})]}):(i||D)&&v?s.jsx(te,{path:"*",element:s.jsx(ya,{to:"../setup"})}):U?s.jsx(te,{path:"*",element:s.jsx(ya,{to:"../promo",state:e.state})}):s.jsx(te,{path:"*",element:null})]})}export{Js as default};
@@ -1 +0,0 @@
1
- import{j as m}from"./liveblocks-CQd3J_Jz.js";import{a as g}from"./sentry-BO53Tmje.js";import{j as w,h as x,u as k,l as T,g as O,k as E}from"./core-CHx9v1R3.js";import{z as b,aZ as F,x as P,c as L,e as V,aa as N,a_ as j,ao as A,ap as B,v as U}from"./index-_YbuoSTd.js";import{eM as D,fC as M,rt as _,fx as R,b$ as z,Lt as G,bm as Y,pB as Z,pp as $,jW as q,lq as S,Lu as H,bB as W,cr as C,ly as J,lB as K}from"./zeni-epic-state-T7UkKQQw.js";import"./mui-B5MJXy46.js";import{c as Q}from"./routePaths-abbP8AF2.js";import{M as X}from"./MobileAppDrawer-gMG7WLxC.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new t.Error().stack;n&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[n]="acfa2584-79b1-40ce-89a7-50fb190ce71c",t._sentryDebugIdIdentifier="sentry-dbid-acfa2584-79b1-40ce-89a7-50fb190ce71c")}catch{}})();const ee=E(function(t){const n=R(t),i=b.getSignedInUser(),l=D(t),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=z(l?.userRole??[])&&n.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=G(t.companyConfigState),a=t.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:n.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:n,allIndustries:e.companyIndustries??[],allNationalityCountries:a,isDisabled:f,authParams:p,filesEndPoint:`${A.fileMicroServiceBaseUrl}`,isZeniUser:Y(i)}},function(t,n){const{companyId:i,currentTenant:l,navigate:c,location:p}=n,{tenantEmailDomain:f}=l;return{onScheduleClick:e=>{let a=e.href;a.includes("http")||(a="https://".concat(a)),window.open(a,"_blank")},onSaveAll:()=>{t(K())},onAddressClick:e=>{const a=Q(f,e),o=U(p.state?.pathnameStackToGoBack,p.pathname);c(a,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{t(J({companyId:i}))},onBackClick:()=>{c("../")},onCompanyDetailsChanged:e=>{const{companyInfo:a,incInfo:o,taxDetails:r,zeniFinanceTeam:d}=e,{website:u}=a,{meetingLink:y}=d,{incDate:s}=o,{taxesFiledYears:h}=r,v={companyInfo:{...a,website:u!=""&&u!=null?C(u):void 0,meetingLink:y!=""&&y!=null?C(y):void 0,industry:a.industry.selectedOption,companyIndustryType:a.companyIndustryType?.selectedOption??void 0,companySubIndustry:a.subIndustry?.selectedOption??void 0,businessModel:a.businessModel.selectedOption??"",companySourceOfFunds:a.companySourceOfFunds?.selectedOption,companySourceOfFundsDescription:a.companySourceOfFundsDescription??void 0,countriesOfOperations:a.countriesOfOperations?.selectedOptions?.map(I=>I.length===2?I:B(I))??[],transactionVolume:a.transactionVolume?.selectedOption??void 0,transactionVolumeDescription:a.transactionVolumeDescription??void 0,regulatedStatus:a.regulatedStatus??void 0,regulatedStatusDescription:a.regulatedStatusDescription??void 0,usNexus:a.usNexus??void 0,usNexusTypes:a.usNexusTypes?.selectedOptions??[],purposeOfAccount:a.purposeOfAccount?.selectedOption??void 0,purposeOfAccountDescription:a.purposeOfAccountDescription??void 0},incInfo:{typeOfInc:o.typeOfInc.selectedOption??"",stateOfInc:o.stateOfInc.selectedOption??"",incDate:s!=null?W(s?.toString()):s,fileId:o.fileIds[0]},taxDetails:{taxIdOrEIN:r.taxIdOrEIN,sicCode:r.sicCode,naicsCode:r.naicsCode,dunsNumber:r.dunsNumber,taxesFiledYears:h.selectedOptions.map(I=>parseInt(I)),fileId:r.fileIds[0]}};t(S({companyDetails:v}))},onPrimaryContactDetailsUpdated:e=>{t(S({primaryContact:{userId:e.userId,email:e.email.trim(),firstName:e.name.firstName,lastName:e.name.lastName}}))},onNewCompanyOfficerAdded:e=>{t(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:void 0}]}))},onNewCompanyOfficerRemoved:e=>{t(H(e))},onCompanyOfficerUpdated:e=>{t(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:e.userId}]}))},updateFilesEntity:e=>{t(q({files:e}))},onDeleteFile:e=>{t($(e))},onEditFileName:(e,a)=>{t(Z(e,a.split(".")[0]))}}})(j);function de(){const t=w(),n=x(),i=k(),{tenantEmailDomain:l}=T(),[c,p]=g.useState(!1),[f,e]=g.useState(!1),a=O(s=>s.companyViewState.passportView.fetchState),o=O(s=>s.companyConfigState.fetchState),r=O(s=>D(s)),d=r.companyId??b.getSignedInUserTenant(l)?.companyId;if(b.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect(()=>{c||a!=="Not-Started"||d==null||(p(!0),n(M(d)))},[c,a,d,n]),g.useEffect(()=>{o==="Not-Started"&&n(_())},[o,n]);const u=s=>{e(s)},y=a==="Not-Started"||a==="In-Progress"||o==="Not-Started"||o==="In-Progress";return d!=null&&a==="Error"?m.jsx(F,{onGoHome:()=>t("../",{replace:!0}),onReload:()=>window.location.reload()}):m.jsxs(m.Fragment,{children:[m.jsx(P,{analytics:L,onLoad:s=>s.trackPageLoaded(V.Event.companyPassport,N(i)?"Settings":"Company Passport")}),N(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:t,location:i,isLoading:y,currentTenant:r,isSettings:N(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
@@ -1,11 +0,0 @@
1
- import{j as C}from"./liveblocks-CQd3J_Jz.js";import{a}from"./sentry-BO53Tmje.js";import{h as D,u as v,g as m,N as w}from"./core-CHx9v1R3.js";import{Ic as A,eM as O,fj as _,mh as j,fJ as h,fi as U,eN as L,Ik as k}from"./zeni-epic-state-T7UkKQQw.js";import{u as F,z as u,L as b,D as $,o as H}from"./index-_YbuoSTd.js";import{n as z}from"./mui-B5MJXy46.js";import{t as R}from"./getLocaleForTenant-BobWg4Hu.js";import{g as P,Q as G}from"./QBOConnectionScreen-CHf-hKza.js";import"./recharts-nKX4-UUs.js";import"./analytics-DuZD1FBf.js";import"./plaid-CcgrQve1.js";import"./dnd-Ci4anwe2.js";import"./stripe-DMRn4zHo.js";import"./lottie-Dnly7PBz.js";import"./lexical-DQpmcVQ9.js";import"./pdf-DYwn2DuC.js";import"./utils-DpJstXha.js";import"./empty-DC_zzPcD.js";import"./pdf-lib-DV6Dg2jz.js";import"./index-DvW5_poC.js";import"./url-kAF8xbJK.js";import"./index-DXrrGmep.js";import"./decodeURIComponentSafe-IyDHJK_-.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]="36d396b0-c6aa-48c6-bcba-a1bc747bebe9",t._sentryDebugIdIdentifier="sentry-dbid-36d396b0-c6aa-48c6-bcba-a1bc747bebe9")}catch{}})();const J=z.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 ${H.sp1} ${t.theme.colors.dropShadowNormal}`};
11
- `;function pe(){const t=D(),i=v(),{setLoading:d,clearAllLoading:E}=F(),p=a.useRef(!1),f=a.useRef(!1),{code:x,realmId:N,state:T}=P(i.search),y=x!==""&&N!==""&&T!=="",I=m(l=>A(l)),e=m(l=>O(l)),n=m(l=>l.tenantState.fetchState),r=m(l=>l.tenantState.activeTenantFetchState.fetchState),o=u.getSignedInUser(),c=u.getActiveTenantForUser()?.tenantId,s=e?.externalConnections?.fetchState,g=e?.externalConnections?.saveConnectionState,S=e.externalConnections?.accounting[0]?.isValid;return a.useLayoutEffect(()=>{d(b.CONNECTION_AUTH)},[d]),a.useEffect(()=>{p.current||o==null||c==null||(p.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(d(b.TENANT_FETCHING),t(_(o.userId,c))))},[p,n,d]),a.useEffect(()=>{e.tenantId==null&&!f.current&&o!=null&&(f.current=!0,!(c==null||c!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(j(o.userId)))},[f,n,r]),a.useEffect(()=>{o==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||g!=="Error"||(d(b.CONNECTION_AUTH),t(h(o.userId,e.tenantId)))},[g]),a.useEffect(()=>{n!=="Completed"&&r!=="Completed"||o==null||e?.tenantId==null||(t(U(e.tenantId)),u.saveActiveTenantDomainForUser(e.tenantEmailDomain),L(o?.userId,o?.zeniSessionId,e.tenantId),$.updateAppLocaleID(R(k(e))),e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||o==null||e==null||t(h(o.userId,e.tenantId)))},[n,r,s]),a.useEffect(()=>{I.tenantsCoreDetailsInOrder.length>0&&n==="Completed"&&u.saveSignedInUserTenants(I.tenantsCoreDetailsInOrder)},[I.tenantsCoreDetailsInOrder.length,n]),a.useEffect(()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||s!=="Completed"&&s!=="Error"||E()},[n,r,s]),e==null||n!=="Completed"&&r!=="Completed"||s!=="Completed"?null:y||S===!1?C.jsx(J,{children:C.jsx(G,{})}):C.jsx(w,{to:"/",replace:!0})}export{pe as default};
@@ -1 +0,0 @@
1
- import{j as d}from"./liveblocks-CQd3J_Jz.js";import{z as n}from"./index-_YbuoSTd.js";import{g as p}from"./QBOConnectionScreen-CHf-hKza.js";import"./sentry-BO53Tmje.js";import{u as a,N as i}from"./core-CHx9v1R3.js";import"./zeni-epic-state-T7UkKQQw.js";import"./recharts-nKX4-UUs.js";import"./mui-B5MJXy46.js";import"./analytics-DuZD1FBf.js";import"./plaid-CcgrQve1.js";import"./dnd-Ci4anwe2.js";import"./stripe-DMRn4zHo.js";import"./lottie-Dnly7PBz.js";import"./lexical-DQpmcVQ9.js";import"./pdf-DYwn2DuC.js";import"./utils-DpJstXha.js";import"./empty-DC_zzPcD.js";import"./pdf-lib-DV6Dg2jz.js";import"./index-DvW5_poC.js";import"./url-kAF8xbJK.js";import"./index-DXrrGmep.js";import"./decodeURIComponentSafe-IyDHJK_-.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]="b68d0d57-e81d-4cfb-97e6-d4dd5e5b7ebd",t._sentryDebugIdIdentifier="sentry-dbid-b68d0d57-e81d-4cfb-97e6-d4dd5e5b7ebd")}catch{}})();const U=()=>{const t=a(),{code:o,realmId:r,state:e}=p(t.search),s=n.getSignedInUser()?.userId??"";if(f(o,r,e,s)===!0){const m=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return d.jsx(i,{to:m})}return d.jsx(i,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
@@ -1 +0,0 @@
1
- import{j as d}from"./liveblocks-CQd3J_Jz.js";import{z as n}from"./index-Dq9jqf2N.js";import{g as p}from"./QBOConnectionScreen-OXmvz2uL.js";import"./sentry-BO53Tmje.js";import{u as a,N as i}from"./core-CHx9v1R3.js";import"./zeni-epic-state-T7UkKQQw.js";import"./recharts-nKX4-UUs.js";import"./mui-B5MJXy46.js";import"./analytics-DuZD1FBf.js";import"./plaid-CcgrQve1.js";import"./dnd-Ci4anwe2.js";import"./stripe-DMRn4zHo.js";import"./lottie-Dnly7PBz.js";import"./lexical-DQpmcVQ9.js";import"./pdf-DYwn2DuC.js";import"./utils-DpJstXha.js";import"./empty-DC_zzPcD.js";import"./pdf-lib-DV6Dg2jz.js";import"./index-DvW5_poC.js";import"./url-kAF8xbJK.js";import"./index-DXrrGmep.js";import"./decodeURIComponentSafe-IyDHJK_-.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]="b68d0d57-e81d-4cfb-97e6-d4dd5e5b7ebd",t._sentryDebugIdIdentifier="sentry-dbid-b68d0d57-e81d-4cfb-97e6-d4dd5e5b7ebd")}catch{}})();const U=()=>{const t=a(),{code:o,realmId:r,state:e}=p(t.search),s=n.getSignedInUser()?.userId??"";if(f(o,r,e,s)===!0){const m=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return d.jsx(i,{to:m})}return d.jsx(i,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
@@ -1,23 +0,0 @@
1
- import{j as a}from"./liveblocks-CQd3J_Jz.js";import{t as $e,A as Ce}from"./AddressScreen-fg6k52x4.js";import ze from"./NotFoundScreen-DKiPvQrK.js";import{a as g}from"./sentry-BO53Tmje.js";import{j as oe,u as se,h as ie,l as re,g as D,N as E,k as ce,i as Me,n as Qe,o as M}from"./core-CHx9v1R3.js";import{Y as de,S as le,z as B,i as ue,h as qe,s as _,v as V,x as Y,c as N,B as je,e as W,ak as Je,J as Ke,al as Ie,j as te,am as Ze,an as ke,o as Ye,ao as He,ap as Ee,aq as We}from"./index-_YbuoSTd.js";import{bm as Xe,eM as ee,fb as et,eT as pe,eR as me,bu as tt,mf as at,f7 as nt,bL as ot,i_ as ae,j1 as ve,IY as st,bQ as it,b$ as ge,rH as fe,rs as rt,J8 as X,rI as _e,GE as ct,k2 as Ue,J9 as Ve,Ja as dt,Jb as lt,Jc as ut,iY as pt,i$ as mt,ru as Be,rG as gt,bB as Te,cr as ft,rU as xe,pB as ht,pp as yt,jW as St,fA as bt,fz as Ct,fy as It,Jd as kt,rm as Et,rV as Tt,rY as xt,r$ as Ot,s5 as Pt,cR as At}from"./zeni-epic-state-T7UkKQQw.js";import{n as he}from"./mui-B5MJXy46.js";import{g as Dt,h as Ft,q as ne}from"./QBOConnectionScreen-CHf-hKza.js";import"./recharts-nKX4-UUs.js";import"./analytics-DuZD1FBf.js";import"./plaid-CcgrQve1.js";import"./dnd-Ci4anwe2.js";import"./stripe-DMRn4zHo.js";import"./lottie-Dnly7PBz.js";import"./lexical-DQpmcVQ9.js";import"./pdf-DYwn2DuC.js";import"./utils-DpJstXha.js";import"./empty-DC_zzPcD.js";import"./pdf-lib-DV6Dg2jz.js";import"./index-DvW5_poC.js";import"./url-kAF8xbJK.js";import"./index-DXrrGmep.js";import"./decodeURIComponentSafe-IyDHJK_-.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]="1deecfdd-4518-42ee-bc61-c2460fd7c99f",t._sentryDebugIdIdentifier="sentry-dbid-1deecfdd-4518-42ee-bc61-c2460fd7c99f")}catch{}})();const wt=ce(function(t,o){const s=[];o.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),o.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),o.shouldFetchZeniAccountsPromoCard===!1&&s.push("zeni_accounts_promo_card"),o.shouldFetchRewardsPlanCard===!1&&s.push("rewards_card"),o.isExpenseAutomationEnabledForUser===!1&&s.push("expense_automation_card");const u=nt(t,s,o.signedInUser,o.isExpenseAutomationFeatureEnabledV2,o.isExpenseAutomationEnabledForUser,o.isTreasuryEnabled);return{dashboardFetchState:ot(u.reportsInOrder.map(d=>({fetchState:d.fetchState,error:d.error}))).fetchState}},function(t,o){const{themeState:s,navigate:u,location:d}=o;return{onZeniLogoClick:()=>{s.toggle()},onDashboardFetchDone:()=>{const r=V(d.state?.pathnameStackToGoBack,d.pathname);u("../../dashboard",{state:{pathnameStackToGoBack:r,message:"activation"}})}}})(Je),jt=()=>{const t=oe(),o=se(),s=ie(),u=de(),[d,r]=g.useState(!1),[p,S]=g.useState(!1),{tenantEmailDomain:e}=re(),n=le(),i=B.getSignedInUser(),f=Xe(i),{useFeatureGate:m}=ue(),k=qe(),{isFeatureEnabled:T}=m(_.isApAgingFeatureEnabled),{isFeatureEnabled:x}=m(_.isArAgingFeatureEnabled),{isFeatureEnabled:I}=m(_.isDepositAccountsFeatureEnabled),{isFeatureEnabled:h}=m(_.isReferralFeatureEnabled),{isFeatureEnabled:U}=m(_.isExpenseAutomationEnabled),{isFeatureEnabled:C}=m(_.isExpenseAutomationEnabledV2),{isFeatureEnabled:F}=m(_.isDebitCardFeatureEnabled),$=C||U&&f,c=D(l=>ee(l)),{isFeatureEnabled:L}=m(_.isTreasuryEnabled),w=c.company!=null&&et(c.company),R=L&&w,O=D(l=>l.onboardingCustomerViewState.fetchState),b=c.excludedResources,G=c.companyId??B.getSignedInUserTenant(e)?.companyId;if(i==null)throw Error("Can't access onboarding flow without signing in...");const j=pe(F,c),P=me(c),A=[],J=b?.resources?.find(l=>l.resource==="/reports/top_expenses")==null,z=b?.resources?.find(l=>l.resource==="/reports/task_card")==null,Q=c?.userRole!=null&&tt(c?.userRole),v=b?.resources?.find(l=>l.resource==="/bills")==null&&!Q,q=b?.resources?.find(l=>l.resource==="/reimbursements")==null;if(J===!1&&A.push("top_expenses"),z===!1&&A.push("task_card"),v===!1&&A.push("bill_pay_card","bill_pay_promo_card"),q===!1&&A.push("reimbursement_card","reimbursement_promo_card"),I===!1&&A.push("zeni_accounts_promo_card"),h===!1&&A.push("rewards_card"),g.useEffect(()=>{O!=="Completed"||d||j||P||(r(!0),s(at(i.userId,G,c.tenantId,!0,!1,A)))},[d,O,j,P,i,c.tenantId,s]),g.useEffect(()=>{(j||P)&&setTimeout(()=>{S(!0)},5e3)},[j,P]),O!=="Completed")return a.jsx(E,{to:"../"});if(O==="Completed"&&p){const l=V(o.state?.pathnameStackToGoBack,o.pathname);if(j)return a.jsx(E,{to:"../../checking",state:{...o.state,pathnameStackToGoBack:l,message:"activation"}});if(P)return a.jsx(E,{to:"../../cards",state:{...o.state,pathnameStackToGoBack:l,message:"activation"}})}return n?.loggedInUserRoleMap!=null?a.jsxs(a.Fragment,{children:[a.jsx(Y,{analytics:N,onLoad:l=>(K=>K.trackPageLoaded(W.Event.onboardingDashboardActivation))(l)}),a.jsx(wt,{navigate:t,location:o,themeState:u,signedInUser:i,isApAgingFeatureEnabled:T,isArAgingFeatureEnabled:x,shouldFetchZeniAccountsPromoCard:I,shouldFetchRewardsPlanCard:h,isExpenseAutomationEnabledForUser:$,isExpenseAutomationFeatureEnabledV2:C,isTreasuryEnabled:R,loggedInUserRoleMap:n?.loggedInUserRoleMap})]}):a.jsx(je,{fetchState:"In-Progress",style:{backgroundColor:k.colors.grey5}})},Oe=he.div`
2
- display: flex;
3
- height: 100vh;
4
- background-color: ${t=>t.theme.colors.grey4};
5
- `,Pe=he.div`
6
- display: flex;
7
- flex-direction: column;
8
- align-items: center;
9
- min-width: calc(100% - ${ke}px);
10
- padding-left: ${ke}px;
11
- flex: 1;
12
-
13
- ${t=>t.theme.breakpoints.down("md")} {
14
- width: 100%;
15
- padding-left: ${Ye.sp0};
16
- }
17
-
18
- ${t=>t.windowSize!=="small"?"overflow: auto;":""}
19
- `,Ae=ce(function(t,o){const{companyId:s,isAdmin:u,currentTenant:d,isOnAddressPage:r}=o,p=B.getSignedInUser(),S=d.tenantId,e={userId:p?.userId??"",sessionId:p?.zeniSessionId??"",tenantId:S??""},n=ee(t),i=fe(t,s),f=Ve(t),m=ge(d?.userRole??[])&&i.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",k=dt(t.userRoleConfigState);return{onboardingCustomerView:i,analytics:N,isRefreshingViewInBackground:!1,isDisabled:m,companyTitles:k.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:He.fileMicroServiceBaseUrl,authParams:e},signedInUser:B.getSignedInUser(),currentTenant:d,isAdmin:u,isOnAddressPage:r,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:f,isCardPaymentPopupOpen:!1,stripeKey:te.stripeKey}},function(t,o){const{companyId:s,currentTenant:u,themeState:d,navigate:r,location:p}=o,{tenantEmailDomain:S}=u;return{onFetchLinkTokenClick:(e,n)=>{t(Pt(e,n))},onEstablishConnectionClick:(e,n)=>{t(Ot(e,n))},onUpdatePaymentAccountStatus:(e,n,i)=>{t(xt(e,n,i))},onUpdatePaymentAccountLoginStatus:(e,n)=>{t(Tt(!1,e,n))},onEstablishConnectionSuccess:()=>{t(Et(s,!0,!1))},handleOnConnectClick:()=>{N.trackOnboardingConnectQBO(),ne.handleClick()},updateQBOPopupState:e=>{t(X({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const n=e.map(i=>{const{officerType:f,userId:m,name:k,email:T,ssn:x,nationalityCountryCode:I,dob:h,phone:U,syncToken:C,selectDocument:F,role:$,ownership:c,isSelectedForVerification:L,userVerificationStatus:w,fileIds:R,isPhoneVerified:O}=i;let b;return F.selectDocumentType==="driverLicense"?b="driving_license":F.selectDocumentType==="passport"?b="passport":F.selectDocumentType==="stateId"?b="id_document":F.selectDocumentType==="ssnCard"&&(b="social_security_card"),{officerType:f,userId:m,firstName:k.firstName,lastName:k.lastName,email:T,ssn:x,nationalityCountryCode:I?.selectedOption!=null?Ee(I.selectedOption):void 0,phone:U,birthday:h!=null?Te(h?.toString()):h,syncToken:C,titleAtCompany:$.selectedOption,ownershipInCompany:c,documentTypeSelectedForVerification:b,isSelectedForVerification:L,userVerificationStatus:w,fileIds:R,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:O}});t(xe({officers:n}))},onGetOtp:(e,n)=>{t(It(e,"CustomerOnboarding")),n!=null&&t(kt({officerType:n,phone:e}))},onResendOtp:e=>{t(Ct(e,"CustomerOnboarding"))},onVerifyOtp:(e,n)=>{t(bt(e,n,"CustomerOnboarding"))},updateFilesEntity:e=>{t(St({files:e}))},onDeleteFile:e=>{t(yt(e))},onEditFileName:(e,n)=>{t(ht(e,n.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:n,companyIndustry:i,companyIndustryType:f,companyLegalName:m,companyTaxId:k,companyWebsite:T,companyPhone:x,primaryContactEmail:I,primaryContactName:h,primaryContactUserId:U,primaryContactSyncToken:C,syncToken:F,fileIds:$,typeOfIncorporation:c,stateOfIncorporation:L,incDate:w,companySourceOfFunds:R,companySourceOfFundsDescription:O,companySubIndustry:b,countriesOfOperations:G,purposeOfAccount:j,purposeOfAccountDescription:P,regulatedStatus:A,regulatedStatusDescription:J,transactionVolume:z,transactionVolumeDescription:Q,usNexus:v,usNexusTypes:q}=e,l={companyId:s,companyDescription:n,companyIndustry:i.selectedOption,companyIndustryType:f?.selectedOption??"",companyLegalName:m,taxIdOrEIN:k,website:T!=""&&T!=null?ft(T):void 0,phone:x,syncToken:F,fileIds:$,incDate:w!=null?Te(w?.toString()):w,typeOfIncorporation:c?.selectedOption??"",stateOfIncorporation:L?.selectedOption??"",companySourceOfFunds:R?.selectedOption??"",companySourceOfFundsDescription:O,companySubIndustry:b?.selectedOption??"",countriesOfOperations:G?.selectedOptions.map(Z=>Z.length===2?Z:Ee(Z))??[],purposeOfAccount:j?.selectedOption??"",purposeOfAccountDescription:P,regulatedStatus:A??"",regulatedStatusDescription:J,transactionVolume:z?.selectedOption??"",transactionVolumeDescription:Q,usNexus:v,usNexusTypes:q?.selectedOptions??[]},K={userId:U,firstName:h.firstName,lastName:h.lastName,email:I,syncToken:C};t(xe({companyDetails:l,primaryContactDetails:K}))},onAddressClick:(e,n)=>{const i=De(S,e,n),f=V(p.state?.pathnameStackToGoBack,p.pathname);r(i,{state:{pathnameStackToGoBack:f}})},onRegisteredAddressClick:(e,n)=>{const i=De(S,e,n),f=V(p.state?.pathnameStackToGoBack,p.pathname);r(i,{state:{pathnameStackToGoBack:f}})},onUpdateCustomerView:(e,n,i)=>{t(gt(s,!1,n,i,e))},onAddressEditHandler:e=>{if(e!=null){const n=$e(e);t(Ue({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const e=V(p.state?.pathnameStackToGoBack,p.pathname);t(Be(s,!1,!1)),r("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(_e({step:e}))},onZeniLogoClick:()=>{d.toggle()},handleLogOutClick:()=>{const e=V(p.state?.pathnameStackToGoBack,p.pathname);r("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleCreateCardSetupIntent:e=>{t(ve(e))},handleConfirmCardSetupIntent:e=>{t(mt(e))},updateCardPaymentModalState:e=>{t(X({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,n,i)=>{t(pt(e,n,i))},handleFetchPaymentSources:()=>{t(ae())},resetCardPaymentViewState:()=>{t(ut())},handleResetCardPaymentErrorStatuses:()=>{t(lt())},redirectToProductSuitePage:()=>{const e=V(p.state?.pathnameStackToGoBack,p.pathname);r(`/${S}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})}}})(Ze),H=({taxCFOCustomer:t=!1,isOnAddressPage:o=!1,appContent:s})=>{const u=oe(),d=se(),r=ie(),p=Ke(),S=de(),[e,n]=g.useState(!1),[i,f]=g.useState(!1),[m,k]=g.useState(!1),{tenantEmailDomain:T}=re(),x=le(),{useFeatureGate:I}=ue(),{isFeatureEnabled:h}=I(_.isDebitCardFeatureEnabled),U=Me("/:tenantEmailDomain/onboarding")!==null&&d.search?.includes("code"),C=D(y=>y.onboardingCustomerViewState.fetchState),F=D(y=>y.onboardingCustomerViewState.currentStep),$=D(y=>y.onboardingCustomerViewState.uiState),c=D(y=>ee(y)),L=D(y=>y.userRoleConfigState.fetchState),w=D(y=>y.cardPaymentViewState),R=Ie(w.addCardPaymentSourceStatus.fetchState),O=w.addCardPaymentSourceStatus.fetchState,{code:b,realmId:G,state:j}=Dt(d.search),P=c.externalConnections?.accounting[0],A=P?.connectionType,J=P?.connectionName,z=P?.connectionId??"",Q=B.getSignedInUser()?.userId??"";g.useEffect(()=>{i||(f(!0),r(ae()))},[i,r]),g.useEffect(()=>{m||(ve(["card"]),k(!0))},[m]),g.useEffect(()=>{R==="In-Progress"&&O==="Completed"&&r(ae())},[R,O]),g.useEffect(()=>{Ft(b,G,j,z,Q)===!0&&c.externalConnections?.saveConnectionState!=="In-Progress"&&C==="Completed"&&(r(st(c.tenantId,{connection_type:A??"accounting",connection_name:J??"quickbooks_online",authorization_code:b,realm_id:G,connection_id:z,user_id:Q},it(window.location.origin+"/onboarding/auth"))),N.trackOnboardingSaveQBOConnection(G,z),u(d.pathname))},[b,G,j,d.pathname,C]),g.useEffect(()=>{ne.isInitiated===!1&&C==="Completed"&&ne.init("/onboarding/auth",c.tenantEmailDomain)},[C]);const v=c.companyId??B.getSignedInUserTenant(T)?.companyId,q=ge(c?.userRole??[]),l=D(y=>fe(y,v));g.useEffect(()=>{e||C!=="Not-Started"||v==null||(n(!0),r(rt(v,!0,!U)))},[e,C,v]),g.useEffect(()=>{c.externalConnections?.saveConnectionState!=="Completed"&&c.externalConnections?.saveConnectionState!=="Error"||!$.isQBOPopupOpen||F!=="qbo_connection"||r(X({isQBOPopupOpen:!1}))},[c.externalConnections?.saveConnectionState]),g.useEffect(()=>{C==="Completed"&&U&&(r(_e({step:"qbo_connection"})),r(X({isQBOPopupOpen:!0})))},[U,C]),g.useEffect(()=>{L==="Not-Started"&&r(ct(!0))},[L,r]);const K=Ie(l.companyDetailsLocalData?.addressStatus);g.useEffect(()=>{l.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&l.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&K==null&&r(Ue({addressType:"company_registered_address",addressToCreate:l.companyDetailsLocalData?.addressStatus?.addressToCreate}))},[l.companyDetailsLocalData?.addressStatus?.addressToCreate,l.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const Z=l.isInterimEmailSent;if(B.getSignedInUser()==null)throw Error("Can't access onboarding flow without signing in...");const Le=pe(h,c),Re=me(c),ye=c.company?.companyOnboardingInfo.isOnboardingCompleted,Se=y=>y.trackPageLoaded(W.Event.onboardingPage),be=c.productSettings.isOtherProductsEnabled,Ge=c.productSettings.isTreasuryEnabled;if(ye===!0){if(!be)return Ge?a.jsx(E,{to:"../../treasury"}):Le?a.jsx(E,{to:"../../checking"}):Re?a.jsx(E,{to:"../../cards"}):a.jsx(E,{to:"../../dashboard"});const y=l.updateStatus.fetchState==="In-Progress";if(be&&!y)return t?a.jsxs(Oe,{children:[a.jsx(Y,{analytics:N,onLoad:Ne=>Se(Ne)}),a.jsx(Ae,{navigate:u,location:d,companyId:v,currentTenant:c,isAdmin:q,isOnAddressPage:o,themeState:S,googleAPIKey:te.googleMapsAPIKey}),s!=null?a.jsx(Pe,{windowSize:p,children:s}):null]}):a.jsx(E,{to:"../../onboarding/thankyou"})}else if(ye===!1&&x?.loggedInUserRoleMap!=null)return Z===!0?a.jsx(E,{to:"../../onboarding/thankyou"}):a.jsxs(Oe,{children:[a.jsx(Y,{analytics:N,onLoad:y=>Se(y)}),a.jsx(Ae,{navigate:u,location:d,companyId:v,currentTenant:c,isAdmin:q,isOnAddressPage:o,themeState:S,googleAPIKey:te.googleMapsAPIKey}),s!=null?a.jsx(Pe,{windowSize:p,children:s}):null]});return null};function De(t,o,s){let u=`/${t}/onboarding/address`;return u=s!=null?u.concat(`/edit/${o}/${encodeURIComponent(s)}`):u.concat(`/new/${o}`),u}const Fe=he.div`
20
- display: flex;
21
- height: 100vh;
22
- background-color: ${t=>t.theme.colors.grey4};
23
- `,we=ce(function(t,o){const{companyId:s,currentTenant:u}=o,d=fe(t,s),r=Ve(t);return{hasVerifiedBankAccount:(d.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(r.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:ge(u?.userRole??[])&&d.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:B.getSignedInUser(),currentTenant:u,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true"}},function(t,o){const{currentTenant:s,themeState:u,navigate:d,location:r}=o,{tenantEmailDomain:p}=s;return{onZeniLogoClick:()=>{u.toggle()},handleLogOutClick:()=>{const S=V(r.state?.pathnameStackToGoBack,r.pathname);d("/signout",{replace:!0,state:{pathnameStackToGoBack:S,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleUpdatePaymentAddressDetailClick:()=>{const S=V(r.state?.pathnameStackToGoBack,r.pathname);d(`/${p}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:S,message:"UpdatePaymentAddressDetail"}})}}})(We),vt=()=>{const t=oe(),o=ie(),s=se(),u=de(),{useFeatureGate:d}=ue(),{isFeatureEnabled:r}=d(_.isDebitCardFeatureEnabled),{tenantEmailDomain:p}=re(),S=le(),[e,n]=g.useState(!1);g.useEffect(()=>{e===!1&&s.state?.message==="OnboardingThankyou"&&n(!0)},[s.state]);const i=D(h=>ee(h)),f=i.productSettings.isOtherProductsEnabled;g.useEffect(()=>{o(Be(m,!1,!f))},[]);const m=i.companyId??B.getSignedInUserTenant(p)?.companyId;if(S.loggedInUser==null)throw Error("Can't access onboarding flow without signing in...");const k=pe(r,i),T=me(i),x=D(h=>h.onboardingCustomerViewState.updateStatus.fetchState),I=i.company?.companyOnboardingInfo.isOnboardingCompleted;return I!==!0||f?x==="Completed"&&I===!0&&f&&S?.loggedInUserRoleMap!=null?a.jsxs(Fe,{children:[a.jsx(Y,{analytics:N,onLoad:h=>{h.trackPageLoaded(W.Event.onboardingLandingPage,"Onboarding",At(i.productSettings))}}),a.jsx(we,{navigate:t,showUpdatePaymentDetailButton:f,location:s,companyId:m,currentTenant:i,themeState:u,isVisitingFirstTime:e})]}):x==="Completed"&&I===!1&&S?.loggedInUserRoleMap!=null?a.jsxs(Fe,{children:[a.jsx(Y,{analytics:N,onLoad:h=>{h.trackPageLoaded(W.Event.onboardingInterimPage)}}),a.jsx(we,{navigate:t,showUpdatePaymentDetailButton:f,location:s,companyId:m,currentTenant:i,themeState:u,isVisitingFirstTime:e})]}):a.jsx(je,{fetchState:x}):k?a.jsx(E,{to:"../../checking"}):T?a.jsx(E,{to:"../../cards"}):a.jsx(E,{to:"../../dashboard"})};function oa(){return a.jsxs(Qe,{children:[a.jsx(M,{path:"/",element:a.jsx(H,{})}),a.jsx(M,{path:"/billing/edit",element:a.jsx(H,{taxCFOCustomer:!0})}),a.jsx(M,{path:"/thankyou",element:a.jsx(vt,{})}),a.jsx(M,{path:"/activation",element:a.jsx(jt,{})}),a.jsx(M,{path:"/address/edit/:addressType/:addressId",element:a.jsx(H,{isOnAddressPage:!0,appContent:a.jsx(Ce,{})})}),a.jsx(M,{path:"/address/new/:addressType",element:a.jsx(H,{isOnAddressPage:!0,appContent:a.jsx(Ce,{})})}),a.jsx(M,{path:"*",element:a.jsx(ze,{})})]})}export{oa as default};
@@ -1,20 +0,0 @@
1
- import{j as i}from"./liveblocks-CQd3J_Jz.js";import{l as G,g as k,u as $,h as V,j as q,k as Z,n as We,o as D}from"./core-CHx9v1R3.js";import{eM as j,Jt as Fe,bB as Ut,bp as de,KG as Va,hO as Na,KH as Tt,KI as Ga,hR as Qe,KJ as we,KK as za,hW as $a,KL as wt,KM as qa,h_ as et,KN as xe,KO as Za,cN as at,KP as Ha,KQ as Ja,JN as Xa,iU as Wa,KR as Qa,bm as _e,KS as Yt,Jh as Q,bc as Kt,j6 as Vt,mp as Nt,iR as Gt,Jj as ee,Ji as z,KT as en,KU as tn,KV as zt,KW as pe,tx as ke,ty as ye,tV as ue,tP as te,tC as Se,KX as an,KY as nn,KZ as on,K_ as $t,K$ as he,L0 as sn,dF as Oe,q9 as qt,L1 as rn,L2 as cn,L3 as ln,L4 as nt,IE as ot,jm as st,u1 as rt,qh as dn,L5 as un,tz as xt,qc as ie,q8 as Zt,L6 as oe,L7 as mn,L8 as ct,ID as it,s9 as Ht,L9 as pn,La as hn,Lb as fn,Lc as lt,sm as gn,Ld as bn,tB as Dt,s8 as Jt,Le as se,Lf as Cn,bu as Xt,u5 as Wt,Lg as _n,Lh as kn,Li as yn,Lj as dt,u0 as Sn,Lk as vn,tA as Ft,u4 as Qt,Ll as re,Lm as In,Ln as An,Lo as ea,jb as ta,mm as aa,jg as na,mk as oa,mj as sa,mi as ra,rx as En,fb as Tn,cK as wn,cL as xn,mf as Dn,f7 as Fn,mv as On,Lp as Pn,D9 as Bn,Lq as Rn,Lr as jn,Ls as Ln,b5 as ut,eZ as Mn,gw as Un,fC as Yn,mq as Kn,iK as Vn,mn as Nn,ml as Gn,eT as zn,eR as $n}from"./zeni-epic-state-T7UkKQQw.js";import{z as B,T as H,v as F,c as S,D as N,aP as qn,K as Pe,x as ve,aQ as ca,e as Y,aR as Zn,S as Ie,aS as ia,i as mt,s as L,h as Hn,aT as Jn,aU as Xn,aV as Ae,aW as Wn,a as Qn,al as eo,aI as to,q as ao,N as no,aX as oo,aY as ge}from"./index-Dq9jqf2N.js";import{n as pt}from"./mui-B5MJXy46.js";import{a as _}from"./sentry-BO53Tmje.js";import{w as la}from"./withTransactionSidePanel-UHZfMBs6.js";import{b as da,t as me,e as ae,a as ht,v as so}from"./routePaths-DcafKlRb.js";import{u as Be}from"./useAskAiCfoHostNavButtonProps-BoUrQmeU.js";import{c as Re}from"./useFetchSuggestedQuestionsWhenReady-SLtAuNb5.js";import Ce from"./NotFoundScreen-Cd8X5xCE.js";import{t as ua}from"./analyticsHelper-Mt04lTg1.js";import{C as ro}from"./CompanyPassportScreen-Cqz1qGsf.js";import{F as co}from"./FeaturePreviewScreen-jkbWAKFD.js";import{R as io}from"./ReferralListScreen-DXnNEK59.js";import"./recharts-nKX4-UUs.js";import"./analytics-DuZD1FBf.js";import"./plaid-CcgrQve1.js";import"./dnd-Ci4anwe2.js";import"./stripe-DMRn4zHo.js";import"./lottie-Dnly7PBz.js";import"./lexical-DQpmcVQ9.js";import"./pdf-DYwn2DuC.js";import"./utils-DpJstXha.js";import"./TransactionDetailScreen-BQBVq_ZG.js";import"./decodeURIComponentSafe-IyDHJK_-.js";import"./MobileAppDrawer-DJybBxxC.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]="0f07319b-42b7-40c7-90ef-263c4c4328b7",e._sentryDebugIdIdentifier="sentry-dbid-0f07319b-42b7-40c7-90ef-263c4c4328b7")}catch{}})();const lo=la(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=G(),s=B.getSignedInUser(),c=k(T=>T.tenantState.currentTenantId),u=k(T=>j(T)),{tenantEmailDomain:m}=G(),C=$(),b=u?.companyName??"",h={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:c??""},l=_.useMemo(()=>({authParams:h,companyName:b,downloadEndPoint:`${H}/agingDetailedReport`,timezone:Fe()}),[]),d=_.useMemo(()=>r!=null?Ut(r):de(),[r]),p=V(),g=q(),f=k(T=>Va(T,d,o)),v=_.useCallback(()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&p(Na(o,d))},[d]),E=_.useCallback(()=>{g("../../",{relative:"path"})},[]),R=_.useCallback((T,J)=>{p(Tt({sortKey:T,sortOrder:J}))},[]),A=_.useCallback(T=>{p(Tt({downloadState:T}))},[]),I=_.useCallback(T=>{if(e)e(T.transactionId,T.transactionType);else if(m!=null){const J=da({id:T.transactionId,type:T.transactionType},m);g(J);const Le=F(C.state?.pathnameStackToGoBack,C.pathname);g(J,{state:{pathnameStackToGoBack:Le}})}},[m,e]),x=_.useCallback(()=>{f.vendor!=null&&S.trackApAgingDetail("AP Aging",d.format(N.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.vendor.id,f.vendor.name)},[f.vendor,d]);return _.useEffect(()=>{v()},[]),_.useEffect(()=>{f.fetchState==="Completed"&&x()},[x,f.fetchState]),i.jsx(qn,{apAgingDetail:f,downloadParams:l,reportDate:d,analytics:S,onTransactionClick:I,onReload:v,onBackClick:E,onColumnSortConfigChanged:R,updateDownloadStateHandler:A,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),uo=()=>{const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Pe(),t=V(),n=q(),o=k(I=>Ga(I)),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=Be({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"AP Aging"});Re({isDataReady:o.fetchState==="Completed"});const c=B.getSignedInUser(),u=k(I=>I.tenantState.currentTenantId),m=k(I=>j(I)),C=m?.companyName??"",b={userId:c?.userId??"",sessionId:c?.zeniSessionId??"",tenantId:u??""},h=_.useMemo(()=>({authParams:b,companyName:C,downloadEndPoint:`${H}/agingReport`,timezone:Fe()}),[]),l=o.apAgingUIState.selectedDate??de(),d=_.useCallback(()=>{o.fetchState!=="In-Progress"&&o.fetchState!=="Completed"&&t(Qe(l))},[]);_.useEffect(()=>{d()},[]);const p=_.useCallback(()=>{n("../",{relative:"path"})},[]),g=_.useCallback(I=>{t(we({searchString:I}))},[]),f=_.useCallback((I,x)=>{t(we({sortKey:x,sortOrder:I}))},[]),v=_.useCallback(I=>{n(`./${I}/${l.format(N.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[l]),E=_.useCallback(I=>{t(we({downloadState:I}))},[]),R=_.useCallback((I,x)=>{},[]),A=_.useCallback((I,x)=>{t(we({selectedDate:I,agingDateSelectionType:x})),t(Qe(I))},[]);return i.jsxs(i.Fragment,{children:[o.fetchState==="Completed"?i.jsx(ve,{analytics:S,onLoad:I=>I.trackPageLoaded(Y.Event.agingReport,"AP Aging")}):null,i.jsx(ca,{uiState:o.apAgingUIState,report:o,downloadParams:h,analytics:S,onReloadReport:d,onBackClick:p,onSearchTextChange:g,onSortOrderChange:f,onEntityNameClick:v,updateDownloadStateHandler:E,onSelectedDateChanged:A,onNodeCollapseToggled:R,isAiCfoAccessEnabled:r,onAskAiCfoClick:s})]})},mo=la(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=G(),s=B.getSignedInUser(),c=k(x=>j(x)),{tenantEmailDomain:u}=G(),m=$(),C=c.companyName,b={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:c.tenantId},h=_.useMemo(()=>({authParams:b,companyName:C,downloadEndPoint:`${H}/agingDetailedReport`,timezone:Fe()}),[]),l=_.useMemo(()=>r!=null?Ut(r):de(),[r]),d=V(),p=q(),g=k(x=>za(x,l,o)),f=_.useCallback(()=>{o!=null&&g.fetchState!=="In-Progress"&&g.fetchState!=="Completed"&&d($a(o,l))},[l]),v=_.useCallback(()=>{p("../../",{relative:"path"})},[]),E=_.useCallback((x,T)=>{d(wt({sortKey:x,sortOrder:T}))},[]),R=_.useCallback(x=>{d(wt({downloadState:x}))},[]),A=_.useCallback(x=>{if(e)e(x.transactionId,x.transactionType);else if(u!=null){const T=da({id:x.transactionId,type:x.transactionType},u);p(T);const J=F(m.state?.pathnameStackToGoBack,m.pathname);p(T,{state:{pathnameStackToGoBack:J}})}},[u,e]),I=_.useCallback(()=>{g.customer!=null&&S.trackArAgingDetail("AR Aging",l.format(N.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),g.customer.id,g.customer.name)},[g.customer,l]);return _.useEffect(()=>{f()},[]),_.useEffect(()=>{g.fetchState==="Completed"&&I()},[g.fetchState,I]),i.jsx(Zn,{arAgingDetail:g,downloadParams:h,reportDate:l,analytics:S,onTransactionClick:A,onReload:f,onBackClick:v,onColumnSortConfigChanged:E,updateDownloadStateHandler:R,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),po=()=>{const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Pe(),t=V(),n=q(),o=k(A=>qa(A)),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=Be({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"AR Aging"});Re({isDataReady:o.fetchState==="Completed"});const c=B.getSignedInUser(),u=k(A=>j(A)),m=u.companyName,C={userId:c?.userId??"",sessionId:c?.zeniSessionId??"",tenantId:u.tenantId},b=_.useMemo(()=>({authParams:C,companyName:m,downloadEndPoint:`${H}/agingReport`,timezone:Fe()}),[]),h=o.arAgingUIState.selectedDate??de(),l=_.useCallback(()=>{o.fetchState!=="In-Progress"&&o.fetchState!=="Completed"&&t(et(h))},[]);_.useEffect(()=>{l()},[]);const d=_.useCallback(()=>{n("../",{relative:"path"})},[]),p=_.useCallback(A=>{t(xe({searchString:A}))},[]),g=_.useCallback((A,I)=>{t(xe({sortKey:I,sortOrder:A}))},[]),f=_.useCallback(A=>{n(`./${A}/${h.format(N.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[h]),v=_.useCallback(A=>{t(xe({downloadState:A}))},[]),E=_.useCallback((A,I)=>{t(xe({selectedDate:A,agingDateSelectionType:I})),t(et(A))},[]),R=_.useCallback((A,I)=>{t(Za({nodeId:A,isCollapsed:I}))},[]);return i.jsxs(i.Fragment,{children:[o.fetchState==="Completed"?i.jsx(ve,{analytics:S,onLoad:A=>A.trackPageLoaded(Y.Event.agingReport,"AR Aging")}):null,i.jsx(ca,{uiState:o.arAgingUIState,report:o,downloadParams:b,analytics:S,onReloadReport:l,onBackClick:d,onSearchTextChange:p,onSortOrderChange:g,onEntityNameClick:f,updateDownloadStateHandler:v,onSelectedDateChanged:E,onNodeCollapseToggled:R,isAiCfoAccessEnabled:r,onAskAiCfoClick:s})]})},ma=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function pa(e,a){const t=Xa(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=me(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),c=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:c,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Wa(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?S.trackZeniAccountsCashBalancePromoClicked("Move Money"):(S.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else S.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const ho=Z(function(e){const a=Ha(e).accountsInOrder.map((n,o)=>ma(n,o)),t=Ja(e);return{sectionTitle:N.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:S}},pa)(ia),fo=Z(function(e){const a=Qa(e).accountsInOrder.map((o,r)=>ma(o,r)),t=B.getSignedInUser(),n=_e(t);return{sectionTitle:N.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:S}},pa)(ia);function go(){const e=q(),a=$(),{tenantEmailDomain:t}=G(),n=Ie(),o=k(s=>j(s).company?.companyInfo.firstMonthOfFY??1),r=at(n?.loggedInUserRoleMap);return k(s=>s.cashBalanceState.fetchState)==="Error"?i.jsx(Ce,{}):i.jsx(ho,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function bo(){const e=q(),a=$(),{tenantEmailDomain:t}=G(),n=Ie(),o=at(n?.loggedInUserRoleMap),r=k(s=>j(s).company?.companyInfo.firstMonthOfFY??1);return k(s=>s.cardBalanceState.fetchState)==="Error"?i.jsx(Ce,{}):i.jsx(fo,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const Co=pt.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
- `,_o=pt.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 ko({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=q(),c=V(),u=$(),{tenantEmailDomain:m}=G(),C=Hn();return i.jsxs(Co,{children:[i.jsx(Jn,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},backgroundColor:C.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:b=>{b.trim().length>=2?c(ee({searchString:b,searchOrigin:"navbar"})):b.trim().length===0&&c(z("navbar"))},onAutoCompleteEntity:b=>{n!=null&&S?.trackSearch(Y.Event.search,yo(a),b.type,b.name,n);const h=ae(b,m),l=F(u.state?.pathnameStackToGoBack,u.pathname);s(h,{state:{pathnameStackToGoBack:l}})}}},rightSideComponent:o===!0&&r!=null?i.jsx(Xn,{onClick:r}):null}),i.jsx(_o,{children:a==="cash_balance"?i.jsx(go,{}):i.jsx(bo,{})})]})}function Ot(){const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Pe(),t=$(),n=V(),{useFeatureGate:o}=mt(),{isFeatureEnabled:r}=o(L.isDepositAccountsFeatureEnabled),s=k(f=>f.cashBalanceState.fetchState),c=k(f=>f.cardBalanceState.fetchState),u=B.getSignedInUser();if(u==null)throw Error("Can't access dashboard detail without signing in...");const m=Yt((f=>{const v=Kt(f,"/").split("/");return v[v.length-1]})(t.pathname));let C="Not-Started",b="";const h=N.getLocalizedStrings();switch(m){case"cash_balance":C=s,b=h.reportTitleById.cash_balance;break;case"card_balance":C=c,b=h.reportTitleById.card_balance;break;default:console.error(`${m} is not supported!`)}const{isAiCfoAccessEnabled:l,onAskAiCfoClick:d}=Be({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:m==="card_balance"?"Card Balance":"Cash Balance"});Re({isDataReady:C==="Completed"});const p=k(f=>f.entityAutoCompleteState.autoCompleteText.navbar),g=k(f=>Q(f,"navbar"));return _.useEffect(()=>{C==="Not-Started"&&function(f,v,E){switch(v){case"card_balance":f(Gt());break;case"cash_balance":f(Vt()),E===!0&&f(Nt());break;default:throw new Error(`balance report type ${v} is not yet supported`)}}(n,m,r)},[u,n,C]),i.jsxs(i.Fragment,{children:[C==="Completed"?i.jsx(ve,{analytics:S,onLoad:f=>((v,E)=>{switch(E){case"card_balance":v.trackPageLoaded(Y.Event.cardBalance);break;case"cash_balance":v.trackPageLoaded(Y.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${E}!`)}})(f,m)}):null,i.jsx(ko,{title:b,reportId:m,autoCompleteText:p,entityAutoCompleteView:g,isAiCfoAccessEnabled:l,onAskAiCfoClick:d})]})}const yo=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},So=Z(function(e){const a=en(e),t=tn(e),n=zt(e),{scrollPosition:o,...r}=n,s=N.getLocalizedStrings().reportTitleById.cash_in_cash_out,c=B.getSignedInUser(),u=e.tenantState.currentTenantId,m=j(e),C=m?.companyName??"",b={userId:c?.userId??"",sessionId:c?.zeniSessionId??"",tenantId:u??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,l=Q(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:C,statementEndPoint:`${H}/statement`,authParams:b},analytics:S,autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:l}}},function(e,a){return{updateDownloadStateHandler:t=>{e(an(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Se(t,n)),e(pe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(ue("month")),e(te(a.firstMonthOfFY,t)),e(pe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ke(a.firstMonthOfFY,t,o,n)),n.length>0&&e(ye(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(pe({resetLeftScroll:!0})),50)},onElementCollapseStateChanged:(t,n)=>{e(pe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(pe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(Ae),vo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=k(r=>zt(r)).mode==="compare_mode";return i.jsx(So,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:o,navigate:n})},Io=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Oe(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}},Ao=Z(function(e){const a=nn(e),t=on(e),n=$t(e),{scrollPosition:o,...r}=n,s=N.getLocalizedStrings().reportTitleById.cash_position,c=B.getSignedInUser(),u=e.tenantState.currentTenantId,m=j(e),C=m?.companyName??"",b={userId:c?.userId??"",sessionId:c?.zeniSessionId??"",tenantId:u??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,l=Q(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:C,statementEndPoint:`${H}/statement`,authParams:b},analytics:S,autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:l}}},function(e,a){return{updateDownloadStateHandler:t=>{e(sn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(he({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Se(t,n)),e(he({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(he({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ke(a.firstMonthOfFY,t,o,n)),n.length>0&&e(ye(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(he({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Io(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const c=me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),u=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(c,{state:{pathnameStackToGoBack:u,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(he({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}})(Ae),Eo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=k(r=>$t(r)).mode==="compare_mode";return i.jsx(Ao,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:o,navigate:n})},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}))};function $e(){return i.jsxs(We,{children:[i.jsx(D,{path:"/",element:i.jsx(X,{})}),i.jsx(D,{path:"/:forecastId",element:i.jsx(X,{})}),i.jsx(D,{path:"/:forecastId/*",element:i.jsx(Ce,{})})]})}const To=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Oe(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}},wo=Z(function(e){const a=qt(e),t=rn(e),n=cn(e),o=ln(e),r=nt(e),{scrollPosition:s,...c}=r,u=t.reportTitle,m=B.getSignedInUser(),C=e.tenantState.currentTenantId,b=j(e),h=b?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:C??""},d=e.entityAutoCompleteState.autoCompleteText.navbar,p=Q(e,"navbar"),g=ot(b);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:u},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:c,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:h,statementEndPoint:`${H}/statement`,authParams:l},analytics:S,isZeniUser:_e(m),autoCompleteData:{autoCompleteText:d,entityAutoCompleteView:p},isZeniCOAUsed:g,isAccountingClassesEnabled:st(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(mn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(oe({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Se(t,n)),e(oe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(oe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ke(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ye(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(oe({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=To(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,c=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?ht(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),u=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(c,{state:{pathnameStackToGoBack:u,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(oe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(oe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=F(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(ie(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:ft,n)),t==="forecast_mode"?(e(xt({viewMode:"account_group"})),e(Zt(!1,n?.id)),n!=null&&K(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):K(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(oe({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(xt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(un({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(dn())},onResyncReports:()=>{e(rt("net_burn_or_income_by_classes"))}}})(Ae),xo=e=>{const a=V(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=k(p=>nt(p)),c=s.isForecastModeOn,u=s.timeframe,m=s.selectedForecast?.id,C=k(p=>ct(p.forecastState,m??"")),b=k(p=>qt(p)),h=k(p=>it(p)),l=s.mode==="compare_mode",d=b.dataAvailable;return _.useEffect(()=>{if(m!=null&&c===!0&&(K(c,r,m,o),C!=null)){const p=C?.forecastPeriod,g=d!=null&&p.endDate.isAfter(d?.endDate)===!0?d:p;a(te(e.firstMonthOfFY,{startDate:g.endDate.startOf(u),endDate:g?.endDate}))}},[m]),i.jsx(wo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isCompareModeOn:l,navigate:o,analytics:S,reportsResyncFetchState:h.reportsResyncFetchState})},Do=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Oe(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}},Fo=Z(function(e){const a=Ht(e),t=pn(e),n=hn(e),o=fn(e),r=lt(e),{scrollPosition:s,...c}=r,u=N.getLocalizedStrings().reportTitleById.operating_expenses,m=B.getSignedInUser(),C=e.tenantState.currentTenantId,b=j(e),h=b?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:C??""},d=e.entityAutoCompleteState.autoCompleteText.navbar,p=Q(e,"navbar"),g=ot(b);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:u},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:c,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:h,statementEndPoint:`${H}/statement`,authParams:l},analytics:S,isZeniUser:_e(m),autoCompleteData:{autoCompleteText:d,entityAutoCompleteView:p},isZeniCOAUsed:g,isAccountingClassesEnabled:st(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(Cn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(se({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Se(t,n)),e(se({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(se({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ke(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ye(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(se({resetLeftScroll:!0})),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=Do(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,c=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?ht(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),u=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(c,{state:{pathnameStackToGoBack:u,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(se({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(se({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=F(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(ie(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:ft,n)),t=="forecast_mode"?(e(Dt({viewMode:"account_group"})),e(Jt(!1,n?.id)),n!=null&&K(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):K(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(se({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Dt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(bn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(gn())},onResyncReports:()=>{e(rt("operating_expenses_by_classes"))}}})(Ae),Oo=e=>{const a=V(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=k(f=>lt(f)),c=s.isForecastModeOn,u=s.timeframe,m=s.selectedForecast?.id,C=k(f=>ct(f.forecastState,m??"")),b=k(f=>Ht(f)),h=k(f=>it(f)),l=s.mode==="compare_mode",d=b.dataAvailable;_.useEffect(()=>{if(m!=null&&c===!0&&(K(c,r,m,o),C!=null)){const f=C?.forecastPeriod,v=d!=null&&f.endDate.isAfter(d?.endDate)===!0?d:f;a(te(e.firstMonthOfFY,{startDate:v.endDate.startOf(u),endDate:v?.endDate}))}},[m]);const p=Ie(),g=p?.loggedInUserRole!=null&&Xt(p?.loggedInUserRole)!==!0;return i.jsx(Fo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isCompareModeOn:l,navigate:o,forecastIdFromUrlPath:r,analytics:S,hasTransactionAccess:g,reportsResyncFetchState:h.reportsResyncFetchState})},Po=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Oe(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}},Bo=Z(function(e){const a=Wt(e),t=_n(e),n=kn(e),o=yn(e),r=dt(e),{scrollPosition:s,...c}=r,u=N.getLocalizedStrings().reportTitleById.revenue,m=B.getSignedInUser(),C=e.tenantState.currentTenantId,b=j(e),h=b?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:C??""},d=e.entityAutoCompleteState.autoCompleteText.navbar,p=Q(e,"navbar"),g=ot(b);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:u},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:c,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:h,statementEndPoint:`${H}/statement`,authParams:l},analytics:S,isZeniUser:_e(m),autoCompleteData:{autoCompleteText:d,entityAutoCompleteView:p},isZeniCOAUsed:g,isAccountingClassesEnabled:st(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(In(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(re({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Se(t,n)),e(re({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(re({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ke(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ye(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(re({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Po(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,c=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?ht(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),u=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(c,{state:{pathnameStackToGoBack:u,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(re({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(re({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=F(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(ie(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:ft,n)),t==="forecast_mode"?(e(Ft({viewMode:"account_group"})),e(Qt(!1,n?.id)),n!=null&&K(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):K(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(re({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(Ft({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(vn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(Sn())},onResyncReports:()=>{e(rt("revenue_by_classes"))}}})(Ae),Ro=e=>{const a=V(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=k(d=>dt(d)),c=s.isForecastModeOn,u=s.timeframe,m=s.selectedForecast?.id,C=k(d=>ct(d.forecastState,m??"")),b=k(d=>Wt(d)).dataAvailable,h=s.mode==="compare_mode",l=k(d=>it(d));return _.useEffect(()=>{if(m!=null&&c===!0&&(K(c,r,m,o),C!=null)){const d=C?.forecastPeriod,p=b!=null&&d.endDate.isAfter(b?.endDate)===!0?b:d;a(te(e.firstMonthOfFY,{startDate:p.endDate.startOf(u),endDate:p?.endDate}))}},[m]),i.jsx(Bo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isCompareModeOn:h,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:S,reportsResyncFetchState:l.reportsResyncFetchState})},jo=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}},Lo=Z(function(e){const a=An(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=Q(e,"navbar");return{report:a,analytics:S,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}},function(e,a){return{onTimeframeSelectionChanged:t=>{S.trackTimeframeSwitch(ua(t),"Top Expenses"),e(ea(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=jo(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const c=me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),u=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(c,{state:{pathnameStackToGoBack:u,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(Wn),Mo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return i.jsx(Lo,{tenantEmailDomain:a,location:t,navigate:n})},Uo=pt.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
- `,le=3,ft=1;function Yo({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=q(),r=$(),{tenantEmailDomain:s}=G();let c;const u={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":c=i.jsx(Oo,{...u});break;case"revenue":c=i.jsx(Ro,{...u});break;case"net_burn_or_income":c=i.jsx(xo,{...u});break;case"cash_position":c=i.jsx(Eo,{...u});break;case"top_expenses":c=i.jsx(Mo,{...u});break;case"cash_in_cash_out":c=i.jsx(vo,{...u});break;default:console.error(`${t} is not supported!`),c=null}return c!=null?i.jsx(Uo,{children:c}):null}function X(){const e=$(),a=V(),{forecastId:t}=G();let n="Not-Started";const o=k(l=>lt(l).fetchState),r=k(l=>dt(l).fetchState),s=k(l=>nt(l).fetchState),c=k(l=>l.cashPositionState.fetchState),u=k(l=>l.topExState.fetchState),m=k(l=>l.cashInCashOutState.fetchState);if(B.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const C=k(l=>j(l)),b=C?.company?.companyInfo?.firstMonthOfFY??1,h=Yt((l=>{const d=Kt(l,"/").split("/");return t!=null?d[d.length-3]:d[d.length-1]})(e.pathname));switch(h){case"operating_expenses":n=o;break;case"revenue":n=r;break;case"net_burn_or_income":n=s;break;case"cash_position":n=c;break;case"top_expenses":n=u;break;case"cash_in_cash_out":n=m;break;default:console.error(`${h} is not supported!`)}return _.useEffect(()=>{n==="Not-Started"&&function(l,d,p,g){switch(d){case"operating_expenses":l(ra(!0)),g!=null&&(l(ie(p,!0,le,{id:g,index:0})),l(Jt(!1,g)));break;case"revenue":l(sa(!0)),g!=null&&(l(ie(p,!0,le,{id:g,index:0})),l(Qt(!1,g)));break;case"net_burn_or_income":l(oa(!0)),g!=null&&(l(ie(p,!0,le,{id:g,index:0})),l(Zt(!1,g)));break;case"cash_position":l(na(!0));break;case"top_expenses":l(aa());break;case"cash_in_cash_out":l(ta());break;default:throw new Error(`report type ${d} is not yet supported`)}}(a,h,b,t)},[t]),i.jsxs(i.Fragment,{children:[n==="Completed"?i.jsx(ve,{analytics:S,onLoad:l=>((d,p)=>{const g=e.state?.referrer;switch(p){case"operating_expenses":d.trackPageLoaded(Y.Event.operatingExpenses,g);break;case"revenue":d.trackPageLoaded(Y.Event.revenues,g);break;case"net_burn_or_income":d.trackPageLoaded(Y.Event.burnRate,g);break;case"cash_position":d.trackPageLoaded(Y.Event.cashPosition,g);break;case"top_expenses":d.trackPageLoaded(Y.Event.topExpenses,g);break;case"cash_in_cash_out":d.trackPageLoaded(Y.Event.cashInCashOut,g);break;default:console.error(`Analytics: Not tracking Page Loaded for ${p}!`)}})(l,h)}):null,i.jsx(Yo,{firstMonthOfFY:b,fetchState:n,reportId:h,forecastId:t})]})}var qe=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function Ze(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),function(){t(window.event)})}function ha(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 fa(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,"-":qe?173:189,"=":qe?61:187,";":qe?59:186,"'":222,"[":219,"]":221,"\\":220},W={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},tt={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},P={16:!1,18:!1,17:!1,91:!1},O={},De=1;De<20;De++)gt["f".concat(De)]=111+De;var w=[],Pt=!1,ga="all",Bt=[],je=function(e){return gt[e.toLowerCase()]||W[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function Rt(e){ga=e||"all"}function be(){return ga||"all"}var He=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;fa(a).forEach(function(s){var c=s.split(r),u=c.length,m=c[u-1],C=m==="*"?"*":je(m);if(O[C]){t||(t=be());var b=u>1?ha(W,c):[];O[C]=O[C].filter(function(h){return!((!n||h.method===n)&&h.scope===t&&function(l,d){for(var p=l.length>=d.length?l:d,g=l.length>=d.length?d:l,f=!0,v=0;v<p.length;v++)g.indexOf(p[v])===-1&&(f=!1);return f}(h.mods,b))})}})};function jt(e,a,t,n){var o;if(a.element===n&&(a.scope===t||a.scope==="all")){for(var r in o=a.mods.length>0,P)Object.prototype.hasOwnProperty.call(P,r)&&(!P[r]&&a.mods.indexOf(+r)>-1||P[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||P[16]||P[18]||P[17]||P[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 Lt(e,a){var t=O["*"],n=e.keyCode||e.which||e.charCode;if(M.filter.call(this,e)){if(n!==93&&n!==224||(n=91),w.indexOf(n)===-1&&n!==229&&w.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach(function(d){var p=tt[d];e[d]&&w.indexOf(p)===-1?w.push(p):!e[d]&&w.indexOf(p)>-1?w.splice(w.indexOf(p),1):d==="metaKey"&&e[d]&&w.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(w=w.slice(w.indexOf(p))))}),n in P){for(var o in P[n]=!0,W)W[o]===n&&(M[o]=!0);if(!t)return}for(var r in P)Object.prototype.hasOwnProperty.call(P,r)&&(P[r]=e[tt[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(w.indexOf(17)===-1&&w.push(17),w.indexOf(18)===-1&&w.push(18),P[17]=!0,P[18]=!0);var s=be();if(t)for(var c=0;c<t.length;c++)t[c].scope===s&&(e.type==="keydown"&&t[c].keydown||e.type==="keyup"&&t[c].keyup)&&jt(e,t[c],s,a);if(n in O){for(var u=0;u<O[n].length;u++)if((e.type==="keydown"&&O[n][u].keydown||e.type==="keyup"&&O[n][u].keyup)&&O[n][u].key){for(var m=O[n][u],C=m.splitKey,b=m.key.split(C),h=[],l=0;l<b.length;l++)h.push(je(b[l]));h.sort().join("")===w.sort().join("")&&jt(e,m,s,a)}}}}function M(e,a,t){w=[];var n=fa(e),o=[],r="all",s=document,c=0,u=!1,m=!0,C="+",b=!1;for(t===void 0&&typeof a=="function"&&(t=a),Object.prototype.toString.call(a)==="[object Object]"&&(a.scope&&(r=a.scope),a.element&&(s=a.element),a.keyup&&(u=a.keyup),a.keydown!==void 0&&(m=a.keydown),a.capture!==void 0&&(b=a.capture),typeof a.splitKey=="string"&&(C=a.splitKey)),typeof a=="string"&&(r=a);c<n.length;c++)o=[],(e=n[c].split(C)).length>1&&(o=ha(W,e)),(e=(e=e[e.length-1])==="*"?"*":je(e))in O||(O[e]=[]),O[e].push({keyup:u,keydown:m,scope:r,mods:o,shortcut:n[c],method:t,key:n[c],splitKey:C,element:s});s!==void 0&&!function(h){return Bt.indexOf(h)>-1}(s)&&window&&(Bt.push(s),Ze(s,"keydown",function(h){Lt(h,s)},b),Pt||(Pt=!0,Ze(window,"focus",function(){w=[]},b)),Ze(s,"keyup",function(h){Lt(h,s),function(l){var d=l.keyCode||l.which||l.charCode,p=w.indexOf(d);if(p>=0&&w.splice(p,1),l.key&&l.key.toLowerCase()==="meta"&&w.splice(0,w.length),d!==93&&d!==224||(d=91),d in P)for(var g in P[d]=!1,W)W[g]===d&&(M[g]=!1)}(h)},b))}var Je={setScope:Rt,getScope:be,deleteScope:function(e,a){var t,n;for(var o in e||(e=be()),O)if(Object.prototype.hasOwnProperty.call(O,o))for(t=O[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;be()===e&&Rt(a||"all")},getPressedKeyCodes:function(){return w.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=je(e)),w.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(O).forEach(function(t){var n=O[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(O).forEach(function(s){return delete O[s]});else if(Array.isArray(e))e.forEach(function(s){s.key&&He(s)});else if(typeof e=="object")e.key&&He(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],r=t[1];typeof o=="function"&&(r=o,o=""),He({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:gt,modifier:W,modifierMap:tt};for(var Xe in Je)Object.prototype.hasOwnProperty.call(Je,Xe)&&(M[Xe]=Je[Xe]);if(typeof window<"u"){var Ko=window.hotkeys;M.noConflict=function(e){return e&&window.hotkeys===M&&(window.hotkeys=Ko),M},window.hotkeys=M}M.filter=function(){return!0};var Mt=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Vo(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,c=o.keyup,u=o.keydown,m=o.filterPreventDefault,C=m===void 0||m,b=o.enabled,h=b===void 0||b,l=o.enableOnContentEditable,d=l!==void 0&&l,p=_.useRef(null),g=_.useCallback(function(f,v){var E,R;return s&&!s(f)?!C:!!(Mt(f,["INPUT","TEXTAREA","SELECT"])&&!Mt(f,r)||(E=f.target)!=null&&E.isContentEditable&&!d)||!!(p.current===null||document.activeElement===p.current||(R=p.current)!=null&&R.contains(document.activeElement))&&(a(f,v),!0)},n?[p,r,s].concat(n):[p,r,s]);return _.useEffect(function(){if(h)return c&&u!==!0&&(t.keydown=!1),M(e,t||{},g),function(){return M.unbind(e,g)};M.unbind(e,g)},[g,e,h]),p}M.isPressed;const No=["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","zeni_accounts_promo_card","rewards_card","treasury_promo_card"],Go=(e,a,t,n,o)=>({card:{dimension:ut(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!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}),fe=(e,a,t,n,o)=>({card:{dimension:ut(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1},data:e}),zo=(e,a,t,n)=>fe(void 0,e,ge,a,t),$o=(e,a,t,n,o)=>({card:{dimension:ut(ge),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1},data:{funds:n,hasUserSeenVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),qo=Z(function(e,a){const t=Jo(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:c,treasuryFundDetails:u,hasUserSeenTreasuryVideo:m,treasuryFetchState:C}=a;let b=n.map((h,l)=>{if(h==="reimbursement_promo_card"||h==="bill_pay_promo_card")return zo(t,h,l);if(h==="zeni_promo_card")return fe({isExpressedInterest:r,creditLimit:s,cashbackRate:c,fetchState:"Completed"},a.cardBalanceFetchState,ge,h,l);if(h==="treasury_promo_card")return $o(C,h,l,u,m);if(h==="information_card")return fe(void 0,"Completed",ge,h,l);{const d=o.find(p=>p?.reportId===h);return d?function(p,g,f,v){const E=p.reportId;switch(E){case"card_balance":case"cash_balance":return[Go(p,g,f,E,v)];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"zeni_accounts_promo_card":case"rewards_card":return[fe(p,g,f,E,v)];case"net_burn_or_income_story_card":return[fe(p,g,f,"net_burn_or_income_story_card",v)];default:return console.error(`card type ${E} not yet supported!`),[]}}(d,d.fetchState,ge,l):[]}}).flat();return a.isSummaryCardsFiltered===!0&&(b=b.filter(h=>No.includes(h.card.cardType)==0).filter(h=>{const l=h.data?.availableNumberOfPeriods;return l!=null?l>0:h.card.cardType!="top_expenses"||h.data==null||function(d){if(d==null||d.length===0)return!0;let p=!0;for(const g of d)if(g.balance.available.amount!==0){p=!1;break}return p}(h.data.topExpenses.accountsOrdered)===!1})),{cardDataArray:b,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:Q(e,"navbar")},analytics:S,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}},function(e,a){const t=a.tenantId,n=B.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,c)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&c!=null)S.trackDashboardCardClicked("cards promo",2),S.trackZeniCardsPromoCardClicked(a.isChargeCardFeatureEnabled,c,2,`${n?.firstName??""} ${n?.lastName??""}`,a.isChargeCardFeatureEnabled?a.cardsCreditLimit:void 0),c==="Learn More"?window.open("https://www.zeni.ai/product/business-credit-card","_blank"):a.navigate("../cards/promo",{relative:"path"});else if(a.isForecastOn)switch(r){case"net_burn_or_income":case"operating_expenses":case"revenue":a.navigate(`${r}/forecast/${a.selectedForecastOnDashboard}`,{state:{referrer:s}});break;default:a.navigate(`${r}`,{state:{referrer:s}})}else r==="rewards_card"?(n!=null&&S.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(S.trackMonthEndCloseClicked(a.selectedPeriod.month,a.selectedPeriod.year,"Dashboard"),a.navigate("../../month_end_close_checks/review",{state:{referrer:"Dashboard"}})):a.navigate(`${r}`,{state:{referrer:s}})},onReloadData:(o,r)=>{const s=[];a.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),a.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),a.isZeniAccountEnabled===!1&&s.push("zeni_accounts_promo_card"),a.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),function(c,u,m,C){switch(u){case"card_balance":c(Gt());break;case"cash_balance":c(Vt());break;case"operating_expenses":c(ra(!0));break;case"revenue":c(sa(!0));break;case"net_burn_or_income":c(oa(!0));break;case"net_burn_or_income_story_card":c(Gn(!0));break;case"cash_position":c(na(!0));break;case"top_expenses":c(aa());break;case"cash_in_cash_out":c(ta());break;case"insights_dashboard":c(Nn());break;case"bill_pay_card":c(Vn());break;case"reimbursement_card":c(Kn());break;case"company_details":c(Yn(m));break;case"task_card":c(Un());break;case"accounts_payable_aging":C.includes("accounts_payable_aging")===!1&&c(Qe(de()));break;case"accounts_receivable_aging":c(et(de()));break;case"zeni_accounts_promo_card":C.includes("zeni_accounts_promo_card")===!1&&c(Nt());break;case"rewards_card":C.includes("rewards_card")===!1&&c(Mn(!0));break;default:throw new Error(`report type ${u} is not yet supported`)}}(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{S.trackTimeframeSwitch(ua(r),Ho(o),"Dashboard"),function(s,c,u){switch(c){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(ue(u));break;case"top_expenses":s(ea(u));break;default:throw new Error(`report type ${c} doesn't support changeTimeframe`)}}(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(Ln(o))},onCategoryClick:(o,r,s)=>{o==="bill-pay"?a.navigate("../bills",{state:{tab:r,subTab:s},relative:"path"}):o==="reimbursement"?a.navigate("../reimbursements",{state:{tab:r,subTab:s},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,r)=>{if(o==="bill_pay_promo_card"){const s="../bills",c=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:c},relative:"path"})}else if(o==="reimbursement_promo_card"){const s="../reimbursements",c=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:c},relative:"path"})}else if(o==="zeni_accounts_promo_card")if(a.hasZeniAccountsAdminAccess){let s="../checking/promo";r!=null&&(s=`../checking/${r}`);const c=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:c},relative:"path"})}else window.open("https://www.zeni.ai/product/business-checking-accounts","_blank");else if(o==="treasury_promo_card")if(a.isUserHasTreasuryAccess){B.saveTreasuryPopupSeen(a.tenantEmailDomain,!0);const s="../treasury",c=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:c},relative:"path"})}else window.open("https://www.zeni.ai/product/treasury","_blank")},onSaveClick:(o,r,s)=>{o==="net_burn_or_income_story_card"&&(S.trackUpdateBurnRateCalculatorSettings(r,s,Rn(s)),e(jn(t,r,s)))},onVideoPlay:()=>{e(Bn())},onVideoClose:()=>{e(Pn())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(ee({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(z("navbar"))},onCancelAutoComplete:()=>{e(z("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?ae(o,a.tenantEmailDomain):so(o.zeniId,o.qboId,a.tenantEmailDomain);const s=F(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}})(oo);function Zo(){const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Pe(),t=q(),n=V(),o=$(),r=B.getSignedInUser(),{useFeatureGate:s,useDynamicConfig:c}=mt(),u=_e(r),[m,C]=_.useState(!1),[b,h]=_.useState(!1),l=Qn(),{tenantEmailDomain:d}=G(),{isAiCfoAccessEnabled:p,onAskAiCfoClick:g}=Be({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"Dashboard"}),f=k(y=>y.tenantState.fetchState==="Completed"||y.tenantState.activeTenantFetchState.fetchState==="Completed"?j(y):void 0),v=f??B.getSignedInUserTenant(d),E=v.tenantId,R=v.companyId;_.useEffect(()=>{m===!1&&o.state?.message==="activation"&&(n(En(R)),C(!0))},[o.state,m,R,n]),_.useEffect(()=>{l&&!b&&o.state?.message==="open_ai_cfo_drawer"&&(a(!0),h(!0),t(o.pathname,{replace:!0,state:{...o.state,message:void 0}}))},[o.state,b,l,a,t,o.pathname]);const{isFeatureEnabled:A}=s(L.isApAgingFeatureEnabled),{isFeatureEnabled:I}=s(L.isExpenseAutomationEnabled),{isFeatureEnabled:x}=s(L.isExpenseAutomationEnabledV2),T=x||I&&u,{isFeatureEnabled:J}=s(L.isTreasuryEnabled),Le=eo(T),{isFeatureEnabled:bt}=s(L.isArAgingFeatureEnabled),{isFeatureEnabled:Ct}=s(L.isDepositAccountsFeatureEnabled),{isFeatureEnabled:_t}=s(L.isReferralFeatureEnabled),{isFeatureEnabled:ba}=s(L.isChargeCardFeatureEnabled),{isFeatureEnabled:Ca}=s(L.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:_a}=s(L.isDashboardSidebarNewYearAnimationEnabled),{configValue:kt}=c(to.zeniCardsConfig),ka=kt.charge_card_cashback_rate_per_transaction==null?.0175:kt.charge_card_cashback_rate_per_transaction;if(o.state?.message==="activation"){const y=ao(o.state?.pathnameStackToGoBack);t(o.pathname,{state:{...o.state,message:void 0,pathnameStackToGoBack:y.newStack}})}const[yt,ya]=_.useState(!1),[Me,Sa]=_.useState(!1);Vo("command+p, Control+p",y=>{Sa(!Me),y.preventDefault()},{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[Me]);const St=f?.externalConnections?.accounting[0]?.isValid;if(r==null)throw Error("Can't access dashboard without signing in...");const ne=k(y=>j(y)?.excludedResources),va=k(y=>y.expenseAutomationViewState.selectedPeriodByTenantId),Ia=!!f?.companyReimbursementInfo?.info?.isReimbursementEnabled,Aa=!!f?.companyBillPayInfo?.info?.isBillPayEnabled,Ea=k(y=>y.treasurySetupViewState.treasuryFundsDetails).fetchStatus.fetchState,Ta=f?.company!=null&&Tn(f.company),Ue=J&&Ta,Ye=Ie(),wa=at(Ye?.loggedInUserRoleMap),U=[],vt=ne?.resources?.find(y=>y.resource==="/reports/top_expenses")==null,xa=ne?.resources?.find(y=>y.resource==="/reports/task_card")==null,Ke=f?.userRole!=null&&Xt(f?.userRole),Da=ne?.resources?.find(y=>y.resource==="/bills")==null&&!Ke,Fa=ne?.resources?.find(y=>y.resource==="/reimbursements")==null,Oa=wn(Ye?.loggedInUserRoleMap),Pa=xn(Ye?.loggedInUserRoleMap),Ba=f?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,Ra=f?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,ja=k(y=>y.treasurySetupViewState.treasuryFundsDetails).fundsDetails;vt===!1&&U.push("top_expenses"),xa===!1&&U.push("task_card"),Da===!1&&U.push("bill_pay_card","bill_pay_promo_card"),A===!1&&U.push("accounts_payable_aging"),bt===!1&&U.push("accounts_receivable_aging"),(T===!1||Ke)&&U.push("expense_automation_card"),Fa===!1&&U.push("reimbursement_card","reimbursement_promo_card"),Ct===!1&&U.push("zeni_accounts_promo_card"),_t===!1&&U.push("rewards_card"),Ue===!1&&U.push("treasury_promo_card");const{areTenantIdsInSync:It}=no();_.useLayoutEffect(()=>{yt&&Le===T||St!==!0||!It||ne?.fetchState!=="Completed"&&ne?.fetchState!=="Error"||(ya(!0),n(Dn(r.userId,R,E,!0,!1,U)))},[yt,r,E,n,vt,St,ne?.fetchState,It]);const La=k(y=>y.reportUIOptionsState.forecastOnDashboard.isForecastModeOn),Ma=k(y=>y.revenueState.uiState.selectedForecast?.id),Ua=k(y=>y.cardBalanceState.fetchState),ce=k(y=>Fn(y,U,r,x,I,Ue)),Ya=ce.fetchState;Re({isDataReady:!0});const At=f?.isTreasuryVideoViewed===!0||ce.isTreasuryVideoClosed===!0;return i.jsxs(i.Fragment,{children:[Ya==="Completed"?i.jsx(ve,{analytics:S,onLoad:y=>{y.trackPageLoaded(Y.Event.dashboard),Ue&&!At&&y.trackTreasuryPromoView("Dashboard Promo Video")}}):null,i.jsx(qo,{maxColumns:e?2:void 0,isAiCfoAccessEnabled:p,onAskAiCfoClick:g,onDragAndDropCard:(y,Ka)=>{const Et=function(Ee,Ve,Te){const Ne=Te.indexOf(Ee),Ge=Te.indexOf(Ve);if(Ne===-1||Ge===-1||Ne===Ge)return Te;const ze=[...Te];return ze.splice(Ne,1),ze.splice(Ge,0,Ee),ze}(y,Ka,ce.cardsOrdered);Et.some((Ee,Ve)=>Ee!==ce.cardsOrdered[Ve])&&n(On(Et))},dashboardReport:ce,passedCardsOrdered:ce.cardsForDashboardUI,tenantId:E,companyId:R,tenantEmailDomain:d,location:o,navigate:t,isApAgingFeatureEnabled:A,isArAgingFeatureEnabled:bt,isBillPayEnabled:Aa,isReimbursementEnabled:Ia,isSummaryCardsFiltered:Me,isForecastOn:La,selectedForecastOnDashboard:Ma,isVisitingFirstTime:m,isZeniAccountEnabled:Ct,isRewardsFeatureEnabled:_t,hasZeniAccountsAdminAccess:wa,isExpenseAutomationEnabledForUser:T&&Ke===!1,selectedPeriod:va[E],isChargeCardFeatureEnabled:ba,isUserHasCardsAccess:Oa,isUserHasTreasuryAccess:Pa,cardsCreditLimit:Ba,cashbackRate:ka,isInterestedInChargeCard:Ra,cardBalanceFetchState:Ua,christmasAnimationEnabled:Ca,newYearAnimationEnabled:_a,treasuryFundDetails:ja,hasUserSeenTreasuryVideo:At,treasuryFetchState:Ea})]})}const Ho=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"},Jo=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map(a=>a.fetchState).reduce((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t);function Is(){const e=Ie(),a=e?.excludedResources?.find(m=>m.resource==="/reports/top_expenses")==null,{useFeatureGate:t}=mt(),{isFeatureEnabled:n}=t(L.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(L.isArAgingFeatureEnabled),r=k(m=>j(m)),{isFeatureEnabled:s}=t(L.isDebitCardFeatureEnabled),c=zn(s,r),u=$n(r);return c===!0||u===!0?i.jsx(We,{children:i.jsx(D,{path:"/*",element:i.jsx(co,{})})}):i.jsxs(We,{children:[i.jsx(D,{path:"/",element:i.jsx(Zo,{})}),i.jsx(D,{path:"cash_balance/*",element:i.jsx(Ot,{})}),i.jsx(D,{path:"card_balance/*",element:i.jsx(Ot,{})}),i.jsx(D,{path:"operating_expenses/*",element:i.jsx(X,{})}),i.jsx(D,{path:"operating_expenses/forecast/*",element:i.jsx($e,{})}),i.jsx(D,{path:"revenue/forecast/*",element:i.jsx($e,{})}),i.jsx(D,{path:"revenue/*",element:i.jsx(X,{})}),i.jsx(D,{path:"net_burn_or_income/forecast/*",element:i.jsx($e,{})}),i.jsx(D,{path:"net_burn_or_income/*",element:i.jsx(X,{})}),n===!0&&i.jsxs(i.Fragment,{children:[i.jsx(D,{path:"accounts_payable_aging/*",element:i.jsx(uo,{})}),i.jsx(D,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:i.jsx(lo,{})})]}),o&&i.jsxs(i.Fragment,{children:[i.jsx(D,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:i.jsx(mo,{})}),i.jsx(D,{path:"accounts_receivable_aging/*",element:i.jsx(po,{})})]}),i.jsx(D,{path:"cash_position/*",element:i.jsx(X,{})}),i.jsx(D,{path:"top_expenses/*",element:a===!0?i.jsx(X,{}):i.jsx(Ce,{})}),i.jsx(D,{path:"cash_in_cash_out/*",element:i.jsx(X,{})}),i.jsx(D,{path:"company_details",element:i.jsx(ro,{})}),i.jsx(D,{path:"referrals/*",element:i.jsx(io,{})}),i.jsx(D,{path:"*",element:i.jsx(Ce,{})})]})}export{Is as default};
@@ -1 +0,0 @@
1
- import{j as v}from"./liveblocks-CQd3J_Jz.js";import{a as u}from"./sentry-BO53Tmje.js";import{h as y,g as b,k as w,u as A,N as k}from"./core-CHx9v1R3.js";import{Ic as N,eM as _,fj as U,Id as L,mh as R,Ie as z}from"./zeni-epic-state-T7UkKQQw.js";import{u as j,z as f,L as T,t as S,D as O,b as $}from"./index-Dq9jqf2N.js";import"./mui-B5MJXy46.js";import{t as P}from"./getLocaleForTenant-NjEbUk_c.js";import"./recharts-nKX4-UUs.js";import"./analytics-DuZD1FBf.js";import"./plaid-CcgrQve1.js";import"./dnd-Ci4anwe2.js";import"./stripe-DMRn4zHo.js";import"./lottie-Dnly7PBz.js";import"./lexical-DQpmcVQ9.js";import"./pdf-DYwn2DuC.js";import"./utils-DpJstXha.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},s=new t.Error().stack;s&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[s]="6edb8790-83dc-44ea-9d73-f957931ec959",t._sentryDebugIdIdentifier="sentry-dbid-6edb8790-83dc-44ea-9d73-f957931ec959")}catch{}})();const Q=w(function(t){return{fetchState:t.tenantState.fetchState,activeTenantFetchState:t.tenantState.activeTenantFetchState.fetchState,currentTenant:_(t),tenantsInOrder:z(t).tenantsInOrder}})(function({fetchState:t,activeTenantFetchState:s,currentTenant:o,tenantsInOrder:h}){const r=A(),p=new URLSearchParams(r.search);if(o==null||t!=="Completed"&&s!=="Completed")return null;{let m="";const n=h.map(l=>l.tenantEmailDomain),i=r.state?.origin,a=r.state?.queryParams;let c=`../${o.tenantEmailDomain}`,d=null,e=!1,g=null,I=null;const C=E(r.pathname);if(C!=null)c=`../${o.tenantEmailDomain}/${C}`,m="comingFromV2UrlPath",C==="ai-cfo/explore"&&(d=p.get("question")?.replace(/^["']|["']$/g,"")??null,e=p.get("should_submit")==="true");else if(i!=null)if(n.reduce((l,F)=>l||i.split("/").find(D=>D===F)!=null,!1))c=i,i.includes("ai-cfo")&&a!=null&&(g=a.aiCfoRef??null,I=a.aiCfoEmailRefId??null);else{const l=E(i);l!=null?(c=`../${o.tenantEmailDomain}/${l}`,m="comingFromV2UrlPath",l==="ai-cfo/explore"&&a!=null&&(a.aiCfoQuestion!=null&&(d=a.aiCfoQuestion),a.aiCfoShouldSubmit==="true"&&(e=!0))):console.warn("Don't have access to previous path tenant!")}const x=$(c,p);return v.jsx(k,{to:x,replace:!0,state:{...r.state,origin:"",message:m,aiCfoInitialQuestion:d,aiCfoShouldSubmit:e,aiCfoRef:g,aiCfoEmailRefId:I}})}});function oe(){const t=y(),{setLoading:s,clearAllLoading:o}=j(),h=u.useRef(!1),r=u.useRef(!1),p=u.useRef(null),m=b(e=>N(e)),n=b(e=>e.tenantState.fetchState),i=b(e=>e.tenantState.error),a=b(e=>e.tenantState.activeTenantFetchState.fetchState),c=b(e=>_(e)),d=f.getSignedInUser();return u.useLayoutEffect(()=>{const e=f.getActiveTenantForUser()?.tenantId??null;p.current!==e&&(p.current=e,h.current=!1,r.current=!1,s(T.TENANT_FETCHING)),!h.current||a!=="Completed"&&a!=="Error"||(h.current=!1),!r.current||n!=="Completed"&&n!=="Error"||(r.current=!1)},[a,n]),u.useEffect(()=>{const e=f.getActiveTenantForUser()?.tenantId;h.current===!1&&d!=null&&e!=null&&S.shouldFetchActiveTenant(e)&&(h.current=!0,S.markActiveTenantFetchStarted(e),n==="Completed"||a!=="Not-Started"&&a!=="Error"||(s(T.TENANT_FETCHING),t(U(d.userId,e))))},[n,a,d,t]),u.useEffect(()=>{const e=f.getSignedInUser(),g=f.getActiveTenantForUser()?.tenantId,I=g==null||a==="Completed"||a==="Error";r.current===!1&&e!=null&&I&&S.shouldFetchAllTenants()&&(r.current=!0,S.markAllTenantsFetchStarted(),(n==="Not-Started"||n==="Error"&&!L(i))&&t(R(e.userId)))},[n,a,i,d,t]),u.useEffect(()=>{f.isSignedIn()&&n==="Completed"&&m.tenantsCoreDetailsInOrder.length>0&&(f.saveSignedInUserTenants(m.tenantsCoreDetailsInOrder),o())},[m.tenantsCoreDetailsInOrder,n]),u.useEffect(()=>{!f.isSignedIn()||n!=="Completed"&&a!=="Completed"||c==null||(O.updateAppLocaleID(P(c)),o())},[n,a,c]),v.jsx(Q,{})}const q=["dashboard/cash-balance","dashboard/card-balance","dashboard/operating-expenses","dashboard/revenue","dashboard/burn-rate","dashboard/cash-position","dashboard/top-expenses","dashboard/cash-in-cash-out","dashboard","reports","forecast","uncategorized-expense","uncategorized-income","missing-receipts","bills","cards/activate","cards","reimbursements","wise","checking","aicfo"],G={"dashboard/cash-balance":"dashboard/cash_balance","dashboard/card-balance":"dashboard/card_balance","dashboard/operating-expenses":"dashboard/operating_expenses","dashboard/revenue":"dashboard/revenue","dashboard/burn-rate":"dashboard/net_burn_or_income","dashboard/cash-position":"dashboard/cash_position","dashboard/top-expenses":"dashboard/top_expenses","dashboard/cash-in-cash-out":"dashboard/cash_in_cash_out",dashboard:"dashboard",reports:"reports",forecast:"forecast","uncategorized-expense":"transactions/uncategorized-expense","uncategorized-income":"transactions/uncategorized-income","missing-receipts":"transactions/missing-receipts",bills:"bills",reimbursements:"reimbursements","cards/activate":"cards/activate",cards:"cards",wise:"bills/wise/callback/link-account",checking:"checking",aicfo:"ai-cfo/explore"};function E(t){for(const s of q)if(t.toLocaleLowerCase().includes(s))return G[s]}export{oe as default};
@@ -1,18 +0,0 @@
1
- import{j as l}from"./liveblocks-CQd3J_Jz.js";import{j as w,u as C,g as h,k as A,l as B}from"./core-CHx9v1R3.js";import{Ma as k,Mh as _,fA as J,fz as q,fy as L,ii as W,Ji as K,ps as Q,eM as V,LI as D,ig as T,Mb as v,Mk as F,id as G,iC as j}from"./zeni-epic-state-T7UkKQQw.js";import{bj as X,J as R,i as N,z as U,h as M,q as p,s as S,B as z,bk as Y,o as O,bl as ee,v as ae}from"./index-Dq9jqf2N.js";import{n as Z}from"./mui-B5MJXy46.js";import"./sentry-BO53Tmje.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]="acaef878-aac3-4311-a462-afbdca4232da",e._sentryDebugIdIdentifier="sentry-dbid-acaef878-aac3-4311-a462-afbdca4232da")}catch{}})();const te=A(null,function(e,a){return{onSaveVendor:t=>{e(W(a.vendorId!==void 0?a.vendorId:void 0,a.billId,void 0,a.isExpressPayPage)),e(K("common")),t!=null&&e(Q(t))},onGetOtp:t=>{e(L(t,"BillPayVendor"))},onResendOtp:t=>{e(q(t,"BillPayVendor"))},onVerifyOtp:(t,n)=>{e(J(t,n,"BillPayVendor"))},onVerifyOtpSuccess:(t,n,o)=>{e(_(t,n,o))}}})(X);function H({vendorId:e,billId:a,isExpressPayPage:t}){const n=w(),o=C(),s=h(c=>k(c,e));return l.jsx(te,{location:o,navigate:n,vendorId:e,billId:a,vendorViewDetails:s,isExpressPayPage:t??!1})}const ne=Z.div`
2
- display: flex;
3
- height: 100vh;
4
- width: 100%;
5
- flex: 1 1 auto;
6
- flex-direction: column;
7
- align-items: center;
8
- background-color: ${e=>e.theme.colors.grey4};
9
- `,oe=A(function(e,a){const{vendorId:t,billId:n}=a,o=k(e,t),s=D(e,a.isVendorRecommendationEnabled,a.isZeniAccountsFeatureEnabled,n);return{billId:n,isDisabled:o.bankAccountCreationState.fetchState==="In-Progress"?"readonly":void 0,vendorViewDetails:o,file:s.file,bankAccountContext:a.bankAccountContext}},function(e,a){const{navigate:t,location:n,vendorId:o}=a;return{onFetchBankName:s=>{e(j(s))},onSaveHandler:s=>{e(G(a.bankAccountContext,s,"standard",o))},onCancel:()=>{(()=>{const s=p(n.state?.pathnameStackToGoBack),c=s.poppedPathname??P();t(c,{state:{pathnameStackToGoBack:s.newStack}})})(),e(v())},onACHDetailsUpdated:s=>{const{bankAccountSection:c}=s;e(F({data:c}))},onBackClick:()=>{if(e(T({fetchState:"Not-Started"})),a.bankAccountContext==="express-pay")t("../",{relative:"path"});else{const s=p(a.location.state?.pathnameStackToGoBack),c=s.poppedPathname??P(0);a.navigate(c,{state:{pathnameStackToGoBack:s.newStack}})}e(v())}}})(Y);function fe({vendorIdParam:e,accountContext:a}){const t=w(),n=C(),o=R(),{vendorId:s,billId:c}=B(),d=e??s,{useFeatureGate:i}=N(),r=U.getSignedInUser(),b=h(u=>V(u)),g=M(),I=p(n.state?.pathnameStackToGoBack),f=a??(I.poppedPathname?.includes("vendor")===!0?"vendor":"billDetail"),m=h(u=>k(u,d)),{isFeatureEnabled:x}=i(S.isVendorRecommendationFeatureEnabled),{isFeatureEnabled:y}=i(S.isDepositAccountsFeatureEnabled);if(r==null)throw Error("Can't access address page without signing in...");return f==="billDetail"&&m.editVendorState?.saveStatus.fetchState==="In-Progress"?l.jsx(z,{fetchState:m.editVendorState?.saveStatus.fetchState??"Not-Started",style:{backgroundColor:g.colors.grey5}}):l.jsxs(ne,{windowSize:o,children:[l.jsx(H,{vendorId:d,billId:c}),l.jsx(oe,{location:n,navigate:t,billId:c,vendorId:d,currentTenant:b,bankAccountContext:f,isVendorRecommendationEnabled:x,isZeniAccountsFeatureEnabled:y})]})}const P=(e=2)=>{let a="../";for(let t=0;t<e;t++)a=`${a}../`;return a},me=(e,a,t)=>{let n=`/${e}/bill/${encodeURIComponent(a)}`;return t=="draft"&&(n+="/edit"),n},he=e=>`/${e}/bills`,ke=(e,a)=>{let t=`/${e}/bill`;return t=a!=null?t.concat(`/${a}/edit`):t.concat("/new"),t},E=(e,a,t,n)=>{let o=`/${e}/bill`;return o+=t!=null?`/${t}/edit/vendor`:"/new/vendor",o+=n!=null?`/${n}/edit/${a}`:`/create/${a}`,o};function ve(e,a,t){return E(e,"ach",a,t)}function Se(e,a,t){return E(e,"domestic",a,t)}function ge(e,a,t){return E(e,"international",a,t)}const se=(e,a,t)=>{let n=`/${e}/bill/`;return n=t!=null?n.concat(`${encodeURIComponent(t)}/${a}/`):n.concat(`new/${a}/`),n},ie=Z.div`
10
- display: flex;
11
- height: 100vh;
12
- width: 100%;
13
- flex: 1 1 auto;
14
- flex-direction: column;
15
- align-items: center;
16
- background-color: ${e=>e.theme.colors.grey4};
17
- box-shadow: ${e=>`0px 2px ${O.sp1} ${e.theme.colors.dropShadowNormal}`};
18
- `,ce=A(function(e,a){const{vendorId:t,billId:n}=a,o=k(e,t),s=D(e,a.isVendorRecommendationEnabled,a.isZeniAccountsFeatureEnabled,n);return{billId:n,isDisabled:o.bankAccountCreationState.fetchState==="In-Progress"?"readonly":void 0,vendorViewDetails:o,file:s.file,bankAccountContext:a.bankAccountContext}},function(e,a){const{billId:t,navigate:n,location:o,vendorId:s,currentTenant:c}=a,{tenantEmailDomain:d}=c;return{onFetchBankName:i=>{e(j(i))},onSaveHandler:i=>{e(G(a.bankAccountContext,i,"us-domestic",s))},onWireDetailsUpdated:i=>{const{bankAccountSection:r}=i;e(F({data:r}))},onCancel:()=>{(()=>{const i=p(o.state?.pathnameStackToGoBack),r=i.poppedPathname??$();n(r,{state:{pathnameStackToGoBack:i.newStack}})})(),e(v())},onAddressClick:i=>{if(a.bankAccountContext==="express-pay")n("./add-address");else{const r=se(d,i,t),b=ae(o.state?.pathnameStackToGoBack,o.pathname);n(r,{state:{pathnameStackToGoBack:b}})}},onBackClick:()=>{if(e(T({fetchState:"Not-Started"})),a.bankAccountContext==="express-pay")n("../",{relative:"path"});else{const i=p(a.location.state?.pathnameStackToGoBack),r=i.poppedPathname??$(0);a.navigate(r,{state:{pathnameStackToGoBack:i.newStack}})}e(v())}}})(ee);function Ie({vendorIdParam:e,accountContext:a}){const t=w(),n=C(),o=R(),{vendorId:s,billId:c}=B(),d=e??s,i=U.getSignedInUser(),{useFeatureGate:r}=N(),b=M(),g=h(u=>V(u)),I=p(n.state?.pathnameStackToGoBack),f=a??(I.poppedPathname?.includes("vendor")===!0?"vendor":"billDetail"),m=h(u=>k(u,d)),{isFeatureEnabled:x}=r(S.isVendorRecommendationFeatureEnabled),{isFeatureEnabled:y}=r(S.isDepositAccountsFeatureEnabled);if(i==null)throw Error("Can't access address page without signing in...");return f==="billDetail"&&m.editVendorState?.saveStatus.fetchState==="In-Progress"?l.jsx(z,{fetchState:m.editVendorState?.saveStatus.fetchState??"Not-Started",style:{backgroundColor:b.colors.grey5,boxShadow:`0px 2px ${O.sp1} ${b.colors.dropShadowNormal}`}}):l.jsxs(ie,{windowSize:o,children:[l.jsx(H,{vendorId:d,billId:c}),l.jsx(ce,{location:n,navigate:t,billId:c,vendorId:d,currentTenant:g,bankAccountContext:f,isVendorRecommendationEnabled:x,isZeniAccountsFeatureEnabled:y})]})}const $=(e=2)=>{let a="../";for(let t=0;t<e;t++)a=`${a}../`;return a};export{fe as A,Ie as D,H as V,me as a,se as b,ke as c,Se as d,he as g,ge as i,ve as v};