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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/RenderListView.js +52 -46
  14. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  15. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  16. package/dist/components/CollectionSummary/SummaryCard.js +152 -110
  17. package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
  18. package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
  19. package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  23. package/dist/components/FormComponent/Collection.js +108 -74
  24. package/dist/components/FormComponent/Collection.test.js +1081 -909
  25. package/dist/components/FormComponent/Container.js +39 -40
  26. package/dist/components/FormComponent/Container.test.js +412 -312
  27. package/dist/components/FormComponent/FormComponent.js +72 -69
  28. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  29. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  30. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  32. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  33. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  34. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  36. package/dist/components/FormComponent/helpers/index.js +4 -4
  37. package/dist/components/FormPage/FormPage.js +80 -65
  38. package/dist/components/FormPage/FormPage.test.js +163 -127
  39. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  40. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  41. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  42. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  43. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  44. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  45. package/dist/components/FormRenderer/handlers/index.js +1 -1
  46. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  47. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  48. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  49. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  50. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  51. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  52. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  53. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  55. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  57. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  58. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  59. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  60. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  61. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  63. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  64. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  65. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  66. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  67. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  68. package/dist/components/FormRenderer/helpers/index.js +1 -1
  69. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  70. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  71. package/dist/components/FormRenderer/onPageAction.js +39 -43
  72. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  73. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  74. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  75. package/dist/components/PageActions/ActionButton.js +15 -12
  76. package/dist/components/PageActions/ActionButton.test.js +78 -56
  77. package/dist/components/PageActions/PageActions.js +10 -10
  78. package/dist/components/PageActions/PageActions.test.js +115 -86
  79. package/dist/components/SummaryList/GroupAction.js +17 -9
  80. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  81. package/dist/components/SummaryList/RowAction.js +16 -11
  82. package/dist/components/SummaryList/RowAction.test.js +33 -37
  83. package/dist/components/SummaryList/SummaryList.js +34 -21
  84. package/dist/components/SummaryList/SummaryList.scss +15 -0
  85. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  86. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  87. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  88. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  89. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  90. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  91. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  92. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  93. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/index.js +1 -1
  96. package/dist/components/TaskList/Task.js +29 -19
  97. package/dist/components/TaskList/Task.test.js +76 -83
  98. package/dist/components/TaskList/TaskList.js +92 -49
  99. package/dist/components/TaskList/TaskList.scss +24 -0
  100. package/dist/components/TaskList/TaskList.test.js +255 -113
  101. package/dist/components/TaskList/TaskState.js +5 -7
  102. package/dist/components/TaskList/TaskState.test.js +45 -52
  103. package/dist/components/index.js +7 -7
  104. package/dist/context/HooksContext/HooksContext.js +80 -57
  105. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  106. package/dist/context/HooksContext/index.js +4 -3
  107. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  108. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  109. package/dist/context/ValidationContext/index.js +4 -3
  110. package/dist/context/index.js +2 -2
  111. package/dist/hooks/index.js +10 -9
  112. package/dist/hooks/useAxios.js +40 -14
  113. package/dist/hooks/useGetRequest.js +97 -61
  114. package/dist/hooks/useHooks.js +3 -1
  115. package/dist/hooks/useRefData.js +39 -26
  116. package/dist/hooks/useValidation.js +3 -1
  117. package/dist/index.js +14 -13
  118. package/dist/models/CollectionLabels.js +1 -1
  119. package/dist/models/ComponentTypes.js +25 -25
  120. package/dist/models/EventTypes.js +4 -4
  121. package/dist/models/FormPages.js +4 -4
  122. package/dist/models/FormTypes.js +8 -8
  123. package/dist/models/HubFormats.js +3 -3
  124. package/dist/models/PageAction.js +38 -44
  125. package/dist/models/TaskStates.js +28 -29
  126. package/dist/models/index.js +9 -9
  127. package/dist/setupTests.js +31 -30
  128. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  129. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  130. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  131. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  132. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  133. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  134. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  135. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  136. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  137. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  138. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  139. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  140. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
  142. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  144. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  145. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  146. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  147. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  148. package/dist/utils/CheckYourAnswers/index.js +1 -1
  149. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  150. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  151. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  152. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  153. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  154. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  155. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  156. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  157. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  158. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  159. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  160. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  161. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  162. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  163. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  164. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  165. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  166. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  167. package/dist/utils/CollectionPage/index.js +1 -1
  168. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  169. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  170. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  171. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  172. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  173. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  174. package/dist/utils/Component/addShowWhen.js +8 -4
  175. package/dist/utils/Component/addShowWhen.test.js +37 -37
  176. package/dist/utils/Component/applyToComponentTree.js +18 -18
  177. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  178. package/dist/utils/Component/cleanAttributes.js +13 -10
  179. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  180. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  181. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  182. package/dist/utils/Component/getComponent.js +94 -88
  183. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  184. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  185. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  186. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  187. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  188. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  191. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  192. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  193. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  194. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  196. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  197. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  199. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  200. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  202. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  203. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  204. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  205. package/dist/utils/Component/getDefaultValue.js +8 -6
  206. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  207. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  208. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  209. package/dist/utils/Component/index.js +1 -1
  210. package/dist/utils/Component/isEditable.js +4 -2
  211. package/dist/utils/Component/isEditable.test.js +15 -14
  212. package/dist/utils/Component/optionIsSelected.js +6 -1
  213. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  214. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  215. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  216. package/dist/utils/Component/showComponent.js +1 -1
  217. package/dist/utils/Component/showComponent.test.js +28 -28
  218. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  219. package/dist/utils/Condition/index.js +1 -1
  220. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  221. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  222. package/dist/utils/Condition/meetsCondition.js +25 -16
  223. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  224. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  225. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  226. package/dist/utils/Condition/setupConditions.js +18 -13
  227. package/dist/utils/Condition/setupConditions.test.js +7 -7
  228. package/dist/utils/Container/getEditableComponents.js +5 -3
  229. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  230. package/dist/utils/Container/index.js +1 -1
  231. package/dist/utils/Container/setupNesting.js +20 -16
  232. package/dist/utils/Container/setupNesting.test.js +30 -27
  233. package/dist/utils/Container/showContainer.js +7 -3
  234. package/dist/utils/Container/showContainer.test.js +30 -30
  235. package/dist/utils/Data/applyFormula.js +48 -38
  236. package/dist/utils/Data/applyFormula.test.js +20 -20
  237. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  238. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  239. package/dist/utils/Data/getDataPath.js +28 -18
  240. package/dist/utils/Data/getDataPath.test.js +12 -12
  241. package/dist/utils/Data/getOptions.js +30 -24
  242. package/dist/utils/Data/getOptions.test.js +27 -27
  243. package/dist/utils/Data/getSourceData.js +19 -6
  244. package/dist/utils/Data/getSourceData.test.js +80 -84
  245. package/dist/utils/Data/index.js +1 -1
  246. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  247. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  248. package/dist/utils/Data/refDataToOptions.js +13 -10
  249. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  250. package/dist/utils/Data/setDataItem.js +8 -7
  251. package/dist/utils/Data/setDataItem.test.js +37 -37
  252. package/dist/utils/Data/setupFormData.js +21 -13
  253. package/dist/utils/Data/setupFormData.test.js +50 -51
  254. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  255. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  256. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  257. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  258. package/dist/utils/FormPage/getConditionalText.js +3 -3
  259. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  260. package/dist/utils/FormPage/getFormPage.js +16 -15
  261. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  262. package/dist/utils/FormPage/getFormPages.js +12 -7
  263. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  264. package/dist/utils/FormPage/getPageActions.js +15 -9
  265. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  266. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  267. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  268. package/dist/utils/FormPage/index.js +4 -2
  269. package/dist/utils/FormPage/showFormPage.js +7 -3
  270. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  271. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  272. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  273. package/dist/utils/FormPage/useComponent.js +28 -21
  274. package/dist/utils/FormPage/useComponent.test.js +79 -77
  275. package/dist/utils/Format/formatData.js +1 -1
  276. package/dist/utils/Format/formatData.test.js +18 -18
  277. package/dist/utils/Format/formatDataForComponent.js +6 -5
  278. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  279. package/dist/utils/Format/formatDataForForm.js +8 -6
  280. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  281. package/dist/utils/Format/formatDataForPage.js +5 -4
  282. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  283. package/dist/utils/Format/index.js +1 -1
  284. package/dist/utils/Hub/getFormHub.js +1 -1
  285. package/dist/utils/Hub/getFormHub.test.js +31 -28
  286. package/dist/utils/Hub/index.js +1 -1
  287. package/dist/utils/Meta/constants.js +2 -2
  288. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  289. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  290. package/dist/utils/Meta/documents/index.js +1 -1
  291. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  292. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  293. package/dist/utils/Meta/index.js +1 -1
  294. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  295. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  296. package/dist/utils/Operate/getFirstOf.js +5 -5
  297. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  298. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  299. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  300. package/dist/utils/Operate/getLength.js +50 -0
  301. package/dist/utils/Operate/getLength.test.js +89 -0
  302. package/dist/utils/Operate/index.js +1 -1
  303. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  304. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  305. package/dist/utils/Operate/runPageOperations.js +9 -7
  306. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  307. package/dist/utils/Operate/setValueInFormData.js +2 -2
  308. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  309. package/dist/utils/Operate/shouldRun.js +6 -6
  310. package/dist/utils/Operate/shouldRun.test.js +27 -21
  311. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  312. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  313. package/dist/utils/Validate/additional/index.js +6 -6
  314. package/dist/utils/Validate/additional/index.test.js +12 -12
  315. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  317. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  318. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  319. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  320. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  321. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  322. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  323. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  325. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  327. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  328. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  329. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  330. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  331. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  333. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  334. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  335. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  337. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  338. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  339. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  340. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  341. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  342. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  343. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  344. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  345. package/dist/utils/Validate/additional/utils.js +22 -9
  346. package/dist/utils/Validate/index.js +1 -1
  347. package/dist/utils/Validate/validateCollection.js +25 -19
  348. package/dist/utils/Validate/validateCollection.test.js +66 -74
  349. package/dist/utils/Validate/validateComponent.js +21 -18
  350. package/dist/utils/Validate/validateComponent.test.js +176 -166
  351. package/dist/utils/Validate/validateContainer.js +20 -15
  352. package/dist/utils/Validate/validateContainer.test.js +52 -58
  353. package/dist/utils/Validate/validateDate.js +21 -15
  354. package/dist/utils/Validate/validateDate.test.js +32 -31
  355. package/dist/utils/Validate/validateEmail.js +8 -6
  356. package/dist/utils/Validate/validateEmail.test.js +25 -25
  357. package/dist/utils/Validate/validateMultifile.js +7 -5
  358. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  359. package/dist/utils/Validate/validatePage.js +22 -19
  360. package/dist/utils/Validate/validatePage.test.js +203 -215
  361. package/dist/utils/Validate/validateRegex.js +5 -3
  362. package/dist/utils/Validate/validateRegex.test.js +14 -14
  363. package/dist/utils/Validate/validateRequired.js +6 -4
  364. package/dist/utils/Validate/validateRequired.test.js +18 -18
  365. package/dist/utils/Validate/validateTextArea.js +6 -4
  366. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  367. package/dist/utils/Validate/validateTime.js +26 -11
  368. package/dist/utils/Validate/validateTime.test.js +62 -16
  369. package/dist/utils/index.js +9 -7
  370. package/package.json +2 -2
  371. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  372. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -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
  });
