@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.
Files changed (270) hide show
  1. package/config/.babelrc.json +19 -0
  2. package/config/.eslintrc.js +25 -0
  3. package/config/.htmlvalidate.json +17 -0
  4. package/config/stylelint.config.js +240 -0
  5. package/nationalarchives/all.css +1 -3
  6. package/nationalarchives/all.css.map +1 -1
  7. package/nationalarchives/all.js +1 -1
  8. package/nationalarchives/all.js.map +1 -1
  9. package/nationalarchives/all.mjs +34 -18
  10. package/nationalarchives/all.scss +0 -2
  11. package/nationalarchives/components/_forms.scss +9 -0
  12. package/nationalarchives/components/_index.scss +2 -34
  13. package/nationalarchives/components/_presentation.scss +23 -0
  14. package/nationalarchives/components/accordion/accordion.css +1 -1
  15. package/nationalarchives/components/accordion/accordion.css.map +1 -1
  16. package/nationalarchives/components/accordion/accordion.js +1 -1
  17. package/nationalarchives/components/accordion/accordion.js.map +1 -1
  18. package/nationalarchives/components/accordion/accordion.mjs +92 -24
  19. package/nationalarchives/components/accordion/accordion.scss +56 -18
  20. package/nationalarchives/components/accordion/fixtures.json +34 -7
  21. package/nationalarchives/components/accordion/macro-options.json +14 -2
  22. package/nationalarchives/components/accordion/template.njk +7 -5
  23. package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -1
  24. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
  25. package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +0 -10
  26. package/nationalarchives/components/breadcrumbs/template.njk +1 -1
  27. package/nationalarchives/components/button/button.css +1 -1
  28. package/nationalarchives/components/button/button.css.map +1 -1
  29. package/nationalarchives/components/button/button.scss +32 -10
  30. package/nationalarchives/components/button/macro-options.json +6 -0
  31. package/nationalarchives/components/button/template.njk +3 -1
  32. package/nationalarchives/components/card/card.css +1 -1
  33. package/nationalarchives/components/card/card.css.map +1 -1
  34. package/nationalarchives/components/card/template.njk +5 -5
  35. package/nationalarchives/components/checkboxes/checkboxes.css +1 -1
  36. package/nationalarchives/components/checkboxes/checkboxes.css.map +1 -1
  37. package/nationalarchives/components/checkboxes/checkboxes.njk +1 -1
  38. package/nationalarchives/components/checkboxes/checkboxes.scss +1 -1
  39. package/nationalarchives/components/checkboxes/macro-options.json +6 -0
  40. package/nationalarchives/components/checkboxes/template.njk +1 -1
  41. package/nationalarchives/components/compound-filters/compound-filters.css.map +1 -1
  42. package/nationalarchives/components/compound-filters/template.njk +1 -1
  43. package/nationalarchives/components/cookie-banner/cookie-banner.css +1 -1
  44. package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
  45. package/nationalarchives/components/cookie-banner/cookie-banner.scss +0 -2
  46. package/nationalarchives/components/cookie-banner/template.njk +1 -2
  47. package/nationalarchives/components/date-input/date-input.css +1 -1
  48. package/nationalarchives/components/date-input/date-input.css.map +1 -1
  49. package/nationalarchives/components/date-input/date-input.scss +2 -2
  50. package/nationalarchives/components/date-input/fixtures.json +5 -5
  51. package/nationalarchives/components/date-input/template.njk +2 -2
  52. package/nationalarchives/components/date-search/date-search.css +1 -1
  53. package/nationalarchives/components/date-search/date-search.css.map +1 -1
  54. package/nationalarchives/components/date-search/date-search.njk +2 -2
  55. package/nationalarchives/components/date-search/date-search.scss +2 -2
  56. package/nationalarchives/components/date-search/template.njk +1 -1
  57. package/nationalarchives/components/details/details.css.map +1 -1
  58. package/nationalarchives/components/details/template.njk +1 -1
  59. package/nationalarchives/components/error-summary/error-summary.css +1 -1
  60. package/nationalarchives/components/error-summary/error-summary.css.map +1 -1
  61. package/nationalarchives/components/error-summary/error-summary.js +1 -1
  62. package/nationalarchives/components/error-summary/error-summary.js.map +1 -1
  63. package/nationalarchives/components/error-summary/error-summary.mjs +1 -1
  64. package/nationalarchives/components/error-summary/error-summary.scss +3 -4
  65. package/nationalarchives/components/error-summary/template.njk +1 -1
  66. package/nationalarchives/components/files-list/_index.scss +1 -0
  67. package/nationalarchives/components/files-list/files-list.css +1 -0
  68. package/nationalarchives/components/files-list/files-list.css.map +1 -0
  69. package/nationalarchives/components/files-list/files-list.scss +80 -0
  70. package/nationalarchives/components/files-list/fixtures.json +71 -0
  71. package/nationalarchives/components/{sensitive-image → files-list}/macro-options.json +20 -20
  72. package/nationalarchives/components/files-list/macro.njk +3 -0
  73. package/nationalarchives/components/files-list/template.njk +33 -0
  74. package/nationalarchives/components/footer/footer.css +1 -1
  75. package/nationalarchives/components/footer/footer.css.map +1 -1
  76. package/nationalarchives/components/footer/footer.scss +0 -2
  77. package/nationalarchives/components/footer/macro-options.json +0 -6
  78. package/nationalarchives/components/footer/template.njk +1 -1
  79. package/nationalarchives/components/gallery/fixtures.json +35 -1
  80. package/nationalarchives/components/gallery/gallery.css +1 -1
  81. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  82. package/nationalarchives/components/gallery/gallery.js +1 -1
  83. package/nationalarchives/components/gallery/gallery.js.map +1 -1
  84. package/nationalarchives/components/gallery/gallery.mjs +192 -53
  85. package/nationalarchives/components/gallery/gallery.scss +317 -56
  86. package/nationalarchives/components/gallery/macro-options.json +34 -49
  87. package/nationalarchives/components/gallery/template.njk +74 -33
  88. package/nationalarchives/components/global-header/global-header.css +1 -1
  89. package/nationalarchives/components/global-header/global-header.css.map +1 -1
  90. package/nationalarchives/components/global-header/global-header.scss +0 -2
  91. package/nationalarchives/components/global-header/template.njk +1 -1
  92. package/nationalarchives/components/header/header.css +1 -1
  93. package/nationalarchives/components/header/header.css.map +1 -1
  94. package/nationalarchives/components/header/header.scss +3 -5
  95. package/nationalarchives/components/header/template.njk +1 -1
  96. package/nationalarchives/components/hero/hero.css +1 -1
  97. package/nationalarchives/components/hero/hero.css.map +1 -1
  98. package/nationalarchives/components/hero/hero.scss +0 -24
  99. package/nationalarchives/components/hero/template.njk +1 -1
  100. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  101. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  102. package/nationalarchives/components/index-grid/index-grid.scss +1 -1
  103. package/nationalarchives/components/index-grid/template.njk +3 -3
  104. package/nationalarchives/components/pagination/pagination.css +1 -1
  105. package/nationalarchives/components/pagination/pagination.css.map +1 -1
  106. package/nationalarchives/components/pagination/pagination.scss +1 -1
  107. package/nationalarchives/components/pagination/template.njk +1 -1
  108. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  109. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  110. package/nationalarchives/components/phase-banner/phase-banner.scss +0 -2
  111. package/nationalarchives/components/phase-banner/template.njk +1 -1
  112. package/nationalarchives/components/picture/picture.css.map +1 -1
  113. package/nationalarchives/components/picture/picture.js +1 -1
  114. package/nationalarchives/components/picture/picture.js.map +1 -1
  115. package/nationalarchives/components/picture/picture.mjs +2 -2
  116. package/nationalarchives/components/picture/template.njk +1 -1
  117. package/nationalarchives/components/quick-filters/quick-filters.css +1 -1
  118. package/nationalarchives/components/quick-filters/quick-filters.css.map +1 -1
  119. package/nationalarchives/components/quick-filters/template.njk +1 -1
  120. package/nationalarchives/components/radios/radios.css +1 -1
  121. package/nationalarchives/components/radios/radios.css.map +1 -1
  122. package/nationalarchives/components/radios/radios.njk +1 -1
  123. package/nationalarchives/components/radios/radios.scss +1 -1
  124. package/nationalarchives/components/radios/template.njk +1 -1
  125. package/nationalarchives/components/records-list/_index.scss +1 -0
  126. package/nationalarchives/components/records-list/fixtures.json +42 -0
  127. package/nationalarchives/components/records-list/macro.njk +3 -0
  128. package/nationalarchives/components/records-list/records-list.css +1 -0
  129. package/nationalarchives/components/records-list/records-list.css.map +1 -0
  130. package/nationalarchives/components/{featured-records/featured-records.scss → records-list/records-list.scss} +2 -2
  131. package/nationalarchives/components/records-list/template.njk +21 -0
  132. package/nationalarchives/components/search-field/search-field.css +1 -1
  133. package/nationalarchives/components/search-field/search-field.css.map +1 -1
  134. package/nationalarchives/components/search-field/search-field.scss +3 -2
  135. package/nationalarchives/components/search-field/template.njk +2 -2
  136. package/nationalarchives/components/select/select.css +1 -1
  137. package/nationalarchives/components/select/select.css.map +1 -1
  138. package/nationalarchives/components/select/select.scss +2 -2
  139. package/nationalarchives/components/select/template.njk +2 -2
  140. package/nationalarchives/components/sidebar/fixtures.json +18 -8
  141. package/nationalarchives/components/sidebar/macro-options.json +9 -2
  142. package/nationalarchives/components/sidebar/sidebar.css +1 -1
  143. package/nationalarchives/components/sidebar/sidebar.css.map +1 -1
  144. package/nationalarchives/components/sidebar/template.njk +12 -3
  145. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  146. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  147. package/nationalarchives/components/skip-link/skip-link.scss +0 -2
  148. package/nationalarchives/components/skip-link/template.njk +1 -1
  149. package/nationalarchives/components/tabs/tabs.css +1 -1
  150. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  151. package/nationalarchives/components/tabs/tabs.scss +0 -12
  152. package/nationalarchives/components/tabs/template.njk +1 -1
  153. package/nationalarchives/components/text-input/template.njk +1 -1
  154. package/nationalarchives/components/text-input/text-input.css +1 -1
  155. package/nationalarchives/components/text-input/text-input.css.map +1 -1
  156. package/nationalarchives/components/text-input/text-input.njk +2 -2
  157. package/nationalarchives/components/text-input/text-input.scss +2 -2
  158. package/nationalarchives/components/textarea/template.njk +2 -2
  159. package/nationalarchives/components/textarea/textarea.css +1 -1
  160. package/nationalarchives/components/textarea/textarea.css.map +1 -1
  161. package/nationalarchives/components/textarea/textarea.scss +2 -2
  162. package/nationalarchives/components/warning/template.njk +1 -1
  163. package/nationalarchives/components/warning/warning.css +1 -1
  164. package/nationalarchives/components/warning/warning.css.map +1 -1
  165. package/nationalarchives/components/warning/warning.scss +2 -0
  166. package/nationalarchives/global-header-package.css +1 -1
  167. package/nationalarchives/global-header-package.css.map +1 -1
  168. package/nationalarchives/global-header-package.scss +1 -1
  169. package/nationalarchives/print.css +6 -0
  170. package/nationalarchives/print.css.map +1 -0
  171. package/nationalarchives/print.scss +44 -0
  172. package/nationalarchives/prototype-kit.css +1 -3
  173. package/nationalarchives/prototype-kit.css.map +1 -1
  174. package/nationalarchives/templates/layouts/_generic.njk +6 -6
  175. package/nationalarchives/tools/_a11y.scss +4 -0
  176. package/nationalarchives/tools/_colour.scss +75 -79
  177. package/nationalarchives/tools/_media.scss +0 -10
  178. package/nationalarchives/utilities/_columns.scss +1 -1
  179. package/nationalarchives/utilities/_index.scss +1 -0
  180. package/nationalarchives/utilities/_reset.scss +2 -8
  181. package/nationalarchives/utilities/{_colour.scss → colour/_index.scss} +2 -2
  182. package/nationalarchives/utilities/{_forms.scss → forms/_index.scss} +6 -6
  183. package/nationalarchives/utilities/grid/macro.njk +3 -0
  184. package/nationalarchives/{components → utilities}/grid/template.njk +1 -1
  185. package/nationalarchives/utilities/{_lists.scss → lists/_index.scss} +16 -7
  186. package/nationalarchives/utilities/{_overrides.scss → overrides/_index.scss} +8 -2
  187. package/nationalarchives/utilities/{_tables.scss → tables/_index.scss} +5 -5
  188. package/nationalarchives/utilities/{_typography.scss → typography/_index.scss} +8 -5
  189. package/nationalarchives/variables/_colour.scss +12 -5
  190. package/package.json +1 -1
  191. package/nationalarchives/components/accordion/accordion.stories.js +0 -410
  192. package/nationalarchives/components/breadcrumbs/breadcrumbs.stories.js +0 -128
  193. package/nationalarchives/components/button/button-group.stories.js +0 -114
  194. package/nationalarchives/components/button/button.stories.js +0 -204
  195. package/nationalarchives/components/card/card.stories.js +0 -402
  196. package/nationalarchives/components/checkboxes/checkboxes.stories.js +0 -241
  197. package/nationalarchives/components/compound-filters/compound-filters.stories.js +0 -61
  198. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +0 -250
  199. package/nationalarchives/components/date-input/date-input.stories.js +0 -119
  200. package/nationalarchives/components/date-search/date-search.stories.js +0 -124
  201. package/nationalarchives/components/details/details.stories.js +0 -33
  202. package/nationalarchives/components/error-summary/error-summary.stories.js +0 -59
  203. package/nationalarchives/components/featured-records/_index.scss +0 -1
  204. package/nationalarchives/components/featured-records/featured-records.css +0 -1
  205. package/nationalarchives/components/featured-records/featured-records.css.map +0 -1
  206. package/nationalarchives/components/featured-records/featured-records.stories.js +0 -50
  207. package/nationalarchives/components/featured-records/fixtures.json +0 -42
  208. package/nationalarchives/components/featured-records/macro.njk +0 -3
  209. package/nationalarchives/components/featured-records/template.njk +0 -21
  210. package/nationalarchives/components/footer/footer.stories.js +0 -241
  211. package/nationalarchives/components/gallery/gallery.stories.js +0 -74
  212. package/nationalarchives/components/global-header/global-header.stories.js +0 -364
  213. package/nationalarchives/components/grid/_index.scss +0 -1
  214. package/nationalarchives/components/grid/grid.css +0 -1
  215. package/nationalarchives/components/grid/grid.css.map +0 -1
  216. package/nationalarchives/components/grid/grid.stories.js +0 -279
  217. package/nationalarchives/components/grid/macro.njk +0 -3
  218. package/nationalarchives/components/header/header.stories.js +0 -239
  219. package/nationalarchives/components/hero/hero.stories.js +0 -326
  220. package/nationalarchives/components/index-grid/index-grid.stories.js +0 -128
  221. package/nationalarchives/components/pagination/pagination.stories.js +0 -532
  222. package/nationalarchives/components/phase-banner/phase-banner.stories.js +0 -39
  223. package/nationalarchives/components/picture/picture.stories.js +0 -75
  224. package/nationalarchives/components/quick-filters/quick-filters.stories.js +0 -76
  225. package/nationalarchives/components/radios/radios.stories.js +0 -244
  226. package/nationalarchives/components/search-field/search-field.stories.js +0 -88
  227. package/nationalarchives/components/search-filters/_index.scss +0 -1
  228. package/nationalarchives/components/search-filters/fixtures.json +0 -16
  229. package/nationalarchives/components/search-filters/macro-options.json +0 -39
  230. package/nationalarchives/components/search-filters/macro.njk +0 -3
  231. package/nationalarchives/components/search-filters/search-filters.css +0 -1
  232. package/nationalarchives/components/search-filters/search-filters.css.map +0 -1
  233. package/nationalarchives/components/search-filters/search-filters.js +0 -2
  234. package/nationalarchives/components/search-filters/search-filters.js.map +0 -1
  235. package/nationalarchives/components/search-filters/search-filters.mjs +0 -67
  236. package/nationalarchives/components/search-filters/search-filters.scss +0 -198
  237. package/nationalarchives/components/search-filters/search-filters.stories.js +0 -207
  238. package/nationalarchives/components/search-filters/template.njk +0 -108
  239. package/nationalarchives/components/select/select.stories.js +0 -197
  240. package/nationalarchives/components/sensitive-image/_index.scss +0 -1
  241. package/nationalarchives/components/sensitive-image/fixtures.json +0 -51
  242. package/nationalarchives/components/sensitive-image/macro.njk +0 -3
  243. package/nationalarchives/components/sensitive-image/sensitive-image.css +0 -1
  244. package/nationalarchives/components/sensitive-image/sensitive-image.css.map +0 -1
  245. package/nationalarchives/components/sensitive-image/sensitive-image.js +0 -2
  246. package/nationalarchives/components/sensitive-image/sensitive-image.js.map +0 -1
  247. package/nationalarchives/components/sensitive-image/sensitive-image.mjs +0 -23
  248. package/nationalarchives/components/sensitive-image/sensitive-image.scss +0 -85
  249. package/nationalarchives/components/sensitive-image/sensitive-image.stories.js +0 -86
  250. package/nationalarchives/components/sensitive-image/template.njk +0 -11
  251. package/nationalarchives/components/sidebar/sidebar.stories.js +0 -224
  252. package/nationalarchives/components/skip-link/skip-link.stories.js +0 -76
  253. package/nationalarchives/components/tabs/tabs.stories.js +0 -300
  254. package/nationalarchives/components/text-input/text-input.stories.js +0 -188
  255. package/nationalarchives/components/textarea/textarea.stories.js +0 -130
  256. package/nationalarchives/components/warning/warning.stories.js +0 -39
  257. package/nationalarchives/stories/intro.mdx +0 -13
  258. package/nationalarchives/stories/utilities/colour-schemes/colour-combinations.stories.js +0 -293
  259. package/nationalarchives/stories/utilities/colour-schemes/colour-themes.stories.js +0 -1535
  260. package/nationalarchives/stories/utilities/forms/forms.mdx +0 -117
  261. package/nationalarchives/stories/utilities/lists/lists.stories.js +0 -212
  262. package/nationalarchives/stories/utilities/overrides/overrides.stories.js +0 -42
  263. package/nationalarchives/stories/utilities/tables/tables.stories.js +0 -47
  264. package/nationalarchives/stories/utilities/typography/heading-groups.stories.js +0 -94
  265. package/nationalarchives/stories/utilities/typography/headings.stories.js +0 -33
  266. package/nationalarchives/stories/utilities/typography/typography.stories.js +0 -91
  267. package/nationalarchives/components/{featured-records → records-list}/macro-options.json +0 -0
  268. package/nationalarchives/{components/grid/grid.scss → utilities/grid/_index.scss} +3 -3
  269. /package/nationalarchives/{components → utilities}/grid/fixtures.json +0 -0
  270. /package/nationalarchives/{components → utilities}/grid/macro-options.json +0 -0
