@comicrelief/component-library 7.22.1 → 7.23.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 (215) hide show
  1. package/cypress/e2e/components/organisms/impactSlider.cy.js +72 -0
  2. package/dist/components/Atoms/Button/Button.js +4 -16
  3. package/dist/components/Atoms/Button/Button.test.js +0 -5
  4. package/dist/components/Atoms/ButtonWithStates/ButtonWithStates.js +14 -31
  5. package/dist/components/Atoms/Checkbox/Checkbox.js +4 -17
  6. package/dist/components/Atoms/Checkbox/Checkbox.test.js +0 -5
  7. package/dist/components/Atoms/Confetti/Confetti.js +8 -23
  8. package/dist/components/Atoms/Confetti/_TriggerConfetti.js +5 -13
  9. package/dist/components/Atoms/ErrorText/ErrorText.js +2 -14
  10. package/dist/components/Atoms/ErrorText/ErrorText.test.js +0 -5
  11. package/dist/components/Atoms/Icons/Arrow.js +7 -21
  12. package/dist/components/Atoms/Icons/AtSign.js +4 -14
  13. package/dist/components/Atoms/Icons/Chevron.js +7 -21
  14. package/dist/components/Atoms/Icons/Curve.js +1 -6
  15. package/dist/components/Atoms/Icons/Download.js +4 -14
  16. package/dist/components/Atoms/Icons/External.js +4 -14
  17. package/dist/components/Atoms/Icons/Favourite.js +4 -14
  18. package/dist/components/Atoms/Icons/Internal.js +4 -14
  19. package/dist/components/Atoms/Icons/index.js +14 -22
  20. package/dist/components/Atoms/Input/Input.js +15 -35
  21. package/dist/components/Atoms/Input/input.test.js +0 -5
  22. package/dist/components/Atoms/Label/Label.js +12 -24
  23. package/dist/components/Atoms/Link/Link.js +18 -35
  24. package/dist/components/Atoms/Link/Link.style.js +9 -25
  25. package/dist/components/Atoms/Link/Link.test.js +0 -6
  26. package/dist/components/Atoms/Logo/Logo.js +5 -22
  27. package/dist/components/Atoms/Logo/Logo.test.js +0 -5
  28. package/dist/components/Atoms/Pagination/Item/Item.js +3 -11
  29. package/dist/components/Atoms/Pagination/Item/Item.style.js +18 -30
  30. package/dist/components/Atoms/Pagination/List/List.js +10 -21
  31. package/dist/components/Atoms/Pagination/Pagination.js +25 -47
  32. package/dist/components/Atoms/Pagination/Pagination.test.js +0 -5
  33. package/dist/components/Atoms/Pagination/Utils/PaginationCalculator.js +14 -30
  34. package/dist/components/Atoms/Picture/Picture.js +19 -39
  35. package/dist/components/Atoms/Picture/Picture.test.js +0 -6
  36. package/dist/components/Atoms/RadioButton/RadioButton.js +6 -18
  37. package/dist/components/Atoms/RadioButton/RadioButton.test.js +0 -5
  38. package/dist/components/Atoms/RichText/RichText.js +4 -15
  39. package/dist/components/Atoms/RichText/RichText.test.js +0 -5
  40. package/dist/components/Atoms/Select/Select.js +19 -39
  41. package/dist/components/Atoms/Select/Select.test.js +0 -5
  42. package/dist/components/Atoms/SocialIcons/Icon/Icon.js +6 -18
  43. package/dist/components/Atoms/SocialIcons/SocialIcons.js +3 -17
  44. package/dist/components/Atoms/SocialIcons/SocialIcons.test.js +0 -5
  45. package/dist/components/Atoms/SocialIcons/Utils/Icons.js +2 -9
  46. package/dist/components/Atoms/SocialIcons/Utils/Links.js +2 -5
  47. package/dist/components/Atoms/Text/Text.js +16 -29
  48. package/dist/components/Atoms/Text/Text.test.js +0 -5
  49. package/dist/components/Atoms/TextArea/TextArea.js +10 -25
  50. package/dist/components/Atoms/TextArea/TextArea.test.js +0 -5
  51. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +26 -53
  52. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.style.js +8 -28
  53. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.test.js +0 -6
  54. package/dist/components/Molecules/Accordion/Accordion.js +8 -29
  55. package/dist/components/Molecules/Accordion/Accordion.test.js +0 -6
  56. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.js +14 -38
  57. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.test.js +0 -6
  58. package/dist/components/Molecules/Banner/Banner.js +3 -13
  59. package/dist/components/Molecules/Banner/Banner.test.js +0 -6
  60. package/dist/components/Molecules/Box/Box.js +9 -22
  61. package/dist/components/Molecules/Box/Box.test.js +0 -6
  62. package/dist/components/Molecules/Card/Card.js +11 -24
  63. package/dist/components/Molecules/Card/Card.test.js +0 -6
  64. package/dist/components/Molecules/CardDs/CardDs.js +17 -41
  65. package/dist/components/Molecules/CardDs/CardDs.test.js +0 -7
  66. package/dist/components/Molecules/Chip/Chip.js +4 -10
  67. package/dist/components/Molecules/Chip/Chip.style.js +8 -48
  68. package/dist/components/Molecules/Chip/Chip.test.js +0 -6
  69. package/dist/components/Molecules/Countdown/Countdown.js +17 -32
  70. package/dist/components/Molecules/Countdown/Countdown.style.js +4 -13
  71. package/dist/components/Molecules/Descriptor/Descriptor.js +6 -50
  72. package/dist/components/Molecules/Descriptor/Descriptor.test.js +0 -5
  73. package/dist/components/Molecules/DoubleCopy/DoubleCopy.js +2 -8
  74. package/dist/components/Molecules/DoubleCopy/DoubleCopy.style.js +4 -13
  75. package/dist/components/Molecules/DoubleCopy/DoubleCopy.test.js +0 -6
  76. package/dist/components/Molecules/HeroBanner/HeroBanner.js +4 -13
  77. package/dist/components/Molecules/InfoBanner/InfoBanner.js +8 -19
  78. package/dist/components/Molecules/InfoBanner/InfoBanner.test.js +0 -5
  79. package/dist/components/Molecules/Logos/Logos.js +1 -11
  80. package/dist/components/Molecules/Lookup/Lookup.js +25 -57
  81. package/dist/components/Molecules/PartnerLink/PartnerLink.js +3 -14
  82. package/dist/components/Molecules/PartnerLink/PartnerLink.style.js +4 -13
  83. package/dist/components/Molecules/PartnerLink/PartnerLink.test.js +0 -7
  84. package/dist/components/Molecules/Promo/Promo.js +33 -47
  85. package/dist/components/Molecules/Promo/Promo.md +2 -1
  86. package/dist/components/Molecules/Promo/Promo.style.js +12 -37
  87. package/dist/components/Molecules/Promo/Promo.test.js +0 -8
  88. package/dist/components/Molecules/Promo/_ProgressRing.js +7 -20
  89. package/dist/components/Molecules/Promo/_PromoVideo.js +39 -53
  90. package/dist/components/Molecules/Promo/_PromoVideoButton.js +2 -11
  91. package/dist/components/Molecules/Promo/_PromoVideoButton.style.js +14 -40
  92. package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +6 -23
  93. package/dist/components/Molecules/SchoolLookup/SchoolLookup.test.js +0 -5
  94. package/dist/components/Molecules/SearchInput/SearchInput.js +4 -12
  95. package/dist/components/Molecules/SearchInput/SearchInput.style.js +7 -25
  96. package/dist/components/Molecules/SearchInput/SearchInput.test.js +0 -5
  97. package/dist/components/Molecules/SearchResult/SearchResult.js +11 -25
  98. package/dist/components/Molecules/SearchResult/SearchResult.test.js +0 -6
  99. package/dist/components/Molecules/ShareButton/ShareButton.js +10 -23
  100. package/dist/components/Molecules/ShareButton/ShareButton.style.js +6 -21
  101. package/dist/components/Molecules/ShareButton/ShareButton.test.js +0 -5
  102. package/dist/components/Molecules/ShareButton/assets/ShareIcons.js +1 -6
  103. package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +4 -25
  104. package/dist/components/Molecules/SingleMessage/SingleMessage.js +48 -68
  105. package/dist/components/Molecules/SingleMessage/SingleMessage.style.js +19 -47
  106. package/dist/components/Molecules/SingleMessage/SingleMessage.test.js +0 -8
  107. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +22 -46
  108. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +13 -44
  109. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.test.js +0 -8
  110. package/dist/components/Molecules/Typeahead/Typeahead.js +25 -51
  111. package/dist/components/Molecules/Typeahead/Typeahead.test.js +0 -12
  112. package/dist/components/Molecules/VideoBanner/VideoBanner.js +14 -28
  113. package/dist/components/Molecules/VideoBanner/VideoBanner.test.js +0 -6
  114. package/dist/components/Organisms/CookieBanner/CookieBanner.js +3 -9
  115. package/dist/components/Organisms/CookieBanner/CookieBanner.style.js +6 -18
  116. package/dist/components/Organisms/CookieBanner/CookieBanner.test.js +0 -5
  117. package/dist/components/Organisms/Donate/Donate.js +36 -48
  118. package/dist/components/Organisms/Donate/Donate.style.js +23 -71
  119. package/dist/components/Organisms/Donate/Donate.test.js +0 -8
  120. package/dist/components/Organisms/Donate/Form/Form.js +53 -80
  121. package/dist/components/Organisms/Donate/Form/PopUpComponent.js +9 -27
  122. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.js +4 -12
  123. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.style.js +7 -25
  124. package/dist/components/Organisms/Donate/MoneyBuy/MoneyBuy.js +7 -21
  125. package/dist/components/Organisms/Donate/dev-data/data-high-value.js +2 -3
  126. package/dist/components/Organisms/Donate/dev-data/data-single.js +2 -3
  127. package/dist/components/Organisms/Donate/dev-data/data.js +2 -3
  128. package/dist/components/Organisms/EmailSignUp/EmailSignUp.style.js +12 -37
  129. package/dist/components/Organisms/EmailSignUp/EmailSignUp.test.js +0 -9
  130. package/dist/components/Organisms/EmailSignUp/EmailSignUpForm.js +3 -24
  131. package/dist/components/Organisms/EmailSignUp/_EmailSignUp.js +19 -32
  132. package/dist/components/Organisms/EmailSignUp/_EmailSignUpConfig.js +6 -18
  133. package/dist/components/Organisms/EmailSignUp/_TextInput.js +7 -16
  134. package/dist/components/Organisms/Footer/Footer.js +5 -17
  135. package/dist/components/Organisms/Footer/Footer.style.js +10 -35
  136. package/dist/components/Organisms/Footer/Footer.test.js +1 -7
  137. package/dist/components/Organisms/Footer/Nav/Nav.js +15 -39
  138. package/dist/components/Organisms/Footer/Nav/Nav.style.js +16 -37
  139. package/dist/components/Organisms/Footer/data/data.js +2 -3
  140. package/dist/components/Organisms/Footer/data/footerCopy.js +2 -3
  141. package/dist/components/Organisms/Header/Burger/BurgerMenu.js +3 -8
  142. package/dist/components/Organisms/Header/Burger/BurgerMenu.style.js +8 -19
  143. package/dist/components/Organisms/Header/Header.js +4 -14
  144. package/dist/components/Organisms/Header/Header.style.js +5 -22
  145. package/dist/components/Organisms/Header/Nav/Nav.js +19 -44
  146. package/dist/components/Organisms/Header/Nav/Nav.style.js +19 -46
  147. package/dist/components/Organisms/Header/data/data.js +2 -3
  148. package/dist/components/Organisms/Header/header.test.js +5 -2
  149. package/dist/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +61 -0
  150. package/dist/components/Organisms/ImpactSlider/ImpactSlider.js +71 -0
  151. package/dist/components/Organisms/ImpactSlider/ImpactSlider.md +42 -0
  152. package/dist/components/Organisms/ImpactSlider/ImpactSlider.style.js +56 -0
  153. package/dist/components/Organisms/ImpactSlider/Slider.style.js +30 -0
  154. package/dist/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +42 -0
  155. package/dist/components/Organisms/ImpactSlider/_Slider.js +32 -0
  156. package/dist/components/Organisms/ImpactSlider/_utils.js +30 -0
  157. package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDS.style.js +15 -54
  158. package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDSForm.js +11 -20
  159. package/dist/components/Organisms/MarketingPreferencesDS/_AssociatedFields.js +1 -2
  160. package/dist/components/Organisms/MarketingPreferencesDS/_CheckAnswer.js +12 -23
  161. package/dist/components/Organisms/MarketingPreferencesDS/_DefaultCopy.js +4 -14
  162. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPreferencesDS.js +23 -35
  163. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPrefsConfig.js +10 -19
  164. package/dist/components/Organisms/MarketingPreferencesDS/_TextInput.js +7 -16
  165. package/dist/components/Organisms/Membership/Form/Form.js +50 -83
  166. package/dist/components/Organisms/Membership/Membership.js +13 -21
  167. package/dist/components/Organisms/Membership/Membership.style.js +21 -63
  168. package/dist/components/Organisms/Membership/Membership.test.js +0 -7
  169. package/dist/components/Organisms/Membership/MoneyBox/MoneyBox.js +9 -21
  170. package/dist/components/Organisms/Membership/dev-data/data.js +2 -3
  171. package/dist/hoc/shallowWithTheme.js +0 -6
  172. package/dist/index.js +134 -187
  173. package/dist/styleguide/CRLogo.js +1 -9
  174. package/dist/styleguide/StyleGuideRenderer.js +6 -10
  175. package/dist/styleguide/ThemeWrapper.js +1 -8
  176. package/dist/styleguide/data/data.js +20 -5
  177. package/dist/theme/ThemeProvider.js +1 -5
  178. package/dist/theme/crTheme/buttonColors.js +2 -11
  179. package/dist/theme/crTheme/colors.js +3 -9
  180. package/dist/theme/crTheme/fontSizes.js +2 -6
  181. package/dist/theme/crTheme/linkStyles.js +2 -11
  182. package/dist/theme/crTheme/theme.js +2 -11
  183. package/dist/theme/shared/breakpoint.js +4 -9
  184. package/dist/theme/shared/fontFamilies.js +2 -7
  185. package/dist/theme/shared/hideVisually.js +1 -4
  186. package/dist/theme/shared/size.js +5 -11
  187. package/dist/theme/shared/spacing.js +1 -5
  188. package/dist/theme/shared/zIndex.js +1 -8
  189. package/dist/theme/srTheme/buttonColors.js +2 -11
  190. package/dist/theme/srTheme/colors.js +3 -9
  191. package/dist/theme/srTheme/fontSizes.js +2 -6
  192. package/dist/theme/srTheme/linkStyles.js +2 -11
  193. package/dist/theme/srTheme/theme.js +2 -11
  194. package/dist/utils/Membership.js +11 -28
  195. package/dist/utils/ShareButton/sharePopUpHelper.js +3 -8
  196. package/dist/utils/ShareButton/shareTracking.js +1 -5
  197. package/dist/utils/ShareButton/shareUrlHelper.js +3 -5
  198. package/dist/utils/allowListed.js +1 -5
  199. package/dist/utils/allowListed.test.js +0 -2
  200. package/dist/utils/internalLinkHelper.js +11 -20
  201. package/dist/utils/navHelper.js +1 -6
  202. package/package.json +2 -1
  203. package/react-range-slider-input.d.ts +2 -0
  204. package/src/components/Molecules/Promo/Promo.md +2 -1
  205. package/src/components/Molecules/Promo/_PromoVideo.js +6 -4
  206. package/src/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +96 -0
  207. package/src/components/Organisms/ImpactSlider/ImpactSlider.js +92 -0
  208. package/src/components/Organisms/ImpactSlider/ImpactSlider.md +42 -0
  209. package/src/components/Organisms/ImpactSlider/ImpactSlider.style.js +72 -0
  210. package/src/components/Organisms/ImpactSlider/Slider.style.js +70 -0
  211. package/src/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +43 -0
  212. package/src/components/Organisms/ImpactSlider/_Slider.js +39 -0
  213. package/src/components/Organisms/ImpactSlider/_utils.js +32 -0
  214. package/src/index.js +1 -0
  215. package/src/styleguide/data/data.js +26 -1
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import 'react-range-slider-input/dist/style.css';
4
+
5
+ import {
6
+ StyledRangerSlider, SliderWrapper, SliderLabel
7
+ } from './Slider.style';
8
+
9
+ const Slider = ({
10
+ min, max, currentAmount, handleChange, steps
11
+ }) => (
12
+ <SliderWrapper>
13
+ <SliderLabel htmlFor="ImpactSlider">
14
+ Slider label to be hidden
15
+ </SliderLabel>
16
+ <StyledRangerSlider
17
+ id="ImpactSlider"
18
+ name="ImpactSlider"
19
+ min={min}
20
+ max={max}
21
+ width="100%"
22
+ value={[0, currentAmount]}
23
+ onInput={handleChange}
24
+ step={steps}
25
+ thumbsDisabled={[true, false]}
26
+ rangeSlideDisabled
27
+ />
28
+ </SliderWrapper>
29
+ );
30
+
31
+ Slider.propTypes = {
32
+ min: PropTypes.number.isRequired,
33
+ max: PropTypes.number.isRequired,
34
+ steps: PropTypes.number.isRequired,
35
+ currentAmount: PropTypes.number.isRequired,
36
+ handleChange: PropTypes.func.isRequired
37
+ };
38
+
39
+ export default Slider;
@@ -0,0 +1,32 @@
1
+ const getUrlParameter = name => {
2
+ const text = name.replace(/\[]/, '\\[').replace(/[\]]/, '\\]');
3
+ const regex = new RegExp(`[\\?&]${text}=([^&#]*)`);
4
+ const results = regex.exec(window.location.search);
5
+ const param = results === null
6
+ ? 'generic'
7
+ : decodeURIComponent(results[1].replace(/\+/g, ' '));
8
+ return param;
9
+ };
10
+
11
+ const handleSubmission = (amount, donateLink, cartID, rowID) => {
12
+ let currentpageUrl = window.location.href;
13
+
14
+ const affiliateValue = getUrlParameter(currentpageUrl);
15
+
16
+ const reg = /[#?|[\]\\]/g;
17
+
18
+ if (currentpageUrl.match(reg) !== null) {
19
+ const thisMatch = currentpageUrl.match(reg)[0];
20
+ currentpageUrl = currentpageUrl.substring(0, currentpageUrl.indexOf(thisMatch));
21
+ }
22
+
23
+ // - Q: do we need client IDs? A: 99% of examples just use 'donate' (or 'test' for staging)
24
+ //
25
+ // - I guess we still need rowID for the back-browsing scroll stuff?
26
+ // - TO-DO: add in said scroll stuff
27
+ const forwardingUrl = `${donateLink}/?cartID=${cartID}&amount=${amount}&clientOverride=donate&currency=GBP&givingType=single&affiliate=${affiliateValue}&siteurl=${currentpageUrl}&rowID=${rowID}`;
28
+
29
+ window.location.href = forwardingUrl;
30
+ };
31
+
32
+ export default handleSubmission;
package/src/index.js CHANGED
@@ -74,3 +74,4 @@ export {
74
74
  setInitialValues,
75
75
  buildValidationSchema
76
76
  } from './components/Organisms/MarketingPreferencesDS/_MarketingPreferencesDS';
77
+ export { default as ImpactSlider } from './components/Organisms/ImpactSlider/ImpactSlider';
@@ -26,4 +26,29 @@ const mobileImages = {
26
26
  '//https://images.ctfassets.net/zsfivwzfgl3t/54DHIEgtwbr9TDkf70lToB/ffe8d6a8e9bbc224343f475a5c55c832/-CROP-Promo-Des_2000x945-_Kate.jpg?w=200&h=150&q=50 200w,//images.ctfassets.net/zsfivwzfgl3t/54DHIEgtwbr9TDkf70lToB/ffe8d6a8e9bbc224343f475a5c55c832/-CROP-Promo-Des_2000x945-_Kate.jpg?w=400&h=300&q=50 400w,//images.ctfassets.net/zsfivwzfgl3t/54DHIEgtwbr9TDkf70lToB/ffe8d6a8e9bbc224343f475a5c55c832/-CROP-Promo-Des_2000x945-_Kate.jpg?w=800&h=600&q=50 800w,//images.ctfassets.net/zsfivwzfgl3t/54DHIEgtwbr9TDkf70lToB/ffe8d6a8e9bbc224343f475a5c55c832/-CROP-Promo-Des_2000x945-_Kate.jpg?w=1200&h=900&q=50 1200w,//images.ctfassets.net/zsfivwzfgl3t/54DHIEgtwbr9TDkf70lToB/ffe8d6a8e9bbc224343f475a5c55c832/-CROP-Promo-Des_2000x945-_Kate.jpg?w=1440&h=1080&q=50 1440w'
27
27
  };
28
28
 
29
- export { defaultData, mobileImages };
29
+ const testImpactSliderItems = [
30
+ {
31
+ poundsPerItem: 1,
32
+ description: 'Fresh water pumps',
33
+ imageURL: 'https://images.ctfassets.net/zsfivwzfgl3t/28sKInxW6EsmvOTahWdm8E/3fb8e1488f95bac6a3087b133ae7ce9f/ImpactSliderMoneybuy1.png'
34
+ },
35
+ {
36
+ poundsPerItem: 10,
37
+ description: 'Food Sachets',
38
+ imageURL: 'https://images.ctfassets.net/zsfivwzfgl3t/lzxmQMII5PElb4G40vFfk/988486dedd9e45e7cf78cda6f6d0aeaf/ImpactSliderMoneybuy2.png'
39
+ },
40
+ {
41
+ poundsPerItem: 15,
42
+ description: 'Midwife birthing kits',
43
+ imageURL: 'https://images.ctfassets.net/zsfivwzfgl3t/53ZeFXhjdpGpAvRRL4v2kI/d70d1cbf3b46bc28703fabb4ec60fef6/ImpactSliderMoneybuy3.png'
44
+ },
45
+ {
46
+ poundsPerItem: 20,
47
+ description: 'School in a bag kit',
48
+ imageURL: 'https://images.ctfassets.net/zsfivwzfgl3t/PPIJtSArW4wYy1CXvRGk9/c9de72766db42a0e158889a140c90445/ImpactSliderMoneybuy4.png'
49
+ }
50
+ ];
51
+
52
+ export {
53
+ defaultData, mobileImages, testImpactSliderItems
54
+ };