gatsby-matrix-theme 53.1.7 → 53.2.1

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 (35) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/package.json +2 -2
  3. package/src/components/atoms/admin/card/button/index.js +19 -14
  4. package/src/components/atoms/author/socials/index.js +2 -1
  5. package/src/components/atoms/cards/article-card/template-one/index.js +13 -18
  6. package/src/components/atoms/cards/game-cards/template-five/index.js +7 -9
  7. package/src/components/atoms/cards/game-cards/template-four/index.js +7 -7
  8. package/src/components/atoms/cards/game-cards/template-one/index.js +5 -5
  9. package/src/components/atoms/cards/game-cards/template-three/index.js +4 -7
  10. package/src/components/atoms/cards/game-cards/template-two/index.js +7 -7
  11. package/src/components/atoms/cards/payment-method/template-one/index.js +5 -3
  12. package/src/components/atoms/cards/payment-method/template-three/index.js +2 -1
  13. package/src/components/atoms/cards/software-provider-card/index.js +3 -2
  14. package/src/components/atoms/country-selector/index.js +1 -1
  15. package/src/components/atoms/social-icons/index.js +1 -1
  16. package/src/components/molecules/header/variants/payment/template-five/index.js +7 -6
  17. package/src/components/molecules/header/variants/payment/template-one-three/index.js +3 -3
  18. package/src/components/molecules/header/variants/payment/template-two/index.js +9 -7
  19. package/src/components/molecules/horse-calculator/index.js +36 -14
  20. package/src/components/organisms/cards/template-two/buttons/index.js +4 -3
  21. package/src/components/organisms/popup/index.js +15 -6
  22. package/src/gatsby-core-theme/components/atoms/contact-form/index.js +3 -3
  23. package/src/helpers/formatToUnderscore.js +2 -0
  24. package/src/helpers/formatToUnderscore.test.js +17 -0
  25. package/src/helpers/info-grid.js +3 -7
  26. package/storybook/public/679.4baf924a.iframe.bundle.js +1 -0
  27. package/storybook/public/{717.983d8f3c.iframe.bundle.js → 717.1e646ef1.iframe.bundle.js} +3 -3
  28. package/storybook/public/{717.983d8f3c.iframe.bundle.js.map → 717.1e646ef1.iframe.bundle.js.map} +1 -1
  29. package/storybook/public/iframe.html +1 -1
  30. package/storybook/public/main.48c97eba.iframe.bundle.js +1 -0
  31. package/storybook/public/project.json +1 -1
  32. package/storybook/public/{runtime~main.0df0b55e.iframe.bundle.js → runtime~main.f3a5bb31.iframe.bundle.js} +1 -1
  33. package/storybook/public/679.144f0a65.iframe.bundle.js +0 -1
  34. package/storybook/public/main.2dc80043.iframe.bundle.js +0 -1
  35. /package/storybook/public/{717.983d8f3c.iframe.bundle.js.LICENSE.txt → 717.1e646ef1.iframe.bundle.js.LICENSE.txt} +0 -0
@@ -269,7 +269,9 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
269
269
  tooltip="Bet Calculator - All Types & Options"
270
270
  onChangeFunc={handleBetTypeChange}
271
271
  options={betType.map((type, index) => (
272
- <option key={keygen()} value={index}>{type.name}</option>
272
+ <option key={keygen()} value={index}>
273
+ {type.name}
274
+ </option>
273
275
  ))}
274
276
  refObj={betTypeRef}
275
277
  tooltipMinWidth={tooltipMinWidth}
@@ -323,7 +325,9 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
323
325
  tooltip="Pick how many horses you want to track below!"
324
326
  onChangeFunc={handleNumSelectionChange}
325
327
  options={[...Array(numSelection)].map((e, i) => (
326
- <option key={keygen()} value={i + 1}>{i + 1}</option>
328
+ <option key={keygen()} value={i + 1}>
329
+ {i + 1}
330
+ </option>
327
331
  ))}
328
332
  refObj={numSelectionRef}
329
333
  tooltipMinWidth={tooltipMinWidth}
@@ -399,13 +403,18 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
399
403
  ref={(el) => (outcomesTableRefs.current[index] = el)}
400
404
  >
401
405
  {addNotes === 'No' && <td>{index + 1}</td>}
402
- <td aria-label="outcome" className={`${styles.outComing} ${styles.cells}`}>
406
+ <td
407
+ aria-label={useTranslate('ariaLabel-outcome', 'outcome')}
408
+ className={`${styles.outComing} ${styles.cells}`}
409
+ >
403
410
  <Select
