@defra/forms-engine-plugin 0.0.4 → 0.0.6

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 (260) hide show
  1. package/.server/server/index.js +0 -4
  2. package/.server/server/index.js.map +1 -1
  3. package/.server/server/plugins/engine/helpers.js +3 -0
  4. package/.server/server/plugins/engine/helpers.js.map +1 -1
  5. package/.server/server/plugins/engine/index.js +27 -1
  6. package/.server/server/plugins/engine/index.js.map +1 -1
  7. package/.server/server/plugins/engine/pageControllers/FileUploadPageController.js +2 -4
  8. package/.server/server/plugins/engine/pageControllers/FileUploadPageController.js.map +1 -1
  9. package/.server/server/plugins/engine/pageControllers/QuestionPageController.js +4 -10
  10. package/.server/server/plugins/engine/pageControllers/QuestionPageController.js.map +1 -1
  11. package/.server/server/plugins/engine/pageControllers/StatusPageController.js +2 -3
  12. package/.server/server/plugins/engine/pageControllers/StatusPageController.js.map +1 -1
  13. package/.server/server/plugins/engine/pageControllers/SummaryPageController.js +2 -4
  14. package/.server/server/plugins/engine/pageControllers/SummaryPageController.js.map +1 -1
  15. package/.server/server/plugins/engine/plugin.js +65 -6
  16. package/.server/server/plugins/engine/plugin.js.map +1 -1
  17. package/.server/server/plugins/engine/types.js.map +1 -1
  18. package/.server/server/{views → plugins/engine/views}/components/service-banner/template.test.js +1 -1
  19. package/.server/server/plugins/engine/views/components/service-banner/template.test.js.map +1 -0
  20. package/.server/server/{views → plugins/engine/views}/components/tag-env/template.test.js +1 -1
  21. package/.server/server/plugins/engine/views/components/tag-env/template.test.js.map +1 -0
  22. package/.server/server/services/cacheService.js +5 -2
  23. package/.server/server/services/cacheService.js.map +1 -1
  24. package/.server/typings/hapi/index.d.js.map +1 -1
  25. package/README.md +215 -4
  26. package/package.json +3 -3
  27. package/src/client/javascripts/application.js +87 -0
  28. package/src/client/javascripts/file-upload.js +386 -0
  29. package/src/client/stylesheets/_code.scss +33 -0
  30. package/src/client/stylesheets/_govuk-frontend.scss +4 -0
  31. package/src/client/stylesheets/_prose.scss +56 -0
  32. package/src/client/stylesheets/_service-banner.scss +24 -0
  33. package/src/client/stylesheets/_summary-list.scss +28 -0
  34. package/src/client/stylesheets/_tag-env.scss +24 -0
  35. package/src/client/stylesheets/application.scss +14 -0
  36. package/src/common/cookies.js +58 -0
  37. package/src/common/cookies.test.js +23 -0
  38. package/src/common/types.js +5 -0
  39. package/src/config/index.ts +271 -0
  40. package/src/index.ts +31 -0
  41. package/src/server/common/helpers/logging/logger-options.test.ts +50 -0
  42. package/src/server/common/helpers/logging/logger-options.ts +46 -0
  43. package/src/server/common/helpers/logging/logger.ts +7 -0
  44. package/src/server/common/helpers/logging/request-logger.ts +9 -0
  45. package/src/server/common/helpers/logging/request-tracing.js +10 -0
  46. package/src/server/common/helpers/redis-client.js +70 -0
  47. package/src/server/constants.js +1 -0
  48. package/src/server/forms/README.md +10 -0
  49. package/src/server/forms/components.json +1015 -0
  50. package/src/server/forms/report-a-terrorist.json +270 -0
  51. package/src/server/forms/runner-components-test.json +365 -0
  52. package/src/server/forms/test.json +581 -0
  53. package/src/server/index.test.ts +582 -0
  54. package/src/server/index.ts +135 -0
  55. package/src/server/plugins/blankie.test.ts +73 -0
  56. package/src/server/plugins/blankie.ts +48 -0
  57. package/src/server/plugins/crumb.ts +20 -0
  58. package/src/server/plugins/engine/README.md +87 -0
  59. package/src/server/plugins/engine/components/AutocompleteField.test.ts +294 -0
  60. package/src/server/plugins/engine/components/AutocompleteField.ts +49 -0
  61. package/src/server/plugins/engine/components/CheckboxesField.test.ts +379 -0
  62. package/src/server/plugins/engine/components/CheckboxesField.ts +106 -0
  63. package/src/server/plugins/engine/components/ComponentBase.ts +97 -0
  64. package/src/server/plugins/engine/components/ComponentCollection.ts +278 -0
  65. package/src/server/plugins/engine/components/DatePartsField.test.ts +822 -0
  66. package/src/server/plugins/engine/components/DatePartsField.ts +264 -0
  67. package/src/server/plugins/engine/components/Details.test.ts +49 -0
  68. package/src/server/plugins/engine/components/Details.ts +30 -0
  69. package/src/server/plugins/engine/components/EmailAddressField.test.ts +395 -0
  70. package/src/server/plugins/engine/components/EmailAddressField.ts +55 -0
  71. package/src/server/plugins/engine/components/FileUploadField.test.ts +778 -0
  72. package/src/server/plugins/engine/components/FileUploadField.ts +262 -0
  73. package/src/server/plugins/engine/components/FormComponent.ts +249 -0
  74. package/src/server/plugins/engine/components/Html.test.ts +48 -0
  75. package/src/server/plugins/engine/components/Html.ts +29 -0
  76. package/src/server/plugins/engine/components/InsetText.test.ts +48 -0
  77. package/src/server/plugins/engine/components/InsetText.ts +27 -0
  78. package/src/server/plugins/engine/components/List.test.ts +76 -0
  79. package/src/server/plugins/engine/components/List.ts +72 -0
  80. package/src/server/plugins/engine/components/ListFormComponent.ts +140 -0
  81. package/src/server/plugins/engine/components/MonthYearField.test.ts +567 -0
  82. package/src/server/plugins/engine/components/MonthYearField.ts +222 -0
  83. package/src/server/plugins/engine/components/MultilineTextField.test.ts +558 -0
  84. package/src/server/plugins/engine/components/MultilineTextField.ts +138 -0
  85. package/src/server/plugins/engine/components/NumberField.test.ts +701 -0
  86. package/src/server/plugins/engine/components/NumberField.ts +163 -0
  87. package/src/server/plugins/engine/components/RadiosField.test.ts +288 -0
  88. package/src/server/plugins/engine/components/RadiosField.ts +24 -0
  89. package/src/server/plugins/engine/components/SelectField.test.ts +288 -0
  90. package/src/server/plugins/engine/components/SelectField.ts +47 -0
  91. package/src/server/plugins/engine/components/SelectionControlField.ts +43 -0
  92. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +356 -0
  93. package/src/server/plugins/engine/components/TelephoneNumberField.ts +67 -0
  94. package/src/server/plugins/engine/components/TextField.test.ts +489 -0
  95. package/src/server/plugins/engine/components/TextField.ts +96 -0
  96. package/src/server/plugins/engine/components/UkAddressField.test.ts +623 -0
  97. package/src/server/plugins/engine/components/UkAddressField.ts +172 -0
  98. package/src/server/plugins/engine/components/YesNoField.test.ts +248 -0
  99. package/src/server/plugins/engine/components/YesNoField.ts +31 -0
  100. package/src/server/plugins/engine/components/constants.ts +1 -0
  101. package/src/server/plugins/engine/components/helpers.ts +330 -0
  102. package/src/server/plugins/engine/components/index.ts +24 -0
  103. package/src/server/plugins/engine/components/types.ts +117 -0
  104. package/src/server/plugins/engine/configureEnginePlugin.ts +47 -0
  105. package/src/server/plugins/engine/helpers.test.ts +791 -0
  106. package/src/server/plugins/engine/helpers.ts +384 -0
  107. package/src/server/plugins/engine/index.ts +47 -0
  108. package/src/server/plugins/engine/models/FormModel.test.ts +42 -0
  109. package/src/server/plugins/engine/models/FormModel.ts +443 -0
  110. package/src/server/plugins/engine/models/RepeatingSummaryViewModel.ts +0 -0
  111. package/src/server/plugins/engine/models/Section.ts +0 -0
  112. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +209 -0
  113. package/src/server/plugins/engine/models/SummaryViewModel.ts +220 -0
  114. package/src/server/plugins/engine/models/index.ts +2 -0
  115. package/src/server/plugins/engine/models/types.ts +114 -0
  116. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +143 -0
  117. package/src/server/plugins/engine/outputFormatters/human/v1.ts +73 -0
  118. package/src/server/plugins/engine/outputFormatters/index.test.ts +17 -0
  119. package/src/server/plugins/engine/outputFormatters/index.ts +44 -0
  120. package/src/server/plugins/engine/outputFormatters/machine/v1.test.ts +229 -0
  121. package/src/server/plugins/engine/outputFormatters/machine/v1.ts +140 -0
  122. package/src/server/plugins/engine/outputFormatters/machine/v2.test.ts +229 -0
  123. package/src/server/plugins/engine/outputFormatters/machine/v2.ts +153 -0
  124. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +1116 -0
  125. package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +447 -0
  126. package/src/server/plugins/engine/pageControllers/PageController.test.ts +205 -0
  127. package/src/server/plugins/engine/pageControllers/PageController.ts +176 -0
  128. package/src/server/plugins/engine/pageControllers/QuestionPageController.test.ts +1264 -0
  129. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +565 -0
  130. package/src/server/plugins/engine/pageControllers/README.md +28 -0
  131. package/src/server/plugins/engine/pageControllers/RepeatPageController.test.ts +264 -0
  132. package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +458 -0
  133. package/src/server/plugins/engine/pageControllers/StartPageController.ts +18 -0
  134. package/src/server/plugins/engine/pageControllers/StatusPageController.ts +51 -0
  135. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +262 -0
  136. package/src/server/plugins/engine/pageControllers/TerminalController.test.ts +28 -0
  137. package/src/server/plugins/engine/pageControllers/TerminalPageController.ts +19 -0
  138. package/src/server/plugins/engine/pageControllers/helpers.test.ts +198 -0
  139. package/src/server/plugins/engine/pageControllers/helpers.ts +101 -0
  140. package/src/server/plugins/engine/pageControllers/index.ts +10 -0
  141. package/src/server/plugins/engine/pageControllers/validationOptions.ts +89 -0
  142. package/src/server/plugins/engine/plugin.ts +753 -0
  143. package/src/server/plugins/engine/services/formSubmissionService.js +46 -0
  144. package/src/server/plugins/engine/services/formsService.js +46 -0
  145. package/src/server/plugins/engine/services/formsService.test.js +90 -0
  146. package/src/server/plugins/engine/services/index.js +3 -0
  147. package/src/server/plugins/engine/services/notifyService.test.ts +132 -0
  148. package/src/server/plugins/engine/services/notifyService.ts +64 -0
  149. package/src/server/plugins/engine/services/uploadService.js +60 -0
  150. package/src/server/plugins/engine/types.ts +317 -0
  151. package/src/server/plugins/engine/views/components/autocompletefield.html +5 -0
  152. package/src/server/plugins/engine/views/components/checkboxesfield.html +5 -0
  153. package/src/server/plugins/engine/views/components/datepartsfield.html +5 -0
  154. package/src/server/plugins/engine/views/components/debug/macro.njk +3 -0
  155. package/src/server/plugins/engine/views/components/debug/template.njk +13 -0
  156. package/src/server/plugins/engine/views/components/details.html +6 -0
  157. package/src/server/plugins/engine/views/components/emailaddressfield.html +5 -0
  158. package/src/server/plugins/engine/views/components/fileuploadfield-key.html +8 -0
  159. package/src/server/plugins/engine/views/components/fileuploadfield-value.html +3 -0
  160. package/src/server/plugins/engine/views/components/fileuploadfield.html +24 -0
  161. package/src/server/plugins/engine/views/components/html.html +3 -0
  162. package/src/server/plugins/engine/views/components/insettext.html +7 -0
  163. package/src/server/plugins/engine/views/components/list.html +36 -0
  164. package/src/server/plugins/engine/views/components/monthyearfield.html +5 -0
  165. package/src/server/plugins/engine/views/components/multilinetextfield.html +10 -0
  166. package/src/server/plugins/engine/views/components/numberfield.html +5 -0
  167. package/src/server/plugins/engine/views/components/radiosfield.html +5 -0
  168. package/src/server/plugins/engine/views/components/selectfield.html +5 -0
  169. package/src/server/plugins/engine/views/components/service-banner/macro.njk +3 -0
  170. package/src/server/plugins/engine/views/components/service-banner/template.njk +20 -0
  171. package/src/server/plugins/engine/views/components/service-banner/template.test.js +43 -0
  172. package/src/server/plugins/engine/views/components/tag-env/macro.njk +3 -0
  173. package/src/server/plugins/engine/views/components/tag-env/template.njk +30 -0
  174. package/src/server/plugins/engine/views/components/tag-env/template.test.js +66 -0
  175. package/src/server/plugins/engine/views/components/telephonenumberfield.html +5 -0
  176. package/src/server/plugins/engine/views/components/textfield.html +5 -0
  177. package/src/server/plugins/engine/views/components/ukaddressfield.html +25 -0
  178. package/src/server/plugins/engine/views/components/yesnofield.html +5 -0
  179. package/src/server/plugins/engine/views/confirmation.html +19 -0
  180. package/src/server/plugins/engine/views/file-upload.html +45 -0
  181. package/src/server/plugins/engine/views/index.html +39 -0
  182. package/src/server/plugins/engine/views/item-delete.html +56 -0
  183. package/src/server/plugins/engine/views/layout.html +199 -0
  184. package/src/server/plugins/engine/views/partials/components.html +6 -0
  185. package/src/server/plugins/engine/views/partials/conditional-components.html +3 -0
  186. package/src/server/plugins/engine/views/partials/debug.html +44 -0
  187. package/src/server/plugins/engine/views/partials/form.html +15 -0
  188. package/src/server/plugins/engine/views/partials/heading.html +16 -0
  189. package/src/server/plugins/engine/views/partials/preview-banner.html +32 -0
  190. package/src/server/plugins/engine/views/partials/preview-banner.test.js +122 -0
  191. package/src/server/plugins/engine/views/partials/warn-missing-notification-email.html +10 -0
  192. package/src/server/plugins/engine/views/repeat-list-summary.html +53 -0
  193. package/src/server/plugins/engine/views/summary.html +50 -0
  194. package/src/server/plugins/errorPages.ts +58 -0
  195. package/src/server/plugins/nunjucks/context.js +88 -0
  196. package/src/server/plugins/nunjucks/context.test.js +142 -0
  197. package/src/server/plugins/nunjucks/enviroment.test.js +201 -0
  198. package/src/server/plugins/nunjucks/environment.js +116 -0
  199. package/src/server/plugins/nunjucks/filters/answer.js +27 -0
  200. package/src/server/plugins/nunjucks/filters/answer.test.js +89 -0
  201. package/src/server/plugins/nunjucks/filters/evaluate.js +21 -0
  202. package/src/server/plugins/nunjucks/filters/field.js +28 -0
  203. package/src/server/plugins/nunjucks/filters/field.test.js +75 -0
  204. package/src/server/plugins/nunjucks/filters/highlight.js +11 -0
  205. package/src/server/plugins/nunjucks/filters/href.js +30 -0
  206. package/src/server/plugins/nunjucks/filters/href.test.js +80 -0
  207. package/src/server/plugins/nunjucks/filters/index.js +8 -0
  208. package/src/server/plugins/nunjucks/filters/inspect.js +15 -0
  209. package/src/server/plugins/nunjucks/filters/page.js +24 -0
  210. package/src/server/plugins/nunjucks/filters/page.test.js +65 -0
  211. package/src/server/plugins/nunjucks/index.js +3 -0
  212. package/src/server/plugins/nunjucks/plugin.js +40 -0
  213. package/src/server/plugins/nunjucks/render.js +42 -0
  214. package/src/server/plugins/nunjucks/types.js +40 -0
  215. package/src/server/plugins/pulse.ts +11 -0
  216. package/src/server/plugins/router.ts +201 -0
  217. package/src/server/plugins/session.ts +28 -0
  218. package/src/server/routes/health.js +13 -0
  219. package/src/server/routes/health.test.js +35 -0
  220. package/src/server/routes/index.test.ts +125 -0
  221. package/src/server/routes/index.ts +2 -0
  222. package/src/server/routes/public.ts +47 -0
  223. package/src/server/routes/types.ts +48 -0
  224. package/src/server/schemas/index.ts +34 -0
  225. package/src/server/secure-context.js +43 -0
  226. package/src/server/services/cacheService.test.ts +277 -0
  227. package/src/server/services/cacheService.ts +138 -0
  228. package/src/server/services/httpService.test.js +491 -0
  229. package/src/server/services/httpService.ts +50 -0
  230. package/src/server/services/index.ts +1 -0
  231. package/src/server/types.ts +54 -0
  232. package/src/server/utils/notify.test.ts +37 -0
  233. package/src/server/utils/notify.ts +50 -0
  234. package/src/server/utils/secure-context/get-trust-store-certs.js +11 -0
  235. package/src/server/utils/secure-context/get-trust-store-certs.test.js +19 -0
  236. package/src/server/utils/utils.js +24 -0
  237. package/src/server/utils/utils.test.js +54 -0
  238. package/src/server/views/404.html +16 -0
  239. package/src/server/views/500.html +19 -0
  240. package/src/server/views/help/accessibility-statement.html +58 -0
  241. package/src/server/views/help/cookie-preferences.html +57 -0
  242. package/src/server/views/help/cookies.html +71 -0
  243. package/src/server/views/help/get-support.html +37 -0
  244. package/src/server/views/help/privacy-notice.html +68 -0
  245. package/src/server/views/help/terms-and-conditions.html +83 -0
  246. package/src/typings/hapi/index.d.ts +87 -0
  247. package/src/typings/hapi-tracing/index.d.ts +6 -0
  248. package/src/typings/index.d.ts +3 -0
  249. package/src/typings/joi/index.d.ts +22 -0
  250. package/.server/server/views/components/service-banner/template.test.js.map +0 -1
  251. package/.server/server/views/components/tag-env/template.test.js.map +0 -1
  252. /package/.server/server/{views → plugins/engine/views}/components/debug/macro.njk +0 -0
  253. /package/.server/server/{views → plugins/engine/views}/components/debug/template.njk +0 -0
  254. /package/.server/server/{views → plugins/engine/views}/components/service-banner/macro.njk +0 -0
  255. /package/.server/server/{views → plugins/engine/views}/components/service-banner/template.njk +0 -0
  256. /package/.server/server/{views → plugins/engine/views}/components/tag-env/macro.njk +0 -0
  257. /package/.server/server/{views → plugins/engine/views}/components/tag-env/template.njk +0 -0
  258. /package/.server/server/{views → plugins/engine/views}/confirmation.html +0 -0
  259. /package/.server/server/{views → plugins/engine/views}/layout.html +0 -0
  260. /package/.server/server/{views → plugins/engine/views}/summary.html +0 -0
