@burdenoff/microfe-timecampus 2026.710.1 → 2026.713.1

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.
Files changed (27) hide show
  1. package/dist/index.js +2 -1
  2. package/dist/services/createSandboxAssistantTransport.d.ts +8 -3
  3. package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -1
  4. package/dist/services/createSandboxAssistantTransport.js +12 -0
  5. package/dist/services/createSandboxAssistantTransport.js.map +1 -0
  6. package/dist/timecampus/components/DataTable.js +1 -0
  7. package/dist/timecampus/components/FilterBar.js +1 -0
  8. package/dist/timecampus/components/charts/BalanceWheel.js +38 -43
  9. package/dist/timecampus/components/charts/BalanceWheel.js.map +1 -1
  10. package/dist/timecampus/components/charts/BarsChart.js +24 -31
  11. package/dist/timecampus/components/charts/BarsChart.js.map +1 -1
  12. package/dist/timecampus/components/charts/DonutChart.js +36 -40
  13. package/dist/timecampus/components/charts/DonutChart.js.map +1 -1
  14. package/dist/timecampus/components/charts/RadialGauge.js +14 -17
  15. package/dist/timecampus/components/charts/RadialGauge.js.map +1 -1
  16. package/dist/timecampus/components/charts/Sparkline.js +2 -0
  17. package/dist/timecampus/components/charts/TrendChart.js +47 -57
  18. package/dist/timecampus/components/charts/TrendChart.js.map +1 -1
  19. package/dist/timecampus/index.d.ts +1 -0
  20. package/dist/timecampus/index.d.ts.map +1 -1
  21. package/dist/timecampus/index.js +1 -0
  22. package/dist/timecampus/providers/TimeCampusProvider.js +32 -32
  23. package/dist/timecampus/utils/helpers.js +2 -2
  24. package/package.json +2 -2
  25. package/dist/_virtual/_rolldown/runtime.js +0 -20
  26. package/dist/services/assistantApi.d.ts +0 -49
  27. package/dist/services/assistantApi.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -2,5 +2,6 @@ import { useTimeCampus as e, useTimeCampusNavigate as t } from "./timecampus/pro
2
2
  import { AcceptRecommendationDocument as n, ActivateResourcePlanDocument as r, AddParticipantDocument as i, ApplicationUsageFieldsFragmentDoc as a, ApprovalRequestFieldsFragmentDoc as o, ApproveExpenseDocument as s, ApproveRequestDocument as c, ArchiveProjectDocument as l, BalanceTargetFieldsFragmentDoc as u, BulkCreateAllocationsDocument as d, BulkCreateEmailTimeEntriesDocument as f, BulkDeleteTimeEntriesDocument as p, CalculateFocusScoreDocument as m, CaptureEventFieldsFragmentDoc as h, CategorizeApplicationDocument as g, ClientPortalFieldsFragmentDoc as _, CompleteActionItemDocument as v, CompletePomodoroSessionDocument as y, ContextSharingPolicyFieldsFragmentDoc as b, CreateActionItemDocument as x, CreateAllocationDocument as S, CreateClientPortalConfigDocument as C, CreateEmailTimeEntryDocument as w, CreateExpenseDocument as T, CreateGeofenceDocument as E, CreateLifeGoalDocument as D, CreateLocationEntryDocument as O, CreateMeetingDocument as k, CreatePomodoroGoalDocument as A, CreateProjectDocument as j, CreateResourcePlanDocument as M, CreateTaskDocument as N, CreateTimeEntryDocument as P, DeclareLifeValueDocument as F, DeleteActionItemDocument as I, DeleteAllocationDocument as L, DeleteApplicationUsageDocument as R, DeleteClientPortalConfigDocument as z, DeleteEmailTimeEntryDocument as B, DeleteExpenseDocument as V, DeleteFocusScoreDocument as H, DeleteGeofenceDocument as U, DeleteLifeGoalDocument as W, DeleteLifeValueDocument as G, DeleteLocationEntryDocument as K, DeleteMeetingDocument as q, DeletePomodoroGoalDocument as J, DeleteProjectDocument as Y, DeleteResourcePlanDocument as X, DeleteTaskDocument as Z, DeleteTimeCampusCaptureEventDocument as Q, DeleteTimeEntryDocument as $, DeleteWorkPatternDocument as ee, DismissRecommendationDocument as te, DuplicateTimeEntryDocument as ne, EmailTimeEntryFieldsFragmentDoc as re, ExpenseFieldsFragmentDoc as ie, FocusScoreFieldsFragmentDoc as ae, GenerateMyRecommendationsDocument as oe, GeofenceEventFieldsFragmentDoc as se, GeofenceFieldsFragmentDoc as ce, GetActiveLocationEntryDocument as le, GetActivePomodoroSessionDocument as ue, GetAppUsageSummaryDocument as de, GetApplicationUsageDocument as fe, GetApprovalRequestDocument as pe, GetApprovalStatsDocument as me, GetCapacityOverviewDocument as he, GetClientPortalConfigDocument as ge, GetClientPortalStatsDocument as _e, GetEmailTimeEntryDocument as ve, GetEmailTrackingStatsDocument as ye, GetExpenseDocument as be, GetExpenseStatsDocument as xe, GetFocusScoreDocument as Se, GetFocusScoreSummaryDocument as Ce, GetFocusScoreTrendDocument as we, GetGeofenceDocument as Te, GetLocationEntryDocument as Ee, GetLocationStatsDocument as De, GetMeetingDocument as Oe, GetMeetingStatsDocument as ke, GetPomodoroSessionDocument as Ae, GetPomodoroSettingsDocument as je, GetPomodoroStatsDocument as Me, GetProjectDocument as Ne, GetProjectStatsDocument as Pe, GetResourcePlanDocument as Fe, GetTaskDocument as Ie, GetTimeCampusTimelineDocument as Le, GetTimeEntryCountDocument as Re, GetTimeEntryDocument as ze, GetTimeEntryStatsDocument as Be, GetTodayFocusScoreDocument as Ve, GetTodayWorkPatternDocument as He, GetWorkPatternDocument as Ue, GetWorkPatternSummaryDocument as We, GrantSourceConsentDocument as Ge, IngestTimeCampusCaptureEventsDocument as Ke, InterruptPomodoroSessionDocument as qe, LifeGoalFieldsFragmentDoc as Je, LifeProfileFieldsFragmentDoc as Ye, LifeTimelineDocument as Xe, LifeValueFieldsFragmentDoc as Ze, ListApplicationUsagesDocument as Qe, ListApprovalRequestsDocument as $e, ListClientPortalConfigsDocument as et, ListEmailTimeEntriesDocument as tt, ListExpenseCategoriesDocument as nt, ListExpensesDocument as rt, ListFocusScoresDocument as it, ListGeofenceEventsDocument as at, ListGeofencesDocument as ot, ListLocationEntriesDocument as st, ListMeetingsDocument as ct, ListMyApprovalRequestsDocument as lt, ListPendingApprovalsDocument as ut, ListPomodoroGoalsDocument as dt, ListPomodoroSessionsDocument as ft, ListProjectsDocument as pt, ListResourceAllocationsDocument as mt, ListResourcePlansDocument as ht, ListRunningTimersDocument as gt, ListTasksDocument as _t, ListTimeCampusCaptureEventsDocument as vt, ListTimeEntriesByDateDocument as yt, ListTimeEntriesDocument as bt, ListTopApplicationsDocument as xt, ListUpcomingMeetingsDocument as St, ListUserAllocationsDocument as Ct, ListWorkPatternsDocument as wt, LocationEntryFieldsFragmentDoc as Tt, LogLifeTimeEntryDocument as Et, MeetingActionItemFieldsFragmentDoc as Dt, MeetingFieldsFragmentDoc as Ot, MeetingParticipantFieldsFragmentDoc as kt, MyBalanceTargetsDocument as At, MyContextSharingPolicyDocument as jt, MyDeadTimeRadarDocument as Mt, MyLifeBalanceDocument as Nt, MyLifeGoalsDocument as Pt, MyLifeInWeeksDocument as Ft, MyLifeProfileDocument as It, MyLifeValuesDocument as Lt, MyPersonalDataSummaryDocument as Rt, MyRecommendationPreferencesDocument as zt, MyRecommendationsDocument as Bt, MySourceConsentsDocument as Vt, MyTimeWellSpentDocument as Ht, PomodoroGoalFieldsFragmentDoc as Ut, PomodoroSessionFieldsFragmentDoc as Wt, PomodoroSettingsFieldsFragmentDoc as Gt, ProjectFieldsFragmentDoc as Kt, RateMeetingDocument as qt, RecategorizeTimeCampusCaptureEventDocument as Jt, RecommendationFieldsFragmentDoc as Yt, RecommendationPreferenceFieldsFragmentDoc as Xt, RecordApplicationUsageDocument as Zt, RecordFocusScoreDocument as Qt, RecordGeofenceEventDocument as $t, RecordWorkPatternDocument as en, RegenerateClientPortalShareTokenDocument as tn, RejectExpenseDocument as nn, RejectRequestDocument as rn, RemoveParticipantDocument as an, ReorderTasksDocument as on, RequestRevisionDocument as sn, ResourceAllocationFieldsFragmentDoc as cn, ResourcePlanFieldsFragmentDoc as ln, RevokeSourceConsentDocument as un, SetBalanceTargetDocument as dn, SnoozeRecommendationDocument as fn, SourceConsentFieldsFragmentDoc as pn, StartPomodoroSessionDocument as mn, StartTimerDocument as hn, StopTimerDocument as gn, SubmitApprovalRequestDocument as _n, SubmitExpenseForApprovalDocument as vn, TaskFieldsFragmentDoc as yn, TimeEntryFieldsFragmentDoc as bn, TimelineSegmentFieldsFragmentDoc as xn, TimelineSummaryFieldsFragmentDoc as Sn, ToggleClientPortalDocument as Cn, ToggleGeofenceDocument as wn, UpdateActionItemDocument as Tn, UpdateAllocationDocument as En, UpdateApplicationUsageDocument as Dn, UpdateClientPortalConfigDocument as On, UpdateContextSharingPolicyDocument as kn, UpdateEmailTimeEntryDocument as An, UpdateExpenseDocument as jn, UpdateFocusScoreDocument as Mn, UpdateGeofenceDocument as Nn, UpdateLifeGoalDocument as Pn, UpdateLifeValueDocument as Fn, UpdateLocationEntryDocument as In, UpdateMeetingDocument as Ln, UpdateMyLifeProfileDocument as Rn, UpdateMyRecommendationPreferencesDocument as zn, UpdateParticipantStatusDocument as Bn, UpdatePomodoroGoalDocument as Vn, UpdatePomodoroSettingsDocument as Hn, UpdateProjectDocument as Un, UpdateResourcePlanDocument as Wn, UpdateTaskDocument as Gn, UpdateTaskStatusDocument as Kn, UpdateTimeEntryDocument as qn, UpdateWorkPatternDocument as Jn, WithdrawRequestDocument as Yn, WorkPatternFieldsFragmentDoc as Xn, useAcceptRecommendationMutation as Zn, useActivateResourcePlanMutation as Qn, useAddParticipantMutation as $n, useApproveExpenseMutation as er, useApproveRequestMutation as tr, useArchiveProjectMutation as nr, useBulkCreateAllocationsMutation as rr, useBulkCreateEmailTimeEntriesMutation as ir, useBulkDeleteTimeEntriesMutation as ar, useCalculateFocusScoreMutation as or, useCategorizeApplicationMutation as sr, useCompleteActionItemMutation as cr, useCompletePomodoroSessionMutation as lr, useCreateActionItemMutation as ur, useCreateAllocationMutation as dr, useCreateClientPortalConfigMutation as fr, useCreateEmailTimeEntryMutation as pr, useCreateExpenseMutation as mr, useCreateGeofenceMutation as hr, useCreateLifeGoalMutation as gr, useCreateLocationEntryMutation as _r, useCreateMeetingMutation as vr, useCreatePomodoroGoalMutation as yr, useCreateProjectMutation as br, useCreateResourcePlanMutation as xr, useCreateTaskMutation as Sr, useCreateTimeEntryMutation as Cr, useDeclareLifeValueMutation as wr, useDeleteActionItemMutation as Tr, useDeleteAllocationMutation as Er, useDeleteApplicationUsageMutation as Dr, useDeleteClientPortalConfigMutation as Or, useDeleteEmailTimeEntryMutation as kr, useDeleteExpenseMutation as Ar, useDeleteFocusScoreMutation as jr, useDeleteGeofenceMutation as Mr, useDeleteLifeGoalMutation as Nr, useDeleteLifeValueMutation as Pr, useDeleteLocationEntryMutation as Fr, useDeleteMeetingMutation as Ir, useDeletePomodoroGoalMutation as Lr, useDeleteProjectMutation as Rr, useDeleteResourcePlanMutation as zr, useDeleteTaskMutation as Br, useDeleteTimeCampusCaptureEventMutation as Vr, useDeleteTimeEntryMutation as Hr, useDeleteWorkPatternMutation as Ur, useDismissRecommendationMutation as Wr, useDuplicateTimeEntryMutation as Gr, useGenerateMyRecommendationsMutation as Kr, useGetActiveLocationEntryLazyQuery as qr, useGetActiveLocationEntryQuery as Jr, useGetActiveLocationEntrySuspenseQuery as Yr, useGetActivePomodoroSessionLazyQuery as Xr, useGetActivePomodoroSessionQuery as Zr, useGetActivePomodoroSessionSuspenseQuery as Qr, useGetAppUsageSummaryLazyQuery as $r, useGetAppUsageSummaryQuery as ei, useGetAppUsageSummarySuspenseQuery as ti, useGetApplicationUsageLazyQuery as ni, useGetApplicationUsageQuery as ri, useGetApplicationUsageSuspenseQuery as ii, useGetApprovalRequestLazyQuery as ai, useGetApprovalRequestQuery as oi, useGetApprovalRequestSuspenseQuery as si, useGetApprovalStatsLazyQuery as ci, useGetApprovalStatsQuery as li, useGetApprovalStatsSuspenseQuery as ui, useGetCapacityOverviewLazyQuery as di, useGetCapacityOverviewQuery as fi, useGetCapacityOverviewSuspenseQuery as pi, useGetClientPortalConfigLazyQuery as mi, useGetClientPortalConfigQuery as hi, useGetClientPortalConfigSuspenseQuery as gi, useGetClientPortalStatsLazyQuery as _i, useGetClientPortalStatsQuery as vi, useGetClientPortalStatsSuspenseQuery as yi, useGetEmailTimeEntryLazyQuery as bi, useGetEmailTimeEntryQuery as xi, useGetEmailTimeEntrySuspenseQuery as Si, useGetEmailTrackingStatsLazyQuery as Ci, useGetEmailTrackingStatsQuery as wi, useGetEmailTrackingStatsSuspenseQuery as Ti, useGetExpenseLazyQuery as Ei, useGetExpenseQuery as Di, useGetExpenseStatsLazyQuery as Oi, useGetExpenseStatsQuery as ki, useGetExpenseStatsSuspenseQuery as Ai, useGetExpenseSuspenseQuery as ji, useGetFocusScoreLazyQuery as Mi, useGetFocusScoreQuery as Ni, useGetFocusScoreSummaryLazyQuery as Pi, useGetFocusScoreSummaryQuery as Fi, useGetFocusScoreSummarySuspenseQuery as Ii, useGetFocusScoreSuspenseQuery as Li, useGetFocusScoreTrendLazyQuery as Ri, useGetFocusScoreTrendQuery as zi, useGetFocusScoreTrendSuspenseQuery as Bi, useGetGeofenceLazyQuery as Vi, useGetGeofenceQuery as Hi, useGetGeofenceSuspenseQuery as Ui, useGetLocationEntryLazyQuery as Wi, useGetLocationEntryQuery as Gi, useGetLocationEntrySuspenseQuery as Ki, useGetLocationStatsLazyQuery as qi, useGetLocationStatsQuery as Ji, useGetLocationStatsSuspenseQuery as Yi, useGetMeetingLazyQuery as Xi, useGetMeetingQuery as Zi, useGetMeetingStatsLazyQuery as Qi, useGetMeetingStatsQuery as $i, useGetMeetingStatsSuspenseQuery as ea, useGetMeetingSuspenseQuery as ta, useGetPomodoroSessionLazyQuery as na, useGetPomodoroSessionQuery as ra, useGetPomodoroSessionSuspenseQuery as ia, useGetPomodoroSettingsLazyQuery as aa, useGetPomodoroSettingsQuery as oa, useGetPomodoroSettingsSuspenseQuery as sa, useGetPomodoroStatsLazyQuery as ca, useGetPomodoroStatsQuery as la, useGetPomodoroStatsSuspenseQuery as ua, useGetProjectLazyQuery as da, useGetProjectQuery as fa, useGetProjectStatsLazyQuery as pa, useGetProjectStatsQuery as ma, useGetProjectStatsSuspenseQuery as ha, useGetProjectSuspenseQuery as ga, useGetResourcePlanLazyQuery as _a, useGetResourcePlanQuery as va, useGetResourcePlanSuspenseQuery as ya, useGetTaskLazyQuery as ba, useGetTaskQuery as xa, useGetTaskSuspenseQuery as Sa, useGetTimeCampusTimelineLazyQuery as Ca, useGetTimeCampusTimelineQuery as wa, useGetTimeCampusTimelineSuspenseQuery as Ta, useGetTimeEntryCountLazyQuery as Ea, useGetTimeEntryCountQuery as Da, useGetTimeEntryCountSuspenseQuery as Oa, useGetTimeEntryLazyQuery as ka, useGetTimeEntryQuery as Aa, useGetTimeEntryStatsLazyQuery as ja, useGetTimeEntryStatsQuery as Ma, useGetTimeEntryStatsSuspenseQuery as Na, useGetTimeEntrySuspenseQuery as Pa, useGetTodayFocusScoreLazyQuery as Fa, useGetTodayFocusScoreQuery as Ia, useGetTodayFocusScoreSuspenseQuery as La, useGetTodayWorkPatternLazyQuery as Ra, useGetTodayWorkPatternQuery as za, useGetTodayWorkPatternSuspenseQuery as Ba, useGetWorkPatternLazyQuery as Va, useGetWorkPatternQuery as Ha, useGetWorkPatternSummaryLazyQuery as Ua, useGetWorkPatternSummaryQuery as Wa, useGetWorkPatternSummarySuspenseQuery as Ga, useGetWorkPatternSuspenseQuery as Ka, useGrantSourceConsentMutation as qa, useIngestTimeCampusCaptureEventsMutation as Ja, useInterruptPomodoroSessionMutation as Ya, useLifeTimelineLazyQuery as Xa, useLifeTimelineQuery as Za, useLifeTimelineSuspenseQuery as Qa, useListApplicationUsagesLazyQuery as $a, useListApplicationUsagesQuery as eo, useListApplicationUsagesSuspenseQuery as to, useListApprovalRequestsLazyQuery as no, useListApprovalRequestsQuery as ro, useListApprovalRequestsSuspenseQuery as io, useListClientPortalConfigsLazyQuery as ao, useListClientPortalConfigsQuery as oo, useListClientPortalConfigsSuspenseQuery as so, useListEmailTimeEntriesLazyQuery as co, useListEmailTimeEntriesQuery as lo, useListEmailTimeEntriesSuspenseQuery as uo, useListExpenseCategoriesLazyQuery as fo, useListExpenseCategoriesQuery as po, useListExpenseCategoriesSuspenseQuery as mo, useListExpensesLazyQuery as ho, useListExpensesQuery as go, useListExpensesSuspenseQuery as _o, useListFocusScoresLazyQuery as vo, useListFocusScoresQuery as yo, useListFocusScoresSuspenseQuery as bo, useListGeofenceEventsLazyQuery as xo, useListGeofenceEventsQuery as So, useListGeofenceEventsSuspenseQuery as Co, useListGeofencesLazyQuery as wo, useListGeofencesQuery as To, useListGeofencesSuspenseQuery as Eo, useListLocationEntriesLazyQuery as Do, useListLocationEntriesQuery as Oo, useListLocationEntriesSuspenseQuery as ko, useListMeetingsLazyQuery as Ao, useListMeetingsQuery as jo, useListMeetingsSuspenseQuery as Mo, useListMyApprovalRequestsLazyQuery as No, useListMyApprovalRequestsQuery as Po, useListMyApprovalRequestsSuspenseQuery as Fo, useListPendingApprovalsLazyQuery as Io, useListPendingApprovalsQuery as Lo, useListPendingApprovalsSuspenseQuery as Ro, useListPomodoroGoalsLazyQuery as zo, useListPomodoroGoalsQuery as Bo, useListPomodoroGoalsSuspenseQuery as Vo, useListPomodoroSessionsLazyQuery as Ho, useListPomodoroSessionsQuery as Uo, useListPomodoroSessionsSuspenseQuery as Wo, useListProjectsLazyQuery as Go, useListProjectsQuery as Ko, useListProjectsSuspenseQuery as qo, useListResourceAllocationsLazyQuery as Jo, useListResourceAllocationsQuery as Yo, useListResourceAllocationsSuspenseQuery as Xo, useListResourcePlansLazyQuery as Zo, useListResourcePlansQuery as Qo, useListResourcePlansSuspenseQuery as $o, useListRunningTimersLazyQuery as es, useListRunningTimersQuery as ts, useListRunningTimersSuspenseQuery as ns, useListTasksLazyQuery as rs, useListTasksQuery as is, useListTasksSuspenseQuery as as, useListTimeCampusCaptureEventsLazyQuery as os, useListTimeCampusCaptureEventsQuery as ss, useListTimeCampusCaptureEventsSuspenseQuery as cs, useListTimeEntriesByDateLazyQuery as ls, useListTimeEntriesByDateQuery as us, useListTimeEntriesByDateSuspenseQuery as ds, useListTimeEntriesLazyQuery as fs, useListTimeEntriesQuery as ps, useListTimeEntriesSuspenseQuery as ms, useListTopApplicationsLazyQuery as hs, useListTopApplicationsQuery as gs, useListTopApplicationsSuspenseQuery as _s, useListUpcomingMeetingsLazyQuery as vs, useListUpcomingMeetingsQuery as ys, useListUpcomingMeetingsSuspenseQuery as bs, useListUserAllocationsLazyQuery as xs, useListUserAllocationsQuery as Ss, useListUserAllocationsSuspenseQuery as Cs, useListWorkPatternsLazyQuery as ws, useListWorkPatternsQuery as Ts, useListWorkPatternsSuspenseQuery as Es, useLogLifeTimeEntryMutation as Ds, useMyBalanceTargetsLazyQuery as Os, useMyBalanceTargetsQuery as ks, useMyBalanceTargetsSuspenseQuery as As, useMyContextSharingPolicyLazyQuery as js, useMyContextSharingPolicyQuery as Ms, useMyContextSharingPolicySuspenseQuery as Ns, useMyDeadTimeRadarLazyQuery as Ps, useMyDeadTimeRadarQuery as Fs, useMyDeadTimeRadarSuspenseQuery as Is, useMyLifeBalanceLazyQuery as Ls, useMyLifeBalanceQuery as Rs, useMyLifeBalanceSuspenseQuery as zs, useMyLifeGoalsLazyQuery as Bs, useMyLifeGoalsQuery as Vs, useMyLifeGoalsSuspenseQuery as Hs, useMyLifeInWeeksLazyQuery as Us, useMyLifeInWeeksQuery as Ws, useMyLifeInWeeksSuspenseQuery as Gs, useMyLifeProfileLazyQuery as Ks, useMyLifeProfileQuery as qs, useMyLifeProfileSuspenseQuery as Js, useMyLifeValuesLazyQuery as Ys, useMyLifeValuesQuery as Xs, useMyLifeValuesSuspenseQuery as Zs, useMyPersonalDataSummaryLazyQuery as Qs, useMyPersonalDataSummaryQuery as $s, useMyPersonalDataSummarySuspenseQuery as ec, useMyRecommendationPreferencesLazyQuery as tc, useMyRecommendationPreferencesQuery as nc, useMyRecommendationPreferencesSuspenseQuery as rc, useMyRecommendationsLazyQuery as ic, useMyRecommendationsQuery as ac, useMyRecommendationsSuspenseQuery as oc, useMySourceConsentsLazyQuery as sc, useMySourceConsentsQuery as cc, useMySourceConsentsSuspenseQuery as lc, useMyTimeWellSpentLazyQuery as uc, useMyTimeWellSpentQuery as dc, useMyTimeWellSpentSuspenseQuery as fc, useRateMeetingMutation as pc, useRecategorizeTimeCampusCaptureEventMutation as mc, useRecordApplicationUsageMutation as hc, useRecordFocusScoreMutation as gc, useRecordGeofenceEventMutation as _c, useRecordWorkPatternMutation as vc, useRegenerateClientPortalShareTokenMutation as yc, useRejectExpenseMutation as bc, useRejectRequestMutation as xc, useRemoveParticipantMutation as Sc, useReorderTasksMutation as Cc, useRequestRevisionMutation as wc, useRevokeSourceConsentMutation as Tc, useSetBalanceTargetMutation as Ec, useSnoozeRecommendationMutation as Dc, useStartPomodoroSessionMutation as Oc, useStartTimerMutation as kc, useStopTimerMutation as Ac, useSubmitApprovalRequestMutation as jc, useSubmitExpenseForApprovalMutation as Mc, useToggleClientPortalMutation as Nc, useToggleGeofenceMutation as Pc, useUpdateActionItemMutation as Fc, useUpdateAllocationMutation as Ic, useUpdateApplicationUsageMutation as Lc, useUpdateClientPortalConfigMutation as Rc, useUpdateContextSharingPolicyMutation as zc, useUpdateEmailTimeEntryMutation as Bc, useUpdateExpenseMutation as Vc, useUpdateFocusScoreMutation as Hc, useUpdateGeofenceMutation as Uc, useUpdateLifeGoalMutation as Wc, useUpdateLifeValueMutation as Gc, useUpdateLocationEntryMutation as Kc, useUpdateMeetingMutation as qc, useUpdateMyLifeProfileMutation as Jc, useUpdateMyRecommendationPreferencesMutation as Yc, useUpdateParticipantStatusMutation as Xc, useUpdatePomodoroGoalMutation as Zc, useUpdatePomodoroSettingsMutation as Qc, useUpdateProjectMutation as $c, useUpdateResourcePlanMutation as el, useUpdateTaskMutation as tl, useUpdateTaskStatusMutation as nl, useUpdateTimeEntryMutation as rl, useUpdateWorkPatternMutation as il, useWithdrawRequestMutation as al } from "./generated/wspace-operations.js";
