@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,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
+ }>;
@@ -0,0 +1,44 @@
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 OptaRugbySummary = 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: 'match_summary',
18
+ season,
19
+ competition,
20
+ match,
21
+ live: true,
22
+ show_match_header: true,
23
+ show_halftime_score: true,
24
+ show_competition_name: true,
25
+ show_date: true,
26
+ show_crests: true,
27
+ show_tries: true,
28
+ show_conversions: true,
29
+ show_penalties: true,
30
+ show_drop_goals: 'scored',
31
+ date_format: 'DD/MM/YYYY',
32
+ breakpoints: '520'
33
+ }).outerHTML;
34
+ initComponent();
35
+ setIsReady(true);
36
+ }
37
+ });
38
+ }, []);
39
+ return (React.createElement(Container, { border: isReady, fullWidth: full_width },
40
+ React.createElement(WidgetContainer, { ref: ref }),
41
+ !isReady && (React.createElement(PlaceholderContainer, null,
42
+ React.createElement(Placeholder, null)))));
43
+ });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3VtbWFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvcnVnYnkvc3VtbWFyeS9PcHRhUnVnYnlTdW1tYXJ5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBS3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDN0QsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBa0IsQ0FBQztJQUU5QyxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUV2RCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBRXRCLFlBQVksRUFBRSxDQUFDO1FBQ2YsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRCLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2pELEtBQUs7b0JBQ0wsTUFBTSxFQUFFLGVBQWU7b0JBQ3ZCLE1BQU07b0JBQ04sV0FBVztvQkFDWCxLQUFLO29CQUNMLElBQUksRUFBRSxJQUFJO29CQUNWLGlCQUFpQixFQUFFLElBQUk7b0JBQ3ZCLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLHFCQUFxQixFQUFFLElBQUk7b0JBQzNCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRSxJQUFJO29CQUNqQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsY0FBYyxFQUFFLElBQUk7b0JBQ3BCLGVBQWUsRUFBRSxRQUFRO29CQUN6QixXQUFXLEVBQUUsWUFBWTtvQkFDekIsV0FBVyxFQUFFLEtBQUs7aUJBQ25CLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQy9DLG9CQUFDLGVBQWUsSUFBQyxHQUFHLEVBQUUsR0FBRyxHQUFJO1FBRTVCLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMifQ==
@@ -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 { OptaRugbySummary } from './OptaRugbySummary';
5
+ const showcase = {
6
+ children: [
7
+ {
8
+ decorator: (storyFn) => (React.createElement(ArticleHarness, null, storyFn())),
9
+ type: 'decorator'
10
+ },
11
+ {
12
+ component: () => (React.createElement(OptaRugbySummary, { season: "2022", competition: "209", match: "921100" })),
13
+ name: 'Summary',
14
+ type: 'story'
15
+ },
16
+ {
17
+ component: () => (React.createElement(OptaRugbySummary, { season: "2022", competition: "209", match: "921087" })),
18
+ name: 'Summary (results)',
19
+ type: 'story'
20
+ }
21
+ ],
22
+ name: 'Typescript Component/In Article/Rugby/Summary'
23
+ };
24
+ // @ts-ignore
25
+ showcaseConverter(module, showcase);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3VtbWFyeS5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9zdW1tYXJ5L09wdGFSdWdieVN1bW1hcnkuc3Rvcmllcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxNQUFNLFFBQVEsR0FBRztJQUNmLFFBQVEsRUFBRTtRQUNSO1lBQ0UsU0FBUyxFQUFFLENBQUMsT0FBOEIsRUFBRSxFQUFFLENBQUMsQ0FDN0Msb0JBQUMsY0FBYyxRQUFFLE9BQU8sRUFBRSxDQUFrQixDQUM3QztZQUNELElBQUksRUFBRSxXQUFXO1NBQ2xCO1FBQ0Q7WUFDRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDZixvQkFBQyxnQkFBZ0IsSUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLFFBQVEsR0FBRyxDQUNwRTtZQUNELElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ2Ysb0JBQUMsZ0JBQWdCLElBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxXQUFXLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxRQUFRLEdBQUcsQ0FDcEU7WUFDRCxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLElBQUksRUFBRSxPQUFPO1NBQ2Q7S0FDRjtJQUNELElBQUksRUFBRSwrQ0FBK0M7Q0FDdEQsQ0FBQztBQUVGLGFBQWE7QUFDYixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMifQ==
@@ -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 { OptaRugbySummary } from '../OptaRugbySummary';
24
+ const requiredProps = {
25
+ season: '2022',
26
+ competition: '209',
27
+ match: '921100'
28
+ };
29
+ describe('OptaRugbySummary', () => {
30
+ it('should render correctly', async () => {
31
+ const { asFragment, getByText } = render(React.createElement(OptaRugbySummary, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3VtbWFyeS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9zdW1tYXJ5L19fdGVzdHNfXy9PcHRhUnVnYnlTdW1tYXJ5LnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0UsT0FBTyxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLDJCQUEyQixDQUFDO0FBRW5DLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsd0RBQWdCO0NBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBRUosTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFcEMsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQzNCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdkQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckQsV0FBVyxFQUFFLGVBQWU7SUFDNUIsYUFBYSxFQUFFLGlCQUFpQjtDQUNqQyxDQUFDLENBQUMsQ0FBQztBQUVKLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsV0FBVyxFQUFFLEtBQUs7SUFDbEIsS0FBSyxFQUFFLFFBQVE7Q0FDaEIsQ0FBQztBQUVGLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7SUFDaEMsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUN0QyxvQkFBQyxnQkFBZ0Isb0JBQUssYUFBYSxFQUFJLENBQ3hDLENBQUM7UUFDRixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QyxNQUFNLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBRTFELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1 @@
1
+ export declare const WidgetContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,152 @@
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
+ td {
18
+ color: ${colours.functional.brandColour};
19
+ font-family: ${fonts.headline};
20
+ font-size: 18px;
21
+ line-height: 18px;
22
+ padding: 0;
23
+
24
+ &.Opta-Crest {
25
+ text-align: left;
26
+
27
+ &.Opta-Home {
28
+ text-align: right;
29
+ }
30
+
31
+ img {
32
+ width: 40px;
33
+ }
34
+ }
35
+
36
+ &.Opta-Team {
37
+ padding-left: 10px;
38
+ font-size: 18px;
39
+ line-height: 18px;
40
+
41
+ &.Opta-Home {
42
+ padding-right: 10px;
43
+ padding-left: 0;
44
+ text-align: right;
45
+ }
46
+ }
47
+
48
+ &.Opta-Score {
49
+ width: 20px;
50
+ font-size: 24px;
51
+ line-height: 24px;
52
+ text-align: left;
53
+
54
+ &.Opta-Home {
55
+ text-align: right;
56
+ }
57
+
58
+ span {
59
+ min-width: 0;
60
+ padding: 0;
61
+ color: inherit;
62
+ font-family: inherit;
63
+ font-size: inherit;
64
+ line-height: inherit;
65
+ text-align: inherit;
66
+ background-color: transparent !important;
67
+ }
68
+
69
+ @media (min-width: ${breakpoints.medium}px) {
70
+ width: 30px;
71
+ font-size: 32px;
72
+ line-height: 32px;
73
+ }
74
+ }
75
+
76
+ &.Opta-Divider {
77
+ width: 20px;
78
+ text-align: center;
79
+
80
+ abbr {
81
+ font-size: inherit;
82
+ line-height: inherit;
83
+ text-decoration: none;
84
+ }
85
+ }
86
+ }
87
+
88
+ &.Opta-Score-Extras {
89
+ td {
90
+ color: ${colours.functional.brandColour};
91
+ font-family: ${fonts.supporting};
92
+ font-size: 14px;
93
+ line-height: 28px;
94
+
95
+ span {
96
+ color: inherit;
97
+ font-size: inherit;
98
+ }
99
+ }
100
+ }
101
+
102
+ &.Opta-MatchHeader-Details {
103
+ div {
104
+ padding: 0;
105
+ color: ${colours.section.sport};
106
+ font-family: ${fonts.supporting};
107
+ font-size: 12px;
108
+ line-height: 12px;
109
+ letter-spacing: 1px;
110
+ text-transform: uppercase;
111
+ background-color: transparent;
112
+
113
+ span {
114
+ margin: 0 6px;
115
+ color: inherit;
116
+ font-size: inherit;
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ .Opta-Events {
125
+ padding: 10px 0 2px 0;
126
+
127
+ li {
128
+ padding: 0 0 8px 0;
129
+
130
+ .Opta-Event-Text {
131
+ color: ${colours.functional.brandColour};
132
+ font-family: ${fonts.supporting};
133
+ font-size: 14px;
134
+ line-height: 16px;
135
+
136
+ .Opta-Event-Player,
137
+ .Opta-Event-Time,
138
+ .Opta-Event-Text-Type {
139
+ font-size: inherit;
140
+ line-height: inherit;
141
+ }
142
+
143
+ .Opta-Event-Time {
144
+ color: ${colours.section.sport};
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ `;
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9zdW1tYXJ5L3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7Ozs7Ozs7Ozs7Ozs7O3VCQWNuQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVc7NkJBQ3hCLEtBQUssQ0FBQyxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztxQ0FrRE4sV0FBVyxDQUFDLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt5QkFxQjlCLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVzsrQkFDeEIsS0FBSyxDQUFDLFVBQVU7Ozs7Ozs7Ozs7Ozs7O3lCQWN0QixPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUs7K0JBQ2YsS0FBSyxDQUFDLFVBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBeUIxQixPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVc7MkJBQ3hCLEtBQUssQ0FBQyxVQUFVOzs7Ozs7Ozs7Ozs7dUJBWXBCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSzs7Ozs7OztDQU8zQyxDQUFDIn0=
@@ -0,0 +1,24 @@
1
+ import { initSettings, initStyleSheet, initElement } from '../config';
2
+ describe('Opta config', () => {
3
+ it('should initialise opta settings', async () => {
4
+ initSettings();
5
+ expect(window.opta_settings.subscription_id).toEqual('db98cff9f9612c01bbf3435964748e95');
6
+ });
7
+ it('should initialise football stylesheet', async () => {
8
+ initStyleSheet('football');
9
+ const element = document.head.querySelector('link[href="https://secure.widget.cloud.opta.net/v3/css/v3.football.opta-widgets.css"]');
10
+ expect(element).toBeTruthy();
11
+ });
12
+ it('should initialise rugby stylesheet', async () => {
13
+ initStyleSheet('rugby');
14
+ const element = document.head.querySelector('link[href="https://secure.widget.cloud.opta.net/v3/css/v3.rugby.opta-widgets.css"]');
15
+ expect(element).toBeTruthy();
16
+ });
17
+ it('should create the correct element', async () => {
18
+ const element = initElement('opta-widget', { sport: 'football' }, initElement('opta-sub-widget'));
19
+ expect(element.nodeName).toEqual('OPTA-WIDGET');
20
+ expect(element.getAttribute('sport')).toEqual('football');
21
+ expect(element.childNodes[0].nodeName).toEqual('OPTA-SUB-WIDGET');
22
+ });
23
+ });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL3V0aWxzL19fdGVzdHNfXy9jb25maWcudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRFLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzNCLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMvQyxZQUFZLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FDbEQsa0NBQWtDLENBQ25DLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNyRCxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQ3pDLHVGQUF1RixDQUN4RixDQUFDO1FBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2xELGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FDekMsb0ZBQW9GLENBQ3JGLENBQUM7UUFDRixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUNBQW1DLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDakQsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUN6QixhQUFhLEVBQ2IsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQ3JCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUMvQixDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
@@ -12,7 +12,7 @@ declare global {
12
12
  }
13
13
  }
14
14
  export declare const initSettings: () => void;
15
- export declare const initStyleSheet: () => void;
15
+ export declare const initStyleSheet: (sport: string) => void;
16
16
  export declare const initScript: () => Promise<unknown>;
17
17
  export declare const initElement: (name: string, args?: any, child?: HTMLElement | undefined) => HTMLElement;
18
18
  export declare const initComponent: () => void;