@newskit-render/core 1.54.0 → 1.59.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 (40) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/__tests__/pages/[articleSlug].test.tsx +6 -8
  3. package/__tests__/pages/__snapshots__/brightcove.test.tsx.snap +20 -0
  4. package/__tests__/pages/__snapshots__/home.test.tsx.snap +139 -139
  5. package/__tests__/pages/brightcove.test.tsx +34 -0
  6. package/__tests__/pages/home.test.tsx +22 -18
  7. package/__tests__/pages/mocks.ts +29 -0
  8. package/__tests__/pages/relatedArticles.test.tsx +76 -0
  9. package/components/article/RelatedArticles.tsx +48 -55
  10. package/components/article/__tests__/__snapshots__/index.test.tsx.snap +305 -308
  11. package/components/article/__tests__/index.test.tsx +46 -2
  12. package/components/article/index.tsx +28 -15
  13. package/components/footer/__snapshots__/index.test.tsx.snap +29 -29
  14. package/components/section/layouts/Rows.tsx +36 -17
  15. package/components/section/layouts/__tests__/Rows.test.tsx +12 -0
  16. package/components/section/layouts/__tests__/__snapshots__/Lead.test.tsx.snap +17 -17
  17. package/components/section/layouts/__tests__/__snapshots__/SectionTitle.test.tsx.snap +23 -23
  18. package/components/section/layouts/types.ts +3 -0
  19. package/config/index.ts +85 -0
  20. package/constants/index.ts +3 -1
  21. package/cypress/e2e/account/accessibility.spec.js +14 -17
  22. package/helpers/logger.ts +3 -1
  23. package/helpers/mocks/articleMock.ts +1 -1
  24. package/helpers/mocks/getUniversalArticleMock.ts +13 -0
  25. package/jest.config.js +1 -0
  26. package/package.json +11 -11
  27. package/pages/[section]/[articleId]/[articleSlug].tsx +9 -4
  28. package/pages/[section]/[articleId]/relatedArticles.tsx +85 -0
  29. package/pages/_app.tsx +4 -3
  30. package/pages/_document.tsx +17 -18
  31. package/pages/api/auth/[...nextauth].ts +2 -3
  32. package/pages/api/feed.ts +3 -5
  33. package/pages/api/news-sitemap.ts +4 -6
  34. package/pages/api/sitemap.ts +10 -7
  35. package/pages/index.tsx +1 -1
  36. package/pages/player/brightcove.tsx +19 -0
  37. package/pages/preview/[articleId]/version/[versionId]/index.tsx +9 -4
  38. package/queries/getRadioPosts.ts +1 -1
  39. package/queries/getUniversalArticle.ts +13 -0
  40. package/temp/header.tsx +7 -0
@@ -1,7 +1,7 @@
1
1
  import { within } from '@testing-library/react'
2
2
 
3
3
  import Article, { ArticleProps } from '..'
4
- import { Slug, URL, Image } from '../../../helpers/global-types'
4
+ import { Slug, URL, Image, Video } from '../../../helpers/global-types'
5
5
  import { renderWithTheme } from '../../../helpers/test-utils'
6
6
 
7
7
  const articleData: ArticleProps = {
@@ -85,19 +85,32 @@ const articleData: ArticleProps = {
85
85
  href: 'https://plchldr.co/i/70x50',
86
86
  },
87
87
  ],
88
-
89
88
  articleURL: 'http://article-url.com',
90
89
  twitterUsername: 'twitterUser',
91
90
  siteHost: 'hostname',
92
91
  gscId: '4320982',
93
92
  }
94
93
 
94
+ // remove this variable once SITE_HOST is refactored
95
+ jest.mock('../../../config', () => ({
96
+ siteHost: 'https://newskit-render.ceng-dev.newsuk.tech',
97
+ }))
98
+
99
+ jest.mock('@newskit-render/api', () => ({
100
+ acsSessionUrl: 'acsSessionUrl',
101
+ }))
95
102
  jest.mock('@newskit-render/my-account', () => {
96
103
  return {
97
104
  PastDueBannerExternal: 'PastDueBannerExternal',
98
105
  }
99
106
  })
