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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/RenderListView.js +52 -46
  14. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  15. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  16. package/dist/components/CollectionSummary/SummaryCard.js +152 -110
  17. package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
  18. package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
  19. package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  23. package/dist/components/FormComponent/Collection.js +108 -74
  24. package/dist/components/FormComponent/Collection.test.js +1081 -909
  25. package/dist/components/FormComponent/Container.js +39 -40
  26. package/dist/components/FormComponent/Container.test.js +412 -312
  27. package/dist/components/FormComponent/FormComponent.js +72 -69
  28. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  29. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  30. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  32. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  33. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  34. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  36. package/dist/components/FormComponent/helpers/index.js +4 -4
  37. package/dist/components/FormPage/FormPage.js +80 -65
  38. package/dist/components/FormPage/FormPage.test.js +163 -127
  39. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  40. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  41. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  42. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  43. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  44. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  45. package/dist/components/FormRenderer/handlers/index.js +1 -1
  46. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  47. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  48. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  49. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  50. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  51. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  52. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  53. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  55. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  57. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  58. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  59. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  60. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  61. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  63. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  64. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  65. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  66. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  67. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  68. package/dist/components/FormRenderer/helpers/index.js +1 -1
  69. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  70. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  71. package/dist/components/FormRenderer/onPageAction.js +39 -43
  72. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  73. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  74. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  75. package/dist/components/PageActions/ActionButton.js +15 -12
  76. package/dist/components/PageActions/ActionButton.test.js +78 -56
  77. package/dist/components/PageActions/PageActions.js +10 -10
  78. package/dist/components/PageActions/PageActions.test.js +115 -86
  79. package/dist/components/SummaryList/GroupAction.js +17 -9
  80. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  81. package/dist/components/SummaryList/RowAction.js +16 -11
  82. package/dist/components/SummaryList/RowAction.test.js +33 -37
  83. package/dist/components/SummaryList/SummaryList.js +34 -21
  84. package/dist/components/SummaryList/SummaryList.scss +15 -0
  85. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  86. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  87. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  88. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  89. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  90. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  91. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  92. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  93. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/index.js +1 -1
  96. package/dist/components/TaskList/Task.js +29 -19
  97. package/dist/components/TaskList/Task.test.js +76 -83
  98. package/dist/components/TaskList/TaskList.js +92 -49
  99. package/dist/components/TaskList/TaskList.scss +24 -0
  100. package/dist/components/TaskList/TaskList.test.js +255 -113
  101. package/dist/components/TaskList/TaskState.js +5 -7
  102. package/dist/components/TaskList/TaskState.test.js +45 -52
  103. package/dist/components/index.js +7 -7
  104. package/dist/context/HooksContext/HooksContext.js +80 -57
  105. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  106. package/dist/context/HooksContext/index.js +4 -3
  107. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  108. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  109. package/dist/context/ValidationContext/index.js +4 -3
  110. package/dist/context/index.js +2 -2
  111. package/dist/hooks/index.js +10 -9
  112. package/dist/hooks/useAxios.js +40 -14
  113. package/dist/hooks/useGetRequest.js +97 -61
  114. package/dist/hooks/useHooks.js +3 -1
  115. package/dist/hooks/useRefData.js +39 -26
  116. package/dist/hooks/useValidation.js +3 -1
  117. package/dist/index.js +14 -13
  118. package/dist/models/CollectionLabels.js +1 -1
  119. package/dist/models/ComponentTypes.js +25 -25
  120. package/dist/models/EventTypes.js +4 -4
  121. package/dist/models/FormPages.js +4 -4
  122. package/dist/models/FormTypes.js +8 -8
  123. package/dist/models/HubFormats.js +3 -3
  124. package/dist/models/PageAction.js +38 -44
  125. package/dist/models/TaskStates.js +28 -29
  126. package/dist/models/index.js +9 -9
  127. package/dist/setupTests.js +31 -30
  128. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  129. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  130. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  131. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  132. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  133. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  134. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  135. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  136. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  137. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  138. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  139. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  140. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
  142. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  144. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  145. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  146. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  147. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  148. package/dist/utils/CheckYourAnswers/index.js +1 -1
  149. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  150. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  151. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  152. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  153. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  154. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  155. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  156. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  157. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  158. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  159. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  160. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  161. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  162. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  163. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  164. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  165. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  166. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  167. package/dist/utils/CollectionPage/index.js +1 -1
  168. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  169. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  170. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  171. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  172. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  173. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  174. package/dist/utils/Component/addShowWhen.js +8 -4
  175. package/dist/utils/Component/addShowWhen.test.js +37 -37
  176. package/dist/utils/Component/applyToComponentTree.js +18 -18
  177. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  178. package/dist/utils/Component/cleanAttributes.js +13 -10
  179. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  180. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  181. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  182. package/dist/utils/Component/getComponent.js +94 -88
  183. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  184. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  185. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  186. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  187. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  188. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  191. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  192. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  193. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  194. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  196. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  197. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  199. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  200. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  202. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  203. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  204. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  205. package/dist/utils/Component/getDefaultValue.js +8 -6
  206. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  207. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  208. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  209. package/dist/utils/Component/index.js +1 -1
  210. package/dist/utils/Component/isEditable.js +4 -2
  211. package/dist/utils/Component/isEditable.test.js +15 -14
  212. package/dist/utils/Component/optionIsSelected.js +6 -1
  213. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  214. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  215. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  216. package/dist/utils/Component/showComponent.js +1 -1
  217. package/dist/utils/Component/showComponent.test.js +28 -28
  218. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  219. package/dist/utils/Condition/index.js +1 -1
  220. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  221. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  222. package/dist/utils/Condition/meetsCondition.js +25 -16
  223. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  224. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  225. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  226. package/dist/utils/Condition/setupConditions.js +18 -13
  227. package/dist/utils/Condition/setupConditions.test.js +7 -7
  228. package/dist/utils/Container/getEditableComponents.js +5 -3
  229. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  230. package/dist/utils/Container/index.js +1 -1
  231. package/dist/utils/Container/setupNesting.js +20 -16
  232. package/dist/utils/Container/setupNesting.test.js +30 -27
  233. package/dist/utils/Container/showContainer.js +7 -3
  234. package/dist/utils/Container/showContainer.test.js +30 -30
  235. package/dist/utils/Data/applyFormula.js +48 -38
  236. package/dist/utils/Data/applyFormula.test.js +20 -20
  237. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  238. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  239. package/dist/utils/Data/getDataPath.js +28 -18
  240. package/dist/utils/Data/getDataPath.test.js +12 -12
  241. package/dist/utils/Data/getOptions.js +30 -24
  242. package/dist/utils/Data/getOptions.test.js +27 -27
  243. package/dist/utils/Data/getSourceData.js +19 -6
  244. package/dist/utils/Data/getSourceData.test.js +80 -84
  245. package/dist/utils/Data/index.js +1 -1
  246. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  247. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  248. package/dist/utils/Data/refDataToOptions.js +13 -10
  249. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  250. package/dist/utils/Data/setDataItem.js +8 -7
  251. package/dist/utils/Data/setDataItem.test.js +37 -37
  252. package/dist/utils/Data/setupFormData.js +21 -13
  253. package/dist/utils/Data/setupFormData.test.js +50 -51
  254. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  255. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  256. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  257. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  258. package/dist/utils/FormPage/getConditionalText.js +3 -3
  259. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  260. package/dist/utils/FormPage/getFormPage.js +16 -15
  261. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  262. package/dist/utils/FormPage/getFormPages.js +12 -7
  263. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  264. package/dist/utils/FormPage/getPageActions.js +15 -9
  265. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  266. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  267. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  268. package/dist/utils/FormPage/index.js +4 -2
  269. package/dist/utils/FormPage/showFormPage.js +7 -3
  270. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  271. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  272. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  273. package/dist/utils/FormPage/useComponent.js +28 -21
  274. package/dist/utils/FormPage/useComponent.test.js +79 -77
  275. package/dist/utils/Format/formatData.js +1 -1
  276. package/dist/utils/Format/formatData.test.js +18 -18
  277. package/dist/utils/Format/formatDataForComponent.js +6 -5
  278. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  279. package/dist/utils/Format/formatDataForForm.js +8 -6
  280. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  281. package/dist/utils/Format/formatDataForPage.js +5 -4
  282. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  283. package/dist/utils/Format/index.js +1 -1
  284. package/dist/utils/Hub/getFormHub.js +1 -1
  285. package/dist/utils/Hub/getFormHub.test.js +31 -28
  286. package/dist/utils/Hub/index.js +1 -1
  287. package/dist/utils/Meta/constants.js +2 -2
  288. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  289. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  290. package/dist/utils/Meta/documents/index.js +1 -1
  291. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  292. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  293. package/dist/utils/Meta/index.js +1 -1
  294. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  295. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  296. package/dist/utils/Operate/getFirstOf.js +5 -5
  297. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  298. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  299. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  300. package/dist/utils/Operate/getLength.js +50 -0
  301. package/dist/utils/Operate/getLength.test.js +89 -0
  302. package/dist/utils/Operate/index.js +1 -1
  303. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  304. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  305. package/dist/utils/Operate/runPageOperations.js +9 -7
  306. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  307. package/dist/utils/Operate/setValueInFormData.js +2 -2
  308. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  309. package/dist/utils/Operate/shouldRun.js +6 -6
  310. package/dist/utils/Operate/shouldRun.test.js +27 -21
  311. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  312. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  313. package/dist/utils/Validate/additional/index.js +6 -6
  314. package/dist/utils/Validate/additional/index.test.js +12 -12
  315. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  317. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  318. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  319. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  320. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  321. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  322. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  323. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  325. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  327. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  328. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  329. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  330. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  331. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  333. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  334. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  335. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  337. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  338. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  339. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  340. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  341. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  342. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  343. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  344. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  345. package/dist/utils/Validate/additional/utils.js +22 -9
  346. package/dist/utils/Validate/index.js +1 -1
  347. package/dist/utils/Validate/validateCollection.js +25 -19
  348. package/dist/utils/Validate/validateCollection.test.js +66 -74
  349. package/dist/utils/Validate/validateComponent.js +21 -18
  350. package/dist/utils/Validate/validateComponent.test.js +176 -166
  351. package/dist/utils/Validate/validateContainer.js +20 -15
  352. package/dist/utils/Validate/validateContainer.test.js +52 -58
  353. package/dist/utils/Validate/validateDate.js +21 -15
  354. package/dist/utils/Validate/validateDate.test.js +32 -31
  355. package/dist/utils/Validate/validateEmail.js +8 -6
  356. package/dist/utils/Validate/validateEmail.test.js +25 -25
  357. package/dist/utils/Validate/validateMultifile.js +7 -5
  358. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  359. package/dist/utils/Validate/validatePage.js +22 -19
  360. package/dist/utils/Validate/validatePage.test.js +203 -215
  361. package/dist/utils/Validate/validateRegex.js +5 -3
  362. package/dist/utils/Validate/validateRegex.test.js +14 -14
  363. package/dist/utils/Validate/validateRequired.js +6 -4
  364. package/dist/utils/Validate/validateRequired.test.js +18 -18
  365. package/dist/utils/Validate/validateTextArea.js +6 -4
  366. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  367. package/dist/utils/Validate/validateTime.js +26 -11
  368. package/dist/utils/Validate/validateTime.test.js +62 -16
  369. package/dist/utils/index.js +9 -7
  370. package/package.json +2 -2
  371. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  372. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -1,65 +1,64 @@
