@comicrelief/component-library 8.74.1 → 8.75.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 (60) hide show
  1. package/README.md +12 -0
  2. package/dist/index.cjs.js +578 -572
  3. package/dist/index.es.js +5423 -5367
  4. package/dist/style.css +1 -1
  5. package/package.json +1 -1
  6. package/src/components/Atoms/AmbientVideo/AmbientVideo.js +4 -3
  7. package/src/components/Atoms/Button/Button.js +1 -1
  8. package/src/components/Atoms/Button/Button.test.js +1 -0
  9. package/src/components/Atoms/ButtonWithStates/ButtonWithStates.js +2 -2
  10. package/src/components/Atoms/Confetti/Confetti.js +1 -1
  11. package/src/components/Atoms/Icons/IconsExample.jsx +2 -1
  12. package/src/components/Atoms/Icons/Post.js +37 -0
  13. package/src/components/Atoms/Icons/index.js +1 -0
  14. package/src/components/Atoms/Icons/post.svg +3 -0
  15. package/src/components/Atoms/Pagination/Pagination.js +1 -0
  16. package/src/components/Atoms/Pagination/__snapshots__/Pagination.test.js.snap +110 -0
  17. package/src/components/Atoms/Picture/Picture.js +4 -0
  18. package/src/components/Atoms/Picture/Picture.test.js +4 -0
  19. package/src/components/Atoms/SocialIcons/SocialIcons.js +2 -2
  20. package/src/components/Atoms/SocialIcons/__snapshots__/SocialIcons.test.js.snap +15 -0
  21. package/src/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +6 -1
  22. package/src/components/Atoms/TextInputWithDropdown/__snapshots__/TextInputWithDropdown.test.js.snap +12 -0
  23. package/src/components/Molecules/ArticleTeaser/ArticleTeaser.test.js +4 -0
  24. package/src/components/Molecules/Box/__snapshots__/Box.test.js.snap +2 -0
  25. package/src/components/Molecules/CTA/CTAMultiCard/CTAMultiCard.js +4 -2
  26. package/src/components/Molecules/CTA/CTAMultiCard/__snapshots__/CTAMultiCard.test.js.snap +40 -0
  27. package/src/components/Molecules/CTA/CTASingleCard/CTASingleCard.js +2 -1
  28. package/src/components/Molecules/CTA/CTASingleCard/__snapshots__/CTASingleCard.test.js.snap +6 -0
  29. package/src/components/Molecules/Card/Card.js +3 -1
  30. package/src/components/Molecules/Card/__snapshots__/Card.test.js.snap +8 -0
  31. package/src/components/Molecules/CardDs/__snapshots__/CardDs.test.js.snap +4 -0
  32. package/src/components/Molecules/Countdown/Countdown.js +5 -5
  33. package/src/components/Molecules/Descriptor/Descriptor.test.js +221 -221
  34. package/src/components/Molecules/DoubleCopy/DoubleCopy.js +3 -3
  35. package/src/components/Molecules/DoubleCopy/DoubleCopy.test.js +3 -0
  36. package/src/components/Molecules/EmailSignUp/EmailSignUp.js +8 -7
  37. package/src/components/Molecules/HeroBanner/__snapshots__/HeroBanner.test.js.snap +8 -0
  38. package/src/components/Molecules/PartnerLink/PartnerLink.test.js +2 -0
  39. package/src/components/Molecules/PictureOrVideo/__snapshots__/PictureOrVideo.test.js.snap +10 -0
  40. package/src/components/Molecules/Promo/__snapshots__/Promo.test.js.snap +4 -0
  41. package/src/components/Molecules/SchoolLookup/__snapshots__/SchoolLookup.test.js.snap +2 -0
  42. package/src/components/Molecules/SearchResult/__snapshots__/SearchResult.test.js.snap +8 -0
  43. package/src/components/Molecules/SingleMessage/__snapshots__/SingleMessage.test.js.snap +12 -0
  44. package/src/components/Molecules/SingleMessageDS/__snapshots__/SingleMessageDs.test.js.snap +2 -0
  45. package/src/components/Molecules/StatsSlice/StatsSlice.js +2 -1
  46. package/src/components/Molecules/StatsSlice/_StatNode.js +7 -6
  47. package/src/components/Molecules/StatsSlice/__snapshots__/StatsSlice.test.js.snap +28 -0
  48. package/src/components/Molecules/Typeahead/__snapshots__/Typeahead.test.js.snap +2 -0
  49. package/src/components/Organisms/DynamicGallery/DynamicGallery.js +4 -3
  50. package/src/components/Organisms/DynamicGallery/_DynamicGalleryColumn.js +4 -2
  51. package/src/components/Organisms/DynamicGallery/_Lightbox.js +11 -8
  52. package/src/components/Organisms/DynamicGallery/__snapshots__/DynamicGallery.test.js.snap +56 -10
  53. package/src/components/Organisms/EmailBanner/__snapshots__/EmailBanner.test.js.snap +8 -0
  54. package/src/components/Organisms/EmailSignUp/__snapshots__/EmailSignUp.test.js.snap +2 -0
  55. package/src/components/Organisms/Footer/__snapshots__/Footer.test.js.snap +5 -0
  56. package/src/components/Organisms/FooterNew/__snapshots__/FooterNew.test.js.snap +62 -22
  57. package/src/components/Organisms/Membership/Membership.test.js +2 -0
  58. package/src/docs/InstallationDoc.jsx +3 -0
  59. package/src/index.js +2 -0
  60. package/src/theme/shared/global.css +0 -1
