@nationalarchives/frontend 0.32.0 → 0.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/nationalarchives/all+analytics.js +1 -1
  2. package/nationalarchives/all+analytics.js.map +1 -1
  3. package/nationalarchives/all.css +1 -1
  4. package/nationalarchives/all.css.map +1 -1
  5. package/nationalarchives/all.js +1 -1
  6. package/nationalarchives/all.js.map +1 -1
  7. package/nationalarchives/analytics.js.map +1 -1
  8. package/nationalarchives/components/accordion/accordion.css +1 -1
  9. package/nationalarchives/components/accordion/accordion.css.map +1 -1
  10. package/nationalarchives/components/accordion/accordion.js +1 -1
  11. package/nationalarchives/components/accordion/accordion.js.map +1 -1
  12. package/nationalarchives/components/back-link/back-link.css +1 -1
  13. package/nationalarchives/components/back-link/back-link.css.map +1 -1
  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.map +1 -1
  17. package/nationalarchives/components/button/button.css +1 -1
  18. package/nationalarchives/components/button/button.css.map +1 -1
  19. package/nationalarchives/components/card/card.css +1 -1
  20. package/nationalarchives/components/card/card.css.map +1 -1
  21. package/nationalarchives/components/checkboxes/checkboxes.css +1 -1
  22. package/nationalarchives/components/checkboxes/checkboxes.css.map +1 -1
  23. package/nationalarchives/components/compound-filters/compound-filters.css +1 -1
  24. package/nationalarchives/components/compound-filters/compound-filters.css.map +1 -1
  25. package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -1
  26. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
  27. package/nationalarchives/components/cookie-banner/macro-options.json +2 -1
  28. package/nationalarchives/components/date-input/date-input.css +1 -1
  29. package/nationalarchives/components/date-input/date-input.css.map +1 -1
  30. package/nationalarchives/components/date-input/date-input.js.map +1 -1
  31. package/nationalarchives/components/date-search/date-search.css +1 -1
  32. package/nationalarchives/components/date-search/date-search.css.map +1 -1
  33. package/nationalarchives/components/details/details.css +1 -1
  34. package/nationalarchives/components/details/details.css.map +1 -1
  35. package/nationalarchives/components/error-summary/error-summary.css +1 -1
  36. package/nationalarchives/components/error-summary/error-summary.css.map +1 -1
  37. package/nationalarchives/components/error-summary/error-summary.js.map +1 -1
  38. package/nationalarchives/components/fieldset/fieldset.css +1 -1
  39. package/nationalarchives/components/fieldset/fieldset.css.map +1 -1
  40. package/nationalarchives/components/file-input/file-input.css +1 -1
  41. package/nationalarchives/components/file-input/file-input.css.map +1 -1
  42. package/nationalarchives/components/file-input/file-input.js.map +1 -1
  43. package/nationalarchives/components/files-list/files-list.css +1 -1
  44. package/nationalarchives/components/files-list/files-list.css.map +1 -1
  45. package/nationalarchives/components/footer/fixtures.json +20 -2
  46. package/nationalarchives/components/footer/footer.css +1 -1
  47. package/nationalarchives/components/footer/footer.css.map +1 -1
  48. package/nationalarchives/components/footer/footer.js +1 -1
  49. package/nationalarchives/components/footer/footer.js.map +1 -1
  50. package/nationalarchives/components/footer/footer.mjs +44 -16
  51. package/nationalarchives/components/footer/footer.scss +34 -0
  52. package/nationalarchives/components/footer/macro-options.json +6 -0
  53. package/nationalarchives/components/footer/template.njk +13 -1
  54. package/nationalarchives/components/gallery/gallery.css +1 -1
  55. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  56. package/nationalarchives/components/gallery/gallery.js.map +1 -1
  57. package/nationalarchives/components/global-header/global-header.css +1 -1
  58. package/nationalarchives/components/global-header/global-header.css.map +1 -1
  59. package/nationalarchives/components/global-header/global-header.js.map +1 -1
  60. package/nationalarchives/components/header/header.css +1 -1
  61. package/nationalarchives/components/header/header.css.map +1 -1
  62. package/nationalarchives/components/header/header.js.map +1 -1
  63. package/nationalarchives/components/hero/hero.css +1 -1
  64. package/nationalarchives/components/hero/hero.css.map +1 -1
  65. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  66. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  67. package/nationalarchives/components/pagination/fixtures.json +27 -13
  68. package/nationalarchives/components/pagination/macro-options.json +12 -18
  69. package/nationalarchives/components/pagination/pagination.css +1 -1
  70. package/nationalarchives/components/pagination/pagination.css.map +1 -1
  71. package/nationalarchives/components/pagination/pagination.scss +79 -37
  72. package/nationalarchives/components/pagination/template.njk +9 -12
  73. package/nationalarchives/components/panel/panel.css +1 -1
  74. package/nationalarchives/components/panel/panel.css.map +1 -1
  75. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  76. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  77. package/nationalarchives/components/picture/picture.css +1 -1
  78. package/nationalarchives/components/picture/picture.css.map +1 -1
  79. package/nationalarchives/components/picture/picture.js.map +1 -1
  80. package/nationalarchives/components/quick-filters/quick-filters.css +1 -1
  81. package/nationalarchives/components/quick-filters/quick-filters.css.map +1 -1
  82. package/nationalarchives/components/radios/radios.css +1 -1
  83. package/nationalarchives/components/radios/radios.css.map +1 -1
  84. package/nationalarchives/components/search-field/search-field.css +1 -1
  85. package/nationalarchives/components/search-field/search-field.css.map +1 -1
  86. package/nationalarchives/components/secondary-navigation/secondary-navigation.css +1 -1
  87. package/nationalarchives/components/secondary-navigation/secondary-navigation.css.map +1 -1
  88. package/nationalarchives/components/select/select.css +1 -1
  89. package/nationalarchives/components/select/select.css.map +1 -1
  90. package/nationalarchives/components/sidebar/fixtures.json +1 -1
  91. package/nationalarchives/components/sidebar/sidebar.css +1 -1
  92. package/nationalarchives/components/sidebar/sidebar.css.map +1 -1
  93. package/nationalarchives/components/sidebar/template.njk +1 -1
  94. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  95. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  96. package/nationalarchives/components/skip-link/skip-link.js +1 -1
  97. package/nationalarchives/components/skip-link/skip-link.js.map +1 -1
  98. package/nationalarchives/components/skip-link/skip-link.mjs +1 -1
  99. package/nationalarchives/components/tabs/tabs.css +1 -1
  100. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  101. package/nationalarchives/components/tabs/tabs.js.map +1 -1
  102. package/nationalarchives/components/text-input/text-input.css +1 -1
  103. package/nationalarchives/components/text-input/text-input.css.map +1 -1
  104. package/nationalarchives/components/text-input/text-input.js.map +1 -1
  105. package/nationalarchives/components/textarea/textarea.css +1 -1
  106. package/nationalarchives/components/textarea/textarea.css.map +1 -1
  107. package/nationalarchives/components/warning/warning.css +1 -1
  108. package/nationalarchives/components/warning/warning.css.map +1 -1
  109. package/nationalarchives/error-page.css +1 -1
  110. package/nationalarchives/error-page.css.map +1 -1
  111. package/nationalarchives/ie.css +1 -1
  112. package/nationalarchives/prototype-kit.css +1 -1
  113. package/nationalarchives/prototype-kit.css.map +1 -1
  114. package/nationalarchives/tools/_spacing.scss +21 -5
  115. package/nationalarchives/utilities/_reset.scss +5 -16
  116. package/nationalarchives/utilities/lists/_index.scss +106 -162
  117. package/nationalarchives/utilities/tables/_index.scss +5 -4
  118. package/package.json +1 -1
