@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.90.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +15 -15
  2. package/dist/components/CheckYourAnswers/Answer.test.js +181 -132
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +142 -106
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +941 -563
  5. package/dist/components/CheckYourAnswers/index.js +1 -1
  6. package/dist/components/CollectionPage/CollectionPage.js +66 -75
  7. package/dist/components/CollectionPage/CollectionPage.test.js +369 -318
  8. package/dist/components/CollectionPage/index.js +1 -1
  9. package/dist/components/CollectionSummary/BannerStrip.js +15 -15
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +79 -83
  11. package/dist/components/CollectionSummary/CollectionSummary.js +131 -109
  12. package/dist/components/CollectionSummary/CollectionSummary.test.js +180 -198
  13. package/dist/components/CollectionSummary/Confirmation.js +13 -15
  14. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  15. package/dist/components/CollectionSummary/RenderListView.js +55 -47
  16. package/dist/components/CollectionSummary/RenderListView.test.js +81 -82
  17. package/dist/components/CollectionSummary/SummaryCard.js +157 -121
  18. package/dist/components/CollectionSummary/SummaryCard.test.js +1000 -970
  19. package/dist/components/CollectionSummary/SummaryCardDetails.js +94 -103
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +195 -187
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +36 -31
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +76 -64
  23. package/dist/components/CollectionSummary/index.js +1 -1
  24. package/dist/components/FormComponent/Collection.js +117 -80
  25. package/dist/components/FormComponent/Collection.test.js +1082 -910
  26. package/dist/components/FormComponent/Container.js +38 -43
  27. package/dist/components/FormComponent/Container.test.js +411 -379
  28. package/dist/components/FormComponent/FormComponent.js +74 -71
  29. package/dist/components/FormComponent/FormComponent.test.js +415 -354
  30. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  33. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  34. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/index.js +5 -5
  38. package/dist/components/FormComponent/index.js +1 -1
  39. package/dist/components/FormPage/FormPage.js +87 -71
  40. package/dist/components/FormPage/FormPage.test.js +170 -133
  41. package/dist/components/FormPage/index.js +1 -1
  42. package/dist/components/FormRenderer/FormRenderer.js +198 -153
  43. package/dist/components/FormRenderer/FormRenderer.test.js +1116 -731
  44. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  45. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  46. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  47. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  48. package/dist/components/FormRenderer/handlers/index.js +2 -2
  49. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  50. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  52. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  54. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +21 -17
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +30 -27
  56. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  57. package/dist/components/FormRenderer/helpers/getCYA.js +7 -5
  58. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  59. package/dist/components/FormRenderer/helpers/getFormState.js +8 -6
  60. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  61. package/dist/components/FormRenderer/helpers/getNextPageId.js +32 -18
  62. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  63. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  64. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.js +11 -8
  66. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +13 -12
  68. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -104
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +64 -65
  70. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +79 -72
  71. package/dist/components/FormRenderer/helpers/index.js +2 -2
  72. package/dist/components/FormRenderer/index.js +1 -1
  73. package/dist/components/FormRenderer/onCYAAction.js +54 -61
  74. package/dist/components/FormRenderer/onCYAAction.test.js +153 -165
  75. package/dist/components/FormRenderer/onPageAction.js +41 -45
  76. package/dist/components/FormRenderer/onPageAction.test.js +210 -225
  77. package/dist/components/FormRenderer/onTaskAction.js +15 -11
  78. package/dist/components/FormRenderer/onTaskAction.test.js +89 -94
  79. package/dist/components/PageActions/ActionButton.js +16 -13
  80. package/dist/components/PageActions/ActionButton.test.js +79 -57
  81. package/dist/components/PageActions/PageActions.js +11 -11
  82. package/dist/components/PageActions/PageActions.test.js +116 -87
  83. package/dist/components/PageActions/index.js +1 -1
  84. package/dist/components/SummaryList/GroupAction.js +21 -13
  85. package/dist/components/SummaryList/GroupAction.test.js +37 -41
  86. package/dist/components/SummaryList/RowAction.js +17 -12
  87. package/dist/components/SummaryList/RowAction.test.js +37 -41
  88. package/dist/components/SummaryList/SummaryList.js +28 -23
  89. package/dist/components/SummaryList/SummaryList.test.js +206 -179
  90. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -8
  91. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +5 -7
  92. package/dist/components/SummaryList/SummaryListRow.js +6 -8
  93. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -7
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +6 -4
  95. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +6 -4
  97. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  98. package/dist/components/SummaryList/helpers/index.js +2 -2
  99. package/dist/components/SummaryList/index.js +1 -1
  100. package/dist/components/TaskList/Task.js +30 -20
  101. package/dist/components/TaskList/Task.test.js +77 -84
  102. package/dist/components/TaskList/TaskList.js +84 -53
  103. package/dist/components/TaskList/TaskList.test.js +150 -150
  104. package/dist/components/TaskList/TaskState.js +6 -8
  105. package/dist/components/TaskList/TaskState.test.js +49 -56
  106. package/dist/components/TaskList/index.js +1 -1
  107. package/dist/components/index.js +8 -8
  108. package/dist/context/HooksContext/HooksContext.js +81 -58
  109. package/dist/context/HooksContext/HooksContext.test.js +36 -27
  110. package/dist/context/HooksContext/index.js +4 -3
  111. package/dist/context/ValidationContext/ValidationContext.js +95 -44
  112. package/dist/context/ValidationContext/ValidationContext.test.js +70 -58
  113. package/dist/context/ValidationContext/index.js +4 -3
  114. package/dist/context/index.js +3 -3
  115. package/dist/hooks/index.js +11 -10
  116. package/dist/hooks/useAxios.js +41 -15
  117. package/dist/hooks/useGetRequest.js +98 -62
  118. package/dist/hooks/useHooks.js +3 -1
  119. package/dist/hooks/useRefData.js +41 -28
  120. package/dist/hooks/useValidation.js +3 -1
  121. package/dist/index.js +15 -14
  122. package/dist/models/CollectionLabels.js +1 -1
  123. package/dist/models/ComponentTypes.js +25 -25
  124. package/dist/models/EventTypes.js +4 -4
  125. package/dist/models/FormPages.js +4 -4
  126. package/dist/models/FormTypes.js +8 -8
  127. package/dist/models/HubFormats.js +3 -3
  128. package/dist/models/PageAction.js +38 -44
  129. package/dist/models/TaskStates.js +28 -29
  130. package/dist/models/index.js +10 -10
  131. package/dist/setupTests.js +32 -31
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +55 -53
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +27 -17
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +36 -34
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +34 -20
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +45 -43
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +10 -8
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +25 -19
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +17 -16
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +45 -39
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +75 -72
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +105 -100
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +182 -218
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -26
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +106 -112
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +21 -15
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +83 -77
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +19 -14
  152. package/dist/utils/CheckYourAnswers/index.js +2 -2
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +22 -21
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +24 -14
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +43 -52
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +12 -7
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +13 -8
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +26 -25
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +23 -21
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +32 -37
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +22 -18
  171. package/dist/utils/CollectionPage/index.js +2 -2
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +42 -37
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -48
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +7 -5
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +19 -12
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
  178. package/dist/utils/Component/addShowWhen.js +8 -4
  179. package/dist/utils/Component/addShowWhen.test.js +38 -38
  180. package/dist/utils/Component/applyToComponentTree.js +20 -19
  181. package/dist/utils/Component/applyToComponentTree.test.js +33 -28
  182. package/dist/utils/Component/cleanAttributes.js +13 -10
  183. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  184. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  185. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  186. package/dist/utils/Component/getComponent.js +97 -90
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -19
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +63 -50
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +49 -40
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +40 -30
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +19 -21
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +23 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +27 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -12
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +16 -18
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -10
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +16 -18
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +27 -23
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +16 -18
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +23 -18
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +73 -58
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +23 -18
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +23 -18
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +41 -34
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +32 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -10
  209. package/dist/utils/Component/getDefaultValue.js +9 -7
  210. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  213. package/dist/utils/Component/index.js +2 -2
  214. package/dist/utils/Component/isEditable.js +4 -2
  215. package/dist/utils/Component/isEditable.test.js +15 -14
  216. package/dist/utils/Component/optionIsSelected.js +4 -2
  217. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  218. package/dist/utils/Component/setupContainerComponentsPath.js +31 -29
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  220. package/dist/utils/Component/showComponent.js +4 -3
  221. package/dist/utils/Component/showComponent.test.js +29 -29
  222. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  223. package/dist/utils/Condition/index.js +2 -2
  224. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  225. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  226. package/dist/utils/Condition/meetsCondition.js +31 -20
  227. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  228. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  229. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  230. package/dist/utils/Condition/setupConditions.js +19 -14
  231. package/dist/utils/Condition/setupConditions.test.js +8 -8
  232. package/dist/utils/Container/getEditableComponents.js +6 -4
  233. package/dist/utils/Container/getEditableComponents.test.js +46 -44
  234. package/dist/utils/Container/index.js +2 -2
  235. package/dist/utils/Container/setupNesting.js +22 -16
  236. package/dist/utils/Container/setupNesting.test.js +31 -28
  237. package/dist/utils/Container/showContainer.js +8 -4
  238. package/dist/utils/Container/showContainer.test.js +31 -31
  239. package/dist/utils/Data/applyFormula.js +50 -40
  240. package/dist/utils/Data/applyFormula.test.js +26 -26
  241. package/dist/utils/Data/deleteValues.js +8 -4
  242. package/dist/utils/Data/deleteValues.test.js +11 -11
  243. package/dist/utils/Data/getAutocompleteSource.js +29 -20
  244. package/dist/utils/Data/getAutocompleteSource.test.js +87 -81
  245. package/dist/utils/Data/getDataPath.js +30 -20
  246. package/dist/utils/Data/getDataPath.test.js +20 -20
  247. package/dist/utils/Data/getOptions.js +34 -27
  248. package/dist/utils/Data/getOptions.test.js +28 -28
  249. package/dist/utils/Data/getSourceData.js +19 -6
  250. package/dist/utils/Data/getSourceData.test.js +81 -85
  251. package/dist/utils/Data/index.js +2 -2
  252. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  254. package/dist/utils/Data/refDataToOptions.js +15 -11
  255. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  256. package/dist/utils/Data/setDataItem.js +8 -7
  257. package/dist/utils/Data/setDataItem.test.js +38 -38
  258. package/dist/utils/Data/setupFormData.js +22 -14
  259. package/dist/utils/Data/setupFormData.test.js +51 -52
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +28 -21
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  262. package/dist/utils/FormPage/applyConditionalProperties.js +10 -6
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +19 -16
  264. package/dist/utils/FormPage/getConditionalText.js +4 -4
  265. package/dist/utils/FormPage/getConditionalText.test.js +35 -35
  266. package/dist/utils/FormPage/getFormPage.js +17 -16
  267. package/dist/utils/FormPage/getFormPage.test.js +48 -49
  268. package/dist/utils/FormPage/getFormPages.js +13 -8
  269. package/dist/utils/FormPage/getFormPages.test.js +25 -22
  270. package/dist/utils/FormPage/getPageActions.js +17 -10
  271. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  272. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  274. package/dist/utils/FormPage/index.js +5 -3
  275. package/dist/utils/FormPage/showFormPage.js +8 -4
  276. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  277. package/dist/utils/FormPage/showFormPageCYA.js +3 -3
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  279. package/dist/utils/FormPage/useComponent.js +28 -21
  280. package/dist/utils/FormPage/useComponent.test.js +80 -78
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +19 -19
  283. package/dist/utils/Format/formatDataForComponent.js +7 -6
  284. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  285. package/dist/utils/Format/formatDataForForm.js +8 -6
  286. package/dist/utils/Format/formatDataForForm.test.js +17 -14
  287. package/dist/utils/Format/formatDataForPage.js +5 -4
  288. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  289. package/dist/utils/Format/index.js +2 -2
  290. package/dist/utils/Hub/getFormHub.js +2 -2
  291. package/dist/utils/Hub/getFormHub.test.js +32 -29
  292. package/dist/utils/Hub/index.js +2 -2
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +4 -1
  295. package/dist/utils/Meta/documents/getDocuments.test.js +17 -25
  296. package/dist/utils/Meta/documents/index.js +2 -2
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +17 -15
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +35 -69
  299. package/dist/utils/Meta/index.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  302. package/dist/utils/Operate/deleteValueInFormData.js +3 -3
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  304. package/dist/utils/Operate/getFirstOf.js +8 -8
  305. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +53 -47
  308. package/dist/utils/Operate/getLength.js +11 -11
  309. package/dist/utils/Operate/getLength.test.js +19 -19
  310. package/dist/utils/Operate/index.js +2 -2
  311. package/dist/utils/Operate/persistValueInFormData.js +6 -6
  312. package/dist/utils/Operate/persistValueInFormData.test.js +21 -23
  313. package/dist/utils/Operate/runPageOperations.js +9 -9
  314. package/dist/utils/Operate/runPageOperations.test.js +37 -36
  315. package/dist/utils/Operate/setValueInFormData.js +5 -5
  316. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  317. package/dist/utils/Operate/shouldRun.js +8 -8
  318. package/dist/utils/Operate/shouldRun.test.js +28 -22
  319. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  320. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  321. package/dist/utils/Validate/additional/conditionallyRequired.js +5 -4
  322. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  323. package/dist/utils/Validate/additional/index.js +8 -8
  324. package/dist/utils/Validate/additional/index.test.js +22 -22
  325. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  327. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  328. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  329. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +14 -9
  330. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +42 -38
  331. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  333. package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
  334. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  335. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
  336. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  337. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  338. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  339. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  340. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  341. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  342. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  343. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  345. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  346. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  347. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  348. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +40 -36
  349. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +5 -3
  350. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +17 -15
  351. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  352. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  353. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  354. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  355. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +5 -3
  356. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +27 -29
  357. package/dist/utils/Validate/additional/utils.js +24 -11
  358. package/dist/utils/Validate/index.js +2 -2
  359. package/dist/utils/Validate/validateCollection.js +27 -21
  360. package/dist/utils/Validate/validateCollection.test.js +77 -85
  361. package/dist/utils/Validate/validateComponent.js +23 -22
  362. package/dist/utils/Validate/validateComponent.test.js +165 -188
  363. package/dist/utils/Validate/validateContainer.js +21 -16
  364. package/dist/utils/Validate/validateContainer.test.js +56 -62
  365. package/dist/utils/Validate/validateDate.js +23 -17
  366. package/dist/utils/Validate/validateDate.test.js +32 -31
  367. package/dist/utils/Validate/validateEmail.js +9 -7
  368. package/dist/utils/Validate/validateEmail.test.js +26 -26
  369. package/dist/utils/Validate/validateMultifile.js +7 -5
  370. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  371. package/dist/utils/Validate/validatePage.js +24 -20
  372. package/dist/utils/Validate/validatePage.test.js +215 -227
  373. package/dist/utils/Validate/validateRegex.js +8 -5
  374. package/dist/utils/Validate/validateRegex.test.js +17 -17
  375. package/dist/utils/Validate/validateRequired.js +7 -5
  376. package/dist/utils/Validate/validateRequired.test.js +19 -19
  377. package/dist/utils/Validate/validateTextArea.js +7 -5
  378. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  379. package/dist/utils/Validate/validateTime.js +19 -12
  380. package/dist/utils/Validate/validateTime.test.js +27 -27
  381. package/dist/utils/index.js +10 -8
  382. package/package.json +1 -1
