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