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