@nationalarchives/frontend 0.1.25-prerelease → 0.1.27-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 (190) hide show
  1. package/nationalarchives/all.css +2 -2
  2. package/nationalarchives/all.css.map +1 -1
  3. package/nationalarchives/all.js +1 -1
  4. package/nationalarchives/all.js.map +1 -1
  5. package/nationalarchives/all.mjs +0 -11
  6. package/nationalarchives/components/_index.scss +8 -0
  7. package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -1
  8. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
  9. package/nationalarchives/components/breadcrumbs/breadcrumbs.js +1 -1
  10. package/nationalarchives/components/breadcrumbs/breadcrumbs.js.map +1 -1
  11. package/nationalarchives/components/breadcrumbs/breadcrumbs.mjs +1 -1
  12. package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +1 -1
  13. package/nationalarchives/components/button/_button-group.scss +4 -0
  14. package/nationalarchives/components/button/button.css +1 -1
  15. package/nationalarchives/components/button/button.css.map +1 -1
  16. package/nationalarchives/components/button/button.scss +89 -26
  17. package/nationalarchives/components/button/button.stories.js +52 -5
  18. package/nationalarchives/components/button/macro-options.json +18 -0
  19. package/nationalarchives/components/button/template.njk +15 -6
  20. package/nationalarchives/components/card/card.css +1 -1
  21. package/nationalarchives/components/card/card.css.map +1 -1
  22. package/nationalarchives/components/card/card.scss +4 -38
  23. package/nationalarchives/components/card/fixtures.json +1 -1
  24. package/nationalarchives/components/card/template.njk +8 -6
  25. package/nationalarchives/components/checkboxes/_index.scss +1 -0
  26. package/nationalarchives/components/checkboxes/checkboxes.css +1 -0
  27. package/nationalarchives/components/checkboxes/checkboxes.css.map +1 -0
  28. package/nationalarchives/components/checkboxes/checkboxes.scss +143 -0
  29. package/nationalarchives/components/checkboxes/checkboxes.stories.js +238 -0
  30. package/nationalarchives/components/checkboxes/fixtures.json +4 -0
  31. package/nationalarchives/components/checkboxes/macro-options.json +102 -0
  32. package/nationalarchives/components/checkboxes/macro.njk +3 -0
  33. package/nationalarchives/components/checkboxes/template.njk +35 -0
  34. package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -1
  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 +2 -0
  39. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +11 -0
  40. package/nationalarchives/components/cookie-banner/fixtures.json +28 -9
  41. package/nationalarchives/components/cookie-banner/macro-options.json +12 -0
  42. package/nationalarchives/components/cookie-banner/template.njk +1 -1
  43. package/nationalarchives/components/date-input/_index.scss +1 -0
  44. package/nationalarchives/components/date-input/date-input.css +1 -0
  45. package/nationalarchives/components/date-input/date-input.css.map +1 -0
  46. package/nationalarchives/components/date-input/date-input.scss +48 -0
  47. package/nationalarchives/components/date-input/date-input.stories.js +116 -0
  48. package/nationalarchives/components/date-input/fixtures.json +4 -0
  49. package/nationalarchives/components/date-input/macro-options.json +96 -0
  50. package/nationalarchives/components/date-input/macro.njk +3 -0
  51. package/nationalarchives/components/date-input/template.njk +45 -0
  52. package/nationalarchives/components/date-search/_index.scss +1 -0
  53. package/nationalarchives/components/date-search/date-search.css +1 -0
  54. package/nationalarchives/components/date-search/date-search.css.map +1 -0
  55. package/nationalarchives/components/date-search/date-search.scss +27 -0
  56. package/nationalarchives/components/date-search/date-search.stories.js +121 -0
  57. package/nationalarchives/components/date-search/fixtures.json +4 -0
  58. package/nationalarchives/components/date-search/macro-options.json +94 -0
  59. package/nationalarchives/components/date-search/macro.njk +3 -0
  60. package/nationalarchives/components/date-search/template.njk +27 -0
  61. package/nationalarchives/components/featured-records/featured-records.css +1 -1
  62. package/nationalarchives/components/featured-records/featured-records.css.map +1 -1
  63. package/nationalarchives/components/filters/filters.css +1 -1
  64. package/nationalarchives/components/filters/filters.css.map +1 -1
  65. package/nationalarchives/components/filters/filters.scss +0 -8
  66. package/nationalarchives/components/filters/template.njk +1 -1
  67. package/nationalarchives/components/footer/footer.css +1 -1
  68. package/nationalarchives/components/footer/footer.css.map +1 -1
  69. package/nationalarchives/components/footer/footer.scss +3 -5
  70. package/nationalarchives/components/footer/template.njk +10 -6
  71. package/nationalarchives/components/gallery/gallery.css +1 -1
  72. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  73. package/nationalarchives/components/gallery/gallery.scss +0 -11
  74. package/nationalarchives/components/gallery/gallery.stories.js +8 -10
  75. package/nationalarchives/components/gallery/template.njk +1 -1
  76. package/nationalarchives/components/grid/grid.css +1 -1
  77. package/nationalarchives/components/grid/grid.css.map +1 -1
  78. package/nationalarchives/components/header/header.css +1 -1
  79. package/nationalarchives/components/header/header.css.map +1 -1
  80. package/nationalarchives/components/header/header.scss +30 -29
  81. package/nationalarchives/components/header/header.stories.js +0 -41
  82. package/nationalarchives/components/header/template.njk +1 -1
  83. package/nationalarchives/components/hero/hero.css +1 -1
  84. package/nationalarchives/components/hero/hero.css.map +1 -1
  85. package/nationalarchives/components/hero/hero.scss +1 -5
  86. package/nationalarchives/components/index-grid/fixtures.json +324 -1
  87. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  88. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  89. package/nationalarchives/components/index-grid/index-grid.scss +13 -10
  90. package/nationalarchives/components/index-grid/index-grid.stories.js +24 -13
  91. package/nationalarchives/components/index-grid/macro-options.json +34 -29
  92. package/nationalarchives/components/index-grid/template.njk +13 -8
  93. package/nationalarchives/components/message/message.css +1 -1
  94. package/nationalarchives/components/message/message.css.map +1 -1
  95. package/nationalarchives/components/message/message.scss +1 -6
  96. package/nationalarchives/components/message/template.njk +1 -1
  97. package/nationalarchives/components/pagination/pagination.css +1 -1
  98. package/nationalarchives/components/pagination/pagination.css.map +1 -1
  99. package/nationalarchives/components/pagination/template.njk +32 -17
  100. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  101. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  102. package/nationalarchives/components/phase-banner/phase-banner.scss +2 -3
  103. package/nationalarchives/components/picture/picture.css +1 -1
  104. package/nationalarchives/components/picture/picture.css.map +1 -1
  105. package/nationalarchives/components/picture/picture.js.map +1 -1
  106. package/nationalarchives/components/picture/picture.mjs +0 -4
  107. package/nationalarchives/components/picture/picture.scss +1 -1
  108. package/nationalarchives/components/picture/template.njk +1 -1
  109. package/nationalarchives/components/radios/_index.scss +1 -0
  110. package/nationalarchives/components/radios/fixtures.json +4 -0
  111. package/nationalarchives/components/radios/macro-options.json +102 -0
  112. package/nationalarchives/components/radios/macro.njk +3 -0
  113. package/nationalarchives/components/radios/radios.css +1 -0
  114. package/nationalarchives/components/radios/radios.css.map +1 -0
  115. package/nationalarchives/components/radios/radios.scss +131 -0
  116. package/nationalarchives/components/radios/radios.stories.js +241 -0
  117. package/nationalarchives/components/radios/template.njk +35 -0
  118. package/nationalarchives/components/search-field/_index.scss +1 -0
  119. package/nationalarchives/components/search-field/fixtures.json +4 -0
  120. package/nationalarchives/components/search-field/macro-options.json +68 -0
  121. package/nationalarchives/components/search-field/macro.njk +3 -0
  122. package/nationalarchives/components/search-field/search-field.css +1 -0
  123. package/nationalarchives/components/search-field/search-field.css.map +1 -0
  124. package/nationalarchives/components/search-field/search-field.scss +32 -0
  125. package/nationalarchives/components/search-field/search-field.stories.js +88 -0
  126. package/nationalarchives/components/search-field/template.njk +32 -0
  127. package/nationalarchives/components/select/_index.scss +1 -0
  128. package/nationalarchives/components/select/fixtures.json +4 -0
  129. package/nationalarchives/components/select/macro-options.json +114 -0
  130. package/nationalarchives/components/select/macro.njk +3 -0
  131. package/nationalarchives/components/select/select.css +1 -0
  132. package/nationalarchives/components/select/select.css.map +1 -0
  133. package/nationalarchives/components/select/select.scss +51 -0
  134. package/nationalarchives/components/select/select.stories.js +194 -0
  135. package/nationalarchives/components/select/template.njk +29 -0
  136. package/nationalarchives/components/sensitive-image/sensitive-image.css +1 -1
  137. package/nationalarchives/components/sensitive-image/sensitive-image.css.map +1 -1
  138. package/nationalarchives/components/sensitive-image/template.njk +1 -1
  139. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  140. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  141. package/nationalarchives/components/skip-link/template.njk +1 -1
  142. package/nationalarchives/components/tabs/tabs.css +1 -1
  143. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  144. package/nationalarchives/components/tabs/tabs.js +1 -1
  145. package/nationalarchives/components/tabs/tabs.js.map +1 -1
  146. package/nationalarchives/components/tabs/tabs.mjs +1 -1
  147. package/nationalarchives/components/tabs/tabs.scss +11 -1
  148. package/nationalarchives/components/tabs/template.njk +1 -1
  149. package/nationalarchives/components/text-input/_index.scss +1 -0
  150. package/nationalarchives/components/text-input/fixtures.json +4 -0
  151. package/nationalarchives/components/text-input/macro-options.json +118 -0
  152. package/nationalarchives/components/text-input/macro.njk +3 -0
  153. package/nationalarchives/components/text-input/template.njk +30 -0
  154. package/nationalarchives/components/text-input/text-input.css +1 -0
  155. package/nationalarchives/components/text-input/text-input.css.map +1 -0
  156. package/nationalarchives/components/text-input/text-input.scss +44 -0
  157. package/nationalarchives/components/text-input/text-input.stories.js +188 -0
  158. package/nationalarchives/components/textarea/_index.scss +1 -0
  159. package/nationalarchives/components/textarea/fixtures.json +4 -0
  160. package/nationalarchives/components/textarea/macro-options.json +106 -0
  161. package/nationalarchives/components/textarea/macro.njk +3 -0
  162. package/nationalarchives/components/textarea/template.njk +27 -0
  163. package/nationalarchives/components/textarea/textarea.css +1 -0
  164. package/nationalarchives/components/textarea/textarea.css.map +1 -0
  165. package/nationalarchives/components/textarea/textarea.scss +45 -0
  166. package/nationalarchives/components/textarea/textarea.stories.js +127 -0
  167. package/nationalarchives/lib/cookies.mjs +7 -1
  168. package/nationalarchives/prototype-kit.css +2 -2
  169. package/nationalarchives/prototype-kit.css.map +1 -1
  170. package/nationalarchives/prototype-kit.scss +0 -8
  171. package/nationalarchives/stories/utilities/colour-schemes/colour-schemes.stories.js +301 -31
  172. package/nationalarchives/stories/utilities/forms/forms.mdx +117 -0
  173. package/nationalarchives/stories/utilities/typography/typography.stories.js +0 -6
  174. package/nationalarchives/templates/layouts/_generic.njk +1 -1
  175. package/nationalarchives/tools/_colour.scss +48 -27
  176. package/nationalarchives/tools/_typography.scss +0 -1
  177. package/nationalarchives/utilities/_a11y.scss +6 -2
  178. package/nationalarchives/utilities/_colour.scss +10 -6
  179. package/nationalarchives/utilities/_debug.scss +3 -4
  180. package/nationalarchives/utilities/_forms.scss +93 -0
  181. package/nationalarchives/utilities/_index.scss +1 -0
  182. package/nationalarchives/utilities/_lists.scss +1 -1
  183. package/nationalarchives/utilities/_overrides.scss +1 -1
  184. package/nationalarchives/utilities/_typography.scss +66 -57
  185. package/nationalarchives/variables/_colour.scss +14 -10
  186. package/nationalarchives/variables/_forms.scss +2 -0
  187. package/nationalarchives/variables/_index.scss +1 -0
  188. package/nationalarchives/variables/_typography.scss +2 -2
  189. package/package.json +15 -15
  190. package/nationalarchives/stories/utilities/overrides/overrides.mdx +0 -53
