@comicrelief/component-library 8.13.6 → 8.14.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.
@@ -89,7 +89,7 @@ jobs:
89
89
 
90
90
  # Test run video was always captured, so this action uses "always()" condition
91
91
  - name: Upload videos
92
- uses: actions/upload-artifact@v3
92
+ uses: actions/upload-artifact@v4
93
93
  if: always()
94
94
  with:
95
95
  name: playwright-report
@@ -10,21 +10,22 @@ var _react = _interopRequireDefault(require("react"));
10
10
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
11
  var _Logo = _interopRequireDefault(require("../../Atoms/Logo/Logo"));
12
12
  const TitleLabel = _styledComponents.default.span.withConfig({
13
- displayName: "Logos__TitleLabel",
14
- componentId: "sc-z3hhhd-0"
13
+ displayName: "LogoLinked__TitleLabel",
14
+ componentId: "sc-1l32h77-0"
15
15
  })(["line-height:0;font-size:0;color:transparent;"]);
16
16
  const LogoLink = _styledComponents.default.a.withConfig({
17
- displayName: "Logos__LogoLink",
18
- componentId: "sc-z3hhhd-1"
17
+ displayName: "LogoLinked__LogoLink",
18
+ componentId: "sc-1l32h77-1"
19
19
  })(["", ""], _ref => {
20
20
  let {
21
21
  animateRotate
22
22
  } = _ref;
23
23
  return animateRotate && (0, _styledComponents.css)(["img{transition:transform 0.35s cubic-bezier(0.41,1.64,0.41,0.8);}&:hover,&:focus{img{transform:rotate(-14deg);}}"]);
24
24
  });
25
- const Logos = _ref2 => {
25
+ const LogoLinked = _ref2 => {
26
26
  let {
27
27
  campaign = 'Comic Relief',
28
+ title = 'Go to Comic Relief homepage',
28
29
  animateRotate = false,
29
30
  sizeSm,
30
31
  sizeMd
@@ -77,14 +78,14 @@ const Logos = _ref2 => {
77
78
  }
78
79
  return /*#__PURE__*/_react.default.createElement(LogoLink, {
79
80
  href: "/",
80
- title: "Go to Comic Relief homepage",
81
+ title: title,
81
82
  animateRotate: animateRotate
82
83
  }, /*#__PURE__*/_react.default.createElement(_Logo.default, {
83
84
  rotate: false,
84
85
  campaign: "Comic Relief",
85
- title: "Go to Comic Relief homepage",
86
+ title: title,
86
87
  sizeSm: sizeSm,
87
88
  sizeMd: sizeMd
88
- }), /*#__PURE__*/_react.default.createElement(TitleLabel, null, "Go to Comic Relief homepage"));
89
+ }), /*#__PURE__*/_react.default.createElement(TitleLabel, null, title));
89
90
  };
90
- var _default = exports.default = Logos;
91
+ var _default = exports.default = LogoLinked;
@@ -0,0 +1,11 @@
1
+ # Comic Relief Logo without animation
2
+
3
+ ```js
4
+ <LogoLinked sizeSm="50px" sizeMd="60px" />
5
+ ```
6
+
7
+ # Comic Relief Logo with hover animation and custom hovertext
8
+
9
+ ```js
10
+ <LogoLinked animateRotate sizeSm="50px" title="I'm a custom title" sizeMd="60px" />
11
+ ```
@@ -34,7 +34,7 @@ const SingleMessage = _ref => {
34
34
  } = _ref;
35
35
  const hasImage = imageSet || false;
36
36
  const doubleImage = (imageSet || image) && (imageSet2 || image2);
37
- const hasVideo = !!(videoID !== null && videoID !== '');
37
+ const hasVideo = Boolean(videoID !== null && videoID !== '');
38
38
 
39
39
  // States to track video status
40
40
  const [isInitialised, setIsInitialised] = (0, _react.useState)(false);
@@ -46,22 +46,33 @@ const SingleMessage = _ref => {
46
46
  const thisRef = (0, _react.useRef)(null);
47
47
  const isIOS = typeof navigator === 'object' ? /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream && !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform) : false;
48
48
 
