@nationalarchives/frontend 0.1.8-prerelease → 0.1.10-prerelease
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/nationalarchives/_features.scss +1 -0
- package/nationalarchives/all.css +1 -1
- package/nationalarchives/all.css.map +1 -1
- package/nationalarchives/all.js +1 -1
- package/nationalarchives/all.js.map +1 -1
- package/nationalarchives/all.mjs +53 -6
- package/nationalarchives/assets/images/footer/facebook.svg +11 -0
- package/nationalarchives/assets/images/footer/flickr.svg +11 -0
- package/nationalarchives/assets/images/footer/instagram.svg +17 -0
- package/nationalarchives/assets/images/footer/rss.svg +13 -0
- package/nationalarchives/assets/images/footer/twitter.svg +14 -0
- package/nationalarchives/assets/images/footer/youtube.svg +12 -0
- package/nationalarchives/assets/images/tna-square-logo.svg +24 -45
- package/nationalarchives/components/_all.scss +4 -0
- package/nationalarchives/components/breadcrumbs/_index.scss +4 -3
- package/nationalarchives/components/breadcrumbs/breadcrumbs.stories.js +2 -3
- package/nationalarchives/components/breadcrumbs/fixtures.json +1 -1
- package/nationalarchives/components/breadcrumbs/macro-options.json +2 -2
- package/nationalarchives/components/breadcrumbs/template.njk +9 -9
- package/nationalarchives/components/button/_index.scss +25 -5
- package/nationalarchives/components/button/button.stories.js +2 -3
- package/nationalarchives/components/button/fixtures.json +5 -5
- package/nationalarchives/components/button/template.njk +3 -3
- package/nationalarchives/components/card/_index.scss +7 -3
- package/nationalarchives/components/card/card.stories.js +2 -3
- package/nationalarchives/components/card/fixtures.json +11 -11
- package/nationalarchives/components/card/template.njk +44 -44
- package/nationalarchives/components/filters/_index.scss +49 -0
- package/nationalarchives/components/filters/filters.stories.js +75 -0
- package/nationalarchives/components/filters/fixtures.json +4 -0
- package/nationalarchives/components/filters/macro-options.json +52 -0
- package/nationalarchives/components/filters/macro.njk +3 -0
- package/nationalarchives/components/filters/template.njk +8 -0
- package/nationalarchives/components/footer/_index.scss +49 -4
- package/nationalarchives/components/footer/fixtures.json +1 -1
- package/nationalarchives/components/footer/footer.stories.js +23 -26
- package/nationalarchives/components/footer/macro-options.json +12 -6
- package/nationalarchives/components/footer/template.njk +61 -51
- package/nationalarchives/components/grid/_index.scss +3 -78
- package/nationalarchives/components/grid/fixtures.json +12 -12
- package/nationalarchives/components/grid/grid.stories.js +3 -4
- package/nationalarchives/components/grid/template.njk +35 -35
- package/nationalarchives/components/header/_index.scss +452 -0
- package/nationalarchives/components/header/fixtures.json +4 -0
- package/nationalarchives/components/header/header.js +2 -0
- package/nationalarchives/components/header/header.js.map +1 -0
- package/nationalarchives/components/header/header.mjs +108 -0
- package/nationalarchives/components/header/header.stories.js +68 -0
- package/nationalarchives/components/header/macro-options.json +104 -0
- package/nationalarchives/components/header/macro.njk +3 -0
- package/nationalarchives/components/header/template.njk +66 -0
- package/nationalarchives/components/hero/_index.scss +4 -1
- package/nationalarchives/components/hero/hero.stories.js +17 -15
- package/nationalarchives/components/hero/macro-options.json +3 -3
- package/nationalarchives/components/hero/template.njk +27 -27
- package/nationalarchives/components/phase-banner/_index.scss +43 -0
- package/nationalarchives/components/phase-banner/fixtures.json +14 -0
- package/nationalarchives/components/phase-banner/macro-options.json +26 -0
- package/nationalarchives/components/phase-banner/macro.njk +3 -0
- package/nationalarchives/components/phase-banner/phase-banner.stories.js +38 -0
- package/nationalarchives/components/phase-banner/template.njk +16 -0
- package/nationalarchives/components/sensitive-image/fixtures.json +3 -3
- package/nationalarchives/components/sensitive-image/macro-options.json +2 -2
- package/nationalarchives/components/sensitive-image/sensitive-image.js +1 -1
- package/nationalarchives/components/sensitive-image/sensitive-image.js.map +1 -1
- package/nationalarchives/components/sensitive-image/sensitive-image.mjs +21 -22
- package/nationalarchives/components/sensitive-image/sensitive-image.stories.js +2 -3
- package/nationalarchives/components/sensitive-image/template.njk +7 -7
- package/nationalarchives/lib/uuid.mjs +9 -0
- package/nationalarchives/stories/development/contributing.mdx +38 -0
- package/nationalarchives/stories/development/dependencies.mdx +2 -0
- package/nationalarchives/stories/development/publishing.mdx +9 -0
- package/nationalarchives/stories/development/technologies.mdx +65 -0
- package/nationalarchives/stories/utilities/lists.stories.js +2 -2
- package/nationalarchives/stories/utilities/typography.mdx +15 -0
- package/nationalarchives/templates/homepage.njk +46 -46
- package/nationalarchives/templates/layouts/_generic.njk +49 -52
- package/nationalarchives/templates/layouts/_prototype-kit.njk +5 -0
- package/nationalarchives/templates/search-results.njk +31 -31
- package/nationalarchives/templates/topics.njk +33 -33
- package/nationalarchives/tools/_all.scss +1 -0
- package/nationalarchives/tools/_assets.scss +5 -0
- package/nationalarchives/tools/_grid.scss +52 -27
- package/nationalarchives/tools/_media.scss +12 -11
- package/nationalarchives/utilities/_global.scss +103 -3
- package/nationalarchives/utilities/_typography.scss +112 -92
- package/nationalarchives/variables/_all.scss +1 -0
- package/nationalarchives/variables/_assets.scss +1 -0
- package/nationalarchives/variables/_colour.scss +95 -1
- package/nationalarchives/variables/_media.scss +39 -11
- package/package.json +18 -16
- package/nationalarchives/assets/images/tna-square-logo-inverted.svg +0 -47
- package/nationalarchives/stories/development/structure.mdx +0 -7
@@ -1,38 +1,38 @@
|
|
1
|
-
{% from "
|
1
|
+
{% from "../components/card/macro.njk" import tnaCard %}
|
2
2
|
|
3
|
-
{% extends "
|
3
|
+
{% extends "./layouts/_prototype-kit.njk" %}
|
4
4
|
|
5
5
|
{% block pageTitle %}The National Archives | Results{% endblock %}
|
6
6
|
|
7
7
|
{% block main %}
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
</div>
|
12
|
-
<main class="tna-main-wrapper tna-column tna-column--container tna-column--3-4 tna-column--width-2-3-medium tna-column--full-small tna-column--full-tiny {{ mainClasses }}" id="main-content" role="main"{% if mainLang %} lang="{{ mainLang }}"{% endif %}>
|
13
|
-
{% block beforeContent %}{% endblock %}
|
14
|
-
<div class="tna-column tna-column--full">
|
15
|
-
<h1 class="tna-heading tna-heading--xl">
|
16
|
-
Search results for "foobar"
|
17
|
-
</h1>
|
18
|
-
</div>
|
19
|
-
{% for item in range(0, 6) -%}
|
20
|
-
<div class="tna-column tna-column--width-1-2 tna-column--width-full-small tna-column--width-full-tiny">
|
21
|
-
{{ tnaCard({
|
22
|
-
"heading": {
|
23
|
-
"supertitle": "Card supertitle",
|
24
|
-
"title": "Card title",
|
25
|
-
"level": 2
|
26
|
-
},
|
27
|
-
"href": "#",
|
28
|
-
"image": {
|
29
|
-
"src": "https://loremflickr.com/640/360",
|
30
|
-
"alt": "A placeholder image"
|
31
|
-
},
|
32
|
-
"body": "<p>Card body</p>",
|
33
|
-
}) }}
|
34
|
-
</div>
|
35
|
-
{%- endfor %}
|
36
|
-
</main>
|
8
|
+
<div class="tna-container">
|
9
|
+
<div class="tna-column tna-column--1-4 tna-column--width-1-3-medium tna-column--full-small tna-column--full-tiny">
|
10
|
+
<h2>Search filters...</h2>
|
37
11
|
</div>
|
12
|
+
<main class="tna-main-wrapper tna-column tna-column--container tna-column--3-4 tna-column--width-2-3-medium tna-column--full-small tna-column--full-tiny {{ mainClasses }}" id="main-content" role="main"{% if mainLang %} lang="{{ mainLang }}"{% endif %}>
|
13
|
+
{% block beforeContent %}{% endblock %}
|
14
|
+
<div class="tna-column tna-column--full">
|
15
|
+
<h1 class="tna-heading tna-heading--xl">
|
16
|
+
Search results for "foobar"
|
17
|
+
</h1>
|
18
|
+
</div>
|
19
|
+
{% for item in range(0, 6) -%}
|
20
|
+
<div class="tna-column tna-column--width-1-2 tna-column--width-full-small tna-column--width-full-tiny">
|
21
|
+
{{ tnaCard({
|
22
|
+
"heading": {
|
23
|
+
"supertitle": "Card supertitle",
|
24
|
+
"title": "Card title",
|
25
|
+
"level": 2
|
26
|
+
},
|
27
|
+
"href": "#",
|
28
|
+
"image": {
|
29
|
+
"src": "https://loremflickr.com/640/360",
|
30
|
+
"alt": "A placeholder image"
|
31
|
+
},
|
32
|
+
"body": "<p>Card body</p>",
|
33
|
+
}) }}
|
34
|
+
</div>
|
35
|
+
{%- endfor %}
|
36
|
+
</main>
|
37
|
+
</div>
|
38
38
|
{% endblock %}
|
@@ -1,42 +1,42 @@
|
|
1
|
-
{% from "
|
2
|
-
{% from "
|
1
|
+
{% from "../components/card/macro.njk" import tnaCard %}
|
2
|
+
{% from "../components/hero/macro.njk" import tnaHero %}
|
3
3
|
|
4
|
-
{% extends "
|
4
|
+
{% extends "./layouts/_prototype-kit.njk" %}
|
5
5
|
|
6
6
|
{% block pageTitle %}The National Archives | Topics{% endblock %}
|
7
7
|
|
8
8
|
{% block main %}
|
9
9
|
<main class="tna-main-wrapper">
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
</div>
|
23
|
-
{% for item in range(0, 6) -%}
|
24
|
-
<div class="tna-column tna-column--width-1-3 tna-column--width-1-2-medium tna-column--width-full-small tna-column--width-full-tiny">
|
25
|
-
{{ tnaCard({
|
26
|
-
"heading": {
|
27
|
-
"supertitle": "Card supertitle",
|
28
|
-
"title": "Card title",
|
29
|
-
"level": 3
|
30
|
-
},
|
31
|
-
"href": "#",
|
32
|
-
"image": {
|
33
|
-
"src": "https://loremflickr.com/640/360",
|
34
|
-
"alt": "A placeholder image"
|
35
|
-
},
|
36
|
-
"body": "<p>Card body</p>",
|
37
|
-
}) }}
|
38
|
-
</div>
|
39
|
-
{%- endfor %}
|
10
|
+
{{ tnaHero({
|
11
|
+
"heading": "Title",
|
12
|
+
"body": "<p>Body</p>",
|
13
|
+
"image": {
|
14
|
+
"src": "https://picsum.photos/id/29/640/360",
|
15
|
+
"alt": "A placeholder image",
|
16
|
+
"information": "Photo of some mountains by a famous photographer, ©2012"
|
17
|
+
}
|
18
|
+
}) }}
|
19
|
+
<div class="tna-container">
|
20
|
+
<div class="tna-column tna-column--full">
|
21
|
+
<h2>Topic title</h2>
|
40
22
|
</div>
|
23
|
+
{% for item in range(0, 6) -%}
|
24
|
+
<div class="tna-column tna-column--width-1-3 tna-column--width-1-2-medium tna-column--width-full-small tna-column--width-full-tiny">
|
25
|
+
{{ tnaCard({
|
26
|
+
"heading": {
|
27
|
+
"supertitle": "Card supertitle",
|
28
|
+
"title": "Card title",
|
29
|
+
"level": 3
|
30
|
+
},
|
31
|
+
"href": "#",
|
32
|
+
"image": {
|
33
|
+
"src": "https://loremflickr.com/640/360",
|
34
|
+
"alt": "A placeholder image"
|
35
|
+
},
|
36
|
+
"body": "<p>Card body</p>",
|
37
|
+
}) }}
|
38
|
+
</div>
|
39
|
+
{%- endfor %}
|
40
|
+
</div>
|
41
41
|
</main>
|
42
42
|
{% endblock %}
|
@@ -2,43 +2,68 @@
|
|
2
2
|
@use "../variables/grid";
|
3
3
|
|
4
4
|
@mixin columns-generator($count, $suffix: "") {
|
5
|
-
@
|
6
|
-
$
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
@if $suffix != "" {
|
6
|
+
$suffix: "-" + $suffix;
|
7
|
+
}
|
8
|
+
|
9
|
+
.tna-column {
|
10
|
+
&--full#{$suffix} {
|
11
|
+
width: 100%;
|
12
|
+
flex: none;
|
13
|
+
}
|
14
|
+
|
15
|
+
@for $i from 1 through $count - 1 {
|
16
|
+
$simplest-fraction-found: false;
|
17
|
+
|
18
|
+
@for $j from math.div($count, 2) through 1 {
|
19
|
+
@if (
|
20
|
+
$count % $j == 0 and $i % $j == 0 and $simplest-fraction-found != true
|
21
|
+
) {
|
22
|
+
&--width-#{math.div($i, $j)}-#{math.div($count, $j)}#{$suffix} {
|
23
|
+
width: math.div(100%, $count) * $i;
|
24
|
+
flex: none;
|
25
|
+
}
|
26
|
+
|
27
|
+
// .column--margin-right-#{math.div($i, $j)}-#{math.div($count, $j)}#{$suffix} {
|
28
|
+
// margin-right: math.div(100%, $count) * $i;
|
29
|
+
// }
|
30
|
+
|
31
|
+
// .column--margin-left-#{math.div($i, $j)}-#{math.div($count, $j)}#{$suffix} {
|
32
|
+
// margin-left: math.div(100%, $count) * $i;
|
33
|
+
// }
|
34
|
+
|
35
|
+
$simplest-fraction-found: true;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
@if $simplest-fraction-found != true {
|
40
|
+
&--width-#{$i}-#{$count}#{$suffix} {
|
13
41
|
width: math.div(100%, $count) * $i;
|
14
42
|
flex: none;
|
15
43
|
}
|
16
44
|
|
17
|
-
//
|
18
|
-
//
|
19
|
-
//
|
20
|
-
|
21
|
-
// .column--margin-left-#{math.div($i, $j)}-#{math.div($count, $j)}#{$suffix} {
|
22
|
-
// margin-left: math.div(100%, $count) * $i;
|
23
|
-
// }
|
45
|
+
// .column--margin-right-#{$i}-#{$count}#{$suffix} {
|
46
|
+
// margin-right: math.div(100%, $count) * $i;
|
47
|
+
// }
|
24
48
|
|
25
|
-
$
|
49
|
+
// .column--margin-left-#{$i}-#{$count}#{$suffix} {
|
50
|
+
// margin-left: math.div(100%, $count) * $i;
|
51
|
+
// }
|
26
52
|
}
|
27
53
|
}
|
28
54
|
|
29
|
-
@
|
30
|
-
|
31
|
-
width:
|
32
|
-
flex: none;
|
33
|
-
}
|
55
|
+
@for $i from 1 through 2 {
|
56
|
+
&--flex-#{$i}#{$suffix} {
|
57
|
+
width: auto;
|
34
58
|
|
35
|
-
|
36
|
-
|
37
|
-
|
59
|
+
flex: $i 0;
|
60
|
+
}
|
61
|
+
}
|
38
62
|
|
39
|
-
|
40
|
-
|
41
|
-
|
63
|
+
@for $i from 1 through 3 {
|
64
|
+
&--order-#{$i}#{$suffix} {
|
65
|
+
order: $i;
|
66
|
+
}
|
42
67
|
}
|
43
68
|
}
|
44
69
|
}
|
@@ -1,17 +1,18 @@
|
|
1
1
|
@use "../variables/media";
|
2
2
|
|
3
|
-
// 0
|
4
|
-
// |
|
5
|
-
//
|
6
|
-
// |
|
7
|
-
// |<------------->|
|
8
|
-
// |<----------------------->|
|
3
|
+
// 0 ======= 320 = 480 ===== 768 == 1024 ========================== min-width/max-width (px)
|
4
|
+
// | . | | |
|
5
|
+
// |-TINY----------|-SMALL---|-MED--|-LARGE------------------------
|
6
|
+
// | . | | |
|
7
|
+
// |<------------->| | | on-tiny
|
8
|
+
// |<----------------------->| | on-mobile
|
9
9
|
// |<------------------------------>| on-smaller-than-large
|
10
|
-
// .
|
11
|
-
// .
|
12
|
-
// .
|
13
|
-
// .
|
14
|
-
// .
|
10
|
+
// | . |<------->| | on-small
|
11
|
+
// | . |<------------------------- on-larger-than-tiny
|
12
|
+
// | . | |<---->| on-medium
|
13
|
+
// | . | |<--------------- on-larger-than-mobile
|
14
|
+
// | . | | |<-------- on-large
|
15
|
+
// |<------->. | | | Smallest device
|
15
16
|
|
16
17
|
@mixin on-large() {
|
17
18
|
@media #{media.$media-large} {
|
@@ -1,5 +1,29 @@
|
|
1
|
+
@use "../features";
|
2
|
+
@use "../variables/colour";
|
1
3
|
@use "../variables/typography";
|
2
4
|
|
5
|
+
:root {
|
6
|
+
@include colour.colour-css-vars;
|
7
|
+
|
8
|
+
@if features.$support-colour-schemes {
|
9
|
+
@media (prefers-color-scheme: dark) {
|
10
|
+
@include colour.colour-css-vars-dark;
|
11
|
+
}
|
12
|
+
|
13
|
+
@media (prefers-contrast: more) {
|
14
|
+
@include colour.colour-css-vars-high-contrast;
|
15
|
+
|
16
|
+
* {
|
17
|
+
background-image: none !important;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
@media (prefers-contrast: more) and (prefers-color-scheme: dark) {
|
22
|
+
@include colour.colour-css-vars-high-contrast-dark;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
3
27
|
.tna-template {
|
4
28
|
min-width: 320px;
|
5
29
|
width: 100%;
|
@@ -9,7 +33,55 @@
|
|
9
33
|
overflow-y: auto;
|
10
34
|
-webkit-overflow-scrolling: touch;
|
11
35
|
|
12
|
-
font-size: typography.$base-font-size-px;
|
36
|
+
font-size: #{typography.$base-font-size-px}px;
|
37
|
+
|
38
|
+
@include colour.colour-background("page-background");
|
39
|
+
|
40
|
+
&--back-accent {
|
41
|
+
accent-color: colour.$tna-black;
|
42
|
+
}
|
43
|
+
|
44
|
+
&--yellow-accent {
|
45
|
+
accent-color: colour.$tna-yellow;
|
46
|
+
}
|
47
|
+
|
48
|
+
&--pink-accent {
|
49
|
+
accent-color: colour.$tna-pink;
|
50
|
+
}
|
51
|
+
|
52
|
+
&--orange-accent {
|
53
|
+
accent-color: colour.$tna-orange;
|
54
|
+
}
|
55
|
+
|
56
|
+
&--green-accent {
|
57
|
+
accent-color: colour.$tna-green;
|
58
|
+
}
|
59
|
+
|
60
|
+
&--blue-accent {
|
61
|
+
accent-color: colour.$tna-blue;
|
62
|
+
}
|
63
|
+
|
64
|
+
@if features.$support-colour-schemes {
|
65
|
+
&--light-theme {
|
66
|
+
@include colour.colour-css-vars;
|
67
|
+
}
|
68
|
+
|
69
|
+
&--dark-theme {
|
70
|
+
@include colour.colour-css-vars-dark;
|
71
|
+
}
|
72
|
+
|
73
|
+
&--high-contrast-theme {
|
74
|
+
@include colour.colour-css-vars-high-contrast;
|
75
|
+
|
76
|
+
* {
|
77
|
+
background-image: none !important;
|
78
|
+
}
|
79
|
+
|
80
|
+
&.tna-template--dark-theme {
|
81
|
+
@include colour.colour-css-vars-high-contrast-dark;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
}
|
13
85
|
|
14
86
|
@media (prefers-reduced-motion) {
|
15
87
|
* {
|
@@ -20,10 +92,11 @@
|
|
20
92
|
}
|
21
93
|
|
22
94
|
.tna-template__body {
|
95
|
+
min-height: 100%;
|
23
96
|
margin: 0;
|
24
97
|
padding: 0;
|
25
98
|
|
26
|
-
background-color: #fff;
|
99
|
+
// background-color: #fff;
|
27
100
|
|
28
101
|
overflow: auto;
|
29
102
|
}
|
@@ -42,6 +115,33 @@ canvas {
|
|
42
115
|
width: 100%;
|
43
116
|
}
|
44
117
|
|
118
|
+
[hidden] {
|
119
|
+
display: none;
|
120
|
+
}
|
121
|
+
|
45
122
|
*:focus {
|
46
|
-
outline:
|
123
|
+
// outline: 0.3125rem colour.$focus-colour solid;
|
124
|
+
outline: 0.3125rem solid;
|
125
|
+
@include colour.colour-outline("focus-outline");
|
126
|
+
outline-offset: 0.125rem;
|
127
|
+
}
|
128
|
+
|
129
|
+
.tna-visually-hidden {
|
130
|
+
width: 1px !important;
|
131
|
+
height: 1px !important;
|
132
|
+
margin: 0 !important;
|
133
|
+
padding: 0 !important;
|
134
|
+
|
135
|
+
position: absolute !important;
|
136
|
+
top: -9999px !important;
|
137
|
+
left: -9999px !important;
|
138
|
+
z-index: -1 !important;
|
139
|
+
|
140
|
+
overflow: hidden !important;
|
141
|
+
|
142
|
+
clip: rect(0, 0, 0, 0) !important;
|
143
|
+
|
144
|
+
border: 0 !important;
|
145
|
+
|
146
|
+
background-color: transparent !important;
|
47
147
|
}
|