@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.2-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 (385) hide show
  1. package/README.md +5 -0
  2. package/dist/components/CheckYourAnswers/Answer.js +12 -11
  3. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
  6. package/dist/components/CheckYourAnswers/index.js +1 -1
  7. package/dist/components/CollectionPage/CollectionPage.js +62 -60
  8. package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
  9. package/dist/components/CollectionPage/index.js +1 -1
  10. package/dist/components/CollectionSummary/BannerStrip.js +14 -14
  11. package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
  12. package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
  14. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  15. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  16. package/dist/components/CollectionSummary/RenderListView.js +34 -47
  17. package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
  18. package/dist/components/CollectionSummary/SummaryCard.js +101 -133
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
  20. package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
  21. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
  22. package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
  23. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  25. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
  26. package/dist/components/CollectionSummary/index.js +1 -1
  27. package/dist/components/FormComponent/Collection.js +63 -100
  28. package/dist/components/FormComponent/Collection.test.js +907 -1080
  29. package/dist/components/FormComponent/Container.js +35 -29
  30. package/dist/components/FormComponent/Container.test.js +378 -409
  31. package/dist/components/FormComponent/FormComponent.js +59 -63
  32. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  33. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  34. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  36. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  37. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  38. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  40. package/dist/components/FormComponent/helpers/index.js +5 -5
  41. package/dist/components/FormComponent/index.js +1 -1
  42. package/dist/components/FormPage/FormPage.js +70 -93
  43. package/dist/components/FormPage/FormPage.test.js +150 -202
  44. package/dist/components/FormPage/index.js +1 -1
  45. package/dist/components/FormRenderer/FormRenderer.js +131 -173
  46. package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
  47. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  48. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  49. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  50. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  51. package/dist/components/FormRenderer/handlers/index.js +2 -2
  52. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  53. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  54. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  56. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  58. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  60. package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
  61. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  62. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  63. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
  65. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  66. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  67. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  68. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  70. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  72. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
  74. package/dist/components/FormRenderer/helpers/index.js +2 -2
  75. package/dist/components/FormRenderer/index.js +1 -1
  76. package/dist/components/FormRenderer/onCYAAction.js +43 -44
  77. package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
  78. package/dist/components/FormRenderer/onPageAction.js +26 -35
  79. package/dist/components/FormRenderer/onPageAction.test.js +177 -186
  80. package/dist/components/FormRenderer/onTaskAction.js +11 -12
  81. package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
  82. package/dist/components/PageActions/ActionButton.js +14 -14
  83. package/dist/components/PageActions/ActionButton.test.js +57 -79
  84. package/dist/components/PageActions/PageActions.js +11 -11
  85. package/dist/components/PageActions/PageActions.test.js +87 -116
  86. package/dist/components/PageActions/index.js +1 -1
  87. package/dist/components/SummaryList/GroupAction.js +10 -18
  88. package/dist/components/SummaryList/GroupAction.test.js +38 -34
  89. package/dist/components/SummaryList/RowAction.js +12 -17
  90. package/dist/components/SummaryList/RowAction.test.js +38 -34
  91. package/dist/components/SummaryList/SummaryList.js +23 -25
  92. package/dist/components/SummaryList/SummaryList.test.js +162 -189
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
  94. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  95. package/dist/components/SummaryList/SummaryListRow.js +7 -5
  96. package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  98. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  100. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
  101. package/dist/components/SummaryList/helpers/index.js +2 -2
  102. package/dist/components/SummaryList/index.js +1 -1
  103. package/dist/components/TaskList/Task.js +20 -30
  104. package/dist/components/TaskList/Task.test.js +84 -77
  105. package/dist/components/TaskList/TaskList.js +56 -79
  106. package/dist/components/TaskList/TaskList.test.js +149 -149
  107. package/dist/components/TaskList/TaskState.js +8 -6
  108. package/dist/components/TaskList/TaskState.test.js +53 -46
  109. package/dist/components/TaskList/index.js +1 -1
  110. package/dist/components/index.js +8 -8
  111. package/dist/context/HooksContext/HooksContext.js +56 -79
  112. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  113. package/dist/context/HooksContext/index.js +3 -4
  114. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  115. package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
  116. package/dist/context/ValidationContext/index.js +3 -4
  117. package/dist/context/index.js +3 -3
  118. package/dist/hooks/index.js +10 -11
  119. package/dist/hooks/useAxios.js +15 -41
  120. package/dist/hooks/useGetRequest.js +62 -98
  121. package/dist/hooks/useHooks.js +1 -3
  122. package/dist/hooks/useRefData.js +25 -37
  123. package/dist/hooks/useValidation.js +1 -3
  124. package/dist/index.js +14 -15
  125. package/dist/models/CollectionLabels.js +1 -1
  126. package/dist/models/ComponentTypes.js +25 -25
  127. package/dist/models/EventTypes.js +4 -4
  128. package/dist/models/FormPages.js +4 -4
  129. package/dist/models/FormTypes.js +8 -8
  130. package/dist/models/HubFormats.js +3 -3
  131. package/dist/models/PageAction.js +44 -38
  132. package/dist/models/TaskStates.js +29 -28
  133. package/dist/models/index.js +10 -10
  134. package/dist/setupTests.js +30 -31
  135. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  136. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  137. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
  138. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
  139. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
  140. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
  141. package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
  142. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  143. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
  144. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
  147. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
  148. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
  149. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
  150. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  151. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
  152. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
  153. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
  154. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
  155. package/dist/utils/CheckYourAnswers/index.js +2 -2
  156. package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
  157. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  158. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  159. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  160. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  161. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
  162. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
  163. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
  164. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  165. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  166. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  167. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  168. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  169. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  170. package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
  171. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  172. package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
  173. package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
  174. package/dist/utils/CollectionPage/index.js +2 -2
  175. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
  176. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
  177. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  178. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  179. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  180. package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
  181. package/dist/utils/Component/addShowWhen.js +5 -6
  182. package/dist/utils/Component/addShowWhen.test.js +38 -38
  183. package/dist/utils/Component/applyToComponentTree.js +12 -15
  184. package/dist/utils/Component/applyToComponentTree.test.js +28 -31
  185. package/dist/utils/Component/cleanAttributes.js +12 -11
  186. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  187. package/dist/utils/Component/elevateNestedComponents.js +6 -6
  188. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  189. package/dist/utils/Component/getComponent.js +79 -85
  190. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  191. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
  192. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  193. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
  194. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  195. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  196. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
  197. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
  198. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  199. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  200. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  202. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
  203. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  204. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  206. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  208. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
  209. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
  210. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  211. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  212. package/dist/utils/Component/getDefaultValue.js +7 -9
  213. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  214. package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
  215. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  216. package/dist/utils/Component/index.js +2 -2
  217. package/dist/utils/Component/isEditable.js +2 -4
  218. package/dist/utils/Component/isEditable.test.js +14 -15
  219. package/dist/utils/Component/optionIsSelected.js +2 -4
  220. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  221. package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
  222. package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
  223. package/dist/utils/Component/showComponent.js +2 -2
  224. package/dist/utils/Component/showComponent.test.js +29 -29
  225. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  226. package/dist/utils/Condition/index.js +2 -2
  227. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  228. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  229. package/dist/utils/Condition/meetsCondition.js +17 -26
  230. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  231. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  232. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  233. package/dist/utils/Condition/setupConditions.js +12 -15
  234. package/dist/utils/Condition/setupConditions.test.js +8 -8
  235. package/dist/utils/Container/getEditableComponents.js +4 -6
  236. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  237. package/dist/utils/Container/index.js +2 -2
  238. package/dist/utils/Container/setupNesting.js +14 -15
  239. package/dist/utils/Container/setupNesting.test.js +20 -23
  240. package/dist/utils/Container/showContainer.js +4 -8
  241. package/dist/utils/Container/showContainer.test.js +31 -31
  242. package/dist/utils/Data/applyFormula.js +30 -44
  243. package/dist/utils/Data/applyFormula.test.js +21 -21
  244. package/dist/utils/Data/deleteValues.js +4 -8
  245. package/dist/utils/Data/deleteValues.test.js +11 -11
  246. package/dist/utils/Data/getAutocompleteSource.js +72 -63
  247. package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
  248. package/dist/utils/Data/getDataPath.js +18 -28
  249. package/dist/utils/Data/getDataPath.test.js +13 -13
  250. package/dist/utils/Data/getOptions.js +35 -42
  251. package/dist/utils/Data/getOptions.test.js +37 -38
  252. package/dist/utils/Data/getSourceData.js +6 -19
  253. package/dist/utils/Data/getSourceData.test.js +85 -81
  254. package/dist/utils/Data/index.js +2 -2
  255. package/dist/utils/Data/nestInRefdataOptions.js +9 -12
  256. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  257. package/dist/utils/Data/refDataToOptions.js +9 -10
  258. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  259. package/dist/utils/Data/setDataItem.js +7 -8
  260. package/dist/utils/Data/setDataItem.test.js +38 -38
  261. package/dist/utils/Data/setupFormData.js +13 -20
  262. package/dist/utils/Data/setupFormData.test.js +48 -47
  263. package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
  264. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
  265. package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
  266. package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
  267. package/dist/utils/FormPage/getConditionalText.js +4 -4
  268. package/dist/utils/FormPage/getConditionalText.test.js +30 -30
  269. package/dist/utils/FormPage/getFormPage.js +12 -15
  270. package/dist/utils/FormPage/getFormPage.test.js +23 -24
  271. package/dist/utils/FormPage/getFormPages.js +8 -11
  272. package/dist/utils/FormPage/getFormPages.test.js +15 -16
  273. package/dist/utils/FormPage/getPageActions.js +10 -13
  274. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  275. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  276. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  277. package/dist/utils/FormPage/index.js +3 -5
  278. package/dist/utils/FormPage/showFormPage.js +4 -8
  279. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  280. package/dist/utils/FormPage/showFormPageCYA.js +2 -2
  281. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  282. package/dist/utils/FormPage/useComponent.js +15 -23
  283. package/dist/utils/FormPage/useComponent.test.js +49 -50
  284. package/dist/utils/Format/formatData.js +1 -1
  285. package/dist/utils/Format/formatData.test.js +19 -19
  286. package/dist/utils/Format/formatDataForComponent.js +6 -7
  287. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  288. package/dist/utils/Format/formatDataForForm.js +5 -6
  289. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  290. package/dist/utils/Format/formatDataForPage.js +4 -5
  291. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  292. package/dist/utils/Format/index.js +2 -2
  293. package/dist/utils/Hub/getFormHub.js +2 -2
  294. package/dist/utils/Hub/getFormHub.test.js +23 -24
  295. package/dist/utils/Hub/index.js +2 -2
  296. package/dist/utils/Meta/constants.js +2 -2
  297. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  298. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  299. package/dist/utils/Meta/documents/index.js +2 -2
  300. package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
  301. package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
  302. package/dist/utils/Meta/index.js +2 -2
  303. package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
  304. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  305. package/dist/utils/Operate/deleteValueInFormData.js +2 -2
  306. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  307. package/dist/utils/Operate/getFirstOf.js +6 -6
  308. package/dist/utils/Operate/getFirstOf.test.js +32 -32
  309. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
  310. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  311. package/dist/utils/Operate/getLength.js +9 -9
  312. package/dist/utils/Operate/getLength.test.js +19 -19
  313. package/dist/utils/Operate/index.js +2 -2
  314. package/dist/utils/Operate/persistValueInFormData.js +4 -4
  315. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  316. package/dist/utils/Operate/runPageOperations.js +8 -8
  317. package/dist/utils/Operate/runPageOperations.test.js +24 -25
  318. package/dist/utils/Operate/setValueInFormData.js +3 -3
  319. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  320. package/dist/utils/Operate/shouldRun.js +7 -7
  321. package/dist/utils/Operate/shouldRun.test.js +22 -24
  322. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  323. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  324. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  325. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  326. package/dist/utils/Validate/additional/index.js +8 -8
  327. package/dist/utils/Validate/additional/index.test.js +22 -22
  328. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  330. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  331. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  332. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
  333. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
  334. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  336. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
  337. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  338. package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
  339. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  340. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  341. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  342. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  343. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  344. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  345. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  346. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  347. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  348. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  349. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  350. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  351. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
  352. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  353. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  354. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  355. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  356. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  357. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  358. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  359. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  360. package/dist/utils/Validate/additional/utils.js +9 -22
  361. package/dist/utils/Validate/index.js +2 -2
  362. package/dist/utils/Validate/validateCollection.js +18 -23
  363. package/dist/utils/Validate/validateCollection.test.js +75 -67
  364. package/dist/utils/Validate/validateComponent.js +19 -19
  365. package/dist/utils/Validate/validateComponent.test.js +179 -154
  366. package/dist/utils/Validate/validateContainer.js +14 -17
  367. package/dist/utils/Validate/validateContainer.test.js +59 -53
  368. package/dist/utils/Validate/validateDate.js +16 -22
  369. package/dist/utils/Validate/validateDate.test.js +31 -32
  370. package/dist/utils/Validate/validateEmail.js +7 -9
  371. package/dist/utils/Validate/validateEmail.test.js +27 -27
  372. package/dist/utils/Validate/validateMultifile.js +5 -7
  373. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  374. package/dist/utils/Validate/validatePage.js +13 -18
  375. package/dist/utils/Validate/validatePage.test.js +198 -195
  376. package/dist/utils/Validate/validateRegex.js +3 -5
  377. package/dist/utils/Validate/validateRegex.test.js +15 -15
  378. package/dist/utils/Validate/validateRequired.js +4 -6
  379. package/dist/utils/Validate/validateRequired.test.js +19 -19
  380. package/dist/utils/Validate/validateTextArea.js +4 -6
  381. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  382. package/dist/utils/Validate/validateTime.js +12 -19
  383. package/dist/utils/Validate/validateTime.test.js +27 -27
  384. package/dist/utils/index.js +5 -6
  385. package/package.json +2 -4