@@ -32,7 +32,6 @@
32
32
 
33
33
  @mixin accent-css-vars($colour) {
34
34
  @if $colour == "yellow" {
35
- --accent: #{brand-colour("yellow")} !important;
36
35
  --accent-background: #{brand-colour("yellow")} !important;
37
36
  --accent-background-light: #{brand-colour("cream")} !important;
38
37
  --accent-font-base: #{brand-colour("black")} !important;
@@ -53,29 +52,23 @@
53
52
  --accent-link-visited: #{brand-colour("white")} !important;
54
53
  --accent-keyline: #{brand-colour("white", 0.5)} !important;
55
54
  --accent-keyline-dark: #{brand-colour("white", 0.8)} !important;
56
- @if $colour != "black" {
57
- --button-accent-text: #{brand-colour("white")} !important;
58
- @if $colour == "pink" {
59
- --accent: #{brand-colour("pink")} !important;
60
- --accent-background: #{brand-colour("maroon")} !important;
61
- --accent-background-light: #{brand-colour("pastel-pink")} !important;
62
- --button-accent-background: #{brand-colour("maroon")} !important;
63
- } @else if $colour == "orange" {
64
- --accent: #{brand-colour("orange")} !important;
65
- --accent-background: #{brand-colour("chestnut")} !important;
66
- --accent-background-light: #{brand-colour("pastel-orange")} !important;
67
- --button-accent-background: #{brand-colour("chestnut")} !important;
68
- } @else if $colour == "green" {
69
- --accent: #{brand-colour("green")} !important;
70
- --accent-background: #{brand-colour("forest")} !important;
71
- --accent-background-light: #{brand-colour("pastel-green")} !important;
72
- --button-accent-background: #{brand-colour("forest")} !important;
73
- } @else if $colour == "blue" {
74
- --accent: #{brand-colour("blue")} !important;
75
- --accent-background: #{brand-colour("navy")} !important;
76
- --accent-background-light: #{brand-colour("pastel-blue")} !important;
77
- --button-accent-background: #{brand-colour("navy")} !important;
78
- }
55
+ --button-accent-text: #{brand-colour("white")} !important;
56
+ @if $colour == "pink" {
57
+ --accent-background: #{brand-colour("maroon")} !important;
58
+ --accent-background-light: #{brand-colour("pastel-pink")} !important;
59
+ --button-accent-background: #{brand-colour("maroon")} !important;
60
+ } @else if $colour == "orange" {
61
+ --accent-background: #{brand-colour("chestnut")} !important;
62
+ --accent-background-light: #{brand-colour("pastel-orange")} !important;
63
+ --button-accent-background: #{brand-colour("chestnut")} !important;
64
+ } @else if $colour == "green" {
65
+ --accent-background: #{brand-colour("forest")} !important;
66
+ --accent-background-light: #{brand-colour("pastel-green")} !important;
67
+ --button-accent-background: #{brand-colour("forest")} !important;
68
+ } @else if $colour == "blue" {
69
+ --accent-background: #{brand-colour("navy")} !important;
70
+ --accent-background-light: #{brand-colour("pastel-blue")} !important;
71
+ --button-accent-background: #{brand-colour("navy")} !important;
79
72
  }
80
73
  }
81
74
  }
@@ -254,7 +247,7 @@
254
247
  --font-light: var(--accent-font-light);
255
248
  --icon-light: var(--accent-icon-light);
256
249
  --link: var(--accent-link);
257
- --link-visited: var(--accent-link-visited);
250
+ --link-visited: var(--accent-link);
258
251
  --keyline: var(--accent-keyline);
259
252
  --keyline-dark: var(--accent-keyline-dark);
260
253
 
@@ -289,8 +282,8 @@
289
282
  --font-base: #{map.get(colour.$colour-palette-default, "font-base")};
290
283
  --font-dark: #{map.get(colour.$colour-palette-default, "font-dark")};
291
284
  --font-light: #{map.get(colour.$colour-palette-default, "font-light")};
292
- --link: #{map.get(colour.$colour-palette-default, "font-dark")};
293
- --link-visited: #{map.get(colour.$colour-palette-default, "link-visited")};
285
+ // --link: #{map.get(colour.$colour-palette-default, "link")};
286
+ // --link-visited: #{map.get(colour.$colour-palette-default, "link-visited")};
294
287
  --keyline: #{map.get(colour.$colour-palette-default, "keyline")};
295
288
  --keyline-dark: #{map.get(colour.$colour-palette-default, "keyline-dark")};
296
289
  --button-text: #{map.get(colour.$colour-palette-default, "button-text")};
@@ -309,6 +302,18 @@
309
302
 
310
303
  @include colour-background("background");
311
304
  @include colour-font("font-base");
305
+
306
+ .tna-template--system-theme & {
307
+ @media (prefers-color-scheme: dark) {
308
+ --link: #{map.get(colour.$colour-palette-default, "link")};
309
+ --link-visited: #{map.get(colour.$colour-palette-default, "link-visited")};
310
+ }
311
+ }
312
+
313
+ .tna-template--dark-theme & {
314
+ --link: #{map.get(colour.$colour-palette-default, "link")};
315
+ --link-visited: #{map.get(colour.$colour-palette-default, "link-visited")};
316
+ }
312
317
  }
