gatsby-core-theme 21.0.4 → 21.0.6
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.
- package/CHANGELOG.md +33 -0
- package/gatsby-config.js +1 -0
- package/gatsby-node.esm.js +36 -31
- package/package.json +1 -1
- package/src/components/atoms/author/index.js +19 -11
- package/src/components/atoms/author-box/index.js +24 -22
- package/src/components/atoms/bonus/index.js +2 -3
- package/src/components/atoms/breadcrumbs/index.js +3 -3
- package/src/components/atoms/button/index.js +6 -6
- package/src/components/atoms/carousel/arrow/index.js +3 -1
- package/src/components/atoms/carousel/pagination-item/index.js +2 -2
- package/src/components/atoms/collapse/index.js +4 -4
- package/src/components/atoms/content-box/index.js +5 -5
- package/src/components/atoms/custom-select/index.js +4 -4
- package/src/components/atoms/faq/index.js +7 -5
- package/src/components/atoms/iframe/index.js +1 -1
- package/src/components/atoms/image/index.js +1 -1
- package/src/components/atoms/info-grid/index.js +4 -4
- package/src/components/atoms/label/index.js +1 -1
- package/src/components/atoms/menu/items/index.js +7 -3
- package/src/components/atoms/menu/items/item/index.js +25 -11
- package/src/components/atoms/module-title/index.js +11 -5
- package/src/components/atoms/not-found/index.js +2 -2
- package/src/components/atoms/number-rating/index.js +1 -1
- package/src/components/atoms/open-graph/index.js +3 -3
- package/src/components/atoms/operator-cta/index.js +3 -3
- package/src/components/atoms/operator-cta-button/index.js +2 -2
- package/src/components/atoms/operator-info-block/index.js +3 -3
- package/src/components/atoms/review-link/index.js +1 -1
- package/src/components/atoms/scroll-to-top/index.js +3 -2
- package/src/components/atoms/search/autocomplete/article.js +1 -1
- package/src/components/atoms/search/autocomplete/game.js +1 -1
- package/src/components/atoms/search/autocomplete/operator.js +1 -1
- package/src/components/atoms/selling-points/index.js +2 -2
- package/src/components/atoms/sitemap/index.js +1 -1
- package/src/components/atoms/spotlights/index.js +3 -3
- package/src/components/atoms/timeline/index.js +5 -5
- package/src/components/molecules/carousel/default-slide/index.js +5 -5
- package/src/components/molecules/content/index.js +13 -11
- package/src/components/molecules/content-and-custom-module/index.js +3 -3
- package/src/components/molecules/counter/counter-item/index.js +2 -2
- package/src/components/molecules/counter/index.js +5 -2
- package/src/components/molecules/footer/index.js +6 -6
- package/src/components/molecules/header/index.js +6 -6
- package/src/components/molecules/link-list/index.js +3 -3
- package/src/components/molecules/main/index.js +1 -1
- package/src/components/molecules/menu/index.js +4 -2
- package/src/components/molecules/module/index.js +3 -4
- package/src/components/molecules/operator-banner/index.js +9 -8
- package/src/components/molecules/operator-banner/operator-banner.module.scss +42 -40
- package/src/components/molecules/pagination/index.js +2 -1
- package/src/components/molecules/pagination/with-midpoints.js +17 -17
- package/src/components/molecules/pros-cons/index.js +10 -9
- package/src/components/molecules/search/index.js +11 -8
- package/src/components/molecules/slider/index.js +3 -3
- package/src/components/molecules/star-rating/index.js +1 -1
- package/src/components/molecules/star-rating/one-star.js +2 -2
- package/src/components/molecules/sticky/index.js +3 -3
- package/src/components/molecules/toplist/default-row/index.js +3 -3
- package/src/components/organisms/accordion/index.js +4 -4
- package/src/components/organisms/anchor/index.js +9 -8
- package/src/components/organisms/archive/index.js +1 -1
- package/src/components/organisms/cards/index.js +2 -1
- package/src/components/organisms/carousel/index.js +2 -2
- package/src/components/organisms/cookie-consent/index.js +3 -3
- package/src/components/organisms/form/index.js +10 -10
- package/src/components/organisms/navigation/index.js +4 -4
- package/src/components/organisms/search/index.js +6 -4
- package/src/components/organisms/toplist/index.js +7 -1
- package/src/components/organisms/toplist/list/index.js +4 -4
- package/src/components/pages/tracker/index.js +8 -6
- package/src/components/pages/tracker-geo/index.js +10 -2
- package/src/hooks/gatsby-img/index.js +1 -1
- package/src/hooks/lazy-image/index.js +3 -3
- package/src/hooks/lazy-picture/index.js +1 -1
- package/src/hooks/modal/index.js +3 -1
- package/src/hooks/tabs/index.js +5 -5
- package/src/hooks/tabs/tab/tab-list.js +6 -3
- package/src/hooks/tabs/tab/tab.js +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
## [21.0.6](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/compare/v21.0.5...v21.0.6) (2023-05-03)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* cleanup clases ([35f39cd](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/35f39cde0f3abf06f1ecc4560b57fc3398fe2581))
|
|
7
|
+
* cleanup class name ([8bc641b](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/8bc641bb7f080e4bac10ea7e5fa2b9c211a15975))
|
|
8
|
+
* cleanup class name for atoms and change format of class name ([6476017](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/64760178f164ae7f896f1593aa0e97121dbe1e88))
|
|
9
|
+
* cleanup classes for molecules ([2f72e58](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/2f72e58c2c303215e1717c5e120d98655b80a5ea))
|
|
10
|
+
* fix conflicts ([738e4bc](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/738e4bc2e40bf1d066cdef5cee2aa332bb08a723))
|
|
11
|
+
* geo target fallback ([e54c924](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/e54c924bffd75f61d6332793a5dcb9830dc34085))
|
|
12
|
+
* testing ([6aad4d2](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/6aad4d249a2a2a1f2a32e205277b02ca99c57604))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
* Merge branch 'tm-3399-cleanup-css' into 'master' ([5da620f](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/5da620f7e97273782bc330a20c45db2a45516294))
|
|
16
|
+
* Merge branch 'testing-geoTargeting' into 'master' ([ff5bc62](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/ff5bc623c16a2efb4d2608c4542ffcccdcff2029))
|
|
17
|
+
|
|
18
|
+
## [21.0.5](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/compare/v21.0.4...v21.0.5) (2023-04-28)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* geo targeting ([fda3769](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/fda37694e6fcfb30fed909095faa6132b64805c0))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Code Refactoring
|
|
27
|
+
|
|
28
|
+
* update operator banner cta styling ([dbca77e](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/dbca77e78d6ce56372a23be0e9c806fc17d3341a))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
* Merge branch 'geo-targeting-fix' into 'master' ([e345c3f](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/e345c3fa86a9eaca722ea9e1d6a268afa25242a6))
|
|
32
|
+
* Merge branch 'tm-3401-operator-banner-cta-style-update' into 'master' ([3b00e0c](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/3b00e0c3ecbc91cdfc62ae9e3cb9a6d997d74b79))
|
|
33
|
+
|
|
1
34
|
## [21.0.4](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/compare/v21.0.3...v21.0.4) (2023-04-26)
|
|
2
35
|
|
|
3
36
|
|
package/gatsby-config.js
CHANGED
package/gatsby-node.esm.js
CHANGED
|
@@ -338,37 +338,42 @@ exports.createPages = async ({ actions: { createPage } }, themeOptions) => {
|
|
|
338
338
|
});
|
|
339
339
|
});
|
|
340
340
|
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
const
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
341
|
+
const operatorsByType = groupBy(operatorsAllMarket, 'type');
|
|
342
|
+
|
|
343
|
+
Object.keys(operatorsByType).forEach((type) => {
|
|
344
|
+
const operatorsByMarket = groupBy(operatorsByType[type], 'market');
|
|
345
|
+
console.log(trackerNames);
|
|
346
|
+
|
|
347
|
+
trackerNames.forEach((link) => {
|
|
348
|
+
const trackerLinkPath = generateTrackerLink(
|
|
349
|
+
operatorsByType[type][0],
|
|
350
|
+
link,
|
|
351
|
+
false,
|
|
352
|
+
pageTemplate
|
|
353
|
+
)
|
|
354
|
+
.toLowerCase()
|
|
355
|
+
.replace(' ', '_');
|
|
356
|
+
console.log(trackerLinkPath);
|
|
357
|
+
const trackerPageObject = {
|
|
358
|
+
meta_title: 'Tracker',
|
|
359
|
+
template: pageTemplate,
|
|
360
|
+
title: 'Tracker',
|
|
361
|
+
relation_type: 'page',
|
|
362
|
+
language: languageKey,
|
|
363
|
+
path: trackerLinkPath,
|
|
364
|
+
meta_robots: ['noindex', 'nofollow'],
|
|
365
|
+
};
|
|
366
|
+
createPage({
|
|
367
|
+
path: trackerLinkPath,
|
|
368
|
+
component: require.resolve('./src/components/app.js'),
|
|
369
|
+
context: {
|
|
370
|
+
page: trackerPageObject,
|
|
371
|
+
siteInfo,
|
|
372
|
+
operatorsByMarket,
|
|
373
|
+
isTrackeGeo: true,
|
|
374
|
+
isLiveStreamProvider: false,
|
|
375
|
+
},
|
|
376
|
+
});
|
|
372
377
|
});
|
|
373
378
|
});
|
|
374
379
|
});
|
package/package.json
CHANGED
|
@@ -38,13 +38,21 @@ const Author = ({
|
|
|
38
38
|
|
|
39
39
|
return (
|
|
40
40
|
<div
|
|
41
|
-
className={`${styles.authorWraper} ${isCardsAuthor && styles.authorCard} ${
|
|
42
|
-
styles.authorSeparator
|
|
41
|
+
className={`${styles.authorWraper || ''} ${isCardsAuthor && (styles.authorCard || '')} ${
|
|
42
|
+
styles.authorSeparator || ''
|
|
43
43
|
}`}
|
|
44
44
|
>
|
|
45
45
|
{name && (
|
|
46
|
-
<div
|
|
47
|
-
|
|
46
|
+
<div
|
|
47
|
+
className={`${styles.infoContainer || ''} ${
|
|
48
|
+
isCardsAuthor && (styles.infoCardContainer || '')
|
|
49
|
+
}`}
|
|
50
|
+
>
|
|
51
|
+
<p
|
|
52
|
+
className={`${styles.prefixStyle || ''} ${
|
|
53
|
+
(prefixstyle && styles.prefixCardText) || ''
|
|
54
|
+
}`}
|
|
55
|
+
>
|
|
48
56
|
<span>{translate(translations, prefix, prefix) || getPrefixBasedOnPage}</span>
|
|
49
57
|
</p>
|
|
50
58
|
<Link to={link} title={name}>
|
|
@@ -63,7 +71,7 @@ const Author = ({
|
|
|
63
71
|
</div>
|
|
64
72
|
)}
|
|
65
73
|
{reviewer && !isCardsAuthor && (
|
|
66
|
-
<div className={date && styles.reviewer}>
|
|
74
|
+
<div className={date && (styles.reviewer || '')}>
|
|
67
75
|
<span>{`${translate(translations, 'fact_checked_by', 'Fact checked by')}`}</span>
|
|
68
76
|
{` `}
|
|
69
77
|
<Link to={reviewer.profile_page_path} title={reviewer.name}>
|
|
@@ -72,25 +80,25 @@ const Author = ({
|
|
|
72
80
|
</div>
|
|
73
81
|
)}
|
|
74
82
|
{readingTime && !isCardsAuthor && (
|
|
75
|
-
<div className={styles.readingWithBorder}>
|
|
76
|
-
<img width={14} height={14} className={styles.clock} src={clock} alt="clock" />
|
|
83
|
+
<div className={styles.readingWithBorder || ''}>
|
|
84
|
+
<img width={14} height={14} className={styles.clock || ''} src={clock} alt="clock" />
|
|
77
85
|
<span className={styles.readingTimeText}>
|
|
78
86
|
{translate(translations, 'reading_time', 'Reading time')}
|
|
79
87
|
</span>
|
|
80
88
|
{` ${readingTime} ${translate(translations, 'minutes', 'min')}`}
|
|
81
|
-
<span className={styles.readText}>{translate(translations, 'read', 'read')}</span>
|
|
89
|
+
<span className={styles.readText || ''}>{translate(translations, 'read', 'read')}</span>
|
|
82
90
|
</div>
|
|
83
91
|
)}
|
|
84
92
|
{date && (
|
|
85
|
-
<div className={styles.dateTimeWrapper}>
|
|
93
|
+
<div className={styles.dateTimeWrapper || ''}>
|
|
86
94
|
{!isCardsAuthor && <span>{translate(translations, 'published_on', 'Published on')}</span>}
|
|
87
95
|
{` `}
|
|
88
96
|
{hasAuthorBox ? (
|
|
89
|
-
<a href="#authorbox" className={!isCardsAuthor && styles.dateLink}>
|
|
97
|
+
<a href="#authorbox" className={!isCardsAuthor && (styles.dateLink || '')}>
|
|
90
98
|
{formatedDate}
|
|
91
99
|
</a>
|
|
92
100
|
) : (
|
|
93
|
-
<span className={styles.noLink}>{formatedDate}</span>
|
|
101
|
+
<span className={styles.noLink || ''}>{formatedDate}</span>
|
|
94
102
|
)}
|
|
95
103
|
</div>
|
|
96
104
|
)}
|
|
@@ -46,9 +46,9 @@ export default function AuthorBox({
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
return (
|
|
49
|
-
<div className={styles.container} id="authorbox">
|
|
50
|
-
<div className={styles.innerContainer}>
|
|
51
|
-
<div className={styles.leftContainer}>
|
|
49
|
+
<div className={styles.container || ''} id="authorbox">
|
|
50
|
+
<div className={styles.innerContainer || ''}>
|
|
51
|
+
<div className={styles.leftContainer || ''}>
|
|
52
52
|
{author?.image_object && (
|
|
53
53
|
<LazyImage
|
|
54
54
|
src={imagePrettyUrl(author?.image_object.filename, width, height)}
|
|
@@ -57,8 +57,8 @@ export default function AuthorBox({
|
|
|
57
57
|
height={height}
|
|
58
58
|
/>
|
|
59
59
|
)}
|
|
60
|
-
<div className={styles.information}>
|
|
61
|
-
<p className={styles.name}>
|
|
60
|
+
<div className={styles.information || ''}>
|
|
61
|
+
<p className={styles.name || ''}>
|
|
62
62
|
<span>{author?.name}</span>
|
|
63
63
|
<LazyImage
|
|
64
64
|
src="../../../images/verify.svg"
|
|
@@ -67,9 +67,9 @@ export default function AuthorBox({
|
|
|
67
67
|
height={20}
|
|
68
68
|
/>
|
|
69
69
|
</p>
|
|
70
|
-
{author?.author_title && <p className={styles.title}>{author?.author_title}</p>}
|
|
70
|
+
{author?.author_title && <p className={styles.title || ''}>{author?.author_title}</p>}
|
|
71
71
|
{socialLinks.length > 0 && (
|
|
72
|
-
<p className={styles.socialIcons}>
|
|
72
|
+
<p className={styles.socialIcons || ''}>
|
|
73
73
|
{socialLinks
|
|
74
74
|
.filter((socialLink) => socialLink.link)
|
|
75
75
|
.map((filteredLinks) => (
|
|
@@ -92,13 +92,13 @@ export default function AuthorBox({
|
|
|
92
92
|
target="_blank"
|
|
93
93
|
rel="nofollow noreferrer"
|
|
94
94
|
>
|
|
95
|
-
<img className={styles.clock} src={email} alt="email" />
|
|
95
|
+
<img className={styles.clock || ''} src={email} alt="email" />
|
|
96
96
|
</a>
|
|
97
97
|
)}
|
|
98
98
|
</p>
|
|
99
99
|
)}
|
|
100
100
|
{date && (
|
|
101
|
-
<div className={styles.dateTimeWrapper}>
|
|
101
|
+
<div className={styles.dateTimeWrapper || ''}>
|
|
102
102
|
<span>{translate(translations, 'published_on', 'Published on')}</span>
|
|
103
103
|
{` `}
|
|
104
104
|
{formatDate(date, dateFormat, dateSeparator, 'en-GB')}
|
|
@@ -106,8 +106,8 @@ export default function AuthorBox({
|
|
|
106
106
|
)}
|
|
107
107
|
</div>
|
|
108
108
|
</div>
|
|
109
|
-
<div className={styles.rightContainer}>
|
|
110
|
-
<div className={styles.bioContainer}>
|
|
109
|
+
<div className={styles.rightContainer || ''}>
|
|
110
|
+
<div className={styles.bioContainer || ''}>
|
|
111
111
|
<div
|
|
112
112
|
ref={biographyRef}
|
|
113
113
|
className={`${styles.biography} ${
|
|
@@ -132,7 +132,7 @@ export default function AuthorBox({
|
|
|
132
132
|
<Link
|
|
133
133
|
to={author?.profile_page_path}
|
|
134
134
|
title={author?.name}
|
|
135
|
-
className={`${styles.readMore} author-gtm`}
|
|
135
|
+
className={`${styles.readMore || ''} author-gtm`}
|
|
136
136
|
>
|
|
137
137
|
{translate(translations, 'read_more_about', 'More about [author]').replace(
|
|
138
138
|
'[author]',
|
|
@@ -142,12 +142,12 @@ export default function AuthorBox({
|
|
|
142
142
|
</Link>
|
|
143
143
|
)}
|
|
144
144
|
{author?.expertise && (
|
|
145
|
-
<div className={styles.expertiseContainer}>
|
|
145
|
+
<div className={styles.expertiseContainer || ''}>
|
|
146
146
|
<span>{translate(translations, 'expert_on', 'Expert on')}: </span>
|
|
147
|
-
<ul className={styles.expertiseList}>
|
|
147
|
+
<ul className={styles.expertiseList || ''}>
|
|
148
148
|
{author?.expertise.map((item, index) => (
|
|
149
149
|
// eslint-disable-next-line react/no-array-index-key
|
|
150
|
-
<li key={index} className={styles.expertiseItem}>
|
|
150
|
+
<li key={index} className={styles.expertiseItem || ''}>
|
|
151
151
|
<img className={styles.check} src={check} alt="check" width={10} height={8} />
|
|
152
152
|
{item}
|
|
153
153
|
</li>
|
|
@@ -156,17 +156,19 @@ export default function AuthorBox({
|
|
|
156
156
|
</div>
|
|
157
157
|
)}
|
|
158
158
|
{(readingTime || reviewer || date) && (
|
|
159
|
-
<div className={styles.pageInfo}>
|
|
159
|
+
<div className={styles.pageInfo || ''}>
|
|
160
160
|
{readingTime && (
|
|
161
|
-
<div className={styles.readingTime}>
|
|
161
|
+
<div className={styles.readingTime || ''}>
|
|
162
162
|
<FaClock />
|
|
163
163
|
{` ${readingTime} ${translate(translations, 'minutes', 'min')} `}
|
|
164
|
-
<span className={styles.readText
|
|
164
|
+
<span className={styles.readText || ''}>
|
|
165
|
+
{translate(translations, 'read', 'read')}
|
|
166
|
+
</span>
|
|
165
167
|
</div>
|
|
166
168
|
)}
|
|
167
169
|
{reviewer && (
|
|
168
|
-
<div className={styles.reviewer}>
|
|
169
|
-
<img className={styles.check} src={checkCircle} alt="checkCircle" />
|
|
170
|
+
<div className={styles.reviewer || ''}>
|
|
171
|
+
<img className={styles.check || ''} src={checkCircle} alt="checkCircle" />
|
|
170
172
|
<span>{` ${translate(
|
|
171
173
|
translations,
|
|
172
174
|
'fact_checked_by',
|
|
@@ -178,7 +180,7 @@ export default function AuthorBox({
|
|
|
178
180
|
</div>
|
|
179
181
|
)}
|
|
180
182
|
{date && (
|
|
181
|
-
<div className={styles.dateTimeWrapper}>
|
|
183
|
+
<div className={styles.dateTimeWrapper || ''}>
|
|
182
184
|
<span>{translate(translations, 'published_on', 'Published on')}</span>
|
|
183
185
|
{` `}
|
|
184
186
|
{formatDate(date, dateFormat, dateSeparator, 'en-GB')}
|
|
@@ -187,7 +189,7 @@ export default function AuthorBox({
|
|
|
187
189
|
</div>
|
|
188
190
|
)}
|
|
189
191
|
</div>
|
|
190
|
-
{author?.ribbon_label && <div className={styles.ribbon}>{author?.ribbon_label}</div>}
|
|
192
|
+
{author?.ribbon_label && <div className={styles.ribbon || ''}>{author?.ribbon_label}</div>}
|
|
191
193
|
</div>
|
|
192
194
|
</div>
|
|
193
195
|
);
|
|
@@ -25,9 +25,9 @@ export default function Bonus({ item, tracker, splitBy = '+', feSeparator = '+'
|
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
27
|
<>
|
|
28
|
-
{!isInoperative && mainLine && <span className={styles.firstPart}>{mainLine}</span>}
|
|
28
|
+
{!isInoperative && mainLine && <span className={styles.firstPart || ''}>{mainLine}</span>}
|
|
29
29
|
{!isInoperative && secondLine && (
|
|
30
|
-
<span className={styles.secondPart}>{`${feSeparator}${secondLine}`}</span>
|
|
30
|
+
<span className={styles.secondPart || ''}>{`${feSeparator}${secondLine}`}</span>
|
|
31
31
|
)}
|
|
32
32
|
</>
|
|
33
33
|
);
|
|
@@ -36,7 +36,6 @@ export default function Bonus({ item, tracker, splitBy = '+', feSeparator = '+'
|
|
|
36
36
|
Bonus.propTypes = {
|
|
37
37
|
item: PropTypes.shape({
|
|
38
38
|
status: PropTypes.string,
|
|
39
|
-
one_liners: PropTypes.object,
|
|
40
39
|
}),
|
|
41
40
|
tracker: PropTypes.string,
|
|
42
41
|
splitBy: PropTypes.string,
|
|
@@ -24,8 +24,8 @@ function Breadcrumbs({ page, separator = <span> / </span> }) {
|
|
|
24
24
|
);
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
|
-
<ol className={styles.breadcrumbs}>
|
|
28
|
-
<li className={styles.item}>
|
|
27
|
+
<ol className={styles.breadcrumbs || ''}>
|
|
28
|
+
<li className={styles.item || ''}>
|
|
29
29
|
{isPPC ? (
|
|
30
30
|
home
|
|
31
31
|
) : (
|
|
@@ -49,7 +49,7 @@ function Breadcrumbs({ page, separator = <span> / </span> }) {
|
|
|
49
49
|
{separator}
|
|
50
50
|
</li>
|
|
51
51
|
))}
|
|
52
|
-
<li className={styles.item}>{page.vanity_label ? page.vanity_label : page.title}</li>
|
|
52
|
+
<li className={styles.item || ''}>{page.vanity_label ? page.vanity_label : page.title}</li>
|
|
53
53
|
</ol>
|
|
54
54
|
);
|
|
55
55
|
}
|
|
@@ -21,11 +21,11 @@ function Button({
|
|
|
21
21
|
icon = null,
|
|
22
22
|
gtmClass = '',
|
|
23
23
|
}) {
|
|
24
|
-
const classes = `${styles.ctaBtn
|
|
25
|
-
|
|
26
|
-
} ${
|
|
27
|
-
|
|
28
|
-
}`;
|
|
24
|
+
const classes = `${styles.ctaBtn || ''} ${
|
|
25
|
+
primaryColor ? styles.primary || '' : styles.secondary || ''
|
|
26
|
+
} ${invertColors && (styles.invertColors || '')} ${(tertiary && styles.tertiary) || ''} ${
|
|
27
|
+
(noStyle && styles.noStyle) || ''
|
|
28
|
+
} ${(disabled && styles.disabled) || ''} ${(className && styles[className]) || ''}`;
|
|
29
29
|
|
|
30
30
|
const btnTitle = typeof btnText === 'string' ? btnText : '';
|
|
31
31
|
|
|
@@ -59,7 +59,7 @@ function Button({
|
|
|
59
59
|
aria-label={btnTitle}
|
|
60
60
|
onClick={onClick}
|
|
61
61
|
target={!isAnchorLink && targetBlank ? '_blank' : ''}
|
|
62
|
-
className={`${classes} ${gtmClass}`}
|
|
62
|
+
className={`${classes || ''} ${gtmClass || ''}`}
|
|
63
63
|
rel="nofollow noreferrer"
|
|
64
64
|
>
|
|
65
65
|
{btnText}
|
|
@@ -6,7 +6,9 @@ import styles from './arrow.module.scss';
|
|
|
6
6
|
const Arrow = ({ direction, content = '', onClick, onKeyDown, disabled, gtmClass = '' }) => (
|
|
7
7
|
<button
|
|
8
8
|
type="button"
|
|
9
|
-
className={`${styles.arrow} ${styles[direction]} ${
|
|
9
|
+
className={`${styles.arrow || ''} ${styles[direction] || ''} ${
|
|
10
|
+
gtmClass || ''
|
|
11
|
+
} carousel-arrow-gtm btn-cta`}
|
|
10
12
|
onClick={onClick}
|
|
11
13
|
onKeyDown={onKeyDown}
|
|
12
14
|
disabled={disabled}
|
|
@@ -8,7 +8,7 @@ const PaginationItem = ({ type, paginationHandler, slideIndex, totalSlides, gtmC
|
|
|
8
8
|
const pages = [];
|
|
9
9
|
|
|
10
10
|
for (let i = 0; i < totalSlides; i += 1) {
|
|
11
|
-
const classes = `${styles.paginationItem} ${styles[type]} ${
|
|
11
|
+
const classes = `${styles.paginationItem || ''} ${styles[type] || ''} ${
|
|
12
12
|
Math.abs(slideIndex) === i ? styles.active : ''
|
|
13
13
|
}`;
|
|
14
14
|
pages.push(
|
|
@@ -24,7 +24,7 @@ const PaginationItem = ({ type, paginationHandler, slideIndex, totalSlides, gtmC
|
|
|
24
24
|
);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
return <div className={styles.pagination}>{pages}</div>;
|
|
27
|
+
return <div className={styles.pagination || ''}>{pages}</div>;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
PaginationItem.propTypes = {
|
|
@@ -29,13 +29,13 @@ const Collapse = ({
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
return (
|
|
32
|
-
<div className={styles.collapseContainer}>
|
|
33
|
-
<div className={maxHeightStyle !== 0 ? styles.active :
|
|
32
|
+
<div className={styles.collapseContainer || ''}>
|
|
33
|
+
<div className={maxHeightStyle !== 0 ? styles.active : ''}>
|
|
34
34
|
<button
|
|
35
35
|
type="button"
|
|
36
36
|
onClick={clickHandler}
|
|
37
37
|
className={`${onlyMobile ? styles.buttonM : ''} ${onlyDesktop ? styles.buttonD : ''} ${
|
|
38
|
-
styles.button
|
|
38
|
+
styles.button || ''
|
|
39
39
|
} ${maxHeightStyle !== 0 ? styles.invertArrow : ''} collapse-gtm btn-cta`}
|
|
40
40
|
>
|
|
41
41
|
{buttonText}
|
|
@@ -43,7 +43,7 @@ const Collapse = ({
|
|
|
43
43
|
<div
|
|
44
44
|
ref={contentRef}
|
|
45
45
|
className={`${onlyMobile ? styles.contentM : ''} ${onlyDesktop ? styles.contentD : ''} ${
|
|
46
|
-
styles.content
|
|
46
|
+
styles.content || ''
|
|
47
47
|
}`}
|
|
48
48
|
style={onlyMobile || onlyDesktop ? { maxHeight: maxHeightStyle } : {}}
|
|
49
49
|
>
|
|
@@ -6,16 +6,16 @@ import keygen from '~helpers/keygen';
|
|
|
6
6
|
import styles from './content-box.module.scss';
|
|
7
7
|
|
|
8
8
|
const ContentBox = ({ data = [] }) => (
|
|
9
|
-
<div className={styles.contentBoxContainer}>
|
|
10
|
-
<ul className={styles.contentBoxList}>
|
|
9
|
+
<div className={styles.contentBoxContainer || ''}>
|
|
10
|
+
<ul className={styles.contentBoxList || ''}>
|
|
11
11
|
{data &&
|
|
12
12
|
data.map((item) => (
|
|
13
13
|
<li key={keygen()}>
|
|
14
|
-
<div className={styles.item}>
|
|
15
|
-
<div className={styles.icon}>
|
|
14
|
+
<div className={styles.item || ''}>
|
|
15
|
+
<div className={styles.icon || ''}>
|
|
16
16
|
<LazyImage alt={item.title} src={item.image} />
|
|
17
17
|
</div>
|
|
18
|
-
<div className={styles.body}>
|
|
18
|
+
<div className={styles.body || ''}>
|
|
19
19
|
<div className="h2">{item.title}</div>
|
|
20
20
|
<p>{item.text}</p>
|
|
21
21
|
</div>
|
|
@@ -27,17 +27,17 @@ const CustomSelect = ({
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
return (
|
|
30
|
-
<div className={styles.customSelectContainer}>
|
|
30
|
+
<div className={styles.customSelectContainer || ''}>
|
|
31
31
|
<button
|
|
32
32
|
ref={defBtn}
|
|
33
|
-
className={`${styles.select} custom-select-gtm btn-cta`}
|
|
33
|
+
className={`${styles.select || ''} custom-select-gtm btn-cta`}
|
|
34
34
|
type="button"
|
|
35
35
|
onClick={showDropdown}
|
|
36
36
|
data-id="select-button"
|
|
37
37
|
>
|
|
38
38
|
{selectedOption && selectedOption[itemsLabel]}
|
|
39
39
|
</button>
|
|
40
|
-
<ol ref={selectList} className={styles.list} data-id="select-list">
|
|
40
|
+
<ol ref={selectList} className={styles.list || ''} data-id="select-list">
|
|
41
41
|
{options &&
|
|
42
42
|
options.map((item) => {
|
|
43
43
|
if (item[itemsValue] === selectedOption[itemsValue]) return null;
|
|
@@ -50,7 +50,7 @@ const CustomSelect = ({
|
|
|
50
50
|
}
|
|
51
51
|
return (
|
|
52
52
|
<li
|
|
53
|
-
className={styles.selectListItem}
|
|
53
|
+
className={styles.selectListItem || ''}
|
|
54
54
|
key={keygen()}
|
|
55
55
|
data-value={currentItem[itemsValue]}
|
|
56
56
|
data-type={currentItem.type}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
2
|
+
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
1
3
|
/* eslint-disable no-return-assign */
|
|
2
4
|
import React, { useRef, useEffect } from 'react';
|
|
3
5
|
import PropTypes from 'prop-types';
|
|
@@ -57,19 +59,19 @@ const Faq = ({ module, closeAll = false, openItem, closeOthers = false, icon = '
|
|
|
57
59
|
|
|
58
60
|
return (
|
|
59
61
|
<>
|
|
60
|
-
<div className={styles.faqContainer}>
|
|
62
|
+
<div className={styles.faqContainer || ''}>
|
|
61
63
|
{items.map((item, index) => (
|
|
62
|
-
<div key={keygen()} className={styles.faqItem}>
|
|
64
|
+
<div key={keygen()} className={styles.faqItem || ''}>
|
|
63
65
|
<div
|
|
64
66
|
onClick={() => toggle(index)}
|
|
65
|
-
className={`${styles.title} faq-gtm`}
|
|
67
|
+
className={`${styles.title || ''} faq-gtm`}
|
|
66
68
|
ref={(el) => (btnRefs.current[index] = el)}
|
|
67
69
|
>
|
|
68
|
-
{icon && <span className={styles.circle}>{icon} </span>}
|
|
70
|
+
{icon && <span className={styles.circle || ''}>{icon} </span>}
|
|
69
71
|
<div dangerouslySetInnerHTML={{ __html: item.question }} />
|
|
70
72
|
</div>
|
|
71
73
|
<div
|
|
72
|
-
className={`${styles.content} ${styles.active}`}
|
|
74
|
+
className={`${styles.content || ''} ${styles.active || ''}`}
|
|
73
75
|
ref={(el) => (itemRefs.current[index] = el)}
|
|
74
76
|
dangerouslySetInnerHTML={{ __html: item.answer }}
|
|
75
77
|
/>
|
|
@@ -5,11 +5,11 @@ import styles from './info-grid.module.scss';
|
|
|
5
5
|
import keygen from '~helpers/keygen';
|
|
6
6
|
|
|
7
7
|
const InfoGrid = ({ data }) => (
|
|
8
|
-
<div className={styles.infoGridContainer}>
|
|
8
|
+
<div className={styles.infoGridContainer || ''}>
|
|
9
9
|
{data.map((row) => (
|
|
10
|
-
<div key={keygen()} className={styles.infoGridItem}>
|
|
11
|
-
<div className={styles.infoGridItemTitle}>{row.name}</div>
|
|
12
|
-
<div className={styles.infoGridItemValue}>{row.value}</div>
|
|
10
|
+
<div key={keygen()} className={styles.infoGridItem || ''}>
|
|
11
|
+
<div className={styles.infoGridItemTitle || ''}>{row.name}</div>
|
|
12
|
+
<div className={styles.infoGridItemValue || ''}>{row.value}</div>
|
|
13
13
|
</div>
|
|
14
14
|
))}
|
|
15
15
|
</div>
|
|
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import styles from './label.module.scss';
|
|
5
5
|
|
|
6
6
|
const Label = ({ title = '', bgColor = 'yellow' }) => (
|
|
7
|
-
<span className={styles.label} style={{ backgroundColor: bgColor }}>
|
|
7
|
+
<span className={styles.label || ''} style={{ backgroundColor: bgColor }}>
|
|
8
8
|
{title}
|
|
9
9
|
</span>
|
|
10
10
|
);
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/* eslint-disable jsx-a11y/mouse-events-have-key-events */
|
|
2
|
+
/* eslint-disable react/jsx-no-bind */
|
|
3
|
+
/* eslint-disable no-restricted-syntax */
|
|
4
|
+
/* eslint-disable no-unused-expressions */
|
|
1
5
|
/* eslint-disable arrow-body-style */
|
|
2
6
|
import React, { useRef } from 'react';
|
|
3
7
|
import PropTypes from 'prop-types';
|
|
@@ -36,7 +40,7 @@ const Items = ({
|
|
|
36
40
|
|
|
37
41
|
function showSubMenu(itemStyles) {
|
|
38
42
|
if (!options.mobile.canOpenAllSubMenus) {
|
|
39
|
-
const showingSubMenu = menuListRef.current.querySelector(`.${styles.show}`);
|
|
43
|
+
const showingSubMenu = menuListRef.current.querySelector(`.${styles.show || ''}`);
|
|
40
44
|
|
|
41
45
|
if (showingSubMenu && showingSubMenu !== subMenuList.current) {
|
|
42
46
|
showingSubMenu.classList.toggle(styles.show);
|
|
@@ -69,7 +73,7 @@ const Items = ({
|
|
|
69
73
|
/>
|
|
70
74
|
);
|
|
71
75
|
menu = (
|
|
72
|
-
<ul ref={subMenuList} className={styles.subMenuList}>
|
|
76
|
+
<ul ref={subMenuList} className={styles.subMenuList || ''}>
|
|
73
77
|
{item.children.map((child) => {
|
|
74
78
|
return (
|
|
75
79
|
<Items
|
|
@@ -100,7 +104,7 @@ const Items = ({
|
|
|
100
104
|
}
|
|
101
105
|
|
|
102
106
|
return (
|
|
103
|
-
<li className={styles.menuItem} onMouseOver={addPositionClass}>
|
|
107
|
+
<li className={styles.menuItem || ''} onMouseOver={addPositionClass}>
|
|
104
108
|
{link}
|
|
105
109
|
{menu}
|
|
106
110
|
</li>
|