@nationalarchives/frontend 0.1.19-prerelease → 0.1.21-prerelease

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 (134) hide show
  1. package/README.md +1 -1
  2. package/govuk-prototype-kit.config.json +6 -1
  3. package/nationalarchives/_prototype-kit.scss +16 -0
  4. package/nationalarchives/all.css +3 -3
  5. package/nationalarchives/all.css.map +1 -1
  6. package/nationalarchives/all.js +1 -1
  7. package/nationalarchives/all.js.map +1 -1
  8. package/nationalarchives/all.mjs +17 -10
  9. package/nationalarchives/all.scss +1 -5
  10. package/nationalarchives/assets/images/favicon.ico +0 -0
  11. package/nationalarchives/assets/images/mask-icon.svg +17 -5
  12. package/nationalarchives/assets/images/mstile-150x150.png +0 -0
  13. package/nationalarchives/components/_index.scss +1 -0
  14. package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -1
  15. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
  16. package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +10 -0
  17. package/nationalarchives/components/button/button.css +1 -13
  18. package/nationalarchives/components/button/button.css.map +1 -1
  19. package/nationalarchives/components/button/button.scss +23 -6
  20. package/nationalarchives/components/card/card.css +1 -13
  21. package/nationalarchives/components/card/card.css.map +1 -1
  22. package/nationalarchives/components/card/card.scss +51 -6
  23. package/nationalarchives/components/card/card.stories.js +74 -35
  24. package/nationalarchives/components/card/fixtures.json +92 -106
  25. package/nationalarchives/components/card/macro-options.json +20 -0
  26. package/nationalarchives/components/card/template.njk +38 -26
  27. package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -13
  28. package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
  29. package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
  30. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
  31. package/nationalarchives/components/cookie-banner/cookie-banner.mjs +15 -7
  32. package/nationalarchives/components/cookie-banner/cookie-banner.scss +9 -1
  33. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +23 -10
  34. package/nationalarchives/components/cookie-banner/macro-options.json +1 -1
  35. package/nationalarchives/components/cookie-banner/template.njk +4 -4
  36. package/nationalarchives/components/filters/filters.css +1 -1
  37. package/nationalarchives/components/filters/filters.css.map +1 -1
  38. package/nationalarchives/components/filters/filters.scss +1 -1
  39. package/nationalarchives/components/footer/fixtures.json +1 -1
  40. package/nationalarchives/components/footer/footer.css +1 -13
  41. package/nationalarchives/components/footer/footer.css.map +1 -1
  42. package/nationalarchives/components/footer/footer.scss +2 -8
  43. package/nationalarchives/components/footer/template.njk +8 -7
  44. package/nationalarchives/components/gallery/gallery.css +1 -13
  45. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  46. package/nationalarchives/components/grid/grid.css +1 -1
  47. package/nationalarchives/components/grid/grid.css.map +1 -1
  48. package/nationalarchives/components/grid/grid.scss +15 -11
  49. package/nationalarchives/components/header/header.css +1 -1
  50. package/nationalarchives/components/header/header.css.map +1 -1
  51. package/nationalarchives/components/header/header.scss +10 -24
  52. package/nationalarchives/components/hero/fixtures.json +85 -6
  53. package/nationalarchives/components/hero/hero.css +1 -1
  54. package/nationalarchives/components/hero/hero.css.map +1 -1
  55. package/nationalarchives/components/hero/hero.scss +177 -63
  56. package/nationalarchives/components/hero/hero.stories.js +74 -23
  57. package/nationalarchives/components/hero/macro-options.json +28 -36
  58. package/nationalarchives/components/hero/template.njk +26 -24
  59. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  60. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  61. package/nationalarchives/components/index-grid/template.njk +1 -1
  62. package/nationalarchives/components/message/message.css +1 -1
  63. package/nationalarchives/components/message/message.css.map +1 -1
  64. package/nationalarchives/components/pagination/_index.scss +1 -0
  65. package/nationalarchives/components/pagination/fixtures.json +4 -0
  66. package/nationalarchives/components/pagination/macro-options.json +116 -0
  67. package/nationalarchives/components/pagination/macro.njk +3 -0
  68. package/nationalarchives/components/pagination/pagination.css +1 -0
  69. package/nationalarchives/components/pagination/pagination.css.map +1 -0
  70. package/nationalarchives/components/pagination/pagination.scss +79 -0
  71. package/nationalarchives/components/pagination/pagination.stories.js +73 -0
  72. package/nationalarchives/components/pagination/template.njk +38 -0
  73. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  74. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  75. package/nationalarchives/components/picture/picture.css +1 -13
  76. package/nationalarchives/components/picture/picture.css.map +1 -1
  77. package/nationalarchives/components/picture/picture.stories.js +2 -2
  78. package/nationalarchives/components/profile/profile.css +1 -1
  79. package/nationalarchives/components/profile/profile.css.map +1 -1
  80. package/nationalarchives/components/sensitive-image/sensitive-image.css +1 -1
  81. package/nationalarchives/components/sensitive-image/sensitive-image.css.map +1 -1
  82. package/nationalarchives/components/skip-link/fixtures.json +1 -1
  83. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  84. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  85. package/nationalarchives/components/skip-link/skip-link.js +2 -0
  86. package/nationalarchives/components/skip-link/skip-link.js.map +1 -0
  87. package/nationalarchives/components/skip-link/skip-link.mjs +40 -0
  88. package/nationalarchives/components/skip-link/skip-link.scss +18 -16
  89. package/nationalarchives/components/skip-link/skip-link.stories.js +48 -6
  90. package/nationalarchives/components/skip-link/template.njk +1 -1
  91. package/nationalarchives/components/tabs/tabs.css +1 -1
  92. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  93. package/nationalarchives/components/tabs/tabs.js +1 -1
  94. package/nationalarchives/components/tabs/tabs.js.map +1 -1
  95. package/nationalarchives/components/tabs/tabs.mjs +6 -2
  96. package/nationalarchives/components/tabs/tabs.scss +16 -1
  97. package/nationalarchives/lib/_font-awesome.scss +3 -2
  98. package/nationalarchives/lib/cookies.mjs +122 -50
  99. package/nationalarchives/stories/development/contributing.mdx +0 -10
  100. package/nationalarchives/stories/development/cookies.mdx +82 -0
  101. package/nationalarchives/stories/development/structure.mdx +88 -0
  102. package/nationalarchives/stories/development/using/compiled.mdx +9 -0
  103. package/nationalarchives/stories/development/using/hosted.mdx +53 -0
  104. package/nationalarchives/stories/development/using/npm.mdx +59 -0
  105. package/nationalarchives/stories/utilities/colour-schemes/colour-schemes.stories.js +284 -29
  106. package/nationalarchives/stories/utilities/typography/headings.stories.js +4 -1
  107. package/nationalarchives/stories/utilities/typography/lists.stories.js +93 -0
  108. package/nationalarchives/stories/utilities/typography/typography.mdx +11 -1
  109. package/nationalarchives/stories/utilities/typography/typography.stories.js +1 -1
  110. package/nationalarchives/templates/homepage.njk +11 -58
  111. package/nationalarchives/templates/layouts/_generic.njk +33 -14
  112. package/nationalarchives/templates/layouts/_prototype-kit.njk +11 -1
  113. package/nationalarchives/templates/search-results.njk +10 -14
  114. package/nationalarchives/templates/topics.njk +18 -22
  115. package/nationalarchives/tools/_colour.scss +42 -18
  116. package/nationalarchives/tools/_media.scss +6 -0
  117. package/nationalarchives/tools/_typography.scss +4 -2
  118. package/nationalarchives/utilities/_a11y.scss +15 -0
  119. package/nationalarchives/utilities/_debug.scss +1 -1
  120. package/nationalarchives/utilities/_global.scss +23 -25
  121. package/nationalarchives/utilities/_typography.scss +204 -27
  122. package/nationalarchives/variables/_assets.scss +2 -1
  123. package/nationalarchives/variables/_colour.scss +94 -73
  124. package/nationalarchives/variables/_features.scss +1 -0
  125. package/nationalarchives/variables/_grid.scss +5 -5
  126. package/nationalarchives/variables/_index.scss +1 -0
  127. package/nationalarchives/variables/_media.scss +29 -29
  128. package/nationalarchives/variables/_typography.scss +15 -12
  129. package/package.json +1 -1
  130. package/nationalarchives/_features.scss +0 -1
  131. package/nationalarchives/assets/images/tna-horizontal-logo-inverted.svg +0 -51
  132. package/nationalarchives/assets/images/tna-horizontal-logo.svg +0 -51
  133. package/nationalarchives/stories/development/relationships.mdx +0 -57
  134. package/nationalarchives/stories/development/using.mdx +0 -75
