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

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 +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +143 -105
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +942 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +131 -102
  10. package/dist/components/CollectionSummary/CollectionSummary.scss +5 -0
  11. package/dist/components/CollectionSummary/CollectionSummary.test.js +233 -173
  12. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  13. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  14. package/dist/components/CollectionSummary/RenderListView.js +57 -48
  15. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  16. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  17. package/dist/components/CollectionSummary/SummaryCard.js +156 -112
  18. package/dist/components/CollectionSummary/SummaryCard.scss +6 -0
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +1023 -934
  20. package/dist/components/CollectionSummary/SummaryCardDetails.js +138 -94
  21. package/dist/components/CollectionSummary/SummaryCardDetails.scss +15 -4
  22. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  23. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  25. package/dist/components/FormComponent/Collection.js +108 -74
  26. package/dist/components/FormComponent/Collection.test.js +1081 -909
  27. package/dist/components/FormComponent/Container.js +39 -40
  28. package/dist/components/FormComponent/Container.test.js +412 -312
  29. package/dist/components/FormComponent/FormComponent.js +73 -70
  30. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  31. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  33. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  34. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  35. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  37. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  38. package/dist/components/FormComponent/helpers/index.js +4 -4
  39. package/dist/components/FormPage/FormPage.js +93 -66
  40. package/dist/components/FormPage/FormPage.test.js +163 -127
  41. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  42. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  43. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  44. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  45. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  46. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  47. package/dist/components/FormRenderer/handlers/index.js +1 -1
  48. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  49. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  50. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  52. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  54. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +39 -22
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +74 -16
  56. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  57. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  58. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  59. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  60. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  61. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  62. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  63. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  66. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  68. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  70. package/dist/components/FormRenderer/helpers/index.js +1 -1
  71. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  72. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  73. package/dist/components/FormRenderer/onPageAction.js +44 -44
  74. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  75. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  76. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  77. package/dist/components/PageActions/ActionButton.js +15 -12
  78. package/dist/components/PageActions/ActionButton.test.js +78 -56
  79. package/dist/components/PageActions/PageActions.js +10 -10
  80. package/dist/components/PageActions/PageActions.test.js +115 -86
  81. package/dist/components/SummaryList/GroupAction.js +17 -9
  82. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  83. package/dist/components/SummaryList/RowAction.js +16 -11
  84. package/dist/components/SummaryList/RowAction.test.js +33 -37
  85. package/dist/components/SummaryList/SummaryList.js +34 -21
  86. package/dist/components/SummaryList/SummaryList.scss +15 -0
  87. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  88. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  89. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  90. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  91. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  92. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  93. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  97. package/dist/components/SummaryList/helpers/index.js +1 -1
  98. package/dist/components/TaskList/Task.js +29 -19
  99. package/dist/components/TaskList/Task.test.js +76 -83
  100. package/dist/components/TaskList/TaskList.js +92 -49
  101. package/dist/components/TaskList/TaskList.scss +24 -0
  102. package/dist/components/TaskList/TaskList.test.js +255 -113
  103. package/dist/components/TaskList/TaskState.js +5 -7
  104. package/dist/components/TaskList/TaskState.test.js +45 -52
  105. package/dist/components/index.js +7 -7
  106. package/dist/context/HooksContext/HooksContext.js +80 -57
  107. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  108. package/dist/context/HooksContext/index.js +4 -3
  109. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  110. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  111. package/dist/context/ValidationContext/index.js +4 -3
  112. package/dist/context/index.js +2 -2
  113. package/dist/hooks/index.js +10 -9
  114. package/dist/hooks/useAxios.js +40 -14
  115. package/dist/hooks/useGetRequest.js +97 -61
  116. package/dist/hooks/useHooks.js +3 -1
  117. package/dist/hooks/useRefData.js +39 -26
  118. package/dist/hooks/useValidation.js +3 -1
  119. package/dist/index.js +14 -13
  120. package/dist/json/actions.json +17 -0
  121. package/dist/json/actionsNoSave.json +17 -0
  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 +9 -9
  131. package/dist/setupTests.js +31 -30
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +113 -89
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +320 -162
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  152. package/dist/utils/CheckYourAnswers/index.js +1 -1
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  171. package/dist/utils/CollectionPage/index.js +1 -1
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  178. package/dist/utils/Component/addShowWhen.js +8 -4
  179. package/dist/utils/Component/addShowWhen.test.js +37 -37
  180. package/dist/utils/Component/applyToComponentTree.js +18 -18
  181. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  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 +68 -30
  186. package/dist/utils/Component/getComponent.js +94 -88
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  209. package/dist/utils/Component/getDefaultValue.js +8 -6
  210. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  213. package/dist/utils/Component/index.js +1 -1
  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 +6 -1
  217. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  218. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  220. package/dist/utils/Component/showComponent.js +1 -1
  221. package/dist/utils/Component/showComponent.test.js +28 -28
  222. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  223. package/dist/utils/Condition/index.js +1 -1
  224. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  225. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  226. package/dist/utils/Condition/meetsCondition.js +25 -16
  227. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  228. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  229. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  230. package/dist/utils/Condition/setupConditions.js +18 -13
  231. package/dist/utils/Condition/setupConditions.test.js +7 -7
  232. package/dist/utils/Container/getEditableComponents.js +5 -3
  233. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  234. package/dist/utils/Container/index.js +1 -1
  235. package/dist/utils/Container/setupNesting.js +20 -16
  236. package/dist/utils/Container/setupNesting.test.js +30 -27
  237. package/dist/utils/Container/showContainer.js +7 -3
  238. package/dist/utils/Container/showContainer.test.js +30 -30
  239. package/dist/utils/Data/applyFormula.js +48 -38
  240. package/dist/utils/Data/applyFormula.test.js +20 -20
  241. package/dist/utils/Data/deleteValues.js +22 -0
  242. package/dist/utils/Data/deleteValues.test.js +57 -0
  243. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  244. package/dist/utils/Data/getAutocompleteSource.test.js +100 -85
  245. package/dist/utils/Data/getDataPath.js +28 -18
  246. package/dist/utils/Data/getDataPath.test.js +12 -12
  247. package/dist/utils/Data/getOptions.js +31 -24
  248. package/dist/utils/Data/getOptions.test.js +53 -35
  249. package/dist/utils/Data/getSourceData.js +19 -6
  250. package/dist/utils/Data/getSourceData.test.js +80 -84
  251. package/dist/utils/Data/index.js +3 -1
  252. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  254. package/dist/utils/Data/refDataToOptions.js +13 -10
  255. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  256. package/dist/utils/Data/setDataItem.js +8 -7
  257. package/dist/utils/Data/setDataItem.test.js +37 -37
  258. package/dist/utils/Data/setupFormData.js +21 -13
  259. package/dist/utils/Data/setupFormData.test.js +50 -51
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  262. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  264. package/dist/utils/FormPage/getConditionalText.js +3 -3
  265. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  266. package/dist/utils/FormPage/getFormPage.js +16 -15
  267. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  268. package/dist/utils/FormPage/getFormPages.js +12 -7
  269. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  270. package/dist/utils/FormPage/getPageActions.js +15 -9
  271. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  272. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  274. package/dist/utils/FormPage/index.js +4 -2
  275. package/dist/utils/FormPage/showFormPage.js +7 -3
  276. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  277. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  279. package/dist/utils/FormPage/useComponent.js +28 -21
  280. package/dist/utils/FormPage/useComponent.test.js +79 -77
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +18 -18
  283. package/dist/utils/Format/formatDataForComponent.js +6 -5
  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 +16 -13
  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 +1 -1
  290. package/dist/utils/Hub/getFormHub.js +1 -1
  291. package/dist/utils/Hub/getFormHub.test.js +31 -28
  292. package/dist/utils/Hub/index.js +1 -1
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  295. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  296. package/dist/utils/Meta/documents/index.js +1 -1
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  299. package/dist/utils/Meta/index.js +1 -1
  300. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  302. package/dist/utils/Operate/deleteValueInFormData.js +26 -0
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +60 -0
  304. package/dist/utils/Operate/getFirstOf.js +5 -5
  305. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  308. package/dist/utils/Operate/getLength.js +50 -0
  309. package/dist/utils/Operate/getLength.test.js +89 -0
  310. package/dist/utils/Operate/index.js +1 -1
  311. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  312. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  313. package/dist/utils/Operate/runPageOperations.js +11 -7
  314. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  315. package/dist/utils/Operate/setValueInFormData.js +2 -2
  316. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  317. package/dist/utils/Operate/shouldRun.js +6 -6
  318. package/dist/utils/Operate/shouldRun.test.js +27 -21
  319. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  320. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  321. package/dist/utils/Validate/additional/index.js +10 -7
  322. package/dist/utils/Validate/additional/index.test.js +78 -12
  323. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  325. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  326. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  327. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  328. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  329. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  330. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  331. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  333. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  334. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  335. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  336. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  337. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  338. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  339. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  340. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  341. package/dist/utils/Validate/additional/mustBeOneOf.js +21 -0
  342. package/dist/utils/Validate/additional/mustBeOneOf.test.js +36 -0
  343. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  345. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  346. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  347. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  348. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  349. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  350. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  351. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  352. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  353. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  354. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  355. package/dist/utils/Validate/additional/utils.js +22 -9
  356. package/dist/utils/Validate/index.js +1 -1
  357. package/dist/utils/Validate/validateCollection.js +25 -19
  358. package/dist/utils/Validate/validateCollection.test.js +66 -74
  359. package/dist/utils/Validate/validateComponent.js +21 -18
  360. package/dist/utils/Validate/validateComponent.test.js +176 -166
  361. package/dist/utils/Validate/validateContainer.js +20 -15
  362. package/dist/utils/Validate/validateContainer.test.js +52 -58
  363. package/dist/utils/Validate/validateDate.js +21 -15
  364. package/dist/utils/Validate/validateDate.test.js +32 -31
  365. package/dist/utils/Validate/validateEmail.js +8 -6
  366. package/dist/utils/Validate/validateEmail.test.js +25 -25
  367. package/dist/utils/Validate/validateMultifile.js +7 -5
  368. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  369. package/dist/utils/Validate/validatePage.js +22 -19
  370. package/dist/utils/Validate/validatePage.test.js +203 -215
  371. package/dist/utils/Validate/validateRegex.js +5 -3
  372. package/dist/utils/Validate/validateRegex.test.js +14 -14
  373. package/dist/utils/Validate/validateRequired.js +6 -4
  374. package/dist/utils/Validate/validateRequired.test.js +18 -18
  375. package/dist/utils/Validate/validateTextArea.js +6 -4
  376. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  377. package/dist/utils/Validate/validateTime.js +26 -11
  378. package/dist/utils/Validate/validateTime.test.js +62 -16
  379. package/dist/utils/index.js +9 -7
  380. package/package.json +2 -2
  381. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  382. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -6,15 +6,18 @@ var _setupTests = require("../../setupTests");
