@zeniai/web-components 4.3.78 → 4.3.80
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/{SessionTimeoutPopup-oWPPGQcr.js → SessionTimeoutPopup-16W6J9u6.js} +66261 -66031
- package/dist/{SessionTimeoutPopup-DQ4ojB8o.cjs → SessionTimeoutPopup-DnT8FWxl.cjs} +14711 -14711
- package/dist/appLocale.d.ts +18 -1
- package/dist/cockpit.cjs.js +7 -7
- package/dist/cockpit.esm.js +101 -102
- package/dist/components/commentsAndNotes/utils/CollaborationHelpers.d.ts +15 -0
- package/dist/components/expenseAutomation/stories/actualMatchingPageStoryActions.d.ts +2 -0
- package/dist/components/invoicing/catalogForm/catalogItemForm.shared.d.ts +0 -7
- package/dist/components/invoicing/common/invoicingAccountPickerOptions.d.ts +14 -0
- package/dist/components/invoicing/couponForm/InvoicingCouponFormPage.d.ts +16 -2
- package/dist/components/invoicing/couponForm/couponForm.shared.d.ts +5 -1
- package/dist/components/invoicing/discountDetail/InvoicingDiscountDetailPage.d.ts +7 -0
- package/dist/components/reports/PdfColumnLimitPopup.d.ts +12 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.esm.js +1 -1
- package/dist/strings/strings.d.ts +18 -1
- package/package.json +6 -6
package/dist/appLocale.d.ts
CHANGED
|
@@ -164,6 +164,7 @@ declare class AppLocale {
|
|
|
164
164
|
alternateRecommendation: string;
|
|
165
165
|
thoughtProcess: string;
|
|
166
166
|
insured: string;
|
|
167
|
+
monthInsightSent: string;
|
|
167
168
|
subject: string;
|
|
168
169
|
refer: string;
|
|
169
170
|
copy: string;
|
|
@@ -3761,6 +3762,20 @@ declare class AppLocale {
|
|
|
3761
3762
|
maxPeriodSelectionAllowed: {
|
|
3762
3763
|
pdf: string;
|
|
3763
3764
|
};
|
|
3765
|
+
pdfColumnLimit: {
|
|
3766
|
+
title: string;
|
|
3767
|
+
description: string;
|
|
3768
|
+
selectionWithAddedColumns: string;
|
|
3769
|
+
periods: {
|
|
3770
|
+
month: string;
|
|
3771
|
+
quarter: string;
|
|
3772
|
+
year: string;
|
|
3773
|
+
};
|
|
3774
|
+
addedColumn: string;
|
|
3775
|
+
addedColumns: string;
|
|
3776
|
+
columns: string;
|
|
3777
|
+
downloadAsExcel: string;
|
|
3778
|
+
};
|
|
3764
3779
|
additionalColumns: {
|
|
3765
3780
|
month: {
|
|
3766
3781
|
free_range_total: string;
|
|
@@ -4296,7 +4311,6 @@ declare class AppLocale {
|
|
|
4296
4311
|
noPerson: string;
|
|
4297
4312
|
createMonthInsight: string;
|
|
4298
4313
|
editMonthInsight: string;
|
|
4299
|
-
monthInsightSent: string;
|
|
4300
4314
|
monthInsightNotReady: string;
|
|
4301
4315
|
monthInsightsCanBeSentFromDashboard: string;
|
|
4302
4316
|
monthInsightsCanBeEditedFromDashboard: string;
|
|
@@ -9966,6 +9980,8 @@ declare class AppLocale {
|
|
|
9966
9980
|
periodPlaceholder: string;
|
|
9967
9981
|
periodUnitLabel: string;
|
|
9968
9982
|
maxRedemptionsPlaceholder: string;
|
|
9983
|
+
discountsAccountLabel: string;
|
|
9984
|
+
discountsAccountPlaceholder: string;
|
|
9969
9985
|
};
|
|
9970
9986
|
invoicingCreateInvoice: {
|
|
9971
9987
|
selectPaymentTerm: string;
|
|
@@ -10257,6 +10273,7 @@ declare class AppLocale {
|
|
|
10257
10273
|
diagnosticsRetainedUntil: string;
|
|
10258
10274
|
};
|
|
10259
10275
|
invoicingDiscountDetail: {
|
|
10276
|
+
discountsAccountLabel: string;
|
|
10260
10277
|
month: string;
|
|
10261
10278
|
limitedSinglePeriod: string;
|
|
10262
10279
|
limitedMultiPeriodPrefix: string;
|
package/dist/cockpit.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./SessionTimeoutPopup-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./SessionTimeoutPopup-DnT8FWxl.cjs"),o=require("./vendor-.pnpm-BGlYY3q9.cjs"),p=require("react"),s=require("@emotion/styled"),ot=require("@liveblocks/react"),J=require("@zeniai/client-epic-state"),rr=require("@liveblocks/react-ui"),$e=require("@emotion/react"),Xo=require("react-dom"),It=require("@liveblocks/react-ui/primitives"),ma=require("@liveblocks/react/suspense");function Ul(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const ce=Ul(p),Hl=({inboxNotification:e,onNotificationClick:n})=>{const r=ot.useInboxNotificationThread(e.id),i=r.metadata.entityType.split("."),a=r.metadata.isGlobalComment&&i.length===2;return o.jsxRuntimeExports.jsx(Kl,{isClickable:a,isUnRead:e.readAt==null,onClick:()=>{n(r.metadata,r.id)},children:o.jsxRuntimeExports.jsx(rr.InboxNotification,{inboxNotification:e,kinds:{thread:c=>o.jsxRuntimeExports.jsx(rr.InboxNotification.Thread,{...c,showRoomName:!0})}})})},Kl=s.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
width: 100%;
|
|
4
4
|
cursor: ${e=>e.isClickable?"pointer":"initial"};
|
|
@@ -1017,7 +1017,7 @@ ${e}`,ex=e=>ce.createElement("svg",{width:38,height:39,viewBox:"0 0 38 39",fill:
|
|
|
1017
1017
|
`,Pr=s(t.SmallRegularSp)`
|
|
1018
1018
|
text-align: left;
|
|
1019
1019
|
color: ${e=>e.theme.colors.important};
|
|
1020
|
-
`,po=e=>ce.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},ce.createElement("path",{d:"M6 8H10",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M6 6H10",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M9.5 14.5C9.62209 14.5 9.73252 14.4545 9.81934 14.3818C9.83066 14.3724 9.843 14.364 9.85352 14.3535L13.3535 10.8535C13.4221 10.7849 13.4706 10.6965 13.4902 10.5977C13.4966 10.5657 13.5 10.533 13.5 10.5V2.5C13.5 2.23479 13.3946 1.98051 13.207 1.79297C13.0195 1.60543 12.7652 1.5 12.5 1.5H3.5C3.23478 1.5 2.98051 1.60543 2.79297 1.79297C2.60543 1.98051 2.5 2.23478 2.5 2.5V13.5C2.5 13.7652 2.60543 14.0195 2.79297 14.207C2.9805 14.3946 3.23478 14.5 3.5 14.5H9.5ZM3.5 2.5H12.5V10H9.5C9.22386 10 9 10.2239 9 10.5V13.5H3.5V2.5ZM10 11H11.793L10 12.793V11Z",fill:"currentColor"})),za=e=>ce.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},ce.createElement("path",{d:"M11 14.9629H2V3.86499",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M10.0559 8.31177H11.7836",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M10.0559 5.7395H11.7836",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M6.52014 5.73978L7.163 6.38264L8.44871 5.09692",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M6.52014 8.31107L7.163 8.95393L8.44871 7.66821",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M13.5591 1.02539H4.74212C4.49865 1.02539 4.30127 1.36118 4.30127 1.77539V12.2754C4.30127 12.6896 4.49865 13.0254 4.74212 13.0254H13.5591C13.8026 13.0254 14 12.6896 14 12.2754V1.77539C14 1.36118 13.8026 1.02539 13.5591 1.02539Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),{cockpit:{management:{productVerticals:{placeholder:Jx},editMonthInsight:eh,createMonthInsight:th,monthInsightSent:oh,monthInsightNotReady:nh,monthInsightsCanBeSentFromDashboard:sh,sendMonthInsightsFromDashboardWhenReady:rh,monthInsightsCanBeEditedFromDashboard:ih,monthEndHistoryUnavailable:ah}},dateFormat:Qs,common:Ye}=t.appLocale.getLocalizedStrings(),lh=Qs.visual.MMMMFormat,Lr={status:Ye.texts.status,group:Ye.texts.group,plans:Ye.texts.plans,controller:Ye.texts.controller,customerSuccessManager:Ye.texts.csManager,preparer:Ye.texts.preparer,reviewer:Ye.texts.reviewer,apAnalyst:Ye.texts.apAnalyst,reportSent:Ye.texts.date,taxStatus:Ye.texts.status,taxLead:Ye.texts.taxLead},ch=["status","group","reportSent","taxStatus","customerSatisfaction"],dh=({reportSent:e,hasMonthEndEmailHistory:n,onReportSentClick:r})=>{if(e.date==null)return o.jsxRuntimeExports.jsx(Gn,{children:Ye.strings.hyphen});const i=`${Ye.datePicker.businessDay} ${e.businessDay??Ye.strings.empty}${Ye.strings.colon} ${e.date.format(Qs.visual.DMMMFormat)}`;return n?o.jsxRuntimeExports.jsx(Gn,{onClick:r,children:i}):o.jsxRuntimeExports.jsx(t.Tooltip,{placement:"bottom-end",variant:"small-description",data:ah,style:{color:t.Colors.championDark,marginTop:t.Space.sp2},display:"flex",children:o.jsxRuntimeExports.jsx(Gn,{children:i})})},ph=({companyView:e,hasMonthEndEmailHistory:n,companiesExcludedFromMonthEndReport:r,showDetailsPageLink:i,allUsers:a,loggedInUserRole:c,companyNameSticky:l,totalHeight:d,isExpenseAutomationEnabledForUser:u,addThreadRequestThreadId:m,targetElementFromNavigation:x,resetTargetElementFromNavigation:f,setNoteData:h,setElementRef:S,setAddThreadRequestThreadId:j,changeHandlers:g,onCompanyNameClicked:b,onPassportIconClicked:C,onTaskIconClicked:y,onViewDetailsLinkClicked:E,onMonthEndReportPageClick:v,showMonthEndReportHistoricData:$,isProductVerticalsColumnVisible:I=!1,onProductVerticalsChanged:w,isRealmIdColumnVisible:T=!1,realmIdUpdateFetchState:z,onRealmIdReset:_,onRealmIdUpdate:H})=>{const[U,K]=p.useState(null),W=t.useWindowSizeContext(),R=o.useForm({mode:"all"}),[A,B]=p.useState(!1),{companyId:P,name:k}=e.company.company.companyInfo,N=iu(nu(e)),V={allOptions:ru(N),selectedOptions:N},ee=p.useRef(N);p.useEffect(()=>{ee.current=N,R.setValue("productVerticals",V)},[P]);const Y=["companyData.status","companyData.group","companyData.controller","companyData.customerSuccessManager","companyData.preparer","companyData.reviewer","companyData.apAnalyst","companyData.reportSent","companyData.taxStatus","companyData.taxLead","companyData.customerSatisfaction"],Z=`cockpit_${P}`,Q="management.notes",{threads:F,isLoading:ue}=t.useFilteredThreads({entityType:Q,companyId:P},!1),{openThread:q,threads:G,addThread:ie,removeThread:ae,setOpenThread:me}=p.useContext(t.ThreadsContext),je=q!==null?G.get(q):null,D=q?.includes(P)===!0,de=q!=null&&G.get(q)==null&&D,le=m!=null&&G.get(m)?.metadata.companyId===P,xe=(O,he)=>{Y.includes(O)&&g(P,he)};p.useEffect(()=>{const O=R.watch((he,{name:Re})=>{if(Re!=null&&Re.startsWith("companyData.")&&he.companyData!=null&&o.defer(()=>xe(Re,Th(he.companyData,Re))),Re==="productVerticals"&&he.productVerticals!=null){const Oe=he.productVerticals.selectedOptions,Ee=au(ee.current,Oe);ee.current=Oe,Object.keys(Ee).length>0&&w?.(P,Ee)}});return()=>{O.unsubscribe()}});const L=kh(e,a),ge=()=>{e.company.schema.status.length===0?B(!0):b(e)},Te=()=>{v?.(e)},M=c?.userRoles?.includes("admin"),fe=e.company.company.configInfo.isMonthEndReportInDraft,se=J.canSendMonthEndEmailReport(e,r),te=J.shouldEnableCalendarPickerForLastReportSent(e,r),we=e.company.company.companyInfo.bookCloseDate,Se=e.company.company.managementInfo.lastReportSentDate,He=e.taskSummary?.count??0,Ie=p.useCallback(()=>{q?.includes(t.NEW_THREAD_SUFFIX)===!0&&ae(q),m!=null&&j(void 0)},[m,q,ae,j]),X=p.useCallback(O=>{if(O===q)me(null);else if(G.has(O))me(O);else if(O.includes(t.NEW_THREAD_SUFFIX)){const[he,Re]=O.replace(t.NEW_THREAD_SUFFIX,"").split("."),Oe=co(Bt(he),J.toManagementSortKeyType(Re),P,k);ie(O,{type:"thread",visibility:"public",id:O,roomId:Z,createdAt:new Date,updatedAt:new Date,comments:[],metadata:Oe,resolved:!1}),me(O)}},[P,k,q,G,ie,me,Z]),ke=p.useCallback((O,he,Re=!1)=>{const Oe=zt.find(Ee=>Ee.key===he);if(f(),Oe!=null&&(O.type==="contextmenu"||Re===!0)){if(Oe.isThreadAllowed===!1)return;Ie(),O.preventDefault(),O.stopPropagation();const Ee=t.toCollaborationEntityType({tab:"management",key:Oe.key});if(O.target instanceof HTMLElement||O.target instanceof SVGElement)if(Re===!0&&O.target instanceof HTMLElement)K(O.target.parentElement);else if(O.target instanceof HTMLElement){const Qe=Zs(O.target,ne);K(Qe||O.target)}else{const Qe=O.target.closest(`.${ne}`);Qe instanceof HTMLElement&&K(Qe)}const Xe=[...t.getFilteredThreads(G,{entityType:Ee,companyId:P},"both")],be=Xe.length>0&&Xe[0].length>0?Xe[0][0]:Le("management",Oe.key,P);G.has(be)?X(be):m===be?j(void 0):(j(be),me(null))}},[G,P,m,X,j,me,f,Ie]),Ce=p.useCallback((O,he)=>{O.stopPropagation();const Re=Le("management",he,P);j(void 0),X(Re)},[P,j,X]),uo=()=>{L.reportSent.date!=null&&$(P,L.reportSent.date)},Ve=O=>o.jsxRuntimeExports.jsx(t.StickyThread,{isElementThreadOpen:O.isElementThreadOpen??!1,isElementThreadPresent:O.isElementThreadPresent??!1,itemKey:O.itemKey,elementThreadId:O.elementThreadId??"",roomId:Z,addThreadRequestThreadId:m,openThreadId:q,threadStyle:O.threadStyle,openThreadMetadata:je?.metadata??null,onElementClick:ke,onAddThreadClick:Ce,targetElement:x??U});return o.jsxRuntimeExports.jsxs(o.FormProvider,{...R,children:[A===!0?o.jsxRuntimeExports.jsx(Cm,{companyDomain:e.company.company.companyInfo.primaryEmailDomain,hasAdminRole:M,onCancelClick:()=>B(!1),onConnectClick:()=>b(e)}):null,o.jsxRuntimeExports.jsx("form",{style:{height:"100%"},children:o.jsxRuntimeExports.jsx(o.ClickAwayListener,{onClickAway:()=>{f(),m!=null&&(j(void 0),m.includes(t.NEW_THREAD_SUFFIX)&&ae(m))},children:o.jsxRuntimeExports.jsx(uh,{windowSize:W,hoverParentSubsidiaryTag:i??!1,isThreadOpen:D||le,totalHeight:d,isCreationInProgress:de,children:zt.map((O,he)=>{const Re=t.toCollaborationEntityType({tab:"management",key:O.key}),Ee=zt.length-(I?0:1)-(T?0:1)-2<=he,Xe=[...t.getFilteredThreads(G,{entityType:Re,companyId:P},"both")],be=Xe.length>0&&Xe[0].length>0?Xe[0][0]:Le("management",O.key,P),Qe=G.get(be),qe=Qe!=null&&Qe.resolved===!1,Ke=be===q,Ue=m===be;switch(O.key){case"companyName":return o.jsxRuntimeExports.jsxs(Sh,{companyNameSticky:l,columnWidth:O.width,windowSize:W,isThreadOpen:Ke||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),ref:oe=>{S(P,O.key,oe)},children:[o.jsxRuntimeExports.jsxs(hh,{children:[o.jsxRuntimeExports.jsx(gh,{className:"company-name",onClick:oe=>{oe.preventDefault(),oe.stopPropagation(),ge()},children:L.companyName}),L.parentSubsidiaryInfo&&o.jsxRuntimeExports.jsx(Fu,{companyId:L.companyId,isEnabled:i,onViewDetailsLinkClicked:E,companyName:L.companyName,parentSubsidiaryRelationship:L.parentSubsidiaryInfo}),o.jsxRuntimeExports.jsx(t.ThreadComponent,{isElementThreadOpen:Ke,targetElement:x??U,roomId:Z,openThreadId:q,openThreadMetadata:je?.metadata??null})]}),o.jsxRuntimeExports.jsxs(yh,{children:[o.jsxRuntimeExports.jsxs(jh,{onClick:oe=>{oe.preventDefault(),h({roomId:Z,companyId:P,companyName:k,entityType:Q})},children:[o.jsxRuntimeExports.jsx(t.CommentsAndNotesCount,{count:F.length,isLoading:ue}),o.jsxRuntimeExports.jsx(bh,{})]}),o.jsxRuntimeExports.jsx(fh,{onClick:oe=>{oe.preventDefault(),C(e)},children:o.jsxRuntimeExports.jsx(Ch,{className:"passportIcon"})})]}),o.jsxRuntimeExports.jsx(t.ThreadDotComponent,{isElementThreadPresent:qe,itemKey:O.key,style:{left:t.Space.sp4},onElementClick:ke}),o.jsxRuntimeExports.jsx(t.AddThreadsComponent,{elementThreadId:Le("management",O.key,P),addThreadRequestThreadId:m,itemKey:O.key,onAddThreadClick:Ce})]},be);case"task":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsxs(Rh,{onClick:oe=>{oe.preventDefault(),y?.(e)},children:[o.jsxRuntimeExports.jsx($h,{}),He>0?o.jsxRuntimeExports.jsx(t.CommentsAndNotesCount,{isLoading:!1,count:He}):null]}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"status":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(nm,{name:"companyData.status",value:L.status}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"group":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(Lm,{name:"companyData.group",value:L.group}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"plans":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx($m,{chips:L.plansAndAddons}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"satisfaction":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},windowSize:W,columnWidth:O.width,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(Fx,{name:"companyData.customerSatisfaction",value:L.customerSatisfaction}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"bookCloseDate":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[we?.format(Qs.visual.MMMDCommaYYYYformat)??Ye.strings.hyphen,Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"reportSent":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),style:{alignItems:"center"},children:[te&&o.jsxRuntimeExports.jsx(xh,{children:o.jsxRuntimeExports.jsx(t.ZeniDatePickerField,{name:"companyData.reportSent",defaultValue:L.reportSent})}),!te&&o.jsxRuntimeExports.jsx(dh,{reportSent:L.reportSent,onReportSentClick:uo,hasMonthEndEmailHistory:n}),o.jsxRuntimeExports.jsx(mh,{children:u?o.jsxRuntimeExports.jsx(Lh,{isMonthEndReportInDraft:fe,bookCloseDate:we,lastReportSentDate:Se,enableCompanyMonthEndReportBtn:se,handleMonthEndReportPageClick:Te}):o.jsxRuntimeExports.jsx(Ns,{isMonthEndReportInDraft:fe,bookCloseDate:we,lastReportSentDate:Se,enableCompanyMonthEndReportBtn:se,isExpenseAutomationEnabledForUser:u,handleMonthEndReportPageClick:Te})}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"customerSuccessManager":case"preparer":case"reviewer":case"apAnalyst":case"controller":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(t.UserMultiSelectField,{name:`companyData.${O.key}`,value:L[O.key],placeholderLabel:Lr[O.key],pickerStyles:{titleTextStyle:t.textStyles.largeRegular,multiValueLabelTitleStyle:t.textStyles.largeRegular}}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"taxStatus":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(Ux,{name:"companyData.taxStatus",value:L.taxStatus}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"taxLead":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},hasLeadingGap:!0,columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(t.UserMultiSelectField,{name:"companyData.taxLead",value:L.taxLead,placeholderLabel:Lr.taxLead,pickerStyles:{titleTextStyle:t.textStyles.largeRegular,multiValueLabelTitleStyle:t.textStyles.largeRegular}}),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"monthlyRecurringRevenue":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[t.amountToString("0,0",L.monthlyRecurringRevenue),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"annualRecurringRevenue":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[t.amountToString("0,0",L.annualRecurringRevenue),Ve({isElementThreadOpen:Ke,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"productVerticals":return I?o.jsxRuntimeExports.jsx(nt,{ref:oe=>{S(P,O.key,oe)},hasLeadingGap:!0,columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:o.jsxRuntimeExports.jsx(Da,{name:"productVerticals",defaultValue:V,placeholder:Jx,selectedOptionsAlignment:"left"})},be):null;case"realmId":return T?o.jsxRuntimeExports.jsx(nt,{ref:oe=>{S(P,O.key,oe)},hasLeadingGap:!0,columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:o.jsxRuntimeExports.jsx(Kx,{companyId:P,tenantName:L.companyName,updateFetchState:z,onReset:oe=>_?.(oe),onUpdate:(oe,Bn)=>H?.(oe,Bn)})},be):null;default:return null}})})})})]})},Ns=({enableCompanyMonthEndReportBtn:e,isMonthEndReportInDraft:n,isExpenseAutomationEnabledForUser:r,bookCloseDate:i,lastReportSentDate:a,handleMonthEndReportPageClick:c})=>o.jsxRuntimeExports.jsx(t.Button,{size:"small",onClick:c,variant:"primary",label:Ph(e,n,i,a),disabled:!e||r,style:e?{}:{background:"transparent"},prefixIcon:e&&n?o.jsxRuntimeExports.jsx(Eh,{}):void 0}),uh=s.div`
|
|
1020
|
+
`,po=e=>ce.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},ce.createElement("path",{d:"M6 8H10",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M6 6H10",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M9.5 14.5C9.62209 14.5 9.73252 14.4545 9.81934 14.3818C9.83066 14.3724 9.843 14.364 9.85352 14.3535L13.3535 10.8535C13.4221 10.7849 13.4706 10.6965 13.4902 10.5977C13.4966 10.5657 13.5 10.533 13.5 10.5V2.5C13.5 2.23479 13.3946 1.98051 13.207 1.79297C13.0195 1.60543 12.7652 1.5 12.5 1.5H3.5C3.23478 1.5 2.98051 1.60543 2.79297 1.79297C2.60543 1.98051 2.5 2.23478 2.5 2.5V13.5C2.5 13.7652 2.60543 14.0195 2.79297 14.207C2.9805 14.3946 3.23478 14.5 3.5 14.5H9.5ZM3.5 2.5H12.5V10H9.5C9.22386 10 9 10.2239 9 10.5V13.5H3.5V2.5ZM10 11H11.793L10 12.793V11Z",fill:"currentColor"})),za=e=>ce.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},ce.createElement("path",{d:"M11 14.9629H2V3.86499",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M10.0559 8.31177H11.7836",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M10.0559 5.7395H11.7836",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M6.52014 5.73978L7.163 6.38264L8.44871 5.09692",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M6.52014 8.31107L7.163 8.95393L8.44871 7.66821",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M13.5591 1.02539H4.74212C4.49865 1.02539 4.30127 1.36118 4.30127 1.77539V12.2754C4.30127 12.6896 4.49865 13.0254 4.74212 13.0254H13.5591C13.8026 13.0254 14 12.6896 14 12.2754V1.77539C14 1.36118 13.8026 1.02539 13.5591 1.02539Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),{cockpit:{management:{productVerticals:{placeholder:Jx},editMonthInsight:eh,createMonthInsight:th,monthInsightNotReady:oh,monthInsightsCanBeSentFromDashboard:nh,sendMonthInsightsFromDashboardWhenReady:sh,monthInsightsCanBeEditedFromDashboard:rh,monthEndHistoryUnavailable:ih}},dateFormat:Qs,common:He}=t.appLocale.getLocalizedStrings(),ah=Qs.visual.MMMMFormat,lh=He.texts.monthInsightSent,Lr={status:He.texts.status,group:He.texts.group,plans:He.texts.plans,controller:He.texts.controller,customerSuccessManager:He.texts.csManager,preparer:He.texts.preparer,reviewer:He.texts.reviewer,apAnalyst:He.texts.apAnalyst,reportSent:He.texts.date,taxStatus:He.texts.status,taxLead:He.texts.taxLead},ch=["status","group","reportSent","taxStatus","customerSatisfaction"],dh=({reportSent:e,hasMonthEndEmailHistory:n,onReportSentClick:r})=>{if(e.date==null)return o.jsxRuntimeExports.jsx(Gn,{children:He.strings.hyphen});const i=`${He.datePicker.businessDay} ${e.businessDay??He.strings.empty}${He.strings.colon} ${e.date.format(Qs.visual.DMMMFormat)}`;return n?o.jsxRuntimeExports.jsx(Gn,{onClick:r,children:i}):o.jsxRuntimeExports.jsx(t.Tooltip,{placement:"bottom-end",variant:"small-description",data:ih,style:{color:t.Colors.championDark,marginTop:t.Space.sp2},display:"flex",children:o.jsxRuntimeExports.jsx(Gn,{children:i})})},ph=({companyView:e,hasMonthEndEmailHistory:n,companiesExcludedFromMonthEndReport:r,showDetailsPageLink:i,allUsers:a,loggedInUserRole:c,companyNameSticky:l,totalHeight:d,isExpenseAutomationEnabledForUser:u,addThreadRequestThreadId:m,targetElementFromNavigation:x,resetTargetElementFromNavigation:f,setNoteData:h,setElementRef:S,setAddThreadRequestThreadId:j,changeHandlers:g,onCompanyNameClicked:b,onPassportIconClicked:C,onTaskIconClicked:y,onViewDetailsLinkClicked:E,onMonthEndReportPageClick:v,showMonthEndReportHistoricData:$,isProductVerticalsColumnVisible:I=!1,onProductVerticalsChanged:w,isRealmIdColumnVisible:T=!1,realmIdUpdateFetchState:z,onRealmIdReset:_,onRealmIdUpdate:H})=>{const[U,K]=p.useState(null),W=t.useWindowSizeContext(),R=o.useForm({mode:"all"}),[A,B]=p.useState(!1),{companyId:P,name:k}=e.company.company.companyInfo,N=iu(nu(e)),V={allOptions:ru(N),selectedOptions:N},ee=p.useRef(N);p.useEffect(()=>{ee.current=N,R.setValue("productVerticals",V)},[P]);const Y=["companyData.status","companyData.group","companyData.controller","companyData.customerSuccessManager","companyData.preparer","companyData.reviewer","companyData.apAnalyst","companyData.reportSent","companyData.taxStatus","companyData.taxLead","companyData.customerSatisfaction"],Z=`cockpit_${P}`,Q="management.notes",{threads:F,isLoading:ue}=t.useFilteredThreads({entityType:Q,companyId:P},!1),{openThread:q,threads:G,addThread:ie,removeThread:ae,setOpenThread:me}=p.useContext(t.ThreadsContext),je=q!==null?G.get(q):null,D=q?.includes(P)===!0,de=q!=null&&G.get(q)==null&&D,le=m!=null&&G.get(m)?.metadata.companyId===P,xe=(O,he)=>{Y.includes(O)&&g(P,he)};p.useEffect(()=>{const O=R.watch((he,{name:Re})=>{if(Re!=null&&Re.startsWith("companyData.")&&he.companyData!=null&&o.defer(()=>xe(Re,Th(he.companyData,Re))),Re==="productVerticals"&&he.productVerticals!=null){const Oe=he.productVerticals.selectedOptions,Ee=au(ee.current,Oe);ee.current=Oe,Object.keys(Ee).length>0&&w?.(P,Ee)}});return()=>{O.unsubscribe()}});const L=kh(e,a),ge=()=>{e.company.schema.status.length===0?B(!0):b(e)},Te=()=>{v?.(e)},M=c?.userRoles?.includes("admin"),fe=e.company.company.configInfo.isMonthEndReportInDraft,se=J.canSendMonthEndEmailReport(e,r),te=J.shouldEnableCalendarPickerForLastReportSent(e,r),we=e.company.company.companyInfo.bookCloseDate,Se=e.company.company.managementInfo.lastReportSentDate,Ke=e.taskSummary?.count??0,Ie=p.useCallback(()=>{q?.includes(t.NEW_THREAD_SUFFIX)===!0&&ae(q),m!=null&&j(void 0)},[m,q,ae,j]),X=p.useCallback(O=>{if(O===q)me(null);else if(G.has(O))me(O);else if(O.includes(t.NEW_THREAD_SUFFIX)){const[he,Re]=O.replace(t.NEW_THREAD_SUFFIX,"").split("."),Oe=co(Bt(he),J.toManagementSortKeyType(Re),P,k);ie(O,{type:"thread",visibility:"public",id:O,roomId:Z,createdAt:new Date,updatedAt:new Date,comments:[],metadata:Oe,resolved:!1}),me(O)}},[P,k,q,G,ie,me,Z]),ke=p.useCallback((O,he,Re=!1)=>{const Oe=zt.find(Ee=>Ee.key===he);if(f(),Oe!=null&&(O.type==="contextmenu"||Re===!0)){if(Oe.isThreadAllowed===!1)return;Ie(),O.preventDefault(),O.stopPropagation();const Ee=t.toCollaborationEntityType({tab:"management",key:Oe.key});if(O.target instanceof HTMLElement||O.target instanceof SVGElement)if(Re===!0&&O.target instanceof HTMLElement)K(O.target.parentElement);else if(O.target instanceof HTMLElement){const Qe=Zs(O.target,ne);K(Qe||O.target)}else{const Qe=O.target.closest(`.${ne}`);Qe instanceof HTMLElement&&K(Qe)}const Xe=[...t.getFilteredThreads(G,{entityType:Ee,companyId:P},"both")],be=Xe.length>0&&Xe[0].length>0?Xe[0][0]:Le("management",Oe.key,P);G.has(be)?X(be):m===be?j(void 0):(j(be),me(null))}},[G,P,m,X,j,me,f,Ie]),Ce=p.useCallback((O,he)=>{O.stopPropagation();const Re=Le("management",he,P);j(void 0),X(Re)},[P,j,X]),uo=()=>{L.reportSent.date!=null&&$(P,L.reportSent.date)},Ve=O=>o.jsxRuntimeExports.jsx(t.StickyThread,{isElementThreadOpen:O.isElementThreadOpen??!1,isElementThreadPresent:O.isElementThreadPresent??!1,itemKey:O.itemKey,elementThreadId:O.elementThreadId??"",roomId:Z,addThreadRequestThreadId:m,openThreadId:q,threadStyle:O.threadStyle,openThreadMetadata:je?.metadata??null,onElementClick:ke,onAddThreadClick:Ce,targetElement:x??U});return o.jsxRuntimeExports.jsxs(o.FormProvider,{...R,children:[A===!0?o.jsxRuntimeExports.jsx(Cm,{companyDomain:e.company.company.companyInfo.primaryEmailDomain,hasAdminRole:M,onCancelClick:()=>B(!1),onConnectClick:()=>b(e)}):null,o.jsxRuntimeExports.jsx("form",{style:{height:"100%"},children:o.jsxRuntimeExports.jsx(o.ClickAwayListener,{onClickAway:()=>{f(),m!=null&&(j(void 0),m.includes(t.NEW_THREAD_SUFFIX)&&ae(m))},children:o.jsxRuntimeExports.jsx(uh,{windowSize:W,hoverParentSubsidiaryTag:i??!1,isThreadOpen:D||le,totalHeight:d,isCreationInProgress:de,children:zt.map((O,he)=>{const Re=t.toCollaborationEntityType({tab:"management",key:O.key}),Ee=zt.length-(I?0:1)-(T?0:1)-2<=he,Xe=[...t.getFilteredThreads(G,{entityType:Re,companyId:P},"both")],be=Xe.length>0&&Xe[0].length>0?Xe[0][0]:Le("management",O.key,P),Qe=G.get(be),qe=Qe!=null&&Qe.resolved===!1,Ge=be===q,Ue=m===be;switch(O.key){case"companyName":return o.jsxRuntimeExports.jsxs(Sh,{companyNameSticky:l,columnWidth:O.width,windowSize:W,isThreadOpen:Ge||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),ref:oe=>{S(P,O.key,oe)},children:[o.jsxRuntimeExports.jsxs(hh,{children:[o.jsxRuntimeExports.jsx(gh,{className:"company-name",onClick:oe=>{oe.preventDefault(),oe.stopPropagation(),ge()},children:L.companyName}),L.parentSubsidiaryInfo&&o.jsxRuntimeExports.jsx(Fu,{companyId:L.companyId,isEnabled:i,onViewDetailsLinkClicked:E,companyName:L.companyName,parentSubsidiaryRelationship:L.parentSubsidiaryInfo}),o.jsxRuntimeExports.jsx(t.ThreadComponent,{isElementThreadOpen:Ge,targetElement:x??U,roomId:Z,openThreadId:q,openThreadMetadata:je?.metadata??null})]}),o.jsxRuntimeExports.jsxs(yh,{children:[o.jsxRuntimeExports.jsxs(jh,{onClick:oe=>{oe.preventDefault(),h({roomId:Z,companyId:P,companyName:k,entityType:Q})},children:[o.jsxRuntimeExports.jsx(t.CommentsAndNotesCount,{count:F.length,isLoading:ue}),o.jsxRuntimeExports.jsx(bh,{})]}),o.jsxRuntimeExports.jsx(fh,{onClick:oe=>{oe.preventDefault(),C(e)},children:o.jsxRuntimeExports.jsx(Ch,{className:"passportIcon"})})]}),o.jsxRuntimeExports.jsx(t.ThreadDotComponent,{isElementThreadPresent:qe,itemKey:O.key,style:{left:t.Space.sp4},onElementClick:ke}),o.jsxRuntimeExports.jsx(t.AddThreadsComponent,{elementThreadId:Le("management",O.key,P),addThreadRequestThreadId:m,itemKey:O.key,onAddThreadClick:Ce})]},be);case"task":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsxs(Rh,{onClick:oe=>{oe.preventDefault(),y?.(e)},children:[o.jsxRuntimeExports.jsx($h,{}),Ke>0?o.jsxRuntimeExports.jsx(t.CommentsAndNotesCount,{isLoading:!1,count:Ke}):null]}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"status":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(nm,{name:"companyData.status",value:L.status}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"group":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(Lm,{name:"companyData.group",value:L.group}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"plans":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx($m,{chips:L.plansAndAddons}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"satisfaction":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},windowSize:W,columnWidth:O.width,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(Fx,{name:"companyData.customerSatisfaction",value:L.customerSatisfaction}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"bookCloseDate":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[we?.format(Qs.visual.MMMDCommaYYYYformat)??He.strings.hyphen,Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"reportSent":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),style:{alignItems:"center"},children:[te&&o.jsxRuntimeExports.jsx(xh,{children:o.jsxRuntimeExports.jsx(t.ZeniDatePickerField,{name:"companyData.reportSent",defaultValue:L.reportSent})}),!te&&o.jsxRuntimeExports.jsx(dh,{reportSent:L.reportSent,onReportSentClick:uo,hasMonthEndEmailHistory:n}),o.jsxRuntimeExports.jsx(mh,{children:u?o.jsxRuntimeExports.jsx(Lh,{isMonthEndReportInDraft:fe,bookCloseDate:we,lastReportSentDate:Se,enableCompanyMonthEndReportBtn:se,handleMonthEndReportPageClick:Te}):o.jsxRuntimeExports.jsx(Ns,{isMonthEndReportInDraft:fe,bookCloseDate:we,lastReportSentDate:Se,enableCompanyMonthEndReportBtn:se,isExpenseAutomationEnabledForUser:u,handleMonthEndReportPageClick:Te})}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"customerSuccessManager":case"preparer":case"reviewer":case"apAnalyst":case"controller":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(t.UserMultiSelectField,{name:`companyData.${O.key}`,value:L[O.key],placeholderLabel:Lr[O.key],pickerStyles:{titleTextStyle:t.textStyles.largeRegular,multiValueLabelTitleStyle:t.textStyles.largeRegular}}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"taxStatus":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(Ux,{name:"companyData.taxStatus",value:L.taxStatus}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"taxLead":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},hasLeadingGap:!0,columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[o.jsxRuntimeExports.jsx(t.UserMultiSelectField,{name:"companyData.taxLead",value:L.taxLead,placeholderLabel:Lr.taxLead,pickerStyles:{titleTextStyle:t.textStyles.largeRegular,multiValueLabelTitleStyle:t.textStyles.largeRegular}}),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"monthlyRecurringRevenue":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[t.amountToString("0,0",L.monthlyRecurringRevenue),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"annualRecurringRevenue":return o.jsxRuntimeExports.jsxs(nt,{ref:oe=>{S(P,O.key,oe)},columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:[t.amountToString("0,0",L.annualRecurringRevenue),Ve({isElementThreadOpen:Ge,isElementThreadPresent:qe,itemKey:O.key,elementThreadId:be,threadStyle:Ee?{right:t.Space.sp0}:void 0})]},be);case"productVerticals":return I?o.jsxRuntimeExports.jsx(nt,{ref:oe=>{S(P,O.key,oe)},hasLeadingGap:!0,columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:o.jsxRuntimeExports.jsx(Da,{name:"productVerticals",defaultValue:V,placeholder:Jx,selectedOptionsAlignment:"left"})},be):null;case"realmId":return T?o.jsxRuntimeExports.jsx(nt,{ref:oe=>{S(P,O.key,oe)},hasLeadingGap:!0,columnWidth:O.width,windowSize:W,isThreadOpen:D||Ue,isThreadAllowed:O.isThreadAllowed,className:ne,onContextMenu:oe=>ke(oe,O.key),children:o.jsxRuntimeExports.jsx(Kx,{companyId:P,tenantName:L.companyName,updateFetchState:z,onReset:oe=>_?.(oe),onUpdate:(oe,Bn)=>H?.(oe,Bn)})},be):null;default:return null}})})})})]})},Ns=({enableCompanyMonthEndReportBtn:e,isMonthEndReportInDraft:n,isExpenseAutomationEnabledForUser:r,bookCloseDate:i,lastReportSentDate:a,handleMonthEndReportPageClick:c})=>o.jsxRuntimeExports.jsx(t.Button,{size:"small",onClick:c,variant:"primary",label:Ph(e,n,i,a),disabled:!e||r,style:e?{}:{background:"transparent"},prefixIcon:e&&n?o.jsxRuntimeExports.jsx(Eh,{}):void 0}),uh=s.div`
|
|
1021
1021
|
display: flex;
|
|
1022
1022
|
flex-direction: row;
|
|
1023
1023
|
align-items: center;
|
|
@@ -1173,7 +1173,7 @@ ${e}`,ex=e=>ce.createElement("svg",{width:38,height:39,viewBox:"0 0 38 39",fill:
|
|
|
1173
1173
|
width: 12px;
|
|
1174
1174
|
height: 12px;
|
|
1175
1175
|
color: ${e=>e.theme.colors.grey5};
|
|
1176
|
-
`,vh=e=>{const n=[];return e.subscriptions.forEach(r=>{r.plan&&n.push(r.plan.plan.zeniSku)}),n},wh=e=>{const n=[];return e.subscriptions.forEach(r=>{r.addOns.forEach(i=>{i.addOn.zeniSku!=null&&n.push(i.addOn.zeniSku)})}),n};function kh(e,n){return{companyName:e.company.company.companyInfo.name,companyId:e.company.company.companyInfo.companyId,parentSubsidiaryInfo:e.company.company.parentSubsidiaryInfo,status:{allStatuses:e.company.schema.status,selectedValue:e.company.schema.status.find(r=>r.code===e.company.company.managementInfo.statusCode)},group:{allGroups:e.company.schema.companyGroup,selectedValue:e.company.schema.companyGroup.find(r=>r.id===e.company.company.managementInfo.companyGroupId)},plansAndAddons:wm([...new Set(vh(e).concat(wh(e)))]),controller:{allUsers:n,selectedUsers:e.controllers.map(r=>r.user)},customerSuccessManager:{allUsers:n,selectedUsers:e.customerSuccessManagers.map(r=>r.user)},preparer:{allUsers:n,selectedUsers:e.preparers.map(r=>r.user)},reviewer:{allUsers:n,selectedUsers:e.reviewers.map(r=>r.user)},apAnalyst:{allUsers:n,selectedUsers:e.apAnalysts.map(r=>r.user)},reportSent:{showBusinessDay:!0,maxDate:J.dateNow(),date:e.company.company.managementInfo.lastReportSentDate,businessDay:e.company.company.managementInfo.lastReportSentBusinessDay},taxStatus:{allTaxStatuses:e.company.schema.taxStatus,selectedValue:e.company.schema.taxStatus.find(r=>r.code===e.company.company.managementInfo.taxStatusCode)},taxLead:{allUsers:n,selectedUsers:e.taxLeads.map(r=>r.user)},monthlyRecurringRevenue:e.primarySubscription?.summary?.summary.monthlyRecurringRevenue,annualRecurringRevenue:e.primarySubscription?.summary?.summary.annualRecurringRevenue,customerSatisfaction:e.company.company.managementInfo.customerSatisfaction??{customerNote:"",teamNote:""}}}function Th(e,n){const r={};r.users=[];const i=n.split(".")[1];if(Ih(i))return{[i]:e[i]};{const{selectedUsers:a,deSelectedUsers:c}=e[i];return c==null||c?.length==0?a.forEach(l=>{l.isUserSelectionUpdated===!0&&r.users?.push(Ar(i,l.userId,l.isRoleSelected))}):c.forEach(l=>{r.users?.push(Ar(i,l.userId,l.isRoleSelected))}),{users:r.users}}}const Ih=e=>ch.includes(e);function Ar(e,n,r){switch(e){case"apAnalyst":return{isZeni:!0,role:J.toUserRoleType("ap_analyst"),userId:n,isSelected:r};case"taxLead":return{isZeni:!0,role:J.toUserRoleType("tax_lead"),userId:n,isSelected:r};case"customerSuccessManager":return{isZeni:!0,role:J.toUserRoleType("customer_success_manager"),userId:n,isSelected:r};default:return{isZeni:!0,role:e,userId:n,isSelected:r}}}const Ph=(e,n,r,i)=>{const a=J.dateNow().subtract(1,"month").format(
|
|
1176
|
+
`,vh=e=>{const n=[];return e.subscriptions.forEach(r=>{r.plan&&n.push(r.plan.plan.zeniSku)}),n},wh=e=>{const n=[];return e.subscriptions.forEach(r=>{r.addOns.forEach(i=>{i.addOn.zeniSku!=null&&n.push(i.addOn.zeniSku)})}),n};function kh(e,n){return{companyName:e.company.company.companyInfo.name,companyId:e.company.company.companyInfo.companyId,parentSubsidiaryInfo:e.company.company.parentSubsidiaryInfo,status:{allStatuses:e.company.schema.status,selectedValue:e.company.schema.status.find(r=>r.code===e.company.company.managementInfo.statusCode)},group:{allGroups:e.company.schema.companyGroup,selectedValue:e.company.schema.companyGroup.find(r=>r.id===e.company.company.managementInfo.companyGroupId)},plansAndAddons:wm([...new Set(vh(e).concat(wh(e)))]),controller:{allUsers:n,selectedUsers:e.controllers.map(r=>r.user)},customerSuccessManager:{allUsers:n,selectedUsers:e.customerSuccessManagers.map(r=>r.user)},preparer:{allUsers:n,selectedUsers:e.preparers.map(r=>r.user)},reviewer:{allUsers:n,selectedUsers:e.reviewers.map(r=>r.user)},apAnalyst:{allUsers:n,selectedUsers:e.apAnalysts.map(r=>r.user)},reportSent:{showBusinessDay:!0,maxDate:J.dateNow(),date:e.company.company.managementInfo.lastReportSentDate,businessDay:e.company.company.managementInfo.lastReportSentBusinessDay},taxStatus:{allTaxStatuses:e.company.schema.taxStatus,selectedValue:e.company.schema.taxStatus.find(r=>r.code===e.company.company.managementInfo.taxStatusCode)},taxLead:{allUsers:n,selectedUsers:e.taxLeads.map(r=>r.user)},monthlyRecurringRevenue:e.primarySubscription?.summary?.summary.monthlyRecurringRevenue,annualRecurringRevenue:e.primarySubscription?.summary?.summary.annualRecurringRevenue,customerSatisfaction:e.company.company.managementInfo.customerSatisfaction??{customerNote:"",teamNote:""}}}function Th(e,n){const r={};r.users=[];const i=n.split(".")[1];if(Ih(i))return{[i]:e[i]};{const{selectedUsers:a,deSelectedUsers:c}=e[i];return c==null||c?.length==0?a.forEach(l=>{l.isUserSelectionUpdated===!0&&r.users?.push(Ar(i,l.userId,l.isRoleSelected))}):c.forEach(l=>{r.users?.push(Ar(i,l.userId,l.isRoleSelected))}),{users:r.users}}}const Ih=e=>ch.includes(e);function Ar(e,n,r){switch(e){case"apAnalyst":return{isZeni:!0,role:J.toUserRoleType("ap_analyst"),userId:n,isSelected:r};case"taxLead":return{isZeni:!0,role:J.toUserRoleType("tax_lead"),userId:n,isSelected:r};case"customerSuccessManager":return{isZeni:!0,role:J.toUserRoleType("customer_success_manager"),userId:n,isSelected:r};default:return{isZeni:!0,role:e,userId:n,isSelected:r}}}const Ph=(e,n,r,i)=>{const a=J.dateNow().subtract(1,"month").format(ah),c=J.dateNow().startOf("month").subtract(1,"day"),l=r?.isSame(c)===!0&&i?.isAfter(r);return e?n?eh.replace("__month__",a):th.replace("__month__",a):l===!0?lh:oh.replace("__month__",a)},Lh=({enableCompanyMonthEndReportBtn:e,isMonthEndReportInDraft:n,bookCloseDate:r,lastReportSentDate:i,handleMonthEndReportPageClick:a})=>{const c=J.dateNow().startOf("month").subtract(1,"day"),l=r?.isSame(c)===!0&&i?.isAfter(r),d=e?n?rh:nh:l===!0?null:sh;return d!=null?o.jsxRuntimeExports.jsx(t.Tooltip,{display:"block",placement:"bottom",maxWidth:"250",title:d,enterDelay:600,children:o.jsxRuntimeExports.jsx(Ns,{isMonthEndReportInDraft:n,bookCloseDate:r,lastReportSentDate:i,enableCompanyMonthEndReportBtn:e,isExpenseAutomationEnabledForUser:!0,handleMonthEndReportPageClick:a})}):o.jsxRuntimeExports.jsx(Ns,{isMonthEndReportInDraft:n,bookCloseDate:r,lastReportSentDate:i,enableCompanyMonthEndReportBtn:e,isExpenseAutomationEnabledForUser:!0,handleMonthEndReportPageClick:a})};function Ah({companyNameSticky:e,sortConfig:n,isProductVerticalsColumnVisible:r=!1,isRealmIdColumnVisible:i=!1,onColumnSortConfigChanged:a}){const c=t.useWindowSizeContext(),[l,d]=p.useState(o.cloneDeep(zt)),u=l.filter(x=>x.key==="productVerticals"?r:x.key==="realmId"?i:!0);p.useEffect(()=>{const x=[...l];for(const f of x)f.key===n.sortKey?f.sortOrder=n.sortOrder:f.sortOrder="ascending";d(x)},[n.sortKey,n.sortOrder]);const m=(x,f)=>{let h=f;n.sortKey===x&&(h=f==="ascending"?"descending":"ascending"),a(x,h)};return o.jsxRuntimeExports.jsx(Nh,{height:io,children:u.map(x=>o.jsxRuntimeExports.jsxs(Mh,{companyNameSticky:e&&x.key==="companyName",sortDataValue:n.sortKey,actualDataValue:x.key,wrapperWidth:x.width,hasLeadingGap:x.key==="productVerticals"||x.key==="realmId"||x.key==="taxLead",windowSize:c,children:[o.jsxRuntimeExports.jsxs(_h,{nonSortable:x.key==="realmId"||x.key==="productVerticals",onClick:()=>{x.key==="realmId"||x.key==="productVerticals"||m(J.toManagementSortKeyType(x.key),x.sortOrder)},children:[o.jsxRuntimeExports.jsx(t.ExtraSmallRegular,{children:x.value}),x.key==="realmId"||x.key==="productVerticals"?null:o.jsxRuntimeExports.jsx(Oh,{sortDataValue:n.sortKey,headerdata:x,children:o.jsxRuntimeExports.jsx(t.SvgArrowTailTop,{width:12,height:12})})]}),o.jsxRuntimeExports.jsx(Fh,{isVisible:n.sortKey===x.key&&x.key!=="status",children:o.jsxRuntimeExports.jsx(zh,{onClick:()=>m("status","ascending")})})]},x.key))})}const Dh=p.memo(Ah),Oh=s.div`
|
|
1177
1177
|
display: flex;
|
|
1178
1178
|
align-items: center;
|
|
1179
1179
|
transform: ${e=>e.sortDataValue===e.headerdata.key&&e.headerdata.sortOrder==="descending"?"rotate(180deg)":"rotate(0deg)"};
|
|
@@ -1562,7 +1562,7 @@ ${e}`,ex=e=>ce.createElement("svg",{width:38,height:39,viewBox:"0 0 38 39",fill:
|
|
|
1562
1562
|
left: 19%;
|
|
1563
1563
|
position: absolute;
|
|
1564
1564
|
background-color: ${e=>e.theme.colors.primary};
|
|
1565
|
-
`,{dateFormat:Mr,timeFormat:f1,timeframe:Zn,common:kt}=t.appLocale.getLocalizedStrings(),Xn=e=>{if(e!=null){const n=J.dateNow();return Math.abs(n.diff(e,"days"))}};function Ko(e){if(e==null)return;const n=J.dateNow();if(Math.abs(n.diff(e,"days"))<=0)return`0 ${Zn.day}`;const[i,a]=e<n?[e,n]:[n,e],c=i.year(),l=i.month(),d=i.date(),u=a.year(),m=a.month(),x=a.date();let f=u-c,h=m-l,S=x-d;if(S<0){h--;const g=new Date(u,m,0);S+=g.getDate()}h<0&&(f--,h+=12);const j=[];return f>0&&j.push(`${f} ${f>1?kt.texts.years:kt.texts.years.slice(0,-1)}`),h>0&&j.push(`${h} ${h>1?kt.texts.months:kt.texts.months.slice(0,-1)}`),S>0&&j.push(`${S} ${S>1?Zn.day:Zn.day.slice(0,-1)}`),j.join(", ")}function Ga(e){if(e==null)return kt.strings.hyphen;const n=Math.floor(Number(e)/12),r=Number(e)%12,i=n>1?kt.texts.years:kt.texts.years.slice(0,-1),a=r>1?kt.texts.months:kt.texts.months.slice(0,-1);return n===0?`${e} ${a}`:r===0?`${n} ${i}`:`${n} ${i}, ${r} ${a}`}const Ya=e=>({name:e?.companyInfo.name??"",productVerticals:e?.companyHealthMetric.verticalProductServices??void 0,runway:e?.companyHealthMetric.runway,churnProbabilityPercentage:e?.companyHealthMetric.churnProbabilityPercentage,netPromoterScore:e?.companyHealthMetric.netPromoterScore,customerSatisfactionScore:e?.companyHealthMetric.customerSatisfactionScore,lastReportSent:e?.managementInfo.lastReportSentDate!=null?Ko(J.zeniDate(e?.managementInfo.lastReportSentDate.toISOString())):void 0,dashboardLastVisit:e?.companyHealthMetric.customerLastDashboardVisit!=null?J.zeniDate(e?.companyHealthMetric.customerLastDashboardVisit.toISOString()).format(Mr.visual.MMMDCommaYYYYformat):void 0,companyEngagementMetricsUpdatedAt:e?.companyHealthMetric.companyEngagementMetricsUpdatedAt!=null?{date:J.zeniDate(e?.companyHealthMetric.companyEngagementMetricsUpdatedAt.toISOString()).format(Mr.visual.MMMDCommaYYYYformat),time:J.zeniDate(e?.companyHealthMetric.companyEngagementMetricsUpdatedAt.toISOString()).format(f1.hhmmAFormat)}:void 0,noOfVerticalsEnabled:e?.noOfProductVerticalsEnabled,renewalDate:e?.companyHealthMetric.subscriptionRenewalDate!=null?Ko(J.zeniDate(e?.companyHealthMetric.subscriptionRenewalDate.toISOString())):void 0,lastEngagements:e!=null?e.companyHealthMetric.lastEngagements:[],additionalChurnFactors:e!=null?e.companyHealthMetric.additionalChurnFactors:{increasingChurnProbability:[],decreasingChurnProbability:[]},updatedByUserName:e?.companyHealthMetric.updatedByUser!=null?t.getFullName(e.companyHealthMetric.updatedByUser):void 0}),{cockpit:{health:{header:zr}},common:{texts:{name:C1,churnProbability:j1,controller:b1,csManager:R1,lastUpdated:$1,runway:E1,nps:v1,csat:w1,lastReportSent:k1,subscriptionDate:T1,renewalDate:I1,group:P1,mrr:L1,externalServicesExposure:A1,productVerticals:D1}}}=t.appLocale.getLocalizedStrings(),no=[{key:"companyName",value:C1,sortOrder:"ascending",width:new t.ResponsiveSized(392,392),isThreadAllowed:!0},{key:"churnProbability",value:j1,sortOrder:"ascending",width:new t.ResponsiveSized(380,380),isThreadAllowed:!0},{key:"controller",value:b1,sortOrder:"ascending",width:new t.ResponsiveSized(200,200),isThreadAllowed:!0},{key:"customerSuccessManager",value:R1,sortOrder:"ascending",width:new t.ResponsiveSized(200,200),isThreadAllowed:!0},{key:"lastEngagement",value:zr.lastEngagement,sortOrder:"ascending",width:new t.ResponsiveSized(270,270),isThreadAllowed:!0},{key:"companyEngagementMetricsUpdatedAt",value:$1,sortOrder:"ascending",width:new t.ResponsiveSized(160,160),isThreadAllowed:!0},{key:"runway",value:E1,sortOrder:"ascending",width:new t.ResponsiveSized(220,220),isThreadAllowed:!0},{key:"netPromoterScore",value:v1,sortOrder:"ascending",width:new t.ResponsiveSized(120,120),isThreadAllowed:!0},{key:"customerSatisfactionScore",value:w1,sortOrder:"ascending",width:new t.ResponsiveSized(120,120),isThreadAllowed:!0},{key:"lastReportSent",value:k1,sortOrder:"ascending",width:new t.ResponsiveSized(250,250),isThreadAllowed:!0},{key:"dashboardLastSeen",value:zr.dashboardLastSeen,sortOrder:"ascending",width:new t.ResponsiveSized(270,270),isThreadAllowed:!0},{key:"subscriptionDate",value:T1,sortOrder:"ascending",width:new t.ResponsiveSized(200,200),isThreadAllowed:!0},{key:"renewalDate",value:I1,sortOrder:"ascending",width:new t.ResponsiveSized(180,180),isThreadAllowed:!0},{key:"group",value:P1,sortOrder:"ascending",width:new t.ResponsiveSized(148,148),isThreadAllowed:!0},{key:"monthlyRecurringRevenue",value:L1,sortOrder:"ascending",width:new t.ResponsiveSized(196,196),isThreadAllowed:!0},{key:"externalProductServiceExposure",value:A1,sortOrder:"ascending",width:new t.ResponsiveSized(270,270),isThreadAllowed:!0},{key:"productVerticals",value:D1,sortOrder:"ascending",width:new t.ResponsiveSized(360,360),isThreadAllowed:!0}];no.map(e=>e.key);const Za=e=>ce.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},ce.createElement("path",{d:"M10.1094 4H2.3764C2.16286 4 1.98975 4.22386 1.98975 4.5V11.5C1.98975 11.7761 2.16286 12 2.3764 12H10.1094C10.323 12 10.4961 11.7761 10.4961 11.5V4.5C10.4961 4.22386 10.323 4 10.1094 4Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M11.0046 7L14.0046 5V11L11.0046 9",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),Xa=t.appLocale.getLocalizedStrings(),{common:{texts:{churnProbability:O1,is:N1}}}=Xa;function M1({companyView:e,healthView:n,companyNameSticky:r,totalHeight:i,addThreadRequestThreadId:a,setNoteData:c,setElementRef:l,setAddThreadRequestThreadId:d,onRowClick:u}){const m=t.useWindowSizeContext(),{common:{strings:{hyphen:x,backspace:f,space:h,colon:S,dot:j},settings:{notifications:{mode:{email:g}}}},cockpit:{health:{detailPage:{churnProbabilityTexts:{for:b,percent:C},notApplicable:y},common:{engagementTypes:E,labels:{lastEngagements:v,factorsThatDecreaseChurnProbability:$,factorsThatIncreaseChurnProbability:I}}}},dateFormat:w}=Xa,{companyInfo:{companyId:T,name:z},companyHealthMetric:_,controllers:H,managementInfo:{lastReportSentDate:U,customerSuccessManagerUserIds:K}}=e,W=Ya(e),A=n.zeniUsers.values.filter(L=>K.includes(L.userId)),B=`cockpit_${T}`,P="healthMonitor.notes",{threads:k,isLoading:N}=t.useFilteredThreads({entityType:P,companyId:T},!1),V={name:z,companyId:T,companyGroup:e.companyGroup!=null?e.companyGroup.find(L=>L.id===e.managementInfo.companyGroupId):void 0,monthlyRecurringRevenue:e.monthlyRecurringRevenue,productVerticals:_.verticalProductServices,runway:_.runway,churnProbabilityPercentage:_.churnProbabilityPercentage,netPromoterScore:_.netPromoterScore,customerSatisfactionScore:_.customerSatisfactionScore,controllers:H.map(L=>J.getUserName(L)),customerSuccessManagers:A.map(L=>J.getUserName(L)),lastReportSent:U!=null?J.zeniDate(U.toISOString()):void 0,subscriptionStartDate:_.subscriptionStartDate!=null?J.zeniDate(_.subscriptionStartDate.toISOString()).format(w.visual.MMMDCommaYYYYformat):void 0,renewalDate:_.subscriptionRenewalDate!=null?J.zeniDate(_.subscriptionRenewalDate.toISOString()):void 0,companyEngagementMetricsUpdatedAt:_.companyEngagementMetricsUpdatedAt,externalProductServiceExposure:_.externalProductServiceExposure},{openThread:ee,threads:Y,addThread:Z,removeThread:Q,setOpenThread:F,setRequestToOpenThread:ue}=p.useContext(t.ThreadsContext),q=p.useRef(null),G=ee!==null?Y.get(ee):null,ie=ee?.includes(T)===!0,ae=ee!=null&&Y.get(ee)==null&&ie,me=a!=null&&Y.get(a)?.metadata.companyId===T,je=p.useCallback(()=>{ee?.includes(t.NEW_THREAD_SUFFIX)===!0&&Q(ee),a!=null&&d(void 0)},[a,ee,Q,d]),D=p.useCallback(L=>{if(L===ee)F(null);else if(Y.has(L))F(L);else if(L.includes(t.NEW_THREAD_SUFFIX)){const[ge,Te]=L.replace(t.NEW_THREAD_SUFFIX,"").split("."),M=co(Bt(ge),J.toHealthSortKeyType(Te),T,z);Z(L,{type:"thread",visibility:"public",id:L,roomId:B,createdAt:new Date,updatedAt:new Date,comments:[],metadata:M,resolved:!1}),F(L)}},[T,z,ee,Y,Z,F,B]),de=p.useCallback((L,ge,Te=!1)=>{const M=no.find(fe=>fe.key===ge);if(ue(null),M!=null&&(L.type==="contextmenu"||Te===!0)){if(M.isThreadAllowed===!1)return;je(),L.preventDefault(),L.stopPropagation();const fe=t.toCollaborationEntityType({tab:"healthMonitor",key:M.key}),se=[...t.getFilteredThreads(Y,{entityType:fe,companyId:T},"both")],te=se.length>0&&se[0].length>0?se[0][0]:Le("healthMonitor",M.key,T);Y.has(te)?D(te):a===te?d(void 0):(d(te),F(null))}},[Y,T,a,D,d,F,ue,je]),le=p.useCallback((L,ge)=>{L.stopPropagation();const Te=Le("healthMonitor",ge,T);d(void 0),D(Te)},[T,d,D]),xe=L=>o.jsxRuntimeExports.jsx(t.StickyThread,{isElementThreadOpen:L.isElementThreadOpen??!1,isElementThreadPresent:L.isElementThreadPresent??!1,itemKey:L.itemKey,elementThreadId:L.elementThreadId??"",roomId:B,addThreadRequestThreadId:a,openThreadId:ee,threadStyle:L.threadStyle,openThreadMetadata:G?.metadata??null,onElementClick:de,onAddThreadClick:le});return o.jsxRuntimeExports.jsx(o.ClickAwayListener,{onClickAway:()=>{ue(null),a!=null&&(d(void 0),a.includes(t.NEW_THREAD_SUFFIX)&&Q(a))},children:o.jsxRuntimeExports.jsx(z1,{windowSize:m,isThreadOpen:ie||me,totalHeight:i,isCreationInProgress:ae,"data-testid":t.generateDataTestId("health-monitor-row",T),onClick:()=>u(V.companyId),children:no.map((L,ge)=>{const Te=t.toCollaborationEntityType({tab:"healthMonitor",key:L.key}),M=no.length-2<=ge,fe=[...t.getFilteredThreads(Y,{entityType:Te,companyId:T},"both")],se=fe.length>0&&fe[0].length>0?fe[0][0]:Le("healthMonitor",L.key,T),te=Y.get(se),we=te!=null&&te.resolved===!1,Se=se===ee,He=a===se,Ie=W.lastEngagements;switch(L.key){case"companyName":return o.jsxRuntimeExports.jsxs(W1,{companyNameSticky:r,columnWidth:L.width,windowSize:m,isThreadOpen:Se||He,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-company-name",T),onContextMenu:X=>de(X,L.key),ref:X=>{l(T,L.key,X)},children:[o.jsxRuntimeExports.jsxs(H1,{ref:q,"data-testid":t.generateDataTestId("health-monitor-row-company-name-text",T),children:[V.name,o.jsxRuntimeExports.jsx(t.ThreadComponent,{anchorRef:q,isElementThreadOpen:Se,roomId:B,openThreadId:ee,openThreadMetadata:G?.metadata??null})]}),o.jsxRuntimeExports.jsx(t.Tooltip,{style:{padding:`2px ${t.Space.sp2}`},title:"Notes",children:o.jsxRuntimeExports.jsxs(G1,{className:"notesIcon","data-testid":t.generateDataTestId("health-monitor-row-notes-icon",T),onClick:X=>{X.preventDefault(),X.stopPropagation(),c({roomId:B,companyId:T,companyName:z,entityType:P})},children:[o.jsxRuntimeExports.jsx(t.CommentsAndNotesCount,{count:k.length,isLoading:N}),o.jsxRuntimeExports.jsx(Y1,{})]})}),o.jsxRuntimeExports.jsx(t.ThreadDotComponent,{isElementThreadPresent:we,itemKey:L.key,style:{left:t.Space.sp4},onElementClick:de}),o.jsxRuntimeExports.jsx(t.AddThreadsComponent,{elementThreadId:Le("healthMonitor",L.key,T),addThreadRequestThreadId:a,itemKey:L.key,onAddThreadClick:le})]},se);case"productVerticals":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-product-verticals",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(Qa,{productVerticals:_.verticalProductServices,testIdSuffix:T}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"runway":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-runway",T),onContextMenu:X=>de(X,L.key),children:[V.runway!=null?J.isCompanyRunwayInfinite(V.runway)===!0?o.jsxRuntimeExports.jsx(Z1,{"data-testid":t.generateDataTestId("health-monitor-row-runway-infinity",T)}):Ga(V.runway.runwayMonths):o.jsxRuntimeExports.jsx(t.LargeRegular,{children:x}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"churnProbability":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-churn-probability",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(K1,{"data-testid":t.generateDataTestId("health-monitor-row-churn-meter",T),children:o.jsxRuntimeExports.jsx(Ka,{percentage:V.churnProbabilityPercentage,barHeight:12})}),W.churnProbabilityPercentage!=null?o.jsxRuntimeExports.jsx(t.Tooltip,{style:{padding:`12px ${t.Space.sp3}`,textAlign:"left"},title:o.jsxRuntimeExports.jsxs(q1,{children:[o.jsxRuntimeExports.jsx(J1,{children:`${O1} ${b} ${e.companyInfo.name} ${N1} ${Math.round(W.churnProbabilityPercentage??0)}${C}${j}`}),e.companyHealthMetric.churnProbabilityReason.length!==0||e.companyHealthMetric.additionalChurnFactors.increasingChurnProbability.length!==0?o.jsxRuntimeExports.jsxs(_r,{children:[o.jsxRuntimeExports.jsxs(Br,{children:[I,S]}),o.jsxRuntimeExports.jsxs(Wr,{children:[e.companyHealthMetric.churnProbabilityReason.map((X,ke)=>o.jsxRuntimeExports.jsx(qn,{children:o.jsxRuntimeExports.jsx(Jn,{children:X.text})},`${o.nanoid()}_${ke}}`)),e.companyHealthMetric.additionalChurnFactors.increasingChurnProbability.map((X,ke)=>o.jsxRuntimeExports.jsx(qn,{children:o.jsxRuntimeExports.jsx(Jn,{children:X.value})},`${o.nanoid()}_${ke}}`))]})]}):null,e.companyHealthMetric.additionalChurnFactors.decreasingChurnProbability.length!==0?o.jsxRuntimeExports.jsxs(_r,{children:[o.jsxRuntimeExports.jsxs(Br,{children:[$,S]}),o.jsxRuntimeExports.jsx(Wr,{children:e.companyHealthMetric.additionalChurnFactors.decreasingChurnProbability.map((X,ke)=>o.jsxRuntimeExports.jsx(qn,{children:o.jsxRuntimeExports.jsx(Jn,{children:X.value})},`${o.nanoid()}_${ke}}`))})]}):null]}),children:o.jsxRuntimeExports.jsx(Q1,{"data-testid":t.generateDataTestId("health-monitor-row-churn-info-icon",T),style:{marginTop:t.Space.sp1,marginLeft:t.Space.sp1,marginRight:t.Space.sp0}})}):null,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"customerSatisfactionScore":case"netPromoterScore":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId(`health-monitor-row-${L.key==="netPromoterScore"?"nps":"csat"}`,T),onContextMenu:X=>de(X,L.key),children:[V[L.key]!=null?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(U1,{children:V[L.key]}),o.jsxRuntimeExports.jsx(V1,{children:f}),L.key==="netPromoterScore"?o.jsxRuntimeExports.jsxs(Fr,{children:[" ",hc," "]}):o.jsxRuntimeExports.jsxs(Fr,{children:[" ",gc," "]})]}):V.churnProbabilityPercentage!=null?y:x,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"controller":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-controller",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(t.Tooltip,{enterDelay:600,style:{padding:`2px ${t.Space.sp2}`},title:V.controllers.join(", "),children:V.controllers[0]}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"customerSuccessManager":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-csm",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(t.Tooltip,{enterDelay:600,style:{padding:`2px ${t.Space.sp2}`,textAlign:"left"},maxWidth:"300px",title:V.customerSuccessManagers.join(", "),children:V.customerSuccessManagers[0]}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"lastReportSent":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-last-report-sent",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(Qn,{children:V.lastReportSent!=null?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(t.LargeRegular,{children:Ko(V.lastReportSent)}),o.jsxRuntimeExports.jsx(t.SmallRegular,{children:V.lastReportSent.format(w.visual.MMMDCommaYYYYformat)})]}):o.jsxRuntimeExports.jsx(t.LargeRegular,{children:x})}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"renewalDate":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-renewal-date",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(Qn,{children:V.renewalDate!=null?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(t.LargeRegular,{children:Ko(V.renewalDate)}),o.jsxRuntimeExports.jsx(t.SmallRegular,{children:V.renewalDate.format(w.visual.MMMDCommaYYYYformat)})]}):o.jsxRuntimeExports.jsx(t.LargeRegular,{children:x})}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"group":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-group",T),onContextMenu:X=>de(X,L.key),children:[V.companyGroup!=null?o.jsxRuntimeExports.jsx(X1,{"data-testid":t.generateDataTestId("health-monitor-row-group-badge",T),textColor:Oa[V.companyGroup.id],children:V.companyGroup.name.toUpperCase()}):x,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"monthlyRecurringRevenue":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-mrr",T),onContextMenu:X=>de(X,L.key),children:[t.amountToString("0,0",V.monthlyRecurringRevenue),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"externalProductServiceExposure":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-external-exposure",T),onContextMenu:X=>de(X,L.key),children:[V.externalProductServiceExposure!=null?V.externalProductServiceExposure.name:x,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"lastEngagement":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-last-engagement",T),onContextMenu:X=>de(X,L.key),children:[Ie.length>0?o.jsxRuntimeExports.jsxs(t.Tooltip,{style:{padding:`12px ${t.Space.sp3}`},title:o.jsxRuntimeExports.jsxs(eS,{children:[o.jsxRuntimeExports.jsxs(tS,{children:[v,S]}),Ie.map((X,ke)=>o.jsxRuntimeExports.jsxs(oS,{children:[o.jsxRuntimeExports.jsxs(nS,{children:[X.type==="email"?o.jsxRuntimeExports.jsx(iS,{}):o.jsxRuntimeExports.jsx(aS,{}),o.jsxRuntimeExports.jsx(_1,{children:X.type==="email"?g:E.meeting})]}),o.jsxRuntimeExports.jsx(sS,{children:X.scheduledAt?.utc(!0).local().format(w.visual.MMMDCommaYYYYformat)??x})]},`${o.nanoid()}_${ke}}`))]}),children:[Ie[0].scheduledAt?.utc(!0).local().format(w.visual.MMMDCommaYYYYformat)??x,o.jsxRuntimeExports.jsxs(rS,{children:[Ie[0].type==="email"?o.jsxRuntimeExports.jsx(qa,{className:"engagement-email-icon"}):o.jsxRuntimeExports.jsx(Ja,{className:"engagement-meeting-icon"}),o.jsxRuntimeExports.jsxs(lS,{children:["Via",h,Ie[0].type==="email"?g:E.meeting]})]})]}):o.jsxRuntimeExports.jsx(t.StandardRegular,{children:x}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"dashboardLastSeen":case"subscriptionDate":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId(`health-monitor-row-${L.key==="dashboardLastSeen"?"dashboard-last-seen":"subscription-date"}`,T),onContextMenu:X=>de(X,L.key),children:[V.subscriptionStartDate??x,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"companyEngagementMetricsUpdatedAt":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-engagement-updated",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(Qn,{children:V.companyEngagementMetricsUpdatedAt!=null?o.jsxRuntimeExports.jsx(t.LargeRegular,{children:Ko(V.companyEngagementMetricsUpdatedAt)}):o.jsxRuntimeExports.jsx(t.LargeRegular,{children:x})}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);default:return null}})})})}const Qa=({productVerticals:e,testIdSuffix:n})=>{const r=i=>{switch(i){case"billpay":return{key:"ZBP",color:t.Colors.graphColor34Dark};case"reimbursement":return{key:"ZR",color:t.Colors.graphColor06Dark};case"accounts":return{key:"ZA",color:t.Colors.graphColor09Dark};case"cards":return{key:"ZC",color:t.Colors.graphColor33Dark};case"payroll_manager_service_plan":return{key:"Payroll",color:t.Colors.graphColor26Dark};case"zeni_tax_plan":return{key:"Tax",color:t.Colors.graphColor35Dark};case"cfo_plan":return{key:"CFO",color:t.Colors.graphColor17Dark};default:return}};return o.jsxRuntimeExports.jsx(F1,{"data-testid":t.generateDataTestId("health-monitor-product-services",n),children:e.map((i,a)=>{const c=r(i.productServiceKey);if(c!=null){const l=n!=null&&n!==""?`${c.key}-${n}`:c.key;return o.jsxRuntimeExports.jsx(B1,{color:c.color,isEnabled:i.isEnabled,"data-testid":t.generateDataTestId("health-monitor-product-chip",l),children:c.key},`${o.nanoid()}_${a}`)}else return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{})})})},z1=s.div`
|
|
1565
|
+
`,{dateFormat:Mr,timeFormat:f1,timeframe:Zn,common:kt}=t.appLocale.getLocalizedStrings(),Xn=e=>{if(e!=null){const n=J.dateNow();return Math.abs(n.diff(e,"days"))}};function Ko(e){if(e==null)return;const n=J.dateNow();if(Math.abs(n.diff(e,"days"))<=0)return`0 ${Zn.day}`;const[i,a]=e<n?[e,n]:[n,e],c=i.year(),l=i.month(),d=i.date(),u=a.year(),m=a.month(),x=a.date();let f=u-c,h=m-l,S=x-d;if(S<0){h--;const g=new Date(u,m,0);S+=g.getDate()}h<0&&(f--,h+=12);const j=[];return f>0&&j.push(`${f} ${f>1?kt.texts.years:kt.texts.years.slice(0,-1)}`),h>0&&j.push(`${h} ${h>1?kt.texts.months:kt.texts.months.slice(0,-1)}`),S>0&&j.push(`${S} ${S>1?Zn.day:Zn.day.slice(0,-1)}`),j.join(", ")}function Ga(e){if(e==null)return kt.strings.hyphen;const n=Math.floor(Number(e)/12),r=Number(e)%12,i=n>1?kt.texts.years:kt.texts.years.slice(0,-1),a=r>1?kt.texts.months:kt.texts.months.slice(0,-1);return n===0?`${e} ${a}`:r===0?`${n} ${i}`:`${n} ${i}, ${r} ${a}`}const Ya=e=>({name:e?.companyInfo.name??"",productVerticals:e?.companyHealthMetric.verticalProductServices??void 0,runway:e?.companyHealthMetric.runway,churnProbabilityPercentage:e?.companyHealthMetric.churnProbabilityPercentage,netPromoterScore:e?.companyHealthMetric.netPromoterScore,customerSatisfactionScore:e?.companyHealthMetric.customerSatisfactionScore,lastReportSent:e?.managementInfo.lastReportSentDate!=null?Ko(J.zeniDate(e?.managementInfo.lastReportSentDate.toISOString())):void 0,dashboardLastVisit:e?.companyHealthMetric.customerLastDashboardVisit!=null?J.zeniDate(e?.companyHealthMetric.customerLastDashboardVisit.toISOString()).format(Mr.visual.MMMDCommaYYYYformat):void 0,companyEngagementMetricsUpdatedAt:e?.companyHealthMetric.companyEngagementMetricsUpdatedAt!=null?{date:J.zeniDate(e?.companyHealthMetric.companyEngagementMetricsUpdatedAt.toISOString()).format(Mr.visual.MMMDCommaYYYYformat),time:J.zeniDate(e?.companyHealthMetric.companyEngagementMetricsUpdatedAt.toISOString()).format(f1.hhmmAFormat)}:void 0,noOfVerticalsEnabled:e?.noOfProductVerticalsEnabled,renewalDate:e?.companyHealthMetric.subscriptionRenewalDate!=null?Ko(J.zeniDate(e?.companyHealthMetric.subscriptionRenewalDate.toISOString())):void 0,lastEngagements:e!=null?e.companyHealthMetric.lastEngagements:[],additionalChurnFactors:e!=null?e.companyHealthMetric.additionalChurnFactors:{increasingChurnProbability:[],decreasingChurnProbability:[]},updatedByUserName:e?.companyHealthMetric.updatedByUser!=null?t.getFullName(e.companyHealthMetric.updatedByUser):void 0}),{cockpit:{health:{header:zr}},common:{texts:{name:C1,churnProbability:j1,controller:b1,csManager:R1,lastUpdated:$1,runway:E1,nps:v1,csat:w1,lastReportSent:k1,subscriptionDate:T1,renewalDate:I1,group:P1,mrr:L1,externalServicesExposure:A1,productVerticals:D1}}}=t.appLocale.getLocalizedStrings(),no=[{key:"companyName",value:C1,sortOrder:"ascending",width:new t.ResponsiveSized(392,392),isThreadAllowed:!0},{key:"churnProbability",value:j1,sortOrder:"ascending",width:new t.ResponsiveSized(380,380),isThreadAllowed:!0},{key:"controller",value:b1,sortOrder:"ascending",width:new t.ResponsiveSized(200,200),isThreadAllowed:!0},{key:"customerSuccessManager",value:R1,sortOrder:"ascending",width:new t.ResponsiveSized(200,200),isThreadAllowed:!0},{key:"lastEngagement",value:zr.lastEngagement,sortOrder:"ascending",width:new t.ResponsiveSized(270,270),isThreadAllowed:!0},{key:"companyEngagementMetricsUpdatedAt",value:$1,sortOrder:"ascending",width:new t.ResponsiveSized(160,160),isThreadAllowed:!0},{key:"runway",value:E1,sortOrder:"ascending",width:new t.ResponsiveSized(220,220),isThreadAllowed:!0},{key:"netPromoterScore",value:v1,sortOrder:"ascending",width:new t.ResponsiveSized(120,120),isThreadAllowed:!0},{key:"customerSatisfactionScore",value:w1,sortOrder:"ascending",width:new t.ResponsiveSized(120,120),isThreadAllowed:!0},{key:"lastReportSent",value:k1,sortOrder:"ascending",width:new t.ResponsiveSized(250,250),isThreadAllowed:!0},{key:"dashboardLastSeen",value:zr.dashboardLastSeen,sortOrder:"ascending",width:new t.ResponsiveSized(270,270),isThreadAllowed:!0},{key:"subscriptionDate",value:T1,sortOrder:"ascending",width:new t.ResponsiveSized(200,200),isThreadAllowed:!0},{key:"renewalDate",value:I1,sortOrder:"ascending",width:new t.ResponsiveSized(180,180),isThreadAllowed:!0},{key:"group",value:P1,sortOrder:"ascending",width:new t.ResponsiveSized(148,148),isThreadAllowed:!0},{key:"monthlyRecurringRevenue",value:L1,sortOrder:"ascending",width:new t.ResponsiveSized(196,196),isThreadAllowed:!0},{key:"externalProductServiceExposure",value:A1,sortOrder:"ascending",width:new t.ResponsiveSized(270,270),isThreadAllowed:!0},{key:"productVerticals",value:D1,sortOrder:"ascending",width:new t.ResponsiveSized(360,360),isThreadAllowed:!0}];no.map(e=>e.key);const Za=e=>ce.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},ce.createElement("path",{d:"M10.1094 4H2.3764C2.16286 4 1.98975 4.22386 1.98975 4.5V11.5C1.98975 11.7761 2.16286 12 2.3764 12H10.1094C10.323 12 10.4961 11.7761 10.4961 11.5V4.5C10.4961 4.22386 10.323 4 10.1094 4Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),ce.createElement("path",{d:"M11.0046 7L14.0046 5V11L11.0046 9",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),Xa=t.appLocale.getLocalizedStrings(),{common:{texts:{churnProbability:O1,is:N1}}}=Xa;function M1({companyView:e,healthView:n,companyNameSticky:r,totalHeight:i,addThreadRequestThreadId:a,setNoteData:c,setElementRef:l,setAddThreadRequestThreadId:d,onRowClick:u}){const m=t.useWindowSizeContext(),{common:{strings:{hyphen:x,backspace:f,space:h,colon:S,dot:j},settings:{notifications:{mode:{email:g}}}},cockpit:{health:{detailPage:{churnProbabilityTexts:{for:b,percent:C},notApplicable:y},common:{engagementTypes:E,labels:{lastEngagements:v,factorsThatDecreaseChurnProbability:$,factorsThatIncreaseChurnProbability:I}}}},dateFormat:w}=Xa,{companyInfo:{companyId:T,name:z},companyHealthMetric:_,controllers:H,managementInfo:{lastReportSentDate:U,customerSuccessManagerUserIds:K}}=e,W=Ya(e),A=n.zeniUsers.values.filter(L=>K.includes(L.userId)),B=`cockpit_${T}`,P="healthMonitor.notes",{threads:k,isLoading:N}=t.useFilteredThreads({entityType:P,companyId:T},!1),V={name:z,companyId:T,companyGroup:e.companyGroup!=null?e.companyGroup.find(L=>L.id===e.managementInfo.companyGroupId):void 0,monthlyRecurringRevenue:e.monthlyRecurringRevenue,productVerticals:_.verticalProductServices,runway:_.runway,churnProbabilityPercentage:_.churnProbabilityPercentage,netPromoterScore:_.netPromoterScore,customerSatisfactionScore:_.customerSatisfactionScore,controllers:H.map(L=>J.getUserName(L)),customerSuccessManagers:A.map(L=>J.getUserName(L)),lastReportSent:U!=null?J.zeniDate(U.toISOString()):void 0,subscriptionStartDate:_.subscriptionStartDate!=null?J.zeniDate(_.subscriptionStartDate.toISOString()).format(w.visual.MMMDCommaYYYYformat):void 0,renewalDate:_.subscriptionRenewalDate!=null?J.zeniDate(_.subscriptionRenewalDate.toISOString()):void 0,companyEngagementMetricsUpdatedAt:_.companyEngagementMetricsUpdatedAt,externalProductServiceExposure:_.externalProductServiceExposure},{openThread:ee,threads:Y,addThread:Z,removeThread:Q,setOpenThread:F,setRequestToOpenThread:ue}=p.useContext(t.ThreadsContext),q=p.useRef(null),G=ee!==null?Y.get(ee):null,ie=ee?.includes(T)===!0,ae=ee!=null&&Y.get(ee)==null&&ie,me=a!=null&&Y.get(a)?.metadata.companyId===T,je=p.useCallback(()=>{ee?.includes(t.NEW_THREAD_SUFFIX)===!0&&Q(ee),a!=null&&d(void 0)},[a,ee,Q,d]),D=p.useCallback(L=>{if(L===ee)F(null);else if(Y.has(L))F(L);else if(L.includes(t.NEW_THREAD_SUFFIX)){const[ge,Te]=L.replace(t.NEW_THREAD_SUFFIX,"").split("."),M=co(Bt(ge),J.toHealthSortKeyType(Te),T,z);Z(L,{type:"thread",visibility:"public",id:L,roomId:B,createdAt:new Date,updatedAt:new Date,comments:[],metadata:M,resolved:!1}),F(L)}},[T,z,ee,Y,Z,F,B]),de=p.useCallback((L,ge,Te=!1)=>{const M=no.find(fe=>fe.key===ge);if(ue(null),M!=null&&(L.type==="contextmenu"||Te===!0)){if(M.isThreadAllowed===!1)return;je(),L.preventDefault(),L.stopPropagation();const fe=t.toCollaborationEntityType({tab:"healthMonitor",key:M.key}),se=[...t.getFilteredThreads(Y,{entityType:fe,companyId:T},"both")],te=se.length>0&&se[0].length>0?se[0][0]:Le("healthMonitor",M.key,T);Y.has(te)?D(te):a===te?d(void 0):(d(te),F(null))}},[Y,T,a,D,d,F,ue,je]),le=p.useCallback((L,ge)=>{L.stopPropagation();const Te=Le("healthMonitor",ge,T);d(void 0),D(Te)},[T,d,D]),xe=L=>o.jsxRuntimeExports.jsx(t.StickyThread,{isElementThreadOpen:L.isElementThreadOpen??!1,isElementThreadPresent:L.isElementThreadPresent??!1,itemKey:L.itemKey,elementThreadId:L.elementThreadId??"",roomId:B,addThreadRequestThreadId:a,openThreadId:ee,threadStyle:L.threadStyle,openThreadMetadata:G?.metadata??null,onElementClick:de,onAddThreadClick:le});return o.jsxRuntimeExports.jsx(o.ClickAwayListener,{onClickAway:()=>{ue(null),a!=null&&(d(void 0),a.includes(t.NEW_THREAD_SUFFIX)&&Q(a))},children:o.jsxRuntimeExports.jsx(z1,{windowSize:m,isThreadOpen:ie||me,totalHeight:i,isCreationInProgress:ae,"data-testid":t.generateDataTestId("health-monitor-row",T),onClick:()=>u(V.companyId),children:no.map((L,ge)=>{const Te=t.toCollaborationEntityType({tab:"healthMonitor",key:L.key}),M=no.length-2<=ge,fe=[...t.getFilteredThreads(Y,{entityType:Te,companyId:T},"both")],se=fe.length>0&&fe[0].length>0?fe[0][0]:Le("healthMonitor",L.key,T),te=Y.get(se),we=te!=null&&te.resolved===!1,Se=se===ee,Ke=a===se,Ie=W.lastEngagements;switch(L.key){case"companyName":return o.jsxRuntimeExports.jsxs(W1,{companyNameSticky:r,columnWidth:L.width,windowSize:m,isThreadOpen:Se||Ke,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-company-name",T),onContextMenu:X=>de(X,L.key),ref:X=>{l(T,L.key,X)},children:[o.jsxRuntimeExports.jsxs(H1,{ref:q,"data-testid":t.generateDataTestId("health-monitor-row-company-name-text",T),children:[V.name,o.jsxRuntimeExports.jsx(t.ThreadComponent,{anchorRef:q,isElementThreadOpen:Se,roomId:B,openThreadId:ee,openThreadMetadata:G?.metadata??null})]}),o.jsxRuntimeExports.jsx(t.Tooltip,{style:{padding:`2px ${t.Space.sp2}`},title:"Notes",children:o.jsxRuntimeExports.jsxs(G1,{className:"notesIcon","data-testid":t.generateDataTestId("health-monitor-row-notes-icon",T),onClick:X=>{X.preventDefault(),X.stopPropagation(),c({roomId:B,companyId:T,companyName:z,entityType:P})},children:[o.jsxRuntimeExports.jsx(t.CommentsAndNotesCount,{count:k.length,isLoading:N}),o.jsxRuntimeExports.jsx(Y1,{})]})}),o.jsxRuntimeExports.jsx(t.ThreadDotComponent,{isElementThreadPresent:we,itemKey:L.key,style:{left:t.Space.sp4},onElementClick:de}),o.jsxRuntimeExports.jsx(t.AddThreadsComponent,{elementThreadId:Le("healthMonitor",L.key,T),addThreadRequestThreadId:a,itemKey:L.key,onAddThreadClick:le})]},se);case"productVerticals":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-product-verticals",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(Qa,{productVerticals:_.verticalProductServices,testIdSuffix:T}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"runway":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-runway",T),onContextMenu:X=>de(X,L.key),children:[V.runway!=null?J.isCompanyRunwayInfinite(V.runway)===!0?o.jsxRuntimeExports.jsx(Z1,{"data-testid":t.generateDataTestId("health-monitor-row-runway-infinity",T)}):Ga(V.runway.runwayMonths):o.jsxRuntimeExports.jsx(t.LargeRegular,{children:x}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"churnProbability":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-churn-probability",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(K1,{"data-testid":t.generateDataTestId("health-monitor-row-churn-meter",T),children:o.jsxRuntimeExports.jsx(Ka,{percentage:V.churnProbabilityPercentage,barHeight:12})}),W.churnProbabilityPercentage!=null?o.jsxRuntimeExports.jsx(t.Tooltip,{style:{padding:`12px ${t.Space.sp3}`,textAlign:"left"},title:o.jsxRuntimeExports.jsxs(q1,{children:[o.jsxRuntimeExports.jsx(J1,{children:`${O1} ${b} ${e.companyInfo.name} ${N1} ${Math.round(W.churnProbabilityPercentage??0)}${C}${j}`}),e.companyHealthMetric.churnProbabilityReason.length!==0||e.companyHealthMetric.additionalChurnFactors.increasingChurnProbability.length!==0?o.jsxRuntimeExports.jsxs(_r,{children:[o.jsxRuntimeExports.jsxs(Br,{children:[I,S]}),o.jsxRuntimeExports.jsxs(Wr,{children:[e.companyHealthMetric.churnProbabilityReason.map((X,ke)=>o.jsxRuntimeExports.jsx(qn,{children:o.jsxRuntimeExports.jsx(Jn,{children:X.text})},`${o.nanoid()}_${ke}}`)),e.companyHealthMetric.additionalChurnFactors.increasingChurnProbability.map((X,ke)=>o.jsxRuntimeExports.jsx(qn,{children:o.jsxRuntimeExports.jsx(Jn,{children:X.value})},`${o.nanoid()}_${ke}}`))]})]}):null,e.companyHealthMetric.additionalChurnFactors.decreasingChurnProbability.length!==0?o.jsxRuntimeExports.jsxs(_r,{children:[o.jsxRuntimeExports.jsxs(Br,{children:[$,S]}),o.jsxRuntimeExports.jsx(Wr,{children:e.companyHealthMetric.additionalChurnFactors.decreasingChurnProbability.map((X,ke)=>o.jsxRuntimeExports.jsx(qn,{children:o.jsxRuntimeExports.jsx(Jn,{children:X.value})},`${o.nanoid()}_${ke}}`))})]}):null]}),children:o.jsxRuntimeExports.jsx(Q1,{"data-testid":t.generateDataTestId("health-monitor-row-churn-info-icon",T),style:{marginTop:t.Space.sp1,marginLeft:t.Space.sp1,marginRight:t.Space.sp0}})}):null,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"customerSatisfactionScore":case"netPromoterScore":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId(`health-monitor-row-${L.key==="netPromoterScore"?"nps":"csat"}`,T),onContextMenu:X=>de(X,L.key),children:[V[L.key]!=null?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(U1,{children:V[L.key]}),o.jsxRuntimeExports.jsx(V1,{children:f}),L.key==="netPromoterScore"?o.jsxRuntimeExports.jsxs(Fr,{children:[" ",hc," "]}):o.jsxRuntimeExports.jsxs(Fr,{children:[" ",gc," "]})]}):V.churnProbabilityPercentage!=null?y:x,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"controller":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-controller",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(t.Tooltip,{enterDelay:600,style:{padding:`2px ${t.Space.sp2}`},title:V.controllers.join(", "),children:V.controllers[0]}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"customerSuccessManager":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-csm",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(t.Tooltip,{enterDelay:600,style:{padding:`2px ${t.Space.sp2}`,textAlign:"left"},maxWidth:"300px",title:V.customerSuccessManagers.join(", "),children:V.customerSuccessManagers[0]}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"lastReportSent":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-last-report-sent",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(Qn,{children:V.lastReportSent!=null?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(t.LargeRegular,{children:Ko(V.lastReportSent)}),o.jsxRuntimeExports.jsx(t.SmallRegular,{children:V.lastReportSent.format(w.visual.MMMDCommaYYYYformat)})]}):o.jsxRuntimeExports.jsx(t.LargeRegular,{children:x})}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"renewalDate":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-renewal-date",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(Qn,{children:V.renewalDate!=null?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(t.LargeRegular,{children:Ko(V.renewalDate)}),o.jsxRuntimeExports.jsx(t.SmallRegular,{children:V.renewalDate.format(w.visual.MMMDCommaYYYYformat)})]}):o.jsxRuntimeExports.jsx(t.LargeRegular,{children:x})}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"group":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-group",T),onContextMenu:X=>de(X,L.key),children:[V.companyGroup!=null?o.jsxRuntimeExports.jsx(X1,{"data-testid":t.generateDataTestId("health-monitor-row-group-badge",T),textColor:Oa[V.companyGroup.id],children:V.companyGroup.name.toUpperCase()}):x,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"monthlyRecurringRevenue":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-mrr",T),onContextMenu:X=>de(X,L.key),children:[t.amountToString("0,0",V.monthlyRecurringRevenue),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"externalProductServiceExposure":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-external-exposure",T),onContextMenu:X=>de(X,L.key),children:[V.externalProductServiceExposure!=null?V.externalProductServiceExposure.name:x,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"lastEngagement":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-last-engagement",T),onContextMenu:X=>de(X,L.key),children:[Ie.length>0?o.jsxRuntimeExports.jsxs(t.Tooltip,{style:{padding:`12px ${t.Space.sp3}`},title:o.jsxRuntimeExports.jsxs(eS,{children:[o.jsxRuntimeExports.jsxs(tS,{children:[v,S]}),Ie.map((X,ke)=>o.jsxRuntimeExports.jsxs(oS,{children:[o.jsxRuntimeExports.jsxs(nS,{children:[X.type==="email"?o.jsxRuntimeExports.jsx(iS,{}):o.jsxRuntimeExports.jsx(aS,{}),o.jsxRuntimeExports.jsx(_1,{children:X.type==="email"?g:E.meeting})]}),o.jsxRuntimeExports.jsx(sS,{children:X.scheduledAt?.utc(!0).local().format(w.visual.MMMDCommaYYYYformat)??x})]},`${o.nanoid()}_${ke}}`))]}),children:[Ie[0].scheduledAt?.utc(!0).local().format(w.visual.MMMDCommaYYYYformat)??x,o.jsxRuntimeExports.jsxs(rS,{children:[Ie[0].type==="email"?o.jsxRuntimeExports.jsx(qa,{className:"engagement-email-icon"}):o.jsxRuntimeExports.jsx(Ja,{className:"engagement-meeting-icon"}),o.jsxRuntimeExports.jsxs(lS,{children:["Via",h,Ie[0].type==="email"?g:E.meeting]})]})]}):o.jsxRuntimeExports.jsx(t.StandardRegular,{children:x}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"dashboardLastSeen":case"subscriptionDate":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId(`health-monitor-row-${L.key==="dashboardLastSeen"?"dashboard-last-seen":"subscription-date"}`,T),onContextMenu:X=>de(X,L.key),children:[V.subscriptionStartDate??x,xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);case"companyEngagementMetricsUpdatedAt":return o.jsxRuntimeExports.jsxs(st,{ref:X=>{l(T,L.key,X)},columnWidth:L.width,windowSize:m,isThreadAllowed:L.isThreadAllowed,className:ne,"data-testid":t.generateDataTestId("health-monitor-row-engagement-updated",T),onContextMenu:X=>de(X,L.key),children:[o.jsxRuntimeExports.jsx(Qn,{children:V.companyEngagementMetricsUpdatedAt!=null?o.jsxRuntimeExports.jsx(t.LargeRegular,{children:Ko(V.companyEngagementMetricsUpdatedAt)}):o.jsxRuntimeExports.jsx(t.LargeRegular,{children:x})}),xe({isElementThreadOpen:Se,isElementThreadPresent:we,itemKey:L.key,elementThreadId:se,threadStyle:M?{right:t.Space.sp0}:void 0})]},se);default:return null}})})})}const Qa=({productVerticals:e,testIdSuffix:n})=>{const r=i=>{switch(i){case"billpay":return{key:"ZBP",color:t.Colors.graphColor34Dark};case"reimbursement":return{key:"ZR",color:t.Colors.graphColor06Dark};case"accounts":return{key:"ZA",color:t.Colors.graphColor09Dark};case"cards":return{key:"ZC",color:t.Colors.graphColor33Dark};case"payroll_manager_service_plan":return{key:"Payroll",color:t.Colors.graphColor26Dark};case"zeni_tax_plan":return{key:"Tax",color:t.Colors.graphColor35Dark};case"cfo_plan":return{key:"CFO",color:t.Colors.graphColor17Dark};default:return}};return o.jsxRuntimeExports.jsx(F1,{"data-testid":t.generateDataTestId("health-monitor-product-services",n),children:e.map((i,a)=>{const c=r(i.productServiceKey);if(c!=null){const l=n!=null&&n!==""?`${c.key}-${n}`:c.key;return o.jsxRuntimeExports.jsx(B1,{color:c.color,isEnabled:i.isEnabled,"data-testid":t.generateDataTestId("health-monitor-product-chip",l),children:c.key},`${o.nanoid()}_${a}`)}else return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{})})})},z1=s.div`
|
|
1566
1566
|
border: 1px solid ${e=>e.theme.colors.grey3};
|
|
1567
1567
|
border-radius: ${t.Space.sp2};
|
|
1568
1568
|
display: flex;
|
|
@@ -4044,7 +4044,7 @@ ${e}`,ex=e=>ce.createElement("svg",{width:38,height:39,viewBox:"0 0 38 39",fill:
|
|
|
4044
4044
|
margin-left: ${e=>e.setMargin===!0?"20px":t.Space.sp0};
|
|
4045
4045
|
`,Cs=s.div`
|
|
4046
4046
|
height: 18px;
|
|
4047
|
-
`,{common:{strings:E4,texts:{resendInvite:v4,sendInvite:w4}},cockpit:{onboarding:k4}}=t.appLocale.getLocalizedStrings(),T4=["bankAccountLinked","qboLinked","identityVerified","businessVerified"],I4=({companyView:e,companyNameSticky:n,allUsers:r,sendInviteFetchState:i,retryBankAccountConnectionFetchState:a,totalHeight:c,addThreadRequestThreadId:l,targetElementFromNavigation:d,resetTargetElementFromNavigation:u,setNoteData:m,setElementRef:x,setAddThreadRequestThreadId:f,onOnboardingStepClicked:h,onSendInviteClick:S,redirectToDashboardOnboarding:j,onRetryBankAccountConnection:g})=>{const[b,C]=p.useState(null),y=t.useWindowSizeContext(),E=o.useForm({mode:"all"}),{company:{company:{companyInfo:{companyId:v,name:$,primaryEmailDomain:I},companyOnboardingInfo:{onboardingInfo:w}}},tenant:T,onboardingCustomerInfo:z}=e,_=P4(e,r),H={companyEmailDomain:I,companyName:$,customerEmail:z.email??z.receiverEmails[0]??""},U=`cockpit_${v}`,K="onboarding.notes",{threads:W,isLoading:R}=t.useFilteredThreads({entityType:K,companyId:v},!1),{openThread:A,threads:B,addThread:P,removeThread:k,setOpenThread:N}=p.useContext(t.ThreadsContext),V=A!==null?B.get(A):null,ee=A?.includes(v)===!0,Y=A!=null&&B.get(A)==null&&ee,Z=l!=null&&B.get(l)?.metadata.companyId===v,Q=p.useCallback(()=>{A?.includes(t.NEW_THREAD_SUFFIX)===!0&&k(A),l!=null&&f(void 0)},[l,A,k,f]),F=M=>o.jsxRuntimeExports.jsx(t.StickyThread,{isElementThreadOpen:M.isElementThreadOpen??!1,isElementThreadPresent:M.isElementThreadPresent??!1,itemKey:M.itemKey,elementThreadId:M.elementThreadId??E4.empty,roomId:U,addThreadRequestThreadId:l,openThreadId:A,threadStyle:M.threadStyle,openThreadMetadata:V?.metadata??null,onElementClick:q,onAddThreadClick:G,targetElement:d??b}),ue=p.useCallback(M=>{if(M===A)N(null);else if(B.has(M))N(M);else if(M.includes(t.NEW_THREAD_SUFFIX)){const[fe,se]=M.replace(t.NEW_THREAD_SUFFIX,"").split("."),te=co(Bt(fe),J.toOnboardingSortKeyType(se),v,$);P(M,{type:"thread",visibility:"public",id:M,roomId:U,createdAt:new Date,updatedAt:new Date,comments:[],metadata:te,resolved:!1}),N(M)}},[v,$,A,B,P,N,U]),q=p.useCallback((M,fe,se=!1)=>{const te=ro.find(we=>we.key===fe);if(u(),te!=null&&(M.type==="contextmenu"||se===!0)){if(te.isThreadAllowed===!1)return;Q(),M.preventDefault(),M.stopPropagation();const we=t.toCollaborationEntityType({tab:"onboarding",key:te.key});if(M.target instanceof HTMLElement||M.target instanceof SVGElement)if(se===!0&&M.target instanceof HTMLElement)C(M.target.parentElement);else if(M.target instanceof HTMLElement){const Ie=Zs(M.target,ne);C(Ie||M.target)}else{const Ie=M.target.closest(`.${ne}`);Ie instanceof HTMLElement&&C(Ie)}const Se=[...t.getFilteredThreads(B,{entityType:we,companyId:v},"both")],
|
|
4047
|
+
`,{common:{strings:E4,texts:{resendInvite:v4,sendInvite:w4}},cockpit:{onboarding:k4}}=t.appLocale.getLocalizedStrings(),T4=["bankAccountLinked","qboLinked","identityVerified","businessVerified"],I4=({companyView:e,companyNameSticky:n,allUsers:r,sendInviteFetchState:i,retryBankAccountConnectionFetchState:a,totalHeight:c,addThreadRequestThreadId:l,targetElementFromNavigation:d,resetTargetElementFromNavigation:u,setNoteData:m,setElementRef:x,setAddThreadRequestThreadId:f,onOnboardingStepClicked:h,onSendInviteClick:S,redirectToDashboardOnboarding:j,onRetryBankAccountConnection:g})=>{const[b,C]=p.useState(null),y=t.useWindowSizeContext(),E=o.useForm({mode:"all"}),{company:{company:{companyInfo:{companyId:v,name:$,primaryEmailDomain:I},companyOnboardingInfo:{onboardingInfo:w}}},tenant:T,onboardingCustomerInfo:z}=e,_=P4(e,r),H={companyEmailDomain:I,companyName:$,customerEmail:z.email??z.receiverEmails[0]??""},U=`cockpit_${v}`,K="onboarding.notes",{threads:W,isLoading:R}=t.useFilteredThreads({entityType:K,companyId:v},!1),{openThread:A,threads:B,addThread:P,removeThread:k,setOpenThread:N}=p.useContext(t.ThreadsContext),V=A!==null?B.get(A):null,ee=A?.includes(v)===!0,Y=A!=null&&B.get(A)==null&&ee,Z=l!=null&&B.get(l)?.metadata.companyId===v,Q=p.useCallback(()=>{A?.includes(t.NEW_THREAD_SUFFIX)===!0&&k(A),l!=null&&f(void 0)},[l,A,k,f]),F=M=>o.jsxRuntimeExports.jsx(t.StickyThread,{isElementThreadOpen:M.isElementThreadOpen??!1,isElementThreadPresent:M.isElementThreadPresent??!1,itemKey:M.itemKey,elementThreadId:M.elementThreadId??E4.empty,roomId:U,addThreadRequestThreadId:l,openThreadId:A,threadStyle:M.threadStyle,openThreadMetadata:V?.metadata??null,onElementClick:q,onAddThreadClick:G,targetElement:d??b}),ue=p.useCallback(M=>{if(M===A)N(null);else if(B.has(M))N(M);else if(M.includes(t.NEW_THREAD_SUFFIX)){const[fe,se]=M.replace(t.NEW_THREAD_SUFFIX,"").split("."),te=co(Bt(fe),J.toOnboardingSortKeyType(se),v,$);P(M,{type:"thread",visibility:"public",id:M,roomId:U,createdAt:new Date,updatedAt:new Date,comments:[],metadata:te,resolved:!1}),N(M)}},[v,$,A,B,P,N,U]),q=p.useCallback((M,fe,se=!1)=>{const te=ro.find(we=>we.key===fe);if(u(),te!=null&&(M.type==="contextmenu"||se===!0)){if(te.isThreadAllowed===!1)return;Q(),M.preventDefault(),M.stopPropagation();const we=t.toCollaborationEntityType({tab:"onboarding",key:te.key});if(M.target instanceof HTMLElement||M.target instanceof SVGElement)if(se===!0&&M.target instanceof HTMLElement)C(M.target.parentElement);else if(M.target instanceof HTMLElement){const Ie=Zs(M.target,ne);C(Ie||M.target)}else{const Ie=M.target.closest(`.${ne}`);Ie instanceof HTMLElement&&C(Ie)}const Se=[...t.getFilteredThreads(B,{entityType:we,companyId:v},"both")],Ke=Se.length>0&&Se[0].length>0?Se[0][0]:Le("onboarding",te.key,v);B.has(Ke)?ue(Ke):l===Ke?f(void 0):(f(Ke),N(null))}},[B,v,l,ue,f,N,u,Q]),G=p.useCallback((M,fe)=>{M.stopPropagation();const se=Le("onboarding",fe,v);f(void 0),ue(se)},[v,f,ue]),ie=(M,fe)=>{},ae=p.useCallback(()=>{g(v)},[g,v]);p.useEffect(()=>{const M=E.watch((fe,{name:se})=>{se!=null&&fe.companyData!=null&&o.defer(()=>ie())});return()=>{M.unsubscribe()}});const me=w?.inviteSent,je=w?.accountingConnectionCreationMode,D=p.useCallback(M=>{if(w==null)return!1;switch(M){case"bankAccountLinked":case"qboLinked":case"identityVerified":case"businessVerified":return!0;default:return!1}},[w]),de=p.useCallback(M=>{if(T4.includes(M)&&D(M)){j(I);return}h(v,M)},[j,I,v,h,D]),{useFeatureGate:le}=t.useZeniFeatureContext(),{isFeatureEnabled:xe}=le(t.FeatureGatesNames.isDebitCardFeatureEnabled),L=J.isTenantBankingOnly(xe,T),ge=p.useMemo(()=>{const M=w?.inviteAccepted===!0,fe=w?.groupCreated.completed===!0,se=w?.customerCreated.completed===!0,te=w?.accountingConnectionCreationMode==null,we=w?.accountingConnectionCreationMode==="zeni_user"&&w?.qboLinked.completed!==!0,Se=!L;return M||!fe||!se||te&&Se||we&&Se},[w?.accountingConnectionCreationMode,w?.customerCreated.completed,w?.groupCreated.completed,w?.inviteAccepted,w?.qboLinked.completed,L]),Te=p.useMemo(()=>w?.inviteSent===!0?v4:w4,[w?.inviteSent]);return o.jsxRuntimeExports.jsx(o.FormProvider,{...E,children:o.jsxRuntimeExports.jsx("form",{style:{height:"100%"},children:o.jsxRuntimeExports.jsx(o.ClickAwayListener,{onClickAway:()=>{u(),l!=null&&(f(void 0),l.includes(t.NEW_THREAD_SUFFIX)&&k(l))},children:o.jsxRuntimeExports.jsx(A4,{windowSize:y,isThreadOpen:ee||Z,totalHeight:c,isCreationInProgress:Y,children:ro.map((M,fe)=>{const se=t.toCollaborationEntityType({tab:"onboarding",key:M.key}),te=ro.length-2<=fe,we=[...t.getFilteredThreads(B,{entityType:se,companyId:v},"both")],Se=we.length>0&&we[0].length>0?we[0][0]:Le("onboarding",M.key,v),Ke=B.get(Se),Ie=Ke!=null&&Ke.resolved===!1,X=Se===A,ke=l===Se;switch(M.key){case"companyName":return o.jsxRuntimeExports.jsxs(D4,{companyNameSticky:n,columnWidth:M.width,windowSize:y,isThreadOpen:X||ke,isThreadAllowed:M.isThreadAllowed,className:ne,onContextMenu:Ce=>q(Ce,M.key),ref:Ce=>{x(v,M.key,Ce)},children:[o.jsxRuntimeExports.jsxs(L4,{children:[o.jsxRuntimeExports.jsx(O4,{onClick:Ce=>{Ce.preventDefault()},children:$||I}),o.jsxRuntimeExports.jsx(t.ThreadComponent,{isElementThreadOpen:X,targetElement:d??b,roomId:U,openThreadId:A,openThreadMetadata:V?.metadata??null})]}),o.jsxRuntimeExports.jsxs(N4,{className:"notesIcon",onClick:Ce=>{Ce.preventDefault(),m({roomId:U,companyId:v,companyName:$,entityType:K})},children:[o.jsxRuntimeExports.jsx(t.CommentsAndNotesCount,{count:W.length,isLoading:R}),o.jsxRuntimeExports.jsx(M4,{})]}),o.jsxRuntimeExports.jsx(t.ThreadDotComponent,{isElementThreadPresent:Ie,itemKey:M.key,style:{left:t.Space.sp4},onElementClick:q}),o.jsxRuntimeExports.jsx(t.AddThreadsComponent,{elementThreadId:Le("onboarding",M.key,v),addThreadRequestThreadId:l,itemKey:M.key,onAddThreadClick:G})]},Se);case"groupCreated":case"customerCreated":return o.jsxRuntimeExports.jsxs(So,{ref:Ce=>{x(v,M.key,Ce)},columnWidth:M.width,windowSize:y,isThreadAllowed:M.isThreadAllowed,className:ne,onContextMenu:Ce=>q(Ce,M.key),children:[o.jsxRuntimeExports.jsx(fs,{headerItemData:M,onOnboardingStepClicked:de,onboardingInfo:w,allUsers:r}),F({isElementThreadOpen:X,isElementThreadPresent:Ie,itemKey:M.key,elementThreadId:Se,threadStyle:te?{right:t.Space.sp0}:void 0})]},Se);case"bankAccountLinked":return o.jsxRuntimeExports.jsxs(So,{ref:Ce=>{x(v,M.key,Ce)},columnWidth:M.width,windowSize:y,isThreadAllowed:M.isThreadAllowed,className:ne,onContextMenu:Ce=>q(Ce,M.key),children:[o.jsxRuntimeExports.jsx(fs,{headerItemData:M,onOnboardingStepClicked:de,onboardingInfo:w,allUsers:r,isDisabled:me!==!0,onRetry:ae,retryButtonLoading:a==="In-Progress",headerKey:M.key}),F({isElementThreadOpen:X,isElementThreadPresent:Ie,itemKey:M.key,elementThreadId:Se,threadStyle:te?{right:t.Space.sp0}:void 0})]},Se);case"qboLinked":return o.jsxRuntimeExports.jsxs(So,{ref:Ce=>{x(v,M.key,Ce)},columnWidth:M.width,windowSize:y,isThreadAllowed:M.isThreadAllowed,className:ne,onContextMenu:Ce=>q(Ce,M.key),children:[o.jsxRuntimeExports.jsx(fs,{headerItemData:M,onOnboardingStepClicked:de,onboardingInfo:w,allUsers:r,isDisabled:je==="customer"&&me!==!0||L}),F({isElementThreadOpen:X,isElementThreadPresent:Ie,itemKey:M.key,elementThreadId:Se,threadStyle:te?{right:t.Space.sp0}:void 0})]},Se);case"identityVerified":case"businessVerified":return o.jsxRuntimeExports.jsxs(So,{ref:Ce=>{x(v,M.key,Ce)},columnWidth:M.width,windowSize:y,isThreadAllowed:M.isThreadAllowed,className:ne,onContextMenu:Ce=>q(Ce,M.key),children:[o.jsxRuntimeExports.jsx(u4,{headerItemData:M,onOnboardingStepClicked:de,onboardingInfo:w,allUsers:r,isDisabled:me!==!0}),F({isElementThreadOpen:X,isElementThreadPresent:Ie,itemKey:M.key,elementThreadId:Se,threadStyle:te?{right:t.Space.sp0}:void 0})]},Se);case"enroller":return o.jsxRuntimeExports.jsxs(So,{ref:Ce=>{x(v,M.key,Ce)},columnWidth:M.width,windowSize:y,isThreadAllowed:M.isThreadAllowed,className:ne,onContextMenu:Ce=>q(Ce,M.key),children:[o.jsxRuntimeExports.jsx(t.UserMultiSelectField,{name:"companyData.controller",value:_.controller,placeholderLabel:k4.onboardingUsersPlaceholder,isReadOnly:!0,pickerStyles:{titleTextStyle:t.textStyles.largeRegular,multiValueLabelTitleStyle:t.textStyles.largeRegular}}),F({isElementThreadOpen:X,isElementThreadPresent:Ie,itemKey:M.key,elementThreadId:Se,threadStyle:te?{right:t.Space.sp0}:void 0})]},Se);case"invite":return o.jsxRuntimeExports.jsxs(So,{ref:Ce=>{x(v,M.key,Ce)},columnWidth:M.width,windowSize:y,isThreadAllowed:M.isThreadAllowed,className:ne,onContextMenu:Ce=>q(Ce,M.key),children:[o.jsxRuntimeExports.jsx(t.Button,{disabled:ge,variant:"primary",label:Te,onClick:()=>S(v,w?.inviteSent??!1,H),size:"small",loading:i==="In-Progress"}),F({isElementThreadOpen:X,isElementThreadPresent:Ie,itemKey:M.key,elementThreadId:Se,threadStyle:te?{right:t.Space.sp0}:void 0})]},Se);default:return null}})})})})})};function P4(e,n){const r=e.company.company.companyOnboardingInfo.onboardingUserIds,i=n.filter(c=>r.findIndex(l=>l===c.userId)>-1),a=[];return r.forEach(c=>{const l=i.filter(d=>d.userId===c)[0];l!=null&&a.push(l)}),{controller:{allUsers:n,selectedUsers:a}}}const L4=s.div``,A4=s.div`
|
|
4048
4048
|
display: flex;
|
|
4049
4049
|
flex-direction: row;
|
|
4050
4050
|
align-items: center;
|
|
@@ -4430,7 +4430,7 @@ ${e}`,ex=e=>ce.createElement("svg",{width:38,height:39,viewBox:"0 0 38 39",fill:
|
|
|
4430
4430
|
color: ${t.Colors.importantDark};
|
|
4431
4431
|
padding: ${t.Space.sp2} ${t.Space.sp2};
|
|
4432
4432
|
border-radius: ${t.Space.sp1};
|
|
4433
|
-
`,{common:Ae,cockpit:{onboarding:Ge}}=t.appLocale.getLocalizedStrings(),m$=Ae.no,x$=Ae.yes,pe=Ae.strings,Wi="onboardingCustomerPage",h$="companySection",St="groupSection",Ne="customerSection",Il="qboConnectionSection",Fo={labelWidth:new t.ResponsiveSized(120,180),largeLabelWidth:new t.ResponsiveSized(120,210,210),extraLargeLabelWidth:new t.ResponsiveSized(240,240,240),descriptionMarginBottom:new t.ResponsiveSized(20,t.sp[3]),titleFontSize:new t.ResponsiveSized(t.sp[3],18),titleLineHeight:new t.ResponsiveSized(t.sp[4],27),buttonWidth:new t.ResponsiveSized(135,135)};function g$({localData:e,screenType:n,qboConnectClicked:r,analytics:i,onOnboardingCustomerDataUpdated:a,onCloseClick:c,onSaveClick:l,onViewClick:d,onCompanyDomainBlurred:u,onNavigateToPreOnboarding:m,onQBOConnectClick:x}){const f=o.useTheme(),h=t.useWindowSizeContext(),S=Fo.labelWidth.value(h),j=Fo.largeLabelWidth.value(h),g=Fo.extraLargeLabelWidth.value(h),b=o.useForm({mode:"all",reValidateMode:"onChange",defaultValues:p.useMemo(()=>_o(e),[e])}),{emailGroupFetchState:C,newOnboardingCustomerLocalData:y,onboardingCompletedCompanies:E,isOnboardingAllowedForUser:v,fetchState:$,sendInviteFetchState:I,uiState:w,companyView:T,externalConnections:z}=e,[_,H]=p.useState(pe.empty),[U,K]=p.useState(pe.empty),[W]=p.useState(pe.empty),[R,A]=p.useState(pe.empty),[B,P]=p.useState(pe.empty),[k,N]=p.useState(!1),[V,ee]=p.useState(!1),[Y,Z]=p.useState(Ge.customer.completePreOnboardingText),[Q,F]=p.useState(!1),ue=p.useRef(null),q=p.useRef(null),G=p.useRef(null),{isExistingCustomer:ie,isCustomerOnboardedSuccessfully:ae}=j$(e),me=ie&&ae?Ge.customer.customerNameExistInManagementText:Ge.customer.customerNameExistInOnboardingText,je=p.useMemo(()=>me.replace("_company-domain_",y.companyEmailDomain??pe.empty),[C.fetchState]),D=T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed,de=p.useCallback(()=>{const O=b.getValues();return O[Ne].realmId!==O[Ne].confirmRealmId?(A(Ge.customer.realmIdWarning),b.trigger(`${Ne}.confirmRealmId`),!1):(A(pe.empty),b.clearErrors(`${Ne}.confirmRealmId`),!0)},[b]),le=p.useCallback(()=>{const O=b.getValues();return O[Ne].entityType.selectedOption?.value=="Subsidiary"&&O[Ne].company.selectedOption==null?(b.setError("customerSection.company",{type:"required"}),!1):(b.clearErrors("customerSection.company"),!0)},[b]),xe=p.useCallback(()=>y.customerName?.firstName&&!y.customerName?.lastName||!y.customerName?.firstName&&y.customerName?.lastName?(b.trigger(`${Ne}.customerName`),!1):(y.customerName?.firstName||y.customerName?.lastName)&&!y.email?(b.trigger(`${Ne}.email`),!1):(y.customerName?.firstName||y.customerName?.lastName)&&y.email&&y.selectedProducts?.length===0?(P(Ge.customer.productsWarning),b.trigger(`${Ne}.products`),!1):!0,[b,y.customerName,y.email,y.selectedProducts]),L=p.useCallback(()=>de()&&le()&&xe(),[le,de,xe]),ge=b.handleSubmit(()=>{Z(Ge.customer.completePreOnboardingText),L()&&ee(!0)},()=>{L(),console.warn("Onboarding customer form error")}),Te=b.getValues()[Ne].email??pe.empty,M=(O=!1)=>{const he={companyDomain:y.companyEmailDomain??pe.empty,primaryContactEmail:Te},Re={groupName:y.groupName??pe.empty,groupEmail:y.groupId??pe.empty,groupDescription:y.groupDescription??pe.empty},Oe={firstName:y.customerName?.firstName??pe.empty,lastName:y.customerName?.lastName??pe.empty,customerEmail:Te,companyName:y.name??pe.empty,entittyType:y.isSubsidiary===!0?Ae.texts.subsidiary:Ae.texts.parent??pe.empty,chargebeeId:y.chargebeeId??pe.empty,products:y.selectedProducts??[],qboRealmId:y.qboRealmId??pe.empty,hubSpotId:y.hubSpotId},Ee={isSendInvite:O,isInviteAlreadySent:T?.company.companyOnboardingInfo.onboardingInfo?.inviteSent===!0,isZeniManagedQboConnectionSelected:y.accountingConnectionCreationMode==="zeni_user",isCustomerManagedQboConnectionSelected:y.accountingConnectionCreationMode==="customer",qboConnectionStatus:T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed??!1};i?.trackOnboardingSaveOrSendInvite(he,Re,Oe,Ee)},fe=()=>{const O={companyEmailDomain:y.companyEmailDomain??pe.empty,primaryContactEmail:Te},he={groupName:y.groupName??pe.empty,groupEmail:y.groupId??pe.empty,groupDescription:y.groupDescription??pe.empty,isCompanyEmailDomainAvailable:!0};i?.trackOnboardingNewCustomerGroupCreationCheck(O,he)},se=()=>{let O=!0;const he=b.getValues();if(he[St].groupEmail!==pe.empty&&he[St].groupName===pe.empty)H(Ge.customer.groupNameWarning),b.setError("groupSection.groupName",{type:"required"}),O=!1;else if(he[St].groupName!==pe.empty&&he[St].groupEmail===pe.empty)K(Ge.customer.groupEmailWarning),b.setError("groupSection.groupEmail",{type:"required"}),O=!1;else{const{error:Re}=b.getFieldState("groupSection.groupName"),{error:Oe}=b.getFieldState("groupSection.groupEmail");(Re==null||Re.type==="required")&&(Oe==null||Oe.type==="required")&&(O=!1,b.clearErrors("groupSection")),H(pe.empty),K(pe.empty)}return O},te={onOkClick:()=>{N(!1),b.reset(),c()},onCancelClick:()=>{N(!1)}},we={onOkClick:()=>{ee(!1),l(!0),M(!0)},onCancelClick:()=>{ee(!1)}},Se=async(O,he)=>{const Re={...he};if(O.includes("groupName")&&he[St].groupName!=pe.empty&&(he[St].groupName=he[St].groupName.charAt(0).toUpperCase()+he[St].groupName.slice(1)),(O.includes("groupName")||O.includes("groupEmail"))&&se(),O.includes("confirmRealmId")&&A(pe.empty),O.includes("products")&&o.isEqual(y.selectedProducts??[],he[Ne].products.selectedOptions)===!1){P(pe.empty);const Oe=b$(y.selectedProducts??[],he[Ne].products.selectedOptions.map(Xe=>J.toProductTypeStrict(Xe)).filter(Xe=>Xe!=null));Re[Ne].products.selectedOptions=Oe;const Ee=Mn(e.allProductsList,Oe);b.setValue(`${Ne}.products`,{allOptions:Ee,selectedOptions:Oe})}O.includes("realmId")&&o.has(b.formState.errors,`${Ne}.confirmRealmId`)&&b.trigger(`${Ne}.confirmRealmId`),a(Re)},He=O=>{const{dirtyFields:he}=b.formState;he.companySection?.companyDomain===!0&&u(O)},Ie=()=>{Object.keys(b.formState.errors).length===0&&(m?.(),Z(pe.empty))},X=()=>{C.fetchState==="Error"?u(y.companyEmailDomain):L()&&Object.keys(b.formState.errors).length===0&&(l(I.fetchState==="Error"),M())},ke=()=>{L()&&Object.keys(b.formState.errors).length===0&&(l(!1),M())};p.useEffect(()=>{const O=b.watch((he,{name:Re})=>{Re!=null&&he!=null&&o.defer(()=>Se(Re,he))});return()=>{O.unsubscribe()}}),p.useEffect(()=>{y.isCustomerCreationDisabled===!0&&(b.resetField("customerSection",{defaultValue:_o(e)[Ne],keepDirty:!0}),b.clearErrors("customerSection"))},[y.isCustomerCreationDisabled]),p.useEffect(()=>{F(y.isSubsidiary===!0),y.isSubsidiary!==!0&&b.resetField("customerSection.company",{defaultValue:_o(e)[Ne].company,keepDirty:!0}),b.resetField("customerSection.entityType",{defaultValue:_o(e)[Ne].entityType,keepDirty:!0})},[y.isSubsidiary]),p.useEffect(()=>{C.fetchState==="Completed"&&(b.reset(_o(e)),ie||fe())},[C.fetchState]),p.useEffect(()=>{w.selectedStep==="STEP_1"?ue.current?.scrollIntoView():w.selectedStep==="STEP_2"?q.current?.scrollIntoView():w.selectedStep==="STEP_3"&&G.current?.scrollIntoView()},[]),p.useEffect(()=>{const O=T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed;if(z?.saveConnectionState==="Error"){const Re={firstName:y.customerName?.firstName??pe.empty,lastName:y.customerName?.lastName??pe.empty,customerEmail:b.getValues()[Ne].email??pe.empty,qboConnectionResponseMessage:Ae.texts.unableToConnectQuickbooksPleaseTryAgain,isSuccess:!1};i?.trackOnboardingZeniManagedQBOConnection(Re)}else if(O??!1){const Re={firstName:y.customerName?.firstName??pe.empty,lastName:y.customerName?.lastName??pe.empty,customerEmail:b.getValues()[Ne].email??pe.empty,qboConnectionResponseMessage:Ae.texts.congratulationsYouHaveSuccessfullyEstablishedAConnectionWith,isSuccess:!0};i?.trackOnboardingZeniManagedQBOConnection(Re)}},[z?.saveConnectionState,T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed]),p.useEffect(()=>{if(y.accountingConnectionCreationMode){const O=T?.company.companyOnboardingInfo.onboardingInfo?.accountingConnectionCreationMode??pe.empty;if(y.accountingConnectionCreationMode!==O){const he={firstName:y.customerName?.firstName??pe.empty,lastName:y.customerName?.lastName??pe.empty,customerEmail:b.getValues()[Ne].email??pe.empty,isZeniOrCustomer:y.accountingConnectionCreationMode??pe.empty};i?.trackOnboardingQBOConnectionSelected(he)}}},[y.accountingConnectionCreationMode]);const Ce=(O,he)=>{const{fetchState:Re}=O,{isEmailGroupCreated:Oe,selectedProducts:Ee}=he,Xe=Re!=="Completed"&&Oe==null,be=Ee==null||Ee.length===0,Qe=(Ee?.includes("zeni_checking")===!0||Ee?.includes("zeni_treasury")===!0||Ee?.includes("zeni_cards")===!0||Ee?.includes("zeni_payroll")===!0||Ee?.includes("zeni_cfo")===!0||Ee?.includes("zeni_tax")===!0)&&Ee?.includes("bookkeeping")===!1;return Xe||be||Qe},uo=p.useMemo(()=>{const O=b.formState.isValid,he=y.selectedProducts!=null&&(y.selectedProducts.includes("zeni_payroll")===!0||y.selectedProducts.includes("zeni_cfo")===!0||y.selectedProducts.includes("zeni_tax")===!0),Re=y.selectedProducts!=null&&(y.selectedProducts.includes("zeni_checking")===!0||y.selectedProducts.includes("zeni_cards")===!0||he)&&y.selectedProducts.includes("bookkeeping")===!1;return O!==!0||C.fetchState==="In-Progress"||C.fetchState==="Error"||$==="In-Progress"||$==="Error"||v!==!0||y.selectedProducts==null||y.selectedProducts.length===0||y.accountingConnectionCreationMode==null&&!Re||y.accountingConnectionCreationMode==="zeni_user"&&D!==!0&&!Re||C.fetchState==="Completed"&&ie||T?.company.companyOnboardingInfo.onboardingInfo?.inviteAccepted===!0},[C.fetchState,ie,v,$,b.formState.isValid,y.accountingConnectionCreationMode,D,y.selectedProducts,T?.company.companyOnboardingInfo.onboardingInfo?.inviteAccepted]),Ve=p.useMemo(()=>I.fetchState!=="In-Progress"&&I.fetchState!=="Error"&&$!=="In-Progress"&&$!=="Error"&&C.fetchState!=="In-Progress"&&ie===!0,[C.fetchState,ie,$,I.fetchState]);return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[k===!0?o.jsxRuntimeExports.jsx(t.ConfirmationPopup,{titleComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpTitle,{children:Ae.confirmationPopup.discardTitle}),descriptionComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpDescription,{children:Ae.confirmationPopup.discardDescription}),primaryButtonText:Ae.confirmationPopup.discard,secondaryButtonText:Ae.cancel,proceedButtonVariant:"destructive",action:te,style:{background:t.Colors.overlayDark}}):null,V===!0?o.jsxRuntimeExports.jsx(t.ConfirmationPopup,{titleComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpTitle,{style:{paddingLeft:t.Space.sp6,paddingRight:t.Space.sp6},children:Ge.confirmationPopup.title}),descriptionComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpDescription,{children:Ge.confirmationPopup.subTitle}),primaryButtonText:x$,secondaryButtonText:m$,action:we,style:{background:t.Colors.overlayDark}}):null,o.jsxRuntimeExports.jsx(t.NavBarWithClose,{title:n==="create"?Ae.texts.newCustomer:Ae.texts.editCustomer,backgroundColor:f.colors.grey5,style:{zIndex:4},onCloseClick:()=>{Object.keys(b.formState.dirtyFields).length>0?N(!0):(b.reset(),c())}}),o.jsxRuntimeExports.jsxs(S$,{children:[o.jsxRuntimeExports.jsx(y$,{children:Ge.customer.subTitle}),o.jsxRuntimeExports.jsx(o.FormProvider,{...b,children:o.jsxRuntimeExports.jsxs("form",{id:`${Wi}_form`,onSubmit:ge,children:[o.jsxRuntimeExports.jsx(dR,{localData:e,labelWidth:S,onCompanyDomainBlurred:He,primaryEmailDomainAdditionalLabel:W,isOnboardingAllowedForUser:v}),Ve===!0?o.jsxRuntimeExports.jsxs(Rs,{children:[o.jsxRuntimeExports.jsxs($s,{children:[o.jsxRuntimeExports.jsxs(Vi,{children:[o.jsxRuntimeExports.jsx(bs,{}),o.jsxRuntimeExports.jsx(t.StandardMedium,{children:Ge.customer.groupCreationError})]}),o.jsxRuntimeExports.jsx(C$,{children:je})]}),o.jsxRuntimeExports.jsx(t.Button,{style:{padding:`${t.Space.sp1} ${t.Space.sp2}`,backgroundColor:f.colors.champion,borderColor:f.colors.champion,color:f.mode==="light"?t.darkColors.primary:t.lightColors.primary,height:"30px",width:t.Space.sp7},label:Ae.view,size:"small",onClick:()=>{d(ae?"management":"onboarding")}})]}):null,C.fetchState==="Error"||$==="Error"||I.fetchState==="Error"&&e.error!=null&&e.error?.code!==406?o.jsxRuntimeExports.jsxs(Rs,{children:[o.jsxRuntimeExports.jsx($s,{children:o.jsxRuntimeExports.jsxs(Vi,{children:[o.jsxRuntimeExports.jsx(bs,{}),o.jsxRuntimeExports.jsx(t.LargeMedium,{children:Ge.customer.emailgroupAPIError})]})}),o.jsxRuntimeExports.jsx(t.Button,{style:{padding:`${t.Space.sp1} ${t.Space.sp2}`,backgroundColor:f.colors.champion,borderColor:f.colors.champion,color:f.mode==="light"?t.darkColors.primary:t.lightColors.primary},label:Ge.customer.tryAgainText,size:"small",onClick:X})]}):null,I.fetchState==="Error"&&e.error!=null&&e.error?.code===406?o.jsxRuntimeExports.jsxs(Rs,{children:[o.jsxRuntimeExports.jsx(bs,{}),o.jsxRuntimeExports.jsxs($s,{children:[o.jsxRuntimeExports.jsx(t.LargeMedium,{children:Y!==pe.empty?Ge.customer.preOnboardingError:Ge.customer.preOnboardingSaveError}),Y!==pe.empty?o.jsxRuntimeExports.jsx(t.Button,{style:{padding:`${t.Space.sp1} ${t.Space.sp2}`,backgroundColor:f.colors.champion,borderColor:f.colors.champion,color:f.mode==="light"?t.darkColors.primary:t.lightColors.primary},label:Y,size:"small",onClick:Ie}):null]})]}):null,o.jsxRuntimeExports.jsx(Tl,{groupEmailAdditionalLabel:U,groupNameAdditionalLabel:_,labelWidth:S,localData:e,ref:ue,sectionId:St}),o.jsxRuntimeExports.jsx(kl,{localData:e,onboardedCompanies:E.companies,isSubsidiary:Q,labelWidth:S,largeLabelWidth:j,extraLargeLabelWidth:g,realmIdAdditionalLabel:R,productsAdditionalLabel:B,ref:q,sectionId:Ne,isDisabled:v===!1?"disabled":void 0}),o.jsxRuntimeExports.jsx(f$,{children:o.jsxRuntimeExports.jsx(JR,{isSectionDisabled:Ce(C,y),sectionId:Il,isLoading:r===!0||z?.fetchState==="In-Progress"||z?.saveConnectionState==="In-Progress",accountingConnectionCreationMode:e.newOnboardingCustomerLocalData.accountingConnectionCreationMode,onQBOConnectClick:x,isConnected:T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed===!0,isInviteSent:T?.company.companyOnboardingInfo.onboardingInfo?.inviteSent===!0||T?.company.companyOnboardingInfo.onboardingInfo?.inviteAccepted===!0,saveConnectionState:z?.saveConnectionState})})]})})]}),o.jsxRuntimeExports.jsx(t.Footer,{formId:`${Wi}_form`,primaryBtn:{label:T?.company.companyOnboardingInfo.onboardingInfo?.inviteSent===!0?Ae.texts.resendInvite:Ae.texts.sendInvite,style:{width:Fo.buttonWidth.value(h),display:"flex",alignItems:"center",justifyContent:"center"},isLoading:I.fetchState==="In-Progress",isDisabled:uo},cancelBtn:{label:Ae.save,style:{width:Fo.buttonWidth.value(h),display:"flex",alignItems:"center",justifyContent:"center"},isDisabled:!(t.formHasDirtyFields(b.formState.dirtyFields)||e.emailGroupFetchState.fetchState==="Completed"),isLoading:$==="In-Progress"&&r===!1,shouldResetOnCancel:!1,onClick:ke,reverseSpinnerColor:!1}})]})}const _o=e=>{const{newOnboardingCustomerLocalData:n,onboardingCompletedCompanies:r}=e;let i;const a=r.companies.find(c=>c.companyInfo.companyId===n.parentCompanyId);return a!=null&&(i={label:a.companyInfo.name,value:a.companyInfo.companyId}),{[h$]:{companyDomain:n.companyEmailDomain??pe.empty},[St]:{groupName:n.groupName??pe.empty,groupEmail:n.groupId??pe.empty,groupDescription:n.groupDescription??pe.empty},[Ne]:{name:n.name??pe.empty,entityType:{allOptions:[{label:Ae.texts.parent,value:Ae.texts.parent},{label:Ae.texts.subsidiary,value:Ae.texts.subsidiary}],selectedOption:n.isSubsidiary===!0?{label:Ae.texts.subsidiary,value:Ae.texts.subsidiary}:{label:Ae.texts.parent,value:Ae.texts.parent}},company:{selectedOption:i,allOptions:r.companies.map(c=>({label:c.companyInfo.name,value:c.companyInfo.companyId}))},realmId:n.qboRealmId??pe.empty,confirmRealmId:n.qboRealmId??pe.empty,chargebeeId:n.chargebeeId??pe.empty,hubSpotId:n.hubSpotId??pe.empty,email:n.email??pe.empty,customerName:n.customerName??{firstName:pe.empty,lastName:pe.empty},products:{allOptions:Mn(e.allProductsList,n.selectedProducts??[]),selectedOptions:n.selectedProducts??[]}},[Il]:{accountingConnectionCreationMode:n.accountingConnectionCreationMode}}},S$=s.div`
|
|
4433
|
+
`,{common:Ae,cockpit:{onboarding:Ye}}=t.appLocale.getLocalizedStrings(),m$=Ae.no,x$=Ae.yes,pe=Ae.strings,Wi="onboardingCustomerPage",h$="companySection",St="groupSection",Ne="customerSection",Il="qboConnectionSection",Fo={labelWidth:new t.ResponsiveSized(120,180),largeLabelWidth:new t.ResponsiveSized(120,210,210),extraLargeLabelWidth:new t.ResponsiveSized(240,240,240),descriptionMarginBottom:new t.ResponsiveSized(20,t.sp[3]),titleFontSize:new t.ResponsiveSized(t.sp[3],18),titleLineHeight:new t.ResponsiveSized(t.sp[4],27),buttonWidth:new t.ResponsiveSized(135,135)};function g$({localData:e,screenType:n,qboConnectClicked:r,analytics:i,onOnboardingCustomerDataUpdated:a,onCloseClick:c,onSaveClick:l,onViewClick:d,onCompanyDomainBlurred:u,onNavigateToPreOnboarding:m,onQBOConnectClick:x}){const f=o.useTheme(),h=t.useWindowSizeContext(),S=Fo.labelWidth.value(h),j=Fo.largeLabelWidth.value(h),g=Fo.extraLargeLabelWidth.value(h),b=o.useForm({mode:"all",reValidateMode:"onChange",defaultValues:p.useMemo(()=>_o(e),[e])}),{emailGroupFetchState:C,newOnboardingCustomerLocalData:y,onboardingCompletedCompanies:E,isOnboardingAllowedForUser:v,fetchState:$,sendInviteFetchState:I,uiState:w,companyView:T,externalConnections:z}=e,[_,H]=p.useState(pe.empty),[U,K]=p.useState(pe.empty),[W]=p.useState(pe.empty),[R,A]=p.useState(pe.empty),[B,P]=p.useState(pe.empty),[k,N]=p.useState(!1),[V,ee]=p.useState(!1),[Y,Z]=p.useState(Ye.customer.completePreOnboardingText),[Q,F]=p.useState(!1),ue=p.useRef(null),q=p.useRef(null),G=p.useRef(null),{isExistingCustomer:ie,isCustomerOnboardedSuccessfully:ae}=j$(e),me=ie&&ae?Ye.customer.customerNameExistInManagementText:Ye.customer.customerNameExistInOnboardingText,je=p.useMemo(()=>me.replace("_company-domain_",y.companyEmailDomain??pe.empty),[C.fetchState]),D=T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed,de=p.useCallback(()=>{const O=b.getValues();return O[Ne].realmId!==O[Ne].confirmRealmId?(A(Ye.customer.realmIdWarning),b.trigger(`${Ne}.confirmRealmId`),!1):(A(pe.empty),b.clearErrors(`${Ne}.confirmRealmId`),!0)},[b]),le=p.useCallback(()=>{const O=b.getValues();return O[Ne].entityType.selectedOption?.value=="Subsidiary"&&O[Ne].company.selectedOption==null?(b.setError("customerSection.company",{type:"required"}),!1):(b.clearErrors("customerSection.company"),!0)},[b]),xe=p.useCallback(()=>y.customerName?.firstName&&!y.customerName?.lastName||!y.customerName?.firstName&&y.customerName?.lastName?(b.trigger(`${Ne}.customerName`),!1):(y.customerName?.firstName||y.customerName?.lastName)&&!y.email?(b.trigger(`${Ne}.email`),!1):(y.customerName?.firstName||y.customerName?.lastName)&&y.email&&y.selectedProducts?.length===0?(P(Ye.customer.productsWarning),b.trigger(`${Ne}.products`),!1):!0,[b,y.customerName,y.email,y.selectedProducts]),L=p.useCallback(()=>de()&&le()&&xe(),[le,de,xe]),ge=b.handleSubmit(()=>{Z(Ye.customer.completePreOnboardingText),L()&&ee(!0)},()=>{L(),console.warn("Onboarding customer form error")}),Te=b.getValues()[Ne].email??pe.empty,M=(O=!1)=>{const he={companyDomain:y.companyEmailDomain??pe.empty,primaryContactEmail:Te},Re={groupName:y.groupName??pe.empty,groupEmail:y.groupId??pe.empty,groupDescription:y.groupDescription??pe.empty},Oe={firstName:y.customerName?.firstName??pe.empty,lastName:y.customerName?.lastName??pe.empty,customerEmail:Te,companyName:y.name??pe.empty,entittyType:y.isSubsidiary===!0?Ae.texts.subsidiary:Ae.texts.parent??pe.empty,chargebeeId:y.chargebeeId??pe.empty,products:y.selectedProducts??[],qboRealmId:y.qboRealmId??pe.empty,hubSpotId:y.hubSpotId},Ee={isSendInvite:O,isInviteAlreadySent:T?.company.companyOnboardingInfo.onboardingInfo?.inviteSent===!0,isZeniManagedQboConnectionSelected:y.accountingConnectionCreationMode==="zeni_user",isCustomerManagedQboConnectionSelected:y.accountingConnectionCreationMode==="customer",qboConnectionStatus:T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed??!1};i?.trackOnboardingSaveOrSendInvite(he,Re,Oe,Ee)},fe=()=>{const O={companyEmailDomain:y.companyEmailDomain??pe.empty,primaryContactEmail:Te},he={groupName:y.groupName??pe.empty,groupEmail:y.groupId??pe.empty,groupDescription:y.groupDescription??pe.empty,isCompanyEmailDomainAvailable:!0};i?.trackOnboardingNewCustomerGroupCreationCheck(O,he)},se=()=>{let O=!0;const he=b.getValues();if(he[St].groupEmail!==pe.empty&&he[St].groupName===pe.empty)H(Ye.customer.groupNameWarning),b.setError("groupSection.groupName",{type:"required"}),O=!1;else if(he[St].groupName!==pe.empty&&he[St].groupEmail===pe.empty)K(Ye.customer.groupEmailWarning),b.setError("groupSection.groupEmail",{type:"required"}),O=!1;else{const{error:Re}=b.getFieldState("groupSection.groupName"),{error:Oe}=b.getFieldState("groupSection.groupEmail");(Re==null||Re.type==="required")&&(Oe==null||Oe.type==="required")&&(O=!1,b.clearErrors("groupSection")),H(pe.empty),K(pe.empty)}return O},te={onOkClick:()=>{N(!1),b.reset(),c()},onCancelClick:()=>{N(!1)}},we={onOkClick:()=>{ee(!1),l(!0),M(!0)},onCancelClick:()=>{ee(!1)}},Se=async(O,he)=>{const Re={...he};if(O.includes("groupName")&&he[St].groupName!=pe.empty&&(he[St].groupName=he[St].groupName.charAt(0).toUpperCase()+he[St].groupName.slice(1)),(O.includes("groupName")||O.includes("groupEmail"))&&se(),O.includes("confirmRealmId")&&A(pe.empty),O.includes("products")&&o.isEqual(y.selectedProducts??[],he[Ne].products.selectedOptions)===!1){P(pe.empty);const Oe=b$(y.selectedProducts??[],he[Ne].products.selectedOptions.map(Xe=>J.toProductTypeStrict(Xe)).filter(Xe=>Xe!=null));Re[Ne].products.selectedOptions=Oe;const Ee=Mn(e.allProductsList,Oe);b.setValue(`${Ne}.products`,{allOptions:Ee,selectedOptions:Oe})}O.includes("realmId")&&o.has(b.formState.errors,`${Ne}.confirmRealmId`)&&b.trigger(`${Ne}.confirmRealmId`),a(Re)},Ke=O=>{const{dirtyFields:he}=b.formState;he.companySection?.companyDomain===!0&&u(O)},Ie=()=>{Object.keys(b.formState.errors).length===0&&(m?.(),Z(pe.empty))},X=()=>{C.fetchState==="Error"?u(y.companyEmailDomain):L()&&Object.keys(b.formState.errors).length===0&&(l(I.fetchState==="Error"),M())},ke=()=>{L()&&Object.keys(b.formState.errors).length===0&&(l(!1),M())};p.useEffect(()=>{const O=b.watch((he,{name:Re})=>{Re!=null&&he!=null&&o.defer(()=>Se(Re,he))});return()=>{O.unsubscribe()}}),p.useEffect(()=>{y.isCustomerCreationDisabled===!0&&(b.resetField("customerSection",{defaultValue:_o(e)[Ne],keepDirty:!0}),b.clearErrors("customerSection"))},[y.isCustomerCreationDisabled]),p.useEffect(()=>{F(y.isSubsidiary===!0),y.isSubsidiary!==!0&&b.resetField("customerSection.company",{defaultValue:_o(e)[Ne].company,keepDirty:!0}),b.resetField("customerSection.entityType",{defaultValue:_o(e)[Ne].entityType,keepDirty:!0})},[y.isSubsidiary]),p.useEffect(()=>{C.fetchState==="Completed"&&(b.reset(_o(e)),ie||fe())},[C.fetchState]),p.useEffect(()=>{w.selectedStep==="STEP_1"?ue.current?.scrollIntoView():w.selectedStep==="STEP_2"?q.current?.scrollIntoView():w.selectedStep==="STEP_3"&&G.current?.scrollIntoView()},[]),p.useEffect(()=>{const O=T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed;if(z?.saveConnectionState==="Error"){const Re={firstName:y.customerName?.firstName??pe.empty,lastName:y.customerName?.lastName??pe.empty,customerEmail:b.getValues()[Ne].email??pe.empty,qboConnectionResponseMessage:Ae.texts.unableToConnectQuickbooksPleaseTryAgain,isSuccess:!1};i?.trackOnboardingZeniManagedQBOConnection(Re)}else if(O??!1){const Re={firstName:y.customerName?.firstName??pe.empty,lastName:y.customerName?.lastName??pe.empty,customerEmail:b.getValues()[Ne].email??pe.empty,qboConnectionResponseMessage:Ae.texts.congratulationsYouHaveSuccessfullyEstablishedAConnectionWith,isSuccess:!0};i?.trackOnboardingZeniManagedQBOConnection(Re)}},[z?.saveConnectionState,T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed]),p.useEffect(()=>{if(y.accountingConnectionCreationMode){const O=T?.company.companyOnboardingInfo.onboardingInfo?.accountingConnectionCreationMode??pe.empty;if(y.accountingConnectionCreationMode!==O){const he={firstName:y.customerName?.firstName??pe.empty,lastName:y.customerName?.lastName??pe.empty,customerEmail:b.getValues()[Ne].email??pe.empty,isZeniOrCustomer:y.accountingConnectionCreationMode??pe.empty};i?.trackOnboardingQBOConnectionSelected(he)}}},[y.accountingConnectionCreationMode]);const Ce=(O,he)=>{const{fetchState:Re}=O,{isEmailGroupCreated:Oe,selectedProducts:Ee}=he,Xe=Re!=="Completed"&&Oe==null,be=Ee==null||Ee.length===0,Qe=(Ee?.includes("zeni_checking")===!0||Ee?.includes("zeni_treasury")===!0||Ee?.includes("zeni_cards")===!0||Ee?.includes("zeni_payroll")===!0||Ee?.includes("zeni_cfo")===!0||Ee?.includes("zeni_tax")===!0)&&Ee?.includes("bookkeeping")===!1;return Xe||be||Qe},uo=p.useMemo(()=>{const O=b.formState.isValid,he=y.selectedProducts!=null&&(y.selectedProducts.includes("zeni_payroll")===!0||y.selectedProducts.includes("zeni_cfo")===!0||y.selectedProducts.includes("zeni_tax")===!0),Re=y.selectedProducts!=null&&(y.selectedProducts.includes("zeni_checking")===!0||y.selectedProducts.includes("zeni_cards")===!0||he)&&y.selectedProducts.includes("bookkeeping")===!1;return O!==!0||C.fetchState==="In-Progress"||C.fetchState==="Error"||$==="In-Progress"||$==="Error"||v!==!0||y.selectedProducts==null||y.selectedProducts.length===0||y.accountingConnectionCreationMode==null&&!Re||y.accountingConnectionCreationMode==="zeni_user"&&D!==!0&&!Re||C.fetchState==="Completed"&&ie||T?.company.companyOnboardingInfo.onboardingInfo?.inviteAccepted===!0},[C.fetchState,ie,v,$,b.formState.isValid,y.accountingConnectionCreationMode,D,y.selectedProducts,T?.company.companyOnboardingInfo.onboardingInfo?.inviteAccepted]),Ve=p.useMemo(()=>I.fetchState!=="In-Progress"&&I.fetchState!=="Error"&&$!=="In-Progress"&&$!=="Error"&&C.fetchState!=="In-Progress"&&ie===!0,[C.fetchState,ie,$,I.fetchState]);return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[k===!0?o.jsxRuntimeExports.jsx(t.ConfirmationPopup,{titleComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpTitle,{children:Ae.confirmationPopup.discardTitle}),descriptionComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpDescription,{children:Ae.confirmationPopup.discardDescription}),primaryButtonText:Ae.confirmationPopup.discard,secondaryButtonText:Ae.cancel,proceedButtonVariant:"destructive",action:te,style:{background:t.Colors.overlayDark}}):null,V===!0?o.jsxRuntimeExports.jsx(t.ConfirmationPopup,{titleComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpTitle,{style:{paddingLeft:t.Space.sp6,paddingRight:t.Space.sp6},children:Ye.confirmationPopup.title}),descriptionComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpDescription,{children:Ye.confirmationPopup.subTitle}),primaryButtonText:x$,secondaryButtonText:m$,action:we,style:{background:t.Colors.overlayDark}}):null,o.jsxRuntimeExports.jsx(t.NavBarWithClose,{title:n==="create"?Ae.texts.newCustomer:Ae.texts.editCustomer,backgroundColor:f.colors.grey5,style:{zIndex:4},onCloseClick:()=>{Object.keys(b.formState.dirtyFields).length>0?N(!0):(b.reset(),c())}}),o.jsxRuntimeExports.jsxs(S$,{children:[o.jsxRuntimeExports.jsx(y$,{children:Ye.customer.subTitle}),o.jsxRuntimeExports.jsx(o.FormProvider,{...b,children:o.jsxRuntimeExports.jsxs("form",{id:`${Wi}_form`,onSubmit:ge,children:[o.jsxRuntimeExports.jsx(dR,{localData:e,labelWidth:S,onCompanyDomainBlurred:Ke,primaryEmailDomainAdditionalLabel:W,isOnboardingAllowedForUser:v}),Ve===!0?o.jsxRuntimeExports.jsxs(Rs,{children:[o.jsxRuntimeExports.jsxs($s,{children:[o.jsxRuntimeExports.jsxs(Vi,{children:[o.jsxRuntimeExports.jsx(bs,{}),o.jsxRuntimeExports.jsx(t.StandardMedium,{children:Ye.customer.groupCreationError})]}),o.jsxRuntimeExports.jsx(C$,{children:je})]}),o.jsxRuntimeExports.jsx(t.Button,{style:{padding:`${t.Space.sp1} ${t.Space.sp2}`,backgroundColor:f.colors.champion,borderColor:f.colors.champion,color:f.mode==="light"?t.darkColors.primary:t.lightColors.primary,height:"30px",width:t.Space.sp7},label:Ae.view,size:"small",onClick:()=>{d(ae?"management":"onboarding")}})]}):null,C.fetchState==="Error"||$==="Error"||I.fetchState==="Error"&&e.error!=null&&e.error?.code!==406?o.jsxRuntimeExports.jsxs(Rs,{children:[o.jsxRuntimeExports.jsx($s,{children:o.jsxRuntimeExports.jsxs(Vi,{children:[o.jsxRuntimeExports.jsx(bs,{}),o.jsxRuntimeExports.jsx(t.LargeMedium,{children:Ye.customer.emailgroupAPIError})]})}),o.jsxRuntimeExports.jsx(t.Button,{style:{padding:`${t.Space.sp1} ${t.Space.sp2}`,backgroundColor:f.colors.champion,borderColor:f.colors.champion,color:f.mode==="light"?t.darkColors.primary:t.lightColors.primary},label:Ye.customer.tryAgainText,size:"small",onClick:X})]}):null,I.fetchState==="Error"&&e.error!=null&&e.error?.code===406?o.jsxRuntimeExports.jsxs(Rs,{children:[o.jsxRuntimeExports.jsx(bs,{}),o.jsxRuntimeExports.jsxs($s,{children:[o.jsxRuntimeExports.jsx(t.LargeMedium,{children:Y!==pe.empty?Ye.customer.preOnboardingError:Ye.customer.preOnboardingSaveError}),Y!==pe.empty?o.jsxRuntimeExports.jsx(t.Button,{style:{padding:`${t.Space.sp1} ${t.Space.sp2}`,backgroundColor:f.colors.champion,borderColor:f.colors.champion,color:f.mode==="light"?t.darkColors.primary:t.lightColors.primary},label:Y,size:"small",onClick:Ie}):null]})]}):null,o.jsxRuntimeExports.jsx(Tl,{groupEmailAdditionalLabel:U,groupNameAdditionalLabel:_,labelWidth:S,localData:e,ref:ue,sectionId:St}),o.jsxRuntimeExports.jsx(kl,{localData:e,onboardedCompanies:E.companies,isSubsidiary:Q,labelWidth:S,largeLabelWidth:j,extraLargeLabelWidth:g,realmIdAdditionalLabel:R,productsAdditionalLabel:B,ref:q,sectionId:Ne,isDisabled:v===!1?"disabled":void 0}),o.jsxRuntimeExports.jsx(f$,{children:o.jsxRuntimeExports.jsx(JR,{isSectionDisabled:Ce(C,y),sectionId:Il,isLoading:r===!0||z?.fetchState==="In-Progress"||z?.saveConnectionState==="In-Progress",accountingConnectionCreationMode:e.newOnboardingCustomerLocalData.accountingConnectionCreationMode,onQBOConnectClick:x,isConnected:T?.company.companyOnboardingInfo.onboardingInfo?.qboLinked.completed===!0,isInviteSent:T?.company.companyOnboardingInfo.onboardingInfo?.inviteSent===!0||T?.company.companyOnboardingInfo.onboardingInfo?.inviteAccepted===!0,saveConnectionState:z?.saveConnectionState})})]})})]}),o.jsxRuntimeExports.jsx(t.Footer,{formId:`${Wi}_form`,primaryBtn:{label:T?.company.companyOnboardingInfo.onboardingInfo?.inviteSent===!0?Ae.texts.resendInvite:Ae.texts.sendInvite,style:{width:Fo.buttonWidth.value(h),display:"flex",alignItems:"center",justifyContent:"center"},isLoading:I.fetchState==="In-Progress",isDisabled:uo},cancelBtn:{label:Ae.save,style:{width:Fo.buttonWidth.value(h),display:"flex",alignItems:"center",justifyContent:"center"},isDisabled:!(t.formHasDirtyFields(b.formState.dirtyFields)||e.emailGroupFetchState.fetchState==="Completed"),isLoading:$==="In-Progress"&&r===!1,shouldResetOnCancel:!1,onClick:ke,reverseSpinnerColor:!1}})]})}const _o=e=>{const{newOnboardingCustomerLocalData:n,onboardingCompletedCompanies:r}=e;let i;const a=r.companies.find(c=>c.companyInfo.companyId===n.parentCompanyId);return a!=null&&(i={label:a.companyInfo.name,value:a.companyInfo.companyId}),{[h$]:{companyDomain:n.companyEmailDomain??pe.empty},[St]:{groupName:n.groupName??pe.empty,groupEmail:n.groupId??pe.empty,groupDescription:n.groupDescription??pe.empty},[Ne]:{name:n.name??pe.empty,entityType:{allOptions:[{label:Ae.texts.parent,value:Ae.texts.parent},{label:Ae.texts.subsidiary,value:Ae.texts.subsidiary}],selectedOption:n.isSubsidiary===!0?{label:Ae.texts.subsidiary,value:Ae.texts.subsidiary}:{label:Ae.texts.parent,value:Ae.texts.parent}},company:{selectedOption:i,allOptions:r.companies.map(c=>({label:c.companyInfo.name,value:c.companyInfo.companyId}))},realmId:n.qboRealmId??pe.empty,confirmRealmId:n.qboRealmId??pe.empty,chargebeeId:n.chargebeeId??pe.empty,hubSpotId:n.hubSpotId??pe.empty,email:n.email??pe.empty,customerName:n.customerName??{firstName:pe.empty,lastName:pe.empty},products:{allOptions:Mn(e.allProductsList,n.selectedProducts??[]),selectedOptions:n.selectedProducts??[]}},[Il]:{accountingConnectionCreationMode:n.accountingConnectionCreationMode}}},S$=s.div`
|
|
4434
4434
|
display: flex;
|
|
4435
4435
|
justify-content: flex-start;
|
|
4436
4436
|
height: 100%;
|
|
@@ -4635,7 +4635,7 @@ ${e}`,ex=e=>ce.createElement("svg",{width:38,height:39,viewBox:"0 0 38 39",fill:
|
|
|
4635
4635
|
z-index: ${t.sp[2]};
|
|
4636
4636
|
min-width: ${t.COMMENTS_SECTION_MINIMUM_WIDTH}px;
|
|
4637
4637
|
max-width: ${t.COMMENTS_DRAWER_MAXIMUM_WIDTH}px;
|
|
4638
|
-
`,fo="monthEndReportFormSection",Ki="monthEndReportPage",{common:mt,cockpit:vt,dateFormat:oE}=t.appLocale.getLocalizedStrings();function nE({companyId:e,enableZeniGPTFeature:n,enableSendingMonthEndEmail:r,monthEndReportView:i,previewMode:a,customerRequestData:c,allThreadsSectionOpen:l,filterMetaData:d,newThreadMetadata:u,isAuditScoreLoadingCompleted:m,regenerationCount:x,onAgentInsightSaveStateChange:f,improveUsingZeniGPTClick:h,onRemoveFileAttachment:S,onUpdateFileAttachment:j,onCloseAllThreadsSection:g,previewMonthEndReport:b,saveMonthEndReport:C,onEditClick:y,onOpenFileAttachmentSnackBar:E,onClickAuditScore:v,onClickCustomerRequest:$,sendMonthEndReport:I}){const w=o.useTheme(),[T,z]=p.useState(),[_,H]=p.useState(!1),{agentInsightEdits:U,agentInsightEditsRef:K,hasUnpersistedAgentEdits:W,onAgentInsightEdit:R,saveState:A}=t.useAgentInsightEdits({saveStatus:i.saveMonthEndReportStatus,save:()=>sr(),regenerationCount:x,onStateChange:f}),[B,P]=p.useState(0),[k,N]=p.useState(0),V=p.useRef(),ee=p.useRef(null),Y=p.useRef(null),Z=p.useRef(null),{html:Q,subject:F,improveUsingZeniGPTStatus:ue}=i,[q,G]=p.useState(),[ie,ae]=p.useState(!1),[me,je]=p.useState(!1),[D,de]=p.useState(!1),[le,xe]=p.useState(!1),L=p.useRef(null),ge=p.useRef(null),Te=t.useDelayUnmount(l,250),M=i.fetchState==="Not-Started"||i.fetchState==="In-Progress"||i.companyMonthEndReportTemplatesData.fetchState==="Not-Started"||i.companyMonthEndReportTemplatesData.fetchState==="In-Progress",{threadsRefs:fe,sortedThreads:se,threadsPositions:te,observer:we,unresolvedThreadsMap:Se,handleRemoveFloatingThread:He}=t.useFloatingThreads(d,L,!a,M),[Ie,X]=p.useState(0),ke=p.useCallback(()=>{const Je=fe.current?.[fe.current?.length-1];X(window.scrollY+(Je?.getBoundingClientRect()?.bottom??0))},[fe]),Ce=p.useCallback(()=>{l?N(Math.min((window.innerWidth-t.FORM_MINIMUM_WIDTH)/2,window.innerWidth-t.FORM_MINIMUM_WIDTH-t.COMMENTS_DRAWER_MAXIMUM_WIDTH-t.sp[4])):P(Math.min((window.innerWidth-t.FORM_MINIMUM_WIDTH)/2,window.innerWidth-t.FORM_MINIMUM_WIDTH-t.COMMENTS_SECTION_MINIMUM_WIDTH))},[l]);p.useEffect(()=>{Ce()},[l,Ce]),p.useEffect(()=>(window.addEventListener("resize",Ce),()=>{window.removeEventListener("resize",Ce)}),[Ce]),p.useEffect(()=>(window.addEventListener("scroll",ke),()=>window.removeEventListener("scroll",ke)),[ke]);const{openThread:uo,addThread:Ve,setOpenThread:O}=p.useContext(t.ThreadsContext),he=t.useHandleSelection(t.MONTH_END_REPORT_CANVAS,!1,!a),Re=L.current?.getBoundingClientRect(),Oe=he!=null&&he.coords&&Re?{left:he.coords.left-Re.left,top:he.coords.top-Re.top}:void 0,Ee=p.useCallback(()=>{const Je=window.getSelection()?.getRangeAt(0),_e=t.getSelectionData();if(!Je||_e==null)return;const ut={...u,..._e,startPath:_e.startPath.join(),endPath:_e.endPath.join()},lt=`${o.nanoid()}${t.NEW_THREAD_SUFFIX}`,Vt=`cockpit_${e}`;Ve(lt,{type:"thread",visibility:"public",id:lt,roomId:Vt,createdAt:new Date,updatedAt:new Date,comments:[],metadata:ut,resolved:!1}),O(lt)},[Ve,e,u,O]),Xe=()=>{de(!0),setTimeout(()=>{de(!1)},2e3)};p.useEffect(()=>{uo!=null&&l&&g()},[l,uo,g]);const be=ue.fetchState==="In-Progress",Qe=o.useForm({mode:"all",defaultValues:Gi(i),values:Gi(i)}),qe=Qe.handleSubmit(Je=>{const{recipientEmailList:_e,subject:ut}=Je[fo],lt=i.auditSummaryData.auditSummary.bypassedAuditScore,Vt=i.auditSummaryData.isControllerOrReviewer;if(!W)if(a===!0)lt>=75?I?.(q?.id):lt<75&&(Vt||r)&&xe(!0);else if(lt>=75||lt<75&&(Vt||r)){const Ro=T?.replace(t.EMPTY_HTML_CHECKER,mt.strings.empty);_e!=null&&ut!=null&&b(_e,ut,q?.id,Ro!=null&&Ro.length>0?T:void 0,K.current)}else Fl()}),Ke=()=>{ee.current!=null&&ee.current.click()},Ue=()=>{q!==void 0&&q!=null&&(S([q.id]),G(void 0),ae(!1))},oe=Je=>{const _e=Je.target.files?Je.target.files[0]:null;if(_e)if(!J.toSupportedAttachmentFileType(_e.type)||me)console.warn("Please select a valid file.");else{const ut=new FileReader;ut.onload=function(lt){const Vt=lt.target?.result;if(typeof Vt=="string"){const Ro={data:Vt.split(",")[1],name:_e.name,id:J.getAttachmentFileIdByFileName(e,_e.name)};G(Ro),ae(!0),j([Ro])}},ut.readAsDataURL(_e)}},Bn=()=>{Y.current&&Y.current.scrollIntoView({behavior:"smooth"})},Fl=()=>{Z.current&&(Z.current.scrollIntoView({behavior:"smooth"}),Xe())},sr=()=>{const Je=Qe.getValues(),{recipientEmailList:_e,subject:ut}=Je[fo];C(_e??i.recipientEmailList??[],ut??mt.strings.empty,q?.id,T,K.current)};p.useEffect(()=>{z(i.zeniRequestsHtml)},[i.zeniRequestsHtml]),p.useEffect(()=>{V.current=q},[q]),p.useEffect(()=>{G(J.mapAttachmentFileToAttachmentFilePayload(i.attachmentFile)),ae(!1)},[i.attachmentFile]),p.useEffect(()=>{me&&E()},[me,E]);const Wn=J.dateNow().subtract(1,"month").format(oE.visual.MMMMFormat),qo=Q!=null?Q.split(t.MONTH_END_EDITOR_PLACEHOLDER):[],Jo=vt.monthEndReport.agentInsights,Vn=i.templateData,_l=!a&&t.hasAgentInsights(Vn),Bl=i.concatenatedHtml,Wl=()=>i.lastDraftSavedDate!=null&&a===!1?o.jsxRuntimeExports.jsx(t.UserWithTimestamp,{time:i.lastDraftSavedDate,user:i.reportLastSavedByUser,timeStampLabel:vt.monthEndReport.timeStampLabel}):null,Vl={onOkClick:()=>{I?.(q?.id),xe(!1),Qe.reset()},onCancelClick:()=>{y==null?xe(!1):y(),xe(!1)}};return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsxs(B$,{ref:ge,style:Ie>0?{height:Ie}:void 0,children:[o.jsxRuntimeExports.jsx(_$,{availableWidth:l?k:B}),o.jsxRuntimeExports.jsxs(F$,{children:[o.jsxRuntimeExports.jsx(o.FormProvider,{...Qe,children:o.jsxRuntimeExports.jsx("form",{id:Yi(Ki),onSubmit:qe,children:o.jsxRuntimeExports.jsxs(q$,{children:[o.jsxRuntimeExports.jsx(t.MonthEndReportSection,{sectionId:fo,previewMode:a,subject:F}),a?null:o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(Pl,{ref:Z,highlight:D,onClickAuditScore:v,auditSummaryData:i.auditSummaryData,isAuditScoreLoadingCompleted:m}),o.jsxRuntimeExports.jsx(t.MonthEndReportCustomerRequestSection,{totalItems:(i.zeniRequestsData??[]).length+t.getTemplatesFromTemplatedData(i.companyMonthEndReportTemplatesData).length,onClickCustomerRequest:$})]}),o.jsxRuntimeExports.jsxs(K$,{id:t.MONTH_END_REPORT_CANVAS,ref:L,children:[o.jsxRuntimeExports.jsxs(G$,{className:"monthEndReportCanvasWrapper",children:[q!=null||me?o.jsxRuntimeExports.jsx(Y$,{onClick:Bn,children:o.jsxRuntimeExports.jsx(t.CircleWithAttachmentSuccessIcon,{fileSizeError:me,setFileSizeError:je,loading:!1,showAnimation:!a&&ie})}):null,a?o.jsxRuntimeExports.jsx(Hi,{dangerouslySetInnerHTML:{__html:t.getHTMLWithCommentingSections(Bl)}}):o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[_l?o.jsxRuntimeExports.jsxs(U$,{children:[o.jsxRuntimeExports.jsx(H$,{role:"status",children:A==="failed"?Jo.saveFailed:A==="saving"?Jo.saving:null}),o.jsxRuntimeExports.jsx(t.Button,{type:"button",size:"small",dataTestId:"agent_insights_edit_toggle",label:_?Jo.doneButtonLabel:Jo.editButtonLabel,onClick:()=>H(!_)})]}):null,o.jsxRuntimeExports.jsxs(V$,{id:t.MONTH_END_EMAIL_HEADER_SECTION,children:[_&&Vn!=null?o.jsxRuntimeExports.jsx(t.AgentInsightsEditor,{edits:U,resyncToken:x,templateData:Vn,onEdit:R}):o.jsxRuntimeExports.jsx(t.StandardRegular,{dangerouslySetInnerHTML:{__html:qo[0]!=null?qo[0]+"</body></html>":mt.strings.empty}}),o.jsxRuntimeExports.jsxs(W$,{children:[o.jsxRuntimeExports.jsx(Q$,{children:vt.monthEndReport.editorTitle}),o.jsxRuntimeExports.jsx(X$,{children:vt.monthEndReport.editorNote})]})]}),o.jsxRuntimeExports.jsx(Z$,{id:t.MONTH_END_EMAIL_EDITOR_SECTION,children:o.jsxRuntimeExports.jsx(t.Editor,{handleFileInputClick:Ke,fileAttached:q!=null,enableZeniGPTFeature:n,isZeniGPTResponseLoading:be,initialHtmlString:i.zeniRequestsHtml,improveUsingZeniGPTClick:h,setZeniRequestsHtml:z,customerRequestData:c})}),_?null:o.jsxRuntimeExports.jsx(Hi,{id:t.MONTH_END_EMAIL_BODY_SECTION,dangerouslySetInnerHTML:{__html:qo[1]!=null?"<html><body>"+qo[1]:mt.strings.empty}})]}),q!=null?o.jsxRuntimeExports.jsx(t.FileAttachment,{ref:Y,fileName:q.name,fileSize:t.base64FileSize(q.data),onRemove:Ue,isRemovable:!a}):null]}),Oe?o.jsxRuntimeExports.jsx(t.AddThreadFloating,{style:{zIndex:15},coords:Oe,alignment:he.alignment,onClick:Ee}):null,o.jsxRuntimeExports.jsx(t.TextHighlightSection,{canvasContainerRef:L,sortedThreads:se,editorMode:!a})]})]})})}),o.jsxRuntimeExports.jsx(t.FileInputElement,{name:q?.name??mt.strings.empty,fileRef:ee,sizeLimit:z$,acceptableTypes:M$,onFileChange:async Je=>{oe(Je)},onFileSizeError:Je=>je(Je),multiple:!1})]}),Te?o.jsxRuntimeExports.jsx(tE,{allThreadsSectionOpen:l,children:o.jsxRuntimeExports.jsx(t.AllThreadsSection,{autoExpand:!0,autoFocus:!1,style:{borderLeft:`1px solid ${w.colors.grey3}`,boxShadow:`${t.Space.sp0} 1px 2px ${t.Space.sp0} ${t.Colors.boxShadowElevation}`},drawerSectionStyle:{width:`calc(100% - ${t.Space.sp5} - ${t.Space.sp5})`,backgroundColor:w.colors.background},threadsContainerStyle:{paddingBottom:a?"160px":t.Space.sp12},collapsibleThreadStyle:{width:`calc(100% - ${t.Space.sp4})`},allowComposer:!1,drawerTitle:mt.texts.comments,filter:d,textOverrides:{},preventResolvedThreadClick:!0,onThreadClick:(Je,_e)=>{O(_e);const ut=se.findIndex(lt=>lt[0]===_e);g(),fe.current?.[ut]?.scrollIntoView({behavior:"smooth",block:"center",inline:"center"})},onCloseAllThreadsDrawer:()=>g()})}):o.jsxRuntimeExports.jsx(t.FloatingThreads,{observer:we,canvasContainerRef:L,sortedThreads:se,threadsPositions:te,threadsRefs:fe,unresolvedThreadsMap:Se,editorMode:!a,style:{minWidth:`${t.COMMENTS_SECTION_MINIMUM_WIDTH}px`,position:"relative",height:"fit-content",width:"auto",top:`${L.current?.offsetTop}px`},handleRemoveFloatingThread:He})]}),le?o.jsxRuntimeExports.jsx(t.ConfirmationPopup,{titleComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpTitle,{children:vt.monthEndReport.sendMonthInsightsTitle.replace("__month__",Wn)}),descriptionComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpDescription,{children:vt.monthEndReport.sendMonthInsightsDescription.replace("__month__",Wn)}),primaryButtonText:vt.monthEndReport.sendAnyway,primaryButtonWidth:124,secondaryButtonWidth:124,proceedButtonVariant:"destructive",secondaryButtonText:mt.edit,action:Vl,containerStyle:{minWidth:356}}):null,o.jsxRuntimeExports.jsx(t.Footer,{style:{zIndex:10},leftSideComponent:Wl(),formId:Yi(Ki),helperText:a===!0?vt.monthEndReport.reportSentDateInfo:void 0,cancelBtn:{isDisabled:!m||be,label:a===!0?mt.edit:mt.texts.saveChanges,onClick:a===!0?y:sr,style:{width:"225px"},size:"medium",isLoading:i.saveMonthEndReportStatus.fetchState==="In-Progress",reverseSpinnerColor:!1},primaryBtn:{isDisabled:!m||be||!a&&W,isLoading:a===!0?i.sendMonthEndReportStatus.fetchState==="In-Progress":i.previewMonthEndReportStatus.fetchState==="In-Progress",style:{width:a===!0?"unset":"225px"},label:a===!0?vt.monthEndReport.sendEmailButtonLabel.replace("__month__",Wn):mt.texts.preview,size:"medium"}})]})}const Gi=e=>({[fo]:{recipientEmailList:e.recipientEmailList,subject:e.subject??mt.strings.empty}}),Yi=e=>`${e}_form`,{refresh:sE}=t.appLocale.getLocalizedStrings().common.texts,rE=s(t.SmallRegular)`
|
|
4638
|
+
`,fo="monthEndReportFormSection",Ki="monthEndReportPage",{common:mt,cockpit:vt,dateFormat:oE}=t.appLocale.getLocalizedStrings();function nE({companyId:e,enableZeniGPTFeature:n,enableSendingMonthEndEmail:r,monthEndReportView:i,previewMode:a,customerRequestData:c,allThreadsSectionOpen:l,filterMetaData:d,newThreadMetadata:u,isAuditScoreLoadingCompleted:m,regenerationCount:x,onAgentInsightSaveStateChange:f,improveUsingZeniGPTClick:h,onRemoveFileAttachment:S,onUpdateFileAttachment:j,onCloseAllThreadsSection:g,previewMonthEndReport:b,saveMonthEndReport:C,onEditClick:y,onOpenFileAttachmentSnackBar:E,onClickAuditScore:v,onClickCustomerRequest:$,sendMonthEndReport:I}){const w=o.useTheme(),[T,z]=p.useState(),[_,H]=p.useState(!1),{agentInsightEdits:U,agentInsightEditsRef:K,hasUnpersistedAgentEdits:W,onAgentInsightEdit:R,saveState:A}=t.useAgentInsightEdits({saveStatus:i.saveMonthEndReportStatus,save:()=>sr(),regenerationCount:x,onStateChange:f}),[B,P]=p.useState(0),[k,N]=p.useState(0),V=p.useRef(),ee=p.useRef(null),Y=p.useRef(null),Z=p.useRef(null),{html:Q,subject:F,improveUsingZeniGPTStatus:ue}=i,[q,G]=p.useState(),[ie,ae]=p.useState(!1),[me,je]=p.useState(!1),[D,de]=p.useState(!1),[le,xe]=p.useState(!1),L=p.useRef(null),ge=p.useRef(null),Te=t.useDelayUnmount(l,250),M=i.fetchState==="Not-Started"||i.fetchState==="In-Progress"||i.companyMonthEndReportTemplatesData.fetchState==="Not-Started"||i.companyMonthEndReportTemplatesData.fetchState==="In-Progress",{threadsRefs:fe,sortedThreads:se,threadsPositions:te,observer:we,unresolvedThreadsMap:Se,handleRemoveFloatingThread:Ke}=t.useFloatingThreads(d,L,!a,M),[Ie,X]=p.useState(0),ke=p.useCallback(()=>{const Je=fe.current?.[fe.current?.length-1];X(window.scrollY+(Je?.getBoundingClientRect()?.bottom??0))},[fe]),Ce=p.useCallback(()=>{l?N(Math.min((window.innerWidth-t.FORM_MINIMUM_WIDTH)/2,window.innerWidth-t.FORM_MINIMUM_WIDTH-t.COMMENTS_DRAWER_MAXIMUM_WIDTH-t.sp[4])):P(Math.min((window.innerWidth-t.FORM_MINIMUM_WIDTH)/2,window.innerWidth-t.FORM_MINIMUM_WIDTH-t.COMMENTS_SECTION_MINIMUM_WIDTH))},[l]);p.useEffect(()=>{Ce()},[l,Ce]),p.useEffect(()=>(window.addEventListener("resize",Ce),()=>{window.removeEventListener("resize",Ce)}),[Ce]),p.useEffect(()=>(window.addEventListener("scroll",ke),()=>window.removeEventListener("scroll",ke)),[ke]);const{openThread:uo,addThread:Ve,setOpenThread:O}=p.useContext(t.ThreadsContext),he=t.useHandleSelection(t.MONTH_END_REPORT_CANVAS,!1,!a),Re=L.current?.getBoundingClientRect(),Oe=he!=null&&he.coords&&Re?{left:he.coords.left-Re.left,top:he.coords.top-Re.top}:void 0,Ee=p.useCallback(()=>{const Je=window.getSelection()?.getRangeAt(0),_e=t.getSelectionData();if(!Je||_e==null)return;const ut={...u,..._e,startPath:_e.startPath.join(),endPath:_e.endPath.join()},lt=`${o.nanoid()}${t.NEW_THREAD_SUFFIX}`,Vt=`cockpit_${e}`;Ve(lt,{type:"thread",visibility:"public",id:lt,roomId:Vt,createdAt:new Date,updatedAt:new Date,comments:[],metadata:ut,resolved:!1}),O(lt)},[Ve,e,u,O]),Xe=()=>{de(!0),setTimeout(()=>{de(!1)},2e3)};p.useEffect(()=>{uo!=null&&l&&g()},[l,uo,g]);const be=ue.fetchState==="In-Progress",Qe=o.useForm({mode:"all",defaultValues:Gi(i),values:Gi(i)}),qe=Qe.handleSubmit(Je=>{const{recipientEmailList:_e,subject:ut}=Je[fo],lt=i.auditSummaryData.auditSummary.bypassedAuditScore,Vt=i.auditSummaryData.isControllerOrReviewer;if(!W)if(a===!0)lt>=75?I?.(q?.id):lt<75&&(Vt||r)&&xe(!0);else if(lt>=75||lt<75&&(Vt||r)){const Ro=T?.replace(t.EMPTY_HTML_CHECKER,mt.strings.empty);_e!=null&&ut!=null&&b(_e,ut,q?.id,Ro!=null&&Ro.length>0?T:void 0,K.current)}else Fl()}),Ge=()=>{ee.current!=null&&ee.current.click()},Ue=()=>{q!==void 0&&q!=null&&(S([q.id]),G(void 0),ae(!1))},oe=Je=>{const _e=Je.target.files?Je.target.files[0]:null;if(_e)if(!J.toSupportedAttachmentFileType(_e.type)||me)console.warn("Please select a valid file.");else{const ut=new FileReader;ut.onload=function(lt){const Vt=lt.target?.result;if(typeof Vt=="string"){const Ro={data:Vt.split(",")[1],name:_e.name,id:J.getAttachmentFileIdByFileName(e,_e.name)};G(Ro),ae(!0),j([Ro])}},ut.readAsDataURL(_e)}},Bn=()=>{Y.current&&Y.current.scrollIntoView({behavior:"smooth"})},Fl=()=>{Z.current&&(Z.current.scrollIntoView({behavior:"smooth"}),Xe())},sr=()=>{const Je=Qe.getValues(),{recipientEmailList:_e,subject:ut}=Je[fo];C(_e??i.recipientEmailList??[],ut??mt.strings.empty,q?.id,T,K.current)};p.useEffect(()=>{z(i.zeniRequestsHtml)},[i.zeniRequestsHtml]),p.useEffect(()=>{V.current=q},[q]),p.useEffect(()=>{G(J.mapAttachmentFileToAttachmentFilePayload(i.attachmentFile)),ae(!1)},[i.attachmentFile]),p.useEffect(()=>{me&&E()},[me,E]);const Wn=J.dateNow().subtract(1,"month").format(oE.visual.MMMMFormat),qo=Q!=null?Q.split(t.MONTH_END_EDITOR_PLACEHOLDER):[],Jo=vt.monthEndReport.agentInsights,Vn=i.templateData,_l=!a&&t.hasAgentInsights(Vn),Bl=i.concatenatedHtml,Wl=()=>i.lastDraftSavedDate!=null&&a===!1?o.jsxRuntimeExports.jsx(t.UserWithTimestamp,{time:i.lastDraftSavedDate,user:i.reportLastSavedByUser,timeStampLabel:vt.monthEndReport.timeStampLabel}):null,Vl={onOkClick:()=>{I?.(q?.id),xe(!1),Qe.reset()},onCancelClick:()=>{y==null?xe(!1):y(),xe(!1)}};return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsxs(B$,{ref:ge,style:Ie>0?{height:Ie}:void 0,children:[o.jsxRuntimeExports.jsx(_$,{availableWidth:l?k:B}),o.jsxRuntimeExports.jsxs(F$,{children:[o.jsxRuntimeExports.jsx(o.FormProvider,{...Qe,children:o.jsxRuntimeExports.jsx("form",{id:Yi(Ki),onSubmit:qe,children:o.jsxRuntimeExports.jsxs(q$,{children:[o.jsxRuntimeExports.jsx(t.MonthEndReportSection,{sectionId:fo,previewMode:a,subject:F}),a?null:o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(Pl,{ref:Z,highlight:D,onClickAuditScore:v,auditSummaryData:i.auditSummaryData,isAuditScoreLoadingCompleted:m}),o.jsxRuntimeExports.jsx(t.MonthEndReportCustomerRequestSection,{totalItems:(i.zeniRequestsData??[]).length+t.getTemplatesFromTemplatedData(i.companyMonthEndReportTemplatesData).length,onClickCustomerRequest:$})]}),o.jsxRuntimeExports.jsxs(K$,{id:t.MONTH_END_REPORT_CANVAS,ref:L,children:[o.jsxRuntimeExports.jsxs(G$,{className:"monthEndReportCanvasWrapper",children:[q!=null||me?o.jsxRuntimeExports.jsx(Y$,{onClick:Bn,children:o.jsxRuntimeExports.jsx(t.CircleWithAttachmentSuccessIcon,{fileSizeError:me,setFileSizeError:je,loading:!1,showAnimation:!a&&ie})}):null,a?o.jsxRuntimeExports.jsx(Hi,{dangerouslySetInnerHTML:{__html:t.getHTMLWithCommentingSections(Bl)}}):o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[_l?o.jsxRuntimeExports.jsxs(U$,{children:[o.jsxRuntimeExports.jsx(H$,{role:"status",children:A==="failed"?Jo.saveFailed:A==="saving"?Jo.saving:null}),o.jsxRuntimeExports.jsx(t.Button,{type:"button",size:"small",dataTestId:"agent_insights_edit_toggle",label:_?Jo.doneButtonLabel:Jo.editButtonLabel,onClick:()=>H(!_)})]}):null,o.jsxRuntimeExports.jsxs(V$,{id:t.MONTH_END_EMAIL_HEADER_SECTION,children:[_&&Vn!=null?o.jsxRuntimeExports.jsx(t.AgentInsightsEditor,{edits:U,resyncToken:x,templateData:Vn,onEdit:R}):o.jsxRuntimeExports.jsx(t.StandardRegular,{dangerouslySetInnerHTML:{__html:qo[0]!=null?qo[0]+"</body></html>":mt.strings.empty}}),o.jsxRuntimeExports.jsxs(W$,{children:[o.jsxRuntimeExports.jsx(Q$,{children:vt.monthEndReport.editorTitle}),o.jsxRuntimeExports.jsx(X$,{children:vt.monthEndReport.editorNote})]})]}),o.jsxRuntimeExports.jsx(Z$,{id:t.MONTH_END_EMAIL_EDITOR_SECTION,children:o.jsxRuntimeExports.jsx(t.Editor,{handleFileInputClick:Ge,fileAttached:q!=null,enableZeniGPTFeature:n,isZeniGPTResponseLoading:be,initialHtmlString:i.zeniRequestsHtml,improveUsingZeniGPTClick:h,setZeniRequestsHtml:z,customerRequestData:c})}),_?null:o.jsxRuntimeExports.jsx(Hi,{id:t.MONTH_END_EMAIL_BODY_SECTION,dangerouslySetInnerHTML:{__html:qo[1]!=null?"<html><body>"+qo[1]:mt.strings.empty}})]}),q!=null?o.jsxRuntimeExports.jsx(t.FileAttachment,{ref:Y,fileName:q.name,fileSize:t.base64FileSize(q.data),onRemove:Ue,isRemovable:!a}):null]}),Oe?o.jsxRuntimeExports.jsx(t.AddThreadFloating,{style:{zIndex:15},coords:Oe,alignment:he.alignment,onClick:Ee}):null,o.jsxRuntimeExports.jsx(t.TextHighlightSection,{canvasContainerRef:L,sortedThreads:se,editorMode:!a})]})]})})}),o.jsxRuntimeExports.jsx(t.FileInputElement,{name:q?.name??mt.strings.empty,fileRef:ee,sizeLimit:z$,acceptableTypes:M$,onFileChange:async Je=>{oe(Je)},onFileSizeError:Je=>je(Je),multiple:!1})]}),Te?o.jsxRuntimeExports.jsx(tE,{allThreadsSectionOpen:l,children:o.jsxRuntimeExports.jsx(t.AllThreadsSection,{autoExpand:!0,autoFocus:!1,style:{borderLeft:`1px solid ${w.colors.grey3}`,boxShadow:`${t.Space.sp0} 1px 2px ${t.Space.sp0} ${t.Colors.boxShadowElevation}`},drawerSectionStyle:{width:`calc(100% - ${t.Space.sp5} - ${t.Space.sp5})`,backgroundColor:w.colors.background},threadsContainerStyle:{paddingBottom:a?"160px":t.Space.sp12},collapsibleThreadStyle:{width:`calc(100% - ${t.Space.sp4})`},allowComposer:!1,drawerTitle:mt.texts.comments,filter:d,textOverrides:{},preventResolvedThreadClick:!0,onThreadClick:(Je,_e)=>{O(_e);const ut=se.findIndex(lt=>lt[0]===_e);g(),fe.current?.[ut]?.scrollIntoView({behavior:"smooth",block:"center",inline:"center"})},onCloseAllThreadsDrawer:()=>g()})}):o.jsxRuntimeExports.jsx(t.FloatingThreads,{observer:we,canvasContainerRef:L,sortedThreads:se,threadsPositions:te,threadsRefs:fe,unresolvedThreadsMap:Se,editorMode:!a,style:{minWidth:`${t.COMMENTS_SECTION_MINIMUM_WIDTH}px`,position:"relative",height:"fit-content",width:"auto",top:`${L.current?.offsetTop}px`},handleRemoveFloatingThread:Ke})]}),le?o.jsxRuntimeExports.jsx(t.ConfirmationPopup,{titleComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpTitle,{children:vt.monthEndReport.sendMonthInsightsTitle.replace("__month__",Wn)}),descriptionComponent:o.jsxRuntimeExports.jsx(t.ConfirmationPopUpDescription,{children:vt.monthEndReport.sendMonthInsightsDescription.replace("__month__",Wn)}),primaryButtonText:vt.monthEndReport.sendAnyway,primaryButtonWidth:124,secondaryButtonWidth:124,proceedButtonVariant:"destructive",secondaryButtonText:mt.edit,action:Vl,containerStyle:{minWidth:356}}):null,o.jsxRuntimeExports.jsx(t.Footer,{style:{zIndex:10},leftSideComponent:Wl(),formId:Yi(Ki),helperText:a===!0?vt.monthEndReport.reportSentDateInfo:void 0,cancelBtn:{isDisabled:!m||be,label:a===!0?mt.edit:mt.texts.saveChanges,onClick:a===!0?y:sr,style:{width:"225px"},size:"medium",isLoading:i.saveMonthEndReportStatus.fetchState==="In-Progress",reverseSpinnerColor:!1},primaryBtn:{isDisabled:!m||be||!a&&W,isLoading:a===!0?i.sendMonthEndReportStatus.fetchState==="In-Progress":i.previewMonthEndReportStatus.fetchState==="In-Progress",style:{width:a===!0?"unset":"225px"},label:a===!0?vt.monthEndReport.sendEmailButtonLabel.replace("__month__",Wn):mt.texts.preview,size:"medium"}})]})}const Gi=e=>({[fo]:{recipientEmailList:e.recipientEmailList,subject:e.subject??mt.strings.empty}}),Yi=e=>`${e}_form`,{refresh:sE}=t.appLocale.getLocalizedStrings().common.texts,rE=s(t.SmallRegular)`
|
|
4639
4639
|
color: ${e=>e.theme.colors.hero};
|
|
4640
4640
|
display: flex;
|
|
4641
4641
|
align-items: center;
|