@defra/forms-engine-plugin 4.7.2-alpha → 4.7.3

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 (402) hide show
  1. package/.server/client/javascripts/geospatial-map.d.ts +6 -6
  2. package/.server/client/javascripts/geospatial-map.js +3 -3
  3. package/.server/client/javascripts/location-map.d.ts +1 -1
  4. package/.server/client/javascripts/location-map.js +1 -1
  5. package/.server/client/javascripts/map.d.ts +1 -1
  6. package/.server/client/javascripts/map.js +1 -1
  7. package/.server/client/javascripts/shared.d.ts +7 -7
  8. package/.server/server/index.d.ts +1 -1
  9. package/.server/server/plugins/crumb.d.ts +1 -1
  10. package/.server/server/plugins/engine/beta/form-context.d.ts +6 -6
  11. package/.server/server/plugins/engine/components/AutocompleteField.d.ts +4 -4
  12. package/.server/server/plugins/engine/components/CheckboxesField.d.ts +2 -2
  13. package/.server/server/plugins/engine/components/CheckboxesField.js +2 -2
  14. package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
  15. package/.server/server/plugins/engine/components/ComponentBase.d.ts +5 -5
  16. package/.server/server/plugins/engine/components/ComponentCollection.d.ts +8 -8
  17. package/.server/server/plugins/engine/components/DatePartsField.d.ts +11 -11
  18. package/.server/server/plugins/engine/components/DeclarationField.d.ts +3 -3
  19. package/.server/server/plugins/engine/components/Details.d.ts +1 -1
  20. package/.server/server/plugins/engine/components/EastingNorthingField.d.ts +22 -22
  21. package/.server/server/plugins/engine/components/EmailAddressField.d.ts +4 -4
  22. package/.server/server/plugins/engine/components/FileUploadField.d.ts +3 -3
  23. package/.server/server/plugins/engine/components/FormComponent.d.ts +10 -10
  24. package/.server/server/plugins/engine/components/GeospatialField.d.ts +6 -6
  25. package/.server/server/plugins/engine/components/HiddenField.d.ts +2 -2
  26. package/.server/server/plugins/engine/components/Html.d.ts +1 -1
  27. package/.server/server/plugins/engine/components/InsetText.d.ts +1 -1
  28. package/.server/server/plugins/engine/components/LatLongField.d.ts +22 -22
  29. package/.server/server/plugins/engine/components/List.d.ts +8 -8
  30. package/.server/server/plugins/engine/components/ListFormComponent.d.ts +10 -10
  31. package/.server/server/plugins/engine/components/LocationFieldBase.d.ts +6 -6
  32. package/.server/server/plugins/engine/components/LocationFieldHelpers.d.ts +14 -14
  33. package/.server/server/plugins/engine/components/Markdown.d.ts +1 -1
  34. package/.server/server/plugins/engine/components/MonthYearField.d.ts +11 -11
  35. package/.server/server/plugins/engine/components/MultilineTextField.d.ts +5 -5
  36. package/.server/server/plugins/engine/components/NationalGridFieldNumberField.d.ts +1 -1
  37. package/.server/server/plugins/engine/components/NumberField.d.ts +3 -3
  38. package/.server/server/plugins/engine/components/OsGridRefField.d.ts +1 -1
  39. package/.server/server/plugins/engine/components/PaymentField.d.ts +12 -12
  40. package/.server/server/plugins/engine/components/RadiosField.d.ts +1 -1
  41. package/.server/server/plugins/engine/components/SelectField.d.ts +4 -4
  42. package/.server/server/plugins/engine/components/SelectionControlField.d.ts +10 -10
  43. package/.server/server/plugins/engine/components/TelephoneNumberField.d.ts +4 -4
  44. package/.server/server/plugins/engine/components/TextField.d.ts +2 -2
  45. package/.server/server/plugins/engine/components/UkAddressField.d.ts +11 -11
  46. package/.server/server/plugins/engine/components/YesNoField.d.ts +2 -2
  47. package/.server/server/plugins/engine/components/helpers/__stubs__/geospatial.d.ts +1 -1
  48. package/.server/server/plugins/engine/components/helpers/components.d.ts +5 -5
  49. package/.server/server/plugins/engine/components/helpers/geospatial.d.ts +1 -1
  50. package/.server/server/plugins/engine/components/index.d.ts +27 -27
  51. package/.server/server/plugins/engine/components/types.d.ts +1 -1
  52. package/.server/server/plugins/engine/configureEnginePlugin.d.ts +4 -4
  53. package/.server/server/plugins/engine/date-helper.d.ts +1 -1
  54. package/.server/server/plugins/engine/helpers.d.ts +8 -8
  55. package/.server/server/plugins/engine/index.d.ts +5 -5
  56. package/.server/server/plugins/engine/models/FormModel.d.ts +6 -6
  57. package/.server/server/plugins/engine/models/SummaryViewModel.d.ts +6 -6
  58. package/.server/server/plugins/engine/models/index.d.ts +2 -2
  59. package/.server/server/plugins/engine/models/types.d.ts +4 -4
  60. package/.server/server/plugins/engine/options.d.ts +1 -1
  61. package/.server/server/plugins/engine/options.js +1 -1
  62. package/.server/server/plugins/engine/options.test.js +1 -1
  63. package/.server/server/plugins/engine/outputFormatters/adapter/v1.d.ts +4 -4
  64. package/.server/server/plugins/engine/outputFormatters/human/v1.d.ts +4 -4
  65. package/.server/server/plugins/engine/outputFormatters/index.d.ts +5 -5
  66. package/.server/server/plugins/engine/outputFormatters/machine/v1.d.ts +4 -4
  67. package/.server/server/plugins/engine/outputFormatters/machine/v2.d.ts +4 -4
  68. package/.server/server/plugins/engine/pageControllers/FileUploadPageController.d.ts +8 -8
  69. package/.server/server/plugins/engine/pageControllers/PageController.d.ts +6 -6
  70. package/.server/server/plugins/engine/pageControllers/QuestionPageController.d.ts +8 -8
  71. package/.server/server/plugins/engine/pageControllers/RepeatPageController.d.ts +5 -5
  72. package/.server/server/plugins/engine/pageControllers/StartPageController.d.ts +4 -4
  73. package/.server/server/plugins/engine/pageControllers/StatusPageController.d.ts +4 -4
  74. package/.server/server/plugins/engine/pageControllers/SummaryPageController.d.ts +5 -5
  75. package/.server/server/plugins/engine/pageControllers/TerminalPageController.d.ts +3 -3
  76. package/.server/server/plugins/engine/pageControllers/__stubs__/request.d.ts +2 -2
  77. package/.server/server/plugins/engine/pageControllers/errors.d.ts +1 -1
  78. package/.server/server/plugins/engine/pageControllers/helpers/pages.d.ts +2 -2
  79. package/.server/server/plugins/engine/pageControllers/helpers/state.d.ts +5 -5
  80. package/.server/server/plugins/engine/pageControllers/helpers/state.js +1 -1
  81. package/.server/server/plugins/engine/pageControllers/helpers/state.js.map +1 -1
  82. package/.server/server/plugins/engine/pageControllers/helpers/submission.d.ts +1 -1
  83. package/.server/server/plugins/engine/pageControllers/index.d.ts +7 -7
  84. package/.server/server/plugins/engine/plugin.d.ts +1 -1
  85. package/.server/server/plugins/engine/routes/file-upload.d.ts +1 -1
  86. package/.server/server/plugins/engine/routes/index.d.ts +3 -3
  87. package/.server/server/plugins/engine/routes/payment-helper.d.ts +3 -3
  88. package/.server/server/plugins/engine/routes/payment-helper.js +2 -2
  89. package/.server/server/plugins/engine/routes/payment.js +5 -5
  90. package/.server/server/plugins/engine/routes/payment.test.js +1 -1
  91. package/.server/server/plugins/engine/routes/questions.d.ts +2 -2
  92. package/.server/server/plugins/engine/routes/repeaters/item-delete.d.ts +2 -2
  93. package/.server/server/plugins/engine/routes/repeaters/summary.d.ts +2 -2
  94. package/.server/server/plugins/engine/services/index.d.ts +3 -3
  95. package/.server/server/plugins/engine/services/notifyService.d.ts +4 -4
  96. package/.server/server/plugins/engine/services/uploadService.d.ts +2 -2
  97. package/.server/server/plugins/engine/services/uploadService.js +1 -1
  98. package/.server/server/plugins/engine/types/index.d.ts +10 -10
  99. package/.server/server/plugins/engine/types/schema.d.ts +1 -1
  100. package/.server/server/plugins/engine/types.d.ts +25 -16
  101. package/.server/server/plugins/engine/types.js.map +1 -1
  102. package/.server/server/plugins/engine/validationHelpers.d.ts +2 -2
  103. package/.server/server/plugins/engine/vision.d.ts +1 -1
  104. package/.server/server/plugins/map/index.d.ts +1 -1
  105. package/.server/server/plugins/map/index.js +1 -1
  106. package/.server/server/plugins/map/routes/get-os-token.d.ts +11 -1
  107. package/.server/server/plugins/map/routes/get-os-token.js +12 -2
  108. package/.server/server/plugins/map/routes/get-os-token.js.map +1 -1
  109. package/.server/server/plugins/map/routes/index.d.ts +4 -4
  110. package/.server/server/plugins/map/routes/index.js +3 -2
  111. package/.server/server/plugins/map/routes/index.js.map +1 -1
  112. package/.server/server/plugins/map/service.d.ts +1 -1
  113. package/.server/server/plugins/map/service.js +5 -2
  114. package/.server/server/plugins/map/service.js.map +1 -1
  115. package/.server/server/plugins/map/test/__stubs__/find.d.ts +1 -1
  116. package/.server/server/plugins/map/test/__stubs__/find.js +1 -1
  117. package/.server/server/plugins/nunjucks/context.d.ts +2 -2
  118. package/.server/server/plugins/nunjucks/context.js +2 -2
  119. package/.server/server/plugins/nunjucks/context.test.js +1 -1
  120. package/.server/server/plugins/nunjucks/enviroment.test.js +1 -1
  121. package/.server/server/plugins/nunjucks/environment.d.ts +3 -3
  122. package/.server/server/plugins/nunjucks/environment.js +3 -3
  123. package/.server/server/plugins/nunjucks/filters/answer.d.ts +1 -1
  124. package/.server/server/plugins/nunjucks/filters/answer.js +2 -2
  125. package/.server/server/plugins/nunjucks/filters/answer.test.js +1 -1
  126. package/.server/server/plugins/nunjucks/filters/evaluate.d.ts +1 -1
  127. package/.server/server/plugins/nunjucks/filters/evaluate.js +1 -1
  128. package/.server/server/plugins/nunjucks/filters/field.d.ts +1 -1
  129. package/.server/server/plugins/nunjucks/filters/field.js +1 -1
  130. package/.server/server/plugins/nunjucks/filters/field.test.js +1 -1
  131. package/.server/server/plugins/nunjucks/filters/href.d.ts +1 -1
  132. package/.server/server/plugins/nunjucks/filters/href.js +1 -1
  133. package/.server/server/plugins/nunjucks/filters/href.test.js +1 -1
  134. package/.server/server/plugins/nunjucks/filters/index.d.ts +8 -8
  135. package/.server/server/plugins/nunjucks/filters/page.d.ts +1 -1
  136. package/.server/server/plugins/nunjucks/filters/page.js +1 -1
  137. package/.server/server/plugins/nunjucks/filters/page.test.js +1 -1
  138. package/.server/server/plugins/nunjucks/index.d.ts +3 -3
  139. package/.server/server/plugins/nunjucks/render.d.ts +2 -2
  140. package/.server/server/plugins/nunjucks/render.js +1 -1
  141. package/.server/server/plugins/nunjucks/types.d.ts +1 -1
  142. package/.server/server/plugins/nunjucks/types.js +1 -1
  143. package/.server/server/plugins/payment/helper.d.ts +2 -2
  144. package/.server/server/plugins/payment/helper.js +1 -1
  145. package/.server/server/plugins/payment/service.d.ts +3 -3
  146. package/.server/server/plugins/payment/service.js +1 -1
  147. package/.server/server/plugins/postcode-lookup/index.d.ts +1 -1
  148. package/.server/server/plugins/postcode-lookup/index.js +1 -1
  149. package/.server/server/plugins/postcode-lookup/models/index.d.ts +6 -6
  150. package/.server/server/plugins/postcode-lookup/models/index.js +1 -1
  151. package/.server/server/plugins/postcode-lookup/routes/index.d.ts +6 -6
  152. package/.server/server/plugins/postcode-lookup/routes/index.js +15 -15
  153. package/.server/server/plugins/postcode-lookup/routes/index.js.map +1 -1
  154. package/.server/server/plugins/postcode-lookup/service.d.ts +1 -1
  155. package/.server/server/plugins/postcode-lookup/service.js +5 -2
  156. package/.server/server/plugins/postcode-lookup/service.js.map +1 -1
  157. package/.server/server/plugins/postcode-lookup/types.js +1 -1
  158. package/.server/server/routes/index.d.ts +2 -2
  159. package/.server/server/routes/types.d.ts +1 -1
  160. package/.server/server/schemas/index.d.ts +2 -2
  161. package/.server/server/services/cacheService.d.ts +8 -8
  162. package/.server/server/services/cacheService.js +2 -5
  163. package/.server/server/services/cacheService.js.map +1 -1
  164. package/.server/server/services/httpService.test.js +1 -1
  165. package/.server/server/services/index.d.ts +1 -1
  166. package/.server/server/types.d.ts +7 -7
  167. package/.server/server/utils/file-form-service.d.ts +2 -2
  168. package/.server/server/utils/file-form-service.js +1 -1
  169. package/package.json +8 -4
  170. package/src/client/javascripts/application.js +1 -1
  171. package/src/client/javascripts/geospatial-map.js +4 -4
  172. package/src/client/javascripts/location-map.js +2 -2
  173. package/src/client/javascripts/map.js +3 -3
  174. package/src/client/javascripts/shared.js +7 -7
  175. package/src/index.ts +3 -3
  176. package/src/server/common/helpers/logging/logger-options.ts +1 -1
  177. package/src/server/common/helpers/logging/logger.ts +1 -1
  178. package/src/server/common/helpers/logging/request-logger.ts +1 -1
  179. package/src/server/common/helpers/logging/request-tracing.js +1 -1
  180. package/src/server/common/helpers/redis-client.js +2 -2
  181. package/src/server/index.ts +13 -13
  182. package/src/server/plugins/crumb.ts +2 -2
  183. package/src/server/plugins/engine/beta/form-context.ts +9 -9
  184. package/src/server/plugins/engine/components/AutocompleteField.ts +3 -3
  185. package/src/server/plugins/engine/components/CheckboxesField.ts +7 -8
  186. package/src/server/plugins/engine/components/ComponentBase.ts +5 -5
  187. package/src/server/plugins/engine/components/ComponentCollection.ts +9 -9
  188. package/src/server/plugins/engine/components/DatePartsField.ts +8 -8
  189. package/src/server/plugins/engine/components/DeclarationField.ts +3 -3
  190. package/src/server/plugins/engine/components/Details.ts +1 -1
  191. package/src/server/plugins/engine/components/EastingNorthingField.ts +9 -9
  192. package/src/server/plugins/engine/components/EmailAddressField.ts +3 -3
  193. package/src/server/plugins/engine/components/FileUploadField.ts +6 -6
  194. package/src/server/plugins/engine/components/FormComponent.ts +4 -4
  195. package/src/server/plugins/engine/components/GeospatialField.ts +5 -5
  196. package/src/server/plugins/engine/components/HiddenField.ts +4 -4
  197. package/src/server/plugins/engine/components/Html.ts +1 -1
  198. package/src/server/plugins/engine/components/InsetText.ts +1 -1
  199. package/src/server/plugins/engine/components/LatLongField.ts +9 -9
  200. package/src/server/plugins/engine/components/List.ts +2 -2
  201. package/src/server/plugins/engine/components/ListFormComponent.ts +4 -4
  202. package/src/server/plugins/engine/components/LocationFieldBase.ts +5 -5
  203. package/src/server/plugins/engine/components/LocationFieldHelpers.ts +5 -5
  204. package/src/server/plugins/engine/components/Markdown.ts +1 -1
  205. package/src/server/plugins/engine/components/MonthYearField.ts +8 -8
  206. package/src/server/plugins/engine/components/MultilineTextField.ts +4 -4
  207. package/src/server/plugins/engine/components/NationalGridFieldNumberField.ts +2 -2
  208. package/src/server/plugins/engine/components/NumberField.ts +3 -3
  209. package/src/server/plugins/engine/components/OsGridRefField.ts +2 -2
  210. package/src/server/plugins/engine/components/PaymentField.ts +8 -8
  211. package/src/server/plugins/engine/components/RadiosField.ts +1 -1
  212. package/src/server/plugins/engine/components/SelectField.ts +2 -2
  213. package/src/server/plugins/engine/components/SelectionControlField.ts +4 -4
  214. package/src/server/plugins/engine/components/TelephoneNumberField.ts +4 -4
  215. package/src/server/plugins/engine/components/TextField.ts +3 -3
  216. package/src/server/plugins/engine/components/UkAddressField.ts +7 -7
  217. package/src/server/plugins/engine/components/YesNoField.ts +5 -5
  218. package/src/server/plugins/engine/components/helpers/__stubs__/geospatial.ts +1 -1
  219. package/src/server/plugins/engine/components/helpers/components.ts +8 -8
  220. package/src/server/plugins/engine/components/helpers/geospatial.ts +1 -1
  221. package/src/server/plugins/engine/components/index.ts +27 -27
  222. package/src/server/plugins/engine/components/types.ts +1 -1
  223. package/src/server/plugins/engine/configureEnginePlugin.ts +10 -10
  224. package/src/server/plugins/engine/date-helper.ts +1 -1
  225. package/src/server/plugins/engine/helpers.ts +8 -8
  226. package/src/server/plugins/engine/index.ts +8 -8
  227. package/src/server/plugins/engine/models/FormModel.ts +15 -15
  228. package/src/server/plugins/engine/models/SummaryViewModel.ts +10 -10
  229. package/src/server/plugins/engine/models/index.ts +2 -2
  230. package/src/server/plugins/engine/models/types.ts +4 -4
  231. package/src/server/plugins/engine/options.js +3 -3
  232. package/src/server/plugins/engine/outputFormatters/adapter/v1.ts +6 -6
  233. package/src/server/plugins/engine/outputFormatters/human/v1.ts +9 -9
  234. package/src/server/plugins/engine/outputFormatters/index.ts +8 -8
  235. package/src/server/plugins/engine/outputFormatters/machine/v1.ts +7 -7
  236. package/src/server/plugins/engine/outputFormatters/machine/v2.ts +6 -6
  237. package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +9 -9
  238. package/src/server/plugins/engine/pageControllers/PageController.ts +7 -7
  239. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +13 -13
  240. package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +6 -6
  241. package/src/server/plugins/engine/pageControllers/StartPageController.ts +3 -3
  242. package/src/server/plugins/engine/pageControllers/StatusPageController.ts +5 -5
  243. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +12 -12
  244. package/src/server/plugins/engine/pageControllers/TerminalPageController.ts +3 -3
  245. package/src/server/plugins/engine/pageControllers/__stubs__/request.ts +3 -3
  246. package/src/server/plugins/engine/pageControllers/__stubs__/server.ts +2 -2
  247. package/src/server/plugins/engine/pageControllers/errors.ts +1 -1
  248. package/src/server/plugins/engine/pageControllers/helpers/pages.ts +2 -2
  249. package/src/server/plugins/engine/pageControllers/helpers/state.ts +9 -9
  250. package/src/server/plugins/engine/pageControllers/helpers/submission.ts +5 -5
  251. package/src/server/plugins/engine/pageControllers/index.ts +7 -7
  252. package/src/server/plugins/engine/pageControllers/validationOptions.ts +1 -1
  253. package/src/server/plugins/engine/plugin.ts +14 -14
  254. package/src/server/plugins/engine/routes/file-upload.ts +2 -2
  255. package/src/server/plugins/engine/routes/index.ts +10 -10
  256. package/src/server/plugins/engine/routes/payment-helper.js +4 -4
  257. package/src/server/plugins/engine/routes/payment.js +9 -9
  258. package/src/server/plugins/engine/routes/questions.ts +10 -10
  259. package/src/server/plugins/engine/routes/repeaters/item-delete.ts +6 -6
  260. package/src/server/plugins/engine/routes/repeaters/summary.ts +5 -5
  261. package/src/server/plugins/engine/services/formSubmissionService.js +2 -2
  262. package/src/server/plugins/engine/services/index.js +3 -3
  263. package/src/server/plugins/engine/services/localFormsService.js +2 -2
  264. package/src/server/plugins/engine/services/notifyService.ts +9 -9
  265. package/src/server/plugins/engine/services/uploadService.js +3 -3
  266. package/src/server/plugins/engine/types/index.ts +10 -10
  267. package/src/server/plugins/engine/types/schema.ts +2 -2
  268. package/src/server/plugins/engine/types.ts +22 -17
  269. package/src/server/plugins/engine/validationHelpers.ts +3 -3
  270. package/src/server/plugins/engine/vision.ts +3 -3
  271. package/src/server/plugins/map/index.js +2 -2
  272. package/src/server/plugins/map/routes/get-os-token.js +15 -3
  273. package/src/server/plugins/map/routes/index.js +7 -5
  274. package/src/server/plugins/map/service.js +7 -4
  275. package/src/server/plugins/map/test/__stubs__/find.js +1 -1
  276. package/src/server/plugins/nunjucks/context.js +5 -5
  277. package/src/server/plugins/nunjucks/environment.js +6 -6
  278. package/src/server/plugins/nunjucks/filters/answer.js +3 -3
  279. package/src/server/plugins/nunjucks/filters/evaluate.js +2 -2
  280. package/src/server/plugins/nunjucks/filters/field.js +1 -1
  281. package/src/server/plugins/nunjucks/filters/href.js +2 -2
  282. package/src/server/plugins/nunjucks/filters/index.js +8 -8
  283. package/src/server/plugins/nunjucks/filters/page.js +1 -1
  284. package/src/server/plugins/nunjucks/index.js +3 -3
  285. package/src/server/plugins/nunjucks/plugin.js +3 -3
  286. package/src/server/plugins/nunjucks/render.js +2 -2
  287. package/src/server/plugins/nunjucks/types.js +1 -1
  288. package/src/server/plugins/payment/helper.js +2 -2
  289. package/src/server/plugins/payment/service.js +4 -4
  290. package/src/server/plugins/postcode-lookup/index.js +2 -2
  291. package/src/server/plugins/postcode-lookup/models/index.js +3 -3
  292. package/src/server/plugins/postcode-lookup/routes/index.js +24 -14
  293. package/src/server/plugins/postcode-lookup/service.js +7 -4
  294. package/src/server/plugins/postcode-lookup/types.js +1 -1
  295. package/src/server/plugins/session.ts +1 -1
  296. package/src/server/routes/index.ts +2 -2
  297. package/src/server/routes/public.ts +1 -1
  298. package/src/server/routes/types.ts +1 -1
  299. package/src/server/schemas/index.ts +2 -2
  300. package/src/server/secure-context.js +1 -1
  301. package/src/server/services/cacheService.ts +13 -18
  302. package/src/server/services/httpService.ts +1 -1
  303. package/src/server/services/index.ts +1 -1
  304. package/src/server/types.ts +7 -7
  305. package/src/server/utils/notify.ts +2 -2
  306. package/src/server/utils/utils.js +1 -1
  307. package/src/typings/hapi/index.d.ts +4 -4
  308. package/src/typings/joi/index.d.ts +1 -1
  309. package/src/server/common/helpers/logging/logger-options.test.ts +0 -50
  310. package/src/server/index.test.ts +0 -644
  311. package/src/server/plugins/engine/beta/form-context.test.ts +0 -373
  312. package/src/server/plugins/engine/components/AutocompleteField.test.ts +0 -362
  313. package/src/server/plugins/engine/components/CheckboxesField.test.ts +0 -486
  314. package/src/server/plugins/engine/components/DatePartsField.test.ts +0 -927
  315. package/src/server/plugins/engine/components/DeclarationField.test.ts +0 -560
  316. package/src/server/plugins/engine/components/Details.test.ts +0 -49
  317. package/src/server/plugins/engine/components/EastingNorthingField.test.ts +0 -727
  318. package/src/server/plugins/engine/components/EmailAddressField.test.ts +0 -445
  319. package/src/server/plugins/engine/components/FileUploadField.test.ts +0 -1079
  320. package/src/server/plugins/engine/components/GeospatialField.test.ts +0 -380
  321. package/src/server/plugins/engine/components/HiddenField.test.ts +0 -188
  322. package/src/server/plugins/engine/components/Html.test.ts +0 -48
  323. package/src/server/plugins/engine/components/InsetText.test.ts +0 -48
  324. package/src/server/plugins/engine/components/LatLongField.test.ts +0 -898
  325. package/src/server/plugins/engine/components/List.test.ts +0 -79
  326. package/src/server/plugins/engine/components/LocationFieldBase.test.ts +0 -253
  327. package/src/server/plugins/engine/components/LocationFieldHelpers.test.ts +0 -743
  328. package/src/server/plugins/engine/components/Markdown.test.ts +0 -48
  329. package/src/server/plugins/engine/components/MonthYearField.test.ts +0 -617
  330. package/src/server/plugins/engine/components/MultilineTextField.test.ts +0 -647
  331. package/src/server/plugins/engine/components/NationalGridFieldNumberField.test.ts +0 -449
  332. package/src/server/plugins/engine/components/NumberField.test.ts +0 -723
  333. package/src/server/plugins/engine/components/OsGridRefField.test.ts +0 -460
  334. package/src/server/plugins/engine/components/PaymentField.test.ts +0 -745
  335. package/src/server/plugins/engine/components/RadiosField.test.ts +0 -297
  336. package/src/server/plugins/engine/components/SelectField.test.ts +0 -289
  337. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +0 -384
  338. package/src/server/plugins/engine/components/TextField.test.ts +0 -521
  339. package/src/server/plugins/engine/components/UkAddressField.test.ts +0 -806
  340. package/src/server/plugins/engine/components/YesNoField.test.ts +0 -256
  341. package/src/server/plugins/engine/components/helpers/components.test.ts +0 -399
  342. package/src/server/plugins/engine/components/helpers/geospatial.test.js +0 -55
  343. package/src/server/plugins/engine/components/helpers/helpers.test.ts +0 -219
  344. package/src/server/plugins/engine/date-helper.test.ts +0 -47
  345. package/src/server/plugins/engine/helpers.test.ts +0 -868
  346. package/src/server/plugins/engine/models/FormModel.test.ts +0 -725
  347. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +0 -472
  348. package/src/server/plugins/engine/options.test.js +0 -63
  349. package/src/server/plugins/engine/outputFormatters/adapter/v1.location.test.ts +0 -356
  350. package/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts +0 -871
  351. package/src/server/plugins/engine/outputFormatters/human/v1.payment.test.ts +0 -147
  352. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +0 -145
  353. package/src/server/plugins/engine/outputFormatters/index.test.ts +0 -17
  354. package/src/server/plugins/engine/outputFormatters/machine/v1.test.ts +0 -268
  355. package/src/server/plugins/engine/outputFormatters/machine/v2.location.test.ts +0 -341
  356. package/src/server/plugins/engine/outputFormatters/machine/v2.payment.test.ts +0 -115
  357. package/src/server/plugins/engine/outputFormatters/machine/v2.test.ts +0 -311
  358. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +0 -1372
  359. package/src/server/plugins/engine/pageControllers/PageController.test.ts +0 -246
  360. package/src/server/plugins/engine/pageControllers/QuestionPageController.test.ts +0 -1686
  361. package/src/server/plugins/engine/pageControllers/RepeatPageController.test.ts +0 -279
  362. package/src/server/plugins/engine/pageControllers/StartPageController.test.ts +0 -32
  363. package/src/server/plugins/engine/pageControllers/StatusPageController.test.ts +0 -32
  364. package/src/server/plugins/engine/pageControllers/SummaryPageController.test.ts +0 -89
  365. package/src/server/plugins/engine/pageControllers/TerminalController.test.ts +0 -37
  366. package/src/server/plugins/engine/pageControllers/errors.test.ts +0 -78
  367. package/src/server/plugins/engine/pageControllers/helpers/helpers.test.ts +0 -182
  368. package/src/server/plugins/engine/pageControllers/helpers/state.test.ts +0 -359
  369. package/src/server/plugins/engine/pageControllers/helpers/submission.test.ts +0 -373
  370. package/src/server/plugins/engine/referenceNumbers.test.ts +0 -74
  371. package/src/server/plugins/engine/routes/index.test.ts +0 -332
  372. package/src/server/plugins/engine/routes/payment-helper.test.js +0 -136
  373. package/src/server/plugins/engine/routes/payment.test.js +0 -180
  374. package/src/server/plugins/engine/routes/questions.test.ts +0 -502
  375. package/src/server/plugins/engine/routes/repeaters/item-delete.test.ts +0 -83
  376. package/src/server/plugins/engine/routes/repeaters/summary.test.ts +0 -75
  377. package/src/server/plugins/engine/services/formsService.test.js +0 -26
  378. package/src/server/plugins/engine/services/notifyService.test.ts +0 -310
  379. package/src/server/plugins/engine/types/schema.test.ts +0 -234
  380. package/src/server/plugins/engine/views/components/service-banner/template.test.js +0 -43
  381. package/src/server/plugins/engine/views/components/tag-env/template.test.js +0 -28
  382. package/src/server/plugins/engine/views/partials/preview-banner.test.js +0 -122
  383. package/src/server/plugins/map/routes/get-os-token.test.js +0 -55
  384. package/src/server/plugins/map/service.test.js +0 -144
  385. package/src/server/plugins/nunjucks/context.test.js +0 -109
  386. package/src/server/plugins/nunjucks/enviroment.test.js +0 -207
  387. package/src/server/plugins/nunjucks/filters/answer.test.js +0 -92
  388. package/src/server/plugins/nunjucks/filters/field.test.js +0 -75
  389. package/src/server/plugins/nunjucks/filters/href.test.js +0 -80
  390. package/src/server/plugins/nunjucks/filters/merge.test.js +0 -15
  391. package/src/server/plugins/nunjucks/filters/page.test.js +0 -65
  392. package/src/server/plugins/payment/helper.test.js +0 -29
  393. package/src/server/plugins/payment/service.test.js +0 -218
  394. package/src/server/plugins/postcode-lookup/service.test.js +0 -177
  395. package/src/server/postcode-lookup.test.ts +0 -64
  396. package/src/server/routes/dummy-api.test.ts +0 -97
  397. package/src/server/services/cacheService.test.ts +0 -308
  398. package/src/server/services/httpService.test.js +0 -491
  399. package/src/server/utils/file-form-service.test.js +0 -127
  400. package/src/server/utils/notify.test.ts +0 -37
  401. package/src/server/utils/secure-context/get-trust-store-certs.test.js +0 -19
  402. package/src/server/utils/utils.test.js +0 -69
