@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.91.0

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