@nationalarchives/frontend 0.1.20-prerelease → 0.1.21-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.
Files changed (134) hide show
  1. package/README.md +1 -1
  2. package/govuk-prototype-kit.config.json +6 -1
  3. package/nationalarchives/_prototype-kit.scss +16 -0
  4. package/nationalarchives/all.css +3 -3
  5. package/nationalarchives/all.css.map +1 -1
  6. package/nationalarchives/all.js +1 -1
  7. package/nationalarchives/all.js.map +1 -1
  8. package/nationalarchives/all.mjs +17 -10
  9. package/nationalarchives/all.scss +1 -5
  10. package/nationalarchives/assets/images/favicon.ico +0 -0
  11. package/nationalarchives/assets/images/mask-icon.svg +17 -5
  12. package/nationalarchives/assets/images/mstile-150x150.png +0 -0
  13. package/nationalarchives/components/_index.scss +1 -0
  14. package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -1
  15. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
  16. package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +10 -0
  17. package/nationalarchives/components/button/button.css +1 -13
  18. package/nationalarchives/components/button/button.css.map +1 -1
  19. package/nationalarchives/components/button/button.scss +23 -6
  20. package/nationalarchives/components/card/card.css +1 -13
  21. package/nationalarchives/components/card/card.css.map +1 -1
  22. package/nationalarchives/components/card/card.scss +51 -6
  23. package/nationalarchives/components/card/card.stories.js +74 -35
  24. package/nationalarchives/components/card/fixtures.json +39 -15
  25. package/nationalarchives/components/card/macro-options.json +20 -0
  26. package/nationalarchives/components/card/template.njk +38 -26
  27. package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -13
  28. package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
  29. package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
  30. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
  31. package/nationalarchives/components/cookie-banner/cookie-banner.mjs +15 -7
  32. package/nationalarchives/components/cookie-banner/cookie-banner.scss +9 -1
  33. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +23 -10
  34. package/nationalarchives/components/cookie-banner/macro-options.json +1 -1
  35. package/nationalarchives/components/cookie-banner/template.njk +4 -4
  36. package/nationalarchives/components/filters/filters.css +1 -1
  37. package/nationalarchives/components/filters/filters.css.map +1 -1
  38. package/nationalarchives/components/filters/filters.scss +1 -1
  39. package/nationalarchives/components/footer/fixtures.json +1 -1
  40. package/nationalarchives/components/footer/footer.css +1 -13
  41. package/nationalarchives/components/footer/footer.css.map +1 -1
  42. package/nationalarchives/components/footer/footer.scss +2 -8
  43. package/nationalarchives/components/footer/template.njk +8 -7
  44. package/nationalarchives/components/gallery/gallery.css +1 -13
  45. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  46. package/nationalarchives/components/grid/grid.css +1 -1
  47. package/nationalarchives/components/grid/grid.css.map +1 -1
  48. package/nationalarchives/components/grid/grid.scss +15 -11
  49. package/nationalarchives/components/header/header.css +1 -1
  50. package/nationalarchives/components/header/header.css.map +1 -1
  51. package/nationalarchives/components/header/header.scss +10 -24
  52. package/nationalarchives/components/hero/fixtures.json +85 -6
  53. package/nationalarchives/components/hero/hero.css +1 -1
  54. package/nationalarchives/components/hero/hero.css.map +1 -1
  55. package/nationalarchives/components/hero/hero.scss +177 -63
  56. package/nationalarchives/components/hero/hero.stories.js +74 -23
  57. package/nationalarchives/components/hero/macro-options.json +28 -36
  58. package/nationalarchives/components/hero/template.njk +26 -24
  59. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  60. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  61. package/nationalarchives/components/index-grid/template.njk +1 -1
  62. package/nationalarchives/components/message/message.css +1 -1
  63. package/nationalarchives/components/message/message.css.map +1 -1
  64. package/nationalarchives/components/pagination/_index.scss +1 -0
  65. package/nationalarchives/components/pagination/fixtures.json +4 -0
  66. package/nationalarchives/components/pagination/macro-options.json +116 -0
  67. package/nationalarchives/components/pagination/macro.njk +3 -0
  68. package/nationalarchives/components/pagination/pagination.css +1 -0
  69. package/nationalarchives/components/pagination/pagination.css.map +1 -0
  70. package/nationalarchives/components/pagination/pagination.scss +79 -0
  71. package/nationalarchives/components/pagination/pagination.stories.js +73 -0
  72. package/nationalarchives/components/pagination/template.njk +38 -0
  73. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  74. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  75. package/nationalarchives/components/picture/picture.css +1 -13
  76. package/nationalarchives/components/picture/picture.css.map +1 -1
  77. package/nationalarchives/components/picture/picture.stories.js +2 -2
  78. package/nationalarchives/components/profile/profile.css +1 -1
  79. package/nationalarchives/components/profile/profile.css.map +1 -1
  80. package/nationalarchives/components/sensitive-image/sensitive-image.css +1 -1
  81. package/nationalarchives/components/sensitive-image/sensitive-image.css.map +1 -1
  82. package/nationalarchives/components/skip-link/fixtures.json +1 -1
  83. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  84. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  85. package/nationalarchives/components/skip-link/skip-link.js +2 -0
  86. package/nationalarchives/components/skip-link/skip-link.js.map +1 -0
  87. package/nationalarchives/components/skip-link/skip-link.mjs +40 -0
  88. package/nationalarchives/components/skip-link/skip-link.scss +18 -16
  89. package/nationalarchives/components/skip-link/skip-link.stories.js +48 -6
  90. package/nationalarchives/components/skip-link/template.njk +1 -1
  91. package/nationalarchives/components/tabs/tabs.css +1 -1
  92. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  93. package/nationalarchives/components/tabs/tabs.js +1 -1
  94. package/nationalarchives/components/tabs/tabs.js.map +1 -1
  95. package/nationalarchives/components/tabs/tabs.mjs +6 -2
  96. package/nationalarchives/components/tabs/tabs.scss +16 -1
  97. package/nationalarchives/lib/_font-awesome.scss +3 -2
  98. package/nationalarchives/lib/cookies.mjs +122 -50
  99. package/nationalarchives/stories/development/contributing.mdx +0 -10
  100. package/nationalarchives/stories/development/cookies.mdx +82 -0
  101. package/nationalarchives/stories/development/structure.mdx +88 -0
  102. package/nationalarchives/stories/development/using/compiled.mdx +9 -0
  103. package/nationalarchives/stories/development/using/hosted.mdx +53 -0
  104. package/nationalarchives/stories/development/using/npm.mdx +59 -0
  105. package/nationalarchives/stories/utilities/colour-schemes/colour-schemes.stories.js +284 -29
  106. package/nationalarchives/stories/utilities/typography/headings.stories.js +4 -1
  107. package/nationalarchives/stories/utilities/typography/lists.stories.js +93 -0
  108. package/nationalarchives/stories/utilities/typography/typography.mdx +11 -1
  109. package/nationalarchives/stories/utilities/typography/typography.stories.js +1 -1
  110. package/nationalarchives/templates/homepage.njk +11 -58
  111. package/nationalarchives/templates/layouts/_generic.njk +33 -14
  112. package/nationalarchives/templates/layouts/_prototype-kit.njk +11 -1
  113. package/nationalarchives/templates/search-results.njk +10 -14
  114. package/nationalarchives/templates/topics.njk +18 -22
  115. package/nationalarchives/tools/_colour.scss +42 -18
  116. package/nationalarchives/tools/_media.scss +6 -0
  117. package/nationalarchives/tools/_typography.scss +4 -2
  118. package/nationalarchives/utilities/_a11y.scss +15 -0
  119. package/nationalarchives/utilities/_debug.scss +1 -1
  120. package/nationalarchives/utilities/_global.scss +23 -25
  121. package/nationalarchives/utilities/_typography.scss +204 -27
  122. package/nationalarchives/variables/_assets.scss +2 -1
  123. package/nationalarchives/variables/_colour.scss +94 -73
  124. package/nationalarchives/variables/_features.scss +1 -0
  125. package/nationalarchives/variables/_grid.scss +5 -5
  126. package/nationalarchives/variables/_index.scss +1 -0
  127. package/nationalarchives/variables/_media.scss +29 -29
  128. package/nationalarchives/variables/_typography.scss +15 -12
  129. package/package.json +1 -1
  130. package/nationalarchives/_features.scss +0 -1
  131. package/nationalarchives/assets/images/tna-horizontal-logo-inverted.svg +0 -51
  132. package/nationalarchives/assets/images/tna-horizontal-logo.svg +0 -51
  133. package/nationalarchives/stories/development/relationships.mdx +0 -57
  134. package/nationalarchives/stories/development/using.mdx +0 -75
