@maestro_io/maestro-web-sdk 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/MaestroEventDelegate.d.ts +1 -0
  2. package/dist/components/atoms/Rive/index.d.ts +1 -0
  3. package/dist/components/atoms/SvgIcon/Icon.d.ts +0 -2
  4. package/dist/components/core/ScrollableContainer/ScrollableContainer.d.ts +3 -1
  5. package/dist/components/molecules/ActionButton/ActionButton.d.ts +1 -0
  6. package/dist/components/molecules/PanelNavButton/PanelNavButton.d.ts +1 -0
  7. package/dist/components/organisms/SegmentController/SegmentController.d.ts +2 -2
  8. package/dist/external/spatial-navigation/index.d.ts +2 -3
  9. package/dist/external/spatial-navigation/spatialNavigation.d.ts +3 -5
  10. package/dist/external/spatial-navigation/withFocusable.d.ts +1 -0
  11. package/dist/interfaces/IMaestroEvent.d.ts +14 -0
  12. package/dist/interfaces/IMaestroEventDelegate.d.ts +19 -6
  13. package/dist/maestro-web-sdk.umd.js +3 -3
  14. package/dist/maestro-web-sdk.umd.js.map +1 -1
  15. package/dist/models/IPanel.d.ts +1 -2
  16. package/dist/modules/bets/view/HotProps/HotPropsView.d.ts +7 -6
  17. package/dist/modules/bets/view/SixPack/SixPackView.d.ts +2 -2
  18. package/dist/modules/bets/view/TabLoadFailureView.d.ts +1 -0
  19. package/dist/modules/bets/view/UserBets/BetsCard/BetsCard.d.ts +7 -6
  20. package/dist/modules/bets/view/components/Bet/Bet.d.ts +1 -0
  21. package/dist/modules/bets/view/components/PromoCodeBanner/PromoCodeBanner.d.ts +2 -2
  22. package/dist/modules/key-plays/view/KeyPlayCardView.d.ts +0 -4
  23. package/dist/modules/stats/interfaces/IStats.d.ts +44 -15
  24. package/dist/modules/stats/utils/driveSummaryUtils.d.ts +18 -0
  25. package/dist/modules/stats/utils/renderTeamStatistic.d.ts +21 -0
  26. package/dist/modules/stats/view/ActiveAthletes/ActiveAthletes.d.ts +21 -0
  27. package/dist/modules/stats/view/ActiveAthletes/CollapsedAthletes/CollapsedAthletes.d.ts +5 -0
  28. package/dist/modules/stats/view/ActiveAthletes/ExpandedAthletes/ExpandedAthletes.d.ts +10 -0
  29. package/dist/modules/stats/view/ActiveAthletes/index.d.ts +2 -0
  30. package/dist/modules/stats/view/DriveSummary/DrivePlayCard.d.ts +26 -0
  31. package/dist/modules/stats/view/DriveSummary/DriveSummary.d.ts +24 -0
  32. package/dist/modules/stats/view/DriveSummary/index.d.ts +2 -0
  33. package/dist/modules/stats/view/GameLeaders/GameLeaders.d.ts +15 -25
  34. package/dist/modules/stats/view/MatchPredictor/MatchPredictorView.d.ts +13 -47
  35. package/dist/modules/stats/view/RecentGames/RecentGames.d.ts +11 -21
  36. package/dist/modules/stats/view/StatsItemView.d.ts +19 -0
  37. package/dist/modules/stats/view/StatsQRCode/StatsQRCodeView.d.ts +1 -0
  38. package/dist/modules/stats/view/StatsView.d.ts +3 -3
  39. package/dist/modules/stats/view/TeamStats/TeamStatsView.d.ts +52 -0
  40. package/dist/modules/stats/view/TeamStats/index.d.ts +2 -0
  41. package/dist/modules/stats/view/Teams/Teams.d.ts +11 -26
  42. package/dist/modules/stats/view/WinProbability/WinProbability.d.ts +11 -21
  43. package/dist/modules/stats/view/components/AthletesStatistics/AthletesStatistics.d.ts +19 -3
  44. package/dist/modules/stats/view/components/AthletesStatistics/StatisticTable.d.ts +2 -8
  45. package/dist/modules/stats/view/index.d.ts +1 -0
  46. package/dist/modules/stats/view-model/StatsViewModel.d.ts +149 -5
  47. package/dist/services/StatsService.d.ts +36 -0
  48. package/dist/view-models/MaestroEventViewModel.d.ts +7 -0
  49. package/package.json +1 -1
  50. package/dist/MaestroEventDelegate.js +0 -60
  51. package/dist/components/atoms/BaseButton/BaseButton.js +0 -11
  52. package/dist/components/atoms/BaseButton/index.js +0 -2
  53. package/dist/components/atoms/Image/index.js +0 -30
  54. package/dist/components/atoms/Rive/index.js +0 -52
  55. package/dist/components/atoms/SvgIcon/BetGeneralIcon.js +0 -9
  56. package/dist/components/atoms/SvgIcon/BetsIcon.js +0 -11
  57. package/dist/components/atoms/SvgIcon/BetsWarningIcon.js +0 -11
  58. package/dist/components/atoms/SvgIcon/CheckmarkIcon.js +0 -6
  59. package/dist/components/atoms/SvgIcon/CollapseIcon.js +0 -6
  60. package/dist/components/atoms/SvgIcon/ExpandIcon.js +0 -6
  61. package/dist/components/atoms/SvgIcon/FantasyIcon.d.ts +0 -6
  62. package/dist/components/atoms/SvgIcon/FantasyIcon.js +0 -8
  63. package/dist/components/atoms/SvgIcon/FlameIcon.js +0 -11
  64. package/dist/components/atoms/SvgIcon/Icon.js +0 -42
  65. package/dist/components/atoms/SvgIcon/KeyPlaysIcon.js +0 -10
  66. package/dist/components/atoms/SvgIcon/MobilePhoneIcon.js +0 -11
  67. package/dist/components/atoms/SvgIcon/PlayIcon.js +0 -8
  68. package/dist/components/atoms/SvgIcon/StatsIcon.js +0 -12
  69. package/dist/components/atoms/SvgIcon/TimesIcon.js +0 -6
  70. package/dist/components/atoms/SvgIcon/WarningIcon.js +0 -8
  71. package/dist/components/atoms/SvgIcon/index.js +0 -2
  72. package/dist/components/core/App/App.js +0 -41
  73. package/dist/components/core/App/index.js +0 -2
  74. package/dist/components/core/OverlayContainer.js +0 -58
  75. package/dist/components/core/PanelManager/PanelManager.js +0 -80
  76. package/dist/components/core/PanelManager/index.js +0 -2
  77. package/dist/components/core/ScrollableContainer/FocusableItem.js +0 -38
  78. package/dist/components/core/ScrollableContainer/ScrollableContainer.js +0 -166
  79. package/dist/components/core/ScrollableContainer/index.js +0 -2
  80. package/dist/components/molecules/ActionButton/ActionButton.js +0 -10
  81. package/dist/components/molecules/ActionButton/index.js +0 -2
  82. package/dist/components/molecules/Overlay/Overlay.js +0 -139
  83. package/dist/components/molecules/Overlay/index.js +0 -2
  84. package/dist/components/molecules/PanelNavButton/PanelNavButton.js +0 -40
  85. package/dist/components/molecules/PanelNavButton/index.js +0 -2
  86. package/dist/components/molecules/SegmentButton/SegmentButton.js +0 -10
  87. package/dist/components/molecules/SegmentButton/index.js +0 -2
  88. package/dist/components/molecules/WatchButton/WatchButton.js +0 -15
  89. package/dist/components/molecules/WatchButton/index.js +0 -2
  90. package/dist/components/organisms/PanelNavigation/PanelNavigation.js +0 -72
  91. package/dist/components/organisms/PanelNavigation/index.js +0 -2
  92. package/dist/components/organisms/SegmentController/SegmentController.js +0 -69
  93. package/dist/components/organisms/SegmentController/index.js +0 -2
  94. package/dist/external/AxiosNetworkClient.js +0 -83
  95. package/dist/external/LocalStorageCacheManager.js +0 -213
  96. package/dist/external/ReactRenderer.js +0 -86
  97. package/dist/external/mocks/MockExternalNetworkClient.js +0 -161
  98. package/dist/external/ports/cacheManager.js +0 -1
  99. package/dist/external/ports/networkClient.js +0 -1
  100. package/dist/external/ports/renderer.js +0 -1
  101. package/dist/external/spatial-navigation/index.js +0 -4
  102. package/dist/external/spatial-navigation/measureLayout.js +0 -30
  103. package/dist/external/spatial-navigation/spatialNavigation.js +0 -875
  104. package/dist/external/spatial-navigation/utils.js +0 -6
  105. package/dist/external/spatial-navigation/visualDebugger.js +0 -76
  106. package/dist/external/spatial-navigation/withFocusable.js +0 -238
  107. package/dist/helpers/Observable.js +0 -37
  108. package/dist/helpers/deliver-focus.d.ts +0 -5
  109. package/dist/helpers/deliver-focus.js +0 -12
  110. package/dist/index.js +0 -192
  111. package/dist/interfaces/IMaestroEvent.js +0 -6
  112. package/dist/interfaces/IMaestroEventDelegate.js +0 -1
  113. package/dist/interfaces/IMaestroManager.js +0 -1
  114. package/dist/models/IModel.js +0 -1
  115. package/dist/models/IPanel.js +0 -53
  116. package/dist/models/ITheme.js +0 -20
  117. package/dist/models/IWinningBet.js +0 -1
  118. package/dist/modules/bets/interfaces/IBets.js +0 -1
  119. package/dist/modules/bets/mocks.js +0 -572
  120. package/dist/modules/bets/view/BetsView.js +0 -116
  121. package/dist/modules/bets/view/HotProps/HotPropsView.js +0 -139
  122. package/dist/modules/bets/view/SixPack/SixPackView.js +0 -103
  123. package/dist/modules/bets/view/TabLoadFailureView.js +0 -12
  124. package/dist/modules/bets/view/UserBets/BetResult/BetResult.js +0 -6
  125. package/dist/modules/bets/view/UserBets/BetsCard/BetsCard.js +0 -122
  126. package/dist/modules/bets/view/UserBets/BetsCard/BetsCardEvent.js +0 -34
  127. package/dist/modules/bets/view/UserBets/BetsCard/BetsCardFooter.js +0 -22
  128. package/dist/modules/bets/view/UserBets/Boost/Boost.js +0 -6
  129. package/dist/modules/bets/view/UserBets/OutcomeBadge/OutcomeBadge.js +0 -9
  130. package/dist/modules/bets/view/UserBets/Parlay/Parlay.js +0 -13
  131. package/dist/modules/bets/view/UserBets/Straight/Straight.js +0 -6
  132. package/dist/modules/bets/view/UserBets/Teaser/Teaser.js +0 -13
  133. package/dist/modules/bets/view/UserBets/UserBetsView.js +0 -114
  134. package/dist/modules/bets/view/components/Bet/Bet.js +0 -32
  135. package/dist/modules/bets/view/components/BetPill/BetPill.js +0 -6
  136. package/dist/modules/bets/view/components/BetsCard/BetsCard.js +0 -15
  137. package/dist/modules/bets/view/components/BetsCard/BetsCardHeader.js +0 -20
  138. package/dist/modules/bets/view/components/GamblingDisclaimer/GamblingDisclaimer.js +0 -14
  139. package/dist/modules/bets/view/components/LocationWarning/LocationWarning.js +0 -16
  140. package/dist/modules/bets/view/components/PromoCodeBanner/PromoCodeBanner.js +0 -63
  141. package/dist/modules/bets/view/components/PromoCodeBanner/index.js +0 -1
  142. package/dist/modules/bets/view-model/BetsViewModel.js +0 -767
  143. package/dist/modules/key-plays/constants.js +0 -292
  144. package/dist/modules/key-plays/interfaces/IKeyPlays.js +0 -14
  145. package/dist/modules/key-plays/interfaces/IKeyPlaysResponse.js +0 -1
  146. package/dist/modules/key-plays/view/KeyPlayCardScoreTagView.js +0 -13
  147. package/dist/modules/key-plays/view/KeyPlayCardView.js +0 -142
  148. package/dist/modules/key-plays/view/KeyPlayErrorStateView.js +0 -58
  149. package/dist/modules/key-plays/view/KeyPlaysView.js +0 -167
  150. package/dist/modules/key-plays/view-model/KeyPlaysViewModel.js +0 -182
  151. package/dist/modules/stats/interfaces/IStats.js +0 -1
  152. package/dist/modules/stats/mocks.js +0 -546
  153. package/dist/modules/stats/utils.js +0 -62
  154. package/dist/modules/stats/view/GameLeaders/GameLeaders.js +0 -9
  155. package/dist/modules/stats/view/GameLeaders/index.js +0 -2
  156. package/dist/modules/stats/view/MatchPredictor/DonutChart/DonutChart.js +0 -55
  157. package/dist/modules/stats/view/MatchPredictor/DonutChart/index.js +0 -1
  158. package/dist/modules/stats/view/MatchPredictor/MatchPredictorView.js +0 -66
  159. package/dist/modules/stats/view/MatchPredictor/index.js +0 -2
  160. package/dist/modules/stats/view/RecentGames/RecentGames.js +0 -22
  161. package/dist/modules/stats/view/RecentGames/index.js +0 -2
  162. package/dist/modules/stats/view/StatsQRCode/StatsQRCodeView.js +0 -38
  163. package/dist/modules/stats/view/StatsQRCode/index.js +0 -1
  164. package/dist/modules/stats/view/StatsView.js +0 -87
  165. package/dist/modules/stats/view/Teams/StatsCarousel.js +0 -14
  166. package/dist/modules/stats/view/Teams/StatsProgressBar.js +0 -14
  167. package/dist/modules/stats/view/Teams/Teams.js +0 -35
  168. package/dist/modules/stats/view/Teams/index.js +0 -2
  169. package/dist/modules/stats/view/WinProbability/WinProbability.js +0 -27
  170. package/dist/modules/stats/view/WinProbability/index.js +0 -2
  171. package/dist/modules/stats/view/components/AthletesStatistics/AthletesStatistics.js +0 -28
  172. package/dist/modules/stats/view/components/AthletesStatistics/StatisticTable.js +0 -11
  173. package/dist/modules/stats/view/components/AthletesStatistics/index.js +0 -2
  174. package/dist/modules/stats/view/index.js +0 -1
  175. package/dist/modules/stats/view-model/StatsViewModel.js +0 -90
  176. package/dist/services/BetsService.js +0 -102
  177. package/dist/services/NetworkManager/NetworkManager.js +0 -410
  178. package/dist/services/NetworkManager/errors.js +0 -45
  179. package/dist/services/ThemeManager/constants.js +0 -47
  180. package/dist/test-polyfills.js +0 -15
  181. package/dist/types/OverlayTypes.js +0 -4
  182. package/dist/view-models/MaestroEventViewModel.js +0 -156
  183. package/dist/view-models/OverlayViewModel.js +0 -222
  184. package/dist/view-models/PanelManagerViewModel.js +0 -80
  185. package/dist/view-models/ViewModel.js +0 -32
  186. package/dist/view-models/index.js +0 -59
