@zeniai/web-app-ui 5.0.97-qa → 5.0.98-qa

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/dist/assets/AddressRoutes-CZnINFd1.js +1 -0
  2. package/dist/assets/AddressScreen-CWbRsmbp.js +9 -0
  3. package/dist/assets/AiCfoScreen-ByJaMYdf.js +22 -0
  4. package/dist/assets/{BillPayApprovalRoutes-DlCGbj_q.js → BillPayApprovalRoutes-B3i4J9uo.js} +1 -1
  5. package/dist/assets/{BillPayRoutes-Bmk03u7F.js → BillPayRoutes-6NMIykXi.js} +34 -34
  6. package/dist/assets/BusinessVerificationPageScreen-CKWDQbki.js +9 -0
  7. package/dist/assets/ChargeCardRoutes-CuET-m0-.js +71 -0
  8. package/dist/assets/CompanyPassportScreen-gi1zQDQy.js +1 -0
  9. package/dist/assets/ConnectionAuthScreen-De-vuICZ.js +11 -0
  10. package/dist/assets/CustomerOnboardingAuthScreen-Cm9qzjcw.js +1 -0
  11. package/dist/assets/CustomerOnboardingRoutes-3ZdetMQC.js +23 -0
  12. package/dist/assets/DashboardRoutes-B4iMdus4.js +20 -0
  13. package/dist/assets/{DefaultTenantHome-9LtjtS-P.js → DefaultTenantHome-CmtmKMal.js} +1 -1
  14. package/dist/assets/DomesticWireDetailScreen-i5P7thz2.js +18 -0
  15. package/dist/assets/DrawerScreen-8pLwC76h.js +1 -0
  16. package/dist/assets/EntityDetailRoutes-Dr3SOu7N.js +1 -0
  17. package/dist/assets/ExpenseAutomationRoutes-TQM73kS9.js +25 -0
  18. package/dist/assets/FeaturePreviewScreen-C1MJa7gv.js +1 -0
  19. package/dist/assets/HubSpotOAuthCallbackScreen-B7ampOQu.js +1 -0
  20. package/dist/assets/{MagicLinkRoutes-Bo-iEeWZ.js → MagicLinkRoutes-NEjpbABr.js} +10 -10
  21. package/dist/assets/MagicLinkSignInScreen-CosgA8eP.js +12 -0
  22. package/dist/assets/MobileAppDrawer-n526oWrk.js +1 -0
  23. package/dist/assets/NotFoundScreen-Brpo5hIh.js +1 -0
  24. package/dist/assets/NotificationRoutes-VqdMKuyJ.js +1 -0
  25. package/dist/assets/OAuthConsentScreen-BB710FHj.js +1 -0
  26. package/dist/assets/PandLWithForecastRoutes-ZxQLGrNQ.js +1 -0
  27. package/dist/assets/PeopleRoutes-CAPFlXeC.js +22 -0
  28. package/dist/assets/PerformanceRoutes-DRea1YUE.js +1 -0
  29. package/dist/assets/{Preview-DdxYYDGG.js → Preview-D0x6u8Nz.js} +1 -1
  30. package/dist/assets/{QBOConnectionScreen-m9gEBJ-N.js → QBOConnectionScreen-DvvmYU71.js} +1 -1
  31. package/dist/assets/ReferralListScreen-D8LbwXaw.js +5 -0
  32. package/dist/assets/ReimbursementApprovalRoutes-DRpummvD.js +1 -0
  33. package/dist/assets/{ReimbursementApprovalRuleDetailScreen-DLndEGC2.js → ReimbursementApprovalRuleDetailScreen-DqylTjul.js} +1 -1
  34. package/dist/assets/ReimbursementRoutes-Ck-7Lo_C.js +68 -0
  35. package/dist/assets/ReportsRoutes-Cmht3lbb.js +1 -0
  36. package/dist/assets/RewardsRoutes-PWORm-gP.js +1 -0
  37. package/dist/assets/ScreenRoutes-CA8fUnaP.js +2 -0
  38. package/dist/assets/{SettingsRoutes-7JlhKJPl.js → SettingsRoutes-Dni4ADoP.js} +7 -7
  39. package/dist/assets/{SetupPagesScreen-BjcKrvcG.js → SetupPagesScreen-_IKYoHXM.js} +5 -5
  40. package/dist/assets/SignInScreen-RaghIVhM.js +1 -0
  41. package/dist/assets/SignOutScreen-CNkJNt7x.js +9 -0
  42. package/dist/assets/TaskListScreen-D8kgWT4b.js +9 -0
  43. package/dist/assets/TaskRoutes-Cz1ZyHoB.js +9 -0
  44. package/dist/assets/TransactionDetailRoutes-63tKIp6E.js +1 -0
  45. package/dist/assets/TransactionDetailScreen-DioDP0gW.js +5 -0
  46. package/dist/assets/TransactionListRoutes-Dtm4HNMN.js +1 -0
  47. package/dist/assets/TreasuryRoutes-BhRZ97cm.js +37 -0
  48. package/dist/assets/{VendorsRoutes-D_-kPu3A.js → VendorsRoutes-ODAB2xhO.js} +21 -21
  49. package/dist/assets/WiseConfirmationScreen-BXqYXseQ.js +12 -0
  50. package/dist/assets/{ZeniAccountRoutes-Ccr4Tu3U.js → ZeniAccountRoutes-RdAjME8K.js} +12 -12
  51. package/dist/assets/ZeniAccountStatementScreen-Dh6yAFkp.js +9 -0
  52. package/dist/assets/{accountMappingHelper-WSkwS3ra.js → accountMappingHelper-pKhoHYRw.js} +1 -1
  53. package/dist/assets/{analytics-CuL7sbHO.js → analytics-D310XSjQ.js} +1 -1
  54. package/dist/assets/{analyticsHelper-BvIxftL-.js → analyticsHelper-CnXSrEd_.js} +1 -1
  55. package/dist/assets/{core-1tzDxF_J.js → core-Fwwp8hop.js} +2 -2
  56. package/dist/assets/{decodeURIComponentSafe-CzUHmrek.js → decodeURIComponentSafe-DaWuthXc.js} +1 -1
  57. package/dist/assets/{dnd-UQ1tNXwl.js → dnd-B_nt-Uf4.js} +1 -1
  58. package/dist/assets/{empty-BOAkJrzb.js → empty-BOxndxwD.js} +1 -1
  59. package/dist/assets/{empty-C9qW8SYG.js → empty-CLLWe6m6.js} +1 -1
  60. package/dist/assets/{emptyVideoElement-sDHECpfG.js → emptyVideoElement-Dqc7f16l.js} +1 -1
  61. package/dist/assets/epic-rmzsjdl7.js +2 -0
  62. package/dist/assets/getLocaleForTenant-B-vHrKHL.js +1 -0
  63. package/dist/assets/{index-CWSZ0WC0.js → index-B-WtQiD1.js} +2 -2
  64. package/dist/assets/{index-kXT-zSFD.js → index-B6b9dX2I.js} +1 -1
  65. package/dist/assets/{index-ByhRyyQH.js → index-CG4cMKGN.js} +1 -1
  66. package/dist/assets/{index-BGVMDPgW.js → index-CfQpPMgv.js} +1 -1
  67. package/dist/assets/{index-CBCJW_Fr.js → index-D6xVpTbl.js} +1 -1
  68. package/dist/assets/{index-mTD4CI3i.js → index-DkSJ4_OZ.js} +1 -1
  69. package/dist/assets/{index-Clodxfbm.js → index-Sm9Ycasn.js} +15992 -15808
  70. package/dist/assets/{index-Bnsr4-4O.js → index-py9Wsjt2.js} +1 -1
  71. package/dist/assets/{lexical-DyD9YeY2.js → lexical-D4DqnnDh.js} +1 -1
  72. package/dist/assets/{liveblocks-CojXceKe.js → liveblocks-D1TxH59e.js} +1 -1
  73. package/dist/assets/{lottie-BiPaRBCF.js → lottie-BGeomX3N.js} +1 -1
  74. package/dist/assets/{mui-eOKzNg_v.js → mui-Dar_oGjJ.js} +1 -1
  75. package/dist/assets/{pathToGoBack-mpRIuZ1b.js → pathToGoBack-CFMq10u8.js} +1 -1
  76. package/dist/assets/{pdf-D54b-lk1.js → pdf-BftxTBXg.js} +4 -4
  77. package/dist/assets/{pdf-lib-CM8t2lAc.js → pdf-lib-oQPUkPP1.js} +1 -1
  78. package/dist/assets/{plaid-C86NKwk4.js → plaid-BGhwh8RZ.js} +1 -1
  79. package/dist/assets/{pusher-De4_Gzo3.js → pusher-B0sMSaHR.js} +1 -1
  80. package/dist/assets/{react-BaURIzol.js → react-BG3-H3hY.js} +1 -1
  81. package/dist/assets/{react-DZce6aRE.js → react-BaMiVVMt.js} +1 -1
  82. package/dist/assets/{react-DkHCBhOd.js → react-C_Slx_Fd.js} +1 -1
  83. package/dist/assets/{react-rQHhpMZd.js → react-DrseuhQt.js} +1 -1
  84. package/dist/assets/{react-DVpsREc7.js → react-qOh0QNtz.js} +1 -1
  85. package/dist/assets/{react-CzDEpfE-.js → react-sGqG8JxF.js} +1 -1
  86. package/dist/assets/{recharts-CprzPz94.js → recharts-DuOI9Nsb.js} +2 -2
  87. package/dist/assets/routePaths-Pqm-PNC8.js +1 -0
  88. package/dist/assets/{sentry-VbP5SjgI.js → sentry-5pTQe3BK.js} +1 -1
  89. package/dist/assets/{url-DRYQWz1E.js → url-CfkU6Gnm.js} +1 -1
  90. package/dist/assets/{url-CyrVDIC9.js → url-DFizNyrO.js} +1 -1
  91. package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-CUpKl9RP.js +1 -0
  92. package/dist/assets/useAskAiCfoHostNavButtonProps-B40bGqEV.js +1 -0
  93. package/dist/assets/{useDeviceId-gtdjHbsQ.js → useDeviceId-9VsPbMb7.js} +1 -1
  94. package/dist/assets/{useInitialThreadRequest-CrkmLvNT.js → useInitialThreadRequest-ELLLToSA.js} +1 -1
  95. package/dist/assets/{utils-BIjucwi9.js → utils-3_hFkWEq.js} +1 -1
  96. package/dist/assets/withTransactionSidePanel-Dk7__fUW.js +21 -0
  97. package/dist/assets/zeni-epic-state-i1VxNGkd.js +13 -0
  98. package/dist/index.html +1 -1
  99. package/package.json +5 -4
  100. package/dist/assets/AddressRoutes-CKBiKLfh.js +0 -1
  101. package/dist/assets/AddressScreen-CK1Ta_YK.js +0 -9
  102. package/dist/assets/AiCfoScreen-DW683Vc4.js +0 -22
  103. package/dist/assets/BusinessVerificationPageScreen-CsEjTVow.js +0 -9
  104. package/dist/assets/ChargeCardRoutes-CU4bir9P.js +0 -71
  105. package/dist/assets/CompanyPassportScreen-Dzi4pWa2.js +0 -1
  106. package/dist/assets/ConnectionAuthScreen-ae-Vmyet.js +0 -11
  107. package/dist/assets/CustomerOnboardingAuthScreen-BURphStd.js +0 -1
  108. package/dist/assets/CustomerOnboardingRoutes-wvktQBcr.js +0 -23
  109. package/dist/assets/DashboardRoutes-CU_Igh7p.js +0 -20
  110. package/dist/assets/DomesticWireDetailScreen-DSgvMFWg.js +0 -18
  111. package/dist/assets/DrawerScreen-xF8iV9MW.js +0 -1
  112. package/dist/assets/EntityDetailRoutes-Dp7_VnKE.js +0 -1
  113. package/dist/assets/ExpenseAutomationRoutes-DYD6nYgi.js +0 -25
  114. package/dist/assets/FeaturePreviewScreen-1aYrgMGZ.js +0 -1
  115. package/dist/assets/HubSpotOAuthCallbackScreen-CZyQWLRC.js +0 -1
  116. package/dist/assets/MagicLinkSignInScreen-BJGcr1ZW.js +0 -12
  117. package/dist/assets/MobileAppDrawer-BqOtCLcf.js +0 -1
  118. package/dist/assets/NotFoundScreen-vXVzDDhb.js +0 -1
  119. package/dist/assets/NotificationRoutes-W4-hOU5y.js +0 -1
  120. package/dist/assets/OAuthConsentScreen-Dse6w_x3.js +0 -1
  121. package/dist/assets/PandLWithForecastRoutes-DbodFKpo.js +0 -1
  122. package/dist/assets/PeopleRoutes-DBngdpwx.js +0 -22
  123. package/dist/assets/PerformanceRoutes-Bd8uLb_O.js +0 -1
  124. package/dist/assets/ReferralListScreen-BWmTFW4e.js +0 -5
  125. package/dist/assets/ReimbursementApprovalRoutes-BRfIQTcj.js +0 -1
  126. package/dist/assets/ReimbursementRoutes-C8AaCnjq.js +0 -68
  127. package/dist/assets/ReportsRoutes-DbRbMS3b.js +0 -1
  128. package/dist/assets/RewardsRoutes-BYG96jgN.js +0 -1
  129. package/dist/assets/ScreenRoutes-DB6r1dtT.js +0 -2
  130. package/dist/assets/SignInScreen-CV2aDykc.js +0 -1
  131. package/dist/assets/SignOutScreen-CmLlV6Nz.js +0 -9
  132. package/dist/assets/TaskListScreen-CTaZiDqn.js +0 -9
  133. package/dist/assets/TaskRoutes-CNH15IjJ.js +0 -9
  134. package/dist/assets/TransactionDetailRoutes-B8xTLGZT.js +0 -1
  135. package/dist/assets/TransactionDetailScreen-DwCkIJHD.js +0 -5
  136. package/dist/assets/TransactionListRoutes-2vfC_4zf.js +0 -1
  137. package/dist/assets/TreasuryRoutes-Bx4YIk9E.js +0 -37
  138. package/dist/assets/WiseConfirmationScreen-B8_WXwOG.js +0 -12
  139. package/dist/assets/ZeniAccountStatementScreen-Dm-dkNQ0.js +0 -9
  140. package/dist/assets/epic-CInlKQpK.js +0 -2
  141. package/dist/assets/getLocaleForTenant-yA2GFCvq.js +0 -1
  142. package/dist/assets/routePaths-JcJizzK8.js +0 -1
  143. package/dist/assets/useAskAiCfoHostNavButtonProps-RBoDr0md.js +0 -1
  144. package/dist/assets/useFetchSuggestedQuestionsWhenReady-C9Tf4ZII.js +0 -1
  145. package/dist/assets/withTransactionSidePanel-BZ6hK4KQ.js +0 -21
  146. package/dist/assets/zeni-epic-state-BKNuQ_Od.js +0 -13
