@comicrelief/component-library 7.24.0 → 7.24.2

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 (278) 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 +3 -3
  46. package/dist/components/Atoms/SocialIcons/Utils/Links.js +19 -20
  47. package/dist/components/Atoms/SocialIcons/assets/X-white-Subtract.svg +3 -0
  48. package/dist/components/Atoms/Text/Text.js +62 -41
  49. package/dist/components/Atoms/Text/Text.test.js +11 -11
  50. package/dist/components/Atoms/TextArea/TextArea.js +18 -17
  51. package/dist/components/Atoms/TextArea/TextArea.test.js +3 -3
  52. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +69 -86
  53. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.style.js +23 -15
  54. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.test.js +15 -19
  55. package/dist/components/Molecules/Accordion/Accordion.js +35 -32
  56. package/dist/components/Molecules/Accordion/Accordion.test.js +3 -3
  57. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.js +81 -52
  58. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.test.js +5 -5
  59. package/dist/components/Molecules/Banner/Banner.js +21 -13
  60. package/dist/components/Molecules/Banner/Banner.test.js +3 -3
  61. package/dist/components/Molecules/Box/Box.js +33 -27
  62. package/dist/components/Molecules/Box/Box.test.js +5 -5
  63. package/dist/components/Molecules/Card/Card.js +22 -22
  64. package/dist/components/Molecules/Card/Card.test.js +5 -5
  65. package/dist/components/Molecules/CardDs/CardDs.js +80 -55
  66. package/dist/components/Molecules/CardDs/CardDs.test.js +3 -3
  67. package/dist/components/Molecules/Chip/Chip.js +8 -6
  68. package/dist/components/Molecules/Chip/Chip.style.js +48 -28
  69. package/dist/components/Molecules/Chip/Chip.test.js +4 -6
  70. package/dist/components/Molecules/Countdown/Countdown.js +28 -36
  71. package/dist/components/Molecules/Countdown/Countdown.style.js +3 -3
  72. package/dist/components/Molecules/Descriptor/Descriptor.js +32 -26
  73. package/dist/components/Molecules/Descriptor/Descriptor.test.js +5 -5
  74. package/dist/components/Molecules/DoubleCopy/DoubleCopy.js +6 -4
  75. package/dist/components/Molecules/DoubleCopy/DoubleCopy.style.js +7 -5
  76. package/dist/components/Molecules/DoubleCopy/DoubleCopy.test.js +4 -4
  77. package/dist/components/Molecules/HeroBanner/HeroBanner.js +13 -17
  78. package/dist/components/Molecules/InfoBanner/InfoBanner.js +22 -18
  79. package/dist/components/Molecules/InfoBanner/InfoBanner.test.js +10 -10
  80. package/dist/components/Molecules/Logos/Logos.js +26 -14
  81. package/dist/components/Molecules/Logos/Logos.md +5 -0
  82. package/dist/components/Molecules/Lookup/Lookup.js +49 -84
  83. package/dist/components/Molecules/PartnerLink/PartnerLink.js +10 -11
  84. package/dist/components/Molecules/PartnerLink/PartnerLink.style.js +15 -9
  85. package/dist/components/Molecules/PartnerLink/PartnerLink.test.js +3 -3
  86. package/dist/components/Molecules/Promo/Promo.js +30 -36
  87. package/dist/components/Molecules/Promo/Promo.style.js +44 -31
  88. package/dist/components/Molecules/Promo/Promo.test.js +6 -6
  89. package/dist/components/Molecules/Promo/_ProgressRing.js +13 -19
  90. package/dist/components/Molecules/Promo/_PromoVideo.js +25 -34
  91. package/dist/components/Molecules/Promo/_PromoVideoButton.js +7 -7
  92. package/dist/components/Molecules/Promo/_PromoVideoButton.style.js +68 -41
  93. package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +29 -52
  94. package/dist/components/Molecules/SchoolLookup/SchoolLookup.test.js +4 -4
  95. package/dist/components/Molecules/SearchInput/SearchInput.js +8 -8
  96. package/dist/components/Molecules/SearchInput/SearchInput.style.js +22 -14
  97. package/dist/components/Molecules/SearchInput/SearchInput.test.js +4 -4
  98. package/dist/components/Molecules/SearchResult/SearchResult.js +43 -29
  99. package/dist/components/Molecules/SearchResult/SearchResult.test.js +9 -9
  100. package/dist/components/Molecules/ShareButton/ShareButton.js +22 -26
  101. package/dist/components/Molecules/ShareButton/ShareButton.style.js +5 -5
  102. package/dist/components/Molecules/ShareButton/ShareButton.test.js +3 -3
  103. package/dist/components/Molecules/ShareButton/assets/ShareIcons.js +2 -2
  104. package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +28 -55
  105. package/dist/components/Molecules/SingleMessage/SingleMessage.js +99 -123
  106. package/dist/components/Molecules/SingleMessage/SingleMessage.style.js +132 -81
  107. package/dist/components/Molecules/SingleMessage/SingleMessage.test.js +13 -13
  108. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +31 -40
  109. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +85 -49
  110. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.test.js +3 -3
  111. package/dist/components/Molecules/Typeahead/Typeahead.js +47 -84
  112. package/dist/components/Molecules/Typeahead/Typeahead.test.js +12 -35
  113. package/dist/components/Molecules/VideoBanner/VideoBanner.js +20 -25
  114. package/dist/components/Molecules/VideoBanner/VideoBanner.test.js +4 -4
  115. package/dist/components/Organisms/CookieBanner/CookieBanner.js +7 -5
  116. package/dist/components/Organisms/CookieBanner/CookieBanner.style.js +21 -13
  117. package/dist/components/Organisms/CookieBanner/CookieBanner.test.js +5 -5
  118. package/dist/components/Organisms/Donate/Donate.js +34 -37
  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 +53 -78
  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/Atoms/SocialIcons/Utils/Icons.js +1 -1
  218. package/src/components/Atoms/SocialIcons/assets/X-white-Subtract.svg +3 -0
  219. package/src/components/Molecules/Logos/Logos.js +18 -6
  220. package/src/components/Molecules/Logos/Logos.md +5 -0
  221. package/src/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +3 -4
  222. package/src/components/Organisms/Membership/Membership.test.js +1 -1
  223. package/cypress/e2e/components/atoms/button.cy.js +0 -102
  224. package/cypress/e2e/components/atoms/buttonWithStates.cy.js +0 -47
  225. package/cypress/e2e/components/atoms/checkbox.cy.js +0 -70
  226. package/cypress/e2e/components/atoms/confetti.cy.js +0 -46
  227. package/cypress/e2e/components/atoms/errorText.cy.js +0 -45
  228. package/cypress/e2e/components/atoms/input.cy.js +0 -157
  229. package/cypress/e2e/components/atoms/label.cy.js +0 -93
  230. package/cypress/e2e/components/atoms/link.cy.js +0 -190
  231. package/cypress/e2e/components/atoms/logo.cy.js +0 -132
  232. package/cypress/e2e/components/atoms/pagination.cy.js +0 -191
  233. package/cypress/e2e/components/atoms/picture.cy.js +0 -130
  234. package/cypress/e2e/components/atoms/radioButton.cy.js +0 -76
  235. package/cypress/e2e/components/atoms/richText.cy.js +0 -70
  236. package/cypress/e2e/components/atoms/select.cy.js +0 -84
  237. package/cypress/e2e/components/atoms/socialIcons.cy.js +0 -162
  238. package/cypress/e2e/components/atoms/text.cy.js +0 -169
  239. package/cypress/e2e/components/atoms/textArea.cy.js +0 -89
  240. package/cypress/e2e/components/atoms/textInputWithDrop.cy.js +0 -76
  241. package/cypress/e2e/components/molecules/accordion.cy.js +0 -67
  242. package/cypress/e2e/components/molecules/articleTeaser.cy.js +0 -105
  243. package/cypress/e2e/components/molecules/banner.cy.js +0 -67
  244. package/cypress/e2e/components/molecules/box.cy.js +0 -104
  245. package/cypress/e2e/components/molecules/card.cy.js +0 -105
  246. package/cypress/e2e/components/molecules/cardDs.cy.js +0 -198
  247. package/cypress/e2e/components/molecules/chip.cy.js +0 -68
  248. package/cypress/e2e/components/molecules/countdown.cy.js +0 -71
  249. package/cypress/e2e/components/molecules/descriptor.cy.js +0 -142
  250. package/cypress/e2e/components/molecules/doubleCopy.cy.js +0 -79
  251. package/cypress/e2e/components/molecules/heroBanner.cy.js +0 -69
  252. package/cypress/e2e/components/molecules/infoBanner.cy.js +0 -69
  253. package/cypress/e2e/components/molecules/partnerLink.cy.js +0 -68
  254. package/cypress/e2e/components/molecules/promo.cy.js +0 -74
  255. package/cypress/e2e/components/molecules/schoolLookup.cy.js +0 -83
  256. package/cypress/e2e/components/molecules/searchInput.cy.js +0 -72
  257. package/cypress/e2e/components/molecules/searchResult.cy.js +0 -191
  258. package/cypress/e2e/components/molecules/shareButton.cy.js +0 -76
  259. package/cypress/e2e/components/molecules/simpleSchoolLookup.cy.js +0 -83
  260. package/cypress/e2e/components/molecules/singleMessage.cy.js +0 -502
  261. package/cypress/e2e/components/molecules/singleMessageDs.cy.js +0 -234
  262. package/cypress/e2e/components/molecules/typeahead.cy.js +0 -97
  263. package/cypress/e2e/components/molecules/videoBanner.cy.js +0 -132
  264. package/cypress/e2e/components/organisms/cookieBanner.cy.js +0 -80
  265. package/cypress/e2e/components/organisms/donate.cy.js +0 -284
  266. package/cypress/e2e/components/organisms/emailSignUp.cy.js +0 -54
  267. package/cypress/e2e/components/organisms/footer.cy.js +0 -168
  268. package/cypress/e2e/components/organisms/header.cy.js +0 -138
  269. package/cypress/e2e/components/organisms/impactSlider.cy.js +0 -72
  270. package/cypress/e2e/components/organisms/marketingPreferencesDSForm.cy.js +0 -589
  271. package/cypress/e2e/components/organisms/membership.cy.js +0 -122
  272. package/cypress/fixtures/example.json +0 -5
  273. package/cypress/plugins/index.js +0 -21
  274. package/cypress/support/commands.js +0 -25
  275. package/cypress/support/e2e.js +0 -36
  276. package/cypress.config.js +0 -15
  277. package/dist/components/Atoms/SocialIcons/assets/x-logo.svg +0 -3
  278. package/src/components/Atoms/SocialIcons/assets/x-logo.svg +0 -3