@@ -5,6 +5,7 @@
5
5
  @use "../tools/typography";
6
6
  @use "../variables/assets";
7
7
  @use "../variables/grid";
8
+ @use "../variables/typography" as typographyVars;
8
9
 
9
10
  @import "https://use.typekit.net/hkj3kuz.css";
10
11
 
@@ -41,9 +42,14 @@
41
42
 
42
43
  .tna-template__body {
43
44
  color: inherit;
44
- @include typography.relative-font-size(18);
45
- // line-height: 1.6;
46
- line-height: #{math.div(16, 18) * 2};
45
+ @include typography.relative-font-size(typographyVars.$body-font-size-px);
46
+ line-height: typographyVars.$body-line-height;
47
+
48
+ @include media.on-mobile {
49
+ @include typography.relative-font-size(
50
+ typographyVars.$body-font-size-px-mobile
51
+ );
52
+ }
47
53
  }
48
54
 
49
55
  h1,
@@ -68,7 +74,7 @@ strong {
68
74
  }
69
75
 
70
76
  p {
71
- margin: 0 0 1.5rem;
77
+ margin: 0 0 1rem;
72
78
 
73
79
  @include media.on-tiny {
74
80
  margin-bottom: 1rem;
@@ -107,6 +113,12 @@ a {
107
113
  }
108
114
  }
109
115
 
116
+ small {
117
+ @include typography.relative-font-size(
118
+ typographyVars.$body-font-size-px * 0.85
119
+ );
120
+ }
121
+
110
122
  .tna-ul,
111
123
  .tna-ol {
112
124
  margin-top: 0;
@@ -128,17 +140,172 @@ a {
128
140
  }
129
141
  }
130
142
 
143
+ .tna-dl {
144
+ display: flex;
145
+ flex-wrap: wrap;
146
+
147
+ @include spacing.space-below;
148
+
149
+ dt,
150
+ dd {
151
+ margin: 0;
152
+ padding: 0.5rem 1rem;
153
+
154
+ position: relative;
155
+
156
+ box-sizing: border-box;
157
+
158
+ word-wrap: break-word;
159
+ // word-break: break-all;
160
+ }
161
+
162
+ &--plain {
163
+ dt {
164
+ padding-left: 0;
165
+ }
166
+
167
+ dd {
168
+ padding-right: 0;
169
+ }
170
+ }
171
+
172
+ dt {
173
+ width: 25%;
174
+
175
+ @include typography.main-font-weight-bold;
176
+ }
177
+
178
+ dd {
179
+ width: 75%;
180
+
181
+ + dd {
182
+ margin-left: 25%;
183
+ }
184
+ }
185
+
186
+ &--icon-padding {
187
+ dt {
188
+ padding-left: 3rem !important;
189
+
190
+ position: relative;
191
+
192
+ .fa-solid {
193
+ overflow: visible;
194
+
195
+ position: absolute;
196
+ top: 50%;
197
+ left: 1rem;
198
+
199
+ @include colour.colour-font("icon-light");
200
+ text-align: left;
201
+
202
+ transform: translateY(-50%);
203
+ }
204
+ }
205
+ }
206
+
207
+ &--icon-padding#{&}--plain {
208
+ dt {
209
+ padding-left: 2rem !important;
210
+
211
+ .fa-solid {
212
+ left: 0;
213
+ }
214
+ }
215
+ }
216
+
217
+ &:not(&--plain) {
218
+ dt,
219
+ dd {
220
+ // padding-left: 1rem;
221
+ // padding-right: 1rem;
222
+ }
223
+
224
+ dt:first-child,
225
+ dd:nth-of-type(2n) + dt,
226
+ dd:nth-of-type(2n + 1) {
227
+ @include colour.colour-background("background-tint");
228
+ }
229
+ }
230
+
231
+ @include media.on-small {
232
+ dt {
233
+ width: 35%;
234
+ }
235
+
236
+ dd {
237
+ width: 65%;
238
+
239
+ + dd {
240
+ margin-left: 35%;
241
+ }
242
+ }
243
+ }
244
+
245
+ @include media.on-tiny {
246
+ dt,
247
+ dd {
248
+ width: 100%;
249
+ margin-left: 0;
250
+ }
251
+
252
+ dd {
253
+ padding-left: 1rem;
254
+ }
255
+
256
+ &--plain {
257
+ dt {
258
+ padding-bottom: 0;
259
+ }
260
+
261
+ dd {
262
+ padding-top: 0;
263
+ // padding-left: 2rem;
264
+
265
+ + dt {
266
+ // @include colour.colour-border("keyline", 1px, solid, top);
267
+ }
268
+ }
269
+ }
270
+
271
+ &:not(&--plain) {
272
+ dt {
273
+ @include colour.colour-background("background-tint");
274
+ }
275
+
276
+ dd {
277
+ background: transparent !important;
278
+ }
279
+ }
280
+ }
281
+
282
+ @include colour.on-high-contrast {
283
+ @include colour.colour-border("keyline-dark", 1px, solid, bottom);
284
+
285
+ dt,
286
+ dd {
287
+ // padding-left: 0;
288
+ // padding-right: 0;
289
+
290
+ background: transparent !important;
291
+
292
+ @include colour.colour-border("keyline-dark", 1px, solid, top);
293
+ }
294
+ }
295
+ }
296
+
131
297
  %chip {
132
298
  max-width: max-content;
133
- padding: 0.375em 0.5rem;
299
+ padding: 0.125em 0.25rem;
134
300
 
135
301
  display: block;
136
302
 
137
- @include colour.colour-font("font-dark");
138
303
  @include typography.detail-font-small;
139
304
  line-height: 1;
140
305
 
141
306
  @include colour.accent;
307
+
308
+ @include colour.colour-border("accent-background", 0.125rem);
142
309
  }
