@zeniai/web-app-ui 5.3.26-dev → 5.3.27-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AccountMappingScreen-DaqZZA1y.js +9 -0
- package/dist/assets/AddressRoutes--CFKCkaL.js +1 -0
- package/dist/assets/AddressScreen-Dqyvg_DE.js +9 -0
- package/dist/assets/AiCfoScreen-Fn3zvhfE.js +22 -0
- package/dist/assets/AppDrawer-D0bkqw7G.js +10 -0
- package/dist/assets/{BillPayApprovalRoutes-pwHQS3o9.js → BillPayApprovalRoutes-eILGhkg-.js} +1 -1
- package/dist/assets/{BillPayRoutes-dMREYFET.js → BillPayRoutes-37ip4fRF.js} +18 -18
- package/dist/assets/{BusinessVerificationPageScreen-CIU6ITVX.js → BusinessVerificationPageScreen-BBPD780e.js} +2 -2
- package/dist/assets/{CardsAiCfoScreen-BRT-yq43.js → CardsAiCfoScreen-Baf8zOAK.js} +1 -1
- package/dist/assets/{ChargeCardRoutes-CVOY1iE_.js → ChargeCardRoutes-DmeZJCQT.js} +8 -8
- package/dist/assets/CompanyPassportScreen-C_pRUVln.js +1 -0
- package/dist/assets/ConnectionAuthScreen-CUo0NJEq.js +11 -0
- package/dist/assets/CustomerOnboardingAuthScreen-Bwf9kXMI.js +1 -0
- package/dist/assets/{CustomerOnboardingRoutes-1wxFD7hL.js → CustomerOnboardingRoutes-BLu4eEKn.js} +5 -5
- package/dist/assets/{DashboardRoutes-Cd1SkWkW.js → DashboardRoutes-ORzWlYnm.js} +4 -4
- package/dist/assets/{DefaultTenantHome-BzGArQdn.js → DefaultTenantHome-i-6bhA98.js} +1 -1
- package/dist/assets/DomesticWireDetailScreen-CyLkyrfk.js +18 -0
- package/dist/assets/DrawerScreen-BUgCVChB.js +1 -0
- package/dist/assets/EntityDetailRoutes-D9J_IXUi.js +1 -0
- package/dist/assets/{ExpenseAutomationRoutes--LfNg3pH.js → ExpenseAutomationRoutes-CsGdQ1mY.js} +4 -4
- package/dist/assets/FeaturePreviewScreen-Crks8H4y.js +1 -0
- package/dist/assets/HubSpotOAuthCallbackScreen-BtM4S0nt.js +1 -0
- package/dist/assets/{InboxNotificationsProvider-yp4VlF4V.js → InboxNotificationsProvider-CzhxlkVm.js} +1 -1
- package/dist/assets/{InvoicingRoutes-D0AtqhHk.js → InvoicingRoutes-BkqhDwSy.js} +2 -2
- package/dist/assets/{MagicLinkRoutes-CX5BmZG-.js → MagicLinkRoutes-D5MiWWQ9.js} +10 -10
- package/dist/assets/MagicLinkSignInScreen-DW04FMtl.js +12 -0
- package/dist/assets/MobileAppDrawer-CmjsL1eQ.js +1 -0
- package/dist/assets/NotFoundScreen-BPjOFceW.js +1 -0
- package/dist/assets/NotificationRoutes-B9_H_iqh.js +1 -0
- package/dist/assets/OAuthConsentScreen-4cOTWmRk.js +1 -0
- package/dist/assets/PandLWithForecastRoutes-FasScyWQ.js +1 -0
- package/dist/assets/{PaymentLinkScreen-0MDQfoZq.js → PaymentLinkScreen-B7dK2OwX.js} +5 -5
- package/dist/assets/PeopleRoutes-CfXWqRXn.js +22 -0
- package/dist/assets/PerformanceRoutes-D4ErL_G-.js +1 -0
- package/dist/assets/{Preview-BxM5wosg.js → Preview-D-cOupgE.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-BPvZ-19p.js → QBOConnectionScreen-DHJG1ivI.js} +22 -22
- package/dist/assets/ReimbursementApprovalRoutes-COQTrupK.js +1 -0
- package/dist/assets/ReimbursementApprovalRuleDetailScreen-C7IYySTX.js +1 -0
- package/dist/assets/ReimbursementRoutes-DmGebZS2.js +68 -0
- package/dist/assets/ReportsRoutes-DhhA3Eh2.js +1 -0
- package/dist/assets/RewardsRoutes-CvdxwlDw.js +1 -0
- package/dist/assets/ScreenRoutes-CyuHmZKb.js +2 -0
- package/dist/assets/{SettingsRoutes-XkD8UAX3.js → SettingsRoutes-C2oGjPkC.js} +7 -7
- package/dist/assets/{SetupPagesScreen-m2xCtrNq.js → SetupPagesScreen-CGt-iJzo.js} +5 -5
- package/dist/assets/SignInScreen-CSy256fR.js +1 -0
- package/dist/assets/SignOutScreen-B_qJIye2.js +9 -0
- package/dist/assets/TaskListScreen-CextY5A5.js +9 -0
- package/dist/assets/TaskRoutes-CPBzDWI1.js +9 -0
- package/dist/assets/TransactionDetailRoutes-BncTDbnc.js +1 -0
- package/dist/assets/TransactionDetailScreen-8UnSIXVI.js +5 -0
- package/dist/assets/{TransactionListRoutes-BkZzcgx5.js → TransactionListRoutes-DvLfPQCB.js} +1 -1
- package/dist/assets/{TreasuryRoutes-DmVJVDE4.js → TreasuryRoutes-G7tiwivZ.js} +5 -5
- package/dist/assets/{VendorsRoutes-DgxrxHfH.js → VendorsRoutes-eWQSdeAw.js} +27 -27
- package/dist/assets/{WiseConfirmationScreen-ByccBu4X.js → WiseConfirmationScreen-Bjcw2-vK.js} +2 -2
- package/dist/assets/{ZeniAccountRoutes-BujMAkE9.js → ZeniAccountRoutes-u7qTUA3M.js} +10 -10
- package/dist/assets/ZeniAccountStatementScreen-BvNm7lVB.js +9 -0
- package/dist/assets/{accountMappingHelper-C4yUO_tP.js → accountMappingHelper-CabpVb3J.js} +1 -1
- package/dist/assets/{analytics-p9dV2gEo.js → analytics-CsVp7bfq.js} +1 -1
- package/dist/assets/{analyticsHelper-B9-PsR8g.js → analyticsHelper-DQMoVHAr.js} +1 -1
- package/dist/assets/{core-35eDsgGP.js → core-DFhvjgE1.js} +1 -1
- package/dist/assets/{decodeURIComponentSafe-DhnAz_92.js → decodeURIComponentSafe-Bq1r0pP9.js} +1 -1
- package/dist/assets/{dnd-Dm1d6mZC.js → dnd-CR945ANw.js} +1 -1
- package/dist/assets/{empty-BDPRkuRZ.js → empty-BUo7eNC4.js} +1 -1
- package/dist/assets/{empty-DpY1OPz6.js → empty-DtCztbrx.js} +1 -1
- package/dist/assets/{emptyVideoElement-C6tD2_Is.js → emptyVideoElement-BHUR8Iif.js} +1 -1
- package/dist/assets/epic-CXAAQW1t.js +2 -0
- package/dist/assets/{expenseAutomationHelper-XBf0IYWB.js → expenseAutomationHelper-BDz030nC.js} +1 -1
- package/dist/assets/getLocaleForTenant-7H39EvyO.js +1 -0
- package/dist/assets/{index-DqXFykf0.js → index-BBYtI_9U.js} +1 -1
- package/dist/assets/{index-B3U6gyEe.js → index-BaZwiGCV.js} +1 -1
- package/dist/assets/{index-D-ldiYpS.js → index-BjpjXshH.js} +1 -1
- package/dist/assets/{index-DHtuXNZa.js → index-BuEv25D3.js} +1 -1
- package/dist/assets/{index-D-oz9cOM.js → index-BvtiyGfj.js} +1 -1
- package/dist/assets/{index-CJI7GB_s.js → index-CFhckac5.js} +1 -1
- package/dist/assets/{index-Dck-MxQS.js → index-CKPer1bp.js} +28540 -27684
- package/dist/assets/{index-g5u7iWai.js → index-DiQe_6d7.js} +2 -2
- package/dist/assets/{lexical-DQ4lSvQh.js → lexical-CCIwPSwQ.js} +1 -1
- package/dist/assets/{liveblocks-D0hIH2N0.js → liveblocks-BY1qt3Nf.js} +1 -1
- package/dist/assets/{lottie-TJOzQ6Cz.js → lottie-DgdF8254.js} +1 -1
- package/dist/assets/{mui-CY_LMiAy.js → mui-DesXezzU.js} +1 -1
- package/dist/assets/{pathToGoBack-n4Mx0taW.js → pathToGoBack-9ah_vxgB.js} +1 -1
- package/dist/assets/{pdf-DElOA9Iz.js → pdf-BVKoD2Fp.js} +4 -4
- package/dist/assets/{pdf-lib-D54M6RaZ.js → pdf-lib-B25n7och.js} +1 -1
- package/dist/assets/{plaid-CoaHurGj.js → plaid---yWAm21.js} +1 -1
- package/dist/assets/{pusher-BBz5Zhu2.js → pusher-D7k49qkv.js} +1 -1
- package/dist/assets/{react-psgyYffq.js → react-B5sZlhmO.js} +1 -1
- package/dist/assets/{react-DRB89Tf-.js → react-CNwSpjM6.js} +1 -1
- package/dist/assets/{react-Cn6RRlX0.js → react-Cwl8BPa_.js} +1 -1
- package/dist/assets/{react-CFjwLJT9.js → react-Dmj3hcZb.js} +1 -1
- package/dist/assets/{react-CcppuOI-.js → react-DyW_yLGE.js} +1 -1
- package/dist/assets/{react-DlGIFhE7.js → react-KT_bO9_E.js} +1 -1
- package/dist/assets/{recharts-B8j-bW95.js → recharts-Co89o1ZO.js} +1 -1
- package/dist/assets/routePaths-CpftjCME.js +1 -0
- package/dist/assets/{sentry-DhqS_W-k.js → sentry-xWYlrqHr.js} +1 -1
- package/dist/assets/{url-BniS_9P1.js → url-B6D8gSqv.js} +1 -1
- package/dist/assets/{url-BlblTlRS.js → url-BQb6aJ6P.js} +1 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-BGnMOAjq.js +1 -0
- package/dist/assets/useAskAiCfoHostNavButtonProps-CxYBeccP.js +1 -0
- package/dist/assets/useChargeCardPusherEvents-DD6FQHkD.js +1 -0
- package/dist/assets/{useDeviceId-Cd5EU_Dl.js → useDeviceId-BklKiHEX.js} +1 -1
- package/dist/assets/useEmailConnectResultRefresh-CeYzFDv9.js +1 -0
- package/dist/assets/useInitialThreadRequest-CAaLEese.js +1 -0
- package/dist/assets/{useTaskManagerAccess-C0Fwbmvt.js → useTaskManagerAccess-BMNTpSgs.js} +1 -1
- package/dist/assets/{utils-CgQOqOwX.js → utils-18zApAFM.js} +1 -1
- package/dist/assets/{withTransactionSidePanel-CvrgoXlG.js → withTransactionSidePanel-BqPfYxXB.js} +4 -4
- package/dist/assets/{zeni-epic-state-BRRtwAQl.js → zeni-epic-state-DxmmAR38.js} +6 -6
- package/dist/index.html +1 -1
- package/package.json +3 -3
- package/dist/assets/AccountMappingScreen-Boic1d0a.js +0 -9
- package/dist/assets/AddressRoutes-0fEsC1oH.js +0 -1
- package/dist/assets/AddressScreen-Dp2DEY64.js +0 -9
- package/dist/assets/AiCfoScreen-CW4OlYtV.js +0 -22
- package/dist/assets/AppDrawer-iwPhifut.js +0 -10
- package/dist/assets/CompanyPassportScreen-BCA1m9FT.js +0 -1
- package/dist/assets/ConnectionAuthScreen-Bsmh8PR1.js +0 -11
- package/dist/assets/CustomerOnboardingAuthScreen-C6RjWCsB.js +0 -1
- package/dist/assets/DomesticWireDetailScreen-y67hSw0d.js +0 -18
- package/dist/assets/DrawerScreen-C1M2YhTn.js +0 -1
- package/dist/assets/EntityDetailRoutes-9DkSsNCu.js +0 -1
- package/dist/assets/FeaturePreviewScreen-By9QwwHb.js +0 -1
- package/dist/assets/HubSpotOAuthCallbackScreen-BSSLi7ax.js +0 -1
- package/dist/assets/MagicLinkSignInScreen-DoIxB0zL.js +0 -12
- package/dist/assets/MobileAppDrawer-CLK0v4hO.js +0 -1
- package/dist/assets/NotFoundScreen-D0cz8CS4.js +0 -1
- package/dist/assets/NotificationRoutes-Bnb2vos6.js +0 -1
- package/dist/assets/OAuthConsentScreen-tgDNnphJ.js +0 -1
- package/dist/assets/PandLWithForecastRoutes-Bf2BqvnJ.js +0 -1
- package/dist/assets/PeopleRoutes-DOzmC_X8.js +0 -22
- package/dist/assets/PerformanceRoutes-BIixpS1v.js +0 -1
- package/dist/assets/ReimbursementApprovalRoutes-Bdy-6-Pg.js +0 -1
- package/dist/assets/ReimbursementApprovalRuleDetailScreen--qsUWYUE.js +0 -1
- package/dist/assets/ReimbursementRoutes-BDX8OyTK.js +0 -68
- package/dist/assets/ReportsRoutes-RjH9WtMn.js +0 -1
- package/dist/assets/RewardsRoutes-CPi4zMM5.js +0 -1
- package/dist/assets/ScreenRoutes-Cn2WAq7w.js +0 -2
- package/dist/assets/SignInScreen-NwjSrcZC.js +0 -1
- package/dist/assets/SignOutScreen-BlQps5kZ.js +0 -9
- package/dist/assets/TaskListScreen-BW-xU7Sa.js +0 -9
- package/dist/assets/TaskRoutes-BsceFhBl.js +0 -9
- package/dist/assets/TransactionDetailRoutes-Dn5BVJxH.js +0 -1
- package/dist/assets/TransactionDetailScreen-D6CiVTKH.js +0 -5
- package/dist/assets/ZeniAccountStatementScreen-DeWMnJNK.js +0 -9
- package/dist/assets/epic-BLC2ItWM.js +0 -2
- package/dist/assets/getLocaleForTenant-BBg2Cyvv.js +0 -1
- package/dist/assets/routePaths-BDHLk4Ve.js +0 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-C3OYtJva.js +0 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-Cs4YJbah.js +0 -1
- package/dist/assets/useChargeCardPusherEvents-CgMKq4Ei.js +0 -1
- package/dist/assets/useEmailConnectResultRefresh-D8GDRQig.js +0 -1
- package/dist/assets/useInitialThreadRequest-Bzg2iBlf.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./liveblocks-BY1qt3Nf.js";import{z as a}from"./index-CKPer1bp.js";import{g as n}from"./QBOConnectionScreen-DHJG1ivI.js";import"./sentry-xWYlrqHr.js";import{g as p,N as s}from"./core-DFhvjgE1.js";import"./zeni-epic-state-DxmmAR38.js";import"./recharts-Co89o1ZO.js";import"./mui-DesXezzU.js";import"./analytics-CsVp7bfq.js";import"./plaid---yWAm21.js";import"./dnd-CR945ANw.js";import"./stripe-cKAAJElX.js";import"./lottie-DgdF8254.js";import"./lexical-CCIwPSwQ.js";import"./pdf-BVKoD2Fp.js";import"./utils-18zApAFM.js";import"./empty-BUo7eNC4.js";import"./pdf-lib-B25n7och.js";import"./index-BjpjXshH.js";import"./url-BQb6aJ6P.js";import"./index-BaZwiGCV.js";import"./decodeURIComponentSafe-Bq1r0pP9.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]="c18cd95e-770d-4ff7-92bf-3374948ea538",t._sentryDebugIdIdentifier="sentry-dbid-c18cd95e-770d-4ff7-92bf-3374948ea538")}catch{}})();const U=()=>{const t=p(),{code:o,realmId:r,state:e}=n(t.search),d=a.getSignedInUser()?.userId??"";if(f(o,r,e,d)===!0){const m=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return i.jsx(s,{to:m})}return i.jsx(s,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
|
package/dist/assets/{CustomerOnboardingRoutes-1wxFD7hL.js → CustomerOnboardingRoutes-BLu4eEKn.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as s}from"./liveblocks-
|
|
1
|
+
import{j as s}from"./liveblocks-BY1qt3Nf.js";import{t as Et,A as $e}from"./AddressScreen-Dqyvg_DE.js";import At from"./NotFoundScreen-BPjOFceW.js";import{a as d,t as Me}from"./sentry-xWYlrqHr.js";import{h as _e,g as Te,u as se,i as xe,j as E,N as Q,q as wt,l as it,n as Pt,o as H}from"./core-DFhvjgE1.js";import{fB as Y,dV as Ee,dU as Ae,bq as Dt,Tq as Bt,bR as Ut,pM as jt,AG as Ft,AJ as Vt,UM as Rt,UN as Lt,lq as Oe,lt as ct,U0 as Nt,b_ as Gt,c7 as fe,B8 as we,AV as $t,UO as me,B9 as dt,RA as Mt,mD as ut,de as lt,UP as Qt,UQ as Kt,t$ as qt,TQ as Ce,hS as zt,TP as be,hP as Ht,Fy as Zt,u3 as Jt,hH as Wt,hK as Qe,UR as pt,US as Xt,Ll as Yt,UT as en,Lp as tn,AM as nn,UU as an,UV as on,lo as sn,lr as rn,Bl as cn,AX as mt,B7 as dn,bE as Ke,cD as un,Bk as qe,ui as ln,u6 as pn,mv as mn,gD as gn,gC as fn,gB as yn,UW as hn,AP as Cn,Bm as bn,Bp as Sn,Bs as In,By as kn,df as On}from"./zeni-epic-state-DxmmAR38.js";import{z as q,c as Pe,y as W,D as vn,p as z,a8 as re,k as g,aE as _n,ai as gt,a1 as Tn,M as ft,V as yt,j as X,Z as ge,U as ve,aF as xn,N as ze,s as He,ae as En,aG as Ze,aH as An,aI as wn}from"./index-CKPer1bp.js";import{n as De}from"./mui-DesXezzU.js";import{g as Pn,h as Dn,q as ie}from"./QBOConnectionScreen-DHJG1ivI.js";import{u as Bn,a as Un}from"./useEmailConnectResultRefresh-CeYzFDv9.js";import{u as jn}from"./useChargeCardPusherEvents-DD6FQHkD.js";import"./recharts-Co89o1ZO.js";import"./analytics-CsVp7bfq.js";import"./plaid---yWAm21.js";import"./dnd-CR945ANw.js";import"./stripe-cKAAJElX.js";import"./lottie-DgdF8254.js";import"./lexical-CCIwPSwQ.js";import"./pdf-BVKoD2Fp.js";import"./utils-18zApAFM.js";import"./empty-BUo7eNC4.js";import"./pdf-lib-B25n7och.js";import"./index-BjpjXshH.js";import"./url-BQb6aJ6P.js";import"./index-BaZwiGCV.js";import"./decodeURIComponentSafe-Bq1r0pP9.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},l=new e.Error().stack;l&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[l]="fb376107-6058-46fc-87c6-e48263c5bc4b",e._sentryDebugIdIdentifier="sentry-dbid-fb376107-6058-46fc-87c6-e48263c5bc4b")}catch{}})();const Je=e=>{switch(e){case"Complete":return"yes";case"Pending Review":case"Incomplete":return"partially";default:return"no"}},Fn=()=>{const e=_e(),l=Te(),i=se(),[a,p]=d.useState(!1),[u,c]=d.useState(!1),{tenantEmailDomain:v}=xe(),t=q.getSignedInUser(),{useFeatureGate:n}=Pe(),{isFeatureEnabled:C}=n(W.isApAgingFeatureEnabled),{isFeatureEnabled:o}=n(W.isArAgingFeatureEnabled),{isFeatureEnabled:w}=n(W.isReferralFeatureEnabled),{isFeatureEnabled:A}=n(W.isDebitCardFeatureEnabled),k=vn(),O=E((S=>Y(S))),P=E((S=>S.onboardingCustomerViewState.fetchState)),_=O.excludedResources,j=O.companyId??q.getSignedInUserTenant(v)?.companyId;if(t==null)throw Error("Can't access onboarding flow without signing in...");const m=Ee(A,O),b=Ae(O),D=[],V=_?.resources?.find((S=>S.resource==="/reports/top_expenses"))==null,h=_?.resources?.find((S=>S.resource==="/reports/task_card"))==null,r=O?.userRole!=null&&Dt(O?.userRole),T=_?.resources?.find((S=>S.resource==="/bills"))==null&&!r,x=_?.resources?.find((S=>S.resource==="/reimbursements"))==null;V===!1&&D.push("top_expenses"),h===!1&&D.push("task_card"),T===!1&&D.push("bill_pay_card","bill_pay_promo_card"),x===!1&&D.push("reimbursement_card","reimbursement_promo_card"),D.push("zeni_accounts_promo_card","treasury_promo_card"),w===!1&&D.push("rewards_card");const f=E((S=>{const F=[];C===!1&&F.push("accounts_payable_aging"),o===!1&&F.push("accounts_receivable_aging"),F.push("zeni_accounts_promo_card","treasury_promo_card"),w===!1&&F.push("rewards_card"),k===!1&&F.push("expense_automation_card");const Z=Bt(S,F);return Ut(Z.reportsInOrder.map(($=>({fetchState:$.fetchState,error:$.error})))).fetchState}));d.useEffect((()=>{P!=="Completed"||a||m||b||(p(!0),i(jt(t.userId,j,O.tenantId,!0,!1,D)))}),[a,P,m,b,t,O.tenantId,i]);const B=d.useRef(!1),N=d.useCallback((()=>{const S={pathnameStackToGoBack:z(l.state?.pathnameStackToGoBack,l.pathname),message:"activation"};e(m?"../../checking":b?"../../cards":"../../dashboard",{state:S})}),[e,l,m,b]),G=d.useCallback((()=>{B.current||(B.current=!0,N())}),[N]);if(d.useEffect((()=>{const S=setTimeout((()=>c(!0)),3e3);return()=>clearTimeout(S)}),[]),d.useEffect((()=>{const S=setTimeout(G,6e3);return()=>clearTimeout(S)}),[G]),d.useEffect((()=>{m||b||!u||f!=="Completed"&&f!=="Error"||G()}),[u,f,m,b,G]),P!=="Completed")return s.jsx(Q,{to:"../"});const L=O.company?.companyOnboardingInfo?.onboardingInfo,ee={timeSinceQuoteSign:L?.onboardingTimeSinceQuoteSigned??"",timeSinceQuoteSignInMinutes:L?.onboardingToQuoteSignMinutes??0,isKybDone:Je(L?.businessVerified?.status),isKycDone:Je(L?.identityVerified?.status),paymentType:"",paymentSource:"",qboConnectionSource:L?.accountingConnectionCreationMode??""};return s.jsxs(s.Fragment,{children:[s.jsx(re,{analytics:g,onLoad:S=>S.trackOnboardingDashboardActivation(ee)}),s.jsx(_n,{show:!0,onComplete:G})]})},Se=["reading_books","finance_graph","reconciliation","cfo_foundation"],Ie=["llm_fine_tuning","rag_knowledge_graph","personalized_context"],We=(e,l)=>{const i=new Map(e.map((a=>[a.key,a])));return l.map((a=>{return p=i.get(a)?.status,p==="starting"||p==="building"?p:"idle";var p}))},Xe=(e,l)=>{if(e.length===0)return!1;const i=new Map(e.map((a=>[a.key,a])));return l.every((a=>i.get(a)?.status==="ready"))},Ye=De.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
height: 100vh;
|
|
4
4
|
background-color: ${e=>e.theme.colors.grey4};
|
|
@@ -11,7 +11,7 @@ import{j as s}from"./liveblocks-D0hIH2N0.js";import{t as At,A as Ge}from"./Addre
|
|
|
11
11
|
|
|
12
12
|
${e=>e.skipLegacyDrawerOffset?`
|
|
13
13
|
width: 100%;
|
|
14
|
-
padding-left: ${
|
|
14
|
+
padding-left: ${ze.sp0};
|
|
15
15
|
`:`
|
|
16
16
|
min-width: calc(100% - ${He}px);
|
|
17
17
|
padding-left: ${He}px;
|
|
@@ -19,12 +19,12 @@ import{j as s}from"./liveblocks-D0hIH2N0.js";import{t as At,A as Ge}from"./Addre
|
|
|
19
19
|
|
|
20
20
|
${e=>e.theme.breakpoints.down("md")} {
|
|
21
21
|
width: 100%;
|
|
22
|
-
padding-left: ${
|
|
22
|
+
padding-left: ${ze.sp0};
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
${e=>e.windowSize!=="small"?"overflow: auto;":""}
|
|
26
|
-
`,tt=it((function(e,l){const{companyId:i,isAdmin:a,currentTenant:p,isOnAddressPage:u}=l,c=z.getSignedInUser(),v=p.tenantId,t={userId:c?.userId??"",sessionId:c?.zeniSessionId??"",tenantId:v??""},n=Y(e),C=we(e,i),o=pt(e),w=fe(p?.userRole??[])&&C.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",E=Xt(e.userRoleConfigState);return{onboardingCustomerView:C,analytics:g,isRefreshingViewInBackground:!1,isDisabled:w,companyTitles:E.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:An.fileMicroServiceBaseUrl,authParams:t},signedInUser:z.getSignedInUser(),currentTenant:n,isAdmin:a,isOnAddressPage:u,cardPaymentView:o,isCardPaymentPopupOpen:!1,stripeKey:ge.stripeKey}}),(function(e,l){const{companyId:i,currentTenant:a,themeState:p,navigate:u,location:c}=l,{tenantEmailDomain:v}=a;return{onFetchLinkTokenClick:(t,n)=>{e(kn(t,n))},onEstablishConnectionClick:(t,n)=>{e(In(t,n))},onUpdatePaymentAccountStatus:(t,n,C)=>{e(Sn(t,n,C))},onUpdatePaymentAccountLoginStatus:(t,n)=>{e(bn(!1,t,n))},onEstablishConnectionSuccess:()=>{e(Cn(i,!0,!1))},handleOnConnectClick:()=>{g.trackOnboardingConnectQBO(),ie.handleClick()},updateQBOPopupState:t=>{e(me({isQBOPopupOpen:t}))},onCompanyOfficerUpdated:t=>{const n=t.map((C=>{const{officerType:o,userId:w,name:E,email:k,ssn:O,nationalityCountryCode:P,dob:_,phone:B,syncToken:m,selectDocument:b,role:D,ownership:R,isSelectedForVerification:h,userVerificationStatus:r,fileIds:T,isPhoneVerified:x}=C;let f;return b.selectDocumentType==="driverLicense"?f="driving_license":b.selectDocumentType==="passport"?f="passport":b.selectDocumentType==="stateId"?f="id_document":b.selectDocumentType==="ssnCard"&&(f="social_security_card"),{officerType:o,userId:w,firstName:E.firstName,lastName:E.lastName,email:k,ssn:O,nationalityCountryCode:P?.selectedOption!=null?Je(P.selectedOption):void 0,phone:B,birthday:_!=null?Ke(_?.toString()):_,syncToken:m,titleAtCompany:D.selectedOption,ownershipInCompany:R,documentTypeSelectedForVerification:f,isSelectedForVerification:h,userVerificationStatus:r,fileIds:T,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:x}}));e(ze({officers:n}))},onGetOtp:(t,n)=>{e(yn(t,"CustomerOnboarding")),n!=null&&e(hn({officerType:n,phone:t}))},onResendOtp:t=>{e(fn(t,"CustomerOnboarding"))},onVerifyOtp:(t,n)=>{g.trackOnboardingPhoneVerified(),e(gn(t,n,"CustomerOnboarding"))},updateFilesEntity:t=>{e(mn({files:t}))},onDeleteFile:t=>{e(pn(t))},onEditFileName:(t,n)=>{e(ln(t,n.split(".")[0]))},onCompanyDetailsChanged:t=>{const{companyDescription:n,companyIndustry:C,companyIndustryType:o,companyLegalName:w,companyTaxId:E,companyWebsite:k,companyPhone:O,primaryContactEmail:P,primaryContactName:_,primaryContactUserId:B,primaryContactSyncToken:m,syncToken:b,fileIds:D,typeOfIncorporation:R,stateOfIncorporation:h,incDate:r,companySourceOfFunds:T,companySourceOfFundsDescription:x,companySubIndustry:f,countriesOfOperations:j,purposeOfAccount:N,purposeOfAccountDescription:$,regulatedStatus:L,regulatedStatusDescription:ee,transactionVolume:S,transactionVolumeDescription:F,usNexus:J,usNexusTypes:G}=t,M={companyId:i,companyDescription:n,companyIndustry:C.selectedOption,companyIndustryType:o?.selectedOption??"",companyLegalName:w,taxIdOrEIN:E,website:k!=""&&k!=null?un(k):void 0,phone:O,syncToken:b,fileIds:D,incDate:r!=null?Ke(r?.toString()):r,typeOfIncorporation:R?.selectedOption??"",stateOfIncorporation:h?.selectedOption??"",companySourceOfFunds:T?.selectedOption??"",companySourceOfFundsDescription:x,companySubIndustry:f?.selectedOption??"",countriesOfOperations:j?.selectedOptions.map((V=>V.length===2?V:Je(V)))??[],purposeOfAccount:N?.selectedOption??"",purposeOfAccountDescription:$,regulatedStatus:L??"",regulatedStatusDescription:ee,transactionVolume:S?.selectedOption??"",transactionVolumeDescription:F,usNexus:J,usNexusTypes:G?.selectedOptions??[]},ce={userId:B,firstName:_.firstName,lastName:_.lastName,email:P,syncToken:m};e(ze({companyDetails:M,primaryContactDetails:ce}))},onAddressClick:(t,n)=>{const C=at(v,t,n),o=q(c.state?.pathnameStackToGoBack,c.pathname);u(C,{state:{pathnameStackToGoBack:o}})},onRegisteredAddressClick:(t,n)=>{const C=at(v,t,n),o=q(c.state?.pathnameStackToGoBack,c.pathname);u(C,{state:{pathnameStackToGoBack:o}})},onUpdateCustomerView:(t,n,C)=>{e(dn(i,!1,n,C,t))},onAddressEditHandler:t=>{if(t!=null){const n=At(t);e(ut({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const t=q(c.state?.pathnameStackToGoBack,c.pathname);e(mt(i,!1,!1)),u("./activation",{state:{pathnameStackToGoBack:t}})},onUpdateStep:t=>{e(dt({step:t}))},onUpdateSubStep:t=>{e(cn({subStep:t}))},onZeniLogoClick:()=>{p.toggle()},handleLogOutClick:()=>{const t=q(c.state?.pathnameStackToGoBack,c.pathname);u("/signout",{replace:!0,state:{pathnameStackToGoBack:t,message:"logout"}})},handleCockpitClick:()=>{g.trackOnboardingFlowExited("cockpit"),window.open("/cockpit")},handleReferralsClick:()=>{u(`/${v}/rewards`)},handleCreateCardSetupIntent:t=>{e(ct(t))},handleConfirmCardSetupIntent:t=>{e(rn(t))},updateCardPaymentModalState:t=>{e(me({isCardPaymentPopupOpen:t}))},handleAddCardPaymentSource:(t,n,C)=>{e(sn(t,n,C))},handleFetchPaymentSources:()=>{e(Oe())},resetCardPaymentViewState:()=>{e(on())},handleResetCardPaymentErrorStatuses:()=>{e(an())},redirectToProductSuitePage:()=>{g.trackOnboardingFlowExited("product_suite");const t=q(c.state?.pathnameStackToGoBack,c.pathname);u(`/${v}/onboarding/thankyou`,{state:{pathnameStackToGoBack:t,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{i!=null&&(g.trackOnboardingAiFinanceTeamAcknowledged(),e(nn(i)))},onIdentityDocumentUploadedForAutofill:t=>{if(i==null)return;const n=en(t.documentType);n!=null&&(g.trackOnboardingDocumentUploaded("kyc",n),e(tn({target:"onboarding",companyId:i,officerType:t.officerType,fileId:t.fileId,documentType:n})))},onCompanyDocumentUploadedForAutofill:t=>{i!=null&&(g.trackOnboardingDocumentUploaded("kyb",t.documentType),e(Yt({target:"onboarding",companyId:i,fileId:t.fileId,documentType:t.documentType})))}}}))(xn),le=({taxCFOCustomer:e=!1,isOnAddressPage:l=!1,appContent:i})=>{const a=gt(),p=_e(),u=Te(),c=se(),v=Tn(),t=ft(),[n,C]=d.useState(!1),[o,w]=d.useState(!1),[E,k]=d.useState(!1),{tenantEmailDomain:O}=xe(),P=yt(),{useFeatureGate:_}=Pe(),{isFeatureEnabled:B}=_(W.isDebitCardFeatureEnabled),m=wt("/:tenantEmailDomain/onboarding")!==null&&u.search?.includes("code"),b=A((y=>y.onboardingCustomerViewState.fetchState)),D=A((y=>y.onboardingCustomerViewState.currentStep)),R=A((y=>y.onboardingCustomerViewState.uiState)),h=A((y=>Y(y))),r=A((y=>y.userRoleConfigState.fetchState)),T=A((y=>y.cardPaymentViewState)),x=X(T.addCardPaymentSourceStatus.fetchState),f=T.addCardPaymentSourceStatus.fetchState,{code:j,realmId:N,state:$}=Pn(u.search),L=h.externalConnections?.accounting[0],ee=L?.connectionType,S=L?.connectionName,F=L?.connectionId??"",J=z.getSignedInUser()?.userId??"",G=d.useRef({realmId:"",connectionId:""});d.useEffect((()=>{o||(w(!0),c(Oe()))}),[o,c]),d.useEffect((()=>{E||(ct(["card"]),k(!0))}),[E]),d.useEffect((()=>{x==="In-Progress"&&f==="Completed"&&c(Oe())}),[x,f]),d.useEffect((()=>{Dn(j,N,$,F,J)===!0&&h.externalConnections?.saveConnectionState!=="In-Progress"&&b==="Completed"&&(c(Nt(h.tenantId,{connection_type:ee??"accounting",connection_name:S??"quickbooks_online",authorization_code:j,realm_id:N,connection_id:F,user_id:J},$t(window.location.origin+"/onboarding/auth"))),G.current={realmId:N,connectionId:F},g.trackOnboardingSaveQBOConnection(N,F),p(u.pathname))}),[j,N,$,u.pathname,b]),d.useEffect((()=>{ie.isInitiated===!1&&b==="Completed"&&ie.init("/onboarding/auth",h.tenantEmailDomain)}),[b]);const M=h.companyId??z.getSignedInUserTenant(O)?.companyId,ce=fe(h?.userRole??[]),V=A((y=>we(y,M)));d.useEffect((()=>{n||b!=="Not-Started"||M==null||(C(!0),c(Gt(M,!0,!m)))}),[n,b,M]);const te=h.externalConnections?.saveConnectionState,je=X(te);d.useEffect((()=>{je==="In-Progress"&&(te==="Completed"||te==="Error")&&R.isQBOPopupOpen&&D==="connect_ledger"&&(te==="Completed"?g.trackOnboardingQBOConnectionSuccess(G.current.realmId,G.current.connectionId):g.trackOnboardingQBOConnectionFailed(G.current.realmId,G.current.connectionId,h.externalConnections?.saveOAuthConnectionError?.message??""),c(me({isQBOPopupOpen:!1})))}),[te,je,R.isQBOPopupOpen,D,g,c]),d.useEffect((()=>{b==="Completed"&&m&&(c(dt({step:"connect_ledger"})),c(me({isQBOPopupOpen:!0})))}),[m,b]),d.useEffect((()=>{r==="Not-Started"&&c(Mt(!0))}),[r,c]);const ht=X(V.companyDetailsLocalData?.addressStatus);d.useEffect((()=>{V.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&V.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&ht==null&&c(ut({addressType:"company_registered_address",addressToCreate:V.companyDetailsLocalData?.addressStatus?.addressToCreate}))}),[V.companyDetailsLocalData?.addressStatus?.addressToCreate,V.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const Ct=V.isInterimEmailSent,Ue=z.getSignedInUser();if(Ue==null)throw Error("Can't access onboarding flow without signing in...");const bt=Ae(B,h),St=Ee(h),Be=h.company?.companyOnboardingInfo.isOnboardingCompleted,Fe=y=>y.trackPageLoaded(ve.Event.onboardingPage),ye=h.productSettings.isOtherProductsEnabled,It=ye===!0&&!lt(h),kt=h.productSettings.isTreasuryEnabled,Re=Rn({tenantEmailDomain:O??"",signedInUserEmail:Ue.userEmail??"",companyId:M}),Ve=(({companyId:y})=>{const K=se(),de=A((U=>U.onboardingCustomerViewState?.aiAgentsActivation)),ne=A((U=>Y(U).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1)),he=d.useCallback((()=>{K(Ft())}),[K]);d.useEffect((()=>{he()}),[he]);const Le=d.useCallback((()=>{y==null||y===""||ne||K(Rt(y))}),[y,ne,K]),Ot=d.useMemo((()=>{if(y==null||y==="")return[];const U=`private-encrypted-${y}`;return[`${U}.ledger-ingestion.counts-updated`,`${U}.ai-agents-activation.phase-changed`]}),[y]),vt=d.useCallback(((U,ae)=>{if(ae==null||typeof ae!="object")return;const I=ae;if(U!=="ledger-ingestion.counts-updated"){if(U==="ai-agents-activation.phase-changed"){const ue=typeof I.phase_key=="string"?I.phase_key:typeof I.key=="string"?I.key:"",Z=typeof I.status=="string"?I.status:"idle";if(ue==="")return;K(Lt({key:ue,status:Z==="starting"||Z==="building"||Z==="ready"?Z:"idle",startedAt:typeof I.started_at=="string"?I.started_at:void 0,completedAt:typeof I.completed_at=="string"?I.completed_at:void 0}))}}else K(Vt({customerCount:typeof I.customer_count=="number"?I.customer_count:void 0,glAccountCount:typeof I.gl_account_count=="number"?I.gl_account_count:void 0,targetTransactionCount:typeof I.target_transaction_count=="number"?I.target_transaction_count:void 0,transactionCount:typeof I.transaction_count=="number"?I.transaction_count:void 0,vendorCount:typeof I.vendor_count=="number"?I.vendor_count:void 0}))}),[K]);return Bn({events:Ot,onEvent:vt,onSubscribed:he}),d.useMemo((()=>{const U=de?.phases??[],ae=We(U,Se),I=We(U,Ie),ue=Xe(U,Se),Z=Xe(U,Ie),Ne=U.some((xt=>xt.status!=="idle")),oe=!ne&&!Ne,$e=ne&&!Ne,_t=$e?Se.map((()=>"building")):ae,Tt=$e?Ie.map((()=>"building")):I;return{ledgerRowStatuses:oe?void 0:_t,backgroundRowStatuses:oe?void 0:Tt,showLedgerReadyInLabel:oe?void 0:ue,showBackgroundReadyInLabel:oe?void 0:Z,forceContinueEnabled:!oe||void 0,counts:de?.counts,onContinueClicked:Le}}),[de?.phases,de?.counts,ne,Le])})({companyId:M});if(Be===!0){if(!ye)return kt?s.jsx(Q,{to:"../../treasury"}):bt?s.jsx(Q,{to:"../../checking"}):St?s.jsx(Q,{to:"../../cards"}):s.jsx(Q,{to:"../../dashboard"});const y=V.updateStatus.fetchState==="In-Progress";if(ye&&!y)return e?s.jsxs(Ye,{children:[s.jsx(re,{analytics:g,onLoad:K=>Fe(K)}),s.jsx(tt,{navigate:p,location:u,companyId:M,currentTenant:h,isAdmin:ce,isOnAddressPage:l,themeState:t,googleAPIKey:ge.googleMapsAPIKey,integrationsSectionProps:Re,aiAgentsActivationProps:Ve,meetingUrl:a("onboarding_overview")}),i!=null?s.jsx(et,{windowSize:v,skipLegacyDrawerOffset:l&&h.productSettings.isOtherProductsEnabled!==!0,children:i}):null]}):s.jsx(Q,{to:"../../onboarding/thankyou"})}else if(Be===!1&&P?.loggedInUserRoleMap!=null)return Ct===!0&&It?s.jsx(Q,{to:"../../onboarding/thankyou"}):s.jsxs(Ye,{children:[s.jsx(re,{analytics:g,onLoad:y=>Fe(y)}),s.jsx(tt,{navigate:p,location:u,companyId:M,currentTenant:h,isAdmin:ce,isOnAddressPage:l,themeState:t,googleAPIKey:ge.googleMapsAPIKey,integrationsSectionProps:Re,aiAgentsActivationProps:Ve,meetingUrl:a("onboarding_overview")}),i!=null?s.jsx(et,{windowSize:v,skipLegacyDrawerOffset:l&&h.productSettings.isOtherProductsEnabled!==!0,children:i}):null]});return null},ke="external_integrations",Rn=({tenantEmailDomain:e,signedInUserEmail:l,companyId:i})=>{const a=se(),{pendingAutoFocusTabId:p}=jn(),{plaidAccounts:u,onAddPlaidAccount:c,onReLoginPlaidAccount:v}=Un({companyId:i}),t=A((r=>r.plaidAccountViewState.external_account.plaidConnectionDetails)),n=A((r=>Y(r))),C=A((r=>r.tenantState.fetchState)),o=A((r=>Qt(r,i))),w=A((r=>Kt(r,ke))),E=d.useMemo((()=>new Set(w.map((r=>r.additionalInfo)).filter((r=>r!=null)))),[w]),k=n.tenantId,O=fe(n.userRole??[]);d.useEffect((()=>{a(zt(ke))}),[a]);const P=o.externalConnections?.saveAPIKeyConnectionState,_=o.externalConnections?.saveAPIKeyConnectionError?.message,B=X(P);d.useEffect((()=>{B==="In-Progress"&&(P==="Completed"?g.trackIntegrationConnected("chargebee","Onboarding","revenue"):P==="Error"&&g.trackIntegrationConnectFailed("chargebee","Onboarding","revenue",_??""))}),[P,B,_]);const m=o.externalConnections?.saveOAuthConnectionState,b=o.externalConnections?.saveOAuthConnectionError?.message,D=X(m);d.useEffect((()=>{D==="In-Progress"&&(m==="Completed"?g.trackIntegrationConnected("hubspot","Onboarding","revenue"):m==="Error"&&g.trackIntegrationConnectFailed("hubspot","Onboarding","revenue",b??""))}),[m,D,b]);const R=o.externalConnections?.saveConnectorCredentialsStateBySlug,h=X(R);return d.useEffect((()=>{const r=R??{},T=h??{},x=o.externalConnections?.saveConnectorCredentialsErrorBySlug??{};Object.keys(r).forEach((f=>{if(T[f]!=="In-Progress")return;let j;try{j=Ce(f)}catch{return}r[f]==="Completed"?g.trackIntegrationConnected(j,"Onboarding","payments"):r[f]==="Error"&&g.trackIntegrationConnectFailed(j,"Onboarding","payments",x[f]?.message??"")}))}),[R,h,o]),d.useMemo((()=>({isAdmin:O,analytics:g,referrer:"Onboarding",integrationsView:o,isLoading:C==="In-Progress",notifyMeRegisteredSlugs:E,autoFocusTabId:p??void 0,saveChargeBeeState:o.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:o.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:o.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:o.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:o.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(o.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map((([r,T])=>[r,T?.message]))),deleteConnectionState:o.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:o.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{g.trackIntegrationConnectClicked("gmail","Onboarding","email"),a(Qe(k,"gmail",nt()))},onConnectOutlook:()=>{g.trackIntegrationConnectClicked("outlook","Onboarding","email"),a(Qe(k,"outlook",nt()))},onConnectHubSpot:(r,T)=>{const x=o.externalConnections?.revenue?.find((j=>j.connectionName==="hubspot"))?.connectionId;if(x==null)return;g.trackIntegrationCredentialsSubmitted("hubspot","Onboarding","revenue");const f=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:r,client_secret:T,connection_id:x,redirect_uri:f,tenant_id:k})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(r)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(f)}`},onDisconnect:(r,T)=>{const x=[...o.externalConnections?.accounting??[],...o.externalConnections?.payments??[],...o.externalConnections?.revenue??[]].find((j=>j.connectionId===r))?.connectionName;let f;try{f=x!=null?Ce(x):void 0}catch{f=void 0}f!=null&&g.trackIntegrationDisconnected(f,"Onboarding",T),a(Wt(k,r,be(T)))},onNotifyMe:r=>{g.trackIntegrationsNotifyMeClicked("Onboarding",r),a(Zt(ke,r,l))},onReconnectQBO:()=>{ie.init("/onboarding/auth",e),ie.handleClick()},onRefreshClick:()=>{o.integrations.refreshQBO.fetchState!=="In-Progress"&&a(Jt())},onSaveChargeBeeCredentials:(r,T)=>{const x=o.externalConnections?.revenue?.find((f=>f.connectionName==="chargebee"))?.connectionId;x!=null&&(g.trackIntegrationCredentialsSubmitted("chargebee","Onboarding","revenue"),a(Ht(k,x,be("revenue"),Ce("chargebee"),{api_key:r,site:T})))},onSaveConnectorCredentials:r=>{g.trackIntegrationCredentialsSubmitted(r.connectionName,"Onboarding","payments"),a(qt(k,be("payments"),r))},plaidAccounts:u,onAddPlaidAccount:c,onReLoginPlaidAccount:v,plaidConnectionDetails:t})),[O,o,C,E,p,k,l,e,a,u,c,v,t])};function nt(){const e=new URL(window.location.href);return e.searchParams.set("onboarding_step","connect_data_source"),e.toString()}function at(e,l,i){let a=`/${e}/onboarding/address`;return a=i!=null?a.concat(`/edit/${l}/${encodeURIComponent(i)}`):a.concat(`/new/${l}`),a}const ot=De.div`
|
|
26
|
+
`,tt=it((function(e,l){const{companyId:i,isAdmin:a,currentTenant:p,isOnAddressPage:u}=l,c=q.getSignedInUser(),v=p.tenantId,t={userId:c?.userId??"",sessionId:c?.zeniSessionId??"",tenantId:v??""},n=Y(e),C=we(e,i),o=pt(e),w=fe(p?.userRole??[])&&C.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",A=Xt(e.userRoleConfigState);return{onboardingCustomerView:C,analytics:g,isRefreshingViewInBackground:!1,isDisabled:w,companyTitles:A.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:En.fileMicroServiceBaseUrl,authParams:t},signedInUser:q.getSignedInUser(),currentTenant:n,isAdmin:a,isOnAddressPage:u,cardPaymentView:o,isCardPaymentPopupOpen:!1,stripeKey:ge.stripeKey}}),(function(e,l){const{companyId:i,currentTenant:a,themeState:p,navigate:u,location:c}=l,{tenantEmailDomain:v}=a;return{onFetchLinkTokenClick:(t,n)=>{e(kn(t,n))},onEstablishConnectionClick:(t,n)=>{e(In(t,n))},onUpdatePaymentAccountStatus:(t,n,C)=>{e(Sn(t,n,C))},onUpdatePaymentAccountLoginStatus:(t,n)=>{e(bn(!1,t,n))},onEstablishConnectionSuccess:()=>{e(Cn(i,!0,!1))},handleOnConnectClick:()=>{g.trackOnboardingConnectQBO(),ie.handleClick()},updateQBOPopupState:t=>{e(me({isQBOPopupOpen:t}))},onCompanyOfficerUpdated:t=>{const n=t.map((C=>{const{officerType:o,userId:w,name:A,email:k,ssn:O,nationalityCountryCode:P,dob:_,phone:j,syncToken:m,selectDocument:b,role:D,ownership:V,isSelectedForVerification:h,userVerificationStatus:r,fileIds:T,isPhoneVerified:x}=C;let f;return b.selectDocumentType==="driverLicense"?f="driving_license":b.selectDocumentType==="passport"?f="passport":b.selectDocumentType==="stateId"?f="id_document":b.selectDocumentType==="ssnCard"&&(f="social_security_card"),{officerType:o,userId:w,firstName:A.firstName,lastName:A.lastName,email:k,ssn:O,nationalityCountryCode:P?.selectedOption!=null?Ze(P.selectedOption):void 0,phone:j,birthday:_!=null?Ke(_?.toString()):_,syncToken:m,titleAtCompany:D.selectedOption,ownershipInCompany:V,documentTypeSelectedForVerification:f,isSelectedForVerification:h,userVerificationStatus:r,fileIds:T,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:x}}));e(qe({officers:n}))},onGetOtp:(t,n)=>{e(yn(t,"CustomerOnboarding")),n!=null&&e(hn({officerType:n,phone:t}))},onResendOtp:t=>{e(fn(t,"CustomerOnboarding"))},onVerifyOtp:(t,n)=>{g.trackOnboardingPhoneVerified(),e(gn(t,n,"CustomerOnboarding"))},updateFilesEntity:t=>{e(mn({files:t}))},onDeleteFile:t=>{e(pn(t))},onEditFileName:(t,n)=>{e(ln(t,n.split(".")[0]))},onCompanyDetailsChanged:t=>{const{companyDescription:n,companyIndustry:C,companyIndustryType:o,companyLegalName:w,companyTaxId:A,companyWebsite:k,companyPhone:O,primaryContactEmail:P,primaryContactName:_,primaryContactUserId:j,primaryContactSyncToken:m,syncToken:b,fileIds:D,typeOfIncorporation:V,stateOfIncorporation:h,incDate:r,companySourceOfFunds:T,companySourceOfFundsDescription:x,companySubIndustry:f,countriesOfOperations:B,purposeOfAccount:N,purposeOfAccountDescription:G,regulatedStatus:L,regulatedStatusDescription:ee,transactionVolume:S,transactionVolumeDescription:F,usNexus:Z,usNexusTypes:$}=t,M={companyId:i,companyDescription:n,companyIndustry:C.selectedOption,companyIndustryType:o?.selectedOption??"",companyLegalName:w,taxIdOrEIN:A,website:k!=""&&k!=null?un(k):void 0,phone:O,syncToken:b,fileIds:D,incDate:r!=null?Ke(r?.toString()):r,typeOfIncorporation:V?.selectedOption??"",stateOfIncorporation:h?.selectedOption??"",companySourceOfFunds:T?.selectedOption??"",companySourceOfFundsDescription:x,companySubIndustry:f?.selectedOption??"",countriesOfOperations:B?.selectedOptions.map((R=>R.length===2?R:Ze(R)))??[],purposeOfAccount:N?.selectedOption??"",purposeOfAccountDescription:G,regulatedStatus:L??"",regulatedStatusDescription:ee,transactionVolume:S?.selectedOption??"",transactionVolumeDescription:F,usNexus:Z,usNexusTypes:$?.selectedOptions??[]},ce={userId:j,firstName:_.firstName,lastName:_.lastName,email:P,syncToken:m};e(qe({companyDetails:M,primaryContactDetails:ce}))},onAddressClick:(t,n)=>{const C=at(v,t,n),o=z(c.state?.pathnameStackToGoBack,c.pathname);u(C,{state:{pathnameStackToGoBack:o}})},onRegisteredAddressClick:(t,n)=>{const C=at(v,t,n),o=z(c.state?.pathnameStackToGoBack,c.pathname);u(C,{state:{pathnameStackToGoBack:o}})},onUpdateCustomerView:(t,n,C)=>{e(dn(i,!1,n,C,t))},onAddressEditHandler:t=>{if(t!=null){const n=Et(t);e(ut({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const t=z(c.state?.pathnameStackToGoBack,c.pathname);e(mt(i,!1,!1)),u("./activation",{state:{pathnameStackToGoBack:t}})},onUpdateStep:t=>{e(dt({step:t}))},onUpdateSubStep:t=>{e(cn({subStep:t}))},onZeniLogoClick:()=>{p.toggle()},handleLogOutClick:()=>{const t=z(c.state?.pathnameStackToGoBack,c.pathname);u("/signout",{replace:!0,state:{pathnameStackToGoBack:t,message:"logout"}})},handleCockpitClick:()=>{g.trackOnboardingFlowExited("cockpit"),window.open("/cockpit")},handleReferralsClick:()=>{u(`/${v}/rewards`)},handleCreateCardSetupIntent:t=>{e(ct(t))},handleConfirmCardSetupIntent:t=>{e(rn(t))},updateCardPaymentModalState:t=>{e(me({isCardPaymentPopupOpen:t}))},handleAddCardPaymentSource:(t,n,C)=>{e(sn(t,n,C))},handleFetchPaymentSources:()=>{e(Oe())},resetCardPaymentViewState:()=>{e(on())},handleResetCardPaymentErrorStatuses:()=>{e(an())},redirectToProductSuitePage:()=>{g.trackOnboardingFlowExited("product_suite");const t=z(c.state?.pathnameStackToGoBack,c.pathname);u(`/${v}/onboarding/thankyou`,{state:{pathnameStackToGoBack:t,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{i!=null&&(g.trackOnboardingAiFinanceTeamAcknowledged(),e(nn(i)))},onIdentityDocumentUploadedForAutofill:t=>{if(i==null)return;const n=en(t.documentType);n!=null&&(g.trackOnboardingDocumentUploaded("kyc",n),e(tn({target:"onboarding",companyId:i,officerType:t.officerType,fileId:t.fileId,documentType:n})))},onCompanyDocumentUploadedForAutofill:t=>{i!=null&&(g.trackOnboardingDocumentUploaded("kyb",t.documentType),e(Yt({target:"onboarding",companyId:i,fileId:t.fileId,documentType:t.documentType})))}}}))(xn),le=({taxCFOCustomer:e=!1,isOnAddressPage:l=!1,appContent:i})=>{const a=gt(),p=_e(),u=Te(),c=se(),v=Tn(),t=ft(),[n,C]=d.useState(!1),[o,w]=d.useState(!1),[A,k]=d.useState(!1),{tenantEmailDomain:O}=xe(),P=yt(),{useFeatureGate:_}=Pe(),{isFeatureEnabled:j}=_(W.isDebitCardFeatureEnabled),m=wt("/:tenantEmailDomain/onboarding")!==null&&u.search?.includes("code"),b=E((y=>y.onboardingCustomerViewState.fetchState)),D=E((y=>y.onboardingCustomerViewState.currentStep)),V=E((y=>y.onboardingCustomerViewState.uiState)),h=E((y=>Y(y))),r=E((y=>y.userRoleConfigState.fetchState)),T=E((y=>y.cardPaymentViewState)),x=X(T.addCardPaymentSourceStatus.fetchState),f=T.addCardPaymentSourceStatus.fetchState,{code:B,realmId:N,state:G}=Pn(u.search),L=h.externalConnections?.accounting[0],ee=L?.connectionType,S=L?.connectionName,F=L?.connectionId??"",Z=q.getSignedInUser()?.userId??"",$=d.useRef({realmId:"",connectionId:""});d.useEffect((()=>{o||(w(!0),c(Oe()))}),[o,c]),d.useEffect((()=>{A||(ct(["card"]),k(!0))}),[A]),d.useEffect((()=>{x==="In-Progress"&&f==="Completed"&&c(Oe())}),[x,f]),d.useEffect((()=>{Dn(B,N,G,F,Z)===!0&&h.externalConnections?.saveConnectionState!=="In-Progress"&&b==="Completed"&&(c(Nt(h.tenantId,{connection_type:ee??"accounting",connection_name:S??"quickbooks_online",authorization_code:B,realm_id:N,connection_id:F,user_id:Z},Gt(window.location.origin+"/onboarding/auth"))),$.current={realmId:N,connectionId:F},g.trackOnboardingSaveQBOConnection(N,F),p(u.pathname))}),[B,N,G,u.pathname,b]),d.useEffect((()=>{ie.isInitiated===!1&&b==="Completed"&&ie.init("/onboarding/auth",h.tenantEmailDomain)}),[b]);const M=h.companyId??q.getSignedInUserTenant(O)?.companyId,ce=fe(h?.userRole??[]),R=E((y=>we(y,M)));d.useEffect((()=>{n||b!=="Not-Started"||M==null||(C(!0),c($t(M,!0,!m)))}),[n,b,M]);const te=h.externalConnections?.saveConnectionState,Be=X(te);d.useEffect((()=>{Be==="In-Progress"&&(te==="Completed"||te==="Error")&&V.isQBOPopupOpen&&D==="connect_ledger"&&(te==="Completed"?g.trackOnboardingQBOConnectionSuccess($.current.realmId,$.current.connectionId):g.trackOnboardingQBOConnectionFailed($.current.realmId,$.current.connectionId,h.externalConnections?.saveOAuthConnectionError?.message??""),c(me({isQBOPopupOpen:!1})))}),[te,Be,V.isQBOPopupOpen,D,g,c]),d.useEffect((()=>{b==="Completed"&&m&&(c(dt({step:"connect_ledger"})),c(me({isQBOPopupOpen:!0})))}),[m,b]),d.useEffect((()=>{r==="Not-Started"&&c(Mt(!0))}),[r,c]);const ht=X(R.companyDetailsLocalData?.addressStatus);d.useEffect((()=>{R.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&R.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&ht==null&&c(ut({addressType:"company_registered_address",addressToCreate:R.companyDetailsLocalData?.addressStatus?.addressToCreate}))}),[R.companyDetailsLocalData?.addressStatus?.addressToCreate,R.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const Ct=R.isInterimEmailSent,Ue=q.getSignedInUser();if(Ue==null)throw Error("Can't access onboarding flow without signing in...");const bt=Ee(j,h),St=Ae(h),je=h.company?.companyOnboardingInfo.isOnboardingCompleted,Fe=y=>y.trackPageLoaded(ve.Event.onboardingPage),ye=h.productSettings.isOtherProductsEnabled,It=ye===!0&&!lt(h),kt=h.productSettings.isTreasuryEnabled,Ve=Vn({tenantEmailDomain:O??"",signedInUserEmail:Ue.userEmail??"",companyId:M}),Re=(({companyId:y})=>{const K=se(),de=E((U=>U.onboardingCustomerViewState?.aiAgentsActivation)),ne=E((U=>Y(U).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1)),he=d.useCallback((()=>{K(Ft())}),[K]);d.useEffect((()=>{he()}),[he]);const Le=d.useCallback((()=>{y==null||y===""||ne||K(Vt(y))}),[y,ne,K]),Ot=d.useMemo((()=>{if(y==null||y==="")return[];const U=`private-encrypted-${y}`;return[`${U}.ledger-ingestion.counts-updated`,`${U}.ai-agents-activation.phase-changed`]}),[y]),vt=d.useCallback(((U,ae)=>{if(ae==null||typeof ae!="object")return;const I=ae;if(U!=="ledger-ingestion.counts-updated"){if(U==="ai-agents-activation.phase-changed"){const ue=typeof I.phase_key=="string"?I.phase_key:typeof I.key=="string"?I.key:"",J=typeof I.status=="string"?I.status:"idle";if(ue==="")return;K(Lt({key:ue,status:J==="starting"||J==="building"||J==="ready"?J:"idle",startedAt:typeof I.started_at=="string"?I.started_at:void 0,completedAt:typeof I.completed_at=="string"?I.completed_at:void 0}))}}else K(Rt({customerCount:typeof I.customer_count=="number"?I.customer_count:void 0,glAccountCount:typeof I.gl_account_count=="number"?I.gl_account_count:void 0,targetTransactionCount:typeof I.target_transaction_count=="number"?I.target_transaction_count:void 0,transactionCount:typeof I.transaction_count=="number"?I.transaction_count:void 0,vendorCount:typeof I.vendor_count=="number"?I.vendor_count:void 0}))}),[K]);return jn({events:Ot,onEvent:vt,onSubscribed:he}),d.useMemo((()=>{const U=de?.phases??[],ae=We(U,Se),I=We(U,Ie),ue=Xe(U,Se),J=Xe(U,Ie),Ne=U.some((xt=>xt.status!=="idle")),oe=!ne&&!Ne,Ge=ne&&!Ne,_t=Ge?Se.map((()=>"building")):ae,Tt=Ge?Ie.map((()=>"building")):I;return{ledgerRowStatuses:oe?void 0:_t,backgroundRowStatuses:oe?void 0:Tt,showLedgerReadyInLabel:oe?void 0:ue,showBackgroundReadyInLabel:oe?void 0:J,forceContinueEnabled:!oe||void 0,counts:de?.counts,onContinueClicked:Le}}),[de?.phases,de?.counts,ne,Le])})({companyId:M});if(je===!0){if(!ye)return kt?s.jsx(Q,{to:"../../treasury"}):bt?s.jsx(Q,{to:"../../checking"}):St?s.jsx(Q,{to:"../../cards"}):s.jsx(Q,{to:"../../dashboard"});const y=R.updateStatus.fetchState==="In-Progress";if(ye&&!y)return e?s.jsxs(Ye,{children:[s.jsx(re,{analytics:g,onLoad:K=>Fe(K)}),s.jsx(tt,{navigate:p,location:u,companyId:M,currentTenant:h,isAdmin:ce,isOnAddressPage:l,themeState:t,googleAPIKey:ge.googleMapsAPIKey,integrationsSectionProps:Ve,aiAgentsActivationProps:Re,meetingUrl:a("onboarding_overview")}),i!=null?s.jsx(et,{windowSize:v,skipLegacyDrawerOffset:l&&h.productSettings.isOtherProductsEnabled!==!0,children:i}):null]}):s.jsx(Q,{to:"../../onboarding/thankyou"})}else if(je===!1&&P?.loggedInUserRoleMap!=null)return Ct===!0&&It?s.jsx(Q,{to:"../../onboarding/thankyou"}):s.jsxs(Ye,{children:[s.jsx(re,{analytics:g,onLoad:y=>Fe(y)}),s.jsx(tt,{navigate:p,location:u,companyId:M,currentTenant:h,isAdmin:ce,isOnAddressPage:l,themeState:t,googleAPIKey:ge.googleMapsAPIKey,integrationsSectionProps:Ve,aiAgentsActivationProps:Re,meetingUrl:a("onboarding_overview")}),i!=null?s.jsx(et,{windowSize:v,skipLegacyDrawerOffset:l&&h.productSettings.isOtherProductsEnabled!==!0,children:i}):null]});return null},ke="external_integrations",Vn=({tenantEmailDomain:e,signedInUserEmail:l,companyId:i})=>{const a=se(),{pendingAutoFocusTabId:p}=Bn(),{plaidAccounts:u,onAddPlaidAccount:c,onReLoginPlaidAccount:v}=Un({companyId:i}),t=E((r=>r.plaidAccountViewState.external_account.plaidConnectionDetails)),n=E((r=>Y(r))),C=E((r=>r.tenantState.fetchState)),o=E((r=>Qt(r,i))),w=E((r=>Kt(r,ke))),A=d.useMemo((()=>new Set(w.map((r=>r.additionalInfo)).filter((r=>r!=null)))),[w]),k=n.tenantId,O=fe(n.userRole??[]);d.useEffect((()=>{a(qt(ke))}),[a]);const P=o.externalConnections?.saveAPIKeyConnectionState,_=o.externalConnections?.saveAPIKeyConnectionError?.message,j=X(P);d.useEffect((()=>{j==="In-Progress"&&(P==="Completed"?g.trackIntegrationConnected("chargebee","Onboarding","revenue"):P==="Error"&&g.trackIntegrationConnectFailed("chargebee","Onboarding","revenue",_??""))}),[P,j,_]);const m=o.externalConnections?.saveOAuthConnectionState,b=o.externalConnections?.saveOAuthConnectionError?.message,D=X(m);d.useEffect((()=>{D==="In-Progress"&&(m==="Completed"?g.trackIntegrationConnected("hubspot","Onboarding","revenue"):m==="Error"&&g.trackIntegrationConnectFailed("hubspot","Onboarding","revenue",b??""))}),[m,D,b]);const V=o.externalConnections?.saveConnectorCredentialsStateBySlug,h=X(V);return d.useEffect((()=>{const r=V??{},T=h??{},x=o.externalConnections?.saveConnectorCredentialsErrorBySlug??{};Object.keys(r).forEach((f=>{if(T[f]!=="In-Progress")return;let B;try{B=Ce(f)}catch{return}r[f]==="Completed"?g.trackIntegrationConnected(B,"Onboarding","payments"):r[f]==="Error"&&g.trackIntegrationConnectFailed(B,"Onboarding","payments",x[f]?.message??"")}))}),[V,h,o]),d.useMemo((()=>({isAdmin:O,analytics:g,referrer:"Onboarding",integrationsView:o,isLoading:C==="In-Progress",notifyMeRegisteredSlugs:A,autoFocusTabId:p??void 0,saveChargeBeeState:o.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:o.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:o.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:o.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:o.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(o.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map((([r,T])=>[r,T?.message]))),deleteConnectionState:o.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:o.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{g.trackIntegrationConnectClicked("gmail","Onboarding","email"),a(Qe(k,"gmail",nt()))},onConnectOutlook:()=>{g.trackIntegrationConnectClicked("outlook","Onboarding","email"),a(Qe(k,"outlook",nt()))},onConnectHubSpot:(r,T)=>{const x=o.externalConnections?.revenue?.find((B=>B.connectionName==="hubspot"))?.connectionId;if(x==null)return;g.trackIntegrationCredentialsSubmitted("hubspot","Onboarding","revenue");const f=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:r,client_secret:T,connection_id:x,redirect_uri:f,tenant_id:k})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(r)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(f)}`},onDisconnect:(r,T)=>{const x=[...o.externalConnections?.accounting??[],...o.externalConnections?.payments??[],...o.externalConnections?.revenue??[]].find((B=>B.connectionId===r))?.connectionName;let f;try{f=x!=null?Ce(x):void 0}catch{f=void 0}f!=null&&g.trackIntegrationDisconnected(f,"Onboarding",T),a(Wt(k,r,be(T)))},onNotifyMe:r=>{g.trackIntegrationsNotifyMeClicked("Onboarding",r),a(Jt(ke,r,l))},onReconnectQBO:()=>{ie.init("/onboarding/auth",e),ie.handleClick()},onRefreshClick:()=>{o.integrations.refreshQBO.fetchState!=="In-Progress"&&a(Zt())},onSaveChargeBeeCredentials:(r,T)=>{const x=o.externalConnections?.revenue?.find((f=>f.connectionName==="chargebee"))?.connectionId;x!=null&&(g.trackIntegrationCredentialsSubmitted("chargebee","Onboarding","revenue"),a(Ht(k,x,be("revenue"),Ce("chargebee"),{api_key:r,site:T})))},onSaveConnectorCredentials:r=>{g.trackIntegrationCredentialsSubmitted(r.connectionName,"Onboarding","payments"),a(zt(k,be("payments"),r))},plaidAccounts:u,onAddPlaidAccount:c,onReLoginPlaidAccount:v,plaidConnectionDetails:t})),[O,o,C,A,p,k,l,e,a,u,c,v,t])};function nt(){const e=new URL(window.location.href);return e.searchParams.set("onboarding_step","connect_data_source"),e.toString()}function at(e,l,i){let a=`/${e}/onboarding/address`;return a=i!=null?a.concat(`/edit/${l}/${encodeURIComponent(i)}`):a.concat(`/new/${l}`),a}const ot=De.div`
|
|
27
27
|
display: flex;
|
|
28
28
|
height: 100vh;
|
|
29
29
|
background-color: ${e=>e.theme.colors.grey4};
|
|
30
|
-
`,st=it((function(e,l){const{companyId:i,currentTenant:a}=l,p=we(e,i),u=pt(e);return{hasVerifiedBankAccount:(p.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(u.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:fe(a?.userRole??[])&&p.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:
|
|
30
|
+
`,st=it((function(e,l){const{companyId:i,currentTenant:a}=l,p=we(e,i),u=pt(e);return{hasVerifiedBankAccount:(p.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(u.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:fe(a?.userRole??[])&&p.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:q.getSignedInUser(),currentTenant:a}}),(function(e,l){const{currentTenant:i,themeState:a,navigate:p,location:u}=l,{tenantEmailDomain:c}=i;return{onZeniLogoClick:()=>{a.toggle()},handleLogOutClick:()=>{const v=z(u.state?.pathnameStackToGoBack,u.pathname);p("/signout",{replace:!0,state:{pathnameStackToGoBack:v,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{p(`/${c}/rewards`)},handleUpdatePaymentAddressDetailClick:()=>{const v=z(u.state?.pathnameStackToGoBack,u.pathname);p(`/${c}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:v,message:"UpdatePaymentAddressDetail"}})}}}))(wn),Rn=()=>{const e=gt(),l=_e(),i=se(),a=Te(),p=ft(),{useFeatureGate:u}=Pe(),{isFeatureEnabled:c}=u(W.isDebitCardFeatureEnabled),{tenantEmailDomain:v}=xe(),t=yt(),[n,C]=d.useState(!1);d.useEffect((()=>{n===!1&&a.state?.message==="OnboardingThankyou"&&C(!0)}),[a.state]);const o=E((m=>Y(m))),w=o.productSettings.isOtherProductsEnabled,A=w===!0&&!lt(o);d.useEffect((()=>{i(mt(k,!1,!A))}),[]);const k=o.companyId??q.getSignedInUserTenant(v)?.companyId;if(t.loggedInUser==null)throw Error("Can't access onboarding flow without signing in...");const O=Ee(c,o),P=Ae(o),_=E((m=>m.onboardingCustomerViewState.updateStatus.fetchState)),j=o.company?.companyOnboardingInfo.isOnboardingCompleted;if(j!==!0||A)return _==="Completed"&&j===!0&&A&&t?.loggedInUserRoleMap!=null?s.jsxs(ot,{children:[s.jsx(re,{analytics:g,onLoad:m=>{m.trackPageLoaded(ve.Event.onboardingLandingPage,"Onboarding",On(o.productSettings))}}),s.jsx(st,{navigate:l,showUpdatePaymentDetailButton:w,location:a,companyId:k,currentTenant:o,themeState:p,isVisitingFirstTime:n,meetingUrl:e("onboarding_overview")})]}):_==="Completed"&&j===!1&&t?.loggedInUserRoleMap!=null?s.jsxs(ot,{children:[s.jsx(re,{analytics:g,onLoad:m=>{m.trackPageLoaded(ve.Event.onboardingInterimPage)}}),s.jsx(st,{navigate:l,showUpdatePaymentDetailButton:w,location:a,companyId:k,currentTenant:o,themeState:p,isVisitingFirstTime:n,meetingUrl:e("onboarding_overview")})]}):s.jsx(An,{});{const m={pathnameStackToGoBack:a.state?.pathnameStackToGoBack,message:"activation"};return O?s.jsx(Q,{to:"../../checking",state:m,replace:!0}):P?s.jsx(Q,{to:"../../cards",state:m,replace:!0}):s.jsx(Q,{to:"../../dashboard",state:m,replace:!0})}};function rt(){return typeof Me=="function"?Me():void 0}let pe=0;function Ln(){d.useEffect((()=>{if(!ge.sentryDsn?.trim())return;let e,l=!1,i=0;const a=()=>{e!==void 0&&(clearInterval(e),e=void 0)},p=()=>{const u=rt();return u!==void 0&&(u.flush(),!0)};return pe+=1,p()||(e=setInterval((()=>{i+=1,(l||p()||i>=10)&&a()}),1e3)),()=>{l=!0,a(),pe-=1,queueMicrotask((()=>{pe===0&&(function(){const u=rt();if(u===void 0)return;const c=()=>{if(pe===0)try{u.startBuffering()}catch{}};u.stop().then(c,c)})()}))}}),[])}function pa(){return Ln(),s.jsxs(Pt,{children:[s.jsx(H,{path:"/",element:s.jsx(le,{})}),s.jsx(H,{path:"/billing/edit",element:s.jsx(le,{taxCFOCustomer:!0})}),s.jsx(H,{path:"/thankyou",element:s.jsx(Rn,{})}),s.jsx(H,{path:"/activation",element:s.jsx(Fn,{})}),s.jsx(H,{path:"/address/edit/:addressType/:addressId",element:s.jsx(le,{isOnAddressPage:!0,appContent:s.jsx($e,{})})}),s.jsx(H,{path:"/address/new/:addressType",element:s.jsx(le,{isOnAddressPage:!0,appContent:s.jsx($e,{})})}),s.jsx(H,{path:"*",element:s.jsx(At,{})})]})}export{pa as default};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import{j as d}from"./liveblocks-D0hIH2N0.js";import{i as q,j as S,g as Z,u as z,h as J,l as ne,k as oa,n as ft,o as F,N as yn}from"./core-35eDsgGP.js";import{fB as L,UY as Ze,bE as sa,br as Ee,W9 as vn,jQ as An,Wa as Wt,Wb as In,jT as gt,Wc as Qe,Wd as En,jY as Tn,We as Yt,Wf as Dn,k0 as bt,Wg as Xe,Wh as xn,Wi as wn,Vg as Pn,l2 as On,Wj as Fn,bn as Je,Wk as ra,UM as ue,bc as ia,lg as ca,k$ as la,UO as me,UN as ae,fA as da,g6 as jn,gm as Ct,Wl as Rn,Wm as Bn,Wn as ua,Wo as Oe,C$ as Me,D0 as Ue,Do as Te,Di as pe,D4 as Le,Wp as Mn,b_ as Ve,Wq as Un,Wr as Ln,Ws as ma,Wt as Fe,Wu as Vn,e8 as et,zc as pa,Wv as Wn,Ww as ha,Wx as Yn,Wy as Gn,Wz as Nn,WA as _t,TK as kt,tg as De,lF as xe,Dy as yt,zj as $n,zq as zn,WB as Kn,WC as qn,D1 as Gt,WD as Qn,zf as Ae,za as fa,WE as be,WF as Nt,WG as Xn,WH as vt,TJ as At,Bn as ga,WI as Hn,WJ as ba,WK as Zn,WL as Jn,WM as eo,WN as It,BC as to,BJ as ao,WO as no,WP as oo,D3 as $t,WQ as so,Bl as Ca,WR as Ce,WS as zt,WT as ro,bq as Sa,DD as _a,WU as io,WV as ka,WW as co,WX as lo,WY as uo,WZ as Et,Dv as mo,Dx as po,W_ as ho,W$ as fo,D2 as Kt,X0 as go,DB as ya,X1 as Se,X2 as qt,X3 as bo,X4 as Co,X5 as va,lu as Aa,pB as Ia,lz as Ea,pz as Ta,py as Da,px as xa,AK as So,d8 as _o,pu as ko,T7 as yo,pL as vo,X6 as Ao,X7 as Io,X8 as Eo,b5 as Tt,pF as To,i9 as Do,gF as xo,pE as wo,kU as Po,pC as Oo,pA as Fo,dV as jo,dU as Ro}from"./zeni-epic-state-BRRtwAQl.js";import{z as V,at as oe,p as j,k as T,G as Q,b9 as Bo,aq as We,a6 as Ye,ba as wa,S as N,bb as Mo,bc as Pa,E as Uo,bd as Lo,be as Vo,a as Oa,$ as Fa,f as ja,ap as Wo,bf as Yo,am as Go,I as we,bg as Ra,y as ce,bh as Ba,bi as Ma,as as Ua,bj as No,ag as Ge,U as Ne,d as W,bk as $o,N as zo,j as Ko,a2 as qo,ao as Qo,bl as Xo,bm as Ho,bn as Zo,bo as Ie}from"./index-Dck-MxQS.js";import{n as Dt}from"./mui-CY_LMiAy.js";import{a as b}from"./sentry-DhqS_W-k.js";import{w as La}from"./withTransactionSidePanel-CvrgoXlG.js";import{c as Va,t as Pe,f as he,b as xt,a as wt,v as Jo}from"./routePaths-BDHLk4Ve.js";import{u as se}from"./useAskAiCfoHostNavButtonProps-Cs4YJbah.js";import Be from"./NotFoundScreen-D0cz8CS4.js";import{u as Pt}from"./useInitialThreadRequest-Bzg2iBlf.js";import{t as Wa}from"./analyticsHelper-B9-PsR8g.js";import{C as es}from"./CompanyPassportScreen-BCA1m9FT.js";import{u as ts}from"./useAiCfoDashboardSuggestedQuestionsChips-C3OYtJva.js";import{F as as}from"./FeaturePreviewScreen-By9QwwHb.js";import"./recharts-B8j-bW95.js";import"./analytics-p9dV2gEo.js";import"./plaid-CoaHurGj.js";import"./dnd-Dm1d6mZC.js";import"./stripe-cKAAJElX.js";import"./lottie-TJOzQ6Cz.js";import"./lexical-DQ4lSvQh.js";import"./pdf-DElOA9Iz.js";import"./utils-CgQOqOwX.js";import"./TransactionDetailScreen-D6CiVTKH.js";import"./decodeURIComponentSafe-DhnAz_92.js";import"./expenseAutomationHelper-XBf0IYWB.js";import"./MobileAppDrawer-CLK0v4hO.js";import"./InboxNotificationsProvider-yp4VlF4V.js";import"./useTaskManagerAccess-C0Fwbmvt.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]="6e6b88d2-7de6-484f-921b-3eac64c1e651",e._sentryDebugIdIdentifier="sentry-dbid-6e6b88d2-7de6-484f-921b-3eac64c1e651")}catch{}})();const ns=La((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=q(),s=V.getSignedInUser(),i=S((E=>E.tenantState.currentTenantId)),l=S((E=>L(E))),{tenantEmailDomain:m}=q(),p=Z(),h=l?.companyName??"",f={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},c=b.useMemo((()=>({authParams:f,companyName:h,downloadEndPoint:`${oe}/agingDetailedReport`,timezone:Ze()})),[]),u=b.useMemo((()=>r!=null?sa(r):Ee()),[r]),C=z(),g=J(),k=S((E=>vn(E,u,o))),I=b.useCallback((()=>{o!=null&&k.fetchState!=="In-Progress"&&k.fetchState!=="Completed"&&C(An(o,u))}),[u]),v=b.useCallback((()=>{g("../../",{relative:"path"})}),[]),_=b.useCallback(((E,B)=>{C(Wt({sortKey:E,sortOrder:B}))}),[]),D=b.useCallback((E=>{C(Wt({downloadState:E}))}),[]),P=b.useCallback((E=>{if(e)e(E.transactionId,E.transactionType);else if(m!=null){const B=Va({id:E.transactionId,type:E.transactionType},m);g(B);const y=j(p.state?.pathnameStackToGoBack,p.pathname);g(B,{state:{pathnameStackToGoBack:y}})}}),[m,e]),x=b.useCallback((()=>{k.vendor!=null&&T.trackApAgingDetail("AP Aging",u.format(Q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),k.vendor.id,k.vendor.name)}),[k.vendor,u]);return b.useEffect((()=>{I()}),[]),b.useEffect((()=>{k.fetchState==="Completed"&&x()}),[x,k.fetchState]),d.jsx(Bo,{apAgingDetail:k,downloadParams:c,reportDate:u,analytics:T,onTransactionClick:P,onReload:I,onBackClick:v,onColumnSortConfigChanged:_,updateDownloadStateHandler:D,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),os=()=>{const e=z(),a=J(),t=S((_=>In(_))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=se({mobileExploreReferrer:"AP Aging"});We({isDataReady:t.fetchState==="Completed"});const r=V.getSignedInUser(),s=S((_=>_.tenantState.currentTenantId)),i=S((_=>L(_))),l=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},p=b.useMemo((()=>({authParams:m,companyName:l,downloadEndPoint:`${oe}/agingReport`,timezone:Ze()})),[]),h=t.apAgingUIState.selectedDate??Ee(),f=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(gt(h))}),[]);b.useEffect((()=>{f()}),[]);const c=b.useCallback((()=>{a("../",{relative:"path"})}),[]),u=b.useCallback((_=>{e(Qe({searchString:_}))}),[]),C=b.useCallback(((_,D)=>{e(Qe({sortKey:D,sortOrder:_}))}),[]),g=b.useCallback((_=>{a(`./${_}/${h.format(Q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[h]),k=b.useCallback((_=>{e(Qe({downloadState:_}))}),[]),I=b.useCallback(((_,D)=>{}),[]),v=b.useCallback(((_,D)=>{e(Qe({selectedDate:_,agingDateSelectionType:D})),e(gt(_))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:_=>_.trackPageLoaded(N.Event.agingReport,"AP Aging")}):null,d.jsx(wa,{uiState:t.apAgingUIState,report:t,downloadParams:p,analytics:T,onReloadReport:f,onBackClick:c,onSearchTextChange:u,onSortOrderChange:C,onEntityNameClick:g,updateDownloadStateHandler:k,onSelectedDateChanged:v,onNodeCollapseToggled:I,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},ss=La((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=q(),s=V.getSignedInUser(),i=S((x=>L(x))),{tenantEmailDomain:l}=q(),m=Z(),p=i.companyName,h={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},f=b.useMemo((()=>({authParams:h,companyName:p,downloadEndPoint:`${oe}/agingDetailedReport`,timezone:Ze()})),[]),c=b.useMemo((()=>r!=null?sa(r):Ee()),[r]),u=z(),C=J(),g=S((x=>En(x,c,o))),k=b.useCallback((()=>{o!=null&&g.fetchState!=="In-Progress"&&g.fetchState!=="Completed"&&u(Tn(o,c))}),[c]),I=b.useCallback((()=>{C("../../",{relative:"path"})}),[]),v=b.useCallback(((x,E)=>{u(Yt({sortKey:x,sortOrder:E}))}),[]),_=b.useCallback((x=>{u(Yt({downloadState:x}))}),[]),D=b.useCallback((x=>{if(e)e(x.transactionId,x.transactionType);else if(l!=null){const E=Va({id:x.transactionId,type:x.transactionType},l);C(E);const B=j(m.state?.pathnameStackToGoBack,m.pathname);C(E,{state:{pathnameStackToGoBack:B}})}}),[l,e]),P=b.useCallback((()=>{g.customer!=null&&T.trackArAgingDetail("AR Aging",c.format(Q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),g.customer.id,g.customer.name)}),[g.customer,c]);return b.useEffect((()=>{k()}),[]),b.useEffect((()=>{g.fetchState==="Completed"&&P()}),[g.fetchState,P]),d.jsx(Mo,{arAgingDetail:g,downloadParams:f,reportDate:c,analytics:T,onTransactionClick:D,onReload:k,onBackClick:I,onColumnSortConfigChanged:v,updateDownloadStateHandler:_,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),rs=()=>{const e=z(),a=J(),t=S((v=>Dn(v))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=se({mobileExploreReferrer:"AR Aging"});We({isDataReady:t.fetchState==="Completed"});const r=V.getSignedInUser(),s=S((v=>L(v))),i=s.companyName,l={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo((()=>({authParams:l,companyName:i,downloadEndPoint:`${oe}/agingReport`,timezone:Ze()})),[]),p=t.arAgingUIState.selectedDate??Ee(),h=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(bt(p))}),[]);b.useEffect((()=>{h()}),[]);const f=b.useCallback((()=>{a("../",{relative:"path"})}),[]),c=b.useCallback((v=>{e(Xe({searchString:v}))}),[]),u=b.useCallback(((v,_)=>{e(Xe({sortKey:_,sortOrder:v}))}),[]),C=b.useCallback((v=>{a(`./${v}/${p.format(Q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[p]),g=b.useCallback((v=>{e(Xe({downloadState:v}))}),[]),k=b.useCallback(((v,_)=>{e(Xe({selectedDate:v,agingDateSelectionType:_})),e(bt(v))}),[]),I=b.useCallback(((v,_)=>{e(xn({nodeId:v,isCollapsed:_}))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:v=>v.trackPageLoaded(N.Event.agingReport,"AR Aging")}):null,d.jsx(wa,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:T,onReloadReport:h,onBackClick:f,onSearchTextChange:c,onSortOrderChange:u,onEntityNameClick:C,updateDownloadStateHandler:g,onSelectedDateChanged:k,onNodeCollapseToggled:I,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Ya=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function Ga(e,a){const t=Pn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=Pe(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(On(n,o))}}}const is=ne((function(e){const a=wn(e).accountsInOrder.map(((t,n)=>Ya(t,n)));return{sectionTitle:Q.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,fetchState:e.cashBalanceState.fetchState,analytics:T}}),Ga)(Pa),cs=ne((function(e){const a=Fn(e).accountsInOrder.map(((o,r)=>Ya(o,r))),t=V.getSignedInUser(),n=Je(t);return{sectionTitle:Q.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:T}}),Ga)(Pa);function ls(){const e=J(),a=Z(),{tenantEmailDomain:t}=q(),n=S((o=>L(o).company?.companyInfo.firstMonthOfFY??1));return S((o=>o.cashBalanceState.fetchState))==="Error"?d.jsx(Be,{}):d.jsx(is,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,firstMonthOfFY:n})}function ds(){const e=J(),a=Z(),{tenantEmailDomain:t}=q(),n=S((o=>L(o).company?.companyInfo.firstMonthOfFY??1));return S((o=>o.cardBalanceState.fetchState))==="Error"?d.jsx(Be,{}):d.jsx(cs,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,firstMonthOfFY:n})}const us=Dt.div`
|
|
1
|
+
import{j as d}from"./liveblocks-BY1qt3Nf.js";import{i as K,j as S,g as Z,u as z,h as J,l as ne,k as oa,n as ft,o as F,N as yn}from"./core-DFhvjgE1.js";import{fB as L,Vg as Ze,bE as sa,br as Ee,Wt as vn,k6 as An,Wu as Gt,Wv as In,k9 as gt,Ww as qe,Wx as En,ke as Dn,Wy as Yt,Wz as Tn,ki as bt,WA as Qe,WB as xn,WC as wn,VA as Pn,lk as On,WD as Fn,bn as Je,WE as ra,V4 as ue,bc as ia,ly as ca,lh as la,V6 as me,V5 as ae,fA as da,g6 as jn,gm as Ct,WF as Rn,WG as Bn,WH as ua,WI as Oe,Df as Me,Dg as Ue,DE as De,Dy as pe,Dk as Le,WJ as Mn,b_ as Ve,WK as Un,WL as Ln,WM as ma,WN as Fe,WO as Vn,e8 as et,zs as pa,WP as Gn,WQ as ha,WR as Yn,WS as Nn,WT as $n,WU as _t,U2 as kt,tx as Te,lX as xe,DO as yt,zz as Wn,zG as zn,WV as Xn,WW as Kn,Dh as Nt,WX as qn,zv as Ae,zq as fa,WY as be,WZ as $t,W_ as Qn,W$ as vt,U1 as At,BD as ga,X0 as Hn,X1 as ba,X2 as Zn,X3 as Jn,X4 as eo,X5 as It,BS as to,BZ as ao,X6 as no,X7 as oo,Dj as Wt,X8 as so,BB as Ca,X9 as Ce,Xa as zt,Xb as ro,bq as Sa,DT as _a,Xc as io,Xd as ka,Xe as co,Xf as lo,Xg as uo,Xh as Et,DL as mo,DN as po,Xi as ho,Xj as fo,Di as Xt,Xk as go,DR as ya,Xl as Se,Xm as Kt,Xn as bo,Xo as Co,Xp as va,lM as Aa,pT as Ia,lR as Ea,pR as Da,pQ as Ta,pP as xa,A_ as So,d8 as _o,pM as ko,Tq as yo,q1 as vo,Xq as Ao,Xr as Io,Xs as Eo,b5 as Dt,pX as Do,i9 as To,gF as xo,pW as wo,la as Po,pU as Oo,pS as Fo,dV as jo,dU as Ro}from"./zeni-epic-state-DxmmAR38.js";import{z as V,av as oe,p as j,k as D,G as q,bb as Bo,as as Ge,a8 as Ye,bc as wa,U as $,bd as Mo,be as Pa,E as Uo,bf as Lo,bg as Vo,a as Oa,a1 as Fa,e as ja,ar as Go,bh as Yo,ao as No,c as we,bi as Ra,x as ce,bj as Ba,bk as Ma,au as Ua,bl as $o,ai as Ne,V as $e,y as G,bm as Wo,D as zo,j as Xo,a4 as Ko,aq as qo,bn as Qo,bo as Ho,bp as Zo,bq as Ie}from"./index-CKPer1bp.js";import{n as Tt}from"./mui-DesXezzU.js";import{a as b}from"./sentry-xWYlrqHr.js";import{w as La}from"./withTransactionSidePanel-BqPfYxXB.js";import{c as Va,t as Pe,f as he,b as xt,a as wt,v as Jo}from"./routePaths-CpftjCME.js";import{u as se}from"./useAskAiCfoHostNavButtonProps-CxYBeccP.js";import Be from"./NotFoundScreen-BPjOFceW.js";import{u as Pt}from"./useInitialThreadRequest-CAaLEese.js";import{t as Ga}from"./analyticsHelper-DQMoVHAr.js";import{C as es}from"./CompanyPassportScreen-C_pRUVln.js";import{u as ts}from"./useAiCfoDashboardSuggestedQuestionsChips-BGnMOAjq.js";import{F as as}from"./FeaturePreviewScreen-Crks8H4y.js";import"./recharts-Co89o1ZO.js";import"./analytics-CsVp7bfq.js";import"./plaid---yWAm21.js";import"./dnd-CR945ANw.js";import"./stripe-cKAAJElX.js";import"./lottie-DgdF8254.js";import"./lexical-CCIwPSwQ.js";import"./pdf-BVKoD2Fp.js";import"./utils-18zApAFM.js";import"./TransactionDetailScreen-8UnSIXVI.js";import"./decodeURIComponentSafe-Bq1r0pP9.js";import"./expenseAutomationHelper-BDz030nC.js";import"./MobileAppDrawer-CmjsL1eQ.js";import"./InboxNotificationsProvider-CzhxlkVm.js";import"./useTaskManagerAccess-BMNTpSgs.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]="90bb95f1-7e18-428c-9360-533770d5849f",e._sentryDebugIdIdentifier="sentry-dbid-90bb95f1-7e18-428c-9360-533770d5849f")}catch{}})();const ns=La((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=V.getSignedInUser(),i=S((E=>E.tenantState.currentTenantId)),l=S((E=>L(E))),{tenantEmailDomain:m}=K(),p=Z(),h=l?.companyName??"",f={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},c=b.useMemo((()=>({authParams:f,companyName:h,downloadEndPoint:`${oe}/agingDetailedReport`,timezone:Ze()})),[]),u=b.useMemo((()=>r!=null?sa(r):Ee()),[r]),C=z(),g=J(),k=S((E=>vn(E,u,o))),I=b.useCallback((()=>{o!=null&&k.fetchState!=="In-Progress"&&k.fetchState!=="Completed"&&C(An(o,u))}),[u]),v=b.useCallback((()=>{g("../../",{relative:"path"})}),[]),_=b.useCallback(((E,B)=>{C(Gt({sortKey:E,sortOrder:B}))}),[]),T=b.useCallback((E=>{C(Gt({downloadState:E}))}),[]),P=b.useCallback((E=>{if(e)e(E.transactionId,E.transactionType);else if(m!=null){const B=Va({id:E.transactionId,type:E.transactionType},m);g(B);const y=j(p.state?.pathnameStackToGoBack,p.pathname);g(B,{state:{pathnameStackToGoBack:y}})}}),[m,e]),x=b.useCallback((()=>{k.vendor!=null&&D.trackApAgingDetail("AP Aging",u.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),k.vendor.id,k.vendor.name)}),[k.vendor,u]);return b.useEffect((()=>{I()}),[]),b.useEffect((()=>{k.fetchState==="Completed"&&x()}),[x,k.fetchState]),d.jsx(Bo,{apAgingDetail:k,downloadParams:c,reportDate:u,analytics:D,onTransactionClick:P,onReload:I,onBackClick:v,onColumnSortConfigChanged:_,updateDownloadStateHandler:T,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),os=()=>{const e=z(),a=J(),t=S((_=>In(_))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=se({mobileExploreReferrer:"AP Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=V.getSignedInUser(),s=S((_=>_.tenantState.currentTenantId)),i=S((_=>L(_))),l=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},p=b.useMemo((()=>({authParams:m,companyName:l,downloadEndPoint:`${oe}/agingReport`,timezone:Ze()})),[]),h=t.apAgingUIState.selectedDate??Ee(),f=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(gt(h))}),[]);b.useEffect((()=>{f()}),[]);const c=b.useCallback((()=>{a("../",{relative:"path"})}),[]),u=b.useCallback((_=>{e(qe({searchString:_}))}),[]),C=b.useCallback(((_,T)=>{e(qe({sortKey:T,sortOrder:_}))}),[]),g=b.useCallback((_=>{a(`./${_}/${h.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[h]),k=b.useCallback((_=>{e(qe({downloadState:_}))}),[]),I=b.useCallback(((_,T)=>{}),[]),v=b.useCallback(((_,T)=>{e(qe({selectedDate:_,agingDateSelectionType:T})),e(gt(_))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:D,onLoad:_=>_.trackPageLoaded($.Event.agingReport,"AP Aging")}):null,d.jsx(wa,{uiState:t.apAgingUIState,report:t,downloadParams:p,analytics:D,onReloadReport:f,onBackClick:c,onSearchTextChange:u,onSortOrderChange:C,onEntityNameClick:g,updateDownloadStateHandler:k,onSelectedDateChanged:v,onNodeCollapseToggled:I,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},ss=La((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=V.getSignedInUser(),i=S((x=>L(x))),{tenantEmailDomain:l}=K(),m=Z(),p=i.companyName,h={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},f=b.useMemo((()=>({authParams:h,companyName:p,downloadEndPoint:`${oe}/agingDetailedReport`,timezone:Ze()})),[]),c=b.useMemo((()=>r!=null?sa(r):Ee()),[r]),u=z(),C=J(),g=S((x=>En(x,c,o))),k=b.useCallback((()=>{o!=null&&g.fetchState!=="In-Progress"&&g.fetchState!=="Completed"&&u(Dn(o,c))}),[c]),I=b.useCallback((()=>{C("../../",{relative:"path"})}),[]),v=b.useCallback(((x,E)=>{u(Yt({sortKey:x,sortOrder:E}))}),[]),_=b.useCallback((x=>{u(Yt({downloadState:x}))}),[]),T=b.useCallback((x=>{if(e)e(x.transactionId,x.transactionType);else if(l!=null){const E=Va({id:x.transactionId,type:x.transactionType},l);C(E);const B=j(m.state?.pathnameStackToGoBack,m.pathname);C(E,{state:{pathnameStackToGoBack:B}})}}),[l,e]),P=b.useCallback((()=>{g.customer!=null&&D.trackArAgingDetail("AR Aging",c.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),g.customer.id,g.customer.name)}),[g.customer,c]);return b.useEffect((()=>{k()}),[]),b.useEffect((()=>{g.fetchState==="Completed"&&P()}),[g.fetchState,P]),d.jsx(Mo,{arAgingDetail:g,downloadParams:f,reportDate:c,analytics:D,onTransactionClick:T,onReload:k,onBackClick:I,onColumnSortConfigChanged:v,updateDownloadStateHandler:_,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),rs=()=>{const e=z(),a=J(),t=S((v=>Tn(v))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=se({mobileExploreReferrer:"AR Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=V.getSignedInUser(),s=S((v=>L(v))),i=s.companyName,l={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo((()=>({authParams:l,companyName:i,downloadEndPoint:`${oe}/agingReport`,timezone:Ze()})),[]),p=t.arAgingUIState.selectedDate??Ee(),h=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(bt(p))}),[]);b.useEffect((()=>{h()}),[]);const f=b.useCallback((()=>{a("../",{relative:"path"})}),[]),c=b.useCallback((v=>{e(Qe({searchString:v}))}),[]),u=b.useCallback(((v,_)=>{e(Qe({sortKey:_,sortOrder:v}))}),[]),C=b.useCallback((v=>{a(`./${v}/${p.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[p]),g=b.useCallback((v=>{e(Qe({downloadState:v}))}),[]),k=b.useCallback(((v,_)=>{e(Qe({selectedDate:v,agingDateSelectionType:_})),e(bt(v))}),[]),I=b.useCallback(((v,_)=>{e(xn({nodeId:v,isCollapsed:_}))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:D,onLoad:v=>v.trackPageLoaded($.Event.agingReport,"AR Aging")}):null,d.jsx(wa,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:D,onReloadReport:h,onBackClick:f,onSearchTextChange:c,onSortOrderChange:u,onEntityNameClick:C,updateDownloadStateHandler:g,onSelectedDateChanged:k,onNodeCollapseToggled:I,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Ya=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function Na(e,a){const t=Pn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=Pe(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(On(n,o))}}}const is=ne((function(e){const a=wn(e).accountsInOrder.map(((t,n)=>Ya(t,n)));return{sectionTitle:q.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,fetchState:e.cashBalanceState.fetchState,analytics:D}}),Na)(Pa),cs=ne((function(e){const a=Fn(e).accountsInOrder.map(((o,r)=>Ya(o,r))),t=V.getSignedInUser(),n=Je(t);return{sectionTitle:q.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:D}}),Na)(Pa);function ls(){const e=J(),a=Z(),{tenantEmailDomain:t}=K(),n=S((o=>L(o).company?.companyInfo.firstMonthOfFY??1));return S((o=>o.cashBalanceState.fetchState))==="Error"?d.jsx(Be,{}):d.jsx(is,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,firstMonthOfFY:n})}function ds(){const e=J(),a=Z(),{tenantEmailDomain:t}=K(),n=S((o=>L(o).company?.companyInfo.firstMonthOfFY??1));return S((o=>o.cardBalanceState.fetchState))==="Error"?d.jsx(Be,{}):d.jsx(cs,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,firstMonthOfFY:n})}const us=Tt.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex: 1 1 auto;
|
|
4
4
|
min-height: 100%;
|
|
5
5
|
flex-direction: column;
|
|
6
6
|
background-color: ${e=>e.theme.colors.grey4};
|
|
7
|
-
`,ms=
|
|
7
|
+
`,ms=Tt.div`
|
|
8
8
|
display: flex;
|
|
9
9
|
flex: 1 1 auto;
|
|
10
10
|
flex-direction: column;
|
|
11
11
|
align-items: center;
|
|
12
12
|
background-color: ${e=>e.theme.colors.grey4};
|
|
13
|
-
`;function ps({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=J(),i=z(),l=Z(),{tenantEmailDomain:m}=q(),p=Uo();return d.jsxs(us,{children:[d.jsx(Lo,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:p.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:h=>{h.trim().length>=2?i(me({searchString:h,searchOrigin:"navbar"})):h.trim().length===0&&i(ae("navbar"))},onAutoCompleteEntity:h=>{n!=null&&T?.trackSearch(N.Event.search,hs(a),h.type,h.name,n);const f=he(h,m),c=j(l.state?.pathnameStackToGoBack,l.pathname);s(f,{state:{pathnameStackToGoBack:c}})}}},rightSideComponent:d.jsx(Vo,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r})}),d.jsx(ms,{children:a==="cash_balance"?d.jsx(ls,{}):d.jsx(ds,{})})]})}function Qt(){const e=Z(),a=z(),t=S((c=>c.cashBalanceState.fetchState)),n=S((c=>c.cardBalanceState.fetchState)),o=V.getSignedInUser();if(o==null)throw Error("Can't access dashboard detail without signing in...");const r=ra((c=>{const u=ia(c,"/").split("/");return u[u.length-1]})(e.pathname));let s="Not-Started",i="";const l=Q.getLocalizedStrings();switch(r){case"cash_balance":s=t,i=l.common.texts.cashBalance;break;case"card_balance":s=n,i=l.reportTitleById.card_balance;break;default:console.error(`${r} is not supported!`)}const{isAiCfoAccessEnabled:m,onAskAiCfoClick:p}=se({mobileExploreReferrer:r==="card_balance"?"Card Balance":"Cash Balance"});We({isDataReady:s==="Completed"});const h=S((c=>c.entityAutoCompleteState.autoCompleteText.navbar)),f=S((c=>ue(c,"navbar")));return b.useEffect((()=>{s==="Not-Started"&&(function(c,u){switch(u){case"card_balance":c(la());break;case"cash_balance":c(ca());break;default:throw new Error(`balance report type ${u} is not yet supported`)}})(a,r)}),[o,a,s]),d.jsxs(d.Fragment,{children:[s==="Completed"?d.jsx(Ye,{analytics:T,onLoad:c=>((u,C)=>{switch(C){case"card_balance":u.trackPageLoaded(N.Event.cardBalance);break;case"cash_balance":u.trackPageLoaded(N.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${C}!`)}})(c,r)}):null,d.jsx(ps,{title:i,reportId:r,autoCompleteText:h,entityAutoCompleteView:f,isAiCfoAccessEnabled:m,onAskAiCfoClick:p})]})}const hs=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},fs=[],Xt="insights_section";function $e(e){const{mobileExploreReferrer:a}=e,t=z(),n=J(),o=Z(),{tenantEmailDomain:r}=q(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Oa(),l=Fa(),m=Ua(l),p=oa(),h=S((R=>R.tenantState.fetchState==="Completed"||R.tenantState.activeTenantFetchState.fetchState==="Completed"?L(R):void 0)),f=h?.masterTOSInfo?.isMasterTOSAccepted??!1,c=S((R=>da(R))),u=c.uiState?.currentChatSessionId,C=c.allSessionsWithOrderedQuestionAnswers??fs,g=V.getSignedInUser()?.userId,k=ja(),I=Wo()&&k&&r!=null,v=Yo(),_=Go(!0),D=S((R=>v!=null?jn(R,v):void 0)),{useDynamicConfig:P}=we(),{configValue:x}=P(Ra.aiCfoMessageDynamicConfig),E=b.useMemo((()=>Array.isArray(x.default_message_list)?x.default_message_list:[]),[x.default_message_list]),B=b.useMemo((()=>E.slice(0,2)),[E]),y=v!=null&&D!=null&&D.fetchState!=="Completed"&&D.fetchState!=="Error"&&(_||D.fetchState==="In-Progress"),w=b.useMemo((()=>{if(v==null||D?.fetchState==="Error")return B;if(y)return[];const R=(D?.suggestedQuestions??[]).map((ie=>ie.trim())).filter((ie=>ie.length>0)).slice(0,2);return R.length===0?B:R}),[B,y,v,D?.fetchState,D?.suggestedQuestions]),re=b.useCallback(((R,ie)=>{if(g==null||R.trim()==="")return;if(!f)return void ce({location:o,navigate:n,mergeState:{referrer:a,aiCfoInitialQuestion:R,aiCfoInitialSubmissionSource:Xt,aiCfoSuggestionIndex:ie}});const qe=Ba(p.getState());if(m){const at=j(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:at,referrer:a,aiCfoInitialQuestion:R,aiCfoShouldSubmit:!qe}})}else{if(qe)return t(Ct(R)),void s(!0);i(R),s(!0),Ma(t,R,Xt,u,C,g,ie,void 0)}}),[C,u,t,f,m,o,a,n,s,i,p,r,g]),Ke=b.useCallback((()=>{if(f)if(m){const R=j(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:R,referrer:a}})}else s(!0);else ce({location:o,navigate:n,mergeState:{referrer:a}})}),[f,m,o,a,n,s,r]);return b.useMemo((()=>{if(I)return{isSuggestedQuestionsLoading:y,onAskSomethingElseClick:Ke,onSuggestedQuestionClick:re,suggestedQuestions:w}}),[I,y,Ke,re,w])}const ze=No,gs=ne((function(e){const a=Rn(e),t=Bn(e),n=ua(e),{scrollPosition:o,...r}=n,s=Q.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=V.getSignedInUser(),l=e.tenantState.currentTenantId,m=L(e),p=m?.companyName??"",h={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:l??""},f=e.entityAutoCompleteState.autoCompleteText.navbar,c=ue(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${oe}/statement`,authParams:h},analytics:T,autoCompleteData:{autoCompleteText:f,entityAutoCompleteView:c}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Mn(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(Oe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(Te("month")),e(pe(a.firstMonthOfFY,t)),e(Oe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Oe({resetLeftScroll:!0}))),50)},onElementCollapseStateChanged:(t,n)=>{e(Oe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Oe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))(ze),bs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=Ge(),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=se({mobileExploreReferrer:"DashboardCashInCashOut"}),i=$e({mobileExploreReferrer:"DashboardCashInCashOut"}),l=S((m=>ua(m))).mode==="compare_mode";return d.jsx(gs,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:l,navigate:n,insightsSectionAiCfoInfo:i,isAiCfoAccessEnabled:r,onAskAiCfoClick:s,meetingUrl:Ve(o("dashboard_report_filters"))})},Cs=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=et(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}},Ss=ne((function(e){const a=Un(e),t=Ln(e),n=ma(e),{scrollPosition:o,...r}=n,s=Q.getLocalizedStrings().reportTitleById.cash_position,i=V.getSignedInUser(),l=e.tenantState.currentTenantId,m=L(e),p=m?.companyName??"",h={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:l??""},f=e.entityAutoCompleteState.autoCompleteText.navbar,c=ue(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${oe}/statement`,authParams:h},analytics:T,autoCompleteData:{autoCompleteText:f,entityAutoCompleteView:c}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Vn(t))},onTimeframeSelectionChanged:t=>{e(Te(t)),setTimeout((()=>e(Fe({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(Fe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(Fe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Fe({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Cs(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(Fe({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}}))(ze),_s=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=Ge(),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=se({mobileExploreReferrer:"DashboardCashPosition"}),i=$e({mobileExploreReferrer:"DashboardCashPosition"}),l=S((m=>ma(m))).mode==="compare_mode";return d.jsx(Ss,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:l,navigate:n,insightsSectionAiCfoInfo:i,isAiCfoAccessEnabled:r,onAskAiCfoClick:s,meetingUrl:Ve(o("dashboard_report_filters"))})},$=(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}))},ks=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=et(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}},ys=ne((function(e){const a=pa(e),t=Wn(e),n=ha(e),o=Yn(e),r=Gn(e),s=Nn(e),i=_t(e),{scrollPosition:l,...m}=i,p=t.reportTitle,h=V.getSignedInUser(),f=e.tenantState.currentTenantId,c=L(e),u=c?.companyName??"",C={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ue(e,"navbar"),I=kt(c);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:r,reportLabels:{reportTitle:p},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:s,uiState:m,scrollPosition:l,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${oe}/statement`,authParams:C},analytics:T,isZeniUser:Je(h),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:I,isAccountingClassesEnabled:xe(e),isAccountingProjectsEnabled:De(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Xn(t))},onTimeframeSelectionChanged:t=>{e(Te(t)),setTimeout((()=>e(be({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(be({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(be({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(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:(t,n)=>{const{timePeriod:o,timeframe:r}=ks(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?xt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,s,r,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(be({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(Nt({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(be({scrollPosition:t})):e(Nt({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ae(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t==="forecast_mode"?(e(Gt({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(be({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":t==="project"?"Projects":"Accounts","Burn Rate"),e(Gt({viewMode:t})),e(Qn({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(qn({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(Kn({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e($n()),a.isAccountingProjectsEnabled&&e(zn())},onResyncReports:()=>{e(yt(a.accountViewMode==="project"?"net_burn_or_income_by_projects":"net_burn_or_income_by_classes"))}}}))(ze),vs=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=Ge(),{isAiCfoAccessEnabled:i,onAskAiCfoClick:l}=se({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),m=$e({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),p=S((y=>_t(y))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=S((y=>vt(y.forecastState,c??""))),C=S((y=>pa(y))),g=S((y=>At(y))),k=S((y=>xe(y))),I=S((y=>De(y))),v=S((y=>ha(y).uiState.accountViewMode)),_=p.mode==="compare_mode",D=C.dataAvailable;b.useEffect((()=>{if(c!=null&&h===!0&&($(h,r,c,o),u!=null)){const y=u?.forecastPeriod,w=D!=null&&y.endDate.isAfter(D?.endDate)===!0?D:y;a(pe(e.firstMonthOfFY,{startDate:w.endDate.startOf(f),endDate:w?.endDate}))}}),[c]);const P=Ne(),{useFeatureGate:x}=we(),{isFeatureEnabled:E}=x(W.isReportsCommentingEnabled),B=Pt(E?P?.currentTenant?.companyId:void 0,{clearParams:C.fetchState==="Completed"});return d.jsx(ys,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isAccountingClassesEnabled:k,isAccountingProjectsEnabled:I,accountViewMode:v,isCompareModeOn:_,navigate:o,analytics:T,reportsResyncFetchState:g.reportsResyncFetchState,insightsSectionAiCfoInfo:m,isAiCfoAccessEnabled:i,onAskAiCfoClick:l,initialOpenThreadRequest:B,isReportsCommentingEnabled:E,meetingUrl:Ve(s("dashboard_report_filters"))})},As=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=et(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}},Is=ne((function(e){const a=ga(e),t=Hn(e),n=ba(e),o=Zn(e),r=Jn(e),s=eo(e),i=It(e),{scrollPosition:l,...m}=i,p=Q.getLocalizedStrings().common.texts.operatingExpenses,h=V.getSignedInUser(),f=e.tenantState.currentTenantId,c=L(e),u=c?.companyName??"",C={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ue(e,"navbar"),I=kt(c);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:r,reportLabels:{reportTitle:p},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:s,uiState:m,scrollPosition:l,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${oe}/statement`,authParams:C},analytics:T,isZeniUser:Je(h),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:I,isAccountingClassesEnabled:xe(e),isAccountingProjectsEnabled:De(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(ro(t))},onTimeframeSelectionChanged:t=>{e(Te(t)),setTimeout((()=>e(Ce({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(Ce({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(Ce({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(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:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=As(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?xt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,s,r,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(Ce({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(zt({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(Ce({scrollPosition:t})):e(zt({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ae(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t=="forecast_mode"?(e($t({viewMode:"account_group"})),e(Ca(!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":t==="project"?"Projects":"Accounts","Operating Expenses"),e($t({viewMode:t})),e(so({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(oo({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(no({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(to()),a.isAccountingProjectsEnabled&&e(ao())},onResyncReports:()=>{e(yt(a.accountViewMode==="project"?"operating_expenses_by_projects":"operating_expenses_by_classes"))}}}))(ze),Es=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=Ge(),{isAiCfoAccessEnabled:i,onAskAiCfoClick:l}=se({mobileExploreReferrer:"DashboardOpEx"}),m=$e({mobileExploreReferrer:"DashboardOpEx"}),p=S((w=>It(w))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=S((w=>vt(w.forecastState,c??""))),C=S((w=>ga(w))),g=S((w=>At(w))),k=S((w=>xe(w))),I=S((w=>De(w))),v=S((w=>ba(w).uiState.accountViewMode)),_=p.mode==="compare_mode",D=C.dataAvailable;b.useEffect((()=>{if(c!=null&&h===!0&&($(h,r,c,o),u!=null)){const w=u?.forecastPeriod,re=D!=null&&w.endDate.isAfter(D?.endDate)===!0?D:w;a(pe(e.firstMonthOfFY,{startDate:re.endDate.startOf(f),endDate:re?.endDate}))}}),[c]);const P=Ne(),x=P?.loggedInUserRole!=null&&Sa(P?.loggedInUserRole)!==!0,{useFeatureGate:E}=we(),{isFeatureEnabled:B}=E(W.isReportsCommentingEnabled),y=Pt(B?P?.currentTenant?.companyId:void 0,{clearParams:C.fetchState==="Completed"});return d.jsx(Is,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isAccountingClassesEnabled:k,isAccountingProjectsEnabled:I,accountViewMode:v,isCompareModeOn:_,navigate:o,forecastIdFromUrlPath:r,analytics:T,hasTransactionAccess:x,reportsResyncFetchState:g.reportsResyncFetchState,insightsSectionAiCfoInfo:m,isAiCfoAccessEnabled:i,onAskAiCfoClick:l,initialOpenThreadRequest:y,isReportsCommentingEnabled:B,meetingUrl:Ve(s("dashboard_report_filters"))})},Ts=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=et(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}},Ds=ne((function(e){const a=_a(e),t=io(e),n=ka(e),o=co(e),r=lo(e),s=uo(e),i=Et(e),{scrollPosition:l,...m}=i,p=Q.getLocalizedStrings().common.texts.revenue,h=V.getSignedInUser(),f=e.tenantState.currentTenantId,c=L(e),u=c?.companyName??"",C={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ue(e,"navbar"),I=kt(c);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:r,reportLabels:{reportTitle:p},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:s,uiState:m,scrollPosition:l,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${oe}/statement`,authParams:C},analytics:T,isZeniUser:Je(h),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:I,isAccountingClassesEnabled:xe(e),isAccountingProjectsEnabled:De(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(bo(t))},onTimeframeSelectionChanged:t=>{e(Te(t)),setTimeout((()=>e(Se({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(Se({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(Se({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(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(Se({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Ts(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?xt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,s,r,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(Se({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(qt({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(Se({scrollPosition:t})):e(qt({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ae(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t==="forecast_mode"?(e(Kt({viewMode:"account_group"})),e(ya(!1,n?.id)),n!=null&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(Se({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":t==="project"?"Projects":"Accounts","Revenues"),e(Kt({viewMode:t})),e(go({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(fo({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(ho({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(mo()),a.isAccountingProjectsEnabled&&e(po())},onResyncReports:()=>{e(yt(a.accountViewMode==="project"?"revenue_by_projects":"revenue_by_classes"))}}}))(ze),xs=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=Ge(),{isAiCfoAccessEnabled:i,onAskAiCfoClick:l}=se({mobileExploreReferrer:"DashboardRevenue"}),m=$e({mobileExploreReferrer:"DashboardRevenue"}),p=S((y=>Et(y))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=S((y=>vt(y.forecastState,c??""))),C=S((y=>_a(y))),g=C.dataAvailable,k=p.mode==="compare_mode",I=S((y=>xe(y))),v=S((y=>De(y))),_=S((y=>ka(y).uiState.accountViewMode)),D=S((y=>At(y)));b.useEffect((()=>{if(c!=null&&h===!0&&($(h,r,c,o),u!=null)){const y=u?.forecastPeriod,w=g!=null&&y.endDate.isAfter(g?.endDate)===!0?g:y;a(pe(e.firstMonthOfFY,{startDate:w.endDate.startOf(f),endDate:w?.endDate}))}}),[c]);const P=Ne(),{useFeatureGate:x}=we(),{isFeatureEnabled:E}=x(W.isReportsCommentingEnabled),B=Pt(E?P?.currentTenant?.companyId:void 0,{clearParams:C.fetchState==="Completed"});return d.jsx(Ds,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isAccountingClassesEnabled:I,isAccountingProjectsEnabled:v,accountViewMode:_,isCompareModeOn:k,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:T,reportsResyncFetchState:D.reportsResyncFetchState,insightsSectionAiCfoInfo:m,isAiCfoAccessEnabled:i,onAskAiCfoClick:l,initialOpenThreadRequest:B,isReportsCommentingEnabled:E,meetingUrl:Ve(s("dashboard_report_filters"))})},ws=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}},Ps=ne((function(e){const a=Co(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ue(e,"navbar");return{report:a,analytics:T,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}}),(function(e,a){return{onTimeframeSelectionChanged:t=>{T.trackTimeframeSwitch(Wa(t),"Top Expenses"),e(va(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=ws(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))($o),Os=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Ps,{tenantEmailDomain:a,location:t,navigate:n})},Fs=Dt.div`
|
|
13
|
+
`;function ps({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=J(),i=z(),l=Z(),{tenantEmailDomain:m}=K(),p=Uo();return d.jsxs(us,{children:[d.jsx(Lo,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:p.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:h=>{h.trim().length>=2?i(me({searchString:h,searchOrigin:"navbar"})):h.trim().length===0&&i(ae("navbar"))},onAutoCompleteEntity:h=>{n!=null&&D?.trackSearch($.Event.search,hs(a),h.type,h.name,n);const f=he(h,m),c=j(l.state?.pathnameStackToGoBack,l.pathname);s(f,{state:{pathnameStackToGoBack:c}})}}},rightSideComponent:d.jsx(Vo,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r})}),d.jsx(ms,{children:a==="cash_balance"?d.jsx(ls,{}):d.jsx(ds,{})})]})}function qt(){const e=Z(),a=z(),t=S((c=>c.cashBalanceState.fetchState)),n=S((c=>c.cardBalanceState.fetchState)),o=V.getSignedInUser();if(o==null)throw Error("Can't access dashboard detail without signing in...");const r=ra((c=>{const u=ia(c,"/").split("/");return u[u.length-1]})(e.pathname));let s="Not-Started",i="";const l=q.getLocalizedStrings();switch(r){case"cash_balance":s=t,i=l.common.texts.cashBalance;break;case"card_balance":s=n,i=l.reportTitleById.card_balance;break;default:console.error(`${r} is not supported!`)}const{isAiCfoAccessEnabled:m,onAskAiCfoClick:p}=se({mobileExploreReferrer:r==="card_balance"?"Card Balance":"Cash Balance"});Ge({isDataReady:s==="Completed"});const h=S((c=>c.entityAutoCompleteState.autoCompleteText.navbar)),f=S((c=>ue(c,"navbar")));return b.useEffect((()=>{s==="Not-Started"&&(function(c,u){switch(u){case"card_balance":c(la());break;case"cash_balance":c(ca());break;default:throw new Error(`balance report type ${u} is not yet supported`)}})(a,r)}),[o,a,s]),d.jsxs(d.Fragment,{children:[s==="Completed"?d.jsx(Ye,{analytics:D,onLoad:c=>((u,C)=>{switch(C){case"card_balance":u.trackPageLoaded($.Event.cardBalance);break;case"cash_balance":u.trackPageLoaded($.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${C}!`)}})(c,r)}):null,d.jsx(ps,{title:i,reportId:r,autoCompleteText:h,entityAutoCompleteView:f,isAiCfoAccessEnabled:m,onAskAiCfoClick:p})]})}const hs=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},fs=[],Qt="insights_section";function We(e){const{mobileExploreReferrer:a}=e,t=z(),n=J(),o=Z(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Oa(),l=Fa(),m=Ua(l),p=oa(),h=S((R=>R.tenantState.fetchState==="Completed"||R.tenantState.activeTenantFetchState.fetchState==="Completed"?L(R):void 0)),f=h?.masterTOSInfo?.isMasterTOSAccepted??!1,c=S((R=>da(R))),u=c.uiState?.currentChatSessionId,C=c.allSessionsWithOrderedQuestionAnswers??fs,g=V.getSignedInUser()?.userId,k=ja(),I=Go()&&k&&r!=null,v=Yo(),_=No(!0),T=S((R=>v!=null?jn(R,v):void 0)),{useDynamicConfig:P}=we(),{configValue:x}=P(Ra.aiCfoMessageDynamicConfig),E=b.useMemo((()=>Array.isArray(x.default_message_list)?x.default_message_list:[]),[x.default_message_list]),B=b.useMemo((()=>E.slice(0,2)),[E]),y=v!=null&&T!=null&&T.fetchState!=="Completed"&&T.fetchState!=="Error"&&(_||T.fetchState==="In-Progress"),w=b.useMemo((()=>{if(v==null||T?.fetchState==="Error")return B;if(y)return[];const R=(T?.suggestedQuestions??[]).map((ie=>ie.trim())).filter((ie=>ie.length>0)).slice(0,2);return R.length===0?B:R}),[B,y,v,T?.fetchState,T?.suggestedQuestions]),re=b.useCallback(((R,ie)=>{if(g==null||R.trim()==="")return;if(!f)return void ce({location:o,navigate:n,mergeState:{referrer:a,aiCfoInitialQuestion:R,aiCfoInitialSubmissionSource:Qt,aiCfoSuggestionIndex:ie}});const Ke=Ba(p.getState());if(m){const at=j(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:at,referrer:a,aiCfoInitialQuestion:R,aiCfoShouldSubmit:!Ke}})}else{if(Ke)return t(Ct(R)),void s(!0);i(R),s(!0),Ma(t,R,Qt,u,C,g,ie,void 0)}}),[C,u,t,f,m,o,a,n,s,i,p,r,g]),Xe=b.useCallback((()=>{if(f)if(m){const R=j(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:R,referrer:a}})}else s(!0);else ce({location:o,navigate:n,mergeState:{referrer:a}})}),[f,m,o,a,n,s,r]);return b.useMemo((()=>{if(I)return{isSuggestedQuestionsLoading:y,onAskSomethingElseClick:Xe,onSuggestedQuestionClick:re,suggestedQuestions:w}}),[I,y,Xe,re,w])}const ze=$o,gs=ne((function(e){const a=Rn(e),t=Bn(e),n=ua(e),{scrollPosition:o,...r}=n,s=q.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=V.getSignedInUser(),l=e.tenantState.currentTenantId,m=L(e),p=m?.companyName??"",h={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:l??""},f=e.entityAutoCompleteState.autoCompleteText.navbar,c=ue(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${oe}/statement`,authParams:h},analytics:D,autoCompleteData:{autoCompleteText:f,entityAutoCompleteView:c}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Mn(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(Oe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(De("month")),e(pe(a.firstMonthOfFY,t)),e(Oe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Oe({resetLeftScroll:!0}))),50)},onElementCollapseStateChanged:(t,n)=>{e(Oe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Oe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))(ze),bs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=Ne(),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=se({mobileExploreReferrer:"DashboardCashInCashOut"}),i=We({mobileExploreReferrer:"DashboardCashInCashOut"}),l=S((m=>ua(m))).mode==="compare_mode";return d.jsx(gs,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:l,navigate:n,insightsSectionAiCfoInfo:i,isAiCfoAccessEnabled:r,onAskAiCfoClick:s,meetingUrl:Ve(o("dashboard_report_filters"))})},Cs=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=et(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}},Ss=ne((function(e){const a=Un(e),t=Ln(e),n=ma(e),{scrollPosition:o,...r}=n,s=q.getLocalizedStrings().reportTitleById.cash_position,i=V.getSignedInUser(),l=e.tenantState.currentTenantId,m=L(e),p=m?.companyName??"",h={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:l??""},f=e.entityAutoCompleteState.autoCompleteText.navbar,c=ue(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${oe}/statement`,authParams:h},analytics:D,autoCompleteData:{autoCompleteText:f,entityAutoCompleteView:c}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Vn(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout((()=>e(Fe({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(Fe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(Fe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Fe({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Cs(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(Fe({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}}))(ze),_s=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=Ne(),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=se({mobileExploreReferrer:"DashboardCashPosition"}),i=We({mobileExploreReferrer:"DashboardCashPosition"}),l=S((m=>ma(m))).mode==="compare_mode";return d.jsx(Ss,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:l,navigate:n,insightsSectionAiCfoInfo:i,isAiCfoAccessEnabled:r,onAskAiCfoClick:s,meetingUrl:Ve(o("dashboard_report_filters"))})},W=(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}))},ks=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=et(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}},ys=ne((function(e){const a=pa(e),t=Gn(e),n=ha(e),o=Yn(e),r=Nn(e),s=$n(e),i=_t(e),{scrollPosition:l,...m}=i,p=t.reportTitle,h=V.getSignedInUser(),f=e.tenantState.currentTenantId,c=L(e),u=c?.companyName??"",C={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ue(e,"navbar"),I=kt(c);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:r,reportLabels:{reportTitle:p},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:s,uiState:m,scrollPosition:l,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${oe}/statement`,authParams:C},analytics:D,isZeniUser:Je(h),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:I,isAccountingClassesEnabled:xe(e),isAccountingProjectsEnabled:Te(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Qn(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout((()=>e(be({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(be({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(be({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&W(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(be({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=ks(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?xt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,s,r,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(be({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e($t({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(be({scrollPosition:t})):e($t({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ae(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t==="forecast_mode"?(e(Nt({viewMode:"account_group"})),e(fa(!1,n?.id)),n!=null&&W(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):W(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(be({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":t==="project"?"Projects":"Accounts","Burn Rate"),e(Nt({viewMode:t})),e(qn({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(Kn({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(Xn({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(Wn()),a.isAccountingProjectsEnabled&&e(zn())},onResyncReports:()=>{e(yt(a.accountViewMode==="project"?"net_burn_or_income_by_projects":"net_burn_or_income_by_classes"))}}}))(ze),vs=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=Ne(),{isAiCfoAccessEnabled:i,onAskAiCfoClick:l}=se({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),m=We({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),p=S((y=>_t(y))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=S((y=>vt(y.forecastState,c??""))),C=S((y=>pa(y))),g=S((y=>At(y))),k=S((y=>xe(y))),I=S((y=>Te(y))),v=S((y=>ha(y).uiState.accountViewMode)),_=p.mode==="compare_mode",T=C.dataAvailable;b.useEffect((()=>{if(c!=null&&h===!0&&(W(h,r,c,o),u!=null)){const y=u?.forecastPeriod,w=T!=null&&y.endDate.isAfter(T?.endDate)===!0?T:y;a(pe(e.firstMonthOfFY,{startDate:w.endDate.startOf(f),endDate:w?.endDate}))}}),[c]);const P=$e(),{useFeatureGate:x}=we(),{isFeatureEnabled:E}=x(G.isReportsCommentingEnabled),B=Pt(E?P?.currentTenant?.companyId:void 0,{clearParams:C.fetchState==="Completed"});return d.jsx(ys,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isAccountingClassesEnabled:k,isAccountingProjectsEnabled:I,accountViewMode:v,isCompareModeOn:_,navigate:o,analytics:D,reportsResyncFetchState:g.reportsResyncFetchState,insightsSectionAiCfoInfo:m,isAiCfoAccessEnabled:i,onAskAiCfoClick:l,initialOpenThreadRequest:B,isReportsCommentingEnabled:E,meetingUrl:Ve(s("dashboard_report_filters"))})},As=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=et(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}},Is=ne((function(e){const a=ga(e),t=Hn(e),n=ba(e),o=Zn(e),r=Jn(e),s=eo(e),i=It(e),{scrollPosition:l,...m}=i,p=q.getLocalizedStrings().common.texts.operatingExpenses,h=V.getSignedInUser(),f=e.tenantState.currentTenantId,c=L(e),u=c?.companyName??"",C={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ue(e,"navbar"),I=kt(c);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:r,reportLabels:{reportTitle:p},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:s,uiState:m,scrollPosition:l,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${oe}/statement`,authParams:C},analytics:D,isZeniUser:Je(h),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:I,isAccountingClassesEnabled:xe(e),isAccountingProjectsEnabled:Te(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(ro(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout((()=>e(Ce({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(Ce({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(Ce({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&W(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(Ce({resetLeftScroll:!0}))),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=As(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?xt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,s,r,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(Ce({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(zt({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(Ce({scrollPosition:t})):e(zt({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ae(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t=="forecast_mode"?(e(Wt({viewMode:"account_group"})),e(Ca(!1,n?.id)),n!=null&&W(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):W(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(Ce({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":t==="project"?"Projects":"Accounts","Operating Expenses"),e(Wt({viewMode:t})),e(so({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(oo({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(no({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(to()),a.isAccountingProjectsEnabled&&e(ao())},onResyncReports:()=>{e(yt(a.accountViewMode==="project"?"operating_expenses_by_projects":"operating_expenses_by_classes"))}}}))(ze),Es=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=Ne(),{isAiCfoAccessEnabled:i,onAskAiCfoClick:l}=se({mobileExploreReferrer:"DashboardOpEx"}),m=We({mobileExploreReferrer:"DashboardOpEx"}),p=S((w=>It(w))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=S((w=>vt(w.forecastState,c??""))),C=S((w=>ga(w))),g=S((w=>At(w))),k=S((w=>xe(w))),I=S((w=>Te(w))),v=S((w=>ba(w).uiState.accountViewMode)),_=p.mode==="compare_mode",T=C.dataAvailable;b.useEffect((()=>{if(c!=null&&h===!0&&(W(h,r,c,o),u!=null)){const w=u?.forecastPeriod,re=T!=null&&w.endDate.isAfter(T?.endDate)===!0?T:w;a(pe(e.firstMonthOfFY,{startDate:re.endDate.startOf(f),endDate:re?.endDate}))}}),[c]);const P=$e(),x=P?.loggedInUserRole!=null&&Sa(P?.loggedInUserRole)!==!0,{useFeatureGate:E}=we(),{isFeatureEnabled:B}=E(G.isReportsCommentingEnabled),y=Pt(B?P?.currentTenant?.companyId:void 0,{clearParams:C.fetchState==="Completed"});return d.jsx(Is,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isAccountingClassesEnabled:k,isAccountingProjectsEnabled:I,accountViewMode:v,isCompareModeOn:_,navigate:o,forecastIdFromUrlPath:r,analytics:D,hasTransactionAccess:x,reportsResyncFetchState:g.reportsResyncFetchState,insightsSectionAiCfoInfo:m,isAiCfoAccessEnabled:i,onAskAiCfoClick:l,initialOpenThreadRequest:y,isReportsCommentingEnabled:B,meetingUrl:Ve(s("dashboard_report_filters"))})},Ds=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=et(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}},Ts=ne((function(e){const a=_a(e),t=io(e),n=ka(e),o=co(e),r=lo(e),s=uo(e),i=Et(e),{scrollPosition:l,...m}=i,p=q.getLocalizedStrings().common.texts.revenue,h=V.getSignedInUser(),f=e.tenantState.currentTenantId,c=L(e),u=c?.companyName??"",C={userId:h?.userId??"",sessionId:h?.zeniSessionId??"",tenantId:f??""},g=e.entityAutoCompleteState.autoCompleteText.navbar,k=ue(e,"navbar"),I=kt(c);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,selectedProjectViewRangeReport:r,reportLabels:{reportTitle:p},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,highlightedProjectViewRangeReport:s,uiState:m,scrollPosition:l,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${oe}/statement`,authParams:C},analytics:D,isZeniUser:Je(h),autoCompleteData:{autoCompleteText:g,entityAutoCompleteView:k},isZeniCOAUsed:I,isAccountingClassesEnabled:xe(e),isAccountingProjectsEnabled:Te(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(bo(t))},onTimeframeSelectionChanged:t=>{e(De(t)),setTimeout((()=>e(Se({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(Se({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(Se({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Ue(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&W(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(Se({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Ds(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.projectsViewParentId?.projectId!=null?xt(a.tenantEmailDomain,t.accountId,t.accountType,t.projectsViewParentId.projectId,s,r,o):t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{a.accountViewMode!=="project"?e(Se({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(Kt({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(Se({scrollPosition:t})):e(Kt({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.selectedForecastId!=null?a.navigate("../../../"):a.navigate("../")},onForecastToggle:(t,n)=>{e(Ae(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?3:1,n)),t==="forecast_mode"?(e(Xt({viewMode:"account_group"})),e(ya(!1,n?.id)),n!=null&&W(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):W(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(Se({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":t==="project"?"Projects":"Accounts","Revenues"),e(Xt({viewMode:t})),e(go({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(fo({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(ho({projectsToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(mo()),a.isAccountingProjectsEnabled&&e(po())},onResyncReports:()=>{e(yt(a.accountViewMode==="project"?"revenue_by_projects":"revenue_by_classes"))}}}))(ze),xs=e=>{const a=z(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=Ne(),{isAiCfoAccessEnabled:i,onAskAiCfoClick:l}=se({mobileExploreReferrer:"DashboardRevenue"}),m=We({mobileExploreReferrer:"DashboardRevenue"}),p=S((y=>Et(y))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=S((y=>vt(y.forecastState,c??""))),C=S((y=>_a(y))),g=C.dataAvailable,k=p.mode==="compare_mode",I=S((y=>xe(y))),v=S((y=>Te(y))),_=S((y=>ka(y).uiState.accountViewMode)),T=S((y=>At(y)));b.useEffect((()=>{if(c!=null&&h===!0&&(W(h,r,c,o),u!=null)){const y=u?.forecastPeriod,w=g!=null&&y.endDate.isAfter(g?.endDate)===!0?g:y;a(pe(e.firstMonthOfFY,{startDate:w.endDate.startOf(f),endDate:w?.endDate}))}}),[c]);const P=$e(),{useFeatureGate:x}=we(),{isFeatureEnabled:E}=x(G.isReportsCommentingEnabled),B=Pt(E?P?.currentTenant?.companyId:void 0,{clearParams:C.fetchState==="Completed"});return d.jsx(Ts,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isAccountingClassesEnabled:I,isAccountingProjectsEnabled:v,accountViewMode:_,isCompareModeOn:k,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:D,reportsResyncFetchState:T.reportsResyncFetchState,insightsSectionAiCfoInfo:m,isAiCfoAccessEnabled:i,onAskAiCfoClick:l,initialOpenThreadRequest:B,isReportsCommentingEnabled:E,meetingUrl:Ve(s("dashboard_report_filters"))})},ws=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}},Ps=ne((function(e){const a=Co(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ue(e,"navbar");return{report:a,analytics:D,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}}),(function(e,a){return{onTimeframeSelectionChanged:t=>{D.trackTimeframeSwitch(Ga(t),"Top Expenses"),e(va(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=ws(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),l=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:l,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(me({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(ae("navbar"))},onAutoCompleteEntity:t=>{const n=he(t,a.tenantEmailDomain),o=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))(Wo),Os=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Ps,{tenantEmailDomain:a,location:t,navigate:n})},Fs=Tt.div`
|
|
14
14
|
display: flex;
|
|
15
15
|
flex: 1 1 auto;
|
|
16
16
|
min-height: 100%;
|
|
17
17
|
flex-direction: column;
|
|
18
18
|
background-color: ${e=>e.theme.colors.grey5};
|
|
19
19
|
align-items: center;
|
|
20
|
-
`;function js({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=J(),r=Z(),{tenantEmailDomain:s}=q();let i;We({isDataReady:!0});const l={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=d.jsx(Es,{...l});break;case"revenue":i=d.jsx(xs,{...l});break;case"net_burn_or_income":i=d.jsx(vs,{...l});break;case"cash_position":i=d.jsx(_s,{...l});break;case"top_expenses":i=d.jsx(Os,{...l});break;case"cash_in_cash_out":i=d.jsx(bs,{...l});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?d.jsx(Fs,{children:i}):null}function le(){const e=Z(),a=z(),{forecastId:t}=q();let n="Not-Started";const o=S((c=>It(c).fetchState)),r=S((c=>Et(c).fetchState)),s=S((c=>_t(c).fetchState)),i=S((c=>c.cashPositionState.fetchState)),l=S((c=>c.topExState.fetchState)),m=S((c=>c.cashInCashOutState.fetchState));if(V.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const p=S((c=>L(c))),h=p?.company?.companyInfo?.firstMonthOfFY??1,f=ra((c=>{const u=ia(c,"/").split("/");return t!=null?u[u.length-3]:u[u.length-1]})(e.pathname));switch(f){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=l;break;case"cash_in_cash_out":n=m;break;default:console.error(`${f} is not supported!`)}return b.useEffect((()=>{n==="Not-Started"&&(function(c,u,C,g){switch(u){case"operating_expenses":c(xa(!0)),g!=null&&(c(Ae(C,!0,3,{id:g,index:0})),c(Ca(!1,g)));break;case"revenue":c(Da(!0)),g!=null&&(c(Ae(C,!0,3,{id:g,index:0})),c(ya(!1,g)));break;case"net_burn_or_income":c(Ta(!0)),g!=null&&(c(Ae(C,!0,3,{id:g,index:0})),c(fa(!1,g)));break;case"cash_position":c(Ea(!0));break;case"top_expenses":c(Ia());break;case"cash_in_cash_out":c(Aa());break;default:throw new Error(`report type ${u} is not yet supported`)}})(a,f,h,t)}),[t]),d.jsxs(d.Fragment,{children:[n==="Completed"?d.jsx(Ye,{analytics:T,onLoad:c=>((u,C)=>{const g=e.state?.referrer;switch(C){case"operating_expenses":u.trackPageLoaded(N.Event.operatingExpenses,g);break;case"revenue":u.trackPageLoaded(N.Event.revenues,g);break;case"net_burn_or_income":u.trackPageLoaded(N.Event.burnRate,g);break;case"cash_position":u.trackPageLoaded(N.Event.cashPosition,g);break;case"top_expenses":u.trackPageLoaded(N.Event.topExpenses,g);break;case"cash_in_cash_out":u.trackPageLoaded(N.Event.cashInCashOut,g);break;default:console.error(`Analytics: Not tracking Page Loaded for ${C}!`)}})(c,f)}):null,d.jsx(js,{firstMonthOfFY:h,fetchState:n,reportId:f,forecastId:t})]})}var ct=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function lt(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),(function(){t(window.event)}))}function Na(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 $a(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 Ot={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,"-":ct?173:189,"=":ct?61:187,";":ct?59:186,"'":222,"[":219,"]":221,"\\":220},de={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},St={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},U={16:!1,18:!1,17:!1,91:!1},M={},He=1;He<20;He++)Ot["f".concat(He)]=111+He;var O=[],Ht=!1,za="all",Zt=[],tt=function(e){return Ot[e.toLowerCase()]||de[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function Jt(e){za=e||"all"}function Re(){return za||"all"}var dt=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;$a(a).forEach((function(s){var i=s.split(r),l=i.length,m=i[l-1],p=m==="*"?"*":tt(m);if(M[p]){t||(t=Re());var h=l>1?Na(de,i):[];M[p]=M[p].filter((function(f){return!((!n||f.method===n)&&f.scope===t&&(function(c,u){for(var C=c.length>=u.length?c:u,g=c.length>=u.length?u:c,k=!0,I=0;I<C.length;I++)g.indexOf(C[I])===-1&&(k=!1);return k})(f.mods,h))}))}}))};function ea(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,U)Object.prototype.hasOwnProperty.call(U,r)&&(!U[r]&&a.mods.indexOf(+r)>-1||U[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||U[16]||U[18]||U[17]||U[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 ta(e,a){var t=M["*"],n=e.keyCode||e.which||e.charCode;if(G.filter.call(this,e)){if(n!==93&&n!==224||(n=91),O.indexOf(n)===-1&&n!==229&&O.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach((function(u){var C=St[u];e[u]&&O.indexOf(C)===-1?O.push(C):!e[u]&&O.indexOf(C)>-1?O.splice(O.indexOf(C),1):u==="metaKey"&&e[u]&&O.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(O=O.slice(O.indexOf(C))))})),n in U){for(var o in U[n]=!0,de)de[o]===n&&(G[o]=!0);if(!t)return}for(var r in U)Object.prototype.hasOwnProperty.call(U,r)&&(U[r]=e[St[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(O.indexOf(17)===-1&&O.push(17),O.indexOf(18)===-1&&O.push(18),U[17]=!0,U[18]=!0);var s=Re();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)&&ea(e,t[i],s,a);if(n in M){for(var l=0;l<M[n].length;l++)if((e.type==="keydown"&&M[n][l].keydown||e.type==="keyup"&&M[n][l].keyup)&&M[n][l].key){for(var m=M[n][l],p=m.splitKey,h=m.key.split(p),f=[],c=0;c<h.length;c++)f.push(tt(h[c]));f.sort().join("")===O.sort().join("")&&ea(e,m,s,a)}}}}function G(e,a,t){O=[];var n=$a(e),o=[],r="all",s=document,i=0,l=!1,m=!0,p="+",h=!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&&(l=a.keyup),a.keydown!==void 0&&(m=a.keydown),a.capture!==void 0&&(h=a.capture),typeof a.splitKey=="string"&&(p=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(p)).length>1&&(o=Na(de,e)),(e=(e=e[e.length-1])==="*"?"*":tt(e))in M||(M[e]=[]),M[e].push({keyup:l,keydown:m,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:p,element:s});s!==void 0&&!(function(f){return Zt.indexOf(f)>-1})(s)&&window&&(Zt.push(s),lt(s,"keydown",(function(f){ta(f,s)}),h),Ht||(Ht=!0,lt(window,"focus",(function(){O=[]}),h)),lt(s,"keyup",(function(f){ta(f,s),(function(c){var u=c.keyCode||c.which||c.charCode,C=O.indexOf(u);if(C>=0&&O.splice(C,1),c.key&&c.key.toLowerCase()==="meta"&&O.splice(0,O.length),u!==93&&u!==224||(u=91),u in U)for(var g in U[u]=!1,de)de[g]===u&&(G[g]=!1)})(f)}),h))}var ut={setScope:Jt,getScope:Re,deleteScope:function(e,a){var t,n;for(var o in e||(e=Re()),M)if(Object.prototype.hasOwnProperty.call(M,o))for(t=M[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;Re()===e&&Jt(a||"all")},getPressedKeyCodes:function(){return O.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=tt(e)),O.indexOf(e)!==-1},filter:function(e){var a=e.target||e.srcElement,t=a.tagName,n=!0;return!a.isContentEditable&&(t!=="INPUT"&&t!=="TEXTAREA"&&t!=="SELECT"||a.readOnly)||(n=!1),n},trigger:function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(M).forEach((function(t){var n=M[t].find((function(o){return o.scope===a&&o.shortcut===e}));n&&n.method&&n.method()}))},unbind:function(e){if(e===void 0)Object.keys(M).forEach((function(s){return delete M[s]}));else if(Array.isArray(e))e.forEach((function(s){s.key&&dt(s)}));else if(typeof e=="object")e.key&&dt(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=""),dt({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:Ot,modifier:de,modifierMap:St};for(var mt in ut)Object.prototype.hasOwnProperty.call(ut,mt)&&(G[mt]=ut[mt]);if(typeof window<"u"){var Rs=window.hotkeys;G.noConflict=function(e){return e&&window.hotkeys===G&&(window.hotkeys=Rs),G},window.hotkeys=G}G.filter=function(){return!0};var aa=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Bs(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,l=o.keydown,m=o.filterPreventDefault,p=m===void 0||m,h=o.enabled,f=h===void 0||h,c=o.enableOnContentEditable,u=c!==void 0&&c,C=b.useRef(null),g=b.useCallback((function(k,I){var v,_;return s&&!s(k)?!p:!!(aa(k,["INPUT","TEXTAREA","SELECT"])&&!aa(k,r)||(v=k.target)!=null&&v.isContentEditable&&!u)||!!(C.current===null||document.activeElement===C.current||(_=C.current)!=null&&_.contains(document.activeElement))&&(a(k,I),!0)}),n?[C,r,s].concat(n):[C,r,s]);return b.useEffect((function(){if(f)return i&&l!==!0&&(t.keydown=!1),G(e,t||{},g),function(){return G.unbind(e,g)};G.unbind(e,g)}),[g,e,f]),C}G.isPressed;const Ms=[],pt="dashboard_card",te="ai_cfo_dashboard_card";function na(e,a){return a?e.some((t=>String(t)===te))?e.slice():[te,...e]:e.filter((t=>String(t)!==te))}const Us=["net_burn_or_income_story_card","cash_balance","task_card","card_balance","zeni_promo_card","insights_dashboard","information_card","company_details","bill_pay_promo_card","bill_pay_card","reimbursement_card","reimbursement_promo_card","rewards_card"],Ls=(e,a,t,n,o)=>({card:{dimension:Tt(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:Tt(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e}),Vs=(e,a,t,n)=>je(void 0,e,Ie,a,t),Ws=e=>{const a=Tt(Ie);return a.height=Ie.height+10,{card:{dimension:a,cardType:te,cardIndex:e,fetchState:"Completed",disableAnimations:!1,spansFullDashboardWidth:!0}}},Ys=ne((function(e,a){const t=$s(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i}=a;let l=n.map(((m,p)=>{if(m==="reimbursement_promo_card"||m==="bill_pay_promo_card")return Vs(t,m,p);if(m==="zeni_promo_card")return je({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,Ie,m,p);if(m==="information_card")return je(void 0,"Completed",Ie,m,p);if(m===te)return Ws(p);{const h=o.find((f=>f?.reportId===m));return h?(function(f,c,u,C){const g=f.reportId;switch(g){case"card_balance":case"cash_balance":return[Ls(f,c,u,g,C)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"rewards_card":return[je(f,c,u,g,C)];case"net_burn_or_income_story_card":return[je(f,c,u,"net_burn_or_income_story_card",C)];default:return console.error(`card type ${g} not yet supported!`),[]}})(h,h.fetchState,Ie,p):[]}})).flat();return a.isSummaryCardsFiltered===!0&&(l=l.filter((m=>Us.includes(m.card.cardType)==0)).filter((m=>{const p=m.data?.availableNumberOfPeriods;return p!=null?p>0:m.card.cardType!="top_expenses"||m.data==null||(function(h){if(h==null||h.length===0)return!0;let f=!0;for(const c of h)if(c.balance.available.amount!==0){f=!1;break}return f})(m.data.topExpenses.accountsOrdered)===!1}))),{cardDataArray:l,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ue(e,"navbar")},analytics:T,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}}),(function(e,a){const t=a.tenantId,n=V.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)T.trackDashboardCardClicked("cards promo",2),T.trackZeniCardsPromoCardClicked(a.isChargeCardFeatureEnabled,i,2,`${n?.firstName??""} ${n?.lastName??""}`,a.isChargeCardFeatureEnabled?a.cardsCreditLimit:void 0),i==="Learn More"?window.open("https://www.zeni.ai/product/business-credit-card","_blank"):a.navigate("../cards/promo",{relative:"path"});else if(a.isForecastOn)switch(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&&T.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(T.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.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),(function(i,l,m,p){if(l!==te)switch(l){case"card_balance":i(la());break;case"cash_balance":i(ca());break;case"operating_expenses":i(xa(!0));break;case"revenue":i(Da(!0));break;case"net_burn_or_income":i(Ta(!0));break;case"net_burn_or_income_story_card":i(Fo(!0));break;case"cash_position":i(Ea(!0));break;case"top_expenses":i(Ia());break;case"cash_in_cash_out":i(Aa());break;case"insights_dashboard":i(Oo());break;case"bill_pay_card":i(Po());break;case"reimbursement_card":i(wo());break;case"company_details":i(xo(m));break;case"task_card":i(Do());break;case"accounts_payable_aging":p.includes("accounts_payable_aging")===!1&&i(gt(Ee()));break;case"accounts_receivable_aging":i(bt(Ee()));break;case"rewards_card":p.includes("rewards_card")===!1&&i(To(!0));break;default:throw new Error(`report type ${l} is not yet supported`)}})(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{T.trackTimeframeSwitch(Wa(r),Ns(o),"Dashboard"),(function(s,i,l){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(Te(l));break;case"top_expenses":s(va(l));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}})(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(Eo(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=>{if(o==="bill_pay_promo_card"){const r="../bills",s=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s},relative:"path"})}else if(o==="reimbursement_promo_card"){const r="../reimbursements",s=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s},relative:"path"})}},onSaveClick:(o,r,s)=>{o==="net_burn_or_income_story_card"&&(T.trackUpdateBurnRateCalculatorSettings(r,s,Ao(s)),e(Io(t,r,s)))}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(me({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(ae("navbar"))},onCancelAutoComplete:()=>{e(ae("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?he(o,a.tenantEmailDomain):Jo(o.zeniId,o.qboId,a.tenantEmailDomain);const s=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}}))(Zo);function Gs(){const e=oa(),a=Fa(),t=Ua(a),{isAiCfoOpen:n,setIsAiCfoOpen:o,setAiCfoSidePanelQuestionToSubmit:r}=Oa(),s=J(),i=z(),l=Z(),m=V.getSignedInUser(),{useFeatureGate:p,useDynamicConfig:h}=we(),[f,c]=b.useState(!1),[u,C]=b.useState(!1),g=ja(),{tenantEmailDomain:k}=q(),{isAiCfoAccessEnabled:I,onAskAiCfoClick:v}=se({mobileExploreReferrer:"Dashboard"}),_=S((A=>A.tenantState.fetchState==="Completed"||A.tenantState.activeTenantFetchState.fetchState==="Completed"?L(A):void 0)),D=_??V.getSignedInUserTenant(k),P=_?.masterTOSInfo?.isMasterTOSAccepted??!1,x=D.tenantId,E=D.companyId;b.useEffect((()=>{f===!1&&l.state?.message==="activation"&&(i(So(E)),c(!0))}),[l.state,f,E,i]),b.useEffect((()=>{g&&!u&&l.state?.message==="open_ai_cfo_drawer"&&(C(!0),P?(o(!0),s({pathname:l.pathname,search:l.search,hash:l.hash},{replace:!0,state:{...l.state,message:void 0}})):ce({location:l,navigate:s,mergeState:{referrer:"Dashboard",message:void 0}}))}),[l,u,g,P,o,s]);const{isFeatureEnabled:B}=p(W.isApAgingFeatureEnabled),y=zo(),w=Ko(y),{isFeatureEnabled:re}=p(W.isArAgingFeatureEnabled),{isFeatureEnabled:Ke}=p(W.isDepositAccountsFeatureEnabled),{isFeatureEnabled:R}=p(W.isReferralFeatureEnabled),{isFeatureEnabled:ie}=p(W.isChargeCardFeatureEnabled),{isFeatureEnabled:qe}=p(W.isAiCfoFileUploadEnabled),{isFeatureEnabled:at}=p(W.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:Ka}=p(W.isDashboardSidebarNewYearAnimationEnabled),{isFeatureEnabled:qa}=p(W.aiAuditScorePercentage),{configValue:Ft}=h(Ra.zeniCardsConfig),Qa=Ft.charge_card_cashback_rate_per_transaction==null?.0175:Ft.charge_card_cashback_rate_per_transaction;if(l.state?.message==="activation"){const A=qo(l.state?.pathnameStackToGoBack);s(l.pathname,{state:{...l.state,message:void 0,pathnameStackToGoBack:A.newStack}})}const[jt,Xa]=b.useState(!1),[nt,Ha]=b.useState(!1);Bs("command+p, Control+p",(A=>{Ha(!nt),A.preventDefault()}),{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[nt]);const Rt=_?.externalConnections?.accounting[0]?.isValid;if(m==null)throw Error("Can't access dashboard without signing in...");const fe=S((A=>L(A)?.excludedResources)),Za=S((A=>A.expenseAutomationViewState.selectedPeriodByTenantId)),Ja=!!_?.companyReimbursementInfo?.info?.isReimbursementEnabled,en=!!_?.companyBillPayInfo?.info?.isBillPayEnabled,tn=Ne(),K=[],Bt=fe?.resources?.find((A=>A.resource==="/reports/top_expenses"))==null,an=fe?.resources?.find((A=>A.resource==="/reports/task_card"))==null,Mt=_?.userRole!=null&&Sa(_?.userRole),nn=fe?.resources?.find((A=>A.resource==="/bills"))==null&&!Mt,on=fe?.resources?.find((A=>A.resource==="/reimbursements"))==null,sn=_o(tn?.loggedInUserRoleMap),rn=_?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,cn=_?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1;Bt===!1&&K.push("top_expenses"),an===!1&&K.push("task_card"),nn===!1&&K.push("bill_pay_card","bill_pay_promo_card"),B===!1&&K.push("accounts_payable_aging"),re===!1&&K.push("accounts_receivable_aging"),(y===!1||Mt)&&K.push("expense_automation_card"),on===!1&&K.push("reimbursement_card","reimbursement_promo_card"),K.push("zeni_accounts_promo_card","treasury_promo_card"),R===!1&&K.push("rewards_card");const{areTenantIdsInSync:Ut}=Qo();b.useLayoutEffect((()=>{jt&&w===y||Rt!==!0||!Ut||fe?.fetchState!=="Completed"&&fe?.fetchState!=="Error"||(Xa(!0),i(ko(m.userId,E,x,!0,!1,K)))}),[jt,m,x,i,Bt,Rt,fe?.fetchState,Ut]);const ln=S((A=>A.reportUIOptionsState.forecastOnDashboard.isForecastModeOn)),dn=S((A=>A.revenueState.uiState.selectedForecast?.id)),un=S((A=>A.cardBalanceState.fetchState)),ge=S((A=>yo(A,K))),mn=ge.fetchState,pn=b.useMemo((()=>na(ge.cardsOrdered,I)),[ge.cardsOrdered,I]),hn=b.useMemo((()=>na(ge.cardsForDashboardUI,I)),[ge.cardsForDashboardUI,I]);We({isDataReady:!0});const{isSuggestedQuestionsLoading:fn,suggestedPromptQuestions:gn}=ts(),Lt=S((A=>da(A))),_e=Lt.uiState?.currentChatSessionId,ot=Lt.allSessionsWithOrderedQuestionAnswers??Ms,{currentSessionQuestionAnswers:bn}=Xo(ot,_e),Vt=bn.length===0,Cn=b.useCallback(((A,X,ee)=>{const ke=m?.userId;if(ke==null)return;const Y=A.trim();if(Y.length===0&&X.length===0)return;if(!P)return void ce({location:l,navigate:s,mergeState:{referrer:"Dashboard",...Y.length>0?{aiCfoInitialQuestion:Y,aiCfoInitialSubmissionSource:pt,...typeof ee=="number"?{aiCfoSuggestionIndex:ee}:{}}:{}}});const H=Ba(e.getState()),ye=()=>{const ve=j(l.state?.pathnameStackToGoBack,l.pathname);s(`/${k}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:ve,referrer:"Dashboard",aiCfoInitialQuestion:Y,aiCfoShouldSubmit:!H&&Y.length>0,aiCfoInitialSubmissionSource:pt,...typeof ee=="number"?{aiCfoSuggestionIndex:ee}:{}}})};return t?X.length>0?void o(!0):void ye():X.length>0?H?(i(Ct(Y)),void o(!0)):(r(Y.length>0?Y:null),o(!0),void(Y.length>0&&Ma(i,Y,pt,_e,ot,ke,ee,X.length>0?X:void 0))):(H&&i(Ct(Y)),void ye())}),[ot,_e,i,P,t,l,s,r,o,m?.userId,e,k]),Sn=b.useCallback((()=>{P?o(!0):ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}})}),[P,l,s,o]),_n=b.useCallback((()=>{if(!P)return void ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}});if(k==null)return;const A=j(l.state?.pathnameStackToGoBack,l.pathname);s(`/${k}/ai-cfo/explore`,{state:{pathnameStackToGoBack:A,referrer:"Dashboard"}})}),[P,l,s,k]),kn=b.useCallback((()=>{if(P)if(t){if(k==null||_==null)return;const A=_e==null||Vt?`/${k}/ai-cfo/explore`:`/${k}/ai-cfo/${_e}`,X=l.state?.pathnameStackToGoBack??[],ee=j(X,l.pathname);s(A,{state:{...l.state,pathnameStackToGoBack:ee,[Ho]:!0}})}else ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}});else ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}})}),[P,t,l,s,k,_,_e,Vt]);return d.jsxs(d.Fragment,{children:[mn==="Completed"?d.jsx(Ye,{analytics:T,onLoad:A=>{A.trackPageLoaded(N.Event.dashboard)}}):null,d.jsx(Ys,{maxColumns:n?2:void 0,isAiCfoAccessEnabled:I,onAskAiCfoClick:v,onAiCfoDashboardOpenPanel:Sn,onAiCfoDashboardOpenScopePage:kn,isAiCfoFileUploadEnabled:qe===!0&&t===!1,onAiCfoDashboardPromptSubmit:Cn,onAiCfoDashboardExpandToFullPage:_n,aiCfoDashboardShouldClearPromptOnSubmit:P,aiCfoDashboardSuggestedPromptQuestions:gn,aiCfoDashboardSuggestedPromptQuestionsLoading:fn,onDragAndDropCard:(A,X)=>{if(A===te||X===te)return;const ee=(function(H,ye,ve){const st=ve.indexOf(H),rt=ve.indexOf(ye);if(st===-1||rt===-1||st===rt)return ve;const it=[...ve];return it.splice(st,1),it.splice(rt,0,H),it})(A,X,pn),ke=ee.filter((H=>H!==te)),Y=ge.cardsOrdered;(ke.length!==Y.length||ke.some(((H,ye)=>H!==Y[ye])))&&i(vo(ke))},dashboardReport:ge,passedCardsOrdered:hn,tenantId:x,companyId:E,tenantEmailDomain:k,location:l,navigate:s,isApAgingFeatureEnabled:B,isArAgingFeatureEnabled:re,isBillPayEnabled:en,isReimbursementEnabled:Ja,isSummaryCardsFiltered:nt,isForecastOn:ln,selectedForecastOnDashboard:dn,isVisitingFirstTime:f,isZeniAccountEnabled:Ke,isRewardsFeatureEnabled:R,selectedPeriod:Za[x],isChargeCardFeatureEnabled:ie,isUserHasCardsAccess:sn,cardsCreditLimit:rn,cashbackRate:Qa,isInterestedInChargeCard:cn,cardBalanceFetchState:un,christmasAnimationEnabled:at,newYearAnimationEnabled:Ka,aiAuditScorePercentageEnabled:qa})]})}const Ns=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"},$s=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map((a=>a.fetchState)).reduce(((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t));function ht(){return d.jsxs(ft,{children:[d.jsx(F,{path:"/",element:d.jsx(le,{})}),d.jsx(F,{path:"/:forecastId",element:d.jsx(le,{})}),d.jsx(F,{path:"/:forecastId/*",element:d.jsx(Be,{})})]})}function yr(){const e=Ne(),a=e?.excludedResources?.find((m=>m.resource==="/reports/top_expenses"))==null,{useFeatureGate:t}=we(),{isFeatureEnabled:n}=t(W.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(W.isArAgingFeatureEnabled),r=S((m=>L(m))),{isFeatureEnabled:s}=t(W.isDebitCardFeatureEnabled),i=jo(s,r),l=Ro(r);return i===!0||l===!0?d.jsx(ft,{children:d.jsx(F,{path:"/*",element:d.jsx(as,{})})}):d.jsxs(ft,{children:[d.jsx(F,{path:"/",element:d.jsx(Gs,{})}),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(le,{})}),d.jsx(F,{path:"operating_expenses/forecast/*",element:d.jsx(ht,{})}),d.jsx(F,{path:"revenue/forecast/*",element:d.jsx(ht,{})}),d.jsx(F,{path:"revenue/*",element:d.jsx(le,{})}),d.jsx(F,{path:"net_burn_or_income/forecast/*",element:d.jsx(ht,{})}),d.jsx(F,{path:"net_burn_or_income/*",element:d.jsx(le,{})}),n===!0&&d.jsxs(d.Fragment,{children:[d.jsx(F,{path:"accounts_payable_aging/*",element:d.jsx(os,{})}),d.jsx(F,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:d.jsx(ns,{})})]}),o&&d.jsxs(d.Fragment,{children:[d.jsx(F,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:d.jsx(ss,{})}),d.jsx(F,{path:"accounts_receivable_aging/*",element:d.jsx(rs,{})})]}),d.jsx(F,{path:"cash_position/*",element:d.jsx(le,{})}),d.jsx(F,{path:"top_expenses/*",element:a===!0?d.jsx(le,{}):d.jsx(Be,{})}),d.jsx(F,{path:"cash_in_cash_out/*",element:d.jsx(le,{})}),d.jsx(F,{path:"company_details",element:d.jsx(es,{})}),d.jsx(F,{path:"referrals/*",element:d.jsx(yn,{to:"../../rewards/refer",replace:!0})}),d.jsx(F,{path:"*",element:d.jsx(Be,{})})]})}export{yr as default};
|
|
20
|
+
`;function js({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=J(),r=Z(),{tenantEmailDomain:s}=K();let i;Ge({isDataReady:!0});const l={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=d.jsx(Es,{...l});break;case"revenue":i=d.jsx(xs,{...l});break;case"net_burn_or_income":i=d.jsx(vs,{...l});break;case"cash_position":i=d.jsx(_s,{...l});break;case"top_expenses":i=d.jsx(Os,{...l});break;case"cash_in_cash_out":i=d.jsx(bs,{...l});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?d.jsx(Fs,{children:i}):null}function le(){const e=Z(),a=z(),{forecastId:t}=K();let n="Not-Started";const o=S((c=>It(c).fetchState)),r=S((c=>Et(c).fetchState)),s=S((c=>_t(c).fetchState)),i=S((c=>c.cashPositionState.fetchState)),l=S((c=>c.topExState.fetchState)),m=S((c=>c.cashInCashOutState.fetchState));if(V.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const p=S((c=>L(c))),h=p?.company?.companyInfo?.firstMonthOfFY??1,f=ra((c=>{const u=ia(c,"/").split("/");return t!=null?u[u.length-3]:u[u.length-1]})(e.pathname));switch(f){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=l;break;case"cash_in_cash_out":n=m;break;default:console.error(`${f} is not supported!`)}return b.useEffect((()=>{n==="Not-Started"&&(function(c,u,C,g){switch(u){case"operating_expenses":c(xa(!0)),g!=null&&(c(Ae(C,!0,3,{id:g,index:0})),c(Ca(!1,g)));break;case"revenue":c(Ta(!0)),g!=null&&(c(Ae(C,!0,3,{id:g,index:0})),c(ya(!1,g)));break;case"net_burn_or_income":c(Da(!0)),g!=null&&(c(Ae(C,!0,3,{id:g,index:0})),c(fa(!1,g)));break;case"cash_position":c(Ea(!0));break;case"top_expenses":c(Ia());break;case"cash_in_cash_out":c(Aa());break;default:throw new Error(`report type ${u} is not yet supported`)}})(a,f,h,t)}),[t]),d.jsxs(d.Fragment,{children:[n==="Completed"?d.jsx(Ye,{analytics:D,onLoad:c=>((u,C)=>{const g=e.state?.referrer;switch(C){case"operating_expenses":u.trackPageLoaded($.Event.operatingExpenses,g);break;case"revenue":u.trackPageLoaded($.Event.revenues,g);break;case"net_burn_or_income":u.trackPageLoaded($.Event.burnRate,g);break;case"cash_position":u.trackPageLoaded($.Event.cashPosition,g);break;case"top_expenses":u.trackPageLoaded($.Event.topExpenses,g);break;case"cash_in_cash_out":u.trackPageLoaded($.Event.cashInCashOut,g);break;default:console.error(`Analytics: Not tracking Page Loaded for ${C}!`)}})(c,f)}):null,d.jsx(js,{firstMonthOfFY:h,fetchState:n,reportId:f,forecastId:t})]})}var ct=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function lt(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),(function(){t(window.event)}))}function $a(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 Wa(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 Ot={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,"-":ct?173:189,"=":ct?61:187,";":ct?59:186,"'":222,"[":219,"]":221,"\\":220},de={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},St={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},U={16:!1,18:!1,17:!1,91:!1},M={},He=1;He<20;He++)Ot["f".concat(He)]=111+He;var O=[],Ht=!1,za="all",Zt=[],tt=function(e){return Ot[e.toLowerCase()]||de[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function Jt(e){za=e||"all"}function Re(){return za||"all"}var dt=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;Wa(a).forEach((function(s){var i=s.split(r),l=i.length,m=i[l-1],p=m==="*"?"*":tt(m);if(M[p]){t||(t=Re());var h=l>1?$a(de,i):[];M[p]=M[p].filter((function(f){return!((!n||f.method===n)&&f.scope===t&&(function(c,u){for(var C=c.length>=u.length?c:u,g=c.length>=u.length?u:c,k=!0,I=0;I<C.length;I++)g.indexOf(C[I])===-1&&(k=!1);return k})(f.mods,h))}))}}))};function ea(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,U)Object.prototype.hasOwnProperty.call(U,r)&&(!U[r]&&a.mods.indexOf(+r)>-1||U[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||U[16]||U[18]||U[17]||U[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 ta(e,a){var t=M["*"],n=e.keyCode||e.which||e.charCode;if(N.filter.call(this,e)){if(n!==93&&n!==224||(n=91),O.indexOf(n)===-1&&n!==229&&O.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach((function(u){var C=St[u];e[u]&&O.indexOf(C)===-1?O.push(C):!e[u]&&O.indexOf(C)>-1?O.splice(O.indexOf(C),1):u==="metaKey"&&e[u]&&O.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(O=O.slice(O.indexOf(C))))})),n in U){for(var o in U[n]=!0,de)de[o]===n&&(N[o]=!0);if(!t)return}for(var r in U)Object.prototype.hasOwnProperty.call(U,r)&&(U[r]=e[St[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(O.indexOf(17)===-1&&O.push(17),O.indexOf(18)===-1&&O.push(18),U[17]=!0,U[18]=!0);var s=Re();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)&&ea(e,t[i],s,a);if(n in M){for(var l=0;l<M[n].length;l++)if((e.type==="keydown"&&M[n][l].keydown||e.type==="keyup"&&M[n][l].keyup)&&M[n][l].key){for(var m=M[n][l],p=m.splitKey,h=m.key.split(p),f=[],c=0;c<h.length;c++)f.push(tt(h[c]));f.sort().join("")===O.sort().join("")&&ea(e,m,s,a)}}}}function N(e,a,t){O=[];var n=Wa(e),o=[],r="all",s=document,i=0,l=!1,m=!0,p="+",h=!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&&(l=a.keyup),a.keydown!==void 0&&(m=a.keydown),a.capture!==void 0&&(h=a.capture),typeof a.splitKey=="string"&&(p=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(p)).length>1&&(o=$a(de,e)),(e=(e=e[e.length-1])==="*"?"*":tt(e))in M||(M[e]=[]),M[e].push({keyup:l,keydown:m,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:p,element:s});s!==void 0&&!(function(f){return Zt.indexOf(f)>-1})(s)&&window&&(Zt.push(s),lt(s,"keydown",(function(f){ta(f,s)}),h),Ht||(Ht=!0,lt(window,"focus",(function(){O=[]}),h)),lt(s,"keyup",(function(f){ta(f,s),(function(c){var u=c.keyCode||c.which||c.charCode,C=O.indexOf(u);if(C>=0&&O.splice(C,1),c.key&&c.key.toLowerCase()==="meta"&&O.splice(0,O.length),u!==93&&u!==224||(u=91),u in U)for(var g in U[u]=!1,de)de[g]===u&&(N[g]=!1)})(f)}),h))}var ut={setScope:Jt,getScope:Re,deleteScope:function(e,a){var t,n;for(var o in e||(e=Re()),M)if(Object.prototype.hasOwnProperty.call(M,o))for(t=M[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;Re()===e&&Jt(a||"all")},getPressedKeyCodes:function(){return O.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=tt(e)),O.indexOf(e)!==-1},filter:function(e){var a=e.target||e.srcElement,t=a.tagName,n=!0;return!a.isContentEditable&&(t!=="INPUT"&&t!=="TEXTAREA"&&t!=="SELECT"||a.readOnly)||(n=!1),n},trigger:function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(M).forEach((function(t){var n=M[t].find((function(o){return o.scope===a&&o.shortcut===e}));n&&n.method&&n.method()}))},unbind:function(e){if(e===void 0)Object.keys(M).forEach((function(s){return delete M[s]}));else if(Array.isArray(e))e.forEach((function(s){s.key&&dt(s)}));else if(typeof e=="object")e.key&&dt(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=""),dt({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:Ot,modifier:de,modifierMap:St};for(var mt in ut)Object.prototype.hasOwnProperty.call(ut,mt)&&(N[mt]=ut[mt]);if(typeof window<"u"){var Rs=window.hotkeys;N.noConflict=function(e){return e&&window.hotkeys===N&&(window.hotkeys=Rs),N},window.hotkeys=N}N.filter=function(){return!0};var aa=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Bs(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,l=o.keydown,m=o.filterPreventDefault,p=m===void 0||m,h=o.enabled,f=h===void 0||h,c=o.enableOnContentEditable,u=c!==void 0&&c,C=b.useRef(null),g=b.useCallback((function(k,I){var v,_;return s&&!s(k)?!p:!!(aa(k,["INPUT","TEXTAREA","SELECT"])&&!aa(k,r)||(v=k.target)!=null&&v.isContentEditable&&!u)||!!(C.current===null||document.activeElement===C.current||(_=C.current)!=null&&_.contains(document.activeElement))&&(a(k,I),!0)}),n?[C,r,s].concat(n):[C,r,s]);return b.useEffect((function(){if(f)return i&&l!==!0&&(t.keydown=!1),N(e,t||{},g),function(){return N.unbind(e,g)};N.unbind(e,g)}),[g,e,f]),C}N.isPressed;const Ms=[],pt="dashboard_card",te="ai_cfo_dashboard_card";function na(e,a){return a?e.some((t=>String(t)===te))?e.slice():[te,...e]:e.filter((t=>String(t)!==te))}const Us=["net_burn_or_income_story_card","cash_balance","task_card","card_balance","zeni_promo_card","insights_dashboard","information_card","company_details","bill_pay_promo_card","bill_pay_card","reimbursement_card","reimbursement_promo_card","rewards_card"],Ls=(e,a,t,n,o)=>({card:{dimension:Dt(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:Dt(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e}),Vs=(e,a,t,n)=>je(void 0,e,Ie,a,t),Gs=e=>{const a=Dt(Ie);return a.height=Ie.height+10,{card:{dimension:a,cardType:te,cardIndex:e,fetchState:"Completed",disableAnimations:!1,spansFullDashboardWidth:!0}}},Ys=ne((function(e,a){const t=Ws(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i}=a;let l=n.map(((m,p)=>{if(m==="reimbursement_promo_card"||m==="bill_pay_promo_card")return Vs(t,m,p);if(m==="zeni_promo_card")return je({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,Ie,m,p);if(m==="information_card")return je(void 0,"Completed",Ie,m,p);if(m===te)return Gs(p);{const h=o.find((f=>f?.reportId===m));return h?(function(f,c,u,C){const g=f.reportId;switch(g){case"card_balance":case"cash_balance":return[Ls(f,c,u,g,C)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"rewards_card":return[je(f,c,u,g,C)];case"net_burn_or_income_story_card":return[je(f,c,u,"net_burn_or_income_story_card",C)];default:return console.error(`card type ${g} not yet supported!`),[]}})(h,h.fetchState,Ie,p):[]}})).flat();return a.isSummaryCardsFiltered===!0&&(l=l.filter((m=>Us.includes(m.card.cardType)==0)).filter((m=>{const p=m.data?.availableNumberOfPeriods;return p!=null?p>0:m.card.cardType!="top_expenses"||m.data==null||(function(h){if(h==null||h.length===0)return!0;let f=!0;for(const c of h)if(c.balance.available.amount!==0){f=!1;break}return f})(m.data.topExpenses.accountsOrdered)===!1}))),{cardDataArray:l,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ue(e,"navbar")},analytics:D,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}}),(function(e,a){const t=a.tenantId,n=V.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)D.trackDashboardCardClicked("cards promo",2),D.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&&D.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(D.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.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),(function(i,l,m,p){if(l!==te)switch(l){case"card_balance":i(la());break;case"cash_balance":i(ca());break;case"operating_expenses":i(xa(!0));break;case"revenue":i(Ta(!0));break;case"net_burn_or_income":i(Da(!0));break;case"net_burn_or_income_story_card":i(Fo(!0));break;case"cash_position":i(Ea(!0));break;case"top_expenses":i(Ia());break;case"cash_in_cash_out":i(Aa());break;case"insights_dashboard":i(Oo());break;case"bill_pay_card":i(Po());break;case"reimbursement_card":i(wo());break;case"company_details":i(xo(m));break;case"task_card":i(To());break;case"accounts_payable_aging":p.includes("accounts_payable_aging")===!1&&i(gt(Ee()));break;case"accounts_receivable_aging":i(bt(Ee()));break;case"rewards_card":p.includes("rewards_card")===!1&&i(Do(!0));break;default:throw new Error(`report type ${l} is not yet supported`)}})(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{D.trackTimeframeSwitch(Ga(r),$s(o),"Dashboard"),(function(s,i,l){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(De(l));break;case"top_expenses":s(va(l));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}})(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(Eo(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=>{if(o==="bill_pay_promo_card"){const r="../bills",s=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s},relative:"path"})}else if(o==="reimbursement_promo_card"){const r="../reimbursements",s=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s},relative:"path"})}},onSaveClick:(o,r,s)=>{o==="net_burn_or_income_story_card"&&(D.trackUpdateBurnRateCalculatorSettings(r,s,Ao(s)),e(Io(t,r,s)))}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(me({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(ae("navbar"))},onCancelAutoComplete:()=>{e(ae("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?he(o,a.tenantEmailDomain):Jo(o.zeniId,o.qboId,a.tenantEmailDomain);const s=j(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}}))(Zo);function Ns(){const e=oa(),a=Fa(),t=Ua(a),{isAiCfoOpen:n,setIsAiCfoOpen:o,setAiCfoSidePanelQuestionToSubmit:r}=Oa(),s=J(),i=z(),l=Z(),m=V.getSignedInUser(),{useFeatureGate:p,useDynamicConfig:h}=we(),[f,c]=b.useState(!1),[u,C]=b.useState(!1),g=ja(),{tenantEmailDomain:k}=K(),{isAiCfoAccessEnabled:I,onAskAiCfoClick:v}=se({mobileExploreReferrer:"Dashboard"}),_=S((A=>A.tenantState.fetchState==="Completed"||A.tenantState.activeTenantFetchState.fetchState==="Completed"?L(A):void 0)),T=_??V.getSignedInUserTenant(k),P=_?.masterTOSInfo?.isMasterTOSAccepted??!1,x=T.tenantId,E=T.companyId;b.useEffect((()=>{f===!1&&l.state?.message==="activation"&&(i(So(E)),c(!0))}),[l.state,f,E,i]),b.useEffect((()=>{g&&!u&&l.state?.message==="open_ai_cfo_drawer"&&(C(!0),P?(o(!0),s({pathname:l.pathname,search:l.search,hash:l.hash},{replace:!0,state:{...l.state,message:void 0}})):ce({location:l,navigate:s,mergeState:{referrer:"Dashboard",message:void 0}}))}),[l,u,g,P,o,s]);const{isFeatureEnabled:B}=p(G.isApAgingFeatureEnabled),y=zo(),w=Xo(y),{isFeatureEnabled:re}=p(G.isArAgingFeatureEnabled),{isFeatureEnabled:Xe}=p(G.isDepositAccountsFeatureEnabled),{isFeatureEnabled:R}=p(G.isReferralFeatureEnabled),{isFeatureEnabled:ie}=p(G.isChargeCardFeatureEnabled),{isFeatureEnabled:Ke}=p(G.isAiCfoFileUploadEnabled),{isFeatureEnabled:at}=p(G.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:Xa}=p(G.isDashboardSidebarNewYearAnimationEnabled),{isFeatureEnabled:Ka}=p(G.aiAuditScorePercentage),{configValue:Ft}=h(Ra.zeniCardsConfig),qa=Ft.charge_card_cashback_rate_per_transaction==null?.0175:Ft.charge_card_cashback_rate_per_transaction;if(l.state?.message==="activation"){const A=Ko(l.state?.pathnameStackToGoBack);s(l.pathname,{state:{...l.state,message:void 0,pathnameStackToGoBack:A.newStack}})}const[jt,Qa]=b.useState(!1),[nt,Ha]=b.useState(!1);Bs("command+p, Control+p",(A=>{Ha(!nt),A.preventDefault()}),{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[nt]);const Rt=_?.externalConnections?.accounting[0]?.isValid;if(m==null)throw Error("Can't access dashboard without signing in...");const fe=S((A=>L(A)?.excludedResources)),Za=S((A=>A.expenseAutomationViewState.selectedPeriodByTenantId)),Ja=!!_?.companyReimbursementInfo?.info?.isReimbursementEnabled,en=!!_?.companyBillPayInfo?.info?.isBillPayEnabled,tn=$e(),X=[],Bt=fe?.resources?.find((A=>A.resource==="/reports/top_expenses"))==null,an=fe?.resources?.find((A=>A.resource==="/reports/task_card"))==null,Mt=_?.userRole!=null&&Sa(_?.userRole),nn=fe?.resources?.find((A=>A.resource==="/bills"))==null&&!Mt,on=fe?.resources?.find((A=>A.resource==="/reimbursements"))==null,sn=_o(tn?.loggedInUserRoleMap),rn=_?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,cn=_?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1;Bt===!1&&X.push("top_expenses"),an===!1&&X.push("task_card"),nn===!1&&X.push("bill_pay_card","bill_pay_promo_card"),B===!1&&X.push("accounts_payable_aging"),re===!1&&X.push("accounts_receivable_aging"),(y===!1||Mt)&&X.push("expense_automation_card"),on===!1&&X.push("reimbursement_card","reimbursement_promo_card"),X.push("zeni_accounts_promo_card","treasury_promo_card"),R===!1&&X.push("rewards_card");const{areTenantIdsInSync:Ut}=qo();b.useLayoutEffect((()=>{jt&&w===y||Rt!==!0||!Ut||fe?.fetchState!=="Completed"&&fe?.fetchState!=="Error"||(Qa(!0),i(ko(m.userId,E,x,!0,!1,X)))}),[jt,m,x,i,Bt,Rt,fe?.fetchState,Ut]);const ln=S((A=>A.reportUIOptionsState.forecastOnDashboard.isForecastModeOn)),dn=S((A=>A.revenueState.uiState.selectedForecast?.id)),un=S((A=>A.cardBalanceState.fetchState)),ge=S((A=>yo(A,X))),mn=ge.fetchState,pn=b.useMemo((()=>na(ge.cardsOrdered,I)),[ge.cardsOrdered,I]),hn=b.useMemo((()=>na(ge.cardsForDashboardUI,I)),[ge.cardsForDashboardUI,I]);Ge({isDataReady:!0});const{isSuggestedQuestionsLoading:fn,suggestedPromptQuestions:gn}=ts(),Lt=S((A=>da(A))),_e=Lt.uiState?.currentChatSessionId,ot=Lt.allSessionsWithOrderedQuestionAnswers??Ms,{currentSessionQuestionAnswers:bn}=Qo(ot,_e),Vt=bn.length===0,Cn=b.useCallback(((A,Q,ee)=>{const ke=m?.userId;if(ke==null)return;const Y=A.trim();if(Y.length===0&&Q.length===0)return;if(!P)return void ce({location:l,navigate:s,mergeState:{referrer:"Dashboard",...Y.length>0?{aiCfoInitialQuestion:Y,aiCfoInitialSubmissionSource:pt,...typeof ee=="number"?{aiCfoSuggestionIndex:ee}:{}}:{}}});const H=Ba(e.getState()),ye=()=>{const ve=j(l.state?.pathnameStackToGoBack,l.pathname);s(`/${k}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:ve,referrer:"Dashboard",aiCfoInitialQuestion:Y,aiCfoShouldSubmit:!H&&Y.length>0,aiCfoInitialSubmissionSource:pt,...typeof ee=="number"?{aiCfoSuggestionIndex:ee}:{}}})};return t?Q.length>0?void o(!0):void ye():Q.length>0?H?(i(Ct(Y)),void o(!0)):(r(Y.length>0?Y:null),o(!0),void(Y.length>0&&Ma(i,Y,pt,_e,ot,ke,ee,Q.length>0?Q:void 0))):(H&&i(Ct(Y)),void ye())}),[ot,_e,i,P,t,l,s,r,o,m?.userId,e,k]),Sn=b.useCallback((()=>{P?o(!0):ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}})}),[P,l,s,o]),_n=b.useCallback((()=>{if(!P)return void ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}});if(k==null)return;const A=j(l.state?.pathnameStackToGoBack,l.pathname);s(`/${k}/ai-cfo/explore`,{state:{pathnameStackToGoBack:A,referrer:"Dashboard"}})}),[P,l,s,k]),kn=b.useCallback((()=>{if(P)if(t){if(k==null||_==null)return;const A=_e==null||Vt?`/${k}/ai-cfo/explore`:`/${k}/ai-cfo/${_e}`,Q=l.state?.pathnameStackToGoBack??[],ee=j(Q,l.pathname);s(A,{state:{...l.state,pathnameStackToGoBack:ee,[Ho]:!0}})}else ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}});else ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}})}),[P,t,l,s,k,_,_e,Vt]);return d.jsxs(d.Fragment,{children:[mn==="Completed"?d.jsx(Ye,{analytics:D,onLoad:A=>{A.trackPageLoaded($.Event.dashboard)}}):null,d.jsx(Ys,{maxColumns:n?2:void 0,isAiCfoAccessEnabled:I,onAskAiCfoClick:v,onAiCfoDashboardOpenPanel:Sn,onAiCfoDashboardOpenScopePage:kn,isAiCfoFileUploadEnabled:Ke===!0&&t===!1,onAiCfoDashboardPromptSubmit:Cn,onAiCfoDashboardExpandToFullPage:_n,aiCfoDashboardShouldClearPromptOnSubmit:P,aiCfoDashboardSuggestedPromptQuestions:gn,aiCfoDashboardSuggestedPromptQuestionsLoading:fn,onDragAndDropCard:(A,Q)=>{if(A===te||Q===te)return;const ee=(function(H,ye,ve){const st=ve.indexOf(H),rt=ve.indexOf(ye);if(st===-1||rt===-1||st===rt)return ve;const it=[...ve];return it.splice(st,1),it.splice(rt,0,H),it})(A,Q,pn),ke=ee.filter((H=>H!==te)),Y=ge.cardsOrdered;(ke.length!==Y.length||ke.some(((H,ye)=>H!==Y[ye])))&&i(vo(ke))},dashboardReport:ge,passedCardsOrdered:hn,tenantId:x,companyId:E,tenantEmailDomain:k,location:l,navigate:s,isApAgingFeatureEnabled:B,isArAgingFeatureEnabled:re,isBillPayEnabled:en,isReimbursementEnabled:Ja,isSummaryCardsFiltered:nt,isForecastOn:ln,selectedForecastOnDashboard:dn,isVisitingFirstTime:f,isZeniAccountEnabled:Xe,isRewardsFeatureEnabled:R,selectedPeriod:Za[x],isChargeCardFeatureEnabled:ie,isUserHasCardsAccess:sn,cardsCreditLimit:rn,cashbackRate:qa,isInterestedInChargeCard:cn,cardBalanceFetchState:un,christmasAnimationEnabled:at,newYearAnimationEnabled:Xa,aiAuditScorePercentageEnabled:Ka})]})}const $s=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"},Ws=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map((a=>a.fetchState)).reduce(((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t));function ht(){return d.jsxs(ft,{children:[d.jsx(F,{path:"/",element:d.jsx(le,{})}),d.jsx(F,{path:"/:forecastId",element:d.jsx(le,{})}),d.jsx(F,{path:"/:forecastId/*",element:d.jsx(Be,{})})]})}function yr(){const e=$e(),a=e?.excludedResources?.find((m=>m.resource==="/reports/top_expenses"))==null,{useFeatureGate:t}=we(),{isFeatureEnabled:n}=t(G.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(G.isArAgingFeatureEnabled),r=S((m=>L(m))),{isFeatureEnabled:s}=t(G.isDebitCardFeatureEnabled),i=jo(s,r),l=Ro(r);return i===!0||l===!0?d.jsx(ft,{children:d.jsx(F,{path:"/*",element:d.jsx(as,{})})}):d.jsxs(ft,{children:[d.jsx(F,{path:"/",element:d.jsx(Ns,{})}),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(le,{})}),d.jsx(F,{path:"operating_expenses/forecast/*",element:d.jsx(ht,{})}),d.jsx(F,{path:"revenue/forecast/*",element:d.jsx(ht,{})}),d.jsx(F,{path:"revenue/*",element:d.jsx(le,{})}),d.jsx(F,{path:"net_burn_or_income/forecast/*",element:d.jsx(ht,{})}),d.jsx(F,{path:"net_burn_or_income/*",element:d.jsx(le,{})}),n===!0&&d.jsxs(d.Fragment,{children:[d.jsx(F,{path:"accounts_payable_aging/*",element:d.jsx(os,{})}),d.jsx(F,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:d.jsx(ns,{})})]}),o&&d.jsxs(d.Fragment,{children:[d.jsx(F,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:d.jsx(ss,{})}),d.jsx(F,{path:"accounts_receivable_aging/*",element:d.jsx(rs,{})})]}),d.jsx(F,{path:"cash_position/*",element:d.jsx(le,{})}),d.jsx(F,{path:"top_expenses/*",element:a===!0?d.jsx(le,{}):d.jsx(Be,{})}),d.jsx(F,{path:"cash_in_cash_out/*",element:d.jsx(le,{})}),d.jsx(F,{path:"company_details",element:d.jsx(es,{})}),d.jsx(F,{path:"referrals/*",element:d.jsx(yn,{to:"../../rewards/refer",replace:!0})}),d.jsx(F,{path:"*",element:d.jsx(Be,{})})]})}export{yr as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as v}from"./liveblocks-
|
|
1
|
+
import{j as v}from"./liveblocks-BY1qt3Nf.js";import{a as u}from"./sentry-xWYlrqHr.js";import{u as y,j as b,l as w,g as A,N}from"./core-DFhvjgE1.js";import{T9 as U,fB as _,gh as k,Ta as L,pO as R,Tb as z}from"./zeni-epic-state-DxmmAR38.js";import{u as O,z as f,L as C,t as I,G as j,b as $}from"./index-CKPer1bp.js";import"./mui-DesXezzU.js";import{t as P}from"./getLocaleForTenant-7H39EvyO.js";import"./recharts-Co89o1ZO.js";import"./analytics-CsVp7bfq.js";import"./plaid---yWAm21.js";import"./dnd-CR945ANw.js";import"./stripe-cKAAJElX.js";import"./lottie-DgdF8254.js";import"./lexical-CCIwPSwQ.js";import"./pdf-BVKoD2Fp.js";import"./utils-18zApAFM.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]="9e10973a-e042-40b8-8508-08a07badb79f",t._sentryDebugIdIdentifier="sentry-dbid-9e10973a-e042-40b8-8508-08a07badb79f")}catch{}})();const G=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 T=E(r.pathname);if(T!=null)c=`../${o.tenantEmailDomain}/${T}`,m="comingFromV2UrlPath",T==="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=$(c,p);return v.jsx(N,{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=>U(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(C.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(C.TENANT_FETCHING),t(k(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||(j.updateAppLocaleID(P(c)),o())}),[n,a,c]),v.jsx(G,{})}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};
|