@burdenoff/microfe-atheletebridge 2026.706.2 → 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.
- package/dist/atheletebridge/AthleteBridgeRoot.d.ts +5 -0
- package/dist/atheletebridge/AthleteBridgeRoot.d.ts.map +1 -0
- package/dist/atheletebridge/AthleteBridgeRoutes.d.ts +4 -0
- package/dist/atheletebridge/AthleteBridgeRoutes.d.ts.map +1 -0
- package/dist/atheletebridge/AthleteBridgeRoutes.js +135 -57
- package/dist/atheletebridge/AthleteBridgeRoutes.js.map +1 -1
- package/dist/atheletebridge/components/AthleteSelect.d.ts +26 -0
- package/dist/atheletebridge/components/AthleteSelect.d.ts.map +1 -0
- package/dist/atheletebridge/components/Crest.d.ts +17 -0
- package/dist/atheletebridge/components/Crest.d.ts.map +1 -0
- package/dist/atheletebridge/components/CursorPager.d.ts +12 -0
- package/dist/atheletebridge/components/CursorPager.d.ts.map +1 -0
- package/dist/atheletebridge/components/DrillVideoLink.d.ts +12 -0
- package/dist/atheletebridge/components/DrillVideoLink.d.ts.map +1 -0
- package/dist/atheletebridge/components/EmptyState.d.ts +14 -0
- package/dist/atheletebridge/components/EmptyState.d.ts.map +1 -0
- package/dist/atheletebridge/components/FilterSelect.d.ts +23 -0
- package/dist/atheletebridge/components/FilterSelect.d.ts.map +1 -0
- package/dist/atheletebridge/components/FixtureCard.d.ts +10 -0
- package/dist/atheletebridge/components/FixtureCard.d.ts.map +1 -0
- package/dist/atheletebridge/components/LoadingState.d.ts +16 -0
- package/dist/atheletebridge/components/LoadingState.d.ts.map +1 -0
- package/dist/atheletebridge/components/MatchupRow.d.ts +16 -0
- package/dist/atheletebridge/components/MatchupRow.d.ts.map +1 -0
- package/dist/atheletebridge/components/MetricsCard.d.ts +26 -0
- package/dist/atheletebridge/components/MetricsCard.d.ts.map +1 -0
- package/dist/atheletebridge/components/PageLayout.d.ts +22 -0
- package/dist/atheletebridge/components/PageLayout.d.ts.map +1 -0
- package/dist/atheletebridge/components/ProgramCard.d.ts +15 -0
- package/dist/atheletebridge/components/ProgramCard.d.ts.map +1 -0
- package/dist/atheletebridge/components/RouteAnalytics.d.ts +9 -0
- package/dist/atheletebridge/components/RouteAnalytics.d.ts.map +1 -0
- package/dist/atheletebridge/components/RouteAnalytics.js +30 -0
- package/dist/atheletebridge/components/RouteAnalytics.js.map +1 -0
- package/dist/atheletebridge/components/Scoreboard.d.ts +47 -0
- package/dist/atheletebridge/components/Scoreboard.d.ts.map +1 -0
- package/dist/atheletebridge/components/SessionCard.d.ts +14 -0
- package/dist/atheletebridge/components/SessionCard.d.ts.map +1 -0
- package/dist/atheletebridge/components/SessionStatusTimeline.d.ts +14 -0
- package/dist/atheletebridge/components/SessionStatusTimeline.d.ts.map +1 -0
- package/dist/atheletebridge/components/StatusBadge.d.ts +16 -0
- package/dist/atheletebridge/components/StatusBadge.d.ts.map +1 -0
- package/dist/atheletebridge/components/TeamCard.d.ts +16 -0
- package/dist/atheletebridge/components/TeamCard.d.ts.map +1 -0
- package/dist/atheletebridge/components/UserAvatar.d.ts +27 -0
- package/dist/atheletebridge/components/UserAvatar.d.ts.map +1 -0
- package/dist/atheletebridge/components/UserSearchSelect.d.ts +24 -0
- package/dist/atheletebridge/components/UserSearchSelect.d.ts.map +1 -0
- package/dist/atheletebridge/components/domain.d.ts +18 -0
- package/dist/atheletebridge/components/domain.d.ts.map +1 -0
- package/dist/atheletebridge/components/form.d.ts +15 -0
- package/dist/atheletebridge/components/form.d.ts.map +1 -0
- package/dist/atheletebridge/components/index.d.ts +30 -0
- package/dist/atheletebridge/components/index.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/AvatarStack.d.ts +13 -0
- package/dist/atheletebridge/components/viz/AvatarStack.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/BarChart.d.ts +17 -0
- package/dist/atheletebridge/components/viz/BarChart.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/DonutChart.d.ts +20 -0
- package/dist/atheletebridge/components/viz/DonutChart.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/LineChart.d.ts +20 -0
- package/dist/atheletebridge/components/viz/LineChart.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/ProgressRing.d.ts +20 -0
- package/dist/atheletebridge/components/viz/ProgressRing.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/RatingStars.d.ts +28 -0
- package/dist/atheletebridge/components/viz/RatingStars.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/Sparkline.d.ts +16 -0
- package/dist/atheletebridge/components/viz/Sparkline.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/StatCard.d.ts +22 -0
- package/dist/atheletebridge/components/viz/StatCard.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/StepProgress.d.ts +17 -0
- package/dist/atheletebridge/components/viz/StepProgress.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/Timeline.d.ts +21 -0
- package/dist/atheletebridge/components/viz/Timeline.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/index.d.ts +25 -0
- package/dist/atheletebridge/components/viz/index.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/lib/Avatar.d.ts +15 -0
- package/dist/atheletebridge/components/viz/lib/Avatar.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/lib/CartesianFrame.d.ts +44 -0
- package/dist/atheletebridge/components/viz/lib/CartesianFrame.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/lib/ResponsiveSvg.d.ts +27 -0
- package/dist/atheletebridge/components/viz/lib/ResponsiveSvg.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/lib/format.d.ts +10 -0
- package/dist/atheletebridge/components/viz/lib/format.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/lib/geometry.d.ts +41 -0
- package/dist/atheletebridge/components/viz/lib/geometry.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/lib/hooks.d.ts +18 -0
- package/dist/atheletebridge/components/viz/lib/hooks.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/lib/palette.d.ts +31 -0
- package/dist/atheletebridge/components/viz/lib/palette.d.ts.map +1 -0
- package/dist/atheletebridge/components/viz/lib/types.d.ts +27 -0
- package/dist/atheletebridge/components/viz/lib/types.d.ts.map +1 -0
- package/dist/atheletebridge/context/AthleteBridgeContext.d.ts +16 -0
- package/dist/atheletebridge/context/AthleteBridgeContext.d.ts.map +1 -0
- package/dist/atheletebridge/context/index.d.ts +6 -0
- package/dist/atheletebridge/context/index.d.ts.map +1 -0
- package/dist/atheletebridge/hooks/index.d.ts +3 -0
- package/dist/atheletebridge/hooks/index.d.ts.map +1 -0
- package/dist/atheletebridge/hooks/useAthleteBridgeAnalytics.d.ts +26 -0
- package/dist/atheletebridge/hooks/useAthleteBridgeAnalytics.d.ts.map +1 -0
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.d.ts +215 -0
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.d.ts.map +1 -0
- package/dist/atheletebridge/hooks/useAthleteBridgePageView.d.ts +16 -0
- package/dist/atheletebridge/hooks/useAthleteBridgePageView.d.ts.map +1 -0
- package/dist/atheletebridge/index.d.ts +11 -0
- package/dist/atheletebridge/index.d.ts.map +1 -0
- package/dist/atheletebridge/pages/DashboardPage.d.ts +12 -0
- package/dist/atheletebridge/pages/DashboardPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/StandingsPage.d.ts +10 -0
- package/dist/atheletebridge/pages/StandingsPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/analytics/CoachAnalyticsPage.d.ts +18 -0
- package/dist/atheletebridge/pages/analytics/CoachAnalyticsPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/athletes/AthleteProfilePage.d.ts +16 -0
- package/dist/atheletebridge/pages/athletes/AthleteProfilePage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.d.ts +12 -0
- package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/fixtures/FixtureFormPage.d.ts +12 -0
- package/dist/atheletebridge/pages/fixtures/FixtureFormPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/fixtures/FixturesListPage.d.ts +11 -0
- package/dist/atheletebridge/pages/fixtures/FixturesListPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/performance/PerformancePage.d.ts +18 -0
- package/dist/atheletebridge/pages/performance/PerformancePage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/programs/ProgramDetailPage.d.ts +10 -0
- package/dist/atheletebridge/pages/programs/ProgramDetailPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/programs/ProgramFormPage.d.ts +6 -0
- package/dist/atheletebridge/pages/programs/ProgramFormPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/programs/ProgramsListPage.d.ts +6 -0
- package/dist/atheletebridge/pages/programs/ProgramsListPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/sessions/SessionDetailPage.d.ts +16 -0
- package/dist/atheletebridge/pages/sessions/SessionDetailPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/sessions/SessionFormPage.d.ts +11 -0
- package/dist/atheletebridge/pages/sessions/SessionFormPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/sessions/SessionsListPage.d.ts +6 -0
- package/dist/atheletebridge/pages/sessions/SessionsListPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/teams/TeamDetailPage.d.ts +13 -0
- package/dist/atheletebridge/pages/teams/TeamDetailPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/teams/TeamFormPage.d.ts +6 -0
- package/dist/atheletebridge/pages/teams/TeamFormPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/teams/TeamsListPage.d.ts +6 -0
- package/dist/atheletebridge/pages/teams/TeamsListPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/tournaments/TournamentBracketPage.d.ts +18 -0
- package/dist/atheletebridge/pages/tournaments/TournamentBracketPage.d.ts.map +1 -0
- package/dist/atheletebridge/store/atheletebridgeStore.d.ts +50 -0
- package/dist/atheletebridge/store/atheletebridgeStore.d.ts.map +1 -0
- package/dist/atheletebridge/store/index.d.ts +6 -0
- package/dist/atheletebridge/store/index.d.ts.map +1 -0
- package/dist/atheletebridge/types/assistant.d.ts +62 -0
- package/dist/atheletebridge/types/assistant.d.ts.map +1 -0
- package/dist/atheletebridge/types/index.d.ts +411 -0
- package/dist/atheletebridge/types/index.d.ts.map +1 -0
- package/dist/atheletebridge/utils/cn.d.ts +4 -0
- package/dist/atheletebridge/utils/cn.d.ts.map +1 -0
- package/dist/atheletebridge/utils/datetime.d.ts +16 -0
- package/dist/atheletebridge/utils/datetime.d.ts.map +1 -0
- package/dist/atheletebridge/utils/formatters.d.ts +30 -0
- package/dist/atheletebridge/utils/formatters.d.ts.map +1 -0
- package/dist/atheletebridge/utils/identity.d.ts +24 -0
- package/dist/atheletebridge/utils/identity.d.ts.map +1 -0
- package/dist/atheletebridge/utils/index.d.ts +12 -0
- package/dist/atheletebridge/utils/index.d.ts.map +1 -0
- package/dist/atheletebridge/utils/navigation.d.ts +20 -0
- package/dist/atheletebridge/utils/navigation.d.ts.map +1 -0
- package/dist/atheletebridge/utils/pageContext.d.ts +25 -0
- package/dist/atheletebridge/utils/pageContext.d.ts.map +1 -0
- package/dist/atheletebridge/utils/pageContext.js +48 -0
- package/dist/atheletebridge/utils/pageContext.js.map +1 -0
- package/dist/atheletebridge/utils/timeAgo.d.ts +16 -0
- package/dist/atheletebridge/utils/timeAgo.d.ts.map +1 -0
- package/dist/atheletebridge/utils/url.d.ts +22 -0
- package/dist/atheletebridge/utils/url.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +23527 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +208 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +57851 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -1
- package/dist/services/createSandboxAssistantTransport.d.ts +24 -0
- package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
- package/dist/services/createSandboxAssistantTransport.js +14 -0
- package/dist/services/createSandboxAssistantTransport.js.map +1 -0
- package/package.json +7 -3
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface VizAvatarProps {
|
|
2
|
+
name: string;
|
|
3
|
+
src?: string;
|
|
4
|
+
/** Pixel diameter. */
|
|
5
|
+
size?: number;
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Extra ring around the avatar (used by overlapping stacks). */
|
|
8
|
+
ring?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Internal avatar primitive: image when available, initials fallback otherwise.
|
|
12
|
+
* Shared by AvatarStack, OrgTree and Timeline. Not exported from the barrel.
|
|
13
|
+
*/
|
|
14
|
+
export declare function VizAvatar({ name, src, size, className, ring }: VizAvatarProps): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../../src/atheletebridge/components/viz/lib/Avatar.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAS,EAAE,SAAS,EAAE,IAAY,EAAE,EAAE,cAAc,+BAyB1F"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface CartesianContext {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
plotLeft: number;
|
|
7
|
+
plotRight: number;
|
|
8
|
+
plotTop: number;
|
|
9
|
+
plotBottom: number;
|
|
10
|
+
activeIndex: number | null;
|
|
11
|
+
/** X pixel for a data index. */
|
|
12
|
+
px: (index: number) => number;
|
|
13
|
+
/** Y pixel for a data value. */
|
|
14
|
+
py: (value: number) => number;
|
|
15
|
+
}
|
|
16
|
+
interface Padding {
|
|
17
|
+
left: number;
|
|
18
|
+
right: number;
|
|
19
|
+
top: number;
|
|
20
|
+
bottom: number;
|
|
21
|
+
}
|
|
22
|
+
export interface CartesianFrameProps {
|
|
23
|
+
labels: string[];
|
|
24
|
+
/** Y domain [low, high]. */
|
|
25
|
+
domain: [number, number];
|
|
26
|
+
height: number;
|
|
27
|
+
title: string;
|
|
28
|
+
desc?: string;
|
|
29
|
+
formatValue: (value: number) => string;
|
|
30
|
+
/** Number of grid intervals (lines = intervals + 1). */
|
|
31
|
+
yTicks?: number;
|
|
32
|
+
padding?: Partial<Padding>;
|
|
33
|
+
tooltip?: (index: number) => ReactNode;
|
|
34
|
+
className?: string;
|
|
35
|
+
children: (ctx: CartesianContext) => ReactNode;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Shared cartesian chart chrome: faint grid, tokenized axes, and pointer +
|
|
39
|
+
* keyboard driven hover with an accessible tooltip. The series marks are
|
|
40
|
+
* supplied via the render-prop `children`, which receives pixel scales.
|
|
41
|
+
*/
|
|
42
|
+
export declare function CartesianFrame({ labels, domain, height, title, desc, formatValue, yTicks, padding, tooltip, className, children, }: CartesianFrameProps): import("react").JSX.Element;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=CartesianFrame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartesianFrame.d.ts","sourceRoot":"","sources":["../../../../../src/atheletebridge/components/viz/lib/CartesianFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAMtF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gCAAgC;IAChC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,gCAAgC;IAChC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/B;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,SAAS,CAAC;CAChD;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACJ,WAAW,EACX,MAAU,EACV,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,GACT,EAAE,mBAAmB,+BAwKrB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface ResponsiveSvgDims {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ResponsiveSvgProps {
|
|
8
|
+
/** Fixed pixel height; width is measured from the container. */
|
|
9
|
+
height: number;
|
|
10
|
+
/** Accessible name announced for the chart. */
|
|
11
|
+
title: string;
|
|
12
|
+
/** Optional longer description linked via <desc>. */
|
|
13
|
+
desc?: string;
|
|
14
|
+
className?: string;
|
|
15
|
+
/** Width assumed before the container has been measured. */
|
|
16
|
+
minWidth?: number;
|
|
17
|
+
/** Allow marks (endpoint halos, labels) to paint outside the viewBox. */
|
|
18
|
+
overflowVisible?: boolean;
|
|
19
|
+
children: (dims: ResponsiveSvgDims) => ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A width-measuring SVG frame. Because the viewBox matches the rendered pixel
|
|
23
|
+
* box 1:1, circles stay circular and strokes stay crisp at any width, while the
|
|
24
|
+
* chart still fills its container and reflows on resize.
|
|
25
|
+
*/
|
|
26
|
+
export declare function ResponsiveSvg({ height, title, desc, className, minWidth, overflowVisible, children, }: ResponsiveSvgProps): import("react").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=ResponsiveSvg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponsiveSvg.d.ts","sourceRoot":"","sources":["../../../../../src/atheletebridge/components/viz/lib/ResponsiveSvg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;CAClD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,IAAI,EACJ,SAAS,EACT,QAAc,EACd,eAAsB,EACtB,QAAQ,GACT,EAAE,kBAAkB,+BAoBpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure formatting helpers for the visualization kit. No React / DOM.
|
|
3
|
+
*/
|
|
4
|
+
/** Compact number formatting: 1200 -> "1.2k", 3_400_000 -> "3.4M". */
|
|
5
|
+
export declare function formatCompact(value: number): string;
|
|
6
|
+
/** Value as a percentage of a total, rounded to `digits` decimals (0 when total is 0). */
|
|
7
|
+
export declare function toPercent(value: number, total: number, digits?: number): number;
|
|
8
|
+
/** Up-to-two-letter initials from a display name. */
|
|
9
|
+
export declare function getInitials(name: string): string;
|
|
10
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/atheletebridge/components/viz/lib/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYnD;AAED,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAM1E;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure geometry / scaling helpers for the CrewFoundry visualization kit.
|
|
3
|
+
* No React, no DOM, no side effects — safe to unit test in isolation.
|
|
4
|
+
*/
|
|
5
|
+
export interface Point {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
}
|
|
9
|
+
/** Clamp a value into an inclusive range. */
|
|
10
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
11
|
+
/** Sum of a numeric list (0 for empty). */
|
|
12
|
+
export declare function sum(values: readonly number[]): number;
|
|
13
|
+
/** Min/max of a list. Returns [0, 0] for an empty list. */
|
|
14
|
+
export declare function extent(values: readonly number[]): [number, number];
|
|
15
|
+
/** Extent that always includes a zero baseline, so bars/areas anchor sensibly. */
|
|
16
|
+
export declare function extentWithZero(values: readonly number[]): [number, number];
|
|
17
|
+
/**
|
|
18
|
+
* Linear map of `value` from a domain onto a range. Degenerate domains
|
|
19
|
+
* (min === max) map to the range midpoint instead of dividing by zero.
|
|
20
|
+
*/
|
|
21
|
+
export declare function scaleLinear(value: number, domainMin: number, domainMax: number, rangeMin: number, rangeMax: number): number;
|
|
22
|
+
/**
|
|
23
|
+
* Evenly space a list of y-values across a box and invert Y (SVG origin is
|
|
24
|
+
* top-left, so larger values render higher).
|
|
25
|
+
*/
|
|
26
|
+
export declare function pointsFromValues(values: readonly number[], width: number, height: number, padding?: number, domain?: [number, number]): Point[];
|
|
27
|
+
/** Build an SVG polyline `d` from points. */
|
|
28
|
+
export declare function buildLinePath(points: readonly Point[]): string;
|
|
29
|
+
/** Build a closed area `d` (line dropped to a baseline and closed). */
|
|
30
|
+
export declare function buildAreaPath(points: readonly Point[], baselineY: number): string;
|
|
31
|
+
/** SVG path for an n-pointed star centered at (cx, cy). */
|
|
32
|
+
export declare function starPath(cx: number, cy: number, outerRadius: number, innerRadius: number, points?: number): string;
|
|
33
|
+
/** Convert a polar coordinate (degrees, clockwise from 12 o'clock) to cartesian. */
|
|
34
|
+
export declare function polarToCartesian(cx: number, cy: number, radius: number, angleDeg: number): Point;
|
|
35
|
+
/**
|
|
36
|
+
* Annular (donut) segment path between two angles, clockwise from 12 o'clock.
|
|
37
|
+
* For a full 360° sweep the caller should draw a ring instead (this path
|
|
38
|
+
* degenerates when start and end coincide).
|
|
39
|
+
*/
|
|
40
|
+
export declare function donutSegmentPath(cx: number, cy: number, rOuter: number, rInner: number, startAngle: number, endAngle: number): string;
|
|
41
|
+
//# sourceMappingURL=geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../../../src/atheletebridge/components/viz/lib/geometry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,6CAA6C;AAC7C,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,2CAA2C;AAC3C,wBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAErD;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAelE;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AAOD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,SAAI,EACX,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACxB,KAAK,EAAE,CAaT;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAK9D;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAQjF;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,GACT,MAAM,CAQR;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAGhG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAaR"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Tracks the user's reduced-motion preference. Components use this to skip
|
|
5
|
+
* entrance / draw-in transitions entirely rather than merely shortening them.
|
|
6
|
+
*/
|
|
7
|
+
export declare function usePrefersReducedMotion(): boolean;
|
|
8
|
+
/** Becomes true after the first paint — drives one-shot enter transitions. */
|
|
9
|
+
export declare function useMounted(): boolean;
|
|
10
|
+
/** Stable, SVG-safe unique id (no colons) for gradient / clip / aria references. */
|
|
11
|
+
export declare function useVizId(prefix?: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Observes the width of an element so SVG charts can render a 1:1 viewBox
|
|
14
|
+
* (no aspect-ratio distortion) and reflow on resize. Falls back gracefully
|
|
15
|
+
* where ResizeObserver is unavailable.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useElementWidth<T extends HTMLElement>(): [RefObject<T | null>, number];
|
|
18
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../src/atheletebridge/components/viz/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAgD,MAAM,OAAO,CAAC;AAKrF;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAajD;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,OAAO,CAOpC;AAID,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,MAAM,SAAQ,GAAG,MAAM,CAM/C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAsBtF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tokenized color palette for the visualization kit.
|
|
3
|
+
*
|
|
4
|
+
* Every color here is a reference to a fe-libs semantic CSS variable, so the
|
|
5
|
+
* kit themes automatically (light / dark / product themes) and never ships a
|
|
6
|
+
* raw hex. The single "accent" used for highlights and single-series charts is
|
|
7
|
+
* the product theme's primary action color — the app is NOT green; whatever the
|
|
8
|
+
* active theme resolves `--color-accent-primary` to is what renders.
|
|
9
|
+
*
|
|
10
|
+
* Tints/shades are produced by SVG opacity (fill-opacity / stop-opacity) at the
|
|
11
|
+
* call site, never by emitting a second raw color.
|
|
12
|
+
*/
|
|
13
|
+
/** Primary highlight — resolves to the product theme's primary action color. */
|
|
14
|
+
export declare const ACCENT = "var(--color-accent-primary)";
|
|
15
|
+
/** Faint chart chrome (theme-aware). */
|
|
16
|
+
export declare const CHART_GRID = "var(--color-chart-grid)";
|
|
17
|
+
export declare const CHART_AXIS = "var(--color-chart-axis)";
|
|
18
|
+
/** Semantic status hues — saturated and readable in both light and dark. */
|
|
19
|
+
export declare const STATUS: {
|
|
20
|
+
readonly success: "var(--color-status-success-text)";
|
|
21
|
+
readonly warning: "var(--color-status-warning-text)";
|
|
22
|
+
readonly danger: "var(--color-status-error-text)";
|
|
23
|
+
readonly info: "var(--color-status-info-text)";
|
|
24
|
+
};
|
|
25
|
+
export type StatusTone = keyof typeof STATUS;
|
|
26
|
+
/**
|
|
27
|
+
* A tokenized palette of `count` colors, cycling the semantic series list.
|
|
28
|
+
* Returns CSS-variable strings (never raw colors).
|
|
29
|
+
*/
|
|
30
|
+
export declare function chartPalette(count: number): string[];
|
|
31
|
+
//# sourceMappingURL=palette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../../../../src/atheletebridge/components/viz/lib/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,gFAAgF;AAChF,eAAO,MAAM,MAAM,gCAAgC,CAAC;AAEpD,wCAAwC;AACxC,eAAO,MAAM,UAAU,4BAA4B,CAAC;AACpD,eAAO,MAAM,UAAU,4BAA4B,CAAC;AAEpD,4EAA4E;AAC5E,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,MAAM,CAAC;AAqB7C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKpD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
/** A single labelled datum — the common shape across most charts. */
|
|
4
|
+
export interface LabeledValue {
|
|
5
|
+
label: string;
|
|
6
|
+
value: number;
|
|
7
|
+
}
|
|
8
|
+
/** A labelled datum that may carry an explicit tokenized color. */
|
|
9
|
+
export interface Segment extends LabeledValue {
|
|
10
|
+
/** Optional CSS-variable color; otherwise the chart palette assigns one. */
|
|
11
|
+
color?: string;
|
|
12
|
+
}
|
|
13
|
+
/** A person reference used by avatar / org / roster components. */
|
|
14
|
+
export interface Person {
|
|
15
|
+
name: string;
|
|
16
|
+
avatarUrl?: string;
|
|
17
|
+
role?: string;
|
|
18
|
+
}
|
|
19
|
+
/** A column for the KanbanBoard. Cards are pre-rendered nodes supplied by the caller. */
|
|
20
|
+
export interface KanbanColumnData {
|
|
21
|
+
id: string;
|
|
22
|
+
title: string;
|
|
23
|
+
/** Optional tokenized accent for the column header rail. */
|
|
24
|
+
accent?: string;
|
|
25
|
+
items: ReactNode[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/atheletebridge/components/viz/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,OAAQ,SAAQ,YAAY;IAC3C,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mEAAmE;AACnE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC, PropsWithChildren } from 'react';
|
|
2
|
+
import { AthleteBridgeRootProps } from '../types';
|
|
3
|
+
|
|
4
|
+
interface AthleteBridgeContextValue extends Omit<AthleteBridgeRootProps, 'registerNavItems' | 'registerFooterItems' | 'navigate'> {
|
|
5
|
+
isStandalone: boolean;
|
|
6
|
+
/** Shell's navigate function (only available in integrated mode) */
|
|
7
|
+
navigate?: (path: string) => void;
|
|
8
|
+
/** Navigate to a path relative to basePath */
|
|
9
|
+
navigateTo: (relativePath: string) => void;
|
|
10
|
+
/** Get the full path for a relative path */
|
|
11
|
+
getPath: (relativePath: string) => string;
|
|
12
|
+
}
|
|
13
|
+
export declare function useAthleteBridge(): AthleteBridgeContextValue;
|
|
14
|
+
export declare const AthleteBridgeProvider: FC<PropsWithChildren<AthleteBridgeRootProps>>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=AthleteBridgeContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AthleteBridgeContext.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/context/AthleteBridgeContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAOvD,UAAU,yBAA0B,SAAQ,IAAI,CAC9C,sBAAsB,EACtB,kBAAkB,GAAG,qBAAqB,GAAG,UAAU,CACxD;IACC,YAAY,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,8CAA8C;IAC9C,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,4CAA4C;IAC5C,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAQD,wBAAgB,gBAAgB,IAAI,yBAAyB,CAM5D;AAyID,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAuB/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/context/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { useTeams, useTeam, useTeamMembers, useCreateTeam, useUpdateTeam, useArchiveTeam, useAddMember, useRemoveMember, useFixtures, useFixture, useStandings, useScheduleFixture, useRecordFixtureResult, usePrograms, useProgram, useCreateProgram, useUpdateProgram, useTransitionProgram, useArchiveProgram, useAddDrill, useRemoveDrill, useSessions, useSession, useBookSession, useConfirmSession, useCompleteSession, useCancelSession, useWorkoutLogs, usePerformanceMetrics, useLogWorkout, useRecordMetric, useUploadFile, useFile, useUserSearch, directoryUserName, useUsersByIds, useUserDirectory, useRecentActivity, useAthleteProfile, useCoachAnalytics, useHealth, } from './useAthleteBridgeApi';
|
|
2
|
+
export type { TeamFilters, FixtureFilters, ProgramFilters, SessionFilters, WorkoutLogFilters, WorkspaceFileRef, DirectoryUser, ResolvedUser, UserDirectory, ActivityType, ActivityItem, RecentActivityInput, AthleteProfile, SessionStatusCount, RatingByCoach, AnalyticsTrendPoint, CoachAnalytics, CoachAnalyticsOptions, } from './useAthleteBridgeApi';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EAEf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EAEtB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,cAAc,EAEd,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAEhB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EAEf,aAAa,EACb,OAAO,EAEP,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AthleteBridge product-analytics helpers.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the shared event bus so every MFE page can emit intent/fact pairs
|
|
5
|
+
* without importing the bus directly. Event names follow the
|
|
6
|
+
* `<product>.<entity>.<verb>` convention and are forwarded to Rybbit by the
|
|
7
|
+
* app-shell `RybbitSink` once they are allow-listed in fe-libs.
|
|
8
|
+
*/
|
|
9
|
+
export type AthleteBridgeEntity = 'team' | 'member' | 'fixture' | 'program' | 'session' | 'metric' | 'tournament' | 'standing' | 'workout';
|
|
10
|
+
export interface AthleteBridgeAnalyticsPayload {
|
|
11
|
+
workspaceId?: string;
|
|
12
|
+
entityType?: AthleteBridgeEntity;
|
|
13
|
+
entityId?: string;
|
|
14
|
+
athleteId?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AthleteBridgeEventPayload {
|
|
17
|
+
workspaceId?: string;
|
|
18
|
+
entityId?: string;
|
|
19
|
+
athleteId?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function useAthleteBridgeAnalytics(): {
|
|
22
|
+
emitIntent: (entity: AthleteBridgeEntity, action: string, payload?: AthleteBridgeEventPayload) => void;
|
|
23
|
+
emitFact: (entity: AthleteBridgeEntity, action: string, payload?: AthleteBridgeEventPayload) => void;
|
|
24
|
+
emitPageView: (page: string, payload?: AthleteBridgeAnalyticsPayload) => void;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=useAthleteBridgeAnalytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAthleteBridgeAnalytics.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgeAnalytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,yBAAyB;yBAI5B,mBAAmB,UAAU,MAAM,YAAY,yBAAyB;uBAYxE,mBAAmB,UAAU,MAAM,YAAY,yBAAyB;yBAY1E,MAAM,YAAY,6BAA6B;EAezD"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { AthCompleteSessionInput, AthCreateFixtureInput, AthCreateProgramInput, AthCreateTeamInput, AthAddMemberInput, AthAddDrillInput, AthBookSessionInput, AthDrill, AthFixture, AthFixtureConnection, AthFixtureStatus, AthLogWorkoutInput, AthMember, AthMemberStatus, AthPerformanceMetric, AthProgram, AthProgramConnection, AthProgramLevel, AthProgramStatus, AthRecordMetricInput, AthRecordResultInput, AthSession, AthSessionConnection, AthSessionStatus, AthSport, AthStanding, AthTeam, AthTeamConnection, AthTeamStatus, AthUpdateProgramInput, AthUpdateTeamInput, AthWorkoutLog, AthWorkoutLogConnection, PaginationInput } from '../types';
|
|
2
|
+
|
|
3
|
+
export interface TeamFilters {
|
|
4
|
+
sport?: AthSport;
|
|
5
|
+
status?: AthTeamStatus;
|
|
6
|
+
pagination?: PaginationInput;
|
|
7
|
+
}
|
|
8
|
+
export declare const useTeams: (filters?: TeamFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthTeamConnection>, Error>;
|
|
9
|
+
export declare const useTeam: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthTeam | null>, Error>;
|
|
10
|
+
export declare const useTeamMembers: (teamId: string | undefined, status?: AthMemberStatus) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthMember[]>, Error>;
|
|
11
|
+
export declare const useCreateTeam: () => import('@tanstack/react-query').UseMutationResult<AthTeam, Error, AthCreateTeamInput, unknown>;
|
|
12
|
+
export declare const useUpdateTeam: () => import('@tanstack/react-query').UseMutationResult<AthTeam, Error, {
|
|
13
|
+
id: string;
|
|
14
|
+
input: AthUpdateTeamInput;
|
|
15
|
+
}, unknown>;
|
|
16
|
+
export declare const useArchiveTeam: () => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
17
|
+
export declare const useAddMember: () => import('@tanstack/react-query').UseMutationResult<AthMember, Error, AthAddMemberInput, unknown>;
|
|
18
|
+
export declare const useRemoveMember: (teamId?: string) => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
19
|
+
export interface FixtureFilters {
|
|
20
|
+
status?: AthFixtureStatus;
|
|
21
|
+
teamId?: string;
|
|
22
|
+
pagination?: PaginationInput;
|
|
23
|
+
}
|
|
24
|
+
export declare const useFixtures: (filters?: FixtureFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthFixtureConnection>, Error>;
|
|
25
|
+
export declare const useFixture: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthFixture | null>, Error>;
|
|
26
|
+
export declare const useStandings: (competition: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthStanding[]>, Error>;
|
|
27
|
+
export declare const useScheduleFixture: () => import('@tanstack/react-query').UseMutationResult<AthFixture, Error, AthCreateFixtureInput, unknown>;
|
|
28
|
+
export declare const useRecordFixtureResult: () => import('@tanstack/react-query').UseMutationResult<AthFixture, Error, {
|
|
29
|
+
id: string;
|
|
30
|
+
input: AthRecordResultInput;
|
|
31
|
+
}, unknown>;
|
|
32
|
+
export interface ProgramFilters {
|
|
33
|
+
sport?: AthSport;
|
|
34
|
+
level?: AthProgramLevel;
|
|
35
|
+
status?: AthProgramStatus;
|
|
36
|
+
pagination?: PaginationInput;
|
|
37
|
+
}
|
|
38
|
+
export declare const usePrograms: (filters?: ProgramFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthProgramConnection>, Error>;
|
|
39
|
+
export declare const useProgram: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthProgram | null>, Error>;
|
|
40
|
+
export declare const useCreateProgram: () => import('@tanstack/react-query').UseMutationResult<AthProgram, Error, AthCreateProgramInput, unknown>;
|
|
41
|
+
export declare const useUpdateProgram: () => import('@tanstack/react-query').UseMutationResult<AthProgram, Error, {
|
|
42
|
+
id: string;
|
|
43
|
+
input: AthUpdateProgramInput;
|
|
44
|
+
}, unknown>;
|
|
45
|
+
export declare const useTransitionProgram: () => import('@tanstack/react-query').UseMutationResult<AthProgram, Error, {
|
|
46
|
+
id: string;
|
|
47
|
+
status: AthProgramStatus;
|
|
48
|
+
}, unknown>;
|
|
49
|
+
export declare const useArchiveProgram: () => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
50
|
+
export declare const useAddDrill: () => import('@tanstack/react-query').UseMutationResult<AthDrill, Error, AthAddDrillInput, unknown>;
|
|
51
|
+
export declare const useRemoveDrill: (programId?: string) => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
52
|
+
export interface SessionFilters {
|
|
53
|
+
athleteId?: string;
|
|
54
|
+
coachId?: string;
|
|
55
|
+
status?: AthSessionStatus;
|
|
56
|
+
pagination?: PaginationInput;
|
|
57
|
+
}
|
|
58
|
+
export declare const useSessions: (filters?: SessionFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthSessionConnection>, Error>;
|
|
59
|
+
export declare const useSession: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthSession | null>, Error>;
|
|
60
|
+
export declare const useBookSession: () => import('@tanstack/react-query').UseMutationResult<AthSession, Error, AthBookSessionInput, unknown>;
|
|
61
|
+
export declare const useConfirmSession: () => import('@tanstack/react-query').UseMutationResult<AthSession, Error, string, unknown>;
|
|
62
|
+
export declare const useCompleteSession: () => import('@tanstack/react-query').UseMutationResult<AthSession, Error, {
|
|
63
|
+
id: string;
|
|
64
|
+
input?: AthCompleteSessionInput;
|
|
65
|
+
}, unknown>;
|
|
66
|
+
export declare const useCancelSession: () => import('@tanstack/react-query').UseMutationResult<AthSession, Error, string, unknown>;
|
|
67
|
+
export interface WorkoutLogFilters {
|
|
68
|
+
athleteId?: string;
|
|
69
|
+
programId?: string;
|
|
70
|
+
pagination?: PaginationInput;
|
|
71
|
+
}
|
|
72
|
+
export declare const useWorkoutLogs: (filters?: WorkoutLogFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthWorkoutLogConnection>, Error>;
|
|
73
|
+
export declare const usePerformanceMetrics: (athleteId: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthPerformanceMetric[]>, Error>;
|
|
74
|
+
export declare const useLogWorkout: () => import('@tanstack/react-query').UseMutationResult<AthWorkoutLog, Error, AthLogWorkoutInput, unknown>;
|
|
75
|
+
export declare const useRecordMetric: () => import('@tanstack/react-query').UseMutationResult<AthPerformanceMetric, Error, AthRecordMetricInput, unknown>;
|
|
76
|
+
/**
|
|
77
|
+
* Upload a file to wspace-files-svc via the standard three-step flow
|
|
78
|
+
* (initiateUpload → presigned PUT → completeUpload) and resolve the new file id,
|
|
79
|
+
* ready to pass as `AthAddDrillInput.videoFileId`.
|
|
80
|
+
*/
|
|
81
|
+
export declare const useUploadFile: () => (file: File) => Promise<string>;
|
|
82
|
+
export interface WorkspaceFileRef {
|
|
83
|
+
id: string;
|
|
84
|
+
name: string;
|
|
85
|
+
downloadUrl: string | null;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Resolve a wspace-files File (a drill's demo video) by id, on demand. Kept as a
|
|
89
|
+
* separate lazy read so a missing/expired blob can never break the program page.
|
|
90
|
+
*/
|
|
91
|
+
export declare const useFile: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<WorkspaceFileRef | null>, Error>;
|
|
92
|
+
export interface DirectoryUser {
|
|
93
|
+
id: string;
|
|
94
|
+
name: string | null;
|
|
95
|
+
firstName: string | null;
|
|
96
|
+
lastName: string | null;
|
|
97
|
+
email: string;
|
|
98
|
+
username: string;
|
|
99
|
+
}
|
|
100
|
+
/** Best display name for a directory user (name → first+last → username → email). */
|
|
101
|
+
export declare const directoryUserName: (user: DirectoryUser) => string;
|
|
102
|
+
/**
|
|
103
|
+
* Search the tenant user directory by name/email. Enabled once the term is at
|
|
104
|
+
* least two characters; failures are surfaced to the caller (which offers a
|
|
105
|
+
* manual-id fallback) rather than as a global error toast.
|
|
106
|
+
*/
|
|
107
|
+
export declare const useUserSearch: (search: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<DirectoryUser[]>, Error>;
|
|
108
|
+
export interface ResolvedUser {
|
|
109
|
+
id: string;
|
|
110
|
+
name: string;
|
|
111
|
+
email: string | null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Resolve the given user ids to `{ id, name, email }` via the global `user(id)`
|
|
115
|
+
* query (one aliased round-trip). Unknown / forbidden ids are simply absent from
|
|
116
|
+
* the returned map.
|
|
117
|
+
*/
|
|
118
|
+
export declare const useUsersByIds: (ids: ReadonlyArray<string | null | undefined>) => import('@tanstack/react-query').UseQueryResult<NoInfer<Record<string, ResolvedUser>>, Error>;
|
|
119
|
+
export interface UserDirectory {
|
|
120
|
+
byId: Record<string, ResolvedUser>;
|
|
121
|
+
isLoading: boolean;
|
|
122
|
+
isError: boolean;
|
|
123
|
+
/** Resolved display name for an id, or undefined while unknown. */
|
|
124
|
+
nameOf: (id: string | null | undefined) => string | undefined;
|
|
125
|
+
/** Resolved email for an id, or undefined while unknown. */
|
|
126
|
+
emailOf: (id: string | null | undefined) => string | null | undefined;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Convenience wrapper over {@link useUsersByIds} returning name/email lookup
|
|
130
|
+
* helpers, so identity components can resolve ids without touching the query.
|
|
131
|
+
*/
|
|
132
|
+
export declare const useUserDirectory: (ids: ReadonlyArray<string | null | undefined>) => UserDirectory;
|
|
133
|
+
export type ActivityType = 'team-created' | 'member-added' | 'fixture-updated' | 'program-published' | 'session-completed';
|
|
134
|
+
export interface ActivityItem {
|
|
135
|
+
id: string;
|
|
136
|
+
type: ActivityType;
|
|
137
|
+
title: string;
|
|
138
|
+
subtitle?: string;
|
|
139
|
+
/** ISO timestamp the event occurred at. */
|
|
140
|
+
at: string;
|
|
141
|
+
entityId: string;
|
|
142
|
+
entityKind: 'team' | 'fixture' | 'session' | 'program';
|
|
143
|
+
}
|
|
144
|
+
export interface RecentActivityInput {
|
|
145
|
+
teams?: AthTeam[];
|
|
146
|
+
fixtures?: AthFixture[];
|
|
147
|
+
sessions?: AthSession[];
|
|
148
|
+
programs?: AthProgram[];
|
|
149
|
+
/** Max items to return (newest first). Default 8. */
|
|
150
|
+
limit?: number;
|
|
151
|
+
}
|
|
152
|
+
/** Derive a typed, time-ordered activity feed from already-loaded records. */
|
|
153
|
+
export declare const useRecentActivity: ({ teams, fixtures, sessions, programs, limit, }: RecentActivityInput) => ActivityItem[];
|
|
154
|
+
export interface AthleteProfile {
|
|
155
|
+
/** The resolved team member, or null while loading / not found. */
|
|
156
|
+
member: AthMember | null;
|
|
157
|
+
/** The user id used across sessions / metrics / workouts. */
|
|
158
|
+
athleteId: string | undefined;
|
|
159
|
+
metrics: AthPerformanceMetric[];
|
|
160
|
+
workouts: AthWorkoutLog[];
|
|
161
|
+
sessions: AthSession[];
|
|
162
|
+
isLoading: boolean;
|
|
163
|
+
isError: boolean;
|
|
164
|
+
}
|
|
165
|
+
/** Compose a member + their metrics, workout logs and sessions into a profile. */
|
|
166
|
+
export declare const useAthleteProfile: (teamId: string | undefined, memberId: string | undefined) => AthleteProfile;
|
|
167
|
+
export interface SessionStatusCount {
|
|
168
|
+
status: AthSessionStatus;
|
|
169
|
+
count: number;
|
|
170
|
+
}
|
|
171
|
+
export interface RatingByCoach {
|
|
172
|
+
coachId: string;
|
|
173
|
+
avgRating: number;
|
|
174
|
+
count: number;
|
|
175
|
+
}
|
|
176
|
+
export interface AnalyticsTrendPoint {
|
|
177
|
+
label: string;
|
|
178
|
+
value: number;
|
|
179
|
+
}
|
|
180
|
+
export interface CoachAnalytics {
|
|
181
|
+
totalSessions: number;
|
|
182
|
+
ratedCount: number;
|
|
183
|
+
/** Mean of session.rating over rated sessions, or null when none rated. */
|
|
184
|
+
avgRating: number | null;
|
|
185
|
+
completedCount: number;
|
|
186
|
+
completedPct: number;
|
|
187
|
+
sessionsByStatus: SessionStatusCount[];
|
|
188
|
+
ratingByCoach: RatingByCoach[];
|
|
189
|
+
coachIds: string[];
|
|
190
|
+
/** Acute (last 7d) vs chronic (avg weekly over 28d) workout load + ratio. */
|
|
191
|
+
trainingLoad: {
|
|
192
|
+
acute: number;
|
|
193
|
+
chronic: number;
|
|
194
|
+
ratio: number | null;
|
|
195
|
+
};
|
|
196
|
+
/** Weekly total workout load, oldest → newest (from real totalLoad). */
|
|
197
|
+
loadTrend: AnalyticsTrendPoint[];
|
|
198
|
+
/** Weekly session count, oldest → newest. */
|
|
199
|
+
sessionTrend: AnalyticsTrendPoint[];
|
|
200
|
+
/** Standings snapshot for the resolved competition. */
|
|
201
|
+
standings: AthStanding[];
|
|
202
|
+
competition: string | null;
|
|
203
|
+
isLoading: boolean;
|
|
204
|
+
isError: boolean;
|
|
205
|
+
}
|
|
206
|
+
export interface CoachAnalyticsOptions {
|
|
207
|
+
/** Competition for the standings snapshot; else the most-used one in fixtures. */
|
|
208
|
+
competition?: string;
|
|
209
|
+
/** Rows to sample from each list query. Default 200. */
|
|
210
|
+
sampleLimit?: number;
|
|
211
|
+
}
|
|
212
|
+
/** Aggregate real coaching data for the analytics dashboard. */
|
|
213
|
+
export declare const useCoachAnalytics: (options?: CoachAnalyticsOptions) => CoachAnalytics;
|
|
214
|
+
export declare const useHealth: () => import('@tanstack/react-query').UseQueryResult<string, Error>;
|
|
215
|
+
//# sourceMappingURL=useAthleteBridgeApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAthleteBridgeApi.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgeApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AthleteBridge page-view analytics hook.
|
|
3
|
+
*
|
|
4
|
+
* Emits a single `atheletebridge.page.viewed` event when the page mounts (and
|
|
5
|
+
* whenever the page identity changes). Mirrors the pattern used by other
|
|
6
|
+
* product MFEs; the shell-owned event bus forwards this to OtelBrowserSink,
|
|
7
|
+
* BackendAuditSink, and RybbitSink when allow-listed in fe-libs.
|
|
8
|
+
*/
|
|
9
|
+
interface UseAthleteBridgePageViewOptions {
|
|
10
|
+
workspaceId?: string;
|
|
11
|
+
entityType?: 'team' | 'member' | 'fixture' | 'program' | 'session' | 'tournament';
|
|
12
|
+
entityId?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function useAthleteBridgePageView(page: string, options?: UseAthleteBridgePageViewOptions): void;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=useAthleteBridgePageView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAthleteBridgePageView.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgePageView.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,UAAU,+BAA+B;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,+BAA+B,GACxC,IAAI,CAcN"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AthleteBridge Module Exports
|
|
3
|
+
* @module atheletebridge
|
|
4
|
+
*/
|
|
5
|
+
export { AthleteBridgeRoot } from './AthleteBridgeRoot';
|
|
6
|
+
export type { AthleteBridgeRootProps, NavItem, FooterItem, ViewMode, AthTeam, AthMember, AthFixture, AthStanding, AthProgram, AthDrill, AthSession, AthWorkoutLog, AthPerformanceMetric, AthSport, AthTeamStatus, AthMemberRole, AthMemberStatus, AthFixtureStatus, AthFixtureType, AthProgramLevel, AthProgramStatus, AthSessionStatus, AthSessionType, AthWorkoutStatus, AthMetricType, } from './types';
|
|
7
|
+
export { AthleteBridgeProvider, useAthleteBridge } from './context';
|
|
8
|
+
export { useAthleteBridgeStore } from './store';
|
|
9
|
+
export { cn } from './utils/cn';
|
|
10
|
+
export { formatDate, formatDuration } from './utils/formatters';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atheletebridge/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,YAAY,EACV,sBAAsB,EACtB,OAAO,EACP,UAAU,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard / Overview
|
|
3
|
+
* @module atheletebridge/pages
|
|
4
|
+
*
|
|
5
|
+
* The AthleteBridge landing page: a coach command-center that reads live counts
|
|
6
|
+
* and recent items across teams, fixtures, programs and sessions from the real
|
|
7
|
+
* `ath*` API. Elevated to the concept bar: glass teal-stat KPI tiles, a
|
|
8
|
+
* crest-vs-crest upcoming-fixtures rail, and a real (derived) recent-activity
|
|
9
|
+
* timeline — every item mapped to a real record, nothing fabricated.
|
|
10
|
+
*/
|
|
11
|
+
export declare function DashboardPage(): import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=DashboardPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardPage.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/pages/DashboardPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoDH,wBAAgB,aAAa,gCA8Q5B"}
|