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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/RenderListView.js +52 -46
  14. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  15. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  16. package/dist/components/CollectionSummary/SummaryCard.js +152 -110
  17. package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
  18. package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
  19. package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  23. package/dist/components/FormComponent/Collection.js +108 -74
  24. package/dist/components/FormComponent/Collection.test.js +1081 -909
  25. package/dist/components/FormComponent/Container.js +39 -40
  26. package/dist/components/FormComponent/Container.test.js +412 -312
  27. package/dist/components/FormComponent/FormComponent.js +72 -69
  28. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  29. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  30. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  32. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  33. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  34. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  36. package/dist/components/FormComponent/helpers/index.js +4 -4
  37. package/dist/components/FormPage/FormPage.js +80 -65
  38. package/dist/components/FormPage/FormPage.test.js +163 -127
  39. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  40. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  41. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  42. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  43. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  44. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  45. package/dist/components/FormRenderer/handlers/index.js +1 -1
  46. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  47. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  48. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  49. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  50. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  51. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  52. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  53. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  55. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  57. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  58. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  59. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  60. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  61. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  63. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  64. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  65. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  66. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  67. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  68. package/dist/components/FormRenderer/helpers/index.js +1 -1
  69. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  70. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  71. package/dist/components/FormRenderer/onPageAction.js +39 -43
  72. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  73. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  74. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  75. package/dist/components/PageActions/ActionButton.js +15 -12
  76. package/dist/components/PageActions/ActionButton.test.js +78 -56
  77. package/dist/components/PageActions/PageActions.js +10 -10
  78. package/dist/components/PageActions/PageActions.test.js +115 -86
  79. package/dist/components/SummaryList/GroupAction.js +17 -9
  80. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  81. package/dist/components/SummaryList/RowAction.js +16 -11
  82. package/dist/components/SummaryList/RowAction.test.js +33 -37
  83. package/dist/components/SummaryList/SummaryList.js +34 -21
  84. package/dist/components/SummaryList/SummaryList.scss +15 -0
  85. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  86. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  87. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  88. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  89. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  90. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  91. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  92. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  93. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/index.js +1 -1
  96. package/dist/components/TaskList/Task.js +29 -19
  97. package/dist/components/TaskList/Task.test.js +76 -83
  98. package/dist/components/TaskList/TaskList.js +92 -49
  99. package/dist/components/TaskList/TaskList.scss +24 -0
  100. package/dist/components/TaskList/TaskList.test.js +255 -113
  101. package/dist/components/TaskList/TaskState.js +5 -7
  102. package/dist/components/TaskList/TaskState.test.js +45 -52
  103. package/dist/components/index.js +7 -7
  104. package/dist/context/HooksContext/HooksContext.js +80 -57
  105. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  106. package/dist/context/HooksContext/index.js +4 -3
  107. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  108. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  109. package/dist/context/ValidationContext/index.js +4 -3
  110. package/dist/context/index.js +2 -2
  111. package/dist/hooks/index.js +10 -9
  112. package/dist/hooks/useAxios.js +40 -14
  113. package/dist/hooks/useGetRequest.js +97 -61
  114. package/dist/hooks/useHooks.js +3 -1
  115. package/dist/hooks/useRefData.js +39 -26
  116. package/dist/hooks/useValidation.js +3 -1
  117. package/dist/index.js +14 -13
  118. package/dist/models/CollectionLabels.js +1 -1
  119. package/dist/models/ComponentTypes.js +25 -25
  120. package/dist/models/EventTypes.js +4 -4
  121. package/dist/models/FormPages.js +4 -4
  122. package/dist/models/FormTypes.js +8 -8
  123. package/dist/models/HubFormats.js +3 -3
  124. package/dist/models/PageAction.js +38 -44
  125. package/dist/models/TaskStates.js +28 -29
  126. package/dist/models/index.js +9 -9
  127. package/dist/setupTests.js +31 -30
  128. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  129. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  130. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  131. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  132. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  133. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  134. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  135. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  136. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  137. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  138. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  139. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  140. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
  142. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  144. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  145. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  146. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  147. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  148. package/dist/utils/CheckYourAnswers/index.js +1 -1
  149. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  150. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  151. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  152. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  153. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  154. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  155. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  156. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  157. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  158. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  159. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  160. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  161. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  162. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  163. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  164. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  165. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  166. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  167. package/dist/utils/CollectionPage/index.js +1 -1
  168. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  169. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  170. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  171. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  172. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  173. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  174. package/dist/utils/Component/addShowWhen.js +8 -4
  175. package/dist/utils/Component/addShowWhen.test.js +37 -37
  176. package/dist/utils/Component/applyToComponentTree.js +18 -18
  177. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  178. package/dist/utils/Component/cleanAttributes.js +13 -10
  179. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  180. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  181. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  182. package/dist/utils/Component/getComponent.js +94 -88
  183. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  184. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  185. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  186. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  187. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  188. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  191. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  192. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  193. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  194. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  196. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  197. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  199. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  200. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  202. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  203. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  204. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  205. package/dist/utils/Component/getDefaultValue.js +8 -6
  206. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  207. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  208. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  209. package/dist/utils/Component/index.js +1 -1
  210. package/dist/utils/Component/isEditable.js +4 -2
  211. package/dist/utils/Component/isEditable.test.js +15 -14
  212. package/dist/utils/Component/optionIsSelected.js +6 -1
  213. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  214. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  215. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  216. package/dist/utils/Component/showComponent.js +1 -1
  217. package/dist/utils/Component/showComponent.test.js +28 -28
  218. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  219. package/dist/utils/Condition/index.js +1 -1
  220. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  221. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  222. package/dist/utils/Condition/meetsCondition.js +25 -16
  223. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  224. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  225. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  226. package/dist/utils/Condition/setupConditions.js +18 -13
  227. package/dist/utils/Condition/setupConditions.test.js +7 -7
  228. package/dist/utils/Container/getEditableComponents.js +5 -3
  229. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  230. package/dist/utils/Container/index.js +1 -1
  231. package/dist/utils/Container/setupNesting.js +20 -16
  232. package/dist/utils/Container/setupNesting.test.js +30 -27
  233. package/dist/utils/Container/showContainer.js +7 -3
  234. package/dist/utils/Container/showContainer.test.js +30 -30
  235. package/dist/utils/Data/applyFormula.js +48 -38
  236. package/dist/utils/Data/applyFormula.test.js +20 -20
  237. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  238. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  239. package/dist/utils/Data/getDataPath.js +28 -18
  240. package/dist/utils/Data/getDataPath.test.js +12 -12
  241. package/dist/utils/Data/getOptions.js +30 -24
  242. package/dist/utils/Data/getOptions.test.js +27 -27
  243. package/dist/utils/Data/getSourceData.js +19 -6
  244. package/dist/utils/Data/getSourceData.test.js +80 -84
  245. package/dist/utils/Data/index.js +1 -1
  246. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  247. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  248. package/dist/utils/Data/refDataToOptions.js +13 -10
  249. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  250. package/dist/utils/Data/setDataItem.js +8 -7
  251. package/dist/utils/Data/setDataItem.test.js +37 -37
  252. package/dist/utils/Data/setupFormData.js +21 -13
  253. package/dist/utils/Data/setupFormData.test.js +50 -51
  254. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  255. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  256. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  257. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  258. package/dist/utils/FormPage/getConditionalText.js +3 -3
  259. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  260. package/dist/utils/FormPage/getFormPage.js +16 -15
  261. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  262. package/dist/utils/FormPage/getFormPages.js +12 -7
  263. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  264. package/dist/utils/FormPage/getPageActions.js +15 -9
  265. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  266. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  267. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  268. package/dist/utils/FormPage/index.js +4 -2
  269. package/dist/utils/FormPage/showFormPage.js +7 -3
  270. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  271. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  272. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  273. package/dist/utils/FormPage/useComponent.js +28 -21
  274. package/dist/utils/FormPage/useComponent.test.js +79 -77
  275. package/dist/utils/Format/formatData.js +1 -1
  276. package/dist/utils/Format/formatData.test.js +18 -18
  277. package/dist/utils/Format/formatDataForComponent.js +6 -5
  278. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  279. package/dist/utils/Format/formatDataForForm.js +8 -6
  280. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  281. package/dist/utils/Format/formatDataForPage.js +5 -4
  282. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  283. package/dist/utils/Format/index.js +1 -1
  284. package/dist/utils/Hub/getFormHub.js +1 -1
  285. package/dist/utils/Hub/getFormHub.test.js +31 -28
  286. package/dist/utils/Hub/index.js +1 -1
  287. package/dist/utils/Meta/constants.js +2 -2
  288. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  289. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  290. package/dist/utils/Meta/documents/index.js +1 -1
  291. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  292. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  293. package/dist/utils/Meta/index.js +1 -1
  294. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  295. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  296. package/dist/utils/Operate/getFirstOf.js +5 -5
  297. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  298. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  299. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  300. package/dist/utils/Operate/getLength.js +50 -0
  301. package/dist/utils/Operate/getLength.test.js +89 -0
  302. package/dist/utils/Operate/index.js +1 -1
  303. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  304. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  305. package/dist/utils/Operate/runPageOperations.js +9 -7
  306. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  307. package/dist/utils/Operate/setValueInFormData.js +2 -2
  308. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  309. package/dist/utils/Operate/shouldRun.js +6 -6
  310. package/dist/utils/Operate/shouldRun.test.js +27 -21
  311. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  312. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  313. package/dist/utils/Validate/additional/index.js +6 -6
  314. package/dist/utils/Validate/additional/index.test.js +12 -12
  315. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  317. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  318. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  319. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  320. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  321. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  322. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  323. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  325. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  327. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  328. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  329. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  330. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  331. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  333. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  334. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  335. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  337. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  338. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  339. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  340. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  341. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  342. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  343. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  344. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  345. package/dist/utils/Validate/additional/utils.js +22 -9
  346. package/dist/utils/Validate/index.js +1 -1
  347. package/dist/utils/Validate/validateCollection.js +25 -19
  348. package/dist/utils/Validate/validateCollection.test.js +66 -74
  349. package/dist/utils/Validate/validateComponent.js +21 -18
  350. package/dist/utils/Validate/validateComponent.test.js +176 -166
  351. package/dist/utils/Validate/validateContainer.js +20 -15
  352. package/dist/utils/Validate/validateContainer.test.js +52 -58
  353. package/dist/utils/Validate/validateDate.js +21 -15
  354. package/dist/utils/Validate/validateDate.test.js +32 -31
  355. package/dist/utils/Validate/validateEmail.js +8 -6
  356. package/dist/utils/Validate/validateEmail.test.js +25 -25
  357. package/dist/utils/Validate/validateMultifile.js +7 -5
  358. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  359. package/dist/utils/Validate/validatePage.js +22 -19
  360. package/dist/utils/Validate/validatePage.test.js +203 -215
  361. package/dist/utils/Validate/validateRegex.js +5 -3
  362. package/dist/utils/Validate/validateRegex.test.js +14 -14
  363. package/dist/utils/Validate/validateRequired.js +6 -4
  364. package/dist/utils/Validate/validateRequired.test.js +18 -18
  365. package/dist/utils/Validate/validateTextArea.js +6 -4
  366. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  367. package/dist/utils/Validate/validateTime.js +26 -11
  368. package/dist/utils/Validate/validateTime.test.js +62 -16
  369. package/dist/utils/index.js +9 -7
  370. package/package.json +2 -2
  371. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  372. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -4,30 +4,34 @@ var _setupTests = require("../../setupTests");
