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

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 (382) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +143 -105
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +942 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +131 -102
  10. package/dist/components/CollectionSummary/CollectionSummary.scss +5 -0
  11. package/dist/components/CollectionSummary/CollectionSummary.test.js +233 -173
  12. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  13. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  14. package/dist/components/CollectionSummary/RenderListView.js +57 -48
  15. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  16. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  17. package/dist/components/CollectionSummary/SummaryCard.js +156 -112
  18. package/dist/components/CollectionSummary/SummaryCard.scss +6 -0
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +1023 -934
  20. package/dist/components/CollectionSummary/SummaryCardDetails.js +138 -94
  21. package/dist/components/CollectionSummary/SummaryCardDetails.scss +15 -4
  22. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  23. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  25. package/dist/components/FormComponent/Collection.js +108 -74
  26. package/dist/components/FormComponent/Collection.test.js +1081 -909
  27. package/dist/components/FormComponent/Container.js +39 -40
  28. package/dist/components/FormComponent/Container.test.js +412 -312
  29. package/dist/components/FormComponent/FormComponent.js +73 -70
  30. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  31. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  33. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  34. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  35. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  37. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  38. package/dist/components/FormComponent/helpers/index.js +4 -4
  39. package/dist/components/FormPage/FormPage.js +93 -66
  40. package/dist/components/FormPage/FormPage.test.js +163 -127
  41. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  42. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  43. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  44. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  45. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  46. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  47. package/dist/components/FormRenderer/handlers/index.js +1 -1
  48. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  49. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  50. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  52. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  54. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +39 -22
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +74 -16
  56. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  57. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  58. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  59. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  60. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  61. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  62. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  63. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  66. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  68. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  70. package/dist/components/FormRenderer/helpers/index.js +1 -1
  71. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  72. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  73. package/dist/components/FormRenderer/onPageAction.js +44 -44
  74. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  75. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  76. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  77. package/dist/components/PageActions/ActionButton.js +15 -12
  78. package/dist/components/PageActions/ActionButton.test.js +78 -56
  79. package/dist/components/PageActions/PageActions.js +10 -10
  80. package/dist/components/PageActions/PageActions.test.js +115 -86
  81. package/dist/components/SummaryList/GroupAction.js +17 -9
  82. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  83. package/dist/components/SummaryList/RowAction.js +16 -11
  84. package/dist/components/SummaryList/RowAction.test.js +33 -37
  85. package/dist/components/SummaryList/SummaryList.js +34 -21
  86. package/dist/components/SummaryList/SummaryList.scss +15 -0
  87. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  88. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  89. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  90. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  91. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  92. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  93. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  97. package/dist/components/SummaryList/helpers/index.js +1 -1
  98. package/dist/components/TaskList/Task.js +29 -19
  99. package/dist/components/TaskList/Task.test.js +76 -83
  100. package/dist/components/TaskList/TaskList.js +92 -49
  101. package/dist/components/TaskList/TaskList.scss +24 -0
  102. package/dist/components/TaskList/TaskList.test.js +255 -113
  103. package/dist/components/TaskList/TaskState.js +5 -7
  104. package/dist/components/TaskList/TaskState.test.js +45 -52
  105. package/dist/components/index.js +7 -7
  106. package/dist/context/HooksContext/HooksContext.js +80 -57
  107. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  108. package/dist/context/HooksContext/index.js +4 -3
  109. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  110. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  111. package/dist/context/ValidationContext/index.js +4 -3
  112. package/dist/context/index.js +2 -2
  113. package/dist/hooks/index.js +10 -9
  114. package/dist/hooks/useAxios.js +40 -14
  115. package/dist/hooks/useGetRequest.js +97 -61
  116. package/dist/hooks/useHooks.js +3 -1
  117. package/dist/hooks/useRefData.js +39 -26
  118. package/dist/hooks/useValidation.js +3 -1
  119. package/dist/index.js +14 -13
  120. package/dist/json/actions.json +17 -0
  121. package/dist/json/actionsNoSave.json +17 -0
  122. package/dist/models/CollectionLabels.js +1 -1
  123. package/dist/models/ComponentTypes.js +25 -25
  124. package/dist/models/EventTypes.js +4 -4
  125. package/dist/models/FormPages.js +4 -4
  126. package/dist/models/FormTypes.js +8 -8
  127. package/dist/models/HubFormats.js +3 -3
  128. package/dist/models/PageAction.js +38 -44
  129. package/dist/models/TaskStates.js +28 -29
  130. package/dist/models/index.js +9 -9
  131. package/dist/setupTests.js +31 -30
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +113 -89
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +320 -162
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  152. package/dist/utils/CheckYourAnswers/index.js +1 -1
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  171. package/dist/utils/CollectionPage/index.js +1 -1
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  178. package/dist/utils/Component/addShowWhen.js +8 -4
  179. package/dist/utils/Component/addShowWhen.test.js +37 -37
  180. package/dist/utils/Component/applyToComponentTree.js +18 -18
  181. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  182. package/dist/utils/Component/cleanAttributes.js +13 -10
  183. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  184. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  185. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  186. package/dist/utils/Component/getComponent.js +94 -88
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  209. package/dist/utils/Component/getDefaultValue.js +8 -6
  210. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  213. package/dist/utils/Component/index.js +1 -1
  214. package/dist/utils/Component/isEditable.js +4 -2
  215. package/dist/utils/Component/isEditable.test.js +15 -14
  216. package/dist/utils/Component/optionIsSelected.js +6 -1
  217. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  218. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  220. package/dist/utils/Component/showComponent.js +1 -1
  221. package/dist/utils/Component/showComponent.test.js +28 -28
  222. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  223. package/dist/utils/Condition/index.js +1 -1
  224. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  225. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  226. package/dist/utils/Condition/meetsCondition.js +25 -16
  227. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  228. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  229. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  230. package/dist/utils/Condition/setupConditions.js +18 -13
  231. package/dist/utils/Condition/setupConditions.test.js +7 -7
  232. package/dist/utils/Container/getEditableComponents.js +5 -3
  233. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  234. package/dist/utils/Container/index.js +1 -1
  235. package/dist/utils/Container/setupNesting.js +20 -16
  236. package/dist/utils/Container/setupNesting.test.js +30 -27
  237. package/dist/utils/Container/showContainer.js +7 -3
  238. package/dist/utils/Container/showContainer.test.js +30 -30
  239. package/dist/utils/Data/applyFormula.js +48 -38
  240. package/dist/utils/Data/applyFormula.test.js +20 -20
  241. package/dist/utils/Data/deleteValues.js +22 -0
  242. package/dist/utils/Data/deleteValues.test.js +57 -0
  243. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  244. package/dist/utils/Data/getAutocompleteSource.test.js +100 -85
  245. package/dist/utils/Data/getDataPath.js +28 -18
  246. package/dist/utils/Data/getDataPath.test.js +12 -12
  247. package/dist/utils/Data/getOptions.js +31 -24
  248. package/dist/utils/Data/getOptions.test.js +53 -35
  249. package/dist/utils/Data/getSourceData.js +19 -6
  250. package/dist/utils/Data/getSourceData.test.js +80 -84
  251. package/dist/utils/Data/index.js +3 -1
  252. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  254. package/dist/utils/Data/refDataToOptions.js +13 -10
  255. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  256. package/dist/utils/Data/setDataItem.js +8 -7
  257. package/dist/utils/Data/setDataItem.test.js +37 -37
  258. package/dist/utils/Data/setupFormData.js +21 -13
  259. package/dist/utils/Data/setupFormData.test.js +50 -51
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  262. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  264. package/dist/utils/FormPage/getConditionalText.js +3 -3
  265. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  266. package/dist/utils/FormPage/getFormPage.js +16 -15
  267. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  268. package/dist/utils/FormPage/getFormPages.js +12 -7
  269. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  270. package/dist/utils/FormPage/getPageActions.js +15 -9
  271. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  272. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  274. package/dist/utils/FormPage/index.js +4 -2
  275. package/dist/utils/FormPage/showFormPage.js +7 -3
  276. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  277. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  279. package/dist/utils/FormPage/useComponent.js +28 -21
  280. package/dist/utils/FormPage/useComponent.test.js +79 -77
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +18 -18
  283. package/dist/utils/Format/formatDataForComponent.js +6 -5
  284. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  285. package/dist/utils/Format/formatDataForForm.js +8 -6
  286. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  287. package/dist/utils/Format/formatDataForPage.js +5 -4
  288. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  289. package/dist/utils/Format/index.js +1 -1
  290. package/dist/utils/Hub/getFormHub.js +1 -1
  291. package/dist/utils/Hub/getFormHub.test.js +31 -28
  292. package/dist/utils/Hub/index.js +1 -1
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  295. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  296. package/dist/utils/Meta/documents/index.js +1 -1
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  299. package/dist/utils/Meta/index.js +1 -1
  300. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  302. package/dist/utils/Operate/deleteValueInFormData.js +26 -0
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +60 -0
  304. package/dist/utils/Operate/getFirstOf.js +5 -5
  305. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  308. package/dist/utils/Operate/getLength.js +50 -0
  309. package/dist/utils/Operate/getLength.test.js +89 -0
  310. package/dist/utils/Operate/index.js +1 -1
  311. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  312. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  313. package/dist/utils/Operate/runPageOperations.js +11 -7
  314. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  315. package/dist/utils/Operate/setValueInFormData.js +2 -2
  316. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  317. package/dist/utils/Operate/shouldRun.js +6 -6
  318. package/dist/utils/Operate/shouldRun.test.js +27 -21
  319. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  320. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  321. package/dist/utils/Validate/additional/index.js +10 -7
  322. package/dist/utils/Validate/additional/index.test.js +78 -12
  323. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  325. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  326. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  327. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  328. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  329. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  330. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  331. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  333. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  334. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  335. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  336. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  337. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  338. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  339. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  340. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  341. package/dist/utils/Validate/additional/mustBeOneOf.js +21 -0
  342. package/dist/utils/Validate/additional/mustBeOneOf.test.js +36 -0
  343. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  345. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  346. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  347. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  348. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  349. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  350. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  351. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  352. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  353. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  354. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  355. package/dist/utils/Validate/additional/utils.js +22 -9
  356. package/dist/utils/Validate/index.js +1 -1
  357. package/dist/utils/Validate/validateCollection.js +25 -19
  358. package/dist/utils/Validate/validateCollection.test.js +66 -74
  359. package/dist/utils/Validate/validateComponent.js +21 -18
  360. package/dist/utils/Validate/validateComponent.test.js +176 -166
  361. package/dist/utils/Validate/validateContainer.js +20 -15
  362. package/dist/utils/Validate/validateContainer.test.js +52 -58
  363. package/dist/utils/Validate/validateDate.js +21 -15
  364. package/dist/utils/Validate/validateDate.test.js +32 -31
  365. package/dist/utils/Validate/validateEmail.js +8 -6
  366. package/dist/utils/Validate/validateEmail.test.js +25 -25
  367. package/dist/utils/Validate/validateMultifile.js +7 -5
  368. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  369. package/dist/utils/Validate/validatePage.js +22 -19
  370. package/dist/utils/Validate/validatePage.test.js +203 -215
  371. package/dist/utils/Validate/validateRegex.js +5 -3
  372. package/dist/utils/Validate/validateRegex.test.js +14 -14
  373. package/dist/utils/Validate/validateRequired.js +6 -4
  374. package/dist/utils/Validate/validateRequired.test.js +18 -18
  375. package/dist/utils/Validate/validateTextArea.js +6 -4
  376. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  377. package/dist/utils/Validate/validateTime.js +26 -11
  378. package/dist/utils/Validate/validateTime.test.js +62 -16
  379. package/dist/utils/index.js +9 -7
  380. package/package.json +2 -2
  381. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  382. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -10,41 +10,36 @@ 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