100
107
 
108
+ jest.mock('next/router', () => {
109
+ return {
110
+ useRouter: () => ({ asPath: '' }),
111
+ }
112
+ })
113
+
101
114
  jest.mock('../../../helpers/getYear', () => ({
102
115
  getYear: jest.fn().mockReturnValue('YYYY'),
103
116
  }))
@@ -213,4 +226,35 @@ describe('Article', () => {
213
226
  within(getByTestId('ArticleContent')).getAllByTestId('ArticleParagraph')
214
227
  ).toThrow()
215
228
  })
229
+
230
+ test('should render video', () => {
231
+ const articleWithVideo = {
232
+ ...articleData,
233
+ media: {
234
+ accountId: '5067014667001',
235
+ videoId: '6288769193001',
236
+ posterImage: {
237
+ crops: [
238
+ {
239
+ url:
240
+ 'https://www.thesun.co.uk/wp-content/uploads/2021/12/image-5923b09d66.jpg?strip=all&w=600&h=338&crop=1',
241
+ alt: null,
242
+ aspectRatio: null,
243
+ },
244
+ ],
245
+ },
246
+ },
247
+ }
248
+ const { getByTestId } = renderWithTheme(Article, articleWithVideo)
249
+ const video = getByTestId('bc-video-player')
250
+ const articleVideo = articleWithVideo?.media as Video
251
+ expect(video.getAttribute('data-account')).toBe(articleVideo.accountId)
252
+ expect(video.getAttribute('data-video-id')).toBe(articleVideo.videoId)
253
+ })
254
+
255
+ test('should not render video', () => {
256
+ articleData.media = undefined
257
+ const { getByTestId } = renderWithTheme(Article, articleData)
258
+ expect(() => getByTestId('bc-video-player')).toThrow()
259
+ })
216
260
  })
