@burdenoff/microfe-atheletebridge 2026.706.2 → 2026.710.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-operations.js +59 -0
- package/dist/generated/wspace-operations.js.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/assistantApi.d.ts +70 -0
- package/dist/services/assistantApi.d.ts.map +1 -0
- package/dist/services/assistantApi.js +202 -0
- package/dist/services/assistantApi.js.map +1 -0
- package/dist/services/createSandboxAssistantTransport.d.ts +23 -0
- package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
- package/dist/services/createSandboxAssistantTransport.js +120 -0
- package/dist/services/createSandboxAssistantTransport.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AthleteBridgeRoot.d.ts","sourceRoot":"","sources":["../../src/atheletebridge/AthleteBridgeRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAkBhC,OAAO,KAAK,EAAE,sBAAsB,EAAW,MAAM,SAAS,CAAC;AAY/D,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAgIxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AthleteBridgeRoutes.d.ts","sourceRoot":"","sources":["../../src/atheletebridge/AthleteBridgeRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAuFhD,eAAO,MAAM,mBAAmB,EAAE,EAwMjC,CAAC"}
|
|
@@ -1,112 +1,190 @@
|
|
|
1
1
|
import { useAthleteBridge as e } from "./context/AthleteBridgeContext.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { RouteAnalytics as t } from "./components/RouteAnalytics.js";
|
|
3
|
+
import { DashboardPage as n } from "./pages/DashboardPage.js";
|
|
4
|
+
import { Suspense as r, lazy as i } from "react";
|
|
5
|
+
import { FeatureGate as a } from "@burdenoff/fe-libs/shared/feature-flags";
|
|
6
|
+
import { Loader2 as o } from "lucide-react";
|
|
7
|
+
import { Navigate as s, Route as c, Routes as l, useLocation as u } from "react-router-dom";
|
|
8
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
7
9
|
//#region src/atheletebridge/AthleteBridgeRoutes.tsx
|
|
8
|
-
var
|
|
10
|
+
var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default: e.TeamsListPage }))), m = i(() => import("./pages/teams/TeamDetailPage.js").then((e) => ({ default: e.TeamDetailPage }))), h = i(() => import("./pages/teams/TeamFormPage.js").then((e) => ({ default: e.TeamFormPage }))), g = i(() => import("./pages/fixtures/FixturesListPage.js").then((e) => ({ default: e.FixturesListPage }))), _ = i(() => import("./pages/fixtures/FixtureDetailPage.js").then((e) => ({ default: e.FixtureDetailPage }))), v = i(() => import("./pages/fixtures/FixtureFormPage.js").then((e) => ({ default: e.FixtureFormPage }))), y = i(() => import("./pages/StandingsPage.js").then((e) => ({ default: e.StandingsPage }))), b = i(() => import("./pages/programs/ProgramsListPage.js").then((e) => ({ default: e.ProgramsListPage }))), x = i(() => import("./pages/programs/ProgramDetailPage.js").then((e) => ({ default: e.ProgramDetailPage }))), S = i(() => import("./pages/programs/ProgramFormPage.js").then((e) => ({ default: e.ProgramFormPage }))), C = i(() => import("./pages/sessions/SessionsListPage.js").then((e) => ({ default: e.SessionsListPage }))), w = i(() => import("./pages/sessions/SessionDetailPage.js").then((e) => ({ default: e.SessionDetailPage }))), T = i(() => import("./pages/sessions/SessionFormPage.js").then((e) => ({ default: e.SessionFormPage }))), E = i(() => import("./pages/performance/PerformancePage.js").then((e) => ({ default: e.PerformancePage }))), D = i(() => import("./pages/athletes/AthleteProfilePage.js").then((e) => ({ default: e.AthleteProfilePage }))), O = i(() => import("./pages/analytics/CoachAnalyticsPage.js").then((e) => ({ default: e.CoachAnalyticsPage }))), k = i(() => import("./pages/tournaments/TournamentBracketPage.js").then((e) => ({ default: e.TournamentBracketPage }))), A = () => /* @__PURE__ */ d("div", {
|
|
9
11
|
className: "flex min-h-[400px] items-center justify-center",
|
|
10
|
-
children: /* @__PURE__ */
|
|
11
|
-
}),
|
|
12
|
-
let { basePath:
|
|
13
|
-
return
|
|
12
|
+
children: /* @__PURE__ */ d(o, { className: "h-8 w-8 animate-spin text-text-secondary" })
|
|
13
|
+
}), j = () => {
|
|
14
|
+
let { basePath: i, isStandalone: o } = e(), j = u(), M = i === "/" ? "" : (i ?? "").replace(/\/$/, "");
|
|
15
|
+
return M && !o && !(j.pathname === M || j.pathname.startsWith(M + "/")) ? null : /* @__PURE__ */ d("div", {
|
|
14
16
|
className: "flex min-h-full flex-col",
|
|
15
|
-
children: /* @__PURE__ */
|
|
16
|
-
fallback: /* @__PURE__ */
|
|
17
|
-
children: /* @__PURE__ */
|
|
18
|
-
/* @__PURE__ */
|
|
17
|
+
children: /* @__PURE__ */ f(r, {
|
|
18
|
+
fallback: /* @__PURE__ */ d(A, {}),
|
|
19
|
+
children: [/* @__PURE__ */ d(t, {}), /* @__PURE__ */ f(l, { children: [
|
|
20
|
+
/* @__PURE__ */ d(c, {
|
|
19
21
|
index: !0,
|
|
20
|
-
element: /* @__PURE__ */
|
|
22
|
+
element: /* @__PURE__ */ d(n, {})
|
|
21
23
|
}),
|
|
22
|
-
/* @__PURE__ */
|
|
24
|
+
/* @__PURE__ */ d(c, {
|
|
23
25
|
path: "teams",
|
|
24
|
-
element: /* @__PURE__ */
|
|
26
|
+
element: /* @__PURE__ */ d(a, {
|
|
27
|
+
flag: "atheletebridge.teams.enabled",
|
|
28
|
+
defaultValue: !0,
|
|
29
|
+
children: /* @__PURE__ */ d(p, {})
|
|
30
|
+
})
|
|
25
31
|
}),
|
|
26
|
-
/* @__PURE__ */
|
|
32
|
+
/* @__PURE__ */ d(c, {
|
|
27
33
|
path: "teams/new",
|
|
28
|
-
element: /* @__PURE__ */
|
|
34
|
+
element: /* @__PURE__ */ d(a, {
|
|
35
|
+
flag: "atheletebridge.teams.enabled",
|
|
36
|
+
defaultValue: !0,
|
|
37
|
+
children: /* @__PURE__ */ d(h, {})
|
|
38
|
+
})
|
|
29
39
|
}),
|
|
30
|
-
/* @__PURE__ */
|
|
40
|
+
/* @__PURE__ */ d(c, {
|
|
31
41
|
path: "teams/:id",
|
|
32
|
-
element: /* @__PURE__ */
|
|
42
|
+
element: /* @__PURE__ */ d(a, {
|
|
43
|
+
flag: "atheletebridge.teams.enabled",
|
|
44
|
+
defaultValue: !0,
|
|
45
|
+
children: /* @__PURE__ */ d(m, {})
|
|
46
|
+
})
|
|
33
47
|
}),
|
|
34
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ d(c, {
|
|
35
49
|
path: "teams/:id/edit",
|
|
36
|
-
element: /* @__PURE__ */
|
|
50
|
+
element: /* @__PURE__ */ d(a, {
|
|
51
|
+
flag: "atheletebridge.teams.enabled",
|
|
52
|
+
defaultValue: !0,
|
|
53
|
+
children: /* @__PURE__ */ d(h, {})
|
|
54
|
+
})
|
|
37
55
|
}),
|
|
38
|
-
/* @__PURE__ */
|
|
56
|
+
/* @__PURE__ */ d(c, {
|
|
39
57
|
path: "teams/:teamId/athletes/:memberId",
|
|
40
|
-
element: /* @__PURE__ */
|
|
58
|
+
element: /* @__PURE__ */ d(a, {
|
|
59
|
+
flag: "atheletebridge.teams.enabled",
|
|
60
|
+
defaultValue: !0,
|
|
61
|
+
children: /* @__PURE__ */ d(D, {})
|
|
62
|
+
})
|
|
41
63
|
}),
|
|
42
|
-
/* @__PURE__ */
|
|
64
|
+
/* @__PURE__ */ d(c, {
|
|
43
65
|
path: "fixtures",
|
|
44
|
-
element: /* @__PURE__ */
|
|
66
|
+
element: /* @__PURE__ */ d(a, {
|
|
67
|
+
flag: "atheletebridge.fixtures.enabled",
|
|
68
|
+
defaultValue: !0,
|
|
69
|
+
children: /* @__PURE__ */ d(g, {})
|
|
70
|
+
})
|
|
45
71
|
}),
|
|
46
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ d(c, {
|
|
47
73
|
path: "fixtures/new",
|
|
48
|
-
element: /* @__PURE__ */
|
|
74
|
+
element: /* @__PURE__ */ d(a, {
|
|
75
|
+
flag: "atheletebridge.fixtures.enabled",
|
|
76
|
+
defaultValue: !0,
|
|
77
|
+
children: /* @__PURE__ */ d(v, {})
|
|
78
|
+
})
|
|
49
79
|
}),
|
|
50
|
-
/* @__PURE__ */
|
|
80
|
+
/* @__PURE__ */ d(c, {
|
|
51
81
|
path: "fixtures/:id",
|
|
52
|
-
element: /* @__PURE__ */
|
|
82
|
+
element: /* @__PURE__ */ d(a, {
|
|
83
|
+
flag: "atheletebridge.fixtures.enabled",
|
|
84
|
+
defaultValue: !0,
|
|
85
|
+
children: /* @__PURE__ */ d(_, {})
|
|
86
|
+
})
|
|
53
87
|
}),
|
|
54
|
-
/* @__PURE__ */
|
|
88
|
+
/* @__PURE__ */ d(c, {
|
|
55
89
|
path: "standings",
|
|
56
|
-
element: /* @__PURE__ */
|
|
90
|
+
element: /* @__PURE__ */ d(a, {
|
|
91
|
+
flag: "atheletebridge.standings.enabled",
|
|
92
|
+
defaultValue: !0,
|
|
93
|
+
children: /* @__PURE__ */ d(y, {})
|
|
94
|
+
})
|
|
57
95
|
}),
|
|
58
|
-
/* @__PURE__ */
|
|
96
|
+
/* @__PURE__ */ d(c, {
|
|
59
97
|
path: "programs",
|
|
60
|
-
element: /* @__PURE__ */
|
|
98
|
+
element: /* @__PURE__ */ d(a, {
|
|
99
|
+
flag: "atheletebridge.programs.enabled",
|
|
100
|
+
defaultValue: !0,
|
|
101
|
+
children: /* @__PURE__ */ d(b, {})
|
|
102
|
+
})
|
|
61
103
|
}),
|
|
62
|
-
/* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ d(c, {
|
|
63
105
|
path: "programs/new",
|
|
64
|
-
element: /* @__PURE__ */
|
|
106
|
+
element: /* @__PURE__ */ d(a, {
|
|
107
|
+
flag: "atheletebridge.programs.enabled",
|
|
108
|
+
defaultValue: !0,
|
|
109
|
+
children: /* @__PURE__ */ d(S, {})
|
|
110
|
+
})
|
|
65
111
|
}),
|
|
66
|
-
/* @__PURE__ */
|
|
112
|
+
/* @__PURE__ */ d(c, {
|
|
67
113
|
path: "programs/:id",
|
|
68
|
-
element: /* @__PURE__ */
|
|
114
|
+
element: /* @__PURE__ */ d(a, {
|
|
115
|
+
flag: "atheletebridge.programs.enabled",
|
|
116
|
+
defaultValue: !0,
|
|
117
|
+
children: /* @__PURE__ */ d(x, {})
|
|
118
|
+
})
|
|
69
119
|
}),
|
|
70
|
-
/* @__PURE__ */
|
|
120
|
+
/* @__PURE__ */ d(c, {
|
|
71
121
|
path: "programs/:id/edit",
|
|
72
|
-
element: /* @__PURE__ */
|
|
122
|
+
element: /* @__PURE__ */ d(a, {
|
|
123
|
+
flag: "atheletebridge.programs.enabled",
|
|
124
|
+
defaultValue: !0,
|
|
125
|
+
children: /* @__PURE__ */ d(S, {})
|
|
126
|
+
})
|
|
73
127
|
}),
|
|
74
|
-
/* @__PURE__ */
|
|
128
|
+
/* @__PURE__ */ d(c, {
|
|
75
129
|
path: "sessions",
|
|
76
|
-
element: /* @__PURE__ */
|
|
130
|
+
element: /* @__PURE__ */ d(a, {
|
|
131
|
+
flag: "atheletebridge.sessions.enabled",
|
|
132
|
+
defaultValue: !0,
|
|
133
|
+
children: /* @__PURE__ */ d(C, {})
|
|
134
|
+
})
|
|
77
135
|
}),
|
|
78
|
-
/* @__PURE__ */
|
|
136
|
+
/* @__PURE__ */ d(c, {
|
|
79
137
|
path: "sessions/new",
|
|
80
|
-
element: /* @__PURE__ */
|
|
138
|
+
element: /* @__PURE__ */ d(a, {
|
|
139
|
+
flag: "atheletebridge.sessions.enabled",
|
|
140
|
+
defaultValue: !0,
|
|
141
|
+
children: /* @__PURE__ */ d(T, {})
|
|
142
|
+
})
|
|
81
143
|
}),
|
|
82
|
-
/* @__PURE__ */
|
|
144
|
+
/* @__PURE__ */ d(c, {
|
|
83
145
|
path: "sessions/:id",
|
|
84
|
-
element: /* @__PURE__ */
|
|
146
|
+
element: /* @__PURE__ */ d(a, {
|
|
147
|
+
flag: "atheletebridge.sessions.enabled",
|
|
148
|
+
defaultValue: !0,
|
|
149
|
+
children: /* @__PURE__ */ d(w, {})
|
|
150
|
+
})
|
|
85
151
|
}),
|
|
86
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ d(c, {
|
|
87
153
|
path: "performance",
|
|
88
|
-
element: /* @__PURE__ */
|
|
154
|
+
element: /* @__PURE__ */ d(a, {
|
|
155
|
+
flag: "atheletebridge.performance.enabled",
|
|
156
|
+
defaultValue: !0,
|
|
157
|
+
children: /* @__PURE__ */ d(E, {})
|
|
158
|
+
})
|
|
89
159
|
}),
|
|
90
|
-
/* @__PURE__ */
|
|
160
|
+
/* @__PURE__ */ d(c, {
|
|
91
161
|
path: "analytics",
|
|
92
|
-
element: /* @__PURE__ */
|
|
162
|
+
element: /* @__PURE__ */ d(a, {
|
|
163
|
+
flag: "atheletebridge.analytics.enabled",
|
|
164
|
+
defaultValue: !0,
|
|
165
|
+
children: /* @__PURE__ */ d(O, {})
|
|
166
|
+
})
|
|
93
167
|
}),
|
|
94
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ d(c, {
|
|
95
169
|
path: "tournaments",
|
|
96
|
-
element: /* @__PURE__ */
|
|
170
|
+
element: /* @__PURE__ */ d(a, {
|
|
171
|
+
flag: "atheletebridge.tournaments.enabled",
|
|
172
|
+
defaultValue: !0,
|
|
173
|
+
children: /* @__PURE__ */ d(k, {})
|
|
174
|
+
})
|
|
97
175
|
}),
|
|
98
|
-
/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ d(c, {
|
|
99
177
|
path: "*",
|
|
100
|
-
element: /* @__PURE__ */
|
|
178
|
+
element: /* @__PURE__ */ d(s, {
|
|
101
179
|
to: ".",
|
|
102
180
|
replace: !0
|
|
103
181
|
})
|
|
104
182
|
})
|
|
105
|
-
] })
|
|
183
|
+
] })]
|
|
106
184
|
})
|
|
107
185
|
});
|
|
108
186
|
};
|
|
109
187
|
//#endregion
|
|
110
|
-
export {
|
|
188
|
+
export { j as AthleteBridgeRoutes };
|
|
111
189
|
|
|
112
190
|
//# sourceMappingURL=AthleteBridgeRoutes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AthleteBridgeRoutes.js","names":[],"sources":["../../src/atheletebridge/AthleteBridgeRoutes.tsx"],"sourcesContent":["/**\n * AthleteBridge Routes\n * @module atheletebridge\n *\n * Real sports-domain routes wired to the deployed `wspace-atheletebridge-svc`\n * GraphQL contract. Dashboard is eager; entity pages are lazy.\n */\n\nimport { type FC, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { useAthleteBridge } from './context/AthleteBridgeContext';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Teams\nconst TeamsListPage = lazy(() =>\n import('./pages/teams/TeamsListPage').then((m) => ({ default: m.TeamsListPage }))\n);\nconst TeamDetailPage = lazy(() =>\n import('./pages/teams/TeamDetailPage').then((m) => ({ default: m.TeamDetailPage }))\n);\nconst TeamFormPage = lazy(() =>\n import('./pages/teams/TeamFormPage').then((m) => ({ default: m.TeamFormPage }))\n);\n\n// Fixtures\nconst FixturesListPage = lazy(() =>\n import('./pages/fixtures/FixturesListPage').then((m) => ({ default: m.FixturesListPage }))\n);\nconst FixtureDetailPage = lazy(() =>\n import('./pages/fixtures/FixtureDetailPage').then((m) => ({ default: m.FixtureDetailPage }))\n);\nconst FixtureFormPage = lazy(() =>\n import('./pages/fixtures/FixtureFormPage').then((m) => ({ default: m.FixtureFormPage }))\n);\n\n// Standings\nconst StandingsPage = lazy(() =>\n import('./pages/StandingsPage').then((m) => ({ default: m.StandingsPage }))\n);\n\n// Programs\nconst ProgramsListPage = lazy(() =>\n import('./pages/programs/ProgramsListPage').then((m) => ({ default: m.ProgramsListPage }))\n);\nconst ProgramDetailPage = lazy(() =>\n import('./pages/programs/ProgramDetailPage').then((m) => ({ default: m.ProgramDetailPage }))\n);\nconst ProgramFormPage = lazy(() =>\n import('./pages/programs/ProgramFormPage').then((m) => ({ default: m.ProgramFormPage }))\n);\n\n// Sessions\nconst SessionsListPage = lazy(() =>\n import('./pages/sessions/SessionsListPage').then((m) => ({ default: m.SessionsListPage }))\n);\nconst SessionDetailPage = lazy(() =>\n import('./pages/sessions/SessionDetailPage').then((m) => ({ default: m.SessionDetailPage }))\n);\nconst SessionFormPage = lazy(() =>\n import('./pages/sessions/SessionFormPage').then((m) => ({ default: m.SessionFormPage }))\n);\n\n// Performance\nconst PerformancePage = lazy(() =>\n import('./pages/performance/PerformancePage').then((m) => ({ default: m.PerformancePage }))\n);\n\n// Athlete profile\nconst AthleteProfilePage = lazy(() =>\n import('./pages/athletes/AthleteProfilePage').then((m) => ({ default: m.AthleteProfilePage }))\n);\n\n// Coach analytics\nconst CoachAnalyticsPage = lazy(() =>\n import('./pages/analytics/CoachAnalyticsPage').then((m) => ({ default: m.CoachAnalyticsPage }))\n);\n\n// Tournaments (esports bracket)\nconst TournamentBracketPage = lazy(() =>\n import('./pages/tournaments/TournamentBracketPage').then((m) => ({\n default: m.TournamentBracketPage,\n }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-text-secondary\" />\n </div>\n);\n\nexport const AthleteBridgeRoutes: FC = () => {\n const { basePath, isStandalone } = useAthleteBridge();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render when the path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n {/* Dashboard */}\n <Route index element={<DashboardPage />} />\n\n {/* Teams */}\n <Route path=\"teams\" element={<TeamsListPage />} />\n <Route path=\"teams/new\" element={<TeamFormPage />} />\n <Route path=\"teams/:id\" element={<TeamDetailPage />} />\n <Route path=\"teams/:id/edit\" element={<TeamFormPage />} />\n\n {/* Athlete profile (reached from a team roster) */}\n <Route path=\"teams/:teamId/athletes/:memberId\" element={<AthleteProfilePage />} />\n\n {/* Fixtures */}\n <Route path=\"fixtures\" element={<FixturesListPage />} />\n <Route path=\"fixtures/new\" element={<FixtureFormPage />} />\n <Route path=\"fixtures/:id\" element={<FixtureDetailPage />} />\n\n {/* Standings */}\n <Route path=\"standings\" element={<StandingsPage />} />\n\n {/* Programs */}\n <Route path=\"programs\" element={<ProgramsListPage />} />\n <Route path=\"programs/new\" element={<ProgramFormPage />} />\n <Route path=\"programs/:id\" element={<ProgramDetailPage />} />\n <Route path=\"programs/:id/edit\" element={<ProgramFormPage />} />\n\n {/* Sessions */}\n <Route path=\"sessions\" element={<SessionsListPage />} />\n <Route path=\"sessions/new\" element={<SessionFormPage />} />\n <Route path=\"sessions/:id\" element={<SessionDetailPage />} />\n\n {/* Performance */}\n <Route path=\"performance\" element={<PerformancePage />} />\n\n {/* Analytics */}\n <Route path=\"analytics\" element={<CoachAnalyticsPage />} />\n\n {/* Tournaments (esports bracket) */}\n <Route path=\"tournaments\" element={<TournamentBracketPage />} />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\".\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AthleteBridgeRoutes.js","names":[],"sources":["../../src/atheletebridge/AthleteBridgeRoutes.tsx"],"sourcesContent":["/**\n * AthleteBridge Routes\n * @module atheletebridge\n *\n * Real sports-domain routes wired to the deployed `wspace-atheletebridge-svc`\n * GraphQL contract. Dashboard is eager; entity pages are lazy.\n */\n\nimport { type FC, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useAthleteBridge } from './context/AthleteBridgeContext';\nimport { RouteAnalytics } from './components/RouteAnalytics';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Teams\nconst TeamsListPage = lazy(() =>\n import('./pages/teams/TeamsListPage').then((m) => ({ default: m.TeamsListPage }))\n);\nconst TeamDetailPage = lazy(() =>\n import('./pages/teams/TeamDetailPage').then((m) => ({ default: m.TeamDetailPage }))\n);\nconst TeamFormPage = lazy(() =>\n import('./pages/teams/TeamFormPage').then((m) => ({ default: m.TeamFormPage }))\n);\n\n// Fixtures\nconst FixturesListPage = lazy(() =>\n import('./pages/fixtures/FixturesListPage').then((m) => ({ default: m.FixturesListPage }))\n);\nconst FixtureDetailPage = lazy(() =>\n import('./pages/fixtures/FixtureDetailPage').then((m) => ({ default: m.FixtureDetailPage }))\n);\nconst FixtureFormPage = lazy(() =>\n import('./pages/fixtures/FixtureFormPage').then((m) => ({ default: m.FixtureFormPage }))\n);\n\n// Standings\nconst StandingsPage = lazy(() =>\n import('./pages/StandingsPage').then((m) => ({ default: m.StandingsPage }))\n);\n\n// Programs\nconst ProgramsListPage = lazy(() =>\n import('./pages/programs/ProgramsListPage').then((m) => ({ default: m.ProgramsListPage }))\n);\nconst ProgramDetailPage = lazy(() =>\n import('./pages/programs/ProgramDetailPage').then((m) => ({ default: m.ProgramDetailPage }))\n);\nconst ProgramFormPage = lazy(() =>\n import('./pages/programs/ProgramFormPage').then((m) => ({ default: m.ProgramFormPage }))\n);\n\n// Sessions\nconst SessionsListPage = lazy(() =>\n import('./pages/sessions/SessionsListPage').then((m) => ({ default: m.SessionsListPage }))\n);\nconst SessionDetailPage = lazy(() =>\n import('./pages/sessions/SessionDetailPage').then((m) => ({ default: m.SessionDetailPage }))\n);\nconst SessionFormPage = lazy(() =>\n import('./pages/sessions/SessionFormPage').then((m) => ({ default: m.SessionFormPage }))\n);\n\n// Performance\nconst PerformancePage = lazy(() =>\n import('./pages/performance/PerformancePage').then((m) => ({ default: m.PerformancePage }))\n);\n\n// Athlete profile\nconst AthleteProfilePage = lazy(() =>\n import('./pages/athletes/AthleteProfilePage').then((m) => ({ default: m.AthleteProfilePage }))\n);\n\n// Coach analytics\nconst CoachAnalyticsPage = lazy(() =>\n import('./pages/analytics/CoachAnalyticsPage').then((m) => ({ default: m.CoachAnalyticsPage }))\n);\n\n// Tournaments (esports bracket)\nconst TournamentBracketPage = lazy(() =>\n import('./pages/tournaments/TournamentBracketPage').then((m) => ({\n default: m.TournamentBracketPage,\n }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-text-secondary\" />\n </div>\n);\n\nexport const AthleteBridgeRoutes: FC = () => {\n const { basePath, isStandalone } = useAthleteBridge();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render when the path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <RouteAnalytics />\n <Routes>\n {/* Dashboard */}\n <Route index element={<DashboardPage />} />\n\n {/* Teams */}\n <Route\n path=\"teams\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/new\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamDetailPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/:id/edit\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamFormPage />\n </FeatureGate>\n }\n />\n\n {/* Athlete profile (reached from a team roster) */}\n <Route\n path=\"teams/:teamId/athletes/:memberId\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <AthleteProfilePage />\n </FeatureGate>\n }\n />\n\n {/* Fixtures */}\n <Route\n path=\"fixtures\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixturesListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"fixtures/new\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixtureFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"fixtures/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixtureDetailPage />\n </FeatureGate>\n }\n />\n\n {/* Standings */}\n <Route\n path=\"standings\"\n element={\n <FeatureGate flag=\"atheletebridge.standings.enabled\" defaultValue={true}>\n <StandingsPage />\n </FeatureGate>\n }\n />\n\n {/* Programs */}\n <Route\n path=\"programs\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/new\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramDetailPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/:id/edit\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramFormPage />\n </FeatureGate>\n }\n />\n\n {/* Sessions */}\n <Route\n path=\"sessions\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"sessions/new\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"sessions/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionDetailPage />\n </FeatureGate>\n }\n />\n\n {/* Performance */}\n <Route\n path=\"performance\"\n element={\n <FeatureGate flag=\"atheletebridge.performance.enabled\" defaultValue={true}>\n <PerformancePage />\n </FeatureGate>\n }\n />\n\n {/* Analytics */}\n <Route\n path=\"analytics\"\n element={\n <FeatureGate flag=\"atheletebridge.analytics.enabled\" defaultValue={true}>\n <CoachAnalyticsPage />\n </FeatureGate>\n }\n />\n\n {/* Tournaments (esports bracket) */}\n <Route\n path=\"tournaments\"\n element={\n <FeatureGate flag=\"atheletebridge.tournaments.enabled\" defaultValue={true}>\n <TournamentBracketPage />\n </FeatureGate>\n }\n />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\".\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAmBA,IAAM,IAAgB,QACpB,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAClF,EACK,IAAiB,QACrB,OAAO,mCAAgC,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CACpF,EACK,IAAe,QACnB,OAAO,iCAA8B,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAChF,EAGK,IAAmB,QACvB,OAAO,wCAAqC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAC3F,EACK,IAAoB,QACxB,OAAO,yCAAsC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC7F,EACK,IAAkB,QACtB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CACzF,EAGK,IAAgB,QACpB,OAAO,4BAAyB,MAAM,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAC5E,EAGK,IAAmB,QACvB,OAAO,wCAAqC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAC3F,EACK,IAAoB,QACxB,OAAO,yCAAsC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC7F,EACK,IAAkB,QACtB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CACzF,EAGK,IAAmB,QACvB,OAAO,wCAAqC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAC3F,EACK,IAAoB,QACxB,OAAO,yCAAsC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC7F,EACK,IAAkB,QACtB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CACzF,EAGK,IAAkB,QACtB,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAC5F,EAGK,IAAqB,QACzB,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC/F,EAGK,IAAqB,QACzB,OAAO,2CAAwC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAChG,EAGK,IAAwB,QAC5B,OAAO,gDAA6C,MAAM,OAAO,EAC/D,SAAS,EAAE,uBACZ,EAAE,CACJ,EAEK,UACJ,kBAAC,OAAD;CAAK,WAAU;WACb,kBAAC,GAAD,EAAS,WAAU,4CAA6C,CAAA;CAC5D,CAAA,EAGK,UAAgC;CAC3C,IAAM,EAAE,aAAU,oBAAiB,GAAkB,EAC/C,IAAW,GAAa,EAExB,IAAqB,MAAa,MAAM,MAAM,KAAY,IAAI,QAAQ,OAAO,GAAG;AAYtF,QATI,KAAsB,CAAC,KAIrB,EAFF,EAAS,aAAa,KACtB,EAAS,SAAS,WAAW,IAAqB,IAAI,IAE/C,OAKT,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GAAU,UAAU,kBAAC,GAAD,EAAc,CAAA;aAAlC,CACE,kBAAC,GAAD,EAAkB,CAAA,EAClB,kBAAC,GAAD,EAAA,UAAA;IAEE,kBAAC,GAAD;KAAO,OAAA;KAAM,SAAS,kBAAC,GAAD,EAAiB,CAAA;KAAI,CAAA;IAG3C,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAA+B,cAAc;gBAC7D,kBAAC,GAAD,EAAiB,CAAA;MACL,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAA+B,cAAc;gBAC7D,kBAAC,GAAD,EAAgB,CAAA;MACJ,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAA+B,cAAc;gBAC7D,kBAAC,GAAD,EAAkB,CAAA;MACN,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAA+B,cAAc;gBAC7D,kBAAC,GAAD,EAAgB,CAAA;MACJ,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAA+B,cAAc;gBAC7D,kBAAC,GAAD,EAAsB,CAAA;MACV,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAoB,CAAA;MACR,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAmB,CAAA;MACP,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAqB,CAAA;MACT,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAmC,cAAc;gBACjE,kBAAC,GAAD,EAAiB,CAAA;MACL,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAoB,CAAA;MACR,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAmB,CAAA;MACP,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAqB,CAAA;MACT,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAmB,CAAA;MACP,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAoB,CAAA;MACR,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAmB,CAAA;MACP,CAAA;KAEhB,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAkC,cAAc;gBAChE,kBAAC,GAAD,EAAqB,CAAA;MACT,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAqC,cAAc;gBACnE,kBAAC,GAAD,EAAmB,CAAA;MACP,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAmC,cAAc;gBACjE,kBAAC,GAAD,EAAsB,CAAA;MACV,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KACE,MAAK;KACL,SACE,kBAAC,GAAD;MAAa,MAAK;MAAqC,cAAc;gBACnE,kBAAC,GAAD,EAAyB,CAAA;MACb,CAAA;KAEhB,CAAA;IAGF,kBAAC,GAAD;KAAO,MAAK;KAAI,SAAS,kBAAC,GAAD;MAAU,IAAG;MAAI,SAAA;MAAU,CAAA;KAAI,CAAA;IACjD,EAAA,CAAA,CACA;;EACP,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Athlete picker
|
|
3
|
+
* @module atheletebridge/components
|
|
4
|
+
*
|
|
5
|
+
* Two coupled selects — pick a team, then pick an athlete from that team's live
|
|
6
|
+
* roster (`athListMembers`). Emits the athlete's user id (used everywhere an
|
|
7
|
+
* `athleteId` is required) plus a display name, so a coach never has to paste a
|
|
8
|
+
* raw UUID. Semantic tokens only.
|
|
9
|
+
*/
|
|
10
|
+
export interface AthleteSelectValue {
|
|
11
|
+
athleteId: string;
|
|
12
|
+
displayName: string;
|
|
13
|
+
}
|
|
14
|
+
interface AthleteSelectProps {
|
|
15
|
+
/** Currently selected athlete user id. */
|
|
16
|
+
athleteId: string;
|
|
17
|
+
onSelect: (value: AthleteSelectValue) => void;
|
|
18
|
+
required?: boolean;
|
|
19
|
+
teamLabel?: string;
|
|
20
|
+
athleteLabel?: string;
|
|
21
|
+
/** Prefix for the field ids so multiple instances stay unique/accessible. */
|
|
22
|
+
idPrefix?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function AthleteSelect({ athleteId, onSelect, required, teamLabel, athleteLabel, idPrefix, }: AthleteSelectProps): import("react").JSX.Element;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=AthleteSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AthleteSelect.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/AthleteSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAkB;IAC1B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,QAAgB,EAChB,SAAkB,EAClB,YAAwB,EACxB,QAAoB,GACrB,EAAE,kBAAkB,+BA4EpB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AthSport } from '../types';
|
|
3
|
+
|
|
4
|
+
export interface CrestProps {
|
|
5
|
+
/** Team name — seeds the gradient and provides the monogram initials. */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Sport — renders a faint watermark glyph and (fallback) seeds the gradient. */
|
|
8
|
+
sport?: AthSport;
|
|
9
|
+
/** Pixel size of the crest (width == height of the shield's bounding box). */
|
|
10
|
+
size?: number;
|
|
11
|
+
/** Show the faint sport glyph watermark (default true when `sport` is set). */
|
|
12
|
+
showSportGlyph?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Deterministic gradient monogram crest for a team (honest logo stand-in). */
|
|
16
|
+
export declare const Crest: FC<CrestProps>;
|
|
17
|
+
//# sourceMappingURL=Crest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Crest.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/Crest.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAS,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,+EAA+E;AAC/E,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAgEhC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
|
|
3
|
+
interface CursorPagerProps {
|
|
4
|
+
page: number;
|
|
5
|
+
hasMore: boolean;
|
|
6
|
+
onPrev: () => void;
|
|
7
|
+
onNext: () => void;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const CursorPager: FC<CursorPagerProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=CursorPager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CursorPager.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/CursorPager.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIhC,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA0B5C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drill demo-video reference
|
|
3
|
+
* @module atheletebridge/components
|
|
4
|
+
*
|
|
5
|
+
* A drill's `video` is a reference into wspace-files-svc (blobs live there). We
|
|
6
|
+
* resolve the playable URL lazily and in isolation, so a missing/expired blob
|
|
7
|
+
* degrades to a quiet badge instead of ever breaking the program page.
|
|
8
|
+
*/
|
|
9
|
+
export declare function DrillVideoLink({ fileId }: {
|
|
10
|
+
fileId: string;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=DrillVideoLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrillVideoLink.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/DrillVideoLink.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,+BA8B5D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
interface EmptyStateProps {
|
|
4
|
+
icon?: ReactNode;
|
|
5
|
+
/** On-brand illustration name → /illustrations/<name>.webp (preferred). */
|
|
6
|
+
illustration?: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
action?: ReactNode;
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const EmptyState: FC<EmptyStateProps>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/EmptyState.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3C,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA8B1C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter Select
|
|
3
|
+
* @module atheletebridge/components
|
|
4
|
+
*
|
|
5
|
+
* A small, accessible native-select filter styled with semantic tokens.
|
|
6
|
+
* Generic over the option value type so callers stay strictly typed.
|
|
7
|
+
*/
|
|
8
|
+
export interface FilterOption<T extends string> {
|
|
9
|
+
value: T;
|
|
10
|
+
label: string;
|
|
11
|
+
}
|
|
12
|
+
interface FilterSelectProps<T extends string> {
|
|
13
|
+
value: T | '';
|
|
14
|
+
onChange: (value: T | '') => void;
|
|
15
|
+
options: ReadonlyArray<FilterOption<T>>;
|
|
16
|
+
/** Label shown for the "no filter" option. */
|
|
17
|
+
allLabel: string;
|
|
18
|
+
ariaLabel: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function FilterSelect<T extends string>({ value, onChange, options, allLabel, ariaLabel, className, }: FilterSelectProps<T>): import("react").JSX.Element;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=FilterSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterSelect.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/FilterSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM;IAC5C,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,iBAAiB,CAAC,CAAC,SAAS,MAAM;IAC1C,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,EAC7C,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAoBtB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AthFixture } from '../types';
|
|
3
|
+
|
|
4
|
+
interface FixtureCardProps {
|
|
5
|
+
fixture: AthFixture;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const FixtureCard: FC<FixtureCardProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=FixtureCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixtureCard.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/FixtureCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,gBAAgB;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAE5C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
|
|
3
|
+
interface LoadingStateProps {
|
|
4
|
+
label?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const LoadingState: FC<LoadingStateProps>;
|
|
8
|
+
interface ErrorStateProps {
|
|
9
|
+
title?: string;
|
|
10
|
+
message?: string;
|
|
11
|
+
onRetry?: () => void;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const ErrorState: FC<ErrorStateProps>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=LoadingState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/LoadingState.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIhC,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAS9C,CAAC;AAEF,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAyB1C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { AthFixture } from '../types';
|
|
3
|
+
|
|
4
|
+
export interface MatchupRowProps {
|
|
5
|
+
fixture: AthFixture;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
/**
|
|
8
|
+
* Right-hand rail content. Defaults to date + competition + status. Pass
|
|
9
|
+
* `false` to hide the rail entirely, or a node to override it.
|
|
10
|
+
*/
|
|
11
|
+
rail?: ReactNode | false;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
/** Compact crest-vs-crest fixture row (dashboard / team-detail feeds). */
|
|
15
|
+
export declare const MatchupRow: FC<MatchupRowProps>;
|
|
16
|
+
//# sourceMappingURL=MatchupRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatchupRow.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/MatchupRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAO3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD,0EAA0E;AAC1E,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA4D1C,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type MetricTone = 'default' | 'accent' | 'success';
|
|
4
|
+
interface MetricsCardProps {
|
|
5
|
+
icon: ReactNode;
|
|
6
|
+
value: string | number;
|
|
7
|
+
label: string;
|
|
8
|
+
/** Render as the single featured hero metric (glass treatment + glow). */
|
|
9
|
+
featured?: boolean;
|
|
10
|
+
/** Value color: `default` (primary), `accent` (teal), or `success` (green). */
|
|
11
|
+
tone?: MetricTone;
|
|
12
|
+
/** Signed change; positive is good unless `invertDelta`. Renders a pill. */
|
|
13
|
+
delta?: number;
|
|
14
|
+
/** Unit appended to the delta (default "%"). */
|
|
15
|
+
deltaSuffix?: string;
|
|
16
|
+
/** Context line beside the delta, e.g. "vs last month". */
|
|
17
|
+
deltaLabel?: string;
|
|
18
|
+
/** When true (e.g. injuries), a negative delta is the good outcome. */
|
|
19
|
+
invertDelta?: boolean;
|
|
20
|
+
/** Optional trend rendered as a footer sparkline. */
|
|
21
|
+
sparkline?: number[];
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const MetricsCard: FC<MetricsCardProps>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=MetricsCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsCard.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/MetricsCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAM3C,KAAK,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnD,UAAU,gBAAgB;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA4D5C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
interface PageLayoutProps {
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
description?: string;
|
|
6
|
+
actions?: ReactNode;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Render the living aurora backdrop behind the header. Use on exactly ONE
|
|
11
|
+
* primary page per MFE (the root dashboard).
|
|
12
|
+
*/
|
|
13
|
+
hero?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* When `title` is a string, wrap it in a subtle brand gradient (the ONE
|
|
16
|
+
* hero heading per page). Ignored when `title` is a node.
|
|
17
|
+
*/
|
|
18
|
+
gradientTitle?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const PageLayout: FC<PageLayoutProps>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=PageLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageLayout.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/PageLayout.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3C,UAAU,eAAe;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAmC1C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AthProgram } from '../types';
|
|
3
|
+
|
|
4
|
+
interface ProgramCardProps {
|
|
5
|
+
program: AthProgram;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
/**
|
|
8
|
+
* Drill count for the footer chip. Falls back to `program.drills?.length`
|
|
9
|
+
* when the query selected drills; omit the chip if neither is available.
|
|
10
|
+
*/
|
|
11
|
+
drillCount?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const ProgramCard: FC<ProgramCardProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=ProgramCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgramCard.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/ProgramCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAE5D,UAAU,gBAAgB;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AASD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA6D5C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RouteAnalytics
|
|
3
|
+
*
|
|
4
|
+
* Listens to route changes inside the AthleteBridge microfrontend and emits
|
|
5
|
+
* `atheletebridge.page.viewed` events to the shared event bus. The host shell
|
|
6
|
+
* forwards these to OtelBrowserSink / BackendAuditSink / RybbitSink.
|
|
7
|
+
*/
|
|
8
|
+
export declare function RouteAnalytics(): null;
|
|
9
|
+
//# sourceMappingURL=RouteAnalytics.d.ts.map
|