@comicrelief/component-library 8.26.0 → 8.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/components/Atoms/Button/Button.test.js +62 -1
  2. package/dist/components/Atoms/ButtonWithStates/ButtonWithStates.js +4 -1
  3. package/dist/components/Atoms/Checkbox/Checkbox.js +1 -1
  4. package/dist/components/Atoms/Checkbox/Checkbox.test.js +160 -1
  5. package/dist/components/Atoms/Icons/Arrow.js +1 -1
  6. package/dist/components/Atoms/Icons/Chevron.js +1 -1
  7. package/dist/components/Atoms/Input/Input.js +3 -3
  8. package/dist/components/Atoms/Input/input.test.js +238 -2
  9. package/dist/components/Atoms/Label/Label.js +9 -1
  10. package/dist/components/Atoms/Link/Link.test.js +219 -4
  11. package/dist/components/Atoms/Logo/Logo.test.js +36 -1
  12. package/dist/components/Atoms/Pagination/Item/Item.js +1 -1
  13. package/dist/components/Atoms/Pagination/List/List.js +1 -1
  14. package/dist/components/Atoms/Pagination/Pagination.js +1 -1
  15. package/dist/components/Atoms/Pagination/Pagination.test.js +14 -14
  16. package/dist/components/Atoms/Picture/Picture.js +9 -2
  17. package/dist/components/Atoms/Picture/Picture.md +2 -1
  18. package/dist/components/Atoms/Picture/Picture.test.js +90 -2
  19. package/dist/components/Atoms/RadioButton/RadioButton.test.js +178 -1
  20. package/dist/components/Atoms/RichText/RichText.test.js +14 -1
  21. package/dist/components/Atoms/SocialIcons/Icon/Icon.js +2 -2
  22. package/dist/components/Atoms/SocialIcons/Utils/Links.js +3 -3
  23. package/dist/components/Atoms/Text/Text.js +3 -3
  24. package/dist/components/Atoms/TextArea/TextArea.test.js +90 -1
  25. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +3 -3
  26. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.js +1 -1
  27. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.test.js +479 -2
  28. package/dist/components/Molecules/Card/Card.style.js +1 -1
  29. package/dist/components/Molecules/Chip/Chip.test.js +104 -1
  30. package/dist/components/Molecules/Descriptor/Descriptor.js +1 -1
  31. package/dist/components/Molecules/Descriptor/Descriptor.test.js +216 -1
  32. package/dist/components/Molecules/DoubleCopy/DoubleCopy.test.js +55 -1
  33. package/dist/components/Molecules/PartnerLink/PartnerLink.test.js +148 -1
  34. package/dist/components/Molecules/Promo/_ProgressRing.js +5 -5
  35. package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +1 -1
  36. package/dist/components/Molecules/SearchInput/SearchInput.test.js +190 -1
  37. package/dist/components/Molecules/SearchResult/SearchResult.js +1 -1
  38. package/dist/components/Molecules/ShareButton/ShareButton.js +3 -3
  39. package/dist/components/Molecules/ShareButton/ShareButton.test.js +112 -1
  40. package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +1 -1
  41. package/dist/components/Molecules/SingleMessage/SingleMessage.js +4 -4
  42. package/dist/components/Molecules/SingleMessage/SingleMessage.style.js +2 -2
  43. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +1 -1
  44. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +8 -8
  45. package/dist/components/Molecules/VideoBanner/VideoBanner.test.js +18 -1
  46. package/dist/components/Organisms/CookieBanner/CookieBanner.test.js +181 -1
  47. package/dist/components/Organisms/Donate/Donate.js +1 -1
  48. package/dist/components/Organisms/Donate/Donate.style.js +3 -1
  49. package/dist/components/Organisms/Donate/Form/Form.js +8 -8
  50. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.js +4 -4
  51. package/dist/components/Organisms/Donate/MoneyBuy/MoneyBuy.js +1 -1
  52. package/dist/components/Organisms/Footer/Footer.js +1 -1
  53. package/dist/components/Organisms/Footer/Nav/Nav.js +1 -1
  54. package/dist/components/Organisms/Header/HeaderNav/HeaderNav.js +2 -2
  55. package/dist/components/Organisms/Header2025/HeaderNav2025/HeaderNav2025.js +1 -1
  56. package/dist/components/Organisms/Header2025/HeaderNav2025/HeaderNavItem2025.js +5 -5
  57. package/dist/components/Organisms/ImpactSlider/ImpactSlider.style.js +1 -1
  58. package/dist/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +1 -1
  59. package/dist/components/Organisms/ImpactSlider/_utils.js +2 -2
  60. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPreferencesDS.js +5 -5
  61. package/dist/components/Organisms/MarketingPreferencesDS/_OptInCheckbox.js +3 -3
  62. package/dist/components/Organisms/Membership/Form/Form.js +5 -5
  63. package/dist/components/Organisms/Membership/Membership.style.js +1 -1
  64. package/dist/components/Organisms/Membership/Membership.test.js +633 -1
  65. package/dist/components/Organisms/Membership/MoneyBox/MoneyBox.js +1 -1
  66. package/dist/components/Organisms/RichtextCarousel/RichtextCarousel.test.js +208 -1
  67. package/dist/components/Organisms/WYMDCarousel/WYMDCarousel.test.js +341 -1
  68. package/dist/components/Organisms/WYMDCarousel/_utils.js +1 -1
  69. package/dist/theme/crTheme/colors.js +0 -8
  70. package/dist/theme/crTheme/linkStyles.js +4 -4
  71. package/dist/theme/shared/allBreakpoints.js +1 -1
  72. package/dist/theme/shared/fontFamilies.js +1 -1
  73. package/dist/utils/Membership.js +2 -2
  74. package/dist/utils/ShareButton/sharePopUpHelper.js +1 -1
  75. package/dist/utils/ShareButton/shareUrlHelper.js +2 -2
  76. package/dist/utils/internalLinkHelper.js +1 -1
  77. package/package.json +1 -1
  78. package/src/components/Atoms/Picture/Picture.md +2 -1
  79. package/src/theme/crTheme/colors.js +0 -8