@@ -4,6 +4,7 @@ import {
4
4
  Block,
5
5
  Cell,
6
6
  Image,
7
+ VideoPlayer,
7
8
  Visible,
8
9
  Stack,
9
10
  AlignSelfValues,
@@ -227,22 +228,36 @@ const ArticlePage: React.FC<ArticleProps> = ({
227
228
  </Stack>
228
229
  </Visible>
229
230
  </Block>
230
-
231
231
  {media && 'crops' in media && (
232
- <>
233
- <Block
234
- spaceStack={{
235
- xs: 'space060',
236
- lg: 'space070',
232
+ <Block
233
+ spaceStack={{
234
+ xs: 'space060',
235
+ lg: 'space070',
236
+ }}
237
+ >
238
+ <StyledFigure>
239
+ <Image src={media.crops[0].url} alt={media.crops[0].alt} />
240
+ </StyledFigure>
241
+ </Block>
242
+ )}
243
+ {media && 'videoId' in media && (
244
+ <Block
245
+ spaceStack={{
246
+ xs: 'space060',
247
+ lg: 'space070',
248
+ }}
249
+ >
250
+ <VideoPlayer
251
+ config={{
252
+ 'data-video-id': media.videoId,
253
+ 'data-account': media.accountId,
254
+ 'data-player': 'default',
255
+ 'data-embed': 'default',
256
+ controls: true,
237
257
  }}
238
- >
239
- <StyledFigure>
240
- <Image src={media.crops[0].url} alt={media.crops[0].alt} />
241
- </StyledFigure>
242
- </Block>
243
- </>
258
+ />
259
+ </Block>
244
260
  )}
245
-
246
261
  <Block
247
262
  spaceStack={{
248
263
  xs: 'space060',
@@ -274,7 +289,6 @@ const ArticlePage: React.FC<ArticleProps> = ({
274
289
  </Block>
275
290
  ))}
276
291
  </Block>
277
-
278
292
  <Visible xs sm>
279
293
  <Block spaceStack="space050">
280
294
  <Divider />
@@ -298,7 +312,6 @@ const ArticlePage: React.FC<ArticleProps> = ({
298
312
  </Stack>
299
313
  </Block>
300
314
  </Visible>
301
-
302
315
  {topics && <RelatedTopics topics={topics} />}
303
316
  </Cell>
304
317
  <Cell xs={12} lg={3} lgOffset={1}>
@@ -17,7 +17,7 @@ exports[`Footer tests should render footer 1`] = `
17
17
  data-testid="PageLayout"
18
18
  >
19
19
  <div
20
- class="css-1nj1cp8"
20
+ class="css-a1yn46"
21
21
  >
22
22
  <svg
23
23
  class="css-kgdu16"
@@ -44,11 +44,11 @@ exports[`Footer tests should render footer 1`] = `
44
44
  </svg>
45
45
  </div>
46
46
  <div
47
- class="css-1nj1cp8"
47
+ class="css-a1yn46"
48
48
  >
49
49
  <hr
50
50
  aria-hidden="true"
51
- class="css-ucwznq"
51
+ class="css-13iiewa"
52
52
  data-testid="divider"
53
53
  />
54
54
  </div>
@@ -56,18 +56,18 @@ exports[`Footer tests should render footer 1`] = `
56
56
  class="css-hx18jh"
57
57
  >
58
58
  <span
59
- class="css-zkhuqg"
59
+ class="css-1v0p1qz"
60
60
  >
61
61
  <a
62
62
  aria-label="NavLink One"
63
- class="css-71f8au"
63
+ class="css-e43kyg"
64
64
  href="/link-one"
65
65
  >
66
66
  <span
67
- class="css-7eo7xt"
67
+ class="css-17x5lw"
68
68
  >
69
69
  <span
70
- class="css-b741cy"
70
+ class="css-kxo08d"
71
71
  >
72
72
  NavLink One
73
73
  </span>
@@ -75,18 +75,18 @@ exports[`Footer tests should render footer 1`] = `
75
75
  </a>
76
76
  </span>
77
77
  <span
78
- class="css-zkhuqg"
78
+ class="css-1v0p1qz"
79
79
  >
80
80
  <a
81
81
  aria-label="NavLink Two"
82
- class="css-71f8au"
82
+ class="css-e43kyg"
83
83
  href="/link-two"
84
84
  >
85
85
  <span
86
- class="css-7eo7xt"
86
+ class="css-17x5lw"
87
87
  >
88
88
  <span
89
- class="css-b741cy"
89
+ class="css-kxo08d"
90
90
  >
91
91
  NavLink Two
92
92
  </span>
@@ -94,18 +94,18 @@ exports[`Footer tests should render footer 1`] = `
94
94
  </a>
95
95
  </span>
96
96
  <span
97
- class="css-zkhuqg"
97
+ class="css-1v0p1qz"
98
98
  >
99
99
  <a
100
100
  aria-label="NavLink Three"
101
- class="css-71f8au"
101
+ class="css-e43kyg"
102
102
  href="/link-three"
103
103
  >
104
104
  <span
105
- class="css-7eo7xt"
105
+ class="css-17x5lw"
106
106
  >
107
107
  <span
108
- class="css-b741cy"
108
+ class="css-kxo08d"
109
109
  >
110
110
  NavLink Three
111
111
  </span>
@@ -113,18 +113,18 @@ exports[`Footer tests should render footer 1`] = `
113
113
  </a>
114
114
  </span>
115
115
  <span
116
- class="css-zkhuqg"
116
+ class="css-1v0p1qz"
117
117
  >
118
118
  <a
119
119
  aria-label="NavLink Four"
120
- class="css-71f8au"
120
+ class="css-e43kyg"
121
121
  href="/link-four"
122
122
  >
123
123
  <span
124
- class="css-7eo7xt"
124
+ class="css-17x5lw"
125
125
  >
126
126
  <span
127
- class="css-b741cy"
127
+ class="css-kxo08d"
128
128
  >
129
129
  NavLink Four
130
130
  </span>
@@ -132,18 +132,18 @@ exports[`Footer tests should render footer 1`] = `
132
132
  </a>
133
133
  </span>
134
134
  <span
135
- class="css-zkhuqg"
135
+ class="css-1v0p1qz"
136
136
  >
137
137
  <a
138
138
  aria-label="NavLink Five"
139
- class="css-71f8au"
139
+ class="css-e43kyg"
140
140
  href="/link-five"
141
141
  >
142
142
  <span
143
- class="css-7eo7xt"
143
+ class="css-17x5lw"
144
144
  >
145
145
  <span
146
- class="css-b741cy"
146
+ class="css-kxo08d"
147
147
  >
148
148
  NavLink Five
149
149
  </span>
@@ -151,18 +151,18 @@ exports[`Footer tests should render footer 1`] = `
151
151
  </a>
152
152
  </span>
153
153
  <span
154
- class="css-zkhuqg"
154
+ class="css-1v0p1qz"
155
155
  >
156
156
  <a
157
157
  aria-label="NavLink Six"
158
- class="css-71f8au"
158
+ class="css-e43kyg"
159
159
  href="/link-six"
160
160
  >
161
161
  <span
162
- class="css-7eo7xt"
162
+ class="css-17x5lw"
163
163
  >
164
164
  <span
165
- class="css-b741cy"
165
+ class="css-kxo08d"
166
166
  >
167
167
  NavLink Six
168
168
  </span>
@@ -171,11 +171,11 @@ exports[`Footer tests should render footer 1`] = `
171
171
  </span>
172
172
  </div>
173
173
  <div
174
- class="css-1nj1cp8"
174
+ class="css-a1yn46"
175
175
  >
176
176
  <hr
177
177
  aria-hidden="true"
178
- class="css-ucwznq"
178
+ class="css-13iiewa"
179
179
  data-testid="divider"
180
180
  />
181
181
  </div>
@@ -1,30 +1,49 @@
1
1
  import React from 'react'
2
2
  import { Block, GridLayout } from 'newskit'
3
+ import { ArticleRecommendation } from '@newskit-render/standalone-components'
3
4
  import { LayoutProps } from './types'
4
5
  import { outerGridOverride } from './gridUtils'
5
6
  import { getBlock } from './Block'
6
7
 
7
8
  export const BasicRow: React.FC<LayoutProps> = ({
8
9
  slice,
10
+ articles,
9
11
  colums,
10
12
  variant = 'titleTeaserVertical',
11
- }) => (
12
- <GridLayout
13
- columns={colums}
14
- columnGap="space050"
15
- data-testid={`${slice.name}-Grid`}
16
- {...outerGridOverride}
17
- >
18
- {slice.children.map((block, i) => (
19
- <Block
20
- key={('article' in block && block.article.id) || i}
21
- data-testid={`titleTeaserVertical-${i}`}
22
- >
23
- {getBlock(block, variant)}
24
- </Block>
25
- ))}
26
- </GridLayout>
27
- )
13
+ 'data-testid': testid,
14
+ }) => {
15
+ const dataTestid =
16
+ (testid && testid) || (slice && `${slice.name}-Grid`) || 'Articles-Grid'
17
+ return (
18
+ <GridLayout
19
+ columns={colums}
20
+ columnGap="space050"
21
+ data-testid={dataTestid}
22
+ {...outerGridOverride}
23
+ >
24
+ {articles
25
+ ? articles.map((article, i) => (
26
+ /* eslint-disable-next-line */
27
+ <Block
28
+ spaceStack="space050"
29
+ key={article.title}
30
+ data-testid={`articleRec-${i}`}
31
+ >
32
+ <ArticleRecommendation article={article} size="large" />
33
+ </Block>
34
+ ))
35
+ : slice.children.map((block, i) => (
36
+ /* eslint-disable-next-line */
37
+ <Block
38
+ key={'article' in block ? block.article.id : i}
39
+ data-testid={`titleTeaserVertical-${i}`}
40
+ >
41
+ {getBlock(block, variant)}
42
+ </Block>
43
+ ))}
44
+ </GridLayout>
45
+ )
46
+ }
28
47
 
29
48
  export const Row3: React.FC<LayoutProps> = ({ slice }) => (
30
49
  <GridLayout
@@ -2,6 +2,7 @@ import { renderWithTheme } from '../../../../helpers/test-utils'
2
2
  import { BasicRow, Row3 } from '../Rows'
3
3
  import { getPageMock } from '../../../../helpers/mocks'
4
4
  import { ArticleSlice } from '../../../../helpers/global-types'
5
+ import { relatedArticles } from '../../../../helpers/mocks/articleMock'
5
6
 
6
7
  describe('Rows', () => {
7
8
  test('should render a row with 2 columns', () => {
@@ -25,4 +26,15 @@ describe('Rows', () => {
25
26
 
26
27
  expect(getAllByTestId(/titleTeaserVertical-/).length).toEqual(3)
27
28
  })
29
+
30
+ describe('Recommended articles', () => {
31
+ test('should render with recommended articles', () => {
32
+ const { getAllByTestId } = renderWithTheme(BasicRow, {
33
+ articles: relatedArticles,
34
+ colums: { xs: '1fr', md: '1fr 1fr', lg: '1fr 1fr 1fr' },
35
+ })
36
+
37
+ expect(getAllByTestId(/articleRec-/).length).toEqual(4)
38
+ })
39
+ })
28
40
  })
@@ -3,18 +3,18 @@
3
3
  exports[`Lead should render Lead 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
- class="css-1u38jm6"
6
+ class="css-148nb04"
7
7
  data-testid="SUPPLEMENT_LEAD_AND_4_STACK-Grid"
8
8
  >
9
9
  <div
10
- class="css-151qm6o"
10
+ class="css-30qa7x"
11
11
  data-testid="featureVerticalCell"
12
12
  >
13
13
  <div
14
- class="css-syq769"
14
+ class="css-1opc7jp"
15
15
  >
16
16
  <div
17
- class="css-1ku19cs"
17
+ class="css-x4egtb"
18
18
  >
19
19
  <picture
20
20
  class="css-iq6vim"
@@ -30,10 +30,10 @@ exports[`Lead should render Lead 1`] = `
30
30
  class="css-1shocxe"
31
31
  >
32
32
  <div
33
- class="css-1a2irou"
33
+ class="css-u3mic"
34
34
  >
35
35
  <div
36
- class="css-1hcm6l"
36
+ class="css-7q4xyp"
37
37
  >
38
38
  <a
39
39
  class="nk-card-link css-1cq1vxv"
@@ -55,17 +55,17 @@ exports[`Lead should render Lead 1`] = `
55
55
  </div>
56
56
  </div>
57
57
  <div
58
- class="css-7644f"
58
+ class="css-1roi2fz"
59
59
  >
60
60
  <div
61
- class="css-151qm6o"
61
+ class="css-30qa7x"
62
62
  data-testid="titleVerticalCell-0"
63
63
  >
64
64
  <div
65
- class="css-51dsvu"
65
+ class="css-6c0oh5"
66
66
  >
67
67
  <div
68
- class="css-fv6m0t"
68
+ class="css-1rsw0n0"
69
69
  >
70
70
  <picture
71
71
  class="css-iq6vim"
@@ -81,10 +81,10 @@ exports[`Lead should render Lead 1`] = `
81
81
  class="css-1r2lt0d"
82
82
  >
83
83
  <div
84
- class="css-bw3bp5"
84
+ class="css-h6wt93"
85
85
  >
86
86
  <div
87
- class="css-vj2a37"
87
+ class="css-165k7dq"
88
88
  >
89
89
  <a
90
90
  class="nk-card-link css-1cq1vxv"
@@ -106,14 +106,14 @@ exports[`Lead should render Lead 1`] = `
106
106
  </div>
107
107
  </div>
108
108
  <div
109
- class="css-151qm6o"
109
+ class="css-30qa7x"
110
110
  data-testid="titleVerticalCell-1"
111
111
  >
112
112
  <div
113
- class="css-51dsvu"
113
+ class="css-6c0oh5"
114
114
  >
115
115
  <div
116
- class="css-fv6m0t"
116
+ class="css-1rsw0n0"
117
117
  >
118
118
  <picture
119
119
  class="css-iq6vim"
@@ -129,10 +129,10 @@ exports[`Lead should render Lead 1`] = `
129
129
  class="css-1r2lt0d"
130
130
  >
131
131
  <div
132
- class="css-bw3bp5"
132
+ class="css-h6wt93"
133
133
  >
134
134
  <div
135
- class="css-vj2a37"
135
+ class="css-165k7dq"
136
136
  >
137
137
  <a
138
138
  class="nk-card-link css-1cq1vxv"
@@ -3,14 +3,14 @@
3
3
  exports[`SectionTitle SectionTitle alternative titlebar 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
- class="css-1hbzjqt"
6
+ class="css-wjhscn"
7
7
  data-testid="SectionTitleBar"
8
8
  >
9
9
  <div
10
- class="css-16ev6l1"
10
+ class="css-7p53p2"
11
11
  >
12
12
  <div
13
- class="css-1tdjaxu"
13
+ class="css-krscqv"
14
14
  >
15
15
  <section
16
16
  class="css-148i9wz"
@@ -26,17 +26,17 @@ exports[`SectionTitle SectionTitle alternative titlebar 1`] = `
26
26
  class="css-1h0bvuz"
27
27
  >
28
28
  <a
29
- class="css-1e3z2n"
29
+ class="css-89h75s"
30
30
  href="/section-one"
31
31
  >
32
32
  <span
33
- class="css-qg3ppo"
33
+ class="css-1xnclyu"
34
34
  >
35
35
  <span
36
36
  class="css-1yztr03"
37
37
  >
38
38
  <span
39
- class="css-1l5ehtz"
39
+ class="css-1golznc"
40
40
  >
41
41
  Link
42
42
  </span>
@@ -46,7 +46,7 @@ exports[`SectionTitle SectionTitle alternative titlebar 1`] = `
46
46
  >
47
47
  <svg
48
48
  aria-hidden="true"
49
- class="css-ns2ihd-EmotionIconBase ex0cdmw0"
49
+ class="css-fwudb3-EmotionIconBase ex0cdmw0"
50
50
  fill="currentColor"
51
51
  focusable="false"
52
52
  viewBox="0 0 24 24"
@@ -72,14 +72,14 @@ exports[`SectionTitle SectionTitle alternative titlebar 1`] = `
72
72
  exports[`SectionTitle SectionTitle with title 1`] = `
73
73
  <DocumentFragment>
74
74
  <div
75
- class="css-1k1zs74"
75
+ class="css-ilgzgo"
76
76
  data-testid="SectionTitleBar"
77
77
  >
78
78
  <div
79
- class="css-16ev6l1"
79
+ class="css-7p53p2"
80
80
  >
81
81
  <div
82
- class="css-1tdjaxu"
82
+ class="css-krscqv"
83
83
  >
84
84
  <section
85
85
  class="css-148i9wz"
@@ -95,17 +95,17 @@ exports[`SectionTitle SectionTitle with title 1`] = `
95
95
  class="css-1h0bvuz"
96
96
  >
97
97
  <a
98
- class="css-10qmydh"
98
+ class="css-686sn5"
99
99
  href="/section-one"
100
100
  >
101
101
  <span
102
- class="css-qg3ppo"
102
+ class="css-1xnclyu"
103
103
  >
104
104
  <span
105
105
  class="css-1yztr03"
106
106
  >
107
107
  <span
108
- class="css-1l5ehtz"
108
+ class="css-1golznc"
109
109
  >
110
110
  Link
111
111
  </span>
@@ -115,7 +115,7 @@ exports[`SectionTitle SectionTitle with title 1`] = `
115
115
  >
116
116
  <svg
117
117
  aria-hidden="true"
118
- class="css-ns2ihd-EmotionIconBase ex0cdmw0"
118
+ class="css-fwudb3-EmotionIconBase ex0cdmw0"
119
119
  fill="currentColor"
120
120
  focusable="false"
121
121
  viewBox="0 0 24 24"
@@ -141,24 +141,24 @@ exports[`SectionTitle SectionTitle with title 1`] = `
141
141
  exports[`SectionTitle SectionTitle without extra space 1`] = `
142
142
  <DocumentFragment>
143
143
  <div
144
- class="css-1r3hoet"
144
+ class="css-38y4ob"
145
145
  data-testid="addTopSpace"
146
146
  >
147
147
  <hr
148
148
  aria-hidden="true"
149
- class="css-90chx2"
149
+ class="css-mnhrmv"
150
150
  data-testid="divider"
151
151
  />
152
152
  </div>
153
153
  <div
154
- class="css-1k1zs74"
154
+ class="css-ilgzgo"
155
155
  data-testid="SectionTitleBar"
156
156
  >
157
157
  <div
158
- class="css-16ev6l1"
158
+ class="css-7p53p2"
159
159
  >
160
160
  <div
161
- class="css-1tdjaxu"
161
+ class="css-krscqv"
162
162
  >
163
163
  <section
164
164
  class="css-148i9wz"
@@ -174,17 +174,17 @@ exports[`SectionTitle SectionTitle without extra space 1`] = `
174
174
  class="css-1h0bvuz"
175
175
  >
176
176
  <a
177
- class="css-10qmydh"
177
+ class="css-686sn5"
178
178
  href="/section-one"
179
179
  >
180
180
  <span
181
- class="css-qg3ppo"
181
+ class="css-1xnclyu"
182
182
  >
183
183
  <span
184
184
  class="css-1yztr03"
185
185
  >
186
186
  <span
187
- class="css-1l5ehtz"
187
+ class="css-1golznc"
188
188
  >
189
189
  Link
190
190
  </span>
@@ -194,7 +194,7 @@ exports[`SectionTitle SectionTitle without extra space 1`] = `
194
194
  >
195
195
  <svg
196
196
  aria-hidden="true"
197
- class="css-ns2ihd-EmotionIconBase ex0cdmw0"
197
+ class="css-fwudb3-EmotionIconBase ex0cdmw0"
198
198
  fill="currentColor"
199
199
  focusable="false"
200
200
  viewBox="0 0 24 24"
@@ -1,10 +1,13 @@
1
1
  import { MQ } from 'newskit'
2
+ import { Article } from '@newskit-render/standalone-components'
2
3
  import { ArticleSlice } from '../../../helpers/global-types'
3
4
  import { VariantsName } from '../../teaser/teaserVariants'
4
5
 
5
6
  export type LayoutProps = {
6
7
  slice?: ArticleSlice
8
+ articles?: Article[]
7
9
  sectionURL?: string
8
10
  variant?: VariantsName
9
11
  colums?: MQ<string>
12
+ 'data-testid'?: string
10
13
  }