@@ -0,0 +1,71 @@
1
+ import{j as s}from"./liveblocks-D1TxH59e.js";import{h as le,i as ca,u as ue,j as y,g as ge,n as pe,N as ga,s as ut,o as Wt,p as te}from"./core-Fwwp8hop.js";import{eP as ce,bs as Ue,Pa as ka,eY as be,eZ as ye,e_ as Se,fT as Ge,cs as ze,Pb as Ye,Pc as Ma,tq as ba,jL as ya,Pd as Sa,gQ as oa,zW as Xe,zY as $a,zZ as Ga,jB as mt,Pe as Ze,zK as Ct,Pf as qt,Pg as Qt,zN as Da,Ph as Jt,Nz as _a,rC as pt,zT as za,g$ as Xt,Pi as ht,Pj as Ke,bq as en,Pk as an,fE as Pa,fD as wa,Ar as tn,fC as Ta,Nf as nn,Pl as ft,cl as gt,cM as rn,Ny as da,B1 as sn,Pm as tt,AD as Fa,Pn as bt,B2 as on,N_ as cn,B3 as dn,BZ as ln,sM as un,BT as mn,Ac as yt,A5 as Cn,Po as pn,fV as hn,Al as St,Ap as It,fU as fn,Pp as gn,AP as At,Pq as bn,Pr as yn,Ps as Sn,An as Et,A8 as kt,zQ as Dt,Ah as _t,Af as Pt,Aj as In,zX as nt,Pt as wt,Pu as va,AA as Ia,Ke as Tt,cN as Ya,Pv as An,Pw as En,Px as kn,Py as Dn,Ax as Na,AW as _n,AS as Pn,At as wn,AU as Tn,AK as Fn,AM as vn,Pz as Ft,B0 as vt,HD as xn,PA as Bn,PB as Ln,PC as Rn,PD as xt,PE as Un,Bn as On,AC as Bt,Aw as ia,AB as jn,PF as Nn,PG as Vn,zH as Hn,PH as Lt,PI as Rt,PJ as Mn,zJ as $n,zI as rt,PK as Gn,PL as zn,PM as Yn,Ka as Zn,PN as Za,PO as Kn,wi as Ut,kj as Wn,gR as qn,Bs as Qn,PP as Ot,PQ as Jn,Bt as Xn,PR as er,de as ar,tk as tr,Bi as nr,Bc as Re,bt as rr,bF as sr,cx as or,bG as ir,Jn as cr}from"./zeni-epic-state-i1VxNGkd.js";import{z as X,k as je,$ as se,I as Y,q as la,c3 as xa,ce as dr,p as ve,cf as lr,cg as ur,J as ua,aN as Fe,m as fe,bm as Ka,ch as mr,s as ma,i as Ba,h as Wa,c as Q,O as qa,ci as Cr,Y as jt,aq as Qa,by as Qe,cj as Va,ck as pr,H as Ja,a7 as hr,cl as fr,at as Nt,a2 as Ha,U as Vt,e as Ht,cm as gr,cn as br,co as yr,cp as Sr,cq as Ir,cr as Ar,o as Aa,cs as Er,ct as kr,cu as Ua,F as Dr,cv as _r,cw as Pr,cx as wr,cy as Tr,cz as Fr,a9 as vr}from"./index-Sm9Ycasn.js";import{n as _e,D as Mt,S as xr}from"./mui-Dar_oGjJ.js";import{a as c}from"./sentry-5pTQe3BK.js";import{g as Ce,a as Ca,b as $t,c as Ie,d as Ae,e as Oe,f as Ne,A as Br,h as Xa,P as Lr,i as et,s as Je,j as Gt,k as Me,l as zt,m as Rr,n as Yt,p as Ur,S as st}from"./SetupPagesScreen-_IKYoHXM.js";import{u as Or}from"./useInitialThreadRequest-ELLLToSA.js";import La from"./NotFoundScreen-Brpo5hIh.js";import{M as $e}from"./MobileAppDrawer-n526oWrk.js";import{u as Zt}from"./useAskAiCfoHostNavButtonProps-B40bGqEV.js";import{v as ot}from"./utils-3_hFkWEq.js";import{t as jr}from"./AddressScreen-CWbRsmbp.js";import"./recharts-DuOI9Nsb.js";import"./analytics-D310XSjQ.js";import"./plaid-BGhwh8RZ.js";import"./dnd-B_nt-Uf4.js";import"./stripe-DMRn4zHo.js";import"./lottie-BGeomX3N.js";import"./lexical-D4DqnnDh.js";import"./pdf-BftxTBXg.js";import"./analyticsHelper-CnXSrEd_.js";import"./routePaths-Pqm-PNC8.js";import"./BusinessVerificationPageScreen-CKWDQbki.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]="01f23871-ba8e-4401-9d03-2ad4353bafb0",e._sentryDebugIdIdentifier="sentry-dbid-01f23871-ba8e-4401-9d03-2ad4353bafb0")}catch{}})();function Nr(){const e=le(),{cardId:t}=ca(),a=ue(),r=X.getSignedInUser(),n=y(J=>ce(J)),m=je(),u=Ue(m?.loggedInUserRoleMap),{useFeatureGate:f}=se();if(r==null)throw Error("Can't access Add To Wallet Page without signing in...");const[I,o]=c.useState(!1),i=y(J=>ka(J).firstViewAfterActivation);if(t==null)throw Error("Empty card id is not valid...");const E=n.userRole.includes("charge_card_user"),{isFeatureEnabled:S}=f(Y.isChargeCardFeatureEnabled),h=!!n.companyChargeCardInfo?.info?.isChargeCardEnabled,{isFeatureEnabled:U}=f(Y.isDebitCardFeatureEnabled),v=be(n),k=ye(n),C=Se(U,n),b=n.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,g=Ie({isDebitCardFeatureEnabled:U,isBankingOnlyTenant:C}),d=Ae({isCardsOnlyTenant:v,isChargeCardFeatureEnabled:S,isBookKeepingTenant:k,isDebitCardProductVisible:g,chargeCardsCreditAccountLimit:b}),D=!!n.companyDebitCardInfo?.info?.isDebitCardEnabled,T=y(J=>Ge(J,n.companyId)),V=ze(T.controllers),{creditAccount:L,creditAccountRepayment:w}=y(J=>Ye(J)),H=y(J=>J.classListState.fetchState),p=!E&&d&&h,l=y(J=>Ma(J,t,p,d)),[_,F]=c.useState(!1),N=l.chargeCard,R=N?.cardCreatedByUser?.userId,G=y(J=>R!=null?ba(J.userRoleState,R):void 0),P=G?.accountingClassIDs[0],B=y(J=>P!=null?ya(J.classState,{classId:P,reportId:"class_list"}):void 0),j=N?.cardHolderUser?.userId,O=y(J=>j!=null?ba(J.userRoleState,j):void 0),W=O?.accountingClassIDs[0],A=y(J=>W!=null?ya(J.classState,{classId:W,reportId:"class_list"}):void 0),Z=N?.type.code==="business_physical_credit_card"||N?.type.code==="business_physical_debit_card",q=N?.type.code==="business_physical_debit_card";c.useEffect(()=>{i&&I===!1&&Z&&(o(!0),setTimeout(()=>{a(Sa()),q&&a(oa({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[i,I,Z,q]),c.useEffect(()=>{_||l.fetchState==="Completed"||l.fetchState==="In-Progress"||t==null||(F(!0),a(Xe(t,p,!1)))},[_,l,t,a]),c.useEffect(()=>{if(l.fetchState==="Completed"&&(Z===!1||Z&&N?.status?.code!=="active"||N?.cardHolderUserId!==r.userId||i===!1&&I===!1||N?.type.code==="business_physical_debit_card"||N?.type.code==="business_virtual_debit_card")){const J=Ce(n.tenantEmailDomain,t,r,N,i);e(J)}},[l.fetchState,i,Z]),c.useEffect(()=>{L.fetchState!=="Completed"&&L.fetchState!=="In-Progress"&&d&&h&&u&&a($a()),w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&d&&h&&u&&a(Ga()),H!=="Completed"&&H!=="In-Progress"&&a(mt())},[L.fetchState,w.fetchState,a,d,h,u,H]);const z=()=>{if(r!=null&&t!=null){a(Sa());const J=Ce(n.tenantEmailDomain,t,r);e(J)}},x=N?.type.code==="business_physical_debit_card"||N?.type.code==="business_virtual_debit_card",oe=Oe(d,g,D,h),ae=Ca(d,h,u,L,w),ne=$t(x,l);return l.fetchState!=="Completed"?s.jsx(la,{fetchState:"In-Progress"}):s.jsxs(s.Fragment,{children:[s.jsx(xa,{showConfetti:i}),s.jsx(dr,{onGotItClick:z,isDebitCard:N?.type.code==="business_physical_debit_card",controllerEmails:V,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:g,isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:h,productInformation:oe,creditAccountInformation:ae,debitAccountInformation:ne,chargeCardDetailView:l,creditAccount:L,classListFetchState:H,creditAccountRepayment:w,cardIssuedByRoles:G?.userRoles,cardIssuedByDepartmentName:B?.className,cardHolderRoles:O?.userRoles,cardHolderDepartmentName:A?.className})]})}const Vr=pe(function(e){const t=Ze(e);return{insightsData:t.insight,cashbackByPeriod:t.cashbackByPeriod,uiState:t.uiState,cashbackSummary:t.cashbackSummary}},function(e){return{onColumnSortConfigChanged:(t,a)=>{e(qt({uiState:{sortKey:t,sortOrder:a}}))}}})(ur);function Hr(){const e=le(),t=ue(),a=ge(),r=X.getSignedInUser(),n=y(S=>ce(S)),{useFeatureGate:m}=se(),{isFeatureEnabled:u}=m(Y.isCardsCommentingEnabled),[f,I]=c.useState(!1),o=y(S=>Ze(S)),i=Or(n.companyId,{clearParams:o.fetchState==="Completed"}),E=c.useCallback(()=>{const S=ve(a.state?.pathnameStackToGoBack),h=S.poppedPathname??Mr(n.tenantEmailDomain);e(h,{state:{pathnameStackToGoBack:S.newStack}})},[e,a,n.tenantEmailDomain]);if(c.useEffect(()=>{f||o.fetchState==="Completed"||o.fetchState==="In-Progress"||(I(!0),t(Ct()))},[f,o,t]),r==null)throw Error("Can't access cashback detail page without signing in...");return o.fetchState==="In-Progress"?s.jsx(lr,{onBackClick:E}):o.cashbackSummary.cashbackEarned.amount===0&&o.fetchState==="Completed"?s.jsx(La,{}):s.jsx(Vr,{onBackClick:E,isCardsCommentingEnabled:u,initialOpenThreadRequest:i})}const Mr=e=>`/${e}/cards`,$r={containerWidth:new ma(100,58)},Gr=({appContent:e})=>{const t=ua(),a=ue(),r=le(),{cardId:n}=ca(),m=ge(),{useDynamicConfig:u}=se(),[f,I]=c.useState(!1),[o,i]=c.useState(!1),[E,S]=c.useState(!1),[h,U]=c.useState(!1),v=X.getSignedInUser();if(v==null)throw Error("Can't access onboarding card page without signing in...");const k=y(A=>ce(A));if(n==null)throw Error("Empty card id is not valid...");const{configValue:C}=u(Fe.zeniCardsConfig),b=C.max_charge_card_activation_attempts_by_card_id,g=y(A=>Qt(A,n)),d=g.chargeCard,D=y(A=>A.chargeCardConfigState.fetchState),{useFeatureGate:T}=se(),{isFeatureEnabled:V}=T(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:L}=T(Y.isDebitCardFeatureEnabled),w=Se(L,k),H=Ie({isDebitCardFeatureEnabled:L,isBankingOnlyTenant:w}),p=!!k.companyChargeCardInfo?.info?.isChargeCardEnabled,l=k.userRole.includes("charge_card_user"),_=be(k),F=ye(k),N=k.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,R=Ae({isCardsOnlyTenant:_,isChargeCardFeatureEnabled:V,isBookKeepingTenant:F,isDebitCardProductVisible:H,chargeCardsCreditAccountLimit:N}),G=!l&&R&&p;c.useEffect(()=>{f===!1&&D!=="In-Progress"&&D!=="Completed"&&(a(Da()),I(!0)),o===!1&&g.fetchState==="Not-Started"&&(i(!0),a(Xe(n,G,R)))},[o,g.fetchState,f,D]);const P=d?.type.code==="business_physical_credit_card"||d?.type.code==="business_physical_debit_card";c.useEffect(()=>{if(g.fetchState==="Completed"){if(E===!1&&(P===!1||P&&d?.status?.code!=="inactive"||d?.cardHolderUserId!==v.userId)){const A=Ce(k.tenantEmailDomain,n,v,d,!0),Z=fe(m.state?.pathnameStackToGoBack,m.pathname);r(A,{state:{pathnameStackToGoBack:Z}})}else if(E&&g.isRefreshingViewInBackground===!1&&d?.status?.code==="active"){a(Jt({chargeCardId:n}));const A=Ce(k.tenantEmailDomain,n,v,d,!0),Z=fe(m.state?.pathnameStackToGoBack,m.pathname);a(_a()),r(A,{state:{pathnameStackToGoBack:Z}})}}},[g.fetchState,d?.type.code,E,g.isRefreshingViewInBackground]);const B=X.getZeniOtpTokenForCardHolder(n),j=y(A=>pt(A.userState,v.userId)),O=()=>{d?.status?.code!=="active"&&a(za(n,!0))};c.useEffect(()=>{g.updatePhysicalChargeCardAttemptFetchState.fetchState==="Completed"&&d?.cardActivationAttemptHistory.some(A=>A.statusCode==="success")===!0&&E===!1&&(setTimeout(O,3e3),S(!0))},[g.updatePhysicalChargeCardAttemptFetchState.fetchState,d?.cardActivationAttemptHistory]);const W=A=>{U(A)};if(D!=="Completed"||d==null)return s.jsx(la,{fetchState:"In-Progress"});if(d.shippingAddressId==null)throw Error("Can't access shippingAddressId.");if(j?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(Zr,{children:[s.jsx($e,{isAppContentDrawerOpen:h,handleDrawerToggle:W}),s.jsx(zr,{cardId:n,card:d,shippingAddressId:d.shippingAddressId,phone:j.phone,signedInUser:v,isSandboxEnv:Ka(),chargeCardDetailState:g,signedInUserToken:B,navigate:r,currentTenant:k,location:m,maxChargeCardActivationAttempts:b[n]!=null?b[n]:C.default_max_charge_card_activation_attempts!=null?C.default_max_charge_card_activation_attempts:3,chargeCardCashbackRatePerTransaction:C.charge_card_cashback_rate_per_transaction!=null?C.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{W(!0)}}),e!=null?s.jsx(Yr,{windowSize:t,children:e}):null]})},zr=pe(function(e,{chargeCardDetailState:t,shippingAddressId:a,location:r,cardId:n}){const m=Xt(e.addressState,a);if(m==null)throw Error("Can't access shippingAddress.");const u=ht(e,n),f=t.updateStatus,I=Ke(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(en())||i,showMenuIcon:o,shippingAddress:m,vgsVaultId:Ba.cardVaultId,twoFAView:u,activationWaitStatus:f,isRefreshingViewInBackground:t.isRefreshingViewInBackground}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:m,chargeCardDetailState:u}=t,f=u.chargeCard?.cardProviderID,{tenantEmailDomain:I}=m;return{onGetOtp:o=>{f!=null&&e(Ta(o,"ChargeCardHolder",r))},onUpdatePhysicalChargeCardAttempt:o=>{e(tn(r,o))},onResendOtp:o=>{f!=null&&e(wa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,i)=>{f!=null&&e(Pa(o,i,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&X.saveZeniOtpTokenForCardHolder(o,r)},onCVVActivateSuccess:()=>{e(an({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),i=o.poppedPathname==null||o.poppedPathname.includes("onboard")===!0?Ne(I):o.poppedPathname;a(i,{state:{pathnameStackToGoBack:o.newStack}})}}})(mr),Yr=_e.div`
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: ${e=>`${$r.containerWidth.value(e.windowSize)}%`};
5
+ ${e=>e.windowSize!=="small"?"overflow: auto;":""}
6
+ `,Zr=_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
+ `,Ea=qa.getLocalizedStrings().dateFormat,Kr={overlayWidth:new ma(100,100,58)},Wr=pe(function(e,t){const a=t.currentTenant?.companyId;return{plaidConnectionDetails:cn(e,a,"zeni_accounts","external_account").plaidConnectionDetails,depositAccountListView:dn(e.depositAccountState,e.depositAccountListState)}},function(e,t){const{navigate:a,currentTenant:r,hasZeniAccountsAdminAccess:n,isZeniAccountsUser:m,isCashbackInfoFetchStateCompleted:u,isCreditCardInfoFetchStateCompleted:f,isDebitCardInfoFetchStateCompleted:I,controllerEmails:o,paymentDetails:i,productInformation:E,cashbackInformation:S,paymentSourceInformation:h,creditAccountInformation:U,debitAccountInformation:v,paymentInitiatedDate:k,sourcePage:C}=t,{tenantEmailDomain:b}=r;return{onBackNavigation:()=>{if(u&&f&&I&&S!=null&&Q.trackCardsPayEarlyFormClick(o,E,S,"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(Ea.visual.MMMDCommaYYYYformat),paymentInitiatedDate:k?.format(Ea.visual.MMMDCommaYYYYformat)},h,U,v),C==="cardPaymentHistory")t.closeDrawerHandler(!0),e(bt());else{const g=Ne(b);a(g)}},onUpdatePaymentAccountStatus:(g,d,D)=>{e(mn(g,d,"bill_pay","bill_pay_detail",D))},onEstablishConnectionSuccess:()=>{e(Fa(r.companyId,!0))},onFetchLinkTokenClick:g=>{e(un("external_account",g))},onEstablishConnectionClick:g=>{e(ln(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:()=>{m?window.open(`/${b}/checking/transfer`):window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}})(Cr),at=({isPaymentDrawerOpen:e,closeDrawerHandler:t,pageName:a,creditAccountSpentAmount:r,productInformation:n,sourcePage:m,creditAccountInformation:u,debitAccountInformation:f,cashbackInformation:I,isDebitCardInfoFetchStateCompleted:o,isCreditCardInfoFetchStateCompleted:i,isCashbackInfoFetchStateCompleted:E,paymentInitiatedDate:S,retryRepayment:h})=>{const U=le(),{useDynamicConfig:v}=se(),{configValue:k}=v(Fe.zeniAccountsConfig),C=nn(k),b=y(z=>ft(z)),{creditAccount:g}=y(z=>Ye(z)),d=y(z=>ce(z)),D=Wa(),T=ua(),V=ue(),L=X.getSignedInUser(),w=je(),[H,p]=c.useState(!1),[l,_]=c.useState(!1),{configValue:F}=v(Fe.zeniCardsConfig),N=F.credit_card_auto_pay_threshold_by_company_id?.[d.companyId]??F.default_credit_card_auto_pay_threshold??Br,R=gt(w?.loggedInUserRoleMap),G=rn(w?.loggedInUserRoleMap),P=!!d.companyZeniAccountInfo?.info?.isZeniAccountEnabled,B=y(z=>da(z,d.companyId)),j=B.companyChargeCardInfo?.primaryFundingAccount,O=B.allFundingAccounts.find(z=>z.id===j?.accountId),W=y(z=>Ge(z,d.companyId)),A=ze(W.controllers);c.useEffect(()=>{if(b.fetchState!=="Completed"&&b.fetchState!=="In-Progress"&&V(sn()),b.fetchState==="Completed"&&!l){const z=d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,x=b.transferFromAccounts.find(ae=>ae.id===z);let oe;if(m==="cardPaymentHistory"&&h){const ae=h.paymentAccountId!=null?b.transferFromAccounts.find(ne=>ne.id===h.paymentAccountId):void 0;oe={amount:h.amount,isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:ot(),transferFrom:ae??x}}else oe={amount:{amount:g.balance.amount+g.hold.amount,currencyCode:g.balance.currencyCode,currencySymbol:g.balance.currencySymbol},isAutoRepayment:d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,idempotencyKey:ot(),transferFrom:x};V(tt(oe)),_(!0)}},[b.fetchState,l,m,h,b.transferFromAccounts,d.companyChargeCardInfo?.info?.primaryFundingAccount?.accountId,d.companyChargeCardInfo?.info?.isAutoPayEnabled,g.balance.amount,g.balance.currencyCode,g.balance.currencySymbol,g.hold.amount,V]);const Z={isZeniCheckingEnabled:d.companyZeniAccountInfo?.info?.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:O?.accType==="depositAccount",creditCardPaymentSourceAccountName:O?.label,creditCardPaymentSourceAccountType:O?.accType,creditCardPaymentSourceLastFourDigits:O?.accountLast4,creditCardPaymentSourceBalance:O?.accountBalance?.available?.amount??0};if(c.useEffect(()=>{B.fetchState!=="Completed"&&B.fetchState!=="In-Progress"&&V(Fa(d.companyId,!0))},[B.fetchState]),c.useEffect(()=>{b.updateStatus==="Completed"&&I!=null&&E&&i&&o&&Q.trackCardsPayEarlyPayNowClick(A,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:S?.add(3,"day").format(Ea.visual.MMMDCommaYYYYformat),paymentInitiatedDate:S?.format(Ea.visual.MMMDCommaYYYYformat)},Z,u,f)},[b.updateStatus,I,E,i,o,S]),c.useEffect(()=>{b.fetchState==="Completed"&&I!=null&&E&&i&&o&&!H&&e&&l&&I!=null&&(Q.trackCardsPayEarlyFormView(A,n,I,a,d.companyChargeCardInfo?.info?.isAutoPayEnabled??!1,g.balance.amount,Z,u,f),p(!0))},[b,E,i,o,H,e,l]),L==null)throw Error("Can't access invite people page without signing in...");const q=()=>{t(!0),V(bt())};return s.jsx(s.Fragment,{children:s.jsx(Mt,{onClose:()=>{q()},anchor:"right",transitionDuration:250,open:e,PaperProps:{style:{width:Kr.overlayWidth.valuePercentage(T),boxShadow:"none"}},slotProps:{backdrop:{style:{backgroundColor:D.colors.black,opacity:.75,cursor:"pointer"}}},children:s.jsx(qr,{onClick:z=>z.stopPropagation(),children:s.jsx(Wr,{closeDrawerHandler:t,navigate:U,paymentDetails:b,creditAccountSpentAmount:r,onTransferClick:()=>{E&&i&&o&&I!=null&&Q.trackCardsPayEarlyFormClick(A,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},Z,u,f),V(on({companyId:d.companyId}))},onDismissClick:q,onSaveChangesToLocalStore:z=>{V(tt(z))},currentTenant:d,hasZeniAccountsAdminAccess:R,isZeniAccountsUser:G,isZeniAccountSetupEnabled:P,productInformation:n,sourcePage:m,controllerEmails:A,autoPayThreshold:N,paymentSourceInformation:Z,creditAccountInformation:u,debitAccountInformation:f,cashbackInformation:I,isCashbackInfoFetchStateCompleted:E,isCreditCardInfoFetchStateCompleted:i,isDebitCardInfoFetchStateCompleted:o,paymentInitiatedDate:S,maxInsuredAmount:C.maxInsuredAmount})})})})},qr=_e(xr)`
15
+ display: flex;
16
+ min-height: 100%;
17
+ flex-direction: column;
18
+ `,Kt="charge-card-transaction-update",Oa=qa.getLocalizedStrings().dateFormat,Qr=pe(function(e,t){const{includeCreditAccountInfo:a,cardId:r,signedInUserToken:n,isChargeCardFeatureEnabled:m}=t,u=X.getSignedInUser(),f=e.tenantState.currentTenantId,I={userId:u?.userId??"",sessionId:u?.zeniSessionId??"",tenantId:f??""},o=Ma(e,r,a,m),i=pn(e,r),E=hn(e);return{chargeCardDetailView:o,chargeCardsRecurringExpensesState:i,vgsVaultId:Ba.cardVaultId,transactionAttachmentsEndpointToFetch:`${Ha}/card_transaction_attachments`,transactionAttachmentEndpointToDownload:`${Ha}/card_transaction_attachment`,authParams:I,isSnackbarOpen:E.isSnackbarOpen,cardsEndPoint:`${Nt.cardMicroServiceBaseUrl}`,signedInUserToken:o.twoFAView.token??n}},function(e,t){const{cardId:a,currentTenant:r,navigate:n,location:m,cardProviderId:u,includeCreditAccountInfo:f,setIsPaymentOpen:I,controllerEmails:o,productInformation:i,cashbackInformation:E,primaryFundingAccountDetails:S,creditAccountInformation:h,debitAccountInformation:U,isChargeCardFeatureEnabled:v}=t,{tenantEmailDomain:k}=r;return{onEventReceived:C=>{C===Kt&&(e(za(a,!0)),e(nt(a,null,null,!0)))},onReloadTransactions:()=>{e(Xe(a,f,v))},onFetchChargeCardTransactionList:(C,b)=>{e(nt(a,C,b))},onUpdateScrollYOffset:C=>{},onGetOtp:C=>{u!=null&&e(Ta(C,"ChargeCardHolder",a))},onResendOtp:C=>{u!=null&&e(wa(C,"ChargeCardHolder",a))},onVerifyOtp:(C,b)=>{u!=null&&e(Pa(C,b,"ChargeCardHolder",a))},onVerifyOtpSuccess:C=>{C!=null&&X.saveZeniOtpTokenForCardHolder(C,a)},onColorCodeChange:C=>{e(In(a,C))},onLockChargeCard:(C,b)=>{e(Pt(C,a,b))},onUnlockChargeCard:C=>{e(_t(C,a))},onCloseChargeCard:C=>{e(Dt(a,C))},onFetchChargeCardsRecurringExpenses:()=>{e(kt([a]))},updateChargeCardName:(C,b)=>{e(Et(C,a,b))},updateChargeCardTransactionAttachments:(C,b)=>{b!=null&&e(Sn({transactionId:C,data:b}))},updateChargeCardTransactionUploadReceiptsFetchStatus:(C,b,g,d)=>{e(yn({chargeCardId:b,transactionId:C,fetchState:g,error:d}))},updateChargeCardTransactionReceiptsShowTick:(C,b,g)=>{e(bn({chargeCardId:b,transactionId:C,shouldShowTick:g}))},onChargeCardRevokeInviteClick:()=>{e(At(a))},updateChargeCardTransactionIsViewReceiptClicked:(C,b,g)=>{e(gn({chargeCardId:b,transactionId:C,isViewReceiptClicked:g}))},onChargeCardTransactionRowClick:(C,b)=>{const g=fe(m.state?.pathnameStackToGoBack,m.pathname);n(`../../transaction/${C}/${b}`,{state:{pathnameStackToGoBack:g}})},onBackClick:()=>{const C=ve(m.state?.pathnameStackToGoBack),b=Ne(k);n(b,{state:{pathnameStackToGoBack:C.newStack,message:"comingFromCardDetail"}})},removeSnackbar:()=>{e(fn())},onUpdateDebitCardPinAttempt:C=>{e(It(a,C)),C==="success"&&e(oa({messageSection:"update_debit_card_pin_attempt",messageText:"success",type:"success",showStatusIcon:!0}))},onUploadReceiptComplete:(C,b)=>{C?e(oa({messageSection:"charge_card_receipt_upload",messageText:"success",type:"success",showStatusIcon:!0})):b!=null&&e(oa({messageSection:"charge_card_receipt_upload",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"_api-error_",variableValue:b.message}]}))},updateSpendLimit(C,b,g,d){e(St(C,b,g.code,d))},shouldOpenCreditCardPaymentDrawer(C){C&&E!=null&&Q.trackCardsPayEarlyClick(o,i,E,"Card Detail","Text Button","Pay Now",{isZeniCheckingEnabled:r.company?.companyZeniAccountInfo.isZeniAccountEnabled??!1,isZeniCheckingPaymentSource:S?.accType==="depositAccount",creditCardPaymentSourceAccountName:S?.label,creditCardPaymentSourceAccountType:S?.accType,creditCardPaymentSourceLastFourDigits:S?.accountLast4,creditCardPaymentSourceBalance:S?.accountBalance?.available?.amount??0},h,U),I(C)}}})(hr(fr));function Jr(){const e=le(),t=ue(),a=ge(),{cardId:r}=ca(),[n,m]=c.useState(!1),[u,f]=c.useState(!1),{useDynamicConfig:I}=se(),o=X.getSignedInUser(),i=y(M=>ce(M)),E=y(M=>ka(M).firstViewAfterActivation),S=y(M=>M.classListState.fetchState),{configValue:h}=I(Fe.documentAiReceiptMaxSizeLimitBytesConfig),{configValue:U}=I(Fe.zeniCardsConfig),v=U.enable_card_controls_for_company_ids,k=U.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(v)&&v.includes(i.companyId),[C,b]=c.useState(!1),[g,d]=c.useState(!1),{useFeatureGate:D}=se(),{isFeatureEnabled:T}=D(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:V}=D(Y.isDebitCardFeatureEnabled),L=Se(V,i),w=Ie({isDebitCardFeatureEnabled:V,isBankingOnlyTenant:L}),{isFeatureEnabled:H}=D(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:p}=D(Y.isCardsCommentingEnabled),l=ye(i),_=be(i),F=i.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,N=Ae({isCardsOnlyTenant:_,isChargeCardFeatureEnabled:T,isBookKeepingTenant:l,isDebitCardProductVisible:w,chargeCardsCreditAccountLimit:F}),R=!!i.companyDebitCardInfo?.info?.isDebitCardEnabled,G=!!i.companyChargeCardInfo?.info?.isChargeCardEnabled,P=!i.userRole.includes("charge_card_user")&&N&&G;if(r==null)throw Error("Empty card id is not valid...");const B=y(M=>da(M,i.companyId)),{creditAccount:j,creditAccountRepayment:O}=y(M=>Ye(M)),W=X.getZeniOtpTokenForCardHolder(r),A=y(M=>Ma(M,r,P,N)),{isAiCfoAccessEnabled:Z,onAskAiCfoClick:q}=Zt({mobileExploreReferrer:"Card Detail"});jt({isDataReady:A.fetchState==="Completed"});const z=y(M=>Ze(M)),x=A.chargeCard,oe=je(),ae=Ue(oe?.loggedInUserRoleMap),ne=x?.type.code==="business_physical_debit_card"||x?.type.code==="business_virtual_debit_card",J=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",Ee=x?.type.code==="business_virtual_debit_card",xe=Ca(N,G,ae,j,O),K=$t(ne,A),he=Xa(ae,z),ke=Oe(N,w,R,G),Be=A.depositAccountLimitFetchState.fetchState!=="Completed"&&A.depositAccountLimitFetchState.fetchState!=="In-Progress",Pe=y(M=>Ge(M,i.companyId)),we=ze(Pe.controllers),ee=y(M=>x?.cardCreatedByUser?.userId!=null?ba(M.userRoleState,x?.cardCreatedByUser?.userId):void 0),pa=y(M=>ee?.accountingClassIDs[0]!=null?ya(M.classState,{classId:ee?.accountingClassIDs[0],reportId:"class_list"}):void 0),ie=y(M=>x?.cardHolderUser?.userId!=null?ba(M.userRoleState,x?.cardHolderUser?.userId):void 0),ea=y(M=>ie?.accountingClassIDs[0]!=null?ya(M.classState,{classId:ie?.accountingClassIDs[0],reportId:"class_list"}):void 0),de=i?.userRole,Le=y(M=>Ke(M,!1,w,T).revokeCardInvite),aa=Qa(Le.saveStatus.fetchState);if(c.useEffect(()=>{if(aa==="In-Progress"&&Le.saveStatus.fetchState==="Completed"){const M=Ne(i.tenantEmailDomain);e(M)}},[aa,Le.saveStatus.fetchState,e,i.tenantEmailDomain]),c.useEffect(()=>{E&&n===!1&&re&&(m(!0),setTimeout(()=>{t(Sa()),Ee&&t(oa({messageSection:"set_debit_card_pin",messageText:"success",type:"success",showStatusIcon:!0}))},5e3))},[E,n,re,Ee]),c.useEffect(()=>{C||A.fetchState==="Completed"||A.fetchState==="In-Progress"||r==null||(b(!0),t(Xe(r,P,N,!1)))},[C,A,r,t]),c.useEffect(()=>{!g&&A.fetchState==="Completed"&&A.chargeCard?.connectedAccountId!=null&&ne&&Be&&ae&&(d(!0),t(yt({depositAccountId:A.chargeCard?.connectedAccountId})))},[g,A,t,Be,ae]),c.useEffect(()=>{z.fetchState!=="Completed"&&z.fetchState!=="In-Progress"&&ae&&t(Ct()),S!=="Completed"&&S!=="In-Progress"&&t(mt()),A.transactionStatistics.fetchState!=="Completed"&&A.transactionStatistics.fetchState!=="In-Progress"&&t(Cn({chargeCardId:r})),B.fetchState!=="Completed"&&B.fetchState!=="In-Progress"&&t(Fa(i.companyId,!0))},[z.fetchState,t,ae,S,A.transactionStatistics.fetchState,B.fetchState]),c.useEffect(()=>{if(!(A.fetchState!=="Completed"||N&&j.fetchState!=="Completed"||x==null||A.transactionStatistics.fetchState!=="Completed"||ne&&ae&&A.depositAccountLimitFetchState.fetchState!=="Completed")){const M=x.type.code.includes("physical"),me=M?x.cardActivationAttemptHistory[0]?.timestamp:x.createTime;Q.trackCardsCardDetailView(we,ke,{cardId:r,cardName:x.cardName,cardType:x.type.code.includes("credit")?"credit":"debit",cardCategory:M?"physical":"virtual",cardLimit:Qe(x.limit.amount),cardLastFourDigits:x.accountLast4,cardStatus:x.status.code,cardAssignedDate:x.createTime?.format(Oa.analytics.MMMDashDDDashYYYYFormat),cardIssuedDate:x.providerCardCreateTime?.format(Oa.analytics.MMMDashDDDashYYYYFormat),cardActivatedDate:me?.format(Oa.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:A.transactionStatistics.statistics.totalNumberOfDeclinedTransactions,numberOfDeclinedTransactionsCurrentMonth:A.transactionStatistics.statistics.numberOfDeclinedTransactionsCurrentMonth,totalNumberOfPaidTransactions:A.transactionStatistics.statistics.totalNumberOfPaidTransactions,numberOfPaidTransactionsCurrentMonth:A.transactionStatistics.statistics.numberOfPaidTransactionsCurrentMonth,totalNumberOfCanceledTransactions:A.transactionStatistics.statistics.totalNumberOfCanceledTransactions,numberOfCanceledTransactionsCurrentMonth:A.transactionStatistics.statistics.numberOfCanceledTransactionsCurrentMonth,totalNumberOfAuthorizedTransactions:A.transactionStatistics.statistics.totalNumberOfAuthorizedTransactions,numberOfAuthorizedTransactionsCurrentMonth:A.transactionStatistics.statistics.numberOfAuthorizedTransactionsCurrentMonth,totalNumberOfTransactionsWithReceipts:A.transactionStatistics.statistics.totalNumberOfTransactionsWithReceipts,numberOfTransactionsWithReceiptsCurrentMonth:A.transactionStatistics.statistics.numberOfTransactionsWithReceiptsCurrentMonth},{cardIssuedByName:Va(x.cardCreatedByUser,!1),cardIssuedByEmail:x.cardCreatedByUser?.email,cardIssuedByUserId:x.cardCreatedByUser?.userId,cardIssuedByRole:ee?.userRoles,cardIssuedByDepartment:pa?.className},{cardholderName:Va(x.cardHolderUser,!1),cardholderEmail:x.cardHolderUser?.email,cardholderRole:ie?.userRoles,cardholderUserId:x.cardHolderUser?.userId,cardholderDepartment:ea?.className},xe,K)}},[A.fetchState,A.depositAccountLimitFetchState.fetchState,A.transactionStatistics.fetchState,j.fetchState,ae]),o==null)throw Error("Can't access card detail page without signing in...");const We=i.companyId??X.getSignedInUserTenant(i.tenantEmailDomain)?.companyId,ta={events:We!=null?[`private-encrypted-${We}.${Kt}`]:[],eventCallback:(M,me,Te)=>{Te.onEventReceived(M)}},na=()=>{if(r!=null&&x!=null){const{ownerName:M,cardName:me,utilisation:Te,limit:Ve,frequency:qe,cardColor:$}=ja(x),De=x.cardHolderUserId===o.userId;Q.trackCardsDetailPageViewed(r,M,me,Te,Ve,qe,$,De)}};c.useEffect(()=>{if(A.fetchState==="Completed"){const M=A.chargeCard;if(M?.status.code==="inactive"||ne&&M?.isPinSet===!1||J&&E){const me=Ce(i.tenantEmailDomain,r,o,x,E);e(me)}}},[A.fetchState]);const ra=(M,me)=>{if(r!=null&&x!=null){const{ownerName:Te,cardName:Ve,utilisation:qe,limit:$,frequency:De}=ja(x),He=x.cardHolderUserId===o.userId;Q.trackCardsDetailPageClicked(r,Te,Ve,qe,$,De,M,He,me)}},sa=(M,me)=>{if(r!=null&&x!=null){const{ownerName:Te,cardName:Ve,utilisation:qe,limit:$,frequency:De}=ja(x),He=x.cardHolderUserId===o.userId;Q.trackCardsVerifyPopUpClick(r,Te,Ve,qe,$,De,M,He,me)}},Ra=j.balance.amount+j.hold.amount,ha=i.companyChargeCardInfo?.info?.primaryFundingAccount,fa=B.allFundingAccounts.find(M=>M.id===ha?.accountId);return r==null||A.fetchState==="Error"?s.jsx(La,{}):A.fetchState==="In-Progress"||A.fetchState==="Not-Started"||Le.saveStatus.fetchState==="In-Progress"||ne&&ae&&A.depositAccountLimitFetchState.fetchState!=="Completed"?s.jsx(pr,{}):s.jsxs(s.Fragment,{children:[s.jsx(xa,{showConfetti:E}),A.fetchState==="Completed"?s.jsx(Ja,{analytics:Q,onLoad:na}):null,u===!0?s.jsx(at,{closeDrawerHandler:()=>f(!1),isPaymentDrawerOpen:u,pageName:"Card Detail",sourcePage:"cardDetailPage",productInformation:ke,creditAccountInformation:xe,debitAccountInformation:K,cashbackInformation:he,creditAccountSpentAmount:Ra,isDebitCardInfoFetchStateCompleted:!ne||!ae||A.depositAccountLimitFetchState.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!N||j.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!ae||z.fetchState==="Completed",paymentInitiatedDate:O.initiatedRepaymentDate}):null,s.jsx(Qr,{...ta,hideSorting:!0,onColumnSortConfigChanged:()=>{},onFireVerifyPopOnClickAnalytics:sa,onFireOnClickAnalytics:ra,isSandboxEnv:Ka(),signedInUser:o,location:a,navigate:e,setIsPaymentOpen:f,cardIssuedByRoles:ee?.userRoles,cardIssuedByDepartmentName:pa?.className,cardHolderRoles:ie?.userRoles,cardHolderDepartmentName:ea?.className,loggedInUserRole:de,isChargeCardFeatureEnabled:N,isDebitCardFeatureEnabled:w,isDebitCardSetupEnabled:R,isChargeCardSetupEnabled:G,isCardControlsEnabled:k,isEarlyPayEnabled:H,controllerEmails:we,chargeCardCashbackDetailState:z,productInformation:ke,creditAccountInformation:xe,debitAccountInformation:K,cashbackInformation:he,classListFetchState:S,primaryFundingAccountDetails:fa,currentTenant:i,cardProviderId:A.chargeCard?.cardProviderID,cardId:r,creditAccount:j,creditAccountRepayment:O,includeCreditAccountInfo:P,signedInUserToken:W,appleWalletLink:"shoebox://",googleWalletLink:"https://www.android.com/payapp/",documentAiReceiptMaxSizeLimit:h.documentAiReceiptMaxSizeLimitBytes!=null?h.documentAiReceiptMaxSizeLimitBytes:9437184,isAiCfoAccessEnabled:Z,onAskAiCfoClick:q,isCardsCommentingEnabled:p})]})}const ja=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,m=e.creditLimitFrequency.name;return{ownerName:t,cardName:a,utilisation:r,cardColor:e.cardColorCode??"",frequency:m,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
+ `,es=pe(function(e,t){const a=Ke(e,t.includeCreditAccountDebitSummaryAndCashbackInfo,t.isDebitCardFeatureEnabled&&t.isDebitCardSetupEnabled,t.isChargeCardFeatureEnabled&&t.isChargeCardSetupEnabled);return{chargeCardListView:a,rowActionView:An(e),bulkActionView:En(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:m,chargeCardListState:u,includeCreditAccountDebitSummaryAndCashbackInfo:f,isChargeCardFeatureEnabled:I,isCreditCardProductVisibleForExpressInterest:o,isChargeCardSetupEnabled:i,isDebitCardFeatureEnabled:E,isDebitCardSetupEnabled:S,isDebitCardTOSAccepted:h,isChargeCardTOSAccepted:U,controllerEmails:v,depositAccountListWithDebitCardIssued:k,primaryFundingAccountDetails:C,chargeCardSetUpViewFetchState:b,productInformation:g,cashbackInformation:d,creditAccountInformation:D,debitAccountInformation:T,updatePayNowInfoTooltip:V,isUserHasCardsAdminLevelAccess:L}=t,{tenantEmailDomain:w}=r,{cards:H}=u;return{onChargeCardRowClick:(p,l)=>{const _=zt(H,p);let F;_!=null&&((R=>{const G=R.limit.amount-R.available.amount,P=`${R.cardHolderUser?.firstName.toLowerCase()} ${R.cardHolderUser?.lastName.toLowerCase()}`,B=R.cardName,j=R.department?.className??"",O=R.limit.amount,W=R.creditLimitFrequency.name;Q.trackCardsListRowClicked(P,B,j,G,O,W,m.userId===R.cardHolderUserId)})(_),Me(E,S,k)&&Q.trackCardsCardListRowClick(v,g,"Card Row Item","row_clicked",l+1,{cardOwner:Va(_.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)},d,D,T)),F=_?.status.code==="request_on_hold"&&m.userId===_.cardHolderUserId?Yt(w):Ce(w,p,m,_);const N=fe(n.state?.pathnameStackToGoBack,n.pathname);a(F,{state:{pathnameStackToGoBack:N}})},onFetchChargeCardsRecurringExpenses:p=>{e(kt(p))},onFetchDepositAccountLimit:p=>{e(yt({depositAccountId:p}))},onChargeCardResendInviteClick:p=>{e(vn(p))},onChargeCardRevokeInviteClick:p=>{e(At(p))},onLockChargeCardList:(p,l)=>{e(Fn(p,l))},onUnlockChargeCardList:p=>{e(Tn(p))},onCloseChargeCardList:(p,l)=>{e(wn(p,l))},onRevokeChargeCardList:p=>{e(Pn(p))},updateChargeCardListSpendLimit(p,l,_){e(_n(p,l,_.code))},onLockChargeCard:(p,l)=>{e(Pt(L,p,l))},onUnlockChargeCard:p=>{e(_t(L,p))},onCloseChargeCard:(p,l)=>{e(Dt(p,l))},onUpdateSpendLimit(p,l,_,F){e(St(p,l,_.code,F))},updateChargeCardName:(p,l)=>{e(Et(L,p,l))},onClickSetupIcon:()=>{Q.trackCardsListPageClicked("settings"),Me(E,S,k)&&d!=null&&Q.trackCardsSettingsClick(v,g,d,D,T);const p=Rr(w),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(p,{state:{pathnameStackToGoBack:l}})},onIssueCardClick:()=>{Q.trackCardsListPageClicked("new card"),Me(E,S,k)&&d!=null&&Q.trackCardsNewCardClick(v,g,d,"New Button","card_creation_initiated","Card List",D,T);const p=as(w),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(p,{state:{pathnameStackToGoBack:l}})},onColumnSortConfigChanged:(p,l)=>{Me(E,S,k)&&d!=null&&Q.trackCardsCardListSortClick(v,g,d,"Sort Icon","sort",p,l==="ascending"?"ASC":"DESC","Cards List",D,T),e(Na({uiState:{sortKey:p,sortOrder:l}}))},onSearchTextChanged:p=>{e(Dn(p))},onReloadCards:()=>{e(Ia(f,E&&S,I&&i,!0))},onLetsGoClick:()=>{a("./onboard")},onBackClick:()=>{a("../../")},onTotalCashbackClick:()=>{Me(E,S,k)&&d!=null&&Q.trackCardsCashbackOverviewClick(v,g,d,"Cashback Overview","cashback_details_viewed",D,T),a("./cashback")},onClickStatementsIcon:()=>{Me(E,S,k)&&d!=null&&Q.trackCardsStatementsClick(v,g,d,D,T),a("./statements")},onCreateNowClick:p=>{Me(E,S,k)&&d!=null&&Q.trackCardsNewCardClick(v,g,d,"Promo Banner","card_creation_initiated","Card List",D,T),a(`./new?cardType=${p}`)},onPromoCardClick:p=>{a(p==="debit"&&E&&!h||p==="credit"&&o&&!U?`../promo?cardPromoType=${p}`:"./setup")},navigateToCreditCardPaymentPage:(p,l)=>{b==="Completed"&&r.company!=null&&d!=null&&Q.trackCardsPayEarlyClick(v,g,d,"Card List",p,l,{isZeniCheckingEnabled:r.company.companyZeniAccountInfo.isZeniAccountEnabled,isZeniCheckingPaymentSource:C?.accType==="depositAccount",creditCardPaymentSourceAccountName:C?.label,creditCardPaymentSourceAccountType:C?.accType,creditCardPaymentSourceLastFourDigits:C?.accountLast4,creditCardPaymentSourceBalance:C?.accountBalance?.available?.amount??0},D,T);const _=ts(w);a(_)},navigateToCreditCardPaymentHistoryPage:()=>{const p=ns(w),l=fe(n.state?.pathnameStackToGoBack,n.pathname);a(p,{state:{pathnameStackToGoBack:l}})},shouldShowPayNowInfoTooltip:V,onSetRowActionCardId:p=>{e(kn(p))},onSetBulkActionCardIds:p=>{e(wt(p))}}})(gr);function it({isPaymentDrawerOpen:e}){const t=le(),a=ue(),r=ge(),n=c.useCallback(($,De)=>{a(wt([])),t($,De)},[a,t]),[m,u]=c.useState(!1),[f,I]=c.useState(X.getPayNowInfoTooltip()??!1),o=$=>{X.savePayNowInfoTooltip($),I($)},[i,E]=c.useState(!1),S=X.getSignedInUser(),h=y($=>ce($)),[U,v]=c.useState(!1),[k,C]=c.useState(!1),{isAiCfoAccessEnabled:b,onAskAiCfoClick:g}=Zt({mobileExploreReferrer:"Cards"}),d=h.userRole.includes("charge_card_user"),D=!d,T=!!h.companyDebitCardInfo?.info?.isDebitCardEnabled,{useFeatureGate:V,useDynamicConfig:L}=se(),{isFeatureEnabled:w}=V(Y.isCashbackFeatureEnabled),{isFeatureEnabled:H}=V(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:p}=V(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:l}=V(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:_}=V(Y.isChargeCardPaymentHistoryFeatureEnabled),{isFeatureEnabled:F}=V(Y.isCardsCommentingEnabled),N=Se(p,h),R=Ie({isDebitCardFeatureEnabled:p,isBankingOnlyTenant:N}),G=be(h),P=ye(h),B=h.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,j=Ae({isCardsOnlyTenant:G,isChargeCardFeatureEnabled:H,isBookKeepingTenant:P,isDebitCardProductVisible:R,chargeCardsCreditAccountLimit:B}),O=Gt({isCardsOnlyTenant:G,isChargeCardFeatureEnabled:H,isBookKeepingTenant:P}),{configValue:W}=L(Fe.zeniCardsConfig),A=je(),Z=Ue(A?.loggedInUserRoleMap),q=y($=>Ge($,h.companyId)),z=ze(q.controllers),x=W.charge_card_cashback_rate_per_transaction!=null?W.charge_card_cashback_rate_per_transaction:.0175,oe=W.credit_card_pay_now_threshold_by_company_id?.[h.companyId]??W.default_credit_card_pay_now_threshold??Lr,ae=W.is_card_controls_enabled_for_all_tenants===!0||Array.isArray(W.enable_card_controls_for_company_ids)&&W.enable_card_controls_for_company_ids.includes(h.companyId),ne=!!h.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,J=!!h.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,re=!!h.companyChargeCardInfo?.info?.isChargeCardEnabled,Ee=y($=>ft($)),xe=Qa(Ee.updateStatus),K=y($=>Ke($,D,R&&T,j&&re)),he=K.cards.filter($=>$.type.code.includes("debit")).map($=>$.connectedAccountId),ke=[...new Set(he)],Be=y($=>Ze($)),Pe=y($=>va($,ke)),we=y($=>da($,h.companyId)),ee=we.companyChargeCardInfo?.primaryFundingAccount,pa=we.allFundingAccounts.find($=>$.id===ee?.accountId),ie=K.fetchState,ea=K.creditAccount;jt({isDataReady:ie==="Completed"});const{creditAccountRepayment:de}=y($=>Ye($)),Le=y($=>ka($).firstViewAfterActivation),{areTenantIdsInSync:aa}=Vt(),We=Xa(Z,Be),ta=Ca(j,re,Z,ea,de),na=et(R,T,Z,Pe,K.debitCardSummary),ra=Oe(j,R,T,re),sa=K.creditAccount.balance.amount+K.creditAccount.hold.amount;if(c.useEffect(()=>{ie==="Completed"&&(X.getPayNowInfoTooltip()==null||sa<oe*K.creditAccount.limit.amount/100)&&o(!0)},[ie,oe,sa,K.creditAccount.limit.amount]),c.useEffect(()=>{if(e!=null&&e===!0&&de.initiatedRepayments.amount===0&&de.fetchState==="Completed"||xe==="In-Progress"&&Ee.updateStatus==="Completed")o(!1),u(!0);else if(de.initiatedRepayments.amount>0&&de.fetchState==="Completed"){u(!1),document.body.style.overflow="auto";const $=Ne(h.tenantEmailDomain);n($)}},[e,de.initiatedRepayments.amount,de.fetchState,xe,Ee.updateStatus,n,h.tenantEmailDomain]),c.useEffect(()=>{!U&&(re||T)&&aa&&(v(!0),a(Ia(D,R&&T,j&&re,!1)))},[U,D,a,aa]),c.useEffect(()=>{Le&&i===!1&&(E(!0),setTimeout(()=>{a(Sa())},5e3))},[Le,i]),c.useEffect(()=>{ie==="Completed"&&d&&K.cards.length===1&&(K.cards[0].status.code==="inactive"&&K.cards[0].type.code==="business_physical_credit_card"?n(`./${K.cards[0].id}/activate`):K.cards[0].status.code!=="request_on_hold"&&(r.state?.message==="comingFromCardDetail"?n("../../"):n(`./${K.cards[0].id}`)))},[ie,d,r.state,n,K.cards]),c.useEffect(()=>{if(ie==="Completed"&&d){const $=K.cards.length,De=K.cards.filter(He=>He.cardHolderUserId===S?.userId).filter(He=>He.status.code==="request_on_hold");De.length>0&&$===De.length&&n("./onboard")}},[ie,K.cards,d,n,S?.userId]),c.useEffect(()=>{ie!=="Completed"||j&&de.fetchState!=="Completed"||R&&T&&Z&&Pe.fetchState!=="Completed"||Q.trackCardsCardListView(z,ra,We,ta,na)},[ie,ea,de.fetchState,Pe.fetchState,Z]),S==null)throw Error("Can't access charge card list page without signing in...");const Ra=y($=>Tt($.userState,$.userRoleState,$.userListViewState,"cardAdmin")),ha=Ya(A?.loggedInUserRoleMap),fa=$=>{C($)},M=K.creditAccount.limit,me=()=>{u(!1),n("..")},Te=h.companyChargeCardInfo?.info!=null&&Je({cardInfo:h.companyChargeCardInfo.info,isProductVisible:j,isTOSAccepted:ne,isSetupEnabled:re,isUserHasCardsAdminLevelAccess:Z,isUserHasCardsAccess:ha}),Ve=h.companyDebitCardInfo?.info!=null&&Je({cardInfo:h.companyDebitCardInfo.info,isProductVisible:R,isTOSAccepted:J,isSetupEnabled:T,isUserHasCardsAdminLevelAccess:Z,isUserHasCardsAccess:ha});return re||T?s.jsxs(s.Fragment,{children:[ie==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(Ja,{analytics:Q,onLoad:()=>{Q.trackPageLoaded(Ht.Event.cardsListPage),(j&&!re||R&&!T)&&Q.trackCardsPromoView(z,{isCreditCardOffered:j,isDebitCardOffered:R,isDebitCardEnabled:T,isCreditCardEnabled:re},"Banner",R&&!T?"Debit Card":j&&!re?"Credit Card":"","Card List")}}),s.jsx(xa,{showConfetti:Le})]}):null,m===!0?s.jsx(at,{closeDrawerHandler:me,isPaymentDrawerOpen:m,pageName:"Card List",sourcePage:"cardListPage",creditAccountSpentAmount:sa,productInformation:ra,creditAccountInformation:ta,debitAccountInformation:na,cashbackInformation:We,isDebitCardInfoFetchStateCompleted:!(R&&T&&Z)||Pe.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!j||de.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!Z||Be.fetchState==="Completed",paymentInitiatedDate:de.initiatedRepaymentDate}):null,s.jsxs(Xr,{children:[s.jsx($e,{isAppContentDrawerOpen:k,handleDrawerToggle:fa}),s.jsx(es,{isCashbackFeatureEnabled:w,isChargeCardFeatureEnabled:j,isDebitCardFeatureEnabled:R,isCreditCardProductVisibleForExpressInterest:O,updatePayNowInfoTooltip:o,showPayNowInfoTooltip:f,creditCardPayNowThreshold:oe,signedInUser:S,chargeCardListState:K,location:r,admins:Ra.users,navigateAndClearBulkSelection:n,currentTenant:h,isCardControlsEnabled:ae,companyChargeCardInfoCreditAccountLimit:h.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,isCompanyInterestedInChargeCard:h.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,isUserHasCardsAdminLevelAccess:Z,includeCreditAccountDebitSummaryAndCashbackInfo:D,onClickMenuIcon:()=>{fa(!0)},creditLimit:M,isChargeCardSetupEnabled:re,isDebitCardSetupEnabled:T,isEarlyPayEnabled:l,isChargeCardPaymentHistoryFeatureEnabled:_,cashbackRate:x,controllerEmails:z,chargeCardCashbackDetailState:Be,depositAccountListWithDebitCardIssued:Pe,isChargeCardTOSAccepted:ne,isDebitCardTOSAccepted:J,primaryFundingAccountDetails:pa,chargeCardSetUpViewFetchState:we.fetchState,productInformation:ra,creditAccountInformation:ta,debitAccountInformation:na,cashbackInformation:We,isAiCfoAccessEnabled:b,onAskAiCfoClick:g,isCardsCommentingEnabled:F})]})]}):(ne||J)&&Z===!0?s.jsx(ga,{to:"../setup"}):Te||Ve?s.jsx(ga,{to:"../promo"}):s.jsx(la,{fetchState:ie})}const as=e=>`/${e}/cards/new`,ts=e=>`/${e}/cards/payment`,ns=e=>`/${e}/cards/payment-history`,rs=pe(function(e){const t=X.getSignedInUser(),a=ce(e),r=e.tenantState.currentTenantId,n=Ft(e),m={userId:t?.userId??"",sessionId:t?.zeniSessionId??"",tenantId:r??""},u=a?.companyName??"",f=e.chargeCardPaymentHistoryState.downloadUIState.downloadState;return{fetchState:n.fetchState,filters:n.filters,isZeniTenant:xn(a),repaymentList:n.repaymentHistory,searchText:n.searchText,repaymentHistoryUsers:n.repaymentHistoryUsers,sortConfig:{sortKey:n.uiState.sortKey,sortOrder:n.uiState.sortOrder},downloadParams:{authParams:m,companyName:u,spendManagementEndPoint:`${Ha}/spendManagement`,isShowDeletedBillsEnabled:!1,isShowDeletedReimbursementEnabled:!1},downloadState:f}},function(e,t){const{location:a,navigate:r}=t;return{onBackClick:()=>{const n=ve(a.state?.pathnameStackToGoBack),m=n.poppedPathname??"..";r(m,{state:{pathnameStackToGoBack:n.newStack}})},onColumnSortConfigChanged:(n,m)=>{e({type:"chargeCardPaymentHistory/updatePaymentHistoryUIState",payload:{uiState:{sortKey:n,sortOrder:m}}})},onFiltersChange:n=>{e(Ln({filters:n}))},onReloadPayments:()=>{e(vt(!0))},onSearchTextChanged:n=>{e({type:"chargeCardPaymentHistory/updatePaymentHistorySearchText",payload:n})},updateDownloadStateHandler:n=>{e(Bn({uiState:{downloadState:n}}))}}})(br);function ss(){const e=le(),t=ge(),a=ue(),{areTenantIdsInSync:r}=Vt(),{useFeatureGate:n}=se();if(X.getSignedInUser()==null)throw Error("Can't access payment history page without signing in...");const m=y(q=>ce(q)),u=y(q=>Ft(q)),[f,I]=c.useState(!1),[o,i]=c.useState(!1),[E,S]=c.useState(!1),[h,U]=c.useState(null),v=!m.userRole.includes("charge_card_user"),k=!!m.companyDebitCardInfo?.info?.isDebitCardEnabled,{isFeatureEnabled:C}=n(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:b}=n(Y.isDebitCardFeatureEnabled),g=Se(b,m),d=Ie({isDebitCardFeatureEnabled:b,isBankingOnlyTenant:g}),D=be(m),T=ye(m),V=m.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,L=Ae({isCardsOnlyTenant:D,isChargeCardFeatureEnabled:C,isBookKeepingTenant:T,isDebitCardProductVisible:d,chargeCardsCreditAccountLimit:V}),w=!!m.companyChargeCardInfo?.info?.isChargeCardEnabled,H=je(),p=Ue(H?.loggedInUserRoleMap),l=y(q=>Ke(q,v,d&&k,L&&w)),_=c.useMemo(()=>{const q=l.cards.filter(z=>z.type.code.includes("debit"));return[...new Set(q.map(z=>z.connectedAccountId))]},[l.cards]),F=y(q=>Ze(q)),N=y(q=>va(q,_)),{creditAccountRepayment:R}=y(q=>Ye(q)),G=c.useMemo(()=>Xa(p,F),[p,F]),P=c.useMemo(()=>Ca(L,w,p,l.creditAccount,R),[L,w,p,l.creditAccount,R]),B=c.useMemo(()=>et(d,k,p,N,l.debitCardSummary),[d,k,p,N,l.debitCardSummary]),j=c.useMemo(()=>Oe(L,d,k,w),[L,d,k,w]),O=l.creditAccount.balance.amount+l.creditAccount.hold.amount,W=c.useMemo(()=>h!=null?u.repaymentHistory.find(q=>q.cardRepaymentId===h):void 0,[h,u.repaymentHistory]),A=c.useCallback(q=>{U(q),a(Ia(v,d&&k,L&&w,!1)),S(!0)},[a,v,d,k,L,w]),Z=c.useCallback(()=>{S(!1),U(null),document.body.style.overflow="auto"},[]);return c.useEffect(()=>{f||u.fetchState==="Completed"||u.fetchState==="In-Progress"||(I(!0),a(vt()))},[f,a,u.fetchState]),c.useEffect(()=>{!o&&(w||k)&&r&&(i(!0),a(Ia(v,!1,L&&w,!1)))},[o,w,k,r,a,v,L]),s.jsxs(s.Fragment,{children:[E?s.jsx(at,{closeDrawerHandler:Z,isPaymentDrawerOpen:E,pageName:"Payment History",sourcePage:"cardPaymentHistory",creditAccountSpentAmount:O,productInformation:j,creditAccountInformation:P,debitAccountInformation:B,cashbackInformation:G,isDebitCardInfoFetchStateCompleted:!(d&&k&&p)||N.fetchState==="Completed",isCreditCardInfoFetchStateCompleted:!L||R.fetchState==="Completed",isCashbackInfoFetchStateCompleted:!p||F.fetchState==="Completed",paymentInitiatedDate:R.initiatedRepaymentDate,retryRepayment:W}):null,s.jsx(rs,{location:t,navigate:e,accountInfoByAccountId:u.accountInfoByAccountId,onRetryPaymentClick:A})]})}const ct=_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
+ `,dt=qa.getLocalizedStrings().months;function os(){const e=le(),t=ue(),a=ge(),{creditAccount:r,creditAccountRepayment:n}=y(P=>Ye(P)),m=`${Nt.cardMicroServiceBaseUrl}/1.0/credit-accounts/${r.id}`,[u,f]=c.useState(!1),[I,o]=c.useState(!1),i=y(P=>Rn(P)),{useFeatureGate:E}=se(),S=y(P=>ce(P)),{isFeatureEnabled:h}=E(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:U}=E(Y.isDebitCardFeatureEnabled),v=Se(U,S),k=Ie({isDebitCardFeatureEnabled:U,isBankingOnlyTenant:v}),C=be(S),b=ye(S),g=S.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,d=Ae({isCardsOnlyTenant:C,isChargeCardFeatureEnabled:h,isBookKeepingTenant:b,isDebitCardProductVisible:k,chargeCardsCreditAccountLimit:g}),D=!!S.companyDebitCardInfo?.info?.isDebitCardEnabled,T=!!S.companyChargeCardInfo?.info?.isChargeCardEnabled,V=y(P=>Ge(P,S.companyId)),L=ze(V.controllers),w=y(P=>xt(P)),H=w.cards.filter(P=>P.type.code.includes("debit")).map(P=>P.connectedAccountId),p=[...new Set(H)],l=y(P=>va(P,p)),_=y(P=>Un(P));c.useEffect(()=>{I||r.fetchState==="Completed"||r.fetchState==="In-Progress"||(f(!0),t($a()))},[u,t,r.fetchState]),c.useEffect(()=>{I||r.fetchState!=="Completed"||r.id==null||i.fetchState==="Completed"||i.fetchState==="In-Progress"||(o(!0),t(On(r.id)))},[I,t,r.fetchState,r.id,i.fetchState]),c.useEffect(()=>{l.fetchState!=="Completed"&&l.fetchState!=="In-Progress"&&k&&D&&t(Bt()),w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&t(ia()),_.fetchState!=="Completed"&&_.fetchState!=="In-Progress"&&k&&D&&t(jn()),n.fetchState!=="Completed"&&n.fetchState!=="In-Progress"&&d&&T&&t(Ga())},[l.fetchState,k,D,w.fetchState,_.fetchState,n.fetchState,d,T]),c.useEffect(()=>{if(i.fetchState==="Completed"&&r.fetchState==="Completed"&&n.fetchState==="Completed"&&w.fetchState==="Completed"&&(!k||!D||l.fetchState==="Completed"&&_.fetchState==="Completed")){let P="",B="";if(i.statements.length>0){const A=i.statements[i.statements.length-1].period,[Z,q]=A.split("-"),z=i.statements[0].period,[x,oe]=z.split("-");P=`${dt[parseInt(q)-1]} ${Z}`,B=`${dt[parseInt(oe)-1]} ${x}`}const j=Oe(d,k,D,T),O=Ca(d,T,!0,r,n),W=et(k,D,!0,l,_);Q.trackCardsCreditCardStatementsView(L,j,{numberOfStatements:i.statements.length,oldestStatementMonthYear:P,latestStatementMonthYear:B},O,W)}},[i.fetchState,r.fetchState,n.fetchState,l.fetchState,w.fetchState,_.fetchState]);const F=()=>{const P=ve(a.state?.pathnameStackToGoBack),B=P.poppedPathname??"..";e(B,{state:{pathnameStackToGoBack:P.newStack}})},N=y(P=>Ze(P)),R=X.getSignedInUser(),G={userId:R?.userId??"",sessionId:R?.zeniSessionId??"",tenantId:S.tenantId??""};if(R==null)throw Error("Can't access address page without signing in...");if(i.fetchState!=="Completed")return s.jsx(ct,{children:s.jsx(yr,{onBackClick:F})});{const P=Oe(d,k,D,T);return s.jsx(ct,{children:s.jsx(Sr,{currentTenantCompanyName:S.companyName,statementListView:i,productInformation:P,onBackClick:F,authParams:G,controllerEmails:L,isChargeCardFeatureEnabled:d,isDebitCardFeatureEnabled:k,isDebitCardSetupEnabled:D,isChargeCardSetupEnabled:T,chargeCardCashbackDetailState:N,creditAccount:r,creditAccountRepayment:n,depositAccountListWithDebitCardIssued:l,debitCardSummary:_,downloadEndPoint:m})})}}const is={containerWidth:new ma(100,58)},cs=({appContent:e})=>{const t=ua(),a=ue(),r=le(),n=ge(),{useDynamicConfig:m}=se(),[u,f]=c.useState(!1),[I,o]=c.useState(!1),[i,E]=c.useState(!1),[S,h]=c.useState(!1),[U,v]=c.useState(!1),[k,C]=c.useState(!1),b=X.getSignedInUser();if(b==null)throw Error("Can't access onboarding card page without signing in...");const g=y(O=>ce(O)),{configValue:d}=m(Fe.zeniCardsConfig),D=y(O=>Nn(O)),{tenantEmailDomain:T}=g,V=y(O=>O.settingsViewState.profile.fetchState),L=y(O=>O.chargeCardListState.fetchState),w=y(O=>O.settingsViewState.profile.userId),H=y(O=>O.chargeCardConfigState.fetchState);c.useEffect(()=>{u===!1&&V!=="In-Progress"&&V!=="Completed"&&(a(Vn()),f(!0)),I===!1&&H!=="In-Progress"&&H!=="Completed"&&(a(Da()),o(!0)),i===!1&&L==="Not-Started"&&(E(!0),a(ia()))},[u,i,L,I,H]),c.useEffect(()=>{V==="Completed"&&U===!1&&w!=null&&L==="Completed"&&D.cards.length>0&&(a(Hn({userId:w})),a(Lt({cardId:D.cards[D.cards.length-1].id})),v(!0))},[V,U,w,L]),c.useEffect(()=>{if(!S&&D.fetchState==="Completed"&&D.cards.length===0){const O=ve(n.state?.pathnameStackToGoBack),W=O.poppedPathname??Ne(T);r(W,{state:{pathnameStackToGoBack:O.newStack}})}},[D.fetchState,D.cards,S]);const p=y(O=>ka(O)),l=Qa(p.updateStatus.fetchState),_=p.currentDisplayedCardId,{useFeatureGate:F}=se(),{isFeatureEnabled:N}=F(Y.isChargeCardFeatureEnabled),R=!!g.companyChargeCardInfo?.info?.isChargeCardEnabled,G=!g.userRole.includes("charge_card_user")&&N&&R,P=y(O=>_!=null?Rt(O.chargeCardState,_):null),B=()=>{_!=null&&(a(Xe(_,G,!0)),a(ia()),h(!0))};c.useEffect(()=>{if(S&&_!=null&&P!=null&&P.status.code!=="request_on_hold"){const O=Ce(g.tenantEmailDomain,_,b,P),W=fe(n.state?.pathnameStackToGoBack,n.pathname);a(Mn()),P?.type.code==="business_virtual_credit_card"&&a(_a()),r(O,{state:{pathnameStackToGoBack:W},replace:!0})}},[S,P?.status.code]),c.useEffect(()=>{l==="In-Progress"&&p.updateStatus.fetchState==="Completed"&&setTimeout(B,3e3)},[l,p.updateStatus.fetchState]);const j=O=>{C(O)};if(!S&&L!=="Completed"||V!=="Completed"||D.cards.length===0)return s.jsxs(lt,{children:[s.jsx($e,{isAppContentDrawerOpen:k,handleDrawerToggle:j}),s.jsx(Ir,{})]});if(w==null)throw Error("Can't access my userId.");return s.jsxs(lt,{children:[s.jsx($e,{isAppContentDrawerOpen:k,handleDrawerToggle:j}),s.jsx(ds,{chargeCardListView:D,cardUserOnboardingView:p,navigate:r,currentTenant:g,myUserId:w,location:n,chargeCardCashbackRatePerTransaction:d.charge_card_cashback_rate_per_transaction!=null?d.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{j(!0)}}),e!=null?s.jsx(ls,{windowSize:t,children:e}):null]})},ds=pe(function(e,{currentTenant:t,cardUserOnboardingView:a,chargeCardListView:r,myUserId:n}){const m=Ke(e,!1,!1,!1);let u=!1;return m.fetchState==="Completed"&&m.cards.length<=1&&(u=!0),{cards:r.cards,showMenuIcon:u,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:m}=t,{tenantEmailDomain:u}=m;return{updateCardUserOnboardingLocalData:f=>{e(rt({localData:f}))},onGetOtp:f=>{if(r.cardUserOnboardingLocalData!=null){const I={...r.cardUserOnboardingLocalData,phone:f};e(rt({localData:I}))}e(Ta(f,"CardUserOnboarding"))},onResendOtp:f=>{e(wa(f,"CardUserOnboarding"))},onVerifyOtp:(f,I)=>{e(Pa(f,I,"CardUserOnboarding"))},onVerifyOtpSuccess:f=>{e($n()),f!=null&&X.saveZeniOtpToken(f)},setCurrentDisplayedCardId:f=>{e(Lt({cardId:f}))},onBackClick:()=>{const f=ve(n.state?.pathnameStackToGoBack),I=f.poppedPathname??Ne(u);a(I,{state:{pathnameStackToGoBack:f.newStack}})}}})(Ar),ls=_e.div`
35
+ display: flex;
36
+ flex-direction: column;
37
+ width: ${e=>`${is.containerWidth.value(e.windowSize)}%`};
38
+ ${e=>e.windowSize!=="small"?"overflow: auto;":""}
39
+ `,lt=_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 ma(100,58)},ms=({appContent:e})=>{const t=ua(),a=ue(),r=le(),{cardId:n}=ca(),m=ge(),{useDynamicConfig:u,useFeatureGate:f}=se(),[I,o]=c.useState(!1),[i,E]=c.useState(!1),[S,h]=c.useState(!1),[U,v]=c.useState(!1),k=X.getSignedInUser();if(k==null)throw Error("Can't access onboarding card page without signing in...");const C=y(B=>ce(B));if(n==null)throw Error("Empty card id is not valid...");const{configValue:b}=u(Fe.zeniCardsConfig),g=y(B=>Gn(B,n)),{isFeatureEnabled:d}=f(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:D}=f(Y.isDebitCardFeatureEnabled),T=Se(D,C),V=Ie({isDebitCardFeatureEnabled:D,isBankingOnlyTenant:T}),L=be(C),w=ye(C),H=C.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,p=Ae({isCardsOnlyTenant:L,isChargeCardFeatureEnabled:d,isBookKeepingTenant:w,isDebitCardProductVisible:V,chargeCardsCreditAccountLimit:H}),l=g.chargeCard,_=y(B=>B.chargeCardConfigState.fetchState);c.useEffect(()=>{I===!1&&_!=="In-Progress"&&_!=="Completed"&&(a(Da()),o(!0)),i===!1&&g.fetchState==="Not-Started"&&(E(!0),a(Xe(n,!1,p)))},[i,g.fetchState,I,_]);const F=l?.type.code==="business_physical_debit_card"||l?.type.code==="business_virtual_debit_card";c.useEffect(()=>{if(g.fetchState==="Completed"){if(S===!1&&(F===!1||F&&l.status?.code!=="active"||F&&l.status.code==="active"&&l.isPinSet||l.cardHolderUserId!==k.userId)){const B=Ce(C.tenantEmailDomain,n,k,l,!0),j=fe(m.state?.pathnameStackToGoBack,m.pathname);r(B,{state:{pathnameStackToGoBack:j}})}else if(S&&g.isRefreshingViewInBackground===!1&&l?.isPinSet===!0){a(zn({chargeCardId:n}));const B=Ce(C.tenantEmailDomain,n,k,l,!0),j=fe(m.state?.pathnameStackToGoBack,m.pathname);a(_a()),r(B,{state:{pathnameStackToGoBack:j}})}}},[g.fetchState,l?.type.code,S,g.isRefreshingViewInBackground]);const N=X.getZeniOtpTokenForCardHolder(n),R=y(B=>pt(B.userState,k.userId)),G=()=>{l?.isPinSet!==!0&&a(za(n,!0))};c.useEffect(()=>{g.updateDebitCardPinAttemptFetchState.fetchState==="Completed"&&(setTimeout(G,3e3),h(!0))},[g.updateDebitCardPinAttemptFetchState.fetchState]);const P=B=>{v(B)};if(_!=="Completed"||l==null)return s.jsx(la,{fetchState:"In-Progress"});if(R?.phone==null)throw Error("Can't access user phone number.");return s.jsxs(hs,{children:[s.jsx($e,{isAppContentDrawerOpen:U,handleDrawerToggle:P}),s.jsx(Cs,{cardId:n,card:l,phone:R.phone,signedInUser:k,isSandboxEnv:Ka(),debitCardDetailState:g,signedInUserToken:N,navigate:r,currentTenant:C,location:m,chargeCardCashbackRatePerTransaction:b.charge_card_cashback_rate_per_transaction!=null?b.charge_card_cashback_rate_per_transaction:.0175,onClickMenuIcon:()=>{P(!0)}}),e!=null?s.jsx(ps,{windowSize:t,children:e}):null]})},Cs=pe(function(e,{debitCardDetailState:t,cardId:a}){const r=ht(e,a),n=t.updateStatus,m=Ke(e,!1,!1,!1);let u=!1;return m.fetchState==="Completed"&&m.cards.length<=1&&(u=!0),{showMenuIcon:u,vgsVaultId:Ba.cardVaultId,twoFAView:r,setPinWaitStatus:n}},function(e,t){const{navigate:a,cardId:r,location:n,currentTenant:m,debitCardDetailState:u}=t,f=u.chargeCard?.cardProviderID,{tenantEmailDomain:I}=m;return{onGetOtp:o=>{f!=null&&e(Ta(o,"ChargeCardHolder",r))},onUpdateDebitCardPinAttempt:o=>{e(It(r,o))},onResendOtp:o=>{f!=null&&e(wa(o,"ChargeCardHolder",r))},onVerifyOtp:(o,i)=>{f!=null&&e(Pa(o,i,"ChargeCardHolder",r))},onVerifyOtpSuccess:o=>{o!=null&&X.saveZeniOtpTokenForCardHolder(o,r)},onSetPinSuccess:()=>{e(Yn({chargeCardId:r}))},onBackClick:()=>{const o=ve(n.state?.pathnameStackToGoBack),i=o.poppedPathname==null||o.poppedPathname.includes("activate")===!0?Ne(I):o.poppedPathname;a(i,{state:{pathnameStackToGoBack:o.newStack}})}}})(Er),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=>`${Aa.sp0} 2px ${Aa.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=>`${Aa.sp0} 2px ${Aa.sp1} ${e.theme.colors.dropShadowNormal}`};
62
+ `,fs={overlayWidth:new ma(Ua[12],Ua[12],Ua[9])},gs=pe(function(e,t){const a=Za(e,!1,!1),r=t.lineId,n=a.customAddress[r],m=a.customAddressStatus[r]??{fetchState:"Not-Started",error:void 0};return{googleAPIKey:t.googleAPIKey,customAddress:n,customAddressStatus:m,lineId:r}},function(e,t){const{newCustomAddressId:a,lineId:r,chargeCardTypeOption:n}=t;return{onSubmitHandler:m=>{a!=null&&e(Ut(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`));const u=jr(m);e(Wn({addressType:`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`,addressToCreate:u})),e(qn(`${n==="creditCard"?"credit":"debit"}_custom_shipping_${r}_address`))},onDismissClick:()=>{t.onDismissClick(),a!=null&&e(Kn({addressId:a,cardLineId:r,cardType:n==="creditCard"?"business_physical_credit_card":"business_physical_debit_card"}))}}})(kr),bs=({lineId:e,closeDrawerHandler:t,chargeCardTypeOption:a})=>{const r=Wa(),n=ua(),m=()=>{t()},u=y(f=>Zn(`${a==="creditCard"?"credit":"debit"}_custom_shipping_${e}_address`,f))?.newAddressId;return s.jsx(Mt,{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:(f,I)=>(I==="backdropClick"||I==="escapeKeyDown")&&m(),children:s.jsx(gs,{googleAPIKey:Ba.googleMapsAPIKey,onDismissClick:m,lineId:e,chargeCardTypeOption:a,newCustomAddressId:u})})},ys=pe(function(e,t){const{isChargeCardFeatureEnabled:a,isDebitCardFeatureEnabled:r,isIssuePhysicalCardEnabled:n,isIssuePhysicalDebitCardEnabled:m,isChargeCardSetupEnabled:u,isDebitCardSetupEnabled:f}=t,I=Za(e,a&&u,r&&f);return{issueChargeCards:I,isIssuePhysicalCardEnabled:n,isIssuePhysicalDebitCardEnabled:m,isDebitCardFeatureEnabled:r,isChargeCardFeatureEnabled:a,isChargeCardSetupEnabled:u,isDebitCardSetupEnabled:f,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(Xn())},onSaveChangesToLocalStore:a=>{e(Jn(a))},onDismissClick:()=>{e(Ot()),t.navigate("../")},resetCustomAddressByLineID:(a,r)=>{e(Ut(`${r==="creditCard"?"credit":"debit"}_custom_shipping_${a}_address`))},openAddAddressDrawerHandler:t.openAddAddressDrawerHandler}})(Pr);function Ss(){const e=X.getSignedInUser(),t=le(),a=ue(),r=Dr(),[n]=ut(),m=n.get("cardType"),{useFeatureGate:u}=se(),{isFeatureEnabled:f}=u(Y.isIssuePhysicalCardEnabled),{isFeatureEnabled:I}=u(Y.isIssuePhysicalDebitCardEnabled),{isFeatureEnabled:o}=u(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:i}=u(Y.isChargeCardFeatureEnabled),E=y(G=>ce(G)),S=Se(o,E),h=Ie({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:S}),U=be(E),v=ye(E),k=E.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,C=Ae({isCardsOnlyTenant:U,isChargeCardFeatureEnabled:i,isBookKeepingTenant:v,isDebitCardProductVisible:h,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(h&&D,C&&d,!1)))},[b,g,a]);const d=!!E.companyChargeCardInfo?.info?.isChargeCardEnabled,D=!!E.companyDebitCardInfo?.info?.isDebitCardEnabled,T=y(G=>Za(G,C&&d,h&&D)),V=T.fetchState,L=T.issueCardStatus.fetchState,w=T.lastSelfIssuedDebitCardId,H=y(G=>w!=null?Rt(G.chargeCardState,w):void 0),[p,l]=c.useState(null),[_,F]=c.useState(null),N=()=>{l(null)},R=(G,P)=>{l(G),F(P)};return c.useEffect(()=>{if(L==="Completed"){if(w!=null&&H?.type.code==="business_virtual_debit_card"){let G;G=H?.status.code==="request_on_hold"&&e.userId===H.cardHolderUserId?Yt(E.tenantEmailDomain):Ce(E.tenantEmailDomain,w,e,H),t(G)}else t("../");a(Ot())}},[L,w]),V==="Completed"?s.jsxs(s.Fragment,{children:[p!==null&&_!==null?s.jsx(bs,{closeDrawerHandler:N,lineId:p,chargeCardTypeOption:_}):null,s.jsx(ys,{themeState:r,isIssuePhysicalCardEnabled:f,isIssuePhysicalDebitCardEnabled:I,isDebitCardFeatureEnabled:h,isChargeCardFeatureEnabled:C,isChargeCardSetupEnabled:d,isDebitCardSetupEnabled:D,navigate:t,fetchState:T.fetchState,openAddAddressDrawerHandler:R,defaultCardType:m==="creditCard"||m==="debitCard"?m:void 0})]}):V==="Error"?s.jsx(La,{}):s.jsx(_r,{})}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=pe(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:m,myPendingActivationChargeCardListState:u}=t,{tenantEmailDomain:f}=r,{cards:I}=u;return{onChargeCardRowClick:o=>{const i=zt(I,o),E=Ce(f,o,m,i),S=fe(n.state?.pathnameStackToGoBack,n.pathname);a(E,{state:{pathnameStackToGoBack:S}})},onColumnSortConfigChanged:(o,i)=>{e(Na({uiState:{sortKey:o,sortOrder:i}}))},onReloadCards:()=>{e(ia())},onBackClick:()=>{const o=r.userRole.includes("charge_card_user");e(Na({uiState:{sortKey:o?"cardName":"owner",sortOrder:"ascending"}})),a("../")}}})(wr);function Es(){const e=le(),t=ue(),a=ge(),r=Wa(),[n,m]=c.useState(!1),u=y(F=>er(F)),f=y(F=>ce(F)),I=y(F=>Ge(F,f.companyId)),o=ze(I.controllers),{useFeatureGate:i}=se(),{isFeatureEnabled:E}=i(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:S}=i(Y.isDebitCardFeatureEnabled),h=Se(S,f),U=Ie({isDebitCardFeatureEnabled:S,isBankingOnlyTenant:h}),v=!!f.companyDebitCardInfo?.info?.isDebitCardEnabled,k=!!f.companyChargeCardInfo?.info?.isChargeCardEnabled,C=je(),b=be(f),g=ye(f),d=f.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,D=Ae({isCardsOnlyTenant:b,isChargeCardFeatureEnabled:E,isBookKeepingTenant:g,isDebitCardProductVisible:U,chargeCardsCreditAccountLimit:d}),T=Ue(C?.loggedInUserRoleMap),V=y(F=>Ze(F)),{creditAccount:L,creditAccountRepayment:w}=y(F=>Ye(F)),H=y(F=>xt(F)).cards.filter(F=>F.type.code.includes("debit")).map(F=>F.connectedAccountId),p=[...new Set(H)],l=y(F=>va(F,p));c.useEffect(()=>{n||u.fetchState==="Completed"||u.fetchState==="In-Progress"||(m(!0),t(ia()),t(Da()))},[n,t,u.fetchState]),c.useEffect(()=>{if(u.fetchState==="Completed"&&u.cards.length===1&&_!=null){const F=Ce(f.tenantEmailDomain,u.cards[0].id,_,u.cards[0]);e(F,{state:{message:a.state?.message}})}},[u.fetchState,u.cards]);const _=X.getSignedInUser();if(c.useEffect(()=>{L.fetchState!=="Completed"&&L.fetchState!=="In-Progress"&&D&&k&&T&&t($a()),w.fetchState!=="Completed"&&w.fetchState!=="In-Progress"&&T&&t(Ga()),l.fetchState!=="Completed"&&l.fetchState!=="In-Progress"&&U&&v&&T&&t(Bt())},[L.fetchState,w.fetchState,t,l.fetchState,U,v,T,D,k]),_==null)throw Error("Can't access address page without signing in...");if(u.fetchState!=="Completed")return s.jsx(la,{fetchState:"In-Progress",style:{backgroundColor:r.colors.grey5}});{const F=Oe(D,U,v,k);return s.jsx(Is,{children:s.jsx(As,{navigate:e,currentTenant:f,signedInUser:_,productInformation:F,myPendingActivationChargeCardListState:u,isChargeCardFeatureEnabled:D,isDebitCardFeatureEnabled:U,isDebitCardSetupEnabled:v,isChargeCardSetupEnabled:k,chargeCardCashbackDetailState:V,creditAccount:L,creditAccountRepayment:w,depositAccountListWithDebitCardIssued:l,controllerEmails:o,location:a})})}}const ks=pe(function(e,t){const{companyId:a,companyLegalName:r}=t;return{chargeCardSetupView:da(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:m,isChargeCardSetupEnabled:u,signedInUser:f,location:I,productInformation:o,isEarlyPayEnabled:i,controllerEmails:E,chargeCardsCreditAccountLimit:S}=t;return{onSetupButtonClick:h=>{if(f!=null&&Q.trackCardsPromoPageClicked("enable cards"),n)switch(Q.trackCardsEnableCardsClick(E,o,"Cards Promo"),h){case"credit":e(Re(r,!0,"charge_cards",i,!1));break;case"debit":e(Re(r,!0,"debit_cards",i,!1));break;case"debit_and_credit":e(S===0?Re(r,!0,"debit_cards",i,!0):Re(r,!0,"charge_cards__debit_cards",i,!1))}else switch(Q.trackCardsSetupCardsClick(E,o,"Cards Promo"),h){case"credit":e(Re(r,!1,"charge_cards",i,!1));break;case"debit":e(Re(r,!1,"debit_cards",i,!1));break;case"debit_and_credit":e(S===0?Re(r,!1,"debit_cards",i,!0):Re(r,!1,"charge_cards__debit_cards",i,!1))}},onBackClick:()=>{const h=ve(I.state?.pathnameStackToGoBack);let U=h.poppedPathname;U==null&&(U=m||u?"..":"../.."),a(U,{state:{pathnameStackToGoBack:h.newStack}})},onLetsGoClick:()=>{a("./onboard")},onSetupChargeCardSuccess:()=>{n?(e(_a()),a("../",{relative:"path"})):a("../setup",{relative:"path"})},onExpressInterestClick:()=>{e(nr(r))}}})(Fr),Ds=()=>{const e=le(),{tenantEmailDomain:t}=ca(),[a]=ut(),r=a.get("cardPromoType"),n=ue(),{useDynamicConfig:m,useFeatureGate:u}=se(),[f,I]=c.useState(!1),{isFeatureEnabled:o}=u(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:i}=u(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:E}=u(Y.isChargeCardFeatureEnabled),{configValue:S}=m(Fe.zeniCardsConfig),h=y(ee=>ce(ee)),U=y(ee=>Ge(ee,h.companyId)),v=ze(U.controllers),k=S.charge_card_cashback_rate_per_transaction!=null?S.charge_card_cashback_rate_per_transaction:.0175,C=ge(),b=X.getSignedInUserTenant(t)?.companyId??h.companyId,g=y(ee=>da(ee,b)),d=g.primaryFundingAccount,D=h.companyBillPayInfo?.info,T=be(h),V=ye(h),L=Se(o,h),w=h.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,H=Ie({isDebitCardFeatureEnabled:o,isBankingOnlyTenant:L}),p=Ae({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:E,isBookKeepingTenant:V,isDebitCardProductVisible:H,chargeCardsCreditAccountLimit:w}),l=Gt({isCardsOnlyTenant:T,isChargeCardFeatureEnabled:E,isBookKeepingTenant:V}),_=H&&p===!1,F=D?.businessVerificationStatus?.code==="verified"&&(_||d?.accType==="depositAccount"||ar(d?.providerVerificationStatus?.code??"")),N=X.getSignedInUser(),R=!!h.companyZeniAccountInfo?.info?.isZeniAccountEnabled,G=!!h.companyChargeCardInfo?.info?.isChargeCardTOSAccepted,P=!!h.company?.companyChargeCardInfo.isChargeCardEnabled,B=!!h.company?.companyDebitCardInfo.isDebitCardEnabled,j=!!h.companyDebitCardInfo?.info?.isDebitCardTOSAccepted,O=ee=>{I(ee)},W=y(ee=>ee.chargeCardSetupViewState.fetchState);if(N==null)throw Error("Can't access Charge Card promo page without signing in...");const A=je(),Z=Ue(A?.loggedInUserRoleMap),q=Ya(A?.loggedInUserRoleMap),[z,x]=c.useState(!1),[oe,ae]=c.useState(!1),[ne,J]=c.useState(!1);c.useEffect(()=>{z===!1&&C.state?.message==="activation"&&x(!0)},[C.state]),c.useEffect(()=>{oe||W!=="Not-Started"||b==null||(ae(!0),n(Fa(b,!0)))},[oe,W,b,n]);const re=h.companyChargeCardInfo?.info!=null&&Je({cardInfo:h.companyChargeCardInfo.info,isProductVisible:l,isTOSAccepted:G,isSetupEnabled:P,isUserHasCardsAdminLevelAccess:Z,isUserHasCardsAccess:q}),Ee=h.companyDebitCardInfo?.info!=null&&Je({cardInfo:h.companyDebitCardInfo.info,isProductVisible:H,isTOSAccepted:j,isSetupEnabled:B,isUserHasCardsAdminLevelAccess:Z,isUserHasCardsAccess:q}),xe=H&&Ee&&l&&w>=0&&re?"debit_and_credit":H&&Ee?"debit":"credit",K=Ur(r,xe),he=g?.chargeCardTermsDetails?.fetchStatus?.fetchState,ke=c.useRef(null);c.useEffect(()=>{he==="In-Progress"?ke.current=K:he!=="Error"&&he!=="Not-Started"||(ke.current=null)},[he,K]);const Be=he!=="In-Progress"&&he!=="Completed"||ke.current==null?K:ke.current;c.useEffect(()=>{K==="credit"&&(P||l===!1&&B)||K==="debit"&&B||K==="debit_and_credit"&&B&&P?e("../"):(K==="debit_and_credit"&&G===!0&&j===!0||K==="credit"&&(G===!0||l===!1&&j===!0)||K==="debit"&&j===!0)&&Z===!0&&e("../setup")},[F,P,B,K,G,j]),c.useEffect(()=>{ne||(n(tr("cardAdmin")),J(!0))},[ne]);const Pe=y(ee=>Tt(ee.userState,ee.userRoleState,ee.userListViewState,"cardAdmin")),we=Oe(l,H,B,P);return(re||Ee)&&W==="Completed"?s.jsxs(s.Fragment,{children:[s.jsx(Ja,{analytics:Q,onLoad:()=>{if(Q.trackPageLoaded(Ht.Event.cardsPromoPage),!!l&&!P||!!H&&!B||!!l&&!!H&&!B&&!P){const ee=_s({isDebitCardSetupEnabled:B,isChargeCardSetupEnabled:P,isCreditCardProductVisibleForExpressInterest:l,isDebitCardProductVisible:H});Q.trackCardsPromoView(v,we,"Page",ee,"Promo Page")}}}),s.jsx(xa,{showConfetti:z}),s.jsx($e,{isAppContentDrawerOpen:f,handleDrawerToggle:O}),s.jsx(ks,{signedInUser:N,location:C,showEnableCardButton:F,isCompanyBusinessVerificationAndPaymentSetUpDone:F,isChargeCardSetupEnabled:P,isDebitCardSetupEnabled:B,companyLegalName:h.companyName,adminList:Pe.users,isCheckingEnabled:R,navigate:e,companyId:b,cardPromoType:Be,controllerEmails:v,productInformation:we,isCreditCardProductVisible:p,isDebitCardFeatureEnabled:o,isEarlyPayEnabled:i,cashbackRate:k,chargeCardsCreditAccountLimit:w,onClickMenuIcon:()=>{O(!0)}})]}):s.jsxs(s.Fragment,{children:[s.jsx($e,{isAppContentDrawerOpen:f,handleDrawerToggle:O}),s.jsx(Tr,{})]})},_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 Qs(){const e=ge(),t=y(W=>ce(W)),{useFeatureGate:a}=se(),{isFeatureEnabled:r}=a(Y.isChargeCardFeatureEnabled),{isFeatureEnabled:n}=a(Y.isDebitCardFeatureEnabled),{isFeatureEnabled:m}=a(Y.isEarlyPayFeatureEnabled),{isFeatureEnabled:u}=a(Y.isChargeCardPaymentHistoryFeatureEnabled),f=Se(n,t),I=Ie({isDebitCardFeatureEnabled:n,isBankingOnlyTenant:f}),o=vr(t,r,n),i=!!t.company?.companyChargeCardInfo.isChargeCardTOSAccepted,E=!!t.company?.companyDebitCardInfo.isDebitCardTOSAccepted,S=!!t.company?.companyChargeCardInfo.isChargeCardEnabled,h=!!t.company?.companyDebitCardInfo.isDebitCardEnabled,U=je(),v=Ue(U?.loggedInUserRoleMap),k=Ya(U?.loggedInUserRoleMap),{isFeatureEnabled:C}=a(Y.isCashbackFeatureEnabled),b=t.userRole.includes("charge_card_user"),g=!b,d=!b&&S,D=t?.userRole!=null&&rr(t?.userRole),T=(t?.company==null||t.company.featuresActivationInfo?.isBillPayFeatureEnabled&&!D)&&sr(U?.loggedInUserRoleMap),V=or(U?.loggedInUserRoleMap),L=(t?.company==null||t.company.featuresActivationInfo?.isReimbursementFeatureEnabled&&!D)&&ir(U?.loggedInUserRoleMap),{isFeatureEnabled:w}=a(Y.isDepositAccountsFeatureEnabled),H=w&&!D&&gt(U?.loggedInUserRoleMap),p=S&&!D,l=h&&!D,_=o&&!D&&Ue(U?.loggedInUserRoleMap),F=cr(U?.loggedInUserRoleMap),N=be(t),R=ye(t),G=t.companyChargeCardInfo?.info?.chargeCardsCreditAccountLimit??0,P=Ae({isCardsOnlyTenant:N,isChargeCardFeatureEnabled:r,isBookKeepingTenant:R,isDebitCardProductVisible:I,chargeCardsCreditAccountLimit:G}),B=t.companyChargeCardInfo?.info!=null&&Je({cardInfo:t.companyChargeCardInfo.info,isProductVisible:P,isTOSAccepted:i,isSetupEnabled:S,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:k}),j=t.companyDebitCardInfo?.info!=null&&Je({cardInfo:t.companyDebitCardInfo.info,isProductVisible:I,isTOSAccepted:E,isSetupEnabled:h,isUserHasCardsAdminLevelAccess:v,isUserHasCardsAccess:k}),O=B||j;return s.jsxs(Wt,{children:[v?s.jsx(te,{path:"setup",element:s.jsx(st,{isBillPayAdminLevelAccess:T,isReimbursementAdminLevelAccess:L,isZeniAccountAdminLevelAccess:H,isChargeCardAdminLevelAccess:_,isUserHasOnlyCardAccess:F,isUserHasOnlyBillPayAccess:V,productType:"charge_cards",type:"setup"})}):null,v?s.jsx(te,{path:"verification",element:s.jsx(st,{isBillPayAdminLevelAccess:T,isUserHasOnlyBillPayAccess:V,isReimbursementAdminLevelAccess:L,isZeniAccountAdminLevelAccess:H,isChargeCardAdminLevelAccess:_,isUserHasOnlyCardAccess:F,productType:"charge_cards",type:"verification"})}):null,s.jsx(te,{path:"promo",element:s.jsx(Ds,{})}),p||l?s.jsxs(s.Fragment,{children:[s.jsx(te,{path:"/",element:s.jsx(it,{isPaymentDrawerOpen:!1})}),_&&m?s.jsx(te,{path:"payment",element:s.jsx(it,{isPaymentDrawerOpen:!0})}):null,s.jsx(te,{path:"activate",element:s.jsx(Es,{})}),s.jsx(te,{path:"onboard",element:s.jsx(cs,{})}),v?s.jsx(te,{path:"new",element:s.jsx(Ss,{})}):null,C&&g?s.jsx(te,{path:"cashback",element:s.jsx(Hr,{})}):null,d?s.jsx(te,{path:"statements",element:s.jsx(os,{})}):null,_&&u&&S?s.jsx(te,{path:"payment-history",element:s.jsx(ss,{})}):null,s.jsx(te,{path:":cardId/activate",element:s.jsx(Gr,{})}),s.jsx(te,{path:":cardId/setPin",element:s.jsx(ms,{})}),s.jsx(te,{path:":cardId/addToWallet",element:s.jsx(Nr,{})}),s.jsx(te,{path:":cardId/*",element:s.jsx(Jr,{})}),s.jsx(te,{path:"*",element:s.jsx(La,{})})]}):(i||E)&&v?s.jsx(te,{path:"*",element:s.jsx(ga,{to:"../setup"})}):O?s.jsx(te,{path:"*",element:s.jsx(ga,{to:"../promo",state:e.state})}):s.jsx(te,{path:"*",element:null})]})}export{Qs as default};
@@ -0,0 +1 @@
1
+ import{j as m}from"./liveblocks-D1TxH59e.js";import{a as g}from"./sentry-5pTQe3BK.js";import{h as w,u as k,g as x,i as T,j as O,n as E}from"./core-Fwwp8hop.js";import{z as C,b7 as P,H as F,c as V,e as j,af as b,b8 as A,at as L,au as M,m as U}from"./index-Sm9Ycasn.js";import{eP as D,fG as B,sb as _,fB as G,c2 as R,ME as z,bn as H,qc as q,q0 as Y,kb as Z,lH as S,MF as $,bE as J,cv as N,lP as K,lS as Q}from"./zeni-epic-state-i1VxNGkd.js";import"./mui-Dar_oGjJ.js";import{d as W}from"./routePaths-Pqm-PNC8.js";import{M as X}from"./MobileAppDrawer-n526oWrk.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new t.Error().stack;a&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[a]="e50ec17b-6eea-4c1c-a5c3-7df42d87fc61",t._sentryDebugIdIdentifier="sentry-dbid-e50ec17b-6eea-4c1c-a5c3-7df42d87fc61")}catch{}})();const ee=E(function(t){const a=G(t),i=C.getSignedInUser(),l=D(t),c=l.tenantId,p={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=R(l?.userRole??[])&&a.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=z(t.companyConfigState),n=t.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:a.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:a,allIndustries:e.companyIndustries??[],allNationalityCountries:n,isDisabled:f,authParams:p,filesEndPoint:`${L.fileMicroServiceBaseUrl}`,isZeniUser:H(i)}},function(t,a){const{companyId:i,currentTenant:l,navigate:c,location:p}=a,{tenantEmailDomain:f}=l;return{onScheduleClick:e=>{let n=e.href;n.includes("http")||(n="https://".concat(n)),window.open(n,"_blank")},onSaveAll:()=>{t(Q())},onAddressClick:e=>{const n=W(f,e),o=U(p.state?.pathnameStackToGoBack,p.pathname);c(n,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{t(K({companyId:i}))},onBackClick:()=>{c("../")},onCompanyDetailsChanged:e=>{const{companyInfo:n,incInfo:o,taxDetails:r,zeniFinanceTeam:d}=e,{website:u}=n,{meetingLink:y}=d,{incDate:s}=o,{taxesFiledYears:h}=r,v={companyInfo:{...n,website:u!=""&&u!=null?N(u):void 0,meetingLink:y!=""&&y!=null?N(y):void 0,industry:n.industry.selectedOption,companyIndustryType:n.companyIndustryType?.selectedOption??void 0,companySubIndustry:n.companySubIndustry?.selectedOption??void 0,businessModel:n.businessModel.selectedOption??"",companySourceOfFunds:n.companySourceOfFunds?.selectedOption,companySourceOfFundsDescription:n.companySourceOfFundsDescription??void 0,countriesOfOperations:n.countriesOfOperations?.selectedOptions?.map(I=>I.length===2?I:M(I))??[],transactionVolume:n.transactionVolume?.selectedOption??void 0,transactionVolumeDescription:n.transactionVolumeDescription??void 0,regulatedStatus:n.regulatedStatus??void 0,regulatedStatusDescription:n.regulatedStatusDescription??void 0,usNexus:n.usNexus??void 0,usNexusTypes:n.usNexusTypes?.selectedOptions??[],purposeOfAccount:n.purposeOfAccount?.selectedOption??void 0,purposeOfAccountDescription:n.purposeOfAccountDescription??void 0},incInfo:{typeOfInc:o.typeOfInc.selectedOption??"",stateOfInc:o.stateOfInc.selectedOption??"",incDate:s!=null?J(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($(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(Z({files:e}))},onDeleteFile:e=>{t(Y(e))},onEditFileName:(e,n)=>{t(q(e,n.split(".")[0]))}}})(A);function de(){const t=w(),a=k(),i=x(),{tenantEmailDomain:l}=T(),[c,p]=g.useState(!1),[f,e]=g.useState(!1),n=O(s=>s.companyViewState.passportView.fetchState),o=O(s=>s.companyConfigState.fetchState),r=O(s=>D(s)),d=r.companyId??C.getSignedInUserTenant(l)?.companyId;if(C.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect(()=>{c||n!=="Not-Started"||d==null||(p(!0),a(B(d)))},[c,n,d,a]),g.useEffect(()=>{o==="Not-Started"&&a(_())},[o,a]);const u=s=>{e(s)},y=n==="Not-Started"||n==="In-Progress"||o==="Not-Started"||o==="In-Progress";return d!=null&&n==="Error"?m.jsx(P,{onGoHome:()=>t("../",{replace:!0}),onReload:()=>window.location.reload()}):m.jsxs(m.Fragment,{children:[m.jsx(F,{analytics:V,onLoad:s=>s.trackPageLoaded(j.Event.companyPassport,b(i)?"Settings":"Company Passport")}),b(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:t,location:i,isLoading:y,currentTenant:r,isSettings:b(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
@@ -0,0 +1,11 @@
1
+ import{j as C}from"./liveblocks-D1TxH59e.js";import{a}from"./sentry-5pTQe3BK.js";import{u as D,g as v,j as u,N as w}from"./core-Fwwp8hop.js";import{Jj as O,eP as j,fo as A,mT as U,fP as h,fn as _,eW as L,Jq as F}from"./zeni-epic-state-i1VxNGkd.js";import{u as P,z as p,L as g,O as $,o as k}from"./index-Sm9Ycasn.js";import{n as H}from"./mui-Dar_oGjJ.js";import{t as z}from"./getLocaleForTenant-B-vHrKHL.js";import{g as R,Q as J}from"./QBOConnectionScreen-DvvmYU71.js";import"./recharts-DuOI9Nsb.js";import"./analytics-D310XSjQ.js";import"./plaid-BGhwh8RZ.js";import"./dnd-B_nt-Uf4.js";import"./stripe-DMRn4zHo.js";import"./lottie-BGeomX3N.js";import"./lexical-D4DqnnDh.js";import"./pdf-BftxTBXg.js";import"./utils-3_hFkWEq.js";import"./empty-BOxndxwD.js";import"./pdf-lib-oQPUkPP1.js";import"./index-D6xVpTbl.js";import"./url-CfkU6Gnm.js";import"./index-CfQpPMgv.js";import"./decodeURIComponentSafe-DaWuthXc.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]="d1cb094e-b022-44a6-a38f-561589a663de",t._sentryDebugIdIdentifier="sentry-dbid-d1cb094e-b022-44a6-a38f-561589a663de")}catch{}})();const q=H.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 ${k.sp1} ${t.theme.colors.dropShadowNormal}`};
11
+ `;function fe(){const t=D(),i=v(),{setLoading:d,clearAllLoading:b}=P(),f=a.useRef(!1),c=a.useRef(!1),{code:x,realmId:T,state:y}=R(i.search),N=x!==""&&T!==""&&y!=="",I=u(l=>O(l)),e=u(l=>j(l)),n=u(l=>l.tenantState.fetchState),r=u(l=>l.tenantState.activeTenantFetchState.fetchState),o=p.getSignedInUser(),m=p.getActiveTenantForUser()?.tenantId,s=e?.externalConnections?.fetchState,E=e?.externalConnections?.saveConnectionState,S=e.externalConnections?.accounting[0]?.isValid;return a.useLayoutEffect(()=>{d(g.CONNECTION_AUTH)},[d]),a.useEffect(()=>{f.current||o==null||m==null||(f.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(d(g.TENANT_FETCHING),t(A(o.userId,m))))},[f,n,d]),a.useEffect(()=>{e.tenantId==null&&!c.current&&o!=null&&(c.current=!0,!(m==null||m!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(U(o.userId)))},[c,n,r]),a.useEffect(()=>{o==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||E!=="Error"||(d(g.CONNECTION_AUTH),t(h(o.userId,e.tenantId)))},[E]),a.useEffect(()=>{n!=="Completed"&&r!=="Completed"||o==null||e?.tenantId==null||(t(_(e.tenantId)),p.saveActiveTenantDomainForUser(e.tenantEmailDomain),L(o?.userId,o?.zeniSessionId,e.tenantId),$.updateAppLocaleID(z(F(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"&&p.saveSignedInUserTenants(I.tenantsCoreDetailsInOrder)},[I.tenantsCoreDetailsInOrder.length,n]),a.useEffect(()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||s!=="Completed"&&s!=="Error"||b()},[n,r,s]),e==null||n!=="Completed"&&r!=="Completed"||s!=="Completed"?null:N||S===!1?C.jsx(q,{children:C.jsx(J,{})}):C.jsx(w,{to:"/",replace:!0})}export{fe as default};
@@ -0,0 +1 @@
1
+ import{j as i}from"./liveblocks-D1TxH59e.js";import{z as n}from"./index-Sm9Ycasn.js";import{g as d}from"./QBOConnectionScreen-DvvmYU71.js";import"./sentry-5pTQe3BK.js";import{g as p,N as a}from"./core-Fwwp8hop.js";import"./zeni-epic-state-i1VxNGkd.js";import"./recharts-DuOI9Nsb.js";import"./mui-Dar_oGjJ.js";import"./analytics-D310XSjQ.js";import"./plaid-BGhwh8RZ.js";import"./dnd-B_nt-Uf4.js";import"./stripe-DMRn4zHo.js";import"./lottie-BGeomX3N.js";import"./lexical-D4DqnnDh.js";import"./pdf-BftxTBXg.js";import"./utils-3_hFkWEq.js";import"./empty-BOxndxwD.js";import"./pdf-lib-oQPUkPP1.js";import"./index-D6xVpTbl.js";import"./url-CfkU6Gnm.js";import"./index-CfQpPMgv.js";import"./decodeURIComponentSafe-DaWuthXc.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]="e53e9b9f-4e1e-4d41-afae-a46e42efc4b3",e._sentryDebugIdIdentifier="sentry-dbid-e53e9b9f-4e1e-4d41-afae-a46e42efc4b3")}catch{}})();const U=()=>{const e=p(),{code:t,realmId:o,state:r}=d(e.search),s=n.getSignedInUser()?.userId??"";if(f(t,o,r,s)===!0){const m=`../../${r}/onboarding?code=${t}&realmId=${o}&state=auth_flow`;return i.jsx(a,{to:m})}return i.jsx(a,{to:"../../"})},f=(e,t,o,r)=>e!=""&&t!=""&&o!=""&&r!=null&&r!="";export{U as default,f as hasValidParams};
@@ -0,0 +1,23 @@
1
+ import{j as a}from"./liveblocks-D1TxH59e.js";import{t as $e,A as Ce}from"./AddressScreen-CWbRsmbp.js";import Ke from"./NotFoundScreen-Brpo5hIh.js";import{a as g}from"./sentry-5pTQe3BK.js";import{h as oe,g as se,u as ie,i as re,j as A,N as E,n as ce,l as qe,o as ze,p as q}from"./core-Fwwp8hop.js";import{F as de,k as le,z as B,$ as ue,h as Me,I as _,m as V,H as J,c as N,q as we,e as Y,ap as Qe,J as Ze,aq as ke,i as te,ar as He,as as Ie,o as Je,at as We,au as Ee,av as Ye}from"./index-Sm9Ycasn.js";import{bn as Xe,eP as ee,fg as et,e_ as pe,eY as me,bt as tt,mR as at,fc as nt,bO as ot,jf as ae,ji as ve,JP as st,bT as it,c2 as ge,sp as he,sa as rt,Kj as X,sq as _e,HH as ct,kj as Ue,Kk as Ve,Kl as dt,Km as lt,Kn as ut,jd as pt,jg as mt,sc as Be,so as gt,bE as Te,cv as ht,sC as xe,qc as ft,q0 as yt,kb as bt,fE as St,fD as Ct,fC as kt,Ko as It,s4 as Et,sD as Tt,sG as xt,sJ as Ot,sP as Pt,cT as Dt}from"./zeni-epic-state-i1VxNGkd.js";import{n as fe}from"./mui-Dar_oGjJ.js";import{g as At,h as Ft,q as ne}from"./QBOConnectionScreen-DvvmYU71.js";import"./recharts-DuOI9Nsb.js";import"./analytics-D310XSjQ.js";import"./plaid-BGhwh8RZ.js";import"./dnd-B_nt-Uf4.js";import"./stripe-DMRn4zHo.js";import"./lottie-BGeomX3N.js";import"./lexical-D4DqnnDh.js";import"./pdf-BftxTBXg.js";import"./utils-3_hFkWEq.js";import"./empty-BOxndxwD.js";import"./pdf-lib-oQPUkPP1.js";import"./index-D6xVpTbl.js";import"./url-CfkU6Gnm.js";import"./index-CfQpPMgv.js";import"./decodeURIComponentSafe-DaWuthXc.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]="1c20dba0-3ed2-4d18-9f43-26bec3004a04",t._sentryDebugIdIdentifier="sentry-dbid-1c20dba0-3ed2-4d18-9f43-26bec3004a04")}catch{}})();const jt=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"}})}}})(Qe),wt=()=>{const t=oe(),o=se(),s=ie(),u=de(),[d,r]=g.useState(!1),[p,b]=g.useState(!1),{tenantEmailDomain:e}=re(),n=le(),i=B.getSignedInUser(),h=Xe(i),{useFeatureGate:m}=ue(),I=Me(),{isFeatureEnabled:T}=m(_.isApAgingFeatureEnabled),{isFeatureEnabled:x}=m(_.isArAgingFeatureEnabled),{isFeatureEnabled:k}=m(_.isDepositAccountsFeatureEnabled),{isFeatureEnabled:f}=m(_.isReferralFeatureEnabled),{isFeatureEnabled:U}=m(_.isExpenseAutomationEnabled),{isFeatureEnabled:C}=m(_.isExpenseAutomationEnabledV2),{isFeatureEnabled:F}=m(_.isDebitCardFeatureEnabled),$=C||U&&h,c=A(l=>ee(l)),{isFeatureEnabled:L}=m(_.isTreasuryEnabled),j=c.company!=null&&et(c.company),R=L&&j,O=A(l=>l.onboardingCustomerViewState.fetchState),S=c.excludedResources,G=c.companyId??B.getSignedInUserTenant(e)?.companyId;if(i==null)throw Error("Can't access onboarding flow without signing in...");const w=pe(F,c),P=me(c),D=[],Q=S?.resources?.find(l=>l.resource==="/reports/top_expenses")==null,K=S?.resources?.find(l=>l.resource==="/reports/task_card")==null,z=c?.userRole!=null&&tt(c?.userRole),v=S?.resources?.find(l=>l.resource==="/bills")==null&&!z,M=S?.resources?.find(l=>l.resource==="/reimbursements")==null;if(Q===!1&&D.push("top_expenses"),K===!1&&D.push("task_card"),v===!1&&D.push("bill_pay_card","bill_pay_promo_card"),M===!1&&D.push("reimbursement_card","reimbursement_promo_card"),k===!1&&D.push("zeni_accounts_promo_card"),f===!1&&D.push("rewards_card"),g.useEffect(()=>{O!=="Completed"||d||w||P||(r(!0),s(at(i.userId,G,c.tenantId,!0,!1,D)))},[d,O,w,P,i,c.tenantId,s]),g.useEffect(()=>{(w||P)&&setTimeout(()=>{b(!0)},5e3)},[w,P]),O!=="Completed")return a.jsx(E,{to:"../"});if(O==="Completed"&&p){const l=V(o.state?.pathnameStackToGoBack,o.pathname);if(w)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(J,{analytics:N,onLoad:l=>(Z=>Z.trackPageLoaded(Y.Event.onboardingDashboardActivation))(l)}),a.jsx(jt,{navigate:t,location:o,themeState:u,signedInUser:i,isApAgingFeatureEnabled:T,isArAgingFeatureEnabled:x,shouldFetchZeniAccountsPromoCard:k,shouldFetchRewardsPlanCard:f,isExpenseAutomationEnabledForUser:$,isExpenseAutomationFeatureEnabledV2:C,isTreasuryEnabled:R,loggedInUserRoleMap:n?.loggedInUserRoleMap})]}):a.jsx(we,{fetchState:"In-Progress",style:{backgroundColor:I.colors.grey5}})},Oe=fe.div`
2
+ display: flex;
3
+ height: 100vh;
4
+ background-color: ${t=>t.theme.colors.grey4};
5
+ `,Pe=fe.div`
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: center;
9
+ min-width: calc(100% - ${Ie}px);
10
+ padding-left: ${Ie}px;
11
+ flex: 1;
12
+
13
+ ${t=>t.theme.breakpoints.down("md")} {
14
+ width: 100%;
15
+ padding-left: ${Je.sp0};
16
+ }
17
+
18
+ ${t=>t.windowSize!=="small"?"overflow: auto;":""}
19
+ `,De=ce(function(t,o){const{companyId:s,isAdmin:u,currentTenant:d,isOnAddressPage:r}=o,p=B.getSignedInUser(),b=d.tenantId,e={userId:p?.userId??"",sessionId:p?.zeniSessionId??"",tenantId:b??""},n=ee(t),i=he(t,s),h=Ve(t),m=ge(d?.userRole??[])&&i.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",I=dt(t.userRoleConfigState);return{onboardingCustomerView:i,analytics:N,isRefreshingViewInBackground:!1,isDisabled:m,companyTitles:I.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:We.fileMicroServiceBaseUrl,authParams:e},signedInUser:B.getSignedInUser(),currentTenant:d,isAdmin:u,isOnAddressPage:r,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:h,isCardPaymentPopupOpen:!1,stripeKey:te.stripeKey}},function(t,o){const{companyId:s,currentTenant:u,themeState:d,navigate:r,location:p}=o,{tenantEmailDomain:b}=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:h,userId:m,name:I,email:T,ssn:x,nationalityCountryCode:k,dob:f,phone:U,syncToken:C,selectDocument:F,role:$,ownership:c,isSelectedForVerification:L,userVerificationStatus:j,fileIds:R,isPhoneVerified:O}=i;let S;return F.selectDocumentType==="driverLicense"?S="driving_license":F.selectDocumentType==="passport"?S="passport":F.selectDocumentType==="stateId"?S="id_document":F.selectDocumentType==="ssnCard"&&(S="social_security_card"),{officerType:h,userId:m,firstName:I.firstName,lastName:I.lastName,email:T,ssn:x,nationalityCountryCode:k?.selectedOption!=null?Ee(k.selectedOption):void 0,phone:U,birthday:f!=null?Te(f?.toString()):f,syncToken:C,titleAtCompany:$.selectedOption,ownershipInCompany:c,documentTypeSelectedForVerification:S,isSelectedForVerification:L,userVerificationStatus:j,fileIds:R,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:O}});t(xe({officers:n}))},onGetOtp:(e,n)=>{t(kt(e,"CustomerOnboarding")),n!=null&&t(It({officerType:n,phone:e}))},onResendOtp:e=>{t(Ct(e,"CustomerOnboarding"))},onVerifyOtp:(e,n)=>{t(St(e,n,"CustomerOnboarding"))},updateFilesEntity:e=>{t(bt({files:e}))},onDeleteFile:e=>{t(yt(e))},onEditFileName:(e,n)=>{t(ft(e,n.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:n,companyIndustry:i,companyIndustryType:h,companyLegalName:m,companyTaxId:I,companyWebsite:T,companyPhone:x,primaryContactEmail:k,primaryContactName:f,primaryContactUserId:U,primaryContactSyncToken:C,syncToken:F,fileIds:$,typeOfIncorporation:c,stateOfIncorporation:L,incDate:j,companySourceOfFunds:R,companySourceOfFundsDescription:O,companySubIndustry:S,countriesOfOperations:G,purposeOfAccount:w,purposeOfAccountDescription:P,regulatedStatus:D,regulatedStatusDescription:Q,transactionVolume:K,transactionVolumeDescription:z,usNexus:v,usNexusTypes:M}=e,l={companyId:s,companyDescription:n,companyIndustry:i.selectedOption,companyIndustryType:h?.selectedOption??"",companyLegalName:m,taxIdOrEIN:I,website:T!=""&&T!=null?ht(T):void 0,phone:x,syncToken:F,fileIds:$,incDate:j!=null?Te(j?.toString()):j,typeOfIncorporation:c?.selectedOption??"",stateOfIncorporation:L?.selectedOption??"",companySourceOfFunds:R?.selectedOption??"",companySourceOfFundsDescription:O,companySubIndustry:S?.selectedOption??"",countriesOfOperations:G?.selectedOptions.map(H=>H.length===2?H:Ee(H))??[],purposeOfAccount:w?.selectedOption??"",purposeOfAccountDescription:P,regulatedStatus:D??"",regulatedStatusDescription:Q,transactionVolume:K?.selectedOption??"",transactionVolumeDescription:z,usNexus:v,usNexusTypes:M?.selectedOptions??[]},Z={userId:U,firstName:f.firstName,lastName:f.lastName,email:k,syncToken:C};t(xe({companyDetails:l,primaryContactDetails:Z}))},onAddressClick:(e,n)=>{const i=Ae(b,e,n),h=V(p.state?.pathnameStackToGoBack,p.pathname);r(i,{state:{pathnameStackToGoBack:h}})},onRegisteredAddressClick:(e,n)=>{const i=Ae(b,e,n),h=V(p.state?.pathnameStackToGoBack,p.pathname);r(i,{state:{pathnameStackToGoBack:h}})},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(`/${b}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})}}})(He),W=({taxCFOCustomer:t=!1,isOnAddressPage:o=!1,appContent:s})=>{const u=oe(),d=se(),r=ie(),p=Ze(),b=de(),[e,n]=g.useState(!1),[i,h]=g.useState(!1),[m,I]=g.useState(!1),{tenantEmailDomain:T}=re(),x=le(),{useFeatureGate:k}=ue(),{isFeatureEnabled:f}=k(_.isDebitCardFeatureEnabled),U=qe("/:tenantEmailDomain/onboarding")!==null&&d.search?.includes("code"),C=A(y=>y.onboardingCustomerViewState.fetchState),F=A(y=>y.onboardingCustomerViewState.currentStep),$=A(y=>y.onboardingCustomerViewState.uiState),c=A(y=>ee(y)),L=A(y=>y.userRoleConfigState.fetchState),j=A(y=>y.cardPaymentViewState),R=ke(j.addCardPaymentSourceStatus.fetchState),O=j.addCardPaymentSourceStatus.fetchState,{code:S,realmId:G,state:w}=At(d.search),P=c.externalConnections?.accounting[0],D=P?.connectionType,Q=P?.connectionName,K=P?.connectionId??"",z=B.getSignedInUser()?.userId??"";g.useEffect(()=>{i||(h(!0),r(ae()))},[i,r]),g.useEffect(()=>{m||(ve(["card"]),I(!0))},[m]),g.useEffect(()=>{R==="In-Progress"&&O==="Completed"&&r(ae())},[R,O]),g.useEffect(()=>{Ft(S,G,w,K,z)===!0&&c.externalConnections?.saveConnectionState!=="In-Progress"&&C==="Completed"&&(r(st(c.tenantId,{connection_type:D??"accounting",connection_name:Q??"quickbooks_online",authorization_code:S,realm_id:G,connection_id:K,user_id:z},it(window.location.origin+"/onboarding/auth"))),N.trackOnboardingSaveQBOConnection(G,K),u(d.pathname))},[S,G,w,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,M=ge(c?.userRole??[]),l=A(y=>he(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 Z=ke(l.companyDetailsLocalData?.addressStatus);g.useEffect(()=>{l.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&l.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&Z==null&&r(Ue({addressType:"company_registered_address",addressToCreate:l.companyDetailsLocalData?.addressStatus?.addressToCreate}))},[l.companyDetailsLocalData?.addressStatus?.addressToCreate,l.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const H=l.isInterimEmailSent;if(B.getSignedInUser()==null)throw Error("Can't access onboarding flow without signing in...");const Le=pe(f,c),Re=me(c),ye=c.company?.companyOnboardingInfo.isOnboardingCompleted,be=y=>y.trackPageLoaded(Y.Event.onboardingPage),Se=c.productSettings.isOtherProductsEnabled,Ge=c.productSettings.isTreasuryEnabled;if(ye===!0){if(!Se)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(Se&&!y)return t?a.jsxs(Oe,{children:[a.jsx(J,{analytics:N,onLoad:Ne=>be(Ne)}),a.jsx(De,{navigate:u,location:d,companyId:v,currentTenant:c,isAdmin:M,isOnAddressPage:o,themeState:b,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 H===!0?a.jsx(E,{to:"../../onboarding/thankyou"}):a.jsxs(Oe,{children:[a.jsx(J,{analytics:N,onLoad:y=>be(y)}),a.jsx(De,{navigate:u,location:d,companyId:v,currentTenant:c,isAdmin:M,isOnAddressPage:o,themeState:b,googleAPIKey:te.googleMapsAPIKey}),s!=null?a.jsx(Pe,{windowSize:p,children:s}):null]});return null};function Ae(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=fe.div`
20
+ display: flex;
21
+ height: 100vh;
22
+ background-color: ${t=>t.theme.colors.grey4};
23
+ `,je=ce(function(t,o){const{companyId:s,currentTenant:u}=o,d=he(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 b=V(r.state?.pathnameStackToGoBack,r.pathname);d("/signout",{replace:!0,state:{pathnameStackToGoBack:b,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleUpdatePaymentAddressDetailClick:()=>{const b=V(r.state?.pathnameStackToGoBack,r.pathname);d(`/${p}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:b,message:"UpdatePaymentAddressDetail"}})}}})(Ye),vt=()=>{const t=oe(),o=ie(),s=se(),u=de(),{useFeatureGate:d}=ue(),{isFeatureEnabled:r}=d(_.isDebitCardFeatureEnabled),{tenantEmailDomain:p}=re(),b=le(),[e,n]=g.useState(!1);g.useEffect(()=>{e===!1&&s.state?.message==="OnboardingThankyou"&&n(!0)},[s.state]);const i=A(f=>ee(f)),h=i.productSettings.isOtherProductsEnabled;g.useEffect(()=>{o(Be(m,!1,!h))},[]);const m=i.companyId??B.getSignedInUserTenant(p)?.companyId;if(b.loggedInUser==null)throw Error("Can't access onboarding flow without signing in...");const I=pe(r,i),T=me(i),x=A(f=>f.onboardingCustomerViewState.updateStatus.fetchState),k=i.company?.companyOnboardingInfo.isOnboardingCompleted;return k!==!0||h?x==="Completed"&&k===!0&&h&&b?.loggedInUserRoleMap!=null?a.jsxs(Fe,{children:[a.jsx(J,{analytics:N,onLoad:f=>{f.trackPageLoaded(Y.Event.onboardingLandingPage,"Onboarding",Dt(i.productSettings))}}),a.jsx(je,{navigate:t,showUpdatePaymentDetailButton:h,location:s,companyId:m,currentTenant:i,themeState:u,isVisitingFirstTime:e})]}):x==="Completed"&&k===!1&&b?.loggedInUserRoleMap!=null?a.jsxs(Fe,{children:[a.jsx(J,{analytics:N,onLoad:f=>{f.trackPageLoaded(Y.Event.onboardingInterimPage)}}),a.jsx(je,{navigate:t,showUpdatePaymentDetailButton:h,location:s,companyId:m,currentTenant:i,themeState:u,isVisitingFirstTime:e})]}):a.jsx(we,{fetchState:x}):I?a.jsx(E,{to:"../../checking"}):T?a.jsx(E,{to:"../../cards"}):a.jsx(E,{to:"../../dashboard"})};function oa(){return a.jsxs(ze,{children:[a.jsx(q,{path:"/",element:a.jsx(W,{})}),a.jsx(q,{path:"/billing/edit",element:a.jsx(W,{taxCFOCustomer:!0})}),a.jsx(q,{path:"/thankyou",element:a.jsx(vt,{})}),a.jsx(q,{path:"/activation",element:a.jsx(wt,{})}),a.jsx(q,{path:"/address/edit/:addressType/:addressId",element:a.jsx(W,{isOnAddressPage:!0,appContent:a.jsx(Ce,{})})}),a.jsx(q,{path:"/address/new/:addressType",element:a.jsx(W,{isOnAddressPage:!0,appContent:a.jsx(Ce,{})})}),a.jsx(q,{path:"*",element:a.jsx(Ke,{})})]})}export{oa as default};
@@ -0,0 +1,20 @@
1
+ import{j as d}from"./liveblocks-D1TxH59e.js";import{i as K,j as _,g as H,u as z,h as W,n as te,k as oa,o as gt,p as F}from"./core-Fwwp8hop.js";import{eP as U,KE as Xe,bE as sa,bq as xe,LR as In,i3 as Tn,LS as Nt,LT as xn,i6 as bt,LU as Qe,LV as Dn,ib as wn,LW as $t,LX as Fn,ig as Ct,LY as He,LZ as On,cl as St,L_ as Pn,L$ as Mn,KY as Rn,j9 as Bn,M0 as jn,bn as Ge,M1 as ra,Ks as ce,bc as ia,jn as ca,m$ as la,j6 as da,Ku as le,Kt as ee,eO as ua,eU as Ln,fq as kt,M2 as Un,M3 as Gn,M4 as ma,M5 as Re,uh as Ye,ui as Ve,uF as De,uz as de,um as Ne,M6 as Yn,M7 as Vn,M8 as Nn,M9 as pa,Ma as Be,Mb as $n,dE as Je,qM as ha,Mc as zn,Md as Kn,Me as qn,Mf as yt,JR as At,jD as we,uN as vt,qU as Zn,Mg as Qn,uj as zt,qP as Ie,qL as fa,Mh as ge,Mi as Hn,Mj as Et,JQ as It,sT as ga,Mk as Wn,Ml as Xn,Mm as Jn,Mn as Tt,t4 as eo,Mo as to,ul as Kt,sS as ba,Mp as be,Mq as ao,bt as Ca,uR as ka,Mr as no,Ms as oo,Mt as so,Mu as xt,uM as ro,Mv as io,uk as qt,uQ as _a,Mw as Ce,Mx as co,My as lo,Mz as Sa,js as ya,mY as Aa,jx as va,mW as Ea,mV as Ia,mU as Ta,sf as uo,fg as mo,cN as po,cO as ho,mR as fo,fc as go,n6 as bo,DV as Zt,MA as Co,MB as ko,MC as _o,MD as So,b5 as et,f4 as yo,gO as Ao,fG as vo,n0 as Eo,i$ as Io,mZ as To,mX as xo,e_ as Do,eY as wo}from"./zeni-epic-state-i1VxNGkd.js";import{z as j,a2 as ae,m as D,c as x,O as q,aU as Fo,Y as $e,H as ze,aV as xa,e as N,aW as Oo,k as _e,aX as Da,$ as Se,I as R,h as Po,aY as Mo,aZ as Ro,T as wa,J as Fa,a as Oa,X as Bo,a_ as jo,N as Lo,aN as Pa,Z as se,a$ as Ma,b0 as Ra,a1 as Ba,b1 as Uo,b2 as Go,aq as Yo,p as Vo,U as No,b3 as $o,b4 as zo,b5 as Ko,b6 as ke}from"./index-Sm9Ycasn.js";import{n as Dt}from"./mui-Dar_oGjJ.js";import{a as b}from"./sentry-5pTQe3BK.js";import{w as ja}from"./withTransactionSidePanel-Dk7__fUW.js";import{c as La,t as Fe,f as ue,a as wt,v as qo}from"./routePaths-Pqm-PNC8.js";import{u as ne}from"./useAskAiCfoHostNavButtonProps-B40bGqEV.js";import Ue from"./NotFoundScreen-Brpo5hIh.js";import{u as Ft}from"./useInitialThreadRequest-ELLLToSA.js";import{t as Ua}from"./analyticsHelper-CnXSrEd_.js";import{C as Zo}from"./CompanyPassportScreen-gi1zQDQy.js";import{u as Qo}from"./useAiCfoDashboardSuggestedQuestionsChips-CUpKl9RP.js";import{F as Ho}from"./FeaturePreviewScreen-C1MJa7gv.js";import{R as Wo}from"./ReferralListScreen-D8LbwXaw.js";import"./recharts-DuOI9Nsb.js";import"./analytics-D310XSjQ.js";import"./plaid-BGhwh8RZ.js";import"./dnd-B_nt-Uf4.js";import"./stripe-DMRn4zHo.js";import"./lottie-BGeomX3N.js";import"./lexical-D4DqnnDh.js";import"./pdf-BftxTBXg.js";import"./utils-3_hFkWEq.js";import"./TransactionDetailScreen-DioDP0gW.js";import"./decodeURIComponentSafe-DaWuthXc.js";import"./MobileAppDrawer-n526oWrk.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]="8d6b37bc-e157-46a0-99a5-ac5d48c4ab92",e._sentryDebugIdIdentifier="sentry-dbid-8d6b37bc-e157-46a0-99a5-ac5d48c4ab92")}catch{}})();const Xo=ja(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=j.getSignedInUser(),i=_(y=>y.tenantState.currentTenantId),c=_(y=>U(y)),{tenantEmailDomain:m}=K(),g=H(),C=c?.companyName??"",u={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},l=b.useMemo(()=>({authParams:u,companyName:C,downloadEndPoint:`${ae}/agingDetailedReport`,timezone:Xe()}),[]),h=b.useMemo(()=>r!=null?sa(r):xe(),[r]),p=z(),f=W(),A=_(y=>In(y,h,o)),E=b.useCallback(()=>{o!=null&&A.fetchState!=="In-Progress"&&A.fetchState!=="Completed"&&p(Tn(o,h))},[h]),S=b.useCallback(()=>{f("../../",{relative:"path"})},[]),I=b.useCallback((y,M)=>{p(Nt({sortKey:y,sortOrder:M}))},[]),T=b.useCallback(y=>{p(Nt({downloadState:y}))},[]),L=b.useCallback(y=>{if(e)e(y.transactionId,y.transactionType);else if(m!=null){const M=La({id:y.transactionId,type:y.transactionType},m);f(M);const X=D(g.state?.pathnameStackToGoBack,g.pathname);f(M,{state:{pathnameStackToGoBack:X}})}},[m,e]),k=b.useCallback(()=>{A.vendor!=null&&x.trackApAgingDetail("AP Aging",h.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),A.vendor.id,A.vendor.name)},[A.vendor,h]);return b.useEffect(()=>{E()},[]),b.useEffect(()=>{A.fetchState==="Completed"&&k()},[k,A.fetchState]),d.jsx(Fo,{apAgingDetail:A,downloadParams:l,reportDate:h,analytics:x,onTransactionClick:L,onReload:E,onBackClick:S,onColumnSortConfigChanged:I,updateDownloadStateHandler:T,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),Jo=()=>{const e=z(),a=W(),t=_(I=>xn(I)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ne({mobileExploreReferrer:"AP Aging"});$e({isDataReady:t.fetchState==="Completed"});const r=j.getSignedInUser(),s=_(I=>I.tenantState.currentTenantId),i=_(I=>U(I)),c=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},g=b.useMemo(()=>({authParams:m,companyName:c,downloadEndPoint:`${ae}/agingReport`,timezone:Xe()}),[]),C=t.apAgingUIState.selectedDate??xe(),u=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(bt(C))},[]);b.useEffect(()=>{u()},[]);const l=b.useCallback(()=>{a("../",{relative:"path"})},[]),h=b.useCallback(I=>{e(Qe({searchString:I}))},[]),p=b.useCallback((I,T)=>{e(Qe({sortKey:T,sortOrder:I}))},[]),f=b.useCallback(I=>{a(`./${I}/${C.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[C]),A=b.useCallback(I=>{e(Qe({downloadState:I}))},[]),E=b.useCallback((I,T)=>{},[]),S=b.useCallback((I,T)=>{e(Qe({selectedDate:I,agingDateSelectionType:T})),e(bt(I))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(ze,{analytics:x,onLoad:I=>I.trackPageLoaded(N.Event.agingReport,"AP Aging")}):null,d.jsx(xa,{uiState:t.apAgingUIState,report:t,downloadParams:g,analytics:x,onReloadReport:u,onBackClick:l,onSearchTextChange:h,onSortOrderChange:p,onEntityNameClick:f,updateDownloadStateHandler:A,onSelectedDateChanged:S,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},es=ja(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=j.getSignedInUser(),i=_(k=>U(k)),{tenantEmailDomain:c}=K(),m=H(),g=i.companyName,C={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},u=b.useMemo(()=>({authParams:C,companyName:g,downloadEndPoint:`${ae}/agingDetailedReport`,timezone:Xe()}),[]),l=b.useMemo(()=>r!=null?sa(r):xe(),[r]),h=z(),p=W(),f=_(k=>Dn(k,l,o)),A=b.useCallback(()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&h(wn(o,l))},[l]),E=b.useCallback(()=>{p("../../",{relative:"path"})},[]),S=b.useCallback((k,y)=>{h($t({sortKey:k,sortOrder:y}))},[]),I=b.useCallback(k=>{h($t({downloadState:k}))},[]),T=b.useCallback(k=>{if(e)e(k.transactionId,k.transactionType);else if(c!=null){const y=La({id:k.transactionId,type:k.transactionType},c);p(y);const M=D(m.state?.pathnameStackToGoBack,m.pathname);p(y,{state:{pathnameStackToGoBack:M}})}},[c,e]),L=b.useCallback(()=>{f.customer!=null&&x.trackArAgingDetail("AR Aging",l.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.customer.id,f.customer.name)},[f.customer,l]);return b.useEffect(()=>{A()},[]),b.useEffect(()=>{f.fetchState==="Completed"&&L()},[f.fetchState,L]),d.jsx(Oo,{arAgingDetail:f,downloadParams:u,reportDate:l,analytics:x,onTransactionClick:T,onReload:A,onBackClick:E,onColumnSortConfigChanged:S,updateDownloadStateHandler:I,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),ts=()=>{const e=z(),a=W(),t=_(S=>Fn(S)),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ne({mobileExploreReferrer:"AR Aging"});$e({isDataReady:t.fetchState==="Completed"});const r=j.getSignedInUser(),s=_(S=>U(S)),i=s.companyName,c={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo(()=>({authParams:c,companyName:i,downloadEndPoint:`${ae}/agingReport`,timezone:Xe()}),[]),g=t.arAgingUIState.selectedDate??xe(),C=b.useCallback(()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(Ct(g))},[]);b.useEffect(()=>{C()},[]);const u=b.useCallback(()=>{a("../",{relative:"path"})},[]),l=b.useCallback(S=>{e(He({searchString:S}))},[]),h=b.useCallback((S,I)=>{e(He({sortKey:I,sortOrder:S}))},[]),p=b.useCallback(S=>{a(`./${S}/${g.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[g]),f=b.useCallback(S=>{e(He({downloadState:S}))},[]),A=b.useCallback((S,I)=>{e(He({selectedDate:S,agingDateSelectionType:I})),e(Ct(S))},[]),E=b.useCallback((S,I)=>{e(On({nodeId:S,isCollapsed:I}))},[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(ze,{analytics:x,onLoad:S=>S.trackPageLoaded(N.Event.agingReport,"AR Aging")}):null,d.jsx(xa,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:x,onReloadReport:C,onBackClick:u,onSearchTextChange:l,onSortOrderChange:h,onEntityNameClick:p,updateDownloadStateHandler:f,onSelectedDateChanged:A,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Ga=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function Ya(e,a){const t=Rn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=Fe(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Bn(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?x.trackZeniAccountsCashBalancePromoClicked("Move Money"):(x.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else x.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const as=te(function(e){const a=Pn(e).accountsInOrder.map((n,o)=>Ga(n,o)),t=Mn(e);return{sectionTitle:q.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:x}},Ya)(Da),ns=te(function(e){const a=jn(e).accountsInOrder.map((o,r)=>Ga(o,r)),t=j.getSignedInUser(),n=Ge(t);return{sectionTitle:q.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:x}},Ya)(Da);function os(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=_e(),o=_(s=>U(s).company?.companyInfo.firstMonthOfFY??1),r=St(n?.loggedInUserRoleMap);return _(s=>s.cashBalanceState.fetchState)==="Error"?d.jsx(Ue,{}):d.jsx(as,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function ss(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=_e(),o=St(n?.loggedInUserRoleMap),r=_(s=>U(s).company?.companyInfo.firstMonthOfFY??1);return _(s=>s.cardBalanceState.fetchState)==="Error"?d.jsx(Ue,{}):d.jsx(ns,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const rs=Dt.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
+ `,is=Dt.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 cs({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=W(),i=z(),c=H(),{tenantEmailDomain:m}=K(),g=Po();return d.jsxs(rs,{children:[d.jsx(Mo,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:g.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:C=>{C.trim().length>=2?i(le({searchString:C,searchOrigin:"navbar"})):C.trim().length===0&&i(ee("navbar"))},onAutoCompleteEntity:C=>{n!=null&&x?.trackSearch(N.Event.search,ls(a),C.type,C.name,n);const u=ue(C,m),l=D(c.state?.pathnameStackToGoBack,c.pathname);s(u,{state:{pathnameStackToGoBack:l}})}}},rightSideComponent:d.jsx(Ro,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r})}),d.jsx(is,{children:a==="cash_balance"?d.jsx(os,{}):d.jsx(ss,{})})]})}function Qt(){const e=H(),a=z(),{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(R.isDepositAccountsFeatureEnabled),o=_(p=>p.cashBalanceState.fetchState),r=_(p=>p.cardBalanceState.fetchState),s=j.getSignedInUser();if(s==null)throw Error("Can't access dashboard detail without signing in...");const i=ra((p=>{const f=ia(p,"/").split("/");return f[f.length-1]})(e.pathname));let c="Not-Started",m="";const g=q.getLocalizedStrings();switch(i){case"cash_balance":c=o,m=g.reportTitleById.cash_balance;break;case"card_balance":c=r,m=g.reportTitleById.card_balance;break;default:console.error(`${i} is not supported!`)}const{isAiCfoAccessEnabled:C,onAskAiCfoClick:u}=ne({mobileExploreReferrer:i==="card_balance"?"Card Balance":"Cash Balance"});$e({isDataReady:c==="Completed"});const l=_(p=>p.entityAutoCompleteState.autoCompleteText.navbar),h=_(p=>ce(p,"navbar"));return b.useEffect(()=>{c==="Not-Started"&&function(p,f,A){switch(f){case"card_balance":p(da());break;case"cash_balance":p(ca()),A===!0&&p(la());break;default:throw new Error(`balance report type ${f} is not yet supported`)}}(a,i,n)},[s,a,c]),d.jsxs(d.Fragment,{children:[c==="Completed"?d.jsx(ze,{analytics:x,onLoad:p=>((f,A)=>{switch(A){case"card_balance":f.trackPageLoaded(N.Event.cardBalance);break;case"cash_balance":f.trackPageLoaded(N.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${A}!`)}})(p,i)}):null,d.jsx(cs,{title:m,reportId:i,autoCompleteText:l,entityAutoCompleteView:h,isAiCfoAccessEnabled:C,onAskAiCfoClick:u})]})}const ls=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},ds=[];function Ke(e){const{mobileExploreReferrer:a}=e,t=z(),n=W(),o=H(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=wa(),c=Fa(),m=Ba(c),g=oa(),C=_(O=>O.tenantState.fetchState==="Completed"||O.tenantState.activeTenantFetchState.fetchState==="Completed"?U(O):void 0),u=C?.masterTOSInfo?.isMasterTOSAccepted??!1,l=_(O=>ua(O)),h=l.uiState?.currentChatSessionId,p=l.allSessionsWithOrderedQuestionAnswers??ds,f=j.getSignedInUser()?.userId,A=Oa(),E=Bo()&&A&&r!=null,S=jo(),I=Lo(!0),T=_(O=>S!=null?Ln(O,S):void 0),{useDynamicConfig:L}=Se(),{configValue:k}=L(Pa.aiCfoMessageDynamicConfig),y=b.useMemo(()=>Array.isArray(k.default_message_list)?k.default_message_list:[],[k.default_message_list]),M=b.useMemo(()=>y.slice(0,2),[y]),X=S!=null&&T!=null&&T.fetchState!=="Completed"&&T.fetchState!=="Error"&&(I||T.fetchState==="In-Progress"),Oe=b.useMemo(()=>{if(S==null||T?.fetchState==="Error")return M;if(X)return[];const O=(T?.suggestedQuestions??[]).map(pe=>pe.trim()).filter(pe=>pe.length>0).slice(0,2);return O.length===0?M:O},[M,X,S,T?.fetchState,T?.suggestedQuestions]),Pe=b.useCallback((O,pe)=>{if(f==null||O.trim()==="")return;if(!u)return void se({location:o,navigate:n,mergeState:{referrer:a}});const Me=Ma(g.getState());if(m){const Ze=D(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Ze,referrer:a,aiCfoInitialQuestion:O,aiCfoShouldSubmit:!Me}})}else{if(Me)return t(kt(O)),void s(!0);i(O),s(!0),Ra(t,O,"insights_section",h,p,f,pe,void 0)}},[p,h,t,u,m,o,a,n,s,i,g,r,f]),me=b.useCallback(()=>{if(u)if(m){const O=D(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:O,referrer:a}})}else s(!0);else se({location:o,navigate:n,mergeState:{referrer:a}})},[u,m,o,a,n,s,r]);return b.useMemo(()=>{if(E)return{isSuggestedQuestionsLoading:X,onAskSomethingElseClick:me,onSuggestedQuestionClick:Pe,suggestedQuestions:Oe}},[E,X,me,Pe,Oe])}const qe=Uo,us=te(function(e){const a=Un(e),t=Gn(e),n=ma(e),{scrollPosition:o,...r}=n,s=q.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=j.getSignedInUser(),c=e.tenantState.currentTenantId,m=U(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${ae}/statement`,authParams:C},analytics:x,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}},function(e,a){return{updateDownloadStateHandler:t=>{e(Yn(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Ne(t,n)),e(Re({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(De("month")),e(de(a.firstMonthOfFY,t)),e(Re({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ye(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(Re({resetLeftScroll:!0})),50)},onElementCollapseStateChanged:(t,n)=>{e(Re({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Re({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ee("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(qe),ms=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ne({mobileExploreReferrer:"DashboardCashInCashOut"}),s=Ke({mobileExploreReferrer:"DashboardCashInCashOut"}),i=_(c=>ma(c)).mode==="compare_mode";return d.jsx(us,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},ps=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(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}},hs=te(function(e){const a=Vn(e),t=Nn(e),n=pa(e),{scrollPosition:o,...r}=n,s=q.getLocalizedStrings().reportTitleById.cash_position,i=j.getSignedInUser(),c=e.tenantState.currentTenantId,m=U(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${ae}/statement`,authParams:C},analytics:x,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}},function(e,a){return{updateDownloadStateHandler:t=>{e($n(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(Be({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ne(t,n)),e(Be({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Be({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ye(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(Be({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=ps(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Fe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ee("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(Be({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}})(qe),fs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ne({mobileExploreReferrer:"DashboardCashPosition"}),s=Ke({mobileExploreReferrer:"DashboardCashPosition"}),i=_(c=>pa(c)).mode==="compare_mode";return d.jsx(hs,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},$=(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 dt(){return d.jsxs(gt,{children:[d.jsx(F,{path:"/",element:d.jsx(re,{})}),d.jsx(F,{path:"/:forecastId",element:d.jsx(re,{})}),d.jsx(F,{path:"/:forecastId/*",element:d.jsx(Ue,{})})]})}const gs=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(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}},bs=te(function(e){const a=ha(e),t=zn(e),n=Kn(e),o=qn(e),r=yt(e),{scrollPosition:s,...i}=r,c=t.reportTitle,m=j.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${ae}/statement`,authParams:l},analytics:x,isZeniUser:Ge(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(Hn(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ne(t,n)),e(ge({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(ge({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=gs(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Fe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(ge({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(ge({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ee("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(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"?Te:Ot,n)),t==="forecast_mode"?(e(zt({viewMode:"account_group"})),e(fa(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(ge({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(zt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(Qn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(Zn())},onResyncReports:()=>{e(vt("net_burn_or_income_by_classes"))}}})(qe),Cs=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ne({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),c=Ke({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),m=_(k=>yt(k)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_(k=>Et(k.forecastState,u??"")),h=_(k=>ha(k)),p=_(k=>It(k)),f=_(k=>we(k)),A=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const k=l?.forecastPeriod,y=E!=null&&k.endDate.isAfter(E?.endDate)===!0?E:k;a(de(e.firstMonthOfFY,{startDate:y.endDate.startOf(C),endDate:y?.endDate}))}},[u]);const S=_e(),{useFeatureGate:I}=Se(),{isFeatureEnabled:T}=I(R.isReportsCommentingEnabled),L=Ft(T?S?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(bs,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:A,navigate:o,analytics:x,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:L,isReportsCommentingEnabled:T})},ks=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(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}},_s=te(function(e){const a=ga(e),t=Wn(e),n=Xn(e),o=Jn(e),r=Tt(e),{scrollPosition:s,...i}=r,c=q.getLocalizedStrings().reportTitleById.operating_expenses,m=j.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${ae}/statement`,authParams:l},analytics:x,isZeniUser:Ge(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(ao(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(be({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ne(t,n)),e(be({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(be({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(be({resetLeftScroll:!0})),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=ks(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Fe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(be({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(be({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ee("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(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"?Te:Ot,n)),t=="forecast_mode"?(e(Kt({viewMode:"account_group"})),e(ba(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(be({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Kt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(to({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(eo())},onResyncReports:()=>{e(vt("operating_expenses_by_classes"))}}})(qe),Ss=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ne({mobileExploreReferrer:"DashboardOpEx"}),c=Ke({mobileExploreReferrer:"DashboardOpEx"}),m=_(y=>Tt(y)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_(y=>Et(y.forecastState,u??"")),h=_(y=>ga(y)),p=_(y=>It(y)),f=_(y=>we(y)),A=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const y=l?.forecastPeriod,M=E!=null&&y.endDate.isAfter(E?.endDate)===!0?E:y;a(de(e.firstMonthOfFY,{startDate:M.endDate.startOf(C),endDate:M?.endDate}))}},[u]);const S=_e(),I=S?.loggedInUserRole!=null&&Ca(S?.loggedInUserRole)!==!0,{useFeatureGate:T}=Se(),{isFeatureEnabled:L}=T(R.isReportsCommentingEnabled),k=Ft(L?S?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(_s,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:A,navigate:o,forecastIdFromUrlPath:r,analytics:x,hasTransactionAccess:I,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:k,isReportsCommentingEnabled:L})},ys=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(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}},As=te(function(e){const a=ka(e),t=no(e),n=oo(e),o=so(e),r=xt(e),{scrollPosition:s,...i}=r,c=q.getLocalizedStrings().reportTitleById.revenue,m=j.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${ae}/statement`,authParams:l},analytics:x,isZeniUser:Ge(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:we(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(co(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout(()=>e(Ce({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ne(t,n)),e(Ce({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Ce({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&$(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(Ce({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=ys(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Fe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(Ce({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Ce({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ee("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(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"?Te:Ot,n)),t==="forecast_mode"?(e(qt({viewMode:"account_group"})),e(_a(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(Ce({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(qt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(io({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(ro())},onResyncReports:()=>{e(vt("revenue_by_classes"))}}})(qe),vs=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ne({mobileExploreReferrer:"DashboardRevenue"}),c=Ke({mobileExploreReferrer:"DashboardRevenue"}),m=_(k=>xt(k)),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_(k=>Et(k.forecastState,u??"")),h=_(k=>ka(k)),p=h.dataAvailable,f=m.mode==="compare_mode",A=_(k=>we(k)),E=_(k=>It(k));b.useEffect(()=>{if(u!=null&&g===!0&&($(g,r,u,o),l!=null)){const k=l?.forecastPeriod,y=p!=null&&k.endDate.isAfter(p?.endDate)===!0?p:k;a(de(e.firstMonthOfFY,{startDate:y.endDate.startOf(C),endDate:y?.endDate}))}},[u]);const S=_e(),{useFeatureGate:I}=Se(),{isFeatureEnabled:T}=I(R.isReportsCommentingEnabled),L=Ft(T?S?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(As,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isAccountingClassesEnabled:A,isCompareModeOn:f,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:x,reportsResyncFetchState:E.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:L,isReportsCommentingEnabled:T})},Es=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}},Is=te(function(e){const a=lo(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ce(e,"navbar");return{report:a,analytics:x,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}},function(e,a){return{onTimeframeSelectionChanged:t=>{x.trackTimeframeSwitch(Ua(t),"Top Expenses"),e(Sa(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Es(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Fe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ee("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(Go),Ts=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Is,{tenantEmailDomain:a,location:t,navigate:n})},xs=Dt.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
+ `,Te=3,Ot=1;function Ds({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=W(),r=H(),{tenantEmailDomain:s}=K();let i;$e({isDataReady:!0});const c={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=d.jsx(Ss,{...c});break;case"revenue":i=d.jsx(vs,{...c});break;case"net_burn_or_income":i=d.jsx(Cs,{...c});break;case"cash_position":i=d.jsx(fs,{...c});break;case"top_expenses":i=d.jsx(Ts,{...c});break;case"cash_in_cash_out":i=d.jsx(ms,{...c});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?d.jsx(xs,{children:i}):null}function re(){const e=H(),a=z(),{forecastId:t}=K();let n="Not-Started";const o=_(l=>Tt(l).fetchState),r=_(l=>xt(l).fetchState),s=_(l=>yt(l).fetchState),i=_(l=>l.cashPositionState.fetchState),c=_(l=>l.topExState.fetchState),m=_(l=>l.cashInCashOutState.fetchState);if(j.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const g=_(l=>U(l)),C=g?.company?.companyInfo?.firstMonthOfFY??1,u=ra((l=>{const h=ia(l,"/").split("/");return t!=null?h[h.length-3]:h[h.length-1]})(e.pathname));switch(u){case"operating_expenses":n=o;break;case"revenue":n=r;break;case"net_burn_or_income":n=s;break;case"cash_position":n=i;break;case"top_expenses":n=c;break;case"cash_in_cash_out":n=m;break;default:console.error(`${u} is not supported!`)}return b.useEffect(()=>{n==="Not-Started"&&function(l,h,p,f){switch(h){case"operating_expenses":l(Ta(!0)),f!=null&&(l(Ie(p,!0,Te,{id:f,index:0})),l(ba(!1,f)));break;case"revenue":l(Ia(!0)),f!=null&&(l(Ie(p,!0,Te,{id:f,index:0})),l(_a(!1,f)));break;case"net_burn_or_income":l(Ea(!0)),f!=null&&(l(Ie(p,!0,Te,{id:f,index:0})),l(fa(!1,f)));break;case"cash_position":l(va(!0));break;case"top_expenses":l(Aa());break;case"cash_in_cash_out":l(ya());break;default:throw new Error(`report type ${h} is not yet supported`)}}(a,u,C,t)},[t]),d.jsxs(d.Fragment,{children:[n==="Completed"?d.jsx(ze,{analytics:x,onLoad:l=>((h,p)=>{const f=e.state?.referrer;switch(p){case"operating_expenses":h.trackPageLoaded(N.Event.operatingExpenses,f);break;case"revenue":h.trackPageLoaded(N.Event.revenues,f);break;case"net_burn_or_income":h.trackPageLoaded(N.Event.burnRate,f);break;case"cash_position":h.trackPageLoaded(N.Event.cashPosition,f);break;case"top_expenses":h.trackPageLoaded(N.Event.topExpenses,f);break;case"cash_in_cash_out":h.trackPageLoaded(N.Event.cashInCashOut,f);break;default:console.error(`Analytics: Not tracking Page Loaded for ${p}!`)}})(l,u)}):null,d.jsx(Ds,{firstMonthOfFY:C,fetchState:n,reportId:u,forecastId:t})]})}var ut=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function mt(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),function(){t(window.event)})}function Va(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 Na(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 Pt={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,"-":ut?173:189,"=":ut?61:187,";":ut?59:186,"'":222,"[":219,"]":221,"\\":220},ie={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},_t={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},B={16:!1,18:!1,17:!1,91:!1},P={},We=1;We<20;We++)Pt["f".concat(We)]=111+We;var w=[],Ht=!1,$a="all",Wt=[],tt=function(e){return Pt[e.toLowerCase()]||ie[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function Xt(e){$a=e||"all"}function Le(){return $a||"all"}var pt=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;Na(a).forEach(function(s){var i=s.split(r),c=i.length,m=i[c-1],g=m==="*"?"*":tt(m);if(P[g]){t||(t=Le());var C=c>1?Va(ie,i):[];P[g]=P[g].filter(function(u){return!((!n||u.method===n)&&u.scope===t&&function(l,h){for(var p=l.length>=h.length?l:h,f=l.length>=h.length?h:l,A=!0,E=0;E<p.length;E++)f.indexOf(p[E])===-1&&(A=!1);return A}(u.mods,C))})}})};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,B)Object.prototype.hasOwnProperty.call(B,r)&&(!B[r]&&a.mods.indexOf(+r)>-1||B[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||B[16]||B[18]||B[17]||B[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 ea(e,a){var t=P["*"],n=e.keyCode||e.which||e.charCode;if(G.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(h){var p=_t[h];e[h]&&w.indexOf(p)===-1?w.push(p):!e[h]&&w.indexOf(p)>-1?w.splice(w.indexOf(p),1):h==="metaKey"&&e[h]&&w.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(w=w.slice(w.indexOf(p))))}),n in B){for(var o in B[n]=!0,ie)ie[o]===n&&(G[o]=!0);if(!t)return}for(var r in B)Object.prototype.hasOwnProperty.call(B,r)&&(B[r]=e[_t[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(w.indexOf(17)===-1&&w.push(17),w.indexOf(18)===-1&&w.push(18),B[17]=!0,B[18]=!0);var s=Le();if(t)for(var i=0;i<t.length;i++)t[i].scope===s&&(e.type==="keydown"&&t[i].keydown||e.type==="keyup"&&t[i].keyup)&&Jt(e,t[i],s,a);if(n in P){for(var c=0;c<P[n].length;c++)if((e.type==="keydown"&&P[n][c].keydown||e.type==="keyup"&&P[n][c].keyup)&&P[n][c].key){for(var m=P[n][c],g=m.splitKey,C=m.key.split(g),u=[],l=0;l<C.length;l++)u.push(tt(C[l]));u.sort().join("")===w.sort().join("")&&Jt(e,m,s,a)}}}}function G(e,a,t){w=[];var n=Na(e),o=[],r="all",s=document,i=0,c=!1,m=!0,g="+",C=!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&&(c=a.keyup),a.keydown!==void 0&&(m=a.keydown),a.capture!==void 0&&(C=a.capture),typeof a.splitKey=="string"&&(g=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(g)).length>1&&(o=Va(ie,e)),(e=(e=e[e.length-1])==="*"?"*":tt(e))in P||(P[e]=[]),P[e].push({keyup:c,keydown:m,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:g,element:s});s!==void 0&&!function(u){return Wt.indexOf(u)>-1}(s)&&window&&(Wt.push(s),mt(s,"keydown",function(u){ea(u,s)},C),Ht||(Ht=!0,mt(window,"focus",function(){w=[]},C)),mt(s,"keyup",function(u){ea(u,s),function(l){var h=l.keyCode||l.which||l.charCode,p=w.indexOf(h);if(p>=0&&w.splice(p,1),l.key&&l.key.toLowerCase()==="meta"&&w.splice(0,w.length),h!==93&&h!==224||(h=91),h in B)for(var f in B[h]=!1,ie)ie[f]===h&&(G[f]=!1)}(u)},C))}var ht={setScope:Xt,getScope:Le,deleteScope:function(e,a){var t,n;for(var o in e||(e=Le()),P)if(Object.prototype.hasOwnProperty.call(P,o))for(t=P[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;Le()===e&&Xt(a||"all")},getPressedKeyCodes:function(){return w.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=tt(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(P).forEach(function(t){var n=P[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(P).forEach(function(s){return delete P[s]});else if(Array.isArray(e))e.forEach(function(s){s.key&&pt(s)});else if(typeof e=="object")e.key&&pt(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=""),pt({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:Pt,modifier:ie,modifierMap:_t};for(var ft in ht)Object.prototype.hasOwnProperty.call(ht,ft)&&(G[ft]=ht[ft]);if(typeof window<"u"){var ws=window.hotkeys;G.noConflict=function(e){return e&&window.hotkeys===G&&(window.hotkeys=ws),G},window.hotkeys=G}G.filter=function(){return!0};var ta=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Fs(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,c=o.keydown,m=o.filterPreventDefault,g=m===void 0||m,C=o.enabled,u=C===void 0||C,l=o.enableOnContentEditable,h=l!==void 0&&l,p=b.useRef(null),f=b.useCallback(function(A,E){var S,I;return s&&!s(A)?!g:!!(ta(A,["INPUT","TEXTAREA","SELECT"])&&!ta(A,r)||(S=A.target)!=null&&S.isContentEditable&&!h)||!!(p.current===null||document.activeElement===p.current||(I=p.current)!=null&&I.contains(document.activeElement))&&(a(A,E),!0)},n?[p,r,s].concat(n):[p,r,s]);return b.useEffect(function(){if(u)return i&&c!==!0&&(t.keydown=!1),G(e,t||{},f),function(){return G.unbind(e,f)};G.unbind(e,f)},[f,e,u]),p}G.isPressed;const Os=[],aa="dashboard_card",J="ai_cfo_dashboard_card";function na(e,a){return a?e.some(t=>String(t)===J)?e.slice():[J,...e]:e.filter(t=>String(t)!==J)}const Ps=["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"],Ms=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e.status!=null?{balanceAmount:e.balance?.available,lastUpdatedTime:e.status.lastRefreshSuccessTime,changePercent:e.balance?.change?.percent,changeComparedToDate:e.balance?.change?.since}:void 0}),je=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e}),Rs=(e,a,t,n)=>je(void 0,e,ke,a,t),Bs=(e,a,t,n,o)=>({card:{dimension:et(ke),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1,spansFullDashboardWidth:!1},data:{funds:n,hasUserSeenVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),js=e=>{const a=et(ke);return a.height=ke.height+10,{card:{dimension:a,cardType:J,cardIndex:e,fetchState:"Completed",disableAnimations:!1,spansFullDashboardWidth:!0}}},Ls=te(function(e,a){const t=Ys(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i,treasuryFundDetails:c,hasUserSeenTreasuryVideo:m,treasuryFetchState:g}=a;let C=n.map((u,l)=>{if(u==="reimbursement_promo_card"||u==="bill_pay_promo_card")return Rs(t,u,l);if(u==="zeni_promo_card")return je({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,ke,u,l);if(u==="treasury_promo_card")return Bs(g,u,l,c,m);if(u==="information_card")return je(void 0,"Completed",ke,u,l);if(u===J)return js(l);{const h=o.find(p=>p?.reportId===u);return h?function(p,f,A,E){const S=p.reportId;switch(S){case"card_balance":case"cash_balance":return[Ms(p,f,A,S,E)];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[je(p,f,A,S,E)];case"net_burn_or_income_story_card":return[je(p,f,A,"net_burn_or_income_story_card",E)];default:return console.error(`card type ${S} not yet supported!`),[]}}(h,h.fetchState,ke,l):[]}}).flat();return a.isSummaryCardsFiltered===!0&&(C=C.filter(u=>Ps.includes(u.card.cardType)==0).filter(u=>{const l=u.data?.availableNumberOfPeriods;return l!=null?l>0:u.card.cardType!="top_expenses"||u.data==null||function(h){if(h==null||h.length===0)return!0;let p=!0;for(const f of h)if(f.balance.available.amount!==0){p=!1;break}return p}(u.data.topExpenses.accountsOrdered)===!1})),{cardDataArray:C,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ce(e,"navbar")},analytics:x,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}},function(e,a){const t=a.tenantId,n=j.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)x.trackDashboardCardClicked("cards promo",2),x.trackZeniCardsPromoCardClicked(a.isChargeCardFeatureEnabled,i,2,`${n?.firstName??""} ${n?.lastName??""}`,a.isChargeCardFeatureEnabled?a.cardsCreditLimit:void 0),i==="Learn More"?window.open("https://www.zeni.ai/product/business-credit-card","_blank"):a.navigate("../cards/promo",{relative:"path"});else if(a.isForecastOn)switch(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&&x.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(x.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(i,c,m,g){if(c!==J)switch(c){case"card_balance":i(da());break;case"cash_balance":i(ca());break;case"operating_expenses":i(Ta(!0));break;case"revenue":i(Ia(!0));break;case"net_burn_or_income":i(Ea(!0));break;case"net_burn_or_income_story_card":i(xo(!0));break;case"cash_position":i(va(!0));break;case"top_expenses":i(Aa());break;case"cash_in_cash_out":i(ya());break;case"insights_dashboard":i(To());break;case"bill_pay_card":i(Io());break;case"reimbursement_card":i(Eo());break;case"company_details":i(vo(m));break;case"task_card":i(Ao());break;case"accounts_payable_aging":g.includes("accounts_payable_aging")===!1&&i(bt(xe()));break;case"accounts_receivable_aging":i(Ct(xe()));break;case"zeni_accounts_promo_card":g.includes("zeni_accounts_promo_card")===!1&&i(la());break;case"rewards_card":g.includes("rewards_card")===!1&&i(yo(!0));break;default:throw new Error(`report type ${c} is not yet supported`)}}(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{x.trackTimeframeSwitch(Ua(r),Gs(o),"Dashboard"),function(s,i,c){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(De(c));break;case"top_expenses":s(Sa(c));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}}(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(So(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",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="reimbursement_promo_card"){const s="../reimbursements",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="zeni_accounts_promo_card")if(a.hasZeniAccountsAdminAccess){let s="../checking/promo";r!=null&&(s=`../checking/${r}`);const i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/business-checking-accounts","_blank");else if(o==="treasury_promo_card")if(a.isUserHasTreasuryAccess){j.saveTreasuryPopupSeen(a.tenantEmailDomain,!0);const s="../treasury",i=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/treasury","_blank")},onSaveClick:(o,r,s)=>{o==="net_burn_or_income_story_card"&&(x.trackUpdateBurnRateCalculatorSettings(r,s,ko(s)),e(_o(t,r,s)))},onVideoPlay:()=>{e(Zt())},onVideoClose:()=>{e(Zt()),e(Co())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(le({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(ee("navbar"))},onCancelAutoComplete:()=>{e(ee("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?ue(o,a.tenantEmailDomain):qo(o.zeniId,o.qboId,a.tenantEmailDomain);const s=D(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}})(Ko);function Us(){const e=oa(),a=Fa(),t=Ba(a),{isAiCfoOpen:n,setIsAiCfoOpen:o,setAiCfoSidePanelQuestionToSubmit:r}=wa(),s=W(),i=z(),c=H(),m=j.getSignedInUser(),{useFeatureGate:g,useDynamicConfig:C}=Se(),u=Ge(m),[l,h]=b.useState(!1),[p,f]=b.useState(!1),A=Oa(),{tenantEmailDomain:E}=K(),{isAiCfoAccessEnabled:S,onAskAiCfoClick:I}=ne({mobileExploreReferrer:"Dashboard"}),T=_(v=>v.tenantState.fetchState==="Completed"||v.tenantState.activeTenantFetchState.fetchState==="Completed"?U(v):void 0),L=T??j.getSignedInUserTenant(E),k=T?.masterTOSInfo?.isMasterTOSAccepted??!1,y=L.tenantId,M=L.companyId;b.useEffect(()=>{l===!1&&c.state?.message==="activation"&&(i(uo(M)),h(!0))},[c.state,l,M,i]),b.useEffect(()=>{A&&!p&&c.state?.message==="open_ai_cfo_drawer"&&(f(!0),k?(o(!0),s({pathname:c.pathname,search:c.search,hash:c.hash},{replace:!0,state:{...c.state,message:void 0}})):se({location:c,navigate:s,mergeState:{referrer:"Dashboard",message:void 0}}))},[c,p,A,k,o,s]);const{isFeatureEnabled:X}=g(R.isApAgingFeatureEnabled),{isFeatureEnabled:Oe}=g(R.isExpenseAutomationEnabled),{isFeatureEnabled:Pe}=g(R.isExpenseAutomationEnabledV2),me=Pe||Oe&&u,{isFeatureEnabled:O}=g(R.isTreasuryEnabled),pe=Yo(me),{isFeatureEnabled:Me}=g(R.isArAgingFeatureEnabled),{isFeatureEnabled:Ze}=g(R.isDepositAccountsFeatureEnabled),{isFeatureEnabled:Mt}=g(R.isReferralFeatureEnabled),{isFeatureEnabled:za}=g(R.isChargeCardFeatureEnabled),{isFeatureEnabled:Ka}=g(R.isAiCfoFileUploadEnabled),{isFeatureEnabled:qa}=g(R.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:Za}=g(R.isDashboardSidebarNewYearAnimationEnabled),{configValue:Rt}=C(Pa.zeniCardsConfig),Qa=Rt.charge_card_cashback_rate_per_transaction==null?.0175:Rt.charge_card_cashback_rate_per_transaction;if(c.state?.message==="activation"){const v=Vo(c.state?.pathnameStackToGoBack);s(c.pathname,{state:{...c.state,message:void 0,pathnameStackToGoBack:v.newStack}})}const[Bt,Ha]=b.useState(!1),[at,Wa]=b.useState(!1);Fs("command+p, Control+p",v=>{Wa(!at),v.preventDefault()},{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[at]);const jt=T?.externalConnections?.accounting[0]?.isValid;if(m==null)throw Error("Can't access dashboard without signing in...");const he=_(v=>U(v)?.excludedResources),Xa=_(v=>v.expenseAutomationViewState.selectedPeriodByTenantId),Ja=!!T?.companyReimbursementInfo?.info?.isReimbursementEnabled,en=!!T?.companyBillPayInfo?.info?.isBillPayEnabled,tn=_(v=>v.treasurySetupViewState.treasuryFundsDetails).fetchStatus.fetchState,an=T?.company!=null&&mo(T.company),nt=O&&an,ot=_e(),nn=St(ot?.loggedInUserRoleMap),Y=[],Lt=he?.resources?.find(v=>v.resource==="/reports/top_expenses")==null,on=he?.resources?.find(v=>v.resource==="/reports/task_card")==null,st=T?.userRole!=null&&Ca(T?.userRole),sn=he?.resources?.find(v=>v.resource==="/bills")==null&&!st,rn=he?.resources?.find(v=>v.resource==="/reimbursements")==null,cn=po(ot?.loggedInUserRoleMap),ln=ho(ot?.loggedInUserRoleMap),dn=T?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,un=T?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,mn=_(v=>v.treasurySetupViewState.treasuryFundsDetails).fundsDetails;Lt===!1&&Y.push("top_expenses"),on===!1&&Y.push("task_card"),sn===!1&&Y.push("bill_pay_card","bill_pay_promo_card"),X===!1&&Y.push("accounts_payable_aging"),Me===!1&&Y.push("accounts_receivable_aging"),(me===!1||st)&&Y.push("expense_automation_card"),rn===!1&&Y.push("reimbursement_card","reimbursement_promo_card"),Ze===!1&&Y.push("zeni_accounts_promo_card"),Mt===!1&&Y.push("rewards_card"),nt===!1&&Y.push("treasury_promo_card");const{areTenantIdsInSync:Ut}=No();b.useLayoutEffect(()=>{Bt&&pe===me||jt!==!0||!Ut||he?.fetchState!=="Completed"&&he?.fetchState!=="Error"||(Ha(!0),i(fo(m.userId,M,y,!0,!1,Y)))},[Bt,m,y,i,Lt,jt,he?.fetchState,Ut]);const pn=_(v=>v.reportUIOptionsState.forecastOnDashboard.isForecastModeOn),hn=_(v=>v.revenueState.uiState.selectedForecast?.id),fn=_(v=>v.cardBalanceState.fetchState),oe=_(v=>go(v,Y,m,Pe,Oe,nt)),gn=oe.fetchState,bn=b.useMemo(()=>na(oe.cardsOrdered,S),[oe.cardsOrdered,S]),Cn=b.useMemo(()=>na(oe.cardsForDashboardUI,S),[oe.cardsForDashboardUI,S]);$e({isDataReady:!0});const{isSuggestedQuestionsLoading:kn,suggestedPromptQuestions:_n}=Qo(),Gt=T?.isTreasuryVideoViewed===!0||oe.isTreasuryVideoClosed===!0,Yt=_(v=>ua(v)),ye=Yt.uiState?.currentChatSessionId,rt=Yt.allSessionsWithOrderedQuestionAnswers??Os,{currentSessionQuestionAnswers:Sn}=$o(rt,ye),Vt=Sn.length===0,yn=b.useCallback((v,Z,fe)=>{const Ae=m?.userId;if(Ae==null)return;const V=v.trim();if(V.length===0&&Z.length===0)return;if(!k)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});const Q=Ma(e.getState()),ve=()=>{const Ee=D(c.state?.pathnameStackToGoBack,c.pathname);s(`/${E}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Ee,referrer:"Dashboard",aiCfoInitialQuestion:V,aiCfoShouldSubmit:!Q&&V.length>0,aiCfoInitialSubmissionSource:aa,...typeof fe=="number"?{aiCfoSuggestionIndex:fe}:{}}})};return t?Z.length>0?void o(!0):void ve():Z.length>0?Q?(i(kt(V)),void o(!0)):(r(V.length>0?V:null),o(!0),void(V.length>0&&Ra(i,V,aa,ye,rt,Ae,fe,Z.length>0?Z:void 0))):(Q&&i(kt(V)),void ve())},[rt,ye,i,k,t,c,s,r,o,m?.userId,e,E]),An=b.useCallback(()=>{k?o(!0):se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})},[k,c,s,o]),vn=b.useCallback(()=>{if(!k)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});if(E==null)return;const v=D(c.state?.pathnameStackToGoBack,c.pathname);s(`/${E}/ai-cfo/explore`,{state:{pathnameStackToGoBack:v,referrer:"Dashboard"}})},[k,c,s,E]),En=b.useCallback(()=>{if(k)if(t){if(E==null||T==null)return;const v=ye==null||Vt?`/${E}/ai-cfo/explore`:`/${E}/ai-cfo/${ye}`,Z=c.state?.pathnameStackToGoBack??[],fe=D(Z,c.pathname);s(v,{state:{...c.state,pathnameStackToGoBack:fe,[zo]:!0}})}else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})},[k,t,c,s,E,T,ye,Vt]);return d.jsxs(d.Fragment,{children:[gn==="Completed"?d.jsx(ze,{analytics:x,onLoad:v=>{v.trackPageLoaded(N.Event.dashboard),nt&&!Gt&&v.trackTreasuryPromoView("Dashboard Promo Video")}}):null,d.jsx(Ls,{maxColumns:n?2:void 0,isAiCfoAccessEnabled:S,onAskAiCfoClick:I,onAiCfoDashboardOpenPanel:An,onAiCfoDashboardOpenScopePage:En,isAiCfoFileUploadEnabled:Ka===!0&&t===!1,onAiCfoDashboardPromptSubmit:yn,onAiCfoDashboardExpandToFullPage:vn,aiCfoDashboardSuggestedPromptQuestions:_n,aiCfoDashboardSuggestedPromptQuestionsLoading:kn,onDragAndDropCard:(v,Z)=>{if(v===J||Z===J)return;const fe=function(Q,ve,Ee){const it=Ee.indexOf(Q),ct=Ee.indexOf(ve);if(it===-1||ct===-1||it===ct)return Ee;const lt=[...Ee];return lt.splice(it,1),lt.splice(ct,0,Q),lt}(v,Z,bn),Ae=fe.filter(Q=>Q!==J),V=oe.cardsOrdered;(Ae.length!==V.length||Ae.some((Q,ve)=>Q!==V[ve]))&&i(bo(Ae))},dashboardReport:oe,passedCardsOrdered:Cn,tenantId:y,companyId:M,tenantEmailDomain:E,location:c,navigate:s,isApAgingFeatureEnabled:X,isArAgingFeatureEnabled:Me,isBillPayEnabled:en,isReimbursementEnabled:Ja,isSummaryCardsFiltered:at,isForecastOn:pn,selectedForecastOnDashboard:hn,isVisitingFirstTime:l,isZeniAccountEnabled:Ze,isRewardsFeatureEnabled:Mt,hasZeniAccountsAdminAccess:nn,isExpenseAutomationEnabledForUser:me&&st===!1,selectedPeriod:Xa[y],isChargeCardFeatureEnabled:za,isUserHasCardsAccess:cn,isUserHasTreasuryAccess:ln,cardsCreditLimit:dn,cashbackRate:Qa,isInterestedInChargeCard:un,cardBalanceFetchState:fn,christmasAnimationEnabled:qa,newYearAnimationEnabled:Za,treasuryFundDetails:mn,hasUserSeenTreasuryVideo:Gt,treasuryFetchState:tn})]})}const Gs=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"},Ys=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map(a=>a.fetchState).reduce((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t);function gr(){const e=_e(),a=e?.excludedResources?.find(m=>m.resource==="/reports/top_expenses")==null,{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(R.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(R.isArAgingFeatureEnabled),r=_(m=>U(m)),{isFeatureEnabled:s}=t(R.isDebitCardFeatureEnabled),i=Do(s,r),c=wo(r);return i===!0||c===!0?d.jsx(gt,{children:d.jsx(F,{path:"/*",element:d.jsx(Ho,{})})}):d.jsxs(gt,{children:[d.jsx(F,{path:"/",element:d.jsx(Us,{})}),d.jsx(F,{path:"cash_balance/*",element:d.jsx(Qt,{})}),d.jsx(F,{path:"card_balance/*",element:d.jsx(Qt,{})}),d.jsx(F,{path:"operating_expenses/*",element:d.jsx(re,{})}),d.jsx(F,{path:"operating_expenses/forecast/*",element:d.jsx(dt,{})}),d.jsx(F,{path:"revenue/forecast/*",element:d.jsx(dt,{})}),d.jsx(F,{path:"revenue/*",element:d.jsx(re,{})}),d.jsx(F,{path:"net_burn_or_income/forecast/*",element:d.jsx(dt,{})}),d.jsx(F,{path:"net_burn_or_income/*",element:d.jsx(re,{})}),n===!0&&d.jsxs(d.Fragment,{children:[d.jsx(F,{path:"accounts_payable_aging/*",element:d.jsx(Jo,{})}),d.jsx(F,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:d.jsx(Xo,{})})]}),o&&d.jsxs(d.Fragment,{children:[d.jsx(F,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:d.jsx(es,{})}),d.jsx(F,{path:"accounts_receivable_aging/*",element:d.jsx(ts,{})})]}),d.jsx(F,{path:"cash_position/*",element:d.jsx(re,{})}),d.jsx(F,{path:"top_expenses/*",element:a===!0?d.jsx(re,{}):d.jsx(Ue,{})}),d.jsx(F,{path:"cash_in_cash_out/*",element:d.jsx(re,{})}),d.jsx(F,{path:"company_details",element:d.jsx(Zo,{})}),d.jsx(F,{path:"referrals/*",element:d.jsx(Wo,{})}),d.jsx(F,{path:"*",element:d.jsx(Ue,{})})]})}export{gr as default};
@@ -1 +1 @@
1
- import{j as v}from"./liveblocks-CojXceKe.js";import{a as u}from"./sentry-VbP5SjgI.js";import{h as y,g as b,k as w,u as A,N as k}from"./core-1tzDxF_J.js";import{J9 as N,eQ as _,fl as U,Ja as L,mS as R,Jb as z}from"./zeni-epic-state-BKNuQ_Od.js";import{u as O,z as f,L as T,t as I,D as $,b as j}from"./index-Clodxfbm.js";import"./mui-eOKzNg_v.js";import{t as P}from"./getLocaleForTenant-yA2GFCvq.js";import"./recharts-CprzPz94.js";import"./analytics-CuL7sbHO.js";import"./plaid-C86NKwk4.js";import"./dnd-UQ1tNXwl.js";import"./stripe-DMRn4zHo.js";import"./lottie-BiPaRBCF.js";import"./lexical-DyD9YeY2.js";import"./pdf-D54b-lk1.js";import"./utils-BIjucwi9.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]="0690d749-15fd-46f1-9347-543338f7fa14",t._sentryDebugIdIdentifier="sentry-dbid-0690d749-15fd-46f1-9347-543338f7fa14")}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,S=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,S=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=j(c,p);return v.jsx(k,{to:x,replace:!0,state:{...r.state,origin:"",message:m,aiCfoInitialQuestion:d,aiCfoShouldSubmit:e,aiCfoRef:g,aiCfoEmailRefId:S}})}});function oe(){const t=y(),{setLoading:s,clearAllLoading:o}=O(),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&&I.shouldFetchActiveTenant(e)&&(h.current=!0,I.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,S=g==null||a==="Completed"||a==="Error";r.current===!1&&e!=null&&S&&I.shouldFetchAllTenants()&&(r.current=!0,I.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||($.updateAppLocaleID(P(c)),o())},[n,a,c]),v.jsx(Q,{})}const J=["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"],q={"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 J)if(t.toLocaleLowerCase().includes(s))return q[s]}export{oe as default};
1
+ import{j as v}from"./liveblocks-D1TxH59e.js";import{a as u}from"./sentry-5pTQe3BK.js";import{u as y,j as b,n as w,g as A,N as k}from"./core-Fwwp8hop.js";import{Jj as N,eP as _,fo as U,Jk as L,mT as R,Jl as z}from"./zeni-epic-state-i1VxNGkd.js";import{u as O,z as f,L as T,t as I,O as j,b as $}from"./index-Sm9Ycasn.js";import"./mui-Dar_oGjJ.js";import{t as P}from"./getLocaleForTenant-B-vHrKHL.js";import"./recharts-DuOI9Nsb.js";import"./analytics-D310XSjQ.js";import"./plaid-BGhwh8RZ.js";import"./dnd-B_nt-Uf4.js";import"./stripe-DMRn4zHo.js";import"./lottie-BGeomX3N.js";import"./lexical-D4DqnnDh.js";import"./pdf-BftxTBXg.js";import"./utils-3_hFkWEq.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]="bb461043-7c8e-4cb2-88cd-c02ca9e7c126",t._sentryDebugIdIdentifier="sentry-dbid-bb461043-7c8e-4cb2-88cd-c02ca9e7c126")}catch{}})();const J=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),c=r.state?.origin,a=r.state?.queryParams;let i=`../${o.tenantEmailDomain}`,d=null,e=!1,g=null,S=null;const C=E(r.pathname);if(C!=null)i=`../${o.tenantEmailDomain}/${C}`,m="comingFromV2UrlPath",C==="ai-cfo/explore"&&(d=p.get("question")?.replace(/^["']|["']$/g,"")??null,e=p.get("should_submit")==="true");else if(c!=null)if(n.reduce((l,F)=>l||c.split("/").find(D=>D===F)!=null,!1))i=c,c.includes("ai-cfo")&&a!=null&&(g=a.aiCfoRef??null,S=a.aiCfoEmailRefId??null);else{const l=E(c);l!=null?(i=`../${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=$(i,p);return v.jsx(k,{to:x,replace:!0,state:{...r.state,origin:"",message:m,aiCfoInitialQuestion:d,aiCfoShouldSubmit:e,aiCfoRef:g,aiCfoEmailRefId:S}})}});function oe(){const t=y(),{setLoading:s,clearAllLoading:o}=O(),h=u.useRef(!1),r=u.useRef(!1),p=u.useRef(null),m=b(e=>N(e)),n=b(e=>e.tenantState.fetchState),c=b(e=>e.tenantState.error),a=b(e=>e.tenantState.activeTenantFetchState.fetchState),i=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&&I.shouldFetchActiveTenant(e)&&(h.current=!0,I.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,S=g==null||a==="Completed"||a==="Error";r.current===!1&&e!=null&&S&&I.shouldFetchAllTenants()&&(r.current=!0,I.markAllTenantsFetchStarted(),(n==="Not-Started"||n==="Error"&&!L(c))&&t(R(e.userId)))},[n,a,c,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"||i==null||(j.updateAppLocaleID(P(i)),o())},[n,a,i]),v.jsx(J,{})}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"],q={"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 q[s]}export{oe as default};