6
6
  var _hooks = require("../../hooks");
7
7
  var _CollectionSummary = _interopRequireWildcard(require("./CollectionSummary"));
8
8
  var _Confirmation = require("./Confirmation");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- // Global imports.
13
-
12
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Global imports.
14
18
  // Local imports.
15
-
16
- describe('components.CollectionSummary.CollectionSummary', () => {
17
- const CONFIG = {
19
+ describe('components.CollectionSummary.CollectionSummary', function () {
20
+ var CONFIG = {
18
21
  id: 'testSummary',
19
22
  fieldId: 'testSummary',
20
23
  collectionName: 'testCollection',
@@ -25,7 +28,7 @@ describe('components.CollectionSummary.CollectionSummary', () => {
25
28
  }
26
29
  }
27
30
  };
28
- const FORM_DATA = {
31
+ var FORM_DATA = {
29
32
  testCollectionActiveId: '001',
30
33
  testCollection: [{
31
34
  id: '000',
@@ -34,7 +37,7 @@ describe('components.CollectionSummary.CollectionSummary', () => {
34
37
  id: '001'
35
38
  }]
36
39
  };
37
- const PAGES = [{
40
+ var PAGES = [{
38
41
  id: 'testPage',
39
42
  title: 'Test page',
40
43
  collection: {
@@ -52,64 +55,125 @@ describe('components.CollectionSummary.CollectionSummary', () => {
52
55
  }],
53
56
  formData: FORM_DATA
54
57
  }];
55
- const ON_ACTION = () => {};
56
- const checkSetup = container => {
57
- const summaryDiv = container.children[0];
58
+ var ON_ACTION = function ON_ACTION() {};
59
+ var checkSetup = function checkSetup(container) {
60
+ var withAddButton = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
61
+ var summaryDiv = container.children[0];
58
62
  expect(summaryDiv.tagName).toEqual('DIV');
59
- return summaryDiv;
63
+ var cardList = withAddButton ? summaryDiv.children[1] : summaryDiv.children[0];
64
+ expect(cardList.tagName).toEqual('UL');
65
+ expect(cardList.classList).toContain('collection-summary-card-list');
66
+ var cards = Array.from(cardList.children, function (child) {
67
+ expect(child.tagName).toEqual('LI');
68
+ return child.children[0] || null;
69
+ }).filter(function (c) {
70
+ return !!c;
71
+ });
72
+ return {
73
+ summaryDiv: summaryDiv,
74
+ cardList: cardList,
75
+ cards: cards
76
+ };
60
77
  };
61
- it('should correctly render a CollectionSummary component', () => {
62
- const {
63
- container
64
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
65
- config: CONFIG,
66
- formData: FORM_DATA,
67
- onAction: ON_ACTION
68
- }));
69
- const summary = checkSetup(container);
70
- expect(summary.children.length).toEqual(2);
71
- expect(summary.children[0].id).toEqual("".concat(CONFIG.fieldId, ".summaryCard").concat(FORM_DATA.testCollection[0].id));
72
- expect(summary.children[1].id).toEqual("".concat(CONFIG.fieldId, ".summaryCard").concat(FORM_DATA.testCollection[1].id));
78
+ it('should correctly render a CollectionSummary component', function () {
79
+ var _renderWithValidation = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
80
+ config: CONFIG,
81
+ formData: FORM_DATA,
82
+ onAction: ON_ACTION
83
+ })),
84
+ container = _renderWithValidation.container;
85
+ var _checkSetup = checkSetup(container),
86
+ cards = _checkSetup.cards;
87
+ expect(cards.length).toEqual(2);
88
+ expect(cards[0].id).toEqual("".concat(CONFIG.fieldId, ".summaryCard").concat(FORM_DATA.testCollection[0].id));
89
+ expect(cards[1].id).toEqual("".concat(CONFIG.fieldId, ".summaryCard").concat(FORM_DATA.testCollection[1].id));
90
+ });
91
+ it('should focus on the most recently duplicated item', function () {
92
+ var customConfig = {
93
+ id: 'testSummary',
94
+ fieldId: 'testSummary',
95
+ collectionName: 'testCollection',
96
+ card: {
97
+ title: 'Title',
98
+ deleteAction: {
99
+ label: 'Delete'
100
+ },
101
+ changeAction: {
102
+ label: 'Change label',
103
+ page: 'testPage',
104
+ aria_label: [{
105
+ text: 'testText'
106
+ }]
107
+ }
108
+ },
109
+ quickEdit: true,
110
+ focusOn: true
111
+ };
112
+ var customFormData = {
113
+ testCollectionActiveId: '001',
114
+ testCollection: [{
115
+ id: '000',
116
+ testText: 'value',
117
+ isDuplicate: true
118
+ }, {
119
+ id: '001',
120
+ isDuplicate: true
121
+ }]
122
+ };
123
+ var _renderWithValidation2 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
124
+ config: customConfig,
125
+ formData: customFormData,
126
+ onAction: ON_ACTION
127
+ })),
128
+ container = _renderWithValidation2.container;
129
+ var changeButtons = container.querySelectorAll('[data-testid="change-button"]');
130
+ var firstDuplicatedItem = changeButtons[0];
131
+ var lastDuplicatedItem = changeButtons[changeButtons.length - 1];
132
+ expect(lastDuplicatedItem).toBeDefined();
133
+ expect(document.activeElement).toEqual(lastDuplicatedItem);
134
+ expect(lastDuplicatedItem.id).toEqual('testSummary.summaryCard001.changeButton');
135
+ expect(document.activeElement).not.toEqual(firstDuplicatedItem);
73
136
  });
74
- it('should correctly queue errors found when validating entries', () => {
75
- const ErrorCheckComponent = () => {
76
- const {
77
- queuedErrors
78
- } = (0, _hooks.useValidation)();
79
- return /*#__PURE__*/_react.default.createElement("div", null, Array.isArray(queuedErrors) && "queuedErrors is an array of length ".concat(queuedErrors.length), (queuedErrors === null || queuedErrors === void 0 ? void 0 : queuedErrors.length) > 0 && queuedErrors.map(e => e.error));
137
+ it('should correctly queue errors found when validating entries', function () {
138
+ var ErrorCheckComponent = function ErrorCheckComponent() {
139
+ var _useValidation = (0, _hooks.useValidation)(),
140
+ queuedErrors = _useValidation.queuedErrors;
141
+ return /*#__PURE__*/_react.default.createElement("div", null, Array.isArray(queuedErrors) && "queuedErrors is an array of length ".concat(queuedErrors.length), (queuedErrors === null || queuedErrors === void 0 ? void 0 : queuedErrors.length) > 0 && queuedErrors.map(function (e) {
142
+ return e.error;
143
+ }));
80
144
  };
81
- const {
82
- container
83
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ErrorCheckComponent, null), /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
84
- config: CONFIG,
85
- formData: FORM_DATA,
86
- onAction: ON_ACTION,
87
- pages: PAGES
88
- })));
89
- const errorChecker = container.children[0];
145
+ var _renderWithValidation3 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ErrorCheckComponent, null), /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
146
+ config: CONFIG,
147
+ formData: FORM_DATA,
148
+ onAction: ON_ACTION,
149
+ pages: PAGES
150
+ }))),
151
+ container = _renderWithValidation3.container;
152
+ var errorChecker = container.children[0];
90
153
  expect(errorChecker.textContent).toContain('queuedErrors is an array of length 1');
91
154
  expect(errorChecker.textContent).toContain('testText is required');
92
155
  });
