@foeewni/web-core 3.0.0-alpha.2 → 3.0.0-alpha.20

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.
@@ -19,18 +19,15 @@ The Friends of the Earth blockquotes use the secondary font
19
19
  @import '../../utils/scss/loader';
20
20
 
21
21
  blockquote {
22
- border-color: $gray-400;
23
- border-style: double;
24
- border-width: .2em 0;
25
- padding: $spacer*1.5 0;
22
+ padding: $spacer * 1.5 0;
26
23
  width: 80%;
27
- margin: $spacer*2 auto;
24
+ margin: ($spacer * 2) auto;
28
25
  float: none;
29
26
  clear: both;
30
27
 
31
28
  p {
32
29
  font-family: $font-family-serif;
33
- font-weight: 700;
30
+ font-weight: normal;
34
31
  font-size: $blockquote-font-size;
35
32
  line-height: $blockquote-font-size * 1.35;
36
33
  color: $foe-extradark;
@@ -54,8 +51,6 @@ blockquote {
54
51
  }
55
52
 
56
53
  @include media-breakpoint-up(sm) {
57
- width: calc(100% * 4 / 6);
58
-
59
54
  // NOTE: The width, margin-left, and margin-right values below are
60
55
  // over-ridden for sanity within CKEditor contexts.
61
56
  &.left {
@@ -63,6 +58,7 @@ blockquote {
63
58
  clear: left;
64
59
  margin-left: calc(-100% / 6);
65
60
  margin-right: 2em;
61
+ width: calc(100% * 4 / 6);
66
62
  }
67
63
 
68
64
  &.right {
@@ -70,29 +66,27 @@ blockquote {
70
66
  clear: right;
71
67
  margin-left: 2em;
72
68
  margin-right: calc(-100% / 6);
69
+ width: calc(100% * 4 / 6);
73
70
  }
74
71
  }
75
72
 
76
73
  cite,
77
74
  & + .citation {
78
- font-family: $font-family-sans-serif;
79
- font-size: 1rem;
80
- line-height: 1.3rem;
81
- font-weight: 400;
82
- font-style: italic;
83
- color: $gray-500;
75
+ width: 80%;
76
+ margin: auto;
77
+ font-family: $font-family-serif;
78
+ font-size: $blockquote-font-size;
79
+ line-height: $spacer * 2;
80
+ font-weight: bold;
81
+ color: $foe-extradark;
84
82
  display: block;
85
- text-align: right;
86
- margin-top: 1em;
87
- padding-left: 10%;
88
-
89
- &::before {
90
- content: "\2014\00A0\00A0";
91
- color: $foe-primary;
92
- }
83
+ text-align: left;
84
+ margin-top: $spacer;
93
85
  }
94
86
 
95
87
  & + .citation {
96
- margin-top: $spacer * -1;
88
+ margin-top: $spacer * -2.5;
89
+ margin-bottom: $spacer * 2;
90
+ text-align: center;
97
91
  }
98
92
  }
@@ -4,7 +4,12 @@
4
4
  .display-#{$i} {
5
5
  @include media-breakpoint-down(md) {
6
6
  font-size: calc(32 / 14) * 1rem !important;
7
- line-height: 1.05;
7
+ line-height: 4rem;
8
+ }
9
+
10
+ &::after {
11
+ content: '\A';
12
+ white-space: pre;
8
13
  }
9
14
  }
10
15
  }
@@ -20,8 +20,8 @@ Our type system is comprised of two fonts:
20
20
  To use them on your CSS please import the webfonts through Google Fonts
21
21
 
22
22
  ```
23
- @import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital@0;1&family=Libre+Franklin:ital,wght@0,400;0,700;1,400;1,700&display=swap');
23
+ @import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital@0;1&family=Libre+Franklin:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap');
24
24
  ```
25
25
 
26
26
  */
27
- @import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital@0;1&family=Libre+Franklin:ital,wght@0,400;0,700;1,400;1,700&display=swap');
27
+ @import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital@0;1&family=Libre+Franklin:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap');
package/src/fonts.js CHANGED
@@ -32,6 +32,7 @@ To use them on your CSS please import the webfonts through Google Fonts
32
32
  // Note, single line deep imports are needed here, for some reason fontawesome messes up
33
33
  // with normal imports and webpack ends up bundling the whole library (1.25mb!)
34
34
  import { library, dom } from '@fortawesome/fontawesome-svg-core';
35
+
35
36
  import { faEnvelope } from '@fortawesome/free-solid-svg-icons/faEnvelope';
36
37
  import { faSearch } from '@fortawesome/free-solid-svg-icons/faSearch';
37
38
  import { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';
@@ -40,19 +41,6 @@ import { faExternalLinkSquareAlt } from '@fortawesome/free-solid-svg-icons/faExt
40
41
  import { faArrowAltCircleUp } from '@fortawesome/free-solid-svg-icons/faArrowAltCircleUp';
41
42
  import { faShare } from '@fortawesome/free-solid-svg-icons/faShare';
42
43
  import { faLink } from '@fortawesome/free-solid-svg-icons/faLink';
43
- import { faTwitter } from '@fortawesome/free-brands-svg-icons/faTwitter';
44
- import { faFacebook } from '@fortawesome/free-brands-svg-icons/faFacebook';
45
- import { faFacebookF } from '@fortawesome/free-brands-svg-icons/faFacebookF';
46
- import { faPinterest } from '@fortawesome/free-brands-svg-icons/faPinterest';
47
- import { faLinkedin } from '@fortawesome/free-brands-svg-icons/faLinkedin';
48
- import { faInstagram } from '@fortawesome/free-brands-svg-icons/faInstagram';
49
- import { faYoutube } from '@fortawesome/free-brands-svg-icons/faYoutube';
50
- import { faTumblr } from '@fortawesome/free-brands-svg-icons/faTumblr';
51
- import { faWhatsapp } from '@fortawesome/free-brands-svg-icons/faWhatsapp';
52
- import { faFacebookMessenger } from '@fortawesome/free-brands-svg-icons/faFacebookMessenger';
53
- import { faTelegram } from '@fortawesome/free-brands-svg-icons/faTelegram';
54
- import { faTelegramPlane } from '@fortawesome/free-brands-svg-icons/faTelegramPlane';
55
- import { faTiktok } from '@fortawesome/free-brands-svg-icons/faTiktok';
56
44
  import { faChevronDown } from '@fortawesome/free-solid-svg-icons/faChevronDown';
57
45
  import { faChevronUp } from '@fortawesome/free-solid-svg-icons/faChevronUp';
58
46
  import { faAngleDown } from '@fortawesome/free-solid-svg-icons/faAngleDown';
@@ -76,6 +64,23 @@ import { faSave } from '@fortawesome/free-solid-svg-icons/faSave';
76
64
  import { faSignInAlt } from '@fortawesome/free-solid-svg-icons/faSignInAlt';
77
65
  import { faTrashAlt } from '@fortawesome/free-solid-svg-icons/faTrashAlt';
78
66
 
67
+ import { faTwitter } from '@fortawesome/free-brands-svg-icons/faTwitter';
68
+ import { faXTwitter } from '@fortawesome/free-brands-svg-icons/faXTwitter';
69
+ import { faFacebook } from '@fortawesome/free-brands-svg-icons/faFacebook';
70
+ import { faFacebookF } from '@fortawesome/free-brands-svg-icons/faFacebookF';
71
+ import { faPinterest } from '@fortawesome/free-brands-svg-icons/faPinterest';
72
+ import { faLinkedin } from '@fortawesome/free-brands-svg-icons/faLinkedin';
73
+ import { faInstagram } from '@fortawesome/free-brands-svg-icons/faInstagram';
74
+ import { faYoutube } from '@fortawesome/free-brands-svg-icons/faYoutube';
75
+ import { faTumblr } from '@fortawesome/free-brands-svg-icons/faTumblr';
76
+ import { faWhatsapp } from '@fortawesome/free-brands-svg-icons/faWhatsapp';
77
+ import { faFacebookMessenger } from '@fortawesome/free-brands-svg-icons/faFacebookMessenger';
78
+ import { faTelegram } from '@fortawesome/free-brands-svg-icons/faTelegram';
79
+ import { faTelegramPlane } from '@fortawesome/free-brands-svg-icons/faTelegramPlane';
80
+ import { faTiktok } from '@fortawesome/free-brands-svg-icons/faTiktok';
81
+ import { faBluesky } from '@fortawesome/free-brands-svg-icons/faBluesky';
82
+ import { faThreads } from '@fortawesome/free-brands-svg-icons/faThreads';
83
+
79
84
 
80
85
  // Add actually used FA icons
81
86
  library.add(
@@ -88,6 +93,7 @@ library.add(
88
93
  faShare,
89
94
  faLink,
90
95
  faTwitter,
96
+ faXTwitter,
91
97
  faFacebook,
92
98
  faFacebookF,
93
99
  faPinterest,
@@ -121,20 +127,25 @@ library.add(
121
127
  faSave,
122
128
  faTrashAlt,
123
129
  faCloudUploadAlt,
124
- faSignInAlt
130
+ faSignInAlt,
131
+ faBluesky,
132
+ faThreads
125
133
  );
126
134
 
127
135
  // Look for Google fonts and append them if they are not there already
128
136
  // We avoiding using @import url(); because the new URL has semicolons on it
129
137
  // and it tremendously gets broken from some preprocessors.
130
138
 
131
- const fonts = window.document.createElement('link');
132
139
  // eslint-disable-next-line max-len
133
- const href = 'https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital@0;1&family=Libre+Franklin:ital,wght@0,400;0,700;1,400;1,700&display=swap';
134
- fonts.setAttribute('rel', 'stylesheet');
135
- fonts.setAttribute('crossorigin', 'anonymous');
136
- fonts.setAttribute('href', href);
137
- document.head.appendChild(fonts);
140
+ const googleFontsHref = 'https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital@0;1&family=Libre+Franklin:ital,wght@0,400;0,700;1,400;1,700&display=swap';
141
+ const googleFontsLink = window.document.querySelector(`link[href="${googleFontsHref}"]`);
142
+ if (!googleFontsLink) {
143
+ const fonts = window.document.createElement('link');
144
+ fonts.setAttribute('rel', 'stylesheet');
145
+ fonts.setAttribute('crossorigin', 'anonymous');
146
+ fonts.setAttribute('href', googleFontsHref);
147
+ document.head.appendChild(fonts);
148
+ }
138
149
 
139
150
  // Kicks off the process of finding <i> tags and replacing with <svg>
140
151
  dom.watch();
package/src/main.js CHANGED
@@ -19,6 +19,7 @@ import './components/tools/data-click-track';
19
19
  import './components/tools/rubik-tracking';
20
20
  import './components/tools/data-defer-src';
21
21
  import './components/tools/stickystack';
22
+ import './components/tools/jaunty';
22
23
 
23
24
  // Bootstrap helpers
24
25
  import './components/layout/alerts.scss';
@@ -31,12 +31,14 @@
31
31
 
32
32
  // Applies colours to <p> and <a> elements
33
33
  @mixin text_colours ($main, $link) {
34
+ label,
35
+ li,
34
36
  p,
35
- li {
37
+ .caption {
36
38
  color: $main;
37
39
  }
38
40
 
39
- a:not(.foe-cta) {
41
+ a:not(.foe-cta):not(.btn) {
40
42
  color: $link;
41
43
 
42
44
  &:hover {
@@ -8,17 +8,34 @@
8
8
  //
9
9
 
10
10
  // Colours
11
- $foe-primary: #61bdaa !default;
12
- $foe-light: #dff2ee !default;
13
- $foe-secondary: $foe-light !default;
14
- $foe-dark: #182f2a !default;
15
- $foe-extradark: #1e234d !default;
11
+ $foe-leaf: #61bdaa !default;
12
+ $foe-iris: #5a54a0 !default;
16
13
  $foe-sunset: #ed6132 !default;
14
+ $foe-space: #1e234d !default;
15
+ $foe-ice: #f3f3f7 !default;
16
+ $foe-conch: #f1e2d4 !default;
17
+
18
+ // Tints, would prefer to do this algorithmically but it's useful to have the hex codes on hand to compare with figmas
19
+ $foe-leaf-75: #81cabb !default;
20
+ $foe-leaf-50: #c0e5dd !default;
21
+ $foe-leaf-25: #dff2ee !default;
22
+ $foe-sunset-75: #f1815b !default;
23
+ $foe-sunset-50: #f6b099 !default;
24
+ $foe-sunset-25: #fbdfd6 !default;
25
+ $foe-iris-75: #6d68a7 !default;
26
+ $foe-iris-50: #adaad0 !default;
27
+ $foe-iris-25: #deddec !default;
28
+
29
+ $foe-primary: $foe-leaf !default;
30
+ $foe-light: $foe-leaf-25 !default;
31
+ $foe-secondary: $foe-light !default;
32
+ $foe-dark: $foe-iris !default;
33
+ $foe-extradark: $foe-space !default;
17
34
 
18
35
  $foe-white: #fff !default;
19
36
  $foe-gray: #b1b8c0 !default;
20
- $foe-accent: #5a54a0 !default;
21
- $foe-offwhite: #f4f6fa !default;
37
+ $foe-accent: $foe-iris !default;
38
+ $foe-offwhite: $foe-ice !default;
22
39
 
23
40
  $foe-success: #5cb85c !default;
24
41
  $foe-info: #5bc0de !default;
@@ -27,8 +44,8 @@ $foe-danger: #d9534f !default;
27
44
 
28
45
  $foe-text: $foe-extradark !default;
29
46
 
30
- $foe-donate: $foe-sunset !default;
31
- $foe-donate-text: $foe-extradark !default;
47
+ $foe-donate: $foe-iris !default;
48
+ $foe-donate-text: $foe-ice !default;
32
49
 
33
50
  $foe-join: #ffef1e !default;
34
51
  $foe-join-text: $foe-text !default;
@@ -50,6 +67,11 @@ $foe-nav-shadow: 0 0 .5em .2em rgba(0, 0, 0, .25);
50
67
 
51
68
  $foe-text-shadow: 0 0 .5rem $foe-tint-overlay-heavy !default;
52
69
 
70
+ $foe-backgrounds:
71
+ $foe-leaf-50,
72
+ $foe-sunset-50,
73
+ $foe-iris-50;
74
+
53
75
  //
54
76
  // Palettes vars, needed for Campaignion (mostly) maybe also D8
55
77
  //
@@ -288,7 +310,7 @@ $body-color: $foe-text;
288
310
  // Style anchor elements.
289
311
 
290
312
  $link-color: theme-color("accent");
291
- $link-decoration: none;
313
+ $link-decoration: underline;
292
314
  $link-hover-color: darken($link-color, 15%);
293
315
  $link-hover-decoration: underline;
294
316
 
@@ -390,7 +412,7 @@ $line-height-sm: 1.5;
390
412
  $border-width: 1px;
391
413
  $border-color: $gray-300;
392
414
 
393
- $border-radius: .1rem * 3;
415
+ $border-radius: 0; // .1rem * 3;
394
416
  $border-radius-lg: .1rem * 4;
395
417
  $border-radius-sm: .1rem * 2;
396
418
 
@@ -407,6 +429,12 @@ $transition-base: all .2s ease-in-out;
407
429
  $transition-fade: opacity .15s linear;
408
430
  $transition-collapse: height .35s ease;
409
431
 
432
+ $foe-element-default-focus-width: .125rem;
433
+ $foe-element-default-focus-color: $black;
434
+
435
+ $foe-element-default-outline: .125rem solid $white;
436
+ $foe-element-default-outline-offset: .125rem;
437
+
410
438
 
411
439
  // Fonts
412
440
  //
@@ -421,7 +449,8 @@ $font-family-base: $font-family-sans-serif;
421
449
 
422
450
  $font-size-base: 1rem; // Assumes the browser default, typically `16px`
423
451
  $font-size-lg: ($font-size-base * 1.25);
424
- $font-size-sm: ($font-size-base * .7);
452
+ // #13222 increase small text to just above 12px as per footer design https://www.figma.com/design/gimnDUG8AGkZdwuLTSGdkK/Design-system-%E2%80%93-Meg?node-id=197-22&t=bFuYz1SRqubH1qkg-0
453
+ $font-size-sm: ($font-size-base * .8);
425
454
 
426
455
  $font-weight-light: 300;
427
456
  $font-weight-normal: 400;
@@ -432,8 +461,8 @@ $font-weight-base: $font-weight-normal;
432
461
  $line-height-base: 1.5;
433
462
 
434
463
  $h1-font-size: calc(56 / 16) * $font-size-base;
435
- $h2-font-size: calc(44 / 16) * $font-size-base;
436
- $h3-font-size: calc(34 / 16) * $font-size-base;
464
+ $h2-font-size: calc(40 / 16) * $font-size-base;
465
+ $h3-font-size: calc(32 / 16) * $font-size-base;
437
466
  $h4-font-size: calc(26 / 16) * $font-size-base;
438
467
  $h5-font-size: calc(20 / 16) * $font-size-base;
439
468
  $h6-font-size: calc(16 / 16) * $font-size-base;
@@ -449,23 +478,23 @@ $headings-map: (
449
478
 
450
479
  $headings-margin-bottom: calc($spacer / 2);
451
480
  $headings-font-family: inherit;
452
- $headings-font-weight: 600;
481
+ $headings-font-weight: 900;
453
482
  $headings-line-height: 1.2;
454
483
  $headings-color: $foe-accent;
455
484
 
456
- $display1-size: calc(60 / 16) * $font-size-base;
457
- $display2-size: calc(60 / 16) * $font-size-base;
458
- $display3-size: 4.5rem;
459
- $display4-size: 3.5rem;
485
+ $display1-size: $h1-font-size;
486
+ $display2-size: $h1-font-size;
487
+ $display3-size: $h3-font-size;
488
+ $display4-size: $h4-font-size;
460
489
 
461
- $display1-weight: 600;
490
+ $display1-weight: 900;
462
491
  $display2-weight: 300;
463
492
  $display3-weight: 300;
464
493
  $display4-weight: 300;
465
494
  $display-line-height: $headings-line-height;
466
495
 
467
- $lead-font-size: ($font-size-base * 1.25);
468
- $lead-font-weight: 300;
496
+ $lead-font-size: $font-size-base;
497
+ $lead-font-weight: bold;
469
498
 
470
499
  $small-font-size: 80%;
471
500
 
@@ -527,9 +556,9 @@ $input-btn-padding-y: .5rem;
527
556
  $input-btn-padding-x: .75rem;
528
557
  $input-btn-line-height: $line-height-base;
529
558
 
530
- $input-btn-focus-width: .2rem;
531
- $input-btn-focus-color: rgba($component-active-bg, .75);
532
- $input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;
559
+ $input-btn-focus-width: $foe-element-default-focus-width;
560
+ $input-btn-focus-color: $foe-element-default-focus-color;
561
+ $input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !important; //to override bootstrap default in button-variant mixin
533
562
 
534
563
  $input-btn-padding-y-sm: .25rem;
535
564
  $input-btn-padding-x-sm: .5rem;
@@ -572,9 +601,9 @@ $btn-link-disabled-color: $gray-600;
572
601
  $btn-block-spacing-y: .5rem;
573
602
 
574
603
  // Allows for customizing button radius independently from global border radius
575
- $btn-border-radius: $border-radius;
576
- $btn-border-radius-lg: $border-radius-lg;
577
- $btn-border-radius-sm: $border-radius-sm;
604
+ $btn-border-radius: 0;
605
+ $btn-border-radius-lg: 0;
606
+ $btn-border-radius-sm: 0;
578
607
 
579
608
  $btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
580
609