@times-components/ts-components 1.35.3 → 1.36.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 (81) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/components/recommended-articles/RecommendedArticles.d.ts +7 -0
  3. package/dist/components/recommended-articles/RecommendedArticles.js +23 -0
  4. package/dist/components/{styleguide/__tests__/styleguide.test.d.ts → recommended-articles/RecommendedArticles.stories.d.ts} +0 -0
  5. package/dist/components/recommended-articles/RecommendedArticles.stories.js +65 -0
  6. package/dist/components/{styleguide/styleguide.stories.d.ts → recommended-articles/__tests__/RecommendedArticles.test.d.ts} +0 -0
  7. package/dist/components/recommended-articles/__tests__/RecommendedArticles.test.js +67 -0
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +2 -3
  10. package/package.json +15 -15
  11. package/rnw.js +1 -1
  12. package/src/components/recommended-articles/RecommendedArticles.stories.tsx +82 -0
  13. package/src/components/recommended-articles/RecommendedArticles.tsx +59 -0
  14. package/src/components/recommended-articles/__tests__/RecommendedArticles.test.tsx +91 -0
  15. package/src/components/recommended-articles/__tests__/__snapshots__/RecommendedArticles.test.tsx.snap +71 -0
  16. package/src/index.ts +3 -22
  17. package/src/types/externs.d.ts +7 -0
  18. package/dist/components/styleguide/Styleguide.d.ts +0 -193
  19. package/dist/components/styleguide/Styleguide.js +0 -24
  20. package/dist/components/styleguide/__tests__/breakpoints.test.d.ts +0 -1
  21. package/dist/components/styleguide/__tests__/breakpoints.test.js +0 -46
  22. package/dist/components/styleguide/__tests__/styleguide.test.js +0 -48
  23. package/dist/components/styleguide/__tests__/themeFactory.test.d.ts +0 -1
  24. package/dist/components/styleguide/__tests__/themeFactory.test.js +0 -41
  25. package/dist/components/styleguide/breakpoints.d.ts +0 -37
  26. package/dist/components/styleguide/breakpoints.js +0 -42
  27. package/dist/components/styleguide/colours/colours.d.ts +0 -103
  28. package/dist/components/styleguide/colours/colours.js +0 -8
  29. package/dist/components/styleguide/colours/functional.d.ts +0 -32
  30. package/dist/components/styleguide/colours/functional.js +0 -33
  31. package/dist/components/styleguide/colours/section.d.ts +0 -68
  32. package/dist/components/styleguide/colours/section.js +0 -78
  33. package/dist/components/styleguide/components/Animations.d.ts +0 -6
  34. package/dist/components/styleguide/components/Animations.js +0 -19
  35. package/dist/components/styleguide/components/TcText.d.ts +0 -6
  36. package/dist/components/styleguide/components/TcText.js +0 -22
  37. package/dist/components/styleguide/components/TcView.d.ts +0 -6
  38. package/dist/components/styleguide/components/TcView.js +0 -21
  39. package/dist/components/styleguide/components/index.d.ts +0 -4
  40. package/dist/components/styleguide/components/index.js +0 -5
  41. package/dist/components/styleguide/fonts/font-factory.d.ts +0 -10
  42. package/dist/components/styleguide/fonts/font-factory.js +0 -12
  43. package/dist/components/styleguide/fonts/font-sizes.d.ts +0 -47
  44. package/dist/components/styleguide/fonts/font-sizes.js +0 -47
  45. package/dist/components/styleguide/fonts/font-styles.d.ts +0 -13
  46. package/dist/components/styleguide/fonts/font-styles.js +0 -13
  47. package/dist/components/styleguide/fonts/fonts.d.ts +0 -4
  48. package/dist/components/styleguide/fonts/fonts.js +0 -5
  49. package/dist/components/styleguide/helpers/storybookStyles.d.ts +0 -2
  50. package/dist/components/styleguide/helpers/storybookStyles.js +0 -54
  51. package/dist/components/styleguide/lineHeight.d.ts +0 -7
  52. package/dist/components/styleguide/lineHeight.js +0 -65
  53. package/dist/components/styleguide/scales.d.ts +0 -6
  54. package/dist/components/styleguide/scales.js +0 -6
  55. package/dist/components/styleguide/spacing.d.ts +0 -11
  56. package/dist/components/styleguide/spacing.js +0 -17
  57. package/dist/components/styleguide/styleguide.stories.js +0 -71
  58. package/dist/components/styleguide/themeFactory.d.ts +0 -8
  59. package/dist/components/styleguide/themeFactory.js +0 -59
  60. package/src/components/styleguide/Styleguide.tsx +0 -54
  61. package/src/components/styleguide/__tests__/breakpoints.test.ts +0 -67
  62. package/src/components/styleguide/__tests__/styleguide.test.tsx +0 -68
  63. package/src/components/styleguide/__tests__/themeFactory.test.ts +0 -44
  64. package/src/components/styleguide/breakpoints.tsx +0 -52
  65. package/src/components/styleguide/colours/colours.tsx +0 -8
  66. package/src/components/styleguide/colours/functional.tsx +0 -32
  67. package/src/components/styleguide/colours/section.tsx +0 -81
  68. package/src/components/styleguide/components/Animations.tsx +0 -22
  69. package/src/components/styleguide/components/TcText.tsx +0 -32
  70. package/src/components/styleguide/components/TcView.tsx +0 -27
  71. package/src/components/styleguide/components/index.tsx +0 -5
  72. package/src/components/styleguide/fonts/font-factory.tsx +0 -18
  73. package/src/components/styleguide/fonts/font-sizes.tsx +0 -46
  74. package/src/components/styleguide/fonts/font-styles.tsx +0 -12
  75. package/src/components/styleguide/fonts/fonts.tsx +0 -5
  76. package/src/components/styleguide/helpers/storybookStyles.ts +0 -55
  77. package/src/components/styleguide/lineHeight.tsx +0 -73
  78. package/src/components/styleguide/scales.tsx +0 -5
  79. package/src/components/styleguide/spacing.tsx +0 -19
  80. package/src/components/styleguide/styleguide.stories.tsx +0 -143
  81. package/src/components/styleguide/themeFactory.tsx +0 -82