@@ -144,7 +144,7 @@ const HeaderNav2025 = _ref => {
144
144
  // on mobile, a clickable LINK on desktop but hover to reveal the submenu:
145
145
  return /*#__PURE__*/_react.default.createElement(_HeaderNavItem.default, {
146
146
  thisID: thisID,
147
- key: "".concat(thisID, "--item"),
147
+ key: `${thisID}--item`,
148
148
  index: index,
149
149
  hasSubMenu: hasSubMenu,
150
150
  openedSubMenu: openedSubMenu,
@@ -28,7 +28,7 @@ const HeaderNavItem2025 = _ref => {
28
28
  } = _ref;
29
29
  return /*#__PURE__*/_react.default.createElement(_HeaderNav.NavItem, {
30
30
  role: "none",
31
- key: "".concat(index, "-").concat(thisID, "--item"),
31
+ key: `${index}-${thisID}--item`,
32
32
  index: index,
33
33
  isSubMenuOpen: !!openedSubMenu
34
34
  }, isNotDesktop ? /*#__PURE__*/_react.default.createElement(_HeaderNav.NavLink, {
@@ -39,7 +39,7 @@ const HeaderNavItem2025 = _ref => {
39
39
  "aria-haspopup": hasPopUp,
40
40
  onClick: hasPopUp ? e => toggleSubMenu(e, thisID) : null,
41
41
  role: "button",
42
- key: "".concat(index, "-").concat(thisID, "--link"),
42
+ key: `${index}-${thisID}--link`,
43
43
  isExpanded: !!openedSubMenu[thisID]
44
44
  }, thisFirstChild.title, hasSubMenu && /*#__PURE__*/_react.default.createElement(_HeaderNav.ChevronWrapper, null, /*#__PURE__*/_react.default.createElement("img", {
45
45
  src: _MenuGroupIcon.default,
@@ -49,7 +49,7 @@ const HeaderNavItem2025 = _ref => {
49
49
  inline: true,
50
50
  rel: relNoopener,
51
51
  "aria-haspopup": hasPopUp,
52
- key: "".concat(index, "-").concat(thisID),
52
+ key: `${index}-${thisID}`,
53
53
  hasSubMenu: hasSubMenu
54
54
  }, rest), thisFirstChild.title, hasSubMenu && /*#__PURE__*/_react.default.createElement(_HeaderNav.ChevronWrapper, null, /*#__PURE__*/_react.default.createElement("img", {
55
55
  src: _MenuGroupIcon.default,
@@ -57,7 +57,7 @@ const HeaderNavItem2025 = _ref => {
57
57
  })))), hasSubMenu && /*#__PURE__*/_react.default.createElement(_HeaderNav.SubNavMenu, {
58
58
  role: "list",
59
59
  isSubMenuOpen: !!openedSubMenu[thisID],
60
- key: "".concat(index, "-").concat(thisID, "--sub-item")
60
+ key: `${index}-${thisID}--sub-item`
61
61
  }, group.links.map((child, childIndex) => {
62
62
  let thisSubUrl = navHelper(child);
63
63
  thisSubUrl = internalLinkHelper(thisSubUrl);
@@ -68,7 +68,7 @@ const HeaderNavItem2025 = _ref => {
68
68
 
69
69
  // Otherwise, render out as usual:
70
70
  return /*#__PURE__*/_react.default.createElement(_HeaderNav.SubNavItem, {
71
- key: "".concat(index, "-").concat(thisSubUrl)
71
+ key: `${index}-${thisSubUrl}`
72
72
  }, /*#__PURE__*/_react.default.createElement(_HeaderNav.SubNavLink, {
73
73
  href: thisSubUrl,
74
74
  inline: true,
@@ -11,7 +11,7 @@ var _Button = _interopRequireDefault(require("../../Atoms/Button/Button"));
11
11
  const OuterWrapper = exports.OuterWrapper = _styledComponents.default.div.withConfig({
12
12
  displayName: "ImpactSliderstyle__OuterWrapper",
13
13
  componentId: "sc-1fpimol-0"
14
- })(["position:relative;max-width:100%;background-color:", ";padding:32px 16px;@media ", "{padding:50px;}@media ", "{padding:64px 0;}"], props => props.theme.color("".concat(props.backgroundColour)), _ref => {
14
+ })(["position:relative;max-width:100%;background-color:", ";padding:32px 16px;@media ", "{padding:50px;}@media ", "{padding:64px 0;}"], props => props.theme.color(`${props.backgroundColour}`), _ref => {
15
15
  let {
16
16
  theme
17
17
  } = _ref;
@@ -20,7 +20,7 @@ const Moneybuys = _ref => {
20
20
  key: item.poundsPerItem
21
21
  }, /*#__PURE__*/_react.default.createElement(_ImpactMoneybuys.Moneybuy, {
22
22
  isInactive: isInactive,
23
- "data-testid": "impact-slider--moneybuy-".concat(index + 1)
23
+ "data-testid": `impact-slider--moneybuy-${index + 1}`
24
24
  }, /*#__PURE__*/_react.default.createElement(_ImpactMoneybuys.MoneybuyImage, {
25
25
  imageURL: item.imageURL
26
26
  }), /*#__PURE__*/_react.default.createElement(_ImpactMoneybuys.MoneybuyAmount, {
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  const getUrlParameter = name => {
8
8
  const text = name.replace(/\[]/, '\\[').replace(/[\]]/, '\\]');
9
- const regex = new RegExp("[\\?&]".concat(text, "=([^&#]*)"));
9
+ const regex = new RegExp(`[\\?&]${text}=([^&#]*)`);
10
10
  const results = regex.exec(window.location.search);
11
11
  const param = results === null ? 'generic' : decodeURIComponent(results[1].replace(/\+/g, ' '));
12
12
  return param;
@@ -19,7 +19,7 @@ const handleSubmission = (amount, donateLink, cartID, rowID) => {
19
19
  const thisMatch = currentpageUrl.match(reg)[0];
20
20
  currentpageUrl = currentpageUrl.substring(0, currentpageUrl.indexOf(thisMatch));
21
21
  }
22
- const forwardingUrl = "".concat(donateLink, "/?cartId=").concat(cartID, "&amount=").concat(amount, "&clientOverride=donate&currency=GBP&givingType=single&affiliate=").concat(affiliateValue, "&siteurl=").concat(currentpageUrl, "&rowID=").concat(rowID);
22
+ const forwardingUrl = `${donateLink}/?cartId=${cartID}&amount=${amount}&clientOverride=donate&currency=GBP&givingType=single&affiliate=${affiliateValue}&siteurl=${currentpageUrl}&rowID=${rowID}`;
23
23
  window.location.href = forwardingUrl;
24
24
  };
25
25
  var _default = exports.default = handleSubmission;
@@ -89,7 +89,7 @@ const MarketingPreferencesDS = _ref => {
89
89
  const showSMSField = !mp_permissionSMS.hideInput && (smsChoice || errors.mp_mobile);
90
90
  const showPhoneField = !mp_permissionPhone.hideInput && (phoneChoice || errors.mp_phone);
91
91
  const showPostFields = !mp_permissionPost.hideInput && (postChoice || isAddressErroring());
92
- const customId = id ? "marketing-preferences--".concat(id) : 'marketing-preferences';
92
+ const customId = id ? `marketing-preferences--${id}` : 'marketing-preferences';
93
93
 
94
94
  // Check for field-specific errors
95
95
  const hasEmailError = Boolean(errors.mp_permissionEmail || errors.mp_email);
@@ -99,7 +99,7 @@ const MarketingPreferencesDS = _ref => {
99
99
  return /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.OuterWrapper, Object.assign({
100
100
  id: customId
101
101
  }, rest), copyTop && /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.TopCopyWrapper, null, copyTop), !mp_permissionEmail.disableOption && /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.FormField, {
102
- className: "field-email ".concat(emailChoice && 'selected'),
102
+ className: `field-email ${emailChoice && 'selected'}`,
103
103
  isError: hasEmailError
104
104
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.CheckboxWrapper, null, /*#__PURE__*/_react.default.createElement(_OptInCheckbox.default, {
105
105
  mpValidationOptions: mpValidationOptions,
@@ -122,7 +122,7 @@ const MarketingPreferencesDS = _ref => {
122
122
  id: "mp_email",
123
123
  formContext: formContext
124
124
  })))), !mp_permissionPost.disableOption && /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.FormField, {
125
- className: "field-post ".concat(postChoice && 'selected'),
125
+ className: `field-post ${postChoice && 'selected'}`,
126
126
  isError: hasPostError
127
127
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.CheckboxWrapper, null, /*#__PURE__*/_react.default.createElement(_OptInCheckbox.default, {
128
128
  name: "mp_permissionPost",
@@ -177,7 +177,7 @@ const MarketingPreferencesDS = _ref => {
177
177
  id: "mp_country",
178
178
  formContext: formContext
179
179
  })))), !mp_permissionSMS.disableOption && /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.FormField, {
180
- className: "field-sms ".concat(smsChoice && 'selected'),
180
+ className: `field-sms ${smsChoice && 'selected'}`,
181
181
  isError: hasSMSError
182
182
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.CheckboxWrapper, null, /*#__PURE__*/_react.default.createElement(_OptInCheckbox.default, {
183
183
  name: "mp_permissionSMS",
@@ -197,7 +197,7 @@ const MarketingPreferencesDS = _ref => {
197
197
  id: "mp_mobile",
198
198
  formContext: formContext
199
199
  })))), !mp_permissionPhone.disableOption && /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.FormField, {
200
- className: "field-phone ".concat(phoneChoice && 'selected'),
200
+ className: `field-phone ${phoneChoice && 'selected'}`,
201
201
  isError: hasPhoneError
202
202
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.CheckboxWrapper, null, /*#__PURE__*/_react.default.createElement(_OptInCheckbox.default, {
203
203
  name: "mp_permissionPhone",
@@ -51,14 +51,14 @@ const OptInCheckbox = _ref => {
51
51
  }
52
52
  };
53
53
  return /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.CheckContainer, null, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.CheckLabel, {
54
- htmlFor: "".concat(name, "-yes"),
54
+ htmlFor: `${name}-yes`,
55
55
  userSelection: userSelection
56
56
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.AssociatedFieldsName, {
57
- className: "icon-".concat(name)
57
+ className: `icon-${name}`
58
58
  }, _AssociatedFields.default[name].label), /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.CheckInput, Object.assign({
59
59
  type: "checkbox",
60
60
  name: name,
61
- id: "".concat(name, "-yes"),
61
+ id: `${name}-yes`,
62
62
  value: "yes"
63
63
  }, register(name), {
64
64
  onChange: onChange
@@ -82,7 +82,7 @@ const Signup = _ref => {
82
82
  };
83
83
  (0, _react.useEffect)(() => {
84
84
  regularGiving.moneybuys.map((moneyBuy, index) => {
85
- const box = "box".concat(index + 1);
85
+ const box = `box${index + 1}`;
86
86
  // eslint-disable-next-line no-shadow
87
87
  setMoneyBoxes(moneyBoxes => ({
88
88
  ...moneyBoxes,
@@ -112,11 +112,11 @@ const Signup = _ref => {
112
112
  boxBorderColor: boxBorderColor,
113
113
  isInputMatchBox: value,
114
114
  amount: value,
115
- description: "\xA3".concat(value),
115
+ description: `£${value}`,
116
116
  setOtherAmount: () => selectMoneyBuy(description, value),
117
117
  key: value,
118
- name: "".concat(mbshipID, "--moneyBuy").concat(index + 1),
119
- id: "".concat(mbshipID, "--moneyBuy-box").concat(index + 1)
118
+ name: `${mbshipID}--moneyBuy${index + 1}`,
119
+ id: `${mbshipID}--moneyBuy-box${index + 1}`
120
120
  });
121
121
  });
122
122
  return /*#__PURE__*/_react.default.createElement(_Membership2.FormWrapper, null, /*#__PURE__*/_react.default.createElement(_Membership2.Form, {
@@ -133,7 +133,7 @@ const Signup = _ref => {
133
133
  inputBorderColor: inputBorderColor,
134
134
  label: "\xA3",
135
135
  errorMsg: "",
136
- id: "".concat(mbshipID, "--MoneyBuy-userInput"),
136
+ id: `${mbshipID}--MoneyBuy-userInput`,
137
137
  showLabel: true
138
138
  }, rest, {
139
139
  max: "25000",
@@ -128,7 +128,7 @@ const AmountField = exports.AmountField = (0, _styledComponents.default)(_Input.
128
128
  inputBorderColor,
129
129
  theme
130
130
  } = _ref13;
131
- return inputBorderColor && "border: 2px solid ".concat(theme.color('red'), ";");
131
+ return inputBorderColor && `border: 2px solid ${theme.color('red')};`;
132
132
  }, _ref14 => {
133
133
  let {
134
134
  theme