93
- it('should render a confirmation when a SummaryCard\'s delete button is pressed', () => {
94
- const {
95
- container
96
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
97
- config: CONFIG,
98
- formData: FORM_DATA,
99
- onAction: ON_ACTION
100
- }));
101
- const summary = checkSetup(container);
102
- expect(summary.children.length).toEqual(2);
103
- const card = summary.children[0];
104
- const deleteButton = card.children[0].children[1].children[0];
156
+ it('should render a confirmation when a SummaryCard\'s delete button is pressed', function () {
157
+ var _renderWithValidation4 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
158
+ config: CONFIG,
159
+ formData: FORM_DATA,
160
+ onAction: ON_ACTION
161
+ })),
162
+ container = _renderWithValidation4.container;
163
+ var _checkSetup2 = checkSetup(container),
164
+ summaryDiv = _checkSetup2.summaryDiv,
165
+ cards = _checkSetup2.cards;
166
+ expect(cards.length).toEqual(2);
167
+ var card = cards[0];
168
+ var deleteButton = card.children[0].children[1].children[0];
105
169
  _react2.fireEvent.click(deleteButton, {});
106
- expect(summary.children.length).toEqual(3); // Now with a confirmation.
107
- expect(summary.children[0].id).toEqual("".concat(CONFIG.fieldId, ".confirmation"));
108
- expect(summary.children[0].classList).toContain(_Confirmation.DEFAULT_CLASS);
170
+ expect(summaryDiv.children.length).toEqual(2); // Now with a confirmation.
171
+ expect(summaryDiv.children[0].id).toEqual("".concat(CONFIG.fieldId, ".confirmation"));
172
+ expect(summaryDiv.children[0].classList).toContain(_Confirmation.DEFAULT_CLASS);
109
173
  });
