@zeniai/web-app-ui 5.3.28-qa → 5.3.29-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-CDcb3dR7.js +9 -0
- package/dist/assets/AddressRoutes-loJi-MTb.js +1 -0
- package/dist/assets/{AddressScreen-pJKlDi3q.js → AddressScreen-KciR_hsZ.js} +2 -2
- package/dist/assets/AiCfoScreen-CL9wzpIP.js +22 -0
- package/dist/assets/AppDrawer-CBFgx_xO.js +10 -0
- package/dist/assets/{BillPayApprovalRoutes-BLyF1vsz.js → BillPayApprovalRoutes-DmmLz8dY.js} +1 -1
- package/dist/assets/{BillPayRoutes-C-gdP6KL.js → BillPayRoutes-C_uGbX5e.js} +9 -9
- package/dist/assets/{BusinessVerificationPageScreen-Boe3kgD5.js → BusinessVerificationPageScreen-CBOgxA4z.js} +2 -2
- package/dist/assets/{CardsAiCfoScreen-BBJBV1b_.js → CardsAiCfoScreen-B8SHn0bs.js} +2 -2
- package/dist/assets/{ChargeCardRoutes-CYP3hEhW.js → ChargeCardRoutes-Dkpm3e49.js} +1 -1
- package/dist/assets/{CompanyPassportScreen-wR6Twi6v.js → CompanyPassportScreen-C-SlqPHT.js} +1 -1
- package/dist/assets/{ConnectionAuthScreen-C8yz1QVT.js → ConnectionAuthScreen-IHk0kFrL.js} +2 -2
- package/dist/assets/CustomerOnboardingAuthScreen-9EVdL7z6.js +1 -0
- package/dist/assets/{CustomerOnboardingRoutes-CHW2qzKd.js → CustomerOnboardingRoutes-BRdsXEtS.js} +5 -5
- package/dist/assets/{DashboardRoutes-CiwFfaic.js → DashboardRoutes-CLhCpuhB.js} +4 -4
- package/dist/assets/{DefaultTenantHome-B0-M7I8X.js → DefaultTenantHome-Btkw8Ap3.js} +1 -1
- package/dist/assets/DomesticWireDetailScreen-Dzk5sa_d.js +18 -0
- package/dist/assets/DrawerScreen-Cq2VoXGn.js +1 -0
- package/dist/assets/EntityDetailRoutes-CTolGUo8.js +1 -0
- package/dist/assets/ExpenseAutomationRoutes-Dsuu9sFZ.js +25 -0
- package/dist/assets/FeaturePreviewScreen-h7p9MMUf.js +1 -0
- package/dist/assets/HubSpotOAuthCallbackScreen-BTzQvozK.js +1 -0
- package/dist/assets/{InboxNotificationsProvider-B9BL9-5c.js → InboxNotificationsProvider-Y2y35nP6.js} +1 -1
- package/dist/assets/InvoicingRoutes-MDlqxyil.js +2 -0
- package/dist/assets/{MagicLinkRoutes-DDMQyFLn.js → MagicLinkRoutes-CP3vqiHe.js} +7 -7
- package/dist/assets/MagicLinkSignInScreen-BMClM24d.js +12 -0
- package/dist/assets/{MobileAppDrawer-DCgsEnVh.js → MobileAppDrawer-DLiH8K3Y.js} +1 -1
- package/dist/assets/NotFoundScreen-CBOeKuhG.js +1 -0
- package/dist/assets/NotificationRoutes-Dhiufflf.js +1 -0
- package/dist/assets/OAuthConsentScreen-Ca-lx4xM.js +1 -0
- package/dist/assets/{PandLWithForecastRoutes-BsegyO1D.js → PandLWithForecastRoutes-aW5WT5CH.js} +1 -1
- package/dist/assets/{PaymentLinkScreen-eNhR9FUM.js → PaymentLinkScreen-C2OZJlFd.js} +8 -8
- package/dist/assets/PeopleRoutes-B2NEnvyj.js +22 -0
- package/dist/assets/PerformanceRoutes-DphKMt6B.js +1 -0
- package/dist/assets/{Preview-slW2Ixf-.js → Preview-BeiBQxK-.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-BYc3DqHZ.js → QBOConnectionScreen-O0kY1C3B.js} +1 -1
- package/dist/assets/{ReimbursementApprovalRoutes-DNX741Rs.js → ReimbursementApprovalRoutes-Dzvw2fZr.js} +1 -1
- package/dist/assets/{ReimbursementApprovalRuleDetailScreen-2ORMbxwr.js → ReimbursementApprovalRuleDetailScreen-BaxtZSL2.js} +1 -1
- package/dist/assets/{ReimbursementRoutes-BN8vNYWi.js → ReimbursementRoutes-DmbcBT5E.js} +9 -9
- package/dist/assets/ReportsRoutes-BQmYqXvS.js +1 -0
- package/dist/assets/RewardsRoutes-DvgOSJy0.js +1 -0
- package/dist/assets/ScreenRoutes-D76vOiPC.js +2 -0
- package/dist/assets/{SettingsRoutes-Cl1VWOb0.js → SettingsRoutes-DNrMSB0r.js} +6 -6
- package/dist/assets/{SetupPagesScreen-DAbhBEAF.js → SetupPagesScreen-28K-Ej_i.js} +5 -5
- package/dist/assets/SignInScreen-JKxT9Chm.js +1 -0
- package/dist/assets/SignOutScreen-DkhnXWYi.js +9 -0
- package/dist/assets/TaskListScreen-D13comxS.js +9 -0
- package/dist/assets/{TaskRoutes-BPceEuj1.js → TaskRoutes-BOftPZQw.js} +2 -2
- package/dist/assets/TransactionDetailRoutes-Br_-ul_i.js +1 -0
- package/dist/assets/{TransactionDetailScreen-CsnmL0BT.js → TransactionDetailScreen-B1_fDc_7.js} +2 -2
- package/dist/assets/TransactionListRoutes-DQwcR30R.js +1 -0
- package/dist/assets/TreasuryRoutes-Dnwm_7bw.js +37 -0
- package/dist/assets/VendorsRoutes-BCbNpFFW.js +112 -0
- package/dist/assets/WiseConfirmationScreen-mPs6_3sL.js +12 -0
- package/dist/assets/{ZeniAccountRoutes-361LPKCn.js → ZeniAccountRoutes-CQnM-9GW.js} +7 -7
- package/dist/assets/ZeniAccountStatementScreen-CTIued6H.js +9 -0
- package/dist/assets/{accountMappingHelper-BgNXnMXC.js → accountMappingHelper-CJgy_TdU.js} +1 -1
- package/dist/assets/{analytics-Cuu7a7XR.js → analytics-drf9tsEq.js} +1 -1
- package/dist/assets/{analyticsHelper-CGHyb6cb.js → analyticsHelper-CDqT9wg1.js} +1 -1
- package/dist/assets/{core-D5xlmXJj.js → core-OUhaP0nM.js} +1 -1
- package/dist/assets/{decodeURIComponentSafe-N0xRs_hS.js → decodeURIComponentSafe-CoJI0rbl.js} +1 -1
- package/dist/assets/{dnd-DN-HQej8.js → dnd-XtKnRPbJ.js} +1 -1
- package/dist/assets/{empty-C81l0a_D.js → empty-CJaMNnL0.js} +1 -1
- package/dist/assets/{empty-O3WXjhlr.js → empty-DC6SKf2K.js} +1 -1
- package/dist/assets/{emptyVideoElement-DNB4w3eI.js → emptyVideoElement-b-LZRj6t.js} +1 -1
- package/dist/assets/{epic-BSdQyFUw.js → epic-Cg0CX13O.js} +1 -1
- package/dist/assets/{expenseAutomationHelper-BchoKsfU.js → expenseAutomationHelper-DlI9q6Vn.js} +1 -1
- package/dist/assets/getLocaleForTenant-aTGgtilb.js +1 -0
- package/dist/assets/{index-BZhSlJBy.js → index-9ur6Fy2d.js} +1 -1
- package/dist/assets/{index-B4N0qOBD.js → index-B1OJLTM8.js} +2 -2
- package/dist/assets/{index-ChKsFe22.js → index-BEdQXZ7l.js} +1 -1
- package/dist/assets/{index-waurk8Yr.js → index-BjnriIg-.js} +11164 -11164
- package/dist/assets/{index-CcXiIb6r.js → index-DWbw7UWG.js} +1 -1
- package/dist/assets/{index-CojIsciJ.js → index-DkPv0SRW.js} +1 -1
- package/dist/assets/{index-B2tEu4AE.js → index-DmRkUvqd.js} +1 -1
- package/dist/assets/{index-L6DNygfO.js → index-Ic-s4E7h.js} +1 -1
- package/dist/assets/{lexical-DDQ51-Oa.js → lexical-cGeYDtsl.js} +1 -1
- package/dist/assets/{liveblocks-DOBkg1D1.js → liveblocks-QA8yK6T_.js} +1 -1
- package/dist/assets/{lottie-o0tP_TXQ.js → lottie-DaBLQBPb.js} +1 -1
- package/dist/assets/{mui-DpenkF9f.js → mui-BtZD__8k.js} +1 -1
- package/dist/assets/{pathToGoBack-Cjq5n9wd.js → pathToGoBack-C7Q0VFSf.js} +1 -1
- package/dist/assets/{pdf-DIMTd5ya.js → pdf-BMGNA2GO.js} +3 -3
- package/dist/assets/{pdf-lib-DU5YZRdD.js → pdf-lib-BukwiyrA.js} +1 -1
- package/dist/assets/{plaid-D5L6VoNT.js → plaid-Bbika4Gn.js} +1 -1
- package/dist/assets/{pusher-oX4CN6zb.js → pusher-9ZM5Kdsl.js} +1 -1
- package/dist/assets/{react-966-QmHM.js → react-B7VQZShg.js} +1 -1
- package/dist/assets/{react-Dq7Fy1Mm.js → react-BbnUu-8y.js} +1 -1
- package/dist/assets/{react-C-oQLK1P.js → react-Cvhq9zob.js} +1 -1
- package/dist/assets/{react-Cj8ClW-m.js → react-DyjJC6aa.js} +1 -1
- package/dist/assets/{react-nXpxox7I.js → react-SMF3sABx.js} +1 -1
- package/dist/assets/{react-a6JNjSit.js → react-_5p9PyE0.js} +1 -1
- package/dist/assets/{recharts-CcOTx_Jj.js → recharts-CnI5kYGO.js} +1 -1
- package/dist/assets/routePaths-Cz-sxWeK.js +1 -0
- package/dist/assets/{sentry-B0nIwgR6.js → sentry-DX8X0N2R.js} +1 -1
- package/dist/assets/{url-VkrE7aAr.js → url-DEE9M609.js} +1 -1
- package/dist/assets/{url-kBT6SwtU.js → url-DKOm_9Da.js} +1 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-CCxuDvI3.js +1 -0
- package/dist/assets/useAskAiCfoHostNavButtonProps-B4mPUD91.js +1 -0
- package/dist/assets/useChargeCardPusherEvents-u2vXo3UU.js +1 -0
- package/dist/assets/{useDeviceId-ChTv1tr4.js → useDeviceId-Bunv1-ta.js} +1 -1
- package/dist/assets/useEmailConnectResultRefresh-DRqxGzlR.js +1 -0
- package/dist/assets/useInitialThreadRequest-BR_6LodZ.js +1 -0
- package/dist/assets/{useTaskManagerAccess-Boniioo_.js → useTaskManagerAccess-3mEVnK_N.js} +1 -1
- package/dist/assets/{utils-DQ0YEP-f.js → utils-CHDSUF0P.js} +1 -1
- package/dist/assets/withTransactionSidePanel-DRyJqOb1.js +25 -0
- package/dist/assets/{zeni-epic-state-DVQQo6UD.js → zeni-epic-state-DzFY1eNZ.js} +5 -5
- package/dist/index.html +1 -1
- package/package.json +4 -4
- package/dist/assets/AccountMappingScreen-B8Z5Jukp.js +0 -9
- package/dist/assets/AddressRoutes-AB7f2rQK.js +0 -1
- package/dist/assets/AiCfoScreen-bXnwas9y.js +0 -22
- package/dist/assets/AppDrawer-Bc0CsVN9.js +0 -10
- package/dist/assets/CustomerOnboardingAuthScreen-Cp-54_Na.js +0 -1
- package/dist/assets/DomesticWireDetailScreen-CI14rSQG.js +0 -18
- package/dist/assets/DrawerScreen-D4sZ0x81.js +0 -1
- package/dist/assets/EntityDetailRoutes-iu3nvuUO.js +0 -1
- package/dist/assets/ExpenseAutomationRoutes-BcV9yLxC.js +0 -38
- package/dist/assets/FeaturePreviewScreen-BRYywZxe.js +0 -1
- package/dist/assets/HubSpotOAuthCallbackScreen-fyIv5A_N.js +0 -1
- package/dist/assets/InvoicingRoutes-Dcjbiv_o.js +0 -2
- package/dist/assets/MagicLinkSignInScreen-D0umlmyl.js +0 -12
- package/dist/assets/NotFoundScreen-BZ7M6wRY.js +0 -1
- package/dist/assets/NotificationRoutes-P9DoW6gN.js +0 -1
- package/dist/assets/OAuthConsentScreen-BKn6Nxeb.js +0 -1
- package/dist/assets/PeopleRoutes-D6QzTTon.js +0 -22
- package/dist/assets/PerformanceRoutes-JzQ8nQOx.js +0 -1
- package/dist/assets/ReportsRoutes-Cq8Nmx-s.js +0 -1
- package/dist/assets/RewardsRoutes-D5AiHAwp.js +0 -1
- package/dist/assets/ScheduleDetailsPrepaidExpensesScreen-BWl6soT-.js +0 -25
- package/dist/assets/ScreenRoutes-DcyDHL-V.js +0 -2
- package/dist/assets/SignInScreen-7BmIPffr.js +0 -1
- package/dist/assets/SignOutScreen-CkhaclxF.js +0 -9
- package/dist/assets/TaskListScreen-DBk5pNZk.js +0 -9
- package/dist/assets/TransactionDetailRoutes-BL6LPgyb.js +0 -1
- package/dist/assets/TransactionListRoutes-DwAAMpvf.js +0 -1
- package/dist/assets/TreasuryRoutes-CW1AM8Em.js +0 -37
- package/dist/assets/VendorsRoutes-BkMbhAF5.js +0 -88
- package/dist/assets/WiseConfirmationScreen-BWYKTltN.js +0 -12
- package/dist/assets/ZeniAccountStatementScreen-DSVS1O6h.js +0 -9
- package/dist/assets/getLocaleForTenant-CyZtaI04.js +0 -1
- package/dist/assets/routePaths-D2W1iWQZ.js +0 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-BrGfKrOJ.js +0 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-buoAy4Wo.js +0 -1
- package/dist/assets/useChargeCardPusherEvents-29AHMbXs.js +0 -1
- package/dist/assets/useEmailConnectResultRefresh-a5BahjbB.js +0 -1
- package/dist/assets/useInitialThreadRequest-BmsCi-c4.js +0 -1
- package/dist/assets/withTransactionSidePanel-Bd8MYkO_.js +0 -25
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import{j as d}from"./liveblocks-DOBkg1D1.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-D5xlmXJj.js";import{fB as L,V6 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,Vq as Pn,lk as On,WD as Fn,bn as Je,WE as ra,W4 as ue,bc as ia,ly as ca,lh as la,W6 as me,W5 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 Wn,WU as _t,U2 as kt,tx as Te,lX as xe,DO as yt,zz as $n,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 Wt,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 $t,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-DVQQo6UD.js";import{z as V,av as oe,p as j,j as D,G as q,bb as Bo,as as Ge,a8 as Ye,bc as wa,S as W,bd as Mo,be as Pa,E as Uo,bf as Lo,bg as Vo,a as Oa,a1 as Fa,d as ja,ar as Go,bh as Yo,ao as No,O as we,bi as Ra,s as ce,bj as Ba,bk as Ma,au as Ua,bl as Wo,ai as Ne,V as We,y as G,bm as $o,W as zo,h as Xo,a4 as Ko,aq as qo,bn as Qo,bo as Ho,bp as Zo,bq as Ie}from"./index-waurk8Yr.js";import{n as Tt}from"./mui-DpenkF9f.js";import{a as b}from"./sentry-B0nIwgR6.js";import{w as La}from"./withTransactionSidePanel-Bd8MYkO_.js";import{c as Va,t as Pe,f as he,b as xt,a as wt,v as Jo}from"./routePaths-D2W1iWQZ.js";import{u as se}from"./useAskAiCfoHostNavButtonProps-buoAy4Wo.js";import Be from"./NotFoundScreen-BZ7M6wRY.js";import{u as Pt}from"./useInitialThreadRequest-BmsCi-c4.js";import{t as Ga}from"./analyticsHelper-CGHyb6cb.js";import{C as es}from"./CompanyPassportScreen-wR6Twi6v.js";import{u as ts}from"./useAiCfoDashboardSuggestedQuestionsChips-BrGfKrOJ.js";import{F as as}from"./FeaturePreviewScreen-BRYywZxe.js";import"./recharts-CcOTx_Jj.js";import"./analytics-Cuu7a7XR.js";import"./plaid-D5L6VoNT.js";import"./dnd-DN-HQej8.js";import"./stripe-cKAAJElX.js";import"./lottie-o0tP_TXQ.js";import"./lexical-DDQ51-Oa.js";import"./pdf-DIMTd5ya.js";import"./utils-DQ0YEP-f.js";import"./TransactionDetailScreen-CsnmL0BT.js";import"./decodeURIComponentSafe-N0xRs_hS.js";import"./expenseAutomationHelper-BchoKsfU.js";import"./MobileAppDrawer-DCgsEnVh.js";import"./InboxNotificationsProvider-B9BL9-5c.js";import"./useTaskManagerAccess-Boniioo_.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]="3204a838-06de-4b42-96a9-62bd6f70dc56",e._sentryDebugIdIdentifier="sentry-dbid-3204a838-06de-4b42-96a9-62bd6f70dc56")}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(W.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(W.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`
|
|
1
|
+
import{j as d}from"./liveblocks-QA8yK6T_.js";import{i as K,j as _,g as H,u as z,h as J,l as ne,k as oa,n as ft,o as F,N as yn}from"./core-OUhaP0nM.js";import{fB as L,Vc as He,bE as sa,br as Ee,Wp as vn,k6 as An,Wq as Gt,Wr as In,k9 as gt,Ws as qe,Wt as En,ke as Tn,Wu as Yt,Wv as Dn,ki as bt,Ww as Qe,Wx as xn,Wy as wn,Vw as Pn,lk as On,Wz as Fn,bn as Je,WA as ra,V0 as ue,bc as ia,ly as ca,lh as la,V2 as me,V1 as ae,fA as da,g6 as jn,gm as Ct,WB as Rn,WC as Bn,WD as ua,WE as Oe,Df as Me,Dg as Ue,DE as Te,Dy as pe,Dk as Le,WF as Mn,b_ as Ve,WG as Un,WH as Ln,WI as ma,WJ as Fe,WK as Vn,e8 as et,zs as pa,WL as Gn,WM as ha,WN as Yn,WO as Nn,WP as Wn,WQ as St,T_ as kt,tx as De,lX as xe,DO as yt,zz as $n,zG as zn,WR as Xn,WS as Kn,Dh as Nt,WT as qn,zv as Ae,zq as fa,WU as be,WV as Wt,WW as Qn,WX as vt,TZ as At,BD as ga,WY as Zn,WZ as ba,W_ as Hn,W$ as Jn,X0 as eo,X1 as It,BS as to,BZ as ao,X2 as no,X3 as oo,Dj as $t,X4 as so,BB as Ca,X5 as Ce,X6 as zt,X7 as ro,bq as _a,DT as Sa,X8 as io,X9 as ka,Xa as co,Xb as lo,Xc as uo,Xd as Et,DL as mo,DN as po,Xe as ho,Xf as fo,Di as Xt,Xg as go,DR as ya,Xh as _e,Xi as Kt,Xj as bo,Xk as Co,Xl as va,lM as Aa,pT as Ia,lR as Ea,pR as Ta,pQ as Da,pP as xa,A_ as _o,d8 as So,pM as ko,Tn as yo,q1 as vo,Xm as Ao,Xn as Io,Xo as Eo,b5 as Tt,pX as To,i9 as Do,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-DzFY1eNZ.js";import{z as V,at as oe,p as j,h as T,G as q,b9 as Bo,aq as Ge,a6 as Ye,ba as wa,Q as W,bb as Mo,bc as Pa,E as Uo,bd as Lo,be as Vo,a as Oa,$ as Fa,d as ja,ap as Go,bf as Yo,am as No,O as we,bg as Ra,q as ce,bh as Ba,bi as Ma,as as Ua,bj as Wo,ag as Ne,V as We,y as G,bk as $o,W as zo,g as Xo,a2 as Ko,ao as qo,bl as Qo,bm as Zo,bn as Ho,bo as Ie}from"./index-BjnriIg-.js";import{n as Dt}from"./mui-BtZD__8k.js";import{a as b}from"./sentry-DX8X0N2R.js";import{w as La}from"./withTransactionSidePanel-DRyJqOb1.js";import{c as Va,t as Pe,f as he,b as xt,a as wt,v as Jo}from"./routePaths-Cz-sxWeK.js";import{u as se}from"./useAskAiCfoHostNavButtonProps-B4mPUD91.js";import Be from"./NotFoundScreen-CBOeKuhG.js";import{u as Pt}from"./useInitialThreadRequest-BR_6LodZ.js";import{t as Ga}from"./analyticsHelper-CDqT9wg1.js";import{C as es}from"./CompanyPassportScreen-C-SlqPHT.js";import{u as ts}from"./useAiCfoDashboardSuggestedQuestionsChips-CCxuDvI3.js";import{F as as}from"./FeaturePreviewScreen-h7p9MMUf.js";import"./recharts-CnI5kYGO.js";import"./analytics-drf9tsEq.js";import"./plaid-Bbika4Gn.js";import"./dnd-XtKnRPbJ.js";import"./stripe-cKAAJElX.js";import"./lottie-DaBLQBPb.js";import"./lexical-cGeYDtsl.js";import"./pdf-BMGNA2GO.js";import"./utils-CHDSUF0P.js";import"./TransactionDetailScreen-B1_fDc_7.js";import"./decodeURIComponentSafe-CoJI0rbl.js";import"./expenseAutomationHelper-DlI9q6Vn.js";import"./MobileAppDrawer-DLiH8K3Y.js";import"./InboxNotificationsProvider-Y2y35nP6.js";import"./useTaskManagerAccess-3mEVnK_N.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]="99f6e81a-4d70-4738-8896-082e0554304b",e._sentryDebugIdIdentifier="sentry-dbid-99f6e81a-4d70-4738-8896-082e0554304b")}catch{}})();const ns=La((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=V.getSignedInUser(),i=_((E=>E.tenantState.currentTenantId)),l=_((E=>L(E))),{tenantEmailDomain:m}=K(),p=H(),h=l?.companyName??"",f={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},c=b.useMemo((()=>({authParams:f,companyName:h,downloadEndPoint:`${oe}/agingDetailedReport`,timezone:He()})),[]),u=b.useMemo((()=>r!=null?sa(r):Ee()),[r]),C=z(),g=J(),k=_((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"})}),[]),S=b.useCallback(((E,B)=>{C(Gt({sortKey:E,sortOrder:B}))}),[]),D=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&&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:S,updateDownloadStateHandler:D,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),os=()=>{const e=z(),a=J(),t=_((S=>In(S))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=se({mobileExploreReferrer:"AP Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=V.getSignedInUser(),s=_((S=>S.tenantState.currentTenantId)),i=_((S=>L(S))),l=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},p=b.useMemo((()=>({authParams:m,companyName:l,downloadEndPoint:`${oe}/agingReport`,timezone:He()})),[]),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((S=>{e(qe({searchString:S}))}),[]),C=b.useCallback(((S,D)=>{e(qe({sortKey:D,sortOrder:S}))}),[]),g=b.useCallback((S=>{a(`./${S}/${h.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[h]),k=b.useCallback((S=>{e(qe({downloadState:S}))}),[]),I=b.useCallback(((S,D)=>{}),[]),v=b.useCallback(((S,D)=>{e(qe({selectedDate:S,agingDateSelectionType:D})),e(gt(S))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:S=>S.trackPageLoaded(W.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}=K(),s=V.getSignedInUser(),i=_((x=>L(x))),{tenantEmailDomain:l}=K(),m=H(),p=i.companyName,h={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},f=b.useMemo((()=>({authParams:h,companyName:p,downloadEndPoint:`${oe}/agingDetailedReport`,timezone:He()})),[]),c=b.useMemo((()=>r!=null?sa(r):Ee()),[r]),u=z(),C=J(),g=_((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}))}),[]),S=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:S,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),rs=()=>{const e=z(),a=J(),t=_((v=>Dn(v))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=se({mobileExploreReferrer:"AR Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=V.getSignedInUser(),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:He()})),[]),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,S)=>{e(Qe({sortKey:S,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,S)=>{e(Qe({selectedDate:v,agingDateSelectionType:S})),e(bt(v))}),[]),I=b.useCallback(((v,S)=>{e(xn({nodeId:v,isCollapsed:S}))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:v=>v.trackPageLoaded(W.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 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:T}}),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:T}}),Na)(Pa);function ls(){const e=J(),a=H(),{tenantEmailDomain:t}=K(),n=_((o=>L(o).company?.companyInfo.firstMonthOfFY??1));return _((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=H(),{tenantEmailDomain:t}=K(),n=_((o=>L(o).company?.companyInfo.firstMonthOfFY??1));return _((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`
|
|
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=Dt.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}=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(W.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(W.Event.cardBalance);break;case"cash_balance":u.trackPageLoaded(W.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 $e(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=Wo,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=$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: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=$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=Gn(e),n=ha(e),o=Yn(e),r=Nn(e),s=Wn(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&&$(!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(Wt({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(be({scrollPosition:t})):e(Wt({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&&$(!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(Nt({viewMode:t})),e(qn({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(Kn({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(Xn({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=Ne(),{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=>Te(y))),v=S((y=>ha(y).uiState.accountViewMode)),_=p.mode==="compare_mode",T=C.dataAvailable;b.useEffect((()=>{if(c!=null&&h===!0&&($(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=We(),{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&&$(!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=Ne(),{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=>Te(w))),v=S((w=>ba(w).uiState.accountViewMode)),_=p.mode==="compare_mode",T=C.dataAvailable;b.useEffect((()=>{if(c!=null&&h===!0&&($(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=We(),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&&$(!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&&$(!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(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=$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=>Te(y))),_=S((y=>ka(y).uiState.accountViewMode)),T=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=We(),{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("../")}}}))($o),Os=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Ps,{tenantEmailDomain:a,location:t,navigate:n})},Fs=Tt.div`
|
|
13
|
+
`;function ps({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=J(),i=z(),l=H(),{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&&T?.trackSearch(W.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=H(),a=z(),t=_((c=>c.cashBalanceState.fetchState)),n=_((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=_((c=>c.entityAutoCompleteState.autoCompleteText.navbar)),f=_((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(W.Event.cardBalance);break;case"cash_balance":u.trackPageLoaded(W.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 $e(e){const{mobileExploreReferrer:a}=e,t=z(),n=J(),o=H(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Oa(),l=Fa(),m=Ua(l),p=oa(),h=_((R=>R.tenantState.fetchState==="Completed"||R.tenantState.activeTenantFetchState.fetchState==="Completed"?L(R):void 0)),f=h?.masterTOSInfo?.isMasterTOSAccepted??!1,c=_((R=>da(R))),u=c.uiState?.currentChatSessionId,C=c.allSessionsWithOrderedQuestionAnswers??fs,g=V.getSignedInUser()?.userId,k=ja(),I=Go()&&k&&r!=null,v=Yo(),S=No(!0),D=_((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"&&(S||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: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=Wo,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=Ne(),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=se({mobileExploreReferrer:"DashboardCashInCashOut"}),i=$e({mobileExploreReferrer:"DashboardCashInCashOut"}),l=_((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}},_s=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),Ss=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=Ne(),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=se({mobileExploreReferrer:"DashboardCashPosition"}),i=$e({mobileExploreReferrer:"DashboardCashPosition"}),l=_((m=>ma(m))).mode==="compare_mode";return d.jsx(_s,{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=Gn(e),n=ha(e),o=Yn(e),r=Nn(e),s=Wn(e),i=St(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(Qn(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(Wt({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(be({scrollPosition:t})):e(Wt({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&&$(!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(Nt({viewMode:t})),e(qn({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(Kn({classesToFilterOut:t}))},onUpdateProjectsToFilterOut:t=>{e(Xn({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=Ne(),{isAiCfoAccessEnabled:i,onAskAiCfoClick:l}=se({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),m=$e({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),p=_((y=>St(y))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=_((y=>vt(y.forecastState,c??""))),C=_((y=>pa(y))),g=_((y=>At(y))),k=_((y=>xe(y))),I=_((y=>De(y))),v=_((y=>ha(y).uiState.accountViewMode)),S=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=We(),{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:S,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=Zn(e),n=ba(e),o=Hn(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=Ne(),{isAiCfoAccessEnabled:i,onAskAiCfoClick:l}=se({mobileExploreReferrer:"DashboardOpEx"}),m=$e({mobileExploreReferrer:"DashboardOpEx"}),p=_((w=>It(w))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=_((w=>vt(w.forecastState,c??""))),C=_((w=>ga(w))),g=_((w=>At(w))),k=_((w=>xe(w))),I=_((w=>De(w))),v=_((w=>ba(w).uiState.accountViewMode)),S=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=We(),x=P?.loggedInUserRole!=null&&_a(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:S,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=Sa(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(_e({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Le(t,n)),e(_e({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(pe(a.firstMonthOfFY,t)),e(_e({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(_e({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(_e({nodeCollapseState:{nodeId:t,isCollapsed:n}})):e(Kt({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{a.accountViewMode!=="project"?e(_e({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&&$(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):$(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(_e({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=$e({mobileExploreReferrer:"DashboardRevenue"}),p=_((y=>Et(y))),h=p.isForecastModeOn,f=p.timeframe,c=p.selectedForecast?.id,u=_((y=>vt(y.forecastState,c??""))),C=_((y=>Sa(y))),g=C.dataAvailable,k=p.mode==="compare_mode",I=_((y=>xe(y))),v=_((y=>De(y))),S=_((y=>ka(y).uiState.accountViewMode)),D=_((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=We(),{useFeatureGate:x}=we(),{isFeatureEnabled:E}=x(G.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:S,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(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("../")}}}))($o),Os=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Ps,{tenantEmailDomain:a,location:t,navigate:n})},Fs=Dt.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}=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(W.Event.operatingExpenses,g);break;case"revenue":u.trackPageLoaded(W.Event.revenues,g);break;case"net_burn_or_income":u.trackPageLoaded(W.Event.burnRate,g);break;case"cash_position":u.trackPageLoaded(W.Event.cashPosition,g);break;case"top_expenses":u.trackPageLoaded(W.Event.topExpenses,g);break;case"cash_in_cash_out":u.trackPageLoaded(W.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 Wa(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?Wa(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=$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=Wa(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=$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 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),Ws(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=We(),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(W.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 Ws=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=We(),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};
|
|
20
|
+
`;function js({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=J(),r=H(),{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(Ss,{...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=H(),a=z(),{forecastId:t}=K();let n="Not-Started";const o=_((c=>It(c).fetchState)),r=_((c=>Et(c).fetchState)),s=_((c=>St(c).fetchState)),i=_((c=>c.cashPositionState.fetchState)),l=_((c=>c.topExState.fetchState)),m=_((c=>c.cashInCashOutState.fetchState));if(V.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const p=_((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(W.Event.operatingExpenses,g);break;case"revenue":u.trackPageLoaded(W.Event.revenues,g);break;case"net_burn_or_income":u.trackPageLoaded(W.Event.burnRate,g);break;case"cash_position":u.trackPageLoaded(W.Event.cashPosition,g);break;case"top_expenses":u.trackPageLoaded(W.Event.topExpenses,g);break;case"cash_in_cash_out":u.trackPageLoaded(W.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 Wa(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},_t={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={},Ze=1;Ze<20;Ze++)Ot["f".concat(Ze)]=111+Ze;var O=[],Zt=!1,za="all",Ht=[],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?Wa(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=_t[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[_t[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=$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=Wa(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 Ht.indexOf(f)>-1})(s)&&window&&(Ht.push(s),lt(s,"keydown",(function(f){ta(f,s)}),h),Zt||(Zt=!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:_t};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,S;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||(S=C.current)!=null&&S.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: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),Gs=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 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: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(Ga(r),Ws(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"}})}}}}))(Ho);function Ns(){const e=oa(),a=Fa(),t=Ua(a),{isAiCfoOpen:n,setIsAiCfoOpen:o,setAiCfoSidePanelQuestionToSubmit:r}=Oa(),s=J(),i=z(),l=H(),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)),D=S??V.getSignedInUserTenant(k),P=S?.masterTOSInfo?.isMasterTOSAccepted??!1,x=D.tenantId,E=D.companyId;b.useEffect((()=>{f===!1&&l.state?.message==="activation"&&(i(_o(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,Za]=b.useState(!1);Bs("command+p, Control+p",(A=>{Za(!nt),A.preventDefault()}),{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[nt]);const Rt=S?.externalConnections?.accounting[0]?.isValid;if(m==null)throw Error("Can't access dashboard without signing in...");const fe=_((A=>L(A)?.excludedResources)),Ha=_((A=>A.expenseAutomationViewState.selectedPeriodByTenantId)),Ja=!!S?.companyReimbursementInfo?.info?.isReimbursementEnabled,en=!!S?.companyBillPayInfo?.info?.isBillPayEnabled,tn=We(),X=[],Bt=fe?.resources?.find((A=>A.resource==="/reports/top_expenses"))==null,an=fe?.resources?.find((A=>A.resource==="/reports/task_card"))==null,Mt=S?.userRole!=null&&_a(S?.userRole),nn=fe?.resources?.find((A=>A.resource==="/bills"))==null&&!Mt,on=fe?.resources?.find((A=>A.resource==="/reimbursements"))==null,sn=So(tn?.loggedInUserRoleMap),rn=S?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,cn=S?.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=_((A=>A.reportUIOptionsState.forecastOnDashboard.isForecastModeOn)),dn=_((A=>A.revenueState.uiState.selectedForecast?.id)),un=_((A=>A.cardBalanceState.fetchState)),ge=_((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=_((A=>da(A))),Se=Lt.uiState?.currentChatSessionId,ot=Lt.allSessionsWithOrderedQuestionAnswers??Ms,{currentSessionQuestionAnswers:bn}=Qo(ot,Se),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 Z=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:!Z&&Y.length>0,aiCfoInitialSubmissionSource:pt,...typeof ee=="number"?{aiCfoSuggestionIndex:ee}:{}}})};return t?Q.length>0?void o(!0):void ye():Q.length>0?Z?(i(Ct(Y)),void o(!0)):(r(Y.length>0?Y:null),o(!0),void(Y.length>0&&Ma(i,Y,pt,Se,ot,ke,ee,Q.length>0?Q:void 0))):(Z&&i(Ct(Y)),void ye())}),[ot,Se,i,P,t,l,s,r,o,m?.userId,e,k]),_n=b.useCallback((()=>{P?o(!0):ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}})}),[P,l,s,o]),Sn=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||S==null)return;const A=Se==null||Vt?`/${k}/ai-cfo/explore`:`/${k}/ai-cfo/${Se}`,Q=l.state?.pathnameStackToGoBack??[],ee=j(Q,l.pathname);s(A,{state:{...l.state,pathnameStackToGoBack:ee,[Zo]:!0}})}else ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}});else ce({location:l,navigate:s,mergeState:{referrer:"Dashboard"}})}),[P,t,l,s,k,S,Se,Vt]);return d.jsxs(d.Fragment,{children:[mn==="Completed"?d.jsx(Ye,{analytics:T,onLoad:A=>{A.trackPageLoaded(W.Event.dashboard)}}):null,d.jsx(Ys,{maxColumns:n?2:void 0,isAiCfoAccessEnabled:I,onAskAiCfoClick:v,onAiCfoDashboardOpenPanel:_n,onAiCfoDashboardOpenScopePage:kn,isAiCfoFileUploadEnabled:Ke===!0&&t===!1,onAiCfoDashboardPromptSubmit:Cn,onAiCfoDashboardExpandToFullPage:Sn,aiCfoDashboardShouldClearPromptOnSubmit:P,aiCfoDashboardSuggestedPromptQuestions:gn,aiCfoDashboardSuggestedPromptQuestionsLoading:fn,onDragAndDropCard:(A,Q)=>{if(A===te||Q===te)return;const ee=(function(Z,ye,ve){const st=ve.indexOf(Z),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,Z),it})(A,Q,pn),ke=ee.filter((Z=>Z!==te)),Y=ge.cardsOrdered;(ke.length!==Y.length||ke.some(((Z,ye)=>Z!==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:Ha[x],isChargeCardFeatureEnabled:ie,isUserHasCardsAccess:sn,cardsCreditLimit:rn,cashbackRate:qa,isInterestedInChargeCard:cn,cardBalanceFetchState:un,christmasAnimationEnabled:at,newYearAnimationEnabled:Xa,aiAuditScorePercentageEnabled:Ka})]})}const Ws=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=We(),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=_((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-QA8yK6T_.js";import{a as u}from"./sentry-DX8X0N2R.js";import{u as y,j as b,l as w,g as A,N}from"./core-OUhaP0nM.js";import{T9 as U,fB as _,gh as k,Ta as L,pO as R,Tb as z}from"./zeni-epic-state-DzFY1eNZ.js";import{u as O,z as f,L as C,t as I,G as j,b as $}from"./index-BjnriIg-.js";import"./mui-BtZD__8k.js";import{t as P}from"./getLocaleForTenant-aTGgtilb.js";import"./recharts-CnI5kYGO.js";import"./analytics-drf9tsEq.js";import"./plaid-Bbika4Gn.js";import"./dnd-XtKnRPbJ.js";import"./stripe-cKAAJElX.js";import"./lottie-DaBLQBPb.js";import"./lexical-cGeYDtsl.js";import"./pdf-BMGNA2GO.js";import"./utils-CHDSUF0P.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};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{j as l}from"./liveblocks-QA8yK6T_.js";import{h as w,g as C,j as h,l as A,i as P}from"./core-OUhaP0nM.js";import{Y2 as k,Y9 as _,gD as L,gC as J,gB as K,kL as M,V1 as W,u9 as X,fB as V,XB as D,kJ as T,Y3 as S,Yc as F,kH as G,l2 as j}from"./zeni-epic-state-DzFY1eNZ.js";import{bK as q,$ as R,O as N,z as U,E as H,a2 as p,y as v,a5 as O,bL as Q,H as Y,bM as ee,p as te}from"./index-BjnriIg-.js";import{n as Z}from"./mui-BtZD__8k.js";import"./sentry-DX8X0N2R.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="07495fc2-c665-4f99-b156-540b8dc981de",e._sentryDebugIdIdentifier="sentry-dbid-07495fc2-c665-4f99-b156-540b8dc981de")}catch{}})();const ne=A(null,(function(e,t){return{onSaveVendor:n=>{e(M(t.vendorId!==void 0?t.vendorId:void 0,t.billId,void 0,t.isExpressPayPage)),e(W("common")),n!=null&&e(X(n))},onGetOtp:n=>{e(K(n,"BillPayVendor"))},onResendOtp:n=>{e(J(n,"BillPayVendor"))},onVerifyOtp:(n,a)=>{e(L(n,a,"BillPayVendor"))},onVerifyOtpSuccess:(n,a,o)=>{e(_(n,a,o))}}}))(q);function z({vendorId:e,billId:t,isExpressPayPage:n}){const a=w(),o=C(),s=h((r=>k(r,e)));return l.jsx(ne,{location:o,navigate:a,vendorId:e,billId:t,vendorViewDetails:s,isExpressPayPage:n??!1})}const ae=Z.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
height: 100vh;
|
|
4
|
+
width: 100%;
|
|
5
|
+
flex: 1 1 auto;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
align-items: center;
|
|
8
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
9
|
+
`,oe=A((function(e,t){const{vendorId:n,billId:a}=t,o=k(e,n),s=D(e,t.isVendorRecommendationEnabled,t.isZeniAccountsFeatureEnabled,a);return{billId:a,isDisabled:o.bankAccountCreationState.fetchState==="In-Progress"?"readonly":void 0,vendorViewDetails:o,file:s.file,bankAccountContext:t.bankAccountContext}}),(function(e,t){const{navigate:n,location:a,vendorId:o}=t;return{onFetchBankName:s=>{e(j(s))},onSaveHandler:s=>{e(G(t.bankAccountContext,s,"standard",o))},onCancel:()=>{(()=>{const s=p(a.state?.pathnameStackToGoBack),r=s.poppedPathname??E();n(r,{state:{pathnameStackToGoBack:s.newStack}})})(),e(S())},onACHDetailsUpdated:s=>{const{bankAccountSection:r}=s;e(F({data:r}))},onBackClick:()=>{if(e(T({fetchState:"Not-Started"})),t.bankAccountContext==="express-pay")n("../",{relative:"path"});else{const s=p(t.location.state?.pathnameStackToGoBack),r=s.poppedPathname??E(0);t.navigate(r,{state:{pathnameStackToGoBack:s.newStack}})}e(S())}}}))(Q);function fe({vendorIdParam:e,accountContext:t}){const n=w(),a=C(),o=R(),{vendorId:s,billId:r}=P(),i=e??s,{useFeatureGate:c}=N(),d=U.getSignedInUser(),b=h((u=>V(u))),g=H(),x=p(a.state?.pathnameStackToGoBack),f=t??(x.poppedPathname?.includes("vendor")===!0?"vendor":"billDetail"),m=h((u=>k(u,i))),{isFeatureEnabled:I}=c(v.isVendorRecommendationFeatureEnabled),{isFeatureEnabled:y}=c(v.isDepositAccountsFeatureEnabled);if(d==null)throw Error("Can't access address page without signing in...");return f==="billDetail"&&m.editVendorState?.saveStatus.fetchState==="In-Progress"?l.jsx(O,{fetchState:m.editVendorState?.saveStatus.fetchState??"Not-Started",style:{backgroundColor:g.colors.grey5}}):l.jsxs(ae,{windowSize:o,children:[l.jsx(z,{vendorId:i,billId:r}),l.jsx(oe,{location:a,navigate:n,billId:r,vendorId:i,currentTenant:b,bankAccountContext:f,isVendorRecommendationEnabled:I,isZeniAccountsFeatureEnabled:y})]})}const E=(e=2)=>{let t="../";for(let n=0;n<e;n++)t=`${t}../`;return t},me=(e,t,n)=>{let a=`/${e}/bill/${encodeURIComponent(t)}`;return n=="draft"&&(a+="/edit"),a},he=e=>`/${e}/bills`,ke=(e,t)=>{let n=`/${e}/bill`;return n=t!=null?n.concat(`/${t}/edit`):n.concat("/new"),n},B=(e,t,n,a)=>{let o=`/${e}/bill`;return o+=n!=null?`/${n}/edit/vendor`:"/new/vendor",o+=a!=null?`/${a}/edit/${t}`:`/create/${t}`,o};function Se(e,t,n){return B(e,"ach",t,n)}function ve(e,t,n){return B(e,"domestic",t,n)}function ge(e,t,n){return B(e,"international",t,n)}const se=(e,t,n)=>{let a=`/${e}/bill/`;return a=n!=null?a.concat(`${encodeURIComponent(n)}/${t}/`):a.concat(`new/${t}/`),a},ce=Z.div`
|
|
10
|
+
display: flex;
|
|
11
|
+
height: 100vh;
|
|
12
|
+
width: 100%;
|
|
13
|
+
flex: 1 1 auto;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
align-items: center;
|
|
16
|
+
background-color: ${e=>e.theme.colors.grey4};
|
|
17
|
+
box-shadow: ${e=>`0px 2px ${Y.sp1} ${e.theme.colors.dropShadowNormal}`};
|
|
18
|
+
`,re=A((function(e,t){const{vendorId:n,billId:a}=t,o=k(e,n),s=D(e,t.isVendorRecommendationEnabled,t.isZeniAccountsFeatureEnabled,a);return{billId:a,isDisabled:o.bankAccountCreationState.fetchState==="In-Progress"?"readonly":void 0,vendorViewDetails:o,file:s.file,bankAccountContext:t.bankAccountContext}}),(function(e,t){const{billId:n,navigate:a,location:o,vendorId:s,currentTenant:r}=t,{tenantEmailDomain:i}=r;return{onFetchBankName:c=>{e(j(c))},onSaveHandler:c=>{e(G(t.bankAccountContext,c,"us-domestic",s))},onWireDetailsUpdated:c=>{const{bankAccountSection:d}=c;e(F({data:d}))},onCancel:()=>{(()=>{const c=p(o.state?.pathnameStackToGoBack),d=c.poppedPathname??$();a(d,{state:{pathnameStackToGoBack:c.newStack}})})(),e(S())},onAddressClick:c=>{if(t.bankAccountContext==="express-pay")a("./add-address");else{const d=se(i,c,n),b=te(o.state?.pathnameStackToGoBack,o.pathname);a(d,{state:{pathnameStackToGoBack:b}})}},onBackClick:()=>{if(e(T({fetchState:"Not-Started"})),t.bankAccountContext==="express-pay")a("../",{relative:"path"});else{const c=p(t.location.state?.pathnameStackToGoBack),d=c.poppedPathname??$(0);t.navigate(d,{state:{pathnameStackToGoBack:c.newStack}})}e(S())}}}))(ee);function xe({vendorIdParam:e,accountContext:t}){const n=w(),a=C(),o=R(),{vendorId:s,billId:r}=P(),i=e??s,c=U.getSignedInUser(),{useFeatureGate:d}=N(),b=H(),g=h((u=>V(u))),x=p(a.state?.pathnameStackToGoBack),f=t??(x.poppedPathname?.includes("vendor")===!0?"vendor":"billDetail"),m=h((u=>k(u,i))),{isFeatureEnabled:I}=d(v.isVendorRecommendationFeatureEnabled),{isFeatureEnabled:y}=d(v.isDepositAccountsFeatureEnabled);if(c==null)throw Error("Can't access address page without signing in...");return f==="billDetail"&&m.editVendorState?.saveStatus.fetchState==="In-Progress"?l.jsx(O,{fetchState:m.editVendorState?.saveStatus.fetchState??"Not-Started",style:{backgroundColor:b.colors.grey5,boxShadow:`0px 2px ${Y.sp1} ${b.colors.dropShadowNormal}`}}):l.jsxs(ce,{windowSize:o,children:[l.jsx(z,{vendorId:i,billId:r}),l.jsx(re,{location:a,navigate:n,billId:r,vendorId:i,currentTenant:g,bankAccountContext:f,isVendorRecommendationEnabled:I,isZeniAccountsFeatureEnabled:y})]})}const $=(e=2)=>{let t="../";for(let n=0;n<e;n++)t=`${t}../`;return t};export{fe as A,xe as D,z as V,me as a,se as b,ke as c,ve as d,he as g,ge as i,Se as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./liveblocks-QA8yK6T_.js";import{$ as l,a9 as c,E as f}from"./index-BjnriIg-.js";import{D as p}from"./mui-BtZD__8k.js";import"./sentry-DX8X0N2R.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="2824c378-4612-492a-96d5-c25aed4d9576",e._sentryDebugIdIdentifier="sentry-dbid-2824c378-4612-492a-96d5-c25aed4d9576")}catch{}})();const u={drawerLeftMargin:new c(0,0,240)};function h(e){const{isOpen:r,drawerLeftMargin:o,children:t,onClose:a}=e,n=l(),s=o?.valuePx(n)??u.drawerLeftMargin.valuePx(n),d=f();return i.jsx(p,{anchor:"right",open:r,PaperProps:{style:{width:`calc(100% - ${s})`}},slotProps:{backdrop:{style:{backgroundColor:d.colors.black,opacity:.8,cursor:"pointer"}}},onClose:a,children:t})}export{h as D};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as s}from"./liveblocks-QA8yK6T_.js";import{a as d}from"./sentry-DX8X0N2R.js";import{h as V,u as G,g as A,i as q,j as l,N as F,l as R,n as W,o as N}from"./core-OUhaP0nM.js";import{W5 as _,fB as O,Vx as M,mX as X,Rt as I,Wa as Y,V0 as $,lX as z,Ru as S,VC as H,VD as J,V2 as K,V1 as L}from"./zeni-epic-state-DzFY1eNZ.js";import{b6 as Q,h as U,a2 as Z,p as tt}from"./index-BjnriIg-.js";import"./mui-BtZD__8k.js";import{d as k}from"./decodeURIComponentSafe-CoJI0rbl.js";import{w as et}from"./withTransactionSidePanel-DRyJqOb1.js";import{f as at,c as nt}from"./routePaths-Cz-sxWeK.js";import"./recharts-CnI5kYGO.js";import"./analytics-drf9tsEq.js";import"./plaid-Bbika4Gn.js";import"./dnd-XtKnRPbJ.js";import"./stripe-cKAAJElX.js";import"./lottie-DaBLQBPb.js";import"./lexical-cGeYDtsl.js";import"./pdf-BMGNA2GO.js";import"./utils-CHDSUF0P.js";import"./useAskAiCfoHostNavButtonProps-B4mPUD91.js";import"./TransactionDetailScreen-B1_fDc_7.js";import"./useInitialThreadRequest-BR_6LodZ.js";import"./expenseAutomationHelper-DlI9q6Vn.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new a.Error().stack;t&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[t]="d6888d25-15c1-42f6-bae3-fa13497d97e2",a._sentryDebugIdIdentifier="sentry-dbid-d6888d25-15c1-42f6-bae3-fa13497d97e2")}catch{}})();const ot=R((function(a,t){const e=t.entity,o=Y(a,t.entity,"EntityDetail");return{selectedEntity:e,autoCompleteData:{autoCompleteText:e.name,entityAutoCompleteView:$(a,"common")},trendWithTransactionsReport:o,analytics:U,isAccountingClassesEnabled:z(a)}}),(function(a,t){return{onTransactionItemClick:e=>{if(t.openTransactionPanel)return void t.openTransactionPanel(e.id,e.type);const o=`${nt(e,t.tenantEmailDomain)}`,c=tt(t.location.state?.pathnameStackToGoBack,t.location.pathname);t.navigate(o,{state:{pathnameStackToGoBack:c}})},autoCompleteActions:{onAutoCompleteInputChange:e=>{e.trim().length>=2?a(K({searchString:e,searchOrigin:"common"})):e.trim().length===0&&a(L("common"))},onAutoCompleteEntity:e=>{const o=at(e,t.tenantEmailDomain);a(H()),a(J()),t.resetTrendIsFetchedStates(),t.navigate(o,{replace:!0,state:{pathnameStackToGoBack:t.location.state?.pathnameStackToGoBack}})},onCancelAutoComplete:()=>{const e=Z(t.location.state?.pathnameStackToGoBack),o=e.poppedPathname??C();t.navigate(o,{state:{pathnameStackToGoBack:e.newStack}})}},onTrendSelectedPeriodChange:e=>{if(t.closeSidePanel?.(),e==null)t.defaultTransactionTimePeriod!=null&&a(S(t.entity,"EntityDetail",{timeframe:"quarter",timePeriod:t.defaultTransactionTimePeriod}));else{const o=e.currentTimePeriod==null?e.addTimePeriod:{startDate:e.addTimePeriod.startDate,endDate:e.currentTimePeriod.endDate};a(I(t.entity,"EntityDetail",{timeframe:e.timeframe,timePeriod:e.addTimePeriod})),a(S(t.entity,"EntityDetail",{timeframe:e.timeframe,timePeriod:o}))}}}}))(Q),it=et((function({entityType:a,...t}){const e=V(),o=G(),c=A(),[m,h]=d.useState(!1),[T,D]=d.useState(!1),{tenantEmailDomain:b,entityIdEncoded:x,entityNameEncoded:w}=q(),r=k(x??""),p=k(w??""),f=rt(r,p),j=[r,p].filter((n=>n!=null)),i={name:p,id:r,type:a,zeniId:r,qboId:r},g=l((n=>_(n.customerIncomeState,n.vendorExpenseState,n.trendState,i,"quarter"))),v=l((n=>O(n).company?.companyInfo.firstMonthOfFY??1)),u=l((n=>M(n.trendWithTransactionsState,i,"EntityDetail")));d.useEffect((()=>{m===!1&&f===!0&&(h(!0),o(X(i)))}),[m,f,i]);const E=l((n=>n.trendState.fetchState)),P=u?.selectedPeriod?.timePeriod??g,B=(function(n,y){return n!=null&&y!=null?{startDate:n.startDate,endDate:y?.endDate}:y})(u?.selectedPeriod?.timePeriod,g);return d.useEffect((()=>{m===!0&&T===!1&&E==="Completed"&&(D(!0),P!=null&&o(I(i,"EntityDetail",{timeframe:u?.selectedPeriod?.timeframe??"quarter",timePeriod:P})))}),[m,T,E]),f?s.jsx(ot,{firstMonthOfFY:v,tenantEmailDomain:b,location:c,navigate:e,entity:i,defaultTransactionTimePeriod:B,resetTrendIsFetchedStates:()=>{h(!1),D(!1)},...t}):s.jsx(F,{to:C(j.length)})})),rt=(a,t)=>t!=null&&t.length>0&&a!=null&&a.length>0,C=(a=2)=>{let t="../";for(let e=0;e<a;e++)t=`${t}../`;return t};function jt({entityType:a}){return s.jsx(W,{children:s.jsx(N,{path:"/:entityIdEncoded/:entityNameEncoded/*",element:s.jsx(it,{entityType:a})})})}export{jt as EntityDetailRoutes,jt as default};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import{j as T}from"./liveblocks-QA8yK6T_.js";import An from"./NotFoundScreen-CBOeKuhG.js";import{a as n,R as ka}from"./sentry-DX8X0N2R.js";import{n as Qe,S as vn}from"./mui-BtZD__8k.js";import{u as Ce,h as Ta,g as It,j as D,l as wn,t as Pn,i as Kt,n as xn,o as rt}from"./core-OUhaP0nM.js";import{fB as De,a0e as Rn,pY as Pe,Tp as Dn,zl as Fn,a0f as _n,a0g as Vn,a0h as Un,a0i as dt,a0j as Ge,gd as St,a0k as Xt,eJ as Bn,fY as Mn,a0l as Zt,a0m as qe,qP as On,uc as Ln,gP as jn,gN as zn,a0n as $n,r0 as Gn,r9 as qn,q7 as Nn,ql as ba,gM as le,gO as Jn,a0o as Yn,qH as ya,ra as Hn,qi as Wn,qd as Qn,ui as Kn,gL as xe,a0p as Ye,Bv as Ea,LO as Aa,a0q as va,a0r as Xn,fh as Zn,fj as eo,sd as gt,W6 as ea,W8 as to,l_ as ao,W9 as no,m5 as oo,dh as so,CO as Ct,a0s as co,a0t as io,s3 as lo,s4 as ro,UX as uo,Vc as mo,$I as po,qA as wa,rf as He,a0u as ho,V2 as ta,V1 as $e,a0v as aa,mm as So,a0w as go,a0x as Co,a0y as fo,a0z as Io,qv as ko,ri as Ne,a0A as To,a0B as bo,a0C as yo,rq as Eo,m9 as Ao,m0 as vo,a0D as wo,m8 as na,Wj as Po,a0E as xo,a0F as Ro,tP as Do,tq as Fo,rg as ue,tp as ut,a0G as _o,a0H as Vo,a0I as Uo,a0J as Bo,nF as Mo,br as Oo,nA as oa,nm as Lo,a0K as jo,gY as zo,nx as $o,sf as Go,sh as qo,EO as No,rY as Jo,Vf as Yo,Vg as Ho,Eg as Wo,Ef as Qo,Ew as Ko,a0L as sa,s2 as Xo,fg as ft,s8 as Zo,a0M as es,so as ts,rS as as,st as ns,rX as os,rB as ss,a0N as cs,Th as Pa,qT as is,qr as ls,qy as ca,rl as rs,a0O as ds,a0P as us,rh as xa,a0Q as ms,a0R as ps,a0S as hs,a0T as Ss,sx as gs,a0U as Cs,a0V as fs,a0W as ia,t_ as Is,th as ks,r$ as la,V0 as Ts,a0X as bs,a0Y as ys,m7 as Es,a0Z as As,Qu as vs,m6 as ws,lX as Ps,Tg as xs,sQ as Ra,ta as Rs,re as ra,rj as Ds,bE as Fs,nu as _s,nr as Vs,a0_ as Us,rA as da,t6 as ua,t4 as Bs,a0$ as Ms,sV as Os,sA as Ls,t7 as js,a10 as zs,a11 as $s,sG as Gs,a12 as qs,sB as Ns,sF as Js,sD as Ys,td as Hs}from"./zeni-epic-state-DzFY1eNZ.js";import{O as We,y as H,h as G,p as te,ao as Da,aq as Fa,dM as Ws,z as Ke,dN as Qs,dO as Ks,dP as Xs,ac as Re,dQ as Zs,dR as ma,b8 as pa,a5 as _a,dS as ec,g as Je,G as tc,w as ac,dT as nc,at as ha,dU as oc,a as sc,dV as cc,dW as ic,_ as lc,V as rc,dX as dc,dY as uc,dZ as mc,b2 as pc,bp as hc,a9 as Sc,b3 as gc,b4 as Cc}from"./index-BjnriIg-.js";import{u as Va}from"./useAskAiCfoHostNavButtonProps-B4mPUD91.js";import{g as Sa,h as fc,r as Ic,b as kc,c as Tc,i as bc,a as yc,C as Ec}from"./TransactionDetailScreen-B1_fDc_7.js";import{w as Ac}from"./withTransactionSidePanel-DRyJqOb1.js";import{h as vc,v as wc,c as Pc}from"./routePaths-Cz-sxWeK.js";import{a as mt}from"./accountMappingHelper-CJgy_TdU.js";import{D as xc}from"./DrawerScreen-Cq2VoXGn.js";import"./recharts-CnI5kYGO.js";import"./analytics-drf9tsEq.js";import"./plaid-Bbika4Gn.js";import"./dnd-XtKnRPbJ.js";import"./stripe-cKAAJElX.js";import"./lottie-DaBLQBPb.js";import"./lexical-cGeYDtsl.js";import"./pdf-BMGNA2GO.js";import"./utils-CHDSUF0P.js";import"./decodeURIComponentSafe-CoJI0rbl.js";import"./useInitialThreadRequest-BR_6LodZ.js";import"./expenseAutomationHelper-DlI9q6Vn.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]="50acc42e-8af3-431b-9104-7bc6e62666bd",t._sentryDebugIdIdentifier="sentry-dbid-50acc42e-8af3-431b-9104-7bc6e62666bd")}catch{}})();const Rc=()=>{const t=Ce(),s=Ta(),P=It(),C=D((m=>De(m))),{useFeatureGate:f}=We(),{isFeatureEnabled:r}=f(H.isRealtimeInsightsFeatureEnabled),{isFeatureEnabled:u}=f(H.aiAuditScorePercentage),R=D((m=>m.expenseAutomationViewState.selectedPeriodByTenantId)),i=D((m=>Rn(m,C.tenantId))),{isAiCfoAccessEnabled:g,onAskAiCfoClick:b}=Va({mobileExploreReferrer:"Month-End Close Overview"}),w=n.useCallback(((m,M,K=!1)=>{t(Pe({tenantId:M,period:{month:m.month,year:m.year},refreshViewInBackground:K}))}),[]),y=n.useCallback((m=>{const M=P.state?.referrer;i.monthEndCloseChecks?.auditSummary!=null&&G.trackMonthCloseAuditPage(m.month,m.year,i.monthEndCloseChecks.reportEmailSentDate!=null?"closed":"in-review",i.monthEndCloseChecks.auditSummary.auditScorePercentage,!1,M??null),t(Dn(C.tenantId,m))}),[C.tenantId,i.monthEndCloseChecks?.auditSummary,i.monthEndCloseChecks?.reportEmailSentDate]),p=R[C.tenantId],c=n.useCallback((()=>{const m=P.state?.referrer;i.monthEndCloseChecks?.auditSummary!=null&&G.trackMonthCloseAuditPage(p.month,p.year,i.monthEndCloseChecks.reportEmailSentDate!=null?"closed":"in-review",i.monthEndCloseChecks.auditSummary.auditScorePercentage,!0,m??null),w(p,C.tenantId,!0)}),[w,p,C.tenantId,i.monthEndCloseChecks?.auditSummary,i.monthEndCloseChecks?.reportEmailSentDate]),$=te(P.state?.pathnameStackToGoBack,P.pathname),I=n.useCallback((()=>{if(i.monthEndCloseChecks!=null&&p!=null){const m=i.monthEndCloseChecks.monthEndCloseCheckList.find((M=>M.progress<100));if(m!=null)return void s(`./${m.id}/${p.month}-${p.year}`,{state:{pathnameStackToGoBack:$,message:"comingFromOverview"}});s(`./month_end_insights/${p.month}-${p.year}`,{state:{pathnameStackToGoBack:$,message:"comingFromOverview"}})}}),[i.monthEndCloseChecks,p]),{areTenantIdsInSync:v}=Da();return Fa({isDataReady:i.fetchState==="Completed"}),n.useEffect((()=>{p!=null&&i.fetchState!=="In-Progress"&&i.fetchState!=="Completed"&&v&&w(p,C.tenantId)}),[w,p,i.fetchState,C.tenantId,v]),n.useEffect((()=>{p!=null&&i.monthClosePerformanceTrendFetchStatus.fetchState!=="In-Progress"&&i.monthClosePerformanceTrendFetchStatus.fetchState!=="Completed"&&v&&t(Fn(p))}),[p,i.monthClosePerformanceTrendFetchStatus.fetchState,v]),n.useEffect((()=>{const m=setInterval((()=>{i.fetchState!=="In-Progress"&&i.fetchState==="Completed"&&c()}),3e5);return()=>clearInterval(m)}),[i.fetchState]),n.useEffect((()=>{if(i.fetchState==="Completed"&&i.monthEndCloseChecks?.auditSummary!=null){const m=P.state?.referrer;G.trackMonthCloseAuditPage(i.selectedPeriod.month,i.selectedPeriod.year,i.monthEndCloseChecks.reportEmailSentDate!=null?"closed":"in-review",i.monthEndCloseChecks.auditSummary.auditScorePercentage,!1,m??null)}}),[i.fetchState,i.selectedPeriod,i.monthEndCloseChecks?.auditSummary,i.monthEndCloseChecks?.reportEmailSentDate]),T.jsx(Dc,{children:T.jsx(Ws,{monthEndCloseChecksView:i,isRealtimeInsightsFeatureEnabled:r,onMonthEndCheckClick:m=>{s(`./${m}/${p.month}-${p.year}`,{state:{pathnameStackToGoBack:$,message:"comingFromOverview",referrer:"Expense Automation - Overview"}})},onPeriodChange:y,handleReviewButtonClick:I,onBackClick:()=>{s("../../dashboard")},onReload:c,isAiCfoAccessEnabled:g,onAskAiCfoClick:b,aiAuditScorePercentageEnabled:u})})},Dc=Qe.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
height: 100vh;
|
|
4
|
+
width: 100%;
|
|
5
|
+
flex: 1 1 auto;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
background-color: ${t=>t.theme.colors.grey4};
|
|
8
|
+
`,Fc=ka.memo((({reconciliation:t,selectedDrawerAccountId:s,onClose:P,onFetchLinkTokenClick:C,onEstablishConnectionClick:f})=>{const r=Ce(),{useFeatureGate:u}=We(),{isFeatureEnabled:R}=u(H.isReconV3Enabled),{isFeatureEnabled:i}=u(H.isReconciliationCombinedStatementEnabled),g=Ke.getSignedInUser(),b=D((h=>De(h))),w=n.useMemo((()=>({userId:g?.userId??"",sessionId:g?.zeniSessionId??"",tenantId:b?.tenantId??""})),[g?.userId,g?.zeniSessionId,b?.tenantId]),{accountReconciliationsByAccountID:y,excludedAccountIDs:p,monthYearPeriod:c,statementUploadChosen:$}=t,I=y[s],v=n.useMemo((()=>_n(y,s)),[y,s]),m=n.useMemo((()=>Vn(y)),[y]),M=n.useMemo((()=>Un(y,s)),[y,s]),K=n.useRef(!1),V=n.useCallback((h=>{K.current=h,ma(s,h)}),[s]),O=n.useCallback((h=>{r(dt({accountId:s,selectedPeriod:c,dismissedToBackground:!0,backgroundCompletedSteps:h.completedSteps,startedAtMs:h.startedAtMs,totalDurationSeconds:h.totalDurationSeconds})),h.accountMappings!=null&&r(Ge({accountId:s,selectedPeriod:c,localData:{combinedStatementAccountMappings:h.accountMappings}})),I!=null&&requestAnimationFrame((()=>{K.current||r(St({messageSection:"statement_parsing_in_progress",messageText:"success",type:"info",showStatusIcon:!0,variables:[{variableName:"_account_name_",variableValue:Qs(I)}]}))}))}),[r,c,I,s]),e=n.useCallback((()=>{r(dt({accountId:s,selectedPeriod:c,dismissedToBackground:!1}))}),[r,s,c]),a=n.useCallback((h=>{r(Xt({accountId:s,selectedPeriod:c,backgroundCompletedSteps:h}))}),[r,c,s]),l=n.useCallback((()=>{r(Xt({accountId:s,selectedPeriod:c,backgroundCompletedSteps:0})),r(dt({accountId:s,selectedPeriod:c,dismissedToBackground:!1}))}),[r,c,s]);n.useEffect((()=>()=>{ma(null,!1)}),[]);const d=I?.parsedStatementData?.statementUpload?.statementMeta?.statementUploadId??I?.accountReconEntity.statementMetaData?.statementUploadId,S=I?.statementDateConflict?.previousReconciliationInfo?.reconciledByUserId,k=D((h=>S!=null&&S!==""?Bn(Mn(h.userState,S)):"")),x=n.useCallback((()=>{r(Zt({accountId:s,selectedPeriod:c}))}),[r,s,c]),L=n.useCallback((()=>{r(Zt({accountId:s,selectedPeriod:c})),r(qe({statementUploadChosen:!0}))}),[r,s,c]),z=(h,N)=>{r(Kn(h,N.split(".")[0]))},A=(h,N)=>{if(N===!0){const Z=I?.combinedStatementGroupId??I?.parsedStatementData?.statementUpload?.statementMeta?.combinedStatementGroupId??I?.parsedStatementData?.statementUpload?.combinedStatementDetails?.combinedStatementGroupId;if(Z!=null&&Z!=="")return void r(Wn({accountId:s,selectedPeriod:c,combinedStatementGroupId:Z,fileId:h}))}d!=null&&r(Qn({accountId:s,selectedPeriod:c,fileId:h,statementUploadId:d}))},ae=()=>{r(qe({statementUploadChosen:!1}))},X=h=>{r(Hn({accountId:s,selectedPeriod:c,payload:h,statementAccountScope:i===!0?I?.localData?.statementAccountScope??"single_account":"single_account"}))},fe=n.useCallback(((h,N,Z)=>{r(On({accountId:h,selectedPeriod:N,statementUploadId:Z}))}),[r]),ne=n.useCallback(((h,N,Z,Te,pe)=>{pe!=null&&pe!==""&&r(Ln(pe)),r(Te==null||Te===""?zn({accountId:h,selectedPeriod:N,statementUploadId:Z}):jn({accountId:h,selectedPeriod:N,statementUploadId:Z,combinedStatementGroupId:Te}))}),[r]),Ie=n.useCallback(((h,N)=>{N!==""&&r($n({accountId:s,selectedPeriod:c,statementUpdateLocalData:h,statementUploadId:N}))}),[r,s,c]),q=n.useCallback((()=>{d!=null&&r(I?.localData?.statementAccountScope!=="multi_account"?qn({accountId:s,selectedPeriod:c,statementUploadId:d}):Gn({accountId:s,selectedPeriod:c,statementUploadId:d}))}),[r,I?.localData?.statementAccountScope,s,c,d]),W=n.useCallback((h=>{d!=null&&r(Nn({accountId:s,selectedPeriod:c,statementUploadId:d,accountMappings:h}))}),[r,c,s,d]),oe=n.useCallback((()=>{r(qe({statementUploadChosen:!0}))}),[r]),Y=h=>{r(Ge({accountId:s,selectedPeriod:c,localData:{accountSource:h}}))},Fe=h=>{r(Ge({accountId:s,selectedPeriod:c,localData:{statementAccountScope:h}}))},me=n.useCallback((()=>{r(ba({accountId:s}))}),[r,s]),Xe=n.useCallback((h=>{r(le(c,h,!0)),P()}),[r,c,P]),Ze=n.useCallback((()=>{r(Jn({accountId:s,selectedPeriod:c,statementProcessingFailed:!1})),r(Yn({accountId:s,selectedPeriod:c}))}),[r,s,c]),_e=n.useCallback((()=>{r(ya({accountId:s}))}),[r,s]),ke=p.includes(s)?t.excludedAccountReconciliationByAccountID[s]:void 0;if(ke!=null)return T.jsx(ga,{children:T.jsx(Ca,{$isV3:R===!0,children:T.jsx(Ks,{excludedAccountReconciliation:ke,includeAccountFetch:t.includeAccountFetchState,isReconV3Enabled:R,onDismissClick:P,onIncludeIntoReconciliation:_e})})});if(I!=null){const h=R===!0?T.jsx(Xs,{excludeAccountFetch:t.excludeAccountFetchState,accountReconciliation:I,monthYearPeriod:c,onDismissClick:P,plaidConnectionDetails:t.plaidConnectionDetails,onFetchLinkTokenClick:C,onEstablishConnectionClick:f,onEditFileName:z,onDeleteFile:A,onSelectSourceType:Y,onSelectStatementAccountScope:Fe,isReconciliationCombinedStatementEnabled:i===!0,ledgerAccounts:v,statementOverrideWarningAccountIds:M,unavailableLedgerAccountIds:m,onConfirmStatementMapping:W,filesEndPoint:Re.fileMicroServiceBaseUrl,authParams:w,openFilePicker:$,onStatementUploadSuccess:X,onUploadWindowOpenedOnce:ae,onExcludeFromReconciliation:me,onRetryParsing:fe,onFetchStatementParseInfo:ne,onReviewClicked:Xe,statementProcessingFailed:I.statementProcessingFailed,statementProcessingDismissedToBackground:I.statementProcessingDismissedToBackground,onDismissStatementProcessingFailed:Ze,onContinueInBackground:O,onClearStatementProcessingDismissedToBackground:e,onResetStatementProcessingProgress:l,onStatementProcessingProgressChange:a,onStatementFlowVisibilityChange:V,onReuploadStatement:oe,onStatementFormDataChange:Ie,onStatementConfirmSave:q,reconciledByName:k,onDismissDateConflict:x,onReuploadAfterDateConflict:L,isReconV3Enabled:R}):T.jsx(Zs,{excludeAccountFetch:t.excludeAccountFetchState,accountReconciliation:I,monthYearPeriod:c,onDismissClick:P,plaidConnectionDetails:t.plaidConnectionDetails,onFetchLinkTokenClick:C,onEstablishConnectionClick:f,onEditFileName:z,onDeleteFile:A,onSelectSourceType:Y,filesEndPoint:Re.fileMicroServiceBaseUrl,authParams:w,openFilePicker:$,onStatementUploadSuccess:X,onUploadWindowOpenedOnce:ae,onExcludeFromReconciliation:me});return T.jsx(ga,{children:T.jsx(Ca,{$isV3:R===!0,children:h})})}return null})),ga=Qe.div`
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
height: 100%;
|
|
12
|
+
`,Ca=Qe.div`
|
|
13
|
+
flex: 1;
|
|
14
|
+
min-height: 0;
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
min-width: 0;
|
|
19
|
+
overflow-x: hidden;
|
|
20
|
+
overflow-y: ${t=>t.$isV3===!0?"hidden":"auto"};
|
|
21
|
+
`;function _c({companyId:t,closeCustomerRequestDrawer:s,addCustomerRequest:P,resetCustomerRequest:C}){const f=Ke.getSignedInUser();if(f==null)throw Error("Can't access Customer Request page without signing in...");const r=D((u=>Xn(u,t,f)));return n.useEffect((()=>{C()}),[]),T.jsx(T.Fragment,{children:r.fetchState==="In-Progress"||r.companyMonthEndReportTemplatesData.fetchState==="In-Progress"?T.jsx(_a,{fetchState:"In-Progress"}):T.jsx(ec,{onCloseClick:s,addCustomerRequest:P,snippets:r.companyMonthEndReportTemplatesData,bulletPoints:r.zeniRequestsData??[]})})}const Vc={schedules:"Review Schedules",existing_schedules:"Existing Schedules"},Uc=()=>{const t=D((b=>xe(b))),s=It(),{currentSelectedViewFetchState:P,currentSelectedView:C,selectedPeriod:f}=t,r=Je(C),u=Je(P.fetchState),R=t.jeSchedules.uiState.selectedPageTab??"schedules",i=Je(R),g=n.useCallback((b=>{const w=s.state?.referrer;C==="transaction_categorization"&&(t.selectedTransactionCategorizationTab==="review"?G.trackTransactionsReviewPage(f.month,f.year,t.transactionView.totalCountByTab.review,0,b,w??null):G.trackTransactionsAutoCategorisedPage(f.month,f.year,t.transactionView.totalCountByTab.autoCategorized,0,b,w??null)),C==="missing_receipts"&&G.trackMissingReceiptsPage(f.month,f.year,b,t.missingReceipts.transactions.length,w??null),C==="je_schedules"&&G.trackMonthCloseScheduleListPage(f.month,f.year,b,t.jeSchedules.pendingReviewSchedules.length,t.jeSchedules.resolveSchedules.length,(y=>{const p={accruedCount:0,fixedAssetsCount:0,oneTimeAccrualCount:0,prepaidCount:0};return y.forEach((c=>{if(Zn(c))p.oneTimeAccrualCount+=1;else switch(eo(c)){case"prepaid_expenses":p.prepaidCount+=1;break;case"fixed_assets":p.fixedAssetsCount+=1;break;case"accrued_expenses":p.accruedCount+=1}})),p})(t.jeSchedules.pendingReviewSchedules),Vc[R],w??null),C==="flux_analysis"&&G.trackFluxAnalysisPage(f.month,f.year,b,Bc(t.fluxAnalysis),w??null),C==="month_end_insights"&&t.auditSummary?.auditScorePercentage!=null&&G.trackInsightsEmailPage(f.month,f.year,b,"draft",t.auditSummary.auditScorePercentage,null,w??null)}),[f,t,R]);return n.useEffect((()=>{(u!==P.fetchState||C!==r||C==="je_schedules"&&i!=null&&R!==i)&&P.fetchState==="Completed"&&g(!1)}),[C,P.fetchState,r,R,i]),g},Bc=t=>t.sections.generalExpense.vendors.length+t.sections.reimbursement.vendors.length,{common:{strings:{hyphen:Mc,comma:fa,space:Oc}},dateFormat:Ua}=tc.getLocalizedStrings(),Ia=Hs,Lc=wn((function(t,s){const{uncategorizedAccounts:P,vendorSearchAutoCompleteData:C,monthEndInsightsCustomerRequestData:f,monthEndInsightsPreviewMode:r,companyId:u,isMissingReceiptsBulkUploadEnabled:R,isTransactionActivityEnabled:i,newScheduleActiveType:g}=s,b=Ke.getSignedInUser(),w=t.tenantState.currentTenantId,y={userId:b?.userId??"",sessionId:b?.zeniSessionId??"",tenantId:w??""},p=xe(t),{selectedTransactionCategorizationTab:c}=p,{searchTransactionsResults:$,searchTransactionsFetchState:I}=co(t),v=g==="prepaid_expenses"?"prepaid_expenses":"fixed_assets",{accountListNestedAccountHierarchy:m,classListNestedAccountHierarchy:M,allDepreciationAccountListNestedAccountHierarchy:K,newScheduleLocalData:V,saveStatus:O}=io(t,v);return{expenseAutomationViewSelector:p,accountListNestedAccountHierarchy:m,allDepreciationAccountListNestedAccountHierarchy:K,baseTransactionSearchFetchState:I,baseTransactionSearchResults:$,classListNestedAccountHierarchy:M,newScheduleLocalData:V,initialSelectedBaseTransaction:V.selectedBaseTransactionId!=null?lo(t.transactionState,ro(V.selectedBaseTransactionId)):void 0,newAccrualAccountsView:uo(t),newScheduleSaveStatus:O,bulkUploadSelector:R===!0?p.missingReceipts.bulkUpload:void 0,vendorSearchAutoCompleteData:C,authParams:y,receiptUploadEndpoint:`${Re.accountMicroServiceBaseUrl}`,transactionAttachmentsEndpoint:`${ha}/transaction_attachments`,bulkUploadEndpoint:R===!0?`${Re.communicationAgentMicroServiceBaseUrl}/1.0/receipts/bulk-upload`:void 0,isDisabled:!1,currentTab:c,selectedTransactionGroup:p.transactionView.selectedTransactionGroup,monthEndInsightsCustomerRequestData:f,monthEndInsightsPreviewMode:r,allThreadsSectionOpen:!1,enableMonthEndInsightsZeniGPTFeature:!1,loggedInUser:b,uncategorizedAccounts:P,companyId:u,isTransactionActivityEnabled:i,receiptsEmail:po(t.tenantState,w),downloadParams:{authParams:y,jeScheduleEndPoint:`${ha}/jeScheduleReports`,timezone:mo(),companyName:De(t).companyName}}}),(function(t,s){const{themeState:P,isAccountingClassesEnabled:C,isCOTEnabled:f,isMissingReceiptsBulkUploadEnabled:r,location:u,vendorSearchAutoCompleteData:R,expenseAutomationViewSelector:i,currentTenant:g,newScheduleActiveType:b,uncategorizedAccounts:w,navigate:y,onClickCustomerRequest:p,handleEditClick:c,setActivityLogTransactionId:$}=s,{selectedPeriod:I,currentSelectedView:v,reconciliation:{selectedAccountId:m}}=i,{accountSettingsView:M}=i.jeSchedules,K=wa(I),V=He(K.start),O=He(K.end);return{onZeniLogoClick:()=>{P.toggle()},onUploadReceiptAttachment:e=>{G.trackMissingReceiptAttached(I.month,I.year),t(ks(e))},onUploadTransactionReceipt:(e,a,l,d,S,k)=>{t(ia(e,a,{fetchState:"In-Progress"}));const x=()=>t(ia(e,a,{fetchState:"Error"}));oc(`${Re.accountMicroServiceBaseUrl}/1.0/transactions/${a}/attachments`,k,a,l,d,S).then((L=>{L!=null?t(Is(e,L)):x()})).catch(x)},onMissingReceiptsRowClick:(e,a)=>{if(s.openTransactionPanel)return void s.openTransactionPanel(e,a);const l=te(u.state?.pathnameStackToGoBack,u.pathname);y(`../../transaction/${a}/${e}`,{state:{pathnameStackToGoBack:l,message:"expenseAutomation",origin:"missing_receipts"}})},onUploadReceiptComplete:(e,a)=>{t(fs(e,a)),g!=null&&t(Pe({tenantId:g.tenantId,period:a,refreshViewInBackground:!0}))},onUploadReceiptFetchStatus:(e,a,l,d)=>{t(Cs(e,{fetchState:a,error:l})),l!=null&&t(St({messageSection:"missing_receipts_attachment",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"__message__",variableValue:d!=null?Oc+Mc+d+fa:fa}]}))},onUpdateJESchedulesUIState:e=>{e.createdGroupCollapsed!=null?t(ps()):e.pendingGroupCollapsed!=null?t(hs()):e.selectedJETypeFilter!==void 0?t(Ss(e.selectedJETypeFilter)):t(gs(e))},onUpdateMissingReceiptsUIState:e=>{t(ms(e))},onFetchMissingReceiptsList:()=>{O!=null&&V!=null&&t(xa({start:V,end:O},{amount:75,currencyCode:"USD",currencySymbol:"$"},!0,!1))},...r===!0?{onBulkUploadFiles:e=>{t(Ys(e))},onBulkUploadProgress:e=>{t(Js(e))},onBulkUploadSuccess:e=>{t(Ns({batchId:e}))},onBulkUploadUploadedFileCount:e=>{t(qs(e))},onConfirmBulkUploadMatch:(e,a,l,d,S)=>{t(Gs(e,a,l,d,S))},onBulkUploadConfirmMatchAcknowledged:()=>{t($s())},onSetBulkUploadResultsTab:e=>{t(zs(e))},onSetBulkUploadCompletedSubTab:e=>{t(js(e))},onSetBulkUploadSortConfig:(e,a)=>{t(ua({sortKey:e,sortOrder:a}))},onClearBulkUpload:()=>{t(Ls())},onSearchTransactionsForManualMatch:(e,a)=>{t(Ia(e,a??void 0))},onLoadMoreManualSearch:()=>{const{manualSearch:e}=i.missingReceipts.bulkUpload;e.nextPageToken!=null&&e.searchQuery!==""&&t(Ia(e.searchQuery,e.nextPageToken))},onFetchCompletedTransactions:(e,a)=>{t(Os(e,a))},onClearBulkUploadBatchDetailsForScopeChange:()=>{t(Ms())},onFetchBulkUploadBatches:e=>{t(Ra(e))},onFetchMoreBatchDetails:()=>{t(Bs())},onResetBulkUploadSort:()=>{t(ua({sortKey:void 0,sortOrder:void 0}))}}:{},onClearMissingReceiptsTabNavigation:()=>{t(us())},onSearchTextChanged:e=>{const a=i.currentSelectedView,l=i.selectedTransactionCategorizationTab;a==="transaction_categorization"&&(t(ut({selectedTab:l,uiState:{searchString:e}})),O!=null&&V!=null&&t(ue(l,{start:V,end:O},!0,!1,e,void 0,!1,!0)))},onFiltersChange:e=>{const a=i.selectedTransactionCategorizationTab;t(ds({filters:e,selectedTab:a}))},onRefresh:()=>{s.trackExpenseAutomationTabAnalytics(!0),t(rs())},onClose:()=>{v==="reconciliation"&&m!=null&&t(ca({selectedAccountId:void 0})),y("../")},onBack:()=>{v==="reconciliation"&&m!=null&&t(ca({selectedAccountId:void 0}))},onSaveReconciliation:e=>{t(ls(e))},onSaveReconciliationReview:e=>{t(is(e))},onUpdateStep:e=>{const{selectedPeriod:a}=i,l=te(u.state?.pathnameStackToGoBack,u.pathname);y(`../${e}/${a.month}-${a.year}`,{state:{pathnameStackToGoBack:l,referrer:i.currentSelectedView}}),t(Pa(e))},handleLogOutClick:()=>{const e=te(u.state?.pathnameStackToGoBack,u.pathname);y("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},onJeAccountSettingsChange:e=>{const{vendorsAccountSection:a}=e,{prepaidExpensesAccount:l,fixedAssetsAccount:d,accruedExpensesAccount:S}=a,k=mt(M.prepaidExpensesAccountList,l.selectedOptions),x=mt(M.fixedAssetsAccountList,d.selectedOptions),L=mt(M.accruedExpensesAccountList,S.selectedOptions),z={selectedPrepaidExpensesAccountIds:k.map((A=>A.accountId)),selectedFixedAssetsAccountIds:x.map((A=>A.accountId)),selectedAccruedExpensesAccountIds:L.map((A=>A.accountId))};t(cs({data:z}))},onSaveJeAccountSettingsClick:()=>{t(ss())},onJESchedulesFormDataChange(e,a){const{jeScheduleID:l,accumulatedDepreciationCategory:d,scheduleClass:S,scheduleExpenseCategory:k,vendor:x}=a,{allAccountList:L,allClassList:z,allDepreciationAccountList:A}=i.jeSchedules,ae=R.entityAutoCompleteView.vendor.length>0?R.entityAutoCompleteView.vendor.find((q=>q.id===x?.selectedOption)):void 0,X={id:ae?.zeniId??x?.selectedOption??"",name:ae?.name??x?.defaultOptions.find((q=>q.value===x?.selectedOption))?.label??"",logo:ae?.logo},fe=k?.selectedOption!=null?L.find((q=>q.qboId===k.selectedOption)):void 0,ne=S?.selectedOption!=null?z.find((q=>q.classId===S.selectedOption)):void 0,Ie=d?.selectedOption!=null?A.find((q=>q.qboId===d.selectedOption)):void 0;t(os({scheduledJournalEntryID:e,localData:{jeScheduleID:l,scheduledJournalEntryID:e,updatedCategoryId:fe?.accountId,updatedClassId:ne?.classId,updatedAccumulatedDepreciationCategoryID:Ie?.accountId,updatedVendor:{id:X.id,name:X.name}}}))},onRevertJeSchedule(e,a,l,d,S){t(ns(e,a,l,d,S))},ignoreRecommendedJeSchedule(e,a,l,d){t(as(e,a,l,d))},vendorSearchAutoCompleteActions:{onAutoCompleteInputChange:(e,a)=>{e.trim().length>=2?t(ta({searchString:e,entityType:a,searchOrigin:"common"})):e.trim().length===0&&t($e("common"))},onCancelAutoComplete:()=>{t($e("common"))}},onPostJESchedule(e,a){t(ts({scheduledJournalEntryID:e,jeScheduleTransactionKey:a}))},clearJeScheduleLocalData(){t(es())},onViewTransaction(e){if(s.tenantEmailDomain==null)return;const a=Pc(e,s.tenantEmailDomain),l=te(s.location.state?.pathnameStackToGoBack,`${s.location.pathname}${s.location.search}`);s.navigate(a,{state:{pathnameStackToGoBack:l,message:"expenseAutomation",origin:"je_schedules"}})},onSearchBaseTransaction(e){t(Zo({query:e,scheduleType:b==="prepaid_expenses"?"prepaid_expenses":"fixed_assets"}))},onNewScheduleFormChange(e,a){const l=ft(e)==="prepaid_expenses"?"prepaid_expenses":"fixed_assets";t(sa({scheduleType:l,localData:a}))},onSaveSchedule(e,a){const l=e==="prepaid_expenses"?"prepaid_expenses":"fixed_assets",{allAccountList:d,allDepreciationAccountList:S}=i.jeSchedules,k=a.selectedAccount!=null?d.find((L=>L.qboId===a.selectedAccount)):void 0,x=a.selectedAccumulatedDepreciationCategory!=null?S.find((L=>L.qboId===a.selectedAccumulatedDepreciationCategory)):void 0;t(sa({scheduleType:l,localData:{...a,selectedAccount:k?.accountId,selectedAccumulatedDepreciationCategory:x?.accountId}})),t(Xo({scheduleType:l}))},onCreateAccruedSchedule(e){const a="accrued_expenses";t(Yo()),t(Ho()),t(Wo({scheduleType:a,localData:e,selectedJeScheduleDetailId:void 0})),t(Qo({scheduleType:a})),t(Ko(a,void 0))},onCreateOneTimeAccrual(e){t(Jo(e))},handleJeScheduleClick:(e,a,l)=>{(function(S,k){return k!=="accrued_expenses"})(0,l)&&t(No({selectedJEScheduleKey:a}));const d=te(u.state?.pathnameStackToGoBack,u.pathname);y(`../../vendors/schedules/${l}/details/${e}`,{state:{pathnameStackToGoBack:d,message:"expenseAutomation",origin:"je_schedules"}})},onOneTimeAccrualFeedback:(e,a,l,d)=>{t(a!=="revert"?qo(e,l,d):Go(e,l,d))},onOneTimeAccrualClick:e=>{const a=te(u.state?.pathnameStackToGoBack,u.pathname);y(`../../vendors/schedules/one_time_accrual/details/${e}`,{state:{pathnameStackToGoBack:a,message:"expenseAutomation",origin:"je_schedules"}})},improveMonthEndInsightsUsingZeniGPTClick:e=>{g!=null&&t($o(e,g.companyId,g.tenantId))},onClickCustomerRequest:p,setActivityLogTransactionId:$,onCloseAllThreadsSection:()=>{},onCloseFileAttachmentSnackBar:()=>{t(zo())},onOpenFileAttachmentSnackBar:()=>{t(St({messageSection:"cockpit_month_end_email_attachment_upload",messageText:"failed",type:"error",showStatusIcon:!0}))},onRemoveFileAttachment:e=>{t(jo(e))},onUpdateFileAttachment:e=>{t(Lo({files:e}))},previewMonthEndReport:(e,a,l,d,S)=>{g!=null&&t(oa(e,g.companyId,a,!0,l,d,{agentInsightEdits:S,tenantId:g.tenantId}))},saveMonthEndReport:(e,a,l,d,S)=>{g!=null&&t(oa(e,g.companyId,a,!1,l,d,{agentInsightEdits:S,tenantId:g.tenantId}))},onEditMonthEndInsightsClick:c,sendMonthEndReport:e=>{const a=u.state?.referrer,{selectedPeriod:l,auditSummary:d}=i;g!=null&&d?.auditScorePercentage!=null&&(t(Mo(g.companyId,e,g.tenantId)),G.trackInsightsEmailPage(l.month,l.year,!1,"draft",d.auditScorePercentage,Oo().format(Ua.analytics.MMMDDCommaYYYYformat),a??null))},onTransactionCategorizationRowClick:(e,a)=>{const l=i.transactionView.uiState.searchString??"",d=i.transactionView.transactions,S=d.findIndex((L=>L.id===e)),k=l.length>0?{resultPosition:S>=0?S+1:void 0,resultsCount:d.length,searchTerm:l}:void 0;if(s.openTransactionPanel)return void s.openTransactionPanel(e,a,k);const x=te(u.state?.pathnameStackToGoBack,u.pathname);y(`../../transaction/${a}/${e}`,{state:{pathnameStackToGoBack:x,message:"expenseAutomation",origin:"transaction_categorization",searchContext:k}})},setLocalDataForCategoryAndClass:(e,a,l,d,S,k,x,L,z,A,ae,X)=>{t(Bo(e,a,l,d,w,S,k,x,L,z,A,ae,X))},onCancelAutoComplete:()=>{t($e("common"))},updateExpenseAutomationReconListScrollPosition:e=>{t(aa({scrollPosition:e}))},onUpdateTab:e=>{s.closeSidePanel?.(),O!=null&&V!=null&&(t(ue(e,{start:V,end:O},!1,!1)),t(Uo(e)))},onUpdateTransactionCategorizationCompletedSubTab:e=>{s.closeSidePanel?.(),O!=null&&V!=null&&(t(Vo(e)),t(ue("autoCategorized",{start:V,end:O},!1,!1)))},onTransactionGroupChange:e=>{s.closeSidePanel?.(),O!=null&&V!=null&&(t(_o(e)),t(ue(s.expenseAutomationViewSelector.selectedTransactionCategorizationTab,{start:V,end:O},!1,!1)))},onUpdateTransactionCategorizationUIState:(e,a)=>{t(ut({selectedTab:e,uiState:a})),O!=null&&V!=null&&t(ue(e,{start:V,end:O},!1,!1,a.searchString,null,!0))},onUpdateScrollYOffSetTransactionCategorizationUIState:(e,a)=>{t(ut({selectedTab:e,uiState:a}))},onFetchTransactionCategorizationList:(e,a,l,d,S,k)=>{O!=null&&V!=null&&t(ue(e,{start:V,end:O},!0,l,a,d,S,k))},resetTransactionCategorizationLocalData:(e,a,l,d,S,k,x)=>{t(Fo(e,a,l,d,x??null,S,k,!1)),Ic(t,a.map(String))},updateSelectedVendorForTransaction:(e,a,l,d,S)=>{t(na({selectedTab:e,transactionId:a,lineId:l,selectedTransaction:d,uncategorizedAccounts:w,updatedVendor:S,isAccountingClassesEnabled:C}))},onSaveUpdateTransactionCategorization:(e,a,l)=>{const d=u.state?.referrer;e==="autoCategorized"?G.trackTransactionsAutoCategorisedPage(I.month,I.year,i.transactionView.totalCountByTab.autoCategorized,a.length,!1,d??null):G.trackTransactionsReviewPage(I.month,I.year,i.transactionView.totalCountByTab.review,a.length,!1,d??null),t(Do(e,a,l)),fc(a.map(String))},onUpdateSelectedCheckboxTransactionIds:(e,a)=>{t(Ro({selectedTab:e,transactionIds:a}))},onFetchRecommendationsForEntityCategorizationWithCustomer:(e,a,l,d,S,k)=>{const{transactionId:x,transaction:L,lineIds:z}=a;k!=null&&t(Po({transactionId:x,customerUpdates:k})),t(xo({selectedTab:d,transactionId:x.id,lineId:z[0],selectedTransaction:L,uncategorizedAccounts:w,updatedCustomer:k,selectedEntity:S,isAccountingClassesEnabled:C})),S!=null&&t(Ct({entity:S,amount:e,transactionDetails:a,flowType:"categorization",selectedTab:d,isFetchCOT:f}))},onFetchRecommendationsForEntityCategorization:(e,a,l,d,S,k)=>{const{transactionId:x,transaction:L,lineIds:z}=a;k!=null&&(t(Ao({transactionId:x,vendorUpdates:{name:k.name,id:k.id?k.id:void 0}})),t(vo({vendorId:k.id?k.id:void 0,localData:{vendorName:k.name,vendorId:k.id?k.id:void 0}}))),k?.id?(t(na({selectedTab:d,transactionId:x.id,lineId:z[0],selectedTransaction:L,uncategorizedAccounts:w,updatedVendor:k,selectedEntity:S,isAccountingClassesEnabled:C})),S!=null&&t(Ct({entity:S,amount:e,transactionDetails:a,flowType:"categorization",selectedTab:d,isFetchCOT:f}))):t(wo({selectedTab:d,transactionId:x.id,lineId:z[0]}))},fetchFluxViewOnScroll:(e,a)=>{t(Ne(e,!0,!1,a,!1,!0))},onFetchFluxViewList:()=>{t(Ne(I,!0,!1,null,!1,!1))},markAsReview:(e,a,l,d)=>{G.trackFluxAnalysisReviewed(l.month,l.year,d??!1,e),t(Eo(a,e,l,d??!1))},onUpdateFluxAnalysisUIState:e=>{t(yo(e))},updateOperatingExpensesIdsForReview:e=>{t(bo({operatingExpenseIds:e,selectedPeriod:I}))},redirectToVendorDetailPage:e=>{if(s.tenantEmailDomain!=null){const a=wc(e.id,e.qboId,s.tenantEmailDomain),l=te(s.location.state?.pathnameStackToGoBack,s.location.pathname);s.navigate(a,{state:{pathnameStackToGoBack:l,message:"expenseAutomation",referrer:"Vendor List",origin:"flux_analysis"}})}},updateSectionIdsForReview:e=>{t(To({sectionId:e,selectedPeriod:I}))},onFetchReimbursementView:(e,a,l)=>{t(Ne(e,!0,!1,a,!0,l))},onReviewClicked:e=>{t(le(I,e))},setOpenDrawerClicked:e=>{t(Ye({selectedDrawerAccountId:e}))},onFetchLinkTokenClick:(e,a)=>{t(Ea("expense_automation_reconcile",e,a))},onEstablishConnectionClick:(e,a)=>{const l=g?.companyId;l!=null&&(t(Aa(e,l,"expense_automation_reconcile",void 0,"link_account_no_microdeposit",a)),t(va({accountId:a,connectionInProgress:!0})))},onAddStatementClick:e=>{t(Ye({selectedDrawerAccountId:e})),t(Ge({accountId:e,selectedPeriod:I,localData:{accountSource:"bank_statement"}})),t(qe({statementUploadChosen:!0}))},onReloadReconciliationListPage:()=>{t(le(I,void 0,!0,!1))},onUpdateReconcileTabLocalData:e=>{t(ko({selectedTransactionIds:e}))},onReconTabColumnSortConfigChanged:(e,a)=>{t(Io({sortKey:e,sortOrder:a}))},onReconReviewTabColumnSortConfigChanged:(e,a)=>{t(fo({sortKey:e,sortOrder:a}))},onReconTabUpdate:e=>{s.closeSidePanel?.(),t(Co({selectedTab:e}))},updateReconReviewTabLocalData:(e,a,l)=>{const d=e.vendor?.id;l&&d!=null&&t(So(d)),t(go({data:e,transactionId:a}))},onReconMatchedTransactionClick:e=>{if(s.openTransactionPanel)return void s.openTransactionPanel(e,gt("bill"));const a=te(u.state?.pathnameStackToGoBack,u.pathname);y(`../../transaction/bill/${e}`,{state:{pathnameStackToGoBack:a,message:"expenseAutomation",origin:"reconciliation"}})},onReloadPage:()=>{window.location.reload()},onBackClick:()=>{y(-1)},onReconListPageScroll:e=>{t(aa({scrollPosition:e}))},onVendorAutoCompleteInputChange:e=>{e.trim().length>=2?t(ta({searchString:e,searchOrigin:"common"})):e.trim().length===0&&t($e("common"))},onReconNodeCollapseToggled:(e,a)=>{t(ho({nodeId:e,collapsed:a}))},updateSectionCollapseStatus:()=>{},onExcludeAccountFromReconciliation:e=>{t(ba({accountId:e}))},onIncludeAccountIntoReconciliation:e=>{t(ya({accountId:e}))}}}),((t,s,P)=>{const{isMissingReceiptsBulkUploadEnabled:C,...f}=P;return(function(r,u,R){return{...r,...u,...R,onUploadTransactionReceipt:(i,g,b,w,y)=>{u.onUploadTransactionReceipt(i,g,b,w,y,r.authParams)}}})(t,s,f)}))(ac(nc)),pt="newScheduleMode",ht="newScheduleType",jc=Ac((function(t){const s=t.displayName??t.name??"Component",P=ka.memo(t),C=f=>{const r=Ce(),u=(function(){const v=Ce(),m=D((M=>xe(M).reconciliation.selectedDrawerAccountId));return{isOpen:m!=null,selectedAccountId:m,openPanel:n.useCallback((M=>{v(Ye({selectedDrawerAccountId:M}))}),[v]),closePanel:n.useCallback((()=>{v(Ye({selectedDrawerAccountId:void 0}))}),[v])}})(),R=D((v=>xe(v).reconciliation)),i=D((v=>De(v))),g=n.useCallback(((v,m)=>{r(Ea("expense_automation_reconcile",v,m))}),[r]),b=n.useCallback(((v,m)=>{const M=i?.companyId;M!=null&&(r(Aa(v,M,"expense_automation_reconcile",void 0,"link_account_no_microdeposit",m)),r(va({accountId:m,connectionInProgress:!0})))}),[r,i?.companyId]),w=n.useMemo((()=>{if(u.isOpen&&u.selectedAccountId!=null)return T.jsx(Fc,{reconciliation:R,selectedDrawerAccountId:u.selectedAccountId,onClose:u.closePanel,onFetchLinkTokenClick:g,onEstablishConnectionClick:b})}),[u.isOpen,u.selectedAccountId,u.closePanel,R,g,b]),y=n.useMemo((()=>({reconPanelContent:w,reconSidePanelIsOpen:u.isOpen,closeReconSidePanel:u.closePanel})),[w,u.isOpen,u.closePanel]),{useFeatureGate:p}=We(),{isFeatureEnabled:c}=p(H.isReconV3Enabled),$=n.useContext(pa),I=n.useMemo((()=>u.isOpen?c===!0?{selectedItemId:u.selectedAccountId}:{closePanel:u.closePanel,selectedItemId:u.selectedAccountId}:$),[u.isOpen,u.closePanel,u.selectedAccountId,$,c]);return T.jsx(pa.Provider,{value:I,children:T.jsx(P,{...f,...y})})};return C.displayName=`withReconSidePanel(${s})`,C})((({closeSidePanel:t,openTransactionPanel:s,panelContent:P,sidePanelIsFullView:C,sidePanelIsOpen:f,reconPanelContent:r,reconSidePanelIsOpen:u,closeReconSidePanel:R})=>{const{isAiCfoOpen:i,setIsAiCfoOpen:g}=sc(),b=cc(),{isOpen:w}=ic(),y=Ta(),p=It(),c=Ce(),{isAiCfoAccessEnabled:$,onAskAiCfoClick:I}=Va({mobileExploreReferrer:"Transaction categorization"}),v=n.useCallback((()=>{f===!0&&C!==!0&&t?.()}),[t,f,C]),{areTenantIdsInSync:m}=Da(),M=Uc(),K=lc(),[V,O]=n.useState(!1),[e,a]=Pn(),l=n.useCallback((o=>{a((E=>{const j=new URLSearchParams(E);return o==null?(j.delete(pt),j.delete(ht),j):(j.set(pt,o.scheduleDetailsMode),j.set(ht,o.scheduleType),j)}),{replace:!0})}),[a]),[d,S]=n.useState(void 0),k=n.useCallback(((o,E,j)=>{const B=ft(o);S(B),l({scheduleDetailsMode:E,scheduleType:o}),c(la({scheduleType:B==="prepaid_expenses"?"prepaid_expenses":"fixed_assets",shouldResetEnteredData:j}))}),[c,l]),x=n.useMemo((()=>{const o=e.get(pt),E=e.get(ht);return o!=null&&E!=null?{scheduleDetailsMode:o,scheduleType:E}:void 0}),[e]),L=n.useCallback((o=>{l(o),o!=null&&c(la({scheduleType:ft(o.scheduleType)==="prepaid_expenses"?"prepaid_expenses":"fixed_assets",shouldResetEnteredData:!0}))}),[c,l]),z=D((o=>ea(o))),A=D((o=>De(o))),[ae,X]=n.useState(!1),[fe,ne]=n.useState(!1),[Ie,q]=n.useState([]),[W,oe]=n.useState(null),Y=n.useCallback((()=>{oe(null)}),[]),Fe=W?.contentType==="activity"?W.detail.transactionId:void 0,me=n.useCallback((o=>{o!=null?(i&&g(!1),b(),v(),oe({contentType:"activity",detail:{transactionId:o}})):oe((E=>E?.contentType==="activity"?null:E))}),[v,i,b,g]),Xe=n.useCallback((o=>{i&&g(!1),b(),v(),oe({contentType:"transfer",detail:o})}),[v,i,b,g]),Ze=n.useCallback((()=>{b(),Y(),v(),I()}),[v,Y,I,b]),_e=n.useRef(i);n.useEffect((()=>{i===!0&&_e.current===!1&&(b(),Y(),v()),_e.current=i}),[v,Y,i,b]);const ke=n.useRef(w);n.useEffect((()=>{w===!0&&ke.current===!1&&(i&&g(!1),Y(),f===!0&&C!==!0&&t?.()),ke.current=w}),[Y,t,w,i,g,C,f]);const h=f===!0&&C!==!0,N=n.useRef(h);n.useEffect((()=>{h&&!N.current&&(i&&g(!1),b(),Y()),N.current=h}),[Y,i,h,b,g]);const[Z,Te]=n.useState(!1),pe=n.useRef(!1),{selectedTab:kt}=Kt(),{tenantEmailDomain:et}=Kt(),[tt,Tt]=n.useState(p.state?.message==="comingFromTransactionDetail"),bt=p.state?.message==="comingFromOverview",Ba=rc(),at=Ke.getSignedInUser(),{useFeatureGate:se}=We(),{isFeatureEnabled:yt}=se(H.isRealtimeInsightsFeatureEnabled),{isFeatureEnabled:be}=se(H.isMissingReceiptsBulkUploadEnabled),{isFeatureEnabled:nt}=se(H.isTransactionActivityEnabled),{isFeatureEnabled:Ma}=se(H.isAccrualEnabled),{isFeatureEnabled:Et}=se(H.isCreateTransferEntryFromExpenseEnabled),{isFeatureEnabled:Oa}=se(H.isExpenseAutomationCommentingEnabled),{isFeatureEnabled:La}=se(H.isProjectsTransactionsEnabled),{isFeatureEnabled:ja}=se(H.isReconV3Enabled),za=n.useCallback((o=>{const E=gt(o.transactionType??(o.view==="reconciliation"?"bill":"expense")),j=te(p.state?.pathnameStackToGoBack,p.pathname),B=new URLSearchParams({view:"full"});o.threadId!=null&&B.set("thread_id",o.threadId),o.entityType!=null&&B.set("entity_type",o.entityType),y(`/${et}/transaction/${encodeURIComponent(E)}/${o.transactionId??o.entityId}?${B.toString()}`,{state:{pathnameStackToGoBack:j,message:"expenseAutomation"}})}),[y,et,p.state,p.pathname]),$a=D((o=>Ts(o,"common"))),U=D((o=>xe(o))),{categoryOptions:Ga,paymentAccountNames:qa}=D((o=>bs(o.accountState))),Na=D((o=>ys(o.classState))),{monthEndCloseChecksView:J,currentSelectedView:F,selectedPeriod:_,selectedTransactionCategorizationTab:ot,currentSelectedViewBackgroundRefreshFetchState:Ja,currentSelectedViewFetchState:ce,jeSchedules:st,reconciliation:At}=U;kc(F==="transaction_categorization");const Ya=U.transactionView.saveStatus.fetchState,Ve=U.transactionView.transactions,vt=n.useRef(Ve);vt.current=Ve;const wt=D((o=>o.expenseAutomationTransactionsViewState?.transactionCategorizationView)),Pt=D((o=>o.expenseAutomationTransactionsViewState?.selectedTransactionCategorizationTab)),xt=n.useRef(wt);xt.current=wt;const Rt=n.useRef(Pt);Rt.current=Pt;const Ue=D((o=>{const E=o.expenseAutomationTransactionsViewState?.selectedTransactionCategorizationTab;return E!=null?o.expenseAutomationTransactionsViewState?.transactionCategorizationView?.[E]?.filters:void 0})),Dt=n.useRef("");n.useEffect((()=>{if(F!=="transaction_categorization")return;const o=U.transactionView.uiState.searchString??"";if(ce.fetchState!=="Completed"||o.length===0||o===Dt.current)return;Dt.current=o;const E=Ue!=null?dc(Ue):0,j=Ue?.categories.filter((B=>B.values.length>0&&String(B.values[0]??"").trim()!=="")).map((B=>`${B.field}:${B.values.join(",")}`))??[];G.trackAiCloseTransactionSearch({filtersApplied:j,hasResults:Ve.length>0,isFiltered:E>0,resultsCount:Ve.length,searchTerm:o,searchType:"free_text"})}),[F,ce.fetchState,U.transactionView.uiState.searchString,U.transactionView.transactions,Ue]);const ie=Tc(Ya,(()=>{const o=[],E=Rt.current,j=xt.current,B=j!=null&&E!=null?j[E]:void 0;if(B?.transactionReviewLocalDataById!=null)for(const Se of Object.values(B.transactionReviewLocalDataById)){const Q=Se?.transactionReviewLocalData?.lineItemById;if(Q!=null)for(const ct of Object.values(Q)){const we=ct?.account;we?.accountId!=null&&o.push(we.accountId)}}const he=vt.current;for(const Se of he)for(const Q of Se.lines??[])"account"in Q&&Q.account?.accountId!=null&&o.push(Q.account.accountId);return o}));n.useEffect((()=>{F==="transaction_categorization"&&f!==!0||me(void 0)}),[F,me,f]),n.useEffect((()=>{u===!0&&R?.()}),[F,At.selectedAccountId]);const Ha=U.transactionView.selectedTransactionCategorizationCompletedSubTab,Wa=U.transactionView.selectedTransactionGroup,Be=`${ot}|${Ha}|${Wa}`,Me=n.useRef(null),Ft=n.useRef(null);n.useEffect((()=>{Me.current!==null?Me.current!==Be&&(Me.current=Be,F==="transaction_categorization"&&Y()):Me.current=Be}),[Y,F,Be]);const Qa=D((o=>Fe==null?void 0:Es(o.transactionState,Fe))),re=Qa?.qboId,_t=D((o=>re==null?void 0:As(o,re)));n.useEffect((()=>{re!=null&&c(vs(re))}),[c,re]);const{createTransferEntryStatus:Vt,creditCardTransferAccountsList:Ut,transferAccounts:Bt}=U.transactionView,Mt=n.useCallback((o=>bc(c,o)),[c]),Ot=n.useMemo((()=>F!=="transaction_categorization"||W==null?null:W.contentType==="activity"?nt===!0?T.jsx(uc,{activityLogView:_t,qboId:re,onClose:()=>oe(null),selectedTransactionId:W.detail.transactionId,isQuickViewCardStyle:!0},String(W.detail.transactionId)):null:W.contentType==="transfer"?T.jsx(mc,{createTransferEntryStatus:Vt,creditCardTransferAccountsList:Ut,transaction:W.detail,transferAccounts:Bt,onClose:()=>oe(null),onCreateTransfer:Mt,isQuickViewCardStyle:!0},String(W.detail.transactionId)):null),[F,W,nt,_t,re,Vt,Ut,Bt,Mt]),Ka=Ot!=null,{selectedAccountId:ye}=At,Lt=Je(st.accountSettingsView.saveState.fetchState),Xa=D((o=>ws(o.accountState,o.accountListState,"accountList"))),Za=D((o=>Ps(o))),Ee=kt!=null?xs(kt):F,en=D((o=>o.entityAutoCompleteState.autoCompleteText.common));if(Fa({isDataReady:ce.fetchState==="Completed"}),at==null)throw Error("Can't access expense automation screen without signing in...");const jt=wa(_),Ae=He(jt.start),ve=He(jt.end);if(Ae==null||ve==null)throw Error(`Invalid start - ${Ae} and end - ${ve} period from given ${_}`);const tn=n.useCallback((()=>{X(!1)}),[]),an=n.useCallback((()=>{ne(!0)}),[]),nn=n.useCallback((o=>{q(o),ne(!1)}),[]),on=n.useCallback((()=>{q([])}),[]),Oe=U.missingReceipts.bulkUpload.phase,zt=U.missingReceipts.bulkUpload.currentBatchId;n.useEffect((()=>{be===!0&&F==="missing_receipts"&&Oe==="matching"&&zt!=null&&c(Ra({cacheOverride:!0}))}),[be,F,Oe,zt,c]);const $t=at?.userId,sn=_.month,cn=_.year,Gt=A?.tenantId;n.useEffect((()=>{F==="missing_receipts"&&be!==!1&&Oe==="idle"&&$t!=null&&Gt!=null&&c(Rs())}),[F,be,Oe,$t,Gt,sn,cn,c]),n.useEffect((()=>{z.newVendorState?.vendorDetailLocalData?.vendorName!=null?O(!0):O(!1)}),[z.newVendorState?.vendorDetailLocalData?.vendorName]),n.useEffect((()=>{Ee!=null&&F!==Ee&&c(Pa(Ee))}),[Ee]),n.useEffect((()=>{Z===!1&&ce.fetchState==="Completed"&&m&&(Te(!0),c(ra(!1,!1)))}),[Z,ce,m]),n.useEffect((()=>{const o={month:_.month,year:_.year},E=Ft.current;Ft.current=o,E===null||E.month===o.month&&E.year===o.year||!bt&&m&&(c(ra(!1,!1)),c(le(_,ye,!1,!1)))}),[_.month,_.year,m]);const Le=n.useCallback(((o=!1,E=!1)=>{const j={start:Ae,end:ve};switch(F){case"transaction_categorization":c(ue(ot,j,o,!tt,void 0,void 0,E)),Tt(!1);break;case"flux_analysis":c(Ne(_,o,E,null));break;case"month_end_insights":if(E===!1){const B=new Date(_.year,_.month,0),he=Fs(B.toDateString()).format(Ua.analytics.YYYYDashMMDashDDFormat);c(_s(!0,A.companyId,A.tenantId,he)),c(Vs(A.companyId,A.tenantId))}break;case"je_schedules":c(Ds(j,E));break;case"missing_receipts":c(xa(j,{amount:75,currencyCode:"USD",currencySymbol:"$"},o,E));break;default:c(le(_,ye,o,E))}}),[F,Ae,ve,A.companyId,A.tenantId,ot,_,ye,tt,Tt]),ln=n.useCallback((()=>{Le(!0,!0)}),[Le]);n.useEffect((()=>{F===Ee&&ce.fetchState==="Not-Started"&&m&&Le(!0)}),[ce,Ae,ve,A.companyId,A.tenantId,m]),n.useEffect((()=>{bt||tt||pe.current||Ja.fetchState==="In-Progress"||ce.fetchState!=="Completed"||(pe.current=!0,Le(!0,!0))}),[]),n.useEffect((()=>{J.fetchState!=="In-Progress"&&J.fetchState!=="Completed"&&J.fetchState!=="Error"&&A?.tenantId!=null&&c(Pe({tenantId:A.tenantId,period:_,refreshViewInBackground:!1}))}),[J.fetchState,A?.tenantId]),n.useEffect((()=>{J.fetchState!=="Completed"||!m||(J.monthEndCloseChecks?.monthEndCloseCheckList.some((o=>o.id==="reconciliation"))??!1)&&U.reconciliation.fetchStatus.fetchState==="Not-Started"&&c(le(_,void 0,!1,!1))}),[J.fetchState,m,_.month,_.year,U.reconciliation.fetchStatus.fetchState,c]),n.useEffect((()=>{U.monthEndInsights?.previewMonthEndReportStatus?.fetchState==="Completed"?X(!0):X(!1)}),[U.monthEndInsights?.previewMonthEndReportStatus?.fetchState]),n.useEffect((()=>{U.monthEndInsights?.sendMonthEndReportStatus?.fetchState==="Completed"&&m&&(c(Pe({tenantId:A.tenantId,period:_,refreshViewInBackground:!0})),c(Us({companyId:A.companyId})),y("../"))}),[U.monthEndInsights?.sendMonthEndReportStatus?.fetchState,A.tenantId,_,A.companyId,m]),n.useEffect((()=>{const o=setInterval((()=>{J.fetchState!=="In-Progress"&&J.fetchState==="Completed"&&c(Pe({tenantId:A.tenantId,period:_,refreshViewInBackground:!0}))}),3e5);return()=>clearInterval(o)}),[J.fetchState,A.tenantId,_,c]),n.useEffect((()=>{const o=setInterval((()=>{F==="reconciliation"&&ye==null&&U.reconciliation.fetchStatus.fetchState==="Completed"&&U.reconciliation.refreshStatus.fetchState!=="In-Progress"&&c(le(_,void 0,!0,!0))}),3e5);return()=>clearInterval(o)}),[F,c,U.reconciliation.fetchStatus.fetchState,U.reconciliation.refreshStatus.fetchState,le,ye,_]);const qt=Sa(),Nt=pc(),{onRecommendationSelection:Jt,popup:rn}=yc({isEnabled:qt}),dn=n.useMemo((()=>({...Nt,onRecommendationSelection:Jt})),[Nt,Jt]);n.useEffect((()=>{const o=(J.monthEndCloseChecks?.monthEndCloseCheckList.find((E=>E.id==="month_end_insights"))?.isDisabled??!1)&&!yt;F!=="month_end_insights"||!o&&J.monthEndCloseChecks?.reportEmailSentDate==null||y("../")}),[F,J.monthEndCloseChecks]);const un=u===!0?r:P,mn=u===!0||f===!0,pn=u===!0?R:t;n.useEffect((()=>{Lt==="In-Progress"&&st.accountSettingsView.saveState.fetchState==="Completed"&&c(da())}),[Lt,st.accountSettingsView.saveState.fetchState,da]);const{transactionId:Yt,onSaveVendor:hn,onSaveSuccess:Sn,onCancel:gn,vendorViewDetails:Cn}=(({expenseAutomationViewSelector:o,closeDrawerHandler:E,currentSelectedView:j})=>{const B=Ce();let he,Se,Q;const ct=Sa(),we=o.transactionView;let Ht=()=>{};const{transactions:fn,selectedTransactionId:ge,selectedTransactionLineId:je,transactionLocalData:In}=we;if(j==="transaction_categorization"){const it=In.find((de=>de.transactionId===ge)),ee=fn.find((de=>de.id===ge)),Wt=je!=null?it?.transactionReviewLocalData?.lineItemById[je]:void 0,Qt=Wt?.account;Se=Wt?.class?.classId,he=["Uncategorized Income","Uncategorized Expense"].includes(Qt?.accountName??"")?void 0:Qt?.accountId;const Tn=vc(ge,ee?.typeOfTransaction);ee!=null&&Tn&&(Q={id:ge,type:gt(ee.typeOfTransaction)}),Ht=()=>{if(ge!=null&&je!=null&&ee!=null){const de=we.transactionLocalData.find((ze=>ze.transactionId===ge))?.transactionReviewLocalData;if(de!=null&&ee.lines!=null&&ee.lines.length>0){const ze=de.lineItemById[je];let lt=de.selectedEntity;if(so(ee)||(lt=ze.selectedEntityLine),lt!=null){const bn=lt,yn={transactionId:{id:ee.id,type:ee.type},transaction:ee,lineIds:ee.lines.map((En=>En.id))??[]};B(Ct({entity:bn,amount:ze.amount.amount,transactionDetails:yn,flowType:"categorization",selectedTab:o.selectedTransactionCategorizationTab,isFetchCOT:ct}))}}}}}const kn=D((it=>ea(it,void 0,he,Se)));return{transactionId:Q,onSaveVendor:()=>{B(oo(Q,void 0,!1,!0))},onSaveSuccess:Ht,onCancel:()=>{Q!=null&&B(to({transactionId:Q})),B(ao()),B(no()),E()},vendorViewDetails:kn}})({expenseAutomationViewSelector:U,closeDrawerHandler:()=>{O(!1)},currentSelectedView:F});return Ba?.loggedInUserRoleMap==null?J.fetchState==="Error"?T.jsx(hc,{onGoHome:()=>y("../",{replace:!0}),onReload:()=>window.location.reload()}):T.jsx(_a,{fetchState:"In-Progress"}):T.jsxs(T.Fragment,{children:[T.jsx(xc,{isOpen:fe,drawerLeftMargin:new Sc(0,0,300,650),onClose:()=>{ne(!1)},children:T.jsx(zc,{onClick:o=>o.stopPropagation(),children:T.jsx(_c,{companyId:A.companyId,closeCustomerRequestDrawer:()=>ne(!1),addCustomerRequest:nn,resetCustomerRequest:on})})}),Yt!=null&&V&&T.jsx(Ec,{isOpen:V,transactionId:Yt,onSaveVendor:hn,onSaveSuccess:Sn,onCancel:gn,vendorViewDetails:Cn}),T.jsx(gc,{toolkit:dn,children:T.jsx(Lc,{events:[],eventCallback:(o,E,j)=>{},navigate:y,location:p,themeState:K,categoryOptions:Ga,classesForFilters:Na,accountsForFilters:qa,vendorSearchAutoCompleteData:{autoCompleteText:en,entityAutoCompleteView:$a},expenseAutomationViewSelector:U,isMissingReceiptsBulkUploadEnabled:be,monthEndInsightsPreviewMode:ae,monthEndInsightsCustomerRequestData:Ie,isRealtimeInsightsFeatureEnabled:yt,isCreateTransferEntryFromExpenseEnabled:Et,isAccountingClassesEnabled:Za,isProjectsTransactionsEnabled:La,isCOTEnabled:qt,currentTenant:A,companyId:A.companyId,signedInUser:at,isTransactionActivityEnabled:nt,isRightPanelOpen:Ka,rightSidePanel:Ot,onOpenTransferRightPanel:Et===!0?Xe:void 0,uncategorizedAccounts:Xa,newScheduleActiveType:d,isAccrualEnabled:Ma,newScheduleSelection:x,onNewScheduleSelectionChange:L,onScheduleTypeChange:k,onNewScheduleSaved:ln,onClickCustomerRequest:an,handleEditClick:tn,tenantEmailDomain:et,trackExpenseAutomationTabAnalytics:M,setActivityLogTransactionId:me,closeSidePanel:pn,openTransactionPanel:s,sidePanelIsOpen:mn,sidePanelIsFullView:u!==!0&&C,panelContent:un,isAiCfoAccessEnabled:$,onAskAiCfoClick:Ze,isExpenseAutomationCommentingEnabled:Oa,isReconV3Enabled:ja,onExpenseAutomationCommentingThreadClick:za,sidePanelListPercent:u===!0?66:void 0})}),rn,ie.showPopup&&ie.popupType!=null&&T.jsx(Cc,{popupType:ie.popupType,currencySymbol:ie.currencySymbol,accountId:ie.popupAccountId??"",accountName:ie.popupAccountName??"",onSubmit:ie.handleSubmit,onDismiss:ie.handleDismiss})]})}))),zc=Qe(vn)`
|
|
22
|
+
display: flex;
|
|
23
|
+
min-height: 100%;
|
|
24
|
+
flex-direction: column;
|
|
25
|
+
`;function pi(){return T.jsxs(xn,{children:[T.jsx(rt,{path:"*",element:T.jsx(Rc,{})}),T.jsx(rt,{path:"/:selectedTab/:selectedPeriod/*",element:T.jsx(jc,{})}),T.jsx(rt,{path:"*",element:T.jsx(An,{})})]})}export{pi as default};
|