- // 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;
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;
26
26
  if (typeof fnOverride === 'function') {
27
- const overrideRows = fnOverride({
28
- ...page,
29
- formData
30
- }, component, onAction);
27
+ var overrideRows = fnOverride(_objectSpread(_objectSpread({}, page), {}, {
28
+ formData: formData
29
+ }), component, onAction);
31
30
  if (overrideRows) {
32
31
  return overrideRows;
33
32
  }
34
33
  }
35
34
  if (component.type === _models.ComponentTypes.CONTAINER) {
36
- return getCYARowsForContainer(page, component, {
37
- ...fd,
38
- ...formData
39
- }, onAction, fnOverride);
35
+ return getCYARowsForContainer(page, component, _objectSpread(_objectSpread({}, fd), formData), onAction, fnOverride);
40
36
  }
41
37
  if (component.type === _models.ComponentTypes.COLLECTION) {
42
38
  return (0, _getCYARowsForCollection.default)(page, component, fd, onAction, fnOverride);
43
39
  }
44
- return (0, _getCYARow.default)({
45
- ...page,
46
- formData
47
- }, component, onAction);
40
+ return (0, _getCYARow.default)(_objectSpread(_objectSpread({}, page), {}, {
41
+ formData: formData
42
+ }), component, onAction);
48
43
  });