404
411
  // label="Outcome:"
405
412
  id={`outcome-${index}`}
406
413
  onChangeFunc={handleOutcomeSelection}
407
414
  options={outcomeOptions.map((option) => (
408
- <option key={keygen()} value={option.value}>{option.name}</option>
415
+ <option key={keygen()} value={option.value}>
416
+ {option.name}
417
+ </option>
409
418
  ))}
410
419
  index={index}
411
420
  tooltipMinWidth={tooltipMinWidth}
@@ -413,7 +422,7 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
413
422
  />
414
423
  </td>
415
424
  <td
416
- aria-label="odds"
425
+ aria-label={useTranslate('ariaLabel-odds', 'odds')}
417
426
  className={`${styles.cells} ${styles.odds}${
418
427
  outcomeSelection[index] === 'lost' || outcomeSelection[index] === 'void'
419
428
  ? styles.displayNone || ''
@@ -436,14 +445,16 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
436
445
  </td>
437
446
  {eachWay === 'Yes' && (
438
447
  <td
439
- aria-label="place odds"
448
+ aria-label={useTranslate('ariaLabel-placeOdds', 'place odds')}
440
449
  className={`${styles?.placeOdds} ${styles.cells} ${styles.placeOdds}`}
441
450
  >
442
451
  <Select
443
452
  id="place_odds"
444
453
  onChangeFunc={calculateTotalBet}
445
454
  options={placeOddsoptions.map((option) => (
446
- <option key={keygen()} value={option}>{option}</option>
455
+ <option key={keygen()} value={option}>
456
+ {option}
457
+ </option>
447
458
  ))}
448
459
  tooltipMinWidth={tooltipMinWidth}
449
460
  customClass={styles.overflowTableSelect}
@@ -451,12 +462,17 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
451
462
  </td>
452
463
  )}
453
464
  {ruleFour === 'Yes' && (
454
- <td aria-label="rule four" className={`${styles.cells} ${styles.ruleFour}`}>
465
+ <td
466
+ aria-label={useTranslate('ariaLabel-ruleFour', 'rule four')}
467
+ className={`${styles.cells} ${styles.ruleFour}`}
468
+ >
455
469
  <Select
456
470
  id="rule_four"
457
471
  onChangeFunc={calculateTotalBet}
458
472
  options={ruleFourOptions.map((option) => (
459
- <option key={keygen()} value={option}>{option}</option>
473
+ <option key={keygen()} value={option}>
474
+ {option}
475
+ </option>
460
476
  ))}
461
477
  tooltipMinWidth={tooltipMinWidth}
462
478
  customClass={styles.overflowTableSelect}
@@ -472,7 +488,7 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
472
488
  >
473
489
  {outcomeSelection[index] === 'dead_heat' && (
474
490
  <>
475
- <td aria-label="hidden" />
491
+ <td aria-label={useTranslate('ariaLabel-hidden', 'hidden')} />
476
492
  <td colSpan={getColspan()}>
477
493
  <div className={styles?.deadHeat || ''}>
478
494
  <Select
@@ -480,7 +496,9 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
480
496
  label="Tied position"
481
497
  onChangeFunc={calculateTotalBet}
482
498
  options={[...Array(16)].map((e, i) => (
483
- <option key={keygen()} value={i + 1}>{i + 1}</option>
499
+ <option key={keygen()} value={i + 1}>
500
+ {i + 1}
501
+ </option>
484
502
  ))}
485
503
  tooltipMinWidth={tooltipMinWidth}
486
504
  customClass={styles.overflowTableSelect}
@@ -490,7 +508,9 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
490
508
  onChangeFunc={calculateTotalBet}
491
509
  label="Number of runnners in dead heat:"
492
510
  options={[...Array(16)].map((e, i) => (
493
- <option key={keygen()} value={i + 1}>{i + 1}</option>
511
+ <option key={keygen()} value={i + 1}>
512
+ {i + 1}
513
+ </option>
494
514
  ))}
495
515
  tooltipMinWidth={tooltipMinWidth}
496
516
  customClass={styles.overflowTableSelect}
@@ -500,7 +520,9 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
500
520
  label="Places Offered"
501
521
  onChangeFunc={calculateTotalBet}
502
522
  options={[...Array(16)].map((e, i) => (
503
- <option key={keygen()} value={i + 1}>{i + 1}</option>
523
+ <option key={keygen()} value={i + 1}>
524
+ {i + 1}
525
+ </option>
504
526
  ))}
505
527
  tooltipMinWidth={tooltipMinWidth}
506
528
  customClass={styles.overflowTableSelect}
@@ -547,7 +569,7 @@ const HorseCalculator = ({ mainTitle = 'Bet Calculator', tooltipMinWidth = 20 })
547
569
  {foldTableRows.map((row, index) => (
548
570
  <tr key={keygen()} ref={(el) => (foldTableRefs.current[index] = el)}>
549
571
  <td>{row.name}</td>
550
- <td aria-label={row.name}>
572
+ <td aria-label={useTranslate(`ariaLabel-${row.name}`, row.name)}>
551
573
  <input
552
574
  type="number"
553
575
  onChange={calculateTotalBet}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { IoIosArrowBack } from '@react-icons/all-files/io/IoIosArrowBack';
4
4
  import { IoIosArrowForward } from '@react-icons/all-files/io/IoIosArrowForward';
5
+ import useTranslate from '~hooks/useTranslate/useTranslate';
5
6
  import styles from './buttons.module.scss';
6
7
 
7
8
  const Buttons = ({ scrollX, noModuleIntro, scrollEnd, scroll, templateThree }) => (
@@ -12,7 +13,7 @@ const Buttons = ({ scrollX, noModuleIntro, scrollEnd, scroll, templateThree }) =
12
13
  } ${templateThree ? styles.buttLeftTempThree : ''}`}
