@comicrelief/component-library 8.12.0 → 8.13.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.
Files changed (103) hide show
  1. package/README.md +12 -0
  2. package/dist/components/Atoms/SocialIcons/Icon/Icon.js +50 -8
  3. package/dist/components/Atoms/SocialIcons/SocialIcons.js +2 -1
  4. package/dist/components/Atoms/SocialIcons/SocialIcons.md +9 -6
  5. package/dist/components/Atoms/SocialIcons/Utils/Links.js +8 -4
  6. package/dist/components/Atoms/SocialIcons/__snapshots__/SocialIcons.test.js.snap +15 -117
  7. package/dist/components/Molecules/Logos/Logos.js +37 -15
  8. package/dist/components/Molecules/ShareButton/ShareButton.js +2 -1
  9. package/dist/components/Molecules/ShareButton/ShareButton.test.js +2 -2
  10. package/dist/components/Organisms/Footer/Nav/Nav.js +3 -3
  11. package/dist/components/Organisms/Footer/__snapshots__/Footer.test.js.snap +155 -189
  12. package/dist/components/Organisms/Header/Header.md +4 -0
  13. package/dist/components/Organisms/Header/HeaderNav/HeaderNav.js +163 -0
  14. package/dist/components/Organisms/Header/HeaderNav/HeaderNav.style.js +237 -0
  15. package/dist/components/Organisms/Header/HeaderNav/Menu-Group-Icon.svg +3 -0
  16. package/dist/components/Organisms/Header/HeaderNav/arrow-right.png +0 -0
  17. package/dist/components/Organisms/Header/HeaderNav/arrow.svg +6 -0
  18. package/dist/components/Organisms/Header/HeaderNav/chevron-down.svg +3 -0
  19. package/dist/components/Organisms/Header/Nav/Nav.js +3 -3
  20. package/dist/components/Organisms/Header/annoying.css +14 -0
  21. package/dist/components/Organisms/Header/assets/Post.svg +3 -0
  22. package/dist/components/Organisms/Header/data/data-extended.js +236 -0
  23. package/dist/components/Organisms/Header/data/data-live.js +126 -0
  24. package/dist/components/Organisms/Header2025/Burger/BurgerMenu.js +28 -0
  25. package/dist/components/Organisms/Header2025/Burger/BurgerMenu.style.js +76 -0
  26. package/dist/components/Organisms/Header2025/Header2025.js +40 -0
  27. package/dist/components/Organisms/Header2025/Header2025.md +554 -0
  28. package/dist/components/Organisms/Header2025/Header2025.style.js +72 -0
  29. package/dist/components/Organisms/Header2025/HeaderNav2025/HeaderNav2025.js +175 -0
  30. package/dist/components/Organisms/Header2025/HeaderNav2025/HeaderNav2025.style.js +308 -0
  31. package/dist/components/Organisms/Header2025/HeaderNav2025/HeaderNavItem2025.js +79 -0
  32. package/dist/components/Organisms/Header2025/HeaderNav2025/Menu-Group-Icon.svg +3 -0
  33. package/dist/components/Organisms/Header2025/HeaderNav2025/MoreNav.js +93 -0
  34. package/dist/components/Organisms/Header2025/HeaderNav2025/MoreNav.style.js +108 -0
  35. package/dist/components/Organisms/Header2025/HeaderNav2025/arrow-right.png +0 -0
  36. package/dist/components/Organisms/Header2025/HeaderNav2025/arrow.svg +6 -0
  37. package/dist/components/Organisms/Header2025/HeaderNav2025/chevron-down.svg +3 -0
  38. package/dist/components/Organisms/Header2025/annoying.css +14 -0
  39. package/dist/components/Organisms/Header2025/assets/PayIn.svg +3 -0
  40. package/dist/components/Organisms/Header2025/assets/Post.svg +3 -0
  41. package/dist/components/Organisms/Header2025/assets/icon--mail--2023.svg +3 -0
  42. package/dist/components/Organisms/Header2025/assets/icon--search--2023.svg +3 -0
  43. package/dist/components/Organisms/Header2025/assets/icon--shop--2023.svg +3 -0
  44. package/dist/components/Organisms/Header2025/data/data-extended.js +236 -0
  45. package/dist/components/Organisms/Header2025/data/data-live.js +126 -0
  46. package/dist/components/Organisms/Header2025/data/data.js +156 -0
  47. package/dist/components/Organisms/Header2025/header2025.test.js +25 -0
  48. package/dist/index.js +7 -0
  49. package/dist/styleguide/data/data.js +19 -19
  50. package/dist/theme/shared/allBreakpoints.js +1 -0
  51. package/dist/utils/navHelper.js +24 -2
  52. package/package.json +1 -1
  53. package/playwright.config.js +13 -6
  54. package/src/components/Atoms/SocialIcons/Icon/Icon.js +84 -5
  55. package/src/components/Atoms/SocialIcons/SocialIcons.js +1 -0
  56. package/src/components/Atoms/SocialIcons/SocialIcons.md +9 -6
  57. package/src/components/Atoms/SocialIcons/Utils/Links.js +8 -4
  58. package/src/components/Atoms/SocialIcons/__snapshots__/SocialIcons.test.js.snap +15 -117
  59. package/src/components/Molecules/Logos/Logos.js +35 -15
  60. package/src/components/Molecules/ShareButton/ShareButton.js +1 -0
  61. package/src/components/Molecules/ShareButton/ShareButton.test.js +8 -32
  62. package/src/components/Organisms/Footer/Nav/Nav.js +2 -2
  63. package/src/components/Organisms/Footer/__snapshots__/Footer.test.js.snap +155 -189
  64. package/src/components/Organisms/Header/Header.md +4 -0
  65. package/src/components/Organisms/Header/HeaderNav/HeaderNav.js +213 -0
  66. package/src/components/Organisms/Header/HeaderNav/HeaderNav.style.js +391 -0
  67. package/src/components/Organisms/Header/HeaderNav/Menu-Group-Icon.svg +3 -0
  68. package/src/components/Organisms/Header/HeaderNav/arrow-right.png +0 -0
  69. package/src/components/Organisms/Header/HeaderNav/arrow.svg +6 -0
  70. package/src/components/Organisms/Header/HeaderNav/chevron-down.svg +3 -0
  71. package/src/components/Organisms/Header/Nav/Nav.js +1 -1
  72. package/src/components/Organisms/Header/annoying.css +14 -0
  73. package/src/components/Organisms/Header/assets/Post.svg +3 -0
  74. package/src/components/Organisms/Header/data/data-extended.js +280 -0
  75. package/src/components/Organisms/Header/data/data-live.js +149 -0
  76. package/src/components/Organisms/Header2025/Burger/BurgerMenu.js +28 -0
  77. package/src/components/Organisms/Header2025/Burger/BurgerMenu.style.js +99 -0
  78. package/src/components/Organisms/Header2025/Header2025.js +62 -0
  79. package/src/components/Organisms/Header2025/Header2025.md +554 -0
  80. package/src/components/Organisms/Header2025/Header2025.style.js +131 -0
  81. package/src/components/Organisms/Header2025/HeaderNav2025/HeaderNav2025.js +192 -0
  82. package/src/components/Organisms/Header2025/HeaderNav2025/HeaderNav2025.style.js +462 -0
  83. package/src/components/Organisms/Header2025/HeaderNav2025/HeaderNavItem2025.js +142 -0
  84. package/src/components/Organisms/Header2025/HeaderNav2025/Menu-Group-Icon.svg +3 -0
  85. package/src/components/Organisms/Header2025/HeaderNav2025/MoreNav.js +171 -0
  86. package/src/components/Organisms/Header2025/HeaderNav2025/MoreNav.style.js +190 -0
  87. package/src/components/Organisms/Header2025/HeaderNav2025/arrow-right.png +0 -0
  88. package/src/components/Organisms/Header2025/HeaderNav2025/arrow.svg +6 -0
  89. package/src/components/Organisms/Header2025/HeaderNav2025/chevron-down.svg +3 -0
  90. package/src/components/Organisms/Header2025/annoying.css +14 -0
  91. package/src/components/Organisms/Header2025/assets/PayIn.svg +3 -0
  92. package/src/components/Organisms/Header2025/assets/Post.svg +3 -0
  93. package/src/components/Organisms/Header2025/assets/icon--mail--2023.svg +3 -0
  94. package/src/components/Organisms/Header2025/assets/icon--search--2023.svg +3 -0
  95. package/src/components/Organisms/Header2025/assets/icon--shop--2023.svg +3 -0
  96. package/src/components/Organisms/Header2025/data/data-extended.js +280 -0
  97. package/src/components/Organisms/Header2025/data/data-live.js +149 -0
  98. package/src/components/Organisms/Header2025/data/data.js +184 -0
  99. package/src/components/Organisms/Header2025/header2025.test.js +23 -0
  100. package/src/index.js +1 -0
  101. package/src/styleguide/data/data.js +19 -19
  102. package/src/theme/shared/allBreakpoints.js +1 -0
  103. package/src/utils/navHelper.js +24 -1