110
- describe('Add Another button', () => {
111
- it('should render with an Add button if one is configured', () => {
112
- const CONFIG_WITH_BUTTON = {
174
+ describe('Add Another button', function () {
175
+ it('should render with an Add button if one is configured', function () {
176
+ var CONFIG_WITH_BUTTON = {
113
177
  id: 'testSummary',
114
178
  fieldId: 'testSummary',
115
179
  collectionName: 'testCollection',
@@ -121,21 +185,21 @@ describe('components.CollectionSummary.CollectionSummary', () => {
121
185
  title: 'Title'
122
186
  }
123
187
  };
124
- const {
125
- container
126
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
127
- config: CONFIG_WITH_BUTTON,
128
- formData: FORM_DATA,
129
- onAction: ON_ACTION
130
- }));
131
- const summary = checkSetup(container);
132
- expect(summary.children.length).toEqual(3); // The button and a card for each item.
133
- expect(summary.children[0].id).toEqual("".concat(CONFIG_WITH_BUTTON.fieldId, ".addButton"));
134
- expect(summary.children[0].textContent).toEqual(CONFIG_WITH_BUTTON.addButton.label);
135
- expect(summary.children[0].tagName).toEqual('BUTTON');
188
+ var _renderWithValidation5 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
189
+ config: CONFIG_WITH_BUTTON,
190
+ formData: FORM_DATA,
191
+ onAction: ON_ACTION
192
+ })),
193
+ container = _renderWithValidation5.container;
194
+ var _checkSetup3 = checkSetup(container, true),
195
+ summaryDiv = _checkSetup3.summaryDiv;
196
+ expect(summaryDiv.children.length).toEqual(2); // The button and card list.
197
+ expect(summaryDiv.children[0].id).toEqual("".concat(CONFIG_WITH_BUTTON.fieldId, ".addButton"));
198
+ expect(summaryDiv.children[0].textContent).toEqual(CONFIG_WITH_BUTTON.addButton.label);
199
+ expect(summaryDiv.children[0].tagName).toEqual('BUTTON');
136
200
  });
137
- it('should use the default button label if none is provided', () => {
138
- const CONFIG_WITH_BUTTON = {
201
+ it('should use the default button label if none is provided', function () {
202
+ var CONFIG_WITH_BUTTON = {
139
203
  id: 'testSummary',
140
204
  fieldId: 'testSummary',
141
205
  collectionName: 'testCollection',
@@ -146,141 +210,137 @@ describe('components.CollectionSummary.CollectionSummary', () => {
146
210
  title: 'Title'
147
211
  }
148
212
  };
149
- const {
150
- container
151
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
152
- config: CONFIG_WITH_BUTTON,
153
- formData: FORM_DATA,
154
- onAction: ON_ACTION
155
- }));
156
- const summary = checkSetup(container);
157
- expect(summary.children.length).toEqual(3); // The button and a card for each item.
158
- expect(summary.children[0].id).toEqual("".concat(CONFIG_WITH_BUTTON.fieldId, ".addButton"));
159
- expect(summary.children[0].textContent).toEqual(_CollectionSummary.DEFAULT_ADD_BUTTON_LABEL);
160
- expect(summary.children[0].tagName).toEqual('BUTTON');
213
+ var _renderWithValidation6 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
214
+ config: CONFIG_WITH_BUTTON,
215
+ formData: FORM_DATA,
216
+ onAction: ON_ACTION
217
+ })),
218
+ container = _renderWithValidation6.container;
219
+ var _checkSetup4 = checkSetup(container, true),
220
+ summaryDiv = _checkSetup4.summaryDiv;
221
+ expect(summaryDiv.children.length).toEqual(2); // The button and card list.
222
+ expect(summaryDiv.children[0].id).toEqual("".concat(CONFIG_WITH_BUTTON.fieldId, ".addButton"));
223
+ expect(summaryDiv.children[0].textContent).toEqual(_CollectionSummary.DEFAULT_ADD_BUTTON_LABEL);
224
+ expect(summaryDiv.children[0].tagName).toEqual('BUTTON');
161
225
  });
162
- it('should apply the expected class name to the summary card when delete button is pressed', () => {
163
- const {
164
- container
165
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
166
- config: CONFIG,
167
- formData: FORM_DATA,
168
- onAction: ON_ACTION
169
- }));
170
- const summary = checkSetup(container);
171
- expect(summary.children.length).toEqual(2);
172
- const card = summary.children[0];
173
- const deleteButton = card.children[0].children[1].children[0];
226
+ it('should apply the expected class name to the summary card when delete button is pressed', function () {
227
+ var _renderWithValidation7 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
228
+ config: CONFIG,
229
+ formData: FORM_DATA,
230
+ onAction: ON_ACTION
231
+ })),
232
+ container = _renderWithValidation7.container;
233
+ var _checkSetup5 = checkSetup(container),
234
+ cards = _checkSetup5.cards;
235
+ expect(cards.length).toEqual(2);
236
+ var card = cards[0];
237
+ var deleteButton = card.children[0].children[1].children[0];
174
238
  _react2.fireEvent.click(deleteButton, {});
175
- const confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
239
+ var confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
176
240
  expect(confirmation).toBeTruthy();
177
241
  expect(card.className).toContain('deleting-summary-card');
178
242
  });
