@burdenoff/microfe-atheletebridge 2026.629.1 → 2026.705.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/atheletebridge/AthleteBridgeRoot.js +45 -37
  2. package/dist/atheletebridge/AthleteBridgeRoot.js.map +1 -1
  3. package/dist/atheletebridge/AthleteBridgeRoutes.js +10 -6
  4. package/dist/atheletebridge/AthleteBridgeRoutes.js.map +1 -1
  5. package/dist/atheletebridge/components/AthleteSelect.js +66 -0
  6. package/dist/atheletebridge/components/AthleteSelect.js.map +1 -0
  7. package/dist/atheletebridge/components/DrillVideoLink.js +28 -0
  8. package/dist/atheletebridge/components/DrillVideoLink.js.map +1 -0
  9. package/dist/atheletebridge/components/MetricsCard.js +20 -46
  10. package/dist/atheletebridge/components/MetricsCard.js.map +1 -1
  11. package/dist/atheletebridge/components/UserSearchSelect.js +129 -0
  12. package/dist/atheletebridge/components/UserSearchSelect.js.map +1 -0
  13. package/dist/atheletebridge/components/domain.js +10 -1
  14. package/dist/atheletebridge/components/domain.js.map +1 -1
  15. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js +313 -180
  16. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js.map +1 -1
  17. package/dist/atheletebridge/pages/DashboardPage.js +77 -69
  18. package/dist/atheletebridge/pages/DashboardPage.js.map +1 -1
  19. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js +4 -4
  20. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js.map +1 -1
  21. package/dist/atheletebridge/pages/performance/PerformancePage.js +496 -0
  22. package/dist/atheletebridge/pages/performance/PerformancePage.js.map +1 -0
  23. package/dist/atheletebridge/pages/programs/ProgramDetailPage.js +176 -142
  24. package/dist/atheletebridge/pages/programs/ProgramDetailPage.js.map +1 -1
  25. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js +86 -85
  26. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js.map +1 -1
  27. package/dist/atheletebridge/pages/sessions/SessionFormPage.js +92 -98
  28. package/dist/atheletebridge/pages/sessions/SessionFormPage.js.map +1 -1
  29. package/dist/atheletebridge/pages/teams/TeamDetailPage.js +132 -137
  30. package/dist/atheletebridge/pages/teams/TeamDetailPage.js.map +1 -1
  31. package/dist/atheletebridge/utils/formatters.js +2 -25
  32. package/dist/atheletebridge/utils/formatters.js.map +1 -1
  33. package/dist/atheletebridge/utils/url.js +17 -0
  34. package/dist/atheletebridge/utils/url.js.map +1 -0
  35. package/dist/index.js +4 -4
  36. package/package.json +5 -5
@@ -40,8 +40,17 @@ var s = {
40
40
  IN_PERSON: "In Person",
41
41
  ONLINE: "Online",
42
42
  HYBRID: "Hybrid"
43
+ }, p = {
44
+ SPEED: "Speed",
45
+ ENDURANCE: "Endurance",
46
+ STRENGTH: "Strength",
47
+ AGILITY: "Agility",
48
+ ACCURACY: "Accuracy",
49
+ WEIGHT: "Weight",
50
+ HEART_RATE: "Heart Rate",
51
+ CUSTOM: "Custom"
43
52
  };
44
53
  //#endregion
45
- export { d as FIXTURE_TYPE_LABELS, u as MEMBER_ROLE_LABELS, l as PROGRAM_LEVEL_LABELS, f as SESSION_TYPE_LABELS, s as SPORT_ICONS, c as SPORT_LABELS };
54
+ export { d as FIXTURE_TYPE_LABELS, u as MEMBER_ROLE_LABELS, p as METRIC_TYPE_LABELS, l as PROGRAM_LEVEL_LABELS, f as SESSION_TYPE_LABELS, s as SPORT_ICONS, c as SPORT_LABELS };
46
55
 