@@ -8,7 +8,7 @@
8
8
  {%- set defaultSiteTitle = 'The National Archives' -%}
9
9
 
10
10
  <!DOCTYPE html>
11
- <html lang="{{ htmlLang | default('en') }}" class="tna-template{% if theme and theme != 'light' %} tna-template--{{ theme }}-theme{% endif %}{% if themeAccent %} tna-template--{{ themeAccent }}-accent{% endif %}{% if htmlClasses %} {{ htmlClasses }}{% endif %}"{% for attribute, value in htmlAttributes %} {{ attribute }}="{{ value }}"{% endfor %}>
11
+ <html lang="{{ htmlLang | default('en') }}" class="tna-template{% if theme and theme != 'light' %} tna-template--{{ theme }}-theme{% endif %}{% if themeAccent %} tna-template--{{ themeAccent }}-accent{% endif %}{% if htmlClasses %} {{ htmlClasses }}{% endif %}"{% for attribute, value in htmlAttributes %} {{ attribute }}{% if value !== '' %}="{{ value }}"{% endif %}{% endfor %}>
12
12
  <head>
13
13
  <meta charset="utf-8">
14
14
  <title>{% block pageTitle %}{% if pageTitle %}{{ pageTitle }} - {{ siteTitle or defaultSiteTitle }}{% else %}{{ siteTitle or defaultSiteTitle }}{% endif %}{% endblock %}</title>