3
3
  import { TimeCampusRoot as ol } from "./timecampus/TimeCampusRoot.js";
4
4
  import { useTimeCampusStore as sl } from "./timecampus/store/timecampusStore.js";
5
+ import { useSandboxAssistantTransport as cl } from "./services/createSandboxAssistantTransport.js";
5
6
  import "./timecampus/index.js";
6
- export { n as AcceptRecommendationDocument, r as ActivateResourcePlanDocument, i as AddParticipantDocument, a as ApplicationUsageFieldsFragmentDoc, o as ApprovalRequestFieldsFragmentDoc, s as ApproveExpenseDocument, c as ApproveRequestDocument, l as ArchiveProjectDocument, u as BalanceTargetFieldsFragmentDoc, d as BulkCreateAllocationsDocument, f as BulkCreateEmailTimeEntriesDocument, p as BulkDeleteTimeEntriesDocument, m as CalculateFocusScoreDocument, h as CaptureEventFieldsFragmentDoc, g as CategorizeApplicationDocument, _ as ClientPortalFieldsFragmentDoc, v as CompleteActionItemDocument, y as CompletePomodoroSessionDocument, b as ContextSharingPolicyFieldsFragmentDoc, x as CreateActionItemDocument, S as CreateAllocationDocument, C as CreateClientPortalConfigDocument, w as CreateEmailTimeEntryDocument, T as CreateExpenseDocument, E as CreateGeofenceDocument, D as CreateLifeGoalDocument, O as CreateLocationEntryDocument, k as CreateMeetingDocument, A as CreatePomodoroGoalDocument, j as CreateProjectDocument, M as CreateResourcePlanDocument, N as CreateTaskDocument, P as CreateTimeEntryDocument, F as DeclareLifeValueDocument, I as DeleteActionItemDocument, L as DeleteAllocationDocument, R as DeleteApplicationUsageDocument, z as DeleteClientPortalConfigDocument, B as DeleteEmailTimeEntryDocument, V as DeleteExpenseDocument, H as DeleteFocusScoreDocument, U as DeleteGeofenceDocument, W as DeleteLifeGoalDocument, G as DeleteLifeValueDocument, K as DeleteLocationEntryDocument, q as DeleteMeetingDocument, J as DeletePomodoroGoalDocument, Y as DeleteProjectDocument, X as DeleteResourcePlanDocument, Z as DeleteTaskDocument, Q as DeleteTimeCampusCaptureEventDocument, $ as DeleteTimeEntryDocument, ee as DeleteWorkPatternDocument, te as DismissRecommendationDocument, ne as DuplicateTimeEntryDocument, re as EmailTimeEntryFieldsFragmentDoc, ie as ExpenseFieldsFragmentDoc, ae as FocusScoreFieldsFragmentDoc, oe as GenerateMyRecommendationsDocument, se as GeofenceEventFieldsFragmentDoc, ce as GeofenceFieldsFragmentDoc, le as GetActiveLocationEntryDocument, ue as GetActivePomodoroSessionDocument, de as GetAppUsageSummaryDocument, fe as GetApplicationUsageDocument, pe as GetApprovalRequestDocument, me as GetApprovalStatsDocument, he as GetCapacityOverviewDocument, ge as GetClientPortalConfigDocument, _e as GetClientPortalStatsDocument, ve as GetEmailTimeEntryDocument, ye as GetEmailTrackingStatsDocument, be as GetExpenseDocument, xe as GetExpenseStatsDocument, Se as GetFocusScoreDocument, Ce as GetFocusScoreSummaryDocument, we as GetFocusScoreTrendDocument, Te as GetGeofenceDocument, Ee as GetLocationEntryDocument, De as GetLocationStatsDocument, Oe as GetMeetingDocument, ke as GetMeetingStatsDocument, Ae as GetPomodoroSessionDocument, je as GetPomodoroSettingsDocument, Me as GetPomodoroStatsDocument, Ne as GetProjectDocument, Pe as GetProjectStatsDocument, Fe as GetResourcePlanDocument, Ie as GetTaskDocument, Le as GetTimeCampusTimelineDocument, Re as GetTimeEntryCountDocument, ze as GetTimeEntryDocument, Be as GetTimeEntryStatsDocument, Ve as GetTodayFocusScoreDocument, He as GetTodayWorkPatternDocument, Ue as GetWorkPatternDocument, We as GetWorkPatternSummaryDocument, Ge as GrantSourceConsentDocument, Ke as IngestTimeCampusCaptureEventsDocument, qe as InterruptPomodoroSessionDocument, Je as LifeGoalFieldsFragmentDoc, Ye as LifeProfileFieldsFragmentDoc, Xe as LifeTimelineDocument, Ze as LifeValueFieldsFragmentDoc, Qe as ListApplicationUsagesDocument, $e as ListApprovalRequestsDocument, et as ListClientPortalConfigsDocument, tt as ListEmailTimeEntriesDocument, nt as ListExpenseCategoriesDocument, rt as ListExpensesDocument, it as ListFocusScoresDocument, at as ListGeofenceEventsDocument, ot as ListGeofencesDocument, st as ListLocationEntriesDocument, ct as ListMeetingsDocument, lt as ListMyApprovalRequestsDocument, ut as ListPendingApprovalsDocument, dt as ListPomodoroGoalsDocument, ft as ListPomodoroSessionsDocument, pt as ListProjectsDocument, mt as ListResourceAllocationsDocument, ht as ListResourcePlansDocument, gt as ListRunningTimersDocument, _t as ListTasksDocument, vt as ListTimeCampusCaptureEventsDocument, yt as ListTimeEntriesByDateDocument, bt as ListTimeEntriesDocument, xt as ListTopApplicationsDocument, St as ListUpcomingMeetingsDocument, Ct as ListUserAllocationsDocument, wt as ListWorkPatternsDocument, Tt as LocationEntryFieldsFragmentDoc, Et as LogLifeTimeEntryDocument, Dt as MeetingActionItemFieldsFragmentDoc, Ot as MeetingFieldsFragmentDoc, kt as MeetingParticipantFieldsFragmentDoc, At as MyBalanceTargetsDocument, jt as MyContextSharingPolicyDocument, Mt as MyDeadTimeRadarDocument, Nt as MyLifeBalanceDocument, Pt as MyLifeGoalsDocument, Ft as MyLifeInWeeksDocument, It as MyLifeProfileDocument, Lt as MyLifeValuesDocument, Rt as MyPersonalDataSummaryDocument, zt as MyRecommendationPreferencesDocument, Bt as MyRecommendationsDocument, Vt as MySourceConsentsDocument, Ht as MyTimeWellSpentDocument, Ut as PomodoroGoalFieldsFragmentDoc, Wt as PomodoroSessionFieldsFragmentDoc, Gt as PomodoroSettingsFieldsFragmentDoc, Kt as ProjectFieldsFragmentDoc, qt as RateMeetingDocument, Jt as RecategorizeTimeCampusCaptureEventDocument, Yt as RecommendationFieldsFragmentDoc, Xt as RecommendationPreferenceFieldsFragmentDoc, Zt as RecordApplicationUsageDocument, Qt as RecordFocusScoreDocument, $t as RecordGeofenceEventDocument, en as RecordWorkPatternDocument, tn as RegenerateClientPortalShareTokenDocument, nn as RejectExpenseDocument, rn as RejectRequestDocument, an as RemoveParticipantDocument, on as ReorderTasksDocument, sn as RequestRevisionDocument, cn as ResourceAllocationFieldsFragmentDoc, ln as ResourcePlanFieldsFragmentDoc, un as RevokeSourceConsentDocument, dn as SetBalanceTargetDocument, fn as SnoozeRecommendationDocument, pn as SourceConsentFieldsFragmentDoc, mn as StartPomodoroSessionDocument, hn as StartTimerDocument, gn as StopTimerDocument, _n as SubmitApprovalRequestDocument, vn as SubmitExpenseForApprovalDocument, yn as TaskFieldsFragmentDoc, ol as TimeCampusRoot, bn as TimeEntryFieldsFragmentDoc, xn as TimelineSegmentFieldsFragmentDoc, Sn as TimelineSummaryFieldsFragmentDoc, Cn as ToggleClientPortalDocument, wn as ToggleGeofenceDocument, Tn as UpdateActionItemDocument, En as UpdateAllocationDocument, Dn as UpdateApplicationUsageDocument, On as UpdateClientPortalConfigDocument, kn as UpdateContextSharingPolicyDocument, An as UpdateEmailTimeEntryDocument, jn as UpdateExpenseDocument, Mn as UpdateFocusScoreDocument, Nn as UpdateGeofenceDocument, Pn as UpdateLifeGoalDocument, Fn as UpdateLifeValueDocument, In as UpdateLocationEntryDocument, Ln as UpdateMeetingDocument, Rn as UpdateMyLifeProfileDocument, zn as UpdateMyRecommendationPreferencesDocument, Bn as UpdateParticipantStatusDocument, Vn as UpdatePomodoroGoalDocument, Hn as UpdatePomodoroSettingsDocument, Un as UpdateProjectDocument, Wn as UpdateResourcePlanDocument, Gn as UpdateTaskDocument, Kn as UpdateTaskStatusDocument, qn as UpdateTimeEntryDocument, Jn as UpdateWorkPatternDocument, Yn as WithdrawRequestDocument, Xn as WorkPatternFieldsFragmentDoc, Zn as useAcceptRecommendationMutation, Qn as useActivateResourcePlanMutation, $n as useAddParticipantMutation, er as useApproveExpenseMutation, tr as useApproveRequestMutation, nr as useArchiveProjectMutation, rr as useBulkCreateAllocationsMutation, ir as useBulkCreateEmailTimeEntriesMutation, ar as useBulkDeleteTimeEntriesMutation, or as useCalculateFocusScoreMutation, sr as useCategorizeApplicationMutation, cr as useCompleteActionItemMutation, lr as useCompletePomodoroSessionMutation, ur as useCreateActionItemMutation, dr as useCreateAllocationMutation, fr as useCreateClientPortalConfigMutation, pr as useCreateEmailTimeEntryMutation, mr as useCreateExpenseMutation, hr as useCreateGeofenceMutation, gr as useCreateLifeGoalMutation, _r as useCreateLocationEntryMutation, vr as useCreateMeetingMutation, yr as useCreatePomodoroGoalMutation, br as useCreateProjectMutation, xr as useCreateResourcePlanMutation, Sr as useCreateTaskMutation, Cr as useCreateTimeEntryMutation, wr as useDeclareLifeValueMutation, Tr as useDeleteActionItemMutation, Er as useDeleteAllocationMutation, Dr as useDeleteApplicationUsageMutation, Or as useDeleteClientPortalConfigMutation, kr as useDeleteEmailTimeEntryMutation, Ar as useDeleteExpenseMutation, jr as useDeleteFocusScoreMutation, Mr as useDeleteGeofenceMutation, Nr as useDeleteLifeGoalMutation, Pr as useDeleteLifeValueMutation, Fr as useDeleteLocationEntryMutation, Ir as useDeleteMeetingMutation, Lr as useDeletePomodoroGoalMutation, Rr as useDeleteProjectMutation, zr as useDeleteResourcePlanMutation, Br as useDeleteTaskMutation, Vr as useDeleteTimeCampusCaptureEventMutation, Hr as useDeleteTimeEntryMutation, Ur as useDeleteWorkPatternMutation, Wr as useDismissRecommendationMutation, Gr as useDuplicateTimeEntryMutation, Kr as useGenerateMyRecommendationsMutation, qr as useGetActiveLocationEntryLazyQuery, Jr as useGetActiveLocationEntryQuery, Yr as useGetActiveLocationEntrySuspenseQuery, Xr as useGetActivePomodoroSessionLazyQuery, Zr as useGetActivePomodoroSessionQuery, Qr as useGetActivePomodoroSessionSuspenseQuery, $r as useGetAppUsageSummaryLazyQuery, ei as useGetAppUsageSummaryQuery, ti as useGetAppUsageSummarySuspenseQuery, ni as useGetApplicationUsageLazyQuery, ri as useGetApplicationUsageQuery, ii as useGetApplicationUsageSuspenseQuery, ai as useGetApprovalRequestLazyQuery, oi as useGetApprovalRequestQuery, si as useGetApprovalRequestSuspenseQuery, ci as useGetApprovalStatsLazyQuery, li as useGetApprovalStatsQuery, ui as useGetApprovalStatsSuspenseQuery, di as useGetCapacityOverviewLazyQuery, fi as useGetCapacityOverviewQuery, pi as useGetCapacityOverviewSuspenseQuery, mi as useGetClientPortalConfigLazyQuery, hi as useGetClientPortalConfigQuery, gi as useGetClientPortalConfigSuspenseQuery, _i as useGetClientPortalStatsLazyQuery, vi as useGetClientPortalStatsQuery, yi as useGetClientPortalStatsSuspenseQuery, bi as useGetEmailTimeEntryLazyQuery, xi as useGetEmailTimeEntryQuery, Si as useGetEmailTimeEntrySuspenseQuery, Ci as useGetEmailTrackingStatsLazyQuery, wi as useGetEmailTrackingStatsQuery, Ti as useGetEmailTrackingStatsSuspenseQuery, Ei as useGetExpenseLazyQuery, Di as useGetExpenseQuery, Oi as useGetExpenseStatsLazyQuery, ki as useGetExpenseStatsQuery, Ai as useGetExpenseStatsSuspenseQuery, ji as useGetExpenseSuspenseQuery, Mi as useGetFocusScoreLazyQuery, Ni as useGetFocusScoreQuery, Pi as useGetFocusScoreSummaryLazyQuery, Fi as useGetFocusScoreSummaryQuery, Ii as useGetFocusScoreSummarySuspenseQuery, Li as useGetFocusScoreSuspenseQuery, Ri as useGetFocusScoreTrendLazyQuery, zi as useGetFocusScoreTrendQuery, Bi as useGetFocusScoreTrendSuspenseQuery, Vi as useGetGeofenceLazyQuery, Hi as useGetGeofenceQuery, Ui as useGetGeofenceSuspenseQuery, Wi as useGetLocationEntryLazyQuery, Gi as useGetLocationEntryQuery, Ki as useGetLocationEntrySuspenseQuery, qi as useGetLocationStatsLazyQuery, Ji as useGetLocationStatsQuery, Yi as useGetLocationStatsSuspenseQuery, Xi as useGetMeetingLazyQuery, Zi as useGetMeetingQuery, Qi as useGetMeetingStatsLazyQuery, $i as useGetMeetingStatsQuery, ea as useGetMeetingStatsSuspenseQuery, ta as useGetMeetingSuspenseQuery, na as useGetPomodoroSessionLazyQuery, ra as useGetPomodoroSessionQuery, ia as useGetPomodoroSessionSuspenseQuery, aa as useGetPomodoroSettingsLazyQuery, oa as useGetPomodoroSettingsQuery, sa as useGetPomodoroSettingsSuspenseQuery, ca as useGetPomodoroStatsLazyQuery, la as useGetPomodoroStatsQuery, ua as useGetPomodoroStatsSuspenseQuery, da as useGetProjectLazyQuery, fa as useGetProjectQuery, pa as useGetProjectStatsLazyQuery, ma as useGetProjectStatsQuery, ha as useGetProjectStatsSuspenseQuery, ga as useGetProjectSuspenseQuery, _a as useGetResourcePlanLazyQuery, va as useGetResourcePlanQuery, ya as useGetResourcePlanSuspenseQuery, ba as useGetTaskLazyQuery, xa as useGetTaskQuery, Sa as useGetTaskSuspenseQuery, Ca as useGetTimeCampusTimelineLazyQuery, wa as useGetTimeCampusTimelineQuery, Ta as useGetTimeCampusTimelineSuspenseQuery, Ea as useGetTimeEntryCountLazyQuery, Da as useGetTimeEntryCountQuery, Oa as useGetTimeEntryCountSuspenseQuery, ka as useGetTimeEntryLazyQuery, Aa as useGetTimeEntryQuery, ja as useGetTimeEntryStatsLazyQuery, Ma as useGetTimeEntryStatsQuery, Na as useGetTimeEntryStatsSuspenseQuery, Pa as useGetTimeEntrySuspenseQuery, Fa as useGetTodayFocusScoreLazyQuery, Ia as useGetTodayFocusScoreQuery, La as useGetTodayFocusScoreSuspenseQuery, Ra as useGetTodayWorkPatternLazyQuery, za as useGetTodayWorkPatternQuery, Ba as useGetTodayWorkPatternSuspenseQuery, Va as useGetWorkPatternLazyQuery, Ha as useGetWorkPatternQuery, Ua as useGetWorkPatternSummaryLazyQuery, Wa as useGetWorkPatternSummaryQuery, Ga as useGetWorkPatternSummarySuspenseQuery, Ka as useGetWorkPatternSuspenseQuery, qa as useGrantSourceConsentMutation, Ja as useIngestTimeCampusCaptureEventsMutation, Ya as useInterruptPomodoroSessionMutation, Xa as useLifeTimelineLazyQuery, Za as useLifeTimelineQuery, Qa as useLifeTimelineSuspenseQuery, $a as useListApplicationUsagesLazyQuery, eo as useListApplicationUsagesQuery, to as useListApplicationUsagesSuspenseQuery, no as useListApprovalRequestsLazyQuery, ro as useListApprovalRequestsQuery, io as useListApprovalRequestsSuspenseQuery, ao as useListClientPortalConfigsLazyQuery, oo as useListClientPortalConfigsQuery, so as useListClientPortalConfigsSuspenseQuery, co as useListEmailTimeEntriesLazyQuery, lo as useListEmailTimeEntriesQuery, uo as useListEmailTimeEntriesSuspenseQuery, fo as useListExpenseCategoriesLazyQuery, po as useListExpenseCategoriesQuery, mo as useListExpenseCategoriesSuspenseQuery, ho as useListExpensesLazyQuery, go as useListExpensesQuery, _o as useListExpensesSuspenseQuery, vo as useListFocusScoresLazyQuery, yo as useListFocusScoresQuery, bo as useListFocusScoresSuspenseQuery, xo as useListGeofenceEventsLazyQuery, So as useListGeofenceEventsQuery, Co as useListGeofenceEventsSuspenseQuery, wo as useListGeofencesLazyQuery, To as useListGeofencesQuery, Eo as useListGeofencesSuspenseQuery, Do as useListLocationEntriesLazyQuery, Oo as useListLocationEntriesQuery, ko as useListLocationEntriesSuspenseQuery, Ao as useListMeetingsLazyQuery, jo as useListMeetingsQuery, Mo as useListMeetingsSuspenseQuery, No as useListMyApprovalRequestsLazyQuery, Po as useListMyApprovalRequestsQuery, Fo as useListMyApprovalRequestsSuspenseQuery, Io as useListPendingApprovalsLazyQuery, Lo as useListPendingApprovalsQuery, Ro as useListPendingApprovalsSuspenseQuery, zo as useListPomodoroGoalsLazyQuery, Bo as useListPomodoroGoalsQuery, Vo as useListPomodoroGoalsSuspenseQuery, Ho as useListPomodoroSessionsLazyQuery, Uo as useListPomodoroSessionsQuery, Wo as useListPomodoroSessionsSuspenseQuery, Go as useListProjectsLazyQuery, Ko as useListProjectsQuery, qo as useListProjectsSuspenseQuery, Jo as useListResourceAllocationsLazyQuery, Yo as useListResourceAllocationsQuery, Xo as useListResourceAllocationsSuspenseQuery, Zo as useListResourcePlansLazyQuery, Qo as useListResourcePlansQuery, $o as useListResourcePlansSuspenseQuery, es as useListRunningTimersLazyQuery, ts as useListRunningTimersQuery, ns as useListRunningTimersSuspenseQuery, rs as useListTasksLazyQuery, is as useListTasksQuery, as as useListTasksSuspenseQuery, os as useListTimeCampusCaptureEventsLazyQuery, ss as useListTimeCampusCaptureEventsQuery, cs as useListTimeCampusCaptureEventsSuspenseQuery, ls as useListTimeEntriesByDateLazyQuery, us as useListTimeEntriesByDateQuery, ds as useListTimeEntriesByDateSuspenseQuery, fs as useListTimeEntriesLazyQuery, ps as useListTimeEntriesQuery, ms as useListTimeEntriesSuspenseQuery, hs as useListTopApplicationsLazyQuery, gs as useListTopApplicationsQuery, _s as useListTopApplicationsSuspenseQuery, vs as useListUpcomingMeetingsLazyQuery, ys as useListUpcomingMeetingsQuery, bs as useListUpcomingMeetingsSuspenseQuery, xs as useListUserAllocationsLazyQuery, Ss as useListUserAllocationsQuery, Cs as useListUserAllocationsSuspenseQuery, ws as useListWorkPatternsLazyQuery, Ts as useListWorkPatternsQuery, Es as useListWorkPatternsSuspenseQuery, Ds as useLogLifeTimeEntryMutation, Os as useMyBalanceTargetsLazyQuery, ks as useMyBalanceTargetsQuery, As as useMyBalanceTargetsSuspenseQuery, js as useMyContextSharingPolicyLazyQuery, Ms as useMyContextSharingPolicyQuery, Ns as useMyContextSharingPolicySuspenseQuery, Ps as useMyDeadTimeRadarLazyQuery, Fs as useMyDeadTimeRadarQuery, Is as useMyDeadTimeRadarSuspenseQuery, Ls as useMyLifeBalanceLazyQuery, Rs as useMyLifeBalanceQuery, zs as useMyLifeBalanceSuspenseQuery, Bs as useMyLifeGoalsLazyQuery, Vs as useMyLifeGoalsQuery, Hs as useMyLifeGoalsSuspenseQuery, Us as useMyLifeInWeeksLazyQuery, Ws as useMyLifeInWeeksQuery, Gs as useMyLifeInWeeksSuspenseQuery, Ks as useMyLifeProfileLazyQuery, qs as useMyLifeProfileQuery, Js as useMyLifeProfileSuspenseQuery, Ys as useMyLifeValuesLazyQuery, Xs as useMyLifeValuesQuery, Zs as useMyLifeValuesSuspenseQuery, Qs as useMyPersonalDataSummaryLazyQuery, $s as useMyPersonalDataSummaryQuery, ec as useMyPersonalDataSummarySuspenseQuery, tc as useMyRecommendationPreferencesLazyQuery, nc as useMyRecommendationPreferencesQuery, rc as useMyRecommendationPreferencesSuspenseQuery, ic as useMyRecommendationsLazyQuery, ac as useMyRecommendationsQuery, oc as useMyRecommendationsSuspenseQuery, sc as useMySourceConsentsLazyQuery, cc as useMySourceConsentsQuery, lc as useMySourceConsentsSuspenseQuery, uc as useMyTimeWellSpentLazyQuery, dc as useMyTimeWellSpentQuery, fc as useMyTimeWellSpentSuspenseQuery, pc as useRateMeetingMutation, mc as useRecategorizeTimeCampusCaptureEventMutation, hc as useRecordApplicationUsageMutation, gc as useRecordFocusScoreMutation, _c as useRecordGeofenceEventMutation, vc as useRecordWorkPatternMutation, yc as useRegenerateClientPortalShareTokenMutation, bc as useRejectExpenseMutation, xc as useRejectRequestMutation, Sc as useRemoveParticipantMutation, Cc as useReorderTasksMutation, wc as useRequestRevisionMutation, Tc as useRevokeSourceConsentMutation, Ec as useSetBalanceTargetMutation, Dc as useSnoozeRecommendationMutation, Oc as useStartPomodoroSessionMutation, kc as useStartTimerMutation, Ac as useStopTimerMutation, jc as useSubmitApprovalRequestMutation, Mc as useSubmitExpenseForApprovalMutation, e as useTimeCampus, t as useTimeCampusNavigate, sl as useTimeCampusStore, Nc as useToggleClientPortalMutation, Pc as useToggleGeofenceMutation, Fc as useUpdateActionItemMutation, Ic as useUpdateAllocationMutation, Lc as useUpdateApplicationUsageMutation, Rc as useUpdateClientPortalConfigMutation, zc as useUpdateContextSharingPolicyMutation, Bc as useUpdateEmailTimeEntryMutation, Vc as useUpdateExpenseMutation, Hc as useUpdateFocusScoreMutation, Uc as useUpdateGeofenceMutation, Wc as useUpdateLifeGoalMutation, Gc as useUpdateLifeValueMutation, Kc as useUpdateLocationEntryMutation, qc as useUpdateMeetingMutation, Jc as useUpdateMyLifeProfileMutation, Yc as useUpdateMyRecommendationPreferencesMutation, Xc as useUpdateParticipantStatusMutation, Zc as useUpdatePomodoroGoalMutation, Qc as useUpdatePomodoroSettingsMutation, $c as useUpdateProjectMutation, el as useUpdateResourcePlanMutation, tl as useUpdateTaskMutation, nl as useUpdateTaskStatusMutation, rl as useUpdateTimeEntryMutation, il as useUpdateWorkPatternMutation, al as useWithdrawRequestMutation };
7
+ export { n as AcceptRecommendationDocument, r as ActivateResourcePlanDocument, i as AddParticipantDocument, a as ApplicationUsageFieldsFragmentDoc, o as ApprovalRequestFieldsFragmentDoc, s as ApproveExpenseDocument, c as ApproveRequestDocument, l as ArchiveProjectDocument, u as BalanceTargetFieldsFragmentDoc, d as BulkCreateAllocationsDocument, f as BulkCreateEmailTimeEntriesDocument, p as BulkDeleteTimeEntriesDocument, m as CalculateFocusScoreDocument, h as CaptureEventFieldsFragmentDoc, g as CategorizeApplicationDocument, _ as ClientPortalFieldsFragmentDoc, v as CompleteActionItemDocument, y as CompletePomodoroSessionDocument, b as ContextSharingPolicyFieldsFragmentDoc, x as CreateActionItemDocument, S as CreateAllocationDocument, C as CreateClientPortalConfigDocument, w as CreateEmailTimeEntryDocument, T as CreateExpenseDocument, E as CreateGeofenceDocument, D as CreateLifeGoalDocument, O as CreateLocationEntryDocument, k as CreateMeetingDocument, A as CreatePomodoroGoalDocument, j as CreateProjectDocument, M as CreateResourcePlanDocument, N as CreateTaskDocument, P as CreateTimeEntryDocument, F as DeclareLifeValueDocument, I as DeleteActionItemDocument, L as DeleteAllocationDocument, R as DeleteApplicationUsageDocument, z as DeleteClientPortalConfigDocument, B as DeleteEmailTimeEntryDocument, V as DeleteExpenseDocument, H as DeleteFocusScoreDocument, U as DeleteGeofenceDocument, W as DeleteLifeGoalDocument, G as DeleteLifeValueDocument, K as DeleteLocationEntryDocument, q as DeleteMeetingDocument, J as DeletePomodoroGoalDocument, Y as DeleteProjectDocument, X as DeleteResourcePlanDocument, Z as DeleteTaskDocument, Q as DeleteTimeCampusCaptureEventDocument, $ as DeleteTimeEntryDocument, ee as DeleteWorkPatternDocument, te as DismissRecommendationDocument, ne as DuplicateTimeEntryDocument, re as EmailTimeEntryFieldsFragmentDoc, ie as ExpenseFieldsFragmentDoc, ae as FocusScoreFieldsFragmentDoc, oe as GenerateMyRecommendationsDocument, se as GeofenceEventFieldsFragmentDoc, ce as GeofenceFieldsFragmentDoc, le as GetActiveLocationEntryDocument, ue as GetActivePomodoroSessionDocument, de as GetAppUsageSummaryDocument, fe as GetApplicationUsageDocument, pe as GetApprovalRequestDocument, me as GetApprovalStatsDocument, he as GetCapacityOverviewDocument, ge as GetClientPortalConfigDocument, _e as GetClientPortalStatsDocument, ve as GetEmailTimeEntryDocument, ye as GetEmailTrackingStatsDocument, be as GetExpenseDocument, xe as GetExpenseStatsDocument, Se as GetFocusScoreDocument, Ce as GetFocusScoreSummaryDocument, we as GetFocusScoreTrendDocument, Te as GetGeofenceDocument, Ee as GetLocationEntryDocument, De as GetLocationStatsDocument, Oe as GetMeetingDocument, ke as GetMeetingStatsDocument, Ae as GetPomodoroSessionDocument, je as GetPomodoroSettingsDocument, Me as GetPomodoroStatsDocument, Ne as GetProjectDocument, Pe as GetProjectStatsDocument, Fe as GetResourcePlanDocument, Ie as GetTaskDocument, Le as GetTimeCampusTimelineDocument, Re as GetTimeEntryCountDocument, ze as GetTimeEntryDocument, Be as GetTimeEntryStatsDocument, Ve as GetTodayFocusScoreDocument, He as GetTodayWorkPatternDocument, Ue as GetWorkPatternDocument, We as GetWorkPatternSummaryDocument, Ge as GrantSourceConsentDocument, Ke as IngestTimeCampusCaptureEventsDocument, qe as InterruptPomodoroSessionDocument, Je as LifeGoalFieldsFragmentDoc, Ye as LifeProfileFieldsFragmentDoc, Xe as LifeTimelineDocument, Ze as LifeValueFieldsFragmentDoc, Qe as ListApplicationUsagesDocument, $e as ListApprovalRequestsDocument, et as ListClientPortalConfigsDocument, tt as ListEmailTimeEntriesDocument, nt as ListExpenseCategoriesDocument, rt as ListExpensesDocument, it as ListFocusScoresDocument, at as ListGeofenceEventsDocument, ot as ListGeofencesDocument, st as ListLocationEntriesDocument, ct as ListMeetingsDocument, lt as ListMyApprovalRequestsDocument, ut as ListPendingApprovalsDocument, dt as ListPomodoroGoalsDocument, ft as ListPomodoroSessionsDocument, pt as ListProjectsDocument, mt as ListResourceAllocationsDocument, ht as ListResourcePlansDocument, gt as ListRunningTimersDocument, _t as ListTasksDocument, vt as ListTimeCampusCaptureEventsDocument, yt as ListTimeEntriesByDateDocument, bt as ListTimeEntriesDocument, xt as ListTopApplicationsDocument, St as ListUpcomingMeetingsDocument, Ct as ListUserAllocationsDocument, wt as ListWorkPatternsDocument, Tt as LocationEntryFieldsFragmentDoc, Et as LogLifeTimeEntryDocument, Dt as MeetingActionItemFieldsFragmentDoc, Ot as MeetingFieldsFragmentDoc, kt as MeetingParticipantFieldsFragmentDoc, At as MyBalanceTargetsDocument, jt as MyContextSharingPolicyDocument, Mt as MyDeadTimeRadarDocument, Nt as MyLifeBalanceDocument, Pt as MyLifeGoalsDocument, Ft as MyLifeInWeeksDocument, It as MyLifeProfileDocument, Lt as MyLifeValuesDocument, Rt as MyPersonalDataSummaryDocument, zt as MyRecommendationPreferencesDocument, Bt as MyRecommendationsDocument, Vt as MySourceConsentsDocument, Ht as MyTimeWellSpentDocument, Ut as PomodoroGoalFieldsFragmentDoc, Wt as PomodoroSessionFieldsFragmentDoc, Gt as PomodoroSettingsFieldsFragmentDoc, Kt as ProjectFieldsFragmentDoc, qt as RateMeetingDocument, Jt as RecategorizeTimeCampusCaptureEventDocument, Yt as RecommendationFieldsFragmentDoc, Xt as RecommendationPreferenceFieldsFragmentDoc, Zt as RecordApplicationUsageDocument, Qt as RecordFocusScoreDocument, $t as RecordGeofenceEventDocument, en as RecordWorkPatternDocument, tn as RegenerateClientPortalShareTokenDocument, nn as RejectExpenseDocument, rn as RejectRequestDocument, an as RemoveParticipantDocument, on as ReorderTasksDocument, sn as RequestRevisionDocument, cn as ResourceAllocationFieldsFragmentDoc, ln as ResourcePlanFieldsFragmentDoc, un as RevokeSourceConsentDocument, dn as SetBalanceTargetDocument, fn as SnoozeRecommendationDocument, pn as SourceConsentFieldsFragmentDoc, mn as StartPomodoroSessionDocument, hn as StartTimerDocument, gn as StopTimerDocument, _n as SubmitApprovalRequestDocument, vn as SubmitExpenseForApprovalDocument, yn as TaskFieldsFragmentDoc, ol as TimeCampusRoot, bn as TimeEntryFieldsFragmentDoc, xn as TimelineSegmentFieldsFragmentDoc, Sn as TimelineSummaryFieldsFragmentDoc, Cn as ToggleClientPortalDocument, wn as ToggleGeofenceDocument, Tn as UpdateActionItemDocument, En as UpdateAllocationDocument, Dn as UpdateApplicationUsageDocument, On as UpdateClientPortalConfigDocument, kn as UpdateContextSharingPolicyDocument, An as UpdateEmailTimeEntryDocument, jn as UpdateExpenseDocument, Mn as UpdateFocusScoreDocument, Nn as UpdateGeofenceDocument, Pn as UpdateLifeGoalDocument, Fn as UpdateLifeValueDocument, In as UpdateLocationEntryDocument, Ln as UpdateMeetingDocument, Rn as UpdateMyLifeProfileDocument, zn as UpdateMyRecommendationPreferencesDocument, Bn as UpdateParticipantStatusDocument, Vn as UpdatePomodoroGoalDocument, Hn as UpdatePomodoroSettingsDocument, Un as UpdateProjectDocument, Wn as UpdateResourcePlanDocument, Gn as UpdateTaskDocument, Kn as UpdateTaskStatusDocument, qn as UpdateTimeEntryDocument, Jn as UpdateWorkPatternDocument, Yn as WithdrawRequestDocument, Xn as WorkPatternFieldsFragmentDoc, Zn as useAcceptRecommendationMutation, Qn as useActivateResourcePlanMutation, $n as useAddParticipantMutation, er as useApproveExpenseMutation, tr as useApproveRequestMutation, nr as useArchiveProjectMutation, rr as useBulkCreateAllocationsMutation, ir as useBulkCreateEmailTimeEntriesMutation, ar as useBulkDeleteTimeEntriesMutation, or as useCalculateFocusScoreMutation, sr as useCategorizeApplicationMutation, cr as useCompleteActionItemMutation, lr as useCompletePomodoroSessionMutation, ur as useCreateActionItemMutation, dr as useCreateAllocationMutation, fr as useCreateClientPortalConfigMutation, pr as useCreateEmailTimeEntryMutation, mr as useCreateExpenseMutation, hr as useCreateGeofenceMutation, gr as useCreateLifeGoalMutation, _r as useCreateLocationEntryMutation, vr as useCreateMeetingMutation, yr as useCreatePomodoroGoalMutation, br as useCreateProjectMutation, xr as useCreateResourcePlanMutation, Sr as useCreateTaskMutation, Cr as useCreateTimeEntryMutation, wr as useDeclareLifeValueMutation, Tr as useDeleteActionItemMutation, Er as useDeleteAllocationMutation, Dr as useDeleteApplicationUsageMutation, Or as useDeleteClientPortalConfigMutation, kr as useDeleteEmailTimeEntryMutation, Ar as useDeleteExpenseMutation, jr as useDeleteFocusScoreMutation, Mr as useDeleteGeofenceMutation, Nr as useDeleteLifeGoalMutation, Pr as useDeleteLifeValueMutation, Fr as useDeleteLocationEntryMutation, Ir as useDeleteMeetingMutation, Lr as useDeletePomodoroGoalMutation, Rr as useDeleteProjectMutation, zr as useDeleteResourcePlanMutation, Br as useDeleteTaskMutation, Vr as useDeleteTimeCampusCaptureEventMutation, Hr as useDeleteTimeEntryMutation, Ur as useDeleteWorkPatternMutation, Wr as useDismissRecommendationMutation, Gr as useDuplicateTimeEntryMutation, Kr as useGenerateMyRecommendationsMutation, qr as useGetActiveLocationEntryLazyQuery, Jr as useGetActiveLocationEntryQuery, Yr as useGetActiveLocationEntrySuspenseQuery, Xr as useGetActivePomodoroSessionLazyQuery, Zr as useGetActivePomodoroSessionQuery, Qr as useGetActivePomodoroSessionSuspenseQuery, $r as useGetAppUsageSummaryLazyQuery, ei as useGetAppUsageSummaryQuery, ti as useGetAppUsageSummarySuspenseQuery, ni as useGetApplicationUsageLazyQuery, ri as useGetApplicationUsageQuery, ii as useGetApplicationUsageSuspenseQuery, ai as useGetApprovalRequestLazyQuery, oi as useGetApprovalRequestQuery, si as useGetApprovalRequestSuspenseQuery, ci as useGetApprovalStatsLazyQuery, li as useGetApprovalStatsQuery, ui as useGetApprovalStatsSuspenseQuery, di as useGetCapacityOverviewLazyQuery, fi as useGetCapacityOverviewQuery, pi as useGetCapacityOverviewSuspenseQuery, mi as useGetClientPortalConfigLazyQuery, hi as useGetClientPortalConfigQuery, gi as useGetClientPortalConfigSuspenseQuery, _i as useGetClientPortalStatsLazyQuery, vi as useGetClientPortalStatsQuery, yi as useGetClientPortalStatsSuspenseQuery, bi as useGetEmailTimeEntryLazyQuery, xi as useGetEmailTimeEntryQuery, Si as useGetEmailTimeEntrySuspenseQuery, Ci as useGetEmailTrackingStatsLazyQuery, wi as useGetEmailTrackingStatsQuery, Ti as useGetEmailTrackingStatsSuspenseQuery, Ei as useGetExpenseLazyQuery, Di as useGetExpenseQuery, Oi as useGetExpenseStatsLazyQuery, ki as useGetExpenseStatsQuery, Ai as useGetExpenseStatsSuspenseQuery, ji as useGetExpenseSuspenseQuery, Mi as useGetFocusScoreLazyQuery, Ni as useGetFocusScoreQuery, Pi as useGetFocusScoreSummaryLazyQuery, Fi as useGetFocusScoreSummaryQuery, Ii as useGetFocusScoreSummarySuspenseQuery, Li as useGetFocusScoreSuspenseQuery, Ri as useGetFocusScoreTrendLazyQuery, zi as useGetFocusScoreTrendQuery, Bi as useGetFocusScoreTrendSuspenseQuery, Vi as useGetGeofenceLazyQuery, Hi as useGetGeofenceQuery, Ui as useGetGeofenceSuspenseQuery, Wi as useGetLocationEntryLazyQuery, Gi as useGetLocationEntryQuery, Ki as useGetLocationEntrySuspenseQuery, qi as useGetLocationStatsLazyQuery, Ji as useGetLocationStatsQuery, Yi as useGetLocationStatsSuspenseQuery, Xi as useGetMeetingLazyQuery, Zi as useGetMeetingQuery, Qi as useGetMeetingStatsLazyQuery, $i as useGetMeetingStatsQuery, ea as useGetMeetingStatsSuspenseQuery, ta as useGetMeetingSuspenseQuery, na as useGetPomodoroSessionLazyQuery, ra as useGetPomodoroSessionQuery, ia as useGetPomodoroSessionSuspenseQuery, aa as useGetPomodoroSettingsLazyQuery, oa as useGetPomodoroSettingsQuery, sa as useGetPomodoroSettingsSuspenseQuery, ca as useGetPomodoroStatsLazyQuery, la as useGetPomodoroStatsQuery, ua as useGetPomodoroStatsSuspenseQuery, da as useGetProjectLazyQuery, fa as useGetProjectQuery, pa as useGetProjectStatsLazyQuery, ma as useGetProjectStatsQuery, ha as useGetProjectStatsSuspenseQuery, ga as useGetProjectSuspenseQuery, _a as useGetResourcePlanLazyQuery, va as useGetResourcePlanQuery, ya as useGetResourcePlanSuspenseQuery, ba as useGetTaskLazyQuery, xa as useGetTaskQuery, Sa as useGetTaskSuspenseQuery, Ca as useGetTimeCampusTimelineLazyQuery, wa as useGetTimeCampusTimelineQuery, Ta as useGetTimeCampusTimelineSuspenseQuery, Ea as useGetTimeEntryCountLazyQuery, Da as useGetTimeEntryCountQuery, Oa as useGetTimeEntryCountSuspenseQuery, ka as useGetTimeEntryLazyQuery, Aa as useGetTimeEntryQuery, ja as useGetTimeEntryStatsLazyQuery, Ma as useGetTimeEntryStatsQuery, Na as useGetTimeEntryStatsSuspenseQuery, Pa as useGetTimeEntrySuspenseQuery, Fa as useGetTodayFocusScoreLazyQuery, Ia as useGetTodayFocusScoreQuery, La as useGetTodayFocusScoreSuspenseQuery, Ra as useGetTodayWorkPatternLazyQuery, za as useGetTodayWorkPatternQuery, Ba as useGetTodayWorkPatternSuspenseQuery, Va as useGetWorkPatternLazyQuery, Ha as useGetWorkPatternQuery, Ua as useGetWorkPatternSummaryLazyQuery, Wa as useGetWorkPatternSummaryQuery, Ga as useGetWorkPatternSummarySuspenseQuery, Ka as useGetWorkPatternSuspenseQuery, qa as useGrantSourceConsentMutation, Ja as useIngestTimeCampusCaptureEventsMutation, Ya as useInterruptPomodoroSessionMutation, Xa as useLifeTimelineLazyQuery, Za as useLifeTimelineQuery, Qa as useLifeTimelineSuspenseQuery, $a as useListApplicationUsagesLazyQuery, eo as useListApplicationUsagesQuery, to as useListApplicationUsagesSuspenseQuery, no as useListApprovalRequestsLazyQuery, ro as useListApprovalRequestsQuery, io as useListApprovalRequestsSuspenseQuery, ao as useListClientPortalConfigsLazyQuery, oo as useListClientPortalConfigsQuery, so as useListClientPortalConfigsSuspenseQuery, co as useListEmailTimeEntriesLazyQuery, lo as useListEmailTimeEntriesQuery, uo as useListEmailTimeEntriesSuspenseQuery, fo as useListExpenseCategoriesLazyQuery, po as useListExpenseCategoriesQuery, mo as useListExpenseCategoriesSuspenseQuery, ho as useListExpensesLazyQuery, go as useListExpensesQuery, _o as useListExpensesSuspenseQuery, vo as useListFocusScoresLazyQuery, yo as useListFocusScoresQuery, bo as useListFocusScoresSuspenseQuery, xo as useListGeofenceEventsLazyQuery, So as useListGeofenceEventsQuery, Co as useListGeofenceEventsSuspenseQuery, wo as useListGeofencesLazyQuery, To as useListGeofencesQuery, Eo as useListGeofencesSuspenseQuery, Do as useListLocationEntriesLazyQuery, Oo as useListLocationEntriesQuery, ko as useListLocationEntriesSuspenseQuery, Ao as useListMeetingsLazyQuery, jo as useListMeetingsQuery, Mo as useListMeetingsSuspenseQuery, No as useListMyApprovalRequestsLazyQuery, Po as useListMyApprovalRequestsQuery, Fo as useListMyApprovalRequestsSuspenseQuery, Io as useListPendingApprovalsLazyQuery, Lo as useListPendingApprovalsQuery, Ro as useListPendingApprovalsSuspenseQuery, zo as useListPomodoroGoalsLazyQuery, Bo as useListPomodoroGoalsQuery, Vo as useListPomodoroGoalsSuspenseQuery, Ho as useListPomodoroSessionsLazyQuery, Uo as useListPomodoroSessionsQuery, Wo as useListPomodoroSessionsSuspenseQuery, Go as useListProjectsLazyQuery, Ko as useListProjectsQuery, qo as useListProjectsSuspenseQuery, Jo as useListResourceAllocationsLazyQuery, Yo as useListResourceAllocationsQuery, Xo as useListResourceAllocationsSuspenseQuery, Zo as useListResourcePlansLazyQuery, Qo as useListResourcePlansQuery, $o as useListResourcePlansSuspenseQuery, es as useListRunningTimersLazyQuery, ts as useListRunningTimersQuery, ns as useListRunningTimersSuspenseQuery, rs as useListTasksLazyQuery, is as useListTasksQuery, as as useListTasksSuspenseQuery, os as useListTimeCampusCaptureEventsLazyQuery, ss as useListTimeCampusCaptureEventsQuery, cs as useListTimeCampusCaptureEventsSuspenseQuery, ls as useListTimeEntriesByDateLazyQuery, us as useListTimeEntriesByDateQuery, ds as useListTimeEntriesByDateSuspenseQuery, fs as useListTimeEntriesLazyQuery, ps as useListTimeEntriesQuery, ms as useListTimeEntriesSuspenseQuery, hs as useListTopApplicationsLazyQuery, gs as useListTopApplicationsQuery, _s as useListTopApplicationsSuspenseQuery, vs as useListUpcomingMeetingsLazyQuery, ys as useListUpcomingMeetingsQuery, bs as useListUpcomingMeetingsSuspenseQuery, xs as useListUserAllocationsLazyQuery, Ss as useListUserAllocationsQuery, Cs as useListUserAllocationsSuspenseQuery, ws as useListWorkPatternsLazyQuery, Ts as useListWorkPatternsQuery, Es as useListWorkPatternsSuspenseQuery, Ds as useLogLifeTimeEntryMutation, Os as useMyBalanceTargetsLazyQuery, ks as useMyBalanceTargetsQuery, As as useMyBalanceTargetsSuspenseQuery, js as useMyContextSharingPolicyLazyQuery, Ms as useMyContextSharingPolicyQuery, Ns as useMyContextSharingPolicySuspenseQuery, Ps as useMyDeadTimeRadarLazyQuery, Fs as useMyDeadTimeRadarQuery, Is as useMyDeadTimeRadarSuspenseQuery, Ls as useMyLifeBalanceLazyQuery, Rs as useMyLifeBalanceQuery, zs as useMyLifeBalanceSuspenseQuery, Bs as useMyLifeGoalsLazyQuery, Vs as useMyLifeGoalsQuery, Hs as useMyLifeGoalsSuspenseQuery, Us as useMyLifeInWeeksLazyQuery, Ws as useMyLifeInWeeksQuery, Gs as useMyLifeInWeeksSuspenseQuery, Ks as useMyLifeProfileLazyQuery, qs as useMyLifeProfileQuery, Js as useMyLifeProfileSuspenseQuery, Ys as useMyLifeValuesLazyQuery, Xs as useMyLifeValuesQuery, Zs as useMyLifeValuesSuspenseQuery, Qs as useMyPersonalDataSummaryLazyQuery, $s as useMyPersonalDataSummaryQuery, ec as useMyPersonalDataSummarySuspenseQuery, tc as useMyRecommendationPreferencesLazyQuery, nc as useMyRecommendationPreferencesQuery, rc as useMyRecommendationPreferencesSuspenseQuery, ic as useMyRecommendationsLazyQuery, ac as useMyRecommendationsQuery, oc as useMyRecommendationsSuspenseQuery, sc as useMySourceConsentsLazyQuery, cc as useMySourceConsentsQuery, lc as useMySourceConsentsSuspenseQuery, uc as useMyTimeWellSpentLazyQuery, dc as useMyTimeWellSpentQuery, fc as useMyTimeWellSpentSuspenseQuery, pc as useRateMeetingMutation, mc as useRecategorizeTimeCampusCaptureEventMutation, hc as useRecordApplicationUsageMutation, gc as useRecordFocusScoreMutation, _c as useRecordGeofenceEventMutation, vc as useRecordWorkPatternMutation, yc as useRegenerateClientPortalShareTokenMutation, bc as useRejectExpenseMutation, xc as useRejectRequestMutation, Sc as useRemoveParticipantMutation, Cc as useReorderTasksMutation, wc as useRequestRevisionMutation, Tc as useRevokeSourceConsentMutation, cl as useSandboxAssistantTransport, Ec as useSetBalanceTargetMutation, Dc as useSnoozeRecommendationMutation, Oc as useStartPomodoroSessionMutation, kc as useStartTimerMutation, Ac as useStopTimerMutation, jc as useSubmitApprovalRequestMutation, Mc as useSubmitExpenseForApprovalMutation, e as useTimeCampus, t as useTimeCampusNavigate, sl as useTimeCampusStore, Nc as useToggleClientPortalMutation, Pc as useToggleGeofenceMutation, Fc as useUpdateActionItemMutation, Ic as useUpdateAllocationMutation, Lc as useUpdateApplicationUsageMutation, Rc as useUpdateClientPortalConfigMutation, zc as useUpdateContextSharingPolicyMutation, Bc as useUpdateEmailTimeEntryMutation, Vc as useUpdateExpenseMutation, Hc as useUpdateFocusScoreMutation, Uc as useUpdateGeofenceMutation, Wc as useUpdateLifeGoalMutation, Gc as useUpdateLifeValueMutation, Kc as useUpdateLocationEntryMutation, qc as useUpdateMeetingMutation, Jc as useUpdateMyLifeProfileMutation, Yc as useUpdateMyRecommendationPreferencesMutation, Xc as useUpdateParticipantStatusMutation, Zc as useUpdatePomodoroGoalMutation, Qc as useUpdatePomodoroSettingsMutation, $c as useUpdateProjectMutation, el as useUpdateResourcePlanMutation, tl as useUpdateTaskMutation, nl as useUpdateTaskStatusMutation, rl as useUpdateTimeEntryMutation, il as useUpdateWorkPatternMutation, al as useWithdrawRequestMutation };
@@ -1,8 +1,11 @@
1
1
  /**
2
- * TimeCampus adapter for the shared fe-libs AssistantWidget.
2
+ * timecampus adapter for the shared fe-libs AssistantWidget transport.
3
3
  *
4
- * Reuses the sandbox `api-calls` agent so the widget can run operations on the
5
- * current screen via API on the user's behalf.
4
+ * The sandbox lifecycle + poll/stream loop now lives in
5
+ * `@burdenoff/fe-libs/shared/assistant` (one implementation for all products);
6
+ * this is a thin wrapper. The exported name/shape are unchanged so app-shell
7
+ * imports don't move. The public return type is a LOCALLY-declared structural
8
+ * mirror — never re-export fe-libs types (vite-plugin-dts path rewriting).
6
9
  */