@@ -1,65 +1,36 @@
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
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
11
8
  var _react = _interopRequireDefault(require("react"));
12
9
  var _axios = _interopRequireDefault(require("axios"));
13
10
  var _Lookup = _interopRequireDefault(require("../Lookup/Lookup"));
14
- var _excluded = ["onSelect", "noResultsMessage"];
15
- var schoolFetcher = /*#__PURE__*/function () {
16
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(query) {
17
- var res;
18
- return _regenerator.default.wrap(function _callee$(_context) {
19
- while (1) {
20
- switch (_context.prev = _context.next) {
21
- case 0:
22
- if (!(!query || !query.trim())) {
23
- _context.next = 2;
24
- break;
25
- }
26
- throw new Error('Please enter a search query');
27
- case 2:
28
- if (!(query.length < 2)) {
29
- _context.next = 4;
30
- break;
31
- }
32
- throw new Error('Please enter at least two characters');
33
- case 4:
34
- _context.prev = 4;
35
- _context.next = 7;
36
- return _axios.default.get('https://lookups.sls.comicrelief.com/schools/lookup', {
37
- timeout: 10000,
38
- params: {
39
- query: query
40
- }
41
- });
42
- case 7:
43
- res = _context.sent;
44
- return _context.abrupt("return", res.data.data.schools);
45
- case 11:
46
- _context.prev = 11;
47
- _context.t0 = _context["catch"](4);
48
- throw new Error('Sorry, something unexpected went wrong. Please try again or enter your school manually');
49
- case 14:
50
- case "end":
51
- return _context.stop();
52
- }
11
+ const schoolFetcher = async query => {
12
+ if (!query || !query.trim()) {
13
+ throw new Error('Please enter a search query');
14
+ }
15
+ if (query.length < 2) {
16
+ throw new Error('Please enter at least two characters');
17
+ }
18
+ try {
19
+ const res = await _axios.default.get('https://lookups.sls.comicrelief.com/schools/lookup', {
20
+ timeout: 10000,
21
+ params: {
22
+ query
53
23
  }
54
- }, _callee, null, [[4, 11]]);
55
- }));
56
- return function schoolFetcher(_x) {
57
- return _ref.apply(this, arguments);
58
- };
59
- }();
60
- var schoolToString = function schoolToString(school) {
61
- return "".concat(school.name, ", ").concat(school.post_code);
24
+ });
25
+ return res.data.data.schools;
26
+ } catch (error) {
27
+ // if (typeof Sentry !== 'undefined') {
28
+ // Sentry.captureException(error);
29
+ // }
30
+ throw new Error('Sorry, something unexpected went wrong. Please try again or enter your school manually');
31
+ }
62
32
  };