49
- // Break-out video markup into its own function
50
- const renderVideoPlayers = thisRowID => {
51
- // Store the dynamically-created UUID (from the main render func) in our state
52
- // so useEffect can access it
53
- const thisVideoID = "".concat(thisRowID, "__video");
54
- setUniqueID(thisVideoID);
55
- return /*#__PURE__*/_react.default.createElement(_SingleMessage.VideoWrapper, {
56
- isPlaying: isPlaying,
57
- isBuffering: isBuffering,
58
- key: thisVideoID,
59
- landscapeVideo: landscapeVideo
60
- }, /*#__PURE__*/_react.default.createElement("div", {
61
- id: thisVideoID
62
- }));
49
+ /* Dynamically retrieve ID that Gatsby has already baked into the page,
50
+ need to null check for initial render */
51
+ const getID = refWithID => {
52
+ const thisID = refWithID !== null ? refWithID.getAttribute('id') : null;
53
+ return thisID;
63
54
  };
64
55
 
56
+ // Create the id string for the youtube video
57
+ (0, _react.useEffect)(() => {
58
+ if (thisRef.current) {
59
+ const thisID = getID(thisRef.current);
60
+ if (thisID) {
61
+ setUniqueID("".concat(thisID, "__video"));
62
+ }
63
+ }
64
+ }, [thisRef]);
65
+
66
+ // Break-out video markup into its own function
67
+ const renderVideoPlayers = () => /*#__PURE__*/_react.default.createElement(_SingleMessage.VideoWrapper, {
68
+ isPlaying: isPlaying,
69
+ isBuffering: isBuffering,
70
+ key: uniqueID,
71
+ landscapeVideo: landscapeVideo
72
+ }, /*#__PURE__*/_react.default.createElement("div", {
73
+ id: uniqueID
74
+ }));
75
+
65
76
  /* Waiting on a usable ref from render before setting our flag used in other functions */
66
77
  (0, _react.useEffect)(() => {
67
78
  setHasParentID(true);
@@ -100,13 +111,6 @@ const SingleMessage = _ref => {
100
111
  }, 1000);
101
112
  setIsBuffering(true);
102
113
  };
103
-
104
- /* Dynamically retrieve ID that Gatsby has already baked into the page,
105
- need to null check for initial render */
106
- const getID = refWithID => {
107
- const thisID = refWithID !== null ? refWithID.getAttribute('id') : null;
108
- return thisID;
109
- };
110
114
  return (
111
115
  /*#__PURE__*/
112
116
  // Creates namespaced UUIDs for each row
@@ -124,7 +124,7 @@ import Text from '../../Atoms/Text/Text';
124
124
  </SingleMessage>;
125
125
  ```
126
126
 
127
- Single Message with no Image - no top and bottom padding
127
+ Single Message with no Image - no top and bottom padding
128
128
 
129
129
  ```js
130
130
  import Text from '../../Atoms/Text/Text';
@@ -184,13 +184,15 @@ Single Message with 16:9 video
184
184
  ```js
185
185
  import Text from '../../Atoms/Text/Text';
186
186
  const defaultData = require('../../../styleguide/data/data').defaultData;
187
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
188
+
187
189
  <SingleMessage
188
190
  backgroundColor="purple"
189
191
  imageSet={defaultData.images}
190
192
  image={defaultData.image}
191
193
  imageAltText=""
192
194
  copyFirst={true}
193
- videoID="WUgvvPRH7Oc"
195
+ videoID={exampleYoutubeIds[0]}
194
196
  landscapeVideo
195
197
  >
196
198
  <Text tag="p" color="black" size="xxl">
@@ -202,13 +204,15 @@ const defaultData = require('../../../styleguide/data/data').defaultData;
202
204
  ```js
203
205
  import Text from '../../Atoms/Text/Text';
204
206
  const defaultData = require('../../../styleguide/data/data').defaultData;
207
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
208
+
205
209
  <SingleMessage
206
210
  backgroundColor="purple"
207
211
  imageSet={defaultData.images}
208
212
  image={defaultData.image}
209
213
  imageAltText=""
210
214
  copyFirst={false}
211
- videoID="WUgvvPRH7Oc"
215
+ videoID={exampleYoutubeIds[1]}
212
216
  landscapeVideo
213
217
  >
214
218
  <Text tag="p" color="black" size="xxl">
@@ -222,13 +226,15 @@ Single Message with portrait video
222
226
  ```js
223
227
  import Text from '../../Atoms/Text/Text';
224
228
  const defaultData = require('../../../styleguide/data/data').defaultData;
229
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
230
+
225
231
  <SingleMessage
226
232
  backgroundColor="purple"
227
233
  imageSet={defaultData.images}
228
234
  image={defaultData.image}
229
235
  imageAltText=""
230
236
  copyFirst={true}
231
- videoID="FoMlSB6ftQg"
237
+ videoID={exampleYoutubeIds[2]}
232
238
  >
233
239
  <Text tag="p" color="black" size="xxl">
234
240
  Single Message with portrait video
@@ -240,14 +246,16 @@ Single Message with portrait video, 100VH
240
246
 
241
247
  ```js
242
248
  import Text from '../../Atoms/Text/Text';
249
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
243
250
  const defaultData = require('../../../styleguide/data/data').defaultData;
251
+
244
252
  <SingleMessage
245
253
  backgroundColor="purple"
246
254
  imageSet={defaultData.images}
247
255
  image={defaultData.image}
248
256
  imageAltText=""
249
257
  copyFirst={true}
250
- videoID="fwCQRMlKBnA"
258
+ videoID={exampleYoutubeIds[3]}
251
259
  vhFull
252
260
  >
253
261
  <Text tag="p" color="black" size="xxl">
@@ -261,13 +269,15 @@ Single Message with landscape video, 100VH, fullwidth image
261
269
  ```js
262
270
  import Text from '../../Atoms/Text/Text';
263
271
  const defaultData = require('../../../styleguide/data/data').defaultData;
272
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
273
+
264
274
  <SingleMessage
265
275
  backgroundColor="purple"
266
276
  imageSet={defaultData.images}
267
277
  image={defaultData.image}
268
278
  imageAltText=""
269
279
  copyFirst={true}
270
- videoID="WUgvvPRH7Oc"
280
+ videoID={exampleYoutubeIds[4]}
271
281
  vhFull
272
282
  fullImage={true}
273
283
  >
@@ -283,13 +293,15 @@ Single Message with landscape video, 50VH, fullwidth image
283
293
  ```js
284
294
  import Text from '../../Atoms/Text/Text';
285
295
  const defaultData = require('../../../styleguide/data/data').defaultData;
296
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
297
+
286
298
  <SingleMessage
287
299
  backgroundColor="purple"
288
300
  imageSet={defaultData.images}
289
301
  image={defaultData.image}
290
302
  imageAltText=""
291
303
  copyFirst={true}
292
- videoID="WUgvvPRH7Oc"
304
+ videoID={exampleYoutubeIds[5]}
293
305
  fullImage={true}
294
306
  >
295
307
  <Text tag="p" color="black" size="xxl">
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const exampleYoutubeIds = ['fwCQRMlKBnA', 'ZlGgFEDYKlY', 'yKADOGvq1Hs', 'Il9jhN2-PMA', 'So-GyrcQtK8', 'DjTmbU9nZNk'];
8
+ var _default = exports.default = exampleYoutubeIds;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _Logos = _interopRequireDefault(require("../../Molecules/Logos/Logos"));
9
+ var _LogoLinked = _interopRequireDefault(require("../../Molecules/LogoLinked/LogoLinked"));
10
10
  var _Nav = _interopRequireDefault(require("./Nav/Nav"));
11
11
  var _Header = require("./Header.style");
12
12
  const Header = _ref => {
@@ -18,7 +18,7 @@ const Header = _ref => {
18
18
  } = _ref;
19
19
  return /*#__PURE__*/_react.default.createElement(_Header.HeaderWrapper, Object.assign({
20
20
  navItems: true
21
- }, rest), /*#__PURE__*/_react.default.createElement(_Header.InnerWrapper, null, /*#__PURE__*/_react.default.createElement(_Header.Brand, null, /*#__PURE__*/_react.default.createElement(_Logos.default, {
21
+ }, rest), /*#__PURE__*/_react.default.createElement(_Header.InnerWrapper, null, /*#__PURE__*/_react.default.createElement(_Header.Brand, null, /*#__PURE__*/_react.default.createElement(_LogoLinked.default, {
22
22
  campaign: campaign
23
23
  })), /*#__PURE__*/_react.default.createElement(_Nav.default, {
24
24
  navItems: navItems
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _Logos = _interopRequireDefault(require("../../Molecules/Logos/Logos"));
9
+ var _LogoLinked = _interopRequireDefault(require("../../Molecules/LogoLinked/LogoLinked"));
10
10
  var _HeaderNav = _interopRequireDefault(require("./HeaderNav2025/HeaderNav2025"));
11
11
  var _Header = require("./Header2025.style");
12
12
  const Header2025 = _ref => {
@@ -22,7 +22,7 @@ const Header2025 = _ref => {
22
22
  return /*#__PURE__*/_react.default.createElement(_Header.Header2025Wrapper, Object.assign({
23
23
  navItems: true,
24
24
  showBoxShadow: showBoxShadow
25
- }, rest), /*#__PURE__*/_react.default.createElement(_Header.InnerWrapper, null, /*#__PURE__*/_react.default.createElement(_Header.Brand, null, /*#__PURE__*/_react.default.createElement(_Logos.default, {
25
+ }, rest), /*#__PURE__*/_react.default.createElement(_Header.InnerWrapper, null, /*#__PURE__*/_react.default.createElement(_Header.Brand, null, /*#__PURE__*/_react.default.createElement(_LogoLinked.default, {
26
26
  campaign: campaign,
27
27
  sizeSm: "50px",
28
28
  sizeMd: "55px",
package/dist/index.js CHANGED
@@ -196,6 +196,12 @@ Object.defineProperty(exports, "Logo", {
196
196
  return _Logo.default;
197
197
  }
198
198
  });
199
+ Object.defineProperty(exports, "LogoLinked", {
200
+ enumerable: true,
201
+ get: function () {
202
+ return _LogoLinked.default;
203
+ }
204
+ });
199
205
  Object.defineProperty(exports, "Lookup", {
200
206
  enumerable: true,
201
207
  get: function () {
@@ -476,6 +482,7 @@ var _Chip = _interopRequireDefault(require("./components/Molecules/Chip/Chip"));
476
482
  var _Descriptor = _interopRequireDefault(require("./components/Molecules/Descriptor/Descriptor"));
477
483
  var _Lookup = _interopRequireDefault(require("./components/Molecules/Lookup/Lookup"));
478
484
  var _SimpleSchoolLookup = _interopRequireDefault(require("./components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup"));
485
+ var _LogoLinked = _interopRequireDefault(require("./components/Molecules/LogoLinked/LogoLinked"));
479
486
  var _EmailSignUp = require("./components/Organisms/EmailSignUp/_EmailSignUp");
480
487
  var _CookieBanner = _interopRequireDefault(require("./components/Organisms/CookieBanner/CookieBanner"));
481
488
  var _Membership = _interopRequireDefault(require("./components/Organisms/Membership/Membership"));
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": "8.13.6",
4
+ "version": "8.14.0",
5
5
  "main": "dist/index.js",
6
6
  "license": "ISC",
7
7
  "jest": {
@@ -5,9 +5,9 @@ import styled, { css } from 'styled-components';
5
5
  import Logo from '../../Atoms/Logo/Logo';
6
6
 
7
7
  const TitleLabel = styled.span`
8
- line-height: 0;
8
+ line-height: 0;
9
9
  font-size: 0;
10
- color: transparent;
10
+ color: transparent;
11
11
  `;
12
12
 
13
13
  const LogoLink = styled.a`
@@ -25,8 +25,8 @@ const LogoLink = styled.a`
25
25
  `}
26
26
  `;
27
27
 
28
- const Logos = ({
29
- campaign = 'Comic Relief', animateRotate = false, sizeSm, sizeMd
28
+ const LogoLinked = ({
29
+ campaign = 'Comic Relief', title = 'Go to Comic Relief homepage', animateRotate = false, sizeSm, sizeMd
30
30
  }) => {
31
31
  if (campaign === 'Sport Relief Gameon') {
32
32
  return (
@@ -62,18 +62,19 @@ const Logos = ({
62
62
  }
63
63
 
64
64
  return (
65
- <LogoLink href="/" title="Go to Comic Relief homepage" animateRotate={animateRotate}>
66
- <Logo rotate={false} campaign="Comic Relief" title="Go to Comic Relief homepage" sizeSm={sizeSm} sizeMd={sizeMd} />
67
- <TitleLabel>Go to Comic Relief homepage</TitleLabel>
65
+ <LogoLink href="/" title={title} animateRotate={animateRotate}>
66
+ <Logo rotate={false} campaign="Comic Relief" title={title} sizeSm={sizeSm} sizeMd={sizeMd} />
67
+ <TitleLabel>{title}</TitleLabel>
68
68
  </LogoLink>
69
69
  );
70
70
  };
71
71
 
72
- Logos.propTypes = {
72
+ LogoLinked.propTypes = {
73
73
  campaign: PropTypes.string,
74
74
  animateRotate: PropTypes.bool,
75
+ title: PropTypes.string,
75
76
  sizeSm: PropTypes.string,
76
77
  sizeMd: PropTypes.string
77
78
  };
78
79
 
79
- export default Logos;
80
+ export default LogoLinked;
@@ -0,0 +1,11 @@
1
+ # Comic Relief Logo without animation
2
+
3
+ ```js
4
+ <LogoLinked sizeSm="50px" sizeMd="60px" />
5
+ ```
6
+
7
+ # Comic Relief Logo with hover animation and custom hovertext
8
+
9
+ ```js
10
+ <LogoLinked animateRotate sizeSm="50px" title="I'm a custom title" sizeMd="60px" />
11
+ ```
@@ -35,7 +35,7 @@ const SingleMessage = ({
35
35
  }) => {
36
36
  const hasImage = imageSet || false;
37
37
  const doubleImage = (imageSet || image) && (imageSet2 || image2);
38
- const hasVideo = !!(videoID !== null && videoID !== '');
38
+ const hasVideo = Boolean(videoID !== null && videoID !== '');
39
39
 
40
40
  // States to track video status
41
41
  const [isInitialised, setIsInitialised] = useState(false);
@@ -54,26 +54,36 @@ const SingleMessage = ({
54
54
  && /iPad|iPhone|iPod/.test(navigator.platform)
55
55
  : false;
56
56
 
57
- // Break-out video markup into its own function
58
- const renderVideoPlayers = thisRowID => {
59
- // Store the dynamically-created UUID (from the main render func) in our state
60
- // so useEffect can access it
61
- const thisVideoID = `${thisRowID}__video`;
62
-
63
- setUniqueID(thisVideoID);
64
-
65
- return (
66
- <VideoWrapper
67
- isPlaying={isPlaying}
68
- isBuffering={isBuffering}
69
- key={thisVideoID}
70
- landscapeVideo={landscapeVideo}
71
- >
72
- <div id={thisVideoID} />
73
- </VideoWrapper>
74
- );
57
+ /* Dynamically retrieve ID that Gatsby has already baked into the page,
58
+ need to null check for initial render */
59
+ const getID = refWithID => {
60
+ const thisID = refWithID !== null ? refWithID.getAttribute('id') : null;
61
+
62
+ return thisID;
75
63
  };
76
64
 
65
+ // Create the id string for the youtube video
66
+ useEffect(() => {
67
+ if (thisRef.current) {
68
+ const thisID = getID(thisRef.current);
69
+ if (thisID) {
70
+ setUniqueID(`${thisID}__video`);
71
+ }
72
+ }
73
+ }, [thisRef]);
74
+
75
+ // Break-out video markup into its own function
76
+ const renderVideoPlayers = () => (
77
+ <VideoWrapper
78
+ isPlaying={isPlaying}
79
+ isBuffering={isBuffering}
80
+ key={uniqueID}
81
+ landscapeVideo={landscapeVideo}
82
+ >
83
+ <div id={uniqueID} />
84
+ </VideoWrapper>
85
+ );
86
+
77
87
  /* Waiting on a usable ref from render before setting our flag used in other functions */
78
88
  useEffect(() => {
79
89
  setHasParentID(true);
@@ -115,14 +125,6 @@ const SingleMessage = ({
115
125
  setIsBuffering(true);
116
126
  };
117
127
 
118
- /* Dynamically retrieve ID that Gatsby has already baked into the page,
119
- need to null check for initial render */
120
- const getID = refWithID => {
121
- const thisID = refWithID !== null ? refWithID.getAttribute('id') : null;
122
-
123
- return thisID;
124
- };
125
-
126
128
  return (
127
129
  // Creates namespaced UUIDs for each row
128
130
  <UID name={id => `single-msg__${id}`}>
@@ -124,7 +124,7 @@ import Text from '../../Atoms/Text/Text';
124
124
  </SingleMessage>;
125
125
  ```
126
126
 
127
- Single Message with no Image - no top and bottom padding
127
+ Single Message with no Image - no top and bottom padding
128
128
 
129
129
  ```js
130
130
  import Text from '../../Atoms/Text/Text';
@@ -184,13 +184,15 @@ Single Message with 16:9 video
184
184
  ```js
185
185
  import Text from '../../Atoms/Text/Text';
186
186
  const defaultData = require('../../../styleguide/data/data').defaultData;
187
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
188
+
187
189
  <SingleMessage
188
190
  backgroundColor="purple"
189
191
  imageSet={defaultData.images}
190
192
  image={defaultData.image}
191
193
  imageAltText=""
192
194
  copyFirst={true}
193
- videoID="WUgvvPRH7Oc"
195
+ videoID={exampleYoutubeIds[0]}
194
196
  landscapeVideo
195
197
  >
196
198
  <Text tag="p" color="black" size="xxl">
@@ -202,13 +204,15 @@ const defaultData = require('../../../styleguide/data/data').defaultData;
202
204
  ```js
203
205
  import Text from '../../Atoms/Text/Text';
204
206
  const defaultData = require('../../../styleguide/data/data').defaultData;
207
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
208
+
205
209
  <SingleMessage
206
210
  backgroundColor="purple"
207
211
  imageSet={defaultData.images}
208
212
  image={defaultData.image}
209
213
  imageAltText=""
210
214
  copyFirst={false}
211
- videoID="WUgvvPRH7Oc"
215
+ videoID={exampleYoutubeIds[1]}
212
216
  landscapeVideo
213
217
  >
214
218
  <Text tag="p" color="black" size="xxl">
@@ -222,13 +226,15 @@ Single Message with portrait video
222
226
  ```js
223
227
  import Text from '../../Atoms/Text/Text';
224
228
  const defaultData = require('../../../styleguide/data/data').defaultData;
229
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
230
+
225
231
  <SingleMessage
226
232
  backgroundColor="purple"
227
233
  imageSet={defaultData.images}
228
234
  image={defaultData.image}
229
235
  imageAltText=""
230
236
  copyFirst={true}
231
- videoID="FoMlSB6ftQg"
237
+ videoID={exampleYoutubeIds[2]}
232
238
  >
233
239
  <Text tag="p" color="black" size="xxl">
234
240
  Single Message with portrait video
@@ -240,14 +246,16 @@ Single Message with portrait video, 100VH
240
246
 
241
247
  ```js
242
248
  import Text from '../../Atoms/Text/Text';
249
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
243
250
  const defaultData = require('../../../styleguide/data/data').defaultData;
251
+
244
252
  <SingleMessage
245
253
  backgroundColor="purple"
246
254
  imageSet={defaultData.images}
247
255
  image={defaultData.image}
248
256
  imageAltText=""
249
257
  copyFirst={true}
250
- videoID="fwCQRMlKBnA"
258
+ videoID={exampleYoutubeIds[3]}
251
259
  vhFull
252
260
  >
253
261
  <Text tag="p" color="black" size="xxl">
@@ -261,13 +269,15 @@ Single Message with landscape video, 100VH, fullwidth image
261
269
  ```js
262
270
  import Text from '../../Atoms/Text/Text';
263
271
  const defaultData = require('../../../styleguide/data/data').defaultData;
272
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
273
+
264
274
  <SingleMessage
265
275
  backgroundColor="purple"
266
276
  imageSet={defaultData.images}
267
277
  image={defaultData.image}
268
278
  imageAltText=""
269
279
  copyFirst={true}
270
- videoID="WUgvvPRH7Oc"
280
+ videoID={exampleYoutubeIds[4]}
271
281
  vhFull
272
282
  fullImage={true}
273
283
  >
@@ -283,13 +293,15 @@ Single Message with landscape video, 50VH, fullwidth image
283
293
  ```js
284
294
  import Text from '../../Atoms/Text/Text';
285
295
  const defaultData = require('../../../styleguide/data/data').defaultData;
296
+ import exampleYoutubeIds from './_ExampleYoutubeIds.js';
297
+
286
298
  <SingleMessage
287
299
  backgroundColor="purple"
288
300
  imageSet={defaultData.images}
289
301
  image={defaultData.image}
290
302
  imageAltText=""
291
303
  copyFirst={true}
292
- videoID="WUgvvPRH7Oc"
304
+ videoID={exampleYoutubeIds[5]}
293
305
  fullImage={true}
294
306
  >
295
307
  <Text tag="p" color="black" size="xxl">
@@ -0,0 +1,10 @@
1
+ const exampleYoutubeIds = [
2
+ 'fwCQRMlKBnA',
3
+ 'ZlGgFEDYKlY',
4
+ 'yKADOGvq1Hs',
5
+ 'Il9jhN2-PMA',
6
+ 'So-GyrcQtK8',
7
+ 'DjTmbU9nZNk'
8
+ ];
9
+
10
+ export default exampleYoutubeIds;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
 
4
- import Logos from '../../Molecules/Logos/Logos';
4
+ import LogoLinked from '../../Molecules/LogoLinked/LogoLinked';
5
5
  import MainNav from './Nav/Nav';
6
6
  import {
7
7
  Brand, HeaderWrapper, InnerWrapper, MetaIcons
@@ -13,7 +13,7 @@ const Header = ({
13
13
  <HeaderWrapper navItems {...rest}>
14
14
  <InnerWrapper>
15
15
  <Brand>
16
- <Logos campaign={campaign} />
16
+ <LogoLinked campaign={campaign} />
17
17
  </Brand>
18
18
  <MainNav navItems={navItems} />
19
19
  <MetaIcons>{metaIcons}</MetaIcons>
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
 
4
- import Logos from '../../Molecules/Logos/Logos';
4
+ import LogoLinked from '../../Molecules/LogoLinked/LogoLinked';
5
5
  import HeaderNav2025 from './HeaderNav2025/HeaderNav2025';
6
6
  import {
7
7
  Brand, Header2025Wrapper, InnerWrapper,
@@ -15,7 +15,7 @@ const Header2025 = ({
15
15
  <Header2025Wrapper navItems showBoxShadow={showBoxShadow} {...rest}>
16
16
  <InnerWrapper>
17
17
  <Brand>
18
- <Logos
18
+ <LogoLinked
19
19
  campaign={campaign}
20
20
  sizeSm="50px"
21
21
  sizeMd="55px"
package/src/index.js CHANGED
@@ -63,6 +63,7 @@ export { default as Chip } from './components/Molecules/Chip/Chip';
63
63
  export { default as Descriptor } from './components/Molecules/Descriptor/Descriptor';
64
64
  export { default as Lookup } from './components/Molecules/Lookup/Lookup';
65
65
  export { default as SimpleSchoolLookup } from './components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup';
66
+ export { default as LogoLinked } from './components/Molecules/LogoLinked/LogoLinked';
66
67
 
67
68
  /* Organisms */
68
69
  export {
@@ -1,5 +0,0 @@
1
- # Comic Relief Logo
2
-
3
- ```js
4
- <Logos rotate={false} sizeSm="50px" sizeMd="60px" />
5
- ```
@@ -1,5 +0,0 @@
1
- # Comic Relief Logo
2
-
3
- ```js
4
- <Logos rotate={false} sizeSm="50px" sizeMd="60px" />
5
- ```