@times-components/ts-components 1.25.1 → 1.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/__mocks__/isomorphic-unfetch.d.ts +3 -0
  3. package/dist/__mocks__/isomorphic-unfetch.js +4 -0
  4. package/dist/components/opta/football/fixtures/OptaFootballFixtures.js +5 -4
  5. package/dist/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.d.ts +2 -0
  6. package/dist/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.js +41 -0
  7. package/dist/components/opta/football/match-stats/OptaFootballMatchStats.js +4 -3
  8. package/dist/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.d.ts +2 -0
  9. package/dist/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.js +40 -0
  10. package/dist/components/opta/football/standings/OptaFootballStandings.js +4 -3
  11. package/dist/components/opta/football/standings/__tests__/OptaFootballStandings.test.d.ts +2 -0
  12. package/dist/components/opta/football/standings/__tests__/OptaFootballStandings.test.js +39 -0
  13. package/dist/components/opta/football/summary/OptaFootballSummary.js +4 -3
  14. package/dist/components/opta/football/summary/__tests__/OptaFootballSummary.test.d.ts +2 -0
  15. package/dist/components/opta/football/summary/__tests__/OptaFootballSummary.test.js +40 -0
  16. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.d.ts +8 -0
  17. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.js +54 -0
  18. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.d.ts +1 -0
  19. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.js +26 -0
  20. package/dist/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.d.ts +2 -0
  21. package/dist/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.js +41 -0
  22. package/dist/components/opta/rugby/fixtures/styles.d.ts +2 -0
  23. package/dist/components/opta/rugby/fixtures/styles.js +255 -0
  24. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.d.ts +7 -0
  25. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.js +43 -0
  26. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.d.ts +1 -0
  27. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.js +26 -0
  28. package/dist/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.d.ts +2 -0
  29. package/dist/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.js +40 -0
  30. package/dist/components/opta/rugby/match-stats/styles.d.ts +1 -0
  31. package/dist/components/opta/rugby/match-stats/styles.js +153 -0
  32. package/dist/components/opta/rugby/shared-styles.d.ts +6 -0
  33. package/dist/components/opta/rugby/shared-styles.js +72 -0
  34. package/dist/components/opta/rugby/standings/OptaRugbyStandings.d.ts +8 -0
  35. package/dist/components/opta/rugby/standings/OptaRugbyStandings.js +36 -0
  36. package/dist/components/opta/rugby/standings/OptaRugbyStandings.stories.d.ts +1 -0
  37. package/dist/components/opta/rugby/standings/OptaRugbyStandings.stories.js +36 -0
  38. package/dist/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.d.ts +2 -0
  39. package/dist/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.js +39 -0
  40. package/dist/components/opta/rugby/standings/styles.d.ts +1 -0
  41. package/dist/components/opta/rugby/standings/styles.js +247 -0
  42. package/dist/components/opta/rugby/summary/OptaRugbySummary.d.ts +7 -0
  43. package/dist/components/opta/rugby/summary/OptaRugbySummary.js +44 -0
  44. package/dist/components/opta/rugby/summary/OptaRugbySummary.stories.d.ts +1 -0
  45. package/dist/components/opta/rugby/summary/OptaRugbySummary.stories.js +26 -0
  46. package/dist/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.d.ts +2 -0
  47. package/dist/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.js +40 -0
  48. package/dist/components/opta/rugby/summary/styles.d.ts +1 -0
  49. package/dist/components/opta/rugby/summary/styles.js +152 -0
  50. package/dist/components/opta/utils/__tests__/config.test.d.ts +1 -0
  51. package/dist/components/opta/utils/__tests__/config.test.js +24 -0
  52. package/dist/components/opta/utils/config.d.ts +1 -1
  53. package/dist/components/opta/utils/config.js +12 -3
  54. package/dist/helpers/fetch/FetchProvider.js +3 -3
  55. package/dist/helpers/fetch/__tests__/FetchProvider.test.d.ts +0 -1
  56. package/dist/helpers/fetch/__tests__/FetchProvider.test.js +17 -23
  57. package/dist/index.d.ts +4 -0
  58. package/dist/index.js +5 -1
  59. package/jest.config.js +4 -4
  60. package/package.json +6 -5
  61. package/rnw.js +1 -1
  62. package/src/__mocks__/isomorphic-unfetch.ts +3 -0
  63. package/src/components/opta/football/fixtures/OptaFootballFixtures.tsx +5 -3
  64. package/src/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.tsx +53 -0
  65. package/src/components/opta/football/fixtures/__tests__/__snapshots__/OptaFootballFixtures.test.tsx.snap +34 -0
  66. package/src/components/opta/football/match-stats/OptaFootballMatchStats.tsx +4 -2
  67. package/src/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.tsx +52 -0
  68. package/src/components/opta/football/match-stats/__tests__/__snapshots__/OptaFootballMatchStats.test.tsx.snap +34 -0
  69. package/src/components/opta/football/standings/OptaFootballStandings.tsx +4 -2
  70. package/src/components/opta/football/standings/__tests__/OptaFootballStandings.test.tsx +51 -0
  71. package/src/components/opta/football/standings/__tests__/__snapshots__/OptaFootballStandings.test.tsx.snap +34 -0
  72. package/src/components/opta/football/summary/OptaFootballSummary.tsx +4 -2
  73. package/src/components/opta/football/summary/__tests__/OptaFootballSummary.test.tsx +52 -0
  74. package/src/components/opta/football/summary/__tests__/__snapshots__/OptaFootballSummary.test.tsx.snap +34 -0
  75. package/src/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.tsx +44 -0
  76. package/src/components/opta/rugby/fixtures/OptaRugbyFixtures.tsx +86 -0
  77. package/src/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.tsx +53 -0
  78. package/src/components/opta/rugby/fixtures/__tests__/__snapshots__/OptaRugbyFixtures.test.tsx.snap +34 -0
  79. package/src/components/opta/rugby/fixtures/styles.ts +257 -0
  80. package/src/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.tsx +34 -0
  81. package/src/components/opta/rugby/match-stats/OptaRugbyMatchStats.tsx +71 -0
  82. package/src/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.tsx +52 -0
  83. package/src/components/opta/rugby/match-stats/__tests__/__snapshots__/OptaRugbyMatchStats.test.tsx.snap +34 -0
  84. package/src/components/opta/rugby/match-stats/styles.ts +154 -0
  85. package/src/components/opta/rugby/shared-styles.ts +75 -0
  86. package/src/components/opta/rugby/standings/OptaRugbyStandings.stories.tsx +49 -0
  87. package/src/components/opta/rugby/standings/OptaRugbyStandings.tsx +66 -0
  88. package/src/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.tsx +51 -0
  89. package/src/components/opta/rugby/standings/__tests__/__snapshots__/OptaRugbyStandings.test.tsx.snap +34 -0
  90. package/src/components/opta/rugby/standings/styles.ts +248 -0
  91. package/src/components/opta/rugby/summary/OptaRugbySummary.stories.tsx +34 -0
  92. package/src/components/opta/rugby/summary/OptaRugbySummary.tsx +71 -0
  93. package/src/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.tsx +52 -0
  94. package/src/components/opta/rugby/summary/__tests__/__snapshots__/OptaRugbySummary.test.tsx.snap +34 -0
  95. package/src/components/opta/rugby/summary/styles.ts +153 -0
  96. package/src/components/opta/utils/__tests__/config.test.tsx +38 -0
  97. package/src/components/opta/utils/config.ts +13 -3
  98. package/src/helpers/fetch/FetchProvider.tsx +2 -2
  99. package/src/helpers/fetch/__tests__/FetchProvider.test.tsx +21 -31
  100. package/src/helpers/fetch/__tests__/__snapshots__/FetchProvider.test.tsx.snap +10 -2
  101. package/src/index.ts +14 -0
