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.
Files changed (79) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/gatsby-config.js +1 -0
  3. package/gatsby-node.esm.js +36 -31
  4. package/package.json +1 -1
  5. package/src/components/atoms/author/index.js +19 -11
  6. package/src/components/atoms/author-box/index.js +24 -22
  7. package/src/components/atoms/bonus/index.js +2 -3
  8. package/src/components/atoms/breadcrumbs/index.js +3 -3
  9. package/src/components/atoms/button/index.js +6 -6
  10. package/src/components/atoms/carousel/arrow/index.js +3 -1
  11. package/src/components/atoms/carousel/pagination-item/index.js +2 -2
  12. package/src/components/atoms/collapse/index.js +4 -4
  13. package/src/components/atoms/content-box/index.js +5 -5
  14. package/src/components/atoms/custom-select/index.js +4 -4
  15. package/src/components/atoms/faq/index.js +7 -5
  16. package/src/components/atoms/iframe/index.js +1 -1
  17. package/src/components/atoms/image/index.js +1 -1
  18. package/src/components/atoms/info-grid/index.js +4 -4
  19. package/src/components/atoms/label/index.js +1 -1
  20. package/src/components/atoms/menu/items/index.js +7 -3
  21. package/src/components/atoms/menu/items/item/index.js +25 -11
  22. package/src/components/atoms/module-title/index.js +11 -5
  23. package/src/components/atoms/not-found/index.js +2 -2
  24. package/src/components/atoms/number-rating/index.js +1 -1
  25. package/src/components/atoms/open-graph/index.js +3 -3
  26. package/src/components/atoms/operator-cta/index.js +3 -3
  27. package/src/components/atoms/operator-cta-button/index.js +2 -2
  28. package/src/components/atoms/operator-info-block/index.js +3 -3
  29. package/src/components/atoms/review-link/index.js +1 -1
  30. package/src/components/atoms/scroll-to-top/index.js +3 -2
  31. package/src/components/atoms/search/autocomplete/article.js +1 -1
  32. package/src/components/atoms/search/autocomplete/game.js +1 -1
  33. package/src/components/atoms/search/autocomplete/operator.js +1 -1
  34. package/src/components/atoms/selling-points/index.js +2 -2
  35. package/src/components/atoms/sitemap/index.js +1 -1
  36. package/src/components/atoms/spotlights/index.js +3 -3
  37. package/src/components/atoms/timeline/index.js +5 -5
  38. package/src/components/molecules/carousel/default-slide/index.js +5 -5
  39. package/src/components/molecules/content/index.js +13 -11
  40. package/src/components/molecules/content-and-custom-module/index.js +3 -3
  41. package/src/components/molecules/counter/counter-item/index.js +2 -2
  42. package/src/components/molecules/counter/index.js +5 -2
  43. package/src/components/molecules/footer/index.js +6 -6
  44. package/src/components/molecules/header/index.js +6 -6
  45. package/src/components/molecules/link-list/index.js +3 -3
  46. package/src/components/molecules/main/index.js +1 -1
  47. package/src/components/molecules/menu/index.js +4 -2
  48. package/src/components/molecules/module/index.js +3 -4
  49. package/src/components/molecules/operator-banner/index.js +9 -8
  50. package/src/components/molecules/operator-banner/operator-banner.module.scss +42 -40
  51. package/src/components/molecules/pagination/index.js +2 -1
  52. package/src/components/molecules/pagination/with-midpoints.js +17 -17
  53. package/src/components/molecules/pros-cons/index.js +10 -9
  54. package/src/components/molecules/search/index.js +11 -8
  55. package/src/components/molecules/slider/index.js +3 -3
  56. package/src/components/molecules/star-rating/index.js +1 -1
  57. package/src/components/molecules/star-rating/one-star.js +2 -2
  58. package/src/components/molecules/sticky/index.js +3 -3
  59. package/src/components/molecules/toplist/default-row/index.js +3 -3
  60. package/src/components/organisms/accordion/index.js +4 -4
  61. package/src/components/organisms/anchor/index.js +9 -8
  62. package/src/components/organisms/archive/index.js +1 -1
  63. package/src/components/organisms/cards/index.js +2 -1
  64. package/src/components/organisms/carousel/index.js +2 -2
  65. package/src/components/organisms/cookie-consent/index.js +3 -3
  66. package/src/components/organisms/form/index.js +10 -10
  67. package/src/components/organisms/navigation/index.js +4 -4
  68. package/src/components/organisms/search/index.js +6 -4
  69. package/src/components/organisms/toplist/index.js +7 -1
  70. package/src/components/organisms/toplist/list/index.js +4 -4
  71. package/src/components/pages/tracker/index.js +8 -6
  72. package/src/components/pages/tracker-geo/index.js +10 -2
  73. package/src/hooks/gatsby-img/index.js +1 -1
  74. package/src/hooks/lazy-image/index.js +3 -3
  75. package/src/hooks/lazy-picture/index.js +1 -1
  76. package/src/hooks/modal/index.js +3 -1
  77. package/src/hooks/tabs/index.js +5 -5
  78. package/src/hooks/tabs/tab/tab-list.js +6 -3
  79. 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