@@ -37,24 +37,24 @@
37
37
 
38
38
  {% block stylesheets %}{% endblock %}
39
39
  </head>
40
- <body class="tna-template__body{% if bodyClasses %} {{ bodyClasses }}{% endif %}"{% for attribute, value in bodyAttributes %} {{ attribute }}="{{ value }}"{% endfor %}>
40
+ <body class="tna-template__body{% if bodyClasses %} {{ bodyClasses }}{% endif %}"{% for attribute, value in bodyAttributes %} {{ attribute }}{% if value !== '' %}="{{ value }}"{% endif %}{% endfor %}>
41
41
  {% block bodyStart %}
42
42
  {% block cookies %}
43
43
  {{ tnaCookieBanner({
44
44
  cookiesUrl: '#/cookies'
45
- }) }}
45
+ }) | indent(6) }}
46
46
  {% endblock %}
47
47
 
48
48
  {% block skipLink %}
49
49
  {{ tnaSkipLink({
50
50
  href: 'main-content',
51
51
  text: 'Skip to main content'
52
- }) }}
52
+ }) | indent(6) }}
53
53
  {% endblock %}
54
54
  {% endblock %}
55
55
 
56
56
  {% block header %}
57
- {{ tnaHeader({}) }}
57
+ {{ tnaHeader({}) | indent(4) }}
58
58
  {% endblock %}
