@comicrelief/component-library 7.6.0 → 7.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.
@@ -21,18 +21,22 @@ var _SocialIcons = _interopRequireDefault(require("../../Atoms/SocialIcons/Socia
21
21
 
22
22
  var _Footer = require("./Footer.style");
23
23
 
24
- var _excluded = ["navItems", "footerCopy", "campaign"];
24
+ var _excluded = ["navItems", "footerCopy", "campaign", "additionalLegalLine"];
25
25
 
26
26
  var Footer = function Footer(_ref) {
27
27
  var navItems = _ref.navItems,
28
28
  footerCopy = _ref.footerCopy,
29
29
  campaign = _ref.campaign,
30
+ additionalLegalLine = _ref.additionalLegalLine,
30
31
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
31
32
  // Remove white space between words
32
33
  var campaignName = campaign.replace(/\s/g, '').toLowerCase();
33
34
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Footer.FooterWrapper, Object.assign({
34
35
  navItems: true
35
- }, rest), /*#__PURE__*/_react.default.createElement(_Footer.InnerWrapper, null, /*#__PURE__*/_react.default.createElement(_Footer.FooterBranding, null, /*#__PURE__*/_react.default.createElement(_Footer.SocialIconWrapper, null, /*#__PURE__*/_react.default.createElement(_SocialIcons.default, {
36
+ }, rest), /*#__PURE__*/_react.default.createElement(_Footer.InnerWrapper, null, additionalLegalLine && /*#__PURE__*/_react.default.createElement(_Footer.FooterLegalLine, {
37
+ tag: "p",
38
+ color: "grey"
39
+ }, additionalLegalLine), /*#__PURE__*/_react.default.createElement(_Footer.FooterBranding, null, /*#__PURE__*/_react.default.createElement(_Footer.SocialIconWrapper, null, /*#__PURE__*/_react.default.createElement(_SocialIcons.default, {
36
40
  campaign: campaignName
37
41
  })), /*#__PURE__*/_react.default.createElement(_Footer.Brand, {
38
42
  href: "/",
@@ -54,7 +58,8 @@ Footer.defaultProps = {
54
58
  navItems: {},
55
59
  footerCopy: '',
56
60
  campaign: 'Comic Relief',
57
- overrideWhiteList: false
61
+ overrideWhiteList: false,
62
+ additionalLegalLine: ''
58
63
  };
59
64
  var _default = Footer;
60
65
  exports.default = _default;
@@ -9,7 +9,19 @@ import footerCopy from './data/footerCopy';
9
9
  <Footer navItems={data} footerCopy={footerCopy.copy} campaign="Comic Relief" />
10
10
 
11
11
  <p>Overrides whitelist functionality for external usage</p>
12
- <Footer navItems={data} footerCopy={footerCopy.copy} campaign="Comic Relief" overrideWhiteList />
12
+ <Footer
13
+ navItems={data}
14
+ footerCopy={footerCopy.copy}
15
+ campaign="Comic Relief"
16
+ overrideWhiteList
17
+ />
18
+
19
+ <p>Adding a additionalLegalLine to the top of the footer</p>
20
+ <Footer
21
+ additionalLegalLine="MR. MEN ™ LITTLE MISS ™ © 2022 THOIP (a SANRIO Company). All rights reserved."
22
+ navItems={data}
23
+ footerCopy={footerCopy.copy}
24
+ campaign="Comic Relief"
25
+ />
13
26
  </>
14
-
15
27
  ```
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.Brand = exports.SocialIconWrapper = exports.FooterBranding = exports.FooterCopyright = exports.InnerWrapper = exports.Angle = exports.FooterWrapper = void 0;
8
+ exports.Brand = exports.SocialIconWrapper = exports.FooterBranding = exports.FooterCopyright = exports.FooterLegalLine = exports.InnerWrapper = exports.Angle = exports.FooterWrapper = void 0;
9
9
 
10
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
@@ -13,6 +13,8 @@ var _spacing = _interopRequireDefault(require("../../../theme/shared/spacing"));
13
13
 
14
14
  var _Link = _interopRequireDefault(require("../../Atoms/Link/Link"));
15
15
 
16
+ var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
17
+
16
18
  var FooterWrapper = _styledComponents.default.footer.attrs(function () {
17
19
  return {
18
20
  role: 'banner'
@@ -46,17 +48,22 @@ var InnerWrapper = _styledComponents.default.div.withConfig({
46
48
  }, (0, _spacing.default)('md'), (0, _spacing.default)('xl'));
47
49
 
48
50
  exports.InnerWrapper = InnerWrapper;
51
+ var FooterLegalLine = (0, _styledComponents.default)(_Text.default).withConfig({
52
+ displayName: "Footerstyle__FooterLegalLine",
53
+ componentId: "sc-167xaf5-3"
54
+ })(["text-align:left;margin-top:1rem;"]);
55
+ exports.FooterLegalLine = FooterLegalLine;
49
56
 
50
57
  var FooterBranding = _styledComponents.default.div.withConfig({
51
58
  displayName: "Footerstyle__FooterBranding",
52
- componentId: "sc-167xaf5-3"
59
+ componentId: "sc-167xaf5-4"
53
60
  })(["display:flex;margin:", " 0 5rem;justify-content:space-between;align-items:center;"], (0, _spacing.default)('lg'));
54
61
 
55
62
  exports.FooterBranding = FooterBranding;
56
63
 
57
64
  var FooterCopyright = _styledComponents.default.div.withConfig({
58
65
  displayName: "Footerstyle__FooterCopyright",
59
- componentId: "sc-167xaf5-4"
66
+ componentId: "sc-167xaf5-5"
60
67
  })(["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'), function (_ref4) {
61
68
  var theme = _ref4.theme;
62
69
  return theme.breakpoint('medium');
@@ -65,13 +72,13 @@ var FooterCopyright = _styledComponents.default.div.withConfig({
65
72
  exports.FooterCopyright = FooterCopyright;
66
73
  var Brand = (0, _styledComponents.default)(_Link.default).withConfig({
67
74
  displayName: "Footerstyle__Brand",
68
- componentId: "sc-167xaf5-5"
75
+ componentId: "sc-167xaf5-6"
69
76
  })(["color:transparent;border:0;:hover{border:0;}"]);
70
77
  exports.Brand = Brand;
71
78
 
72
79
  var SocialIconWrapper = _styledComponents.default.div.withConfig({
73
80
  displayName: "Footerstyle__SocialIconWrapper",
74
- componentId: "sc-167xaf5-6"
81
+ componentId: "sc-167xaf5-7"
75
82
  })([""]);
76
83
 
77
84
  exports.SocialIconWrapper = SocialIconWrapper;
@@ -558,11 +558,12 @@ exports[`renders correctly 1`] = `
558
558
  <div
559
559
  className="c1"
560
560
  >
561
+
561
562
  <div
562
563
  className="c2"
563
564
  >
564
565
  <div
565
- className="Footerstyle__SocialIconWrapper-sc-167xaf5-6"
566
+ className="Footerstyle__SocialIconWrapper-sc-167xaf5-7"
566
567
  >
567
568
  <ul
568
569
  className="c3"
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": "7.6.0",
4
+ "version": "7.7.0",
5
5
  "main": "dist/index.js",
6
6
  "license": "ISC",
7
7
  "jest": {
@@ -47,22 +47,17 @@ export const BaseText = styled.span`
47
47
  const Text = ({
48
48
  tag, children, height, weight, family, ...rest
49
49
  }) => (
50
- <BaseText {...rest} as={tag} height={height} weight={weight} family={family}>
50
+ <BaseText
51
+ {...rest}
52
+ as={tag}
53
+ height={height}
54
+ weight={weight}
55
+ family={family}
56
+ >
51
57
  {children}
52
58
  </BaseText>
53
59
  );
54
60
 
55
- Text.defaultProps = {
56
- family: null,
57
- tag: 'span',
58
- weight: undefined,
59
- height: undefined,
60
- uppercase: false,
61
- size: 's',
62
- color: 'inherit',
63
- children: undefined
64
- };
65
-
66
61
  Text.propTypes = {
67
62
  /** Font family */
68
63
  family: PropTypes.string,
@@ -85,4 +80,15 @@ Text.propTypes = {
85
80
  ])
86
81
  };
87
82
 
83
+ Text.defaultProps = {
84
+ family: null,
85
+ tag: 'span',
86
+ weight: undefined,
87
+ height: undefined,
88
+ uppercase: false,
89
+ size: 's',
90
+ color: 'inherit',
91
+ children: undefined
92
+ };
93
+
88
94
  export default Text;
@@ -8,6 +8,7 @@ import SocialIcons from '../../Atoms/SocialIcons/SocialIcons';
8
8
  import {
9
9
  FooterWrapper,
10
10
  InnerWrapper,
11
+ FooterLegalLine,
11
12
  FooterBranding,
12
13
  FooterCopyright,
13
14
  SocialIconWrapper,
@@ -15,14 +16,18 @@ import {
15
16
  } from './Footer.style';
16
17
 
17
18
  const Footer = ({
18
- navItems, footerCopy, campaign, ...rest
19
+ navItems, footerCopy, campaign, additionalLegalLine, ...rest
19
20
  }) => {
20
21
  // Remove white space between words
21
22
  const campaignName = campaign.replace(/\s/g, '').toLowerCase();
23
+
22
24
  return (
23
25
  <div>
24
26
  <FooterWrapper navItems {...rest}>
25
27
  <InnerWrapper>
28
+ {additionalLegalLine
29
+ && <FooterLegalLine tag="p" color="grey">{additionalLegalLine}</FooterLegalLine>
30
+ }
26
31
  <FooterBranding>
27
32
  <SocialIconWrapper>
28
33
  <SocialIcons campaign={campaignName} />
@@ -47,14 +52,16 @@ Footer.propTypes = {
47
52
  navItems: PropTypes.objectOf(PropTypes.shape),
48
53
  footerCopy: PropTypes.string,
49
54
  campaign: PropTypes.string,
50
- overrideWhiteList: PropTypes.bool
55
+ overrideWhiteList: PropTypes.bool,
56
+ additionalLegalLine: PropTypes.string
51
57
  };
52
58
 
53
59
  Footer.defaultProps = {
54
60
  navItems: {},
55
61
  footerCopy: '',
56
62
  campaign: 'Comic Relief',
57
- overrideWhiteList: false
63
+ overrideWhiteList: false,
64
+ additionalLegalLine: ''
58
65
  };
59
66
 
60
67
  export default Footer;
@@ -9,7 +9,19 @@ import footerCopy from './data/footerCopy';
9
9
  <Footer navItems={data} footerCopy={footerCopy.copy} campaign="Comic Relief" />
10
10
 
11
11
  <p>Overrides whitelist functionality for external usage</p>
12
- <Footer navItems={data} footerCopy={footerCopy.copy} campaign="Comic Relief" overrideWhiteList />
12
+ <Footer
13
+ navItems={data}
14
+ footerCopy={footerCopy.copy}
15
+ campaign="Comic Relief"
16
+ overrideWhiteList
17
+ />
18
+
19
+ <p>Adding a additionalLegalLine to the top of the footer</p>
20
+ <Footer
21
+ additionalLegalLine="MR. MEN ™ LITTLE MISS ™ © 2022 THOIP (a SANRIO Company). All rights reserved."
22
+ navItems={data}
23
+ footerCopy={footerCopy.copy}
24
+ campaign="Comic Relief"
25
+ />
13
26
  </>
14
-
15
27
  ```
@@ -1,6 +1,7 @@
1
1
  import styled from 'styled-components';
2
2
  import spacing from '../../../theme/shared/spacing';
3
3
  import Link from '../../Atoms/Link/Link';
4
+ import Text from '../../Atoms/Text/Text';
4
5
 
5
6
  const FooterWrapper = styled.footer.attrs(() => ({
6
7
  role: 'banner'
@@ -41,6 +42,11 @@ const InnerWrapper = styled.div`
41
42
  }
42
43
  `;
43
44
 
45
+ const FooterLegalLine = styled(Text)`
46
+ text-align: left;
47
+ margin-top: 1rem;
48
+ `;
49
+
44
50
  const FooterBranding = styled.div`
45
51
  display: flex;
46
52
  margin: ${spacing('lg')} 0 5rem;
@@ -81,6 +87,7 @@ export {
81
87
  FooterWrapper,
82
88
  Angle,
83
89
  InnerWrapper,
90
+ FooterLegalLine,
84
91
  FooterCopyright,
85
92
  FooterBranding,
86
93
  SocialIconWrapper,
@@ -558,11 +558,12 @@ exports[`renders correctly 1`] = `
558
558
  <div
559
559
  className="c1"
560
560
  >
561
+
561
562
  <div
562
563
  className="c2"
563
564
  >
564
565
  <div
565
- className="Footerstyle__SocialIconWrapper-sc-167xaf5-6"
566
+ className="Footerstyle__SocialIconWrapper-sc-167xaf5-7"
566
567
  >
567
568
  <ul
568
569
  className="c3"