179
- it('should focus on the delete button in the confirmation panel', () => {
180
- const {
181
- container
182
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
183
- config: CONFIG,
184
- formData: FORM_DATA,
185
- onAction: ON_ACTION
186
- }));
187
- const summary = checkSetup(container);
188
- expect(summary.children.length).toEqual(2);
189
- const card = summary.children[0];
190
- const deleteButton = card.children[0].children[1].children[0];
243
+ it('should focus on the delete button in the confirmation panel', function () {
244
+ var _renderWithValidation8 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
245
+ config: CONFIG,
246
+ formData: FORM_DATA,
247
+ onAction: ON_ACTION
248
+ })),
249
+ container = _renderWithValidation8.container;
250
+ var _checkSetup6 = checkSetup(container),
251
+ cards = _checkSetup6.cards;
252
+ expect(cards.length).toEqual(2);
253
+ var card = cards[0];
254
+ var deleteButton = card.children[0].children[1].children[0];
191
255
  _react2.fireEvent.click(deleteButton, {});
192
- const confirmButton = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS, " button.hods-button--warning"));
256
+ var confirmButton = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS, " button.hods-button--warning"));
193
257
  expect(confirmButton).toBeTruthy();
194
258
  expect(document.activeElement).toEqual(confirmButton);
195
259
  });
