@zeniai/web-app-ui 5.1.99-qa → 5.2.0-qa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AddressRoutes-DGCDOoKb.js +1 -0
- package/dist/assets/{AddressScreen-CBnElFxM.js → AddressScreen-Dzf83tSk.js} +2 -2
- package/dist/assets/AiCfoScreen-TZ---AU4.js +22 -0
- package/dist/assets/{BillPayApprovalRoutes-CB55AV0C.js → BillPayApprovalRoutes-iPPwT0JG.js} +1 -1
- package/dist/assets/{BillPayRoutes-UVA-u63A.js → BillPayRoutes-U0Aszwdv.js} +17 -17
- package/dist/assets/{BusinessVerificationPageScreen-DsowR4fB.js → BusinessVerificationPageScreen-B4os1LkS.js} +2 -2
- package/dist/assets/{CardsAiCfoScreen-BaEolMVN.js → CardsAiCfoScreen-Db20Cfsg.js} +3 -3
- package/dist/assets/{ChargeCardRoutes-D3n7KJn0.js → ChargeCardRoutes-rxetskAF.js} +10 -10
- package/dist/assets/{CompanyPassportScreen-wSnqdrZm.js → CompanyPassportScreen-COm4H_kf.js} +1 -1
- package/dist/assets/ConnectionAuthScreen-C5LpJddx.js +11 -0
- package/dist/assets/CustomerOnboardingAuthScreen-BIc9nbPF.js +1 -0
- package/dist/assets/{CustomerOnboardingRoutes-DT_Ih6lH.js → CustomerOnboardingRoutes-Id7ixv-a.js} +5 -5
- package/dist/assets/{DashboardRoutes-B4SpN_q5.js → DashboardRoutes-D_SbIh49.js} +4 -4
- package/dist/assets/{DefaultTenantHome-C-Q9oQmt.js → DefaultTenantHome-BsKeybH6.js} +1 -1
- package/dist/assets/DomesticWireDetailScreen-BKpkRMty.js +18 -0
- package/dist/assets/DrawerScreen-BPgZ_1JF.js +1 -0
- package/dist/assets/EntityDetailRoutes-BZ9Mr897.js +1 -0
- package/dist/assets/{ExpenseAutomationRoutes-nIGBHuEd.js → ExpenseAutomationRoutes-CN3ihdCO.js} +3 -3
- package/dist/assets/FeaturePreviewScreen-Di3PuVRR.js +1 -0
- package/dist/assets/HubSpotOAuthCallbackScreen-CW56Ncxa.js +1 -0
- package/dist/assets/{MagicLinkRoutes-BTau9CfB.js → MagicLinkRoutes-DJ7vyce1.js} +5 -5
- package/dist/assets/MagicLinkSignInScreen-BZfit8o3.js +12 -0
- package/dist/assets/MobileAppDrawer-NdU6zrS3.js +1 -0
- package/dist/assets/NotFoundScreen-wlhddpbg.js +1 -0
- package/dist/assets/{NotificationRoutes-CkKMsCoc.js → NotificationRoutes-DbRksc78.js} +1 -1
- package/dist/assets/OAuthConsentScreen-sL3GodJ_.js +1 -0
- package/dist/assets/PandLWithForecastRoutes-BoM4q2mR.js +1 -0
- package/dist/assets/PeopleRoutes-0fm-JoER.js +22 -0
- package/dist/assets/PerformanceRoutes-Cq8pT07f.js +1 -0
- package/dist/assets/{Preview-Dh_7Y2V1.js → Preview-CuOg-A8H.js} +1 -1
- package/dist/assets/{QBOConnectionScreen-BOAmyhRI.js → QBOConnectionScreen-D9vGR9Iz.js} +1 -1
- package/dist/assets/ReimbursementApprovalRoutes-DfMng3xh.js +1 -0
- package/dist/assets/{ReimbursementApprovalRuleDetailScreen-B0OjRx8o.js → ReimbursementApprovalRuleDetailScreen-w7TPHMbb.js} +1 -1
- package/dist/assets/{ReimbursementRoutes-CnfaWQKq.js → ReimbursementRoutes-uHKvr9EG.js} +8 -8
- package/dist/assets/{ReportsRoutes-ZKjtrrXu.js → ReportsRoutes-BosLV3TS.js} +1 -1
- package/dist/assets/RewardsRoutes-BPVfq5Np.js +1 -0
- package/dist/assets/ScreenRoutes-Drpg91zT.js +2 -0
- package/dist/assets/{SettingsRoutes-0RQL-spt.js → SettingsRoutes-BmbweE5j.js} +8 -8
- package/dist/assets/{SetupPagesScreen-lXVOcLJ8.js → SetupPagesScreen-HhCCJlo-.js} +5 -5
- package/dist/assets/SignInScreen-B8UhmfC2.js +1 -0
- package/dist/assets/SignOutScreen-CxWWZOhK.js +9 -0
- package/dist/assets/TaskListScreen-B7M-Cqce.js +9 -0
- package/dist/assets/TaskRoutes-CyLfJ8Tw.js +9 -0
- package/dist/assets/{TransactionDetailRoutes-DFhCPCQa.js → TransactionDetailRoutes-Ct4erWuE.js} +1 -1
- package/dist/assets/TransactionDetailScreen-DRzSksYw.js +5 -0
- package/dist/assets/{TransactionListRoutes-kn0wMJaj.js → TransactionListRoutes-B191v9kk.js} +1 -1
- package/dist/assets/{TreasuryRoutes-h3ROpRx5.js → TreasuryRoutes-DZNZaxYZ.js} +6 -6
- package/dist/assets/{VendorsRoutes-x1VmRs4J.js → VendorsRoutes-CvrHlc-r.js} +1 -1
- package/dist/assets/WiseConfirmationScreen-B9yx7qcI.js +12 -0
- package/dist/assets/{ZeniAccountRoutes-BOVvauFK.js → ZeniAccountRoutes-YPhOuFwx.js} +12 -12
- package/dist/assets/ZeniAccountStatementScreen-DJU3198J.js +9 -0
- package/dist/assets/{accountMappingHelper-DNCKLg7K.js → accountMappingHelper-SWFIL59M.js} +1 -1
- package/dist/assets/{analytics-1WMvk5Rb.js → analytics-DhULAPA0.js} +1 -1
- package/dist/assets/{analyticsHelper-C8vUB4gm.js → analyticsHelper-CbsMOq15.js} +1 -1
- package/dist/assets/{core-0WK0Zss8.js → core-CnGMK-sC.js} +1 -1
- package/dist/assets/{decodeURIComponentSafe-DYdex7Fp.js → decodeURIComponentSafe-uWfgYCNH.js} +1 -1
- package/dist/assets/{dnd-Dwsdp5ty.js → dnd-BqCGp7Ed.js} +1 -1
- package/dist/assets/{empty-o2YkWI97.js → empty-AGnm4bIq.js} +1 -1
- package/dist/assets/{empty-B_vMxB0z.js → empty-CZCaQm4J.js} +1 -1
- package/dist/assets/{emptyVideoElement-Cmrnn243.js → emptyVideoElement-Cqm9YLjS.js} +1 -1
- package/dist/assets/epic-CTjjWhpg.js +2 -0
- package/dist/assets/getLocaleForTenant-BuGWeb9s.js +1 -0
- package/dist/assets/{index-DptRs9ko.js → index-BuTuhkuP.js} +2 -2
- package/dist/assets/{index-CmH-4r8j.js → index-CUaM5Y1I.js} +1 -1
- package/dist/assets/{index-Dy73EgcO.js → index-D7tfVykC.js} +14303 -14311
- package/dist/assets/{index-C3zdsXK_.js → index-D88Jaev3.js} +1 -1
- package/dist/assets/{index-B4Kzctdg.js → index-S4IFBgph.js} +1 -1
- package/dist/assets/{index-CcesBH_n.js → index-XkyLBJ61.js} +1 -1
- package/dist/assets/{index-CqKRE3AP.js → index-b64yysEr.js} +1 -1
- package/dist/assets/{index-CFATCouK.js → index-uYv86E98.js} +1 -1
- package/dist/assets/{lexical-B9WqgH9H.js → lexical-DlqthnSG.js} +1 -1
- package/dist/assets/{liveblocks-tpE-grBU.js → liveblocks-s55OcG-D.js} +1 -1
- package/dist/assets/{lottie-dQMhiLBj.js → lottie-DMKCl4ti.js} +1 -1
- package/dist/assets/{mui-NHWzIwJg.js → mui-CggbPNN2.js} +2 -2
- package/dist/assets/{pathToGoBack-BmJj5cme.js → pathToGoBack-DpxbYxCk.js} +1 -1
- package/dist/assets/{pdf-C4fX1mA3.js → pdf-BD0zxvar.js} +3 -3
- package/dist/assets/{pdf-lib-CxgB1_73.js → pdf-lib-BzRjr6sI.js} +1 -1
- package/dist/assets/{plaid-59NT4aqa.js → plaid-d_bwfWrk.js} +1 -1
- package/dist/assets/{pusher-CY-7JGv2.js → pusher-Cfk4rd_d.js} +1 -1
- package/dist/assets/{react-D8u5JcH6.js → react-BKWnIOym.js} +1 -1
- package/dist/assets/{react-C2Lbn6h8.js → react-BdjYstH9.js} +1 -1
- package/dist/assets/{react-DhqMtE92.js → react-C8X5xuWi.js} +1 -1
- package/dist/assets/{react-SLQy3m4e.js → react-CSLZes-L.js} +1 -1
- package/dist/assets/{react-OZ0ubAW7.js → react-D5Ky_KQN.js} +1 -1
- package/dist/assets/{react-C3I7c7kB.js → react-onoaKP_J.js} +1 -1
- package/dist/assets/{recharts-CUzwcISX.js → recharts-CmLekiCG.js} +1 -1
- package/dist/assets/routePaths-CVAI7AUa.js +1 -0
- package/dist/assets/{sentry-D58SEIt0.js → sentry-qwy54zvC.js} +1 -1
- package/dist/assets/{url-BRZfE6CD.js → url-BKJ8Udjp.js} +1 -1
- package/dist/assets/{url-wdUk7Rbg.js → url-CF9Fx3Jk.js} +1 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-DwtRgARG.js +1 -0
- package/dist/assets/useAskAiCfoHostNavButtonProps-Bl-nKTXG.js +1 -0
- package/dist/assets/useCashManagementBanner-SbCmMLis.js +1 -0
- package/dist/assets/{useChargeCardPusherEvents-DGhBtw5K.js → useChargeCardPusherEvents-Cg9Qn_oP.js} +1 -1
- package/dist/assets/{useDeviceId-SayLljl1.js → useDeviceId-DPOieVuC.js} +1 -1
- package/dist/assets/useEmailConnectResultRefresh-gsc6JcZn.js +1 -0
- package/dist/assets/{useInitialThreadRequest-B7WOjZ27.js → useInitialThreadRequest-CXnpfTcs.js} +1 -1
- package/dist/assets/{utils-CHGPa257.js → utils-5Fz6z6US.js} +1 -1
- package/dist/assets/{withTransactionSidePanel-BsJ58rSa.js → withTransactionSidePanel-ZQvLeKiY.js} +2 -2
- package/dist/assets/{zeni-epic-state-Bx_bp9Xr.js → zeni-epic-state-NrbJoBOX.js} +4 -4
- package/dist/index.html +1 -1
- package/package.json +3 -3
- package/dist/assets/AddressRoutes-ChIEG7ZZ.js +0 -1
- package/dist/assets/AiCfoScreen-DXLxFBnQ.js +0 -22
- package/dist/assets/ConnectionAuthScreen-RH-ZQnmS.js +0 -11
- package/dist/assets/CustomerOnboardingAuthScreen-Bro8vP9Q.js +0 -1
- package/dist/assets/DomesticWireDetailScreen-DmspT9Qv.js +0 -18
- package/dist/assets/DrawerScreen-CTBdvd2J.js +0 -1
- package/dist/assets/EntityDetailRoutes-DPOfKd1l.js +0 -1
- package/dist/assets/FeaturePreviewScreen-CS0na0Uv.js +0 -1
- package/dist/assets/HubSpotOAuthCallbackScreen-CDdCifUI.js +0 -1
- package/dist/assets/MagicLinkSignInScreen-BQxK3HJS.js +0 -12
- package/dist/assets/MobileAppDrawer-By5kqJZy.js +0 -1
- package/dist/assets/NotFoundScreen-BUpSeNgf.js +0 -1
- package/dist/assets/OAuthConsentScreen-BzkRmkhL.js +0 -1
- package/dist/assets/PandLWithForecastRoutes-DB98rpg8.js +0 -1
- package/dist/assets/PeopleRoutes-BPQhjQKR.js +0 -22
- package/dist/assets/PerformanceRoutes-Cu8GwbPn.js +0 -1
- package/dist/assets/ReferralListScreen-Bg4MIsqb.js +0 -5
- package/dist/assets/ReimbursementApprovalRoutes-CLqW8bjU.js +0 -1
- package/dist/assets/RewardsRoutes-Dmsl5Hhz.js +0 -1
- package/dist/assets/ScreenRoutes-DtVjvGeB.js +0 -2
- package/dist/assets/SignInScreen-Caakz2DY.js +0 -1
- package/dist/assets/SignOutScreen-CtzEkEl4.js +0 -9
- package/dist/assets/TaskListScreen-BtTYiD21.js +0 -9
- package/dist/assets/TaskRoutes-X8P3xHwH.js +0 -9
- package/dist/assets/TransactionDetailScreen-CRWTcneH.js +0 -5
- package/dist/assets/WiseConfirmationScreen-CIMiBhET.js +0 -12
- package/dist/assets/ZeniAccountStatementScreen-DZHjDSg5.js +0 -9
- package/dist/assets/epic-BqLIdimv.js +0 -2
- package/dist/assets/getLocaleForTenant-CqQ308VG.js +0 -1
- package/dist/assets/routePaths-YBRbNv0i.js +0 -1
- package/dist/assets/useAiCfoDashboardSuggestedQuestionsChips-B3JxpD0o.js +0 -1
- package/dist/assets/useAskAiCfoHostNavButtonProps-Dx1w_2sk.js +0 -1
- package/dist/assets/useCashManagementBanner-MgmXXc9G.js +0 -1
- package/dist/assets/useEmailConnectResultRefresh-CG-YyoOP.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as m}from"./liveblocks-
|
|
1
|
+
import{j as m}from"./liveblocks-s55OcG-D.js";import{a as g}from"./sentry-qwy54zvC.js";import{h as w,u as x,g as T,i as k,j as O,n as E}from"./core-CnGMK-sC.js";import{z as C,be as P,x as V,d as F,f as j,ag as b,bf as A,au as L,av as U,v as B}from"./index-D7tfVykC.js";import{eV as N,gj as M,tD as _,ge as z,c6 as R,Po as G,bn as Y,rE as H,rs as Z,l7 as $,mI as S,Pp as q,bE as J,cz as D,mS as K,mV as Q}from"./zeni-epic-state-NrbJoBOX.js";import"./mui-CggbPNN2.js";import{d as W}from"./routePaths-CVAI7AUa.js";import{M as X}from"./MobileAppDrawer-NdU6zrS3.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},a=new t.Error().stack;a&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[a]="b19bfb6c-f55f-4871-af38-319885af64cd",t._sentryDebugIdIdentifier="sentry-dbid-b19bfb6c-f55f-4871-af38-319885af64cd")}catch{}})();const ee=E((function(t){const a=z(t),i=C.getSignedInUser(),p=N(t),c=p.tenantId,l={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},f=R(p?.userRole??[])&&a.localData.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",e=G(t.companyConfigState),n=t.countryListState?.byCountryListCode?.nationalityCountryList?.countries??[];return{isCompanyVerified:a.companyView?.company?.company?.companyBillPayInfo?.companyVerificationStatus?.code==="verified",companyPassportView:a,allIndustries:e.companyIndustries??[],allNationalityCountries:n,isDisabled:f,authParams:l,filesEndPoint:`${L.fileMicroServiceBaseUrl}`,isZeniUser:Y(i)}}),(function(t,a){const{companyId:i,currentTenant:p,navigate:c,location:l}=a,{tenantEmailDomain:f}=p;return{onScheduleClick:e=>{let n=e.href;n.includes("http")||(n="https://".concat(n)),window.open(n,"_blank")},onSaveAll:()=>{t(Q())},onAddressClick:e=>{const n=W(f,e),o=B(l.state?.pathnameStackToGoBack,l.pathname);c(n,{state:{pathnameStackToGoBack:o}})},onResetClick:()=>{t(K({companyId:i}))},onBackClick:()=>{c("../")},onCompanyDetailsChanged:e=>{const{companyInfo:n,incInfo:o,taxDetails:r,zeniFinanceTeam:d}=e,{website:u}=n,{meetingLink:y}=d,{incDate:s}=o,{taxesFiledYears:h}=r,v={companyInfo:{...n,website:u!=""&&u!=null?D(u):void 0,meetingLink:y!=""&&y!=null?D(y):void 0,industry:n.industry.selectedOption,companyIndustryType:n.companyIndustryType?.selectedOption??void 0,companySubIndustry:n.companySubIndustry?.selectedOption??void 0,businessModel:n.businessModel.selectedOption??"",companySourceOfFunds:n.companySourceOfFunds?.selectedOption,companySourceOfFundsDescription:n.companySourceOfFundsDescription??void 0,countriesOfOperations:n.countriesOfOperations?.selectedOptions?.map((I=>I.length===2?I:U(I)))??[],transactionVolume:n.transactionVolume?.selectedOption??void 0,transactionVolumeDescription:n.transactionVolumeDescription??void 0,regulatedStatus:n.regulatedStatus??void 0,regulatedStatusDescription:n.regulatedStatusDescription??void 0,usNexus:n.usNexus??void 0,usNexusTypes:n.usNexusTypes?.selectedOptions??[],purposeOfAccount:n.purposeOfAccount?.selectedOption??void 0,purposeOfAccountDescription:n.purposeOfAccountDescription??void 0},incInfo:{typeOfInc:o.typeOfInc.selectedOption??"",stateOfInc:o.stateOfInc.selectedOption??"",incDate:s!=null?J(s?.toString()):s,fileId:o.fileIds[0]},taxDetails:{taxIdOrEIN:r.taxIdOrEIN,sicCode:r.sicCode,naicsCode:r.naicsCode,dunsNumber:r.dunsNumber,taxesFiledYears:h.selectedOptions.map((I=>parseInt(I))),fileId:r.fileIds[0]}};t(S({companyDetails:v}))},onPrimaryContactDetailsUpdated:e=>{t(S({primaryContact:{userId:e.userId,email:e.email.trim(),firstName:e.name.firstName,lastName:e.name.lastName}}))},onNewCompanyOfficerAdded:e=>{t(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:void 0}]}))},onNewCompanyOfficerRemoved:e=>{t(q(e))},onCompanyOfficerUpdated:e=>{t(S({officers:[{officerType:e.officerType,email:e.email.trim(),phone:e.phone,firstName:e.name.firstName,lastName:e.name.lastName,userId:e.userId}]}))},updateFilesEntity:e=>{t($({files:e}))},onDeleteFile:e=>{t(Z(e))},onEditFileName:(e,n)=>{t(H(e,n.split(".")[0]))}}}))(A);function de(){const t=w(),a=x(),i=T(),{tenantEmailDomain:p}=k(),[c,l]=g.useState(!1),[f,e]=g.useState(!1),n=O((s=>s.companyViewState.passportView.fetchState)),o=O((s=>s.companyConfigState.fetchState)),r=O((s=>N(s))),d=r.companyId??C.getSignedInUserTenant(p)?.companyId;if(C.getSignedInUser()==null)throw Error("Can't access company details page without signing in...");g.useEffect((()=>{c||n!=="Not-Started"||d==null||(l(!0),a(M(d)))}),[c,n,d,a]),g.useEffect((()=>{o==="Not-Started"&&a(_())}),[o,a]);const u=s=>{e(s)},y=n==="Not-Started"||n==="In-Progress"||o==="Not-Started"||o==="In-Progress";return d!=null&&n==="Error"?m.jsx(P,{onGoHome:()=>t("../",{replace:!0}),onReload:()=>window.location.reload()}):m.jsxs(m.Fragment,{children:[m.jsx(V,{analytics:F,onLoad:s=>s.trackPageLoaded(j.Event.companyPassport,b(i)?"Settings":"Company Passport")}),b(i)?m.jsx(X,{isAppContentDrawerOpen:f,handleDrawerToggle:u}):null,m.jsx(ee,{companyId:d,navigate:t,location:i,isLoading:y,currentTenant:r,isSettings:b(i),onClickMenuIcon:()=>{u(!0)}})]})}export{de as C};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{j as C}from"./liveblocks-s55OcG-D.js";import{a}from"./sentry-qwy54zvC.js";import{u as D,g as v,j as c,N as w}from"./core-CnGMK-sC.js";import{LX as _,eV as A,f$ as O,ob as j,gs as h,f_ as L,fy as U,M2 as $}from"./zeni-epic-state-NrbJoBOX.js";import{u as F,z as m,L as g,a as k,o as H}from"./index-D7tfVykC.js";import{n as z}from"./mui-CggbPNN2.js";import{t as R}from"./getLocaleForTenant-BuGWeb9s.js";import{g as P,Q as V}from"./QBOConnectionScreen-D9vGR9Iz.js";import"./recharts-CmLekiCG.js";import"./analytics-DhULAPA0.js";import"./plaid-d_bwfWrk.js";import"./dnd-BqCGp7Ed.js";import"./stripe-cKAAJElX.js";import"./lottie-DMKCl4ti.js";import"./lexical-DlqthnSG.js";import"./pdf-BD0zxvar.js";import"./utils-5Fz6z6US.js";import"./empty-AGnm4bIq.js";import"./pdf-lib-BzRjr6sI.js";import"./index-b64yysEr.js";import"./url-CF9Fx3Jk.js";import"./index-CUaM5Y1I.js";import"./decodeURIComponentSafe-uWfgYCNH.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new t.Error().stack;i&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[i]="0d88cda1-01ee-443a-8eb2-2e2ef52fc7c1",t._sentryDebugIdIdentifier="sentry-dbid-0d88cda1-01ee-443a-8eb2-2e2ef52fc7c1")}catch{}})();const G=z.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex: 1 1 auto;
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 100vh;
|
|
9
|
+
background-color: ${t=>t.theme.colors.background};
|
|
10
|
+
box-shadow: ${t=>`0px 2px ${H.sp1} ${t.theme.colors.dropShadowNormal}`};
|
|
11
|
+
`;function fe(){const t=D(),i=v(),{setLoading:d,clearAllLoading:x}=F(),f=a.useRef(!1),p=a.useRef(!1),{code:b,realmId:y,state:T}=P(i.search),N=b!==""&&y!==""&&T!=="",I=c((l=>_(l))),e=c((l=>A(l))),n=c((l=>l.tenantState.fetchState)),r=c((l=>l.tenantState.activeTenantFetchState.fetchState)),o=m.getSignedInUser(),u=m.getActiveTenantForUser()?.tenantId,s=e?.externalConnections?.fetchState,E=e?.externalConnections?.saveConnectionState,S=e.externalConnections?.accounting[0]?.isValid;return a.useLayoutEffect((()=>{d(g.CONNECTION_AUTH)}),[d]),a.useEffect((()=>{f.current||o==null||u==null||(f.current=!0,n==="Completed"||r!=="Not-Started"&&r!=="Error"||(d(g.TENANT_FETCHING),t(O(o.userId,u))))}),[f,n,d]),a.useEffect((()=>{e.tenantId==null&&!p.current&&o!=null&&(p.current=!0,!(u==null||u!=null&&(r==="Completed"||r==="Error"))||n!=="Not-Started"&&n!=="Error"||t(j(o.userId)))}),[p,n,r]),a.useEffect((()=>{o==null||e?.tenantId==null||e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||E!=="Error"||(d(g.CONNECTION_AUTH),t(h(o.userId,e.tenantId)))}),[E]),a.useEffect((()=>{n!=="Completed"&&r!=="Completed"||o==null||e?.tenantId==null||(t(L(e.tenantId)),m.saveActiveTenantDomainForUser(e.tenantEmailDomain),U(o?.userId,o?.zeniSessionId,e.tenantId),k.updateAppLocaleID(R($(e))),e.externalConnections!=null||n!=="Completed"&&r!=="Completed"||s==="In-Progress"||o==null||e==null||t(h(o.userId,e.tenantId)))}),[n,r,s]),a.useEffect((()=>{I.tenantsCoreDetailsInOrder.length>0&&n==="Completed"&&m.saveSignedInUserTenants(I.tenantsCoreDetailsInOrder)}),[I.tenantsCoreDetailsInOrder.length,n]),a.useEffect((()=>{n!=="Completed"&&n!=="Error"||r!=="Completed"&&r!=="Error"||s!=="Completed"&&s!=="Error"||x()}),[n,r,s]),e==null||n!=="Completed"&&r!=="Completed"||s!=="Completed"?null:N||S===!1?C.jsx(G,{children:C.jsx(V,{})}):C.jsx(w,{to:"/",replace:!0})}export{fe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./liveblocks-s55OcG-D.js";import{z as n}from"./index-D7tfVykC.js";import{g as d}from"./QBOConnectionScreen-D9vGR9Iz.js";import"./sentry-qwy54zvC.js";import{g as p,N as s}from"./core-CnGMK-sC.js";import"./zeni-epic-state-NrbJoBOX.js";import"./recharts-CmLekiCG.js";import"./mui-CggbPNN2.js";import"./analytics-DhULAPA0.js";import"./plaid-d_bwfWrk.js";import"./dnd-BqCGp7Ed.js";import"./stripe-cKAAJElX.js";import"./lottie-DMKCl4ti.js";import"./lexical-DlqthnSG.js";import"./pdf-BD0zxvar.js";import"./utils-5Fz6z6US.js";import"./empty-AGnm4bIq.js";import"./pdf-lib-BzRjr6sI.js";import"./index-b64yysEr.js";import"./url-CF9Fx3Jk.js";import"./index-CUaM5Y1I.js";import"./decodeURIComponentSafe-uWfgYCNH.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},o=new t.Error().stack;o&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[o]="817363c8-7f1d-4590-b58b-cef70b99ca15",t._sentryDebugIdIdentifier="sentry-dbid-817363c8-7f1d-4590-b58b-cef70b99ca15")}catch{}})();const U=()=>{const t=p(),{code:o,realmId:r,state:e}=d(t.search),m=n.getSignedInUser()?.userId??"";if(f(o,r,e,m)===!0){const a=`../../${e}/onboarding?code=${o}&realmId=${r}&state=auth_flow`;return i.jsx(s,{to:a})}return i.jsx(s,{to:"../../"})},f=(t,o,r,e)=>t!=""&&o!=""&&r!=""&&e!=null&&e!="";export{U as default,f as hasValidParams};
|
package/dist/assets/{CustomerOnboardingRoutes-DT_Ih6lH.js → CustomerOnboardingRoutes-Id7ixv-a.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as a}from"./liveblocks-
|
|
1
|
+
import{j as a}from"./liveblocks-s55OcG-D.js";import{t as yt,A as Ve}from"./AddressScreen-Dzf83tSk.js";import ht from"./NotFoundScreen-wlhddpbg.js";import{a as d}from"./sentry-qwy54zvC.js";import{h as be,g as ke,u as ne,i as Ie,j as I,N as U,l as St,n as et,o as Ct,p as q}from"./core-CnGMK-sC.js";import{z as N,C as _e,G as H,E as bt,v as Q,x as ae,d as R,f as de,aq as kt,m as It,Q as tt,T as nt,ar as Le,j as Se,as as _t,o as Ne,at as Re,au as vt,av as Me,aw as Ot,ax as Tt}from"./index-D7tfVykC.js";import{eV as W,fC as ve,fA as Oe,bs as Et,fQ as xt,bS as wt,o9 as At,tn as Pt,tq as Dt,MW as jt,MX as Ft,kb as Ce,ke as at,Mr as Bt,bY as Ut,c6 as le,tR as Te,tC as Vt,MY as ue,tS as ot,Kk as Lt,lf as st,MZ as Nt,M_ as Rt,rl as Mt,hq as $t,Mj as ge,hn as Gt,Mk as zt,y2 as Qt,rp as Kt,hf as qt,hi as $e,M$ as it,N0 as Ht,E5 as Yt,N1 as Zt,E9 as Wt,tt as Jt,N2 as Xt,N3 as en,k9 as tn,kc as nn,u2 as an,tE as rt,tQ as on,bE as Ge,cz as sn,u1 as ze,rE as rn,rs as cn,l7 as dn,gh as un,gg as ln,gf as pn,N4 as mn,tw as gn,u3 as fn,u6 as yn,u9 as hn,uf as Sn,cY as Cn}from"./zeni-epic-state-NrbJoBOX.js";import{n as Ee}from"./mui-CggbPNN2.js";import{g as bn,h as kn,q as oe}from"./QBOConnectionScreen-D9vGR9Iz.js";import{u as In,a as _n}from"./useEmailConnectResultRefresh-gsc6JcZn.js";import{u as vn}from"./useChargeCardPusherEvents-Cg9Qn_oP.js";import"./recharts-CmLekiCG.js";import"./analytics-DhULAPA0.js";import"./plaid-d_bwfWrk.js";import"./dnd-BqCGp7Ed.js";import"./stripe-cKAAJElX.js";import"./lottie-DMKCl4ti.js";import"./lexical-DlqthnSG.js";import"./pdf-BD0zxvar.js";import"./utils-5Fz6z6US.js";import"./empty-AGnm4bIq.js";import"./pdf-lib-BzRjr6sI.js";import"./index-b64yysEr.js";import"./url-CF9Fx3Jk.js";import"./index-CUaM5Y1I.js";import"./decodeURIComponentSafe-uWfgYCNH.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},u=new t.Error().stack;u&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[u]="49d2740f-d6f0-4428-a27a-3a2d7c1909c4",t._sentryDebugIdIdentifier="sentry-dbid-49d2740f-d6f0-4428-a27a-3a2d7c1909c4")}catch{}})();const On=()=>{const t=be(),u=ke(),i=ne(),[o,l]=d.useState(!1),[c,y]=d.useState(!1),{tenantEmailDomain:S}=Ie(),e=N.getSignedInUser(),{useFeatureGate:n}=_e(),{isFeatureEnabled:s}=n(H.isApAgingFeatureEnabled),{isFeatureEnabled:C}=n(H.isArAgingFeatureEnabled),{isFeatureEnabled:_}=n(H.isReferralFeatureEnabled),{isFeatureEnabled:k}=n(H.isExpenseAutomationEnabledV2),{isFeatureEnabled:T}=n(H.isDebitCardFeatureEnabled),r=bt(),f=I((h=>W(h))),p=I((h=>h.onboardingCustomerViewState.fetchState)),v=f.excludedResources,O=f.companyId??N.getSignedInUserTenant(S)?.companyId;if(e==null)throw Error("Can't access onboarding flow without signing in...");const E=ve(T,f),P=Oe(f),m=[],M=v?.resources?.find((h=>h.resource==="/reports/top_expenses"))==null,j=v?.resources?.find((h=>h.resource==="/reports/task_card"))==null,$=f?.userRole!=null&&Et(f?.userRole),G=v?.resources?.find((h=>h.resource==="/bills"))==null&&!$,w=v?.resources?.find((h=>h.resource==="/reimbursements"))==null;M===!1&&m.push("top_expenses"),j===!1&&m.push("task_card"),G===!1&&m.push("bill_pay_card","bill_pay_promo_card"),w===!1&&m.push("reimbursement_card","reimbursement_promo_card"),m.push("zeni_accounts_promo_card","treasury_promo_card"),_===!1&&m.push("rewards_card");const F=I((h=>{const D=[];s===!1&&D.push("accounts_payable_aging"),C===!1&&D.push("accounts_receivable_aging"),D.push("zeni_accounts_promo_card","treasury_promo_card"),_===!1&&D.push("rewards_card"),r===!1&&D.push("expense_automation_card");const Y=xt(h,D,e,k,r);return wt(Y.reportsInOrder.map((A=>({fetchState:A.fetchState,error:A.error})))).fetchState}));d.useEffect((()=>{p!=="Completed"||o||E||P||(l(!0),i(At(e.userId,O,f.tenantId,!0,!1,m)))}),[o,p,E,P,e,f.tenantId,i]);const K=d.useRef(!1),z=d.useCallback((()=>{const h={pathnameStackToGoBack:Q(u.state?.pathnameStackToGoBack,u.pathname),message:"activation"};t(E?"../../checking":P?"../../cards":"../../dashboard",{state:h})}),[t,u,E,P]),V=d.useCallback((()=>{K.current||(K.current=!0,z())}),[z]);return d.useEffect((()=>{const h=setTimeout((()=>y(!0)),3e3);return()=>clearTimeout(h)}),[]),d.useEffect((()=>{const h=setTimeout(V,6e3);return()=>clearTimeout(h)}),[V]),d.useEffect((()=>{E||P||!c||F!=="Completed"&&F!=="Error"||V()}),[c,F,E,P,V]),p!=="Completed"?a.jsx(U,{to:"../"}):a.jsxs(a.Fragment,{children:[a.jsx(ae,{analytics:R,onLoad:h=>h.trackPageLoaded(de.Event.onboardingDashboardActivation)}),a.jsx(kt,{show:!0,onComplete:V})]})},fe=["reading_books","finance_graph","reconciliation","cfo_foundation"],ye=["llm_fine_tuning","rag_knowledge_graph","personalized_context"],Qe=(t,u)=>{const i=new Map(t.map((o=>[o.key,o])));return u.map((o=>{return l=i.get(o)?.status,l==="starting"||l==="building"?l:"idle";var l}))},Ke=(t,u)=>{if(t.length===0)return!1;const i=new Map(t.map((o=>[o.key,o])));return u.every((o=>i.get(o)?.status==="ready"))},qe=Ee.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
height: 100vh;
|
|
4
4
|
background-color: ${t=>t.theme.colors.grey4};
|
|
@@ -11,7 +11,7 @@ import{j as a}from"./liveblocks-tpE-grBU.js";import{t as yt,A as Ve}from"./Addre
|
|
|
11
11
|
|
|
12
12
|
${t=>t.skipLegacyDrawerOffset?`
|
|
13
13
|
width: 100%;
|
|
14
|
-
padding-left: ${
|
|
14
|
+
padding-left: ${Ne.sp0};
|
|
15
15
|
`:`
|
|
16
16
|
min-width: calc(100% - ${Re}px);
|
|
17
17
|
padding-left: ${Re}px;
|
|
@@ -19,12 +19,12 @@ import{j as a}from"./liveblocks-tpE-grBU.js";import{t as yt,A as Ve}from"./Addre
|
|
|
19
19
|
|
|
20
20
|
${t=>t.theme.breakpoints.down("md")} {
|
|
21
21
|
width: 100%;
|
|
22
|
-
padding-left: ${
|
|
22
|
+
padding-left: ${Ne.sp0};
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
${t=>t.windowSize!=="small"?"overflow: auto;":""}
|
|
26
|
-
`,Ze=et((function(t,u){const{companyId:i,isAdmin:o,currentTenant:l,isOnAddressPage:c}=u,y=L.getSignedInUser(),S=l.tenantId,e={userId:y?.userId??"",sessionId:y?.zeniSessionId??"",tenantId:S??""},n=J(t),s=Te(t,i),C=it(t),_=le(l?.userRole??[])&&s.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",I=Ht(t.userRoleConfigState);return{onboardingCustomerView:s,analytics:R,isRefreshingViewInBackground:!1,isDisabled:_,companyTitles:I.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:vt.fileMicroServiceBaseUrl,authParams:e},signedInUser:L.getSignedInUser(),currentTenant:n,isAdmin:o,isOnAddressPage:c,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:C,isCardPaymentPopupOpen:!1,stripeKey:Se.stripeKey}}),(function(t,u){const{companyId:i,currentTenant:o,themeState:l,navigate:c,location:y}=u,{tenantEmailDomain:S}=o;return{onFetchLinkTokenClick:(e,n)=>{t(Sn(e,n))},onEstablishConnectionClick:(e,n)=>{t(hn(e,n))},onUpdatePaymentAccountStatus:(e,n,s)=>{t(yn(e,n,s))},onUpdatePaymentAccountLoginStatus:(e,n)=>{t(fn(!1,e,n))},onEstablishConnectionSuccess:()=>{t(gn(i,!0,!1))},handleOnConnectClick:()=>{R.trackOnboardingConnectQBO(),oe.handleClick()},updateQBOPopupState:e=>{t(ue({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const n=e.map((s=>{const{officerType:C,userId:_,name:I,email:T,ssn:r,nationalityCountryCode:f,dob:p,phone:v,syncToken:O,selectDocument:E,role:P,ownership:m,isSelectedForVerification:G,userVerificationStatus:j,fileIds:$,isPhoneVerified:M}=s;let w;return E.selectDocumentType==="driverLicense"?w="driving_license":E.selectDocumentType==="passport"?w="passport":E.selectDocumentType==="stateId"?w="id_document":E.selectDocumentType==="ssnCard"&&(w="social_security_card"),{officerType:C,userId:_,firstName:I.firstName,lastName:I.lastName,email:T,ssn:r,nationalityCountryCode:f?.selectedOption!=null?Ge(f.selectedOption):void 0,phone:v,birthday:p!=null?Me(p?.toString()):p,syncToken:O,titleAtCompany:P.selectedOption,ownershipInCompany:m,documentTypeSelectedForVerification:w,isSelectedForVerification:G,userVerificationStatus:j,fileIds:$,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:M}}));t(ze({officers:n}))},onGetOtp:(e,n)=>{t(pn(e,"CustomerOnboarding")),n!=null&&t(mn({officerType:n,phone:e}))},onResendOtp:e=>{t(ln(e,"CustomerOnboarding"))},onVerifyOtp:(e,n)=>{t(un(e,n,"CustomerOnboarding"))},updateFilesEntity:e=>{t(dn({files:e}))},onDeleteFile:e=>{t(cn(e))},onEditFileName:(e,n)=>{t(rn(e,n.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:n,companyIndustry:s,companyIndustryType:C,companyLegalName:_,companyTaxId:I,companyWebsite:T,companyPhone:r,primaryContactEmail:f,primaryContactName:p,primaryContactUserId:v,primaryContactSyncToken:O,syncToken:E,fileIds:P,typeOfIncorporation:m,stateOfIncorporation:G,incDate:j,companySourceOfFunds:$,companySourceOfFundsDescription:M,companySubIndustry:w,countriesOfOperations:F,purposeOfAccount:K,purposeOfAccountDescription:z,regulatedStatus:V,regulatedStatusDescription:h,transactionVolume:D,transactionVolumeDescription:Z,usNexus:A,usNexusTypes:se}=e,B={companyId:i,companyDescription:n,companyIndustry:s.selectedOption,companyIndustryType:C?.selectedOption??"",companyLegalName:_,taxIdOrEIN:I,website:T!=""&&T!=null?sn(T):void 0,phone:r,syncToken:E,fileIds:P,incDate:j!=null?Me(j?.toString()):j,typeOfIncorporation:m?.selectedOption??"",stateOfIncorporation:G?.selectedOption??"",companySourceOfFunds:$?.selectedOption??"",companySourceOfFundsDescription:M,companySubIndustry:w?.selectedOption??"",countriesOfOperations:F?.selectedOptions.map((W=>W.length===2?W:Ge(W)))??[],purposeOfAccount:K?.selectedOption??"",purposeOfAccountDescription:z,regulatedStatus:V??"",regulatedStatusDescription:h,transactionVolume:D?.selectedOption??"",transactionVolumeDescription:Z,usNexus:A,usNexusTypes:se?.selectedOptions??[]},pe={userId:v,firstName:p.firstName,lastName:p.lastName,email:f,syncToken:O};t(ze({companyDetails:B,primaryContactDetails:pe}))},onAddressClick:(e,n)=>{const s=Je(S,e,n),C=Q(y.state?.pathnameStackToGoBack,y.pathname);c(s,{state:{pathnameStackToGoBack:C}})},onRegisteredAddressClick:(e,n)=>{const s=Je(S,e,n),C=Q(y.state?.pathnameStackToGoBack,y.pathname);c(s,{state:{pathnameStackToGoBack:C}})},onUpdateCustomerView:(e,n,s)=>{t(on(i,!1,n,s,e))},onAddressEditHandler:e=>{if(e!=null){const n=yt(e);t(st({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const e=Q(y.state?.pathnameStackToGoBack,y.pathname);t(rt(i,!1,!1)),c("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(ot({step:e}))},onUpdateSubStep:e=>{t(an({subStep:e}))},onZeniLogoClick:()=>{l.toggle()},handleLogOutClick:()=>{const e=Q(y.state?.pathnameStackToGoBack,y.pathname);c("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{c(`/${S}/rewards`)},handleCreateCardSetupIntent:e=>{t(at(e))},handleConfirmCardSetupIntent:e=>{t(nn(e))},updateCardPaymentModalState:e=>{t(ue({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,n,s)=>{t(tn(e,n,s))},handleFetchPaymentSources:()=>{t(Ce())},resetCardPaymentViewState:()=>{t(en())},handleResetCardPaymentErrorStatuses:()=>{t(Xt())},redirectToProductSuitePage:()=>{const e=Q(y.state?.pathnameStackToGoBack,y.pathname);c(`/${S}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{i!=null&&t(Wt(i))},onIdentityDocumentUploadedForAutofill:e=>{if(i==null)return;const n=Yt(e.documentType);n!=null&&t(Jt({target:"onboarding",companyId:i,officerType:e.officerType,fileId:e.fileId,documentType:n}))},onCompanyDocumentUploadedForAutofill:e=>{i!=null&&t(Zt({target:"onboarding",companyId:i,fileId:e.fileId,documentType:e.documentType}))}}}))(_t),ce=({taxCFOCustomer:t=!1,isOnAddressPage:u=!1,appContent:i})=>{const o=be(),l=Ie(),c=ne(),y=kt(),S=tt(),[e,n]=d.useState(!1),[s,C]=d.useState(!1),[_,I]=d.useState(!1),{tenantEmailDomain:T}=ke(),r=nt(),{useFeatureGate:f}=_e(),{isFeatureEnabled:p}=f(H.isDebitCardFeatureEnabled),v=St("/:tenantEmailDomain/onboarding")!==null&&l.search?.includes("code"),O=k((g=>g.onboardingCustomerViewState.fetchState)),E=k((g=>g.onboardingCustomerViewState.currentStep)),P=k((g=>g.onboardingCustomerViewState.uiState)),m=k((g=>J(g))),G=k((g=>g.userRoleConfigState.fetchState)),j=k((g=>g.cardPaymentViewState)),$=Ne(j.addCardPaymentSourceStatus.fetchState),M=j.addCardPaymentSourceStatus.fetchState,{code:w,realmId:F,state:K}=bn(l.search),z=m.externalConnections?.accounting[0],V=z?.connectionType,h=z?.connectionName,D=z?.connectionId??"",Z=L.getSignedInUser()?.userId??"";d.useEffect((()=>{s||(C(!0),c(Ce()))}),[s,c]),d.useEffect((()=>{_||(at(["card"]),I(!0))}),[_]),d.useEffect((()=>{$==="In-Progress"&&M==="Completed"&&c(Ce())}),[$,M]),d.useEffect((()=>{In(w,F,K,D,Z)===!0&&m.externalConnections?.saveConnectionState!=="In-Progress"&&O==="Completed"&&(c(Bt(m.tenantId,{connection_type:V??"accounting",connection_name:h??"quickbooks_online",authorization_code:w,realm_id:F,connection_id:D,user_id:Z},Ut(window.location.origin+"/onboarding/auth"))),R.trackOnboardingSaveQBOConnection(F,D),o(l.pathname))}),[w,F,K,l.pathname,O]),d.useEffect((()=>{oe.isInitiated===!1&&O==="Completed"&&oe.init("/onboarding/auth",m.tenantEmailDomain)}),[O]);const A=m.companyId??L.getSignedInUserTenant(T)?.companyId,se=le(m?.userRole??[]),B=k((g=>Te(g,A)));d.useEffect((()=>{e||O!=="Not-Started"||A==null||(n(!0),c(Vt(A,!0,!v)))}),[e,O,A]),d.useEffect((()=>{m.externalConnections?.saveConnectionState!=="Completed"&&m.externalConnections?.saveConnectionState!=="Error"||!P.isQBOPopupOpen||E!=="connect_ledger"||c(ue({isQBOPopupOpen:!1}))}),[m.externalConnections?.saveConnectionState]),d.useEffect((()=>{O==="Completed"&&v&&(c(ot({step:"connect_ledger"})),c(ue({isQBOPopupOpen:!0})))}),[v,O]),d.useEffect((()=>{G==="Not-Started"&&c(Nt(!0))}),[G,c]);const pe=Ne(B.companyDetailsLocalData?.addressStatus);d.useEffect((()=>{B.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&B.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&pe==null&&c(st({addressType:"company_registered_address",addressToCreate:B.companyDetailsLocalData?.addressStatus?.addressToCreate}))}),[B.companyDetailsLocalData?.addressStatus?.addressToCreate,B.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const W=B.isInterimEmailSent,xe=L.getSignedInUser();if(xe==null)throw Error("Can't access onboarding flow without signing in...");const ct=ve(p,m),dt=Oe(m),we=m.company?.companyOnboardingInfo.isOnboardingCompleted,Ae=g=>g.trackPageLoaded(de.Event.onboardingPage),Pe=m.productSettings.isOtherProductsEnabled,ut=m.productSettings.isTreasuryEnabled,De=Tn({tenantEmailDomain:T??"",signedInUserEmail:xe.userEmail??"",companyId:A}),je=(({companyId:g})=>{const N=ne(),ie=k((x=>x.onboardingCustomerViewState?.aiAgentsActivation)),X=k((x=>J(x).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1)),me=d.useCallback((()=>{N(Pt())}),[N]);d.useEffect((()=>{me()}),[me]);const Fe=d.useCallback((()=>{g==null||g===""||X||N(Dt(g))}),[g,X,N]),lt=d.useMemo((()=>{if(g==null||g==="")return[];const x=`private-encrypted-${g}`;return[`${x}.ledger-ingestion.counts-updated`,`${x}.ai-agents-activation.phase-changed`]}),[g]),pt=d.useCallback(((x,ee)=>{if(ee==null||typeof ee!="object")return;const b=ee;if(x!=="ledger-ingestion.counts-updated"){if(x==="ai-agents-activation.phase-changed"){const re=typeof b.phase_key=="string"?b.phase_key:typeof b.key=="string"?b.key:"",Y=typeof b.status=="string"?b.status:"idle";if(re==="")return;N(Ft({key:re,status:Y==="starting"||Y==="building"||Y==="ready"?Y:"idle",startedAt:typeof b.started_at=="string"?b.started_at:void 0,completedAt:typeof b.completed_at=="string"?b.completed_at:void 0}))}}else N(jt({customerCount:typeof b.customer_count=="number"?b.customer_count:void 0,glAccountCount:typeof b.gl_account_count=="number"?b.gl_account_count:void 0,targetTransactionCount:typeof b.target_transaction_count=="number"?b.target_transaction_count:void 0,transactionCount:typeof b.transaction_count=="number"?b.transaction_count:void 0,vendorCount:typeof b.vendor_count=="number"?b.vendor_count:void 0}))}),[N]);return vn({events:lt,onEvent:pt,onSubscribed:me}),d.useMemo((()=>{const x=ie?.phases??[],ee=Qe(x,fe),b=Qe(x,ye),re=Ke(x,fe),Y=Ke(x,ye),Be=x.some((ft=>ft.status!=="idle")),te=!X&&!Be,Ue=X&&!Be,mt=Ue?fe.map((()=>"building")):ee,gt=Ue?ye.map((()=>"building")):b;return{ledgerRowStatuses:te?void 0:mt,backgroundRowStatuses:te?void 0:gt,showLedgerReadyInLabel:te?void 0:re,showBackgroundReadyInLabel:te?void 0:Y,forceContinueEnabled:!te||void 0,counts:ie?.counts,onContinueClicked:Fe}}),[ie?.phases,ie?.counts,X,Fe])})({companyId:A});if(we===!0){if(!Pe)return ut?a.jsx(U,{to:"../../treasury"}):ct?a.jsx(U,{to:"../../checking"}):dt?a.jsx(U,{to:"../../cards"}):a.jsx(U,{to:"../../dashboard"});const g=B.updateStatus.fetchState==="In-Progress";if(Pe&&!g)return t?a.jsxs(qe,{children:[a.jsx(ae,{analytics:R,onLoad:N=>Ae(N)}),a.jsx(Ze,{navigate:o,location:l,companyId:A,currentTenant:m,isAdmin:se,isOnAddressPage:u,themeState:S,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),i!=null?a.jsx(He,{windowSize:y,skipLegacyDrawerOffset:u&&m.productSettings.isOtherProductsEnabled!==!0,children:i}):null]}):a.jsx(U,{to:"../../onboarding/thankyou"})}else if(we===!1&&r?.loggedInUserRoleMap!=null)return W===!0?a.jsx(U,{to:"../../onboarding/thankyou"}):a.jsxs(qe,{children:[a.jsx(ae,{analytics:R,onLoad:g=>Ae(g)}),a.jsx(Ze,{navigate:o,location:l,companyId:A,currentTenant:m,isAdmin:se,isOnAddressPage:u,themeState:S,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),i!=null?a.jsx(He,{windowSize:y,skipLegacyDrawerOffset:u&&m.productSettings.isOtherProductsEnabled!==!0,children:i}):null]});return null},he="external_integrations",Tn=({tenantEmailDomain:t,signedInUserEmail:u,companyId:i})=>{const o=ne(),{pendingAutoFocusTabId:l}=kn(),{plaidAccounts:c,onAddPlaidAccount:y}=_n({companyId:i}),S=k((r=>r.plaidAccountViewState.external_account.plaidConnectionDetails)),e=k((r=>J(r))),n=k((r=>r.tenantState.fetchState)),s=k((r=>Lt(r,i))),C=k((r=>Rt(r,he))),_=d.useMemo((()=>new Set(C.map((r=>r.additionalInfo)).filter((r=>r!=null)))),[C]),I=e.tenantId,T=le(e.userRole??[]);return d.useEffect((()=>{o(Gt(he))}),[o]),d.useMemo((()=>({isAdmin:T,integrationsView:s,isLoading:n==="In-Progress",notifyMeRegisteredSlugs:_,autoFocusTabId:l??void 0,saveChargeBeeState:s.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:s.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:s.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:s.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:s.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(s.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map((([r,f])=>[r,f?.message]))),deleteConnectionState:s.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:s.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{o($e(I,"gmail",Ye()))},onConnectOutlook:()=>{o($e(I,"outlook",Ye()))},onConnectHubSpot:(r,f)=>{const p=s.externalConnections?.revenue?.find((O=>O.connectionName==="hubspot"))?.connectionId;if(p==null)return;const v=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:r,client_secret:f,connection_id:p,redirect_uri:v,tenant_id:I})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(r)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(v)}`},onDisconnect:(r,f)=>{o(qt(I,r,ge(f)))},onNotifyMe:r=>{R.trackIntegrationsNotifyMeClicked("Onboarding",r),o(Kt(he,r,u))},onReconnectQBO:()=>{oe.init("/onboarding/auth",t),oe.handleClick()},onRefreshClick:()=>{s.integrations.refreshQBO.fetchState!=="In-Progress"&&o(Qt())},onSaveChargeBeeCredentials:(r,f)=>{const p=s.externalConnections?.revenue?.find((v=>v.connectionName==="chargebee"))?.connectionId;p!=null&&o(Mt(I,p,ge("revenue"),zt("chargebee"),{api_key:r,site:f}))},onSaveConnectorCredentials:r=>{o($t(I,ge("payments"),r))},plaidAccounts:c,onAddPlaidAccount:y,plaidConnectionDetails:S})),[T,s,n,_,l,I,u,t,o,c,y,S])};function Ye(){const t=new URL(window.location.href);return t.searchParams.set("onboarding_step","connect_data_source"),t.toString()}function Je(t,u,i){let o=`/${t}/onboarding/address`;return o=i!=null?o.concat(`/edit/${u}/${encodeURIComponent(i)}`):o.concat(`/new/${u}`),o}const We=Ee.div`
|
|
26
|
+
`,Ye=et((function(t,u){const{companyId:i,isAdmin:o,currentTenant:l,isOnAddressPage:c}=u,y=N.getSignedInUser(),S=l.tenantId,e={userId:y?.userId??"",sessionId:y?.zeniSessionId??"",tenantId:S??""},n=W(t),s=Te(t,i),C=it(t),_=le(l?.userRole??[])&&s.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",k=Ht(t.userRoleConfigState);return{onboardingCustomerView:s,analytics:R,isRefreshingViewInBackground:!1,isDisabled:_,companyTitles:k.companyTitles,connectedAccountProvider:n.company?.featuresActivationInfo.connectedAccountProvider??"",fileProps:{filesEndPoint:vt.fileMicroServiceBaseUrl,authParams:e},signedInUser:N.getSignedInUser(),currentTenant:n,isAdmin:o,isOnAddressPage:c,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true",cardPaymentView:C,isCardPaymentPopupOpen:!1,stripeKey:Se.stripeKey}}),(function(t,u){const{companyId:i,currentTenant:o,themeState:l,navigate:c,location:y}=u,{tenantEmailDomain:S}=o;return{onFetchLinkTokenClick:(e,n)=>{t(Sn(e,n))},onEstablishConnectionClick:(e,n)=>{t(hn(e,n))},onUpdatePaymentAccountStatus:(e,n,s)=>{t(yn(e,n,s))},onUpdatePaymentAccountLoginStatus:(e,n)=>{t(fn(!1,e,n))},onEstablishConnectionSuccess:()=>{t(gn(i,!0,!1))},handleOnConnectClick:()=>{R.trackOnboardingConnectQBO(),oe.handleClick()},updateQBOPopupState:e=>{t(ue({isQBOPopupOpen:e}))},onCompanyOfficerUpdated:e=>{const n=e.map((s=>{const{officerType:C,userId:_,name:k,email:T,ssn:r,nationalityCountryCode:f,dob:p,phone:v,syncToken:O,selectDocument:E,role:P,ownership:m,isSelectedForVerification:M,userVerificationStatus:j,fileIds:$,isPhoneVerified:G}=s;let w;return E.selectDocumentType==="driverLicense"?w="driving_license":E.selectDocumentType==="passport"?w="passport":E.selectDocumentType==="stateId"?w="id_document":E.selectDocumentType==="ssnCard"&&(w="social_security_card"),{officerType:C,userId:_,firstName:k.firstName,lastName:k.lastName,email:T,ssn:r,nationalityCountryCode:f?.selectedOption!=null?Me(f.selectedOption):void 0,phone:v,birthday:p!=null?Ge(p?.toString()):p,syncToken:O,titleAtCompany:P.selectedOption,ownershipInCompany:m,documentTypeSelectedForVerification:w,isSelectedForVerification:M,userVerificationStatus:j,fileIds:$,additionalDocumentTypesRequestedForVerification:[],additionalSubmittedDocumentsForVerificationFileIds:[],areAdditionalDocumentsRequestedForVerification:!1,areAdditionalDocumentsSubmittedForVerification:!1,isPhoneVerified:G}}));t(ze({officers:n}))},onGetOtp:(e,n)=>{t(pn(e,"CustomerOnboarding")),n!=null&&t(mn({officerType:n,phone:e}))},onResendOtp:e=>{t(ln(e,"CustomerOnboarding"))},onVerifyOtp:(e,n)=>{t(un(e,n,"CustomerOnboarding"))},updateFilesEntity:e=>{t(dn({files:e}))},onDeleteFile:e=>{t(cn(e))},onEditFileName:(e,n)=>{t(rn(e,n.split(".")[0]))},onCompanyDetailsChanged:e=>{const{companyDescription:n,companyIndustry:s,companyIndustryType:C,companyLegalName:_,companyTaxId:k,companyWebsite:T,companyPhone:r,primaryContactEmail:f,primaryContactName:p,primaryContactUserId:v,primaryContactSyncToken:O,syncToken:E,fileIds:P,typeOfIncorporation:m,stateOfIncorporation:M,incDate:j,companySourceOfFunds:$,companySourceOfFundsDescription:G,companySubIndustry:w,countriesOfOperations:F,purposeOfAccount:K,purposeOfAccountDescription:z,regulatedStatus:V,regulatedStatusDescription:h,transactionVolume:D,transactionVolumeDescription:Y,usNexus:A,usNexusTypes:se}=e,B={companyId:i,companyDescription:n,companyIndustry:s.selectedOption,companyIndustryType:C?.selectedOption??"",companyLegalName:_,taxIdOrEIN:k,website:T!=""&&T!=null?sn(T):void 0,phone:r,syncToken:E,fileIds:P,incDate:j!=null?Ge(j?.toString()):j,typeOfIncorporation:m?.selectedOption??"",stateOfIncorporation:M?.selectedOption??"",companySourceOfFunds:$?.selectedOption??"",companySourceOfFundsDescription:G,companySubIndustry:w?.selectedOption??"",countriesOfOperations:F?.selectedOptions.map((J=>J.length===2?J:Me(J)))??[],purposeOfAccount:K?.selectedOption??"",purposeOfAccountDescription:z,regulatedStatus:V??"",regulatedStatusDescription:h,transactionVolume:D?.selectedOption??"",transactionVolumeDescription:Y,usNexus:A,usNexusTypes:se?.selectedOptions??[]},pe={userId:v,firstName:p.firstName,lastName:p.lastName,email:f,syncToken:O};t(ze({companyDetails:B,primaryContactDetails:pe}))},onAddressClick:(e,n)=>{const s=We(S,e,n),C=Q(y.state?.pathnameStackToGoBack,y.pathname);c(s,{state:{pathnameStackToGoBack:C}})},onRegisteredAddressClick:(e,n)=>{const s=We(S,e,n),C=Q(y.state?.pathnameStackToGoBack,y.pathname);c(s,{state:{pathnameStackToGoBack:C}})},onUpdateCustomerView:(e,n,s)=>{t(on(i,!1,n,s,e))},onAddressEditHandler:e=>{if(e!=null){const n=yt(e);t(st({addressType:"subscription_billing_address",addressToCreate:n}))}},onSkipSetupClick:()=>{const e=Q(y.state?.pathnameStackToGoBack,y.pathname);t(rt(i,!1,!1)),c("./activation",{state:{pathnameStackToGoBack:e}})},onUpdateStep:e=>{t(ot({step:e}))},onUpdateSubStep:e=>{t(an({subStep:e}))},onZeniLogoClick:()=>{l.toggle()},handleLogOutClick:()=>{const e=Q(y.state?.pathnameStackToGoBack,y.pathname);c("/signout",{replace:!0,state:{pathnameStackToGoBack:e,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{c(`/${S}/rewards`)},handleCreateCardSetupIntent:e=>{t(at(e))},handleConfirmCardSetupIntent:e=>{t(nn(e))},updateCardPaymentModalState:e=>{t(ue({isCardPaymentPopupOpen:e}))},handleAddCardPaymentSource:(e,n,s)=>{t(tn(e,n,s))},handleFetchPaymentSources:()=>{t(Ce())},resetCardPaymentViewState:()=>{t(en())},handleResetCardPaymentErrorStatuses:()=>{t(Xt())},redirectToProductSuitePage:()=>{const e=Q(y.state?.pathnameStackToGoBack,y.pathname);c(`/${S}/onboarding/thankyou`,{state:{pathnameStackToGoBack:e,message:"OnboardingThankyou"},replace:!0})},onAcknowledgeAiFinanceTeam:()=>{i!=null&&t(Jt(i))},onIdentityDocumentUploadedForAutofill:e=>{if(i==null)return;const n=Zt(e.documentType);n!=null&&t(Wt({target:"onboarding",companyId:i,officerType:e.officerType,fileId:e.fileId,documentType:n}))},onCompanyDocumentUploadedForAutofill:e=>{i!=null&&t(Yt({target:"onboarding",companyId:i,fileId:e.fileId,documentType:e.documentType}))}}}))(_t),ce=({taxCFOCustomer:t=!1,isOnAddressPage:u=!1,appContent:i})=>{const o=be(),l=ke(),c=ne(),y=It(),S=tt(),[e,n]=d.useState(!1),[s,C]=d.useState(!1),[_,k]=d.useState(!1),{tenantEmailDomain:T}=Ie(),r=nt(),{useFeatureGate:f}=_e(),{isFeatureEnabled:p}=f(H.isDebitCardFeatureEnabled),v=St("/:tenantEmailDomain/onboarding")!==null&&l.search?.includes("code"),O=I((g=>g.onboardingCustomerViewState.fetchState)),E=I((g=>g.onboardingCustomerViewState.currentStep)),P=I((g=>g.onboardingCustomerViewState.uiState)),m=I((g=>W(g))),M=I((g=>g.userRoleConfigState.fetchState)),j=I((g=>g.cardPaymentViewState)),$=Le(j.addCardPaymentSourceStatus.fetchState),G=j.addCardPaymentSourceStatus.fetchState,{code:w,realmId:F,state:K}=bn(l.search),z=m.externalConnections?.accounting[0],V=z?.connectionType,h=z?.connectionName,D=z?.connectionId??"",Y=N.getSignedInUser()?.userId??"";d.useEffect((()=>{s||(C(!0),c(Ce()))}),[s,c]),d.useEffect((()=>{_||(at(["card"]),k(!0))}),[_]),d.useEffect((()=>{$==="In-Progress"&&G==="Completed"&&c(Ce())}),[$,G]),d.useEffect((()=>{kn(w,F,K,D,Y)===!0&&m.externalConnections?.saveConnectionState!=="In-Progress"&&O==="Completed"&&(c(Bt(m.tenantId,{connection_type:V??"accounting",connection_name:h??"quickbooks_online",authorization_code:w,realm_id:F,connection_id:D,user_id:Y},Ut(window.location.origin+"/onboarding/auth"))),R.trackOnboardingSaveQBOConnection(F,D),o(l.pathname))}),[w,F,K,l.pathname,O]),d.useEffect((()=>{oe.isInitiated===!1&&O==="Completed"&&oe.init("/onboarding/auth",m.tenantEmailDomain)}),[O]);const A=m.companyId??N.getSignedInUserTenant(T)?.companyId,se=le(m?.userRole??[]),B=I((g=>Te(g,A)));d.useEffect((()=>{e||O!=="Not-Started"||A==null||(n(!0),c(Vt(A,!0,!v)))}),[e,O,A]),d.useEffect((()=>{m.externalConnections?.saveConnectionState!=="Completed"&&m.externalConnections?.saveConnectionState!=="Error"||!P.isQBOPopupOpen||E!=="connect_ledger"||c(ue({isQBOPopupOpen:!1}))}),[m.externalConnections?.saveConnectionState]),d.useEffect((()=>{O==="Completed"&&v&&(c(ot({step:"connect_ledger"})),c(ue({isQBOPopupOpen:!0})))}),[v,O]),d.useEffect((()=>{M==="Not-Started"&&c(Lt(!0))}),[M,c]);const pe=Le(B.companyDetailsLocalData?.addressStatus);d.useEffect((()=>{B.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate==null&&B.companyDetailsLocalData?.addressStatus?.addressToCreate!=null&&pe==null&&c(st({addressType:"company_registered_address",addressToCreate:B.companyDetailsLocalData?.addressStatus?.addressToCreate}))}),[B.companyDetailsLocalData?.addressStatus?.addressToCreate,B.companyDetailsLocalData?.registeredAddressStatus?.addressToCreate]);const J=B.isInterimEmailSent,xe=N.getSignedInUser();if(xe==null)throw Error("Can't access onboarding flow without signing in...");const ct=ve(p,m),dt=Oe(m),we=m.company?.companyOnboardingInfo.isOnboardingCompleted,Ae=g=>g.trackPageLoaded(de.Event.onboardingPage),Pe=m.productSettings.isOtherProductsEnabled,ut=m.productSettings.isTreasuryEnabled,De=Tn({tenantEmailDomain:T??"",signedInUserEmail:xe.userEmail??"",companyId:A}),je=(({companyId:g})=>{const L=ne(),ie=I((x=>x.onboardingCustomerViewState?.aiAgentsActivation)),X=I((x=>W(x).company?.companyOnboardingInfo?.onboardingInfo?.onboardingAiActivationInfo?.isOnboardingAiActivationViewed??!1)),me=d.useCallback((()=>{L(Pt())}),[L]);d.useEffect((()=>{me()}),[me]);const Fe=d.useCallback((()=>{g==null||g===""||X||L(Dt(g))}),[g,X,L]),lt=d.useMemo((()=>{if(g==null||g==="")return[];const x=`private-encrypted-${g}`;return[`${x}.ledger-ingestion.counts-updated`,`${x}.ai-agents-activation.phase-changed`]}),[g]),pt=d.useCallback(((x,ee)=>{if(ee==null||typeof ee!="object")return;const b=ee;if(x!=="ledger-ingestion.counts-updated"){if(x==="ai-agents-activation.phase-changed"){const re=typeof b.phase_key=="string"?b.phase_key:typeof b.key=="string"?b.key:"",Z=typeof b.status=="string"?b.status:"idle";if(re==="")return;L(Ft({key:re,status:Z==="starting"||Z==="building"||Z==="ready"?Z:"idle",startedAt:typeof b.started_at=="string"?b.started_at:void 0,completedAt:typeof b.completed_at=="string"?b.completed_at:void 0}))}}else L(jt({customerCount:typeof b.customer_count=="number"?b.customer_count:void 0,glAccountCount:typeof b.gl_account_count=="number"?b.gl_account_count:void 0,targetTransactionCount:typeof b.target_transaction_count=="number"?b.target_transaction_count:void 0,transactionCount:typeof b.transaction_count=="number"?b.transaction_count:void 0,vendorCount:typeof b.vendor_count=="number"?b.vendor_count:void 0}))}),[L]);return vn({events:lt,onEvent:pt,onSubscribed:me}),d.useMemo((()=>{const x=ie?.phases??[],ee=Qe(x,fe),b=Qe(x,ye),re=Ke(x,fe),Z=Ke(x,ye),Be=x.some((ft=>ft.status!=="idle")),te=!X&&!Be,Ue=X&&!Be,mt=Ue?fe.map((()=>"building")):ee,gt=Ue?ye.map((()=>"building")):b;return{ledgerRowStatuses:te?void 0:mt,backgroundRowStatuses:te?void 0:gt,showLedgerReadyInLabel:te?void 0:re,showBackgroundReadyInLabel:te?void 0:Z,forceContinueEnabled:!te||void 0,counts:ie?.counts,onContinueClicked:Fe}}),[ie?.phases,ie?.counts,X,Fe])})({companyId:A});if(we===!0){if(!Pe)return ut?a.jsx(U,{to:"../../treasury"}):ct?a.jsx(U,{to:"../../checking"}):dt?a.jsx(U,{to:"../../cards"}):a.jsx(U,{to:"../../dashboard"});const g=B.updateStatus.fetchState==="In-Progress";if(Pe&&!g)return t?a.jsxs(qe,{children:[a.jsx(ae,{analytics:R,onLoad:L=>Ae(L)}),a.jsx(Ye,{navigate:o,location:l,companyId:A,currentTenant:m,isAdmin:se,isOnAddressPage:u,themeState:S,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),i!=null?a.jsx(He,{windowSize:y,skipLegacyDrawerOffset:u&&m.productSettings.isOtherProductsEnabled!==!0,children:i}):null]}):a.jsx(U,{to:"../../onboarding/thankyou"})}else if(we===!1&&r?.loggedInUserRoleMap!=null)return J===!0?a.jsx(U,{to:"../../onboarding/thankyou"}):a.jsxs(qe,{children:[a.jsx(ae,{analytics:R,onLoad:g=>Ae(g)}),a.jsx(Ye,{navigate:o,location:l,companyId:A,currentTenant:m,isAdmin:se,isOnAddressPage:u,themeState:S,googleAPIKey:Se.googleMapsAPIKey,integrationsSectionProps:De,aiAgentsActivationProps:je}),i!=null?a.jsx(He,{windowSize:y,skipLegacyDrawerOffset:u&&m.productSettings.isOtherProductsEnabled!==!0,children:i}):null]});return null},he="external_integrations",Tn=({tenantEmailDomain:t,signedInUserEmail:u,companyId:i})=>{const o=ne(),{pendingAutoFocusTabId:l}=In(),{plaidAccounts:c,onAddPlaidAccount:y}=_n({companyId:i}),S=I((r=>r.plaidAccountViewState.external_account.plaidConnectionDetails)),e=I((r=>W(r))),n=I((r=>r.tenantState.fetchState)),s=I((r=>Nt(r,i))),C=I((r=>Rt(r,he))),_=d.useMemo((()=>new Set(C.map((r=>r.additionalInfo)).filter((r=>r!=null)))),[C]),k=e.tenantId,T=le(e.userRole??[]);return d.useEffect((()=>{o(Mt(he))}),[o]),d.useMemo((()=>({isAdmin:T,integrationsView:s,isLoading:n==="In-Progress",notifyMeRegisteredSlugs:_,autoFocusTabId:l??void 0,saveChargeBeeState:s.externalConnections?.saveAPIKeyConnectionState??"Not-Started",saveChargeBeeError:s.externalConnections?.saveAPIKeyConnectionError?.message,saveHubSpotState:s.externalConnections?.saveOAuthConnectionState??"Not-Started",saveHubSpotError:s.externalConnections?.saveOAuthConnectionError?.message,saveConnectorCredentialsStateBySlug:s.externalConnections?.saveConnectorCredentialsStateBySlug??{},saveConnectorCredentialsErrorBySlug:Object.fromEntries(Object.entries(s.externalConnections?.saveConnectorCredentialsErrorBySlug??{}).map((([r,f])=>[r,f?.message]))),deleteConnectionState:s.externalConnections?.deleteConnectionState??"Not-Started",deleteConnectionError:s.externalConnections?.deleteConnectionError?.message,onConnectGmail:()=>{o($e(k,"gmail",Ze()))},onConnectOutlook:()=>{o($e(k,"outlook",Ze()))},onConnectHubSpot:(r,f)=>{const p=s.externalConnections?.revenue?.find((O=>O.connectionName==="hubspot"))?.connectionId;if(p==null)return;const v=`${window.location.origin}/oauth/hubspot/callback`;sessionStorage.setItem("hubspot_oauth_pending",JSON.stringify({client_id:r,client_secret:f,connection_id:p,redirect_uri:v,tenant_id:k})),window.location.href=`https://app.hubspot.com/oauth/authorize?client_id=${encodeURIComponent(r)}&scope=${encodeURIComponent("oauth crm.objects.deals.read crm.objects.owners.read")}&redirect_uri=${encodeURIComponent(v)}`},onDisconnect:(r,f)=>{o(qt(k,r,ge(f)))},onNotifyMe:r=>{R.trackIntegrationsNotifyMeClicked("Onboarding",r),o(Kt(he,r,u))},onReconnectQBO:()=>{oe.init("/onboarding/auth",t),oe.handleClick()},onRefreshClick:()=>{s.integrations.refreshQBO.fetchState!=="In-Progress"&&o(Qt())},onSaveChargeBeeCredentials:(r,f)=>{const p=s.externalConnections?.revenue?.find((v=>v.connectionName==="chargebee"))?.connectionId;p!=null&&o(Gt(k,p,ge("revenue"),zt("chargebee"),{api_key:r,site:f}))},onSaveConnectorCredentials:r=>{o($t(k,ge("payments"),r))},plaidAccounts:c,onAddPlaidAccount:y,plaidConnectionDetails:S})),[T,s,n,_,l,k,u,t,o,c,y,S])};function Ze(){const t=new URL(window.location.href);return t.searchParams.set("onboarding_step","connect_data_source"),t.toString()}function We(t,u,i){let o=`/${t}/onboarding/address`;return o=i!=null?o.concat(`/edit/${u}/${encodeURIComponent(i)}`):o.concat(`/new/${u}`),o}const Je=Ee.div`
|
|
27
27
|
display: flex;
|
|
28
28
|
height: 100vh;
|
|
29
29
|
background-color: ${t=>t.theme.colors.grey4};
|
|
30
|
-
`,Xe=et((function(t,u){const{companyId:i,currentTenant:o}=u,l=Te(t,i),c=it(t);return{hasVerifiedBankAccount:(l.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(c.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:le(o?.userRole??[])&&l.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:
|
|
30
|
+
`,Xe=et((function(t,u){const{companyId:i,currentTenant:o}=u,l=Te(t,i),c=it(t);return{hasVerifiedBankAccount:(l.paymentAccount?.providerVerificationStatus?.code?.includes("verified")??!1)||(c.bankAccountsList[0]?.providerVerificationStatus?.code?.includes("verified")??!1),isDisabled:le(o?.userRole??[])&&l.updateStatus.fetchState!=="In-Progress"?void 0:"readonly",signedInUser:N.getSignedInUser(),currentTenant:o,meetingUrl:"https://meetings.hubspot.com/niharn/zeni-onboarding-overview?embed=true"}}),(function(t,u){const{currentTenant:i,themeState:o,navigate:l,location:c}=u,{tenantEmailDomain:y}=i;return{onZeniLogoClick:()=>{o.toggle()},handleLogOutClick:()=>{const S=Q(c.state?.pathnameStackToGoBack,c.pathname);l("/signout",{replace:!0,state:{pathnameStackToGoBack:S,message:"logout"}})},handleCockpitClick:()=>{window.open("/cockpit")},handleReferralsClick:()=>{l(`/${y}/rewards`)},handleUpdatePaymentAddressDetailClick:()=>{const S=Q(c.state?.pathnameStackToGoBack,c.pathname);l(`/${y}/onboarding/billing/edit`,{state:{pathnameStackToGoBack:S,message:"UpdatePaymentAddressDetail"}})}}}))(Tt),En=()=>{const t=be(),u=ne(),i=ke(),o=tt(),{useFeatureGate:l}=_e(),{isFeatureEnabled:c}=l(H.isDebitCardFeatureEnabled),{tenantEmailDomain:y}=Ie(),S=nt(),[e,n]=d.useState(!1);d.useEffect((()=>{e===!1&&i.state?.message==="OnboardingThankyou"&&n(!0)}),[i.state]);const s=I((p=>W(p))),C=s.productSettings.isOtherProductsEnabled;d.useEffect((()=>{u(rt(_,!1,!C))}),[]);const _=s.companyId??N.getSignedInUserTenant(y)?.companyId;if(S.loggedInUser==null)throw Error("Can't access onboarding flow without signing in...");const k=ve(c,s),T=Oe(s),r=I((p=>p.onboardingCustomerViewState.updateStatus.fetchState)),f=s.company?.companyOnboardingInfo.isOnboardingCompleted;if(f!==!0||C)return r==="Completed"&&f===!0&&C&&S?.loggedInUserRoleMap!=null?a.jsxs(Je,{children:[a.jsx(ae,{analytics:R,onLoad:p=>{p.trackPageLoaded(de.Event.onboardingLandingPage,"Onboarding",Cn(s.productSettings))}}),a.jsx(Xe,{navigate:t,showUpdatePaymentDetailButton:C,location:i,companyId:_,currentTenant:s,themeState:o,isVisitingFirstTime:e})]}):r==="Completed"&&f===!1&&S?.loggedInUserRoleMap!=null?a.jsxs(Je,{children:[a.jsx(ae,{analytics:R,onLoad:p=>{p.trackPageLoaded(de.Event.onboardingInterimPage)}}),a.jsx(Xe,{navigate:t,showUpdatePaymentDetailButton:C,location:i,companyId:_,currentTenant:s,themeState:o,isVisitingFirstTime:e})]}):a.jsx(Ot,{});{const p={pathnameStackToGoBack:i.state?.pathnameStackToGoBack,message:"activation"};return k?a.jsx(U,{to:"../../checking",state:p,replace:!0}):T?a.jsx(U,{to:"../../cards",state:p,replace:!0}):a.jsx(U,{to:"../../dashboard",state:p,replace:!0})}};function ea(){return a.jsxs(Ct,{children:[a.jsx(q,{path:"/",element:a.jsx(ce,{})}),a.jsx(q,{path:"/billing/edit",element:a.jsx(ce,{taxCFOCustomer:!0})}),a.jsx(q,{path:"/thankyou",element:a.jsx(En,{})}),a.jsx(q,{path:"/activation",element:a.jsx(On,{})}),a.jsx(q,{path:"/address/edit/:addressType/:addressId",element:a.jsx(ce,{isOnAddressPage:!0,appContent:a.jsx(Ve,{})})}),a.jsx(q,{path:"/address/new/:addressType",element:a.jsx(ce,{isOnAddressPage:!0,appContent:a.jsx(Ve,{})})}),a.jsx(q,{path:"*",element:a.jsx(ht,{})})]})}export{ea as default};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import{j as d}from"./liveblocks-tpE-grBU.js";import{i as K,j as _,g as H,u as $,h as W,n as ee,k as ra,o as bt,p as O}from"./core-0WK0Zss8.js";import{eX as U,Np as We,bE as ia,bo as De,OD as wn,j2 as On,OE as Kt,OF as Fn,j5 as Ct,OG as Ze,OH as Rn,ja as Bn,OI as qt,OJ as jn,je as kt,OK as Qe,OL as Mn,cp as yt,OM as Ln,ON as Un,NJ as Gn,k6 as Yn,OO as Vn,bn as Xe,OP as ca,Nd as ce,bc as la,kk as da,ok as ua,k3 as ma,Nf as le,Ne as J,eW as pa,fs as Nn,g3 as _t,OQ as $n,OR as zn,OS as ha,OT as Oe,vW as Me,vX as Le,wi as xe,wc as de,v$ as Ue,OU as Kn,OV as qn,OW as Zn,OX as fa,OY as Fe,OZ as Qn,dK as Je,sd as ga,O_ as Hn,O$ as Wn,P0 as Xn,P1 as vt,Mv as At,kA as Pe,wq as It,sl as Jn,P2 as eo,vY as Zt,sg as Ee,sc as ba,P3 as ge,P4 as to,P5 as Et,Mu as Tt,ul as Ca,P6 as ao,P7 as no,P8 as oo,P9 as Dt,uB as so,Pa as ro,v_ as Qt,uk as ka,Pb as be,Pc as io,bs as _a,wu as Sa,Pd as co,Pe as lo,Pf as uo,Pg as xt,wp as mo,Ph as po,vZ as Ht,wt as ya,Pi as Ce,Pj as ho,Pk as fo,Pl as va,kp as Aa,oh as Ia,ku as Ea,of as Ta,oe as Da,od as xa,tJ as go,Pm as bo,cT as Co,cU as ko,oa as _o,fS as So,or as yo,GH as dt,Gz as vo,GD as Ao,Pn as Io,Po as Eo,Pp as To,b5 as et,fK as Do,hJ as xo,gj as Po,ol as wo,jY as Oo,oi as Fo,og as Ro,fE as Bo,fC as jo}from"./zeni-epic-state-Bx_bp9Xr.js";import{z as M,a4 as te,r as x,d as T,a as q,a_ as Mo,a0 as Ge,D as Ye,a$ as Pa,f as V,b0 as Lo,T as _e,b1 as wa,C as Se,G as B,y as Uo,b2 as Go,b3 as Yo,Z as Oa,m as Fa,c as Ra,$ as Vo,b4 as No,X as $o,aS as Ba,a1 as se,b5 as ja,b6 as Ma,a3 as La,b7 as zo,b8 as Ko,R as qo,ar as Zo,q as Qo,_ as Ho,b9 as Wo,ba as Xo,bb as Jo,bc as es,bd as ke}from"./index-Dy73EgcO.js";import{n as Pt}from"./mui-NHWzIwJg.js";import{a as b}from"./sentry-D58SEIt0.js";import{w as Ua}from"./withTransactionSidePanel-BsJ58rSa.js";import{c as Ga,t as we,f as ue,a as wt,v as ts}from"./routePaths-YBRbNv0i.js";import{u as ae}from"./useAskAiCfoHostNavButtonProps-Dx1w_2sk.js";import je from"./NotFoundScreen-BUpSeNgf.js";import{u as Ot}from"./useInitialThreadRequest-B7WOjZ27.js";import{t as Ya}from"./analyticsHelper-C8vUB4gm.js";import{C as as}from"./CompanyPassportScreen-wSnqdrZm.js";import{u as ns}from"./useAiCfoDashboardSuggestedQuestionsChips-B3JxpD0o.js";import{F as os}from"./FeaturePreviewScreen-CS0na0Uv.js";import{R as ss}from"./ReferralListScreen-Bg4MIsqb.js";import"./recharts-CUzwcISX.js";import"./analytics-1WMvk5Rb.js";import"./plaid-59NT4aqa.js";import"./dnd-Dwsdp5ty.js";import"./stripe-cKAAJElX.js";import"./lottie-dQMhiLBj.js";import"./lexical-B9WqgH9H.js";import"./pdf-C4fX1mA3.js";import"./utils-CHGPa257.js";import"./TransactionDetailScreen-CRWTcneH.js";import"./decodeURIComponentSafe-DYdex7Fp.js";import"./MobileAppDrawer-By5kqJZy.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]="e7a714b8-06f2-49e1-9888-b909c63674b7",e._sentryDebugIdIdentifier="sentry-dbid-e7a714b8-06f2-49e1-9888-b909c63674b7")}catch{}})();const rs=Ua((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=_((I=>I.tenantState.currentTenantId)),c=_((I=>U(I))),{tenantEmailDomain:m}=K(),g=H(),C=c?.companyName??"",u={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},l=b.useMemo((()=>({authParams:u,companyName:C,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()})),[]),h=b.useMemo((()=>r!=null?ia(r):De()),[r]),p=$(),f=W(),S=_((I=>wn(I,h,o))),E=b.useCallback((()=>{o!=null&&S.fetchState!=="In-Progress"&&S.fetchState!=="Completed"&&p(On(o,h))}),[h]),v=b.useCallback((()=>{f("../../",{relative:"path"})}),[]),k=b.useCallback(((I,L)=>{p(Kt({sortKey:I,sortOrder:L}))}),[]),D=b.useCallback((I=>{p(Kt({downloadState:I}))}),[]),P=b.useCallback((I=>{if(e)e(I.transactionId,I.transactionType);else if(m!=null){const L=Ga({id:I.transactionId,type:I.transactionType},m);f(L);const ne=x(g.state?.pathnameStackToGoBack,g.pathname);f(L,{state:{pathnameStackToGoBack:ne}})}}),[m,e]),y=b.useCallback((()=>{S.vendor!=null&&T.trackApAgingDetail("AP Aging",h.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),S.vendor.id,S.vendor.name)}),[S.vendor,h]);return b.useEffect((()=>{E()}),[]),b.useEffect((()=>{S.fetchState==="Completed"&&y()}),[y,S.fetchState]),d.jsx(Mo,{apAgingDetail:S,downloadParams:l,reportDate:h,analytics:T,onTransactionClick:P,onReload:E,onBackClick:v,onColumnSortConfigChanged:k,updateDownloadStateHandler:D,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),is=()=>{const e=$(),a=W(),t=_((k=>Fn(k))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AP Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=_((k=>k.tenantState.currentTenantId)),i=_((k=>U(k))),c=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},g=b.useMemo((()=>({authParams:m,companyName:c,downloadEndPoint:`${te}/agingReport`,timezone:We()})),[]),C=t.apAgingUIState.selectedDate??De(),u=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(Ct(C))}),[]);b.useEffect((()=>{u()}),[]);const l=b.useCallback((()=>{a("../",{relative:"path"})}),[]),h=b.useCallback((k=>{e(Ze({searchString:k}))}),[]),p=b.useCallback(((k,D)=>{e(Ze({sortKey:D,sortOrder:k}))}),[]),f=b.useCallback((k=>{a(`./${k}/${C.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[C]),S=b.useCallback((k=>{e(Ze({downloadState:k}))}),[]),E=b.useCallback(((k,D)=>{}),[]),v=b.useCallback(((k,D)=>{e(Ze({selectedDate:k,agingDateSelectionType:D})),e(Ct(k))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:k=>k.trackPageLoaded(V.Event.agingReport,"AP Aging")}):null,d.jsx(Pa,{uiState:t.apAgingUIState,report:t,downloadParams:g,analytics:T,onReloadReport:u,onBackClick:l,onSearchTextChange:h,onSortOrderChange:p,onEntityNameClick:f,updateDownloadStateHandler:S,onSelectedDateChanged:v,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},cs=Ua((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=_((y=>U(y))),{tenantEmailDomain:c}=K(),m=H(),g=i.companyName,C={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},u=b.useMemo((()=>({authParams:C,companyName:g,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()})),[]),l=b.useMemo((()=>r!=null?ia(r):De()),[r]),h=$(),p=W(),f=_((y=>Rn(y,l,o))),S=b.useCallback((()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&h(Bn(o,l))}),[l]),E=b.useCallback((()=>{p("../../",{relative:"path"})}),[]),v=b.useCallback(((y,I)=>{h(qt({sortKey:y,sortOrder:I}))}),[]),k=b.useCallback((y=>{h(qt({downloadState:y}))}),[]),D=b.useCallback((y=>{if(e)e(y.transactionId,y.transactionType);else if(c!=null){const I=Ga({id:y.transactionId,type:y.transactionType},c);p(I);const L=x(m.state?.pathnameStackToGoBack,m.pathname);p(I,{state:{pathnameStackToGoBack:L}})}}),[c,e]),P=b.useCallback((()=>{f.customer!=null&&T.trackArAgingDetail("AR Aging",l.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.customer.id,f.customer.name)}),[f.customer,l]);return b.useEffect((()=>{S()}),[]),b.useEffect((()=>{f.fetchState==="Completed"&&P()}),[f.fetchState,P]),d.jsx(Lo,{arAgingDetail:f,downloadParams:u,reportDate:l,analytics:T,onTransactionClick:D,onReload:S,onBackClick:E,onColumnSortConfigChanged:v,updateDownloadStateHandler:k,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),ls=()=>{const e=$(),a=W(),t=_((v=>jn(v))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AR Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=_((v=>U(v))),i=s.companyName,c={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo((()=>({authParams:c,companyName:i,downloadEndPoint:`${te}/agingReport`,timezone:We()})),[]),g=t.arAgingUIState.selectedDate??De(),C=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(kt(g))}),[]);b.useEffect((()=>{C()}),[]);const u=b.useCallback((()=>{a("../",{relative:"path"})}),[]),l=b.useCallback((v=>{e(Qe({searchString:v}))}),[]),h=b.useCallback(((v,k)=>{e(Qe({sortKey:k,sortOrder:v}))}),[]),p=b.useCallback((v=>{a(`./${v}/${g.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[g]),f=b.useCallback((v=>{e(Qe({downloadState:v}))}),[]),S=b.useCallback(((v,k)=>{e(Qe({selectedDate:v,agingDateSelectionType:k})),e(kt(v))}),[]),E=b.useCallback(((v,k)=>{e(Mn({nodeId:v,isCollapsed:k}))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ye,{analytics:T,onLoad:v=>v.trackPageLoaded(V.Event.agingReport,"AR Aging")}):null,d.jsx(Pa,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:T,onReloadReport:C,onBackClick:u,onSearchTextChange:l,onSortOrderChange:h,onEntityNameClick:p,updateDownloadStateHandler:f,onSelectedDateChanged:S,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Va=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function Na(e,a){const t=Gn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=we(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Yn(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?T.trackZeniAccountsCashBalancePromoClicked("Move Money"):(T.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else T.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const ds=ee((function(e){const a=Ln(e).accountsInOrder.map(((n,o)=>Va(n,o))),t=Un(e);return{sectionTitle:q.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:T}}),Na)(wa),us=ee((function(e){const a=Vn(e).accountsInOrder.map(((o,r)=>Va(o,r))),t=M.getSignedInUser(),n=Xe(t);return{sectionTitle:q.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:T}}),Na)(wa);function ms(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=_e(),o=_((s=>U(s).company?.companyInfo.firstMonthOfFY??1)),r=yt(n?.loggedInUserRoleMap);return _((s=>s.cashBalanceState.fetchState))==="Error"?d.jsx(je,{}):d.jsx(ds,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function ps(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=_e(),o=yt(n?.loggedInUserRoleMap),r=_((s=>U(s).company?.companyInfo.firstMonthOfFY??1));return _((s=>s.cardBalanceState.fetchState))==="Error"?d.jsx(je,{}):d.jsx(us,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const hs=Pt.div`
|
|
1
|
+
import{j as d}from"./liveblocks-s55OcG-D.js";import{i as K,j as _,g as H,u as $,h as W,n as ee,k as ra,o as bt,p as O,N as Pn}from"./core-CnGMK-sC.js";import{eV as U,Nn as We,bE as ia,bo as xe,OB as On,j1 as Fn,OC as Kt,OD as Rn,j4 as Ct,OE as Ze,OF as Bn,j9 as jn,OG as qt,OH as Mn,jd as kt,OI as Qe,OJ as Ln,cp as yt,OK as Un,OL as Gn,NH as Vn,k5 as Nn,OM as Yn,bn as Xe,ON as ca,Nb as ce,bc as la,kj as da,oj as ua,k2 as ma,Nd as le,Nc as J,eU as pa,fq as $n,g1 as _t,OO as zn,OP as Kn,OQ as ha,OR as Oe,vU as Me,vV as Le,wg as we,wa as de,vZ as Ue,OS as qn,OT as Zn,OU as Qn,OV as fa,OW as Fe,OX as Hn,dH as Je,sc as ga,OY as Wn,OZ as Xn,O_ as Jn,O$ as vt,Mt as At,kz as De,wo as It,sk as eo,P0 as to,vW as Zt,sf as Ee,sb as ba,P1 as ge,P2 as ao,P3 as Et,Ms as Tt,uj as Ca,P4 as no,P5 as oo,P6 as so,P7 as xt,uz as ro,P8 as io,vY as Qt,ui as ka,P9 as be,Pa as co,bs as _a,ws as Sa,Pb as lo,Pc as uo,Pd as mo,Pe as wt,wn as po,Pf as ho,vX as Ht,wr as ya,Pg as Ce,Ph as fo,Pi as go,Pj as va,ko as Aa,og as Ia,kt as Ea,oe as Ta,od as xa,oc as wa,tH as bo,Pk as Co,cT as ko,cU as _o,o9 as So,fQ as yo,oq as vo,GF as dt,Gx as Ao,GB as Io,Pl as Eo,Pm as To,Pn as xo,b5 as et,fI as wo,hJ as Do,gj as Po,ok as Oo,jX as Fo,oh as Ro,of as Bo,fC as jo,fA as Mo}from"./zeni-epic-state-NrbJoBOX.js";import{z as M,a4 as te,v as w,d as T,a as q,a_ as Lo,a0 as Ge,x as Ve,a$ as Da,f as N,b0 as Uo,T as _e,b1 as Pa,C as Se,G as B,y as Go,b2 as Vo,b3 as No,Z as Oa,m as Fa,c as Ra,$ as Yo,b4 as $o,W as zo,aS as Ba,a1 as se,b5 as ja,b6 as Ma,a3 as La,b7 as Ko,b8 as qo,E as Zo,ar as Qo,r as Ho,_ as Wo,b9 as Xo,ba as Jo,bb as es,bc as ts,bd as ke}from"./index-D7tfVykC.js";import{n as Dt}from"./mui-CggbPNN2.js";import{a as b}from"./sentry-qwy54zvC.js";import{w as Ua}from"./withTransactionSidePanel-ZQvLeKiY.js";import{c as Ga,t as Pe,f as ue,a as Pt,v as as}from"./routePaths-CVAI7AUa.js";import{u as ae}from"./useAskAiCfoHostNavButtonProps-Bl-nKTXG.js";import je from"./NotFoundScreen-wlhddpbg.js";import{u as Ot}from"./useInitialThreadRequest-CXnpfTcs.js";import{t as Va}from"./analyticsHelper-CbsMOq15.js";import{C as ns}from"./CompanyPassportScreen-COm4H_kf.js";import{u as os}from"./useAiCfoDashboardSuggestedQuestionsChips-DwtRgARG.js";import{F as ss}from"./FeaturePreviewScreen-Di3PuVRR.js";import"./recharts-CmLekiCG.js";import"./analytics-DhULAPA0.js";import"./plaid-d_bwfWrk.js";import"./dnd-BqCGp7Ed.js";import"./stripe-cKAAJElX.js";import"./lottie-DMKCl4ti.js";import"./lexical-DlqthnSG.js";import"./pdf-BD0zxvar.js";import"./utils-5Fz6z6US.js";import"./TransactionDetailScreen-DRzSksYw.js";import"./decodeURIComponentSafe-uWfgYCNH.js";import"./MobileAppDrawer-NdU6zrS3.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]="282d2b8d-6d1f-4ea4-a752-f0c17210e741",e._sentryDebugIdIdentifier="sentry-dbid-282d2b8d-6d1f-4ea4-a752-f0c17210e741")}catch{}})();const rs=Ua((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{vendorId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=_((I=>I.tenantState.currentTenantId)),c=_((I=>U(I))),{tenantEmailDomain:m}=K(),g=H(),C=c?.companyName??"",u={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i??""},l=b.useMemo((()=>({authParams:u,companyName:C,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()})),[]),h=b.useMemo((()=>r!=null?ia(r):xe()),[r]),p=$(),f=W(),S=_((I=>On(I,h,o))),E=b.useCallback((()=>{o!=null&&S.fetchState!=="In-Progress"&&S.fetchState!=="Completed"&&p(Fn(o,h))}),[h]),v=b.useCallback((()=>{f("../../",{relative:"path"})}),[]),k=b.useCallback(((I,L)=>{p(Kt({sortKey:I,sortOrder:L}))}),[]),x=b.useCallback((I=>{p(Kt({downloadState:I}))}),[]),D=b.useCallback((I=>{if(e)e(I.transactionId,I.transactionType);else if(m!=null){const L=Ga({id:I.transactionId,type:I.transactionType},m);f(L);const ne=w(g.state?.pathnameStackToGoBack,g.pathname);f(L,{state:{pathnameStackToGoBack:ne}})}}),[m,e]),y=b.useCallback((()=>{S.vendor!=null&&T.trackApAgingDetail("AP Aging",h.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),S.vendor.id,S.vendor.name)}),[S.vendor,h]);return b.useEffect((()=>{E()}),[]),b.useEffect((()=>{S.fetchState==="Completed"&&y()}),[y,S.fetchState]),d.jsx(Lo,{apAgingDetail:S,downloadParams:l,reportDate:h,analytics:T,onTransactionClick:D,onReload:E,onBackClick:v,onColumnSortConfigChanged:k,updateDownloadStateHandler:x,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),is=()=>{const e=$(),a=W(),t=_((k=>Rn(k))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AP Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=_((k=>k.tenantState.currentTenantId)),i=_((k=>U(k))),c=i?.companyName??"",m={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s??""},g=b.useMemo((()=>({authParams:m,companyName:c,downloadEndPoint:`${te}/agingReport`,timezone:We()})),[]),C=t.apAgingUIState.selectedDate??xe(),u=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(Ct(C))}),[]);b.useEffect((()=>{u()}),[]);const l=b.useCallback((()=>{a("../",{relative:"path"})}),[]),h=b.useCallback((k=>{e(Ze({searchString:k}))}),[]),p=b.useCallback(((k,x)=>{e(Ze({sortKey:x,sortOrder:k}))}),[]),f=b.useCallback((k=>{a(`./${k}/${C.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[C]),S=b.useCallback((k=>{e(Ze({downloadState:k}))}),[]),E=b.useCallback(((k,x)=>{}),[]),v=b.useCallback(((k,x)=>{e(Ze({selectedDate:k,agingDateSelectionType:x})),e(Ct(k))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ve,{analytics:T,onLoad:k=>k.trackPageLoaded(N.Event.agingReport,"AP Aging")}):null,d.jsx(Da,{uiState:t.apAgingUIState,report:t,downloadParams:g,analytics:T,onReloadReport:u,onBackClick:l,onSearchTextChange:h,onSortOrderChange:p,onEntityNameClick:f,updateDownloadStateHandler:S,onSelectedDateChanged:v,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},cs=Ua((function({openTransactionPanel:e,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n}){const{customerId:o,reportDate:r}=K(),s=M.getSignedInUser(),i=_((y=>U(y))),{tenantEmailDomain:c}=K(),m=H(),g=i.companyName,C={userId:s?.userId??"",sessionId:s?.zeniSessionId??"",tenantId:i.tenantId},u=b.useMemo((()=>({authParams:C,companyName:g,downloadEndPoint:`${te}/agingDetailedReport`,timezone:We()})),[]),l=b.useMemo((()=>r!=null?ia(r):xe()),[r]),h=$(),p=W(),f=_((y=>Bn(y,l,o))),S=b.useCallback((()=>{o!=null&&f.fetchState!=="In-Progress"&&f.fetchState!=="Completed"&&h(jn(o,l))}),[l]),E=b.useCallback((()=>{p("../../",{relative:"path"})}),[]),v=b.useCallback(((y,I)=>{h(qt({sortKey:y,sortOrder:I}))}),[]),k=b.useCallback((y=>{h(qt({downloadState:y}))}),[]),x=b.useCallback((y=>{if(e)e(y.transactionId,y.transactionType);else if(c!=null){const I=Ga({id:y.transactionId,type:y.transactionType},c);p(I);const L=w(m.state?.pathnameStackToGoBack,m.pathname);p(I,{state:{pathnameStackToGoBack:L}})}}),[c,e]),D=b.useCallback((()=>{f.customer!=null&&T.trackArAgingDetail("AR Aging",l.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat),f.customer.id,f.customer.name)}),[f.customer,l]);return b.useEffect((()=>{S()}),[]),b.useEffect((()=>{f.fetchState==="Completed"&&D()}),[f.fetchState,D]),d.jsx(Uo,{arAgingDetail:f,downloadParams:u,reportDate:l,analytics:T,onTransactionClick:x,onReload:S,onBackClick:E,onColumnSortConfigChanged:v,updateDownloadStateHandler:k,panelContent:a,sidePanelIsOpen:t,sidePanelIsFullView:n})})),ls=()=>{const e=$(),a=W(),t=_((v=>Mn(v))),{isAiCfoAccessEnabled:n,onAskAiCfoClick:o}=ae({mobileExploreReferrer:"AR Aging"});Ge({isDataReady:t.fetchState==="Completed"});const r=M.getSignedInUser(),s=_((v=>U(v))),i=s.companyName,c={userId:r?.userId??"",sessionId:r?.zeniSessionId??"",tenantId:s.tenantId},m=b.useMemo((()=>({authParams:c,companyName:i,downloadEndPoint:`${te}/agingReport`,timezone:We()})),[]),g=t.arAgingUIState.selectedDate??xe(),C=b.useCallback((()=>{t.fetchState!=="In-Progress"&&t.fetchState!=="Completed"&&e(kt(g))}),[]);b.useEffect((()=>{C()}),[]);const u=b.useCallback((()=>{a("../",{relative:"path"})}),[]),l=b.useCallback((v=>{e(Qe({searchString:v}))}),[]),h=b.useCallback(((v,k)=>{e(Qe({sortKey:k,sortOrder:v}))}),[]),p=b.useCallback((v=>{a(`./${v}/${g.format(q.getLocalizedStrings().dateFormat.analytics.YYYYDashMMDashDDFormat)}`)}),[g]),f=b.useCallback((v=>{e(Qe({downloadState:v}))}),[]),S=b.useCallback(((v,k)=>{e(Qe({selectedDate:v,agingDateSelectionType:k})),e(kt(v))}),[]),E=b.useCallback(((v,k)=>{e(Ln({nodeId:v,isCollapsed:k}))}),[]);return d.jsxs(d.Fragment,{children:[t.fetchState==="Completed"?d.jsx(Ve,{analytics:T,onLoad:v=>v.trackPageLoaded(N.Event.agingReport,"AR Aging")}):null,d.jsx(Da,{uiState:t.arAgingUIState,report:t,downloadParams:m,analytics:T,onReloadReport:C,onBackClick:u,onSearchTextChange:l,onSortOrderChange:h,onEntityNameClick:p,updateDownloadStateHandler:f,onSelectedDateChanged:S,onNodeCollapseToggled:E,isAiCfoAccessEnabled:n,onAskAiCfoClick:o})]})},Na=(e,a)=>({key:a,title:e.accountName,amount:e.balance?.available,logoUri:e.logo?.toString(),source:e});function Ya(e,a){const t=Vn(a.firstMonthOfFY);return{onItemClick:(n,o)=>{const r=o.accountName===""?o.accountDescription:o.accountName,s=Pe(a.tenantEmailDomain,o.accountId,o.accountType,r,"quarter",t,!1),i=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(s,{state:{pathnameStackToGoBack:i,referrer:a.referrerType}})},onSetAccountsStatementDate:(n,o)=>{e(Nn(n,o))},onPromoCardBtnClick:n=>{if(a.isZeniAccountsAdmin){let o=`../../checking/${n}`;n?T.trackZeniAccountsCashBalancePromoClicked("Move Money"):(T.trackZeniAccountsCashBalancePromoClicked("Sign Up for Free"),o="../../checking/promo");const r=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(o,{state:{pathnameStackToGoBack:r}})}else T.trackZeniAccountsCashBalancePromoClicked("Learn More"),window.open("https://www.zeni.ai/product/business-checking-accounts","_blank")}}}const ds=ee((function(e){const a=Un(e).accountsInOrder.map(((n,o)=>Na(n,o))),t=Gn(e);return{sectionTitle:q.getLocalizedStrings().balanceCard.cashBalanceSectionTitle,transactionArray:a,zeniAccountsPromoCardReport:t,fetchState:e.cashBalanceState.fetchState,analytics:T}}),Ya)(Pa),us=ee((function(e){const a=Yn(e).accountsInOrder.map(((o,r)=>Na(o,r))),t=M.getSignedInUser(),n=Xe(t);return{sectionTitle:q.getLocalizedStrings().balanceCard.cardBalanceSectionTitle,transactionArray:a,isZeniUser:n,fetchState:e.cardBalanceState.fetchState,analytics:T}}),Ya)(Pa);function ms(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=_e(),o=_((s=>U(s).company?.companyInfo.firstMonthOfFY??1)),r=yt(n?.loggedInUserRoleMap);return _((s=>s.cashBalanceState.fetchState))==="Error"?d.jsx(je,{}):d.jsx(ds,{tenantEmailDomain:t,location:a,referrerType:"Cash Balance",navigate:e,isZeniAccountsAdmin:r,firstMonthOfFY:o})}function ps(){const e=W(),a=H(),{tenantEmailDomain:t}=K(),n=_e(),o=yt(n?.loggedInUserRoleMap),r=_((s=>U(s).company?.companyInfo.firstMonthOfFY??1));return _((s=>s.cardBalanceState.fetchState))==="Error"?d.jsx(je,{}):d.jsx(us,{tenantEmailDomain:t,location:a,referrerType:"Card Balance",navigate:e,isZeniAccountsAdmin:o,firstMonthOfFY:r})}const hs=Dt.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex: 1 1 auto;
|
|
4
4
|
min-height: 100%;
|
|
5
5
|
flex-direction: column;
|
|
6
6
|
background-color: ${e=>e.theme.colors.grey4};
|
|
7
|
-
`,fs=
|
|
7
|
+
`,fs=Dt.div`
|
|
8
8
|
display: flex;
|
|
9
9
|
flex: 1 1 auto;
|
|
10
10
|
flex-direction: column;
|
|
11
11
|
align-items: center;
|
|
12
12
|
background-color: ${e=>e.theme.colors.grey4};
|
|
13
|
-
`;function gs({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=W(),i=$(),c=H(),{tenantEmailDomain:m}=K(),g=Uo();return d.jsxs(hs,{children:[d.jsx(Go,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:g.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:C=>{C.trim().length>=2?i(le({searchString:C,searchOrigin:"navbar"})):C.trim().length===0&&i(J("navbar"))},onAutoCompleteEntity:C=>{n!=null&&T?.trackSearch(V.Event.search,bs(a),C.type,C.name,n);const u=ue(C,m),l=x(c.state?.pathnameStackToGoBack,c.pathname);s(u,{state:{pathnameStackToGoBack:l}})}}},rightSideComponent:d.jsx(Yo,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r})}),d.jsx(fs,{children:a==="cash_balance"?d.jsx(ms,{}):d.jsx(ps,{})})]})}function Wt(){const e=H(),a=$(),{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(B.isDepositAccountsFeatureEnabled),o=_((p=>p.cashBalanceState.fetchState)),r=_((p=>p.cardBalanceState.fetchState)),s=M.getSignedInUser();if(s==null)throw Error("Can't access dashboard detail without signing in...");const i=ca((p=>{const f=la(p,"/").split("/");return f[f.length-1]})(e.pathname));let c="Not-Started",m="";const g=q.getLocalizedStrings();switch(i){case"cash_balance":c=o,m=g.reportTitleById.cash_balance;break;case"card_balance":c=r,m=g.reportTitleById.card_balance;break;default:console.error(`${i} is not supported!`)}const{isAiCfoAccessEnabled:C,onAskAiCfoClick:u}=ae({mobileExploreReferrer:i==="card_balance"?"Card Balance":"Cash Balance"});Ge({isDataReady:c==="Completed"});const l=_((p=>p.entityAutoCompleteState.autoCompleteText.navbar)),h=_((p=>ce(p,"navbar")));return b.useEffect((()=>{c==="Not-Started"&&(function(p,f,S){switch(f){case"card_balance":p(ma());break;case"cash_balance":p(da()),S===!0&&p(ua());break;default:throw new Error(`balance report type ${f} is not yet supported`)}})(a,i,n)}),[s,a,c]),d.jsxs(d.Fragment,{children:[c==="Completed"?d.jsx(Ye,{analytics:T,onLoad:p=>((f,S)=>{switch(S){case"card_balance":f.trackPageLoaded(V.Event.cardBalance);break;case"cash_balance":f.trackPageLoaded(V.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${S}!`)}})(p,i)}):null,d.jsx(gs,{title:m,reportId:i,autoCompleteText:l,entityAutoCompleteView:h,isAiCfoAccessEnabled:C,onAskAiCfoClick:u})]})}const bs=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},Cs=[];function Ve(e){const{mobileExploreReferrer:a}=e,t=$(),n=W(),o=H(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Oa(),c=Fa(),m=La(c),g=ra(),C=_((F=>F.tenantState.fetchState==="Completed"||F.tenantState.activeTenantFetchState.fetchState==="Completed"?U(F):void 0)),u=C?.masterTOSInfo?.isMasterTOSAccepted??!1,l=_((F=>pa(F))),h=l.uiState?.currentChatSessionId,p=l.allSessionsWithOrderedQuestionAnswers??Cs,f=M.getSignedInUser()?.userId,S=Ra(),E=Vo()&&S&&r!=null,v=No(),k=$o(!0),D=_((F=>v!=null?Nn(F,v):void 0)),{useDynamicConfig:P}=Se(),{configValue:y}=P(Ba.aiCfoMessageDynamicConfig),I=b.useMemo((()=>Array.isArray(y.default_message_list)?y.default_message_list:[]),[y.default_message_list]),L=b.useMemo((()=>I.slice(0,2)),[I]),ne=v!=null&&D!=null&&D.fetchState!=="Completed"&&D.fetchState!=="Error"&&(k||D.fetchState==="In-Progress"),$e=b.useMemo((()=>{if(v==null||D?.fetchState==="Error")return L;if(ne)return[];const F=(D?.suggestedQuestions??[]).map((oe=>oe.trim())).filter((oe=>oe.length>0)).slice(0,2);return F.length===0?L:F}),[L,ne,v,D?.fetchState,D?.suggestedQuestions]),me=b.useCallback(((F,oe)=>{if(f==null||F.trim()==="")return;if(!u)return void se({location:o,navigate:n,mergeState:{referrer:a}});const Ke=ja(g.getState());if(m){const qe=x(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:qe,referrer:a,aiCfoInitialQuestion:F,aiCfoShouldSubmit:!Ke}})}else{if(Ke)return t(_t(F)),void s(!0);i(F),s(!0),Ma(t,F,"insights_section",h,p,f,oe,void 0)}}),[p,h,t,u,m,o,a,n,s,i,g,r,f]),ze=b.useCallback((()=>{if(u)if(m){const F=x(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:F,referrer:a}})}else s(!0);else se({location:o,navigate:n,mergeState:{referrer:a}})}),[u,m,o,a,n,s,r]);return b.useMemo((()=>{if(E)return{isSuggestedQuestionsLoading:ne,onAskSomethingElseClick:ze,onSuggestedQuestionClick:me,suggestedQuestions:$e}}),[E,ne,ze,me,$e])}const Ne=zo,ks=ee((function(e){const a=$n(e),t=zn(e),n=ha(e),{scrollPosition:o,...r}=n,s=q.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=M.getSignedInUser(),c=e.tenantState.currentTenantId,m=U(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${te}/statement`,authParams:C},analytics:T,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Kn(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(Oe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(xe("month")),e(de(a.firstMonthOfFY,t)),e(Oe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Oe({resetLeftScroll:!0}))),50)},onElementCollapseStateChanged:(t,n)=>{e(Oe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Oe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))(Ne),_s=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ae({mobileExploreReferrer:"DashboardCashInCashOut"}),s=Ve({mobileExploreReferrer:"DashboardCashInCashOut"}),i=_((c=>ha(c))).mode==="compare_mode";return d.jsx(ks,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},Ss=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},ys=ee((function(e){const a=qn(e),t=Zn(e),n=fa(e),{scrollPosition:o,...r}=n,s=q.getLocalizedStrings().reportTitleById.cash_position,i=M.getSignedInUser(),c=e.tenantState.currentTenantId,m=U(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${te}/statement`,authParams:C},analytics:T,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Qn(t))},onTimeframeSelectionChanged:t=>{e(xe(t)),setTimeout((()=>e(Fe({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(Fe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Fe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Fe({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Ss(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=we(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(Fe({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}}))(Ne),vs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ae({mobileExploreReferrer:"DashboardCashPosition"}),s=Ve({mobileExploreReferrer:"DashboardCashPosition"}),i=_((c=>fa(c))).mode==="compare_mode";return d.jsx(ys,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},N=(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 ut(){return d.jsxs(bt,{children:[d.jsx(O,{path:"/",element:d.jsx(re,{})}),d.jsx(O,{path:"/:forecastId",element:d.jsx(re,{})}),d.jsx(O,{path:"/:forecastId/*",element:d.jsx(je,{})})]})}const As=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Is=ee((function(e){const a=ga(e),t=Hn(e),n=Wn(e),o=Xn(e),r=vt(e),{scrollPosition:s,...i}=r,c=t.reportTitle,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:Pe(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(to(t))},onTimeframeSelectionChanged:t=>{e(xe(t)),setTimeout((()=>e(ge({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(ge({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(ge({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&N(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(ge({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=As(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):we(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(ge({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(ge({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=x(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(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Ft,n)),t==="forecast_mode"?(e(Zt({viewMode:"account_group"})),e(ba(!1,n?.id)),n!=null&&N(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):N(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(ge({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(Zt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(eo({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(Jn())},onResyncReports:()=>{e(It("net_burn_or_income_by_classes"))}}}))(Ne),Es=e=>{const a=$(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),c=Ve({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),m=_((y=>vt(y))),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_((y=>Et(y.forecastState,u??""))),h=_((y=>ga(y))),p=_((y=>Tt(y))),f=_((y=>Pe(y))),S=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect((()=>{if(u!=null&&g===!0&&(N(g,r,u,o),l!=null)){const y=l?.forecastPeriod,I=E!=null&&y.endDate.isAfter(E?.endDate)===!0?E:y;a(de(e.firstMonthOfFY,{startDate:I.endDate.startOf(C),endDate:I?.endDate}))}}),[u]);const v=_e(),{useFeatureGate:k}=Se(),{isFeatureEnabled:D}=k(B.isReportsCommentingEnabled),P=Ot(D?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(Is,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:S,navigate:o,analytics:T,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:P,isReportsCommentingEnabled:D})},Ts=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Ds=ee((function(e){const a=Ca(e),t=ao(e),n=no(e),o=oo(e),r=Dt(e),{scrollPosition:s,...i}=r,c=q.getLocalizedStrings().reportTitleById.operating_expenses,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:Pe(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(io(t))},onTimeframeSelectionChanged:t=>{e(xe(t)),setTimeout((()=>e(be({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(be({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(be({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&N(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(be({resetLeftScroll:!0}))),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=Ts(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):we(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(be({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(be({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=x(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(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Ft,n)),t=="forecast_mode"?(e(Qt({viewMode:"account_group"})),e(ka(!1,n?.id)),n!=null&&N(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):N(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(be({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Qt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(ro({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(so())},onResyncReports:()=>{e(It("operating_expenses_by_classes"))}}}))(Ne),xs=e=>{const a=$(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardOpEx"}),c=Ve({mobileExploreReferrer:"DashboardOpEx"}),m=_((I=>Dt(I))),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_((I=>Et(I.forecastState,u??""))),h=_((I=>Ca(I))),p=_((I=>Tt(I))),f=_((I=>Pe(I))),S=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect((()=>{if(u!=null&&g===!0&&(N(g,r,u,o),l!=null)){const I=l?.forecastPeriod,L=E!=null&&I.endDate.isAfter(E?.endDate)===!0?E:I;a(de(e.firstMonthOfFY,{startDate:L.endDate.startOf(C),endDate:L?.endDate}))}}),[u]);const v=_e(),k=v?.loggedInUserRole!=null&&_a(v?.loggedInUserRole)!==!0,{useFeatureGate:D}=Se(),{isFeatureEnabled:P}=D(B.isReportsCommentingEnabled),y=Ot(P?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(Ds,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:S,navigate:o,forecastIdFromUrlPath:r,analytics:T,hasTransactionAccess:k,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:y,isReportsCommentingEnabled:P})},Ps=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},ws=ee((function(e){const a=Sa(e),t=co(e),n=lo(e),o=uo(e),r=xt(e),{scrollPosition:s,...i}=r,c=q.getLocalizedStrings().reportTitleById.revenue,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:Pe(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(ho(t))},onTimeframeSelectionChanged:t=>{e(xe(t)),setTimeout((()=>e(Ce({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(Ce({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Ce({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&N(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(Ce({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Ps(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?wt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):we(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(Ce({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Ce({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=x(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(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Ft,n)),t==="forecast_mode"?(e(Ht({viewMode:"account_group"})),e(ya(!1,n?.id)),n!=null&&N(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):N(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(Ce({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(Ht({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(po({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(mo())},onResyncReports:()=>{e(It("revenue_by_classes"))}}}))(Ne),Os=e=>{const a=$(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardRevenue"}),c=Ve({mobileExploreReferrer:"DashboardRevenue"}),m=_((y=>xt(y))),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_((y=>Et(y.forecastState,u??""))),h=_((y=>Sa(y))),p=h.dataAvailable,f=m.mode==="compare_mode",S=_((y=>Pe(y))),E=_((y=>Tt(y)));b.useEffect((()=>{if(u!=null&&g===!0&&(N(g,r,u,o),l!=null)){const y=l?.forecastPeriod,I=p!=null&&y.endDate.isAfter(p?.endDate)===!0?p:y;a(de(e.firstMonthOfFY,{startDate:I.endDate.startOf(C),endDate:I?.endDate}))}}),[u]);const v=_e(),{useFeatureGate:k}=Se(),{isFeatureEnabled:D}=k(B.isReportsCommentingEnabled),P=Ot(D?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(ws,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isAccountingClassesEnabled:S,isCompareModeOn:f,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:T,reportsResyncFetchState:E.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:P,isReportsCommentingEnabled:D})},Fs=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}},Rs=ee((function(e){const a=fo(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ce(e,"navbar");return{report:a,analytics:T,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}}),(function(e,a){return{onTimeframeSelectionChanged:t=>{T.trackTimeframeSwitch(Ya(t),"Top Expenses"),e(va(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Fs(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=we(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))(Ko),Bs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Rs,{tenantEmailDomain:a,location:t,navigate:n})},js=Pt.div`
|
|
13
|
+
`;function gs({title:e,reportId:a,entityAutoCompleteView:t,autoCompleteText:n,isAiCfoAccessEnabled:o,onAskAiCfoClick:r}){const s=W(),i=$(),c=H(),{tenantEmailDomain:m}=K(),g=Go();return d.jsxs(hs,{children:[d.jsx(Vo,{source:a==="cash_balance"?"CashBalanceDetailScreen":"CardBalanceDetailScreen",title:e,onBackClick:()=>{s("../")},hideSearchBtn:!0,backgroundColor:g.colors.grey4,searchAutoComplete:{autoCompleteData:{entityAutoCompleteView:t,autoCompleteText:n},autoCompleteActions:{onAutoCompleteInputChange:C=>{C.trim().length>=2?i(le({searchString:C,searchOrigin:"navbar"})):C.trim().length===0&&i(J("navbar"))},onAutoCompleteEntity:C=>{n!=null&&T?.trackSearch(N.Event.search,bs(a),C.type,C.name,n);const u=ue(C,m),l=w(c.state?.pathnameStackToGoBack,c.pathname);s(u,{state:{pathnameStackToGoBack:l}})}}},rightSideComponent:d.jsx(No,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r})}),d.jsx(fs,{children:a==="cash_balance"?d.jsx(ms,{}):d.jsx(ps,{})})]})}function Wt(){const e=H(),a=$(),{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(B.isDepositAccountsFeatureEnabled),o=_((p=>p.cashBalanceState.fetchState)),r=_((p=>p.cardBalanceState.fetchState)),s=M.getSignedInUser();if(s==null)throw Error("Can't access dashboard detail without signing in...");const i=ca((p=>{const f=la(p,"/").split("/");return f[f.length-1]})(e.pathname));let c="Not-Started",m="";const g=q.getLocalizedStrings();switch(i){case"cash_balance":c=o,m=g.reportTitleById.cash_balance;break;case"card_balance":c=r,m=g.reportTitleById.card_balance;break;default:console.error(`${i} is not supported!`)}const{isAiCfoAccessEnabled:C,onAskAiCfoClick:u}=ae({mobileExploreReferrer:i==="card_balance"?"Card Balance":"Cash Balance"});Ge({isDataReady:c==="Completed"});const l=_((p=>p.entityAutoCompleteState.autoCompleteText.navbar)),h=_((p=>ce(p,"navbar")));return b.useEffect((()=>{c==="Not-Started"&&(function(p,f,S){switch(f){case"card_balance":p(ma());break;case"cash_balance":p(da()),S===!0&&p(ua());break;default:throw new Error(`balance report type ${f} is not yet supported`)}})(a,i,n)}),[s,a,c]),d.jsxs(d.Fragment,{children:[c==="Completed"?d.jsx(Ve,{analytics:T,onLoad:p=>((f,S)=>{switch(S){case"card_balance":f.trackPageLoaded(N.Event.cardBalance);break;case"cash_balance":f.trackPageLoaded(N.Event.cashBalance);break;default:console.error(`Analytics: Not tracking Page Loaded for ${S}!`)}})(p,i)}):null,d.jsx(gs,{title:m,reportId:i,autoCompleteText:l,entityAutoCompleteView:h,isAiCfoAccessEnabled:C,onAskAiCfoClick:u})]})}const bs=e=>{switch(e){case"cash_balance":return"Cash Balance";case"card_balance":return"Card Balance";default:return"Dashboard"}},Cs=[];function Ne(e){const{mobileExploreReferrer:a}=e,t=$(),n=W(),o=H(),{tenantEmailDomain:r}=K(),{setIsAiCfoOpen:s,setAiCfoSidePanelQuestionToSubmit:i}=Oa(),c=Fa(),m=La(c),g=ra(),C=_((F=>F.tenantState.fetchState==="Completed"||F.tenantState.activeTenantFetchState.fetchState==="Completed"?U(F):void 0)),u=C?.masterTOSInfo?.isMasterTOSAccepted??!1,l=_((F=>pa(F))),h=l.uiState?.currentChatSessionId,p=l.allSessionsWithOrderedQuestionAnswers??Cs,f=M.getSignedInUser()?.userId,S=Ra(),E=Yo()&&S&&r!=null,v=$o(),k=zo(!0),x=_((F=>v!=null?$n(F,v):void 0)),{useDynamicConfig:D}=Se(),{configValue:y}=D(Ba.aiCfoMessageDynamicConfig),I=b.useMemo((()=>Array.isArray(y.default_message_list)?y.default_message_list:[]),[y.default_message_list]),L=b.useMemo((()=>I.slice(0,2)),[I]),ne=v!=null&&x!=null&&x.fetchState!=="Completed"&&x.fetchState!=="Error"&&(k||x.fetchState==="In-Progress"),$e=b.useMemo((()=>{if(v==null||x?.fetchState==="Error")return L;if(ne)return[];const F=(x?.suggestedQuestions??[]).map((oe=>oe.trim())).filter((oe=>oe.length>0)).slice(0,2);return F.length===0?L:F}),[L,ne,v,x?.fetchState,x?.suggestedQuestions]),me=b.useCallback(((F,oe)=>{if(f==null||F.trim()==="")return;if(!u)return void se({location:o,navigate:n,mergeState:{referrer:a}});const Ke=ja(g.getState());if(m){const qe=w(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:qe,referrer:a,aiCfoInitialQuestion:F,aiCfoShouldSubmit:!Ke}})}else{if(Ke)return t(_t(F)),void s(!0);i(F),s(!0),Ma(t,F,"insights_section",h,p,f,oe,void 0)}}),[p,h,t,u,m,o,a,n,s,i,g,r,f]),ze=b.useCallback((()=>{if(u)if(m){const F=w(o.state?.pathnameStackToGoBack,o.pathname);n(`/${r}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:F,referrer:a}})}else s(!0);else se({location:o,navigate:n,mergeState:{referrer:a}})}),[u,m,o,a,n,s,r]);return b.useMemo((()=>{if(E)return{isSuggestedQuestionsLoading:ne,onAskSomethingElseClick:ze,onSuggestedQuestionClick:me,suggestedQuestions:$e}}),[E,ne,ze,me,$e])}const Ye=Ko,ks=ee((function(e){const a=zn(e),t=Kn(e),n=ha(e),{scrollPosition:o,...r}=n,s=q.getLocalizedStrings().reportTitleById.cash_in_cash_out,i=M.getSignedInUser(),c=e.tenantState.currentTenantId,m=U(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${te}/statement`,authParams:C},analytics:T,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(qn(t))},onTimeframeSelectionChanged:()=>{},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(Oe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(we("month")),e(de(a.firstMonthOfFY,t)),e(Oe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Oe({resetLeftScroll:!0}))),50)},onElementCollapseStateChanged:(t,n)=>{e(Oe({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Oe({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))(Ye),_s=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ae({mobileExploreReferrer:"DashboardCashInCashOut"}),s=Ne({mobileExploreReferrer:"DashboardCashInCashOut"}),i=_((c=>ha(c))).mode==="compare_mode";return d.jsx(ks,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},Ss=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},ys=ee((function(e){const a=Zn(e),t=Qn(e),n=fa(e),{scrollPosition:o,...r}=n,s=q.getLocalizedStrings().reportTitleById.cash_position,i=M.getSignedInUser(),c=e.tenantState.currentTenantId,m=U(e),g=m?.companyName??"",C={userId:i?.userId??"",sessionId:i?.zeniSessionId??"",tenantId:c??""},u=e.entityAutoCompleteState.autoCompleteText.navbar,l=ce(e,"navbar");return{selectedRangeReport:a,reportLabels:{reportTitle:s},highlightedRangeReport:t,uiState:r,scrollPosition:o,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:g,statementEndPoint:`${te}/statement`,authParams:C},analytics:T,autoCompleteData:{autoCompleteText:u,entityAutoCompleteView:l}}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(Hn(t))},onTimeframeSelectionChanged:t=>{e(we(t)),setTimeout((()=>e(Fe({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(Fe({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Fe({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.isCompareModeOn!==t&&setTimeout((()=>e(Fe({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Ss(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Cash Position"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onTableScroll:t=>{e(Fe({scrollPosition:t}))},onBackClick:()=>{a.navigate("../")}}}))(Ye),vs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e,{isAiCfoAccessEnabled:o,onAskAiCfoClick:r}=ae({mobileExploreReferrer:"DashboardCashPosition"}),s=Ne({mobileExploreReferrer:"DashboardCashPosition"}),i=_((c=>fa(c))).mode==="compare_mode";return d.jsx(ys,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:a,location:t,isCompareModeOn:i,navigate:n,insightsSectionAiCfoInfo:s,isAiCfoAccessEnabled:o,onAskAiCfoClick:r})},Y=(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 ut(){return d.jsxs(bt,{children:[d.jsx(O,{path:"/",element:d.jsx(re,{})}),d.jsx(O,{path:"/:forecastId",element:d.jsx(re,{})}),d.jsx(O,{path:"/:forecastId/*",element:d.jsx(je,{})})]})}const As=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Is=ee((function(e){const a=ga(e),t=Wn(e),n=Xn(e),o=Jn(e),r=vt(e),{scrollPosition:s,...i}=r,c=t.reportTitle,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:De(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(ao(t))},onTimeframeSelectionChanged:t=>{e(we(t)),setTimeout((()=>e(ge({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(ge({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(ge({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&Y(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(ge({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=As(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Burn Rate"}})}},onElementCollapseStateChanged:(t,n)=>{e(ge({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(ge({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=w(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(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Ft,n)),t==="forecast_mode"?(e(Zt({viewMode:"account_group"})),e(ba(!1,n?.id)),n!=null&&Y(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):Y(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(ge({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Burn Rate"),e(Zt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(to({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(eo())},onResyncReports:()=>{e(It("net_burn_or_income_by_classes"))}}}))(Ye),Es=e=>{const a=$(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),c=Ne({mobileExploreReferrer:"DashboardNetBurnOrIncome"}),m=_((y=>vt(y))),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_((y=>Et(y.forecastState,u??""))),h=_((y=>ga(y))),p=_((y=>Tt(y))),f=_((y=>De(y))),S=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect((()=>{if(u!=null&&g===!0&&(Y(g,r,u,o),l!=null)){const y=l?.forecastPeriod,I=E!=null&&y.endDate.isAfter(E?.endDate)===!0?E:y;a(de(e.firstMonthOfFY,{startDate:I.endDate.startOf(C),endDate:I?.endDate}))}}),[u]);const v=_e(),{useFeatureGate:k}=Se(),{isFeatureEnabled:x}=k(B.isReportsCommentingEnabled),D=Ot(x?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(Is,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,forecastIdFromUrlPath:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:S,navigate:o,analytics:T,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:D,isReportsCommentingEnabled:x})},Ts=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},xs=ee((function(e){const a=Ca(e),t=no(e),n=oo(e),o=so(e),r=xt(e),{scrollPosition:s,...i}=r,c=q.getLocalizedStrings().reportTitleById.operating_expenses,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:De(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(co(t))},onTimeframeSelectionChanged:t=>{e(we(t)),setTimeout((()=>e(be({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(be({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(be({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&Y(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(be({resetLeftScroll:!0}))),50)},onAccountBalanceClick:a.hasTransactionAccess!==!0?void 0:(t,n)=>{const{timePeriod:o,timeframe:r}=Ts(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Operating Expenses"}})}},onElementCollapseStateChanged:(t,n)=>{e(be({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(be({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=w(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(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Ft,n)),t=="forecast_mode"?(e(Qt({viewMode:"account_group"})),e(ka(!1,n?.id)),n!=null&&Y(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):Y(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(be({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Operating Expenses"),e(Qt({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(io({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(ro())},onResyncReports:()=>{e(It("operating_expenses_by_classes"))}}}))(Ye),ws=e=>{const a=$(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardOpEx"}),c=Ne({mobileExploreReferrer:"DashboardOpEx"}),m=_((I=>xt(I))),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_((I=>Et(I.forecastState,u??""))),h=_((I=>Ca(I))),p=_((I=>Tt(I))),f=_((I=>De(I))),S=m.mode==="compare_mode",E=h.dataAvailable;b.useEffect((()=>{if(u!=null&&g===!0&&(Y(g,r,u,o),l!=null)){const I=l?.forecastPeriod,L=E!=null&&I.endDate.isAfter(E?.endDate)===!0?E:I;a(de(e.firstMonthOfFY,{startDate:L.endDate.startOf(C),endDate:L?.endDate}))}}),[u]);const v=_e(),k=v?.loggedInUserRole!=null&&_a(v?.loggedInUserRole)!==!0,{useFeatureGate:x}=Se(),{isFeatureEnabled:D}=x(B.isReportsCommentingEnabled),y=Ot(D?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(xs,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,location:n,isAccountingClassesEnabled:f,isCompareModeOn:S,navigate:o,forecastIdFromUrlPath:r,analytics:T,hasTransactionAccess:k,reportsResyncFetchState:p.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:y,isReportsCommentingEnabled:D})},Ds=e=>{let a,t;switch(e.balanceTimeFrame){case"month":case"quarter":a=e.balanceTimeFrame,t=Je(e);break;case"year":a="quarter",t={startDate:e.endDate.startOf("quarter"),endDate:e.endDate};break;case"free_range":console.error("free_range timeframe is not supported!")}return{timeframe:a,timePeriod:t}},Ps=ee((function(e){const a=Sa(e),t=lo(e),n=uo(e),o=mo(e),r=wt(e),{scrollPosition:s,...i}=r,c=q.getLocalizedStrings().reportTitleById.revenue,m=M.getSignedInUser(),g=e.tenantState.currentTenantId,C=U(e),u=C?.companyName??"",l={userId:m?.userId??"",sessionId:m?.zeniSessionId??"",tenantId:g??""},h=e.entityAutoCompleteState.autoCompleteText.navbar,p=ce(e,"navbar"),f=At(C);return{selectedRangeReport:a,selectedClassesViewRangeReport:n,reportLabels:{reportTitle:c},highlightedRangeReport:t,highlightedClassesViewRangeReport:o,uiState:i,scrollPosition:s,downloadParams:{downloadState:a.downloadState,currentTenantCompanyName:u,statementEndPoint:`${te}/statement`,authParams:l},analytics:T,isZeniUser:Xe(m),autoCompleteData:{autoCompleteText:h,entityAutoCompleteView:p},isZeniCOAUsed:f,isAccountingClassesEnabled:De(e)}}),(function(e,a){return{updateDownloadStateHandler:t=>{e(fo(t))},onTimeframeSelectionChanged:t=>{e(we(t)),setTimeout((()=>e(Ce({resetLeftScroll:!0}))),50)},onCOABalancesRangeChanged:(t,n)=>{e(Ue(t,n)),e(Ce({resetLeftScroll:!0}))},onThisPeriodChanged:t=>{e(de(a.firstMonthOfFY,t)),e(Ce({resetLeftScroll:!0}))},onAdditionalBalanceSelectionChanged:(t,n,o)=>{e(Me(a.firstMonthOfFY,t,o,n)),n.length>0&&(e(Le(a.firstMonthOfFY,n.includes("this_period_vs_last_period")?"compare_mode_amount":"compare_mode_percent",o,n)),a.forecastIdFromUrlPath!=null&&t==1&&Y(!1,a.forecastIdFromUrlPath,"",a.navigate)),a.isCompareModeOn!==t&&setTimeout((()=>e(Ce({resetLeftScroll:!0}))),50)},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Ds(n);if(o!=null&&r!=null){const s=t.accountName===""?t.accountDescription:t.accountName,i=t.classesViewParentId!=null&&t.classesViewParentId.parentClassId!=null?Pt(a.tenantEmailDomain,t.accountId,t.accountType,t.classesViewParentId.parentClassId?.[0],s,r,o):Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Revenues"}})}},onElementCollapseStateChanged:(t,n)=>{e(Ce({nodeCollapseState:{nodeId:t,isCollapsed:n}}))},onTableScroll:t=>{e(Ce({scrollPosition:t}))},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=w(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(Ee(a.firstMonthOfFY,t==="forecast_mode",t==="forecast_mode"?Te:Ft,n)),t==="forecast_mode"?(e(Ht({viewMode:"account_group"})),e(ya(!1,n?.id)),n!=null&&Y(!0,a.forecastIdFromUrlPath,n?.id??"",a.navigate)):Y(!1,a.forecastIdFromUrlPath,n?.id??"",a.navigate),e(Ce({resetLeftScroll:!0}))},onUpdateAccountViewMode:t=>{a.analytics?.trackGroupBySwitch(t==="classes"?"Classes":"Accounts","Revenues"),e(Ht({viewMode:t}))},onUpdateClassesToFilterOut:t=>{e(ho({classesToFilterOut:t}))},onOpenAccountViewMode:()=>{a.isAccountingClassesEnabled&&e(po())},onResyncReports:()=>{e(It("revenue_by_classes"))}}}))(Ye),Os=e=>{const a=$(),{tenantEmailDomain:t,location:n,navigate:o,forecastIdFromUrlPath:r}=e,{isAiCfoAccessEnabled:s,onAskAiCfoClick:i}=ae({mobileExploreReferrer:"DashboardRevenue"}),c=Ne({mobileExploreReferrer:"DashboardRevenue"}),m=_((y=>wt(y))),g=m.isForecastModeOn,C=m.timeframe,u=m.selectedForecast?.id,l=_((y=>Et(y.forecastState,u??""))),h=_((y=>Sa(y))),p=h.dataAvailable,f=m.mode==="compare_mode",S=_((y=>De(y))),E=_((y=>Tt(y)));b.useEffect((()=>{if(u!=null&&g===!0&&(Y(g,r,u,o),l!=null)){const y=l?.forecastPeriod,I=p!=null&&y.endDate.isAfter(p?.endDate)===!0?p:y;a(de(e.firstMonthOfFY,{startDate:I.endDate.startOf(C),endDate:I?.endDate}))}}),[u]);const v=_e(),{useFeatureGate:k}=Se(),{isFeatureEnabled:x}=k(B.isReportsCommentingEnabled),D=Ot(x?v?.currentTenant?.companyId:void 0,{clearParams:h.fetchState==="Completed"});return d.jsx(Ps,{firstMonthOfFY:e.firstMonthOfFY,tenantEmailDomain:t,selectedForecastId:r,isAccountingClassesEnabled:S,isCompareModeOn:f,location:n,navigate:o,forecastIdFromUrlPath:r,analytics:T,reportsResyncFetchState:E.reportsResyncFetchState,insightsSectionAiCfoInfo:c,isAiCfoAccessEnabled:s,onAskAiCfoClick:i,initialOpenThreadRequest:D,isReportsCommentingEnabled:x})},Fs=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}},Rs=ee((function(e){const a=go(e),t=e.entityAutoCompleteState.autoCompleteText.navbar,n=ce(e,"navbar");return{report:a,analytics:T,autoCompleteData:{autoCompleteText:t,entityAutoCompleteView:n}}}),(function(e,a){return{onTimeframeSelectionChanged:t=>{T.trackTimeframeSwitch(Va(t),"Top Expenses"),e(va(t))},onAccountBalanceClick:(t,n)=>{const{timePeriod:o,timeframe:r}=Fs(n),s=t.accountName===""?t.accountDescription:t.accountName;if(o!=null&&r!=null){const i=Pe(a.tenantEmailDomain,t.accountId,t.accountType,s,r,o),c=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(i,{state:{pathnameStackToGoBack:c,referrer:"Top Expenses"}})}},autoCompleteActions:{onAutoCompleteInputChange:t=>{t.trim().length>=2?e(le({searchString:t,searchOrigin:"navbar"})):t.trim().length===0&&e(J("navbar"))},onAutoCompleteEntity:t=>{const n=ue(t,a.tenantEmailDomain),o=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(n,{state:{pathnameStackToGoBack:o}})}},onBackClick:()=>{a.navigate("../")}}}))(qo),Bs=e=>{const{tenantEmailDomain:a,location:t,navigate:n}=e;return d.jsx(Rs,{tenantEmailDomain:a,location:t,navigate:n})},js=Dt.div`
|
|
14
14
|
display: flex;
|
|
15
15
|
flex: 1 1 auto;
|
|
16
16
|
min-height: 100%;
|
|
17
17
|
flex-direction: column;
|
|
18
18
|
background-color: ${e=>e.theme.colors.grey5};
|
|
19
19
|
align-items: center;
|
|
20
|
-
`,Te=3,Ft=1;function Ms({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=W(),r=H(),{tenantEmailDomain:s}=K();let i;Ge({isDataReady:!0});const c={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=d.jsx(xs,{...c});break;case"revenue":i=d.jsx(Os,{...c});break;case"net_burn_or_income":i=d.jsx(Es,{...c});break;case"cash_position":i=d.jsx(vs,{...c});break;case"top_expenses":i=d.jsx(Bs,{...c});break;case"cash_in_cash_out":i=d.jsx(_s,{...c});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?d.jsx(js,{children:i}):null}function re(){const e=H(),a=$(),{forecastId:t}=K();let n="Not-Started";const o=_((l=>Dt(l).fetchState)),r=_((l=>xt(l).fetchState)),s=_((l=>vt(l).fetchState)),i=_((l=>l.cashPositionState.fetchState)),c=_((l=>l.topExState.fetchState)),m=_((l=>l.cashInCashOutState.fetchState));if(M.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const g=_((l=>U(l))),C=g?.company?.companyInfo?.firstMonthOfFY??1,u=ca((l=>{const h=la(l,"/").split("/");return t!=null?h[h.length-3]:h[h.length-1]})(e.pathname));switch(u){case"operating_expenses":n=o;break;case"revenue":n=r;break;case"net_burn_or_income":n=s;break;case"cash_position":n=i;break;case"top_expenses":n=c;break;case"cash_in_cash_out":n=m;break;default:console.error(`${u} is not supported!`)}return b.useEffect((()=>{n==="Not-Started"&&(function(l,h,p,f){switch(h){case"operating_expenses":l(xa(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(ka(!1,f)));break;case"revenue":l(Da(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(ya(!1,f)));break;case"net_burn_or_income":l(Ta(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(ba(!1,f)));break;case"cash_position":l(Ea(!0));break;case"top_expenses":l(Ia());break;case"cash_in_cash_out":l(Aa());break;default:throw new Error(`report type ${h} is not yet supported`)}})(a,u,C,t)}),[t]),d.jsxs(d.Fragment,{children:[n==="Completed"?d.jsx(Ye,{analytics:T,onLoad:l=>((h,p)=>{const f=e.state?.referrer;switch(p){case"operating_expenses":h.trackPageLoaded(V.Event.operatingExpenses,f);break;case"revenue":h.trackPageLoaded(V.Event.revenues,f);break;case"net_burn_or_income":h.trackPageLoaded(V.Event.burnRate,f);break;case"cash_position":h.trackPageLoaded(V.Event.cashPosition,f);break;case"top_expenses":h.trackPageLoaded(V.Event.topExpenses,f);break;case"cash_in_cash_out":h.trackPageLoaded(V.Event.cashInCashOut,f);break;default:console.error(`Analytics: Not tracking Page Loaded for ${p}!`)}})(l,u)}):null,d.jsx(Ms,{firstMonthOfFY:C,fetchState:n,reportId:u,forecastId:t})]})}var mt=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function pt(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),(function(){t(window.event)}))}function $a(e,a){for(var t=a.slice(0,a.length-1),n=0;n<t.length;n++)t[n]=e[t[n].toLowerCase()];return t}function za(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 Rt={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,"-":mt?173:189,"=":mt?61:187,";":mt?59:186,"'":222,"[":219,"]":221,"\\":220},ie={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},St={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},j={16:!1,18:!1,17:!1,91:!1},R={},He=1;He<20;He++)Rt["f".concat(He)]=111+He;var w=[],Xt=!1,Ka="all",Jt=[],tt=function(e){return Rt[e.toLowerCase()]||ie[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function ea(e){Ka=e||"all"}function Be(){return Ka||"all"}var ht=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;za(a).forEach((function(s){var i=s.split(r),c=i.length,m=i[c-1],g=m==="*"?"*":tt(m);if(R[g]){t||(t=Be());var C=c>1?$a(ie,i):[];R[g]=R[g].filter((function(u){return!((!n||u.method===n)&&u.scope===t&&(function(l,h){for(var p=l.length>=h.length?l:h,f=l.length>=h.length?h:l,S=!0,E=0;E<p.length;E++)f.indexOf(p[E])===-1&&(S=!1);return S})(u.mods,C))}))}}))};function ta(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,j)Object.prototype.hasOwnProperty.call(j,r)&&(!j[r]&&a.mods.indexOf(+r)>-1||j[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||j[16]||j[18]||j[17]||j[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 aa(e,a){var t=R["*"],n=e.keyCode||e.which||e.charCode;if(G.filter.call(this,e)){if(n!==93&&n!==224||(n=91),w.indexOf(n)===-1&&n!==229&&w.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach((function(h){var p=St[h];e[h]&&w.indexOf(p)===-1?w.push(p):!e[h]&&w.indexOf(p)>-1?w.splice(w.indexOf(p),1):h==="metaKey"&&e[h]&&w.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(w=w.slice(w.indexOf(p))))})),n in j){for(var o in j[n]=!0,ie)ie[o]===n&&(G[o]=!0);if(!t)return}for(var r in j)Object.prototype.hasOwnProperty.call(j,r)&&(j[r]=e[St[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(w.indexOf(17)===-1&&w.push(17),w.indexOf(18)===-1&&w.push(18),j[17]=!0,j[18]=!0);var s=Be();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)&&ta(e,t[i],s,a);if(n in R){for(var c=0;c<R[n].length;c++)if((e.type==="keydown"&&R[n][c].keydown||e.type==="keyup"&&R[n][c].keyup)&&R[n][c].key){for(var m=R[n][c],g=m.splitKey,C=m.key.split(g),u=[],l=0;l<C.length;l++)u.push(tt(C[l]));u.sort().join("")===w.sort().join("")&&ta(e,m,s,a)}}}}function G(e,a,t){w=[];var n=za(e),o=[],r="all",s=document,i=0,c=!1,m=!0,g="+",C=!1;for(t===void 0&&typeof a=="function"&&(t=a),Object.prototype.toString.call(a)==="[object Object]"&&(a.scope&&(r=a.scope),a.element&&(s=a.element),a.keyup&&(c=a.keyup),a.keydown!==void 0&&(m=a.keydown),a.capture!==void 0&&(C=a.capture),typeof a.splitKey=="string"&&(g=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(g)).length>1&&(o=$a(ie,e)),(e=(e=e[e.length-1])==="*"?"*":tt(e))in R||(R[e]=[]),R[e].push({keyup:c,keydown:m,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:g,element:s});s!==void 0&&!(function(u){return Jt.indexOf(u)>-1})(s)&&window&&(Jt.push(s),pt(s,"keydown",(function(u){aa(u,s)}),C),Xt||(Xt=!0,pt(window,"focus",(function(){w=[]}),C)),pt(s,"keyup",(function(u){aa(u,s),(function(l){var h=l.keyCode||l.which||l.charCode,p=w.indexOf(h);if(p>=0&&w.splice(p,1),l.key&&l.key.toLowerCase()==="meta"&&w.splice(0,w.length),h!==93&&h!==224||(h=91),h in j)for(var f in j[h]=!1,ie)ie[f]===h&&(G[f]=!1)})(u)}),C))}var ft={setScope:ea,getScope:Be,deleteScope:function(e,a){var t,n;for(var o in e||(e=Be()),R)if(Object.prototype.hasOwnProperty.call(R,o))for(t=R[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;Be()===e&&ea(a||"all")},getPressedKeyCodes:function(){return w.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=tt(e)),w.indexOf(e)!==-1},filter:function(e){var a=e.target||e.srcElement,t=a.tagName,n=!0;return!a.isContentEditable&&(t!=="INPUT"&&t!=="TEXTAREA"&&t!=="SELECT"||a.readOnly)||(n=!1),n},trigger:function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(R).forEach((function(t){var n=R[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(R).forEach((function(s){return delete R[s]}));else if(Array.isArray(e))e.forEach((function(s){s.key&&ht(s)}));else if(typeof e=="object")e.key&&ht(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=""),ht({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:Rt,modifier:ie,modifierMap:St};for(var gt in ft)Object.prototype.hasOwnProperty.call(ft,gt)&&(G[gt]=ft[gt]);if(typeof window<"u"){var Ls=window.hotkeys;G.noConflict=function(e){return e&&window.hotkeys===G&&(window.hotkeys=Ls),G},window.hotkeys=G}G.filter=function(){return!0};var na=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Us(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,c=o.keydown,m=o.filterPreventDefault,g=m===void 0||m,C=o.enabled,u=C===void 0||C,l=o.enableOnContentEditable,h=l!==void 0&&l,p=b.useRef(null),f=b.useCallback((function(S,E){var v,k;return s&&!s(S)?!g:!!(na(S,["INPUT","TEXTAREA","SELECT"])&&!na(S,r)||(v=S.target)!=null&&v.isContentEditable&&!h)||!!(p.current===null||document.activeElement===p.current||(k=p.current)!=null&&k.contains(document.activeElement))&&(a(S,E),!0)}),n?[p,r,s].concat(n):[p,r,s]);return b.useEffect((function(){if(u)return i&&c!==!0&&(t.keydown=!1),G(e,t||{},f),function(){return G.unbind(e,f)};G.unbind(e,f)}),[f,e,u]),p}G.isPressed;const Gs=[],oa="dashboard_card",X="ai_cfo_dashboard_card";function sa(e,a){return a?e.some((t=>String(t)===X))?e.slice():[X,...e]:e.filter((t=>String(t)!==X))}const Ys=["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"],Vs=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e.status!=null?{balanceAmount:e.balance?.available,lastUpdatedTime:e.status.lastRefreshSuccessTime,changePercent:e.balance?.change?.percent,changeComparedToDate:e.balance?.change?.since}:void 0}),Re=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e}),Ns=(e,a,t,n)=>Re(void 0,e,ke,a,t),$s=(e,a,t,n,o)=>({card:{dimension:et(ke),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1,spansFullDashboardWidth:!1},data:{funds:n,shouldShowTreasuryPromoIntroVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),zs=e=>{const a=et(ke);return a.height=ke.height+10,{card:{dimension:a,cardType:X,cardIndex:e,fetchState:"Completed",disableAnimations:!1,spansFullDashboardWidth:!0}}},Ks=ee((function(e,a){const t=Qs(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i,treasuryFundDetails:c,shouldShowTreasuryPromoIntroVideo:m,treasuryFetchState:g}=a;let C=n.map(((u,l)=>{if(u==="reimbursement_promo_card"||u==="bill_pay_promo_card")return Ns(t,u,l);if(u==="zeni_promo_card")return Re({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,ke,u,l);if(u==="treasury_promo_card")return $s(g,u,l,c,m);if(u==="information_card")return Re(void 0,"Completed",ke,u,l);if(u===X)return zs(l);{const h=o.find((p=>p?.reportId===u));return h?(function(p,f,S,E){const v=p.reportId;switch(v){case"card_balance":case"cash_balance":return[Vs(p,f,S,v,E)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"zeni_accounts_promo_card":case"rewards_card":return[Re(p,f,S,v,E)];case"net_burn_or_income_story_card":return[Re(p,f,S,"net_burn_or_income_story_card",E)];default:return console.error(`card type ${v} not yet supported!`),[]}})(h,h.fetchState,ke,l):[]}})).flat();return a.isSummaryCardsFiltered===!0&&(C=C.filter((u=>Ys.includes(u.card.cardType)==0)).filter((u=>{const l=u.data?.availableNumberOfPeriods;return l!=null?l>0:u.card.cardType!="top_expenses"||u.data==null||(function(h){if(h==null||h.length===0)return!0;let p=!0;for(const f of h)if(f.balance.available.amount!==0){p=!1;break}return p})(u.data.topExpenses.accountsOrdered)===!1}))),{cardDataArray:C,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ce(e,"navbar")},analytics:T,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}}),(function(e,a){const t=a.tenantId,n=M.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)T.trackDashboardCardClicked("cards promo",2),T.trackZeniCardsPromoCardClicked(a.isChargeCardFeatureEnabled,i,2,`${n?.firstName??""} ${n?.lastName??""}`,a.isChargeCardFeatureEnabled?a.cardsCreditLimit:void 0),i==="Learn More"?window.open("https://www.zeni.ai/product/business-credit-card","_blank"):a.navigate("../cards/promo",{relative:"path"});else if(a.isForecastOn)switch(r){case"net_burn_or_income":case"operating_expenses":case"revenue":a.navigate(`${r}/forecast/${a.selectedForecastOnDashboard}`,{state:{referrer:s}});break;default:a.navigate(`${r}`,{state:{referrer:s}})}else r==="rewards_card"?(n!=null&&T.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(T.trackMonthEndCloseClicked(a.selectedPeriod.month,a.selectedPeriod.year,"Dashboard"),a.navigate("../../month_end_close_checks/review",{state:{referrer:"Dashboard"}})):a.navigate(`${r}`,{state:{referrer:s}})},onReloadData:(o,r)=>{const s=[];a.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),a.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),a.isZeniAccountEnabled===!1&&s.push("zeni_accounts_promo_card"),a.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),(function(i,c,m,g){if(c!==X)switch(c){case"card_balance":i(ma());break;case"cash_balance":i(da());break;case"operating_expenses":i(xa(!0));break;case"revenue":i(Da(!0));break;case"net_burn_or_income":i(Ta(!0));break;case"net_burn_or_income_story_card":i(Ro(!0));break;case"cash_position":i(Ea(!0));break;case"top_expenses":i(Ia());break;case"cash_in_cash_out":i(Aa());break;case"insights_dashboard":i(Fo());break;case"bill_pay_card":i(Oo());break;case"reimbursement_card":i(wo());break;case"company_details":i(Po(m));break;case"task_card":i(xo());break;case"accounts_payable_aging":g.includes("accounts_payable_aging")===!1&&i(Ct(De()));break;case"accounts_receivable_aging":i(kt(De()));break;case"zeni_accounts_promo_card":g.includes("zeni_accounts_promo_card")===!1&&i(ua());break;case"rewards_card":g.includes("rewards_card")===!1&&i(Do(!0));break;default:throw new Error(`report type ${c} is not yet supported`)}})(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{T.trackTimeframeSwitch(Ya(r),Zs(o),"Dashboard"),(function(s,i,c){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(xe(c));break;case"top_expenses":s(va(c));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}})(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(To(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=x(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=x(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=x(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){M.saveTreasuryPopupSeen(a.tenantEmailDomain,!0);const s="../treasury",i=x(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"&&(T.trackUpdateBurnRateCalculatorSettings(r,s,Io(s)),e(Eo(t,r,s)))},onVideoPlay:()=>{e(dt())},onRemindMeLaterClick:()=>{e(Ao())},onDontShowAgainClick:()=>{e(dt())},onIntroOutsideClick:()=>{a.isTreasuryPromoIntroClosedByOutsideClick===!0&&a.isTreasuryPromoVideoPlayed!==!0?e(dt()):e(vo())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(le({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(J("navbar"))},onCancelAutoComplete:()=>{e(J("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?ue(o,a.tenantEmailDomain):ts(o.zeniId,o.qboId,a.tenantEmailDomain);const s=x(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}}))(es);function qs(){const e=ra(),a=Fa(),t=La(a),{isAiCfoOpen:n,setIsAiCfoOpen:o,setAiCfoSidePanelQuestionToSubmit:r}=Oa(),s=W(),i=$(),c=H(),m=M.getSignedInUser(),{useFeatureGate:g,useDynamicConfig:C}=Se(),[u,l]=b.useState(!1),[h,p]=b.useState(!1),f=Ra(),{tenantEmailDomain:S}=K(),{isAiCfoAccessEnabled:E,onAskAiCfoClick:v}=ae({mobileExploreReferrer:"Dashboard"}),k=_((A=>A.tenantState.fetchState==="Completed"||A.tenantState.activeTenantFetchState.fetchState==="Completed"?U(A):void 0)),D=k??M.getSignedInUserTenant(S),P=k?.masterTOSInfo?.isMasterTOSAccepted??!1,y=D.tenantId,I=D.companyId;b.useEffect((()=>{u===!1&&c.state?.message==="activation"&&(i(go(I)),l(!0))}),[c.state,u,I,i]),b.useEffect((()=>{f&&!h&&c.state?.message==="open_ai_cfo_drawer"&&(p(!0),P?(o(!0),s({pathname:c.pathname,search:c.search,hash:c.hash},{replace:!0,state:{...c.state,message:void 0}})):se({location:c,navigate:s,mergeState:{referrer:"Dashboard",message:void 0}}))}),[c,h,f,P,o,s]);const{isFeatureEnabled:L}=g(B.isApAgingFeatureEnabled),{isFeatureEnabled:ne}=g(B.isExpenseAutomationEnabled),{isFeatureEnabled:$e}=g(B.isExpenseAutomationEnabledV2),me=qo(),{isFeatureEnabled:ze}=g(B.isTreasuryEnabled),F=Zo(me),{isFeatureEnabled:oe}=g(B.isArAgingFeatureEnabled),{isFeatureEnabled:Ke}=g(B.isDepositAccountsFeatureEnabled),{isFeatureEnabled:qe}=g(B.isReferralFeatureEnabled),{isFeatureEnabled:qa}=g(B.isChargeCardFeatureEnabled),{isFeatureEnabled:Za}=g(B.isAiCfoFileUploadEnabled),{isFeatureEnabled:Qa}=g(B.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:Ha}=g(B.isDashboardSidebarNewYearAnimationEnabled),{isFeatureEnabled:Wa}=g(B.aiAuditScorePercentage),{configValue:Bt}=C(Ba.zeniCardsConfig),Xa=Bt.charge_card_cashback_rate_per_transaction==null?.0175:Bt.charge_card_cashback_rate_per_transaction;if(c.state?.message==="activation"){const A=Qo(c.state?.pathnameStackToGoBack);s(c.pathname,{state:{...c.state,message:void 0,pathnameStackToGoBack:A.newStack}})}const[jt,Ja]=b.useState(!1),[at,en]=b.useState(!1);Us("command+p, Control+p",(A=>{en(!at),A.preventDefault()}),{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[at]);const Mt=k?.externalConnections?.accounting[0]?.isValid;if(m==null)throw Error("Can't access dashboard without signing in...");const pe=_((A=>U(A)?.excludedResources)),tn=_((A=>A.expenseAutomationViewState.selectedPeriodByTenantId)),an=!!k?.companyReimbursementInfo?.info?.isReimbursementEnabled,nn=!!k?.companyBillPayInfo?.info?.isBillPayEnabled,on=_((A=>A.treasurySetupViewState.treasuryFundsDetails)).fetchStatus.fetchState,sn=k?.company!=null&&bo(k.company),rn=ze&&sn,nt=_e(),cn=yt(nt?.loggedInUserRoleMap),z=[],Lt=pe?.resources?.find((A=>A.resource==="/reports/top_expenses"))==null,ln=pe?.resources?.find((A=>A.resource==="/reports/task_card"))==null,ot=k?.userRole!=null&&_a(k?.userRole),dn=pe?.resources?.find((A=>A.resource==="/bills"))==null&&!ot,un=pe?.resources?.find((A=>A.resource==="/reimbursements"))==null,mn=Co(nt?.loggedInUserRoleMap),pn=ko(nt?.loggedInUserRoleMap),hn=k?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,fn=k?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,gn=_((A=>A.treasurySetupViewState.treasuryFundsDetails)).fundsDetails;Lt===!1&&z.push("top_expenses"),ln===!1&&z.push("task_card"),dn===!1&&z.push("bill_pay_card","bill_pay_promo_card"),L===!1&&z.push("accounts_payable_aging"),oe===!1&&z.push("accounts_receivable_aging"),(me===!1||ot)&&z.push("expense_automation_card"),un===!1&&z.push("reimbursement_card","reimbursement_promo_card"),z.push("zeni_accounts_promo_card","treasury_promo_card"),qe===!1&&z.push("rewards_card");const{areTenantIdsInSync:Ut}=Ho();b.useLayoutEffect((()=>{jt&&F===me||Mt!==!0||!Ut||pe?.fetchState!=="Completed"&&pe?.fetchState!=="Error"||(Ja(!0),i(_o(m.userId,I,y,!0,!1,z)))}),[jt,m,y,i,Lt,Mt,pe?.fetchState,Ut]);const bn=_((A=>A.reportUIOptionsState.forecastOnDashboard.isForecastModeOn)),Cn=_((A=>A.revenueState.uiState.selectedForecast?.id)),kn=_((A=>A.cardBalanceState.fetchState)),he=_((A=>So(A,z,m,$e,ne))),_n=he.fetchState,Sn=b.useMemo((()=>sa(he.cardsOrdered,E)),[he.cardsOrdered,E]),yn=b.useMemo((()=>sa(he.cardsForDashboardUI,E)),[he.cardsForDashboardUI,E]);Ge({isDataReady:!0});const{isSuggestedQuestionsLoading:vn,suggestedPromptQuestions:An}=ns(),st=k?.isTreasuryPromoVideoPlayed===!0,Gt=k?.isTreasuryPromoVideoRemindMeLaterClicked===!0,Yt=k?.loginCounterForTreasuryPromoVideo??0,In=k?.isTreasuryPromoIntroClosedByOutsideClick===!0,Vt=_((A=>A.dashboardState.isTreasuryVideoClosed)),Nt=b.useMemo((()=>Wo({isTreasuryPromoVideoRemindMeLaterClicked:Gt,isTreasuryPromoVideoPlayed:st,loginCounterForTreasuryPromoVideo:Yt,isTreasuryVideoClosed:Vt})),[Gt,st,Yt,Vt]),$t=_((A=>pa(A))),ye=$t.uiState?.currentChatSessionId,rt=$t.allSessionsWithOrderedQuestionAnswers??Gs,{currentSessionQuestionAnswers:En}=Xo(rt,ye),zt=En.length===0,Tn=b.useCallback(((A,Z,fe)=>{const ve=m?.userId;if(ve==null)return;const Y=A.trim();if(Y.length===0&&Z.length===0)return;if(!P)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});const Q=ja(e.getState()),Ae=()=>{const Ie=x(c.state?.pathnameStackToGoBack,c.pathname);s(`/${S}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Ie,referrer:"Dashboard",aiCfoInitialQuestion:Y,aiCfoShouldSubmit:!Q&&Y.length>0,aiCfoInitialSubmissionSource:oa,...typeof fe=="number"?{aiCfoSuggestionIndex:fe}:{}}})};return t?Z.length>0?void o(!0):void Ae():Z.length>0?Q?(i(_t(Y)),void o(!0)):(r(Y.length>0?Y:null),o(!0),void(Y.length>0&&Ma(i,Y,oa,ye,rt,ve,fe,Z.length>0?Z:void 0))):(Q&&i(_t(Y)),void Ae())}),[rt,ye,i,P,t,c,s,r,o,m?.userId,e,S]),Dn=b.useCallback((()=>{P?o(!0):se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})}),[P,c,s,o]),xn=b.useCallback((()=>{if(!P)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});if(S==null)return;const A=x(c.state?.pathnameStackToGoBack,c.pathname);s(`/${S}/ai-cfo/explore`,{state:{pathnameStackToGoBack:A,referrer:"Dashboard"}})}),[P,c,s,S]),Pn=b.useCallback((()=>{if(P)if(t){if(S==null||k==null)return;const A=ye==null||zt?`/${S}/ai-cfo/explore`:`/${S}/ai-cfo/${ye}`,Z=c.state?.pathnameStackToGoBack??[],fe=x(Z,c.pathname);s(A,{state:{...c.state,pathnameStackToGoBack:fe,[Jo]:!0}})}else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})}),[P,t,c,s,S,k,ye,zt]);return d.jsxs(d.Fragment,{children:[_n==="Completed"?d.jsx(Ye,{analytics:T,onLoad:A=>{A.trackPageLoaded(V.Event.dashboard),rn&&Nt===!0&&A.trackTreasuryPromoView("Dashboard Promo Video")}}):null,d.jsx(Ks,{maxColumns:n?2:void 0,isAiCfoAccessEnabled:E,onAskAiCfoClick:v,onAiCfoDashboardOpenPanel:Dn,onAiCfoDashboardOpenScopePage:Pn,isAiCfoFileUploadEnabled:Za===!0&&t===!1,onAiCfoDashboardPromptSubmit:Tn,onAiCfoDashboardExpandToFullPage:xn,aiCfoDashboardSuggestedPromptQuestions:An,aiCfoDashboardSuggestedPromptQuestionsLoading:vn,onDragAndDropCard:(A,Z)=>{if(A===X||Z===X)return;const fe=(function(Q,Ae,Ie){const it=Ie.indexOf(Q),ct=Ie.indexOf(Ae);if(it===-1||ct===-1||it===ct)return Ie;const lt=[...Ie];return lt.splice(it,1),lt.splice(ct,0,Q),lt})(A,Z,Sn),ve=fe.filter((Q=>Q!==X)),Y=he.cardsOrdered;(ve.length!==Y.length||ve.some(((Q,Ae)=>Q!==Y[Ae])))&&i(yo(ve))},dashboardReport:he,passedCardsOrdered:yn,tenantId:y,companyId:I,tenantEmailDomain:S,location:c,navigate:s,isApAgingFeatureEnabled:L,isArAgingFeatureEnabled:oe,isBillPayEnabled:nn,isReimbursementEnabled:an,isSummaryCardsFiltered:at,isForecastOn:bn,selectedForecastOnDashboard:Cn,isVisitingFirstTime:u,isZeniAccountEnabled:Ke,isRewardsFeatureEnabled:qe,hasZeniAccountsAdminAccess:cn,isExpenseAutomationEnabledForUser:me&&ot===!1,selectedPeriod:tn[y],isChargeCardFeatureEnabled:qa,isUserHasCardsAccess:mn,isUserHasTreasuryAccess:pn,cardsCreditLimit:hn,cashbackRate:Xa,isInterestedInChargeCard:fn,cardBalanceFetchState:kn,christmasAnimationEnabled:Qa,newYearAnimationEnabled:Ha,treasuryFundDetails:gn,shouldShowTreasuryPromoIntroVideo:Nt,isTreasuryPromoVideoPlayed:st,isTreasuryPromoIntroClosedByOutsideClick:In,treasuryFetchState:on,aiAuditScorePercentageEnabled:Wa})]})}const Zs=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"},Qs=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map((a=>a.fetchState)).reduce(((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t));function Ar(){const e=_e(),a=e?.excludedResources?.find((m=>m.resource==="/reports/top_expenses"))==null,{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(B.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(B.isArAgingFeatureEnabled),r=_((m=>U(m))),{isFeatureEnabled:s}=t(B.isDebitCardFeatureEnabled),i=Bo(s,r),c=jo(r);return i===!0||c===!0?d.jsx(bt,{children:d.jsx(O,{path:"/*",element:d.jsx(os,{})})}):d.jsxs(bt,{children:[d.jsx(O,{path:"/",element:d.jsx(qs,{})}),d.jsx(O,{path:"cash_balance/*",element:d.jsx(Wt,{})}),d.jsx(O,{path:"card_balance/*",element:d.jsx(Wt,{})}),d.jsx(O,{path:"operating_expenses/*",element:d.jsx(re,{})}),d.jsx(O,{path:"operating_expenses/forecast/*",element:d.jsx(ut,{})}),d.jsx(O,{path:"revenue/forecast/*",element:d.jsx(ut,{})}),d.jsx(O,{path:"revenue/*",element:d.jsx(re,{})}),d.jsx(O,{path:"net_burn_or_income/forecast/*",element:d.jsx(ut,{})}),d.jsx(O,{path:"net_burn_or_income/*",element:d.jsx(re,{})}),n===!0&&d.jsxs(d.Fragment,{children:[d.jsx(O,{path:"accounts_payable_aging/*",element:d.jsx(is,{})}),d.jsx(O,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:d.jsx(rs,{})})]}),o&&d.jsxs(d.Fragment,{children:[d.jsx(O,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:d.jsx(cs,{})}),d.jsx(O,{path:"accounts_receivable_aging/*",element:d.jsx(ls,{})})]}),d.jsx(O,{path:"cash_position/*",element:d.jsx(re,{})}),d.jsx(O,{path:"top_expenses/*",element:a===!0?d.jsx(re,{}):d.jsx(je,{})}),d.jsx(O,{path:"cash_in_cash_out/*",element:d.jsx(re,{})}),d.jsx(O,{path:"company_details",element:d.jsx(as,{})}),d.jsx(O,{path:"referrals/*",element:d.jsx(ss,{})}),d.jsx(O,{path:"*",element:d.jsx(je,{})})]})}export{Ar as default};
|
|
20
|
+
`,Te=3,Ft=1;function Ms({fetchState:e,firstMonthOfFY:a,reportId:t,forecastId:n}){const o=W(),r=H(),{tenantEmailDomain:s}=K();let i;Ge({isDataReady:!0});const c={firstMonthOfFY:a,tenantEmailDomain:s,location:r,navigate:o,forecastIdFromUrlPath:n,fetchState:e};switch(t){case"operating_expenses":i=d.jsx(ws,{...c});break;case"revenue":i=d.jsx(Os,{...c});break;case"net_burn_or_income":i=d.jsx(Es,{...c});break;case"cash_position":i=d.jsx(vs,{...c});break;case"top_expenses":i=d.jsx(Bs,{...c});break;case"cash_in_cash_out":i=d.jsx(_s,{...c});break;default:console.error(`${t} is not supported!`),i=null}return i!=null?d.jsx(js,{children:i}):null}function re(){const e=H(),a=$(),{forecastId:t}=K();let n="Not-Started";const o=_((l=>xt(l).fetchState)),r=_((l=>wt(l).fetchState)),s=_((l=>vt(l).fetchState)),i=_((l=>l.cashPositionState.fetchState)),c=_((l=>l.topExState.fetchState)),m=_((l=>l.cashInCashOutState.fetchState));if(M.getSignedInUser()==null)throw Error("Can't access dashboard detail without signing in...");const g=_((l=>U(l))),C=g?.company?.companyInfo?.firstMonthOfFY??1,u=ca((l=>{const h=la(l,"/").split("/");return t!=null?h[h.length-3]:h[h.length-1]})(e.pathname));switch(u){case"operating_expenses":n=o;break;case"revenue":n=r;break;case"net_burn_or_income":n=s;break;case"cash_position":n=i;break;case"top_expenses":n=c;break;case"cash_in_cash_out":n=m;break;default:console.error(`${u} is not supported!`)}return b.useEffect((()=>{n==="Not-Started"&&(function(l,h,p,f){switch(h){case"operating_expenses":l(wa(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(ka(!1,f)));break;case"revenue":l(xa(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(ya(!1,f)));break;case"net_burn_or_income":l(Ta(!0)),f!=null&&(l(Ee(p,!0,Te,{id:f,index:0})),l(ba(!1,f)));break;case"cash_position":l(Ea(!0));break;case"top_expenses":l(Ia());break;case"cash_in_cash_out":l(Aa());break;default:throw new Error(`report type ${h} is not yet supported`)}})(a,u,C,t)}),[t]),d.jsxs(d.Fragment,{children:[n==="Completed"?d.jsx(Ve,{analytics:T,onLoad:l=>((h,p)=>{const f=e.state?.referrer;switch(p){case"operating_expenses":h.trackPageLoaded(N.Event.operatingExpenses,f);break;case"revenue":h.trackPageLoaded(N.Event.revenues,f);break;case"net_burn_or_income":h.trackPageLoaded(N.Event.burnRate,f);break;case"cash_position":h.trackPageLoaded(N.Event.cashPosition,f);break;case"top_expenses":h.trackPageLoaded(N.Event.topExpenses,f);break;case"cash_in_cash_out":h.trackPageLoaded(N.Event.cashInCashOut,f);break;default:console.error(`Analytics: Not tracking Page Loaded for ${p}!`)}})(l,u)}):null,d.jsx(Ms,{firstMonthOfFY:C,fetchState:n,reportId:u,forecastId:t})]})}var mt=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function pt(e,a,t,n){e.addEventListener?e.addEventListener(a,t,n):e.attachEvent&&e.attachEvent("on".concat(a),(function(){t(window.event)}))}function $a(e,a){for(var t=a.slice(0,a.length-1),n=0;n<t.length;n++)t[n]=e[t[n].toLowerCase()];return t}function za(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 Rt={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,"-":mt?173:189,"=":mt?61:187,";":mt?59:186,"'":222,"[":219,"]":221,"\\":220},ie={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},St={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},j={16:!1,18:!1,17:!1,91:!1},R={},He=1;He<20;He++)Rt["f".concat(He)]=111+He;var P=[],Xt=!1,Ka="all",Jt=[],tt=function(e){return Rt[e.toLowerCase()]||ie[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function ea(e){Ka=e||"all"}function Be(){return Ka||"all"}var ht=function(e){var a=e.key,t=e.scope,n=e.method,o=e.splitKey,r=o===void 0?"+":o;za(a).forEach((function(s){var i=s.split(r),c=i.length,m=i[c-1],g=m==="*"?"*":tt(m);if(R[g]){t||(t=Be());var C=c>1?$a(ie,i):[];R[g]=R[g].filter((function(u){return!((!n||u.method===n)&&u.scope===t&&(function(l,h){for(var p=l.length>=h.length?l:h,f=l.length>=h.length?h:l,S=!0,E=0;E<p.length;E++)f.indexOf(p[E])===-1&&(S=!1);return S})(u.mods,C))}))}}))};function ta(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,j)Object.prototype.hasOwnProperty.call(j,r)&&(!j[r]&&a.mods.indexOf(+r)>-1||j[r]&&a.mods.indexOf(+r)===-1)&&(o=!1);(a.mods.length!==0||j[16]||j[18]||j[17]||j[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 aa(e,a){var t=R["*"],n=e.keyCode||e.which||e.charCode;if(G.filter.call(this,e)){if(n!==93&&n!==224||(n=91),P.indexOf(n)===-1&&n!==229&&P.push(n),["ctrlKey","altKey","shiftKey","metaKey"].forEach((function(h){var p=St[h];e[h]&&P.indexOf(p)===-1?P.push(p):!e[h]&&P.indexOf(p)>-1?P.splice(P.indexOf(p),1):h==="metaKey"&&e[h]&&P.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(P=P.slice(P.indexOf(p))))})),n in j){for(var o in j[n]=!0,ie)ie[o]===n&&(G[o]=!0);if(!t)return}for(var r in j)Object.prototype.hasOwnProperty.call(j,r)&&(j[r]=e[St[r]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(P.indexOf(17)===-1&&P.push(17),P.indexOf(18)===-1&&P.push(18),j[17]=!0,j[18]=!0);var s=Be();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)&&ta(e,t[i],s,a);if(n in R){for(var c=0;c<R[n].length;c++)if((e.type==="keydown"&&R[n][c].keydown||e.type==="keyup"&&R[n][c].keyup)&&R[n][c].key){for(var m=R[n][c],g=m.splitKey,C=m.key.split(g),u=[],l=0;l<C.length;l++)u.push(tt(C[l]));u.sort().join("")===P.sort().join("")&&ta(e,m,s,a)}}}}function G(e,a,t){P=[];var n=za(e),o=[],r="all",s=document,i=0,c=!1,m=!0,g="+",C=!1;for(t===void 0&&typeof a=="function"&&(t=a),Object.prototype.toString.call(a)==="[object Object]"&&(a.scope&&(r=a.scope),a.element&&(s=a.element),a.keyup&&(c=a.keyup),a.keydown!==void 0&&(m=a.keydown),a.capture!==void 0&&(C=a.capture),typeof a.splitKey=="string"&&(g=a.splitKey)),typeof a=="string"&&(r=a);i<n.length;i++)o=[],(e=n[i].split(g)).length>1&&(o=$a(ie,e)),(e=(e=e[e.length-1])==="*"?"*":tt(e))in R||(R[e]=[]),R[e].push({keyup:c,keydown:m,scope:r,mods:o,shortcut:n[i],method:t,key:n[i],splitKey:g,element:s});s!==void 0&&!(function(u){return Jt.indexOf(u)>-1})(s)&&window&&(Jt.push(s),pt(s,"keydown",(function(u){aa(u,s)}),C),Xt||(Xt=!0,pt(window,"focus",(function(){P=[]}),C)),pt(s,"keyup",(function(u){aa(u,s),(function(l){var h=l.keyCode||l.which||l.charCode,p=P.indexOf(h);if(p>=0&&P.splice(p,1),l.key&&l.key.toLowerCase()==="meta"&&P.splice(0,P.length),h!==93&&h!==224||(h=91),h in j)for(var f in j[h]=!1,ie)ie[f]===h&&(G[f]=!1)})(u)}),C))}var ft={setScope:ea,getScope:Be,deleteScope:function(e,a){var t,n;for(var o in e||(e=Be()),R)if(Object.prototype.hasOwnProperty.call(R,o))for(t=R[o],n=0;n<t.length;)t[n].scope===e?t.splice(n,1):n++;Be()===e&&ea(a||"all")},getPressedKeyCodes:function(){return P.slice(0)},isPressed:function(e){return typeof e=="string"&&(e=tt(e)),P.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(R).forEach((function(t){var n=R[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(R).forEach((function(s){return delete R[s]}));else if(Array.isArray(e))e.forEach((function(s){s.key&&ht(s)}));else if(typeof e=="object")e.key&&ht(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=""),ht({key:e,scope:o,method:r,splitKey:"+"})}},keyMap:Rt,modifier:ie,modifierMap:St};for(var gt in ft)Object.prototype.hasOwnProperty.call(ft,gt)&&(G[gt]=ft[gt]);if(typeof window<"u"){var Ls=window.hotkeys;G.noConflict=function(e){return e&&window.hotkeys===G&&(window.hotkeys=Ls),G},window.hotkeys=G}G.filter=function(){return!0};var na=function(e,a){var t=e.target,n=t&&t.tagName;return!!(n&&a&&a.includes(n))};function Us(e,a,t,n){t instanceof Array&&(n=t,t=void 0);var o=t||{},r=o.enableOnTags,s=o.filter,i=o.keyup,c=o.keydown,m=o.filterPreventDefault,g=m===void 0||m,C=o.enabled,u=C===void 0||C,l=o.enableOnContentEditable,h=l!==void 0&&l,p=b.useRef(null),f=b.useCallback((function(S,E){var v,k;return s&&!s(S)?!g:!!(na(S,["INPUT","TEXTAREA","SELECT"])&&!na(S,r)||(v=S.target)!=null&&v.isContentEditable&&!h)||!!(p.current===null||document.activeElement===p.current||(k=p.current)!=null&&k.contains(document.activeElement))&&(a(S,E),!0)}),n?[p,r,s].concat(n):[p,r,s]);return b.useEffect((function(){if(u)return i&&c!==!0&&(t.keydown=!1),G(e,t||{},f),function(){return G.unbind(e,f)};G.unbind(e,f)}),[f,e,u]),p}G.isPressed;const Gs=[],oa="dashboard_card",X="ai_cfo_dashboard_card";function sa(e,a){return a?e.some((t=>String(t)===X))?e.slice():[X,...e]:e.filter((t=>String(t)!==X))}const Vs=["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"],Ns=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e.status!=null?{balanceAmount:e.balance?.available,lastUpdatedTime:e.status.lastRefreshSuccessTime,changePercent:e.balance?.change?.percent,changeComparedToDate:e.balance?.change?.since}:void 0}),Re=(e,a,t,n,o)=>({card:{dimension:et(t),cardType:n,cardIndex:o,fetchState:a,disableAnimations:!1,spansFullDashboardWidth:!1},data:e}),Ys=(e,a,t,n)=>Re(void 0,e,ke,a,t),$s=(e,a,t,n,o)=>({card:{dimension:et(ke),cardType:a,cardIndex:t,fetchState:e,disableAnimations:!1,spansFullDashboardWidth:!1},data:{funds:n,shouldShowTreasuryPromoIntroVideo:o,videoUrl:"https://www.youtube.com/watch?v=sqvJWKCMZgk"}}),zs=e=>{const a=et(ke);return a.height=ke.height+10,{card:{dimension:a,cardType:X,cardIndex:e,fetchState:"Completed",disableAnimations:!1,spansFullDashboardWidth:!0}}},Ks=ee((function(e,a){const t=Qs(a.dashboardReport),n=a.passedCardsOrdered,o=a.dashboardReport.reportsInOrder,{isInterestedInChargeCard:r,cardsCreditLimit:s,cashbackRate:i,treasuryFundDetails:c,shouldShowTreasuryPromoIntroVideo:m,treasuryFetchState:g}=a;let C=n.map(((u,l)=>{if(u==="reimbursement_promo_card"||u==="bill_pay_promo_card")return Ys(t,u,l);if(u==="zeni_promo_card")return Re({isExpressedInterest:r,creditLimit:s,cashbackRate:i,fetchState:"Completed"},a.cardBalanceFetchState,ke,u,l);if(u==="treasury_promo_card")return $s(g,u,l,c,m);if(u==="information_card")return Re(void 0,"Completed",ke,u,l);if(u===X)return zs(l);{const h=o.find((p=>p?.reportId===u));return h?(function(p,f,S,E){const v=p.reportId;switch(v){case"card_balance":case"cash_balance":return[Ns(p,f,S,v,E)];case"expense_automation_card":case"operating_expenses":case"revenue":case"top_expenses":case"cash_position":case"cash_in_cash_out":case"insights_dashboard":case"company_details":case"task_card":case"bill_pay_card":case"reimbursement_card":case"net_burn_or_income":case"accounts_payable_aging":case"accounts_receivable_aging":case"zeni_accounts_promo_card":case"rewards_card":return[Re(p,f,S,v,E)];case"net_burn_or_income_story_card":return[Re(p,f,S,"net_burn_or_income_story_card",E)];default:return console.error(`card type ${v} not yet supported!`),[]}})(h,h.fetchState,ke,l):[]}})).flat();return a.isSummaryCardsFiltered===!0&&(C=C.filter((u=>Vs.includes(u.card.cardType)==0)).filter((u=>{const l=u.data?.availableNumberOfPeriods;return l!=null?l>0:u.card.cardType!="top_expenses"||u.data==null||(function(h){if(h==null||h.length===0)return!0;let p=!0;for(const f of h)if(f.balance.available.amount!==0){p=!1;break}return p})(u.data.topExpenses.accountsOrdered)===!1}))),{cardDataArray:C,autoCompleteData:{autoCompleteText:e.entityAutoCompleteState.autoCompleteText.navbar,entityAutoCompleteView:ce(e,"navbar")},analytics:T,isReimbursementEnabled:a.isReimbursementEnabled,isBillPayEnabled:a.isBillPayEnabled}}),(function(e,a){const t=a.tenantId,n=M.getSignedInUser();return{cardActions:{onCardClick:(o,r,s,i)=>{if(console.warn(`onCardClick at ${o} for the type ${r}`),r==="zeni_promo_card"&&i!=null)T.trackDashboardCardClicked("cards promo",2),T.trackZeniCardsPromoCardClicked(a.isChargeCardFeatureEnabled,i,2,`${n?.firstName??""} ${n?.lastName??""}`,a.isChargeCardFeatureEnabled?a.cardsCreditLimit:void 0),i==="Learn More"?window.open("https://www.zeni.ai/product/business-credit-card","_blank"):a.navigate("../cards/promo",{relative:"path"});else if(a.isForecastOn)switch(r){case"net_burn_or_income":case"operating_expenses":case"revenue":a.navigate(`${r}/forecast/${a.selectedForecastOnDashboard}`,{state:{referrer:s}});break;default:a.navigate(`${r}`,{state:{referrer:s}})}else r==="rewards_card"?(n!=null&&T.trackDashboardCardClicked("rewards promo",o+1),a.navigate("../../rewards/refer",{state:{referrer:s}})):r==="expense_automation_card"?(T.trackMonthEndCloseClicked(a.selectedPeriod.month,a.selectedPeriod.year,"Dashboard"),a.navigate("../../month_end_close_checks/review",{state:{referrer:"Dashboard"}})):a.navigate(`${r}`,{state:{referrer:s}})},onReloadData:(o,r)=>{const s=[];a.isApAgingFeatureEnabled===!1&&s.push("accounts_payable_aging"),a.isArAgingFeatureEnabled===!1&&s.push("accounts_receivable_aging"),a.isZeniAccountEnabled===!1&&s.push("zeni_accounts_promo_card"),a.isRewardsFeatureEnabled===!1&&s.push("rewards_card"),(function(i,c,m,g){if(c!==X)switch(c){case"card_balance":i(ma());break;case"cash_balance":i(da());break;case"operating_expenses":i(wa(!0));break;case"revenue":i(xa(!0));break;case"net_burn_or_income":i(Ta(!0));break;case"net_burn_or_income_story_card":i(Bo(!0));break;case"cash_position":i(Ea(!0));break;case"top_expenses":i(Ia());break;case"cash_in_cash_out":i(Aa());break;case"insights_dashboard":i(Ro());break;case"bill_pay_card":i(Fo());break;case"reimbursement_card":i(Oo());break;case"company_details":i(Po(m));break;case"task_card":i(Do());break;case"accounts_payable_aging":g.includes("accounts_payable_aging")===!1&&i(Ct(xe()));break;case"accounts_receivable_aging":i(kt(xe()));break;case"zeni_accounts_promo_card":g.includes("zeni_accounts_promo_card")===!1&&i(ua());break;case"rewards_card":g.includes("rewards_card")===!1&&i(wo(!0));break;default:throw new Error(`report type ${c} is not yet supported`)}})(e,r,a.companyId,s)},onTimeframeChange:(o,r)=>{T.trackTimeframeSwitch(Va(r),Zs(o),"Dashboard"),(function(s,i,c){switch(i){case"operating_expenses":case"revenue":case"net_burn_or_income":case"cash_position":s(we(c));break;case"top_expenses":s(va(c));break;default:throw new Error(`report type ${i} doesn't support changeTimeframe`)}})(e,o,r)},onUpdateSelectedInsightIndex:o=>{e(xo(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=w(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=w(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=w(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){M.saveTreasuryPopupSeen(a.tenantEmailDomain,!0);const s="../treasury",i=w(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"&&(T.trackUpdateBurnRateCalculatorSettings(r,s,Eo(s)),e(To(t,r,s)))},onVideoPlay:()=>{e(dt())},onRemindMeLaterClick:()=>{e(Io())},onDontShowAgainClick:()=>{e(dt())},onIntroOutsideClick:()=>{a.isTreasuryPromoIntroClosedByOutsideClick===!0&&a.isTreasuryPromoVideoPlayed!==!0?e(dt()):e(Ao())}},autoCompleteActions:{onAutoCompleteInputChange:o=>{o.trim().length>=2?e(le({searchString:o,searchOrigin:"navbar"})):o.trim().length===0&&e(J("navbar"))},onCancelAutoComplete:()=>{e(J("navbar"))},onAutoCompleteEntity:o=>{let r="";r=o.type!=="vendor"||o.detailType!=="bank_merchant"&&o.detailType!=="card_merchant"?ue(o,a.tenantEmailDomain):as(o.zeniId,o.qboId,a.tenantEmailDomain);const s=w(a.location.state?.pathnameStackToGoBack,a.location.pathname);a.navigate(r,{state:{pathnameStackToGoBack:s,referrer:"Search"}})}}}}))(ts);function qs(){const e=ra(),a=Fa(),t=La(a),{isAiCfoOpen:n,setIsAiCfoOpen:o,setAiCfoSidePanelQuestionToSubmit:r}=Oa(),s=W(),i=$(),c=H(),m=M.getSignedInUser(),{useFeatureGate:g,useDynamicConfig:C}=Se(),[u,l]=b.useState(!1),[h,p]=b.useState(!1),f=Ra(),{tenantEmailDomain:S}=K(),{isAiCfoAccessEnabled:E,onAskAiCfoClick:v}=ae({mobileExploreReferrer:"Dashboard"}),k=_((A=>A.tenantState.fetchState==="Completed"||A.tenantState.activeTenantFetchState.fetchState==="Completed"?U(A):void 0)),x=k??M.getSignedInUserTenant(S),D=k?.masterTOSInfo?.isMasterTOSAccepted??!1,y=x.tenantId,I=x.companyId;b.useEffect((()=>{u===!1&&c.state?.message==="activation"&&(i(bo(I)),l(!0))}),[c.state,u,I,i]),b.useEffect((()=>{f&&!h&&c.state?.message==="open_ai_cfo_drawer"&&(p(!0),D?(o(!0),s({pathname:c.pathname,search:c.search,hash:c.hash},{replace:!0,state:{...c.state,message:void 0}})):se({location:c,navigate:s,mergeState:{referrer:"Dashboard",message:void 0}}))}),[c,h,f,D,o,s]);const{isFeatureEnabled:L}=g(B.isApAgingFeatureEnabled),{isFeatureEnabled:ne}=g(B.isExpenseAutomationEnabled),{isFeatureEnabled:$e}=g(B.isExpenseAutomationEnabledV2),me=Zo(),{isFeatureEnabled:ze}=g(B.isTreasuryEnabled),F=Qo(me),{isFeatureEnabled:oe}=g(B.isArAgingFeatureEnabled),{isFeatureEnabled:Ke}=g(B.isDepositAccountsFeatureEnabled),{isFeatureEnabled:qe}=g(B.isReferralFeatureEnabled),{isFeatureEnabled:qa}=g(B.isChargeCardFeatureEnabled),{isFeatureEnabled:Za}=g(B.isAiCfoFileUploadEnabled),{isFeatureEnabled:Qa}=g(B.isDashboardSidebarChristmasAnimationEnabled),{isFeatureEnabled:Ha}=g(B.isDashboardSidebarNewYearAnimationEnabled),{isFeatureEnabled:Wa}=g(B.aiAuditScorePercentage),{configValue:Bt}=C(Ba.zeniCardsConfig),Xa=Bt.charge_card_cashback_rate_per_transaction==null?.0175:Bt.charge_card_cashback_rate_per_transaction;if(c.state?.message==="activation"){const A=Ho(c.state?.pathnameStackToGoBack);s(c.pathname,{state:{...c.state,message:void 0,pathnameStackToGoBack:A.newStack}})}const[jt,Ja]=b.useState(!1),[at,en]=b.useState(!1);Us("command+p, Control+p",(A=>{en(!at),A.preventDefault()}),{enableOnContentEditable:!0,enableOnTags:["INPUT","SELECT","TEXTAREA"]},[at]);const Mt=k?.externalConnections?.accounting[0]?.isValid;if(m==null)throw Error("Can't access dashboard without signing in...");const pe=_((A=>U(A)?.excludedResources)),tn=_((A=>A.expenseAutomationViewState.selectedPeriodByTenantId)),an=!!k?.companyReimbursementInfo?.info?.isReimbursementEnabled,nn=!!k?.companyBillPayInfo?.info?.isBillPayEnabled,on=_((A=>A.treasurySetupViewState.treasuryFundsDetails)).fetchStatus.fetchState,sn=k?.company!=null&&Co(k.company),rn=ze&&sn,nt=_e(),cn=yt(nt?.loggedInUserRoleMap),z=[],Lt=pe?.resources?.find((A=>A.resource==="/reports/top_expenses"))==null,ln=pe?.resources?.find((A=>A.resource==="/reports/task_card"))==null,ot=k?.userRole!=null&&_a(k?.userRole),dn=pe?.resources?.find((A=>A.resource==="/bills"))==null&&!ot,un=pe?.resources?.find((A=>A.resource==="/reimbursements"))==null,mn=ko(nt?.loggedInUserRoleMap),pn=_o(nt?.loggedInUserRoleMap),hn=k?.company?.companyChargeCardInfo?.chargeCardsCreditAccountLimit??0,fn=k?.companyChargeCardInfo?.info?.isCompanyInterestedInChargeCard??!1,gn=_((A=>A.treasurySetupViewState.treasuryFundsDetails)).fundsDetails;Lt===!1&&z.push("top_expenses"),ln===!1&&z.push("task_card"),dn===!1&&z.push("bill_pay_card","bill_pay_promo_card"),L===!1&&z.push("accounts_payable_aging"),oe===!1&&z.push("accounts_receivable_aging"),(me===!1||ot)&&z.push("expense_automation_card"),un===!1&&z.push("reimbursement_card","reimbursement_promo_card"),z.push("zeni_accounts_promo_card","treasury_promo_card"),qe===!1&&z.push("rewards_card");const{areTenantIdsInSync:Ut}=Wo();b.useLayoutEffect((()=>{jt&&F===me||Mt!==!0||!Ut||pe?.fetchState!=="Completed"&&pe?.fetchState!=="Error"||(Ja(!0),i(So(m.userId,I,y,!0,!1,z)))}),[jt,m,y,i,Lt,Mt,pe?.fetchState,Ut]);const bn=_((A=>A.reportUIOptionsState.forecastOnDashboard.isForecastModeOn)),Cn=_((A=>A.revenueState.uiState.selectedForecast?.id)),kn=_((A=>A.cardBalanceState.fetchState)),he=_((A=>yo(A,z,m,$e,ne))),_n=he.fetchState,Sn=b.useMemo((()=>sa(he.cardsOrdered,E)),[he.cardsOrdered,E]),yn=b.useMemo((()=>sa(he.cardsForDashboardUI,E)),[he.cardsForDashboardUI,E]);Ge({isDataReady:!0});const{isSuggestedQuestionsLoading:vn,suggestedPromptQuestions:An}=os(),st=k?.isTreasuryPromoVideoPlayed===!0,Gt=k?.isTreasuryPromoVideoRemindMeLaterClicked===!0,Vt=k?.loginCounterForTreasuryPromoVideo??0,In=k?.isTreasuryPromoIntroClosedByOutsideClick===!0,Nt=_((A=>A.dashboardState.isTreasuryVideoClosed)),Yt=b.useMemo((()=>Xo({isTreasuryPromoVideoRemindMeLaterClicked:Gt,isTreasuryPromoVideoPlayed:st,loginCounterForTreasuryPromoVideo:Vt,isTreasuryVideoClosed:Nt})),[Gt,st,Vt,Nt]),$t=_((A=>pa(A))),ye=$t.uiState?.currentChatSessionId,rt=$t.allSessionsWithOrderedQuestionAnswers??Gs,{currentSessionQuestionAnswers:En}=Jo(rt,ye),zt=En.length===0,Tn=b.useCallback(((A,Z,fe)=>{const ve=m?.userId;if(ve==null)return;const V=A.trim();if(V.length===0&&Z.length===0)return;if(!D)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});const Q=ja(e.getState()),Ae=()=>{const Ie=w(c.state?.pathnameStackToGoBack,c.pathname);s(`/${S}/ai-cfo/explore`,{state:{message:"",origin:"",pathnameStackToGoBack:Ie,referrer:"Dashboard",aiCfoInitialQuestion:V,aiCfoShouldSubmit:!Q&&V.length>0,aiCfoInitialSubmissionSource:oa,...typeof fe=="number"?{aiCfoSuggestionIndex:fe}:{}}})};return t?Z.length>0?void o(!0):void Ae():Z.length>0?Q?(i(_t(V)),void o(!0)):(r(V.length>0?V:null),o(!0),void(V.length>0&&Ma(i,V,oa,ye,rt,ve,fe,Z.length>0?Z:void 0))):(Q&&i(_t(V)),void Ae())}),[rt,ye,i,D,t,c,s,r,o,m?.userId,e,S]),xn=b.useCallback((()=>{D?o(!0):se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})}),[D,c,s,o]),wn=b.useCallback((()=>{if(!D)return void se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});if(S==null)return;const A=w(c.state?.pathnameStackToGoBack,c.pathname);s(`/${S}/ai-cfo/explore`,{state:{pathnameStackToGoBack:A,referrer:"Dashboard"}})}),[D,c,s,S]),Dn=b.useCallback((()=>{if(D)if(t){if(S==null||k==null)return;const A=ye==null||zt?`/${S}/ai-cfo/explore`:`/${S}/ai-cfo/${ye}`,Z=c.state?.pathnameStackToGoBack??[],fe=w(Z,c.pathname);s(A,{state:{...c.state,pathnameStackToGoBack:fe,[es]:!0}})}else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}});else se({location:c,navigate:s,mergeState:{referrer:"Dashboard"}})}),[D,t,c,s,S,k,ye,zt]);return d.jsxs(d.Fragment,{children:[_n==="Completed"?d.jsx(Ve,{analytics:T,onLoad:A=>{A.trackPageLoaded(N.Event.dashboard),rn&&Yt===!0&&A.trackTreasuryPromoView("Dashboard Promo Video")}}):null,d.jsx(Ks,{maxColumns:n?2:void 0,isAiCfoAccessEnabled:E,onAskAiCfoClick:v,onAiCfoDashboardOpenPanel:xn,onAiCfoDashboardOpenScopePage:Dn,isAiCfoFileUploadEnabled:Za===!0&&t===!1,onAiCfoDashboardPromptSubmit:Tn,onAiCfoDashboardExpandToFullPage:wn,aiCfoDashboardSuggestedPromptQuestions:An,aiCfoDashboardSuggestedPromptQuestionsLoading:vn,onDragAndDropCard:(A,Z)=>{if(A===X||Z===X)return;const fe=(function(Q,Ae,Ie){const it=Ie.indexOf(Q),ct=Ie.indexOf(Ae);if(it===-1||ct===-1||it===ct)return Ie;const lt=[...Ie];return lt.splice(it,1),lt.splice(ct,0,Q),lt})(A,Z,Sn),ve=fe.filter((Q=>Q!==X)),V=he.cardsOrdered;(ve.length!==V.length||ve.some(((Q,Ae)=>Q!==V[Ae])))&&i(vo(ve))},dashboardReport:he,passedCardsOrdered:yn,tenantId:y,companyId:I,tenantEmailDomain:S,location:c,navigate:s,isApAgingFeatureEnabled:L,isArAgingFeatureEnabled:oe,isBillPayEnabled:nn,isReimbursementEnabled:an,isSummaryCardsFiltered:at,isForecastOn:bn,selectedForecastOnDashboard:Cn,isVisitingFirstTime:u,isZeniAccountEnabled:Ke,isRewardsFeatureEnabled:qe,hasZeniAccountsAdminAccess:cn,isExpenseAutomationEnabledForUser:me&&ot===!1,selectedPeriod:tn[y],isChargeCardFeatureEnabled:qa,isUserHasCardsAccess:mn,isUserHasTreasuryAccess:pn,cardsCreditLimit:hn,cashbackRate:Xa,isInterestedInChargeCard:fn,cardBalanceFetchState:kn,christmasAnimationEnabled:Qa,newYearAnimationEnabled:Ha,treasuryFundDetails:gn,shouldShowTreasuryPromoIntroVideo:Yt,isTreasuryPromoVideoPlayed:st,isTreasuryPromoIntroClosedByOutsideClick:In,treasuryFetchState:on,aiAuditScorePercentageEnabled:Wa})]})}const Zs=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"},Qs=e=>e.fetchState!=="Error"?e.fetchState:e.reportsInOrder.map((a=>a.fetchState)).reduce(((a,t)=>a==="In-Progress"||a==="Not-Started"?a:t));function vr(){const e=_e(),a=e?.excludedResources?.find((m=>m.resource==="/reports/top_expenses"))==null,{useFeatureGate:t}=Se(),{isFeatureEnabled:n}=t(B.isApAgingFeatureEnabled),{isFeatureEnabled:o}=t(B.isArAgingFeatureEnabled),r=_((m=>U(m))),{isFeatureEnabled:s}=t(B.isDebitCardFeatureEnabled),i=jo(s,r),c=Mo(r);return i===!0||c===!0?d.jsx(bt,{children:d.jsx(O,{path:"/*",element:d.jsx(ss,{})})}):d.jsxs(bt,{children:[d.jsx(O,{path:"/",element:d.jsx(qs,{})}),d.jsx(O,{path:"cash_balance/*",element:d.jsx(Wt,{})}),d.jsx(O,{path:"card_balance/*",element:d.jsx(Wt,{})}),d.jsx(O,{path:"operating_expenses/*",element:d.jsx(re,{})}),d.jsx(O,{path:"operating_expenses/forecast/*",element:d.jsx(ut,{})}),d.jsx(O,{path:"revenue/forecast/*",element:d.jsx(ut,{})}),d.jsx(O,{path:"revenue/*",element:d.jsx(re,{})}),d.jsx(O,{path:"net_burn_or_income/forecast/*",element:d.jsx(ut,{})}),d.jsx(O,{path:"net_burn_or_income/*",element:d.jsx(re,{})}),n===!0&&d.jsxs(d.Fragment,{children:[d.jsx(O,{path:"accounts_payable_aging/*",element:d.jsx(is,{})}),d.jsx(O,{path:"accounts_payable_aging/:vendorId/:reportDate/*",element:d.jsx(rs,{})})]}),o&&d.jsxs(d.Fragment,{children:[d.jsx(O,{path:"accounts_receivable_aging/:customerId/:reportDate/*",element:d.jsx(cs,{})}),d.jsx(O,{path:"accounts_receivable_aging/*",element:d.jsx(ls,{})})]}),d.jsx(O,{path:"cash_position/*",element:d.jsx(re,{})}),d.jsx(O,{path:"top_expenses/*",element:a===!0?d.jsx(re,{}):d.jsx(je,{})}),d.jsx(O,{path:"cash_in_cash_out/*",element:d.jsx(re,{})}),d.jsx(O,{path:"company_details",element:d.jsx(ns,{})}),d.jsx(O,{path:"referrals/*",element:d.jsx(Pn,{to:"../../rewards/refer",replace:!0})}),d.jsx(O,{path:"*",element:d.jsx(je,{})})]})}export{vr as default};
|