@comicrelief/component-library 7.22.0 → 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 (221) 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 +43 -50
  85. package/dist/components/Molecules/Promo/Promo.md +18 -35
  86. package/dist/components/Molecules/Promo/Promo.style.js +23 -41
  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 +42 -54
  90. package/dist/components/Molecules/Promo/_PromoVideoButton.js +5 -12
  91. package/dist/components/Molecules/Promo/_PromoVideoButton.style.js +33 -59
  92. package/dist/components/Molecules/Promo/__snapshots__/Promo.test.js.snap +116 -72
  93. package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +6 -23
  94. package/dist/components/Molecules/SchoolLookup/SchoolLookup.test.js +0 -5
  95. package/dist/components/Molecules/SearchInput/SearchInput.js +4 -12
  96. package/dist/components/Molecules/SearchInput/SearchInput.style.js +7 -25
  97. package/dist/components/Molecules/SearchInput/SearchInput.test.js +0 -5
  98. package/dist/components/Molecules/SearchResult/SearchResult.js +11 -25
  99. package/dist/components/Molecules/SearchResult/SearchResult.test.js +0 -6
  100. package/dist/components/Molecules/ShareButton/ShareButton.js +10 -23
  101. package/dist/components/Molecules/ShareButton/ShareButton.style.js +6 -21
  102. package/dist/components/Molecules/ShareButton/ShareButton.test.js +0 -5
  103. package/dist/components/Molecules/ShareButton/assets/ShareIcons.js +1 -6
  104. package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +4 -25
  105. package/dist/components/Molecules/SingleMessage/SingleMessage.js +48 -68
  106. package/dist/components/Molecules/SingleMessage/SingleMessage.style.js +19 -47
  107. package/dist/components/Molecules/SingleMessage/SingleMessage.test.js +0 -8
  108. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +22 -46
  109. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +13 -44
  110. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.test.js +0 -8
  111. package/dist/components/Molecules/Typeahead/Typeahead.js +25 -51
  112. package/dist/components/Molecules/Typeahead/Typeahead.test.js +0 -12
  113. package/dist/components/Molecules/VideoBanner/VideoBanner.js +14 -28
  114. package/dist/components/Molecules/VideoBanner/VideoBanner.test.js +0 -6
  115. package/dist/components/Organisms/CookieBanner/CookieBanner.js +3 -9
  116. package/dist/components/Organisms/CookieBanner/CookieBanner.style.js +6 -18
  117. package/dist/components/Organisms/CookieBanner/CookieBanner.test.js +0 -5
  118. package/dist/components/Organisms/Donate/Donate.js +36 -48
  119. package/dist/components/Organisms/Donate/Donate.style.js +23 -71
  120. package/dist/components/Organisms/Donate/Donate.test.js +0 -8
  121. package/dist/components/Organisms/Donate/Form/Form.js +53 -80
  122. package/dist/components/Organisms/Donate/Form/PopUpComponent.js +9 -27
  123. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.js +4 -12
  124. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.style.js +7 -25
  125. package/dist/components/Organisms/Donate/MoneyBuy/MoneyBuy.js +7 -21
  126. package/dist/components/Organisms/Donate/dev-data/data-high-value.js +2 -3
  127. package/dist/components/Organisms/Donate/dev-data/data-single.js +2 -3
  128. package/dist/components/Organisms/Donate/dev-data/data.js +2 -3
  129. package/dist/components/Organisms/EmailSignUp/EmailSignUp.style.js +12 -37
  130. package/dist/components/Organisms/EmailSignUp/EmailSignUp.test.js +0 -9
  131. package/dist/components/Organisms/EmailSignUp/EmailSignUpForm.js +3 -24
  132. package/dist/components/Organisms/EmailSignUp/_EmailSignUp.js +19 -32
  133. package/dist/components/Organisms/EmailSignUp/_EmailSignUpConfig.js +6 -18
  134. package/dist/components/Organisms/EmailSignUp/_TextInput.js +7 -16
  135. package/dist/components/Organisms/Footer/Footer.js +5 -17
  136. package/dist/components/Organisms/Footer/Footer.style.js +10 -35
  137. package/dist/components/Organisms/Footer/Footer.test.js +1 -7
  138. package/dist/components/Organisms/Footer/Nav/Nav.js +15 -39
  139. package/dist/components/Organisms/Footer/Nav/Nav.style.js +16 -37
  140. package/dist/components/Organisms/Footer/data/data.js +2 -3
  141. package/dist/components/Organisms/Footer/data/footerCopy.js +2 -3
  142. package/dist/components/Organisms/Header/Burger/BurgerMenu.js +3 -8
  143. package/dist/components/Organisms/Header/Burger/BurgerMenu.style.js +8 -19
  144. package/dist/components/Organisms/Header/Header.js +4 -14
  145. package/dist/components/Organisms/Header/Header.style.js +5 -22
  146. package/dist/components/Organisms/Header/Nav/Nav.js +19 -44
  147. package/dist/components/Organisms/Header/Nav/Nav.style.js +19 -46
  148. package/dist/components/Organisms/Header/data/data.js +2 -3
  149. package/dist/components/Organisms/Header/header.test.js +5 -2
  150. package/dist/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +61 -0
  151. package/dist/components/Organisms/ImpactSlider/ImpactSlider.js +71 -0
  152. package/dist/components/Organisms/ImpactSlider/ImpactSlider.md +42 -0
  153. package/dist/components/Organisms/ImpactSlider/ImpactSlider.style.js +56 -0
  154. package/dist/components/Organisms/ImpactSlider/Slider.style.js +30 -0
  155. package/dist/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +42 -0
  156. package/dist/components/Organisms/ImpactSlider/_Slider.js +32 -0
  157. package/dist/components/Organisms/ImpactSlider/_utils.js +30 -0
  158. package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDS.style.js +15 -54
  159. package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDSForm.js +11 -20
  160. package/dist/components/Organisms/MarketingPreferencesDS/_AssociatedFields.js +1 -2
  161. package/dist/components/Organisms/MarketingPreferencesDS/_CheckAnswer.js +12 -23
  162. package/dist/components/Organisms/MarketingPreferencesDS/_DefaultCopy.js +4 -14
  163. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPreferencesDS.js +23 -35
  164. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPrefsConfig.js +10 -19
  165. package/dist/components/Organisms/MarketingPreferencesDS/_TextInput.js +7 -16
  166. package/dist/components/Organisms/Membership/Form/Form.js +50 -83
  167. package/dist/components/Organisms/Membership/Membership.js +13 -21
  168. package/dist/components/Organisms/Membership/Membership.style.js +21 -63
  169. package/dist/components/Organisms/Membership/Membership.test.js +0 -7
  170. package/dist/components/Organisms/Membership/MoneyBox/MoneyBox.js +9 -21
  171. package/dist/components/Organisms/Membership/dev-data/data.js +2 -3
  172. package/dist/hoc/shallowWithTheme.js +0 -6
  173. package/dist/index.js +134 -187
  174. package/dist/styleguide/CRLogo.js +1 -9
  175. package/dist/styleguide/StyleGuideRenderer.js +6 -10
  176. package/dist/styleguide/ThemeWrapper.js +1 -8
  177. package/dist/styleguide/data/data.js +20 -5
  178. package/dist/theme/ThemeProvider.js +1 -5
  179. package/dist/theme/crTheme/buttonColors.js +2 -11
  180. package/dist/theme/crTheme/colors.js +3 -9
  181. package/dist/theme/crTheme/fontSizes.js +2 -6
  182. package/dist/theme/crTheme/linkStyles.js +2 -11
  183. package/dist/theme/crTheme/theme.js +2 -11
  184. package/dist/theme/shared/breakpoint.js +4 -9
  185. package/dist/theme/shared/fontFamilies.js +2 -7
  186. package/dist/theme/shared/hideVisually.js +1 -4
  187. package/dist/theme/shared/size.js +5 -11
  188. package/dist/theme/shared/spacing.js +1 -5
  189. package/dist/theme/shared/zIndex.js +1 -8
  190. package/dist/theme/srTheme/buttonColors.js +2 -11
  191. package/dist/theme/srTheme/colors.js +3 -9
  192. package/dist/theme/srTheme/fontSizes.js +2 -6
  193. package/dist/theme/srTheme/linkStyles.js +2 -11
  194. package/dist/theme/srTheme/theme.js +2 -11
  195. package/dist/utils/Membership.js +11 -28
  196. package/dist/utils/ShareButton/sharePopUpHelper.js +3 -8
  197. package/dist/utils/ShareButton/shareTracking.js +1 -5
  198. package/dist/utils/ShareButton/shareUrlHelper.js +3 -5
  199. package/dist/utils/allowListed.js +1 -5
  200. package/dist/utils/allowListed.test.js +0 -2
  201. package/dist/utils/internalLinkHelper.js +11 -20
  202. package/dist/utils/navHelper.js +1 -6
  203. package/package.json +2 -1
  204. package/react-range-slider-input.d.ts +2 -0
  205. package/src/components/Molecules/Promo/Promo.js +14 -8
  206. package/src/components/Molecules/Promo/Promo.md +18 -35
  207. package/src/components/Molecules/Promo/Promo.style.js +28 -16
  208. package/src/components/Molecules/Promo/_PromoVideo.js +13 -8
  209. package/src/components/Molecules/Promo/_PromoVideoButton.js +1 -1
  210. package/src/components/Molecules/Promo/_PromoVideoButton.style.js +26 -21
  211. package/src/components/Molecules/Promo/__snapshots__/Promo.test.js.snap +116 -72
  212. package/src/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +96 -0
  213. package/src/components/Organisms/ImpactSlider/ImpactSlider.js +92 -0
  214. package/src/components/Organisms/ImpactSlider/ImpactSlider.md +42 -0
  215. package/src/components/Organisms/ImpactSlider/ImpactSlider.style.js +72 -0
  216. package/src/components/Organisms/ImpactSlider/Slider.style.js +70 -0
  217. package/src/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +43 -0
  218. package/src/components/Organisms/ImpactSlider/_Slider.js +39 -0
  219. package/src/components/Organisms/ImpactSlider/_utils.js +32 -0
  220. package/src/index.js +1 -0
  221. package/src/styleguide/data/data.js +26 -1
