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