@coopdigital/styles 0.5.5 → 0.5.7

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.
@@ -0,0 +1,32 @@
1
+ .coop-alert-banner {
2
+ --bg-color: var(--color-orange-alert-light);
3
+ --text-color: var(--color-text);
4
+ --border-left: solid 0.25rem var(--color-orange-alert);
5
+ padding: var(--spacing-16) 0;
6
+ }
7
+ .coop-alert-banner[data-variant=black] {
8
+ --bg-color: var(--color-black);
9
+ --text-color: var(--color-white);
10
+ --border-left: 0;
11
+ }
12
+ .coop-alert-banner--inner {
13
+ padding: var(--spacing-16);
14
+ border-left: var(--border-left);
15
+ color: var(--text-color);
16
+ background-color: var(--bg-color);
17
+ }
18
+ .coop-alert-banner--inner h3,
19
+ .coop-alert-banner--inner p {
20
+ margin: 0 0 var(--spacing-8) 0;
21
+ }
22
+ .coop-alert-banner--inner a {
23
+ color: var(--text-color);
24
+ }
25
+ .coop-alert-banner--inner a:hover {
26
+ color: inherit;
27
+ text-decoration: none;
28
+ }
29
+ .coop-alert-banner--inner h3 {
30
+ font-size: var(--type-size-22);
31
+ font-weight: 500;
32
+ }
@@ -0,0 +1,51 @@
1
+ .coop-editorial-card {
2
+ --flex-direction: column;
3
+ --image-max-width: 100%;
4
+ border-radius: var(--ui-border-radius-m);
5
+ box-shadow: var(--ui-shadow);
6
+ transition: box-shadow var(--ui-transition-hover);
7
+ }
8
+ .coop-editorial-card[data-layout=horizontal] {
9
+ --flex-direction: row;
10
+ --image-max-width: calc(100% / 3);
11
+ }
12
+ .coop-editorial-card:hover, .coop-editorial-card:focus {
13
+ box-shadow: var(--ui-shadow-hover);
14
+ }
15
+ .coop-editorial-card h3 {
16
+ font-weight: var(--type-weight-demibold);
17
+ font-size: var(--type-size-20);
18
+ margin: 0;
19
+ }
20
+ .coop-editorial-card picture {
21
+ margin: 0;
22
+ max-width: var(--image-max-width);
23
+ overflow: hidden;
24
+ }
25
+ .coop-editorial-card img {
26
+ height: 100%;
27
+ }
28
+ .coop-editorial-card p {
29
+ margin: 0;
30
+ }
31
+ .coop-editorial-card a {
32
+ display: block;
33
+ text-decoration: none;
34
+ color: inherit;
35
+ }
36
+ .coop-editorial-card a:hover h3, .coop-editorial-card a:focus h3 {
37
+ text-decoration: underline;
38
+ }
39
+ .coop-editorial-card--inner {
40
+ display: flex;
41
+ flex-direction: var(--flex-direction);
42
+ overflow: hidden;
43
+ border-radius: var(--ui-border-radius-m);
44
+ }
45
+ .coop-editorial-card--content {
46
+ display: flex;
47
+ flex-direction: column;
48
+ gap: var(--spacing-12);
49
+ padding: var(--spacing-20);
50
+ background: var(--color-white);
51
+ }
@@ -1,30 +1,25 @@
1
1
  .coop-skip-nav {
2
2
  --offscreen-position: -9999px;
3
3
  position: absolute;
4
+ z-index: 999;
4
5
  top: 0;
5
6
  left: 0;
6
- z-index: 999;
7
7
  }
8
8
  .coop-skip-nav ul {
9
- list-style: none;
10
9
  margin: 0;
10
+ list-style: none;
11
11
  }
12
12
  .coop-skip-nav a {
13
13
  position: absolute;
14
- left: var(--offscreen-position);
15
14
  top: 0;
16
- font-size: var(--type-size-18);
15
+ left: var(--offscreen-position);
17
16
  padding: var(--spacing-16);
18
- color: var(--color-black);
19
- background: var(--color-yellow-mid-5);
20
17
  border-bottom-right-radius: var(--ui-border-radius);
21
18
  border-bottom-left-radius: var(--ui-border-radius);
19
+ font-size: var(--type-size-18);
20
+ color: var(--color-black);
22
21
  white-space: nowrap;
23
- }
24
- @media (--mq-medium) {
25
- .coop-skip-nav a {
26
- font-size: var(--type-size-20);
27
- }
22
+ background: var(--color-yellow-mid-5);
28
23
  }
29
24
  .coop-skip-nav a:hover {
30
25
  color: var(--color-black);
@@ -37,4 +32,9 @@
37
32
  }
