@maestro_io/maestro-web-sdk 5.2.1 → 5.2.3

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 (688) hide show
  1. package/README.md +25 -0
  2. package/dist/index.d.ts +4 -3
  3. package/dist/maestro-web-sdk.esm.js +3 -3
  4. package/dist/maestro-web-sdk.esm.js.map +1 -1
  5. package/dist/maestro-web-sdk.umd.js +3 -3
  6. package/dist/maestro-web-sdk.umd.js.map +1 -1
  7. package/package.json +3 -2
  8. package/dist/1.maestro-web-sdk.esm.js +0 -2
  9. package/dist/1.maestro-web-sdk.esm.js.map +0 -1
  10. package/dist/10.maestro-web-sdk.esm.js +0 -2
  11. package/dist/10.maestro-web-sdk.esm.js.map +0 -1
  12. package/dist/11.maestro-web-sdk.esm.js +0 -2
  13. package/dist/11.maestro-web-sdk.esm.js.map +0 -1
  14. package/dist/12.maestro-web-sdk.esm.js +0 -2
  15. package/dist/12.maestro-web-sdk.esm.js.map +0 -1
  16. package/dist/13.maestro-web-sdk.esm.js +0 -2
  17. package/dist/13.maestro-web-sdk.esm.js.map +0 -1
  18. package/dist/14.maestro-web-sdk.esm.js +0 -2
  19. package/dist/14.maestro-web-sdk.esm.js.map +0 -1
  20. package/dist/15.maestro-web-sdk.esm.js +0 -2
  21. package/dist/15.maestro-web-sdk.esm.js.map +0 -1
  22. package/dist/16.maestro-web-sdk.esm.js +0 -2
  23. package/dist/16.maestro-web-sdk.esm.js.map +0 -1
  24. package/dist/17.maestro-web-sdk.esm.js +0 -2
  25. package/dist/17.maestro-web-sdk.esm.js.map +0 -1
  26. package/dist/18.maestro-web-sdk.esm.js +0 -2
  27. package/dist/18.maestro-web-sdk.esm.js.map +0 -1
  28. package/dist/19.maestro-web-sdk.esm.js +0 -2
  29. package/dist/19.maestro-web-sdk.esm.js.map +0 -1
  30. package/dist/2.maestro-web-sdk.esm.js +0 -2
  31. package/dist/2.maestro-web-sdk.esm.js.map +0 -1
  32. package/dist/20.maestro-web-sdk.esm.js +0 -2
  33. package/dist/20.maestro-web-sdk.esm.js.map +0 -1
  34. package/dist/21.maestro-web-sdk.esm.js +0 -2
  35. package/dist/21.maestro-web-sdk.esm.js.map +0 -1
  36. package/dist/22.maestro-web-sdk.esm.js +0 -2
  37. package/dist/22.maestro-web-sdk.esm.js.map +0 -1
  38. package/dist/23.maestro-web-sdk.esm.js +0 -2
  39. package/dist/23.maestro-web-sdk.esm.js.map +0 -1
  40. package/dist/24.maestro-web-sdk.esm.js +0 -2
  41. package/dist/24.maestro-web-sdk.esm.js.map +0 -1
  42. package/dist/25.maestro-web-sdk.esm.js +0 -2
  43. package/dist/25.maestro-web-sdk.esm.js.map +0 -1
  44. package/dist/26.maestro-web-sdk.esm.js +0 -2
  45. package/dist/26.maestro-web-sdk.esm.js.map +0 -1
  46. package/dist/27.maestro-web-sdk.esm.js +0 -2
  47. package/dist/27.maestro-web-sdk.esm.js.map +0 -1
  48. package/dist/28.maestro-web-sdk.esm.js +0 -2
  49. package/dist/28.maestro-web-sdk.esm.js.map +0 -1
  50. package/dist/29.maestro-web-sdk.esm.js +0 -2
  51. package/dist/29.maestro-web-sdk.esm.js.map +0 -1
  52. package/dist/3.maestro-web-sdk.esm.js +0 -2
  53. package/dist/3.maestro-web-sdk.esm.js.map +0 -1
  54. package/dist/30.maestro-web-sdk.esm.js +0 -2
  55. package/dist/30.maestro-web-sdk.esm.js.map +0 -1
  56. package/dist/31.maestro-web-sdk.esm.js +0 -2
  57. package/dist/31.maestro-web-sdk.esm.js.map +0 -1
  58. package/dist/32.maestro-web-sdk.esm.js +0 -2
  59. package/dist/32.maestro-web-sdk.esm.js.map +0 -1
  60. package/dist/33.maestro-web-sdk.esm.js +0 -2
  61. package/dist/33.maestro-web-sdk.esm.js.map +0 -1
  62. package/dist/34.maestro-web-sdk.esm.js +0 -2
  63. package/dist/34.maestro-web-sdk.esm.js.map +0 -1
  64. package/dist/35.maestro-web-sdk.esm.js +0 -2
  65. package/dist/35.maestro-web-sdk.esm.js.map +0 -1
  66. package/dist/36.maestro-web-sdk.esm.js +0 -2
  67. package/dist/36.maestro-web-sdk.esm.js.map +0 -1
  68. package/dist/37.maestro-web-sdk.esm.js +0 -2
  69. package/dist/37.maestro-web-sdk.esm.js.map +0 -1
  70. package/dist/38.maestro-web-sdk.esm.js +0 -2
  71. package/dist/38.maestro-web-sdk.esm.js.map +0 -1
  72. package/dist/39.maestro-web-sdk.esm.js +0 -2
  73. package/dist/39.maestro-web-sdk.esm.js.map +0 -1
  74. package/dist/4.maestro-web-sdk.esm.js +0 -2
  75. package/dist/4.maestro-web-sdk.esm.js.map +0 -1
  76. package/dist/40.maestro-web-sdk.esm.js +0 -2
  77. package/dist/40.maestro-web-sdk.esm.js.map +0 -1
  78. package/dist/5.maestro-web-sdk.esm.js +0 -2
  79. package/dist/5.maestro-web-sdk.esm.js.map +0 -1
  80. package/dist/6.maestro-web-sdk.esm.js +0 -2
  81. package/dist/6.maestro-web-sdk.esm.js.map +0 -1
  82. package/dist/7.maestro-web-sdk.esm.js +0 -2
  83. package/dist/7.maestro-web-sdk.esm.js.map +0 -1
  84. package/dist/8.maestro-web-sdk.esm.js +0 -2
  85. package/dist/8.maestro-web-sdk.esm.js.map +0 -1
  86. package/dist/9.maestro-web-sdk.esm.js +0 -2
  87. package/dist/9.maestro-web-sdk.esm.js.map +0 -1
  88. package/dist/package.json +0 -94
  89. package/dist/src/components/atoms/BaseButton/BaseButton.d.ts +0 -7
  90. package/dist/src/components/atoms/BaseButton/BaseButton.js +0 -11
  91. package/dist/src/components/atoms/BaseButton/index.d.ts +0 -2
  92. package/dist/src/components/atoms/BaseButton/index.js +0 -2
  93. package/dist/src/components/atoms/Image/index.d.ts +0 -13
  94. package/dist/src/components/atoms/Image/index.js +0 -34
  95. package/dist/src/components/atoms/Rive/index.d.ts +0 -221
  96. package/dist/src/components/atoms/Rive/index.js +0 -53
  97. package/dist/src/components/atoms/SvgIcon/AddIcon.d.ts +0 -3
  98. package/dist/src/components/atoms/SvgIcon/AddIcon.js +0 -6
  99. package/dist/src/components/atoms/SvgIcon/BetGeneralIcon.d.ts +0 -3
  100. package/dist/src/components/atoms/SvgIcon/BetGeneralIcon.js +0 -9
  101. package/dist/src/components/atoms/SvgIcon/BetsIcon.d.ts +0 -3
  102. package/dist/src/components/atoms/SvgIcon/BetsIcon.js +0 -8
  103. package/dist/src/components/atoms/SvgIcon/BetsWarningIcon.d.ts +0 -7
  104. package/dist/src/components/atoms/SvgIcon/BetsWarningIcon.js +0 -11
  105. package/dist/src/components/atoms/SvgIcon/BuilderIcon.d.ts +0 -3
  106. package/dist/src/components/atoms/SvgIcon/BuilderIcon.js +0 -8
  107. package/dist/src/components/atoms/SvgIcon/ChatIcon.d.ts +0 -3
  108. package/dist/src/components/atoms/SvgIcon/ChatIcon.js +0 -6
  109. package/dist/src/components/atoms/SvgIcon/CheckmarkIcon.d.ts +0 -3
  110. package/dist/src/components/atoms/SvgIcon/CheckmarkIcon.js +0 -6
  111. package/dist/src/components/atoms/SvgIcon/CollapseIcon.d.ts +0 -3
  112. package/dist/src/components/atoms/SvgIcon/CollapseIcon.js +0 -6
  113. package/dist/src/components/atoms/SvgIcon/ExpandIcon.d.ts +0 -3
  114. package/dist/src/components/atoms/SvgIcon/ExpandIcon.js +0 -6
  115. package/dist/src/components/atoms/SvgIcon/FantasyIcon.d.ts +0 -7
  116. package/dist/src/components/atoms/SvgIcon/FantasyIcon.js +0 -15
  117. package/dist/src/components/atoms/SvgIcon/FlameIcon.d.ts +0 -7
  118. package/dist/src/components/atoms/SvgIcon/FlameIcon.js +0 -11
  119. package/dist/src/components/atoms/SvgIcon/FoxKeyPlaysIcon.d.ts +0 -3
  120. package/dist/src/components/atoms/SvgIcon/FoxKeyPlaysIcon.js +0 -7
  121. package/dist/src/components/atoms/SvgIcon/FoxMultiViewIcon.d.ts +0 -3
  122. package/dist/src/components/atoms/SvgIcon/FoxMultiViewIcon.js +0 -10
  123. package/dist/src/components/atoms/SvgIcon/FoxStatsIcon.d.ts +0 -3
  124. package/dist/src/components/atoms/SvgIcon/FoxStatsIcon.js +0 -7
  125. package/dist/src/components/atoms/SvgIcon/HelloWorldIcon.d.ts +0 -3
  126. package/dist/src/components/atoms/SvgIcon/HelloWorldIcon.js +0 -6
  127. package/dist/src/components/atoms/SvgIcon/Icon.d.ts +0 -15
  128. package/dist/src/components/atoms/SvgIcon/Icon.js +0 -70
  129. package/dist/src/components/atoms/SvgIcon/KeyPlaysIcon.d.ts +0 -6
  130. package/dist/src/components/atoms/SvgIcon/KeyPlaysIcon.js +0 -10
  131. package/dist/src/components/atoms/SvgIcon/MobilePhoneIcon.d.ts +0 -7
  132. package/dist/src/components/atoms/SvgIcon/MobilePhoneIcon.js +0 -11
  133. package/dist/src/components/atoms/SvgIcon/PlayIcon.d.ts +0 -6
  134. package/dist/src/components/atoms/SvgIcon/PlayIcon.js +0 -8
  135. package/dist/src/components/atoms/SvgIcon/ShopIcon.d.ts +0 -5
  136. package/dist/src/components/atoms/SvgIcon/ShopIcon.js +0 -7
  137. package/dist/src/components/atoms/SvgIcon/ShopifyIcon.d.ts +0 -3
  138. package/dist/src/components/atoms/SvgIcon/ShopifyIcon.js +0 -6
  139. package/dist/src/components/atoms/SvgIcon/StatsIcon.d.ts +0 -6
  140. package/dist/src/components/atoms/SvgIcon/StatsIcon.js +0 -12
  141. package/dist/src/components/atoms/SvgIcon/TimesIcon.d.ts +0 -3
  142. package/dist/src/components/atoms/SvgIcon/TimesIcon.js +0 -6
  143. package/dist/src/components/atoms/SvgIcon/WarningIcon.d.ts +0 -6
  144. package/dist/src/components/atoms/SvgIcon/WarningIcon.js +0 -8
  145. package/dist/src/components/atoms/SvgIcon/index.d.ts +0 -2
  146. package/dist/src/components/atoms/SvgIcon/index.js +0 -2
  147. package/dist/src/components/core/App/App.d.ts +0 -11
  148. package/dist/src/components/core/App/App.js +0 -35
  149. package/dist/src/components/core/App/index.d.ts +0 -2
  150. package/dist/src/components/core/App/index.js +0 -2
  151. package/dist/src/components/core/PanelManager/PanelManager.d.ts +0 -21
  152. package/dist/src/components/core/PanelManager/PanelManager.js +0 -104
  153. package/dist/src/components/core/PanelManager/index.d.ts +0 -2
  154. package/dist/src/components/core/PanelManager/index.js +0 -2
  155. package/dist/src/components/core/ScrollableContainer/FocusableItem.d.ts +0 -11
  156. package/dist/src/components/core/ScrollableContainer/FocusableItem.js +0 -24
  157. package/dist/src/components/core/ScrollableContainer/ScrollableContainer.d.ts +0 -54
  158. package/dist/src/components/core/ScrollableContainer/ScrollableContainer.js +0 -111
  159. package/dist/src/components/core/ScrollableContainer/index.d.ts +0 -6
  160. package/dist/src/components/core/ScrollableContainer/index.js +0 -5
  161. package/dist/src/components/core/ScrollableContainer/useScrollableContainer.d.ts +0 -14
  162. package/dist/src/components/core/ScrollableContainer/useScrollableContainer.js +0 -22
  163. package/dist/src/components/molecules/ActionButton/ActionButton.d.ts +0 -96
  164. package/dist/src/components/molecules/ActionButton/ActionButton.js +0 -15
  165. package/dist/src/components/molecules/ActionButton/index.d.ts +0 -2
  166. package/dist/src/components/molecules/ActionButton/index.js +0 -2
  167. package/dist/src/components/molecules/HeadshotImage/HeadshotImage.d.ts +0 -16
  168. package/dist/src/components/molecules/HeadshotImage/HeadshotImage.js +0 -50
  169. package/dist/src/components/molecules/HeadshotImage/index.d.ts +0 -2
  170. package/dist/src/components/molecules/HeadshotImage/index.js +0 -2
  171. package/dist/src/components/molecules/NetworkDialog/NetworkDialog.d.ts +0 -11
  172. package/dist/src/components/molecules/NetworkDialog/NetworkDialog.js +0 -34
  173. package/dist/src/components/molecules/NetworkDialog/index.d.ts +0 -2
  174. package/dist/src/components/molecules/NetworkDialog/index.js +0 -2
  175. package/dist/src/components/molecules/NetworkError/NetworkError.d.ts +0 -104
  176. package/dist/src/components/molecules/NetworkError/NetworkError.js +0 -26
  177. package/dist/src/components/molecules/NetworkError/index.d.ts +0 -2
  178. package/dist/src/components/molecules/NetworkError/index.js +0 -2
  179. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.d.ts +0 -107
  180. package/dist/src/components/molecules/PanelNavButton/PanelNavButton.js +0 -36
  181. package/dist/src/components/molecules/PanelNavButton/index.d.ts +0 -2
  182. package/dist/src/components/molecules/PanelNavButton/index.js +0 -2
  183. package/dist/src/components/molecules/SegmentButton/SegmentButton.d.ts +0 -9
  184. package/dist/src/components/molecules/SegmentButton/SegmentButton.js +0 -10
  185. package/dist/src/components/molecules/SegmentButton/index.d.ts +0 -2
  186. package/dist/src/components/molecules/SegmentButton/index.js +0 -2
  187. package/dist/src/components/molecules/TabLoadError/TabLoadError.d.ts +0 -96
  188. package/dist/src/components/molecules/TabLoadError/TabLoadError.js +0 -14
  189. package/dist/src/components/molecules/TabLoadError/index.d.ts +0 -2
  190. package/dist/src/components/molecules/TabLoadError/index.js +0 -2
  191. package/dist/src/components/molecules/WatchButton/WatchButton.d.ts +0 -10
  192. package/dist/src/components/molecules/WatchButton/WatchButton.js +0 -15
  193. package/dist/src/components/molecules/WatchButton/index.d.ts +0 -2
  194. package/dist/src/components/molecules/WatchButton/index.js +0 -2
  195. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.d.ts +0 -17
  196. package/dist/src/components/organisms/PanelNavigation/PanelNavigation.js +0 -64
  197. package/dist/src/components/organisms/PanelNavigation/index.d.ts +0 -2
  198. package/dist/src/components/organisms/PanelNavigation/index.js +0 -2
  199. package/dist/src/components/organisms/SegmentController/SegmentController.d.ts +0 -12
  200. package/dist/src/components/organisms/SegmentController/SegmentController.js +0 -35
  201. package/dist/src/components/organisms/SegmentController/index.d.ts +0 -3
  202. package/dist/src/components/organisms/SegmentController/index.js +0 -2
  203. package/dist/src/development/MaestroEventDelegate.d.ts +0 -27
  204. package/dist/src/development/MaestroEventDelegate.js +0 -110
  205. package/dist/src/development/TimeSeek.d.ts +0 -22
  206. package/dist/src/development/TimeSeek.js +0 -218
  207. package/dist/src/development/development.d.ts +0 -1
  208. package/dist/src/development/development.js +0 -39
  209. package/dist/src/external/AxiosNetworkClient.d.ts +0 -28
  210. package/dist/src/external/AxiosNetworkClient.js +0 -110
  211. package/dist/src/external/LocalStorageCacheManager.d.ts +0 -65
  212. package/dist/src/external/LocalStorageCacheManager.js +0 -213
  213. package/dist/src/external/ReactRenderer.d.ts +0 -17
  214. package/dist/src/external/ReactRenderer.js +0 -66
  215. package/dist/src/external/mocks/MockExternalNetworkClient.d.ts +0 -104
  216. package/dist/src/external/mocks/MockExternalNetworkClient.js +0 -187
  217. package/dist/src/external/ports/cacheManager.d.ts +0 -17
  218. package/dist/src/external/ports/cacheManager.js +0 -1
  219. package/dist/src/external/ports/networkClient.d.ts +0 -19
  220. package/dist/src/external/ports/networkClient.js +0 -1
  221. package/dist/src/external/ports/renderer.d.ts +0 -4
  222. package/dist/src/external/ports/renderer.js +0 -1
  223. package/dist/src/external/spatial-navigation/__mocks__/withFocusable.d.ts +0 -8
  224. package/dist/src/external/spatial-navigation/__mocks__/withFocusable.js +0 -7
  225. package/dist/src/external/spatial-navigation/index.d.ts +0 -4
  226. package/dist/src/external/spatial-navigation/index.js +0 -3
  227. package/dist/src/external/spatial-navigation/measureLayout.d.ts +0 -2
  228. package/dist/src/external/spatial-navigation/measureLayout.js +0 -30
  229. package/dist/src/external/spatial-navigation/spatialNavigation.d.ts +0 -160
  230. package/dist/src/external/spatial-navigation/spatialNavigation.js +0 -944
  231. package/dist/src/external/spatial-navigation/utils.d.ts +0 -22
  232. package/dist/src/external/spatial-navigation/utils.js +0 -6
  233. package/dist/src/external/spatial-navigation/visualDebugger.d.ts +0 -17
  234. package/dist/src/external/spatial-navigation/visualDebugger.js +0 -76
  235. package/dist/src/external/spatial-navigation/withFocusable.d.ts +0 -131
  236. package/dist/src/external/spatial-navigation/withFocusable.js +0 -254
  237. package/dist/src/helpers/Observable.d.ts +0 -12
  238. package/dist/src/helpers/Observable.js +0 -37
  239. package/dist/src/helpers/site.d.ts +0 -1
  240. package/dist/src/helpers/site.js +0 -6
  241. package/dist/src/helpers/siteConfig.d.ts +0 -1
  242. package/dist/src/helpers/siteConfig.js +0 -5
  243. package/dist/src/helpers/strings.d.ts +0 -2
  244. package/dist/src/helpers/strings.js +0 -14
  245. package/dist/src/helpers/url.d.ts +0 -1
  246. package/dist/src/helpers/url.js +0 -12
  247. package/dist/src/hooks/useMaxHeightToBottom.d.ts +0 -11
  248. package/dist/src/hooks/useMaxHeightToBottom.js +0 -48
  249. package/dist/src/index.d.ts +0 -53
  250. package/dist/src/index.js +0 -197
  251. package/dist/src/interfaces/IMaestroEvent.d.ts +0 -108
  252. package/dist/src/interfaces/IMaestroEvent.js +0 -1
  253. package/dist/src/interfaces/IMaestroEventDelegate.d.ts +0 -81
  254. package/dist/src/interfaces/IMaestroEventDelegate.js +0 -1
  255. package/dist/src/interfaces/IMaestroManager.d.ts +0 -81
  256. package/dist/src/interfaces/IMaestroManager.js +0 -1
  257. package/dist/src/interfaces/IUserSettings.d.ts +0 -44
  258. package/dist/src/interfaces/IUserSettings.js +0 -20
  259. package/dist/src/models/IModel.d.ts +0 -7
  260. package/dist/src/models/IModel.js +0 -1
  261. package/dist/src/models/IPanel.d.ts +0 -19
  262. package/dist/src/models/IPanel.js +0 -12
  263. package/dist/src/models/ITheme.d.ts +0 -77
  264. package/dist/src/models/ITheme.js +0 -20
  265. package/dist/src/modules/espn/bets/interfaces/IBets.d.ts +0 -192
  266. package/dist/src/modules/espn/bets/interfaces/IBets.js +0 -1
  267. package/dist/src/modules/espn/bets/interfaces/IBetsViewModel.d.ts +0 -5
  268. package/dist/src/modules/espn/bets/interfaces/IBetsViewModel.js +0 -1
  269. package/dist/src/modules/espn/bets/mocks.d.ts +0 -2
  270. package/dist/src/modules/espn/bets/mocks.js +0 -573
  271. package/dist/src/modules/espn/bets/services/BetsService.d.ts +0 -81
  272. package/dist/src/modules/espn/bets/services/BetsService.js +0 -123
  273. package/dist/src/modules/espn/bets/types/BetsAnalyticsTypes.d.ts +0 -8
  274. package/dist/src/modules/espn/bets/types/BetsAnalyticsTypes.js +0 -1
  275. package/dist/src/modules/espn/bets/view/BetsView.d.ts +0 -30
  276. package/dist/src/modules/espn/bets/view/BetsView.js +0 -169
  277. package/dist/src/modules/espn/bets/view/HotProps/HotPropsView.d.ts +0 -103
  278. package/dist/src/modules/espn/bets/view/HotProps/HotPropsView.js +0 -133
  279. package/dist/src/modules/espn/bets/view/SixPack/SixPackView.d.ts +0 -9
  280. package/dist/src/modules/espn/bets/view/SixPack/SixPackView.js +0 -77
  281. package/dist/src/modules/espn/bets/view/UserBets/BetResult/BetResult.d.ts +0 -6
  282. package/dist/src/modules/espn/bets/view/UserBets/BetResult/BetResult.js +0 -6
  283. package/dist/src/modules/espn/bets/view/UserBets/BetsCard/BetsCard.d.ts +0 -104
  284. package/dist/src/modules/espn/bets/view/UserBets/BetsCard/BetsCard.js +0 -140
  285. package/dist/src/modules/espn/bets/view/UserBets/BetsCard/BetsCardEvent.d.ts +0 -16
  286. package/dist/src/modules/espn/bets/view/UserBets/BetsCard/BetsCardEvent.js +0 -8
  287. package/dist/src/modules/espn/bets/view/UserBets/BetsCard/BetsCardFooter.d.ts +0 -7
  288. package/dist/src/modules/espn/bets/view/UserBets/BetsCard/BetsCardFooter.js +0 -18
  289. package/dist/src/modules/espn/bets/view/UserBets/Boost/Boost.d.ts +0 -7
  290. package/dist/src/modules/espn/bets/view/UserBets/Boost/Boost.js +0 -6
  291. package/dist/src/modules/espn/bets/view/UserBets/OutcomeBadge/OutcomeBadge.d.ts +0 -6
  292. package/dist/src/modules/espn/bets/view/UserBets/OutcomeBadge/OutcomeBadge.js +0 -9
  293. package/dist/src/modules/espn/bets/view/UserBets/Parlay/Parlay.d.ts +0 -8
  294. package/dist/src/modules/espn/bets/view/UserBets/Parlay/Parlay.js +0 -13
  295. package/dist/src/modules/espn/bets/view/UserBets/Straight/Straight.d.ts +0 -7
  296. package/dist/src/modules/espn/bets/view/UserBets/Straight/Straight.js +0 -6
  297. package/dist/src/modules/espn/bets/view/UserBets/Teaser/Teaser.d.ts +0 -7
  298. package/dist/src/modules/espn/bets/view/UserBets/Teaser/Teaser.js +0 -13
  299. package/dist/src/modules/espn/bets/view/UserBets/UserBetsView.d.ts +0 -25
  300. package/dist/src/modules/espn/bets/view/UserBets/UserBetsView.js +0 -107
  301. package/dist/src/modules/espn/bets/view/components/Bet/Bet.d.ts +0 -10
  302. package/dist/src/modules/espn/bets/view/components/Bet/Bet.js +0 -41
  303. package/dist/src/modules/espn/bets/view/components/BetPill/BetPill.d.ts +0 -6
  304. package/dist/src/modules/espn/bets/view/components/BetPill/BetPill.js +0 -6
  305. package/dist/src/modules/espn/bets/view/components/BetsCard/BetsCard.d.ts +0 -10
  306. package/dist/src/modules/espn/bets/view/components/BetsCard/BetsCard.js +0 -24
  307. package/dist/src/modules/espn/bets/view/components/BetsCard/BetsCardHeader.d.ts +0 -16
  308. package/dist/src/modules/espn/bets/view/components/BetsCard/BetsCardHeader.js +0 -20
  309. package/dist/src/modules/espn/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.d.ts +0 -7
  310. package/dist/src/modules/espn/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.js +0 -31
  311. package/dist/src/modules/espn/bets/view/components/GamblingDisclaimer/index.d.ts +0 -1
  312. package/dist/src/modules/espn/bets/view/components/GamblingDisclaimer/index.js +0 -1
  313. package/dist/src/modules/espn/bets/view/components/LocationWarning/LocationWarning.d.ts +0 -10
  314. package/dist/src/modules/espn/bets/view/components/LocationWarning/LocationWarning.js +0 -16
  315. package/dist/src/modules/espn/bets/view/components/PromoCodeBanner/PromoCodeBanner.d.ts +0 -5
  316. package/dist/src/modules/espn/bets/view/components/PromoCodeBanner/PromoCodeBanner.js +0 -45
  317. package/dist/src/modules/espn/bets/view/components/PromoCodeBanner/index.d.ts +0 -1
  318. package/dist/src/modules/espn/bets/view/components/PromoCodeBanner/index.js +0 -1
  319. package/dist/src/modules/espn/bets/view-model/BetsViewModel.d.ts +0 -218
  320. package/dist/src/modules/espn/bets/view-model/BetsViewModel.js +0 -947
  321. package/dist/src/modules/espn/components/TabLoadError/TabLoadError.d.ts +0 -96
  322. package/dist/src/modules/espn/components/TabLoadError/TabLoadError.js +0 -14
  323. package/dist/src/modules/espn/components/TabLoadError/index.d.ts +0 -2
  324. package/dist/src/modules/espn/components/TabLoadError/index.js +0 -2
  325. package/dist/src/modules/espn/fantasy/components/ExpandedAthleteList/ExpandedAthletesList.d.ts +0 -28
  326. package/dist/src/modules/espn/fantasy/components/ExpandedAthleteList/ExpandedAthletesList.js +0 -107
  327. package/dist/src/modules/espn/fantasy/components/ExpandedAthleteList/index.d.ts +0 -1
  328. package/dist/src/modules/espn/fantasy/components/ExpandedAthleteList/index.js +0 -1
  329. package/dist/src/modules/espn/fantasy/components/LeagueCard/LeagueCard.d.ts +0 -104
  330. package/dist/src/modules/espn/fantasy/components/LeagueCard/LeagueCard.js +0 -20
  331. package/dist/src/modules/espn/fantasy/components/LeagueCard/index.d.ts +0 -2
  332. package/dist/src/modules/espn/fantasy/components/LeagueCard/index.js +0 -2
  333. package/dist/src/modules/espn/fantasy/components/TopPlayerCard/TopPlayerCard.d.ts +0 -101
  334. package/dist/src/modules/espn/fantasy/components/TopPlayerCard/TopPlayerCard.js +0 -29
  335. package/dist/src/modules/espn/fantasy/components/TopPlayerCard/index.d.ts +0 -2
  336. package/dist/src/modules/espn/fantasy/components/TopPlayerCard/index.js +0 -2
  337. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/TournamentOverflowQR.d.ts +0 -103
  338. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/TournamentOverflowQR.js +0 -28
  339. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/index.d.ts +0 -1
  340. package/dist/src/modules/espn/fantasy/components/TournamentOverflowQR/index.js +0 -1
  341. package/dist/src/modules/espn/fantasy/mocks.d.ts +0 -7620
  342. package/dist/src/modules/espn/fantasy/mocks.js +0 -3682
  343. package/dist/src/modules/espn/fantasy/services/FantasyService.d.ts +0 -76
  344. package/dist/src/modules/espn/fantasy/services/FantasyService.js +0 -127
  345. package/dist/src/modules/espn/fantasy/types.d.ts +0 -294
  346. package/dist/src/modules/espn/fantasy/types.js +0 -9
  347. package/dist/src/modules/espn/fantasy/view/ActiveAthletesMarquee/ActiveAthletesMarquee.d.ts +0 -21
  348. package/dist/src/modules/espn/fantasy/view/ActiveAthletesMarquee/ActiveAthletesMarquee.js +0 -74
  349. package/dist/src/modules/espn/fantasy/view/ActiveAthletesMarquee/index.d.ts +0 -2
  350. package/dist/src/modules/espn/fantasy/view/ActiveAthletesMarquee/index.js +0 -2
  351. package/dist/src/modules/espn/fantasy/view/FantasyHeaderView.d.ts +0 -8
  352. package/dist/src/modules/espn/fantasy/view/FantasyHeaderView.js +0 -8
  353. package/dist/src/modules/espn/fantasy/view/FantasyItemView.d.ts +0 -8
  354. package/dist/src/modules/espn/fantasy/view/FantasyItemView.js +0 -48
  355. package/dist/src/modules/espn/fantasy/view/FantasyView.d.ts +0 -34
  356. package/dist/src/modules/espn/fantasy/view/FantasyView.js +0 -213
  357. package/dist/src/modules/espn/fantasy/view/InactiveLeague/DraftDateCountdown.d.ts +0 -23
  358. package/dist/src/modules/espn/fantasy/view/InactiveLeague/DraftDateCountdown.js +0 -95
  359. package/dist/src/modules/espn/fantasy/view/InactiveLeague/InactiveLeague.d.ts +0 -100
  360. package/dist/src/modules/espn/fantasy/view/InactiveLeague/InactiveLeague.js +0 -13
  361. package/dist/src/modules/espn/fantasy/view/InactiveLeague/index.d.ts +0 -2
  362. package/dist/src/modules/espn/fantasy/view/InactiveLeague/index.js +0 -2
  363. package/dist/src/modules/espn/fantasy/view/LoginView/LoginView.d.ts +0 -96
  364. package/dist/src/modules/espn/fantasy/view/LoginView/LoginView.js +0 -27
  365. package/dist/src/modules/espn/fantasy/view/LoginView/index.d.ts +0 -2
  366. package/dist/src/modules/espn/fantasy/view/LoginView/index.js +0 -2
  367. package/dist/src/modules/espn/fantasy/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.d.ts +0 -97
  368. package/dist/src/modules/espn/fantasy/view/MatchupPair/DoubleAthleteCard/DoubleAthleteCard.js +0 -25
  369. package/dist/src/modules/espn/fantasy/view/MatchupPair/DoubleAthleteCard/index.d.ts +0 -2
  370. package/dist/src/modules/espn/fantasy/view/MatchupPair/DoubleAthleteCard/index.js +0 -2
  371. package/dist/src/modules/espn/fantasy/view/MatchupPair/ExpandedDoubleAthleteCards.d.ts +0 -14
  372. package/dist/src/modules/espn/fantasy/view/MatchupPair/ExpandedDoubleAthleteCards.js +0 -9
  373. package/dist/src/modules/espn/fantasy/view/MatchupPair/MatchupPair.d.ts +0 -102
  374. package/dist/src/modules/espn/fantasy/view/MatchupPair/MatchupPair.js +0 -118
  375. package/dist/src/modules/espn/fantasy/view/MatchupPair/index.d.ts +0 -2
  376. package/dist/src/modules/espn/fantasy/view/MatchupPair/index.js +0 -2
  377. package/dist/src/modules/espn/fantasy/view/MatchupSingle/ExpandedSingleAthleteCards.d.ts +0 -14
  378. package/dist/src/modules/espn/fantasy/view/MatchupSingle/ExpandedSingleAthleteCards.js +0 -9
  379. package/dist/src/modules/espn/fantasy/view/MatchupSingle/MatchupSingle.d.ts +0 -102
  380. package/dist/src/modules/espn/fantasy/view/MatchupSingle/MatchupSingle.js +0 -108
  381. package/dist/src/modules/espn/fantasy/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.d.ts +0 -97
  382. package/dist/src/modules/espn/fantasy/view/MatchupSingle/SingleAthleteCard/SingleAthleteCard.js +0 -18
  383. package/dist/src/modules/espn/fantasy/view/MatchupSingle/SingleAthleteCard/index.d.ts +0 -2
  384. package/dist/src/modules/espn/fantasy/view/MatchupSingle/SingleAthleteCard/index.js +0 -2
  385. package/dist/src/modules/espn/fantasy/view/MatchupSingle/index.d.ts +0 -2
  386. package/dist/src/modules/espn/fantasy/view/MatchupSingle/index.js +0 -2
  387. package/dist/src/modules/espn/fantasy/view/PromoView/PromoView.d.ts +0 -100
  388. package/dist/src/modules/espn/fantasy/view/PromoView/PromoView.js +0 -12
  389. package/dist/src/modules/espn/fantasy/view/PromoView/index.d.ts +0 -2
  390. package/dist/src/modules/espn/fantasy/view/PromoView/index.js +0 -2
  391. package/dist/src/modules/espn/fantasy/view/TournamentBracketCard/TournamentBracketCard.d.ts +0 -101
  392. package/dist/src/modules/espn/fantasy/view/TournamentBracketCard/TournamentBracketCard.js +0 -37
  393. package/dist/src/modules/espn/fantasy/view/TournamentBracketCard/index.d.ts +0 -2
  394. package/dist/src/modules/espn/fantasy/view/TournamentBracketCard/index.js +0 -2
  395. package/dist/src/modules/espn/fantasy/view/index.d.ts +0 -2
  396. package/dist/src/modules/espn/fantasy/view/index.js +0 -2
  397. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.FantasyPolling.d.ts +0 -32
  398. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.FantasyPolling.js +0 -135
  399. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.d.ts +0 -32
  400. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.js +0 -144
  401. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.TournamentPolling.d.ts +0 -32
  402. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.TournamentPolling.js +0 -143
  403. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.d.ts +0 -168
  404. package/dist/src/modules/espn/fantasy/view-model/FantasyViewModel.js +0 -815
  405. package/dist/src/modules/espn/key-plays/constants.d.ts +0 -3
  406. package/dist/src/modules/espn/key-plays/constants.js +0 -292
  407. package/dist/src/modules/espn/key-plays/interfaces/IKeyPlays.d.ts +0 -32
  408. package/dist/src/modules/espn/key-plays/interfaces/IKeyPlays.js +0 -14
  409. package/dist/src/modules/espn/key-plays/interfaces/IKeyPlaysResponse.d.ts +0 -44
  410. package/dist/src/modules/espn/key-plays/interfaces/IKeyPlaysResponse.js +0 -1
  411. package/dist/src/modules/espn/key-plays/interfaces/IKeyPlaysViewModel.d.ts +0 -17
  412. package/dist/src/modules/espn/key-plays/interfaces/IKeyPlaysViewModel.js +0 -1
  413. package/dist/src/modules/espn/key-plays/view/KeyPlayCardScoreTagView.d.ts +0 -9
  414. package/dist/src/modules/espn/key-plays/view/KeyPlayCardScoreTagView.js +0 -16
  415. package/dist/src/modules/espn/key-plays/view/KeyPlayCardView.d.ts +0 -27
  416. package/dist/src/modules/espn/key-plays/view/KeyPlayCardView.js +0 -115
  417. package/dist/src/modules/espn/key-plays/view/KeyPlayErrorStateView.d.ts +0 -13
  418. package/dist/src/modules/espn/key-plays/view/KeyPlayErrorStateView.js +0 -65
  419. package/dist/src/modules/espn/key-plays/view/KeyPlaysView.d.ts +0 -39
  420. package/dist/src/modules/espn/key-plays/view/KeyPlaysView.js +0 -179
  421. package/dist/src/modules/espn/key-plays/view-model/KeyPlaysViewModel.d.ts +0 -37
  422. package/dist/src/modules/espn/key-plays/view-model/KeyPlaysViewModel.js +0 -245
  423. package/dist/src/modules/espn/shop/mocks.d.ts +0 -22
  424. package/dist/src/modules/espn/shop/mocks.js +0 -391
  425. package/dist/src/modules/espn/shop/services/ShopService.d.ts +0 -23
  426. package/dist/src/modules/espn/shop/services/ShopService.js +0 -44
  427. package/dist/src/modules/espn/shop/types.d.ts +0 -164
  428. package/dist/src/modules/espn/shop/types.js +0 -7
  429. package/dist/src/modules/espn/shop/view/ProductDetailView/ProductDetailView.d.ts +0 -10
  430. package/dist/src/modules/espn/shop/view/ProductDetailView/ProductDetailView.js +0 -60
  431. package/dist/src/modules/espn/shop/view/ProductDetailView/index.d.ts +0 -2
  432. package/dist/src/modules/espn/shop/view/ProductDetailView/index.js +0 -2
  433. package/dist/src/modules/espn/shop/view/ShopView.d.ts +0 -38
  434. package/dist/src/modules/espn/shop/view/ShopView.js +0 -223
  435. package/dist/src/modules/espn/shop/view/components/BrowseCard/BrowseCard.d.ts +0 -103
  436. package/dist/src/modules/espn/shop/view/components/BrowseCard/BrowseCard.js +0 -23
  437. package/dist/src/modules/espn/shop/view/components/BrowseCard/index.d.ts +0 -2
  438. package/dist/src/modules/espn/shop/view/components/BrowseCard/index.js +0 -2
  439. package/dist/src/modules/espn/shop/view/components/ProductSummaryCard/ProductSummaryCard.d.ts +0 -104
  440. package/dist/src/modules/espn/shop/view/components/ProductSummaryCard/ProductSummaryCard.js +0 -26
  441. package/dist/src/modules/espn/shop/view/components/ProductSummaryCard/index.d.ts +0 -2
  442. package/dist/src/modules/espn/shop/view/components/ProductSummaryCard/index.js +0 -1
  443. package/dist/src/modules/espn/shop/view/components/ShopPromoView/ShopPromoView.d.ts +0 -8
  444. package/dist/src/modules/espn/shop/view/components/ShopPromoView/ShopPromoView.js +0 -19
  445. package/dist/src/modules/espn/shop/view/components/ShopPromoView/index.d.ts +0 -1
  446. package/dist/src/modules/espn/shop/view/components/ShopPromoView/index.js +0 -1
  447. package/dist/src/modules/espn/shop/view/components/ShopSection/ShopSection.d.ts +0 -12
  448. package/dist/src/modules/espn/shop/view/components/ShopSection/ShopSection.js +0 -34
  449. package/dist/src/modules/espn/shop/view/components/ShopSection/index.d.ts +0 -1
  450. package/dist/src/modules/espn/shop/view/components/ShopSection/index.js +0 -1
  451. package/dist/src/modules/espn/shop/view/index.d.ts +0 -2
  452. package/dist/src/modules/espn/shop/view/index.js +0 -2
  453. package/dist/src/modules/espn/shop/view-model/ShopViewModel.ShopPolling.d.ts +0 -31
  454. package/dist/src/modules/espn/shop/view-model/ShopViewModel.ShopPolling.js +0 -111
  455. package/dist/src/modules/espn/shop/view-model/ShopViewModel.d.ts +0 -73
  456. package/dist/src/modules/espn/shop/view-model/ShopViewModel.js +0 -323
  457. package/dist/src/modules/espn/stats/components/TeamStatistic.d.ts +0 -16
  458. package/dist/src/modules/espn/stats/components/TeamStatistic.js +0 -13
  459. package/dist/src/modules/espn/stats/interfaces/IStats.d.ts +0 -330
  460. package/dist/src/modules/espn/stats/interfaces/IStats.js +0 -46
  461. package/dist/src/modules/espn/stats/interfaces/IStatsViewModel.d.ts +0 -7
  462. package/dist/src/modules/espn/stats/interfaces/IStatsViewModel.js +0 -1
  463. package/dist/src/modules/espn/stats/mocks.d.ts +0 -2
  464. package/dist/src/modules/espn/stats/mocks.js +0 -746
  465. package/dist/src/modules/espn/stats/services/StatsService.d.ts +0 -54
  466. package/dist/src/modules/espn/stats/services/StatsService.js +0 -155
  467. package/dist/src/modules/espn/stats/utils/driveSummaryUtils.d.ts +0 -18
  468. package/dist/src/modules/espn/stats/utils/driveSummaryUtils.js +0 -48
  469. package/dist/src/modules/espn/stats/utils/playerStatusUtils.d.ts +0 -4
  470. package/dist/src/modules/espn/stats/utils/playerStatusUtils.js +0 -17
  471. package/dist/src/modules/espn/stats/utils.d.ts +0 -39
  472. package/dist/src/modules/espn/stats/utils.js +0 -62
  473. package/dist/src/modules/espn/stats/view/ActiveAthletes/ActiveAthletes.d.ts +0 -22
  474. package/dist/src/modules/espn/stats/view/ActiveAthletes/ActiveAthletes.js +0 -98
  475. package/dist/src/modules/espn/stats/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.d.ts +0 -4
  476. package/dist/src/modules/espn/stats/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.js +0 -27
  477. package/dist/src/modules/espn/stats/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.d.ts +0 -22
  478. package/dist/src/modules/espn/stats/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.js +0 -89
  479. package/dist/src/modules/espn/stats/view/ActiveAthletes/index.d.ts +0 -2
  480. package/dist/src/modules/espn/stats/view/ActiveAthletes/index.js +0 -2
  481. package/dist/src/modules/espn/stats/view/CareerMatchup/CareerMatchup.d.ts +0 -101
  482. package/dist/src/modules/espn/stats/view/CareerMatchup/CareerMatchup.js +0 -59
  483. package/dist/src/modules/espn/stats/view/CareerMatchup/index.d.ts +0 -1
  484. package/dist/src/modules/espn/stats/view/CareerMatchup/index.js +0 -1
  485. package/dist/src/modules/espn/stats/view/DriveSummary/DrivePlayCard.d.ts +0 -105
  486. package/dist/src/modules/espn/stats/view/DriveSummary/DrivePlayCard.js +0 -32
  487. package/dist/src/modules/espn/stats/view/DriveSummary/DriveSummary.d.ts +0 -10
  488. package/dist/src/modules/espn/stats/view/DriveSummary/DriveSummary.js +0 -40
  489. package/dist/src/modules/espn/stats/view/DriveSummary/ExpandedItems/DriveSummaryExpanded.d.ts +0 -27
  490. package/dist/src/modules/espn/stats/view/DriveSummary/ExpandedItems/DriveSummaryExpanded.js +0 -129
  491. package/dist/src/modules/espn/stats/view/DriveSummary/Header/DriveSummaryHeader.d.ts +0 -12
  492. package/dist/src/modules/espn/stats/view/DriveSummary/Header/DriveSummaryHeader.js +0 -26
  493. package/dist/src/modules/espn/stats/view/DriveSummary/MainStat/MainStat.d.ts +0 -10
  494. package/dist/src/modules/espn/stats/view/DriveSummary/MainStat/MainStat.js +0 -24
  495. package/dist/src/modules/espn/stats/view/DriveSummary/index.d.ts +0 -2
  496. package/dist/src/modules/espn/stats/view/DriveSummary/index.js +0 -2
  497. package/dist/src/modules/espn/stats/view/GameLeaders/GameLeaders.d.ts +0 -9
  498. package/dist/src/modules/espn/stats/view/GameLeaders/GameLeaders.js +0 -22
  499. package/dist/src/modules/espn/stats/view/GameLeaders/index.d.ts +0 -2
  500. package/dist/src/modules/espn/stats/view/GameLeaders/index.js +0 -2
  501. package/dist/src/modules/espn/stats/view/MatchPredictor/DonutChart/DonutChart.d.ts +0 -17
  502. package/dist/src/modules/espn/stats/view/MatchPredictor/DonutChart/DonutChart.js +0 -55
  503. package/dist/src/modules/espn/stats/view/MatchPredictor/DonutChart/index.d.ts +0 -2
  504. package/dist/src/modules/espn/stats/view/MatchPredictor/DonutChart/index.js +0 -1
  505. package/dist/src/modules/espn/stats/view/MatchPredictor/MatchPredictorView.d.ts +0 -100
  506. package/dist/src/modules/espn/stats/view/MatchPredictor/MatchPredictorView.js +0 -60
  507. package/dist/src/modules/espn/stats/view/MatchPredictor/index.d.ts +0 -3
  508. package/dist/src/modules/espn/stats/view/MatchPredictor/index.js +0 -2
  509. package/dist/src/modules/espn/stats/view/Penalties/Penalties.d.ts +0 -9
  510. package/dist/src/modules/espn/stats/view/Penalties/Penalties.js +0 -6
  511. package/dist/src/modules/espn/stats/view/Penalties/index.d.ts +0 -2
  512. package/dist/src/modules/espn/stats/view/Penalties/index.js +0 -2
  513. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/ExpandedPlayerStats.d.ts +0 -16
  514. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/ExpandedPlayerStats.js +0 -66
  515. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/PlayerSeasonStatsCard.d.ts +0 -99
  516. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/PlayerSeasonStatsCard.js +0 -26
  517. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/PlayerSeasonStatsMinified.d.ts +0 -6
  518. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/PlayerSeasonStatsMinified.js +0 -17
  519. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/PlayerSeasonStatsView.d.ts +0 -8
  520. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/PlayerSeasonStatsView.js +0 -165
  521. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/index.d.ts +0 -1
  522. package/dist/src/modules/espn/stats/view/PlayerSeasonStats/index.js +0 -1
  523. package/dist/src/modules/espn/stats/view/RecentGames/RecentGames.d.ts +0 -100
  524. package/dist/src/modules/espn/stats/view/RecentGames/RecentGames.js +0 -23
  525. package/dist/src/modules/espn/stats/view/RecentGames/index.d.ts +0 -2
  526. package/dist/src/modules/espn/stats/view/RecentGames/index.js +0 -2
  527. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/ExpandedScores.d.ts +0 -30
  528. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/ExpandedScores.js +0 -123
  529. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/ExpandedSummary.d.ts +0 -100
  530. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/ExpandedSummary.js +0 -24
  531. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/index.d.ts +0 -2
  532. package/dist/src/modules/espn/stats/view/ScoringSummary/ExpandedScores/index.js +0 -2
  533. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoreItem/ScoreItem.d.ts +0 -100
  534. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoreItem/ScoreItem.js +0 -62
  535. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoreItem/index.d.ts +0 -2
  536. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoreItem/index.js +0 -2
  537. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoresSection/ScoresSection.d.ts +0 -6
  538. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoresSection/ScoresSection.js +0 -23
  539. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoresSection/index.d.ts +0 -2
  540. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoresSection/index.js +0 -2
  541. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoringSummary.d.ts +0 -12
  542. package/dist/src/modules/espn/stats/view/ScoringSummary/ScoringSummary.js +0 -167
  543. package/dist/src/modules/espn/stats/view/ScoringSummary/index.d.ts +0 -1
  544. package/dist/src/modules/espn/stats/view/ScoringSummary/index.js +0 -1
  545. package/dist/src/modules/espn/stats/view/StatsItemView.d.ts +0 -8
  546. package/dist/src/modules/espn/stats/view/StatsItemView.js +0 -66
  547. package/dist/src/modules/espn/stats/view/StatsQRCode/StatsQRCodeView.d.ts +0 -100
  548. package/dist/src/modules/espn/stats/view/StatsQRCode/StatsQRCodeView.js +0 -36
  549. package/dist/src/modules/espn/stats/view/StatsQRCode/index.d.ts +0 -2
  550. package/dist/src/modules/espn/stats/view/StatsQRCode/index.js +0 -1
  551. package/dist/src/modules/espn/stats/view/StatsView.d.ts +0 -29
  552. package/dist/src/modules/espn/stats/view/StatsView.js +0 -164
  553. package/dist/src/modules/espn/stats/view/TeamStats/TeamStatsView.d.ts +0 -101
  554. package/dist/src/modules/espn/stats/view/TeamStats/TeamStatsView.js +0 -77
  555. package/dist/src/modules/espn/stats/view/TeamStats/index.d.ts +0 -2
  556. package/dist/src/modules/espn/stats/view/TeamStats/index.js +0 -1
  557. package/dist/src/modules/espn/stats/view/Teams/StatsCarousel.d.ts +0 -25
  558. package/dist/src/modules/espn/stats/view/Teams/StatsCarousel.js +0 -83
  559. package/dist/src/modules/espn/stats/view/Teams/StatsProgressBar.d.ts +0 -6
  560. package/dist/src/modules/espn/stats/view/Teams/StatsProgressBar.js +0 -19
  561. package/dist/src/modules/espn/stats/view/Teams/Teams.d.ts +0 -100
  562. package/dist/src/modules/espn/stats/view/Teams/Teams.js +0 -39
  563. package/dist/src/modules/espn/stats/view/Teams/index.d.ts +0 -2
  564. package/dist/src/modules/espn/stats/view/Teams/index.js +0 -2
  565. package/dist/src/modules/espn/stats/view/WinProbability/WinProbability.d.ts +0 -100
  566. package/dist/src/modules/espn/stats/view/WinProbability/WinProbability.js +0 -28
  567. package/dist/src/modules/espn/stats/view/WinProbability/index.d.ts +0 -2
  568. package/dist/src/modules/espn/stats/view/WinProbability/index.js +0 -2
  569. package/dist/src/modules/espn/stats/view/components/AthletesStatistics/AthletesStatistics.d.ts +0 -115
  570. package/dist/src/modules/espn/stats/view/components/AthletesStatistics/AthletesStatistics.js +0 -89
  571. package/dist/src/modules/espn/stats/view/components/AthletesStatistics/StatisticTable.d.ts +0 -3
  572. package/dist/src/modules/espn/stats/view/components/AthletesStatistics/StatisticTable.js +0 -12
  573. package/dist/src/modules/espn/stats/view/components/AthletesStatistics/index.d.ts +0 -2
  574. package/dist/src/modules/espn/stats/view/components/AthletesStatistics/index.js +0 -2
  575. package/dist/src/modules/espn/stats/view/index.d.ts +0 -2
  576. package/dist/src/modules/espn/stats/view/index.js +0 -2
  577. package/dist/src/modules/espn/stats/view-model/StatsViewModel.d.ts +0 -322
  578. package/dist/src/modules/espn/stats/view-model/StatsViewModel.js +0 -1416
  579. package/dist/src/modules/fox/components/TabLoadError/TabLoadError.d.ts +0 -96
  580. package/dist/src/modules/fox/components/TabLoadError/TabLoadError.js +0 -19
  581. package/dist/src/modules/fox/components/TabLoadError/index.d.ts +0 -2
  582. package/dist/src/modules/fox/components/TabLoadError/index.js +0 -2
  583. package/dist/src/modules/fox/key-plays/view/FoxKeyPlays.d.ts +0 -2
  584. package/dist/src/modules/fox/key-plays/view/FoxKeyPlays.js +0 -5
  585. package/dist/src/modules/fox/multi-view/interfaces/IMultiViewViewModel.d.ts +0 -3
  586. package/dist/src/modules/fox/multi-view/interfaces/IMultiViewViewModel.js +0 -1
  587. package/dist/src/modules/fox/multi-view/services/MultiViewService.d.ts +0 -104
  588. package/dist/src/modules/fox/multi-view/services/MultiViewService.js +0 -97
  589. package/dist/src/modules/fox/multi-view/types.d.ts +0 -68
  590. package/dist/src/modules/fox/multi-view/types.js +0 -86
  591. package/dist/src/modules/fox/multi-view/view/BuildYourOwn/BuildYourOwn.d.ts +0 -7
  592. package/dist/src/modules/fox/multi-view/view/BuildYourOwn/BuildYourOwn.js +0 -99
  593. package/dist/src/modules/fox/multi-view/view/BuildYourOwn/index.d.ts +0 -2
  594. package/dist/src/modules/fox/multi-view/view/BuildYourOwn/index.js +0 -2
  595. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/CuratedMultiviews.d.ts +0 -8
  596. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/CuratedMultiviews.js +0 -92
  597. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/index.d.ts +0 -2
  598. package/dist/src/modules/fox/multi-view/view/CuratedMultiview/index.js +0 -2
  599. package/dist/src/modules/fox/multi-view/view/FoxMultiView.d.ts +0 -3
  600. package/dist/src/modules/fox/multi-view/view/FoxMultiView.js +0 -68
  601. package/dist/src/modules/fox/multi-view/view/components/BuildYourOwnTabs/BuildYourOwnTabs.d.ts +0 -8
  602. package/dist/src/modules/fox/multi-view/view/components/BuildYourOwnTabs/BuildYourOwnTabs.js +0 -30
  603. package/dist/src/modules/fox/multi-view/view/components/BuildYourOwnTabs/index.d.ts +0 -2
  604. package/dist/src/modules/fox/multi-view/view/components/BuildYourOwnTabs/index.js +0 -2
  605. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/CustomMultiviewStreamsCard.d.ts +0 -118
  606. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/CustomMultiviewStreamsCard.js +0 -51
  607. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/index.d.ts +0 -2
  608. package/dist/src/modules/fox/multi-view/view/components/CustomMultiviewStreamsCard/index.js +0 -2
  609. package/dist/src/modules/fox/multi-view/view/components/LayoutSelector/LayoutSelector.d.ts +0 -13
  610. package/dist/src/modules/fox/multi-view/view/components/LayoutSelector/LayoutSelector.js +0 -40
  611. package/dist/src/modules/fox/multi-view/view/components/LayoutSelector/index.d.ts +0 -2
  612. package/dist/src/modules/fox/multi-view/view/components/LayoutSelector/index.js +0 -2
  613. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/CuratedMultiviewCard.d.ts +0 -101
  614. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/CuratedMultiviewCard.js +0 -41
  615. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/index.d.ts +0 -2
  616. package/dist/src/modules/fox/multi-view/view/components/curated-multiview-card/index.js +0 -2
  617. package/dist/src/modules/fox/multi-view/view-model/MultiViewViewModel.d.ts +0 -84
  618. package/dist/src/modules/fox/multi-view/view-model/MultiViewViewModel.js +0 -509
  619. package/dist/src/modules/fox/multi-view/view-model/index.d.ts +0 -1
  620. package/dist/src/modules/fox/multi-view/view-model/index.js +0 -1
  621. package/dist/src/modules/fox/stats/view/FoxStatsView.d.ts +0 -2
  622. package/dist/src/modules/fox/stats/view/FoxStatsView.js +0 -5
  623. package/dist/src/modules/maestro/builder/components/BuilderSection/BuilderSection.d.ts +0 -11
  624. package/dist/src/modules/maestro/builder/components/BuilderSection/BuilderSection.js +0 -52
  625. package/dist/src/modules/maestro/builder/components/BuilderSection/index.d.ts +0 -2
  626. package/dist/src/modules/maestro/builder/components/BuilderSection/index.js +0 -2
  627. package/dist/src/modules/maestro/builder/components/ExpandableCard/ExpandableCard.d.ts +0 -110
  628. package/dist/src/modules/maestro/builder/components/ExpandableCard/ExpandableCard.js +0 -37
  629. package/dist/src/modules/maestro/builder/components/ExpandableCard/index.d.ts +0 -2
  630. package/dist/src/modules/maestro/builder/components/ExpandableCard/index.js +0 -2
  631. package/dist/src/modules/maestro/builder/components/SimpleCard/SimpleCard.d.ts +0 -104
  632. package/dist/src/modules/maestro/builder/components/SimpleCard/SimpleCard.js +0 -12
  633. package/dist/src/modules/maestro/builder/components/SimpleCard/index.d.ts +0 -2
  634. package/dist/src/modules/maestro/builder/components/SimpleCard/index.js +0 -2
  635. package/dist/src/modules/maestro/builder/index.d.ts +0 -7
  636. package/dist/src/modules/maestro/builder/index.js +0 -7
  637. package/dist/src/modules/maestro/builder/mocks/mockBuilderPanel.d.ts +0 -149
  638. package/dist/src/modules/maestro/builder/mocks/mockBuilderPanel.js +0 -240
  639. package/dist/src/modules/maestro/builder/types.d.ts +0 -52
  640. package/dist/src/modules/maestro/builder/types.js +0 -1
  641. package/dist/src/modules/maestro/builder/view/BuilderPanelView.d.ts +0 -4
  642. package/dist/src/modules/maestro/builder/view/BuilderPanelView.js +0 -52
  643. package/dist/src/modules/maestro/builder/view-model/BuilderPanelViewModel.d.ts +0 -40
  644. package/dist/src/modules/maestro/builder/view-model/BuilderPanelViewModel.js +0 -229
  645. package/dist/src/modules/maestro/builder/view-model/index.d.ts +0 -1
  646. package/dist/src/modules/maestro/builder/view-model/index.js +0 -1
  647. package/dist/src/modules/maestro/hello-world/HelloWorldImage.d.ts +0 -2
  648. package/dist/src/modules/maestro/hello-world/HelloWorldImage.js +0 -32
  649. package/dist/src/modules/maestro/hello-world/HelloWorldView.d.ts +0 -11
  650. package/dist/src/modules/maestro/hello-world/HelloWorldView.js +0 -40
  651. package/dist/src/modules/maestro/hello-world/index.d.ts +0 -2
  652. package/dist/src/modules/maestro/hello-world/index.js +0 -2
  653. package/dist/src/sentry.d.ts +0 -3
  654. package/dist/src/sentry.js +0 -51
  655. package/dist/src/services/AnalyticsService/AnalyticsService.d.ts +0 -85
  656. package/dist/src/services/AnalyticsService/AnalyticsService.js +0 -406
  657. package/dist/src/services/AnalyticsService/types.d.ts +0 -65
  658. package/dist/src/services/AnalyticsService/types.js +0 -1
  659. package/dist/src/services/InsightsService/InsightsPayloadBuilder.d.ts +0 -279
  660. package/dist/src/services/InsightsService/InsightsPayloadBuilder.js +0 -385
  661. package/dist/src/services/InsightsService/InsightsService.d.ts +0 -11
  662. package/dist/src/services/InsightsService/InsightsService.js +0 -74
  663. package/dist/src/services/NetworkManager/NetworkManager.d.ts +0 -153
  664. package/dist/src/services/NetworkManager/NetworkManager.js +0 -434
  665. package/dist/src/services/NetworkManager/errors.d.ts +0 -19
  666. package/dist/src/services/NetworkManager/errors.js +0 -59
  667. package/dist/src/services/NetworkManager/types.d.ts +0 -7
  668. package/dist/src/services/NetworkManager/types.js +0 -1
  669. package/dist/src/services/StaticService/StaticService.d.ts +0 -20
  670. package/dist/src/services/StaticService/StaticService.js +0 -86
  671. package/dist/src/services/StaticService/index.d.ts +0 -2
  672. package/dist/src/services/StaticService/index.js +0 -2
  673. package/dist/src/services/StaticService/mocks.d.ts +0 -3
  674. package/dist/src/services/StaticService/mocks.js +0 -119
  675. package/dist/src/services/StaticService/types.d.ts +0 -78
  676. package/dist/src/services/StaticService/types.js +0 -1
  677. package/dist/src/services/ThemeManager/constants.d.ts +0 -2
  678. package/dist/src/services/ThemeManager/constants.js +0 -47
  679. package/dist/src/services/UserSettingsManager.d.ts +0 -63
  680. package/dist/src/services/UserSettingsManager.js +0 -158
  681. package/dist/src/test-polyfills.d.ts +0 -1
  682. package/dist/src/test-polyfills.js +0 -15
  683. package/dist/src/view-models/MaestroEventViewModel.d.ts +0 -96
  684. package/dist/src/view-models/MaestroEventViewModel.js +0 -386
  685. package/dist/src/view-models/PanelManagerViewModel.d.ts +0 -49
  686. package/dist/src/view-models/PanelManagerViewModel.js +0 -195
  687. package/dist/src/view-models/ViewModel.d.ts +0 -12
  688. package/dist/src/view-models/ViewModel.js +0 -32
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/helpers/strings.ts","webpack:///./src/modules/espn/fantasy/services/FantasyService.ts","webpack:///./src/modules/espn/fantasy/types.ts","webpack:///./src/modules/espn/fantasy/view-model/FantasyViewModel.FantasyPolling.ts","webpack:///./src/modules/espn/fantasy/view-model/FantasyViewModel.LeagueManagerPolling.ts","webpack:///./src/modules/espn/fantasy/view-model/FantasyViewModel.TournamentPolling.ts","webpack:///./src/modules/espn/fantasy/mocks.ts","webpack:///./src/modules/espn/fantasy/view-model/FantasyViewModel.ts"],"names":["slugify","str","toLowerCase","trim","replace","stringHashCode","hash","i","length","charCodeAt","FantasyService","constructor","_defineProperty","this","networkManager","NetworkManager","fantasyOverrideBaseUrl","leagueManagerOverrideBaseUrl","gambitOverrideBaseUrl","pollFantasy","eventId","jwt","swid","interval","onData","onError","pollExternalApiRequestWithHeaders","endpoint","fantasyBaseUrl","headers","params","displayHiddenPrefs","prefType","context","useCookieAuth","source","featureFlags","filterType","platform","deviceType","pollLeagueManager","game","leagueId","seasonId","token","proGameId","teamId","leagueManagerBaseUrl","view","getPromo","externalApiRequest","useCache","pollTournamentChallenge","challengeId","competitionId","tournamentChallengeBaseUrl","isLeagueManagerRotoResponse","response","_matchups","_matchups$","undefined","matchups","teams","FantasyPolling","service","task","lastResponseHash","fantasyService","callback","errorCallback","stop","start","polling","removeLastResponseHash","updateInterval","processPolledData","data","error","handlePollingError","captureException","console","headerInterval","getResponseHeaderPollingIntervalValue","panelConfigInterval","getPanelConfigInterval","newInterval","log","refresh","parsedInterval","parseInt","isNaN","warn","_config$panels","_panel$renderer","_panel$renderer$block","config","SDK","getPageConfig","panel","panels","find","p","panel_type","fantasyPollingInterval","renderer","block_data","fan_polling_interval","responseHash","JSON","stringify","extra","substring","pollingInterval","LeagueManagerPolling","key","_this$polling$key","_this$polling$key2","_this$polling$key2$ta","_this$polling$key2$ta2","call","_this$polling$key3","_this$polling$key4","lm_polling_interval","stopAll","Object","keys","forEach","_this$polling$key5","TournamentPolling","tournamentPollingInterval","gambit_polling_interval","MOCK_FANTASY_RESPONSE","id","anon","profile","createDate","lastUpdateDate","hasNotificationPreferences","useSortGlobal","settings","videoAutoStart","value","hideSportsBetting","activeProducts","isInsider","isPremium","lastName","firstName","email","userName","lastAccessDate","bettingFeatures","name","preferences","metaData","entry","entryId","entryMetadata","teamName","teamAbbrev","leagueFormatTypeId","leagueSubTypeId","customizable","active","draftComplete","scoringTypeId","leagueTypeId","draftInProgress","scoringTypeName","leagueSubTypeName","firstScoringPeriodId","gameId","groups","groupId","groupSize","groupName","groupManager","draftDate","draftType","draftStatus","leagueStatus","fantasyCastHref","href","draftTypeName","logoType","logoUrl","restrictionType","entryURL","scoreboardFeedURL","abbrev","description","logoURL","signupURL","restrictionTypeName","inSeason","isLive","currentScoringPeriodId","contentSourceId","sortGlobal","isHidden","typeId","type","code","isDeletable","isDelegated","maxAllowed","bu","lineup","proGameToNumPlayersStarting","currentLineup","entryUuid","lastAvailableDate","logoURLs","logoSecondary","logoPrimary","darkLogoURL","lightLogoURL","gameUrl","entryName","challengeGroups","score","eliminated","overallScore","percentile","rank","record","losses","wins","scoreByGroup","scoringFormatId","isImplicit","affinity","groupSettings","fantasyData","totalFantasyLeagues","leaguesBySportLeague","NFL","MLB","NBA","NHL","WNBA","totalChallengeEntries","challengeInformation","gameType","challengeName","challengeAbbrev","scoringFormatIds","state","logoUrls","logo","logoDark","logo1x1","logo1x1Dark","mappings","userEntryCount","challengeScoreboardEnabled","leagueScoreboardEnabled","FantasyViewModel","delegate","analyticsService","options","Observable","Map","useMockData","fantasyPolling","leagueManagerPolling","tournamentPolling","trackPanelView","fetchData","handleFetchError","isDataLoading","hasEverSuccessfullyLoaded","errorState","userIsAuthenticated","append","fantasyItems","getUserSWID","getUserToken","fetchMockData","processFantasy","bind","onEngage","panelClick","metadata","card","onAskLogin","onPanelEvent","payload","onLoginSuccess","async","cleanup","leagueSortOrder","clear","itemToLeagueKey","_fantasyLeagues","_tournamentChallenges","_promoItem","_tcProcessingCount","isLoadingTc","panelView","_data$fantasyData","_data$fantasyData2","_data$fantasyData3","hidePickems","hide_pickems","hasChallenges","noData","_data$fantasyData4","_data$fantasyData4$ch","challenge","String","parseTournamentChallenge","rebuildFantasyItems","promo","getPromoData","background","fantasy","promotion","qrCode","title","_pref$metaData","_entry$groups","_entry$groups$","_entry$groups2","_entry$groups2$","pref","set","_entry$entryMetadata","_matchups2","_matchups2$","parseInactiveLeague","home","items","parseHeadToHead","item","parseRoto","preference","_data$matchups","leagueName","scoringType","matchup","_matchup$teams","team","sportLogo","sportColor","points","roster","matchupRoster","activeAthletes","r","_r$player$proTeam","player","abbrevName","headshot","proTeam","triCode","slot","push","athleteHeadshot","athleteAbbrevName","athletesSlot","teamTriCode","proGameStatusLines","currentlyWatching","toString","topPlayers","parseTopPlayers","league","color","subtitle","includes","leagueKey","existingItemIndex","findIndex","sort","a","b","_this$leagueSortOrder","_this$leagueSortOrder2","keyA","get","keyB","Number","MAX_SAFE_INTEGER","existingGroupIndex","g","header","group","_data$matchups2","away","homeRoster","awayRoster","_singleAwayRoster$pla","_matchup$away","_singleHomeRoster$pla","_matchup$home","_singleHomeRoster$pla2","singleAwayRoster","singleHomeRoster","stats","projectedPoints","awayTeam","winProbability","homeTeam","players","_p$proTeam","_p$playerStatus","_p$positions","rosteredBy","percentRostered","playerStatus","startsWith","position","positions","split","draftDateNum","parsedDate","Date","getTime","leagueColor","leagueLogo","_promoData","_data$entries","validEntries","entries","filter","totalEntries","entriesToShow","slice","_outcomePicked","_outcomePicked2","userPickName","propositions","picks","pick","propositionId","outcomeId","proposition","outcomes","outcome","o","Math","round","entryStatusIcon","finalPick","primaryLogo","outcomePicked","secondaryLogo","result","isComplete","tournamentId","tournamentAbbrev","tournamentLogo","promoData","qrCodeVariant","locked","promoVariant","overflowQR","clearTabLoadFailure","setTimeout","setDataToPanel"],"mappings":"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","file":"13.maestro-web-sdk.esm.js","sourcesContent":["export const slugify = (str: string) =>\n str\n .toLowerCase()\n .trim()\n .replace(/[\\s\\W-]+/g, '-')\n .replace(/^-+|-+$/g, '');\n\nexport function stringHashCode(str: string): number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return hash;\n}\n","import NetworkManager from '../../../../services/NetworkManager/NetworkManager';\nimport {\n IFantasyResponse,\n ILeagueManagerResponse,\n IPromoResponse,\n TournamentChallenge,\n} from '@/modules/espn/fantasy/types';\n\nconst FANTASY_BASE_URL = 'https://fan.api.espn.com';\nconst LEAGUE_MANAGER_BASE_URL = 'https://lm-api-reads.fantasy.espn.com';\nconst TOURNAMENT_CHALLENGE_BASE_URL = 'https://gambit-api.fantasy.espn.com';\nconst PROMO_URL = 'https://client.espncdn.com/ictv/promo.json';\n\nexport type LeagueManagerPollingParams = {\n /**\n * NBA, NFL, etc.\n */\n game: string;\n /**\n * 2025\n */\n seasonId: number;\n /**\n * The league ID\n */\n leagueId: number;\n token: string;\n proGameId: string;\n teamId: number;\n};\n\nexport type FantasyPollingParams = {\n swid: string;\n jwt: string;\n eventId: string;\n};\n\nexport type TournamentChallengePollingParams = {\n challengeId: string;\n competitionId: string;\n token: string;\n};\n\n/**\n * Service for handling fantasy API calls\n */\nclass FantasyService {\n private networkManager: NetworkManager;\n leagueManagerOverrideBaseUrl = '';\n fantasyOverrideBaseUrl = '';\n gambitOverrideBaseUrl = '';\n\n constructor() {\n this.networkManager = new NetworkManager();\n }\n\n get fantasyBaseUrl() {\n return this.fantasyOverrideBaseUrl || FANTASY_BASE_URL;\n }\n\n get leagueManagerBaseUrl() {\n return this.leagueManagerOverrideBaseUrl || LEAGUE_MANAGER_BASE_URL;\n }\n\n get tournamentChallengeBaseUrl() {\n return this.gambitOverrideBaseUrl || TOURNAMENT_CHALLENGE_BASE_URL;\n }\n\n /**\n * Polls the fantasy API at regular intervals\n * @param swid - The SWID of the user\n * @param interval - Polling interval in milliseconds\n * @param onData - Callback invoked with the data on each successful poll\n * @param onError - Optional callback invoked on error\n */\n pollFantasy(\n { eventId, jwt, swid }: FantasyPollingParams,\n interval: number,\n onData: (data: {\n data: IFantasyResponse;\n headers: Record<string, string>;\n }) => void,\n onError?: (error: Error) => void\n ): { stop: () => void } {\n return this.networkManager.pollExternalApiRequestWithHeaders<\n IFantasyResponse\n >({\n endpoint: `${this.fantasyBaseUrl}/apis/v2/fans/${swid}`,\n interval,\n headers: {\n 'x-p13n-auth': jwt,\n },\n onData,\n onError,\n params: {\n displayHiddenPrefs: true,\n prefType: 'fantasy',\n context: 'fantasy',\n useCookieAuth: true,\n source: 'fantasyictv-bbd',\n featureFlags: 'challengeEntries',\n filterType: 'FANTASY_CTV',\n platform: 'fantasyictv_bbd',\n deviceType: 'ictv',\n swid,\n eventId,\n },\n });\n }\n\n pollLeagueManager(\n {\n game,\n leagueId,\n seasonId,\n token,\n proGameId,\n teamId,\n }: LeagueManagerPollingParams,\n interval: number,\n onData: (data: {\n data: ILeagueManagerResponse;\n headers: Record<string, string>;\n }) => void,\n onError?: (error: Error) => void\n ): { stop: () => void } {\n return this.networkManager.pollExternalApiRequestWithHeaders<\n ILeagueManagerResponse\n >({\n endpoint: `${this.leagueManagerBaseUrl}/apis/v3/games/${game}/seasons/${seasonId}/segments/0/leagues/${leagueId}/scoreboard`,\n interval,\n onData,\n onError,\n headers: {\n 'x-p13n-auth': token,\n },\n params: {\n view: 'ictv_scoreboard',\n platform: 'fantasyictv_bbd',\n deviceType: 'ictv',\n proGameId,\n teamId,\n },\n });\n }\n\n getPromo() {\n return this.networkManager.externalApiRequest<IPromoResponse>({\n endpoint: PROMO_URL,\n useCache: true,\n });\n }\n\n /**\n * Polls the tournament challenge API at regular intervals\n * @param challengeId - The challenge ID\n * @param interval - Polling interval in milliseconds\n * @param onData - Callback invoked with the data on each successful poll\n * @param onError - Optional callback invoked on error\n * @returns Object with a stop function to cancel polling\n */\n pollTournamentChallenge(\n { challengeId, competitionId, token }: TournamentChallengePollingParams,\n interval: number,\n onData: (data: {\n data: TournamentChallenge;\n headers: Record<string, string>;\n }) => void,\n onError?: (error: Error) => void\n ): { stop: () => void } {\n return this.networkManager.pollExternalApiRequestWithHeaders<\n TournamentChallenge\n >({\n endpoint: `${this.tournamentChallengeBaseUrl}/apis/v1/challenges/${challengeId}/scoreboard`,\n interval,\n onData,\n onError,\n headers: {\n 'x-p13n-auth': token,\n },\n params: {\n competitionId,\n view: 'ictv_scoreboard',\n platform: 'fantasyictv_bbd',\n deviceType: 'ictv',\n },\n });\n }\n}\n\nexport default FantasyService;\n","export interface IPromoResponse {\n fantasy: {\n promotion: {\n title: string;\n description: string;\n background: string;\n logo: string;\n qrCode: string;\n fallbackUrl: string;\n };\n };\n 'tc-pre'?: {\n promotion: {\n title: string;\n description: string;\n background: string;\n logo: string;\n qrCode: string;\n fallbackUrl: string;\n };\n };\n 'tc-live'?: {\n promotion: {\n title: string;\n description: string;\n background: string;\n logo: string;\n qrCode: string;\n fallbackUrl: string;\n };\n };\n}\n\nexport interface IFantasyResponse {\n preferences?: Preference[];\n fantasyData?: FantasyData;\n}\n\nexport interface Preference {\n id?: string;\n createDate?: number;\n lastUpdateDate?: number;\n metaData?: {\n entry?: {\n entryId?: number;\n entryMetadata?: {\n teamName?: string;\n teamAbbrev?: string;\n leagueFormatTypeId?: number;\n leagueSubTypeId?: number;\n customizable?: boolean;\n active?: boolean;\n draftComplete?: boolean;\n scoringTypeId?: number;\n leagueTypeId?: number;\n draftInProgress?: boolean;\n };\n firstScoringPeriodId?: number;\n gameId?: number;\n groups?: {\n groupId?: number;\n groupSize?: number;\n groupName?: string;\n groupManager?: boolean;\n draftDate?: number | string | null;\n draftType?: number;\n draftStatus?: number;\n leagueStatus?: number;\n fantasyCastHref?: string;\n href?: string;\n }[];\n logoType?: string;\n logoUrl?: string;\n restrictionType?: number;\n seasonId?: number;\n entryURL?: string;\n scoreboardFeedURL?: string;\n abbrev?: string;\n name?: string;\n description?: string;\n logoURL?: string;\n signupURL?: string;\n href?: string;\n };\n inSeason?: boolean;\n isLive?: boolean;\n currentScoringPeriodId?: number;\n };\n contentSourceId?: number;\n sortGlobal?: number;\n isHidden?: boolean;\n typeId?: number;\n type?: {\n id?: number;\n name?: string;\n code?: string;\n isDeletable?: boolean;\n isDelegated?: boolean;\n maxAllowed?: number;\n };\n bu?: number;\n}\n\nexport interface ChallengeInformation {\n id: string | number;\n gameType: string;\n}\n\nexport interface FantasyData {\n totalFantasyLeagues?: number;\n leaguesBySportLeague?: Record<string, number>;\n totalChallengeEntries?: number;\n challengeInformation?: ChallengeInformation[];\n}\n\nexport interface ILeagueManagerResponse {\n gameId?: number;\n id?: number;\n leagueName?: string;\n livePlayers?: any[];\n matchups?: Matchup[];\n scoringPeriodId?: number;\n scoringType?: string;\n seasonId?: number;\n segmentId?: number;\n sportColor?: string;\n sportLogo?: string;\n topPlayers?: Player[];\n}\n\nexport interface Matchup {\n away?: Team;\n home?: Team;\n id?: number;\n name?: string;\n}\n\nexport interface Team {\n currentScoringPeriodPoints?: number;\n id?: number;\n logo?: string;\n name?: string;\n owners?: Owner[];\n points?: number;\n score?: string;\n record?: string;\n roster?: RosterItem[];\n winProbability?: number;\n projectedPoints?: string;\n}\n\nexport interface Owner {\n firstName?: string;\n id?: string;\n lastName?: string;\n}\n\nexport interface RosterItem {\n displayOrder?: number;\n player?: Player;\n slot?: string;\n}\n\nexport interface Player {\n abbrevName?: string;\n currentlyWatching?: boolean;\n firstName?: string;\n fullName?: string;\n headshot?: string;\n id?: number;\n injuryStatus?: string;\n lastName?: string;\n lastNewsDate?: number;\n percentRostered?: number;\n points?: number;\n projectedPoints?: number;\n positions?: string;\n statLine?: string;\n playerStatus?: string;\n proGameStatusLines?: string[];\n proTeam?: ProTeam;\n}\n\nexport interface ProTeam {\n alternateColor?: string;\n color?: string;\n darkLogo?: string;\n id?: number;\n live?: boolean;\n triCode?: string;\n}\n\nexport interface ILeagueManagerRotoResponse {\n gameId?: number;\n id?: number;\n leagueName?: string;\n name?: string;\n livePlayers?: any[]; // No structure provided\n matchups?: MatchupSingleEntry[];\n scoringPeriodId?: number;\n scoringType?: string;\n seasonId?: number;\n segmentId?: number;\n sportColor?: string;\n sportLogo?: string;\n topPlayers?: Player[];\n}\n\nexport interface MatchupSingleEntry {\n id?: number;\n teams?: Team[];\n}\n\nexport const isLeagueManagerRotoResponse = (\n response: ILeagueManagerResponse | ILeagueManagerRotoResponse\n): response is ILeagueManagerRotoResponse => {\n return (\n (response as ILeagueManagerRotoResponse).matchups?.[0]?.teams !== undefined\n );\n};\n\nexport const isLeagueManagerHeadToHeadResponse = (\n response: ILeagueManagerResponse | ILeagueManagerRotoResponse\n): response is ILeagueManagerResponse => {\n return (response as ILeagueManagerResponse).matchups?.[0]?.home !== undefined;\n};\n\nexport interface TournamentPick {\n propositionId?: string;\n outcomeId?: string;\n}\n\nexport interface TournamentPropositionOutcome {\n id?: string;\n name?: string;\n}\n\nexport interface TournamentProposition {\n id?: string;\n outcomes?: TournamentPropositionOutcome[];\n}\n\nexport interface TournamentChallengeEntry {\n id?: string;\n name?: string;\n rank?: number;\n score?: number;\n percentile?: number;\n isComplete?: boolean;\n entryStatusIcon?: string;\n finalPick?: TournamentPick & {\n primaryLogo?: string;\n secondaryLogo?: string;\n result?: string;\n };\n picks?: TournamentPick[];\n}\n\nexport interface TournamentChallenge {\n id?: string;\n key?: string;\n name?: string;\n abbrev?: string;\n logo?: string;\n logoDark?: string;\n state?: 'PRE' | 'LIVE' | 'POST';\n locked?: boolean;\n lockDate?: string | number;\n scoringPeriodLabel?: string;\n upcomingGames?: any[];\n entries?: TournamentChallengeEntry[];\n propositions?: TournamentProposition[];\n}\n\nexport const isTournamentChallenge = (\n data: any\n): data is TournamentChallenge => {\n return (data as TournamentChallenge).entries?.[0]?.id !== undefined;\n};\n\nexport type TournamentChallengeHeaderItem = {\n type: 'tournament-challenge-header';\n id: string;\n name: string;\n abbrev: string;\n logo: string;\n logoDark: string;\n state: 'PRE' | 'LIVE' | 'POST';\n scoringPeriodLabel: string;\n upcomingGames: any[];\n};\n\nexport type TournamentBracketCardItem = {\n type: 'tournament-bracket-card';\n id: string;\n name: string;\n rank: number;\n score: number;\n percentile: number;\n entryStatusIcon: string;\n finalPick: TournamentPick & {\n primaryLogo?: string;\n secondaryLogo?: string;\n result?: string;\n };\n picks?: TournamentPick[];\n isComplete: boolean;\n tournamentId: string;\n tournamentAbbrev: string;\n tournamentLogo: string;\n userPickName?: string;\n propositions?: TournamentProposition[];\n};\n\nexport type FantasyHeaderItem = {\n type: 'fantasy-header';\n id: string;\n title: string;\n};\n\nexport interface IFantasyViewModel {\n cleanup(): void;\n}\n\nexport type TournamentOverflowQRItem = {\n type: 'tournament-overflow-qr';\n id: string;\n background: string;\n logo: string;\n qrCode: string;\n title: string;\n description: string;\n tournamentId: string;\n};\n","import SDK from '@/index';\nimport { captureException } from '@/sentry';\nimport FantasyService, {\n FantasyPollingParams,\n} from '@/modules/espn/fantasy/services/FantasyService';\nimport { IFantasyResponse } from '../types';\nimport { stringHashCode } from '@/helpers/strings';\n\ntype Polling = {\n interval: number;\n task: { stop: () => void } | null;\n lastResponseHash: number | null;\n};\n\nconst DEFAULT_FANTASY_POLLING_INTERVAL = 60000;\n\nexport default class FantasyPolling {\n private polling: Polling = {\n interval: DEFAULT_FANTASY_POLLING_INTERVAL,\n task: null,\n lastResponseHash: null,\n };\n private fantasyService: FantasyService;\n\n constructor(service: FantasyService) {\n this.fantasyService = service;\n }\n\n /**\n * Refresh polling for fantasy data\n */\n async refresh(\n params: FantasyPollingParams,\n callback: (data: IFantasyResponse) => void,\n errorCallback: (error: Error) => void\n ): Promise<void> {\n // First stop any existing polling\n this.stop();\n\n // Start the poll loop\n await this.start(params, callback, errorCallback);\n }\n\n /**\n * Stop polling for fantasy data\n */\n stop(): void {\n if (this.polling.task) {\n this.polling.task.stop();\n this.polling.task = null;\n }\n }\n\n removeLastResponseHash(): void {\n this.polling.lastResponseHash = null;\n }\n\n private async start(\n params: FantasyPollingParams,\n callback: (data: IFantasyResponse) => void,\n errorCallback: (error: Error) => void\n ): Promise<void> {\n try {\n this.polling.task = this.fantasyService.pollFantasy(\n params,\n this.polling.interval,\n (response) => {\n this.updateInterval(\n params,\n response.headers,\n callback,\n errorCallback\n );\n this.processPolledData(response.data, callback);\n },\n (error) => {\n this.handlePollingError(error, params.swid);\n errorCallback(error);\n }\n );\n } catch (error) {\n captureException(error, {\n context: 'FantasyViewModel.pollFantasy',\n });\n console.error('[FANTASY] Error setting up fantasy polling:', error);\n }\n }\n\n /**\n * @description Update polling interval checking either response header or panel config.\n * Refresh polling if necessary.\n */\n private updateInterval(\n params: FantasyPollingParams,\n headers: Record<string, string>,\n callback: (data: IFantasyResponse) => void,\n errorCallback: (error: Error) => void\n ): void {\n const headerInterval = this.getResponseHeaderPollingIntervalValue(headers);\n const panelConfigInterval = this.getPanelConfigInterval();\n\n const newInterval = headerInterval || panelConfigInterval; // order matters here\n\n // Only update if we have a valid new interval and it's different from current\n if (newInterval && newInterval !== this.polling.interval) {\n console.log(\n `[Fantasy] Updating fantasy polling interval from ${this.polling.interval}ms to ${newInterval}ms`\n );\n this.polling.interval = newInterval;\n // Restart polling with the new interval\n this.refresh(params, callback, errorCallback);\n }\n }\n\n private getResponseHeaderPollingIntervalValue(\n headers: Record<string, string>\n ): number | null {\n const newInterval = headers['polling-interval'];\n if (!newInterval) {\n return null;\n }\n\n const parsedInterval = parseInt(newInterval, 10);\n if (isNaN(parsedInterval) || parsedInterval <= 0) {\n console.warn(\n `[Fantasy] Invalid polling interval header received: ${newInterval}.`\n );\n return null;\n }\n\n return parsedInterval * 1000; // Convert seconds to milliseconds\n }\n\n private getPanelConfigInterval(): number | null {\n const config = SDK.getPageConfig();\n const panel = config?.panels?.find((p) => p.panel_type === 'espnFantasy');\n if (!panel) {\n return null;\n }\n\n const fantasyPollingInterval =\n panel.renderer?.block_data?.fan_polling_interval;\n if (!fantasyPollingInterval) {\n return null;\n }\n\n const parsedInterval = parseInt(fantasyPollingInterval, 10);\n if (isNaN(parsedInterval) || parsedInterval <= 0) {\n console.warn(\n `[FANTASY] Invalid fantasy polling interval from panel config: ${fantasyPollingInterval}.`\n );\n return null;\n }\n\n return parsedInterval * 1000; // Convert seconds to milliseconds\n }\n\n /**\n * Process data received from polling\n */\n private processPolledData(\n data: IFantasyResponse,\n callback: (data: IFantasyResponse) => void\n ): void {\n // Calculate hash for the response to check if it's different from the last one\n const responseHash = stringHashCode(JSON.stringify(data));\n\n // Check if this is the same as the last successful response\n if (this.polling.lastResponseHash === responseHash) {\n console.log(\n '[Fantasy] Fantasy Response hash is the same as last successful response - skipping update'\n );\n return;\n }\n\n this.polling.lastResponseHash = responseHash;\n callback(data);\n }\n\n /**\n * Handle errors that occur during fantasy polling\n */\n private handlePollingError(error: Error, swid: string): void {\n console.error('[FANTASY] Fantasy polling error:', error);\n\n captureException(error, {\n context: 'FantasyViewModel.pollFantasy',\n extra: {\n swid: swid ? `${swid.substring(0, 8)}...` : 'unknown',\n pollingInterval: this.polling.interval,\n },\n });\n }\n}\n","import SDK from '@/index';\nimport { captureException } from '@/sentry';\nimport FantasyService, {\n LeagueManagerPollingParams,\n} from '@/modules/espn/fantasy/services/FantasyService';\nimport { ILeagueManagerResponse, ILeagueManagerRotoResponse } from '../types';\nimport { stringHashCode } from '@/helpers/strings';\n\ntype Polling = {\n interval: number;\n task: { stop: () => void } | null;\n lastResponseHash: number | null;\n};\n\nconst DEFAULT_LEAGUE_MANAGER_POLLING_INTERVAL = 60000;\n\nexport default class LeagueManagerPolling {\n private polling: Record<string, Polling> = {};\n private fantasyService: FantasyService;\n\n constructor(service: FantasyService) {\n this.fantasyService = service;\n }\n\n /**\n * Refresh polling for league manager data\n */\n refresh(\n key: string,\n params: LeagueManagerPollingParams,\n callback: (\n data: ILeagueManagerResponse | ILeagueManagerRotoResponse\n ) => void,\n errorCallback: (error: Error) => void\n ): void {\n // First stop any existing polling\n this.stop(key);\n\n // Initialize polling state if it doesn't exist\n if (!this.polling[key]) {\n this.polling[key] = {\n interval: DEFAULT_LEAGUE_MANAGER_POLLING_INTERVAL,\n lastResponseHash: null,\n task: null,\n };\n }\n\n // Start the poll loop\n this.start(key, params, callback, errorCallback);\n }\n\n /**\n * Stop polling for fantasy data\n */\n stop(key: string): void {\n if (this.polling[key]?.task) {\n this.polling[key]?.task?.stop?.();\n this.polling[key].task = null;\n }\n }\n\n private start(\n key: string,\n params: LeagueManagerPollingParams,\n callback: (\n data: ILeagueManagerResponse | ILeagueManagerRotoResponse\n ) => void,\n errorCallback: (error: Error) => void\n ) {\n try {\n this.polling[key].task = this.fantasyService.pollLeagueManager(\n params,\n this.polling[key].interval,\n (response) => {\n this.updateInterval(\n key,\n params,\n callback,\n response.headers,\n errorCallback\n );\n this.processPolledData(key, response.data, callback);\n },\n (error) => {\n this.handlePollingError(error, key, params);\n errorCallback(error);\n }\n );\n } catch (error) {\n captureException(error, {\n context: 'FantasyViewModel.pollLeagueManager',\n });\n console.error(\n '[FANTASY] Error setting up league manager polling:',\n error\n );\n }\n }\n\n /**\n * Process data received from polling\n */\n private processPolledData(\n key: string,\n data: ILeagueManagerResponse | ILeagueManagerRotoResponse,\n callback: (\n data: ILeagueManagerResponse | ILeagueManagerRotoResponse\n ) => void\n ): void {\n // Calculate hash for the response to check if it's different from the last one\n const responseHash = stringHashCode(JSON.stringify(data));\n\n // Check if this is the same as the last successful response\n if (this.polling[key].lastResponseHash === responseHash) {\n console.log(\n '[Fantasy] League manager Response hash is the same as last successful response - skipping update'\n );\n return;\n }\n\n this.polling[key].lastResponseHash = responseHash;\n callback(data);\n }\n\n /**\n * @description Update polling interval checking either response header or panel config.\n * Refresh polling if necessary.\n */\n private updateInterval(\n key: string,\n params: LeagueManagerPollingParams,\n callback: (\n data: ILeagueManagerResponse | ILeagueManagerRotoResponse\n ) => void,\n headers: Record<string, string>,\n errorCallback: (error: Error) => void\n ): void {\n const headerInterval = this.getResponseHeaderPollingIntervalValue(headers);\n const panelConfigInterval = this.getPanelConfigInterval();\n\n const newInterval = headerInterval || panelConfigInterval; // order matters here\n\n // Only update if we have a valid new interval and it's different from current\n if (newInterval && newInterval !== this.polling[key]?.interval) {\n console.log(\n `[Fantasy] Updating league manager polling interval from ${this.polling[key]?.interval}ms to ${newInterval}ms`\n );\n this.polling[key].interval = newInterval;\n // Restart polling with the new interval\n this.refresh(key, params, callback, errorCallback);\n }\n }\n\n private getResponseHeaderPollingIntervalValue(\n headers: Record<string, string>\n ): number | null {\n const newInterval = headers['polling-interval'];\n if (!newInterval) {\n return null;\n }\n\n const parsedInterval = parseInt(newInterval, 10);\n if (isNaN(parsedInterval) || parsedInterval <= 0) {\n console.warn(\n `[Fantasy] Invalid polling interval header received: ${newInterval}.`\n );\n return null;\n }\n\n return parsedInterval * 1000; // Convert seconds to milliseconds\n }\n\n private getPanelConfigInterval() {\n const config = SDK.getPageConfig();\n const panel = config?.panels?.find((p) => p.panel_type === 'espnFantasy');\n if (!panel) {\n return null;\n }\n\n const fantasyPollingInterval =\n panel.renderer?.block_data?.lm_polling_interval;\n if (!fantasyPollingInterval) {\n return null;\n }\n\n const parsedInterval = parseInt(fantasyPollingInterval, 10);\n if (isNaN(parsedInterval) || parsedInterval <= 0) {\n console.warn(\n `[FANTASY] Invalid league manager polling interval from panel config: ${fantasyPollingInterval}.`\n );\n return null;\n }\n\n return parsedInterval * 1000; // Convert seconds to milliseconds\n }\n\n stopAll() {\n Object.keys(this.polling).forEach((key) => {\n this.stop(key);\n });\n\n this.polling = {};\n }\n\n /**\n * Handle errors that occur during league manager polling\n */\n private handlePollingError(\n error: Error,\n key: string,\n params: LeagueManagerPollingParams\n ): void {\n console.error('[FANTASY] League manager polling error:', error);\n\n captureException(error, {\n context: 'FantasyViewModel.pollLeagueManager',\n extra: {\n key,\n leagueId: params?.leagueId,\n game: params?.game,\n pollingInterval: this.polling[key]?.interval,\n },\n });\n }\n}\n","import SDK from '@/index';\nimport { captureException } from '@/sentry';\nimport FantasyService, {\n TournamentChallengePollingParams,\n} from '@/modules/espn/fantasy/services/FantasyService';\nimport { TournamentChallenge } from '../types';\nimport { stringHashCode } from '@/helpers/strings';\n\ntype Polling = {\n interval: number;\n task: { stop: () => void } | null;\n lastResponseHash: number | null;\n};\n\nconst DEFAULT_TOURNAMENT_POLLING_INTERVAL = 60000;\n\nexport default class TournamentPolling {\n private polling: Record<string, Polling> = {};\n private fantasyService: FantasyService;\n\n constructor(service: FantasyService) {\n this.fantasyService = service;\n }\n\n /**\n * Refresh polling for tournament challenge data\n */\n refresh(\n key: string,\n params: TournamentChallengePollingParams,\n callback: (data: TournamentChallenge) => void,\n errorCallback: (error: Error) => void\n ): void {\n // First stop any existing polling\n this.stop(key);\n\n // Initialize polling state if it doesn't exist\n if (!this.polling[key]) {\n this.polling[key] = {\n interval: DEFAULT_TOURNAMENT_POLLING_INTERVAL,\n lastResponseHash: null,\n task: null,\n };\n }\n\n // Start the poll loop\n this.start(key, params, callback, errorCallback);\n }\n\n /**\n * Stop polling for tournament challenge data\n */\n stop(key: string): void {\n if (this.polling[key]?.task) {\n this.polling[key]?.task?.stop?.();\n this.polling[key].task = null;\n }\n }\n\n private start(\n key: string,\n params: TournamentChallengePollingParams,\n callback: (data: TournamentChallenge) => void,\n errorCallback: (error: Error) => void\n ): void {\n try {\n this.polling[key].task = this.fantasyService.pollTournamentChallenge(\n params,\n this.polling[key].interval,\n (response) => {\n this.updateInterval(\n key,\n params,\n callback,\n response.headers,\n errorCallback\n );\n this.processPolledData(key, response.data, callback);\n },\n (error) => {\n this.handlePollingError(error, key, params);\n errorCallback(error);\n }\n );\n } catch (error) {\n captureException(error, {\n context: 'FantasyViewModel.pollTournamentChallenge',\n });\n console.error('[TOURNAMENT] Error setting up tournament polling:', error);\n }\n }\n\n /**\n * @description Update polling interval checking either response header or panel config.\n * Refresh polling if necessary.\n */\n private updateInterval(\n key: string,\n params: TournamentChallengePollingParams,\n callback: (data: TournamentChallenge) => void,\n headers: Record<string, string>,\n errorCallback: (error: Error) => void\n ): void {\n const headerInterval = this.getResponseHeaderPollingIntervalValue(headers);\n const panelConfigInterval = this.getPanelConfigInterval();\n\n const newInterval = headerInterval || panelConfigInterval; // order matters here\n\n // Only update if we have a valid new interval and it's different from current\n if (newInterval && newInterval !== this.polling[key]?.interval) {\n console.log(\n `[TOURNAMENT] Updating tournament polling interval from ${this.polling[key]?.interval}ms to ${newInterval}ms`\n );\n this.polling[key].interval = newInterval;\n // Restart polling with the new interval\n this.refresh(key, params, callback, errorCallback);\n }\n }\n\n private getResponseHeaderPollingIntervalValue(\n headers: Record<string, string>\n ): number | null {\n const newInterval = headers['polling-interval'];\n if (!newInterval) {\n return null;\n }\n\n const parsedInterval = parseInt(newInterval, 10);\n if (isNaN(parsedInterval) || parsedInterval <= 0) {\n console.warn(\n `[TOURNAMENT] Invalid polling interval header received: ${newInterval}.`\n );\n return null;\n }\n\n return parsedInterval * 1000; // Convert seconds to milliseconds\n }\n\n private getPanelConfigInterval(): number | null {\n const config = SDK.getPageConfig();\n const panel = config?.panels?.find((p) => p.panel_type === 'espnFantasy');\n if (!panel) {\n return null;\n }\n\n const tournamentPollingInterval =\n panel.renderer?.block_data?.gambit_polling_interval;\n if (!tournamentPollingInterval) {\n return null;\n }\n\n const parsedInterval = parseInt(tournamentPollingInterval, 10);\n if (isNaN(parsedInterval) || parsedInterval <= 0) {\n console.warn(\n `[TOURNAMENT] Invalid tournament polling interval from panel config: ${tournamentPollingInterval}.`\n );\n return null;\n }\n\n return parsedInterval * 1000; // Convert seconds to milliseconds\n }\n\n /**\n * Process data received from polling\n */\n private processPolledData(\n key: string,\n data: TournamentChallenge,\n callback: (data: TournamentChallenge) => void\n ): void {\n // Calculate hash for the response to check if it's different from the last one\n const responseHash = stringHashCode(JSON.stringify(data));\n\n // Check if this is the same as the last successful response\n if (this.polling[key].lastResponseHash === responseHash) {\n console.log(\n '[TOURNAMENT] Tournament Response hash is the same as last successful response - skipping update'\n );\n return;\n }\n\n this.polling[key].lastResponseHash = responseHash;\n callback(data);\n }\n\n stopAll() {\n Object.keys(this.polling).forEach((key) => {\n this.stop(key);\n });\n\n this.polling = {};\n }\n\n /**\n * Handle errors that occur during tournament polling\n */\n private handlePollingError(\n error: Error,\n key: string,\n params: TournamentChallengePollingParams\n ): void {\n console.error('[TOURNAMENT] Tournament polling error:', error);\n\n captureException(error, {\n context: 'FantasyViewModel.pollTournamentChallenge',\n extra: {\n key,\n challengeId: params?.challengeId,\n pollingInterval: this.polling[key]?.interval,\n },\n });\n }\n}\n","import { ILeagueManagerResponse, ILeagueManagerRotoResponse } from './types';\n\nexport const MOCK_LEAGUE_MANAGER_HEAD_TO_HEAD_RESPONSE: ILeagueManagerResponse = {\n gameId: 5,\n id: 771877961,\n leagueName: \"It's mintyball, but for women.\",\n livePlayers: [],\n matchups: [\n {\n away: {\n projectedPoints: '50.00',\n winProbability: 0.36,\n currentScoringPeriodPoints: 0.0,\n id: 3,\n logo:\n 'https://mystique-api.fantasy.espn.com/apis/v1/domains/lm/images/71ec59b0-3b51-11f0-aeec-89a937148099',\n name: 'Minty 500',\n owners: [\n {\n firstName: 'Minty 500',\n id: '{CE2A7679-28E5-4B90-9510-6B56B944231F}',\n lastName: 'Quinty',\n },\n ],\n points: 906.0,\n record: '4-5-0',\n roster: [\n {\n displayOrder: 1,\n player: {\n abbrevName: 'P. Bueckers',\n currentlyWatching: true,\n firstName: 'Paige',\n fullName: 'Paige Bueckers',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4433730.jpg',\n id: 4433730,\n lastName: 'Bueckers',\n lastNewsDate: 1758036180000,\n percentRostered: 99.59,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: 'c4d600',\n color: '002b5c',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/3.jpg',\n id: 3,\n live: false,\n triCode: 'Dal',\n },\n },\n slot: 'G',\n },\n {\n displayOrder: 1,\n player: {\n abbrevName: 'C. Clark',\n currentlyWatching: true,\n firstName: 'Caitlin',\n fullName: 'Caitlin Clark',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4433403.jpg',\n id: 4433403,\n injuryStatus: 'O',\n lastName: 'Clark',\n lastNewsDate: 1757032140000,\n percentRostered: 78.79,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: 'e03a3e',\n color: '002d62',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/5.jpg',\n id: 5,\n live: false,\n triCode: 'Ind',\n },\n },\n slot: 'G',\n },\n {\n displayOrder: 5,\n player: {\n abbrevName: 'D. Bonner',\n currentlyWatching: false,\n firstName: 'DeWanna',\n fullName: 'DeWanna Bonner',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/869.jpg',\n id: 869,\n lastName: 'Bonner',\n lastNewsDate: 1758174780000,\n percentRostered: 65.6,\n points: 0.0,\n positions: 'F',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: 'e56020',\n color: '3c286e',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/11.jpg',\n id: 11,\n live: false,\n triCode: 'Phx',\n },\n },\n slot: 'F/C',\n },\n {\n displayOrder: 5,\n player: {\n abbrevName: 'N. Collier',\n currentlyWatching: false,\n firstName: 'Napheesa',\n fullName: 'Napheesa Collier',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/3917450.jpg',\n id: 3917450,\n lastName: 'Collier',\n lastNewsDate: 1758171180000,\n percentRostered: 99.96,\n points: 0.0,\n positions: 'F',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '79bc43',\n color: '266092',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/8.jpg',\n id: 8,\n live: false,\n triCode: 'Min',\n },\n },\n slot: 'F/C',\n },\n {\n displayOrder: 5,\n player: {\n abbrevName: 'S. Sabally',\n currentlyWatching: false,\n firstName: 'Satou',\n fullName: 'Satou Sabally',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4281929.jpg',\n id: 4281929,\n lastName: 'Sabally',\n lastNewsDate: 1758338400000,\n percentRostered: 99.26,\n points: 0.0,\n positions: 'F',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: 'e56020',\n color: '3c286e',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/11.jpg',\n id: 11,\n live: false,\n triCode: 'Phx',\n },\n },\n slot: 'F/C',\n },\n {\n displayOrder: 6,\n player: {\n abbrevName: 'B. Jones',\n currentlyWatching: false,\n firstName: 'Brionna',\n fullName: 'Brionna Jones',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/3058895.jpg',\n id: 3058895,\n lastName: 'Jones',\n lastNewsDate: 1758295080000,\n percentRostered: 96.03,\n points: 0.0,\n positions: 'C',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '5091cc',\n color: 'e31837',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/20.jpg',\n id: 20,\n live: false,\n triCode: 'Atl',\n },\n },\n slot: 'UTIL',\n },\n ],\n },\n home: {\n currentScoringPeriodPoints: 0.0,\n id: 1,\n logo:\n 'https://mystique-api.fantasy.espn.com/apis/v1/domains/lm/images/ecd69140-3b51-11f0-af3b-457a6c0242e4',\n name: 'Quintan 9',\n owners: [\n {\n firstName: 'Quintan',\n id: '{94E5C32F-41BF-49C3-A863-3685A39D26AF}',\n lastName: 'p',\n },\n ],\n points: 801.0,\n record: '7-2-0',\n roster: [\n {\n displayOrder: 1,\n player: {\n abbrevName: 'S. Cunningham',\n currentlyWatching: true,\n firstName: 'Sophie',\n fullName: 'Sophie Cunningham',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/3907781.jpg',\n id: 3907781,\n injuryStatus: 'O',\n lastName: 'Cunningham',\n lastNewsDate: 1755628680000,\n percentRostered: 26.66,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: 'e03a3e',\n color: '002d62',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/5.jpg',\n id: 5,\n live: false,\n triCode: 'Ind',\n },\n },\n slot: 'G',\n },\n {\n displayOrder: 1,\n player: {\n abbrevName: 'S. Ionescu',\n currentlyWatching: true,\n firstName: 'Sabrina',\n fullName: 'Sabrina Ionescu',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4066533.jpg',\n id: 4066533,\n lastName: 'Ionescu',\n lastNewsDate: 1758338640000,\n percentRostered: 99.97,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '000000',\n color: '86cebc',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/9.jpg',\n id: 9,\n live: false,\n triCode: 'NY',\n },\n },\n slot: 'G',\n },\n {\n displayOrder: 5,\n player: {\n abbrevName: 'J. Jones',\n currentlyWatching: false,\n firstName: 'Jonquel',\n fullName: 'Jonquel Jones',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/2999101.jpg',\n id: 2999101,\n lastName: 'Jones',\n lastNewsDate: 1758175440000,\n percentRostered: 97.92,\n points: 0.0,\n positions: 'F',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '000000',\n color: '86cebc',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/9.jpg',\n id: 9,\n live: false,\n triCode: 'NY',\n },\n },\n slot: 'F/C',\n },\n {\n displayOrder: 5,\n player: {\n abbrevName: 'E. Magbegor',\n currentlyWatching: false,\n firstName: 'Ezi',\n fullName: 'Ezi Magbegor',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4420318.jpg',\n id: 4420318,\n lastName: 'Magbegor',\n lastNewsDate: 1758300600000,\n percentRostered: 87.63,\n points: 0.0,\n positions: 'C',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: 'fee11a',\n color: '2c5235',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/14.jpg',\n id: 14,\n live: false,\n triCode: 'Sea',\n },\n },\n slot: 'F/C',\n },\n {\n displayOrder: 5,\n player: {\n abbrevName: 'A. Reese',\n currentlyWatching: true,\n firstName: 'Angel',\n fullName: 'Angel Reese',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4433402.jpg',\n id: 4433402,\n injuryStatus: 'O',\n lastName: 'Reese',\n lastNewsDate: 1757629500000,\n percentRostered: 95.99,\n points: 0.0,\n positions: 'F',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: 'ffd520',\n color: '5091cd',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/19.jpg',\n id: 19,\n live: false,\n triCode: 'Chi',\n },\n },\n slot: 'F/C',\n },\n {\n displayOrder: 6,\n player: {\n abbrevName: 'R. Howard',\n currentlyWatching: false,\n firstName: 'Rhyne',\n fullName: 'Rhyne Howard',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4398674.jpg',\n id: 4398674,\n lastName: 'Howard',\n lastNewsDate: 1758295500000,\n percentRostered: 96.93,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '5091cc',\n color: 'e31837',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/20.jpg',\n id: 20,\n live: false,\n triCode: 'Atl',\n },\n },\n slot: 'UTIL',\n },\n ],\n },\n id: 26,\n name: 'Matchup 13',\n },\n ],\n scoringPeriodId: 120,\n scoringType: 'H2H_POINTS',\n seasonId: 2025,\n segmentId: 0,\n sportColor: '#EE5C01',\n sportLogo:\n 'https://a.espncdn.com/assets/ESPN_IconUpdates_Jul252025/Fantasy/PNG/Fantasy_WFBA%2C%20Type%3DIcon.png',\n topPlayers: [\n {\n abbrevName: 'S. Ionescu',\n currentlyWatching: true,\n firstName: 'Sabrina',\n fullName: 'Sabrina Ionescu',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4066533.jpg',\n id: 4066533,\n lastName: 'Ionescu',\n lastNewsDate: 1758338640000,\n percentRostered: 99.97,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '000000',\n color: '86cebc',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/9.jpg',\n id: 9,\n live: false,\n triCode: 'NY',\n },\n },\n {\n abbrevName: 'S. Ionescu',\n currentlyWatching: true,\n firstName: 'Sabrina',\n fullName: 'Sabrina Ionescu',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4066533.jpg',\n id: 4066533,\n lastName: 'Ionescu',\n lastNewsDate: 1758338640000,\n percentRostered: 99.97,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '000000',\n color: '86cebc',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/9.jpg',\n id: 9,\n live: false,\n triCode: 'NY',\n },\n },\n {\n abbrevName: 'S. Ionescu',\n currentlyWatching: true,\n firstName: 'Sabrina',\n fullName: 'Sabrina Ionescu',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4066533.jpg',\n id: 4066533,\n lastName: 'Ionescu',\n lastNewsDate: 1758338640000,\n percentRostered: 99.97,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '000000',\n color: '86cebc',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/9.jpg',\n id: 9,\n live: false,\n triCode: 'NY',\n },\n },\n {\n abbrevName: 'S. Ionescu',\n currentlyWatching: true,\n firstName: 'Sabrina',\n fullName: 'Sabrina Ionescu',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/athletes/4066533.jpg',\n id: 4066533,\n lastName: 'Ionescu',\n lastNewsDate: 1758338640000,\n percentRostered: 99.97,\n points: 0.0,\n positions: 'G',\n proGameStatusLines: [],\n proTeam: {\n alternateColor: '000000',\n color: '86cebc',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/basketball/leagues/wnba/teams/9.jpg',\n id: 9,\n live: false,\n triCode: 'NY',\n },\n },\n ],\n};\n\nexport const MOCK_LEAGUE_MANAGER_ROTO_RESPONSE: ILeagueManagerRotoResponse = {\n gameId: 2,\n id: 1478040277,\n leagueName: \"It's mintyball.\",\n livePlayers: [],\n matchups: [\n {\n id: 1,\n teams: [\n {\n id: 1,\n logo:\n 'https://mystique-api.fantasy.espn.com/apis/v1/domains/lm/images/c5cc4860-21fc-11f0-a31a-a7584cabf55c',\n name: 'Quintan 9',\n owners: [\n {\n firstName: 'Quintan',\n id: '{94E5C32F-41BF-49C3-A863-3685A39D26AF}',\n lastName: 'p',\n },\n ],\n points: 30.0,\n roster: [\n {\n displayOrder: 0,\n player: {\n abbrevName: 'W. Contreras',\n currentlyWatching: true,\n firstName: 'William',\n fullName: 'William Contreras',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/39895.jpg',\n id: 39895,\n lastName: 'Contreras',\n lastNewsDate: 1758580908000,\n percentRostered: 96.88,\n positions: 'C, DH',\n proGameStatusLines: ['@SD, Tue 9:40 PM'],\n proTeam: {\n alternateColor: 'ffc72c',\n color: '13294b',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/8.jpg',\n id: 8,\n live: false,\n triCode: 'Mil',\n },\n },\n slot: 'C',\n },\n {\n displayOrder: 1,\n player: {\n abbrevName: 'D. Villar',\n currentlyWatching: true,\n firstName: 'David',\n fullName: 'David Villar',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/43031.jpg',\n id: 43031,\n lastName: 'Villar',\n lastNewsDate: 1755199119000,\n percentRostered: 0.01,\n positions: '1B',\n proGameStatusLines: ['StL, Tue 9:45 PM'],\n proTeam: {\n alternateColor: 'fd5a1e',\n color: '000000',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/26.jpg',\n id: 26,\n live: false,\n triCode: 'SF',\n },\n },\n slot: '1B',\n },\n {\n displayOrder: 2,\n player: {\n abbrevName: 'O. Albies',\n currentlyWatching: true,\n firstName: 'Ozzie',\n fullName: 'Ozzie Albies',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/33783.jpg',\n id: 33783,\n injuryStatus: 'IL10',\n lastName: 'Albies',\n lastNewsDate: 1758640556000,\n percentRostered: 82.52,\n positions: '2B',\n proGameStatusLines: ['Wsh, 7:15 PM'],\n proTeam: {\n alternateColor: 'ba0c2f',\n color: '0c2340',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/15.jpg',\n id: 15,\n live: false,\n triCode: 'Atl',\n },\n },\n slot: '2B',\n },\n {\n displayOrder: 3,\n player: {\n abbrevName: 'A. Riley',\n currentlyWatching: true,\n firstName: 'Austin',\n fullName: 'Austin Riley',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/34982.jpg',\n id: 34982,\n injuryStatus: 'IL60',\n lastName: 'Riley',\n lastNewsDate: 1756750771000,\n percentRostered: 58.25,\n positions: '3B',\n proGameStatusLines: ['Wsh, 7:15 PM'],\n proTeam: {\n alternateColor: 'ba0c2f',\n color: '0c2340',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/15.jpg',\n id: 15,\n live: false,\n triCode: 'Atl',\n },\n },\n slot: '3B',\n },\n {\n displayOrder: 4,\n player: {\n abbrevName: 'M. Betts',\n currentlyWatching: true,\n firstName: 'Mookie',\n fullName: 'Mookie Betts',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/33039.jpg',\n id: 33039,\n lastName: 'Betts',\n lastNewsDate: 1758348477000,\n percentRostered: 99.58,\n positions: 'SS, RF',\n proGameStatusLines: ['@Ari, Tue 9:40 PM'],\n proTeam: {\n alternateColor: 'ffffff',\n color: '005a9c',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/19.jpg',\n id: 19,\n live: false,\n triCode: 'LAD',\n },\n },\n slot: 'SS',\n },\n {\n displayOrder: 11,\n player: {\n abbrevName: 'C. Bellinger',\n currentlyWatching: true,\n firstName: 'Cody',\n fullName: 'Cody Bellinger',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/33912.jpg',\n id: 33912,\n lastName: 'Bellinger',\n lastNewsDate: 1758166367000,\n percentRostered: 98.16,\n positions: 'RF, 1B, CF, DH, LF',\n proGameStatusLines: ['ChW, 7:05 PM'],\n proTeam: {\n alternateColor: 'c4ced4',\n color: '132448',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/10.jpg',\n id: 10,\n live: false,\n triCode: 'NYY',\n },\n },\n slot: 'OF',\n },\n {\n displayOrder: 11,\n player: {\n abbrevName: 'J. Soto',\n currentlyWatching: true,\n firstName: 'Juan',\n fullName: 'Juan Soto',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/36969.jpg',\n id: 36969,\n lastName: 'Soto',\n lastNewsDate: 1758337911000,\n percentRostered: 99.79,\n positions: 'RF',\n proGameStatusLines: ['@ChC, 7:40 PM'],\n proTeam: {\n alternateColor: 'ff5910',\n color: '002d72',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/21.jpg',\n id: 21,\n live: false,\n triCode: 'NYM',\n },\n },\n slot: 'OF',\n },\n {\n displayOrder: 11,\n player: {\n abbrevName: 'F. Tatis Jr.',\n currentlyWatching: true,\n firstName: 'Fernando',\n fullName: 'Fernando Tatis Jr.',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/35983.jpg',\n id: 35983,\n injuryStatus: 'DTD',\n lastName: 'Tatis Jr.',\n lastNewsDate: 1758633324000,\n percentRostered: 99.33,\n positions: 'RF',\n proGameStatusLines: ['Mil, Tue 9:40 PM'],\n proTeam: {\n alternateColor: 'ffc425',\n color: '2f241d',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/25.jpg',\n id: 25,\n live: false,\n triCode: 'SD',\n },\n },\n slot: 'OF',\n },\n {\n displayOrder: 13,\n player: {\n abbrevName: 'J. Duran',\n currentlyWatching: true,\n firstName: 'Jarren',\n fullName: 'Jarren Duran',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/41610.jpg',\n id: 41610,\n lastName: 'Duran',\n lastNewsDate: 1758468245000,\n percentRostered: 95.0,\n positions: 'CF, LF',\n proGameStatusLines: [\n '@Tor, 7:07 PM',\n '@Tor, 7:07 PM',\n '@Tor, 7:07 PM',\n ],\n proTeam: {\n alternateColor: 'bd3039',\n color: '0d2b56',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/2.jpg',\n id: 2,\n live: false,\n triCode: 'Bos',\n },\n },\n slot: 'UTIL',\n },\n {\n displayOrder: 14,\n player: {\n abbrevName: 'L. Gilbert',\n currentlyWatching: true,\n firstName: 'Logan',\n fullName: 'Logan Gilbert',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/41221.jpg',\n id: 41221,\n lastName: 'Gilbert',\n lastNewsDate: 1758508657000,\n percentRostered: 96.67,\n positions: 'SP',\n proGameStatusLines: ['Col, Tue 9:40 PM'],\n proTeam: {\n alternateColor: '0c2c56',\n color: '005c5c',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/12.jpg',\n id: 12,\n live: false,\n triCode: 'Sea',\n },\n },\n slot: 'P',\n },\n {\n displayOrder: 14,\n player: {\n abbrevName: 'B. Miller',\n currentlyWatching: true,\n firstName: 'Bryce',\n fullName: 'Bryce Miller',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/4654313.jpg',\n id: 4654313,\n lastName: 'Miller',\n lastNewsDate: 1758176573000,\n percentRostered: 58.46,\n positions: 'SP',\n proGameStatusLines: ['Col, Tue 9:40 PM'],\n proTeam: {\n alternateColor: '0c2c56',\n color: '005c5c',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/12.jpg',\n id: 12,\n live: false,\n triCode: 'Sea',\n },\n },\n slot: 'P',\n },\n {\n displayOrder: 14,\n player: {\n abbrevName: 'S. Ohtani',\n currentlyWatching: true,\n firstName: 'Shohei',\n fullName: 'Shohei Ohtani',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/39832.jpg',\n id: 39832,\n lastName: 'Ohtani',\n lastNewsDate: 1758645863000,\n percentRostered: 99.88,\n positions: 'DH, SP',\n proGameStatusLines: ['@Ari, Tue 9:40 PM'],\n proTeam: {\n alternateColor: 'ffffff',\n color: '005a9c',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/19.jpg',\n id: 19,\n live: false,\n triCode: 'LAD',\n },\n },\n slot: 'P',\n },\n {\n displayOrder: 14,\n player: {\n abbrevName: 'T. Rogers',\n currentlyWatching: true,\n firstName: 'Tyler',\n fullName: 'Tyler Rogers',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/34026.jpg',\n id: 34026,\n lastName: 'Rogers',\n lastNewsDate: 1753906608000,\n percentRostered: 9.36,\n positions: 'RP',\n proGameStatusLines: ['@ChC, 7:40 PM'],\n proTeam: {\n alternateColor: 'ff5910',\n color: '002d72',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/21.jpg',\n id: 21,\n live: false,\n triCode: 'NYM',\n },\n },\n slot: 'P',\n },\n {\n displayOrder: 14,\n player: {\n abbrevName: 'S. Schwellenbach',\n currentlyWatching: true,\n firstName: 'Spencer',\n fullName: 'Spencer Schwellenbach',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/4424862.jpg',\n id: 4424862,\n injuryStatus: 'IL60',\n lastName: 'Schwellenbach',\n lastNewsDate: 1758589973000,\n percentRostered: 49.68,\n positions: 'SP',\n proGameStatusLines: ['Wsh, 7:15 PM'],\n proTeam: {\n alternateColor: 'ba0c2f',\n color: '0c2340',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/15.jpg',\n id: 15,\n live: false,\n triCode: 'Atl',\n },\n },\n slot: 'P',\n },\n {\n displayOrder: 14,\n player: {\n abbrevName: 'R. Suarez',\n currentlyWatching: true,\n firstName: 'Robert',\n fullName: 'Robert Suarez',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/4148749.jpg',\n id: 4148749,\n lastName: 'Suarez',\n lastNewsDate: 1758499911000,\n percentRostered: 92.9,\n positions: 'RP',\n proGameStatusLines: ['Mil, Tue 9:40 PM'],\n proTeam: {\n alternateColor: 'ffc425',\n color: '2f241d',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/25.jpg',\n id: 25,\n live: false,\n triCode: 'SD',\n },\n },\n slot: 'P',\n },\n {\n displayOrder: 14,\n player: {\n abbrevName: 'L. Webb',\n currentlyWatching: true,\n firstName: 'Logan',\n fullName: 'Logan Webb',\n headshot:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/athletes/41216.jpg',\n id: 41216,\n lastName: 'Webb',\n lastNewsDate: 1758261430000,\n percentRostered: 98.24,\n positions: 'SP',\n proGameStatusLines: ['StL, Tue 9:45 PM'],\n proTeam: {\n alternateColor: 'fd5a1e',\n color: '000000',\n darkLogo:\n 'https://stitcher.espn.com/ctv/sports/baseball/leagues/mlb/teams/26.jpg',\n id: 26,\n live: false,\n triCode: 'SF',\n },\n },\n slot: 'P',\n },\n ],\n },\n ],\n },\n ],\n scoringPeriodId: 190,\n scoringType: 'ROTO',\n seasonId: 2025,\n segmentId: 0,\n sportColor: '#F51824',\n sportLogo:\n 'https://a.espncdn.com/assets/ESPN_IconUpdates_Jul252025/Fantasy/PNG/Fantasy_FLB%2C%20Type%3DIcon.png',\n};\n\nexport const MOCK_FANTASY_RESPONSE = {\n id: '{969DDFA7-B575-4017-966C-ED83EC3EDF37}',\n anon: false,\n profile: {\n createDate: 1533061925808,\n lastUpdateDate: 1762527083860,\n hasNotificationPreferences: false,\n useSortGlobal: true,\n settings: {\n videoAutoStart: {\n value: '1',\n createDate: 1533061925808,\n },\n hideSportsBetting: {\n value: 'false',\n createDate: 1757023536525,\n },\n activeProducts: {\n value: 'true',\n createDate: 1533379743011,\n },\n },\n isInsider: true,\n isPremium: true,\n lastName: 'Janssen',\n firstName: 'Megan',\n email: 'megan.m.janssen@espn.com',\n userName: 'meganjanssen25',\n },\n lastAccessDate: '2025-11-10T05:27:31Z',\n createDate: '2018-07-31T18:32:05Z',\n lastUpdateDate: '2025-11-07T14:51:23Z',\n bettingFeatures: [\n {\n name: 'bettingContentEnabled',\n value: true,\n },\n {\n name: 'bettingLinksEnabled',\n value: false,\n },\n ],\n preferences: [\n {\n id: '1:549555067:1:2025',\n createDate: 1742909253422,\n lastUpdateDate: 1757380930299,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: 'Mother of Minigames',\n teamAbbrev: 'MoM',\n leagueFormatTypeId: 3,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: false,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 1,\n groups: [\n {\n groupId: 549555067,\n groupSize: 16,\n groupName: 'Fantasy Eng - Guillotine',\n groupManager: true,\n draftDate: '1794416827000',\n draftType: 1,\n draftStatus: 1,\n leagueStatus: 1,\n fantasyCastHref:\n 'https://fantasy.espn.com/football/fantasycast?leagueId=549555067&teamId=1',\n href:\n 'https://fantasy.espn.com/football/league?leagueId=549555067&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'CUSTOM_VALID',\n logoUrl:\n 'https://upload.wikimedia.org/wikipedia/en/0/0d/Daenerys_Targaryen_with_Dragon-Emilia_Clarke.jpg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/football/team?leagueId=549555067&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/ffl/seasons/2025/segments/0/leagues/549555067?view=mScoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FFL',\n name: 'Fantasy Football 2025',\n description: 'Fantasy Football',\n logoURL:\n 'https://g.espncdn.com/s/ffllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/football/welcome',\n href: 'https://www.espn.com/fantasy/football/',\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 10,\n },\n contentSourceId: 10,\n sortGlobal: 7,\n isHidden: true,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '4:1278583616:1:2025',\n createDate: 1742915003927,\n lastUpdateDate: 1756670657496,\n metaData: {\n entry: {\n entryId: 4,\n entryMetadata: {\n teamName: 'Megantron',\n teamAbbrev: 'MEGA',\n leagueFormatTypeId: 3,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 1,\n groups: [\n {\n groupId: 1278583616,\n groupSize: 18,\n groupName: 'Tarps OFF',\n groupManager: false,\n draftDate: 1755777600000,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/football/fantasycast?leagueId=1278583616&teamId=4',\n href:\n 'https://fantasy.espn.com/football/league?leagueId=1278583616&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'CUSTOM_VALID',\n logoUrl: 'https://i.giphy.com/media/fZ91xzFtKWmoJSD4TK/giphy.gif',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/football/team?leagueId=1278583616&teamId=4&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/ffl/seasons/2025/segments/0/leagues/1278583616?view=mScoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B4%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FFL',\n name: 'Fantasy Football 2025',\n description: 'Fantasy Football',\n logoURL:\n 'https://g.espncdn.com/s/ffllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/football/welcome',\n href: 'https://www.espn.com/fantasy/football/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401772771': 1,\n '401772944': 1,\n '401772630': 1,\n '401772772': 1,\n '401772773': 1,\n '401772927': 1,\n '401772879': 1,\n '401772636': 1,\n '401772876': 1,\n },\n },\n currentLineup: {\n '-16026': 16,\n '16800': 23,\n '3043078': 2,\n '3052587': 0,\n '3121023': 6,\n '3123052': 17,\n '3139477': 20,\n '4241985': 2,\n '4242355': 20,\n '4362238': 20,\n '4372016': 4,\n '4426385': 20,\n '4429025': 20,\n '4612826': 4,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 10,\n },\n contentSourceId: 10,\n sortGlobal: 9,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:1027557112:1:2025',\n createDate: 1742911155496,\n lastUpdateDate: 1756920410999,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: 'Mother of Minigames',\n teamAbbrev: 'MoM',\n leagueFormatTypeId: 3,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 1,\n groups: [\n {\n groupId: 1027557112,\n groupSize: 8,\n groupName: 'Fantasy Platform Engineers',\n groupManager: true,\n draftDate: 1756918800000,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/football/fantasycast?leagueId=1027557112&teamId=1',\n href:\n 'https://fantasy.espn.com/football/league?leagueId=1027557112&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/logo-packs/core/Solo/ESPN_Star_Wars_Qira-01.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/football/team?leagueId=1027557112&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/ffl/seasons/2025/segments/0/leagues/1027557112?view=mScoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FFL',\n name: 'Fantasy Football 2025',\n description: 'Fantasy Football',\n logoURL:\n 'https://g.espncdn.com/s/ffllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/football/welcome',\n href: 'https://www.espn.com/fantasy/football/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401772771': 1,\n '401772630': 1,\n '401772927': 1,\n '401772879': 1,\n '401772876': 2,\n '401772636': 4,\n },\n },\n currentLineup: {\n '-16009': 16,\n '3040151': 6,\n '3121023': 20,\n '3123052': 17,\n '3139477': 20,\n '3917792': 7,\n '4239993': 20,\n '4242335': 2,\n '4372016': 4,\n '4429615': 4,\n '4430807': 2,\n '4433970': 0,\n '4569987': 23,\n '4683062': 20,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 10,\n },\n contentSourceId: 10,\n sortGlobal: 10,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:40059468:1:2025',\n createDate: 1742915689938,\n lastUpdateDate: 1756774193047,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: 'Lamb-da Functions',\n teamAbbrev: 'LAMB',\n leagueFormatTypeId: 3,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 1,\n groups: [\n {\n groupId: 40059468,\n groupSize: 8,\n groupName: 'The Bean Queens',\n groupManager: true,\n draftDate: 1756771200000,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/football/fantasycast?leagueId=40059468&teamId=1',\n href:\n 'https://fantasy.espn.com/football/league?leagueId=40059468&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'CUSTOM_UPLOAD',\n logoUrl:\n 'https://mystique-api.fantasy.espn.com/apis/v1/domains/lm/images/bc9f0e30-8796-11f0-b6e4-9dd13c0fbbe2',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/football/team?leagueId=40059468&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/ffl/seasons/2025/segments/0/leagues/40059468?view=mScoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FFL',\n name: 'Fantasy Football 2025',\n description: 'Fantasy Football',\n logoURL:\n 'https://g.espncdn.com/s/ffllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/football/welcome',\n href: 'https://www.espn.com/fantasy/football/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401772771': 2,\n '401772772': 1,\n '401772773': 1,\n '401772927': 3,\n '401772876': 1,\n '401772636': 1,\n },\n },\n currentLineup: {\n '-16001': 16,\n '15818': 4,\n '3052587': 0,\n '3054850': 20,\n '3116365': 20,\n '3917792': 20,\n '4241389': 20,\n '4361307': 6,\n '4362081': 17,\n '4379399': 2,\n '4429025': 23,\n '4429160': 2,\n '4429615': 4,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 10,\n },\n contentSourceId: 10,\n sortGlobal: 11,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '2:2124806394:1:2025',\n createDate: 1742912327647,\n lastUpdateDate: 1757029916228,\n metaData: {\n entry: {\n entryId: 2,\n entryMetadata: {\n teamName: 'Team Baron',\n teamAbbrev: 'BARO',\n leagueFormatTypeId: 3,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 1,\n groups: [\n {\n groupId: 2124806394,\n groupSize: 16,\n groupName: 'Live Scoring',\n groupManager: false,\n draftDate: 1,\n draftType: 2,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/football/fantasycast?leagueId=2124806394&teamId=2',\n href:\n 'https://fantasy.espn.com/football/league?leagueId=2124806394&seasonId=2025',\n draftTypeName: 'Autopick',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/ffl/images/default_logos/19.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/football/team?leagueId=2124806394&teamId=2&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/ffl/seasons/2025/segments/0/leagues/2124806394?view=mScoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B2%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FFL',\n name: 'Fantasy Football 2025',\n description: 'Fantasy Football',\n logoURL:\n 'https://g.espncdn.com/s/ffllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/football/welcome',\n href: 'https://www.espn.com/fantasy/football/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401772770': 1,\n '401772771': 3,\n '401772944': 1,\n '401772630': 1,\n '401772772': 1,\n '401772773': 2,\n '401772875': 2,\n '401772878': 1,\n '401772879': 2,\n '401772927': 11,\n '401772876': 1,\n },\n },\n currentLineup: {\n '-16012': 16,\n '-16003': 16,\n '-14012': 19,\n '-14002': 19,\n '15818': 4,\n '2473037': 17,\n '2971573': 17,\n '3045138': 23,\n '3059915': 2,\n '3126368': 18,\n '3139477': 0,\n '3915411': 2,\n '3918298': 20,\n '4012556': 2,\n '4034779': 23,\n '4037457': 2,\n '4038941': 0,\n '4240472': 6,\n '4241985': 2,\n '4242369': 23,\n '4242557': 23,\n '4242558': 6,\n '4360797': 23,\n '4361432': 23,\n '4361496': 18,\n '4362087': 21,\n '4362477': 4,\n '4362921': 4,\n '4372414': 23,\n '4421446': 2,\n '4428331': 4,\n '4429025': 4,\n '4430723': 6,\n '4430968': 2,\n '4431611': 20,\n '4595342': 6,\n '4596602': 2,\n '4597703': 23,\n '4612826': 4,\n '4686612': 4,\n '4689988': 4,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 10,\n },\n contentSourceId: 10,\n sortGlobal: 12,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:1678259:1:2025',\n createDate: 1742913134199,\n lastUpdateDate: 1755702318851,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: \"Megan's Test Acct\",\n teamAbbrev: 'MEGA',\n leagueFormatTypeId: 0,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 1,\n groups: [\n {\n groupId: 1678259,\n groupSize: 4,\n groupName: 'BYE WEEK TEST!',\n groupManager: true,\n draftDate: null,\n draftType: 0,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/football/fantasycast?leagueId=1678259&teamId=1',\n href:\n 'https://fantasy.espn.com/football/league?leagueId=1678259&seasonId=2025',\n draftTypeName: 'Offline Draft',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/logo-packs/core/DIS_Avengers_EndGame/DIS_Avengers_EndGame_A_2.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/football/team?leagueId=1678259&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/ffl/seasons/2025/segments/0/leagues/1678259?view=mScoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FFL',\n name: 'Fantasy Football 2025',\n description: 'Fantasy Football',\n logoURL:\n 'https://g.espncdn.com/s/ffllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/football/welcome',\n href: 'https://www.espn.com/fantasy/football/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401772769': 1,\n '401772630': 2,\n '401772927': 2,\n '401772876': 1,\n },\n },\n currentLineup: {\n '2577417': 0,\n '3121023': 6,\n '4040715': 20,\n '4047646': 4,\n '4047650': 4,\n '4361579': 2,\n '4372019': 2,\n '4426354': 4,\n '4429615': 4,\n '4569987': 2,\n '4685016': 2,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 10,\n },\n contentSourceId: 10,\n sortGlobal: 13,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '8:1130440938:2:2025',\n createDate: 1737632028020,\n lastUpdateDate: 1759462119590,\n metaData: {\n entry: {\n entryId: 8,\n entryMetadata: {\n teamName: 'Mother of Minigames',\n teamAbbrev: 'MINI',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 2,\n groups: [\n {\n groupId: 1130440938,\n groupSize: 8,\n groupName: 'Interactive Platform Legends!',\n groupManager: false,\n draftDate: 1743012000000,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'http://fantasy.espn.com/baseball/fantasycast?leagueId=1130440938&teamId=8',\n href:\n 'http://fantasy.espn.com/baseball/league?leagueId=1130440938&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/logo-packs/core/Solo/ESPN_Star_Wars_Qira-01.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'http://fantasy.espn.com/baseball/team?leagueId=1130440938&teamId=8&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/flb/seasons/2025/segments/0/leagues/1130440938?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B8%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FLB',\n name: 'Fantasy Baseball 2025',\n description: 'Fantasy Baseball',\n logoURL: 'https://g.espncdn.com/s/frontpage09/images/flb09_index.png',\n signupURL: 'http://fantasy.espn.com/baseball/welcome',\n href: 'https://www.espn.com/fantasy/baseball/',\n currentLineup: {\n '32157': 13,\n '32367': 3,\n '32685': 13,\n '32767': 12,\n '34945': 5,\n '34967': 17,\n '34995': 5,\n '36020': 5,\n '36071': 13,\n '36488': 16,\n '39895': 0,\n '40080': 17,\n '41179': 2,\n '41355': 4,\n '42433': 13,\n '42449': 13,\n '42796': 17,\n '4109109': 1,\n '4208281': 16,\n '4692526': 13,\n '5132011': 16,\n '5150939': 13,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 196,\n },\n contentSourceId: 10,\n sortGlobal: 13,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:1335047630:2:2025',\n createDate: 1742230557423,\n lastUpdateDate: 1755632109653,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: 'UnDrafted',\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: false,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 2,\n groups: [\n {\n groupId: 1335047630,\n groupSize: 10,\n groupName: 'Undrafted; Not Set',\n groupManager: true,\n draftDate: null,\n draftType: 1,\n draftStatus: 1,\n leagueStatus: 1,\n fantasyCastHref:\n 'http://fantasy.espn.com/baseball/fantasycast?leagueId=1335047630&teamId=1',\n href:\n 'http://fantasy.espn.com/baseball/league?leagueId=1335047630&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'CUSTOM_UPLOAD',\n logoUrl:\n 'https://mystique-api.fantasy.espn.com/apis/v1/domains/lm/images/5c82c630-212b-11f0-bf52-473646e3de99',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'http://fantasy.espn.com/baseball/team?leagueId=1335047630&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/flb/seasons/2025/segments/0/leagues/1335047630?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FLB',\n name: 'Fantasy Baseball 2025',\n description: 'Fantasy Baseball',\n logoURL: 'https://g.espncdn.com/s/frontpage09/images/flb09_index.png',\n signupURL: 'http://fantasy.espn.com/baseball/welcome',\n href: 'https://www.espn.com/fantasy/baseball/',\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 196,\n },\n contentSourceId: 10,\n sortGlobal: 17,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: 'cd9ccb60-2a84-11f0-a3e0-ffe8c80e5341',\n createDate: 1762778889707,\n metaData: {\n entry: {\n entryUuid: 'cd9ccb60-2a84-11f0-a3e0-ffe8c80e5341',\n lastAvailableDate: 1768193940000,\n challengeId: '263',\n logoURLs: {\n logoSecondary: '',\n logoPrimary:\n 'https://chui-assets-cdn.espn.com/1ab5b81f-0114-4ef0-aced-a096cfa487b1.png',\n darkLogoURL:\n 'https://chui-assets-cdn.espn.com/149a15a7-10e7-421a-ae38-d7ff4df3f8de.png',\n lightLogoURL:\n 'https://chui-assets-cdn.espn.com/1ab5b81f-0114-4ef0-aced-a096cfa487b1.png',\n },\n gameUrl: 'https://fantasy.espn.com/games/nfl-win-totals-2025',\n entryName: \"Megan_Janssen2's Picks 1\",\n challengeGroups: '',\n score: {\n eliminated: false,\n overallScore: 10,\n percentile: 0.73421348,\n rank: 43043,\n record: {\n losses: 2,\n wins: 1,\n },\n },\n scoreByGroup: '',\n scoringFormatId: 1,\n },\n },\n sortGlobal: 1382,\n isImplicit: false,\n isHidden: false,\n typeId: 14,\n affinity: 0,\n type: {\n id: 14,\n name: 'Challenge Entry',\n code: 'challengeEntry',\n isDeletable: true,\n isDelegated: true,\n maxAllowed: 200,\n },\n },\n {\n id: '10:978432872:1:2025',\n createDate: 1750808942792,\n lastUpdateDate: 1753110440776,\n metaData: {\n entry: {\n entryId: 10,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 7,\n leagueSubTypeId: 3,\n customizable: false,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 1,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'DRAFT_LOBBY',\n },\n firstScoringPeriodId: 1,\n gameId: 1,\n groups: [\n {\n groupId: 978432872,\n groupSize: 10,\n groupName: 'San Francisco Gridiron Gauntlet League',\n groupManager: false,\n draftDate: 1750809180000,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/football/fantasycast?leagueId=978432872&teamId=10',\n href:\n 'https://fantasy.espn.com/football/league?leagueId=978432872&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/ffl/images/default_logos/8.svg',\n restrictionType: 5,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/football/team?leagueId=978432872&teamId=10&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/ffl/seasons/2025/segments/0/leagues/978432872?view=mScoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B10%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FFL',\n name: 'Fantasy Football 2025',\n description: 'Fantasy Football',\n logoURL:\n 'https://g.espncdn.com/s/ffllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/football/welcome',\n href: 'https://www.espn.com/fantasy/football/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401772770': 1,\n '401772771': 1,\n '401772944': 1,\n '401772630': 1,\n '401772773': 2,\n '401772875': 2,\n },\n },\n currentLineup: {\n '-16022': 16,\n '3050478': 17,\n '3116385': 2,\n '3915416': 4,\n '3916148': 20,\n '4241389': 4,\n '4361307': 6,\n '4361370': 20,\n '4428209': 20,\n '4429160': 2,\n '4431299': 20,\n '4431611': 0,\n '4567750': 20,\n '4568490': 23,\n '4569173': 20,\n '4882093': 20,\n },\n restrictionTypeName: 'GAUNTLET',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 10,\n },\n contentSourceId: 10,\n sortGlobal: 1398,\n isHidden: true,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '9:2118520298:1:2025',\n createDate: 1753457483090,\n lastUpdateDate: 1753459839424,\n metaData: {\n entry: {\n entryId: 9,\n entryMetadata: {\n teamName: \"Megan's Monstrous Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 3,\n leagueSubTypeId: 3,\n customizable: false,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 1,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'DRAFT_LOBBY',\n },\n firstScoringPeriodId: 1,\n gameId: 1,\n groups: [\n {\n groupId: 2118520298,\n groupSize: 10,\n groupName: 'Detroit Beginner H2H Points PPR League',\n groupManager: false,\n draftDate: 1753457880000,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/football/fantasycast?leagueId=2118520298&teamId=9',\n href:\n 'https://fantasy.espn.com/football/league?leagueId=2118520298&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/ffl/images/default_logos/4.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/football/team?leagueId=2118520298&teamId=9&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/ffl/seasons/2025/segments/0/leagues/2118520298?view=mScoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B9%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FFL',\n name: 'Fantasy Football 2025',\n description: 'Fantasy Football',\n logoURL:\n 'https://g.espncdn.com/s/ffllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/football/welcome',\n href: 'https://www.espn.com/fantasy/football/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401772771': 1,\n '401772769': 1,\n '401772772': 1,\n '401772773': 1,\n '401772875': 1,\n '401772927': 1,\n '401772879': 2,\n '401772876': 1,\n },\n },\n currentLineup: {\n '-16016': 16,\n '16800': 4,\n '2977187': 23,\n '3052587': 0,\n '3123076': 6,\n '3925357': 20,\n '4360516': 20,\n '4360569': 20,\n '4362081': 17,\n '4362249': 20,\n '4429013': 20,\n '4429160': 2,\n '4429615': 20,\n '4430737': 2,\n '4569618': 20,\n '4595348': 4,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 10,\n },\n contentSourceId: 10,\n sortGlobal: 1402,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:1028491758:5:2025',\n createDate: 1747420135832,\n lastUpdateDate: 1757663182317,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: 'Megan Team 1',\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 5,\n groups: [\n {\n groupId: 1028491758,\n groupSize: 4,\n groupName: 'Multi Team Ownership',\n groupManager: true,\n draftDate: 1,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'https://fantasy.espn.com/womens-basketball/fantasycast?leagueId=1028491758&teamId=1',\n href:\n 'https://fantasy.espn.com/womens-basketball/league?leagueId=1028491758&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/logo-packs/core/StarWarsTheRiseOfSkywalker/rise-skywalker-r2d2.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/womens-basketball/team?leagueId=1028491758&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/wfba/seasons/2025/segments/0/leagues/1028491758?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'WFBA',\n name: 'Fantasy Womens Basketball 2025',\n description: 'Fantasy Womens Basketball',\n logoURL: 'https://g.espncdn.com/s/fbalm/15/images/shell/bgHead.png',\n signupURL: 'https://fantasy.espn.com/womens-basketball/welcome',\n href: 'https://www.espn.com/fantasy/womens-basketball/',\n currentLineup: {\n '869': 4,\n '2529140': 4,\n '2529205': 6,\n '2998938': 1,\n '3058895': 6,\n '3058901': 5,\n '3146151': 6,\n '4432831': 4,\n '4433403': 1,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 120,\n },\n contentSourceId: 10,\n sortGlobal: 1383,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '4:1028491758:5:2025',\n createDate: 1747420173876,\n lastUpdateDate: 1757663182341,\n metaData: {\n entry: {\n entryId: 4,\n entryMetadata: {\n teamName: 'Megan Team 4',\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 5,\n groups: [\n {\n groupId: 1028491758,\n groupSize: 4,\n groupName: 'Multi Team Ownership',\n groupManager: true,\n draftDate: 1,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'https://fantasy.espn.com/womens-basketball/fantasycast?leagueId=1028491758&teamId=4',\n href:\n 'https://fantasy.espn.com/womens-basketball/league?leagueId=1028491758&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/logo-packs/fba/Jerseys-ESPN/fba-jerseys-31.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/womens-basketball/team?leagueId=1028491758&teamId=4&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/wfba/seasons/2025/segments/0/leagues/1028491758?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B4%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'WFBA',\n name: 'Fantasy Womens Basketball 2025',\n description: 'Fantasy Womens Basketball',\n logoURL: 'https://g.espncdn.com/s/fbalm/15/images/shell/bgHead.png',\n signupURL: 'https://fantasy.espn.com/womens-basketball/welcome',\n href: 'https://www.espn.com/fantasy/womens-basketball/',\n currentLineup: {\n '2529130': 6,\n '2998928': 4,\n '3065570': 1,\n '3913881': 6,\n '4066533': 1,\n '4398674': 5,\n '4420318': 4,\n '4433402': 4,\n '4433630': 6,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 120,\n },\n contentSourceId: 10,\n sortGlobal: 1384,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '3:1028491758:5:2025',\n createDate: 1747420178168,\n lastUpdateDate: 1757663182333,\n metaData: {\n entry: {\n entryId: 3,\n entryMetadata: {\n teamName: 'Megan Team 3',\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 5,\n groups: [\n {\n groupId: 1028491758,\n groupSize: 4,\n groupName: 'Multi Team Ownership',\n groupManager: true,\n draftDate: 1,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'https://fantasy.espn.com/womens-basketball/fantasycast?leagueId=1028491758&teamId=3',\n href:\n 'https://fantasy.espn.com/womens-basketball/league?leagueId=1028491758&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/logo-packs/core/DIS_Avengers_EndGame/DIS_Avengers_EndGame_Rocket.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/womens-basketball/team?leagueId=1028491758&teamId=3&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/wfba/seasons/2025/segments/0/leagues/1028491758?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B3%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'WFBA',\n name: 'Fantasy Womens Basketball 2025',\n description: 'Fantasy Womens Basketball',\n logoURL: 'https://g.espncdn.com/s/fbalm/15/images/shell/bgHead.png',\n signupURL: 'https://fantasy.espn.com/womens-basketball/welcome',\n href: 'https://www.espn.com/fantasy/womens-basketball/',\n currentLineup: {\n '1068': 4,\n '2529137': 6,\n '2987869': 1,\n '2987891': 6,\n '3904577': 1,\n '3913903': 6,\n '3917450': 4,\n '4281929': 4,\n '4433730': 5,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 120,\n },\n contentSourceId: 10,\n sortGlobal: 1385,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '2:1028491758:5:2025',\n createDate: 1747420181784,\n lastUpdateDate: 1757663182325,\n metaData: {\n entry: {\n entryId: 2,\n entryMetadata: {\n teamName: 'Megan Team 2',\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 5,\n groups: [\n {\n groupId: 1028491758,\n groupSize: 4,\n groupName: 'Multi Team Ownership',\n groupManager: true,\n draftDate: 1,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'https://fantasy.espn.com/womens-basketball/fantasycast?leagueId=1028491758&teamId=2',\n href:\n 'https://fantasy.espn.com/womens-basketball/league?leagueId=1028491758&seasonId=2025',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/logo-packs/core/StarsAndFlames/stars_flames-4.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'https://fantasy.espn.com/womens-basketball/team?leagueId=1028491758&teamId=2&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/wfba/seasons/2025/segments/0/leagues/1028491758?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B2%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'WFBA',\n name: 'Fantasy Womens Basketball 2025',\n description: 'Fantasy Womens Basketball',\n logoURL: 'https://g.espncdn.com/s/fbalm/15/images/shell/bgHead.png',\n signupURL: 'https://fantasy.espn.com/womens-basketball/welcome',\n href: 'https://www.espn.com/fantasy/womens-basketball/',\n currentLineup: {\n '2490553': 6,\n '2491205': 1,\n '2566106': 4,\n '2988756': 6,\n '2999101': 4,\n '3142191': 5,\n '3149391': 4,\n '3904576': 6,\n '4065870': 1,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 120,\n },\n contentSourceId: 10,\n sortGlobal: 1386,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: 'c71ef020-3681-11f0-9846-8ffc028f9549',\n createDate: 1762778889707,\n metaData: {\n entry: {\n entryUuid: 'c71ef020-3681-11f0-9846-8ffc028f9549',\n lastAvailableDate: 1768193940000,\n challengeId: '264',\n logoURLs: {\n logoSecondary: '',\n logoPrimary:\n 'https://chui-assets-cdn.espn.com/4ae2d3e1-ce2d-4ff0-b3f2-57e966c3e9c8.png',\n darkLogoURL:\n 'https://chui-assets-cdn.espn.com/4ae2d3e1-ce2d-4ff0-b3f2-57e966c3e9c8.png',\n lightLogoURL:\n 'https://chui-assets-cdn.espn.com/4beecd18-7bb5-441b-913c-a1ac5f12b893.png',\n },\n gameUrl:\n 'https://fantasy.espn.com/games/nfl-eliminator-challenge-2025',\n entryName: \"Megan_Janssen2's Picks 3\",\n challengeGroups: [\n {\n groupSettings: {\n name: 'Disney Only',\n },\n },\n {\n groupSettings: {\n name: 'FIRE Core Team',\n },\n },\n ],\n score: {\n eliminated: true,\n overallScore: 3,\n percentile: 0.63478545,\n rank: 399442,\n record: {\n losses: 1,\n wins: 3,\n },\n },\n scoreByGroup: {\n '4ff5631f-66c8-42a5-8ad9-1c3fc2eadd53': {\n eliminated: true,\n overallScore: 3,\n percentile: 0.63478545,\n rank: 2,\n record: {\n losses: 1,\n wins: 3,\n },\n },\n '7d4a3167-0f7f-3aa5-a193-10f5a79f89e0': {\n eliminated: true,\n overallScore: 3,\n percentile: 0.63478545,\n rank: 19,\n record: {\n losses: 1,\n wins: 3,\n },\n },\n },\n scoringFormatId: 4,\n },\n },\n sortGlobal: 1387,\n isImplicit: false,\n isHidden: false,\n typeId: 14,\n affinity: 0,\n type: {\n id: 14,\n name: 'Challenge Entry',\n code: 'challengeEntry',\n isDeletable: true,\n isDelegated: true,\n maxAllowed: 200,\n },\n },\n {\n id: 'c349a530-3681-11f0-bebc-3118dc9a49b7',\n createDate: 1762778889707,\n metaData: {\n entry: {\n entryUuid: 'c349a530-3681-11f0-bebc-3118dc9a49b7',\n lastAvailableDate: 1768193940000,\n challengeId: '264',\n logoURLs: {\n logoSecondary: '',\n logoPrimary:\n 'https://chui-assets-cdn.espn.com/4ae2d3e1-ce2d-4ff0-b3f2-57e966c3e9c8.png',\n darkLogoURL:\n 'https://chui-assets-cdn.espn.com/4ae2d3e1-ce2d-4ff0-b3f2-57e966c3e9c8.png',\n lightLogoURL:\n 'https://chui-assets-cdn.espn.com/4beecd18-7bb5-441b-913c-a1ac5f12b893.png',\n },\n gameUrl:\n 'https://fantasy.espn.com/games/nfl-eliminator-challenge-2025',\n entryName: \"Megan_Janssen2's Picks 2\",\n challengeGroups: '',\n score: {\n eliminated: true,\n overallScore: 0,\n percentile: 0.0,\n rank: 897095,\n record: {\n losses: 1,\n wins: 0,\n },\n },\n scoreByGroup: '',\n scoringFormatId: 4,\n },\n },\n sortGlobal: 1387,\n isImplicit: false,\n isHidden: false,\n typeId: 14,\n affinity: 0,\n type: {\n id: 14,\n name: 'Challenge Entry',\n code: 'challengeEntry',\n isDeletable: true,\n isDelegated: true,\n maxAllowed: 200,\n },\n },\n {\n id: '90930280-3681-11f0-b2f3-0fd5099dfb7c',\n createDate: 1762778889707,\n metaData: {\n entry: {\n entryUuid: '90930280-3681-11f0-b2f3-0fd5099dfb7c',\n lastAvailableDate: 1768193940000,\n challengeId: '265',\n logoURLs: {\n logoSecondary: '',\n logoPrimary:\n 'https://chui-assets-cdn.espn.com/08166f17-1808-4634-b21a-66629878274c.png',\n darkLogoURL:\n 'https://chui-assets-cdn.espn.com/08166f17-1808-4634-b21a-66629878274c.png',\n lightLogoURL:\n 'https://chui-assets-cdn.espn.com/213d8b5f-6117-480c-b160-4a3993a3c88e.png',\n },\n gameUrl: 'https://fantasy.espn.com/games/nfl-pigskin-pickem-2025',\n entryName: 'MegaLed Confidence',\n challengeGroups: [\n {\n groupSettings: {\n name: 'TMG - Season 6',\n },\n },\n {\n groupSettings: {\n name: 'Disney Only (Confidence)',\n },\n },\n {\n groupSettings: {\n name: 'Card Club - Pigskin',\n },\n },\n ],\n score: {\n eliminated: false,\n overallScore: 783,\n percentile: 0.75568775,\n rank: 27846,\n record: {\n losses: 56,\n wins: 90,\n },\n },\n scoreByGroup: {\n '05b8d8ef-7176-3845-bade-4f8c2479afe7': {\n eliminated: false,\n overallScore: 748,\n percentile: 0.75568775,\n rank: 12,\n record: {\n losses: 48,\n wins: 84,\n },\n },\n '836c455b-5a75-3531-929f-fdcd7f714c9c': {\n eliminated: false,\n overallScore: 748,\n percentile: 0.75568775,\n rank: 8,\n record: {\n losses: 48,\n wins: 84,\n },\n },\n '54a6fab7-58b3-3495-91a4-3c11bb601a1c': {\n eliminated: false,\n overallScore: 783,\n percentile: 0.75568775,\n rank: 78,\n record: {\n losses: 56,\n wins: 90,\n },\n },\n },\n scoringFormatId: 2,\n },\n },\n sortGlobal: 1387,\n isImplicit: false,\n isHidden: false,\n typeId: 14,\n affinity: 0,\n type: {\n id: 14,\n name: 'Challenge Entry',\n code: 'challengeEntry',\n isDeletable: true,\n isDelegated: true,\n maxAllowed: 200,\n },\n },\n {\n id: 'a33424f0-3681-11f0-b2f3-0fd5099dfb7c',\n createDate: 1762778889707,\n metaData: {\n entry: {\n entryUuid: 'a33424f0-3681-11f0-b2f3-0fd5099dfb7c',\n lastAvailableDate: 1768193940000,\n challengeId: '265',\n logoURLs: {\n logoSecondary: '',\n logoPrimary:\n 'https://chui-assets-cdn.espn.com/08166f17-1808-4634-b21a-66629878274c.png',\n darkLogoURL:\n 'https://chui-assets-cdn.espn.com/08166f17-1808-4634-b21a-66629878274c.png',\n lightLogoURL:\n 'https://chui-assets-cdn.espn.com/213d8b5f-6117-480c-b160-4a3993a3c88e.png',\n },\n gameUrl: 'https://fantasy.espn.com/games/nfl-pigskin-pickem-2025',\n entryName: 'MegaLed Spread',\n challengeGroups: [\n {\n groupSettings: {\n name: 'Disney Only (Spread)',\n },\n },\n ],\n score: {\n eliminated: false,\n overallScore: 670,\n percentile: 0.64634846,\n rank: 81970,\n record: {\n losses: 71,\n wins: 67,\n },\n },\n scoreByGroup: {\n 'f33eee68-29ff-3c16-bd20-31b9952753dd': {\n eliminated: false,\n overallScore: 670,\n percentile: 0.64634846,\n rank: 118,\n record: {\n losses: 71,\n wins: 67,\n },\n },\n },\n scoringFormatId: 3,\n },\n },\n sortGlobal: 1387,\n isImplicit: false,\n isHidden: false,\n typeId: 14,\n affinity: 0,\n type: {\n id: 14,\n name: 'Challenge Entry',\n code: 'challengeEntry',\n isDeletable: true,\n isDelegated: true,\n maxAllowed: 200,\n },\n },\n {\n id: 'bdae4040-3681-11f0-9b45-3fc452c57dcd',\n createDate: 1762778889707,\n metaData: {\n entry: {\n entryUuid: 'bdae4040-3681-11f0-9b45-3fc452c57dcd',\n lastAvailableDate: 1768193940000,\n challengeId: '264',\n logoURLs: {\n logoSecondary: '',\n logoPrimary:\n 'https://chui-assets-cdn.espn.com/4ae2d3e1-ce2d-4ff0-b3f2-57e966c3e9c8.png',\n darkLogoURL:\n 'https://chui-assets-cdn.espn.com/4ae2d3e1-ce2d-4ff0-b3f2-57e966c3e9c8.png',\n lightLogoURL:\n 'https://chui-assets-cdn.espn.com/4beecd18-7bb5-441b-913c-a1ac5f12b893.png',\n },\n gameUrl:\n 'https://fantasy.espn.com/games/nfl-eliminator-challenge-2025',\n entryName: \"Megan_Janssen2's Picks 1\",\n challengeGroups: [\n {\n groupSettings: {\n name: 'Locks Only Survivor Pool- SZN 4',\n },\n },\n ],\n score: {\n eliminated: true,\n overallScore: 2,\n percentile: 0.50711336,\n rank: 539079,\n record: {\n losses: 1,\n wins: 2,\n },\n },\n scoreByGroup: {\n 'a00db401-c3ce-4729-8c0c-38c6aabae4a7': {\n eliminated: true,\n overallScore: 2,\n percentile: 0.50711336,\n rank: 15,\n record: {\n losses: 1,\n wins: 2,\n },\n },\n },\n scoringFormatId: 4,\n },\n },\n sortGlobal: 1387,\n isImplicit: false,\n isHidden: false,\n typeId: 14,\n affinity: 0,\n type: {\n id: 14,\n name: 'Challenge Entry',\n code: 'challengeEntry',\n isDeletable: true,\n isDelegated: true,\n maxAllowed: 200,\n },\n },\n {\n id: '36343e50-365c-11f0-a8c2-3b962bf01277',\n createDate: 1762778889707,\n metaData: {\n entry: {\n entryUuid: '36343e50-365c-11f0-a8c2-3b962bf01277',\n lastAvailableDate: 1768193940000,\n challengeId: '265',\n logoURLs: {\n logoSecondary: '',\n logoPrimary:\n 'https://chui-assets-cdn.espn.com/08166f17-1808-4634-b21a-66629878274c.png',\n darkLogoURL:\n 'https://chui-assets-cdn.espn.com/08166f17-1808-4634-b21a-66629878274c.png',\n lightLogoURL:\n 'https://chui-assets-cdn.espn.com/213d8b5f-6117-480c-b160-4a3993a3c88e.png',\n },\n gameUrl: 'https://fantasy.espn.com/games/nfl-pigskin-pickem-2025',\n entryName: 'MegaLed Straight Up',\n challengeGroups: [\n {\n groupSettings: {\n name: 'Disney Only (Standard)',\n },\n },\n {\n groupSettings: {\n name: 'DEE Product and Technology Group',\n },\n },\n {\n groupSettings: {\n name: 'ESPN Fantasy Group',\n },\n },\n {\n groupSettings: {\n name: 'Product & Tech Group',\n },\n },\n ],\n score: {\n eliminated: false,\n overallScore: 810,\n percentile: 0.67573397,\n rank: 452404,\n record: {\n losses: 56,\n wins: 81,\n },\n },\n scoreByGroup: {\n 'd0731075-2901-4564-8aa8-02dd38c9c26b': {\n eliminated: false,\n overallScore: 810,\n percentile: 0.67573397,\n rank: 8,\n record: {\n losses: 56,\n wins: 81,\n },\n },\n '7bf7b02f-b9b1-40b6-8270-9d4a3b0ff222': {\n eliminated: false,\n overallScore: 810,\n percentile: 0.67573397,\n rank: 207,\n record: {\n losses: 56,\n wins: 81,\n },\n },\n 'dad5e750-a47f-4527-90cb-1aca05a2bbe3': {\n eliminated: false,\n overallScore: 810,\n percentile: 0.67573397,\n rank: 3,\n record: {\n losses: 56,\n wins: 81,\n },\n },\n '96f8471c-d4e7-3ca8-b86e-2b012f127f39': {\n eliminated: false,\n overallScore: 810,\n percentile: 0.67573397,\n rank: 379,\n record: {\n losses: 56,\n wins: 81,\n },\n },\n },\n scoringFormatId: 1,\n },\n },\n sortGlobal: 1387,\n isImplicit: false,\n isHidden: false,\n typeId: 14,\n affinity: 0,\n type: {\n id: 14,\n name: 'Challenge Entry',\n code: 'challengeEntry',\n isDeletable: true,\n isDelegated: true,\n maxAllowed: 200,\n },\n },\n {\n id: '7:735183173:3:2026',\n createDate: 1749773645351,\n lastUpdateDate: 1749828448313,\n metaData: {\n entry: {\n entryId: 7,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 3,\n customizable: false,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 1,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'DRAFT_LOBBY',\n },\n firstScoringPeriodId: 1,\n gameId: 3,\n groups: [\n {\n groupId: 735183173,\n groupSize: 10,\n groupName: 'Philadelphia Pro H2H Points League',\n groupManager: false,\n draftDate: 1749827580000,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/basketball/fantasycast?leagueId=735183173&teamId=7',\n href:\n 'https://fantasy.espn.com/basketball/league?leagueId=735183173&seasonId=2026',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/fba/images/default_logos/14.svg',\n restrictionType: 0,\n seasonId: 2026,\n entryURL:\n 'https://fantasy.espn.com/basketball/team?leagueId=735183173&teamId=7&seasonId=2026',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/fba/seasons/2026/segments/0/leagues/735183173?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B7%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FBA',\n name: 'Fantasy Basketball 2026',\n description: 'Fantasy Basketball',\n logoURL: 'https://g.espncdn.com/s/fbalm/15/images/shell/bgHead.png',\n signupURL: 'https://fantasy.espn.com/basketball/welcome',\n href: 'https://www.espn.com/fantasy/basketball/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401810053': 2,\n '401810058': 1,\n '401810057': 1,\n '401810061': 1,\n },\n },\n currentLineup: {\n '3202': 3,\n '3448': 12,\n '4251': 11,\n '6583': 4,\n '3136195': 11,\n '3908845': 6,\n '3934719': 12,\n '4279888': 0,\n '4395630': 1,\n '4432816': 5,\n '4433247': 12,\n '4433255': 11,\n '4433287': 2,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 21,\n },\n contentSourceId: 10,\n sortGlobal: 1390,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '2:424310183:3:2026',\n createDate: 1749773698015,\n lastUpdateDate: 1749829617368,\n metaData: {\n entry: {\n entryId: 2,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 3,\n customizable: false,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 1,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'DRAFT_LOBBY',\n },\n firstScoringPeriodId: 1,\n gameId: 3,\n groups: [\n {\n groupId: 424310183,\n groupSize: 10,\n groupName: 'Memphis Pro H2H Points League',\n groupManager: false,\n draftDate: 1749828480000,\n draftType: 1,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/basketball/fantasycast?leagueId=424310183&teamId=2',\n href:\n 'https://fantasy.espn.com/basketball/league?leagueId=424310183&seasonId=2026',\n draftTypeName: 'Snake',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/fba/images/default_logos/1.svg',\n restrictionType: 0,\n seasonId: 2026,\n entryURL:\n 'https://fantasy.espn.com/basketball/team?leagueId=424310183&teamId=2&seasonId=2026',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/fba/seasons/2026/segments/0/leagues/424310183?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B2%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FBA',\n name: 'Fantasy Basketball 2026',\n description: 'Fantasy Basketball',\n logoURL: 'https://g.espncdn.com/s/fbalm/15/images/shell/bgHead.png',\n signupURL: 'https://fantasy.espn.com/basketball/welcome',\n href: 'https://www.espn.com/fantasy/basketball/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401810055': 1,\n '401810054': 1,\n '401810053': 1,\n '401810059': 2,\n '401810058': 2,\n },\n },\n currentLineup: {\n '3468': 0,\n '6580': 12,\n '6583': 4,\n '3032977': 3,\n '3062679': 2,\n '3134908': 11,\n '3907497': 5,\n '3907822': 12,\n '4066383': 11,\n '4277956': 1,\n '4433621': 11,\n '4566434': 6,\n '4594327': 12,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 21,\n },\n contentSourceId: 10,\n sortGlobal: 1391,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:1315471242:2:2025',\n createDate: 1753897316090,\n lastUpdateDate: 1759136303110,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 2,\n groups: [\n {\n groupId: 1315471242,\n groupSize: 10,\n groupName: 'Maestro H2H Points',\n groupManager: true,\n draftDate: 1,\n draftType: 0,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'http://fantasy.espn.com/baseball/fantasycast?leagueId=1315471242&teamId=1',\n href:\n 'http://fantasy.espn.com/baseball/league?leagueId=1315471242&seasonId=2025',\n draftTypeName: 'Offline Draft',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/flb/images/default_logos/8.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'http://fantasy.espn.com/baseball/team?leagueId=1315471242&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/flb/seasons/2025/segments/0/leagues/1315471242?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FLB',\n name: 'Fantasy Baseball 2025',\n description: 'Fantasy Baseball',\n logoURL: 'https://g.espncdn.com/s/frontpage09/images/flb09_index.png',\n signupURL: 'http://fantasy.espn.com/baseball/welcome',\n href: 'https://www.espn.com/fantasy/baseball/',\n currentLineup: {\n '29155': 13,\n '30193': 1,\n '32129': 4,\n '32685': 13,\n '33148': 13,\n '33783': 2,\n '33837': 13,\n '33859': 3,\n '33950': 13,\n '35983': 5,\n '36581': 13,\n '39825': 16,\n '41405': 13,\n '42179': 5,\n '42598': 0,\n '4433874': 16,\n '4719337': 5,\n '4917694': 12,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 196,\n },\n contentSourceId: 10,\n sortGlobal: 1403,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:1689844356:2:2025',\n createDate: 1753897335814,\n lastUpdateDate: 1759136303136,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 1,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 0,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'ROTO',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 2,\n groups: [\n {\n groupId: 1689844356,\n groupSize: 10,\n groupName: 'Maestro Roto',\n groupManager: true,\n draftDate: 1,\n draftType: 0,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'http://fantasy.espn.com/baseball/fantasycast?leagueId=1689844356&teamId=1',\n href:\n 'http://fantasy.espn.com/baseball/league?leagueId=1689844356&seasonId=2025',\n draftTypeName: 'Offline Draft',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/flb/images/default_logos/8.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'http://fantasy.espn.com/baseball/team?leagueId=1689844356&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/flb/seasons/2025/segments/0/leagues/1689844356?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FLB',\n name: 'Fantasy Baseball 2025',\n description: 'Fantasy Baseball',\n logoURL: 'https://g.espncdn.com/s/frontpage09/images/flb09_index.png',\n signupURL: 'http://fantasy.espn.com/baseball/welcome',\n href: 'https://www.espn.com/fantasy/baseball/',\n currentLineup: {\n '30193': 1,\n '32129': 4,\n '32685': 13,\n '32796': 13,\n '33192': 5,\n '33837': 13,\n '33859': 3,\n '35002': 12,\n '36581': 13,\n '38309': 0,\n '39825': 13,\n '39832': 16,\n '40939': 13,\n '41610': 5,\n '41773': 2,\n '42403': 16,\n '42404': 5,\n '4109109': 16,\n '4719507': 13,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 196,\n },\n contentSourceId: 10,\n sortGlobal: 1404,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:531018984:2:2025',\n createDate: 1753897355273,\n lastUpdateDate: 1759136303102,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 3,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 2,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_CATEGORY',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 2,\n groups: [\n {\n groupId: 531018984,\n groupSize: 10,\n groupName: 'Maestro H2H Each Category',\n groupManager: true,\n draftDate: 1,\n draftType: 0,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'http://fantasy.espn.com/baseball/fantasycast?leagueId=531018984&teamId=1',\n href:\n 'http://fantasy.espn.com/baseball/league?leagueId=531018984&seasonId=2025',\n draftTypeName: 'Offline Draft',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/flb/images/default_logos/8.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'http://fantasy.espn.com/baseball/team?leagueId=531018984&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/flb/seasons/2025/segments/0/leagues/531018984?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FLB',\n name: 'Fantasy Baseball 2025',\n description: 'Fantasy Baseball',\n logoURL: 'https://g.espncdn.com/s/frontpage09/images/flb09_index.png',\n signupURL: 'http://fantasy.espn.com/baseball/welcome',\n href: 'https://www.espn.com/fantasy/baseball/',\n currentLineup: {\n '30193': 1,\n '30951': 16,\n '31127': 16,\n '32129': 4,\n '32685': 13,\n '32796': 13,\n '33837': 13,\n '33859': 3,\n '35394': 13,\n '35983': 5,\n '36581': 13,\n '36969': 5,\n '39825': 13,\n '39895': 16,\n '41610': 5,\n '41773': 2,\n '4717803': 13,\n '4917694': 12,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 196,\n },\n contentSourceId: 10,\n sortGlobal: 1405,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:1229401832:2:2025',\n createDate: 1753897386460,\n lastUpdateDate: 1759136303122,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 4,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 3,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_MOST_CATEGORIES',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 2,\n groups: [\n {\n groupId: 1229401832,\n groupSize: 10,\n groupName: 'Maestro H2H Most Categories',\n groupManager: true,\n draftDate: null,\n draftType: 0,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'http://fantasy.espn.com/baseball/fantasycast?leagueId=1229401832&teamId=1',\n href:\n 'http://fantasy.espn.com/baseball/league?leagueId=1229401832&seasonId=2025',\n draftTypeName: 'Offline Draft',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/flb/images/default_logos/8.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'http://fantasy.espn.com/baseball/team?leagueId=1229401832&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/flb/seasons/2025/segments/0/leagues/1229401832?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FLB',\n name: 'Fantasy Baseball 2025',\n description: 'Fantasy Baseball',\n logoURL: 'https://g.espncdn.com/s/frontpage09/images/flb09_index.png',\n signupURL: 'http://fantasy.espn.com/baseball/welcome',\n href: 'https://www.espn.com/fantasy/baseball/',\n currentLineup: {\n '30193': 1,\n '30951': 16,\n '31662': 2,\n '32129': 4,\n '32685': 13,\n '33837': 13,\n '33859': 3,\n '35983': 5,\n '36020': 5,\n '36581': 13,\n '39825': 13,\n '39832': 13,\n '39895': 0,\n '40939': 13,\n '4148749': 16,\n '4297835': 16,\n '4719337': 5,\n '4719507': 13,\n '4917694': 12,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 196,\n },\n contentSourceId: 10,\n sortGlobal: 1406,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:420732386:2:2025',\n createDate: 1753897407707,\n lastUpdateDate: 1759136303134,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 5,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 4,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'TOTAL_SEASON_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 2,\n groups: [\n {\n groupId: 420732386,\n groupSize: 10,\n groupName: 'Maestro Season Points',\n groupManager: true,\n draftDate: 1,\n draftType: 0,\n draftStatus: 2,\n leagueStatus: 5,\n fantasyCastHref:\n 'http://fantasy.espn.com/baseball/fantasycast?leagueId=420732386&teamId=1',\n href:\n 'http://fantasy.espn.com/baseball/league?leagueId=420732386&seasonId=2025',\n draftTypeName: 'Offline Draft',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/flb/images/default_logos/8.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'http://fantasy.espn.com/baseball/team?leagueId=420732386&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/flb/seasons/2025/segments/0/leagues/420732386?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FLB',\n name: 'Fantasy Baseball 2025',\n description: 'Fantasy Baseball',\n logoURL: 'https://g.espncdn.com/s/frontpage09/images/flb09_index.png',\n signupURL: 'http://fantasy.espn.com/baseball/welcome',\n href: 'https://www.espn.com/fantasy/baseball/',\n currentLineup: {\n '30193': 1,\n '31097': 3,\n '31267': 13,\n '32129': 4,\n '32512': 2,\n '32685': 13,\n '32796': 13,\n '33192': 5,\n '33837': 13,\n '36020': 5,\n '36581': 13,\n '38309': 0,\n '39825': 13,\n '39832': 13,\n '40939': 16,\n '42404': 5,\n '4719507': 16,\n '4917694': 12,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 196,\n },\n contentSourceId: 10,\n sortGlobal: 1407,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '1:2046593148:2:2025',\n createDate: 1755632123412,\n lastUpdateDate: 1755831600704,\n metaData: {\n entry: {\n entryId: 1,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 2,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: false,\n scoringTypeId: 1,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'H2H_POINTS',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 2,\n groups: [\n {\n groupId: 2046593148,\n groupSize: 4,\n groupName: 'Undrafted; Scheduled',\n groupManager: true,\n draftDate: null,\n draftType: 4,\n draftStatus: 1,\n leagueStatus: 1,\n fantasyCastHref:\n 'http://fantasy.espn.com/baseball/fantasycast?leagueId=2046593148&teamId=1',\n href:\n 'http://fantasy.espn.com/baseball/league?leagueId=2046593148&seasonId=2025',\n draftTypeName: 'Salary Cap',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/logo-packs/core/StadiumFoods-ESPN/stadium-foods_soft-pretzel.svg',\n restrictionType: 0,\n seasonId: 2025,\n entryURL:\n 'http://fantasy.espn.com/baseball/team?leagueId=2046593148&teamId=1&seasonId=2025',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/flb/seasons/2025/segments/0/leagues/2046593148?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B1%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FLB',\n name: 'Fantasy Baseball 2025',\n description: 'Fantasy Baseball',\n logoURL: 'https://g.espncdn.com/s/frontpage09/images/flb09_index.png',\n signupURL: 'http://fantasy.espn.com/baseball/welcome',\n href: 'https://www.espn.com/fantasy/baseball/',\n restrictionTypeName: 'NONE',\n },\n inSeason: false,\n isLive: false,\n currentScoringPeriodId: 196,\n },\n contentSourceId: 10,\n sortGlobal: 1410,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n {\n id: '2:283659657:4:2026',\n createDate: 1759161335134,\n lastUpdateDate: 1759415709010,\n metaData: {\n entry: {\n entryId: 2,\n entryMetadata: {\n teamName: \"Megan's Magnificent Team\",\n teamAbbrev: 'MMT',\n leagueFormatTypeId: 1,\n leagueSubTypeId: 0,\n customizable: true,\n active: true,\n draftComplete: true,\n scoringTypeId: 0,\n leagueTypeId: 0,\n draftInProgress: false,\n scoringTypeName: 'ROTO',\n leagueSubTypeName: 'NONE',\n },\n firstScoringPeriodId: 1,\n gameId: 4,\n groups: [\n {\n groupId: 283659657,\n groupSize: 6,\n groupName: 'Roto Test League',\n groupManager: false,\n draftDate: 1,\n draftType: 2,\n draftStatus: 2,\n leagueStatus: 3,\n fantasyCastHref:\n 'https://fantasy.espn.com/hockey/fantasycast?leagueId=283659657&teamId=2',\n href:\n 'https://fantasy.espn.com/hockey/league?leagueId=283659657&seasonId=2026',\n draftTypeName: 'Autopick',\n },\n ],\n logoType: 'VECTOR',\n logoUrl:\n 'https://g.espncdn.com/lm-static/fhl/images/default_logos/6.svg',\n restrictionType: 0,\n seasonId: 2026,\n entryURL:\n 'https://fantasy.espn.com/hockey/team?leagueId=283659657&teamId=2&seasonId=2026',\n scoreboardFeedURL:\n 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/fhl/seasons/2026/segments/0/leagues/283659657?view=scoreboard&filter=%7B%22schedule%22%3A%7B%22filterTeamIds%22%3A%7B%22value%22%3A%5B2%5D%7D%2C%22filterCurrentMatchupPeriod%22%3A%7B%22value%22%3Atrue%7D%7D%7D&peek=true',\n abbrev: 'FHL',\n name: 'Fantasy Hockey 2026',\n description: 'Fantasy Hockey',\n logoURL:\n 'https://g.espncdn.com/s/fhllm/14/images/shell/bgHead_leaguemanager.png',\n signupURL: 'https://fantasy.espn.com/hockey/welcome',\n href: 'https://www.espn.com/fantasy/hockey/',\n lineup: {\n proGameToNumPlayersStarting: {\n '401802606': 1,\n '401802605': 1,\n '401802604': 2,\n },\n },\n currentLineup: {\n '3101': 3,\n '5037': 3,\n '5349': 3,\n '2590852': 3,\n '2967072': 7,\n '3020225': 5,\n '3069341': 4,\n '3527554': 7,\n '3899937': 3,\n '3899972': 4,\n '3904177': 7,\n '3988803': 4,\n '4196914': 5,\n '4233594': 3,\n '4233875': 3,\n '4697386': 4,\n '4697397': 3,\n '4697449': 4,\n '4874740': 7,\n '5080145': 7,\n '5149170': 6,\n '5206628': 3,\n },\n restrictionTypeName: 'NONE',\n },\n inSeason: true,\n isLive: false,\n currentScoringPeriodId: 35,\n },\n contentSourceId: 10,\n sortGlobal: 1411,\n isHidden: false,\n typeId: 9,\n type: {\n id: 9,\n name: 'Fantasy League Manager',\n code: 'fantasy',\n isDeletable: false,\n isDelegated: false,\n maxAllowed: 500,\n },\n bu: 0,\n },\n ],\n fantasyData: {\n totalFantasyLeagues: 23,\n leaguesBySportLeague: {\n NFL: 8,\n MLB: 8,\n NBA: 2,\n NHL: 1,\n WNBA: 4,\n },\n totalChallengeEntries: 7,\n challengeInformation: [\n {\n id: 263,\n gameType: 'PICKEM',\n challengeName: 'Pigskin Win Totals',\n challengeAbbrev: 'Pigskin Win Totals',\n scoringFormatIds: [1],\n state: 'LIVE',\n logoUrls: {\n logo:\n 'https://chui-assets-cdn.espn.com/149a15a7-10e7-421a-ae38-d7ff4df3f8de.png',\n logoDark:\n 'https://chui-assets-cdn.espn.com/1ab5b81f-0114-4ef0-aced-a096cfa487b1.png',\n logo1x1:\n 'https://chui-assets-cdn.espn.com/10dfa661-6adc-41c2-b391-9ae64baf1b50.png',\n logo1x1Dark:\n 'https://chui-assets-cdn.espn.com/10dfa661-6adc-41c2-b391-9ae64baf1b50.png',\n },\n mappings: [\n {\n type: 'SPORT',\n value: 'football',\n },\n {\n type: 'LEAGUE',\n value: 'nfl',\n },\n ],\n userEntryCount: 1,\n },\n {\n id: 264,\n gameType: 'CONTESTANT_POOL',\n challengeName: 'Eliminator Challenge 2025',\n challengeAbbrev: 'Eliminator Challenge',\n scoringFormatIds: [4],\n state: 'LIVE',\n logoUrls: {\n logo:\n 'https://chui-assets-cdn.espn.com/4ae2d3e1-ce2d-4ff0-b3f2-57e966c3e9c8.png',\n logoDark:\n 'https://chui-assets-cdn.espn.com/4beecd18-7bb5-441b-913c-a1ac5f12b893.png',\n logo1x1:\n 'https://chui-assets-cdn.espn.com/28fdbb06-fff0-45f4-a1fe-d09c1393302a.png',\n logo1x1Dark:\n 'https://chui-assets-cdn.espn.com/28fdbb06-fff0-45f4-a1fe-d09c1393302a.png',\n },\n mappings: [\n {\n type: 'SPORT',\n value: 'football',\n },\n {\n type: 'LEAGUE',\n value: 'nfl',\n },\n ],\n userEntryCount: 3,\n },\n {\n id: 265,\n gameType: 'PICKEM',\n challengeName: \"Pigskin Pick'em 2025\",\n challengeAbbrev: \"Pigskin Pick'em\",\n scoringFormatIds: [1, 3, 2],\n state: 'LIVE',\n logoUrls: {\n logo:\n 'https://chui-assets-cdn.espn.com/08166f17-1808-4634-b21a-66629878274c.png',\n logoDark:\n 'https://chui-assets-cdn.espn.com/213d8b5f-6117-480c-b160-4a3993a3c88e.png',\n logo1x1:\n 'https://chui-assets-cdn.espn.com/e06aca34-f148-4f1e-87e0-4c1d7492cc42.png',\n logo1x1Dark:\n 'https://chui-assets-cdn.espn.com/e06aca34-f148-4f1e-87e0-4c1d7492cc42.png',\n },\n mappings: [\n {\n type: 'SPORT',\n value: 'football',\n },\n {\n type: 'LEAGUE',\n value: 'nfl',\n },\n ],\n userEntryCount: 3,\n },\n {\n id: 266,\n gameType: 'PICKEM',\n challengeName: \"College Pick'em 2025\",\n challengeAbbrev: \"College Pick'em\",\n scoringFormatIds: [1, 3, 2],\n state: 'LIVE',\n logoUrls: {\n logo:\n 'https://chui-assets-cdn.espn.com/056a9567-dae4-4185-b4d6-a723df87f988.png',\n logoDark:\n 'https://chui-assets-cdn.espn.com/780faa3b-eda2-4b06-a276-b218c586901c.png',\n logo1x1:\n 'https://chui-assets-cdn.espn.com/c7f88874-19f6-4352-a54b-60f7d94bed2f.png',\n logo1x1Dark:\n 'https://chui-assets-cdn.espn.com/c7f88874-19f6-4352-a54b-60f7d94bed2f.png',\n },\n mappings: [\n {\n type: 'SPORT',\n value: 'football',\n },\n {\n type: 'LEAGUE',\n value: 'college-football',\n },\n ],\n userEntryCount: 0,\n },\n {\n id: 269,\n gameType: 'BRACKET',\n challengeName: 'CFP Bracket Challenge',\n challengeAbbrev: 'CFP Bracket Challenge',\n scoringFormatIds: [5],\n state: 'LANDER',\n logoUrls: {\n logo:\n 'https://chui-assets-cdn.espn.com/2fb0bf85-e01c-40a9-88b1-3421d30fe3b2.png',\n logoDark:\n 'https://chui-assets-cdn.espn.com/09fec69d-94e1-4c8f-9bb4-0610009999dd.png',\n logo1x1:\n 'https://chui-assets-cdn.espn.com/40159d72-8861-450f-926a-a493947b47b1.png',\n logo1x1Dark:\n 'https://chui-assets-cdn.espn.com/40159d72-8861-450f-926a-a493947b47b1.png',\n },\n mappings: [\n {\n type: 'SPORT',\n value: 'football',\n },\n {\n type: 'LEAGUE',\n value: 'college-football',\n },\n ],\n userEntryCount: 0,\n },\n {\n id: 270,\n gameType: 'PICKEM',\n challengeName: 'Capital One Bowl Mania 2025',\n challengeAbbrev: 'Capital One Bowl Mania',\n scoringFormatIds: [1, 3, 2],\n state: 'LANDER',\n logoUrls: {\n logo:\n 'https://chui-assets-cdn.espn.com/3862fdaa-aad9-417b-a471-7041697a1c7d.png',\n logoDark:\n 'https://chui-assets-cdn.espn.com/3862fdaa-aad9-417b-a471-7041697a1c7d.png',\n logo1x1:\n 'https://chui-assets-cdn.espn.com/a7cd3fde-d093-4375-917a-f983291d2481.jpeg',\n logo1x1Dark:\n 'https://chui-assets-cdn.espn.com/a7cd3fde-d093-4375-917a-f983291d2481.jpeg',\n },\n mappings: [\n {\n type: 'SPORT',\n value: 'football',\n },\n {\n type: 'LEAGUE',\n value: 'college-football',\n },\n ],\n userEntryCount: 0,\n },\n ],\n challengeScoreboardEnabled: true,\n leagueScoreboardEnabled: {\n '1': true,\n '2': true,\n '3': true,\n '4': true,\n '5': true,\n },\n },\n};\n","import { Observable } from '@/helpers/Observable';\nimport AnalyticsService from '@/services/AnalyticsService/AnalyticsService';\nimport IMaestroEventDelegate from '@/interfaces/IMaestroEventDelegate';\nimport { captureException } from '@/sentry';\nimport SDK from '@/index';\nimport FantasyService from '@/modules/espn/fantasy/services/FantasyService';\nimport {\n IFantasyResponse,\n ILeagueManagerResponse,\n ILeagueManagerRotoResponse,\n IPromoResponse,\n isLeagueManagerHeadToHeadResponse,\n isLeagueManagerRotoResponse,\n Player,\n Preference,\n TournamentBracketCardItem,\n FantasyHeaderItem,\n TournamentChallenge,\n TournamentOverflowQRItem,\n} from '../types';\n\nimport FantasyPolling from './FantasyViewModel.FantasyPolling';\nimport LeagueManagerPolling from './FantasyViewModel.LeagueManagerPolling';\nimport TournamentPolling from './FantasyViewModel.TournamentPolling';\nimport { slugify, stringHashCode } from '@/helpers/strings';\nimport { MOCK_FANTASY_RESPONSE } from '../mocks';\n\ntype NotLoggedInFantasyItem = {\n id: string;\n type: 'notLoggedIn';\n};\n\nexport type PromoFantasyItem = {\n id: string;\n type: 'promo';\n background: string;\n logo: string;\n qrCode: string;\n title: string;\n description: string;\n};\n\nexport type InactiveLeague = {\n id: string;\n type: 'inactiveLeague';\n leagueName: string;\n draftDate?: number;\n leagueLogo: string;\n leagueColor: string;\n};\n\ntype MatchupSingleTeam = {\n points: number;\n logo: string;\n scoringType: string;\n};\n\nexport type MatchupSingleRoster = {\n athleteHeadshot: string;\n athleteAbbrevName: string;\n athletesSlot: string;\n teamTriCode: string;\n proGameStatusLines: string[];\n};\n\nexport type MatchupActiveAthlete = {\n abbrevName: string;\n points: string;\n};\n\nexport type MatchupSingleItem = {\n id: string;\n type: 'matchup-single';\n league: {\n title: string;\n subtitle: string | undefined;\n color: string;\n logo: string;\n };\n team: MatchupSingleTeam;\n roster: MatchupSingleRoster[];\n activeAthletes: MatchupActiveAthlete[];\n topPlayers: TopPlayer[];\n};\n\nexport type TopPlayer = {\n abbrevName: string;\n headshot: string;\n position: string;\n teamTriCode: string;\n points: number;\n rosteredBy: string;\n};\n\ntype MatchupPairTeam = {\n name: string | undefined;\n record: string | undefined;\n points: string | undefined;\n projectedPoints: string | undefined;\n logo: string | undefined;\n winProbability: number | undefined;\n};\n\ntype MatchupPairRosterData = {\n headshot: string;\n abbrevName: string;\n slot: string;\n triCode: string;\n points?: number;\n projectedPoints?: number;\n stats: string[];\n};\n\nexport type MatchupPairRoster = {\n away: MatchupPairRosterData;\n home: MatchupPairRosterData;\n};\n\nexport type MatchupPairItem = {\n id: string;\n type: 'matchup-pair';\n league: {\n title: string | undefined;\n subtitle: string | undefined;\n color: string;\n logo: string;\n };\n awayTeam: MatchupPairTeam;\n homeTeam: MatchupPairTeam;\n roster: MatchupPairRoster[];\n activeAthletes: MatchupActiveAthlete[];\n topPlayers: TopPlayer[];\n};\n\nexport type FantasyItem =\n | NotLoggedInFantasyItem\n | PromoFantasyItem\n | MatchupPairItem\n | MatchupSingleItem\n | InactiveLeague\n | TournamentBracketCardItem\n | FantasyHeaderItem\n | FantasyGroupItem\n | TournamentOverflowQRItem;\n\nexport type FantasyGroupItem = {\n type: 'fantasy-group';\n id: string;\n header: FantasyHeaderItem;\n items: FantasyItem[];\n};\n\nconst FANTASY_ERROR_STATE = {\n NONE: 'none',\n TAB_LOAD_FAILURE: 'tabLoadFailure',\n} as const;\nexport type FantasyErrorState = typeof FANTASY_ERROR_STATE[keyof typeof FANTASY_ERROR_STATE];\n\nexport class FantasyViewModel {\n // Observable properties\n public fantasyItems = new Observable<FantasyItem[]>([]);\n public isDataLoading = new Observable<boolean>(false);\n public hasEverSuccessfullyLoaded = new Observable<boolean>(false);\n public isLoadingTc = new Observable<boolean>(false);\n\n // Properties\n private eventId: string;\n private delegate: IMaestroEventDelegate;\n private analyticsService: AnalyticsService;\n private fantasyService: FantasyService;\n private fantasyPolling: FantasyPolling;\n private leagueManagerPolling: LeagueManagerPolling;\n private tournamentPolling: TournamentPolling;\n public errorState = new Observable<FantasyErrorState>('none');\n private leagueSortOrder: Map<string, number> = new Map();\n private itemToLeagueKey: Map<string, string> = new Map();\n private useMockData: boolean = false;\n private _promoData: IPromoResponse | null = null;\n\n private _fantasyLeagues: (\n | MatchupPairItem\n | MatchupSingleItem\n | InactiveLeague\n )[] = [];\n\n private _tournamentChallenges: FantasyGroupItem[] = [];\n private _promoItem: PromoFantasyItem | null = null;\n private _tcProcessingCount: number = 0;\n\n constructor(\n eventId: string,\n delegate: IMaestroEventDelegate,\n analyticsService: AnalyticsService,\n options: {\n useMockData?: boolean;\n } = {}\n ) {\n this.useMockData = options.useMockData || false;\n this.eventId = eventId;\n this.delegate = delegate;\n this.analyticsService = analyticsService;\n this.fantasyService = new FantasyService();\n this.fantasyPolling = new FantasyPolling(this.fantasyService);\n this.leagueManagerPolling = new LeagueManagerPolling(this.fantasyService);\n this.tournamentPolling = new TournamentPolling(this.fantasyService);\n }\n\n /**\n * Initialize the ViewModel and start data fetching\n */\n async init(): Promise<void> {\n // Track panel view on initialization\n this.trackPanelView();\n await this.fetchData();\n }\n\n private handleFetchError(\n error: Error,\n context: string = 'FantasyViewModel.fetchData'\n ): void {\n captureException(error, { context });\n console.error('[FANTASY] Error in ' + context + ':', error);\n this.isDataLoading.value = false;\n if (!this.hasEverSuccessfullyLoaded.value) {\n this.errorState.value = 'tabLoadFailure';\n }\n }\n\n private async fetchData() {\n try {\n this.isDataLoading.value = true;\n\n const isAuthenticated = await this.delegate.userIsAuthenticated();\n if (!isAuthenticated) {\n this.isDataLoading.value = false;\n this.append({\n id: 'not-logged-in',\n type: 'notLoggedIn',\n });\n return;\n } else if (\n this.fantasyItems.value.find((i) => i.type === 'notLoggedIn')\n ) {\n this.fantasyItems.value = [];\n }\n\n const swid = (await this.delegate.getUserSWID()) || '';\n const jwt = (await this.delegate.getUserToken()) || '';\n\n if (this.useMockData) {\n await this.fetchMockData();\n return;\n } else {\n await this.fantasyPolling.refresh(\n {\n eventId: this.eventId,\n swid,\n jwt,\n },\n this.processFantasy.bind(this),\n this.handleFetchError.bind(this)\n );\n }\n } catch (error) {\n this.handleFetchError(error as Error);\n }\n }\n\n onEngage(type: FantasyItem['type']) {\n this.analyticsService.panelClick({\n type: 'espnFantasy',\n name: 'fantasy_item_clicked',\n metadata: {\n card: type,\n },\n });\n }\n\n onAskLogin() {\n this.fantasyItems.value = [];\n this.delegate.onPanelEvent({\n type: 'fantasy:request:login',\n payload: {\n onLoginSuccess: async () => {\n await this.fetchData();\n },\n },\n });\n }\n\n /**\n * Clean up resources when the ViewModel is no longer needed\n */\n cleanup(): void {\n this.fantasyPolling.stop();\n this.fantasyPolling.removeLastResponseHash();\n this.leagueManagerPolling.stopAll();\n this.tournamentPolling.stopAll();\n this.leagueSortOrder.clear();\n this.itemToLeagueKey.clear();\n this._fantasyLeagues = [];\n this._tournamentChallenges = [];\n this._promoItem = null;\n this._tcProcessingCount = 0;\n this.isLoadingTc.value = false;\n this.fantasyItems.value = [];\n this.hasEverSuccessfullyLoaded.value = false;\n }\n\n /**\n * Track panel view event\n */\n private async trackPanelView(): Promise<void> {\n try {\n await this.analyticsService.panelView('espnFantasy');\n } catch (error) {\n captureException(error, {\n context: 'FantasyViewModel.trackPanelView',\n });\n console.error('[FANTASY] Error tracking panel view:', error);\n }\n }\n\n private async processFantasy(data: IFantasyResponse) {\n try {\n const token = (await this.delegate.getUserToken()) || '';\n this.leagueManagerPolling.stopAll();\n this.tournamentPolling.stopAll();\n\n // Check hide_pickems flag from panel config\n const config = SDK.getPageConfig();\n const panel = config?.panels?.find((p) => p.panel_type === 'espnFantasy');\n const hidePickems = panel?.renderer?.block_data?.hide_pickems || false;\n\n const hasChallenges =\n (data.fantasyData?.challengeInformation || []).length > 0;\n\n const noData =\n (data.fantasyData?.totalChallengeEntries || 0) +\n (data.fantasyData?.totalFantasyLeagues || 0) ===\n 0;\n\n // Clear and rebuild the sort order map based on preferences array order\n this.leagueSortOrder.clear();\n this.itemToLeagueKey.clear();\n // Clear internal lists on full refresh\n this._fantasyLeagues = [];\n this._tournamentChallenges = [];\n\n if (!hidePickems && hasChallenges) {\n this.isLoadingTc.value = true;\n data.fantasyData?.challengeInformation?.forEach((challenge) => {\n if (challenge.gameType === 'BRACKET') {\n this._tcProcessingCount++;\n const key = `tc-${challenge.id}-${token}`;\n this.tournamentPolling.refresh(\n key,\n {\n challengeId: String(challenge.id),\n competitionId: this.eventId,\n token,\n },\n (data) => {\n this.parseTournamentChallenge(data);\n this._tcProcessingCount--;\n if (this._tcProcessingCount === 0) {\n this.isLoadingTc.value = false;\n this.rebuildFantasyItems();\n }\n },\n (error: Error) => {\n this.handleFetchError(\n error,\n 'FantasyViewModel.processFantasy.tournamentChallenge'\n );\n }\n );\n }\n });\n // If no BRACKET challenges were found, set isLoadingTc back to false\n if (this._tcProcessingCount === 0) {\n this.isLoadingTc.value = false;\n }\n } else {\n this.isLoadingTc.value = false;\n }\n if (noData || (data.preferences || []).length === 0) {\n const promo = await this.getPromoData();\n if (promo) {\n this._promoItem = {\n id: 'promo',\n type: 'promo',\n background: promo.fantasy.promotion.background,\n description: promo.fantasy.promotion.description,\n logo: promo.fantasy.promotion.logo,\n qrCode: promo.fantasy.promotion.qrCode,\n title: promo.fantasy.promotion.title,\n };\n }\n }\n\n for (let i = 0; i < (data.preferences || []).length; i++) {\n const pref = data.preferences![i];\n const entry = pref.metaData?.entry || {};\n const game = entry.abbrev;\n const seasonId = entry.seasonId;\n const leagueId = entry.groups?.[0]?.groupId;\n const draftDate = entry.groups?.[0]?.draftDate;\n\n if (!game || !seasonId || !leagueId || !entry.entryId) {\n continue;\n }\n\n const key = `${game}-${leagueId}-${seasonId}-${token}`;\n\n // Store the array index as the sort order for this league\n this.leagueSortOrder.set(key, i);\n\n this.leagueManagerPolling.refresh(\n key,\n {\n game,\n leagueId,\n seasonId,\n token,\n proGameId: this.eventId,\n teamId: entry.entryId,\n },\n (data) => {\n if (entry.entryMetadata?.draftComplete === false) {\n this.append(this.parseInactiveLeague(data, draftDate), key);\n } else if (isLeagueManagerHeadToHeadResponse(data)) {\n const items = this.parseHeadToHead(data, pref);\n\n if (items) {\n for (const item of items) {\n this.append(item, key);\n }\n }\n } else if (isLeagueManagerRotoResponse(data)) {\n const items = this.parseRoto(data, pref);\n if (items) {\n for (const item of items) {\n this.append(item, key);\n }\n }\n }\n },\n (error: Error) => {\n this.handleFetchError(\n error,\n 'FantasyViewModel.processFantasy.leagueManager'\n );\n }\n );\n }\n\n // Mark successful load\n this.hasEverSuccessfullyLoaded.value = true;\n this.errorState.value = 'none';\n this.isDataLoading.value = false;\n\n // Initial rebuild even if empty, to ensure state is clean\n this.rebuildFantasyItems();\n } catch (error) {\n this.handleFetchError(error as Error, 'FantasyViewModel.processFantasy');\n }\n }\n\n private parseRoto(\n data: ILeagueManagerRotoResponse,\n preference: Preference\n ): FantasyItem[] | null {\n if (\n !data.matchups?.length ||\n !data.leagueName ||\n !data.scoringType ||\n !data.gameId\n ) {\n return null;\n }\n\n const items: MatchupSingleItem[] = [];\n for (const matchup of data.matchups) {\n if (!matchup.teams?.length) {\n continue;\n }\n\n const team = matchup.teams[0];\n\n if (\n !team.logo ||\n !data.sportLogo ||\n !data.sportColor ||\n team.points === undefined\n ) {\n continue;\n }\n\n const roster = team.roster || [];\n const matchupRoster: MatchupSingleRoster[] = [];\n const activeAthletes: MatchupActiveAthlete[] = [];\n\n for (const r of roster) {\n if (!r.player) {\n continue;\n }\n\n if (\n !r.player.abbrevName ||\n !r.player.headshot ||\n !r.player.proTeam?.triCode ||\n !r.slot\n ) {\n continue;\n }\n\n matchupRoster.push({\n athleteHeadshot: r.player.headshot,\n athleteAbbrevName: r.player.abbrevName,\n athletesSlot: r.slot,\n teamTriCode: r.player.proTeam.triCode,\n proGameStatusLines: r.player.proGameStatusLines || [],\n });\n\n if (r.player.currentlyWatching && r.player.points !== undefined) {\n activeAthletes.push({\n abbrevName: r.player.abbrevName,\n points: `${r.player.points} FPTS`,\n });\n }\n }\n\n items.push({\n id: stringHashCode(JSON.stringify(preference)).toString(),\n type: 'matchup-single',\n topPlayers: this.parseTopPlayers(data.topPlayers || []),\n league: {\n color: data.sportColor,\n logo: data.sportLogo,\n subtitle: data.name,\n title: data.leagueName,\n },\n team: {\n logo: team.logo,\n scoringType: data.scoringType.includes('SEASON')\n ? 'SEASON'\n : data.scoringType,\n points: team.points,\n },\n roster: matchupRoster,\n activeAthletes,\n });\n }\n return items;\n }\n\n append(item: FantasyItem | null, leagueKey?: string) {\n if (!item) {\n return;\n }\n\n if (item.type === 'notLoggedIn') {\n this.fantasyItems.value = [item];\n return;\n }\n\n if (item.type === 'promo') {\n this._promoItem = item;\n }\n\n // Store the league key for this item if provided\n if (leagueKey) {\n this.itemToLeagueKey.set(item.id, leagueKey);\n }\n\n if (\n item.type === 'matchup-pair' ||\n item.type === 'matchup-single' ||\n item.type === 'inactiveLeague'\n ) {\n const existingItemIndex = this._fantasyLeagues.findIndex(\n (i) => i.id === item.id\n );\n if (existingItemIndex !== -1) {\n this._fantasyLeagues[existingItemIndex] = item;\n } else {\n this._fantasyLeagues.push(item);\n }\n\n // Sort items inside the group\n this._fantasyLeagues.sort((a, b) => {\n const keyA = this.itemToLeagueKey.get(a.id);\n const keyB = this.itemToLeagueKey.get(b.id);\n const orderA =\n keyA !== undefined\n ? this.leagueSortOrder.get(keyA) ?? Number.MAX_SAFE_INTEGER\n : Number.MAX_SAFE_INTEGER;\n const orderB =\n keyB !== undefined\n ? this.leagueSortOrder.get(keyB) ?? Number.MAX_SAFE_INTEGER\n : Number.MAX_SAFE_INTEGER;\n return orderA - orderB;\n });\n }\n\n const existingGroupIndex = this._tournamentChallenges.findIndex(\n (g) => g.id === leagueKey\n );\n\n if (item.type === 'fantasy-header') {\n if (existingGroupIndex !== -1) {\n this._tournamentChallenges[existingGroupIndex].header = item;\n } else if (leagueKey) {\n this._tournamentChallenges.push({\n type: 'fantasy-group',\n id: leagueKey,\n header: item,\n items: [],\n });\n }\n } else if (\n item.type === 'tournament-bracket-card' ||\n item.type === 'tournament-overflow-qr'\n ) {\n if (existingGroupIndex !== -1) {\n const group = this._tournamentChallenges[existingGroupIndex];\n const existingItemIndex = group.items.findIndex(\n (i) => i.id === item.id\n );\n if (existingItemIndex !== -1) {\n group.items[existingItemIndex] = item;\n } else {\n group.items.push(item);\n }\n } else if (leagueKey) {\n this._tournamentChallenges.push({\n type: 'fantasy-group',\n id: leagueKey,\n header: {\n type: 'fantasy-header',\n id: `${leagueKey}-header`,\n title: '',\n }, // Placeholder\n items: [item],\n });\n }\n }\n\n this.rebuildFantasyItems();\n }\n\n private rebuildFantasyItems() {\n const items: FantasyItem[] = [];\n\n if (this._tournamentChallenges.length > 0) {\n items.push(...this._tournamentChallenges);\n }\n\n if (this._fantasyLeagues.length > 0) {\n items.push({\n type: 'fantasy-group',\n id: 'header-fantasy-leagues-group',\n header: {\n type: 'fantasy-header',\n id: 'header-fantasy-leagues',\n title: 'Fantasy Leagues',\n },\n items: this._fantasyLeagues,\n });\n }\n\n if (\n this._promoItem &&\n this._tournamentChallenges.length === 0 &&\n this._fantasyLeagues.length === 0 &&\n items.length === 0 &&\n !this.isLoadingTc.value\n ) {\n items.push(this._promoItem);\n }\n\n this.fantasyItems.value = items;\n }\n\n private parseHeadToHead(\n data: ILeagueManagerResponse,\n preference: Preference\n ): FantasyItem[] | null {\n if (\n !data.matchups?.length ||\n !data.leagueName ||\n !data.sportColor ||\n !data.sportLogo ||\n !data.gameId\n ) {\n return null;\n }\n\n const items: MatchupPairItem[] = [];\n for (const matchup of data.matchups) {\n if (!matchup.home || !matchup.away) {\n continue;\n }\n\n const roster: MatchupPairRoster[] = [];\n const activeAthletes: MatchupActiveAthlete[] = [];\n const homeRoster = matchup.home.roster || [];\n const awayRoster = matchup.away.roster || [];\n\n for (let i = 0; i < awayRoster.length; i++) {\n const singleAwayRoster = awayRoster[i];\n const singleHomeRoster = homeRoster[i];\n\n if (!singleAwayRoster.player || !singleHomeRoster.player) continue;\n if (\n !singleAwayRoster.player.abbrevName ||\n !singleAwayRoster.player.headshot ||\n !singleAwayRoster.slot ||\n !singleAwayRoster.player.proTeam?.triCode ||\n !matchup.away?.record\n ) {\n continue;\n }\n\n if (\n !singleHomeRoster.player.abbrevName ||\n !singleHomeRoster.player.headshot ||\n !singleHomeRoster.slot ||\n !singleHomeRoster.player.proTeam?.triCode ||\n !matchup.home?.record\n ) {\n continue;\n }\n\n roster.push({\n away: {\n abbrevName: singleAwayRoster.player.abbrevName,\n headshot: singleAwayRoster.player.headshot,\n points: singleAwayRoster.player.points,\n slot: singleAwayRoster.slot,\n stats: singleAwayRoster.player.proGameStatusLines || [],\n triCode: singleAwayRoster.player.proTeam.triCode,\n projectedPoints: singleAwayRoster.player.projectedPoints,\n },\n home: {\n abbrevName: singleHomeRoster.player.abbrevName,\n headshot: singleHomeRoster.player.headshot,\n points: singleHomeRoster.player.points,\n slot: singleHomeRoster.slot,\n stats: singleHomeRoster.player.proGameStatusLines || [],\n triCode: singleHomeRoster.player.proTeam?.triCode,\n projectedPoints: singleHomeRoster.player.projectedPoints,\n },\n });\n\n if (\n singleHomeRoster.player.currentlyWatching &&\n singleHomeRoster.player.points !== undefined\n ) {\n activeAthletes.push({\n abbrevName: singleHomeRoster.player.abbrevName,\n points: `${singleHomeRoster.player.points} FPTS`,\n });\n }\n }\n\n items.push({\n id: stringHashCode(JSON.stringify(preference)).toString(),\n type: 'matchup-pair',\n awayTeam: {\n logo: matchup.away.logo,\n name: matchup.away.name,\n points:\n data.scoringType === 'H2H_POINTS'\n ? String(matchup.away.points)\n : matchup.away.score,\n projectedPoints: matchup.away.projectedPoints,\n record: matchup.away.record,\n winProbability: matchup.away.winProbability,\n },\n homeTeam: {\n logo: matchup.home.logo,\n name: matchup.home.name,\n points:\n data.scoringType === 'H2H_POINTS'\n ? String(matchup.home.points)\n : matchup.home.score,\n projectedPoints: matchup.home.projectedPoints,\n record: matchup.home.record,\n winProbability: matchup.home.winProbability,\n },\n league: {\n color: data.sportColor,\n logo: data.sportLogo,\n subtitle: matchup.name,\n title: data.leagueName,\n },\n roster,\n activeAthletes,\n topPlayers: this.parseTopPlayers(data.topPlayers || []),\n });\n }\n\n return items;\n }\n\n private parseTopPlayers(players: Player[]): TopPlayer[] {\n const topPlayers: TopPlayer[] = [];\n\n for (const p of players) {\n if (\n !p.abbrevName ||\n !p.headshot ||\n !p.proTeam?.triCode ||\n p.points === undefined\n ) {\n continue;\n }\n\n let rosteredBy = '';\n if (\n p.percentRostered !== undefined &&\n p.percentRostered > 0 &&\n p.playerStatus?.startsWith('Rostered')\n ) {\n rosteredBy = p.playerStatus;\n }\n\n topPlayers.push({\n abbrevName: p.abbrevName,\n headshot: p.headshot,\n position: p.positions?.split(',')[0] || '',\n teamTriCode: p.proTeam.triCode,\n points: p.points,\n rosteredBy,\n });\n }\n\n return topPlayers;\n }\n\n private parseInactiveLeague(\n data: ILeagueManagerResponse | ILeagueManagerRotoResponse,\n draftDate?: number | string | null\n ): InactiveLeague | null {\n if (!data.sportColor || !data.sportLogo || !data.leagueName) {\n return null;\n }\n\n let draftDateNum: number | undefined = undefined;\n if (draftDate) {\n const parsedDate = new Date(Number(draftDate));\n if (!isNaN(parsedDate.getTime())) {\n draftDateNum = parsedDate.getTime();\n }\n }\n\n return {\n id: slugify(`${data.gameId}-inactive-${data.leagueName}`),\n leagueColor: data.sportColor,\n leagueLogo: data.sportLogo,\n leagueName: data.leagueName,\n type: 'inactiveLeague',\n draftDate: draftDateNum,\n };\n }\n\n private async getPromoData(): Promise<IPromoResponse | null> {\n if (this._promoData) {\n return this._promoData;\n }\n\n try {\n this._promoData = await this.fantasyService.getPromo();\n return this._promoData;\n } catch (error) {\n captureException(error, {\n context: 'FantasyViewModel.getPromoData',\n });\n return null;\n }\n }\n\n private async parseTournamentChallenge(data: TournamentChallenge) {\n if (!data.id) {\n return;\n }\n\n let validEntries = data.entries?.filter((entry) => entry.id) || [];\n\n if (validEntries.length === 0) {\n return;\n }\n\n const header: FantasyHeaderItem = {\n type: 'fantasy-header',\n id: `${data.id}-header`,\n title: data.name || 'Tournament Challenge',\n };\n this.append(header, data.id);\n\n const existingGroupIndex = this._tournamentChallenges.findIndex(\n (g) => g.id === data.id\n );\n if (existingGroupIndex !== -1) {\n this._tournamentChallenges[existingGroupIndex].items = [];\n }\n\n const totalEntries = validEntries.length;\n const entriesToShow = validEntries.slice(0, 5);\n\n for (const entry of entriesToShow) {\n let userPickName: string | undefined;\n\n if (data.propositions && entry.picks) {\n for (const pick of entry.picks) {\n if (!pick.propositionId || !pick.outcomeId) continue;\n\n const proposition = data.propositions.find(\n (p) => p.id === pick.propositionId\n );\n\n if (proposition && proposition.outcomes) {\n const outcome = proposition.outcomes.find(\n (o) => o.id === pick.outcomeId\n );\n\n if (outcome && outcome.name) {\n userPickName = outcome.name;\n break;\n }\n }\n }\n }\n\n const card: TournamentBracketCardItem = {\n type: 'tournament-bracket-card',\n id: entry.id!,\n name: entry.name || '',\n rank: entry.rank || 0,\n score: entry.score || 0,\n percentile: Math.round((entry.percentile || 0) * 100),\n entryStatusIcon: entry.entryStatusIcon || '',\n finalPick: entry.finalPick\n ? {\n propositionId: entry.finalPick.propositionId,\n outcomeId: entry.finalPick.outcomeId,\n primaryLogo: (entry.finalPick as any).outcomePicked?.primaryLogo,\n secondaryLogo: (entry.finalPick as any).outcomePicked\n ?.secondaryLogo,\n result: entry.finalPick.result,\n }\n : { propositionId: '', outcomeId: '' },\n isComplete: entry.isComplete || false,\n picks: entry.picks,\n tournamentId: data.id,\n tournamentAbbrev: data.abbrev || '',\n tournamentLogo: data.logo || '',\n propositions: data.propositions,\n userPickName,\n };\n this.append(card, data.id);\n }\n\n if (totalEntries > 5 && data.state === 'LIVE') {\n const promoData = await this.getPromoData();\n const isLocked = data.locked === true;\n const qrCodeVariant = isLocked ? 'tc-live' : 'tc-pre';\n const promoVariant = promoData?.[qrCodeVariant];\n\n if (promoVariant) {\n const overflowQR: TournamentOverflowQRItem = {\n type: 'tournament-overflow-qr',\n id: `${data.id}-overflow`,\n background: promoVariant.promotion.background,\n logo: promoVariant.promotion.logo,\n qrCode: promoVariant.promotion.qrCode,\n title: promoVariant.promotion.title,\n description: promoVariant.promotion.description,\n tournamentId: data.id,\n };\n this.append(overflowQR, data.id);\n }\n }\n }\n\n /**\n * Fetch mock data for testing\n */\n private async fetchMockData(): Promise<void> {\n this.hasEverSuccessfullyLoaded.value = true;\n await this.processFantasy(MOCK_FANTASY_RESPONSE);\n this.errorState.value = 'none';\n this.isDataLoading.value = false;\n }\n\n clearTabLoadFailure() {\n this.errorState.value = 'none';\n // Small delay to allow UI to update before refetching\n setTimeout(() => {\n this.fetchData();\n }, 100);\n }\n\n setDataToPanel(data: Record<string, any>) {\n if (data.leagueManagerOverrideBaseUrl) {\n this.fantasyService.leagueManagerOverrideBaseUrl =\n data.leagueManagerOverrideBaseUrl;\n }\n\n if (data.fantasyOverrideBaseUrl) {\n this.fantasyService.fantasyOverrideBaseUrl = data.fantasyOverrideBaseUrl;\n }\n\n if (data.gambitOverrideBaseUrl) {\n this.fantasyService.gambitOverrideBaseUrl = data.gambitOverrideBaseUrl;\n }\n }\n}\n\nexport default FantasyViewModel;\n"],"sourceRoot":""}