@coopdigital/styles 0.3.0 → 0.4.1

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.
package/dist/main.css CHANGED
@@ -1,3 +1,418 @@
1
+ @import "https://cdn.fonts.net/t/1.css?apiType=css&projectid=d984f56e-f9bd-4c14-bb29-2558d7ff893e";
2
+ :root {
3
+ /* Core brands */
4
+ --color-brand-coop: #00a1cc;
5
+ --color-brand-deals: #d12430;
6
+ /* Core brands (backwards compatibility) */
7
+ --color-brand: var(--color-brand-coop);
8
+ --color-deal-red: var(--color-brand-deals);
9
+ /* Colours */
10
+ --color-white: #fff;
11
+ --color-black: #000;
12
+ /* Text greys */
13
+ --color-text: #282828;
14
+ --color-text-alt: #595959;
15
+ /* Tints */
16
+ --color-tint-purple: #fef2ff;
17
+ --color-tint-pink: #ffeaf2;
18
+ --color-tint-green: #f9fbdd;
19
+ --color-tint-orange: #ffede0;
20
+ --color-tint-red: #ffe8e9;
21
+ --color-tint-yellow: #fff6da;
22
+ --color-tint-lilac: #f2f2ff;
23
+ --color-tint-blue: #e6f6fa;
24
+ /* Grey backgrounds */
25
+ --color-grey-mid-light: #d8d8d8;
26
+ --color-grey-mid: #c4c4c4;
27
+ --color-grey-dark: #6e6e6e;
28
+ --color-grey-light: #f3f3f3;
29
+ --color-grey-neutral-light: #f3f3f3;
30
+ --color-grey-neutral-warm: #f5f5f0;
31
+ --color-grey-neutral-cool: #dde9ed;
32
+ --color-grey-neutral-cool-light: #f2f4f7;
33
+ /* Links */
34
+ --color-link: #00729a;
35
+ --color-link-hover: #00394e;
36
+ --color-link-focus: #8d44d8;
37
+ --color-link-active: #002c3d;
38
+ --color-link-visited: #002c3d;
39
+ --color-focus-ring: #8d44d8;
40
+ /* Reintroducing Co-op branding colours */
41
+ --color-navy: #003057;
42
+ --color-light-purple: #f8beff;
43
+ --color-light-pink: #ff94bf;
44
+ --color-light-green: #e1ec54;
45
+ --color-light-orange: #ffa465;
46
+ --color-light-red: #ff8c90;
47
+ --color-light-yellow: #ffd245;
48
+ --color-light-lilac: #bfbffd;
49
+ --color-light-blue: #bfe7f2;
50
+ --color-dark-purple: #c164c9;
51
+ --color-dark-pink: #f85792;
52
+ --color-dark-green: #819c00;
53
+ --color-dark-orange: #e85a00;
54
+ --color-dark-red: #f14f57;
55
+ --color-dark-yellow: #c08a00;
56
+ --color-dark-lilac: #6762f9;
57
+ /* Shades in use */
58
+ --color-green-light-6: #b9e277;
59
+ --color-red-dark-4: #ba2327;
60
+ /* Alternative colours */
61
+ --color-alt-light-blue: #99e0f5;
62
+ --color-alt-light-pink: #ffdbdb;
63
+ }
64
+
65
+ :root {
66
+ --ui-shadow: 0 2px 4px 0 rgb(0 0 0 / 15%);
67
+ --ui-shadow-hover: 0 2px 4px 0 rgb(0 0 0 / 35%);
68
+ --ui-border-radius: 4px;
69
+ --ui-transition-hover: 0.1s ease-out;
70
+ --ui-transition-hover-property: background-color, color;
71
+ }
72
+
73
+ :root {
74
+ /* Spacing */
75
+ --spacing-64: 4rem;
76
+ --spacing-48: 3rem;
77
+ --spacing-32: 2rem;
78
+ --spacing-24: 1.5rem;
79
+ --spacing-16: 1rem;
80
+ --spacing-12: 0.75rem;
81
+ --spacing-8: 0.5rem;
82
+ --spacing-4: 0.25rem;
83
+ --spacing-2: 0.125rem;
84
+ }
85
+
86
+ :root {
87
+ --font-family: "Avenir-Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
88
+ --font-family-headline: "Co-opHeadline", "Impact", Helvetica, Arial, sans-serif;
89
+ /* Typography Sizes */
90
+ --type-size-12: 0.75rem;
91
+ --type-size-14: 0.875rem;
92
+ --type-size-16: 1rem;
93
+ --type-size-18: 1.125rem;
94
+ --type-size-20: 1.25rem;
95
+ --type-size-22: 1.375rem;
96
+ --type-size-24: 1.5rem;
97
+ --type-size-26: 1.625rem;
98
+ --type-size-28: 1.75rem;
99
+ --type-size-30: 1.875rem;
100
+ --type-size-32: 2rem;
101
+ --type-size-40: 2.5rem;
102
+ --type-size-46: 2.875rem;
103
+ --type-size-48: 3rem;
104
+ --type-size-56: 3.5rem;
105
+ --type-size-64: 4rem;
106
+ --type-size-82: 5.125rem;
107
+ /* Typography Line Height */
108
+ --type-line-height-default: 1.5;
109
+ --type-line-height-tight: 1.25;
110
+ --type-line-height-headline: 1.05;
111
+ }
112
+
113
+ *,
114
+ *::before,
115
+ *::after {
116
+ box-sizing: border-box;
117
+ }
118
+
119
+ html {
120
+ -moz-text-size-adjust: none;
121
+ -webkit-text-size-adjust: none;
122
+ text-size-adjust: none;
123
+ }
124
+
125
+ html,
1
126
  body {
2
- background-color: white;
127
+ font-family: "Avenir Next", sans-serif;
128
+ font-size: var(--type-size-default);
129
+ color: var(--color-text);
130
+ }
131
+
132
+ body {
133
+ margin: 0;
134
+ padding: 0;
135
+ border: 0;
136
+ min-height: 100vh;
137
+ line-height: var(--type-line-height);
138
+ -webkit-font-smoothing: antialiased;
139
+ -moz-osx-font-smoothing: grayscale;
140
+ }
141
+
142
+ body,
143
+ h1,
144
+ h2,
145
+ h3,
146
+ h4,
147
+ p,
148
+ figure,
149
+ blockquote,
150
+ dl,
151
+ dd {
152
+ margin-block-end: 0;
153
+ }
154
+
155
+ h1,
156
+ h2,
157
+ h3,
158
+ h4,
159
+ h5,
160
+ h6,
161
+ ul,
162
+ ol,
163
+ p,
164
+ address {
165
+ margin-top: 0;
166
+ }
167
+
168
+ input,
169
+ button,
170
+ textarea,
171
+ select {
172
+ font-family: inherit;
173
+ font-size: inherit;
174
+ }
175
+
176
+ button,
177
+ input,
178
+ label {
179
+ line-height: 1.1;
180
+ }
181
+
182
+ h1,
183
+ h2,
184
+ h3,
185
+ h4 {
186
+ text-wrap: balance;
187
+ }
188
+
189
+ a:not([class]) {
190
+ text-decoration-skip-ink: auto;
191
+ color: currentcolor;
192
+ }
193
+
194
+ img,
195
+ picture {
196
+ max-width: 100%;
197
+ display: block;
198
+ }
199
+
200
+ textarea:not([rows]) {
201
+ min-height: 10rem;
202
+ }
203
+
204
+ :target {
205
+ scroll-margin-block: 5ex;
206
+ }
207
+
208
+ @font-face {
209
+ font-family: "Avenir-Next";
210
+ font-weight: normal;
211
+ font-display: swap;
212
+ src: url("https://coop-fonts.s3.eu-west-1.amazonaws.com/AvenirNext/AvenirNextRegular_normal_normal.woff2") format("woff2"), url("https://coop-fonts.s3.eu-west-1.amazonaws.com/AvenirNext/AvenirNextRegular_normal_normal.woff") format("woff");
213
+ }
214
+ @font-face {
215
+ font-family: "Avenir-Next";
216
+ font-weight: 500;
217
+ font-display: swap;
218
+ src: url("https://coop-fonts.s3.eu-west-1.amazonaws.com/AvenirNext/AvenirNextMedium_normal_normal.woff2") format("woff2"), url("https://coop-fonts.s3.eu-west-1.amazonaws.com/AvenirNext/AvenirNextMedium_normal_normal.woff") format("woff");
219
+ }
220
+ @font-face {
221
+ font-family: "Avenir-Next";
222
+ font-weight: 600;
223
+ font-display: swap;
224
+ src: url("https://coop-fonts.s3.eu-west-1.amazonaws.com/AvenirNext/AvenirNextDemi_normal_normal.woff2") format("woff2"), url("https://coop-fonts.s3.eu-west-1.amazonaws.com/AvenirNext/AvenirNextDemi_normal_normal.woff") format("woff");
225
+ }
226
+ @font-face {
227
+ font-family: "Co-opHeadline";
228
+ font-weight: 700;
229
+ font-display: swap;
230
+ src: url("https://coop-fonts.s3.eu-west-1.amazonaws.com/Co-opHeadline/Co-opHeadline-Bold.woff2") format("woff2"), url("https://coop-fonts.s3.eu-west-1.amazonaws.com/Co-opHeadline/Co-opHeadline-Bold.woff") format("woff");
231
+ }
232
+ a,
233
+ .coop-link {
234
+ color: var(--color-link);
235
+ text-decoration: underline;
236
+ }
237
+ a:hover,
238
+ .coop-link:hover {
239
+ color: var(--color-link-hover);
240
+ }
241
+ a:active, a:focus,
242
+ .coop-link:active,
243
+ .coop-link:focus {
244
+ transition: none;
245
+ outline: 2px solid var(--color-focus-ring);
246
+ outline-offset: 3px;
247
+ }
248
+
249
+ button.coop-link {
250
+ display: inline;
251
+ margin: 0;
252
+ padding: 0;
253
+ appearance: none;
254
+ background: none;
255
+ border: 0;
256
+ border-radius: 0;
257
+ cursor: pointer;
258
+ text-align: inherit;
259
+ }
260
+
261
+ .coop-link-white {
262
+ color: var(--color-white);
263
+ text-decoration: underline;
264
+ }
265
+ .coop-link-white:hover {
266
+ color: currentcolor;
267
+ }
268
+
269
+ .coop-link-black {
270
+ color: var(--color-black);
271
+ }
272
+ .coop-link-black:hover {
273
+ color: currentcolor;
274
+ }
275
+
276
+ p,
277
+ ul,
278
+ ol {
279
+ margin-bottom: var(--spacing-16);
280
+ }
281
+ @media (min-width: 48em) {
282
+ p,
283
+ ul,
284
+ ol {
285
+ margin-bottom: var(--spacing-24);
286
+ }
287
+ }
288
+
289
+ ul,
290
+ ol {
291
+ padding-left: var(--spacing-24);
292
+ }
293
+
294
+ h1.coop-t-mega {
295
+ font-size: var(--type-size-48);
296
+ margin-bottom: var(--spacing-8);
297
+ }
298
+ @media (min-width: 48em) {
299
+ h1.coop-t-mega {
300
+ font-size: var(--type-size-56);
301
+ margin-bottom: var(--spacing-16);
302
+ }
303
+ }
304
+
305
+ h1 {
306
+ font-size: var(--type-size-30);
307
+ margin-bottom: var(--spacing-8);
308
+ }
309
+ @media (min-width: 48em) {
310
+ h1 {
311
+ font-size: var(--type-size-46);
312
+ margin-bottom: var(--spacing-16);
313
+ }
314
+ }
315
+
316
+ h2 {
317
+ font-size: var(--type-size-26);
318
+ margin-bottom: var(--spacing-8);
319
+ }
320
+ @media (min-width: 48em) {
321
+ h2 {
322
+ font-size: var(--type-size-32);
323
+ margin-bottom: var(--spacing-16);
324
+ }
325
+ }
326
+
327
+ h3 {
328
+ font-size: var(--type-size-26);
329
+ margin-bottom: var(--spacing-8);
330
+ }
331
+ @media (min-width: 48em) {
332
+ h3 {
333
+ font-size: var(--type-size-26);
334
+ margin-bottom: var(--spacing-16);
335
+ }
336
+ }
337
+
338
+ h4,
339
+ h5,
340
+ h6 {
341
+ font-size: var(--type-size-18);
342
+ margin-bottom: var(--spacing-8);
343
+ }
344
+ @media (min-width: 48em) {
345
+ h4,
346
+ h5,
347
+ h6 {
348
+ font-size: var(--type-size-22);
349
+ margin-bottom: var(--spacing-16);
350
+ }
351
+ }
352
+
353
+ .coop-t-headline {
354
+ font-family: var(--font-family-headline);
355
+ line-height: 105%;
356
+ }
357
+
358
+ .coop-t-headline-upper {
359
+ font-family: var(--font-family-headline);
360
+ text-transform: uppercase;
361
+ line-height: 100%;
362
+ }
363
+
364
+ h1.coop-t-headline-mega {
365
+ font-family: var(--font-family-headline);
366
+ color: var(--color-brand-coop);
367
+ font-size: var(--type-size-48);
368
+ }
369
+ @media (min-width: 37.5em) {
370
+ h1.coop-t-headline-mega {
371
+ font-size: var(--type-size-64);
372
+ }
373
+ }
374
+ @media (min-width: 48em) {
375
+ h1.coop-t-headline-mega {
376
+ font-size: var(--type-size-82);
377
+ }
378
+ }
379
+
380
+ h1.coop-t-headline {
381
+ color: var(--color-brand-coop);
382
+ font-size: var(--type-size-40);
383
+ }
384
+ @media (min-width: 37.5em) {
385
+ h1.coop-t-headline {
386
+ font-size: var(--type-size-48);
387
+ }
388
+ }
389
+ @media (min-width: 48em) {
390
+ h1.coop-t-headline {
391
+ font-size: var(--type-size-64);
392
+ }
393
+ }
394
+
395
+ .coop-t-lead-p {
396
+ font-size: var(--type-size-22);
397
+ margin-bottom: var(--spacing-16);
398
+ }
399
+ @media (min-width: 48em) {
400
+ .coop-t-lead-p {
401
+ font-size: var(--type-size-26);
402
+ }
403
+ }
404
+
405
+ hr {
406
+ display: block;
407
+ border-style: solid;
408
+ border-color: var(--color-grey-mid);
409
+ border-width: 0 0 1px 0;
410
+ height: 0;
411
+ color: var(--color-grey-mid);
412
+ margin: var(--spacing-16) 0;
413
+ }
414
+ @media (min-width: 48em) {
415
+ hr {
416
+ margin: var(--spacing-32) 0;
417
+ }
3
418
  }