@@ -191,9 +191,9 @@ export type Context = {
191
191
  */
192
192
  drawPlugin: any;
193
193
  };
194
- import type { MapsEnvironmentConfig } from '~/src/client/javascripts/map.js';
195
- import type { Feature } from '~/src/server/plugins/engine/types.js';
196
- import type { InteractiveMap } from '~/src/client/javascripts/map.js';
197
- import type { FeatureCollection } from '~/src/server/plugins/engine/types.js';
198
- import type { MapLibreMap } from '~/src/client/javascripts/map.js';
199
- import type { Geometry } from '~/src/server/plugins/engine/types.js';
194
+ import type { MapsEnvironmentConfig } from '../../client/javascripts/map.js';
195
+ import type { Feature } from '../../server/plugins/engine/types.js';
196
+ import type { InteractiveMap } from '../../client/javascripts/map.js';
197
+ import type { FeatureCollection } from '../../server/plugins/engine/types.js';
198
+ import type { MapLibreMap } from '../../client/javascripts/map.js';
199
+ import type { Geometry } from '../../server/plugins/engine/types.js';
@@ -967,11 +967,11 @@ function onListElKeydownFactory() {
967
967
  }
968
968
 
969
969
  /**
970
- * @import { MapsEnvironmentConfig, InteractiveMap } from '~/src/client/javascripts/map.js'
970
+ * @import { MapsEnvironmentConfig, InteractiveMap } from '../../client/javascripts/map.js'
971
971
  */