@@ -1,64 +1,17 @@
1
- {% from "../components/card/macro.njk" import tnaCard %}
1
+ {% from "nationalarchives/components/card/macro.njk" import tnaCard %}
2
2
 
3
- {% extends "./layouts/_prototype-kit.njk" %}
3
+ {% extends "nationalarchives/templates/layouts/_prototype-kit.njk" %}
4
4
 
5
- {% block pageTitle %}The National Archives | Welcome{% endblock %}
5
+ {% block pageTitle %}Welcome - The National Archives{% endblock %}
6
6
 
7
7
  {% block content %}
8
- <div class="tna-container">
9
- <div class="tna-column tna-column--full">
10
- <h1 class="tna-heading tna-heading--xl">
11
- Welcome
12
- </h1>
8
+ <div class="tna-section">
9
+ <div class="tna-container">
10
+ <div class="tna-column tna-column--full">
11
+ <h1 class="tna-heading tna-heading--xl">
12
+ Welcome
13
+ </h1>
14
+ </div>
15
+ </div>
13
16
  </div>
14
- <div class="tna-column tna-column--full">
15
- {{ tnaCard({
16
- "heading": {
17
- "supertitle": "Card supertitle",
18
- "title": "Card title",
19
- "level": 2,
20
- "size": "m"
21
- },
22
- "href": "#",
23
- "image": {
24
- "src": "https://loremflickr.com/640/360",
25
- "alt": "A placeholder image"
26
- },
27
- "body": "<p>Card body</p>",
28
- "actions": [
29
- {
30
- "text": "Card action",
31
- "href": "#",
32
- "title": "Go and do the action"
33
- }
34
- ],
35
- "featured": true,
36
- "htmlElement": "article"
37
- }) }}
38
- </div>
39
- {% for item in range(0, 6) -%}
40
- <div class="tna-column tna-column--width-1-3 tna-column--width-1-2-medium tna-column--full-small tna-column--full-tiny">
41
- {{ tnaCard({
42
- "heading": {
43
- "supertitle": "Card supertitle",
44
- "title": "Card title",
45
- "level": 3
46
- },
47
- "href": "#",
48
- "image": {
49
- "src": "https://loremflickr.com/640/360",
50
- "alt": "A placeholder image"
51
- },
52
- "body": "<p>Card body</p>",
53
- "actions": [
54
- {
55
- "text": "Card action",
56
- "href": "#",
57
- "title": "Go and do the action"
58
- }
59
- ]
60
- }) }}
61
- </div>
62
- {%- endfor %}
63
- </div>
64
17
  {% endblock %}
