@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.
- package/cypress/e2e/components/organisms/impactSlider.cy.js +72 -0
- package/dist/components/Atoms/Button/Button.js +4 -16
- package/dist/components/Atoms/Button/Button.test.js +0 -5
- package/dist/components/Atoms/ButtonWithStates/ButtonWithStates.js +14 -31
- package/dist/components/Atoms/Checkbox/Checkbox.js +4 -17
- package/dist/components/Atoms/Checkbox/Checkbox.test.js +0 -5
- package/dist/components/Atoms/Confetti/Confetti.js +8 -23
- package/dist/components/Atoms/Confetti/_TriggerConfetti.js +5 -13
- package/dist/components/Atoms/ErrorText/ErrorText.js +2 -14
- package/dist/components/Atoms/ErrorText/ErrorText.test.js +0 -5
- package/dist/components/Atoms/Icons/Arrow.js +7 -21
- package/dist/components/Atoms/Icons/AtSign.js +4 -14
- package/dist/components/Atoms/Icons/Chevron.js +7 -21
- package/dist/components/Atoms/Icons/Curve.js +1 -6
- package/dist/components/Atoms/Icons/Download.js +4 -14
- package/dist/components/Atoms/Icons/External.js +4 -14
- package/dist/components/Atoms/Icons/Favourite.js +4 -14
- package/dist/components/Atoms/Icons/Internal.js +4 -14
- package/dist/components/Atoms/Icons/index.js +14 -22
- package/dist/components/Atoms/Input/Input.js +15 -35
- package/dist/components/Atoms/Input/input.test.js +0 -5
- package/dist/components/Atoms/Label/Label.js +12 -24
- package/dist/components/Atoms/Link/Link.js +18 -35
- package/dist/components/Atoms/Link/Link.style.js +9 -25
- package/dist/components/Atoms/Link/Link.test.js +0 -6
- package/dist/components/Atoms/Logo/Logo.js +5 -22
- package/dist/components/Atoms/Logo/Logo.test.js +0 -5
- package/dist/components/Atoms/Pagination/Item/Item.js +3 -11
- package/dist/components/Atoms/Pagination/Item/Item.style.js +18 -30
- package/dist/components/Atoms/Pagination/List/List.js +10 -21
- package/dist/components/Atoms/Pagination/Pagination.js +25 -47
- package/dist/components/Atoms/Pagination/Pagination.test.js +0 -5
- package/dist/components/Atoms/Pagination/Utils/PaginationCalculator.js +14 -30
- package/dist/components/Atoms/Picture/Picture.js +19 -39
- package/dist/components/Atoms/Picture/Picture.test.js +0 -6
- package/dist/components/Atoms/RadioButton/RadioButton.js +6 -18
- package/dist/components/Atoms/RadioButton/RadioButton.test.js +0 -5
- package/dist/components/Atoms/RichText/RichText.js +4 -15
- package/dist/components/Atoms/RichText/RichText.test.js +0 -5
- package/dist/components/Atoms/Select/Select.js +19 -39
- package/dist/components/Atoms/Select/Select.test.js +0 -5
- package/dist/components/Atoms/SocialIcons/Icon/Icon.js +6 -18
- package/dist/components/Atoms/SocialIcons/SocialIcons.js +3 -17
- package/dist/components/Atoms/SocialIcons/SocialIcons.test.js +0 -5
- package/dist/components/Atoms/SocialIcons/Utils/Icons.js +2 -9
- package/dist/components/Atoms/SocialIcons/Utils/Links.js +2 -5
- package/dist/components/Atoms/Text/Text.js +16 -29
- package/dist/components/Atoms/Text/Text.test.js +0 -5
- package/dist/components/Atoms/TextArea/TextArea.js +10 -25
- package/dist/components/Atoms/TextArea/TextArea.test.js +0 -5
- package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +26 -53
- package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.style.js +8 -28
- package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.test.js +0 -6
- package/dist/components/Molecules/Accordion/Accordion.js +8 -29
- package/dist/components/Molecules/Accordion/Accordion.test.js +0 -6
- package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.js +14 -38
- package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.test.js +0 -6
- package/dist/components/Molecules/Banner/Banner.js +3 -13
- package/dist/components/Molecules/Banner/Banner.test.js +0 -6
- package/dist/components/Molecules/Box/Box.js +9 -22
- package/dist/components/Molecules/Box/Box.test.js +0 -6
- package/dist/components/Molecules/Card/Card.js +11 -24
- package/dist/components/Molecules/Card/Card.test.js +0 -6
- package/dist/components/Molecules/CardDs/CardDs.js +17 -41
- package/dist/components/Molecules/CardDs/CardDs.test.js +0 -7
- package/dist/components/Molecules/Chip/Chip.js +4 -10
- package/dist/components/Molecules/Chip/Chip.style.js +8 -48
- package/dist/components/Molecules/Chip/Chip.test.js +0 -6
- package/dist/components/Molecules/Countdown/Countdown.js +17 -32
- package/dist/components/Molecules/Countdown/Countdown.style.js +4 -13
- package/dist/components/Molecules/Descriptor/Descriptor.js +6 -50
- package/dist/components/Molecules/Descriptor/Descriptor.test.js +0 -5
- package/dist/components/Molecules/DoubleCopy/DoubleCopy.js +2 -8
- package/dist/components/Molecules/DoubleCopy/DoubleCopy.style.js +4 -13
- package/dist/components/Molecules/DoubleCopy/DoubleCopy.test.js +0 -6
- package/dist/components/Molecules/HeroBanner/HeroBanner.js +4 -13
- package/dist/components/Molecules/InfoBanner/InfoBanner.js +8 -19
- package/dist/components/Molecules/InfoBanner/InfoBanner.test.js +0 -5
- package/dist/components/Molecules/Logos/Logos.js +1 -11
- package/dist/components/Molecules/Lookup/Lookup.js +25 -57
- package/dist/components/Molecules/PartnerLink/PartnerLink.js +3 -14
- package/dist/components/Molecules/PartnerLink/PartnerLink.style.js +4 -13
- package/dist/components/Molecules/PartnerLink/PartnerLink.test.js +0 -7
- package/dist/components/Molecules/Promo/Promo.js +43 -50
- package/dist/components/Molecules/Promo/Promo.md +18 -35
- package/dist/components/Molecules/Promo/Promo.style.js +23 -41
- package/dist/components/Molecules/Promo/Promo.test.js +0 -8
- package/dist/components/Molecules/Promo/_ProgressRing.js +7 -20
- package/dist/components/Molecules/Promo/_PromoVideo.js +42 -54
- package/dist/components/Molecules/Promo/_PromoVideoButton.js +5 -12
- package/dist/components/Molecules/Promo/_PromoVideoButton.style.js +33 -59
- package/dist/components/Molecules/Promo/__snapshots__/Promo.test.js.snap +116 -72
- package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +6 -23
- package/dist/components/Molecules/SchoolLookup/SchoolLookup.test.js +0 -5
- package/dist/components/Molecules/SearchInput/SearchInput.js +4 -12
- package/dist/components/Molecules/SearchInput/SearchInput.style.js +7 -25
- package/dist/components/Molecules/SearchInput/SearchInput.test.js +0 -5
- package/dist/components/Molecules/SearchResult/SearchResult.js +11 -25
- package/dist/components/Molecules/SearchResult/SearchResult.test.js +0 -6
- package/dist/components/Molecules/ShareButton/ShareButton.js +10 -23
- package/dist/components/Molecules/ShareButton/ShareButton.style.js +6 -21
- package/dist/components/Molecules/ShareButton/ShareButton.test.js +0 -5
- package/dist/components/Molecules/ShareButton/assets/ShareIcons.js +1 -6
- package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +4 -25
- package/dist/components/Molecules/SingleMessage/SingleMessage.js +48 -68
- package/dist/components/Molecules/SingleMessage/SingleMessage.style.js +19 -47
- package/dist/components/Molecules/SingleMessage/SingleMessage.test.js +0 -8
- package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +22 -46
- package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +13 -44
- package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.test.js +0 -8
- package/dist/components/Molecules/Typeahead/Typeahead.js +25 -51
- package/dist/components/Molecules/Typeahead/Typeahead.test.js +0 -12
- package/dist/components/Molecules/VideoBanner/VideoBanner.js +14 -28
- package/dist/components/Molecules/VideoBanner/VideoBanner.test.js +0 -6
- package/dist/components/Organisms/CookieBanner/CookieBanner.js +3 -9
- package/dist/components/Organisms/CookieBanner/CookieBanner.style.js +6 -18
- package/dist/components/Organisms/CookieBanner/CookieBanner.test.js +0 -5
- package/dist/components/Organisms/Donate/Donate.js +36 -48
- package/dist/components/Organisms/Donate/Donate.style.js +23 -71
- package/dist/components/Organisms/Donate/Donate.test.js +0 -8
- package/dist/components/Organisms/Donate/Form/Form.js +53 -80
- package/dist/components/Organisms/Donate/Form/PopUpComponent.js +9 -27
- package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.js +4 -12
- package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.style.js +7 -25
- package/dist/components/Organisms/Donate/MoneyBuy/MoneyBuy.js +7 -21
- package/dist/components/Organisms/Donate/dev-data/data-high-value.js +2 -3
- package/dist/components/Organisms/Donate/dev-data/data-single.js +2 -3
- package/dist/components/Organisms/Donate/dev-data/data.js +2 -3
- package/dist/components/Organisms/EmailSignUp/EmailSignUp.style.js +12 -37
- package/dist/components/Organisms/EmailSignUp/EmailSignUp.test.js +0 -9
- package/dist/components/Organisms/EmailSignUp/EmailSignUpForm.js +3 -24
- package/dist/components/Organisms/EmailSignUp/_EmailSignUp.js +19 -32
- package/dist/components/Organisms/EmailSignUp/_EmailSignUpConfig.js +6 -18
- package/dist/components/Organisms/EmailSignUp/_TextInput.js +7 -16
- package/dist/components/Organisms/Footer/Footer.js +5 -17
- package/dist/components/Organisms/Footer/Footer.style.js +10 -35
- package/dist/components/Organisms/Footer/Footer.test.js +1 -7
- package/dist/components/Organisms/Footer/Nav/Nav.js +15 -39
- package/dist/components/Organisms/Footer/Nav/Nav.style.js +16 -37
- package/dist/components/Organisms/Footer/data/data.js +2 -3
- package/dist/components/Organisms/Footer/data/footerCopy.js +2 -3
- package/dist/components/Organisms/Header/Burger/BurgerMenu.js +3 -8
- package/dist/components/Organisms/Header/Burger/BurgerMenu.style.js +8 -19
- package/dist/components/Organisms/Header/Header.js +4 -14
- package/dist/components/Organisms/Header/Header.style.js +5 -22
- package/dist/components/Organisms/Header/Nav/Nav.js +19 -44
- package/dist/components/Organisms/Header/Nav/Nav.style.js +19 -46
- package/dist/components/Organisms/Header/data/data.js +2 -3
- package/dist/components/Organisms/Header/header.test.js +5 -2
- package/dist/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +61 -0
- package/dist/components/Organisms/ImpactSlider/ImpactSlider.js +71 -0
- package/dist/components/Organisms/ImpactSlider/ImpactSlider.md +42 -0
- package/dist/components/Organisms/ImpactSlider/ImpactSlider.style.js +56 -0
- package/dist/components/Organisms/ImpactSlider/Slider.style.js +30 -0
- package/dist/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +42 -0
- package/dist/components/Organisms/ImpactSlider/_Slider.js +32 -0
- package/dist/components/Organisms/ImpactSlider/_utils.js +30 -0
- package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDS.style.js +15 -54
- package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDSForm.js +11 -20
- package/dist/components/Organisms/MarketingPreferencesDS/_AssociatedFields.js +1 -2
- package/dist/components/Organisms/MarketingPreferencesDS/_CheckAnswer.js +12 -23
- package/dist/components/Organisms/MarketingPreferencesDS/_DefaultCopy.js +4 -14
- package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPreferencesDS.js +23 -35
- package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPrefsConfig.js +10 -19
- package/dist/components/Organisms/MarketingPreferencesDS/_TextInput.js +7 -16
- package/dist/components/Organisms/Membership/Form/Form.js +50 -83
- package/dist/components/Organisms/Membership/Membership.js +13 -21
- package/dist/components/Organisms/Membership/Membership.style.js +21 -63
- package/dist/components/Organisms/Membership/Membership.test.js +0 -7
- package/dist/components/Organisms/Membership/MoneyBox/MoneyBox.js +9 -21
- package/dist/components/Organisms/Membership/dev-data/data.js +2 -3
- package/dist/hoc/shallowWithTheme.js +0 -6
- package/dist/index.js +134 -187
- package/dist/styleguide/CRLogo.js +1 -9
- package/dist/styleguide/StyleGuideRenderer.js +6 -10
- package/dist/styleguide/ThemeWrapper.js +1 -8
- package/dist/styleguide/data/data.js +20 -5
- package/dist/theme/ThemeProvider.js +1 -5
- package/dist/theme/crTheme/buttonColors.js +2 -11
- package/dist/theme/crTheme/colors.js +3 -9
- package/dist/theme/crTheme/fontSizes.js +2 -6
- package/dist/theme/crTheme/linkStyles.js +2 -11
- package/dist/theme/crTheme/theme.js +2 -11
- package/dist/theme/shared/breakpoint.js +4 -9
- package/dist/theme/shared/fontFamilies.js +2 -7
- package/dist/theme/shared/hideVisually.js +1 -4
- package/dist/theme/shared/size.js +5 -11
- package/dist/theme/shared/spacing.js +1 -5
- package/dist/theme/shared/zIndex.js +1 -8
- package/dist/theme/srTheme/buttonColors.js +2 -11
- package/dist/theme/srTheme/colors.js +3 -9
- package/dist/theme/srTheme/fontSizes.js +2 -6
- package/dist/theme/srTheme/linkStyles.js +2 -11
- package/dist/theme/srTheme/theme.js +2 -11
- package/dist/utils/Membership.js +11 -28
- package/dist/utils/ShareButton/sharePopUpHelper.js +3 -8
- package/dist/utils/ShareButton/shareTracking.js +1 -5
- package/dist/utils/ShareButton/shareUrlHelper.js +3 -5
- package/dist/utils/allowListed.js +1 -5
- package/dist/utils/allowListed.test.js +0 -2
- package/dist/utils/internalLinkHelper.js +11 -20
- package/dist/utils/navHelper.js +1 -6
- package/package.json +2 -1
- package/react-range-slider-input.d.ts +2 -0
- package/src/components/Molecules/Promo/Promo.js +14 -8
- package/src/components/Molecules/Promo/Promo.md +18 -35
- package/src/components/Molecules/Promo/Promo.style.js +28 -16
- package/src/components/Molecules/Promo/_PromoVideo.js +13 -8
- package/src/components/Molecules/Promo/_PromoVideoButton.js +1 -1
- package/src/components/Molecules/Promo/_PromoVideoButton.style.js +26 -21
- package/src/components/Molecules/Promo/__snapshots__/Promo.test.js.snap +116 -72
- package/src/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +96 -0
- package/src/components/Organisms/ImpactSlider/ImpactSlider.js +92 -0
- package/src/components/Organisms/ImpactSlider/ImpactSlider.md +42 -0
- package/src/components/Organisms/ImpactSlider/ImpactSlider.style.js +72 -0
- package/src/components/Organisms/ImpactSlider/Slider.style.js +70 -0
- package/src/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +43 -0
- package/src/components/Organisms/ImpactSlider/_Slider.js +39 -0
- package/src/components/Organisms/ImpactSlider/_utils.js +32 -0
- package/src/index.js +1 -0
- 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;
|
|
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="
|
|
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="
|
|
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="
|
|
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="
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
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:
|
|
56
|
-
var
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
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
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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 (
|
|
50
|
-
|
|
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);
|
|
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
|
-
};
|
|
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);
|
|
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);
|
|
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);
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
23
|
-
return /*#__PURE__*/_react.default.createElement(_PromoVideoButton.PlayButtonWrapper,
|
|
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;
|