@nationalarchives/frontend 0.1.51 → 0.1.53

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 (142) hide show
  1. package/nationalarchives/all.css +1 -1
  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 +7 -0
  6. package/nationalarchives/analytics.js +1 -1
  7. package/nationalarchives/analytics.js.map +1 -1
  8. package/nationalarchives/analytics.mjs +4 -4
  9. package/nationalarchives/assets/fonts/OpenSans-SemiBold.ttf +0 -0
  10. package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -1
  11. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
  12. package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +9 -8
  13. package/nationalarchives/components/button/button-group.stories.js +0 -8
  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 +12 -6
  17. package/nationalarchives/components/button/fixtures.json +76 -0
  18. package/nationalarchives/components/card/card.css +1 -1
  19. package/nationalarchives/components/card/card.css.map +1 -1
  20. package/nationalarchives/components/card/card.scss +1 -1
  21. package/nationalarchives/components/card/macro-options.json +1 -1
  22. package/nationalarchives/components/checkboxes/checkboxes.css +1 -1
  23. package/nationalarchives/components/checkboxes/checkboxes.css.map +1 -1
  24. package/nationalarchives/components/checkboxes/checkboxes.scss +3 -2
  25. package/nationalarchives/components/compound-filters/compound-filters.css +1 -1
  26. package/nationalarchives/components/compound-filters/compound-filters.css.map +1 -1
  27. package/nationalarchives/components/compound-filters/compound-filters.scss +10 -6
  28. package/nationalarchives/components/cookie-banner/README.md +6 -2
  29. package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -1
  30. package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
  31. package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
  32. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
  33. package/nationalarchives/components/cookie-banner/cookie-banner.mjs +2 -1
  34. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +7 -8
  35. package/nationalarchives/components/date-input/date-input.css +1 -1
  36. package/nationalarchives/components/date-input/date-input.css.map +1 -1
  37. package/nationalarchives/components/date-search/date-search.css +1 -1
  38. package/nationalarchives/components/date-search/date-search.css.map +1 -1
  39. package/nationalarchives/components/date-search/date-search.scss +2 -0
  40. package/nationalarchives/components/error-summary/error-summary.css +1 -1
  41. package/nationalarchives/components/error-summary/error-summary.css.map +1 -1
  42. package/nationalarchives/components/featured-records/featured-records.css +1 -1
  43. package/nationalarchives/components/featured-records/featured-records.css.map +1 -1
  44. package/nationalarchives/components/featured-records/featured-records.scss +5 -3
  45. package/nationalarchives/components/footer/analytics.js +8 -0
  46. package/nationalarchives/components/footer/fixtures.json +2 -2
  47. package/nationalarchives/components/footer/footer.css +1 -1
  48. package/nationalarchives/components/footer/footer.css.map +1 -1
  49. package/nationalarchives/components/footer/footer.js +2 -0
  50. package/nationalarchives/components/footer/footer.js.map +1 -0
  51. package/nationalarchives/components/footer/footer.mjs +87 -0
  52. package/nationalarchives/components/footer/footer.scss +28 -8
  53. package/nationalarchives/components/footer/footer.stories.js +62 -3
  54. package/nationalarchives/components/footer/template.njk +168 -120
  55. package/nationalarchives/components/gallery/gallery.css +1 -1
  56. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  57. package/nationalarchives/components/gallery/gallery.scss +2 -1
  58. package/nationalarchives/components/global-header/README.md +1 -1
  59. package/nationalarchives/components/global-header/global-header.css +1 -1
  60. package/nationalarchives/components/global-header/global-header.css.map +1 -1
  61. package/nationalarchives/components/global-header/global-header.scss +26 -29
  62. package/nationalarchives/components/grid/grid.css +1 -1
  63. package/nationalarchives/components/grid/grid.css.map +1 -1
  64. package/nationalarchives/components/grid/grid.scss +3 -3
  65. package/nationalarchives/components/header/header.css +1 -1
  66. package/nationalarchives/components/header/header.css.map +1 -1
  67. package/nationalarchives/components/header/header.scss +30 -47
  68. package/nationalarchives/components/hero/fixtures.json +106 -18
  69. package/nationalarchives/components/hero/hero.css +1 -1
  70. package/nationalarchives/components/hero/hero.css.map +1 -1
  71. package/nationalarchives/components/hero/hero.scss +80 -20
  72. package/nationalarchives/components/hero/hero.stories.js +60 -32
  73. package/nationalarchives/components/hero/macro-options.json +34 -3
  74. package/nationalarchives/components/hero/template.njk +27 -6
  75. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  76. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  77. package/nationalarchives/components/index-grid/macro-options.json +1 -1
  78. package/nationalarchives/components/pagination/pagination.css +1 -1
  79. package/nationalarchives/components/pagination/pagination.css.map +1 -1
  80. package/nationalarchives/components/pagination/pagination.scss +2 -2
  81. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  82. package/nationalarchives/components/picture/picture.css +1 -1
  83. package/nationalarchives/components/picture/picture.css.map +1 -1
  84. package/nationalarchives/components/picture/picture.scss +5 -1
  85. package/nationalarchives/components/quick-filters/quick-filters.css +1 -1
  86. package/nationalarchives/components/quick-filters/quick-filters.css.map +1 -1
  87. package/nationalarchives/components/quick-filters/quick-filters.scss +4 -2
  88. package/nationalarchives/components/radios/radios.css +1 -1
  89. package/nationalarchives/components/radios/radios.css.map +1 -1
  90. package/nationalarchives/components/radios/radios.scss +3 -2
  91. package/nationalarchives/components/search-field/search-field.css +1 -1
  92. package/nationalarchives/components/search-field/search-field.css.map +1 -1
  93. package/nationalarchives/components/search-field/search-field.scss +24 -7
  94. package/nationalarchives/components/search-filters/search-filters.css +1 -1
  95. package/nationalarchives/components/search-filters/search-filters.css.map +1 -1
  96. package/nationalarchives/components/search-filters/search-filters.scss +7 -6
  97. package/nationalarchives/components/select/select.css +1 -1
  98. package/nationalarchives/components/select/select.css.map +1 -1
  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/sensitive-image/sensitive-image.scss +7 -6
  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.scss +4 -4
  105. package/nationalarchives/components/tabs/tabs.css +1 -1
  106. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  107. package/nationalarchives/components/tabs/tabs.scss +8 -6
  108. package/nationalarchives/components/text-input/text-input.css +1 -1
  109. package/nationalarchives/components/text-input/text-input.css.map +1 -1
  110. package/nationalarchives/components/textarea/textarea.css +1 -1
  111. package/nationalarchives/components/textarea/textarea.css.map +1 -1
  112. package/nationalarchives/components/textarea/textarea.scss +7 -4
  113. package/nationalarchives/components/warning/warning.css +1 -1
  114. package/nationalarchives/components/warning/warning.css.map +1 -1
  115. package/nationalarchives/components/warning/warning.scss +7 -5
  116. package/nationalarchives/global-header-package.css +1 -1
  117. package/nationalarchives/global-header-package.css.map +1 -1
  118. package/nationalarchives/lib/cookies.mjs +21 -4
  119. package/nationalarchives/lib/functions.css +1 -0
  120. package/nationalarchives/lib/functions.css.map +1 -0
  121. package/nationalarchives/lib/functions.scss +16 -0
  122. package/nationalarchives/prototype-kit.css +1 -1
  123. package/nationalarchives/prototype-kit.css.map +1 -1
  124. package/nationalarchives/stories/utilities/colour-schemes/colour-combinations.stories.js +83 -34
  125. package/nationalarchives/stories/utilities/colour-schemes/colour-themes.stories.js +74 -41
  126. package/nationalarchives/templates/fixtures.json +4 -4
  127. package/nationalarchives/tools/_a11y.scss +0 -4
  128. package/nationalarchives/tools/_colour.scss +30 -68
  129. package/nationalarchives/tools/_typography.scss +8 -9
  130. package/nationalarchives/utilities/_a11y.scss +4 -4
  131. package/nationalarchives/utilities/_colour.scss +3 -36
  132. package/nationalarchives/utilities/_debug.scss +2 -2
  133. package/nationalarchives/utilities/_global.scss +8 -0
  134. package/nationalarchives/utilities/_imports.scss +57 -0
  135. package/nationalarchives/utilities/_index.scss +1 -0
  136. package/nationalarchives/utilities/_lists.scss +36 -19
  137. package/nationalarchives/utilities/_tables.scss +8 -8
  138. package/nationalarchives/utilities/_typography.scss +6 -42
  139. package/nationalarchives/variables/_colour.scss +7 -2
  140. package/nationalarchives/variables/_typography.scss +55 -4
  141. package/package.json +23 -21
  142. package/nationalarchives/assets/fonts/OpenSans-Italic.ttf +0 -0