@@ -1,8 +1,10 @@
1
1
  {# Based on https://github.com/alphagov/govuk-frontend/blob/8b6bf304b9fc891f64459c25a08f3d623f3fea72/packages/govuk-frontend/src/govuk/template.njk #}
2
2
  {% from "nationalarchives/components/cookie-banner/macro.njk" import tnaCookieBanner -%}
3
+ {% from "nationalarchives/components/footer/macro.njk" import tnaFooter -%}
4
+ {% from "nationalarchives/components/header/macro.njk" import tnaHeader -%}
3
5
  {% from "nationalarchives/components/skip-link/macro.njk" import tnaSkipLink -%}
4
6
  <!DOCTYPE html>
5
- <html lang="{{ htmlLang | default('en-GB') }}" class="tna-template {{ htmlClasses }}">
7
+ <html lang="{{ htmlLang | default('en-GB') }}" class="tna-template tna-template--{{ theme | default('system') }}-theme tna-template--{{ themeAccent | default('black') }}-accent {{ htmlClasses }}">
6
8
  <head>
7
9
  <meta charset="utf-8">
8
10
  <title>{% block pageTitle %}The National Archives{% endblock %}</title>
@@ -12,34 +14,38 @@
12
14
 
13
15
  {% block headIcons %}
14
16
  <link rel="shortcut icon" sizes="16x16 32x32 48x48" href="{{ assetPath | default('/assets') }}/images/favicon.ico" type="image/x-icon">
15
- <link rel="mask-icon" href="{{ assetPath | default('/assets') }}/images/govuk-mask-icon.svg" color="{{ themeColor | default('#0b0c0c') }}"> {# Hardcoded value of $govuk-black #}
16
- <link rel="apple-touch-icon" sizes="180x180" href="{{ assetPath | default('/assets') }}/images/govuk-apple-touch-icon-180x180.png">
17
- <link rel="apple-touch-icon" sizes="167x167" href="{{ assetPath | default('/assets') }}/images/govuk-apple-touch-icon-167x167.png">
18
- <link rel="apple-touch-icon" sizes="152x152" href="{{ assetPath | default('/assets') }}/images/govuk-apple-touch-icon-152x152.png">
19
- <link rel="apple-touch-icon" href="{{ assetPath | default('/assets') }}/images/govuk-apple-touch-icon.png">
17
+ <link rel="mask-icon" href="{{ assetPath | default('/assets') }}/images/mask-icon.svg" color="{{ themeColor | default('#000000') }}">
18
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ assetPath | default('/assets') }}/images/apple-touch-icon-180x180.png">
19
+ <link rel="apple-touch-icon" sizes="167x167" href="{{ assetPath | default('/assets') }}/images/apple-touch-icon-167x167.png">
20
+ <link rel="apple-touch-icon" sizes="152x152" href="{{ assetPath | default('/assets') }}/images/apple-touch-icon-152x152.png">
21
+ <link rel="apple-touch-icon" href="{{ assetPath | default('/assets') }}/images/apple-touch-icon.png">
20
22
  {% endblock %}
