@ukhomeoffice/cop-react-form-renderer 6.5.1-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.test.js +463 -769
  5. package/dist/components/CollectionPage/CollectionPage.js +73 -63
  6. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
  9. package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
  11. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  12. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  13. package/dist/components/CollectionSummary/RenderListView.js +45 -51
  14. package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
  15. package/dist/components/CollectionSummary/SummaryCard.js +104 -135
  16. package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
  17. package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
  18. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
  19. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
  20. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
  21. package/dist/components/FormComponent/Collection.js +74 -108
  22. package/dist/components/FormComponent/Collection.test.js +909 -1081
  23. package/dist/components/FormComponent/Container.js +40 -38
  24. package/dist/components/FormComponent/Container.test.js +314 -345
  25. package/dist/components/FormComponent/FormComponent.js +69 -72
  26. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  27. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  28. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  29. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  30. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  31. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  32. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  33. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  34. package/dist/components/FormComponent/helpers/index.js +4 -4
  35. package/dist/components/FormPage/FormPage.js +65 -80
  36. package/dist/components/FormPage/FormPage.test.js +127 -163
  37. package/dist/components/FormRenderer/FormRenderer.js +143 -179
  38. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  39. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  40. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  41. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  42. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  43. package/dist/components/FormRenderer/handlers/index.js +1 -1
  44. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  45. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  46. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  47. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  48. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  49. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  50. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  51. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  52. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  53. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  54. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  55. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  56. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  57. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  58. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  59. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  60. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  61. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  62. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  63. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  64. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  65. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  66. package/dist/components/FormRenderer/helpers/index.js +2 -4
  67. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  68. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  69. package/dist/components/FormRenderer/onPageAction.js +44 -47
  70. package/dist/components/FormRenderer/onPageAction.test.js +223 -213
  71. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  72. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  73. package/dist/components/PageActions/ActionButton.js +12 -15
  74. package/dist/components/PageActions/ActionButton.test.js +56 -78
  75. package/dist/components/PageActions/PageActions.js +10 -10
  76. package/dist/components/PageActions/PageActions.test.js +86 -115
  77. package/dist/components/SummaryList/GroupAction.js +9 -17
  78. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  79. package/dist/components/SummaryList/RowAction.js +11 -16
  80. package/dist/components/SummaryList/RowAction.test.js +37 -33
  81. package/dist/components/SummaryList/SummaryList.js +21 -26
  82. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  83. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  84. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  85. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  86. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  87. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  88. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  89. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  90. package/dist/components/SummaryList/helpers/index.js +1 -1
  91. package/dist/components/TaskList/Task.js +19 -29
  92. package/dist/components/TaskList/Task.test.js +83 -76
  93. package/dist/components/TaskList/TaskList.js +45 -71
  94. package/dist/components/TaskList/TaskList.test.js +113 -111
  95. package/dist/components/TaskList/TaskState.js +7 -5
  96. package/dist/components/TaskList/TaskState.test.js +52 -45
  97. package/dist/components/index.js +7 -7
  98. package/dist/context/HooksContext/HooksContext.js +57 -80
  99. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  100. package/dist/context/HooksContext/index.js +3 -4
  101. package/dist/context/ValidationContext/ValidationContext.js +43 -94
  102. package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
  103. package/dist/context/ValidationContext/index.js +3 -4
  104. package/dist/context/index.js +2 -2
  105. package/dist/hooks/index.js +9 -10
  106. package/dist/hooks/useAxios.js +14 -40
  107. package/dist/hooks/useGetRequest.js +61 -97
  108. package/dist/hooks/useHooks.js +1 -3
  109. package/dist/hooks/useRefData.js +26 -39
  110. package/dist/hooks/useValidation.js +1 -3
  111. package/dist/index.js +13 -14
  112. package/dist/models/CollectionLabels.js +1 -1
  113. package/dist/models/ComponentTypes.js +25 -25
  114. package/dist/models/EventTypes.js +4 -4
  115. package/dist/models/FormPages.js +4 -4
  116. package/dist/models/FormTypes.js +8 -8
  117. package/dist/models/HubFormats.js +3 -3
  118. package/dist/models/PageAction.js +44 -38
  119. package/dist/models/TaskStates.js +29 -28
  120. package/dist/models/index.js +9 -9
  121. package/dist/setupTests.js +30 -31
  122. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  123. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  124. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  125. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  126. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  127. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  128. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  129. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  130. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  131. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  132. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  133. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  134. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  135. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  136. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  137. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  138. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  139. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  140. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  141. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  142. package/dist/utils/CheckYourAnswers/index.js +1 -1
  143. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  144. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  145. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  146. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  147. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  148. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  149. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
  150. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
  151. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  152. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  153. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  154. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  155. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  156. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  157. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  158. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
  159. package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
  160. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  161. package/dist/utils/CollectionPage/index.js +1 -1
  162. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  163. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  164. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  165. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  166. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  167. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  168. package/dist/utils/Component/addShowWhen.js +4 -8
  169. package/dist/utils/Component/addShowWhen.test.js +37 -37
  170. package/dist/utils/Component/applyToComponentTree.js +18 -18
  171. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  172. package/dist/utils/Component/cleanAttributes.js +10 -13
  173. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  174. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  175. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  176. package/dist/utils/Component/getComponent.js +88 -94
  177. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  178. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  179. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  180. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  181. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  182. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  183. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  184. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  185. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  186. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  187. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  188. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  189. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  190. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  191. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  192. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  193. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  196. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  197. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  198. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  199. package/dist/utils/Component/getDefaultValue.js +6 -8
  200. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  201. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  202. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  203. package/dist/utils/Component/index.js +1 -1
  204. package/dist/utils/Component/isEditable.js +2 -4
  205. package/dist/utils/Component/isEditable.test.js +14 -15
  206. package/dist/utils/Component/optionIsSelected.js +1 -1
  207. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  208. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  209. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  210. package/dist/utils/Component/showComponent.js +1 -1
  211. package/dist/utils/Component/showComponent.test.js +28 -28
  212. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  213. package/dist/utils/Condition/index.js +1 -1
  214. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  215. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  216. package/dist/utils/Condition/meetsCondition.js +16 -25
  217. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  218. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  219. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  220. package/dist/utils/Condition/setupConditions.js +13 -18
  221. package/dist/utils/Condition/setupConditions.test.js +7 -7
  222. package/dist/utils/Container/getEditableComponents.js +3 -5
  223. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  224. package/dist/utils/Container/index.js +1 -1
  225. package/dist/utils/Container/setupNesting.js +16 -20
  226. package/dist/utils/Container/setupNesting.test.js +27 -30
  227. package/dist/utils/Container/showContainer.js +3 -7
  228. package/dist/utils/Container/showContainer.test.js +30 -30
  229. package/dist/utils/Data/applyFormula.js +38 -48
  230. package/dist/utils/Data/applyFormula.test.js +20 -20
  231. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  232. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  233. package/dist/utils/Data/getDataPath.js +18 -28
  234. package/dist/utils/Data/getDataPath.test.js +12 -12
  235. package/dist/utils/Data/getOptions.js +24 -30
  236. package/dist/utils/Data/getOptions.test.js +27 -27
  237. package/dist/utils/Data/getSourceData.js +6 -19
  238. package/dist/utils/Data/getSourceData.test.js +84 -80
  239. package/dist/utils/Data/index.js +1 -1
  240. package/dist/utils/Data/nestInRefdataOptions.js +9 -16
  241. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  242. package/dist/utils/Data/refDataToOptions.js +10 -13
  243. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  244. package/dist/utils/Data/setDataItem.js +7 -8
  245. package/dist/utils/Data/setDataItem.test.js +37 -37
  246. package/dist/utils/Data/setupFormData.js +13 -21
  247. package/dist/utils/Data/setupFormData.test.js +51 -50
  248. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  249. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  250. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  251. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  252. package/dist/utils/FormPage/getConditionalText.js +3 -3
  253. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  254. package/dist/utils/FormPage/getFormPage.js +15 -16
  255. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  256. package/dist/utils/FormPage/getFormPages.js +7 -12
  257. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  258. package/dist/utils/FormPage/getPageActions.js +9 -15
  259. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  260. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  261. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  262. package/dist/utils/FormPage/index.js +2 -4
  263. package/dist/utils/FormPage/showFormPage.js +3 -7
  264. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  265. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  266. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  267. package/dist/utils/FormPage/useComponent.js +21 -28
  268. package/dist/utils/FormPage/useComponent.test.js +77 -79
  269. package/dist/utils/Format/formatData.js +1 -1
  270. package/dist/utils/Format/formatData.test.js +18 -18
  271. package/dist/utils/Format/formatDataForComponent.js +5 -6
  272. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  273. package/dist/utils/Format/formatDataForForm.js +6 -8
  274. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  275. package/dist/utils/Format/formatDataForPage.js +4 -5
  276. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  277. package/dist/utils/Format/index.js +1 -1
  278. package/dist/utils/Hub/getFormHub.js +1 -1
  279. package/dist/utils/Hub/getFormHub.test.js +28 -31
  280. package/dist/utils/Hub/index.js +1 -1
  281. package/dist/utils/Meta/constants.js +2 -2
  282. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  283. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  284. package/dist/utils/Meta/documents/index.js +1 -1
  285. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  286. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  287. package/dist/utils/Meta/index.js +1 -1
  288. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  289. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  290. package/dist/utils/Operate/getFirstOf.js +5 -5
  291. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  292. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  293. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  294. package/dist/utils/Operate/index.js +1 -1
  295. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  296. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  297. package/dist/utils/Operate/runPageOperations.js +7 -7
  298. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  299. package/dist/utils/Operate/setValueInFormData.js +2 -2
  300. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  301. package/dist/utils/Operate/shouldRun.js +6 -6
  302. package/dist/utils/Operate/shouldRun.test.js +21 -27
  303. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  304. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  305. package/dist/utils/Validate/additional/index.js +6 -6
  306. package/dist/utils/Validate/additional/index.test.js +12 -12
  307. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  308. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  309. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  310. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  311. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  312. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  313. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  314. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  315. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  317. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  318. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  319. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  320. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  321. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  322. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  323. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  325. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  326. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  327. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  328. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  329. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  330. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  331. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  332. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  333. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  334. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  335. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  336. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  337. package/dist/utils/Validate/additional/utils.js +9 -22
  338. package/dist/utils/Validate/index.js +1 -1
  339. package/dist/utils/Validate/validateCollection.js +19 -25
  340. package/dist/utils/Validate/validateCollection.test.js +74 -66
  341. package/dist/utils/Validate/validateComponent.js +17 -15
  342. package/dist/utils/Validate/validateComponent.test.js +167 -146
  343. package/dist/utils/Validate/validateContainer.js +15 -20
  344. package/dist/utils/Validate/validateContainer.test.js +58 -52
  345. package/dist/utils/Validate/validateDate.js +15 -21
  346. package/dist/utils/Validate/validateDate.test.js +31 -32
  347. package/dist/utils/Validate/validateEmail.js +6 -8
  348. package/dist/utils/Validate/validateEmail.test.js +25 -25
  349. package/dist/utils/Validate/validateMultifile.js +5 -7
  350. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  351. package/dist/utils/Validate/validatePage.js +19 -22
  352. package/dist/utils/Validate/validatePage.test.js +215 -203
  353. package/dist/utils/Validate/validateRegex.js +3 -5
  354. package/dist/utils/Validate/validateRegex.test.js +14 -14
  355. package/dist/utils/Validate/validateRequired.js +4 -6
  356. package/dist/utils/Validate/validateRequired.test.js +18 -18
  357. package/dist/utils/Validate/validateTextArea.js +4 -6
  358. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  359. package/dist/utils/Validate/validateTime.js +11 -18
  360. package/dist/utils/Validate/validateTime.test.js +16 -16
  361. package/dist/utils/index.js +7 -9
  362. package/package.json +2 -2
  363. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  364. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  365. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
  366. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
  367. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
  368. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
  369. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
  370. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
  371. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
  372. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
  373. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -5,28 +5,28 @@ var _setupRefDataUrlForComponent = _interopRequireDefault(require("./setupRefDat
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
@@ -6,24 +6,20 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _ = _interopRequireDefault(require(".."));
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); }
15
9
  /**
16
10
  * Apply properties to a page based on whether certain conditions are met.
17
11
  * @param {object} page The page object.
18
12
  * @returns A copy of the page object with any passing conditional
19
13
  * properties applied.
20
14
  */