59
59
 
60
60
  {% block main %}
@@ -66,7 +66,7 @@
66
66
  {% endblock %}
67
67
 
68
68
  {% block footer %}
69
- {{ tnaFooter({}) }}
69
+ {{ tnaFooter({}) | indent(4) }}
70
70
  {% endblock %}
71
71
 
72
72
  {% block bodyEnd %}{% endblock %}
@@ -13,3 +13,7 @@
13
13
  @mixin active-outline {
14
14
  outline-offset: 0;
15
15
  }
16
+
17
+ @mixin no-active-outline {
18
+ outline-offset: a11y.$focus-outline-offset;
19
+ }
@@ -104,58 +104,83 @@
104
104
  fill: colour-var($colour) if($important, !important, null);
105
105
  }
106
106
 
107
- @mixin thick-keyline($direction) {
108
- @include colour-border(
109
- "keyline",
110
- borders.$thick-border-width,
111
- solid,
112
- $direction
113
- );
107
+ @mixin thick-keyline($direction: "") {
108
+ @if $direction != "" {
109
+ @include colour-border(
110
+ "keyline",
111
+ borders.$thick-border-width,
112
+ solid,
113
+ $direction
114
+ );
115
+ } @else {
116
+ @include colour-border("keyline", borders.$thick-border-width, solid);
117
+ }
114
118
  }
115
119
 
116
- @mixin thick-keyline-dark($direction) {
117
- @include colour-border(
118
- "keyline-dark",
119
- borders.$thick-border-width,
120
- solid,
121
- $direction
122
- );
120
+ @mixin thick-keyline-dark($direction: "") {
121
+ @if $direction != "" {
122
+ @include colour-border(
123
+ "keyline-dark",
124
+ borders.$thick-border-width,
125
+ solid,
126
+ $direction
127
+ );
128
+ } @else {
129
+ @include colour-border("keyline-dark", borders.$thick-border-width, solid);
130
+ }
123
131
  }
124
132
 
125
- @mixin thick-keyline-accent($direction) {
126
- @include colour-border(
127
- "accent-border",
128
- borders.$thick-border-width,
129
- solid,
130
- $direction
131
- );
133
+ @mixin thick-keyline-accent($direction: "") {
134
+ @if $direction != "" {
135
+ @include colour-border(
136
+ "accent-border",
137
+ borders.$thick-border-width,
138
+ solid,
139
+ $direction
140
+ );
141
+ } @else {
142
+ @include colour-border("accent-border", borders.$thick-border-width, solid);
143
+ }
132
144
  }
133
145
 
134
- @mixin thick-keyline-error($direction) {
135
- @include colour-border(
136
- "form-error",
137
- borders.$thick-border-width,
138
- solid,
139
- $direction
140
- );
146
+ @mixin thick-keyline-error($direction: "") {
147
+ @if $direction != "" {
148
+ @include colour-border(
149
+ "form-error-border",
150
+ borders.$thick-border-width,
151
+ solid,
152
+ $direction
153
+ );
154
+ } @else {
155
+ @include colour-border(
156
+ "form-error-border",
157
+ borders.$thick-border-width,
158
+ solid
159
+ );
160
+ }
141
161
  }
142
162
 
143
- @mixin thick-keyline-brand($direction, $brandColour) {
144
- border-#{$direction}: borders.$thick-border-width #{brand-colour($brandColour)}
145
- solid;
163
+ @mixin thick-keyline-brand($direction: "", $brandColour) {
164
+ @if $direction != "" {
165
+ border-#{$direction}: borders.$thick-border-width
166
+ #{brand-colour($brandColour)}
167
+ solid;
168
+ } @else {
169
+ border: borders.$thick-border-width #{brand-colour($brandColour)} solid;
170
+ }
146
171
  }
147
172
 
148
- // Use light theme colours (except for "form-error")
149
- %light {
150
- @include colour-css-vars("form-error");
173
+ // Use light theme colours (except for "form-error-border")
174
+ %always-light {
175
+ @include colour-css-vars("form-error-border");
151
176
 
152
177
  @media (prefers-contrast: more) {
153
- @include colour-css-vars-high-contrast("form-error");
178
+ @include colour-css-vars-high-contrast("form-error-border");
154
179
  }
155
180
  }
156
181
 
157
- @mixin light {
158
- @extend %light;
182
+ @mixin always-light {
183
+ @extend %always-light;
159
184
  }
160
185
 
161
186
  %contrast {
@@ -236,6 +261,10 @@
236
261
  --keyline-dark: var(--accent-keyline-dark);
237
262
  --accent-list-marker: var(--accent-font-base);
238
263
  --accent-border: var(--accent-font-dark);
264
+ --button-text: var(--accent-button-text);
265
+ --button-background: var(--accent-button-background);
266
+ --button-hover-text: var(--accent-button-hover-text);
267
+ --button-hover-background: var(--accent-button-hover-background);
239
268
 
240
269
  @include colour-background("background");
241
270
 
@@ -290,39 +319,6 @@
290
319
  @extend %accent-light;
291
320
  }
292
321
 
293
- // Remove accent and contrast values (except for "form-error")
294
- %plain {
295
- @include colour-css-vars("form-error");
296
-
297
- @media (prefers-contrast: more) {
298
- @include colour-css-vars-high-contrast("form-error");
299
- }
300
-
301
- .tna-template--system-theme & {
302
- @media (prefers-color-scheme: dark) {
303
- @include colour-css-vars-dark("form-error");
304
- }
305
-
306
- @media (prefers-contrast: more) and (prefers-color-scheme: dark) {
307
- @include colour-css-vars-high-contrast-dark("form-error");
308
- }
309
- }
310
-
311
- .tna-template--dark-theme & {
312
- @include colour-css-vars-dark("form-error");
313
-
314
- @media (prefers-contrast: more) {
315
- @include colour-css-vars-high-contrast-dark("form-error");
316
- }
317
- }
318
-
319
- @include colour-background("background");
320
- }
321
-
322
- @mixin plain {
323
- @extend %plain;
324
- }
325
-
326
322
  %yellow-accent {
327
323
  --accent-background: #{colour.brand-colour("yellow")} !important;
328
324
  --accent-background-light: #{colour.brand-colour("cream")} !important;
@@ -336,8 +332,8 @@
336
332
  --accent-link-visited: #{colour.brand-colour("black")} !important;
337
333
  --accent-keyline: #{colour.brand-colour("black", 0.5)} !important;
338
334
  --accent-keyline-dark: #{colour.brand-colour("black", 0.8)} !important;
339
- --button-accent-text: #{colour.brand-colour("white")} !important;
340
- --button-accent-background: #{colour.brand-colour("brown")} !important;
335
+ --button-accented-text: #{colour.brand-colour("white")} !important;
336
+ --button-accented-background: #{colour.brand-colour("brown")} !important;
341
337
  }
342
338
 
343
339
  @mixin yellow-accent {
@@ -353,7 +349,7 @@
353
349
  --accent-link-visited: #{colour.brand-colour("white")} !important;
354
350
  --accent-keyline: #{colour.brand-colour("white", 0.5)} !important;
355
351
  --accent-keyline-dark: #{colour.brand-colour("white", 0.8)} !important;
356
- --button-accent-text: #{colour.brand-colour("white")} !important;
352
+ --button-accented-text: #{colour.brand-colour("white")} !important;
357
353
  }
358
354
 
359
355
  %black-accent {
@@ -361,8 +357,8 @@
361
357
  --accent-background-light: #{colour.brand-colour("light-grey")} !important;
362
358
  --accent-border: #{colour.brand-colour("black")} !important;
363
359
  --accent-list-marker: #{colour.brand-colour("grey")} !important;
364
- --button-accent-text: #{colour.brand-colour("black")} !important;
365
- --button-accent-background: #{colour.brand-colour("grey")} !important;
360
+ --button-accented-text: #{colour.brand-colour("black")} !important;
361
+ --button-accented-background: #{colour.brand-colour("grey")} !important;
366
362
  }
367
363
 
368
364
  @mixin black-accent {
@@ -375,7 +371,7 @@
375
371
  --accent-background-light: #{colour.brand-colour("pastel-pink")} !important;
376
372
  --accent-border: #{colour.brand-colour("pink")} !important;
377
373
  --accent-list-marker: #{colour.brand-colour("pink")} !important;
378
- --button-accent-background: #{colour.brand-colour("maroon")} !important;
374
+ --button-accented-background: #{colour.brand-colour("maroon")} !important;
379
375
  }
380
376
 
381
377
  @mixin pink-accent {
@@ -388,7 +384,7 @@
388
384
  --accent-background-light: #{colour.brand-colour("pastel-orange")} !important;
389
385
  --accent-border: #{colour.brand-colour("orange")} !important;
390
386
  --accent-list-marker: #{colour.brand-colour("orange")} !important;
391
- --button-accent-background: #{colour.brand-colour("chestnut")} !important;
387
+ --button-accented-background: #{colour.brand-colour("chestnut")} !important;
392
388
  }
393
389
 
394
390
  @mixin orange-accent {
@@ -401,7 +397,7 @@
401
397
  --accent-background-light: #{colour.brand-colour("pastel-green")} !important;
402
398
  --accent-border: #{colour.brand-colour("green")} !important;
403
399
  --accent-list-marker: #{colour.brand-colour("green")} !important;
404
- --button-accent-background: #{colour.brand-colour("forest")} !important;
400
+ --button-accented-background: #{colour.brand-colour("forest")} !important;
405
401
  }
406
402
 
407
403
  @mixin green-accent {
@@ -414,7 +410,7 @@
414
410
  --accent-background-light: #{colour.brand-colour("pastel-blue")} !important;
415
411
  --accent-border: #{colour.brand-colour("blue")} !important;
416
412
  --accent-list-marker: #{colour.brand-colour("blue")} !important;
417
- --button-accent-background: #{colour.brand-colour("navy")} !important;
413
+ --button-accented-background: #{colour.brand-colour("navy")} !important;
418
414
  }
419
415
 
420
416
  @mixin blue-accent {
@@ -90,13 +90,3 @@ $media-tiny: "(max-width: #{$largest-tiny-device-em})";
90
90
  @content;
91
91
  }
92
92
  }
93
-
94
- %hide-on-print {
95
- @media print {
96
- display: none;
97
- }
98
- }
99
-
100
- @mixin hide-on-print() {
101
- @extend %hide-on-print;
102
- }
@@ -1,5 +1,5 @@
1
- @use "../tools/grid";
2
1
  @use "../tools/media";
2
+ @use "../tools/grid";
3
3
 
4
4
  .tna-columns {
5
5
  column-gap: grid.gutter-width();
@@ -5,6 +5,7 @@
5
5
  @use "debug";
6
6
  @use "forms";
7
7
  @use "global";
8
+ @use "grid";
8
9
  @use "imports";
9
10
  @use "lists";
10
11
  @use "overrides";
@@ -25,17 +25,11 @@ canvas {
25
25
  display: block;
26
26
  }
27
27
 
28
- video,
29
- canvas {
30
- width: 100%;
31
- }
32
-
33
28
  [hidden] {
34
29
  display: none !important;
35
30
  }
36
31
 
37
32
  hr {
38
- border-width: 1px 0 0;
39
- @include colour.colour-border("keyline");
40
- border-style: solid;
33
+ @include colour.colour-border("keyline", 0, solid);
34
+ border-top-width: 1px;
41
35
  }
@@ -1,7 +1,7 @@
1
- @use "../tools/colour";
1
+ @use "../../tools/colour";
2
2
 
3
3
  .tna-template {
4
- @include colour.light;
4
+ @include colour.always-light;
5
5
 
6
6
  @include colour.colour-background("background");
7
7
 
@@ -1,8 +1,8 @@
1
- @use "../utilities/typography" as typographyUtilities;
2
- @use "../tools/colour";
3
- @use "../tools/media";
4
- @use "../tools/spacing";
5
- @use "../tools/typography";
1
+ @use "../../utilities/typography" as typographyUtilities;
2
+ @use "../../tools/colour";
3
+ @use "../../tools/media";
4
+ @use "../../tools/spacing";
5
+ @use "../../tools/typography";
6
6
 
7
7
  button,
8
8
  input,
@@ -93,7 +93,7 @@ select {
93
93
  &__error-message {
94
94
  margin-top: 0;
95
95
 
96
- @include colour.colour-font("form-error");
96
+ @include colour.colour-font("form-error-text");
97
97
  @include typography.main-font-weight-bold;
98
98
  }
99
99
  }
@@ -0,0 +1,3 @@
1
+ {% macro tnaGrid(params) %}
2
+ {%- include "nationalarchives/utilities/grid/template.njk" -%}
3
+ {% endmacro %}
@@ -10,7 +10,7 @@
10
10
  {%- set containerClasses = containerClasses.concat('tna-container--no-padding-all') -%}
11
11
  {%- endif -%}
12
12
  {%- set classes = containerClasses | join(' ') -%}
13
- <{{ htmlElement }} class="tna-container{% if classes %} {{ classes }}{% endif %}" {%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %}>
13
+ <{{ htmlElement }} class="tna-container{% if classes %} {{ classes }}{% endif %}" {%- for attribute, value in params.attributes %} {{ attribute }}{% if value !== '' %}="{{ value }}"{% endif %}{% endfor %}>
14
14
  {%- for item in params.columns %}
15
15
  {%- set columnHtmlElement = item.htmlElement if item.htmlElement else 'div' -%}
16
16
  {%- set columnClasses = [item.classes] if item.classes else [] -%}
@@ -1,8 +1,14 @@
1
- @use "../tools/colour";
2
- @use "../tools/media";
3
- @use "../tools/spacing";
4
- @use "../tools/typography";
5
- @use "../utilities/typography" as typographyUtils;
1
+ @use "../../tools/colour";
2
+ @use "../../tools/media";
3
+ @use "../../tools/spacing";
4
+ @use "../../tools/typography";
5
+ @use "../../utilities/typography" as typographyUtils;
6
+
7
+ ul,
8
+ ol {
9
+ margin: 0;
10
+ padding: 0;
11
+ }
6
12
 
7
13
  .tna-ul {
8
14
  list-style-type: disc;
@@ -10,9 +16,9 @@
10
16
 
11
17
  .tna-ul,
12
18
  .tna-ol {
13
- margin: spacing.space(1) 0 0;
19
+ margin-top: spacing.space(1);
14
20
 
15
- padding: 0 0 0 spacing.space(2);
21
+ padding-left: spacing.space(2);
16
22
 
17
23
  &:first-child {
18
24
  margin-top: 0;
@@ -20,7 +26,10 @@
20
26
 
21
27
  &--plain {
22
28
  padding-left: 0;
29
+ }
23
30
 
31
+ &--plain,
32
+ &--no-list-style {
24
33
  list-style: none;
25
34
  }
26
35
 
@@ -1,6 +1,6 @@
1
1
  @use "sass:map";
2
- @use "../tools/media";
3
- @use "../tools/spacing";
2
+ @use "../../tools/media";
3
+ @use "../../tools/spacing";
4
4
 
5
5
  @mixin hide-on($suffix) {
6
6
  .tna-\!--hide-on-#{$suffix} {
@@ -30,3 +30,9 @@
30
30
  @include spacing.no-spacing-generator("tiny");
31
31
  @include hide-on("tiny");
32
32
  }
33
+
34
+ .tna-\!--hide-on-print {
35
+ @media print {
36
+ display: none;
37
+ }
38
+ }
@@ -1,10 +1,10 @@
1
1
  @use "sass:math";
2
2
  @use "sass:selector";
3
- @use "../tools/colour";
4
- @use "../tools/grid";
5
- @use "../tools/media";
6
- @use "../tools/spacing";
7
- @use "../tools/typography";
3
+ @use "../../tools/colour";
4
+ @use "../../tools/grid";
5
+ @use "../../tools/media";
6
+ @use "../../tools/spacing";
7
+ @use "../../tools/typography";
8
8
 
9
9
  .tna-table {
10
10
  width: 100%;
@@ -1,10 +1,10 @@
1
1
  @use "sass:math";
2
2
  @use "sass:selector";
3
- @use "../variables/typography" as typographyVars;
4
- @use "../tools/colour";
5
- @use "../tools/media";
6
- @use "../tools/spacing";
7
- @use "../tools/typography";
3
+ @use "../../variables/typography" as typographyVars;
4
+ @use "../../tools/colour";
5
+ @use "../../tools/media";
6
+ @use "../../tools/spacing";
7
+ @use "../../tools/typography";
8
8
 
9
9
  .tna-template {
10
10
  @include colour.colour-font("font-base");
@@ -122,6 +122,9 @@ small {
122
122
 
123
123
  @include colour.colour-border("accent-background", 2px);
124
124
 
125
+ -webkit-print-color-adjust: exact;
126
+ print-color-adjust: exact;
127
+
125
128
  .tna-background-accent & {
126
129
  @include colour.contrast;
127
130
 
@@ -65,7 +65,8 @@ $colour-palette-default: (
65
65
  "input-foreground": brand-colour("black"),
66
66
  "input-background": brand-colour("white"),
67
67
  "input-border": brand-colour("black"),
68
- "form-error": #c00,
68
+ "form-error-border": #c20000,
69
+ "form-error-text": #c20000,
69
70
  "button-text": brand-colour("white"),
70
71
  "button-background": brand-colour("black"),
71
72
  "button-hover-text": brand-colour("black"),
@@ -95,8 +96,12 @@ $colour-palette-default: (
95
96
  "accent-link-visited": brand-colour("black"),
96
97
  "accent-keyline": brand-colour("black", 0.5),
97
98
  "accent-keyline-dark": brand-colour("black", 0.8),
98
- "button-accent-text": brand-colour("black"),
99
- "button-accent-background": brand-colour("grey"),
99
+ "accent-button-text": brand-colour("white"),
100
+ "accent-button-background": brand-colour("black"),
101
+ "accent-button-hover-text": brand-colour("black"),
102
+ "accent-button-hover-background": brand-colour("white"),
103
+ "button-accented-text": brand-colour("black"),
104
+ "button-accented-background": brand-colour("grey"),
100
105
  ) !default;
101
106
 
102
107
  /*
@@ -121,7 +126,8 @@ $colour-palette-dark: map.merge(
121
126
  "input-foreground": brand-colour("white"),
122
127
  "input-background": brand-colour("black"),
123
128
  "input-border": brand-colour("white"),
124
- "form-error": #ff3d3d,
129
+ "form-error-border": #f00,
130
+ "form-error-text": #ff6b6b,
125
131
  "button-text": brand-colour("black"),
126
132
  "button-background": brand-colour("white"),
127
133
  "button-hover-text": brand-colour("white"),
@@ -169,7 +175,8 @@ $colour-palette-high-contrast-dark: map.merge(
169
175
  "font-light": brand-colour("white"),
170
176
  "icon-light": brand-colour("white", 0.75),
171
177
  "keyline": brand-colour("white"),
172
- "form-error": #ff6161,
178
+ "form-error-border": #ff6b6b,
179
+ "form-error-text": #ff6b6b,
173
180
  "contrast-background": brand-colour("black"),
174
181
  "contrast-link": brand-colour("blue"),
175
182
  "contrast-link-visited": #a8f,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nationalarchives/frontend",
3
- "version": "0.1.64",
3
+ "version": "0.2.0",
4
4
  "description": "The National Archives frontend styles",
5
5
  "scripts": {
6
6
  "start": "storybook dev -p 6006",