972
972
 
973
973
  /**
974
- * @import { Geometry, FeatureCollection, Feature, Coordinates } from '~/src/server/plugins/engine/types.js'
974
+ * @import { Geometry, FeatureCollection, Feature, Coordinates } from '../../server/plugins/engine/types.js'
975
975
  */
976
976
 
977
977
  /**
@@ -1095,6 +1095,6 @@ function onListElKeydownFactory() {
1095
1095
  */
1096
1096
 
1097
1097
  /**
1098
- * @import { MapLibreMap } from '~/src/client/javascripts/map.js'
1098
+ * @import { MapLibreMap } from '../../client/javascripts/map.js'
1099
1099
  */
1100
1100
  //# sourceMappingURL=geospatial-map.js.map
@@ -5,4 +5,4 @@
5
5
  * @param {number} index - the 0-based index
6
6
  */
7
7
  export function processLocation(config: MapsEnvironmentConfig, location: Element, index: number): void;
8
- import type { MapsEnvironmentConfig } from '~/src/client/javascripts/map.js';
8
+ import type { MapsEnvironmentConfig } from '../../client/javascripts/map.js';
@@ -437,6 +437,6 @@ export function processLocation(config, location, index) {
437
437
  }
438
438
 
439
439
  /**
440
- * @import { InteractiveMap, InteractiveMapInitConfig, MapCenter, MapLibreMap, MapsEnvironmentConfig } from '~/src/client/javascripts/map.js'
440
+ * @import { InteractiveMap, InteractiveMapInitConfig, MapCenter, MapLibreMap, MapsEnvironmentConfig } from '../../client/javascripts/map.js'
441
441
  */
