@times-components/ts-components 1.24.0 → 1.26.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 (137) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/__mocks__/isomorphic-unfetch.d.ts +3 -0
  3. package/dist/__mocks__/isomorphic-unfetch.js +4 -0
  4. package/dist/components/article-flag/LiveArticleFlag.js +5 -5
  5. package/dist/components/article-flag/styles.d.ts +4 -3
  6. package/dist/components/article-flag/styles.js +30 -26
  7. package/dist/components/article-header/ArticleHeader.js +11 -2
  8. package/dist/components/common-styles.d.ts +13 -0
  9. package/dist/components/common-styles.js +54 -10
  10. package/dist/components/in-article-big-numbers/BigNumbers.js +4 -4
  11. package/dist/components/in-article-big-numbers/styles.d.ts +1 -13
  12. package/dist/components/in-article-big-numbers/styles.js +3 -52
  13. package/dist/components/in-article-timelines/Timelines.d.ts +4 -0
  14. package/dist/components/in-article-timelines/Timelines.js +70 -0
  15. package/dist/components/in-article-timelines/Timelines.stories.d.ts +1 -0
  16. package/dist/components/in-article-timelines/Timelines.stories.js +21 -0
  17. package/dist/components/in-article-timelines/__tests__/Timelines.test.d.ts +2 -0
  18. package/dist/components/in-article-timelines/__tests__/Timelines.test.js +256 -0
  19. package/dist/components/in-article-timelines/styles.d.ts +15 -0
  20. package/dist/components/in-article-timelines/styles.js +115 -0
  21. package/dist/components/opta/football/fixtures/OptaFootballFixtures.js +5 -4
  22. package/dist/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.d.ts +2 -0
  23. package/dist/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.js +41 -0
  24. package/dist/components/opta/football/match-stats/OptaFootballMatchStats.js +4 -3
  25. package/dist/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.d.ts +2 -0
  26. package/dist/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.js +40 -0
  27. package/dist/components/opta/football/standings/OptaFootballStandings.js +4 -3
  28. package/dist/components/opta/football/standings/__tests__/OptaFootballStandings.test.d.ts +2 -0
  29. package/dist/components/opta/football/standings/__tests__/OptaFootballStandings.test.js +39 -0
  30. package/dist/components/opta/football/summary/OptaFootballSummary.js +4 -3
  31. package/dist/components/opta/football/summary/__tests__/OptaFootballSummary.test.d.ts +2 -0
  32. package/dist/components/opta/football/summary/__tests__/OptaFootballSummary.test.js +40 -0
  33. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.d.ts +8 -0
  34. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.js +54 -0
  35. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.d.ts +1 -0
  36. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.js +26 -0
  37. package/dist/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.d.ts +2 -0
  38. package/dist/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.js +41 -0
  39. package/dist/components/opta/rugby/fixtures/styles.d.ts +2 -0
  40. package/dist/components/opta/rugby/fixtures/styles.js +255 -0
  41. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.d.ts +7 -0
  42. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.js +43 -0
  43. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.d.ts +1 -0
  44. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.js +26 -0
  45. package/dist/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.d.ts +2 -0
  46. package/dist/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.js +40 -0
  47. package/dist/components/opta/rugby/match-stats/styles.d.ts +1 -0
  48. package/dist/components/opta/rugby/match-stats/styles.js +153 -0
  49. package/dist/components/opta/rugby/shared-styles.d.ts +6 -0
  50. package/dist/components/opta/rugby/shared-styles.js +72 -0
  51. package/dist/components/opta/rugby/standings/OptaRugbyStandings.d.ts +8 -0
  52. package/dist/components/opta/rugby/standings/OptaRugbyStandings.js +36 -0
  53. package/dist/components/opta/rugby/standings/OptaRugbyStandings.stories.d.ts +1 -0
  54. package/dist/components/opta/rugby/standings/OptaRugbyStandings.stories.js +36 -0
  55. package/dist/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.d.ts +2 -0
  56. package/dist/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.js +39 -0
  57. package/dist/components/opta/rugby/standings/styles.d.ts +1 -0
  58. package/dist/components/opta/rugby/standings/styles.js +247 -0
  59. package/dist/components/opta/rugby/summary/OptaRugbySummary.d.ts +7 -0
  60. package/dist/components/opta/rugby/summary/OptaRugbySummary.js +44 -0
  61. package/dist/components/opta/rugby/summary/OptaRugbySummary.stories.d.ts +1 -0
  62. package/dist/components/opta/rugby/summary/OptaRugbySummary.stories.js +26 -0
  63. package/dist/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.d.ts +2 -0
  64. package/dist/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.js +40 -0
  65. package/dist/components/opta/rugby/summary/styles.d.ts +1 -0
  66. package/dist/components/opta/rugby/summary/styles.js +152 -0
  67. package/dist/components/opta/utils/__tests__/config.test.d.ts +1 -0
  68. package/dist/components/opta/utils/__tests__/config.test.js +24 -0
  69. package/dist/components/opta/utils/config.d.ts +1 -1
  70. package/dist/components/opta/utils/config.js +12 -3
  71. package/dist/helpers/fetch/FetchProvider.js +3 -3
  72. package/dist/helpers/fetch/__tests__/FetchProvider.test.d.ts +0 -1
  73. package/dist/helpers/fetch/__tests__/FetchProvider.test.js +17 -23
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.js +2 -1
  76. package/jest.config.js +4 -4
  77. package/package.json +6 -5
  78. package/rnw.js +1 -1
  79. package/src/__mocks__/isomorphic-unfetch.ts +3 -0
  80. package/src/components/article-flag/LiveArticleFlag.tsx +7 -6
  81. package/src/components/article-flag/__tests__/__snapshots__/ArticleFlag.test.tsx.snap +100 -100
  82. package/src/components/article-flag/__tests__/__snapshots__/LiveArticleFlag.test.tsx.snap +33 -33
  83. package/src/components/article-flag/styles.ts +32 -27
  84. package/src/components/article-header/ArticleHeader.tsx +10 -2
  85. package/src/components/article-header/__tests__/__snapshots__/ArticleHeader.test.tsx.snap +14 -11
  86. package/src/components/carousel/__tests__/__snapshots__/GalleryCarousel.test.tsx.snap +3 -3
  87. package/src/components/common-styles.ts +66 -7
  88. package/src/components/in-article-big-numbers/BigNumbers.tsx +11 -8
  89. package/src/components/in-article-big-numbers/__tests__/__snapshots__/BigNumbers.test.tsx.snap +67 -67
  90. package/src/components/in-article-big-numbers/styles.ts +2 -65
  91. package/src/components/in-article-info-card/__tests__/__snapshots__/InfoCard.test.tsx.snap +8 -8
  92. package/src/components/in-article-info-card-bulletpoints/__tests__/__snapshots__/InfoCardBulletPoints.test.tsx.snap +2 -2
  93. package/src/components/in-article-puff/__tests__/__snapshots__/InArticlePuff.test.tsx.snap +10 -10
  94. package/src/components/in-article-timelines/Timelines.stories.tsx +33 -0
  95. package/src/components/in-article-timelines/Timelines.tsx +160 -0
  96. package/src/components/in-article-timelines/__tests__/Timelines.test.tsx +309 -0
  97. package/src/components/in-article-timelines/__tests__/__snapshots__/Timelines.test.tsx.snap +727 -0
  98. package/src/components/in-article-timelines/styles.ts +127 -0
  99. package/src/components/opta/football/fixtures/OptaFootballFixtures.tsx +5 -3
  100. package/src/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.tsx +53 -0
  101. package/src/components/opta/football/fixtures/__tests__/__snapshots__/OptaFootballFixtures.test.tsx.snap +34 -0
  102. package/src/components/opta/football/match-stats/OptaFootballMatchStats.tsx +4 -2
  103. package/src/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.tsx +52 -0
  104. package/src/components/opta/football/match-stats/__tests__/__snapshots__/OptaFootballMatchStats.test.tsx.snap +34 -0
  105. package/src/components/opta/football/standings/OptaFootballStandings.tsx +4 -2
  106. package/src/components/opta/football/standings/__tests__/OptaFootballStandings.test.tsx +51 -0
  107. package/src/components/opta/football/standings/__tests__/__snapshots__/OptaFootballStandings.test.tsx.snap +34 -0
  108. package/src/components/opta/football/summary/OptaFootballSummary.tsx +4 -2
  109. package/src/components/opta/football/summary/__tests__/OptaFootballSummary.test.tsx +52 -0
  110. package/src/components/opta/football/summary/__tests__/__snapshots__/OptaFootballSummary.test.tsx.snap +34 -0
  111. package/src/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.tsx +44 -0
  112. package/src/components/opta/rugby/fixtures/OptaRugbyFixtures.tsx +86 -0
  113. package/src/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.tsx +53 -0
  114. package/src/components/opta/rugby/fixtures/__tests__/__snapshots__/OptaRugbyFixtures.test.tsx.snap +34 -0
  115. package/src/components/opta/rugby/fixtures/styles.ts +257 -0
  116. package/src/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.tsx +34 -0
  117. package/src/components/opta/rugby/match-stats/OptaRugbyMatchStats.tsx +71 -0
  118. package/src/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.tsx +52 -0
  119. package/src/components/opta/rugby/match-stats/__tests__/__snapshots__/OptaRugbyMatchStats.test.tsx.snap +34 -0
  120. package/src/components/opta/rugby/match-stats/styles.ts +154 -0
  121. package/src/components/opta/rugby/shared-styles.ts +75 -0
  122. package/src/components/opta/rugby/standings/OptaRugbyStandings.stories.tsx +49 -0
  123. package/src/components/opta/rugby/standings/OptaRugbyStandings.tsx +66 -0
  124. package/src/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.tsx +51 -0
  125. package/src/components/opta/rugby/standings/__tests__/__snapshots__/OptaRugbyStandings.test.tsx.snap +34 -0
  126. package/src/components/opta/rugby/standings/styles.ts +248 -0
  127. package/src/components/opta/rugby/summary/OptaRugbySummary.stories.tsx +34 -0
  128. package/src/components/opta/rugby/summary/OptaRugbySummary.tsx +71 -0
  129. package/src/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.tsx +52 -0
  130. package/src/components/opta/rugby/summary/__tests__/__snapshots__/OptaRugbySummary.test.tsx.snap +34 -0
  131. package/src/components/opta/rugby/summary/styles.ts +153 -0
  132. package/src/components/opta/utils/__tests__/config.test.tsx +38 -0
  133. package/src/components/opta/utils/config.ts +13 -3
  134. package/src/helpers/fetch/FetchProvider.tsx +2 -2
  135. package/src/helpers/fetch/__tests__/FetchProvider.test.tsx +21 -31
  136. package/src/helpers/fetch/__tests__/__snapshots__/FetchProvider.test.tsx.snap +10 -2
  137. package/src/index.ts +1 -0
