@maestro_io/maestro-web-sdk 4.0.0-beta.4 → 4.0.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 (500) hide show
  1. package/dist/index.d.ts +1733 -0
  2. package/dist/maestro-web-sdk.esm.js +1 -1
  3. package/dist/maestro-web-sdk.esm.js.map +1 -1
  4. package/dist/maestro-web-sdk.umd.js +1 -1
  5. package/dist/maestro-web-sdk.umd.js.map +1 -1
  6. package/package.json +3 -2
  7. package/dist/f8820fca3a2a7957f753167da0884f9d.png +0 -0
  8. package/dist/package.json +0 -91
  9. package/dist/src/__mocks__/sentry.d.ts +0 -4
  10. package/dist/src/components/atoms/BaseButton/BaseButton.d.ts +0 -7
  11. package/dist/src/components/atoms/BaseButton/BaseButton.js +0 -11
  12. package/dist/src/components/atoms/BaseButton/index.d.ts +0 -2
  13. package/dist/src/components/atoms/BaseButton/index.js +0 -2
  14. package/dist/src/components/atoms/Image/index.d.ts +0 -13
  15. package/dist/src/components/atoms/Image/index.js +0 -34
  16. package/dist/src/components/atoms/Rive/index.d.ts +0 -219
  17. package/dist/src/components/atoms/Rive/index.js +0 -53
  18. package/dist/src/components/atoms/SvgIcon/BetGeneralIcon.d.ts +0 -3
  19. package/dist/src/components/atoms/SvgIcon/BetGeneralIcon.js +0 -9
  20. package/dist/src/components/atoms/SvgIcon/BetsIcon.d.ts +0 -7
  21. package/dist/src/components/atoms/SvgIcon/BetsIcon.js +0 -11
  22. package/dist/src/components/atoms/SvgIcon/BetsWarningIcon.d.ts +0 -7
  23. package/dist/src/components/atoms/SvgIcon/BetsWarningIcon.js +0 -11
  24. package/dist/src/components/atoms/SvgIcon/ChatIcon.d.ts +0 -4
  25. package/dist/src/components/atoms/SvgIcon/CheckmarkIcon.d.ts +0 -3
  26. package/dist/src/components/atoms/SvgIcon/CheckmarkIcon.js +0 -6
  27. package/dist/src/components/atoms/SvgIcon/CollapseIcon.d.ts +0 -3
  28. package/dist/src/components/atoms/SvgIcon/CollapseIcon.js +0 -6
  29. package/dist/src/components/atoms/SvgIcon/ExpandIcon.d.ts +0 -3
  30. package/dist/src/components/atoms/SvgIcon/ExpandIcon.js +0 -6
  31. package/dist/src/components/atoms/SvgIcon/FantasyIcon.d.ts +0 -7
  32. package/dist/src/components/atoms/SvgIcon/FantasyIcon.js +0 -15
  33. package/dist/src/components/atoms/SvgIcon/FlameIcon.d.ts +0 -7
  34. package/dist/src/components/atoms/SvgIcon/FlameIcon.js +0 -11
  35. package/dist/src/components/atoms/SvgIcon/HelloWorldIcon.d.ts +0 -3
  36. package/dist/src/components/atoms/SvgIcon/Icon.d.ts +0 -40
  37. package/dist/src/components/atoms/SvgIcon/Icon.js +0 -44
  38. package/dist/src/components/atoms/SvgIcon/KeyPlaysIcon.d.ts +0 -6
  39. package/dist/src/components/atoms/SvgIcon/KeyPlaysIcon.js +0 -10
  40. package/dist/src/components/atoms/SvgIcon/MobilePhoneIcon.d.ts +0 -7
  41. package/dist/src/components/atoms/SvgIcon/MobilePhoneIcon.js +0 -11
  42. package/dist/src/components/atoms/SvgIcon/PlayIcon.d.ts +0 -6
  43. package/dist/src/components/atoms/SvgIcon/PlayIcon.js +0 -8
  44. package/dist/src/components/atoms/SvgIcon/ShopIcon.d.ts +0 -5
  45. package/dist/src/components/atoms/SvgIcon/ShopIcon.js +0 -7
  46. package/dist/src/components/atoms/SvgIcon/ShopifyIcon.d.ts +0 -4
  47. package/dist/src/components/atoms/SvgIcon/StatsIcon.d.ts +0 -6
  48. package/dist/src/components/atoms/SvgIcon/StatsIcon.js +0 -12
  49. package/dist/src/components/atoms/SvgIcon/TimesIcon.d.ts +0 -3
  50. package/dist/src/components/atoms/SvgIcon/TimesIcon.js +0 -6
  51. package/dist/src/components/atoms/SvgIcon/WarningIcon.d.ts +0 -6
  52. package/dist/src/components/atoms/SvgIcon/WarningIcon.js +0 -8
  53. package/dist/src/components/atoms/SvgIcon/index.d.ts +0 -2
  54. package/dist/src/components/atoms/SvgIcon/index.js +0 -2
  55. package/dist/src/components/core/App/App.d.ts +0 -11
  56. package/dist/src/components/core/App/App.js +0 -35
  57. package/dist/src/components/core/App/index.d.ts +0 -2
  58. package/dist/src/components/core/App/index.js +0 -2
  59. package/dist/src/components/core/OverlayContainer.d.ts +0 -3
  60. package/dist/src/components/core/OverlayContainer.js +0 -58
  61. package/dist/src/components/core/PanelManager/PanelManager.d.ts +0 -21
  62. package/dist/src/components/core/PanelManager/PanelManager.js +0 -86
  63. package/dist/src/components/core/PanelManager/index.d.ts +0 -2
  64. package/dist/src/components/core/PanelManager/index.js +0 -2
  65. package/dist/src/components/core/ScrollableContainer/FocusableItem.d.ts +0 -6
  66. package/dist/src/components/core/ScrollableContainer/FocusableItem.js +0 -38
  67. package/dist/src/components/core/ScrollableContainer/ScrollableContainer.d.ts +0 -78
  68. package/dist/src/components/core/ScrollableContainer/ScrollableContainer.js +0 -169
  69. package/dist/src/components/core/ScrollableContainer/index.d.ts +0 -2
  70. package/dist/src/components/core/ScrollableContainer/index.js +0 -2
  71. package/dist/src/components/molecules/ActionButton/ActionButton.d.ts +0 -94
  72. package/dist/src/components/molecules/ActionButton/ActionButton.js +0 -10
  73. package/dist/src/components/molecules/ActionButton/index.d.ts +0 -2
  74. package/dist/src/components/molecules/ActionButton/index.js +0 -2
  75. package/dist/src/components/molecules/HeadshotImage/HeadshotImage.d.ts +0 -16
  76. package/dist/src/components/molecules/HeadshotImage/HeadshotImage.js +0 -50
  77. package/dist/src/components/molecules/HeadshotImage/index.d.ts +0 -2
  78. package/dist/src/components/molecules/HeadshotImage/index.js +0 -2
  79. package/dist/src/components/molecules/Overlay/Overlay.d.ts +0 -34
  80. package/dist/src/components/molecules/Overlay/Overlay.js +0 -139
  81. package/dist/src/components/molecules/Overlay/index.d.ts +0 -2
  82. package/dist/src/components/molecules/Overlay/index.js +0 -2
  83. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.d.ts +0 -104
  84. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.js +0 -27
  85. package/dist/src/components/molecules/PanelNavButton/index.d.ts +0 -2
  86. package/dist/src/components/molecules/PanelNavButton/index.js +0 -2
  87. package/dist/src/components/molecules/SegmentButton/SegmentButton.d.ts +0 -9
  88. package/dist/src/components/molecules/SegmentButton/SegmentButton.js +0 -10
  89. package/dist/src/components/molecules/SegmentButton/index.d.ts +0 -2
  90. package/dist/src/components/molecules/SegmentButton/index.js +0 -2
  91. package/dist/src/components/molecules/TabLoadError/TabLoadError.d.ts +0 -94
  92. package/dist/src/components/molecules/TabLoadError/TabLoadError.js +0 -14
  93. package/dist/src/components/molecules/TabLoadError/index.d.ts +0 -2
  94. package/dist/src/components/molecules/TabLoadError/index.js +0 -2
  95. package/dist/src/components/molecules/WatchButton/WatchButton.d.ts +0 -10
  96. package/dist/src/components/molecules/WatchButton/WatchButton.js +0 -15
  97. package/dist/src/components/molecules/WatchButton/index.d.ts +0 -2
  98. package/dist/src/components/molecules/WatchButton/index.js +0 -2
  99. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.d.ts +0 -16
  100. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.js +0 -60
  101. package/dist/src/components/organisms/PanelNavigation/index.d.ts +0 -2
  102. package/dist/src/components/organisms/PanelNavigation/index.js +0 -2
  103. package/dist/src/components/organisms/SegmentController/SegmentController.d.ts +0 -30
  104. package/dist/src/components/organisms/SegmentController/SegmentController.js +0 -76
  105. package/dist/src/components/organisms/SegmentController/index.d.ts +0 -3
  106. package/dist/src/components/organisms/SegmentController/index.js +0 -2
  107. package/dist/src/development/MaestroEventDelegate.d.ts +0 -27
  108. package/dist/src/development/MaestroEventDelegate.js +0 -109
  109. package/dist/src/development/TimeSeek.d.ts +0 -22
  110. package/dist/src/development/TimeSeek.js +0 -218
  111. package/dist/src/development/development.d.ts +0 -1
  112. package/dist/src/development/development.js +0 -36
  113. package/dist/src/external/AxiosNetworkClient.d.ts +0 -28
  114. package/dist/src/external/AxiosNetworkClient.js +0 -110
  115. package/dist/src/external/LocalStorageCacheManager.d.ts +0 -65
  116. package/dist/src/external/LocalStorageCacheManager.js +0 -213
  117. package/dist/src/external/ReactRenderer.d.ts +0 -17
  118. package/dist/src/external/ReactRenderer.js +0 -65
  119. package/dist/src/external/mocks/MockExternalNetworkClient.d.ts +0 -104
  120. package/dist/src/external/mocks/MockExternalNetworkClient.js +0 -187
  121. package/dist/src/external/ports/cacheManager.d.ts +0 -17
  122. package/dist/src/external/ports/cacheManager.js +0 -1
  123. package/dist/src/external/ports/networkClient.d.ts +0 -19
  124. package/dist/src/external/ports/networkClient.js +0 -1
  125. package/dist/src/external/ports/renderer.d.ts +0 -4
  126. package/dist/src/external/ports/renderer.js +0 -1
  127. package/dist/src/external/spatial-navigation/__mocks__/withFocusable.d.ts +0 -8
  128. package/dist/src/external/spatial-navigation/__mocks__/withFocusable.js +0 -7
  129. package/dist/src/external/spatial-navigation/index.d.ts +0 -4
  130. package/dist/src/external/spatial-navigation/index.js +0 -3
  131. package/dist/src/external/spatial-navigation/measureLayout.d.ts +0 -2
  132. package/dist/src/external/spatial-navigation/measureLayout.js +0 -30
  133. package/dist/src/external/spatial-navigation/spatialNavigation.d.ts +0 -155
  134. package/dist/src/external/spatial-navigation/spatialNavigation.js +0 -876
  135. package/dist/src/external/spatial-navigation/utils.d.ts +0 -20
  136. package/dist/src/external/spatial-navigation/utils.js +0 -6
  137. package/dist/src/external/spatial-navigation/visualDebugger.d.ts +0 -17
  138. package/dist/src/external/spatial-navigation/visualDebugger.js +0 -76
  139. package/dist/src/external/spatial-navigation/withFocusable.d.ts +0 -123
  140. package/dist/src/external/spatial-navigation/withFocusable.js +0 -245
  141. package/dist/src/helpers/Observable.d.ts +0 -12
  142. package/dist/src/helpers/Observable.js +0 -37
  143. package/dist/src/helpers/strings.d.ts +0 -2
  144. package/dist/src/helpers/strings.js +0 -14
  145. package/dist/src/helpers/url.d.ts +0 -1
  146. package/dist/src/helpers/url.js +0 -12
  147. package/dist/src/index.d.ts +0 -54
  148. package/dist/src/index.js +0 -165
  149. package/dist/src/interfaces/IMaestroEvent.d.ts +0 -126
  150. package/dist/src/interfaces/IMaestroEvent.js +0 -18
  151. package/dist/src/interfaces/IMaestroEventDelegate.d.ts +0 -74
  152. package/dist/src/interfaces/IMaestroEventDelegate.js +0 -1
  153. package/dist/src/interfaces/IMaestroManager.d.ts +0 -45
  154. package/dist/src/interfaces/IMaestroManager.js +0 -1
  155. package/dist/src/interfaces/IUserSettings.d.ts +0 -44
  156. package/dist/src/interfaces/IUserSettings.js +0 -20
  157. package/dist/src/models/IModel.d.ts +0 -7
  158. package/dist/src/models/IModel.js +0 -1
  159. package/dist/src/models/IPanel.d.ts +0 -15
  160. package/dist/src/models/IPanel.js +0 -40
  161. package/dist/src/models/ITheme.d.ts +0 -77
  162. package/dist/src/models/ITheme.js +0 -20
  163. package/dist/src/models/IWinningBet.d.ts +0 -7
  164. package/dist/src/models/IWinningBet.js +0 -1
  165. package/dist/src/modules/bets/interfaces/IBets.d.ts +0 -192
  166. package/dist/src/modules/bets/interfaces/IBets.js +0 -1
  167. package/dist/src/modules/bets/mocks.d.ts +0 -2
  168. package/dist/src/modules/bets/mocks.js +0 -573
  169. package/dist/src/modules/bets/types/BetsAnalyticsTypes.d.ts +0 -8
  170. package/dist/src/modules/bets/types/BetsAnalyticsTypes.js +0 -1
  171. package/dist/src/modules/bets/view/BetsView.d.ts +0 -28
  172. package/dist/src/modules/bets/view/BetsView.js +0 -143
  173. package/dist/src/modules/bets/view/HotProps/HotPropsView.d.ts +0 -100
  174. package/dist/src/modules/bets/view/HotProps/HotPropsView.js +0 -150
  175. package/dist/src/modules/bets/view/SixPack/SixPackView.d.ts +0 -23
  176. package/dist/src/modules/bets/view/SixPack/SixPackView.js +0 -110
  177. package/dist/src/modules/bets/view/UserBets/BetResult/BetResult.d.ts +0 -6
  178. package/dist/src/modules/bets/view/UserBets/BetResult/BetResult.js +0 -6
  179. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCard.d.ts +0 -101
  180. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCard.js +0 -149
  181. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardEvent.d.ts +0 -26
  182. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardEvent.js +0 -34
  183. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardFooter.d.ts +0 -7
  184. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardFooter.js +0 -18
  185. package/dist/src/modules/bets/view/UserBets/Boost/Boost.d.ts +0 -7
  186. package/dist/src/modules/bets/view/UserBets/Boost/Boost.js +0 -6
  187. package/dist/src/modules/bets/view/UserBets/OutcomeBadge/OutcomeBadge.d.ts +0 -6
  188. package/dist/src/modules/bets/view/UserBets/OutcomeBadge/OutcomeBadge.js +0 -9
  189. package/dist/src/modules/bets/view/UserBets/Parlay/Parlay.d.ts +0 -8
  190. package/dist/src/modules/bets/view/UserBets/Parlay/Parlay.js +0 -13
  191. package/dist/src/modules/bets/view/UserBets/Straight/Straight.d.ts +0 -7
  192. package/dist/src/modules/bets/view/UserBets/Straight/Straight.js +0 -6
  193. package/dist/src/modules/bets/view/UserBets/Teaser/Teaser.d.ts +0 -7
  194. package/dist/src/modules/bets/view/UserBets/Teaser/Teaser.js +0 -13
  195. package/dist/src/modules/bets/view/UserBets/UserBetsView.d.ts +0 -25
  196. package/dist/src/modules/bets/view/UserBets/UserBetsView.js +0 -107
  197. package/dist/src/modules/bets/view/components/Bet/Bet.d.ts +0 -158
  198. package/dist/src/modules/bets/view/components/Bet/Bet.js +0 -32
  199. package/dist/src/modules/bets/view/components/BetPill/BetPill.d.ts +0 -6
  200. package/dist/src/modules/bets/view/components/BetPill/BetPill.js +0 -6
  201. package/dist/src/modules/bets/view/components/BetsCard/BetsCard.d.ts +0 -10
  202. package/dist/src/modules/bets/view/components/BetsCard/BetsCard.js +0 -15
  203. package/dist/src/modules/bets/view/components/BetsCard/BetsCardHeader.d.ts +0 -16
  204. package/dist/src/modules/bets/view/components/BetsCard/BetsCardHeader.js +0 -20
  205. package/dist/src/modules/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.d.ts +0 -8
  206. package/dist/src/modules/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.js +0 -14
  207. package/dist/src/modules/bets/view/components/LocationWarning/LocationWarning.d.ts +0 -10
  208. package/dist/src/modules/bets/view/components/LocationWarning/LocationWarning.js +0 -16
  209. package/dist/src/modules/bets/view/components/PromoCodeBanner/PromoCodeBanner.d.ts +0 -18
  210. package/dist/src/modules/bets/view/components/PromoCodeBanner/PromoCodeBanner.js +0 -78
  211. package/dist/src/modules/bets/view/components/PromoCodeBanner/index.d.ts +0 -1
  212. package/dist/src/modules/bets/view/components/PromoCodeBanner/index.js +0 -1
  213. package/dist/src/modules/bets/view-model/BetsViewModel.d.ts +0 -219
  214. package/dist/src/modules/bets/view-model/BetsViewModel.js +0 -974
  215. package/dist/src/modules/fantasy/components/ExpandedAthleteList/ExpandedAthletesList.d.ts +0 -28
  216. package/dist/src/modules/fantasy/components/ExpandedAthleteList/ExpandedAthletesList.js +0 -107
  217. package/dist/src/modules/fantasy/components/ExpandedAthleteList/index.d.ts +0 -1
  218. package/dist/src/modules/fantasy/components/ExpandedAthleteList/index.js +0 -1
  219. package/dist/src/modules/fantasy/components/LeagueCard/LeagueCard.d.ts +0 -102
  220. package/dist/src/modules/fantasy/components/LeagueCard/LeagueCard.js +0 -20
  221. package/dist/src/modules/fantasy/components/LeagueCard/index.d.ts +0 -2
  222. package/dist/src/modules/fantasy/components/LeagueCard/index.js +0 -2
  223. package/dist/src/modules/fantasy/components/TopPlayerCard/TopPlayerCard.d.ts +0 -99
  224. package/dist/src/modules/fantasy/components/TopPlayerCard/TopPlayerCard.js +0 -29
  225. package/dist/src/modules/fantasy/components/TopPlayerCard/index.d.ts +0 -2
  226. package/dist/src/modules/fantasy/components/TopPlayerCard/index.js +0 -2
  227. package/dist/src/modules/fantasy/mocks.d.ts +0 -7620
  228. package/dist/src/modules/fantasy/mocks.js +0 -3682
  229. package/dist/src/modules/fantasy/types.d.ts +0 -176
  230. package/dist/src/modules/fantasy/types.js +0 -6
  231. package/dist/src/modules/fantasy/view/ActiveAthletesMarquee/ActiveAthletesMarquee.d.ts +0 -21
  232. package/dist/src/modules/fantasy/view/ActiveAthletesMarquee/ActiveAthletesMarquee.js +0 -74
  233. package/dist/src/modules/fantasy/view/ActiveAthletesMarquee/index.d.ts +0 -2
  234. package/dist/src/modules/fantasy/view/ActiveAthletesMarquee/index.js +0 -2
  235. package/dist/src/modules/fantasy/view/ErrorBoundary.d.ts +0 -13
  236. package/dist/src/modules/fantasy/view/FantasyItemView.d.ts +0 -22
  237. package/dist/src/modules/fantasy/view/FantasyItemView.js +0 -74
  238. package/dist/src/modules/fantasy/view/FantasyView.d.ts +0 -27
  239. package/dist/src/modules/fantasy/view/FantasyView.js +0 -133
  240. package/dist/src/modules/fantasy/view/InactiveLeague/DraftDateCountdown.d.ts +0 -23
  241. package/dist/src/modules/fantasy/view/InactiveLeague/DraftDateCountdown.js +0 -95
  242. package/dist/src/modules/fantasy/view/InactiveLeague/InactiveLeague.d.ts +0 -98
  243. package/dist/src/modules/fantasy/view/InactiveLeague/InactiveLeague.js +0 -13
  244. package/dist/src/modules/fantasy/view/InactiveLeague/index.d.ts +0 -2
  245. package/dist/src/modules/fantasy/view/InactiveLeague/index.js +0 -2
  246. package/dist/src/modules/fantasy/view/LoginView/LoginView.d.ts +0 -94
  247. package/dist/src/modules/fantasy/view/LoginView/LoginView.js +0 -27
  248. package/dist/src/modules/fantasy/view/LoginView/index.d.ts +0 -2
  249. package/dist/src/modules/fantasy/view/LoginView/index.js +0 -2
  250. package/dist/src/modules/fantasy/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.d.ts +0 -95
  251. package/dist/src/modules/fantasy/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.js +0 -25
  252. package/dist/src/modules/fantasy/view/MatchupPair/DoubleAthleteCard/index.d.ts +0 -2
  253. package/dist/src/modules/fantasy/view/MatchupPair/DoubleAthleteCard/index.js +0 -2
  254. package/dist/src/modules/fantasy/view/MatchupPair/ExpandedDoubleAthleteCards.d.ts +0 -14
  255. package/dist/src/modules/fantasy/view/MatchupPair/ExpandedDoubleAthleteCards.js +0 -9
  256. package/dist/src/modules/fantasy/view/MatchupPair/MatchupPair.d.ts +0 -100
  257. package/dist/src/modules/fantasy/view/MatchupPair/MatchupPair.js +0 -118
  258. package/dist/src/modules/fantasy/view/MatchupPair/index.d.ts +0 -2
  259. package/dist/src/modules/fantasy/view/MatchupPair/index.js +0 -2
  260. package/dist/src/modules/fantasy/view/MatchupSingle/ExpandedSingleAthleteCards.d.ts +0 -14
  261. package/dist/src/modules/fantasy/view/MatchupSingle/ExpandedSingleAthleteCards.js +0 -9
  262. package/dist/src/modules/fantasy/view/MatchupSingle/MatchupSingle.d.ts +0 -100
  263. package/dist/src/modules/fantasy/view/MatchupSingle/MatchupSingle.js +0 -108
  264. package/dist/src/modules/fantasy/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.d.ts +0 -95
  265. package/dist/src/modules/fantasy/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.js +0 -18
  266. package/dist/src/modules/fantasy/view/MatchupSingle/SingleAthleteCard/index.d.ts +0 -2
  267. package/dist/src/modules/fantasy/view/MatchupSingle/SingleAthleteCard/index.js +0 -2
  268. package/dist/src/modules/fantasy/view/MatchupSingle/index.d.ts +0 -2
  269. package/dist/src/modules/fantasy/view/MatchupSingle/index.js +0 -2
  270. package/dist/src/modules/fantasy/view/PromoView/PromoView.d.ts +0 -98
  271. package/dist/src/modules/fantasy/view/PromoView/PromoView.js +0 -12
  272. package/dist/src/modules/fantasy/view/PromoView/index.d.ts +0 -2
  273. package/dist/src/modules/fantasy/view/PromoView/index.js +0 -2
  274. package/dist/src/modules/fantasy/view/index.d.ts +0 -2
  275. package/dist/src/modules/fantasy/view/index.js +0 -2
  276. package/dist/src/modules/fantasy/view-model/FantasyViewModel.FantasyPolling.d.ts +0 -32
  277. package/dist/src/modules/fantasy/view-model/FantasyViewModel.FantasyPolling.js +0 -132
  278. package/dist/src/modules/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.d.ts +0 -32
  279. package/dist/src/modules/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.js +0 -141
  280. package/dist/src/modules/fantasy/view-model/FantasyViewModel.d.ts +0 -148
  281. package/dist/src/modules/fantasy/view-model/FantasyViewModel.js +0 -534
  282. package/dist/src/modules/hello-world/HelloWorldImage.d.ts +0 -3
  283. package/dist/src/modules/hello-world/HelloWorldView.d.ts +0 -11
  284. package/dist/src/modules/hello-world/HelloWorldView.js +0 -33
  285. package/dist/src/modules/hello-world/index.d.ts +0 -2
  286. package/dist/src/modules/hello-world/index.js +0 -2
  287. package/dist/src/modules/key-plays/constants.d.ts +0 -3
  288. package/dist/src/modules/key-plays/constants.js +0 -292
  289. package/dist/src/modules/key-plays/interfaces/IKeyPlays.d.ts +0 -32
  290. package/dist/src/modules/key-plays/interfaces/IKeyPlays.js +0 -14
  291. package/dist/src/modules/key-plays/interfaces/IKeyPlaysResponse.d.ts +0 -44
  292. package/dist/src/modules/key-plays/interfaces/IKeyPlaysResponse.js +0 -1
  293. package/dist/src/modules/key-plays/view/KeyPlayCardScoreTagView.d.ts +0 -9
  294. package/dist/src/modules/key-plays/view/KeyPlayCardScoreTagView.js +0 -16
  295. package/dist/src/modules/key-plays/view/KeyPlayCardView.d.ts +0 -39
  296. package/dist/src/modules/key-plays/view/KeyPlayCardView.js +0 -139
  297. package/dist/src/modules/key-plays/view/KeyPlayErrorStateView.d.ts +0 -13
  298. package/dist/src/modules/key-plays/view/KeyPlayErrorStateView.js +0 -65
  299. package/dist/src/modules/key-plays/view/KeyPlaysView.d.ts +0 -37
  300. package/dist/src/modules/key-plays/view/KeyPlaysView.js +0 -151
  301. package/dist/src/modules/key-plays/view-model/KeyPlaysViewModel.d.ts +0 -37
  302. package/dist/src/modules/key-plays/view-model/KeyPlaysViewModel.js +0 -246
  303. package/dist/src/modules/shop/mocks.d.ts +0 -22
  304. package/dist/src/modules/shop/mocks.js +0 -391
  305. package/dist/src/modules/shop/types.d.ts +0 -161
  306. package/dist/src/modules/shop/types.js +0 -7
  307. package/dist/src/modules/shop/view/ProductDetailView/ProductDetailView.d.ts +0 -9
  308. package/dist/src/modules/shop/view/ProductDetailView/ProductDetailView.js +0 -60
  309. package/dist/src/modules/shop/view/ProductDetailView/index.d.ts +0 -2
  310. package/dist/src/modules/shop/view/ProductDetailView/index.js +0 -2
  311. package/dist/src/modules/shop/view/ShopView.d.ts +0 -35
  312. package/dist/src/modules/shop/view/ShopView.js +0 -182
  313. package/dist/src/modules/shop/view/components/BrowseCard/BrowseCard.d.ts +0 -101
  314. package/dist/src/modules/shop/view/components/BrowseCard/BrowseCard.js +0 -23
  315. package/dist/src/modules/shop/view/components/BrowseCard/index.d.ts +0 -2
  316. package/dist/src/modules/shop/view/components/BrowseCard/index.js +0 -2
  317. package/dist/src/modules/shop/view/components/ProductSummaryCard/ProductSummaryCard.d.ts +0 -102
  318. package/dist/src/modules/shop/view/components/ProductSummaryCard/ProductSummaryCard.js +0 -26
  319. package/dist/src/modules/shop/view/components/ProductSummaryCard/index.d.ts +0 -2
  320. package/dist/src/modules/shop/view/components/ProductSummaryCard/index.js +0 -1
  321. package/dist/src/modules/shop/view/components/ShopPromoView/ShopPromoView.d.ts +0 -8
  322. package/dist/src/modules/shop/view/components/ShopPromoView/ShopPromoView.js +0 -19
  323. package/dist/src/modules/shop/view/components/ShopPromoView/index.d.ts +0 -1
  324. package/dist/src/modules/shop/view/components/ShopPromoView/index.js +0 -1
  325. package/dist/src/modules/shop/view/components/ShopSection/ShopSection.d.ts +0 -23
  326. package/dist/src/modules/shop/view/components/ShopSection/ShopSection.js +0 -61
  327. package/dist/src/modules/shop/view/components/ShopSection/ShopSectionItem.d.ts +0 -18
  328. package/dist/src/modules/shop/view/components/ShopSection/ShopSectionItem.js +0 -22
  329. package/dist/src/modules/shop/view/components/ShopSection/index.d.ts +0 -1
  330. package/dist/src/modules/shop/view/components/ShopSection/index.js +0 -1
  331. package/dist/src/modules/shop/view/index.d.ts +0 -2
  332. package/dist/src/modules/shop/view/index.js +0 -2
  333. package/dist/src/modules/shop/view-model/ShopViewModel.ShopPolling.d.ts +0 -31
  334. package/dist/src/modules/shop/view-model/ShopViewModel.ShopPolling.js +0 -111
  335. package/dist/src/modules/shop/view-model/ShopViewModel.d.ts +0 -77
  336. package/dist/src/modules/shop/view-model/ShopViewModel.js +0 -357
  337. package/dist/src/modules/stats/interfaces/IStats.d.ts +0 -226
  338. package/dist/src/modules/stats/interfaces/IStats.js +0 -1
  339. package/dist/src/modules/stats/mocks.d.ts +0 -2
  340. package/dist/src/modules/stats/mocks.js +0 -746
  341. package/dist/src/modules/stats/utils/driveSummaryUtils.d.ts +0 -18
  342. package/dist/src/modules/stats/utils/driveSummaryUtils.js +0 -48
  343. package/dist/src/modules/stats/utils/renderTeamStatistic.d.ts +0 -20
  344. package/dist/src/modules/stats/utils/renderTeamStatistic.js +0 -16
  345. package/dist/src/modules/stats/utils.d.ts +0 -39
  346. package/dist/src/modules/stats/utils.js +0 -62
  347. package/dist/src/modules/stats/view/ActiveAthletes/ActiveAthletes.d.ts +0 -22
  348. package/dist/src/modules/stats/view/ActiveAthletes/ActiveAthletes.js +0 -98
  349. package/dist/src/modules/stats/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.d.ts +0 -4
  350. package/dist/src/modules/stats/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.js +0 -27
  351. package/dist/src/modules/stats/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.d.ts +0 -22
  352. package/dist/src/modules/stats/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.js +0 -89
  353. package/dist/src/modules/stats/view/ActiveAthletes/index.d.ts +0 -2
  354. package/dist/src/modules/stats/view/ActiveAthletes/index.js +0 -2
  355. package/dist/src/modules/stats/view/DriveSummary/DrivePlayCard.d.ts +0 -106
  356. package/dist/src/modules/stats/view/DriveSummary/DrivePlayCard.js +0 -70
  357. package/dist/src/modules/stats/view/DriveSummary/DriveSummary.d.ts +0 -17
  358. package/dist/src/modules/stats/view/DriveSummary/DriveSummary.js +0 -87
  359. package/dist/src/modules/stats/view/DriveSummary/ExpandedItems/DriveSummaryExpanded.d.ts +0 -27
  360. package/dist/src/modules/stats/view/DriveSummary/ExpandedItems/DriveSummaryExpanded.js +0 -129
  361. package/dist/src/modules/stats/view/DriveSummary/Header/DriveSummaryHeader.d.ts +0 -12
  362. package/dist/src/modules/stats/view/DriveSummary/Header/DriveSummaryHeader.js +0 -26
  363. package/dist/src/modules/stats/view/DriveSummary/MainStat/MainStat.d.ts +0 -10
  364. package/dist/src/modules/stats/view/DriveSummary/MainStat/MainStat.js +0 -24
  365. package/dist/src/modules/stats/view/DriveSummary/index.d.ts +0 -2
  366. package/dist/src/modules/stats/view/DriveSummary/index.js +0 -2
  367. package/dist/src/modules/stats/view/GameLeaders/GameLeaders.d.ts +0 -21
  368. package/dist/src/modules/stats/view/GameLeaders/GameLeaders.js +0 -48
  369. package/dist/src/modules/stats/view/GameLeaders/index.d.ts +0 -2
  370. package/dist/src/modules/stats/view/GameLeaders/index.js +0 -2
  371. package/dist/src/modules/stats/view/MatchPredictor/DonutChart/DonutChart.d.ts +0 -17
  372. package/dist/src/modules/stats/view/MatchPredictor/DonutChart/DonutChart.js +0 -55
  373. package/dist/src/modules/stats/view/MatchPredictor/DonutChart/index.d.ts +0 -2
  374. package/dist/src/modules/stats/view/MatchPredictor/DonutChart/index.js +0 -1
  375. package/dist/src/modules/stats/view/MatchPredictor/MatchPredictorView.d.ts +0 -98
  376. package/dist/src/modules/stats/view/MatchPredictor/MatchPredictorView.js +0 -60
  377. package/dist/src/modules/stats/view/MatchPredictor/index.d.ts +0 -3
  378. package/dist/src/modules/stats/view/MatchPredictor/index.js +0 -2
  379. package/dist/src/modules/stats/view/Penalties/Penalties.d.ts +0 -9
  380. package/dist/src/modules/stats/view/Penalties/Penalties.js +0 -6
  381. package/dist/src/modules/stats/view/Penalties/index.d.ts +0 -2
  382. package/dist/src/modules/stats/view/Penalties/index.js +0 -2
  383. package/dist/src/modules/stats/view/RecentGames/RecentGames.d.ts +0 -98
  384. package/dist/src/modules/stats/view/RecentGames/RecentGames.js +0 -23
  385. package/dist/src/modules/stats/view/RecentGames/index.d.ts +0 -2
  386. package/dist/src/modules/stats/view/RecentGames/index.js +0 -2
  387. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/ExpandedScores.d.ts +0 -30
  388. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/ExpandedScores.js +0 -123
  389. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/index.d.ts +0 -2
  390. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/index.js +0 -2
  391. package/dist/src/modules/stats/view/ScoringSummary/ScoreItem/ScoreItem.d.ts +0 -98
  392. package/dist/src/modules/stats/view/ScoringSummary/ScoreItem/ScoreItem.js +0 -62
  393. package/dist/src/modules/stats/view/ScoringSummary/ScoreItem/index.d.ts +0 -2
  394. package/dist/src/modules/stats/view/ScoringSummary/ScoreItem/index.js +0 -2
  395. package/dist/src/modules/stats/view/ScoringSummary/ScoresSection/ScoresSection.d.ts +0 -6
  396. package/dist/src/modules/stats/view/ScoringSummary/ScoresSection/ScoresSection.js +0 -23
  397. package/dist/src/modules/stats/view/ScoringSummary/ScoresSection/index.d.ts +0 -2
  398. package/dist/src/modules/stats/view/ScoringSummary/ScoresSection/index.js +0 -2
  399. package/dist/src/modules/stats/view/ScoringSummary/ScoringSummary.d.ts +0 -29
  400. package/dist/src/modules/stats/view/ScoringSummary/ScoringSummary.js +0 -125
  401. package/dist/src/modules/stats/view/ScoringSummary/index.d.ts +0 -2
  402. package/dist/src/modules/stats/view/ScoringSummary/index.js +0 -2
  403. package/dist/src/modules/stats/view/StatsItemView.d.ts +0 -22
  404. package/dist/src/modules/stats/view/StatsItemView.js +0 -92
  405. package/dist/src/modules/stats/view/StatsQRCode/StatsQRCodeView.d.ts +0 -98
  406. package/dist/src/modules/stats/view/StatsQRCode/StatsQRCodeView.js +0 -36
  407. package/dist/src/modules/stats/view/StatsQRCode/index.d.ts +0 -2
  408. package/dist/src/modules/stats/view/StatsQRCode/index.js +0 -1
  409. package/dist/src/modules/stats/view/StatsView.d.ts +0 -27
  410. package/dist/src/modules/stats/view/StatsView.js +0 -137
  411. package/dist/src/modules/stats/view/TeamStats/TeamStatsView.d.ts +0 -98
  412. package/dist/src/modules/stats/view/TeamStats/TeamStatsView.js +0 -43
  413. package/dist/src/modules/stats/view/TeamStats/index.d.ts +0 -2
  414. package/dist/src/modules/stats/view/TeamStats/index.js +0 -1
  415. package/dist/src/modules/stats/view/Teams/StatsCarousel.d.ts +0 -25
  416. package/dist/src/modules/stats/view/Teams/StatsCarousel.js +0 -83
  417. package/dist/src/modules/stats/view/Teams/StatsProgressBar.d.ts +0 -6
  418. package/dist/src/modules/stats/view/Teams/StatsProgressBar.js +0 -19
  419. package/dist/src/modules/stats/view/Teams/Teams.d.ts +0 -98
  420. package/dist/src/modules/stats/view/Teams/Teams.js +0 -43
  421. package/dist/src/modules/stats/view/Teams/index.d.ts +0 -2
  422. package/dist/src/modules/stats/view/Teams/index.js +0 -2
  423. package/dist/src/modules/stats/view/WinProbability/WinProbability.d.ts +0 -98
  424. package/dist/src/modules/stats/view/WinProbability/WinProbability.js +0 -28
  425. package/dist/src/modules/stats/view/WinProbability/index.d.ts +0 -2
  426. package/dist/src/modules/stats/view/WinProbability/index.js +0 -2
  427. package/dist/src/modules/stats/view/components/AthletesStatistics/AthletesStatistics.d.ts +0 -113
  428. package/dist/src/modules/stats/view/components/AthletesStatistics/AthletesStatistics.js +0 -89
  429. package/dist/src/modules/stats/view/components/AthletesStatistics/StatisticTable.d.ts +0 -3
  430. package/dist/src/modules/stats/view/components/AthletesStatistics/StatisticTable.js +0 -12
  431. package/dist/src/modules/stats/view/components/AthletesStatistics/index.d.ts +0 -2
  432. package/dist/src/modules/stats/view/components/AthletesStatistics/index.js +0 -2
  433. package/dist/src/modules/stats/view/index.d.ts +0 -2
  434. package/dist/src/modules/stats/view/index.js +0 -2
  435. package/dist/src/modules/stats/view-model/StatsViewModel.d.ts +0 -241
  436. package/dist/src/modules/stats/view-model/StatsViewModel.js +0 -989
  437. package/dist/src/sentry.d.ts +0 -3
  438. package/dist/src/sentry.js +0 -31
  439. package/dist/src/services/AnalyticsService/AnalyticsService.d.ts +0 -84
  440. package/dist/src/services/AnalyticsService/AnalyticsService.js +0 -404
  441. package/dist/src/services/AnalyticsService/types.d.ts +0 -65
  442. package/dist/src/services/AnalyticsService/types.js +0 -1
  443. package/dist/src/services/BetsService.d.ts +0 -81
  444. package/dist/src/services/BetsService.js +0 -122
  445. package/dist/src/services/FantasyService.d.ts +0 -53
  446. package/dist/src/services/FantasyService.js +0 -92
  447. package/dist/src/services/GlobalService/GlobalService.d.ts +0 -9
  448. package/dist/src/services/GlobalService/PageService.d.ts +0 -9
  449. package/dist/src/services/GlobalService/index.d.ts +0 -2
  450. package/dist/src/services/GlobalService/mocks.d.ts +0 -2
  451. package/dist/src/services/GlobalService/types.d.ts +0 -11
  452. package/dist/src/services/InsightsService/InsightsPayloadBuilder.d.ts +0 -279
  453. package/dist/src/services/InsightsService/InsightsPayloadBuilder.js +0 -386
  454. package/dist/src/services/InsightsService/InsightsService.d.ts +0 -11
  455. package/dist/src/services/InsightsService/InsightsService.js +0 -74
  456. package/dist/src/services/NetworkManager/NetworkManager.d.ts +0 -147
  457. package/dist/src/services/NetworkManager/NetworkManager.js +0 -457
  458. package/dist/src/services/NetworkManager/NetworkManagerFactory.d.ts +0 -42
  459. package/dist/src/services/NetworkManager/NetworkManagerFactory.js +0 -101
  460. package/dist/src/services/NetworkManager/errors.d.ts +0 -17
  461. package/dist/src/services/NetworkManager/errors.js +0 -45
  462. package/dist/src/services/NetworkManager/types.d.ts +0 -103
  463. package/dist/src/services/NetworkManager/types.js +0 -10
  464. package/dist/src/services/PageService/PageService.d.ts +0 -9
  465. package/dist/src/services/PageService/PageService.js +0 -39
  466. package/dist/src/services/PageService/index.d.ts +0 -2
  467. package/dist/src/services/PageService/index.js +0 -2
  468. package/dist/src/services/PageService/mocks.d.ts +0 -2
  469. package/dist/src/services/PageService/mocks.js +0 -104
  470. package/dist/src/services/PageService/types.d.ts +0 -76
  471. package/dist/src/services/PageService/types.js +0 -1
  472. package/dist/src/services/ShopService.d.ts +0 -23
  473. package/dist/src/services/ShopService.js +0 -46
  474. package/dist/src/services/StaticService/PageService.d.ts +0 -9
  475. package/dist/src/services/StaticService/StaticService.d.ts +0 -12
  476. package/dist/src/services/StaticService/StaticService.js +0 -59
  477. package/dist/src/services/StaticService/index.d.ts +0 -2
  478. package/dist/src/services/StaticService/index.js +0 -2
  479. package/dist/src/services/StaticService/mocks.d.ts +0 -2
  480. package/dist/src/services/StaticService/mocks.js +0 -104
  481. package/dist/src/services/StaticService/types.d.ts +0 -76
  482. package/dist/src/services/StaticService/types.js +0 -1
  483. package/dist/src/services/StatsService.d.ts +0 -46
  484. package/dist/src/services/StatsService.js +0 -147
  485. package/dist/src/services/ThemeManager/constants.d.ts +0 -2
  486. package/dist/src/services/ThemeManager/constants.js +0 -47
  487. package/dist/src/services/UserSettingsManager.d.ts +0 -63
  488. package/dist/src/services/UserSettingsManager.js +0 -155
  489. package/dist/src/test-polyfills.d.ts +0 -1
  490. package/dist/src/test-polyfills.js +0 -15
  491. package/dist/src/types/OverlayTypes.d.ts +0 -43
  492. package/dist/src/types/OverlayTypes.js +0 -4
  493. package/dist/src/view-models/MaestroEventViewModel.d.ts +0 -63
  494. package/dist/src/view-models/MaestroEventViewModel.js +0 -304
  495. package/dist/src/view-models/OverlayViewModel.d.ts +0 -33
  496. package/dist/src/view-models/OverlayViewModel.js +0 -222
  497. package/dist/src/view-models/PanelManagerViewModel.d.ts +0 -46
  498. package/dist/src/view-models/PanelManagerViewModel.js +0 -212
  499. package/dist/src/view-models/ViewModel.d.ts +0 -12
  500. package/dist/src/view-models/ViewModel.js +0 -32