21
- var applyConditionalProperties = function applyConditionalProperties(page) {
15
+ const applyConditionalProperties = page => {
22
16
  if (!page.conditionalProperties) {
23
17
  return page;
24
18
  }
25
- var pageWithProperties = _objectSpread({}, page);
26
- page.conditionalProperties.forEach(function (entry) {
19
+ let pageWithProperties = {
20
+ ...page
21
+ };
22
+ page.conditionalProperties.forEach(entry => {
27
23
  if (_.default.Condition.met(entry.condition, page.formData[entry.condition.field])) {
28
24
  pageWithProperties = Object.assign(pageWithProperties, entry.properties);
29
25
  }
@@ -2,22 +2,18 @@
2
2
 
3
3
  var _applyConditionalProperties = _interopRequireDefault(require("./applyConditionalProperties"));
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.FormPage.applyConditionalProperties', function () {
12
- it('should not change the page if there are no conditional properties', function () {
13
- var PAGE = {
5
+ // Local imports
6
+
7
+ describe('utils.FormPage.applyConditionalProperties', () => {
8
+ it('should not change the page if there are no conditional properties', () => {
9
+ const PAGE = {
14
10
  id: 'testPage'
15
11
  };
16
- var result = (0, _applyConditionalProperties.default)(PAGE);
12
+ const result = (0, _applyConditionalProperties.default)(PAGE);
17
13
  expect(result).toEqual(PAGE);
18
14
  });
19
- it('should not apply properties with conditions that have not been met', function () {
20
- var PAGE = {
15
+ it('should not apply properties with conditions that have not been met', () => {
16
+ const PAGE = {
21
17
  id: 'testPage',
22
18
  conditionalProperties: [{
23
19
  condition: {
@@ -33,11 +29,11 @@ describe('utils.FormPage.applyConditionalProperties', function () {
33
29
  alpha: '012'
34
30
  }
35
31
  };
36
- var result = (0, _applyConditionalProperties.default)(PAGE);
32
+ const result = (0, _applyConditionalProperties.default)(PAGE);
37
33
  expect(result).toEqual(PAGE);
38
34
  });
39
- it('should apply properties with conditions that have been met', function () {
40
- var PAGE = {
35
+ it('should apply properties with conditions that have been met', () => {
36
+ const PAGE = {
41
37
  id: 'testPage',
42
38
  conditionalProperties: [{
43
39
  condition: {
@@ -53,9 +49,10 @@ describe('utils.FormPage.applyConditionalProperties', function () {
53
49
  alpha: '123'
54
50
  }
55
51
  };
56
- var result = (0, _applyConditionalProperties.default)(PAGE);
57
- expect(result).toEqual(_objectSpread(_objectSpread({}, PAGE), {}, {
52
+ const result = (0, _applyConditionalProperties.default)(PAGE);
53
+ expect(result).toEqual({
54
+ ...PAGE,
58
55
  beta: '456'
59
- }));
56
+ });
60
57
  });
61
58
  });
@@ -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
@@ -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
  });