7
10
  interface AssistantSendArgs {
8
11
  prompt: string;
@@ -13,6 +16,8 @@ export interface AssistantTransport {
13
16
  sendPrompt: (args: AssistantSendArgs) => Promise<{
14
17
  text: string;
15
18
  }>;
19
+ prewarm?: (level?: 'probe' | 'full') => void;
20
+ suspend?: () => void;
16
21
  }
17
22
  export declare function useSandboxAssistantTransport(): AssistantTransport;
18
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../src/services/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAsID,wBAAgB,4BAA4B,IAAI,kBAAkB,CA6JjE"}
1
+ {"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../src/services/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAMjE"}
@@ -0,0 +1,12 @@
1
+ import { useSandboxAssistantTransport as e } from "@burdenoff/fe-libs/shared/assistant";
2
+ //#region src/services/createSandboxAssistantTransport.ts
3
+ function t() {
4
+ return e({
5
+ product: "timecampus",
6
+ enableCredits: !0
7
+ });
8
+ }
9
+ //#endregion
10
+ export { t as useSandboxAssistantTransport };
11
+
12
+ //# sourceMappingURL=createSandboxAssistantTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSandboxAssistantTransport.js","names":[],"sources":["../../src/services/createSandboxAssistantTransport.ts"],"sourcesContent":["/**\n * timecampus adapter for the shared fe-libs AssistantWidget transport.\n *\n * The sandbox lifecycle + poll/stream loop now lives in\n * `@burdenoff/fe-libs/shared/assistant` (one implementation for all products);\n * this is a thin wrapper. The exported name/shape are unchanged so app-shell\n * imports don't move. The public return type is a LOCALLY-declared structural\n * mirror — never re-export fe-libs types (vite-plugin-dts path rewriting).\n */\n\nimport { useSandboxAssistantTransport as useSharedTransport } from '@burdenoff/fe-libs/shared/assistant';\n\n\ninterface AssistantSendArgs {\n prompt: string;\n onProgress: (partialText: string) => void;\n signal: AbortSignal;\n}\n\nexport interface AssistantTransport {\n sendPrompt: (args: AssistantSendArgs) => Promise<{ text: string }>;\n prewarm?: (level?: 'probe' | 'full') => void;\n suspend?: () => void;\n}\n\nexport function useSandboxAssistantTransport(): AssistantTransport {\n return useSharedTransport({\n product: 'timecampus',\n \n enableCredits: true,\n });\n}\n"],"mappings":";;AAyBA,SAAgB,IAAmD;AACjE,QAAO,EAAmB;EACxB,SAAS;EAET,eAAe;EAChB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import "../utils/helpers.js";
1
2
  import "react";
2
3
  import "lucide-react";
3
4
  import "react/jsx-runtime";
@@ -1,3 +1,4 @@
1
+ import "../utils/helpers.js";
1
2
  import "lucide-react";
2
3
  import "react/jsx-runtime";
3
4
  import "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
@@ -1,16 +1,11 @@
1
- import { Tooltip as e } from "../../../node_modules/recharts/es6/component/Tooltip.js";
2
- import { ResponsiveContainer as t } from "../../../node_modules/recharts/es6/component/ResponsiveContainer.js";
3
- import { PolarGrid as n } from "../../../node_modules/recharts/es6/polar/PolarGrid.js";
4
- import { PolarAngleAxis as r } from "../../../node_modules/recharts/es6/polar/PolarAngleAxis.js";
5
- import { Radar as i } from "../../../node_modules/recharts/es6/polar/Radar.js";
6
- import { RadarChart as a } from "../../../node_modules/recharts/es6/chart/RadarChart.js";
7
- import { chartTokens as o, usePrefersReducedMotion as s } from "./chartTheme.js";
8
- import { ChartEmpty as c, ChartTooltip as l, srOnlyStyle as u } from "./ChartParts.js";
9
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
1
+ import { chartTokens as e, usePrefersReducedMotion as t } from "./chartTheme.js";
2
+ import { ChartEmpty as n, ChartTooltip as r, srOnlyStyle as i } from "./ChartParts.js";
3
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
+ import { PolarAngleAxis as s, PolarGrid as c, Radar as l, RadarChart as u, ResponsiveContainer as d, Tooltip as f } from "recharts";
10
5
  //#region src/timecampus/components/charts/BalanceWheel.tsx
11
6
  function p({ data: p, height: m = 320, emptyLabel: h, ariaLabel: g, className: _ }) {
12
- let v = s(), y = p.filter((e) => Number.isFinite(e.actualShare) && e.actualShare >= 0), b = y.reduce((e, t) => e + t.actualShare, 0), x = y.some((e) => typeof e.desiredShare == "number" && Number.isFinite(e.desiredShare));
13
- if (y.length === 0 || b <= 0) return /* @__PURE__ */ d(c, {
7
+ let v = t(), y = p.filter((e) => Number.isFinite(e.actualShare) && e.actualShare >= 0), b = y.reduce((e, t) => e + t.actualShare, 0), x = y.some((e) => typeof e.desiredShare == "number" && Number.isFinite(e.desiredShare));
8
+ if (y.length === 0 || b <= 0) return /* @__PURE__ */ a(n, {
14
9
  height: m,
15
10
  label: h,
16
11
  className: _
@@ -20,47 +15,47 @@ function p({ data: p, height: m = 320, emptyLabel: h, ariaLabel: g, className: _
20
15
  Actual: Math.round(e.actualShare * 1e3) / 10,
21
16
  Desired: typeof e.desiredShare == "number" && Number.isFinite(e.desiredShare) ? Math.round(e.desiredShare * 1e3) / 10 : 0
22
17
  })), C = g ?? `Life balance across ${y.map((e) => e.label).join(", ")}`;
23
- return /* @__PURE__ */ f("figure", {
18
+ return /* @__PURE__ */ o("figure", {
24
19
  role: "img",
25
20
  "aria-label": C,
26
21
  className: _,
27
22
  children: [
28
- /* @__PURE__ */ d("div", {
23
+ /* @__PURE__ */ a("div", {
29
24
  style: { height: m },
30
- children: /* @__PURE__ */ d(t, {
25
+ children: /* @__PURE__ */ a(d, {
31
26
  width: "100%",
32
27
  height: "100%",
33
- children: /* @__PURE__ */ f(a, {
28
+ children: /* @__PURE__ */ o(u, {
34
29
  data: S,
35
30
  outerRadius: "72%",
36
31
  children: [
37
- /* @__PURE__ */ d(n, { stroke: o.grid }),
38
- /* @__PURE__ */ d(r, {
32
+ /* @__PURE__ */ a(c, { stroke: e.grid }),
33
+ /* @__PURE__ */ a(s, {
39
34
  dataKey: "label",
40
35
  tick: {
41
- fill: o.textSecondary,
36
+ fill: e.textSecondary,
42
37
  fontSize: 11
43
38
  }
44
39
  }),
45
- /* @__PURE__ */ d(e, {
40
+ /* @__PURE__ */ a(f, {
46
41
  cursor: !1,
47
- content: /* @__PURE__ */ d(l, { valueFormat: (e) => `${e}%` })
42
+ content: /* @__PURE__ */ a(r, { valueFormat: (e) => `${e}%` })
48
43
  }),
49
- x && /* @__PURE__ */ d(i, {
44
+ x && /* @__PURE__ */ a(l, {
50
45
  name: "Desired",
51
46
  dataKey: "Desired",
52
- stroke: o.textMuted,
47
+ stroke: e.textMuted,
53
48
  strokeDasharray: "4 3",
54
49
  strokeWidth: 1.5,
55
50
  fill: "transparent",
56
51
  isAnimationActive: !v
57
52
  }),
58
- /* @__PURE__ */ d(i, {
53
+ /* @__PURE__ */ a(l, {
59
54
  name: "Actual",
60
55
  dataKey: "Actual",
61
- stroke: o.brand,
56
+ stroke: e.brand,
62
57
  strokeWidth: 2,
63
- fill: o.brand,
58
+ fill: e.brand,
64
59
  fillOpacity: .28,
65
60
  isAnimationActive: !v
66
61
  })
@@ -68,49 +63,49 @@ function p({ data: p, height: m = 320, emptyLabel: h, ariaLabel: g, className: _
68
63
  })
69
64
  })
70
65
  }),
71
- /* @__PURE__ */ f("ul", {
66
+ /* @__PURE__ */ o("ul", {
72
67
  className: "mt-2 flex flex-wrap items-center justify-center gap-x-4 gap-y-1.5 text-xs text-text-secondary",
73
- children: [/* @__PURE__ */ f("li", {
68
+ children: [/* @__PURE__ */ o("li", {
74
69
  className: "flex items-center gap-1.5",
75
- children: [/* @__PURE__ */ d("span", {
70
+ children: [/* @__PURE__ */ a("span", {
76
71
  "aria-hidden": "true",
77
72
  className: "h-2.5 w-2.5 rounded-[3px]",
78
- style: { backgroundColor: o.brand }
73
+ style: { backgroundColor: e.brand }
79
74
  }), "Actual"]
80
- }), x && /* @__PURE__ */ f("li", {
75
+ }), x && /* @__PURE__ */ o("li", {
81
76
  className: "flex items-center gap-1.5",
82
- children: [/* @__PURE__ */ d("span", {
77
+ children: [/* @__PURE__ */ a("span", {
83
78
  "aria-hidden": "true",
84
79
  className: "h-0 w-3.5 border-t-2 border-dashed",
85
- style: { borderColor: o.textMuted }
80
+ style: { borderColor: e.textMuted }
86
81
  }), "Desired"]
87
82
  })]
88
83
  }),
89
- /* @__PURE__ */ f("table", {
90
- style: u,
84
+ /* @__PURE__ */ o("table", {
85
+ style: i,
91
86
  children: [
92
- /* @__PURE__ */ d("caption", { children: C }),
93
- /* @__PURE__ */ d("thead", { children: /* @__PURE__ */ f("tr", { children: [
94
- /* @__PURE__ */ d("th", {
87
+ /* @__PURE__ */ a("caption", { children: C }),
88
+ /* @__PURE__ */ a("thead", { children: /* @__PURE__ */ o("tr", { children: [
89
+ /* @__PURE__ */ a("th", {
95
90
  scope: "col",
96
91
  children: "Domain"
97
92
  }),
98
- /* @__PURE__ */ d("th", {
93
+ /* @__PURE__ */ a("th", {
99
94
  scope: "col",
100
95
  children: "Actual share"
101
96
  }),
102
- x && /* @__PURE__ */ d("th", {
97
+ x && /* @__PURE__ */ a("th", {
103
98
  scope: "col",
104
99
  children: "Desired share"
105
100
  })
106
101
  ] }) }),
107
- /* @__PURE__ */ d("tbody", { children: y.map((e) => /* @__PURE__ */ f("tr", { children: [
108
- /* @__PURE__ */ d("th", {
102
+ /* @__PURE__ */ a("tbody", { children: y.map((e) => /* @__PURE__ */ o("tr", { children: [
103
+ /* @__PURE__ */ a("th", {
109
104
  scope: "row",
110
105
  children: e.label
111
106
  }),
112
- /* @__PURE__ */ d("td", { children: `${Math.round(e.actualShare * 100)}%` }),
113
- x && /* @__PURE__ */ d("td", { children: typeof e.desiredShare == "number" ? `${Math.round(e.desiredShare * 100)}%` : "—" })
107
+ /* @__PURE__ */ a("td", { children: `${Math.round(e.actualShare * 100)}%` }),
108
+ x && /* @__PURE__ */ a("td", { children: typeof e.desiredShare == "number" ? `${Math.round(e.desiredShare * 100)}%` : "—" })
114
109
  ] }, e.domain)) })
115
110
  ]
116
111
  })
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceWheel.js","names":[],"sources":["../../../../src/timecampus/components/charts/BalanceWheel.tsx"],"sourcesContent":["import {\n PolarAngleAxis,\n PolarGrid,\n Radar,\n RadarChart,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\";\nimport { chartTokens, usePrefersReducedMotion } from \"./chartTheme\";\nimport { ChartEmpty, ChartTooltip, srOnlyStyle } from \"./ChartParts\";\n\n/** One life-domain axis of the wheel: the actual vs the desired share of time. */\nexport interface BalanceWheelDatum {\n /** Stable domain key (e.g. \"FAMILY\"). */\n domain: string;\n /** Human label shown on the axis (e.g. \"Family\"). */\n label: string;\n /** Actual share of covered time, 0..1. */\n actualShare: number;\n /** Desired share the user declared, 0..1. Omit when no target is set. */\n desiredShare?: number | null;\n}\n\nexport interface BalanceWheelProps {\n data: BalanceWheelDatum[];\n /** Pixel height of the wheel. Default 320. */\n height?: number;\n /** Message when there is no covered time to plot. */\n emptyLabel?: string;\n ariaLabel?: string;\n className?: string;\n}\n\n/**\n * BalanceWheel — the signature life-balance visual: a radar of how your finite\n * time actually splits across life domains (solid brand polygon) overlaid with\n * the balance you said you WANT (dashed muted polygon). The gap between the two\n * is the insight. Token-only, theme-aware, and renders an honest empty state —\n * never a fake polygon — when there is no covered time. Values are real shares\n * passed in by the page; this component never fabricates data.\n */\nexport function BalanceWheel({\n data,\n height = 320,\n emptyLabel,\n ariaLabel,\n className,\n}: BalanceWheelProps) {\n const reducedMotion = usePrefersReducedMotion();\n\n const rows = data.filter(\n (d) => Number.isFinite(d.actualShare) && d.actualShare >= 0,\n );\n const total = rows.reduce((sum, d) => sum + d.actualShare, 0);\n const hasDesired = rows.some(\n (d) =>\n typeof d.desiredShare === \"number\" && Number.isFinite(d.desiredShare),\n );\n\n if (rows.length === 0 || total <= 0) {\n return (\n <ChartEmpty height={height} label={emptyLabel} className={className} />\n );\n }\n\n const chartData = rows.map((d) => ({\n label: d.label,\n Actual: Math.round(d.actualShare * 1000) / 10,\n Desired:\n typeof d.desiredShare === \"number\" && Number.isFinite(d.desiredShare)\n ? Math.round(d.desiredShare * 1000) / 10\n : 0,\n }));\n\n const label =\n ariaLabel ?? `Life balance across ${rows.map((d) => d.label).join(\", \")}`;\n\n return (\n <figure role=\"img\" aria-label={label} className={className}>\n <div style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RadarChart data={chartData} outerRadius=\"72%\">\n <PolarGrid stroke={chartTokens.grid} />\n <PolarAngleAxis\n dataKey=\"label\"\n tick={{ fill: chartTokens.textSecondary, fontSize: 11 }}\n />\n <Tooltip\n cursor={false}\n content={<ChartTooltip valueFormat={(v) => `${v}%`} />}\n />\n {hasDesired && (\n <Radar\n name=\"Desired\"\n dataKey=\"Desired\"\n stroke={chartTokens.textMuted}\n strokeDasharray=\"4 3\"\n strokeWidth={1.5}\n fill=\"transparent\"\n isAnimationActive={!reducedMotion}\n />\n )}\n <Radar\n name=\"Actual\"\n dataKey=\"Actual\"\n stroke={chartTokens.brand}\n strokeWidth={2}\n fill={chartTokens.brand}\n fillOpacity={0.28}\n isAnimationActive={!reducedMotion}\n />\n </RadarChart>\n </ResponsiveContainer>\n </div>\n\n <ul className=\"mt-2 flex flex-wrap items-center justify-center gap-x-4 gap-y-1.5 text-xs text-text-secondary\">\n <li className=\"flex items-center gap-1.5\">\n <span\n aria-hidden=\"true\"\n className=\"h-2.5 w-2.5 rounded-[3px]\"\n style={{ backgroundColor: chartTokens.brand }}\n />\n Actual\n </li>\n {hasDesired && (\n <li className=\"flex items-center gap-1.5\">\n <span\n aria-hidden=\"true\"\n className=\"h-0 w-3.5 border-t-2 border-dashed\"\n style={{ borderColor: chartTokens.textMuted }}\n />\n Desired\n </li>\n )}\n </ul>\n\n <table style={srOnlyStyle}>\n <caption>{label}</caption>\n <thead>\n <tr>\n <th scope=\"col\">Domain</th>\n <th scope=\"col\">Actual share</th>\n {hasDesired && <th scope=\"col\">Desired share</th>}\n </tr>\n </thead>\n <tbody>\n {rows.map((d) => (\n <tr key={d.domain}>\n <th scope=\"row\">{d.label}</th>\n <td>{`${Math.round(d.actualShare * 100)}%`}</td>\n {hasDesired && (\n <td>\n {typeof d.desiredShare === \"number\"\n ? `${Math.round(d.desiredShare * 100)}%`\n : \"—\"}\n </td>\n )}\n </tr>\n ))}\n </tbody>\n </table>\n </figure>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"BalanceWheel.js","names":[],"sources":["../../../../src/timecampus/components/charts/BalanceWheel.tsx"],"sourcesContent":["import {\n PolarAngleAxis,\n PolarGrid,\n Radar,\n RadarChart,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\";\nimport { chartTokens, usePrefersReducedMotion } from \"./chartTheme\";\nimport { ChartEmpty, ChartTooltip, srOnlyStyle } from \"./ChartParts\";\n\n/** One life-domain axis of the wheel: the actual vs the desired share of time. */\nexport interface BalanceWheelDatum {\n /** Stable domain key (e.g. \"FAMILY\"). */\n domain: string;\n /** Human label shown on the axis (e.g. \"Family\"). */\n label: string;\n /** Actual share of covered time, 0..1. */\n actualShare: number;\n /** Desired share the user declared, 0..1. Omit when no target is set. */\n desiredShare?: number | null;\n}\n\nexport interface BalanceWheelProps {\n data: BalanceWheelDatum[];\n /** Pixel height of the wheel. Default 320. */\n height?: number;\n /** Message when there is no covered time to plot. */\n emptyLabel?: string;\n ariaLabel?: string;\n className?: string;\n}\n\n/**\n * BalanceWheel — the signature life-balance visual: a radar of how your finite\n * time actually splits across life domains (solid brand polygon) overlaid with\n * the balance you said you WANT (dashed muted polygon). The gap between the two\n * is the insight. Token-only, theme-aware, and renders an honest empty state —\n * never a fake polygon — when there is no covered time. Values are real shares\n * passed in by the page; this component never fabricates data.\n */\nexport function BalanceWheel({\n data,\n height = 320,\n emptyLabel,\n ariaLabel,\n className,\n}: BalanceWheelProps) {\n const reducedMotion = usePrefersReducedMotion();\n\n const rows = data.filter(\n (d) => Number.isFinite(d.actualShare) && d.actualShare >= 0,\n );\n const total = rows.reduce((sum, d) => sum + d.actualShare, 0);\n const hasDesired = rows.some(\n (d) =>\n typeof d.desiredShare === \"number\" && Number.isFinite(d.desiredShare),\n );\n\n if (rows.length === 0 || total <= 0) {\n return (\n <ChartEmpty height={height} label={emptyLabel} className={className} />\n );\n }\n\n const chartData = rows.map((d) => ({\n label: d.label,\n Actual: Math.round(d.actualShare * 1000) / 10,\n Desired:\n typeof d.desiredShare === \"number\" && Number.isFinite(d.desiredShare)\n ? Math.round(d.desiredShare * 1000) / 10\n : 0,\n }));\n\n const label =\n ariaLabel ?? `Life balance across ${rows.map((d) => d.label).join(\", \")}`;\n\n return (\n <figure role=\"img\" aria-label={label} className={className}>\n <div style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RadarChart data={chartData} outerRadius=\"72%\">\n <PolarGrid stroke={chartTokens.grid} />\n <PolarAngleAxis\n dataKey=\"label\"\n tick={{ fill: chartTokens.textSecondary, fontSize: 11 }}\n />\n <Tooltip\n cursor={false}\n content={<ChartTooltip valueFormat={(v) => `${v}%`} />}\n />\n {hasDesired && (\n <Radar\n name=\"Desired\"\n dataKey=\"Desired\"\n stroke={chartTokens.textMuted}\n strokeDasharray=\"4 3\"\n strokeWidth={1.5}\n fill=\"transparent\"\n isAnimationActive={!reducedMotion}\n />\n )}\n <Radar\n name=\"Actual\"\n dataKey=\"Actual\"\n stroke={chartTokens.brand}\n strokeWidth={2}\n fill={chartTokens.brand}\n fillOpacity={0.28}\n isAnimationActive={!reducedMotion}\n />\n </RadarChart>\n </ResponsiveContainer>\n </div>\n\n <ul className=\"mt-2 flex flex-wrap items-center justify-center gap-x-4 gap-y-1.5 text-xs text-text-secondary\">\n <li className=\"flex items-center gap-1.5\">\n <span\n aria-hidden=\"true\"\n className=\"h-2.5 w-2.5 rounded-[3px]\"\n style={{ backgroundColor: chartTokens.brand }}\n />\n Actual\n </li>\n {hasDesired && (\n <li className=\"flex items-center gap-1.5\">\n <span\n aria-hidden=\"true\"\n className=\"h-0 w-3.5 border-t-2 border-dashed\"\n style={{ borderColor: chartTokens.textMuted }}\n />\n Desired\n </li>\n )}\n </ul>\n\n <table style={srOnlyStyle}>\n <caption>{label}</caption>\n <thead>\n <tr>\n <th scope=\"col\">Domain</th>\n <th scope=\"col\">Actual share</th>\n {hasDesired && <th scope=\"col\">Desired share</th>}\n </tr>\n </thead>\n <tbody>\n {rows.map((d) => (\n <tr key={d.domain}>\n <th scope=\"row\">{d.label}</th>\n <td>{`${Math.round(d.actualShare * 100)}%`}</td>\n {hasDesired && (\n <td>\n {typeof d.desiredShare === \"number\"\n ? `${Math.round(d.desiredShare * 100)}%`\n : \"—\"}\n </td>\n )}\n </tr>\n ))}\n </tbody>\n </table>\n </figure>\n );\n}\n"],"mappings":"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"}
@@ -1,28 +1,21 @@
1
- import { Legend as e } from "../../../node_modules/recharts/es6/component/Legend.js";
2
- import { Tooltip as t } from "../../../node_modules/recharts/es6/component/Tooltip.js";
3
- import { ResponsiveContainer as n } from "../../../node_modules/recharts/es6/component/ResponsiveContainer.js";
4
- import { Bar as r } from "../../../node_modules/recharts/es6/cartesian/Bar.js";
5
- import { CartesianGrid as i } from "../../../node_modules/recharts/es6/cartesian/CartesianGrid.js";
6
- import { XAxis as a } from "../../../node_modules/recharts/es6/cartesian/XAxis.js";
7
- import { YAxis as o } from "../../../node_modules/recharts/es6/cartesian/YAxis.js";
8
- import { BarChart as s } from "../../../node_modules/recharts/es6/chart/BarChart.js";
9
- import { chartTokens as c, defaultSeriesColor as l, formatNumber as u, usePrefersReducedMotion as d } from "./chartTheme.js";
10
- import { ChartDataTable as f, ChartEmpty as p, ChartFigure as m, ChartLegend as h, ChartTooltip as g } from "./ChartParts.js";
11
- import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
1
+ import { chartTokens as e, defaultSeriesColor as t, formatNumber as n, usePrefersReducedMotion as r } from "./chartTheme.js";
2
+ import { ChartDataTable as i, ChartEmpty as a, ChartFigure as o, ChartLegend as s, ChartTooltip as c } from "./ChartParts.js";
3
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
4
+ import { Bar as f, BarChart as p, CartesianGrid as m, Legend as h, ResponsiveContainer as g, Tooltip as _, XAxis as v, YAxis as y } from "recharts";
12
5
  //#region src/timecampus/components/charts/BarsChart.tsx
13
- function b({ data: b, xKey: x, series: S, orientation: C = "vertical", stacked: w = !1, height: T = 260, valueFormat: E = u, xTickFormat: D, showGrid: O = !0, showLegend: k, categoryWidth: A = 96, emptyLabel: j, ariaLabel: M, className: N }) {
14
- let P = d(), F = S.map((e, t) => ({
6
+ function b({ data: b, xKey: x, series: S, orientation: C = "vertical", stacked: w = !1, height: T = 260, valueFormat: E = n, xTickFormat: D, showGrid: O = !0, showLegend: k, categoryWidth: A = 96, emptyLabel: j, ariaLabel: M, className: N }) {
7
+ let P = r(), F = S.map((e, n) => ({
15
8
  ...e,
16
9
  label: e.label ?? e.key,
17
- color: e.color ?? l(t, S.length)
10
+ color: e.color ?? t(n, S.length)
18
11
  })), I = M ?? `${F.map((e) => e.label).join(", ")} by ${x}`;
19
- if (b.length === 0) return /* @__PURE__ */ v(p, {
12
+ if (b.length === 0) return /* @__PURE__ */ u(a, {
20
13
  height: T,
21
14
  label: j,
22
15
  className: N
23
16
  });
24
17
  let L = C === "vertical", R = k ?? F.length > 1, z = {
25
- fill: c.textMuted,
18
+ fill: e.textMuted,
26
19
  fontSize: 12
27
20
  }, B = F.length - 1, V = (e) => !w || e === B ? L ? [
28
21
  4,
@@ -40,11 +33,11 @@ function b({ data: b, xKey: x, series: S, orientation: C = "vertical", stacked:
40
33
  0,
41
34
  0
42
35
  ], H = w ? "stack" : void 0;
43
- return /* @__PURE__ */ v(m, {
36
+ return /* @__PURE__ */ u(o, {
44
37
  ariaLabel: I,
45
38
  height: T,
46
39
  className: N,
47
- a11y: /* @__PURE__ */ v(f, {
40
+ a11y: /* @__PURE__ */ u(i, {
48
41
  caption: I,
49
42
  xLabel: x,
50
43
  xKey: x,
@@ -52,10 +45,10 @@ function b({ data: b, xKey: x, series: S, orientation: C = "vertical", stacked:
52
45
  series: F,
53
46
  valueFormat: E
54
47
  }),
55
- children: /* @__PURE__ */ v(n, {
48
+ children: /* @__PURE__ */ u(g, {
56
49
  width: "100%",
57
50
  height: "100%",
58
- children: /* @__PURE__ */ y(s, {
51
+ children: /* @__PURE__ */ d(p, {
59
52
  data: b,
60
53
  layout: L ? "horizontal" : "vertical",
61
54
  margin: {
@@ -66,13 +59,13 @@ function b({ data: b, xKey: x, series: S, orientation: C = "vertical", stacked:
66
59
  },
67
60
  barCategoryGap: L ? "24%" : "28%",
68
61
  children: [
69
- O ? /* @__PURE__ */ v(i, {
62
+ O ? /* @__PURE__ */ u(m, {
70
63
  vertical: !L,
71
64
  horizontal: L,
72
- stroke: c.grid,
65
+ stroke: e.grid,
73
66
  strokeWidth: 1
74
67
  }) : null,
75
- L ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(a, {
68
+ L ? /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(v, {
76
69
  dataKey: x,
77
70
  type: "category",
78
71
  tickLine: !1,
@@ -80,20 +73,20 @@ function b({ data: b, xKey: x, series: S, orientation: C = "vertical", stacked:
80
73
  tick: z,
81
74
  tickMargin: 8,
82
75
  tickFormatter: D ? (e) => D(e) : void 0
83
- }), /* @__PURE__ */ v(o, {
76
+ }), /* @__PURE__ */ u(y, {
84
77
  type: "number",
85
78
  tickLine: !1,
86
79
  axisLine: !1,
87
80
  tick: z,
88
81
  width: 48,
89
82
  tickFormatter: (e) => E(Number(e))
90
- })] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(a, {
83
+ })] }) : /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(v, {
91
84
  type: "number",
92
85
  tickLine: !1,
93
86
  axisLine: !1,
94
87
  tick: z,
95
88
  tickFormatter: (e) => E(Number(e))
96
- }), /* @__PURE__ */ v(o, {
89
+ }), /* @__PURE__ */ u(y, {
97
90
  dataKey: x,
98
91
  type: "category",
99
92
  tickLine: !1,
@@ -102,18 +95,18 @@ function b({ data: b, xKey: x, series: S, orientation: C = "vertical", stacked:
102
95
  width: A,
103
96
  tickFormatter: D ? (e) => D(e) : void 0
104
97
  })] }),
105
- /* @__PURE__ */ v(t, {
98
+ /* @__PURE__ */ u(_, {
106
99
  cursor: {
107
- fill: c.track,
100
+ fill: e.track,
108
101
  opacity: .5
109
102
  },
110
- content: /* @__PURE__ */ v(g, {
103
+ content: /* @__PURE__ */ u(c, {
111
104
  valueFormat: E,
112
105
  labelFormat: D
113
106
  })
114
107
  }),
115
- R ? /* @__PURE__ */ v(e, { content: /* @__PURE__ */ v(h, {}) }) : null,
116
- F.map((e, t) => /* @__PURE__ */ v(r, {
108
+ R ? /* @__PURE__ */ u(h, { content: /* @__PURE__ */ u(s, {}) }) : null,
109
+ F.map((e, t) => /* @__PURE__ */ u(f, {
117
110
  dataKey: e.key,
118
111
  name: e.label,
119
112
  fill: e.color,
@@ -1 +1 @@
1
- {"version":3,"file":"BarsChart.js","names":[],"sources":["../../../../src/timecampus/components/charts/BarsChart.tsx"],"sourcesContent":["import {\n Bar,\n BarChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport {\n chartTokens,\n defaultSeriesColor,\n formatNumber,\n usePrefersReducedMotion,\n type ChartDatum,\n type ChartSeries,\n type ValueFormatter,\n} from \"./chartTheme\";\nimport {\n ChartDataTable,\n ChartEmpty,\n ChartFigure,\n ChartLegend,\n ChartTooltip,\n} from \"./ChartParts\";\n\nexport interface BarsChartProps {\n /** Rows of `{ [xKey]: label, [series.key]: number }`. */\n data: ChartDatum[];\n /** Field holding the category label. */\n xKey: string;\n /** One or more numeric series. */\n series: ChartSeries[];\n /** `vertical` = columns growing up (default); `horizontal` = bars growing right. */\n orientation?: \"vertical\" | \"horizontal\";\n /** Stack the series instead of grouping side-by-side. Default false. */\n stacked?: boolean;\n /** Pixel height. Default 260. */\n height?: number;\n /** Formats numeric values in the axis + tooltip. Default grouped integer. */\n valueFormat?: ValueFormatter;\n /** Formats the category tick + tooltip header. */\n xTickFormat?: (value: string | number) => string;\n /** Show the value-axis grid. Default true. */\n showGrid?: boolean;\n /** Force the legend on/off. Default: on when there are ≥ 2 series. */\n showLegend?: boolean;\n /** Width of the category label column in `horizontal` mode. Default 96. */\n categoryWidth?: number;\n /** Message shown when `data` is empty. */\n emptyLabel?: string;\n /** Accessible name. */\n ariaLabel?: string;\n className?: string;\n}\n\n/**\n * BarsChart — categorical magnitude as columns or horizontal bars, grouped or\n * stacked. Thin (≤ 24px) marks with 4px rounded data-ends, a hairline grid, a\n * per-mark tooltip, a multi-series legend, an empty state and a screen-reader\n * table. Colour is identity only (never re-encoding the bar's length).\n */\nexport function BarsChart({\n data,\n xKey,\n series,\n orientation = \"vertical\",\n stacked = false,\n height = 260,\n valueFormat = formatNumber,\n xTickFormat,\n showGrid = true,\n showLegend,\n categoryWidth = 96,\n emptyLabel,\n ariaLabel,\n className,\n}: BarsChartProps) {\n const reducedMotion = usePrefersReducedMotion();\n\n const resolved = series.map((s, index) => ({\n ...s,\n label: s.label ?? s.key,\n color: s.color ?? defaultSeriesColor(index, series.length),\n }));\n const label =\n ariaLabel ?? `${resolved.map((s) => s.label).join(\", \")} by ${xKey}`;\n\n if (data.length === 0) {\n return (\n <ChartEmpty height={height} label={emptyLabel} className={className} />\n );\n }\n\n const isColumns = orientation === \"vertical\";\n const withLegend = showLegend ?? resolved.length > 1;\n const axisTick = { fill: chartTokens.textMuted, fontSize: 12 };\n const lastIndex = resolved.length - 1;\n\n /** Rounded data-end: columns round the top, horizontal bars the right; a stack\n * rounds only its outermost (last) segment. */\n const radiusFor = (index: number): [number, number, number, number] => {\n const rounded = !stacked || index === lastIndex;\n if (!rounded) return [0, 0, 0, 0];\n return isColumns ? [4, 4, 0, 0] : [0, 4, 4, 0];\n };\n\n const stackId = stacked ? \"stack\" : undefined;\n\n return (\n <ChartFigure\n ariaLabel={label}\n height={height}\n className={className}\n a11y={\n <ChartDataTable\n caption={label}\n xLabel={xKey}\n xKey={xKey}\n data={data}\n series={resolved}\n valueFormat={valueFormat}\n />\n }\n >\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <BarChart\n data={data}\n layout={isColumns ? \"horizontal\" : \"vertical\"}\n margin={{ top: 8, right: 16, bottom: 4, left: 4 }}\n barCategoryGap={isColumns ? \"24%\" : \"28%\"}\n >\n {showGrid ? (\n <CartesianGrid\n vertical={!isColumns}\n horizontal={isColumns}\n stroke={chartTokens.grid}\n strokeWidth={1}\n />\n ) : null}\n\n {isColumns ? (\n <>\n <XAxis\n dataKey={xKey}\n type=\"category\"\n tickLine={false}\n axisLine={false}\n tick={axisTick}\n tickMargin={8}\n tickFormatter={\n xTickFormat\n ? (value) => xTickFormat(value as string | number)\n : undefined\n }\n />\n <YAxis\n type=\"number\"\n tickLine={false}\n axisLine={false}\n tick={axisTick}\n width={48}\n tickFormatter={(value) => valueFormat(Number(value))}\n />\n </>\n ) : (\n <>\n <XAxis\n type=\"number\"\n tickLine={false}\n axisLine={false}\n tick={axisTick}\n tickFormatter={(value) => valueFormat(Number(value))}\n />\n <YAxis\n dataKey={xKey}\n type=\"category\"\n tickLine={false}\n axisLine={false}\n tick={axisTick}\n width={categoryWidth}\n tickFormatter={\n xTickFormat\n ? (value) => xTickFormat(value as string | number)\n : undefined\n }\n />\n </>\n )}\n\n <Tooltip\n cursor={{ fill: chartTokens.track, opacity: 0.5 }}\n content={\n <ChartTooltip\n valueFormat={valueFormat}\n labelFormat={xTickFormat}\n />\n }\n />\n\n {withLegend ? <Legend content={<ChartLegend />} /> : null}\n\n {resolved.map((s, index) => (\n <Bar\n key={s.key}\n dataKey={s.key}\n name={s.label}\n fill={s.color}\n stackId={stackId}\n maxBarSize={24}\n radius={radiusFor(index)}\n isAnimationActive={!reducedMotion}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </ChartFigure>\n );\n}\n"],"mappings":";;;;;;;;;;;;AA+DA,SAAgB,EAAU,EACxB,SACA,SACA,WACA,iBAAc,YACd,aAAU,IACV,YAAS,KACT,iBAAc,GACd,gBACA,cAAW,IACX,eACA,mBAAgB,IAChB,eACA,cACA,gBACiB;CACjB,IAAM,IAAgB,GAAyB,EAEzC,IAAW,EAAO,KAAK,GAAG,OAAW;EACzC,GAAG;EACH,OAAO,EAAE,SAAS,EAAE;EACpB,OAAO,EAAE,SAAS,EAAmB,GAAO,EAAO,OAAO;EAC3D,EAAE,EACG,IACJ,KAAa,GAAG,EAAS,KAAK,MAAM,EAAE,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM;AAEhE,KAAI,EAAK,WAAW,EAClB,QACE,kBAAC,GAAD;EAAoB;EAAQ,OAAO;EAAuB;EAAa,CAAA;CAI3E,IAAM,IAAY,MAAgB,YAC5B,IAAa,KAAc,EAAS,SAAS,GAC7C,IAAW;EAAE,MAAM,EAAY;EAAW,UAAU;EAAI,EACxD,IAAY,EAAS,SAAS,GAI9B,KAAa,MACD,CAAC,KAAW,MAAU,IAE/B,IAAY;EAAC;EAAG;EAAG;EAAG;EAAE,GAAG;EAAC;EAAG;EAAG;EAAG;EAAE,GADzB;EAAC;EAAG;EAAG;EAAG;EAAE,EAI7B,IAAU,IAAU,UAAU,KAAA;AAEpC,QACE,kBAAC,GAAD;EACE,WAAW;EACH;EACG;EACX,MACE,kBAAC,GAAD;GACE,SAAS;GACT,QAAQ;GACF;GACA;GACN,QAAQ;GACK;GACb,CAAA;YAGJ,kBAAC,GAAD;GAAqB,OAAM;GAAO,QAAO;aACvC,kBAAC,GAAD;IACQ;IACN,QAAQ,IAAY,eAAe;IACnC,QAAQ;KAAE,KAAK;KAAG,OAAO;KAAI,QAAQ;KAAG,MAAM;KAAG;IACjD,gBAAgB,IAAY,QAAQ;cAJtC;KAMG,IACC,kBAAC,GAAD;MACE,UAAU,CAAC;MACX,YAAY;MACZ,QAAQ,EAAY;MACpB,aAAa;MACb,CAAA,GACA;KAEH,IACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;MACE,SAAS;MACT,MAAK;MACL,UAAU;MACV,UAAU;MACV,MAAM;MACN,YAAY;MACZ,eACE,KACK,MAAU,EAAY,EAAyB,GAChD,KAAA;MAEN,CAAA,EACF,kBAAC,GAAD;MACE,MAAK;MACL,UAAU;MACV,UAAU;MACV,MAAM;MACN,OAAO;MACP,gBAAgB,MAAU,EAAY,OAAO,EAAM,CAAC;MACpD,CAAA,CACD,EAAA,CAAA,GAEH,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;MACE,MAAK;MACL,UAAU;MACV,UAAU;MACV,MAAM;MACN,gBAAgB,MAAU,EAAY,OAAO,EAAM,CAAC;MACpD,CAAA,EACF,kBAAC,GAAD;MACE,SAAS;MACT,MAAK;MACL,UAAU;MACV,UAAU;MACV,MAAM;MACN,OAAO;MACP,eACE,KACK,MAAU,EAAY,EAAyB,GAChD,KAAA;MAEN,CAAA,CACD,EAAA,CAAA;KAGL,kBAAC,GAAD;MACE,QAAQ;OAAE,MAAM,EAAY;OAAO,SAAS;OAAK;MACjD,SACE,kBAAC,GAAD;OACe;OACb,aAAa;OACb,CAAA;MAEJ,CAAA;KAED,IAAa,kBAAC,GAAD,EAAQ,SAAS,kBAAC,GAAD,EAAe,CAAA,EAAI,CAAA,GAAG;KAEpD,EAAS,KAAK,GAAG,MAChB,kBAAC,GAAD;MAEE,SAAS,EAAE;MACX,MAAM,EAAE;MACR,MAAM,EAAE;MACC;MACT,YAAY;MACZ,QAAQ,EAAU,EAAM;MACxB,mBAAmB,CAAC;MACpB,EARK,EAAE,IAQP,CACF;KACO;;GACS,CAAA;EACV,CAAA"}
1
+ {"version":3,"file":"BarsChart.js","names":[],"sources":["../../../../src/timecampus/components/charts/BarsChart.tsx"],"sourcesContent":["import {\n Bar,\n BarChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport {\n chartTokens,\n defaultSeriesColor,\n formatNumber,\n usePrefersReducedMotion,\n type ChartDatum,\n type ChartSeries,\n type ValueFormatter,\n} from \"./chartTheme\";\nimport {\n ChartDataTable,\n ChartEmpty,\n ChartFigure,\n ChartLegend,\n ChartTooltip,\n} from \"./ChartParts\";\n\nexport interface BarsChartProps {\n /** Rows of `{ [xKey]: label, [series.key]: number }`. */\n data: ChartDatum[];\n /** Field holding the category label. */\n xKey: string;\n /** One or more numeric series. */\n series: ChartSeries[];\n /** `vertical` = columns growing up (default); `horizontal` = bars growing right. */\n orientation?: \"vertical\" | \"horizontal\";\n /** Stack the series instead of grouping side-by-side. Default false. */\n stacked?: boolean;\n /** Pixel height. Default 260. */\n height?: number;\n /** Formats numeric values in the axis + tooltip. Default grouped integer. */\n valueFormat?: ValueFormatter;\n /** Formats the category tick + tooltip header. */\n xTickFormat?: (value: string | number) => string;\n /** Show the value-axis grid. Default true. */\n showGrid?: boolean;\n /** Force the legend on/off. Default: on when there are ≥ 2 series. */\n showLegend?: boolean;\n /** Width of the category label column in `horizontal` mode. Default 96. */\n categoryWidth?: number;\n /** Message shown when `data` is empty. */\n emptyLabel?: string;\n /** Accessible name. */\n ariaLabel?: string;\n className?: string;\n}\n\n/**\n * BarsChart — categorical magnitude as columns or horizontal bars, grouped or\n * stacked. Thin (≤ 24px) marks with 4px rounded data-ends, a hairline grid, a\n * per-mark tooltip, a multi-series legend, an empty state and a screen-reader\n * table. Colour is identity only (never re-encoding the bar's length).\n */\nexport function BarsChart({\n data,\n xKey,\n series,\n orientation = \"vertical\",\n stacked = false,\n height = 260,\n valueFormat = formatNumber,\n xTickFormat,\n showGrid = true,\n showLegend,\n categoryWidth = 96,\n emptyLabel,\n ariaLabel,\n className,\n}: BarsChartProps) {\n const reducedMotion = usePrefersReducedMotion();\n\n const resolved = series.map((s, index) => ({\n ...s,\n label: s.label ?? s.key,\n color: s.color ?? defaultSeriesColor(index, series.length),\n }));\n const label =\n ariaLabel ?? `${resolved.map((s) => s.label).join(\", \")} by ${xKey}`;\n\n if (data.length === 0) {\n return (\n <ChartEmpty height={height} label={emptyLabel} className={className} />\n );\n }\n\n const isColumns = orientation === \"vertical\";\n const withLegend = showLegend ?? resolved.length > 1;\n const axisTick = { fill: chartTokens.textMuted, fontSize: 12 };\n const lastIndex = resolved.length - 1;\n\n /** Rounded data-end: columns round the top, horizontal bars the right; a stack\n * rounds only its outermost (last) segment. */\n const radiusFor = (index: number): [number, number, number, number] => {\n const rounded = !stacked || index === lastIndex;\n if (!rounded) return [0, 0, 0, 0];\n return isColumns ? [4, 4, 0, 0] : [0, 4, 4, 0];\n };\n\n const stackId = stacked ? \"stack\" : undefined;\n\n return (\n <ChartFigure\n ariaLabel={label}\n height={height}\n className={className}\n a11y={\n <ChartDataTable\n caption={label}\n xLabel={xKey}\n xKey={xKey}\n data={data}\n series={resolved}\n valueFormat={valueFormat}\n />\n }\n >\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <BarChart\n data={data}\n layout={isColumns ? \"horizontal\" : \"vertical\"}\n margin={{ top: 8, right: 16, bottom: 4, left: 4 }}\n barCategoryGap={isColumns ? \"24%\" : \"28%\"}\n >\n {showGrid ? (\n <CartesianGrid\n vertical={!isColumns}\n horizontal={isColumns}\n stroke={chartTokens.grid}\n strokeWidth={1}\n />\n ) : null}\n\n {isColumns ? (\n <>\n <XAxis\n dataKey={xKey}\n type=\"category\"\n tickLine={false}\n axisLine={false}\n tick={axisTick}\n tickMargin={8}\n tickFormatter={\n xTickFormat\n ? (value) => xTickFormat(value as string | number)\n : undefined\n }\n />\n <YAxis\n type=\"number\"\n tickLine={false}\n axisLine={false}\n tick={axisTick}\n width={48}\n tickFormatter={(value) => valueFormat(Number(value))}\n />\n </>\n ) : (\n <>\n <XAxis\n type=\"number\"\n tickLine={false}\n axisLine={false}\n tick={axisTick}\n tickFormatter={(value) => valueFormat(Number(value))}\n />\n <YAxis\n dataKey={xKey}\n type=\"category\"\n tickLine={false}\n axisLine={false}\n tick={axisTick}\n width={categoryWidth}\n tickFormatter={\n xTickFormat\n ? (value) => xTickFormat(value as string | number)\n : undefined\n }\n />\n </>\n )}\n\n <Tooltip\n cursor={{ fill: chartTokens.track, opacity: 0.5 }}\n content={\n <ChartTooltip\n valueFormat={valueFormat}\n labelFormat={xTickFormat}\n />\n }\n />\n\n {withLegend ? <Legend content={<ChartLegend />} /> : null}\n\n {resolved.map((s, index) => (\n <Bar\n key={s.key}\n dataKey={s.key}\n name={s.label}\n fill={s.color}\n stackId={stackId}\n maxBarSize={24}\n radius={radiusFor(index)}\n isAnimationActive={!reducedMotion}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </ChartFigure>\n );\n}\n"],"mappings":";;;;;AA+DA,SAAgB,EAAU,EACxB,SACA,SACA,WACA,iBAAc,YACd,aAAU,IACV,YAAS,KACT,iBAAc,GACd,gBACA,cAAW,IACX,eACA,mBAAgB,IAChB,eACA,cACA,gBACiB;CACjB,IAAM,IAAgB,GAAyB,EAEzC,IAAW,EAAO,KAAK,GAAG,OAAW;EACzC,GAAG;EACH,OAAO,EAAE,SAAS,EAAE;EACpB,OAAO,EAAE,SAAS,EAAmB,GAAO,EAAO,OAAO;EAC3D,EAAE,EACG,IACJ,KAAa,GAAG,EAAS,KAAK,MAAM,EAAE,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM;AAEhE,KAAI,EAAK,WAAW,EAClB,QACE,kBAAC,GAAD;EAAoB;EAAQ,OAAO;EAAuB;EAAa,CAAA;CAI3E,IAAM,IAAY,MAAgB,YAC5B,IAAa,KAAc,EAAS,SAAS,GAC7C,IAAW;EAAE,MAAM,EAAY;EAAW,UAAU;EAAI,EACxD,IAAY,EAAS,SAAS,GAI9B,KAAa,MACD,CAAC,KAAW,MAAU,IAE/B,IAAY;EAAC;EAAG;EAAG;EAAG;EAAE,GAAG;EAAC;EAAG;EAAG;EAAG;EAAE,GADzB;EAAC;EAAG;EAAG;EAAG;EAAE,EAI7B,IAAU,IAAU,UAAU,KAAA;AAEpC,QACE,kBAAC,GAAD;EACE,WAAW;EACH;EACG;EACX,MACE,kBAAC,GAAD;GACE,SAAS;GACT,QAAQ;GACF;GACA;GACN,QAAQ;GACK;GACb,CAAA;YAGJ,kBAAC,GAAD;GAAqB,OAAM;GAAO,QAAO;aACvC,kBAAC,GAAD;IACQ;IACN,QAAQ,IAAY,eAAe;IACnC,QAAQ;KAAE,KAAK;KAAG,OAAO;KAAI,QAAQ;KAAG,MAAM;KAAG;IACjD,gBAAgB,IAAY,QAAQ;cAJtC;KAMG,IACC,kBAAC,GAAD;MACE,UAAU,CAAC;MACX,YAAY;MACZ,QAAQ,EAAY;MACpB,aAAa;MACb,CAAA,GACA;KAEH,IACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;MACE,SAAS;MACT,MAAK;MACL,UAAU;MACV,UAAU;MACV,MAAM;MACN,YAAY;MACZ,eACE,KACK,MAAU,EAAY,EAAyB,GAChD,KAAA;MAEN,CAAA,EACF,kBAAC,GAAD;MACE,MAAK;MACL,UAAU;MACV,UAAU;MACV,MAAM;MACN,OAAO;MACP,gBAAgB,MAAU,EAAY,OAAO,EAAM,CAAC;MACpD,CAAA,CACD,EAAA,CAAA,GAEH,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;MACE,MAAK;MACL,UAAU;MACV,UAAU;MACV,MAAM;MACN,gBAAgB,MAAU,EAAY,OAAO,EAAM,CAAC;MACpD,CAAA,EACF,kBAAC,GAAD;MACE,SAAS;MACT,MAAK;MACL,UAAU;MACV,UAAU;MACV,MAAM;MACN,OAAO;MACP,eACE,KACK,MAAU,EAAY,EAAyB,GAChD,KAAA;MAEN,CAAA,CACD,EAAA,CAAA;KAGL,kBAAC,GAAD;MACE,QAAQ;OAAE,MAAM,EAAY;OAAO,SAAS;OAAK;MACjD,SACE,kBAAC,GAAD;OACe;OACb,aAAa;OACb,CAAA;MAEJ,CAAA;KAED,IAAa,kBAAC,GAAD,EAAQ,SAAS,kBAAC,GAAD,EAAe,CAAA,EAAI,CAAA,GAAG;KAEpD,EAAS,KAAK,GAAG,MAChB,kBAAC,GAAD;MAEE,SAAS,EAAE;MACX,MAAM,EAAE;MACR,MAAM,EAAE;MACC;MACT,YAAY;MACZ,QAAQ,EAAU,EAAM;MACxB,mBAAmB,CAAC;MACpB,EARK,EAAE,IAQP,CACF;KACO;;GACS,CAAA;EACV,CAAA"}