@@ -1,2 +0,0 @@
1
- import ShopView from './ShopView';
2
- export default ShopView;
@@ -1,2 +0,0 @@
1
- import ShopView from './ShopView';
2
- export default ShopView;
@@ -1,31 +0,0 @@
1
- import ShopService from '@/services/ShopService';
2
- import { IShopResponse } from '../types';
3
- export default class ShopPolling {
4
- private polling;
5
- private shopService;
6
- constructor(service: ShopService);
7
- /**
8
- * Refresh polling for shop data
9
- */
10
- refresh(callback: (data: IShopResponse) => void): void;
11
- /**
12
- * Stop polling for shop data
13
- */
14
- stop(): void;
15
- removeLastResponseHash(): void;
16
- private start;
17
- /**
18
- * @description Update polling interval checking either response header or panel config.
19
- * Refresh polling if necessary.
20
- */
21
- private updateInterval;
22
- private getResponseHeaderPollingIntervalValue;
23
- /**
24
- * Process data received from polling
25
- */
26
- private processPolledData;
27
- /**
28
- * Handle errors that occur during shop polling
29
- */
30
- private handlePollingError;
31
- }
@@ -1,111 +0,0 @@
1
- import { captureException } from '@/sentry';
2
- import { stringHashCode } from '@/helpers/strings';
3
- const DEFAULT_SHOP_POLLING_INTERVAL = 30000; // 30 seconds
4
- export default class ShopPolling {
5
- constructor(service) {
6
- Object.defineProperty(this, "polling", {
7
- enumerable: true,
8
- configurable: true,
9
- writable: true,
10
- value: {
11
- interval: DEFAULT_SHOP_POLLING_INTERVAL,
12
- task: null,
13
- lastResponseHash: null,
14
- }
15
- });
16
- Object.defineProperty(this, "shopService", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: void 0
21
- });
22
- this.shopService = service;
23
- }
24
- /**
25
- * Refresh polling for shop data
26
- */
27
- refresh(callback) {
28
- // First stop any existing polling
29
- this.stop();
30
- // Start the poll loop
31
- this.start(callback);
32
- }
33
- /**
34
- * Stop polling for shop data
35
- */
36
- stop() {
37
- if (this.polling.task) {
38
- this.polling.task.stop();
39
- this.polling.task = null;
40
- }
41
- }
42
- removeLastResponseHash() {
43
- this.polling.lastResponseHash = null;
44
- }
45
- start(callback) {
46
- try {
47
- this.polling.task = this.shopService.pollShopData(this.polling.interval, (response) => {
48
- this.updateInterval(response.headers, callback);
49
- this.processPolledData(response.data, callback);
50
- }, (error) => this.handlePollingError(error));
51
- }
52
- catch (error) {
53
- captureException(error, {
54
- context: 'ShopViewModel.pollShop',
55
- });
56
- console.error('[SHOP] Error setting up shop polling:', error);
57
- }
58
- }
59
- /**
60
- * @description Update polling interval checking either response header or panel config.
61
- * Refresh polling if necessary.
62
- */
63
- updateInterval(headers, callback) {
64
- const headerInterval = this.getResponseHeaderPollingIntervalValue(headers);
65
- // Only update if we have a valid new interval and it's different from current
66
- if (headerInterval && headerInterval !== this.polling.interval) {
67
- console.log(`[SHOP] Updating shop polling interval from ${this.polling.interval}ms to ${headerInterval}ms`);
68
- this.polling.interval = headerInterval;
69
- // Restart polling with the new interval
70
- this.refresh(callback);
71
- }
72
- }
73
- getResponseHeaderPollingIntervalValue(headers) {
74
- const newInterval = headers['polling-interval'];
75
- if (!newInterval) {
76
- return null;
77
- }
78
- const parsedInterval = parseInt(newInterval, 10);
79
- if (isNaN(parsedInterval) || parsedInterval <= 0) {
80
- console.warn(`[SHOP] Invalid polling interval header received: ${newInterval}.`);
81
- return null;
82
- }
83
- return parsedInterval * 1000; // Convert seconds to milliseconds
84
- }
85
- /**
86
- * Process data received from polling
87
- */
88
- processPolledData(data, callback) {
89
- // Calculate hash for the response to check if it's different from the last one
90
- const responseHash = stringHashCode(JSON.stringify(data));
91
- // Check if this is the same as the last successful response
92
- if (this.polling.lastResponseHash === responseHash) {
93
- console.log('[SHOP] Shop Response hash is the same as last successful response - skipping update');
94
- return;
95
- }
96
- this.polling.lastResponseHash = responseHash;
97
- callback(data);
98
- }
99
- /**
100
- * Handle errors that occur during shop polling
101
- */
102
- handlePollingError(error) {
103
- console.error('[SHOP] Shop polling error:', error);
104
- captureException(error, {
105
- context: 'ShopViewModel.pollShop',
106
- extra: {
107
- pollingInterval: this.polling.interval,
108
- },
109
- });
110
- }
111
- }
@@ -1,77 +0,0 @@
1
- import { Observable } from '../../../helpers/Observable';
2
- import { ViewModel } from '../../../view-models/ViewModel';
3
- import { IShopSection, IShopProduct, IShopBrowseCard, IShopDefaultItem } from '../types';
4
- import { TestUseCase } from '@/interfaces/IMaestroEvent';
5
- declare const SHOP_ERROR_STATE: {
6
- readonly NONE: "none";
7
- readonly TAB_LOAD_FAILURE: "tabLoadFailure";
8
- readonly EMPTY_SHOP: "emptyShop";
9
- };
10
- export type ShopErrorState = typeof SHOP_ERROR_STATE[keyof typeof SHOP_ERROR_STATE];
11
- /**
12
- * ViewModel for Shop panel
13
- * Manages shop data fetching, polling, and state
14
- */
15
- export declare class ShopViewModel extends ViewModel {
16
- sections: Observable<IShopSection[]>;
17
- isDataLoading: Observable<boolean>;
18
- errorState: Observable<ShopErrorState>;
19
- hasEverSuccessfullyLoaded: Observable<boolean>;
20
- promoData: Observable<IShopDefaultItem | null>;
21
- private shopService;
22
- private analyticsService;
23
- private shopPolling;
24
- private useMockData;
25
- private mockDataType;
26
- initialized: boolean;
27
- constructor(eventId: string, options?: {
28
- useMockData?: boolean;
29
- mockDataType?: 'nfl' | 'nba' | 'ncf' | 'empty' | 'single';
30
- });
31
- /**
32
- * Initialize the ViewModel and start data fetching
33
- */
34
- init(): void;
35
- /**
36
- * Clean up resources when the ViewModel is no longer needed
37
- */
38
- cleanup(): void;
39
- /**
40
- * Track panel view event
41
- */
42
- private trackPanelView;
43
- /**
44
- * Parse price string to number, handling currency formats
45
- */
46
- private parsePriceToNumber;
47
- /**
48
- * Track shop item card click event
49
- */
50
- trackItemClick(card: 'product_summary' | 'want more' | 'product_detail' | 'fallback', item: IShopProduct | IShopBrowseCard | null, section: IShopSection | null): Promise<void>;
51
- /**
52
- * Refresh polling for shop data
53
- */
54
- refreshPolling(): void;
55
- /**
56
- * Process the shop data and update the sections
57
- */
58
- private processShopData;
59
- setTabLoadFailure(): void;
60
- /**
61
- * Fetch new shop data immediately (one-time)
62
- */
63
- fetchNewData(): void;
64
- /**
65
- * Fetch mock data for testing
66
- */
67
- private fetchMockData;
68
- /**
69
- * Simulate different use cases for testing
70
- */
71
- simulateUseCase<T = any>(useCase: TestUseCase, data: T): void;
72
- /**
73
- * Clear tab load failure and retry
74
- */
75
- clearTabLoadFailure(): void;
76
- }
77
- export default ShopViewModel;
@@ -1,357 +0,0 @@
1
- import { Observable } from '../../../helpers/Observable';
2
- import ShopService from '../../../services/ShopService';
3
- import AnalyticsService from '../../../services/AnalyticsService/AnalyticsService';
4
- import { ViewModel } from '../../../view-models/ViewModel';
5
- import { isShopProduct, } from '../types';
6
- import { MOCK_SHOP_NFL_RESPONSE, MOCK_SHOP_NBA_RESPONSE, MOCK_SHOP_NCF_RESPONSE, MOCK_SHOP_EMPTY_RESPONSE, MOCK_SHOP_SINGLE_SECTION_RESPONSE, } from '../mocks';
7
- import { captureException } from '@/sentry';
8
- import ShopPolling from './ShopViewModel.ShopPolling';
9
- import SDK from '@/index';
10
- const SHOP_ERROR_STATE = {
11
- NONE: 'none',
12
- TAB_LOAD_FAILURE: 'tabLoadFailure',
13
- EMPTY_SHOP: 'emptyShop',
14
- };
15
- /**
16
- * ViewModel for Shop panel
17
- * Manages shop data fetching, polling, and state
18
- */
19
- export class ShopViewModel extends ViewModel {
20
- constructor(eventId, options = {}) {
21
- super();
22
- // Observable properties
23
- Object.defineProperty(this, "sections", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: new Observable([])
28
- });
29
- Object.defineProperty(this, "isDataLoading", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: new Observable(true)
34
- });
35
- Object.defineProperty(this, "errorState", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: new Observable('none')
40
- });
41
- Object.defineProperty(this, "hasEverSuccessfullyLoaded", {
42
- enumerable: true,
43
- configurable: true,
44
- writable: true,
45
- value: new Observable(false)
46
- });
47
- Object.defineProperty(this, "promoData", {
48
- enumerable: true,
49
- configurable: true,
50
- writable: true,
51
- value: new Observable(null)
52
- });
53
- // Properties
54
- Object.defineProperty(this, "shopService", {
55
- enumerable: true,
56
- configurable: true,
57
- writable: true,
58
- value: void 0
59
- });
60
- Object.defineProperty(this, "analyticsService", {
61
- enumerable: true,
62
- configurable: true,
63
- writable: true,
64
- value: void 0
65
- });
66
- Object.defineProperty(this, "shopPolling", {
67
- enumerable: true,
68
- configurable: true,
69
- writable: true,
70
- value: void 0
71
- });
72
- Object.defineProperty(this, "useMockData", {
73
- enumerable: true,
74
- configurable: true,
75
- writable: true,
76
- value: false
77
- });
78
- Object.defineProperty(this, "mockDataType", {
79
- enumerable: true,
80
- configurable: true,
81
- writable: true,
82
- value: 'nfl'
83
- });
84
- Object.defineProperty(this, "initialized", {
85
- enumerable: true,
86
- configurable: true,
87
- writable: true,
88
- value: false
89
- });
90
- this.shopService = new ShopService(eventId);
91
- this.analyticsService = new AnalyticsService();
92
- this.shopPolling = new ShopPolling(this.shopService);
93
- this.useMockData = options.useMockData || false;
94
- this.mockDataType = options.mockDataType || 'nfl';
95
- }
96
- /**
97
- * Initialize the ViewModel and start data fetching
98
- */
99
- init() {
100
- // Track panel view on initialization
101
- this.trackPanelView();
102
- this.fetchNewData();
103
- this.initialized = true;
104
- }
105
- /**
106
- * Clean up resources when the ViewModel is no longer needed
107
- */
108
- cleanup() {
109
- this.shopPolling.stop();
110
- this.initialized = false;
111
- }
112
- /**
113
- * Track panel view event
114
- */
115
- async trackPanelView() {
116
- try {
117
- const gameState = SDK.getMaestroEventViewModel().statsViewModel?.currentGameState.value ||
118
- 'unknown';
119
- await this.analyticsService.panelView('espnShop', {
120
- game_state: [gameState],
121
- });
122
- }
123
- catch (error) {
124
- captureException(error, {
125
- context: 'ShopViewModel.trackPanelView',
126
- });
127
- console.error('[SHOP] Error tracking panel view:', error);
128
- }
129
- }
130
- /**
131
- * Parse price string to number, handling currency formats
132
- */
133
- parsePriceToNumber(priceString) {
134
- // Remove currency symbols and spaces
135
- const cleaned = priceString.replace(/[^0-9.,]/g, '');
136
- // Find the last occurrence of comma or dot (decimal separator)
137
- const lastComma = cleaned.lastIndexOf(',');
138
- const lastDot = cleaned.lastIndexOf('.');
139
- let normalized;
140
- if (lastComma > lastDot) {
141
- // EU format: €1.234,56 -> comma is decimal separator
142
- normalized = cleaned.replace(/\./g, '').replace(',', '.');
143
- }
144
- else if (lastDot > lastComma) {
145
- // US format: $1,234.56 -> dot is decimal separator
146
- normalized = cleaned.replace(/,/g, '');
147
- }
148
- else if (lastComma !== -1) {
149
- // Only comma present, assume decimal: €25,00
150
- normalized = cleaned.replace(',', '.');
151
- }
152
- else if (lastDot !== -1) {
153
- // Only dot present, assume decimal: $25.00
154
- normalized = cleaned;
155
- }
156
- else {
157
- // No separators: 25
158
- normalized = cleaned;
159
- }
160
- return Number(normalized) || 0;
161
- }
162
- /**
163
- * Track shop item card click event
164
- */
165
- async trackItemClick(card, item, section) {
166
- try {
167
- let sale = 0;
168
- let price = null;
169
- const gameState = SDK.getMaestroEventViewModel().statsViewModel?.currentGameState.value ||
170
- 'unknown';
171
- if (item && isShopProduct(item)) {
172
- const basePrice = item.price?.displayRetail;
173
- const currentPrice = item.price?.displayClearance ||
174
- item.price?.displaySale ||
175
- item.price?.displayRetail;
176
- if (currentPrice && basePrice) {
177
- const basePriceNumber = this.parsePriceToNumber(basePrice);
178
- const salePriceNumber = this.parsePriceToNumber(currentPrice);
179
- if (basePriceNumber > 0) {
180
- sale = Math.round((1 - salePriceNumber / basePriceNumber) * 100);
181
- }
182
- else {
183
- sale = 0;
184
- }
185
- price = currentPrice;
186
- }
187
- }
188
- await this.analyticsService.panelClick({
189
- type: 'espnShop',
190
- name: 'shop_item_clicked',
191
- metadata: {
192
- card: [card],
193
- game_state: [gameState],
194
- product: section?.product?.id || null,
195
- entity_type: [section?.product?.type || 'unknown'],
196
- entity_name: [section?.product?.shortDisplayName || 'unknown'],
197
- price,
198
- sale: [`${sale}%`],
199
- },
200
- });
201
- }
202
- catch (error) {
203
- captureException(error, {
204
- context: 'ShopViewModel.trackItemClick',
205
- item,
206
- section,
207
- });
208
- console.error('[SHOP] Error tracking shop item click:', error);
209
- }
210
- }
211
- /**
212
- * Refresh polling for shop data
213
- */
214
- refreshPolling() {
215
- try {
216
- if (this.useMockData) {
217
- return;
218
- }
219
- this.shopPolling.refresh(this.processShopData.bind(this));
220
- }
221
- catch (err) {
222
- this.setTabLoadFailure();
223
- }
224
- }
225
- /**
226
- * Process the shop data and update the sections
227
- */
228
- processShopData(data) {
229
- try {
230
- const shop = data.shop?.[0];
231
- const sections = shop?.sections || [];
232
- // Check if there are any sections
233
- if (!sections?.length && shop?.defaultItem) {
234
- this.errorState.value = 'emptyShop';
235
- this.sections.value = [];
236
- this.promoData.value = shop.defaultItem;
237
- return;
238
- }
239
- // Update sections and clear error state
240
- this.sections.value = sections;
241
- this.errorState.value = 'none';
242
- this.hasEverSuccessfullyLoaded.value = true;
243
- if (this.isDataLoading.value) {
244
- this.isDataLoading.value = false;
245
- }
246
- }
247
- catch (err) {
248
- captureException(err, {
249
- context: 'ShopViewModel.processShopData',
250
- });
251
- console.error('[SHOP] Error processing shop data:', err);
252
- this.setTabLoadFailure();
253
- }
254
- }
255
- setTabLoadFailure() {
256
- if (!this.hasEverSuccessfullyLoaded.value) {
257
- this.errorState.value = 'tabLoadFailure';
258
- this.sections.value = [];
259
- }
260
- if (this.isDataLoading.value) {
261
- this.isDataLoading.value = false;
262
- }
263
- }
264
- /**
265
- * Fetch new shop data immediately (one-time)
266
- */
267
- fetchNewData() {
268
- this.isDataLoading.value = true;
269
- try {
270
- // Handle mock data if enabled
271
- if (this.useMockData) {
272
- this.sections.value = [];
273
- this.fetchMockData();
274
- return;
275
- }
276
- this.refreshPolling();
277
- }
278
- catch (error) {
279
- captureException(error, {
280
- context: 'ShopViewModel.fetchNewData',
281
- });
282
- console.error('[SHOP] Error fetching shop data:', error);
283
- this.setTabLoadFailure();
284
- }
285
- }
286
- /**
287
- * Fetch mock data for testing
288
- */
289
- fetchMockData() {
290
- let mockData;
291
- switch (this.mockDataType) {
292
- case 'nba':
293
- mockData = MOCK_SHOP_NBA_RESPONSE;
294
- break;
295
- case 'ncf':
296
- mockData = MOCK_SHOP_NCF_RESPONSE;
297
- break;
298
- case 'empty':
299
- mockData = MOCK_SHOP_EMPTY_RESPONSE;
300
- break;
301
- case 'single':
302
- mockData = MOCK_SHOP_SINGLE_SECTION_RESPONSE;
303
- break;
304
- case 'nfl':
305
- default:
306
- mockData = MOCK_SHOP_NFL_RESPONSE;
307
- break;
308
- }
309
- this.processShopData(mockData);
310
- this.hasEverSuccessfullyLoaded.value = true;
311
- this.isDataLoading.value = false;
312
- }
313
- /**
314
- * Simulate different use cases for testing
315
- */
316
- simulateUseCase(useCase, data) {
317
- switch (useCase) {
318
- case 'shopTabLoadFailure':
319
- this.errorState.value = 'tabLoadFailure';
320
- this.sections.value = [];
321
- break;
322
- case 'shopEmptyState':
323
- this.errorState.value = 'emptyShop';
324
- this.sections.value = [];
325
- break;
326
- case 'shopMockData':
327
- this.shopPolling.stop();
328
- this.useMockData = true;
329
- this.mockDataType = data?.mockDataType || 'nfl';
330
- this.shopPolling.removeLastResponseHash();
331
- this.errorState.value = 'none';
332
- this.fetchNewData();
333
- break;
334
- case 'shopLiveData':
335
- this.useMockData = false;
336
- this.shopPolling.removeLastResponseHash();
337
- this.hasEverSuccessfullyLoaded.value = false;
338
- this.errorState.value = 'none';
339
- this.fetchNewData();
340
- this.refreshPolling();
341
- break;
342
- default:
343
- throw new Error(`Unsupported use case: ${useCase}`);
344
- }
345
- }
346
- /**
347
- * Clear tab load failure and retry
348
- */
349
- clearTabLoadFailure() {
350
- this.errorState.value = 'none';
351
- this.shopPolling.removeLastResponseHash();
352
- setTimeout(() => {
353
- this.refreshPolling();
354
- }, 100);
355
- }
356
- }
357
- export default ShopViewModel;