@benwatsonuk/govuk-pages-plugin 1.0.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 (60) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENCE.txt +21 -0
  3. package/README.md +192 -0
  4. package/dist/assets/images/arrow.svg +27 -0
  5. package/dist/assets/images/page-types/arrow-base.svg +13 -0
  6. package/dist/assets/images/page-types/arrow-head.svg +13 -0
  7. package/dist/assets/images/page-types/check-answers.svg +142 -0
  8. package/dist/assets/images/page-types/checkbox-input.svg +85 -0
  9. package/dist/assets/images/page-types/confirmation.svg +73 -0
  10. package/dist/assets/images/page-types/content-page.svg +84 -0
  11. package/dist/assets/images/page-types/email.svg +56 -0
  12. package/dist/assets/images/page-types/radio-input.svg +115 -0
  13. package/dist/assets/images/page-types/start-page.svg +101 -0
  14. package/dist/assets/images/page-types/task-list.svg +179 -0
  15. package/dist/assets/images/page-types/text-input.svg +65 -0
  16. package/dist/assets/javascripts/all.js +1 -0
  17. package/dist/assets/styles/all.scss +2 -0
  18. package/dist/assets/styles/scss/_pages.scss +169 -0
  19. package/dist/assets/styles/scss/_variables.scss +19 -0
  20. package/dist/functions/pages/getPages.js +9 -0
  21. package/dist/functions/stages/getStages.js +65 -0
  22. package/dist/index.js +39 -0
  23. package/dist/schema.json +89 -0
  24. package/dist/types.js +2 -0
  25. package/dist/validate.js +27 -0
  26. package/dist/views/page-index.html +34 -0
  27. package/dist/views/stage-index.html +41 -0
  28. package/govuk-prototype-kit.config.json +12 -0
  29. package/index.js +22 -0
  30. package/package.json +43 -0
  31. package/src/assets/images/arrow.svg +27 -0
  32. package/src/assets/images/page-types/arrow-base.svg +13 -0
  33. package/src/assets/images/page-types/arrow-head.svg +13 -0
  34. package/src/assets/images/page-types/check-answers.svg +142 -0
  35. package/src/assets/images/page-types/checkbox-input.svg +85 -0
  36. package/src/assets/images/page-types/confirmation.svg +73 -0
  37. package/src/assets/images/page-types/content-page.svg +84 -0
  38. package/src/assets/images/page-types/email.svg +56 -0
  39. package/src/assets/images/page-types/radio-input.svg +115 -0
  40. package/src/assets/images/page-types/start-page.svg +101 -0
  41. package/src/assets/images/page-types/task-list.svg +179 -0
  42. package/src/assets/images/page-types/text-input.svg +65 -0
  43. package/src/assets/javascripts/all.js +1 -0
  44. package/src/assets/styles/all.scss +2 -0
  45. package/src/assets/styles/scss/_pages.scss +169 -0
  46. package/src/assets/styles/scss/_variables.scss +19 -0
  47. package/src/functions/pages/getPages.ts +7 -0
  48. package/src/functions/stages/getStages.ts +78 -0
  49. package/src/index.ts +40 -0
  50. package/src/schema.json +89 -0
  51. package/src/types.ts +40 -0
  52. package/src/validate.ts +35 -0
  53. package/src/views/page-index.html +34 -0
  54. package/src/views/stage-index.html +41 -0
  55. package/test/data/outputs.ts +197 -0
  56. package/test/data/pages.ts +61 -0
  57. package/test/data/stages.ts +87 -0
  58. package/test/getPages.test.js +19 -0
  59. package/test/getStages.test.js +46 -0
  60. package/tsconfig.json +14 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Changelog