@@ -2,31 +2,31 @@
2
2
 
3
3
  var _models = require("../../models");
4
4
  var _setupRefDataUrlForComponent = _interopRequireDefault(require("./setupRefDataUrlForComponent"));
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', function () {
9
- describe('Data', function () {
10
- describe('setupRefDataUrlForComponent', function () {
11
- var DATA = {
8
+ describe('utils', () => {
9
+ describe('Data', () => {
10
+ describe('setupRefDataUrlForComponent', () => {
11
+ const DATA = {
12
12
  urls: {
13
13
  refData: '/ref-data'
14
14
  }
15
15
  };
16
- it('can handle a null component', function () {
16
+ it('can handle a null component', () => {
17
17
  expect((0, _setupRefDataUrlForComponent.default)(null, DATA)).toBeNull();
18
18
  });
19
- it('can handle an undefined component', function () {
19
+ it('can handle an undefined component', () => {
20
20
  expect((0, _setupRefDataUrlForComponent.default)(undefined, DATA)).toBeUndefined();
21
21
  });
22
- it('can handle a component with no data property', function () {
23
- var COMPONENT = {
22
+ it('can handle a component with no data property', () => {
23
+ const COMPONENT = {
24
24
  id: 'component'
25
25
  };
26
26
  expect((0, _setupRefDataUrlForComponent.default)(COMPONENT, DATA)).toEqual(COMPONENT);
27
27
  });
28
- it('can handle a component with no data.url property', function () {
29
- var COMPONENT = {
28
+ it('can handle a component with no data.url property', () => {
29
+ const COMPONENT = {
30
30
  id: 'component',
31
31
  data: {
32
32
  options: []
@@ -34,8 +34,8 @@ describe('utils', function () {
34
34
  };
35
35
  expect((0, _setupRefDataUrlForComponent.default)(COMPONENT, DATA)).toEqual(COMPONENT);
36
36
  });
37
- it('should appropriately update the component URL', function () {
38
- var COMPONENT = {
37
+ it('should appropriately update the component URL', () => {
38
+ const COMPONENT = {
39
39
  id: 'component',
40
40
  // eslint-disable-next-line no-template-curly-in-string
41
41
  data: {
@@ -49,8 +49,8 @@ describe('utils', function () {
49
49
  }
50
50
  });
51
51
  });
52
- it('should leave a URL alone that does not require replacement', function () {
53
- var COMPONENT = {
52
+ it('should leave a URL alone that does not require replacement', () => {
53
+ const COMPONENT = {
54
54
  id: 'component',
55
55
  data: {
56
56
  url: '/somewhere-else/v1/teams'
@@ -63,8 +63,8 @@ describe('utils', function () {
63
63
  }
64
64
  });
65
65
  });
66
- it('should appropriately handle a missing value in the data', function () {
67
- var COMPONENT = {
66
+ it('should appropriately handle a missing value in the data', () => {
67
+ const COMPONENT = {
68
68
  id: 'component',
69
69
  // eslint-disable-next-line no-template-curly-in-string
70
70
  data: {
@@ -78,15 +78,15 @@ describe('utils', function () {
78
78
  }
79
79
  });
80
80
  });
81
- it('should appropriately update the component URLs within a container', function () {
82
- var COMPONENT = {
81
+ it('should appropriately update the component URLs within a container', () => {
82
+ const COMPONENT = {
83
83
  id: 'component',
84
84
  // eslint-disable-next-line no-template-curly-in-string
85
85
  data: {
86
86
  url: '${urls.refData}/v1/teams'
87
87
  }
88
88
  };
89
- var CONTAINER = {
89
+ const CONTAINER = {
90
90
  id: 'container',
91
91
  type: _models.ComponentTypes.CONTAINER,
92
92
  components: [COMPONENT]
@@ -102,15 +102,15 @@ describe('utils', function () {
102
102
  }]
103
103
  });
104
104
  });
105
- it('should appropriately update the component URLs within a collection', function () {
106
- var COMPONENT = {
105
+ it('should appropriately update the component URLs within a collection', () => {
106
+ const COMPONENT = {
107
107
  id: 'component',
108
108
  // eslint-disable-next-line no-template-curly-in-string
109
109
  data: {
110
110
  url: '${urls.refData}/v1/teams'
111
111
  }
112
112
  };
113
- var COLLECTION = {
113
+ const COLLECTION = {
114
114
  id: 'container',
115
115
  type: _models.ComponentTypes.COLLECTION,
116
116
  item: [COMPONENT]
@@ -126,8 +126,8 @@ describe('utils', function () {
126
126
  }]
127
127
  });
128
128
  });
129
- it('should not update the component URL when skipUrlInterpolation prop is true', function () {
130
- var COMPONENT = {
129
+ it('should not update the component URL when skipUrlInterpolation prop is true', () => {
130
+ const COMPONENT = {
131
131
  id: 'component',
132
132
  data: {
133
133
  // eslint-disable-next-line no-template-curly-in-string
@@ -5,25 +5,24 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ = _interopRequireDefault(require(".."));
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); }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
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; }
11
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; }
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); }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
14
  /**
16
15
  * Apply properties to a page based on whether certain conditions are met.
17
16
  * @param {object} page The page object.
18
17
  * @returns A copy of the page object with any passing conditional
19
18
  * properties applied.
20
19
  */
21
- var applyConditionalProperties = function applyConditionalProperties(page) {
20
+ const applyConditionalProperties = page => {
22
21
  if (!page.conditionalProperties) {
23
22
  return page;
24
23
  }
25
- var pageWithProperties = _objectSpread({}, page);
26
- page.conditionalProperties.forEach(function (entry) {
24
+ let pageWithProperties = _objectSpread({}, page);
25
+ page.conditionalProperties.forEach(entry => {
27
26
  if (_.default.Condition.met(entry.condition, page.formData[entry.condition.field])) {
28
27
  pageWithProperties = Object.assign(pageWithProperties, entry.properties);
29
28
  }
@@ -1,23 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _applyConditionalProperties = _interopRequireDefault(require("./applyConditionalProperties"));
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); }
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
5
  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
6
  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.FormPage.applyConditionalProperties', function () {
12
- it('should not change the page if there are no conditional properties', function () {
13
- var PAGE = {
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
10
+ describe('utils.FormPage.applyConditionalProperties', () => {
11
+ it('should not change the page if there are no conditional properties', () => {
12
+ const PAGE = {
14
13
  id: 'testPage'
15
14
  };
16
- var result = (0, _applyConditionalProperties.default)(PAGE);
15
+ const result = (0, _applyConditionalProperties.default)(PAGE);
17
16
  expect(result).toEqual(PAGE);
18
17
  });
19
- it('should not apply properties with conditions that have not been met', function () {
20
- var PAGE = {
18
+ it('should not apply properties with conditions that have not been met', () => {
19
+ const PAGE = {
21
20
  id: 'testPage',
22
21
  conditionalProperties: [{
23
22
  condition: {
@@ -33,11 +32,11 @@ describe('utils.FormPage.applyConditionalProperties', function () {
33
32
  alpha: '012'
34
33
  }
35
34
  };
36
- var result = (0, _applyConditionalProperties.default)(PAGE);
35
+ const result = (0, _applyConditionalProperties.default)(PAGE);
37
36
  expect(result).toEqual(PAGE);
38
37
  });
39
- it('should apply properties with conditions that have been met', function () {
40
- var PAGE = {
38
+ it('should apply properties with conditions that have been met', () => {
39
+ const PAGE = {
41
40
  id: 'testPage',
42
41
  conditionalProperties: [{
43
42
  condition: {
@@ -53,7 +52,7 @@ describe('utils.FormPage.applyConditionalProperties', function () {
53
52
  alpha: '123'
54
53
  }
55
54
  };
56
- var result = (0, _applyConditionalProperties.default)(PAGE);
55
+ const result = (0, _applyConditionalProperties.default)(PAGE);
57
56
  expect(result).toEqual(_objectSpread(_objectSpread({}, PAGE), {}, {
58
57
  beta: '456'
59
58
  }));
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _meetsAllConditions = _interopRequireDefault(require("../Condition/meetsAllConditions"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  // Global imports.
11
11
 
12
12
  // Local imports.
@@ -32,15 +32,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
32
32
  * @param {String} key The key to use to find the text to use in each option, defaults to 'text'.
33
33
  * @returns The first string that passes its' conditions, or null if something went wrong.
34
34
  */
35
- var getConditionalText = function getConditionalText(options, formData) {
36
- var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';
35
+ const getConditionalText = function (options, formData) {
36
+ let key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';
37
37
  if (typeof options === 'string') {
38
38
  return _copReactComponents.Utils.interpolateString(options, formData);
39
39
  }
40
40
  if (!Array.isArray(options) || Object.keys(formData).length === 0) {
41
41
  return null;
42
42
  }
43
- var shownOption = options.find(function (option) {
43
+ const shownOption = options.find(option => {
44
44
  if (typeof option === 'string') {
45
45
  // This is intended to allow a plain string 'fallback' option in the array.
46
46
  // As such, it should be the last option in the array as any options after
@@ -1,27 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _getConditionalText = _interopRequireDefault(require("./getConditionalText"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.FormPage.getConditionalText', function () {
6
- var FORM_DATA = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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,13 +10,12 @@ var _getPageActions = _interopRequireDefault(require("./getPageActions"));
10
10
  var _getParagraphFromText = _interopRequireDefault(require("./getParagraphFromText"));
11
11
  var _useComponent = _interopRequireDefault(require("./useComponent"));
12
12
  var _models = require("../../models");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- 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); }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
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; }
16
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; }
17
- 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; }
18
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
19
- 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
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
20
19
  /**
21
20
  * Converts a page object defined in the JSON to a page object for rendering.
22
21
  * @param {object} pageOptions The JSON page.
@@ -24,20 +23,18 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
24
23
  * @param {object} formData The top-level form data, used for setting up components.
25
24
  * @returns A page object for rendering.
26
25
  */
27
- var getFormPage = function getFormPage(pageOptions, formComponents, formData) {
26
+ const getFormPage = (pageOptions, formComponents, formData) => {
28
27
  if (!pageOptions) {
29
28
  return null;
30
29
  }
31
- var components = pageOptions.components.map(function (componentOptions) {
30
+ const components = pageOptions.components.map(componentOptions => {
32
31
  if (typeof componentOptions === 'string') {
33
32
  return (0, _getParagraphFromText.default)(componentOptions);
34
33
  }
35
- var ret;
34
+ let ret;
36
35
  if (componentOptions.type === _models.ComponentTypes.CONTAINER) {
37
36
  // eslint-disable-next-line no-param-reassign
38
- componentOptions.components = componentOptions.components.map(function (cmp) {
39
- return cmp.use ? (0, _useComponent.default)(cmp, formComponents) : cmp;
40
- });
37
+ componentOptions.components = componentOptions.components.map(cmp => cmp.use ? (0, _useComponent.default)(cmp, formComponents) : cmp);
41
38
  }
42
39
  if (componentOptions.use) {
43
40
  ret = (0, _useComponent.default)(componentOptions, formComponents);
@@ -46,11 +43,11 @@ var getFormPage = function getFormPage(pageOptions, formComponents, formData) {
46
43
  }
47
44
  return formData ? _Data.default.refData.setupUrl(ret, formData) : ret;
48
45
  });
49
- var actions = (0, _getPageActions.default)(pageOptions);
46
+ const actions = (0, _getPageActions.default)(pageOptions);
50
47
  return _Container.default.setup(_objectSpread(_objectSpread({}, pageOptions), {}, {
51
- formData: formData,
52
- components: components,
53
- actions: actions
48
+ formData,
49
+ components,
50
+ actions
54
51
  }));
55
52
  };
56
53
  var _default = exports.default = getFormPage;
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _getFormPage = _interopRequireDefault(require("./getFormPage"));
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); }
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
5
  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
6
  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 = [{
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
10
+ describe('utils', () => {
11
+ describe('FormPage', () => {
12
+ describe('getFormPage', () => {
13
+ const FORM_COMPONENTS = [{
15
14
  id: 'a',
16
15
  fieldId: 'a',
17
16
  label: 'Alpha',
@@ -46,17 +45,17 @@ describe('utils', function () {
46
45
  label: 'Bravo ${currentUser.surname}',
47
46
  type: 'text'
48
47
  }];
49
- var FORM_DATA = {
48
+ const FORM_DATA = {
50
49
  urls: {
51
50
  refData: 'https://ho.gov.uk/ref-data/'
52
51
  }
53
52
  };
54
- it('should handle null or undefined pageOptions', function () {
53
+ it('should handle null or undefined pageOptions', () => {
55
54
  expect((0, _getFormPage.default)(null, FORM_COMPONENTS, FORM_DATA)).toBeNull();
56
55
  expect((0, _getFormPage.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toBeNull();
57
56
  });
58
- it('should handle a page not using any form components', function () {
59
- var PAGE = {
57
+ it('should handle a page not using any form components', () => {
58
+ const PAGE = {
60
59
  title: 'Page',
61
60
  components: [{
62
61
  type: 'heading',
@@ -70,8 +69,8 @@ describe('utils', function () {
70
69
  formData: FORM_DATA
71
70
  });
72
71
  });
73
- it('should handle a page with inline strings and convert them to paragraphs', function () {
74
- var PAGE = {
72
+ it('should handle a page with inline strings and convert them to paragraphs', () => {
73
+ const PAGE = {
75
74
  title: 'Page',
76
75
  components: ["Opening paragraph", {
77
76
  type: 'heading',
@@ -95,8 +94,8 @@ describe('utils', function () {
95
94
  formData: FORM_DATA
96
95
  });
97
96
  });
98
- it('should handle a page that references a form-level component', function () {
99
- var PAGE = {
97
+ it('should handle a page that references a form-level component', () => {
98
+ const PAGE = {
100
99
  title: 'Page',
101
100
  components: ["Opening paragraph", {
102
101
  type: 'heading',
@@ -106,7 +105,7 @@ describe('utils', function () {
106
105
  use: 'a'
107
106
  }]
108
107
  };
109
- var A = FORM_COMPONENTS[0];
108
+ const A = FORM_COMPONENTS[0];
110
109
  expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
111
110
  title: PAGE.title,
112
111
  components: [{
@@ -128,8 +127,8 @@ describe('utils', function () {
128
127
  formData: FORM_DATA
129
128
  });
130
129
  });
131
- it('should handle a page that references a form-level component with a data url', function () {
132
- var PAGE = {
130
+ it('should handle a page that references a form-level component with a data url', () => {
131
+ const PAGE = {
133
132
  title: 'Page',
134
133
  components: ["Opening paragraph", {
135
134
  type: 'heading',
@@ -139,7 +138,7 @@ describe('utils', function () {
139
138
  use: 'c'
140
139
  }]
141
140
  };
142
- var C = FORM_COMPONENTS[2];
141
+ const C = FORM_COMPONENTS[2];
143
142
  expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
144
143
  title: PAGE.title,
145
144
  components: [{
@@ -164,8 +163,8 @@ describe('utils', function () {
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,7 +174,7 @@ 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: [{
@@ -5,13 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _getFormPage = _interopRequireDefault(require("./getFormPage"));
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); }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
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; }
11
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; }
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
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
15
14
  /**
16
15
  * Converts pages objects defined in the JSON to page objects for rendering.
17
16
  * @param {Array} pages The JSON pages.
@@ -19,13 +18,11 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
19
18
  * @param {object} formData The top-level form data, used for setting up components.
20
19
  * @returns An array of page objects for rendering.
21
20
  */
22
- var getFormPages = function getFormPages(pages, components, formData) {
21
+ const getFormPages = (pages, components, formData) => {
23
22
  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
- });
23
+ return pages.map((options, index) => _objectSpread(_objectSpread({}, (0, _getFormPage.default)(options, components, formData)), {}, {
24
+ index
25
+ }));
29
26
  }
30
27
  return [];
31
28
  };