33
+ const schoolToString = school => "".concat(school.name, ", ").concat(school.post_code);
63
34
 
64
35
  /**
65
36
  * The component library's school lookup component uses a typeahead/search-as-you-type approach.
@@ -73,10 +44,12 @@ var schoolToString = function schoolToString(school) {
73
44
  * @returns {JSX.Element}
74
45
  * @constructor
75
46
  */
76
- var SimpleSchoolLookup = function SimpleSchoolLookup(_ref2) {
77
- var onSelect = _ref2.onSelect,
78
- noResultsMessage = _ref2.noResultsMessage,
79
- rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
47
+ const SimpleSchoolLookup = _ref => {
48
+ let {
49
+ onSelect,
50
+ noResultsMessage,
51
+ ...rest
52
+ } = _ref;
80
53
  return /*#__PURE__*/_react.default.createElement(_Lookup.default, Object.assign({
81
54
  name: "school_lookup",
82
55
  label: "Enter the name or postcode of your organisation",
@@ -1,73 +1,55 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _youtubePlayer = _interopRequireDefault(require("youtube-player"));
11
11
  var _reactUid = require("react-uid");
12
12
  var _Picture = _interopRequireDefault(require("../../Atoms/Picture/Picture"));
13
13
  var _SingleMessage = require("./SingleMessage.style");
14
- 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); }
15
- 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; }
16
- var allPlayers = {};
14
+ const allPlayers = {};
17
15
 
18
16
  /* Single Message is our main component usually to build landing pages */
19
- var SingleMessage = function SingleMessage(_ref) {
20
- var backgroundColor = _ref.backgroundColor,
21
- copyFirst = _ref.copyFirst,
22
- imageLow = _ref.imageLow,
23
- imageSet = _ref.imageSet,
24
- image = _ref.image,
25
- imageSet2 = _ref.imageSet2,
26
- image2 = _ref.image2,
27
- imageAltText = _ref.imageAltText,
28
- imageAltText2 = _ref.imageAltText2,
29
- children = _ref.children,
30
- fullImage = _ref.fullImage,
31
- vhFull = _ref.vhFull,
32
- videoID = _ref.videoID,
33
- landscapeVideo = _ref.landscapeVideo;
34
- var hasImage = imageSet || false;
35
- var doubleImage = (imageSet || image) && (imageSet2 || image2);
36
- var hasVideo = !!(videoID !== null && videoID !== '');
17
+ const SingleMessage = _ref => {
18
+ let {
19
+ backgroundColor,
20
+ copyFirst,
21
+ imageLow,
22
+ imageSet,
23
+ image,
24
+ imageSet2,
25
+ image2,
26
+ imageAltText,
27
+ imageAltText2,
28
+ children,
29
+ fullImage,
30
+ vhFull,
31
+ videoID,
32
+ landscapeVideo
33
+ } = _ref;
34
+ const hasImage = imageSet || false;
35
+ const doubleImage = (imageSet || image) && (imageSet2 || image2);
36
+ const hasVideo = !!(videoID !== null && videoID !== '');
37
37
 
38
38
  // States to track video status
39
- var _useState = (0, _react.useState)(false),
40
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
41
- isInitialised = _useState2[0],
42
- setIsInitialised = _useState2[1];
43
- var _useState3 = (0, _react.useState)(false),
44
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
45
- isPlaying = _useState4[0],
46
- setIsPlaying = _useState4[1];
47
- var _useState5 = (0, _react.useState)(false),
48
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
49
- onPlay = _useState6[0],
50
- setOnPlay = _useState6[1];
51
- var _useState7 = (0, _react.useState)(false),
52
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
53
- isBuffering = _useState8[0],
54
- setIsBuffering = _useState8[1];
55
- var _useState9 = (0, _react.useState)(null),
56
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
57
- uniqueID = _useState10[0],
58
- setUniqueID = _useState10[1];
59
- var _useState11 = (0, _react.useState)(false),
60
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
61
- hasParentID = _useState12[0],
62
- setHasParentID = _useState12[1];
63
- var thisRef = (0, _react.useRef)(null);
64
- var isIOS = typeof navigator === 'object' ? /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream && !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform) : false;
39
+ const [isInitialised, setIsInitialised] = (0, _react.useState)(false);
40
+ const [isPlaying, setIsPlaying] = (0, _react.useState)(false);
41
+ const [onPlay, setOnPlay] = (0, _react.useState)(false);
42
+ const [isBuffering, setIsBuffering] = (0, _react.useState)(false);
43
+ const [uniqueID, setUniqueID] = (0, _react.useState)(null);
44
+ const [hasParentID, setHasParentID] = (0, _react.useState)(false);
45
+ const thisRef = (0, _react.useRef)(null);
46
+ const isIOS = typeof navigator === 'object' ? /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream && !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform) : false;
65
47
 
66
48
  // Break-out video markup into its own function
67
- var renderVideoPlayers = function renderVideoPlayers(thisRowID) {
49
+ const renderVideoPlayers = thisRowID => {
68
50
  // Store the dynamically-created UUID (from the main render func) in our state
69
51
  // so useEffect can access it
70
- var thisVideoID = "".concat(thisRowID, "__video");
52
+ const thisVideoID = "".concat(thisRowID, "__video");
71
53
  setUniqueID(thisVideoID);
72
54
  return /*#__PURE__*/_react.default.createElement(_SingleMessage.VideoWrapper, {
73
55
  isPlaying: isPlaying,
@@ -80,12 +62,12 @@ var SingleMessage = function SingleMessage(_ref) {
80
62
  };
81
63
 
82
64
  /* Waiting on a usable ref from render before setting our flag used in other functions */
83
- (0, _react.useEffect)(function () {
65
+ (0, _react.useEffect)(() => {
84
66
  setHasParentID(true);
85
67
  }, [thisRef]);
86
68
 
87
69
  /* Sets up YT players once all of the ID stuff is taken care of */
88
- (0, _react.useEffect)(function () {
70
+ (0, _react.useEffect)(() => {
89
71
  if (hasVideo && onPlay && uniqueID && !isInitialised) {
90
72
  setIsInitialised(true);
91
73
  // Switch state to ensure this only runs once per video row
@@ -101,14 +83,14 @@ var SingleMessage = function SingleMessage(_ref) {
101
83
  });
102
84
  }
103
85
  }, [hasVideo, isInitialised, uniqueID, videoID, onPlay]);
104
- var handlePlay = function handlePlay(thisUniqueID) {
86
+ const handlePlay = thisUniqueID => {
105
87
  setOnPlay(true);
106
88
  // Trigger play and update video state
107
- var thisVideoID = "".concat(thisUniqueID, "__video");
108
- setTimeout(function () {
89
+ const thisVideoID = "".concat(thisUniqueID, "__video");
90
+ setTimeout(() => {
109
91
  allPlayers[thisVideoID].playVideo();
110
92
  // Once video is playing, switch state to allow CSS to show/hide relevant layers
111
- allPlayers[thisVideoID].on('stateChange', function (event) {
93
+ allPlayers[thisVideoID].on('stateChange', event => {
112
94
  if (event.data === 1 && !isIOS || isIOS) {
113
95
  setIsBuffering(false);
114
96
  setIsPlaying(true);
@@ -120,78 +102,72 @@ var SingleMessage = function SingleMessage(_ref) {
120
102
 
121
103
  /* Dynamically retrieve ID that Gatsby has already baked into the page,
122
104
  need to null check for initial render */
123
- var getID = function getID(refWithID) {
124
- var thisID = refWithID !== null ? refWithID.getAttribute('id') : null;
105
+ const getID = refWithID => {
106
+ const thisID = refWithID !== null ? refWithID.getAttribute('id') : null;
125
107
  return thisID;
126
108
  };
127
109
  return (
128
110
  /*#__PURE__*/
129
111
  // Creates namespaced UUIDs for each row
130
112
  _react.default.createElement(_reactUid.UID, {
131
- name: function name(id) {
132
- return "single-msg__".concat(id);
133
- }
134
- }, function (id) {
135
- return /*#__PURE__*/_react.default.createElement(_SingleMessage.Container, {
136
- backgroundColor: backgroundColor,
137
- copyFirst: copyFirst,
138
- vhFull: vhFull,
139
- id: "".concat(id),
140
- isPlaying: isPlaying,
141
- hasVideo: hasVideo,
142
- landscapeVideo: landscapeVideo,
143
- fullImage: fullImage,
144
- ref: thisRef
145
- }, imageSet || imageSet2 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_SingleMessage.Media, {
146
- doubleImage: doubleImage,
147
- isPlaying: isPlaying,
148
- isBuffering: isBuffering,
149
- hasVideo: hasVideo,
150
- landscapeVideo: landscapeVideo,
151
- fullImage: fullImage,
152
- vhFull: vhFull
153
- }, hasVideo && hasParentID && renderVideoPlayers(getID(thisRef.current)), imageSet || image ? /*#__PURE__*/_react.default.createElement(_SingleMessage.Image, {
154
- doubleImage: doubleImage,
155
- vhFull: vhFull,
156
- isPlaying: isPlaying,
157
- isBuffering: isBuffering,
158
- hasVideo: hasVideo,
159
- fullImage: fullImage,
160
- landscapeVideo: landscapeVideo
161
- }, /*#__PURE__*/_react.default.createElement(_Picture.default, {
162
- alt: imageAltText,
163
- imageLow: imageLow,
164
- images: imageSet,
165
- image: image,
166
- objectFit: "cover",
167
- width: "100%",
168
- height: "100%"
169
- })) : null, imageSet2 || image2 ? /*#__PURE__*/_react.default.createElement(_SingleMessage.Image, {
170
- doubleImage: doubleImage,
171
- vhFull: vhFull
172
- }, /*#__PURE__*/_react.default.createElement(_Picture.default, {
173
- alt: imageAltText2,
174
- imageLow: imageLow,
175
- images: imageSet2,
176
- image: image2,
177
- objectFit: "cover",
178
- width: "100%",
179
- height: "100%"
180
- })) : null, hasVideo ? /*#__PURE__*/_react.default.createElement(_SingleMessage.PlayButton, {
181
- copyFirst: copyFirst,
182
- isPlaying: isPlaying,
183
- isBuffering: isBuffering,
184
- onClick: function onClick() {
185
- return handlePlay(getID(thisRef.current));
186
- }
187
- }, "Play video") : null)) : null, children ? /*#__PURE__*/_react.default.createElement(_SingleMessage.Copy, {
188
- fullImage: fullImage,
189
- hasImage: hasImage,
190
- copyFirst: copyFirst,
191
- hasVideo: hasVideo,
192
- vhFull: vhFull
193
- }, children) : null);
194
- })
113
+ name: id => "single-msg__".concat(id)
114
+ }, id => /*#__PURE__*/_react.default.createElement(_SingleMessage.Container, {
115
+ backgroundColor: backgroundColor,
116
+ copyFirst: copyFirst,
117
+ vhFull: vhFull,
118
+ id: "".concat(id),
119
+ isPlaying: isPlaying,
120
+ hasVideo: hasVideo,
121
+ landscapeVideo: landscapeVideo,
122
+ fullImage: fullImage,
123
+ ref: thisRef
124
+ }, imageSet || imageSet2 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_SingleMessage.Media, {
125
+ doubleImage: doubleImage,
126
+ isPlaying: isPlaying,
127
+ isBuffering: isBuffering,
128
+ hasVideo: hasVideo,
129
+ landscapeVideo: landscapeVideo,
130
+ fullImage: fullImage,
131
+ vhFull: vhFull
132
+ }, hasVideo && hasParentID && renderVideoPlayers(getID(thisRef.current)), imageSet || image ? /*#__PURE__*/_react.default.createElement(_SingleMessage.Image, {
133
+ doubleImage: doubleImage,
134
+ vhFull: vhFull,
135
+ isPlaying: isPlaying,
136
+ isBuffering: isBuffering,
137
+ hasVideo: hasVideo,
138
+ fullImage: fullImage,
139
+ landscapeVideo: landscapeVideo
140
+ }, /*#__PURE__*/_react.default.createElement(_Picture.default, {
141
+ alt: imageAltText,
142
+ imageLow: imageLow,
143
+ images: imageSet,
144
+ image: image,
145
+ objectFit: "cover",
146
+ width: "100%",
147
+ height: "100%"
148
+ })) : null, imageSet2 || image2 ? /*#__PURE__*/_react.default.createElement(_SingleMessage.Image, {
149
+ doubleImage: doubleImage,
150
+ vhFull: vhFull
151
+ }, /*#__PURE__*/_react.default.createElement(_Picture.default, {
152
+ alt: imageAltText2,
153
+ imageLow: imageLow,
154
+ images: imageSet2,
155
+ image: image2,
156
+ objectFit: "cover",
157
+ width: "100%",
158
+ height: "100%"
159
+ })) : null, hasVideo ? /*#__PURE__*/_react.default.createElement(_SingleMessage.PlayButton, {
160
+ copyFirst: copyFirst,
161
+ isPlaying: isPlaying,
162
+ isBuffering: isBuffering,
163
+ onClick: () => handlePlay(getID(thisRef.current))
164
+ }, "Play video") : null)) : null, children ? /*#__PURE__*/_react.default.createElement(_SingleMessage.Copy, {
165
+ fullImage: fullImage,
166
+ hasImage: hasImage,
167
+ copyFirst: copyFirst,
168
+ hasVideo: hasVideo,
169
+ vhFull: vhFull
170
+ }, children) : null))
195
171
  );
196
172
  };
197
173
  SingleMessage.defaultProps = {