@maestro_io/maestro-web-sdk 4.0.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (599) hide show
  1. package/dist/1.maestro-web-sdk.esm.js +2 -0
  2. package/dist/1.maestro-web-sdk.esm.js.map +1 -0
  3. package/dist/1.maestro-web-sdk.umd.js +2 -0
  4. package/dist/1.maestro-web-sdk.umd.js.map +1 -0
  5. package/dist/10.maestro-web-sdk.esm.js +2 -0
  6. package/dist/10.maestro-web-sdk.esm.js.map +1 -0
  7. package/dist/10.maestro-web-sdk.umd.js +2 -0
  8. package/dist/10.maestro-web-sdk.umd.js.map +1 -0
  9. package/dist/11.maestro-web-sdk.esm.js +2 -0
  10. package/dist/11.maestro-web-sdk.esm.js.map +1 -0
  11. package/dist/11.maestro-web-sdk.umd.js +2 -0
  12. package/dist/11.maestro-web-sdk.umd.js.map +1 -0
  13. package/dist/12.maestro-web-sdk.esm.js +2 -0
  14. package/dist/12.maestro-web-sdk.esm.js.map +1 -0
  15. package/dist/12.maestro-web-sdk.umd.js +2 -0
  16. package/dist/12.maestro-web-sdk.umd.js.map +1 -0
  17. package/dist/13.maestro-web-sdk.esm.js +2 -0
  18. package/dist/13.maestro-web-sdk.esm.js.map +1 -0
  19. package/dist/13.maestro-web-sdk.umd.js +2 -0
  20. package/dist/13.maestro-web-sdk.umd.js.map +1 -0
  21. package/dist/14.maestro-web-sdk.esm.js +2 -0
  22. package/dist/14.maestro-web-sdk.esm.js.map +1 -0
  23. package/dist/14.maestro-web-sdk.umd.js +2 -0
  24. package/dist/14.maestro-web-sdk.umd.js.map +1 -0
  25. package/dist/15.maestro-web-sdk.esm.js +2 -0
  26. package/dist/15.maestro-web-sdk.esm.js.map +1 -0
  27. package/dist/15.maestro-web-sdk.umd.js +2 -0
  28. package/dist/15.maestro-web-sdk.umd.js.map +1 -0
  29. package/dist/16.maestro-web-sdk.esm.js +2 -0
  30. package/dist/16.maestro-web-sdk.esm.js.map +1 -0
  31. package/dist/16.maestro-web-sdk.umd.js +2 -0
  32. package/dist/16.maestro-web-sdk.umd.js.map +1 -0
  33. package/dist/17.maestro-web-sdk.esm.js +2 -0
  34. package/dist/17.maestro-web-sdk.esm.js.map +1 -0
  35. package/dist/17.maestro-web-sdk.umd.js +2 -0
  36. package/dist/17.maestro-web-sdk.umd.js.map +1 -0
  37. package/dist/18.maestro-web-sdk.esm.js +2 -0
  38. package/dist/18.maestro-web-sdk.esm.js.map +1 -0
  39. package/dist/18.maestro-web-sdk.umd.js +2 -0
  40. package/dist/18.maestro-web-sdk.umd.js.map +1 -0
  41. package/dist/19.maestro-web-sdk.esm.js +2 -0
  42. package/dist/19.maestro-web-sdk.esm.js.map +1 -0
  43. package/dist/19.maestro-web-sdk.umd.js +2 -0
  44. package/dist/19.maestro-web-sdk.umd.js.map +1 -0
  45. package/dist/2.maestro-web-sdk.esm.js +2 -0
  46. package/dist/2.maestro-web-sdk.esm.js.map +1 -0
  47. package/dist/2.maestro-web-sdk.umd.js +2 -0
  48. package/dist/2.maestro-web-sdk.umd.js.map +1 -0
  49. package/dist/20.maestro-web-sdk.esm.js +2 -0
  50. package/dist/20.maestro-web-sdk.esm.js.map +1 -0
  51. package/dist/20.maestro-web-sdk.umd.js +2 -0
  52. package/dist/20.maestro-web-sdk.umd.js.map +1 -0
  53. package/dist/21.maestro-web-sdk.esm.js +2 -0
  54. package/dist/21.maestro-web-sdk.esm.js.map +1 -0
  55. package/dist/21.maestro-web-sdk.umd.js +2 -0
  56. package/dist/21.maestro-web-sdk.umd.js.map +1 -0
  57. package/dist/22.maestro-web-sdk.esm.js +2 -0
  58. package/dist/22.maestro-web-sdk.esm.js.map +1 -0
  59. package/dist/22.maestro-web-sdk.umd.js +2 -0
  60. package/dist/22.maestro-web-sdk.umd.js.map +1 -0
  61. package/dist/23.maestro-web-sdk.esm.js +2 -0
  62. package/dist/23.maestro-web-sdk.esm.js.map +1 -0
  63. package/dist/23.maestro-web-sdk.umd.js +2 -0
  64. package/dist/23.maestro-web-sdk.umd.js.map +1 -0
  65. package/dist/24.maestro-web-sdk.esm.js +2 -0
  66. package/dist/24.maestro-web-sdk.esm.js.map +1 -0
  67. package/dist/24.maestro-web-sdk.umd.js +2 -0
  68. package/dist/24.maestro-web-sdk.umd.js.map +1 -0
  69. package/dist/3.maestro-web-sdk.esm.js +2 -0
  70. package/dist/3.maestro-web-sdk.esm.js.map +1 -0
  71. package/dist/3.maestro-web-sdk.umd.js +2 -0
  72. package/dist/3.maestro-web-sdk.umd.js.map +1 -0
  73. package/dist/4.maestro-web-sdk.esm.js +2 -0
  74. package/dist/4.maestro-web-sdk.esm.js.map +1 -0
  75. package/dist/4.maestro-web-sdk.umd.js +2 -0
  76. package/dist/4.maestro-web-sdk.umd.js.map +1 -0
  77. package/dist/5.maestro-web-sdk.esm.js +2 -0
  78. package/dist/5.maestro-web-sdk.esm.js.map +1 -0
  79. package/dist/5.maestro-web-sdk.umd.js +2 -0
  80. package/dist/5.maestro-web-sdk.umd.js.map +1 -0
  81. package/dist/6.maestro-web-sdk.esm.js +2 -0
  82. package/dist/6.maestro-web-sdk.esm.js.map +1 -0
  83. package/dist/6.maestro-web-sdk.umd.js +2 -0
  84. package/dist/6.maestro-web-sdk.umd.js.map +1 -0
  85. package/dist/7.maestro-web-sdk.esm.js +2 -0
  86. package/dist/7.maestro-web-sdk.esm.js.map +1 -0
  87. package/dist/7.maestro-web-sdk.umd.js +2 -0
  88. package/dist/7.maestro-web-sdk.umd.js.map +1 -0
  89. package/dist/8.maestro-web-sdk.esm.js +2 -0
  90. package/dist/8.maestro-web-sdk.esm.js.map +1 -0
  91. package/dist/8.maestro-web-sdk.umd.js +2 -0
  92. package/dist/8.maestro-web-sdk.umd.js.map +1 -0
  93. package/dist/9.maestro-web-sdk.esm.js +2 -0
  94. package/dist/9.maestro-web-sdk.esm.js.map +1 -0
  95. package/dist/9.maestro-web-sdk.umd.js +2 -0
  96. package/dist/9.maestro-web-sdk.umd.js.map +1 -0
  97. package/dist/bundle-report.html +53 -0
  98. package/dist/maestro-web-sdk.esm.js +2 -2
  99. package/dist/maestro-web-sdk.esm.js.map +1 -1
  100. package/dist/maestro-web-sdk.umd.js +2 -2
  101. package/dist/maestro-web-sdk.umd.js.map +1 -1
  102. package/dist/package.json +92 -0
  103. package/dist/src/components/atoms/BaseButton/BaseButton.d.ts +7 -0
  104. package/dist/src/components/atoms/BaseButton/BaseButton.js +11 -0
  105. package/dist/src/components/atoms/BaseButton/index.d.ts +2 -0
  106. package/dist/src/components/atoms/BaseButton/index.js +2 -0
  107. package/dist/src/components/atoms/Image/index.d.ts +13 -0
  108. package/dist/src/components/atoms/Image/index.js +34 -0
  109. package/dist/src/components/atoms/Rive/index.d.ts +219 -0
  110. package/dist/src/components/atoms/Rive/index.js +53 -0
  111. package/dist/src/components/atoms/SvgIcon/BetGeneralIcon.d.ts +3 -0
  112. package/dist/src/components/atoms/SvgIcon/BetGeneralIcon.js +9 -0
  113. package/dist/src/components/atoms/SvgIcon/BetsIcon.d.ts +3 -0
  114. package/dist/src/components/atoms/SvgIcon/BetsIcon.js +8 -0
  115. package/dist/src/components/atoms/SvgIcon/BetsWarningIcon.d.ts +7 -0
  116. package/dist/src/components/atoms/SvgIcon/BetsWarningIcon.js +11 -0
  117. package/dist/src/components/atoms/SvgIcon/ChatIcon.d.ts +3 -0
  118. package/dist/src/components/atoms/SvgIcon/ChatIcon.js +6 -0
  119. package/dist/src/components/atoms/SvgIcon/CheckmarkIcon.d.ts +3 -0
  120. package/dist/src/components/atoms/SvgIcon/CheckmarkIcon.js +6 -0
  121. package/dist/src/components/atoms/SvgIcon/CollapseIcon.d.ts +3 -0
  122. package/dist/src/components/atoms/SvgIcon/CollapseIcon.js +6 -0
  123. package/dist/src/components/atoms/SvgIcon/ExpandIcon.d.ts +3 -0
  124. package/dist/src/components/atoms/SvgIcon/ExpandIcon.js +6 -0
  125. package/dist/src/components/atoms/SvgIcon/FantasyIcon.d.ts +7 -0
  126. package/dist/src/components/atoms/SvgIcon/FantasyIcon.js +15 -0
  127. package/dist/src/components/atoms/SvgIcon/FlameIcon.d.ts +7 -0
  128. package/dist/src/components/atoms/SvgIcon/FlameIcon.js +11 -0
  129. package/dist/src/components/atoms/SvgIcon/HelloWorldIcon.d.ts +3 -0
  130. package/dist/src/components/atoms/SvgIcon/HelloWorldIcon.js +6 -0
  131. package/dist/src/components/atoms/SvgIcon/Icon.d.ts +39 -0
  132. package/dist/src/components/atoms/SvgIcon/Icon.js +44 -0
  133. package/dist/src/components/atoms/SvgIcon/KeyPlaysIcon.d.ts +6 -0
  134. package/dist/src/components/atoms/SvgIcon/KeyPlaysIcon.js +10 -0
  135. package/dist/src/components/atoms/SvgIcon/MobilePhoneIcon.d.ts +7 -0
  136. package/dist/src/components/atoms/SvgIcon/MobilePhoneIcon.js +11 -0
  137. package/dist/src/components/atoms/SvgIcon/PlayIcon.d.ts +6 -0
  138. package/dist/src/components/atoms/SvgIcon/PlayIcon.js +8 -0
  139. package/dist/src/components/atoms/SvgIcon/ShopIcon.d.ts +5 -0
  140. package/dist/src/components/atoms/SvgIcon/ShopIcon.js +7 -0
  141. package/dist/src/components/atoms/SvgIcon/ShopifyIcon.d.ts +3 -0
  142. package/dist/src/components/atoms/SvgIcon/ShopifyIcon.js +6 -0
  143. package/dist/src/components/atoms/SvgIcon/StatsIcon.d.ts +6 -0
  144. package/dist/src/components/atoms/SvgIcon/StatsIcon.js +12 -0
  145. package/dist/src/components/atoms/SvgIcon/TimesIcon.d.ts +3 -0
  146. package/dist/src/components/atoms/SvgIcon/TimesIcon.js +6 -0
  147. package/dist/src/components/atoms/SvgIcon/WarningIcon.d.ts +6 -0
  148. package/dist/src/components/atoms/SvgIcon/WarningIcon.js +8 -0
  149. package/dist/src/components/atoms/SvgIcon/index.d.ts +2 -0
  150. package/dist/src/components/atoms/SvgIcon/index.js +2 -0
  151. package/dist/src/components/core/App/App.d.ts +11 -0
  152. package/dist/src/components/core/App/App.js +35 -0
  153. package/dist/src/components/core/App/index.d.ts +2 -0
  154. package/dist/src/components/core/App/index.js +2 -0
  155. package/dist/src/components/core/PanelManager/PanelManager.d.ts +21 -0
  156. package/dist/src/components/core/PanelManager/PanelManager.js +86 -0
  157. package/dist/src/components/core/PanelManager/index.d.ts +2 -0
  158. package/dist/src/components/core/PanelManager/index.js +2 -0
  159. package/dist/src/components/core/ScrollableContainer/FocusableItem.d.ts +6 -0
  160. package/dist/src/components/core/ScrollableContainer/FocusableItem.js +38 -0
  161. package/dist/src/components/core/ScrollableContainer/ScrollableContainer.d.ts +78 -0
  162. package/dist/src/components/core/ScrollableContainer/ScrollableContainer.js +169 -0
  163. package/dist/src/components/core/ScrollableContainer/index.d.ts +2 -0
  164. package/dist/src/components/core/ScrollableContainer/index.js +2 -0
  165. package/dist/src/components/molecules/ActionButton/ActionButton.d.ts +94 -0
  166. package/dist/src/components/molecules/ActionButton/ActionButton.js +10 -0
  167. package/dist/src/components/molecules/ActionButton/index.d.ts +2 -0
  168. package/dist/src/components/molecules/ActionButton/index.js +2 -0
  169. package/dist/src/components/molecules/HeadshotImage/HeadshotImage.d.ts +16 -0
  170. package/dist/src/components/molecules/HeadshotImage/HeadshotImage.js +50 -0
  171. package/dist/src/components/molecules/HeadshotImage/index.d.ts +2 -0
  172. package/dist/src/components/molecules/HeadshotImage/index.js +2 -0
  173. package/dist/src/components/molecules/Overlay/Overlay.d.ts +34 -0
  174. package/dist/src/components/molecules/Overlay/Overlay.js +139 -0
  175. package/dist/src/components/molecules/Overlay/index.d.ts +2 -0
  176. package/dist/src/components/molecules/Overlay/index.js +2 -0
  177. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.d.ts +104 -0
  178. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.js +27 -0
  179. package/dist/src/components/molecules/PanelNavButton/index.d.ts +2 -0
  180. package/dist/src/components/molecules/PanelNavButton/index.js +2 -0
  181. package/dist/src/components/molecules/SegmentButton/SegmentButton.d.ts +9 -0
  182. package/dist/src/components/molecules/SegmentButton/SegmentButton.js +10 -0
  183. package/dist/src/components/molecules/SegmentButton/index.d.ts +2 -0
  184. package/dist/src/components/molecules/SegmentButton/index.js +2 -0
  185. package/dist/src/components/molecules/TabLoadError/TabLoadError.d.ts +94 -0
  186. package/dist/src/components/molecules/TabLoadError/TabLoadError.js +14 -0
  187. package/dist/src/components/molecules/TabLoadError/index.d.ts +2 -0
  188. package/dist/src/components/molecules/TabLoadError/index.js +2 -0
  189. package/dist/src/components/molecules/WatchButton/WatchButton.d.ts +10 -0
  190. package/dist/src/components/molecules/WatchButton/WatchButton.js +15 -0
  191. package/dist/src/components/molecules/WatchButton/index.d.ts +2 -0
  192. package/dist/src/components/molecules/WatchButton/index.js +2 -0
  193. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.d.ts +16 -0
  194. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.js +60 -0
  195. package/dist/src/components/organisms/PanelNavigation/index.d.ts +2 -0
  196. package/dist/src/components/organisms/PanelNavigation/index.js +2 -0
  197. package/dist/src/components/organisms/SegmentController/SegmentController.d.ts +30 -0
  198. package/dist/src/components/organisms/SegmentController/SegmentController.js +76 -0
  199. package/dist/src/components/organisms/SegmentController/index.d.ts +3 -0
  200. package/dist/src/components/organisms/SegmentController/index.js +2 -0
  201. package/dist/src/development/MaestroEventDelegate.d.ts +27 -0
  202. package/dist/src/development/MaestroEventDelegate.js +109 -0
  203. package/dist/src/development/TimeSeek.d.ts +22 -0
  204. package/dist/src/development/TimeSeek.js +218 -0
  205. package/dist/src/development/development.d.ts +1 -0
  206. package/dist/src/development/development.js +36 -0
  207. package/dist/src/external/AxiosNetworkClient.d.ts +28 -0
  208. package/dist/src/external/AxiosNetworkClient.js +110 -0
  209. package/dist/src/external/LocalStorageCacheManager.d.ts +65 -0
  210. package/dist/src/external/LocalStorageCacheManager.js +213 -0
  211. package/dist/src/external/ReactRenderer.d.ts +17 -0
  212. package/dist/src/external/ReactRenderer.js +65 -0
  213. package/dist/src/external/mocks/MockExternalNetworkClient.d.ts +104 -0
  214. package/dist/src/external/mocks/MockExternalNetworkClient.js +187 -0
  215. package/dist/src/external/ports/cacheManager.d.ts +17 -0
  216. package/dist/src/external/ports/cacheManager.js +1 -0
  217. package/dist/src/external/ports/networkClient.d.ts +19 -0
  218. package/dist/src/external/ports/networkClient.js +1 -0
  219. package/dist/src/external/ports/renderer.d.ts +4 -0
  220. package/dist/src/external/ports/renderer.js +1 -0
  221. package/dist/src/external/spatial-navigation/__mocks__/withFocusable.d.ts +8 -0
  222. package/dist/src/external/spatial-navigation/__mocks__/withFocusable.js +7 -0
  223. package/dist/src/external/spatial-navigation/index.d.ts +4 -0
  224. package/dist/src/external/spatial-navigation/index.js +3 -0
  225. package/dist/src/external/spatial-navigation/measureLayout.d.ts +2 -0
  226. package/dist/src/external/spatial-navigation/measureLayout.js +30 -0
  227. package/dist/src/external/spatial-navigation/spatialNavigation.d.ts +155 -0
  228. package/dist/src/external/spatial-navigation/spatialNavigation.js +876 -0
  229. package/dist/src/external/spatial-navigation/utils.d.ts +20 -0
  230. package/dist/src/external/spatial-navigation/utils.js +6 -0
  231. package/dist/src/external/spatial-navigation/visualDebugger.d.ts +17 -0
  232. package/dist/src/external/spatial-navigation/visualDebugger.js +76 -0
  233. package/dist/src/external/spatial-navigation/withFocusable.d.ts +123 -0
  234. package/dist/src/external/spatial-navigation/withFocusable.js +245 -0
  235. package/dist/src/helpers/Observable.d.ts +12 -0
  236. package/dist/src/helpers/Observable.js +37 -0
  237. package/dist/src/helpers/strings.d.ts +2 -0
  238. package/dist/src/helpers/strings.js +14 -0
  239. package/dist/src/helpers/url.d.ts +1 -0
  240. package/dist/src/helpers/url.js +12 -0
  241. package/dist/src/index.d.ts +54 -0
  242. package/dist/src/index.js +165 -0
  243. package/dist/src/interfaces/IMaestroEvent.d.ts +126 -0
  244. package/dist/src/interfaces/IMaestroEvent.js +18 -0
  245. package/dist/src/interfaces/IMaestroEventDelegate.d.ts +74 -0
  246. package/dist/src/interfaces/IMaestroEventDelegate.js +1 -0
  247. package/dist/src/interfaces/IMaestroManager.d.ts +45 -0
  248. package/dist/src/interfaces/IMaestroManager.js +1 -0
  249. package/dist/src/interfaces/IUserSettings.d.ts +44 -0
  250. package/dist/src/interfaces/IUserSettings.js +20 -0
  251. package/dist/src/models/IModel.d.ts +7 -0
  252. package/dist/src/models/IModel.js +1 -0
  253. package/dist/src/models/IPanel.d.ts +15 -0
  254. package/dist/src/models/IPanel.js +40 -0
  255. package/dist/src/models/ITheme.d.ts +77 -0
  256. package/dist/src/models/ITheme.js +20 -0
  257. package/dist/src/models/IWinningBet.d.ts +7 -0
  258. package/dist/src/models/IWinningBet.js +1 -0
  259. package/dist/src/modules/bets/interfaces/IBets.d.ts +192 -0
  260. package/dist/src/modules/bets/interfaces/IBets.js +1 -0
  261. package/dist/src/modules/bets/mocks.d.ts +2 -0
  262. package/dist/src/modules/bets/mocks.js +573 -0
  263. package/dist/src/modules/bets/types/BetsAnalyticsTypes.d.ts +8 -0
  264. package/dist/src/modules/bets/types/BetsAnalyticsTypes.js +1 -0
  265. package/dist/src/modules/bets/view/BetsView.d.ts +28 -0
  266. package/dist/src/modules/bets/view/BetsView.js +143 -0
  267. package/dist/src/modules/bets/view/HotProps/HotPropsView.d.ts +100 -0
  268. package/dist/src/modules/bets/view/HotProps/HotPropsView.js +150 -0
  269. package/dist/src/modules/bets/view/SixPack/SixPackView.d.ts +23 -0
  270. package/dist/src/modules/bets/view/SixPack/SixPackView.js +110 -0
  271. package/dist/src/modules/bets/view/UserBets/BetResult/BetResult.d.ts +6 -0
  272. package/dist/src/modules/bets/view/UserBets/BetResult/BetResult.js +6 -0
  273. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCard.d.ts +101 -0
  274. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCard.js +149 -0
  275. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardEvent.d.ts +26 -0
  276. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardEvent.js +34 -0
  277. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardFooter.d.ts +7 -0
  278. package/dist/src/modules/bets/view/UserBets/BetsCard/BetsCardFooter.js +18 -0
  279. package/dist/src/modules/bets/view/UserBets/Boost/Boost.d.ts +7 -0
  280. package/dist/src/modules/bets/view/UserBets/Boost/Boost.js +6 -0
  281. package/dist/src/modules/bets/view/UserBets/OutcomeBadge/OutcomeBadge.d.ts +6 -0
  282. package/dist/src/modules/bets/view/UserBets/OutcomeBadge/OutcomeBadge.js +9 -0
  283. package/dist/src/modules/bets/view/UserBets/Parlay/Parlay.d.ts +8 -0
  284. package/dist/src/modules/bets/view/UserBets/Parlay/Parlay.js +13 -0
  285. package/dist/src/modules/bets/view/UserBets/Straight/Straight.d.ts +7 -0
  286. package/dist/src/modules/bets/view/UserBets/Straight/Straight.js +6 -0
  287. package/dist/src/modules/bets/view/UserBets/Teaser/Teaser.d.ts +7 -0
  288. package/dist/src/modules/bets/view/UserBets/Teaser/Teaser.js +13 -0
  289. package/dist/src/modules/bets/view/UserBets/UserBetsView.d.ts +25 -0
  290. package/dist/src/modules/bets/view/UserBets/UserBetsView.js +107 -0
  291. package/dist/src/modules/bets/view/components/Bet/Bet.d.ts +158 -0
  292. package/dist/src/modules/bets/view/components/Bet/Bet.js +32 -0
  293. package/dist/src/modules/bets/view/components/BetPill/BetPill.d.ts +6 -0
  294. package/dist/src/modules/bets/view/components/BetPill/BetPill.js +6 -0
  295. package/dist/src/modules/bets/view/components/BetsCard/BetsCard.d.ts +10 -0
  296. package/dist/src/modules/bets/view/components/BetsCard/BetsCard.js +15 -0
  297. package/dist/src/modules/bets/view/components/BetsCard/BetsCardHeader.d.ts +16 -0
  298. package/dist/src/modules/bets/view/components/BetsCard/BetsCardHeader.js +20 -0
  299. package/dist/src/modules/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.d.ts +8 -0
  300. package/dist/src/modules/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.js +14 -0
  301. package/dist/src/modules/bets/view/components/LocationWarning/LocationWarning.d.ts +10 -0
  302. package/dist/src/modules/bets/view/components/LocationWarning/LocationWarning.js +16 -0
  303. package/dist/src/modules/bets/view/components/PromoCodeBanner/PromoCodeBanner.d.ts +18 -0
  304. package/dist/src/modules/bets/view/components/PromoCodeBanner/PromoCodeBanner.js +78 -0
  305. package/dist/src/modules/bets/view/components/PromoCodeBanner/index.d.ts +1 -0
  306. package/dist/src/modules/bets/view/components/PromoCodeBanner/index.js +1 -0
  307. package/dist/src/modules/bets/view-model/BetsViewModel.d.ts +219 -0
  308. package/dist/src/modules/bets/view-model/BetsViewModel.js +974 -0
  309. package/dist/src/modules/fantasy/components/ExpandedAthleteList/ExpandedAthletesList.d.ts +28 -0
  310. package/dist/src/modules/fantasy/components/ExpandedAthleteList/ExpandedAthletesList.js +107 -0
  311. package/dist/src/modules/fantasy/components/ExpandedAthleteList/index.d.ts +1 -0
  312. package/dist/src/modules/fantasy/components/ExpandedAthleteList/index.js +1 -0
  313. package/dist/src/modules/fantasy/components/LeagueCard/LeagueCard.d.ts +102 -0
  314. package/dist/src/modules/fantasy/components/LeagueCard/LeagueCard.js +20 -0
  315. package/dist/src/modules/fantasy/components/LeagueCard/index.d.ts +2 -0
  316. package/dist/src/modules/fantasy/components/LeagueCard/index.js +2 -0
  317. package/dist/src/modules/fantasy/components/TopPlayerCard/TopPlayerCard.d.ts +99 -0
  318. package/dist/src/modules/fantasy/components/TopPlayerCard/TopPlayerCard.js +29 -0
  319. package/dist/src/modules/fantasy/components/TopPlayerCard/index.d.ts +2 -0
  320. package/dist/src/modules/fantasy/components/TopPlayerCard/index.js +2 -0
  321. package/dist/src/modules/fantasy/mocks.d.ts +7620 -0
  322. package/dist/src/modules/fantasy/mocks.js +3682 -0
  323. package/dist/src/modules/fantasy/types.d.ts +176 -0
  324. package/dist/src/modules/fantasy/types.js +6 -0
  325. package/dist/src/modules/fantasy/view/ActiveAthletesMarquee/ActiveAthletesMarquee.d.ts +21 -0
  326. package/dist/src/modules/fantasy/view/ActiveAthletesMarquee/ActiveAthletesMarquee.js +74 -0
  327. package/dist/src/modules/fantasy/view/ActiveAthletesMarquee/index.d.ts +2 -0
  328. package/dist/src/modules/fantasy/view/ActiveAthletesMarquee/index.js +2 -0
  329. package/dist/src/modules/fantasy/view/FantasyItemView.d.ts +22 -0
  330. package/dist/src/modules/fantasy/view/FantasyItemView.js +74 -0
  331. package/dist/src/modules/fantasy/view/FantasyView.d.ts +27 -0
  332. package/dist/src/modules/fantasy/view/FantasyView.js +133 -0
  333. package/dist/src/modules/fantasy/view/InactiveLeague/DraftDateCountdown.d.ts +23 -0
  334. package/dist/src/modules/fantasy/view/InactiveLeague/DraftDateCountdown.js +95 -0
  335. package/dist/src/modules/fantasy/view/InactiveLeague/InactiveLeague.d.ts +98 -0
  336. package/dist/src/modules/fantasy/view/InactiveLeague/InactiveLeague.js +13 -0
  337. package/dist/src/modules/fantasy/view/InactiveLeague/index.d.ts +2 -0
  338. package/dist/src/modules/fantasy/view/InactiveLeague/index.js +2 -0
  339. package/dist/src/modules/fantasy/view/LoginView/LoginView.d.ts +94 -0
  340. package/dist/src/modules/fantasy/view/LoginView/LoginView.js +27 -0
  341. package/dist/src/modules/fantasy/view/LoginView/index.d.ts +2 -0
  342. package/dist/src/modules/fantasy/view/LoginView/index.js +2 -0
  343. package/dist/src/modules/fantasy/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.d.ts +95 -0
  344. package/dist/src/modules/fantasy/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.js +25 -0
  345. package/dist/src/modules/fantasy/view/MatchupPair/DoubleAthleteCard/index.d.ts +2 -0
  346. package/dist/src/modules/fantasy/view/MatchupPair/DoubleAthleteCard/index.js +2 -0
  347. package/dist/src/modules/fantasy/view/MatchupPair/ExpandedDoubleAthleteCards.d.ts +14 -0
  348. package/dist/src/modules/fantasy/view/MatchupPair/ExpandedDoubleAthleteCards.js +9 -0
  349. package/dist/src/modules/fantasy/view/MatchupPair/MatchupPair.d.ts +100 -0
  350. package/dist/src/modules/fantasy/view/MatchupPair/MatchupPair.js +118 -0
  351. package/dist/src/modules/fantasy/view/MatchupPair/index.d.ts +2 -0
  352. package/dist/src/modules/fantasy/view/MatchupPair/index.js +2 -0
  353. package/dist/src/modules/fantasy/view/MatchupSingle/ExpandedSingleAthleteCards.d.ts +14 -0
  354. package/dist/src/modules/fantasy/view/MatchupSingle/ExpandedSingleAthleteCards.js +9 -0
  355. package/dist/src/modules/fantasy/view/MatchupSingle/MatchupSingle.d.ts +100 -0
  356. package/dist/src/modules/fantasy/view/MatchupSingle/MatchupSingle.js +108 -0
  357. package/dist/src/modules/fantasy/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.d.ts +95 -0
  358. package/dist/src/modules/fantasy/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.js +18 -0
  359. package/dist/src/modules/fantasy/view/MatchupSingle/SingleAthleteCard/index.d.ts +2 -0
  360. package/dist/src/modules/fantasy/view/MatchupSingle/SingleAthleteCard/index.js +2 -0
  361. package/dist/src/modules/fantasy/view/MatchupSingle/index.d.ts +2 -0
  362. package/dist/src/modules/fantasy/view/MatchupSingle/index.js +2 -0
  363. package/dist/src/modules/fantasy/view/PromoView/PromoView.d.ts +98 -0
  364. package/dist/src/modules/fantasy/view/PromoView/PromoView.js +12 -0
  365. package/dist/src/modules/fantasy/view/PromoView/index.d.ts +2 -0
  366. package/dist/src/modules/fantasy/view/PromoView/index.js +2 -0
  367. package/dist/src/modules/fantasy/view/TournamentBracketCard/TournamentBracketCard.d.ts +99 -0
  368. package/dist/src/modules/fantasy/view/TournamentBracketCard/TournamentBracketCard.js +33 -0
  369. package/dist/src/modules/fantasy/view/TournamentBracketCard/index.d.ts +2 -0
  370. package/dist/src/modules/fantasy/view/TournamentBracketCard/index.js +2 -0
  371. package/dist/src/modules/fantasy/view/index.d.ts +2 -0
  372. package/dist/src/modules/fantasy/view/index.js +2 -0
  373. package/dist/src/modules/fantasy/view-model/FantasyViewModel.FantasyPolling.d.ts +32 -0
  374. package/dist/src/modules/fantasy/view-model/FantasyViewModel.FantasyPolling.js +132 -0
  375. package/dist/src/modules/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.d.ts +32 -0
  376. package/dist/src/modules/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.js +141 -0
  377. package/dist/src/modules/fantasy/view-model/FantasyViewModel.d.ts +148 -0
  378. package/dist/src/modules/fantasy/view-model/FantasyViewModel.js +534 -0
  379. package/dist/src/modules/hello-world/HelloWorldImage.d.ts +2 -0
  380. package/dist/src/modules/hello-world/HelloWorldImage.js +32 -0
  381. package/dist/src/modules/hello-world/HelloWorldView.d.ts +11 -0
  382. package/dist/src/modules/hello-world/HelloWorldView.js +40 -0
  383. package/dist/src/modules/hello-world/index.d.ts +2 -0
  384. package/dist/src/modules/hello-world/index.js +2 -0
  385. package/dist/src/modules/key-plays/constants.d.ts +3 -0
  386. package/dist/src/modules/key-plays/constants.js +292 -0
  387. package/dist/src/modules/key-plays/interfaces/IKeyPlays.d.ts +32 -0
  388. package/dist/src/modules/key-plays/interfaces/IKeyPlays.js +14 -0
  389. package/dist/src/modules/key-plays/interfaces/IKeyPlaysResponse.d.ts +44 -0
  390. package/dist/src/modules/key-plays/interfaces/IKeyPlaysResponse.js +1 -0
  391. package/dist/src/modules/key-plays/view/KeyPlayCardScoreTagView.d.ts +9 -0
  392. package/dist/src/modules/key-plays/view/KeyPlayCardScoreTagView.js +16 -0
  393. package/dist/src/modules/key-plays/view/KeyPlayCardView.d.ts +39 -0
  394. package/dist/src/modules/key-plays/view/KeyPlayCardView.js +139 -0
  395. package/dist/src/modules/key-plays/view/KeyPlayErrorStateView.d.ts +13 -0
  396. package/dist/src/modules/key-plays/view/KeyPlayErrorStateView.js +65 -0
  397. package/dist/src/modules/key-plays/view/KeyPlaysView.d.ts +37 -0
  398. package/dist/src/modules/key-plays/view/KeyPlaysView.js +151 -0
  399. package/dist/src/modules/key-plays/view-model/KeyPlaysViewModel.d.ts +37 -0
  400. package/dist/src/modules/key-plays/view-model/KeyPlaysViewModel.js +246 -0
  401. package/dist/src/modules/shop/mocks.d.ts +22 -0
  402. package/dist/src/modules/shop/mocks.js +391 -0
  403. package/dist/src/modules/shop/types.d.ts +161 -0
  404. package/dist/src/modules/shop/types.js +7 -0
  405. package/dist/src/modules/shop/view/ProductDetailView/ProductDetailView.d.ts +9 -0
  406. package/dist/src/modules/shop/view/ProductDetailView/ProductDetailView.js +60 -0
  407. package/dist/src/modules/shop/view/ProductDetailView/index.d.ts +2 -0
  408. package/dist/src/modules/shop/view/ProductDetailView/index.js +2 -0
  409. package/dist/src/modules/shop/view/ShopView.d.ts +35 -0
  410. package/dist/src/modules/shop/view/ShopView.js +182 -0
  411. package/dist/src/modules/shop/view/components/BrowseCard/BrowseCard.d.ts +101 -0
  412. package/dist/src/modules/shop/view/components/BrowseCard/BrowseCard.js +23 -0
  413. package/dist/src/modules/shop/view/components/BrowseCard/index.d.ts +2 -0
  414. package/dist/src/modules/shop/view/components/BrowseCard/index.js +2 -0
  415. package/dist/src/modules/shop/view/components/ProductSummaryCard/ProductSummaryCard.d.ts +102 -0
  416. package/dist/src/modules/shop/view/components/ProductSummaryCard/ProductSummaryCard.js +26 -0
  417. package/dist/src/modules/shop/view/components/ProductSummaryCard/index.d.ts +2 -0
  418. package/dist/src/modules/shop/view/components/ProductSummaryCard/index.js +1 -0
  419. package/dist/src/modules/shop/view/components/ShopPromoView/ShopPromoView.d.ts +8 -0
  420. package/dist/src/modules/shop/view/components/ShopPromoView/ShopPromoView.js +19 -0
  421. package/dist/src/modules/shop/view/components/ShopPromoView/index.d.ts +1 -0
  422. package/dist/src/modules/shop/view/components/ShopPromoView/index.js +1 -0
  423. package/dist/src/modules/shop/view/components/ShopSection/ShopSection.d.ts +23 -0
  424. package/dist/src/modules/shop/view/components/ShopSection/ShopSection.js +61 -0
  425. package/dist/src/modules/shop/view/components/ShopSection/index.d.ts +1 -0
  426. package/dist/src/modules/shop/view/components/ShopSection/index.js +1 -0
  427. package/dist/src/modules/shop/view/index.d.ts +2 -0
  428. package/dist/src/modules/shop/view/index.js +2 -0
  429. package/dist/src/modules/shop/view-model/ShopViewModel.ShopPolling.d.ts +31 -0
  430. package/dist/src/modules/shop/view-model/ShopViewModel.ShopPolling.js +111 -0
  431. package/dist/src/modules/shop/view-model/ShopViewModel.d.ts +77 -0
  432. package/dist/src/modules/shop/view-model/ShopViewModel.js +357 -0
  433. package/dist/src/modules/stats/interfaces/IStats.d.ts +226 -0
  434. package/dist/src/modules/stats/interfaces/IStats.js +1 -0
  435. package/dist/src/modules/stats/mocks.d.ts +2 -0
  436. package/dist/src/modules/stats/mocks.js +746 -0
  437. package/dist/src/modules/stats/utils/driveSummaryUtils.d.ts +18 -0
  438. package/dist/src/modules/stats/utils/driveSummaryUtils.js +48 -0
  439. package/dist/src/modules/stats/utils/playerStatusUtils.d.ts +4 -0
  440. package/dist/src/modules/stats/utils/playerStatusUtils.js +16 -0
  441. package/dist/src/modules/stats/utils/renderTeamStatistic.d.ts +20 -0
  442. package/dist/src/modules/stats/utils/renderTeamStatistic.js +16 -0
  443. package/dist/src/modules/stats/utils.d.ts +39 -0
  444. package/dist/src/modules/stats/utils.js +62 -0
  445. package/dist/src/modules/stats/view/ActiveAthletes/ActiveAthletes.d.ts +22 -0
  446. package/dist/src/modules/stats/view/ActiveAthletes/ActiveAthletes.js +98 -0
  447. package/dist/src/modules/stats/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.d.ts +4 -0
  448. package/dist/src/modules/stats/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.js +27 -0
  449. package/dist/src/modules/stats/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.d.ts +22 -0
  450. package/dist/src/modules/stats/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.js +89 -0
  451. package/dist/src/modules/stats/view/ActiveAthletes/index.d.ts +2 -0
  452. package/dist/src/modules/stats/view/ActiveAthletes/index.js +2 -0
  453. package/dist/src/modules/stats/view/CareerMatchup/CareerMatchup.d.ts +100 -0
  454. package/dist/src/modules/stats/view/CareerMatchup/CareerMatchup.js +59 -0
  455. package/dist/src/modules/stats/view/CareerMatchup/index.d.ts +1 -0
  456. package/dist/src/modules/stats/view/CareerMatchup/index.js +1 -0
  457. package/dist/src/modules/stats/view/DriveSummary/DrivePlayCard.d.ts +106 -0
  458. package/dist/src/modules/stats/view/DriveSummary/DrivePlayCard.js +70 -0
  459. package/dist/src/modules/stats/view/DriveSummary/DriveSummary.d.ts +17 -0
  460. package/dist/src/modules/stats/view/DriveSummary/DriveSummary.js +87 -0
  461. package/dist/src/modules/stats/view/DriveSummary/ExpandedItems/DriveSummaryExpanded.d.ts +27 -0
  462. package/dist/src/modules/stats/view/DriveSummary/ExpandedItems/DriveSummaryExpanded.js +129 -0
  463. package/dist/src/modules/stats/view/DriveSummary/Header/DriveSummaryHeader.d.ts +12 -0
  464. package/dist/src/modules/stats/view/DriveSummary/Header/DriveSummaryHeader.js +26 -0
  465. package/dist/src/modules/stats/view/DriveSummary/MainStat/MainStat.d.ts +10 -0
  466. package/dist/src/modules/stats/view/DriveSummary/MainStat/MainStat.js +24 -0
  467. package/dist/src/modules/stats/view/DriveSummary/index.d.ts +2 -0
  468. package/dist/src/modules/stats/view/DriveSummary/index.js +2 -0
  469. package/dist/src/modules/stats/view/GameLeaders/GameLeaders.d.ts +21 -0
  470. package/dist/src/modules/stats/view/GameLeaders/GameLeaders.js +48 -0
  471. package/dist/src/modules/stats/view/GameLeaders/index.d.ts +2 -0
  472. package/dist/src/modules/stats/view/GameLeaders/index.js +2 -0
  473. package/dist/src/modules/stats/view/MatchPredictor/DonutChart/DonutChart.d.ts +17 -0
  474. package/dist/src/modules/stats/view/MatchPredictor/DonutChart/DonutChart.js +55 -0
  475. package/dist/src/modules/stats/view/MatchPredictor/DonutChart/index.d.ts +2 -0
  476. package/dist/src/modules/stats/view/MatchPredictor/DonutChart/index.js +1 -0
  477. package/dist/src/modules/stats/view/MatchPredictor/MatchPredictorView.d.ts +98 -0
  478. package/dist/src/modules/stats/view/MatchPredictor/MatchPredictorView.js +60 -0
  479. package/dist/src/modules/stats/view/MatchPredictor/index.d.ts +3 -0
  480. package/dist/src/modules/stats/view/MatchPredictor/index.js +2 -0
  481. package/dist/src/modules/stats/view/Penalties/Penalties.d.ts +9 -0
  482. package/dist/src/modules/stats/view/Penalties/Penalties.js +6 -0
  483. package/dist/src/modules/stats/view/Penalties/index.d.ts +2 -0
  484. package/dist/src/modules/stats/view/Penalties/index.js +2 -0
  485. package/dist/src/modules/stats/view/PlayerSeasonStats/ExpandedPlayerStats.d.ts +16 -0
  486. package/dist/src/modules/stats/view/PlayerSeasonStats/ExpandedPlayerStats.js +63 -0
  487. package/dist/src/modules/stats/view/PlayerSeasonStats/PlayerSeasonStatsCard.d.ts +97 -0
  488. package/dist/src/modules/stats/view/PlayerSeasonStats/PlayerSeasonStatsCard.js +26 -0
  489. package/dist/src/modules/stats/view/PlayerSeasonStats/PlayerSeasonStatsMinified.d.ts +6 -0
  490. package/dist/src/modules/stats/view/PlayerSeasonStats/PlayerSeasonStatsMinified.js +17 -0
  491. package/dist/src/modules/stats/view/PlayerSeasonStats/PlayerSeasonStatsView.d.ts +8 -0
  492. package/dist/src/modules/stats/view/PlayerSeasonStats/PlayerSeasonStatsView.js +165 -0
  493. package/dist/src/modules/stats/view/PlayerSeasonStats/index.d.ts +1 -0
  494. package/dist/src/modules/stats/view/PlayerSeasonStats/index.js +1 -0
  495. package/dist/src/modules/stats/view/RecentGames/RecentGames.d.ts +98 -0
  496. package/dist/src/modules/stats/view/RecentGames/RecentGames.js +23 -0
  497. package/dist/src/modules/stats/view/RecentGames/index.d.ts +2 -0
  498. package/dist/src/modules/stats/view/RecentGames/index.js +2 -0
  499. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/ExpandedScores.d.ts +30 -0
  500. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/ExpandedScores.js +123 -0
  501. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/index.d.ts +2 -0
  502. package/dist/src/modules/stats/view/ScoringSummary/ExpandedScores/index.js +2 -0
  503. package/dist/src/modules/stats/view/ScoringSummary/ScoreItem/ScoreItem.d.ts +98 -0
  504. package/dist/src/modules/stats/view/ScoringSummary/ScoreItem/ScoreItem.js +62 -0
  505. package/dist/src/modules/stats/view/ScoringSummary/ScoreItem/index.d.ts +2 -0
  506. package/dist/src/modules/stats/view/ScoringSummary/ScoreItem/index.js +2 -0
  507. package/dist/src/modules/stats/view/ScoringSummary/ScoresSection/ScoresSection.d.ts +6 -0
  508. package/dist/src/modules/stats/view/ScoringSummary/ScoresSection/ScoresSection.js +23 -0
  509. package/dist/src/modules/stats/view/ScoringSummary/ScoresSection/index.d.ts +2 -0
  510. package/dist/src/modules/stats/view/ScoringSummary/ScoresSection/index.js +2 -0
  511. package/dist/src/modules/stats/view/ScoringSummary/ScoringSummary.d.ts +29 -0
  512. package/dist/src/modules/stats/view/ScoringSummary/ScoringSummary.js +125 -0
  513. package/dist/src/modules/stats/view/ScoringSummary/index.d.ts +2 -0
  514. package/dist/src/modules/stats/view/ScoringSummary/index.js +2 -0
  515. package/dist/src/modules/stats/view/StatsItemView.d.ts +22 -0
  516. package/dist/src/modules/stats/view/StatsItemView.js +92 -0
  517. package/dist/src/modules/stats/view/StatsQRCode/StatsQRCodeView.d.ts +98 -0
  518. package/dist/src/modules/stats/view/StatsQRCode/StatsQRCodeView.js +36 -0
  519. package/dist/src/modules/stats/view/StatsQRCode/index.d.ts +2 -0
  520. package/dist/src/modules/stats/view/StatsQRCode/index.js +1 -0
  521. package/dist/src/modules/stats/view/StatsView.d.ts +27 -0
  522. package/dist/src/modules/stats/view/StatsView.js +137 -0
  523. package/dist/src/modules/stats/view/TeamStats/TeamStatsView.d.ts +98 -0
  524. package/dist/src/modules/stats/view/TeamStats/TeamStatsView.js +43 -0
  525. package/dist/src/modules/stats/view/TeamStats/index.d.ts +2 -0
  526. package/dist/src/modules/stats/view/TeamStats/index.js +1 -0
  527. package/dist/src/modules/stats/view/Teams/StatsCarousel.d.ts +25 -0
  528. package/dist/src/modules/stats/view/Teams/StatsCarousel.js +83 -0
  529. package/dist/src/modules/stats/view/Teams/StatsProgressBar.d.ts +6 -0
  530. package/dist/src/modules/stats/view/Teams/StatsProgressBar.js +19 -0
  531. package/dist/src/modules/stats/view/Teams/Teams.d.ts +98 -0
  532. package/dist/src/modules/stats/view/Teams/Teams.js +43 -0
  533. package/dist/src/modules/stats/view/Teams/index.d.ts +2 -0
  534. package/dist/src/modules/stats/view/Teams/index.js +2 -0
  535. package/dist/src/modules/stats/view/WinProbability/WinProbability.d.ts +98 -0
  536. package/dist/src/modules/stats/view/WinProbability/WinProbability.js +28 -0
  537. package/dist/src/modules/stats/view/WinProbability/index.d.ts +2 -0
  538. package/dist/src/modules/stats/view/WinProbability/index.js +2 -0
  539. package/dist/src/modules/stats/view/components/AthletesStatistics/AthletesStatistics.d.ts +113 -0
  540. package/dist/src/modules/stats/view/components/AthletesStatistics/AthletesStatistics.js +89 -0
  541. package/dist/src/modules/stats/view/components/AthletesStatistics/StatisticTable.d.ts +3 -0
  542. package/dist/src/modules/stats/view/components/AthletesStatistics/StatisticTable.js +12 -0
  543. package/dist/src/modules/stats/view/components/AthletesStatistics/index.d.ts +2 -0
  544. package/dist/src/modules/stats/view/components/AthletesStatistics/index.js +2 -0
  545. package/dist/src/modules/stats/view/index.d.ts +2 -0
  546. package/dist/src/modules/stats/view/index.js +2 -0
  547. package/dist/src/modules/stats/view-model/StatsViewModel.d.ts +241 -0
  548. package/dist/src/modules/stats/view-model/StatsViewModel.js +989 -0
  549. package/dist/src/sentry.d.ts +3 -0
  550. package/dist/src/sentry.js +31 -0
  551. package/dist/src/services/AnalyticsService/AnalyticsService.d.ts +84 -0
  552. package/dist/src/services/AnalyticsService/AnalyticsService.js +404 -0
  553. package/dist/src/services/AnalyticsService/types.d.ts +65 -0
  554. package/dist/src/services/AnalyticsService/types.js +1 -0
  555. package/dist/src/services/BetsService.d.ts +81 -0
  556. package/dist/src/services/BetsService.js +122 -0
  557. package/dist/src/services/FantasyService.d.ts +53 -0
  558. package/dist/src/services/FantasyService.js +92 -0
  559. package/dist/src/services/InsightsService/InsightsPayloadBuilder.d.ts +279 -0
  560. package/dist/src/services/InsightsService/InsightsPayloadBuilder.js +386 -0
  561. package/dist/src/services/InsightsService/InsightsService.d.ts +11 -0
  562. package/dist/src/services/InsightsService/InsightsService.js +74 -0
  563. package/dist/src/services/NetworkManager/NetworkManager.d.ts +147 -0
  564. package/dist/src/services/NetworkManager/NetworkManager.js +457 -0
  565. package/dist/src/services/NetworkManager/NetworkManagerFactory.d.ts +42 -0
  566. package/dist/src/services/NetworkManager/NetworkManagerFactory.js +101 -0
  567. package/dist/src/services/NetworkManager/errors.d.ts +17 -0
  568. package/dist/src/services/NetworkManager/errors.js +45 -0
  569. package/dist/src/services/NetworkManager/types.d.ts +103 -0
  570. package/dist/src/services/NetworkManager/types.js +10 -0
  571. package/dist/src/services/ShopService.d.ts +23 -0
  572. package/dist/src/services/ShopService.js +46 -0
  573. package/dist/src/services/StaticService/StaticService.d.ts +12 -0
  574. package/dist/src/services/StaticService/StaticService.js +59 -0
  575. package/dist/src/services/StaticService/index.d.ts +2 -0
  576. package/dist/src/services/StaticService/index.js +2 -0
  577. package/dist/src/services/StaticService/mocks.d.ts +2 -0
  578. package/dist/src/services/StaticService/mocks.js +104 -0
  579. package/dist/src/services/StaticService/types.d.ts +76 -0
  580. package/dist/src/services/StaticService/types.js +1 -0
  581. package/dist/src/services/StatsService.d.ts +54 -0
  582. package/dist/src/services/StatsService.js +154 -0
  583. package/dist/src/services/ThemeManager/constants.d.ts +2 -0
  584. package/dist/src/services/ThemeManager/constants.js +47 -0
  585. package/dist/src/services/UserSettingsManager.d.ts +63 -0
  586. package/dist/src/services/UserSettingsManager.js +155 -0
  587. package/dist/src/test-polyfills.d.ts +1 -0
  588. package/dist/src/test-polyfills.js +15 -0
  589. package/dist/src/types/OverlayTypes.d.ts +43 -0
  590. package/dist/src/types/OverlayTypes.js +4 -0
  591. package/dist/src/view-models/MaestroEventViewModel.d.ts +63 -0
  592. package/dist/src/view-models/MaestroEventViewModel.js +304 -0
  593. package/dist/src/view-models/OverlayViewModel.d.ts +33 -0
  594. package/dist/src/view-models/OverlayViewModel.js +222 -0
  595. package/dist/src/view-models/PanelManagerViewModel.d.ts +46 -0
  596. package/dist/src/view-models/PanelManagerViewModel.js +212 -0
  597. package/dist/src/view-models/ViewModel.d.ts +12 -0
  598. package/dist/src/view-models/ViewModel.js +32 -0
  599. package/package.json +1 -1
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Service types for different NetworkManager contexts
3
+ */
4
+ export declare const ServiceType: {
5
+ readonly STATS: "stats";
6
+ readonly BETS: "bets";
7
+ readonly MAESTRO: "maestro";
8
+ readonly FANTASY: "fantasy";
9
+ readonly SHOP: "shop";
10
+ };
11
+ export type ServiceType = typeof ServiceType[keyof typeof ServiceType];
12
+ /**
13
+ * Configuration for creating service-specific NetworkManager instances
14
+ */
15
+ export interface ServiceNetworkManagerConfig {
16
+ serviceType: ServiceType;
17
+ externalBaseURL: string;
18
+ defaultCacheDuration?: number;
19
+ }
20
+ /**
21
+ * Base interface for all NetworkManager instances
22
+ */
23
+ export interface IServiceNetworkManager {
24
+ readonly serviceType: ServiceType;
25
+ readonly externalBaseURL: string;
26
+ externalApiRequest<T = any>(options: {
27
+ endpoint: string;
28
+ method?: string;
29
+ params?: Record<string, any>;
30
+ headers?: Record<string, string>;
31
+ data?: any;
32
+ useCache?: boolean;
33
+ skipResponseBodyDeserialization?: boolean;
34
+ }): Promise<T>;
35
+ externalApiRequestWithHeaders<T = any>(options: {
36
+ endpoint: string;
37
+ method?: string;
38
+ params?: Record<string, any>;
39
+ headers?: Record<string, string>;
40
+ data?: any;
41
+ useCache?: boolean;
42
+ skipResponseBodyDeserialization?: boolean;
43
+ }): Promise<ResponseWithHeaders<T>>;
44
+ pollExternalApiRequest<T = any>(options: {
45
+ endpoint: string;
46
+ interval: number;
47
+ method?: string;
48
+ params?: Record<string, any>;
49
+ headers?: Record<string, string>;
50
+ data?: any;
51
+ onData: (data: T) => void;
52
+ onError?: (error: Error) => void;
53
+ }): {
54
+ stop: () => void;
55
+ };
56
+ pollExternalApiRequestWithHeaders<T = any>(options: {
57
+ endpoint: string;
58
+ interval: number;
59
+ method?: string;
60
+ params?: Record<string, any>;
61
+ headers?: Record<string, string>;
62
+ data?: any;
63
+ onData: (data: ResponseWithHeaders<T>) => void;
64
+ onError?: (error: Error) => void;
65
+ }): {
66
+ stop: () => void;
67
+ };
68
+ }
69
+ /**
70
+ * Stats service NetworkManager interface
71
+ */
72
+ export interface IStatsNetworkManager extends IServiceNetworkManager {
73
+ serviceType: 'stats';
74
+ }
75
+ /**
76
+ * Bets service NetworkManager interface
77
+ */
78
+ export interface IBetsNetworkManager extends IServiceNetworkManager {
79
+ serviceType: 'bets';
80
+ }
81
+ /**
82
+ * Maestro service NetworkManager interface
83
+ */
84
+ export interface IMaestroNetworkManager extends IServiceNetworkManager {
85
+ serviceType: 'maestro';
86
+ }
87
+ /**
88
+ * Union type for all service NetworkManager types
89
+ */
90
+ export type ServiceNetworkManager = IStatsNetworkManager | IBetsNetworkManager | IMaestroNetworkManager;
91
+ /**
92
+ * Factory configuration for different service types
93
+ */
94
+ export interface NetworkManagerFactoryConfig {
95
+ defaultCacheDuration?: number;
96
+ }
97
+ /**
98
+ * Interface for responses that include both data and headers
99
+ */
100
+ export interface ResponseWithHeaders<T> {
101
+ data: T;
102
+ headers: Record<string, string>;
103
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Service types for different NetworkManager contexts
3
+ */
4
+ export const ServiceType = {
5
+ STATS: 'stats',
6
+ BETS: 'bets',
7
+ MAESTRO: 'maestro',
8
+ FANTASY: 'fantasy',
9
+ SHOP: 'shop',
10
+ };
@@ -0,0 +1,23 @@
1
+ import NetworkManager from './NetworkManager/NetworkManager';
2
+ import { IShopResponse } from '../modules/shop/types';
3
+ import { ResponseWithHeaders } from './NetworkManager/types';
4
+ /**
5
+ * Service for handling shop-related API calls
6
+ */
7
+ declare class ShopService {
8
+ networkManager: NetworkManager;
9
+ private eventId;
10
+ constructor(eventId: string);
11
+ /**
12
+ * Start polling shop data
13
+ *
14
+ * @param interval - The polling interval in milliseconds
15
+ * @param onData - Callback for successful data fetch with headers
16
+ * @param onError - Callback for errors
17
+ * @returns Object with a stop function to stop polling
18
+ */
19
+ pollShopData(interval: number, onData: (data: ResponseWithHeaders<IShopResponse>) => void, onError?: (error: Error) => void): {
20
+ stop: () => void;
21
+ };
22
+ }
23
+ export default ShopService;
@@ -0,0 +1,46 @@
1
+ import { HttpMethod } from './NetworkManager/NetworkManager';
2
+ import NetworkManagerFactory from './NetworkManager/NetworkManagerFactory';
3
+ /**
4
+ * Service for handling shop-related API calls
5
+ */
6
+ class ShopService {
7
+ constructor(eventId) {
8
+ Object.defineProperty(this, "networkManager", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: void 0
13
+ });
14
+ Object.defineProperty(this, "eventId", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: void 0
19
+ });
20
+ this.eventId = eventId;
21
+ this.networkManager = NetworkManagerFactory.createForService({
22
+ externalBaseURL: 'https://site.api.espn.com',
23
+ serviceType: 'shop',
24
+ });
25
+ }
26
+ /**
27
+ * Start polling shop data
28
+ *
29
+ * @param interval - The polling interval in milliseconds
30
+ * @param onData - Callback for successful data fetch with headers
31
+ * @param onError - Callback for errors
32
+ * @returns Object with a stop function to stop polling
33
+ */
34
+ pollShopData(interval, onData, onError) {
35
+ return this.networkManager.pollExternalApiRequestWithHeaders({
36
+ endpoint: `/apis/site/v2/events/${this.eventId}/shop`,
37
+ interval,
38
+ method: HttpMethod.GET,
39
+ params: {},
40
+ headers: {},
41
+ onData,
42
+ onError,
43
+ });
44
+ }
45
+ }
46
+ export default ShopService;
@@ -0,0 +1,12 @@
1
+ import { Observable } from '../../helpers/Observable';
2
+ import { GlobalConfig, PageConfig } from './types';
3
+ export default class StaticService {
4
+ configObservable: Observable<PageConfig | null>;
5
+ private client;
6
+ constructor();
7
+ fetchPageConfig(siteId: string, eventId: string): Promise<PageConfig | null>;
8
+ static isPanelAvailable(pageConfig: PageConfig | null, panelType: string): boolean | undefined;
9
+ pollGlobalConfig(onData: (data: GlobalConfig) => void): {
10
+ stop: () => void;
11
+ };
12
+ }
@@ -0,0 +1,59 @@
1
+ import { Observable } from '../../helpers/Observable';
2
+ import AxiosNetworkClient from '@/external/AxiosNetworkClient';
3
+ import { captureException } from '@/sentry';
4
+ import NetworkManager from '../NetworkManager/NetworkManager';
5
+ export default class StaticService {
6
+ constructor() {
7
+ Object.defineProperty(this, "configObservable", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: new Observable(null)
12
+ });
13
+ Object.defineProperty(this, "client", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ this.client = new NetworkManager({
20
+ externalNetworkClient: new AxiosNetworkClient({
21
+ backoff: 2,
22
+ baseURL: 'https://static-prod.us-central1-espn-prod.gcp.maestro.io',
23
+ delay: 1000,
24
+ retries: 5,
25
+ }),
26
+ });
27
+ }
28
+ fetchPageConfig(siteId, eventId) {
29
+ try {
30
+ return this.client.externalApiRequest({
31
+ endpoint: `/pages/sites/${siteId}/metadata/${eventId}.json`,
32
+ });
33
+ }
34
+ catch (err) {
35
+ captureException(err, { siteId, eventId });
36
+ console.error(`Failed to fetch page configuration for site ${siteId} and event ${eventId}:`, err instanceof Error ? err.message : String(err));
37
+ return Promise.resolve(null);
38
+ }
39
+ }
40
+ static isPanelAvailable(pageConfig, panelType) {
41
+ return pageConfig?.panels?.some((panel) => panel.panel_type === panelType &&
42
+ panel.renderer?.supported_platforms?.bbd !== false);
43
+ }
44
+ pollGlobalConfig(onData) {
45
+ // random interval from 4 - 6 minutes
46
+ const interval = 240000 + Math.floor(Math.random() * 120000);
47
+ return this.client.pollExternalApiRequest({
48
+ endpoint: `/config/global.json`,
49
+ interval,
50
+ onData,
51
+ onError: (err) => {
52
+ captureException(err, {
53
+ context: 'StaticService.pollGlobalConfig',
54
+ });
55
+ console.error(`Failed to poll global configuration`, err instanceof Error ? err.message : String(err));
56
+ },
57
+ });
58
+ }
59
+ }
@@ -0,0 +1,2 @@
1
+ import StaticService from './StaticService';
2
+ export default StaticService;
@@ -0,0 +1,2 @@
1
+ import StaticService from './StaticService';
2
+ export default StaticService;
@@ -0,0 +1,2 @@
1
+ import { PageConfig } from './types';
2
+ export declare const MOCK_PAGE_CONFIG: PageConfig;
@@ -0,0 +1,104 @@
1
+ export const MOCK_PAGE_CONFIG = {
2
+ panels: [
3
+ {
4
+ _id: '687e7d03f8d920eec4c8e90f',
5
+ slug: 'panel-6879b0f23af9e9c90b42a24b-401769973-espnStats-generated',
6
+ panel_name: 'Stats',
7
+ panel_type: 'espnStats',
8
+ icon_name: 'stats',
9
+ },
10
+ {
11
+ _id: '687e7d03f8d920eec4c8e910',
12
+ slug: 'panel-6879b0f23af9e9c90b42a24b-401769973-espnKeyPlays-generated',
13
+ panel_name: 'Key Plays',
14
+ panel_type: 'espnKeyPlays',
15
+ icon_name: 'keyPlays',
16
+ },
17
+ {
18
+ _id: '687e7d03f8d920eec4c8e911',
19
+ slug: 'panel-6879b0f23af9e9c90b42a24b-401769973-espnBet-generated',
20
+ panel_name: 'Bets',
21
+ panel_type: 'espnBet',
22
+ icon_name: 'bets',
23
+ },
24
+ {
25
+ _id: '687e7d03f8d920eec4c8e912',
26
+ slug: 'panel-6879b0f23af9e9c90b42a24b-401769973-espnFantasy-generated',
27
+ panel_name: 'Fantasy',
28
+ panel_type: 'espnFantasy',
29
+ icon_name: 'fantasy',
30
+ },
31
+ {
32
+ _id: '687e7d03f8d920eec4c8e913',
33
+ slug: 'panel-6879b0f23af9e9c90b42a24b-401769973-espnShop-generated',
34
+ panel_name: 'Espn Shop',
35
+ panel_type: 'espnShop',
36
+ icon_name: 'espnShop',
37
+ },
38
+ ],
39
+ page: {
40
+ _id: '687e7d05f8d920eec4c8e924',
41
+ slug: '401769973-1a5f0227-a13e-396c-8cea-8961bc288666',
42
+ type: 'channel',
43
+ name: 'NHL Test Game',
44
+ metadata: {
45
+ external_field_1: '401769973',
46
+ external_field_2: '2512ac76-a335-39cb-af51-b9afffc6571d',
47
+ external_field_3: '1a5f0227-a13e-396c-8cea-8961bc288666',
48
+ external_field_4: 'event',
49
+ external_field_5: '{"leagueId":"3040"}',
50
+ },
51
+ },
52
+ insights: {
53
+ _id: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkIjp7Il9pZCI6IjY2NGI5YzU3ZDU5YTdhNDMxNTQyZDgxNCIsImNyZWF0ZWQiOjE3MTYyMzEyNTguOTQ3LCJzbHVnIjoiZXNwbiIsInVpZCI6InNpdGVfdG9rZW4ifSwiaWF0IjoxNzE2MjMxMjU4fQ.Qtl9F3Cvk1wASCK0sycxwQcuih1exjTngfjqhb19oQA',
54
+ },
55
+ site: {
56
+ _id: '664b9c57d59a7a431542d814',
57
+ domainUrl: 'www.maestro.io/espn',
58
+ package: {
59
+ version: '4.06.0',
60
+ id: 'maestro',
61
+ },
62
+ },
63
+ theme: {
64
+ _id: '66db3b75f682a8c91436c8fc',
65
+ button: {
66
+ borderRadius: 'rounded',
67
+ textCapitalization: 'uppercase',
68
+ },
69
+ colors: {
70
+ accentPrimary: '#fbc010FF',
71
+ accentSecondary: '#AD850A',
72
+ accentTertiary: '#FFFFFF',
73
+ alertConfirmation: '#43D48F',
74
+ alertError: '#FF0000',
75
+ alertWarning: '#F4D73D',
76
+ highlightPrimary: '#F3F7FF',
77
+ highlightSecondary: '#9DA0A6',
78
+ highlightTertiary: '#0C0D0D',
79
+ surface1: '#000000',
80
+ surface2: '#0D0D0D',
81
+ surface3: '#1A1A1A',
82
+ surface4: '#262626',
83
+ surface5: '#404040',
84
+ surface6: '#4D4D4D',
85
+ text100: '#FFF2F2',
86
+ text200: '#CCC2C2',
87
+ text300: '#999191',
88
+ text400: '#666161',
89
+ text500: '#0D0C0C',
90
+ },
91
+ name: 'Landing Page',
92
+ siteId: '664b9c57d59a7a431542d814',
93
+ type: 'custom',
94
+ typography: {
95
+ body: 'helvetica-lt-std-roman',
96
+ headline: 'industry-demi',
97
+ },
98
+ creator: '664b9c6b70e9a56febd2dbab',
99
+ owner: '664b9c6b70e9a56febd2dbab',
100
+ created: 1725643637480,
101
+ modified: 1733600558188,
102
+ tags: [],
103
+ },
104
+ };
@@ -0,0 +1,76 @@
1
+ import ITheme from '@/models/ITheme';
2
+ type PlatformConfig = {
3
+ analytics: {
4
+ enabled: boolean;
5
+ beacon_interval: number;
6
+ };
7
+ };
8
+ export interface GlobalConfig {
9
+ shards: string[];
10
+ bbd: PlatformConfig;
11
+ }
12
+ interface PageConfigPanel<TRendererData = unknown, TBlockData = any> {
13
+ _id: string;
14
+ slug: string;
15
+ panel_name?: string;
16
+ panel_type?: string;
17
+ icon_name?: string;
18
+ renderer?: {
19
+ block_data?: TBlockData;
20
+ icon_name?: string;
21
+ id?: string;
22
+ panel_name?: string;
23
+ panel_type?: string;
24
+ supported_platforms?: {
25
+ android?: boolean;
26
+ bbd?: boolean;
27
+ roku?: boolean;
28
+ tvos?: boolean;
29
+ } & TRendererData;
30
+ };
31
+ }
32
+ export type PageMetadata = {
33
+ /**
34
+ * Event ID or Airing ID
35
+ */
36
+ external_field_1?: string;
37
+ /**
38
+ * Sport guid
39
+ */
40
+ external_field_2?: string;
41
+ /**
42
+ * League guid
43
+ */
44
+ external_field_3?: string;
45
+ /**
46
+ * External field 1 identifier. Can be either 'airing' or 'event'.
47
+ */
48
+ external_field_4?: 'airing' | 'event';
49
+ /**
50
+ * A stringified JSON object containing additional metadata.
51
+ */
52
+ external_field_5?: string;
53
+ };
54
+ export interface PageConfig {
55
+ panels: PageConfigPanel[];
56
+ page: {
57
+ _id: string;
58
+ slug: string;
59
+ type: string;
60
+ name?: string;
61
+ metadata?: PageMetadata;
62
+ };
63
+ insights: {
64
+ _id: string | null;
65
+ };
66
+ site: {
67
+ _id: string;
68
+ domainUrl: string;
69
+ package: {
70
+ version: string;
71
+ id: string;
72
+ };
73
+ };
74
+ theme?: ITheme | null;
75
+ }
76
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,54 @@
1
+ import { IStatsNetworkManager } from './NetworkManager/types';
2
+ import { StatsApiResponse } from '../modules/stats/interfaces/IStats';
3
+ import IMaestroEventDelegate from '@/interfaces/IMaestroEventDelegate';
4
+ /**
5
+ * Service for handling stats-related API calls
6
+ */
7
+ declare class StatsService {
8
+ networkManager: IStatsNetworkManager;
9
+ overrideUrl: string | null;
10
+ constructor(delegate: IMaestroEventDelegate);
11
+ /**
12
+ * Get stats using a full sync URL (for timecode support)
13
+ *
14
+ * @param timeCode - The timecode in milliseconds, or null for 'latest'
15
+ * @returns Promise with the stats data
16
+ */
17
+ getStatsByUrl(timeCode: number | null): Promise<StatsApiResponse>;
18
+ /**
19
+ * Start polling using a full sync URL (for timecode support)
20
+ *
21
+ * @param timeCode - The timecode in milliseconds, or null for 'latest'
22
+ * @param interval - The polling interval in milliseconds
23
+ * @param onData - Callback for successful data fetch
24
+ * @param onError - Callback for errors
25
+ * @returns Object with a stop function to stop polling
26
+ */
27
+ pollStatsByUrl(timeCode: number | null, interval: number, onData: (data: StatsApiResponse) => void, onError?: (error: Error) => void): {
28
+ stop: () => void;
29
+ };
30
+ /**
31
+ * Build sync URL for timecode-based stats fetching
32
+ * @param timeCode - The timecode in milliseconds, or null for 'latest'
33
+ * @returns Complete sync URL for the fauxcast stats endpoint
34
+ */
35
+ private getSyncEndpoint;
36
+ /**
37
+ * Extract event, league, and main IDs from page config metadata
38
+ * @returns Object containing eventId, leagueId, and mainId
39
+ */
40
+ private getIdsFromPageConfig;
41
+ /**
42
+ * Parse league data from external_field_5 JSON string
43
+ * @param leagueField - JSON string containing leagueId and optional fauxcastId
44
+ * @returns Parsed league data
45
+ */
46
+ private parseLeagueData;
47
+ /**
48
+ * Format timecode for API consumption
49
+ * @param timeCode - Timecode in milliseconds or null
50
+ * @returns ISO date string, "pre.json" for pre-game, or "latest" for post-game
51
+ */
52
+ private formatTimeCodeForAPI;
53
+ }
54
+ export default StatsService;
@@ -0,0 +1,154 @@
1
+ import { HttpMethod } from './NetworkManager/NetworkManager';
2
+ import NetworkManagerFactory from './NetworkManager/NetworkManagerFactory';
3
+ import SDK from '..';
4
+ import { captureException } from '@/sentry';
5
+ /**
6
+ * Service for handling stats-related API calls
7
+ */
8
+ class StatsService {
9
+ constructor(delegate) {
10
+ Object.defineProperty(this, "networkManager", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
16
+ Object.defineProperty(this, "overrideUrl", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: null
21
+ });
22
+ this.networkManager = NetworkManagerFactory.createStatsNetworkManager(delegate.getStatsAPIBaseURL());
23
+ }
24
+ /**
25
+ * Get stats using a full sync URL (for timecode support)
26
+ *
27
+ * @param timeCode - The timecode in milliseconds, or null for 'latest'
28
+ * @returns Promise with the stats data
29
+ */
30
+ async getStatsByUrl(timeCode) {
31
+ return this.networkManager.externalApiRequest({
32
+ endpoint: this.getSyncEndpoint(timeCode),
33
+ method: HttpMethod.GET,
34
+ params: {},
35
+ headers: {},
36
+ });
37
+ }
38
+ /**
39
+ * Start polling using a full sync URL (for timecode support)
40
+ *
41
+ * @param timeCode - The timecode in milliseconds, or null for 'latest'
42
+ * @param interval - The polling interval in milliseconds
43
+ * @param onData - Callback for successful data fetch
44
+ * @param onError - Callback for errors
45
+ * @returns Object with a stop function to stop polling
46
+ */
47
+ pollStatsByUrl(timeCode, interval, onData, onError) {
48
+ return this.networkManager.pollExternalApiRequest({
49
+ endpoint: this.getSyncEndpoint(timeCode),
50
+ interval,
51
+ method: HttpMethod.GET,
52
+ params: {},
53
+ headers: {},
54
+ onData,
55
+ onError,
56
+ });
57
+ }
58
+ /**
59
+ * Build sync URL for timecode-based stats fetching
60
+ * @param timeCode - The timecode in milliseconds, or null for 'latest'
61
+ * @returns Complete sync URL for the fauxcast stats endpoint
62
+ */
63
+ getSyncEndpoint(timeCode) {
64
+ if (this.overrideUrl) {
65
+ console.log('[StatsService] Using overrideUrl:', this.overrideUrl);
66
+ return this.overrideUrl;
67
+ }
68
+ const { leagueId, mainId } = this.getIdsFromPageConfig();
69
+ const formattedTimeCode = this.formatTimeCodeForAPI(timeCode);
70
+ return `/${leagueId}/${mainId}/en/us/${formattedTimeCode}`;
71
+ }
72
+ /**
73
+ * Extract event, league, and main IDs from page config metadata
74
+ * @returns Object containing eventId, leagueId, and mainId
75
+ */
76
+ getIdsFromPageConfig() {
77
+ const pageConfig = SDK.getPageConfig();
78
+ if (!pageConfig) {
79
+ throw new Error('Page config is null or undefined');
80
+ }
81
+ const metadata = pageConfig.page.metadata;
82
+ const eventId = metadata?.external_field_1;
83
+ const leagueField = metadata?.external_field_5;
84
+ if (!eventId || !leagueField) {
85
+ const availableFields = Object.keys(metadata || {}).join(', ');
86
+ throw new Error('Missing eventId or leagueId in page config metadata. Cannot build sync URL. ' +
87
+ `Required fields: external_field_1 (eventId), external_field_5 (leagueId). ` +
88
+ `Available fields: ${availableFields}`);
89
+ }
90
+ const { leagueId, fauxcastId } = this.parseLeagueData(leagueField);
91
+ const mainId = fauxcastId || eventId;
92
+ if (!mainId.trim() || !leagueId.trim()) {
93
+ throw new Error('MainId or leagueId is empty string in page config metadata');
94
+ }
95
+ return { eventId, leagueId, mainId };
96
+ }
97
+ /**
98
+ * Parse league data from external_field_5 JSON string
99
+ * @param leagueField - JSON string containing leagueId and optional fauxcastId
100
+ * @returns Parsed league data
101
+ */
102
+ parseLeagueData(leagueField) {
103
+ try {
104
+ const parsed = JSON.parse(leagueField);
105
+ if (!parsed.leagueId) {
106
+ throw new Error('leagueId not found in parsed JSON');
107
+ }
108
+ return { leagueId: parsed.leagueId, fauxcastId: parsed.fauxcastId };
109
+ }
110
+ catch (parseError) {
111
+ const error = new Error(`Failed to parse leagueId from external_field_5. Raw value: ${leagueField}`);
112
+ captureException(error, { rawValue: leagueField, parseError });
113
+ throw error;
114
+ }
115
+ }
116
+ /**
117
+ * Format timecode for API consumption
118
+ * @param timeCode - Timecode in milliseconds or null
119
+ * @returns ISO date string, "pre.json" for pre-game, or "latest" for post-game
120
+ */
121
+ formatTimeCodeForAPI(timeCode) {
122
+ if (!timeCode || timeCode === 0) {
123
+ return 'latest';
124
+ }
125
+ if (typeof timeCode !== 'number' ||
126
+ isNaN(timeCode) ||
127
+ !isFinite(timeCode)) {
128
+ console.warn('Invalid timecode provided, using "latest":', timeCode);
129
+ return 'latest';
130
+ }
131
+ try {
132
+ const date = new Date(timeCode);
133
+ if (isNaN(date.getTime())) {
134
+ console.warn('Invalid date from timecode, using "latest":', timeCode);
135
+ return 'latest';
136
+ }
137
+ // For future timecodes, use "latest" since we can't fetch future data
138
+ const now = Date.now();
139
+ const timeDiff = now - timeCode;
140
+ if (timeDiff < 0) {
141
+ return 'latest';
142
+ }
143
+ // Return ISO date string without milliseconds to match API format
144
+ const isoString = date.toISOString().replace(/\.\d{3}Z$/, 'Z');
145
+ return isoString;
146
+ }
147
+ catch (error) {
148
+ captureException(error, { timeCode });
149
+ console.warn('Error formatting timecode, using "latest":', timeCode, error);
150
+ return 'latest';
151
+ }
152
+ }
153
+ }
154
+ export default StatsService;
@@ -0,0 +1,2 @@
1
+ import ITheme from '@/models/ITheme';
2
+ export declare const DARK_THEME: ITheme;