@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
@@ -8,42 +8,41 @@ var _react = require("@testing-library/react");
8
8
  var _reactHooks = require("@testing-library/react-hooks");
9
9
  var _reactDom = require("react-dom");
10
10
  var _context = require("./context");
11
- var renderWithValidation = exports.renderWithValidation = function renderWithValidation(ui, options) {
12
- return (0, _react.render)( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
13
- overrides: options === null || options === void 0 ? void 0 : options.hooks
14
- }, /*#__PURE__*/React.createElement(_context.ValidationContextProvider, {
15
- key: "vcp"
16
- }, ui)), options);
17
- };
18
- var rerenderWithValidation = exports.rerenderWithValidation = function rerenderWithValidation(rerenderCallback, ui, options) {
19
- return rerenderCallback( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
20
- overrides: options === null || options === void 0 ? void 0 : options.hooks
21
- }, /*#__PURE__*/React.createElement(_context.ValidationContextProvider, {
22
- key: "vcp"
23
- }, ui)), options);
24
- };
25
- var renderDomWithValidation = exports.renderDomWithValidation = function renderDomWithValidation(ui, container, options) {
26
- return (0, _reactDom.render)( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
27
- overrides: options === null || options === void 0 ? void 0 : options.hooks
28
- }, /*#__PURE__*/React.createElement(_context.ValidationContextProvider, {
29
- key: "vcp"
30
- }, ui)), container);
31
- };
32
- var renderHookWithProvider = exports.renderHookWithProvider = function renderHookWithProvider(hook, options) {
33
- var wrapper = function wrapper(_ref) {
34
- var children = _ref.children;
11
+ const renderWithValidation = (ui, options) => (0, _react.render)( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
12
+ overrides: options === null || options === void 0 ? void 0 : options.hooks
13
+ }, /*#__PURE__*/React.createElement(_context.ValidationContextProvider, {
14
+ key: "vcp"
15
+ }, ui)), options);
16
+ exports.renderWithValidation = renderWithValidation;
17
+ const rerenderWithValidation = (rerenderCallback, ui, options) => rerenderCallback( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
18
+ overrides: options === null || options === void 0 ? void 0 : options.hooks
19
+ }, /*#__PURE__*/React.createElement(_context.ValidationContextProvider, {
20
+ key: "vcp"
21
+ }, ui)), options);
22
+ exports.rerenderWithValidation = rerenderWithValidation;
23
+ const renderDomWithValidation = (ui, container, options) => (0, _reactDom.render)( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
24
+ overrides: options === null || options === void 0 ? void 0 : options.hooks
25
+ }, /*#__PURE__*/React.createElement(_context.ValidationContextProvider, {
26
+ key: "vcp"
27
+ }, ui)), container);
28
+ exports.renderDomWithValidation = renderDomWithValidation;
29
+ const renderHookWithProvider = (hook, options) => {
30
+ const wrapper = _ref => {
31
+ let {
32
+ children
33
+ } = _ref;
35
34
  return /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
36
35
  overrides: options === null || options === void 0 ? void 0 : options.hooks
37
36
  }, children);
38
37
  };
