@defra/forms-engine-plugin 0.0.2 → 0.0.4

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 (330) hide show
  1. package/.public/assets/fonts/bold-affa96571d-v2.woff +0 -0
  2. package/.public/assets/fonts/bold-b542beb274-v2.woff2 +0 -0
  3. package/.public/assets/fonts/light-94a07e06a1-v2.woff2 +0 -0
  4. package/.public/assets/fonts/light-f591b13f7d-v2.woff +0 -0
  5. package/.public/assets/images/favicon.ico +0 -0
  6. package/.public/assets/images/favicon.svg +1 -0
  7. package/.public/assets/images/govuk-crest.svg +1 -0
  8. package/.public/assets/images/govuk-icon-180.png +0 -0
  9. package/.public/assets/images/govuk-icon-192.png +0 -0
  10. package/.public/assets/images/govuk-icon-512.png +0 -0
  11. package/.public/assets/images/govuk-icon-mask.svg +1 -0
  12. package/.public/assets/images/govuk-opengraph-image.png +0 -0
  13. package/.public/assets/manifest.json +39 -0
  14. package/.public/assets-manifest.json +24 -0
  15. package/.public/javascripts/application.0fd8c18.min.js +3 -0
  16. package/.public/javascripts/application.0fd8c18.min.js.LICENSE.txt +58 -0
  17. package/.public/javascripts/application.0fd8c18.min.js.map +1 -0
  18. package/.public/javascripts/file-upload.b2f18f5.min.js +2 -0
  19. package/.public/javascripts/file-upload.b2f18f5.min.js.map +1 -0
  20. package/.public/javascripts/vendor/accessible-autocomplete.275d332.min.js +2 -0
  21. package/.public/javascripts/vendor/accessible-autocomplete.275d332.min.js.map +1 -0
  22. package/.public/stylesheets/application.e340021.min.css +14 -0
  23. package/.public/stylesheets/application.e340021.min.css.map +1 -0
  24. package/.server/server/plugins/nunjucks/environment.js +3 -3
  25. package/.server/server/plugins/nunjucks/environment.js.map +1 -1
  26. package/package.json +6 -2
  27. package/.browserslistrc +0 -16
  28. package/.editorconfig +0 -9
  29. package/.eslintrc.cjs +0 -266
  30. package/.github/dependabot.yml +0 -85
  31. package/.github/workflows/check-pull-request.yml +0 -209
  32. package/.github/workflows/pr-notifier.yml +0 -98
  33. package/.github/workflows/publish.yml +0 -111
  34. package/.husky/pre-commit +0 -1
  35. package/.lintstagedrc.js +0 -4
  36. package/.nvmrc +0 -1
  37. package/.prettierignore +0 -8
  38. package/.prettierrc.cjs +0 -26
  39. package/Dockerfile +0 -61
  40. package/Procfile +0 -1
  41. package/babel.config.cjs +0 -55
  42. package/compose/aws.env +0 -4
  43. package/compose/start-localstack.sh +0 -26
  44. package/docker-compose.yaml +0 -86
  45. package/globals.d.ts +0 -1
  46. package/jest.config.cjs +0 -54
  47. package/jest.environment.js +0 -4
  48. package/jest.setup.cjs +0 -14
  49. package/postcss.config.js +0 -26
  50. package/sonar-project.properties +0 -17
  51. package/src/client/javascripts/application.js +0 -87
  52. package/src/client/javascripts/file-upload.js +0 -386
  53. package/src/client/stylesheets/_code.scss +0 -33
  54. package/src/client/stylesheets/_govuk-frontend.scss +0 -4
  55. package/src/client/stylesheets/_prose.scss +0 -56
  56. package/src/client/stylesheets/_service-banner.scss +0 -24
  57. package/src/client/stylesheets/_summary-list.scss +0 -28
  58. package/src/client/stylesheets/_tag-env.scss +0 -24
  59. package/src/client/stylesheets/application.scss +0 -14
  60. package/src/common/cookies.js +0 -58
  61. package/src/common/cookies.test.js +0 -23
  62. package/src/common/types.js +0 -5
  63. package/src/config/index.ts +0 -271
  64. package/src/index.ts +0 -31
  65. package/src/server/common/helpers/logging/logger-options.test.ts +0 -50
  66. package/src/server/common/helpers/logging/logger-options.ts +0 -46
  67. package/src/server/common/helpers/logging/logger.ts +0 -7
  68. package/src/server/common/helpers/logging/request-logger.ts +0 -9
  69. package/src/server/common/helpers/logging/request-tracing.js +0 -10
  70. package/src/server/common/helpers/redis-client.js +0 -70
  71. package/src/server/constants.js +0 -1
  72. package/src/server/forms/README.md +0 -10
  73. package/src/server/forms/components.json +0 -1015
  74. package/src/server/forms/report-a-terrorist.json +0 -270
  75. package/src/server/forms/runner-components-test.json +0 -365
  76. package/src/server/forms/test.json +0 -581
  77. package/src/server/index.test.ts +0 -582
  78. package/src/server/index.ts +0 -140
  79. package/src/server/plugins/blankie.test.ts +0 -73
  80. package/src/server/plugins/blankie.ts +0 -48
  81. package/src/server/plugins/crumb.ts +0 -20
  82. package/src/server/plugins/engine/README.md +0 -87
  83. package/src/server/plugins/engine/components/AutocompleteField.test.ts +0 -294
  84. package/src/server/plugins/engine/components/AutocompleteField.ts +0 -49
  85. package/src/server/plugins/engine/components/CheckboxesField.test.ts +0 -379
  86. package/src/server/plugins/engine/components/CheckboxesField.ts +0 -106
  87. package/src/server/plugins/engine/components/ComponentBase.ts +0 -97
  88. package/src/server/plugins/engine/components/ComponentCollection.ts +0 -278
  89. package/src/server/plugins/engine/components/DatePartsField.test.ts +0 -822
  90. package/src/server/plugins/engine/components/DatePartsField.ts +0 -264
  91. package/src/server/plugins/engine/components/Details.test.ts +0 -49
  92. package/src/server/plugins/engine/components/Details.ts +0 -30
  93. package/src/server/plugins/engine/components/EmailAddressField.test.ts +0 -395
  94. package/src/server/plugins/engine/components/EmailAddressField.ts +0 -55
  95. package/src/server/plugins/engine/components/FileUploadField.test.ts +0 -778
  96. package/src/server/plugins/engine/components/FileUploadField.ts +0 -262
  97. package/src/server/plugins/engine/components/FormComponent.ts +0 -249
  98. package/src/server/plugins/engine/components/Html.test.ts +0 -48
  99. package/src/server/plugins/engine/components/Html.ts +0 -29
  100. package/src/server/plugins/engine/components/InsetText.test.ts +0 -48
  101. package/src/server/plugins/engine/components/InsetText.ts +0 -27
  102. package/src/server/plugins/engine/components/List.test.ts +0 -76
  103. package/src/server/plugins/engine/components/List.ts +0 -72
  104. package/src/server/plugins/engine/components/ListFormComponent.ts +0 -140
  105. package/src/server/plugins/engine/components/MonthYearField.test.ts +0 -567
  106. package/src/server/plugins/engine/components/MonthYearField.ts +0 -222
  107. package/src/server/plugins/engine/components/MultilineTextField.test.ts +0 -558
  108. package/src/server/plugins/engine/components/MultilineTextField.ts +0 -138
  109. package/src/server/plugins/engine/components/NumberField.test.ts +0 -701
  110. package/src/server/plugins/engine/components/NumberField.ts +0 -163
  111. package/src/server/plugins/engine/components/RadiosField.test.ts +0 -288
  112. package/src/server/plugins/engine/components/RadiosField.ts +0 -24
  113. package/src/server/plugins/engine/components/SelectField.test.ts +0 -288
  114. package/src/server/plugins/engine/components/SelectField.ts +0 -47
  115. package/src/server/plugins/engine/components/SelectionControlField.ts +0 -43
  116. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +0 -356
  117. package/src/server/plugins/engine/components/TelephoneNumberField.ts +0 -67
  118. package/src/server/plugins/engine/components/TextField.test.ts +0 -489
  119. package/src/server/plugins/engine/components/TextField.ts +0 -96
  120. package/src/server/plugins/engine/components/UkAddressField.test.ts +0 -623
  121. package/src/server/plugins/engine/components/UkAddressField.ts +0 -172
  122. package/src/server/plugins/engine/components/YesNoField.test.ts +0 -248
  123. package/src/server/plugins/engine/components/YesNoField.ts +0 -31
  124. package/src/server/plugins/engine/components/constants.ts +0 -1
  125. package/src/server/plugins/engine/components/helpers.ts +0 -330
  126. package/src/server/plugins/engine/components/index.ts +0 -24
  127. package/src/server/plugins/engine/components/types.ts +0 -117
  128. package/src/server/plugins/engine/configureEnginePlugin.ts +0 -47
  129. package/src/server/plugins/engine/helpers.test.ts +0 -791
  130. package/src/server/plugins/engine/helpers.ts +0 -379
  131. package/src/server/plugins/engine/index.ts +0 -7
  132. package/src/server/plugins/engine/models/FormModel.test.ts +0 -42
  133. package/src/server/plugins/engine/models/FormModel.ts +0 -443
  134. package/src/server/plugins/engine/models/RepeatingSummaryViewModel.ts +0 -0
  135. package/src/server/plugins/engine/models/Section.ts +0 -0
  136. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +0 -209
  137. package/src/server/plugins/engine/models/SummaryViewModel.ts +0 -220
  138. package/src/server/plugins/engine/models/index.ts +0 -2
  139. package/src/server/plugins/engine/models/types.ts +0 -114
  140. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +0 -143
  141. package/src/server/plugins/engine/outputFormatters/human/v1.ts +0 -73
  142. package/src/server/plugins/engine/outputFormatters/index.test.ts +0 -17
  143. package/src/server/plugins/engine/outputFormatters/index.ts +0 -44
  144. package/src/server/plugins/engine/outputFormatters/machine/v1.test.ts +0 -229
  145. package/src/server/plugins/engine/outputFormatters/machine/v1.ts +0 -140
  146. package/src/server/plugins/engine/outputFormatters/machine/v2.test.ts +0 -229
  147. package/src/server/plugins/engine/outputFormatters/machine/v2.ts +0 -153
  148. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +0 -1108
  149. package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +0 -446
  150. package/src/server/plugins/engine/pageControllers/PageController.test.ts +0 -205
  151. package/src/server/plugins/engine/pageControllers/PageController.ts +0 -176
  152. package/src/server/plugins/engine/pageControllers/QuestionPageController.test.ts +0 -1264
  153. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +0 -561
  154. package/src/server/plugins/engine/pageControllers/README.md +0 -28
  155. package/src/server/plugins/engine/pageControllers/RepeatPageController.test.ts +0 -264
  156. package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +0 -458
  157. package/src/server/plugins/engine/pageControllers/StartPageController.ts +0 -18
  158. package/src/server/plugins/engine/pageControllers/StatusPageController.ts +0 -50
  159. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +0 -261
  160. package/src/server/plugins/engine/pageControllers/TerminalController.test.ts +0 -28
  161. package/src/server/plugins/engine/pageControllers/TerminalPageController.ts +0 -19
  162. package/src/server/plugins/engine/pageControllers/helpers.test.ts +0 -198
  163. package/src/server/plugins/engine/pageControllers/helpers.ts +0 -101
  164. package/src/server/plugins/engine/pageControllers/index.ts +0 -10
  165. package/src/server/plugins/engine/pageControllers/validationOptions.ts +0 -89
  166. package/src/server/plugins/engine/plugin.ts +0 -673
  167. package/src/server/plugins/engine/services/formSubmissionService.js +0 -46
  168. package/src/server/plugins/engine/services/formsService.js +0 -46
  169. package/src/server/plugins/engine/services/formsService.test.js +0 -90
  170. package/src/server/plugins/engine/services/index.js +0 -3
  171. package/src/server/plugins/engine/services/notifyService.test.ts +0 -132
  172. package/src/server/plugins/engine/services/notifyService.ts +0 -64
  173. package/src/server/plugins/engine/services/uploadService.js +0 -60
  174. package/src/server/plugins/engine/types.ts +0 -315
  175. package/src/server/plugins/engine/views/components/autocompletefield.html +0 -5
  176. package/src/server/plugins/engine/views/components/checkboxesfield.html +0 -5
  177. package/src/server/plugins/engine/views/components/datepartsfield.html +0 -5
  178. package/src/server/plugins/engine/views/components/details.html +0 -6
  179. package/src/server/plugins/engine/views/components/emailaddressfield.html +0 -5
  180. package/src/server/plugins/engine/views/components/fileuploadfield-key.html +0 -8
  181. package/src/server/plugins/engine/views/components/fileuploadfield-value.html +0 -3
  182. package/src/server/plugins/engine/views/components/fileuploadfield.html +0 -24
  183. package/src/server/plugins/engine/views/components/html.html +0 -3
  184. package/src/server/plugins/engine/views/components/insettext.html +0 -7
  185. package/src/server/plugins/engine/views/components/list.html +0 -36
  186. package/src/server/plugins/engine/views/components/monthyearfield.html +0 -5
  187. package/src/server/plugins/engine/views/components/multilinetextfield.html +0 -10
  188. package/src/server/plugins/engine/views/components/numberfield.html +0 -5
  189. package/src/server/plugins/engine/views/components/radiosfield.html +0 -5
  190. package/src/server/plugins/engine/views/components/selectfield.html +0 -5
  191. package/src/server/plugins/engine/views/components/telephonenumberfield.html +0 -5
  192. package/src/server/plugins/engine/views/components/textfield.html +0 -5
  193. package/src/server/plugins/engine/views/components/ukaddressfield.html +0 -25
  194. package/src/server/plugins/engine/views/components/yesnofield.html +0 -5
  195. package/src/server/plugins/engine/views/file-upload.html +0 -45
  196. package/src/server/plugins/engine/views/index.html +0 -39
  197. package/src/server/plugins/engine/views/item-delete.html +0 -56
  198. package/src/server/plugins/engine/views/partials/components.html +0 -6
  199. package/src/server/plugins/engine/views/partials/conditional-components.html +0 -3
  200. package/src/server/plugins/engine/views/partials/debug.html +0 -44
  201. package/src/server/plugins/engine/views/partials/form.html +0 -15
  202. package/src/server/plugins/engine/views/partials/heading.html +0 -16
  203. package/src/server/plugins/engine/views/partials/preview-banner.html +0 -32
  204. package/src/server/plugins/engine/views/partials/preview-banner.test.js +0 -122
  205. package/src/server/plugins/engine/views/partials/warn-missing-notification-email.html +0 -10
  206. package/src/server/plugins/engine/views/repeat-list-summary.html +0 -53
  207. package/src/server/plugins/errorPages.ts +0 -58
  208. package/src/server/plugins/nunjucks/context.js +0 -88
  209. package/src/server/plugins/nunjucks/context.test.js +0 -142
  210. package/src/server/plugins/nunjucks/enviroment.test.js +0 -201
  211. package/src/server/plugins/nunjucks/environment.js +0 -116
  212. package/src/server/plugins/nunjucks/filters/answer.js +0 -27
  213. package/src/server/plugins/nunjucks/filters/answer.test.js +0 -89
  214. package/src/server/plugins/nunjucks/filters/evaluate.js +0 -21
  215. package/src/server/plugins/nunjucks/filters/field.js +0 -28
  216. package/src/server/plugins/nunjucks/filters/field.test.js +0 -75
  217. package/src/server/plugins/nunjucks/filters/highlight.js +0 -11
  218. package/src/server/plugins/nunjucks/filters/href.js +0 -30
  219. package/src/server/plugins/nunjucks/filters/href.test.js +0 -80
  220. package/src/server/plugins/nunjucks/filters/index.js +0 -8
  221. package/src/server/plugins/nunjucks/filters/inspect.js +0 -15
  222. package/src/server/plugins/nunjucks/filters/page.js +0 -24
  223. package/src/server/plugins/nunjucks/filters/page.test.js +0 -65
  224. package/src/server/plugins/nunjucks/index.js +0 -3
  225. package/src/server/plugins/nunjucks/plugin.js +0 -40
  226. package/src/server/plugins/nunjucks/render.js +0 -42
  227. package/src/server/plugins/nunjucks/types.js +0 -40
  228. package/src/server/plugins/pulse.ts +0 -11
  229. package/src/server/plugins/router.ts +0 -201
  230. package/src/server/plugins/session.ts +0 -28
  231. package/src/server/routes/health.js +0 -13
  232. package/src/server/routes/health.test.js +0 -35
  233. package/src/server/routes/index.test.ts +0 -125
  234. package/src/server/routes/index.ts +0 -2
  235. package/src/server/routes/public.ts +0 -47
  236. package/src/server/routes/types.ts +0 -48
  237. package/src/server/schemas/index.ts +0 -34
  238. package/src/server/secure-context.js +0 -43
  239. package/src/server/services/cacheService.test.ts +0 -276
  240. package/src/server/services/cacheService.ts +0 -131
  241. package/src/server/services/httpService.test.js +0 -491
  242. package/src/server/services/httpService.ts +0 -50
  243. package/src/server/services/index.ts +0 -1
  244. package/src/server/types.ts +0 -54
  245. package/src/server/utils/notify.test.ts +0 -37
  246. package/src/server/utils/notify.ts +0 -50
  247. package/src/server/utils/secure-context/get-trust-store-certs.js +0 -11
  248. package/src/server/utils/secure-context/get-trust-store-certs.test.js +0 -19
  249. package/src/server/utils/utils.js +0 -24
  250. package/src/server/utils/utils.test.js +0 -54
  251. package/src/server/views/404.html +0 -16
  252. package/src/server/views/500.html +0 -19
  253. package/src/server/views/components/debug/macro.njk +0 -3
  254. package/src/server/views/components/debug/template.njk +0 -13
  255. package/src/server/views/components/service-banner/macro.njk +0 -3
  256. package/src/server/views/components/service-banner/template.njk +0 -20
  257. package/src/server/views/components/service-banner/template.test.js +0 -43
  258. package/src/server/views/components/tag-env/macro.njk +0 -3
  259. package/src/server/views/components/tag-env/template.njk +0 -30
  260. package/src/server/views/components/tag-env/template.test.js +0 -66
  261. package/src/server/views/confirmation.html +0 -19
  262. package/src/server/views/help/accessibility-statement.html +0 -58
  263. package/src/server/views/help/cookie-preferences.html +0 -57
  264. package/src/server/views/help/cookies.html +0 -71
  265. package/src/server/views/help/get-support.html +0 -37
  266. package/src/server/views/help/privacy-notice.html +0 -68
  267. package/src/server/views/help/terms-and-conditions.html +0 -83
  268. package/src/server/views/layout.html +0 -199
  269. package/src/server/views/summary.html +0 -50
  270. package/src/typings/hapi/index.d.ts +0 -95
  271. package/src/typings/hapi-tracing/index.d.ts +0 -6
  272. package/src/typings/index.d.ts +0 -3
  273. package/src/typings/joi/index.d.ts +0 -22
  274. package/stylelint.config.js +0 -10
  275. package/test/client/javascripts/file-upload.test.js +0 -1197
  276. package/test/condition/checkboxes.test.js +0 -112
  277. package/test/condition/radios.test.js +0 -112
  278. package/test/condition/text.test.js +0 -103
  279. package/test/fixtures/assets-manifest.json +0 -4
  280. package/test/fixtures/form.js +0 -86
  281. package/test/fixtures/index.js +0 -2
  282. package/test/fixtures/list.js +0 -92
  283. package/test/form/cookies.test.js +0 -338
  284. package/test/form/csrf.test.js +0 -87
  285. package/test/form/definitions/basic.js +0 -101
  286. package/test/form/definitions/blank.js +0 -10
  287. package/test/form/definitions/checkboxes.json +0 -88
  288. package/test/form/definitions/components.json +0 -452
  289. package/test/form/definitions/conditional-reveal.js +0 -140
  290. package/test/form/definitions/conditions-basic.js +0 -187
  291. package/test/form/definitions/conditions-complex.js +0 -338
  292. package/test/form/definitions/conditions-dates.js +0 -78
  293. package/test/form/definitions/conditions-escaping.js +0 -143
  294. package/test/form/definitions/demo-cph-number.js +0 -3099
  295. package/test/form/definitions/feedback.json +0 -45
  296. package/test/form/definitions/fields-optional.js +0 -402
  297. package/test/form/definitions/fields-required.js +0 -402
  298. package/test/form/definitions/file-upload-basic.js +0 -44
  299. package/test/form/definitions/file-upload.js +0 -66
  300. package/test/form/definitions/minimal.js +0 -39
  301. package/test/form/definitions/phase-alpha.json +0 -33
  302. package/test/form/definitions/phase-default.json +0 -26
  303. package/test/form/definitions/radios.json +0 -88
  304. package/test/form/definitions/repeat-mixed.js +0 -54
  305. package/test/form/definitions/repeat.js +0 -70
  306. package/test/form/definitions/status.json +0 -126
  307. package/test/form/definitions/templates.js +0 -183
  308. package/test/form/definitions/test.json +0 -581
  309. package/test/form/definitions/text.json +0 -75
  310. package/test/form/definitions/titles.json +0 -170
  311. package/test/form/definitions.test.js +0 -47
  312. package/test/form/exit-page.test.js +0 -210
  313. package/test/form/feedback.test.js +0 -68
  314. package/test/form/fields-optional.test.js +0 -237
  315. package/test/form/fields-required.test.js +0 -294
  316. package/test/form/file-upload.test.js +0 -313
  317. package/test/form/govuk-notify.test.js +0 -449
  318. package/test/form/journey-basic.test.js +0 -444
  319. package/test/form/persist-files.test.js +0 -227
  320. package/test/form/phase-banner.test.js +0 -71
  321. package/test/form/repeat.test.js +0 -628
  322. package/test/form/summary-submission-email.test.js +0 -95
  323. package/test/form/template.test.js +0 -288
  324. package/test/form/titles.test.js +0 -204
  325. package/test/helpers/component-helpers.js +0 -74
  326. package/test/utils/get-cookie.js +0 -42
  327. package/test/utils/get-form-definitions.js +0 -18
  328. package/tmp.pdf +0 -1
  329. package/tsconfig.json +0 -28
  330. package/webpack.config.js +0 -208