21
23
 
22
24
  {% block head %}{% endblock %}
23
25
 
24
- {% block stylesheets %}{% endblock %}
26
+ {% block stylesheets %}
27
+ <link rel="stylesheet" type="text/css" href="{{ tnaFrontendCssPath | default('/static/tna-frontend/all.css') }}">
28
+ {% endblock %}
25
29
  </head>
26
30
  <body class="tna-template__body {{ bodyClasses }}" {%- for attribute, value in bodyAttributes %} {{attribute}}="{{value}}"{% endfor %}>
27
31
  {% block bodyStart %}
28
32
  {% block cookies %}
29
- {{ tnaCookieBanner({
30
- url: '#'
31
- }) }}
33
+ {{ tnaCookieBanner({
34
+ url: '#'
35
+ }) }}
32
36
  {% endblock %}
33
37
 
34
38
  {% block skipLink %}
35
39
  {{ tnaSkipLink({
36
- href: '#main-content',
40
+ href: 'main-content',
37
41
  text: 'Skip to main content'
38
42
  }) }}
39
43
  {% endblock %}
40
44
  {% endblock %}
41
45
 
42
- {% block header %}{% endblock %}
46
+ {% block header %}
47
+ {{ tnaHeader({}) }}
48
+ {% endblock %}
43
49
 
44
50
  {% block main %}
45
51
  {% block beforeContent %}{% endblock %}
@@ -49,8 +55,21 @@
49
55
  {% block afterContent %}{% endblock %}
50
56
  {% endblock %}
51
57
 
52
- {% block footer %}{% endblock %}
58
+ {% block footer %}
59
+ {{ tnaFooter({}) }}
60
+ {% endblock %}
53
61
 