39
- return (0, _reactHooks.renderHook)(function () {
40
- return hook();
41
- }, {
42
- wrapper: wrapper
38
+ return (0, _reactHooks.renderHook)(() => hook(), {
39
+ wrapper
43
40
  });
44
41
  };
45
- var expectObjectLike = exports.expectObjectLike = function expectObjectLike(received, expected) {
46
- Object.keys(expected).forEach(function (key) {
42
+ exports.renderHookWithProvider = renderHookWithProvider;
43
+ const expectObjectLike = (received, expected) => {
44
+ Object.keys(expected).forEach(key => {
47
45
  expect(received[key]).toEqual(expected[key]);
48
46
  });
49
- };
47
+ };
48
+ exports.expectObjectLike = expectObjectLike;
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var getPageFromCYALink = function getPageFromCYALink(link) {
7
+ const getPageFromCYALink = link => {
8
8
  if (link.page) {
9
9
  return link.page;
10
10
  }
11
- var url = link.href || link.url;
11
+ const url = link.href || link.url;
12
12
  if (url) {
13
13
  return url.split('/').pop();
14
14
  }
@@ -28,14 +28,14 @@ var getPageFromCYALink = function getPageFromCYALink(link) {
28
28
  * method will convert both by taking the final part of the relative path:
29
29
  * - `href: '/bravo'` => `page: 'bravo'`
30
30
  */
31
- var getCYAAction = function getCYAAction(readonly, page, onAction) {
32
- var cyaLink = page === null || page === void 0 ? void 0 : page.cya_link;
31
+ const getCYAAction = (readonly, page, onAction) => {
32
+ const cyaLink = page === null || page === void 0 ? void 0 : page.cya_link;
33
33
  if (readonly !== true && cyaLink) {
34
34
  return {
35
35
  page: getPageFromCYALink(cyaLink) || page.id || '#',
36
36
  label: cyaLink.label || 'Change',
37
37
  aria_suffix: cyaLink.aria_suffix,
38
- onAction: onAction
38
+ onAction
39
39
  };
40
40
  }
41
41
  return null;
@@ -4,116 +4,114 @@ var _getCYAAction = _interopRequireDefault(require("./getCYAAction"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils', function () {
8
- describe('CheckYourAnswers', function () {
9
- describe('getCYAAction', function () {
10
- var getPage = function getPage(cyaLink, id) {
11
- return {
12
- cya_link: cyaLink,
13
- id: id
14
- };
15
- };
16
- it('should return null if readonly', function () {
17
- expect((0, _getCYAAction.default)(true, {}, function () {})).toBeNull();
7
+ describe('utils', () => {
8
+ describe('CheckYourAnswers', () => {
9
+ describe('getCYAAction', () => {
10
+ const getPage = (cyaLink, id) => ({
11
+ cya_link: cyaLink,
12
+ id
13
+ });
14
+ it('should return null if readonly', () => {
15
+ expect((0, _getCYAAction.default)(true, {}, () => {})).toBeNull();
18
16
  });
19
- it('should return null if there is no cya_link', function () {
20
- expect((0, _getCYAAction.default)(false, null, function () {})).toBeNull();
17
+ it('should return null if there is no cya_link', () => {
18
+ expect((0, _getCYAAction.default)(false, null, () => {})).toBeNull();
21
19
  });
22
- it('should return a default action if the cya_link is empty and the page has no id', function () {
23
- var cyaLink = {};
24
- var onAction = function onAction() {};
20
+ it('should return a default action if the cya_link is empty and the page has no id', () => {
21
+ const cyaLink = {};
22
+ const onAction = () => {};
25
23
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
26
24
  page: '#',
27
25
  label: 'Change',
28
- onAction: onAction
26
+ onAction
29
27
  });
30
28
  });
31
- it('should return a default action if the cya_link is empty but the page has an id', function () {
32
- var PAGE_ID = 'page-id';
33
- var cyaLink = {};
34
- var onAction = function onAction() {};
29
+ it('should return a default action if the cya_link is empty but the page has an id', () => {
30
+ const PAGE_ID = 'page-id';
31
+ const cyaLink = {};
32
+ const onAction = () => {};
35
33
  expect((0, _getCYAAction.default)(false, getPage(cyaLink, PAGE_ID), onAction)).toEqual({
36
34
  page: PAGE_ID,
37
35
  label: 'Change',
38
- onAction: onAction
36
+ onAction
39
37
  });
40
38
  });
41
- it('should use page specified in cya_link', function () {
42
- var PAGE = 'alpha';
43
- var cyaLink = {
39
+ it('should use page specified in cya_link', () => {
40
+ const PAGE = 'alpha';
41
+ const cyaLink = {
44
42
  page: PAGE
45
43
  };
46
- var onAction = function onAction() {};
44
+ const onAction = () => {};
47
45
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
48
46
  page: PAGE,
49
47
  label: 'Change',
50
- onAction: onAction
48
+ onAction
51
49
  });
52
50
  });
53
- it('should convert an href specified in cya_link', function () {
54
- var HREF = '/alpha/bravo';
55
- var cyaLink = {
51
+ it('should convert an href specified in cya_link', () => {
52
+ const HREF = '/alpha/bravo';
53
+ const cyaLink = {
56
54
  href: HREF
57
55
  };
58
- var onAction = function onAction() {};
56
+ const onAction = () => {};
59
57
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
60
58
  page: 'bravo',
61
59
  label: 'Change',
62
- onAction: onAction
60
+ onAction
63
61
  });
64
62
  });
65
- it('should convert a url specified in cya_link', function () {
66
- var URL = '/alpha/bravo';
67
- var cyaLink = {
63
+ it('should convert a url specified in cya_link', () => {
64
+ const URL = '/alpha/bravo';
65
+ const cyaLink = {
68
66
  url: URL
69
67
  };
70
- var onAction = function onAction() {};
68
+ const onAction = () => {};
71
69
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
72
70
  page: 'bravo',
73
71
  label: 'Change',
74
- onAction: onAction
72
+ onAction
75
73
  });
76
74
  });
77
- it('should use label specified in cya_link', function () {
78
- var LABEL = 'Alpha Bravo Charlie';
79
- var cyaLink = {
75
+ it('should use label specified in cya_link', () => {
76
+ const LABEL = 'Alpha Bravo Charlie';
77
+ const cyaLink = {
80
78
  label: LABEL
81
79
  };
82
- var onAction = function onAction() {};
80
+ const onAction = () => {};
83
81
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
84
82
  page: '#',
85
83
  label: LABEL,
86
- onAction: onAction
84
+ onAction
87
85
  });
88
86
  });
89
- it('should use aria_suffix specified in cya_link', function () {
90
- var ARIA_SUFFIX = 'This is hidden text';
91
- var cyaLink = {
87
+ it('should use aria_suffix specified in cya_link', () => {
88
+ const ARIA_SUFFIX = 'This is hidden text';
89
+ const cyaLink = {
92
90
  aria_suffix: ARIA_SUFFIX
93
91
  };
94
- var onAction = function onAction() {};
92
+ const onAction = () => {};
95
93
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
96
94
  page: '#',
97
95
  label: 'Change',
98
96
  aria_suffix: ARIA_SUFFIX,
99
- onAction: onAction
97
+ onAction
100
98
  });
101
99
  });
102
- it('should use all properties specified in cya_link', function () {
103
- var PAGE = 'alpha';
104
- var LABEL = 'Alpha Bravo Charlie';
105
- var ARIA_SUFFIX = 'This is hidden text';
106
- var cyaLink = {
100
+ it('should use all properties specified in cya_link', () => {
101
+ const PAGE = 'alpha';
102
+ const LABEL = 'Alpha Bravo Charlie';
103
+ const ARIA_SUFFIX = 'This is hidden text';
104
+ const cyaLink = {
107
105
  label: LABEL,
108
106
  page: PAGE,
109
107
  aria_suffix: ARIA_SUFFIX
110
108
  };
111
- var onAction = function onAction() {};
109
+ const onAction = () => {};
112
110
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
113
111
  page: PAGE,
114
112
  label: LABEL,
115
113
  aria_suffix: ARIA_SUFFIX,
116
- onAction: onAction
114
+ onAction
117
115
  });
118
116
  });
119
117
  });
@@ -1,24 +1,15 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = void 0;
8
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
9
8
  var _models = require("../../models");
10
- 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; }
11
- 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; }
12
- 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; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- 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); }
15
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
20
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
9
+ // Global imports
10
+
21
11
  // Local imports
12
+
22
13
  /**
23
14
  * Gets an action object that triggers editing of an entry in a page collection.
24
15
  *
@@ -30,35 +21,34 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global
30
21
  * @param {array} activeIds A list of active Ids that must be set to make Item the active entry.
31
22
  * @returns The resulting action object.
32
23
  */
33
- var getCYACollectionChangeAction = function getCYACollectionChangeAction(page, item, _onAction, labelCount, action) {
34
- var activeIds = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
35
- var label = (action === null || action === void 0 ? void 0 : action.label) || _models.CollectionLabels.change;
24
+ const getCYACollectionChangeAction = function (page, item, onAction, labelCount, action) {
25
+ let activeIds = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
26
+ const label = (action === null || action === void 0 ? void 0 : action.label) || _models.CollectionLabels.change;
36
27
  return {
37
28
  pageId: page.id,
38
29
  fieldId: "change".concat(labelCount).concat(action.page),
39
30
  key: "change".concat(labelCount).concat(action.page),
40
31
  type: 'action',
41
32
  action: {
42
- onAction: function onAction(row) {
43
- var changeCallback = function changeCallback(cyaData) {
44
- var data = cyaData;
33
+ onAction: row => {
34
+ const changeCallback = cyaData => {
35
+ const data = cyaData;
45
36
  // Apply the activeIds to make sure we're editing the right item.
46
37
  // Not using the spread syntax as data could be a huge object.
47
- Object.entries(activeIds).forEach(function (entry) {
48
- var _entry = _slicedToArray(entry, 2),
49
- activeIdKey = _entry[0],
50
- activeId = _entry[1];
38
+ Object.entries(activeIds).forEach(entry => {
39
+ const [activeIdKey, activeId] = entry;
51
40
  data[activeIdKey] = activeId;
52
41
  });
53
42
  return data;
54
43
  };
55
- _onAction(action.page ? {
44
+ onAction(action.page ? {
56
45
  pageId: action.page
57
46
  } : row, changeCallback);
58
47
  },
59
- label: _copReactComponents.Utils.interpolateString(label, _objectSpread(_objectSpread({}, item), {}, {
48
+ label: _copReactComponents.Utils.interpolateString(label, {
49
+ ...item,
60
50
  index: labelCount
61
- }))
51
+ })
62
52
  }
63
53
  };
64
54
  };
@@ -2,26 +2,24 @@
2
2
 
3
3
  var _getCYACollectionChangeAction = _interopRequireDefault(require("./getCYACollectionChangeAction"));
4
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); } // Local imports
11
- describe('utils', function () {
12
- describe('CheckYourAnswers', function () {
13
- describe('getCYACollectionChangeAction', function () {
14
- var PAGE = {
5
+ // Local imports
6
+
7
+ describe('utils', () => {
8
+ describe('CheckYourAnswers', () => {
9
+ describe('getCYACollectionChangeAction', () => {
10
+ const PAGE = {
15
11
  id: 2,
16
12
  collection: {
17
13
  name: 'collectionName'
18
14
  }
19
15
  };
20
- var ITEM = {
16
+ const ITEM = {
21
17
  id: 2
22
18
  };
23
- var TEST_DATA = {
24
- page: _objectSpread({}, PAGE),
19
+ let TEST_DATA = {
20
+ page: {
21
+ ...PAGE
22
+ },
25
23
  collectionName: [{
26
24
  id: 1
27
25
  }, {
@@ -31,28 +29,28 @@ describe('utils', function () {
31
29
  }],
32
30
  collectionNameActiveId: 3
33
31
  };
34
- it('should change activeId to the selected item and call onAction with the correct page', function () {
35
- var ON_ACTION = function ON_ACTION(row, callback) {
32
+ it('should change activeId to the selected item and call onAction with the correct page', () => {
33
+ const ON_ACTION = (row, callback) => {
36
34
  expect(row.id).toEqual(2);
37
35
  TEST_DATA = callback(TEST_DATA);
38
36
  };
39
- var action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, ON_ACTION, 0, {}, {
37
+ const action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, ON_ACTION, 0, {}, {
40
38
  collectionNameActiveId: 2
41
39
  });
42
40
  action.action.onAction(PAGE);
43
41
  expect(TEST_DATA.collectionNameActiveId).toEqual(2);
44
42
  });
45
- it('should change all necessary activeIds when moving to edit a nested collection entry', function () {
46
- var NESTED_COLLECTION_PAGE = {
43
+ it('should change all necessary activeIds when moving to edit a nested collection entry', () => {
44
+ const NESTED_COLLECTION_PAGE = {
47
45
  id: 'pageid',
48
46
  collection: {
49
47
  name: 'parent.child.grandchild'
50
48
  }
51
49
  };
52
- var NESTED_ITEM = {
50
+ const NESTED_ITEM = {
53
51
  id: '001'
54
52
  };
55
- var NESTED_TEST_DATA = {
53
+ let NESTED_TEST_DATA = {
56
54
  parentActiveId: '000',
57
55
  childActiveId: '000',
58
56
  grandchildActiveId: '000',
@@ -72,32 +70,32 @@ describe('utils', function () {
72
70
  }]
73
71
  }]
74
72
  };
75
- var ACTIVE_IDS = {
73
+ const ACTIVE_IDS = {
76
74
  parentActiveId: '001',
77
75
  childActiveId: '001',
78
76
  grandchildActiveId: '001'
79
77
  };
80
- var ON_ACTION = function ON_ACTION(row, callback) {
78
+ const ON_ACTION = (row, callback) => {
81
79
  expect(row.id).toEqual(2);
82
80
  NESTED_TEST_DATA = callback(NESTED_TEST_DATA);
83
81
  };
84
- var action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {}, ACTIVE_IDS);
82
+ const action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {}, ACTIVE_IDS);
85
83
  action.action.onAction(PAGE);
86
84
  expect(NESTED_TEST_DATA.parentActiveId).toEqual('001');
87
85
  expect(NESTED_TEST_DATA.childActiveId).toEqual('001');
88
86
  expect(NESTED_TEST_DATA.grandchildActiveId).toEqual('001');
89
87
  });
90
- it('should not change any active IDs if they are not provided', function () {
91
- var NESTED_COLLECTION_PAGE = {
88
+ it('should not change any active IDs if they are not provided', () => {
89
+ const NESTED_COLLECTION_PAGE = {
92
90
  id: 'pageid',
93
91
  collection: {
94
92
  name: 'parent.child.grandchild'
95
93
  }
96
94
  };
97
- var NESTED_ITEM = {
95
+ const NESTED_ITEM = {
98
96
  id: '001'
99
97
  };
100
- var NESTED_TEST_DATA = {
98
+ let NESTED_TEST_DATA = {
101
99
  parentActiveId: '000',
102
100
  childActiveId: '000',
103
101
  grandchildActiveId: '000',
@@ -117,26 +115,26 @@ describe('utils', function () {
117
115
  }]
118
116
  }]
119
117
  };
120
- var ON_ACTION = function ON_ACTION(row, callback) {
118
+ const ON_ACTION = (row, callback) => {
121
119
  expect(row.id).toEqual(2);
122
120
  NESTED_TEST_DATA = callback(NESTED_TEST_DATA);
123
121
  };
124
- var action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {});
122
+ const action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {});
125
123
  action.action.onAction(PAGE);
126
124
  expect(NESTED_TEST_DATA.parentActiveId).toEqual('000');
127
125
  expect(NESTED_TEST_DATA.childActiveId).toEqual('000');
128
126
  expect(NESTED_TEST_DATA.grandchildActiveId).toEqual('000');
129
127
  });
130
- it('should get label to custom value', function () {
131
- var action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, function () {}, 0, {
128
+ it('should get label to custom value', () => {
129
+ const action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, () => {}, 0, {
132
130
  label: 'customName'
133
131
  }, {
134
132
  collectionNameActiveId: 2
135
133
  });
136
134
  expect(action.action.label).toEqual('customName');
137
135
  });
138
- it('should call onAction with a custom page', function () {
139
- var PAGE_WITH_CUSTOM_DESTINATION = {
136
+ it('should call onAction with a custom page', () => {
137
+ const PAGE_WITH_CUSTOM_DESTINATION = {
140
138
  id: 2,
141
139
  collection: {
142
140
  name: 'collectionName',
@@ -147,11 +145,11 @@ describe('utils', function () {
147
145
  }]
148
146
  }
149
147
  };
150
- var ON_ACTION = function ON_ACTION(page, callback) {
148
+ const ON_ACTION = (page, callback) => {
151
149
  expect(page.pageId).toEqual('confirmDelete');
152
150
  TEST_DATA = callback(TEST_DATA);
153
151
  };
154
- var action = (0, _getCYACollectionChangeAction.default)(PAGE_WITH_CUSTOM_DESTINATION, ITEM, ON_ACTION, 0, PAGE_WITH_CUSTOM_DESTINATION.collection.actions[0], {
152
+ const action = (0, _getCYACollectionChangeAction.default)(PAGE_WITH_CUSTOM_DESTINATION, ITEM, ON_ACTION, 0, PAGE_WITH_CUSTOM_DESTINATION.collection.actions[0], {
155
153
  collectionNameActiveId: 2
156
154
  });
157
155
  action.action.onAction({});
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -9,21 +8,11 @@ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
9
8
  var _CollectionPage = _interopRequireDefault(require("../CollectionPage"));
10
9
  var _models = require("../../models");
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- 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; }
13
- 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; }
14
- 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; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
- 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); }
17
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
21
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
22
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
11
+ // Global imports
12
+
23
13
  // Local imports
24
- var isValidIndex = function isValidIndex(value) {
25
- return typeof value === 'number' && value >= 0;
26
- };
14
+
15
+ const isValidIndex = value => typeof value === 'number' && value >= 0;
27
16
 
28
17
  /**
29
18
  * Gets an action object that triggers the removal of an item from a page Collection.
@@ -36,42 +25,39 @@ var isValidIndex = function isValidIndex(value) {
36
25
  * @param {array} activeIds A list of active Ids that must be set to make Item the active entry.
37
26
  * @returns The resulting action object.
38
27
  */
39
- var getCYACollectionDeleteAction = function getCYACollectionDeleteAction(page, item, _onAction, labelCount, action, activeIds) {
40
- var label = (action === null || action === void 0 ? void 0 : action.label) || _models.CollectionLabels.remove;
28
+ const getCYACollectionDeleteAction = (page, item, onAction, labelCount, action, activeIds) => {
29
+ const label = (action === null || action === void 0 ? void 0 : action.label) || _models.CollectionLabels.remove;
41
30
  return {
42
31
  pageId: page.id,
43
32
  fieldId: "delete".concat(labelCount),
44
33
  key: "delete".concat(labelCount),
45
34
  type: 'action',
46
35
  action: {
47
- onAction: function onAction() {
48
- var deleteCallback = function deleteCallback(cyaData) {
49
- var data = cyaData;
36
+ onAction: () => {
37
+ const deleteCallback = cyaData => {
38
+ const data = cyaData;
50
39
  if (!activeIds) {
51
40
  return data;
52
41
  }
53
42
  // Apply the activeIds to make sure we're deleting the right item.
54
43
  // Not using the spread syntax as data could be a huge object.
55
- Object.entries(activeIds).forEach(function (entry) {
56
- var _entry = _slicedToArray(entry, 2),
57
- activeIdKey = _entry[0],
58
- activeId = _entry[1];
44
+ Object.entries(activeIds).forEach(entry => {
45
+ const [activeIdKey, activeId] = entry;
59
46
  data[activeIdKey] = activeId;
60
47
  });
61
- var collectionData = _CollectionPage.default.getData(page.collection.name, data);
62
- var indexToDelete = collectionData === null || collectionData === void 0 ? void 0 : collectionData.findIndex(function (entry) {
63
- return entry.id === item.id;
64
- });
48
+ const collectionData = _CollectionPage.default.getData(page.collection.name, data);
49
+ const indexToDelete = collectionData === null || collectionData === void 0 ? void 0 : collectionData.findIndex(entry => entry.id === item.id);
65
50
  if (isValidIndex(indexToDelete)) {
66
51
  collectionData.splice(indexToDelete, 1);
67
52
  }
68
53
  return data;
69
54
  };
70
- _onAction(null, deleteCallback);
55
+ onAction(null, deleteCallback);
71
56
  },
72
- label: _copReactComponents.Utils.interpolateString(label, _objectSpread(_objectSpread({}, item), {}, {
57
+ label: _copReactComponents.Utils.interpolateString(label, {
58
+ ...item,
73
59
  index: labelCount
74
- }))
60
+ })
75
61
  }
76
62
  };
77
63
  };