@comicrelief/component-library 7.24.1 → 7.25.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 (277) hide show
  1. package/.github/workflows/main.yml +22 -24
  2. package/dist/components/Atoms/Button/Button.js +21 -15
  3. package/dist/components/Atoms/Button/Button.test.js +3 -3
  4. package/dist/components/Atoms/ButtonWithStates/ButtonWithStates.js +19 -22
  5. package/dist/components/Atoms/Checkbox/Checkbox.js +42 -26
  6. package/dist/components/Atoms/Checkbox/Checkbox.test.js +3 -3
  7. package/dist/components/Atoms/Confetti/Confetti.js +20 -23
  8. package/dist/components/Atoms/Confetti/_TriggerConfetti.js +4 -11
  9. package/dist/components/Atoms/ErrorText/ErrorText.js +15 -11
  10. package/dist/components/Atoms/ErrorText/ErrorText.test.js +3 -3
  11. package/dist/components/Atoms/Icons/Arrow.js +16 -15
  12. package/dist/components/Atoms/Icons/AtSign.js +9 -9
  13. package/dist/components/Atoms/Icons/Chevron.js +16 -15
  14. package/dist/components/Atoms/Icons/Curve.js +16 -18
  15. package/dist/components/Atoms/Icons/Download.js +8 -8
  16. package/dist/components/Atoms/Icons/External.js +8 -8
  17. package/dist/components/Atoms/Icons/Favourite.js +8 -8
  18. package/dist/components/Atoms/Icons/Internal.js +8 -8
  19. package/dist/components/Atoms/Icons/index.js +8 -8
  20. package/dist/components/Atoms/Input/Input.js +38 -33
  21. package/dist/components/Atoms/Input/input.test.js +3 -3
  22. package/dist/components/Atoms/Label/Label.js +28 -23
  23. package/dist/components/Atoms/Link/Link.js +24 -29
  24. package/dist/components/Atoms/Link/Link.style.js +51 -40
  25. package/dist/components/Atoms/Link/Link.test.js +9 -9
  26. package/dist/components/Atoms/Logo/Logo.js +16 -18
  27. package/dist/components/Atoms/Logo/Logo.test.js +3 -3
  28. package/dist/components/Atoms/Pagination/Item/Item.js +7 -7
  29. package/dist/components/Atoms/Pagination/Item/Item.style.js +35 -28
  30. package/dist/components/Atoms/Pagination/List/List.js +21 -19
  31. package/dist/components/Atoms/Pagination/Pagination.js +41 -49
  32. package/dist/components/Atoms/Pagination/Pagination.test.js +54 -108
  33. package/dist/components/Atoms/Pagination/Utils/PaginationCalculator.js +15 -15
  34. package/dist/components/Atoms/Picture/Picture.js +34 -44
  35. package/dist/components/Atoms/Picture/Picture.test.js +5 -5
  36. package/dist/components/Atoms/RadioButton/RadioButton.js +35 -23
  37. package/dist/components/Atoms/RadioButton/RadioButton.test.js +3 -3
  38. package/dist/components/Atoms/RichText/RichText.js +9 -11
  39. package/dist/components/Atoms/RichText/RichText.test.js +4 -4
  40. package/dist/components/Atoms/Select/Select.js +56 -49
  41. package/dist/components/Atoms/Select/Select.test.js +3 -3
  42. package/dist/components/Atoms/SocialIcons/Icon/Icon.js +13 -13
  43. package/dist/components/Atoms/SocialIcons/SocialIcons.js +25 -23
  44. package/dist/components/Atoms/SocialIcons/SocialIcons.test.js +7 -7
  45. package/dist/components/Atoms/SocialIcons/Utils/Icons.js +1 -1
  46. package/dist/components/Atoms/SocialIcons/Utils/Links.js +19 -20
  47. package/dist/components/Atoms/Text/Text.js +62 -41
  48. package/dist/components/Atoms/Text/Text.test.js +11 -11
  49. package/dist/components/Atoms/TextArea/TextArea.js +18 -17
  50. package/dist/components/Atoms/TextArea/TextArea.test.js +3 -3
  51. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +69 -86
  52. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.style.js +23 -15
  53. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.test.js +15 -19
  54. package/dist/components/Molecules/Accordion/Accordion.js +35 -32
  55. package/dist/components/Molecules/Accordion/Accordion.test.js +3 -3
  56. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.js +81 -52
  57. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.test.js +5 -5
  58. package/dist/components/Molecules/Banner/Banner.js +21 -13
  59. package/dist/components/Molecules/Banner/Banner.test.js +3 -3
  60. package/dist/components/Molecules/Box/Box.js +33 -27
  61. package/dist/components/Molecules/Box/Box.test.js +5 -5
  62. package/dist/components/Molecules/Card/Card.js +22 -22
  63. package/dist/components/Molecules/Card/Card.test.js +5 -5
  64. package/dist/components/Molecules/CardDs/CardDs.js +80 -55
  65. package/dist/components/Molecules/CardDs/CardDs.test.js +3 -3
  66. package/dist/components/Molecules/Chip/Chip.js +8 -6
  67. package/dist/components/Molecules/Chip/Chip.style.js +48 -28
  68. package/dist/components/Molecules/Chip/Chip.test.js +4 -6
  69. package/dist/components/Molecules/Countdown/Countdown.js +28 -36
  70. package/dist/components/Molecules/Countdown/Countdown.style.js +3 -3
  71. package/dist/components/Molecules/Descriptor/Descriptor.js +32 -26
  72. package/dist/components/Molecules/Descriptor/Descriptor.test.js +5 -5
  73. package/dist/components/Molecules/DoubleCopy/DoubleCopy.js +6 -4
  74. package/dist/components/Molecules/DoubleCopy/DoubleCopy.style.js +7 -5
  75. package/dist/components/Molecules/DoubleCopy/DoubleCopy.test.js +4 -4
  76. package/dist/components/Molecules/HeroBanner/HeroBanner.js +13 -17
  77. package/dist/components/Molecules/InfoBanner/InfoBanner.js +22 -18
  78. package/dist/components/Molecules/InfoBanner/InfoBanner.test.js +10 -10
  79. package/dist/components/Molecules/Logos/Logos.js +26 -14
  80. package/dist/components/Molecules/Logos/Logos.md +5 -0
  81. package/dist/components/Molecules/Lookup/Lookup.js +49 -84
  82. package/dist/components/Molecules/PartnerLink/PartnerLink.js +10 -11
  83. package/dist/components/Molecules/PartnerLink/PartnerLink.style.js +15 -9
  84. package/dist/components/Molecules/PartnerLink/PartnerLink.test.js +3 -3
  85. package/dist/components/Molecules/Promo/Promo.js +30 -36
  86. package/dist/components/Molecules/Promo/Promo.style.js +44 -31
  87. package/dist/components/Molecules/Promo/Promo.test.js +6 -6
  88. package/dist/components/Molecules/Promo/_ProgressRing.js +13 -19
  89. package/dist/components/Molecules/Promo/_PromoVideo.js +25 -34
  90. package/dist/components/Molecules/Promo/_PromoVideoButton.js +7 -7
  91. package/dist/components/Molecules/Promo/_PromoVideoButton.style.js +68 -41
  92. package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +29 -52
  93. package/dist/components/Molecules/SchoolLookup/SchoolLookup.test.js +4 -4
  94. package/dist/components/Molecules/SearchInput/SearchInput.js +8 -8
  95. package/dist/components/Molecules/SearchInput/SearchInput.style.js +22 -14
  96. package/dist/components/Molecules/SearchInput/SearchInput.test.js +4 -4
  97. package/dist/components/Molecules/SearchResult/SearchResult.js +43 -29
  98. package/dist/components/Molecules/SearchResult/SearchResult.test.js +9 -9
  99. package/dist/components/Molecules/ShareButton/ShareButton.js +22 -26
  100. package/dist/components/Molecules/ShareButton/ShareButton.style.js +5 -5
  101. package/dist/components/Molecules/ShareButton/ShareButton.test.js +3 -3
  102. package/dist/components/Molecules/ShareButton/assets/ShareIcons.js +2 -2
  103. package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +28 -55
  104. package/dist/components/Molecules/SingleMessage/SingleMessage.js +99 -123
  105. package/dist/components/Molecules/SingleMessage/SingleMessage.style.js +132 -81
  106. package/dist/components/Molecules/SingleMessage/SingleMessage.test.js +13 -13
  107. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +31 -40
  108. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +85 -49
  109. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.test.js +3 -3
  110. package/dist/components/Molecules/Typeahead/Typeahead.js +47 -84
  111. package/dist/components/Molecules/Typeahead/Typeahead.test.js +12 -35
  112. package/dist/components/Molecules/VideoBanner/VideoBanner.js +20 -25
  113. package/dist/components/Molecules/VideoBanner/VideoBanner.test.js +4 -4
  114. package/dist/components/Organisms/CookieBanner/CookieBanner.js +7 -5
  115. package/dist/components/Organisms/CookieBanner/CookieBanner.style.js +21 -13
  116. package/dist/components/Organisms/CookieBanner/CookieBanner.test.js +5 -5
  117. package/dist/components/Organisms/Donate/Donate.js +42 -39
  118. package/dist/components/Organisms/Donate/Donate.md +85 -0
  119. package/dist/components/Organisms/Donate/Donate.style.js +85 -53
  120. package/dist/components/Organisms/Donate/Donate.test.js +10 -10
  121. package/dist/components/Organisms/Donate/Form/Form.js +64 -80
  122. package/dist/components/Organisms/Donate/Form/PopUpComponent.js +25 -30
  123. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.js +11 -13
  124. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.style.js +38 -22
  125. package/dist/components/Organisms/Donate/MoneyBuy/MoneyBuy.js +47 -30
  126. package/dist/components/Organisms/EmailSignUp/EmailSignUp.style.js +63 -37
  127. package/dist/components/Organisms/EmailSignUp/EmailSignUp.test.js +12 -12
  128. package/dist/components/Organisms/EmailSignUp/EmailSignUpForm.js +23 -43
  129. package/dist/components/Organisms/EmailSignUp/_EmailSignUp.js +25 -21
  130. package/dist/components/Organisms/EmailSignUp/_EmailSignUpConfig.js +10 -9
  131. package/dist/components/Organisms/EmailSignUp/_TextInput.js +20 -18
  132. package/dist/components/Organisms/Footer/Footer.js +10 -10
  133. package/dist/components/Organisms/Footer/Footer.style.js +27 -21
  134. package/dist/components/Organisms/Footer/Footer.test.js +3 -3
  135. package/dist/components/Organisms/Footer/Nav/Nav.js +59 -70
  136. package/dist/components/Organisms/Footer/Nav/Nav.style.js +77 -43
  137. package/dist/components/Organisms/Header/Burger/BurgerMenu.js +6 -4
  138. package/dist/components/Organisms/Header/Burger/BurgerMenu.style.js +37 -21
  139. package/dist/components/Organisms/Header/Header.js +8 -8
  140. package/dist/components/Organisms/Header/Header.style.js +27 -19
  141. package/dist/components/Organisms/Header/Nav/Nav.js +39 -50
  142. package/dist/components/Organisms/Header/Nav/Nav.style.js +103 -57
  143. package/dist/components/Organisms/Header/header.test.js +1 -1
  144. package/dist/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +32 -29
  145. package/dist/components/Organisms/ImpactSlider/ImpactSlider.js +19 -22
  146. package/dist/components/Organisms/ImpactSlider/ImpactSlider.style.js +38 -24
  147. package/dist/components/Organisms/ImpactSlider/Slider.style.js +8 -14
  148. package/dist/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +11 -11
  149. package/dist/components/Organisms/ImpactSlider/_Slider.js +9 -7
  150. package/dist/components/Organisms/ImpactSlider/_utils.js +11 -11
  151. package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDS.style.js +61 -38
  152. package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDSForm.js +24 -16
  153. package/dist/components/Organisms/MarketingPreferencesDS/_AssociatedFields.js +1 -1
  154. package/dist/components/Organisms/MarketingPreferencesDS/_CheckAnswer.js +20 -16
  155. package/dist/components/Organisms/MarketingPreferencesDS/_DefaultCopy.js +3 -3
  156. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPreferencesDS.js +46 -36
  157. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPrefsConfig.js +21 -34
  158. package/dist/components/Organisms/MarketingPreferencesDS/_TextInput.js +20 -18
  159. package/dist/components/Organisms/Membership/Form/Form.js +48 -81
  160. package/dist/components/Organisms/Membership/Membership.js +17 -15
  161. package/dist/components/Organisms/Membership/Membership.style.js +81 -51
  162. package/dist/components/Organisms/Membership/Membership.test.js +4 -4
  163. package/dist/components/Organisms/Membership/MoneyBox/MoneyBox.js +37 -26
  164. package/dist/hoc/shallowWithTheme.js +1 -1
  165. package/dist/index.js +67 -67
  166. package/dist/styleguide/CRLogo.js +2 -2
  167. package/dist/styleguide/StyleGuideRenderer.js +9 -7
  168. package/dist/styleguide/ThemeWrapper.js +5 -3
  169. package/dist/styleguide/data/data.js +3 -3
  170. package/dist/theme/crTheme/buttonColors.js +6 -5
  171. package/dist/theme/crTheme/colors.js +4 -3
  172. package/dist/theme/crTheme/fontSizes.js +4 -3
  173. package/dist/theme/crTheme/linkStyles.js +6 -5
  174. package/dist/theme/crTheme/theme.js +1 -1
  175. package/dist/theme/shared/breakpoint.js +4 -3
  176. package/dist/theme/shared/fontFamilies.js +5 -4
  177. package/dist/theme/shared/hideVisually.js +1 -1
  178. package/dist/theme/shared/size.js +4 -3
  179. package/dist/theme/shared/spacing.js +2 -2
  180. package/dist/theme/shared/zIndex.js +3 -3
  181. package/dist/theme/srTheme/buttonColors.js +6 -5
  182. package/dist/theme/srTheme/colors.js +4 -3
  183. package/dist/theme/srTheme/fontSizes.js +4 -3
  184. package/dist/theme/srTheme/linkStyles.js +6 -5
  185. package/dist/theme/srTheme/theme.js +1 -1
  186. package/dist/utils/Membership.js +30 -27
  187. package/dist/utils/ShareButton/sharePopUpHelper.js +8 -8
  188. package/dist/utils/ShareButton/shareTracking.js +1 -1
  189. package/dist/utils/ShareButton/shareUrlHelper.js +3 -3
  190. package/dist/utils/allowListed.js +3 -5
  191. package/dist/utils/allowListed.test.js +3 -3
  192. package/dist/utils/internalLinkHelper.js +8 -10
  193. package/dist/utils/navHelper.js +2 -2
  194. package/package.json +12 -9
  195. package/playwright/components/atoms/checkbox.spec.js +64 -0
  196. package/playwright/components/atoms/input.spec.js +158 -0
  197. package/playwright/components/atoms/label.spec.js +29 -0
  198. package/playwright/components/atoms/link.spec.js +48 -0
  199. package/playwright/components/atoms/radioButton.spec.js +30 -0
  200. package/playwright/components/atoms/select.spec.js +36 -0
  201. package/playwright/components/atoms/textArea.spec.js +39 -0
  202. package/playwright/components/atoms/textInputWithDropdown.spec.js +23 -0
  203. package/playwright/components/molecules/accordian.spec.js +20 -0
  204. package/playwright/components/molecules/schoolLookup.spec.js +26 -0
  205. package/playwright/components/molecules/searchInput.spec.js +24 -0
  206. package/playwright/components/molecules/shareButton.spec.js +32 -0
  207. package/playwright/components/molecules/simpleSchoolLookUp.spec.js +35 -0
  208. package/playwright/components/molecules/typeahead.spec.js +27 -0
  209. package/playwright/components/organisms/donate.spec.js +293 -0
  210. package/playwright/components/organisms/emailSignUpForm.spec.js +109 -0
  211. package/playwright/components/organisms/footer.spec.js +67 -0
  212. package/playwright/components/organisms/header.spec.js +82 -0
  213. package/playwright/components/organisms/impactSlider.spec.js +292 -0
  214. package/playwright/components/organisms/marketingPreferences.spec.js +220 -0
  215. package/playwright/components/organisms/membership.spec.js +47 -0
  216. package/playwright.config.js +49 -0
  217. package/src/components/Molecules/Logos/Logos.js +18 -6
  218. package/src/components/Molecules/Logos/Logos.md +5 -0
  219. package/src/components/Organisms/Donate/Donate.js +11 -3
  220. package/src/components/Organisms/Donate/Donate.md +85 -0
  221. package/src/components/Organisms/Donate/Form/Form.js +20 -2
  222. package/src/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +3 -4
  223. package/src/components/Organisms/Membership/Membership.test.js +1 -1
  224. package/cypress/e2e/components/atoms/button.cy.js +0 -102
  225. package/cypress/e2e/components/atoms/buttonWithStates.cy.js +0 -47
  226. package/cypress/e2e/components/atoms/checkbox.cy.js +0 -70
  227. package/cypress/e2e/components/atoms/confetti.cy.js +0 -46
  228. package/cypress/e2e/components/atoms/errorText.cy.js +0 -45
  229. package/cypress/e2e/components/atoms/input.cy.js +0 -157
  230. package/cypress/e2e/components/atoms/label.cy.js +0 -93
  231. package/cypress/e2e/components/atoms/link.cy.js +0 -190
  232. package/cypress/e2e/components/atoms/logo.cy.js +0 -132
  233. package/cypress/e2e/components/atoms/pagination.cy.js +0 -191
  234. package/cypress/e2e/components/atoms/picture.cy.js +0 -130
  235. package/cypress/e2e/components/atoms/radioButton.cy.js +0 -76
  236. package/cypress/e2e/components/atoms/richText.cy.js +0 -70
  237. package/cypress/e2e/components/atoms/select.cy.js +0 -84
  238. package/cypress/e2e/components/atoms/socialIcons.cy.js +0 -162
  239. package/cypress/e2e/components/atoms/text.cy.js +0 -169
  240. package/cypress/e2e/components/atoms/textArea.cy.js +0 -89
  241. package/cypress/e2e/components/atoms/textInputWithDrop.cy.js +0 -76
  242. package/cypress/e2e/components/molecules/accordion.cy.js +0 -67
  243. package/cypress/e2e/components/molecules/articleTeaser.cy.js +0 -105
  244. package/cypress/e2e/components/molecules/banner.cy.js +0 -67
  245. package/cypress/e2e/components/molecules/box.cy.js +0 -104
  246. package/cypress/e2e/components/molecules/card.cy.js +0 -105
  247. package/cypress/e2e/components/molecules/cardDs.cy.js +0 -198
  248. package/cypress/e2e/components/molecules/chip.cy.js +0 -68
  249. package/cypress/e2e/components/molecules/countdown.cy.js +0 -71
  250. package/cypress/e2e/components/molecules/descriptor.cy.js +0 -142
  251. package/cypress/e2e/components/molecules/doubleCopy.cy.js +0 -79
  252. package/cypress/e2e/components/molecules/heroBanner.cy.js +0 -69
  253. package/cypress/e2e/components/molecules/infoBanner.cy.js +0 -69
  254. package/cypress/e2e/components/molecules/partnerLink.cy.js +0 -68
  255. package/cypress/e2e/components/molecules/promo.cy.js +0 -74
  256. package/cypress/e2e/components/molecules/schoolLookup.cy.js +0 -83
  257. package/cypress/e2e/components/molecules/searchInput.cy.js +0 -72
  258. package/cypress/e2e/components/molecules/searchResult.cy.js +0 -191
  259. package/cypress/e2e/components/molecules/shareButton.cy.js +0 -76
  260. package/cypress/e2e/components/molecules/simpleSchoolLookup.cy.js +0 -83
  261. package/cypress/e2e/components/molecules/singleMessage.cy.js +0 -502
  262. package/cypress/e2e/components/molecules/singleMessageDs.cy.js +0 -234
  263. package/cypress/e2e/components/molecules/typeahead.cy.js +0 -97
  264. package/cypress/e2e/components/molecules/videoBanner.cy.js +0 -132
  265. package/cypress/e2e/components/organisms/cookieBanner.cy.js +0 -80
  266. package/cypress/e2e/components/organisms/donate.cy.js +0 -284
  267. package/cypress/e2e/components/organisms/emailSignUp.cy.js +0 -54
  268. package/cypress/e2e/components/organisms/footer.cy.js +0 -168
  269. package/cypress/e2e/components/organisms/header.cy.js +0 -138
  270. package/cypress/e2e/components/organisms/impactSlider.cy.js +0 -72
  271. package/cypress/e2e/components/organisms/marketingPreferencesDSForm.cy.js +0 -589
  272. package/cypress/e2e/components/organisms/membership.cy.js +0 -122
  273. package/cypress/fixtures/example.json +0 -5
  274. package/cypress/plugins/index.js +0 -21
  275. package/cypress/support/commands.js +0 -25
  276. package/cypress/support/e2e.js +0 -36
  277. package/cypress.config.js +0 -15
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -9,76 +9,102 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
  var _spacing = _interopRequireDefault(require("../../../theme/shared/spacing"));