54
- {% block bodyEnd %}{% endblock %}
62
+ {% block bodyEnd %}
63
+ {#
64
+ <script src="{{ tnaFrontendJsPath | default('/static/tna-frontend/all.js') }}"></script>
65
+ <script>
66
+ window.TNAFrontend.initAll();
67
+ </script>
68
+ #}
69
+ <script type="module">
70
+ import { initAll } from "{{ tnaFrontendJsPath | default('/static/tna-frontend/all.js') }}";
71
+ initAll();
72
+ </script>
73
+ {% endblock %}
55
74
  </body>
56
75
  </html>
@@ -1,5 +1,15 @@
1
1
  {% extends "./_generic.njk" %}
2
2
 
3
3
  {% block stylesheets %}
4
- {% include "govuk-prototype-kit/includes/stylesheets-plugins.njk" %}
4
+ <link href="/public/stylesheets/unbranded.css" media="all" rel="stylesheet" type="text/css" />
5
+ <link href="/plugin-assets/@nationalarchives/frontend/nationalarchives/all.css" media="all" rel="stylesheet" type="text/css" />
6
+
7
+ {% include "govuk-prototype-kit/includes/stylesheets-plugins.njk" %}
8
+ {% endblock %}
9
+
10
+ {% block bodyEnd %}
11
+ {% include "govuk-prototype-kit/includes/scripts.njk" %}
12
+ <script>
13
+ window.TNAFrontend.initAll()
14
+ </script>
5
15
  {% endblock %}
@@ -1,8 +1,8 @@
1
- {% from "../components/card/macro.njk" import tnaCard %}
1
+ {% from "nationalarchives/components/card/macro.njk" import tnaCard %}
2
2
 
3
- {% extends "./layouts/_prototype-kit.njk" %}
3
+ {% extends "nationalarchives/templates/layouts/_prototype-kit.njk" %}
4
4
 
5
- {% block pageTitle %}The National Archives | Results{% endblock %}
5
+ {% block pageTitle %}Search - The National Archives{% endblock %}
6
6
 
7
7
  {% block main %}
8
8
  <div class="tna-container">
@@ -19,17 +19,13 @@
19
19
  {% for item in range(0, 6) -%}
20
20
  <div class="tna-column tna-column--width-1-2 tna-column--width-full-small tna-column--width-full-tiny">
21
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>",
22
+ supertitle: "Card supertitle",
23
+ title: "Card title",
24
+ headingLevel: 2,
25
+ href: "#",
26
+ imageSrc: "https://loremflickr.com/640/360",
27
+ imageAlt: "A placeholder image",
28
+ body: "<p>Card body</p>"
33
29
  }) }}
34
30
  </div>
35
31
  {%- endfor %}
@@ -1,19 +1,19 @@
1
- {% from "../components/card/macro.njk" import tnaCard %}
2
- {% from "../components/hero/macro.njk" import tnaHero %}
1
+ {% from "nationalarchives/components/card/macro.njk" import tnaCard %}
2
+ {% from "nationalarchives/components/hero/macro.njk" import tnaHero %}
3
3
 
4
- {% extends "./layouts/_prototype-kit.njk" %}
4
+ {% extends "nationalarchives/templates/layouts/_prototype-kit.njk" %}
5
5
 
6
- {% block pageTitle %}The National Archives | Topics{% endblock %}
6
+ {% block pageTitle %}Topics - The National Archives{% endblock %}
7
7
 
8
8
  {% block main %}
9
9
  <main class="tna-main-wrapper">
10
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"
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
17
  }
18
18
  }) }}
19
19
  <div class="tna-container">
@@ -23,18 +23,14 @@
23
23
  {% for item in range(0, 6) -%}
24
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
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
- }) }}
26
+ supertitle: "Card supertitle",
27
+ title: "Card title",
28
+ headingLevel: 2,
29
+ href: "#",
30
+ imageSrc: "https://loremflickr.com/640/360",
31
+ imageAlt: "A placeholder image",
32
+ body: "<p>Card body</p>"
33
+ }) }}
38
34
  </div>
39
35
  {%- endfor %}
40
36
  </div>