196
- it('should have the role "alert" in the confirmation panel', () => {
197
- const {
198
- container
199
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
200
- config: CONFIG,
201
- formData: FORM_DATA,
202
- onAction: ON_ACTION
203
- }));
204
- const summary = checkSetup(container);
205
- expect(summary.children.length).toEqual(2);
206
- const card = summary.children[0];
207
- const deleteButton = card.children[0].children[1].children[0];
260
+ it('should have the role "alert" in the confirmation panel', function () {
261
+ var _renderWithValidation9 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
262
+ config: CONFIG,
263
+ formData: FORM_DATA,
264
+ onAction: ON_ACTION
265
+ })),
266
+ container = _renderWithValidation9.container;
267
+ var _checkSetup7 = checkSetup(container),
268
+ cards = _checkSetup7.cards;
269
+ expect(cards.length).toEqual(2);
270
+ var card = cards[0];
271
+ var deleteButton = card.children[0].children[1].children[0];
208
272
  _react2.fireEvent.click(deleteButton, {});
209
- const confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
273
+ var confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
210
274
  expect(confirmation).toBeTruthy();
211
- const roleAttribute = confirmation.getAttribute('role');
275
+ var roleAttribute = confirmation.getAttribute('role');
212
276
  expect(roleAttribute).toEqual('alert');
