@nationalarchives/frontend 0.1.20-prerelease → 0.1.22-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 (162) hide show
  1. package/README.md +1 -1
  2. package/govuk-prototype-kit.config.json +7 -2
  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.js +1 -1
  17. package/nationalarchives/components/breadcrumbs/breadcrumbs.js.map +1 -1
  18. package/nationalarchives/components/breadcrumbs/breadcrumbs.mjs +5 -15
  19. package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +12 -4
  20. package/nationalarchives/components/breadcrumbs/breadcrumbs.stories.js +64 -0
  21. package/nationalarchives/components/breadcrumbs/fixtures.json +2 -2
  22. package/nationalarchives/components/breadcrumbs/template.njk +11 -15
  23. package/nationalarchives/components/button/_button-group.scss +1 -1
  24. package/nationalarchives/components/button/button.css +1 -13
  25. package/nationalarchives/components/button/button.css.map +1 -1
  26. package/nationalarchives/components/button/button.scss +24 -6
  27. package/nationalarchives/components/card/card.css +1 -13
  28. package/nationalarchives/components/card/card.css.map +1 -1
  29. package/nationalarchives/components/card/card.scss +52 -7
  30. package/nationalarchives/components/card/card.stories.js +78 -36
  31. package/nationalarchives/components/card/fixtures.json +40 -16
  32. package/nationalarchives/components/card/macro-options.json +26 -0
  33. package/nationalarchives/components/card/template.njk +38 -26
  34. package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -13
  35. package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
  36. package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
  37. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
  38. package/nationalarchives/components/cookie-banner/cookie-banner.mjs +15 -7
  39. package/nationalarchives/components/cookie-banner/cookie-banner.scss +9 -1
  40. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +23 -10
  41. package/nationalarchives/components/cookie-banner/macro-options.json +1 -1
  42. package/nationalarchives/components/cookie-banner/template.njk +4 -4
  43. package/nationalarchives/components/filters/filters.css +1 -1
  44. package/nationalarchives/components/filters/filters.css.map +1 -1
  45. package/nationalarchives/components/filters/filters.scss +2 -2
  46. package/nationalarchives/components/footer/fixtures.json +1 -1
  47. package/nationalarchives/components/footer/footer.css +1 -13
  48. package/nationalarchives/components/footer/footer.css.map +1 -1
  49. package/nationalarchives/components/footer/footer.scss +8 -55
  50. package/nationalarchives/components/footer/footer.stories.js +1 -1
  51. package/nationalarchives/components/footer/template.njk +16 -14
  52. package/nationalarchives/components/gallery/gallery.css +1 -13
  53. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  54. package/nationalarchives/components/gallery/template.njk +2 -2
  55. package/nationalarchives/components/grid/grid.css +1 -1
  56. package/nationalarchives/components/grid/grid.css.map +1 -1
  57. package/nationalarchives/components/grid/grid.scss +15 -11
  58. package/nationalarchives/components/grid/grid.stories.js +21 -0
  59. package/nationalarchives/components/grid/macro-options.json +48 -0
  60. package/nationalarchives/components/grid/template.njk +29 -3
  61. package/nationalarchives/components/header/header.css +1 -1
  62. package/nationalarchives/components/header/header.css.map +1 -1
  63. package/nationalarchives/components/header/header.scss +60 -145
  64. package/nationalarchives/components/header/header.stories.js +2 -0
  65. package/nationalarchives/components/header/macro-options.json +12 -0
  66. package/nationalarchives/components/header/template.njk +6 -1
  67. package/nationalarchives/components/hero/fixtures.json +166 -6
  68. package/nationalarchives/components/hero/hero.css +1 -1
  69. package/nationalarchives/components/hero/hero.css.map +1 -1
  70. package/nationalarchives/components/hero/hero.scss +187 -64
  71. package/nationalarchives/components/hero/hero.stories.js +98 -23
  72. package/nationalarchives/components/hero/macro-options.json +48 -12
  73. package/nationalarchives/components/hero/template.njk +34 -24
  74. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  75. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  76. package/nationalarchives/components/index-grid/template.njk +2 -2
  77. package/nationalarchives/components/message/message.css +1 -1
  78. package/nationalarchives/components/message/message.css.map +1 -1
  79. package/nationalarchives/components/message/message.scss +4 -0
  80. package/nationalarchives/components/pagination/_index.scss +1 -0
  81. package/nationalarchives/components/pagination/fixtures.json +4 -0
  82. package/nationalarchives/components/pagination/macro-options.json +116 -0
  83. package/nationalarchives/components/pagination/macro.njk +3 -0
  84. package/nationalarchives/components/pagination/pagination.css +1 -0
  85. package/nationalarchives/components/pagination/pagination.css.map +1 -0
  86. package/nationalarchives/components/pagination/pagination.scss +98 -0
  87. package/nationalarchives/components/pagination/pagination.stories.js +73 -0
  88. package/nationalarchives/components/pagination/template.njk +38 -0
  89. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  90. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  91. package/nationalarchives/components/phase-banner/phase-banner.scss +5 -1
  92. package/nationalarchives/components/picture/picture.css +1 -13
  93. package/nationalarchives/components/picture/picture.css.map +1 -1
  94. package/nationalarchives/components/picture/picture.scss +1 -1
  95. package/nationalarchives/components/picture/picture.stories.js +2 -2
  96. package/nationalarchives/components/profile/profile.css +1 -1
  97. package/nationalarchives/components/profile/profile.css.map +1 -1
  98. package/nationalarchives/components/profile/template.njk +2 -2
  99. package/nationalarchives/components/sensitive-image/sensitive-image.css +1 -1
  100. package/nationalarchives/components/sensitive-image/sensitive-image.css.map +1 -1
  101. package/nationalarchives/components/skip-link/fixtures.json +1 -1
  102. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  103. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  104. package/nationalarchives/components/skip-link/skip-link.js +2 -0
  105. package/nationalarchives/components/skip-link/skip-link.js.map +1 -0
  106. package/nationalarchives/components/skip-link/skip-link.mjs +40 -0
  107. package/nationalarchives/components/skip-link/skip-link.scss +18 -16
  108. package/nationalarchives/components/skip-link/skip-link.stories.js +48 -6
  109. package/nationalarchives/components/skip-link/template.njk +1 -1
  110. package/nationalarchives/components/tabs/tabs.css +1 -1
  111. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  112. package/nationalarchives/components/tabs/tabs.js +1 -1
  113. package/nationalarchives/components/tabs/tabs.js.map +1 -1
  114. package/nationalarchives/components/tabs/tabs.mjs +6 -2
  115. package/nationalarchives/components/tabs/tabs.scss +17 -2
  116. package/nationalarchives/components/tabs/tabs.stories.js +6 -6
  117. package/nationalarchives/lib/_font-awesome.scss +3 -2
  118. package/nationalarchives/lib/cookies.mjs +122 -50
  119. package/nationalarchives/stories/development/contributing.mdx +0 -10
  120. package/nationalarchives/stories/development/cookies.mdx +82 -0
  121. package/nationalarchives/stories/development/structure.mdx +88 -0
  122. package/nationalarchives/stories/development/using/compiled.mdx +9 -0
  123. package/nationalarchives/stories/development/using/hosted.mdx +53 -0
  124. package/nationalarchives/stories/development/using/npm.mdx +59 -0
  125. package/nationalarchives/stories/utilities/colour-schemes/colour-schemes.stories.js +333 -72
  126. package/nationalarchives/stories/utilities/overrides/overrides.stories.js +10 -21
  127. package/nationalarchives/stories/utilities/typography/heading-groups.stories.js +2 -2
  128. package/nationalarchives/stories/utilities/typography/headings.stories.js +6 -3
  129. package/nationalarchives/stories/utilities/typography/lists.stories.js +93 -0
  130. package/nationalarchives/stories/utilities/typography/typography.mdx +11 -1
  131. package/nationalarchives/stories/utilities/typography/typography.stories.js +1 -1
  132. package/nationalarchives/templates/homepage.njk +11 -58
  133. package/nationalarchives/templates/layouts/_generic.njk +31 -14
  134. package/nationalarchives/templates/layouts/_prototype-kit.njk +11 -0
  135. package/nationalarchives/templates/search-results.njk +11 -15
  136. package/nationalarchives/templates/topics.njk +18 -22
  137. package/nationalarchives/tools/_colour.scss +77 -23
  138. package/nationalarchives/tools/_grid.scss +12 -12
  139. package/nationalarchives/tools/_media.scss +6 -0
  140. package/nationalarchives/tools/_spacing.scss +6 -6
  141. package/nationalarchives/tools/_typography.scss +4 -2
  142. package/nationalarchives/utilities/_a11y.scss +15 -0
  143. package/nationalarchives/utilities/_columns.scss +42 -0
  144. package/nationalarchives/utilities/_debug.scss +1 -1
  145. package/nationalarchives/utilities/_global.scss +32 -32
  146. package/nationalarchives/utilities/_index.scss +2 -0
  147. package/nationalarchives/utilities/_lists.scss +181 -0
  148. package/nationalarchives/utilities/_typography.scss +129 -138
  149. package/nationalarchives/variables/_assets.scss +2 -1
  150. package/nationalarchives/variables/_colour.scss +94 -74
  151. package/nationalarchives/variables/_features.scss +1 -0
  152. package/nationalarchives/variables/_grid.scss +5 -5
  153. package/nationalarchives/variables/_index.scss +1 -0
  154. package/nationalarchives/variables/_media.scss +29 -29
  155. package/nationalarchives/variables/_typography.scss +15 -12
  156. package/package.json +15 -14
  157. package/nationalarchives/_features.scss +0 -1
  158. package/nationalarchives/assets/images/tna-horizontal-logo-inverted.svg +0 -51
  159. package/nationalarchives/assets/images/tna-horizontal-logo.svg +0 -51
  160. package/nationalarchives/stories/design/about.mdx +0 -25
  161. package/nationalarchives/stories/development/relationships.mdx +0 -57
  162. 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
 