313
318
 
314
319
  @mixin accent-light {
@@ -326,3 +331,19 @@
326
331
  }
327
332
  }
328
333
  }
334
+
335
+ @mixin on-forced-colours {
336
+ @media (forced-colors: active) {
337
+ @content;
338
+ }
339
+ }
340
+
341
+ @mixin on-high-contrast-and-forced-colours {
342
+ @include on-forced-colours {
343
+ @content;
344
+ }
345
+
346
+ @include on-high-contrast {
347
+ @content;
348
+ }
349
+ }
@@ -47,5 +47,4 @@
47
47
  @include relative-font-size(14);
48
48
  text-transform: uppercase;
49
49
  line-height: #{math.div(typography.$relative-1rem-px, 14)};
50
- // line-height: 1;
51
50
  }
@@ -26,11 +26,15 @@
26
26
  }
27
27
  }
28
28
 
29
+ @mixin focus-outline {
30
+ @include colour.colour-outline("focus-outline", 0.3125rem, solid);
31
+ outline-offset: 0.125rem;
32
+ }
33
+
29
34
  *:focus {
30
35
  z-index: 9;
31
36
 
32
- @include colour.colour-outline("focus-outline", 0.3125rem, solid);
33
- outline-offset: 0.125rem;
37
+ @include focus-outline;
34
38
  }
