@ukhomeoffice/cop-react-form-renderer 6.0.6-peter → 6.7.0-alpha

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 (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +2 -2
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  6. package/dist/components/CollectionPage/CollectionPage.js +75 -59
  7. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  8. package/dist/components/CollectionSummary/BannerStrip.js +15 -14
  9. package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +98 -59
  11. package/dist/components/CollectionSummary/CollectionSummary.js +144 -135
  12. package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +167 -197
  14. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  15. package/dist/components/CollectionSummary/Confirmation.scss +1 -1
  16. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  17. package/dist/components/CollectionSummary/RenderListView.js +54 -56
  18. package/dist/components/CollectionSummary/RenderListView.scss +10 -1
  19. package/dist/components/CollectionSummary/RenderListView.test.js +89 -78
  20. package/dist/components/CollectionSummary/SummaryCard.js +135 -145
  21. package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
  22. package/dist/components/CollectionSummary/SummaryCard.test.js +943 -932
  23. package/dist/components/CollectionSummary/SummaryCardDetails.js +120 -62
  24. package/dist/components/CollectionSummary/SummaryCardDetails.scss +43 -6
  25. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +261 -120
  26. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +38 -33
  27. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -73
  28. package/dist/components/FormComponent/Collection.js +81 -108
  29. package/dist/components/FormComponent/Collection.test.js +909 -943
  30. package/dist/components/FormComponent/Container.js +40 -38
  31. package/dist/components/FormComponent/Container.test.js +314 -345
  32. package/dist/components/FormComponent/FormComponent.js +80 -71
  33. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  34. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  36. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  38. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  40. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  41. package/dist/components/FormComponent/helpers/index.js +4 -4
  42. package/dist/components/FormPage/FormPage.js +65 -80
  43. package/dist/components/FormPage/FormPage.scss +1 -1
  44. package/dist/components/FormPage/FormPage.test.js +127 -163
  45. package/dist/components/FormRenderer/FormRenderer.js +150 -183
  46. package/dist/components/FormRenderer/FormRenderer.scss +1 -1
  47. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  48. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  49. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  50. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  51. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  52. package/dist/components/FormRenderer/handlers/index.js +1 -1
  53. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  54. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  56. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  58. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  60. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  61. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  62. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  63. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  64. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  65. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  66. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  67. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  68. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  70. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  72. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  74. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  75. package/dist/components/FormRenderer/helpers/index.js +2 -4
  76. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  77. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  78. package/dist/components/FormRenderer/onPageAction.js +50 -48
  79. package/dist/components/FormRenderer/onPageAction.test.js +241 -217
  80. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  81. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  82. package/dist/components/PageActions/ActionButton.js +12 -15
  83. package/dist/components/PageActions/ActionButton.test.js +56 -78
  84. package/dist/components/PageActions/PageActions.js +10 -10
  85. package/dist/components/PageActions/PageActions.test.js +86 -115
  86. package/dist/components/SummaryList/GroupAction.js +9 -17
  87. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  88. package/dist/components/SummaryList/RowAction.js +11 -16
  89. package/dist/components/SummaryList/RowAction.test.js +37 -33
  90. package/dist/components/SummaryList/SummaryList.js +21 -26
  91. package/dist/components/SummaryList/SummaryList.scss +2 -2
  92. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  94. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  95. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  100. package/dist/components/SummaryList/helpers/index.js +1 -1
  101. package/dist/components/TaskList/Task.js +19 -29
  102. package/dist/components/TaskList/Task.test.js +83 -76
  103. package/dist/components/TaskList/TaskList.js +45 -71
  104. package/dist/components/TaskList/TaskList.scss +1 -1
  105. package/dist/components/TaskList/TaskList.test.js +113 -111
  106. package/dist/components/TaskList/TaskState.js +7 -5
  107. package/dist/components/TaskList/TaskState.test.js +52 -45
  108. package/dist/components/index.js +7 -7
  109. package/dist/context/HooksContext/HooksContext.js +57 -80
  110. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  111. package/dist/context/HooksContext/index.js +3 -4
  112. package/dist/context/ValidationContext/ValidationContext.js +65 -72
  113. package/dist/context/ValidationContext/ValidationContext.test.js +58 -61
  114. package/dist/context/ValidationContext/index.js +3 -4
  115. package/dist/context/index.js +2 -2
  116. package/dist/hooks/index.js +9 -10
  117. package/dist/hooks/useAxios.js +14 -40
  118. package/dist/hooks/useGetRequest.js +61 -97
  119. package/dist/hooks/useHooks.js +1 -3
  120. package/dist/hooks/useRefData.js +27 -40
  121. package/dist/hooks/useValidation.js +1 -3
  122. package/dist/index.js +13 -14
  123. package/dist/models/CollectionLabels.js +1 -1
  124. package/dist/models/ComponentTypes.js +25 -25
  125. package/dist/models/EventTypes.js +4 -4
  126. package/dist/models/FormPages.js +4 -4
  127. package/dist/models/FormTypes.js +8 -8
  128. package/dist/models/HubFormats.js +3 -3
  129. package/dist/models/PageAction.js +44 -38
  130. package/dist/models/TaskStates.js +29 -28
  131. package/dist/models/index.js +9 -9
  132. package/dist/setupTests.js +30 -31
  133. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  134. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  139. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  140. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  151. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  152. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  153. package/dist/utils/CheckYourAnswers/index.js +1 -1
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -5
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +29 -24
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -4
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +7 -27
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +29 -19
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +66 -22
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  166. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  167. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  168. package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
  169. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +153 -0
  170. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -23
  171. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  172. package/dist/utils/CollectionPage/index.js +3 -1
  173. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  174. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -17
  178. package/dist/utils/CollectionPage/setCollectionPageData.test.js +38 -20
  179. package/dist/utils/Component/addShowWhen.js +4 -8
  180. package/dist/utils/Component/addShowWhen.test.js +37 -37
  181. package/dist/utils/Component/applyToComponentTree.js +18 -18
  182. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  183. package/dist/utils/Component/cleanAttributes.js +10 -13
  184. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  185. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  186. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  187. package/dist/utils/Component/getComponent.js +88 -94
  188. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  190. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  191. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  192. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  195. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  196. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  197. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  198. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  199. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  200. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  201. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  202. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  203. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  204. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  205. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  206. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  207. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  208. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  209. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  210. package/dist/utils/Component/getDefaultValue.js +6 -8
  211. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  212. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  213. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  214. package/dist/utils/Component/index.js +1 -1
  215. package/dist/utils/Component/isEditable.js +2 -4
  216. package/dist/utils/Component/isEditable.test.js +14 -15
  217. package/dist/utils/Component/optionIsSelected.js +1 -1
  218. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  219. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  220. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  221. package/dist/utils/Component/showComponent.js +1 -1
  222. package/dist/utils/Component/showComponent.test.js +28 -28
  223. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  224. package/dist/utils/Condition/index.js +1 -1
  225. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  226. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  227. package/dist/utils/Condition/meetsCondition.js +28 -19
  228. package/dist/utils/Condition/meetsCondition.test.js +476 -376
  229. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  230. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  231. package/dist/utils/Condition/setupConditions.js +13 -18
  232. package/dist/utils/Condition/setupConditions.test.js +7 -7
  233. package/dist/utils/Container/getEditableComponents.js +3 -5
  234. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  235. package/dist/utils/Container/index.js +1 -1
  236. package/dist/utils/Container/setupNesting.js +16 -20
  237. package/dist/utils/Container/setupNesting.test.js +27 -30
  238. package/dist/utils/Container/showContainer.js +3 -7
  239. package/dist/utils/Container/showContainer.test.js +30 -30
  240. package/dist/utils/Data/applyFormula.js +38 -48
  241. package/dist/utils/Data/applyFormula.test.js +20 -20
  242. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  243. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  244. package/dist/utils/Data/getDataPath.js +18 -28
  245. package/dist/utils/Data/getDataPath.test.js +12 -12
  246. package/dist/utils/Data/getOptions.js +29 -25
  247. package/dist/utils/Data/getOptions.test.js +93 -20
  248. package/dist/utils/Data/getSourceData.js +6 -19
  249. package/dist/utils/Data/getSourceData.test.js +84 -80
  250. package/dist/utils/Data/index.js +1 -1
  251. package/dist/utils/Data/nestInRefdataOptions.js +42 -0
  252. package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
  253. package/dist/utils/Data/refDataToOptions.js +10 -13
  254. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  255. package/dist/utils/Data/setDataItem.js +7 -8
  256. package/dist/utils/Data/setDataItem.test.js +37 -37
  257. package/dist/utils/Data/setupFormData.js +13 -21
  258. package/dist/utils/Data/setupFormData.test.js +51 -50
  259. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  260. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  261. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  262. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  263. package/dist/utils/FormPage/getConditionalText.js +3 -3
  264. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  265. package/dist/utils/FormPage/getFormPage.js +15 -16
  266. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  267. package/dist/utils/FormPage/getFormPages.js +7 -12
  268. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  269. package/dist/utils/FormPage/getPageActions.js +9 -15
  270. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  271. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  272. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  273. package/dist/utils/FormPage/index.js +2 -4
  274. package/dist/utils/FormPage/showFormPage.js +3 -7
  275. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  276. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  277. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  278. package/dist/utils/FormPage/useComponent.js +21 -28
  279. package/dist/utils/FormPage/useComponent.test.js +77 -79
  280. package/dist/utils/Format/formatData.js +1 -1
  281. package/dist/utils/Format/formatData.test.js +18 -18
  282. package/dist/utils/Format/formatDataForComponent.js +5 -6
  283. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  284. package/dist/utils/Format/formatDataForForm.js +6 -8
  285. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  286. package/dist/utils/Format/formatDataForPage.js +4 -5
  287. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  288. package/dist/utils/Format/index.js +1 -1
  289. package/dist/utils/Hub/getFormHub.js +1 -1
  290. package/dist/utils/Hub/getFormHub.test.js +28 -31
  291. package/dist/utils/Hub/index.js +1 -1
  292. package/dist/utils/Meta/constants.js +2 -2
  293. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  294. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  295. package/dist/utils/Meta/documents/index.js +1 -1
  296. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  297. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  298. package/dist/utils/Meta/index.js +1 -1
  299. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  301. package/dist/utils/Operate/getFirstOf.js +5 -5
  302. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  303. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  304. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  305. package/dist/utils/Operate/index.js +1 -1
  306. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  307. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  308. package/dist/utils/Operate/runPageOperations.js +7 -7
  309. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  310. package/dist/utils/Operate/setValueInFormData.js +2 -2
  311. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  312. package/dist/utils/Operate/shouldRun.js +6 -6
  313. package/dist/utils/Operate/shouldRun.test.js +21 -27
  314. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  315. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  316. package/dist/utils/Validate/additional/index.js +6 -6
  317. package/dist/utils/Validate/additional/index.test.js +12 -12
  318. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  319. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  320. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  321. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  322. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  323. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  324. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  325. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  326. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  327. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  328. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  330. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  331. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  332. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  333. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  334. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  336. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  337. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  338. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  339. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  340. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  341. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  342. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  343. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  344. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  345. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  346. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  347. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  348. package/dist/utils/Validate/additional/utils.js +9 -22
  349. package/dist/utils/Validate/index.js +1 -1
  350. package/dist/utils/Validate/validateCollection.js +19 -25
  351. package/dist/utils/Validate/validateCollection.test.js +74 -66
  352. package/dist/utils/Validate/validateComponent.js +17 -15
  353. package/dist/utils/Validate/validateComponent.test.js +167 -146
  354. package/dist/utils/Validate/validateContainer.js +16 -19
  355. package/dist/utils/Validate/validateContainer.test.js +84 -45
  356. package/dist/utils/Validate/validateDate.js +15 -21
  357. package/dist/utils/Validate/validateDate.test.js +31 -32
  358. package/dist/utils/Validate/validateEmail.js +6 -8
  359. package/dist/utils/Validate/validateEmail.test.js +25 -25
  360. package/dist/utils/Validate/validateMultifile.js +5 -7
  361. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  362. package/dist/utils/Validate/validatePage.js +24 -18
  363. package/dist/utils/Validate/validatePage.test.js +263 -182
  364. package/dist/utils/Validate/validateRegex.js +3 -5
  365. package/dist/utils/Validate/validateRegex.test.js +14 -14
  366. package/dist/utils/Validate/validateRequired.js +4 -6
  367. package/dist/utils/Validate/validateRequired.test.js +18 -18
  368. package/dist/utils/Validate/validateTextArea.js +4 -6
  369. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  370. package/dist/utils/Validate/validateTime.js +11 -18
  371. package/dist/utils/Validate/validateTime.test.js +16 -16
  372. package/dist/utils/index.js +7 -9
  373. package/package.json +5 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -4,34 +4,30 @@ 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
- 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 = {
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,10 +60,10 @@ 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,
@@ -80,24 +76,24 @@ describe('utils', function () {
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,10 +102,10 @@ 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,
@@ -122,20 +118,20 @@ describe('utils', function () {
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,13 +237,13 @@ 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,
@@ -256,26 +251,27 @@ describe('utils', function () {
256
251
  full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
257
252
  key: COMPONENT.label,
258
253
  action: null,
259
- component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
254
+ component: {
255
+ ...COMPONENT,
260
256
  full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
261
- }),
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,12 +280,10 @@ 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,
@@ -302,20 +296,20 @@ describe('utils', function () {
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
327
  key: "CustomRowFor".concat(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,17 +9,17 @@ var _Answer = _interopRequireDefault(require("../../components/CheckYourAnswers/
9
9
  var _SummaryListRow = _interopRequireDefault(require("../../components/SummaryList/SummaryListRow"));
10
10
  var _getCYARow = _interopRequireDefault(require("./getCYARow"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- 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); }
13
- 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; }
14
- 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; }
15
- 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; }
16
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
- 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
18
- var getComponentRowForCYA = function getComponentRowForCYA(page, component, customClasses, entryData) {
19
- var modifiedPage = _objectSpread(_objectSpread({}, page), {}, {
20
- formData: _objectSpread(_objectSpread({}, page.formData), entryData)
21
- });
22
- var row = (0, _getCYARow.default)(modifiedPage, component);
12
+ // Local imports
13
+
14
+ const getComponentRowForCYA = (page, component, customClasses, entryData) => {
15
+ const modifiedPage = {
16
+ ...page,
17
+ formData: {
18
+ ...page.formData,
19
+ ...entryData
20
+ }
21
+ };
22
+ const row = (0, _getCYARow.default)(modifiedPage, component);
23
23
  return /*#__PURE__*/_react.default.createElement(_SummaryListRow.default, {
24
24
  key: "".concat(row.fieldId),
25
25
  row: {
@@ -2,20 +2,20 @@
2
2
 
3
3
  var _getCYARowsForPage = _interopRequireDefault(require("./getCYARowsForPage"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.CheckYourAnswers.getCYARowsForPage', function () {
6
- var COMPONENT_A = {
5
+ describe('utils.CheckYourAnswers.getCYARowsForPage', () => {
6
+ const COMPONENT_A = {
7
7
  type: 'text',
8
8
  id: 'a',
9
9
  fieldId: 'a',
10
10
  label: 'Alpha'
11
11
  };
12
- var COMPONENT_B = {
12
+ const COMPONENT_B = {
13
13
  type: 'text',
14
14
  id: 'b',
15
15
  fieldId: 'b',
16
16
  label: 'Bravo'
17
17
  };
18
- var PAGE = {
18
+ const PAGE = {
19
19
  id: 'page',
20
20
  components: [COMPONENT_A, COMPONENT_B],
21
21
  formData: {
@@ -23,9 +23,9 @@ describe('utils.CheckYourAnswers.getCYARowsForPage', function () {
23
23
  b: 'Bravo Value'
24
24
  }
25
25
  };
26
- var ON_ACTION = function ON_ACTION() {};
27
- it('should get rows for a page with readonly text components', function () {
28
- var rows = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
26
+ const ON_ACTION = () => {};
27
+ it('should get rows for a page with readonly text components', () => {
28
+ const rows = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
29
29
  expect(rows.length).toEqual(2);
30
30
  expect(rows[0]).toEqual(expect.objectContaining({
31
31
  fieldId: COMPONENT_A.fieldId,
@@ -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
- var CheckYourAnswers = {
11
+ const CheckYourAnswers = {
12
12
  getRows: _getCYARowsForPage.default
13
13
  };
14
14
  var _default = exports.default = CheckYourAnswers;
@@ -9,10 +9,9 @@ var _Component = _interopRequireDefault(require("../Component"));
9
9
  var _Container = _interopRequireDefault(require("../Container"));
10
10
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- /* eslint-disable no-console */
13
12
  // Local imports
14
13
 
15
- var EXCLUDE_FROM_CYA = exports.EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALERT, _models.ComponentTypes.COLLECTION_SUMMARY, _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];
16
15
 
17
16
  /**
18
17
  * Determines whether a given component should display on the Check your answers screen.
@@ -22,7 +21,7 @@ var EXCLUDE_FROM_CYA = exports.EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALERT,
22
21
  *
23
22
  * @returns A boolean true if the component should show; otherwise false.
24
23
  */
25
- var showComponentCYA = function showComponentCYA(options, data) {
24
+ const showComponentCYA = (options, data) => {
26
25
  if (!options) {
27
26
  return false;
28
27
  }
@@ -34,12 +33,12 @@ var showComponentCYA = function showComponentCYA(options, data) {
34
33
  }
35
34
  if (options.hideOnCyaWhenEmpty) {
36
35
  if (options.type === _models.ComponentTypes.COLLECTION) {
37
- var itemCollectionsData = (0, _getSourceData.default)(data, options.full_path);
36
+ const itemCollectionsData = (0, _getSourceData.default)(data, options.full_path);
38
37
  if (!(itemCollectionsData !== null && itemCollectionsData !== void 0 && itemCollectionsData.length)) {
39
38
  return false;
40
39
  }
41
40
  } else {
42
- var value = (0, _getSourceData.default)(data, options.fieldId);
41
+ const value = (0, _getSourceData.default)(data, options.fieldId);
43
42
  if (!value && value !== false && value !== 0) {
44
43
  return false;
45
44
  }
@@ -5,81 +5,86 @@ var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', function () {
9
- describe('CheckYourAnswers', function () {
10
- describe('showComponentCYA', function () {
11
- it('should not show when there are no options', function () {
8
+ describe('utils', () => {
9
+ describe('CheckYourAnswers', () => {
10
+ describe('showComponentCYA', () => {
11
+ it('should not show when there are no options', () => {
12
12
  expect((0, _showComponentCYA.default)(null, null)).toBeFalsy();
13
13
  });
14
- it('should not show when show_on_cya is defined and falsy', function () {
14
+ it('should not show when show_on_cya is defined and falsy', () => {
15
15
  expect((0, _showComponentCYA.default)({
16
16
  show_on_cya: false
17
17
  })).toBeFalsy();
18
18
  });
19
- it('should not show when it is a heading type', function () {
19
+ it('should not show when it is a heading type', () => {
20
20
  expect((0, _showComponentCYA.default)({
21
21
  type: _models.ComponentTypes.HEADING
22
22
  }, null)).toBeFalsy();
23
23
  });
24
- it('should not show when it is an html type', function () {
24
+ it('should not show when it is an html type', () => {
25
25
  expect((0, _showComponentCYA.default)({
26
26
  type: _models.ComponentTypes.HTML
27
27
  }, null)).toBeFalsy();
28
28
  });
29
- it('should not show when it is an inset-text type', function () {
29
+ it('should not show when it is an inset-text type', () => {
30
30
  expect((0, _showComponentCYA.default)({
31
31
  type: _models.ComponentTypes.INSET_TEXT
32
32
  }, null)).toBeFalsy();
33
33
  });
34
- it('should not show when it hidden and disabled', function () {
34
+ it('should not show when it is a details type', () => {
35
+ expect((0, _showComponentCYA.default)({
36
+ type: _models.ComponentTypes.DETAILS
37
+ }, null)).toBeFalsy();
38
+ });
39
+ it('should not show when it hidden and disabled', () => {
35
40
  expect((0, _showComponentCYA.default)({
36
41
  hidden: true,
37
42
  disabled: true
38
43
  }, null)).toBeFalsy();
39
44
  });
40
- it('should show when show_on_cya is defined and truthy', function () {
45
+ it('should show when show_on_cya is defined and truthy', () => {
41
46
  expect((0, _showComponentCYA.default)({
42
47
  show_on_cya: true
43
48
  })).toBeTruthy();
44
49
  });
45
- it('should show when it hidden but not disabled', function () {
50
+ it('should show when it hidden but not disabled', () => {
46
51
  expect((0, _showComponentCYA.default)({
47
52
  hidden: true
48
53
  }, null)).toBeTruthy();
49
54
  });
50
- it('should show when it disabled but not hidden', function () {
55
+ it('should show when it disabled but not hidden', () => {
51
56
  expect((0, _showComponentCYA.default)({
52
57
  disabled: true
53
58
  }, null)).toBeTruthy();
54
59
  });
55
- it('should show when it not html, inset-text, a heading, hidden, or disabled', function () {
60
+ it('should show when it not html, inset-text, a heading, hidden, or disabled', () => {
56
61
  expect((0, _showComponentCYA.default)({
57
62
  type: _models.ComponentTypes.TEXT
58
63
  }, null)).toBeTruthy();
59
64
  });
60
- it('should show when hideOnCyaWhenEmpty is defined and falsy', function () {
65
+ it('should show when hideOnCyaWhenEmpty is defined and falsy', () => {
61
66
  expect((0, _showComponentCYA.default)({
62
67
  hideOnCyaWhenEmpty: false
63
68
  })).toBeTruthy();
64
69
  });
65
- it('should show collection when hideOnCyaWhenEmpty is not defined', function () {
70
+ it('should show collection when hideOnCyaWhenEmpty is not defined', () => {
66
71
  expect((0, _showComponentCYA.default)({
67
72
  type: _models.ComponentTypes.COLLECTION
68
73
  })).toBeTruthy();
69
74
  });
70
- it('should not show when it\'s a collection and hideOnCyaWhenEmpty is truthy', function () {
75
+ it('should not show when it\'s a collection and hideOnCyaWhenEmpty is truthy', () => {
71
76
  expect((0, _showComponentCYA.default)({
72
77
  hideOnCyaWhenEmpty: true,
73
78
  type: _models.ComponentTypes.COLLECTION
74
79
  })).toBeFalsy();
75
80
  });
76
- it('should not show when it\'s not a collection and hideOnCyaWhenEmpty is truthy', function () {
81
+ it('should not show when it\'s not a collection and hideOnCyaWhenEmpty is truthy', () => {
77
82
  expect((0, _showComponentCYA.default)({
78
83
  hideOnCyaWhenEmpty: true,
79
84
  type: _models.ComponentTypes.TEXT
80
85
  })).toBeFalsy();
81
86
  });
82
- it('should show when length of full_path data is 1 or more', function () {
87
+ it('should show when length of full_path data is 1 or more', () => {
83
88
  expect((0, _showComponentCYA.default)({
84
89
  hideOnCyaWhenEmpty: true,
85
90
  type: _models.ComponentTypes.COLLECTION,
@@ -88,7 +93,7 @@ describe('utils', function () {
88
93
  example: [0, 1]
89
94
  })).toBeTruthy();
90
95
  });
91
- it('should not show when length of full_path data is less than 1', function () {
96
+ it('should not show when length of full_path data is less than 1', () => {
92
97
  expect((0, _showComponentCYA.default)({
93
98
  hideOnCyaWhenEmpty: true,
94
99
  type: _models.ComponentTypes.COLLECTION,
@@ -97,7 +102,7 @@ describe('utils', function () {
97
102
  example: []
98
103
  })).toBeFalsy();
99
104
  });
100
- it('should show when value of component data does exist and hideOnCyaWhenEmpty is truthy', function () {
105
+ it('should show when value of component data does exist and hideOnCyaWhenEmpty is truthy', () => {
101
106
  expect((0, _showComponentCYA.default)({
102
107
  hideOnCyaWhenEmpty: true,
103
108
  type: _models.ComponentTypes.TEXT,
@@ -106,21 +111,21 @@ describe('utils', function () {
106
111
  example: "yes"
107
112
  })).toBeTruthy();
108
113
  });
109
- it('should not show when value of component data does not exist and hideOnCyaWhenEmpty is truthy', function () {
114
+ it('should not show when value of component data does not exist and hideOnCyaWhenEmpty is truthy', () => {
110
115
  expect((0, _showComponentCYA.default)({
111
116
  hideOnCyaWhenEmpty: true,
112
117
  type: _models.ComponentTypes.TEXT,
113
118
  fieldId: "example"
114
119
  }, {})).toBeFalsy();
115
120
  });
116
- it('should show when value of component data does not exist and hideOnCyaWhenEmpty is falsy', function () {
121
+ it('should show when value of component data does not exist and hideOnCyaWhenEmpty is falsy', () => {
117
122
  expect((0, _showComponentCYA.default)({
118
123
  hideOnCyaWhenEmpty: false,
119
124
  type: _models.ComponentTypes.TEXT,
120
125
  fieldId: "example"
121
126
  }, {})).toBeTruthy();
122
127
  });
123
- it('should show when value of component data does is falsy and hideOnCyaWhenEmpty is truthy', function () {
128
+ it('should show when value of component data does is falsy and hideOnCyaWhenEmpty is truthy', () => {
124
129
  expect((0, _showComponentCYA.default)({
125
130
  hideOnCyaWhenEmpty: true,
126
131
  type: _models.ComponentTypes.TEXT,
@@ -129,7 +134,7 @@ describe('utils', function () {
129
134
  example: false
130
135
  })).toBeTruthy();
131
136
  });
132
- it('should show when value of component data is numerically zero and hideOnCyaWhenEmpty is truthy', function () {
137
+ it('should show when value of component data is numerically zero and hideOnCyaWhenEmpty is truthy', () => {
133
138
  expect((0, _showComponentCYA.default)({
134
139
  hideOnCyaWhenEmpty: true,
135
140
  type: _models.ComponentTypes.TEXT,
@@ -15,9 +15,8 @@ exports.default = void 0;
15
15
  * @param {string} collectionName The name of the collection to create the new entry for.
16
16
  * @param {object} formData The top level formData object.
17
17
  */
18
- var addCollectionPageEntry = function addCollectionPageEntry(collectionName, formData) {
19
- var fieldName = collectionName.split('.').pop();
20
- formData["".concat(fieldName, "ActiveId")] = '0';
21
- formData["".concat(fieldName, "NumberedIndex")] = Number(formData["".concat(fieldName, "ActiveId")]) + 1;
18
+ const addCollectionPageEntry = (collectionName, formData) => {
19
+ const fieldName = collectionName.split('.').pop();
20
+ formData["".concat(fieldName, "ActiveId")] = null;
22
21
  };
23
22
  var _default = exports.default = addCollectionPageEntry;