@@ -0,0 +1,82 @@
1
+ import React from 'react';
2
+
3
+ import { showcaseConverter } from '@times-components/storybook';
4
+ import { MockedProvider } from '@times-components/provider-test-tools';
5
+ import { recommendations } from '@times-components/provider-queries';
6
+
7
+ import analyticsStream from '../../fixtures/analytics-actions/analytics-actions';
8
+ import { RecommendedArticles } from './RecommendedArticles';
9
+
10
+ const mocks = [
11
+ {
12
+ delay: 1000,
13
+ request: {
14
+ query: recommendations,
15
+ variables: {
16
+ publisher: 'TIMES',
17
+ recomArgs: {
18
+ userId: '1234',
19
+ articleId: '94a01926-719a-11ec-aacf-0736e08b15cd'
20
+ }
21
+ }
22
+ },
23
+ result: {
24
+ data: {
25
+ recommendations: {
26
+ __typename: 'Recommendations',
27
+ leadAsset: 'null',
28
+ articles: [
29
+ {
30
+ __typename: 'UniversalArticle',
31
+ headline:
32
+ 'Whole world is against us, says top Russian strategist',
33
+ id: 'a9ffb7cc-d5d1-11ec-bb99-1bcd45646516',
34
+ media: {
35
+ __typename: 'Image'
36
+ },
37
+ slug:
38
+ 'were-no-match-for-ukrainian-grit-and-firepower-says-retired-russian-colonel',
39
+ url:
40
+ 'https://www.staging-thetimes.co.uk/article/were-no-match-for-ukrainian-grit-and-firepower-says-retired-russian-colonel-lhnvsfj33'
41
+ },
42
+ {
43
+ __typename: 'UniversalArticle',
44
+ headline: 'Vardys leave court with swipe at Wayne Rooney',
45
+ id: 'f3d730a0-d5c2-11ec-8585-951ab3afb4d2',
46
+ media: {
47
+ __typename: 'Image'
48
+ },
49
+ slug:
50
+ 'wayne-rooney-to-give-evidence-in-wagatha-christie-trial-as-jamie-vardy-attends-court-for-first-time',
51
+ url:
52
+ 'https://www.staging-thetimes.co.uk/article/wayne-rooney-to-give-evidence-in-wagatha-christie-trial-as-jamie-vardy-attends-court-for-first-time-wlzvxklc6'
53
+ }
54
+ ]
55
+ }
56
+ }
57
+ }
58
+ }
59
+ ];
60
+
61
+ const recarticles = {
62
+ children: [
63
+ {
64
+ component: () => (
65
+ <MockedProvider mocks={mocks}>
66
+ <RecommendedArticles
67
+ articleId="94a01926-719a-11ec-aacf-0736e08b15cd"
68
+ section="News"
69
+ analyticsStream={analyticsStream}
70
+ />
71
+ </MockedProvider>
72
+ ),
73
+
74
+ name: 'Recommended Articles',
75
+ platform: 'web',
76
+ type: 'story'
77
+ }
78
+ ],
79
+ name: 'Typescript Component/Recommended Articles'
80
+ };
81
+
82
+ showcaseConverter(module, recarticles);
@@ -0,0 +1,59 @@
1
+ import React from 'react';
2
+
3
+ import RelatedArticles from '@times-components/related-articles';
4
+ import { GetRecommendedArticles } from '@times-components/provider';
5
+
6
+ import { RelatedArticleSliceType } from '../../types/related-article-slice';
7
+
8
+ import { Placeholder } from '@times-components/image';
9
+
10
+ type RecommendedArticlesProps = {
11
+ articleId: string;
12
+ section: string;
13
+ analyticsStream?: (evt: any) => void;
14
+ };
15
+
16
+ export const RecommendedArticles = ({
17
+ articleId,
18
+ section,
19
+ analyticsStream
20
+ }: RecommendedArticlesProps) => {
21
+ return (
22
+ <GetRecommendedArticles
23
+ publisher={'TIMES'}
24
+ recomArgs={{ userId: '1234', articleId }}
25
+ ssr={false}
26
+ debounceTimeMs={0}
27
+ >
28
+ {({ isLoading, error, recommendations }: any) => {
29
+ if (error) {
30
+ return null;
31
+ }
32
+
33
+ if (isLoading || !recommendations) {
34
+ return (
35
+ <div className="placeholder">
36
+ <Placeholder />
37
+ </div>
38
+ );
39
+ }
40
+
41
+ const slice: RelatedArticleSliceType = {
42
+ sliceName: 'StandardSlice',
43
+ items: recommendations
44
+ ? recommendations.articles.map((article: any) => ({ article }))
45
+ : []
46
+ };
47
+
48
+ return (
49
+ <RelatedArticles
50
+ heading={`Today's ${section}`}
51
+ slice={slice}
52
+ isVisible
53
+ analyticsStream={analyticsStream}
54
+ />
55
+ );
56
+ }}
57
+ </GetRecommendedArticles>
58
+ );
59
+ };
@@ -0,0 +1,91 @@
1
+ import React from 'react';
2
+ import { render, cleanup } from '@testing-library/react';
3
+
4
+ import { RecommendedArticles } from '../RecommendedArticles';
5
+
6
+ import { MockedProvider } from '@times-components/provider-test-tools';
7
+ import { recommendations } from '@times-components/provider-queries';
8
+
9
+ const mocks = [
10
+ {
11
+ delay: 1000,
12
+ request: {
13
+ query: recommendations,
14
+ variables: {
15
+ publisher: 'TIMES',
16
+ recomArgs: {
17
+ userId: '1234',
18
+ articleId: '94a01926-719a-11ec-aacf-0736e08b15cd'
19
+ }
20
+ }
21
+ },
22
+ result: {
23
+ data: {
24
+ recommendations: {
25
+ __typename: 'Recommendations',
26
+ leadAsset: 'null',
27
+ articles: [
28
+ {
29
+ __typename: 'UniversalArticle',
30
+ headline:
31
+ 'Whole world is against us, says top Russian strategist',
32
+ id: 'a9ffb7cc-d5d1-11ec-bb99-1bcd45646516',
33
+ media: {
34
+ __typename: 'Image'
35
+ },
36
+ slug:
37
+ 'were-no-match-for-ukrainian-grit-and-firepower-says-retired-russian-colonel',
38
+ url:
39
+ 'https://www.staging-thetimes.co.uk/article/were-no-match-for-ukrainian-grit-and-firepower-says-retired-russian-colonel-lhnvsfj33'
40
+ },
41
+ {
42
+ __typename: 'UniversalArticle',
43
+ headline: 'Vardys leave court with swipe at Wayne Rooney',
44
+ id: 'f3d730a0-d5c2-11ec-8585-951ab3afb4d2',
45
+ media: {
46
+ __typename: 'Image'
47
+ },
48
+ slug:
49
+ 'wayne-rooney-to-give-evidence-in-wagatha-christie-trial-as-jamie-vardy-attends-court-for-first-time',
50
+ url:
51
+ 'https://www.staging-thetimes.co.uk/article/wayne-rooney-to-give-evidence-in-wagatha-christie-trial-as-jamie-vardy-attends-court-for-first-time-wlzvxklc6'
52
+ }
53
+ ]
54
+ }
55
+ }
56
+ }
57
+ }
58
+ ];
59
+
60
+ describe('Recommended Articles', () => {
61
+ afterEach(() => {
62
+ jest.clearAllMocks();
63
+ cleanup();
64
+ });
65
+
66
+ it('it renders', () => {
67
+ const { asFragment } = render(
68
+ <MockedProvider mocks={mocks}>
69
+ <RecommendedArticles
70
+ articleId="94a01926-719a-11ec-aacf-0736e08b15cd"
71
+ section="News"
72
+ analyticsStream={jest.fn()}
73
+ />
74
+ </MockedProvider>
75
+ );
76
+ expect(asFragment()).toMatchSnapshot();
77
+ });
78
+
79
+ it('degrades gracefully', () => {
80
+ const { asFragment } = render(
81
+ <MockedProvider mocks={mocks}>
82
+ <RecommendedArticles
83
+ articleId=""
84
+ section="News"
85
+ analyticsStream={jest.fn()}
86
+ />
87
+ </MockedProvider>
88
+ );
89
+ expect(asFragment()).toMatchSnapshot();
90
+ });
91
+ });
@@ -0,0 +1,71 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Recommended Articles degrades gracefully 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="placeholder"
7
+ >
8
+ <div
9
+ class="tc-view__TcView-nuazoi-0 fPjBcr"
10
+ height="100%"
11
+ style="align-items: center; background-color: rgb(237, 237, 237); bottom: 0px; justify-content: center; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 0; border-radius: 0;"
12
+ width="100%"
13
+ >
14
+ <svg
15
+ height="auto"
16
+ style="max-width: 25%; max-height: 50%;"
17
+ version="1.1"
18
+ viewBox="145 50 108 120"
19
+ width="100%"
20
+ >
21
+ <g
22
+ fill="none"
23
+ fill-rule="evenodd"
24
+ stroke="none"
25
+ stroke-width="1"
26
+ >
27
+ <path
28
+ d="M211.26076,54 L211.231367,54 L147.67512,54 L145,85.7081465 L146.922096,86.4489102 C146.922096,86.4489102 164.867589,68.1355181 168.301115,65.0001546 C171.728017,61.8689133 174.237132,61.0885763 176.436179,60.3527593 C180.998206,59.169681 185.977937,59.2150255 185.977937,59.2150255 L186.109581,59.2150255 L186.109581,156.560932 L169.259886,164.473953 L169.259886,166 L228.735147,166 L228.735147,164.473953 L211.889177,156.560932 L211.889177,59.2150255 L212.01751,59.2150255 C212.01751,59.2150255 216.992272,59.169681 221.558854,60.3527593 C223.757072,61.0885763 226.266601,61.8689133 229.691848,65.0001546 C233.130341,68.1355181 251.071695,86.4489102 251.071695,86.4489102 L253,85.7081465 L250.317842,54 L211.270695,54 L211.242545,54"
29
+ fill="#FFFFFF"
30
+ />
31
+ </g>
32
+ </svg>
33
+ </div>
34
+ </div>
35
+ </DocumentFragment>
36
+ `;
37
+
38
+ exports[`Recommended Articles it renders 1`] = `
39
+ <DocumentFragment>
40
+ <div
41
+ class="placeholder"
42
+ >
43
+ <div
44
+ class="tc-view__TcView-nuazoi-0 fPjBcr"
45
+ height="100%"
46
+ style="align-items: center; background-color: rgb(237, 237, 237); bottom: 0px; justify-content: center; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 0; border-radius: 0;"
47
+ width="100%"
48
+ >
49
+ <svg
50
+ height="auto"
51
+ style="max-width: 25%; max-height: 50%;"
52
+ version="1.1"
53
+ viewBox="145 50 108 120"
54
+ width="100%"
55
+ >
56
+ <g
57
+ fill="none"
58
+ fill-rule="evenodd"
59
+ stroke="none"
60
+ stroke-width="1"
61
+ >
62
+ <path
63
+ d="M211.26076,54 L211.231367,54 L147.67512,54 L145,85.7081465 L146.922096,86.4489102 C146.922096,86.4489102 164.867589,68.1355181 168.301115,65.0001546 C171.728017,61.8689133 174.237132,61.0885763 176.436179,60.3527593 C180.998206,59.169681 185.977937,59.2150255 185.977937,59.2150255 L186.109581,59.2150255 L186.109581,156.560932 L169.259886,164.473953 L169.259886,166 L228.735147,166 L228.735147,164.473953 L211.889177,156.560932 L211.889177,59.2150255 L212.01751,59.2150255 C212.01751,59.2150255 216.992272,59.169681 221.558854,60.3527593 C223.757072,61.0885763 226.266601,61.8689133 229.691848,65.0001546 C233.130341,68.1355181 251.071695,86.4489102 251.071695,86.4489102 L253,85.7081465 L250.317842,54 L211.270695,54 L211.242545,54"
64
+ fill="#FFFFFF"
65
+ />
66
+ </g>
67
+ </svg>
68
+ </div>
69
+ </div>
70
+ </DocumentFragment>
71
+ `;
package/src/index.ts CHANGED
@@ -70,6 +70,9 @@ export {
70
70
  export {
71
71
  RelatedArticleSlice
72
72
  } from './components/related-article-slice/RelatedArticleSlice';
73
+ export {
74
+ RecommendedArticles
75
+ } from './components/recommended-articles/RecommendedArticles';
73
76
  export {
74
77
  LatestFromSection
75
78
  } from './components/latest-from-section/LatestFromSection';
@@ -109,28 +112,6 @@ export {
109
112
 
110
113
  export { UpdatedTimeProvider } from './helpers/time/UpdatedTimeProvider';
111
114
 
112
- // styleguide
113
- export {
114
- default as styleguide,
115
- Animations,
116
- breakpoints,
117
- colours,
118
- editionBreakpoints,
119
- editionBreakpointWidths,
120
- editionMaxWidth,
121
- sliceContentMaxWidth,
122
- fonts,
123
- fontFactory,
124
- fontSizes,
125
- getEditionBreakpoint,
126
- lineHeight,
127
- scales,
128
- spacing,
129
- globalSpacingStyles,
130
- tabletRowPadding,
131
- themeFactory
132
- } from './components/styleguide/Styleguide';
133
-
134
115
  export {
135
116
  default as safeDecodeURIComponent
136
117
  } from './utils/safeDecodeURIComponent';
@@ -180,12 +180,19 @@ declare module '@times-components/provider' {
180
180
  ssr: boolean;
181
181
  debounceTimeMs: number;
182
182
  }>;
183
+ export const GetRecommendedArticles: React.FC<{
184
+ publisher: string;
185
+ recomArgs: any;
186
+ ssr: boolean;
187
+ debounceTimeMs: number;
188
+ }>;
183
189
  }
184
190
 
185
191
  declare module '@times-components/provider-queries' {
186
192
  import { DocumentNode } from 'graphql';
187
193
  export const getNewsletter: DocumentNode;
188
194
  export const subscribeNewsletter: DocumentNode;
195
+ export const recommendations: DocumentNode;
189
196
  }
190
197
 
191
198
  declare module '@times-components/provider-test-tools' {
@@ -1,193 +0,0 @@
1
- import 'react';
2
- import colours from './colours/colours';
3
- import Animations from './components/Animations';
4
- import breakpoints, { editionBreakpoints, editionMaxWidth, getEditionBreakpoint, editionBreakpointWidths, sliceContentMaxWidth } from './breakpoints';
5
- import lineHeight from './lineHeight';
6
- import { timesFontFactory, timesFontSizes, fontStyles } from './fonts/fonts';
7
- import themeFactory from './themeFactory';
8
- import scales from './scales';
9
- import spacing, { globalSpacingStyles } from './spacing';
10
- declare const nativeTablet: number, nativeTabletWide: number;
11
- export declare const tabletRowPadding = 20;
12
- declare const _default: () => {
13
- Animations: {
14
- FadeIn: import("styled-components").StyledComponent<import("react").FC<{
15
- style?: import("react").CSSProperties | undefined;
16
- }>, any, {}, never>;
17
- };
18
- colours: {
19
- functional: {
20
- action: string;
21
- actionPressed: string;
22
- articleFlagExclusive: string;
23
- articleFlagNew: string;
24
- articleFlagUpdated: string;
25
- backgroundPrimary: string;
26
- backgroundSecondary: string;
27
- black: string;
28
- border: string;
29
- brandColour: string;
30
- bullet: string;
31
- contrast: string;
32
- darkSupplement: string;
33
- greyLabel: string;
34
- greyStickyBarBoxShadow: string;
35
- greyStickyBarBorderBottom: string;
36
- gutter: string;
37
- keyline: string;
38
- modalBackground: string;
39
- newsletterPuffBackground: string;
40
- overlayGradientEnd: string;
41
- overlayGradientFallback: string;
42
- overlayGradientStart: string;
43
- primary: string;
44
- secondary: string;
45
- tertiary: string;
46
- transparentBlack: string;
47
- transparentWhite: string;
48
- white: string;
49
- whiteGrey: string;
50
- };
51
- secondarySectionColours: {
52
- 'The Sunday Times Magazine': string;
53
- thesundaytimesmagazine: string;
54
- };
55
- section: {
56
- 'Arts & Features': string;
57
- 'Bricks & Mortar': string;
58
- Business: string;
59
- Comment: string;
60
- Culture: string;
61
- Driving: string;
62
- Focus: string;
63
- Gardening: string;
64
- Home: string;
65
- Ireland: string;
66
- Law: string;
67
- Money: string;
68
- News: string;
69
- 'News Review': string;
70
- Puzzles: string;
71
- Register: string;
72
- 'Saturday Review': string;
73
- Scotland: string;
74
- Sport: string;
75
- Style: string;
76
- 'Tech & Games': string;
77
- 'The Dish': string;
78
- 'The Game': string;
79
- 'The Sunday Times Magazine': string;
80
- 'The Times Magazine': string;
81
- Times2: string;
82
- "Today's Magazines": string;
83
- Travel: string;
84
- Weekend: string;
85
- World: string;
86
- artsfeatures: string;
87
- bricksmortar: string;
88
- business: string;
89
- comment: string;
90
- culture: string;
91
- default: string;
92
- defcon: string;
93
- driving: string;
94
- focus: string;
95
- gardening: string;
96
- home: string;
97
- ireland: string;
98
- law: string;
99
- money: string;
100
- news: string;
101
- newsreview: string;
102
- puzzle: string;
103
- register: string;
104
- saturdayreview: string;
105
- scotland: string;
106
- sport: string;
107
- style: string;
108
- techgames: string;
109
- thedish: string;
110
- thegame: string;
111
- thesundaytimesmagazine: string;
112
- thetimesmagazine: string;
113
- times2: string;
114
- todaysmagazines: string;
115
- travel: string;
116
- weekend: string;
117
- world: string;
118
- };
119
- };
120
- fontFactory: ({ font, fontSize }: {
121
- font: "body" | "headline" | "bodyRegular" | "bodyRegularSmallCaps" | "cultureMagazine" | "dropCap" | "headlineRegular" | "stMagazine" | "styleMagazine" | "supporting";
122
- fontSize: "body" | "button" | "caption" | "link" | "meta" | "headline" | "articleHeadline" | "articleMeta" | "bodyMobile" | "cardHeadline" | "cardMeta" | "cardMetaMobile" | "commentsGuidelines" | "commentsHeadline" | "credits" | "imageOverlayTextSmall" | "infoTitle" | "keyFactsTitle" | "leadHeadline" | "newsletterPuffLabel" | "newsletterPuffHeadline" | "newsletterPuffCopy" | "pageComponentHeadline" | "pageHeadline" | "pageHeadlineLarge" | "pagingMeta" | "puffLink" | "secondary" | "sliceHeadline" | "smallestHeadline" | "smallHeadline" | "strapline" | "teaser" | "tertiary" | "tileLeadHeadline" | "heading2Mobile" | "heading3Mobile" | "heading4Mobile" | "heading5Mobile" | "infoSubText" | "heading2" | "heading3" | "heading4" | "heading5";
123
- }) => {
124
- fontFamily: string;
125
- fontSize: number;
126
- lineHeight: {};
127
- };
128
- fonts: {
129
- body: string;
130
- bodyRegular: string;
131
- bodyRegularSmallCaps: string;
132
- cultureMagazine: string;
133
- dropCap: string;
134
- headline: string;
135
- headlineRegular: string;
136
- stMagazine: string;
137
- styleMagazine: string;
138
- supporting: string;
139
- };
140
- fontSizes: {
141
- articleHeadline: number;
142
- articleMeta: number;
143
- body: number;
144
- bodyMobile: number;
145
- button: number;
146
- caption: number;
147
- cardHeadline: number;
148
- cardMeta: number;
149
- cardMetaMobile: number;
150
- commentsGuidelines: number;
151
- commentsHeadline: number;
152
- credits: number;
153
- headline: number;
154
- imageOverlayTextSmall: number;
155
- infoTitle: number;
156
- keyFactsTitle: number;
157
- leadHeadline: number;
158
- link: number;
159
- meta: number;
160
- newsletterPuffLabel: number;
161
- newsletterPuffHeadline: number;
162
- newsletterPuffCopy: number;
163
- pageComponentHeadline: number;
164
- pageHeadline: number;
165
- pageHeadlineLarge: number;
166
- pagingMeta: number;
167
- puffLink: number;
168
- secondary: number;
169
- sliceHeadline: number;
170
- smallestHeadline: number;
171
- smallHeadline: number;
172
- strapline: number;
173
- teaser: number;
174
- tertiary: number;
175
- tileLeadHeadline: number;
176
- heading2Mobile: number;
177
- heading3Mobile: number;
178
- heading4Mobile: number;
179
- heading5Mobile: number;
180
- infoSubText: number;
181
- heading2: number;
182
- heading3: number;
183
- heading4: number;
184
- heading5: number;
185
- };
186
- lineHeight: ({ font, fontSize }: {
187
- font: string;
188
- fontSize: string;
189
- }) => {};
190
- spacing: (multiple: number) => string;
191
- };
192
- export default _default;
193
- export { Animations, breakpoints, colours, editionBreakpoints, editionBreakpointWidths, editionMaxWidth, sliceContentMaxWidth, fontStyles as fonts, timesFontFactory as fontFactory, timesFontSizes as fontSizes, getEditionBreakpoint, lineHeight, scales, spacing, globalSpacingStyles, nativeTablet as tabletWidth, nativeTabletWide as tabletWidthMax, themeFactory };
@@ -1,24 +0,0 @@
1
- import 'react';
2
- import colours from './colours/colours';
3
- import Animations from './components/Animations';
4
- import breakpoints, { editionBreakpoints, editionMaxWidth, getEditionBreakpoint, editionBreakpointWidths, sliceContentMaxWidth } from './breakpoints';
5
- import lineHeight from './lineHeight';
6
- import { timesFontFactory, timesFontSizes, fontStyles } from './fonts/fonts';
7
- import themeFactory from './themeFactory';
8
- import scales from './scales';
9
- import spacing, { globalSpacingStyles } from './spacing';
10
- const { nativeTablet, nativeTabletWide } = breakpoints;
11
- export const tabletRowPadding = 20;
12
- export default () => {
13
- return {
14
- Animations,
15
- colours,
16
- fontFactory: timesFontFactory,
17
- fonts: fontStyles,
18
- fontSizes: timesFontSizes,
19
- lineHeight,
20
- spacing
21
- };
22
- };
23
- export { Animations, breakpoints, colours, editionBreakpoints, editionBreakpointWidths, editionMaxWidth, sliceContentMaxWidth, fontStyles as fonts, timesFontFactory as fontFactory, timesFontSizes as fontSizes, getEditionBreakpoint, lineHeight, scales, spacing, globalSpacingStyles, nativeTablet as tabletWidth, nativeTabletWide as tabletWidthMax, themeFactory };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R5bGVndWlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3N0eWxlZ3VpZGUvU3R5bGVndWlkZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLENBQUM7QUFDZixPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLFVBQVUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxPQUFPLFdBQVcsRUFBRSxFQUNsQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3JCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLFlBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUM7QUFDOUIsT0FBTyxPQUFPLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6RCxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxDQUFDO0FBRXZELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztBQUVuQyxlQUFlLEdBQUcsRUFBRTtJQUNsQixPQUFPO1FBQ0wsVUFBVTtRQUNWLE9BQU87UUFDUCxXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFVBQVU7UUFDVixPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFDTCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE9BQU8sRUFDUCxrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsVUFBVSxJQUFJLEtBQUssRUFDbkIsZ0JBQWdCLElBQUksV0FBVyxFQUMvQixjQUFjLElBQUksU0FBUyxFQUMzQixvQkFBb0IsRUFDcEIsVUFBVSxFQUNWLE1BQU0sRUFDTixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLFlBQVksSUFBSSxXQUFXLEVBQzNCLGdCQUFnQixJQUFJLGNBQWMsRUFDbEMsWUFBWSxFQUNiLENBQUMifQ==
@@ -1 +0,0 @@
1
- import '@testing-library/react';
@@ -1,46 +0,0 @@
1
- import '@testing-library/react';
2
- import breakpoints, { editionBreakpointWidths, editionBreakpoints } from '../breakpoints';
3
- import { getEditionBreakpoint, sliceContentMaxWidth, editionMaxWidth, globalSpacingStyles, editionBreakpointWidths as styleguideEditionBreakpointWidths, editionBreakpoints as styleguideEditionBreakpoints } from '../Styleguide';
4
- describe('breakpoints', () => {
5
- it('should return correct globalSpacingStyles value', () => {
6
- expect(globalSpacingStyles).toEqual({
7
- tabletHeadline: { marginBottom: 5 },
8
- tabletTeaser: { marginTop: 5 }
9
- });
10
- });
11
- it('should return correct sliceContentMaxWidth value', () => {
12
- expect(sliceContentMaxWidth).toEqual(1180);
13
- });
14
- it('should return correct sliceContentMaxWidth value', () => {
15
- expect(sliceContentMaxWidth).toEqual(1180);
16
- });
17
- it('should return correct editionBreakpointWidths value', () => {
18
- expect(editionBreakpointWidths.wide).toEqual(1024);
19
- expect(styleguideEditionBreakpointWidths.wide).toEqual(1024);
20
- });
21
- it('should return correct editionMaxWidth value', () => {
22
- expect(editionMaxWidth).toEqual(1366);
23
- });
24
- it('should return correct breakpoint width value', () => {
25
- expect(breakpoints.huge).toEqual(1320);
26
- });
27
- it('should retun correct editionBreakpoints value', () => {
28
- expect(editionBreakpoints.huge).toEqual('huge');
29
- expect(styleguideEditionBreakpoints.huge).toEqual('huge');
30
- });
31
- describe('getEditionBreakpoint()', () => {
32
- it('should return correct getEditionBreakpoint value', () => {
33
- expect(getEditionBreakpoint(600)).toEqual('small');
34
- });
35
- it('should return correct getEditionBreakpoint value', () => {
36
- expect(getEditionBreakpoint(900)).toEqual('medium');
37
- });
38
- it('should return correct getEditionBreakpoint value', () => {
39
- expect(getEditionBreakpoint(1100)).toEqual('wide');
40
- });
41
- it('should return correct getEditionBreakpoint value', () => {
42
- expect(getEditionBreakpoint(1500)).toEqual('huge');
43
- });
44
- });
45
- });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludHMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3N0eWxlZ3VpZGUvX190ZXN0c19fL2JyZWFrcG9pbnRzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLFdBQVcsRUFBRSxFQUNsQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLG1CQUFtQixFQUNuQix1QkFBdUIsSUFBSSxpQ0FBaUMsRUFDNUQsa0JBQWtCLElBQUksNEJBQTRCLEVBQ25ELE1BQU0sZUFBZSxDQUFDO0FBRXZCLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzNCLEVBQUUsQ0FBQyxpREFBaUQsRUFBRSxHQUFHLEVBQUU7UUFDekQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ2xDLGNBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUU7WUFDbkMsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7UUFDMUQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtRQUMxRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscURBQXFELEVBQUUsR0FBRyxFQUFFO1FBQzdELE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw2Q0FBNkMsRUFBRSxHQUFHLEVBQUU7UUFDckQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0NBQStDLEVBQUUsR0FBRyxFQUFFO1FBQ3ZELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7UUFDdEMsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtZQUMxRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1lBQzFELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7WUFDMUQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtZQUMxRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=