38
33
  .coop-skip-nav a:focus:not(:focus-visible) {
39
34
  left: var(--offscreen-position);
35
+ }
36
+ @media (--mq-medium) {
37
+ .coop-skip-nav a {
38
+ font-size: var(--type-size-20);
39
+ }
40
40
  }
package/dist/main.css CHANGED
@@ -93,9 +93,24 @@
93
93
  --color-button-active: var(--color-button-blue-active);
94
94
  }
95
95
 
96
+ :root {
97
+ /* Notifications */
98
+ --color-red-error: #e20f14;
99
+ --color-red-error-text: #d12430;
100
+ --color-red-error-light: #fcf1f1;
101
+ --color-orange-alert: #f8d156;
102
+ --color-orange-alert-light: #f8eec7;
103
+ --color-green-success: #50811b;
104
+ --color-green-success-light: #d7e3c6;
105
+ --color-blue-inform: #0761c2;
106
+ --color-blue-inform-light: #eef3fc;
107
+ --color-blue-notification: var(--color-blue-inform);
108
+ --color-blue-notification-light: var(--color-blue-inform-light);
109
+ }
110
+
96
111
  :root {
97
112
  --ui-shadow: 0 2px 4px 0 rgb(0 0 0 / 15%);
98
- --ui-shadow-hover: 0 2px 4px 0 rgb(0 0 0 / 35%);
113
+ --ui-shadow-hover: 0 2px 4px 0 rgb(0 0 0 / 25%);
99
114
  --ui-transition-hover: 0.1s ease-out;
100
115
  --ui-transition-hover-property: background-color, color;
101
116
  --ui-border-radius: 4px;
@@ -124,6 +139,10 @@
124
139
  :root {
125
140
  --font-family: "Avenir-Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
126
141
  --font-family-headline: "Co-opHeadline", "Impact", Helvetica, Arial, sans-serif;
142
+ /* Weights */
143
+ --type-weight-default: normal;
144
+ --type-weight-medium: 500;
145
+ --type-weight-demibold: 600;
127
146
  /* Typography Sizes */
128
147
  --type-size-10: 0.625rem;
129
148
  --type-size-12: 0.75rem;
@@ -143,6 +162,7 @@
143
162
  --type-size-56: 3.5rem;
144
163
  --type-size-64: 4rem;
145
164
  --type-size-82: 5.125rem;
165
+ --type-size-default: var(--type-size-16);
146
166
  /* Typography Line Height */
147
167
  --type-line-height-default: 1.5;
148
168
  --type-line-height-tight: 1.25;
@@ -218,13 +238,6 @@ label {
218
238
  line-height: 1.1;
219
239
  }
220
240
 
221
- h1,
222
- h2,
223
- h3,
224
- h4 {
225
- text-wrap: balance;
226
- }
227
-
228
241
  a:not([class]) {
229
242
  text-decoration-skip-ink: auto;
230
243
  }
@@ -234,6 +247,18 @@ picture {
234
247
  display: block;
235
248
  max-width: 100%;
236
249
  }
250
+ img[data-crop],
251
+ picture[data-crop] {
252
+ object-fit: cover;
253
+ }
254
+ img[data-crop=square],
255
+ picture[data-crop=square] {
256
+ aspect-ratio: 1/1;
257
+ }
258
+ img[data-crop=wide],
259
+ picture[data-crop=wide] {
260
+ aspect-ratio: 16/9;
261
+ }
237
262
 
238
263
  :target {
239
264
  scroll-margin-block: 5ex;
package/dist/reset.css CHANGED
@@ -67,13 +67,6 @@ label {
67
67
  line-height: 1.1;
68
68
  }
69
69
 
70
- h1,
71
- h2,
72
- h3,
73
- h4 {
74
- text-wrap: balance;
75
- }
76
-
77
70
  a:not([class]) {
78
71
  text-decoration-skip-ink: auto;
79
72
  }
@@ -83,6 +76,18 @@ picture {
83
76
  display: block;
84
77
  max-width: 100%;
85
78
  }
79
+ img[data-crop],
80
+ picture[data-crop] {
81
+ object-fit: cover;
82
+ }
83
+ img[data-crop=square],
84
+ picture[data-crop=square] {
85
+ aspect-ratio: 1/1;
86
+ }
87
+ img[data-crop=wide],
88
+ picture[data-crop=wide] {
89
+ aspect-ratio: 16/9;
90
+ }
86
91
 
87
92
  :target {
88
93
  scroll-margin-block: 5ex;
package/dist/vars.css CHANGED
@@ -92,9 +92,24 @@
92
92
  --color-button-active: var(--color-button-blue-active);
93
93
  }
94
94
 
95
+ :root {
96
+ /* Notifications */
97
+ --color-red-error: #e20f14;
98
+ --color-red-error-text: #d12430;
99
+ --color-red-error-light: #fcf1f1;
100
+ --color-orange-alert: #f8d156;
101
+ --color-orange-alert-light: #f8eec7;
102
+ --color-green-success: #50811b;
103
+ --color-green-success-light: #d7e3c6;
104
+ --color-blue-inform: #0761c2;
105
+ --color-blue-inform-light: #eef3fc;
106
+ --color-blue-notification: var(--color-blue-inform);
107
+ --color-blue-notification-light: var(--color-blue-inform-light);
108
+ }
109
+
95
110
  :root {
96
111
  --ui-shadow: 0 2px 4px 0 rgb(0 0 0 / 15%);
97
- --ui-shadow-hover: 0 2px 4px 0 rgb(0 0 0 / 35%);
112
+ --ui-shadow-hover: 0 2px 4px 0 rgb(0 0 0 / 25%);
98
113
  --ui-transition-hover: 0.1s ease-out;
99
114
  --ui-transition-hover-property: background-color, color;
100
115
  --ui-border-radius: 4px;
@@ -123,6 +138,10 @@
123
138
  :root {
124
139
  --font-family: "Avenir-Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
125
140
  --font-family-headline: "Co-opHeadline", "Impact", Helvetica, Arial, sans-serif;
141
+ /* Weights */
142
+ --type-weight-default: normal;
143
+ --type-weight-medium: 500;
144
+ --type-weight-demibold: 600;
126
145
  /* Typography Sizes */
127
146
  --type-size-10: 0.625rem;
128
147
  --type-size-12: 0.75rem;
@@ -142,6 +161,7 @@
142
161
  --type-size-56: 3.5rem;
143
162
  --type-size-64: 4rem;
144
163
  --type-size-82: 5.125rem;
164
+ --type-size-default: var(--type-size-16);
145
165
  /* Typography Line Height */
146
166
  --type-line-height-default: 1.5;
147
167
  --type-line-height-tight: 1.25;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coopdigital/styles",
3
3
  "type": "module",
4
- "version": "0.5.5",
4
+ "version": "0.5.7",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -29,7 +29,7 @@
29
29
  "description": "",
30
30
  "devDependencies": {
31
31
  "glob": "^11.0.1",
32
- "sass-embedded": "^1.85.0"
32
+ "sass-embedded": "^1.86.0"
33
33
  },
34
- "gitHead": "f292a4bba122b73db52ff17fa53eb90e7420c651"
34
+ "gitHead": "618022f347d8099ec9aed4413057ed91cce96778"
35
35
  }
@@ -0,0 +1,40 @@
1
+ .coop-alert-banner {
2
+ // default
3
+ --bg-color: var(--color-orange-alert-light);
4
+ --text-color: var(--color-text);
5
+ --border-left: solid 0.25rem var(--color-orange-alert);
6
+
7
+ padding: var(--spacing-16) 0;
8
+
9
+ &[data-variant="black"] {
10
+ --bg-color: var(--color-black);
11
+ --text-color: var(--color-white);
12
+ --border-left: 0;
13
+ }
14
+
15
+ &--inner {
16
+ padding: var(--spacing-16);
17
+ border-left: var(--border-left);
18
+ color: var(--text-color);
19
+ background-color: var(--bg-color);
20
+
21
+ h3,
22
+ p {
23
+ margin: 0 0 var(--spacing-8) 0;
24
+ }
25
+
26
+ a {
27
+ color: var(--text-color);
28
+
29
+ &:hover {
30
+ color: inherit;
31
+ text-decoration: none;
32
+ }
33
+ }
34
+
35
+ h3 {
36
+ font-size: var(--type-size-22);
37
+ font-weight: 500;
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,65 @@
1
+ .coop-editorial-card {
2
+ --flex-direction: column;
3
+ --image-max-width: 100%;
4
+ border-radius: var(--ui-border-radius-m);
5
+ box-shadow: var(--ui-shadow);
6
+ transition: box-shadow var(--ui-transition-hover);
7
+
8
+ &[data-layout="horizontal"] {
9
+ --flex-direction: row;
10
+ --image-max-width: calc(100% / 3);
11
+ }
12
+
13
+ &:hover,
14
+ &:focus {
15
+ box-shadow: var(--ui-shadow-hover);
16
+ }
17
+
18
+ h3 {
19
+ font-weight: var(--type-weight-demibold);
20
+ font-size: var(--type-size-20);
21
+ margin: 0;
22
+ }
23
+
24
+ picture {
25
+ margin: 0;
26
+ max-width: var(--image-max-width);
27
+ overflow: hidden;
28
+ }
29
+
30
+ img {
31
+ height: 100%;
32
+ }
33
+
34
+ p {
35
+ margin: 0;
36
+ }
37
+
38
+ a {
39
+ display: block;
40
+ text-decoration: none;
41
+ color: inherit;
42
+
43
+ &:hover,
44
+ &:focus {
45
+ h3 {
46
+ text-decoration: underline;
47
+ }
48
+ }
49
+ }
50
+
51
+ &--inner {
52
+ display: flex;
53
+ flex-direction: var(--flex-direction);
54
+ overflow: hidden;
55
+ border-radius: var(--ui-border-radius-m);
56
+ }
57
+
58
+ &--content {
59
+ display: flex;
60
+ flex-direction: column;
61
+ gap: var(--spacing-12);
62
+ padding: var(--spacing-20);
63
+ background: var(--color-white);
64
+ }
65
+ }
@@ -2,30 +2,29 @@
2
2
  --offscreen-position: -9999px;
3
3
 
4
4
  position: absolute;
5
+ z-index: 999;
5
6
  top: 0;
6
7
  left: 0;
7
- z-index: 999;
8
8
 
9
9
  ul {
10
- list-style: none;
11
10
  margin: 0;
11
+ list-style: none;
12
12
  }
13
13
 
14
14
  a {
15
15
  position: absolute;
16
- left: var(--offscreen-position);
17
16
  top: 0;
18
- font-size: var(--type-size-18);
17
+ left: var(--offscreen-position);
18
+
19
19
  padding: var(--spacing-16);
20
- color: var(--color-black);
21
- background: var(--color-yellow-mid-5);
22
20
  border-bottom-right-radius: var(--ui-border-radius);
23
21
  border-bottom-left-radius: var(--ui-border-radius);
22
+
23
+ font-size: var(--type-size-18);
24
+ color: var(--color-black);
24
25
  white-space: nowrap;
25
26
 
26
- @media (--mq-medium) {
27
- font-size: var(--type-size-20);
28
- }
27
+ background: var(--color-yellow-mid-5);
29
28
 
30
29
  &:hover {
31
30
  color: var(--color-black);
@@ -43,5 +42,9 @@
43
42
  &:focus:not(:focus-visible) {
44
43
  left: var(--offscreen-position);
45
44
  }
45
+
46
+ @media (--mq-medium) {
47
+ font-size: var(--type-size-20);
48
+ }
46
49
  }
47
50
  }
package/src/reset.scss CHANGED
@@ -68,13 +68,6 @@ label {
68
68
  line-height: 1.1;
69
69
  }
70
70
 
71
- h1,
72
- h2,
73
- h3,
74
- h4 {
75
- text-wrap: balance;
76
- }
77
-
78
71
  a:not([class]) {
79
72
  text-decoration-skip-ink: auto;
80
73
  }
@@ -83,6 +76,18 @@ img,
83
76
  picture {
84
77
  display: block;
85
78
  max-width: 100%;
79
+
80
+ &[data-crop] {
81
+ object-fit: cover;
82
+ }
83
+
84
+ &[data-crop="square"] {
85
+ aspect-ratio: 1 / 1;
86
+ }
87
+
88
+ &[data-crop="wide"] {
89
+ aspect-ratio: 16 / 9;
90
+ }
86
91
  }
87
92
 
88
93
  :target {
@@ -2,6 +2,11 @@
2
2
  --font-family: "Avenir-Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
3
3
  --font-family-headline: "Co-opHeadline", "Impact", Helvetica, Arial, sans-serif;
4
4
 
5
+ /* Weights */
6
+ --type-weight-default: normal;
7
+ --type-weight-medium: 500;
8
+ --type-weight-demibold: 600;
9
+
5
10
  /* Typography Sizes */
6
11
  --type-size-10: 0.625rem;
7
12
  --type-size-12: 0.75rem;
@@ -26,6 +31,8 @@
26
31
 
27
32
  --type-size-82: 5.125rem;
28
33
 
34
+ --type-size-default: var(--type-size-16);
35
+
29
36
  /* Typography Line Height */
30
37
  --type-line-height-default: 1.5;
31
38
  --type-line-height-tight: 1.25;
package/src/vars/_ui.scss CHANGED
@@ -1,6 +1,6 @@
1
1
  :root {
2
2
  --ui-shadow: 0 2px 4px 0 rgb(0 0 0 / 15%);
3
- --ui-shadow-hover: 0 2px 4px 0 rgb(0 0 0 / 35%);
3
+ --ui-shadow-hover: 0 2px 4px 0 rgb(0 0 0 / 25%);
4
4
  --ui-transition-hover: 0.1s ease-out;
5
5
  --ui-transition-hover-property: background-color, color;
6
6
 
package/src/vars.scss CHANGED
@@ -1,7 +1,7 @@
1
1
  @use "./vars/colours";
2
2
 
3
3
  @use "./vars/colours-buttons";
4
- // @use "./vars/colours-notifications";
4
+ @use "./vars/colours-notifications";
5
5
 
6
6
  @use "./vars/ui";
7
7
  @use "./vars/spacing";