47
56
  //# sourceMappingURL=domain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","names":[],"sources":["../../../src/atheletebridge/components/domain.ts"],"sourcesContent":["/**\n * Domain display helpers\n * @module atheletebridge/components\n *\n * Centralized, type-safe labels and icon mappings for the AthleteBridge\n * enums so list/detail/form pages render them consistently.\n */\n\nimport {\n Activity,\n Dumbbell,\n Trophy,\n Volleyball,\n Waves,\n Gamepad2,\n Footprints,\n type LucideIcon,\n} from 'lucide-react';\nimport type {\n AthFixtureType,\n AthMemberRole,\n AthMetricType,\n AthProgramLevel,\n AthSessionType,\n AthSport,\n} from '../types';\n\nexport const SPORT_ICONS: Record<AthSport, LucideIcon> = {\n ATHLETICS: Footprints,\n BASKETBALL: Volleyball,\n CRICKET: Trophy,\n ESPORTS: Gamepad2,\n FOOTBALL: Volleyball,\n OTHER: Activity,\n SWIMMING: Waves,\n TENNIS: Dumbbell,\n};\n\nexport const SPORT_LABELS: Record<AthSport, string> = {\n ATHLETICS: 'Athletics',\n BASKETBALL: 'Basketball',\n CRICKET: 'Cricket',\n ESPORTS: 'Esports',\n FOOTBALL: 'Football',\n OTHER: 'Other',\n SWIMMING: 'Swimming',\n TENNIS: 'Tennis',\n};\n\nexport const PROGRAM_LEVEL_LABELS: Record<AthProgramLevel, string> = {\n BEGINNER: 'Beginner',\n INTERMEDIATE: 'Intermediate',\n ADVANCED: 'Advanced',\n ELITE: 'Elite',\n};\n\nexport const MEMBER_ROLE_LABELS: Record<AthMemberRole, string> = {\n PLAYER: 'Player',\n CAPTAIN: 'Captain',\n COACH: 'Coach',\n ASSISTANT_COACH: 'Assistant Coach',\n PHYSIO: 'Physio',\n MANAGER: 'Manager',\n};\n\nexport const FIXTURE_TYPE_LABELS: Record<AthFixtureType, string> = {\n FRIENDLY: 'Friendly',\n LEAGUE: 'League',\n CUP: 'Cup',\n TOURNAMENT: 'Tournament',\n SCRIMMAGE: 'Scrimmage',\n};\n\nexport const SESSION_TYPE_LABELS: Record<AthSessionType, string> = {\n IN_PERSON: 'In Person',\n ONLINE: 'Online',\n HYBRID: 'Hybrid',\n};\n\nexport const METRIC_TYPE_LABELS: Record<AthMetricType, string> = {\n SPEED: 'Speed',\n ENDURANCE: 'Endurance',\n STRENGTH: 'Strength',\n AGILITY: 'Agility',\n ACCURACY: 'Accuracy',\n WEIGHT: 'Weight',\n HEART_RATE: 'Heart Rate',\n CUSTOM: 'Custom',\n};\n\nexport const SPORT_OPTIONS = Object.keys(SPORT_LABELS) as AthSport[];\nexport const PROGRAM_LEVEL_OPTIONS = Object.keys(PROGRAM_LEVEL_LABELS) as AthProgramLevel[];\nexport const MEMBER_ROLE_OPTIONS = Object.keys(MEMBER_ROLE_LABELS) as AthMemberRole[];\nexport const FIXTURE_TYPE_OPTIONS = Object.keys(FIXTURE_TYPE_LABELS) as AthFixtureType[];\nexport const SESSION_TYPE_OPTIONS = Object.keys(SESSION_TYPE_LABELS) as AthSessionType[];\n\n/** Humanize an enum value for display (fallback when no explicit label exists). */\nexport function humanizeEnum(value: string): string {\n return value\n .replace(/_/g, ' ')\n .toLowerCase()\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n}\n"],"mappings":";;AA2BA,IAAa,IAA4C;CACvD,WAAW;CACX,YAAY;CACZ,SAAS;CACT,SAAS;CACT,UAAU;CACV,OAAO;CACP,UAAU;CACV,QAAQ;CACT,EAEY,IAAyC;CACpD,WAAW;CACX,YAAY;CACZ,SAAS;CACT,SAAS;CACT,UAAU;CACV,OAAO;CACP,UAAU;CACV,QAAQ;CACT,EAEY,IAAwD;CACnE,UAAU;CACV,cAAc;CACd,UAAU;CACV,OAAO;CACR,EAEY,IAAoD;CAC/D,QAAQ;CACR,SAAS;CACT,OAAO;CACP,iBAAiB;CACjB,QAAQ;CACR,SAAS;CACV,EAEY,IAAsD;CACjE,UAAU;CACV,QAAQ;CACR,KAAK;CACL,YAAY;CACZ,WAAW;CACZ,EAEY,IAAsD;CACjE,WAAW;CACX,QAAQ;CACR,QAAQ;CACT"}