2
+
3
+ ## v1.0.0
4
+
5
+ ### Notes
6
+
7
+ - Initial release. Validates page and stage data and returns very simple views for page indexes so that users can easily navigate to selected pages.
package/LICENCE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (C) 2014 Crown Copyright (Government Digital Service)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
9
+ of the Software, and to permit persons to whom the Software is furnished to do
10
+ so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,192 @@
1
+ # govuk-pages-plugin
2
+ A plugin for GOVUK Prototype Kit that shows selected pages in an index (list) so that users can navigate directly to them.
3
+
4
+ For more information about the GOV.UK Prototype kit:
5
+
6
+ https://govuk-prototype-kit.herokuapp.com/docs
7
+
8
+ ## Requirements
9
+
10
+ To use this plugin, first start a prototype by installing the GOV.UK Prototype Kit (version 13 or later).
11
+
12
+ ### 1. Install the plugin
13
+
14
+ In the folder that contains your prototype, install the plugin by running the following terminal command:
15
+
16
+ ```bash
17
+ npm install https://github.com/benwatsonuk/govuk-pages-plugin
18
+ ```
19
+
20
+ ### 2. Add the following code to your prototype's routes.js file(s)
21
+
22
+ #### Basic Setup
23
+
24
+ ```js
25
+ const { govukPagesPlugin } = require('@benwatsonuk/govuk-pages-plugin')
26
+ ```
27
+
28
+ If you use multiple routes files, include the above code on the pages that you wish to use the features of the plugin on.
29
+
30
+ #### Advanced Setup
31
+
32
+ Call and use any of the exported functions available in dist/index.js file - this can be useful if you wish to use the plugin's data to create your own views or you wish to set up custom paths/routes.
33
+
34
+ See the examples below for more details.
35
+
36
+ ## Using the plugin
37
+
38
+ There are two main ways in which you might want to use the plugin.
39
+
40
+ 1. To supply the relevant page data (in the expected format - see below) and have the plugin render indexes, directories and user-flows using the supplied templates
41
+ 2. Create views yourself by supplying the relevant page data to the plugin and have it return a usable data object, that you can either use yourself or call components and templates from the plugin to create your own bespoke views
42
+
43
+ ## What data do I need to supply the plugin?
44
+
45
+ That depends on which of the plugin's features you wish to use. There are 3 types of data that you could provide the plugin:
46
+
47
+ 1. **Page Data** - REQUIRED - this is information at the page level, all pages that will be referenced or indexed will need to be included.
48
+ 2. **Stage Data** - OPTIONAL -this is a type of grouping that pages can belong to (they don't have to!) e.g. 'authentication' or 'registering' etc. it can group pages based on a subset of a journey.
49
+ 3. **Flow Data** - OPTIONAL - this type of data describes discrete journeys or flows. It can string pages together to visualise the journey a user might take.
50
+
51
+ ### Page Data (required)
52
+
53
+ At the most basic level, the plugin will need a list of pages to work with. This ***must*** be passed to the plugin (via the Express route) as a valid JSON object that matches the schema defined at https://github.com/benwatsonuk/govuk-pages-plugin/blob/main/src/schema.json under the 'pages' definition.
54
+
55
+ If you are familiar with TypeScript, you could also reference https://github.com/benwatsonuk/govuk-pages-plugin/blob/main/src/types.ts (see 'Page').
56
+
57
+ In future, hopefully this can be automated but for now, you will need to create this array in order to use the plugin.
58
+
59
+ ### Stage Data (optional)
60
+
61
+ Stages aren't required but they can add useful groupings to series of pages that are useful when visualising or listing a large number of pages at once. For example, a series of 'stages' that might exist when accessing your 'Personal Tax Account' from HMRC might be:
62
+
63
+ - GOV.UK Guidance
64
+ - Authentication
65
+ - Personal Account Dashboard
66
+
67
+ There is also the concept of 'sub-stages' which allows you to break these down even further, for example:
68
+
69
+ - Authentication
70
+ - Select Method
71
+ - Government Gateway
72
+ - One Login
73
+ - Personal Tax Account
74
+ - PAYE
75
+ - Account Management
76
+ - Messages
77
+
78
+ If stages are provided and the page data refers to the relevant ID in the pages object, the ability to visualise by stages, group indexes by stages etc. will be possible.
79
+
80
+ Make sure the 'stages' array matches the schema defined at https://github.com/benwatsonuk/govuk-pages-plugin/blob/main/src/schema.json under the 'stages' definition.
81
+
82
+ If you are familiar with TypeScript, you could also reference https://github.com/benwatsonuk/govuk-pages-plugin/blob/main/src/types.ts (see 'Stage').
83
+
84
+ ### Flow Data (optional)
85
+
86
+ If this is passed to the plugin, we can visualise user journeys from end to end and the prototype will allow navigaton directly to the relevant pages. This can be useful when giving an overview of a flow that a user might go through, or to give context as to a page's position in a longer journey.
87
+
88
+ ## Examples
89
+
90
+ Here are some recipes for adding data to your routes:
91
+
92
+ ```js
93
+ const { govukPagesPlugin, pageIndex, stageIndex, stageIndexData, pageIndexData } = require('@benwatsonuk/govuk-pages-plugin')
94
+
95
+ router.use(`/path-of-your-choice/pages`, govukPagesPlugin(pages))
96
+ router.use(`/path-of-your-choice/page-index`, pageIndex(pages))
97
+ router.use(`/path-of-your-choice/stage-index`, stageIndex(stages, pages))
98
+
99
+ router.get(`/path-of-your-choice/stage-index-test`, (req, res) => {
100
+ res.render(`path-of-your-choice/stage-index-test`, {
101
+ stages: stageIndexData(stages, pages)
102
+ })
103
+ })
104
+
105
+ router.get(`/path-of-your-choice/page-index-test`, (req, res) => {
106
+ res.render(`path-of-your-choice/page-index-test`, {
107
+ pages: pageIndexData(pages)
108
+ })
109
+ })
110
+ ```
111
+
112
+ Here are some examples of 'stage' and 'page' data arrays:
113
+
114
+ ### Pages
115
+
116
+ ```js
117
+ const pages = [
118
+ {
119
+ id: 1,
120
+ title: 'Title 1',
121
+ type: 'email',
122
+ description: 'A description about item 1',
123
+ route: '/a/a/1',
124
+ stage: {main: 'stage1', subStage: 1}
125
+ },
126
+ {
127
+ id: 2,
128
+ title: 'Title 2',
129
+ type: 'email',
130
+ description: 'A description about item 2',
131
+ route: '/b/b/2',
132
+ stage: {main: 'stage2', subStage: 2}
133
+ },
134
+ {
135
+ id: 3,
136
+ title: 'Title 3',
137
+ type: 'email',
138
+ description: 'A description about item 3',
139
+ route: '/a/b/3'
140
+ }
141
+ ];
142
+ ```
143
+
144
+ ### Stages
145
+
146
+ ``` js
147
+ const stages = [
148
+ {
149
+ id: 'stage1',
150
+ title: 'Stage 1',
151
+ description: 'A description about stage 1',
152
+ route: '/a',
153
+ subStages: [
154
+ {
155
+ id: 1,
156
+ title: 'Sub-stage 1-1',
157
+ description: 'A description about sub-stage 1-1',
158
+ route: '/a/a'
159
+ },
160
+ {
161
+ id: 2,
162
+ title: 'Sub-stage 1-2',
163
+ description: 'A description about sub-stage 1-2',
164
+ route: '/a/b'
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ id: 'stage2',
170
+ title: 'Stage 2',
171
+ description: 'A description about stage 2',
172
+ route: '/b',
173
+ subStages: [
174
+ {
175
+ id: 1,
176
+ title: 'Sub-stage 2-1',
177
+ description: 'A description about sub-stage 2-1',
178
+ route: '/b/a'
179
+ },
180
+ {
181
+ id: 2,
182
+ title: 'Sub-stage 2-2',
183
+ description: 'A description about sub-stage 2-2',
184
+ route: '/b/b'
185
+ }
186
+ ]
187
+ }
188
+ ]
189
+ ```
190
+
191
+
192
+
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="157px" height="32px" viewBox="0 0 157 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Connection/Single Copy</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Flow" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="11-12-2018-Defendant-Flow" transform="translate(-2970.000000, -757.000000)">
8
+ <g id="Screen-flows" transform="translate(406.000000, 410.000000)">
9
+ <g id="Group-16" transform="translate(1629.000000, 0.000000)">
10
+ <g id="Group-13" transform="translate(341.000000, 197.000000)">
11
+ <g id="Group-12">
12
+ <g id="Group-2" transform="translate(594.000000, 83.000000)">
13
+ <g id="Connection/Single" transform="translate(0.000000, 67.000000)">
14
+ <g id="Single-connection">
15
+ <polygon id="Connection" fill="#005EA5" fill-rule="nonzero" points="16 18 141 18 141 14 16 14"></polygon>
16
+ <circle id="Dot" stroke="#005EA5" stroke-width="4" fill="#FFFFFF" cx="16" cy="16" r="14"></circle>
17
+ <polygon id="Rectangle" fill="#005EA5" points="125 0 157 16 125 32"></polygon>
18
+ </g>
19
+ </g>
20
+ </g>
21
+ </g>
22
+ </g>
23
+ </g>
24
+ </g>
25
+ </g>
26
+ </g>
27
+ </svg>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Dot</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="Connection/Single" fill="#FFFFFF" stroke="#005EA5" stroke-width="4">
8
+ <g id="Single-connection">
9
+ <circle id="Dot" cx="16" cy="16" r="14"></circle>
10
+ </g>
11
+ </g>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Rectangle</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="Connection/Single" transform="translate(-288.000000, 0.000000)" fill="#005EA5">
8
+ <g id="Single-connection">
9
+ <polygon id="Rectangle" points="288 0 320 16 288 32"></polygon>
10
+ </g>
11
+ </g>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,142 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="200px" height="160px" viewBox="0 0 200 160" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Screen/Check your answers</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <rect x="2" y="4" width="8.99672131" height="8" id="rect-1"></rect>
8
+ </defs>
9
+ <g id="Screen/Check-your-answers" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
+ <g id="_Canvas/Browser">
11
+ <rect id="BG" fill="#FFFFFF" x="1" y="1" width="196" height="156"></rect>
12
+ <rect id="Top-Bar" fill="#F2F2F2" x="1" y="1" width="196" height="11"></rect>
13
+ <rect id="Divider" fill="#DEE0E2" x="1" y="11" width="196" height="1"></rect>
14
+ <path d="M7.96153846,8 C6.87821068,8 6,7.1045695 6,6 C6,4.8954305 6.87821068,4 7.96153846,4 C9.04486624,4 9.92307692,4.8954305 9.92307692,6 C9.92307692,7.1045695 9.04486624,8 7.96153846,8 Z M14.5,8 C13.4166722,8 12.5384615,7.1045695 12.5384615,6 C12.5384615,4.8954305 13.4166722,4 14.5,4 C15.5833278,4 16.4615385,4.8954305 16.4615385,6 C16.4615385,7.1045695 15.5833278,8 14.5,8 Z M21.0384615,8 C19.9551338,8 19.0769231,7.1045695 19.0769231,6 C19.0769231,4.8954305 19.9551338,4 21.0384615,4 C22.1217893,4 23,4.8954305 23,6 C23,7.1045695 22.1217893,8 21.0384615,8 Z" id="Combined-Shape" fill="#DEE0E2"></path>
15
+ <polygon id="BG_Border_Top_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="0 0 200 0 197 1 1 1"></polygon>
16
+ <polygon id="BG_Border_Right_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="200 0 200 160 197 157 197 1"></polygon>
17
+ <polygon id="BG_Border_Bottom_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="200 160 0 160 1 157 197 157"></polygon>
18
+ <polygon id="BG_Border_Left_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="0 160 0 0 1 1 1 157"></polygon>
19
+ </g>
20
+ <g id="Button/Primary" transform="translate(5.000000, 142.000000)" fill="#00823B">
21
+ <g id="Fill/$button-colour">
22
+ <rect id="Rectangle" x="0" y="0" width="32" height="8"></rect>
23
+ </g>
24
+ </g>
25
+ <g id="CYA-Section" transform="translate(5.000000, 64.000000)">
26
+ <g id="CYA-Question" transform="translate(0.000000, 23.000000)">
27
+ <g id="Fill/$border-colour" transform="translate(0.000000, 7.000000)" fill="#BFC1C3">
28
+ <rect id="Rectangle" x="0" y="0" width="120" height="1"></rect>
29
+ </g>
30
+ <g id="Text/Link" transform="translate(104.000000, 0.000000)" fill="#005EA5">
31
+ <g id="Fill/$link-colour">
32
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
33
+ </g>
34
+ </g>
35
+ <g id="Text/Body/Line" transform="translate(24.000000, 0.000000)" fill="#6F777B">
36
+ <g id="Fill/$secondary-text-colour">
37
+ <rect id="Rectangle" x="0" y="0" width="48" height="4"></rect>
38
+ </g>
39
+ </g>
40
+ <g id="Text/Heading/Small" fill="#0B0C0C">
41
+ <g id="Fill/$text-colour">
42
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
43
+ </g>
44
+ </g>
45
+ </g>
46
+ <g id="CYA-Question" transform="translate(0.000000, 12.000000)">
47
+ <g id="Fill/$border-colour" transform="translate(0.000000, 7.000000)" fill="#BFC1C3">
48
+ <rect id="Rectangle" x="0" y="0" width="120" height="1"></rect>
49
+ </g>
50
+ <g id="Text/Link" transform="translate(104.000000, 0.000000)" fill="#005EA5">
51
+ <g id="Fill/$link-colour">
52
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
53
+ </g>
54
+ </g>
55
+ <g id="Text/Body/Line" transform="translate(24.000000, 0.000000)" fill="#6F777B">
56
+ <g id="Fill/$secondary-text-colour">
57
+ <rect id="Rectangle" x="0" y="0" width="48" height="4"></rect>
58
+ </g>
59
+ </g>
60
+ <g id="Text/Heading/Small" fill="#0B0C0C">
61
+ <g id="Fill/$text-colour">
62
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
63
+ </g>
64
+ </g>
65
+ </g>
66
+ <g id="Text/Heading/Medium" fill="#0B0C0C">
67
+ <g id="Fill/$text-colour">
68
+ <rect id="Rectangle" x="0" y="0" width="32" height="8"></rect>
69
+ </g>
70
+ </g>
71
+ </g>
72
+ <g id="CYA-Section" transform="translate(5.000000, 103.000000)">
73
+ <g id="CYA-Question" transform="translate(0.000000, 23.000000)">
74
+ <g id="Fill/$border-colour" transform="translate(0.000000, 7.000000)" fill="#BFC1C3">
75
+ <rect id="Rectangle" x="0" y="0" width="120" height="1"></rect>
76
+ </g>
77
+ <g id="Text/Link" transform="translate(104.000000, 0.000000)" fill="#005EA5">
78
+ <g id="Fill/$link-colour">
79
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
80
+ </g>
81
+ </g>
82
+ <g id="Text/Body/Line" transform="translate(24.000000, 0.000000)" fill="#6F777B">
83
+ <g id="Fill/$secondary-text-colour">
84
+ <rect id="Rectangle" x="0" y="0" width="48" height="4"></rect>
85
+ </g>
86
+ </g>
87
+ <g id="Text/Heading/Small" fill="#0B0C0C">
88
+ <g id="Fill/$text-colour">
89
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
90
+ </g>
91
+ </g>
92
+ </g>
93
+ <g id="CYA-Question" transform="translate(0.000000, 12.000000)">
94
+ <g id="Fill/$border-colour" transform="translate(0.000000, 7.000000)" fill="#BFC1C3">
95
+ <rect id="Rectangle" x="0" y="0" width="120" height="1"></rect>
96
+ </g>
97
+ <g id="Text/Link" transform="translate(104.000000, 0.000000)" fill="#005EA5">
98
+ <g id="Fill/$link-colour">
99
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
100
+ </g>
101
+ </g>
102
+ <g id="Text/Body/Line" transform="translate(24.000000, 0.000000)" fill="#6F777B">
103
+ <g id="Fill/$secondary-text-colour">
104
+ <rect id="Rectangle" x="0" y="0" width="48" height="4"></rect>
105
+ </g>
106
+ </g>
107
+ <g id="Text/Heading/Small" fill="#0B0C0C">
108
+ <g id="Fill/$text-colour">
109
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
110
+ </g>
111
+ </g>
112
+ </g>
113
+ <g id="Text/Heading/Medium" fill="#0B0C0C">
114
+ <g id="Fill/$text-colour">
115
+ <rect id="Rectangle" x="0" y="0" width="32" height="8"></rect>
116
+ </g>
117
+ </g>
118
+ </g>
119
+ <g id="Text/Heading/Large" transform="translate(5.000000, 44.000000)" fill="#0B0C0C">
120
+ <g id="Fill/$text-colour">
121
+ <rect id="Rectangle" x="0" y="0" width="120" height="12"></rect>
122
+ </g>
123
+ </g>
124
+ <g id="Object/Back" transform="translate(5.000000, 32.000000)" fill="#6F777B">
125
+ <g id="Fill/$secondary-text-colour">
126
+ <rect id="Rectangle" x="0" y="0" width="16" height="2"></rect>
127
+ </g>
128
+ </g>
129
+ <g id="Object/Header" transform="translate(3.000000, 12.000000)">
130
+ <g id="👑Crown">
131
+ <image x="2" y="4" width="8.99672131" height="8" xlink:href="data:image/png;base64,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"></image>
132
+ <use fill="#0B0C0C" fill-rule="evenodd" xlink:href="#rect-1"></use>
133
+ </g>
134
+ <text id="🖊️Global_Header_Text" font-family="Helvetica" font-size="8" font-weight="normal" fill="#0B0C0C">
135
+ <tspan x="13" y="11">GOV.UK</tspan>
136
+ </text>
137
+ <g id="Fill/$link-colour" transform="translate(2.000000, 15.000000)" fill="#005EA5" fill-rule="evenodd">
138
+ <rect id="Rectangle" x="0" y="0" width="188" height="1"></rect>
139
+ </g>
140
+ </g>
141
+ </g>
142
+ </svg>
@@ -0,0 +1,85 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="200px" height="160px" viewBox="0 0 200 160" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Screen/Question page/Checkbox input</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <rect x="2" y="4" width="8.99672131" height="8" id="rect-1"></rect>
8
+ </defs>
9
+ <g id="Screen/Question-page/Checkbox-input" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
+ <g id="Question-page/Checkbox-input">
11
+ <g id="_Canvas/Browser">
12
+ <rect id="BG" fill="#FFFFFF" x="1" y="1" width="196" height="156"></rect>
13
+ <rect id="Top-Bar" fill="#F2F2F2" x="1" y="1" width="196" height="11"></rect>
14
+ <rect id="Divider" fill="#DEE0E2" x="1" y="11" width="196" height="1"></rect>
15
+ <path d="M7.96153846,8 C6.87821068,8 6,7.1045695 6,6 C6,4.8954305 6.87821068,4 7.96153846,4 C9.04486624,4 9.92307692,4.8954305 9.92307692,6 C9.92307692,7.1045695 9.04486624,8 7.96153846,8 Z M14.5,8 C13.4166722,8 12.5384615,7.1045695 12.5384615,6 C12.5384615,4.8954305 13.4166722,4 14.5,4 C15.5833278,4 16.4615385,4.8954305 16.4615385,6 C16.4615385,7.1045695 15.5833278,8 14.5,8 Z M21.0384615,8 C19.9551338,8 19.0769231,7.1045695 19.0769231,6 C19.0769231,4.8954305 19.9551338,4 21.0384615,4 C22.1217893,4 23,4.8954305 23,6 C23,7.1045695 22.1217893,8 21.0384615,8 Z" id="Combined-Shape" fill="#DEE0E2"></path>
16
+ <polygon id="BG_Border_Top_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="0 0 200 0 197 1 1 1"></polygon>
17
+ <polygon id="BG_Border_Right_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="200 0 200 160 197 157 197 1"></polygon>
18
+ <polygon id="BG_Border_Bottom_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="200 160 0 160 1 157 197 157"></polygon>
19
+ <polygon id="BG_Border_Left_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="0 160 0 0 1 1 1 157"></polygon>
20
+ </g>
21
+ <g id="Button/Primary" transform="translate(5.000000, 116.000000)" fill="#00823B">
22
+ <g id="Fill/$button-colour">
23
+ <rect id="Rectangle" x="0" y="0" width="32" height="8"></rect>
24
+ </g>
25
+ </g>
26
+ <g id="Text/Heading/Large" transform="translate(5.000000, 44.000000)" fill="#0B0C0C">
27
+ <g id="Fill/$text-colour">
28
+ <rect id="Rectangle" x="0" y="0" width="120" height="12"></rect>
29
+ </g>
30
+ </g>
31
+ <g id="Object/Header" transform="translate(3.000000, 12.000000)">
32
+ <g id="👑Crown">
33
+ <image x="2" y="4" width="8.99672131" height="8" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABACAYAAAC5vjEqAAAABGdBTUEAALGOfPtRkwAAB/9JREFUeAHtmv913EYOx6V793+UCo7pYDsIr4JsB0dXcEoF4VWwuQrWHayvAm4qWHVAXQVyKlA+X2pAgdgZLi1Llmwv3oOAAb74MZghRev54uJM5wmcJ3CewOtN4PL1Sj9Uvr+/r9DEObq9vLy8zTm+GxsDauASNd/NIEobZTJXpenIV4r7ruwMossMafcWhvC3t9AEPfwv00fOloF9gyZuy8pvi3WVuUFVwExivO+b0xlGB9/BW3itDSIPsNEh2dYYtrCw3Tc3iNKGtFnYkwZwil5lQG/lHfRmf1v9vXTKp+wcdwVGfMHH3F7yrRE91qmnL/fBSVF9t+xgTz2LxS9RsB3sqWPhH7PhneMB6IsfMbAruIc9qeeXv6kU2fqqTtemFjUArktxPXI4ZaR0o14nz6KG+2RcNCCwOkA/7BQ+iG26US8jUnFfMOqNr5zw2qS4Mh/6Fh6x6DrxSOONxNHA4+bQK9jyTg4lYRFFmuCtp2eRlFRTc9RaIUDaVDzJjfm9BLfJJF2KVY3G8qG3mVzeVBv2yZJsuqZ2QpUlwlb5Shm9ETbFZtyDacAIZ4S1z4CHx8wwkmCaDM5M9QKMsJVwIulwnXjZzQK8huPJ++vd4c+RYoYiyF0OkGzDR+BDi0OTucfLwleGSxs6mCMjdwmjw439G7yzfBi2ZkxSMWvzZyUATbRErYJwqoHYqJKPm0Hv4CL54oA2RSC+gJ2BPv6WA6ShqydP6tkOsPWOoFe+5kQHOBd458Fg1cQ1XMNDYfOz3sElijeoLwGxTx4z1tpkiYYb5HrQQao39Tgenvys4/AwjdRajiMJpBthGeUooGAgVI2VqLEwABryKRo3B7CZAdeW95ScySHX+BgqT/ynxh8zyT/O+Cau9GX9bmJ8WPyO772zr51eUkdMiv09A3yXamZcWdPcXsozYHrVzHTbbKkZY8qn2ySuIhRbC5+iNhOnPot5Iz6uiZ2rW0X8ZE1wA8dndPwtNgF/5iLVQsxS85llsuFU3Iaq2vNRrctcNMAr7Kvke7F/6KU6ehGrXo70KPzE4yP57ET9iqRi0c1L1XlI/8SfNLmGc6QTXT8x7fOHqRn4kDpVcxu4dLLP2gB19E7Zwl1i6dWzFikko84VrL1qz6IDPD0YGeTJ0OSbpVDjgjgb7hcZaKkP2elFGz7eZCEoYRFH9DgkXP2R+9HQFHIPZmBqqE9wNfZqQ1JtWD2Ieni2F/z6hVSi4SPVvoOqmSHM+RSmSRtmhT75omX9JUm11YOogtXbHFUzTj32VzagGdxJ178CoiZxE2wvvkw161Ao9hbc80v9VrO/Sd8AtcnHqH00hHUd1lr+Ar+XUiI2pNP9d8kf7P+l2Q/BFpeqGamOhrDes/4t2GypmTwQza7gOzjS1jAlGQPSui/hvR2svS8KaQbzwceUdJB9LkkJb3Zitpk4zWJ6YTDomdvAHbyDG0syJ8H18BHNxZiPIL1U1UyJ5Lsy/JwsJFh6UHpZa88dvIGruVqDD5CaV+BmDox/C0cqnjrAyYZZ651VotrXBjSJDb5DJsnsEwBew9Aei3l9jQsBU4CmaTQMiIUSVZMAFrIZ0MldxNkajHLXtpZk3bpYU9uAWeM4lddiTVY+h3Qc6rdJugZkpL4auDwsnGoiUpuSKcG19EjY4wZVaAXXcOXxrDtYpOYGH1IH08NGPcrQKLKCbSNdyCWfaqhWA3tqPdZ0ANfwMGhk6wOSvjZsVio4BKlwlWyTBpUg+WrkIWEkeqdLHYuix/wdthaWNOpQok2+8Qahr2Vw5OtLV09V3CS2DhZVcDNojz/G/DFuXKfAu8eYodGtWw8nqwBs3u4gR+rBCuBpj7zLDa3L0y8MG99D4HVTjbYovhftubL8szIE9qw9NQrG0HjjKd0KgvNNWZia06kbSZctUuvyRN/culEcgNhz74JaYSJlv6T5KGsB3iZwlaSJnwt285u8Qfkn/MEMSd669Uf0X6n3I/I/zq4PQ9l+hYUxujUlSeVWjZtgj8sqGax385tdf/NqzbhIhmnrNO1E75SAtd2ELmF16p6urBDGxul1Ainfytktn9yts+sFbLVrZ2+c7h8dxauXBu5g0bWwSMsjabr8Yy7LuUgS2CsaUjI1oaLSa1iNjy9tdPmt6PjOiYXAKFa4cTjCsN7CRuN7I/lUa6gb89ka/yEFC+cPp2NdwVa3kR8WTtRbjk+WBLdDiocfGyVAVfI66ZWkEfbNA/T+3mxR4q8s3vuw9bDRcEuDv8ZZeZvXLRA59Gk+i0EqfhicMLBRa9hPlmTQMDzVc0kAPqkwca0vkvR2rpb3hfjJgDxOOlgNytN42yJ20ZpMO5ftDn3yaPgk+HqHldp6f04Hcx1i/PI6F+NtquED0IuPDL4VrD0Y7XyuJ+lkWlu2JFVgHZNh2yZ/FD0GbUInpxspln4NH+BTJIywMV45ezhHk3eYegW0hv1wFHe0j7ivy2jIrZUY+1Xw3bDWf/b+AVahCn5LdEszH+A/4V/gFezpY/qU8LYjfemAdCLNUfTXbXjPgN6d2kL2QzET9EfG9rWbdPtP0tIbdEUmPWbfEv3IDfp4akOLblBKtD+V7Cvy75cMR/uxP9ov2Zses3oJ0GH2Tpd6C/9fymfQP4itXLxud3wBO3dW1V4W0acMaE/G31JW6SIrdIM+XFdOZi/HaxG/cetU2w/u52Qz3z6tz+I8gfMEzhM4T+A8gfMEzhM4T6Awgb8AnAfEoKwkFKUAAAAASUVORK5CYII="></image>
34
+ <use fill="#0B0C0C" fill-rule="evenodd" xlink:href="#rect-1"></use>
35
+ </g>
36
+ <text id="🖊️Global_Header_Text" font-family="Helvetica" font-size="8" font-weight="normal" fill="#0B0C0C">
37
+ <tspan x="13" y="11">GOV.UK</tspan>
38
+ </text>
39
+ <g id="Fill/$link-colour" transform="translate(2.000000, 15.000000)" fill="#005EA5" fill-rule="evenodd">
40
+ <rect id="Rectangle" x="0" y="0" width="188" height="1"></rect>
41
+ </g>
42
+ </g>
43
+ <g id="Question/Checkbox-input" transform="translate(5.000000, 64.000000)">
44
+ <g id="Form/Label" transform="translate(16.000000, 36.000000)" fill="#0B0C0C">
45
+ <g id="Fill/$text-colour">
46
+ <rect id="Rectangle" x="0" y="0" width="80" height="4"></rect>
47
+ </g>
48
+ </g>
49
+ <g id="Form/Checkbox-input" transform="translate(0.000000, 32.000000)">
50
+ <g id="Fill/$black" fill="#0B0C0C">
51
+ <rect id="Rectangle" x="0" y="0" width="12" height="12"></rect>
52
+ </g>
53
+ <rect id="Inside" fill="#FFFFFF" x="2" y="2" width="8" height="8"></rect>
54
+ </g>
55
+ <g id="Form/Label" transform="translate(16.000000, 20.000000)" fill="#0B0C0C">
56
+ <g id="Fill/$text-colour">
57
+ <rect id="Rectangle" x="0" y="0" width="80" height="4"></rect>
58
+ </g>
59
+ </g>
60
+ <g id="Form/Checkbox-input" transform="translate(0.000000, 16.000000)">
61
+ <g id="Fill/$black" fill="#0B0C0C">
62
+ <rect id="Rectangle" x="0" y="0" width="12" height="12"></rect>
63
+ </g>
64
+ <rect id="Inside" fill="#FFFFFF" x="2" y="2" width="8" height="8"></rect>
65
+ </g>
66
+ <g id="Form/Label" transform="translate(16.000000, 4.000000)" fill="#0B0C0C">
67
+ <g id="Fill/$text-colour">
68
+ <rect id="Rectangle" x="0" y="0" width="80" height="4"></rect>
69
+ </g>
70
+ </g>
71
+ <g id="Form/Checkbox-input">
72
+ <g id="Fill/$black" fill="#0B0C0C">
73
+ <rect id="Rectangle" x="0" y="0" width="12" height="12"></rect>
74
+ </g>
75
+ <rect id="Inside" fill="#FFFFFF" x="2" y="2" width="8" height="8"></rect>
76
+ </g>
77
+ </g>
78
+ <g id="Object/Back" transform="translate(5.000000, 32.000000)" fill="#6F777B">
79
+ <g id="Fill/$secondary-text-colour">
80
+ <rect id="Rectangle" x="0" y="0" width="16" height="2"></rect>
81
+ </g>
82
+ </g>
83
+ </g>
84
+ </g>
85
+ </svg>
@@ -0,0 +1,73 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="200px" height="160px" viewBox="0 0 200 160" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Screen/Confirmation</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <rect x="2" y="4" width="8.99672131" height="8" id="rect-1"></rect>
8
+ </defs>
9
+ <g id="Screen/Confirmation" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
+ <g id="_Canvas/Browser">
11
+ <rect id="BG" fill="#FFFFFF" x="1" y="1" width="196" height="156"></rect>
12
+ <rect id="Top-Bar" fill="#F2F2F2" x="1" y="1" width="196" height="11"></rect>
13
+ <rect id="Divider" fill="#DEE0E2" x="1" y="11" width="196" height="1"></rect>
14
+ <path d="M7.96153846,8 C6.87821068,8 6,7.1045695 6,6 C6,4.8954305 6.87821068,4 7.96153846,4 C9.04486624,4 9.92307692,4.8954305 9.92307692,6 C9.92307692,7.1045695 9.04486624,8 7.96153846,8 Z M14.5,8 C13.4166722,8 12.5384615,7.1045695 12.5384615,6 C12.5384615,4.8954305 13.4166722,4 14.5,4 C15.5833278,4 16.4615385,4.8954305 16.4615385,6 C16.4615385,7.1045695 15.5833278,8 14.5,8 Z M21.0384615,8 C19.9551338,8 19.0769231,7.1045695 19.0769231,6 C19.0769231,4.8954305 19.9551338,4 21.0384615,4 C22.1217893,4 23,4.8954305 23,6 C23,7.1045695 22.1217893,8 21.0384615,8 Z" id="Combined-Shape" fill="#DEE0E2"></path>
15
+ <polygon id="BG_Border_Top_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="0 0 200 0 197 1 1 1"></polygon>
16
+ <polygon id="BG_Border_Right_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="200 0 200 160 197 157 197 1"></polygon>
17
+ <polygon id="BG_Border_Bottom_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="200 160 0 160 1 157 197 157"></polygon>
18
+ <polygon id="BG_Border_Left_2B99C93C-C2D2-47D8-92D7-E97EC61A7761" fill="#0B0C0C" points="0 160 0 0 1 1 1 157"></polygon>
19
+ </g>
20
+ <g id="Text/Link" transform="translate(5.000000, 132.000000)" fill="#005EA5">
21
+ <g id="Fill/$link-colour">
22
+ <rect id="Rectangle" x="0" y="0" width="16" height="4"></rect>
23
+ </g>
24
+ </g>
25
+ <g id="Text/Body/Paragraph" transform="translate(5.000000, 80.000000)" fill="#0B0C0C">
26
+ <g id="Fill/$text-colour" transform="translate(0.000000, 40.000000)">
27
+ <rect id="Rectangle" x="0" y="0" width="64" height="4"></rect>
28
+ </g>
29
+ <g id="Fill/$text-colour" transform="translate(0.000000, 32.000000)">
30
+ <rect id="Rectangle" x="0" y="0" width="96" height="4"></rect>
31
+ </g>
32
+ <g id="Fill/$text-colour" transform="translate(0.000000, 24.000000)">
33
+ <rect id="Rectangle" x="0" y="0" width="96" height="4"></rect>
34
+ </g>
35
+ <g id="Fill/$text-colour" transform="translate(0.000000, 16.000000)">
36
+ <rect id="Rectangle" x="0" y="0" width="96" height="4"></rect>
37
+ </g>
38
+ <g id="Fill/$text-colour" transform="translate(0.000000, 8.000000)">
39
+ <rect id="Rectangle" x="0" y="0" width="96" height="4"></rect>
40
+ </g>
41
+ <g id="Fill/$text-colour">
42
+ <rect id="Rectangle" x="0" y="0" width="64" height="4"></rect>
43
+ </g>
44
+ </g>
45
+ <g id="Object/Confirmation-box" transform="translate(5.000000, 32.000000)">
46
+ <g id="Fill/$turquoise" fill="#28A197">
47
+ <rect id="Rectangle" x="0" y="0" width="120" height="40"></rect>
48
+ </g>
49
+ <g id="Text/Body/Line" transform="translate(28.000000, 26.000000)" fill="#FFFFFF">
50
+ <g id="Fill/$page-colour">
51
+ <rect id="Rectangle" x="0" y="0" width="64" height="4"></rect>
52
+ </g>
53
+ </g>
54
+ <g id="Text/Heading/Large" transform="translate(12.000000, 10.000000)" fill="#FFFFFF">
55
+ <g id="Fill/$page-colour">
56
+ <rect id="Rectangle" x="0" y="0" width="96" height="12"></rect>
57
+ </g>
58
+ </g>
59
+ </g>
60
+ <g id="Object/Header" transform="translate(3.000000, 12.000000)">
61
+ <g id="👑Crown">
62
+ <image x="2" y="4" width="8.99672131" height="8" xlink:href="data:image/png;base64,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"></image>
63
+ <use fill="#0B0C0C" fill-rule="evenodd" xlink:href="#rect-1"></use>
64
+ </g>
65
+ <text id="🖊️Global_Header_Text" font-family="Helvetica" font-size="8" font-weight="normal" fill="#0B0C0C">
66
+ <tspan x="13" y="11">GOV.UK</tspan>
67
+ </text>
68
+ <g id="Fill/$link-colour" transform="translate(2.000000, 15.000000)" fill="#005EA5" fill-rule="evenodd">
69
+ <rect id="Rectangle" x="0" y="0" width="188" height="1"></rect>
70
+ </g>
71
+ </g>
72
+ </g>
73
+ </svg>