@@ -4,21 +4,37 @@
4
4
  @use "../variables/typography";
5
5
  @use "../tools/media";
6
6
 
7
+ /*
8
+ * ------------------------------------------
9
+ * Spacing is created with rem rather than px
10
+ * units as when users use a custom font size
11
+ * some browsers handle the resize of rem and
12
+ * em separately from px which causes spacing
13
+ * and layout issues, so to ensure everything
14
+ * remaians consistent we use rem for spacing
15
+ * and typography. The original intention was
16
+ * separation so that we could scale the type
17
+ * without affecting spacing, but in practice
18
+ * there are too many ways to change the font
19
+ * size in various browsers and devices
20
+ * ------------------------------------------
21
+ */
7
22
  @function space($size) {
8
- @return #{$size * spacing.$spacing-unit-px}px;
23
+ // @return #{$size * spacing.$spacing-unit-px}px;
24
+ @return #{$size}rem;
9
25
  }
10
26
 
11
27
  %space-above {
12
28
  margin-top: space(2);
13
-
14
- &:first-child {
15
- margin-top: 0;
16
- }
29
+ @extend %no-space-above-for-first-children;
17
30
  }
18
31
 
19
32
  %space-only-above {
20
33
  margin: #{space(2)} 0 0;
34
+ @extend %no-space-above-for-first-children;
35
+ }
21
36
 