@@ -1,6 +1,11 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`does not render copyright text when not supplied 1`] = `
4
+ .c25 {
5
+ transform: rotate(0);
6
+ fill: #FFFFFF;
7
+ }
8
+
4
9
  .c23 {
5
10
  display: inline-flex;
6
11
  position: relative;
@@ -225,11 +230,6 @@ exports[`does not render copyright text when not supplied 1`] = `
225
230
  width: auto;
226
231
  }
227
232
 
228
- .c25 {
229
- transform: rotate(0);
230
- fill: #FFFFFF;
231
- }
232
-
233
233
  .c10 {
234
234
  margin-bottom: 1.5rem;
235
235
  color: #FFFFFF;
@@ -562,6 +562,12 @@ exports[`does not render copyright text when not supplied 1`] = `
562
562
  margin-bottom: 0.5rem;
563
563
  }
564
564
 
565
+ @media (min-width: 1024px) {
566
+ .c25 {
567
+ fill: #FFFFFF;
568
+ }
569
+ }
570
+
565
571
  @media (min-width: 740px) {
566
572
  .c23 {
567
573
  font-size: 1rem;
@@ -641,12 +647,6 @@ exports[`does not render copyright text when not supplied 1`] = `
641
647
  }
642
648
  }
643
649
 
644
- @media (min-width: 1024px) {
645
- .c25 {
646
- fill: #FFFFFF;
647
- }
648
- }
649
-
650
650
  @media (min-width: 740px) {
651
651
  .c10 {
652
652
  margin-bottom: 1.5rem;
@@ -885,21 +885,26 @@ exports[`does not render copyright text when not supplied 1`] = `
885
885
  >
886
886
  <div
887
887
  className="c10"
888
+ data-testid="EmailSignUpWrapper"
888
889
  >
889
890
  <div
890
891
  className="c11"
892
+ data-testid="EmailSignUpLabelWrapper"
891
893
  >
892
894
  <span
893
895
  className="c12"
896
+ data-testid="EmailSignUpLabel"
894
897
  >
895
898
  Subscribe to our newsletter
896
899
  </span>
897
900
  </div>
898
901
  <div
899
902
  className="c13"
903
+ data-testid="EmailSignUpFormWrapper"
900
904
  >
901
905
  <div
902
906
  className="c14"
907
+ data-testid="EmailSignUpInputWrapper"
903
908
  >
904
909
  <label
905
910
  className="c15 c16"
@@ -922,6 +927,7 @@ exports[`does not render copyright text when not supplied 1`] = `
922
927
  <input
923
928
  aria-required={false}
924
929
  className="c21"
930
+ data-testid="EmailSignUpInput"
925
931
  id="email-signup"
926
932
  name="email"
927
933
  onBlur={[Function]}
@@ -936,9 +942,11 @@ exports[`does not render copyright text when not supplied 1`] = `
936
942
  </div>
937
943
  <div
938
944
  className="c22"
945
+ data-testid="EmailSignUpButtonWrapper"
939
946
  >
940
947
  <button
941
948
  className="c23 c24"
949
+ data-testid="Button"
942
950
  type="submit"
943
951
  >
944
952
  <span
@@ -977,9 +985,11 @@ exports[`does not render copyright text when not supplied 1`] = `
977
985
  >
978
986
  <ul
979
987
  className="c27"
988
+ data-testid="SocialIconsList"
980
989
  >
981
990
  <li
982
991
  className="c28"
992
+ data-testid="SocialIcon-facebook"
983
993
  >
984
994
  <a
985
995
  className="c29 c30"
@@ -998,6 +1008,7 @@ exports[`does not render copyright text when not supplied 1`] = `
998
1008
  </li>
999
1009
  <li
1000
1010
  className="c28"
1011
+ data-testid="SocialIcon-instagram"
1001
1012
  >
1002
1013
  <a
1003
1014
  className="c29 c30"
@@ -1016,6 +1027,7 @@ exports[`does not render copyright text when not supplied 1`] = `
1016
1027
  </li>
1017
1028
  <li
1018
1029
  className="c28"
1030
+ data-testid="SocialIcon-x"
1019
1031
  >
1020
1032
  <a
1021
1033
  className="c29 c30"
@@ -1034,6 +1046,7 @@ exports[`does not render copyright text when not supplied 1`] = `
1034
1046
  </li>
1035
1047
  <li
1036
1048
  className="c28"
1049
+ data-testid="SocialIcon-tiktok"
1037
1050
  >
1038
1051
  <a
1039
1052
  className="c29 c30"
@@ -1052,6 +1065,7 @@ exports[`does not render copyright text when not supplied 1`] = `
1052
1065
  </li>
1053
1066
  <li
1054
1067
  className="c28"
1068
+ data-testid="SocialIcon-youtube"
1055
1069
  >
1056
1070
  <a
1057
1071
  className="c29 c30"
@@ -1157,9 +1171,11 @@ exports[`does not render copyright text when not supplied 1`] = `
1157
1171
  >
1158
1172
  <ul
1159
1173
  className="c27"
1174
+ data-testid="SocialIconsList"
1160
1175
  >
1161
1176
  <li
1162
1177
  className="c28"
1178
+ data-testid="SocialIcon-facebook"
1163
1179
  >
1164
1180
  <a
1165
1181
  className="c29 c30"
@@ -1178,6 +1194,7 @@ exports[`does not render copyright text when not supplied 1`] = `
1178
1194
  </li>
1179
1195
  <li
1180
1196
  className="c28"
1197
+ data-testid="SocialIcon-instagram"
1181
1198
  >
1182
1199
  <a
1183
1200
  className="c29 c30"
@@ -1196,6 +1213,7 @@ exports[`does not render copyright text when not supplied 1`] = `
1196
1213
  </li>
1197
1214
  <li
1198
1215
  className="c28"
1216
+ data-testid="SocialIcon-x"
1199
1217
  >
1200
1218
  <a
1201
1219
  className="c29 c30"
@@ -1214,6 +1232,7 @@ exports[`does not render copyright text when not supplied 1`] = `
1214
1232
  </li>
1215
1233
  <li
1216
1234
  className="c28"
1235
+ data-testid="SocialIcon-tiktok"
1217
1236
  >
1218
1237
  <a
1219
1238
  className="c29 c30"
@@ -1232,6 +1251,7 @@ exports[`does not render copyright text when not supplied 1`] = `
1232
1251
  </li>
1233
1252
  <li
1234
1253
  className="c28"
1254
+ data-testid="SocialIcon-youtube"
1235
1255
  >
1236
1256
  <a
1237
1257
  className="c29 c30"
@@ -1306,6 +1326,11 @@ exports[`does not render copyright text when not supplied 1`] = `
1306
1326
  `;
1307
1327
 
1308
1328
  exports[`renders correctly 1`] = `
1329
+ .c25 {
1330
+ transform: rotate(0);
1331
+ fill: #FFFFFF;
1332
+ }
1333
+
1309
1334
  .c23 {
1310
1335
  display: inline-flex;
1311
1336
  position: relative;
@@ -1530,11 +1555,6 @@ exports[`renders correctly 1`] = `
1530
1555
  width: auto;
1531
1556
  }
1532
1557
 
1533
- .c25 {
1534
- transform: rotate(0);
1535
- fill: #FFFFFF;
1536
- }
1537
-
1538
1558
  .c10 {
1539
1559
  margin-bottom: 1.5rem;
1540
1560
  color: #FFFFFF;
@@ -1867,6 +1887,12 @@ exports[`renders correctly 1`] = `
1867
1887
  margin-bottom: 0.5rem;
1868
1888
  }
1869
1889
 
1890
+ @media (min-width: 1024px) {
1891
+ .c25 {
1892
+ fill: #FFFFFF;
1893
+ }
1894
+ }
1895
+
1870
1896
  @media (min-width: 740px) {
1871
1897
  .c23 {
1872
1898
  font-size: 1rem;
@@ -1946,12 +1972,6 @@ exports[`renders correctly 1`] = `
1946
1972
  }
1947
1973
  }
1948
1974
 
1949
- @media (min-width: 1024px) {
1950
- .c25 {
1951
- fill: #FFFFFF;
1952
- }
1953
- }
1954
-
1955
1975
  @media (min-width: 740px) {
1956
1976
  .c10 {
1957
1977
  margin-bottom: 1.5rem;
@@ -2190,21 +2210,26 @@ exports[`renders correctly 1`] = `
2190
2210
  >
2191
2211
  <div
2192
2212
  className="c10"
2213
+ data-testid="EmailSignUpWrapper"
2193
2214
  >
2194
2215
  <div
2195
2216
  className="c11"
2217
+ data-testid="EmailSignUpLabelWrapper"
2196
2218
  >
2197
2219
  <span
2198
2220
  className="c12"
2221
+ data-testid="EmailSignUpLabel"
2199
2222
  >
2200
2223
  Subscribe to our newsletter
2201
2224
  </span>
2202
2225
  </div>
2203
2226
  <div
2204
2227
  className="c13"
2228
+ data-testid="EmailSignUpFormWrapper"
2205
2229
  >
2206
2230
  <div
2207
2231
  className="c14"
2232
+ data-testid="EmailSignUpInputWrapper"
2208
2233
  >
2209
2234
  <label
2210
2235
  className="c15 c16"
@@ -2227,6 +2252,7 @@ exports[`renders correctly 1`] = `
2227
2252
  <input
2228
2253
  aria-required={false}
2229
2254
  className="c21"
2255
+ data-testid="EmailSignUpInput"
2230
2256
  id="email-signup"
2231
2257
  name="email"
2232
2258
  onBlur={[Function]}
@@ -2241,9 +2267,11 @@ exports[`renders correctly 1`] = `
2241
2267
  </div>
2242
2268
  <div
2243
2269
  className="c22"
2270
+ data-testid="EmailSignUpButtonWrapper"
2244
2271
  >
2245
2272
  <button
2246
2273
  className="c23 c24"
2274
+ data-testid="Button"
2247
2275
  type="submit"
2248
2276
  >
2249
2277
  <span
@@ -2282,9 +2310,11 @@ exports[`renders correctly 1`] = `
2282
2310
  >
2283
2311
  <ul
2284
2312
  className="c27"
2313
+ data-testid="SocialIconsList"
2285
2314
  >
2286
2315
  <li
2287
2316
  className="c28"
2317
+ data-testid="SocialIcon-facebook"
2288
2318
  >
2289
2319
  <a
2290
2320
  className="c29 c30"
@@ -2303,6 +2333,7 @@ exports[`renders correctly 1`] = `
2303
2333
  </li>
2304
2334
  <li
2305
2335
  className="c28"
2336
+ data-testid="SocialIcon-instagram"
2306
2337
  >
2307
2338
  <a
2308
2339
  className="c29 c30"
@@ -2321,6 +2352,7 @@ exports[`renders correctly 1`] = `
2321
2352
  </li>
2322
2353
  <li
2323
2354
  className="c28"
2355
+ data-testid="SocialIcon-x"
2324
2356
  >
2325
2357
  <a
2326
2358
  className="c29 c30"
@@ -2339,6 +2371,7 @@ exports[`renders correctly 1`] = `
2339
2371
  </li>
2340
2372
  <li
2341
2373
  className="c28"
2374
+ data-testid="SocialIcon-tiktok"
2342
2375
  >
2343
2376
  <a
2344
2377
  className="c29 c30"
@@ -2357,6 +2390,7 @@ exports[`renders correctly 1`] = `
2357
2390
  </li>
2358
2391
  <li
2359
2392
  className="c28"
2393
+ data-testid="SocialIcon-youtube"
2360
2394
  >
2361
2395
  <a
2362
2396
  className="c29 c30"
@@ -2462,9 +2496,11 @@ exports[`renders correctly 1`] = `
2462
2496
  >
2463
2497
  <ul
2464
2498
  className="c27"
2499
+ data-testid="SocialIconsList"
2465
2500
  >
2466
2501
  <li
2467
2502
  className="c28"
2503
+ data-testid="SocialIcon-facebook"
2468
2504
  >
2469
2505
  <a
2470
2506
  className="c29 c30"
@@ -2483,6 +2519,7 @@ exports[`renders correctly 1`] = `
2483
2519
  </li>
2484
2520
  <li
2485
2521
  className="c28"
2522
+ data-testid="SocialIcon-instagram"
2486
2523
  >
2487
2524
  <a
2488
2525
  className="c29 c30"
@@ -2501,6 +2538,7 @@ exports[`renders correctly 1`] = `
2501
2538
  </li>
2502
2539
  <li
2503
2540
  className="c28"
2541
+ data-testid="SocialIcon-x"
2504
2542
  >
2505
2543
  <a
2506
2544
  className="c29 c30"
@@ -2519,6 +2557,7 @@ exports[`renders correctly 1`] = `
2519
2557
  </li>
2520
2558
  <li
2521
2559
  className="c28"
2560
+ data-testid="SocialIcon-tiktok"
2522
2561
  >
2523
2562
  <a
2524
2563
  className="c29 c30"
@@ -2537,6 +2576,7 @@ exports[`renders correctly 1`] = `
2537
2576
  </li>
2538
2577
  <li
2539
2578
  className="c28"
2579
+ data-testid="SocialIcon-youtube"
2540
2580
  >
2541
2581
  <a
2542
2582
  className="c29 c30"
@@ -515,11 +515,13 @@ it('renders correctly', () => {
515
515
  >
516
516
  <div
517
517
  className="c1 c2"
518
+ data-testid="PictureWrapper"
518
519
  >
519
520
  <img
520
521
  alt="Background image"
521
522
  className="c3 lazyload"
522
523
  data-src={null}
524
+ data-testid="Picture"
523
525
  />
524
526
  </div>
525
527
  <div
@@ -15,6 +15,9 @@ export default function InstallationDoc() {
15
15
  <h4>Wrap your app with the ThemeProvider and crTheme</h4>
16
16
  <p><code style={code}>{'import { ThemeProvider, crTheme } from \'@comicrelief/component-library\';'}</code></p>
17
17
 
18
+ <h4>Load fonts in your app&apos;s HTML</h4>
19
+ <p>CR-CL uses Anton and Montserrat. Add preconnect and stylesheet links to your <code style={code}>index.html</code> — see README for the URL.</p>
20
+
18
21
  <h4>Import components</h4>
19
22
  <p><code style={code}>{'import { HeroBanner } from \'@comicrelief/component-library\';'}</code></p>
20
23
  </div>
package/src/index.js CHANGED
@@ -13,6 +13,7 @@ export { default as spacing } from './theme/shared/spacing';
13
13
  export { default as zIndex } from './theme/shared/zIndex';
14
14
 
15
15
  /* Atoms */
16
+ export { default as Arrow } from './components/Atoms/Icons/Arrow';
16
17
  export { default as AmbientVideo } from './components/Atoms/AmbientVideo/AmbientVideo';
17
18
  export { default as Button } from './components/Atoms/Button/Button';
18
19
  export { default as ButtonWithStates } from './components/Atoms/ButtonWithStates/ButtonWithStates';
@@ -29,6 +30,7 @@ export { default as Link } from './components/Atoms/Link/Link';
29
30
  export { default as Logo } from './components/Atoms/Logos/Logo';
30
31
  export { default as Pagination } from './components/Atoms/Pagination/Pagination';
31
32
  export { default as Picture } from './components/Atoms/Picture/Picture';
33
+ export { default as Post } from './components/Atoms/Icons/Post';
32
34
  export { default as RadioButton } from './components/Atoms/RadioButton/RadioButton';
33
35
  export { default as RichText } from './components/Atoms/RichText/RichText';
34
36
  export { default as Select } from './components/Atoms/Select/Select';
@@ -1,4 +1,3 @@
1
- @import url('https://fonts.googleapis.com/css?family=Anton%7CMontserrat:400,500,600,700&display=swap');
2
1
 
3
2
  @font-face {
4
3
  font-family: 'Founders-GroteskXCondensed-Bold';