@zeniai/web-app-ui 5.0.33-qa → 5.0.34-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/AddressRoutes-CGzHGxRT.js +1 -0
- package/dist/assets/{AddressScreen-DdFwf6B9.js → AddressScreen-AFAxFcr6.js} +2 -2
- package/dist/assets/{AiCfoScreen-B-aDToEb.js → AiCfoScreen-DmKyGqNi.js} +3 -3
- package/dist/assets/{BillPayApprovalRoutes-CUNEpL2d.js → BillPayApprovalRoutes-DAmbafPP.js} +1 -1
- package/dist/assets/{BillPayRoutes-zCn-Zih1.js → BillPayRoutes-y8D5pwFQ.js} +1 -1
- package/dist/assets/{BusinessVerificationPageScreen-DDF_wDB6.js → BusinessVerificationPageScreen-C_EI-uLX.js} +2 -2
- package/dist/assets/{ChargeCardRoutes-BDbLEOJQ.js → ChargeCardRoutes-Bfy_R6BT.js} +1 -1
- package/dist/assets/CompanyPassportScreen-B-4IBE60.js +1 -0
- package/dist/assets/ConnectionAuthScreen-C3BprUlv.js +11 -0
- package/dist/assets/CustomerOnboardingAuthScreen-CV1Bn8WP.js +1 -0
- package/dist/assets/{CustomerOnboardingRoutes-DfcQVf4W.js → CustomerOnboardingRoutes-BBj1ArYm.js} +6 -6
- package/dist/assets/{DashboardRoutes-YWwSNPf8.js → DashboardRoutes-6ZUmgonA.js} +3 -3
- package/dist/assets/DefaultTenantHome-BDDHNoZd.js +1 -0
- package/dist/assets/DomesticWireDetailScreen-DD4EK2xs.js +18 -0
- package/dist/assets/DrawerScreen-D1vug7Su.js +1 -0
- package/dist/assets/EntityDetailRoutes-DCqyq3fO.js +1 -0
- package/dist/assets/{ExpenseAutomationRoutes-CLKBAOIl.js → ExpenseAutomationRoutes-BhsC8wfD.js} +3 -3
- package/dist/assets/FeaturePreviewScreen-EBGRCzCx.js +1 -0
- package/dist/assets/MagicLinkRoutes-j5LyzYMu.js +72 -0
- package/dist/assets/MagicLinkSignInScreen-y1GjWrZS.js +12 -0
- package/dist/assets/{MobileAppDrawer-Drm2wCyM.js → MobileAppDrawer-C_-9cGqZ.js} +1 -1
- package/dist/assets/NotFoundScreen-DSiFIhWD.js +1 -0
- package/dist/assets/NotificationRoutes-BOVxdh9J.js +1 -0
- package/dist/assets/{PandLWithForecastRoutes-vnvT0gVk.js → PandLWithForecastRoutes-ClpUJFh8.js} +1 -1
- package/dist/assets/PeopleRoutes-B3fsx3EP.js +22 -0
- package/dist/assets/PerformanceRoutes-CSdn3j19.js +1 -0
- package/dist/assets/{Preview-Bz8E3H0F.js → Preview-DAblAbpj.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-CVsTooPc.js → QBOConnectionScreen-C-sunuvd.js} +1 -1
- package/dist/assets/ReferralListScreen-Qn8W3bhC.js +5 -0
- package/dist/assets/{ReimbursementApprovalRoutes-WdWB7FdD.js → ReimbursementApprovalRoutes-hDXh-CX1.js} +1 -1
- package/dist/assets/{ReimbursementApprovalRuleDetailScreen-CkCienoN.js → ReimbursementApprovalRuleDetailScreen-kyHtSpq0.js} +1 -1
- package/dist/assets/{ReimbursementRoutes-cOeimOSm.js → ReimbursementRoutes-Cm59fVqI.js} +9 -9
- package/dist/assets/{ReportsRoutes-DmoCGMuK.js → ReportsRoutes-WM0xdLh1.js} +1 -1
- package/dist/assets/RewardsRoutes-CrTfYe3R.js +1 -0
- package/dist/assets/ScreenRoutes-DNKRkVOP.js +2 -0
- package/dist/assets/{SettingsRoutes-BnCyiiE0.js → SettingsRoutes-8vIYIDnj.js} +7 -7
- package/dist/assets/{SetupPagesScreen-Dmf5AxLf.js → SetupPagesScreen-BOIC8eCo.js} +5 -5
- package/dist/assets/{SignInScreen-BHgN3ruB.js → SignInScreen-BkALz30W.js} +1 -1
- package/dist/assets/SignOutScreen-74CQEWcD.js +9 -0
- package/dist/assets/{TaskListScreen-Cyjx-OC3.js → TaskListScreen-CsUTsKBi.js} +2 -2
- package/dist/assets/TaskRoutes-DkPm7AnC.js +9 -0
- package/dist/assets/TransactionDetailRoutes-BpNPK9Vy.js +1 -0
- package/dist/assets/{TransactionDetailScreen-wEgjZ57f.js → TransactionDetailScreen-BsTrwOAd.js} +2 -2
- package/dist/assets/{TransactionListRoutes-CyY6bmxt.js → TransactionListRoutes-i8s0WF_Q.js} +1 -1
- package/dist/assets/TreasuryRoutes-BRD3Rl3h.js +37 -0
- package/dist/assets/{VendorsRoutes-FteOiqAA.js → VendorsRoutes-EtZz9bTZ.js} +1 -1
- package/dist/assets/{WiseConfirmationScreen-ITlfs0VP.js → WiseConfirmationScreen-C2OctdPH.js} +2 -2
- package/dist/assets/{ZeniAccountRoutes-Bj6aLGI9.js → ZeniAccountRoutes-CN875CoG.js} +7 -7
- package/dist/assets/ZeniAccountStatementScreen-BAiLbvsx.js +9 -0
- package/dist/assets/{accountMappingHelper-B6bZQ8yR.js → accountMappingHelper-1H6YzkWh.js} +1 -1
- package/dist/assets/{analytics-Ch-ak7gp.js → analytics-D6PJZcCm.js} +1 -1
- package/dist/assets/{analyticsHelper-CP3TOE0l.js → analyticsHelper-edBX1gRH.js} +1 -1
- package/dist/assets/{core-CeHHCRsO.js → core-C33SxPr0.js} +1 -1
- package/dist/assets/{decodeURIComponentSafe-Dp-U0ChB.js → decodeURIComponentSafe-DBubftdA.js} +1 -1
- package/dist/assets/{dnd-hZIw-3DZ.js → dnd-WhcD1exD.js} +1 -1
- package/dist/assets/{empty-BnIIm6SS.js → empty-CH-y1nWQ.js} +1 -1
- package/dist/assets/{empty-Cy0_m91q.js → empty-CdwAoCYs.js} +1 -1
- package/dist/assets/{emptyVideoElement-DHFCQtyU.js → emptyVideoElement-D7Jr7Sdq.js} +1 -1
- package/dist/assets/{epic-HUhsfx8y.js → epic-CWZablXh.js} +1 -1
- package/dist/assets/getLocaleForTenant-Xh1uaNO2.js +1 -0
- package/dist/assets/{index-DOWxjRti.js → index-B0trrGH2.js} +1 -1
- package/dist/assets/{index-ClT4aCIz.js → index-DOtJS3_4.js} +2 -2
- package/dist/assets/{index-D5XKh55a.js → index-DZESz0T9.js} +1 -1
- package/dist/assets/{index-zy4Z27td.js → index-DorjXAyZ.js} +1 -1
- package/dist/assets/{index-C1Nz4ObA.js → index-VKfxo2ml.js} +1 -1
- package/dist/assets/{index-C_gae4SI.js → index-li9kl9K_.js} +1 -1
- package/dist/assets/{index-TNOJKpxi.js → index-pUXlb0zY.js} +13130 -13316
- package/dist/assets/{lexical-BRvRsnRt.js → lexical-QnRSjOj3.js} +1 -1
- package/dist/assets/{liveblocks-ktikibPc.js → liveblocks-CobNzJQ8.js} +1 -1
- package/dist/assets/{lottie-BZnwKWVQ.js → lottie-C3pXl1t7.js} +1 -1
- package/dist/assets/{mui-BcN8nM6l.js → mui-BZJL7p2F.js} +1 -1
- package/dist/assets/{pathToGoBack-BTubduSA.js → pathToGoBack-CZlpwtCa.js} +1 -1
- package/dist/assets/{pdf-CeFSGDZc.js → pdf-B8JyBdKX.js} +4 -4
- package/dist/assets/{pdf-lib-B3JeYCZ4.js → pdf-lib-ALX3DMYD.js} +1 -1
- package/dist/assets/{plaid-BIfn11py.js → plaid-JaP9Mc6f.js} +1 -1
- package/dist/assets/{pusher-J1MfJQfv.js → pusher-D0u2ilRO.js} +1 -1
- package/dist/assets/{react-Ukgqh5im.js → react-6yjdboHz.js} +1 -1
- package/dist/assets/{react-BlDA8qLA.js → react-CrQJkVRu.js} +1 -1
- package/dist/assets/{react-B82e5ew1.js → react-D2VdXtRP.js} +1 -1
- package/dist/assets/{react-BWlFoOhS.js → react-D9j1suk9.js} +1 -1
- package/dist/assets/{react-D-Y63YAu.js → react-DCJPlJgN.js} +1 -1
- package/dist/assets/{react-DnMl3IJe.js → react-i0rXVvq8.js} +1 -1
- package/dist/assets/{recharts-BoGmRVv5.js → recharts-DgAB7GKe.js} +1 -1
- package/dist/assets/{routePaths-NR-ZwT3u.js → routePaths-LaBmoMCH.js} +1 -1
- package/dist/assets/{sentry-B-Fm9h-1.js → sentry-4KELney1.js} +1 -1
- package/dist/assets/{url-C-8gN_nt.js → url-Bgtn40KH.js} +1 -1
- package/dist/assets/{url-DKh_C2jl.js → url-xkPMMYm1.js} +1 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-AnwBVkwu.js +1 -0
- package/dist/assets/{useDeviceId-BixMum0t.js → useDeviceId-aR311Sxi.js} +1 -1
- package/dist/assets/useFetchSuggestedQuestionsWhenReady-CooyddDy.js +1 -0
- package/dist/assets/{useInitialThreadRequest-oc-L5Dxh.js → useInitialThreadRequest-wLyFIlY1.js} +1 -1
- package/dist/assets/{utils-BgeAfdtF.js → utils-BZbMXTZs.js} +1 -1
- package/dist/assets/{withTransactionSidePanel-CjfmLvRl.js → withTransactionSidePanel-Chqi629s.js} +3 -3
- package/dist/assets/{zeni-epic-state-CFbdjqYE.js → zeni-epic-state-Bc0tGzp_.js} +3 -3
- package/dist/index.html +1 -1
- package/package.json +2 -2
- package/dist/assets/AddressRoutes-jdCb1ec6.js +0 -1
- package/dist/assets/CompanyPassportScreen-gg653jif.js +0 -1
- package/dist/assets/ConnectionAuthScreen-DTiYf9Um.js +0 -11
- package/dist/assets/CustomerOnboardingAuthScreen-bEPRZBvS.js +0 -1
- package/dist/assets/DefaultTenantHome-Cvx-9tsw.js +0 -1
- package/dist/assets/DomesticWireDetailScreen-BjJd0Svi.js +0 -18
- package/dist/assets/DrawerScreen-C_WbjxND.js +0 -1
- package/dist/assets/EntityDetailRoutes-CltC6YPG.js +0 -1
- package/dist/assets/FeaturePreviewScreen-Bd6g1SsY.js +0 -1
- package/dist/assets/MagicLinkRoutes-fm0HCBmp.js +0 -72
- package/dist/assets/MagicLinkSignInScreen-DeP9x-6T.js +0 -12
- package/dist/assets/NotFoundScreen-D1xgHeGq.js +0 -1
- package/dist/assets/NotificationRoutes-BdGx1atv.js +0 -1
- package/dist/assets/PeopleRoutes-7oriYBX4.js +0 -22
- package/dist/assets/PerformanceRoutes-VrNTq3lp.js +0 -1
- package/dist/assets/ReferralListScreen-CCZuNkcr.js +0 -5
- package/dist/assets/RewardsRoutes-CiTE9FpF.js +0 -1
- package/dist/assets/ScreenRoutes-e0YGfi2O.js +0 -2
- package/dist/assets/SignOutScreen-yUYCgqrA.js +0 -9
- package/dist/assets/TaskRoutes-IpV0Pat4.js +0 -9
- package/dist/assets/TransactionDetailRoutes-DETFmJaY.js +0 -1
- package/dist/assets/TreasuryRoutes-CfhybOH4.js +0 -37
- package/dist/assets/ZeniAccountStatementScreen-HyiXuC9A.js +0 -9
- package/dist/assets/getLocaleForTenant-Bl6R4VmV.js +0 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-OedeMybz.js +0 -1
- package/dist/assets/useFetchSuggestedQuestionsWhenReady-C4GQDaTu.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as l}from"./liveblocks-ktikibPc.js";import{l as K,g as k,u as z,h as N,j as q,k as H,s as $a,n as at,o as D}from"./core-CeHHCRsO.js";import{eN as L,Jw as Le,bC as Yt,bq as de,KJ as za,hT as qa,KK as wt,KL as Za,hW as nt,KM as Be,KN as Ha,h$ as Ja,KO as xt,KP as Qa,i3 as ot,KQ as Re,KR as Wa,cO as rt,KS as Xa,KT as en,JQ as tn,iZ as an,KU as nn,bn as Se,KV as Gt,Jk as X,bc as Vt,jb as Nt,mu as Kt,iW as $t,Jm as ee,Jl as Z,f3 as on,fl as sn,KW as rn,KX as cn,KY as zt,KZ as fe,tB as ye,tC as ve,tZ as ue,tT as te,tG as Ie,K_ as ln,K$ as dn,L0 as un,L1 as qt,L2 as ge,L3 as mn,dB as Me,qd as Zt,L4 as pn,L5 as hn,L6 as fn,L7 as it,IH as ct,jr as lt,u5 as dt,ql as gn,L8 as Cn,tD as Dt,qg as ce,qc as Ht,L9 as oe,La as bn,Lb as ut,IG as mt,sd as Jt,Lc as _n,Ld as kn,Le as Sn,Lf as pt,sq as yn,Lg as vn,tF as Ot,sc as Qt,Lh as se,Li as In,bv as Wt,u9 as Xt,Lj as An,Lk as En,Ll as Tn,Lm as ht,u4 as wn,Ln as xn,tE as Ft,u8 as ea,Lo as re,Lp as Dn,Lq as On,Lr as ta,jg as aa,mr as na,jl as oa,mp as sa,mo as ra,mn as ia,rB as Fn,fb as Pn,cL as Bn,cM as Rn,mk as jn,f7 as Ln,mA as Mn,Ls as Un,Dd as Yn,Lt as Gn,Lu as Vn,Lv as Nn,b5 as ft,eZ as Kn,gB as $n,fC as zn,mv as qn,iP as Zn,ms as Hn,mq as Jn,eT as Qn,eR as Wn}from"./zeni-epic-state-CFbdjqYE.js";import{z as j,U as J,y as O,c as I,O as $,aP as Xn,J as Ae,C as Ee,aQ as ca,f as G,aR as eo,j as Te,aS as la,m as Ue,d as M,h as to,aT as ao,aU as no,K as oo,a as da,$ as so,aV as ro,aI as ua,aW as io,aX as co,R as lo,aY as we,aZ as uo,al as mo,w as po,M as ho,a_ as fo,a$ as be}from"./index-TNOJKpxi.js";import{n as gt}from"./mui-BcN8nM6l.js";import{a as _}from"./sentry-B-Fm9h-1.js";import{w as ma}from"./withTransactionSidePanel-CjfmLvRl.js";import{b as pa,t as me,e as ae,a as Ct,v as go}from"./routePaths-NR-ZwT3u.js";import{u as Ye}from"./useAskAiCfoHostNavButtonProps-OedeMybz.js";import{c as xe,b as Co}from"./useFetchSuggestedQuestionsWhenReady-C4GQDaTu.js";import ke from"./NotFoundScreen-D1xgHeGq.js";import{t as ha}from"./analyticsHelper-CP3TOE0l.js";import{C as bo}from"./CompanyPassportScreen-gg653jif.js";import{F as _o}from"./FeaturePreviewScreen-Bd6g1SsY.js";import{R as ko}from"./ReferralListScreen-CCZuNkcr.js";import"./recharts-BoGmRVv5.js";import"./analytics-Ch-ak7gp.js";import"./plaid-BIfn11py.js";import"./dnd-hZIw-3DZ.js";import"./stripe-DMRn4zHo.js";import"./lottie-BZnwKWVQ.js";import"./lexical-BRvRsnRt.js";import"./pdf-CeFSGDZc.js";import"./utils-BgeAfdtF.js";import"./TransactionDetailScreen-wEgjZ57f.js";import"./decodeURIComponentSafe-Dp-U0ChB.js";import"./MobileAppDrawer-Drm2wCyM.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]="c140a999-a0ad-45fa-a5c2-821fd59f2cb4",e._sentryDebugIdIdentifier="sentry-dbid-c140a999-a0ad-45fa-a5c2-821fd59f2cb4")}catch{}})();const So=ma(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=j.getSignedInUser(),i=k(T=>T.tenantState.currentTenantId),d=k(T=>L(T)),{tenantEmailDomain:f}=K(),g=z(),C=d?.companyName??"",p={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},c=_.useMemo(()=>({authParams:p,companyName:C,downloadEndPoint:`${J}/agingDetailedReport`,timezone:Le()}),[]),u=_.useMemo(()=>r!=null?Yt(r):de(),[r]),h=N(),m=q(),b=k(T=>za(T,u,o)),S=_.useCallback(()=>{o!=null&&b.fetchState!=="In-Progress"&&b.fetchState!=="Completed"&&h(qa(o,u))},[u]),A=_.useCallback(()=>{m("../../",{relative:"path"})},[]),P=_.useCallback((T,B)=>{h(wt({sortKey:T,sortOrder:B}))},[]),E=_.useCallback(T=>{h(wt({downloadState:T}))},[]),y=_.useCallback(T=>{if(e)e(T.transactionId,T.transactionType);else if(f!=null){const B=pa({id:T.transactionId,type:T.transactionType},f);m(B);const pe=O(g.state?.pathnameStackToGoBack,g.pathname);m(B,{state:{pathnameStackToGoBack:pe}})}},[f,e]),w=_.useCallback(()=>{b.vendor!=null&&I.trackApAgingDetail("AP Aging",u.format($.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),b.vendor.id,b.vendor.name)},[b.vendor,u]);return _.useEffect(()=>{S()},[]),_.useEffect(()=>{b.fetchState==="Completed"&&w()},[w,b.fetchState]),l.jsx(Xn,{apAgingDetail:b,downloadParams:c,reportDate:u,analytics:I,onTransactionClick:y,onReload:S,onBackClick:A,onColumnSortConfigChanged:P,updateDownloadStateHandler:E,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),yo=()=>{const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Ae(),t=N(),n=q(),o=k(y=>Za(y)),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=Ye({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"AP Aging"});xe({isDataReady:o.fetchState==="Completed"});const i=j.getSignedInUser(),d=k(y=>y.tenantState.currentTenantId),f=k(y=>L(y)),g=f?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},p=_.useMemo(()=>({authParams:C,companyName:g,downloadEndPoint:`${J}/agingReport`,timezone:Le()}),[]),c=o.apAgingUIState.selectedDate??de(),u=_.useCallback(()=>{o.fetchState!=="In-Progress"&&o.fetchState!=="Completed"&&t(nt(c))},[]);_.useEffect(()=>{u()},[]);const h=_.useCallback(()=>{n("../",{relative:"path"})},[]),m=_.useCallback(y=>{t(Be({searchString:y}))},[]),b=_.useCallback((y,w)=>{t(Be({sortKey:w,sortOrder:y}))},[]),S=_.useCallback(y=>{n(`./${y}/${c.format($.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[c]),A=_.useCallback(y=>{t(Be({downloadState:y}))},[]),P=_.useCallback((y,w)=>{},[]),E=_.useCallback((y,w)=>{t(Be({selectedDate:y,agingDateSelectionType:w})),t(nt(y))},[]);return l.jsxs(l.Fragment,{children:[o.fetchState==="Completed"?l.jsx(Ee,{analytics:I,onLoad:y=>y.trackPageLoaded(G.Event.agingReport,"AP Aging")}):null,l.jsx(ca,{uiState:o.apAgingUIState,report:o,downloadParams:p,analytics:I,onReloadReport:u,onBackClick:h,onSearchTextChange:m,onSortOrderChange:b,onEntityNameClick:S,updateDownloadStateHandler:A,onSelectedDateChanged:E,onNodeCollapseToggled:P,isAiCfoAccessEnabled:r,onAskAiCfoClick:s})]})},vo=ma(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=j.getSignedInUser(),i=k(w=>L(w)),{tenantEmailDomain:d}=K(),f=z(),g=i.companyName,C={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},p=_.useMemo(()=>({authParams:C,companyName:g,downloadEndPoint:`${J}/agingDetailedReport`,timezone:Le()}),[]),c=_.useMemo(()=>r!=null?Yt(r):de(),[r]),u=N(),h=q(),m=k(w=>Ha(w,c,o)),b=_.useCallback(()=>{o!=null&&m.fetchState!=="In-Progress"&&m.fetchState!=="Completed"&&u(Ja(o,c))},[c]),S=_.useCallback(()=>{h("../../",{relative:"path"})},[]),A=_.useCallback((w,T)=>{u(xt({sortKey:w,sortOrder:T}))},[]),P=_.useCallback(w=>{u(xt({downloadState:w}))},[]),E=_.useCallback(w=>{if(e)e(w.transactionId,w.transactionType);else if(d!=null){const T=pa({id:w.transactionId,type:w.transactionType},d);h(T);const B=O(f.state?.pathnameStackToGoBack,f.pathname);h(T,{state:{pathnameStackToGoBack:B}})}},[d,e]),y=_.useCallback(()=>{m.customer!=null&&I.trackArAgingDetail("AR Aging",c.format($.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),m.customer.id,m.customer.name)},[m.customer,c]);return _.useEffect(()=>{b()},[]),_.useEffect(()=>{m.fetchState==="Completed"&&y()},[m.fetchState,y]),l.jsx(eo,{arAgingDetail:m,downloadParams:p,reportDate:c,analytics:I,onTransactionClick:E,onReload:b,onBackClick:S,onColumnSortConfigChanged:A,updateDownloadStateHandler:P,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),Io=()=>{const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Ae(),t=N(),n=q(),o=k(E=>Qa(E)),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=Ye({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"AR Aging"});xe({isDataReady:o.fetchState==="Completed"});const i=j.getSignedInUser(),d=k(E=>L(E)),f=d.companyName,g={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d.tenantId},C=_.useMemo(()=>({authParams:g,companyName:f,downloadEndPoint:`${J}/agingReport`,timezone:Le()}),[]),p=o.arAgingUIState.selectedDate??de(),c=_.useCallback(()=>{o.fetchState!=="In-Progress"&&o.fetchState!=="Completed"&&t(ot(p))},[]);_.useEffect(()=>{c()},[]);const u=_.useCallback(()=>{n("../",{relative:"path"})},[]),h=_.useCallback(E=>{t(Re({searchString:E}))},[]),m=_.useCallback((E,y)=>{t(Re({sortKey:y,sortOrder:E}))},[]),b=_.useCallback(E=>{n(`./${E}/${p.format($.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[p]),S=_.useCallback(E=>{t(Re({downloadState:E}))},[]),A=_.useCallback((E,y)=>{t(Re({selectedDate:E,agingDateSelectionType:y})),t(ot(E))},[]),P=_.useCallback((E,y)=>{t(Wa({nodeId:E,isCollapsed:y}))},[]);return l.jsxs(l.Fragment,{children:[o.fetchState==="Completed"?l.jsx(Ee,{analytics:I,onLoad:E=>E.trackPageLoaded(G.Event.agingReport,"AR Aging")}):null,l.jsx(ca,{uiState:o.arAgingUIState,report:o,downloadParams:C,analytics:I,onReloadReport:c,onBackClick:u,onSearchTextChange:h,onSortOrderChange:m,onEntityNameClick:b,updateDownloadStateHandler:S,onSelectedDateChanged:A,onNodeCollapseToggled:P,isAiCfoAccessEnabled:r,onAskAiCfoClick:s})]})},fa=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function ga(e,a){const t=tn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=me(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(an(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?I.trackZeniAccountsCashBalancePromoClicked("Move Money"):(I.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else I.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const Ao=H(function(e){const a=Xa(e).accountsInOrder.map((n,o)=>fa(n,o)),t=en(e);return{sectionTitle:$.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:I}},ga)(la),Eo=H(function(e){const a=nn(e).accountsInOrder.map((o,r)=>fa(o,r)),t=j.getSignedInUser(),n=Se(t);return{sectionTitle:$.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:I}},ga)(la);function To(){const e=q(),a=z(),{tenantEmailDomain:t}=K(),n=Te(),o=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1),r=rt(n?.loggedInUserRoleMap);return k(s=>s.cashBalanceState.fetchState)==="Error"?l.jsx(ke,{}):l.jsx(Ao,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function wo(){const e=q(),a=z(),{tenantEmailDomain:t}=K(),n=Te(),o=rt(n?.loggedInUserRoleMap),r=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1);return k(s=>s.cardBalanceState.fetchState)==="Error"?l.jsx(ke,{}):l.jsx(Eo,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const xo=gt.div`
|
|
1
|
+
import{j as l}from"./liveblocks-CobNzJQ8.js";import{l as K,g as k,u as z,h as N,j as q,k as H,s as $a,n as at,o as D}from"./core-C33SxPr0.js";import{eN as L,Jw as Le,bC as Yt,bq as de,KJ as za,hT as qa,KK as wt,KL as Za,hW as nt,KM as Be,KN as Ha,h$ as Qa,KO as xt,KP as Ja,i3 as ot,KQ as Re,KR as Wa,cO as rt,KS as Xa,KT as en,JQ as tn,iZ as an,KU as nn,bn as Se,KV as Gt,Jk as X,bc as Vt,jb as Nt,mu as Kt,iW as $t,Jm as ee,Jl as Z,f3 as on,fl as sn,KW as rn,KX as cn,KY as zt,KZ as fe,tB as ye,tC as ve,tZ as ue,tT as te,tG as Ie,K_ as ln,K$ as dn,L0 as un,L1 as qt,L2 as ge,L3 as mn,dB as Me,qd as Zt,L4 as pn,L5 as hn,L6 as fn,L7 as it,IH as ct,jr as lt,u5 as dt,ql as gn,L8 as bn,tD as Dt,qg as ce,qc as Ht,L9 as oe,La as Cn,Lb as ut,IG as mt,sd as Qt,Lc as _n,Ld as kn,Le as Sn,Lf as pt,sq as yn,Lg as vn,tF as Ot,sc as Jt,Lh as se,Li as In,bv as Wt,u9 as Xt,Lj as An,Lk as En,Ll as Tn,Lm as ht,u4 as wn,Ln as xn,tE as Ft,u8 as ea,Lo as re,Lp as Dn,Lq as On,Lr as ta,jg as aa,mr as na,jl as oa,mp as sa,mo as ra,mn as ia,rB as Fn,fb as Pn,cL as Bn,cM as Rn,mk as jn,f7 as Ln,mA as Mn,Ls as Un,Dd as Yn,Lt as Gn,Lu as Vn,Lv as Nn,b5 as ft,eZ as Kn,gB as $n,fC as zn,mv as qn,iP as Zn,ms as Hn,mq as Qn,eT as Jn,eR as Wn}from"./zeni-epic-state-Bc0tGzp_.js";import{z as j,R as Q,s as O,e as I,D as $,aP as Xn,I as Ae,J as Ee,aQ as ca,g as G,aR as eo,j as Te,aS as la,a as Ue,d as M,h as to,aT as ao,aU as no,Z as oo,c as da,$ as so,aV as ro,aI as ua,aW as io,aX as co,Q as lo,aY as we,aZ as uo,al as mo,q as po,K as ho,a_ as fo,a$ as Ce}from"./index-pUXlb0zY.js";import{n as gt}from"./mui-BZJL7p2F.js";import{a as _}from"./sentry-4KELney1.js";import{w as ma}from"./withTransactionSidePanel-Chqi629s.js";import{b as pa,t as me,e as ae,a as bt,v as go}from"./routePaths-LaBmoMCH.js";import{u as Ye}from"./useAskAiCfoHostNavButtonProps-AnwBVkwu.js";import{c as xe,b as bo}from"./useFetchSuggestedQuestionsWhenReady-CooyddDy.js";import ke from"./NotFoundScreen-DSiFIhWD.js";import{t as ha}from"./analyticsHelper-edBX1gRH.js";import{C as Co}from"./CompanyPassportScreen-B-4IBE60.js";import{F as _o}from"./FeaturePreviewScreen-EBGRCzCx.js";import{R as ko}from"./ReferralListScreen-Qn8W3bhC.js";import"./recharts-DgAB7GKe.js";import"./analytics-D6PJZcCm.js";import"./plaid-JaP9Mc6f.js";import"./dnd-WhcD1exD.js";import"./stripe-DMRn4zHo.js";import"./lottie-C3pXl1t7.js";import"./lexical-QnRSjOj3.js";import"./pdf-B8JyBdKX.js";import"./utils-BZbMXTZs.js";import"./TransactionDetailScreen-BsTrwOAd.js";import"./decodeURIComponentSafe-DBubftdA.js";import"./MobileAppDrawer-C_-9cGqZ.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]="78ca7d32-7cbb-4e4f-ba44-b054a5832109",e._sentryDebugIdIdentifier="sentry-dbid-78ca7d32-7cbb-4e4f-ba44-b054a5832109")}catch{}})();const So=ma(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=j.getSignedInUser(),i=k(T=>T.tenantState.currentTenantId),d=k(T=>L(T)),{tenantEmailDomain:f}=K(),g=z(),b=d?.companyName??"",p={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},c=_.useMemo(()=>({authParams:p,companyName:b,downloadEndPoint:`${Q}/agingDetailedReport`,timezone:Le()}),[]),u=_.useMemo(()=>r!=null?Yt(r):de(),[r]),h=N(),m=q(),C=k(T=>za(T,u,o)),S=_.useCallback(()=>{o!=null&&C.fetchState!=="In-Progress"&&C.fetchState!=="Completed"&&h(qa(o,u))},[u]),A=_.useCallback(()=>{m("../../",{relative:"path"})},[]),P=_.useCallback((T,B)=>{h(wt({sortKey:T,sortOrder:B}))},[]),E=_.useCallback(T=>{h(wt({downloadState:T}))},[]),y=_.useCallback(T=>{if(e)e(T.transactionId,T.transactionType);else if(f!=null){const B=pa({id:T.transactionId,type:T.transactionType},f);m(B);const pe=O(g.state?.pathnameStackToGoBack,g.pathname);m(B,{state:{pathnameStackToGoBack:pe}})}},[f,e]),w=_.useCallback(()=>{C.vendor!=null&&I.trackApAgingDetail("AP Aging",u.format($.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),C.vendor.id,C.vendor.name)},[C.vendor,u]);return _.useEffect(()=>{S()},[]),_.useEffect(()=>{C.fetchState==="Completed"&&w()},[w,C.fetchState]),l.jsx(Xn,{apAgingDetail:C,downloadParams:c,reportDate:u,analytics:I,onTransactionClick:y,onReload:S,onBackClick:A,onColumnSortConfigChanged:P,updateDownloadStateHandler:E,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),yo=()=>{const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Ae(),t=N(),n=q(),o=k(y=>Za(y)),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=Ye({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"AP Aging"});xe({isDataReady:o.fetchState==="Completed"});const i=j.getSignedInUser(),d=k(y=>y.tenantState.currentTenantId),f=k(y=>L(y)),g=f?.companyName??"",b={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},p=_.useMemo(()=>({authParams:b,companyName:g,downloadEndPoint:`${Q}/agingReport`,timezone:Le()}),[]),c=o.apAgingUIState.selectedDate??de(),u=_.useCallback(()=>{o.fetchState!=="In-Progress"&&o.fetchState!=="Completed"&&t(nt(c))},[]);_.useEffect(()=>{u()},[]);const h=_.useCallback(()=>{n("../",{relative:"path"})},[]),m=_.useCallback(y=>{t(Be({searchString:y}))},[]),C=_.useCallback((y,w)=>{t(Be({sortKey:w,sortOrder:y}))},[]),S=_.useCallback(y=>{n(`./${y}/${c.format($.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[c]),A=_.useCallback(y=>{t(Be({downloadState:y}))},[]),P=_.useCallback((y,w)=>{},[]),E=_.useCallback((y,w)=>{t(Be({selectedDate:y,agingDateSelectionType:w})),t(nt(y))},[]);return l.jsxs(l.Fragment,{children:[o.fetchState==="Completed"?l.jsx(Ee,{analytics:I,onLoad:y=>y.trackPageLoaded(G.Event.agingReport,"AP Aging")}):null,l.jsx(ca,{uiState:o.apAgingUIState,report:o,downloadParams:p,analytics:I,onReloadReport:u,onBackClick:h,onSearchTextChange:m,onSortOrderChange:C,onEntityNameClick:S,updateDownloadStateHandler:A,onSelectedDateChanged:E,onNodeCollapseToggled:P,isAiCfoAccessEnabled:r,onAskAiCfoClick:s})]})},vo=ma(function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=j.getSignedInUser(),i=k(w=>L(w)),{tenantEmailDomain:d}=K(),f=z(),g=i.companyName,b={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},p=_.useMemo(()=>({authParams:b,companyName:g,downloadEndPoint:`${Q}/agingDetailedReport`,timezone:Le()}),[]),c=_.useMemo(()=>r!=null?Yt(r):de(),[r]),u=N(),h=q(),m=k(w=>Ha(w,c,o)),C=_.useCallback(()=>{o!=null&&m.fetchState!=="In-Progress"&&m.fetchState!=="Completed"&&u(Qa(o,c))},[c]),S=_.useCallback(()=>{h("../../",{relative:"path"})},[]),A=_.useCallback((w,T)=>{u(xt({sortKey:w,sortOrder:T}))},[]),P=_.useCallback(w=>{u(xt({downloadState:w}))},[]),E=_.useCallback(w=>{if(e)e(w.transactionId,w.transactionType);else if(d!=null){const T=pa({id:w.transactionId,type:w.transactionType},d);h(T);const B=O(f.state?.pathnameStackToGoBack,f.pathname);h(T,{state:{pathnameStackToGoBack:B}})}},[d,e]),y=_.useCallback(()=>{m.customer!=null&&I.trackArAgingDetail("AR Aging",c.format($.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),m.customer.id,m.customer.name)},[m.customer,c]);return _.useEffect(()=>{C()},[]),_.useEffect(()=>{m.fetchState==="Completed"&&y()},[m.fetchState,y]),l.jsx(eo,{arAgingDetail:m,downloadParams:p,reportDate:c,analytics:I,onTransactionClick:E,onReload:C,onBackClick:S,onColumnSortConfigChanged:A,updateDownloadStateHandler:P,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})}),Io=()=>{const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Ae(),t=N(),n=q(),o=k(E=>Ja(E)),{isAiCfoAccessEnabled:r,onAskAiCfoClick:s}=Ye({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"AR Aging"});xe({isDataReady:o.fetchState==="Completed"});const i=j.getSignedInUser(),d=k(E=>L(E)),f=d.companyName,g={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d.tenantId},b=_.useMemo(()=>({authParams:g,companyName:f,downloadEndPoint:`${Q}/agingReport`,timezone:Le()}),[]),p=o.arAgingUIState.selectedDate??de(),c=_.useCallback(()=>{o.fetchState!=="In-Progress"&&o.fetchState!=="Completed"&&t(ot(p))},[]);_.useEffect(()=>{c()},[]);const u=_.useCallback(()=>{n("../",{relative:"path"})},[]),h=_.useCallback(E=>{t(Re({searchString:E}))},[]),m=_.useCallback((E,y)=>{t(Re({sortKey:y,sortOrder:E}))},[]),C=_.useCallback(E=>{n(`./${E}/${p.format($.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)},[p]),S=_.useCallback(E=>{t(Re({downloadState:E}))},[]),A=_.useCallback((E,y)=>{t(Re({selectedDate:E,agingDateSelectionType:y})),t(ot(E))},[]),P=_.useCallback((E,y)=>{t(Wa({nodeId:E,isCollapsed:y}))},[]);return l.jsxs(l.Fragment,{children:[o.fetchState==="Completed"?l.jsx(Ee,{analytics:I,onLoad:E=>E.trackPageLoaded(G.Event.agingReport,"AR Aging")}):null,l.jsx(ca,{uiState:o.arAgingUIState,report:o,downloadParams:b,analytics:I,onReloadReport:c,onBackClick:u,onSearchTextChange:h,onSortOrderChange:m,onEntityNameClick:C,updateDownloadStateHandler:S,onSelectedDateChanged:A,onNodeCollapseToggled:P,isAiCfoAccessEnabled:r,onAskAiCfoClick:s})]})},fa=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function ga(e,a){const t=tn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=me(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(an(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?I.trackZeniAccountsCashBalancePromoClicked("Move Money"):(I.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else I.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const Ao=H(function(e){const a=Xa(e).accountsInOrder.map((n,o)=>fa(n,o)),t=en(e);return{sectionTitle:$.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:I}},ga)(la),Eo=H(function(e){const a=nn(e).accountsInOrder.map((o,r)=>fa(o,r)),t=j.getSignedInUser(),n=Se(t);return{sectionTitle:$.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:I}},ga)(la);function To(){const e=q(),a=z(),{tenantEmailDomain:t}=K(),n=Te(),o=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1),r=rt(n?.loggedInUserRoleMap);return k(s=>s.cashBalanceState.fetchState)==="Error"?l.jsx(ke,{}):l.jsx(Ao,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function wo(){const e=q(),a=z(),{tenantEmailDomain:t}=K(),n=Te(),o=rt(n?.loggedInUserRoleMap),r=k(s=>L(s).company?.companyInfo.firstMonthOfFY??1);return k(s=>s.cardBalanceState.fetchState)==="Error"?l.jsx(ke,{}):l.jsx(Eo,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const xo=gt.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex: 1 1 auto;
|
|
4
4
|
min-height: 100%;
|
|
@@ -10,11 +10,11 @@ import{j as l}from"./liveblocks-ktikibPc.js";import{l as K,g as k,u as z,h as N,
|
|
|
10
10
|
flex-direction: column;
|
|
11
11
|
align-items: center;
|
|
12
12
|
background-color: ${e=>e.theme.colors.grey4};
|
|
13
|
-
`;function Oo({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=q(),i=N(),d=z(),{tenantEmailDomain:f}=K(),g=to();return l.jsxs(xo,{children:[l.jsx(ao,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:g.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:C=>{C.trim().length>=2?i(ee({searchString:C,searchOrigin:"navbar"})):C.trim().length===0&&i(Z("navbar"))},onAutoCompleteEntity:C=>{n!=null&&I?.trackSearch(G.Event.search,Fo(a),C.type,C.name,n);const p=ae(C,f),c=O(d.state?.pathnameStackToGoBack,d.pathname);s(p,{state:{pathnameStackToGoBack:c}})}}},rightSideComponent:o===!0&&r!=null?l.jsx(no,{onClick:r}):null}),l.jsx(Do,{children:a==="cash_balance"?l.jsx(To,{}):l.jsx(wo,{})})]})}function Pt(){const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Ae(),t=z(),n=N(),{useFeatureGate:o}=Ue(),{isFeatureEnabled:r}=o(M.isDepositAccountsFeatureEnabled),s=k(b=>b.cashBalanceState.fetchState),i=k(b=>b.cardBalanceState.fetchState),d=j.getSignedInUser();if(d==null)throw Error("Can't access dashboard detail without signing in...");const f=Gt((b=>{const S=Vt(b,"/").split("/");return S[S.length-1]})(t.pathname));let g="Not-Started",C="";const p=$.getLocalizedStrings();switch(f){case"cash_balance":g=s,C=p.reportTitleById.cash_balance;break;case"card_balance":g=i,C=p.reportTitleById.card_balance;break;default:console.error(`${f} is not supported!`)}const{isAiCfoAccessEnabled:c,onAskAiCfoClick:u}=Ye({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:f==="card_balance"?"Card Balance":"Cash Balance"});xe({isDataReady:g==="Completed"});const h=k(b=>b.entityAutoCompleteState.autoCompleteText.navbar),m=k(b=>X(b,"navbar"));return _.useEffect(()=>{g==="Not-Started"&&function(b,S,A){switch(S){case"card_balance":b($t());break;case"cash_balance":b(Nt()),A===!0&&b(Kt());break;default:throw new Error(`balance report type ${S} is not yet supported`)}}(n,f,r)},[d,n,g]),l.jsxs(l.Fragment,{children:[g==="Completed"?l.jsx(Ee,{analytics:I,onLoad:b=>((S,A)=>{switch(A){case"card_balance":S.trackPageLoaded(G.Event.cardBalance);break;case"cash_balance":S.trackPageLoaded(G.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${A}!`)}})(b,f)}):null,l.jsx(Oo,{title:C,reportId:f,autoCompleteText:h,entityAutoCompleteView:m,isAiCfoAccessEnabled:c,onAskAiCfoClick:u})]})}const Fo=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},Po=[];function De(e){const{mobileExploreReferrer:a}=e,t=N(),n=q(),o=z(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Ae(),d=oo(),f=lo(d),g=$a(),C=k(B=>on(B)),p=C.uiState?.currentChatSessionId,c=C.allSessionsWithOrderedQuestionAnswers??Po,u=j.getSignedInUser()?.userId,h=da(),m=Co()&&h&&r!=null,b=so(),S=ro(b),{useDynamicConfig:A}=Ue(),{configValue:P}=A(ua.aiCfoMessageDynamicConfig),E=_.useMemo(()=>Array.isArray(P.default_message_list)?P.default_message_list:[],[P.default_message_list]),y=_.useMemo(()=>(S!=null&&S.length>0?S:E).slice(0,2),[E,S]),w=_.useCallback((B,pe)=>{if(u==null||B.trim()==="")return;const he=io(g.getState());if(f){const Oe=O(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Oe,referrer:a,aiCfoInitialQuestion:B,aiCfoShouldSubmit:!he}})}else{if(he)return t(sn(B)),void s(!0);i(B),s(!0),co(t,B,"insights_section",p,c,u,pe,void 0)}},[c,p,t,f,o.pathname,o.state,a,n,s,i,g,r,u]),T=_.useCallback(()=>{if(f){const B=O(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:B,referrer:a}})}else s(!0)},[f,o.pathname,o.state,a,n,s,r]);return _.useMemo(()=>{if(m)return{onAskSomethingElseClick:T,onSuggestedQuestionClick:w,suggestedQuestions:y}},[m,T,w,y])}const Bo=H(function(e){const a=rn(e),t=cn(e),n=zt(e),{scrollPosition:o,...r}=n,s=$.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=j.getSignedInUser(),d=e.tenantState.currentTenantId,f=L(e),g=f?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},p=e.entityAutoCompleteState.autoCompleteText.navbar,c=X(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${J}/statement`,authParams:C},analytics:I,autoCompleteData:{autoCompleteText:p,entityAutoCompleteView:c}}},function(e,a){return{updateDownloadStateHandler:t=>{e(ln(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(fe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(ue("month")),e(te(a.firstMonthOfFY,t)),e(fe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(fe({resetLeftScroll:!0})),50)},onElementCollapseStateChanged:(t,n)=>{e(fe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(fe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(we),Ro=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=De({mobileExploreReferrer:"DashboardCashInCashOut"}),r=k(s=>zt(s)).mode==="compare_mode";return l.jsx(Bo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:r,navigate:n,insightsSectionAiCfoInfo:o})},jo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Me(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}},Lo=H(function(e){const a=dn(e),t=un(e),n=qt(e),{scrollPosition:o,...r}=n,s=$.getLocalizedStrings().reportTitleById.cash_position,i=j.getSignedInUser(),d=e.tenantState.currentTenantId,f=L(e),g=f?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},p=e.entityAutoCompleteState.autoCompleteText.navbar,c=X(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${J}/statement`,authParams:C},analytics:I,autoCompleteData:{autoCompleteText:p,entityAutoCompleteView:c}}},function(e,a){return{updateDownloadStateHandler:t=>{e(mn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(ge({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(ge({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=jo(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(ge({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}})(we),Mo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=De({mobileExploreReferrer:"DashboardCashPosition"}),r=k(s=>qt(s)).mode==="compare_mode";return l.jsx(Lo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:r,navigate:n,insightsSectionAiCfoInfo:o})},V=(e,a,t,n)=>{e===!1?a!=null&&n("../../",{relative:"path"}):a!=t&&(a!=null&&a.length>0?n(`../${t}`,{replace:!0}):n(`./forecast/${t}`,{replace:!0}))};function Je(){return l.jsxs(at,{children:[l.jsx(D,{path:"/",element:l.jsx(Q,{})}),l.jsx(D,{path:"/:forecastId",element:l.jsx(Q,{})}),l.jsx(D,{path:"/:forecastId/*",element:l.jsx(ke,{})})]})}const Uo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Me(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}},Yo=H(function(e){const a=Zt(e),t=pn(e),n=hn(e),o=fn(e),r=it(e),{scrollPosition:s,...i}=r,d=t.reportTitle,f=j.getSignedInUser(),g=e.tenantState.currentTenantId,C=L(e),p=C?.companyName??"",c={userId:f?.userId??"",sessionId:f?.zeniSessionId??"",tenantId:g??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,h=X(e,"navbar"),m=ct(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${J}/statement`,authParams:c},analytics:I,isZeniUser:Se(f),autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:h},isZeniCOAUsed:m,isAccountingClassesEnabled:lt(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(bn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(oe({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(oe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(oe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&V(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(oe({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Uo(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Ct(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(oe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(oe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(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(ce(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:bt,n)),t==="forecast_mode"?(e(Dt({viewMode:"account_group"})),e(Ht(!1,n?.id)),n!=null&&V(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):V(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(oe({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(Dt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(Cn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(gn())},onResyncReports:()=>{e(dt("net_burn_or_income_by_classes"))}}})(we),Go=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=De({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),i=k(m=>it(m)),d=i.isForecastModeOn,f=i.timeframe,g=i.selectedForecast?.id,C=k(m=>ut(m.forecastState,g??"")),p=k(m=>Zt(m)),c=k(m=>mt(m)),u=i.mode==="compare_mode",h=p.dataAvailable;return _.useEffect(()=>{if(g!=null&&d===!0&&(V(d,r,g,o),C!=null)){const m=C?.forecastPeriod,b=h!=null&&m.endDate.isAfter(h?.endDate)===!0?h:m;a(te(e.firstMonthOfFY,{startDate:b.endDate.startOf(f),endDate:b?.endDate}))}},[g]),l.jsx(Yo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isCompareModeOn:u,navigate:o,analytics:I,reportsResyncFetchState:c.reportsResyncFetchState,insightsSectionAiCfoInfo:s})},Vo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Me(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}},No=H(function(e){const a=Jt(e),t=_n(e),n=kn(e),o=Sn(e),r=pt(e),{scrollPosition:s,...i}=r,d=$.getLocalizedStrings().reportTitleById.operating_expenses,f=j.getSignedInUser(),g=e.tenantState.currentTenantId,C=L(e),p=C?.companyName??"",c={userId:f?.userId??"",sessionId:f?.zeniSessionId??"",tenantId:g??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,h=X(e,"navbar"),m=ct(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${J}/statement`,authParams:c},analytics:I,isZeniUser:Se(f),autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:h},isZeniCOAUsed:m,isAccountingClassesEnabled:lt(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(In(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(se({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(se({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(se({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&V(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(se({resetLeftScroll:!0})),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=Vo(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Ct(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(se({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(se({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(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(ce(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:bt,n)),t=="forecast_mode"?(e(Ot({viewMode:"account_group"})),e(Qt(!1,n?.id)),n!=null&&V(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):V(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(se({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Ot({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(vn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(yn())},onResyncReports:()=>{e(dt("operating_expenses_by_classes"))}}})(we),Ko=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=De({mobileExploreReferrer:"DashboardOpEx"}),i=k(S=>pt(S)),d=i.isForecastModeOn,f=i.timeframe,g=i.selectedForecast?.id,C=k(S=>ut(S.forecastState,g??"")),p=k(S=>Jt(S)),c=k(S=>mt(S)),u=i.mode==="compare_mode",h=p.dataAvailable;_.useEffect(()=>{if(g!=null&&d===!0&&(V(d,r,g,o),C!=null)){const S=C?.forecastPeriod,A=h!=null&&S.endDate.isAfter(h?.endDate)===!0?h:S;a(te(e.firstMonthOfFY,{startDate:A.endDate.startOf(f),endDate:A?.endDate}))}},[g]);const m=Te(),b=m?.loggedInUserRole!=null&&Wt(m?.loggedInUserRole)!==!0;return l.jsx(No,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isCompareModeOn:u,navigate:o,forecastIdFromUrlPath:r,analytics:I,hasTransactionAccess:b,reportsResyncFetchState:c.reportsResyncFetchState,insightsSectionAiCfoInfo:s})},$o=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Me(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}},zo=H(function(e){const a=Xt(e),t=An(e),n=En(e),o=Tn(e),r=ht(e),{scrollPosition:s,...i}=r,d=$.getLocalizedStrings().reportTitleById.revenue,f=j.getSignedInUser(),g=e.tenantState.currentTenantId,C=L(e),p=C?.companyName??"",c={userId:f?.userId??"",sessionId:f?.zeniSessionId??"",tenantId:g??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,h=X(e,"navbar"),m=ct(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${J}/statement`,authParams:c},analytics:I,isZeniUser:Se(f),autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:h},isZeniCOAUsed:m,isAccountingClassesEnabled:lt(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(Dn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(re({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(re({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(re({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&V(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(re({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=$o(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Ct(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(re({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(re({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(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(ce(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:bt,n)),t==="forecast_mode"?(e(Ft({viewMode:"account_group"})),e(ea(!1,n?.id)),n!=null&&V(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):V(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(re({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(Ft({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(xn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(wn())},onResyncReports:()=>{e(dt("revenue_by_classes"))}}})(we),qo=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=De({mobileExploreReferrer:"DashboardRevenue"}),i=k(h=>ht(h)),d=i.isForecastModeOn,f=i.timeframe,g=i.selectedForecast?.id,C=k(h=>ut(h.forecastState,g??"")),p=k(h=>Xt(h)).dataAvailable,c=i.mode==="compare_mode",u=k(h=>mt(h));return _.useEffect(()=>{if(g!=null&&d===!0&&(V(d,r,g,o),C!=null)){const h=C?.forecastPeriod,m=p!=null&&h.endDate.isAfter(p?.endDate)===!0?p:h;a(te(e.firstMonthOfFY,{startDate:m.endDate.startOf(f),endDate:m?.endDate}))}},[g]),l.jsx(zo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isCompareModeOn:c,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:I,reportsResyncFetchState:u.reportsResyncFetchState,insightsSectionAiCfoInfo:s})},Zo=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}},Ho=H(function(e){const a=On(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=X(e,"navbar");return{report:a,analytics:I,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}},function(e,a){return{onTimeframeSelectionChanged:t=>{I.trackTimeframeSwitch(ha(t),"Top Expenses"),e(ta(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Zo(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(uo),Jo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return l.jsx(Ho,{tenantEmailDomain:a,location:t,navigate:n})},Qo=gt.div`
|
|
13
|
+
`;function Oo({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=q(),i=N(),d=z(),{tenantEmailDomain:f}=K(),g=to();return l.jsxs(xo,{children:[l.jsx(ao,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:g.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:b=>{b.trim().length>=2?i(ee({searchString:b,searchOrigin:"navbar"})):b.trim().length===0&&i(Z("navbar"))},onAutoCompleteEntity:b=>{n!=null&&I?.trackSearch(G.Event.search,Fo(a),b.type,b.name,n);const p=ae(b,f),c=O(d.state?.pathnameStackToGoBack,d.pathname);s(p,{state:{pathnameStackToGoBack:c}})}}},rightSideComponent:o===!0&&r!=null?l.jsx(no,{onClick:r}):null}),l.jsx(Do,{children:a==="cash_balance"?l.jsx(To,{}):l.jsx(wo,{})})]})}function Pt(){const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Ae(),t=z(),n=N(),{useFeatureGate:o}=Ue(),{isFeatureEnabled:r}=o(M.isDepositAccountsFeatureEnabled),s=k(C=>C.cashBalanceState.fetchState),i=k(C=>C.cardBalanceState.fetchState),d=j.getSignedInUser();if(d==null)throw Error("Can't access dashboard detail without signing in...");const f=Gt((C=>{const S=Vt(C,"/").split("/");return S[S.length-1]})(t.pathname));let g="Not-Started",b="";const p=$.getLocalizedStrings();switch(f){case"cash_balance":g=s,b=p.reportTitleById.cash_balance;break;case"card_balance":g=i,b=p.reportTitleById.card_balance;break;default:console.error(`${f} is not supported!`)}const{isAiCfoAccessEnabled:c,onAskAiCfoClick:u}=Ye({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:f==="card_balance"?"Card Balance":"Cash Balance"});xe({isDataReady:g==="Completed"});const h=k(C=>C.entityAutoCompleteState.autoCompleteText.navbar),m=k(C=>X(C,"navbar"));return _.useEffect(()=>{g==="Not-Started"&&function(C,S,A){switch(S){case"card_balance":C($t());break;case"cash_balance":C(Nt()),A===!0&&C(Kt());break;default:throw new Error(`balance report type ${S} is not yet supported`)}}(n,f,r)},[d,n,g]),l.jsxs(l.Fragment,{children:[g==="Completed"?l.jsx(Ee,{analytics:I,onLoad:C=>((S,A)=>{switch(A){case"card_balance":S.trackPageLoaded(G.Event.cardBalance);break;case"cash_balance":S.trackPageLoaded(G.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${A}!`)}})(C,f)}):null,l.jsx(Oo,{title:b,reportId:f,autoCompleteText:h,entityAutoCompleteView:m,isAiCfoAccessEnabled:c,onAskAiCfoClick:u})]})}const Fo=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},Po=[];function De(e){const{mobileExploreReferrer:a}=e,t=N(),n=q(),o=z(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Ae(),d=oo(),f=lo(d),g=$a(),b=k(B=>on(B)),p=b.uiState?.currentChatSessionId,c=b.allSessionsWithOrderedQuestionAnswers??Po,u=j.getSignedInUser()?.userId,h=da(),m=bo()&&h&&r!=null,C=so(),S=ro(C),{useDynamicConfig:A}=Ue(),{configValue:P}=A(ua.aiCfoMessageDynamicConfig),E=_.useMemo(()=>Array.isArray(P.default_message_list)?P.default_message_list:[],[P.default_message_list]),y=_.useMemo(()=>(S!=null&&S.length>0?S:E).slice(0,2),[E,S]),w=_.useCallback((B,pe)=>{if(u==null||B.trim()==="")return;const he=io(g.getState());if(f){const Oe=O(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Oe,referrer:a,aiCfoInitialQuestion:B,aiCfoShouldSubmit:!he}})}else{if(he)return t(sn(B)),void s(!0);i(B),s(!0),co(t,B,"insights_section",p,c,u,pe,void 0)}},[c,p,t,f,o.pathname,o.state,a,n,s,i,g,r,u]),T=_.useCallback(()=>{if(f){const B=O(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:B,referrer:a}})}else s(!0)},[f,o.pathname,o.state,a,n,s,r]);return _.useMemo(()=>{if(m)return{onAskSomethingElseClick:T,onSuggestedQuestionClick:w,suggestedQuestions:y}},[m,T,w,y])}const Bo=H(function(e){const a=rn(e),t=cn(e),n=zt(e),{scrollPosition:o,...r}=n,s=$.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=j.getSignedInUser(),d=e.tenantState.currentTenantId,f=L(e),g=f?.companyName??"",b={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},p=e.entityAutoCompleteState.autoCompleteText.navbar,c=X(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${Q}/statement`,authParams:b},analytics:I,autoCompleteData:{autoCompleteText:p,entityAutoCompleteView:c}}},function(e,a){return{updateDownloadStateHandler:t=>{e(ln(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(fe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(ue("month")),e(te(a.firstMonthOfFY,t)),e(fe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(fe({resetLeftScroll:!0})),50)},onElementCollapseStateChanged:(t,n)=>{e(fe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(fe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(we),Ro=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=De({mobileExploreReferrer:"DashboardCashInCashOut"}),r=k(s=>zt(s)).mode==="compare_mode";return l.jsx(Bo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:r,navigate:n,insightsSectionAiCfoInfo:o})},jo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Me(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}},Lo=H(function(e){const a=dn(e),t=un(e),n=qt(e),{scrollPosition:o,...r}=n,s=$.getLocalizedStrings().reportTitleById.cash_position,i=j.getSignedInUser(),d=e.tenantState.currentTenantId,f=L(e),g=f?.companyName??"",b={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:d??""},p=e.entityAutoCompleteState.autoCompleteText.navbar,c=X(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${Q}/statement`,authParams:b},analytics:I,autoCompleteData:{autoCompleteText:p,entityAutoCompleteView:c}}},function(e,a){return{updateDownloadStateHandler:t=>{e(mn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(ge({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(ge({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout(()=>e(ge({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=jo(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(ge({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}})(we),Mo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,o=De({mobileExploreReferrer:"DashboardCashPosition"}),r=k(s=>qt(s)).mode==="compare_mode";return l.jsx(Lo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:r,navigate:n,insightsSectionAiCfoInfo:o})},V=(e,a,t,n)=>{e===!1?a!=null&&n("../../",{relative:"path"}):a!=t&&(a!=null&&a.length>0?n(`../${t}`,{replace:!0}):n(`./forecast/${t}`,{replace:!0}))};function Qe(){return l.jsxs(at,{children:[l.jsx(D,{path:"/",element:l.jsx(J,{})}),l.jsx(D,{path:"/:forecastId",element:l.jsx(J,{})}),l.jsx(D,{path:"/:forecastId/*",element:l.jsx(ke,{})})]})}const Uo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Me(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}},Yo=H(function(e){const a=Zt(e),t=pn(e),n=hn(e),o=fn(e),r=it(e),{scrollPosition:s,...i}=r,d=t.reportTitle,f=j.getSignedInUser(),g=e.tenantState.currentTenantId,b=L(e),p=b?.companyName??"",c={userId:f?.userId??"",sessionId:f?.zeniSessionId??"",tenantId:g??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,h=X(e,"navbar"),m=ct(b);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${Q}/statement`,authParams:c},analytics:I,isZeniUser:Se(f),autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:h},isZeniCOAUsed:m,isAccountingClassesEnabled:lt(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(Cn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(oe({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(oe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(oe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&V(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(oe({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Uo(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?bt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(oe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(oe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(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(ce(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:Ct,n)),t==="forecast_mode"?(e(Dt({viewMode:"account_group"})),e(Ht(!1,n?.id)),n!=null&&V(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):V(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(oe({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(Dt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(bn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(gn())},onResyncReports:()=>{e(dt("net_burn_or_income_by_classes"))}}})(we),Go=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=De({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),i=k(m=>it(m)),d=i.isForecastModeOn,f=i.timeframe,g=i.selectedForecast?.id,b=k(m=>ut(m.forecastState,g??"")),p=k(m=>Zt(m)),c=k(m=>mt(m)),u=i.mode==="compare_mode",h=p.dataAvailable;return _.useEffect(()=>{if(g!=null&&d===!0&&(V(d,r,g,o),b!=null)){const m=b?.forecastPeriod,C=h!=null&&m.endDate.isAfter(h?.endDate)===!0?h:m;a(te(e.firstMonthOfFY,{startDate:C.endDate.startOf(f),endDate:C?.endDate}))}},[g]),l.jsx(Yo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isCompareModeOn:u,navigate:o,analytics:I,reportsResyncFetchState:c.reportsResyncFetchState,insightsSectionAiCfoInfo:s})},Vo=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Me(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}},No=H(function(e){const a=Qt(e),t=_n(e),n=kn(e),o=Sn(e),r=pt(e),{scrollPosition:s,...i}=r,d=$.getLocalizedStrings().reportTitleById.operating_expenses,f=j.getSignedInUser(),g=e.tenantState.currentTenantId,b=L(e),p=b?.companyName??"",c={userId:f?.userId??"",sessionId:f?.zeniSessionId??"",tenantId:g??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,h=X(e,"navbar"),m=ct(b);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${Q}/statement`,authParams:c},analytics:I,isZeniUser:Se(f),autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:h},isZeniCOAUsed:m,isAccountingClassesEnabled:lt(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(In(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(se({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(se({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(se({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&V(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(se({resetLeftScroll:!0})),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=Vo(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?bt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(se({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(se({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(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(ce(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:Ct,n)),t=="forecast_mode"?(e(Ot({viewMode:"account_group"})),e(Jt(!1,n?.id)),n!=null&&V(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):V(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(se({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Ot({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(vn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(yn())},onResyncReports:()=>{e(dt("operating_expenses_by_classes"))}}})(we),Ko=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=De({mobileExploreReferrer:"DashboardOpEx"}),i=k(S=>pt(S)),d=i.isForecastModeOn,f=i.timeframe,g=i.selectedForecast?.id,b=k(S=>ut(S.forecastState,g??"")),p=k(S=>Qt(S)),c=k(S=>mt(S)),u=i.mode==="compare_mode",h=p.dataAvailable;_.useEffect(()=>{if(g!=null&&d===!0&&(V(d,r,g,o),b!=null)){const S=b?.forecastPeriod,A=h!=null&&S.endDate.isAfter(h?.endDate)===!0?h:S;a(te(e.firstMonthOfFY,{startDate:A.endDate.startOf(f),endDate:A?.endDate}))}},[g]);const m=Te(),C=m?.loggedInUserRole!=null&&Wt(m?.loggedInUserRole)!==!0;return l.jsx(No,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isCompareModeOn:u,navigate:o,forecastIdFromUrlPath:r,analytics:I,hasTransactionAccess:C,reportsResyncFetchState:c.reportsResyncFetchState,insightsSectionAiCfoInfo:s})},$o=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Me(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}},zo=H(function(e){const a=Xt(e),t=An(e),n=En(e),o=Tn(e),r=ht(e),{scrollPosition:s,...i}=r,d=$.getLocalizedStrings().reportTitleById.revenue,f=j.getSignedInUser(),g=e.tenantState.currentTenantId,b=L(e),p=b?.companyName??"",c={userId:f?.userId??"",sessionId:f?.zeniSessionId??"",tenantId:g??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,h=X(e,"navbar"),m=ct(b);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:d},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:p,statementEndPoint:`${Q}/statement`,authParams:c},analytics:I,isZeniUser:Se(f),autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:h},isZeniCOAUsed:m,isAccountingClassesEnabled:lt(e)}},function(e,a){return{updateDownloadStateHandler:t=>{e(Dn(t))},onTimeframeSelectionChanged:t=>{e(ue(t)),setTimeout(()=>e(re({resetLeftScroll:!0})),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ie(t,n)),e(re({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(te(a.firstMonthOfFY,t)),e(re({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(ye(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(ve(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&V(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout(()=>e(re({resetLeftScroll:!0})),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=$o(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?bt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(re({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(re({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(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(ce(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?le:Ct,n)),t==="forecast_mode"?(e(Ft({viewMode:"account_group"})),e(ea(!1,n?.id)),n!=null&&V(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):V(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(re({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(Ft({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(xn({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{e(wn())},onResyncReports:()=>{e(dt("revenue_by_classes"))}}})(we),qo=e=>{const a=N(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,s=De({mobileExploreReferrer:"DashboardRevenue"}),i=k(h=>ht(h)),d=i.isForecastModeOn,f=i.timeframe,g=i.selectedForecast?.id,b=k(h=>ut(h.forecastState,g??"")),p=k(h=>Xt(h)).dataAvailable,c=i.mode==="compare_mode",u=k(h=>mt(h));return _.useEffect(()=>{if(g!=null&&d===!0&&(V(d,r,g,o),b!=null)){const h=b?.forecastPeriod,m=p!=null&&h.endDate.isAfter(p?.endDate)===!0?p:h;a(te(e.firstMonthOfFY,{startDate:m.endDate.startOf(f),endDate:m?.endDate}))}},[g]),l.jsx(zo,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isCompareModeOn:c,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:I,reportsResyncFetchState:u.reportsResyncFetchState,insightsSectionAiCfoInfo:s})},Zo=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}},Ho=H(function(e){const a=On(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=X(e,"navbar");return{report:a,analytics:I,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}},function(e,a){return{onTimeframeSelectionChanged:t=>{I.trackTimeframeSwitch(ha(t),"Top Expenses"),e(ta(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Zo(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=me(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),d=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:d,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(ee({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(Z("navbar"))},onAutoCompleteEntity:t=>{const n=ae(t,a.tenantEmailDomain),o=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}})(uo),Qo=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return l.jsx(Ho,{tenantEmailDomain:a,location:t,navigate:n})},Jo=gt.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
|
-
`,le=3,bt=1;function Wo({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=q(),r=z(),{tenantEmailDomain:s}=K();let i;xe({isDataReady:!0});const d={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=l.jsx(Ko,{...d});break;case"revenue":i=l.jsx(qo,{...d});break;case"net_burn_or_income":i=l.jsx(Go,{...d});break;case"cash_position":i=l.jsx(Mo,{...d});break;case"top_expenses":i=l.jsx(Jo,{...d});break;case"cash_in_cash_out":i=l.jsx(Ro,{...d});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?l.jsx(Qo,{children:i}):null}function Q(){const e=z(),a=N(),{forecastId:t}=K();let n="Not-Started";const o=k(c=>pt(c).fetchState),r=k(c=>ht(c).fetchState),s=k(c=>it(c).fetchState),i=k(c=>c.cashPositionState.fetchState),d=k(c=>c.topExState.fetchState),f=k(c=>c.cashInCashOutState.fetchState);if(j.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const g=k(c=>L(c)),C=g?.company?.companyInfo?.firstMonthOfFY??1,p=Gt((c=>{const u=Vt(c,"/").split("/");return t!=null?u[u.length-3]:u[u.length-1]})(e.pathname));switch(p){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=d;break;case"cash_in_cash_out":n=f;break;default:console.error(`${p} is not supported!`)}return _.useEffect(()=>{n==="Not-Started"&&function(c,u,h,m){switch(u){case"operating_expenses":c(ia(!0)),m!=null&&(c(ce(h,!0,le,{id:m,index:0})),c(Qt(!1,m)));break;case"revenue":c(ra(!0)),m!=null&&(c(ce(h,!0,le,{id:m,index:0})),c(ea(!1,m)));break;case"net_burn_or_income":c(sa(!0)),m!=null&&(c(ce(h,!0,le,{id:m,index:0})),c(Ht(!1,m)));break;case"cash_position":c(oa(!0));break;case"top_expenses":c(na());break;case"cash_in_cash_out":c(aa());break;default:throw new Error(`report type ${u} is not yet supported`)}}(a,p,C,t)},[t]),l.jsxs(l.Fragment,{children:[n==="Completed"?l.jsx(Ee,{analytics:I,onLoad:c=>((u,h)=>{const m=e.state?.referrer;switch(h){case"operating_expenses":u.trackPageLoaded(G.Event.operatingExpenses,m);break;case"revenue":u.trackPageLoaded(G.Event.revenues,m);break;case"net_burn_or_income":u.trackPageLoaded(G.Event.burnRate,m);break;case"cash_position":u.trackPageLoaded(G.Event.cashPosition,m);break;case"top_expenses":u.trackPageLoaded(G.Event.topExpenses,m);break;case"cash_in_cash_out":u.trackPageLoaded(G.Event.cashInCashOut,m);break;default:console.error(`Analytics: Not tracking Page Loaded for ${h}!`)}})(c,p)}):null,l.jsx(Wo,{firstMonthOfFY:C,fetchState:n,reportId:p,forecastId:t})]})}var Qe=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function We(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),function(){t(window.event)})}function Ca(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 ba(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 _t={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Qe?173:189,"=":Qe?61:187,";":Qe?59:186,"'":222,"[":219,"]":221,"\\":220},W={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},st={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},R={16:!1,18:!1,17:!1,91:!1},F={},je=1;je<20;je++)_t["f".concat(je)]=111+je;var x=[],Bt=!1,_a="all",Rt=[],Ge=function(e){return _t[e.toLowerCase()]||W[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function jt(e){_a=e||"all"}function _e(){return _a||"all"}var Xe=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;ba(a).forEach(function(s){var i=s.split(r),d=i.length,f=i[d-1],g=f==="*"?"*":Ge(f);if(F[g]){t||(t=_e());var C=d>1?Ca(W,i):[];F[g]=F[g].filter(function(p){return!((!n||p.method===n)&&p.scope===t&&function(c,u){for(var h=c.length>=u.length?c:u,m=c.length>=u.length?u:c,b=!0,S=0;S<h.length;S++)m.indexOf(h[S])===-1&&(b=!1);return b}(p.mods,C))})}})};function Lt(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,R)Object.prototype.hasOwnProperty.call(R,r)&&(!R[r]&&a.mods.indexOf(+r)>-1||R[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||R[16]||R[18]||R[17]||R[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 Mt(e,a){var t=F["*"],n=e.keyCode||e.which||e.charCode;if(U.filter.call(this,e)){if(n!==93&&n!==224||(n=91),x.indexOf(n)===-1&&n!==229&&x.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach(function(u){var h=st[u];e[u]&&x.indexOf(h)===-1?x.push(h):!e[u]&&x.indexOf(h)>-1?x.splice(x.indexOf(h),1):u==="metaKey"&&e[u]&&x.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(x=x.slice(x.indexOf(h))))}),n in R){for(var o in R[n]=!0,W)W[o]===n&&(U[o]=!0);if(!t)return}for(var r in R)Object.prototype.hasOwnProperty.call(R,r)&&(R[r]=e[st[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(x.indexOf(17)===-1&&x.push(17),x.indexOf(18)===-1&&x.push(18),R[17]=!0,R[18]=!0);var s=_e();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)&&Lt(e,t[i],s,a);if(n in F){for(var d=0;d<F[n].length;d++)if((e.type==="keydown"&&F[n][d].keydown||e.type==="keyup"&&F[n][d].keyup)&&F[n][d].key){for(var f=F[n][d],g=f.splitKey,C=f.key.split(g),p=[],c=0;c<C.length;c++)p.push(Ge(C[c]));p.sort().join("")===x.sort().join("")&&Lt(e,f,s,a)}}}}function U(e,a,t){x=[];var n=ba(e),o=[],r="all",s=document,i=0,d=!1,f=!0,g="+",C=!1;for(t===void 0&&typeof a=="function"&&(t=a),Object.prototype.toString.call(a)==="[object Object]"&&(a.scope&&(r=a.scope),a.element&&(s=a.element),a.keyup&&(d=a.keyup),a.keydown!==void 0&&(f=a.keydown),a.capture!==void 0&&(C=a.capture),typeof a.splitKey=="string"&&(g=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(g)).length>1&&(o=Ca(W,e)),(e=(e=e[e.length-1])==="*"?"*":Ge(e))in F||(F[e]=[]),F[e].push({keyup:d,keydown:f,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:g,element:s});s!==void 0&&!function(p){return Rt.indexOf(p)>-1}(s)&&window&&(Rt.push(s),We(s,"keydown",function(p){Mt(p,s)},C),Bt||(Bt=!0,We(window,"focus",function(){x=[]},C)),We(s,"keyup",function(p){Mt(p,s),function(c){var u=c.keyCode||c.which||c.charCode,h=x.indexOf(u);if(h>=0&&x.splice(h,1),c.key&&c.key.toLowerCase()==="meta"&&x.splice(0,x.length),u!==93&&u!==224||(u=91),u in R)for(var m in R[u]=!1,W)W[m]===u&&(U[m]=!1)}(p)},C))}var et={setScope:jt,getScope:_e,deleteScope:function(e,a){var t,n;for(var o in e||(e=_e()),F)if(Object.prototype.hasOwnProperty.call(F,o))for(t=F[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;_e()===e&&jt(a||"all")},getPressedKeyCodes:function(){return x.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=Ge(e)),x.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(F).forEach(function(t){var n=F[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(F).forEach(function(s){return delete F[s]});else if(Array.isArray(e))e.forEach(function(s){s.key&&Xe(s)});else if(typeof e=="object")e.key&&Xe(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=""),Xe({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:_t,modifier:W,modifierMap:st};for(var tt in et)Object.prototype.hasOwnProperty.call(et,tt)&&(U[tt]=et[tt]);if(typeof window<"u"){var Xo=window.hotkeys;U.noConflict=function(e){return e&&window.hotkeys===U&&(window.hotkeys=Xo),U},window.hotkeys=U}U.filter=function(){return!0};var Ut=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function es(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,d=o.keydown,f=o.filterPreventDefault,g=f===void 0||f,C=o.enabled,p=C===void 0||C,c=o.enableOnContentEditable,u=c!==void 0&&c,h=_.useRef(null),m=_.useCallback(function(b,S){var A,P;return s&&!s(b)?!g:!!(Ut(b,["INPUT","TEXTAREA","SELECT"])&&!Ut(b,r)||(A=b.target)!=null&&A.isContentEditable&&!u)||!!(h.current===null||document.activeElement===h.current||(P=h.current)!=null&&P.contains(document.activeElement))&&(a(b,S),!0)},n?[h,r,s].concat(n):[h,r,s]);return _.useEffect(function(){if(p)return i&&d!==!0&&(t.keydown=!1),U(e,t||{},m),function(){return U.unbind(e,m)};U.unbind(e,m)},[m,e,p]),h}U.isPressed;const ts=["net_burn_or_income_story_card","cash_balance","task_card","card_balance","zeni_promo_card","insights_dashboard","information_card","company_details","bill_pay_promo_card","bill_pay_card","reimbursement_card","reimbursement_promo_card","zeni_accounts_promo_card","rewards_card","treasury_promo_card"],as=(e,a,t,n,o)=>({card:{dimension:ft(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1},data:e.status!=null?{balanceAmount:e.balance?.available,lastUpdatedTime:e.status.lastRefreshSuccessTime,changePercent:e.balance?.change?.percent,changeComparedToDate:e.balance?.change?.since}:void 0}),Ce=(e,a,t,n,o)=>({card:{dimension:ft(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1},data:e}),ns=(e,a,t,n)=>Ce(void 0,e,be,a,t),os=(e,a,t,n,o)=>({card:{dimension:ft(be),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1},data:{funds:n,hasUserSeenVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),ss=H(function(e,a){const t=cs(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i,treasuryFundDetails:d,hasUserSeenTreasuryVideo:f,treasuryFetchState:g}=a;let C=n.map((p,c)=>{if(p==="reimbursement_promo_card"||p==="bill_pay_promo_card")return ns(t,p,c);if(p==="zeni_promo_card")return Ce({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,be,p,c);if(p==="treasury_promo_card")return os(g,p,c,d,f);if(p==="information_card")return Ce(void 0,"Completed",be,p,c);{const u=o.find(h=>h?.reportId===p);return u?function(h,m,b,S){const A=h.reportId;switch(A){case"card_balance":case"cash_balance":return[as(h,m,b,A,S)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"zeni_accounts_promo_card":case"rewards_card":return[Ce(h,m,b,A,S)];case"net_burn_or_income_story_card":return[Ce(h,m,b,"net_burn_or_income_story_card",S)];default:return console.error(`card type ${A} not yet supported!`),[]}}(u,u.fetchState,be,c):[]}}).flat();return a.isSummaryCardsFiltered===!0&&(C=C.filter(p=>ts.includes(p.card.cardType)==0).filter(p=>{const c=p.data?.availableNumberOfPeriods;return c!=null?c>0:p.card.cardType!="top_expenses"||p.data==null||function(u){if(u==null||u.length===0)return!0;let h=!0;for(const m of u)if(m.balance.available.amount!==0){h=!1;break}return h}(p.data.topExpenses.accountsOrdered)===!1})),{cardDataArray:C,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:X(e,"navbar")},analytics:I,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}},function(e,a){const t=a.tenantId,n=j.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)I.trackDashboardCardClicked("cards promo",2),I.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&&I.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(I.trackMonthEndCloseClicked(a.selectedPeriod.month,a.selectedPeriod.year,"Dashboard"),a.navigate("../../month_end_close_checks/review",{state:{referrer:"Dashboard"}})):a.navigate(`${r}`,{state:{referrer:s}})},onReloadData:(o,r)=>{const s=[];a.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),a.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),a.isZeniAccountEnabled===!1&&s.push("zeni_accounts_promo_card"),a.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),function(i,d,f,g){switch(d){case"card_balance":i($t());break;case"cash_balance":i(Nt());break;case"operating_expenses":i(ia(!0));break;case"revenue":i(ra(!0));break;case"net_burn_or_income":i(sa(!0));break;case"net_burn_or_income_story_card":i(Jn(!0));break;case"cash_position":i(oa(!0));break;case"top_expenses":i(na());break;case"cash_in_cash_out":i(aa());break;case"insights_dashboard":i(Hn());break;case"bill_pay_card":i(Zn());break;case"reimbursement_card":i(qn());break;case"company_details":i(zn(f));break;case"task_card":i($n());break;case"accounts_payable_aging":g.includes("accounts_payable_aging")===!1&&i(nt(de()));break;case"accounts_receivable_aging":i(ot(de()));break;case"zeni_accounts_promo_card":g.includes("zeni_accounts_promo_card")===!1&&i(Kt());break;case"rewards_card":g.includes("rewards_card")===!1&&i(Kn(!0));break;default:throw new Error(`report type ${d} is not yet supported`)}}(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{I.trackTimeframeSwitch(ha(r),is(o),"Dashboard"),function(s,i,d){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(ue(d));break;case"top_expenses":s(ta(d));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}}(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(Nn(o))},onCategoryClick:(o,r,s)=>{o==="bill-pay"?a.navigate("../bills",{state:{tab:r,subTab:s},relative:"path"}):o==="reimbursement"?a.navigate("../reimbursements",{state:{tab:r,subTab:s},relative:"path"}):o==="uncategorized-account-mapping"?a.navigate("../settings/accounting",{relative:"path"}):o==="show-all-tasks"?a.navigate("../tasks",{relative:"path"}):a.navigate(`../../transactions/${o}`)},onCardBtnClick:(o,r)=>{if(o==="bill_pay_promo_card"){const s="../bills",i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="reimbursement_promo_card"){const s="../reimbursements",i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="zeni_accounts_promo_card")if(a.hasZeniAccountsAdminAccess){let s="../checking/promo";r!=null&&(s=`../checking/${r}`);const i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/business-checking-accounts","_blank");else if(o==="treasury_promo_card")if(a.isUserHasTreasuryAccess){j.saveTreasuryPopupSeen(a.tenantEmailDomain,!0);const s="../treasury",i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/treasury","_blank")},onSaveClick:(o,r,s)=>{o==="net_burn_or_income_story_card"&&(I.trackUpdateBurnRateCalculatorSettings(r,s,Gn(s)),e(Vn(t,r,s)))},onVideoPlay:()=>{e(Yn())},onVideoClose:()=>{e(Un())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(ee({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(Z("navbar"))},onCancelAutoComplete:()=>{e(Z("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?ae(o,a.tenantEmailDomain):go(o.zeniId,o.qboId,a.tenantEmailDomain);const s=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}})(fo);function rs(){const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Ae(),t=q(),n=N(),o=z(),r=j.getSignedInUser(),{useFeatureGate:s,useDynamicConfig:i}=Ue(),d=Se(r),[f,g]=_.useState(!1),[C,p]=_.useState(!1),c=da(),{tenantEmailDomain:u}=K(),{isAiCfoAccessEnabled:h,onAskAiCfoClick:m}=Ye({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"Dashboard"}),b=k(v=>v.tenantState.fetchState==="Completed"||v.tenantState.activeTenantFetchState.fetchState==="Completed"?L(v):void 0),S=b??j.getSignedInUserTenant(u),A=S.tenantId,P=S.companyId;_.useEffect(()=>{f===!1&&o.state?.message==="activation"&&(n(Fn(P)),g(!0))},[o.state,f,P,n]),_.useEffect(()=>{c&&!C&&o.state?.message==="open_ai_cfo_drawer"&&(a(!0),p(!0),t(o.pathname,{replace:!0,state:{...o.state,message:void 0}}))},[o.state,C,c,a,t,o.pathname]);const{isFeatureEnabled:E}=s(M.isApAgingFeatureEnabled),{isFeatureEnabled:y}=s(M.isExpenseAutomationEnabled),{isFeatureEnabled:w}=s(M.isExpenseAutomationEnabledV2),T=w||y&&d,{isFeatureEnabled:B}=s(M.isTreasuryEnabled),pe=mo(T),{isFeatureEnabled:he}=s(M.isArAgingFeatureEnabled),{isFeatureEnabled:Oe}=s(M.isDepositAccountsFeatureEnabled),{isFeatureEnabled:kt}=s(M.isReferralFeatureEnabled),{isFeatureEnabled:ka}=s(M.isChargeCardFeatureEnabled),{isFeatureEnabled:Sa}=s(M.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:ya}=s(M.isDashboardSidebarNewYearAnimationEnabled),{configValue:St}=i(ua.zeniCardsConfig),va=St.charge_card_cashback_rate_per_transaction==null?.0175:St.charge_card_cashback_rate_per_transaction;if(o.state?.message==="activation"){const v=po(o.state?.pathnameStackToGoBack);t(o.pathname,{state:{...o.state,message:void 0,pathnameStackToGoBack:v.newStack}})}const[yt,Ia]=_.useState(!1),[Ve,Aa]=_.useState(!1);es("command+p, Control+p",v=>{Aa(!Ve),v.preventDefault()},{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[Ve]);const vt=b?.externalConnections?.accounting[0]?.isValid;if(r==null)throw Error("Can't access dashboard without signing in...");const ne=k(v=>L(v)?.excludedResources),Ea=k(v=>v.expenseAutomationViewState.selectedPeriodByTenantId),Ta=!!b?.companyReimbursementInfo?.info?.isReimbursementEnabled,wa=!!b?.companyBillPayInfo?.info?.isBillPayEnabled,xa=k(v=>v.treasurySetupViewState.treasuryFundsDetails).fetchStatus.fetchState,Da=b?.company!=null&&Pn(b.company),Ne=B&&Da,Ke=Te(),Oa=rt(Ke?.loggedInUserRoleMap),Y=[],It=ne?.resources?.find(v=>v.resource==="/reports/top_expenses")==null,Fa=ne?.resources?.find(v=>v.resource==="/reports/task_card")==null,$e=b?.userRole!=null&&Wt(b?.userRole),Pa=ne?.resources?.find(v=>v.resource==="/bills")==null&&!$e,Ba=ne?.resources?.find(v=>v.resource==="/reimbursements")==null,Ra=Bn(Ke?.loggedInUserRoleMap),ja=Rn(Ke?.loggedInUserRoleMap),La=b?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,Ma=b?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,Ua=k(v=>v.treasurySetupViewState.treasuryFundsDetails).fundsDetails;It===!1&&Y.push("top_expenses"),Fa===!1&&Y.push("task_card"),Pa===!1&&Y.push("bill_pay_card","bill_pay_promo_card"),E===!1&&Y.push("accounts_payable_aging"),he===!1&&Y.push("accounts_receivable_aging"),(T===!1||$e)&&Y.push("expense_automation_card"),Ba===!1&&Y.push("reimbursement_card","reimbursement_promo_card"),Oe===!1&&Y.push("zeni_accounts_promo_card"),kt===!1&&Y.push("rewards_card"),Ne===!1&&Y.push("treasury_promo_card");const{areTenantIdsInSync:At}=ho();_.useLayoutEffect(()=>{yt&&pe===T||vt!==!0||!At||ne?.fetchState!=="Completed"&&ne?.fetchState!=="Error"||(Ia(!0),n(jn(r.userId,P,A,!0,!1,Y)))},[yt,r,A,n,It,vt,ne?.fetchState,At]);const Ya=k(v=>v.reportUIOptionsState.forecastOnDashboard.isForecastModeOn),Ga=k(v=>v.revenueState.uiState.selectedForecast?.id),Va=k(v=>v.cardBalanceState.fetchState),ie=k(v=>Ln(v,Y,r,w,y,Ne)),Na=ie.fetchState;xe({isDataReady:!0});const Et=b?.isTreasuryVideoViewed===!0||ie.isTreasuryVideoClosed===!0;return l.jsxs(l.Fragment,{children:[Na==="Completed"?l.jsx(Ee,{analytics:I,onLoad:v=>{v.trackPageLoaded(G.Event.dashboard),Ne&&!Et&&v.trackTreasuryPromoView("Dashboard Promo Video")}}):null,l.jsx(ss,{maxColumns:e?2:void 0,isAiCfoAccessEnabled:h,onAskAiCfoClick:m,onDragAndDropCard:(v,Ka)=>{const Tt=function(Fe,ze,Pe){const qe=Pe.indexOf(Fe),Ze=Pe.indexOf(ze);if(qe===-1||Ze===-1||qe===Ze)return Pe;const He=[...Pe];return He.splice(qe,1),He.splice(Ze,0,Fe),He}(v,Ka,ie.cardsOrdered);Tt.some((Fe,ze)=>Fe!==ie.cardsOrdered[ze])&&n(Mn(Tt))},dashboardReport:ie,passedCardsOrdered:ie.cardsForDashboardUI,tenantId:A,companyId:P,tenantEmailDomain:u,location:o,navigate:t,isApAgingFeatureEnabled:E,isArAgingFeatureEnabled:he,isBillPayEnabled:wa,isReimbursementEnabled:Ta,isSummaryCardsFiltered:Ve,isForecastOn:Ya,selectedForecastOnDashboard:Ga,isVisitingFirstTime:f,isZeniAccountEnabled:Oe,isRewardsFeatureEnabled:kt,hasZeniAccountsAdminAccess:Oa,isExpenseAutomationEnabledForUser:T&&$e===!1,selectedPeriod:Ea[A],isChargeCardFeatureEnabled:ka,isUserHasCardsAccess:Ra,isUserHasTreasuryAccess:ja,cardsCreditLimit:La,cashbackRate:va,isInterestedInChargeCard:Ma,cardBalanceFetchState:Va,christmasAnimationEnabled:Sa,newYearAnimationEnabled:ya,treasuryFundDetails:Ua,hasUserSeenTreasuryVideo:Et,treasuryFetchState:xa})]})}const is=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"},cs=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map(a=>a.fetchState).reduce((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t);function js(){const e=Te(),a=e?.excludedResources?.find(f=>f.resource==="/reports/top_expenses")==null,{useFeatureGate:t}=Ue(),{isFeatureEnabled:n}=t(M.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(M.isArAgingFeatureEnabled),r=k(f=>L(f)),{isFeatureEnabled:s}=t(M.isDebitCardFeatureEnabled),i=Qn(s,r),d=Wn(r);return i===!0||d===!0?l.jsx(at,{children:l.jsx(D,{path:"/*",element:l.jsx(_o,{})})}):l.jsxs(at,{children:[l.jsx(D,{path:"/",element:l.jsx(rs,{})}),l.jsx(D,{path:"cash_balance/*",element:l.jsx(Pt,{})}),l.jsx(D,{path:"card_balance/*",element:l.jsx(Pt,{})}),l.jsx(D,{path:"operating_expenses/*",element:l.jsx(Q,{})}),l.jsx(D,{path:"operating_expenses/forecast/*",element:l.jsx(Je,{})}),l.jsx(D,{path:"revenue/forecast/*",element:l.jsx(Je,{})}),l.jsx(D,{path:"revenue/*",element:l.jsx(Q,{})}),l.jsx(D,{path:"net_burn_or_income/forecast/*",element:l.jsx(Je,{})}),l.jsx(D,{path:"net_burn_or_income/*",element:l.jsx(Q,{})}),n===!0&&l.jsxs(l.Fragment,{children:[l.jsx(D,{path:"accounts_payable_aging/*",element:l.jsx(yo,{})}),l.jsx(D,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:l.jsx(So,{})})]}),o&&l.jsxs(l.Fragment,{children:[l.jsx(D,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:l.jsx(vo,{})}),l.jsx(D,{path:"accounts_receivable_aging/*",element:l.jsx(Io,{})})]}),l.jsx(D,{path:"cash_position/*",element:l.jsx(Q,{})}),l.jsx(D,{path:"top_expenses/*",element:a===!0?l.jsx(Q,{}):l.jsx(ke,{})}),l.jsx(D,{path:"cash_in_cash_out/*",element:l.jsx(Q,{})}),l.jsx(D,{path:"company_details",element:l.jsx(bo,{})}),l.jsx(D,{path:"referrals/*",element:l.jsx(ko,{})}),l.jsx(D,{path:"*",element:l.jsx(ke,{})})]})}export{js as default};
|
|
20
|
+
`,le=3,Ct=1;function Wo({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=q(),r=z(),{tenantEmailDomain:s}=K();let i;xe({isDataReady:!0});const d={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=l.jsx(Ko,{...d});break;case"revenue":i=l.jsx(qo,{...d});break;case"net_burn_or_income":i=l.jsx(Go,{...d});break;case"cash_position":i=l.jsx(Mo,{...d});break;case"top_expenses":i=l.jsx(Qo,{...d});break;case"cash_in_cash_out":i=l.jsx(Ro,{...d});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?l.jsx(Jo,{children:i}):null}function J(){const e=z(),a=N(),{forecastId:t}=K();let n="Not-Started";const o=k(c=>pt(c).fetchState),r=k(c=>ht(c).fetchState),s=k(c=>it(c).fetchState),i=k(c=>c.cashPositionState.fetchState),d=k(c=>c.topExState.fetchState),f=k(c=>c.cashInCashOutState.fetchState);if(j.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const g=k(c=>L(c)),b=g?.company?.companyInfo?.firstMonthOfFY??1,p=Gt((c=>{const u=Vt(c,"/").split("/");return t!=null?u[u.length-3]:u[u.length-1]})(e.pathname));switch(p){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=d;break;case"cash_in_cash_out":n=f;break;default:console.error(`${p} is not supported!`)}return _.useEffect(()=>{n==="Not-Started"&&function(c,u,h,m){switch(u){case"operating_expenses":c(ia(!0)),m!=null&&(c(ce(h,!0,le,{id:m,index:0})),c(Jt(!1,m)));break;case"revenue":c(ra(!0)),m!=null&&(c(ce(h,!0,le,{id:m,index:0})),c(ea(!1,m)));break;case"net_burn_or_income":c(sa(!0)),m!=null&&(c(ce(h,!0,le,{id:m,index:0})),c(Ht(!1,m)));break;case"cash_position":c(oa(!0));break;case"top_expenses":c(na());break;case"cash_in_cash_out":c(aa());break;default:throw new Error(`report type ${u} is not yet supported`)}}(a,p,b,t)},[t]),l.jsxs(l.Fragment,{children:[n==="Completed"?l.jsx(Ee,{analytics:I,onLoad:c=>((u,h)=>{const m=e.state?.referrer;switch(h){case"operating_expenses":u.trackPageLoaded(G.Event.operatingExpenses,m);break;case"revenue":u.trackPageLoaded(G.Event.revenues,m);break;case"net_burn_or_income":u.trackPageLoaded(G.Event.burnRate,m);break;case"cash_position":u.trackPageLoaded(G.Event.cashPosition,m);break;case"top_expenses":u.trackPageLoaded(G.Event.topExpenses,m);break;case"cash_in_cash_out":u.trackPageLoaded(G.Event.cashInCashOut,m);break;default:console.error(`Analytics: Not tracking Page Loaded for ${h}!`)}})(c,p)}):null,l.jsx(Wo,{firstMonthOfFY:b,fetchState:n,reportId:p,forecastId:t})]})}var Je=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function We(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),function(){t(window.event)})}function ba(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 Ca(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 _t={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,"-":Je?173:189,"=":Je?61:187,";":Je?59:186,"'":222,"[":219,"]":221,"\\":220},W={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},st={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},R={16:!1,18:!1,17:!1,91:!1},F={},je=1;je<20;je++)_t["f".concat(je)]=111+je;var x=[],Bt=!1,_a="all",Rt=[],Ge=function(e){return _t[e.toLowerCase()]||W[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function jt(e){_a=e||"all"}function _e(){return _a||"all"}var Xe=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;Ca(a).forEach(function(s){var i=s.split(r),d=i.length,f=i[d-1],g=f==="*"?"*":Ge(f);if(F[g]){t||(t=_e());var b=d>1?ba(W,i):[];F[g]=F[g].filter(function(p){return!((!n||p.method===n)&&p.scope===t&&function(c,u){for(var h=c.length>=u.length?c:u,m=c.length>=u.length?u:c,C=!0,S=0;S<h.length;S++)m.indexOf(h[S])===-1&&(C=!1);return C}(p.mods,b))})}})};function Lt(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,R)Object.prototype.hasOwnProperty.call(R,r)&&(!R[r]&&a.mods.indexOf(+r)>-1||R[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||R[16]||R[18]||R[17]||R[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 Mt(e,a){var t=F["*"],n=e.keyCode||e.which||e.charCode;if(U.filter.call(this,e)){if(n!==93&&n!==224||(n=91),x.indexOf(n)===-1&&n!==229&&x.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach(function(u){var h=st[u];e[u]&&x.indexOf(h)===-1?x.push(h):!e[u]&&x.indexOf(h)>-1?x.splice(x.indexOf(h),1):u==="metaKey"&&e[u]&&x.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(x=x.slice(x.indexOf(h))))}),n in R){for(var o in R[n]=!0,W)W[o]===n&&(U[o]=!0);if(!t)return}for(var r in R)Object.prototype.hasOwnProperty.call(R,r)&&(R[r]=e[st[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(x.indexOf(17)===-1&&x.push(17),x.indexOf(18)===-1&&x.push(18),R[17]=!0,R[18]=!0);var s=_e();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)&&Lt(e,t[i],s,a);if(n in F){for(var d=0;d<F[n].length;d++)if((e.type==="keydown"&&F[n][d].keydown||e.type==="keyup"&&F[n][d].keyup)&&F[n][d].key){for(var f=F[n][d],g=f.splitKey,b=f.key.split(g),p=[],c=0;c<b.length;c++)p.push(Ge(b[c]));p.sort().join("")===x.sort().join("")&&Lt(e,f,s,a)}}}}function U(e,a,t){x=[];var n=Ca(e),o=[],r="all",s=document,i=0,d=!1,f=!0,g="+",b=!1;for(t===void 0&&typeof a=="function"&&(t=a),Object.prototype.toString.call(a)==="[object Object]"&&(a.scope&&(r=a.scope),a.element&&(s=a.element),a.keyup&&(d=a.keyup),a.keydown!==void 0&&(f=a.keydown),a.capture!==void 0&&(b=a.capture),typeof a.splitKey=="string"&&(g=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(g)).length>1&&(o=ba(W,e)),(e=(e=e[e.length-1])==="*"?"*":Ge(e))in F||(F[e]=[]),F[e].push({keyup:d,keydown:f,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:g,element:s});s!==void 0&&!function(p){return Rt.indexOf(p)>-1}(s)&&window&&(Rt.push(s),We(s,"keydown",function(p){Mt(p,s)},b),Bt||(Bt=!0,We(window,"focus",function(){x=[]},b)),We(s,"keyup",function(p){Mt(p,s),function(c){var u=c.keyCode||c.which||c.charCode,h=x.indexOf(u);if(h>=0&&x.splice(h,1),c.key&&c.key.toLowerCase()==="meta"&&x.splice(0,x.length),u!==93&&u!==224||(u=91),u in R)for(var m in R[u]=!1,W)W[m]===u&&(U[m]=!1)}(p)},b))}var et={setScope:jt,getScope:_e,deleteScope:function(e,a){var t,n;for(var o in e||(e=_e()),F)if(Object.prototype.hasOwnProperty.call(F,o))for(t=F[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;_e()===e&&jt(a||"all")},getPressedKeyCodes:function(){return x.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=Ge(e)),x.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(F).forEach(function(t){var n=F[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(F).forEach(function(s){return delete F[s]});else if(Array.isArray(e))e.forEach(function(s){s.key&&Xe(s)});else if(typeof e=="object")e.key&&Xe(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=""),Xe({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:_t,modifier:W,modifierMap:st};for(var tt in et)Object.prototype.hasOwnProperty.call(et,tt)&&(U[tt]=et[tt]);if(typeof window<"u"){var Xo=window.hotkeys;U.noConflict=function(e){return e&&window.hotkeys===U&&(window.hotkeys=Xo),U},window.hotkeys=U}U.filter=function(){return!0};var Ut=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function es(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,d=o.keydown,f=o.filterPreventDefault,g=f===void 0||f,b=o.enabled,p=b===void 0||b,c=o.enableOnContentEditable,u=c!==void 0&&c,h=_.useRef(null),m=_.useCallback(function(C,S){var A,P;return s&&!s(C)?!g:!!(Ut(C,["INPUT","TEXTAREA","SELECT"])&&!Ut(C,r)||(A=C.target)!=null&&A.isContentEditable&&!u)||!!(h.current===null||document.activeElement===h.current||(P=h.current)!=null&&P.contains(document.activeElement))&&(a(C,S),!0)},n?[h,r,s].concat(n):[h,r,s]);return _.useEffect(function(){if(p)return i&&d!==!0&&(t.keydown=!1),U(e,t||{},m),function(){return U.unbind(e,m)};U.unbind(e,m)},[m,e,p]),h}U.isPressed;const ts=["net_burn_or_income_story_card","cash_balance","task_card","card_balance","zeni_promo_card","insights_dashboard","information_card","company_details","bill_pay_promo_card","bill_pay_card","reimbursement_card","reimbursement_promo_card","zeni_accounts_promo_card","rewards_card","treasury_promo_card"],as=(e,a,t,n,o)=>({card:{dimension:ft(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1},data:e.status!=null?{balanceAmount:e.balance?.available,lastUpdatedTime:e.status.lastRefreshSuccessTime,changePercent:e.balance?.change?.percent,changeComparedToDate:e.balance?.change?.since}:void 0}),be=(e,a,t,n,o)=>({card:{dimension:ft(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1},data:e}),ns=(e,a,t,n)=>be(void 0,e,Ce,a,t),os=(e,a,t,n,o)=>({card:{dimension:ft(Ce),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1},data:{funds:n,hasUserSeenVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),ss=H(function(e,a){const t=cs(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i,treasuryFundDetails:d,hasUserSeenTreasuryVideo:f,treasuryFetchState:g}=a;let b=n.map((p,c)=>{if(p==="reimbursement_promo_card"||p==="bill_pay_promo_card")return ns(t,p,c);if(p==="zeni_promo_card")return be({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,Ce,p,c);if(p==="treasury_promo_card")return os(g,p,c,d,f);if(p==="information_card")return be(void 0,"Completed",Ce,p,c);{const u=o.find(h=>h?.reportId===p);return u?function(h,m,C,S){const A=h.reportId;switch(A){case"card_balance":case"cash_balance":return[as(h,m,C,A,S)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"zeni_accounts_promo_card":case"rewards_card":return[be(h,m,C,A,S)];case"net_burn_or_income_story_card":return[be(h,m,C,"net_burn_or_income_story_card",S)];default:return console.error(`card type ${A} not yet supported!`),[]}}(u,u.fetchState,Ce,c):[]}}).flat();return a.isSummaryCardsFiltered===!0&&(b=b.filter(p=>ts.includes(p.card.cardType)==0).filter(p=>{const c=p.data?.availableNumberOfPeriods;return c!=null?c>0:p.card.cardType!="top_expenses"||p.data==null||function(u){if(u==null||u.length===0)return!0;let h=!0;for(const m of u)if(m.balance.available.amount!==0){h=!1;break}return h}(p.data.topExpenses.accountsOrdered)===!1})),{cardDataArray:b,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:X(e,"navbar")},analytics:I,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}},function(e,a){const t=a.tenantId,n=j.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)I.trackDashboardCardClicked("cards promo",2),I.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&&I.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(I.trackMonthEndCloseClicked(a.selectedPeriod.month,a.selectedPeriod.year,"Dashboard"),a.navigate("../../month_end_close_checks/review",{state:{referrer:"Dashboard"}})):a.navigate(`${r}`,{state:{referrer:s}})},onReloadData:(o,r)=>{const s=[];a.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),a.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),a.isZeniAccountEnabled===!1&&s.push("zeni_accounts_promo_card"),a.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),function(i,d,f,g){switch(d){case"card_balance":i($t());break;case"cash_balance":i(Nt());break;case"operating_expenses":i(ia(!0));break;case"revenue":i(ra(!0));break;case"net_burn_or_income":i(sa(!0));break;case"net_burn_or_income_story_card":i(Qn(!0));break;case"cash_position":i(oa(!0));break;case"top_expenses":i(na());break;case"cash_in_cash_out":i(aa());break;case"insights_dashboard":i(Hn());break;case"bill_pay_card":i(Zn());break;case"reimbursement_card":i(qn());break;case"company_details":i(zn(f));break;case"task_card":i($n());break;case"accounts_payable_aging":g.includes("accounts_payable_aging")===!1&&i(nt(de()));break;case"accounts_receivable_aging":i(ot(de()));break;case"zeni_accounts_promo_card":g.includes("zeni_accounts_promo_card")===!1&&i(Kt());break;case"rewards_card":g.includes("rewards_card")===!1&&i(Kn(!0));break;default:throw new Error(`report type ${d} is not yet supported`)}}(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{I.trackTimeframeSwitch(ha(r),is(o),"Dashboard"),function(s,i,d){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(ue(d));break;case"top_expenses":s(ta(d));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}}(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(Nn(o))},onCategoryClick:(o,r,s)=>{o==="bill-pay"?a.navigate("../bills",{state:{tab:r,subTab:s},relative:"path"}):o==="reimbursement"?a.navigate("../reimbursements",{state:{tab:r,subTab:s},relative:"path"}):o==="uncategorized-account-mapping"?a.navigate("../settings/accounting",{relative:"path"}):o==="show-all-tasks"?a.navigate("../tasks",{relative:"path"}):a.navigate(`../../transactions/${o}`)},onCardBtnClick:(o,r)=>{if(o==="bill_pay_promo_card"){const s="../bills",i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="reimbursement_promo_card"){const s="../reimbursements",i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else if(o==="zeni_accounts_promo_card")if(a.hasZeniAccountsAdminAccess){let s="../checking/promo";r!=null&&(s=`../checking/${r}`);const i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/business-checking-accounts","_blank");else if(o==="treasury_promo_card")if(a.isUserHasTreasuryAccess){j.saveTreasuryPopupSeen(a.tenantEmailDomain,!0);const s="../treasury",i=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i},relative:"path"})}else window.open("https://www.zeni.ai/product/treasury","_blank")},onSaveClick:(o,r,s)=>{o==="net_burn_or_income_story_card"&&(I.trackUpdateBurnRateCalculatorSettings(r,s,Gn(s)),e(Vn(t,r,s)))},onVideoPlay:()=>{e(Yn())},onVideoClose:()=>{e(Un())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(ee({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(Z("navbar"))},onCancelAutoComplete:()=>{e(Z("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?ae(o,a.tenantEmailDomain):go(o.zeniId,o.qboId,a.tenantEmailDomain);const s=O(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}})(fo);function rs(){const{isAiCfoOpen:e,setIsAiCfoOpen:a}=Ae(),t=q(),n=N(),o=z(),r=j.getSignedInUser(),{useFeatureGate:s,useDynamicConfig:i}=Ue(),d=Se(r),[f,g]=_.useState(!1),[b,p]=_.useState(!1),c=da(),{tenantEmailDomain:u}=K(),{isAiCfoAccessEnabled:h,onAskAiCfoClick:m}=Ye({isAiCfoOpen:e,setIsAiCfoOpen:a,mobileExploreReferrer:"Dashboard"}),C=k(v=>v.tenantState.fetchState==="Completed"||v.tenantState.activeTenantFetchState.fetchState==="Completed"?L(v):void 0),S=C??j.getSignedInUserTenant(u),A=S.tenantId,P=S.companyId;_.useEffect(()=>{f===!1&&o.state?.message==="activation"&&(n(Fn(P)),g(!0))},[o.state,f,P,n]),_.useEffect(()=>{c&&!b&&o.state?.message==="open_ai_cfo_drawer"&&(a(!0),p(!0),t(o.pathname,{replace:!0,state:{...o.state,message:void 0}}))},[o.state,b,c,a,t,o.pathname]);const{isFeatureEnabled:E}=s(M.isApAgingFeatureEnabled),{isFeatureEnabled:y}=s(M.isExpenseAutomationEnabled),{isFeatureEnabled:w}=s(M.isExpenseAutomationEnabledV2),T=w||y&&d,{isFeatureEnabled:B}=s(M.isTreasuryEnabled),pe=mo(T),{isFeatureEnabled:he}=s(M.isArAgingFeatureEnabled),{isFeatureEnabled:Oe}=s(M.isDepositAccountsFeatureEnabled),{isFeatureEnabled:kt}=s(M.isReferralFeatureEnabled),{isFeatureEnabled:ka}=s(M.isChargeCardFeatureEnabled),{isFeatureEnabled:Sa}=s(M.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:ya}=s(M.isDashboardSidebarNewYearAnimationEnabled),{configValue:St}=i(ua.zeniCardsConfig),va=St.charge_card_cashback_rate_per_transaction==null?.0175:St.charge_card_cashback_rate_per_transaction;if(o.state?.message==="activation"){const v=po(o.state?.pathnameStackToGoBack);t(o.pathname,{state:{...o.state,message:void 0,pathnameStackToGoBack:v.newStack}})}const[yt,Ia]=_.useState(!1),[Ve,Aa]=_.useState(!1);es("command+p, Control+p",v=>{Aa(!Ve),v.preventDefault()},{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[Ve]);const vt=C?.externalConnections?.accounting[0]?.isValid;if(r==null)throw Error("Can't access dashboard without signing in...");const ne=k(v=>L(v)?.excludedResources),Ea=k(v=>v.expenseAutomationViewState.selectedPeriodByTenantId),Ta=!!C?.companyReimbursementInfo?.info?.isReimbursementEnabled,wa=!!C?.companyBillPayInfo?.info?.isBillPayEnabled,xa=k(v=>v.treasurySetupViewState.treasuryFundsDetails).fetchStatus.fetchState,Da=C?.company!=null&&Pn(C.company),Ne=B&&Da,Ke=Te(),Oa=rt(Ke?.loggedInUserRoleMap),Y=[],It=ne?.resources?.find(v=>v.resource==="/reports/top_expenses")==null,Fa=ne?.resources?.find(v=>v.resource==="/reports/task_card")==null,$e=C?.userRole!=null&&Wt(C?.userRole),Pa=ne?.resources?.find(v=>v.resource==="/bills")==null&&!$e,Ba=ne?.resources?.find(v=>v.resource==="/reimbursements")==null,Ra=Bn(Ke?.loggedInUserRoleMap),ja=Rn(Ke?.loggedInUserRoleMap),La=C?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,Ma=C?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,Ua=k(v=>v.treasurySetupViewState.treasuryFundsDetails).fundsDetails;It===!1&&Y.push("top_expenses"),Fa===!1&&Y.push("task_card"),Pa===!1&&Y.push("bill_pay_card","bill_pay_promo_card"),E===!1&&Y.push("accounts_payable_aging"),he===!1&&Y.push("accounts_receivable_aging"),(T===!1||$e)&&Y.push("expense_automation_card"),Ba===!1&&Y.push("reimbursement_card","reimbursement_promo_card"),Oe===!1&&Y.push("zeni_accounts_promo_card"),kt===!1&&Y.push("rewards_card"),Ne===!1&&Y.push("treasury_promo_card");const{areTenantIdsInSync:At}=ho();_.useLayoutEffect(()=>{yt&&pe===T||vt!==!0||!At||ne?.fetchState!=="Completed"&&ne?.fetchState!=="Error"||(Ia(!0),n(jn(r.userId,P,A,!0,!1,Y)))},[yt,r,A,n,It,vt,ne?.fetchState,At]);const Ya=k(v=>v.reportUIOptionsState.forecastOnDashboard.isForecastModeOn),Ga=k(v=>v.revenueState.uiState.selectedForecast?.id),Va=k(v=>v.cardBalanceState.fetchState),ie=k(v=>Ln(v,Y,r,w,y,Ne)),Na=ie.fetchState;xe({isDataReady:!0});const Et=C?.isTreasuryVideoViewed===!0||ie.isTreasuryVideoClosed===!0;return l.jsxs(l.Fragment,{children:[Na==="Completed"?l.jsx(Ee,{analytics:I,onLoad:v=>{v.trackPageLoaded(G.Event.dashboard),Ne&&!Et&&v.trackTreasuryPromoView("Dashboard Promo Video")}}):null,l.jsx(ss,{maxColumns:e?2:void 0,isAiCfoAccessEnabled:h,onAskAiCfoClick:m,onDragAndDropCard:(v,Ka)=>{const Tt=function(Fe,ze,Pe){const qe=Pe.indexOf(Fe),Ze=Pe.indexOf(ze);if(qe===-1||Ze===-1||qe===Ze)return Pe;const He=[...Pe];return He.splice(qe,1),He.splice(Ze,0,Fe),He}(v,Ka,ie.cardsOrdered);Tt.some((Fe,ze)=>Fe!==ie.cardsOrdered[ze])&&n(Mn(Tt))},dashboardReport:ie,passedCardsOrdered:ie.cardsForDashboardUI,tenantId:A,companyId:P,tenantEmailDomain:u,location:o,navigate:t,isApAgingFeatureEnabled:E,isArAgingFeatureEnabled:he,isBillPayEnabled:wa,isReimbursementEnabled:Ta,isSummaryCardsFiltered:Ve,isForecastOn:Ya,selectedForecastOnDashboard:Ga,isVisitingFirstTime:f,isZeniAccountEnabled:Oe,isRewardsFeatureEnabled:kt,hasZeniAccountsAdminAccess:Oa,isExpenseAutomationEnabledForUser:T&&$e===!1,selectedPeriod:Ea[A],isChargeCardFeatureEnabled:ka,isUserHasCardsAccess:Ra,isUserHasTreasuryAccess:ja,cardsCreditLimit:La,cashbackRate:va,isInterestedInChargeCard:Ma,cardBalanceFetchState:Va,christmasAnimationEnabled:Sa,newYearAnimationEnabled:ya,treasuryFundDetails:Ua,hasUserSeenTreasuryVideo:Et,treasuryFetchState:xa})]})}const is=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"},cs=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map(a=>a.fetchState).reduce((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t);function js(){const e=Te(),a=e?.excludedResources?.find(f=>f.resource==="/reports/top_expenses")==null,{useFeatureGate:t}=Ue(),{isFeatureEnabled:n}=t(M.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(M.isArAgingFeatureEnabled),r=k(f=>L(f)),{isFeatureEnabled:s}=t(M.isDebitCardFeatureEnabled),i=Jn(s,r),d=Wn(r);return i===!0||d===!0?l.jsx(at,{children:l.jsx(D,{path:"/*",element:l.jsx(_o,{})})}):l.jsxs(at,{children:[l.jsx(D,{path:"/",element:l.jsx(rs,{})}),l.jsx(D,{path:"cash_balance/*",element:l.jsx(Pt,{})}),l.jsx(D,{path:"card_balance/*",element:l.jsx(Pt,{})}),l.jsx(D,{path:"operating_expenses/*",element:l.jsx(J,{})}),l.jsx(D,{path:"operating_expenses/forecast/*",element:l.jsx(Qe,{})}),l.jsx(D,{path:"revenue/forecast/*",element:l.jsx(Qe,{})}),l.jsx(D,{path:"revenue/*",element:l.jsx(J,{})}),l.jsx(D,{path:"net_burn_or_income/forecast/*",element:l.jsx(Qe,{})}),l.jsx(D,{path:"net_burn_or_income/*",element:l.jsx(J,{})}),n===!0&&l.jsxs(l.Fragment,{children:[l.jsx(D,{path:"accounts_payable_aging/*",element:l.jsx(yo,{})}),l.jsx(D,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:l.jsx(So,{})})]}),o&&l.jsxs(l.Fragment,{children:[l.jsx(D,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:l.jsx(vo,{})}),l.jsx(D,{path:"accounts_receivable_aging/*",element:l.jsx(Io,{})})]}),l.jsx(D,{path:"cash_position/*",element:l.jsx(J,{})}),l.jsx(D,{path:"top_expenses/*",element:a===!0?l.jsx(J,{}):l.jsx(ke,{})}),l.jsx(D,{path:"cash_in_cash_out/*",element:l.jsx(J,{})}),l.jsx(D,{path:"company_details",element:l.jsx(Co,{})}),l.jsx(D,{path:"referrals/*",element:l.jsx(ko,{})}),l.jsx(D,{path:"*",element:l.jsx(ke,{})})]})}export{js as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as v}from"./liveblocks-CobNzJQ8.js";import{a as u}from"./sentry-4KELney1.js";import{h as y,g as b,k as w,u as A,N}from"./core-C33SxPr0.js";import{Ih as k,eN as _,fj as U,Ii as L,mm as R,Ij as j}from"./zeni-epic-state-Bc0tGzp_.js";import{u as z,z as f,L as T,t as S,D as O,b as $}from"./index-pUXlb0zY.js";import"./mui-BZJL7p2F.js";import{t as P}from"./getLocaleForTenant-Xh1uaNO2.js";import"./recharts-DgAB7GKe.js";import"./analytics-D6PJZcCm.js";import"./plaid-JaP9Mc6f.js";import"./dnd-WhcD1exD.js";import"./stripe-DMRn4zHo.js";import"./lottie-C3pXl1t7.js";import"./lexical-QnRSjOj3.js";import"./pdf-B8JyBdKX.js";import"./utils-BZbMXTZs.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]="4db9fc4c-2401-4b72-b102-b75e5e095755",t._sentryDebugIdIdentifier="sentry-dbid-4db9fc4c-2401-4b72-b102-b75e5e095755")}catch{}})();const Q=w(function(t){return{fetchState:t.tenantState.fetchState,activeTenantFetchState:t.tenantState.activeTenantFetchState.fetchState,currentTenant:_(t),tenantsInOrder:j(t).tenantsInOrder}})(function({fetchState:t,activeTenantFetchState:s,currentTenant:o,tenantsInOrder:h}){const r=A(),p=new URLSearchParams(r.search);if(o==null||t!=="Completed"&&s!=="Completed")return null;{let m="";const n=h.map(l=>l.tenantEmailDomain),i=r.state?.origin,a=r.state?.queryParams;let c=`../${o.tenantEmailDomain}`,d=null,e=!1,g=null,I=null;const C=E(r.pathname);if(C!=null)c=`../${o.tenantEmailDomain}/${C}`,m="comingFromV2UrlPath",C==="ai-cfo/explore"&&(d=p.get("question")?.replace(/^["']|["']$/g,"")??null,e=p.get("should_submit")==="true");else if(i!=null)if(n.reduce((l,F)=>l||i.split("/").find(D=>D===F)!=null,!1))c=i,i.includes("ai-cfo")&&a!=null&&(g=a.aiCfoRef??null,I=a.aiCfoEmailRefId??null);else{const l=E(i);l!=null?(c=`../${o.tenantEmailDomain}/${l}`,m="comingFromV2UrlPath",l==="ai-cfo/explore"&&a!=null&&(a.aiCfoQuestion!=null&&(d=a.aiCfoQuestion),a.aiCfoShouldSubmit==="true"&&(e=!0))):console.warn("Don't have access to previous path tenant!")}const x=$(c,p);return v.jsx(N,{to:x,replace:!0,state:{...r.state,origin:"",message:m,aiCfoInitialQuestion:d,aiCfoShouldSubmit:e,aiCfoRef:g,aiCfoEmailRefId:I}})}});function oe(){const t=y(),{setLoading:s,clearAllLoading:o}=z(),h=u.useRef(!1),r=u.useRef(!1),p=u.useRef(null),m=b(e=>k(e)),n=b(e=>e.tenantState.fetchState),i=b(e=>e.tenantState.error),a=b(e=>e.tenantState.activeTenantFetchState.fetchState),c=b(e=>_(e)),d=f.getSignedInUser();return u.useLayoutEffect(()=>{const e=f.getActiveTenantForUser()?.tenantId??null;p.current!==e&&(p.current=e,h.current=!1,r.current=!1,s(T.TENANT_FETCHING)),!h.current||a!=="Completed"&&a!=="Error"||(h.current=!1),!r.current||n!=="Completed"&&n!=="Error"||(r.current=!1)},[a,n]),u.useEffect(()=>{const e=f.getActiveTenantForUser()?.tenantId;h.current===!1&&d!=null&&e!=null&&S.shouldFetchActiveTenant(e)&&(h.current=!0,S.markActiveTenantFetchStarted(e),n==="Completed"||a!=="Not-Started"&&a!=="Error"||(s(T.TENANT_FETCHING),t(U(d.userId,e))))},[n,a,d,t]),u.useEffect(()=>{const e=f.getSignedInUser(),g=f.getActiveTenantForUser()?.tenantId,I=g==null||a==="Completed"||a==="Error";r.current===!1&&e!=null&&I&&S.shouldFetchAllTenants()&&(r.current=!0,S.markAllTenantsFetchStarted(),(n==="Not-Started"||n==="Error"&&!L(i))&&t(R(e.userId)))},[n,a,i,d,t]),u.useEffect(()=>{f.isSignedIn()&&n==="Completed"&&m.tenantsCoreDetailsInOrder.length>0&&(f.saveSignedInUserTenants(m.tenantsCoreDetailsInOrder),o())},[m.tenantsCoreDetailsInOrder,n]),u.useEffect(()=>{!f.isSignedIn()||n!=="Completed"&&a!=="Completed"||c==null||(O.updateAppLocaleID(P(c)),o())},[n,a,c]),v.jsx(Q,{})}const q=["dashboard/cash-balance","dashboard/card-balance","dashboard/operating-expenses","dashboard/revenue","dashboard/burn-rate","dashboard/cash-position","dashboard/top-expenses","dashboard/cash-in-cash-out","dashboard","reports","forecast","uncategorized-expense","uncategorized-income","missing-receipts","bills","cards/activate","cards","reimbursements","wise","checking","aicfo"],G={"dashboard/cash-balance":"dashboard/cash_balance","dashboard/card-balance":"dashboard/card_balance","dashboard/operating-expenses":"dashboard/operating_expenses","dashboard/revenue":"dashboard/revenue","dashboard/burn-rate":"dashboard/net_burn_or_income","dashboard/cash-position":"dashboard/cash_position","dashboard/top-expenses":"dashboard/top_expenses","dashboard/cash-in-cash-out":"dashboard/cash_in_cash_out",dashboard:"dashboard",reports:"reports",forecast:"forecast","uncategorized-expense":"transactions/uncategorized-expense","uncategorized-income":"transactions/uncategorized-income","missing-receipts":"transactions/missing-receipts",bills:"bills",reimbursements:"reimbursements","cards/activate":"cards/activate",cards:"cards",wise:"bills/wise/callback/link-account",checking:"checking",aicfo:"ai-cfo/explore"};function E(t){for(const s of q)if(t.toLocaleLowerCase().includes(s))return G[s]}export{oe as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{j as l}from"./liveblocks-CobNzJQ8.js";import{j as w,u as C,g as h,k as A,l as B}from"./core-C33SxPr0.js";import{Md as k,Mk as _,fA as L,fz as q,fy as J,io as W,Jl as K,pw as Q,eN as V,LL as D,il as T,Me as S,Mn as F,ij as G,iH as j}from"./zeni-epic-state-Bc0tGzp_.js";import{bm as X,Z as N,a as R,z as U,h as Z,q as p,d as v,B as z,bn as Y,o as H,bo as ee,s as te}from"./index-pUXlb0zY.js";import{n as M}from"./mui-BZJL7p2F.js";import"./sentry-4KELney1.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]="81acb483-c6e1-435e-808a-b37d534a4dbc",e._sentryDebugIdIdentifier="sentry-dbid-81acb483-c6e1-435e-808a-b37d534a4dbc")}catch{}})();const ne=A(null,function(e,t){return{onSaveVendor:n=>{e(W(t.vendorId!==void 0?t.vendorId:void 0,t.billId,void 0,t.isExpressPayPage)),e(K("common")),n!=null&&e(Q(n))},onGetOtp:n=>{e(J(n,"BillPayVendor"))},onResendOtp:n=>{e(q(n,"BillPayVendor"))},onVerifyOtp:(n,a)=>{e(L(n,a,"BillPayVendor"))},onVerifyOtpSuccess:(n,a,o)=>{e(_(n,a,o))}}})(X);function O({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=M.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??P();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??P(0);t.navigate(r,{state:{pathnameStackToGoBack:s.newStack}})}e(S())}}})(Y);function me({vendorIdParam:e,accountContext:t}){const n=w(),a=C(),o=N(),{vendorId:s,billId:r}=B(),i=e??s,{useFeatureGate:c}=R(),d=U.getSignedInUser(),b=h(u=>V(u)),g=Z(),x=p(a.state?.pathnameStackToGoBack),m=t??(x.poppedPathname?.includes("vendor")===!0?"vendor":"billDetail"),f=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 m==="billDetail"&&f.editVendorState?.saveStatus.fetchState==="In-Progress"?l.jsx(z,{fetchState:f.editVendorState?.saveStatus.fetchState??"Not-Started",style:{backgroundColor:g.colors.grey5}}):l.jsxs(ae,{windowSize:o,children:[l.jsx(O,{vendorId:i,billId:r}),l.jsx(oe,{location:a,navigate:n,billId:r,vendorId:i,currentTenant:b,bankAccountContext:m,isVendorRecommendationEnabled:I,isZeniAccountsFeatureEnabled:y})]})}const P=(e=2)=>{let t="../";for(let n=0;n<e;n++)t=`${t}../`;return t},fe=(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},E=(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 E(e,"ach",t,n)}function ve(e,t,n){return E(e,"domestic",t,n)}function ge(e,t,n){return E(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=M.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 ${H.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=N(),{vendorId:s,billId:r}=B(),i=e??s,c=U.getSignedInUser(),{useFeatureGate:d}=R(),b=Z(),g=h(u=>V(u)),x=p(a.state?.pathnameStackToGoBack),m=t??(x.poppedPathname?.includes("vendor")===!0?"vendor":"billDetail"),f=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 m==="billDetail"&&f.editVendorState?.saveStatus.fetchState==="In-Progress"?l.jsx(z,{fetchState:f.editVendorState?.saveStatus.fetchState??"Not-Started",style:{backgroundColor:b.colors.grey5,boxShadow:`0px 2px ${H.sp1} ${b.colors.dropShadowNormal}`}}):l.jsxs(ce,{windowSize:o,children:[l.jsx(O,{vendorId:i,billId:r}),l.jsx(re,{location:a,navigate:n,billId:r,vendorId:i,currentTenant:g,bankAccountContext:m,isVendorRecommendationEnabled:I,isZeniAccountsFeatureEnabled:y})]})}const $=(e=2)=>{let t="../";for(let n=0;n<e;n++)t=`${t}../`;return t};export{me as A,xe as D,O as V,fe 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-CobNzJQ8.js";import{Z as f,y as l,h as c}from"./index-pUXlb0zY.js";import{D as b}from"./mui-BZJL7p2F.js";import"./sentry-4KELney1.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]="7fcde72f-e252-4f4d-801f-b7b68711bcb2",e._sentryDebugIdIdentifier="sentry-dbid-7fcde72f-e252-4f4d-801f-b7b68711bcb2")}catch{}})();const p={drawerLeftMargin:new l(0,0,240)};function h(e){const{isOpen:r,drawerLeftMargin:o,children:t,onClose:s}=e,n=f(),d=o?.valuePx(n)??p.drawerLeftMargin.valuePx(n),a=c();return i.jsx(b,{anchor:"right",open:r,PaperProps:{style:{width:`calc(100% - ${d})`}},slotProps:{backdrop:{style:{backgroundColor:a.colors.black,opacity:.8,cursor:"pointer"}}},onClose:s,children:t})}export{h as D};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as s}from"./liveblocks-CobNzJQ8.js";import{a as d}from"./sentry-4KELney1.js";import{j as B,h as A,u as J,l as q,g as l,N,k as F,n as R,o as W}from"./core-C33SxPr0.js";import{Ks as _,eN as M,JR as O,kr as K,GA as I,Kx as Y,Jk as $,jr as z,GB as S,JW as V,JX as X,Jm as H,Jl as L}from"./zeni-epic-state-Bc0tGzp_.js";import{aM as Q,e as U,q as Z,s as tt}from"./index-pUXlb0zY.js";import"./mui-BZJL7p2F.js";import{d as k}from"./decodeURIComponentSafe-DBubftdA.js";import{w as et}from"./withTransactionSidePanel-Chqi629s.js";import{e as at,b as nt}from"./routePaths-LaBmoMCH.js";import"./recharts-DgAB7GKe.js";import"./analytics-D6PJZcCm.js";import"./plaid-JaP9Mc6f.js";import"./dnd-WhcD1exD.js";import"./stripe-DMRn4zHo.js";import"./lottie-C3pXl1t7.js";import"./lexical-QnRSjOj3.js";import"./pdf-B8JyBdKX.js";import"./utils-BZbMXTZs.js";import"./useAskAiCfoHostNavButtonProps-AnwBVkwu.js";import"./useFetchSuggestedQuestionsWhenReady-CooyddDy.js";import"./TransactionDetailScreen-BsTrwOAd.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]="ce006ef7-bd62-47d8-8d84-17a84ea30cca",a._sentryDebugIdIdentifier="sentry-dbid-ce006ef7-bd62-47d8-8d84-17a84ea30cca")}catch{}})();const ot=F(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(H({searchString:e,searchOrigin:"common"})):e.trim().length===0&&a(L("common"))},onAutoCompleteEntity:e=>{const o=at(e,t.tenantEmailDomain);a(V()),a(X()),t.resetTrendIsFetchedStates(),t.navigate(o,{replace:!0,state:{pathnameStackToGoBack:t.location.state?.pathnameStackToGoBack}})},onCancelAutoComplete:()=>{const e=Z(t.location.state?.pathnameStackToGoBack),o=e.poppedPathname??b();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=B(),o=A(),c=J(),[m,T]=d.useState(!1),[h,D]=d.useState(!1),{tenantEmailDomain:C,entityIdEncoded:x,entityNameEncoded:j}=q(),r=k(x??""),p=k(j??""),u=rt(r,p),G=[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=>M(n).company?.companyInfo.firstMonthOfFY??1),f=l(n=>O(n.trendWithTransactionsState,i,"EntityDetail"));d.useEffect(()=>{m===!1&&u===!0&&(T(!0),o(K(i)))},[m,u,i]);const E=l(n=>n.trendState.fetchState),P=f?.selectedPeriod?.timePeriod??g,w=function(n,y){return n!=null&&y!=null?{startDate:n.startDate,endDate:y?.endDate}:y}(f?.selectedPeriod?.timePeriod,g);return d.useEffect(()=>{m===!0&&h===!1&&E==="Completed"&&(D(!0),P!=null&&o(I(i,"EntityDetail",{timeframe:f?.selectedPeriod?.timeframe??"quarter",timePeriod:P})))},[m,h,E]),u?s.jsx(ot,{firstMonthOfFY:v,tenantEmailDomain:C,location:c,navigate:e,entity:i,defaultTransactionTimePeriod:w,resetTrendIsFetchedStates:()=>{T(!1),D(!1)},...t}):s.jsx(N,{to:b(G.length)})}),rt=(a,t)=>t!=null&&t.length>0&&a!=null&&a.length>0,b=(a=2)=>{let t="../";for(let e=0;e<a;e++)t=`${t}../`;return t};function jt({entityType:a}){return s.jsx(R,{children:s.jsx(W,{path:"/:entityIdEncoded/:entityNameEncoded/*",element:s.jsx(it,{entityType:a})})})}export{jt as EntityDetailRoutes,jt as default};
|
package/dist/assets/{ExpenseAutomationRoutes-CLKBAOIl.js → ExpenseAutomationRoutes-BhsC8wfD.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{j as p}from"./liveblocks-
|
|
1
|
+
import{j as p}from"./liveblocks-CobNzJQ8.js";import xn from"./NotFoundScreen-DSiFIhWD.js";import{a as s,b as Pt}from"./sentry-4KELney1.js";import{n as De,S as Rn}from"./mui-BZJL7p2F.js";import{h as se,j as wt,u as Ge,g as F,k as Dn,l as rt,n as Un,o as je}from"./core-C33SxPr0.js";import{eN as we,OL as On,f0 as Ce,fe as Fn,q7 as Bn,mN as xt,n6 as Rt,OM as Dt,ng as _n,ON as Ut,mG as Vn,pF as Mn,eY as he,OO as xe,s6 as Ot,Bh as Ft,OP as Bt,OQ as jn,pk as qe,Kt as dt,Kv as zn,ju as Ln,Kw as $n,jB as Gn,cU as qn,t9 as Je,jr as Jn,mT as _t,nl as Re,OR as Nn,Jm as ut,Jl as Ae,OS as mt,jS as Yn,OT as Kn,OU as Wn,OV as Hn,OW as Qn,m_ as Zn,mL as ce,no as Te,OX as Xn,OY as ea,OZ as ta,nv as na,jF as aa,jw as oa,O_ as sa,jE as ht,KD as ca,O$ as ia,P0 as la,pg as ra,oX as da,nm as pe,oW as ze,P1 as ua,P2 as ma,l9 as ha,bq as pa,l4 as pt,kS as ga,P3 as Ca,gD as gt,fQ as Sa,l1 as Ia,v2 as fa,P4 as ka,nW as Ea,nR as va,nV as ya,nG as ba,P5 as Aa,e$ as Vt,n9 as Ta,mW as Pa,ff as Ct,nq as wa,P6 as xa,nn as Mt,P7 as Ra,P8 as Da,P9 as Ua,Pa as Oa,Pb as St,ps as Fa,oM as Ba,Jk as _a,jD as Va,Pc as Ma,FB as ja,jC as za,e_ as La,ol as jt,oE as $a,nk as It,np as Ga,bC as qa,k_ as Ja,kX as Na,Pd as Ya,nF as ft,oC as kt,oA as Ka,oq as Wa,o5 as Ha,oD as Qa,Pe as Za,Pf as Xa,o9 as eo,Pg as to,n$ as no,o8 as ao,o6 as oo,oH as so}from"./zeni-epic-state-Bc0tGzp_.js";import{I as zt,a as Lt,d as ge,e as L,s as Q,K as $t,ct as co,z as Ue,cu as io,ao as Pe,cv as lo,aO as Et,B as Gt,cw as ro,al as Le,D as uo,cx as mo,R as ho,cy as po,cz as go,cA as Co,x as So,j as Io,aI as fo,b0 as ko,y as Eo,cB as vo}from"./index-pUXlb0zY.js";import{u as qt}from"./useAskAiCfoHostNavButtonProps-AnwBVkwu.js";import{c as Jt}from"./useFetchSuggestedQuestionsWhenReady-CooyddDy.js";import{c as vt,C as yo}from"./TransactionDetailScreen-BsTrwOAd.js";import{w as bo}from"./withTransactionSidePanel-Chqi629s.js";import{h as Ao,v as To}from"./routePaths-LaBmoMCH.js";import{g as $e}from"./accountMappingHelper-1H6YzkWh.js";import{D as Po}from"./DrawerScreen-D1vug7Su.js";import"./recharts-DgAB7GKe.js";import"./analytics-D6PJZcCm.js";import"./plaid-JaP9Mc6f.js";import"./dnd-WhcD1exD.js";import"./stripe-DMRn4zHo.js";import"./lottie-C3pXl1t7.js";import"./lexical-QnRSjOj3.js";import"./pdf-B8JyBdKX.js";import"./utils-BZbMXTZs.js";import"./decodeURIComponentSafe-DBubftdA.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},d=new t.Error().stack;d&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[d]="7bba6718-3023-495a-af58-8d36d329754f",t._sentryDebugIdIdentifier="sentry-dbid-7bba6718-3023-495a-af58-8d36d329754f")}catch{}})();const wo=()=>{const{isAiCfoOpen:t,setIsAiCfoOpen:d}=zt(),U=se(),E=wt(),S=Ge(),u=F(g=>we(g)),{useFeatureGate:c}=Lt(),{isFeatureEnabled:B}=c(ge.isRealtimeInsightsFeatureEnabled),m=F(g=>g.expenseAutomationViewState.selectedPeriodByTenantId),o=F(g=>On(g,u.tenantId)),{isAiCfoAccessEnabled:v,onAskAiCfoClick:f}=qt({isAiCfoOpen:t,setIsAiCfoOpen:d,mobileExploreReferrer:"Month-End Close Overview"}),y=s.useCallback((g,T,_=!1)=>{U(Ce({tenantId:T,period:{month:g.month,year:g.year},refreshViewInBackground:_}))},[]),V=s.useCallback(g=>{const T=S.state?.referrer;o.monthEndCloseChecks?.auditSummary!=null&&L.trackMonthCloseAuditPage(g.month,g.year,o.monthEndCloseChecks.reportEmailSentDate!=null?"closed":"in-review",o.monthEndCloseChecks.auditSummary.auditScorePercentage,!1,T??null),U(Fn(u.tenantId,g))},[u.tenantId,o.monthEndCloseChecks?.auditSummary,o.monthEndCloseChecks?.reportEmailSentDate]),i=m[u.tenantId],h=s.useCallback(()=>{const g=S.state?.referrer;o.monthEndCloseChecks?.auditSummary!=null&&L.trackMonthCloseAuditPage(i.month,i.year,o.monthEndCloseChecks.reportEmailSentDate!=null?"closed":"in-review",o.monthEndCloseChecks.auditSummary.auditScorePercentage,!0,g??null),y(i,u.tenantId,!0)},[y,i,u.tenantId,o.monthEndCloseChecks?.auditSummary,o.monthEndCloseChecks?.reportEmailSentDate]),w=Q(S.state?.pathnameStackToGoBack,S.pathname),A=s.useCallback(()=>{if(o.monthEndCloseChecks!=null&&i!=null){const g=o.monthEndCloseChecks.monthEndCloseCheckList.find(T=>T.progress<100);if(g!=null)return void E(`./${g.id}/${i.month}-${i.year}`,{state:{pathnameStackToGoBack:w,message:"comingFromOverview"}});E(`./month_end_insights/${i.month}-${i.year}`,{state:{pathnameStackToGoBack:w,message:"comingFromOverview"}})}},[o.monthEndCloseChecks,i]),{areTenantIdsInSync:x}=$t();return Jt({isDataReady:o.fetchState==="Completed"}),s.useEffect(()=>{i!=null&&o.fetchState!=="In-Progress"&&o.fetchState!=="Completed"&&x&&y(i,u.tenantId)},[y,i,o.fetchState,u.tenantId,x]),s.useEffect(()=>{i!=null&&o.monthClosePerformanceTrendFetchStatus.fetchState!=="In-Progress"&&o.monthClosePerformanceTrendFetchStatus.fetchState!=="Completed"&&x&&U(Bn(i))},[i,o.monthClosePerformanceTrendFetchStatus.fetchState,x]),s.useEffect(()=>{const g=setInterval(()=>{o.fetchState!=="In-Progress"&&o.fetchState==="Completed"&&h()},3e5);return()=>clearInterval(g)},[o.fetchState]),s.useEffect(()=>{if(o.fetchState==="Completed"&&o.monthEndCloseChecks?.auditSummary!=null){const g=S.state?.referrer;L.trackMonthCloseAuditPage(o.selectedPeriod.month,o.selectedPeriod.year,o.monthEndCloseChecks.reportEmailSentDate!=null?"closed":"in-review",o.monthEndCloseChecks.auditSummary.auditScorePercentage,!1,g??null)}},[o.fetchState,o.selectedPeriod,o.monthEndCloseChecks?.auditSummary,o.monthEndCloseChecks?.reportEmailSentDate]),p.jsx(xo,{children:p.jsx(co,{monthEndCloseChecksView:o,isRealtimeInsightsFeatureEnabled:B,onMonthEndCheckClick:g=>{E(`./${g}/${i.month}-${i.year}`,{state:{pathnameStackToGoBack:w,message:"comingFromOverview",referrer:"Expense Automation - Overview"}})},onPeriodChange:V,handleReviewButtonClick:A,onBackClick:()=>{E("../../dashboard")},onReload:h,isAiCfoAccessEnabled:v,onAskAiCfoClick:f})})},xo=De.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
height: 100vh;
|
|
4
4
|
width: 100%;
|
|
5
5
|
flex: 1 1 auto;
|
|
6
6
|
flex-direction: column;
|
|
7
7
|
background-color: ${t=>t.theme.colors.grey4};
|
|
8
|
-
`,Ro=Pt.memo(({reconciliation:t,selectedDrawerAccountId:d,onClose:U,onFetchLinkTokenClick:E,onEstablishConnectionClick:S})=>{const u=se(),c=Ue.getSignedInUser(),B=F(n=>we(n)),m=t.excludedAccountIDs,o=s.useMemo(()=>({userId:c?.userId??"",sessionId:c?.zeniSessionId??"",tenantId:B?.tenantId??""}),[c?.userId,c?.zeniSessionId,B?.tenantId]),{accountReconciliationsByAccountID:v,monthYearPeriod:f,statementUploadChosen:y}=t,
|
|
8
|
+
`,Ro=Pt.memo(({reconciliation:t,selectedDrawerAccountId:d,onClose:U,onFetchLinkTokenClick:E,onEstablishConnectionClick:S})=>{const u=se(),c=Ue.getSignedInUser(),B=F(n=>we(n)),m=t.excludedAccountIDs,o=s.useMemo(()=>({userId:c?.userId??"",sessionId:c?.zeniSessionId??"",tenantId:B?.tenantId??""}),[c?.userId,c?.zeniSessionId,B?.tenantId]),{accountReconciliationsByAccountID:v,monthYearPeriod:f,statementUploadChosen:y}=t,V=v[d],i=V?.accountReconEntity.statementMetaData?.statementUploadId,h=(n,a)=>{u(Mn(n,a.split(".")[0]))},w=n=>{i!=null&&u(Vn({accountId:d,selectedPeriod:f,fileId:n,statementUploadId:i}))},A=()=>{u(Dt({statementUploadChosen:!1}))},x=n=>{u(_n({accountId:d,selectedPeriod:f,payload:n}))},g=n=>{u(Ut({accountId:d,selectedPeriod:f,localData:{accountSource:n}}))},T=s.useCallback(()=>{u(xt({accountId:d}))},[u,d]),_=s.useCallback(()=>{u(Rt({accountId:d}))},[u,d]),e=m.includes(d)?t.excludedAccountReconciliationByAccountID[d]:void 0;return V!=null?p.jsx(yt,{children:p.jsx(bt,{children:p.jsx(io,{excludeAccountFetch:t.excludeAccountFetchState,accountReconciliation:V,monthYearPeriod:f,onDismissClick:U,plaidConnectionDetails:t.plaidConnectionDetails,onFetchLinkTokenClick:E,onEstablishConnectionClick:S,onEditFileName:h,onDeleteFile:w,onSelectSourceType:g,filesEndPoint:Pe.fileMicroServiceBaseUrl,authParams:o,openFilePicker:y,onStatementUploadSuccess:x,onUploadWindowOpenedOnce:A,onExcludeFromReconciliation:T})})}):e!=null?p.jsx(yt,{children:p.jsx(bt,{children:p.jsx(lo,{excludedAccountReconciliation:e,includeAccountFetch:t.includeAccountFetchState,onIncludeIntoReconciliation:_})})}):null}),yt=De.div`
|
|
9
9
|
display: flex;
|
|
10
10
|
flex-direction: column;
|
|
11
11
|
height: 100%;
|
|
@@ -18,7 +18,7 @@ import{j as p}from"./liveblocks-ktikibPc.js";import xn from"./NotFoundScreen-D1x
|
|
|
18
18
|
min-width: 0;
|
|
19
19
|
overflow-x: hidden;
|
|
20
20
|
overflow-y: auto;
|
|
21
|
-
`;function Do({companyId:t,closeCustomerRequestDrawer:d,addCustomerRequest:U,resetCustomerRequest:E}){const S=Ue.getSignedInUser();if(S==null)throw Error("Can't access Customer Request page without signing in...");const u=F(c=>jn(c,t,S));return s.useEffect(()=>{E()},[]),p.jsx(p.Fragment,{children:u.fetchState==="In-Progress"||u.companyMonthEndReportTemplatesData.fetchState==="In-Progress"?p.jsx(Gt,{fetchState:"In-Progress"}):p.jsx(ro,{onCloseClick:d,addCustomerRequest:U,snippets:u.companyMonthEndReportTemplatesData,bulletPoints:u.zeniRequestsData??[]})})}const Uo=t=>t.sections.generalExpense.vendors.length+t.sections.reimbursement.vendors.length,{common:{strings:{hyphen:Oo,comma:At,space:Fo}},dateFormat:Nt}=uo.getLocalizedStrings(),Tt=so,Bo=Dn(function(t,d){const{uncategorizedAccounts:U,vendorSearchAutoCompleteData:E,monthEndInsightsCustomerRequestData:S,monthEndInsightsPreviewMode:u,companyId:c,isMissingReceiptsBulkUploadEnabled:B,isTransactionActivityEnabled:m}=d,o=Ue.getSignedInUser(),v=t.tenantState.currentTenantId,f={userId:o?.userId??"",sessionId:o?.zeniSessionId??"",tenantId:v??""},y=he(t),{selectedTransactionCategorizationTab:M}=y;return{expenseAutomationViewSelector:y,bulkUploadSelector:B===!0?y.missingReceipts.bulkUpload:void 0,vendorSearchAutoCompleteData:E,authParams:f,receiptUploadEndpoint:`${Pe.accountMicroServiceBaseUrl}`,transactionAttachmentsEndpoint:`${ho}/transaction_attachments`,bulkUploadEndpoint:B===!0?`${Pe.communicationAgentMicroServiceBaseUrl}/1.0/receipts/bulk-upload`:void 0,isDisabled:!1,currentTab:M,monthEndInsightsCustomerRequestData:S,monthEndInsightsPreviewMode:u,allThreadsSectionOpen:!1,enableMonthEndInsightsZeniGPTFeature:!1,loggedInUser:o,uncategorizedAccounts:U,companyId:c,isTransactionActivityEnabled:m,isAccountingClassesEnabled:Jn(t)}},function(t,d){const{themeState:U,isCOTEnabled:E,isUncategorizedExpenseCategoryEnabled:S,isMissingReceiptsBulkUploadEnabled:u,location:c,vendorSearchAutoCompleteData:B,expenseAutomationViewSelector:m,currentTenant:o,uncategorizedAccounts:v,navigate:f,onClickCustomerRequest:y,handleEditClick:M,setActivityLogTransactionId:i}=d,{selectedPeriod:h,currentSelectedView:w,reconciliation:{selectedAccountId:A}}=m,{accountSettingsView:x}=m.jeSchedules,g=_t(h),T=Re(g.start),_=Re(g.end);return{onZeniLogoClick:()=>{U.toggle()},onUploadReceiptAttachment:e=>{L.trackMissingReceiptAttached(h.month,h.year),t(Ba(e))},onUploadTransactionReceipt:(e,n,a,r,I,C)=>{t(St(e,n,{fetchState:"In-Progress"}));const k=()=>t(St(e,n,{fetchState:"Error"}));po(`${Pe.accountMicroServiceBaseUrl}/1.0/transactions/${n}/attachments`,C,n,a,r,I).then(R=>{R!=null?t(Fa(e,R)):k()}).catch(k)},onMissingReceiptsRowClick:(e,n)=>{if(d.openTransactionPanel)return void d.openTransactionPanel(e,n);const a=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../../transaction/${n}/${e}`,{state:{pathnameStackToGoBack:a,message:"expenseAutomation",origin:"missing_receipts"}})},onUploadReceiptComplete:(e,n)=>{t(Oa(e,n)),o!=null&&t(Ce({tenantId:o.tenantId,period:n,refreshViewInBackground:!0}))},onUploadReceiptFetchStatus:(e,n,a,r)=>{t(Ua(e,{fetchState:n,error:a})),a!=null&&t(gt({messageSection:"missing_receipts_attachment",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"__message__",variableValue:r!=null?Fo+Oo+r+At:At}]}))},onUpdateJESchedulesUIState:e=>{t(Da(e))},onUpdateMissingReceiptsUIState:e=>{t(Ra(e))},onFetchMissingReceiptsList:()=>{_!=null&&T!=null&&t(Vt({start:T,end:_},{amount:75,currencyCode:"USD",currencySymbol:"$"},!0,!1))},...u===!0?{onBulkUploadFiles:e=>{t(oo(e))},onBulkUploadProgress:e=>{t(ao(e))},onBulkUploadSuccess:e=>{t(no({batchId:e}))},onBulkUploadUploadedFileCount:e=>{t(to(e))},onConfirmBulkUploadMatch:(e,n,a,r,I)=>{t(eo(e,n,a,r,I))},onBulkUploadConfirmMatchAcknowledged:()=>{t(Xa())},onSetBulkUploadResultsTab:e=>{t(Za(e))},onSetBulkUploadCompletedSubTab:e=>{t(Qa(e))},onSetBulkUploadSortConfig:(e,n)=>{t(kt({sortKey:e,sortOrder:n}))},onClearBulkUpload:()=>{t(Ha())},onSearchTransactionsForManualMatch:(e,n)=>{t(Tt(e,n??void 0))},onLoadMoreManualSearch:()=>{const{manualSearch:e}=m.missingReceipts.bulkUpload;e.nextPageToken!=null&&e.searchQuery!==""&&t(Tt(e.searchQuery,e.nextPageToken))},onFetchCompletedTransactions:(e,n)=>{t(Wa(e,n))},onFetchBulkUploadBatches:e=>{t(jt(e))},onFetchMoreBatchDetails:()=>{t(Ka())},onResetBulkUploadSort:()=>{t(kt({sortKey:"date",sortOrder:"descending"}))}}:{},onClearMissingReceiptsTabNavigation:()=>{t(xa())},onSearchTextChanged:e=>{const n=m.currentSelectedView,a=m.selectedTransactionCategorizationTab;n==="transaction_categorization"&&(t(ze({selectedTab:a,uiState:{searchString:e}})),_!=null&&T!=null&&t(pe(a,{start:T,end:_},!0,!1,e,void 0,!0)))},onRefresh:()=>{d.trackExpenseAutomationTabAnalytics(!0),t(wa(S))},onClose:()=>{w==="reconciliation"&&A!=null&&t(Ct({selectedAccountId:void 0})),f("../")},onBack:()=>{w==="reconciliation"&&A!=null&&t(Ct({selectedAccountId:void 0}))},onSaveReconciliation:e=>{t(Pa(e))},onSaveReconciliationReview:e=>{t(Ta(e))},onUpdateStep:e=>{const{selectedPeriod:n}=m,a=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../${e}/${n.month}-${n.year}`,{state:{pathnameStackToGoBack:a,referrer:m.currentSelectedView}}),t(Mt(e))},handleLogOutClick:()=>{const e=Q(c.state?.pathnameStackToGoBack,c.pathname);f("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},onJeAccountSettingsChange:e=>{const{vendorsAccountSection:n}=e,{prepaidExpensesAccount:a,fixedAssetsAccount:r,accruedExpensesAccount:I}=n,C=$e(x.prepaidExpensesAccountList,a.selectedOptions),k=$e(x.fixedAssetsAccountList,r.selectedOptions),R=$e(x.accruedExpensesAccountList,I.selectedOptions),G={selectedPrepaidExpensesAccountIds:C.map(b=>b.accountId),selectedFixedAssetsAccountIds:k.map(b=>b.accountId),selectedAccruedExpensesAccountIds:R.map(b=>b.accountId)};t(Aa({data:G}))},onSaveJeAccountSettingsClick:()=>{t(ba())},onJESchedulesFormDataChange(e,n){const{jeScheduleID:a,accumulatedDepreciationCategory:r,scheduleClass:I,scheduleExpenseCategory:C,vendor:k}=n,{allAccountList:R,allClassList:G,allDepreciationAccountList:b}=m.jeSchedules,q=B.entityAutoCompleteView.vendor.length>0?B.entityAutoCompleteView.vendor.find(j=>j.id===k?.selectedOption):void 0,W={id:q?.zeniId??k?.selectedOption??"",name:q?.name??k?.defaultOptions.find(j=>j.value===k?.selectedOption)?.label??"",logo:q?.logo},Oe=C?.selectedOption!=null?R.find(j=>j.qboId===C.selectedOption):void 0,Se=I?.selectedOption!=null?G.find(j=>j.classId===I.selectedOption):void 0,Ie=r?.selectedOption!=null?b.find(j=>j.qboId===r.selectedOption):void 0;t(ya({scheduledJournalEntryID:e,localData:{jeScheduleID:a,scheduledJournalEntryID:e,updatedCategoryId:Oe?.accountId,updatedClassId:Se?.classId,updatedAccumulatedDepreciationCategoryID:Ie?.accountId,updatedVendor:{id:W.id,name:W.name}}}))},ignoreRecommendedJeSchedule(e,n){t(va(e,n))},vendorSearchAutoCompleteActions:{onAutoCompleteInputChange:(e,n)=>{e.trim().length>=2?t(ut({searchString:e,entityType:n,searchOrigin:"common"})):e.trim().length===0&&t(Ae("common"))},onCancelAutoComplete:()=>{t(Ae("common"))}},onPostJESchedule(e,n){t(Ea({scheduledJournalEntryID:e,jeScheduleTransactionKey:n}))},clearJeScheduleLocalData(){t(ka())},handleJeScheduleClick:(e,n,a)=>{t(fa({selectedJEScheduleKey:n}));const r=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../../vendors/schedules/${a}/details/${e}`,{state:{pathnameStackToGoBack:r,message:"expenseAutomation",origin:"je_schedules"}})},improveMonthEndInsightsUsingZeniGPTClick:e=>{o!=null&&t(Ia(e,o.companyId,o.tenantId))},onClickCustomerRequest:y,setActivityLogTransactionId:i,onCloseAllThreadsSection:()=>{},onCloseFileAttachmentSnackBar:()=>{t(Sa())},onOpenFileAttachmentSnackBar:()=>{t(gt({messageSection:"cockpit_month_end_email_attachment_upload",messageText:"failed",type:"error",showStatusIcon:!0}))},onRemoveFileAttachment:e=>{t(Ca(e))},onUpdateFileAttachment:e=>{t(ga({files:e}))},previewMonthEndReport:(e,n,a,r)=>{o!=null&&t(pt(e,o.companyId,n,!0,a,r,o.tenantId))},saveMonthEndReport:(e,n,a,r)=>{o!=null&&t(pt(e,o.companyId,n,!1,a,r,o.tenantId))},onEditMonthEndInsightsClick:M,sendMonthEndReport:e=>{const n=c.state?.referrer,{selectedPeriod:a,auditSummary:r}=m;o!=null&&r?.auditScorePercentage!=null&&(t(ha(o.companyId,e,o.tenantId)),L.trackInsightsEmailPage(a.month,a.year,!1,"draft",r.auditScorePercentage,pa().format(Nt.analytics.MMMDDCommaYYYYformat),n??null))},onTransactionCategorizationRowClick:(e,n)=>{if(d.openTransactionPanel)return void d.openTransactionPanel(e,n);const a=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../../transaction/${n}/${e}`,{state:{pathnameStackToGoBack:a,message:"expenseAutomation",origin:"transaction_categorization"}})},setLocalDataForCategoryAndClass:(e,n,a,r,I,C,k,R,G,b,q)=>{t(ma(e,n,a,r,v,I,C,k,R,G,b,q))},onCancelAutoComplete:()=>{t(Ae("common"))},updateExpenseAutomationReconListScrollPosition:e=>{t(mt({scrollPosition:e}))},onUpdateTab:e=>{d.closeSidePanel?.(),_!=null&&T!=null&&(t(pe(e,{start:T,end:_},!1,!1)),t(ua(e)))},onUpdateTransactionCategorizationUIState:(e,n)=>{t(ze({selectedTab:e,uiState:n})),_!=null&&T!=null&&t(pe(e,{start:T,end:_},!1,!1,n.searchString,null,!0))},onUpdateScrollYOffSetTransactionCategorizationUIState:(e,n)=>{t(ze({selectedTab:e,uiState:n}))},onFetchTransactionCategorizationList:(e,n,a,r,I,C,k)=>{_!=null&&T!=null&&t(pe(e,{start:T,end:_},!0,a,n,r,I,C,k))},resetTransactionCategorizationLocalData:(e,n,a,r,I,C,k,R)=>{t(da(e,n,a,r,R??null,I,C,!1,k))},updateSelectedVendorForTransaction:(e,n,a,r,I)=>{t(ht({selectedTab:e,transactionId:n,lineId:a,selectedTransaction:r,uncategorizedAccounts:v,updatedVendor:I}))},onSaveUpdateTransactionCategorization:(e,n,a)=>{const r=c.state?.referrer;e==="autoCategorized"?L.trackTransactionsAutoCategorisedPage(h.month,h.year,m.transactionView.totalCountByTab.autoCategorized,n.length,!1,r??null):L.trackTransactionsReviewPage(h.month,h.year,m.transactionView.totalCountByTab.review,n.length,!1,r??null),t(ra(e,n,a,S))},onUpdateSelectedCheckboxTransactionIds:(e,n)=>{t(la({selectedTab:e,transactionIds:n}))},onFetchRecommendationsForEntityCategorizationWithCustomer:(e,n,a,r,I,C,k)=>{const{transactionId:R,transaction:G,lineIds:b}=n;C!=null&&t(ca({transactionId:R,customerUpdates:C})),t(ia({selectedTab:r,transactionId:R.id,lineId:b[0],selectedTransaction:G,uncategorizedAccounts:v,updatedCustomer:C,selectedEntity:I,isUncategorizedExpenseCategoryEnabled:k})),I!=null&&t(Je(I,e,n,a,!0,E,k))},onFetchRecommendationsForEntityCategorization:(e,n,a,r,I,C,k)=>{const{transactionId:R,transaction:G,lineIds:b}=n;C!=null&&(t(aa({transactionId:R,vendorUpdates:{name:C.name,id:C.id?C.id:void 0}})),t(oa({vendorId:C.id?C.id:void 0,localData:{vendorName:C.name,vendorId:C.id?C.id:void 0}}))),C?.id?(t(ht({selectedTab:r,transactionId:R.id,lineId:b[0],selectedTransaction:G,uncategorizedAccounts:v,updatedVendor:C,selectedEntity:I,isUncategorizedExpenseCategoryEnabled:k})),I!=null&&t(Je(I,e,n,a,!0,E,k))):t(sa({selectedTab:r,transactionId:R.id,lineId:b[0]}))},fetchFluxViewOnScroll:(e,n)=>{t(Te(e,!0,!1,n,!1,!0))},onFetchFluxViewList:()=>{t(Te(h,!0,!1,null,!1,!1))},markAsReview:(e,n,a,r)=>{L.trackFluxAnalysisReviewed(a.month,a.year,r??!1,e),t(na(n,e,a,r??!1))},onUpdateFluxAnalysisUIState:e=>{t(ta(e))},updateOperatingExpensesIdsForReview:e=>{t(ea({operatingExpenseIds:e,selectedPeriod:h}))},redirectToVendorDetailPage:e=>{if(d.tenantEmailDomain!=null){const n=To(e.id,e.qboId,d.tenantEmailDomain),a=Q(d.location.state?.pathnameStackToGoBack,d.location.pathname);d.navigate(n,{state:{pathnameStackToGoBack:a,message:"expenseAutomation",referrer:"Vendor List",origin:"flux_analysis"}})}},updateSectionIdsForReview:e=>{t(Xn({sectionId:e,selectedPeriod:h}))},onFetchReimbursementView:(e,n,a)=>{t(Te(e,!0,!1,n,!0,a))},onReviewClicked:e=>{t(ce(h,e))},setOpenDrawerClicked:e=>{t(xe({selectedDrawerAccountId:e}))},onFetchLinkTokenClick:(e,n)=>{t(Ot("expense_automation_reconcile",e,n))},onEstablishConnectionClick:(e,n)=>{const a=o?.companyId;a!=null&&(t(Ft(e,a,"expense_automation_reconcile",void 0,"link_account_no_microdeposit",n)),t(Bt({accountId:n,connectionInProgress:!0})))},onAddStatementClick:e=>{t(xe({selectedDrawerAccountId:e})),t(Ut({accountId:e,selectedPeriod:h,localData:{accountSource:"bank_statement"}})),t(Dt({statementUploadChosen:!0}))},onReloadReconciliationListPage:()=>{t(ce(h,void 0,!0,!1))},onUpdateReconcileTabLocalData:e=>{t(Zn({selectedTransactionIds:e}))},onReconTabColumnSortConfigChanged:(e,n)=>{t(Qn({sortKey:e,sortOrder:n}))},onReconReviewTabColumnSortConfigChanged:(e,n)=>{t(Hn({sortKey:e,sortOrder:n}))},onReconTabUpdate:e=>{d.closeSidePanel?.(),t(Wn({selectedTab:e}))},updateReconReviewTabLocalData:(e,n,a)=>{const r=e.vendor?.id;a&&r!=null&&t(Yn(r)),t(Kn({data:e,transactionId:n}))},onReconMatchedTransactionClick:e=>{if(d.openTransactionPanel)return void d.openTransactionPanel(e,qe("bill"));const n=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../../transaction/bill/${e}`,{state:{pathnameStackToGoBack:n,message:"expenseAutomation",origin:"reconciliation"}})},onReloadPage:()=>{window.location.reload()},onBackClick:()=>{f(-1)},onReconListPageScroll:e=>{t(mt({scrollPosition:e}))},onVendorAutoCompleteInputChange:e=>{e.trim().length>=2?t(ut({searchString:e,searchOrigin:"common"})):e.trim().length===0&&t(Ae("common"))},onReconNodeCollapseToggled:(e,n)=>{t(Nn({nodeId:e,collapsed:n}))},updateSectionCollapseStatus:()=>{},onExcludeAccountFromReconciliation:e=>{t(xt({accountId:e}))},onIncludeAccountIntoReconciliation:e=>{t(Rt({accountId:e}))}}},(t,d,U)=>{const{isMissingReceiptsBulkUploadEnabled:E,...S}=U;return function(u,c,B){return{...u,...c,...B,onUploadTransactionReceipt:(m,o,v,f,y)=>{c.onUploadTransactionReceipt(m,o,v,f,y,u.authParams)}}}(t,d,S)})(mo),_o=bo(function(t){const d=t.displayName??t.name??"Component",U=Pt.memo(t),E=S=>{const u=se(),c=function(){const h=se(),w=F(A=>he(A).reconciliation.selectedDrawerAccountId);return{isOpen:w!=null,selectedAccountId:w,openPanel:s.useCallback(A=>{h(xe({selectedDrawerAccountId:A}))},[h]),closePanel:s.useCallback(()=>{h(xe({selectedDrawerAccountId:void 0}))},[h])}}(),B=F(h=>he(h).reconciliation),m=F(h=>we(h)),o=s.useCallback((h,w)=>{u(Ot("expense_automation_reconcile",h,w))},[u]),v=s.useCallback((h,w)=>{const A=m?.companyId;A!=null&&(u(Ft(h,A,"expense_automation_reconcile",void 0,"link_account_no_microdeposit",w)),u(Bt({accountId:w,connectionInProgress:!0})))},[u,m?.companyId]),f=s.useMemo(()=>{if(c.isOpen&&c.selectedAccountId!=null)return p.jsx(Ro,{reconciliation:B,selectedDrawerAccountId:c.selectedAccountId,onClose:c.closePanel,onFetchLinkTokenClick:o,onEstablishConnectionClick:v})},[c.isOpen,c.selectedAccountId,c.closePanel,B,o,v]),y=s.useMemo(()=>({reconPanelContent:f,reconSidePanelIsOpen:c.isOpen,closeReconSidePanel:c.closePanel}),[f,c.isOpen,c.closePanel]),M=s.useContext(Et),i=s.useMemo(()=>c.isOpen?{closePanel:c.closePanel,selectedItemId:c.selectedAccountId}:M,[c.isOpen,c.closePanel,c.selectedAccountId,M]);return p.jsx(Et.Provider,{value:i,children:p.jsx(U,{...S,...y})})};return E.displayName=`withReconSidePanel(${d})`,E}(({closeSidePanel:t,openTransactionPanel:d,panelContent:U,sidePanelIsFullView:E,sidePanelIsOpen:S,reconPanelContent:u,reconSidePanelIsOpen:c,closeReconSidePanel:B})=>{const{isAiCfoOpen:m,setIsAiCfoOpen:o}=zt(),v=go(),{isOpen:f}=Co(),y=wt(),M=Ge(),i=se(),{isAiCfoAccessEnabled:h,onAskAiCfoClick:w}=qt({isAiCfoOpen:m,setIsAiCfoOpen:o,mobileExploreReferrer:"Transaction categorization"}),A=s.useCallback(()=>{S===!0&&E!==!0&&t?.()},[t,S,E]),{areTenantIdsInSync:x}=$t(),g=(()=>{const l=F(J=>he(J)),z=Ge(),{currentSelectedViewFetchState:K,currentSelectedView:V,selectedPeriod:O}=l,me=Le(V),ee=Le(K.fetchState),ve=s.useCallback(J=>{const H=z.state?.referrer;V==="transaction_categorization"&&(l.selectedTransactionCategorizationTab==="review"?L.trackTransactionsReviewPage(O.month,O.year,l.transactionView.totalCountByTab.review,0,J,H??null):L.trackTransactionsAutoCategorisedPage(O.month,O.year,l.transactionView.totalCountByTab.autoCategorized,0,J,H??null)),V==="missing_receipts"&&L.trackMissingReceiptsPage(O.month,O.year,J,l.missingReceipts.transactions.length,H??null),V==="je_schedules"&&L.trackMonthCloseScheduleListPage(O.month,O.year,J,l.jeSchedules.draftSchedules.length,l.jeSchedules.resolveSchedules.length,H??null),V==="flux_analysis"&&L.trackFluxAnalysisPage(O.month,O.year,J,Uo(l.fluxAnalysis),H??null),V==="month_end_insights"&&l.auditSummary?.auditScorePercentage!=null&&L.trackInsightsEmailPage(O.month,O.year,J,"draft",l.auditSummary.auditScorePercentage,null,H??null)},[O,l]);return s.useEffect(()=>{ee===K.fetchState&&V===me||K.fetchState!=="Completed"||ve(!1)},[V,K.fetchState,me]),ve})(),T=So(),[_,e]=s.useState(!1),n=F(l=>dt(l)),a=F(l=>we(l)),[r,I]=s.useState(!1),[C,k]=s.useState(!1),[R,G]=s.useState([]),[b,q]=s.useState(void 0),W=s.useCallback(l=>{l!=null&&(m&&o(!1),v(),A()),q(l)},[A,m,v,o]),Oe=s.useCallback(()=>{v(),q(void 0),A(),w()},[A,w,v]),Se=s.useRef(m);s.useEffect(()=>{m===!0&&Se.current===!1&&(v(),q(void 0),A()),Se.current=m},[A,m,v]);const Ie=s.useRef(f);s.useEffect(()=>{f===!0&&Ie.current===!1&&(m&&o(!1),q(void 0),S===!0&&E!==!0&&t?.()),Ie.current=f},[t,f,m,o,E,S]);const j=S===!0&&E!==!0,Ne=s.useRef(j);s.useEffect(()=>{j&&!Ne.current&&(m&&o(!1),v(),q(void 0)),Ne.current=j},[m,j,v,o]);const[Ye,Yt]=s.useState(!1),Ke=s.useRef(!1),{selectedTab:We}=rt(),{tenantEmailDomain:Kt}=rt(),[Fe,He]=s.useState(M.state?.message==="comingFromTransactionDetail"),Qe=M.state?.message==="comingFromOverview",Wt=Io(),Be=Ue.getSignedInUser(),{useDynamicConfig:Ht,useFeatureGate:fe}=Lt(),{configValue:Qt}=Ht(fo.enableUncategorizedExpenseCategory),Z=Qt?.uncategorized_expense_category_enabled===!0,{isFeatureEnabled:Ze}=fe(ge.isRealtimeInsightsFeatureEnabled),{isFeatureEnabled:ie}=fe(ge.isMissingReceiptsBulkUploadEnabled),{isFeatureEnabled:Xe}=fe(ge.isTransactionActivityEnabled),{isFeatureEnabled:Zt}=fe(ge.isExpenseAutomationCommentingEnabled),Xt=s.useCallback(l=>{const z=qe(l.view==="reconciliation"?"bill":"expense");d?.(l.entityId,z)},[d]),en=F(l=>_a(l,"common")),$=F(l=>he(l)),{monthEndCloseChecksView:Y,currentSelectedView:P,selectedPeriod:D,selectedTransactionCategorizationTab:ne,currentSelectedViewBackgroundRefreshFetchState:tn,currentSelectedViewFetchState:X,jeSchedules:_e,reconciliation:nn}=$;s.useEffect(()=>{P==="transaction_categorization"&&S!==!0||W(void 0)},[P,W,S]);const ke=s.useRef(null);s.useEffect(()=>{ke.current!==null?ke.current!==ne&&(ke.current=ne,P==="transaction_categorization"&&W(void 0)):ke.current=ne},[P,ne,W]);const an=F(l=>b==null?void 0:Ma(l.transactionState,b)),ae=an?.qboId,on=F(l=>ae==null?void 0:Va(l,ae));s.useEffect(()=>{ae!=null&&i(ja(ae))},[i,ae]);const{selectedAccountId:le}=nn,et=Le(_e.accountSettingsView.saveState.fetchState),sn=F(l=>za(l.accountState,l.accountListState,"accountList")),re=We!=null?La(We):P,cn=F(l=>l.entityAutoCompleteState.autoCompleteText.common);if(Jt({isDataReady:X.fetchState==="Completed"}),Be==null)throw Error("Can't access expense automation screen without signing in...");const tt=_t(D),de=Re(tt.start),ue=Re(tt.end);if(de==null||ue==null)throw Error(`Invalid start - ${de} and end - ${ue} period from given ${D}`);const ln=s.useCallback(()=>{I(!1)},[]),rn=s.useCallback(()=>{k(!0)},[]),dn=s.useCallback(l=>{G(l),k(!1)},[]),un=s.useCallback(()=>{G([])},[]),Ee=$.missingReceipts.bulkUpload.phase,nt=$.missingReceipts.bulkUpload.currentBatchId;s.useEffect(()=>{ie===!0&&P==="missing_receipts"&&Ee==="matching"&&nt!=null&&i(jt({cacheOverride:!0}))},[ie,P,Ee,nt,i]);const at=Be?.userId,mn=D.month,hn=D.year,ot=a?.tenantId;s.useEffect(()=>{P==="missing_receipts"&&ie!==!1&&Ee==="idle"&&at!=null&&ot!=null&&i($a())},[P,ie,Ee,at,ot,mn,hn,i]),s.useEffect(()=>{n.newVendorState?.vendorDetailLocalData?.vendorName!=null?e(!0):e(!1)},[n.newVendorState?.vendorDetailLocalData?.vendorName]),s.useEffect(()=>{re!=null&&P!==re&&i(Mt(re))},[re]),s.useEffect(()=>{Ye!==!1||X.fetchState!=="Completed"&&X.fetchState!=="Error"||!x||(Yt(!0),i(It(!1,!1,Z)))},[Ye,X,x,Z]),s.useEffect(()=>{!Qe&&x&&(i(It(!1,!1,Z)),i(ce(D,le,!1,!1)))},[D.month,D.year,x,Z]);const st=s.useCallback((l=!1,z=!1)=>{const K={start:de,end:ue};switch(P){case"transaction_categorization":i(pe(ne,K,l,!Fe,void 0,void 0,z,void 0,Z)),He(!1);break;case"flux_analysis":i(Te(D,l,z,null));break;case"month_end_insights":if(z===!1){const V=new Date(D.year,D.month,0),O=qa(V.toDateString()).format(Nt.analytics.YYYYDashMMDashDDFormat);i(Ja(!0,a.companyId,a.tenantId,O)),i(Na(a.companyId,a.tenantId))}break;case"je_schedules":i(Ga(K,z));break;case"missing_receipts":i(Vt(K,{amount:75,currencyCode:"USD",currencySymbol:"$"},l,z));break;default:i(ce(D,le,l,z))}},[P,de,ue,a.companyId,a.tenantId,ne,D,le,Fe,He,Z]);s.useEffect(()=>{P===re&&X.fetchState==="Not-Started"&&x&&st(!0)},[X,de,ue,a.companyId,a.tenantId,x]),s.useEffect(()=>{Qe||Fe||Ke.current||tn.fetchState==="In-Progress"||X.fetchState!=="Completed"||(Ke.current=!0,st(!0,!0))},[]),s.useEffect(()=>{Y.fetchState!=="In-Progress"&&Y.fetchState!=="Completed"&&i(Ce({tenantId:a.tenantId,period:D,refreshViewInBackground:!1}))},[Y.fetchState,a.tenantId]),s.useEffect(()=>{$.monthEndInsights?.previewMonthEndReportStatus?.fetchState==="Completed"?I(!0):I(!1)},[$.monthEndInsights?.previewMonthEndReportStatus?.fetchState]),s.useEffect(()=>{$.monthEndInsights?.sendMonthEndReportStatus?.fetchState==="Completed"&&x&&(i(Ce({tenantId:a.tenantId,period:D,refreshViewInBackground:!0})),i(Ya({companyId:a.companyId})),y("../"))},[$.monthEndInsights?.sendMonthEndReportStatus?.fetchState,a.tenantId,D,a.companyId,x]),s.useEffect(()=>{const l=setInterval(()=>{Y.fetchState!=="In-Progress"&&Y.fetchState==="Completed"&&i(Ce({tenantId:a.tenantId,period:D,refreshViewInBackground:!0}))},3e5);return()=>clearInterval(l)},[Y.fetchState,a.tenantId,D,i]),s.useEffect(()=>{const l=setInterval(()=>{P==="reconciliation"&&le==null&&$.reconciliation.fetchStatus.fetchState==="Completed"&&$.reconciliation.refreshStatus.fetchState!=="In-Progress"&&i(ce(D,void 0,!0,!0))},3e5);return()=>clearInterval(l)},[P,i,$.reconciliation.fetchStatus.fetchState,$.reconciliation.refreshStatus.fetchState,ce,le,D]);const pn=vt();s.useEffect(()=>{const l=(Y.monthEndCloseChecks?.monthEndCloseCheckList.find(z=>z.id==="month_end_insights")?.isDisabled??!1)&&!Ze;P!=="month_end_insights"||!l&&Y.monthEndCloseChecks?.reportEmailSentDate==null||y("../")},[P,Y.monthEndCloseChecks]);const gn=c===!0?u:U,Cn=c===!0||S===!0,Sn=c===!0?B:t;s.useEffect(()=>{et==="In-Progress"&&_e.accountSettingsView.saveState.fetchState==="Completed"&&i(ft())},[et,_e.accountSettingsView.saveState.fetchState,ft]);const{transactionId:ct,onSaveVendor:In,onSaveSuccess:fn,onCancel:kn,vendorViewDetails:En}=(({expenseAutomationViewSelector:l,closeDrawerHandler:z,currentSelectedView:K})=>{const V=se();let O,me,ee;const ve=vt(),J=l.transactionView;let H=()=>{};const{transactions:vn,selectedTransactionId:oe,selectedTransactionLineId:ye,transactionLocalData:yn}=J;if(K==="transaction_categorization"){const Me=yn.find(te=>te.transactionId===oe),N=vn.find(te=>te.id===oe),it=ye!=null?Me?.transactionReviewLocalData?.lineItemById[ye]:void 0,lt=it?.account;me=it?.class?.classId,O=["Uncategorized Income","Uncategorized Expense"].includes(lt?.accountName??"")?void 0:lt?.accountId;const An=Ao(oe,N?.typeOfTransaction);N!=null&&An&&(ee={id:oe,type:qe(N.typeOfTransaction)}),H=()=>{if(oe!=null&&ye!=null&&N!=null){const te=J.transactionLocalData.find(be=>be.transactionId===oe)?.transactionReviewLocalData;if(te!=null&&N.lines!=null&&N.lines.length>0){const be=te.lineItemById[ye];let Ve=te.selectedEntity;if(qn(N)||(Ve=be.selectedEntityLine),Ve!=null){const Tn=Ve,Pn={transactionId:{id:N.id,type:N.type},transaction:N,lineIds:N.lines.map(wn=>wn.id)??[]};V(Je(Tn,be.amount.amount,Pn,!1,!0,ve))}}}}}const bn=F(Me=>dt(Me,void 0,O,me));return{transactionId:ee,onSaveVendor:()=>{V(Gn(ee,void 0,!1,!0))},onSaveSuccess:H,onCancel:()=>{ee!=null&&V(zn({transactionId:ee})),V(Ln()),V($n()),z()},vendorViewDetails:bn}})({expenseAutomationViewSelector:$,closeDrawerHandler:()=>{e(!1)},currentSelectedView:P});return Wt?.loggedInUserRoleMap==null?Y.fetchState==="Error"?p.jsx(ko,{onGoHome:()=>y("../",{replace:!0}),onReload:()=>window.location.reload()}):p.jsx(Gt,{fetchState:"In-Progress"}):p.jsxs(p.Fragment,{children:[p.jsx(Po,{isOpen:C,drawerLeftMargin:new Eo(0,0,300,650),onClose:()=>{k(!1)},children:p.jsx(Mo,{onClick:l=>l.stopPropagation(),children:p.jsx(Do,{companyId:a.companyId,closeCustomerRequestDrawer:()=>k(!1),addCustomerRequest:dn,resetCustomerRequest:un})})}),ct!=null&&_&&p.jsx(yo,{isOpen:_,transactionId:ct,onSaveVendor:In,onSaveSuccess:fn,onCancel:kn,vendorViewDetails:En}),p.jsx(Bo,{navigate:y,location:M,themeState:T,vendorSearchAutoCompleteData:{autoCompleteText:cn,entityAutoCompleteView:en},expenseAutomationViewSelector:$,isMissingReceiptsBulkUploadEnabled:ie,monthEndInsightsPreviewMode:r,monthEndInsightsCustomerRequestData:R,isRealtimeInsightsFeatureEnabled:Ze,isUncategorizedExpenseCategoryEnabled:Z,isCOTEnabled:pn,currentTenant:a,companyId:a.companyId,signedInUser:Be,isTransactionActivityEnabled:Xe,activityLogTransactionId:P==="transaction_categorization"?b:void 0,activityLogPanel:P==="transaction_categorization"&&Xe===!0&&b!=null?p.jsx(vo,{activityLogView:on,qboId:ae,onClose:()=>W(void 0),selectedTransactionId:b},String(b)):null,uncategorizedAccounts:sn,onClickCustomerRequest:rn,handleEditClick:ln,tenantEmailDomain:Kt,trackExpenseAutomationTabAnalytics:g,setActivityLogTransactionId:W,closeSidePanel:Sn,openTransactionPanel:d,sidePanelIsOpen:Cn,sidePanelIsFullView:c!==!0&&E,panelContent:gn,isAiCfoAccessEnabled:h,onAskAiCfoClick:Oe,isExpenseAutomationCommentingEnabled:Zt,onExpenseAutomationCommentingThreadClick:Xt,sidePanelListPercent:c===!0?66:void 0})]})})),Mo=De(Rn)`
|
|
21
|
+
`;function Do({companyId:t,closeCustomerRequestDrawer:d,addCustomerRequest:U,resetCustomerRequest:E}){const S=Ue.getSignedInUser();if(S==null)throw Error("Can't access Customer Request page without signing in...");const u=F(c=>jn(c,t,S));return s.useEffect(()=>{E()},[]),p.jsx(p.Fragment,{children:u.fetchState==="In-Progress"||u.companyMonthEndReportTemplatesData.fetchState==="In-Progress"?p.jsx(Gt,{fetchState:"In-Progress"}):p.jsx(ro,{onCloseClick:d,addCustomerRequest:U,snippets:u.companyMonthEndReportTemplatesData,bulletPoints:u.zeniRequestsData??[]})})}const Uo=t=>t.sections.generalExpense.vendors.length+t.sections.reimbursement.vendors.length,{common:{strings:{hyphen:Oo,comma:At,space:Fo}},dateFormat:Nt}=uo.getLocalizedStrings(),Tt=so,Bo=Dn(function(t,d){const{uncategorizedAccounts:U,vendorSearchAutoCompleteData:E,monthEndInsightsCustomerRequestData:S,monthEndInsightsPreviewMode:u,companyId:c,isMissingReceiptsBulkUploadEnabled:B,isTransactionActivityEnabled:m}=d,o=Ue.getSignedInUser(),v=t.tenantState.currentTenantId,f={userId:o?.userId??"",sessionId:o?.zeniSessionId??"",tenantId:v??""},y=he(t),{selectedTransactionCategorizationTab:V}=y;return{expenseAutomationViewSelector:y,bulkUploadSelector:B===!0?y.missingReceipts.bulkUpload:void 0,vendorSearchAutoCompleteData:E,authParams:f,receiptUploadEndpoint:`${Pe.accountMicroServiceBaseUrl}`,transactionAttachmentsEndpoint:`${ho}/transaction_attachments`,bulkUploadEndpoint:B===!0?`${Pe.communicationAgentMicroServiceBaseUrl}/1.0/receipts/bulk-upload`:void 0,isDisabled:!1,currentTab:V,monthEndInsightsCustomerRequestData:S,monthEndInsightsPreviewMode:u,allThreadsSectionOpen:!1,enableMonthEndInsightsZeniGPTFeature:!1,loggedInUser:o,uncategorizedAccounts:U,companyId:c,isTransactionActivityEnabled:m,isAccountingClassesEnabled:Jn(t)}},function(t,d){const{themeState:U,isCOTEnabled:E,isUncategorizedExpenseCategoryEnabled:S,isMissingReceiptsBulkUploadEnabled:u,location:c,vendorSearchAutoCompleteData:B,expenseAutomationViewSelector:m,currentTenant:o,uncategorizedAccounts:v,navigate:f,onClickCustomerRequest:y,handleEditClick:V,setActivityLogTransactionId:i}=d,{selectedPeriod:h,currentSelectedView:w,reconciliation:{selectedAccountId:A}}=m,{accountSettingsView:x}=m.jeSchedules,g=_t(h),T=Re(g.start),_=Re(g.end);return{onZeniLogoClick:()=>{U.toggle()},onUploadReceiptAttachment:e=>{L.trackMissingReceiptAttached(h.month,h.year),t(Ba(e))},onUploadTransactionReceipt:(e,n,a,r,I,C)=>{t(St(e,n,{fetchState:"In-Progress"}));const k=()=>t(St(e,n,{fetchState:"Error"}));po(`${Pe.accountMicroServiceBaseUrl}/1.0/transactions/${n}/attachments`,C,n,a,r,I).then(R=>{R!=null?t(Fa(e,R)):k()}).catch(k)},onMissingReceiptsRowClick:(e,n)=>{if(d.openTransactionPanel)return void d.openTransactionPanel(e,n);const a=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../../transaction/${n}/${e}`,{state:{pathnameStackToGoBack:a,message:"expenseAutomation",origin:"missing_receipts"}})},onUploadReceiptComplete:(e,n)=>{t(Oa(e,n)),o!=null&&t(Ce({tenantId:o.tenantId,period:n,refreshViewInBackground:!0}))},onUploadReceiptFetchStatus:(e,n,a,r)=>{t(Ua(e,{fetchState:n,error:a})),a!=null&&t(gt({messageSection:"missing_receipts_attachment",messageText:"failed",type:"error",showStatusIcon:!0,variables:[{variableName:"__message__",variableValue:r!=null?Fo+Oo+r+At:At}]}))},onUpdateJESchedulesUIState:e=>{t(Da(e))},onUpdateMissingReceiptsUIState:e=>{t(Ra(e))},onFetchMissingReceiptsList:()=>{_!=null&&T!=null&&t(Mt({start:T,end:_},{amount:75,currencyCode:"USD",currencySymbol:"$"},!0,!1))},...u===!0?{onBulkUploadFiles:e=>{t(oo(e))},onBulkUploadProgress:e=>{t(ao(e))},onBulkUploadSuccess:e=>{t(no({batchId:e}))},onBulkUploadUploadedFileCount:e=>{t(to(e))},onConfirmBulkUploadMatch:(e,n,a,r,I)=>{t(eo(e,n,a,r,I))},onBulkUploadConfirmMatchAcknowledged:()=>{t(Xa())},onSetBulkUploadResultsTab:e=>{t(Za(e))},onSetBulkUploadCompletedSubTab:e=>{t(Qa(e))},onSetBulkUploadSortConfig:(e,n)=>{t(kt({sortKey:e,sortOrder:n}))},onClearBulkUpload:()=>{t(Ha())},onSearchTransactionsForManualMatch:(e,n)=>{t(Tt(e,n??void 0))},onLoadMoreManualSearch:()=>{const{manualSearch:e}=m.missingReceipts.bulkUpload;e.nextPageToken!=null&&e.searchQuery!==""&&t(Tt(e.searchQuery,e.nextPageToken))},onFetchCompletedTransactions:(e,n)=>{t(Wa(e,n))},onFetchBulkUploadBatches:e=>{t(jt(e))},onFetchMoreBatchDetails:()=>{t(Ka())},onResetBulkUploadSort:()=>{t(kt({sortKey:"date",sortOrder:"descending"}))}}:{},onClearMissingReceiptsTabNavigation:()=>{t(xa())},onSearchTextChanged:e=>{const n=m.currentSelectedView,a=m.selectedTransactionCategorizationTab;n==="transaction_categorization"&&(t(ze({selectedTab:a,uiState:{searchString:e}})),_!=null&&T!=null&&t(pe(a,{start:T,end:_},!0,!1,e,void 0,!0)))},onRefresh:()=>{d.trackExpenseAutomationTabAnalytics(!0),t(wa(S))},onClose:()=>{w==="reconciliation"&&A!=null&&t(Ct({selectedAccountId:void 0})),f("../")},onBack:()=>{w==="reconciliation"&&A!=null&&t(Ct({selectedAccountId:void 0}))},onSaveReconciliation:e=>{t(Pa(e))},onSaveReconciliationReview:e=>{t(Ta(e))},onUpdateStep:e=>{const{selectedPeriod:n}=m,a=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../${e}/${n.month}-${n.year}`,{state:{pathnameStackToGoBack:a,referrer:m.currentSelectedView}}),t(Vt(e))},handleLogOutClick:()=>{const e=Q(c.state?.pathnameStackToGoBack,c.pathname);f("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},onJeAccountSettingsChange:e=>{const{vendorsAccountSection:n}=e,{prepaidExpensesAccount:a,fixedAssetsAccount:r,accruedExpensesAccount:I}=n,C=$e(x.prepaidExpensesAccountList,a.selectedOptions),k=$e(x.fixedAssetsAccountList,r.selectedOptions),R=$e(x.accruedExpensesAccountList,I.selectedOptions),G={selectedPrepaidExpensesAccountIds:C.map(b=>b.accountId),selectedFixedAssetsAccountIds:k.map(b=>b.accountId),selectedAccruedExpensesAccountIds:R.map(b=>b.accountId)};t(Aa({data:G}))},onSaveJeAccountSettingsClick:()=>{t(ba())},onJESchedulesFormDataChange(e,n){const{jeScheduleID:a,accumulatedDepreciationCategory:r,scheduleClass:I,scheduleExpenseCategory:C,vendor:k}=n,{allAccountList:R,allClassList:G,allDepreciationAccountList:b}=m.jeSchedules,q=B.entityAutoCompleteView.vendor.length>0?B.entityAutoCompleteView.vendor.find(j=>j.id===k?.selectedOption):void 0,W={id:q?.zeniId??k?.selectedOption??"",name:q?.name??k?.defaultOptions.find(j=>j.value===k?.selectedOption)?.label??"",logo:q?.logo},Oe=C?.selectedOption!=null?R.find(j=>j.qboId===C.selectedOption):void 0,Se=I?.selectedOption!=null?G.find(j=>j.classId===I.selectedOption):void 0,Ie=r?.selectedOption!=null?b.find(j=>j.qboId===r.selectedOption):void 0;t(ya({scheduledJournalEntryID:e,localData:{jeScheduleID:a,scheduledJournalEntryID:e,updatedCategoryId:Oe?.accountId,updatedClassId:Se?.classId,updatedAccumulatedDepreciationCategoryID:Ie?.accountId,updatedVendor:{id:W.id,name:W.name}}}))},ignoreRecommendedJeSchedule(e,n){t(va(e,n))},vendorSearchAutoCompleteActions:{onAutoCompleteInputChange:(e,n)=>{e.trim().length>=2?t(ut({searchString:e,entityType:n,searchOrigin:"common"})):e.trim().length===0&&t(Ae("common"))},onCancelAutoComplete:()=>{t(Ae("common"))}},onPostJESchedule(e,n){t(Ea({scheduledJournalEntryID:e,jeScheduleTransactionKey:n}))},clearJeScheduleLocalData(){t(ka())},handleJeScheduleClick:(e,n,a)=>{t(fa({selectedJEScheduleKey:n}));const r=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../../vendors/schedules/${a}/details/${e}`,{state:{pathnameStackToGoBack:r,message:"expenseAutomation",origin:"je_schedules"}})},improveMonthEndInsightsUsingZeniGPTClick:e=>{o!=null&&t(Ia(e,o.companyId,o.tenantId))},onClickCustomerRequest:y,setActivityLogTransactionId:i,onCloseAllThreadsSection:()=>{},onCloseFileAttachmentSnackBar:()=>{t(Sa())},onOpenFileAttachmentSnackBar:()=>{t(gt({messageSection:"cockpit_month_end_email_attachment_upload",messageText:"failed",type:"error",showStatusIcon:!0}))},onRemoveFileAttachment:e=>{t(Ca(e))},onUpdateFileAttachment:e=>{t(ga({files:e}))},previewMonthEndReport:(e,n,a,r)=>{o!=null&&t(pt(e,o.companyId,n,!0,a,r,o.tenantId))},saveMonthEndReport:(e,n,a,r)=>{o!=null&&t(pt(e,o.companyId,n,!1,a,r,o.tenantId))},onEditMonthEndInsightsClick:V,sendMonthEndReport:e=>{const n=c.state?.referrer,{selectedPeriod:a,auditSummary:r}=m;o!=null&&r?.auditScorePercentage!=null&&(t(ha(o.companyId,e,o.tenantId)),L.trackInsightsEmailPage(a.month,a.year,!1,"draft",r.auditScorePercentage,pa().format(Nt.analytics.MMMDDCommaYYYYformat),n??null))},onTransactionCategorizationRowClick:(e,n)=>{if(d.openTransactionPanel)return void d.openTransactionPanel(e,n);const a=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../../transaction/${n}/${e}`,{state:{pathnameStackToGoBack:a,message:"expenseAutomation",origin:"transaction_categorization"}})},setLocalDataForCategoryAndClass:(e,n,a,r,I,C,k,R,G,b,q)=>{t(ma(e,n,a,r,v,I,C,k,R,G,b,q))},onCancelAutoComplete:()=>{t(Ae("common"))},updateExpenseAutomationReconListScrollPosition:e=>{t(mt({scrollPosition:e}))},onUpdateTab:e=>{d.closeSidePanel?.(),_!=null&&T!=null&&(t(pe(e,{start:T,end:_},!1,!1)),t(ua(e)))},onUpdateTransactionCategorizationUIState:(e,n)=>{t(ze({selectedTab:e,uiState:n})),_!=null&&T!=null&&t(pe(e,{start:T,end:_},!1,!1,n.searchString,null,!0))},onUpdateScrollYOffSetTransactionCategorizationUIState:(e,n)=>{t(ze({selectedTab:e,uiState:n}))},onFetchTransactionCategorizationList:(e,n,a,r,I,C,k)=>{_!=null&&T!=null&&t(pe(e,{start:T,end:_},!0,a,n,r,I,C,k))},resetTransactionCategorizationLocalData:(e,n,a,r,I,C,k,R)=>{t(da(e,n,a,r,R??null,I,C,!1,k))},updateSelectedVendorForTransaction:(e,n,a,r,I)=>{t(ht({selectedTab:e,transactionId:n,lineId:a,selectedTransaction:r,uncategorizedAccounts:v,updatedVendor:I}))},onSaveUpdateTransactionCategorization:(e,n,a)=>{const r=c.state?.referrer;e==="autoCategorized"?L.trackTransactionsAutoCategorisedPage(h.month,h.year,m.transactionView.totalCountByTab.autoCategorized,n.length,!1,r??null):L.trackTransactionsReviewPage(h.month,h.year,m.transactionView.totalCountByTab.review,n.length,!1,r??null),t(ra(e,n,a,S))},onUpdateSelectedCheckboxTransactionIds:(e,n)=>{t(la({selectedTab:e,transactionIds:n}))},onFetchRecommendationsForEntityCategorizationWithCustomer:(e,n,a,r,I,C,k)=>{const{transactionId:R,transaction:G,lineIds:b}=n;C!=null&&t(ca({transactionId:R,customerUpdates:C})),t(ia({selectedTab:r,transactionId:R.id,lineId:b[0],selectedTransaction:G,uncategorizedAccounts:v,updatedCustomer:C,selectedEntity:I,isUncategorizedExpenseCategoryEnabled:k})),I!=null&&t(Je(I,e,n,a,!0,E,k))},onFetchRecommendationsForEntityCategorization:(e,n,a,r,I,C,k)=>{const{transactionId:R,transaction:G,lineIds:b}=n;C!=null&&(t(aa({transactionId:R,vendorUpdates:{name:C.name,id:C.id?C.id:void 0}})),t(oa({vendorId:C.id?C.id:void 0,localData:{vendorName:C.name,vendorId:C.id?C.id:void 0}}))),C?.id?(t(ht({selectedTab:r,transactionId:R.id,lineId:b[0],selectedTransaction:G,uncategorizedAccounts:v,updatedVendor:C,selectedEntity:I,isUncategorizedExpenseCategoryEnabled:k})),I!=null&&t(Je(I,e,n,a,!0,E,k))):t(sa({selectedTab:r,transactionId:R.id,lineId:b[0]}))},fetchFluxViewOnScroll:(e,n)=>{t(Te(e,!0,!1,n,!1,!0))},onFetchFluxViewList:()=>{t(Te(h,!0,!1,null,!1,!1))},markAsReview:(e,n,a,r)=>{L.trackFluxAnalysisReviewed(a.month,a.year,r??!1,e),t(na(n,e,a,r??!1))},onUpdateFluxAnalysisUIState:e=>{t(ta(e))},updateOperatingExpensesIdsForReview:e=>{t(ea({operatingExpenseIds:e,selectedPeriod:h}))},redirectToVendorDetailPage:e=>{if(d.tenantEmailDomain!=null){const n=To(e.id,e.qboId,d.tenantEmailDomain),a=Q(d.location.state?.pathnameStackToGoBack,d.location.pathname);d.navigate(n,{state:{pathnameStackToGoBack:a,message:"expenseAutomation",referrer:"Vendor List",origin:"flux_analysis"}})}},updateSectionIdsForReview:e=>{t(Xn({sectionId:e,selectedPeriod:h}))},onFetchReimbursementView:(e,n,a)=>{t(Te(e,!0,!1,n,!0,a))},onReviewClicked:e=>{t(ce(h,e))},setOpenDrawerClicked:e=>{t(xe({selectedDrawerAccountId:e}))},onFetchLinkTokenClick:(e,n)=>{t(Ot("expense_automation_reconcile",e,n))},onEstablishConnectionClick:(e,n)=>{const a=o?.companyId;a!=null&&(t(Ft(e,a,"expense_automation_reconcile",void 0,"link_account_no_microdeposit",n)),t(Bt({accountId:n,connectionInProgress:!0})))},onAddStatementClick:e=>{t(xe({selectedDrawerAccountId:e})),t(Ut({accountId:e,selectedPeriod:h,localData:{accountSource:"bank_statement"}})),t(Dt({statementUploadChosen:!0}))},onReloadReconciliationListPage:()=>{t(ce(h,void 0,!0,!1))},onUpdateReconcileTabLocalData:e=>{t(Zn({selectedTransactionIds:e}))},onReconTabColumnSortConfigChanged:(e,n)=>{t(Qn({sortKey:e,sortOrder:n}))},onReconReviewTabColumnSortConfigChanged:(e,n)=>{t(Hn({sortKey:e,sortOrder:n}))},onReconTabUpdate:e=>{d.closeSidePanel?.(),t(Wn({selectedTab:e}))},updateReconReviewTabLocalData:(e,n,a)=>{const r=e.vendor?.id;a&&r!=null&&t(Yn(r)),t(Kn({data:e,transactionId:n}))},onReconMatchedTransactionClick:e=>{if(d.openTransactionPanel)return void d.openTransactionPanel(e,qe("bill"));const n=Q(c.state?.pathnameStackToGoBack,c.pathname);f(`../../transaction/bill/${e}`,{state:{pathnameStackToGoBack:n,message:"expenseAutomation",origin:"reconciliation"}})},onReloadPage:()=>{window.location.reload()},onBackClick:()=>{f(-1)},onReconListPageScroll:e=>{t(mt({scrollPosition:e}))},onVendorAutoCompleteInputChange:e=>{e.trim().length>=2?t(ut({searchString:e,searchOrigin:"common"})):e.trim().length===0&&t(Ae("common"))},onReconNodeCollapseToggled:(e,n)=>{t(Nn({nodeId:e,collapsed:n}))},updateSectionCollapseStatus:()=>{},onExcludeAccountFromReconciliation:e=>{t(xt({accountId:e}))},onIncludeAccountIntoReconciliation:e=>{t(Rt({accountId:e}))}}},(t,d,U)=>{const{isMissingReceiptsBulkUploadEnabled:E,...S}=U;return function(u,c,B){return{...u,...c,...B,onUploadTransactionReceipt:(m,o,v,f,y)=>{c.onUploadTransactionReceipt(m,o,v,f,y,u.authParams)}}}(t,d,S)})(mo),_o=bo(function(t){const d=t.displayName??t.name??"Component",U=Pt.memo(t),E=S=>{const u=se(),c=function(){const h=se(),w=F(A=>he(A).reconciliation.selectedDrawerAccountId);return{isOpen:w!=null,selectedAccountId:w,openPanel:s.useCallback(A=>{h(xe({selectedDrawerAccountId:A}))},[h]),closePanel:s.useCallback(()=>{h(xe({selectedDrawerAccountId:void 0}))},[h])}}(),B=F(h=>he(h).reconciliation),m=F(h=>we(h)),o=s.useCallback((h,w)=>{u(Ot("expense_automation_reconcile",h,w))},[u]),v=s.useCallback((h,w)=>{const A=m?.companyId;A!=null&&(u(Ft(h,A,"expense_automation_reconcile",void 0,"link_account_no_microdeposit",w)),u(Bt({accountId:w,connectionInProgress:!0})))},[u,m?.companyId]),f=s.useMemo(()=>{if(c.isOpen&&c.selectedAccountId!=null)return p.jsx(Ro,{reconciliation:B,selectedDrawerAccountId:c.selectedAccountId,onClose:c.closePanel,onFetchLinkTokenClick:o,onEstablishConnectionClick:v})},[c.isOpen,c.selectedAccountId,c.closePanel,B,o,v]),y=s.useMemo(()=>({reconPanelContent:f,reconSidePanelIsOpen:c.isOpen,closeReconSidePanel:c.closePanel}),[f,c.isOpen,c.closePanel]),V=s.useContext(Et),i=s.useMemo(()=>c.isOpen?{closePanel:c.closePanel,selectedItemId:c.selectedAccountId}:V,[c.isOpen,c.closePanel,c.selectedAccountId,V]);return p.jsx(Et.Provider,{value:i,children:p.jsx(U,{...S,...y})})};return E.displayName=`withReconSidePanel(${d})`,E}(({closeSidePanel:t,openTransactionPanel:d,panelContent:U,sidePanelIsFullView:E,sidePanelIsOpen:S,reconPanelContent:u,reconSidePanelIsOpen:c,closeReconSidePanel:B})=>{const{isAiCfoOpen:m,setIsAiCfoOpen:o}=zt(),v=go(),{isOpen:f}=Co(),y=wt(),V=Ge(),i=se(),{isAiCfoAccessEnabled:h,onAskAiCfoClick:w}=qt({isAiCfoOpen:m,setIsAiCfoOpen:o,mobileExploreReferrer:"Transaction categorization"}),A=s.useCallback(()=>{S===!0&&E!==!0&&t?.()},[t,S,E]),{areTenantIdsInSync:x}=$t(),g=(()=>{const l=F(J=>he(J)),z=Ge(),{currentSelectedViewFetchState:K,currentSelectedView:M,selectedPeriod:O}=l,me=Le(M),ee=Le(K.fetchState),ve=s.useCallback(J=>{const H=z.state?.referrer;M==="transaction_categorization"&&(l.selectedTransactionCategorizationTab==="review"?L.trackTransactionsReviewPage(O.month,O.year,l.transactionView.totalCountByTab.review,0,J,H??null):L.trackTransactionsAutoCategorisedPage(O.month,O.year,l.transactionView.totalCountByTab.autoCategorized,0,J,H??null)),M==="missing_receipts"&&L.trackMissingReceiptsPage(O.month,O.year,J,l.missingReceipts.transactions.length,H??null),M==="je_schedules"&&L.trackMonthCloseScheduleListPage(O.month,O.year,J,l.jeSchedules.draftSchedules.length,l.jeSchedules.resolveSchedules.length,H??null),M==="flux_analysis"&&L.trackFluxAnalysisPage(O.month,O.year,J,Uo(l.fluxAnalysis),H??null),M==="month_end_insights"&&l.auditSummary?.auditScorePercentage!=null&&L.trackInsightsEmailPage(O.month,O.year,J,"draft",l.auditSummary.auditScorePercentage,null,H??null)},[O,l]);return s.useEffect(()=>{ee===K.fetchState&&M===me||K.fetchState!=="Completed"||ve(!1)},[M,K.fetchState,me]),ve})(),T=So(),[_,e]=s.useState(!1),n=F(l=>dt(l)),a=F(l=>we(l)),[r,I]=s.useState(!1),[C,k]=s.useState(!1),[R,G]=s.useState([]),[b,q]=s.useState(void 0),W=s.useCallback(l=>{l!=null&&(m&&o(!1),v(),A()),q(l)},[A,m,v,o]),Oe=s.useCallback(()=>{v(),q(void 0),A(),w()},[A,w,v]),Se=s.useRef(m);s.useEffect(()=>{m===!0&&Se.current===!1&&(v(),q(void 0),A()),Se.current=m},[A,m,v]);const Ie=s.useRef(f);s.useEffect(()=>{f===!0&&Ie.current===!1&&(m&&o(!1),q(void 0),S===!0&&E!==!0&&t?.()),Ie.current=f},[t,f,m,o,E,S]);const j=S===!0&&E!==!0,Ne=s.useRef(j);s.useEffect(()=>{j&&!Ne.current&&(m&&o(!1),v(),q(void 0)),Ne.current=j},[m,j,v,o]);const[Ye,Yt]=s.useState(!1),Ke=s.useRef(!1),{selectedTab:We}=rt(),{tenantEmailDomain:Kt}=rt(),[Fe,He]=s.useState(V.state?.message==="comingFromTransactionDetail"),Qe=V.state?.message==="comingFromOverview",Wt=Io(),Be=Ue.getSignedInUser(),{useDynamicConfig:Ht,useFeatureGate:fe}=Lt(),{configValue:Qt}=Ht(fo.enableUncategorizedExpenseCategory),Z=Qt?.uncategorized_expense_category_enabled===!0,{isFeatureEnabled:Ze}=fe(ge.isRealtimeInsightsFeatureEnabled),{isFeatureEnabled:ie}=fe(ge.isMissingReceiptsBulkUploadEnabled),{isFeatureEnabled:Xe}=fe(ge.isTransactionActivityEnabled),{isFeatureEnabled:Zt}=fe(ge.isExpenseAutomationCommentingEnabled),Xt=s.useCallback(l=>{const z=qe(l.view==="reconciliation"?"bill":"expense");d?.(l.entityId,z)},[d]),en=F(l=>_a(l,"common")),$=F(l=>he(l)),{monthEndCloseChecksView:Y,currentSelectedView:P,selectedPeriod:D,selectedTransactionCategorizationTab:ne,currentSelectedViewBackgroundRefreshFetchState:tn,currentSelectedViewFetchState:X,jeSchedules:_e,reconciliation:nn}=$;s.useEffect(()=>{P==="transaction_categorization"&&S!==!0||W(void 0)},[P,W,S]);const ke=s.useRef(null);s.useEffect(()=>{ke.current!==null?ke.current!==ne&&(ke.current=ne,P==="transaction_categorization"&&W(void 0)):ke.current=ne},[P,ne,W]);const an=F(l=>b==null?void 0:Va(l.transactionState,b)),ae=an?.qboId,on=F(l=>ae==null?void 0:Ma(l,ae));s.useEffect(()=>{ae!=null&&i(ja(ae))},[i,ae]);const{selectedAccountId:le}=nn,et=Le(_e.accountSettingsView.saveState.fetchState),sn=F(l=>za(l.accountState,l.accountListState,"accountList")),re=We!=null?La(We):P,cn=F(l=>l.entityAutoCompleteState.autoCompleteText.common);if(Jt({isDataReady:X.fetchState==="Completed"}),Be==null)throw Error("Can't access expense automation screen without signing in...");const tt=_t(D),de=Re(tt.start),ue=Re(tt.end);if(de==null||ue==null)throw Error(`Invalid start - ${de} and end - ${ue} period from given ${D}`);const ln=s.useCallback(()=>{I(!1)},[]),rn=s.useCallback(()=>{k(!0)},[]),dn=s.useCallback(l=>{G(l),k(!1)},[]),un=s.useCallback(()=>{G([])},[]),Ee=$.missingReceipts.bulkUpload.phase,nt=$.missingReceipts.bulkUpload.currentBatchId;s.useEffect(()=>{ie===!0&&P==="missing_receipts"&&Ee==="matching"&&nt!=null&&i(jt({cacheOverride:!0}))},[ie,P,Ee,nt,i]);const at=Be?.userId,mn=D.month,hn=D.year,ot=a?.tenantId;s.useEffect(()=>{P==="missing_receipts"&&ie!==!1&&Ee==="idle"&&at!=null&&ot!=null&&i($a())},[P,ie,Ee,at,ot,mn,hn,i]),s.useEffect(()=>{n.newVendorState?.vendorDetailLocalData?.vendorName!=null?e(!0):e(!1)},[n.newVendorState?.vendorDetailLocalData?.vendorName]),s.useEffect(()=>{re!=null&&P!==re&&i(Vt(re))},[re]),s.useEffect(()=>{Ye!==!1||X.fetchState!=="Completed"&&X.fetchState!=="Error"||!x||(Yt(!0),i(It(!1,!1,Z)))},[Ye,X,x,Z]),s.useEffect(()=>{!Qe&&x&&(i(It(!1,!1,Z)),i(ce(D,le,!1,!1)))},[D.month,D.year,x,Z]);const st=s.useCallback((l=!1,z=!1)=>{const K={start:de,end:ue};switch(P){case"transaction_categorization":i(pe(ne,K,l,!Fe,void 0,void 0,z,void 0,Z)),He(!1);break;case"flux_analysis":i(Te(D,l,z,null));break;case"month_end_insights":if(z===!1){const M=new Date(D.year,D.month,0),O=qa(M.toDateString()).format(Nt.analytics.YYYYDashMMDashDDFormat);i(Ja(!0,a.companyId,a.tenantId,O)),i(Na(a.companyId,a.tenantId))}break;case"je_schedules":i(Ga(K,z));break;case"missing_receipts":i(Mt(K,{amount:75,currencyCode:"USD",currencySymbol:"$"},l,z));break;default:i(ce(D,le,l,z))}},[P,de,ue,a.companyId,a.tenantId,ne,D,le,Fe,He,Z]);s.useEffect(()=>{P===re&&X.fetchState==="Not-Started"&&x&&st(!0)},[X,de,ue,a.companyId,a.tenantId,x]),s.useEffect(()=>{Qe||Fe||Ke.current||tn.fetchState==="In-Progress"||X.fetchState!=="Completed"||(Ke.current=!0,st(!0,!0))},[]),s.useEffect(()=>{Y.fetchState!=="In-Progress"&&Y.fetchState!=="Completed"&&i(Ce({tenantId:a.tenantId,period:D,refreshViewInBackground:!1}))},[Y.fetchState,a.tenantId]),s.useEffect(()=>{$.monthEndInsights?.previewMonthEndReportStatus?.fetchState==="Completed"?I(!0):I(!1)},[$.monthEndInsights?.previewMonthEndReportStatus?.fetchState]),s.useEffect(()=>{$.monthEndInsights?.sendMonthEndReportStatus?.fetchState==="Completed"&&x&&(i(Ce({tenantId:a.tenantId,period:D,refreshViewInBackground:!0})),i(Ya({companyId:a.companyId})),y("../"))},[$.monthEndInsights?.sendMonthEndReportStatus?.fetchState,a.tenantId,D,a.companyId,x]),s.useEffect(()=>{const l=setInterval(()=>{Y.fetchState!=="In-Progress"&&Y.fetchState==="Completed"&&i(Ce({tenantId:a.tenantId,period:D,refreshViewInBackground:!0}))},3e5);return()=>clearInterval(l)},[Y.fetchState,a.tenantId,D,i]),s.useEffect(()=>{const l=setInterval(()=>{P==="reconciliation"&&le==null&&$.reconciliation.fetchStatus.fetchState==="Completed"&&$.reconciliation.refreshStatus.fetchState!=="In-Progress"&&i(ce(D,void 0,!0,!0))},3e5);return()=>clearInterval(l)},[P,i,$.reconciliation.fetchStatus.fetchState,$.reconciliation.refreshStatus.fetchState,ce,le,D]);const pn=vt();s.useEffect(()=>{const l=(Y.monthEndCloseChecks?.monthEndCloseCheckList.find(z=>z.id==="month_end_insights")?.isDisabled??!1)&&!Ze;P!=="month_end_insights"||!l&&Y.monthEndCloseChecks?.reportEmailSentDate==null||y("../")},[P,Y.monthEndCloseChecks]);const gn=c===!0?u:U,Cn=c===!0||S===!0,Sn=c===!0?B:t;s.useEffect(()=>{et==="In-Progress"&&_e.accountSettingsView.saveState.fetchState==="Completed"&&i(ft())},[et,_e.accountSettingsView.saveState.fetchState,ft]);const{transactionId:ct,onSaveVendor:In,onSaveSuccess:fn,onCancel:kn,vendorViewDetails:En}=(({expenseAutomationViewSelector:l,closeDrawerHandler:z,currentSelectedView:K})=>{const M=se();let O,me,ee;const ve=vt(),J=l.transactionView;let H=()=>{};const{transactions:vn,selectedTransactionId:oe,selectedTransactionLineId:ye,transactionLocalData:yn}=J;if(K==="transaction_categorization"){const Ve=yn.find(te=>te.transactionId===oe),N=vn.find(te=>te.id===oe),it=ye!=null?Ve?.transactionReviewLocalData?.lineItemById[ye]:void 0,lt=it?.account;me=it?.class?.classId,O=["Uncategorized Income","Uncategorized Expense"].includes(lt?.accountName??"")?void 0:lt?.accountId;const An=Ao(oe,N?.typeOfTransaction);N!=null&&An&&(ee={id:oe,type:qe(N.typeOfTransaction)}),H=()=>{if(oe!=null&&ye!=null&&N!=null){const te=J.transactionLocalData.find(be=>be.transactionId===oe)?.transactionReviewLocalData;if(te!=null&&N.lines!=null&&N.lines.length>0){const be=te.lineItemById[ye];let Me=te.selectedEntity;if(qn(N)||(Me=be.selectedEntityLine),Me!=null){const Tn=Me,Pn={transactionId:{id:N.id,type:N.type},transaction:N,lineIds:N.lines.map(wn=>wn.id)??[]};M(Je(Tn,be.amount.amount,Pn,!1,!0,ve))}}}}}const bn=F(Ve=>dt(Ve,void 0,O,me));return{transactionId:ee,onSaveVendor:()=>{M(Gn(ee,void 0,!1,!0))},onSaveSuccess:H,onCancel:()=>{ee!=null&&M(zn({transactionId:ee})),M(Ln()),M($n()),z()},vendorViewDetails:bn}})({expenseAutomationViewSelector:$,closeDrawerHandler:()=>{e(!1)},currentSelectedView:P});return Wt?.loggedInUserRoleMap==null?Y.fetchState==="Error"?p.jsx(ko,{onGoHome:()=>y("../",{replace:!0}),onReload:()=>window.location.reload()}):p.jsx(Gt,{fetchState:"In-Progress"}):p.jsxs(p.Fragment,{children:[p.jsx(Po,{isOpen:C,drawerLeftMargin:new Eo(0,0,300,650),onClose:()=>{k(!1)},children:p.jsx(Vo,{onClick:l=>l.stopPropagation(),children:p.jsx(Do,{companyId:a.companyId,closeCustomerRequestDrawer:()=>k(!1),addCustomerRequest:dn,resetCustomerRequest:un})})}),ct!=null&&_&&p.jsx(yo,{isOpen:_,transactionId:ct,onSaveVendor:In,onSaveSuccess:fn,onCancel:kn,vendorViewDetails:En}),p.jsx(Bo,{navigate:y,location:V,themeState:T,vendorSearchAutoCompleteData:{autoCompleteText:cn,entityAutoCompleteView:en},expenseAutomationViewSelector:$,isMissingReceiptsBulkUploadEnabled:ie,monthEndInsightsPreviewMode:r,monthEndInsightsCustomerRequestData:R,isRealtimeInsightsFeatureEnabled:Ze,isUncategorizedExpenseCategoryEnabled:Z,isCOTEnabled:pn,currentTenant:a,companyId:a.companyId,signedInUser:Be,isTransactionActivityEnabled:Xe,activityLogTransactionId:P==="transaction_categorization"?b:void 0,activityLogPanel:P==="transaction_categorization"&&Xe===!0&&b!=null?p.jsx(vo,{activityLogView:on,qboId:ae,onClose:()=>W(void 0),selectedTransactionId:b},String(b)):null,uncategorizedAccounts:sn,onClickCustomerRequest:rn,handleEditClick:ln,tenantEmailDomain:Kt,trackExpenseAutomationTabAnalytics:g,setActivityLogTransactionId:W,closeSidePanel:Sn,openTransactionPanel:d,sidePanelIsOpen:Cn,sidePanelIsFullView:c!==!0&&E,panelContent:gn,isAiCfoAccessEnabled:h,onAskAiCfoClick:Oe,isExpenseAutomationCommentingEnabled:Zt,onExpenseAutomationCommentingThreadClick:Xt,sidePanelListPercent:c===!0?66:void 0})]})})),Vo=De(Rn)`
|
|
22
22
|
display: flex;
|
|
23
23
|
min-height: 100%;
|
|
24
24
|
flex-direction: column;
|