@@ -1,6 +1,3 @@
1
- /* ===================================
2
- * Fonts - Co-op Front-end Foundations
3
- * =================================== */
4
1
  @import "https://cdn.fonts.net/t/1.css?apiType=css&projectid=d984f56e-f9bd-4c14-bb29-2558d7ff893e";
5
2
  @font-face {
6
3
  font-family: "Avenir-Next";
@@ -70,33 +67,22 @@ button.coop-link {
70
67
  color: currentcolor;
71
68
  }
72
69
 
73
- p + *,
74
- ul + *,
75
- ol + * {
76
- padding-top: var(--spacing-16);
70
+ p,
71
+ ul,
72
+ ol {
73
+ margin-bottom: var(--spacing-16);
77
74
  }
78
75
  @media (min-width: 48em) {
79
- p + *,
80
- ul + *,
81
- ol + * {
82
- padding-top: var(--spacing-32);
76
+ p,
77
+ ul,
78
+ ol {
79
+ margin-bottom: var(--spacing-24);
83
80
  }
84
81
  }
85
82
 
86
- p {
87
- margin-bottom: var(--spacing-16);
88
- }
89
-
90
83
  ul,
91
84
  ol {
92
85
  padding-left: var(--spacing-24);
93
- /*
94
- margin-bottom: var(--spacing-8);
95
-
96
- @media (min-width: $mq-medium) {
97
- margin-bottom: var(--spacing-16);
98
- }
99
- */
100
86
  }
101
87
 
102
88
  h1.coop-t-mega {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coopdigital/styles",
3
3
  "type": "module",
4
- "version": "0.3.0",
4
+ "version": "0.4.1",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -22,5 +22,5 @@
22
22
  "glob": "^11.0.1",
23
23
  "sass-embedded": "^1.85.0"
24
24
  },
25
- "gitHead": "b4f150b50ac188607cc82d50730660eae296c53f"
25
+ "gitHead": "dce17e1b85785160c7e817e85c61006060572dfb"
26
26
  }
package/src/main.scss CHANGED
@@ -1,5 +1,3 @@
1
- body {
2
- background-color: white;
3
- }
4
-
5
- // TODO: add vars and reset scss import
1
+ @use "./vars";
2
+ @use "./reset";
3
+ @use "./typography";
@@ -1,7 +1,3 @@
1
- /* ===================================
2
- * Fonts - Co-op Front-end Foundations
3
- * =================================== */
4
-
5
1
  @import "https://cdn.fonts.net/t/1.css?apiType=css&projectid=d984f56e-f9bd-4c14-bb29-2558d7ff893e";
6
2
 
7
3
  @font-face {
@@ -1,30 +1,18 @@
1
1
  @use "../breakpoints.scss" as *;
2
2
 
3
- p + *,
4
- ul + *,
5
- ol + * {
6
- padding-top: var(--spacing-16);
3
+ p,
4
+ ul,
5
+ ol {
6
+ margin-bottom: var(--spacing-16);
7
7
 
8
8
  @media (min-width: $mq-medium) {
9
- padding-top: var(--spacing-32);
9
+ margin-bottom: var(--spacing-24);
10
10
  }
11
11
  }
12
12
 
13
- p {
14
- margin-bottom: var(--spacing-16);
15
- }
16
-
17
13
  ul,
18
14
  ol {
19
15
  padding-left: var(--spacing-24);
20
-
21
- /*
22
- margin-bottom: var(--spacing-8);
23
-
24
- @media (min-width: $mq-medium) {
25
- margin-bottom: var(--spacing-16);
26
- }
27
- */
28
16
  }
29
17
 
30
18
  h1.coop-t-mega {