4
4
  var _models = require("../../models");
5
5
  var _getCYARowsForPage = _interopRequireDefault(require("./getCYARowsForPage"));
6
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 = {
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 = {
14
18
  type: 'text',
15
19
  readonly: true,
16
20
  id: 'a',
17
21
  fieldId: 'a',
18
22
  label: 'Alpha'
19
23
  };
20
- const PAGE = {
24
+ var PAGE = {
21
25
  id: 'page',
22
26
  components: [COMPONENT],
23
27
  formData: {
24
28
  a: 'Bravo'
25
29
  }
26
30
  };
27
- const ON_ACTION = () => {};
28
- const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
31
+ var ON_ACTION = function ON_ACTION() {};
32
+ var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
29
33
  expect(ROWS.length).toEqual(1);
30
- ROWS.forEach((row, index) => {
34
+ ROWS.forEach(function (row, index) {
31
35
  (0, _setupTests.expectObjectLike)(row, {
32
36
  pageId: PAGE.id,
33
37
  fieldId: PAGE.components[index].fieldId,
@@ -38,20 +42,20 @@ describe('utils', () => {
38
42
  });
39
43
  });
40
44
  });
41
- it('should get appropriate rows for a page with two editable text components', () => {
42
- const COMPONENT_A = {
45
+ it('should get appropriate rows for a page with two editable text components', function () {
46
+ var COMPONENT_A = {
43
47
  type: 'text',
44
48
  id: 'a',
45
49
  fieldId: 'a',
46
50
  label: 'Alpha'
47
51
  };
48
- const COMPONENT_B = {
52
+ var COMPONENT_B = {
49
53
  type: 'text',
50
54
  id: 'b',
51
55
  fieldId: 'b',
52
56
  label: 'Bravo'
53
57
  };
54
- const PAGE = {
58
+ var PAGE = {
55
59
  id: 'page',
56
60
  components: [COMPONENT_A, COMPONENT_B],
57
61
  formData: {
@@ -60,10 +64,10 @@ describe('utils', () => {
60
64
  },
61
65
  cya_link: {}
62
66
  };
63
- const ON_ACTION = () => {};
64
- const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
67
+ var ON_ACTION = function ON_ACTION() {};
68
+ var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
65
69
  expect(ROWS.length).toEqual(2);
66
- ROWS.forEach((row, index) => {
70
+ ROWS.forEach(function (row, index) {
67
71
  (0, _setupTests.expectObjectLike)(row, {
68
72
  pageId: PAGE.id,
69
73
  fieldId: PAGE.components[index].fieldId,
@@ -76,24 +80,24 @@ describe('utils', () => {
76
80
  });
77
81
  });
78
82
  });
79
- it("should filter out any components that shouldn't be shown", () => {
80
- const COMPONENT_A = {
83
+ it("should filter out any components that shouldn't be shown", function () {
84
+ var COMPONENT_A = {
81
85
  type: 'text',
82
86
  id: 'a',
83
87
  fieldId: 'a',
84
88
  label: 'Alpha'
85
89
  };
86
- const COMPONENT_B = {
90
+ var COMPONENT_B = {
87
91
  type: 'text',
88
92
  id: 'b',
89
93
  fieldId: 'b',
90
94
  label: 'Bravo'
91
95
  };
92
- const COMPONENT_C = {
96
+ var COMPONENT_C = {
93
97
  type: 'heading',
94
98
  content: 'Heading component'
95
99
  };
96
- const PAGE = {
100
+ var PAGE = {
97
101
  id: 'page',
98
102
  components: [COMPONENT_A, COMPONENT_B, COMPONENT_C],
99
103
  formData: {
@@ -102,10 +106,10 @@ describe('utils', () => {
102
106
  },
103
107
  cya_link: {}
104
108
  };
105
- const ON_ACTION = () => {};
106
- const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
109
+ var ON_ACTION = function ON_ACTION() {};
110
+ var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
107
111
  expect(ROWS.length).toEqual(2);
108
- ROWS.forEach((row, index) => {
112
+ ROWS.forEach(function (row, index) {
109
113
  (0, _setupTests.expectObjectLike)(row, {
110
114
  pageId: PAGE.id,
111
115
  fieldId: PAGE.components[index].fieldId,
@@ -118,20 +122,20 @@ describe('utils', () => {
118
122
  });
119
123
  });
120
124
  });
121
- it('should get a appropriate row for a page with a single readonly text component inside of a container', () => {
122
- const FORM_DATA = {
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 = {
123
127
  container: {
124
128
  a: 'Bravo'
125
129
  }
126
130
  };
127
- const COMPONENT = {
131
+ var COMPONENT = {
128
132
  type: 'text',
129
133
  readonly: true,
130
134
  id: 'a',
131
135
  fieldId: 'a',
132
136
  label: 'Alpha'
133
137
  };
134
- const CONTAINER = {
138
+ var CONTAINER = {
135
139
  id: 'container',
136
140
  fieldId: 'container',
137
141
  type: _models.ComponentTypes.CONTAINER,
@@ -139,15 +143,15 @@ describe('utils', () => {
139
143
  value: FORM_DATA.container,
140
144
  formData: FORM_DATA
141
145
  };
142
- const PAGE = {
146
+ var PAGE = {
143
147
  id: 'page',
144
148
  components: [CONTAINER],
145
149
  formData: FORM_DATA
146
150
  };
147
- const ON_ACTION = () => {};
148
- const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
151
+ var ON_ACTION = function ON_ACTION() {};
152
+ var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
149
153
  expect(ROWS.length).toEqual(1);
150
- ROWS.forEach((row, index) => {
154
+ ROWS.forEach(function (row, index) {
151
155
  (0, _setupTests.expectObjectLike)(row, {
152
156
  pageId: PAGE.id,
153
157
  fieldId: CONTAINER.components[index].fieldId,
@@ -158,32 +162,32 @@ describe('utils', () => {
158
162
  });
159
163
  });
160
164
  });
161
- it('Add ability to display answers from multiple fields in a single row', () => {
162
- const COMPONENT_ADDRESS = {
165
+ it('Add ability to display answers from multiple fields in a single row', function () {
166
+ var COMPONENT_ADDRESS = {
163
167
  id: 'firstLineOfTheAddress',
164
168
  fieldId: 'firstLineOfTheAddress',
165
169
  label: 'address',
166
170
  type: 'text'
167
171
  };
168
- const COMPONENT_TOWN = {
172
+ var COMPONENT_TOWN = {
169
173
  id: 'town',
170
174
  fieldId: 'town',
171
175
  label: 'Town',
172
176
  type: 'text'
173
177
  };
174
- const COMPONENT_CITY = {
178
+ var COMPONENT_CITY = {
175
179
  id: 'city',
176
180
  fieldId: 'city',
177
181
  label: 'City',
178
182
  type: 'text'
179
183
  };
180
- const COMPONENT_POSTCODE = {
184
+ var COMPONENT_POSTCODE = {
181
185
  id: 'postCode',
182
186
  fieldId: 'postCode',
183
187
  label: 'postCode',
184
188
  type: 'text'
185
189
  };
186
- const PAGE = {
190
+ var PAGE = {
187
191
  components: [COMPONENT_ADDRESS, COMPONENT_TOWN, COMPONENT_CITY, COMPONENT_POSTCODE],
188
192
  id: 'addressDetails',
189
193
  fieldId: 'UK address',
@@ -201,35 +205,36 @@ describe('utils', () => {
201
205
  postCode: 'SW1A 2AA'
202
206
  }
203
207
  };
204
- const ON_ACTION = () => {};
208
+ var ON_ACTION = function ON_ACTION() {};
205
209
  // rows do not have defined keys which means cannot pass them to render as an array,
206
210
  // so just pass the single row instead of array containing single row
207
- const cyaRow = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION).map(row => row.value);
211
+ var cyaRow = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION).map(function (row) {
212
+ return row.value;
213
+ });
208
214
  expect(cyaRow.length).toEqual(1);
209
- const {
210
- container
211
- } = (0, _setupTests.renderWithValidation)(cyaRow[0]);
215
+ var _renderWithValidation = (0, _setupTests.renderWithValidation)(cyaRow[0]),
216
+ container = _renderWithValidation.container;
212
217
  expect(container.childNodes.length).toEqual(4);
213
- const addressValues = container.childNodes;
218
+ var addressValues = container.childNodes;
214
219
  expect(addressValues[0].childNodes[0].textContent).toEqual('10 Downing Street');
215
220
  expect(addressValues[1].childNodes[0].textContent).toEqual('City of Westminster');
216
221
  expect(addressValues[2].childNodes[0].textContent).toEqual('London');
217
222
  expect(addressValues[3].childNodes[0].textContent).toEqual('SW1A 2AA');
218
223
  });
219
- it('should get appropriate rows for a page with a single readonly text component within a collection', () => {
220
- const FORM_DATA = {
224
+ it('should get appropriate rows for a page with a single readonly text component within a collection', function () {
225
+ var FORM_DATA = {
221
226
  collection: [{
222
227
  a: 'Bravo'
223
228
  }]
224
229
  };
225
- const COMPONENT = {
230
+ var COMPONENT = {
226
231
  type: 'text',
227
232
  readonly: true,
228
233
  id: 'a',
229
234
  fieldId: 'a',
230
235
  label: 'Alpha'
231
236
  };
232
- const COLLECTION = {
237
+ var COLLECTION = {
233
238
  id: 'collection',
234
239
  fieldId: 'collection',
235
240
  type: _models.ComponentTypes.COLLECTION,
@@ -237,13 +242,13 @@ describe('utils', () => {
237
242
  value: FORM_DATA.collection,
238
243
  formData: FORM_DATA
239
244
  };
240
- const PAGE = {
245
+ var PAGE = {
241
246
  id: 'page',
242
247
  components: [COLLECTION],
243
248
  formData: FORM_DATA
244
249
  };
245
- const ON_ACTION = () => {};
246
- const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
250
+ var ON_ACTION = function ON_ACTION() {};
251
+ var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
247
252
  expect(ROWS.length).toEqual(2); // Title and item row
248
253
  (0, _setupTests.expectObjectLike)(ROWS[1], {
249
254
  pageId: PAGE.id,
@@ -251,27 +256,26 @@ describe('utils', () => {
251
256
  full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
252
257
  key: COMPONENT.label,
253
258
  action: null,
254
- component: {
255
- ...COMPONENT,
259
+ component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
256
260
  full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
257
- },
261
+ }),
258
262
  value: 'Bravo'
259
263
  });
260
264
  });
261
- it('should ignore the result of the override function if it returns nullish', () => {
262
- const COMPONENT_A = {
265
+ it('should ignore the result of the override function if it returns nullish', function () {
266
+ var COMPONENT_A = {
263
267
  type: 'text',
264
268
  id: 'a',
265
269
  fieldId: 'a',
266
270
  label: 'Alpha'
267
271
  };
268
- const COMPONENT_B = {
272
+ var COMPONENT_B = {
269
273
  type: 'text',
270
274
  id: 'b',
271
275
  fieldId: 'b',
272
276
  label: 'Bravo'
273
277
  };
274
- const PAGE = {
278
+ var PAGE = {
275
279
  id: 'page',
276
280
  components: [COMPONENT_A, COMPONENT_B],
277
281
  formData: {
@@ -280,10 +284,12 @@ describe('utils', () => {
280
284
  },
281
285
  cya_link: {}
282
286
  };
283
- const ON_ACTION = () => {};
284
- const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, () => null);
287
+ var ON_ACTION = function ON_ACTION() {};
288
+ var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, function () {
289
+ return null;
290
+ });
285
291
  expect(ROWS.length).toEqual(2);
286
- ROWS.forEach((row, index) => {
292
+ ROWS.forEach(function (row, index) {
287
293
  (0, _setupTests.expectObjectLike)(row, {
288
294
  pageId: PAGE.id,
289
295
  fieldId: PAGE.components[index].fieldId,
@@ -296,20 +302,20 @@ describe('utils', () => {
296
302
  });
297
303
  });
298
304
  });
299
- it('should use rows produced by the override function if provided', () => {
300
- const COMPONENT_A = {
305
+ it('should use rows produced by the override function if provided', function () {
306
+ var COMPONENT_A = {
301
307
  type: 'text',
302
308
  id: 'a',
303
309
  fieldId: 'a',
304
310
  label: 'Alpha'
305
311
  };
306
- const COMPONENT_B = {
312
+ var COMPONENT_B = {
307
313
  type: 'text',
308
314
  id: 'b',
309
315
  fieldId: 'b',
310
316
  label: 'Bravo'
311
317
  };
312
- const PAGE = {
318
+ var PAGE = {
313
319
  id: 'page',
314
320
  components: [COMPONENT_A, COMPONENT_B],
315
321
  formData: {
@@ -318,16 +324,16 @@ describe('utils', () => {
318
324
  },
319
325
  cya_link: {}
320
326
  };
321
- const ON_ACTION = () => {};
327
+ var ON_ACTION = function ON_ACTION() {};
322
328
  // eslint-disable-next-line arrow-body-style
323
- const OVERRIDE = (page, comp) => {
329
+ var OVERRIDE = function OVERRIDE(page, comp) {
324
330
  // This will be called for each component on the page,
325
331
  // returning a custom row object.
326
332
  return {
327
333
  key: "CustomRowFor".concat(comp.label)
328
334
  };
329
335
  };
330
- const ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, OVERRIDE);
336
+ var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, OVERRIDE);
331
337
  expect(ROWS.length).toEqual(2);
332
338
  expect(ROWS).toEqual([{
333
339
  key: 'CustomRowForAlpha'
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _Answer = _interopRequireDefault(require("../../components/CheckYourAnswers/Answer"));
9
+ var _SummaryListRow = _interopRequireDefault(require("../../components/SummaryList/SummaryListRow"));
10
+ var _SummaryListTitleRow = _interopRequireDefault(require("../../components/SummaryList/SummaryListTitleRow"));
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);
24
+ return component.type === 'title' ? /*#__PURE__*/_react.default.createElement(_SummaryListTitleRow.default, {
25
+ title: component.key,
26
+ classes: customClasses
27
+ }) : /*#__PURE__*/_react.default.createElement(_SummaryListRow.default, {
28
+ key: "".concat(row.fieldId),
29
+ row: {
30
+ key: row.key,
31
+ value: /*#__PURE__*/_react.default.createElement(_Answer.default, {
32
+ value: row.value || component.value,
33
+ component: row.component,
34
+ formData: modifiedPage.formData,
35
+ placeholder: optionalFieldPlaceholder
36
+ }),
37
+ required: row.required
38
+ },
39
+ classes: customClasses
40
+ });
41
+ };
42
+ var _default = exports.default = getSummaryListRowForDetails;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
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 = {
13
+ type: 'text',
14
+ id: 'a',
15
+ fieldId: 'a',
16
+ label: 'Alpha'
17
+ };
18
+ var TITLE = {
19
+ type: 'title',
20
+ key: 'Bravo'
21
+ };
22
+ var PAGE = {
23
+ id: 'page',
24
+ components: [COMPONENT_A],
25
+ formData: {
26
+ a: 'Alpha Value'
27
+ }
28
+ };
29
+ it('should get a summary list row for a component', function () {
30
+ var row = (0, _getSummaryListRowForDetails.default)(PAGE, COMPONENT_A, null, {});
31
+ expect(row.props.row.key).toEqual(COMPONENT_A.label);
32
+ expect(row.props.row.value.props).toMatchObject({
33
+ component: COMPONENT_A,
34
+ value: PAGE.formData[COMPONENT_A.fieldId]
35
+ });
36
+ });
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, {});
39
+ expect(row.props.title).toEqual(TITLE.key);
40
+ });
41
+ it('should use a placeholder value for empty optional fields if one is provided', function () {
42
+ var CUSTOM_PAGE = _objectSpread(_objectSpread({}, PAGE), {}, {
43
+ components: [{
44
+ type: 'text',
45
+ fieldId: 'componentA',
46
+ label: 'Component A',
47
+ required: false
48
+ }]
49
+ });
50
+ var summaryListRow = (0, _getSummaryListRowForDetails.default)(CUSTOM_PAGE, CUSTOM_PAGE.components[0], null, {}, 'Not entered');
51
+ expect(summaryListRow.props.row.key).toEqual('Component A');
52
+ expect(summaryListRow.props.row.value.props).toMatchObject({
53
+ placeholder: 'Not entered'
54
+ });
55
+ });
56
+ });
@@ -8,7 +8,7 @@ var _getCYARowsForPage = _interopRequireDefault(require("./getCYARowsForPage"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  // Local imports
10
10
 
11
- const CheckYourAnswers = {
11
+ var CheckYourAnswers = {
12
12
  getRows: _getCYARowsForPage.default
13
13
  };
14
14
  var _default = exports.default = CheckYourAnswers;
@@ -11,7 +11,7 @@ var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  // Local imports
13
13
 
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];
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];
15
15
 
16
16
  /**
17
17
  * Determines whether a given component should display on the Check your answers screen.
@@ -21,7 +21,7 @@ const EXCLUDE_FROM_CYA = exports.EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALER
21
21
  *
22
22
  * @returns A boolean true if the component should show; otherwise false.
23
23
  */
24
- const showComponentCYA = (options, data) => {
24
+ var showComponentCYA = function showComponentCYA(options, data) {
25
25
  if (!options) {
26
26
  return false;
27
27
  }
@@ -33,12 +33,12 @@ const showComponentCYA = (options, data) => {
33
33
  }
34
34
  if (options.hideOnCyaWhenEmpty) {
35
35
  if (options.type === _models.ComponentTypes.COLLECTION) {
36
- const itemCollectionsData = (0, _getSourceData.default)(data, options.full_path);
36
+ var itemCollectionsData = (0, _getSourceData.default)(data, options.full_path);
37
37
  if (!(itemCollectionsData !== null && itemCollectionsData !== void 0 && itemCollectionsData.length)) {
38
38
  return false;
39
39
  }
40
40
  } else {
41
- const value = (0, _getSourceData.default)(data, options.fieldId);
41
+ var value = (0, _getSourceData.default)(data, options.fieldId);
42
42
  if (!value && value !== false && value !== 0) {
43
43
  return false;
44
44
  }