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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +2 -2
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  6. package/dist/components/CollectionPage/CollectionPage.js +75 -59
  7. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  8. package/dist/components/CollectionSummary/BannerStrip.js +15 -14
  9. package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +98 -59
  11. package/dist/components/CollectionSummary/CollectionSummary.js +144 -135
  12. package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +167 -197
  14. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  15. package/dist/components/CollectionSummary/Confirmation.scss +1 -1
  16. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  17. package/dist/components/CollectionSummary/RenderListView.js +54 -56
  18. package/dist/components/CollectionSummary/RenderListView.scss +10 -1
  19. package/dist/components/CollectionSummary/RenderListView.test.js +89 -78
  20. package/dist/components/CollectionSummary/SummaryCard.js +135 -145
  21. package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
  22. package/dist/components/CollectionSummary/SummaryCard.test.js +943 -932
  23. package/dist/components/CollectionSummary/SummaryCardDetails.js +120 -62
  24. package/dist/components/CollectionSummary/SummaryCardDetails.scss +43 -6
  25. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +261 -120
  26. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +38 -33
  27. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -73
  28. package/dist/components/FormComponent/Collection.js +81 -108
  29. package/dist/components/FormComponent/Collection.test.js +909 -943
  30. package/dist/components/FormComponent/Container.js +40 -38
  31. package/dist/components/FormComponent/Container.test.js +314 -345
  32. package/dist/components/FormComponent/FormComponent.js +80 -71
  33. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  34. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  36. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  38. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  40. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  41. package/dist/components/FormComponent/helpers/index.js +4 -4
  42. package/dist/components/FormPage/FormPage.js +65 -80
  43. package/dist/components/FormPage/FormPage.scss +1 -1
  44. package/dist/components/FormPage/FormPage.test.js +127 -163
  45. package/dist/components/FormRenderer/FormRenderer.js +150 -183
  46. package/dist/components/FormRenderer/FormRenderer.scss +1 -1
  47. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  48. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  49. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  50. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  51. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  52. package/dist/components/FormRenderer/handlers/index.js +1 -1
  53. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  54. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  56. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  58. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  60. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  61. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  62. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  63. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  64. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  65. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  66. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  67. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  68. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  70. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  72. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  74. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  75. package/dist/components/FormRenderer/helpers/index.js +2 -4
  76. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  77. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  78. package/dist/components/FormRenderer/onPageAction.js +50 -48
  79. package/dist/components/FormRenderer/onPageAction.test.js +241 -217
  80. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  81. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  82. package/dist/components/PageActions/ActionButton.js +12 -15
  83. package/dist/components/PageActions/ActionButton.test.js +56 -78
  84. package/dist/components/PageActions/PageActions.js +10 -10
  85. package/dist/components/PageActions/PageActions.test.js +86 -115
  86. package/dist/components/SummaryList/GroupAction.js +9 -17
  87. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  88. package/dist/components/SummaryList/RowAction.js +11 -16
  89. package/dist/components/SummaryList/RowAction.test.js +37 -33
  90. package/dist/components/SummaryList/SummaryList.js +21 -26
  91. package/dist/components/SummaryList/SummaryList.scss +2 -2
  92. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  94. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  95. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  100. package/dist/components/SummaryList/helpers/index.js +1 -1
  101. package/dist/components/TaskList/Task.js +19 -29
  102. package/dist/components/TaskList/Task.test.js +83 -76
  103. package/dist/components/TaskList/TaskList.js +45 -71
  104. package/dist/components/TaskList/TaskList.scss +1 -1
  105. package/dist/components/TaskList/TaskList.test.js +113 -111
  106. package/dist/components/TaskList/TaskState.js +7 -5
  107. package/dist/components/TaskList/TaskState.test.js +52 -45
  108. package/dist/components/index.js +7 -7
  109. package/dist/context/HooksContext/HooksContext.js +57 -80
  110. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  111. package/dist/context/HooksContext/index.js +3 -4
  112. package/dist/context/ValidationContext/ValidationContext.js +65 -72
  113. package/dist/context/ValidationContext/ValidationContext.test.js +58 -61
  114. package/dist/context/ValidationContext/index.js +3 -4
  115. package/dist/context/index.js +2 -2
  116. package/dist/hooks/index.js +9 -10
  117. package/dist/hooks/useAxios.js +14 -40
  118. package/dist/hooks/useGetRequest.js +61 -97
  119. package/dist/hooks/useHooks.js +1 -3
  120. package/dist/hooks/useRefData.js +27 -40
  121. package/dist/hooks/useValidation.js +1 -3
  122. package/dist/index.js +13 -14
  123. package/dist/models/CollectionLabels.js +1 -1
  124. package/dist/models/ComponentTypes.js +25 -25
  125. package/dist/models/EventTypes.js +4 -4
  126. package/dist/models/FormPages.js +4 -4
  127. package/dist/models/FormTypes.js +8 -8
  128. package/dist/models/HubFormats.js +3 -3
  129. package/dist/models/PageAction.js +44 -38
  130. package/dist/models/TaskStates.js +29 -28
  131. package/dist/models/index.js +9 -9
  132. package/dist/setupTests.js +30 -31
  133. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  134. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  139. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  140. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  151. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  152. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  153. package/dist/utils/CheckYourAnswers/index.js +1 -1
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -5
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +29 -24
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -4
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +7 -27
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +29 -19
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +66 -22
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  166. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  167. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  168. package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
  169. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +153 -0
  170. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -23
  171. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  172. package/dist/utils/CollectionPage/index.js +3 -1
  173. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  174. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -17
  178. package/dist/utils/CollectionPage/setCollectionPageData.test.js +38 -20
  179. package/dist/utils/Component/addShowWhen.js +4 -8
  180. package/dist/utils/Component/addShowWhen.test.js +37 -37
  181. package/dist/utils/Component/applyToComponentTree.js +18 -18
  182. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  183. package/dist/utils/Component/cleanAttributes.js +10 -13
  184. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  185. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  186. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  187. package/dist/utils/Component/getComponent.js +88 -94
  188. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  190. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  191. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  192. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  195. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  196. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  197. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  198. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  199. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  200. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  201. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  202. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  203. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  204. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  205. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  206. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  207. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  208. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  209. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  210. package/dist/utils/Component/getDefaultValue.js +6 -8
  211. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  212. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  213. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  214. package/dist/utils/Component/index.js +1 -1
  215. package/dist/utils/Component/isEditable.js +2 -4
  216. package/dist/utils/Component/isEditable.test.js +14 -15
  217. package/dist/utils/Component/optionIsSelected.js +1 -1
  218. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  219. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  220. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  221. package/dist/utils/Component/showComponent.js +1 -1
  222. package/dist/utils/Component/showComponent.test.js +28 -28
  223. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  224. package/dist/utils/Condition/index.js +1 -1
  225. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  226. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  227. package/dist/utils/Condition/meetsCondition.js +28 -19
  228. package/dist/utils/Condition/meetsCondition.test.js +476 -376
  229. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  230. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  231. package/dist/utils/Condition/setupConditions.js +13 -18
  232. package/dist/utils/Condition/setupConditions.test.js +7 -7
  233. package/dist/utils/Container/getEditableComponents.js +3 -5
  234. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  235. package/dist/utils/Container/index.js +1 -1
  236. package/dist/utils/Container/setupNesting.js +16 -20
  237. package/dist/utils/Container/setupNesting.test.js +27 -30
  238. package/dist/utils/Container/showContainer.js +3 -7
  239. package/dist/utils/Container/showContainer.test.js +30 -30
  240. package/dist/utils/Data/applyFormula.js +38 -48
  241. package/dist/utils/Data/applyFormula.test.js +20 -20
  242. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  243. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  244. package/dist/utils/Data/getDataPath.js +18 -28
  245. package/dist/utils/Data/getDataPath.test.js +12 -12
  246. package/dist/utils/Data/getOptions.js +29 -25
  247. package/dist/utils/Data/getOptions.test.js +93 -20
  248. package/dist/utils/Data/getSourceData.js +6 -19
  249. package/dist/utils/Data/getSourceData.test.js +84 -80
  250. package/dist/utils/Data/index.js +1 -1
  251. package/dist/utils/Data/nestInRefdataOptions.js +42 -0
  252. package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
  253. package/dist/utils/Data/refDataToOptions.js +10 -13
  254. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  255. package/dist/utils/Data/setDataItem.js +7 -8
  256. package/dist/utils/Data/setDataItem.test.js +37 -37
  257. package/dist/utils/Data/setupFormData.js +13 -21
  258. package/dist/utils/Data/setupFormData.test.js +51 -50
  259. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  260. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  261. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  262. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  263. package/dist/utils/FormPage/getConditionalText.js +3 -3
  264. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  265. package/dist/utils/FormPage/getFormPage.js +15 -16
  266. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  267. package/dist/utils/FormPage/getFormPages.js +7 -12
  268. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  269. package/dist/utils/FormPage/getPageActions.js +9 -15
  270. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  271. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  272. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  273. package/dist/utils/FormPage/index.js +2 -4
  274. package/dist/utils/FormPage/showFormPage.js +3 -7
  275. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  276. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  277. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  278. package/dist/utils/FormPage/useComponent.js +21 -28
  279. package/dist/utils/FormPage/useComponent.test.js +77 -79
  280. package/dist/utils/Format/formatData.js +1 -1
  281. package/dist/utils/Format/formatData.test.js +18 -18
  282. package/dist/utils/Format/formatDataForComponent.js +5 -6
  283. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  284. package/dist/utils/Format/formatDataForForm.js +6 -8
  285. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  286. package/dist/utils/Format/formatDataForPage.js +4 -5
  287. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  288. package/dist/utils/Format/index.js +1 -1
  289. package/dist/utils/Hub/getFormHub.js +1 -1
  290. package/dist/utils/Hub/getFormHub.test.js +28 -31
  291. package/dist/utils/Hub/index.js +1 -1
  292. package/dist/utils/Meta/constants.js +2 -2
  293. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  294. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  295. package/dist/utils/Meta/documents/index.js +1 -1
  296. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  297. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  298. package/dist/utils/Meta/index.js +1 -1
  299. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  301. package/dist/utils/Operate/getFirstOf.js +5 -5
  302. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  303. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  304. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  305. package/dist/utils/Operate/index.js +1 -1
  306. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  307. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  308. package/dist/utils/Operate/runPageOperations.js +7 -7
  309. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  310. package/dist/utils/Operate/setValueInFormData.js +2 -2
  311. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  312. package/dist/utils/Operate/shouldRun.js +6 -6
  313. package/dist/utils/Operate/shouldRun.test.js +21 -27
  314. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  315. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  316. package/dist/utils/Validate/additional/index.js +6 -6
  317. package/dist/utils/Validate/additional/index.test.js +12 -12
  318. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  319. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  320. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  321. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  322. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  323. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  324. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  325. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  326. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  327. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  328. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  330. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  331. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  332. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  333. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  334. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  336. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  337. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  338. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  339. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  340. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  341. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  342. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  343. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  344. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  345. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  346. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  347. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  348. package/dist/utils/Validate/additional/utils.js +9 -22
  349. package/dist/utils/Validate/index.js +1 -1
  350. package/dist/utils/Validate/validateCollection.js +19 -25
  351. package/dist/utils/Validate/validateCollection.test.js +74 -66
  352. package/dist/utils/Validate/validateComponent.js +17 -15
  353. package/dist/utils/Validate/validateComponent.test.js +167 -146
  354. package/dist/utils/Validate/validateContainer.js +16 -19
  355. package/dist/utils/Validate/validateContainer.test.js +84 -45
  356. package/dist/utils/Validate/validateDate.js +15 -21
  357. package/dist/utils/Validate/validateDate.test.js +31 -32
  358. package/dist/utils/Validate/validateEmail.js +6 -8
  359. package/dist/utils/Validate/validateEmail.test.js +25 -25
  360. package/dist/utils/Validate/validateMultifile.js +5 -7
  361. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  362. package/dist/utils/Validate/validatePage.js +24 -18
  363. package/dist/utils/Validate/validatePage.test.js +263 -182
  364. package/dist/utils/Validate/validateRegex.js +3 -5
  365. package/dist/utils/Validate/validateRegex.test.js +14 -14
  366. package/dist/utils/Validate/validateRequired.js +4 -6
  367. package/dist/utils/Validate/validateRequired.test.js +18 -18
  368. package/dist/utils/Validate/validateTextArea.js +4 -6
  369. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  370. package/dist/utils/Validate/validateTime.js +11 -18
  371. package/dist/utils/Validate/validateTime.test.js +16 -16
  372. package/dist/utils/index.js +7 -9
  373. package/package.json +5 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -4,63 +4,61 @@ var _setupFormData = _interopRequireDefault(require("./setupFormData"));
