@nationalarchives/frontend 0.1.52 → 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 (137) 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.map +1 -1
  30. package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
  31. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
  32. package/nationalarchives/components/cookie-banner/cookie-banner.mjs +2 -1
  33. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +7 -8
  34. package/nationalarchives/components/date-input/date-input.css +1 -1
  35. package/nationalarchives/components/date-input/date-input.css.map +1 -1
  36. package/nationalarchives/components/date-search/date-search.css +1 -1
  37. package/nationalarchives/components/date-search/date-search.css.map +1 -1
  38. package/nationalarchives/components/date-search/date-search.scss +2 -0
  39. package/nationalarchives/components/error-summary/error-summary.css +1 -1
  40. package/nationalarchives/components/error-summary/error-summary.css.map +1 -1
  41. package/nationalarchives/components/featured-records/featured-records.css +1 -1
  42. package/nationalarchives/components/featured-records/featured-records.css.map +1 -1
  43. package/nationalarchives/components/featured-records/featured-records.scss +5 -3
  44. package/nationalarchives/components/footer/analytics.js +8 -0
  45. package/nationalarchives/components/footer/fixtures.json +2 -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 +2 -0
  49. package/nationalarchives/components/footer/footer.js.map +1 -0
  50. package/nationalarchives/components/footer/footer.mjs +87 -0
  51. package/nationalarchives/components/footer/footer.scss +28 -8
  52. package/nationalarchives/components/footer/footer.stories.js +62 -3
  53. package/nationalarchives/components/footer/template.njk +168 -120
  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.scss +2 -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.scss +13 -10
  60. package/nationalarchives/components/grid/grid.css +1 -1
  61. package/nationalarchives/components/grid/grid.css.map +1 -1
  62. package/nationalarchives/components/grid/grid.scss +3 -3
  63. package/nationalarchives/components/header/header.css +1 -1
  64. package/nationalarchives/components/header/header.css.map +1 -1
  65. package/nationalarchives/components/header/header.scss +17 -15
  66. package/nationalarchives/components/hero/fixtures.json +106 -18
  67. package/nationalarchives/components/hero/hero.css +1 -1
  68. package/nationalarchives/components/hero/hero.css.map +1 -1
  69. package/nationalarchives/components/hero/hero.scss +78 -19
  70. package/nationalarchives/components/hero/hero.stories.js +60 -32
  71. package/nationalarchives/components/hero/macro-options.json +34 -3
  72. package/nationalarchives/components/hero/template.njk +27 -6
  73. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  74. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  75. package/nationalarchives/components/index-grid/macro-options.json +1 -1
  76. package/nationalarchives/components/pagination/pagination.css +1 -1
  77. package/nationalarchives/components/pagination/pagination.css.map +1 -1
  78. package/nationalarchives/components/pagination/pagination.scss +2 -2
  79. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  80. package/nationalarchives/components/picture/picture.css +1 -1
  81. package/nationalarchives/components/picture/picture.css.map +1 -1
  82. package/nationalarchives/components/picture/picture.scss +5 -1
  83. package/nationalarchives/components/quick-filters/quick-filters.css +1 -1
  84. package/nationalarchives/components/quick-filters/quick-filters.css.map +1 -1
  85. package/nationalarchives/components/quick-filters/quick-filters.scss +4 -2
  86. package/nationalarchives/components/radios/radios.css +1 -1
  87. package/nationalarchives/components/radios/radios.css.map +1 -1
  88. package/nationalarchives/components/radios/radios.scss +3 -2
  89. package/nationalarchives/components/search-field/search-field.css +1 -1
  90. package/nationalarchives/components/search-field/search-field.css.map +1 -1
  91. package/nationalarchives/components/search-filters/search-filters.css +1 -1
  92. package/nationalarchives/components/search-filters/search-filters.css.map +1 -1
  93. package/nationalarchives/components/search-filters/search-filters.scss +7 -6
  94. package/nationalarchives/components/select/select.css +1 -1
  95. package/nationalarchives/components/select/select.css.map +1 -1
  96. package/nationalarchives/components/sensitive-image/sensitive-image.css +1 -1
  97. package/nationalarchives/components/sensitive-image/sensitive-image.css.map +1 -1
  98. package/nationalarchives/components/sensitive-image/sensitive-image.scss +7 -6
  99. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  100. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  101. package/nationalarchives/components/skip-link/skip-link.scss +4 -4
  102. package/nationalarchives/components/tabs/tabs.css +1 -1
  103. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  104. package/nationalarchives/components/tabs/tabs.scss +8 -6
  105. package/nationalarchives/components/text-input/text-input.css +1 -1
  106. package/nationalarchives/components/text-input/text-input.css.map +1 -1
  107. package/nationalarchives/components/textarea/textarea.css +1 -1
  108. package/nationalarchives/components/textarea/textarea.css.map +1 -1
  109. package/nationalarchives/components/textarea/textarea.scss +7 -4
  110. package/nationalarchives/components/warning/warning.css +1 -1
  111. package/nationalarchives/components/warning/warning.css.map +1 -1
  112. package/nationalarchives/components/warning/warning.scss +7 -5
  113. package/nationalarchives/global-header-package.css +1 -1
  114. package/nationalarchives/global-header-package.css.map +1 -1
  115. package/nationalarchives/lib/cookies.mjs +21 -4
  116. package/nationalarchives/lib/functions.css +1 -0
  117. package/nationalarchives/lib/functions.css.map +1 -0
  118. package/nationalarchives/lib/functions.scss +16 -0
  119. package/nationalarchives/prototype-kit.css +1 -1
  120. package/nationalarchives/prototype-kit.css.map +1 -1
  121. package/nationalarchives/stories/utilities/colour-schemes/colour-combinations.stories.js +6 -2
  122. package/nationalarchives/stories/utilities/colour-schemes/colour-themes.stories.js +2 -1
  123. package/nationalarchives/templates/fixtures.json +4 -4
  124. package/nationalarchives/tools/_colour.scss +3 -3
  125. package/nationalarchives/tools/_typography.scss +8 -9
  126. package/nationalarchives/utilities/_a11y.scss +4 -4
  127. package/nationalarchives/utilities/_debug.scss +2 -2
  128. package/nationalarchives/utilities/_global.scss +8 -0
  129. package/nationalarchives/utilities/_imports.scss +57 -0
  130. package/nationalarchives/utilities/_index.scss +1 -0
  131. package/nationalarchives/utilities/_lists.scss +36 -19
  132. package/nationalarchives/utilities/_tables.scss +8 -8
  133. package/nationalarchives/utilities/_typography.scss +6 -42
  134. package/nationalarchives/variables/_colour.scss +7 -2
  135. package/nationalarchives/variables/_typography.scss +55 -4
  136. package/package.json +21 -20
  137. 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
 
@@ -248,16 +291,32 @@ $shift-units: 5 !default;
248
291
  padding-left: 0;
249
292
  }
250
293
 
251
- &--shifted &__content-inner {
252
- position: static;
253
- }
254
-
255
294
  &__heading {
256
295
  }
257
296
 
258
297
  &__body {
259
298
  margin-top: spacing.space(1);
260
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
+ }
261
320
  }
262
321
 
263
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-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: 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)}}@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 */
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 */