@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.
- package/.github/workflows/main.yml +22 -24
- package/dist/components/Atoms/Button/Button.js +21 -15
- package/dist/components/Atoms/Button/Button.test.js +3 -3
- package/dist/components/Atoms/ButtonWithStates/ButtonWithStates.js +19 -22
- package/dist/components/Atoms/Checkbox/Checkbox.js +42 -26
- package/dist/components/Atoms/Checkbox/Checkbox.test.js +3 -3
- package/dist/components/Atoms/Confetti/Confetti.js +20 -23
- package/dist/components/Atoms/Confetti/_TriggerConfetti.js +4 -11
- package/dist/components/Atoms/ErrorText/ErrorText.js +15 -11
- package/dist/components/Atoms/ErrorText/ErrorText.test.js +3 -3
- package/dist/components/Atoms/Icons/Arrow.js +16 -15
- package/dist/components/Atoms/Icons/AtSign.js +9 -9
- package/dist/components/Atoms/Icons/Chevron.js +16 -15
- package/dist/components/Atoms/Icons/Curve.js +16 -18
- package/dist/components/Atoms/Icons/Download.js +8 -8
- package/dist/components/Atoms/Icons/External.js +8 -8
- package/dist/components/Atoms/Icons/Favourite.js +8 -8
- package/dist/components/Atoms/Icons/Internal.js +8 -8
- package/dist/components/Atoms/Icons/index.js +8 -8
- package/dist/components/Atoms/Input/Input.js +38 -33
- package/dist/components/Atoms/Input/input.test.js +3 -3
- package/dist/components/Atoms/Label/Label.js +28 -23
- package/dist/components/Atoms/Link/Link.js +24 -29
- package/dist/components/Atoms/Link/Link.style.js +51 -40
- package/dist/components/Atoms/Link/Link.test.js +9 -9
- package/dist/components/Atoms/Logo/Logo.js +16 -18
- package/dist/components/Atoms/Logo/Logo.test.js +3 -3
- package/dist/components/Atoms/Pagination/Item/Item.js +7 -7
- package/dist/components/Atoms/Pagination/Item/Item.style.js +35 -28
- package/dist/components/Atoms/Pagination/List/List.js +21 -19
- package/dist/components/Atoms/Pagination/Pagination.js +41 -49
- package/dist/components/Atoms/Pagination/Pagination.test.js +54 -108
- package/dist/components/Atoms/Pagination/Utils/PaginationCalculator.js +15 -15
- package/dist/components/Atoms/Picture/Picture.js +34 -44
- package/dist/components/Atoms/Picture/Picture.test.js +5 -5
- package/dist/components/Atoms/RadioButton/RadioButton.js +35 -23
- package/dist/components/Atoms/RadioButton/RadioButton.test.js +3 -3
- package/dist/components/Atoms/RichText/RichText.js +9 -11
- package/dist/components/Atoms/RichText/RichText.test.js +4 -4
- package/dist/components/Atoms/Select/Select.js +56 -49
- package/dist/components/Atoms/Select/Select.test.js +3 -3
- package/dist/components/Atoms/SocialIcons/Icon/Icon.js +13 -13
- package/dist/components/Atoms/SocialIcons/SocialIcons.js +25 -23
- package/dist/components/Atoms/SocialIcons/SocialIcons.test.js +7 -7
- package/dist/components/Atoms/SocialIcons/Utils/Icons.js +3 -3
- package/dist/components/Atoms/SocialIcons/Utils/Links.js +19 -20
- package/dist/components/Atoms/SocialIcons/assets/X-white-Subtract.svg +3 -0
- package/dist/components/Atoms/Text/Text.js +62 -41
- package/dist/components/Atoms/Text/Text.test.js +11 -11
- package/dist/components/Atoms/TextArea/TextArea.js +18 -17
- package/dist/components/Atoms/TextArea/TextArea.test.js +3 -3
- package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +69 -86
- package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.style.js +23 -15
- package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.test.js +15 -19
- package/dist/components/Molecules/Accordion/Accordion.js +35 -32
- package/dist/components/Molecules/Accordion/Accordion.test.js +3 -3
- package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.js +81 -52
- package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.test.js +5 -5
- package/dist/components/Molecules/Banner/Banner.js +21 -13
- package/dist/components/Molecules/Banner/Banner.test.js +3 -3
- package/dist/components/Molecules/Box/Box.js +33 -27
- package/dist/components/Molecules/Box/Box.test.js +5 -5
- package/dist/components/Molecules/Card/Card.js +22 -22
- package/dist/components/Molecules/Card/Card.test.js +5 -5
- package/dist/components/Molecules/CardDs/CardDs.js +80 -55
- package/dist/components/Molecules/CardDs/CardDs.test.js +3 -3
- package/dist/components/Molecules/Chip/Chip.js +8 -6
- package/dist/components/Molecules/Chip/Chip.style.js +48 -28
- package/dist/components/Molecules/Chip/Chip.test.js +4 -6
- package/dist/components/Molecules/Countdown/Countdown.js +28 -36
- package/dist/components/Molecules/Countdown/Countdown.style.js +3 -3
- package/dist/components/Molecules/Descriptor/Descriptor.js +32 -26
- package/dist/components/Molecules/Descriptor/Descriptor.test.js +5 -5
- package/dist/components/Molecules/DoubleCopy/DoubleCopy.js +6 -4
- package/dist/components/Molecules/DoubleCopy/DoubleCopy.style.js +7 -5
- package/dist/components/Molecules/DoubleCopy/DoubleCopy.test.js +4 -4
- package/dist/components/Molecules/HeroBanner/HeroBanner.js +13 -17
- package/dist/components/Molecules/InfoBanner/InfoBanner.js +22 -18
- package/dist/components/Molecules/InfoBanner/InfoBanner.test.js +10 -10
- package/dist/components/Molecules/Logos/Logos.js +26 -14
- package/dist/components/Molecules/Logos/Logos.md +5 -0
- package/dist/components/Molecules/Lookup/Lookup.js +49 -84
- package/dist/components/Molecules/PartnerLink/PartnerLink.js +10 -11
- package/dist/components/Molecules/PartnerLink/PartnerLink.style.js +15 -9
- package/dist/components/Molecules/PartnerLink/PartnerLink.test.js +3 -3
- package/dist/components/Molecules/Promo/Promo.js +30 -36
- package/dist/components/Molecules/Promo/Promo.style.js +44 -31
- package/dist/components/Molecules/Promo/Promo.test.js +6 -6
- package/dist/components/Molecules/Promo/_ProgressRing.js +13 -19
- package/dist/components/Molecules/Promo/_PromoVideo.js +25 -34
- package/dist/components/Molecules/Promo/_PromoVideoButton.js +7 -7
- package/dist/components/Molecules/Promo/_PromoVideoButton.style.js +68 -41
- package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +29 -52
- package/dist/components/Molecules/SchoolLookup/SchoolLookup.test.js +4 -4
- package/dist/components/Molecules/SearchInput/SearchInput.js +8 -8
- package/dist/components/Molecules/SearchInput/SearchInput.style.js +22 -14
- package/dist/components/Molecules/SearchInput/SearchInput.test.js +4 -4
- package/dist/components/Molecules/SearchResult/SearchResult.js +43 -29
- package/dist/components/Molecules/SearchResult/SearchResult.test.js +9 -9
- package/dist/components/Molecules/ShareButton/ShareButton.js +22 -26
- package/dist/components/Molecules/ShareButton/ShareButton.style.js +5 -5
- package/dist/components/Molecules/ShareButton/ShareButton.test.js +3 -3
- package/dist/components/Molecules/ShareButton/assets/ShareIcons.js +2 -2
- package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +28 -55
- package/dist/components/Molecules/SingleMessage/SingleMessage.js +99 -123
- package/dist/components/Molecules/SingleMessage/SingleMessage.style.js +132 -81
- package/dist/components/Molecules/SingleMessage/SingleMessage.test.js +13 -13
- package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +31 -40
- package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +85 -49
- package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.test.js +3 -3
- package/dist/components/Molecules/Typeahead/Typeahead.js +47 -84
- package/dist/components/Molecules/Typeahead/Typeahead.test.js +12 -35
- package/dist/components/Molecules/VideoBanner/VideoBanner.js +20 -25
- package/dist/components/Molecules/VideoBanner/VideoBanner.test.js +4 -4
- package/dist/components/Organisms/CookieBanner/CookieBanner.js +7 -5
- package/dist/components/Organisms/CookieBanner/CookieBanner.style.js +21 -13
- package/dist/components/Organisms/CookieBanner/CookieBanner.test.js +5 -5
- package/dist/components/Organisms/Donate/Donate.js +34 -37
- package/dist/components/Organisms/Donate/Donate.style.js +85 -53
- package/dist/components/Organisms/Donate/Donate.test.js +10 -10
- package/dist/components/Organisms/Donate/Form/Form.js +53 -78
- package/dist/components/Organisms/Donate/Form/PopUpComponent.js +25 -30
- package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.js +11 -13
- package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.style.js +38 -22
- package/dist/components/Organisms/Donate/MoneyBuy/MoneyBuy.js +47 -30
- package/dist/components/Organisms/EmailSignUp/EmailSignUp.style.js +63 -37
- package/dist/components/Organisms/EmailSignUp/EmailSignUp.test.js +12 -12
- package/dist/components/Organisms/EmailSignUp/EmailSignUpForm.js +23 -43
- package/dist/components/Organisms/EmailSignUp/_EmailSignUp.js +25 -21
- package/dist/components/Organisms/EmailSignUp/_EmailSignUpConfig.js +10 -9
- package/dist/components/Organisms/EmailSignUp/_TextInput.js +20 -18
- package/dist/components/Organisms/Footer/Footer.js +10 -10
- package/dist/components/Organisms/Footer/Footer.style.js +27 -21
- package/dist/components/Organisms/Footer/Footer.test.js +3 -3
- package/dist/components/Organisms/Footer/Nav/Nav.js +59 -70
- package/dist/components/Organisms/Footer/Nav/Nav.style.js +77 -43
- package/dist/components/Organisms/Header/Burger/BurgerMenu.js +6 -4
- package/dist/components/Organisms/Header/Burger/BurgerMenu.style.js +37 -21
- package/dist/components/Organisms/Header/Header.js +8 -8
- package/dist/components/Organisms/Header/Header.style.js +27 -19
- package/dist/components/Organisms/Header/Nav/Nav.js +39 -50
- package/dist/components/Organisms/Header/Nav/Nav.style.js +103 -57
- package/dist/components/Organisms/Header/header.test.js +1 -1
- package/dist/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +32 -29
- package/dist/components/Organisms/ImpactSlider/ImpactSlider.js +19 -22
- package/dist/components/Organisms/ImpactSlider/ImpactSlider.style.js +38 -24
- package/dist/components/Organisms/ImpactSlider/Slider.style.js +8 -14
- package/dist/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +11 -11
- package/dist/components/Organisms/ImpactSlider/_Slider.js +9 -7
- package/dist/components/Organisms/ImpactSlider/_utils.js +11 -11
- package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDS.style.js +61 -38
- package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDSForm.js +24 -16
- package/dist/components/Organisms/MarketingPreferencesDS/_AssociatedFields.js +1 -1
- package/dist/components/Organisms/MarketingPreferencesDS/_CheckAnswer.js +20 -16
- package/dist/components/Organisms/MarketingPreferencesDS/_DefaultCopy.js +3 -3
- package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPreferencesDS.js +46 -36
- package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPrefsConfig.js +21 -34
- package/dist/components/Organisms/MarketingPreferencesDS/_TextInput.js +20 -18
- package/dist/components/Organisms/Membership/Form/Form.js +48 -81
- package/dist/components/Organisms/Membership/Membership.js +17 -15
- package/dist/components/Organisms/Membership/Membership.style.js +81 -51
- package/dist/components/Organisms/Membership/Membership.test.js +4 -4
- package/dist/components/Organisms/Membership/MoneyBox/MoneyBox.js +37 -26
- package/dist/hoc/shallowWithTheme.js +1 -1
- package/dist/index.js +67 -67
- package/dist/styleguide/CRLogo.js +2 -2
- package/dist/styleguide/StyleGuideRenderer.js +9 -7
- package/dist/styleguide/ThemeWrapper.js +5 -3
- package/dist/styleguide/data/data.js +3 -3
- package/dist/theme/crTheme/buttonColors.js +6 -5
- package/dist/theme/crTheme/colors.js +4 -3
- package/dist/theme/crTheme/fontSizes.js +4 -3
- package/dist/theme/crTheme/linkStyles.js +6 -5
- package/dist/theme/crTheme/theme.js +1 -1
- package/dist/theme/shared/breakpoint.js +4 -3
- package/dist/theme/shared/fontFamilies.js +5 -4
- package/dist/theme/shared/hideVisually.js +1 -1
- package/dist/theme/shared/size.js +4 -3
- package/dist/theme/shared/spacing.js +2 -2
- package/dist/theme/shared/zIndex.js +3 -3
- package/dist/theme/srTheme/buttonColors.js +6 -5
- package/dist/theme/srTheme/colors.js +4 -3
- package/dist/theme/srTheme/fontSizes.js +4 -3
- package/dist/theme/srTheme/linkStyles.js +6 -5
- package/dist/theme/srTheme/theme.js +1 -1
- package/dist/utils/Membership.js +30 -27
- package/dist/utils/ShareButton/sharePopUpHelper.js +8 -8
- package/dist/utils/ShareButton/shareTracking.js +1 -1
- package/dist/utils/ShareButton/shareUrlHelper.js +3 -3
- package/dist/utils/allowListed.js +3 -5
- package/dist/utils/allowListed.test.js +3 -3
- package/dist/utils/internalLinkHelper.js +8 -10
- package/dist/utils/navHelper.js +2 -2
- package/package.json +12 -9
- package/playwright/components/atoms/checkbox.spec.js +64 -0
- package/playwright/components/atoms/input.spec.js +158 -0
- package/playwright/components/atoms/label.spec.js +29 -0
- package/playwright/components/atoms/link.spec.js +48 -0
- package/playwright/components/atoms/radioButton.spec.js +30 -0
- package/playwright/components/atoms/select.spec.js +36 -0
- package/playwright/components/atoms/textArea.spec.js +39 -0
- package/playwright/components/atoms/textInputWithDropdown.spec.js +23 -0
- package/playwright/components/molecules/accordian.spec.js +20 -0
- package/playwright/components/molecules/schoolLookup.spec.js +26 -0
- package/playwright/components/molecules/searchInput.spec.js +24 -0
- package/playwright/components/molecules/shareButton.spec.js +32 -0
- package/playwright/components/molecules/simpleSchoolLookUp.spec.js +35 -0
- package/playwright/components/molecules/typeahead.spec.js +27 -0
- package/playwright/components/organisms/donate.spec.js +293 -0
- package/playwright/components/organisms/emailSignUpForm.spec.js +109 -0
- package/playwright/components/organisms/footer.spec.js +67 -0
- package/playwright/components/organisms/header.spec.js +82 -0
- package/playwright/components/organisms/impactSlider.spec.js +292 -0
- package/playwright/components/organisms/marketingPreferences.spec.js +220 -0
- package/playwright/components/organisms/membership.spec.js +47 -0
- package/playwright.config.js +49 -0
- package/src/components/Atoms/SocialIcons/Utils/Icons.js +1 -1
- package/src/components/Atoms/SocialIcons/assets/X-white-Subtract.svg +3 -0
- package/src/components/Molecules/Logos/Logos.js +18 -6
- package/src/components/Molecules/Logos/Logos.md +5 -0
- package/src/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +3 -4
- package/src/components/Organisms/Membership/Membership.test.js +1 -1
- package/cypress/e2e/components/atoms/button.cy.js +0 -102
- package/cypress/e2e/components/atoms/buttonWithStates.cy.js +0 -47
- package/cypress/e2e/components/atoms/checkbox.cy.js +0 -70
- package/cypress/e2e/components/atoms/confetti.cy.js +0 -46
- package/cypress/e2e/components/atoms/errorText.cy.js +0 -45
- package/cypress/e2e/components/atoms/input.cy.js +0 -157
- package/cypress/e2e/components/atoms/label.cy.js +0 -93
- package/cypress/e2e/components/atoms/link.cy.js +0 -190
- package/cypress/e2e/components/atoms/logo.cy.js +0 -132
- package/cypress/e2e/components/atoms/pagination.cy.js +0 -191
- package/cypress/e2e/components/atoms/picture.cy.js +0 -130
- package/cypress/e2e/components/atoms/radioButton.cy.js +0 -76
- package/cypress/e2e/components/atoms/richText.cy.js +0 -70
- package/cypress/e2e/components/atoms/select.cy.js +0 -84
- package/cypress/e2e/components/atoms/socialIcons.cy.js +0 -162
- package/cypress/e2e/components/atoms/text.cy.js +0 -169
- package/cypress/e2e/components/atoms/textArea.cy.js +0 -89
- package/cypress/e2e/components/atoms/textInputWithDrop.cy.js +0 -76
- package/cypress/e2e/components/molecules/accordion.cy.js +0 -67
- package/cypress/e2e/components/molecules/articleTeaser.cy.js +0 -105
- package/cypress/e2e/components/molecules/banner.cy.js +0 -67
- package/cypress/e2e/components/molecules/box.cy.js +0 -104
- package/cypress/e2e/components/molecules/card.cy.js +0 -105
- package/cypress/e2e/components/molecules/cardDs.cy.js +0 -198
- package/cypress/e2e/components/molecules/chip.cy.js +0 -68
- package/cypress/e2e/components/molecules/countdown.cy.js +0 -71
- package/cypress/e2e/components/molecules/descriptor.cy.js +0 -142
- package/cypress/e2e/components/molecules/doubleCopy.cy.js +0 -79
- package/cypress/e2e/components/molecules/heroBanner.cy.js +0 -69
- package/cypress/e2e/components/molecules/infoBanner.cy.js +0 -69
- package/cypress/e2e/components/molecules/partnerLink.cy.js +0 -68
- package/cypress/e2e/components/molecules/promo.cy.js +0 -74
- package/cypress/e2e/components/molecules/schoolLookup.cy.js +0 -83
- package/cypress/e2e/components/molecules/searchInput.cy.js +0 -72
- package/cypress/e2e/components/molecules/searchResult.cy.js +0 -191
- package/cypress/e2e/components/molecules/shareButton.cy.js +0 -76
- package/cypress/e2e/components/molecules/simpleSchoolLookup.cy.js +0 -83
- package/cypress/e2e/components/molecules/singleMessage.cy.js +0 -502
- package/cypress/e2e/components/molecules/singleMessageDs.cy.js +0 -234
- package/cypress/e2e/components/molecules/typeahead.cy.js +0 -97
- package/cypress/e2e/components/molecules/videoBanner.cy.js +0 -132
- package/cypress/e2e/components/organisms/cookieBanner.cy.js +0 -80
- package/cypress/e2e/components/organisms/donate.cy.js +0 -284
- package/cypress/e2e/components/organisms/emailSignUp.cy.js +0 -54
- package/cypress/e2e/components/organisms/footer.cy.js +0 -168
- package/cypress/e2e/components/organisms/header.cy.js +0 -138
- package/cypress/e2e/components/organisms/impactSlider.cy.js +0 -72
- package/cypress/e2e/components/organisms/marketingPreferencesDSForm.cy.js +0 -589
- package/cypress/e2e/components/organisms/membership.cy.js +0 -122
- package/cypress/fixtures/example.json +0 -5
- package/cypress/plugins/index.js +0 -21
- package/cypress/support/commands.js +0 -25
- package/cypress/support/e2e.js +0 -36
- package/cypress.config.js +0 -15
- package/dist/components/Atoms/SocialIcons/assets/x-logo.svg +0 -3
- package/src/components/Atoms/SocialIcons/assets/x-logo.svg +0 -3
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
Object.defineProperty(exports, "ESU_FIELDS", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function
|
|
9
|
+
get: function () {
|
|
10
10
|
return _EmailSignUpConfig.ESU_FIELDS;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
13
|
exports.EmailSignUp = void 0;
|
|
14
14
|
Object.defineProperty(exports, "buildEsuValidationSchema", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function
|
|
16
|
+
get: function () {
|
|
17
17
|
return _EmailSignUpConfig.buildEsuValidationSchema;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
21
20
|
var _react = _interopRequireDefault(require("react"));
|
|
22
21
|
var _EmailSignUp = require("./EmailSignUp.style");
|
|
23
22
|
var _ButtonWithStates = _interopRequireDefault(require("../../Atoms/ButtonWithStates/ButtonWithStates"));
|
|
@@ -25,23 +24,27 @@ var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
|
|
|
25
24
|
var _EmailSignUpConfig = require("./_EmailSignUpConfig");
|
|
26
25
|
var _ErrorText = _interopRequireDefault(require("../../Atoms/ErrorText/ErrorText"));
|
|
27
26
|
var _Confetti = _interopRequireDefault(require("../../Atoms/Confetti/Confetti"));
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
topCopy
|
|
32
|
-
successCopy
|
|
33
|
-
privacyCopy
|
|
34
|
-
backgroundColour
|
|
35
|
-
buttonColour
|
|
36
|
-
formContext
|
|
37
|
-
columnLayout
|
|
38
|
-
rest
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
27
|
+
const EmailSignUp = _ref => {
|
|
28
|
+
let {
|
|
29
|
+
title,
|
|
30
|
+
topCopy,
|
|
31
|
+
successCopy,
|
|
32
|
+
privacyCopy,
|
|
33
|
+
backgroundColour,
|
|
34
|
+
buttonColour,
|
|
35
|
+
formContext,
|
|
36
|
+
columnLayout,
|
|
37
|
+
...rest
|
|
38
|
+
} = _ref;
|
|
39
|
+
const {
|
|
40
|
+
formState: {
|
|
41
|
+
isValid,
|
|
42
|
+
isSubmitting,
|
|
43
|
+
isSubmitted,
|
|
44
|
+
isSubmitSuccessful,
|
|
45
|
+
errors
|
|
46
|
+
}
|
|
47
|
+
} = formContext;
|
|
45
48
|
return /*#__PURE__*/_react.default.createElement(_EmailSignUp.ESUWrapper, Object.assign({
|
|
46
49
|
backgroundColour: backgroundColour
|
|
47
50
|
}, rest), /*#__PURE__*/_react.default.createElement(_EmailSignUp.Title, {
|
|
@@ -85,6 +88,7 @@ var EmailSignUp = exports.EmailSignUp = function EmailSignUp(_ref) {
|
|
|
85
88
|
"data-test": "subscribe-button"
|
|
86
89
|
}, /*#__PURE__*/_react.default.createElement(_Text.default, null, "Subscribe")))), isSubmitted && !isSubmitSuccessful && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, errors.formError !== undefined && /*#__PURE__*/_react.default.createElement(_ErrorText.default, null, errors.formError.message)), /*#__PURE__*/_react.default.createElement(_EmailSignUp.PrivacyCopyWrapper, null, /*#__PURE__*/_react.default.createElement(_Text.default, null, privacyCopy)));
|
|
87
90
|
};
|
|
91
|
+
exports.EmailSignUp = EmailSignUp;
|
|
88
92
|
EmailSignUp.defaultProps = {
|
|
89
93
|
backgroundColour: 'deep_violet_dark',
|
|
90
94
|
buttonColour: 'red',
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.buildEsuValidationSchema = exports.ESU_FIELDS = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
8
|
var _lodash = require("lodash");
|
|
10
9
|
var yup = _interopRequireWildcard(require("yup"));
|
|
11
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
12
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }
|
|
13
10
|
/**
|
|
14
11
|
* ESU_FIELDS
|
|
15
12
|
*
|
|
@@ -18,7 +15,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
18
15
|
* to customise form validation or behaviour, as the fields are handled within the CL
|
|
19
16
|
* we just make this read-only to prevent any external changes of this object.
|
|
20
17
|
*/
|
|
21
|
-
|
|
18
|
+
const ESU_FIELDS = exports.ESU_FIELDS = Object.freeze({
|
|
22
19
|
FIRST_NAME: 'firstName',
|
|
23
20
|
LAST_NAME: 'lastName',
|
|
24
21
|
EMAIL: 'email'
|
|
@@ -32,8 +29,12 @@ var ESU_FIELDS = exports.ESU_FIELDS = Object.freeze({
|
|
|
32
29
|
*
|
|
33
30
|
* @param overrides {Object} - A yup schema object (or an empty object)
|
|
34
31
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
const buildEsuValidationSchema = overrides => {
|
|
33
|
+
const defaultSchema = yup.object({
|
|
34
|
+
[ESU_FIELDS.FIRST_NAME]: yup.string().required('Please enter your first name').matches(/^[A-Za-z][A-Za-z' -]*$/, "This field only accepts letters and ' - and must start with a letter").max(25, 'Your first name must be between 1 and 25 characters'),
|
|
35
|
+
[ESU_FIELDS.LAST_NAME]: yup.string().required('Please enter your last name').matches(/^[A-Za-z][A-Za-z' -]*$/, "This field only accepts letters and ' - and must start with a letter").max(50, 'Your first name must be between 1 and 50 characters'),
|
|
36
|
+
[ESU_FIELDS.EMAIL]: yup.string().required('Please enter your email address').email('Please enter a valid email address').max(100, 'Your email address must be between 1 and 100 characters long')
|
|
37
|
+
});
|
|
38
38
|
return (0, _lodash.merge)(defaultSchema, overrides);
|
|
39
|
-
};
|
|
39
|
+
};
|
|
40
|
+
exports.buildEsuValidationSchema = buildEsuValidationSchema;
|
|
@@ -1,35 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
9
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
9
|
var _Input = _interopRequireDefault(require("../../Atoms/Input/Input"));
|
|
12
|
-
var _excluded = ["fieldName", "label", "optional", "fieldType", "formContext"];
|
|
13
10
|
// TODO: This is a copy paste of the RHF friendly `TextInput` from Marketing Prefs.
|
|
14
11
|
// Perhaps it would be worthwhile refactoring this into a new `Atom` as a seperate PR.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
const TextInput = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
fieldName,
|
|
15
|
+
label,
|
|
16
|
+
optional,
|
|
17
|
+
fieldType,
|
|
18
|
+
formContext,
|
|
19
|
+
...rest
|
|
20
|
+
} = _ref;
|
|
21
|
+
const {
|
|
22
|
+
errors,
|
|
23
|
+
register
|
|
24
|
+
} = formContext;
|
|
25
|
+
const props = {
|
|
25
26
|
name: fieldName,
|
|
26
27
|
type: fieldType,
|
|
27
|
-
label
|
|
28
|
+
label,
|
|
28
29
|
placeholder: label,
|
|
29
30
|
errorMsg: errors && errors[fieldName] && errors[fieldName].message,
|
|
30
|
-
optional
|
|
31
|
-
'aria-required': !optional
|
|
32
|
-
|
|
31
|
+
optional,
|
|
32
|
+
'aria-required': !optional,
|
|
33
|
+
...rest
|
|
34
|
+
};
|
|
33
35
|
return /*#__PURE__*/_react.default.createElement(_Input.default, Object.assign({}, props, {
|
|
34
36
|
ref: register
|
|
35
37
|
}));
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
|
|
11
10
|
var _Logo = _interopRequireDefault(require("../../Atoms/Logo/Logo"));
|
|
12
11
|
var _Nav = _interopRequireDefault(require("./Nav/Nav"));
|
|
13
12
|
var _SocialIcons = _interopRequireDefault(require("../../Atoms/SocialIcons/SocialIcons"));
|
|
14
13
|
var _Footer = require("./Footer.style");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
footerCopy
|
|
19
|
-
campaign
|
|
20
|
-
additionalLegalLine
|
|
21
|
-
rest
|
|
14
|
+
const Footer = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
navItems,
|
|
17
|
+
footerCopy,
|
|
18
|
+
campaign,
|
|
19
|
+
additionalLegalLine,
|
|
20
|
+
...rest
|
|
21
|
+
} = _ref;
|
|
22
22
|
// Remove white space between words
|
|
23
|
-
|
|
23
|
+
const campaignName = campaign.replace(/\s/g, '').toLowerCase();
|
|
24
24
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Footer.FooterWrapper, Object.assign({
|
|
25
25
|
navItems: true
|
|
26
26
|
}, rest), /*#__PURE__*/_react.default.createElement(_Footer.InnerWrapper, null, additionalLegalLine && /*#__PURE__*/_react.default.createElement(_Footer.FooterLegalLine, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -9,51 +9,57 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
9
9
|
var _spacing = _interopRequireDefault(require("../../../theme/shared/spacing"));
|
|
10
10
|
var _Link = _interopRequireDefault(require("../../Atoms/Link/Link"));
|
|
11
11
|
var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
}).withConfig({
|
|
12
|
+
const FooterWrapper = exports.FooterWrapper = _styledComponents.default.footer.attrs(() => ({
|
|
13
|
+
role: 'banner'
|
|
14
|
+
})).withConfig({
|
|
17
15
|
displayName: "Footerstyle__FooterWrapper",
|
|
18
16
|
componentId: "sc-167xaf5-0"
|
|
19
|
-
})(["text-align:center;line-height:initial;background:#222;position:relative;padding:", " 0;@media ", "{padding:", ";}"], (0, _spacing.default)('md'),
|
|
20
|
-
|
|
17
|
+
})(["text-align:center;line-height:initial;background:#222;position:relative;padding:", " 0;@media ", "{padding:", ";}"], (0, _spacing.default)('md'), _ref => {
|
|
18
|
+
let {
|
|
19
|
+
theme
|
|
20
|
+
} = _ref;
|
|
21
21
|
return theme.breakpoint('small');
|
|
22
22
|
}, (0, _spacing.default)('l'));
|
|
23
|
-
|
|
23
|
+
const Angle = exports.Angle = _styledComponents.default.div.withConfig({
|
|
24
24
|
displayName: "Footerstyle__Angle",
|
|
25
25
|
componentId: "sc-167xaf5-1"
|
|
26
|
-
})(["width:100%;display:block;clip-path:polygon(0 100%,100% 0,100% 101%,0 101%);height:50px;background:#222;margin-bottom:1rem;@media ", "{clip-path:polygon(0 100%,100% 0,100% 101%,0 101%);height:95px;}"],
|
|
27
|
-
|
|
26
|
+
})(["width:100%;display:block;clip-path:polygon(0 100%,100% 0,100% 101%,0 101%);height:50px;background:#222;margin-bottom:1rem;@media ", "{clip-path:polygon(0 100%,100% 0,100% 101%,0 101%);height:95px;}"], _ref2 => {
|
|
27
|
+
let {
|
|
28
|
+
theme
|
|
29
|
+
} = _ref2;
|
|
28
30
|
return theme.breakpoint('medium');
|
|
29
31
|
});
|
|
30
|
-
|
|
32
|
+
const InnerWrapper = exports.InnerWrapper = _styledComponents.default.div.withConfig({
|
|
31
33
|
displayName: "Footerstyle__InnerWrapper",
|
|
32
34
|
componentId: "sc-167xaf5-2"
|
|
33
|
-
})(["position:relative;display:block;width:100%;height:100%;max-width:1200px;margin:0 auto;padding:0 ", " ", ";@media ", "{padding:0 ", " ", ";}"], (0, _spacing.default)('md'), (0, _spacing.default)('l'),
|
|
34
|
-
|
|
35
|
+
})(["position:relative;display:block;width:100%;height:100%;max-width:1200px;margin:0 auto;padding:0 ", " ", ";@media ", "{padding:0 ", " ", ";}"], (0, _spacing.default)('md'), (0, _spacing.default)('l'), _ref3 => {
|
|
36
|
+
let {
|
|
37
|
+
theme
|
|
38
|
+
} = _ref3;
|
|
35
39
|
return theme.breakpoint('medium');
|
|
36
40
|
}, (0, _spacing.default)('md'), (0, _spacing.default)('xl'));
|
|
37
|
-
|
|
41
|
+
const FooterLegalLine = exports.FooterLegalLine = (0, _styledComponents.default)(_Text.default).withConfig({
|
|
38
42
|
displayName: "Footerstyle__FooterLegalLine",
|
|
39
43
|
componentId: "sc-167xaf5-3"
|
|
40
44
|
})(["text-align:left;margin-top:1rem;"]);
|
|
41
|
-
|
|
45
|
+
const FooterBranding = exports.FooterBranding = _styledComponents.default.div.withConfig({
|
|
42
46
|
displayName: "Footerstyle__FooterBranding",
|
|
43
47
|
componentId: "sc-167xaf5-4"
|
|
44
48
|
})(["display:flex;margin:", " 0 5rem;justify-content:space-between;align-items:center;"], (0, _spacing.default)('lg'));
|
|
45
|
-
|
|
49
|
+
const FooterCopyright = exports.FooterCopyright = _styledComponents.default.div.withConfig({
|
|
46
50
|
displayName: "Footerstyle__FooterCopyright",
|
|
47
51
|
componentId: "sc-167xaf5-5"
|
|
48
|
-
})(["display:block;width:100%;height:100%;text-align:left;margin-top:", ";p{font-size:15px;line-height:24px;margin-bottom:5px;@media ", "{font-size:16px;line-height:27px;}}"], (0, _spacing.default)('lg'),
|
|
49
|
-
|
|
52
|
+
})(["display:block;width:100%;height:100%;text-align:left;margin-top:", ";p{font-size:15px;line-height:24px;margin-bottom:5px;@media ", "{font-size:16px;line-height:27px;}}"], (0, _spacing.default)('lg'), _ref4 => {
|
|
53
|
+
let {
|
|
54
|
+
theme
|
|
55
|
+
} = _ref4;
|
|
50
56
|
return theme.breakpoint('medium');
|
|
51
57
|
});
|
|
52
|
-
|
|
58
|
+
const Brand = exports.Brand = (0, _styledComponents.default)(_Link.default).withConfig({
|
|
53
59
|
displayName: "Footerstyle__Brand",
|
|
54
60
|
componentId: "sc-167xaf5-6"
|
|
55
61
|
})(["color:transparent;border:0;:hover{border:0;}"]);
|
|
56
|
-
|
|
62
|
+
const SocialIconWrapper = exports.SocialIconWrapper = _styledComponents.default.div.withConfig({
|
|
57
63
|
displayName: "Footerstyle__SocialIconWrapper",
|
|
58
64
|
componentId: "sc-167xaf5-7"
|
|
59
65
|
})([""]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
require("jest-styled-components");
|
|
6
6
|
var _shallowWithTheme = _interopRequireDefault(require("../../../hoc/shallowWithTheme"));
|
|
@@ -9,8 +9,8 @@ var _data = _interopRequireDefault(require("./data/data"));
|
|
|
9
9
|
var _footerCopy = _interopRequireDefault(require("./data/footerCopy"));
|
|
10
10
|
/* eslint-disable react/jsx-wrap-multilines */
|
|
11
11
|
|
|
12
|
-
it('renders correctly',
|
|
13
|
-
|
|
12
|
+
it('renders correctly', () => {
|
|
13
|
+
const tree = (0, _shallowWithTheme.default)( /*#__PURE__*/_react.default.createElement(_Footer.default, {
|
|
14
14
|
navItems: _data.default,
|
|
15
15
|
footerCopy: _footerCopy.default.copy
|
|
16
16
|
})).toJSON();
|
|
@@ -1,41 +1,32 @@
|
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
11
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
10
|
var _Text = _interopRequireDefault(require("../../../Atoms/Text/Text"));
|
|
13
11
|
var _breakpoint = require("../../../../theme/shared/breakpoint");
|
|
14
12
|
var _navHelper = _interopRequireDefault(require("../../../../utils/navHelper"));
|
|
15
13
|
var _internalLinkHelper = require("../../../../utils/internalLinkHelper");
|
|
16
14
|
var _Nav = require("./Nav.style");
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
29
|
-
isSubMenuOpen = _useState4[0],
|
|
30
|
-
setIsSubMenuOpen = _useState4[1];
|
|
31
|
-
var _useState5 = (0, _react.useState)(false),
|
|
32
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
33
|
-
isSmallBreakpoint = _useState6[0],
|
|
34
|
-
setIsSmallBreakpoint = _useState6[1];
|
|
15
|
+
const FooterNav = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
navItems,
|
|
18
|
+
...rest
|
|
19
|
+
} = _ref;
|
|
20
|
+
const {
|
|
21
|
+
menuGroups
|
|
22
|
+
} = navItems;
|
|
23
|
+
const [isExpandable] = (0, _react.useState)(false);
|
|
24
|
+
const [isSubMenuOpen, setIsSubMenuOpen] = (0, _react.useState)({});
|
|
25
|
+
const [isSmallBreakpoint, setIsSmallBreakpoint] = (0, _react.useState)(false);
|
|
35
26
|
|
|
36
27
|
// Detect window screen size when screen is resized
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
const resize = () => {
|
|
29
|
+
const screenSize = typeof window !== 'undefined' ? window.innerWidth : null;
|
|
39
30
|
if (screenSize !== null) {
|
|
40
31
|
setIsSmallBreakpoint(screenSize < parseFloat(_breakpoint.sizes.small));
|
|
41
32
|
}
|
|
@@ -47,18 +38,18 @@ var FooterNav = function FooterNav(_ref) {
|
|
|
47
38
|
* Always stop the main 'parent' link from actually firing, but do the
|
|
48
39
|
* collapsing for SM-MD breakpoints
|
|
49
40
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
}
|
|
41
|
+
const toggleSubMenu = item => event => {
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
// Only run on SM, as we're only using the hide-show logic on SM
|
|
44
|
+
if (isSmallBreakpoint) {
|
|
45
|
+
setIsSubMenuOpen({
|
|
46
|
+
[item]: !isSubMenuOpen[item]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
58
49
|
};
|
|
59
|
-
(0, _react.useEffect)(
|
|
50
|
+
(0, _react.useEffect)(() => {
|
|
60
51
|
// Detect window screen size when page load
|
|
61
|
-
|
|
52
|
+
const width = typeof window !== 'undefined' ? window.innerWidth : null;
|
|
62
53
|
setIsSmallBreakpoint(width < parseFloat(_breakpoint.sizes.small));
|
|
63
54
|
}, []);
|
|
64
55
|
return /*#__PURE__*/_react.default.createElement(_Nav.Nav, {
|
|
@@ -70,45 +61,43 @@ var FooterNav = function FooterNav(_ref) {
|
|
|
70
61
|
tag: "h2"
|
|
71
62
|
}, "Footer navigation"), /*#__PURE__*/_react.default.createElement(_Nav.NavMenu, {
|
|
72
63
|
role: "menubar"
|
|
73
|
-
}, menuGroups.map(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
64
|
+
}, menuGroups.map((group, index) => /*#__PURE__*/_react.default.createElement(_Nav.NavItem, {
|
|
65
|
+
role: "none",
|
|
66
|
+
key: group.id,
|
|
67
|
+
index: index,
|
|
68
|
+
isSubMenuOpen: !!isSubMenuOpen[group.id]
|
|
69
|
+
}, !isSmallBreakpoint ? /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
70
|
+
color: "white",
|
|
71
|
+
weight: "bold"
|
|
72
|
+
}, group.title) : /*#__PURE__*/_react.default.createElement(_Nav.NavLink, Object.assign({
|
|
73
|
+
href: "#",
|
|
74
|
+
inline: true,
|
|
75
|
+
"aria-expanded": !!isSubMenuOpen[group.id],
|
|
76
|
+
"aria-haspopup": "true",
|
|
77
|
+
role: "button",
|
|
78
|
+
onClick: toggleSubMenu(group.id)
|
|
79
|
+
}, rest), /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
80
|
+
color: "white"
|
|
81
|
+
}, group.title)), group.links && group.links.length > 0 && /*#__PURE__*/_react.default.createElement(_Nav.SubNavMenu, {
|
|
82
|
+
role: "list",
|
|
83
|
+
"aria-label": group.title,
|
|
84
|
+
isSubMenuOpen: !!isSubMenuOpen[group.id],
|
|
85
|
+
column: group.links.length % 2 === 0 && group.links.length > 2
|
|
86
|
+
}, group.links.map(child => {
|
|
87
|
+
/* Determine which field represents our url path */
|
|
88
|
+
let thisUrl = (0, _navHelper.default)(child);
|
|
89
|
+
thisUrl = (0, _internalLinkHelper.InternalLinkHelper)(thisUrl);
|
|
90
|
+
return /*#__PURE__*/_react.default.createElement(_Nav.SubNavItem, {
|
|
91
|
+
key: thisUrl,
|
|
92
|
+
column: group.links.length % 2 === 0 && group.links.length > 2
|
|
93
|
+
}, /*#__PURE__*/_react.default.createElement(_Nav.SubNavLink, Object.assign({
|
|
94
|
+
href: thisUrl,
|
|
84
95
|
inline: true,
|
|
85
|
-
"
|
|
86
|
-
"aria-haspopup": "true",
|
|
87
|
-
role: "button",
|
|
88
|
-
onClick: toggleSubMenu(group.id)
|
|
96
|
+
role: "menuitem"
|
|
89
97
|
}, rest), /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
90
98
|
color: "white"
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
"aria-label": group.title,
|
|
94
|
-
isSubMenuOpen: !!isSubMenuOpen[group.id],
|
|
95
|
-
column: group.links.length % 2 === 0 && group.links.length > 2
|
|
96
|
-
}, group.links.map(function (child) {
|
|
97
|
-
/* Determine which field represents our url path */
|
|
98
|
-
var thisUrl = (0, _navHelper.default)(child);
|
|
99
|
-
thisUrl = (0, _internalLinkHelper.InternalLinkHelper)(thisUrl);
|
|
100
|
-
return /*#__PURE__*/_react.default.createElement(_Nav.SubNavItem, {
|
|
101
|
-
key: thisUrl,
|
|
102
|
-
column: group.links.length % 2 === 0 && group.links.length > 2
|
|
103
|
-
}, /*#__PURE__*/_react.default.createElement(_Nav.SubNavLink, Object.assign({
|
|
104
|
-
href: thisUrl,
|
|
105
|
-
inline: true,
|
|
106
|
-
role: "menuitem"
|
|
107
|
-
}, rest), /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
108
|
-
color: "white"
|
|
109
|
-
}, child.title)));
|
|
110
|
-
})));
|
|
111
|
-
})));
|
|
99
|
+
}, child.title)));
|
|
100
|
+
}))))));
|
|
112
101
|
};
|
|
113
102
|
FooterNav.defaultProps = {
|
|
114
103
|
navItems: {}
|