@ukhomeoffice/cop-react-form-renderer 5.45.2-alpha → 5.48.1-alpha

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