@@ -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==
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { showcaseConverter } from '@times-components/storybook';
3
+ import { ArticleHarness } from '../../../../fixtures/article-harness/ArticleHarness';
4
+ import { OptaRugbyStandings } from './OptaRugbyStandings';
5
+ const showcase = {
6
+ children: [
7
+ {
8
+ decorator: (storyFn) => (React.createElement(ArticleHarness, null, storyFn())),
9
+ type: 'decorator'
10
+ },
11
+ {
12
+ component: () => React.createElement(OptaRugbyStandings, { season: "2022", competition: "209" }),
13
+ name: 'Standings',
14
+ type: 'story'
15
+ },
16
+ {
17
+ component: () => React.createElement(OptaRugbyStandings, { season: "2022", competition: "242" }),
18
+ name: 'Standings (inline)',
19
+ type: 'story'
20
+ },
21
+ {
22
+ component: () => (React.createElement(OptaRugbyStandings, { season: "2022", competition: "242", navigation: true })),
23
+ name: 'Standings (dropdown)',
24
+ type: 'story'
25
+ },
26
+ {
27
+ component: () => (React.createElement(OptaRugbyStandings, { season: "2022", competition: "242", default_nav: "2", navigation: true })),
28
+ name: 'Standings (default)',
29
+ type: 'story'
30
+ }
31
+ ],
32
+ name: 'Typescript Component/In Article/Rugby/Standings'
33
+ };
34
+ // @ts-ignore
35
+ showcaseConverter(module, showcase);
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3RhbmRpbmdzLnN0b3JpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL3J1Z2J5L3N0YW5kaW5ncy9PcHRhUnVnYnlTdGFuZGluZ3Muc3Rvcmllcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxNQUFNLFFBQVEsR0FBRztJQUNmLFFBQVEsRUFBRTtRQUNSO1lBQ0UsU0FBUyxFQUFFLENBQUMsT0FBOEIsRUFBRSxFQUFFLENBQUMsQ0FDN0Msb0JBQUMsY0FBYyxRQUFFLE9BQU8sRUFBRSxDQUFrQixDQUM3QztZQUNELElBQUksRUFBRSxXQUFXO1NBQ2xCO1FBQ0Q7WUFDRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQUMsa0JBQWtCLElBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxXQUFXLEVBQUMsS0FBSyxHQUFHO1lBQ3ZFLElBQUksRUFBRSxXQUFXO1lBQ2pCLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxvQkFBQyxrQkFBa0IsSUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxLQUFLLEdBQUc7WUFDdkUsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDZixvQkFBQyxrQkFBa0IsSUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxLQUFLLEVBQUMsVUFBVSxTQUFHLENBQ2xFO1lBQ0QsSUFBSSxFQUFFLHNCQUFzQjtZQUM1QixJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDZixvQkFBQyxrQkFBa0IsSUFDakIsTUFBTSxFQUFDLE1BQU0sRUFDYixXQUFXLEVBQUMsS0FBSyxFQUNqQixXQUFXLEVBQUMsR0FBRyxFQUNmLFVBQVUsU0FDVixDQUNIO1lBQ0QsSUFBSSxFQUFFLHFCQUFxQjtZQUMzQixJQUFJLEVBQUUsT0FBTztTQUNkO0tBQ0Y7SUFDRCxJQUFJLEVBQUUsaURBQWlEO0NBQ3hELENBQUM7QUFFRixhQUFhO0FBQ2IsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ import 'regenerator-runtime';
2
+ import '@testing-library/jest-dom';
@@ -0,0 +1,39 @@
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 { OptaRugbyStandings } from '../OptaRugbyStandings';
24
+ const requiredProps = {
25
+ season: '2022',
26
+ competition: '209'
27
+ };
28
+ describe('OptaRugbyStandings', () => {
29
+ it('should render correctly', async () => {
30
+ const { asFragment, getByText } = render(React.createElement(OptaRugbyStandings, Object.assign({}, requiredProps)));
31
+ expect(asFragment()).toMatchSnapshot();
32
+ await waitForElementToBeRemoved(getByText('Placeholder'));
33
+ expect(mockInitSettings).toHaveBeenCalledTimes(1);
34
+ expect(mockInitStyleSheet).toHaveBeenCalledTimes(1);
35
+ expect(mockInitComponent).toHaveBeenCalledTimes(1);
36
+ expect(asFragment()).toMatchSnapshot();
37
+ });
38
+ });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3RhbmRpbmdzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL3J1Z2J5L3N0YW5kaW5ncy9fX3Rlc3RzX18vT3B0YVJ1Z2J5U3RhbmRpbmdzLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0UsT0FBTyxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLDJCQUEyQixDQUFDO0FBRW5DLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsd0RBQWdCO0NBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBRUosTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFcEMsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQzNCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdkQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckQsV0FBVyxFQUFFLGVBQWU7SUFDNUIsYUFBYSxFQUFFLGlCQUFpQjtDQUNqQyxDQUFDLENBQUMsQ0FBQztBQUVKLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsV0FBVyxFQUFFLEtBQUs7Q0FDbkIsQ0FBQztBQUVGLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7SUFDbEMsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUN0QyxvQkFBQyxrQkFBa0Isb0JBQUssYUFBYSxFQUFJLENBQzFDLENBQUM7UUFDRixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QyxNQUFNLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBRTFELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1 @@
1
+ export declare const WidgetContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,247 @@
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
+ h3 {
7
+ height: 40px;
8
+ margin: 0;
9
+ padding-left: 10px;
10
+ color: ${colours.functional.primary};
11
+ font-family: ${fonts.supporting};
12
+ font-size: 14px;
13
+ line-height: 42px;
14
+ font-weight: normal;
15
+ background-color: ${colours.functional.keyline};
16
+ border: 0;
17
+
18
+ span {
19
+ float: none;
20
+ padding: 0;
21
+ }
22
+
23
+ @media (min-width: ${breakpoints.medium}px) {
24
+ padding-left: 14px;
25
+ }
26
+ }
27
+
28
+ .Opta-Cf {
29
+ float: none;
30
+ margin: 0;
31
+ padding: 0;
32
+ background-color: transparent;
33
+
34
+ &.Opta-Dropdown {
35
+ .Opta-Nav {
36
+ width: 110px;
37
+ margin: 20px auto;
38
+ background-color: transparent;
39
+ border: 1px solid ${colours.functional.brandColour};
40
+
41
+ h3 {
42
+ height: 38px;
43
+ color: ${colours.functional.brandColour};
44
+ font-family: ${fonts.supporting};
45
+ font-size: 14px;
46
+ line-height: 40px;
47
+ font-weight: normal;
48
+ text-align: center;
49
+ background-color: white;
50
+ border: 0;
51
+
52
+ .Opta-Icon {
53
+ height: 38px;
54
+ margin: 0 10px 0 0;
55
+
56
+ :after {
57
+ background-position: -180px -19px;
58
+ }
59
+ }
60
+
61
+ .Opta-Title {
62
+ height: 38px;
63
+ padding: 0 0 0 18px;
64
+ line-height: 40px;
65
+ }
66
+
67
+ &.Opta-Open {
68
+ .Opta-Icon {
69
+ :after {
70
+ background-position: -149px -20px;
71
+ }
72
+ }
73
+ }
74
+ }
75
+
76
+ ul {
77
+ display: none;
78
+ top: 0;
79
+ list-style-type: none;
80
+ background-color: ${colours.functional.backgroundPrimary};
81
+ border: 0;
82
+ border-top: 1px solid ${colours.functional.brandColour};
83
+
84
+ li {
85
+ margin: 0;
86
+ text-align: center;
87
+
88
+ a {
89
+ height: 28px;
90
+ padding: 0;
91
+ color: ${colours.functional.primary};
92
+ font-family: ${fonts.supporting};
93
+ font-size: 14px;
94
+ line-height: 30px;
95
+ background-color: transparent;
96
+
97
+ &:hover {
98
+ color: ${colours.functional.brandColour};
99
+ font-weight: bold;
100
+ background-color: white;
101
+ }
102
+ }
103
+
104
+ &:first-of-type {
105
+ a {
106
+ height: 32px;
107
+ padding-top: 4px;
108
+ }
109
+ }
110
+
111
+ &:last-of-type {
112
+ a {
113
+ height: 32px;
114
+ padding-bottom: 4px;
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
+
122
+ ul.Opta-TabbedContent {
123
+ margin: 0;
124
+ padding: 0;
125
+ list-style-type: none;
126
+
127
+ li {
128
+ display: none;
129
+
130
+ &.Opta-On {
131
+ display: block;
132
+ }
133
+
134
+ h3 {
135
+ display: none;
136
+ text-decoration: none !important;
137
+
138
+ .Opta-Icon {
139
+ display: none;
140
+ }
141
+ }
142
+ }
143
+ }
144
+
145
+ table {
146
+ thead {
147
+ background-color: ${colours.functional.backgroundSecondary};
148
+
149
+ tr {
150
+ height: 40px;
151
+
152
+ th {
153
+ padding: 0;
154
+ color: ${colours.functional.primary};
155
+ font-family: ${fonts.supporting};
156
+ font-size: 14px;
157
+ line-height: 14px;
158
+ font-weight: normal;
159
+ text-align: center;
160
+ background-color: transparent;
161
+
162
+ abbr {
163
+ font-size: inherit;
164
+ line-height: inherit;
165
+ text-decoration: none;
166
+ }
167
+
168
+ &.Opta-Team {
169
+ width: auto !important;
170
+ }
171
+
172
+ &:last-of-type {
173
+ padding: 0 10px 0 0;
174
+ }
175
+ }
176
+ }
177
+ }
178
+
179
+ tbody {
180
+ tr {
181
+ height: 40px;
182
+ border-bottom: 1px solid #e4e4e4;
183
+
184
+ th {
185
+ width: 42px;
186
+ padding: 6px 0 0 0;
187
+ color: ${colours.section.sport};
188
+ font-family: ${fonts.supporting};
189
+ font-size: 14px;
190
+ line-height: 14px;
191
+ font-weight: normal;
192
+ text-align: center;
193
+ background-color: transparent;
194
+
195
+ @media (min-width: ${breakpoints.medium}px) {
196
+ width: 50px;
197
+ font-size: 16px;
198
+ line-height: 16px;
199
+ }
200
+ }
201
+
202
+ td {
203
+ width: 30px;
204
+ padding: 3px 0 0 0;
205
+ color: ${colours.functional.brandColour};
206
+ font-family: ${fonts.headline};
207
+ font-size: 14px;
208
+ line-height: 14px;
209
+ text-align: center;
210
+ background-color: transparent;
211
+
212
+ &:last-of-type {
213
+ width: 40px;
214
+ padding: 3px 10px 0 0;
215
+ }
216
+
217
+ &.Opta-Team {
218
+ width: auto !important;
219
+ text-align: left;
220
+ }
221
+
222
+ .Opta-Image {
223
+ width: 20px;
224
+ margin-top: -3px;
225
+
226
+ img {
227
+ width: 20px;
228
+ }
229
+ }
230
+
231
+ @media (min-width: ${breakpoints.medium}px) {
232
+ width: 40px;
233
+ font-size: 16px;
234
+ line-height: 16px;
235
+
236
+ &:last-of-type {
237
+ width: 50px;
238
+ }
239
+ }
240
+ }
241
+ }
242
+ }
243
+ }
244
+ }
245
+ }
246
+ `;
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9zdGFuZGluZ3Mvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTs7Ozs7O2VBTTNDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTztxQkFDcEIsS0FBSyxDQUFDLFVBQVU7Ozs7MEJBSVgsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPOzs7Ozs7OzsyQkFRekIsV0FBVyxDQUFDLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7OEJBZ0JmLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVzs7OztxQkFJdkMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXOzJCQUN4QixLQUFLLENBQUMsVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dDQW9DWCxPQUFPLENBQUMsVUFBVSxDQUFDLGlCQUFpQjs7b0NBRWhDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVzs7Ozs7Ozs7O3lCQVN6QyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU87K0JBQ3BCLEtBQUssQ0FBQyxVQUFVOzs7Ozs7MkJBTXBCLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFpRDNCLE9BQU8sQ0FBQyxVQUFVLENBQUMsbUJBQW1COzs7Ozs7O3VCQU83QyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU87NkJBQ3BCLEtBQUssQ0FBQyxVQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1QkFnQ3RCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSzs2QkFDZixLQUFLLENBQUMsVUFBVTs7Ozs7OzttQ0FPVixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7Ozt1QkFVOUIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXOzZCQUN4QixLQUFLLENBQUMsUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQ0F5QlIsV0FBVyxDQUFDLE1BQU07Ozs7Ozs7Ozs7Ozs7OztDQWVwRCxDQUFDIn0=
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare const OptaRugbySummary: React.FC<{
3
+ season: string;
4
+ competition: string;
5
+ match: string;
6
+ full_width?: boolean;
7
+ }>;