@ukhomeoffice/cop-react-form-renderer 6.0.6-peter → 6.7.0-alpha

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 (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +2 -2
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  6. package/dist/components/CollectionPage/CollectionPage.js +75 -59
  7. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  8. package/dist/components/CollectionSummary/BannerStrip.js +15 -14
  9. package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +98 -59
  11. package/dist/components/CollectionSummary/CollectionSummary.js +144 -135
  12. package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +167 -197
  14. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  15. package/dist/components/CollectionSummary/Confirmation.scss +1 -1
  16. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  17. package/dist/components/CollectionSummary/RenderListView.js +54 -56
  18. package/dist/components/CollectionSummary/RenderListView.scss +10 -1
  19. package/dist/components/CollectionSummary/RenderListView.test.js +89 -78
  20. package/dist/components/CollectionSummary/SummaryCard.js +135 -145
  21. package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
  22. package/dist/components/CollectionSummary/SummaryCard.test.js +943 -932
  23. package/dist/components/CollectionSummary/SummaryCardDetails.js +120 -62
  24. package/dist/components/CollectionSummary/SummaryCardDetails.scss +43 -6
  25. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +261 -120
  26. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +38 -33
  27. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -73
  28. package/dist/components/FormComponent/Collection.js +81 -108
  29. package/dist/components/FormComponent/Collection.test.js +909 -943
  30. package/dist/components/FormComponent/Container.js +40 -38
  31. package/dist/components/FormComponent/Container.test.js +314 -345
  32. package/dist/components/FormComponent/FormComponent.js +80 -71
  33. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  34. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  36. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  38. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  40. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  41. package/dist/components/FormComponent/helpers/index.js +4 -4
  42. package/dist/components/FormPage/FormPage.js +65 -80
  43. package/dist/components/FormPage/FormPage.scss +1 -1
  44. package/dist/components/FormPage/FormPage.test.js +127 -163
  45. package/dist/components/FormRenderer/FormRenderer.js +150 -183
  46. package/dist/components/FormRenderer/FormRenderer.scss +1 -1
  47. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  48. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  49. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  50. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  51. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  52. package/dist/components/FormRenderer/handlers/index.js +1 -1
  53. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  54. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  56. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  58. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  60. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  61. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  62. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  63. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  64. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  65. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  66. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  67. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  68. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  70. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  72. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  74. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  75. package/dist/components/FormRenderer/helpers/index.js +2 -4
  76. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  77. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  78. package/dist/components/FormRenderer/onPageAction.js +50 -48
  79. package/dist/components/FormRenderer/onPageAction.test.js +241 -217
  80. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  81. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  82. package/dist/components/PageActions/ActionButton.js +12 -15
  83. package/dist/components/PageActions/ActionButton.test.js +56 -78
  84. package/dist/components/PageActions/PageActions.js +10 -10
  85. package/dist/components/PageActions/PageActions.test.js +86 -115
  86. package/dist/components/SummaryList/GroupAction.js +9 -17
  87. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  88. package/dist/components/SummaryList/RowAction.js +11 -16
  89. package/dist/components/SummaryList/RowAction.test.js +37 -33
  90. package/dist/components/SummaryList/SummaryList.js +21 -26
  91. package/dist/components/SummaryList/SummaryList.scss +2 -2
  92. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  94. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  95. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  100. package/dist/components/SummaryList/helpers/index.js +1 -1
  101. package/dist/components/TaskList/Task.js +19 -29
  102. package/dist/components/TaskList/Task.test.js +83 -76
  103. package/dist/components/TaskList/TaskList.js +45 -71
  104. package/dist/components/TaskList/TaskList.scss +1 -1
  105. package/dist/components/TaskList/TaskList.test.js +113 -111
  106. package/dist/components/TaskList/TaskState.js +7 -5
  107. package/dist/components/TaskList/TaskState.test.js +52 -45
  108. package/dist/components/index.js +7 -7
  109. package/dist/context/HooksContext/HooksContext.js +57 -80
  110. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  111. package/dist/context/HooksContext/index.js +3 -4
  112. package/dist/context/ValidationContext/ValidationContext.js +65 -72
  113. package/dist/context/ValidationContext/ValidationContext.test.js +58 -61
  114. package/dist/context/ValidationContext/index.js +3 -4
  115. package/dist/context/index.js +2 -2
  116. package/dist/hooks/index.js +9 -10
  117. package/dist/hooks/useAxios.js +14 -40
  118. package/dist/hooks/useGetRequest.js +61 -97
  119. package/dist/hooks/useHooks.js +1 -3
  120. package/dist/hooks/useRefData.js +27 -40
  121. package/dist/hooks/useValidation.js +1 -3
  122. package/dist/index.js +13 -14
  123. package/dist/models/CollectionLabels.js +1 -1
  124. package/dist/models/ComponentTypes.js +25 -25
  125. package/dist/models/EventTypes.js +4 -4
  126. package/dist/models/FormPages.js +4 -4
  127. package/dist/models/FormTypes.js +8 -8
  128. package/dist/models/HubFormats.js +3 -3
  129. package/dist/models/PageAction.js +44 -38
  130. package/dist/models/TaskStates.js +29 -28
  131. package/dist/models/index.js +9 -9
  132. package/dist/setupTests.js +30 -31
  133. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  134. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  139. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  140. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  151. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  152. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  153. package/dist/utils/CheckYourAnswers/index.js +1 -1
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -5
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +29 -24
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -4
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +7 -27
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +29 -19
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +66 -22
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  166. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  167. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  168. package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
  169. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +153 -0
  170. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -23
  171. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  172. package/dist/utils/CollectionPage/index.js +3 -1
  173. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  174. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -17
  178. package/dist/utils/CollectionPage/setCollectionPageData.test.js +38 -20
  179. package/dist/utils/Component/addShowWhen.js +4 -8
  180. package/dist/utils/Component/addShowWhen.test.js +37 -37
  181. package/dist/utils/Component/applyToComponentTree.js +18 -18
  182. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  183. package/dist/utils/Component/cleanAttributes.js +10 -13
  184. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  185. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  186. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  187. package/dist/utils/Component/getComponent.js +88 -94
  188. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  190. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  191. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  192. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  195. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  196. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  197. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  198. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  199. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  200. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  201. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  202. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  203. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  204. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  205. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  206. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  207. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  208. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  209. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  210. package/dist/utils/Component/getDefaultValue.js +6 -8
  211. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  212. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  213. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  214. package/dist/utils/Component/index.js +1 -1
  215. package/dist/utils/Component/isEditable.js +2 -4
  216. package/dist/utils/Component/isEditable.test.js +14 -15
  217. package/dist/utils/Component/optionIsSelected.js +1 -1
  218. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  219. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  220. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  221. package/dist/utils/Component/showComponent.js +1 -1
  222. package/dist/utils/Component/showComponent.test.js +28 -28
  223. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  224. package/dist/utils/Condition/index.js +1 -1
  225. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  226. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  227. package/dist/utils/Condition/meetsCondition.js +28 -19
  228. package/dist/utils/Condition/meetsCondition.test.js +476 -376
  229. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  230. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  231. package/dist/utils/Condition/setupConditions.js +13 -18
  232. package/dist/utils/Condition/setupConditions.test.js +7 -7
  233. package/dist/utils/Container/getEditableComponents.js +3 -5
  234. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  235. package/dist/utils/Container/index.js +1 -1
  236. package/dist/utils/Container/setupNesting.js +16 -20
  237. package/dist/utils/Container/setupNesting.test.js +27 -30
  238. package/dist/utils/Container/showContainer.js +3 -7
  239. package/dist/utils/Container/showContainer.test.js +30 -30
  240. package/dist/utils/Data/applyFormula.js +38 -48
  241. package/dist/utils/Data/applyFormula.test.js +20 -20
  242. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  243. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  244. package/dist/utils/Data/getDataPath.js +18 -28
  245. package/dist/utils/Data/getDataPath.test.js +12 -12
  246. package/dist/utils/Data/getOptions.js +29 -25
  247. package/dist/utils/Data/getOptions.test.js +93 -20
  248. package/dist/utils/Data/getSourceData.js +6 -19
  249. package/dist/utils/Data/getSourceData.test.js +84 -80
  250. package/dist/utils/Data/index.js +1 -1
  251. package/dist/utils/Data/nestInRefdataOptions.js +42 -0
  252. package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
  253. package/dist/utils/Data/refDataToOptions.js +10 -13
  254. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  255. package/dist/utils/Data/setDataItem.js +7 -8
  256. package/dist/utils/Data/setDataItem.test.js +37 -37
  257. package/dist/utils/Data/setupFormData.js +13 -21
  258. package/dist/utils/Data/setupFormData.test.js +51 -50
  259. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  260. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  261. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  262. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  263. package/dist/utils/FormPage/getConditionalText.js +3 -3
  264. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  265. package/dist/utils/FormPage/getFormPage.js +15 -16
  266. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  267. package/dist/utils/FormPage/getFormPages.js +7 -12
  268. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  269. package/dist/utils/FormPage/getPageActions.js +9 -15
  270. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  271. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  272. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  273. package/dist/utils/FormPage/index.js +2 -4
  274. package/dist/utils/FormPage/showFormPage.js +3 -7
  275. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  276. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  277. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  278. package/dist/utils/FormPage/useComponent.js +21 -28
  279. package/dist/utils/FormPage/useComponent.test.js +77 -79
  280. package/dist/utils/Format/formatData.js +1 -1
  281. package/dist/utils/Format/formatData.test.js +18 -18
  282. package/dist/utils/Format/formatDataForComponent.js +5 -6
  283. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  284. package/dist/utils/Format/formatDataForForm.js +6 -8
  285. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  286. package/dist/utils/Format/formatDataForPage.js +4 -5
  287. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  288. package/dist/utils/Format/index.js +1 -1
  289. package/dist/utils/Hub/getFormHub.js +1 -1
  290. package/dist/utils/Hub/getFormHub.test.js +28 -31
  291. package/dist/utils/Hub/index.js +1 -1
  292. package/dist/utils/Meta/constants.js +2 -2
  293. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  294. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  295. package/dist/utils/Meta/documents/index.js +1 -1
  296. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  297. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  298. package/dist/utils/Meta/index.js +1 -1
  299. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  301. package/dist/utils/Operate/getFirstOf.js +5 -5
  302. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  303. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  304. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  305. package/dist/utils/Operate/index.js +1 -1
  306. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  307. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  308. package/dist/utils/Operate/runPageOperations.js +7 -7
  309. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  310. package/dist/utils/Operate/setValueInFormData.js +2 -2
  311. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  312. package/dist/utils/Operate/shouldRun.js +6 -6
  313. package/dist/utils/Operate/shouldRun.test.js +21 -27
  314. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  315. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  316. package/dist/utils/Validate/additional/index.js +6 -6
  317. package/dist/utils/Validate/additional/index.test.js +12 -12
  318. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  319. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  320. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  321. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  322. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  323. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  324. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  325. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  326. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  327. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  328. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  330. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  331. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  332. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  333. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  334. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  336. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  337. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  338. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  339. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  340. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  341. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  342. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  343. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  344. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  345. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  346. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  347. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  348. package/dist/utils/Validate/additional/utils.js +9 -22
  349. package/dist/utils/Validate/index.js +1 -1
  350. package/dist/utils/Validate/validateCollection.js +19 -25
  351. package/dist/utils/Validate/validateCollection.test.js +74 -66
  352. package/dist/utils/Validate/validateComponent.js +17 -15
  353. package/dist/utils/Validate/validateComponent.test.js +167 -146
  354. package/dist/utils/Validate/validateContainer.js +16 -19
  355. package/dist/utils/Validate/validateContainer.test.js +84 -45
  356. package/dist/utils/Validate/validateDate.js +15 -21
  357. package/dist/utils/Validate/validateDate.test.js +31 -32
  358. package/dist/utils/Validate/validateEmail.js +6 -8
  359. package/dist/utils/Validate/validateEmail.test.js +25 -25
  360. package/dist/utils/Validate/validateMultifile.js +5 -7
  361. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  362. package/dist/utils/Validate/validatePage.js +24 -18
  363. package/dist/utils/Validate/validatePage.test.js +263 -182
  364. package/dist/utils/Validate/validateRegex.js +3 -5
  365. package/dist/utils/Validate/validateRegex.test.js +14 -14
  366. package/dist/utils/Validate/validateRequired.js +4 -6
  367. package/dist/utils/Validate/validateRequired.test.js +18 -18
  368. package/dist/utils/Validate/validateTextArea.js +4 -6
  369. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  370. package/dist/utils/Validate/validateTime.js +11 -18
  371. package/dist/utils/Validate/validateTime.test.js +16 -16
  372. package/dist/utils/index.js +7 -9
  373. package/package.json +5 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -2,26 +2,26 @@
2
2
 
3
3
  var _getConditionalText = _interopRequireDefault(require("./getConditionalText"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.FormPage.getConditionalText', function () {
6
- var FORM_DATA = {
5
+ describe('utils.FormPage.getConditionalText', () => {
6
+ const FORM_DATA = {
7
7
  testField: 'Alpha',
8
8
  testField2: 'yes'
9
9
  };
10
- it('should return null if no options are provided', function () {
11
- var result = (0, _getConditionalText.default)(null, FORM_DATA);
10
+ it('should return null if no options are provided', () => {
11
+ const result = (0, _getConditionalText.default)(null, FORM_DATA);
12
12
  expect(result).toEqual(null);
13
13
  });
14
- it('should return the option if it\'s just a string', function () {
15
- var result = (0, _getConditionalText.default)('abc123', FORM_DATA);
14
+ it('should return the option if it\'s just a string', () => {
15
+ const result = (0, _getConditionalText.default)('abc123', FORM_DATA);
16
16
  expect(result).toEqual('abc123');
17
17
  });
18
- it('should return a correctly interpolated string', function () {
18
+ it('should return a correctly interpolated string', () => {
19
19
  // eslint-disable-next-line no-template-curly-in-string
20
- var result = (0, _getConditionalText.default)('${testField} string', FORM_DATA);
20
+ const result = (0, _getConditionalText.default)('${testField} string', FORM_DATA);
21
21
  expect(result).toEqual("".concat(FORM_DATA.testField, " string"));
22
22
  });
23
- it('should return the option that has it\'s conditions met', function () {
24
- var OPTIONS = [{
23
+ it('should return the option that has it\'s conditions met', () => {
24
+ const OPTIONS = [{
25
25
  text: 'Text A',
26
26
  show_when: [{
27
27
  field: 'testField2',
@@ -36,11 +36,11 @@ describe('utils.FormPage.getConditionalText', function () {
36
36
  value: 'yes'
37
37
  }]
38
38
  }];
39
- var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
39
+ const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
40
40
  expect(result).toEqual('Text B');
41
41
  });
42
- it('should return a plain string option if one is encountered in the array', function () {
43
- var OPTIONS = [{
42
+ it('should return a plain string option if one is encountered in the array', () => {
43
+ const OPTIONS = [{
44
44
  text: 'Text A',
45
45
  show_when: [{
46
46
  field: 'testField2',
@@ -55,11 +55,11 @@ describe('utils.FormPage.getConditionalText', function () {
55
55
  value: 'notTheValue'
56
56
  }]
57
57
  }, "Default text"];
58
- var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
58
+ const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
59
59
  expect(result).toEqual('Default text');
60
60
  });
61
- it('should correctly interpolate a plain string option in the array', function () {
62
- var OPTIONS = [{
61
+ it('should correctly interpolate a plain string option in the array', () => {
62
+ const OPTIONS = [{
63
63
  text: 'Text A',
64
64
  show_when: [{
65
65
  field: 'testField2',
@@ -76,11 +76,11 @@ describe('utils.FormPage.getConditionalText', function () {
76
76
  },
77
77
  // eslint-disable-next-line no-template-curly-in-string
78
78
  "${testField} text"];
79
- var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
79
+ const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
80
80
  expect(result).toEqual("".concat(FORM_DATA.testField, " text"));
81
81
  });
82
- it('should correctly interpolate a conditional option', function () {
83
- var OPTIONS = [{
82
+ it('should correctly interpolate a conditional option', () => {
83
+ const OPTIONS = [{
84
84
  text: 'Text A',
85
85
  show_when: [{
86
86
  field: 'testField2',
@@ -96,11 +96,11 @@ describe('utils.FormPage.getConditionalText', function () {
96
96
  value: 'yes'
97
97
  }]
98
98
  }];
99
- var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
99
+ const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
100
100
  expect(result).toEqual("".concat(FORM_DATA.testField, " text"));
101
101
  });
102
- it('should correctly use a conditional option', function () {
103
- var OPTIONS = [{
102
+ it('should correctly use a conditional option', () => {
103
+ const OPTIONS = [{
104
104
  text: 'Text A',
105
105
  show_when: [{
106
106
  field: 'testField2',
@@ -116,11 +116,11 @@ describe('utils.FormPage.getConditionalText', function () {
116
116
  value: 'yes'
117
117
  }]
118
118
  }];
119
- var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
119
+ const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
120
120
  expect(result).toEqual("".concat(FORM_DATA.testField, " text"));
121
121
  });
122
- it('should correctly use a different key to find the text if one is provided', function () {
123
- var OPTIONS = [{
122
+ it('should correctly use a different key to find the text if one is provided', () => {
123
+ const OPTIONS = [{
124
124
  customKey: 'Text A',
125
125
  show_when: [{
126
126
  field: 'testField2',
@@ -136,11 +136,11 @@ describe('utils.FormPage.getConditionalText', function () {
136
136
  value: 'yes'
137
137
  }]
138
138
  }];
139
- var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA, 'customKey');
139
+ const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA, 'customKey');
140
140
  expect(result).toEqual("".concat(FORM_DATA.testField, " text"));
141
141
  });
142
- it('should return null for a conditional option if formData is empty', function () {
143
- var OPTIONS = [{
142
+ it('should return null for a conditional option if formData is empty', () => {
143
+ const OPTIONS = [{
144
144
  text: 'Text A',
145
145
  show_when: [{
146
146
  field: 'testField2',
@@ -156,7 +156,7 @@ describe('utils.FormPage.getConditionalText', function () {
156
156
  value: 'yes'
157
157
  }]
158
158
  }];
159
- var result = (0, _getConditionalText.default)(OPTIONS, {});
159
+ const result = (0, _getConditionalText.default)(OPTIONS, {});
160
160
  expect(result).toEqual(null);
161
161
  });
162
162
  });
@@ -10,12 +10,8 @@ var _getPageActions = _interopRequireDefault(require("./getPageActions"));
10
10
  var _getParagraphFromText = _interopRequireDefault(require("./getParagraphFromText"));
11
11
  var _useComponent = _interopRequireDefault(require("./useComponent"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
13
+ // Local imports
14
+
19
15
  /**
20
16
  * Converts a page object defined in the JSON to a page object for rendering.
21
17
  * @param {object} pageOptions The JSON page.
@@ -23,27 +19,30 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
23
19
  * @param {object} formData The top-level form data, used for setting up components.
24
20
  * @returns A page object for rendering.
25
21
  */
26
- var getFormPage = function getFormPage(pageOptions, formComponents, formData) {
22
+ const getFormPage = (pageOptions, formComponents, formData) => {
27
23
  if (!pageOptions) {
28
24
  return null;
29
25
  }
30
- var components = pageOptions.components.map(function (componentOptions) {
26
+ const components = pageOptions.components.map(componentOptions => {
31
27
  if (typeof componentOptions === 'string') {
32
28
  return (0, _getParagraphFromText.default)(componentOptions);
33
29
  }
34
- var ret;
30
+ let ret;
35
31
  if (componentOptions.use) {
36
32
  ret = (0, _useComponent.default)(componentOptions, formComponents);
37
33
  } else {
38
- ret = _objectSpread({}, componentOptions);
34
+ ret = {
35
+ ...componentOptions
36
+ };
39
37
  }
40
38
  return formData ? _Data.default.refData.setupUrl(ret, formData) : ret;
41
39
  });
42
- var actions = (0, _getPageActions.default)(pageOptions);
43
- return _Container.default.setup(_objectSpread(_objectSpread({}, pageOptions), {}, {
44
- formData: formData,
45
- components: components,
46
- actions: actions
47
- }));
40
+ const actions = (0, _getPageActions.default)(pageOptions);
41
+ return _Container.default.setup({
42
+ ...pageOptions,
43
+ formData,
44
+ components,
45
+ actions
46
+ });
48
47
  };
49
48
  var _default = exports.default = getFormPage;
@@ -2,16 +2,12 @@
2
2
 
3
3
  var _getFormPage = _interopRequireDefault(require("./getFormPage"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
11
- describe('utils', function () {
12
- describe('FormPage', function () {
13
- describe('getFormPage', function () {
14
- var FORM_COMPONENTS = [{
5
+ // Local imports
6
+
7
+ describe('utils', () => {
8
+ describe('FormPage', () => {
9
+ describe('getFormPage', () => {
10
+ const FORM_COMPONENTS = [{
15
11
  id: 'a',
16
12
  fieldId: 'a',
17
13
  label: 'Alpha',
@@ -46,17 +42,17 @@ describe('utils', function () {
46
42
  label: 'Bravo ${currentUser.surname}',
47
43
  type: 'text'
48
44
  }];
49
- var FORM_DATA = {
45
+ const FORM_DATA = {
50
46
  urls: {
51
47
  refData: 'https://ho.gov.uk/ref-data/'
52
48
  }
53
49
  };
54
- it('should handle null or undefined pageOptions', function () {
50
+ it('should handle null or undefined pageOptions', () => {
55
51
  expect((0, _getFormPage.default)(null, FORM_COMPONENTS, FORM_DATA)).toBeNull();
56
52
  expect((0, _getFormPage.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toBeNull();
57
53
  });
58
- it('should handle a page not using any form components', function () {
59
- var PAGE = {
54
+ it('should handle a page not using any form components', () => {
55
+ const PAGE = {
60
56
  title: 'Page',
61
57
  components: [{
62
58
  type: 'heading',
@@ -70,8 +66,8 @@ describe('utils', function () {
70
66
  formData: FORM_DATA
71
67
  });
72
68
  });
73
- it('should handle a page with inline strings and convert them to paragraphs', function () {
74
- var PAGE = {
69
+ it('should handle a page with inline strings and convert them to paragraphs', () => {
70
+ const PAGE = {
75
71
  title: 'Page',
76
72
  components: ["Opening paragraph", {
77
73
  type: 'heading',
@@ -85,9 +81,10 @@ describe('utils', function () {
85
81
  type: 'html',
86
82
  tagName: 'p',
87
83
  content: PAGE.components[0]
88
- }, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
84
+ }, {
85
+ ...PAGE.components[1],
89
86
  full_path: PAGE.components[1].fieldId
90
- }), {
87
+ }, {
91
88
  type: 'html',
92
89
  tagName: 'p',
93
90
  content: PAGE.components[2]
@@ -95,8 +92,8 @@ describe('utils', function () {
95
92
  formData: FORM_DATA
96
93
  });
97
94
  });
98
- it('should handle a page that references a form-level component', function () {
99
- var PAGE = {
95
+ it('should handle a page that references a form-level component', () => {
96
+ const PAGE = {
100
97
  title: 'Page',
101
98
  components: ["Opening paragraph", {
102
99
  type: 'heading',
@@ -106,30 +103,31 @@ describe('utils', function () {
106
103
  use: 'a'
107
104
  }]
108
105
  };
109
- var A = FORM_COMPONENTS[0];
106
+ const A = FORM_COMPONENTS[0];
110
107
  expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
111
108
  title: PAGE.title,
112
109
  components: [{
113
110
  type: 'html',
114
111
  tagName: 'p',
115
112
  content: PAGE.components[0]
116
- }, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
113
+ }, {
114
+ ...PAGE.components[1],
117
115
  full_path: PAGE.components[1].fieldId
118
- }), {
116
+ }, {
119
117
  type: 'html',
120
118
  tagName: 'p',
121
119
  content: PAGE.components[2]
122
- }, _objectSpread(_objectSpread({
123
- use: 'a'
124
- }, A), {}, {
120
+ }, {
121
+ use: 'a',
122
+ ...A,
125
123
  cya_label: A.label,
126
124
  full_path: A.fieldId
127
- })],
125
+ }],
128
126
  formData: FORM_DATA
129
127
  });
130
128
  });
131
- it('should handle a page that references a form-level component with a data url', function () {
132
- var PAGE = {
129
+ it('should handle a page that references a form-level component with a data url', () => {
130
+ const PAGE = {
133
131
  title: 'Page',
134
132
  components: ["Opening paragraph", {
135
133
  type: 'heading',
@@ -139,33 +137,34 @@ describe('utils', function () {
139
137
  use: 'c'
140
138
  }]
141
139
  };
142
- var C = FORM_COMPONENTS[2];
140
+ const C = FORM_COMPONENTS[2];
143
141
  expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
144
142
  title: PAGE.title,
145
143
  components: [{
146
144
  type: 'html',
147
145
  tagName: 'p',
148
146
  content: PAGE.components[0]
149
- }, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
147
+ }, {
148
+ ...PAGE.components[1],
150
149
  full_path: PAGE.components[1].fieldId
151
- }), {
150
+ }, {
152
151
  type: 'html',
153
152
  tagName: 'p',
154
153
  content: PAGE.components[2]
155
- }, _objectSpread(_objectSpread({
156
- use: 'c'
157
- }, C), {}, {
154
+ }, {
155
+ use: 'c',
156
+ ...C,
158
157
  cya_label: C.label,
159
158
  data: {
160
159
  url: "".concat(FORM_DATA.urls.refData, "/v3/charlies")
161
160
  },
162
161
  full_path: C.fieldId
163
- })],
162
+ }],
164
163
  formData: FORM_DATA
165
164
  });
166
165
  });
167
- it('should handle a page that references a form-level component with a data url without an environment context', function () {
168
- var PAGE = {
166
+ it('should handle a page that references a form-level component with a data url without an environment context', () => {
167
+ const PAGE = {
169
168
  title: 'Page',
170
169
  components: ["Opening paragraph", {
171
170
  type: 'heading',
@@ -175,29 +174,31 @@ describe('utils', function () {
175
174
  use: 'c'
176
175
  }]
177
176
  };
178
- var C = FORM_COMPONENTS[2];
177
+ const C = FORM_COMPONENTS[2];
179
178
  expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, {})).toEqual({
180
179
  title: PAGE.title,
181
180
  components: [{
182
181
  type: 'html',
183
182
  tagName: 'p',
184
183
  content: PAGE.components[0]
185
- }, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
184
+ }, {
185
+ ...PAGE.components[1],
186
186
  full_path: PAGE.components[1].fieldId
187
- }), {
187
+ }, {
188
188
  type: 'html',
189
189
  tagName: 'p',
190
190
  content: PAGE.components[2]
191
- }, // eslint-disable-next-line no-template-curly-in-string
192
- _objectSpread(_objectSpread({
193
- use: 'c'
194
- }, C), {}, {
191
+ },
192
+ // eslint-disable-next-line no-template-curly-in-string
193
+ {
194
+ use: 'c',
195
+ ...C,
195
196
  cya_label: C.label,
196
197
  full_path: C.fieldId,
197
198
  data: {
198
199
  url: '/v3/charlies'
199
200
  }
200
- })],
201
+ }],
201
202
  formData: {}
202
203
  });
203
204
  });
@@ -6,12 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _getFormPage = _interopRequireDefault(require("./getFormPage"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
9
+ // Local imports
10
+
15
11
  /**
16
12
  * Converts pages objects defined in the JSON to page objects for rendering.
17
13
  * @param {Array} pages The JSON pages.
@@ -19,13 +15,12 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
19
15
  * @param {object} formData The top-level form data, used for setting up components.
20
16
  * @returns An array of page objects for rendering.
21
17
  */
22
- var getFormPages = function getFormPages(pages, components, formData) {
18
+ const getFormPages = (pages, components, formData) => {
23
19
  if (Array.isArray(pages)) {
24
- return pages.map(function (options, index) {
25
- return _objectSpread(_objectSpread({}, (0, _getFormPage.default)(options, components, formData)), {}, {
26
- index: index
27
- });
28
- });
20
+ return pages.map((options, index) => ({
21
+ ...(0, _getFormPage.default)(options, components, formData),
22
+ index
23
+ }));
29
24
  }
30
25
  return [];
31
26
  };
@@ -2,16 +2,12 @@
2
2
 
3
3
  var _getFormPages = _interopRequireDefault(require("./getFormPages"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
11
- describe('utils', function () {
12
- describe('FormPage', function () {
13
- describe('getFormPages', function () {
14
- var FORM_COMPONENTS = [{
5
+ // Local imports
6
+
7
+ describe('utils', () => {
8
+ describe('FormPage', () => {
9
+ describe('getFormPages', () => {
10
+ const FORM_COMPONENTS = [{
15
11
  id: 'a',
16
12
  fieldId: 'a',
17
13
  label: 'Alpha',
@@ -32,17 +28,17 @@ describe('utils', function () {
32
28
  url: '${urls.refData}/v3/charlies'
33
29
  }
34
30
  }];
35
- var FORM_DATA = {
31
+ const FORM_DATA = {
36
32
  urls: {
37
33
  refData: 'https://ho.gov.uk/ref-data/'
38
34
  }
39
35
  };
40
- it('should handle null or undefined pageOptions', function () {
36
+ it('should handle null or undefined pageOptions', () => {
41
37
  expect((0, _getFormPages.default)(null, FORM_COMPONENTS, FORM_DATA)).toEqual([]);
42
38
  expect((0, _getFormPages.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toEqual([]);
43
39
  });
44
- it('should appropriately set up multiples pages with various configurations', function () {
45
- var PAGE_1 = {
40
+ it('should appropriately set up multiples pages with various configurations', () => {
41
+ const PAGE_1 = {
46
42
  title: 'Page 1',
47
43
  components: [{
48
44
  type: 'heading',
@@ -50,7 +46,7 @@ describe('utils', function () {
50
46
  content: 'Page heading'
51
47
  }]
52
48
  };
53
- var PAGE_2 = {
49
+ const PAGE_2 = {
54
50
  title: 'Page 2',
55
51
  components: ["Opening paragraph", {
56
52
  type: 'heading',
@@ -60,8 +56,8 @@ describe('utils', function () {
60
56
  use: 'c'
61
57
  }]
62
58
  };
63
- var PAGES = [PAGE_1, PAGE_2];
64
- var C = FORM_COMPONENTS[2];
59
+ const PAGES = [PAGE_1, PAGE_2];
60
+ const C = FORM_COMPONENTS[2];
65
61
  expect((0, _getFormPages.default)(PAGES, FORM_COMPONENTS, FORM_DATA)).toEqual([{
66
62
  index: 0,
67
63
  title: PAGE_1.title,
@@ -74,21 +70,22 @@ describe('utils', function () {
74
70
  type: 'html',
75
71
  tagName: 'p',
76
72
  content: PAGE_2.components[0]
77
- }, _objectSpread(_objectSpread({}, PAGE_2.components[1]), {}, {
73
+ }, {
74
+ ...PAGE_2.components[1],
78
75
  full_path: PAGE_2.components[1].fieldId
79
- }), {
76
+ }, {
80
77
  type: 'html',
81
78
  tagName: 'p',
82
79
  content: PAGE_2.components[2]
83
- }, _objectSpread(_objectSpread({
84
- use: 'c'
85
- }, C), {}, {
80
+ }, {
81
+ use: 'c',
82
+ ...C,
86
83
  cya_label: C.label,
87
84
  data: {
88
85
  url: "".concat(FORM_DATA.urls.refData, "/v3/charlies")
89
86
  },
90
87
  full_path: C.fieldId
91
- })],
88
+ }],
92
89
  formData: FORM_DATA
93
90
  }]);
94
91
  });
@@ -5,14 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _models = require("../../models");
8
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
9
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
- var standardiseAction = function standardiseAction(obj) {
15
- var action = _objectSpread({}, obj);
8
+ const standardiseAction = obj => {
9
+ const action = {
10
+ ...obj
11
+ };
16
12
  // This is in place for backwards compatibility with version 1.
17
13
  if (!action.page) {
18
14
  if (action.href) {
@@ -35,15 +31,15 @@ var standardiseAction = function standardiseAction(obj) {
35
31
  * will convert both by taking the final part of the relative path:
36
32
  * - `href: '/bravo'` => `page: 'bravo'`
37
33
  */
38
- var getPageActions = function getPageActions(page) {
34
+ const getPageActions = page => {
39
35
  if (page && Array.isArray(page.actions)) {
40
- return page.actions.map(function (a) {
36
+ return page.actions.map(a => {
41
37
  if (typeof a === 'string') {
42
38
  return _models.PageAction.DEFAULTS[a];
43
39
  }
44
- if (a && _typeof(a) === 'object') {
40
+ if (a && typeof a === 'object') {
45
41
  var _PageAction$DEFAULTS$;
46
- var object = a;
42
+ const object = a;
47
43
  // eslint-disable-next-line no-prototype-builtins
48
44
  if ((_PageAction$DEFAULTS$ = _models.PageAction.DEFAULTS[object.type]) !== null && _PageAction$DEFAULTS$ !== void 0 && _PageAction$DEFAULTS$.validate && !object.hasOwnProperty('validate')) {
49
45
  object.validate = true;
@@ -51,9 +47,7 @@ var getPageActions = function getPageActions(page) {
51
47
  return standardiseAction(object);
52
48
  }
53
49
  return undefined;
54
- }).filter(function (a) {
55
- return !!a;
56
- });
50
+ }).filter(a => !!a);
57
51
  }
58
52
  return undefined;
59
53
  };