@ukhomeoffice/cop-react-form-renderer 5.14.2 → 5.14.4

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