@nationalarchives/frontend 0.1.64 → 0.2.0
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.
- package/config/.babelrc.json +19 -0
- package/config/.eslintrc.js +25 -0
- package/config/.htmlvalidate.json +17 -0
- package/config/stylelint.config.js +240 -0
- package/nationalarchives/all.css +1 -3
- package/nationalarchives/all.css.map +1 -1
- package/nationalarchives/all.js +1 -1
- package/nationalarchives/all.js.map +1 -1
- package/nationalarchives/all.mjs +34 -18
- package/nationalarchives/all.scss +0 -2
- package/nationalarchives/components/_forms.scss +9 -0
- package/nationalarchives/components/_index.scss +2 -34
- package/nationalarchives/components/_presentation.scss +23 -0
- package/nationalarchives/components/accordion/accordion.css +1 -1
- package/nationalarchives/components/accordion/accordion.css.map +1 -1
- package/nationalarchives/components/accordion/accordion.js +1 -1
- package/nationalarchives/components/accordion/accordion.js.map +1 -1
- package/nationalarchives/components/accordion/accordion.mjs +92 -24
- package/nationalarchives/components/accordion/accordion.scss +56 -18
- package/nationalarchives/components/accordion/fixtures.json +34 -7
- package/nationalarchives/components/accordion/macro-options.json +14 -2
- package/nationalarchives/components/accordion/template.njk +7 -5
- package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -1
- package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
- package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +0 -10
- package/nationalarchives/components/breadcrumbs/template.njk +1 -1
- package/nationalarchives/components/button/button.css +1 -1
- package/nationalarchives/components/button/button.css.map +1 -1
- package/nationalarchives/components/button/button.scss +32 -10
- package/nationalarchives/components/button/macro-options.json +6 -0
- package/nationalarchives/components/button/template.njk +3 -1
- package/nationalarchives/components/card/card.css +1 -1
- package/nationalarchives/components/card/card.css.map +1 -1
- package/nationalarchives/components/card/template.njk +5 -5
- package/nationalarchives/components/checkboxes/checkboxes.css +1 -1
- package/nationalarchives/components/checkboxes/checkboxes.css.map +1 -1
- package/nationalarchives/components/checkboxes/checkboxes.njk +1 -1
- package/nationalarchives/components/checkboxes/checkboxes.scss +1 -1
- package/nationalarchives/components/checkboxes/macro-options.json +6 -0
- package/nationalarchives/components/checkboxes/template.njk +1 -1
- package/nationalarchives/components/compound-filters/compound-filters.css.map +1 -1
- package/nationalarchives/components/compound-filters/template.njk +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.scss +0 -2
- package/nationalarchives/components/cookie-banner/template.njk +1 -2
- package/nationalarchives/components/date-input/date-input.css +1 -1
- package/nationalarchives/components/date-input/date-input.css.map +1 -1
- package/nationalarchives/components/date-input/date-input.scss +2 -2
- package/nationalarchives/components/date-input/fixtures.json +5 -5
- package/nationalarchives/components/date-input/template.njk +2 -2
- package/nationalarchives/components/date-search/date-search.css +1 -1
- package/nationalarchives/components/date-search/date-search.css.map +1 -1
- package/nationalarchives/components/date-search/date-search.njk +2 -2
- package/nationalarchives/components/date-search/date-search.scss +2 -2
- package/nationalarchives/components/date-search/template.njk +1 -1
- package/nationalarchives/components/details/details.css.map +1 -1
- package/nationalarchives/components/details/template.njk +1 -1
- package/nationalarchives/components/error-summary/error-summary.css +1 -1
- package/nationalarchives/components/error-summary/error-summary.css.map +1 -1
- package/nationalarchives/components/error-summary/error-summary.js +1 -1
- package/nationalarchives/components/error-summary/error-summary.js.map +1 -1
- package/nationalarchives/components/error-summary/error-summary.mjs +1 -1
- package/nationalarchives/components/error-summary/error-summary.scss +3 -4
- package/nationalarchives/components/error-summary/template.njk +1 -1
- package/nationalarchives/components/files-list/_index.scss +1 -0
- package/nationalarchives/components/files-list/files-list.css +1 -0
- package/nationalarchives/components/files-list/files-list.css.map +1 -0
- package/nationalarchives/components/files-list/files-list.scss +80 -0
- package/nationalarchives/components/files-list/fixtures.json +71 -0
- package/nationalarchives/components/{sensitive-image → files-list}/macro-options.json +20 -20
- package/nationalarchives/components/files-list/macro.njk +3 -0
- package/nationalarchives/components/files-list/template.njk +33 -0
- package/nationalarchives/components/footer/footer.css +1 -1
- package/nationalarchives/components/footer/footer.css.map +1 -1
- package/nationalarchives/components/footer/footer.scss +0 -2
- package/nationalarchives/components/footer/macro-options.json +0 -6
- package/nationalarchives/components/footer/template.njk +1 -1
- package/nationalarchives/components/gallery/fixtures.json +35 -1
- package/nationalarchives/components/gallery/gallery.css +1 -1
- package/nationalarchives/components/gallery/gallery.css.map +1 -1
- package/nationalarchives/components/gallery/gallery.js +1 -1
- package/nationalarchives/components/gallery/gallery.js.map +1 -1
- package/nationalarchives/components/gallery/gallery.mjs +192 -53
- package/nationalarchives/components/gallery/gallery.scss +317 -56
- package/nationalarchives/components/gallery/macro-options.json +34 -49
- package/nationalarchives/components/gallery/template.njk +74 -33
- package/nationalarchives/components/global-header/global-header.css +1 -1
- package/nationalarchives/components/global-header/global-header.css.map +1 -1
- package/nationalarchives/components/global-header/global-header.scss +0 -2
- package/nationalarchives/components/global-header/template.njk +1 -1
- package/nationalarchives/components/header/header.css +1 -1
- package/nationalarchives/components/header/header.css.map +1 -1
- package/nationalarchives/components/header/header.scss +3 -5
- package/nationalarchives/components/header/template.njk +1 -1
- package/nationalarchives/components/hero/hero.css +1 -1
- package/nationalarchives/components/hero/hero.css.map +1 -1
- package/nationalarchives/components/hero/hero.scss +0 -24
- package/nationalarchives/components/hero/template.njk +1 -1
- package/nationalarchives/components/index-grid/index-grid.css +1 -1
- package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
- package/nationalarchives/components/index-grid/index-grid.scss +1 -1
- package/nationalarchives/components/index-grid/template.njk +3 -3
- package/nationalarchives/components/pagination/pagination.css +1 -1
- package/nationalarchives/components/pagination/pagination.css.map +1 -1
- package/nationalarchives/components/pagination/pagination.scss +1 -1
- package/nationalarchives/components/pagination/template.njk +1 -1
- package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
- package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
- package/nationalarchives/components/phase-banner/phase-banner.scss +0 -2
- package/nationalarchives/components/phase-banner/template.njk +1 -1
- package/nationalarchives/components/picture/picture.css.map +1 -1
- package/nationalarchives/components/picture/picture.js +1 -1
- package/nationalarchives/components/picture/picture.js.map +1 -1
- package/nationalarchives/components/picture/picture.mjs +2 -2
- package/nationalarchives/components/picture/template.njk +1 -1
- package/nationalarchives/components/quick-filters/quick-filters.css +1 -1
- package/nationalarchives/components/quick-filters/quick-filters.css.map +1 -1
- package/nationalarchives/components/quick-filters/template.njk +1 -1
- package/nationalarchives/components/radios/radios.css +1 -1
- package/nationalarchives/components/radios/radios.css.map +1 -1
- package/nationalarchives/components/radios/radios.njk +1 -1
- package/nationalarchives/components/radios/radios.scss +1 -1
- package/nationalarchives/components/radios/template.njk +1 -1
- package/nationalarchives/components/records-list/_index.scss +1 -0
- package/nationalarchives/components/records-list/fixtures.json +42 -0
- package/nationalarchives/components/records-list/macro.njk +3 -0
- package/nationalarchives/components/records-list/records-list.css +1 -0
- package/nationalarchives/components/records-list/records-list.css.map +1 -0
- package/nationalarchives/components/{featured-records/featured-records.scss → records-list/records-list.scss} +2 -2
- package/nationalarchives/components/records-list/template.njk +21 -0
- package/nationalarchives/components/search-field/search-field.css +1 -1
- package/nationalarchives/components/search-field/search-field.css.map +1 -1
- package/nationalarchives/components/search-field/search-field.scss +3 -2
- package/nationalarchives/components/search-field/template.njk +2 -2
- package/nationalarchives/components/select/select.css +1 -1
- package/nationalarchives/components/select/select.css.map +1 -1
- package/nationalarchives/components/select/select.scss +2 -2
- package/nationalarchives/components/select/template.njk +2 -2
- package/nationalarchives/components/sidebar/fixtures.json +18 -8
- package/nationalarchives/components/sidebar/macro-options.json +9 -2
- package/nationalarchives/components/sidebar/sidebar.css +1 -1
- package/nationalarchives/components/sidebar/sidebar.css.map +1 -1
- package/nationalarchives/components/sidebar/template.njk +12 -3
- package/nationalarchives/components/skip-link/skip-link.css +1 -1
- package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
- package/nationalarchives/components/skip-link/skip-link.scss +0 -2
- package/nationalarchives/components/skip-link/template.njk +1 -1
- package/nationalarchives/components/tabs/tabs.css +1 -1
- package/nationalarchives/components/tabs/tabs.css.map +1 -1
- package/nationalarchives/components/tabs/tabs.scss +0 -12
- package/nationalarchives/components/tabs/template.njk +1 -1
- package/nationalarchives/components/text-input/template.njk +1 -1
- package/nationalarchives/components/text-input/text-input.css +1 -1
- package/nationalarchives/components/text-input/text-input.css.map +1 -1
- package/nationalarchives/components/text-input/text-input.njk +2 -2
- package/nationalarchives/components/text-input/text-input.scss +2 -2
- package/nationalarchives/components/textarea/template.njk +2 -2
- package/nationalarchives/components/textarea/textarea.css +1 -1
- package/nationalarchives/components/textarea/textarea.css.map +1 -1
- package/nationalarchives/components/textarea/textarea.scss +2 -2
- package/nationalarchives/components/warning/template.njk +1 -1
- package/nationalarchives/components/warning/warning.css +1 -1
- package/nationalarchives/components/warning/warning.css.map +1 -1
- package/nationalarchives/components/warning/warning.scss +2 -0
- package/nationalarchives/global-header-package.css +1 -1
- package/nationalarchives/global-header-package.css.map +1 -1
- package/nationalarchives/global-header-package.scss +1 -1
- package/nationalarchives/print.css +6 -0
- package/nationalarchives/print.css.map +1 -0
- package/nationalarchives/print.scss +44 -0
- package/nationalarchives/prototype-kit.css +1 -3
- package/nationalarchives/prototype-kit.css.map +1 -1
- package/nationalarchives/templates/layouts/_generic.njk +6 -6
- package/nationalarchives/tools/_a11y.scss +4 -0
- package/nationalarchives/tools/_colour.scss +75 -79
- package/nationalarchives/tools/_media.scss +0 -10
- package/nationalarchives/utilities/_columns.scss +1 -1
- package/nationalarchives/utilities/_index.scss +1 -0
- package/nationalarchives/utilities/_reset.scss +2 -8
- package/nationalarchives/utilities/{_colour.scss → colour/_index.scss} +2 -2
- package/nationalarchives/utilities/{_forms.scss → forms/_index.scss} +6 -6
- package/nationalarchives/utilities/grid/macro.njk +3 -0
- package/nationalarchives/{components → utilities}/grid/template.njk +1 -1
- package/nationalarchives/utilities/{_lists.scss → lists/_index.scss} +16 -7
- package/nationalarchives/utilities/{_overrides.scss → overrides/_index.scss} +8 -2
- package/nationalarchives/utilities/{_tables.scss → tables/_index.scss} +5 -5
- package/nationalarchives/utilities/{_typography.scss → typography/_index.scss} +8 -5
- package/nationalarchives/variables/_colour.scss +12 -5
- package/package.json +1 -1
- package/nationalarchives/components/accordion/accordion.stories.js +0 -410
- package/nationalarchives/components/breadcrumbs/breadcrumbs.stories.js +0 -128
- package/nationalarchives/components/button/button-group.stories.js +0 -114
- package/nationalarchives/components/button/button.stories.js +0 -204
- package/nationalarchives/components/card/card.stories.js +0 -402
- package/nationalarchives/components/checkboxes/checkboxes.stories.js +0 -241
- package/nationalarchives/components/compound-filters/compound-filters.stories.js +0 -61
- package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +0 -250
- package/nationalarchives/components/date-input/date-input.stories.js +0 -119
- package/nationalarchives/components/date-search/date-search.stories.js +0 -124
- package/nationalarchives/components/details/details.stories.js +0 -33
- package/nationalarchives/components/error-summary/error-summary.stories.js +0 -59
- package/nationalarchives/components/featured-records/_index.scss +0 -1
- package/nationalarchives/components/featured-records/featured-records.css +0 -1
- package/nationalarchives/components/featured-records/featured-records.css.map +0 -1
- package/nationalarchives/components/featured-records/featured-records.stories.js +0 -50
- package/nationalarchives/components/featured-records/fixtures.json +0 -42
- package/nationalarchives/components/featured-records/macro.njk +0 -3
- package/nationalarchives/components/featured-records/template.njk +0 -21
- package/nationalarchives/components/footer/footer.stories.js +0 -241
- package/nationalarchives/components/gallery/gallery.stories.js +0 -74
- package/nationalarchives/components/global-header/global-header.stories.js +0 -364
- package/nationalarchives/components/grid/_index.scss +0 -1
- package/nationalarchives/components/grid/grid.css +0 -1
- package/nationalarchives/components/grid/grid.css.map +0 -1
- package/nationalarchives/components/grid/grid.stories.js +0 -279
- package/nationalarchives/components/grid/macro.njk +0 -3
- package/nationalarchives/components/header/header.stories.js +0 -239
- package/nationalarchives/components/hero/hero.stories.js +0 -326
- package/nationalarchives/components/index-grid/index-grid.stories.js +0 -128
- package/nationalarchives/components/pagination/pagination.stories.js +0 -532
- package/nationalarchives/components/phase-banner/phase-banner.stories.js +0 -39
- package/nationalarchives/components/picture/picture.stories.js +0 -75
- package/nationalarchives/components/quick-filters/quick-filters.stories.js +0 -76
- package/nationalarchives/components/radios/radios.stories.js +0 -244
- package/nationalarchives/components/search-field/search-field.stories.js +0 -88
- package/nationalarchives/components/search-filters/_index.scss +0 -1
- package/nationalarchives/components/search-filters/fixtures.json +0 -16
- package/nationalarchives/components/search-filters/macro-options.json +0 -39
- package/nationalarchives/components/search-filters/macro.njk +0 -3
- package/nationalarchives/components/search-filters/search-filters.css +0 -1
- package/nationalarchives/components/search-filters/search-filters.css.map +0 -1
- package/nationalarchives/components/search-filters/search-filters.js +0 -2
- package/nationalarchives/components/search-filters/search-filters.js.map +0 -1
- package/nationalarchives/components/search-filters/search-filters.mjs +0 -67
- package/nationalarchives/components/search-filters/search-filters.scss +0 -198
- package/nationalarchives/components/search-filters/search-filters.stories.js +0 -207
- package/nationalarchives/components/search-filters/template.njk +0 -108
- package/nationalarchives/components/select/select.stories.js +0 -197
- package/nationalarchives/components/sensitive-image/_index.scss +0 -1
- package/nationalarchives/components/sensitive-image/fixtures.json +0 -51
- package/nationalarchives/components/sensitive-image/macro.njk +0 -3
- package/nationalarchives/components/sensitive-image/sensitive-image.css +0 -1
- package/nationalarchives/components/sensitive-image/sensitive-image.css.map +0 -1
- package/nationalarchives/components/sensitive-image/sensitive-image.js +0 -2
- package/nationalarchives/components/sensitive-image/sensitive-image.js.map +0 -1
- package/nationalarchives/components/sensitive-image/sensitive-image.mjs +0 -23
- package/nationalarchives/components/sensitive-image/sensitive-image.scss +0 -85
- package/nationalarchives/components/sensitive-image/sensitive-image.stories.js +0 -86
- package/nationalarchives/components/sensitive-image/template.njk +0 -11
- package/nationalarchives/components/sidebar/sidebar.stories.js +0 -224
- package/nationalarchives/components/skip-link/skip-link.stories.js +0 -76
- package/nationalarchives/components/tabs/tabs.stories.js +0 -300
- package/nationalarchives/components/text-input/text-input.stories.js +0 -188
- package/nationalarchives/components/textarea/textarea.stories.js +0 -130
- package/nationalarchives/components/warning/warning.stories.js +0 -39
- package/nationalarchives/stories/intro.mdx +0 -13
- package/nationalarchives/stories/utilities/colour-schemes/colour-combinations.stories.js +0 -293
- package/nationalarchives/stories/utilities/colour-schemes/colour-themes.stories.js +0 -1535
- package/nationalarchives/stories/utilities/forms/forms.mdx +0 -117
- package/nationalarchives/stories/utilities/lists/lists.stories.js +0 -212
- package/nationalarchives/stories/utilities/overrides/overrides.stories.js +0 -42
- package/nationalarchives/stories/utilities/tables/tables.stories.js +0 -47
- package/nationalarchives/stories/utilities/typography/heading-groups.stories.js +0 -94
- package/nationalarchives/stories/utilities/typography/headings.stories.js +0 -33
- package/nationalarchives/stories/utilities/typography/typography.stories.js +0 -91
- package/nationalarchives/components/{featured-records → records-list}/macro-options.json +0 -0
- package/nationalarchives/{components/grid/grid.scss → utilities/grid/_index.scss} +3 -3
- /package/nationalarchives/{components → utilities}/grid/fixtures.json +0 -0
- /package/nationalarchives/{components → utilities}/grid/macro-options.json +0 -0
@@ -1,116 +1,377 @@
|
|
1
|
+
@use "../../tools/a11y";
|
1
2
|
@use "../../tools/colour";
|
2
3
|
@use "../../tools/media";
|
3
4
|
@use "../../tools/spacing";
|
5
|
+
@use "../../tools/typography";
|
4
6
|
|
5
7
|
.tna-gallery {
|
6
|
-
|
8
|
+
min-height: 100dvh;
|
9
|
+
max-height: 200dvh;
|
7
10
|
|
8
|
-
|
11
|
+
display: grid;
|
12
|
+
grid-template: min-content min-content 1fr / 2fr 1fr;
|
13
|
+
gap: 0 spacing.space(1);
|
14
|
+
|
15
|
+
@include colour.tint;
|
16
|
+
|
17
|
+
border-radius: 0.1px;
|
18
|
+
|
19
|
+
&:active {
|
20
|
+
@include a11y.no-active-outline;
|
21
|
+
}
|
9
22
|
|
10
23
|
&__header {
|
11
|
-
padding
|
24
|
+
padding: spacing.space(1);
|
25
|
+
|
26
|
+
grid-column: 1 / 3;
|
27
|
+
grid-row: 1;
|
28
|
+
|
29
|
+
display: flex;
|
30
|
+
gap: spacing.space(2);
|
31
|
+
}
|
32
|
+
|
33
|
+
&__header-inner {
|
34
|
+
flex: 1;
|
35
|
+
}
|
36
|
+
|
37
|
+
&__options {
|
38
|
+
margin-top: 0;
|
39
|
+
|
40
|
+
align-items: flex-start;
|
41
|
+
|
42
|
+
justify-content: flex-end;
|
43
|
+
|
44
|
+
flex: 1;
|
45
|
+
|
46
|
+
.tna-button {
|
47
|
+
white-space: nowrap;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
&__items,
|
52
|
+
&__navigation-buttons {
|
53
|
+
grid-column: 1 / 3;
|
54
|
+
grid-row: 2;
|
12
55
|
}
|
13
56
|
|
14
57
|
&__items {
|
15
|
-
|
58
|
+
position: relative;
|
59
|
+
z-index: 1;
|
16
60
|
|
17
|
-
|
18
|
-
flex-direction: column;
|
19
|
-
align-items: center;
|
20
|
-
gap: spacing.space(3);
|
61
|
+
border-radius: 0.1px;
|
21
62
|
|
22
|
-
&:focus {
|
23
|
-
outline: none
|
63
|
+
.tna-template--clicked &:focus {
|
64
|
+
outline: none;
|
24
65
|
}
|
25
66
|
}
|
26
67
|
|
27
68
|
&__item {
|
28
|
-
|
69
|
+
display: flex;
|
70
|
+
flex-direction: column;
|
71
|
+
align-items: stretch;
|
72
|
+
justify-content: center;
|
73
|
+
}
|
29
74
|
|
30
|
-
|
31
|
-
|
75
|
+
&__item-header {
|
76
|
+
padding: spacing.space(1);
|
32
77
|
|
33
|
-
|
34
|
-
|
78
|
+
line-height: 1;
|
79
|
+
text-align: center;
|
80
|
+
|
81
|
+
@include typography.main-font-weight-bold;
|
82
|
+
@include typography.font-size(16);
|
83
|
+
}
|
84
|
+
|
85
|
+
&__item-figure {
|
86
|
+
display: flex;
|
87
|
+
flex-direction: column;
|
88
|
+
align-items: stretch;
|
89
|
+
gap: spacing.space(1);
|
90
|
+
}
|
91
|
+
|
92
|
+
&__item-figure-inner {
|
93
|
+
width: 100%;
|
94
|
+
max-height: 50vh;
|
95
|
+
|
96
|
+
position: relative;
|
97
|
+
|
98
|
+
@include colour.contrast;
|
99
|
+
}
|
100
|
+
|
101
|
+
&__item-image {
|
102
|
+
margin: 0 auto;
|
103
|
+
}
|
104
|
+
|
105
|
+
&__item-description {
|
106
|
+
margin: 0 spacing.space(1) spacing.space(1);
|
107
|
+
padding: spacing.space(0.5) spacing.space(1);
|
108
|
+
|
109
|
+
align-self: flex-start;
|
110
|
+
|
111
|
+
@include colour.thick-keyline-dark(left);
|
112
|
+
}
|
113
|
+
|
114
|
+
&__navigation-buttons {
|
115
|
+
width: 100%;
|
116
|
+
max-height: 50vh;
|
117
|
+
aspect-ratio: 3 / 2;
|
118
|
+
|
119
|
+
position: relative;
|
120
|
+
top: 3rem;
|
121
|
+
z-index: 2;
|
35
122
|
|
36
|
-
|
123
|
+
pointer-events: none;
|
124
|
+
|
125
|
+
.tna-template--touched & {
|
126
|
+
display: none;
|
37
127
|
}
|
128
|
+
}
|
129
|
+
|
130
|
+
&__navigation-button {
|
131
|
+
width: 25%;
|
132
|
+
padding: 0;
|
133
|
+
|
134
|
+
position: absolute;
|
135
|
+
top: 0;
|
136
|
+
bottom: 0;
|
137
|
+
|
138
|
+
border: none;
|
139
|
+
|
140
|
+
opacity: 0;
|
38
141
|
|
39
|
-
|
40
|
-
|
142
|
+
cursor: pointer;
|
143
|
+
pointer-events: auto;
|
144
|
+
|
145
|
+
@include colour.colour-font("base-dark");
|
146
|
+
|
147
|
+
@include colour.tint;
|
148
|
+
|
149
|
+
svg {
|
150
|
+
height: 5vw;
|
41
151
|
margin: 0 auto;
|
152
|
+
|
153
|
+
display: block;
|
154
|
+
|
155
|
+
fill: currentColor;
|
42
156
|
}
|
43
157
|
|
44
|
-
|
45
|
-
|
46
|
-
|
158
|
+
&:hover,
|
159
|
+
&:focus {
|
160
|
+
opacity: 1;
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
&__navigation-prev {
|
165
|
+
padding-right: 10%;
|
166
|
+
|
167
|
+
left: 0;
|
168
|
+
|
169
|
+
background: linear-gradient(
|
170
|
+
90deg,
|
171
|
+
var(--background) 15%,
|
172
|
+
rgb(0 0 0 / 0%) 100%
|
173
|
+
);
|
174
|
+
}
|
175
|
+
|
176
|
+
&__navigation-next {
|
177
|
+
padding-left: 10%;
|
178
|
+
|
179
|
+
right: 0;
|
180
|
+
|
181
|
+
background: linear-gradient(
|
182
|
+
270deg,
|
183
|
+
var(--background) 15%,
|
184
|
+
rgb(0 0 0 / 0%) 100%
|
185
|
+
);
|
186
|
+
}
|
187
|
+
|
188
|
+
&__navigation {
|
189
|
+
padding: spacing.space(1);
|
190
|
+
|
191
|
+
grid-column: 1 / 3;
|
192
|
+
grid-row: 3;
|
193
|
+
|
194
|
+
display: grid;
|
195
|
+
grid-template-columns: repeat(6, 1fr);
|
196
|
+
grid-auto-rows: min-content;
|
197
|
+
gap: spacing.space(1);
|
198
|
+
|
199
|
+
overflow: auto;
|
200
|
+
}
|
201
|
+
|
202
|
+
&__navigation-item {
|
203
|
+
min-width: 0;
|
204
|
+
min-height: 0;
|
205
|
+
aspect-ratio: 1;
|
47
206
|
|
48
|
-
|
207
|
+
position: relative;
|
208
|
+
|
209
|
+
border: none;
|
210
|
+
|
211
|
+
cursor: pointer;
|
212
|
+
|
213
|
+
@include colour.contrast;
|
214
|
+
|
215
|
+
&:hover {
|
216
|
+
&::after {
|
217
|
+
content: "";
|
218
|
+
|
219
|
+
position: absolute;
|
220
|
+
inset: 0;
|
221
|
+
z-index: 2;
|
222
|
+
|
223
|
+
@include colour.thick-keyline-accent;
|
224
|
+
}
|
49
225
|
}
|
50
226
|
|
51
|
-
|
52
|
-
@include
|
53
|
-
|
227
|
+
&[aria-selected="true"] {
|
228
|
+
@include colour.accent;
|
229
|
+
|
230
|
+
&::after {
|
231
|
+
content: "";
|
232
|
+
|
233
|
+
position: absolute;
|
234
|
+
inset: 0;
|
235
|
+
z-index: 2;
|
236
|
+
|
237
|
+
@include colour.thick-keyline-brand("", "black");
|
54
238
|
}
|
55
239
|
}
|
56
240
|
}
|
57
241
|
|
58
|
-
&
|
59
|
-
|
242
|
+
&__navigation-item-image {
|
243
|
+
width: 100%;
|
244
|
+
height: 100%;
|
245
|
+
|
246
|
+
position: absolute;
|
247
|
+
inset: 0;
|
248
|
+
object-fit: cover;
|
60
249
|
}
|
61
250
|
|
62
|
-
&
|
63
|
-
|
251
|
+
&__navigation-item-label {
|
252
|
+
padding: spacing.space(0.25) spacing.space(0.75);
|
253
|
+
|
254
|
+
display: inline-block;
|
255
|
+
|
256
|
+
position: absolute;
|
257
|
+
right: 0;
|
258
|
+
bottom: 0;
|
259
|
+
z-index: 4;
|
260
|
+
|
261
|
+
@include colour.colour-font("font-dark");
|
262
|
+
@include typography.font-size(36);
|
263
|
+
@include typography.main-font-weight-bold;
|
264
|
+
text-transform: capitalize;
|
265
|
+
|
266
|
+
@include colour.colour-background("background");
|
64
267
|
}
|
65
268
|
|
66
|
-
&
|
67
|
-
|
269
|
+
&--js &__item-figure-inner {
|
270
|
+
aspect-ratio: 3 / 2;
|
68
271
|
}
|
69
272
|
|
70
|
-
&--
|
71
|
-
|
72
|
-
|
273
|
+
&--js &__item-image {
|
274
|
+
width: 100%;
|
275
|
+
height: 100%;
|
73
276
|
|
74
|
-
|
277
|
+
position: absolute;
|
278
|
+
inset: 0;
|
279
|
+
z-index: 1;
|
280
|
+
object-fit: contain;
|
281
|
+
}
|
75
282
|
|
76
|
-
|
77
|
-
|
283
|
+
@include media.on-medium {
|
284
|
+
&__navigation {
|
285
|
+
grid-template-columns: repeat(4, 1fr);
|
78
286
|
}
|
79
287
|
|
80
|
-
|
81
|
-
|
288
|
+
&__navigation-item-label {
|
289
|
+
@include typography.font-size(30);
|
290
|
+
}
|
291
|
+
}
|
82
292
|
|
83
|
-
|
84
|
-
|
293
|
+
@include media.on-mobile {
|
294
|
+
&__navigation {
|
295
|
+
grid-template-columns: repeat(3, 1fr);
|
85
296
|
}
|
297
|
+
}
|
86
298
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
299
|
+
@include media.on-tiny {
|
300
|
+
&__options {
|
301
|
+
align-items: flex-end;
|
302
|
+
justify-content: flex-start;
|
91
303
|
}
|
304
|
+
|
305
|
+
&__navigation-item-label {
|
306
|
+
@include typography.font-size(24);
|
307
|
+
}
|
308
|
+
}
|
309
|
+
|
310
|
+
&--fullscreen {
|
311
|
+
max-height: 100dvh;
|
92
312
|
}
|
93
313
|
|
94
|
-
&--
|
95
|
-
&--collapsed &__item:first-child &__item-description,
|
96
|
-
&--collapsed &__item:first-child &__item-tabs {
|
314
|
+
&--fullscreen &__header-inner {
|
97
315
|
display: none;
|
98
316
|
}
|
99
317
|
|
100
|
-
&--
|
101
|
-
|
318
|
+
&--fullscreen &__item-description {
|
319
|
+
max-height: 4.5rem;
|
320
|
+
|
321
|
+
overflow: auto;
|
102
322
|
}
|
103
323
|
|
104
|
-
@
|
105
|
-
|
324
|
+
// @media (display-mode: fullscreen) and (aspect-ratio >= 1/1), (display-mode: fullscreen) and (orientation: landscape) {
|
325
|
+
@media (aspect-ratio >= 1/1) {
|
326
|
+
&--fullscreen &__header {
|
327
|
+
grid-column: 2 / 3;
|
328
|
+
// padding-bottom: spacing.space(0.5);
|
106
329
|
}
|
107
330
|
|
108
|
-
&
|
109
|
-
|
331
|
+
&--fullscreen &__options {
|
332
|
+
.tna-button[value="show-index"] {
|
333
|
+
display: none;
|
110
334
|
}
|
335
|
+
}
|
111
336
|
|
112
|
-
|
113
|
-
|
337
|
+
&--fullscreen &__items,
|
338
|
+
&--fullscreen &__navigation-buttons {
|
339
|
+
grid-column: 1 / 2;
|
340
|
+
grid-row: 1 / 4;
|
341
|
+
}
|
342
|
+
|
343
|
+
&--fullscreen &__item {
|
344
|
+
height: 100%;
|
345
|
+
}
|
346
|
+
|
347
|
+
&--fullscreen &__item-header {
|
348
|
+
// padding-top: spacing.space(0.5);
|
349
|
+
// padding-bottom: spacing.space(0.5);
|
350
|
+
}
|
351
|
+
|
352
|
+
&--fullscreen &__item-figure {
|
353
|
+
flex: 1;
|
354
|
+
}
|
355
|
+
|
356
|
+
&--fullscreen &__item-figure-inner,
|
357
|
+
&--fullscreen &__navigation-buttons {
|
358
|
+
max-height: none;
|
359
|
+
flex: 1;
|
360
|
+
|
361
|
+
aspect-ratio: auto;
|
362
|
+
}
|
363
|
+
|
364
|
+
&--fullscreen &__navigation {
|
365
|
+
// padding-top: spacing.space(0.5);
|
366
|
+
padding-top: 0;
|
367
|
+
padding-left: 0;
|
368
|
+
|
369
|
+
grid-column: 2 / 3;
|
370
|
+
grid-row: 2 / 4;
|
371
|
+
|
372
|
+
// grid-template-columns: repeat(3, minmax(8rem, 1fr));
|
373
|
+
grid-template-columns: repeat(3, 1fr);
|
374
|
+
gap: spacing.space(0.5);
|
114
375
|
}
|
115
376
|
}
|
116
377
|
}
|
@@ -1,29 +1,34 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
|
-
"name": "
|
4
|
-
"type": "
|
3
|
+
"name": "title",
|
4
|
+
"type": "string",
|
5
5
|
"required": true,
|
6
|
-
"description": ""
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
6
|
+
"description": "The main title of the gallery."
|
7
|
+
},
|
8
|
+
{
|
9
|
+
"name": "headingLevel",
|
10
|
+
"type": "number",
|
11
|
+
"required": true,
|
12
|
+
"description": "The heading level which represents an element from `<h1>` through to `<h6>`."
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"name": "headingSize",
|
16
|
+
"type": "string",
|
17
|
+
"required": false,
|
18
|
+
"default": "m",
|
19
|
+
"description": "The physical size of the gallery title (`xl`, `l`, `m` or `s`)."
|
20
|
+
},
|
21
|
+
{
|
22
|
+
"name": "body",
|
23
|
+
"type": "string",
|
24
|
+
"required": false,
|
25
|
+
"description": "The HTML for the main body of the gallery. Not displayed if `text` is set."
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"name": "text",
|
29
|
+
"type": "string",
|
30
|
+
"required": false,
|
31
|
+
"description": "The text for the gallery which will be inserted into a `<p>` element. Overwrites `body` if it is set."
|
27
32
|
},
|
28
33
|
{
|
29
34
|
"name": "items",
|
@@ -60,35 +65,15 @@
|
|
60
65
|
"type": "string",
|
61
66
|
"required": false,
|
62
67
|
"description": ""
|
63
|
-
},
|
64
|
-
{
|
65
|
-
"name": "tabs",
|
66
|
-
"type": "array",
|
67
|
-
"required": true,
|
68
|
-
"description": "",
|
69
|
-
"params": [
|
70
|
-
{
|
71
|
-
"name": "id",
|
72
|
-
"type": "string",
|
73
|
-
"required": true,
|
74
|
-
"description": ""
|
75
|
-
},
|
76
|
-
{
|
77
|
-
"name": "title",
|
78
|
-
"type": "string",
|
79
|
-
"required": true,
|
80
|
-
"description": ""
|
81
|
-
},
|
82
|
-
{
|
83
|
-
"name": "body",
|
84
|
-
"type": "string",
|
85
|
-
"required": true,
|
86
|
-
"description": ""
|
87
|
-
}
|
88
|
-
]
|
89
68
|
}
|
90
69
|
]
|
91
70
|
},
|
71
|
+
{
|
72
|
+
"name": "id",
|
73
|
+
"type": "string",
|
74
|
+
"required": true,
|
75
|
+
"description": "A unique ID for the gallery."
|
76
|
+
},
|
92
77
|
{
|
93
78
|
"name": "classes",
|
94
79
|
"type": "string",
|
@@ -1,46 +1,87 @@
|
|
1
|
-
{% from "nationalarchives/components/
|
1
|
+
{% from "nationalarchives/components/button/macro.njk" import tnaButton %}
|
2
2
|
|
3
3
|
{%- set containerClasses = [params.classes] if params.classes else [] -%}
|
4
4
|
{%- set classes = containerClasses | join(' ') -%}
|
5
|
-
<
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
<section class="tna-gallery{% if classes %} {{ classes }}{% endif %}" data-module="tna-gallery"{% for attribute, value in params.attributes %} {{ attribute }}{% if value !== '' %}="{{ value }}"{% endif %}{% endfor %}>
|
6
|
+
<div class="tna-gallery__header">
|
7
|
+
<div class="tna-gallery__header-inner">
|
8
|
+
<h{{ params.headingLevel }} class="tna-heading-{{ params.headingSize or 'm' }}">
|
9
|
+
{{ params.title }}
|
10
|
+
</h{{ params.headingLevel }}>
|
11
|
+
{%- if params.text %}
|
12
|
+
<p>{{ params.text }}</p>
|
13
|
+
{%- else %}
|
14
|
+
{{ params.body | safe }}
|
15
|
+
{%- endif %}
|
16
|
+
</div>
|
17
|
+
<div class="tna-gallery__options tna-button-group tna-button-group--small" hidden>
|
18
|
+
{{ tnaButton({
|
19
|
+
text: "See all images",
|
20
|
+
iconSvg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M128 136c0-22.1-17.9-40-40-40L40 96C17.9 96 0 113.9 0 136l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM288 328c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM448 328c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328z"/></svg>',
|
21
|
+
iconOnlyOnMobile: true,
|
22
|
+
buttonElement: true,
|
23
|
+
attributes: {
|
24
|
+
hidden: "",
|
25
|
+
value: "show-index"
|
26
|
+
}
|
27
|
+
}) | indent(6) }}
|
28
|
+
{{ tnaButton({
|
29
|
+
text: "Full screen",
|
30
|
+
iconSvg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z"/></svg>',
|
31
|
+
iconOnlyOnMobile: true,
|
32
|
+
buttonElement: true,
|
33
|
+
attributes: {
|
34
|
+
hidden: "",
|
35
|
+
value: "enter-fullscreen"
|
36
|
+
}
|
37
|
+
}) | indent(6) }}
|
38
|
+
{{ tnaButton({
|
39
|
+
text: "Exit full screen",
|
40
|
+
iconSvg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V64zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V64zM320 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z"/></svg>',
|
41
|
+
iconOnlyOnMobile: true,
|
42
|
+
buttonElement: true,
|
43
|
+
attributes: {
|
44
|
+
hidden: "",
|
45
|
+
value: "exit-fullscreen"
|
46
|
+
}
|
47
|
+
}) | indent(6) }}
|
12
48
|
</div>
|
13
49
|
</div>
|
14
|
-
{%- endif -%}
|
15
50
|
<div class="tna-gallery__items">
|
16
|
-
{%- for item in params.items
|
17
|
-
<div class="tna-gallery__item
|
18
|
-
<
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
{%- if item.description
|
51
|
+
{%- for item in params.items %}
|
52
|
+
<div class="tna-gallery__item" id="{{ params.id }}-item-{{ loop.index }}" aria-labelledby="{{ params.id }}-item-{{ loop.index }}-tab" role="tabpanel">
|
53
|
+
<p class="tna-gallery__item-header">Image {{ loop.index }} of {{ params.items | length }}</p>
|
54
|
+
<figure class="tna-gallery__item-figure">
|
55
|
+
<div class="tna-gallery__item-figure-inner">
|
56
|
+
<img src="{{ item.src }}" class="tna-gallery__item-image" alt="{{ item.alt }}" width="{{ item.width }}" height="{{ item.height }}">
|
57
|
+
</div>
|
58
|
+
{%- if item.description %}
|
24
59
|
<figcaption class="tna-gallery__item-description">
|
25
60
|
<p>{{ item.description }}</p>
|
26
61
|
</figcaption>
|
27
|
-
{%- endif
|
62
|
+
{%- endif %}
|
28
63
|
</figure>
|
29
|
-
{%- if item.tabs -%}
|
30
|
-
<div class="tna-gallery__item-tabs tna-column tna-column--width-1-3 tna-column--full-medium tna-column--full-small tna-column--full-tiny">
|
31
|
-
{%- if item.tabs|length > 1 -%}
|
32
|
-
{{ tnaTabs({
|
33
|
-
items: item.tabs
|
34
|
-
}) }}
|
35
|
-
{%- else -%}
|
36
|
-
<h{{ params.heading.level + 1 }} class="tna-heading-m">
|
37
|
-
{{ item.tabs[0].title }}
|
38
|
-
</h{{ params.heading.level + 1 }}>
|
39
|
-
{{ item.tabs[0].body|safe }}
|
40
|
-
{%- endif -%}
|
41
|
-
</div>
|
42
|
-
{%- endif -%}
|
43
64
|
</div>
|
65
|
+
{%- endfor %}
|
66
|
+
</div>
|
67
|
+
<div class="tna-gallery__navigation-buttons" hidden>
|
68
|
+
<button type="button" class="tna-gallery__navigation-button tna-gallery__navigation-prev" aria-label="Previous image">
|
69
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" aria-hidden="true"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>
|
70
|
+
<span class="tna-visually-hidden">Show previous image</span>
|
71
|
+
</button>
|
72
|
+
<button type="button" class="tna-gallery__navigation-button tna-gallery__navigation-next" aria-label="Next image">
|
73
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" aria-hidden="true"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>
|
74
|
+
<span class="tna-visually-hidden">Show next image</span>
|
75
|
+
</button>
|
76
|
+
</div>
|
77
|
+
<div class="tna-gallery__navigation" role="tablist" hidden>
|
78
|
+
{%- for item in params.items -%}
|
79
|
+
<button type="button" class="tna-gallery__navigation-item" role="tab" id="{{ params.id }}-item-{{ loop.index }}-tab" aria-label="Photo {{ loop.index }} of {{ params.items | length }}" aria-controls="{{ params.id }}-item-{{ loop.index }}">
|
80
|
+
<img src="{{ item.src }}" class="tna-gallery__navigation-item-image" alt="" width="{{ item.width }}" height="{{ item.height }}">
|
81
|
+
<span class="tna-visually-hidden">Image</span>
|
82
|
+
<span class="tna-gallery__navigation-item-label">{{ loop.index }}</span>
|
83
|
+
<span class="tna-visually-hidden"> of {{ params.items | length }}</span>
|
84
|
+
</button>
|
44
85
|
{%- endfor -%}
|
45
86
|
</div>
|
46
|
-
</
|
87
|
+
</section>
|