@maestro_io/maestro-web-sdk 4.0.2 → 5.1.0

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 (596) hide show
  1. package/dist/1.maestro-web-sdk.esm.js +1 -1
  2. package/dist/1.maestro-web-sdk.esm.js.map +1 -1
  3. package/dist/10.maestro-web-sdk.esm.js +1 -1
  4. package/dist/10.maestro-web-sdk.esm.js.map +1 -1
  5. package/dist/11.maestro-web-sdk.esm.js +1 -1
  6. package/dist/11.maestro-web-sdk.esm.js.map +1 -1
  7. package/dist/12.maestro-web-sdk.esm.js +1 -1
  8. package/dist/12.maestro-web-sdk.esm.js.map +1 -1
  9. package/dist/13.maestro-web-sdk.esm.js +1 -1
  10. package/dist/13.maestro-web-sdk.esm.js.map +1 -1
  11. package/dist/14.maestro-web-sdk.esm.js +1 -1
  12. package/dist/14.maestro-web-sdk.esm.js.map +1 -1
  13. package/dist/15.maestro-web-sdk.esm.js +1 -1
  14. package/dist/15.maestro-web-sdk.esm.js.map +1 -1
  15. package/dist/16.maestro-web-sdk.esm.js +1 -1
  16. package/dist/16.maestro-web-sdk.esm.js.map +1 -1
  17. package/dist/17.maestro-web-sdk.esm.js +1 -1
  18. package/dist/17.maestro-web-sdk.esm.js.map +1 -1
  19. package/dist/18.maestro-web-sdk.esm.js +1 -1
  20. package/dist/18.maestro-web-sdk.esm.js.map +1 -1
  21. package/dist/19.maestro-web-sdk.esm.js +1 -1
  22. package/dist/19.maestro-web-sdk.esm.js.map +1 -1
  23. package/dist/2.maestro-web-sdk.esm.js +1 -1
  24. package/dist/2.maestro-web-sdk.esm.js.map +1 -1
  25. package/dist/20.maestro-web-sdk.esm.js +1 -1
  26. package/dist/20.maestro-web-sdk.esm.js.map +1 -1
  27. package/dist/21.maestro-web-sdk.esm.js +1 -1
  28. package/dist/21.maestro-web-sdk.esm.js.map +1 -1
  29. package/dist/22.maestro-web-sdk.esm.js +1 -1
  30. package/dist/22.maestro-web-sdk.esm.js.map +1 -1
  31. package/dist/23.maestro-web-sdk.esm.js +1 -1
  32. package/dist/23.maestro-web-sdk.esm.js.map +1 -1
  33. package/dist/24.maestro-web-sdk.esm.js +1 -1
  34. package/dist/24.maestro-web-sdk.esm.js.map +1 -1
  35. package/dist/25.maestro-web-sdk.esm.js +2 -0
  36. package/dist/25.maestro-web-sdk.esm.js.map +1 -0
  37. package/dist/26.maestro-web-sdk.esm.js +2 -0
  38. package/dist/26.maestro-web-sdk.esm.js.map +1 -0
  39. package/dist/27.maestro-web-sdk.esm.js +2 -0
  40. package/dist/27.maestro-web-sdk.esm.js.map +1 -0
  41. package/dist/28.maestro-web-sdk.esm.js +2 -0
  42. package/dist/28.maestro-web-sdk.esm.js.map +1 -0
  43. package/dist/29.maestro-web-sdk.esm.js +2 -0
  44. package/dist/29.maestro-web-sdk.esm.js.map +1 -0
  45. package/dist/3.maestro-web-sdk.esm.js +1 -1
  46. package/dist/3.maestro-web-sdk.esm.js.map +1 -1
  47. package/dist/30.maestro-web-sdk.esm.js +2 -0
  48. package/dist/30.maestro-web-sdk.esm.js.map +1 -0
  49. package/dist/31.maestro-web-sdk.esm.js +2 -0
  50. package/dist/31.maestro-web-sdk.esm.js.map +1 -0
  51. package/dist/32.maestro-web-sdk.esm.js +2 -0
  52. package/dist/32.maestro-web-sdk.esm.js.map +1 -0
  53. package/dist/33.maestro-web-sdk.esm.js +2 -0
  54. package/dist/33.maestro-web-sdk.esm.js.map +1 -0
  55. package/dist/34.maestro-web-sdk.esm.js +2 -0
  56. package/dist/34.maestro-web-sdk.esm.js.map +1 -0
  57. package/dist/35.maestro-web-sdk.esm.js +2 -0
  58. package/dist/35.maestro-web-sdk.esm.js.map +1 -0
  59. package/dist/36.maestro-web-sdk.esm.js +2 -0
  60. package/dist/36.maestro-web-sdk.esm.js.map +1 -0
  61. package/dist/37.maestro-web-sdk.esm.js +2 -0
  62. package/dist/37.maestro-web-sdk.esm.js.map +1 -0
  63. package/dist/38.maestro-web-sdk.esm.js +2 -0
  64. package/dist/38.maestro-web-sdk.esm.js.map +1 -0
  65. package/dist/4.maestro-web-sdk.esm.js +1 -1
  66. package/dist/4.maestro-web-sdk.esm.js.map +1 -1
  67. package/dist/5.maestro-web-sdk.esm.js +1 -1
  68. package/dist/5.maestro-web-sdk.esm.js.map +1 -1
  69. package/dist/6.maestro-web-sdk.esm.js +1 -1
  70. package/dist/6.maestro-web-sdk.esm.js.map +1 -1
  71. package/dist/7.maestro-web-sdk.esm.js +1 -1
  72. package/dist/7.maestro-web-sdk.esm.js.map +1 -1
  73. package/dist/8.maestro-web-sdk.esm.js +1 -1
  74. package/dist/8.maestro-web-sdk.esm.js.map +1 -1
  75. package/dist/9.maestro-web-sdk.esm.js +1 -1
  76. package/dist/9.maestro-web-sdk.esm.js.map +1 -1
  77. package/dist/index.d.ts +233 -1144
  78. package/dist/maestro-web-sdk.esm.js +3 -32
  79. package/dist/maestro-web-sdk.esm.js.map +1 -1
  80. package/dist/maestro-web-sdk.umd.js +3 -32
  81. package/dist/maestro-web-sdk.umd.js.map +1 -1
  82. package/dist/package.json +7 -5
  83. package/dist/src/components/atoms/Rive/index.d.ts +4 -2
  84. package/dist/src/components/atoms/SvgIcon/BuilderIcon.d.ts +3 -0
  85. package/dist/src/components/atoms/SvgIcon/BuilderIcon.js +8 -0
  86. package/dist/src/components/atoms/SvgIcon/FoxKeyPlaysIcon.d.ts +3 -0
  87. package/dist/src/components/atoms/SvgIcon/FoxKeyPlaysIcon.js +7 -0
  88. package/dist/src/components/atoms/SvgIcon/FoxMultiViewIcon.d.ts +3 -0
  89. package/dist/src/components/atoms/SvgIcon/FoxMultiViewIcon.js +10 -0
  90. package/dist/src/components/atoms/SvgIcon/FoxStatsIcon.d.ts +3 -0
  91. package/dist/src/components/atoms/SvgIcon/FoxStatsIcon.js +7 -0
  92. package/dist/src/components/atoms/SvgIcon/Icon.d.ts +1 -25
  93. package/dist/src/components/atoms/SvgIcon/Icon.js +46 -22
  94. package/dist/src/components/core/PanelManager/PanelManager.js +28 -12
  95. package/dist/src/components/core/ScrollableContainer/FocusableItem.d.ts +7 -2
  96. package/dist/src/components/core/ScrollableContainer/FocusableItem.js +19 -33
  97. package/dist/src/components/core/ScrollableContainer/ScrollableContainer.d.ts +10 -34
  98. package/dist/src/components/core/ScrollableContainer/ScrollableContainer.js +89 -147
  99. package/dist/src/components/core/ScrollableContainer/index.d.ts +4 -0
  100. package/dist/src/components/core/ScrollableContainer/index.js +3 -0
  101. package/dist/src/components/core/ScrollableContainer/useScrollableContainer.d.ts +14 -0
  102. package/dist/src/components/core/ScrollableContainer/useScrollableContainer.js +22 -0
  103. package/dist/src/components/molecules/ActionButton/ActionButton.d.ts +4 -2
  104. package/dist/src/components/molecules/ActionButton/ActionButton.js +6 -1
  105. package/dist/src/components/molecules/HeadshotImage/HeadshotImage.js +1 -1
  106. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.d.ts +4 -2
  107. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.js +1 -1
  108. package/dist/src/components/molecules/TabLoadError/TabLoadError.d.ts +4 -2
  109. package/dist/src/components/organisms/SegmentController/SegmentController.d.ts +1 -19
  110. package/dist/src/components/organisms/SegmentController/SegmentController.js +31 -72
  111. package/dist/src/development/MaestroEventDelegate.js +1 -1
  112. package/dist/src/development/development.js +4 -1
  113. package/dist/src/external/ReactRenderer.js +5 -4
  114. package/dist/src/external/spatial-navigation/spatialNavigation.d.ts +13 -8
  115. package/dist/src/external/spatial-navigation/spatialNavigation.js +73 -5
  116. package/dist/src/external/spatial-navigation/utils.d.ts +2 -0
  117. package/dist/src/external/spatial-navigation/withFocusable.d.ts +10 -2
  118. package/dist/src/external/spatial-navigation/withFocusable.js +12 -3
  119. package/dist/src/hooks/useMaxHeightToBottom.d.ts +11 -0
  120. package/dist/src/hooks/useMaxHeightToBottom.js +48 -0
  121. package/dist/src/index.d.ts +10 -11
  122. package/dist/src/index.js +51 -19
  123. package/dist/src/interfaces/IMaestroEvent.d.ts +1 -19
  124. package/dist/src/interfaces/IMaestroEvent.js +0 -17
  125. package/dist/src/interfaces/IMaestroManager.d.ts +39 -3
  126. package/dist/src/models/IPanel.d.ts +10 -6
  127. package/dist/src/models/IPanel.js +10 -38
  128. package/dist/src/modules/espn/bets/interfaces/IBetsViewModel.d.ts +5 -0
  129. package/dist/src/{services → modules/espn/bets/services}/BetsService.d.ts +3 -3
  130. package/dist/src/{services → modules/espn/bets/services}/BetsService.js +4 -3
  131. package/dist/src/modules/{bets → espn/bets}/view/BetsView.d.ts +4 -2
  132. package/dist/src/modules/{bets → espn/bets}/view/BetsView.js +38 -12
  133. package/dist/src/modules/{bets → espn/bets}/view/HotProps/HotPropsView.d.ts +21 -18
  134. package/dist/src/modules/{bets → espn/bets}/view/HotProps/HotPropsView.js +17 -34
  135. package/dist/src/modules/espn/bets/view/SixPack/SixPackView.d.ts +9 -0
  136. package/dist/src/modules/{bets → espn/bets}/view/SixPack/SixPackView.js +19 -52
  137. package/dist/src/modules/{bets → espn/bets}/view/UserBets/BetsCard/BetsCard.d.ts +22 -19
  138. package/dist/src/modules/{bets → espn/bets}/view/UserBets/BetsCard/BetsCard.js +16 -25
  139. package/dist/src/modules/espn/bets/view/UserBets/BetsCard/BetsCardEvent.d.ts +16 -0
  140. package/dist/src/modules/espn/bets/view/UserBets/BetsCard/BetsCardEvent.js +8 -0
  141. package/dist/src/modules/{bets → espn/bets}/view/UserBets/BetsCard/BetsCardFooter.d.ts +1 -1
  142. package/dist/src/modules/{bets → espn/bets}/view/UserBets/BetsCard/BetsCardFooter.js +1 -1
  143. package/dist/src/modules/{bets → espn/bets}/view/UserBets/Boost/Boost.d.ts +1 -1
  144. package/dist/src/modules/{bets → espn/bets}/view/UserBets/Parlay/Parlay.d.ts +1 -1
  145. package/dist/src/modules/{bets → espn/bets}/view/UserBets/Straight/Straight.d.ts +1 -1
  146. package/dist/src/modules/{bets → espn/bets}/view/UserBets/Teaser/Teaser.d.ts +1 -1
  147. package/dist/src/modules/espn/bets/view/components/Bet/Bet.d.ts +10 -0
  148. package/dist/src/modules/{bets → espn/bets}/view/components/Bet/Bet.js +12 -3
  149. package/dist/src/modules/{bets → espn/bets}/view/components/BetsCard/BetsCard.d.ts +2 -2
  150. package/dist/src/modules/espn/bets/view/components/BetsCard/BetsCard.js +24 -0
  151. package/dist/src/modules/espn/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.d.ts +7 -0
  152. package/dist/src/modules/espn/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.js +31 -0
  153. package/dist/src/modules/espn/bets/view/components/GamblingDisclaimer/index.d.ts +1 -0
  154. package/dist/src/modules/espn/bets/view/components/GamblingDisclaimer/index.js +1 -0
  155. package/dist/src/modules/espn/bets/view/components/PromoCodeBanner/PromoCodeBanner.d.ts +5 -0
  156. package/dist/src/modules/espn/bets/view/components/PromoCodeBanner/PromoCodeBanner.js +45 -0
  157. package/dist/src/modules/{bets → espn/bets}/view-model/BetsViewModel.d.ts +4 -5
  158. package/dist/src/modules/{bets → espn/bets}/view-model/BetsViewModel.js +6 -33
  159. package/dist/src/modules/espn/fantasy/components/LeagueCard/LeagueCard.d.ts +104 -0
  160. package/dist/src/modules/espn/fantasy/components/TopPlayerCard/TopPlayerCard.d.ts +101 -0
  161. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/TournamentOverflowQR.d.ts +103 -0
  162. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/TournamentOverflowQR.js +94 -0
  163. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/index.d.ts +1 -0
  164. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/index.js +1 -0
  165. package/dist/src/{services → modules/espn/fantasy/services}/FantasyService.d.ts +27 -4
  166. package/dist/src/modules/espn/fantasy/services/FantasyService.js +124 -0
  167. package/dist/src/modules/{fantasy → espn/fantasy}/types.d.ts +118 -0
  168. package/dist/src/modules/{fantasy → espn/fantasy}/types.js +3 -0
  169. package/dist/src/modules/espn/fantasy/view/FantasyHeaderView.d.ts +8 -0
  170. package/dist/src/modules/espn/fantasy/view/FantasyHeaderView.js +8 -0
  171. package/dist/src/modules/espn/fantasy/view/FantasyItemView.d.ts +8 -0
  172. package/dist/src/modules/espn/fantasy/view/FantasyItemView.js +48 -0
  173. package/dist/src/modules/{fantasy → espn/fantasy}/view/FantasyView.d.ts +7 -0
  174. package/dist/src/modules/{fantasy → espn/fantasy}/view/FantasyView.js +86 -7
  175. package/dist/src/modules/espn/fantasy/view/InactiveLeague/InactiveLeague.d.ts +100 -0
  176. package/dist/src/modules/espn/fantasy/view/LoginView/LoginView.d.ts +96 -0
  177. package/dist/src/modules/espn/fantasy/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.d.ts +97 -0
  178. package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/MatchupPair.d.ts +18 -16
  179. package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/MatchupSingle.d.ts +18 -16
  180. package/dist/src/modules/espn/fantasy/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.d.ts +97 -0
  181. package/dist/src/modules/{fantasy/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.d.ts → espn/fantasy/view/PromoView/PromoView.d.ts} +30 -25
  182. package/dist/src/modules/{fantasy → espn/fantasy}/view/PromoView/PromoView.js +2 -2
  183. package/dist/src/modules/espn/fantasy/view/TournamentBracketCard/TournamentBracketCard.d.ts +101 -0
  184. package/dist/src/modules/{fantasy → espn/fantasy}/view/TournamentBracketCard/TournamentBracketCard.js +10 -6
  185. package/dist/src/modules/{fantasy → espn/fantasy}/view-model/FantasyViewModel.FantasyPolling.d.ts +1 -1
  186. package/dist/src/modules/{fantasy → espn/fantasy}/view-model/FantasyViewModel.LeagueManagerPolling.d.ts +1 -1
  187. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.TournamentPolling.d.ts +32 -0
  188. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.TournamentPolling.js +140 -0
  189. package/dist/src/modules/{fantasy → espn/fantasy}/view-model/FantasyViewModel.d.ts +22 -3
  190. package/dist/src/modules/{fantasy → espn/fantasy}/view-model/FantasyViewModel.js +310 -46
  191. package/dist/src/modules/espn/key-plays/interfaces/IKeyPlaysViewModel.d.ts +17 -0
  192. package/dist/src/modules/{key-plays → espn/key-plays}/view/KeyPlayCardView.d.ts +2 -14
  193. package/dist/src/modules/{key-plays → espn/key-plays}/view/KeyPlayCardView.js +18 -42
  194. package/dist/src/modules/{key-plays → espn/key-plays}/view/KeyPlayErrorStateView.js +13 -13
  195. package/dist/src/modules/{key-plays → espn/key-plays}/view/KeyPlaysView.d.ts +2 -0
  196. package/dist/src/modules/{key-plays → espn/key-plays}/view/KeyPlaysView.js +33 -5
  197. package/dist/src/modules/{key-plays → espn/key-plays}/view-model/KeyPlaysViewModel.d.ts +1 -1
  198. package/dist/src/modules/{key-plays → espn/key-plays}/view-model/KeyPlaysViewModel.js +2 -3
  199. package/dist/src/{services → modules/espn/shop/services}/ShopService.d.ts +3 -3
  200. package/dist/src/{services → modules/espn/shop/services}/ShopService.js +2 -4
  201. package/dist/src/modules/{shop → espn/shop}/types.d.ts +3 -0
  202. package/dist/src/modules/{shop → espn/shop}/view/ProductDetailView/ProductDetailView.d.ts +1 -0
  203. package/dist/src/modules/{shop → espn/shop}/view/ShopView.d.ts +3 -0
  204. package/dist/src/modules/{shop → espn/shop}/view/ShopView.js +45 -4
  205. package/dist/src/modules/espn/shop/view/components/BrowseCard/BrowseCard.d.ts +103 -0
  206. package/dist/src/modules/{shop → espn/shop}/view/components/BrowseCard/BrowseCard.js +1 -1
  207. package/dist/src/modules/{shop → espn/shop}/view/components/ProductSummaryCard/ProductSummaryCard.d.ts +18 -16
  208. package/dist/src/modules/{shop → espn/shop}/view/components/ShopPromoView/ShopPromoView.js +2 -2
  209. package/dist/src/modules/espn/shop/view/components/ShopSection/ShopSection.d.ts +12 -0
  210. package/dist/src/modules/espn/shop/view/components/ShopSection/ShopSection.js +34 -0
  211. package/dist/src/modules/{shop → espn/shop}/view-model/ShopViewModel.ShopPolling.d.ts +1 -1
  212. package/dist/src/modules/{shop → espn/shop}/view-model/ShopViewModel.d.ts +4 -8
  213. package/dist/src/modules/{shop → espn/shop}/view-model/ShopViewModel.js +5 -39
  214. package/dist/src/modules/{stats/utils/renderTeamStatistic.d.ts → espn/stats/components/TeamStatistic.d.ts} +2 -6
  215. package/dist/src/modules/{stats/utils/renderTeamStatistic.js → espn/stats/components/TeamStatistic.js} +4 -7
  216. package/dist/src/modules/{stats → espn/stats}/interfaces/IStats.d.ts +124 -20
  217. package/dist/src/modules/espn/stats/interfaces/IStats.js +46 -0
  218. package/dist/src/modules/espn/stats/interfaces/IStatsViewModel.d.ts +7 -0
  219. package/dist/src/modules/espn/stats/interfaces/IStatsViewModel.js +1 -0
  220. package/dist/src/{services → modules/espn/stats/services}/StatsService.d.ts +3 -3
  221. package/dist/src/{services → modules/espn/stats/services}/StatsService.js +5 -4
  222. package/dist/src/modules/{stats → espn/stats}/utils/playerStatusUtils.js +1 -0
  223. package/dist/src/modules/espn/stats/view/CareerMatchup/CareerMatchup.d.ts +101 -0
  224. package/dist/src/modules/{stats → espn/stats}/view/CareerMatchup/CareerMatchup.js +6 -6
  225. package/dist/src/modules/espn/stats/view/DriveSummary/DrivePlayCard.d.ts +105 -0
  226. package/dist/src/modules/espn/stats/view/DriveSummary/DrivePlayCard.js +32 -0
  227. package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/DriveSummary.d.ts +2 -9
  228. package/dist/src/modules/espn/stats/view/DriveSummary/DriveSummary.js +40 -0
  229. package/dist/src/modules/espn/stats/view/GameLeaders/GameLeaders.d.ts +9 -0
  230. package/dist/src/modules/espn/stats/view/GameLeaders/GameLeaders.js +22 -0
  231. package/dist/src/modules/{stats → espn/stats}/view/MatchPredictor/DonutChart/DonutChart.js +2 -2
  232. package/dist/src/modules/{fantasy/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.d.ts → espn/stats/view/MatchPredictor/MatchPredictorView.d.ts} +30 -25
  233. package/dist/src/modules/{stats → espn/stats}/view/Penalties/Penalties.js +1 -1
  234. package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/ExpandedPlayerStats.js +11 -8
  235. package/dist/src/modules/{stats/view/ScoringSummary/ScoreItem/ScoreItem.d.ts → espn/stats/view/PlayerSeasonStats/PlayerSeasonStatsCard.d.ts} +6 -5
  236. package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/PlayerSeasonStatsCard.js +2 -2
  237. package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/PlayerSeasonStatsMinified.js +1 -1
  238. package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/PlayerSeasonStatsView.js +1 -1
  239. package/dist/src/modules/{stats/view/components/AthletesStatistics/AthletesStatistics.d.ts → espn/stats/view/RecentGames/RecentGames.d.ts} +29 -42
  240. package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ExpandedScores/ExpandedScores.d.ts +1 -1
  241. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/ExpandedSummary.d.ts +100 -0
  242. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/ExpandedSummary.js +24 -0
  243. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/index.d.ts +2 -0
  244. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/index.js +2 -0
  245. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoreItem/ScoreItem.d.ts +100 -0
  246. package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ScoreItem/ScoreItem.js +1 -1
  247. package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ScoresSection/ScoresSection.d.ts +1 -1
  248. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoringSummary.d.ts +12 -0
  249. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoringSummary.js +167 -0
  250. package/dist/src/modules/espn/stats/view/ScoringSummary/index.d.ts +1 -0
  251. package/dist/src/modules/espn/stats/view/ScoringSummary/index.js +1 -0
  252. package/dist/src/modules/espn/stats/view/StatsItemView.d.ts +8 -0
  253. package/dist/src/modules/espn/stats/view/StatsItemView.js +66 -0
  254. package/dist/src/modules/espn/stats/view/StatsQRCode/StatsQRCodeView.d.ts +100 -0
  255. package/dist/src/modules/{stats → espn/stats}/view/StatsView.d.ts +2 -0
  256. package/dist/src/modules/{stats → espn/stats}/view/StatsView.js +31 -4
  257. package/dist/src/modules/{stats → espn/stats}/view/TeamStats/TeamStatsView.d.ts +29 -26
  258. package/dist/src/modules/espn/stats/view/TeamStats/TeamStatsView.js +77 -0
  259. package/dist/src/modules/espn/stats/view/Teams/Teams.d.ts +100 -0
  260. package/dist/src/modules/{stats → espn/stats}/view/Teams/Teams.js +15 -19
  261. package/dist/src/modules/espn/stats/view/WinProbability/WinProbability.d.ts +100 -0
  262. package/dist/src/modules/{stats → espn/stats}/view/WinProbability/WinProbability.js +1 -1
  263. package/dist/src/modules/espn/stats/view/components/AthletesStatistics/AthletesStatistics.d.ts +115 -0
  264. package/dist/src/modules/{stats → espn/stats}/view/components/AthletesStatistics/AthletesStatistics.js +1 -1
  265. package/dist/src/modules/{stats → espn/stats}/view-model/StatsViewModel.d.ts +101 -20
  266. package/dist/src/modules/{stats → espn/stats}/view-model/StatsViewModel.js +527 -100
  267. package/dist/src/modules/fox/key-plays/view/FoxKeyPlays.d.ts +2 -0
  268. package/dist/src/modules/fox/key-plays/view/FoxKeyPlays.js +5 -0
  269. package/dist/src/modules/fox/multi-view/view/FoxMultiView.d.ts +2 -0
  270. package/dist/src/modules/fox/multi-view/view/FoxMultiView.js +5 -0
  271. package/dist/src/modules/fox/stats/view/FoxStatsView.d.ts +2 -0
  272. package/dist/src/modules/fox/stats/view/FoxStatsView.js +5 -0
  273. package/dist/src/modules/maestro/builder/components/BuilderSection/BuilderSection.d.ts +11 -0
  274. package/dist/src/modules/maestro/builder/components/BuilderSection/BuilderSection.js +52 -0
  275. package/dist/src/modules/maestro/builder/components/BuilderSection/index.d.ts +2 -0
  276. package/dist/src/modules/maestro/builder/components/BuilderSection/index.js +2 -0
  277. package/dist/src/modules/maestro/builder/components/ExpandableCard/ExpandableCard.d.ts +110 -0
  278. package/dist/src/modules/maestro/builder/components/ExpandableCard/ExpandableCard.js +37 -0
  279. package/dist/src/modules/maestro/builder/components/ExpandableCard/index.d.ts +2 -0
  280. package/dist/src/modules/maestro/builder/components/ExpandableCard/index.js +2 -0
  281. package/dist/src/modules/{shop/view/components/BrowseCard/BrowseCard.d.ts → maestro/builder/components/SimpleCard/SimpleCard.d.ts} +32 -29
  282. package/dist/src/modules/maestro/builder/components/SimpleCard/SimpleCard.js +12 -0
  283. package/dist/src/modules/maestro/builder/components/SimpleCard/index.d.ts +2 -0
  284. package/dist/src/modules/maestro/builder/components/SimpleCard/index.js +2 -0
  285. package/dist/src/modules/maestro/builder/index.d.ts +7 -0
  286. package/dist/src/modules/maestro/builder/index.js +7 -0
  287. package/dist/src/modules/maestro/builder/mocks/mockBuilderPanel.d.ts +149 -0
  288. package/dist/src/modules/maestro/builder/mocks/mockBuilderPanel.js +240 -0
  289. package/dist/src/modules/maestro/builder/types.d.ts +52 -0
  290. package/dist/src/modules/maestro/builder/types.js +1 -0
  291. package/dist/src/modules/maestro/builder/view/BuilderPanelView.d.ts +4 -0
  292. package/dist/src/modules/maestro/builder/view/BuilderPanelView.js +52 -0
  293. package/dist/src/modules/maestro/builder/view-model/BuilderPanelViewModel.d.ts +40 -0
  294. package/dist/src/modules/maestro/builder/view-model/BuilderPanelViewModel.js +229 -0
  295. package/dist/src/modules/maestro/builder/view-model/index.d.ts +1 -0
  296. package/dist/src/modules/maestro/builder/view-model/index.js +1 -0
  297. package/dist/src/sentry.d.ts +1 -1
  298. package/dist/src/sentry.js +41 -21
  299. package/dist/src/services/AnalyticsService/AnalyticsService.d.ts +3 -2
  300. package/dist/src/services/AnalyticsService/AnalyticsService.js +3 -1
  301. package/dist/src/services/InsightsService/InsightsPayloadBuilder.d.ts +1 -1
  302. package/dist/src/services/InsightsService/InsightsPayloadBuilder.js +1 -2
  303. package/dist/src/services/InsightsService/InsightsService.js +1 -1
  304. package/dist/src/services/NetworkManager/NetworkManager.d.ts +6 -0
  305. package/dist/src/services/NetworkManager/NetworkManager.js +39 -62
  306. package/dist/src/services/NetworkManager/types.d.ts +0 -96
  307. package/dist/src/services/NetworkManager/types.js +1 -10
  308. package/dist/src/services/StaticService/StaticService.d.ts +10 -2
  309. package/dist/src/services/StaticService/StaticService.js +32 -7
  310. package/dist/src/services/StaticService/mocks.d.ts +1 -0
  311. package/dist/src/services/StaticService/mocks.js +114 -99
  312. package/dist/src/services/StaticService/types.d.ts +3 -1
  313. package/dist/src/services/UserSettingsManager.js +9 -6
  314. package/dist/src/view-models/MaestroEventViewModel.d.ts +47 -16
  315. package/dist/src/view-models/MaestroEventViewModel.js +124 -58
  316. package/dist/src/view-models/PanelManagerViewModel.d.ts +4 -1
  317. package/dist/src/view-models/PanelManagerViewModel.js +41 -58
  318. package/package.json +7 -5
  319. package/dist/1.maestro-web-sdk.umd.js +0 -2
  320. package/dist/1.maestro-web-sdk.umd.js.map +0 -1
  321. package/dist/10.maestro-web-sdk.umd.js +0 -2
  322. package/dist/10.maestro-web-sdk.umd.js.map +0 -1
  323. package/dist/11.maestro-web-sdk.umd.js +0 -2
  324. package/dist/11.maestro-web-sdk.umd.js.map +0 -1
  325. package/dist/12.maestro-web-sdk.umd.js +0 -2
  326. package/dist/12.maestro-web-sdk.umd.js.map +0 -1
  327. package/dist/13.maestro-web-sdk.umd.js +0 -2
  328. package/dist/13.maestro-web-sdk.umd.js.map +0 -1
  329. package/dist/14.maestro-web-sdk.umd.js +0 -2
  330. package/dist/14.maestro-web-sdk.umd.js.map +0 -1
  331. package/dist/15.maestro-web-sdk.umd.js +0 -2
  332. package/dist/15.maestro-web-sdk.umd.js.map +0 -1
  333. package/dist/16.maestro-web-sdk.umd.js +0 -2
  334. package/dist/16.maestro-web-sdk.umd.js.map +0 -1
  335. package/dist/17.maestro-web-sdk.umd.js +0 -2
  336. package/dist/17.maestro-web-sdk.umd.js.map +0 -1
  337. package/dist/18.maestro-web-sdk.umd.js +0 -2
  338. package/dist/18.maestro-web-sdk.umd.js.map +0 -1
  339. package/dist/19.maestro-web-sdk.umd.js +0 -2
  340. package/dist/19.maestro-web-sdk.umd.js.map +0 -1
  341. package/dist/2.maestro-web-sdk.umd.js +0 -2
  342. package/dist/2.maestro-web-sdk.umd.js.map +0 -1
  343. package/dist/20.maestro-web-sdk.umd.js +0 -2
  344. package/dist/20.maestro-web-sdk.umd.js.map +0 -1
  345. package/dist/21.maestro-web-sdk.umd.js +0 -2
  346. package/dist/21.maestro-web-sdk.umd.js.map +0 -1
  347. package/dist/22.maestro-web-sdk.umd.js +0 -2
  348. package/dist/22.maestro-web-sdk.umd.js.map +0 -1
  349. package/dist/23.maestro-web-sdk.umd.js +0 -2
  350. package/dist/23.maestro-web-sdk.umd.js.map +0 -1
  351. package/dist/24.maestro-web-sdk.umd.js +0 -2
  352. package/dist/24.maestro-web-sdk.umd.js.map +0 -1
  353. package/dist/3.maestro-web-sdk.umd.js +0 -2
  354. package/dist/3.maestro-web-sdk.umd.js.map +0 -1
  355. package/dist/4.maestro-web-sdk.umd.js +0 -2
  356. package/dist/4.maestro-web-sdk.umd.js.map +0 -1
  357. package/dist/5.maestro-web-sdk.umd.js +0 -2
  358. package/dist/5.maestro-web-sdk.umd.js.map +0 -1
  359. package/dist/6.maestro-web-sdk.umd.js +0 -2
  360. package/dist/6.maestro-web-sdk.umd.js.map +0 -1
  361. package/dist/7.maestro-web-sdk.umd.js +0 -2
  362. package/dist/7.maestro-web-sdk.umd.js.map +0 -1
  363. package/dist/8.maestro-web-sdk.umd.js +0 -2
  364. package/dist/8.maestro-web-sdk.umd.js.map +0 -1
  365. package/dist/9.maestro-web-sdk.umd.js +0 -2
  366. package/dist/9.maestro-web-sdk.umd.js.map +0 -1
  367. package/dist/bundle-report.html +0 -53
  368. package/dist/src/components/molecules/Overlay/Overlay.d.ts +0 -34
  369. package/dist/src/components/molecules/Overlay/Overlay.js +0 -139
  370. package/dist/src/components/molecules/Overlay/index.d.ts +0 -2
  371. package/dist/src/components/molecules/Overlay/index.js +0 -2
  372. package/dist/src/models/IWinningBet.d.ts +0 -7
  373. package/dist/src/modules/bets/view/SixPack/SixPackView.d.ts +0 -23
  374. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardEvent.d.ts +0 -26
  375. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardEvent.js +0 -34
  376. package/dist/src/modules/bets/view/components/Bet/Bet.d.ts +0 -158
  377. package/dist/src/modules/bets/view/components/BetsCard/BetsCard.js +0 -15
  378. package/dist/src/modules/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.d.ts +0 -8
  379. package/dist/src/modules/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.js +0 -14
  380. package/dist/src/modules/bets/view/components/PromoCodeBanner/PromoCodeBanner.d.ts +0 -18
  381. package/dist/src/modules/bets/view/components/PromoCodeBanner/PromoCodeBanner.js +0 -78
  382. package/dist/src/modules/fantasy/components/LeagueCard/LeagueCard.d.ts +0 -102
  383. package/dist/src/modules/fantasy/components/TopPlayerCard/TopPlayerCard.d.ts +0 -99
  384. package/dist/src/modules/fantasy/view/FantasyItemView.d.ts +0 -22
  385. package/dist/src/modules/fantasy/view/FantasyItemView.js +0 -74
  386. package/dist/src/modules/fantasy/view/InactiveLeague/InactiveLeague.d.ts +0 -98
  387. package/dist/src/modules/fantasy/view/LoginView/LoginView.d.ts +0 -94
  388. package/dist/src/modules/fantasy/view/PromoView/PromoView.d.ts +0 -98
  389. package/dist/src/modules/fantasy/view/TournamentBracketCard/TournamentBracketCard.d.ts +0 -99
  390. package/dist/src/modules/shop/view/components/ShopSection/ShopSection.d.ts +0 -23
  391. package/dist/src/modules/shop/view/components/ShopSection/ShopSection.js +0 -61
  392. package/dist/src/modules/stats/view/CareerMatchup/CareerMatchup.d.ts +0 -100
  393. package/dist/src/modules/stats/view/DriveSummary/DrivePlayCard.d.ts +0 -106
  394. package/dist/src/modules/stats/view/DriveSummary/DrivePlayCard.js +0 -70
  395. package/dist/src/modules/stats/view/DriveSummary/DriveSummary.js +0 -87
  396. package/dist/src/modules/stats/view/GameLeaders/GameLeaders.d.ts +0 -21
  397. package/dist/src/modules/stats/view/GameLeaders/GameLeaders.js +0 -48
  398. package/dist/src/modules/stats/view/MatchPredictor/MatchPredictorView.d.ts +0 -98
  399. package/dist/src/modules/stats/view/PlayerSeasonStats/PlayerSeasonStatsCard.d.ts +0 -97
  400. package/dist/src/modules/stats/view/RecentGames/RecentGames.d.ts +0 -98
  401. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/index.d.ts +0 -2
  402. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/index.js +0 -2
  403. package/dist/src/modules/stats/view/ScoringSummary/ScoringSummary.d.ts +0 -29
  404. package/dist/src/modules/stats/view/ScoringSummary/ScoringSummary.js +0 -125
  405. package/dist/src/modules/stats/view/ScoringSummary/index.d.ts +0 -2
  406. package/dist/src/modules/stats/view/ScoringSummary/index.js +0 -2
  407. package/dist/src/modules/stats/view/StatsItemView.d.ts +0 -22
  408. package/dist/src/modules/stats/view/StatsItemView.js +0 -92
  409. package/dist/src/modules/stats/view/StatsQRCode/StatsQRCodeView.d.ts +0 -98
  410. package/dist/src/modules/stats/view/TeamStats/TeamStatsView.js +0 -43
  411. package/dist/src/modules/stats/view/Teams/Teams.d.ts +0 -98
  412. package/dist/src/modules/stats/view/WinProbability/WinProbability.d.ts +0 -98
  413. package/dist/src/services/FantasyService.js +0 -92
  414. package/dist/src/services/NetworkManager/NetworkManagerFactory.d.ts +0 -42
  415. package/dist/src/services/NetworkManager/NetworkManagerFactory.js +0 -101
  416. package/dist/src/types/OverlayTypes.d.ts +0 -43
  417. package/dist/src/types/OverlayTypes.js +0 -4
  418. package/dist/src/view-models/OverlayViewModel.d.ts +0 -33
  419. package/dist/src/view-models/OverlayViewModel.js +0 -222
  420. /package/dist/src/modules/{bets → espn/bets}/interfaces/IBets.d.ts +0 -0
  421. /package/dist/src/modules/{bets → espn/bets}/interfaces/IBets.js +0 -0
  422. /package/dist/src/{models/IWinningBet.js → modules/espn/bets/interfaces/IBetsViewModel.js} +0 -0
  423. /package/dist/src/modules/{bets → espn/bets}/mocks.d.ts +0 -0
  424. /package/dist/src/modules/{bets → espn/bets}/mocks.js +0 -0
  425. /package/dist/src/modules/{bets → espn/bets}/types/BetsAnalyticsTypes.d.ts +0 -0
  426. /package/dist/src/modules/{bets → espn/bets}/types/BetsAnalyticsTypes.js +0 -0
  427. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/BetResult/BetResult.d.ts +0 -0
  428. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/BetResult/BetResult.js +0 -0
  429. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/Boost/Boost.js +0 -0
  430. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/OutcomeBadge/OutcomeBadge.d.ts +0 -0
  431. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/OutcomeBadge/OutcomeBadge.js +0 -0
  432. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/Parlay/Parlay.js +0 -0
  433. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/Straight/Straight.js +0 -0
  434. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/Teaser/Teaser.js +0 -0
  435. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/UserBetsView.d.ts +0 -0
  436. /package/dist/src/modules/{bets → espn/bets}/view/UserBets/UserBetsView.js +0 -0
  437. /package/dist/src/modules/{bets → espn/bets}/view/components/BetPill/BetPill.d.ts +0 -0
  438. /package/dist/src/modules/{bets → espn/bets}/view/components/BetPill/BetPill.js +0 -0
  439. /package/dist/src/modules/{bets → espn/bets}/view/components/BetsCard/BetsCardHeader.d.ts +0 -0
  440. /package/dist/src/modules/{bets → espn/bets}/view/components/BetsCard/BetsCardHeader.js +0 -0
  441. /package/dist/src/modules/{bets → espn/bets}/view/components/LocationWarning/LocationWarning.d.ts +0 -0
  442. /package/dist/src/modules/{bets → espn/bets}/view/components/LocationWarning/LocationWarning.js +0 -0
  443. /package/dist/src/modules/{bets → espn/bets}/view/components/PromoCodeBanner/index.d.ts +0 -0
  444. /package/dist/src/modules/{bets → espn/bets}/view/components/PromoCodeBanner/index.js +0 -0
  445. /package/dist/src/modules/{fantasy → espn/fantasy}/components/ExpandedAthleteList/ExpandedAthletesList.d.ts +0 -0
  446. /package/dist/src/modules/{fantasy → espn/fantasy}/components/ExpandedAthleteList/ExpandedAthletesList.js +0 -0
  447. /package/dist/src/modules/{fantasy → espn/fantasy}/components/ExpandedAthleteList/index.d.ts +0 -0
  448. /package/dist/src/modules/{fantasy → espn/fantasy}/components/ExpandedAthleteList/index.js +0 -0
  449. /package/dist/src/modules/{fantasy → espn/fantasy}/components/LeagueCard/LeagueCard.js +0 -0
  450. /package/dist/src/modules/{fantasy → espn/fantasy}/components/LeagueCard/index.d.ts +0 -0
  451. /package/dist/src/modules/{fantasy → espn/fantasy}/components/LeagueCard/index.js +0 -0
  452. /package/dist/src/modules/{fantasy → espn/fantasy}/components/TopPlayerCard/TopPlayerCard.js +0 -0
  453. /package/dist/src/modules/{fantasy → espn/fantasy}/components/TopPlayerCard/index.d.ts +0 -0
  454. /package/dist/src/modules/{fantasy → espn/fantasy}/components/TopPlayerCard/index.js +0 -0
  455. /package/dist/src/modules/{fantasy → espn/fantasy}/mocks.d.ts +0 -0
  456. /package/dist/src/modules/{fantasy → espn/fantasy}/mocks.js +0 -0
  457. /package/dist/src/modules/{fantasy → espn/fantasy}/view/ActiveAthletesMarquee/ActiveAthletesMarquee.d.ts +0 -0
  458. /package/dist/src/modules/{fantasy → espn/fantasy}/view/ActiveAthletesMarquee/ActiveAthletesMarquee.js +0 -0
  459. /package/dist/src/modules/{fantasy → espn/fantasy}/view/ActiveAthletesMarquee/index.d.ts +0 -0
  460. /package/dist/src/modules/{fantasy → espn/fantasy}/view/ActiveAthletesMarquee/index.js +0 -0
  461. /package/dist/src/modules/{fantasy → espn/fantasy}/view/InactiveLeague/DraftDateCountdown.d.ts +0 -0
  462. /package/dist/src/modules/{fantasy → espn/fantasy}/view/InactiveLeague/DraftDateCountdown.js +0 -0
  463. /package/dist/src/modules/{fantasy → espn/fantasy}/view/InactiveLeague/InactiveLeague.js +0 -0
  464. /package/dist/src/modules/{fantasy → espn/fantasy}/view/InactiveLeague/index.d.ts +0 -0
  465. /package/dist/src/modules/{fantasy → espn/fantasy}/view/InactiveLeague/index.js +0 -0
  466. /package/dist/src/modules/{fantasy → espn/fantasy}/view/LoginView/LoginView.js +0 -0
  467. /package/dist/src/modules/{fantasy → espn/fantasy}/view/LoginView/index.d.ts +0 -0
  468. /package/dist/src/modules/{fantasy → espn/fantasy}/view/LoginView/index.js +0 -0
  469. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.js +0 -0
  470. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/DoubleAthleteCard/index.d.ts +0 -0
  471. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/DoubleAthleteCard/index.js +0 -0
  472. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/ExpandedDoubleAthleteCards.d.ts +0 -0
  473. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/ExpandedDoubleAthleteCards.js +0 -0
  474. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/MatchupPair.js +0 -0
  475. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/index.d.ts +0 -0
  476. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupPair/index.js +0 -0
  477. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/ExpandedSingleAthleteCards.d.ts +0 -0
  478. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/ExpandedSingleAthleteCards.js +0 -0
  479. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/MatchupSingle.js +0 -0
  480. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.js +0 -0
  481. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/SingleAthleteCard/index.d.ts +0 -0
  482. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/SingleAthleteCard/index.js +0 -0
  483. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/index.d.ts +0 -0
  484. /package/dist/src/modules/{fantasy → espn/fantasy}/view/MatchupSingle/index.js +0 -0
  485. /package/dist/src/modules/{fantasy → espn/fantasy}/view/PromoView/index.d.ts +0 -0
  486. /package/dist/src/modules/{fantasy → espn/fantasy}/view/PromoView/index.js +0 -0
  487. /package/dist/src/modules/{fantasy → espn/fantasy}/view/TournamentBracketCard/index.d.ts +0 -0
  488. /package/dist/src/modules/{fantasy → espn/fantasy}/view/TournamentBracketCard/index.js +0 -0
  489. /package/dist/src/modules/{fantasy → espn/fantasy}/view/index.d.ts +0 -0
  490. /package/dist/src/modules/{fantasy → espn/fantasy}/view/index.js +0 -0
  491. /package/dist/src/modules/{fantasy → espn/fantasy}/view-model/FantasyViewModel.FantasyPolling.js +0 -0
  492. /package/dist/src/modules/{fantasy → espn/fantasy}/view-model/FantasyViewModel.LeagueManagerPolling.js +0 -0
  493. /package/dist/src/modules/{key-plays → espn/key-plays}/constants.d.ts +0 -0
  494. /package/dist/src/modules/{key-plays → espn/key-plays}/constants.js +0 -0
  495. /package/dist/src/modules/{key-plays → espn/key-plays}/interfaces/IKeyPlays.d.ts +0 -0
  496. /package/dist/src/modules/{key-plays → espn/key-plays}/interfaces/IKeyPlays.js +0 -0
  497. /package/dist/src/modules/{key-plays → espn/key-plays}/interfaces/IKeyPlaysResponse.d.ts +0 -0
  498. /package/dist/src/modules/{key-plays → espn/key-plays}/interfaces/IKeyPlaysResponse.js +0 -0
  499. /package/dist/src/modules/{stats/interfaces/IStats.js → espn/key-plays/interfaces/IKeyPlaysViewModel.js} +0 -0
  500. /package/dist/src/modules/{key-plays → espn/key-plays}/view/KeyPlayCardScoreTagView.d.ts +0 -0
  501. /package/dist/src/modules/{key-plays → espn/key-plays}/view/KeyPlayCardScoreTagView.js +0 -0
  502. /package/dist/src/modules/{key-plays → espn/key-plays}/view/KeyPlayErrorStateView.d.ts +0 -0
  503. /package/dist/src/modules/{shop → espn/shop}/mocks.d.ts +0 -0
  504. /package/dist/src/modules/{shop → espn/shop}/mocks.js +0 -0
  505. /package/dist/src/modules/{shop → espn/shop}/types.js +0 -0
  506. /package/dist/src/modules/{shop → espn/shop}/view/ProductDetailView/ProductDetailView.js +0 -0
  507. /package/dist/src/modules/{shop → espn/shop}/view/ProductDetailView/index.d.ts +0 -0
  508. /package/dist/src/modules/{shop → espn/shop}/view/ProductDetailView/index.js +0 -0
  509. /package/dist/src/modules/{shop → espn/shop}/view/components/BrowseCard/index.d.ts +0 -0
  510. /package/dist/src/modules/{shop → espn/shop}/view/components/BrowseCard/index.js +0 -0
  511. /package/dist/src/modules/{shop → espn/shop}/view/components/ProductSummaryCard/ProductSummaryCard.js +0 -0
  512. /package/dist/src/modules/{shop → espn/shop}/view/components/ProductSummaryCard/index.d.ts +0 -0
  513. /package/dist/src/modules/{shop → espn/shop}/view/components/ProductSummaryCard/index.js +0 -0
  514. /package/dist/src/modules/{shop → espn/shop}/view/components/ShopPromoView/ShopPromoView.d.ts +0 -0
  515. /package/dist/src/modules/{shop → espn/shop}/view/components/ShopPromoView/index.d.ts +0 -0
  516. /package/dist/src/modules/{shop → espn/shop}/view/components/ShopPromoView/index.js +0 -0
  517. /package/dist/src/modules/{shop → espn/shop}/view/components/ShopSection/index.d.ts +0 -0
  518. /package/dist/src/modules/{shop → espn/shop}/view/components/ShopSection/index.js +0 -0
  519. /package/dist/src/modules/{shop → espn/shop}/view/index.d.ts +0 -0
  520. /package/dist/src/modules/{shop → espn/shop}/view/index.js +0 -0
  521. /package/dist/src/modules/{shop → espn/shop}/view-model/ShopViewModel.ShopPolling.js +0 -0
  522. /package/dist/src/modules/{stats → espn/stats}/mocks.d.ts +0 -0
  523. /package/dist/src/modules/{stats → espn/stats}/mocks.js +0 -0
  524. /package/dist/src/modules/{stats → espn/stats}/utils/driveSummaryUtils.d.ts +0 -0
  525. /package/dist/src/modules/{stats → espn/stats}/utils/driveSummaryUtils.js +0 -0
  526. /package/dist/src/modules/{stats → espn/stats}/utils/playerStatusUtils.d.ts +0 -0
  527. /package/dist/src/modules/{stats → espn/stats}/utils.d.ts +0 -0
  528. /package/dist/src/modules/{stats → espn/stats}/utils.js +0 -0
  529. /package/dist/src/modules/{stats → espn/stats}/view/ActiveAthletes/ActiveAthletes.d.ts +0 -0
  530. /package/dist/src/modules/{stats → espn/stats}/view/ActiveAthletes/ActiveAthletes.js +0 -0
  531. /package/dist/src/modules/{stats → espn/stats}/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.d.ts +0 -0
  532. /package/dist/src/modules/{stats → espn/stats}/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.js +0 -0
  533. /package/dist/src/modules/{stats → espn/stats}/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.d.ts +0 -0
  534. /package/dist/src/modules/{stats → espn/stats}/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.js +0 -0
  535. /package/dist/src/modules/{stats → espn/stats}/view/ActiveAthletes/index.d.ts +0 -0
  536. /package/dist/src/modules/{stats → espn/stats}/view/ActiveAthletes/index.js +0 -0
  537. /package/dist/src/modules/{stats → espn/stats}/view/CareerMatchup/index.d.ts +0 -0
  538. /package/dist/src/modules/{stats → espn/stats}/view/CareerMatchup/index.js +0 -0
  539. /package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/ExpandedItems/DriveSummaryExpanded.d.ts +0 -0
  540. /package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/ExpandedItems/DriveSummaryExpanded.js +0 -0
  541. /package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/Header/DriveSummaryHeader.d.ts +0 -0
  542. /package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/Header/DriveSummaryHeader.js +0 -0
  543. /package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/MainStat/MainStat.d.ts +0 -0
  544. /package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/MainStat/MainStat.js +0 -0
  545. /package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/index.d.ts +0 -0
  546. /package/dist/src/modules/{stats → espn/stats}/view/DriveSummary/index.js +0 -0
  547. /package/dist/src/modules/{stats → espn/stats}/view/GameLeaders/index.d.ts +0 -0
  548. /package/dist/src/modules/{stats → espn/stats}/view/GameLeaders/index.js +0 -0
  549. /package/dist/src/modules/{stats → espn/stats}/view/MatchPredictor/DonutChart/DonutChart.d.ts +0 -0
  550. /package/dist/src/modules/{stats → espn/stats}/view/MatchPredictor/DonutChart/index.d.ts +0 -0
  551. /package/dist/src/modules/{stats → espn/stats}/view/MatchPredictor/DonutChart/index.js +0 -0
  552. /package/dist/src/modules/{stats → espn/stats}/view/MatchPredictor/MatchPredictorView.js +0 -0
  553. /package/dist/src/modules/{stats → espn/stats}/view/MatchPredictor/index.d.ts +0 -0
  554. /package/dist/src/modules/{stats → espn/stats}/view/MatchPredictor/index.js +0 -0
  555. /package/dist/src/modules/{stats → espn/stats}/view/Penalties/Penalties.d.ts +0 -0
  556. /package/dist/src/modules/{stats → espn/stats}/view/Penalties/index.d.ts +0 -0
  557. /package/dist/src/modules/{stats → espn/stats}/view/Penalties/index.js +0 -0
  558. /package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/ExpandedPlayerStats.d.ts +0 -0
  559. /package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/PlayerSeasonStatsMinified.d.ts +0 -0
  560. /package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/PlayerSeasonStatsView.d.ts +0 -0
  561. /package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/index.d.ts +0 -0
  562. /package/dist/src/modules/{stats → espn/stats}/view/PlayerSeasonStats/index.js +0 -0
  563. /package/dist/src/modules/{stats → espn/stats}/view/RecentGames/RecentGames.js +0 -0
  564. /package/dist/src/modules/{stats → espn/stats}/view/RecentGames/index.d.ts +0 -0
  565. /package/dist/src/modules/{stats → espn/stats}/view/RecentGames/index.js +0 -0
  566. /package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ExpandedScores/ExpandedScores.js +0 -0
  567. /package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ScoreItem/index.d.ts +0 -0
  568. /package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ScoreItem/index.js +0 -0
  569. /package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ScoresSection/ScoresSection.js +0 -0
  570. /package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ScoresSection/index.d.ts +0 -0
  571. /package/dist/src/modules/{stats → espn/stats}/view/ScoringSummary/ScoresSection/index.js +0 -0
  572. /package/dist/src/modules/{stats → espn/stats}/view/StatsQRCode/StatsQRCodeView.js +0 -0
  573. /package/dist/src/modules/{stats → espn/stats}/view/StatsQRCode/index.d.ts +0 -0
  574. /package/dist/src/modules/{stats → espn/stats}/view/StatsQRCode/index.js +0 -0
  575. /package/dist/src/modules/{stats → espn/stats}/view/TeamStats/index.d.ts +0 -0
  576. /package/dist/src/modules/{stats → espn/stats}/view/TeamStats/index.js +0 -0
  577. /package/dist/src/modules/{stats → espn/stats}/view/Teams/StatsCarousel.d.ts +0 -0
  578. /package/dist/src/modules/{stats → espn/stats}/view/Teams/StatsCarousel.js +0 -0
  579. /package/dist/src/modules/{stats → espn/stats}/view/Teams/StatsProgressBar.d.ts +0 -0
  580. /package/dist/src/modules/{stats → espn/stats}/view/Teams/StatsProgressBar.js +0 -0
  581. /package/dist/src/modules/{stats → espn/stats}/view/Teams/index.d.ts +0 -0
  582. /package/dist/src/modules/{stats → espn/stats}/view/Teams/index.js +0 -0
  583. /package/dist/src/modules/{stats → espn/stats}/view/WinProbability/index.d.ts +0 -0
  584. /package/dist/src/modules/{stats → espn/stats}/view/WinProbability/index.js +0 -0
  585. /package/dist/src/modules/{stats → espn/stats}/view/components/AthletesStatistics/StatisticTable.d.ts +0 -0
  586. /package/dist/src/modules/{stats → espn/stats}/view/components/AthletesStatistics/StatisticTable.js +0 -0
  587. /package/dist/src/modules/{stats → espn/stats}/view/components/AthletesStatistics/index.d.ts +0 -0
  588. /package/dist/src/modules/{stats → espn/stats}/view/components/AthletesStatistics/index.js +0 -0
  589. /package/dist/src/modules/{stats → espn/stats}/view/index.d.ts +0 -0
  590. /package/dist/src/modules/{stats → espn/stats}/view/index.js +0 -0
  591. /package/dist/src/modules/{hello-world → maestro/hello-world}/HelloWorldImage.d.ts +0 -0
  592. /package/dist/src/modules/{hello-world → maestro/hello-world}/HelloWorldImage.js +0 -0
  593. /package/dist/src/modules/{hello-world → maestro/hello-world}/HelloWorldView.d.ts +0 -0
  594. /package/dist/src/modules/{hello-world → maestro/hello-world}/HelloWorldView.js +0 -0
  595. /package/dist/src/modules/{hello-world → maestro/hello-world}/index.d.ts +0 -0
  596. /package/dist/src/modules/{hello-world → maestro/hello-world}/index.js +0 -0
