@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1

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 (372) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/RenderListView.js +52 -46
  14. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  15. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  16. package/dist/components/CollectionSummary/SummaryCard.js +152 -110
  17. package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
  18. package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
  19. package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  23. package/dist/components/FormComponent/Collection.js +108 -74
  24. package/dist/components/FormComponent/Collection.test.js +1081 -909
  25. package/dist/components/FormComponent/Container.js +39 -40
  26. package/dist/components/FormComponent/Container.test.js +412 -312
  27. package/dist/components/FormComponent/FormComponent.js +72 -69
  28. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  29. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  30. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  32. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  33. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  34. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  36. package/dist/components/FormComponent/helpers/index.js +4 -4
  37. package/dist/components/FormPage/FormPage.js +80 -65
  38. package/dist/components/FormPage/FormPage.test.js +163 -127
  39. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  40. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  41. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  42. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  43. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  44. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  45. package/dist/components/FormRenderer/handlers/index.js +1 -1
  46. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  47. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  48. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  49. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  50. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  51. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  52. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  53. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  55. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  57. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  58. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  59. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  60. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  61. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  63. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  64. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  65. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  66. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  67. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  68. package/dist/components/FormRenderer/helpers/index.js +1 -1
  69. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  70. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  71. package/dist/components/FormRenderer/onPageAction.js +39 -43
  72. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  73. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  74. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  75. package/dist/components/PageActions/ActionButton.js +15 -12
  76. package/dist/components/PageActions/ActionButton.test.js +78 -56
  77. package/dist/components/PageActions/PageActions.js +10 -10
  78. package/dist/components/PageActions/PageActions.test.js +115 -86
  79. package/dist/components/SummaryList/GroupAction.js +17 -9
  80. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  81. package/dist/components/SummaryList/RowAction.js +16 -11
  82. package/dist/components/SummaryList/RowAction.test.js +33 -37
  83. package/dist/components/SummaryList/SummaryList.js +34 -21
  84. package/dist/components/SummaryList/SummaryList.scss +15 -0
  85. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  86. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  87. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  88. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  89. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  90. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  91. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  92. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  93. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/index.js +1 -1
  96. package/dist/components/TaskList/Task.js +29 -19
  97. package/dist/components/TaskList/Task.test.js +76 -83
  98. package/dist/components/TaskList/TaskList.js +92 -49
  99. package/dist/components/TaskList/TaskList.scss +24 -0
  100. package/dist/components/TaskList/TaskList.test.js +255 -113
  101. package/dist/components/TaskList/TaskState.js +5 -7
  102. package/dist/components/TaskList/TaskState.test.js +45 -52
  103. package/dist/components/index.js +7 -7
  104. package/dist/context/HooksContext/HooksContext.js +80 -57
  105. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  106. package/dist/context/HooksContext/index.js +4 -3
  107. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  108. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  109. package/dist/context/ValidationContext/index.js +4 -3
  110. package/dist/context/index.js +2 -2
  111. package/dist/hooks/index.js +10 -9
  112. package/dist/hooks/useAxios.js +40 -14
  113. package/dist/hooks/useGetRequest.js +97 -61
  114. package/dist/hooks/useHooks.js +3 -1
  115. package/dist/hooks/useRefData.js +39 -26
  116. package/dist/hooks/useValidation.js +3 -1
  117. package/dist/index.js +14 -13
  118. package/dist/models/CollectionLabels.js +1 -1
  119. package/dist/models/ComponentTypes.js +25 -25
  120. package/dist/models/EventTypes.js +4 -4
  121. package/dist/models/FormPages.js +4 -4
  122. package/dist/models/FormTypes.js +8 -8
  123. package/dist/models/HubFormats.js +3 -3
  124. package/dist/models/PageAction.js +38 -44
  125. package/dist/models/TaskStates.js +28 -29
  126. package/dist/models/index.js +9 -9
  127. package/dist/setupTests.js +31 -30
  128. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  129. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  130. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  131. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  132. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  133. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  134. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  135. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  136. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  137. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  138. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  139. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  140. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
  142. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  144. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  145. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  146. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  147. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  148. package/dist/utils/CheckYourAnswers/index.js +1 -1
  149. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  150. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  151. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  152. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  153. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  154. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  155. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  156. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  157. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  158. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  159. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  160. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  161. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  162. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  163. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  164. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  165. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  166. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  167. package/dist/utils/CollectionPage/index.js +1 -1
  168. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  169. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  170. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  171. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  172. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  173. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  174. package/dist/utils/Component/addShowWhen.js +8 -4
  175. package/dist/utils/Component/addShowWhen.test.js +37 -37
  176. package/dist/utils/Component/applyToComponentTree.js +18 -18
  177. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  178. package/dist/utils/Component/cleanAttributes.js +13 -10
  179. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  180. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  181. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  182. package/dist/utils/Component/getComponent.js +94 -88
  183. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  184. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  185. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  186. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  187. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  188. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  191. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  192. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  193. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  194. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  196. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  197. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  199. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  200. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  202. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  203. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  204. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  205. package/dist/utils/Component/getDefaultValue.js +8 -6
  206. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  207. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  208. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  209. package/dist/utils/Component/index.js +1 -1
  210. package/dist/utils/Component/isEditable.js +4 -2
  211. package/dist/utils/Component/isEditable.test.js +15 -14
  212. package/dist/utils/Component/optionIsSelected.js +6 -1
  213. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  214. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  215. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  216. package/dist/utils/Component/showComponent.js +1 -1
  217. package/dist/utils/Component/showComponent.test.js +28 -28
  218. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  219. package/dist/utils/Condition/index.js +1 -1
  220. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  221. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  222. package/dist/utils/Condition/meetsCondition.js +25 -16
  223. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  224. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  225. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  226. package/dist/utils/Condition/setupConditions.js +18 -13
  227. package/dist/utils/Condition/setupConditions.test.js +7 -7
  228. package/dist/utils/Container/getEditableComponents.js +5 -3
  229. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  230. package/dist/utils/Container/index.js +1 -1
  231. package/dist/utils/Container/setupNesting.js +20 -16
  232. package/dist/utils/Container/setupNesting.test.js +30 -27
  233. package/dist/utils/Container/showContainer.js +7 -3
  234. package/dist/utils/Container/showContainer.test.js +30 -30
  235. package/dist/utils/Data/applyFormula.js +48 -38
  236. package/dist/utils/Data/applyFormula.test.js +20 -20
  237. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  238. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  239. package/dist/utils/Data/getDataPath.js +28 -18
  240. package/dist/utils/Data/getDataPath.test.js +12 -12
  241. package/dist/utils/Data/getOptions.js +30 -24
  242. package/dist/utils/Data/getOptions.test.js +27 -27
  243. package/dist/utils/Data/getSourceData.js +19 -6
  244. package/dist/utils/Data/getSourceData.test.js +80 -84
  245. package/dist/utils/Data/index.js +1 -1
  246. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  247. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  248. package/dist/utils/Data/refDataToOptions.js +13 -10
  249. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  250. package/dist/utils/Data/setDataItem.js +8 -7
  251. package/dist/utils/Data/setDataItem.test.js +37 -37
  252. package/dist/utils/Data/setupFormData.js +21 -13
  253. package/dist/utils/Data/setupFormData.test.js +50 -51
  254. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  255. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  256. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  257. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  258. package/dist/utils/FormPage/getConditionalText.js +3 -3
  259. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  260. package/dist/utils/FormPage/getFormPage.js +16 -15
  261. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  262. package/dist/utils/FormPage/getFormPages.js +12 -7
  263. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  264. package/dist/utils/FormPage/getPageActions.js +15 -9
  265. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  266. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  267. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  268. package/dist/utils/FormPage/index.js +4 -2
  269. package/dist/utils/FormPage/showFormPage.js +7 -3
  270. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  271. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  272. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  273. package/dist/utils/FormPage/useComponent.js +28 -21
  274. package/dist/utils/FormPage/useComponent.test.js +79 -77
  275. package/dist/utils/Format/formatData.js +1 -1
  276. package/dist/utils/Format/formatData.test.js +18 -18
  277. package/dist/utils/Format/formatDataForComponent.js +6 -5
  278. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  279. package/dist/utils/Format/formatDataForForm.js +8 -6
  280. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  281. package/dist/utils/Format/formatDataForPage.js +5 -4
  282. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  283. package/dist/utils/Format/index.js +1 -1
  284. package/dist/utils/Hub/getFormHub.js +1 -1
  285. package/dist/utils/Hub/getFormHub.test.js +31 -28
  286. package/dist/utils/Hub/index.js +1 -1
  287. package/dist/utils/Meta/constants.js +2 -2
  288. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  289. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  290. package/dist/utils/Meta/documents/index.js +1 -1
  291. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  292. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  293. package/dist/utils/Meta/index.js +1 -1
  294. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  295. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  296. package/dist/utils/Operate/getFirstOf.js +5 -5
  297. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  298. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  299. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  300. package/dist/utils/Operate/getLength.js +50 -0
  301. package/dist/utils/Operate/getLength.test.js +89 -0
  302. package/dist/utils/Operate/index.js +1 -1
  303. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  304. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  305. package/dist/utils/Operate/runPageOperations.js +9 -7
  306. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  307. package/dist/utils/Operate/setValueInFormData.js +2 -2
  308. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  309. package/dist/utils/Operate/shouldRun.js +6 -6
  310. package/dist/utils/Operate/shouldRun.test.js +27 -21
  311. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  312. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  313. package/dist/utils/Validate/additional/index.js +6 -6
  314. package/dist/utils/Validate/additional/index.test.js +12 -12
  315. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  317. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  318. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  319. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  320. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  321. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  322. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  323. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  325. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  327. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  328. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  329. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  330. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  331. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  333. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  334. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  335. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  337. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  338. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  339. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  340. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  341. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  342. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  343. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  344. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  345. package/dist/utils/Validate/additional/utils.js +22 -9
  346. package/dist/utils/Validate/index.js +1 -1
  347. package/dist/utils/Validate/validateCollection.js +25 -19
  348. package/dist/utils/Validate/validateCollection.test.js +66 -74
  349. package/dist/utils/Validate/validateComponent.js +21 -18
  350. package/dist/utils/Validate/validateComponent.test.js +176 -166
  351. package/dist/utils/Validate/validateContainer.js +20 -15
  352. package/dist/utils/Validate/validateContainer.test.js +52 -58
  353. package/dist/utils/Validate/validateDate.js +21 -15
  354. package/dist/utils/Validate/validateDate.test.js +32 -31
  355. package/dist/utils/Validate/validateEmail.js +8 -6
  356. package/dist/utils/Validate/validateEmail.test.js +25 -25
  357. package/dist/utils/Validate/validateMultifile.js +7 -5
  358. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  359. package/dist/utils/Validate/validatePage.js +22 -19
  360. package/dist/utils/Validate/validatePage.test.js +203 -215
  361. package/dist/utils/Validate/validateRegex.js +5 -3
  362. package/dist/utils/Validate/validateRegex.test.js +14 -14
  363. package/dist/utils/Validate/validateRequired.js +6 -4
  364. package/dist/utils/Validate/validateRequired.test.js +18 -18
  365. package/dist/utils/Validate/validateTextArea.js +6 -4
  366. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  367. package/dist/utils/Validate/validateTime.js +26 -11
  368. package/dist/utils/Validate/validateTime.test.js +62 -16
  369. package/dist/utils/index.js +9 -7
  370. package/package.json +2 -2
  371. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  372. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -4,17 +4,17 @@ var _refDataToOptions = _interopRequireDefault(require("./refDataToOptions"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils', () => {
8
- describe('Data', () => {
9
- describe('refDataToOptions', () => {
10
- it('can handle a null refData', () => {
7
+ describe('utils', function () {
8
+ describe('Data', function () {
9
+ describe('refDataToOptions', function () {
10
+ it('can handle a null refData', function () {
11
11
  expect((0, _refDataToOptions.default)(null)).toEqual([]);
12
12
  });
13
- it('can handle an undefined refData', () => {
13
+ it('can handle an undefined refData', function () {
14
14
  expect((0, _refDataToOptions.default)(undefined)).toEqual([]);
15
15
  });
16
- it('can handle genuine refData', () => {
17
- const REF_DATA = [{
16
+ it('can handle genuine refData', function () {
17
+ var REF_DATA = [{
18
18
  id: 'a',
19
19
  name: 'Alpha'
20
20
  }, {
@@ -41,8 +41,8 @@ describe('utils', () => {
41
41
  label: 'Charlie'
42
42
  }]);
43
43
  });
44
- it('can handle refData that is already in a usable options format', () => {
45
- const REF_DATA = [{
44
+ it('can handle refData that is already in a usable options format', function () {
45
+ var REF_DATA = [{
46
46
  value: 'a',
47
47
  label: 'Alpha'
48
48
  }, {
@@ -63,8 +63,8 @@ describe('utils', () => {
63
63
  label: 'Charlie'
64
64
  }]);
65
65
  });
66
- it('can handle refData that is in a mixed format', () => {
67
- const REF_DATA = [{
66
+ it('can handle refData that is in a mixed format', function () {
67
+ var REF_DATA = [{
68
68
  id: 'a',
69
69
  name: 'Alpha',
70
70
  type: 'Delta'
@@ -93,8 +93,8 @@ describe('utils', () => {
93
93
  type: 'Delta'
94
94
  }]);
95
95
  });
96
- it('can handle refData that contains strings and objects', () => {
97
- const REF_DATA = [{
96
+ it('can handle refData that contains strings and objects', function () {
97
+ var REF_DATA = [{
98
98
  id: 'a',
99
99
  name: 'Alpha',
100
100
  type: 'Delta'
@@ -123,8 +123,8 @@ describe('utils', () => {
123
123
  type: 'Delta'
124
124
  }]);
125
125
  });
126
- it('can handle refData with custom value and label properties', () => {
127
- const REF_DATA = [{
126
+ it('can handle refData with custom value and label properties', function () {
127
+ var REF_DATA = [{
128
128
  id: 1,
129
129
  displayName: 'Alpha'
130
130
  }, {
@@ -134,7 +134,7 @@ describe('utils', () => {
134
134
  id: 3,
135
135
  displayName: 'Charlie'
136
136
  }];
137
- const ITEM_STRUCTURE = {
137
+ var ITEM_STRUCTURE = {
138
138
  value: 'id',
139
139
  label: 'displayName'
140
140
  };
@@ -155,8 +155,8 @@ describe('utils', () => {
155
155
  label: 'Charlie'
156
156
  }]);
157
157
  });
158
- it('can handle refData with missing custom value and label properties', () => {
159
- const REF_DATA = [{
158
+ it('can handle refData with missing custom value and label properties', function () {
159
+ var REF_DATA = [{
160
160
  id: 1,
161
161
  name: 'Alpha'
162
162
  }, {
@@ -168,7 +168,7 @@ describe('utils', () => {
168
168
  objId: 'chaz',
169
169
  name: 'Charlie'
170
170
  }];
171
- const ITEM_STRUCTURE = {
171
+ var ITEM_STRUCTURE = {
172
172
  value: 'objId',
173
173
  label: 'displayName'
174
174
  };
@@ -4,16 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- const setDataItem = function (data, fieldId, value) {
8
- let handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
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
+ var setDataItem = function setDataItem(data, fieldId, value) {
9
+ var handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
9
10
  if (fieldId && data) {
10
- const parts = handleArrayIndices ?
11
+ var parts = handleArrayIndices ?
11
12
  // Replace all occurrences of '[' with '.' and ']' with ''.
12
13
  fieldId.replace(/\[/g, '.').replace(/\]/g, '').split('.') : fieldId.split('.');
13
- const leaf = parts.pop();
14
- let node = data;
15
- parts.forEach(part => {
16
- if (!node[part] || typeof node[part] !== 'object') {
14
+ var leaf = parts.pop();
15
+ var node = data;
16
+ parts.forEach(function (part) {
17
+ if (!node[part] || _typeof(node[part]) !== 'object') {
17
18
  node[part] = {};
18
19
  }
19
20
  node = node[part];
@@ -2,48 +2,48 @@
2
2
 
3
3
  var _setDataItem = _interopRequireDefault(require("./setDataItem"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.Data.setDataItem', () => {
6
- it('should handle a null data object', () => {
7
- const DATA = null;
8
- const FIELD_ID = 'alpha.bravo.charlie';
9
- const VALUE = 'delta';
5
+ describe('utils.Data.setDataItem', function () {
6
+ it('should handle a null data object', function () {
7
+ var DATA = null;
8
+ var FIELD_ID = 'alpha.bravo.charlie';
9
+ var VALUE = 'delta';
10
10
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toBeNull();
11
11
  expect(DATA).toBeNull();
12
12
  });
13
- it('should handle an undefined data object', () => {
14
- const DATA = undefined;
15
- const FIELD_ID = 'alpha.bravo.charlie';
16
- const VALUE = 'delta';
13
+ it('should handle an undefined data object', function () {
14
+ var DATA = undefined;
15
+ var FIELD_ID = 'alpha.bravo.charlie';
16
+ var VALUE = 'delta';
17
17
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toBeUndefined();
18
18
  expect(DATA).toBeUndefined();
19
19
  });
20
- it('should handle a null fieldId', () => {
21
- const DATA = {};
22
- const FIELD_ID = null;
23
- const VALUE = 'delta';
20
+ it('should handle a null fieldId', function () {
21
+ var DATA = {};
22
+ var FIELD_ID = null;
23
+ var VALUE = 'delta';
24
24
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
25
25
  expect(DATA).toMatchObject({});
26
26
  });
27
- it('should handle an undefined fieldId', () => {
28
- const DATA = {};
29
- const FIELD_ID = undefined;
30
- const VALUE = 'delta';
27
+ it('should handle an undefined fieldId', function () {
28
+ var DATA = {};
29
+ var FIELD_ID = undefined;
30
+ var VALUE = 'delta';
31
31
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
32
32
  expect(DATA).toMatchObject({});
33
33
  });
34
- it('should handle an empty fieldId', () => {
35
- const DATA = {};
36
- const FIELD_ID = '';
37
- const VALUE = 'delta';
34
+ it('should handle an empty fieldId', function () {
35
+ var DATA = {};
36
+ var FIELD_ID = '';
37
+ var VALUE = 'delta';
38
38
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
39
39
  expect(DATA).toMatchObject({});
40
40
  });
41
- it('should appropriately set a nested value', () => {
42
- const DATA = {
41
+ it('should appropriately set a nested value', function () {
42
+ var DATA = {
43
43
  alpha: {}
44
44
  };
45
- const FIELD_ID = 'alpha.bravo.charlie';
46
- const VALUE = 'delta';
45
+ var FIELD_ID = 'alpha.bravo.charlie';
46
+ var VALUE = 'delta';
47
47
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
48
48
  alpha: {
49
49
  bravo: {
@@ -59,16 +59,16 @@ describe('utils.Data.setDataItem', () => {
59
59
  }
60
60
  });
61
61
  });
62
- it('should appropriately change a nested value', () => {
63
- const DATA = {
62
+ it('should appropriately change a nested value', function () {
63
+ var DATA = {
64
64
  alpha: {
65
65
  bravo: {
66
66
  charlie: 'echo'
67
67
  }
68
68
  }
69
69
  };
70
- const FIELD_ID = 'alpha.bravo.charlie';
71
- const VALUE = 'delta';
70
+ var FIELD_ID = 'alpha.bravo.charlie';
71
+ var VALUE = 'delta';
72
72
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
73
73
  alpha: {
74
74
  bravo: {
@@ -84,14 +84,14 @@ describe('utils.Data.setDataItem', () => {
84
84
  }
85
85
  });
86
86
  });
87
- it('should handle a parent node that is not an object and convert it appropriately', () => {
88
- const DATA = {
87
+ it('should handle a parent node that is not an object and convert it appropriately', function () {
88
+ var DATA = {
89
89
  alpha: {
90
90
  bravo: 'echo'
91
91
  }
92
92
  };
93
- const FIELD_ID = 'alpha.bravo.charlie';
94
- const VALUE = 'delta';
93
+ var FIELD_ID = 'alpha.bravo.charlie';
94
+ var VALUE = 'delta';
95
95
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
96
96
  alpha: {
97
97
  bravo: {
@@ -107,16 +107,16 @@ describe('utils.Data.setDataItem', () => {
107
107
  }
108
108
  });
109
109
  });
110
- it('should handle array indices in fieldPath if handleArrayIndices is true', () => {
111
- const DATA = {
110
+ it('should handle array indices in fieldPath if handleArrayIndices is true', function () {
111
+ var DATA = {
112
112
  alpha: {
113
113
  bravo: [{
114
114
  charlie: '123'
115
115
  }]
116
116
  }
117
117
  };
118
- const FIELD_ID = 'alpha.bravo[0].charlie';
119
- const VALUE = '456';
118
+ var FIELD_ID = 'alpha.bravo[0].charlie';
119
+ var VALUE = '456';
120
120
  expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE, true)).toMatchObject({
121
121
  alpha: {
122
122
  bravo: [{
@@ -6,20 +6,30 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _getSourceData = _interopRequireDefault(require("./getSourceData"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- // Local imports
10
-
11
- const setupComponentSourceData = (component, data) => {
12
- const componentSourceData = data;
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
15
+ var setupComponentSourceData = function setupComponentSourceData(component, data) {
16
+ var componentSourceData = data;
13
17
  if (component.source) {
14
18
  componentSourceData[component.fieldId] = (0, _getSourceData.default)(componentSourceData, component.source.field);
15
19
  }
16
20
  };
17
- const setupSourceDataForComponents = (components, data) => {
18
- components.forEach(component => setupComponentSourceData(component, data));
21
+ var setupSourceDataForComponents = function setupSourceDataForComponents(components, data) {
22
+ components.forEach(function (component) {
23
+ return setupComponentSourceData(component, data);
24
+ });
19
25
  };
20
- const setupPageSourceData = (pages, data) => {
21
- pages.forEach(page => {
22
- page.components.filter(c => !c.use).forEach(component => setupComponentSourceData(component, data));
26
+ var setupPageSourceData = function setupPageSourceData(pages, data) {
27
+ pages.forEach(function (page) {
28
+ page.components.filter(function (c) {
29
+ return !c.use;
30
+ }).forEach(function (component) {
31
+ return setupComponentSourceData(component, data);
32
+ });
23
33
  });
24
34
  };
25
35
 
@@ -36,10 +46,8 @@ const setupPageSourceData = (pages, data) => {
36
46
  * @param {object} baseData
37
47
  * @returns
38
48
  */
39
- const setupFormData = (pages, components, baseData) => {
40
- const data = {
41
- ...baseData
42
- };
49
+ var setupFormData = function setupFormData(pages, components, baseData) {
50
+ var data = _objectSpread({}, baseData);
43
51
  setupSourceDataForComponents(components, data);
44
52
  setupPageSourceData(pages, data);
45
53
  return data;
@@ -4,61 +4,63 @@ 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
- /* 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 = [{
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 = [{
17
19
  fieldId: 'testField',
18
20
  source: {
19
21
  field: 'sourceField'
20
22
  }
21
23
  }];
22
- const DATA = {
24
+ var DATA = {
23
25
  sourceField: 'VALUE'
24
26
  };
25
- const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
27
+ var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
26
28
  expect(RESULT).toEqual({
27
29
  sourceField: 'VALUE',
28
30
  testField: 'VALUE'
29
31
  });
30
32
  });
31
- it('should handle a missing source field', () => {
32
- const PAGES = [];
33
- const COMPONENTS = [{
33
+ it('should handle a missing source field', function () {
34
+ var PAGES = [];
35
+ var COMPONENTS = [{
34
36
  fieldId: 'testField',
35
37
  source: {
36
38
  field: 'otherSourceField'
37
39
  }
38
40
  }];
39
- const DATA = {
41
+ var DATA = {
40
42
  sourceField: 'VALUE'
41
43
  };
42
- const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
44
+ var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
43
45
  expect(RESULT).toEqual({
44
46
  sourceField: 'VALUE',
45
47
  testField: undefined
46
48
  });
47
49
  });
48
- it('should handle a nested source field', () => {
49
- const PAGES = [];
50
- const COMPONENTS = [{
50
+ it('should handle a nested source field', function () {
51
+ var PAGES = [];
52
+ var COMPONENTS = [{
51
53
  fieldId: 'testField',
52
54
  source: {
53
55
  field: 'nested.sourceField'
54
56
  }
55
57
  }];
56
- const DATA = {
58
+ var DATA = {
57
59
  nested: {
58
60
  sourceField: 'VALUE'
59
61
  }
60
62
  };
61
- const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
63
+ var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
62
64
  expect(RESULT).toEqual({
63
65
  nested: {
64
66
  sourceField: 'VALUE'
@@ -66,20 +68,20 @@ describe('utils', () => {
66
68
  testField: 'VALUE'
67
69
  });
68
70
  });
69
- it('should handle a missing nested source field', () => {
70
- const PAGES = [];
71
- const COMPONENTS = [{
71
+ it('should handle a missing nested source field', function () {
72
+ var PAGES = [];
73
+ var COMPONENTS = [{
72
74
  fieldId: 'testField',
73
75
  source: {
74
76
  field: 'nested.otherSourceField'
75
77
  }
76
78
  }];
77
- const DATA = {
79
+ var DATA = {
78
80
  nested: {
79
81
  sourceField: 'VALUE'
80
82
  }
81
83
  };
82
- const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
84
+ var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
83
85
  expect(RESULT).toEqual({
84
86
  nested: {
85
87
  sourceField: 'VALUE'
@@ -87,20 +89,20 @@ describe('utils', () => {
87
89
  testField: undefined
88
90
  });
89
91
  });
90
- it('should handle an entirely missing nested source field', () => {
91
- const PAGES = [];
92
- const COMPONENTS = [{
92
+ it('should handle an entirely missing nested source field', function () {
93
+ var PAGES = [];
94
+ var COMPONENTS = [{
93
95
  fieldId: 'testField',
94
96
  source: {
95
97
  field: 'otherNested.sourceField'
96
98
  }
97
99
  }];
98
- const DATA = {
100
+ var DATA = {
99
101
  nested: {
100
102
  sourceField: 'VALUE'
101
103
  }
102
104
  };
103
- const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
105
+ var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
104
106
  expect(RESULT).toEqual({
105
107
  nested: {
106
108
  sourceField: 'VALUE'
@@ -108,8 +110,8 @@ describe('utils', () => {
108
110
  testField: undefined
109
111
  });
110
112
  });
111
- it('should handle sources within pages', () => {
112
- const PAGES = [{
113
+ it('should handle sources within pages', function () {
114
+ var PAGES = [{
113
115
  components: [{
114
116
  fieldId: 'pageField',
115
117
  source: {
@@ -124,20 +126,20 @@ describe('utils', () => {
124
126
  }
125
127
  }]
126
128
  }];
127
- const COMPONENTS = [{
129
+ var COMPONENTS = [{
128
130
  fieldId: 'testField',
129
131
  source: {
130
132
  field: 'nested.sourceField'
131
133
  }
132
134
  }];
133
- const DATA = {
135
+ var DATA = {
134
136
  nested: {
135
137
  sourceField: 'VALUE'
136
138
  },
137
139
  pageSourceField: 'PAGE 1',
138
140
  secondPageSourceField: 'Bob'
139
141
  };
140
- const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
142
+ var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
141
143
  expect(RESULT).toEqual({
142
144
  nested: {
143
145
  sourceField: 'VALUE'
@@ -149,8 +151,8 @@ describe('utils', () => {
149
151
  secondPageField: 'Bob'
150
152
  });
151
153
  });
152
- it('should ignore sources within pages that reference a top-level component', () => {
153
- const PAGES = [{
154
+ it('should ignore sources within pages that reference a top-level component', function () {
155
+ var PAGES = [{
154
156
  components: [{
155
157
  fieldId: 'pageField',
156
158
  use: 'testField',
@@ -166,20 +168,20 @@ describe('utils', () => {
166
168
  }
167
169
  }]
168
170
  }];
169
- const COMPONENTS = [{
171
+ var COMPONENTS = [{
170
172
  fieldId: 'testField',
171
173
  source: {
172
174
  field: 'nested.sourceField'
173
175
  }
174
176
  }];
175
- const DATA = {
177
+ var DATA = {
176
178
  nested: {
177
179
  sourceField: 'VALUE'
178
180
  },
179
181
  pageSourceField: 'PAGE 1',
180
182
  secondPageSourceField: 'Bob'
181
183
  };
182
- const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
184
+ var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
183
185
  expect(RESULT).toEqual({
184
186
  nested: {
185
187
  sourceField: 'VALUE'
@@ -190,24 +192,21 @@ describe('utils', () => {
190
192
  secondPageField: 'Bob'
191
193
  });
192
194
  });
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);
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);
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({
203
- ..._userProfileData.default,
202
+ expect(RESULT).toEqual(_objectSpread(_objectSpread({}, _userProfileData.default), {}, {
204
203
  firstName: _userProfileData.default.currentUser.givenName,
205
204
  surname: _userProfileData.default.currentUser.familyName,
206
205
  team: _userProfileData.default.userDetails.defaultteam,
207
206
  staffGradeId: _userProfileData.default.userDetails.gradeid,
208
207
  linemanagerEmail: _userProfileData.default.userDetails.linemanagerEmail,
209
208
  delegateEmails: _userProfileData.default.userDetails.delegateEmails
210
- });
209
+ }));
211
210
  });
212
211
  });
213
212
  });
@@ -6,20 +6,28 @@ 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
- /* 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) => {
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) {
23
31
  if (component) {
24
32
  var _component$data, _component$data2;
25
33
  if (component.type === _models.ComponentTypes.CONTAINER) {
@@ -32,13 +40,11 @@ const setupRefDataUrlForComponent = (component, data) => {
32
40
  return component;
33
41
  }
34
42
  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)) {
35
- return {
36
- ...component,
37
- data: {
38
- ...component.data,
43
+ return _objectSpread(_objectSpread({}, component), {}, {
44
+ data: _objectSpread(_objectSpread({}, component.data), {}, {
39
45
  url: _copReactComponents.Utils.interpolateString(component.data.url, data)
40
- }
41
- };
46
+ })
47
+ });
42
48
  }
43
49
  }
44
50
  return component;