35
39
 
36
40
  .tna-\!--no-focus-style {
@@ -7,8 +7,6 @@
7
7
  .tna-template {
8
8
  @include colour.colour-background("page-background");
9
9
 
10
- accent-color: var(--accent);
11
-
12
10
  &--system-theme {
13
11
  @include colour.colour-css-vars;
14
12
 
@@ -49,10 +47,6 @@
49
47
  }
50
48
  }
51
49
 
52
- &--black-accent {
53
- @include colour.accent-css-vars("black");
54
- }
55
-
56
50
  &--yellow-accent {
57
51
  @include colour.accent-css-vars("yellow");
58
52
  }
@@ -98,3 +92,13 @@
98
92
  @include colour.accent-light;
99
93
  }
100
94
  }
95
+
96
+ .tna-border {
97
+ &-keyline {
98
+ @include colour.colour-border("keyline", 1px);
99
+ }
100
+
101
+ &-keyline-dark {
102
+ @include colour.colour-border("keyline-dark", 1px);
103
+ }
104
+ }
@@ -18,9 +18,7 @@
18
18
  0 0 0 2px #f0a,
19
19
  0 0 0.5rem #f0a !important;
20
20
 
21
- position: relative;
22
-
23
- &::before {
21
+ &::after {
24
22
  width: 20px;
25
23
  height: 20px;
26
24
 
@@ -45,7 +43,8 @@
45
43
  content: "";
46
44
  }
47
45
 
48
- .tna-template--dark-theme & {
46
+ &:not(.tna-checkboxes__item-label, .tna-radios__item-label) {
47
+ position: relative;
49
48
  }
50
49
  }
51
50
  }