@@ -1,7 +1,8 @@
1
1
  Promo
2
2
 
3
3
  ```js
4
- const defaultData = require('../../../styleguide/data/data').defaultData;import Text from '../../Atoms/Text/Text';
4
+ const defaultData = require('../../../styleguide/data/data').defaultData;
5
+ import Text from '../../Atoms/Text/Text';
5
6
  import Link from '../../Atoms/Link/Link';
6
7
 
7
8
  <div>
@@ -15,7 +16,6 @@ import Link from '../../Atoms/Link/Link';
15
16
  imageLow={defaultData.promoImage}
16
17
  imageAltText=""
17
18
  copyLeft={true}
18
- hasOverlay={true}
19
19
  position="upper"
20
20
  >
21
21
  <Text
@@ -51,7 +51,6 @@ import Link from '../../Atoms/Link/Link';
51
51
  imageLow={defaultData.promoImage}
52
52
  imageAltText=""
53
53
  copyLeft={true}
54
- hasOverlay={true}
55
54
  position="end"
56
55
  >
57
56
  <Text
@@ -87,7 +86,6 @@ import Link from '../../Atoms/Link/Link';
87
86
  imageLow={defaultData.promoImage}
88
87
  imageAltText=""
89
88
  copyLeft={true}
90
- hasOverlay={true}
91
89
  position="lower"
92
90
  >
93
91
  <Text
@@ -123,7 +121,6 @@ import Link from '../../Atoms/Link/Link';
123
121
  imageLow={defaultData.promoImage}
124
122
  imageAltText=""
125
123
  copyLeft={true}
126
- hasOverlay={true}
127
124
  >
128
125
  <Text
129
126
  tag="h1"
@@ -164,7 +161,7 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
164
161
 
165
162
  <div>
166
163
  <Text tag="h2" size="xl" color="black">
167
- Promo Upper w/Video (autoplay and loop)
164
+ Promo Upper w/Video (autoplay and loop, black text gradient overlay)
168
165
  </Text>
169
166
  <Promo
170
167
  backgroundColor="blue_dark"
@@ -173,12 +170,12 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
173
170
  imageLow={defaultData.promoImage}
174
171
  imageAltText=""
175
172
  copyLeft={true}
176
- hasOverlay={true}
177
173
  position="upper"
178
174
  videoSrc={videoSrc}
179
175
  poster={poster}
180
176
  loop={true}
181
177
  autoplay={true}
178
+ behindTextGradient='black'
182
179
  >
183
180
  <Text
184
181
  tag="h1"
@@ -206,7 +203,7 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
206
203
  <br />
207
204
 
208
205
  <Text tag="h2" size="xl" color="black">
209
- Promo End w/Video (loop only)
206
+ Promo End w/Video (loop only, no text gradient overlay)
210
207
  </Text>
211
208
  <Promo
212
209
  backgroundColor="blue_dark"
@@ -215,7 +212,6 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
215
212
  imageLow={defaultData.promoImage}
216
213
  imageAltText=""
217
214
  copyLeft={true}
218
- hasOverlay={true}
219
215
  position="end"
220
216
  videoSrc={videoSrc}
221
217
  poster={poster}
@@ -248,25 +244,25 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
248
244
  <br />
249
245
 
250
246
  <Text tag="h2" size="xl" color="black">
251
- Promo Lower w/Video (autoplay only)
247
+ Promo Lower w/Video (autoplay only, white text gradient overlay)
252
248
  </Text>
253
249
  <Promo
254
- backgroundColor="blue_dark"
250
+ backgroundColor="blue_light"
255
251
  imageSet={defaultData.promoImage}
256
252
  image={defaultData.promoImage}
257
253
  imageLow={defaultData.promoImage}
258
254
  imageAltText=""
259
255
  copyLeft={true}
260
- hasOverlay={true}
261
256
  position="lower"
262
257
  videoSrc={videoSrc}
263
258
  poster={poster}
264
259
  loop={false}
265
260
  autoPlay={true}
261
+ behindTextGradient='white'
266
262
  >
267
263
  <Text
268
264
  tag="h1"
269
- color="white"
265
+ color="black"
270
266
  size="super"
271
267
  family="Anton"
272
268
  uppercase
@@ -274,12 +270,12 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
274
270
  >
275
271
  Curabitur pretium tincidunt lacus
276
272
  </Text>
277
- <Text tag="p" color="white">
273
+ <Text tag="p" color="black">
278
274
  Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius,
279
275
  turpis et commodo, est eros bibendum elit, nec luctus magna sollicitudin.
280
276
  </Text>
281
277
  <span>
282
- <Link href="/" type="button" color="white">
278
+ <Link href="/" type="button" color="black">
283
279
  <Text>
284
280
  Show me this
285
281
  </Text>
@@ -289,7 +285,7 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
289
285
 
290
286
  <br />
291
287
  <Text tag="h2" size="xl" color="black">
292
- Promo None w/Video (no loop or autoplay)
288
+ Promo None w/Video (no loop or autoplay, no text gradient overlay, copy right aligned)
293
289
  </Text>
294
290
  <Promo
295
291
  backgroundColor="blue_dark"
@@ -298,7 +294,6 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
298
294
  imageLow={defaultData.promoImage}
299
295
  imageAltText=""
300
296
  copyLeft={false}
301
- hasOverlay={true}
302
297
  videoSrc={videoSrc}
303
298
  poster={poster}
304
299
  loop={false}
@@ -328,7 +323,7 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
328
323
  </Promo>
329
324
 
330
325
  <Text tag="h2" size="xl" color="black">
331
- Promo None w/Video (no loop or autoplay, 'light-coloured video' setting, different videos and posters for mobile and desktop)
326
+ Promo None w/Video (no loop or autoplay, white text gradient overlay, different videos and posters for mobile and desktop)
332
327
  </Text>
333
328
  <Promo
334
329
  backgroundColor="blue_light"
@@ -337,14 +332,13 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
337
332
  imageLow={defaultData.promoImage}
338
333
  imageAltText=""
339
334
  copyLeft={true}
340
- hasOverlay={true}
341
335
  videoSrc={videoSrc}
342
336
  mobileVideoSrc={mobileVideoSrc}
343
337
  poster={poster}
344
338
  mobilePoster={mobilePoster}
345
339
  loop={false}
346
340
  autoPlay={false}
347
- lightColouredVideo={true}
341
+ behindTextGradient='white'
348
342
  >
349
343
  <Text
350
344
  tag="h1"
@@ -370,7 +364,7 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
370
364
  </Promo>
371
365
 
372
366
  <Text tag="h2" size="xl" color="black">
373
- Promo None w/Video (no loop or autoplay, 'light-coloured video' setting, mobile-only video and poster)
367
+ Promo None w/Video (no loop or autoplay, white text gradient overlay, mobile-only video and poster, black play button)
374
368
  </Text>
375
369
  <Promo
376
370
  backgroundColor="blue_light"
@@ -379,12 +373,12 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
379
373
  imageLow={defaultData.promoImage}
380
374
  imageAltText=""
381
375
  copyLeft={true}
382
- hasOverlay={true}
383
376
  mobileVideoSrc={mobileVideoSrc}
384
377
  mobilePoster={mobilePoster}
385
378
  loop={false}
386
379
  autoPlay={false}
387
- lightColouredVideo={true}
380
+ behindTextGradient='white'
381
+ blackPlayButton={true}
388
382
  >
389
383
  <Text
390
384
  tag="h1"
@@ -394,19 +388,8 @@ let mobileVideoSrc = 'https://samplelib.com/lib/preview/mp4/sample-10s.mp4';
394
388
  uppercase
395
389
  weight="normal"
396
390
  >
397
- Curabitur pretium tincidunt lacus
391
+ One-Line Special
398
392
  </Text>
399
- <Text tag="p" color="black">
400
- Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius,
401
- turpis et commodo, est eros bibendum elit, nec luctus magna sollicitudin.
402
- </Text>
403
- <span>
404
- <Link href="/" type="button" color="black">
405
- <Text>
406
- Show me this
407
- </Text>
408
- </Link>
409
- </span>
410
393
  </Promo>
411
394
 
412
395
  </div>
@@ -1,30 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.Video = exports.Media = exports.Copy = exports.Wrapper = exports.Container = void 0;
9
-
7
+ exports.Wrapper = exports.Video = exports.Media = exports.Gradient = exports.Copy = exports.Container = void 0;
10
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
-
12
9
  var _size = require("../../../theme/shared/size");
13
-
14
10
  var _spacing = _interopRequireDefault(require("../../../theme/shared/spacing"));
15
-
16
11
  var _zIndex = _interopRequireDefault(require("../../../theme/shared/zIndex"));
17
-
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
- var Container = _styledComponents.default.div.withConfig({
12
+ 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); }
13
+ 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; }
14
+ var Container = exports.Container = _styledComponents.default.div.withConfig({
23
15
  displayName: "Promostyle__Container",
24
16
  componentId: "sc-kk4nna-0"
25
17
  })(["width:100%;display:flex;position:relative;flex-direction:column;overflow:hidden;background:", ";", "{flex-direction:row;}", " ", " ", ""], function (_ref) {
26
18
  var theme = _ref.theme,
27
- backgroundColor = _ref.backgroundColor;
19
+ backgroundColor = _ref.backgroundColor;
28
20
  return theme.color(backgroundColor);
29
21
  }, (0, _size.media)('medium'), function (_ref2) {
30
22
  var position = _ref2.position;
@@ -36,44 +28,25 @@ var Container = _styledComponents.default.div.withConfig({
36
28
  var position = _ref4.position;
37
29
  return position === 'end' && (0, _styledComponents.css)(["clip-path:polygon(0 0,100% 0,100% 90%,0 101%);border-radius:0 0 0 2rem;", "{clip-path:polygon(0 0,100% 0,100% 85%,0% 101%);border-radius:0 0 0 4rem;}"], (0, _size.media)('medium'));
38
30
  });
39
-
40
- exports.Container = Container;
41
-
42
- var Wrapper = _styledComponents.default.div.withConfig({
31
+ var Wrapper = exports.Wrapper = _styledComponents.default.div.withConfig({
43
32
  displayName: "Promostyle__Wrapper",
44
33
  componentId: "sc-kk4nna-1"
45
- })(["width:100%;max-width:", ";height:100%;left:0;right:0;margin:0 auto;display:flex;align-items:center;", ";", "{min-height:calc(100vh - 90px);}"], _size.container.medium, function (_ref5) {
34
+ })(["width:100%;max-width:", ";height:100%;left:0;right:0;margin:0 auto;display:flex;align-items:center;position:relative;", ";", "{min-height:calc(100vh - 90px);}"], _size.container.medium, function (_ref5) {
46
35
  var copyLeft = _ref5.copyLeft;
47
36
  return !copyLeft && 'justify-content: flex-end';
48
37
  }, (0, _size.media)('medium'));
49
-
50
- exports.Wrapper = Wrapper;
51
-
52
- var Copy = _styledComponents.default.div.withConfig({
38
+ var Copy = exports.Copy = _styledComponents.default.div.withConfig({
53
39
  displayName: "Promostyle__Copy",
54
40
  componentId: "sc-kk4nna-2"
55
- })(["width:100%;padding:", " ", " ", ";", ";", "{width:70%;padding:", " ", ";}", "{width:50%;padding:", " ", ";", " ", "}", ""], (0, _spacing.default)('m'), (0, _spacing.default)('m'), (0, _spacing.default)('xl'), (0, _zIndex.default)('low'), (0, _size.media)('medium'), (0, _spacing.default)('xl'), (0, _spacing.default)('m'), (0, _size.media)('medium'), (0, _spacing.default)('xxl'), (0, _spacing.default)('m'), function (_ref6) {
56
- var hasVideo = _ref6.hasVideo;
57
- return hasVideo !== false && (0, _styledComponents.css)(["background-color:rgba(0,0,0,0.75);overflow:hidden;box-shadow:0px 0px 75px 100px rgba(0,0,0,0.75);"]);
58
- }, function (_ref7) {
59
- var hasVideo = _ref7.hasVideo,
60
- lightColouredVideo = _ref7.lightColouredVideo;
61
- return hasVideo !== false && lightColouredVideo && (0, _styledComponents.css)(["background-color:rgba(255,255,255,0.75);box-shadow:0px 0px 75px 100px rgba(255,255,255,0.75);"]);
62
- }, function (_ref8) {
63
- var position = _ref8.position;
41
+ })(["width:100%;padding:", " ", " ", ";", ";", "{width:100%;padding:", " ", ";}", ""], (0, _spacing.default)('m'), (0, _spacing.default)('m'), (0, _spacing.default)('xl'), (0, _zIndex.default)('low'), (0, _size.media)('medium'), (0, _spacing.default)('xxl'), (0, _spacing.default)('m'), function (_ref6) {
42
+ var position = _ref6.position;
64
43
  return position === 'lower' && (0, _styledComponents.css)(["padding:", " ", ";", "{padding:6rem ", ";margin-top:6rem;}"], (0, _spacing.default)('xl'), (0, _spacing.default)('m'), (0, _size.media)('medium'), (0, _spacing.default)('m'));
65
44
  });
66
-
67
- exports.Copy = Copy;
68
-
69
- var Media = _styledComponents.default.div.withConfig({
45
+ var Media = exports.Media = _styledComponents.default.div.withConfig({
70
46
  displayName: "Promostyle__Media",
71
47
  componentId: "sc-kk4nna-3"
72
48
  })(["width:100%;height:auto;img{object-position:center;}", "{height:100%;position:absolute;}"], (0, _size.media)('medium'));
73
-
74
- exports.Media = Media;
75
-
76
- var Video = _styledComponents.default.video.attrs(function () {
49
+ var Video = exports.Video = _styledComponents.default.video.attrs(function () {
77
50
  return {
78
51
  playsInline: true
79
52
  };
@@ -81,5 +54,14 @@ var Video = _styledComponents.default.video.attrs(function () {
81
54
  displayName: "Promostyle__Video",
82
55
  componentId: "sc-kk4nna-4"
83
56
  })(["width:100%;height:100%;object-fit:cover;"]);
84
-
85
- exports.Video = Video;
57
+ var Gradient = exports.Gradient = _styledComponents.default.div.withConfig({
58
+ displayName: "Promostyle__Gradient",
59
+ componentId: "sc-kk4nna-5"
60
+ })(["width:100%;height:100%;display:flex;align-items:center;", "{width:50%;position:absolute;top:0;left:0;", ";", ";}"], (0, _size.media)('medium'), function (_ref7) {
61
+ var copyLeft = _ref7.copyLeft;
62
+ return !copyLeft && (0, _styledComponents.css)(["left:auto;right:0;"]);
63
+ }, function (_ref8) {
64
+ var hasVideo = _ref8.hasVideo,
65
+ behindTextGradient = _ref8.behindTextGradient;
66
+ return hasVideo !== false && behindTextGradient !== 'none' && (0, _styledComponents.css)(["overflow:hidden;background-color:", ";box-shadow:0px 0px 50px 60px ", ";"], behindTextGradient === 'black' ? 'rgba(0,0,0,0.5)' : 'rgba(255, 255, 255, 0.5)', behindTextGradient === 'black' ? 'rgba(0,0,0,0.5)' : 'rgba(255, 255, 255, 0.5)');
67
+ });
@@ -1,21 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  require("jest-styled-components");
8
-
9
6
  var _shallowWithTheme = _interopRequireDefault(require("../../../hoc/shallowWithTheme"));
10
-
11
7
  var _Promo = _interopRequireDefault(require("./Promo"));
12
-
13
8
  var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
14
-
15
9
  var _Link = _interopRequireDefault(require("../../Atoms/Link/Link"));
16
-
17
10
  var defaultData = require('../../../styleguide/data/data').defaultData;
18
-
19
11
  it('renders Promo correctly', function () {
20
12
  var tree = (0, _shallowWithTheme.default)( /*#__PURE__*/_react.default.createElement(_Promo.default, {
21
13
  backgroundColor: "blue_dark",
@@ -1,39 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
11
-
12
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _PromoVideoButton = require("./_PromoVideoButton.style");
17
-
18
12
  var _excluded = ["videoProgress"];
19
-
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
13
+ 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); }
14
+ 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; }
24
15
  var ProgressRing = function ProgressRing(_ref) {
25
16
  var videoProgress = _ref.videoProgress,
26
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
17
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
27
18
  var thisStroke = 4;
28
19
  var thisRadius = 28;
29
20
  var initNormRadius = thisRadius - thisStroke * 2;
30
21
  var thisCircumference = initNormRadius * 2 * Math.PI;
31
-
32
22
  var _useState = (0, _react.useState)(initNormRadius * 2 * Math.PI),
33
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
- thisDashOffset = _useState2[0],
35
- setThisDashOffset = _useState2[1];
36
-
23
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
24
+ thisDashOffset = _useState2[0],
25
+ setThisDashOffset = _useState2[1];
37
26
  (0, _react.useEffect)(function () {
38
27
  var offset = thisCircumference - videoProgress / 100 * thisCircumference;
39
28
  setThisDashOffset(offset);
@@ -52,6 +41,4 @@ var ProgressRing = function ProgressRing(_ref) {
52
41
  cy: "".concat(thisRadius)
53
42
  }, rest))));
54
43
  };
55
-
56
- var _default = ProgressRing;
57
- exports.default = _default;
44
+ var _default = exports.default = ProgressRing;
@@ -1,101 +1,90 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _Promo = require("./Promo.style");
15
-
16
11
  var _PromoVideoButton = _interopRequireDefault(require("./_PromoVideoButton"));
17
-
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
12
+ 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); }
13
+ 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; }
22
14
  var PromoVideo = function PromoVideo(_ref) {
23
- var lightColouredVideo = _ref.lightColouredVideo,
24
- copyLeft = _ref.copyLeft,
25
- thisVideoSrc = _ref.thisVideoSrc,
26
- thisPoster = _ref.thisPoster,
27
- autoPlay = _ref.autoPlay,
28
- loop = _ref.loop,
29
- showPosterAfterPlaying = _ref.showPosterAfterPlaying;
30
-
15
+ var behindTextGradient = _ref.behindTextGradient,
16
+ copyLeft = _ref.copyLeft,
17
+ thisVideoSrc = _ref.thisVideoSrc,
18
+ thisPoster = _ref.thisPoster,
19
+ autoPlay = _ref.autoPlay,
20
+ loop = _ref.loop,
21
+ showPosterAfterPlaying = _ref.showPosterAfterPlaying,
22
+ blackPlayButton = _ref.blackPlayButton;
31
23
  var _useState = (0, _react.useState)(false),
32
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
- isPlaying = _useState2[0],
34
- setIsPlaying = _useState2[1];
35
-
24
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
+ isPlaying = _useState2[0],
26
+ setIsPlaying = _useState2[1];
36
27
  var _useState3 = (0, _react.useState)(false),
37
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
38
- isRestarting = _useState4[0],
39
- setIsRestarting = _useState4[1];
40
-
28
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
29
+ isRestarting = _useState4[0],
30
+ setIsRestarting = _useState4[1];
41
31
  var _useState5 = (0, _react.useState)(0),
42
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
43
- videoProgress = _useState6[0],
44
- setVideoProgress = _useState6[1];
45
-
32
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
33
+ videoProgress = _useState6[0],
34
+ setVideoProgress = _useState6[1];
46
35
  var videoEl = (0, _react.useRef)(null);
47
-
48
36
  var togglePlay = function togglePlay() {
49
- if (isPlaying) videoEl.current.pause();else videoEl.current.play();
50
- setIsPlaying(!isPlaying);
37
+ if (videoEl.current) {
38
+ if (isPlaying) videoEl.current.pause();else videoEl.current.play();
39
+ setIsPlaying(!isPlaying);
40
+ }
51
41
  };
52
-
53
42
  var updateTime = function updateTime() {
54
- if (videoEl.current.duration) {
43
+ if (videoEl.current && videoEl.current.duration) {
55
44
  // Calculate the percentage of the video played:
56
- var percentage = Math.round(videoEl.current.currentTime / videoEl.current.duration * 100); // Because a completely smooth animation is impossible with the 250ms-ish frequency of
45
+ var percentage = Math.round(videoEl.current.currentTime / videoEl.current.duration * 100);
46
+ // Because a completely smooth animation is impossible with the 250ms-ish frequency of
57
47
  // the 'timeupdate' event, we're electing to just update the ring every 25%.
58
-
59
48
  var nearest = 25;
60
49
  var roundedPercentage = percentage + nearest / 2 - (percentage + nearest / 2) % nearest;
61
50
  setVideoProgress(roundedPercentage);
62
51
  }
63
- }; // Only loads once the initial screensize check is complete
64
-
52
+ };
65
53
 
54
+ // Only loads once the initial screensize check is complete
66
55
  (0, _react.useEffect)(function () {
67
56
  // Use truthy comparison so either a null OR undefined value won't work
68
57
  if (thisVideoSrc != null) {
69
- videoEl.current.addEventListener('timeupdate', updateTime); // Trigger on-load autoplay if apppropriate
70
-
58
+ videoEl.current.addEventListener('timeupdate', updateTime);
59
+ // Trigger on-load autoplay if apppropriate
71
60
  if (autoPlay && !isPlaying) {
72
61
  togglePlay();
73
62
  }
74
-
75
63
  videoEl.current.addEventListener('ended', function () {
76
64
  // Used purely to halt the CSS animation:
77
- setIsRestarting(true); // If this is a non-looping video, add a listener to update our local state
78
- // once the video's ended, to let the user retrigger it manually:
65
+ setIsRestarting(true);
79
66
 
67
+ // If this is a non-looping video, add a listener to update our local state
68
+ // once the video's ended, to let the user retrigger it manually:
80
69
  if (!loop) {
81
70
  setIsPlaying(false);
82
- setVideoProgress(0); // Reload the video to show the poster image:
83
-
71
+ setVideoProgress(0);
72
+ // Reload the video to show the poster image:
84
73
  if (showPosterAfterPlaying) videoEl.current.load();
85
74
  } else {
86
75
  // Rather than using the Video 'loop' property, we retrigger
87
76
  // it in *code* as there's no 'restarted' to hook into:
88
77
  togglePlay();
89
- } // Grace period to allow the animation to reset
90
-
78
+ }
91
79
 
80
+ // Grace period to allow the animation to reset
92
81
  setTimeout(function () {
93
82
  setIsRestarting(false);
94
83
  }, 100);
95
84
  });
96
- } // CERTAINLY don't want this re-running for EACH of these variable updates, sorry Lint...
85
+ }
86
+ // CERTAINLY don't want this re-running for EACH of these variable updates, sorry Lint...
97
87
  // eslint-disable-next-line react-hooks/exhaustive-deps
98
-
99
88
  }, [thisVideoSrc]);
100
89
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Promo.Video, {
101
90
  ref: videoEl,
@@ -107,10 +96,9 @@ var PromoVideo = function PromoVideo(_ref) {
107
96
  videoProgress: videoProgress,
108
97
  togglePlay: togglePlay,
109
98
  isPlaying: isPlaying,
110
- lightColouredVideo: lightColouredVideo,
99
+ behindTextGradient: behindTextGradient,
100
+ blackPlayButton: blackPlayButton,
111
101
  isRestarting: isRestarting
112
102
  }));
113
103
  };
114
-
115
- var _default = PromoVideo;
116
- exports.default = _default;
104
+ var _default = exports.default = PromoVideo;
@@ -1,31 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _ProgressRing = _interopRequireDefault(require("./_ProgressRing"));
15
-
16
11
  var _PromoVideoButton = require("./_PromoVideoButton.style");
17
-
18
12
  var _excluded = ["togglePlay"];
19
-
20
13
  var PromoVideoButton = function PromoVideoButton(_ref) {
21
14
  var togglePlay = _ref.togglePlay,
22
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
23
- return /*#__PURE__*/_react.default.createElement(_PromoVideoButton.PlayButtonWrapper, null, /*#__PURE__*/_react.default.createElement(_PromoVideoButton.PlayButton, Object.assign({
15
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
16
+ return /*#__PURE__*/_react.default.createElement(_PromoVideoButton.PlayButtonWrapper, {
17
+ className: "weewee"
18
+ }, /*#__PURE__*/_react.default.createElement(_PromoVideoButton.PlayButton, Object.assign({
24
19
  onClick: function onClick() {
25
20
  togglePlay();
26
21
  }
27
22
  }, rest), /*#__PURE__*/_react.default.createElement(_PromoVideoButton.Icon, rest), /*#__PURE__*/_react.default.createElement(_ProgressRing.default, rest)));
28
23
  };
29
-
30
- var _default = PromoVideoButton;
31
- exports.default = _default;
24
+ var _default = exports.default = PromoVideoButton;