@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
@@ -9,11 +9,11 @@ var _models = require("../../models");
9
9
  var _FormPage = _interopRequireDefault(require("../FormPage"));
10
10
  var _getCYARow = _interopRequireDefault(require("./getCYARow"));
11
11
  var _getCYARowsForCollectionPage = _interopRequireDefault(require("./getCYARowsForCollectionPage"));
12
- var _getCYARowForGroup2 = _interopRequireDefault(require("./getCYARowForGroup"));
12
+ var _getCYARowForGroup = _interopRequireDefault(require("./getCYARowForGroup"));
13
13
  var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
14
14
  var _getCYARowsForContainer = _interopRequireDefault(require("./getCYARowsForContainer"));
15
15
  var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
17
  // Local imports
18
18
 
19
19
  /**
@@ -25,19 +25,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
25
25
  *
26
26
  * @returns An array of configuration objects for Check your answers rows.
27
27
  */
28
- var getCYARowsForPage = function getCYARowsForPage(page, onAction) {
29
- var fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
28
+ const getCYARowsForPage = function (page, onAction) {
29
+ let fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
30
30
  if (_FormPage.default.showCYA(page, page.formData)) {
31
- var _page$groups;
32
31
  if (page.collection) {
33
32
  return (0, _getCYARowsForCollectionPage.default)(page, onAction, fnOverride, page.formData);
34
33
  }
35
- var allComponents = (0, _elevateNestedComponents.default)(page.components, page.formData);
36
- var rows = allComponents.filter(function (c) {
37
- return (0, _showComponentCYA.default)(c, page.formData);
38
- }).flatMap(function (component) {
34
+ const allComponents = (0, _elevateNestedComponents.default)(page.components, page.formData);
35
+ const rows = allComponents.filter(c => (0, _showComponentCYA.default)(c, page.formData)).flatMap(component => {
39
36
  if (typeof fnOverride === 'function') {
40
- var overrideRows = fnOverride(page, component, onAction);
37
+ const overrideRows = fnOverride(page, component, onAction);
41
38
  if (overrideRows) {
42
39
  return overrideRows;
43
40
  }
@@ -51,23 +48,20 @@ var getCYARowsForPage = function getCYARowsForPage(page, onAction) {
51
48
  return (0, _getCYARow.default)(page, component, onAction);
52
49
  }
53
50
  });
54
- if (((_page$groups = page.groups) === null || _page$groups === void 0 ? void 0 : _page$groups.length) > 0) {
55
- page.groups.forEach(function (group) {
56
- var _getCYARowForGroup = (0, _getCYARowForGroup2.default)(page, group, rows, onAction),
57
- row = _getCYARowForGroup.row,
58
- insertAt = _getCYARowForGroup.insertAt;
51
+ if (page.groups?.length > 0) {
52
+ page.groups.forEach(group => {
53
+ const {
54
+ row,
55
+ insertAt
56
+ } = (0, _getCYARowForGroup.default)(page, group, rows, onAction);
59
57
  if (insertAt > -1) {
60
58
  rows.splice(insertAt, 0, row);
61
59
  } else {
62
60
  rows.push(row);
63
61
  }
64
62
  });
65
- var allReplacedIds = page.groups.flatMap(function (g) {
66
- return g.components;
67
- });
68
- return rows.filter(function (r) {
69
- return !allReplacedIds.includes(r.id);
70
- });
63
+ const allReplacedIds = page.groups.flatMap(g => g.components);
64
+ return rows.filter(r => !allReplacedIds.includes(r.id));
71
65
  }
72
66
  return rows;
73
67
  }
@@ -3,35 +3,31 @@
3
3
  var _setupTests = require("../../setupTests");
4
4
  var _models = require("../../models");
5
5
  var _getCYARowsForPage = _interopRequireDefault(require("./getCYARowsForPage"));
6
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
13
- describe('utils', function () {
14
- describe('CheckYourAnswers', function () {
15
- describe('getCYARowsForPage', function () {
16
- it('should get a appropriate row for a page with a single readonly text component', function () {
17
- var COMPONENT = {
6
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ // Local imports
8
+
9
+ describe('utils', () => {
10
+ describe('CheckYourAnswers', () => {
11
+ describe('getCYARowsForPage', () => {
12
+ it('should get a appropriate row for a page with a single readonly text component', () => {
13
+ const COMPONENT = {
18
14
  type: 'text',
19
15
  readonly: true,
20
16
  id: 'a',
21
17
  fieldId: 'a',
22
18
  label: 'Alpha'
23
19
  };
24
- var PAGE = {
20
+ const PAGE = {
25
21
  id: 'page',
26
22
  components: [COMPONENT],
27
23
  formData: {
28
24
  a: 'Bravo'
29
25
  }
30
26
  };
31
- var ON_ACTION = function ON_ACTION() {};
32
- var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
27
+ const ON_ACTION = () => {};
28
+ const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
33
29
  expect(ROWS.length).toEqual(1);
34
- ROWS.forEach(function (row, index) {
30
+ ROWS.forEach((row, index) => {
35
31
  (0, _setupTests.expectObjectLike)(row, {
36
32
  pageId: PAGE.id,
37
33
  fieldId: PAGE.components[index].fieldId,
@@ -42,20 +38,20 @@ describe('utils', function () {
42
38
  });
43
39
  });
44
40
  });
45
- it('should get appropriate rows for a page with two editable text components', function () {
46
- var COMPONENT_A = {
41
+ it('should get appropriate rows for a page with two editable text components', () => {
42
+ const COMPONENT_A = {
47
43
  type: 'text',
48
44
  id: 'a',
49
45
  fieldId: 'a',
50
46
  label: 'Alpha'
51
47
  };
52
- var COMPONENT_B = {
48
+ const COMPONENT_B = {
53
49
  type: 'text',
54
50
  id: 'b',
55
51
  fieldId: 'b',
56
52
  label: 'Bravo'
57
53
  };
58
- var PAGE = {
54
+ const PAGE = {
59
55
  id: 'page',
60
56
  components: [COMPONENT_A, COMPONENT_B],
61
57
  formData: {
@@ -64,40 +60,40 @@ describe('utils', function () {
64
60
  },
65
61
  cya_link: {}
66
62
  };
67
- var ON_ACTION = function ON_ACTION() {};
68
- var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
63
+ const ON_ACTION = () => {};
64
+ const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
69
65
  expect(ROWS.length).toEqual(2);
70
- ROWS.forEach(function (row, index) {
66
+ ROWS.forEach((row, index) => {
71
67
  (0, _setupTests.expectObjectLike)(row, {
72
68
  pageId: PAGE.id,
73
69
  fieldId: PAGE.components[index].fieldId,
74
70
  key: PAGE.components[index].label,
75
71
  component: PAGE.components[index],
76
- value: "".concat(PAGE.components[index].label, " Charlie")
72
+ value: `${PAGE.components[index].label} Charlie`
77
73
  });
78
74
  (0, _setupTests.expectObjectLike)(row.action, {
79
75
  onAction: ON_ACTION
80
76
  });
81
77
  });
82
78
  });
83
- it("should filter out any components that shouldn't be shown", function () {
84
- var COMPONENT_A = {
79
+ it(`should filter out any components that shouldn't be shown`, () => {
80
+ const COMPONENT_A = {
85
81
  type: 'text',
86
82
  id: 'a',
87
83
  fieldId: 'a',
88
84
  label: 'Alpha'
89
85
  };
90
- var COMPONENT_B = {
86
+ const COMPONENT_B = {
91
87
  type: 'text',
92
88
  id: 'b',
93
89
  fieldId: 'b',
94
90
  label: 'Bravo'
95
91
  };
96
- var COMPONENT_C = {
92
+ const COMPONENT_C = {
97
93
  type: 'heading',
98
94
  content: 'Heading component'
99
95
  };
100
- var PAGE = {
96
+ const PAGE = {
101
97
  id: 'page',
102
98
  components: [COMPONENT_A, COMPONENT_B, COMPONENT_C],
103
99
  formData: {
@@ -106,36 +102,36 @@ describe('utils', function () {
106
102
  },
107
103
  cya_link: {}
108
104
  };
109
- var ON_ACTION = function ON_ACTION() {};
110
- var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
105
+ const ON_ACTION = () => {};
106
+ const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
111
107
  expect(ROWS.length).toEqual(2);
112
- ROWS.forEach(function (row, index) {
108
+ ROWS.forEach((row, index) => {
113
109
  (0, _setupTests.expectObjectLike)(row, {
114
110
  pageId: PAGE.id,
115
111
  fieldId: PAGE.components[index].fieldId,
116
112
  key: PAGE.components[index].label,
117
113
  component: PAGE.components[index],
118
- value: "".concat(PAGE.components[index].label, " Charlie")
114
+ value: `${PAGE.components[index].label} Charlie`
119
115
  });
120
116
  (0, _setupTests.expectObjectLike)(row.action, {
121
117
  onAction: ON_ACTION
122
118
  });
123
119
  });
124
120
  });
125
- it('should get a appropriate row for a page with a single readonly text component inside of a container', function () {
126
- var FORM_DATA = {
121
+ it('should get a appropriate row for a page with a single readonly text component inside of a container', () => {
122
+ const FORM_DATA = {
127
123
  container: {
128
124
  a: 'Bravo'
129
125
  }
130
126
  };
131
- var COMPONENT = {
127
+ const COMPONENT = {
132
128
  type: 'text',
133
129
  readonly: true,
134
130
  id: 'a',
135
131
  fieldId: 'a',
136
132
  label: 'Alpha'
137
133
  };
138
- var CONTAINER = {
134
+ const CONTAINER = {
139
135
  id: 'container',
140
136
  fieldId: 'container',
141
137
  type: _models.ComponentTypes.CONTAINER,
@@ -143,15 +139,15 @@ describe('utils', function () {
143
139
  value: FORM_DATA.container,
144
140
  formData: FORM_DATA
145
141
  };
146
- var PAGE = {
142
+ const PAGE = {
147
143
  id: 'page',
148
144
  components: [CONTAINER],
149
145
  formData: FORM_DATA
150
146
  };
151
- var ON_ACTION = function ON_ACTION() {};
152
- var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
147
+ const ON_ACTION = () => {};
148
+ const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
153
149
  expect(ROWS.length).toEqual(1);
154
- ROWS.forEach(function (row, index) {
150
+ ROWS.forEach((row, index) => {
155
151
  (0, _setupTests.expectObjectLike)(row, {
156
152
  pageId: PAGE.id,
157
153
  fieldId: CONTAINER.components[index].fieldId,
@@ -162,32 +158,32 @@ describe('utils', function () {
162
158
  });
163
159
  });
164
160
  });
165
- it('Add ability to display answers from multiple fields in a single row', function () {
166
- var COMPONENT_ADDRESS = {
161
+ it('Add ability to display answers from multiple fields in a single row', () => {
162
+ const COMPONENT_ADDRESS = {
167
163
  id: 'firstLineOfTheAddress',
168
164
  fieldId: 'firstLineOfTheAddress',
169
165
  label: 'address',
170
166
  type: 'text'
171
167
  };
172
- var COMPONENT_TOWN = {
168
+ const COMPONENT_TOWN = {
173
169
  id: 'town',
174
170
  fieldId: 'town',
175
171
  label: 'Town',
176
172
  type: 'text'
177
173
  };
178
- var COMPONENT_CITY = {
174
+ const COMPONENT_CITY = {
179
175
  id: 'city',
180
176
  fieldId: 'city',
181
177
  label: 'City',
182
178
  type: 'text'
183
179
  };
184
- var COMPONENT_POSTCODE = {
180
+ const COMPONENT_POSTCODE = {
185
181
  id: 'postCode',
186
182
  fieldId: 'postCode',
187
183
  label: 'postCode',
188
184
  type: 'text'
189
185
  };
190
- var PAGE = {
186
+ const PAGE = {
191
187
  components: [COMPONENT_ADDRESS, COMPONENT_TOWN, COMPONENT_CITY, COMPONENT_POSTCODE],
192
188
  id: 'addressDetails',
193
189
  fieldId: 'UK address',
@@ -205,36 +201,35 @@ describe('utils', function () {
205
201
  postCode: 'SW1A 2AA'
206
202
  }
207
203
  };
208
- var ON_ACTION = function ON_ACTION() {};
204
+ const ON_ACTION = () => {};
209
205
  // rows do not have defined keys which means cannot pass them to render as an array,
210
206
  // so just pass the single row instead of array containing single row
211
- var cyaRow = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION).map(function (row) {
212
- return row.value;
213
- });
207
+ const cyaRow = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION).map(row => row.value);
214
208
  expect(cyaRow.length).toEqual(1);
215
- var _renderWithValidation = (0, _setupTests.renderWithValidation)(cyaRow[0]),
216
- container = _renderWithValidation.container;
209
+ const {
210
+ container
211
+ } = (0, _setupTests.renderWithValidation)(cyaRow[0]);
217
212
  expect(container.childNodes.length).toEqual(4);
218
- var addressValues = container.childNodes;
213
+ const addressValues = container.childNodes;
219
214
  expect(addressValues[0].childNodes[0].textContent).toEqual('10 Downing Street');
220
215
  expect(addressValues[1].childNodes[0].textContent).toEqual('City of Westminster');
221
216
  expect(addressValues[2].childNodes[0].textContent).toEqual('London');
222
217
  expect(addressValues[3].childNodes[0].textContent).toEqual('SW1A 2AA');
223
218
  });
224
- it('should get appropriate rows for a page with a single readonly text component within a collection', function () {
225
- var FORM_DATA = {
219
+ it('should get appropriate rows for a page with a single readonly text component within a collection', () => {
220
+ const FORM_DATA = {
226
221
  collection: [{
227
222
  a: 'Bravo'
228
223
  }]
229
224
  };
230
- var COMPONENT = {
225
+ const COMPONENT = {
231
226
  type: 'text',
232
227
  readonly: true,
233
228
  id: 'a',
234
229
  fieldId: 'a',
235
230
  label: 'Alpha'
236
231
  };
237
- var COLLECTION = {
232
+ const COLLECTION = {
238
233
  id: 'collection',
239
234
  fieldId: 'collection',
240
235
  type: _models.ComponentTypes.COLLECTION,
@@ -242,40 +237,41 @@ describe('utils', function () {
242
237
  value: FORM_DATA.collection,
243
238
  formData: FORM_DATA
244
239
  };
245
- var PAGE = {
240
+ const PAGE = {
246
241
  id: 'page',
247
242
  components: [COLLECTION],
248
243
  formData: FORM_DATA
249
244
  };
250
- var ON_ACTION = function ON_ACTION() {};
251
- var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
245
+ const ON_ACTION = () => {};
246
+ const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
252
247
  expect(ROWS.length).toEqual(2); // Title and item row
253
248
  (0, _setupTests.expectObjectLike)(ROWS[1], {
254
249
  pageId: PAGE.id,
255
250
  fieldId: COMPONENT.fieldId,
256
- full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
251
+ full_path: `${COLLECTION.fieldId}[0].${COMPONENT.fieldId}`,
257
252
  key: COMPONENT.label,
258
253
  action: null,
259
- component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
260
- full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
261
- }),
254
+ component: {
255
+ ...COMPONENT,
256
+ full_path: `${COLLECTION.fieldId}[0].${COMPONENT.fieldId}`
257
+ },
262
258
  value: 'Bravo'
263
259
  });
264
260
  });
265
- it('should ignore the result of the override function if it returns nullish', function () {
266
- var COMPONENT_A = {
261
+ it('should ignore the result of the override function if it returns nullish', () => {
262
+ const COMPONENT_A = {
267
263
  type: 'text',
268
264
  id: 'a',
269
265
  fieldId: 'a',
270
266
  label: 'Alpha'
271
267
  };
272
- var COMPONENT_B = {
268
+ const COMPONENT_B = {
273
269
  type: 'text',
274
270
  id: 'b',
275
271
  fieldId: 'b',
276
272
  label: 'Bravo'
277
273
  };
278
- var PAGE = {
274
+ const PAGE = {
279
275
  id: 'page',
280
276
  components: [COMPONENT_A, COMPONENT_B],
281
277
  formData: {
@@ -284,38 +280,36 @@ describe('utils', function () {
284
280
  },
285
281
  cya_link: {}
286
282
  };
287
- var ON_ACTION = function ON_ACTION() {};
288
- var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, function () {
289
- return null;
290
- });
283
+ const ON_ACTION = () => {};
284
+ const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, () => null);
291
285
  expect(ROWS.length).toEqual(2);
292
- ROWS.forEach(function (row, index) {
286
+ ROWS.forEach((row, index) => {
293
287
  (0, _setupTests.expectObjectLike)(row, {
294
288
  pageId: PAGE.id,
295
289
  fieldId: PAGE.components[index].fieldId,
296
290
  key: PAGE.components[index].label,
297
291
  component: PAGE.components[index],
298
- value: "".concat(PAGE.components[index].label, " Charlie")
292
+ value: `${PAGE.components[index].label} Charlie`
299
293
  });
300
294
  (0, _setupTests.expectObjectLike)(row.action, {
301
295
  onAction: ON_ACTION
302
296
  });
303
297
  });
304
298
  });
305
- it('should use rows produced by the override function if provided', function () {
306
- var COMPONENT_A = {
299
+ it('should use rows produced by the override function if provided', () => {
300
+ const COMPONENT_A = {
307
301
  type: 'text',
308
302
  id: 'a',
309
303
  fieldId: 'a',
310
304
  label: 'Alpha'
311
305
  };
312
- var COMPONENT_B = {
306
+ const COMPONENT_B = {
313
307
  type: 'text',
314
308
  id: 'b',
315
309
  fieldId: 'b',
316
310
  label: 'Bravo'
317
311
  };
318
- var PAGE = {
312
+ const PAGE = {
319
313
  id: 'page',
320
314
  components: [COMPONENT_A, COMPONENT_B],
321
315
  formData: {
@@ -324,16 +318,16 @@ describe('utils', function () {
324
318
  },
325
319
  cya_link: {}
326
320
  };
327
- var ON_ACTION = function ON_ACTION() {};
321
+ const ON_ACTION = () => {};
328
322
  // eslint-disable-next-line arrow-body-style
329
- var OVERRIDE = function OVERRIDE(page, comp) {
323
+ const OVERRIDE = (page, comp) => {
330
324
  // This will be called for each component on the page,
331
325
  // returning a custom row object.
332
326
  return {
333
- key: "CustomRowFor".concat(comp.label)
327
+ key: `CustomRowFor${comp.label}`
334
328
  };
335
329
  };
336
- var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, OVERRIDE);
330
+ const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, OVERRIDE);
337
331
  expect(ROWS.length).toEqual(2);
338
332
  expect(ROWS).toEqual([{
339
333
  key: 'CustomRowForAlpha'
@@ -9,23 +9,23 @@ var _Answer = _interopRequireDefault(require("../../components/CheckYourAnswers/
9
9
  var _SummaryListRow = _interopRequireDefault(require("../../components/SummaryList/SummaryListRow"));
10
10
  var _SummaryListTitleRow = _interopRequireDefault(require("../../components/SummaryList/SummaryListTitleRow"));
11
11
  var _getCYARow = _interopRequireDefault(require("./getCYARow"));
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
19
- var getSummaryListRowForDetails = function getSummaryListRowForDetails(page, component, customClasses, entryData, optionalFieldPlaceholder) {
20
- var modifiedPage = _objectSpread(_objectSpread({}, page), {}, {
21
- formData: _objectSpread(_objectSpread({}, page.formData), entryData)
22
- });
23
- var row = (0, _getCYARow.default)(modifiedPage, component);
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ // Local imports
14
+
15
+ const getSummaryListRowForDetails = (page, component, customClasses, entryData, optionalFieldPlaceholder) => {
16
+ const modifiedPage = {
17
+ ...page,
18
+ formData: {
19
+ ...page.formData,
20
+ ...entryData
21
+ }
22
+ };
23
+ const row = (0, _getCYARow.default)(modifiedPage, component);
24
24
  return component.type === 'title' ? /*#__PURE__*/_react.default.createElement(_SummaryListTitleRow.default, {
25
25
  title: component.key,
26
26
  classes: customClasses
27
27
  }) : /*#__PURE__*/_react.default.createElement(_SummaryListRow.default, {
28
- key: "".concat(row.fieldId),
28
+ key: `${row.fieldId}`,
29
29
  row: {
30
30
  key: row.key,
31
31
  value: /*#__PURE__*/_react.default.createElement(_Answer.default, {
@@ -1,53 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _getSummaryListRowForDetails = _interopRequireDefault(require("./getSummaryListRowForDetails"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
- describe('utils.CheckYourAnswers.getSummaryListRowForDetails', function () {
12
- var COMPONENT_A = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils.CheckYourAnswers.getSummaryListRowForDetails', () => {
6
+ const COMPONENT_A = {
13
7
  type: 'text',
14
8
  id: 'a',
15
9
  fieldId: 'a',
16
10
  label: 'Alpha'
17
11
  };
18
- var TITLE = {
12
+ const TITLE = {
19
13
  type: 'title',
20
14
  key: 'Bravo'
21
15
  };
22
- var PAGE = {
16
+ const PAGE = {
23
17
  id: 'page',
24
18
  components: [COMPONENT_A],
25
19
  formData: {
26
20
  a: 'Alpha Value'
27
21
  }
28
22
  };
29
- it('should get a summary list row for a component', function () {
30
- var row = (0, _getSummaryListRowForDetails.default)(PAGE, COMPONENT_A, null, {});
23
+ it('should get a summary list row for a component', () => {
24
+ const row = (0, _getSummaryListRowForDetails.default)(PAGE, COMPONENT_A, null, {});
31
25
  expect(row.props.row.key).toEqual(COMPONENT_A.label);
32
26
  expect(row.props.row.value.props).toMatchObject({
33
27
  component: COMPONENT_A,
34
28
  value: PAGE.formData[COMPONENT_A.fieldId]
35
29
  });
36
30
  });
37
- it('should get a summary list title row for a component with a type of title', function () {
38
- var row = (0, _getSummaryListRowForDetails.default)(PAGE, TITLE, null, {});
31
+ it('should get a summary list title row for a component with a type of title', () => {
32
+ const row = (0, _getSummaryListRowForDetails.default)(PAGE, TITLE, null, {});
39
33
  expect(row.props.title).toEqual(TITLE.key);
40
34
  });
41
- it('should use a placeholder value for empty optional fields if one is provided', function () {
42
- var CUSTOM_PAGE = _objectSpread(_objectSpread({}, PAGE), {}, {
35
+ it('should use a placeholder value for empty optional fields if one is provided', () => {
36
+ const CUSTOM_PAGE = {
37
+ ...PAGE,
43
38
  components: [{
44
39
  type: 'text',
45
40
  fieldId: 'componentA',
46
41
  label: 'Component A',
47
42
  required: false
48
43
  }]
49
- });
50
- var summaryListRow = (0, _getSummaryListRowForDetails.default)(CUSTOM_PAGE, CUSTOM_PAGE.components[0], null, {}, 'Not entered');
44
+ };
45
+ const summaryListRow = (0, _getSummaryListRowForDetails.default)(CUSTOM_PAGE, CUSTOM_PAGE.components[0], null, {}, 'Not entered');
51
46
  expect(summaryListRow.props.row.key).toEqual('Component A');
52
47
  expect(summaryListRow.props.row.value.props).toMatchObject({
53
48
  placeholder: 'Not entered'
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _getCYARowsForPage = _interopRequireDefault(require("./getCYARowsForPage"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  // Local imports
10
10
 
11
- var CheckYourAnswers = {
11
+ const CheckYourAnswers = {
12
12
  getRows: _getCYARowsForPage.default
13
13
  };
14
14
  var _default = exports.default = CheckYourAnswers;
@@ -8,10 +8,10 @@ var _models = require("../../models");
8
8
  var _Component = _interopRequireDefault(require("../Component"));
9
9
  var _Container = _interopRequireDefault(require("../Container"));
10
10
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  // Local imports
13
13
 
14
- var EXCLUDE_FROM_CYA = exports.EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALERT, _models.ComponentTypes.COLLECTION_SUMMARY, _models.ComponentTypes.DETAILS, _models.ComponentTypes.HEADING, _models.ComponentTypes.HTML, _models.ComponentTypes.INSET_TEXT];
14
+ const EXCLUDE_FROM_CYA = exports.EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALERT, _models.ComponentTypes.COLLECTION_SUMMARY, _models.ComponentTypes.DETAILS, _models.ComponentTypes.HEADING, _models.ComponentTypes.HTML, _models.ComponentTypes.INSET_TEXT];
15
15
 
16
16
  /**
17
17
  * Determines whether a given component should display on the Check your answers screen.
@@ -21,7 +21,7 @@ var EXCLUDE_FROM_CYA = exports.EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALERT,
21
21
  *
22
22
  * @returns A boolean true if the component should show; otherwise false.
23
23
  */
24
- var showComponentCYA = function showComponentCYA(options, data) {
24
+ const showComponentCYA = (options, data) => {
25
25
  if (!options) {
26
26
  return false;
27
27
  }
@@ -33,12 +33,12 @@ var showComponentCYA = function showComponentCYA(options, data) {
33
33
  }
34
34
  if (options.hideOnCyaWhenEmpty) {
35
35
  if (options.type === _models.ComponentTypes.COLLECTION) {
36
- var itemCollectionsData = (0, _getSourceData.default)(data, options.full_path || options.fieldId);
37
- if (!(itemCollectionsData !== null && itemCollectionsData !== void 0 && itemCollectionsData.length)) {
36
+ const itemCollectionsData = (0, _getSourceData.default)(data, options.full_path || options.fieldId);
37
+ if (!itemCollectionsData?.length) {
38
38
  return false;
39
39
  }
40
40
  } else {
41
- var value = (0, _getSourceData.default)(data, options.fieldId);
41
+ const value = (0, _getSourceData.default)(data, options.fieldId);
42
42
  if (!value && value !== false && value !== 0) {
43
43
  return false;
44
44
  }