442
442
  //# sourceMappingURL=location-map.js.map
@@ -202,4 +202,4 @@ export type MapsEnvironmentConfig = {
202
202
  */
203
203
  data: TileData;
204
204
  };
205
- import type { Feature } from '~/src/server/plugins/engine/types.js';
205
+ import type { Feature } from '../../server/plugins/engine/types.js';
@@ -392,6 +392,6 @@ export function centerMap(map, mapProvider, center) {
392
392
  */
393
393
 
394
394
  /**
395
- * @import { Feature } from '~/src/server/plugins/engine/types.js'
395
+ * @import { Feature } from '../../server/plugins/engine/types.js'
396
396
  */
397
397
  //# sourceMappingURL=map.js.map
@@ -2,14 +2,14 @@
2
2
  * Initialise all clientside components (but not maps as this will be an opt-in for now given the additional UMD assets that are required)
3
3
  */
4
4
  export function initAll(): void;
5
- export { initMaps } from "~/src/client/javascripts/map.js";
6
- export * as map from "~/src/client/javascripts/map.js";
7
- export * as geospatialMap from "~/src/client/javascripts/geospatial-map.js";
5
+ export { initMaps } from "../../client/javascripts/map.js";
6
+ export * as map from "../../client/javascripts/map.js";
7
+ export * as geospatialMap from "../../client/javascripts/geospatial-map.js";
8
8
  export const initAllGovuk: typeof initAllGovukImp;
9
9
  export const initAllAutocomplete: typeof initAllAutocompleteImp;
10
10
  export const initFileUpload: typeof initFileUploadImp;
11
11
  export const initPreviewCloseLink: typeof initPreviewCloseLinkImp;
12
- import { initAllGovuk as initAllGovukImp } from '~/src/client/javascripts/govuk.js';
13
- import { initAllAutocomplete as initAllAutocompleteImp } from '~/src/client/javascripts/autocomplete.js';
14
- import { initFileUpload as initFileUploadImp } from '~/src/client/javascripts/file-upload.js';
15
- import { initPreviewCloseLink as initPreviewCloseLinkImp } from '~/src/client/javascripts/preview-close-link.js';
12
+ import { initAllGovuk as initAllGovukImp } from '../../client/javascripts/govuk.js';
13
+ import { initAllAutocomplete as initAllAutocompleteImp } from '../../client/javascripts/autocomplete.js';
14
+ import { initFileUpload as initFileUploadImp } from '../../client/javascripts/file-upload.js';
15
+ import { initPreviewCloseLink as initPreviewCloseLinkImp } from '../../client/javascripts/preview-close-link.js';
@@ -1,3 +1,3 @@
1
1
  import hapi from '@hapi/hapi';
2
- import { type RouteConfig } from '~/src/server/types.js';
2
+ import { type RouteConfig } from '../server/types.js';
3
3
  export declare function createServer(routeConfig?: RouteConfig): Promise<hapi.Server<hapi.ServerApplicationState>>;
@@ -1,4 +1,4 @@
1
1
  import { type RegisterOptions } from '@hapi/crumb';
2
2
  import { type ServerRegisterPluginObject } from '@hapi/hapi';
3
- import { type RouteConfig } from '~/src/server/types.js';
3
+ import { type RouteConfig } from '../../server/types.js';
4
4
  export declare const configureCrumbPlugin: (routeConfig?: RouteConfig) => ServerRegisterPluginObject<RegisterOptions>;
@@ -1,9 +1,9 @@
1
1
  import { type Request, type Server } from '@hapi/hapi';
2
- import { FormModel } from '~/src/server/plugins/engine/models/index.js';
3
- import { type PageController } from '~/src/server/plugins/engine/pageControllers/PageController.js';
4
- import { type FormContext, type FormSubmissionError } from '~/src/server/plugins/engine/types.js';
5
- import { FormStatus } from '~/src/server/routes/types.js';
6
- import { type Services } from '~/src/server/types.js';
2
+ import { FormModel } from '../../../../server/plugins/engine/models/index.js';
3
+ import { type PageController } from '../../../../server/plugins/engine/pageControllers/PageController.js';
4
+ import { type FormContext, type FormSubmissionError } from '../../../../server/plugins/engine/types.js';
5
+ import { FormStatus } from '../../../../server/routes/types.js';
6
+ import { type Services } from '../../../../server/types.js';
7
7
  type JourneyState = FormStatus | 'preview';
8
8
  export interface FormModelOptions {
9
9
  services?: Services;
@@ -20,5 +20,5 @@ export interface FormContextOptions extends FormModelOptions {
20
20
  export declare function getFormModel(slug: string, state: JourneyState, options?: FormModelOptions): Promise<FormModel>;
21
21
  export declare function getFormContext({ server, yar }: Pick<Request, 'server' | 'yar'>, slug: string, state?: JourneyState, options?: FormContextOptions): Promise<FormContext>;
22
22
  export declare function resolveFormModel(server: Server, slug: string, state: JourneyState, options?: FormModelOptions): Promise<FormModel>;
23
- export declare function getFirstJourneyPage(context?: Pick<FormContext, 'relevantPages'>): import("~/src/server/plugins/engine/pageControllers/index.js").StartPageController | import("~/src/server/plugins/engine/pageControllers/index.js").QuestionPageController | import("~/src/server/plugins/engine/pageControllers/index.js").RepeatPageController | undefined;
23
+ export declare function getFirstJourneyPage(context?: Pick<FormContext, 'relevantPages'>): import("../../../../server/plugins/engine/pageControllers/index.js").StartPageController | import("../../../../server/plugins/engine/pageControllers/index.js").QuestionPageController | import("../../../../server/plugins/engine/pageControllers/index.js").RepeatPageController | undefined;
24
24
  export {};
@@ -1,6 +1,6 @@
1
1
  import { type AutocompleteFieldComponent } from '@defra/forms-model';
2
- import { SelectField } from '~/src/server/plugins/engine/components/SelectField.js';
3
- import { type FormPayload, type FormSubmissionError } from '~/src/server/plugins/engine/types.js';
2
+ import { SelectField } from '../../../../server/plugins/engine/components/SelectField.js';
3
+ import { type FormPayload, type FormSubmissionError } from '../../../../server/plugins/engine/types.js';
4
4
  export declare class AutocompleteField extends SelectField {
5
5
  options: AutocompleteFieldComponent['options'];
6
6
  constructor(def: AutocompleteFieldComponent, props: ConstructorParameters<typeof SelectField>[1]);
@@ -15,7 +15,7 @@ export declare class AutocompleteField extends SelectField {
15
15
  };
16
16
  id: string;
17
17
  name: string;
18
- value: import("~/src/server/plugins/engine/types.js").FormValue;
18
+ value: import("../../../../server/plugins/engine/types.js").FormValue;
19
19
  type?: string;
20
20
  hint?: {
21
21
  id?: string;
@@ -50,7 +50,7 @@ export declare class AutocompleteField extends SelectField {
50
50
  components?: import("./types.js").ComponentViewModel[];
51
51
  upload?: {
52
52
  count: number;
53
- summaryList: import("~/src/server/plugins/engine/types.js").SummaryList;
53
+ summaryList: import("../../../../server/plugins/engine/types.js").SummaryList;
54
54
  };
55
55
  };
56
56
  }
@@ -1,7 +1,7 @@
1
1
  import { type CheckboxesFieldComponent, type Item } from '@defra/forms-model';
2
2
  import { type ArraySchema } from 'joi';
3
- import { SelectionControlField } from '~/src/server/plugins/engine/components/SelectionControlField.js';
4
- import { type ErrorMessageTemplateList, type FormState, type FormStateValue, type FormSubmissionState } from '~/src/server/plugins/engine/types.js';
3
+ import { SelectionControlField } from '../../../../server/plugins/engine/components/SelectionControlField.js';
4
+ import { type ErrorMessageTemplateList, type FormState, type FormStateValue, type FormSubmissionState } from '../../../../server/plugins/engine/types.js';
5
5
  export declare class CheckboxesField extends SelectionControlField {
6
6
  options: CheckboxesFieldComponent['options'];
7
7
  schema: CheckboxesFieldComponent['schema'];
@@ -9,9 +9,9 @@ export class CheckboxesField extends SelectionControlField {
9
9
  listType: type
10
10
  } = this;
11
11
  const {
12
- options
12
+ options,
13
+ schema
13
14
  } = def;
14
- const schema = 'schema' in def ? def.schema : {};
15
15
  let formSchema = type === 'string' ? joi.array() : joi.array();
16
16
  const itemsSchema = joi[type]().valid(...this.values).label(this.label);
17
17
  formSchema = formSchema.items(itemsSchema).single().label(this.label).required().messages({
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxesField.js","names":["joi","isFormValue","SelectionControlField","messageTemplate","CheckboxesField","constructor","def","props","listType","type","options","schema","formSchema","array","itemsSchema","valid","values","label","items","single","required","messages","optional","length","min","max","default","stateSchema","allow","getFormValueFromState","state","name","getFormValue","selected","filter","item","includes","value","map","undefined","isValue","getDisplayStringFromFormValue","text","join","getContextValueFromFormValue","getDisplayStringFromState","getContextValueFromState","getAllPossibleErrors","parentErrors","advancedSettingsErrors","template","arrayMin","arrayMax","arrayLength","Array","isArray","every"],"sources":["../../../../../src/server/plugins/engine/components/CheckboxesField.ts"],"sourcesContent":["import { type CheckboxesFieldComponent, type Item } from '@defra/forms-model'\nimport joi, { type ArraySchema } from 'joi'\n\nimport { isFormValue } from '~/src/server/plugins/engine/components/FormComponent.js'\nimport { SelectionControlField } from '~/src/server/plugins/engine/components/SelectionControlField.js'\nimport { type FormModel } from '~/src/server/plugins/engine/models/FormModel.js'\nimport { type QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js'\nimport { messageTemplate } from '~/src/server/plugins/engine/pageControllers/validationOptions.js'\nimport {\n type ErrorMessageTemplateList,\n type FormState,\n type FormStateValue,\n type FormSubmissionState\n} from '~/src/server/plugins/engine/types.js'\n\nexport class CheckboxesField extends SelectionControlField {\n declare options: CheckboxesFieldComponent['options']\n declare schema: CheckboxesFieldComponent['schema']\n declare formSchema: ArraySchema<string> | ArraySchema<number>\n declare stateSchema: ArraySchema<string> | ArraySchema<number>\n\n constructor(\n def: CheckboxesFieldComponent,\n props: ConstructorParameters<typeof SelectionControlField>[1]\n ) {\n super(def, props)\n\n const { listType: type } = this\n const { options } = def\n const schema = 'schema' in def ? def.schema : {}\n\n let formSchema =\n type === 'string' ? joi.array<string>() : joi.array<number>()\n\n const itemsSchema = joi[type]()\n .valid(...this.values)\n .label(this.label)\n\n formSchema = formSchema\n .items(itemsSchema)\n .single()\n .label(this.label)\n .required()\n .messages({\n 'array.min': 'Select at least {{#limit}} options from the list',\n 'array.max': 'Only {{#limit}} can be selected from the list',\n 'array.length': 'Select only {{#limit}} options from the list'\n })\n\n if (options.required === false) {\n formSchema = formSchema.optional()\n }\n\n if (typeof schema?.length === 'number') {\n formSchema = formSchema.length(schema.length)\n } else {\n if (typeof schema?.min === 'number') {\n formSchema = formSchema.min(schema.min)\n }\n\n if (typeof schema?.max === 'number') {\n formSchema = formSchema.max(schema.max)\n }\n }\n\n this.formSchema = formSchema.default([])\n this.stateSchema = formSchema.default(null).allow(null)\n this.options = options\n }\n\n getFormValueFromState(state: FormSubmissionState) {\n const { items, name } = this\n\n // State checkbox values\n const values = this.getFormValue(state[name]) ?? []\n\n // Map (or discard) state values to item values\n const selected = items\n .filter((item) => values.includes(item.value))\n .map((item) => item.value)\n\n return selected.length ? selected : undefined\n }\n\n getFormValue(value?: FormStateValue | FormState) {\n return this.isValue(value) ? value : undefined\n }\n\n getDisplayStringFromFormValue(\n selected: (string | number | boolean)[] | undefined\n ) {\n const { items } = this\n\n if (!selected) {\n return ''\n }\n\n // Map selected values to text\n return items\n .filter((item) => selected.includes(item.value))\n .map((item) => item.text)\n .join(', ')\n }\n\n getContextValueFromFormValue(\n values: (string | number | boolean)[] | undefined\n ): (string | number | boolean)[] {\n /**\n * For evaluation context purposes, optional {@link CheckboxesField}\n * with an undefined value (i.e. nothing selected) should default to [].\n * This way conditions are not evaluated against `undefined` which throws errors.\n * Currently these errors are caught and the evaluation returns default `false`.\n * @see {@link QuestionPageController.getNextPath} for `undefined` return value\n * @see {@link FormModel.makeCondition} for try/catch block with default `false`\n * For negative conditions this is a problem because E.g.\n * The condition: 'selectedchecks' does not contain 'someval'\n * should return true IF 'selectedchecks' is undefined, not throw and return false.\n */\n return values ?? []\n }\n\n getDisplayStringFromState(state: FormSubmissionState) {\n // Selected checkbox values\n const selected = this.getFormValueFromState(state) ?? []\n\n // Map selected values to text\n return this.getDisplayStringFromFormValue(selected)\n }\n\n getContextValueFromState(state: FormSubmissionState) {\n const values = this.getFormValueFromState(state)\n\n return this.getContextValueFromFormValue(values)\n }\n\n /**\n * For error preview page that shows all possible errors on a component\n */\n getAllPossibleErrors(): ErrorMessageTemplateList {\n return CheckboxesField.getAllPossibleErrors()\n }\n\n /**\n * Static version of getAllPossibleErrors that doesn't require a component instance.\n */\n static getAllPossibleErrors(): ErrorMessageTemplateList {\n const parentErrors = SelectionControlField.getAllPossibleErrors()\n\n return {\n ...parentErrors,\n advancedSettingsErrors: [\n ...parentErrors.advancedSettingsErrors,\n { type: 'array.min', template: messageTemplate.arrayMin },\n { type: 'array.max', template: messageTemplate.arrayMax },\n { type: 'array.length', template: messageTemplate.arrayLength }\n ]\n }\n }\n\n isValue(value?: FormStateValue | FormState): value is Item['value'][] {\n if (!Array.isArray(value)) {\n return false\n }\n\n // Skip checks when empty\n if (!value.length) {\n return true\n }\n\n return value.every(isFormValue)\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CheckboxesField.js","names":["joi","isFormValue","SelectionControlField","messageTemplate","CheckboxesField","constructor","def","props","listType","type","options","schema","formSchema","array","itemsSchema","valid","values","label","items","single","required","messages","optional","length","min","max","default","stateSchema","allow","getFormValueFromState","state","name","getFormValue","selected","filter","item","includes","value","map","undefined","isValue","getDisplayStringFromFormValue","text","join","getContextValueFromFormValue","getDisplayStringFromState","getContextValueFromState","getAllPossibleErrors","parentErrors","advancedSettingsErrors","template","arrayMin","arrayMax","arrayLength","Array","isArray","every"],"sources":["../../../../../src/server/plugins/engine/components/CheckboxesField.ts"],"sourcesContent":["import { type CheckboxesFieldComponent, type Item } from '@defra/forms-model'\nimport joi, { type ArraySchema } from 'joi'\n\nimport { isFormValue } from '~/src/server/plugins/engine/components/FormComponent.js'\nimport { SelectionControlField } from '~/src/server/plugins/engine/components/SelectionControlField.js'\nimport { type FormModel } from '~/src/server/plugins/engine/models/FormModel.js'\nimport { type QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js'\nimport { messageTemplate } from '~/src/server/plugins/engine/pageControllers/validationOptions.js'\nimport {\n type ErrorMessageTemplateList,\n type FormState,\n type FormStateValue,\n type FormSubmissionState\n} from '~/src/server/plugins/engine/types.js'\n\nexport class CheckboxesField extends SelectionControlField {\n declare options: CheckboxesFieldComponent['options']\n declare schema: CheckboxesFieldComponent['schema']\n declare formSchema: ArraySchema<string> | ArraySchema<number>\n declare stateSchema: ArraySchema<string> | ArraySchema<number>\n\n constructor(\n def: CheckboxesFieldComponent,\n props: ConstructorParameters<typeof SelectionControlField>[1]\n ) {\n super(def, props)\n\n const { listType: type } = this\n const { options, schema } = def\n\n let formSchema =\n type === 'string' ? joi.array<string>() : joi.array<number>()\n\n const itemsSchema = joi[type]()\n .valid(...this.values)\n .label(this.label)\n\n formSchema = formSchema\n .items(itemsSchema)\n .single()\n .label(this.label)\n .required()\n .messages({\n 'array.min': 'Select at least {{#limit}} options from the list',\n 'array.max': 'Only {{#limit}} can be selected from the list',\n 'array.length': 'Select only {{#limit}} options from the list'\n })\n\n if (options.required === false) {\n formSchema = formSchema.optional()\n }\n\n if (typeof schema?.length === 'number') {\n formSchema = formSchema.length(schema.length)\n } else {\n if (typeof schema?.min === 'number') {\n formSchema = formSchema.min(schema.min)\n }\n\n if (typeof schema?.max === 'number') {\n formSchema = formSchema.max(schema.max)\n }\n }\n\n this.formSchema = formSchema.default([])\n this.stateSchema = formSchema.default(null).allow(null)\n this.options = options\n }\n\n getFormValueFromState(state: FormSubmissionState) {\n const { items, name } = this\n\n // State checkbox values\n const values = this.getFormValue(state[name]) ?? []\n\n // Map (or discard) state values to item values\n const selected = items\n .filter((item) => values.includes(item.value))\n .map((item) => item.value)\n\n return selected.length ? selected : undefined\n }\n\n getFormValue(value?: FormStateValue | FormState) {\n return this.isValue(value) ? value : undefined\n }\n\n getDisplayStringFromFormValue(\n selected: (string | number | boolean)[] | undefined\n ) {\n const { items } = this\n\n if (!selected) {\n return ''\n }\n\n // Map selected values to text\n return items\n .filter((item) => selected.includes(item.value))\n .map((item) => item.text)\n .join(', ')\n }\n\n getContextValueFromFormValue(\n values: (string | number | boolean)[] | undefined\n ): (string | number | boolean)[] {\n /**\n * For evaluation context purposes, optional {@link CheckboxesField}\n * with an undefined value (i.e. nothing selected) should default to [].\n * This way conditions are not evaluated against `undefined` which throws errors.\n * Currently these errors are caught and the evaluation returns default `false`.\n * @see {@link QuestionPageController.getNextPath} for `undefined` return value\n * @see {@link FormModel.makeCondition} for try/catch block with default `false`\n * For negative conditions this is a problem because E.g.\n * The condition: 'selectedchecks' does not contain 'someval'\n * should return true IF 'selectedchecks' is undefined, not throw and return false.\n */\n return values ?? []\n }\n\n getDisplayStringFromState(state: FormSubmissionState) {\n // Selected checkbox values\n const selected = this.getFormValueFromState(state) ?? []\n\n // Map selected values to text\n return this.getDisplayStringFromFormValue(selected)\n }\n\n getContextValueFromState(state: FormSubmissionState) {\n const values = this.getFormValueFromState(state)\n\n return this.getContextValueFromFormValue(values)\n }\n\n /**\n * For error preview page that shows all possible errors on a component\n */\n getAllPossibleErrors(): ErrorMessageTemplateList {\n return CheckboxesField.getAllPossibleErrors()\n }\n\n /**\n * Static version of getAllPossibleErrors that doesn't require a component instance.\n */\n static getAllPossibleErrors(): ErrorMessageTemplateList {\n const parentErrors = SelectionControlField.getAllPossibleErrors()\n\n return {\n ...parentErrors,\n advancedSettingsErrors: [\n ...parentErrors.advancedSettingsErrors,\n { type: 'array.min', template: messageTemplate.arrayMin },\n { type: 'array.max', template: messageTemplate.arrayMax },\n { type: 'array.length', template: messageTemplate.arrayLength }\n ]\n }\n }\n\n isValue(value?: FormStateValue | FormState): value is Item['value'][] {\n if (!Array.isArray(value)) {\n return false\n }\n\n // Skip checks when empty\n if (!value.length) {\n return true\n }\n\n return value.every(isFormValue)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  import { type ComponentDef } from '@defra/forms-model';
2
2
  import { type ArraySchema, type BooleanSchema, type DateSchema, type NumberSchema, type ObjectSchema, type StringSchema } from 'joi';
3
- import { type ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js';
4
- import { type Component } from '~/src/server/plugins/engine/components/helpers/components.js';
5
- import { type ViewModel } from '~/src/server/plugins/engine/components/types.js';
6
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
7
- import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js';
3
+ import { type ComponentCollection } from '../../../../server/plugins/engine/components/ComponentCollection.js';
4
+ import { type Component } from '../../../../server/plugins/engine/components/helpers/components.js';
5
+ import { type ViewModel } from '../../../../server/plugins/engine/components/types.js';
6
+ import { type FormModel } from '../../../../server/plugins/engine/models/index.js';
7
+ import { type PageControllerClass } from '../../../../server/plugins/engine/pageControllers/helpers/pages.js';
8
8
  export declare class ComponentBase {
9
9
  id?: string;
10
10
  page?: PageControllerClass;
@@ -1,11 +1,11 @@
1
1
  import { type ComponentDef } from '@defra/forms-model';
2
2
  import { type CustomValidator, type ErrorReportCollection, type ObjectSchema } from 'joi';
3
- import { type Component, type Field, type Guidance } from '~/src/server/plugins/engine/components/helpers/components.js';
4
- import { type ComponentViewModel } from '~/src/server/plugins/engine/components/types.js';
5
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
6
- import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js';
7
- import { type FormPayload, type FormSubmissionError, type FormSubmissionState, type FormValidationResult } from '~/src/server/plugins/engine/types.js';
8
- import { type FormQuery } from '~/src/server/routes/types.js';
3
+ import { type Component, type Field, type Guidance } from '../../../../server/plugins/engine/components/helpers/components.js';
4
+ import { type ComponentViewModel } from '../../../../server/plugins/engine/components/types.js';
5
+ import { type FormModel } from '../../../../server/plugins/engine/models/index.js';
6
+ import { type PageControllerClass } from '../../../../server/plugins/engine/pageControllers/helpers/pages.js';
7
+ import { type FormPayload, type FormSubmissionError, type FormSubmissionState, type FormValidationResult } from '../../../../server/plugins/engine/types.js';
8
+ import { type FormQuery } from '../../../../server/routes/types.js';
9
9
  export declare class ComponentCollection {
10
10
  page?: PageControllerClass;
11
11
  parent?: Component;
@@ -32,8 +32,8 @@ export declare class ComponentCollection {
32
32
  get keys(): string[];
33
33
  getFormDataFromState(state: FormSubmissionState): FormPayload;
34
34
  getFormValueFromState(state: FormSubmissionState): FormPayload;
35
- getStateFromValidForm(payload: FormPayload): Partial<Record<string, import("~/src/server/plugins/engine/types.js").FormStateValue>>;
36
- getContextValueFromState(state: FormSubmissionState): Partial<Record<string, import("~/src/server/plugins/engine/types.js").FormStateValue>>;
35
+ getStateFromValidForm(payload: FormPayload): Partial<Record<string, import("../../../../server/plugins/engine/types.js").FormStateValue>>;
36
+ getContextValueFromState(state: FormSubmissionState): Partial<Record<string, import("../../../../server/plugins/engine/types.js").FormStateValue>>;
37
37
  /**
38
38
  * Get all errors for all fields in this collection
39
39
  */
@@ -1,9 +1,9 @@
1
1
  import { type DatePartsFieldComponent } from '@defra/forms-model';
2
2
  import { type CustomValidator, type ObjectSchema } from 'joi';
3
- import { ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js';
4
- import { FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js';
5
- import { type DateInputItem, type DatePartsState } from '~/src/server/plugins/engine/components/types.js';
6
- import { type ErrorMessageTemplateList, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState } from '~/src/server/plugins/engine/types.js';
3
+ import { ComponentCollection } from '../../../../server/plugins/engine/components/ComponentCollection.js';
4
+ import { FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
5
+ import { type DateInputItem, type DatePartsState } from '../../../../server/plugins/engine/components/types.js';
6
+ import { type ErrorMessageTemplateList, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState } from '../../../../server/plugins/engine/types.js';
7
7
  export declare class DatePartsField extends FormComponent {
8
8
  options: DatePartsFieldComponent['options'];
9
9
  formSchema: ObjectSchema<FormPayload>;
@@ -18,7 +18,7 @@ export declare class DatePartsField extends FormComponent {
18
18
  getViewModel(payload: FormPayload, errors?: FormSubmissionError[]): {
19
19
  fieldset: {
20
20
  attributes?: string | Record<string, string>;
21
- legend?: import("~/src/server/plugins/engine/components/types.js").Label;
21
+ legend?: import("../../../../server/plugins/engine/components/types.js").Label;
22
22
  };
23
23
  items: DateInputItem[];
24
24
  label: {
@@ -26,14 +26,14 @@ export declare class DatePartsField extends FormComponent {
26
26
  };
27
27
  id: string;
28
28
  name: string;
29
- value: import("~/src/server/plugins/engine/types.js").FormValue;
29
+ value: import("../../../../server/plugins/engine/types.js").FormValue;
30
30
  type?: string;
31
31
  hint?: {
32
32
  id?: string;
33
33
  text: string;
34
34
  };
35
- prefix?: import("~/src/server/plugins/engine/components/types.js").ComponentText;
36
- suffix?: import("~/src/server/plugins/engine/components/types.js").ComponentText;
35
+ prefix?: import("../../../../server/plugins/engine/components/types.js").ComponentText;
36
+ suffix?: import("../../../../server/plugins/engine/components/types.js").ComponentText;
37
37
  classes?: string;
38
38
  condition?: string;
39
39
  errors?: FormSubmissionError[];
@@ -49,7 +49,7 @@ export declare class DatePartsField extends FormComponent {
49
49
  accept?: string;
50
50
  inputmode?: string;
51
51
  };
52
- content?: import("~/src/server/plugins/engine/components/types.js").Content | import("~/src/server/plugins/engine/components/types.js").Content[] | string;
52
+ content?: import("../../../../server/plugins/engine/components/types.js").Content | import("../../../../server/plugins/engine/components/types.js").Content[] | string;
53
53
  maxlength?: number;
54
54
  maxwords?: number;
55
55
  rows?: number;
@@ -58,10 +58,10 @@ export declare class DatePartsField extends FormComponent {
58
58
  attributes?: string | Record<string, string>;
59
59
  };
60
60
  showFieldsetError?: boolean;
61
- components?: import("~/src/server/plugins/engine/components/types.js").ComponentViewModel[];
61
+ components?: import("../../../../server/plugins/engine/components/types.js").ComponentViewModel[];
62
62
  upload?: {
63
63
  count: number;
64
- summaryList: import("~/src/server/plugins/engine/types.js").SummaryList;
64
+ summaryList: import("../../../../server/plugins/engine/types.js").SummaryList;
65
65
  };
66
66
  };
67
67
  isState(value?: FormStateValue | FormState): value is DatePartsState;
@@ -1,7 +1,7 @@
1
1
  import { type DeclarationFieldComponent, type Item } from '@defra/forms-model';
2
2
  import { type ArraySchema, type BooleanSchema, type StringSchema } from 'joi';
3
- import { FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js';
4
- import { type ErrorMessageTemplateList, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState, type FormValue } from '~/src/server/plugins/engine/types.js';
3
+ import { FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
4
+ import { type ErrorMessageTemplateList, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState, type FormValue } from '../../../../server/plugins/engine/types.js';
5
5
  export declare class DeclarationField extends FormComponent {
6
6
  private readonly DEFAULT_DECLARATION_LABEL;
7
7
  options: DeclarationFieldComponent['options'];
@@ -67,7 +67,7 @@ export declare class DeclarationField extends FormComponent {
67
67
  components?: import("./types.js").ComponentViewModel[];
68
68
  upload?: {
69
69
  count: number;
70
- summaryList: import("~/src/server/plugins/engine/types.js").SummaryList;
70
+ summaryList: import("../../../../server/plugins/engine/types.js").SummaryList;
71
71
  };
72
72
  };
73
73
  isValue(value?: FormStateValue | FormState): value is Item['value'][];
@@ -1,5 +1,5 @@
1
1
  import { type DetailsComponent } from '@defra/forms-model';
2
- import { ComponentBase } from '~/src/server/plugins/engine/components/ComponentBase.js';
2
+ import { ComponentBase } from '../../../../server/plugins/engine/components/ComponentBase.js';
3
3
  export declare class Details extends ComponentBase {
4
4
  options: DetailsComponent['options'];
5
5
  content: DetailsComponent['content'];
@@ -1,9 +1,9 @@
1
1
  import { type EastingNorthingFieldComponent } from '@defra/forms-model';
2
2
  import { type ObjectSchema } from 'joi';
3
- import { ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js';
4
- import { FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js';
5
- import { type EastingNorthingState } from '~/src/server/plugins/engine/components/types.js';
6
- import { type ErrorMessageTemplateList, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState } from '~/src/server/plugins/engine/types.js';
3
+ import { ComponentCollection } from '../../../../server/plugins/engine/components/ComponentCollection.js';
4
+ import { FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
5
+ import { type EastingNorthingState } from '../../../../server/plugins/engine/components/types.js';
6
+ import { type ErrorMessageTemplateList, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState } from '../../../../server/plugins/engine/types.js';
7
7
  export declare class EastingNorthingField extends FormComponent {
8
8
  options: EastingNorthingFieldComponent['options'];
9
9
  formSchema: ObjectSchema<FormPayload>;
@@ -18,20 +18,20 @@ export declare class EastingNorthingField extends FormComponent {
18
18
  getViewModel(payload: FormPayload, errors?: FormSubmissionError[]): {
19
19
  fieldset: {
20
20
  attributes?: string | Record<string, string>;
21
- legend?: import("~/src/server/plugins/engine/components/types.js").Label;
21
+ legend?: import("../../../../server/plugins/engine/components/types.js").Label;
22
22
  };
23
- items: import("~/src/server/plugins/engine/components/types.js").DateInputItem[];
24
- label: import("~/src/server/plugins/engine/components/types.js").Label;
23
+ items: import("../../../../server/plugins/engine/components/types.js").DateInputItem[];
24
+ label: import("../../../../server/plugins/engine/components/types.js").Label;
25
25
  type?: string;
26
26
  id: string;
27
27
  name: string;
28
- value: import("~/src/server/plugins/engine/types.js").FormValue;
28
+ value: import("../../../../server/plugins/engine/types.js").FormValue;
29
29
  hint?: {
30
30
  id?: string;
31
31
  text: string;
32
32
  };
33
- prefix?: import("~/src/server/plugins/engine/components/types.js").ComponentText;
34
- suffix?: import("~/src/server/plugins/engine/components/types.js").ComponentText;
33
+ prefix?: import("../../../../server/plugins/engine/components/types.js").ComponentText;
34
+ suffix?: import("../../../../server/plugins/engine/components/types.js").ComponentText;
35
35
  classes?: string;
36
36
  condition?: string;
37
37
  errors?: FormSubmissionError[];
@@ -47,7 +47,7 @@ export declare class EastingNorthingField extends FormComponent {
47
47
  accept?: string;
48
48
  inputmode?: string;
49
49
  };
50
- content?: import("~/src/server/plugins/engine/components/types.js").Content | import("~/src/server/plugins/engine/components/types.js").Content[] | string;
50
+ content?: import("../../../../server/plugins/engine/components/types.js").Content | import("../../../../server/plugins/engine/components/types.js").Content[] | string;
51
51
  maxlength?: number;
52
52
  maxwords?: number;
53
53
  rows?: number;
@@ -56,29 +56,29 @@ export declare class EastingNorthingField extends FormComponent {
56
56
  attributes?: string | Record<string, string>;
57
57
  };
58
58
  showFieldsetError?: boolean;
59
- components?: import("~/src/server/plugins/engine/components/types.js").ComponentViewModel[];
59
+ components?: import("../../../../server/plugins/engine/components/types.js").ComponentViewModel[];
60
60
  upload?: {
61
61
  count: number;
62
- summaryList: import("~/src/server/plugins/engine/types.js").SummaryList;
62
+ summaryList: import("../../../../server/plugins/engine/types.js").SummaryList;
63
63
  };
64
64
  } | {
65
65
  instructionText: string;
66
66
  fieldset: {
67
67
  attributes?: string | Record<string, string>;
68
- legend?: import("~/src/server/plugins/engine/components/types.js").Label;
68
+ legend?: import("../../../../server/plugins/engine/components/types.js").Label;
69
69
  };
70
- items: import("~/src/server/plugins/engine/components/types.js").DateInputItem[];
71
- label: import("~/src/server/plugins/engine/components/types.js").Label;
70
+ items: import("../../../../server/plugins/engine/components/types.js").DateInputItem[];
71
+ label: import("../../../../server/plugins/engine/components/types.js").Label;
72
72
  type?: string;
73
73
  id: string;
74
74
  name: string;
75
- value: import("~/src/server/plugins/engine/types.js").FormValue;
75
+ value: import("../../../../server/plugins/engine/types.js").FormValue;
76
76
  hint?: {
77
77
  id?: string;
78
78
  text: string;
79
79
  };
80
- prefix?: import("~/src/server/plugins/engine/components/types.js").ComponentText;
81
- suffix?: import("~/src/server/plugins/engine/components/types.js").ComponentText;
80
+ prefix?: import("../../../../server/plugins/engine/components/types.js").ComponentText;
81
+ suffix?: import("../../../../server/plugins/engine/components/types.js").ComponentText;
82
82
  classes?: string;
83
83
  condition?: string;
84
84
  errors?: FormSubmissionError[];
@@ -94,7 +94,7 @@ export declare class EastingNorthingField extends FormComponent {
94
94
  accept?: string;
95
95
  inputmode?: string;
96
96
  };
97
- content?: import("~/src/server/plugins/engine/components/types.js").Content | import("~/src/server/plugins/engine/components/types.js").Content[] | string;
97
+ content?: import("../../../../server/plugins/engine/components/types.js").Content | import("../../../../server/plugins/engine/components/types.js").Content[] | string;
98
98
  maxlength?: number;
99
99
  maxwords?: number;
100
100
  rows?: number;
@@ -103,10 +103,10 @@ export declare class EastingNorthingField extends FormComponent {
103
103
  attributes?: string | Record<string, string>;
104
104
  };
105
105
  showFieldsetError?: boolean;
106
- components?: import("~/src/server/plugins/engine/components/types.js").ComponentViewModel[];
106
+ components?: import("../../../../server/plugins/engine/components/types.js").ComponentViewModel[];
107
107
  upload?: {
108
108
  count: number;
109
- summaryList: import("~/src/server/plugins/engine/types.js").SummaryList;
109
+ summaryList: import("../../../../server/plugins/engine/types.js").SummaryList;
110
110
  };
111
111
  };
112
112
  getViewErrors(errors?: FormSubmissionError[]): FormSubmissionError[] | undefined;
@@ -1,6 +1,6 @@
1
1
  import { type EmailAddressFieldComponent } from '@defra/forms-model';
2
- import { FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js';
3
- import { type ErrorMessageTemplateList, type FormPayload, type FormSubmissionError } from '~/src/server/plugins/engine/types.js';
2
+ import { FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
3
+ import { type ErrorMessageTemplateList, type FormPayload, type FormSubmissionError } from '../../../../server/plugins/engine/types.js';
4
4
  export declare class EmailAddressField extends FormComponent {
5
5
  options: EmailAddressFieldComponent['options'];
6
6
  constructor(def: EmailAddressFieldComponent, props: ConstructorParameters<typeof FormComponent>[1]);
@@ -11,7 +11,7 @@ export declare class EmailAddressField extends FormComponent {
11
11
  };
12
12
  id: string;
13
13
  name: string;
14
- value: import("~/src/server/plugins/engine/types.js").FormValue;
14
+ value: import("../../../../server/plugins/engine/types.js").FormValue;
15
15
  hint?: {
16
16
  id?: string;
17
17
  text: string;
@@ -54,7 +54,7 @@ export declare class EmailAddressField extends FormComponent {
54
54
  components?: import("./types.js").ComponentViewModel[];
55
55
  upload?: {
56
56
  count: number;
57
- summaryList: import("~/src/server/plugins/engine/types.js").SummaryList;
57
+ summaryList: import("../../../../server/plugins/engine/types.js").SummaryList;
58
58
  };
59
59
  };
60
60
  /**
@@ -1,8 +1,8 @@
1
1
  import { type FileUploadFieldComponent, type FormMetadata } from '@defra/forms-model';
2
2
  import joi, { type ArraySchema } from 'joi';
3
- import { FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js';
4
- import { type ErrorMessageTemplateList, type FileState, type FileUpload, type FileUploadMetadata, type FormContext, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState, type SummaryList, type UploadState, type UploadStatusFileResponse, type UploadStatusResponse } from '~/src/server/plugins/engine/types.js';
5
- import { type FormQuery, type FormRequestPayload } from '~/src/server/routes/types.js';
3
+ import { FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
4
+ import { type ErrorMessageTemplateList, type FileState, type FileUpload, type FileUploadMetadata, type FormContext, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState, type SummaryList, type UploadState, type UploadStatusFileResponse, type UploadStatusResponse } from '../../../../server/plugins/engine/types.js';
5
+ import { type FormQuery, type FormRequestPayload } from '../../../../server/routes/types.js';
6
6
  export declare const uploadIdSchema: joi.StringSchema<string>;
7
7
  export declare const fileSchema: joi.ObjectSchema<FileUpload>;
8
8
  export declare const tempFileSchema: joi.ObjectSchema<FileUpload>;
@@ -1,7 +1,7 @@
1
1
  import { type FormComponentsDef, type FormMetadata, type Item } from '@defra/forms-model';
2
- import { ComponentBase } from '~/src/server/plugins/engine/components/ComponentBase.js';
3
- import { type FormContext, type FormRequestPayload } from '~/src/server/plugins/engine/types/index.js';
4
- import { type ErrorMessageTemplateList, type Feature, type FileState, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState, type FormValue, type GeospatialState, type RepeatItemState, type RepeatListState, type UploadState } from '~/src/server/plugins/engine/types.js';
2
+ import { ComponentBase } from '../../../../server/plugins/engine/components/ComponentBase.js';
3
+ import { type FormContext, type FormRequestPayload } from '../../../../server/plugins/engine/types/index.js';
4
+ import { type ErrorMessageTemplateList, type Feature, type FileState, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState, type FormValue, type GeospatialState, type RepeatItemState, type RepeatListState, type UploadState } from '../../../../server/plugins/engine/types.js';
5
5
  export declare class FormComponent extends ComponentBase {
6
6
  type: FormComponentsDef['type'];
7
7
  hint: FormComponentsDef['hint'];
@@ -29,8 +29,8 @@ export declare class FormComponent extends ComponentBase {
29
29
  id?: string;
30
30
  text: string;
31
31
  };
32
- prefix?: import("~/src/server/plugins/engine/types/index.js").ComponentText;
33
- suffix?: import("~/src/server/plugins/engine/types/index.js").ComponentText;
32
+ prefix?: import("../../../../server/plugins/engine/types/index.js").ComponentText;
33
+ suffix?: import("../../../../server/plugins/engine/types/index.js").ComponentText;
34
34
  classes?: string;
35
35
  condition?: string;
36
36
  errors?: FormSubmissionError[];
@@ -46,24 +46,24 @@ export declare class FormComponent extends ComponentBase {
46
46
  accept?: string;
47
47
  inputmode?: string;
48
48
  };
49
- content?: import("~/src/server/plugins/engine/types/index.js").Content | import("~/src/server/plugins/engine/types/index.js").Content[] | string;
49
+ content?: import("../../../../server/plugins/engine/types/index.js").Content | import("../../../../server/plugins/engine/types/index.js").Content[] | string;
50
50
  maxlength?: number;
51
51
  maxwords?: number;
52
52
  rows?: number;
53
- items?: import("~/src/server/plugins/engine/types/index.js").ListItem[] | import("~/src/server/plugins/engine/types/index.js").DateInputItem[];
53
+ items?: import("../../../../server/plugins/engine/types/index.js").ListItem[] | import("../../../../server/plugins/engine/types/index.js").DateInputItem[];
54
54
  fieldset?: {
55
55
  attributes?: string | Record<string, string>;
56
- legend?: import("~/src/server/plugins/engine/types/index.js").Label;
56
+ legend?: import("../../../../server/plugins/engine/types/index.js").Label;
57
57
  };
58
58
  formGroup?: {
59
59
  classes?: string;
60
60
  attributes?: string | Record<string, string>;
61
61
  };
62
62
  showFieldsetError?: boolean;
63
- components?: import("~/src/server/plugins/engine/types/index.js").ComponentViewModel[];
63
+ components?: import("../../../../server/plugins/engine/types/index.js").ComponentViewModel[];
64
64
  upload?: {
65
65
  count: number;
66
- summaryList: import("~/src/server/plugins/engine/types.js").SummaryList;
66
+ summaryList: import("../../../../server/plugins/engine/types.js").SummaryList;
67
67
  };
68
68
  };
69
69
  getDisplayStringFromFormValue(value: FormValue | FormPayload): string;