@@ -0,0 +1,554 @@
1
+ # Comic Relief header
2
+
3
+ ```js
4
+ import data from './data/data';
5
+ import Link from '../../Atoms/Link/Link';
6
+
7
+ <Header2025
8
+ navItems={data}
9
+ rotate="true"
10
+ donateButton={
11
+ <>
12
+ <Link color="red" type="button" href="/donation">
13
+ Donate
14
+ </Link>
15
+ </>
16
+ }
17
+ />;
18
+ ```
19
+
20
+ # Sport Relief header
21
+
22
+ ```js
23
+ import data from './data/data';
24
+ import Link from '../../Atoms/Link/Link';
25
+
26
+ <Header2025
27
+ navItems={data}
28
+ campaign="Sport Relief"
29
+ donateButton={
30
+ <>
31
+ <Link color="red" type="button" href="/donation">
32
+ Donate
33
+ </Link>
34
+ </>
35
+ }
36
+ />;
37
+ ```
38
+
39
+ # Pride header
40
+
41
+ ```js
42
+ import data from './data/data';
43
+ import Link from '../../Atoms/Link/Link';
44
+
45
+ <Header2025
46
+ navItems={data}
47
+ campaign="Pride"
48
+ donateButton={
49
+ <>
50
+ <Link color="red" type="button" href="/donation">
51
+ Donate
52
+ </Link>
53
+ </>
54
+ }
55
+ />;
56
+ ```
57
+
58
+ # Comic Relief header with Search
59
+
60
+ ```js
61
+ import data from './data/data';
62
+ import Link from '../../Atoms/Link/Link';
63
+ import searchIcon from './assets/icon--search--2023.svg';
64
+ import Icon from '../../Atoms/SocialIcons/Icon/Icon';
65
+ import RichText from '../../Atoms/RichText/RichText';
66
+
67
+ const title = 'Stay in the know!';
68
+ const topCopy = (
69
+ <RichText
70
+ markup={`<p>Get regular email updates and info on what we're up to!</p>`}
71
+ />
72
+ );
73
+ const privacyCopy = (
74
+ <RichText
75
+ markup={`<p>Our <a class="link link--white inline" href="/privacy-notice">Privacy Policy</a> describes how we handle and protect your information.<br><br>If you are under 18, please make sure you have your parents’ permission before providing us with any personal details.</p>`}
76
+ />
77
+ );
78
+ const successCopy = (
79
+ <RichText
80
+ markup={`<p>Thanks! Your first email will be with you shortly</p>`}
81
+ />
82
+ );
83
+
84
+ initialState = { isSuccess: false };
85
+ const [success, setSuccess] = React.useState(false);
86
+
87
+ <Header2025
88
+ navItems={data}
89
+ rotate="true"
90
+ donateButton={
91
+ <>
92
+ <Link color="red" type="button" href="/donation">
93
+ Donate
94
+ </Link>
95
+ </>
96
+ }
97
+ metaIcons={
98
+ <>
99
+ <div>
100
+ <Icon
101
+ icon={searchIcon}
102
+ title="Search"
103
+ target="self"
104
+ role="button"
105
+ href="/search"
106
+ brand="comicrelief"
107
+ tabIndex="0"
108
+ id="search"
109
+ isHeader
110
+ />
111
+ </div>
112
+ </>
113
+ }
114
+ />;
115
+ ```
116
+
117
+ # Comic Relief full header #1
118
+
119
+ ```js
120
+ import data from './data/data';
121
+ import Link from '../../Atoms/Link/Link';
122
+ import searchIcon from './assets/icon--search--2023.svg';
123
+ import shopIcon from './assets/icon--shop--2023.svg';
124
+ import payinIcon from './assets/PayIn.svg';
125
+ import esuIcon from './assets/Post.svg';
126
+
127
+ import Icon from '../../Atoms/SocialIcons/Icon/Icon';
128
+ import RichText from '../../Atoms/RichText/RichText';
129
+
130
+ const title = 'Stay in the know!';
131
+ const topCopy = (
132
+ <RichText
133
+ markup={`<p>Get regular email updates and info on what we're up to!</p>`}
134
+ />
135
+ );
136
+ const privacyCopy = (
137
+ <RichText
138
+ markup={`<p>Our <a class="link link--white inline" href="/privacy-notice">Privacy Policy</a> describes how we handle and protect your information.<br><br>If you are under 18, please make sure you have your parents’ permission before providing us with any personal details.</p>`}
139
+ />
140
+ );
141
+ const successCopy = (
142
+ <RichText
143
+ markup={`<p>Thanks! Your first email will be with you shortly</p>`}
144
+ />
145
+ );
146
+
147
+ initialState = { isSuccess: false };
148
+ const [success, setSuccess] = React.useState(false);
149
+
150
+ <>
151
+ <Header2025
152
+ navItems={data}
153
+ rotate="true"
154
+ donateButton={
155
+ <>
156
+ <Link color="red" type="button" href="/donation">
157
+ Donate
158
+ </Link>
159
+ </>
160
+ }
161
+ metaIcons={
162
+ <>
163
+ <div>
164
+ <Icon
165
+ icon={esuIcon}
166
+ title="Newsletter"
167
+ target="_blank"
168
+ role="button"
169
+ href="#"
170
+ brand="comicrelief"
171
+ tabIndex="0"
172
+ isHeader
173
+ id="esu"
174
+ />
175
+ </div>
176
+ <div>
177
+ <Icon
178
+ icon={payinIcon}
179
+ title="Pay in"
180
+ target="_blank"
181
+ role="button"
182
+ href="https://donation.comicrelief.com/?cartId=rnd23-fundraisingpayin"
183
+ brand="comicrelief"
184
+ tabIndex="0"
185
+ isHeader
186
+ id="payin"
187
+ />
188
+ </div>
189
+
190
+ <div>
191
+ <Icon
192
+ icon={shopIcon}
193
+ title="Shop"
194
+ target="_blank"
195
+ role="button"
196
+ href="https://shop.comicrelief.com"
197
+ brand="comicrelief"
198
+ tabIndex="0"
199
+ isHeader
200
+ id="shop"
201
+ />
202
+ </div>
203
+
204
+ <div>
205
+ <Icon
206
+ icon={searchIcon}
207
+ title="Search"
208
+ target="self"
209
+ role="button"
210
+ href="/search"
211
+ brand="comicrelief"
212
+ tabIndex="0"
213
+ isHeader
214
+ id="search"
215
+ />
216
+ </div>
217
+ </>
218
+ }
219
+ />
220
+ <div style={{height: "1000px", backgroundColor: "turquoise", width:"100%"}}>
221
+ <img style={{width: "100%", maxWidth:"1440px", margin: "0 auto", display: "block"}} src="https://images.ctfassets.net/zsfivwzfgl3t/ecqrPx7BesE3JsYR2ns0E/a374276ba6d8024b9cd7c6d27c911303/Manchester_Marathon.jpeg"/>
222
+ </div>
223
+ </>;
224
+ ```
225
+
226
+ # Comic Relief full header #2
227
+
228
+ ```js
229
+ import data from './data/data-extended';
230
+ import Link from '../../Atoms/Link/Link';
231
+ import searchIcon from './assets/icon--search--2023.svg';
232
+ import shopIcon from './assets/icon--shop--2023.svg';
233
+ import payinIcon from './assets/PayIn.svg';
234
+ import esuIcon from './assets/Post.svg';
235
+
236
+ import Icon from '../../Atoms/SocialIcons/Icon/Icon';
237
+ import RichText from '../../Atoms/RichText/RichText';
238
+
239
+ const title = 'Stay in the know!';
240
+ const topCopy = (
241
+ <RichText
242
+ markup={`<p>Get regular email updates and info on what we're up to!</p>`}
243
+ />
244
+ );
245
+ const privacyCopy = (
246
+ <RichText
247
+ markup={`<p>Our <a class="link link--white inline" href="/privacy-notice">Privacy Policy</a> describes how we handle and protect your information.<br><br>If you are under 18, please make sure you have your parents’ permission before providing us with any personal details.</p>`}
248
+ />
249
+ );
250
+ const successCopy = (
251
+ <RichText
252
+ markup={`<p>Thanks! Your first email will be with you shortly</p>`}
253
+ />
254
+ );
255
+
256
+ initialState = { isSuccess: false };
257
+ const [success, setSuccess] = React.useState(false);
258
+
259
+ <>
260
+ <Header2025
261
+ navItems={data}
262
+ rotate="true"
263
+ donateButton={
264
+ <>
265
+ <Link color="red" type="button" href="/donation">
266
+ Donate
267
+ </Link>
268
+ </>
269
+ }
270
+ metaIcons={
271
+ <>
272
+ <div>
273
+ <Icon
274
+ icon={esuIcon}
275
+ title="Newsletter"
276
+ target="_blank"
277
+ role="button"
278
+ href="#"
279
+ brand="comicrelief"
280
+ tabIndex="0"
281
+ isHeader
282
+ id="esu"
283
+ />
284
+ </div>
285
+ <div>
286
+ <Icon
287
+ icon={payinIcon}
288
+ title="Pay in"
289
+ target="_blank"
290
+ role="button"
291
+ href="https://donation.comicrelief.com/?cartId=rnd23-fundraisingpayin"
292
+ brand="comicrelief"
293
+ tabIndex="0"
294
+ isHeader
295
+ id="payin"
296
+ />
297
+ </div>
298
+
299
+ <div>
300
+ <Icon
301
+ icon={shopIcon}
302
+ title="Shop"
303
+ target="_blank"
304
+ role="button"
305
+ href="https://shop.comicrelief.com"
306
+ brand="comicrelief"
307
+ tabIndex="0"
308
+ isHeader
309
+ id="shop"
310
+ />
311
+ </div>
312
+
313
+ <div>
314
+ <Icon
315
+ icon={searchIcon}
316
+ title="Search"
317
+ target="self"
318
+ role="button"
319
+ href="/search"
320
+ brand="comicrelief"
321
+ tabIndex="0"
322
+ isHeader
323
+ id="search"
324
+ />
325
+ </div>
326
+ </>
327
+ }
328
+ />
329
+ <div style={{height: "1000px", backgroundColor: "turquoise", width:"100%"}}>
330
+ <img style={{width: "100%", maxWidth:"1440px", margin: "0 auto", display: "block"}} src="https://images.ctfassets.net/zsfivwzfgl3t/ecqrPx7BesE3JsYR2ns0E/a374276ba6d8024b9cd7c6d27c911303/Manchester_Marathon.jpeg"/>
331
+ </div>
332
+ </>;
333
+ ```
334
+
335
+ # -
336
+ # Comic Relief full header #3: nav items as per 19/11/24 (default 60 character limit)
337
+
338
+ ```js
339
+ import data from './data/data-live';
340
+ import Link from '../../Atoms/Link/Link';
341
+ import searchIcon from './assets/icon--search--2023.svg';
342
+ import shopIcon from './assets/icon--shop--2023.svg';
343
+ import payinIcon from './assets/PayIn.svg';
344
+ import esuIcon from './assets/Post.svg';
345
+
346
+ import Icon from '../../Atoms/SocialIcons/Icon/Icon';
347
+ import RichText from '../../Atoms/RichText/RichText';
348
+
349
+ const title = 'Stay in the know!';
350
+ const topCopy = (
351
+ <RichText
352
+ markup={`<p>Get regular email updates and info on what we're up to!</p>`}
353
+ />
354
+ );
355
+ const privacyCopy = (
356
+ <RichText
357
+ markup={`<p>Our <a class="link link--white inline" href="/privacy-notice">Privacy Policy</a> describes how we handle and protect your information.<br><br>If you are under 18, please make sure you have your parents’ permission before providing us with any personal details.</p>`}
358
+ />
359
+ );
360
+ const successCopy = (
361
+ <RichText
362
+ markup={`<p>Thanks! Your first email will be with you shortly</p>`}
363
+ />
364
+ );
365
+
366
+ initialState = { isSuccess: false };
367
+ const [success, setSuccess] = React.useState(false);
368
+
369
+ <>
370
+ <Header2025
371
+ navItems={data}
372
+ rotate="true"
373
+ donateButton={
374
+ <>
375
+ <Link color="red" type="button" href="/donation">
376
+ Donate
377
+ </Link>
378
+ </>
379
+ }
380
+ metaIcons={
381
+ <>
382
+ <div>
383
+ <Icon
384
+ icon={esuIcon}
385
+ title="Newsletter"
386
+ target="_blank"
387
+ role="button"
388
+ href="#"
389
+ brand="comicrelief"
390
+ tabIndex="0"
391
+ isHeader
392
+ id="esu"
393
+ />
394
+ </div>
395
+ <div>
396
+ <Icon
397
+ icon={payinIcon}
398
+ title="Pay in"
399
+ target="_blank"
400
+ role="button"
401
+ href="https://donation.comicrelief.com/?cartId=rnd23-fundraisingpayin"
402
+ brand="comicrelief"
403
+ tabIndex="0"
404
+ isHeader
405
+ id="payin"
406
+ />
407
+ </div>
408
+
409
+ <div>
410
+ <Icon
411
+ icon={shopIcon}
412
+ title="Shop"
413
+ target="_blank"
414
+ role="button"
415
+ href="https://shop.comicrelief.com"
416
+ brand="comicrelief"
417
+ tabIndex="0"
418
+ isHeader
419
+ id="shop"
420
+ />
421
+ </div>
422
+
423
+ <div>
424
+ <Icon
425
+ icon={searchIcon}
426
+ title="Search"
427
+ target="self"
428
+ role="button"
429
+ href="/search"
430
+ brand="comicrelief"
431
+ tabIndex="0"
432
+ isHeader
433
+ id="search"
434
+ />
435
+ </div>
436
+ </>
437
+ }
438
+ />
439
+ <div style={{height: "1000px", backgroundColor: "turquoise", width:"100%"}}>
440
+ <img style={{width: "100%", maxWidth:"1440px", margin: "0 auto", display: "block"}} src="https://images.ctfassets.net/zsfivwzfgl3t/ecqrPx7BesE3JsYR2ns0E/a374276ba6d8024b9cd7c6d27c911303/Manchester_Marathon.jpeg"/>
441
+ </div>
442
+ </>;
443
+ ```
444
+
445
+ # -
446
+ # Comic Relief full header #3: nav items as per 19/11/24 (overridden 50 character limit)
447
+
448
+ ```js
449
+ import data from './data/data-live';
450
+ import Link from '../../Atoms/Link/Link';
451
+ import searchIcon from './assets/icon--search--2023.svg';
452
+ import shopIcon from './assets/icon--shop--2023.svg';
453
+ import payinIcon from './assets/PayIn.svg';
454
+ import esuIcon from './assets/Post.svg';
455
+
456
+ import Icon from '../../Atoms/SocialIcons/Icon/Icon';
457
+ import RichText from '../../Atoms/RichText/RichText';
458
+
459
+ const title = 'Stay in the know!';
460
+ const topCopy = (
461
+ <RichText
462
+ markup={`<p>Get regular email updates and info on what we're up to!</p>`}
463
+ />
464
+ );
465
+ const privacyCopy = (
466
+ <RichText
467
+ markup={`<p>Our <a class="link link--white inline" href="/privacy-notice">Privacy Policy</a> describes how we handle and protect your information.<br><br>If you are under 18, please make sure you have your parents’ permission before providing us with any personal details.</p>`}
468
+ />
469
+ );
470
+ const successCopy = (
471
+ <RichText
472
+ markup={`<p>Thanks! Your first email will be with you shortly</p>`}
473
+ />
474
+ );
475
+
476
+ initialState = { isSuccess: false };
477
+ const [success, setSuccess] = React.useState(false);
478
+
479
+ <>
480
+ <Header2025
481
+ characterLimit={50}
482
+ navItems={data}
483
+ rotate="true"
484
+ donateButton={
485
+ <>
486
+ <Link color="red" type="button" href="/donation">
487
+ Donate
488
+ </Link>
489
+ </>
490
+ }
491
+ metaIcons={
492
+ <>
493
+ <div>
494
+ <Icon
495
+ icon={esuIcon}
496
+ title="Newsletter"
497
+ target="_blank"
498
+ role="button"
499
+ href="#"
500
+ brand="comicrelief"
501
+ tabIndex="0"
502
+ isHeader
503
+ id="esu"
504
+ />
505
+ </div>
506
+ <div>
507
+ <Icon
508
+ icon={payinIcon}
509
+ title="Pay in"
510
+ target="_blank"
511
+ role="button"
512
+ href="https://donation.comicrelief.com/?cartId=rnd23-fundraisingpayin"
513
+ brand="comicrelief"
514
+ tabIndex="0"
515
+ isHeader
516
+ id="payin"
517
+ />
518
+ </div>
519
+
520
+ <div>
521
+ <Icon
522
+ icon={shopIcon}
523
+ title="Shop"
524
+ target="_blank"
525
+ role="button"
526
+ href="https://shop.comicrelief.com"
527
+ brand="comicrelief"
528
+ tabIndex="0"
529
+ isHeader
530
+ id="shop"
531
+ />
532
+ </div>
533
+
534
+ <div>
535
+ <Icon
536
+ icon={searchIcon}
537
+ title="Search"
538
+ target="self"
539
+ role="button"
540
+ href="/search"
541
+ brand="comicrelief"
542
+ tabIndex="0"
543
+ isHeader
544
+ id="search"
545
+ />
546
+ </div>
547
+ </>
548
+ }
549
+ />
550
+ <div style={{height: "1000px", backgroundColor: "turquoise", width:"100%"}}>
551
+ <img style={{width: "100%", maxWidth:"1440px", margin: "0 auto", display: "block"}} src="https://images.ctfassets.net/zsfivwzfgl3t/ecqrPx7BesE3JsYR2ns0E/a374276ba6d8024b9cd7c6d27c911303/Manchester_Marathon.jpeg"/>
552
+ </div>
553
+ </>;
554
+ ```
@@ -0,0 +1,131 @@
1
+ import styled from 'styled-components';
2
+
3
+ import zIndex from '../../../theme/shared/zIndex';
4
+ import containers from '../../../theme/shared/containers';
5
+
6
+ import './annoying.css';
7
+
8
+ const Header2025Wrapper = styled.header.attrs(() => ({
9
+ role: 'banner'
10
+ }))`
11
+ position: relative;
12
+ background-color: ${({ theme }) => theme.color('white')};
13
+ padding: 0;
14
+ height: 75px;
15
+
16
+ @media ${({ theme }) => theme.allBreakpoints('Nav')} {
17
+ height: auto;
18
+ }
19
+ `;
20
+
21
+ const InnerWrapper = styled.div`
22
+ display: flex;
23
+ align-items: center;
24
+ height: 100%;
25
+ padding: 0 12px;
26
+ cursor: pointer;
27
+ max-width: ${containers.large};
28
+
29
+ @media ${({ theme }) => theme.allBreakpoints('Nav')} {
30
+ margin: 0 auto;
31
+ }
32
+ `;
33
+
34
+ const Brand = styled.div`
35
+ ${zIndex('high')};
36
+ margin-right: auto;
37
+ display: flex;
38
+ align-items: center;
39
+
40
+ a {
41
+ border: 0;
42
+ color: transparent;
43
+ margin-right: 25px;
44
+
45
+ img {
46
+ width: 100%;
47
+ object-fit: contain;
48
+ }
49
+
50
+ :hover {
51
+ border: 0;
52
+ }
53
+ }
54
+
55
+ @media ${({ theme }) => theme.allBreakpoints('Nav')} {
56
+ margin-right: 0
57
+ }
58
+ `;
59
+
60
+ const DonateButtonWrapperTop = styled.div`
61
+ width: 100px;
62
+ display: flex;
63
+ justify-content: center;
64
+ margin-left: 5px;
65
+
66
+ // Donate button
67
+ a {
68
+ width: 100%;
69
+ transition: width 0.4s cubic-bezier(0.5, 1.5, 0.5, 0.80);
70
+
71
+ &:hover,
72
+ &:focus {
73
+ width: 100%;
74
+ box-shadow: rgba(0, 0, 0, 0.1) 0 0 20px 0;
75
+ }
76
+ }
77
+ `;
78
+
79
+ const Header2025MetaIcons = styled.div`
80
+ // Hide these when using the mobile navigation,
81
+ // now only rendered in the Header2025Nav
82
+ display: none;
83
+
84
+ @media ${({ theme }) => theme.allBreakpoints('Nav')} {
85
+ width: auto;
86
+ align-items: center;
87
+
88
+ // Icons
89
+ > div {
90
+ height: 35px;
91
+ width: auto;
92
+ display: inline-block;
93
+
94
+ > a {
95
+ height: inherit;
96
+ width: inherit;
97
+ margin-right: 6px;
98
+
99
+ img {
100
+ padding: 5px 7px;
101
+ height: inherit;
102
+ width: inherit;
103
+ }
104
+ }
105
+ }
106
+
107
+ position: relative;
108
+ display: flex;
109
+ align-items: center;
110
+ background-color: ${({ theme }) => theme.color('white')};
111
+ margin-right: 0px;
112
+ right: 0px;
113
+ }
114
+
115
+ @media ${({ theme }) => theme.allBreakpoints('NavWide')} {
116
+ // Icons
117
+ > div > a {
118
+ margin-right: 20px;
119
+ }
120
+ }
121
+ `;
122
+
123
+ const ButtonsAndIcons = styled.div`
124
+ margin-left: auto;
125
+ display: flex;
126
+ `;
127
+
128
+ export {
129
+ Brand, Header2025Wrapper, InnerWrapper, DonateButtonWrapperTop,
130
+ Header2025MetaIcons, ButtonsAndIcons
131
+ };