@@ -13,6 +14,7 @@
13
14
  src: url("#{assets.$tna-font-path}/OpenSans-Medium.ttf");
14
15
  font-weight: normal;
15
16
  font-style: normal;
17
+ // font-display: swap;
16
18
  }
17
19
 
18
20
  @font-face {
@@ -20,6 +22,7 @@
20
22
  src: url("#{assets.$tna-font-path}/OpenSans-Bold.ttf");
21
23
  font-weight: bold;
22
24
  font-style: normal;
25
+ // font-display: swap;
23
26
  }
24
27
 
25
28
  @font-face {
@@ -27,6 +30,7 @@
27
30
  src: url("#{assets.$tna-font-path}/RobotoMono-Regular.ttf");
28
31
  font-weight: normal;
29
32
  font-style: normal;
33
+ // font-display: swap;
30
34
  }
31
35
 
32
36
  .tna-template {
@@ -41,9 +45,14 @@
41
45
 
42
46
  .tna-template__body {
43
47
  color: inherit;
44
- @include typography.relative-font-size(18);
45
- // line-height: 1.6;
46
- line-height: #{math.div(16, 18) * 2};
48
+ @include typography.relative-font-size(typographyVars.$body-font-size-px);
49
+ line-height: typographyVars.$body-line-height;
50
+
51
+ @include media.on-mobile {
52
+ @include typography.relative-font-size(
53
+ typographyVars.$body-font-size-px-mobile
54
+ );
55
+ }
47
56
  }
48
57
 
49
58
  h1,
@@ -68,14 +77,10 @@ strong {
68
77
  }
69
78
 
70
79
  p {
71
- margin: 0 0 1.5rem;
80
+ margin: 1rem 0 0;
72
81
 
73
- @include media.on-tiny {
74
- margin-bottom: 1rem;
75
- }
76
-
77
- &:last-child {
78
- margin-bottom: 0;
82
+ &:first-child {
83
+ margin-top: 0;
79
84
  }
80
85
  }
81
86
 
@@ -91,107 +96,114 @@ a {
91
96
  &:active {
92
97
  @include typography.interacted-text-decoration;
93
98
  }
94
-
95
- &.tna-chip {
96
- text-decoration: none;
97
-
98
- &,
99
- &:link,
100
- &:visited {
101
- @include colour.colour-font("font-dark");
102
- }
103
-
104
- &:hover {
105
- @include typography.interacted-text-decoration;
106
- }
107
- }
108
99
  }
109
100
 
110
- .tna-ul,
111
- .tna-ol {
112
- margin-top: 0;
113
- margin-right: 0;
114
- margin-left: 0;
115
- padding: 0 0 0 2rem;
101
+ small {
102
+ @include typography.relative-font-size(
103
+ typographyVars.$body-font-size-px * 0.85
104
+ );
105
+ }
116
106
 
117
- @include spacing.space-below;
107
+ .tna-chip-list {
108
+ @include spacing.space-above;
109
+ margin-bottom: 0;
110
+ padding-left: 0;
118
111
 
119
- li::marker {
120
- @include colour.colour-font("accent-background");
121
- font-weight: 700;
122
- }
112
+ display: flex;
113
+ flex-wrap: wrap;
114
+ gap: 1rem;
123
115
 
124
- &--plain {
125
- padding-left: 0;
116
+ list-style: none;
126
117
 
127
- list-style: none;
118
+ &__item {
128
119
  }
129
120
  }
130
121
 
131
122
  %chip {
132
123
  max-width: max-content;
133
- padding: 0.375em 0.5rem;
124
+ padding: 0.125em 0.25rem;
134
125
 
135
126
  display: block;
136
127
 
137
- @include colour.colour-font("font-dark");
138
128
  @include typography.detail-font-small;
139
129
  line-height: 1;
140
130
 
141
131
  @include colour.accent;
132
+
133
+ @include colour.colour-border("accent-background", 0.125rem);
142
134
  }
143
135
 
144
136
  .tna-chip {
145
137
  @extend %chip;
146
- }
147
138
 
148
- .tna-chip-list {
149
- padding-left: 0;
139
+ &--plain {
140
+ color: inherit;
150
141
 
151
- display: flex;
152
- flex-wrap: wrap;
153
- gap: 1rem;
142
+ background-color: transparent;
154
143
 
155
- list-style: none;
144
+ border-color: transparent;
145
+ }
146
+ }
156
147
 
157
- @include spacing.space-below;
148
+ a.tna-chip {
149
+ text-decoration: none;
158
150
 
159
- &__item {
151
+ &,
152
+ &:link,
153
+ &:visited {
154
+ @include colour.colour-font("font-dark");
155
+ }
156
+
157
+ &:hover {
158
+ @include typography.interacted-text-decoration;
159
+ }
160
+
161
+ &--plain {
162
+ &,
163
+ &:link,
164
+ &:visited {
165
+ color: inherit;
166
+ }
160
167
  }
161
168
  }
162
169
 
163
170
  %heading {
164
171
  @include colour.colour-font("font-dark");
165
- @include typography.heading-font;
166
-
167
- a {
168
- display: inline-block;
169
172
 
170
- &::after {
171
- padding-left: 0.25rem;
173
+ text-wrap: balance;
172
174
 
175
+ &:not(.tna-heading--no-link-arrow) {
176
+ a {
173
177
  display: inline-block;
174
178
 
175
- font-weight: 700;
179
+ &::after {
180
+ padding-left: 0.25rem;
181
+
182
+ display: inline-block;
176
183
 
177
- content: "\203A";
178
- }
184
+ font-weight: 700;
179
185
 
180
- &:hover {
181
- &::after {
182
- padding-left: 0.5rem;
186
+ content: "\203A";
187
+ }
188
+
189
+ &:hover {
190
+ &::after {
191
+ padding-left: 0.5rem;
192
+ }
183
193
  }
184
194
  }
185
195
  }
186
196
  }
187
197
 
188
198
  %heading-xl {
199
+ @extend %heading;
200
+
201
+ @include typography.heading-font;
189
202
  @include typography.relative-font-size(64);
190
203
  line-height: 1.2;
191
204
 
192
205
  @include media.on-medium {
193
- // @include typography.relative-font-size(42);
194
- @include typography.relative-font-size(50);
206
+ @include typography.relative-font-size(42);
195
207
  }
196
208
 
197
209
  @include media.on-mobile {
@@ -200,12 +212,14 @@ a {
200
212
  }
201
213
 
202
214
  %heading-l {
215
+ @extend %heading;
216
+
217
+ @include typography.heading-font;
203
218
  @include typography.relative-font-size(32);
204
- line-height: 1.4;
219
+ line-height: 1.3;
205
220
 
206
221
  @include media.on-medium {
207
- // @include typography.relative-font-size(26);
208
- @include typography.relative-font-size(28);
222
+ @include typography.relative-font-size(26);
209
223
  }
210
224
 
211
225
  @include media.on-mobile {
@@ -214,38 +228,72 @@ a {
214
228
  }
215
229
 
216
230
  %heading-m {
217
- @include typography.relative-font-size(20);
231
+ @extend %heading;
232
+
233
+ @include typography.main-font-weight-bold;
234
+ @include typography.relative-font-size(22);
218
235
  line-height: 1.6;
236
+
237
+ @include media.on-mobile {
238
+ @include typography.relative-font-size(20);
239
+ }
219
240
  }
220
241
 
221
242
  %heading-s {
243
+ @extend %heading;
244
+
245
+ @include typography.main-font-weight-bold;
222
246
  @include typography.relative-font-size(18);
223
247
  line-height: 1.6;
224
248
  }
225
249
 
226
- .tna-heading {
227
- @extend %heading;
250
+ %headings-and-heading-groups {
251
+ @include spacing.space-above;
252
+ margin-bottom: 1rem;
253
+ padding-top: 1rem;
228
254
 
229
- &--xl {
255
+ &:first-child {
256
+ padding-top: 0;
257
+ }
258
+
259
+ &:last-child {
260
+ margin-bottom: 0;
261
+ padding-bottom: 0;
262
+ }
263
+ }
264
+
265
+ .tna-heading {
266
+ &-xl {
230
267
  @extend %heading-xl;
268
+ @extend %headings-and-heading-groups;
231
269
  }
232
270
 
233
- &--l {
271
+ &-l {
234
272
  @extend %heading-l;
273
+ @extend %headings-and-heading-groups;
235
274
  }
236
275
 
237
- &--m {
276
+ &-m {
238
277
  @extend %heading-m;
278
+ @extend %headings-and-heading-groups;
239
279
  }
240
280
 
241
- &--s {
281
+ &-s {
242
282
  @extend %heading-s;
283
+ @extend %headings-and-heading-groups;
243
284
  }
244
285
  }
245
286
 
246
287
  .tna-hgroup {
288
+ &-xl,
289
+ &-l,
290
+ &-m,
291
+ &-s {
292
+ @extend %headings-and-heading-groups;
293
+ }
294
+
247
295
  &__supertitle {
248
- margin: 0 0 0.5rem;
296
+ margin: 0 0 0.25rem;
249
297
 
250
298
  @extend %chip;
251
299
  }
@@ -254,51 +302,34 @@ a {
254
302
  margin: 0;
255
303
 
256
304
  display: block;
257
-
258
- @extend %heading;
259
305
  }
260
306
 
261
- &--xl &__title {
307
+ &-xl &__title {
262
308
  @extend %heading-xl;
263
309
  }
264
310
 
265
- &--l &__title {
311
+ &-l &__title {
266
312
  @extend %heading-l;
267
313
  }
268
314
 
269
- &--m &__title {
315
+ &-m &__title {
270
316
  @extend %heading-m;
271
317
  }
272
318
 
273
- &--s &__title {
319
+ &-s &__title {
274
320
  @extend %heading-s;
275
321
  }
276
322
  }
277
323
 
278
- .tna-heading,
279
- .tna-hgroup {
280
- margin-top: 3rem;
281
- margin-bottom: 1rem;
282
-
283
- &:first-child {
284
- margin-top: 0;
285
- }
286
-
287
- &:last-child {
288
- margin-bottom: 0;
289
- }
290
- }
291
-
292
324
  .tna-blockquote {
293
- margin-top: 0;
325
+ @include spacing.space-above;
294
326
  margin-right: 0;
327
+ margin-bottom: 0;
295
328
  margin-left: 0;
296
329
  padding: 1rem 1rem 1rem 2rem;
297
330
 
298
331
  @include colour.colour-border("accent-background", 0.35rem, solid, left);
299
332
 
300
- @include spacing.space-below;
301
-
302
333
  &__quote {
303
334
  font-weight: 700;
304
335
  }
@@ -322,7 +353,7 @@ a {
322
353
  @include typography.relative-font-size(30);
323
354
  line-height: math.div(50, 30);
324
355
 
325
- @include spacing.space-below;
356
+ @include spacing.space-above;
326
357
 
327
358
  @include media.on-mobile {
328
359
  @include typography.relative-font-size(24);
@@ -338,43 +369,3 @@ a {
338
369
  }
339
370
  }
340
371
  }
341
-
342
- .tna-columns {
343
- column-gap: grid.$gutter-width;
344
-
345
- &--2 {
346
- column-count: 2;
347
- }
348
-
349
- &--3 {
350
- column-count: 3;
351
- }
352
-
353
- @include media.on-mobile {
354
- column-gap: grid.$gutter-width-mobile;
355
- }
356
-
357
- @include media.on-small {
358
- @for $i from 1 through 4 {
359
- &--#{$i}-small {
360
- column-count: $i;
361
- }
362
- }
363
- }
364
-
365
- @include media.on-tiny {
366
- @for $i from 1 through 4 {
367
- &--#{$i}-tiny {
368
- column-count: $i;
369
- }
370
- }
371
- }
372
-
373
- &__block {
374
- break-inside: avoid;
375
- }
376
-
377
- &:has(&__block:only-of-type) {
378
- column-count: 1;
379
- }
380
- }
@@ -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,12 @@ 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"),
151
- "contrast-background": #111,
165
+ "font-base": brand-colour("white"),
166
+ "font-light": brand-colour("white"),
167
+ "icon-light": brand-colour("white", 0.75),
168
+ "link": brand-colour("white"),
169
+ "link-visited": brand-colour("white"),
170
+ "keyline": brand-colour("white"),
171
+ "contrast-background": brand-colour("black"),
152
172
  )
153
- );
173
+ ) !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";