@@ -1,10 +1,9 @@
1
1
  @use "sass:map";
2
- @use "../features";
3
2
  @use "../variables/colour";
4
3
  @use "../tools/media";
5
4
 
6
- @function brand-colour($colour) {
7
- @return map.get(colour.$colour-palette-brand, $colour);
5
+ @function brand-colour($colour, $opacity: 1) {
6
+ @return colour.brand-colour($colour, $opacity);
8
7
  }
9
8
 
10
9
  @mixin colour-css-vars() {
@@ -38,20 +37,22 @@
38
37
  --accent-background-light: #{brand-colour("cream")} !important;
39
38
  --accent-font-base: #{brand-colour("black")} !important;
40
39
  --accent-font-dark: #{brand-colour("black")} !important;
41
- --accent-font-light: #{rgba(brand-colour("black"), 0.7)} !important;
40
+ --accent-font-light: #{brand-colour("black", 0.7)} !important;
41
+ --accent-icon-light: #{brand-colour("black", 0.45)} !important;
42
42
  --accent-link: #{brand-colour("black")} !important;
43
43
  --accent-link-visited: #{brand-colour("black")} !important;
44
- --accent-keyline: #{rgba(brand-colour("black"), 0.5)} !important;
45
- --accent-keyline-dark: #{rgba(brand-colour("black"), 0.8)} !important;
44
+ --accent-keyline: #{brand-colour("black", 0.5)} !important;
45
+ --accent-keyline-dark: #{brand-colour("black", 0.8)} !important;
46
46
  --button-accent-background: #{brand-colour("yellow")} !important;
47
47
  } @else {
48
48
  --accent-font-base: #{brand-colour("white")} !important;
49
49
  --accent-font-dark: #{brand-colour("white")} !important;
50
- --accent-font-light: #{rgba(brand-colour("white"), 0.7)} !important;
50
+ --accent-font-light: #{brand-colour("white", 0.7)} !important;
51
+ --accent-icon-light: #{brand-colour("white", 0.45)} !important;
51
52
  --accent-link: #{brand-colour("white")} !important;
52
53
  --accent-link-visited: #{brand-colour("white")} !important;
53
- --accent-keyline: #{rgba(brand-colour("white"), 0.5)} !important;
54
- --accent-keyline-dark: #{rgba(brand-colour("white"), 0.8)} !important;
54
+ --accent-keyline: #{brand-colour("white", 0.5)} !important;
55
+ --accent-keyline-dark: #{brand-colour("white", 0.8)} !important;
55
56
 
56
57
  @if $colour == "black" {
57
58
  // --accent: #{brand-colour("light-grey")} !important;
@@ -143,10 +144,18 @@
143
144
  }
144
145
  }
145
146
 
146
- @mixin colour-outline($colour, $important: false) {
147
- outline-color: map.get(colour.$colour-palette-default, $colour)
148
- if($important, !important, null);
149
- outline-color: var(--#{$colour}) if($important, !important, null);
147
+ @mixin colour-outline($colour, $width: "", $style: solid, $important: false) {
148
+ @if $width != "" {
149
+ outline: $width
150
+ map.get(colour.$colour-palette-default, $colour)
151
+ $style
152
+ if($important, !important, null);
153
+ outline: $width var(--#{$colour}) $style if($important, !important, null);
154
+ } @else {
155
+ outline-color: map.get(colour.$colour-palette-default, $colour)
156
+ if($important, !important, null);
157
+ outline-color: var(--#{$colour}) if($important, !important, null);
158
+ }
150
159
  }
151
160
 
152
161
  @mixin colour-fill($colour, $important: false) {
@@ -166,9 +175,11 @@
166
175
  }
167
176
 
168
177
  %invert {
178
+ --background: var(--contrast-background);
169
179
  --font-base: var(--contrast-font-base);
170
180
  --font-dark: var(--contrast-font-dark);
171
181
  --font-light: var(--contrast-font-light);
182
+ --icon-light: var(--contrast-icon-light);
172
183
  --link: var(--contrast-link);
173
184
  --link-visited: var(--contrast-link-visited);
174
185
  --keyline: var(--contrast-keyline);
@@ -178,7 +189,7 @@
178
189
  --button-hover-text: var(--contrast-button-hover-text);
179
190
  --button-hover-background: var(--contrast-button-hover-background);
180
191
 
181
- @include colour-background("contrast-background");
192
+ @include colour-background("background");
182
193
 
183
194
  @include colour-font("font-base", false, colour.$colour-palette-dark);
184
195
  }
@@ -189,9 +200,11 @@
189
200
 
190
201
  %invert-on-mobile {
191
202
  @include media.on-mobile {
203
+ --background: var(--contrast-background);
192
204
  --font-base: var(--contrast-font-base);
193
205
  --font-dark: var(--contrast-font-dark);
194
206
  --font-light: var(--contrast-font-light);
207
+ --icon-light: var(--contrast-icon-light);
195
208
  --link: var(--contrast-link);
196
209
  --link-visited: var(--contrast-link-visited);
197
210
  --keyline: var(--contrast-keyline);
@@ -201,7 +214,7 @@
201
214
  --button-hover-text: var(--contrast-button-hover-text);
202
215
  --button-hover-background: var(--contrast-button-hover-background);
203
216
 
204
- @include colour-background("contrast-background");
217
+ @include colour-background("background");
205
218
 
206
219
  @include colour-font("font-base", false, colour.$colour-palette-dark);
207
220
  }
@@ -212,15 +225,17 @@
212
225
  }
213
226
 
214
227
  %accent {
228
+ --background: var(--accent-background);
215
229
  --font-base: var(--accent-font-base);
216
230
  --font-dark: var(--accent-font-dark);
217
231
  --font-light: var(--accent-font-light);
232
+ --icon-light: var(--accent-icon-light);
218
233
  --link: var(--accent-link);
219
234
  --link-visited: var(--accent-link-visited);
220
235
  --keyline: var(--accent-keyline);
221
236
  --keyline-dark: var(--accent-keyline-dark);
222
237
 
223
- @include colour-background("accent-background");
238
+ @include colour-background("background");
224
239
 
225
240
  @include colour-font("font-base", false, colour.$colour-palette-dark);
226
241
  }
@@ -229,6 +244,14 @@
229
244
  @extend %accent;
230
245
  }
231
246
 
247
+ %tint-background {
248
+ @include colour-background("background-tint");
249
+ }
250
+
251
+ @mixin tint-background {
252
+ @extend %tint-background;
253
+ }
254
+
232
255
  %accent-background {
233
256
  @include colour-background("accent-background");
234
257
  }
@@ -238,8 +261,7 @@
238
261
  }
239
262
 
240
263
  %light-accent-background {
241
- @include colour-background("accent-background-light");
242
-
264
+ --background: var(--accent-background-light);
243
265
  --font-base: #{map.get(colour.$colour-palette-default, "font-base")};
244
266
  --font-dark: #{map.get(colour.$colour-palette-default, "font-dark")};
245
267
  --font-light: #{map.get(colour.$colour-palette-default, "font-light")};
@@ -260,6 +282,8 @@
260
282
  colour.$colour-palette-default,
261
283
  "button-hover-background"
262
284
  )};
285
+
286
+ @include colour-background("background");
263
287
  }
264
288
 
265
289
  @mixin light-accent-background {
@@ -61,3 +61,9 @@
61
61
  @content;
62
62
  }
63
63
  }