1
+ {"version":3,"file":"domain.js","names":[],"sources":["../../../src/atheletebridge/components/domain.ts"],"sourcesContent":["/**\n * Domain display helpers\n * @module atheletebridge/components\n *\n * Centralized, type-safe labels and icon mappings for the AthleteBridge\n * enums so list/detail/form pages render them consistently.\n */\n\nimport {\n Activity,\n Dumbbell,\n Trophy,\n Volleyball,\n Waves,\n Gamepad2,\n Footprints,\n type LucideIcon,\n} from 'lucide-react';\nimport type {\n AthFixtureType,\n AthMemberRole,\n AthMetricType,\n AthProgramLevel,\n AthSessionType,\n AthSport,\n} from '../types';\n\nexport const SPORT_ICONS: Record<AthSport, LucideIcon> = {\n ATHLETICS: Footprints,\n BASKETBALL: Volleyball,\n CRICKET: Trophy,\n ESPORTS: Gamepad2,\n FOOTBALL: Volleyball,\n OTHER: Activity,\n SWIMMING: Waves,\n TENNIS: Dumbbell,\n};\n\nexport const SPORT_LABELS: Record<AthSport, string> = {\n ATHLETICS: 'Athletics',\n BASKETBALL: 'Basketball',\n CRICKET: 'Cricket',\n ESPORTS: 'Esports',\n FOOTBALL: 'Football',\n OTHER: 'Other',\n SWIMMING: 'Swimming',\n TENNIS: 'Tennis',\n};\n\nexport const PROGRAM_LEVEL_LABELS: Record<AthProgramLevel, string> = {\n BEGINNER: 'Beginner',\n INTERMEDIATE: 'Intermediate',\n ADVANCED: 'Advanced',\n ELITE: 'Elite',\n};\n\nexport const MEMBER_ROLE_LABELS: Record<AthMemberRole, string> = {\n PLAYER: 'Player',\n CAPTAIN: 'Captain',\n COACH: 'Coach',\n ASSISTANT_COACH: 'Assistant Coach',\n PHYSIO: 'Physio',\n MANAGER: 'Manager',\n};\n\nexport const FIXTURE_TYPE_LABELS: Record<AthFixtureType, string> = {\n FRIENDLY: 'Friendly',\n LEAGUE: 'League',\n CUP: 'Cup',\n TOURNAMENT: 'Tournament',\n SCRIMMAGE: 'Scrimmage',\n};\n\nexport const SESSION_TYPE_LABELS: Record<AthSessionType, string> = {\n IN_PERSON: 'In Person',\n ONLINE: 'Online',\n HYBRID: 'Hybrid',\n};\n\nexport const METRIC_TYPE_LABELS: Record<AthMetricType, string> = {\n SPEED: 'Speed',\n ENDURANCE: 'Endurance',\n STRENGTH: 'Strength',\n AGILITY: 'Agility',\n ACCURACY: 'Accuracy',\n WEIGHT: 'Weight',\n HEART_RATE: 'Heart Rate',\n CUSTOM: 'Custom',\n};\n\nexport const SPORT_OPTIONS = Object.keys(SPORT_LABELS) as AthSport[];\nexport const PROGRAM_LEVEL_OPTIONS = Object.keys(PROGRAM_LEVEL_LABELS) as AthProgramLevel[];\nexport const MEMBER_ROLE_OPTIONS = Object.keys(MEMBER_ROLE_LABELS) as AthMemberRole[];\nexport const FIXTURE_TYPE_OPTIONS = Object.keys(FIXTURE_TYPE_LABELS) as AthFixtureType[];\nexport const SESSION_TYPE_OPTIONS = Object.keys(SESSION_TYPE_LABELS) as AthSessionType[];\n\n/** Humanize an enum value for display (fallback when no explicit label exists). */\nexport function humanizeEnum(value: string): string {\n return value\n .replace(/_/g, ' ')\n .toLowerCase()\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n}\n"],"mappings":";;AA2BA,IAAa,IAA4C;CACvD,WAAW;CACX,YAAY;CACZ,SAAS;CACT,SAAS;CACT,UAAU;CACV,OAAO;CACP,UAAU;CACV,QAAQ;CACT,EAEY,IAAyC;CACpD,WAAW;CACX,YAAY;CACZ,SAAS;CACT,SAAS;CACT,UAAU;CACV,OAAO;CACP,UAAU;CACV,QAAQ;CACT,EAEY,IAAwD;CACnE,UAAU;CACV,cAAc;CACd,UAAU;CACV,OAAO;CACR,EAEY,IAAoD;CAC/D,QAAQ;CACR,SAAS;CACT,OAAO;CACP,iBAAiB;CACjB,QAAQ;CACR,SAAS;CACV,EAEY,IAAsD;CACjE,UAAU;CACV,QAAQ;CACR,KAAK;CACL,YAAY;CACZ,WAAW;CACZ,EAEY,IAAsD;CACjE,WAAW;CACX,QAAQ;CACR,QAAQ;CACT,EAEY,IAAoD;CAC/D,OAAO;CACP,WAAW;CACX,UAAU;CACV,SAAS;CACT,UAAU;CACV,QAAQ;CACR,YAAY;CACZ,QAAQ;CACT"}