@@ -0,0 +1,93 @@
1
+ @use "../utilities/typography" as typographyUtilities;
2
+ @use "../tools/colour";
3
+ @use "../tools/media";
4
+ @use "../tools/spacing";
5
+ @use "../tools/typography";
6
+
7
+ .tna-form {
8
+ &__group {
9
+ @include spacing.space-above;
10
+
11
+ &--error {
12
+ padding-left: 1rem;
13
+
14
+ @include colour.colour-border("form-error", 0.25rem, solid, left);
15
+ }
16
+ }
17
+
18
+ &__fieldset {
19
+ flex: 1;
20
+
21
+ border: none;
22
+ }
23
+
24
+ &__group,
25
+ &__fieldset {
26
+ display: flex;
27
+ flex-direction: column;
28
+ align-items: flex-start;
29
+ gap: 0.5rem;
30
+ }
31
+
32
+ &__group--inline,
33
+ &__group--inline &__fieldset {
34
+ flex-direction: row;
35
+ align-items: flex-start;
36
+
37
+ @include media.on-mobile {
38
+ flex-direction: column;
39
+ }
40
+ }
41
+
42
+ &__group-contents {
43
+ flex: 0 0 39%;
44
+ }
45
+
46
+ &__legend {
47
+ }
48
+
49
+ &__heading {
50
+ margin: 0;
51
+
52
+ @extend %heading;
53
+
54
+ &--xl {
55
+ @extend %heading-xl;
56
+ }
57
+
58
+ &--l {
59
+ @extend %heading-l;
60
+ }
61
+
62
+ &--m {
63
+ @extend %heading-m;
64
+ }
65
+
66
+ &--s {
67
+ @extend %heading-s;
68
+ }
69
+
70
+ &--xs {
71
+ font-size: 1em;
72
+ @include typography.main-font;
73
+ // @include typography.main-font-weight-bold;
74
+ }
75
+ }
76
+
77
+ &__label {
78
+ }
79
+
80
+ &__hint {
81
+ margin-top: 0;
82
+
83
+ @include typography.relative-font-size(16);
84
+ @include colour.colour-font("font-light");
85
+ }
86
+
87
+ &__error-message {
88
+ margin-top: 0;
89
+
90
+ @include colour.colour-font("form-error");
91
+ @include typography.main-font-weight-bold;
92
+ }
93
+ }
@@ -2,6 +2,7 @@
2
2
  @use "colour";
3
3
  @use "columns";
4
4
  @use "debug";
5
+ @use "forms";
5
6
  @use "global";
6
7
  @use "lists";
7
8
  @use "overrides";