49
44
  }
50
45
  return null;
@@ -4,30 +4,32 @@ var _models = require("../../models");
4
4
  var _setupTests = require("../../setupTests");
5
5
  var _getCYARowsForContainer = _interopRequireDefault(require("./getCYARowsForContainer"));
6
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
- // Local imports
8
-
9
- describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
10
- const OUTER_ID = 'a';
11
- const INNER_ID = 'b';
12
- it('should get an appropriate row for a container with a single readonly text component', () => {
13
- const FORM_DATA = {
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 _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.getCYARowsForContainer', function () {
12
+ var OUTER_ID = 'a';
13
+ var INNER_ID = 'b';
14
+ it('should get an appropriate row for a container with a single readonly text component', function () {
15
+ var FORM_DATA = {
14
16
  container: {
15
17
  a: 'Bravo'
16
18
  }
17
19
  };
18
- const PAGE = {
20
+ var PAGE = {
19
21
  id: 'page',
20
22
  formData: FORM_DATA,
21
23
  cya_link: {}
22
24
  };
23
- const COMPONENT = {
25
+ var COMPONENT = {
24
26
  type: 'text',
25
27
  readonly: true,
26
28
  id: 'a',
27
29
  fieldId: 'a',
28
30
  label: 'Alpha'
29
31
  };
30
- const CONTAINER = {
32
+ var CONTAINER = {
31
33
  id: 'container',
32
34
  fieldId: 'container',
33
35
  type: _models.ComponentTypes.CONTAINER,
@@ -35,10 +37,10 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
35
37
  value: FORM_DATA.container,
36
38
  formData: FORM_DATA
37
39
  };
38
- const ON_ACTION = () => {};
39
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
40
+ var ON_ACTION = function ON_ACTION() {};
41
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
40
42
  expect(ROWS.length).toEqual(1);
41
- ROWS.forEach((row, index) => {
43
+ ROWS.forEach(function (row, index) {
42
44
  (0, _setupTests.expectObjectLike)(row, {
43
45
  pageId: PAGE.id,
44
46
  fieldId: CONTAINER.components[index].fieldId,
@@ -49,31 +51,31 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
49
51
  });
50
52
  });
51
53
  });
52
- it('should get appropriate rows for a container with two editable text components', () => {
53
- const FORM_DATA = {
54
+ it('should get appropriate rows for a container with two editable text components', function () {
55
+ var FORM_DATA = {
54
56
  container: {
55
57
  a: 'Alpha Charlie',
56
58
  b: 'Bravo Charlie'
57
59
  }
58
60
  };
59
- const PAGE = {
61
+ var PAGE = {
60
62
  id: 'page',
61
63
  formData: FORM_DATA,
62
64
  cya_link: {}
63
65
  };
64
- const COMPONENT_A = {
66
+ var COMPONENT_A = {
65
67
  type: 'text',
66
68
  id: 'a',
67
69
  fieldId: 'a',
68
70
  label: 'Alpha'
69
71
  };
70
- const COMPONENT_B = {
72
+ var COMPONENT_B = {
71
73
  type: 'text',
72
74
  id: 'b',
73
75
  fieldId: 'b',
74
76
  label: 'Bravo'
75
77
  };
76
- const CONTAINER = {
78
+ var CONTAINER = {
77
79
  id: 'container',
78
80
  fieldId: 'container',
79
81
  type: _models.ComponentTypes.CONTAINER,
@@ -81,10 +83,10 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
81
83
  value: FORM_DATA.container,
82
84
  formData: FORM_DATA
83
85
  };
84
- const ON_ACTION = () => {};
85
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
86
+ var ON_ACTION = function ON_ACTION() {};
87
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
86
88
  expect(ROWS.length).toEqual(2);
87
- ROWS.forEach((row, index) => {
89
+ ROWS.forEach(function (row, index) {
88
90
  (0, _setupTests.expectObjectLike)(row, {
89
91
  pageId: PAGE.id,
90
92
  fieldId: CONTAINER.components[index].fieldId,
@@ -97,35 +99,35 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
97
99
  });
98
100
  });
99
101
  });
100
- it("should filter out any components that shouldn't be shown", () => {
101
- const FORM_DATA = {
102
+ it("should filter out any components that shouldn't be shown", function () {
103
+ var FORM_DATA = {
102
104
  container: {
103
105
  a: 'Alpha Charlie',
104
106
  b: 'Bravo Charlie'
105
107
  }
106
108
  };
107
- const PAGE = {
109
+ var PAGE = {
108
110
  id: 'page',
109
111
  formData: FORM_DATA,
110
112
  cya_link: {}
111
113
  };
112
- const COMPONENT_A = {
114
+ var COMPONENT_A = {
113
115
  type: 'text',
114
116
  id: 'a',
115
117
  fieldId: 'a',
116
118
  label: 'Alpha'
117
119
  };
118
- const COMPONENT_B = {
120
+ var COMPONENT_B = {
119
121
  type: 'text',
120
122
  id: 'b',
121
123
  fieldId: 'b',
122
124
  label: 'Bravo'
123
125
  };
124
- const COMPONENT_C = {
126
+ var COMPONENT_C = {
125
127
  type: 'heading',
126
128
  content: 'Heading component'
127
129
  };
128
- const CONTAINER = {
130
+ var CONTAINER = {
129
131
  id: 'container',
130
132
  fieldId: 'container',
131
133
  type: _models.ComponentTypes.CONTAINER,
@@ -133,10 +135,10 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
133
135
  value: FORM_DATA.container,
134
136
  formData: FORM_DATA
135
137
  };
136
- const ON_ACTION = () => {};
137
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
138
+ var ON_ACTION = function ON_ACTION() {};
139
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
138
140
  expect(ROWS.length).toEqual(2);
139
- ROWS.forEach((row, index) => {
141
+ ROWS.forEach(function (row, index) {
140
142
  (0, _setupTests.expectObjectLike)(row, {
141
143
  pageId: PAGE.id,
142
144
  fieldId: CONTAINER.components[index].fieldId,
@@ -149,27 +151,27 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
149
151
  });
150
152
  });
151
153
  });
152
- it('should get an appropriate row for a container with a single readonly text component inside a nested container', () => {
153
- const FORM_DATA = {
154
+ it('should get an appropriate row for a container with a single readonly text component inside a nested container', function () {
155
+ var FORM_DATA = {
154
156
  container: {
155
157
  nested: {
156
158
  a: 'Bravo'
157
159
  }
158
160
  }
159
161
  };
160
- const PAGE = {
162
+ var PAGE = {
161
163
  id: 'page',
162
164
  formData: FORM_DATA,
163
165
  cya_link: {}
164
166
  };
165
- const COMPONENT = {
167
+ var COMPONENT = {
166
168
  type: 'text',
167
169
  readonly: true,
168
170
  id: 'a',
169
171
  fieldId: 'a',
170
172
  label: 'Alpha'
171
173
  };
172
- const NESTED_CONTAINER = {
174
+ var NESTED_CONTAINER = {
173
175
  id: 'nested',
174
176
  fieldId: 'nested',
175
177
  type: _models.ComponentTypes.CONTAINER,
@@ -177,7 +179,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
177
179
  value: FORM_DATA.container.nested,
178
180
  formData: FORM_DATA
179
181
  };
180
- const CONTAINER = {
182
+ var CONTAINER = {
181
183
  id: 'container',
182
184
  fieldId: 'container',
183
185
  type: _models.ComponentTypes.CONTAINER,
@@ -185,10 +187,10 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
185
187
  value: FORM_DATA.container,
186
188
  formData: FORM_DATA
187
189
  };
188
- const ON_ACTION = () => {};
189
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
190
+ var ON_ACTION = function ON_ACTION() {};
191
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
190
192
  expect(ROWS.length).toEqual(1);
191
- ROWS.forEach((row, index) => {
193
+ ROWS.forEach(function (row, index) {
192
194
  (0, _setupTests.expectObjectLike)(row, {
193
195
  pageId: PAGE.id,
194
196
  fieldId: NESTED_CONTAINER.components[index].fieldId,
@@ -199,36 +201,36 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
199
201
  });
200
202
  });
201
203
  });
202
- it('should get an appropriate row for a container with a single readonly text component inside a nested container but no formData', () => {
203
- const FORM_DATA = undefined;
204
- const PAGE = {
204
+ it('should get an appropriate row for a container with a single readonly text component inside a nested container but no formData', function () {
205
+ var FORM_DATA = undefined;
206
+ var PAGE = {
205
207
  id: 'page',
206
208
  formData: FORM_DATA,
207
209
  cya_link: {}
208
210
  };
209
- const COMPONENT = {
211
+ var COMPONENT = {
210
212
  type: 'text',
211
213
  readonly: true,
212
214
  id: 'a',
213
215
  fieldId: 'a',
214
216
  label: 'Alpha'
215
217
  };
216
- const NESTED_CONTAINER = {
218
+ var NESTED_CONTAINER = {
217
219
  id: 'nested',
218
220
  fieldId: 'nested',
219
221
  type: _models.ComponentTypes.CONTAINER,
220
222
  components: [COMPONENT]
221
223
  };
222
- const CONTAINER = {
224
+ var CONTAINER = {
223
225
  id: 'container',
224
226
  fieldId: 'container',
225
227
  type: _models.ComponentTypes.CONTAINER,
226
228
  components: [NESTED_CONTAINER]
227
229
  };
228
- const ON_ACTION = () => {};
229
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, undefined, ON_ACTION);
230
+ var ON_ACTION = function ON_ACTION() {};
231
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, undefined, ON_ACTION);
230
232
  expect(ROWS.length).toEqual(1);
231
- ROWS.forEach((row, index) => {
233
+ ROWS.forEach(function (row, index) {
232
234
  (0, _setupTests.expectObjectLike)(row, {
233
235
  pageId: PAGE.id,
234
236
  fieldId: NESTED_CONTAINER.components[index].fieldId,
@@ -239,21 +241,15 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
239
241
  });
240
242
  });
241
243
  });
242
- it('should get an appropriate row for a collection with a single text component inside a container', () => {
243
- const FORM_DATA = {
244
- [OUTER_ID]: [{
245
- [INNER_ID]: 'Bravo'
246
- }, {
247
- [INNER_ID]: 'Charlie'
248
- }]
249
- };
250
- const PAGE = {
244
+ it('should get an appropriate row for a collection with a single text component inside a container', function () {
245
+ var FORM_DATA = _defineProperty({}, OUTER_ID, [_defineProperty({}, INNER_ID, 'Bravo'), _defineProperty({}, INNER_ID, 'Charlie')]);
246
+ var PAGE = {
251
247
  id: 'page',
252
248
  formData: FORM_DATA,
253
249
  cya_link: {},
254
250
  collection: 'collectionName'
255
251
  };
256
- const COLLECTION_COMPONENT = {
252
+ var COLLECTION_COMPONENT = {
257
253
  type: 'collection',
258
254
  id: OUTER_ID,
259
255
  fieldId: OUTER_ID,
@@ -265,7 +261,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
265
261
  type: 'text'
266
262
  }]
267
263
  };
268
- const CONTAINER = {
264
+ var CONTAINER = {
269
265
  id: 'container',
270
266
  fieldId: 'container',
271
267
  type: _models.ComponentTypes.CONTAINER,
@@ -273,9 +269,9 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
273
269
  value: FORM_DATA.container,
274
270
  formData: FORM_DATA
275
271
  };
276
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA, () => {});
272
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA, function () {});
277
273
  expect(ROWS.length).toEqual(4);
278
- const checkTitleRow = (index, row) => {
274
+ var checkTitleRow = function checkTitleRow(index, row) {
279
275
  expect(row).toEqual({
280
276
  pageId: PAGE.id,
281
277
  fieldId: CONTAINER.components[0].fieldId,
@@ -285,7 +281,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
285
281
  type: 'title'
286
282
  });
287
283
  };
288
- const checkValueRow = (index, row, value) => {
284
+ var checkValueRow = function checkValueRow(index, row, value) {
289
285
  (0, _setupTests.expectObjectLike)(row, {
290
286
  pageId: PAGE.id,
291
287
  fieldId: INNER_ID,
@@ -298,7 +294,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
298
294
  label: INNER_ID,
299
295
  type: 'text'
300
296
  },
301
- value,
297
+ value: value,
302
298
  full_path: "".concat(OUTER_ID, "[").concat(index, "].").concat(INNER_ID)
303
299
  });
304
300
  };
@@ -307,27 +303,23 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
307
303
  checkTitleRow(1, ROWS[2]);
308
304
  checkValueRow(1, ROWS[3], 'Charlie');
309
305
  });
310
- it('should conditionally show an appropriate row for a single text component inside a container belonging to a partial-collection', () => {
311
- const FORM_DATA = {
306
+ it('should conditionally show an appropriate row for a single text component inside a container belonging to a partial-collection', function () {
307
+ var FORM_DATA = {
312
308
  collectionName: [{
313
- container: {
314
- [INNER_ID]: 'Bravo'
315
- },
309
+ container: _defineProperty({}, INNER_ID, 'Bravo'),
316
310
  other_data: true
317
311
  }, {
318
- container: {
319
- [INNER_ID]: 'Charlie'
320
- },
312
+ container: _defineProperty({}, INNER_ID, 'Charlie'),
321
313
  other_data: false
322
314
  }]
323
315
  };
324
- const PAGE = {
316
+ var PAGE = {
325
317
  id: 'page',
326
318
  formData: FORM_DATA,
327
319
  cya_link: {},
328
320
  collection: 'collectionName'
329
321
  };
330
- const CONTAINER = {
322
+ var CONTAINER = {
331
323
  id: 'container',
332
324
  fieldId: 'container',
333
325
  type: _models.ComponentTypes.CONTAINER,
@@ -344,27 +336,27 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
344
336
  value: true
345
337
  }
346
338
  };
347
- expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[0], () => {}).length).toEqual(1);
348
- expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[1], () => {})).toBeFalsy();
339
+ expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[0], function () {}).length).toEqual(1);
340
+ expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[1], function () {})).toBeFalsy();
349
341
  });
350
- it('should get the appropriate number for rows components with nested components inside a container', () => {
351
- const FORM_DATA = {
342
+ it('should get the appropriate number for rows components with nested components inside a container', function () {
343
+ var FORM_DATA = {
352
344
  container: {
353
345
  a: 'B',
354
346
  nested: 'Bravo'
355
347
  }
356
348
  };
357
- const PAGE = {
349
+ var PAGE = {
358
350
  id: 'page',
359
351
  formData: FORM_DATA,
360
352
  cya_link: {}
361
353
  };
362
- const NESTED_COMPONENT = {
354
+ var NESTED_COMPONENT = {
363
355
  id: 'nested',
364
356
  fieldId: 'nested',
365
357
  type: _models.ComponentTypes.TEXT
366
358
  };
367
- const COMPONENT = {
359
+ var COMPONENT = {
368
360
  type: 'radios',
369
361
  id: 'a',
370
362
  fieldId: 'a',
@@ -380,7 +372,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
380
372
  }]
381
373
  }
382
374
  };
383
- const CONTAINER = {
375
+ var CONTAINER = {
384
376
  id: 'container',
385
377
  fieldId: 'container',
386
378
  type: _models.ComponentTypes.CONTAINER,
@@ -388,35 +380,35 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
388
380
  value: FORM_DATA.container,
389
381
  formData: FORM_DATA
390
382
  };
391
- const ON_ACTION = () => {};
392
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
383
+ var ON_ACTION = function ON_ACTION() {};
384
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
393
385
  expect(ROWS.length).toEqual(2);
394
386
  });
395
- it('should ignore the result of the override function if it returns nullish', () => {
396
- const FORM_DATA = {
387
+ it('should ignore the result of the override function if it returns nullish', function () {
388
+ var FORM_DATA = {
397
389
  container: {
398
390
  a: 'Alpha Charlie',
399
391
  b: 'Bravo Charlie'
400
392
  }
401
393
  };
402
- const PAGE = {
394
+ var PAGE = {
403
395
  id: 'page',
404
396
  formData: FORM_DATA,
405
397
  cya_link: {}
406
398
  };
407
- const COMPONENT_A = {
399
+ var COMPONENT_A = {
408
400
  type: 'text',
409
401
  id: 'a',
410
402
  fieldId: 'a',
411
403
  label: 'Alpha'
412
404
  };
413
- const COMPONENT_B = {
405
+ var COMPONENT_B = {
414
406
  type: 'text',
415
407
  id: 'b',
416
408
  fieldId: 'b',
417
409
  label: 'Bravo'
418
410
  };
419
- const CONTAINER = {
411
+ var CONTAINER = {
420
412
  id: 'container',
421
413
  fieldId: 'container',
422
414
  type: _models.ComponentTypes.CONTAINER,
@@ -424,10 +416,12 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
424
416
  value: FORM_DATA.container,
425
417
  formData: FORM_DATA
426
418
  };
427
- const ON_ACTION = () => {};
428
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION, () => null);
419
+ var ON_ACTION = function ON_ACTION() {};
420
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION, function () {
421
+ return null;
422
+ });
429
423
  expect(ROWS.length).toEqual(2);
430
- ROWS.forEach((row, index) => {
424
+ ROWS.forEach(function (row, index) {
431
425
  (0, _setupTests.expectObjectLike)(row, {
432
426
  pageId: PAGE.id,
433
427
  fieldId: CONTAINER.components[index].fieldId,
@@ -440,31 +434,31 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
440
434
  });
441
435
  });
442
436
  });
443
- it('should use rows produced by the override function if provided', () => {
444
- const FORM_DATA = {
437
+ it('should use rows produced by the override function if provided', function () {
438
+ var FORM_DATA = {
445
439
  container: {
446
440
  a: 'Alpha Charlie',
447
441
  b: 'Bravo Charlie'
448
442
  }
449
443
  };
450
- const PAGE = {
444
+ var PAGE = {
451
445
  id: 'page',
452
446
  formData: FORM_DATA,
453
447
  cya_link: {}
454
448
  };
455
- const COMPONENT_A = {
449
+ var COMPONENT_A = {
456
450
  type: 'text',
457
451
  id: 'a',
458
452
  fieldId: 'a',
459
453
  label: 'Alpha'
460
454
  };
461
- const COMPONENT_B = {
455
+ var COMPONENT_B = {
462
456
  type: 'text',
463
457
  id: 'b',
464
458
  fieldId: 'b',
465
459
  label: 'Bravo'
466
460
  };
467
- const CONTAINER = {
461
+ var CONTAINER = {
468
462
  id: 'container',
469
463
  fieldId: 'container',
470
464
  type: _models.ComponentTypes.CONTAINER,
@@ -472,16 +466,16 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
472
466
  value: FORM_DATA.container,
473
467
  formData: FORM_DATA
474
468
  };
475
- const ON_ACTION = () => {};
469
+ var ON_ACTION = function ON_ACTION() {};
476
470
  // eslint-disable-next-line arrow-body-style
477
- const OVERRIDE = (page, comp) => {
471
+ var OVERRIDE = function OVERRIDE(page, comp) {
478
472
  // This will be called for each component in the container,
479
473
  // returning a custom row object.
480
474
  return {
481
475
  key: "CustomRowFor".concat(comp.label)
482
476
  };
483
477
  };
484
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION, OVERRIDE);
478
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION, OVERRIDE);
485
479
  expect(ROWS.length).toEqual(2);
486
480
  expect(ROWS).toEqual([{
487
481
  key: 'CustomRowForAlpha'
@@ -9,7 +9,7 @@ var _models = require("../../models");
9
9
  var _FormPage = _interopRequireDefault(require("../FormPage"));
10
10
  var _getCYARow = _interopRequireDefault(require("./getCYARow"));
11
11
  var _getCYARowsForCollectionPage = _interopRequireDefault(require("./getCYARowsForCollectionPage"));
12
- var _getCYARowForGroup = _interopRequireDefault(require("./getCYARowForGroup"));
12
+ var _getCYARowForGroup2 = _interopRequireDefault(require("./getCYARowForGroup"));
13
13
  var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
14
14
  var _getCYARowsForContainer = _interopRequireDefault(require("./getCYARowsForContainer"));
15
15
  var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
@@ -25,17 +25,19 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
25
25
  *
26
26
  * @returns An array of configuration objects for Check your answers rows.
27
27
  */
28
- const getCYARowsForPage = function (page, onAction) {
29
- let fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
28
+ var getCYARowsForPage = function getCYARowsForPage(page, onAction) {
29
+ var fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
30
30
  if (_FormPage.default.showCYA(page, page.formData)) {
31
31
  var _page$groups;
32
32
  if (page.collection) {
33
33
  return (0, _getCYARowsForCollectionPage.default)(page, onAction, fnOverride, page.formData);
34
34
  }
35
- const allComponents = (0, _elevateNestedComponents.default)(page.components, page.formData);
36
- const rows = allComponents.filter(c => (0, _showComponentCYA.default)(c, page.formData)).flatMap(component => {
35
+ var allComponents = (0, _elevateNestedComponents.default)(page.components, page.formData);
36
+ var rows = allComponents.filter(function (c) {
37
+ return (0, _showComponentCYA.default)(c, page.formData);
38
+ }).flatMap(function (component) {
37
39
  if (typeof fnOverride === 'function') {
38
- const overrideRows = fnOverride(page, component, onAction);
40
+ var overrideRows = fnOverride(page, component, onAction);
39
41
  if (overrideRows) {
40
42
  return overrideRows;
41
43
  }
@@ -50,19 +52,22 @@ const getCYARowsForPage = function (page, onAction) {
50
52
  }
51
53
  });
52
54
  if (((_page$groups = page.groups) === null || _page$groups === void 0 ? void 0 : _page$groups.length) > 0) {
53
- page.groups.forEach(group => {
54
- const {
55
- row,
56
- insertAt
57
- } = (0, _getCYARowForGroup.default)(page, group, rows, onAction);
55
+ page.groups.forEach(function (group) {
56
+ var _getCYARowForGroup = (0, _getCYARowForGroup2.default)(page, group, rows, onAction),
57
+ row = _getCYARowForGroup.row,
58
+ insertAt = _getCYARowForGroup.insertAt;
58
59
  if (insertAt > -1) {
59
60
  rows.splice(insertAt, 0, row);
60
61
  } else {
61
62
  rows.push(row);
62
63
  }
63
64
  });
64
- const allReplacedIds = page.groups.flatMap(g => g.components);
65
- return rows.filter(r => !allReplacedIds.includes(r.id));
65
+ var allReplacedIds = page.groups.flatMap(function (g) {
66
+ return g.components;
67
+ });
68
+ return rows.filter(function (r) {
69
+ return !allReplacedIds.includes(r.id);
70
+ });
66
71
  }
67
72
  return rows;
68
73
  }