@defra/forms-engine-plugin 0.1.10 → 0.1.12

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 (247) hide show
  1. package/.public/javascripts/file-upload.min.js +1 -1
  2. package/.public/javascripts/file-upload.min.js.map +1 -1
  3. package/.public/stylesheets/application.min.css +1 -1
  4. package/.public/stylesheets/application.min.css.map +1 -1
  5. package/.server/client/javascripts/file-upload.js +45 -4
  6. package/.server/client/javascripts/file-upload.js.map +1 -1
  7. package/.server/client/stylesheets/application.scss +10 -0
  8. package/.server/config/index.js +3 -14
  9. package/.server/config/index.js.map +1 -1
  10. package/.server/server/constants.js +2 -0
  11. package/.server/server/constants.js.map +1 -1
  12. package/.server/server/devserver/dxt-devtool-baselayout.html +71 -0
  13. package/.server/server/forms/register-as-a-unicorn-breeder.json +393 -0
  14. package/.server/server/forms/register-as-a-unicorn-breeder.yaml +251 -0
  15. package/.server/server/index.js +12 -17
  16. package/.server/server/index.js.map +1 -1
  17. package/.server/server/plugins/engine/components/AutocompleteField.js +2 -0
  18. package/.server/server/plugins/engine/components/AutocompleteField.js.map +1 -1
  19. package/.server/server/plugins/engine/components/CheckboxesField.js +3 -4
  20. package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
  21. package/.server/server/plugins/engine/components/ComponentCollection.js +37 -16
  22. package/.server/server/plugins/engine/components/ComponentCollection.js.map +1 -1
  23. package/.server/server/plugins/engine/components/DatePartsField.js +36 -2
  24. package/.server/server/plugins/engine/components/DatePartsField.js.map +1 -1
  25. package/.server/server/plugins/engine/components/EmailAddressField.js +19 -3
  26. package/.server/server/plugins/engine/components/EmailAddressField.js.map +1 -1
  27. package/.server/server/plugins/engine/components/FileUploadField.js +44 -4
  28. package/.server/server/plugins/engine/components/FileUploadField.js.map +1 -1
  29. package/.server/server/plugins/engine/components/FormComponent.js +14 -2
  30. package/.server/server/plugins/engine/components/FormComponent.js.map +1 -1
  31. package/.server/server/plugins/engine/components/ListFormComponent.js +16 -3
  32. package/.server/server/plugins/engine/components/ListFormComponent.js.map +1 -1
  33. package/.server/server/plugins/engine/components/Markdown.js +24 -0
  34. package/.server/server/plugins/engine/components/Markdown.js.map +1 -0
  35. package/.server/server/plugins/engine/components/MonthYearField.js +30 -2
  36. package/.server/server/plugins/engine/components/MonthYearField.js.map +1 -1
  37. package/.server/server/plugins/engine/components/MultilineTextField.js +32 -3
  38. package/.server/server/plugins/engine/components/MultilineTextField.js.map +1 -1
  39. package/.server/server/plugins/engine/components/NumberField.js +28 -3
  40. package/.server/server/plugins/engine/components/NumberField.js.map +1 -1
  41. package/.server/server/plugins/engine/components/SelectionControlField.js +14 -0
  42. package/.server/server/plugins/engine/components/SelectionControlField.js.map +1 -1
  43. package/.server/server/plugins/engine/components/TelephoneNumberField.js +19 -3
  44. package/.server/server/plugins/engine/components/TelephoneNumberField.js.map +1 -1
  45. package/.server/server/plugins/engine/components/TextField.js +22 -3
  46. package/.server/server/plugins/engine/components/TextField.js.map +1 -1
  47. package/.server/server/plugins/engine/components/UkAddressField.js +29 -0
  48. package/.server/server/plugins/engine/components/UkAddressField.js.map +1 -1
  49. package/.server/server/plugins/engine/components/YesNoField.js +18 -0
  50. package/.server/server/plugins/engine/components/YesNoField.js.map +1 -1
  51. package/.server/server/plugins/engine/components/helpers.js +16 -0
  52. package/.server/server/plugins/engine/components/helpers.js.map +1 -1
  53. package/.server/server/plugins/engine/components/index.js +1 -0
  54. package/.server/server/plugins/engine/components/index.js.map +1 -1
  55. package/.server/server/plugins/engine/configureEnginePlugin.js +19 -3
  56. package/.server/server/plugins/engine/configureEnginePlugin.js.map +1 -1
  57. package/.server/server/plugins/engine/helpers.js +38 -18
  58. package/.server/server/plugins/engine/helpers.js.map +1 -1
  59. package/.server/server/plugins/engine/models/FormModel.js +60 -2
  60. package/.server/server/plugins/engine/models/FormModel.js.map +1 -1
  61. package/.server/server/plugins/engine/models/SummaryViewModel.js +3 -2
  62. package/.server/server/plugins/engine/models/SummaryViewModel.js.map +1 -1
  63. package/.server/server/plugins/engine/outputFormatters/human/v1.js +1 -1
  64. package/.server/server/plugins/engine/outputFormatters/human/v1.js.map +1 -1
  65. package/.server/server/plugins/engine/pageControllers/PageController.js +13 -5
  66. package/.server/server/plugins/engine/pageControllers/PageController.js.map +1 -1
  67. package/.server/server/plugins/engine/pageControllers/QuestionPageController.js +2 -2
  68. package/.server/server/plugins/engine/pageControllers/QuestionPageController.js.map +1 -1
  69. package/.server/server/plugins/engine/pageControllers/SummaryPageController.js +19 -5
  70. package/.server/server/plugins/engine/pageControllers/SummaryPageController.js.map +1 -1
  71. package/.server/server/plugins/engine/pageControllers/validationOptions.js +6 -11
  72. package/.server/server/plugins/engine/pageControllers/validationOptions.js.map +1 -1
  73. package/.server/server/plugins/engine/plugin.js +32 -20
  74. package/.server/server/plugins/engine/plugin.js.map +1 -1
  75. package/.server/server/plugins/engine/services/formsService.js +15 -29
  76. package/.server/server/plugins/engine/services/formsService.js.map +1 -1
  77. package/.server/server/plugins/engine/services/localFormsService.js +52 -0
  78. package/.server/server/plugins/engine/services/localFormsService.js.map +1 -0
  79. package/.server/server/plugins/engine/services/notifyService.js +1 -4
  80. package/.server/server/plugins/engine/services/notifyService.js.map +1 -1
  81. package/.server/server/plugins/engine/services/uploadService.js +5 -3
  82. package/.server/server/plugins/engine/services/uploadService.js.map +1 -1
  83. package/.server/server/plugins/engine/types.js.map +1 -1
  84. package/.server/server/plugins/engine/views/components/html.html +1 -1
  85. package/.server/server/plugins/engine/views/components/markdown.html +5 -0
  86. package/.server/server/plugins/engine/views/confirmation.html +1 -1
  87. package/.server/server/plugins/engine/views/file-upload.html +1 -1
  88. package/.server/server/plugins/engine/views/index.html +1 -1
  89. package/.server/server/plugins/engine/views/item-delete.html +1 -1
  90. package/.server/server/plugins/engine/views/repeat-list-summary.html +1 -1
  91. package/.server/server/plugins/engine/views/summary.html +8 -2
  92. package/.server/server/plugins/errorPages.js +4 -26
  93. package/.server/server/plugins/errorPages.js.map +1 -1
  94. package/.server/server/plugins/nunjucks/context.js +43 -33
  95. package/.server/server/plugins/nunjucks/context.js.map +1 -1
  96. package/.server/server/plugins/nunjucks/context.test.js +23 -28
  97. package/.server/server/plugins/nunjucks/context.test.js.map +1 -1
  98. package/.server/server/plugins/nunjucks/enviroment.test.js +6 -3
  99. package/.server/server/plugins/nunjucks/enviroment.test.js.map +1 -1
  100. package/.server/server/plugins/nunjucks/types.js +3 -4
  101. package/.server/server/plugins/nunjucks/types.js.map +1 -1
  102. package/.server/server/routes/index.js +0 -1
  103. package/.server/server/routes/index.js.map +1 -1
  104. package/.server/server/utils/type-utils.js +8 -0
  105. package/.server/server/utils/type-utils.js.map +1 -0
  106. package/.server/typings/hapi/index.d.js.map +1 -1
  107. package/.server/typings/joi/index.d.js.map +1 -1
  108. package/package.json +4 -3
  109. package/src/client/javascripts/file-upload.js +60 -4
  110. package/src/client/stylesheets/application.scss +10 -0
  111. package/src/config/index.ts +4 -17
  112. package/src/server/constants.js +2 -0
  113. package/src/server/devserver/dxt-devtool-baselayout.html +71 -0
  114. package/src/server/forms/register-as-a-unicorn-breeder.json +393 -0
  115. package/src/server/forms/register-as-a-unicorn-breeder.yaml +251 -0
  116. package/src/server/index.test.ts +38 -66
  117. package/src/server/index.ts +15 -17
  118. package/src/server/plugins/engine/components/AutocompleteField.test.ts +71 -3
  119. package/src/server/plugins/engine/components/AutocompleteField.ts +6 -2
  120. package/src/server/plugins/engine/components/CheckboxesField.test.ts +40 -8
  121. package/src/server/plugins/engine/components/CheckboxesField.ts +7 -3
  122. package/src/server/plugins/engine/components/ComponentCollection.ts +45 -18
  123. package/src/server/plugins/engine/components/DatePartsField.test.ts +13 -4
  124. package/src/server/plugins/engine/components/DatePartsField.ts +29 -8
  125. package/src/server/plugins/engine/components/EmailAddressField.test.ts +51 -1
  126. package/src/server/plugins/engine/components/EmailAddressField.ts +17 -2
  127. package/src/server/plugins/engine/components/FileUploadField.test.ts +53 -0
  128. package/src/server/plugins/engine/components/FileUploadField.ts +52 -3
  129. package/src/server/plugins/engine/components/FormComponent.ts +24 -2
  130. package/src/server/plugins/engine/components/ListFormComponent.ts +16 -2
  131. package/src/server/plugins/engine/components/Markdown.test.ts +48 -0
  132. package/src/server/plugins/engine/components/Markdown.ts +29 -0
  133. package/src/server/plugins/engine/components/MonthYearField.test.ts +35 -0
  134. package/src/server/plugins/engine/components/MonthYearField.ts +34 -9
  135. package/src/server/plugins/engine/components/MultilineTextField.test.ts +83 -5
  136. package/src/server/plugins/engine/components/MultilineTextField.ts +37 -2
  137. package/src/server/plugins/engine/components/NumberField.test.ts +24 -2
  138. package/src/server/plugins/engine/components/NumberField.ts +23 -3
  139. package/src/server/plugins/engine/components/RadiosField.test.ts +10 -1
  140. package/src/server/plugins/engine/components/SelectField.test.ts +2 -1
  141. package/src/server/plugins/engine/components/SelectionControlField.ts +14 -0
  142. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +30 -2
  143. package/src/server/plugins/engine/components/TelephoneNumberField.ts +17 -2
  144. package/src/server/plugins/engine/components/TextField.test.ts +33 -1
  145. package/src/server/plugins/engine/components/TextField.ts +17 -2
  146. package/src/server/plugins/engine/components/UkAddressField.test.ts +46 -3
  147. package/src/server/plugins/engine/components/UkAddressField.ts +28 -0
  148. package/src/server/plugins/engine/components/YesNoField.test.ts +9 -1
  149. package/src/server/plugins/engine/components/YesNoField.ts +24 -0
  150. package/src/server/plugins/engine/components/helpers.test.ts +24 -0
  151. package/src/server/plugins/engine/components/helpers.ts +39 -0
  152. package/src/server/plugins/engine/components/index.ts +1 -0
  153. package/src/server/plugins/engine/configureEnginePlugin.ts +32 -4
  154. package/src/server/plugins/engine/helpers.test.ts +71 -20
  155. package/src/server/plugins/engine/helpers.ts +46 -19
  156. package/src/server/plugins/engine/models/FormModel.test.ts +91 -1
  157. package/src/server/plugins/engine/models/FormModel.ts +86 -3
  158. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +46 -7
  159. package/src/server/plugins/engine/models/SummaryViewModel.ts +7 -3
  160. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +1 -2
  161. package/src/server/plugins/engine/outputFormatters/human/v1.ts +1 -1
  162. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +1 -0
  163. package/src/server/plugins/engine/pageControllers/PageController.test.ts +9 -6
  164. package/src/server/plugins/engine/pageControllers/PageController.ts +15 -5
  165. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +2 -2
  166. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +21 -6
  167. package/src/server/plugins/engine/pageControllers/validationOptions.ts +31 -17
  168. package/src/server/plugins/engine/plugin.ts +52 -22
  169. package/src/server/plugins/engine/services/formsService.js +17 -35
  170. package/src/server/plugins/engine/services/localFormsService.js +49 -0
  171. package/src/server/plugins/engine/services/notifyService.ts +1 -2
  172. package/src/server/plugins/engine/services/uploadService.js +10 -6
  173. package/src/server/plugins/engine/types.ts +10 -1
  174. package/src/server/plugins/engine/views/components/html.html +1 -1
  175. package/src/server/plugins/engine/views/components/markdown.html +5 -0
  176. package/src/server/plugins/engine/views/confirmation.html +1 -1
  177. package/src/server/plugins/engine/views/file-upload.html +1 -1
  178. package/src/server/plugins/engine/views/index.html +1 -1
  179. package/src/server/plugins/engine/views/item-delete.html +1 -1
  180. package/src/server/plugins/engine/views/repeat-list-summary.html +1 -1
  181. package/src/server/plugins/engine/views/summary.html +8 -2
  182. package/src/server/plugins/errorPages.ts +4 -26
  183. package/src/server/plugins/nunjucks/context.js +44 -34
  184. package/src/server/plugins/nunjucks/context.test.js +24 -27
  185. package/src/server/plugins/nunjucks/enviroment.test.js +9 -3
  186. package/src/server/plugins/nunjucks/types.js +3 -4
  187. package/src/server/routes/index.ts +0 -1
  188. package/src/server/utils/type-utils.ts +15 -0
  189. package/src/typings/hapi/index.d.ts +3 -9
  190. package/src/typings/joi/index.d.ts +8 -0
  191. package/.server/common/cookies.js +0 -55
  192. package/.server/common/cookies.js.map +0 -1
  193. package/.server/common/cookies.test.js +0 -15
  194. package/.server/common/cookies.test.js.map +0 -1
  195. package/.server/common/types.js +0 -6
  196. package/.server/common/types.js.map +0 -1
  197. package/.server/server/forms/README.md +0 -10
  198. package/.server/server/forms/report-a-terrorist.json +0 -270
  199. package/.server/server/forms/runner-components-test.json +0 -365
  200. package/.server/server/forms/test.json +0 -581
  201. package/.server/server/forms/test.yaml +0 -363
  202. package/.server/server/plugins/blankie.js +0 -29
  203. package/.server/server/plugins/blankie.js.map +0 -1
  204. package/.server/server/plugins/engine/services/formsService.test.js +0 -71
  205. package/.server/server/plugins/engine/services/formsService.test.js.map +0 -1
  206. package/.server/server/plugins/engine/views/layout.html +0 -199
  207. package/.server/server/plugins/router.js +0 -169
  208. package/.server/server/plugins/router.js.map +0 -1
  209. package/.server/server/routes/health.js +0 -15
  210. package/.server/server/routes/health.js.map +0 -1
  211. package/.server/server/routes/health.test.js +0 -32
  212. package/.server/server/routes/health.test.js.map +0 -1
  213. package/.server/server/utils/file-form-service.test.js +0 -52
  214. package/.server/server/utils/file-form-service.test.js.map +0 -1
  215. package/.server/server/views/404.html +0 -16
  216. package/.server/server/views/500.html +0 -19
  217. package/.server/server/views/help/accessibility-statement.html +0 -58
  218. package/.server/server/views/help/cookie-preferences.html +0 -57
  219. package/.server/server/views/help/cookies.html +0 -71
  220. package/.server/server/views/help/get-support.html +0 -37
  221. package/.server/server/views/help/privacy-notice.html +0 -68
  222. package/.server/server/views/help/terms-and-conditions.html +0 -83
  223. package/src/common/cookies.js +0 -58
  224. package/src/common/cookies.test.js +0 -23
  225. package/src/common/types.js +0 -5
  226. package/src/server/forms/README.md +0 -10
  227. package/src/server/forms/report-a-terrorist.json +0 -270
  228. package/src/server/forms/runner-components-test.json +0 -365
  229. package/src/server/forms/test.json +0 -581
  230. package/src/server/forms/test.yaml +0 -363
  231. package/src/server/plugins/blankie.test.ts +0 -73
  232. package/src/server/plugins/blankie.ts +0 -48
  233. package/src/server/plugins/engine/services/formsService.test.js +0 -90
  234. package/src/server/plugins/engine/views/layout.html +0 -199
  235. package/src/server/plugins/router.ts +0 -201
  236. package/src/server/routes/health.js +0 -13
  237. package/src/server/routes/health.test.js +0 -35
  238. package/src/server/routes/index.test.ts +0 -125
  239. package/src/server/utils/file-form-service.test.js +0 -79
  240. package/src/server/views/404.html +0 -16
  241. package/src/server/views/500.html +0 -19
  242. package/src/server/views/help/accessibility-statement.html +0 -58
  243. package/src/server/views/help/cookie-preferences.html +0 -57
  244. package/src/server/views/help/cookies.html +0 -71
  245. package/src/server/views/help/get-support.html +0 -37
  246. package/src/server/views/help/privacy-notice.html +0 -68
  247. package/src/server/views/help/terms-and-conditions.html +0 -83