@@ -19,35 +20,47 @@ var _handlers = _interopRequireDefault(require("./handlers"));
19
20
  var _helpers = _interopRequireDefault(require("./helpers"));
20
21
  var _onCYAAction = _interopRequireDefault(require("./onCYAAction"));
21
22
  var _onPageAction = _interopRequireDefault(require("./onPageAction"));
22
- var _onTaskAction = _interopRequireDefault(require("./onTaskAction"));
23
+ var _onTaskAction2 = _interopRequireDefault(require("./onTaskAction"));
23
24
  require("./FormRenderer.scss");
25
+ var _excluded = ["noTaskCYAs", "nonSequential"];
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
- 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); }
26
- 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; }
27
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable no-shadow */ // Global imports
27
+ 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); }
28
+ 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; }
29
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
30
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
32
+ 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; }
33
+ 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; }
34
+ 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; }
35
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
36
+ 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); }
37
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
38
+ 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."); }
39
+ 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); }
40
+ 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; }
41
+ 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; } }
42
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /* eslint-disable no-shadow */ // Global imports
28
43
  // Local imports
29
44
  // Styles
30
- const FormRenderer = _ref => {
31
- let {
32
- title,
33
- type,
34
- components,
35
- pages,
36
- hub,
37
- cya,
38
- data,
39
- hashLink,
40
- hooks,
41
- classBlock,
42
- classModifiers,
43
- className,
44
- hide_title: hideTitle,
45
- summaryListClassModifiers,
46
- noChangeAction,
47
- newPageId,
48
- viewOnly,
49
- hideBlankRows
50
- } = _ref;
45
+ var FormRenderer = function FormRenderer(_ref) {
46
+ var title = _ref.title,
47
+ type = _ref.type,
48
+ components = _ref.components,
49
+ pages = _ref.pages,
50
+ hub = _ref.hub,
51
+ cya = _ref.cya,
52
+ data = _ref.data,
53
+ hashLink = _ref.hashLink,
54
+ hooks = _ref.hooks,
55
+ classBlock = _ref.classBlock,
56
+ classModifiers = _ref.classModifiers,
57
+ className = _ref.className,
58
+ hideTitle = _ref.hide_title,
59
+ summaryListClassModifiers = _ref.summaryListClassModifiers,
60
+ noChangeAction = _ref.noChangeAction,
61
+ newPageId = _ref.newPageId,
62
+ viewOnly = _ref.viewOnly,
63
+ hideBlankRows = _ref.hideBlankRows;
51
64
  return /*#__PURE__*/_react.default.createElement(_context.HooksContextProvider, {
52
65
  overrides: hooks
53
66
  }, /*#__PURE__*/_react.default.createElement(_context.ValidationContextProvider, null, /*#__PURE__*/_react.default.createElement(InternalFormRenderer, {
@@ -70,86 +83,111 @@ const FormRenderer = _ref => {
70
83
  hideBlankRows: hideBlankRows
71
84
  })));
72
85
  };
73
- const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form';
74
- const InternalFormRenderer = _ref2 => {
86
+ var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form';
87
+ var InternalFormRenderer = function InternalFormRenderer(_ref2) {
75
88
  var _formState$page4, _formState$page$actio, _formState$cya$hideCh, _formState$cya$hideGr;
76
- let {
77
- title,
78
- type,
79
- components,
80
- pages: _pages,
81
- hub: _hub,
82
- cya,
83
- data: _data,
84
- classBlock,
85
- classModifiers,
86
- className,
87
- hashLink,
88
- hide_title: hideTitle,
89
- summaryListClassModifiers,
90
- noChangeAction,
91
- newPageId,
92
- viewOnly,
93
- hideBlankRows
94
- } = _ref2;
89
+ var title = _ref2.title,
90
+ type = _ref2.type,
91
+ components = _ref2.components,
92
+ _pages = _ref2.pages,
93
+ _hub = _ref2.hub,
94
+ cya = _ref2.cya,
95
+ _data = _ref2.data,
96
+ classBlock = _ref2.classBlock,
97
+ classModifiers = _ref2.classModifiers,
98
+ className = _ref2.className,
99
+ hashLink = _ref2.hashLink,
100
+ hideTitle = _ref2.hide_title,
101
+ summaryListClassModifiers = _ref2.summaryListClassModifiers,
102
+ noChangeAction = _ref2.noChangeAction,
103
+ newPageId = _ref2.newPageId,
104
+ viewOnly = _ref2.viewOnly,
105
+ hideBlankRows = _ref2.hideBlankRows;
95
106
  // Set up the initial states.
96
- const [data, setData] = (0, _react.useState)({});
97
- const [submitted, setSubmitted] = (0, _react.useState)();
98
- const [pages, setPages] = (0, _react.useState)([]);
99
- const [hub, setHub] = (0, _react.useState)(undefined);
100
- const [pageId, setPageId] = (0, _react.useState)(_helpers.default.getNextPageId(type, _pages, null, null, _data));
101
- const [formState, setFormState] = (0, _react.useState)(_helpers.default.getFormState(pageId, pages, hub));
102
- const [currentTask, setCurrentTask] = (0, _react.useState)({});
103
- const [hubDetails, setHubDetails] = (0, _react.useState)({});
104
- const [pagePoint, setPagePoint] = (0, _react.useState)('load');
105
- const [goingBack, setGoingBack] = (0, _react.useState)(false);
106
- const [submitting, setSubmitting] = (0, _react.useState)(false);
107
+ var _useState = (0, _react.useState)({}),
108
+ _useState2 = _slicedToArray(_useState, 2),
109
+ data = _useState2[0],
110
+ setData = _useState2[1];
111
+ var _useState3 = (0, _react.useState)(),
112
+ _useState4 = _slicedToArray(_useState3, 2),
113
+ submitted = _useState4[0],
114
+ setSubmitted = _useState4[1];
115
+ var _useState5 = (0, _react.useState)([]),
116
+ _useState6 = _slicedToArray(_useState5, 2),
117
+ pages = _useState6[0],
118
+ setPages = _useState6[1];
119
+ var _useState7 = (0, _react.useState)(undefined),
120
+ _useState8 = _slicedToArray(_useState7, 2),
121
+ hub = _useState8[0],
122
+ setHub = _useState8[1];
123
+ var _useState9 = (0, _react.useState)(_helpers.default.getNextPageId(type, _pages, null, null, _data)),
124
+ _useState10 = _slicedToArray(_useState9, 2),
125
+ pageId = _useState10[0],
126
+ setPageId = _useState10[1];
127
+ var _useState11 = (0, _react.useState)(_helpers.default.getFormState(pageId, pages, hub)),
128
+ _useState12 = _slicedToArray(_useState11, 2),
129
+ formState = _useState12[0],
130
+ setFormState = _useState12[1];
131
+ var _useState13 = (0, _react.useState)({}),
132
+ _useState14 = _slicedToArray(_useState13, 2),
133
+ currentTask = _useState14[0],
134
+ setCurrentTask = _useState14[1];
135
+ var _useState15 = (0, _react.useState)({}),
136
+ _useState16 = _slicedToArray(_useState15, 2),
137
+ hubDetails = _useState16[0],
138
+ setHubDetails = _useState16[1];
139
+ var _useState17 = (0, _react.useState)('load'),
140
+ _useState18 = _slicedToArray(_useState17, 2),
141
+ pagePoint = _useState18[0],
142
+ setPagePoint = _useState18[1];
143
+ var _useState19 = (0, _react.useState)(false),
144
+ _useState20 = _slicedToArray(_useState19, 2),
145
+ goingBack = _useState20[0],
146
+ setGoingBack = _useState20[1];
147
+ var _useState21 = (0, _react.useState)(false),
148
+ _useState22 = _slicedToArray(_useState21, 2),
149
+ submitting = _useState22[0],
150
+ setSubmitting = _useState22[1];
107
151
 
108
152
  // Set up hooks.
109
- const {
110
- hooks
111
- } = (0, _hooks.useHooks)();
153
+ var _useHooks = (0, _hooks.useHooks)(),
154
+ hooks = _useHooks.hooks;
112
155
 
113
156
  // Set up the useValidation hook.
114
- const {
115
- addErrors,
116
- clearErrors,
117
- errors,
118
- validate
119
- } = (0, _hooks.useValidation)();
157
+ var _useValidation = (0, _hooks.useValidation)(),
158
+ addErrors = _useValidation.addErrors,
159
+ clearErrors = _useValidation.clearErrors,
160
+ errors = _useValidation.errors,
161
+ validate = _useValidation.validate;
120
162
 
121
163
  // Need to set submission data when going back
122
- window.onpopstate = e => {
164
+ window.onpopstate = function (e) {
123
165
  var _formState$page;
124
166
  if (document.location.hash) {
125
167
  return;
126
168
  }
127
169
  if (e.state && e.state.fullPages !== undefined) {
128
- setCurrentTask(prev => {
170
+ setCurrentTask(function (prev) {
129
171
  var _e$state;
130
- return {
131
- ...prev,
172
+ return _objectSpread(_objectSpread({}, prev), {}, {
132
173
  fullPages: (_e$state = e.state) === null || _e$state === void 0 ? void 0 : _e$state.fullPages
133
- };
174
+ });
134
175
  });
135
176
  }
136
177
  clearErrors();
137
178
  setGoingBack(true);
138
179
  hooks.onGoingBack(e.state ? e.state : null);
139
180
  if (components && pages && data && (_formState$page = formState.page) !== null && _formState$page !== void 0 && _formState$page.formData && pagePoint === undefined) {
140
- const submissionData = _utils.default.Format.form({
141
- pages,
142
- components
143
- }, {
144
- ...data,
145
- ...formState.page.formData
146
- }, _models.EventTypes.SUBMIT);
181
+ var submissionData = _utils.default.Format.form({
182
+ pages: pages,
183
+ components: components
184
+ }, _objectSpread(_objectSpread({}, data), formState.page.formData), _models.EventTypes.SUBMIT);
147
185
  setData(submissionData);
148
186
  }
149
187
  };
150
188
 
151
189
  // Setup data.
152
- (0, _react.useEffect)(() => {
190
+ (0, _react.useEffect)(function () {
153
191
  if (components && _pages && _data && (pagePoint === 'load' || viewOnly)) {
154
192
  var _data$formStatus;
155
193
  setData(_utils.default.Data.setupForm(_pages, components, _data));
@@ -160,97 +198,95 @@ const InternalFormRenderer = _ref2 => {
160
198
  }, [components, _pages, _data, setData, pagePoint, viewOnly]);
161
199
 
162
200
  // Setup pages.
163
- (0, _react.useEffect)(() => {
164
- setPages(_utils.default.FormPage.getAll(_pages, components, {
165
- ...data
166
- }));
201
+ (0, _react.useEffect)(function () {
202
+ setPages(_utils.default.FormPage.getAll(_pages, components, _objectSpread({}, data)));
167
203
  }, [components, _pages, data, setPages]);
168
204
 
169
205
  // Setup initial pageId.
170
- (0, _react.useEffect)(() => {
171
- setPageId(prev => prev || _helpers.default.getNextPageId(type, pages));
206
+ (0, _react.useEffect)(function () {
207
+ setPageId(function (prev) {
208
+ return prev || _helpers.default.getNextPageId(type, pages);
209
+ });
172
210
  }, [type, pages, setPageId]);
173
211
 
174
212
  // Setup hub.
175
- (0, _react.useEffect)(() => {
176
- setHub(_utils.default.Hub.get(type, _hub, components, {
177
- ...data
178
- }));
213
+ (0, _react.useEffect)(function () {
214
+ setHub(_utils.default.Hub.get(type, _hub, components, _objectSpread({}, data)));
179
215
  }, [type, _hub, data, components, setHub]);
180
216
 
181
217
  // Form state.
182
- (0, _react.useEffect)(() => {
218
+ (0, _react.useEffect)(function () {
183
219
  var _formState$page2;
184
220
  // revert formData changes if going back in hub-and-spoke
185
221
  if (type === _models.FormTypes.HUB && goingBack && data && (_formState$page2 = formState.page) !== null && _formState$page2 !== void 0 && _formState$page2.formData) {
186
- formState.page.formData = {
187
- ...data
188
- };
222
+ formState.page.formData = _objectSpread({}, data);
189
223
  }
190
224
  setGoingBack(false);
191
225
  setFormState(_helpers.default.getFormState(pageId, pages, hub));
192
226
  }, [pages, hub, pageId, setFormState, type, goingBack, data, formState.page]);
193
227
 
194
228
  // Call the onFormLoad hook just when this component first renders.
195
- (0, _react.useEffect)(() => {
229
+ (0, _react.useEffect)(function () {
196
230
  setPagePoint(undefined);
197
231
  // In case of refresh the current task needs to be reset
198
- hooks.onFormLoad(currentTask => {
232
+ hooks.onFormLoad(function (currentTask) {
199
233
  setCurrentTask(currentTask);
200
234
  });
201
235
  }, [hooks]);
202
- (0, _react.useEffect)(() => {
236
+ (0, _react.useEffect)(function () {
203
237
  setHubDetails(_hub);
204
238
  }, [_hub]);
205
239
 
206
240
  // Calling setData directly within the hooks.onSubmit success handler
207
241
  // resulted in a synchronisation error. Handling it in a useEffect appears
208
242
  // to be the way to deal with this... and it certainly seems to work.
209
- (0, _react.useEffect)(() => {
243
+ (0, _react.useEffect)(function () {
210
244
  if (submitted !== null && submitted !== void 0 && submitted.data) {
211
245
  setData(submitted.data);
212
246
  setSubmitted(undefined);
213
247
  }
214
248
  }, [submitted, setData, setSubmitted]);
215
- const theSections = _hub === null || _hub === void 0 ? void 0 : _hub.sections;
216
- const nonSequential = _hub === null || _hub === void 0 ? void 0 : _hub.nonSequential;
249
+ var theSections = _hub === null || _hub === void 0 ? void 0 : _hub.sections;
250
+ var nonSequential = _hub === null || _hub === void 0 ? void 0 : _hub.nonSequential;
217
251
  // Update task list pages with form data and update states
218
- (0, _react.useEffect)(() => {
219
- const pages = currentTask.fullPages;
252
+ (0, _react.useEffect)(function () {
253
+ var pages = currentTask.fullPages;
220
254
  if (pages) {
221
- pages.forEach(page => {
222
- const p = page;
255
+ pages.forEach(function (page) {
256
+ var p = page;
223
257
  if (p) {
224
258
  p.formData = data;
225
259
  }
226
260
  });
227
- setCurrentTask(prev => ({
228
- ...prev,
229
- fullPages: pages
230
- }));
261
+ setCurrentTask(function (prev) {
262
+ return _objectSpread(_objectSpread({}, prev), {}, {
263
+ fullPages: pages
264
+ });
265
+ });
231
266
  }
232
267
  if (theSections) {
233
268
  var _data$formStatus2;
234
- const tasks = (data === null || data === void 0 || (_data$formStatus2 = data.formStatus) === null || _data$formStatus2 === void 0 ? void 0 : _data$formStatus2.tasks) || {};
235
- const updatedSections = _helpers.default.getUpdatedSectionStates(theSections, tasks, nonSequential, data);
236
- setHubDetails(prev => ({
237
- ...prev,
238
- sections: [].concat(updatedSections)
239
- }));
269
+ var tasks = (data === null || data === void 0 || (_data$formStatus2 = data.formStatus) === null || _data$formStatus2 === void 0 ? void 0 : _data$formStatus2.tasks) || {};
270
+ var updatedSections = _helpers.default.getUpdatedSectionStates(theSections, tasks, nonSequential, data);
271
+ setHubDetails(function (prev) {
272
+ return _objectSpread(_objectSpread({}, prev), {}, {
273
+ sections: [].concat(updatedSections)
274
+ });
275
+ });
240
276
  }
241
277
  }, [currentTask.fullPages, data, theSections, nonSequential]);
242
- const onPageChange = function (newPageId) {
243
- let state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
278
+ var onPageChange = function onPageChange(newPageId) {
279
+ var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
244
280
  clearErrors();
245
281
  setPageId(newPageId);
246
282
  hooks.onPageChange(newPageId, state);
247
283
  };
248
- (0, _react.useEffect)(() => {
284
+ (0, _react.useEffect)(function () {
249
285
  if (newPageId !== undefined) setPageId(newPageId);
250
286
  }, [newPageId]);
251
287
 
252
288
  // Handle change to form data in pages.
253
- const onChange = data => {
289
+ var onChange = function onChange(data) {
254
290
  hooks.onChange(data);
255
291
  };
256
292
 
@@ -258,49 +294,49 @@ const InternalFormRenderer = _ref2 => {
258
294
  // Passing a dataCallback allows changes to formData from the
259
295
  // CYA screen. This is necessary to allow changing the active
260
296
  // entry in page collections.
261
- const onCYARowAction = (page, dataCallback) => {
297
+ var onCYARowAction = function onCYARowAction(page, dataCallback) {
262
298
  var _formState$page3;
263
299
  if (typeof dataCallback === 'function') {
264
- const newData = dataCallback({
265
- ...data
266
- });
300
+ var newData = dataCallback(_objectSpread({}, data));
267
301
  if (newData) {
268
302
  setData(newData);
269
303
  }
270
304
  }
271
305
  if (((_formState$page3 = formState.page) === null || _formState$page3 === void 0 ? void 0 : _formState$page3.type) === _models.FormPages.PARTIAL_CYA && !cya.disableTaskSwitch) {
272
- hubDetails.sections.every(section => section.tasks.every(task => {
273
- if (task.pages.includes(page.pageId) && task.name !== currentTask.name) {
274
- (0, _onTaskAction.default)(task, pages, setCurrentTask, hubDetails, data, onPageChange);
275
- return false;
276
- }
277
- return true;
278
- }));
306
+ hubDetails.sections.every(function (section) {
307
+ return section.tasks.every(function (task) {
308
+ if (task.pages.includes(page.pageId) && task.name !== currentTask.name) {
309
+ (0, _onTaskAction2.default)(task, pages, setCurrentTask, hubDetails, data, onPageChange);
310
+ return false;
311
+ }
312
+ return true;
313
+ });
314
+ });
279
315
  }
280
316
  if (page) {
281
317
  _handlers.default.cyaAction(page, pageId, onPageChange);
282
318
  }
283
319
  };
284
- const classes = _utils.default.classBuilder(classBlock, classModifiers, className);
320
+ var classes = _utils.default.classBuilder(classBlock, classModifiers, className);
285
321
  if (hub === _models.HubFormats.TASK) {
286
- const currentCYA = cya;
322
+ var currentCYA = cya;
287
323
  currentCYA.actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN];
288
324
  }
289
325
 
290
326
  // filter out invalid attribs
291
- const {
292
- noTaskCYAs: _noCYA,
293
- nonSequential: _nonSeq,
294
- ...taskDetails
295
- } = hubDetails;
327
+ var _noCYA = hubDetails.noTaskCYAs,
328
+ _nonSeq = hubDetails.nonSequential,
329
+ taskDetails = _objectWithoutProperties(hubDetails, _excluded);
296
330
  return /*#__PURE__*/_react.default.createElement("div", {
297
331
  className: classes()
298
332
  }, title && !hideTitle && pageId === _models.FormPages.HUB && /*#__PURE__*/_react.default.createElement(_copReactComponents.LargeHeading, null, title), formState.cya && /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, _extends({
299
333
  pages: _helpers.default.getRelevantPages(formState, pages, currentTask.fullPages)
300
334
  }, cya, ((_formState$page4 = formState.page) === null || _formState$page4 === void 0 ? void 0 : _formState$page4.type) === _models.FormPages.PARTIAL_CYA && {
301
- actions: (_formState$page$actio = formState.page.actions) === null || _formState$page$actio === void 0 ? void 0 : _formState$page$actio.filter(action => _utils.default.Component.show(action, data))
335
+ actions: (_formState$page$actio = formState.page.actions) === null || _formState$page$actio === void 0 ? void 0 : _formState$page$actio.filter(function (action) {
336
+ return _utils.default.Component.show(action, data);
337
+ })
302
338
  }, formState.cya, {
303
- onAction: action => {
339
+ onAction: function onAction(action) {
304
340
  (0, _onCYAAction.default)(setPagePoint, action, pages, validate, components, data, setData, type, pageId, currentTask, hooks, addErrors, hub, onPageChange, formState, submitting, setSubmitting);
305
341
  },
306
342
  onRowAction: onCYARowAction,
@@ -313,14 +349,15 @@ const InternalFormRenderer = _ref2 => {
313
349
  hideBlankRows: hideBlankRows
314
350
  })), hub === _models.HubFormats.TASK && formState.pageId === _models.FormPages.HUB && /*#__PURE__*/_react.default.createElement(_TaskList.default, _extends({}, taskDetails, {
315
351
  refNumber: data.businessKey,
316
- onTaskAction: task => {
317
- (0, _onTaskAction.default)(task, pages, setCurrentTask, hubDetails, data, onPageChange);
352
+ onTaskAction: function onTaskAction(task) {
353
+ (0, _onTaskAction2.default)(task, pages, setCurrentTask, hubDetails, data, onPageChange);
318
354
  },
355
+ annotations: (hubDetails === null || hubDetails === void 0 ? void 0 : hubDetails.taskListAnnotations) || [],
319
356
  formData: data
320
357
  })), formState.page && !formState.cya && !formState.page.collection && /*#__PURE__*/_react.default.createElement(_FormPage.default, {
321
358
  page: formState.page,
322
359
  pages: [].concat(pages),
323
- onAction: (action, patch, patchLabel) => {
360
+ onAction: function onAction(action, patch, patchLabel) {
324
361
  (0, _onPageAction.default)(action, patch, patchLabel, hooks, data, formState, validate, onPageChange, type, pages, components, pageId, setPagePoint, currentTask, setData, hubDetails, setSubmitted, addErrors, submitting, setSubmitting, errors);
325
362
  },
326
363
  onChange: onChange,
@@ -332,7 +369,7 @@ const InternalFormRenderer = _ref2 => {
332
369
  page: formState.page,
333
370
  pages: pages,
334
371
  onCollectionChange: onChange,
335
- onAction: (action, patch, patchLabel) => {
372
+ onAction: function onAction(action, patch, patchLabel) {
336
373
  (0, _onPageAction.default)(action, patch, patchLabel, hooks, data, formState, validate, onPageChange, type, pages, components, pageId, setPagePoint, currentTask, setData, hubDetails, setSubmitted, addErrors, submitting, setSubmitting, errors);
337
374
  },
338
375
  hashLink: hashLink,
@@ -341,7 +378,7 @@ const InternalFormRenderer = _ref2 => {
341
378
  submitting: submitting
342
379
  }));
343
380
  };
344
- const propTypes = {
381
+ var propTypes = {
345
382
  classBlock: _propTypes.default.string,
346
383
  classModifiers: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
347
384
  className: _propTypes.default.string,
@@ -372,7 +409,7 @@ const propTypes = {
372
409
  viewOnly: _propTypes.default.bool,
373
410
  hideBlankRows: _propTypes.default.bool
374
411
  };
375
- const defaultProps = {
412
+ var defaultProps = {
376
413
  classBlock: DEFAULT_CLASS,
377
414
  className: '',
378
415
  classModifiers: [],