@@ -1,114 +0,0 @@
1
- import SegmentController from '@/components/organisms/SegmentController/SegmentController';
2
- import React from 'react';
3
- import './UserBetsView.styles.css';
4
- import Parlay from './Parlay/Parlay';
5
- import Boost from './Boost/Boost';
6
- import Straight from './Straight/Straight';
7
- import Teaser from './Teaser/Teaser';
8
- class UserBetsView extends React.Component {
9
- constructor() {
10
- super(...arguments);
11
- Object.defineProperty(this, "state", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: {
16
- activeSegment: this.props.item.data.defaultTab,
17
- }
18
- });
19
- Object.defineProperty(this, "setSegment", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: (segment) => {
24
- return () => {
25
- if (this.state.activeSegment !== segment) {
26
- this.setState({ activeSegment: segment });
27
- }
28
- };
29
- }
30
- });
31
- Object.defineProperty(this, "segmentItems", {
32
- enumerable: true,
33
- configurable: true,
34
- writable: true,
35
- value: [
36
- {
37
- title: 'Live',
38
- type: 'live',
39
- onEnter: this.setSegment('live'),
40
- },
41
- {
42
- title: 'Settled',
43
- type: 'settled',
44
- onEnter: this.setSegment('settled'),
45
- },
46
- {
47
- title: 'Upcoming',
48
- type: 'upcoming',
49
- onEnter: this.setSegment('upcoming'),
50
- },
51
- ]
52
- });
53
- Object.defineProperty(this, "onSegmentChange", {
54
- enumerable: true,
55
- configurable: true,
56
- writable: true,
57
- value: (segment) => {
58
- this.setState({ activeSegment: segment });
59
- }
60
- });
61
- Object.defineProperty(this, "renderBet", {
62
- enumerable: true,
63
- configurable: true,
64
- writable: true,
65
- value: (bet) => {
66
- switch (bet.type) {
67
- case 'PARLAY':
68
- return React.createElement(Parlay, { key: bet.id, bet: bet });
69
- case 'BOOST':
70
- return React.createElement(Boost, { key: bet.id, bet: bet });
71
- case 'STRAIGHT':
72
- return React.createElement(Straight, { key: bet.id, bet: bet });
73
- case 'TEASER':
74
- return React.createElement(Teaser, { key: bet.id, bet: bet });
75
- default:
76
- console.warn('unknown type', bet.type);
77
- return null;
78
- }
79
- }
80
- });
81
- Object.defineProperty(this, "renderBets", {
82
- enumerable: true,
83
- configurable: true,
84
- writable: true,
85
- value: () => {
86
- if (this.bets?.length) {
87
- return this.bets.map((bet) => this.renderBet(bet));
88
- }
89
- return (React.createElement("div", { className: "no-user-bets T05_ALT" },
90
- "No ",
91
- this.state.activeSegment,
92
- " Bets"));
93
- }
94
- });
95
- }
96
- get bets() {
97
- switch (this.state.activeSegment) {
98
- case 'live':
99
- return this.props.item.data.bets.live;
100
- case 'settled':
101
- return this.props.item.data.bets.settled;
102
- case 'upcoming':
103
- return this.props.item.data.bets.upcoming;
104
- default:
105
- return null;
106
- }
107
- }
108
- render() {
109
- return (React.createElement("section", { className: "my-bets-view" },
110
- React.createElement(SegmentController, { items: this.segmentItems }),
111
- this.renderBets()));
112
- }
113
- }
114
- export default UserBetsView;
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import './Bet.styles.css';
3
- import { withFocusable, } from '@/external/spatial-navigation';
4
- import Image from '@/components/atoms/Image';
5
- import FocusableItem from '@/components/core/ScrollableContainer/FocusableItem';
6
- class Bet extends React.Component {
7
- render() {
8
- const accruedValue = this.props.leg.points
9
- ? Number(this.props.leg.points)
10
- : 0;
11
- return (React.createElement(FocusableItem, null,
12
- React.createElement("div", { className: "single-bet focus-ring focus-opacity", "data-focusable": this.props.focusable, "data-focused": this.props.focused },
13
- this.props.leg.iconDark && (React.createElement(Image, { crossOrigin: "anonymous", src: this.props.leg.iconDark, alt: "Bet Icon" })),
14
- React.createElement("div", { className: "single-bet-main-content T02" },
15
- React.createElement("div", { className: "single-bet-info" },
16
- React.createElement("div", null,
17
- React.createElement("div", { className: "T05_ALT" }, this.props.leg.selectionText),
18
- React.createElement("span", { className: "single-bet-info-description" }, this.props.leg.marketText)),
19
- React.createElement("div", { className: "single-bet-odds T01" }, this.props.leg.odds)),
20
- this.props.leg.accrued && (React.createElement("div", { className: "single-bet-accrued" },
21
- React.createElement("div", { className: "single-bet-accrued-goal" },
22
- accruedValue,
23
- React.createElement("span", null,
24
- "/",
25
- this.props.leg.accrued.goal),
26
- React.createElement("div", null,
27
- Math.round((accruedValue / this.props.leg.accrued.goal) * 100),
28
- "%")),
29
- React.createElement("progress", { "data-complete": accruedValue === this.props.leg.accrued.goal, value: accruedValue, max: this.props.leg.accrued.goal })))))));
30
- }
31
- }
32
- export default withFocusable()(Bet);
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import './BetPill.styles.css';
3
- const BetPill = (props) => {
4
- return React.createElement("label", { className: "bet-pill" }, props.children);
5
- };
6
- export default BetPill;
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import './BetsCard.styles.css';
3
- import { withFocusable, } from '@/external/spatial-navigation';
4
- import FocusableItem from '@/components/core/ScrollableContainer/FocusableItem';
5
- class BetsCard extends React.Component {
6
- render() {
7
- return (React.createElement(FocusableItem, null,
8
- React.createElement("div", { className: "bets-card focus-ring", "data-focused": this.props.focused },
9
- this.props.header(this.props),
10
- React.createElement("div", { className: "bets-card-divider" }),
11
- this.props.children,
12
- this.props.footer(this.props))));
13
- }
14
- }
15
- export default withFocusable()(BetsCard);
@@ -1,20 +0,0 @@
1
- import Icon from '@/components/atoms/SvgIcon';
2
- import React from 'react';
3
- import OutcomeBadge from '../../UserBets/OutcomeBadge/OutcomeBadge';
4
- import Image from '@/components/atoms/Image';
5
- const BetsCardHeader = (props) => {
6
- const outcome = props.overrideOutcome !== 'NOT_SET' ? props.overrideOutcome : props.outcome;
7
- return (React.createElement("div", { className: "bets-card-header T05_ALT" },
8
- props.renderIcon
9
- ? props.renderIcon()
10
- : props.iconUrl && (React.createElement(Image, { crossOrigin: "anonymous", src: props.iconUrl, alt: `${props.betType} Icon`, width: 28, height: 22 })),
11
- React.createElement("div", { className: "T05_ALT" }, props.betType.toLocaleLowerCase()),
12
- React.createElement("span", { className: "T02" }, props.children),
13
- React.createElement("div", { className: "bets-card-status-container" },
14
- outcome && outcome !== 'PENDING' && React.createElement(OutcomeBadge, { outcome: outcome }),
15
- props.legCountThreshold &&
16
- props.legCount &&
17
- props.legCount > props.legCountThreshold && (React.createElement("div", { className: "icon-container", "data-focused": props.betCardProps.focused },
18
- React.createElement(Icon, { iconName: props.cardExpanded ? 'collapse' : 'expand', width: 48, height: 48 }))))));
19
- };
20
- export default BetsCardHeader;
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import Icon from '@/components/atoms/SvgIcon/Icon';
3
- import './GamblingDisclaimer.styles.css';
4
- import FocusableItem from '@/components/core/ScrollableContainer/FocusableItem';
5
- const FALLBACK_DISCLAIMER_TEXT = 'Odds by ESPN BET; 21+. Gambling Problem? Call 1-800-GAMBLER';
6
- class GamblingDisclaimer extends React.Component {
7
- render() {
8
- return (React.createElement(FocusableItem, null,
9
- React.createElement("div", { className: "gambling-disclaimer" },
10
- React.createElement(Icon, { iconName: "mobilePhone", width: 32, height: 32 }),
11
- React.createElement("span", { className: "gambling-disclaimer-text T02" }, this.props.text || FALLBACK_DISCLAIMER_TEXT))));
12
- }
13
- }
14
- export default GamblingDisclaimer;
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import Icon from '@/components/atoms/SvgIcon/Icon';
3
- import './LocationWarning.styles.css';
4
- import FocusableItem from '@/components/core/ScrollableContainer/FocusableItem';
5
- const FALLBACK_WARNING_TEXT = 'You are in a location outside of our operating area. Visit about.espnbet.com for more detail.';
6
- class LocationWarning extends React.Component {
7
- render() {
8
- const { disclaimerText } = this.props;
9
- const displayText = disclaimerText || FALLBACK_WARNING_TEXT;
10
- return (React.createElement(FocusableItem, null,
11
- React.createElement("div", { className: "location-warning" },
12
- React.createElement(Icon, { iconName: "betsWarning", width: 32, height: 32 }),
13
- React.createElement("span", { className: "location-warning-text T02" }, displayText))));
14
- }
15
- }
16
- export default LocationWarning;
@@ -1,63 +0,0 @@
1
- import React from 'react';
2
- import './PromoCodeBanner.styles.css';
3
- import { withFocusable, } from '@/external/spatial-navigation';
4
- import FocusableItem from '@/components/core/ScrollableContainer/FocusableItem';
5
- import { DEFAULT_SCROLLABLE_CONTAINER_CONTEXT, SCROLLABLE_CONTEXT_TYPE, } from '@/components/core/ScrollableContainer/ScrollableContainer';
6
- import deliverFocus from '@/helpers/deliver-focus';
7
- const ESPN_BET_BACKGROUND_FALLBACK = 'https://www.espn.com/redesign/assets/img/ictv/bkg_qr_bet.jpg';
8
- class PromoCodeBanner extends React.Component {
9
- render() {
10
- const { title, description, logo, qrCode, showLogo = true, focused, } = this.props;
11
- return (React.createElement(FocusableItem, null,
12
- React.createElement("div", { className: "promo-code-banner focus-ring", "data-focused": focused, style: {
13
- backgroundImage: `url(${ESPN_BET_BACKGROUND_FALLBACK})`,
14
- } },
15
- React.createElement("div", { className: "promo-content" },
16
- showLogo && (React.createElement("div", { className: "promo-logo-container" },
17
- React.createElement("img", { src: logo, alt: "ESPN Bet Logo", className: "promo-logo" }))),
18
- React.createElement("div", { className: "promo-tagline T20" }, title)),
19
- React.createElement("div", { className: "promo-action-area" },
20
- React.createElement("div", { className: "qr-code-container" },
21
- React.createElement("img", { src: qrCode, alt: "QR Code", className: "qr-code" })),
22
- React.createElement("div", { className: "promo-description T20" }, description)))));
23
- }
24
- }
25
- const FocusablePromoCodeBanner = withFocusable()(PromoCodeBanner);
26
- export default class FocusablePromoCodeBannerWrapper extends React.Component {
27
- constructor() {
28
- super(...arguments);
29
- Object.defineProperty(this, "context", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: DEFAULT_SCROLLABLE_CONTAINER_CONTEXT
34
- });
35
- Object.defineProperty(this, "onBecameFocused", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: (layout) => {
40
- this.context.scrollToFocusedElement(layout);
41
- }
42
- });
43
- Object.defineProperty(this, "onArrowPress", {
44
- enumerable: true,
45
- configurable: true,
46
- writable: true,
47
- value: (d, _props, details) => {
48
- if (d === 'left' && details.layout) {
49
- deliverFocus(details.layout.node.firstElementChild);
50
- }
51
- }
52
- });
53
- }
54
- render() {
55
- return (React.createElement(FocusablePromoCodeBanner, { ...this.props, onBecameFocused: this.onBecameFocused, onArrowPress: this.onArrowPress }));
56
- }
57
- }
58
- Object.defineProperty(FocusablePromoCodeBannerWrapper, "contextTypes", {
59
- enumerable: true,
60
- configurable: true,
61
- writable: true,
62
- value: SCROLLABLE_CONTEXT_TYPE
63
- });
@@ -1 +0,0 @@
1
- export { default as BetItemPromoCode } from './PromoCodeBanner';