@@ -11,6 +11,7 @@ interface FocusableComponent {
11
11
  parentFocusKey: string | null;
12
12
  onEnterPressHandler?: (details: Details) => void;
13
13
  onBackPressHandler?: (details: Details) => void;
14
+ onClickPressHandler?: (details: Details) => void;
14
15
  onEnterReleaseHandler?: () => void;
15
16
  onArrowPressHandler?: (direction: Direction, details: Details) => boolean | void;
16
17
  onBecameFocusedHandler?: (layout: Layout, details: any) => void;
@@ -47,6 +48,7 @@ interface AddFocusableOptions {
47
48
  node: HTMLElement;
48
49
  parentFocusKey: string | null;
49
50
  onEnterPressHandler?: (details: Details) => void;
51
+ onClickPressHandler?: (details: Details) => void;
50
52
  onEnterReleaseHandler?: () => void;
51
53
  onBackPressHandler?: (details: Details) => void;
52
54
  onArrowPressHandler?: (direction: Direction, details: Details) => boolean | void;
@@ -78,6 +80,7 @@ declare class SpatialNavigation {
78
80
  private pressedKeys;
79
81
  paused: boolean;
80
82
  private keyDownEventListener;
83
+ private clickEventListener;
81
84
  private keyUpEventListener;
82
85
  private keyMap;
83
86
  private debug;
@@ -111,23 +114,25 @@ declare class SpatialNavigation {
111
114
  getEventType(keyCode: number): KeyType | undefined;
112
115
  bindEventHandlers(): void;
113
116
  unbindEventHandlers(): void;
117
+ findFocusKeyForElement(element: HTMLElement): string | null;
118
+ onClickPress(details: Details): void;
114
119
  onEnterPress(details: Details): void;
115
120
  onBackPress(details: Details): void;
116
121
  onEnterRelease(): void;
117
122
  onArrowPress(direction: Direction, details: Details): boolean | void;
118
- navigateByDirection(direction: Direction, details?: Record<string, any>): void;
123
+ navigateByDirection(direction: Direction, details?: Details): void;
119
124
  onKeyEvent(event: KeyboardEvent): void;
120
- smartNavigate(direction: Direction, fromParentFocusKey: string | null, details: Record<string, any>): void;
125
+ smartNavigate(direction: Direction, fromParentFocusKey: string | null, details: Details): void;
121
126
  saveLastFocusedChildKey(component: FocusableComponent | undefined, focusKey: string): void;
122
127
  log(functionName: string, debugString: string, ...rest: any[]): void;
123
128
  getNextFocusKey(targetFocusKey: string): string;
124
- addFocusable({ focusKey, node, parentFocusKey, onEnterPressHandler, onEnterReleaseHandler, onBackPressHandler, onArrowPressHandler, onBecameFocusedHandler, onBecameBlurredHandler, forgetLastFocusedChild, trackChildren, onUpdateFocus, onUpdateHasFocusedChild, preferredChildFocusKey, autoRestoreFocus, focusable, blockNavigationOut, }: AddFocusableOptions): void;
129
+ addFocusable({ focusKey, node, parentFocusKey, onEnterPressHandler, onEnterReleaseHandler, onBackPressHandler, onArrowPressHandler, onBecameFocusedHandler, onBecameBlurredHandler, forgetLastFocusedChild, trackChildren, onUpdateFocus, onUpdateHasFocusedChild, preferredChildFocusKey, onClickPressHandler, autoRestoreFocus, focusable, blockNavigationOut, }: AddFocusableOptions): void;
125
130
  removeFocusable({ focusKey }: {
126
131
  focusKey: string;
127
132
  }): void;
128
133
  getNodeLayoutByFocusKey(focusKey: string): Layout | null;
129
- setCurrentFocusedKey(newFocusKey: string, details: Record<string, any>): void;
130
- updateParentsHasFocusedChild(focusKey: string, details: Record<string, any>): void;
134
+ setCurrentFocusedKey(newFocusKey: string, details?: Details): void;
135
+ updateParentsHasFocusedChild(focusKey: string, details: Details): void;
131
136
  updateParentsLastFocusedChild(focusKey: string): void;
132
137
  getKeyMap(): KeyMap;
133
138
  setKeyMap(keyMap: KeyMap): void;
@@ -137,11 +142,11 @@ declare class SpatialNavigation {
137
142
  * 'focusable' focusableComponent). Seems less confusing than calling it isFocusableFocusableComponent()
138
143
  */
139
144
  isParticipatingFocusableComponent(focusKey: string): boolean;
140
- onIntermediateNodeBecameFocused(focusKey: string, details: Record<string, any>): void;
141
- onIntermediateNodeBecameBlurred(focusKey: string, details: Record<string, any>): void;
145
+ onIntermediateNodeBecameFocused(focusKey: string, details: Details): void;
146
+ onIntermediateNodeBecameBlurred(focusKey: string, details: Details): void;
142
147
  pause(): void;
143
148
  resume(): void;
144
- setFocus(targetFocusKey: string, details?: Record<string, any>): void;
149
+ setFocus(targetFocusKey: string, details?: Details): void;
145
150
  updateAllLayouts(): void;
146
151
  updateLayout(focusKey: string): void;
147
152
  updateFocusable(focusKey: string, { node, preferredChildFocusKey, focusable, blockNavigationOut, }: UpdateFocusableOptions): void;
@@ -290,6 +290,12 @@ class SpatialNavigation {
290
290
  writable: true,
291
291
  value: void 0
292
292
  });
293
+ Object.defineProperty(this, "clickEventListener", {
294
+ enumerable: true,
295
+ configurable: true,
296
+ writable: true,
297
+ value: void 0
298
+ });
293
299
  Object.defineProperty(this, "keyUpEventListener", {
294
300
  enumerable: true,
295
301
  configurable: true,
@@ -329,6 +335,7 @@ class SpatialNavigation {
329
335
  this.pressedKeys = {};
330
336
  this.paused = true;
331
337
  this.keyDownEventListener = null;
338
+ this.clickEventListener = null;
332
339
  this.keyUpEventListener = null;
333
340
  this.keyMap = DEFAULT_KEY_MAP;
334
341
  this.debug = false;
@@ -434,20 +441,75 @@ class SpatialNavigation {
434
441
  this.onEnterRelease();
435
442
  }
436
443
  };
444
+ // Click handler for mouse/touch support
445
+ this.clickEventListener = (event) => {
446
+ if (this.paused === true) {
447
+ return;
448
+ }
449
+ const target = event.target;
450
+ if (!target) {
451
+ return;
452
+ }
453
+ // Find the focusable component that contains the clicked element
454
+ const focusKey = this.findFocusKeyForElement(target);
455
+ if (!focusKey) {
456
+ return;
457
+ }
458
+ const details = {
459
+ pressedKeys: {},
460
+ event,
461
+ mouseClick: true,
462
+ };
463
+ const layout = this.getNodeLayoutByFocusKey(focusKey);
464
+ if (layout) {
465
+ details.layout = layout;
466
+ }
467
+ const isAlreadyFocused = this.focusKey === focusKey;
468
+ if (!isAlreadyFocused) {
469
+ this.setFocus(focusKey, details);
470
+ }
471
+ this.onClickPress(details);
472
+ };
437
473
  window.addEventListener('keyup', this.keyUpEventListener);
438
474
  window.addEventListener('keydown', this.keyDownEventListener);
475
+ window.addEventListener('click', this.clickEventListener);
439
476
  }
440
477
  }
441
478
  unbindEventHandlers() {
442
479
  if (typeof window !== 'undefined' && window.removeEventListener) {
443
480
  window.removeEventListener('keydown', this.keyDownEventListener);
481
+ window.removeEventListener('click', this.clickEventListener);
444
482
  this.keyDownEventListener = null;
483
+ this.clickEventListener = null;
445
484
  if (this.throttle) {
446
485
  window.removeEventListener('keyup', this.keyUpEventListener);
447
486
  this.keyUpEventListener = null;
448
487
  }
449
488
  }
450
489
  }
490
+ findFocusKeyForElement(element) {
491
+ for (const focusKey of Object.keys(this.focusableComponents)) {
492
+ const component = this.focusableComponents[focusKey];
493
+ if (component && component.node && component.focusable) {
494
+ if (component.node === element || component.node.contains(element)) {
495
+ return focusKey;
496
+ }
497
+ }
498
+ }
499
+ return null;
500
+ }
501
+ onClickPress(details) {
502
+ const component = this.focusableComponents[this.focusKey];
503
+ if (!component) {
504
+ this.log('onClickPress', 'noComponent');
505
+ return;
506
+ }
507
+ if (!component.focusable) {
508
+ this.log('onClickPress', 'componentNotFocusable');
509
+ return;
510
+ }
511
+ component.onClickPressHandler?.(details);
512
+ }
451
513
  onEnterPress(details) {
452
514
  const component = this.focusableComponents[this.focusKey];
453
515
  if (!component) {
@@ -492,7 +554,7 @@ class SpatialNavigation {
492
554
  }
493
555
  return component.onArrowPressHandler?.(direction, details);
494
556
  }
495
- navigateByDirection(direction, details = {}) {
557
+ navigateByDirection(direction, details = { pressedKeys: {} }) {
496
558
  if (this.paused === true) {
497
559
  return;
498
560
  }
@@ -514,7 +576,10 @@ class SpatialNavigation {
514
576
  this.visualDebugger?.clear();
515
577
  const direction = Object.keys(this.getKeyMap()).find((key) => this.getKeyMap()[key].includes(event.keyCode));
516
578
  if (direction) {
517
- this.smartNavigate(direction, null, { event });
579
+ this.smartNavigate(direction, null, {
580
+ pressedKeys: {},
581
+ event,
582
+ });
518
583
  }
519
584
  }
520
585
  smartNavigate(direction, fromParentFocusKey, details) {
@@ -620,11 +685,12 @@ class SpatialNavigation {
620
685
  this.log('getNextFocusKey', 'childKey will be focused', childKey);
621
686
  return this.getNextFocusKey(childKey);
622
687
  }
623
- addFocusable({ focusKey, node, parentFocusKey, onEnterPressHandler, onEnterReleaseHandler, onBackPressHandler, onArrowPressHandler, onBecameFocusedHandler, onBecameBlurredHandler, forgetLastFocusedChild, trackChildren, onUpdateFocus, onUpdateHasFocusedChild, preferredChildFocusKey, autoRestoreFocus, focusable = true, blockNavigationOut, }) {
688
+ addFocusable({ focusKey, node, parentFocusKey, onEnterPressHandler, onEnterReleaseHandler, onBackPressHandler, onArrowPressHandler, onBecameFocusedHandler, onBecameBlurredHandler, forgetLastFocusedChild, trackChildren, onUpdateFocus, onUpdateHasFocusedChild, preferredChildFocusKey, onClickPressHandler, autoRestoreFocus, focusable = true, blockNavigationOut, }) {
624
689
  this.focusableComponents[focusKey] = {
625
690
  focusKey,
626
691
  node,
627
692
  parentFocusKey,
693
+ onClickPressHandler,
628
694
  onEnterPressHandler,
629
695
  onEnterReleaseHandler,
630
696
  onBackPressHandler,
@@ -707,7 +773,7 @@ class SpatialNavigation {
707
773
  }
708
774
  return null;
709
775
  }
710
- setCurrentFocusedKey(newFocusKey, details) {
776
+ setCurrentFocusedKey(newFocusKey, details = { pressedKeys: {} }) {
711
777
  if (this.isFocusableComponent(this.focusKey) &&
712
778
  newFocusKey !== this.focusKey) {
713
779
  const oldComponent = this.focusableComponents[this.focusKey];
@@ -720,6 +786,7 @@ class SpatialNavigation {
720
786
  if (this.isFocusableComponent(this.focusKey)) {
721
787
  const newComponent = this.focusableComponents[this.focusKey];
722
788
  newComponent.onUpdateFocus?.(true);
789
+ this.updateParentsHasFocusedChild(this.focusKey, details);
723
790
  newComponent.onBecameFocusedHandler?.(this.getNodeLayoutByFocusKey(this.focusKey), details);
724
791
  }
725
792
  }
@@ -806,13 +873,14 @@ class SpatialNavigation {
806
873
  this.visualDebugger?.clearLayouts();
807
874
  this.getFocusableComponents().forEach((component) => {
808
875
  component.onUpdateFocus?.(false);
876
+ component.onUpdateHasFocusedChild?.(false);
809
877
  });
810
878
  this.paused = true;
811
879
  }
812
880
  resume() {
813
881
  this.paused = false;
814
882
  }
815
- setFocus(targetFocusKey, details = {}) {
883
+ setFocus(targetFocusKey, details = { pressedKeys: {} }) {
816
884
  const lastFocusedKey = this.focusKey;
817
885
  const newFocusKey = this.getNextFocusKey(targetFocusKey);
818
886
  this.log('setFocus', 'newFocusKey', newFocusKey);
@@ -17,4 +17,6 @@ export interface Layout {
17
17
  export interface Details {
18
18
  pressedKeys: Record<string, number>;
19
19
  layout?: Layout;
20
+ event?: Event;
21
+ mouseClick?: boolean;
20
22
  }
@@ -19,6 +19,12 @@ export interface WithFocusableProps {
19
19
  hasFocusedChild?: boolean;
20
20
  focusable?: boolean;
21
21
  onEnterPress?: (props: any, details: Details) => void;
22
+ /**
23
+ * @description - Called when "click" action is performed (e.g., mouse click or touch), fired by spatial navigation
24
+ * @param props - The props of the component
25
+ * @param details - object containing information about the event, such as the source of the event, layout, etc.
26
+ */
27
+ onClickPress?: (props: any, details: Details) => void;
22
28
  onEnterRelease?: (props: any) => void;
23
29
  onBackPress?: (props: any, details: Details) => void;
24
30
  onArrowPress?: (direction: Direction, props: any, details: Details) => boolean | void;
@@ -39,11 +45,12 @@ declare const withFocusable: <P extends object>({ forgetLastFocusedChild: config
39
45
  parentFocusKey: string;
40
46
  };
41
47
  setFocus: (focusKey: string) => void;
42
- navigateByDirection: (direction: Direction, details?: Record<string, any>) => void;
48
+ navigateByDirection: (direction: Direction, details?: Details) => void;
43
49
  stealFocus: () => void;
44
50
  onUpdateFocus: (focused: boolean) => void;
45
51
  onUpdateHasFocusedChild: (hasFocusedChild: boolean) => void;
46
52
  onEnterPressHandler: (details: Details) => void;
53
+ onClickPressHandler: (details: Details) => void;
47
54
  onEnterReleaseHandler: () => void;
48
55
  onBackPressHandler: (details: Details) => void;
49
56
  onArrowPressHandler: (direction: Direction, details: Details) => boolean | void;
@@ -79,11 +86,12 @@ declare const withFocusable: <P extends object>({ forgetLastFocusedChild: config
79
86
  parentFocusKey: string;
80
87
  };
81
88
  setFocus: (focusKey: string) => void;
82
- navigateByDirection: (direction: Direction, details?: Record<string, any>) => void;
89
+ navigateByDirection: (direction: Direction, details?: Details) => void;
83
90
  stealFocus: () => void;
84
91
  onUpdateFocus: (focused: boolean) => void;
85
92
  onUpdateHasFocusedChild: (hasFocusedChild: boolean) => void;
86
93
  onEnterPressHandler: (details: Details) => void;
94
+ onClickPressHandler: (details: Details) => void;
87
95
  onEnterReleaseHandler: () => void;
88
96
  onBackPressHandler: (details: Details) => void;
89
97
  onArrowPressHandler: (direction: Direction, details: Details) => boolean | void;
@@ -56,9 +56,7 @@ const withFocusable = ({ forgetLastFocusedChild: configForgetLastFocusedChild =
56
56
  configurable: true,
57
57
  writable: true,
58
58
  value: () => {
59
- this.navigation.setFocus(this.state.realFocusKey, {
60
- focusKey: this.state.realFocusKey,
61
- });
59
+ this.navigation.setFocus(this.state.realFocusKey);
62
60
  }
63
61
  });
64
62
  Object.defineProperty(this, "onUpdateFocus", {
@@ -86,6 +84,15 @@ const withFocusable = ({ forgetLastFocusedChild: configForgetLastFocusedChild =
86
84
  onEnterPress(rest, details);
87
85
  }
88
86
  });
87
+ Object.defineProperty(this, "onClickPressHandler", {
88
+ enumerable: true,
89
+ configurable: true,
90
+ writable: true,
91
+ value: (details) => {
92
+ const { onClickPress = noop, ...rest } = this.props;
93
+ onClickPress(rest, details);
94
+ }
95
+ });
89
96
  Object.defineProperty(this, "onEnterReleaseHandler", {
90
97
  enumerable: true,
91
98
  configurable: true,
@@ -157,6 +164,7 @@ const withFocusable = ({ forgetLastFocusedChild: configForgetLastFocusedChild =
157
164
  parentFocusKey,
158
165
  preferredChildFocusKey,
159
166
  onEnterPressHandler: this.onEnterPressHandler,
167
+ onClickPressHandler: this.onClickPressHandler,
160
168
  onEnterReleaseHandler: this.onEnterReleaseHandler,
161
169
  onBackPressHandler: this.onBackPressHandler,
162
170
  onArrowPressHandler: this.onArrowPressHandler,
@@ -212,6 +220,7 @@ const withFocusable = ({ forgetLastFocusedChild: configForgetLastFocusedChild =
212
220
  'onBecameFocusedHandler',
213
221
  'onBecameBlurredHandler',
214
222
  'onEnterPressHandler',
223
+ 'onClickPressHandler',
215
224
  'onEnterReleaseHandler',
216
225
  'onArrowPressHandler',
217
226
  'onUpdateFocus',
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Hook for functional components.
3
+ * Returns a ref callback that sets up maxHeight calculation with resize listener.
4
+ */
5
+ export declare function useMaxHeightToBottom(): (element: HTMLDivElement | null) => void;
6
+ /**
7
+ * Utility for class components.
8
+ * Call in componentDidMount, returns cleanup function for componentWillUnmount.
9
+ */
10
+ export declare function setupMaxHeightToBottom(getElement: () => HTMLElement | null): () => void;
11
+ export default useMaxHeightToBottom;
@@ -0,0 +1,48 @@
1
+ import { useCallback, useEffect, useRef } from 'react';
2
+ /**
3
+ * Calculates and sets maxHeight on an element to fill remaining viewport height.
4
+ * Updates on window resize.
5
+ */
6
+ function calculateMaxHeight(element) {
7
+ if (!element)
8
+ return;
9
+ const rect = element.getBoundingClientRect();
10
+ element.style.maxHeight = `${window.innerHeight - rect.top}px`;
11
+ }
12
+ /**
13
+ * Hook for functional components.
14
+ * Returns a ref callback that sets up maxHeight calculation with resize listener.
15
+ */
16
+ export function useMaxHeightToBottom() {
17
+ const elementRef = useRef(null);
18
+ const handleResize = useCallback(() => {
19
+ calculateMaxHeight(elementRef.current);
20
+ }, []);
21
+ useEffect(() => {
22
+ window.addEventListener('resize', handleResize);
23
+ return () => {
24
+ window.removeEventListener('resize', handleResize);
25
+ };
26
+ }, [handleResize]);
27
+ const refCallback = useCallback((element) => {
28
+ elementRef.current = element;
29
+ calculateMaxHeight(element);
30
+ }, []);
31
+ return refCallback;
32
+ }
33
+ /**
34
+ * Utility for class components.
35
+ * Call in componentDidMount, returns cleanup function for componentWillUnmount.
36
+ */
37
+ export function setupMaxHeightToBottom(getElement) {
38
+ const handleResize = () => {
39
+ calculateMaxHeight(getElement());
40
+ };
41
+ // Initial calculation
42
+ handleResize();
43
+ window.addEventListener('resize', handleResize);
44
+ return () => {
45
+ window.removeEventListener('resize', handleResize);
46
+ };
47
+ }
48
+ export default useMaxHeightToBottom;
@@ -1,16 +1,12 @@
1
1
  import IMaestroEventDelegate, { PanelEvent } from './interfaces/IMaestroEventDelegate';
2
- import IMaestroManager, { SDKConfigParams } from './interfaces/IMaestroManager';
2
+ import IMaestroManager, { SDKConfigParams, SDKEventConfigParams, SDKStopEventParams } from './interfaces/IMaestroManager';
3
3
  import IMaestroEvent from './interfaces/IMaestroEvent';
4
4
  import { MaestroEventViewModel } from './view-models/MaestroEventViewModel';
5
- import IMaestroKeyPlaysResponse from './modules/key-plays/interfaces/IKeyPlaysResponse';
6
- import { IUserSettings } from './interfaces/IUserSettings';
5
+ import IMaestroKeyPlaysResponse from './modules/espn/key-plays/interfaces/IKeyPlaysResponse';
7
6
  import { GlobalConfig, PageConfig } from './services/StaticService/types';
8
7
  import { MaestroPanelType } from './models/IPanel';
9
- export { default as Overlay } from './components/molecules/Overlay/Overlay';
10
- export { OverlayType, IMaestroOverlayEvent, IOverlaySize, IOverlayPosition, IFantasyPayload, IOverlayAnalyticsEvent, } from './types/OverlayTypes';
11
- export { IWinningBet } from './models/IWinningBet';
12
8
  export { ActionTrackEvent, ImpressionTrackEvent, Metadata, PanelClickAction, PanelViewAction, } from './services/AnalyticsService/types';
13
- export { PanelEvent, IMaestroEventDelegate, IMaestroEvent, IMaestroKeyPlaysResponse, MaestroPanelType, };
9
+ export { PanelEvent, IMaestroEventDelegate, IMaestroEvent, IMaestroKeyPlaysResponse, MaestroPanelType, SDKEventConfigParams, SDKStopEventParams, };
14
10
  export { IUserSettings, DEFAULT_USER_SETTINGS, } from './interfaces/IUserSettings';
15
11
  /**
16
12
  * Main SDK class that serves as the entry point for the Maestro TV SDK
@@ -24,16 +20,18 @@ declare class MaestroWebSDK implements IMaestroManager {
24
20
  private pageConfig;
25
21
  private globalConfig;
26
22
  private globalConfigPoller;
27
- private analyticsService;
28
- private staticService;
23
+ private _analyticsService;
24
+ private isProdEnv;
25
+ private activePanelUnmountFn;
29
26
  private constructor();
27
+ private get analyticsService();
30
28
  /**
31
29
  * @description Returns the MaestroWebSDK instance
32
30
  * @returns {MaestroWebSDK} - The MaestroWebSDK instance
33
31
  */
34
32
  static getInstance(): MaestroWebSDK;
35
- userDidStartWatchingEvent(eventID: string, delegate: IMaestroEventDelegate, userSettings?: IUserSettings): Promise<IMaestroEvent>;
36
- userDidStopWatchingEvent(_: string): Promise<void>;
33
+ userDidStartWatchingEvent({ eventId, pageId, userSettings, delegate, useProdEnv, }: SDKEventConfigParams): Promise<IMaestroEvent>;
34
+ userDidStopWatchingEvent(_config: SDKStopEventParams): Promise<void>;
37
35
  configure(configParams: SDKConfigParams): void;
38
36
  /**
39
37
  * Sets the site ID for the SDK
@@ -41,6 +39,7 @@ declare class MaestroWebSDK implements IMaestroManager {
41
39
  */
42
40
  setSiteID(siteID: string): void;
43
41
  getSiteID(): string;
42
+ getIsProdEnv(): boolean;
44
43
  /**
45
44
  * Gets the event view model
46
45
  * @returns The current event view model
package/dist/src/index.js CHANGED
@@ -3,11 +3,7 @@ import { MaestroEventViewModel } from './view-models/MaestroEventViewModel';
3
3
  import { UserSettingsManager } from './services/UserSettingsManager';
4
4
  import StaticService from './services/StaticService';
5
5
  import { MaestroPanelType } from './models/IPanel';
6
- import initSentry from './sentry';
7
6
  import AnalyticsService from './services/AnalyticsService/AnalyticsService';
8
- // Export overlay components and types for client apps
9
- export { default as Overlay } from './components/molecules/Overlay/Overlay';
10
- export { OverlayType, } from './types/OverlayTypes';
11
7
  export { MaestroPanelType, };
12
8
  export { DEFAULT_USER_SETTINGS, } from './interfaces/IUserSettings';
13
9
  /**
@@ -52,20 +48,32 @@ class MaestroWebSDK {
52
48
  writable: true,
53
49
  value: null
54
50
  });
55
- Object.defineProperty(this, "analyticsService", {
51
+ Object.defineProperty(this, "_analyticsService", {
56
52
  enumerable: true,
57
53
  configurable: true,
58
54
  writable: true,
59
- value: new AnalyticsService()
55
+ value: null
60
56
  });
61
- Object.defineProperty(this, "staticService", {
57
+ Object.defineProperty(this, "isProdEnv", {
62
58
  enumerable: true,
63
59
  configurable: true,
64
60
  writable: true,
65
- value: new StaticService()
61
+ value: true
62
+ });
63
+ Object.defineProperty(this, "activePanelUnmountFn", {
64
+ enumerable: true,
65
+ configurable: true,
66
+ writable: true,
67
+ value: null
66
68
  });
67
69
  this.renderer = renderer;
68
70
  }
71
+ get analyticsService() {
72
+ if (!this._analyticsService) {
73
+ this._analyticsService = new AnalyticsService();
74
+ }
75
+ return this._analyticsService;
76
+ }
69
77
  /**
70
78
  * @description Returns the MaestroWebSDK instance
71
79
  * @returns {MaestroWebSDK} - The MaestroWebSDK instance
@@ -77,33 +85,42 @@ class MaestroWebSDK {
77
85
  }
78
86
  return MaestroWebSDK.instance;
79
87
  }
80
- async userDidStartWatchingEvent(eventID, delegate, userSettings) {
88
+ async userDidStartWatchingEvent({ eventId, pageId, userSettings, delegate, useProdEnv = true, }) {
89
+ this.isProdEnv = useProdEnv;
81
90
  // Fetch page config before initializing view models
82
91
  const siteId = this.getSiteID();
83
92
  if (!siteId || siteId.trim() === '') {
84
93
  throw new Error('siteID must be set before calling userDidStartWatchingEvent.');
85
94
  }
86
- if (!eventID || eventID.trim() === '') {
87
- throw new Error('eventID must be provided to watch an event.');
95
+ if (!eventId && !pageId) {
96
+ throw new Error('Either eventId or pageId must be provided to load the page configuration.');
88
97
  }
89
- this.pageConfig = await this.staticService.fetchPageConfig(siteId, eventID);
98
+ const staticService = new StaticService(siteId);
99
+ this.pageConfig = await staticService.fetchPageConfig({
100
+ siteId,
101
+ metadataValue: eventId,
102
+ pageId,
103
+ });
90
104
  if (!this.pageConfig) {
91
- throw new Error(`Could not determine page configuration for siteId: ${siteId} and eventID: ${eventID}.`);
105
+ throw new Error(`Could not determine page configuration for siteId: ${siteId}, pageId: ${pageId} and eventId: ${eventId}.`);
92
106
  }
93
- this.globalConfigPoller = this.staticService.pollGlobalConfig((data) => {
107
+ this.globalConfigPoller = staticService.pollGlobalConfig((data) => {
94
108
  this.globalConfig = data;
95
109
  });
96
110
  // Initialize user settings if provided
97
111
  if (userSettings) {
98
112
  UserSettingsManager.getInstance().updateSettings(userSettings);
99
113
  }
100
- initSentry();
101
114
  await this.analyticsService.SDKSessionStart();
102
- this.maestroEventViewModel = new MaestroEventViewModel(eventID, delegate);
115
+ this.maestroEventViewModel = new MaestroEventViewModel(eventId, pageId, delegate, this.analyticsService);
116
+ await this.maestroEventViewModel.initViewModels();
103
117
  await this.analyticsService.pageSessionStart();
104
118
  return this.maestroEventViewModel;
105
119
  }
106
- async userDidStopWatchingEvent(_) {
120
+ async userDidStopWatchingEvent(_config) {
121
+ if (this.activePanelUnmountFn) {
122
+ await this.activePanelUnmountFn();
123
+ }
107
124
  await this.analyticsService.pageSessionEnd();
108
125
  if (this.maestroEventViewModel) {
109
126
  await this.maestroEventViewModel.deinit();
@@ -136,6 +153,9 @@ class MaestroWebSDK {
136
153
  getSiteID() {
137
154
  return this.siteID;
138
155
  }
156
+ getIsProdEnv() {
157
+ return this.isProdEnv;
158
+ }
139
159
  /**
140
160
  * Gets the event view model
141
161
  * @returns The current event view model
@@ -149,10 +169,22 @@ class MaestroWebSDK {
149
169
  async renderPanel(id) {
150
170
  await this.analyticsService.pinchBackSessionStart();
151
171
  const panelUnmountFn = await this.renderer.renderPanel(id);
152
- return async () => {
153
- await this.analyticsService.pinchBackSessionEnd();
172
+ let isCleanedUp = false;
173
+ const cleanupFn = async () => {
174
+ if (isCleanedUp) {
175
+ return;
176
+ }
177
+ isCleanedUp = true;
178
+ // Unmount first so the UI is torn down immediately and any portals/handlers
179
+ // are cleaned up even if the caller doesn't await this async function.
154
180
  panelUnmountFn();
181
+ await this.analyticsService.pinchBackSessionEnd();
182
+ if (this.activePanelUnmountFn === cleanupFn) {
183
+ this.activePanelUnmountFn = null;
184
+ }
155
185
  };
186
+ this.activePanelUnmountFn = cleanupFn;
187
+ return cleanupFn;
156
188
  }
157
189
  getPageConfig() {
158
190
  return this.pageConfig;
@@ -1,5 +1,5 @@
1
1
  import { MaestroPanelType } from '@/models/IPanel';
2
- import IMaestroKeyPlaysResponse from '../modules/key-plays/interfaces/IKeyPlaysResponse';
2
+ import IMaestroKeyPlaysResponse from '../modules/espn/key-plays/interfaces/IKeyPlaysResponse';
3
3
  import { IUserSettings } from './IUserSettings';
4
4
  /**
5
5
  * This is the public API that the app can use to make calls to the SDK related to the currently-loaded event.
@@ -99,7 +99,6 @@ export default interface IMaestroEvent {
99
99
  * })
100
100
  */
101
101
  setDataToPanel(panelData: Record<string, any>): void;
102
- simulateUseCase<T = any>(useCase: TestUseCase, panelType: MaestroPanelType, testData?: T): void;
103
102
  /**
104
103
  * @description Sets the active panel in the Maestro SDK, if the panel is available and not hidden.
105
104
  * @param {MaestroPanelType} panelType - The type of the panel to set as active
@@ -107,20 +106,3 @@ export default interface IMaestroEvent {
107
106
  */
108
107
  setActivePanel(panelType: MaestroPanelType): void;
109
108
  }
110
- declare const TEST_USE_CASES: {
111
- readonly betsTabLoadFailure: "betsTabLoadFailure";
112
- readonly betsMockData: "betsMockData";
113
- readonly betsLiveData: "betsLiveData";
114
- readonly showBasketballPreGameStatsMockData: "showBasketballPreGameStatsMockData";
115
- readonly showBasketballInGameStatsMockData: "showBasketballInGameStatsMockData";
116
- readonly showFootballPreGameStatsMockData: "showFootballPreGameStatsMockData";
117
- readonly showFootballInGameStatsMockData: "showFootballInGameStatsMockData";
118
- readonly showHockeyPreGameStatsMockData: "showHockeyPreGameStatsMockData";
119
- readonly showHockeyInGameStatsMockData: "showHockeyInGameStatsMockData";
120
- readonly shopTabLoadFailure: "shopTabLoadFailure";
121
- readonly shopEmptyState: "shopEmptyState";
122
- readonly shopMockData: "shopMockData";
123
- readonly shopLiveData: "shopLiveData";
124
- };
125
- export type TestUseCase = typeof TEST_USE_CASES[keyof typeof TEST_USE_CASES];
126
- export {};
@@ -1,18 +1 @@
1
- const TEST_USE_CASES = {
2
- betsTabLoadFailure: 'betsTabLoadFailure',
3
- betsMockData: 'betsMockData',
4
- betsLiveData: 'betsLiveData',
5
- // Stats use cases
6
- showBasketballPreGameStatsMockData: 'showBasketballPreGameStatsMockData',
7
- showBasketballInGameStatsMockData: 'showBasketballInGameStatsMockData',
8
- showFootballPreGameStatsMockData: 'showFootballPreGameStatsMockData',
9
- showFootballInGameStatsMockData: 'showFootballInGameStatsMockData',
10
- showHockeyPreGameStatsMockData: 'showHockeyPreGameStatsMockData',
11
- showHockeyInGameStatsMockData: 'showHockeyInGameStatsMockData',
12
- // Shop use cases
13
- shopTabLoadFailure: 'shopTabLoadFailure',
14
- shopEmptyState: 'shopEmptyState',
15
- shopMockData: 'shopMockData',
16
- shopLiveData: 'shopLiveData',
17
- };
18
1
  export {};