@@ -0,0 +1,255 @@
1
+ import styled from 'styled-components';
2
+ import { breakpoints, colours, fonts } from '@times-components/styleguide';
3
+ import { WidgetContainerBase } from '../shared-styles';
4
+ export const WidgetContainerOverride = styled(WidgetContainerBase) `
5
+ .Opta {
6
+ h2 {
7
+ margin: 20px 0 0 0 !important;
8
+ }
9
+
10
+ .Opta-js-main {
11
+ table {
12
+ tbody {
13
+ td.Opta-title {
14
+ background-color: transparent !important;
15
+ border-bottom: 1px solid #e4e4e4;
16
+
17
+ h3 {
18
+ margin: 20px 0 0 0 !important;
19
+ font-family: ${fonts.headline} !important;
20
+ font-size: 16px !important;
21
+ line-height: 30px !important;
22
+ text-align: center;
23
+
24
+ span {
25
+ font-size: inherit;
26
+ }
27
+
28
+ @media (min-width: ${breakpoints.medium}px) {
29
+ font-size: 18px !important;
30
+ line-height: 40px !important;
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ `;
39
+ export const WidgetContainer = styled(WidgetContainerBase) `
40
+ .Opta {
41
+ .Opta-js-main {
42
+ padding: 0;
43
+ background-color: transparent;
44
+
45
+ table {
46
+ tbody {
47
+ td.Opta-title {
48
+ height: 40px;
49
+ background-color: ${colours.functional.backgroundSecondary};
50
+
51
+ h3 {
52
+ height: auto;
53
+ margin: 0 0 0 10px;
54
+ color: ${colours.functional.brandColour};
55
+ font-family: ${fonts.supporting};
56
+ font-size: 14px;
57
+ line-height: 14px;
58
+ font-weight: normal;
59
+ background-color: transparent;
60
+ border-bottom: 0;
61
+
62
+ span {
63
+ float: none;
64
+ padding: 0;
65
+ }
66
+
67
+ @media (min-width: ${breakpoints.medium}px) {
68
+ margin: 0 0 0 20px;
69
+ }
70
+ }
71
+ }
72
+
73
+ tr.Opta-Scoreline {
74
+ height: 40px;
75
+ background-color: transparent !important;
76
+ border-bottom: 1px solid #e4e4e4;
77
+
78
+ @media (min-width: ${breakpoints.medium}px) {
79
+ height: 50px;
80
+ }
81
+
82
+ td {
83
+ max-width: none !important;
84
+ padding: 3px 0 0 0;
85
+ color: ${colours.functional.brandColour} !important;
86
+ font-family: ${fonts.headline};
87
+ font-size: 14px;
88
+ line-height: 14px;
89
+ background-color: transparent;
90
+
91
+ &.Opta-Time {
92
+ width: 50px !important;
93
+ padding: 6px 0 0 10px;
94
+ color: ${colours.section.sport} !important;
95
+ font-family: ${fonts.supporting};
96
+
97
+ abbr {
98
+ font-size: inherit;
99
+ line-height: inherit;
100
+ text-decoration: none;
101
+ }
102
+
103
+ @media (min-width: ${breakpoints.medium}px) {
104
+ width: 60px !important;
105
+ padding: 6px 0 0 20px;
106
+ font-size: 14px;
107
+ line-height: 14px;
108
+ }
109
+ }
110
+
111
+ &.Opta-Team {
112
+ width: 30% !important;
113
+ padding-left: 10px;
114
+
115
+ &.Opta-Home {
116
+ padding-right: 10px;
117
+ padding-left: 0;
118
+ text-align: right;
119
+ }
120
+
121
+ @media (min-width: ${breakpoints.medium}px) {
122
+ padding-left: 15px;
123
+
124
+ &.Opta-Home {
125
+ padding-right: 15px;
126
+ padding-left: 0;
127
+ }
128
+ }
129
+ }
130
+
131
+ &.Opta-Score {
132
+ width: 25px !important;
133
+ font-size: 16px;
134
+ line-height: 16px;
135
+ text-align: left !important;
136
+
137
+ &.Opta-Home {
138
+ text-align: right !important;
139
+ }
140
+
141
+ span {
142
+ font-size: inherit;
143
+ line-height: inherit;
144
+ }
145
+
146
+ @media (min-width: ${breakpoints.medium}px) {
147
+ width: 30px !important;
148
+ font-size: 24px;
149
+ line-height: 24px;
150
+ }
151
+ }
152
+
153
+ &.Opta-Crest {
154
+ width: 20px !important;
155
+ margin-top: -3px;
156
+
157
+ img {
158
+ width: 20px;
159
+ }
160
+ }
161
+
162
+ &.Opta-Divider {
163
+ width: 20px !important;
164
+ text-align: center;
165
+
166
+ abbr {
167
+ font-size: inherit;
168
+ line-height: inherit;
169
+ text-decoration: none;
170
+ }
171
+ }
172
+
173
+ &.Opta-Outer:not(.Opta-Time) {
174
+ width: 50px !important;
175
+ padding: 0 10px 0 0;
176
+
177
+ @media (min-width: ${breakpoints.medium}px) {
178
+ width: 60px !important;
179
+ padding: 0 20px 0 0;
180
+ }
181
+ }
182
+
183
+ @media (min-width: ${breakpoints.medium}px) {
184
+ font-size: 16px;
185
+ line-height: 16px;
186
+ }
187
+ }
188
+ }
189
+
190
+ tr.Opta-agg {
191
+ background-color: transparent !important;
192
+
193
+ td {
194
+ padding: 10px;
195
+ color: ${colours.functional.primary};
196
+ font-family: ${fonts.supporting};
197
+ font-size: 14px;
198
+ line-height: 16px;
199
+ background-color: transparent;
200
+
201
+ span {
202
+ font-size: inherit;
203
+ line-height: inherit;
204
+ }
205
+
206
+ span.Opta-agg-text {
207
+ text-transform: uppercase;
208
+ }
209
+ }
210
+ }
211
+
212
+ tr {
213
+ td.Opta-Nest {
214
+ padding: 0;
215
+
216
+ .Opta_W {
217
+ > .Opta-Cf {
218
+ background-color: transparent;
219
+ border-bottom: 1px solid #e4e4e4;
220
+
221
+ .Opta-Events {
222
+ padding: 10px 0 2px 0;
223
+
224
+ li {
225
+ padding: 0 0 8px 0;
226
+
227
+ .Opta-Event-Text {
228
+ color: ${colours.functional.primary};
229
+ font-family: ${fonts.supporting};
230
+ font-size: 14px;
231
+ line-height: 16px;
232
+
233
+ .Opta-Event-Player,
234
+ .Opta-Event-Time,
235
+ .Opta-Event-Text-Type {
236
+ font-size: inherit;
237
+ line-height: inherit;
238
+ }
239
+
240
+ .Opta-Event-Time {
241
+ color: ${colours.section.sport};
242
+ }
243
+ }
244
+ }
245
+ }
246
+ }
247
+ }
248
+ }
249
+ }
250
+ }
251
+ }
252
+ }
253
+ }
254
+ `;
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9maXh0dXJlcy9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs2QkFlckMsS0FBSyxDQUFDLFFBQVE7Ozs7Ozs7OzttQ0FTUixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7OztDQVVwRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBOzs7Ozs7Ozs7O2dDQVUxQixPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFtQjs7Ozs7dUJBSy9DLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVzs2QkFDeEIsS0FBSyxDQUFDLFVBQVU7Ozs7Ozs7Ozs7OzttQ0FZVixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7Ozs7aUNBV3BCLFdBQVcsQ0FBQyxNQUFNOzs7Ozs7O3VCQU81QixPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVc7NkJBQ3hCLEtBQUssQ0FBQyxRQUFROzs7Ozs7Ozt5QkFRbEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLOytCQUNmLEtBQUssQ0FBQyxVQUFVOzs7Ozs7OztxQ0FRVixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FDQWtCbEIsV0FBVyxDQUFDLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUNBeUJsQixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztxQ0ErQmxCLFdBQVcsQ0FBQyxNQUFNOzs7Ozs7bUNBTXBCLFdBQVcsQ0FBQyxNQUFNOzs7Ozs7Ozs7Ozs7dUJBWTlCLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTzs2QkFDcEIsS0FBSyxDQUFDLFVBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQWdDWixPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU87dUNBQ3BCLEtBQUssQ0FBQyxVQUFVOzs7Ozs7Ozs7Ozs7bUNBWXBCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSzs7Ozs7Ozs7Ozs7OztDQWF2RCxDQUFDIn0=
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare const OptaRugbyMatchStats: React.FC<{
3
+ season: string;
4
+ competition: string;
5
+ match: string;
6
+ full_width?: boolean;
7
+ }>;
@@ -0,0 +1,43 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Placeholder } from '@times-components/image';
3
+ import { initSettings, initStyleSheet, initScript, initElement, initComponent } from '../../utils/config';
4
+ import { Container, PlaceholderContainer } from '../shared-styles';
5
+ import { WidgetContainer } from './styles';
6
+ export const OptaRugbyMatchStats = React.memo(({ season, competition, match, full_width }) => {
7
+ const ref = React.createRef();
8
+ const [isReady, setIsReady] = useState(false);
9
+ useEffect(() => {
10
+ const sport = 'rugby';
11
+ initSettings();
12
+ initStyleSheet(sport);
13
+ initScript().then(() => {
14
+ if (ref.current) {
15
+ ref.current.innerHTML = initElement('opta-widget', {
16
+ sport,
17
+ widget: 'matchstats',
18
+ season,
19
+ competition,
20
+ match,
21
+ template: 'custom',
22
+ graph_style: 'relative',
23
+ stats_categories: 'Category 1|tries,passes,tackles,carries,metres,lineouts_won_percent,scrums_won_percent,turnovers_conceded,yellow_cards,red_cards',
24
+ live: true,
25
+ show_match_header: true,
26
+ show_halftime_score: true,
27
+ show_competition_name: true,
28
+ show_date: true,
29
+ show_crests: true,
30
+ date_format: 'DD/MM/YYYY',
31
+ breakpoints: '520'
32
+ }).outerHTML;
33
+ initComponent();
34
+ setIsReady(true);
35
+ }
36
+ });
37
+ }, []);
38
+ return (React.createElement(Container, { border: isReady, fullWidth: full_width },
39
+ React.createElement(WidgetContainer, { ref: ref }),
40
+ !isReady && (React.createElement(PlaceholderContainer, null,
41
+ React.createElement(Placeholder, null)))));
42
+ });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5TWF0Y2hTdGF0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvcnVnYnkvbWF0Y2gtc3RhdHMvT3B0YVJ1Z2J5TWF0Y2hTdGF0cy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGFBQWEsRUFDZCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUszQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQzdELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUV0QixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDZixHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsYUFBYSxFQUFFO29CQUNqRCxLQUFLO29CQUNMLE1BQU0sRUFBRSxZQUFZO29CQUNwQixNQUFNO29CQUNOLFdBQVc7b0JBQ1gsS0FBSztvQkFDTCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsV0FBVyxFQUFFLFVBQVU7b0JBQ3ZCLGdCQUFnQixFQUNkLGtJQUFrSTtvQkFDcEksSUFBSSxFQUFFLElBQUk7b0JBQ1YsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsbUJBQW1CLEVBQUUsSUFBSTtvQkFDekIscUJBQXFCLEVBQUUsSUFBSTtvQkFDM0IsU0FBUyxFQUFFLElBQUk7b0JBQ2YsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLFdBQVcsRUFBRSxZQUFZO29CQUN6QixXQUFXLEVBQUUsS0FBSztpQkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFFYixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLENBQ0wsb0JBQUMsU0FBUyxJQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVU7UUFDL0Msb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUk7UUFFNUIsQ0FBQyxPQUFPLElBQUksQ0FDWCxvQkFBQyxvQkFBb0I7WUFDbkIsb0JBQUMsV0FBVyxPQUFHLENBQ00sQ0FDeEIsQ0FDUyxDQUNiLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyJ9
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { showcaseConverter } from '@times-components/storybook';
3
+ import { ArticleHarness } from '../../../../fixtures/article-harness/ArticleHarness';
4
+ import { OptaRugbyMatchStats } from './OptaRugbyMatchStats';
5
+ const showcase = {
6
+ children: [
7
+ {
8
+ decorator: (storyFn) => (React.createElement(ArticleHarness, null, storyFn())),
9
+ type: 'decorator'
10
+ },
11
+ {
12
+ component: () => (React.createElement(OptaRugbyMatchStats, { season: "2022", competition: "209", match: "921100" })),
13
+ name: 'MatchStats',
14
+ type: 'story'
15
+ },
16
+ {
17
+ component: () => (React.createElement(OptaRugbyMatchStats, { season: "2022", competition: "209", match: "921087" })),
18
+ name: 'MatchStats (results)',
19
+ type: 'story'
20
+ }
21
+ ],
22
+ name: 'Typescript Component/In Article/Rugby/MatchStats'
23
+ };
24
+ // @ts-ignore
25
+ showcaseConverter(module, showcase);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5TWF0Y2hTdGF0cy5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9tYXRjaC1zdGF0cy9PcHRhUnVnYnlNYXRjaFN0YXRzLnN0b3JpZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsTUFBTSxRQUFRLEdBQUc7SUFDZixRQUFRLEVBQUU7UUFDUjtZQUNFLFNBQVMsRUFBRSxDQUFDLE9BQThCLEVBQUUsRUFBRSxDQUFDLENBQzdDLG9CQUFDLGNBQWMsUUFBRSxPQUFPLEVBQUUsQ0FBa0IsQ0FDN0M7WUFDRCxJQUFJLEVBQUUsV0FBVztTQUNsQjtRQUNEO1lBQ0UsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ2Ysb0JBQUMsbUJBQW1CLElBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxXQUFXLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxRQUFRLEdBQUcsQ0FDdkU7WUFDRCxJQUFJLEVBQUUsWUFBWTtZQUNsQixJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDZixvQkFBQyxtQkFBbUIsSUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLFFBQVEsR0FBRyxDQUN2RTtZQUNELElBQUksRUFBRSxzQkFBc0I7WUFDNUIsSUFBSSxFQUFFLE9BQU87U0FDZDtLQUNGO0lBQ0QsSUFBSSxFQUFFLGtEQUFrRDtDQUN6RCxDQUFDO0FBRUYsYUFBYTtBQUNiLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import 'regenerator-runtime';
2
+ import '@testing-library/jest-dom';
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { render, waitForElementToBeRemoved } from '@testing-library/react';
3
+ import 'regenerator-runtime';
4
+ import '@testing-library/jest-dom';
5
+ jest.mock('@times-components/image', () => ({
6
+ Placeholder: () => React.createElement(React.Fragment, null, "Placeholder")
7
+ }));
8
+ const mockInitSettings = jest.fn();
9
+ const mockInitStyleSheet = jest.fn();
10
+ const mockInitComponent = jest.fn();
11
+ const mockInitElement = () => {
12
+ const element = document.createElement('div');
13
+ element.appendChild(document.createTextNode('Widget'));
14
+ return element;
15
+ };
16
+ jest.mock('../../../utils/config', () => ({
17
+ initSettings: mockInitSettings,
18
+ initStyleSheet: mockInitStyleSheet,
19
+ initScript: () => new Promise(resolve => resolve({})),
20
+ initElement: mockInitElement,
21
+ initComponent: mockInitComponent
22
+ }));
23
+ import { OptaRugbyMatchStats } from '../OptaRugbyMatchStats';
24
+ const requiredProps = {
25
+ season: '2022',
26
+ competition: '209',
27
+ match: '921100'
28
+ };
29
+ describe('OptaRugbyMatchStats', () => {
30
+ it('should render correctly', async () => {
31
+ const { asFragment, getByText } = render(React.createElement(OptaRugbyMatchStats, Object.assign({}, requiredProps)));
32
+ expect(asFragment()).toMatchSnapshot();
33
+ await waitForElementToBeRemoved(getByText('Placeholder'));
34
+ expect(mockInitSettings).toHaveBeenCalledTimes(1);
35
+ expect(mockInitStyleSheet).toHaveBeenCalledTimes(1);
36
+ expect(mockInitComponent).toHaveBeenCalledTimes(1);
37
+ expect(asFragment()).toMatchSnapshot();
38
+ });
39
+ });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5TWF0Y2hTdGF0cy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9tYXRjaC1zdGF0cy9fX3Rlc3RzX18vT3B0YVJ1Z2J5TWF0Y2hTdGF0cy50ZXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNFLE9BQU8scUJBQXFCLENBQUM7QUFDN0IsT0FBTywyQkFBMkIsQ0FBQztBQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLHdEQUFnQjtDQUNwQyxDQUFDLENBQUMsQ0FBQztBQUVKLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ25DLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ3JDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBRXBDLE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRTtJQUMzQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN4QyxZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLGNBQWMsRUFBRSxrQkFBa0I7SUFDbEMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELFdBQVcsRUFBRSxlQUFlO0lBQzVCLGFBQWEsRUFBRSxpQkFBaUI7Q0FDakMsQ0FBQyxDQUFDLENBQUM7QUFFSixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxNQUFNLGFBQWEsR0FBRztJQUNwQixNQUFNLEVBQUUsTUFBTTtJQUNkLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLEtBQUssRUFBRSxRQUFRO0NBQ2hCLENBQUM7QUFFRixRQUFRLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO0lBQ25DLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2QyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FDdEMsb0JBQUMsbUJBQW1CLG9CQUFLLGFBQWEsRUFBSSxDQUMzQyxDQUFDO1FBQ0YsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkMsTUFBTSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUUxRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuRCxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export declare const WidgetContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,153 @@
1
+ import styled from 'styled-components';
2
+ import { breakpoints, colours, fonts } from '@times-components/styleguide';
3
+ import { WidgetContainerBase } from '../shared-styles';
4
+ export const WidgetContainer = styled(WidgetContainerBase) `
5
+ .Opta {
6
+ h2 {
7
+ margin: 20px 0 10px 0 !important;
8
+ }
9
+
10
+ .Opta-Cf {
11
+ padding: 0;
12
+ background-color: transparent;
13
+
14
+ table {
15
+ tbody {
16
+ tr {
17
+ th.Opta-Stats-Bars-Text {
18
+ height: auto;
19
+ padding: 20px 0 0 0;
20
+ color: ${colours.functional.brandColour};
21
+ font-family: ${fonts.supporting};
22
+ font-size: 14px;
23
+ line-height: 14px;
24
+ }
25
+
26
+ td {
27
+ height: auto;
28
+ color: ${colours.functional.brandColour};
29
+ font-family: ${fonts.headline};
30
+ font-size: 18px;
31
+ line-height: 18px;
32
+ padding: 0;
33
+
34
+ &.Opta-Crest {
35
+ text-align: left;
36
+
37
+ &.Opta-Home {
38
+ text-align: right;
39
+ }
40
+
41
+ img {
42
+ width: 40px;
43
+ }
44
+ }
45
+
46
+ &.Opta-Team {
47
+ padding-left: 10px;
48
+ font-size: 18px;
49
+ line-height: 18px;
50
+
51
+ &.Opta-Home {
52
+ padding-right: 10px;
53
+ padding-left: 0;
54
+ text-align: right;
55
+ }
56
+ }
57
+
58
+ &.Opta-Score {
59
+ width: 20px;
60
+ font-size: 24px;
61
+ line-height: 24px;
62
+ text-align: left;
63
+
64
+ &.Opta-Home {
65
+ text-align: right;
66
+ }
67
+
68
+ span {
69
+ min-width: 0;
70
+ padding: 0;
71
+ color: inherit;
72
+ font-family: inherit;
73
+ font-size: inherit;
74
+ line-height: inherit;
75
+ text-align: inherit;
76
+ background-color: transparent !important;
77
+ }
78
+
79
+ @media (min-width: ${breakpoints.medium}px) {
80
+ width: 30px;
81
+ font-size: 32px;
82
+ line-height: 32px;
83
+ }
84
+ }
85
+
86
+ &.Opta-Divider {
87
+ width: 20px;
88
+ text-align: center;
89
+
90
+ abbr {
91
+ font-size: inherit;
92
+ line-height: inherit;
93
+ text-decoration: none;
94
+ }
95
+ }
96
+
97
+ .Opta-Bars {
98
+ margin: 0;
99
+
100
+ .Opta-Percent.Opta-Home {
101
+ background-color: ${colours.section.sport};
102
+ }
103
+
104
+ .Opta-Percent.Opta-Away {
105
+ background-color: ${colours.section.sport};
106
+ opacity: 0.5;
107
+ }
108
+ }
109
+ }
110
+
111
+ &.Opta-Score-Extras {
112
+ td {
113
+ color: ${colours.functional.brandColour};
114
+ font-family: ${fonts.supporting};
115
+ font-size: 14px;
116
+ line-height: 28px;
117
+
118
+ span {
119
+ color: inherit;
120
+ font-size: inherit;
121
+ }
122
+ }
123
+ }
124
+
125
+ &.Opta-MatchHeader-Details {
126
+ div {
127
+ padding: 0;
128
+ color: ${colours.section.sport};
129
+ font-family: ${fonts.supporting};
130
+ font-size: 12px;
131
+ line-height: 12px;
132
+ letter-spacing: 1px;
133
+ text-transform: uppercase;
134
+ background-color: transparent;
135
+
136
+ span {
137
+ margin: 0 6px;
138
+ color: inherit;
139
+ font-size: inherit;
140
+ }
141
+ }
142
+ }
143
+ }
144
+ }
145
+
146
+ &.Opta-Stats-Bars {
147
+ margin-bottom: 20px;
148
+ }
149
+ }
150
+ }
151
+ }
152
+ `;
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9tYXRjaC1zdGF0cy9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7O3VCQWdCbkMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXOzZCQUN4QixLQUFLLENBQUMsVUFBVTs7Ozs7Ozt1QkFPdEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXOzZCQUN4QixLQUFLLENBQUMsUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUNBa0ROLFdBQVcsQ0FBQyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQXNCakIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLOzs7O3NDQUlyQixPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUs7Ozs7Ozs7O3lCQVFsQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVc7K0JBQ3hCLEtBQUssQ0FBQyxVQUFVOzs7Ozs7Ozs7Ozs7Ozt5QkFjdEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLOytCQUNmLEtBQUssQ0FBQyxVQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXVCOUMsQ0FBQyJ9
@@ -0,0 +1,6 @@
1
+ export declare const Container: import("styled-components").StyledComponent<"div", any, {
2
+ border: boolean;
3
+ fullWidth?: boolean | undefined;
4
+ }, never>;
5
+ export declare const PlaceholderContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
6
+ export declare const WidgetContainerBase: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,72 @@
1
+ import styled from 'styled-components';
2
+ import { breakpoints, colours, fonts } from '@times-components/styleguide';
3
+ export const Container = styled.div `
4
+ margin: 0 auto 20px auto;
5
+ background-color: ${colours.functional.backgroundPrimary};
6
+ border-top: ${({ border }) => border ? `2px solid ${colours.section.sport}` : 'none'};
7
+
8
+ a {
9
+ text-decoration: none;
10
+ }
11
+
12
+ @media (min-width: ${breakpoints.medium}px) {
13
+ flex-direction: row;
14
+ width: ${({ fullWidth }) => (fullWidth ? '100%' : '80.8%')};
15
+ }
16
+
17
+ @media (min-width: ${breakpoints.wide}px) {
18
+ width: ${({ fullWidth }) => (fullWidth ? '100%' : '56.2%')};
19
+ }
20
+ `;
21
+ export const PlaceholderContainer = styled.div `
22
+ position: relative;
23
+ height: 200px;
24
+ `;
25
+ export const WidgetContainerBase = styled.div `
26
+ .Opta {
27
+ .Opta_W {
28
+ margin: 0;
29
+ background-color: transparent;
30
+
31
+ h2 {
32
+ height: auto;
33
+ margin: 20px 0;
34
+ color: ${colours.section.sport};
35
+ font-family: ${fonts.supporting};
36
+ font-size: 12px;
37
+ line-height: 14px;
38
+ font-weight: normal;
39
+ letter-spacing: 1px;
40
+ text-align: center;
41
+ text-transform: uppercase;
42
+ background-color: transparent;
43
+
44
+ span {
45
+ height: auto;
46
+ font-size: 12px;
47
+ line-height: 14px;
48
+ font-weight: normal;
49
+ }
50
+ }
51
+
52
+ table {
53
+ width: 100%;
54
+ margin: 0;
55
+ border-collapse: collapse;
56
+ border-spacing: 0;
57
+ }
58
+ }
59
+
60
+ p {
61
+ margin: 20px 0 0 0 !important;
62
+ padding: 0 0 20px 0 !important;
63
+ color: ${colours.functional.brandColour};
64
+ font-family: ${fonts.supporting};
65
+ font-size: 14px;
66
+ line-height: 14px;
67
+ text-align: center;
68
+ background: transparent !important;
69
+ }
70
+ }
71
+ `;
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXN0eWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvcnVnYnkvc2hhcmVkLXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBMEM7O3NCQUV2RCxPQUFPLENBQUMsVUFBVSxDQUFDLGlCQUFpQjtnQkFDMUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU07Ozs7Ozt1QkFNbkMsV0FBVyxDQUFDLE1BQU07O2FBRTVCLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOzs7dUJBR3ZDLFdBQVcsQ0FBQyxJQUFJO2FBQzFCLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOztDQUU3RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQTs7O0NBRzdDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFBOzs7Ozs7Ozs7aUJBUzVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSzt1QkFDZixLQUFLLENBQUMsVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQTRCeEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXO3FCQUN4QixLQUFLLENBQUMsVUFBVTs7Ozs7OztDQU9wQyxDQUFDIn0=
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export declare const OptaRugbyStandings: React.FC<{
3
+ season: string;
4
+ competition: string;
5
+ default_nav?: string;
6
+ navigation?: boolean;
7
+ full_width?: boolean;
8
+ }>;
@@ -0,0 +1,36 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Placeholder } from '@times-components/image';
3
+ import { initSettings, initStyleSheet, initScript, initElement, initComponent } from '../../utils/config';
4
+ import { Container, PlaceholderContainer } from '../shared-styles';
5
+ import { WidgetContainer } from './styles';
6
+ export const OptaRugbyStandings = React.memo(({ season, competition, default_nav = 1, navigation, full_width }) => {
7
+ const ref = React.createRef();
8
+ const [isReady, setIsReady] = useState(false);
9
+ useEffect(() => {
10
+ const sport = 'rugby';
11
+ initSettings();
12
+ initStyleSheet(sport);
13
+ initScript().then(() => {
14
+ if (ref.current) {
15
+ ref.current.innerHTML = initElement('opta-widget', {
16
+ sport,
17
+ widget: 'standings',
18
+ season,
19
+ competition,
20
+ live: true,
21
+ navigation: navigation ? 'dropdown' : undefined,
22
+ default_nav,
23
+ show_crests: true,
24
+ breakpoints: 520
25
+ }).outerHTML;
26
+ initComponent();
27
+ setIsReady(true);
28
+ }
29
+ });
30
+ }, []);
31
+ return (React.createElement(Container, { border: isReady, fullWidth: full_width },
32
+ React.createElement(WidgetContainer, { ref: ref }),
33
+ !isReady && (React.createElement(PlaceholderContainer, null,
34
+ React.createElement(Placeholder, null)))));
35
+ });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3RhbmRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9zdGFuZGluZ3MvT3B0YVJ1Z2J5U3RhbmRpbmdzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBTTFCLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQUNuRSxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBRTlDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXZELFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7UUFFdEIsWUFBWSxFQUFFLENBQUM7UUFDZixjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRTtvQkFDakQsS0FBSztvQkFDTCxNQUFNLEVBQUUsV0FBVztvQkFDbkIsTUFBTTtvQkFDTixXQUFXO29CQUNYLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQkFDL0MsV0FBVztvQkFDWCxXQUFXLEVBQUUsSUFBSTtvQkFDakIsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQy9DLG9CQUFDLGVBQWUsSUFBQyxHQUFHLEVBQUUsR0FBRyxHQUFJO1FBRTVCLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==