1
1
  "use strict";
2
2
 
3
+ 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); }
3
4
  var _react = require("@testing-library/react");
4
5
  var _Confirmation = _interopRequireWildcard(require("./Confirmation"));
5
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
6
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
6
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
7
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
7
8
  // Global imports.
8
9
 
9
10
  // Local imports.
10
11
 
11
12
  /* eslint-disable no-plusplus */
12
13
 
13
- describe('components.CollectionSummary.Confirmation', () => {
14
- let onConfirmCalls = 0;
15
- const ON_CONFIRM = () => {
14
+ describe('components.CollectionSummary.Confirmation', function () {
15
+ var onConfirmCalls = 0;
16
+ var ON_CONFIRM = function ON_CONFIRM() {
16
17
  onConfirmCalls += 1;
17
18
  };
18
- let onCancelCalls = 0;
19
- const ON_CANCEL = () => {
19
+ var onCancelCalls = 0;
20
+ var ON_CANCEL = function ON_CANCEL() {
20
21
  onCancelCalls += 1;
21
22
  };
22
- beforeEach(() => {
23
+ beforeEach(function () {
23
24
  onConfirmCalls = 0;
24
25
  onCancelCalls = 0;
25
26
  });
26
- const ID = 'testId';
27
- const MESSAGE = 'Confirmation message';
28
- const LABEL = 'Confirmation label';
29
- const checkSetup = function (container) {
30
- let withChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
31
- let childIndex = 0;
32
- const confirmation = container.children[0];
27
+ var ID = 'testId';
28
+ var MESSAGE = 'Confirmation message';
29
+ var LABEL = 'Confirmation label';
30
+ var checkSetup = function checkSetup(container) {
31
+ var withChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
32
+ var childIndex = 0;
33
+ var confirmation = container.children[0];
33
34
  expect(confirmation.classList).toContain(_Confirmation.DEFAULT_CLASS);
34
- const heading = confirmation.children[childIndex++];
35
+ var heading = confirmation.children[childIndex++];
35
36
  expect(heading.tagName).toEqual('H2');
36
- const children = withChildren ? confirmation.children[childIndex++] : null;
37
- const confirmButton = confirmation.children[childIndex++];
37
+ var children = withChildren ? confirmation.children[childIndex++] : null;
38
+ var confirmButton = confirmation.children[childIndex++];
38
39
  expect(confirmButton.tagName).toEqual('BUTTON');
39
- const cancelButton = confirmation.children[childIndex++];
40
+ var cancelButton = confirmation.children[childIndex++];
40
41
  expect(cancelButton.tagName).toEqual('BUTTON');
41
42
  return {
42
- heading,
43
- confirmButton,
44
- cancelButton,
45
- children
43
+ heading: heading,
44
+ confirmButton: confirmButton,
45
+ cancelButton: cancelButton,
46
+ children: children
46
47
  };
47
48
  };
48
- it('should render correctly', () => {
49
- const {
50
- container
51
- } = (0, _react.render)( /*#__PURE__*/React.createElement(_Confirmation.default, {
52
- id: ID,
53
- message: MESSAGE,
54
- confirmLabel: LABEL,
55
- onConfirm: ON_CONFIRM,
56
- onCancel: ON_CANCEL
57
- }));
58
- const {
59
- heading,
60
- confirmButton,
61
- cancelButton
62
- } = checkSetup(container);
49
+ it('should render correctly', function () {
50
+ var _render = (0, _react.render)( /*#__PURE__*/React.createElement(_Confirmation.default, {
51
+ id: ID,
52
+ message: MESSAGE,
53
+ confirmLabel: LABEL,
54
+ onConfirm: ON_CONFIRM,
55
+ onCancel: ON_CANCEL
56
+ })),
57
+ container = _render.container;
58
+ var _checkSetup = checkSetup(container),
59
+ heading = _checkSetup.heading,
60
+ confirmButton = _checkSetup.confirmButton,
61
+ cancelButton = _checkSetup.cancelButton;
63
62
  expect(heading.textContent).toEqual(MESSAGE);
64
63
  expect(confirmButton.textContent).toEqual(LABEL);
65
64
  _react.fireEvent.click(confirmButton, {});
@@ -67,40 +66,36 @@ describe('components.CollectionSummary.Confirmation', () => {
67
66
  _react.fireEvent.click(cancelButton, {});
68
67
  expect(onCancelCalls).toEqual(1);
69
68
  });
70
- it('should use the default message if one is not provided', () => {
71
- const {
72
- container
73
- } = (0, _react.render)( /*#__PURE__*/React.createElement(_Confirmation.default, {
74
- id: ID,
75
- confirmLabel: LABEL,
76
- onConfirm: ON_CONFIRM,
77
- onCancel: ON_CANCEL
78
- }));
79
- const {
80
- heading
81
- } = checkSetup(container);
69
+ it('should use the default message if one is not provided', function () {
70
+ var _render2 = (0, _react.render)( /*#__PURE__*/React.createElement(_Confirmation.default, {
71
+ id: ID,
72
+ confirmLabel: LABEL,
73
+ onConfirm: ON_CONFIRM,
74
+ onCancel: ON_CANCEL
75
+ })),
76
+ container = _render2.container;
77
+ var _checkSetup2 = checkSetup(container),
78
+ heading = _checkSetup2.heading;
82
79
  expect(heading.textContent).toEqual(_Confirmation.DEFAULT_MESSAGE);
83
80
  });
84
- it('should use the default label if one is not provided', () => {
85
- const {
86
- container
87
- } = (0, _react.render)( /*#__PURE__*/React.createElement(_Confirmation.default, {
88
- id: ID,
89
- onConfirm: ON_CONFIRM,
90
- onCancel: ON_CANCEL
91
- }));
92
- const confirmButton = checkSetup(container).confirmButton;
81
+ it('should use the default label if one is not provided', function () {
82
+ var _render3 = (0, _react.render)( /*#__PURE__*/React.createElement(_Confirmation.default, {
83
+ id: ID,
84
+ onConfirm: ON_CONFIRM,
85
+ onCancel: ON_CANCEL
86
+ })),
87
+ container = _render3.container;
88
+ var confirmButton = checkSetup(container).confirmButton;
93
89
  expect(confirmButton.textContent).toEqual(_Confirmation.DEFAULT_CONFIRM_LABEL);
94
90
  });
95
- it('should render children correctly', () => {
96
- const {
97
- container
98
- } = (0, _react.render)( /*#__PURE__*/React.createElement(_Confirmation.default, {
99
- id: ID,
100
- onConfirm: ON_CONFIRM,
101
- onCancel: ON_CANCEL
102
- }, /*#__PURE__*/React.createElement("p", null, "A child")));
103
- const child = checkSetup(container, true).children;
91
+ it('should render children correctly', function () {
92
+ var _render4 = (0, _react.render)( /*#__PURE__*/React.createElement(_Confirmation.default, {
93
+ id: ID,
94
+ onConfirm: ON_CONFIRM,
95
+ onCancel: ON_CANCEL
96
+ }, /*#__PURE__*/React.createElement("p", null, "A child"))),
97
+ container = _render4.container;
98
+ var child = checkSetup(container, true).children;
104
99
  expect(child.tagName).toEqual('P');
105
100
  expect(child.textContent).toEqual('A child');
106
101
  });
@@ -8,36 +8,36 @@ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _utils = _interopRequireDefault(require("../../utils"));
11
- var _getComponentRowForCYA = _interopRequireDefault(require("../../utils/CheckYourAnswers/getComponentRowForCYA"));
11
+ var _getSummaryListRowForDetails = _interopRequireDefault(require("../../utils/CheckYourAnswers/getSummaryListRowForDetails"));
12
12
  var _Condition = _interopRequireDefault(require("../../utils/Condition"));
13
13
  require("./RenderListView.scss");
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- // Global imports.
16
-
15
+ 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); }
16
+ 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; }
17
+ 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; }
18
+ 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; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
+ 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); } // Global imports.
17
21
  // Local imports.
18
-
19
22
  // Styles.
20
-
21
- const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'govuk-summary-card';
22
- const DEFAULT_LIST_CLASS = exports.DEFAULT_LIST_CLASS = 'govuk-summary-list';
23
- const DEFAULT_TITLE = exports.DEFAULT_TITLE = 'Item';
24
- const DEFAULT_CHANGE_BUTTON_LABEL = exports.DEFAULT_CHANGE_BUTTON_LABEL = 'Change';
25
- const DEFAULT_DELETE_BUTTON_LABEL = exports.DEFAULT_DELETE_BUTTON_LABEL = 'Delete';
26
- const DEFAULT_CHANGE_BUTTON_CLASS = exports.DEFAULT_CHANGE_BUTTON_CLASS = 'secondary';
27
- const DEFAULT_DELETE_BUTTON_CLASS = exports.DEFAULT_DELETE_BUTTON_CLASS = 'warning';
28
- const RenderListView = _ref => {
23
+ var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'govuk-summary-card';
24
+ var DEFAULT_LIST_CLASS = exports.DEFAULT_LIST_CLASS = 'govuk-summary-list';
25
+ var DEFAULT_TITLE = exports.DEFAULT_TITLE = 'Item';
26
+ var DEFAULT_CHANGE_BUTTON_LABEL = exports.DEFAULT_CHANGE_BUTTON_LABEL = 'Change';
27
+ var DEFAULT_DELETE_BUTTON_LABEL = exports.DEFAULT_DELETE_BUTTON_LABEL = 'Delete';
28
+ var DEFAULT_CHANGE_BUTTON_CLASS = exports.DEFAULT_CHANGE_BUTTON_CLASS = 'secondary';
29
+ var DEFAULT_DELETE_BUTTON_CLASS = exports.DEFAULT_DELETE_BUTTON_CLASS = 'warning';
30
+ var RenderListView = function RenderListView(_ref) {
29
31
  var _config$changeAction, _config$deleteAction, _masterPage$childPage;
30
- let {
31
- id,
32
- entryData,
33
- config,
34
- onFullEdit,
35
- onDelete,
36
- masterPage,
37
- classModifiers
38
- } = _ref;
39
- const classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers);
40
- const listClass = _copReactComponents.Utils.classBuilder(DEFAULT_LIST_CLASS);
32
+ var id = _ref.id,
33
+ entryData = _ref.entryData,
34
+ config = _ref.config,
35
+ onFullEdit = _ref.onFullEdit,
36
+ onDelete = _ref.onDelete,
37
+ masterPage = _ref.masterPage,
38
+ classModifiers = _ref.classModifiers;
39
+ var classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers);
40
+ var listClass = _copReactComponents.Utils.classBuilder(DEFAULT_LIST_CLASS);
41
41
  return /*#__PURE__*/_react.default.createElement("div", {
42
42
  className: classes(),
43
43
  id: id
@@ -45,51 +45,57 @@ const RenderListView = _ref => {
45
45
  className: classes('title-wrapper', [], 'dark')
46
46
  }, /*#__PURE__*/_react.default.createElement("h2", {
47
47
  className: classes('title')
48
- }, _copReactComponents.Utils.interpolateString(config.title || DEFAULT_TITLE, {
49
- ...entryData,
48
+ }, _copReactComponents.Utils.interpolateString(config.title || DEFAULT_TITLE, _objectSpread(_objectSpread({}, entryData), {}, {
50
49
  index: entryData.index + 1
51
- })), /*#__PURE__*/_react.default.createElement("ul", {
50
+ }))), /*#__PURE__*/_react.default.createElement("ul", {
52
51
  className: classes('actions')
53
52
  }, /*#__PURE__*/_react.default.createElement("li", {
54
53
  className: classes('action')
55
54
  }, config.changeAction && typeof onFullEdit === 'function' && /*#__PURE__*/_react.default.createElement("button", {
56
55
  type: "button",
57
56
  className: "govuk-link govuk-link-button",
58
- onClick: () => onFullEdit(config.changeAction.page, entryData.id),
59
- "aria-label": _copReactComponents.Utils.interpolateString("".concat(((_config$changeAction = config.changeAction) === null || _config$changeAction === void 0 ? void 0 : _config$changeAction.label) || DEFAULT_CHANGE_BUTTON_LABEL, " ").concat(config.title || DEFAULT_TITLE), {
60
- ...entryData,
57
+ onClick: function onClick() {
58
+ return onFullEdit(config.changeAction.page, entryData.id);
59
+ },
60
+ "aria-label": _copReactComponents.Utils.interpolateString("".concat(((_config$changeAction = config.changeAction) === null || _config$changeAction === void 0 ? void 0 : _config$changeAction.label) || DEFAULT_CHANGE_BUTTON_LABEL, " ").concat(config.title || DEFAULT_TITLE), _objectSpread(_objectSpread({}, entryData), {}, {
61
61
  index: entryData.index + 1
62
- })
62
+ }))
63
63
  }, config.changeAction.label || DEFAULT_CHANGE_BUTTON_LABEL)), /*#__PURE__*/_react.default.createElement("li", {
64
64
  className: classes('action')
65
65
  }, config.deleteAction && typeof onDelete === 'function' && /*#__PURE__*/_react.default.createElement(_copReactComponents.Button, {
66
66
  id: "".concat(id, ".deleteButton"),
67
- onClick: () => onDelete(entryData),
67
+ onClick: function onClick() {
68
+ return onDelete(entryData);
69
+ },
68
70
  classModifiers: config.deleteAction.classModifiers || DEFAULT_DELETE_BUTTON_CLASS,
69
- "aria-label": _copReactComponents.Utils.interpolateString("".concat(((_config$deleteAction = config.deleteAction) === null || _config$deleteAction === void 0 ? void 0 : _config$deleteAction.label) || DEFAULT_DELETE_BUTTON_LABEL, " ").concat(config.title || DEFAULT_TITLE), {
70
- ...entryData,
71
+ "aria-label": _copReactComponents.Utils.interpolateString("".concat(((_config$deleteAction = config.deleteAction) === null || _config$deleteAction === void 0 ? void 0 : _config$deleteAction.label) || DEFAULT_DELETE_BUTTON_LABEL, " ").concat(config.title || DEFAULT_TITLE), _objectSpread(_objectSpread({}, entryData), {}, {
71
72
  index: entryData.index + 1
72
- })
73
+ }))
73
74
  }, config.deleteAction.label || DEFAULT_DELETE_BUTTON_LABEL)))), /*#__PURE__*/_react.default.createElement("div", {
74
75
  className: classes('content')
75
76
  }, /*#__PURE__*/_react.default.createElement("dl", {
76
77
  className: listClass()
77
- }, masterPage === null || masterPage === void 0 || (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.flatMap(childPage => {
78
+ }, masterPage === null || masterPage === void 0 || (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.flatMap(function (childPage) {
78
79
  var _childPage$summaryLay;
79
- const elevatedComponents = childPage.components.map(component => _utils.default.Component.elevateNested([component], entryData)).flat().filter(Boolean);
80
- return (_childPage$summaryLay = childPage.summaryLayout) === null || _childPage$summaryLay === void 0 || (_childPage$summaryLay = _childPage$summaryLay.sections) === null || _childPage$summaryLay === void 0 ? void 0 : _childPage$summaryLay.flatMap(section => {
81
- const filteredColumns = section.columns.filter(column => _Condition.default.meetsAll(column, {
82
- ...childPage.formData,
83
- ...entryData
84
- }));
85
- const summaryFields = filteredColumns.flatMap(column => column.fields || []);
80
+ var elevatedComponents = childPage.components.map(function (component) {
81
+ return _utils.default.Component.elevateNested([component], entryData);
82
+ }).flat().filter(Boolean);
83
+ return (_childPage$summaryLay = childPage.summaryLayout) === null || _childPage$summaryLay === void 0 || (_childPage$summaryLay = _childPage$summaryLay.sections) === null || _childPage$summaryLay === void 0 ? void 0 : _childPage$summaryLay.flatMap(function (section) {
84
+ var filteredColumns = section.columns.filter(function (column) {
85
+ return _Condition.default.meetsAll(column, _objectSpread(_objectSpread({}, childPage.formData), entryData));
86
+ });
87
+ var summaryFields = filteredColumns.flatMap(function (column) {
88
+ return column.fields || [];
89
+ });
86
90
  if (summaryFields.length) {
87
- return summaryFields.flatMap(fieldId => {
88
- const component = elevatedComponents.find(comp => comp.fieldId === fieldId);
91
+ return summaryFields.flatMap(function (fieldId) {
92
+ var component = elevatedComponents.find(function (comp) {
93
+ return comp.fieldId === fieldId;
94
+ });
89
95
  if (!component) {
90
96
  return null;
91
97
  }
92
- return (0, _getComponentRowForCYA.default)(childPage, component, listClass, entryData);
98
+ return (0, _getSummaryListRowForDetails.default)(childPage, component, listClass, entryData);
93
99
  });
94
100
  }
95
101
  return null;
@@ -84,7 +84,7 @@ $govuk-font-family: 'Roboto', arial, sans-serif;
84
84
  margin-bottom: govuk-spacing(3);
85
85
  }
86
86
  .hods-form-container .govuk-form-group {
87
- margin-bottom: 0px;
87
+ margin-bottom: 0;
88
88
 
89
89
  label {
90
90
  display: none;
@@ -10,8 +10,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
10
10
 
11
11
  // Local imports.
12
12
 
13
- describe('components.CollectionSummary.RenderListView', () => {
14
- const ENTRY = {
13
+ describe('components.CollectionSummary.RenderListView', function () {
14
+ var ENTRY = {
15
15
  id: '001',
16
16
  item1: 'Value 1',
17
17
  item2: 'Value 2',
@@ -22,7 +22,7 @@ describe('components.CollectionSummary.RenderListView', () => {
22
22
  condition: 'test',
23
23
  index: 0
24
24
  };
25
- const MASTER_PAGE = {
25
+ var MASTER_PAGE = {
26
26
  childPages: [{
27
27
  summaryLayout: {
28
28
  sections: [{
@@ -67,7 +67,7 @@ describe('components.CollectionSummary.RenderListView', () => {
67
67
  }]
68
68
  }]
69
69
  };
70
- const CONFIG = {
70
+ var CONFIG = {
71
71
  title: 'Title text 1',
72
72
  listView: true,
73
73
  changeAction: {
@@ -78,132 +78,131 @@ describe('components.CollectionSummary.RenderListView', () => {
78
78
  label: 'Delete label'
79
79
  }
80
80
  };
81
- const ID = 'testListView';
82
- let onChangeArgs = [];
83
- let onChangeCalls = 0;
84
- const ON_CHANGE = (page, id) => {
81
+ var ID = 'testListView';
82
+ var onChangeArgs = [];
83
+ var onChangeCalls = 0;
84
+ var ON_CHANGE = function ON_CHANGE(page, id) {
85
85
  onChangeArgs.push({
86
- page,
87
- id
86
+ page: page,
87
+ id: id
88
88
  });
89
89
  onChangeCalls += 1;
90
90
  };
91
- beforeEach(() => {
91
+ beforeEach(function () {
92
92
  onChangeArgs = [];
93
93
  });
94
- let onDeleteArgs = [];
95
- let onDeleteCalls = 0;
96
- const ON_DELETE = entry => {
94
+ var onDeleteArgs = [];
95
+ var onDeleteCalls = 0;
96
+ var ON_DELETE = function ON_DELETE(entry) {
97
97
  onDeleteArgs.push(entry);
98
98
  onDeleteCalls += 1;
99
99
  };
100
- beforeEach(() => {
100
+ beforeEach(function () {
101
101
  onDeleteArgs = [];
102
102
  });
103
- const getComponentRow = () => /*#__PURE__*/_react2.default.createElement("div", {
104
- className: "govuk-summary-list__row"
105
- }, /*#__PURE__*/_react2.default.createElement("dt", {
106
- className: "govuk-summary-list__key"
107
- }, "Test Key"), /*#__PURE__*/_react2.default.createElement("dd", {
108
- className: "govuk-summary-list__value"
109
- }, /*#__PURE__*/_react2.default.createElement("div", null, "Test Value")));
103
+ var getComponentRow = function getComponentRow() {
104
+ return /*#__PURE__*/_react2.default.createElement("div", {
105
+ className: "govuk-summary-list__row"
106
+ }, /*#__PURE__*/_react2.default.createElement("dt", {
107
+ className: "govuk-summary-list__key"
108
+ }, "Test Key"), /*#__PURE__*/_react2.default.createElement("dd", {
109
+ className: "govuk-summary-list__value"
110
+ }, /*#__PURE__*/_react2.default.createElement("div", null, "Test Value")));
111
+ };
110
112
 
111
113
  // Setup function to check rendered elements
112
- const checkSetup = container => {
113
- const listViewDiv = container.children[0];
114
+ var checkSetup = function checkSetup(container) {
115
+ var listViewDiv = container.children[0];
114
116
  expect(listViewDiv.tagName).toEqual('DIV');
115
117
  expect(listViewDiv.classList).toContain('govuk-summary-card');
116
118
  return listViewDiv;
117
119
  };
118
- it('should correctly render RenderListView component', () => {
119
- const {
120
- container
121
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_RenderListView.default, {
122
- id: ID,
123
- entryData: ENTRY,
124
- config: CONFIG,
125
- onFullEdit: ON_CHANGE,
126
- onDelete: ON_DELETE,
127
- masterPage: MASTER_PAGE,
128
- getComponentRow: getComponentRow
129
- }));
130
- const listViewDiv = checkSetup(container);
120
+ it('should correctly render RenderListView component', function () {
121
+ var _renderWithValidation = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_RenderListView.default, {
122
+ id: ID,
123
+ entryData: ENTRY,
124
+ config: CONFIG,
125
+ onFullEdit: ON_CHANGE,
126
+ onDelete: ON_DELETE,
127
+ masterPage: MASTER_PAGE,
128
+ getComponentRow: getComponentRow
129
+ })),
130
+ container = _renderWithValidation.container;
131
+ var listViewDiv = checkSetup(container);
131
132
 
132
133
  // Check title wrapper and title text
133
- const titleWrapper = listViewDiv.querySelector('.govuk-summary-card__title-wrapper');
134
+ var titleWrapper = listViewDiv.querySelector('.govuk-summary-card__title-wrapper');
134
135
  expect(titleWrapper).not.toBeNull();
135
- const title = titleWrapper.querySelector('.govuk-summary-card__title');
136
+ var title = titleWrapper.querySelector('.govuk-summary-card__title');
136
137
  expect(title.textContent).toEqual(CONFIG.title);
137
138
 
138
139
  // Logic to check the rendered rows
139
- const rows = container.querySelectorAll('.govuk-summary-list__row');
140
+ var rows = container.querySelectorAll('.govuk-summary-list__row');
140
141
  expect(rows.length).toEqual(3);
141
142
 
142
143
  // Check the first row
143
- const firstRowKey = rows[0].querySelector('.govuk-summary-list__key');
144
- const firstRowValue = rows[0].querySelector('.govuk-summary-list__value');
144
+ var firstRowKey = rows[0].querySelector('.govuk-summary-list__key');
145
+ var firstRowValue = rows[0].querySelector('.govuk-summary-list__value');
145
146
  expect(firstRowKey.textContent).toEqual('Item 1');
146
147
  expect(firstRowValue.textContent).toEqual('Value 1');
147
148
 
148
149
  // Check the second row
149
- const secondRowKey = rows[1].querySelector('.govuk-summary-list__key');
150
- const secondRowValue = rows[1].querySelector('.govuk-summary-list__value');
150
+ var secondRowKey = rows[1].querySelector('.govuk-summary-list__key');
151
+ var secondRowValue = rows[1].querySelector('.govuk-summary-list__value');
151
152
  expect(secondRowKey.textContent).toEqual('Item 2 (optional)');
152
153
  expect(secondRowValue.textContent).toEqual('Value 2');
153
154
 
154
155
  // Check the third row
155
- const thirdRowKey = rows[2].querySelector('.govuk-summary-list__key');
156
- const thirdRowValue = rows[2].querySelector('.govuk-summary-list__value');
156
+ var thirdRowKey = rows[2].querySelector('.govuk-summary-list__key');
157
+ var thirdRowValue = rows[2].querySelector('.govuk-summary-list__value');
157
158
  expect(thirdRowKey.textContent).toEqual('Item 3');
158
159
  expect(thirdRowValue.textContent).toEqual('Value 3');
159
160
  });
160
- it('should render the index correctly in the title', () => {
161
- const {
162
- container
163
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_RenderListView.default, {
164
- id: ID,
165
- entryData: ENTRY,
166
- config: CONFIG,
167
- onFullEdit: ON_CHANGE,
168
- onDelete: ON_DELETE,
169
- masterPage: MASTER_PAGE,
170
- getComponentRow: getComponentRow
171
- }));
172
- const listViewDiv = checkSetup(container);
161
+ it('should render the index correctly in the title', function () {
162
+ var _renderWithValidation2 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_RenderListView.default, {
163
+ id: ID,
164
+ entryData: ENTRY,
165
+ config: CONFIG,
166
+ onFullEdit: ON_CHANGE,
167
+ onDelete: ON_DELETE,
168
+ masterPage: MASTER_PAGE,
169
+ getComponentRow: getComponentRow
170
+ })),
171
+ container = _renderWithValidation2.container;
172
+ var listViewDiv = checkSetup(container);
173
173
 
174
174
  // Check title wrapper and title text
175
- const titleWrapper = listViewDiv.querySelector('.govuk-summary-card__title-wrapper');
175
+ var titleWrapper = listViewDiv.querySelector('.govuk-summary-card__title-wrapper');
176
176
  expect(titleWrapper).not.toBeNull();
177
- const title = titleWrapper.querySelector('.govuk-summary-card__title');
177
+ var title = titleWrapper.querySelector('.govuk-summary-card__title');
178
178
  expect(title.textContent).toEqual(CONFIG.title);
179
179
 
180
180
  // Check if the index is rendered as expected in the title
181
181
  expect(title.textContent).toContain("Title text ".concat(ENTRY.index + 1));
182
182
  });
183
- describe('Action buttons in RenderListView', () => {
184
- beforeEach(() => {
183
+ describe('Action buttons in RenderListView', function () {
184
+ beforeEach(function () {
185
185
  onChangeArgs = [];
186
186
  onChangeCalls = 0;
187
187
  onDeleteArgs = [];
188
188
  onDeleteCalls = 0;
189
189
  });
190
- it('should render and handle action buttons correctly', () => {
191
- const {
192
- container
193
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_RenderListView.default, {
194
- id: ID,
195
- entryData: ENTRY,
196
- config: CONFIG,
197
- onFullEdit: ON_CHANGE,
198
- onDelete: ON_DELETE,
199
- masterPage: MASTER_PAGE,
200
- getComponentRow: getComponentRow
201
- }));
202
- const listViewDiv = container.querySelector('.govuk-summary-card');
190
+ it('should render and handle action buttons correctly', function () {
191
+ var _renderWithValidation3 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_RenderListView.default, {
192
+ id: ID,
193
+ entryData: ENTRY,
194
+ config: CONFIG,
195
+ onFullEdit: ON_CHANGE,
196
+ onDelete: ON_DELETE,
197
+ masterPage: MASTER_PAGE,
198
+ getComponentRow: getComponentRow
199
+ })),
200
+ container = _renderWithValidation3.container;
201
+ var listViewDiv = container.querySelector('.govuk-summary-card');
203
202
  expect(listViewDiv).not.toBeNull();
204
203
 
205
204
  // Check for change button
206
- const changeLink = listViewDiv.querySelector('.govuk-link');
205
+ var changeLink = listViewDiv.querySelector('.govuk-link');
207
206
  expect(changeLink.textContent).toEqual(CONFIG.changeAction.label);
208
207
  expect(changeLink.getAttribute('aria-label')).toEqual("".concat(CONFIG.changeAction.label, " ").concat(CONFIG.title));
209
208
  _react.fireEvent.click(changeLink, {});
@@ -214,7 +213,7 @@ describe('components.CollectionSummary.RenderListView', () => {
214
213
  });
215
214
 
216
215
  // Check for delete button
217
- const deleteButton = listViewDiv.querySelector('[id$=".deleteButton"]');
216
+ var deleteButton = listViewDiv.querySelector('[id$=".deleteButton"]');
218
217
  expect(deleteButton.textContent).toEqual(CONFIG.deleteAction.label);
219
218
  expect(deleteButton.getAttribute('aria-label')).toEqual("".concat(CONFIG.deleteAction.label, " ").concat(CONFIG.title));
220
219
  _react.fireEvent.click(deleteButton, {});