143
310
 
144
311
  .tna-chip {
@@ -162,36 +329,39 @@ a {
162
329
 
163
330
  %heading {
164
331
  @include colour.colour-font("font-dark");
165
- @include typography.heading-font;
166
-
167
- a {
168
- display: inline-block;
169
332
 
170
- &::after {
171
- padding-left: 0.25rem;
333
+ text-wrap: balance;
172
334
 
335
+ &:not(.tna-heading--no-link-arrow) {
336
+ a {
173
337
  display: inline-block;
174
338
 
175
- font-weight: 700;
339
+ &::after {
340
+ padding-left: 0.25rem;
176
341
 
177
- content: "\203A";
178
- }
342
+ display: inline-block;
179
343
 
180
- &:hover {
181
- &::after {
182
- padding-left: 0.5rem;
344
+ font-weight: 700;
345
+
346
+ content: "\203A";
347
+ }
348
+
349
+ &:hover {
350
+ &::after {
351
+ padding-left: 0.5rem;
352
+ }
183
353
  }
184
354
  }
185
355
  }
186
356
  }
187
357
 
188
358
  %heading-xl {
359
+ @include typography.heading-font;
189
360
  @include typography.relative-font-size(64);
190
361
  line-height: 1.2;
191
362
 
192
363
  @include media.on-medium {
193
- // @include typography.relative-font-size(42);
194
- @include typography.relative-font-size(50);
364
+ @include typography.relative-font-size(42);
195
365
  }
196
366
 
197
367
  @include media.on-mobile {
@@ -200,12 +370,12 @@ a {
200
370
  }
201
371
 
202
372
  %heading-l {
373
+ @include typography.heading-font;
203
374
  @include typography.relative-font-size(32);
204
- line-height: 1.4;
375
+ line-height: 1.3;
205
376
 
206
377
  @include media.on-medium {
207
- // @include typography.relative-font-size(26);
208
- @include typography.relative-font-size(28);
378
+ @include typography.relative-font-size(26);
209
379
  }
210
380
 
211
381
  @include media.on-mobile {
@@ -214,11 +384,13 @@ a {
214
384
  }
215
385
 
216
386
  %heading-m {
217
- @include typography.relative-font-size(20);
387
+ @include typography.main-font-weight-bold;
388
+ @include typography.relative-font-size(22);
218
389
  line-height: 1.6;
219
390
  }
220
391
 
221
392
  %heading-s {
393
+ @include typography.main-font-weight-bold;
222
394
  @include typography.relative-font-size(18);
223
395
  line-height: 1.6;
224
396
  }
@@ -245,7 +417,7 @@ a {
245
417
 
246
418
  .tna-hgroup {
247
419
  &__supertitle {
248
- margin: 0 0 0.5rem;
420
+ margin: 0 0 0.25rem;
249
421
 
250
422
  @extend %chip;
251
423
  }
@@ -280,6 +452,11 @@ a {
280
452
  margin-top: 3rem;
281
453
  margin-bottom: 1rem;
282
454
 
455
+ // &--m,
456
+ // &--s {
457
+ // margin-bottom: 0.5rem;
458
+ // }
459
+
283
460
  &:first-child {
284
461
  margin-top: 0;
285
462
  }
@@ -350,8 +527,8 @@ a {
350
527
  column-count: 3;
351
528
  }
352
529
 
353
- @include media.on-mobile {
354
- column-gap: grid.$gutter-width-mobile;
530
+ @include media.on-tiny {
531
+ column-gap: grid.$gutter-width-tiny;
355
532
  }
356
533
 
357
534
  @include media.on-small {
@@ -1 +1,2 @@
1
- $tna-font-path: "assets/fonts" !default;
1
+ $tna-font-path: "./assets/fonts" !default;
2
+ $fa-font-path: $tna-font-path !default;
@@ -25,8 +25,22 @@ $colour-palette-brand: (
25
25
  "pastel-blue": #d4e5ef,
26
26
  );
27
27
 
28
+ @function hex-to-rgb($hex, $opacity: 1) {
29
+ @if $opacity == 1 {
30
+ @return rgb(red($hex) green($hex) blue($hex));
31
+ } @else {
32
+ @return rgb(red($hex) green($hex) blue($hex) / #{$opacity});
33
+ }
34
+ }
35
+
36
+ @function brand-colour($colour, $opacity: 1) {
37
+ @return hex-to-rgb(map.get($colour-palette-brand, $colour), $opacity);
38
+ }
39
+
28
40
  $dark-grey: #26262a;
29
- $base-font: #343338;
41
+ $base-font: #343338 !default;
42
+ $link-colour: #1d70ab !default;
43
+ $link-colour-visited: #4c2c92 !default;
30
44
 
31
45
  /*
32
46
  =========================================
@@ -35,45 +49,48 @@ LIGHT THEME (DEFAULT)
35
49
  */
36
50
  $colour-palette-default: (
37
51
  "page-background": #f4f4f4,
52
+ "background-tint": #d8d8d8,
38
53
  "font-base": $base-font,
39
- "font-dark": map.get($colour-palette-brand, "black"),
40
- "font-light": rgba($base-font, 0.7),
41
- "link": #1d70ab,
42
- "link-visited": #4c2c92,
43
- "focus-outline": map.get($colour-palette-brand, "blue"),
44
- "keyline": #ccc,
54
+ "font-dark": brand-colour("black"),
55
+ "font-light": hex-to-rgb($base-font, 0.7),
56
+ "icon-light": hex-to-rgb($base-font, 0.45),
57
+ "link": $link-colour,
58
+ "link-visited": $link-colour-visited,
59
+ "focus-outline": brand-colour("blue"),
60
+ "keyline": hex-to-rgb($dark-grey, 0.25),
45
61
  "keyline-dark": $dark-grey,
46
- "button-text": map.get($colour-palette-brand, "white"),
47
- "button-background": map.get($colour-palette-brand, "black"),
48
- "button-hover-text": map.get($colour-palette-brand, "black"),
49
- "button-hover-background": map.get($colour-palette-brand, "white"),
62
+ "button-text": brand-colour("white"),
63
+ "button-background": brand-colour("black"),
64
+ "button-hover-text": brand-colour("black"),
65
+ "button-hover-background": brand-colour("white"),
50
66
  "contrast-background": #1e1e1e,
51
- // TODO: #343338 ?
52
- "contrast-font-base": map.get($colour-palette-brand, "white"),
53
- "contrast-font-dark": map.get($colour-palette-brand, "white"),
54
- "contrast-font-light": rgba(map.get($colour-palette-brand, "white"), 0.7),
55
- "contrast-link": map.get($colour-palette-brand, "white"),
56
- // "contrast-link-visited": #b9f, // Don't show visited state on contrasting backgrounds
57
- "contrast-link-visited": map.get($colour-palette-brand, "white"),
58
- "contrast-keyline": rgba(map.get($colour-palette-brand, "white"), 0.5),
59
- "contrast-keyline-dark": rgba(map.get($colour-palette-brand, "white"), 0.8),
60
- "contrast-button-text": map.get($colour-palette-brand, "black"),
61
- "contrast-button-background": map.get($colour-palette-brand, "white"),
62
- "contrast-button-hover-text": map.get($colour-palette-brand, "white"),
63
- "contrast-button-hover-background": map.get($colour-palette-brand, "black"),
67
+ "contrast-font-base": brand-colour("white"),
68
+ "contrast-font-dark": brand-colour("white"),
69
+ // "contrast-font-light": brand-colour("white", 0.7),
70
+ "contrast-font-light": brand-colour("white", 0.7),
71
+ "contrast-icon-light": brand-colour("white", 0.45),
72
+ "contrast-link": brand-colour("white"),
73
+ "contrast-link-visited": brand-colour("white"),
74
+ "contrast-keyline": brand-colour("white", 0.5),
75
+ "contrast-keyline-dark": brand-colour("white", 0.8),
76
+ "contrast-button-text": brand-colour("black"),
77
+ "contrast-button-background": brand-colour("white"),
78
+ "contrast-button-hover-text": brand-colour("white"),
79
+ "contrast-button-hover-background": brand-colour("black"),
64
80
  "accent": map.get($colour-palette-brand, "light-grey"),
65
81
  "accent-background": #111,
66
82
  "accent-background-light": map.get($colour-palette-brand, "light-grey"),
67
- "accent-font-base": map.get($colour-palette-brand, "white"),
68
- "accent-font-dark": map.get($colour-palette-brand, "white"),
69
- "accent-font-light": rgba(map.get($colour-palette-brand, "white"), 0.7),
70
- "accent-link": map.get($colour-palette-brand, "white"),
83
+ "accent-font-base": brand-colour("white"),
84
+ "accent-font-dark": brand-colour("white"),
85
+ "accent-font-light": brand-colour("white", 0.7),
86
+ "accent-icon-light": brand-colour("white", 0.45),
87
+ "accent-link": brand-colour("white"),
71
88
  "accent-link-visited": #b9f,
72
- "accent-keyline": rgba(map.get($colour-palette-brand, "white"), 0.5),
73
- "accent-keyline-dark": rgba(map.get($colour-palette-brand, "white"), 0.8),
74
- "button-accent-text": map.get($colour-palette-brand, "black"),
75
- "button-accent-background": map.get($colour-palette-brand, "grey"),
76
- );
89
+ "accent-keyline": brand-colour("white", 0.5),
90
+ "accent-keyline-dark": brand-colour("white", 0.8),
91
+ "button-accent-text": brand-colour("black"),
92
+ "button-accent-background": brand-colour("grey"),
93
+ ) !default;
77
94
 
78
95
  /*
79
96
  =========================================
@@ -84,24 +101,26 @@ $colour-palette-dark: map.merge(
84
101
  $colour-palette-default,
85
102
  (
86
103
  "page-background": #111,
87
- "font-base": rgba(map.get($colour-palette-brand, "white"), 0.95),
88
- "font-dark": map.get($colour-palette-brand, "white"),
89
- "font-light": rgba(map.get($colour-palette-brand, "white"), 0.5),
90
- "link": map.get($colour-palette-brand, "blue"),
91
- "link-visited": map.get($colour-palette-default, "contrast-link-visited"),
92
- "keyline": rgba(map.get($colour-palette-brand, "white"), 0.25),
93
- "keyline-dark": map.get($colour-palette-brand, "white"),
94
- "button-text": map.get($colour-palette-brand, "black"),
95
- "button-background": map.get($colour-palette-brand, "white"),
96
- "button-hover-text": map.get($colour-palette-brand, "white"),
97
- "button-hover-background": map.get($colour-palette-brand, "black"),
104
+ "background-tint": #333,
105
+ "font-base": brand-colour("white", 0.95),
106
+ "font-dark": brand-colour("white"),
107
+ "font-light": brand-colour("white", 0.5),
108
+ "icon-light": brand-colour("white", 0.35),
109
+ "link": brand-colour("blue"),
110
+ "link-visited": #a8f,
111
+ "keyline": brand-colour("white", 0.25),
112
+ "keyline-dark": brand-colour("white"),
113
+ "button-text": brand-colour("black"),
114
+ "button-background": brand-colour("white"),
115
+ "button-hover-text": brand-colour("white"),
116
+ "button-hover-background": brand-colour("black"),
98
117
  "contrast-background": #1e1e1e,
99
118
  "contrast-link-visited":
100
119
  map.get($colour-palette-default, "contrast-link-visited"),
101
120
  // --accent-background-light is the same as --contrast-background on dark themes
102
- "accent-background-light": map.get($colour-palette-brand, "grey"),
121
+ "accent-background-light": brand-colour("grey"),
103
122
  )
104
- );
123
+ ) !default;
105
124
 
106
125
  /*
107
126
  =========================================
@@ -111,28 +130,29 @@ LIGHT, HIGH_CONTRAST THEME
111
130
  $colour-palette-high-contrast: map.merge(
112
131
  $colour-palette-default,
113
132
  (
114
- "page-background": map.get($colour-palette-brand, "white"),
115
- "font-base": map.get($colour-palette-brand, "black"),
116
- "font-light": map.get($colour-palette-brand, "black"),
117
- "link": map.get($colour-palette-brand, "navy"),
118
- "link-visited": map.get($colour-palette-brand, "black"),
119
- "focus-outline": map.get($colour-palette-brand, "orange"),
120
- "keyline": map.get($colour-palette-brand, "black"),
121
- "keyline-dark": map.get($colour-palette-brand, "black"),
133
+ "page-background": brand-colour("white"),
134
+ "font-base": brand-colour("black"),
135
+ "font-light": brand-colour("black"),
136
+ "icon-light": brand-colour("black", 0.75),
137
+ "link": brand-colour("navy"),
138
+ "link-visited": brand-colour("black"),
139
+ "focus-outline": brand-colour("orange"),
140
+ "keyline": brand-colour("black"),
141
+ "keyline-dark": brand-colour("black"),
122
142
  "contrast-background": #f4f4f4,
123
- "contrast-font-base": map.get($colour-palette-brand, "black"),
124
- "contrast-font-dark": map.get($colour-palette-brand, "black"),
125
- "contrast-font-light": map.get($colour-palette-brand, "black"),
126
- "contrast-link": map.get($colour-palette-brand, "navy"),
127
- "contrast-link-visited": map.get($colour-palette-brand, "black"),
128
- "contrast-keyline": map.get($colour-palette-brand, "black"),
129
- "contrast-keyline-dark": map.get($colour-palette-brand, "black"),
130
- "contrast-button-text": map.get($colour-palette-brand, "white"),
131
- "contrast-button-background": map.get($colour-palette-brand, "black"),
132
- "contrast-button-hover-text": map.get($colour-palette-brand, "black"),
133
- "contrast-button-hover-background": map.get($colour-palette-brand, "white"),
143
+ "contrast-font-base": brand-colour("black"),
144
+ "contrast-font-dark": brand-colour("black"),
145
+ "contrast-font-light": brand-colour("black"),
146
+ "contrast-link": brand-colour("navy"),
147
+ "contrast-link-visited": brand-colour("black"),
148
+ "contrast-keyline": brand-colour("black"),
149
+ "contrast-keyline-dark": brand-colour("black"),
150
+ "contrast-button-text": brand-colour("white"),
151
+ "contrast-button-background": brand-colour("black"),
152
+ "contrast-button-hover-text": brand-colour("black"),
153
+ "contrast-button-hover-background": brand-colour("white"),
134
154
  )
135
- );
155
+ ) !default;
136
156
 
137
157
  /*
138
158
  =========================================
@@ -142,12 +162,13 @@ DARK, HIGH_CONTRAST THEME
142
162
  $colour-palette-high-contrast-dark: map.merge(
143
163
  $colour-palette-dark,
144
164
  (
145
- "page-background": map.get($colour-palette-brand, "black"),
146
- "font-base": map.get($colour-palette-brand, "white"),
147
- "font-light": map.get($colour-palette-brand, "white"),
148
- "link": map.get($colour-palette-brand, "white"),
149
- "link-visited": map.get($colour-palette-brand, "white"),
150
- "keyline": map.get($colour-palette-brand, "white"),
165
+ "page-background": brand-colour("black"),
166
+ "font-base": brand-colour("white"),
167
+ "font-light": brand-colour("white"),
168
+ "icon-light": brand-colour("white", 0.75),
169
+ "link": brand-colour("white"),
170
+ "link-visited": brand-colour("white"),
171
+ "keyline": brand-colour("white"),
151
172
  "contrast-background": #111,
152
173
  )
153
- );
174
+ ) !default;
@@ -0,0 +1 @@
1
+ $debug-interactable-areas: false !default;
@@ -1,9 +1,9 @@
1
1
  $largest-container-width: 75.25rem !default;
2
2
 
3
3
  $gutter-width: 2rem !default;
4
- $gutter-width-mobile: 1.5rem !default;
4
+ $gutter-width-tiny: 1rem !default;
5
5
 
6
- $column-count: 12 !default;
7
- $column-count-medium: 6 !default;
8
- $column-count-small: 4 !default;
9
- $column-count-tiny: 2 !default;
6
+ $column-count: 12;
7
+ $column-count-medium: 6;
8
+ $column-count-small: 4;
9
+ $column-count-tiny: 2;
@@ -1,5 +1,6 @@
1
1
  @use "assets";
2
2
  @use "colour";
3
+ @use "features";
3
4
  @use "grid";
4
5
  @use "media";
5
6
  @use "spacing";
@@ -1,40 +1,40 @@
1
1
  @use "sass:math";
2
2
  @use "./typography";
3
3
 
4
- $-largest-medium-device-px: 1024 !default;
5
- $-largest-small-device-px: 768 !default;
6
- $-largest-tiny-device-px: 480 !default;
4
+ $largest-medium-device-px: 1024 !default;
5
+ $largest-small-device-px: 768 !default;
6
+ $largest-tiny-device-px: 480 !default;
7
7
 
8
- $-smallest-large-device-em: #{math.div(
9
- $-largest-medium-device-px + 1,
10
- typography.$base-font-size-px
8
+ $smallest-large-device-em: #{math.div(
9
+ $largest-medium-device-px + 1,
10
+ typography.$relative-1rem-px
11
11
  )}em;
12
- $-largest-medium-device-em: #{math.div(
13
- $-largest-medium-device-px,
14
- typography.$base-font-size-px
12
+ $largest-medium-device-em: #{math.div(
13
+ $largest-medium-device-px,
14
+ typography.$relative-1rem-px
15
15
  )}em;
16
- $-smallest-medium-device-em: #{math.div(
17
- $-largest-small-device-px + 1,
18
- typography.$base-font-size-px
16
+ $smallest-medium-device-em: #{math.div(
17
+ $largest-small-device-px + 1,
18
+ typography.$relative-1rem-px
19
19
  )}em;
20
- $-largest-small-device-em: #{math.div(
21
- $-largest-small-device-px,
22
- typography.$base-font-size-px
20
+ $largest-small-device-em: #{math.div(
21
+ $largest-small-device-px,
22
+ typography.$relative-1rem-px
23
23
  )}em;
24
- $-smallest-small-device-em: #{math.div(
25
- $-largest-tiny-device-px + 1,
26
- typography.$base-font-size-px
24
+ $smallest-small-device-em: #{math.div(
25
+ $largest-tiny-device-px + 1,
26
+ typography.$relative-1rem-px
27
27
  )}em;
28
- $-largest-tiny-device-em: #{math.div(
29
- $-largest-tiny-device-px,
30
- typography.$base-font-size-px
28
+ $largest-tiny-device-em: #{math.div(
29
+ $largest-tiny-device-px,
30
+ typography.$relative-1rem-px
31
31
  )}em;
32
32
 
33
- $media-large: "(min-width: #{$-smallest-large-device-em})";
34
- $media-lt-large: "(max-width: #{$-largest-medium-device-em})";
35
- $media-medium: "(min-width: #{$-smallest-medium-device-em}) and (max-width: #{$-largest-medium-device-em})";
36
- $media-gt-mobile: "(min-width: #{$-smallest-medium-device-em})";
37
- $media-mobile: "(max-width: #{$-largest-small-device-em})";
38
- $media-small: "(min-width: #{$-smallest-small-device-em}) and (max-width: #{$-largest-small-device-em})";
39
- $media-gt-tiny: "(min-width: #{$-smallest-small-device-em})";
40
- $media-tiny: "(max-width: #{$-largest-tiny-device-em})";
33
+ $media-large: "(min-width: #{$smallest-large-device-em})";
34
+ $media-lt-large: "(max-width: #{$largest-medium-device-em})";
35
+ $media-medium: "(min-width: #{$smallest-medium-device-em}) and (max-width: #{$largest-medium-device-em})";
36
+ $media-gt-mobile: "(min-width: #{$smallest-medium-device-em})";
37
+ $media-mobile: "(max-width: #{$largest-small-device-em})";
38
+ $media-small: "(min-width: #{$smallest-small-device-em}) and (max-width: #{$largest-small-device-em})";
39
+ $media-gt-tiny: "(min-width: #{$smallest-small-device-em})";
40
+ $media-tiny: "(max-width: #{$largest-tiny-device-em})";