10
10
  var _TextInput = _interopRequireDefault(require("./_TextInput"));
11
11
  var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
12
- var ESUWrapper = exports.ESUWrapper = _styledComponents.default.div.withConfig({
12
+ const ESUWrapper = exports.ESUWrapper = _styledComponents.default.div.withConfig({
13
13
  displayName: "EmailSignUpstyle__ESUWrapper",
14
14
  componentId: "sc-w2b8yk-0"
15
- })(["display:flex;flex-direction:column;font-size:", ";color:", ";background-color:", ";padding:", ";"], function (_ref) {
16
- var theme = _ref.theme;
15
+ })(["display:flex;flex-direction:column;font-size:", ";color:", ";background-color:", ";padding:", ";"], _ref => {
16
+ let {
17
+ theme
18
+ } = _ref;
17
19
  return theme.fontSize('s');
18
- }, function (_ref2) {
19
- var theme = _ref2.theme;
20
+ }, _ref2 => {
21
+ let {
22
+ theme
23
+ } = _ref2;
20
24
  return theme.color('white');
21
- }, function (_ref3) {
22
- var theme = _ref3.theme,
23
- backgroundColour = _ref3.backgroundColour;
25
+ }, _ref3 => {
26
+ let {
27
+ theme,
28
+ backgroundColour
29
+ } = _ref3;
24
30
  return theme.color(backgroundColour);
25
31
  }, (0, _spacing.default)('m'));
26
- var TopCopyWrapper = exports.TopCopyWrapper = _styledComponents.default.div.withConfig({
32
+ const TopCopyWrapper = exports.TopCopyWrapper = _styledComponents.default.div.withConfig({
27
33
  displayName: "EmailSignUpstyle__TopCopyWrapper",
28
34
  componentId: "sc-w2b8yk-1"
29
35
  })(["display:flex;margin-bottom:", ";"], (0, _spacing.default)('md'));
30
- var ButtonWrapper = exports.ButtonWrapper = _styledComponents.default.div.withConfig({
36
+ const ButtonWrapper = exports.ButtonWrapper = _styledComponents.default.div.withConfig({
31
37
  displayName: "EmailSignUpstyle__ButtonWrapper",
32
38
  componentId: "sc-w2b8yk-2"
33
- })(["margin-top:", ";button{background-color:", ";}"], (0, _spacing.default)('md'), function (_ref4) {
34
- var theme = _ref4.theme,
35
- buttonColour = _ref4.buttonColour;
39
+ })(["margin-top:", ";button{background-color:", ";}"], (0, _spacing.default)('md'), _ref4 => {
40
+ let {
41
+ theme,
42
+ buttonColour
43
+ } = _ref4;
36
44
  return theme.color(buttonColour);
37
45
  });
38
- var PrivacyCopyWrapper = exports.PrivacyCopyWrapper = _styledComponents.default.div.withConfig({
46
+ const PrivacyCopyWrapper = exports.PrivacyCopyWrapper = _styledComponents.default.div.withConfig({
39
47
  displayName: "EmailSignUpstyle__PrivacyCopyWrapper",
40
48
  componentId: "sc-w2b8yk-3"
41
- })(["display:flex;flex-direction:column;margin-top:", ";p{font-size:", ";line-height:", ";a{font-size:", ";color:", ";}}"], (0, _spacing.default)('md'), function (_ref5) {
42
- var theme = _ref5.theme;
49
+ })(["display:flex;flex-direction:column;margin-top:", ";p{font-size:", ";line-height:", ";a{font-size:", ";color:", ";}}"], (0, _spacing.default)('md'), _ref5 => {
50
+ let {
51
+ theme
52
+ } = _ref5;
43
53
  return theme.fontSize('s');
44
- }, function (_ref6) {
45
- var theme = _ref6.theme;
54
+ }, _ref6 => {
55
+ let {
56
+ theme
57
+ } = _ref6;
46
58
  return theme.fontSize('xl');
47
- }, function (_ref7) {
48
- var theme = _ref7.theme;
59
+ }, _ref7 => {
60
+ let {
61
+ theme
62
+ } = _ref7;
49
63
  return theme.fontSize('s');
50
- }, function (_ref8) {
51
- var theme = _ref8.theme;
64
+ }, _ref8 => {
65
+ let {
66
+ theme
67
+ } = _ref8;
52
68
  return theme.color('white');
53
69
  });
54
- var FormInner = exports.FormInner = _styledComponents.default.div.withConfig({
70
+ const FormInner = exports.FormInner = _styledComponents.default.div.withConfig({
55
71
  displayName: "EmailSignUpstyle__FormInner",
56
72
  componentId: "sc-w2b8yk-4"
57
73
  })(["display:flex;flex-direction:column;margin:", " 0;"], (0, _spacing.default)('md'));
58
- var NameWrapper = exports.NameWrapper = _styledComponents.default.div.withConfig({
74
+ const NameWrapper = exports.NameWrapper = _styledComponents.default.div.withConfig({
59
75
  displayName: "EmailSignUpstyle__NameWrapper",
60
76
  componentId: "sc-w2b8yk-5"
61
- })(["display:flex;flex-direction:column;gap:0;@media ", "{justify-content:start;flex-direction:", ";gap:", ";)};}"], function (_ref9) {
62
- var theme = _ref9.theme;
77
+ })(["display:flex;flex-direction:column;gap:0;@media ", "{justify-content:start;flex-direction:", ";gap:", ";)};}"], _ref9 => {
78
+ let {
79
+ theme
80
+ } = _ref9;
63
81
  return theme.breakpoint('medium');
64
- }, function (_ref10) {
65
- var columnLayout = _ref10.columnLayout;
82
+ }, _ref10 => {
83
+ let {
84
+ columnLayout
85
+ } = _ref10;
66
86
  return columnLayout ? 'column' : 'row';
67
- }, function (_ref11) {
68
- var columnLayout = _ref11.columnLayout;
87
+ }, _ref11 => {
88
+ let {
89
+ columnLayout
90
+ } = _ref11;
69
91
  return columnLayout ? 0 : (0, _spacing.default)('md');
70
92
  });
71
- var InputField = exports.InputField = (0, _styledComponents.default)(_TextInput.default).withConfig({
93
+ const InputField = exports.InputField = (0, _styledComponents.default)(_TextInput.default).withConfig({
72
94
  displayName: "EmailSignUpstyle__InputField",
73
95
  componentId: "sc-w2b8yk-6"
74
- })(["width:100%;margin-bottom:", ";& > span:first-child{color:", ";}@media ", "{max-width:290px;}"], (0, _spacing.default)('md'), function (_ref12) {
75
- var theme = _ref12.theme;
96
+ })(["width:100%;margin-bottom:", ";& > span:first-child{color:", ";}@media ", "{max-width:290px;}"], (0, _spacing.default)('md'), _ref12 => {
97
+ let {
98
+ theme
99
+ } = _ref12;
76
100
  return theme.color('white');
77
- }, function (_ref13) {
78
- var theme = _ref13.theme;
101
+ }, _ref13 => {
102
+ let {
103
+ theme
104
+ } = _ref13;
79
105
  return theme.breakpoint('medium');
80
106
  });
81
- var Title = exports.Title = (0, _styledComponents.default)(_Text.default).withConfig({
107
+ const Title = exports.Title = (0, _styledComponents.default)(_Text.default).withConfig({
82
108
  displayName: "EmailSignUpstyle__Title",
83
109
  componentId: "sc-w2b8yk-7"
84
110
  })(["margin-bottom:", ";"], (0, _spacing.default)('m'));
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  require("jest-styled-components");
6
6
  var _shallowWithTheme = _interopRequireDefault(require("../../../hoc/shallowWithTheme"));
@@ -8,19 +8,19 @@ var _EmailSignUp = require("./_EmailSignUp");
8
8
  var _RichText = _interopRequireDefault(require("../../Atoms/RichText/RichText"));
9
9
  var _reactHookForm = require("react-hook-form");
10
10
  var _yup = require("@hookform/resolvers/yup");
11
- var DummyForm = function DummyForm() {
12
- var formMethods = (0, _reactHookForm.useForm)({
11
+ const DummyForm = () => {
12
+ const formMethods = (0, _reactHookForm.useForm)({
13
13
  mode: "onBlur",
14
14
  resolver: (0, _yup.yupResolver)(_EmailSignUp.validationSchema)
15
15
  });
16
- var handleSubmit = formMethods.handleSubmit;
17
- var top = "<h1> Top Copy</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>";
18
- var success = "<h1> Success Copy</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>";
19
- var privacy = 'check <a href="https://www.comicrelief.com/privacy-notice">Privacy policy</a>';
16
+ const {
17
+ handleSubmit
18
+ } = formMethods;
19
+ const top = "<h1> Top Copy</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>";
20
+ const success = "<h1> Success Copy</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>";
21
+ const privacy = 'check <a href="https://www.comicrelief.com/privacy-notice">Privacy policy</a>';
20
22
  return /*#__PURE__*/_react.default.createElement(_reactHookForm.FormProvider, formMethods, /*#__PURE__*/_react.default.createElement("form", {
21
- onSubmit: handleSubmit(function () {
22
- return true;
23
- }),
23
+ onSubmit: handleSubmit(() => true),
24
24
  noValidate: true
25
25
  }, /*#__PURE__*/_react.default.createElement(_EmailSignUp.EmailSignUp, {
26
26
  title: "sign up letter",
@@ -36,7 +36,7 @@ var DummyForm = function DummyForm() {
36
36
  formContext: formMethods
37
37
  })));
38
38
  };
39
- it("renders correctly", function () {
40
- var tree = (0, _shallowWithTheme.default)( /*#__PURE__*/_react.default.createElement(DummyForm, null)).toJSON();
39
+ it("renders correctly", () => {
40
+ const tree = (0, _shallowWithTheme.default)( /*#__PURE__*/_react.default.createElement(DummyForm, null)).toJSON();
41
41
  expect(tree).toMatchSnapshot();
42
42
  });
@@ -1,65 +1,45 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
10
8
  var _react = _interopRequireDefault(require("react"));
11
9
  var _reactHookForm = require("react-hook-form");
12
10
  var _yup = require("@hookform/resolvers/yup");
13
11
  var _RichText = _interopRequireDefault(require("../../Atoms/RichText/RichText"));
14
12
  var _EmailSignUp = require("./_EmailSignUp");
15
- var EmailSignUpForm = function EmailSignUpForm() {
16
- var validationSchema = (0, _EmailSignUp.buildEsuValidationSchema)({});
17
- var formMethods = (0, _reactHookForm.useForm)({
13
+ const EmailSignUpForm = () => {
14
+ const validationSchema = (0, _EmailSignUp.buildEsuValidationSchema)({});
15
+ const formMethods = (0, _reactHookForm.useForm)({
18
16
  mode: 'onBlur',
19
17
  resolver: (0, _yup.yupResolver)(validationSchema)
20
18
  });
21
- var handleSubmit = formMethods.handleSubmit,
22
- trigger = formMethods.trigger,
23
- setError = formMethods.setError;
24
- function handleSubscribe(_x) {
25
- return _handleSubscribe.apply(this, arguments);
19
+ const {
20
+ handleSubmit,
21
+ trigger,
22
+ setError
23
+ } = formMethods;
24
+ async function handleSubscribe(data) {
25
+ const valid = await trigger([_EmailSignUp.ESU_FIELDS.EMAIL, _EmailSignUp.ESU_FIELDS.FIRST_NAME, _EmailSignUp.ESU_FIELDS.LAST_NAME]);
26
+ if (valid) {
27
+ // eslint-disable-next-line no-console
28
+ console.log(data);
29
+ } else {
30
+ setError('formError', {
31
+ message: 'Error'
32
+ });
33
+ }
26
34
  }
27
- function _handleSubscribe() {
28
- _handleSubscribe = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
29
- var valid;
30
- return _regenerator.default.wrap(function _callee$(_context) {
31
- while (1) {
32
- switch (_context.prev = _context.next) {
33
- case 0:
34
- _context.next = 2;
35
- return trigger([_EmailSignUp.ESU_FIELDS.EMAIL, _EmailSignUp.ESU_FIELDS.FIRST_NAME, _EmailSignUp.ESU_FIELDS.LAST_NAME]);
36
- case 2:
37
- valid = _context.sent;
38
- if (valid) {
39
- // eslint-disable-next-line no-console
40
- console.log(data);
41
- } else {
42
- setError('formError', {
43
- message: 'Error'
44
- });
45
- }
46
- case 4:
47
- case "end":
48
- return _context.stop();
49
- }
50
- }
51
- }, _callee);
52
- }));
53
- return _handleSubscribe.apply(this, arguments);
54
- }
55
- var title = 'Stay in the know!';
56
- var topCopy = /*#__PURE__*/_react.default.createElement(_RichText.default, {
35
+ const title = 'Stay in the know!';
36
+ const topCopy = /*#__PURE__*/_react.default.createElement(_RichText.default, {
57
37
  markup: "<p>Get regular email updates and info on what we're up to!</p>"
58
38
  });
59
- var privacyCopy = /*#__PURE__*/_react.default.createElement(_RichText.default, {
39
+ const privacyCopy = /*#__PURE__*/_react.default.createElement(_RichText.default, {
60
40
  markup: '<p>Our <a class="link link--white inline" href="/privacy-notice">Privacy Policy</a> describes how we handle and protect your information.<br><br>If you are under 18, please make sure you have your parents’ permission before providing us with any personal details.</p>'
61
41
  });
62
- var successCopy = /*#__PURE__*/_react.default.createElement(_RichText.default, {
42
+ const successCopy = /*#__PURE__*/_react.default.createElement(_RichText.default, {
63
43
  markup: "<p>Thanks! Your first email will be with you shortly</p>"
64
44
  });
65
45
  return /*#__PURE__*/_react.default.createElement(_reactHookForm.FormProvider, formMethods, /*#__PURE__*/_react.default.createElement("form", {
@@ -1,23 +1,22 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  Object.defineProperty(exports, "ESU_FIELDS", {
8
8
  enumerable: true,
9
- get: function get() {
9
+ get: function () {
10
10
  return _EmailSignUpConfig.ESU_FIELDS;
11
11
  }
12
12
  });
13
13
  exports.EmailSignUp = void 0;
14
14
  Object.defineProperty(exports, "buildEsuValidationSchema", {
15
15
  enumerable: true,
16
- get: function get() {
16
+ get: function () {
17
17
  return _EmailSignUpConfig.buildEsuValidationSchema;
18
18
  }
19
19
  });
20
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
21
20
  var _react = _interopRequireDefault(require("react"));
22
21
  var _EmailSignUp = require("./EmailSignUp.style");
23
22
  var _ButtonWithStates = _interopRequireDefault(require("../../Atoms/ButtonWithStates/ButtonWithStates"));
@@ -25,23 +24,27 @@ var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
25
24
  var _EmailSignUpConfig = require("./_EmailSignUpConfig");
26
25
  var _ErrorText = _interopRequireDefault(require("../../Atoms/ErrorText/ErrorText"));
27
26
  var _Confetti = _interopRequireDefault(require("../../Atoms/Confetti/Confetti"));
28
- var _excluded = ["title", "topCopy", "successCopy", "privacyCopy", "backgroundColour", "buttonColour", "formContext", "columnLayout"];
29
- var EmailSignUp = exports.EmailSignUp = function EmailSignUp(_ref) {
30
- var title = _ref.title,
31
- topCopy = _ref.topCopy,
32
- successCopy = _ref.successCopy,
33
- privacyCopy = _ref.privacyCopy,
34
- backgroundColour = _ref.backgroundColour,
35
- buttonColour = _ref.buttonColour,
36
- formContext = _ref.formContext,
37
- columnLayout = _ref.columnLayout,
38
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
39
- var _formContext$formStat = formContext.formState,
40
- isValid = _formContext$formStat.isValid,
41
- isSubmitting = _formContext$formStat.isSubmitting,
42
- isSubmitted = _formContext$formStat.isSubmitted,
43
- isSubmitSuccessful = _formContext$formStat.isSubmitSuccessful,
44
- errors = _formContext$formStat.errors;
27
+ const EmailSignUp = _ref => {
28
+ let {
29
+ title,
30
+ topCopy,
31
+ successCopy,
32
+ privacyCopy,
33
+ backgroundColour,
34
+ buttonColour,
35
+ formContext,
36
+ columnLayout,
37
+ ...rest
38
+ } = _ref;
39
+ const {
40
+ formState: {
41
+ isValid,
42
+ isSubmitting,
43
+ isSubmitted,
44
+ isSubmitSuccessful,
45
+ errors
46
+ }
47
+ } = formContext;
45
48
  return /*#__PURE__*/_react.default.createElement(_EmailSignUp.ESUWrapper, Object.assign({
46
49
  backgroundColour: backgroundColour
47
50
  }, rest), /*#__PURE__*/_react.default.createElement(_EmailSignUp.Title, {
@@ -85,6 +88,7 @@ var EmailSignUp = exports.EmailSignUp = function EmailSignUp(_ref) {
85
88
  "data-test": "subscribe-button"
86
89
  }, /*#__PURE__*/_react.default.createElement(_Text.default, null, "Subscribe")))), isSubmitted && !isSubmitSuccessful && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, errors.formError !== undefined && /*#__PURE__*/_react.default.createElement(_ErrorText.default, null, errors.formError.message)), /*#__PURE__*/_react.default.createElement(_EmailSignUp.PrivacyCopyWrapper, null, /*#__PURE__*/_react.default.createElement(_Text.default, null, privacyCopy)));
87
90
  };
91
+ exports.EmailSignUp = EmailSignUp;
88
92
  EmailSignUp.defaultProps = {
89
93
  backgroundColour: 'deep_violet_dark',
90
94
  buttonColour: 'red',
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.buildEsuValidationSchema = exports.ESU_FIELDS = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
8
  var _lodash = require("lodash");
10
9
  var yup = _interopRequireWildcard(require("yup"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }
13
10
  /**
14
11
  * ESU_FIELDS
15
12
  *
@@ -18,7 +15,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
18
15
  * to customise form validation or behaviour, as the fields are handled within the CL
19
16
  * we just make this read-only to prevent any external changes of this object.
20
17
  */
21
- var ESU_FIELDS = exports.ESU_FIELDS = Object.freeze({
18
+ const ESU_FIELDS = exports.ESU_FIELDS = Object.freeze({
22
19
  FIRST_NAME: 'firstName',
23
20
  LAST_NAME: 'lastName',
24
21
  EMAIL: 'email'
@@ -32,8 +29,12 @@ var ESU_FIELDS = exports.ESU_FIELDS = Object.freeze({
32
29
  *
33
30
  * @param overrides {Object} - A yup schema object (or an empty object)
34
31
  */
35
- var buildEsuValidationSchema = exports.buildEsuValidationSchema = function buildEsuValidationSchema(overrides) {
36
- var _yup$object;
37
- var defaultSchema = yup.object((_yup$object = {}, (0, _defineProperty2.default)(_yup$object, ESU_FIELDS.FIRST_NAME, yup.string().required('Please enter your first name').matches(/^[A-Za-z][A-Za-z' -]*$/, "This field only accepts letters and ' - and must start with a letter").max(25, 'Your first name must be between 1 and 25 characters')), (0, _defineProperty2.default)(_yup$object, ESU_FIELDS.LAST_NAME, yup.string().required('Please enter your last name').matches(/^[A-Za-z][A-Za-z' -]*$/, "This field only accepts letters and ' - and must start with a letter").max(50, 'Your first name must be between 1 and 50 characters')), (0, _defineProperty2.default)(_yup$object, ESU_FIELDS.EMAIL, yup.string().required('Please enter your email address').email('Please enter a valid email address').max(100, 'Your email address must be between 1 and 100 characters long')), _yup$object));
32
+ const buildEsuValidationSchema = overrides => {
33
+ const defaultSchema = yup.object({
34
+ [ESU_FIELDS.FIRST_NAME]: yup.string().required('Please enter your first name').matches(/^[A-Za-z][A-Za-z' -]*$/, "This field only accepts letters and ' - and must start with a letter").max(25, 'Your first name must be between 1 and 25 characters'),
35
+ [ESU_FIELDS.LAST_NAME]: yup.string().required('Please enter your last name').matches(/^[A-Za-z][A-Za-z' -]*$/, "This field only accepts letters and ' - and must start with a letter").max(50, 'Your first name must be between 1 and 50 characters'),
36
+ [ESU_FIELDS.EMAIL]: yup.string().required('Please enter your email address').email('Please enter a valid email address').max(100, 'Your email address must be between 1 and 100 characters long')
37
+ });
38
38
  return (0, _lodash.merge)(defaultSchema, overrides);
39
- };
39
+ };
40
+ exports.buildEsuValidationSchema = buildEsuValidationSchema;
@@ -1,35 +1,37 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
10
8
  var _react = _interopRequireDefault(require("react"));
11
9
  var _Input = _interopRequireDefault(require("../../Atoms/Input/Input"));
12
- var _excluded = ["fieldName", "label", "optional", "fieldType", "formContext"];
13
10
  // TODO: This is a copy paste of the RHF friendly `TextInput` from Marketing Prefs.
14
11
  // Perhaps it would be worthwhile refactoring this into a new `Atom` as a seperate PR.
15
- var TextInput = function TextInput(_ref) {
16
- var fieldName = _ref.fieldName,
17
- label = _ref.label,
18
- optional = _ref.optional,
19
- fieldType = _ref.fieldType,
20
- formContext = _ref.formContext,
21
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
22
- var errors = formContext.errors,
23
- register = formContext.register;
24
- var props = (0, _objectSpread2.default)({
12
+ const TextInput = _ref => {
13
+ let {
14
+ fieldName,
15
+ label,
16
+ optional,
17
+ fieldType,
18
+ formContext,
19
+ ...rest
20
+ } = _ref;
21
+ const {
22
+ errors,
23
+ register
24
+ } = formContext;
25
+ const props = {
25
26
  name: fieldName,
26
27
  type: fieldType,
27
- label: label,
28
+ label,
28
29
  placeholder: label,
29
30
  errorMsg: errors && errors[fieldName] && errors[fieldName].message,
30
- optional: optional,
31
- 'aria-required': !optional
32
- }, rest);
31
+ optional,
32
+ 'aria-required': !optional,
33
+ ...rest
34
+ };
33
35
  return /*#__PURE__*/_react.default.createElement(_Input.default, Object.assign({}, props, {
34
36
  ref: register
35
37
  }));
@@ -1,26 +1,26 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
9
8
  var _react = _interopRequireDefault(require("react"));
10
9
  var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
11
10
  var _Logo = _interopRequireDefault(require("../../Atoms/Logo/Logo"));
12
11
  var _Nav = _interopRequireDefault(require("./Nav/Nav"));
13
12
  var _SocialIcons = _interopRequireDefault(require("../../Atoms/SocialIcons/SocialIcons"));
14
13
  var _Footer = require("./Footer.style");
15
- var _excluded = ["navItems", "footerCopy", "campaign", "additionalLegalLine"];
16
- var Footer = function Footer(_ref) {
17
- var navItems = _ref.navItems,
18
- footerCopy = _ref.footerCopy,
19
- campaign = _ref.campaign,
20
- additionalLegalLine = _ref.additionalLegalLine,
21
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
14
+ const Footer = _ref => {
15
+ let {
16
+ navItems,
17
+ footerCopy,
18
+ campaign,
19
+ additionalLegalLine,
20
+ ...rest
21
+ } = _ref;
22
22
  // Remove white space between words
23
- var campaignName = campaign.replace(/\s/g, '').toLowerCase();
23
+ const campaignName = campaign.replace(/\s/g, '').toLowerCase();
24
24
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Footer.FooterWrapper, Object.assign({
25
25
  navItems: true
26
26
  }, rest), /*#__PURE__*/_react.default.createElement(_Footer.InnerWrapper, null, additionalLegalLine && /*#__PURE__*/_react.default.createElement(_Footer.FooterLegalLine, {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -9,51 +9,57 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
  var _spacing = _interopRequireDefault(require("../../../theme/shared/spacing"));
10
10
  var _Link = _interopRequireDefault(require("../../Atoms/Link/Link"));
11
11
  var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
12
- var FooterWrapper = exports.FooterWrapper = _styledComponents.default.footer.attrs(function () {
13
- return {
14
- role: 'banner'
15
- };
16
- }).withConfig({
12
+ const FooterWrapper = exports.FooterWrapper = _styledComponents.default.footer.attrs(() => ({
13
+ role: 'banner'
14
+ })).withConfig({
17
15
  displayName: "Footerstyle__FooterWrapper",
18
16
  componentId: "sc-167xaf5-0"
19
- })(["text-align:center;line-height:initial;background:#222;position:relative;padding:", " 0;@media ", "{padding:", ";}"], (0, _spacing.default)('md'), function (_ref) {
20
- var theme = _ref.theme;
17
+ })(["text-align:center;line-height:initial;background:#222;position:relative;padding:", " 0;@media ", "{padding:", ";}"], (0, _spacing.default)('md'), _ref => {
18
+ let {
19
+ theme
20
+ } = _ref;
21
21
  return theme.breakpoint('small');
22
22
  }, (0, _spacing.default)('l'));
23
- var Angle = exports.Angle = _styledComponents.default.div.withConfig({
23
+ const Angle = exports.Angle = _styledComponents.default.div.withConfig({
24
24
  displayName: "Footerstyle__Angle",
25
25
  componentId: "sc-167xaf5-1"
26
- })(["width:100%;display:block;clip-path:polygon(0 100%,100% 0,100% 101%,0 101%);height:50px;background:#222;margin-bottom:1rem;@media ", "{clip-path:polygon(0 100%,100% 0,100% 101%,0 101%);height:95px;}"], function (_ref2) {
27
- var theme = _ref2.theme;
26
+ })(["width:100%;display:block;clip-path:polygon(0 100%,100% 0,100% 101%,0 101%);height:50px;background:#222;margin-bottom:1rem;@media ", "{clip-path:polygon(0 100%,100% 0,100% 101%,0 101%);height:95px;}"], _ref2 => {
27
+ let {
28
+ theme
29
+ } = _ref2;
28
30
  return theme.breakpoint('medium');
29
31
  });
30
- var InnerWrapper = exports.InnerWrapper = _styledComponents.default.div.withConfig({
32
+ const InnerWrapper = exports.InnerWrapper = _styledComponents.default.div.withConfig({
31
33
  displayName: "Footerstyle__InnerWrapper",
32
34
  componentId: "sc-167xaf5-2"
33
- })(["position:relative;display:block;width:100%;height:100%;max-width:1200px;margin:0 auto;padding:0 ", " ", ";@media ", "{padding:0 ", " ", ";}"], (0, _spacing.default)('md'), (0, _spacing.default)('l'), function (_ref3) {
34
- var theme = _ref3.theme;
35
+ })(["position:relative;display:block;width:100%;height:100%;max-width:1200px;margin:0 auto;padding:0 ", " ", ";@media ", "{padding:0 ", " ", ";}"], (0, _spacing.default)('md'), (0, _spacing.default)('l'), _ref3 => {
36
+ let {
37
+ theme
38
+ } = _ref3;
35
39
  return theme.breakpoint('medium');
36
40
  }, (0, _spacing.default)('md'), (0, _spacing.default)('xl'));
37
- var FooterLegalLine = exports.FooterLegalLine = (0, _styledComponents.default)(_Text.default).withConfig({
41
+ const FooterLegalLine = exports.FooterLegalLine = (0, _styledComponents.default)(_Text.default).withConfig({
38
42
  displayName: "Footerstyle__FooterLegalLine",
39
43
  componentId: "sc-167xaf5-3"
40
44
  })(["text-align:left;margin-top:1rem;"]);
41
- var FooterBranding = exports.FooterBranding = _styledComponents.default.div.withConfig({
45
+ const FooterBranding = exports.FooterBranding = _styledComponents.default.div.withConfig({
42
46
  displayName: "Footerstyle__FooterBranding",
43
47
  componentId: "sc-167xaf5-4"
44
48
  })(["display:flex;margin:", " 0 5rem;justify-content:space-between;align-items:center;"], (0, _spacing.default)('lg'));
45
- var FooterCopyright = exports.FooterCopyright = _styledComponents.default.div.withConfig({
49
+ const FooterCopyright = exports.FooterCopyright = _styledComponents.default.div.withConfig({
46
50
  displayName: "Footerstyle__FooterCopyright",
47
51
  componentId: "sc-167xaf5-5"
48
- })(["display:block;width:100%;height:100%;text-align:left;margin-top:", ";p{font-size:15px;line-height:24px;margin-bottom:5px;@media ", "{font-size:16px;line-height:27px;}}"], (0, _spacing.default)('lg'), function (_ref4) {
49
- var theme = _ref4.theme;
52
+ })(["display:block;width:100%;height:100%;text-align:left;margin-top:", ";p{font-size:15px;line-height:24px;margin-bottom:5px;@media ", "{font-size:16px;line-height:27px;}}"], (0, _spacing.default)('lg'), _ref4 => {
53
+ let {
54
+ theme
55
+ } = _ref4;
50
56
  return theme.breakpoint('medium');
51
57
  });
52
- var Brand = exports.Brand = (0, _styledComponents.default)(_Link.default).withConfig({
58
+ const Brand = exports.Brand = (0, _styledComponents.default)(_Link.default).withConfig({
53
59
  displayName: "Footerstyle__Brand",
54
60
  componentId: "sc-167xaf5-6"
55
61
  })(["color:transparent;border:0;:hover{border:0;}"]);
56
- var SocialIconWrapper = exports.SocialIconWrapper = _styledComponents.default.div.withConfig({
62
+ const SocialIconWrapper = exports.SocialIconWrapper = _styledComponents.default.div.withConfig({
57
63
  displayName: "Footerstyle__SocialIconWrapper",
58
64
  componentId: "sc-167xaf5-7"
59
65
  })([""]);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  require("jest-styled-components");
6
6
  var _shallowWithTheme = _interopRequireDefault(require("../../../hoc/shallowWithTheme"));
@@ -9,8 +9,8 @@ var _data = _interopRequireDefault(require("./data/data"));
9
9
  var _footerCopy = _interopRequireDefault(require("./data/footerCopy"));
10
10
  /* eslint-disable react/jsx-wrap-multilines */
11
11
 
12
- it('renders correctly', function () {
13
- var tree = (0, _shallowWithTheme.default)( /*#__PURE__*/_react.default.createElement(_Footer.default, {
12
+ it('renders correctly', () => {
13
+ const tree = (0, _shallowWithTheme.default)( /*#__PURE__*/_react.default.createElement(_Footer.default, {
14
14
  navItems: _data.default,
15
15
  footerCopy: _footerCopy.default.copy
16
16
  })).toJSON();