37
+ %no-space-above-for-first-children {
22
38
  &:first-child {
23
39
  margin-top: 0;
24
40
  }
@@ -25,30 +25,19 @@
25
25
  * If the browser supports -apple-system-body
26
26
  * which at the moment is just iOS then using
27
27
  * the system body font we can respond to the
28
- * Dynamic Type setting in iOS
28
+ * Dynamic Type setting in iOS, however we do
29
+ * disable it for any non-touch Apple devices
30
+ * such as Mac OS, because the default system
31
+ * font size is set to 13px rather than 16px
29
32
  * ------------------------------------------
30
33
  */
31
- @supports (font: -apple-system-body) {
34
+ @supports (font: -apple-system-body) and (-webkit-touch-callout: default) {
32
35
  html {
33
36
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
34
37
  font: -apple-system-body;
35
38
  }
36
39
  }
37
40
 
38
- /*
39
- * ------------------------------------------
40
- * Disable Apple's Dynamic Type for non-touch
41
- * devices (like Mac OS), because the default
42
- * system body size is defined as 13px rather
43
- * than 16px like on other devices
44
- * ------------------------------------------
45
- */
46
- @supports (font: -apple-system-body) and (not (-webkit-touch-callout: default)) {
47
- html {
48
- @include typography.font-size(16);
49
- }
50
- }
51
-
52
41
  img,
53
42
  svg,
54
43
  picture,
@@ -4,14 +4,36 @@
4
4
  @use "../../tools/typography";
5
5
  @use "../../utilities/typography" as typographyUtils;
6
6
 
7
- ul,
8
- ol {
9
- margin: 0;
10
- padding: 0;
7
+ ul {
8
+ list-style-type: disc;
9
+
10
+ & & {
11
+ list-style-type: circle;
12
+ }
13
+
14
+ & & & {
15
+ list-style-type: square;
16
+ }
17
+
18
+ & & & & {
19
+ list-style-type: disc;
20
+ }
11
21
  }
12
22
 
13
- .tna-ul {
14
- list-style-type: disc;
23
+ ol {
24
+ list-style-type: decimal;
25
+
26
+ & & {
27
+ list-style-type: lower-alpha;
28
+ }
29
+
30
+ & & & {
31
+ list-style-type: lower-roman;
32
+ }
33
+
34
+ & & & & {
35
+ list-style-type: decimal;
36
+ }
15
37
  }
16
38
 
17
39
  .tna-ul,
@@ -25,16 +47,12 @@ ol {
25
47
 
26
48
  &--plain {
27
49
  padding-left: 0;
28
- }
29
50
 
30
- &--plain,
31
- &--no-list-style {
32
- list-style: none;
33
- }
51
+ list-style: none !important;
34
52
 
35
- & > li > & {
36
- margin-top: 0;
37
- padding-left: spacing.space(1.25);
53
+ > li::marker {
54
+ content: "";
55
+ }
38
56
  }
39
57
 
40
58
  > li {
@@ -43,21 +61,20 @@ ol {
43
61
  }
44
62
  }
45
63
 
46
- &--spaced > li + li {
47
- margin-top: spacing.space(0.5);
48
- }
49
-
50
- &--spaced > li > & {
51
- margin-top: spacing.space(1);
52
- margin-bottom: spacing.space(1);
53
- }
54
-
55
64
  &--dashed {
56
65
  > li::marker {
57
66
  content: "— ";
58
67
  @include typography.main-font-weight;
59
68
  }
60
69
  }
70
+
71
+ &--spaced > li + li {
72
+ margin-top: spacing.space(0.5);
73
+ }
74
+
75
+ &:not(&--plain) > li > & {
76
+ padding-left: spacing.space(1.25);
77
+ }
61
78
  }
62
79
 
63
80
  .tna-dl-chips {
@@ -105,211 +122,138 @@ ol {
105
122
  }
106
123
 
107
124
  @mixin stacked-dl {
108
- > dt,
109
- > dd {
110
- width: 100%;
111
- margin-left: 0;
112
- }
125
+ display: block;
113
126
 
114
- > dd {
115
- padding-left: spacing.space(1);
116
- }
117
-
118
- &.tna-dl--plain {
119
- > dt {
120
- padding-top: 0;
121
- padding-bottom: 0;
122
-
123
- .fa-solid {
124
- margin-top: 0;
125
- }
126
- }
127
+ &--lined {
128
+ padding-bottom: 0;
127
129
 
128
130
  > dd {
129
- margin-left: 0;
131
+ border-top: none;
132
+
130
133
  padding-top: 0;
134
+ padding-bottom: spacing.space(0.5);
131
135
  }
132
136
  }
133
137
 
134
- &:not(.tna-dl--plain) {
138
+ &--zebra {
135
139
  > dt {
136
- @include colour.colour-background("background-tint");
140
+ --background: var(--background-tint);
137
141
 
138
- @include colour.colour-font("font-base");
142
+ @include colour.colour-background("background");
139
143
  }
140
144
 
141
- > dd {
142
- margin-left: 0;
143
-
144
- background: transparent !important;
145
- }
146
- }
147
-
148
- @include colour.on-high-contrast-and-forced-colours {
149
- > dd {
150
- border-top: none !important;
151
- }
152
-
153
- &.tna-dl--plain {
154
- > dt {
155
- padding-top: spacing.space(0.5) !important;
156
- }
157
- }
158
-
159
- &.tna-dl--icon-padding.tna-dl--plain {
160
- > dt {
161
- .fa-solid {
162
- margin-top: spacing.space(0.5) !important;
163
- }
164
- }
165
- }
166
-
167
- &.tna-dl--stacked:not(.tna-dl--plain) {
168
- > dt {
169
- padding-bottom: 0 !important;
170
- }
145
+ > dd:nth-child(1n) {
146
+ background: none;
171
147
  }
172
148
  }
173
149
  }
174
150
 
175
151
  .tna-dl {
176
- @include spacing.space-above(true);
152
+ @include spacing.space-above;
177
153
 
178
- display: flex;
179
- flex-wrap: wrap;
154
+ display: inline-grid;
155
+ grid-template-columns: auto;
156
+ gap: spacing.space(0.5) 0;
180
157
 
181
- &:first-child {
182
- margin-top: 0;
158
+ &--left-weighted {
159
+ grid-template-columns: 2fr 1fr;
160
+ }
161
+
162
+ &--right-weighted {
163
+ grid-template-columns: 1fr 2fr;
183
164
  }
184
165
 
185
166
  > dt,
186
167
  > dd {
187
168
  margin: 0;
188
- padding: spacing.space(0.5) spacing.space(1);
189
169
 
190
- box-sizing: border-box;
170
+ overflow-wrap: break-word;
171
+ }
191
172
 
173
+ > dt {
174
+ @include typography.main-font-weight-bold;
192
175
  position: relative;
193
176
 
194
- overflow-wrap: break-word;
195
- }
177
+ .fa-solid,
178
+ .fa-brands {
179
+ display: block;
196
180
 
197
- &--plain {
198
- > dt {
199
- padding-top: 0;
200
- padding-left: 0;
201
- }
181
+ position: absolute;
182
+ top: 0;
183
+ left: 0;
202
184
 
203
- > dd {
204
- padding-top: 0;
205
- padding-right: 0;
185
+ line-height: inherit;
186
+ @include colour.colour-font("icon-light");
206
187
  }
207
188
  }
208
189
 
209
- &--plain#{&}--spaced {
210
- > dt,
211
- > dd {
212
- padding-bottom: spacing.space(1.25);
190
+ &:has(> dt > .fa-solid, > dt > .fa-brands) {
191
+ > dt {
192
+ padding-left: spacing.space(2);
213
193
  }
214
194
  }
215
195
 
216
- > dt {
217
- width: 30%;
218
-
219
- @include typography.main-font-weight-bold;
220
- }
221
-
222
196
  > dd {
223
- width: 70%;
197
+ padding-left: spacing.space(2);
224
198
 
225
- + dd {
226
- margin-left: 30%;
227
- }
199
+ grid-column-start: 2;
228
200
  }
229
201
 
230
- &--icon-padding {
231
- > dt {
232
- padding-left: 3rem !important;
233
-
234
- position: relative;
202
+ &--lined {
203
+ padding-bottom: spacing.space(0.5);
204
+ @include colour.colour-border("keyline", 1px, solid, bottom);
235
205
 
236
- .fa-solid {
237
- overflow: visible;
206
+ /* stylelint-disable-next-line no-descending-specificity */
207
+ > dt,
208
+ > dd {
209
+ padding-top: spacing.space(0.5);
210
+ @include colour.colour-border("keyline", 1px, solid, top);
238
211
 
239
- position: absolute;
212
+ .fa-solid,
213
+ .fa-brands {
240
214
  top: spacing.space(0.5);
241
- left: spacing.space(1);
242
-
243
- line-height: inherit;
244
-
245
- @include colour.colour-font("icon-light");
246
215
  }
247
216
  }
248
217
  }
249
218
 
250
- &--icon-padding#{&}--plain {
251
- > dt {
252
- padding-left: spacing.space(2) !important;
219
+ &--zebra {
220
+ gap: 0;
253
221
 
254
- .fa-solid {
255
- top: 0;
256
- left: 0;
257
- }
222
+ /* stylelint-disable-next-line no-descending-specificity */
223
+ > dt,
224
+ > dd {
225
+ padding: spacing.space(0.5) spacing.space(1) spacing.space(0.5)
226
+ spacing.space(1);
258
227
  }
259
228
 
260
- > dd {
261
- padding-left: spacing.space(2);
229
+ > dt {
230
+ .fa-solid,
231
+ .fa-brands {
232
+ top: spacing.space(0.5);
233
+ left: spacing.space(1);
234
+ }
262
235
  }
263
- }
264
236
 
265
- &:not(&--plain) {
266
237
  > dt:first-child,
267
238
  > dd:nth-of-type(2n) + dt,
268
239
  > dd:nth-of-type(2n + 1) {
269
240
  @include colour.tint;
270
241
  }
271
- }
272
-
273
- @include media.on-small {
274
- > dt {
275
- width: 35%;
276
- }
277
-
278
- > dd {
279
- width: 65%;
280
242
 
281
- + dd {
282
- margin-left: 35%;
243
+ &:has(> dt > .fa-solid, > dt > .fa-brands) {
244
+ > dt {
245
+ padding-left: spacing.space(3);
283
246
  }
284
247
  }
285
248
  }
286
249
 
287
- &--stacked {
250
+ &--stacked#{&} {
288
251
  @include stacked-dl;
289
252
  }
290
253
 
291
- @include media.on-tiny {
254
+ @include media.on-mobile {
292
255
  @include stacked-dl;
293
256
  }
294
-
295
- @include colour.on-high-contrast-and-forced-colours {
296
- @include colour.colour-border("keyline-dark", 1px, solid, bottom);
297
-
298
- > dt,
299
- > dd {
300
- background: transparent !important;
301
-
302
- @include colour.colour-border("keyline-dark", 1px, solid, top);
303
- }
304
-
305
- &--plain {
306
- > dt,
307
- > dt .fa-solid,
308
- > dd {
309
- padding-top: spacing.space(0.5);
310
- }
311
- }
312
- }
313
257
  }
314
258
 
315
259
  li,
@@ -30,11 +30,11 @@ $table-overflow-shadow-colour-hidden: rgb(0 0 0 / 0%);
30
30
  --overflow-shadow-end: #{$table-overflow-shadow-colour};
31
31
  }
32
32
 
33
- 10% {
33
+ 5% {
34
34
  --overflow-shadow-start: #{$table-overflow-shadow-colour};
35
35
  }
36
36
 
37
- 90% {
37
+ 95% {
38
38
  --overflow-shadow-end: #{$table-overflow-shadow-colour};
39
39
  }
40
40
 
@@ -193,8 +193,6 @@ $table-overflow-shadow-colour-hidden: rgb(0 0 0 / 0%);
193
193
  100% 100%,
194
194
  100% 100%;
195
195
  background-repeat: no-repeat;
196
-
197
- border-radius: 0.1px;
198
196
  background-position:
199
197
  0 0,
200
198
  100%,
@@ -202,6 +200,8 @@ $table-overflow-shadow-colour-hidden: rgb(0 0 0 / 0%);
202
200
  100%;
203
201
  background-attachment: local, local, scroll, scroll;
204
202
 
203
+ border-radius: 0.1px;
204
+
205
205
  container-type: inline-size;
206
206
 
207
207
  contain: paint;
@@ -230,6 +230,7 @@ $table-overflow-shadow-colour-hidden: rgb(0 0 0 / 0%);
230
230
  #{$table-overflow-shadow-colour-hidden}
231
231
  )
232
232
  transparent;
233
+ background-position: 0;
233
234
 
234
235
  animation: overflow-shadows 1ms linear;
235
236
  animation-timeline: --overflow-shadows;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nationalarchives/frontend",
3
- "version": "0.32.0",
3
+ "version": "0.33.1",
4
4
  "description": "The National Archives frontend styles",
5
5
  "scripts": {
6
6
  "start": "storybook dev -p 6006",