213
277
  });
214
- it('should correctly render field values in confirmation view', () => {
215
- const listViewConfig = {
216
- ...CONFIG,
217
- card: {
218
- ...CONFIG.card,
278
+ it('should correctly render field values in confirmation view', function () {
279
+ var listViewConfig = _objectSpread(_objectSpread({}, CONFIG), {}, {
280
+ card: _objectSpread(_objectSpread({}, CONFIG.card), {}, {
219
281
  listView: true
220
- },
282
+ }),
221
283
  confirmation: {
222
284
  displayFields: ['testText']
223
285
  }
224
- };
225
- const {
226
- container,
227
- getByText
228
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
229
- config: listViewConfig,
230
- formData: FORM_DATA,
231
- onAction: ON_ACTION,
232
- pages: PAGES
233
- }));
234
- const summary = checkSetup(container);
235
- expect(summary.children.length).toEqual(2);
236
- const card = summary.children[0];
237
- const deleteButton = card.querySelector('.govuk-summary-card__actions li:last-child button');
286
+ });
287
+ var _renderWithValidation10 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
288
+ config: listViewConfig,
289
+ formData: FORM_DATA,
290
+ onAction: ON_ACTION,
291
+ pages: PAGES
292
+ })),
293
+ container = _renderWithValidation10.container,
294
+ getByText = _renderWithValidation10.getByText;
295
+ var _checkSetup8 = checkSetup(container),
296
+ cards = _checkSetup8.cards;
297
+ expect(cards.length).toEqual(2);
298
+ var card = cards[0];
299
+ var deleteButton = card.querySelector('.govuk-summary-card__actions li:last-child button');
238
300
  _react2.fireEvent.click(deleteButton);
239
- const confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
301
+ var confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
240
302
  expect(confirmation).toBeTruthy();
241
- listViewConfig.confirmation.displayFields.forEach(field => {
242
- const fieldValue = FORM_DATA.testCollection[0][field];
243
- const fieldElement = getByText(fieldValue);
303
+ listViewConfig.confirmation.displayFields.forEach(function (field) {
304
+ var fieldValue = FORM_DATA.testCollection[0][field];
305
+ var fieldElement = getByText(fieldValue);
244
306
  expect(fieldElement).not.toBeNull();
245
307
  });
246
308
  });