64
+
65
+ @mixin on-print() {
66
+ @media print {
67
+ @content;
68
+ }
69
+ }
@@ -1,8 +1,9 @@
1
1
  @use "sass:math";
2
+ @use "colour";
2
3
  @use "../variables/typography";
3
4
 
4
5
  @mixin relative-font-size($fontSizePx) {
5
- font-size: #{math.div($fontSizePx, typography.$base-font-size-px)}rem;
6
+ font-size: #{math.div($fontSizePx, typography.$relative-1rem-px)}rem;
6
7
  }
7
8
 
8
9
  @mixin interacted-text-decoration {
@@ -34,9 +35,10 @@
34
35
  }
35
36
 
36
37
  @mixin detail-font-small {
38
+ @include colour.colour-font("font-dark");
37
39
  @include detail-font;
38
40
  @include relative-font-size(14);
39
41
  text-transform: uppercase;
40
- line-height: #{math.div(typography.$base-font-size-px, 14)};
42
+ line-height: #{math.div(typography.$relative-1rem-px, 14)};
41
43
  // line-height: 1;
42
44
  }
@@ -1,3 +1,5 @@
1
+ @use "../tools/colour";
2
+
1
3
  .tna-visually-hidden {
2
4
  width: 1px !important;
3
5
  height: 1px !important;
@@ -22,3 +24,16 @@
22
24
  content: "\00a0";
23
25
  }