@@ -0,0 +1,270 @@
1
+ {
2
+ "startPage": "/do-you-have-a-link-to-the-evidence",
3
+ "pages": [
4
+ {
5
+ "title": "Do you have a link to the evidence?",
6
+ "path": "/do-you-have-a-link-to-the-evidence",
7
+ "components": [
8
+ {
9
+ "name": "UjidZI",
10
+ "title": "Html",
11
+ "options": {},
12
+ "type": "Html",
13
+ "content": "<p class=\"govuk-body\">It’s helpful if you can send us links to the relevant pages, or posts if it was posted on social media.</p>",
14
+ "schema": {}
15
+ },
16
+ {
17
+ "name": "rfUYC",
18
+ "options": {},
19
+ "type": "Details",
20
+ "title": "Help me find the link",
21
+ "content": "If you’re on a website, the link appears in the bar at the top of the page. An example of a link is, www.gov.uk/page/1234/content#.",
22
+ "schema": {}
23
+ },
24
+ {
25
+ "type": "RadiosField",
26
+ "title": "Do you have a link to the material?",
27
+ "options": {},
28
+ "name": "doyouhavealink",
29
+ "schema": {},
30
+ "list": "HTbt4V"
31
+ }
32
+ ],
33
+ "next": [
34
+ {
35
+ "path": "/do-you-have-any-evidence"
36
+ },
37
+ {
38
+ "path": "/yes-i-have-a-link-to-the-material",
39
+ "condition": "b-NGgWvGISkJJLuzsJIjv"
40
+ }
41
+ ],
42
+ "section": "PMXq1s"
43
+ },
44
+ {
45
+ "path": "/do-you-have-any-evidence",
46
+ "title": "Do you have any evidence?",
47
+ "components": [
48
+ {
49
+ "name": "OQrrkG",
50
+ "title": "Html",
51
+ "options": {},
52
+ "type": "Html",
53
+ "content": "<p class=\"govuk-body\">This could be an image or video, for example. Evidence is helpful should the material be deleted before we can find it.It’s safe to save evidence to your device for the purpose of reporting it to us. We recommend deleting it afterwards.</p>",
54
+ "schema": {}
55
+ },
56
+ {
57
+ "name": "3jdOpV",
58
+ "options": {},
59
+ "type": "Details",
60
+ "title": "Help me take a screenshot",
61
+ "content": "Try this:Press the Shift key (⇧), command (or Cmd), and 3The screenshot will be saved to your DesktopYou can now upload it to the formTry this:Press the Ctrl key and the switch window keyThe screenshot will be saved to your DownloadsYou can now upload it to the formIf that doesn’t work, try pressing Ctrl and F5.When viewing the material:Press the Prt Scr key (or similar) to take a copy of your screenPaste the image into Microsoft Paint or a similar applicationSave the file to your computerUpload the file to the formIf that doesn’t work, you may need to search for how to take screenshots on your particular computer model.",
62
+ "schema": {}
63
+ },
64
+ {
65
+ "name": "LU6RMD",
66
+ "options": {},
67
+ "type": "RadiosField",
68
+ "title": "Do you have any evidence?",
69
+ "schema": {},
70
+ "list": "mdmRq9"
71
+ }
72
+ ],
73
+ "next": [
74
+ {
75
+ "path": "/is-there-anything-else-you-can-tell-us"
76
+ },
77
+ {
78
+ "path": "/yes-i-have-evidence",
79
+ "condition": "On5IOaSRDSyLs1G7-Dmdy"
80
+ }
81
+ ],
82
+ "section": "PMXq1s"
83
+ },
84
+ {
85
+ "title": "summary",
86
+ "path": "/summary",
87
+ "controller": "SummaryPageController",
88
+ "components": []
89
+ },
90
+ {
91
+ "path": "/is-there-anything-else-you-can-tell-us",
92
+ "title": "Is there anything else you can tell us?",
93
+ "components": [
94
+ {
95
+ "name": "HETM3o",
96
+ "title": "Html",
97
+ "options": {},
98
+ "type": "Html",
99
+ "content": "<p class=\"govuk-body\">Details may include:who shared the materialwhen it was shareda description, if you haven’t provided a link or evidence</p>",
100
+ "schema": {}
101
+ },
102
+ {
103
+ "name": "evZ-IJ",
104
+ "options": {
105
+ "required": false
106
+ },
107
+ "type": "MultilineTextField",
108
+ "title": "Additional Info",
109
+ "schema": {}
110
+ }
111
+ ],
112
+ "next": [
113
+ {
114
+ "path": "/summary"
115
+ }
116
+ ],
117
+ "section": "PMXq1s"
118
+ },
119
+ {
120
+ "path": "/yes-i-have-a-link-to-the-material",
121
+ "title": "Yes I have a link to the material",
122
+ "components": [
123
+ {
124
+ "type": "MultilineTextField",
125
+ "title": "Link to the material",
126
+ "hint": "Please put in the link to the material here",
127
+ "name": "blarGGH",
128
+ "options": {},
129
+ "schema": {}
130
+ }
131
+ ],
132
+ "next": [
133
+ {
134
+ "path": "/do-you-have-any-evidence"
135
+ }
136
+ ],
137
+ "section": "PMXq1s"
138
+ },
139
+ {
140
+ "path": "/yes-i-have-evidence",
141
+ "title": "Yes I have evidence",
142
+ "components": [
143
+ {
144
+ "name": "koE_ae",
145
+ "options": {
146
+ "required": false
147
+ },
148
+ "type": "MultilineTextField",
149
+ "title": "Evidence",
150
+ "hint": "Please enter your evidence here",
151
+ "schema": {}
152
+ }
153
+ ],
154
+ "next": [
155
+ {
156
+ "path": "/is-there-anything-else-you-can-tell-us"
157
+ }
158
+ ],
159
+ "section": "PMXq1s"
160
+ }
161
+ ],
162
+ "lists": [
163
+ {
164
+ "title": "linktomateriallist",
165
+ "name": "HTbt4V",
166
+ "type": "string",
167
+ "items": [
168
+ {
169
+ "text": "Yes, I do have a link",
170
+ "value": "yes"
171
+ },
172
+ {
173
+ "text": "No, I don't have a link",
174
+ "value": "no"
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ "title": "evidencelist",
180
+ "name": "mdmRq9",
181
+ "type": "string",
182
+ "items": [
183
+ {
184
+ "text": "Yes, I have evidence",
185
+ "value": "yes"
186
+ },
187
+ {
188
+ "text": "No, I don't have evidence",
189
+ "value": "no"
190
+ }
191
+ ]
192
+ }
193
+ ],
194
+ "sections": [
195
+ {
196
+ "name": "PMXq1s",
197
+ "title": "Evidence"
198
+ }
199
+ ],
200
+ "phaseBanner": {},
201
+ "metadata": {},
202
+ "conditions": [
203
+ {
204
+ "name": "b-NGgWvGISkJJLuzsJIjv",
205
+ "displayName": "hasLink",
206
+ "value": {
207
+ "name": "hasLink",
208
+ "conditions": [
209
+ {
210
+ "field": {
211
+ "name": "PMXq1s.doyouhavealink",
212
+ "type": "RadiosField",
213
+ "display": "Do you have a link to the material? in PMXq1s"
214
+ },
215
+ "operator": "is",
216
+ "value": {
217
+ "type": "Value",
218
+ "value": "yes",
219
+ "display": "Yes, I do have a link"
220
+ }
221
+ }
222
+ ]
223
+ }
224
+ },
225
+ {
226
+ "name": "xY51EDbc4lPr6kHZl1umG",
227
+ "displayName": "noEvidence",
228
+ "value": {
229
+ "name": "noEvidence",
230
+ "conditions": [
231
+ {
232
+ "field": {
233
+ "name": "PMXq1s.LU6RMD",
234
+ "type": "RadiosField",
235
+ "display": "Do you have any evidence? in PMXq1s"
236
+ },
237
+ "operator": "is",
238
+ "value": {
239
+ "type": "Value",
240
+ "value": "no",
241
+ "display": "No, I don't have evidence"
242
+ }
243
+ }
244
+ ]
245
+ }
246
+ },
247
+ {
248
+ "name": "On5IOaSRDSyLs1G7-Dmdy",
249
+ "displayName": "hasEvidence",
250
+ "value": {
251
+ "name": "hasEvidence",
252
+ "conditions": [
253
+ {
254
+ "field": {
255
+ "name": "PMXq1s.LU6RMD",
256
+ "type": "RadiosField",
257
+ "display": "Do you have any evidence? in PMXq1s"
258
+ },
259
+ "operator": "is",
260
+ "value": {
261
+ "type": "Value",
262
+ "value": "yes",
263
+ "display": "Yes, I have evidence"
264
+ }
265
+ }
266
+ ]
267
+ }
268
+ }
269
+ ]
270
+ }
@@ -0,0 +1,365 @@
1
+ {
2
+ "startPage": "/do-you-own-a-vehicle",
3
+ "pages": [
4
+ {
5
+ "title": "Do you own a vehicle?",
6
+ "path": "/do-you-own-a-vehicle",
7
+ "components": [
8
+ {
9
+ "name": "qqbRw1",
10
+ "options": {},
11
+ "type": "YesNoField",
12
+ "title": "Do you own a vehicle?",
13
+ "schema": {}
14
+ },
15
+ {
16
+ "name": "LdOljB",
17
+ "options": {},
18
+ "type": "InsetText",
19
+ "title": "Inset text",
20
+ "content": "<strong>It does not matter what you pick as it will redirect you to the same page</strong>",
21
+ "schema": {}
22
+ }
23
+ ],
24
+ "next": [
25
+ {
26
+ "path": "/what-address-is-the-vehicle-registered-to"
27
+ }
28
+ ]
29
+ },
30
+ {
31
+ "path": "/what-address-is-the-vehicle-registered-to",
32
+ "title": "What address is the vehicle registered to?",
33
+ "components": [
34
+ {
35
+ "name": "sFR4aX",
36
+ "options": {},
37
+ "type": "UkAddressField",
38
+ "title": "What address is the vehicle registered to?",
39
+ "schema": {}
40
+ },
41
+ {
42
+ "name": "tVlnZa",
43
+ "options": {},
44
+ "type": "DatePartsField",
45
+ "title": "What date was the vehicle registered at this address?",
46
+ "schema": {}
47
+ },
48
+ {
49
+ "name": "Z0Guyn",
50
+ "options": {},
51
+ "type": "CheckboxesField",
52
+ "title": "Which Clean Air Zones are you claiming an exemption for?",
53
+ "list": "O2uEB1",
54
+ "hint": "Please check all that apply, however you are restricted to a maximum of two choices.",
55
+ "schema": {}
56
+ }
57
+ ],
58
+ "next": [
59
+ {
60
+ "path": "/details-about-your-vehicle"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "path": "/clean-air-zone-caz-exemption",
66
+ "title": "Clean Air Zone (CAZ) Exemption",
67
+ "components": [
68
+ {
69
+ "name": "MOB13t",
70
+ "title": "Html",
71
+ "options": {},
72
+ "type": "Html",
73
+ "content": "<p class=\"govuk-body\">How to check if you're exempt from paying a charge and how to create a business account, and what support or exemptions are available.</p>",
74
+ "schema": {}
75
+ }
76
+ ],
77
+ "next": [
78
+ {
79
+ "path": "/do-you-own-a-vehicle"
80
+ }
81
+ ],
82
+ "controller": "StartPageController"
83
+ },
84
+ {
85
+ "path": "/details-about-your-vehicle",
86
+ "title": "Details about your vehicle",
87
+ "components": [
88
+ {
89
+ "name": "0ZVmN_",
90
+ "options": {},
91
+ "type": "AutocompleteField",
92
+ "title": "What is the make of you vehicle?",
93
+ "list": "-HMHHj",
94
+ "schema": {}
95
+ },
96
+ {
97
+ "name": "gHSgo2",
98
+ "options": {},
99
+ "type": "TextField",
100
+ "title": "Vehicle Model",
101
+ "hint": "For example A1, 740, Elantra",
102
+ "schema": {}
103
+ },
104
+ {
105
+ "name": "4LZ9to",
106
+ "options": {},
107
+ "type": "DatePartsField",
108
+ "title": "Date you purchased the vehicle?",
109
+ "schema": {}
110
+ },
111
+ {
112
+ "type": "RadiosField",
113
+ "title": "What fuel type does your vehicle use?",
114
+ "list": "sm_ssM",
115
+ "name": "fsfsdfsdf",
116
+ "nameHasError": false,
117
+ "options": {},
118
+ "schema": {}
119
+ },
120
+ {
121
+ "name": "chYCuk",
122
+ "options": {},
123
+ "type": "MultilineTextField",
124
+ "title": "Has the vehicle been modified in any way?",
125
+ "hint": "Failure to declare modifications will result in severe penalties if not disclosed at this point.",
126
+ "schema": {}
127
+ }
128
+ ],
129
+ "next": [
130
+ {
131
+ "path": "/driver-details"
132
+ }
133
+ ]
134
+ },
135
+ {
136
+ "path": "/driver-details",
137
+ "title": "Driver details",
138
+ "components": [
139
+ {
140
+ "name": "wJzPKE",
141
+ "options": {},
142
+ "type": "NumberField",
143
+ "title": "How many people in your household drive this vehicle?",
144
+ "schema": {}
145
+ },
146
+ {
147
+ "name": "PNIThU",
148
+ "options": {},
149
+ "type": "TextField",
150
+ "title": "Full name of the main driver",
151
+ "hint": "Please exclude your title",
152
+ "schema": {}
153
+ },
154
+ {
155
+ "name": "0zL5bB",
156
+ "options": {},
157
+ "type": "TelephoneNumberField",
158
+ "title": "Contact number",
159
+ "hint": "Landline or mobile",
160
+ "schema": {}
161
+ }
162
+ ],
163
+ "next": [
164
+ {
165
+ "path": "/final-steps"
166
+ }
167
+ ]
168
+ },
169
+ {
170
+ "path": "/final-steps",
171
+ "title": "final steps",
172
+ "components": [
173
+ {
174
+ "name": "fkd8av",
175
+ "options": {},
176
+ "type": "List",
177
+ "title": "Declaration",
178
+ "list": "mJHWaC",
179
+ "schema": {}
180
+ },
181
+ {
182
+ "name": "L_2AYe",
183
+ "options": {},
184
+ "type": "EmailAddressField",
185
+ "title": "Your email address",
186
+ "hint": "We will send confirmation of your application to the provided email address",
187
+ "schema": {}
188
+ }
189
+ ],
190
+ "next": [
191
+ {
192
+ "path": "/summary"
193
+ }
194
+ ]
195
+ },
196
+ {
197
+ "path": "/summary",
198
+ "title": "Summary",
199
+ "components": [],
200
+ "next": [],
201
+ "controller": "SummaryPageController"
202
+ }
203
+ ],
204
+ "lists": [
205
+ {
206
+ "title": "Vehicle Type",
207
+ "name": "ckrDmV",
208
+ "type": "number",
209
+ "items": [
210
+ {
211
+ "text": "Car",
212
+ "value": 1
213
+ },
214
+ {
215
+ "text": "4 x 4/SUV",
216
+ "value": 2
217
+ },
218
+ {
219
+ "text": "Van",
220
+ "value": 3
221
+ },
222
+ {
223
+ "text": "Motorbike/Moped",
224
+ "value": 4
225
+ }
226
+ ]
227
+ },
228
+ {
229
+ "title": "Vehicle Make",
230
+ "name": "-HMHHj",
231
+ "type": "string",
232
+ "items": [
233
+ {
234
+ "text": "Alfa Romeo",
235
+ "value": "alfa-romeo"
236
+ },
237
+ {
238
+ "text": "BMW",
239
+ "value": "bmw"
240
+ },
241
+ {
242
+ "text": "Ford",
243
+ "value": "ford"
244
+ },
245
+ {
246
+ "text": "Citroen",
247
+ "value": "citroen"
248
+ },
249
+ {
250
+ "text": "Nissan",
251
+ "value": "nissan"
252
+ },
253
+ {
254
+ "text": "Honda",
255
+ "value": "honda"
256
+ },
257
+ {
258
+ "text": "Mercedes",
259
+ "value": "mercedes"
260
+ },
261
+ {
262
+ "text": "Audi",
263
+ "value": "audi"
264
+ },
265
+ {
266
+ "text": "Toyota",
267
+ "value": "toyota"
268
+ },
269
+ {
270
+ "text": "Hyundai",
271
+ "value": "hyundai"
272
+ },
273
+ {
274
+ "text": "Kia",
275
+ "value": "kia"
276
+ }
277
+ ]
278
+ },
279
+ {
280
+ "title": "Fuel types",
281
+ "name": "sm_ssM",
282
+ "type": "string",
283
+ "items": [
284
+ {
285
+ "text": "Diesel",
286
+ "value": "diesel"
287
+ },
288
+ {
289
+ "text": "Electric",
290
+ "value": "electric"
291
+ },
292
+ {
293
+ "text": "Hydrogen",
294
+ "value": "hyrogen"
295
+ },
296
+ {
297
+ "text": "Petrol",
298
+ "value": "petrol"
299
+ },
300
+ {
301
+ "text": "Hybrid",
302
+ "value": "hybrid"
303
+ }
304
+ ]
305
+ },
306
+ {
307
+ "title": "CAZ Location",
308
+ "name": "O2uEB1",
309
+ "type": "string",
310
+ "items": [
311
+ {
312
+ "text": "Bath",
313
+ "value": "bath"
314
+ },
315
+ {
316
+ "text": "Bristol",
317
+ "value": "bristol"
318
+ },
319
+ {
320
+ "text": "Birmingham",
321
+ "value": "birmingham"
322
+ },
323
+ {
324
+ "text": "Cardiff",
325
+ "value": "cardiff"
326
+ },
327
+ {
328
+ "text": "Liverpool",
329
+ "value": "liverpool"
330
+ },
331
+ {
332
+ "text": "Leeds",
333
+ "value": "leeds"
334
+ },
335
+ {
336
+ "text": "Manchester",
337
+ "value": "manchester"
338
+ }
339
+ ]
340
+ },
341
+ {
342
+ "title": "Declaration",
343
+ "name": "mJHWaC",
344
+ "type": "string",
345
+ "items": [
346
+ {
347
+ "text": "You are not a Robot",
348
+ "value": "not-robot"
349
+ },
350
+ {
351
+ "text": "You have not previously claimed an exemption",
352
+ "value": "not-claimed-exemption"
353
+ },
354
+ {
355
+ "text": "You have not omitted or purposely witheld information that might be detrimental to you claim",
356
+ "value": "not-a-liar"
357
+ }
358
+ ]
359
+ }
360
+ ],
361
+ "sections": [],
362
+ "phaseBanner": {},
363
+ "metadata": {},
364
+ "conditions": []
365
+ }