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

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