@@ -1,4 +1,7 @@
1
+ @use "sass:math";
2
+
1
3
  @use "../../tools/colour";
4
+ @use "../../tools/grid";
2
5
  @use "../../tools/media";
3
6
  @use "../../tools/spacing";
4
7
  @use "../../tools/typography";
@@ -45,12 +48,12 @@ $shift-units: 5 !default;
45
48
  &__caption {
46
49
  width: 100%;
47
50
 
51
+ overflow: visible;
52
+
48
53
  position: absolute;
49
54
  top: 0;
50
55
  right: 0;
51
56
  z-index: 5;
52
-
53
- overflow: visible;
54
57
  }
55
58
 
56
59
  &__details {
@@ -69,17 +72,19 @@ $shift-units: 5 !default;
69
72
  z-index: 2;
70
73
 
71
74
  font-size: 0;
72
- text-align: center;
73
75
  line-height: 1.5rem;
74
- list-style: none;
76
+ text-align: center;
75
77
 
76
- @include colour.accent;
78
+ list-style: none;
77
79
 
78
- @include colour.colour-border("background", 4px);
79
80
  border-radius: 100%;
80
81
 
81
82
  cursor: pointer;
82
83
 
84
+ @include colour.accent;
85
+
86
+ @include colour.colour-border("background", 4px);
87
+
83
88
  &:hover {
84
89
  @include colour.colour-font("background");
85
90
 
@@ -89,8 +94,8 @@ $shift-units: 5 !default;
89
94
 
90
95
  &__details-summary-icon {
91
96
  font-size: 1.25rem;
92
- font-style: normal;
93
97
  font-weight: 700;
98
+ font-style: normal;
94
99
  text-transform: lowercase;
95
100
  }
96
101
 
@@ -111,9 +116,6 @@ $shift-units: 5 !default;
111
116
  }
112
117
 
113
118
  &__image {
114
- width: 100%;
115
- height: 100%;
116
-
117
119
  position: absolute;
118
120
  inset: 0;
119
121
  z-index: 1;
@@ -131,6 +133,8 @@ $shift-units: 5 !default;
131
133
 
132
134
  &::before,
133
135
  &::after {
136
+ content: "";
137
+
134
138
  width: 1.5rem;
135
139
  height: 0.125rem;
136
140
 
@@ -141,8 +145,6 @@ $shift-units: 5 !default;
141
145
  left: 50%;
142
146
 
143
147
  @include colour.colour-background("font-dark");
144
-
145
- content: "";
146
148
  }
147
149
 
148
150
  &::before {
@@ -189,15 +191,55 @@ $shift-units: 5 !default;
189
191
  &__body {
190
192
  }
191
193
 
192
- &--shifted {
194
+ &--shift {
193
195
  margin-bottom: spacing.space($shift-units - $padding-units-bottom);
194
196
  }
195
197
 
196
- &--shifted &__content-inner {
198
+ &--shift &__content-inner {
197
199
  position: relative;
198
200
  top: spacing.space($shift-units);
199
201
  }
200
202
 
203
+ &--shift:not(#{&}--accent):not(#{&}--tint) &__content-inner {
204
+ @include colour.contrast;
205
+ }
206
+
207
+ &--split {
208
+ }
209
+
210
+ &--split:not(#{&}--accent):not(#{&}--tint) {
211
+ @include colour.contrast;
212
+ }
213
+
214
+ &--split &__figure {
215
+ min-height: clamp(15rem, #{math.div(100vw, 3)}, 50rem);
216
+ padding-top: spacing.space(2);
217
+ padding-bottom: spacing.space(2);
218
+
219
+ align-items: center;
220
+
221
+ box-sizing: border-box;
222
+ }
223
+
224
+ &--split &__information {
225
+ max-width: 50%;
226
+
227
+ box-sizing: border-box;
228
+ }
229
+
230
+ &--split &__image {
231
+ left: 50%;
232
+ }
233
+
234
+ &--split &__content {
235
+ width: 50%;
236
+ padding-right: grid.gutter-width();
237
+ }
238
+
239
+ &--split &__content-inner {
240
+ padding: 0;
241
+ }
242
+
201
243
  @include media.on-mobile {
202
244
  &__figure {
203
245
  min-height: auto;
@@ -219,7 +261,8 @@ $shift-units: 5 !default;
219
261
  &__details-summary-icon {
220
262
  }
221
263
 
222
- &__information {
264
+ &__information,
265
+ &--split &__information {
223
266
  width: auto;
224
267
  max-width: none;
225
268
 
@@ -244,11 +287,8 @@ $shift-units: 5 !default;
244
287
  }
245
288
 
246
289
  &__content-inner {
247
- padding: spacing.space(2) 0;
248
- }
249
-
250
- &--shifted &__content-inner {
251
- position: static;
290
+ padding-right: 0;
291
+ padding-left: 0;
252
292
  }
253
293
 
254
294
  &__heading {
@@ -257,6 +297,26 @@ $shift-units: 5 !default;
257
297
  &__body {
258
298
  margin-top: spacing.space(1);
259
299
  }
300
+
301
+ &--shift &__content-inner {
302
+ position: static;
303
+ }
304
+
305
+ &--split &__figure {
306
+ min-height: auto;
307
+ padding-top: 0;
308
+ padding-bottom: 0;
309
+ }
310
+
311
+ &--split &__content {
312
+ width: 100%;
313
+ padding-right: grid.gutter-width-half();
314
+ }
315
+
316
+ &--split &__content-inner {
317
+ padding-top: spacing.space(2);
318
+ padding-bottom: spacing.space(2);
319
+ }
260
320
  }
261
321
 
262
322
  @include colour.on-high-contrast-and-forced-colours {
@@ -4,7 +4,12 @@ import { within, userEvent, expect } from "@storybook/test";
4
4
  import { customViewports } from "../../../../.storybook/viewports";
5
5
 
6
6
  const argTypes = {
7
- content: { control: "text" },
7
+ supertitle: { control: "text" },
8
+ title: { control: "text" },
9
+ headingLevel: { control: { type: "number", min: 1, max: 6 } },
10
+ headingSize: { control: "inline-radio", options: ["s", "m", "l", "xl"] },
11
+ body: { control: "text" },
12
+ text: { control: "text" },
8
13
  imageSrc: { control: { type: "file", accept: ".jpg" } },
9
14
  imageAlt: { control: "text" },
10
15
  imageWidth: { control: { type: "number", min: 1 } },
@@ -16,7 +21,10 @@ const argTypes = {
16
21
  control: "inline-radio",
17
22
  options: ["none", "contrast", "tint", "accent"],
18
23
  },
19
- shifted: { control: "boolean" },
24
+ layout: {
25
+ control: "inline-radio",
26
+ options: ["plain", "shift", "split"],
27
+ },
20
28
  classes: { control: "text" },
21
29
  attributes: { control: "object" },
22
30
  };
@@ -33,7 +41,12 @@ export default {
33
41
  };
34
42
 
35
43
  const Template = ({
36
- content,
44
+ supertitle,
45
+ title,
46
+ headingLevel,
47
+ headingSize,
48
+ body,
49
+ text,
37
50
  imageSrc,
38
51
  imageAlt,
39
52
  imageWidth,
@@ -42,13 +55,18 @@ const Template = ({
42
55
  imageSources,
43
56
  imageCaption,
44
57
  style,
45
- shifted,
58
+ layout,
46
59
  classes,
47
60
  attributes,
48
61
  }) =>
49
62
  Hero({
50
63
  params: {
51
- content,
64
+ supertitle,
65
+ title,
66
+ headingLevel,
67
+ headingSize,
68
+ body,
69
+ text,
52
70
  imageSrc,
53
71
  imageAlt,
54
72
  imageWidth,
@@ -57,7 +75,7 @@ const Template = ({
57
75
  imageSources,
58
76
  imageCaption,
59
77
  style,
60
- shifted,
78
+ layout,
61
79
  classes,
62
80
  attributes,
63
81
  },
@@ -65,7 +83,8 @@ const Template = ({
65
83
 
66
84
  export const Standard = Template.bind({});
67
85
  Standard.args = {
68
- content: `<h1 class="tna-heading-xl">Title</h1><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>`,
86
+ title: "Title",
87
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
69
88
  imageSrc:
70
89
  "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
71
90
  imageAlt: "The National Archives office",
@@ -106,18 +125,15 @@ LargeContent.parameters = {
106
125
  chromatic: { disableSnapshot: true },
107
126
  };
108
127
  LargeContent.args = {
109
- content: `<hgroup class="tna-hgroup-xl">
110
- <p class="tna-hgroup__supertitle">Focus on</p>
111
- <h1 class="tna-hgroup__title">‘Not acceptable’: Gay Switchboard’s attempts to become a charity</h1>
112
- </hgroup>
113
- <p class="tna-large-paragraph">Switchboard LGBT+ Helpline is one of the oldest telephone help services for lesbian, gay, bisexual, transgender and queer people in the UK. Despite high demand for its support, prejudice and laws meant Switchboard’s journey to register as a charity was not easy.</p>`,
128
+ supertitle: "Focus on",
129
+ title: "‘Not acceptable’: Gay Switchboard’s attempts to become a charity",
130
+ body: `<p class="tna-large-paragraph">Switchboard LGBT+ Helpline is one of the oldest telephone help services for lesbian, gay, bisexual, transgender and queer people in the UK. Despite high demand for its support, prejudice and laws meant Switchboard’s journey to register as a charity was not easy.</p>`,
114
131
  imageSrc:
115
132
  "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
116
133
  imageAlt: "The National Archives office",
117
134
  imageWidth: 499,
118
135
  imageHeight: 333,
119
136
  imageCaption: "An interesting photo by a famous photographer ©2023",
120
- style: "accent",
121
137
  };
122
138
 
123
139
  export const Accent = Template.bind({});
@@ -125,11 +141,9 @@ Accent.parameters = {
125
141
  chromatic: { disableSnapshot: true },
126
142
  };
127
143
  Accent.args = {
128
- content: `<hgroup class="tna-hgroup-xl">
129
- <p class="tna-hgroup__supertitle">Supertitle</p>
130
- <h1 class="tna-hgroup__title">Title</h1>
131
- </hgroup>
132
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>`,
144
+ supertitle: "Supertitle",
145
+ title: "Title",
146
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
133
147
  imageSrc:
134
148
  "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
135
149
  imageAlt: "The National Archives office",
@@ -144,11 +158,9 @@ Contrast.parameters = {
144
158
  chromatic: { disableSnapshot: true },
145
159
  };
146
160
  Contrast.args = {
147
- content: `<hgroup class="tna-hgroup-xl">
148
- <p class="tna-hgroup__supertitle">Supertitle</p>
149
- <h1 class="tna-hgroup__title">Title</h1>
150
- </hgroup>
151
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>`,
161
+ supertitle: "Supertitle",
162
+ title: "Title",
163
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
152
164
  imageSrc:
153
165
  "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
154
166
  imageAlt: "The National Archives office",
@@ -163,11 +175,9 @@ Tint.parameters = {
163
175
  chromatic: { disableSnapshot: true },
164
176
  };
165
177
  Tint.args = {
166
- content: `<hgroup class="tna-hgroup-xl">
167
- <p class="tna-hgroup__supertitle">Supertitle</p>
168
- <h1 class="tna-hgroup__title">Title</h1>
169
- </hgroup>
170
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>`,
178
+ supertitle: "Supertitle",
179
+ title: "Title",
180
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
171
181
  imageSrc:
172
182
  "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
173
183
  imageAlt: "The National Archives office",
@@ -179,7 +189,22 @@ Tint.args = {
179
189
 
180
190
  export const Shifted = Template.bind({});
181
191
  Shifted.args = {
182
- content: `<h1 class="tna-heading-xl">Title</h1><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>`,
192
+ title: "Title",
193
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
194
+ imageSrc:
195
+ "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
196
+ imageAlt: "The National Archives office",
197
+ imageWidth: 499,
198
+ imageHeight: 333,
199
+ imageCaption: "An interesting photo by a famous photographer ©2023",
200
+ style: "accent",
201
+ layout: "shift",
202
+ };
203
+
204
+ export const Split = Template.bind({});
205
+ Split.args = {
206
+ title: "Title",
207
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
183
208
  imageSrc:
184
209
  "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
185
210
  imageAlt: "The National Archives office",
@@ -187,7 +212,7 @@ Shifted.args = {
187
212
  imageHeight: 333,
188
213
  imageCaption: "An interesting photo by a famous photographer ©2023",
189
214
  style: "accent",
190
- shifted: true,
215
+ layout: "split",
191
216
  };
192
217
 
193
218
  export const CaptionWithNoHeading = Template.bind({});
@@ -208,7 +233,8 @@ Sources.parameters = {
208
233
  chromatic: { disableSnapshot: true },
209
234
  };
210
235
  Sources.args = {
211
- content: `<h1 class="tna-heading-xl">Title</h1><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>`,
236
+ title: "Title",
237
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
212
238
  imageSrc:
213
239
  "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
214
240
  imageAlt: "The National Archives office",
@@ -235,7 +261,9 @@ Mobile.parameters = {
235
261
  },
236
262
  };
237
263
  Mobile.args = {
238
- content: `<h1 class="tna-heading-xl">Title</h1><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>`,
264
+ supertitle: "Supertitle",
265
+ title: "Title",
266
+ text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
239
267
  imageSrc:
240
268
  "https://www.nationalarchives.gov.uk/wp-content/uploads/sites/24/2023/07/tna-building-compress.jpg",
241
269
  imageAlt: "The National Archives office",
@@ -1,6 +1,37 @@
1
1
  [
2
2
  {
3
- "name": "content",
3
+ "name": "supertitle",
4
+ "type": "string",
5
+ "required": false,
6
+ "description": "The smaller title to display above the main hero title."
7
+ },
8
+ {
9
+ "name": "title",
10
+ "type": "string",
11
+ "required": false,
12
+ "description": "The main title of the hero. If set, then `headingLevel` also needs to be set."
13
+ },
14
+ {
15
+ "name": "headingLevel",
16
+ "type": "number",
17
+ "required": false,
18
+ "description": "The heading level which represents an element from `<h1>` through to `<h6>`. Default is `1`."
19
+ },
20
+ {
21
+ "name": "headingSize",
22
+ "type": "string",
23
+ "required": false,
24
+ "default": "m",
25
+ "description": "The physical size of the hero title (`xl`, `l`, `m` or `s`). Default is `xl`."
26
+ },
27
+ {
28
+ "name": "body",
29
+ "type": "string",
30
+ "required": false,
31
+ "description": ""
32
+ },
33
+ {
34
+ "name": "text",
4
35
  "type": "string",
5
36
  "required": false,
6
37
  "description": ""
@@ -86,8 +117,8 @@
86
117
  "description": "The style of hero to use. This can be `contrast`, `tint` or `accent`."
87
118
  },
88
119
  {
89
- "name": "shifted",
90
- "type": "boolean",
120
+ "name": "style",
121
+ "type": "string",
91
122
  "required": false,
92
123
  "description": ""
93
124
  },
@@ -6,10 +6,13 @@
6
6
  {%- elseif params.style == "accent" -%}
7
7
  {%- set containerClasses = containerClasses.concat('tna-hero--accent') -%}
8
8
  {%- endif -%}
9
- {%- if params.shifted -%}
10
- {%- set containerClasses = containerClasses.concat('tna-hero--shifted') -%}
9
+ {%- if params.layout == "shift" -%}
10
+ {%- set containerClasses = containerClasses.concat('tna-hero--shift') -%}
11
+ {%- elseif params.layout == "split" -%}
12
+ {%- set containerClasses = containerClasses.concat('tna-hero--split') -%}
11
13
  {%- endif -%}
12
- <{{ 'header' if params.content else 'div' }} class="tna-hero {{ containerClasses | join(' ') }}" {%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %}>
14
+ {% set hasContent = params.title or params.body or params.text %}
15
+ <{{ 'header' if hasContent else 'div' }} class="tna-hero {{ containerClasses | join(' ') }}" {%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %}>
13
16
  <figure class="tna-hero__figure">
14
17
  {%- if params.imageCaption %}
15
18
  <figcaption class="tna-hero__caption">
@@ -30,14 +33,32 @@
30
33
  {%- endif %}
31
34
  <img src="{{ params.imageSrc }}" alt="{{ params.imageAlt }}" width="{{ params.imageWidth }}" height="{{ params.imageHeight }}">
32
35
  </picture>
33
- {%- if params.content %}
36
+ {%- if hasContent %}
34
37
  <div class="tna-container tna-hero__inner">
35
38
  <div class="tna-column tna-column--width-2-3 tna-column--full-small tna-column--full-tiny tna-hero__content">
36
39
  <div class="tna-hero__content-inner">
37
- {{ params.content | safe }}
40
+ {%- if params.title %}
41
+ {%- if params.supertitle %}
42
+ <hgroup class="tna-hgroup-{{ params.headingSize or 'xl' }} tna-hero__heading">
43
+ <h{{ params.headingLevel or "1" }} class="tna-hgroup__title">
44
+ <span class="tna-hgroup__supertitle{% if params.plainSupertitle %} tna-hgroup__supertitle--plain{% endif %}">{{ params.supertitle }}</span>
45
+ {{ params.title }}
46
+ </h{{ params.headingLevel or "1" }}>
47
+ </hgroup>
48
+ {%- else %}
49
+ <h{{ params.headingLevel or "1" }} class=" tna-heading-{{ params.headingSize or 'xl' }} tna-hero__heading">
50
+ {{ params.title }}
51
+ </h{{ params.headingLevel or "1" }}>
52
+ {%- endif %}
53
+ {%- endif %}
54
+ {%- if params.text %}
55
+ <p>{{ params.text }}</p>
56
+ {%- else %}
57
+ {{ params.body | safe }}
58
+ {%- endif %}
38
59
  </div>
39
60
  </div>
40
61
  </div>
41
62
  {%- endif %}
42
63
  </figure>
43
- </{{ 'header' if params.content else 'div' }}>
64
+ </{{ 'header' if hasContent else 'div' }}>
@@ -1 +1 @@
1
- .tna-template--system-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--system-theme .tna-index-grid__item{--background: #f4f4f4;--background-tint: rgb(217, 217, 214);--font-base: #343338;--font-dark: rgb(1, 1, 1);--font-light: rgb(1 1 1/0.58);--icon-light: rgb(52 51 56/0.45);--link: #005fa3;--link-visited: #4c2c92;--focus-outline: rgb(0, 176, 255);--keyline: rgb(38 38 42/0.25);--keyline-dark: #26262a;--input-foreground: rgb(1, 1, 1);--input-background: rgb(255, 255, 255);--input-border: rgb(1, 1, 1);--button-text: rgb(255, 255, 255);--button-background: rgb(1, 1, 1);--button-hover-text: rgb(1, 1, 1);--button-hover-background: rgb(255, 255, 255);--contrast-background: #1e1e1e;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}@media(prefers-contrast: more){.tna-template--system-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--system-theme .tna-index-grid__item{--background: rgb(255, 255, 255);--background-tint: rgb(217, 217, 214);--font-base: rgb(1, 1, 1);--font-dark: rgb(1, 1, 1);--font-light: rgb(1, 1, 1);--icon-light: rgb(1 1 1/0.75);--link: #34d;--link-visited: #848;--focus-outline: rgb(253, 63, 3);--keyline: rgb(1, 1, 1);--keyline-dark: rgb(1, 1, 1);--input-foreground: rgb(1, 1, 1);--input-background: rgb(255, 255, 255);--input-border: rgb(1, 1, 1);--button-text: rgb(255, 255, 255);--button-background: rgb(1, 1, 1);--button-hover-text: rgb(1, 1, 1);--button-hover-background: rgb(255, 255, 255);--contrast-background: #f4f4f4;--contrast-font-base: rgb(1, 1, 1);--contrast-font-dark: rgb(1, 1, 1);--contrast-font-light: rgb(1, 1, 1);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: #34d;--contrast-link-visited: #848;--contrast-keyline: rgb(1, 1, 1);--contrast-keyline-dark: rgb(1, 1, 1);--contrast-button-text: rgb(255, 255, 255);--contrast-button-background: rgb(1, 1, 1);--contrast-button-hover-text: rgb(1, 1, 1);--contrast-button-hover-background: rgb(255, 255, 255);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}}.tna-template--high-contrast-theme .tna-template--system-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--high-contrast-theme .tna-template--system-theme .tna-index-grid__item,.tna-template--system-theme .tna-template--high-contrast-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--system-theme .tna-template--high-contrast-theme .tna-index-grid__item{--background: rgb(255, 255, 255);--background-tint: rgb(217, 217, 214);--font-base: rgb(1, 1, 1);--font-dark: rgb(1, 1, 1);--font-light: rgb(1, 1, 1);--icon-light: rgb(1 1 1/0.75);--link: #34d;--link-visited: #848;--focus-outline: rgb(253, 63, 3);--keyline: rgb(1, 1, 1);--keyline-dark: rgb(1, 1, 1);--input-foreground: rgb(1, 1, 1);--input-background: rgb(255, 255, 255);--input-border: rgb(1, 1, 1);--button-text: rgb(255, 255, 255);--button-background: rgb(1, 1, 1);--button-hover-text: rgb(1, 1, 1);--button-hover-background: rgb(255, 255, 255);--contrast-background: #f4f4f4;--contrast-font-base: rgb(1, 1, 1);--contrast-font-dark: rgb(1, 1, 1);--contrast-font-light: rgb(1, 1, 1);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: #34d;--contrast-link-visited: #848;--contrast-keyline: rgb(1, 1, 1);--contrast-keyline-dark: rgb(1, 1, 1);--contrast-button-text: rgb(255, 255, 255);--contrast-button-background: rgb(1, 1, 1);--contrast-button-hover-text: rgb(1, 1, 1);--contrast-button-hover-background: rgb(255, 255, 255);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}.tna-background-contrast .tna-index-grid__item{background-color:var(--background, #f4f4f4)}@media(prefers-color-scheme: dark){.tna-template--system-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--system-theme .tna-index-grid__item{--background: #212223;--background-tint: #323334;--font-base: rgb(255 255 255/0.95);--font-dark: rgb(255, 255, 255);--font-light: rgb(255 255 255/0.51);--icon-light: rgb(255 255 255/0.35);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(253, 63, 3);--keyline: rgb(255 255 255/0.25);--keyline-dark: rgb(255, 255, 255);--input-foreground: rgb(255, 255, 255);--input-background: rgb(1, 1, 1);--input-border: rgb(255, 255, 255);--form-error: #ff3d3d;--button-text: rgb(1, 1, 1);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(1, 1, 1);--contrast-background: #101112;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}}@media(prefers-contrast: more)and (prefers-color-scheme: dark){.tna-template--system-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--system-theme .tna-index-grid__item{--background: #111;--background-tint: #323334;--font-base: rgb(255, 255, 255);--font-dark: rgb(255, 255, 255);--font-light: rgb(255, 255, 255);--icon-light: rgb(255 255 255/0.75);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(253, 63, 3);--keyline: rgb(255, 255, 255);--keyline-dark: rgb(255, 255, 255);--input-foreground: rgb(255, 255, 255);--input-background: rgb(1, 1, 1);--input-border: rgb(255, 255, 255);--form-error: #ff6161;--button-text: rgb(1, 1, 1);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(1, 1, 1);--contrast-background: rgb(1, 1, 1);--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}}.tna-template--light-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--light-theme .tna-index-grid__item{--background: #f4f4f4;--background-tint: rgb(217, 217, 214);--font-base: #343338;--font-dark: rgb(1, 1, 1);--font-light: rgb(1 1 1/0.58);--icon-light: rgb(52 51 56/0.45);--link: #005fa3;--link-visited: #4c2c92;--focus-outline: rgb(0, 176, 255);--keyline: rgb(38 38 42/0.25);--keyline-dark: #26262a;--input-foreground: rgb(1, 1, 1);--input-background: rgb(255, 255, 255);--input-border: rgb(1, 1, 1);--form-error: #c00;--button-text: rgb(255, 255, 255);--button-background: rgb(1, 1, 1);--button-hover-text: rgb(1, 1, 1);--button-hover-background: rgb(255, 255, 255);--contrast-background: #1e1e1e;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}.tna-template--dark-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--dark-theme .tna-index-grid__item{--background: #212223;--background-tint: #323334;--font-base: rgb(255 255 255/0.95);--font-dark: rgb(255, 255, 255);--font-light: rgb(255 255 255/0.51);--icon-light: rgb(255 255 255/0.35);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(253, 63, 3);--keyline: rgb(255 255 255/0.25);--keyline-dark: rgb(255, 255, 255);--input-foreground: rgb(255, 255, 255);--input-background: rgb(1, 1, 1);--input-border: rgb(255, 255, 255);--form-error: #ff3d3d;--button-text: rgb(1, 1, 1);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(1, 1, 1);--contrast-background: #101112;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}.tna-template--high-contrast-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--high-contrast-theme .tna-index-grid__item{--background: rgb(255, 255, 255);--background-tint: rgb(217, 217, 214);--font-base: rgb(1, 1, 1);--font-dark: rgb(1, 1, 1);--font-light: rgb(1, 1, 1);--icon-light: rgb(1 1 1/0.75);--link: #34d;--link-visited: #848;--focus-outline: rgb(253, 63, 3);--keyline: rgb(1, 1, 1);--keyline-dark: rgb(1, 1, 1);--input-foreground: rgb(1, 1, 1);--input-background: rgb(255, 255, 255);--input-border: rgb(1, 1, 1);--form-error: #c00;--button-text: rgb(255, 255, 255);--button-background: rgb(1, 1, 1);--button-hover-text: rgb(1, 1, 1);--button-hover-background: rgb(255, 255, 255);--contrast-background: #f4f4f4;--contrast-font-base: rgb(1, 1, 1);--contrast-font-dark: rgb(1, 1, 1);--contrast-font-light: rgb(1, 1, 1);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: #34d;--contrast-link-visited: #848;--contrast-keyline: rgb(1, 1, 1);--contrast-keyline-dark: rgb(1, 1, 1);--contrast-button-text: rgb(255, 255, 255);--contrast-button-background: rgb(1, 1, 1);--contrast-button-hover-text: rgb(1, 1, 1);--contrast-button-hover-background: rgb(255, 255, 255);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}.tna-template--high-contrast-theme.tna-template--dark-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--high-contrast-theme.tna-template--dark-theme .tna-index-grid__item{--background: #111;--background-tint: #323334;--font-base: rgb(255, 255, 255);--font-dark: rgb(255, 255, 255);--font-light: rgb(255, 255, 255);--icon-light: rgb(255 255 255/0.75);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(253, 63, 3);--keyline: rgb(255, 255, 255);--keyline-dark: rgb(255, 255, 255);--input-foreground: rgb(255, 255, 255);--input-background: rgb(1, 1, 1);--input-border: rgb(255, 255, 255);--form-error: #ff6161;--button-text: rgb(1, 1, 1);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(1, 1, 1);--contrast-background: rgb(1, 1, 1);--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}.tna-index-grid__item{--background: var(--contrast-background);--font-base: var(--contrast-font-base);--font-dark: var(--contrast-font-dark);--font-light: var(--contrast-font-light);--icon-light: var(--contrast-icon-light);--link: var(--contrast-link);--link-visited: var(--contrast-link-visited);--keyline: var(--contrast-keyline);--keyline-dark: var(--contrast-keyline-dark);--button-text: var(--contrast-button-text);--button-background: var(--contrast-button-background);--button-hover-text: var(--contrast-button-hover-text);--button-hover-background: var(--contrast-button-hover-background);background-color:var(--background, #f4f4f4);color:var(--font-base, #343338)}.tna-index-grid,.tna-index-grid__items{margin-top:32px}.tna-index-grid:first-child,.tna-index-grid__items:first-child{margin-top:0}.tna-index-grid__items{margin-bottom:0;display:flex;gap:32px 0;list-style:none}.tna-index-grid__item{height:100%;display:flex;flex-direction:column;position:relative;text-decoration:none}@media(forced-colors: active){.tna-index-grid__item{border:1px var(--keyline-dark, #26262a) solid}}.tna-template--high-contrast-theme .tna-index-grid__item{border:1px var(--keyline-dark, #26262a) solid}@media(prefers-contrast: more){.tna-template--system-theme .tna-index-grid__item{border:1px var(--keyline-dark, #26262a) solid}}.tna-index-grid__item-image{width:100%;height:auto}.tna-index-grid__item-content{padding:16px;flex:1}.tna-index-grid__item-label{position:absolute;top:8px;left:8px}.tna-index-grid__item-title{text-decoration:underline}.tna-index-grid__item:hover .tna-index-grid__item-title,.tna-index-grid__item:hover .tna-index-grid__item-title:link,.tna-index-grid__item:hover .tna-index-grid__item-title:visited{text-decoration:underline;text-decoration-thickness:3.5px}.tna-index-grid__item-subtitle{color:var(--font-light, rgb(1 1 1/0.58));font-size:1rem}/*# sourceMappingURL=index-grid.css.map */
1
+ .tna-background-contrast .tna-index-grid__item{--background: #f4f4f4;--background-tint: rgb(217, 217, 214);--font-base: #343338;--font-dark: rgb(1, 1, 1);--font-light: rgb(1 1 1/0.58);--icon-light: rgb(52 51 56/0.45);--link: #005fa3;--link-visited: #4c2c92;--focus-outline: rgb(0, 176, 255);--keyline: rgb(38 38 42/0.25);--keyline-dark: #26262a;--input-foreground: rgb(1, 1, 1);--input-background: rgb(255, 255, 255);--input-border: rgb(1, 1, 1);--button-text: rgb(255, 255, 255);--button-background: rgb(1, 1, 1);--button-hover-text: rgb(1, 1, 1);--button-hover-background: rgb(255, 255, 255);--contrast-background: #1e1e1e;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148);background-color:var(--background, #f4f4f4)}@media(prefers-contrast: more){.tna-background-contrast .tna-index-grid__item{--background: rgb(255, 255, 255);--background-tint: #f4f4f4;--font-base: rgb(1, 1, 1);--font-dark: rgb(1, 1, 1);--font-light: rgb(1, 1, 1);--icon-light: rgb(1 1 1/0.75);--link: #34d;--link-visited: #848;--focus-outline: rgb(253, 63, 3);--keyline: rgb(1, 1, 1);--keyline-dark: rgb(1, 1, 1);--input-foreground: rgb(1, 1, 1);--input-background: rgb(255, 255, 255);--input-border: rgb(1, 1, 1);--button-text: rgb(255, 255, 255);--button-background: rgb(1, 1, 1);--button-hover-text: rgb(1, 1, 1);--button-hover-background: rgb(255, 255, 255);--contrast-background: #f4f4f4;--contrast-font-base: rgb(1, 1, 1);--contrast-font-dark: rgb(1, 1, 1);--contrast-font-light: rgb(1, 1, 1);--contrast-icon-light: rgb(1 1 1/0.45);--contrast-link: #34d;--contrast-link-visited: #848;--contrast-keyline: rgb(1, 1, 1);--contrast-keyline-dark: rgb(1, 1, 1);--contrast-button-text: rgb(255, 255, 255);--contrast-button-background: rgb(1, 1, 1);--contrast-button-hover-text: rgb(1, 1, 1);--contrast-button-hover-background: rgb(255, 255, 255);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}}@media(prefers-color-scheme: dark){.tna-template--system-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--system-theme .tna-index-grid__item{--background: #212223;--background-tint: #323334;--font-base: rgb(255 255 255/0.95);--font-dark: rgb(255, 255, 255);--font-light: rgb(255 255 255/0.51);--icon-light: rgb(255 255 255/0.35);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(253, 63, 3);--keyline: rgb(255 255 255/0.25);--keyline-dark: rgb(255, 255, 255);--input-foreground: rgb(255, 255, 255);--input-background: rgb(1, 1, 1);--input-border: rgb(255, 255, 255);--button-text: rgb(1, 1, 1);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(1, 1, 1);--contrast-background: #101112;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}}@media(prefers-contrast: more)and (prefers-color-scheme: dark){.tna-template--system-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--system-theme .tna-index-grid__item{--background: #111;--background-tint: #323334;--font-base: rgb(255, 255, 255);--font-dark: rgb(255, 255, 255);--font-light: rgb(255, 255, 255);--icon-light: rgb(255 255 255/0.75);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(253, 63, 3);--keyline: rgb(255, 255, 255);--keyline-dark: rgb(255, 255, 255);--input-foreground: rgb(255, 255, 255);--input-background: rgb(1, 1, 1);--input-border: rgb(255, 255, 255);--button-text: rgb(1, 1, 1);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(1, 1, 1);--contrast-background: rgb(1, 1, 1);--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}}.tna-template--dark-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--dark-theme .tna-index-grid__item{--background: #212223;--background-tint: #323334;--font-base: rgb(255 255 255/0.95);--font-dark: rgb(255, 255, 255);--font-light: rgb(255 255 255/0.51);--icon-light: rgb(255 255 255/0.35);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(253, 63, 3);--keyline: rgb(255 255 255/0.25);--keyline-dark: rgb(255, 255, 255);--input-foreground: rgb(255, 255, 255);--input-background: rgb(1, 1, 1);--input-border: rgb(255, 255, 255);--button-text: rgb(1, 1, 1);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(1, 1, 1);--contrast-background: #101112;--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}@media(prefers-contrast: more){.tna-template--dark-theme .tna-background-contrast .tna-index-grid__item,.tna-background-contrast .tna-template--dark-theme .tna-index-grid__item{--background: #111;--background-tint: #323334;--font-base: rgb(255, 255, 255);--font-dark: rgb(255, 255, 255);--font-light: rgb(255, 255, 255);--icon-light: rgb(255 255 255/0.75);--link: rgb(0, 176, 255);--link-visited: #a8f;--focus-outline: rgb(253, 63, 3);--keyline: rgb(255, 255, 255);--keyline-dark: rgb(255, 255, 255);--input-foreground: rgb(255, 255, 255);--input-background: rgb(1, 1, 1);--input-border: rgb(255, 255, 255);--button-text: rgb(1, 1, 1);--button-background: rgb(255, 255, 255);--button-hover-text: rgb(255, 255, 255);--button-hover-background: rgb(1, 1, 1);--contrast-background: rgb(1, 1, 1);--contrast-font-base: rgb(255, 255, 255);--contrast-font-dark: rgb(255, 255, 255);--contrast-font-light: rgb(255 255 255/0.7);--contrast-icon-light: rgb(255 255 255/0.45);--contrast-link: rgb(255, 255, 255);--contrast-link-visited: rgb(255, 255, 255);--contrast-keyline: rgb(255 255 255/0.5);--contrast-keyline-dark: rgb(255 255 255/0.8);--contrast-button-text: rgb(1, 1, 1);--contrast-button-background: rgb(255, 255, 255);--contrast-button-hover-text: rgb(255, 255, 255);--contrast-button-hover-background: rgb(1, 1, 1);--accent-background: rgb(140, 150, 148);--accent-background-light: #ededed;--accent-font-base: rgb(1, 1, 1);--accent-font-dark: rgb(1, 1, 1);--accent-font-light: rgb(1 1 1/0.7);--accent-icon-light: rgb(1 1 1/0.45);--accent-link: rgb(1, 1, 1);--accent-link-visited: rgb(1, 1, 1);--accent-keyline: rgb(1 1 1/0.5);--accent-keyline-dark: rgb(1 1 1/0.8);--button-accent-text: rgb(1, 1, 1);--button-accent-background: rgb(140, 150, 148)}}.tna-index-grid__item{--background: var(--contrast-background);--font-base: var(--contrast-font-base);--font-dark: var(--contrast-font-dark);--font-light: var(--contrast-font-light);--icon-light: var(--contrast-icon-light);--link: var(--contrast-link);--link-visited: var(--contrast-link-visited);--keyline: var(--contrast-keyline);--keyline-dark: var(--contrast-keyline-dark);--button-text: var(--contrast-button-text);--button-background: var(--contrast-button-background);--button-hover-text: var(--contrast-button-hover-text);--button-hover-background: var(--contrast-button-hover-background);background-color:var(--background, #f4f4f4);color:var(--font-base, #343338)}.tna-index-grid,.tna-index-grid__items{margin-top:32px}.tna-index-grid:first-child,.tna-index-grid__items:first-child{margin-top:0}.tna-index-grid__items{margin-bottom:0;display:flex;gap:32px 0;list-style:none}.tna-index-grid__item{height:100%;display:flex;flex-direction:column;position:relative;text-decoration:none}@media(forced-colors: active){.tna-index-grid__item{border:1px var(--keyline-dark, #26262a) solid}}@media(prefers-contrast: more){.tna-index-grid__item{border:1px var(--keyline-dark, #26262a) solid}}.tna-index-grid__item-image{width:100%;height:auto}.tna-index-grid__item-content{padding:16px;flex:1}.tna-index-grid__item-label{position:absolute;top:8px;left:8px}.tna-index-grid__item-title{text-decoration:underline}.tna-index-grid__item:hover .tna-index-grid__item-title,.tna-index-grid__item:hover .tna-index-grid__item-title:link,.tna-index-grid__item:hover .tna-index-grid__item-title:visited{text-decoration:underline;text-decoration-thickness:3.5px}.tna-index-grid__item-subtitle{color:var(--font-light, rgb(1 1 1/0.58));font-size:1rem}/*# sourceMappingURL=index-grid.css.map */