247
- it('should correctly render field values in confirmation view with index', () => {
248
- const listViewConfig = {
249
- ...CONFIG,
250
- card: {
251
- ...CONFIG.card,
309
+ it('should correctly render field values in confirmation view with index', function () {
310
+ var listViewConfig = _objectSpread(_objectSpread({}, CONFIG), {}, {
311
+ card: _objectSpread(_objectSpread({}, CONFIG.card), {}, {
252
312
  listView: true
253
- },
313
+ }),
254
314
  confirmation: {
255
315
  displayFields: ['testText'],
256
316
  // eslint-disable-next-line no-template-curly-in-string
257
317
  message: 'Test confirmation message with index number ${index}'
258
318
  }
259
- };
260
- const {
261
- container,
262
- getByText
263
- } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
264
- config: listViewConfig,
265
- formData: FORM_DATA,
266
- onAction: ON_ACTION,
267
- pages: PAGES
268
- }));
269
- const summary = checkSetup(container);
270
- expect(summary.children.length).toEqual(2);
271
- const card = summary.children[0];
272
- const deleteButton = card.querySelector('.govuk-summary-card__actions li:last-child button');
319
+ });
320
+ var _renderWithValidation11 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
321
+ config: listViewConfig,
322
+ formData: FORM_DATA,
323
+ onAction: ON_ACTION,
324
+ pages: PAGES
325
+ })),
326
+ container = _renderWithValidation11.container,
327
+ getByText = _renderWithValidation11.getByText;
328
+ var _checkSetup9 = checkSetup(container),
329
+ cards = _checkSetup9.cards;
330
+ expect(cards.length).toEqual(2);
331
+ var card = cards[0];
332
+ var deleteButton = card.querySelector('.govuk-summary-card__actions li:last-child button');
273
333
  _react2.fireEvent.click(deleteButton);
274
- const confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
334
+ var confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
275
335
  expect(confirmation).toBeTruthy();
276
- listViewConfig.confirmation.displayFields.forEach(field => {
277
- const fieldValue = FORM_DATA.testCollection[0][field];
278
- const fieldElement = getByText(fieldValue);
336
+ listViewConfig.confirmation.displayFields.forEach(function (field) {
337
+ var fieldValue = FORM_DATA.testCollection[0][field];
338
+ var fieldElement = getByText(fieldValue);
279
339
  expect(fieldElement).not.toBeNull();
280
340
  });
281
341
 
282
342
  // Check if the confirmation message contains the index
283
- const confirmationMessage = confirmation.querySelector('h2').textContent;
343
+ var confirmationMessage = confirmation.querySelector('h2').textContent;
284
344
  expect(confirmationMessage).toContain("Test confirmation message with index number 1");
285
345
  });
286
346
  });
@@ -13,20 +13,18 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
 
14
14
  // Styles.
15
15
 
16
- const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-confirmation';
17
- const DEFAULT_MESSAGE = exports.DEFAULT_MESSAGE = 'Are you sure?';
18
- const DEFAULT_CONFIRM_LABEL = exports.DEFAULT_CONFIRM_LABEL = 'Confirm';
19
- const Confirmation = _ref => {
20
- let {
21
- id,
22
- message,
23
- confirmLabel,
24
- children,
25
- onConfirm,
26
- onCancel,
27
- classModifiers
28
- } = _ref;
29
- const classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers, '');
16
+ var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-confirmation';
17
+ var DEFAULT_MESSAGE = exports.DEFAULT_MESSAGE = 'Are you sure?';
18
+ var DEFAULT_CONFIRM_LABEL = exports.DEFAULT_CONFIRM_LABEL = 'Confirm';
19
+ var Confirmation = function Confirmation(_ref) {
20
+ var id = _ref.id,
21
+ message = _ref.message,
22
+ confirmLabel = _ref.confirmLabel,
23
+ children = _ref.children,
24
+ onConfirm = _ref.onConfirm,
25
+ onCancel = _ref.onCancel,
26
+ classModifiers = _ref.classModifiers;
27
+ var classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers, '');
30
28
  return /*#__PURE__*/_react.default.createElement("div", {
31
29
  id: id,
32
30
  className: classes(),