13
14
  onClick={() => scroll(-200)}
14
15
  type="button"
15
- aria-label="carouselBtnLeft"
16
+ aria-label={useTranslate('ariaLabel-carouselBtnLeft', 'carouselBtnLeft')}
16
17
  >
17
18
  <IoIosArrowBack />
18
19
  </button>
@@ -22,7 +23,7 @@ const Buttons = ({ scrollX, noModuleIntro, scrollEnd, scroll, templateThree }) =
22
23
  } ${templateThree ? styles.buttRightTempThree : ''}`}
23
24
  onClick={() => scroll(200)}
24
25
  type="button"
25
- aria-label="carouselBtnRight"
26
+ aria-label={useTranslate('ariaLabel-carouselBtnRight', 'carouselBtnRight')}
26
27
  >
27
28
  <IoIosArrowForward />
28
29
  </button>
@@ -34,7 +35,7 @@ Buttons.propTypes = {
34
35
  noModuleIntro: PropTypes.bool,
35
36
  scrollEnd: PropTypes.bool,
36
37
  scroll: PropTypes.func,
37
- templateThree: PropTypes.bool
38
+ templateThree: PropTypes.bool,
38
39
  };
39
40
 
40
41
  export default Buttons;
@@ -12,6 +12,7 @@ import { MdClose } from '@react-icons/all-files/md/MdClose';
12
12
  import { isMobileDevice } from 'gatsby-core-theme/src/helpers/device-detect';
13
13
  import Link from 'gatsby-core-theme/src/hooks/link';
14
14
  import LazyImage from 'gatsby-core-theme/src/hooks/lazy-image';
15
+ import keygen from 'gatsby-core-theme/src/helpers/keygen';
15
16
  import { imagePrettyUrl } from 'gatsby-core-theme/src/helpers/getters';
16
17
  import useTranslate from '~hooks/useTranslate/useTranslate';
17
18
  import PopupCard from '../../atoms/cards/popup-card';
@@ -133,14 +134,20 @@ const Popup = ({
133
134
  type="button"
134
135
  className={`${styles?.closeIcon || ''} popup-gtm btn-cta`}
135
136
  onClick={() => handelActive(false)}
136
- aria-label="close"
137
+ aria-label={useTranslate('ariaLabel-close', 'close')}
137
138
  >
138
139
  <MdClose title="Close Icon" />
139
140
  </button>
140
141
  </div>
141
142
  {shownItems?.map((item, index) => (
142
143
  // eslint-disable-next-line react/no-array-index-key
143
- <PopupCard key={index} itemPosition={index + 1} item={item} tracker={tracker} template={template} />
144
+ <PopupCard
145
+ key={keygen()}
146
+ itemPosition={index + 1}
147
+ item={item}
148
+ tracker={tracker}
149
+ template={template}
150
+ />
144
151
  ))}
145
152
  </div>
146
153
  {toggle && !link && (
@@ -186,14 +193,16 @@ const Popup = ({
186
193
 
187
194
  Popup.propTypes = {
188
195
  module: PropTypes.shape({
189
- items: PropTypes.arrayOf(PropTypes.shape({
190
- items: PropTypes.arrayOf(PropTypes.shape({})),
191
- })),
196
+ items: PropTypes.arrayOf(
197
+ PropTypes.shape({
198
+ items: PropTypes.arrayOf(PropTypes.shape({})),
199
+ })
200
+ ),
192
201
  style: PropTypes.string,
193
202
  }).isRequired,
194
203
  isStorybook: PropTypes.bool,
195
204
  toggle: PropTypes.bool,
196
- icon : PropTypes.elementType,
205
+ icon: PropTypes.elementType,
197
206
  image: PropTypes.elementType,
198
207
  numberOfItems: PropTypes.number,
199
208
  link: PropTypes.bool || PropTypes.string,
@@ -21,7 +21,7 @@ const ContactForm = ({
21
21
  showLabels = true,
22
22
  showHeading = true,
23
23
  showDescription = true,
24
- TitleTag = 'h1'
24
+ TitleTag = 'h1',
25
25
  }) => {
26
26
  const activeMarket = page?.market;
27
27
 
@@ -79,7 +79,7 @@ const ContactForm = ({
79
79
  <FaEnvelope title="Envelope Icon" />
80
80
  </span>
81
81
  <a
82
- aria-label="Email"
82
+ aria-label={useTranslate('ariaLabel-email', 'Email')}
83
83
  href={`mailto:${supportEmail}`}
84
84
  target="_blank"
85
85
  rel="noreferrer"
@@ -114,5 +114,5 @@ ContactForm.propTypes = {
114
114
  showLabels: PropTypes.bool,
115
115
  showHeading: PropTypes.bool,
116
116
  showDescription: PropTypes.bool,
117
- TitleTag: PropTypes.string
117
+ TitleTag: PropTypes.string,
118
118
  };
@@ -0,0 +1,2 @@
1
+ // eslint-disable-next-line import/prefer-default-export
2
+ export const formatToUnderscore = (str) => typeof str === 'string' ? str?.trim()?.toLowerCase()?.replace(/\s+/g, '_') : '';
@@ -0,0 +1,17 @@
1
+ import { formatToUnderscore } from './formatToUnderscore';
2
+
3
+ describe('formatToUnderscore', () => {
4
+ it('converts spaces to underscores and lowercases the string', () => {
5
+ expect(formatToUnderscore('Hello World')).toBe('hello_world');
6
+ expect(formatToUnderscore(' Multiple Spaces ')).toBe('multiple_spaces');
7
+ expect(formatToUnderscore('MiXeD CaSe Input')).toBe('mixed_case_input');
8
+ });
9
+
10
+ it('handles empty strings', () => {
11
+ expect(formatToUnderscore('')).toBe('');
12
+ });
13
+
14
+ it('returns empty string if input is not a string', () => {
15
+ expect(formatToUnderscore(123)).toBe('');
16
+ });
17
+ });
@@ -4,6 +4,7 @@ import React from 'react';
4
4
  import PrettyLink from '~atoms/pretty-link';
5
5
  import { TrackingKeys } from '~constants/tracking-api'
6
6
  import Tooltip from '../components/atoms/tooltip';
7
+ import { formatToUnderscore } from "./formatToUnderscore";
7
8
  import useTranslate from '~hooks/useTranslate/useTranslate';
8
9
 
9
10
  export function getObjectValue(obj, path) {
@@ -102,31 +103,26 @@ export const latestItems = (items, props, limit = null) => {
102
103
  const showTooltip = props?.tooltip || false;
103
104
  const showAll = props?.showAll || false;
104
105
  const setShowMore = props?.setShowMore || null;
105
-
106
106
  const list = [];
107
107
  const tooltipList = [];
108
108
  const { length } = Object.values(items);
109
109
  const hasCustomValue = customValue;
110
-
111
110
  if (showAll) {
112
111
  limit = Object.values(items).length;
113
112
  }
114
-
115
113
  // show initial values
116
114
  Object.values(items)
117
115
  ?.slice(0, limit || Object.values(items).length)
118
116
  ?.map((res) => {
119
- list.push(res.name);
117
+ list.push(useTranslate(formatToUnderscore(res?.name), res?.name));
120
118
  });
121
119
  // show see more values
122
120
  Object.values(items)
123
121
  ?.slice(limit)
124
122
  ?.map((res) => {
125
- tooltipList.push(res.name);
123
+ tooltipList.push(useTranslate(formatToUnderscore(res?.name), res?.name));
126
124
  });
127
-
128
125
  const itemsString = list.toString().replace(/,/gi, ', ');
129
-
130
126
  return showMore && length > limit ? (
131
127
  <>
132
128
  {itemsString}
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkgatsby_matrix_theme=self.webpackChunkgatsby_matrix_theme||[]).push([[679],{"./src/components/atoms/cards/software-provider-card/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>software_provider_card});var react=__webpack_require__("../node_modules/react/index.js"),prop_types=__webpack_require__("./node_modules/prop-types/index.js"),prop_types_default=__webpack_require__.n(prop_types),hooks_link=__webpack_require__("../node_modules/gatsby-core-theme/src/hooks/link/index.js"),lazy_image=__webpack_require__("../node_modules/gatsby-core-theme/src/hooks/lazy-image/index.js"),getters=__webpack_require__("../node_modules/gatsby-core-theme/src/helpers/getters.mjs"),helpers_image=__webpack_require__("../node_modules/gatsby-core-theme/src/helpers/image.js"),useTranslate=__webpack_require__("../node_modules/gatsby-core-theme/src/hooks/useTranslate/useTranslate.js"),injectStylesIntoStyleTag=__webpack_require__("../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),injectStylesIntoStyleTag_default=__webpack_require__.n(injectStylesIntoStyleTag),software_provider_card_module=__webpack_require__("../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[10].use[1]!../node_modules/sass-loader/dist/cjs.js!../node_modules/sass-resources-loader/lib/loader.js??ruleSet[1].rules[10].use[3]!./src/components/atoms/cards/software-provider-card/software-provider-card.module.scss"),options={insert:"head",singleton:!1};injectStylesIntoStyleTag_default()(software_provider_card_module.A,options);const software_provider_card_software_provider_card_module=software_provider_card_module.A.locals||{};var SoftwareProviderCard=function(_ref){var _sections$header,_sections$header$extr,_sections$header$extr2,_sections$header2,_sections$header2$ext,item=_ref.item,_ref$showTitle=_ref.showTitle,showTitle=void 0===_ref$showTitle||_ref$showTitle,_ref$showProvider=_ref.showProvider,showProvider=void 0===_ref$showProvider||_ref$showProvider,_ref$showDesc=_ref.showDesc,showDesc=void 0===_ref$showDesc||_ref$showDesc,_ref$gameProvider=_ref.gameProvider,gameProvider=void 0===_ref$gameProvider?{textOne:"This game provider has",textTwo:"slots"}:_ref$gameProvider,_ref$width=_ref.width,width=void 0===_ref$width?150:_ref$width,_ref$height=_ref.height,height=void 0===_ref$height?150:_ref$height,title=item.title,path=item.path,relation=item.relation,sections=item.sections,logUrlObject=(null==relation?void 0:relation.standardised_logo_filename_object)||(null==relation?void 0:relation.logo_filename_object);return react.createElement("div",{className:(null==software_provider_card_software_provider_card_module?void 0:software_provider_card_software_provider_card_module.content)||""},react.createElement("div",{className:(null==software_provider_card_software_provider_card_module?void 0:software_provider_card_software_provider_card_module.header)||""},react.createElement(hooks_link.A,{className:`${(null==software_provider_card_software_provider_card_module?void 0:software_provider_card_software_provider_card_module.links)||""} software-provider-card-gtm`,"aria-label":(0,useTranslate.A)(`ariaLabel-${title}Link`,`${title} Link`),to:path},react.createElement(lazy_image.A,{width,height,className:(null==software_provider_card_software_provider_card_module?void 0:software_provider_card_software_provider_card_module.logo)||"",src:(0,getters.pv)(null==logUrlObject?void 0:logUrlObject.filename,width,height),alt:(0,helpers_image.l)(logUrlObject,title)})),showTitle&&react.createElement(hooks_link.A,{className:`${(null==software_provider_card_software_provider_card_module?void 0:software_provider_card_software_provider_card_module.links)||""} software-provider-card-gtm`,to:path},react.createElement("span",{className:(null==software_provider_card_software_provider_card_module?void 0:software_provider_card_software_provider_card_module.title)||""},title))),showDesc&&react.createElement("div",{className:(null==software_provider_card_software_provider_card_module?void 0:software_provider_card_software_provider_card_module.excerpt)||""},(0,getters.QC)((null==sections||null===(_sections$header=sections.header)||void 0===_sections$header||null===(_sections$header$extr=_sections$header.extra_fields)||void 0===_sections$header$extr||null===(_sections$header$extr2=_sections$header$extr.header_text)||void 0===_sections$header$extr2?void 0:_sections$header$extr2.value)||(null==sections||null===(_sections$header2=sections.header)||void 0===_sections$header2||null===(_sections$header2$ext=_sections$header2.extra_fields)||void 0===_sections$header2$ext?void 0:_sections$header2$ext.header_text))),react.createElement("div",{className:(null==software_provider_card_software_provider_card_module?void 0:software_provider_card_software_provider_card_module.bottom)||""},(null==relation?void 0:relation.games_count)&&showProvider&&react.createElement("p",null,gameProvider.textOne,react.createElement("span",{className:"counter-number"}," ",null==relation?void 0:relation.games_count," ")," ",gameProvider.textTwo)))};SoftwareProviderCard.displayName="SoftwareProviderCard",SoftwareProviderCard.propTypes={showTitle:prop_types_default().bool,showProvider:prop_types_default().bool,showDesc:prop_types_default().bool,gameProvider:prop_types_default().shape({textOne:prop_types_default().string,textTwo:prop_types_default().string}),item:prop_types_default().shape({title:prop_types_default().string,path:prop_types_default().string,relation:prop_types_default().shape({games_count:prop_types_default().number,logo:prop_types_default().string,logo_filename_object:prop_types_default().shape({alt:prop_types_default().string}),standardised_logo_filename_object:prop_types_default().shape({alt:prop_types_default().string})}),sections:prop_types_default().shape({header:prop_types_default().shape({extra_fields:prop_types_default().shape({header_text:prop_types_default().string})})})}).isRequired,width:prop_types_default().number,height:prop_types_default().number},SoftwareProviderCard.__docgenInfo={description:"",methods:[],displayName:"SoftwareProviderCard",props:{showTitle:{defaultValue:{value:"true",computed:!1},description:"",type:{name:"bool"},required:!1},showProvider:{defaultValue:{value:"true",computed:!1},description:"",type:{name:"bool"},required:!1},showDesc:{defaultValue:{value:"true",computed:!1},description:"",type:{name:"bool"},required:!1},gameProvider:{defaultValue:{value:"{\n textOne: 'This game provider has',\n textTwo: 'slots',\n}",computed:!1},description:"",type:{name:"shape",value:{textOne:{name:"string",required:!1},textTwo:{name:"string",required:!1}}},required:!1},width:{defaultValue:{value:"150",computed:!1},description:"",type:{name:"number"},required:!1},height:{defaultValue:{value:"150",computed:!1},description:"",type:{name:"number"},required:!1},item:{description:"",type:{name:"shape",value:{title:{name:"string",required:!1},path:{name:"string",required:!1},relation:{name:"shape",value:{games_count:{name:"number",required:!1},logo:{name:"string",required:!1},logo_filename_object:{name:"shape",value:{alt:{name:"string",required:!1}},required:!1},standardised_logo_filename_object:{name:"shape",value:{alt:{name:"string",required:!1}},required:!1}},required:!1},sections:{name:"shape",value:{header:{name:"shape",value:{extra_fields:{name:"shape",value:{header_text:{name:"string",required:!1}},required:!1}},required:!1}},required:!1}}},required:!0}}};const software_provider_card=SoftwareProviderCard;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/atoms/cards/software-provider-card/index.js"]={name:"SoftwareProviderCard",docgenInfo:SoftwareProviderCard.__docgenInfo,path:"src/components/atoms/cards/software-provider-card/index.js"})},"../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[10].use[1]!../node_modules/sass-loader/dist/cjs.js!../node_modules/sass-resources-loader/lib/loader.js??ruleSet[1].rules[10].use[3]!./src/components/atoms/cards/software-provider-card/software-provider-card.module.scss":(module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../node_modules/css-loader/dist/runtime/cssWithMappingToString.js"),_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("../node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_EXPORT___=__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__)()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default());___CSS_LOADER_EXPORT___.push([module.id,".vXDm124lIMUTLX8x1wE\\+7g\\=\\={width:100%;background-color:#fff;padding:1.6rem 1.8rem 2.3rem;display:flex;flex-direction:column;justify-content:space-between;border-radius:.6rem;height:100%}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= .FizPsTo\\+RQjwBM7KZiVhFA\\=\\={display:flex;flex-direction:column}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= .FizPsTo\\+RQjwBM7KZiVhFA\\=\\= .iZJlMr49477ib1oJr7nN6g\\=\\={display:flex;align-items:center;justify-content:center}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= .FizPsTo\\+RQjwBM7KZiVhFA\\=\\= .iZJlMr49477ib1oJr7nN6g\\=\\=:hover{text-decoration:underline;color:#08202e}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= .FizPsTo\\+RQjwBM7KZiVhFA\\=\\= .iZJlMr49477ib1oJr7nN6g\\=\\= .QFI\\+W-HX8ENFixXSjeFc0g\\=\\={max-width:17.9rem;max-height:4rem;margin-bottom:1rem}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= .FizPsTo\\+RQjwBM7KZiVhFA\\=\\= .iZJlMr49477ib1oJr7nN6g\\=\\= .spSljnSYKe8d--K66ExmkQ\\=\\={color:#08202e;font-weight:400;padding-top:.8rem;font-size:1.6rem}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= .gVn-SWfNzdZWU6JGfr0RXw\\=\\={color:#6b7982;font-size:1.4rem;padding-bottom:1.6rem}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= ._25bv8l3k-AD9frmdBTXP5w\\=\\={display:flex;flex-direction:column}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= ._25bv8l3k-AD9frmdBTXP5w\\=\\= p{color:#00889e;font-size:1.4rem;text-align:center;padding:0 3rem 1.6rem;font-weight:400}.vXDm124lIMUTLX8x1wE\\+7g\\=\\= ._25bv8l3k-AD9frmdBTXP5w\\=\\= p span{font-weight:500}","",{version:3,sources:["webpack://./src/components/atoms/cards/software-provider-card/software-provider-card.module.scss","webpack://./../node_modules/gatsby-core-theme/src/styles/utils/_mixins.scss"],names:[],mappings:"AAcA,6BACE,UAAA,CACA,qBAAA,CACA,4BAAA,CACA,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,mBAAA,CACA,WAAA,CACA,0DChBA,YAAA,CACA,qBDgB0B,CACxB,sFCxBF,YAAA,CACA,kBDwBwB,CCvBxB,sBDuBgC,CAC5B,4FACE,yBAAA,CACA,aAAA,CAEF,mHACE,iBAAA,CACA,eAAA,CACA,kBAAA,CAEF,kHACE,aAAA,CACA,eAAA,CACA,iBAAA,CACA,gBAAA,CAIN,yDACE,aAAA,CACA,gBAAA,CACA,qBAAA,CAEF,0DC1CA,YAAA,CACA,qBD0C0B,CACxB,4DACE,aAAA,CACA,gBAAA,CACA,iBAAA,CACA,qBAAA,CACA,eAAA,CACA,iEACE,eAAA",sourcesContent:['/* stylelint-disable no-invalid-position-at-import-rule */\n@use \'sass:map\';\n\n// NOTE: General Styles\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/variables/stack-order";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/variables/typography";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/variables/layout";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/media-queries";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/icons";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/tooltip";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/loader";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/mixins";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/scrollbar";\n@import "../../../../../../node_modules/gatsby-core-theme/src/styles/utils/animations";\n.content {\n width: 100%;\n background-color: #fff;\n padding: 1.6rem 1.8rem 2.3rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n border-radius: 0.6rem;\n height: 100%;\n .header {\n @include flex-direction(column);\n .links {\n @include flex-align(center, center);\n &:hover {\n text-decoration: underline;\n color: #08202e;\n }\n .logo {\n max-width: 17.9rem;\n max-height: 4rem;\n margin-bottom: 1rem;\n }\n .title {\n color: #08202e;\n font-weight: 400;\n padding-top: 0.8rem;\n font-size: 1.6rem;\n }\n }\n }\n .excerpt {\n color: #6b7982;\n font-size: 1.4rem;\n padding-bottom: 1.6rem;\n }\n .bottom {\n @include flex-direction(column);\n p {\n color: #00889e;\n font-size: 1.4rem;\n text-align: center;\n padding: 0 3rem 1.6rem;\n font-weight: 400;\n span {\n font-weight: 500;\n }\n }\n }\n}\n',"@mixin flex-align($align-items, $justify-content) {\n display: flex;\n align-items: $align-items;\n justify-content: $justify-content;\n}\n\n@mixin flex-direction($flex-direction) {\n display: flex;\n flex-direction: $flex-direction;\n}\n\n@mixin overflow($overflow-type, $overflow-value, $scrolling) {\n #{$overflow-type}: $overflow-value;\n -webkit-overflow-scrolling: $scrolling; // Autoprefixer doesn't add\n}\n\n@mixin text-background($bgcolor, $text-color) {\n background: $bgcolor;\n border-radius: 100px;\n color: $text-color;\n font-weight: 700;\n @include flex-align(center, center);\n padding: 0 2rem;\n}\n\n@mixin link-color($color) {\n color: $color;\n\n &:hover {\n color: $color;\n }\n}\n\n// Using em because I want images in content to inherit size based on parent element (not root)\n@mixin content-img-float($direction) {\n float: $direction;\n @if $direction == right {\n margin: var(--img-float-direction-right, 0 0 2.4rem 4.8rem);\n } @else if $direction == left {\n margin: var(--img-float-direction-left, 0 4.8rem 2.4rem 0);\n } @else {\n margin: 0 1em 1em 0;\n }\n}\n\n@mixin content-img-align($direction: center, $spacing: var(--content-img-spacing, 1em)) {\n display: block;\n @if $direction == right {\n margin: $spacing 0 $spacing auto;\n } @else if $direction == left {\n margin: $spacing auto $spacing 0;\n } @else {\n margin: $spacing auto;\n }\n}\n\n@mixin section-arrow-down($color, $width, $height) {\n position: relative;\n &:after {\n top: 100%;\n left: 50%;\n border: solid transparent;\n content: '';\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n border-color: rgba(0, 0, 0, 0);\n border-top: $height solid $color;\n border-right: calc($width / 2) solid transparent;\n border-left: calc($width / 2) solid transparent;\n margin-left: - calc($width / 2);\n }\n}\n\n@mixin gradientBtn($color1, $color2, $color3) {\n background: linear-gradient(to bottom, $color1 0, $color2 14%, $color3 61%);\n &:hover {\n background: linear-gradient(to bottom, $color1 0, $color2 14%, $color3 61%);\n }\n}\n\n@mixin sportBtn($color1, $color2) {\n background: linear-gradient(to bottom, $color1 0, $color2 100%);\n &:hover {\n background: linear-gradient(to bottom, $color2 0, $color1 100%);\n }\n}\n\n@mixin star($border-color: #ffb400, $fill-color: #ffb400, $width: 16px, $line-height: 2rem) {\n line-height: $line-height;\n width: $width;\n font-weight: normal;\n display: inline-block;\n color: $fill-color;\n font-size: 15px;\n position: relative;\n text-shadow: -1px 0 $border-color, 0 1px $border-color, 1px 0 $border-color, 0 -1px $border-color;\n\n &:last-child {\n margin-right: 0;\n }\n &:before {\n content: '\\2605';\n }\n}\n\n@mixin half-star($border-color: #ffb400, $half-empty-color: #ffb400, $half-full-color: white) {\n line-height: 2rem;\n width: 16px;\n font-weight: normal;\n display: inline-block;\n color: $half-full-color;\n font-size: 15px;\n position: relative;\n &:before {\n content: '\\2605';\n }\n text-shadow: -1px 0 $border-color, 0 1px $border-color, 1px 0 $border-color, 0 -1px $border-color;\n &:after {\n content: '\\2605';\n color: $half-empty-color;\n position: absolute;\n width: 7px;\n overflow: hidden;\n bottom: 0;\n left: 0;\n }\n}\n\n@mixin border-gradient($color-1, $color-2, $bgcolor, $radius: 0.8rem, $border-width: 2px) {\n background: $bgcolor;\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: $radius;\n border: $border-width solid transparent;\n background: $color-1, $color-2 border-box;\n -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);\n -webkit-mask-composite: destination-out;\n mask-composite: exclude;\n }\n}\n\n@mixin border-gradient-single($color-1, $bgcolor, $radius: 0.8rem, $border-width: 0.1rem) {\n background: $bgcolor;\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: $radius;\n border: $border-width solid transparent;\n background: $color-1 border-box;\n -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);\n -webkit-mask-composite: destination-out;\n mask-composite: exclude;\n }\n}\n\n@mixin buttonsColor($color1, $color2, $color3, $textColor: 'white') {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n background-color: $color1;\n color: $textColor;\n padding: 0.9rem 3rem;\n font-weight: 700;\n font-size: 1.8rem;\n border-radius: var(--border-radius);\n\n > svg {\n flex: none;\n margin-left: 0.8rem;\n }\n\n &:hover {\n background-color: $color2;\n color: $textColor;\n }\n\n &:active {\n background-color: $color3;\n color: $textColor;\n }\n}\n"],sourceRoot:""}]),___CSS_LOADER_EXPORT___.locals={content:"vXDm124lIMUTLX8x1wE+7g==",header:"FizPsTo+RQjwBM7KZiVhFA==",links:"iZJlMr49477ib1oJr7nN6g==",logo:"QFI+W-HX8ENFixXSjeFc0g==",title:"spSljnSYKe8d--K66ExmkQ==",excerpt:"gVn-SWfNzdZWU6JGfr0RXw==",bottom:"_25bv8l3k-AD9frmdBTXP5w=="};const __WEBPACK_DEFAULT_EXPORT__=___CSS_LOADER_EXPORT___}}]);