@@ -8,41 +8,42 @@ 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
- const renderWithValidation = (ui, options) => (0, _react.render)( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
12
- overrides: 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?.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?.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;
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;
34
35
  return /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
35
- overrides: options?.hooks
36
+ overrides: options === null || options === void 0 ? void 0 : options.hooks
36
37
  }, children);
37
38
  };
38
- return (0, _reactHooks.renderHook)(() => hook(), {
39
- wrapper
39
+ return (0, _reactHooks.renderHook)(function () {
40
+ return hook();
41
+ }, {
42
+ wrapper: wrapper
40
43
  });
41
44
  };
42
- exports.renderHookWithProvider = renderHookWithProvider;
43
- const expectObjectLike = (received, expected) => {
44
- Object.keys(expected).forEach(key => {
45
+ var expectObjectLike = exports.expectObjectLike = function expectObjectLike(received, expected) {
46
+ Object.keys(expected).forEach(function (key) {
45
47
  expect(received[key]).toEqual(expected[key]);
46
48
  });
47
- };
48
- exports.expectObjectLike = expectObjectLike;
49
+ };
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- const getPageFromCYALink = link => {
7
+ var getPageFromCYALink = function getPageFromCYALink(link) {
8
8
  if (link.page) {
9
9
  return link.page;
10
10
  }
11
- const url = link.href || link.url;
11
+ var url = link.href || link.url;
12
12
  if (url) {
13
13
  return url.split('/').pop();
14
14
  }
@@ -28,14 +28,14 @@ const 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
- const getCYAAction = (readonly, page, onAction) => {
32
- const cyaLink = page?.cya_link;
31
+ var getCYAAction = function getCYAAction(readonly, page, onAction) {
32
+ var 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
38
+ onAction: onAction
39
39
  };
40
40
  }
41
41
  return null;
@@ -1,117 +1,119 @@
1
1
  "use strict";
2
2
 
3
3
  var _getCYAAction = _interopRequireDefault(require("./getCYAAction"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
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();
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();
16
18
  });
17
- it('should return null if there is no cya_link', () => {
18
- expect((0, _getCYAAction.default)(false, null, () => {})).toBeNull();
19
+ it('should return null if there is no cya_link', function () {
20
+ expect((0, _getCYAAction.default)(false, null, function () {})).toBeNull();
19
21
  });
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 = () => {};
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() {};
23
25
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
24
26
  page: '#',
25
27
  label: 'Change',
26
- onAction
28
+ onAction: onAction
27
29
  });
28
30
  });
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 = () => {};
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() {};
33
35
  expect((0, _getCYAAction.default)(false, getPage(cyaLink, PAGE_ID), onAction)).toEqual({
34
36
  page: PAGE_ID,
35
37
  label: 'Change',
36
- onAction
38
+ onAction: onAction
37
39
  });
38
40
  });
39
- it('should use page specified in cya_link', () => {
40
- const PAGE = 'alpha';
41
- const cyaLink = {
41
+ it('should use page specified in cya_link', function () {
42
+ var PAGE = 'alpha';
43
+ var cyaLink = {
42
44
  page: PAGE
43
45
  };
44
- const onAction = () => {};
46
+ var onAction = function onAction() {};
45
47
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
46
48
  page: PAGE,
47
49
  label: 'Change',
48
- onAction
50
+ onAction: onAction
49
51
  });
50
52
  });
51
- it('should convert an href specified in cya_link', () => {
52
- const HREF = '/alpha/bravo';
53
- const cyaLink = {
53
+ it('should convert an href specified in cya_link', function () {
54
+ var HREF = '/alpha/bravo';
55
+ var cyaLink = {
54
56
  href: HREF
55
57
  };
56
- const onAction = () => {};
58
+ var onAction = function onAction() {};
57
59
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
58
60
  page: 'bravo',
59
61
  label: 'Change',
60
- onAction
62
+ onAction: onAction
61
63
  });
62
64
  });
63
- it('should convert a url specified in cya_link', () => {
64
- const URL = '/alpha/bravo';
65
- const cyaLink = {
65
+ it('should convert a url specified in cya_link', function () {
66
+ var URL = '/alpha/bravo';
67
+ var cyaLink = {
66
68
  url: URL
67
69
  };
68
- const onAction = () => {};
70
+ var onAction = function onAction() {};
69
71
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
70
72
  page: 'bravo',
71
73
  label: 'Change',
72
- onAction
74
+ onAction: onAction
73
75
  });
74
76
  });
75
- it('should use label specified in cya_link', () => {
76
- const LABEL = 'Alpha Bravo Charlie';
77
- const cyaLink = {
77
+ it('should use label specified in cya_link', function () {
78
+ var LABEL = 'Alpha Bravo Charlie';
79
+ var cyaLink = {
78
80
  label: LABEL
79
81
  };
80
- const onAction = () => {};
82
+ var onAction = function onAction() {};
81
83
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
82
84
  page: '#',
83
85
  label: LABEL,
84
- onAction
86
+ onAction: onAction
85
87
  });
86
88
  });
87
- it('should use aria_suffix specified in cya_link', () => {
88
- const ARIA_SUFFIX = 'This is hidden text';
89
- const cyaLink = {
89
+ it('should use aria_suffix specified in cya_link', function () {
90
+ var ARIA_SUFFIX = 'This is hidden text';
91
+ var cyaLink = {
90
92
  aria_suffix: ARIA_SUFFIX
91
93
  };
92
- const onAction = () => {};
94
+ var onAction = function onAction() {};
93
95
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
94
96
  page: '#',
95
97
  label: 'Change',
96
98
  aria_suffix: ARIA_SUFFIX,
97
- onAction
99
+ onAction: onAction
98
100
  });
99
101
  });
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 = {
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 = {
105
107
  label: LABEL,
106
108
  page: PAGE,
107
109
  aria_suffix: ARIA_SUFFIX
108
110
  };
109
- const onAction = () => {};
111
+ var onAction = function onAction() {};
110
112
  expect((0, _getCYAAction.default)(false, getPage(cyaLink), onAction)).toEqual({
111
113
  page: PAGE,
112
114
  label: LABEL,
113
115
  aria_suffix: ARIA_SUFFIX,
114
- onAction
116
+ onAction: onAction
115
117
  });
116
118
  });
117
119
  });
@@ -1,15 +1,24 @@
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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
7
8
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
9
  var _models = require("../../models");
9
- // Global imports
10
-
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
11
21
  // Local imports
12
-
13
22
  /**
14
23
  * Gets an action object that triggers editing of an entry in a page collection.
15
24
  *
@@ -21,34 +30,35 @@ var _models = require("../../models");
21
30
  * @param {array} activeIds A list of active Ids that must be set to make Item the active entry.
22
31
  * @returns The resulting action object.
23
32
  */
24
- const getCYACollectionChangeAction = function (page, item, onAction, labelCount, action) {
25
- let activeIds = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
26
- const label = action?.label || _models.CollectionLabels.change;
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;
27
36
  return {
28
37
  pageId: page.id,
29
- fieldId: `change${labelCount}${action.page}`,
30
- key: `change${labelCount}${action.page}`,
38
+ fieldId: "change".concat(labelCount).concat(action.page),
39
+ key: "change".concat(labelCount).concat(action.page),
31
40
  type: 'action',
32
41
  action: {
33
- onAction: row => {
34
- const changeCallback = cyaData => {
35
- const data = cyaData;
42
+ onAction: function onAction(row) {
43
+ var changeCallback = function changeCallback(cyaData) {
44
+ var data = cyaData;
36
45
  // Apply the activeIds to make sure we're editing the right item.
37
46
  // Not using the spread syntax as data could be a huge object.
38
- Object.entries(activeIds).forEach(entry => {
39
- const [activeIdKey, activeId] = entry;
47
+ Object.entries(activeIds).forEach(function (entry) {
48
+ var _entry = _slicedToArray(entry, 2),
49
+ activeIdKey = _entry[0],
50
+ activeId = _entry[1];
40
51
  data[activeIdKey] = activeId;
41
52
  });
42
53
  return data;
43
54
  };
44
- onAction(action.page ? {
55
+ _onAction(action.page ? {
45
56
  pageId: action.page
46
57
  } : row, changeCallback);
47
58
  },
48
- label: _copReactComponents.Utils.interpolateString(label, {
49
- ...item,
59
+ label: _copReactComponents.Utils.interpolateString(label, _objectSpread(_objectSpread({}, item), {}, {
50
60
  index: labelCount
51
- })
61
+ }))
52
62
  }
53
63
  };
54
64
  };
@@ -1,25 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _getCYACollectionChangeAction = _interopRequireDefault(require("./getCYACollectionChangeAction"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- // Local imports
6
-
7
- describe('utils', () => {
8
- describe('CheckYourAnswers', () => {
9
- describe('getCYACollectionChangeAction', () => {
10
- const PAGE = {
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 = {
11
15
  id: 2,
12
16
  collection: {
13
17
  name: 'collectionName'
14
18
  }
15
19
  };
16
- const ITEM = {
20
+ var ITEM = {
17
21
  id: 2
18
22
  };
19
- let TEST_DATA = {
20
- page: {
21
- ...PAGE
22
- },
23
+ var TEST_DATA = {
24
+ page: _objectSpread({}, PAGE),
23
25
  collectionName: [{
24
26
  id: 1
25
27
  }, {
@@ -29,28 +31,28 @@ describe('utils', () => {
29
31
  }],
30
32
  collectionNameActiveId: 3
31
33
  };
32
- it('should change activeId to the selected item and call onAction with the correct page', () => {
33
- const ON_ACTION = (row, callback) => {
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) {
34
36
  expect(row.id).toEqual(2);
35
37
  TEST_DATA = callback(TEST_DATA);
36
38
  };
37
- const action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, ON_ACTION, 0, {}, {
39
+ var action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, ON_ACTION, 0, {}, {
38
40
  collectionNameActiveId: 2
39
41
  });
40
42
  action.action.onAction(PAGE);
41
43
  expect(TEST_DATA.collectionNameActiveId).toEqual(2);
42
44
  });
43
- it('should change all necessary activeIds when moving to edit a nested collection entry', () => {
44
- const NESTED_COLLECTION_PAGE = {
45
+ it('should change all necessary activeIds when moving to edit a nested collection entry', function () {
46
+ var NESTED_COLLECTION_PAGE = {
45
47
  id: 'pageid',
46
48
  collection: {
47
49
  name: 'parent.child.grandchild'
48
50
  }
49
51
  };
50
- const NESTED_ITEM = {
52
+ var NESTED_ITEM = {
51
53
  id: '001'
52
54
  };
53
- let NESTED_TEST_DATA = {
55
+ var NESTED_TEST_DATA = {
54
56
  parentActiveId: '000',
55
57
  childActiveId: '000',
56
58
  grandchildActiveId: '000',
@@ -70,32 +72,32 @@ describe('utils', () => {
70
72
  }]
71
73
  }]
72
74
  };
73
- const ACTIVE_IDS = {
75
+ var ACTIVE_IDS = {
74
76
  parentActiveId: '001',
75
77
  childActiveId: '001',
76
78
  grandchildActiveId: '001'
77
79
  };
78
- const ON_ACTION = (row, callback) => {
80
+ var ON_ACTION = function ON_ACTION(row, callback) {
79
81
  expect(row.id).toEqual(2);
80
82
  NESTED_TEST_DATA = callback(NESTED_TEST_DATA);
81
83
  };
82
- const action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {}, ACTIVE_IDS);
84
+ var action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {}, ACTIVE_IDS);
83
85
  action.action.onAction(PAGE);
84
86
  expect(NESTED_TEST_DATA.parentActiveId).toEqual('001');
85
87
  expect(NESTED_TEST_DATA.childActiveId).toEqual('001');
86
88
  expect(NESTED_TEST_DATA.grandchildActiveId).toEqual('001');
87
89
  });
88
- it('should not change any active IDs if they are not provided', () => {
89
- const NESTED_COLLECTION_PAGE = {
90
+ it('should not change any active IDs if they are not provided', function () {
91
+ var NESTED_COLLECTION_PAGE = {
90
92
  id: 'pageid',
91
93
  collection: {
92
94
  name: 'parent.child.grandchild'
93
95
  }
94
96
  };
95
- const NESTED_ITEM = {
97
+ var NESTED_ITEM = {
96
98
  id: '001'
97
99
  };
98
- let NESTED_TEST_DATA = {
100
+ var NESTED_TEST_DATA = {
99
101
  parentActiveId: '000',
100
102
  childActiveId: '000',
101
103
  grandchildActiveId: '000',
@@ -115,26 +117,26 @@ describe('utils', () => {
115
117
  }]
116
118
  }]
117
119
  };
118
- const ON_ACTION = (row, callback) => {
120
+ var ON_ACTION = function ON_ACTION(row, callback) {
119
121
  expect(row.id).toEqual(2);
120
122
  NESTED_TEST_DATA = callback(NESTED_TEST_DATA);
121
123
  };
122
- const action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {});
124
+ var action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {});
123
125
  action.action.onAction(PAGE);
124
126
  expect(NESTED_TEST_DATA.parentActiveId).toEqual('000');
125
127
  expect(NESTED_TEST_DATA.childActiveId).toEqual('000');
126
128
  expect(NESTED_TEST_DATA.grandchildActiveId).toEqual('000');
127
129
  });
128
- it('should get label to custom value', () => {
129
- const action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, () => {}, 0, {
130
+ it('should get label to custom value', function () {
131
+ var action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, function () {}, 0, {
130
132
  label: 'customName'
131
133
  }, {
132
134
  collectionNameActiveId: 2
133
135
  });
134
136
  expect(action.action.label).toEqual('customName');
135
137
  });
136
- it('should call onAction with a custom page', () => {
137
- const PAGE_WITH_CUSTOM_DESTINATION = {
138
+ it('should call onAction with a custom page', function () {
139
+ var PAGE_WITH_CUSTOM_DESTINATION = {
138
140
  id: 2,
139
141
  collection: {
140
142
  name: 'collectionName',
@@ -145,11 +147,11 @@ describe('utils', () => {
145
147
  }]
146
148
  }
147
149
  };
148
- const ON_ACTION = (page, callback) => {
150
+ var ON_ACTION = function ON_ACTION(page, callback) {
149
151
  expect(page.pageId).toEqual('confirmDelete');
150
152
  TEST_DATA = callback(TEST_DATA);
151
153
  };
152
- const action = (0, _getCYACollectionChangeAction.default)(PAGE_WITH_CUSTOM_DESTINATION, ITEM, ON_ACTION, 0, PAGE_WITH_CUSTOM_DESTINATION.collection.actions[0], {
154
+ var action = (0, _getCYACollectionChangeAction.default)(PAGE_WITH_CUSTOM_DESTINATION, ITEM, ON_ACTION, 0, PAGE_WITH_CUSTOM_DESTINATION.collection.actions[0], {
153
155
  collectionNameActiveId: 2
154
156
  });
155
157
  action.action.onAction({});
@@ -1,5 +1,6 @@
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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -7,12 +8,22 @@ exports.default = void 0;
7
8
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
9
  var _CollectionPage = _interopRequireDefault(require("../CollectionPage"));
9
10
  var _models = require("../../models");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- // Global imports
12
-
11
+ 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
13
23
  // Local imports
14
-
15
- const isValidIndex = value => typeof value === 'number' && value >= 0;
24
+ var isValidIndex = function isValidIndex(value) {
25
+ return typeof value === 'number' && value >= 0;
26
+ };
16
27
 
17
28
  /**
18
29
  * Gets an action object that triggers the removal of an item from a page Collection.
@@ -25,39 +36,42 @@ const isValidIndex = value => typeof value === 'number' && value >= 0;
25
36
  * @param {array} activeIds A list of active Ids that must be set to make Item the active entry.
26
37
  * @returns The resulting action object.
27
38
  */
28
- const getCYACollectionDeleteAction = (page, item, onAction, labelCount, action, activeIds) => {
29
- const label = action?.label || _models.CollectionLabels.remove;
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;
30
41
  return {
31
42
  pageId: page.id,
32
- fieldId: `delete${labelCount}`,
33
- key: `delete${labelCount}`,
43
+ fieldId: "delete".concat(labelCount),
44
+ key: "delete".concat(labelCount),
34
45
  type: 'action',
35
46
  action: {
36
- onAction: () => {
37
- const deleteCallback = cyaData => {
38
- const data = cyaData;
47
+ onAction: function onAction() {
48
+ var deleteCallback = function deleteCallback(cyaData) {
49
+ var data = cyaData;
39
50
  if (!activeIds) {
40
51
  return data;
41
52
  }
42
53
  // Apply the activeIds to make sure we're deleting the right item.
43
54
  // Not using the spread syntax as data could be a huge object.
44
- Object.entries(activeIds).forEach(entry => {
45
- const [activeIdKey, activeId] = entry;
55
+ Object.entries(activeIds).forEach(function (entry) {
56
+ var _entry = _slicedToArray(entry, 2),
57
+ activeIdKey = _entry[0],
58
+ activeId = _entry[1];
46
59
  data[activeIdKey] = activeId;
47
60
  });
48
- const collectionData = _CollectionPage.default.getData(page.collection.name, data);
49
- const indexToDelete = collectionData?.findIndex(entry => entry.id === item.id);
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
+ });
50
65
  if (isValidIndex(indexToDelete)) {
51
66
  collectionData.splice(indexToDelete, 1);
52
67
  }
53
68
  return data;
54
69
  };
55
- onAction(null, deleteCallback);
70
+ _onAction(null, deleteCallback);
56
71
  },
57
- label: _copReactComponents.Utils.interpolateString(label, {
58
- ...item,
72
+ label: _copReactComponents.Utils.interpolateString(label, _objectSpread(_objectSpread({}, item), {}, {
59
73
  index: labelCount
60
- })
74
+ }))
61
75
  }
62
76
  };
63
77
  };