@@ -164,7 +164,7 @@
164
164
  }
165
165
  }
166
166
 
167
- @include colour.on-high-contrast {
167
+ @include colour.on-high-contrast-and-forced-colours {
168
168
  @include colour.colour-border("keyline-dark", 1px, solid, bottom);
169
169
 
170
170
  dt,
@@ -4,7 +4,7 @@
4
4
 
5
5
  @mixin hide-on($suffix) {
6
6
  .tna-\!--hide-on-#{$suffix} {
7
- display: none;
7
+ display: none !important;
8
8
  }
9
9
  }
10
10
 
@@ -113,7 +113,7 @@ a {
113
113
  }
114
114
 
115
115
  &:hover:not(:focus) {
116
- box-shadow: 0 0 0 0.3125rem var(--link);
116
+ box-shadow: 0 0 0 0.3125rem var(--focus-outline);
117
117
  }
118
118
  }
119
119
 
@@ -130,62 +130,6 @@ small {
130
130
  );
131
131
  }
132
132
 
133
- // .tna-detail[title][data-type] {
134
- // padding: 0 0.375rem;
135
-
136
- // display: inline-flex;
137
- // flex-flow: row nowrap;
138
- // align-items: baseline;
139
- // gap: 0.5rem;
140
-
141
- // vertical-align: baseline;
142
-
143
- // background-color: #ccc;
144
-
145
- // &::after {
146
- // @include colour.colour-font("font-base");
147
- // @include typography.detail-font-small;
148
- // vertical-align: baseline;
149
-
150
- // content: attr(data-type) / "";
151
- // }
152
-
153
- // &[data-type="misc"] {
154
- // background-color: #f28482;
155
- // }
156
-
157
- // &[data-type="loc"] {
158
- // background-color: #edae49;
159
- // }
160
-
161
- // &[data-type="per"] {
162
- // background-color: #b5e2fa;
163
- // }
164
-
165
- // @at-root #{selector.unify("a", &)} {
166
- // @include colour.colour-font("font-base");
167
-
168
- // &::after {
169
- // text-decoration: none;
170
- // }
171
- // }
172
- // }
173
-
174
- .tna-chip-list {
175
- @include spacing.space-above;
176
- margin-bottom: 0;
177
- padding-left: 0;
178
-
179
- display: flex;
180
- flex-wrap: wrap;
181
- gap: 1rem;
182
-
183
- list-style: none;
184
-
185
- &__item {
186
- }
187
- }
188
-
189
133
  %chip {
190
134
  max-width: max-content;
191
135
  padding: 0.125em 0.25rem;
@@ -199,6 +143,12 @@ small {
199
143
  @include colour.accent;
200
144
 
201
145
  @include colour.colour-border("accent-background", 0.125rem);
146
+
147
+ .tna-background-accent &:not(#{&}--plain) {
148
+ @include colour.plain;
149
+
150
+ @include colour.colour-border("background");
151
+ }
202
152
  }
203
153
 
204
154
  .tna-chip {
@@ -237,6 +187,65 @@ small {
237
187
  }
238
188
  }
239
189
 
190
+ .tna-chip-list {
191
+ @include spacing.space-above;
192
+
193
+ display: flex;
194
+ flex-wrap: wrap;
195
+ gap: 0.5rem 1.5rem;
196
+
197
+ list-style: none;
198
+
199
+ &__item {
200
+ display: flex;
201
+ align-items: center;
202
+
203
+ .tna-chip {
204
+ display: flex;
205
+ align-items: center;
206
+ gap: 0.5rem;
207
+ }
208
+
209
+ .fa-solid,
210
+ .fa-brand {
211
+ @include colour.colour-font("icon-light");
212
+ }
213
+
214
+ @include colour.on-high-contrast {
215
+ @include colour.colour-border("keyline-dark", 1px, solid);
216
+
217
+ .fa-solid,
218
+ .fa-brand {
219
+ padding: 0.375rem 0.25rem;
220
+
221
+ @include colour.colour-font("contrast-font-base");
222
+
223
+ @include colour.colour-background("contrast-background");
224
+
225
+ @include colour.colour-border("keyline-dark", 1px, solid, right);
226
+ }
227
+
228
+ .tna-chip {
229
+ &:has(.fa-solid, .fa-brand) {
230
+ padding-left: 0;
231
+
232
+ .fa-solid,
233
+ .fa-brand {
234
+ margin-right: 0.5rem;
235
+ }
236
+ }
237
+ }
238
+ }
239
+ }
240
+
241
+ &--accent {
242
+ .fa-solid,
243
+ .fa-brand {
244
+ @include colour.colour-font("accent-background");
245
+ }
246
+ }
247
+ }
248
+
240
249
  %heading {
241
250
  @include colour.colour-font("font-dark");
242
251
 
@@ -39,7 +39,7 @@ $colour-palette-brand: (
39
39
 
40
40
  $dark-grey: #26262a;
41
41
  $base-font: #343338 !default;
42
- $link-colour: brand-colour("navy") !default;
42
+ $link-colour: #0062a8 !default;
43
43
  $link-colour-visited: #4c2c92 !default;
44
44
 
45
45
  /*
@@ -49,7 +49,7 @@ LIGHT THEME (DEFAULT)
49
49
  */
50
50
  $colour-palette-default: (
51
51
  "page-background": #f4f4f4,
52
- "background-tint": #e2e2e2,
52
+ "background-tint": #ededed,
53
53
  "font-base": $base-font,
54
54
  "font-dark": brand-colour("black"),
55
55
  "font-light": hex-to-rgb($base-font, 0.7),
@@ -59,6 +59,10 @@ $colour-palette-default: (
59
59
  "focus-outline": brand-colour("blue"),
60
60
  "keyline": hex-to-rgb($dark-grey, 0.25),
61
61
  "keyline-dark": $dark-grey,
62
+ "input-foreground": brand-colour("black"),
63
+ "input-background": brand-colour("white"),
64
+ "input-border": brand-colour("black"),
65
+ "form-error": #c00,
62
66
  "button-text": brand-colour("white"),
63
67
  "button-background": brand-colour("black"),
64
68
  "button-hover-text": brand-colour("black"),
@@ -66,7 +70,6 @@ $colour-palette-default: (
66
70
  "contrast-background": #1e1e1e,
67
71
  "contrast-font-base": brand-colour("white"),
68
72
  "contrast-font-dark": brand-colour("white"),
69
- // "contrast-font-light": brand-colour("white", 0.7),
70
73
  "contrast-font-light": brand-colour("white", 0.7),
71
74
  "contrast-icon-light": brand-colour("white", 0.45),
72
75
  "contrast-link": brand-colour("white"),
@@ -77,9 +80,8 @@ $colour-palette-default: (
77
80
  "contrast-button-background": brand-colour("white"),
78
81
  "contrast-button-hover-text": brand-colour("white"),
79
82
  "contrast-button-hover-background": brand-colour("black"),
80
- "accent": map.get($colour-palette-brand, "light-grey"),
81
83
  "accent-background": #111,
82
- "accent-background-light": map.get($colour-palette-brand, "light-grey"),
84
+ "accent-background-light": #ededed,
83
85
  "accent-font-base": brand-colour("white"),
84
86
  "accent-font-dark": brand-colour("white"),
85
87
  "accent-font-light": brand-colour("white", 0.7),
@@ -111,6 +113,9 @@ $colour-palette-dark: map.merge(
111
113
  "focus-outline": brand-colour("orange"),
112
114
  "keyline": brand-colour("white", 0.25),
113
115
  "keyline-dark": brand-colour("white"),
116
+ "input-foreground": brand-colour("white"),
117
+ "input-background": brand-colour("black"),
118
+ "input-border": brand-colour("white"),
114
119
  "button-text": brand-colour("black"),
115
120
  "button-background": brand-colour("white"),
116
121
  "button-hover-text": brand-colour("white"),
@@ -118,8 +123,7 @@ $colour-palette-dark: map.merge(
118
123
  "contrast-background": #111,
119
124
  "contrast-link-visited":
120
125
  map.get($colour-palette-default, "contrast-link-visited"),
121
- // --accent-background-light is the same as --contrast-background on dark themes
122
- "accent-background-light": brand-colour("grey"),
126
+ // "accent-background-light": brand-colour("light-grey"),
123
127
  )
124
128
  ) !default;
125
129
 
@@ -144,8 +148,8 @@ $colour-palette-high-contrast: map.merge(
144
148
  "contrast-font-base": brand-colour("black"),
145
149
  "contrast-font-dark": brand-colour("black"),
146
150
  "contrast-font-light": brand-colour("black"),
147
- "contrast-link": brand-colour("navy"),
148
- "contrast-link-visited": brand-colour("black"),
151
+ "contrast-link": #34d,
152
+ "contrast-link-visited": #848,
149
153
  "contrast-keyline": brand-colour("black"),
150
154
  "contrast-keyline-dark": brand-colour("black"),
151
155
  "contrast-button-text": brand-colour("white"),
@@ -168,7 +172,7 @@ $colour-palette-high-contrast-dark: map.merge(
168
172
  "font-light": brand-colour("white"),
169
173
  "icon-light": brand-colour("white", 0.75),
170
174
  "link": #69f,
171
- "link-visited": #a6c,
175
+ "link-visited": #b9f,
172
176
  "keyline": brand-colour("white"),
173
177
  "contrast-background": brand-colour("black"),
174
178
  )
@@ -0,0 +1,2 @@
1
+ $form-field-border-width: 1px !default;
2
+ $checkbox-checkmark-width: 0.1875rem !default;
@@ -1,6 +1,7 @@
1
1
  @use "assets";
2
2
  @use "colour";
3
3
  @use "features";
4
+ @use "forms";
4
5
  @use "grid";
5
6
  @use "media";
6
7
  @use "spacing";
@@ -2,11 +2,11 @@
2
2
 
3
3
  $use-local-fonts: false !default;
4
4
 
5
- $relative-1rem-px: 16;
5
+ $relative-1rem-px: 16; // 16px is always 1rem
6
6
 
7
7
  $body-font-size-px: 18 !default;
8
8
  $body-font-size-px-mobile: 17 !default;
9
- $body-line-height: #{math.div(16, 18) * 2} !default; // 1.77777
9
+ $body-line-height: #{math.div($relative-1rem-px, $body-font-size-px) * 2} !default; // 1.77777
10
10
 
11
11
  $interactive-text-decoration-thickness: 3.5px !default;
12
12
 
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@nationalarchives/frontend",
3
- "version": "0.1.25-prerelease",
3
+ "version": "0.1.27-prerelease",
4
4
  "description": "The National Archives frontend styles",
5
5
  "scripts": {
6
6
  "start": "storybook dev -p 6006",
7
7
  "build": "storybook build -o storybook --webpack-stats-json",
8
- "test": "node tasks/test-fixtures.js && test-storybook --verbose && jest",
8
+ "test": "node tasks/test-fixtures.js && jest && test-storybook",
9
9
  "lint": "prettier --check '{src,.storybook,tasks,.}/**/*.{js,mjs,scss,json,html}' && stylelint 'src/**/*.scss' && eslint 'src/**/*.{js,mjs}'",
10
10
  "lint:fix": "prettier --write '{src,.storybook,tasks,.}/**/*.{js,mjs,scss,json,html}' && stylelint --fix 'src/**/*.scss' && eslint --fix 'src/**/*.{js,mjs}'",
11
11
  "package:sass": "sass --style=compressed --embed-sources src/nationalarchives:package/nationalarchives",
@@ -41,23 +41,23 @@
41
41
  "devDependencies": {
42
42
  "@babel/core": "^7.23.2",
43
43
  "@babel/preset-env": "^7.23.2",
44
- "@chromaui/addon-visual-tests": "^0.0.109",
45
- "@mdx-js/react": "^2.1.3",
46
- "@storybook/addon-a11y": "^7.5.1",
47
- "@storybook/addon-docs": "^7.5.1",
48
- "@storybook/addon-essentials": "^7.5.1",
49
- "@storybook/addon-interactions": "^7.5.1",
50
- "@storybook/addon-links": "^7.5.1",
51
- "@storybook/addon-mdx-gfm": "^7.5.1",
52
- "@storybook/html": "^7.5.1",
53
- "@storybook/html-webpack5": "^7.5.1",
44
+ "@chromaui/addon-visual-tests": "^0.0.119",
45
+ "@mdx-js/react": "^3.0.0",
46
+ "@storybook/addon-a11y": "^7.5.3",
47
+ "@storybook/addon-docs": "^7.5.3",
48
+ "@storybook/addon-essentials": "^7.5.3",
49
+ "@storybook/addon-interactions": "^7.5.3",
50
+ "@storybook/addon-links": "^7.5.3",
51
+ "@storybook/addon-mdx-gfm": "^7.5.3",
52
+ "@storybook/html": "^7.5.3",
53
+ "@storybook/html-webpack5": "^7.5.3",
54
54
  "@storybook/jest": "^0.2.3",
55
- "@storybook/test-runner": "^0.13.0",
55
+ "@storybook/test-runner": "^0.15.2",
56
56
  "@storybook/testing-library": "^0.2.2",
57
57
  "axe-playwright": "^1.2.3",
58
58
  "babel-jest": "^29.7.0",
59
59
  "babel-loader": "^9.0.1",
60
- "chromatic": "^7.5.0",
60
+ "chromatic": "^9.1.0",
61
61
  "copy-webpack-plugin": "^11.0.0",
62
62
  "css-loader": "^6.7.1",
63
63
  "diff": "^5.1.0",
@@ -74,7 +74,7 @@
74
74
  "sass": "^1.69.4",
75
75
  "sass-loader": "^13.0.2",
76
76
  "simple-nunjucks-loader": "^3.2.0",
77
- "storybook": "^7.5.1",
77
+ "storybook": "^7.5.3",
78
78
  "style-loader": "^3.3.1",
79
79
  "stylelint": "^15.11.0",
80
80
  "stylelint-config-standard-scss": "^11.0.0",