@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
@@ -2,26 +2,22 @@
2
2
 
3
3
  var _getCYARowsForCollectionPage = _interopRequireDefault(require("./getCYARowsForCollectionPage"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
11
- describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
12
- var TEXT_COMP = {
5
+ // Local imports
6
+
7
+ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', () => {
8
+ const TEXT_COMP = {
13
9
  id: 'testText',
14
10
  fieldId: 'testText',
15
11
  label: 'Test text',
16
12
  type: 'text'
17
13
  };
18
- var DATE_COMP = {
14
+ const DATE_COMP = {
19
15
  id: 'testDate',
20
16
  fieldId: 'testDate',
21
17
  label: 'Test date',
22
18
  type: 'date'
23
19
  };
24
- var PAGES = [{
20
+ const PAGES = [{
25
21
  id: 'page1',
26
22
  collection: {
27
23
  name: 'collection'
@@ -34,7 +30,7 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
34
30
  },
35
31
  components: [DATE_COMP]
36
32
  }];
37
- var MASTER_PAGE = {
33
+ const MASTER_PAGE = {
38
34
  id: 'page1',
39
35
  collection: {
40
36
  name: 'collection',
@@ -55,73 +51,80 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
55
51
  },
56
52
  childPages: PAGES
57
53
  };
58
- it('should return no rows for a collection if it does not exist in formData', function () {
59
- var FORM_DATA = {};
60
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
54
+ it('should return no rows for a collection if it does not exist in formData', () => {
55
+ const FORM_DATA = {};
56
+ const PAGE = {
57
+ ...MASTER_PAGE,
61
58
  formData: FORM_DATA
62
- });
63
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
59
+ };
60
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
64
61
  expect(ROWS.length).toEqual(0);
65
62
  });
66
- it('should return no rows for a collection if it has no entries', function () {
67
- var FORM_DATA = {
63
+ it('should return no rows for a collection if it has no entries', () => {
64
+ const FORM_DATA = {
68
65
  collection: []
69
66
  };
70
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
67
+ const PAGE = {
68
+ ...MASTER_PAGE,
71
69
  formData: FORM_DATA
72
- });
73
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
70
+ };
71
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
74
72
  expect(ROWS.length).toEqual(0);
75
73
  });
76
- it('should accept the hideNameFromCYA collection flag', function () {
77
- var FORM_DATA = {
74
+ it('should accept the hideNameFromCYA collection flag', () => {
75
+ const FORM_DATA = {
78
76
  collection: [{
79
77
  testText: 'hello'
80
78
  }]
81
79
  };
82
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
80
+ const PAGE = {
81
+ ...MASTER_PAGE,
83
82
  formData: FORM_DATA,
84
- collection: _objectSpread(_objectSpread({}, MASTER_PAGE.collection), {}, {
83
+ collection: {
84
+ ...MASTER_PAGE.collection,
85
85
  hideNameFromCYA: true
86
- })
87
- });
88
- var TITLE_FIELD_ID = "".concat(PAGE.collection.name, "Title");
89
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
86
+ }
87
+ };
88
+ const TITLE_FIELD_ID = "".concat(PAGE.collection.name, "Title");
89
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
90
90
  expect(ROWS[0].fieldId).not.toEqual(TITLE_FIELD_ID);
91
91
  });
92
- it('should format titles correctly when collection.labels.item is specified', function () {
93
- var FORM_DATA = {
92
+ it('should format titles correctly when collection.labels.item is specified', () => {
93
+ const FORM_DATA = {
94
94
  collection: [{
95
95
  id: '01',
96
96
  testText: 'value'
97
97
  }]
98
98
  };
99
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
99
+ const PAGE = {
100
+ ...MASTER_PAGE,
100
101
  formData: FORM_DATA
101
- });
102
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
102
+ };
103
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
103
104
  expect(ROWS.length).toEqual(7); // Collection title, item title, action rows & component rows
104
105
  expect(ROWS[1].key).toEqual('Collection entry 1');
105
106
  });
106
- it('should provide default titles if collection.labels.item is not specified', function () {
107
- var FORM_DATA = {
107
+ it('should provide default titles if collection.labels.item is not specified', () => {
108
+ const FORM_DATA = {
108
109
  collection: [{
109
110
  id: '01',
110
111
  testText: 'value'
111
112
  }]
112
113
  };
113
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
114
- collection: _objectSpread(_objectSpread({}, MASTER_PAGE.collection), {}, {
114
+ const PAGE = {
115
+ ...MASTER_PAGE,
116
+ collection: {
117
+ ...MASTER_PAGE.collection,
115
118
  labels: {}
116
- }),
119
+ },
117
120
  formData: FORM_DATA
118
- });
119
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
121
+ };
122
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
120
123
  expect(ROWS.length).toEqual(7); // Collection title, item title, action rows & component rows
121
124
  expect(ROWS[1].key).toEqual('Item 1');
122
125
  });
123
- it('should return correctly formatted rows for mutliple entries', function () {
124
- var FORM_DATA = {
126
+ it('should return correctly formatted rows for mutliple entries', () => {
127
+ const FORM_DATA = {
125
128
  collection: [{
126
129
  id: '01',
127
130
  testText: 'value'
@@ -130,10 +133,11 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
130
133
  testText: 'value'
131
134
  }]
132
135
  };
133
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
136
+ const PAGE = {
137
+ ...MASTER_PAGE,
134
138
  formData: FORM_DATA
135
- });
136
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
139
+ };
140
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
137
141
  expect(ROWS.length).toEqual(13); // Title row + component row for each item
138
142
  expect(ROWS[0]).toMatchObject({
139
143
  type: 'heading',
@@ -170,20 +174,22 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
170
174
  key: 'Test date'
171
175
  });
172
176
  });
173
- it('should use values from top-level formData if they don\'t exist in the item', function () {
174
- var FORM_DATA = {
177
+ it('should use values from top-level formData if they don\'t exist in the item', () => {
178
+ const FORM_DATA = {
175
179
  testText: 'value',
176
180
  collection: [{
177
181
  id: '01'
178
182
  }]
179
183
  };
180
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
181
- childPages: [_objectSpread(_objectSpread({}, PAGES[0]), {}, {
184
+ const PAGE = {
185
+ ...MASTER_PAGE,
186
+ childPages: [{
187
+ ...PAGES[0],
182
188
  formData: FORM_DATA
183
- }), PAGES[1]],
189
+ }, PAGES[1]],
184
190
  formData: FORM_DATA
185
- });
186
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
191
+ };
192
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
187
193
  expect(ROWS.length).toEqual(7); // Title row + component row for each item
188
194
  expect(ROWS[0]).toMatchObject({
189
195
  type: 'heading',
@@ -205,8 +211,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
205
211
  key: 'Test date'
206
212
  });
207
213
  });
208
- it('should return correctly formatted rows for only the active entry when page.collection.onlyShowActiveEntryOnCYA is defined', function () {
209
- var FORM_DATA = {
214
+ it('should return correctly formatted rows for only the active entry when page.collection.onlyShowActiveEntryOnCYA is defined', () => {
215
+ const FORM_DATA = {
210
216
  collectionActiveId: '02',
211
217
  collection: [{
212
218
  id: '01',
@@ -216,13 +222,15 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
216
222
  testText: 'value'
217
223
  }]
218
224
  };
219
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
220
- collection: _objectSpread(_objectSpread({}, MASTER_PAGE.collection), {}, {
225
+ const PAGE = {
226
+ ...MASTER_PAGE,
227
+ collection: {
228
+ ...MASTER_PAGE.collection,
221
229
  onlyShowActiveEntryOnCYA: true
222
- }),
230
+ },
223
231
  formData: FORM_DATA
224
- });
225
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
232
+ };
233
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
226
234
  expect(ROWS.length).toEqual(7); // Title row + component row for only the active item.
227
235
  expect(ROWS[0]).toMatchObject({
228
236
  type: 'heading',
@@ -244,8 +252,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
244
252
  key: 'Test date'
245
253
  });
246
254
  });
247
- it('should return correctly formatted rows for only the active entry when page.collection.onlyShowActiveEntryOnCYA is an array', function () {
248
- var FORM_DATA = {
255
+ it('should return correctly formatted rows for only the active entry when page.collection.onlyShowActiveEntryOnCYA is an array', () => {
256
+ const FORM_DATA = {
249
257
  text: 'blue',
250
258
  collectionActiveId: '02',
251
259
  collection: [{
@@ -256,17 +264,19 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
256
264
  testText: 'value'
257
265
  }]
258
266
  };
259
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
260
- collection: _objectSpread(_objectSpread({}, MASTER_PAGE.collection), {}, {
267
+ const PAGE = {
268
+ ...MASTER_PAGE,
269
+ collection: {
270
+ ...MASTER_PAGE.collection,
261
271
  onlyShowActiveEntryOnCYA: [{
262
272
  field: 'text',
263
273
  op: 'eq',
264
274
  value: 'blue'
265
275
  }]
266
- }),
276
+ },
267
277
  formData: FORM_DATA
268
- });
269
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
278
+ };
279
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
270
280
  expect(ROWS.length).toEqual(7); // Title row + component row for only the active item.
271
281
  expect(ROWS[0]).toMatchObject({
272
282
  type: 'heading',
@@ -288,8 +298,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
288
298
  key: 'Test date'
289
299
  });
290
300
  });
291
- it('should exclude components that should not be shown', function () {
292
- var FD = {
301
+ it('should exclude components that should not be shown', () => {
302
+ const FD = {
293
303
  collection: [{
294
304
  id: '01',
295
305
  otherField: 'yes',
@@ -300,12 +310,14 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
300
310
  testText: 'testing'
301
311
  }]
302
312
  };
303
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
313
+ const PAGE = {
314
+ ...MASTER_PAGE,
304
315
  collection: {
305
316
  name: 'collection'
306
317
  },
307
318
  formData: FD,
308
- childPages: [_objectSpread(_objectSpread({}, PAGES[0]), {}, {
319
+ childPages: [{
320
+ ...PAGES[0],
309
321
  components: [{
310
322
  id: 'testText',
311
323
  fieldId: 'testText',
@@ -317,9 +329,9 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
317
329
  value: "yes"
318
330
  }
319
331
  }]
320
- })]
321
- });
322
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FD);
332
+ }]
333
+ };
334
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FD);
323
335
  expect(ROWS.length).toEqual(4);
324
336
  expect(ROWS[0]).toMatchObject({
325
337
  type: 'heading',
@@ -338,28 +350,30 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
338
350
  key: 'Test text'
339
351
  });
340
352
  });
341
- it('should exclude pages that should not be shown', function () {
342
- var FD = {
353
+ it('should exclude pages that should not be shown', () => {
354
+ const FD = {
343
355
  collection: [{
344
356
  id: '01',
345
357
  otherField: 'yes',
346
358
  testText: 'testing'
347
359
  }]
348
360
  };
349
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
361
+ const PAGE = {
362
+ ...MASTER_PAGE,
350
363
  collection: {
351
364
  name: 'collection'
352
365
  },
353
366
  formData: FD,
354
- childPages: [_objectSpread(_objectSpread({}, PAGES[0]), {}, {
367
+ childPages: [{
368
+ ...PAGES[0],
355
369
  show_when: {
356
370
  field: "otherField",
357
371
  op: "!=",
358
372
  value: "yes"
359
373
  }
360
- }), PAGES[1]]
361
- });
362
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FD);
374
+ }, PAGES[1]]
375
+ };
376
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FD);
363
377
  expect(ROWS.length).toEqual(3); // Missing the page with the text component on.
364
378
  expect(ROWS[0]).toMatchObject({
365
379
  type: 'heading',
@@ -374,25 +388,28 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
374
388
  key: 'Test date'
375
389
  });
376
390
  });
377
- it('should include rows for custom headings', function () {
378
- var FORM_DATA = {
391
+ it('should include rows for custom headings', () => {
392
+ const FORM_DATA = {
379
393
  collection: [{
380
394
  id: '01',
381
395
  testText: 'value'
382
396
  }]
383
397
  };
384
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
398
+ const PAGE = {
399
+ ...MASTER_PAGE,
385
400
  formData: FORM_DATA,
386
- childPages: [_objectSpread(_objectSpread({}, PAGES[0]), {}, {
387
- collection: _objectSpread(_objectSpread({}, PAGES[0].collection), {}, {
401
+ childPages: [{
402
+ ...PAGES[0],
403
+ collection: {
404
+ ...PAGES[0].collection,
388
405
  heading: {
389
406
  size: 'm',
390
407
  text: 'Custom page heading'
391
408
  }
392
- })
393
- })]
394
- });
395
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
409
+ }
410
+ }]
411
+ };
412
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
396
413
  expect(ROWS.length).toEqual(7);
397
414
  expect(ROWS[0]).toMatchObject({
398
415
  type: 'heading',
@@ -415,99 +432,106 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
415
432
  key: 'Test text'
416
433
  });
417
434
  });
418
- it('should default to a title size of small if one is not specified', function () {
419
- var FORM_DATA = {
435
+ it('should default to a title size of small if one is not specified', () => {
436
+ const FORM_DATA = {
420
437
  collection: [{
421
438
  id: '01',
422
439
  testText: 'value'
423
440
  }]
424
441
  };
425
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
442
+ const PAGE = {
443
+ ...MASTER_PAGE,
426
444
  formData: FORM_DATA,
427
- childPages: [_objectSpread(_objectSpread({}, PAGES[0]), {}, {
428
- collection: _objectSpread(_objectSpread({}, PAGES[0].collection), {}, {
445
+ childPages: [{
446
+ ...PAGES[0],
447
+ collection: {
448
+ ...PAGES[0].collection,
429
449
  heading: {
430
450
  text: 'Custom page heading'
431
451
  }
432
- })
433
- })]
434
- });
435
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
452
+ }
453
+ }]
454
+ };
455
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
436
456
  expect(ROWS[5]).toMatchObject({
437
457
  type: 'heading',
438
458
  key: 'Custom page heading',
439
459
  size: 's'
440
460
  });
441
461
  });
442
- it('should position actions under the title if actionPosition flag is not specified', function () {
443
- var FORM_DATA = {
462
+ it('should position actions under the title if actionPosition flag is not specified', () => {
463
+ const FORM_DATA = {
444
464
  collection: [{
445
465
  id: '01',
446
466
  testText: 'value'
447
467
  }]
448
468
  };
449
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
469
+ const PAGE = {
470
+ ...MASTER_PAGE,
450
471
  formData: FORM_DATA
451
- });
452
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
472
+ };
473
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
453
474
  expect(ROWS[2].action.label).toEqual('Change');
454
475
  expect(ROWS[3].action.label).toEqual('custom remove label');
455
476
  expect(ROWS[4].action.label).toEqual('custom change label');
456
477
  });
457
- it('should position actions under the title if actionPosition flag is top', function () {
458
- var FORM_DATA = {
478
+ it('should position actions under the title if actionPosition flag is top', () => {
479
+ const FORM_DATA = {
459
480
  collection: [{
460
481
  id: '01',
461
482
  testText: 'value'
462
483
  }]
463
484
  };
464
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
465
- collection: _objectSpread(_objectSpread({}, MASTER_PAGE.collection), {}, {
485
+ const PAGE = {
486
+ ...MASTER_PAGE,
487
+ collection: {
488
+ ...MASTER_PAGE.collection,
466
489
  actionPosition: 'top'
467
- }),
490
+ },
468
491
  formData: FORM_DATA
469
- });
470
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
492
+ };
493
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
471
494
  expect(ROWS[2].action.label).toEqual('Change');
472
495
  expect(ROWS[3].action.label).toEqual('custom remove label');
473
496
  expect(ROWS[4].action.label).toEqual('custom change label');
474
497
  });
475
- it('should position actions under all other rows if actionPosition flag is bottom', function () {
476
- var FORM_DATA = {
498
+ it('should position actions under all other rows if actionPosition flag is bottom', () => {
499
+ const FORM_DATA = {
477
500
  collection: [{
478
501
  id: '01',
479
502
  testText: 'value'
480
503
  }]
481
504
  };
482
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
483
- collection: _objectSpread(_objectSpread({}, MASTER_PAGE.collection), {}, {
505
+ const PAGE = {
506
+ ...MASTER_PAGE,
507
+ collection: {
508
+ ...MASTER_PAGE.collection,
484
509
  actionPosition: 'bottom'
485
- }),
510
+ },
486
511
  formData: FORM_DATA
487
- });
488
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
512
+ };
513
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
489
514
  expect(ROWS[ROWS.length - 3].action.label).toEqual('Change');
490
515
  expect(ROWS[ROWS.length - 2].action.label).toEqual('custom remove label');
491
516
  expect(ROWS[ROWS.length - 1].action.label).toEqual('custom change label');
492
517
  });
493
- it('should ignore the result of the override function if it returns nullish', function () {
494
- var FORM_DATA = {
518
+ it('should ignore the result of the override function if it returns nullish', () => {
519
+ const FORM_DATA = {
495
520
  collection: [{
496
521
  id: '01',
497
522
  testText: 'value'
498
523
  }]
499
524
  };
500
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
525
+ const PAGE = {
526
+ ...MASTER_PAGE,
501
527
  formData: FORM_DATA
502
- });
503
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, function () {
504
- return null;
505
- }, FORM_DATA);
528
+ };
529
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, () => null, FORM_DATA);
506
530
  expect(ROWS.length).toEqual(7); // Collection title, item title, action rows & component rows
507
531
  expect(ROWS[5].key).toEqual("Test text");
508
532
  });
509
- it('should use the rows produced by the override function if provided', function () {
510
- var FORM_DATA = {
533
+ it('should use the rows produced by the override function if provided', () => {
534
+ const FORM_DATA = {
511
535
  collection: [{
512
536
  id: '01',
513
537
  testText: 'value'
@@ -515,22 +539,23 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
515
539
  };
516
540
 
517
541
  // eslint-disable-next-line arrow-body-style
518
- var OVERRIDE = function OVERRIDE(page, comp) {
542
+ const OVERRIDE = (page, comp) => {
519
543
  // This will be called for each component on the page,
520
544
  // returning a custom row object.
521
545
  return {
522
546
  key: "CustomRowFor".concat(comp.label)
523
547
  };
524
548
  };
525
- var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
549
+ const PAGE = {
550
+ ...MASTER_PAGE,
526
551
  formData: FORM_DATA
527
- });
528
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, OVERRIDE, FORM_DATA);
552
+ };
553
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, OVERRIDE, FORM_DATA);
529
554
  expect(ROWS.length).toEqual(7); // Collection title, item title, action rows & component rows
530
555
  expect(ROWS[5].key).toEqual("CustomRowFor".concat(TEXT_COMP.label));
531
556
  });
532
- it('should create rows for nested collections correctly', function () {
533
- var CUSTOM_FORM_DATA = {
557
+ it('should create rows for nested collections correctly', () => {
558
+ const CUSTOM_FORM_DATA = {
534
559
  parentActiveId: '001',
535
560
  childActiveId: '001',
536
561
  parent: [{
@@ -542,7 +567,7 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
542
567
  }]
543
568
  }]
544
569
  };
545
- var CHILD_MASTER_PAGE = {
570
+ const CHILD_MASTER_PAGE = {
546
571
  id: 'childPage',
547
572
  collection: {
548
573
  name: 'parent.child',
@@ -566,7 +591,7 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
566
591
  components: [TEXT_COMP]
567
592
  }]
568
593
  };
569
- var PARENT_MASTER_PAGE = {
594
+ const PARENT_MASTER_PAGE = {
570
595
  id: 'parentPage',
571
596
  collection: {
572
597
  name: 'parent',
@@ -580,10 +605,11 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
580
605
  components: [TEXT_COMP]
581
606
  }, CHILD_MASTER_PAGE]
582
607
  };
583
- var PAGE = _objectSpread(_objectSpread({}, PARENT_MASTER_PAGE), {}, {
608
+ const PAGE = {
609
+ ...PARENT_MASTER_PAGE,
584
610
  formData: CUSTOM_FORM_DATA
585
- });
586
- var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, CUSTOM_FORM_DATA);
611
+ };
612
+ const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, CUSTOM_FORM_DATA);
587
613
  expect(ROWS.length).toEqual(8);
588
614
  expect(ROWS[0]).toMatchObject({
589
615
  type: 'heading',
@@ -10,36 +10,41 @@ var _getCYARow = _interopRequireDefault(require("./getCYARow"));
10
10
  var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
11
11
  var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
19
- var getCYARowsForContainer = function getCYARowsForContainer(page, container, formData, onAction, fnOverride) {
20
- if ((0, _showComponentCYA.default)(container, _objectSpread(_objectSpread({}, page.formData), formData))) {
21
- var allComponents = (0, _elevateNestedComponents.default)(container.components, formData);
22
- return allComponents.filter(function (c) {
23
- return (0, _showComponentCYA.default)(c, _objectSpread(_objectSpread({}, page.formData), formData));
24
- }).flatMap(function (component) {
25
- var fd = formData ? formData[component.fieldId] : undefined;
13
+ // Local imports
14
+
15
+ const getCYARowsForContainer = (page, container, formData, onAction, fnOverride) => {
16
+ if ((0, _showComponentCYA.default)(container, {
17
+ ...page.formData,
18
+ ...formData
19
+ })) {
20
+ const allComponents = (0, _elevateNestedComponents.default)(container.components, formData);
21
+ return allComponents.filter(c => (0, _showComponentCYA.default)(c, {
22
+ ...page.formData,
23
+ ...formData
24
+ })).flatMap(component => {
25
+ const fd = formData ? formData[component.fieldId] : undefined;
26
26
  if (typeof fnOverride === 'function') {
27
- var overrideRows = fnOverride(_objectSpread(_objectSpread({}, page), {}, {
28
- formData: formData
29
- }), component, onAction);
27
+ const overrideRows = fnOverride({
28
+ ...page,
29
+ formData
30
+ }, component, onAction);
30
31
  if (overrideRows) {
31
32
  return overrideRows;
32
33
  }
33
34
  }
34
35
  if (component.type === _models.ComponentTypes.CONTAINER) {
35
- return getCYARowsForContainer(page, component, _objectSpread(_objectSpread({}, fd), formData), onAction, fnOverride);
36
+ return getCYARowsForContainer(page, component, {
37
+ ...fd,
38
+ ...formData
39
+ }, onAction, fnOverride);
36
40
  }
37
41
  if (component.type === _models.ComponentTypes.COLLECTION) {
38
42
  return (0, _getCYARowsForCollection.default)(page, component, fd, onAction, fnOverride);
39
43
  }
40
- return (0, _getCYARow.default)(_objectSpread(_objectSpread({}, page), {}, {
41
- formData: formData
42
- }), component, onAction);
44
+ return (0, _getCYARow.default)({
45
+ ...page,
46
+ formData
47
+ }, component, onAction);
43
48
  });
44
49
  }
45
50
  return null;