@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
@@ -1,279 +0,0 @@
1
- import Header from "./template.njk";
2
- import macroOptions from "./macro-options.json";
3
-
4
- const argTypes = {
5
- columns: { control: "object" },
6
- maxWidth: { control: "boolean" },
7
- noPadding: { control: "boolean" },
8
- noPaddingAll: { control: "boolean" },
9
- htmlElement: { control: "text" },
10
- classes: { control: "text" },
11
- attributes: { control: "object" },
12
- };
13
-
14
- Object.keys(argTypes).forEach((argType) => {
15
- argTypes[argType].description = macroOptions.find(
16
- (option) => option.name === argType,
17
- )?.description;
18
- });
19
-
20
- export default {
21
- title: "Components/Grid",
22
- argTypes,
23
- };
24
-
25
- const Template = ({
26
- columns,
27
- maxWidth,
28
- noPadding,
29
- noPaddingAll,
30
- htmlElement,
31
- classes,
32
- attributes,
33
- }) =>
34
- Header({
35
- params: {
36
- columns,
37
- maxWidth,
38
- noPadding,
39
- noPaddingAll,
40
- htmlElement,
41
- classes,
42
- attributes,
43
- },
44
- });
45
-
46
- export const Standard = Template.bind({});
47
- Standard.args = {
48
- classes: "tna-grid--demo",
49
- columns: [
50
- {
51
- html: "<p>Full width</p>",
52
- width: "full",
53
- },
54
- {
55
- html: "<p>Half</p>",
56
- width: "1-2",
57
- },
58
- {
59
- html: "<p>Half</p>",
60
- width: "1-2",
61
- },
62
- {
63
- html: "<p>Third</p>",
64
- width: "1-3",
65
- },
66
- {
67
- html: "<p>Third</p>",
68
- width: "1-3",
69
- },
70
- {
71
- html: "<p>Third</p>",
72
- width: "1-3",
73
- },
74
- {
75
- html: "<p>Two thirds</p>",
76
- width: "2-3",
77
- },
78
- {
79
- html: "<p>Third</p>",
80
- width: "1-3",
81
- },
82
- {
83
- html: "<p>Third</p>",
84
- width: "1-3",
85
- },
86
- {
87
- html: "<p>Two thirds</p>",
88
- width: "2-3",
89
- },
90
- {
91
- html: "<p>Quarter</p>",
92
- width: "1-4",
93
- },
94
- {
95
- html: "<p>Quarter</p>",
96
- width: "1-4",
97
- },
98
- {
99
- html: "<p>Quarter</p>",
100
- width: "1-4",
101
- },
102
- {
103
- html: "<p>Quarter</p>",
104
- width: "1-4",
105
- },
106
- {
107
- html: "<p>Half</p>",
108
- width: "1-2",
109
- },
110
- {
111
- html: "<p>Quarter</p>",
112
- width: "1-4",
113
- },
114
- {
115
- html: "<p>Quarter</p>",
116
- width: "1-4",
117
- },
118
- {
119
- html: "<p>Quarter</p>",
120
- width: "1-4",
121
- },
122
- {
123
- html: "<p>Half</p>",
124
- width: "1-2",
125
- },
126
- {
127
- html: "<p>Quarter</p>",
128
- width: "1-4",
129
- },
130
- {
131
- html: "<p>Quarter</p>",
132
- width: "1-4",
133
- },
134
- {
135
- html: "<p>Quarter</p>",
136
- width: "1-4",
137
- },
138
- {
139
- html: "<p>Half</p>",
140
- width: "1-2",
141
- },
142
- {
143
- html: "<p>Sixth</p>",
144
- width: "1-6",
145
- },
146
- {
147
- html: "<p>Sixth</p>",
148
- width: "1-6",
149
- },
150
- {
151
- html: "<p>Sixth</p>",
152
- width: "1-6",
153
- },
154
- {
155
- html: "<p>Sixth</p>",
156
- width: "1-6",
157
- },
158
- {
159
- html: "<p>Sixth</p>",
160
- width: "1-6",
161
- },
162
- {
163
- html: "<p>Sixth</p>",
164
- width: "1-6",
165
- },
166
- {
167
- html: "<p>Half</p>",
168
- width: "1-2",
169
- },
170
- {
171
- html: "<p>Third</p>",
172
- width: "1-3",
173
- },
174
- {
175
- html: "<p>Sixth</p>",
176
- width: "1-6",
177
- },
178
- ],
179
- };
180
-
181
- export const Responsive = Template.bind({});
182
- const responsiveColumn = {
183
- html: "<p>Responsive</p>",
184
- width: "1-4",
185
- widthMedium: "1-3",
186
- widthSmall: "1-2",
187
- widthTiny: "full",
188
- };
189
- Responsive.parameters = {
190
- chromatic: { disableSnapshot: true },
191
- };
192
- Responsive.args = {
193
- classes: "tna-grid--demo tna-grid--demo-tall",
194
- columns: Array(12).fill({ ...responsiveColumn }),
195
- };
196
-
197
- export const Flex = Template.bind({});
198
- Flex.parameters = {
199
- chromatic: { disableSnapshot: true },
200
- };
201
- Flex.args = {
202
- classes: "tna-grid--demo",
203
- columns: [
204
- {
205
- html: "<h1>A</h1>",
206
- width: "1-4",
207
- },
208
- {
209
- html: "<h1>B</h1>",
210
- flex: 1,
211
- },
212
- ],
213
- };
214
-
215
- export const Order = Template.bind({});
216
- Order.parameters = {
217
- chromatic: { disableSnapshot: true },
218
- };
219
- Order.args = {
220
- classes: "tna-grid--demo tna-grid--demo-tall",
221
- columns: [
222
- {
223
- html: "<h1>A</h1>",
224
- width: "1-4",
225
- order: 1,
226
- orderMedium: 2,
227
- orderSmall: 3,
228
- orderTiny: 4,
229
- },
230
- {
231
- html: "<h1>B</h1>",
232
- width: "1-4",
233
- order: 2,
234
- orderMedium: 1,
235
- orderSmall: 4,
236
- orderTiny: 3,
237
- },
238
- {
239
- html: "<h1>C</h1>",
240
- width: "1-4",
241
- order: 3,
242
- orderMedium: 4,
243
- orderSmall: 1,
244
- orderTiny: 2,
245
- },
246
- {
247
- html: "<h1>D</h1>",
248
- width: "1-4",
249
- order: 4,
250
- orderMedium: 3,
251
- orderSmall: 2,
252
- orderTiny: 1,
253
- },
254
- ],
255
- };
256
-
257
- export const Margin = Template.bind({});
258
- Margin.parameters = {
259
- chromatic: { disableSnapshot: true },
260
- };
261
- Margin.args = {
262
- classes: "tna-grid--demo",
263
- columns: [
264
- {
265
- html: "<h1>A</h1>",
266
- width: "1-4",
267
- },
268
- {
269
- html: "<h1>B</h1>",
270
- width: "1-4",
271
- marginLeft: "1-12",
272
- },
273
- {
274
- html: "<h1>C</h1>",
275
- width: "1-4",
276
- marginLeft: "1-6",
277
- },
278
- ],
279
- };
@@ -1,3 +0,0 @@
1
- {% macro tnaGrid(params) %}
2
- {%- include "nationalarchives/components/grid/template.njk" -%}
3
- {% endmacro %}
@@ -1,239 +0,0 @@
1
- import Header from "./template.njk";
2
- import macroOptions from "./macro-options.json";
3
- import { within, userEvent, expect } from "@storybook/test";
4
- import { customViewports } from "../../../../.storybook/viewports";
5
-
6
- const argTypes = {
7
- logo: { control: "object" },
8
- topNavigation: { control: "object" },
9
- navigation: { control: "object" },
10
- accent: {
11
- control: "boolean",
12
- },
13
- exit: { control: "object" },
14
- classes: { control: "text" },
15
- attributes: { control: "object" },
16
- };
17
-
18
- Object.keys(argTypes).forEach((argType) => {
19
- argTypes[argType].description = macroOptions.find(
20
- (option) => option.name === argType,
21
- )?.description;
22
- });
23
-
24
- export default {
25
- title: "Components/Header",
26
- argTypes,
27
- parameters: {
28
- chromatic: { delay: 1000 },
29
- },
30
- };
31
-
32
- const Template = ({
33
- logo,
34
- topNavigation,
35
- navigation,
36
- accent,
37
- exit,
38
- classes,
39
- attributes,
40
- }) =>
41
- Header({
42
- params: {
43
- logo,
44
- topNavigation,
45
- navigation,
46
- accent,
47
- exit,
48
- classes,
49
- attributes,
50
- },
51
- });
52
-
53
- export const Standard = Template.bind({});
54
- Standard.args = {
55
- logo: {
56
- strapline: "Design System",
57
- href: "#/",
58
- },
59
- topNavigation: [
60
- {
61
- text: "Top item 1",
62
- href: "#/top-1",
63
- },
64
- {
65
- text: "Top item 2",
66
- href: "#/top-2",
67
- icon: "heart",
68
- },
69
- ],
70
- navigation: [
71
- {
72
- text: "Alpha",
73
- href: "#/alpha",
74
- selected: true,
75
- },
76
- {
77
- text: "Beta",
78
- href: "#/beta",
79
- },
80
- {
81
- text: "Gamma",
82
- href: "#/gamma",
83
- },
84
- ],
85
- exit: {
86
- text: "Go to the current National Archives website",
87
- href: "#",
88
- target: "_blank",
89
- },
90
- classes: "tna-header--demo",
91
- };
92
- Standard.play = async ({ canvasElement }) => {
93
- await new Promise((r) => setTimeout(r, 100));
94
-
95
- const $navigationItems = canvasElement.querySelector(
96
- `.tna-header__navigation-items`,
97
- );
98
- const $navigationToggle = canvasElement.querySelector(
99
- `.tna-header__navigation-toggle-button`,
100
- );
101
-
102
- await expect($navigationItems).toBeVisible();
103
- await expect($navigationToggle).not.toBeVisible();
104
- };
105
-
106
- export const Accent = Template.bind({});
107
- Accent.args = {
108
- logo: {
109
- strapline: "Design System",
110
- href: "#/",
111
- },
112
- topNavigation: [
113
- {
114
- text: "Top item 1",
115
- href: "#/top-1",
116
- },
117
- {
118
- text: "Top item 2",
119
- href: "#/top-2",
120
- icon: "heart",
121
- },
122
- ],
123
- navigation: [
124
- {
125
- text: "Alpha",
126
- href: "#/alpha",
127
- selected: true,
128
- },
129
- {
130
- text: "Beta",
131
- href: "#/beta",
132
- },
133
- {
134
- text: "Gamma",
135
- href: "#/gamma",
136
- },
137
- ],
138
- exit: {
139
- text: "Go to the current National Archives website",
140
- href: "#",
141
- target: "_blank",
142
- },
143
- accent: true,
144
- classes: "tna-header--demo",
145
- };
146
-
147
- export const Mobile = Template.bind({});
148
- Mobile.parameters = {
149
- viewport: {
150
- defaultViewport: "small",
151
- },
152
- chromatic: {
153
- viewports: [customViewports["small"].styles.width.replace(/px$/, "")],
154
- },
155
- };
156
- Mobile.args = {
157
- logo: {
158
- strapline: "Design System",
159
- href: "#/",
160
- },
161
- topNavigation: [
162
- {
163
- text: "Top item 1",
164
- href: "#/top-1",
165
- },
166
- {
167
- text: "Top item 2",
168
- href: "#/top-2",
169
- icon: "heart",
170
- },
171
- ],
172
- navigation: [
173
- {
174
- text: "Alpha",
175
- href: "#/alpha",
176
- selected: true,
177
- },
178
- {
179
- text: "Beta",
180
- href: "#/beta",
181
- },
182
- {
183
- text: "Gamma",
184
- href: "#/gamma",
185
- },
186
- ],
187
- exit: {
188
- text: "Go to the current National Archives website",
189
- href: "#",
190
- target: "_blank",
191
- },
192
- classes: "tna-header--demo",
193
- };
194
- Mobile.play = async ({ args, canvasElement, step }) => {
195
- await new Promise((r) => setTimeout(r, 100));
196
-
197
- const canvas = within(canvasElement);
198
-
199
- const $navigationItems = canvasElement.querySelector(
200
- `.tna-header__navigation-items`,
201
- );
202
- const [$linkA, $linkB, $linkC] = args.navigation.map((navigationItem) =>
203
- canvas.getByText(navigationItem.text),
204
- );
205
- const $navigationToggle = canvasElement.querySelector(
206
- `.tna-header__navigation-toggle-button`,
207
- );
208
-
209
- await step("Initial load", async () => {
210
- await expect($navigationItems).not.toBeVisible();
211
- await expect($navigationToggle).toBeVisible();
212
- await expect($navigationToggle).toHaveAttribute("aria-expanded", "false");
213
- await expect($linkA).not.toBeVisible();
214
- await expect($linkB).not.toBeVisible();
215
- await expect($linkC).not.toBeVisible();
216
- });
217
-
218
- await step("Open the menu", async () => {
219
- await userEvent.click($navigationToggle);
220
- await expect($navigationItems).toBeVisible();
221
- await expect($navigationToggle).toBeVisible();
222
- await expect($navigationToggle).toHaveAttribute("aria-expanded", "true");
223
- await expect($linkA).toBeVisible();
224
- await expect($linkB).toBeVisible();
225
- await expect($linkC).toBeVisible();
226
- });
227
-
228
- await step("Close the menu", async () => {
229
- await userEvent.click($navigationToggle);
230
- await expect($navigationItems).not.toBeVisible();
231
- await expect($navigationToggle).toBeVisible();
232
- await expect($navigationToggle).toHaveAttribute("aria-expanded", "false");
233
- await expect($linkA).not.toBeVisible();
234
- await expect($linkB).not.toBeVisible();
235
- await expect($linkC).not.toBeVisible();
236
- });
237
-
238
- $navigationToggle.blur();
239
- };