@comicrelief/component-library 5.4.0 → 5.7.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/.circleci/config.yml +1 -1
- package/dist/components/Atoms/Button/Button.js +3 -1
- package/dist/components/Atoms/ButtonWithStates/ButtonWithStates.js +91 -0
- package/dist/components/Atoms/ButtonWithStates/ButtonWithStates.md +13 -0
- package/dist/components/Atoms/Checkbox/Checkbox.js +5 -3
- package/dist/components/Atoms/ErrorText/ErrorText.js +3 -1
- package/dist/components/Atoms/Icons/Arrow.js +3 -1
- package/dist/components/Atoms/Icons/AtSign.js +2 -1
- package/dist/components/Atoms/Icons/Chevron.js +3 -1
- package/dist/components/Atoms/Icons/Download.js +3 -1
- package/dist/components/Atoms/Icons/External.js +3 -1
- package/dist/components/Atoms/Icons/Favourite.js +3 -1
- package/dist/components/Atoms/Icons/Internal.js +3 -1
- package/dist/components/Atoms/Input/Input.js +6 -4
- package/dist/components/Atoms/Label/Label.js +5 -2
- package/dist/components/Atoms/Link/Link.js +31 -6
- package/dist/components/Atoms/Link/Link.style.js +3 -3
- package/dist/components/Atoms/Pagination/Item/Item.js +3 -1
- package/dist/components/Atoms/Pagination/List/List.js +5 -3
- package/dist/components/Atoms/Pagination/Pagination.js +3 -1
- package/dist/components/Atoms/Picture/Picture.js +3 -1
- package/dist/components/Atoms/RadioButton/RadioButton.js +3 -1
- package/dist/components/Atoms/RichText/RichText.js +4 -2
- package/dist/components/Atoms/Select/Select.js +3 -1
- package/dist/components/Atoms/SocialIcons/Icon/Icon.js +6 -4
- package/dist/components/Atoms/SocialIcons/SocialIcons.js +5 -3
- package/dist/components/Atoms/Text/Text.js +3 -1
- package/dist/components/Atoms/TextArea/TextArea.js +3 -1
- package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +5 -2
- package/dist/components/Molecules/Accordion/Accordion.js +3 -1
- package/dist/components/Molecules/Box/Box.js +3 -1
- package/dist/components/Molecules/Card/Card.js +3 -1
- package/dist/components/Molecules/CardDs/CardDs.js +8 -6
- package/dist/components/Molecules/Countdown/Countdown.style.js +2 -2
- package/dist/components/Molecules/HeroBanner/HeroBanner.js +3 -3
- package/dist/components/Molecules/Lookup/Lookup.js +201 -0
- package/dist/components/Molecules/PartnerLink/PartnerLink.js +3 -1
- package/dist/components/Molecules/Promo/Promo.style.js +4 -4
- package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +3 -1
- package/dist/components/Molecules/SearchInput/SearchInput.js +3 -1
- package/dist/components/Molecules/SearchResult/SearchResult.js +5 -5
- package/dist/components/Molecules/ShareButton/ShareButton.js +3 -1
- package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +112 -0
- package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.md +7 -0
- package/dist/components/Molecules/SingleMessage/SingleMessage.js +1 -1
- package/dist/components/Molecules/SingleMessage/__snapshots__/SingleMessage.test.js.snap +8 -0
- package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +3 -1
- package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +9 -9
- package/dist/components/Molecules/Typeahead/Typeahead.js +3 -1
- package/dist/components/Molecules/VideoBanner/VideoBanner.js +1 -1
- package/dist/components/Organisms/CookieBanner/CookieBanner.style.js +4 -4
- package/dist/components/Organisms/Donate/Form/Form.js +3 -1
- package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.js +4 -4
- package/dist/components/Organisms/Donate/MoneyBox/MoneyBox.js +3 -1
- package/dist/components/Organisms/EmailSignUp/EmailSignUp.js +3 -1
- package/dist/components/Organisms/EmailSignUp/EmailSignUp.style.js +7 -7
- package/dist/components/Organisms/Footer/Footer.js +7 -4
- package/dist/components/Organisms/Footer/Footer.md +8 -1
- package/dist/components/Organisms/Footer/Nav/Nav.js +12 -7
- package/dist/components/Organisms/Footer/Nav/Nav.style.js +8 -8
- package/dist/components/Organisms/Footer/__snapshots__/Footer.test.js.snap +31 -6
- package/dist/components/Organisms/Header/Burger/BurgerMenu.style.js +3 -3
- package/dist/components/Organisms/Header/Header.js +3 -1
- package/dist/components/Organisms/Header/Nav/Nav.js +3 -3
- package/dist/components/Organisms/MarketingPreferencesDS/_TextInput.js +3 -1
- package/dist/components/Organisms/Membership/Form/Form.js +3 -1
- package/dist/components/Organisms/Membership/MoneyBox/MoneyBox.js +3 -1
- package/dist/index.js +24 -0
- package/dist/utils/internalLinkHelper.js +27 -5
- package/package.json +14 -13
- package/src/components/Atoms/ButtonWithStates/ButtonWithStates.js +64 -0
- package/src/components/Atoms/ButtonWithStates/ButtonWithStates.md +13 -0
- package/src/components/Atoms/Link/Link.js +23 -8
- package/src/components/Molecules/Lookup/Lookup.js +148 -0
- package/src/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +63 -0
- package/src/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.md +7 -0
- package/src/components/Molecules/SingleMessage/SingleMessage.js +1 -1
- package/src/components/Molecules/SingleMessage/__snapshots__/SingleMessage.test.js.snap +8 -0
- package/src/components/Organisms/Footer/Footer.js +5 -3
- package/src/components/Organisms/Footer/Footer.md +8 -1
- package/src/components/Organisms/Footer/Nav/Nav.js +4 -3
- package/src/components/Organisms/Footer/__snapshots__/Footer.test.js.snap +31 -6
- package/src/components/Organisms/Header/Nav/Nav.js +1 -1
- package/src/index.js +3 -0
- package/src/utils/internalLinkHelper.js +23 -5
|
@@ -11,6 +11,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/es
|
|
|
11
11
|
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
13
13
|
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
15
|
+
|
|
14
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
17
|
|
|
16
18
|
var _Text = _interopRequireDefault(require("../../../Atoms/Text/Text"));
|
|
@@ -19,16 +21,19 @@ var _breakpoint = require("../../../../theme/shared/breakpoint");
|
|
|
19
21
|
|
|
20
22
|
var _navHelper = _interopRequireDefault(require("../../../../utils/navHelper"));
|
|
21
23
|
|
|
22
|
-
var _internalLinkHelper =
|
|
24
|
+
var _internalLinkHelper = require("../../../../utils/internalLinkHelper");
|
|
23
25
|
|
|
24
26
|
var _Nav = require("./Nav.style");
|
|
25
27
|
|
|
28
|
+
var _excluded = ["navItems"];
|
|
29
|
+
|
|
26
30
|
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); }
|
|
27
31
|
|
|
28
32
|
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; }
|
|
29
33
|
|
|
30
34
|
var FooterNav = function FooterNav(_ref) {
|
|
31
|
-
var navItems = _ref.navItems
|
|
35
|
+
var navItems = _ref.navItems,
|
|
36
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
32
37
|
var menuGroups = navItems.menuGroups;
|
|
33
38
|
|
|
34
39
|
var _useState = (0, _react.useState)(false),
|
|
@@ -96,14 +101,14 @@ var FooterNav = function FooterNav(_ref) {
|
|
|
96
101
|
}, !isSmallBreakpoint ? /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
97
102
|
color: "white",
|
|
98
103
|
weight: "bold"
|
|
99
|
-
}, group.title) : /*#__PURE__*/_react.default.createElement(_Nav.NavLink, {
|
|
104
|
+
}, group.title) : /*#__PURE__*/_react.default.createElement(_Nav.NavLink, Object.assign({
|
|
100
105
|
href: "#",
|
|
101
106
|
inline: true,
|
|
102
107
|
"aria-expanded": !!isSubMenuOpen[group.id],
|
|
103
108
|
"aria-haspopup": "true",
|
|
104
109
|
role: "button",
|
|
105
110
|
onClick: toggleSubMenu(group.id)
|
|
106
|
-
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
111
|
+
}, rest), /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
107
112
|
color: "white"
|
|
108
113
|
}, group.title)), group.links && group.links.length > 0 && /*#__PURE__*/_react.default.createElement(_Nav.SubNavMenu, {
|
|
109
114
|
role: "list",
|
|
@@ -113,15 +118,15 @@ var FooterNav = function FooterNav(_ref) {
|
|
|
113
118
|
}, group.links.map(function (child) {
|
|
114
119
|
/* Determine which field represents our url path */
|
|
115
120
|
var thisUrl = (0, _navHelper.default)(child);
|
|
116
|
-
thisUrl = (0, _internalLinkHelper.
|
|
121
|
+
thisUrl = (0, _internalLinkHelper.InternalLinkHelper)(thisUrl);
|
|
117
122
|
return /*#__PURE__*/_react.default.createElement(_Nav.SubNavItem, {
|
|
118
123
|
key: thisUrl,
|
|
119
124
|
column: group.links.length % 2 === 0 && group.links.length > 2
|
|
120
|
-
}, /*#__PURE__*/_react.default.createElement(_Nav.SubNavLink, {
|
|
125
|
+
}, /*#__PURE__*/_react.default.createElement(_Nav.SubNavLink, Object.assign({
|
|
121
126
|
href: thisUrl,
|
|
122
127
|
inline: true,
|
|
123
128
|
role: "menuitem"
|
|
124
|
-
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
129
|
+
}, rest), /*#__PURE__*/_react.default.createElement(_Text.default, {
|
|
125
130
|
color: "white"
|
|
126
131
|
}, child.title)));
|
|
127
132
|
})));
|
|
@@ -15,7 +15,7 @@ var _hideVisually = _interopRequireDefault(require("../../../../theme/shared/hid
|
|
|
15
15
|
|
|
16
16
|
var NavLinkClass = (0, _styledComponents.default)(_Link.default).withConfig({
|
|
17
17
|
displayName: "Navstyle__NavLinkClass",
|
|
18
|
-
componentId: "uzf5hs-0"
|
|
18
|
+
componentId: "sc-uzf5hs-0"
|
|
19
19
|
})(["border:0;height:46px;width:100%;background-color:", ";&:hover,&:focus{border-bottom:none;}"], function (_ref) {
|
|
20
20
|
var theme = _ref.theme;
|
|
21
21
|
return theme.color('deep_violet_dark');
|
|
@@ -26,7 +26,7 @@ var NavLinkClass = (0, _styledComponents.default)(_Link.default).withConfig({
|
|
|
26
26
|
|
|
27
27
|
var Nav = _styledComponents.default.nav.withConfig({
|
|
28
28
|
displayName: "Navstyle__Nav",
|
|
29
|
-
componentId: "uzf5hs-1"
|
|
29
|
+
componentId: "sc-uzf5hs-1"
|
|
30
30
|
})(["display:block;width:100%;text-align:left;> h2{", ";}"], _hideVisually.default);
|
|
31
31
|
/**
|
|
32
32
|
* Sub Navigation Menu (second level)
|
|
@@ -37,7 +37,7 @@ exports.Nav = Nav;
|
|
|
37
37
|
|
|
38
38
|
var SubNavMenu = _styledComponents.default.ul.withConfig({
|
|
39
39
|
displayName: "Navstyle__SubNavMenu",
|
|
40
|
-
componentId: "uzf5hs-2"
|
|
40
|
+
componentId: "sc-uzf5hs-2"
|
|
41
41
|
})(["display:flex;transition:max-height 0.5s ease;max-height:", ";overflow:hidden;padding:0;position:relative;list-style:none outside;flex-direction:column;> li a{display:", ";font-size:15px;font-weight:500;cursor:pointer;&:after{content:none;}}@media ", "{max-height:none;height:auto;", ";> li a{display:inline;line-height:24px;}}"], function (_ref2) {
|
|
42
42
|
var isSubMenuOpen = _ref2.isSubMenuOpen;
|
|
43
43
|
return isSubMenuOpen ? '400px' : '0px';
|
|
@@ -60,7 +60,7 @@ exports.SubNavMenu = SubNavMenu;
|
|
|
60
60
|
|
|
61
61
|
var SubNavItem = _styledComponents.default.li.withConfig({
|
|
62
62
|
displayName: "Navstyle__SubNavItem",
|
|
63
|
-
componentId: "uzf5hs-3"
|
|
63
|
+
componentId: "sc-uzf5hs-3"
|
|
64
64
|
})(["height:40px;width:100%;background-color:inherit;padding:8px 0;@media ", "{height:auto;margin-top:12px;padding:0;", ";a{background-color:inherit;height:auto;&:after{content:none !important;}&:hover,&:focus{border-bottom:2px solid #fff;span{border-bottom:0;padding-bottom:2px;}}}}@media ", "{", ";}"], function (_ref6) {
|
|
65
65
|
var theme = _ref6.theme;
|
|
66
66
|
return theme.breakpoint('small');
|
|
@@ -82,7 +82,7 @@ var SubNavItem = _styledComponents.default.li.withConfig({
|
|
|
82
82
|
exports.SubNavItem = SubNavItem;
|
|
83
83
|
var SubNavLink = (0, _styledComponents.default)(NavLinkClass).withConfig({
|
|
84
84
|
displayName: "Navstyle__SubNavLink",
|
|
85
|
-
componentId: "uzf5hs-4"
|
|
85
|
+
componentId: "sc-uzf5hs-4"
|
|
86
86
|
})(["padding:14px 21px;height:auto;position:relative;"]);
|
|
87
87
|
/**
|
|
88
88
|
* Navigation Menu (first level)
|
|
@@ -92,7 +92,7 @@ exports.SubNavLink = SubNavLink;
|
|
|
92
92
|
|
|
93
93
|
var NavMenu = _styledComponents.default.ul.withConfig({
|
|
94
94
|
displayName: "Navstyle__NavMenu",
|
|
95
|
-
componentId: "uzf5hs-5"
|
|
95
|
+
componentId: "sc-uzf5hs-5"
|
|
96
96
|
})(["background-color:inherit;list-style:none outside;padding:0;margin:0;@media ", "{display:flex;flex-wrap:wrap;justify-content:start;}"], function (_ref10) {
|
|
97
97
|
var theme = _ref10.theme;
|
|
98
98
|
return theme.breakpoint('small');
|
|
@@ -105,7 +105,7 @@ var NavMenu = _styledComponents.default.ul.withConfig({
|
|
|
105
105
|
exports.NavMenu = NavMenu;
|
|
106
106
|
var NavLink = (0, _styledComponents.default)(NavLinkClass).withConfig({
|
|
107
107
|
displayName: "Navstyle__NavLink",
|
|
108
|
-
componentId: "uzf5hs-6"
|
|
108
|
+
componentId: "sc-uzf5hs-6"
|
|
109
109
|
})([""]);
|
|
110
110
|
/**
|
|
111
111
|
* Menu list items
|
|
@@ -115,7 +115,7 @@ exports.NavLink = NavLink;
|
|
|
115
115
|
|
|
116
116
|
var NavItem = _styledComponents.default.li.withConfig({
|
|
117
117
|
displayName: "Navstyle__NavItem",
|
|
118
|
-
componentId: "uzf5hs-7"
|
|
118
|
+
componentId: "sc-uzf5hs-7"
|
|
119
119
|
})(["position:relative;font-weight:700;margin:0;margin-bottom:1rem;@media ", "{flex:0 0 30%;margin:0;}@media ", "{flex:0 0 calc(25% - 1rem);margin-right:1rem;margin-bottom:1rem;> span{padding:0;}}a{width:auto;padding:0;height:auto;position:relative;background-color:inherit;font-size:19px;line-height:40px;font-weight:800;@media ", "{font-size:20px;line-height:40px;}&:after{content:'\\2303';position:absolute;font-family:Arial;margin-left:4px;overflow:hidden;line-height:19px;font-size:23px;color:", ";font-weight:100;transition:transform 0.2s ease;transform:", ";top:", ";right:-25px;}@media ", "{cursor:default;display:inline;&:after{content:none;}}}"], function (_ref11) {
|
|
120
120
|
var theme = _ref11.theme;
|
|
121
121
|
return theme.breakpoint('small');
|
|
@@ -27,7 +27,7 @@ exports[`renders correctly 1`] = `
|
|
|
27
27
|
font-family: 'Montserrat',Helvetica,Arial,sans-serif;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
.
|
|
30
|
+
.c26 {
|
|
31
31
|
color: #969598;
|
|
32
32
|
font-size: 1rem;
|
|
33
33
|
line-height: 1rem;
|
|
@@ -69,6 +69,21 @@ exports[`renders correctly 1`] = `
|
|
|
69
69
|
border-bottom: 2px solid #000000;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
.c24 {
|
|
73
|
+
border: 0;
|
|
74
|
+
-webkit-clip: rect(0 0 0 0);
|
|
75
|
+
clip: rect(0 0 0 0);
|
|
76
|
+
-webkit-clip-path: inset(50%);
|
|
77
|
+
clip-path: inset(50%);
|
|
78
|
+
height: 1px;
|
|
79
|
+
margin: -1px;
|
|
80
|
+
overflow: hidden;
|
|
81
|
+
padding: 0;
|
|
82
|
+
position: absolute;
|
|
83
|
+
white-space: nowrap;
|
|
84
|
+
width: 1px;
|
|
85
|
+
}
|
|
86
|
+
|
|
72
87
|
.c5 {
|
|
73
88
|
-webkit-text-decoration: none;
|
|
74
89
|
text-decoration: none;
|
|
@@ -313,7 +328,7 @@ exports[`renders correctly 1`] = `
|
|
|
313
328
|
align-items: center;
|
|
314
329
|
}
|
|
315
330
|
|
|
316
|
-
.
|
|
331
|
+
.c25 {
|
|
317
332
|
display: block;
|
|
318
333
|
width: 100%;
|
|
319
334
|
height: 100%;
|
|
@@ -321,7 +336,7 @@ exports[`renders correctly 1`] = `
|
|
|
321
336
|
margin-top: 3rem;
|
|
322
337
|
}
|
|
323
338
|
|
|
324
|
-
.
|
|
339
|
+
.c25 p {
|
|
325
340
|
font-size: 15px;
|
|
326
341
|
line-height: 24px;
|
|
327
342
|
margin-bottom: 5px;
|
|
@@ -528,7 +543,7 @@ exports[`renders correctly 1`] = `
|
|
|
528
543
|
}
|
|
529
544
|
|
|
530
545
|
@media (min-width:1024px) {
|
|
531
|
-
.
|
|
546
|
+
.c25 p {
|
|
532
547
|
font-size: 16px;
|
|
533
548
|
line-height: 27px;
|
|
534
549
|
}
|
|
@@ -1166,6 +1181,11 @@ exports[`renders correctly 1`] = `
|
|
|
1166
1181
|
>
|
|
1167
1182
|
Link comp with only URL
|
|
1168
1183
|
</span>
|
|
1184
|
+
<span
|
|
1185
|
+
className="c24"
|
|
1186
|
+
>
|
|
1187
|
+
(opens in new window)
|
|
1188
|
+
</span>
|
|
1169
1189
|
</a>
|
|
1170
1190
|
</li>
|
|
1171
1191
|
<li
|
|
@@ -1206,6 +1226,11 @@ exports[`renders correctly 1`] = `
|
|
|
1206
1226
|
>
|
|
1207
1227
|
Test non-whitelisted external link
|
|
1208
1228
|
</span>
|
|
1229
|
+
<span
|
|
1230
|
+
className="c24"
|
|
1231
|
+
>
|
|
1232
|
+
(opens in new window)
|
|
1233
|
+
</span>
|
|
1209
1234
|
</a>
|
|
1210
1235
|
</li>
|
|
1211
1236
|
</ul>
|
|
@@ -1213,10 +1238,10 @@ exports[`renders correctly 1`] = `
|
|
|
1213
1238
|
</ul>
|
|
1214
1239
|
</nav>
|
|
1215
1240
|
<div
|
|
1216
|
-
className="
|
|
1241
|
+
className="c25"
|
|
1217
1242
|
>
|
|
1218
1243
|
<p
|
|
1219
|
-
className="
|
|
1244
|
+
className="c26"
|
|
1220
1245
|
color="grey"
|
|
1221
1246
|
size="s"
|
|
1222
1247
|
>
|
|
@@ -22,7 +22,7 @@ var _zIndex = _interopRequireDefault(require("../../../../theme/shared/zIndex"))
|
|
|
22
22
|
*/
|
|
23
23
|
var BurgerHiddenText = (0, _styledComponents.default)(_Text.default).withConfig({
|
|
24
24
|
displayName: "BurgerMenustyle__BurgerHiddenText",
|
|
25
|
-
componentId: "dtfwej-0"
|
|
25
|
+
componentId: "sc-dtfwej-0"
|
|
26
26
|
})(["", ";"], _hideVisually.default);
|
|
27
27
|
/**
|
|
28
28
|
* Burger menu bar
|
|
@@ -32,7 +32,7 @@ exports.BurgerHiddenText = BurgerHiddenText;
|
|
|
32
32
|
|
|
33
33
|
var BurgerBar = _styledComponents.default.span.withConfig({
|
|
34
34
|
displayName: "BurgerMenustyle__BurgerBar",
|
|
35
|
-
componentId: "dtfwej-1"
|
|
35
|
+
componentId: "sc-dtfwej-1"
|
|
36
36
|
})(["background-color:", ";margin:0 auto;"], function (_ref) {
|
|
37
37
|
var theme = _ref.theme;
|
|
38
38
|
return theme.color('deep_violet_dark');
|
|
@@ -45,7 +45,7 @@ var BurgerBar = _styledComponents.default.span.withConfig({
|
|
|
45
45
|
exports.BurgerBar = BurgerBar;
|
|
46
46
|
var BurgerWrapper = (0, _styledComponents.default)(_Link.default).withConfig({
|
|
47
47
|
displayName: "BurgerMenustyle__BurgerWrapper",
|
|
48
|
-
componentId: "dtfwej-2"
|
|
48
|
+
componentId: "sc-dtfwej-2"
|
|
49
49
|
})(["", ";order:50;display:flex;align-items:center;position:relative;text-indent:-9999px;background-color:transparent;height:100%;width:45px;left:5px;cursor:pointer;transition:all 0.2s;:hover{border:none;font-weight:inherit;}", "{position:relative;&,::before,::after{width:25px;height:3px;display:inline-block;}", ";::before,::after{content:'';position:absolute;left:0;background-color:currentColor;transition:all 0.2s;}::before{top:-0.5rem;", ";}::after{top:0.5rem;", ";}}:hover ", "{&,::before,::after{background-color:", ";}::before{", ";}::after{", ";}}@media ", "{display:none;}"], (0, _zIndex.default)('medium'), BurgerBar, function (_ref2) {
|
|
50
50
|
var isExpandable = _ref2.isExpandable;
|
|
51
51
|
return isExpandable && ' background-color: transparent';
|
|
@@ -17,11 +17,13 @@ var _Nav = _interopRequireDefault(require("./Nav/Nav"));
|
|
|
17
17
|
|
|
18
18
|
var _Header = require("./Header.style");
|
|
19
19
|
|
|
20
|
+
var _excluded = ["navItems", "metaIcons", "campaign"];
|
|
21
|
+
|
|
20
22
|
var Header = function Header(_ref) {
|
|
21
23
|
var navItems = _ref.navItems,
|
|
22
24
|
metaIcons = _ref.metaIcons,
|
|
23
25
|
campaign = _ref.campaign,
|
|
24
|
-
rest = (0, _objectWithoutProperties2.default)(_ref,
|
|
26
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
25
27
|
return /*#__PURE__*/_react.default.createElement(_Header.HeaderWrapper, Object.assign({
|
|
26
28
|
navItems: true
|
|
27
29
|
}, rest), /*#__PURE__*/_react.default.createElement(_Header.InnerWrapper, null, /*#__PURE__*/_react.default.createElement(_Header.Brand, null, /*#__PURE__*/_react.default.createElement(_Logos.default, {
|
|
@@ -21,7 +21,7 @@ var _breakpoint = require("../../../../theme/shared/breakpoint");
|
|
|
21
21
|
|
|
22
22
|
var _navHelper = _interopRequireDefault(require("../../../../utils/navHelper"));
|
|
23
23
|
|
|
24
|
-
var _internalLinkHelper =
|
|
24
|
+
var _internalLinkHelper = require("../../../../utils/internalLinkHelper");
|
|
25
25
|
|
|
26
26
|
var _whiteListed = _interopRequireDefault(require("../../../../utils/whiteListed"));
|
|
27
27
|
|
|
@@ -104,7 +104,7 @@ var MainNav = function MainNav(_ref) {
|
|
|
104
104
|
var relNoopener = !(0, _whiteListed.default)(thisUrl) && 'noopener';
|
|
105
105
|
var hasSubMenu = group.links && group.links.length > 1;
|
|
106
106
|
var hasPopUp = hasSubMenu ? 'true' : null;
|
|
107
|
-
thisUrl = (0, _internalLinkHelper.
|
|
107
|
+
thisUrl = (0, _internalLinkHelper.InternalLinkHelper)(thisUrl);
|
|
108
108
|
return /*#__PURE__*/_react.default.createElement(_Nav.NavItem, {
|
|
109
109
|
role: "none",
|
|
110
110
|
key: group.id,
|
|
@@ -133,7 +133,7 @@ var MainNav = function MainNav(_ref) {
|
|
|
133
133
|
isSubMenuOpen: !!isSubMenuOpen[group.id]
|
|
134
134
|
}, group.links.map(function (child, childIndex) {
|
|
135
135
|
var thisSubUrl = (0, _navHelper.default)(child);
|
|
136
|
-
thisSubUrl = (0, _internalLinkHelper.
|
|
136
|
+
thisSubUrl = (0, _internalLinkHelper.InternalLinkHelper)(thisSubUrl);
|
|
137
137
|
/* Wrap our first child item with special tags */
|
|
138
138
|
|
|
139
139
|
if (childIndex === 0) {
|
|
@@ -15,13 +15,15 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _Input = _interopRequireDefault(require("../../Atoms/Input/Input"));
|
|
17
17
|
|
|
18
|
+
var _excluded = ["fieldName", "label", "optional", "fieldType", "formContext"];
|
|
19
|
+
|
|
18
20
|
var TextInput = function TextInput(_ref) {
|
|
19
21
|
var fieldName = _ref.fieldName,
|
|
20
22
|
label = _ref.label,
|
|
21
23
|
optional = _ref.optional,
|
|
22
24
|
fieldType = _ref.fieldType,
|
|
23
25
|
formContext = _ref.formContext,
|
|
24
|
-
rest = (0, _objectWithoutProperties2.default)(_ref,
|
|
26
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
25
27
|
var errors = formContext.errors,
|
|
26
28
|
register = formContext.register;
|
|
27
29
|
var props = (0, _objectSpread2.default)({
|
|
@@ -25,6 +25,8 @@ var _Membership = require("../../../../utils/Membership");
|
|
|
25
25
|
|
|
26
26
|
var _Membership2 = require("../Membership.style");
|
|
27
27
|
|
|
28
|
+
var _excluded = ["data", "donateLink", "otherDescription", "clientID", "cartID", "mbshipID"];
|
|
29
|
+
|
|
28
30
|
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); }
|
|
29
31
|
|
|
30
32
|
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; }
|
|
@@ -36,7 +38,7 @@ var Signup = function Signup(_ref) {
|
|
|
36
38
|
clientID = _ref.clientID,
|
|
37
39
|
cartID = _ref.cartID,
|
|
38
40
|
mbshipID = _ref.mbshipID,
|
|
39
|
-
rest = (0, _objectWithoutProperties2.default)(_ref,
|
|
41
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
40
42
|
|
|
41
43
|
var _useState = (0, _react.useState)({
|
|
42
44
|
box1: '',
|
|
@@ -15,6 +15,8 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
15
15
|
|
|
16
16
|
var _Input = _interopRequireDefault(require("../../../Atoms/Input/Input"));
|
|
17
17
|
|
|
18
|
+
var _excluded = ["setOtherAmount", "amount", "currency", "description"];
|
|
19
|
+
|
|
18
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); }
|
|
19
21
|
|
|
20
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; }
|
|
@@ -49,7 +51,7 @@ var MoneyBuy = function MoneyBuy(_ref7) {
|
|
|
49
51
|
amount = _ref7.amount,
|
|
50
52
|
currency = _ref7.currency,
|
|
51
53
|
description = _ref7.description,
|
|
52
|
-
rest = (0, _objectWithoutProperties2.default)(_ref7,
|
|
54
|
+
rest = (0, _objectWithoutProperties2.default)(_ref7, _excluded);
|
|
53
55
|
return /*#__PURE__*/_react.default.createElement(MoneyBox, Object.assign({}, rest, {
|
|
54
56
|
"aria-label": description,
|
|
55
57
|
value: "".concat(currency, " ").concat(amount),
|
package/dist/index.js
CHANGED
|
@@ -167,6 +167,12 @@ Object.defineProperty(exports, "Label", {
|
|
|
167
167
|
return _Label.default;
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
|
+
Object.defineProperty(exports, "ButtonWithStates", {
|
|
171
|
+
enumerable: true,
|
|
172
|
+
get: function get() {
|
|
173
|
+
return _ButtonWithStates.default;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
170
176
|
Object.defineProperty(exports, "HeroBanner", {
|
|
171
177
|
enumerable: true,
|
|
172
178
|
get: function get() {
|
|
@@ -329,6 +335,18 @@ Object.defineProperty(exports, "Descriptor", {
|
|
|
329
335
|
return _Descriptor.default;
|
|
330
336
|
}
|
|
331
337
|
});
|
|
338
|
+
Object.defineProperty(exports, "Lookup", {
|
|
339
|
+
enumerable: true,
|
|
340
|
+
get: function get() {
|
|
341
|
+
return _Lookup.default;
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
Object.defineProperty(exports, "SimpleSchoolLookup", {
|
|
345
|
+
enumerable: true,
|
|
346
|
+
get: function get() {
|
|
347
|
+
return _SimpleSchoolLookup.default;
|
|
348
|
+
}
|
|
349
|
+
});
|
|
332
350
|
Object.defineProperty(exports, "EmailSignUp", {
|
|
333
351
|
enumerable: true,
|
|
334
352
|
get: function get() {
|
|
@@ -416,6 +434,8 @@ var _ErrorText = _interopRequireDefault(require("./components/Atoms/ErrorText/Er
|
|
|
416
434
|
|
|
417
435
|
var _Label = _interopRequireDefault(require("./components/Atoms/Label/Label"));
|
|
418
436
|
|
|
437
|
+
var _ButtonWithStates = _interopRequireDefault(require("./components/Atoms/ButtonWithStates/ButtonWithStates"));
|
|
438
|
+
|
|
419
439
|
var _HeroBanner = _interopRequireDefault(require("./components/Molecules/HeroBanner/HeroBanner"));
|
|
420
440
|
|
|
421
441
|
var _InfoBanner = _interopRequireDefault(require("./components/Molecules/InfoBanner/InfoBanner"));
|
|
@@ -470,6 +490,10 @@ var _Chip = _interopRequireDefault(require("./components/Molecules/Chip/Chip"));
|
|
|
470
490
|
|
|
471
491
|
var _Descriptor = _interopRequireDefault(require("./components/Molecules/Descriptor/Descriptor"));
|
|
472
492
|
|
|
493
|
+
var _Lookup = _interopRequireDefault(require("./components/Molecules/Lookup/Lookup"));
|
|
494
|
+
|
|
495
|
+
var _SimpleSchoolLookup = _interopRequireDefault(require("./components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup"));
|
|
496
|
+
|
|
473
497
|
var _EmailSignUp = _interopRequireDefault(require("./components/Organisms/EmailSignUp/EmailSignUp"));
|
|
474
498
|
|
|
475
499
|
var _CookieBanner = _interopRequireDefault(require("./components/Organisms/CookieBanner/CookieBanner"));
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.
|
|
8
|
+
exports.getDomain = exports.InternalLinkHelper = void 0;
|
|
7
9
|
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var domainRegEx = new RegExp('(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]');
|
|
10
13
|
|
|
14
|
+
var InternalLinkHelper = function InternalLinkHelper(link) {
|
|
15
|
+
// Check our URL for a domain pattern, if so return it
|
|
11
16
|
if (domainRegEx.test(link)) {
|
|
12
17
|
return link;
|
|
13
18
|
} // If domain-free and internal, prefix it with slash if it doesn't already have one
|
|
@@ -16,5 +21,22 @@ var InternalLinkHelper = function InternalLinkHelper(link) {
|
|
|
16
21
|
return link.substring(0, 1) === '/' ? link : "/".concat(link);
|
|
17
22
|
};
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
exports.InternalLinkHelper = InternalLinkHelper;
|
|
25
|
+
|
|
26
|
+
var getDomain = function getDomain(url) {
|
|
27
|
+
var thisURL = url; // Strip out protocol
|
|
28
|
+
|
|
29
|
+
thisURL = url.replace(/(https?:\/\/)?(www.)?/i, ''); // Strip out subdirectory/path
|
|
30
|
+
|
|
31
|
+
if (thisURL.indexOf('/') !== -1) {
|
|
32
|
+
var _thisURL$split = thisURL.split('/'),
|
|
33
|
+
_thisURL$split2 = (0, _slicedToArray2.default)(_thisURL$split, 1),
|
|
34
|
+
splitURL = _thisURL$split2[0];
|
|
35
|
+
|
|
36
|
+
thisURL = splitURL;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return thisURL;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
exports.getDomain = getDomain;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comicrelief/component-library",
|
|
3
3
|
"author": "Comic Relief Engineering Team",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.7.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"license": "ISC",
|
|
7
7
|
"jest": {
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"url": "https://github.com/comicrelief/component-library.git"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@babel/cli": "^7.
|
|
24
|
+
"@babel/cli": "^7.14.8",
|
|
25
25
|
"@hookform/resolvers": "^1.3.4",
|
|
26
26
|
"axios": "^0.21.1",
|
|
27
|
-
"jest-styled-components": "^7.0.
|
|
27
|
+
"jest-styled-components": "^7.0.5",
|
|
28
28
|
"lazysizes": "^5.3.2",
|
|
29
29
|
"lodash": "^4.17.11",
|
|
30
30
|
"moment": "^2.29.1",
|
|
@@ -33,12 +33,13 @@
|
|
|
33
33
|
"react-currency-format": "^1.0.0",
|
|
34
34
|
"react-dom": "^17.0.2",
|
|
35
35
|
"react-hook-form": "^6.3.0",
|
|
36
|
-
"react-modal": "^3.14.
|
|
36
|
+
"react-modal": "^3.14.3",
|
|
37
37
|
"react-scripts": "4.0.3",
|
|
38
|
-
"react-
|
|
38
|
+
"react-spinners": "^0.11.0",
|
|
39
|
+
"react-styleguidist": "^11.1.7",
|
|
39
40
|
"react-test-renderer": "^17.0.2",
|
|
40
41
|
"react-uid": "^2.2.0",
|
|
41
|
-
"styled-components": "^5.
|
|
42
|
+
"styled-components": "^5.3.1",
|
|
42
43
|
"youtube-player": "^5.5.2",
|
|
43
44
|
"yup": "^0.32.9",
|
|
44
45
|
"yup-phone": "^1.2.19"
|
|
@@ -73,17 +74,17 @@
|
|
|
73
74
|
"devDependencies": {
|
|
74
75
|
"babel-eslint": "^10.0.2",
|
|
75
76
|
"cross-env": "^7.0.3",
|
|
76
|
-
"cypress": "^
|
|
77
|
-
"eslint": "^7.
|
|
77
|
+
"cypress": "^8.3.0",
|
|
78
|
+
"eslint": "^7.32.0",
|
|
78
79
|
"eslint-config-airbnb": "^18.2.0",
|
|
79
|
-
"eslint-plugin-import": "^2.
|
|
80
|
+
"eslint-plugin-import": "^2.24.2",
|
|
80
81
|
"eslint-plugin-jsx-a11y": "^6.3.1",
|
|
81
|
-
"eslint-plugin-react": "^7.
|
|
82
|
+
"eslint-plugin-react": "^7.24.0",
|
|
82
83
|
"eslint-plugin-react-hooks": "^4.0.5",
|
|
83
|
-
"husky": "^
|
|
84
|
+
"husky": "^7.0.2",
|
|
84
85
|
"jest": "^26.1.0",
|
|
85
86
|
"npm-run-all": "^4.1.5",
|
|
86
|
-
"prettier": "^2.
|
|
87
|
-
"semantic-release": "^17.4.
|
|
87
|
+
"prettier": "^2.3.2",
|
|
88
|
+
"semantic-release": "^17.4.6"
|
|
88
89
|
}
|
|
89
90
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React, { useCallback, useState } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import ScaleLoader from 'react-spinners/ScaleLoader';
|
|
5
|
+
import spacing from '../../../theme/shared/spacing';
|
|
6
|
+
import Button from '../Button/Button';
|
|
7
|
+
|
|
8
|
+
const ButtonWithDisabledState = styled(Button)`
|
|
9
|
+
&:disabled {
|
|
10
|
+
cursor: not-allowed;
|
|
11
|
+
opacity: 0.75;
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
const LoaderContainer = styled.div`${({ withMargin }) => (withMargin ? `
|
|
16
|
+
margin-top: ${spacing('xsm')};
|
|
17
|
+
margin-left: ${spacing('md')};
|
|
18
|
+
` : '')}`;
|
|
19
|
+
|
|
20
|
+
// A button with loading and disabled states.
|
|
21
|
+
const ButtonWithStates = React.forwardRef(({
|
|
22
|
+
children, loadingText, loading, disabled, ...rest
|
|
23
|
+
}, ref) => {
|
|
24
|
+
const [loaderColour, setLoaderColour] = useState(null);
|
|
25
|
+
|
|
26
|
+
// Can't see a simpler way to get the button's text colour, without reading the value
|
|
27
|
+
// via JavaScript.
|
|
28
|
+
// (e.g. the `theme.buttonColours` helper returns a CSS string split into an array -
|
|
29
|
+
// don't really want to be parsing that.)
|
|
30
|
+
// (And can't use inherit because ScaleLoader's color prop is actually setting its
|
|
31
|
+
// background color.)
|
|
32
|
+
const getLoaderColour = useCallback(node => {
|
|
33
|
+
if (node && typeof window.getComputedStyle === 'function') {
|
|
34
|
+
const textColour = window.getComputedStyle(node).color;
|
|
35
|
+
if (textColour) {
|
|
36
|
+
setLoaderColour(textColour);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<ButtonWithDisabledState ref={ref} disabled={disabled} {...rest}>
|
|
43
|
+
{loading ? loadingText : children}
|
|
44
|
+
<LoaderContainer ref={getLoaderColour} withMargin={loading}>
|
|
45
|
+
<ScaleLoader height={16} width={2} loading={loading} color={loaderColour} />
|
|
46
|
+
</LoaderContainer>
|
|
47
|
+
</ButtonWithDisabledState>
|
|
48
|
+
);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
ButtonWithStates.propTypes = {
|
|
52
|
+
children: PropTypes.node.isRequired,
|
|
53
|
+
loadingText: PropTypes.string,
|
|
54
|
+
loading: PropTypes.bool,
|
|
55
|
+
disabled: PropTypes.bool
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
ButtonWithStates.defaultProps = {
|
|
59
|
+
loading: false,
|
|
60
|
+
disabled: false,
|
|
61
|
+
loadingText: 'Loading'
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export default ButtonWithStates;
|