24
26
  }
27
+
28
+ *:focus {
29
+ z-index: 9;
30
+
31
+ @include colour.colour-outline("focus-outline", 0.3125rem, solid);
32
+ outline-offset: 0.125rem;
33
+ }
34
+
35
+ .tna-\!--no-focus-style {
36
+ &:focus {
37
+ outline: none;
38
+ }
39
+ }
@@ -1,4 +1,4 @@
1
- @use "../features";
1
+ @use "../variables/features";
2
2
 
3
3
  /*
4
4
  * ==========================================
@@ -1,4 +1,3 @@
1
- @use "../features";
2
1
  @use "../tools/colour";
3
2
  @use "../tools/media";
4
3
  @use "../tools/spacing";
@@ -13,11 +12,17 @@
13
12
  width: 100%;
14
13
  height: 100%;
15
14
 
16
- overflow-x: hidden;
17
- overflow-y: auto;
15
+ /*
16
+ * ------------------------------------------
17
+ * Support ended with iOS 13 released on 19th
18
+ * September 2019. Deprecate in the future if
19
+ * iOS <13 share drops low enough.
20
+ * https://caniuse.com/mdn-css_properties_-webkit-overflow-scrolling
21
+ * ------------------------------------------
22
+ */
18
23
  -webkit-overflow-scrolling: touch;
19
24
 
20
- font-size: #{typography.$base-font-size-px}px;
25
+ font-size: #{typography.$relative-1rem-px}px;
21
26
 
22
27
  @include colour.colour-background("page-background");
23
28
 
@@ -102,8 +107,6 @@
102
107
  margin: 0;
103
108
  padding: 0;
104
109
 
105
- overflow: auto;
106
-
107
110
  &:has(.tna-header):has(#main-content[role="main"]):has(.tna-footer) {
108
111
  display: flex;
109
112
  flex-direction: column;
@@ -133,23 +136,12 @@ canvas {
133
136
  display: none;
134
137
  }
135
138
 
136
- *:focus {
137
- // outline: 0.3125rem colour.$focus-colour solid;
138
- outline: 0.3125rem solid;
139
- @include colour.colour-outline("focus-outline");
140
- outline-offset: 0.125rem;
141
- }
142
-
143
139
  hr {
144
140
  margin: 2rem 0;
145
141
 
146
142
  border-width: 1px 0 0;
147
143
  @include colour.colour-border("keyline");
148
144
  border-style: solid;
149
-
150
- // @include colour.on-high-contrast {
151
- // border-style: solid;
152
- // }
153
145
  }
154
146
 
155
147
  .tna-section {
@@ -176,14 +168,20 @@ hr {
176
168
  }
177
169
  }
178
170
 
179
- .tna-background--contrast {
180
- @include colour.invert;
181
- }
171
+ .tna-background {
172
+ &--contrast {
173
+ @include colour.invert;
174
+ }
182
175
 
183
- .tna-background--accent {
184
- @include colour.accent;
185
- }
176
+ &--accent {
177
+ @include colour.accent;
178
+ }
186
179
 
187
- .tna-background--accent-light {
188
- @include colour.light-accent-background;
180
+ &--accent-light {
181
+ @include colour.light-accent-background;
182
+ }
183
+
184
+ &--tint {
185
+ @include colour.tint-background;
186
+ }
189
187
  }