@@ -1,581 +0,0 @@
1
- {
2
- "startPage": "/start",
3
- "pages": [
4
- {
5
- "title": "Start",
6
- "path": "/start",
7
- "components": [],
8
- "next": [
9
- {
10
- "path": "/uk-passport"
11
- }
12
- ],
13
- "controller": "StartPageController"
14
- },
15
- {
16
- "path": "/uk-passport",
17
- "components": [
18
- {
19
- "type": "YesNoField",
20
- "name": "ukPassport",
21
- "title": "Do you have a UK passport?",
22
- "options": {
23
- "required": true
24
- },
25
- "schema": {}
26
- }
27
- ],
28
- "section": "checkBeforeYouStart",
29
- "next": [
30
- {
31
- "path": "/how-many-people"
32
- },
33
- {
34
- "path": "/no-uk-passport",
35
- "condition": "doesntHaveUKPassport"
36
- }
37
- ],
38
- "title": "Do you have a UK passport?"
39
- },
40
- {
41
- "path": "/no-uk-passport",
42
- "title": "You're not eligible for this service",
43
- "components": [
44
- {
45
- "type": "Html",
46
- "name": "html",
47
- "title": "Html",
48
- "content": "<p class=\"govuk-body\">If you still think you're eligible please contact the Foreign and Commonwealth Office.</p>",
49
- "options": {},
50
- "schema": {}
51
- }
52
- ],
53
- "next": []
54
- },
55
- {
56
- "path": "/how-many-people",
57
- "section": "applicantDetails",
58
- "components": [
59
- {
60
- "options": {
61
- "classes": "govuk-input--width-10",
62
- "required": true
63
- },
64
- "type": "SelectField",
65
- "name": "numberOfApplicants",
66
- "title": "How many applicants are there?",
67
- "list": "numberOfApplicants"
68
- }
69
- ],
70
- "next": [
71
- {
72
- "path": "/applicant-one"
73
- }
74
- ],
75
- "title": "How many applicants are there?"
76
- },
77
- {
78
- "path": "/applicant-one",
79
- "title": "Applicant 1",
80
- "section": "applicantOneDetails",
81
- "components": [
82
- {
83
- "type": "Html",
84
- "name": "html",
85
- "title": "Html",
86
- "content": "<p class=\"govuk-body\">Provide the details as they appear on your passport.</p>",
87
- "options": {},
88
- "schema": {}
89
- },
90
- {
91
- "type": "TextField",
92
- "name": "firstName",
93
- "title": "First name",
94
- "options": {
95
- "required": true
96
- },
97
- "schema": {}
98
- },
99
- {
100
- "options": {
101
- "required": false,
102
- "optionalText": false
103
- },
104
- "type": "TextField",
105
- "name": "middleName",
106
- "title": "Middle name",
107
- "hint": "If you have a middle name on your passport you must include it here",
108
- "schema": {}
109
- },
110
- {
111
- "type": "TextField",
112
- "name": "lastName",
113
- "title": "Surname",
114
- "options": {
115
- "required": true
116
- },
117
- "schema": {}
118
- }
119
- ],
120
- "next": [
121
- {
122
- "path": "/applicant-one-address"
123
- }
124
- ]
125
- },
126
- {
127
- "path": "/applicant-one-address",
128
- "section": "applicantOneDetails",
129
- "components": [
130
- {
131
- "type": "UkAddressField",
132
- "name": "address",
133
- "title": "Address",
134
- "options": {
135
- "required": true
136
- },
137
- "schema": {}
138
- }
139
- ],
140
- "next": [
141
- {
142
- "path": "/applicant-two",
143
- "condition": "moreThanOneApplicant"
144
- },
145
- {
146
- "path": "/contact-details"
147
- }
148
- ],
149
- "title": "Address"
150
- },
151
- {
152
- "path": "/applicant-two",
153
- "title": "Applicant 2",
154
- "section": "applicantTwoDetails",
155
- "components": [
156
- {
157
- "type": "Html",
158
- "name": "html",
159
- "title": "Html",
160
- "content": "<p class=\"govuk-body\">Provide the details as they appear on your passport.</p>",
161
- "options": {},
162
- "schema": {}
163
- },
164
- {
165
- "type": "TextField",
166
- "name": "firstName",
167
- "title": "First name",
168
- "options": {
169
- "required": true
170
- },
171
- "schema": {}
172
- },
173
- {
174
- "options": {
175
- "required": false,
176
- "optionalText": false
177
- },
178
- "type": "TextField",
179
- "name": "middleName",
180
- "title": "Middle name",
181
- "hint": "If you have a middle name on your passport you must include it here",
182
- "schema": {}
183
- },
184
- {
185
- "type": "TextField",
186
- "name": "lastName",
187
- "title": "Surname",
188
- "options": {
189
- "required": true
190
- },
191
- "schema": {}
192
- }
193
- ],
194
- "next": [
195
- {
196
- "path": "/applicant-two-address"
197
- }
198
- ]
199
- },
200
- {
201
- "path": "/applicant-two-address",
202
- "section": "applicantTwoDetails",
203
- "components": [
204
- {
205
- "type": "UkAddressField",
206
- "name": "address",
207
- "title": "Address",
208
- "options": {
209
- "required": true
210
- },
211
- "schema": {}
212
- }
213
- ],
214
- "next": [
215
- {
216
- "path": "/applicant-three",
217
- "condition": "moreThanTwoApplicants"
218
- },
219
- {
220
- "path": "/contact-details"
221
- }
222
- ],
223
- "title": "Address"
224
- },
225
- {
226
- "path": "/applicant-three",
227
- "title": "Applicant 3",
228
- "section": "applicantThreeDetails",
229
- "components": [
230
- {
231
- "type": "Html",
232
- "name": "html",
233
- "title": "Html",
234
- "content": "<p class=\"govuk-body\">Provide the details as they appear on your passport.</p>",
235
- "options": {},
236
- "schema": {}
237
- },
238
- {
239
- "type": "TextField",
240
- "name": "firstName",
241
- "title": "First name",
242
- "options": {
243
- "required": true
244
- },
245
- "schema": {}
246
- },
247
- {
248
- "options": {
249
- "required": false,
250
- "optionalText": false
251
- },
252
- "type": "TextField",
253
- "name": "middleName",
254
- "title": "Middle name",
255
- "hint": "If you have a middle name on your passport you must include it here",
256
- "schema": {}
257
- },
258
- {
259
- "type": "TextField",
260
- "name": "lastName",
261
- "title": "Surname",
262
- "options": {
263
- "required": true
264
- },
265
- "schema": {}
266
- }
267
- ],
268
- "next": [
269
- {
270
- "path": "/applicant-three-address"
271
- }
272
- ]
273
- },
274
- {
275
- "path": "/applicant-three-address",
276
- "section": "applicantThreeDetails",
277
- "components": [
278
- {
279
- "type": "UkAddressField",
280
- "name": "address",
281
- "title": "Address",
282
- "options": {
283
- "required": true
284
- },
285
- "schema": {}
286
- }
287
- ],
288
- "next": [
289
- {
290
- "path": "/applicant-four",
291
- "condition": "moreThanThreeApplicants"
292
- },
293
- {
294
- "path": "/contact-details"
295
- }
296
- ],
297
- "title": "Address"
298
- },
299
- {
300
- "path": "/applicant-four",
301
- "title": "Applicant 4",
302
- "section": "applicantFourDetails",
303
- "components": [
304
- {
305
- "type": "Html",
306
- "name": "html",
307
- "title": "Html",
308
- "content": "<p class=\"govuk-body\">Provide the details as they appear on your passport.</p>",
309
- "options": {},
310
- "schema": {}
311
- },
312
- {
313
- "type": "TextField",
314
- "name": "firstName",
315
- "title": "First name",
316
- "options": {
317
- "required": true
318
- },
319
- "schema": {}
320
- },
321
- {
322
- "options": {
323
- "required": false,
324
- "optionalText": false
325
- },
326
- "type": "TextField",
327
- "name": "middleName",
328
- "title": "Middle name",
329
- "hint": "If you have a middle name on your passport you must include it here",
330
- "schema": {}
331
- },
332
- {
333
- "type": "TextField",
334
- "name": "lastName",
335
- "title": "Surname",
336
- "options": {
337
- "required": true
338
- },
339
- "schema": {}
340
- }
341
- ],
342
- "next": [
343
- {
344
- "path": "/applicant-four-address"
345
- }
346
- ]
347
- },
348
- {
349
- "path": "/applicant-four-address",
350
- "section": "applicantFourDetails",
351
- "components": [
352
- {
353
- "type": "UkAddressField",
354
- "name": "address",
355
- "title": "Address",
356
- "options": {
357
- "required": true
358
- },
359
- "schema": {}
360
- }
361
- ],
362
- "next": [
363
- {
364
- "path": "/contact-details"
365
- }
366
- ],
367
- "title": "Address"
368
- },
369
- {
370
- "path": "/contact-details",
371
- "section": "applicantDetails",
372
- "components": [
373
- {
374
- "type": "TelephoneNumberField",
375
- "name": "phoneNumber",
376
- "title": "Phone number",
377
- "hint": "If you haven't got a UK phone number, include country code",
378
- "options": {
379
- "required": true
380
- },
381
- "schema": {}
382
- },
383
- {
384
- "type": "EmailAddressField",
385
- "name": "emailAddress",
386
- "title": "Your email address",
387
- "options": {
388
- "required": true
389
- },
390
- "schema": {}
391
- }
392
- ],
393
- "next": [
394
- {
395
- "path": "/summary"
396
- }
397
- ],
398
- "title": "Applicant contact details"
399
- },
400
- {
401
- "path": "/summary",
402
- "controller": "SummaryPageController",
403
- "title": "Summary",
404
- "components": [],
405
- "next": []
406
- }
407
- ],
408
- "lists": [
409
- {
410
- "name": "numberOfApplicants",
411
- "title": "Number of people",
412
- "type": "number",
413
- "items": [
414
- {
415
- "text": "1",
416
- "value": 1,
417
- "description": "",
418
- "condition": ""
419
- },
420
- {
421
- "text": "2",
422
- "value": 2,
423
- "description": "",
424
- "condition": ""
425
- },
426
- {
427
- "text": "3",
428
- "value": 3,
429
- "description": "",
430
- "condition": ""
431
- },
432
- {
433
- "text": "4",
434
- "value": 4,
435
- "description": "",
436
- "condition": ""
437
- }
438
- ]
439
- }
440
- ],
441
- "sections": [
442
- {
443
- "name": "checkBeforeYouStart",
444
- "title": "Check before you start"
445
- },
446
- {
447
- "name": "applicantDetails",
448
- "title": "Applicant details"
449
- },
450
- {
451
- "name": "applicantOneDetails",
452
- "title": "Applicant 1"
453
- },
454
- {
455
- "name": "applicantTwoDetails",
456
- "title": "Applicant 2"
457
- },
458
- {
459
- "name": "applicantThreeDetails",
460
- "title": "Applicant 3"
461
- },
462
- {
463
- "name": "applicantFourDetails",
464
- "title": "Applicant 4"
465
- }
466
- ],
467
- "phaseBanner": {},
468
- "declaration": "<p class=\"govuk-body\">All the answers you have provided are true to the best of your knowledge.</p>",
469
- "conditions": [
470
- {
471
- "name": "hasUKPassport",
472
- "displayName": "hasUKPassport",
473
- "value": {
474
- "name": "hasUKPassport",
475
- "conditions": [
476
- {
477
- "field": {
478
- "name": "checkBeforeYouStart.ukPassport",
479
- "type": "YesNoField",
480
- "display": "Do you have a UK passport?"
481
- },
482
- "operator": "is",
483
- "value": {
484
- "type": "Value",
485
- "value": "true",
486
- "display": "true"
487
- }
488
- }
489
- ]
490
- }
491
- },
492
- {
493
- "name": "doesntHaveUKPassport",
494
- "displayName": "doesntHaveUKPassport",
495
- "value": {
496
- "name": "doesntHaveUKPassport",
497
- "conditions": [
498
- {
499
- "field": {
500
- "name": "checkBeforeYouStart.ukPassport",
501
- "type": "YesNoField",
502
- "display": "Do you have a UK passport?"
503
- },
504
- "operator": "is",
505
- "value": {
506
- "type": "Value",
507
- "value": "false",
508
- "display": "false"
509
- }
510
- }
511
- ]
512
- }
513
- },
514
- {
515
- "name": "moreThanOneApplicant",
516
- "displayName": "moreThanOneApplicant",
517
- "value": {
518
- "name": "moreThanOneApplicant",
519
- "conditions": [
520
- {
521
- "field": {
522
- "name": "applicantDetails.numberOfApplicants",
523
- "type": "SelectField",
524
- "display": "How many applicants are there?"
525
- },
526
- "operator": "is more than",
527
- "value": {
528
- "type": "Value",
529
- "value": "1",
530
- "display": "1"
531
- }
532
- }
533
- ]
534
- }
535
- },
536
- {
537
- "name": "moreThanTwoApplicants",
538
- "displayName": "moreThanTwoApplicants",
539
- "value": {
540
- "name": "moreThanTwoApplicants",
541
- "conditions": [
542
- {
543
- "field": {
544
- "name": "applicantDetails.numberOfApplicants",
545
- "type": "SelectField",
546
- "display": "How many applicants are there?"
547
- },
548
- "operator": "is more than",
549
- "value": {
550
- "type": "Value",
551
- "value": "2",
552
- "display": "2"
553
- }
554
- }
555
- ]
556
- }
557
- },
558
- {
559
- "name": "moreThanThreeApplicants",
560
- "displayName": "moreThanThreeApplicants",
561
- "value": {
562
- "name": "moreThanThreeApplicants",
563
- "conditions": [
564
- {
565
- "field": {
566
- "name": "applicantDetails.numberOfApplicants",
567
- "type": "SelectField",
568
- "display": "How many applicants are there?"
569
- },
570
- "operator": "is more than",
571
- "value": {
572
- "type": "Value",
573
- "value": "3",
574
- "display": "3"
575
- }
576
- }
577
- ]
578
- }
579
- }
580
- ]
581
- }