4
4
  var _userProfile = _interopRequireDefault(require("../../json/userProfile.json"));
5
5
  var _userProfileData = _interopRequireDefault(require("../../json/userProfile.data.json"));
6
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
- 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 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; }
9
- 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; }
10
- 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; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- 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); } /* eslint-disable import/no-named-default */ // Local imports
13
- describe('utils', function () {
14
- describe('Data', function () {
15
- describe('setupFormData', function () {
16
- it('should populate a simple form', function () {
17
- var PAGES = [];
18
- var COMPONENTS = [{
7
+ /* eslint-disable import/no-named-default */
8
+
9
+ // Local imports
10
+
11
+ describe('utils', () => {
12
+ describe('Data', () => {
13
+ describe('setupFormData', () => {
14
+ it('should populate a simple form', () => {
15
+ const PAGES = [];
16
+ const COMPONENTS = [{
19
17
  fieldId: 'testField',
20
18
  source: {
21
19
  field: 'sourceField'
22
20
  }
23
21
  }];
24
- var DATA = {
22
+ const DATA = {
25
23
  sourceField: 'VALUE'
26
24
  };
27
- var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
25
+ const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
28
26
  expect(RESULT).toEqual({
29
27
  sourceField: 'VALUE',
30
28
  testField: 'VALUE'
31
29
  });
32
30
  });
33
- it('should handle a missing source field', function () {
34
- var PAGES = [];
35
- var COMPONENTS = [{
31
+ it('should handle a missing source field', () => {
32
+ const PAGES = [];
33
+ const COMPONENTS = [{
36
34
  fieldId: 'testField',
37
35
  source: {
38
36
  field: 'otherSourceField'
39
37
  }
40
38
  }];
41
- var DATA = {
39
+ const DATA = {
42
40
  sourceField: 'VALUE'
43
41
  };
44
- var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
42
+ const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
45
43
  expect(RESULT).toEqual({
46
44
  sourceField: 'VALUE',
47
45
  testField: undefined
48
46
  });
49
47
  });
50
- it('should handle a nested source field', function () {
51
- var PAGES = [];
52
- var COMPONENTS = [{
48
+ it('should handle a nested source field', () => {
49
+ const PAGES = [];
50
+ const COMPONENTS = [{
53
51
  fieldId: 'testField',
54
52
  source: {
55
53
  field: 'nested.sourceField'
56
54
  }
57
55
  }];
58
- var DATA = {
56
+ const DATA = {
59
57
  nested: {
60
58
  sourceField: 'VALUE'
61
59
  }
62
60
  };
63
- var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
61
+ const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
64
62
  expect(RESULT).toEqual({
65
63
  nested: {
66
64
  sourceField: 'VALUE'
@@ -68,20 +66,20 @@ describe('utils', function () {
68
66
  testField: 'VALUE'
69
67
  });
70
68
  });
71
- it('should handle a missing nested source field', function () {
72
- var PAGES = [];
73
- var COMPONENTS = [{
69
+ it('should handle a missing nested source field', () => {
70
+ const PAGES = [];
71
+ const COMPONENTS = [{
74
72
  fieldId: 'testField',
75
73
  source: {
76
74
  field: 'nested.otherSourceField'
77
75
  }
78
76
  }];
79
- var DATA = {
77
+ const DATA = {
80
78
  nested: {
81
79
  sourceField: 'VALUE'
82
80
  }
83
81
  };
84
- var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
82
+ const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
85
83
  expect(RESULT).toEqual({
86
84
  nested: {
87
85
  sourceField: 'VALUE'
@@ -89,20 +87,20 @@ describe('utils', function () {
89
87
  testField: undefined
90
88
  });
91
89
  });
92
- it('should handle an entirely missing nested source field', function () {
93
- var PAGES = [];
94
- var COMPONENTS = [{
90
+ it('should handle an entirely missing nested source field', () => {
91
+ const PAGES = [];
92
+ const COMPONENTS = [{
95
93
  fieldId: 'testField',
96
94
  source: {
97
95
  field: 'otherNested.sourceField'
98
96
  }
99
97
  }];
100
- var DATA = {
98
+ const DATA = {
101
99
  nested: {
102
100
  sourceField: 'VALUE'
103
101
  }
104
102
  };
105
- var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
103
+ const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
106
104
  expect(RESULT).toEqual({
107
105
  nested: {
108
106
  sourceField: 'VALUE'
@@ -110,8 +108,8 @@ describe('utils', function () {
110
108
  testField: undefined
111
109
  });
112
110
  });
113
- it('should handle sources within pages', function () {
114
- var PAGES = [{
111
+ it('should handle sources within pages', () => {
112
+ const PAGES = [{
115
113
  components: [{
116
114
  fieldId: 'pageField',
117
115
  source: {
@@ -126,20 +124,20 @@ describe('utils', function () {
126
124
  }
127
125
  }]
128
126
  }];
129
- var COMPONENTS = [{
127
+ const COMPONENTS = [{
130
128
  fieldId: 'testField',
131
129
  source: {
132
130
  field: 'nested.sourceField'
133
131
  }
134
132
  }];
135
- var DATA = {
133
+ const DATA = {
136
134
  nested: {
137
135
  sourceField: 'VALUE'
138
136
  },
139
137
  pageSourceField: 'PAGE 1',
140
138
  secondPageSourceField: 'Bob'
141
139
  };
142
- var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
140
+ const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
143
141
  expect(RESULT).toEqual({
144
142
  nested: {
145
143
  sourceField: 'VALUE'
@@ -151,8 +149,8 @@ describe('utils', function () {
151
149
  secondPageField: 'Bob'
152
150
  });
153
151
  });
154
- it('should ignore sources within pages that reference a top-level component', function () {
155
- var PAGES = [{
152
+ it('should ignore sources within pages that reference a top-level component', () => {
153
+ const PAGES = [{
156
154
  components: [{
157
155
  fieldId: 'pageField',
158
156
  use: 'testField',
@@ -168,20 +166,20 @@ describe('utils', function () {
168
166
  }
169
167
  }]
170
168
  }];
171
- var COMPONENTS = [{
169
+ const COMPONENTS = [{
172
170
  fieldId: 'testField',
173
171
  source: {
174
172
  field: 'nested.sourceField'
175
173
  }
176
174
  }];
177
- var DATA = {
175
+ const DATA = {
178
176
  nested: {
179
177
  sourceField: 'VALUE'
180
178
  },
181
179
  pageSourceField: 'PAGE 1',
182
180
  secondPageSourceField: 'Bob'
183
181
  };
184
- var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
182
+ const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
185
183
  expect(RESULT).toEqual({
186
184
  nested: {
187
185
  sourceField: 'VALUE'
@@ -192,21 +190,24 @@ describe('utils', function () {
192
190
  secondPageField: 'Bob'
193
191
  });
194
192
  });
195
- it('should populate data for the user profile configuration and source', function () {
196
- var pages = _userProfile.default.pages,
197
- components = _userProfile.default.components;
198
- var RESULT = (0, _setupFormData.default)(pages, components, _userProfileData.default);
193
+ it('should populate data for the user profile configuration and source', () => {
194
+ const {
195
+ pages,
196
+ components
197
+ } = _userProfile.default;
198
+ const RESULT = (0, _setupFormData.default)(pages, components, _userProfileData.default);
199
199
 
200
200
  // It should produce an aggregation of the original source data (USER_PROFILE_DATA)
201
201
  // and data calculated for the fields, based on that source data.
202
- expect(RESULT).toEqual(_objectSpread(_objectSpread({}, _userProfileData.default), {}, {
202
+ expect(RESULT).toEqual({
203
+ ..._userProfileData.default,
203
204
  firstName: _userProfileData.default.currentUser.givenName,
204
205
  surname: _userProfileData.default.currentUser.familyName,
205
206
  team: _userProfileData.default.userDetails.defaultteam,
206
207
  staffGradeId: _userProfileData.default.userDetails.gradeid,
207
208
  linemanagerEmail: _userProfileData.default.userDetails.linemanagerEmail,
208
209
  delegateEmails: _userProfileData.default.userDetails.delegateEmails
209
- }));
210
+ });
210
211
  });
211
212
  });
212
213
  });
@@ -6,28 +6,20 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _models = require("../../models");
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); } /* eslint-disable no-use-before-define */ // Global imports
15
- var setupRefDataForContainer = function setupRefDataForContainer(container, data) {
16
- return _objectSpread(_objectSpread({}, container), {}, {
17
- components: setupRefDataUrlForComponents(container.components, data)
18
- });
19
- };
20
- var setupRefDataForCollection = function setupRefDataForCollection(collection, data) {
21
- return _objectSpread(_objectSpread({}, collection), {}, {
22
- item: setupRefDataUrlForComponents(collection.item, data)
23
- });
24
- };
25
- var setupRefDataUrlForComponents = function setupRefDataUrlForComponents(components, data) {
26
- return components.map(function (component) {
27
- return setupRefDataUrlForComponent(component, data);
28
- });
29
- };
30
- var setupRefDataUrlForComponent = function setupRefDataUrlForComponent(component, data) {
9
+ /* eslint-disable no-use-before-define */
10
+
11
+ // Global imports
12
+
13
+ const setupRefDataForContainer = (container, data) => ({
14
+ ...container,
15
+ components: setupRefDataUrlForComponents(container.components, data)
16
+ });
17
+ const setupRefDataForCollection = (collection, data) => ({
18
+ ...collection,
19
+ item: setupRefDataUrlForComponents(collection.item, data)
20
+ });
21
+ const setupRefDataUrlForComponents = (components, data) => components.map(component => setupRefDataUrlForComponent(component, data));
22
+ const setupRefDataUrlForComponent = (component, data) => {
31
23
  if (component) {
32
24
  var _component$data, _component$data2;
33
25
  if (component.type === _models.ComponentTypes.CONTAINER) {
@@ -40,11 +32,13 @@ var setupRefDataUrlForComponent = function setupRefDataUrlForComponent(component
40
32
  return component;
41
33
  }
42
34
  if ((_component$data = component.data) !== null && _component$data !== void 0 && _component$data.url && !((_component$data2 = component.data) !== null && _component$data2 !== void 0 && _component$data2.skipUrlInterpolation)) {
43
- return _objectSpread(_objectSpread({}, component), {}, {
44
- data: _objectSpread(_objectSpread({}, component.data), {}, {
35
+ return {
36
+ ...component,
37
+ data: {
38
+ ...component.data,
45
39
  url: _copReactComponents.Utils.interpolateString(component.data.url, data)
46
- })
47
- });
40
+ }
41
+ };
48
42
  }
49
43
  }
50
44
  return component;
@@ -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