@@ -11,6 +11,7 @@ module.exports = {
11
11
  esModule: false,
12
12
  modules: {
13
13
  namedExport: false,
14
+ localIdentName: '[name]__[local]', // customize the class name structure here
14
15
  },
15
16
  },
16
17
  additionalData: '@import "gatsby-core-theme/src/styles/globals.scss";',
@@ -338,37 +338,42 @@ exports.createPages = async ({ actions: { createPage } }, themeOptions) => {
338
338
  });
339
339
  });
340
340
 
341
- const operatorsByMarket = groupBy(operatorsAllMarket, 'market');
342
-
343
- trackerNames.forEach((link) => {
344
- const trackerLinkPath = generateTrackerLink(
345
- operatorsAllMarket[0],
346
- link,
347
- false,
348
- pageTemplate
349
- )
350
- .toLowerCase()
351
- .replace(' ', '_');
352
-
353
- const trackerPageObject = {
354
- meta_title: 'Tracker',
355
- template: pageTemplate,
356
- title: 'Tracker',
357
- relation_type: 'page',
358
- language: languageKey,
359
- path: trackerLinkPath,
360
- meta_robots: ['noindex', 'nofollow'],
361
- };
362
- createPage({
363
- path: trackerLinkPath,
364
- component: require.resolve('./src/components/app.js'),
365
- context: {
366
- page: trackerPageObject,
367
- siteInfo,
368
- operatorsByMarket,
369
- isTrackeGeo: true,
370
- isLiveStreamProvider: false,
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gatsby-core-theme",
3
- "version": "21.0.4",
3
+ "version": "21.0.6",
4
4
  "description": "Gatsby Theme NPM Package",
5
5
  "main": "index.js",
6
6
  "GATSBY_RECAPTCHA_SITEKEY": "6LfoyvMUAAAAAO4nl_MQnqHb4XdHxEiu5cXgIqeB",
@@ -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 className={`${styles.infoContainer} ${isCardsAuthor && styles.infoCardContainer}`}>
47
- <p className={`${styles.prefixStyle} ${prefixstyle && styles.prefixCardText}`}>
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}>{translate(translations, 'read', 'read')}</span>
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} ${primaryColor ? styles.primary : styles.secondary} ${
25
- invertColors && styles.invertColors
26
- } ${tertiary && styles.tertiary} ${noStyle && styles.noStyle} ${disabled && styles.disabled} ${
27
- className && styles[className]
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]} ${gtmClass} carousel-arrow-gtm btn-cta`}
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 : null}>
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
  />
@@ -26,7 +26,7 @@ const Iframe = ({
26
26
  }
27
27
 
28
28
  return (
29
- <div className={styles?.iframeContainer}>
29
+ <div className={styles?.iframeContainer || ''}>
30
30
  <iframe
31
31
  title={title}
32
32
  style={{ width: '100%', minHeight, display: 'block' }}
@@ -17,7 +17,7 @@ const Image = ({ module = {} }) => {
17
17
  width={912}
18
18
  height={333}
19
19
  title={title && title}
20
- className={`${styles.imageModule} ${styles[alignment]}`}
20
+ className={`${styles.imageModule || ''} ${styles[alignment] || ''}`}
21
21
  />
22
22
  );
23
23
  };
@@ -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>