@@ -1,187 +0,0 @@
1
- import {
2
- ComponentType,
3
- ConditionType,
4
- ControllerPath,
5
- ControllerType,
6
- Engine,
7
- OperatorName
8
- } from '@defra/forms-model'
9
-
10
- export default /** @satisfies {FormDefinition} */ ({
11
- name: 'Conditions',
12
- startPage: '/first-page',
13
- pages: /** @type {const} */ ([
14
- {
15
- title: 'Previous marriages',
16
- path: '/first-page',
17
- components: [
18
- {
19
- name: 'yesNoField',
20
- title: 'Have you previously been married?',
21
- type: ComponentType.YesNoField,
22
- options: {}
23
- }
24
- ],
25
- next: [
26
- { path: '/second-page' },
27
- { path: '/summary', condition: 'isPreviouslyMarried' }
28
- ]
29
- },
30
- {
31
- title: 'When will you get married?',
32
- path: '/second-page',
33
- components: [
34
- {
35
- name: 'detailsField',
36
- title: 'Find out more',
37
- type: ComponentType.Details,
38
- content: 'Some content goes here',
39
- options: {}
40
- },
41
- {
42
- name: 'dateField',
43
- title: 'Date of marriage',
44
- type: ComponentType.DatePartsField,
45
- options: {}
46
- },
47
- {
48
- name: 'multilineTextField',
49
- title: 'Remarks',
50
- type: ComponentType.MultilineTextField,
51
- options: {},
52
- schema: {}
53
- }
54
- ],
55
- section: 'marriage',
56
- next: [{ path: '/summary' }]
57
- },
58
- {
59
- title: 'Summary',
60
- path: ControllerPath.Summary,
61
- controller: ControllerType.Summary
62
- }
63
- ]),
64
- lists: [],
65
- sections: [
66
- {
67
- name: 'marriage',
68
- title: 'Your marriage'
69
- }
70
- ],
71
- conditions: [
72
- {
73
- displayName: 'Previously married',
74
- name: 'isPreviouslyMarried',
75
- value: {
76
- name: 'Previously married',
77
- conditions: [
78
- {
79
- field: {
80
- name: 'yesNoField',
81
- display: 'Have you previously been married?',
82
- type: ComponentType.YesNoField
83
- },
84
- operator: OperatorName.Is,
85
- value: {
86
- type: ConditionType.Value,
87
- value: 'true',
88
- display: 'Yes'
89
- }
90
- }
91
- ]
92
- }
93
- }
94
- ],
95
- outputEmail: 'enrique.chase@defra.gov.uk'
96
- })
97
-
98
- export const V2 = /** @satisfies {FormDefinition} */ ({
99
- name: 'Conditions V2',
100
- engine: Engine.V2,
101
- startPage: '/first-page',
102
- pages: /** @type {const} */ ([
103
- {
104
- title: 'Previous marriages',
105
- path: '/first-page',
106
- components: [
107
- {
108
- name: 'yesNoField',
109
- title: 'Have you previously been married?',
110
- type: ComponentType.YesNoField,
111
- options: {}
112
- }
113
- ],
114
- next: []
115
- },
116
- {
117
- title: 'When will you get married?',
118
- path: '/second-page',
119
- components: [
120
- {
121
- name: 'detailsField',
122
- title: 'Find out more',
123
- type: ComponentType.Details,
124
- content: 'Some content goes here',
125
- options: {}
126
- },
127
- {
128
- name: 'dateField',
129
- title: 'Date of marriage',
130
- type: ComponentType.DatePartsField,
131
- options: {}
132
- },
133
- {
134
- name: 'multilineTextField',
135
- title: 'Remarks',
136
- type: ComponentType.MultilineTextField,
137
- options: {},
138
- schema: {}
139
- }
140
- ],
141
- condition: 'isNotPreviouslyMarried',
142
- section: 'marriage',
143
- next: []
144
- },
145
- {
146
- title: 'Summary',
147
- path: ControllerPath.Summary,
148
- controller: ControllerType.Summary
149
- }
150
- ]),
151
- lists: [],
152
- sections: [
153
- {
154
- name: 'marriage',
155
- title: 'Your marriage'
156
- }
157
- ],
158
- conditions: [
159
- {
160
- displayName: 'Not previously married',
161
- name: 'isNotPreviouslyMarried',
162
- value: {
163
- name: 'Not previously married',
164
- conditions: [
165
- {
166
- field: {
167
- name: 'yesNoField',
168
- display: 'Have you previously been married?',
169
- type: ComponentType.YesNoField
170
- },
171
- operator: OperatorName.Is,
172
- value: {
173
- type: ConditionType.Value,
174
- value: 'false',
175
- display: 'No'
176
- }
177
- }
178
- ]
179
- }
180
- }
181
- ],
182
- outputEmail: 'enrique.chase@defra.gov.uk'
183
- })
184
-
185
- /**
186
- * @import { FormDefinition } from '@defra/forms-model'
187
- */
@@ -1,338 +0,0 @@
1
- import {
2
- ComponentType,
3
- ConditionType,
4
- ControllerPath,
5
- ControllerType,
6
- OperatorName
7
- } from '@defra/forms-model'
8
-
9
- export default /** @satisfies {FormDefinition} */ ({
10
- name: 'Conditions complex',
11
- startPage: '/uk-passport',
12
- pages: /** @type {const} */ ([
13
- {
14
- path: '/uk-passport',
15
- components: [
16
- {
17
- type: ComponentType.YesNoField,
18
- name: 'ukPassport',
19
- title: 'Do you have a UK passport?',
20
- options: {
21
- required: true
22
- }
23
- }
24
- ],
25
- section: 'checkBeforeYouStart',
26
- next: [
27
- {
28
- path: '/how-many-people'
29
- },
30
- {
31
- path: '/testconditions',
32
- condition: 'doesntHaveUKPassport'
33
- }
34
- ],
35
- title: 'Do you have a UK passport?'
36
- },
37
- {
38
- path: '/how-many-people',
39
- components: [
40
- {
41
- options: {
42
- classes: 'govuk-input--width-10'
43
- },
44
- type: ComponentType.SelectField,
45
- name: 'numberOfApplicants',
46
- title: 'How many applicants are there?',
47
- list: 'numberOfApplicants'
48
- }
49
- ],
50
- next: [
51
- {
52
- path: '/applicant-one-name'
53
- }
54
- ],
55
- title: 'How many applicants are there?'
56
- },
57
- {
58
- path: '/applicant-one-name',
59
- title: 'Applicant 1',
60
- section: 'applicantOneDetails',
61
- components: [
62
- {
63
- type: ComponentType.Html,
64
- name: 'html',
65
- title: 'Html',
66
- content:
67
- '<p class="govuk-body">Provide the details as they appear on your passport.</p>',
68
- options: {}
69
- },
70
- {
71
- type: ComponentType.TextField,
72
- name: 'applicantOneFirstName',
73
- title: 'First name',
74
- options: {
75
- customValidationMessage:
76
- 'Enter your first name as it appears on your passport',
77
- required: true
78
- },
79
- schema: {}
80
- },
81
- {
82
- options: {
83
- required: false,
84
- optionalText: false
85
- },
86
- type: ComponentType.TextField,
87
- name: 'applicantOneMiddleName',
88
- title: 'Middle name',
89
- hint: 'If you have a middle name on your passport you must include it here',
90
- schema: {}
91
- },
92
- {
93
- type: ComponentType.TextField,
94
- name: 'applicantOneLastName',
95
- title: 'Surname',
96
- options: {
97
- required: true
98
- },
99
- schema: {}
100
- }
101
- ],
102
- next: [
103
- {
104
- path: '/applicant-one-address'
105
- }
106
- ]
107
- },
108
- {
109
- path: '/applicant-one-address',
110
- section: 'applicantOneDetails',
111
- components: [
112
- {
113
- type: ComponentType.UkAddressField,
114
- name: 'applicantOneAddress',
115
- title: 'Address',
116
- options: {
117
- required: true
118
- }
119
- }
120
- ],
121
- next: [
122
- {
123
- path: '/applicant-two',
124
- condition: 'moreThanOneApplicant'
125
- },
126
- {
127
- path: '/testconditions'
128
- }
129
- ],
130
- title: 'Address'
131
- },
132
- {
133
- path: '/applicant-two',
134
- title: 'Applicant 2',
135
- section: 'applicantTwoDetails',
136
- components: [
137
- {
138
- type: ComponentType.Html,
139
- name: 'html',
140
- title: 'Html',
141
- content:
142
- '<p class="govuk-body">Provide the details as they appear on your passport.</p>',
143
- options: {}
144
- },
145
- {
146
- type: ComponentType.TextField,
147
- name: 'applicantTwoFirstName',
148
- title: 'First name',
149
- options: {
150
- required: true
151
- },
152
- schema: {}
153
- },
154
- {
155
- options: {
156
- required: false,
157
- optionalText: false
158
- },
159
- type: ComponentType.TextField,
160
- name: 'applicantTwoMiddleName',
161
- title: 'Middle name',
162
- hint: 'If you have a middle name on your passport you must include it here',
163
- schema: {}
164
- },
165
- {
166
- type: ComponentType.TextField,
167
- name: 'applicantTwoLastName',
168
- title: 'Surname',
169
- options: {
170
- required: true
171
- },
172
- schema: {}
173
- }
174
- ],
175
- next: [
176
- {
177
- path: '/applicant-two-address'
178
- }
179
- ]
180
- },
181
- {
182
- path: '/applicant-two-address',
183
- section: 'applicantTwoDetails',
184
- components: [
185
- {
186
- type: ComponentType.UkAddressField,
187
- name: 'applicantTwoAddress',
188
- title: 'Address',
189
- options: {
190
- required: true
191
- }
192
- }
193
- ],
194
- next: [
195
- {
196
- path: '/testconditions'
197
- }
198
- ],
199
- title: 'Address'
200
- },
201
- {
202
- path: ControllerPath.Summary,
203
- controller: ControllerType.Summary,
204
- title: 'Summary'
205
- },
206
- {
207
- path: '/testconditions',
208
- title: 'TestConditions',
209
- components: [
210
- {
211
- name: 'pmmRYP',
212
- title: 'Html',
213
- options: {
214
- condition: 'bDDfgf'
215
- },
216
- type: ComponentType.Html,
217
- content: '<p class="govuk-body">There Is Someone Called Applicant</p>'
218
- }
219
- ],
220
- next: [
221
- {
222
- path: '/summary'
223
- }
224
- ]
225
- }
226
- ]),
227
- lists: [
228
- {
229
- name: 'numberOfApplicants',
230
- title: 'Number of people',
231
- type: 'number',
232
- items: [
233
- {
234
- text: '1',
235
- value: 1,
236
- description: '',
237
- condition: ''
238
- },
239
- {
240
- text: '2',
241
- value: 2,
242
- description: '',
243
- condition: ''
244
- }
245
- ]
246
- }
247
- ],
248
- sections: [
249
- {
250
- name: 'checkBeforeYouStart',
251
- title: 'Check before you start'
252
- },
253
- {
254
- name: 'applicantOneDetails',
255
- title: 'Applicant 1'
256
- },
257
- {
258
- name: 'applicantTwoDetails',
259
- title: 'Applicant 2'
260
- }
261
- ],
262
- phaseBanner: {},
263
- declaration:
264
- '<p class="govuk-body">All the answers you have provided are true to the best of your knowledge.</p>',
265
- conditions: [
266
- {
267
- name: 'hasUKPassport',
268
- displayName: 'hasUKPassport',
269
- value: {
270
- name: 'hasUKPassport',
271
- conditions: [
272
- {
273
- field: {
274
- name: 'ukPassport',
275
- type: ComponentType.YesNoField,
276
- display: 'Do you have a UK passport?'
277
- },
278
- operator: OperatorName.Is,
279
- value: {
280
- type: ConditionType.Value,
281
- value: 'true',
282
- display: 'true'
283
- }
284
- }
285
- ]
286
- }
287
- },
288
- {
289
- name: 'doesntHaveUKPassport',
290
- displayName: 'doesntHaveUKPassport',
291
- value: {
292
- name: 'doesntHaveUKPassport',
293
- conditions: [
294
- {
295
- field: {
296
- name: 'ukPassport',
297
- type: ComponentType.YesNoField,
298
- display: 'Do you have a UK passport?'
299
- },
300
- operator: OperatorName.Is,
301
- value: {
302
- type: ConditionType.Value,
303
- value: 'false',
304
- display: 'false'
305
- }
306
- }
307
- ]
308
- }
309
- },
310
- {
311
- name: 'moreThanOneApplicant',
312
- displayName: 'moreThanOneApplicant',
313
- value: {
314
- name: 'moreThanOneApplicant',
315
- conditions: [
316
- {
317
- field: {
318
- name: 'numberOfApplicants',
319
- type: ComponentType.SelectField,
320
- display: 'How many applicants are there?'
321
- },
322
- operator: OperatorName.IsMoreThan,
323
- value: {
324
- type: ConditionType.Value,
325
- value: '1',
326
- display: '1'
327
- }
328
- }
329
- ]
330
- }
331
- }
332
- ],
333
- outputEmail: 'enrique.chase@defra.gov.uk'
334
- })
335
-
336
- /**
337
- * @import { FormDefinition } from '@defra/forms-model'
338
- */
@@ -1,78 +0,0 @@
1
- import {
2
- ComponentType,
3
- ConditionType,
4
- ControllerPath,
5
- ControllerType,
6
- OperatorName
7
- } from '@defra/forms-model'
8
-
9
- export default /** @satisfies {FormDefinition} */ ({
10
- name: 'Conditions dates',
11
- startPage: '/page-one',
12
- pages: /** @type {const} */ ([
13
- {
14
- path: '/page-one',
15
- title: 'Page one',
16
- components: [
17
- {
18
- name: 'dateField',
19
- title: 'Date field',
20
- type: ComponentType.DatePartsField,
21
- hint: '',
22
- options: {}
23
- }
24
- ],
25
- next: [
26
- {
27
- path: '/is-not-2024-08-01'
28
- },
29
- {
30
- path: '/is-2024-08-01',
31
- condition: 'dateFieldCondition'
32
- }
33
- ]
34
- },
35
- {
36
- path: ControllerPath.Summary,
37
- controller: ControllerType.Summary,
38
- title: 'Is not 2024-08-01'
39
- },
40
- {
41
- path: '/is-2024-08-01',
42
- title: 'Is 2024-08-01',
43
- components: [],
44
- next: []
45
- }
46
- ]),
47
- lists: [],
48
- sections: [],
49
- conditions: [
50
- {
51
- name: 'dateFieldCondition',
52
- displayName: 'Is 2024-08-01',
53
- value: {
54
- name: 'Is 2024-08-01',
55
- conditions: [
56
- {
57
- field: {
58
- name: 'dateField',
59
- type: ComponentType.DatePartsField,
60
- display: 'Date field'
61
- },
62
- operator: OperatorName.Is,
63
- value: {
64
- type: ConditionType.Value,
65
- value: '2024-08-01',
66
- display: '2024-08-01'
67
- }
68
- }
69
- ]
70
- }
71
- }
72
- ],
73
- outputEmail: 'enrique.chase@defra.gov.uk'
74
- })
75
-
76
- /**
77
- * @import { FormDefinition } from '@defra/forms-model'
78
- */