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

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 (382) 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 +55 -47
  16. package/dist/components/CollectionSummary/RenderListView.test.js +81 -82
  17. package/dist/components/CollectionSummary/SummaryCard.js +157 -121
  18. package/dist/components/CollectionSummary/SummaryCard.test.js +1000 -970
  19. package/dist/components/CollectionSummary/SummaryCardDetails.js +94 -103
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +195 -187
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +36 -31
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +76 -64
  23. package/dist/components/CollectionSummary/index.js +1 -1
  24. package/dist/components/FormComponent/Collection.js +117 -80
  25. package/dist/components/FormComponent/Collection.test.js +1082 -910
  26. package/dist/components/FormComponent/Container.js +38 -43
  27. package/dist/components/FormComponent/Container.test.js +411 -379
  28. package/dist/components/FormComponent/FormComponent.js +74 -71
  29. package/dist/components/FormComponent/FormComponent.test.js +415 -354
  30. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  33. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  34. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/index.js +5 -5
  38. package/dist/components/FormComponent/index.js +1 -1
  39. package/dist/components/FormPage/FormPage.js +87 -71
  40. package/dist/components/FormPage/FormPage.test.js +170 -133
  41. package/dist/components/FormPage/index.js +1 -1
  42. package/dist/components/FormRenderer/FormRenderer.js +198 -153
  43. package/dist/components/FormRenderer/FormRenderer.test.js +1116 -731
  44. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  45. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  46. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  47. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  48. package/dist/components/FormRenderer/handlers/index.js +2 -2
  49. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  50. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  52. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  54. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +21 -17
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +30 -27
  56. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  57. package/dist/components/FormRenderer/helpers/getCYA.js +7 -5
  58. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  59. package/dist/components/FormRenderer/helpers/getFormState.js +8 -6
  60. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  61. package/dist/components/FormRenderer/helpers/getNextPageId.js +32 -18
  62. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  63. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  64. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.js +11 -8
  66. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +13 -12
  68. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -104
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +64 -65
  70. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +79 -72
  71. package/dist/components/FormRenderer/helpers/index.js +2 -2
  72. package/dist/components/FormRenderer/index.js +1 -1
  73. package/dist/components/FormRenderer/onCYAAction.js +54 -61
  74. package/dist/components/FormRenderer/onCYAAction.test.js +153 -165
  75. package/dist/components/FormRenderer/onPageAction.js +41 -45
  76. package/dist/components/FormRenderer/onPageAction.test.js +210 -225
  77. package/dist/components/FormRenderer/onTaskAction.js +15 -11
  78. package/dist/components/FormRenderer/onTaskAction.test.js +89 -94
  79. package/dist/components/PageActions/ActionButton.js +16 -13
  80. package/dist/components/PageActions/ActionButton.test.js +79 -57
  81. package/dist/components/PageActions/PageActions.js +11 -11
  82. package/dist/components/PageActions/PageActions.test.js +116 -87
  83. package/dist/components/PageActions/index.js +1 -1
  84. package/dist/components/SummaryList/GroupAction.js +21 -13
  85. package/dist/components/SummaryList/GroupAction.test.js +37 -41
  86. package/dist/components/SummaryList/RowAction.js +17 -12
  87. package/dist/components/SummaryList/RowAction.test.js +37 -41
  88. package/dist/components/SummaryList/SummaryList.js +28 -23
  89. package/dist/components/SummaryList/SummaryList.test.js +206 -179
  90. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -8
  91. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +5 -7
  92. package/dist/components/SummaryList/SummaryListRow.js +6 -8
  93. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -7
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +6 -4
  95. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +6 -4
  97. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  98. package/dist/components/SummaryList/helpers/index.js +2 -2
  99. package/dist/components/SummaryList/index.js +1 -1
  100. package/dist/components/TaskList/Task.js +30 -20
  101. package/dist/components/TaskList/Task.test.js +77 -84
  102. package/dist/components/TaskList/TaskList.js +84 -53
  103. package/dist/components/TaskList/TaskList.test.js +150 -150
  104. package/dist/components/TaskList/TaskState.js +6 -8
  105. package/dist/components/TaskList/TaskState.test.js +49 -56
  106. package/dist/components/TaskList/index.js +1 -1
  107. package/dist/components/index.js +8 -8
  108. package/dist/context/HooksContext/HooksContext.js +81 -58
  109. package/dist/context/HooksContext/HooksContext.test.js +36 -27
  110. package/dist/context/HooksContext/index.js +4 -3
  111. package/dist/context/ValidationContext/ValidationContext.js +95 -44
  112. package/dist/context/ValidationContext/ValidationContext.test.js +70 -58
  113. package/dist/context/ValidationContext/index.js +4 -3
  114. package/dist/context/index.js +3 -3
  115. package/dist/hooks/index.js +11 -10
  116. package/dist/hooks/useAxios.js +41 -15
  117. package/dist/hooks/useGetRequest.js +98 -62
  118. package/dist/hooks/useHooks.js +3 -1
  119. package/dist/hooks/useRefData.js +41 -28
  120. package/dist/hooks/useValidation.js +3 -1
  121. package/dist/index.js +15 -14
  122. package/dist/models/CollectionLabels.js +1 -1
  123. package/dist/models/ComponentTypes.js +25 -25
  124. package/dist/models/EventTypes.js +4 -4
  125. package/dist/models/FormPages.js +4 -4
  126. package/dist/models/FormTypes.js +8 -8
  127. package/dist/models/HubFormats.js +3 -3
  128. package/dist/models/PageAction.js +38 -44
  129. package/dist/models/TaskStates.js +28 -29
  130. package/dist/models/index.js +10 -10
  131. package/dist/setupTests.js +32 -31
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +55 -53
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +27 -17
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +36 -34
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +34 -20
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +45 -43
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +10 -8
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +25 -19
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +17 -16
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +45 -39
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +75 -72
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +105 -100
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +182 -218
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -26
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +106 -112
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +21 -15
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +83 -77
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +19 -14
  152. package/dist/utils/CheckYourAnswers/index.js +2 -2
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +22 -21
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +24 -14
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +43 -52
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +12 -7
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +13 -8
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +26 -25
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +23 -21
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +32 -37
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +22 -18
  171. package/dist/utils/CollectionPage/index.js +2 -2
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +42 -37
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -48
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +7 -5
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +19 -12
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
  178. package/dist/utils/Component/addShowWhen.js +8 -4
  179. package/dist/utils/Component/addShowWhen.test.js +38 -38
  180. package/dist/utils/Component/applyToComponentTree.js +20 -19
  181. package/dist/utils/Component/applyToComponentTree.test.js +33 -28
  182. package/dist/utils/Component/cleanAttributes.js +13 -10
  183. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  184. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  185. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  186. package/dist/utils/Component/getComponent.js +97 -90
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -19
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +63 -50
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +49 -40
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +40 -30
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +19 -21
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +23 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +27 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -12
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +16 -18
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -10
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +16 -18
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +27 -23
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +16 -18
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +23 -18
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +73 -58
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +23 -18
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +23 -18
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +41 -34
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +32 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -10
  209. package/dist/utils/Component/getDefaultValue.js +9 -7
  210. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  213. package/dist/utils/Component/index.js +2 -2
  214. package/dist/utils/Component/isEditable.js +4 -2
  215. package/dist/utils/Component/isEditable.test.js +15 -14
  216. package/dist/utils/Component/optionIsSelected.js +4 -2
  217. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  218. package/dist/utils/Component/setupContainerComponentsPath.js +31 -29
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  220. package/dist/utils/Component/showComponent.js +4 -3
  221. package/dist/utils/Component/showComponent.test.js +29 -29
  222. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  223. package/dist/utils/Condition/index.js +2 -2
  224. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  225. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  226. package/dist/utils/Condition/meetsCondition.js +31 -20
  227. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  228. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  229. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  230. package/dist/utils/Condition/setupConditions.js +19 -14
  231. package/dist/utils/Condition/setupConditions.test.js +8 -8
  232. package/dist/utils/Container/getEditableComponents.js +6 -4
  233. package/dist/utils/Container/getEditableComponents.test.js +46 -44
  234. package/dist/utils/Container/index.js +2 -2
  235. package/dist/utils/Container/setupNesting.js +22 -16
  236. package/dist/utils/Container/setupNesting.test.js +31 -28
  237. package/dist/utils/Container/showContainer.js +8 -4
  238. package/dist/utils/Container/showContainer.test.js +31 -31
  239. package/dist/utils/Data/applyFormula.js +50 -40
  240. package/dist/utils/Data/applyFormula.test.js +26 -26
  241. package/dist/utils/Data/deleteValues.js +8 -4
  242. package/dist/utils/Data/deleteValues.test.js +11 -11
  243. package/dist/utils/Data/getAutocompleteSource.js +29 -20
  244. package/dist/utils/Data/getAutocompleteSource.test.js +87 -81
  245. package/dist/utils/Data/getDataPath.js +30 -20
  246. package/dist/utils/Data/getDataPath.test.js +20 -20
  247. package/dist/utils/Data/getOptions.js +34 -27
  248. package/dist/utils/Data/getOptions.test.js +28 -28
  249. package/dist/utils/Data/getSourceData.js +19 -6
  250. package/dist/utils/Data/getSourceData.test.js +81 -85
  251. package/dist/utils/Data/index.js +2 -2
  252. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  254. package/dist/utils/Data/refDataToOptions.js +15 -11
  255. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  256. package/dist/utils/Data/setDataItem.js +8 -7
  257. package/dist/utils/Data/setDataItem.test.js +38 -38
  258. package/dist/utils/Data/setupFormData.js +22 -14
  259. package/dist/utils/Data/setupFormData.test.js +51 -52
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +28 -21
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  262. package/dist/utils/FormPage/applyConditionalProperties.js +10 -6
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +19 -16
  264. package/dist/utils/FormPage/getConditionalText.js +4 -4
  265. package/dist/utils/FormPage/getConditionalText.test.js +35 -35
  266. package/dist/utils/FormPage/getFormPage.js +17 -16
  267. package/dist/utils/FormPage/getFormPage.test.js +48 -49
  268. package/dist/utils/FormPage/getFormPages.js +13 -8
  269. package/dist/utils/FormPage/getFormPages.test.js +25 -22
  270. package/dist/utils/FormPage/getPageActions.js +17 -10
  271. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  272. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  274. package/dist/utils/FormPage/index.js +5 -3
  275. package/dist/utils/FormPage/showFormPage.js +8 -4
  276. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  277. package/dist/utils/FormPage/showFormPageCYA.js +3 -3
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  279. package/dist/utils/FormPage/useComponent.js +28 -21
  280. package/dist/utils/FormPage/useComponent.test.js +80 -78
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +19 -19
  283. package/dist/utils/Format/formatDataForComponent.js +7 -6
  284. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  285. package/dist/utils/Format/formatDataForForm.js +8 -6
  286. package/dist/utils/Format/formatDataForForm.test.js +17 -14
  287. package/dist/utils/Format/formatDataForPage.js +5 -4
  288. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  289. package/dist/utils/Format/index.js +2 -2
  290. package/dist/utils/Hub/getFormHub.js +2 -2
  291. package/dist/utils/Hub/getFormHub.test.js +32 -29
  292. package/dist/utils/Hub/index.js +2 -2
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +4 -1
  295. package/dist/utils/Meta/documents/getDocuments.test.js +17 -25
  296. package/dist/utils/Meta/documents/index.js +2 -2
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +17 -15
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +35 -69
  299. package/dist/utils/Meta/index.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  302. package/dist/utils/Operate/deleteValueInFormData.js +3 -3
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  304. package/dist/utils/Operate/getFirstOf.js +8 -8
  305. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +53 -47
  308. package/dist/utils/Operate/getLength.js +11 -11
  309. package/dist/utils/Operate/getLength.test.js +19 -19
  310. package/dist/utils/Operate/index.js +2 -2
  311. package/dist/utils/Operate/persistValueInFormData.js +6 -6
  312. package/dist/utils/Operate/persistValueInFormData.test.js +21 -23
  313. package/dist/utils/Operate/runPageOperations.js +9 -9
  314. package/dist/utils/Operate/runPageOperations.test.js +37 -36
  315. package/dist/utils/Operate/setValueInFormData.js +5 -5
  316. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  317. package/dist/utils/Operate/shouldRun.js +8 -8
  318. package/dist/utils/Operate/shouldRun.test.js +28 -22
  319. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  320. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  321. package/dist/utils/Validate/additional/conditionallyRequired.js +5 -4
  322. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  323. package/dist/utils/Validate/additional/index.js +8 -8
  324. package/dist/utils/Validate/additional/index.test.js +22 -22
  325. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  327. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  328. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  329. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +14 -9
  330. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +42 -38
  331. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  333. package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
  334. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  335. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
  336. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  337. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  338. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  339. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  340. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  341. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  342. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  343. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  345. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  346. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  347. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  348. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +40 -36
  349. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +5 -3
  350. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +17 -15
  351. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  352. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  353. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  354. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  355. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +5 -3
  356. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +27 -29
  357. package/dist/utils/Validate/additional/utils.js +24 -11
  358. package/dist/utils/Validate/index.js +2 -2
  359. package/dist/utils/Validate/validateCollection.js +27 -21
  360. package/dist/utils/Validate/validateCollection.test.js +77 -85
  361. package/dist/utils/Validate/validateComponent.js +23 -22
  362. package/dist/utils/Validate/validateComponent.test.js +165 -188
  363. package/dist/utils/Validate/validateContainer.js +21 -16
  364. package/dist/utils/Validate/validateContainer.test.js +56 -62
  365. package/dist/utils/Validate/validateDate.js +23 -17
  366. package/dist/utils/Validate/validateDate.test.js +32 -31
  367. package/dist/utils/Validate/validateEmail.js +9 -7
  368. package/dist/utils/Validate/validateEmail.test.js +26 -26
  369. package/dist/utils/Validate/validateMultifile.js +7 -5
  370. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  371. package/dist/utils/Validate/validatePage.js +24 -20
  372. package/dist/utils/Validate/validatePage.test.js +215 -227
  373. package/dist/utils/Validate/validateRegex.js +8 -5
  374. package/dist/utils/Validate/validateRegex.test.js +17 -17
  375. package/dist/utils/Validate/validateRequired.js +7 -5
  376. package/dist/utils/Validate/validateRequired.test.js +19 -19
  377. package/dist/utils/Validate/validateTextArea.js +7 -5
  378. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  379. package/dist/utils/Validate/validateTime.js +19 -12
  380. package/dist/utils/Validate/validateTime.test.js +27 -27
  381. package/dist/utils/index.js +10 -8
  382. package/package.json +1 -1
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _CheckYourAnswers = _interopRequireDefault(require("./CheckYourAnswers"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  var _default = exports.default = _CheckYourAnswers.default;
@@ -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
  });
@@ -11,65 +12,68 @@ var _utils = _interopRequireDefault(require("../../utils"));
11
12
  var _FormPage = _interopRequireDefault(require("../FormPage"));
12
13
  var _FormPage2 = require("../FormPage/FormPage");
13
14
  require("../FormPage/FormPage.scss");
14
- 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); }
15
- 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; }
16
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- // Global imports
18
-
15
+ 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); }
16
+ 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; }
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ 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; }
19
+ 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; }
20
+ 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; }
21
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
+ 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); }
23
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
24
+ 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."); }
25
+ 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); }
26
+ 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; }
27
+ 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; } }
28
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
19
29
  // Local imports.
20
-
21
30
  // Styles
22
-
23
- const DEFAULT_CLASS = exports.DEFAULT_CLASS = _FormPage2.DEFAULT_CLASS;
24
- const CollectionPage = _ref => {
25
- let {
26
- page,
27
- pages,
28
- onCollectionChange,
29
- onAction,
30
- hashLink,
31
- classBlock,
32
- classModifiers,
33
- className,
34
- submitting
35
- } = _ref;
36
- const [patch, setPatch] = (0, _react.useState)({});
37
- let data = _utils.default.CollectionPage.getData(page.collection.name, page.formData) || [];
38
- const currentCollectionName = page.collection.name.split('.').pop();
39
- let activeIndex = _utils.default.CollectionPage.getActiveIndex(page.collection.name, page.formData);
31
+ var DEFAULT_CLASS = exports.DEFAULT_CLASS = _FormPage2.DEFAULT_CLASS;
32
+ var CollectionPage = function CollectionPage(_ref) {
33
+ var _page$collection, _objectSpread5;
34
+ var page = _ref.page,
35
+ pages = _ref.pages,
36
+ onCollectionChange = _ref.onCollectionChange,
37
+ onAction = _ref.onAction,
38
+ hashLink = _ref.hashLink,
39
+ classBlock = _ref.classBlock,
40
+ classModifiers = _ref.classModifiers,
41
+ className = _ref.className,
42
+ submitting = _ref.submitting;
43
+ var _useState = (0, _react.useState)({}),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ patch = _useState2[0],
46
+ setPatch = _useState2[1];
47
+ var data = _utils.default.CollectionPage.getData(page.collection.name, page.formData) || [];
48
+ var currentCollectionName = page.collection.name.split('.').pop();
49
+ var activeIndex = _utils.default.CollectionPage.getActiveIndex(page.collection.name, page.formData);
40
50
 
41
51
  /**
42
52
  * Handle the state of the data directly within the page.
43
53
  * This is so that the overall form data isn't affected until such
44
54
  * time as the onAction handler is invoked.
45
55
  */
46
- const currentPage = page;
47
- const onPageChange = _ref2 => {
48
- let {
49
- target
50
- } = _ref2;
56
+ var currentPage = page;
57
+ var onPageChange = function onPageChange(_ref2) {
58
+ var target = _ref2.target;
51
59
  _utils.default.CollectionPage.setData(currentPage.collection.name, target.value, page.formData);
52
60
  data = target.value;
53
- const parentCollection = page.collection.name.split('.').shift();
61
+ var parentCollection = page.collection.name.split('.').shift();
54
62
  // Because of the way that patch is applied to the submission data
55
63
  // later (in onPageAction.js), we have to record the entire top-level
56
64
  // parent collection as being changed when we change a child.
57
- setPatch(prev => ({
58
- ...prev,
59
- [parentCollection]: _utils.default.CollectionPage.getData(parentCollection, page.formData)
60
- }));
65
+ setPatch(function (prev) {
66
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, parentCollection, _utils.default.CollectionPage.getData(parentCollection, page.formData)));
67
+ });
61
68
  };
62
- const onTopLevelChange = _ref3 => {
63
- let {
64
- target
65
- } = _ref3;
69
+ var onTopLevelChange = function onTopLevelChange(_ref3) {
70
+ var target = _ref3.target;
66
71
  currentPage.formData[target.name] = target.value;
67
- setPatch(prev => ({
68
- ...prev,
69
- [target.name]: target.value
70
- }));
72
+ setPatch(function (prev) {
73
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, target.name, target.value));
74
+ });
71
75
  };
72
- const reportChange = newValue => {
76
+ var reportChange = function reportChange(newValue) {
73
77
  onPageChange({
74
78
  target: {
75
79
  name: currentCollectionName,
@@ -80,41 +84,35 @@ const CollectionPage = _ref => {
80
84
  onCollectionChange(page.formData);
81
85
  }
82
86
  };
83
- const reportActiveIdChange = newActiveId => {
87
+ var reportActiveIdChange = function reportActiveIdChange(newActiveId) {
84
88
  // Manually set activeIndex here as if we receive rapid onChange events
85
89
  // from several components then it's possible activeIndex does not update
86
90
  // in time.
87
91
  activeIndex = data.length;
88
92
  onTopLevelChange({
89
93
  target: {
90
- name: `${currentCollectionName}ActiveId`,
94
+ name: "".concat(currentCollectionName, "ActiveId"),
91
95
  value: newActiveId
92
96
  }
93
97
  });
94
98
  };
95
- const onInnerPageAction = action => {
99
+ var onInnerPageAction = function onInnerPageAction(action) {
96
100
  onAction(action, patch, {});
97
101
  };
98
- const onInnerPageChange = _ref4 => {
99
- let {
100
- target
101
- } = _ref4;
102
+ var onInnerPageChange = function onInnerPageChange(_ref4) {
103
+ var target = _ref4.target;
102
104
  if (activeIndex === null) {
103
105
  // If there is no active entry in the collection, we create
104
106
  // a new entry and generate a new ID for it.
105
107
  // This ID becomes the active ID for the collection.
106
- const newId = (0, _uuid.v4)();
108
+ var newId = (0, _uuid.v4)();
107
109
  reportActiveIdChange(newId);
108
- reportChange([].concat(data, [{
109
- id: newId,
110
- [target.name]: target.value
111
- }]));
110
+ reportChange([].concat(data, [_defineProperty({
111
+ id: newId
112
+ }, target.name, target.value)]));
112
113
  } else {
113
114
  // Update an existing entry.
114
- reportChange([].concat(data.slice(0, activeIndex), [{
115
- ...data[activeIndex],
116
- [target.name]: target.value
117
- }], data.slice(activeIndex + 1)));
115
+ reportChange([].concat(data.slice(0, activeIndex), [_objectSpread(_objectSpread({}, data[activeIndex]), {}, _defineProperty({}, target.name, target.value))], data.slice(activeIndex + 1)));
118
116
  }
119
117
  };
120
118
  // There is a bug where page.formData is not available on the first render.
@@ -122,25 +120,18 @@ const CollectionPage = _ref => {
122
120
  // of []. This is then used to create a new entry in the Page Collection in patch which
123
121
  // on the next page action wipes out existing entries in the Page Collection.
124
122
  // We can fix it by waiting for page.formData to be defined and have keys.
125
- if (page.collection?.waitForFormData && page.formData && Object.keys(page.formData).length === 0) {
123
+ if ((_page$collection = page.collection) !== null && _page$collection !== void 0 && _page$collection.waitForFormData && page.formData && Object.keys(page.formData).length === 0) {
126
124
  return null;
127
125
  }
128
126
  return /*#__PURE__*/_react.default.createElement(_FormPage.default, {
129
- page: {
130
- ...page,
131
- formData: {
132
- ...page.formData,
133
- ...data[activeIndex],
134
- [`${currentCollectionName}ActiveIndex`]: activeIndex,
135
- [`${currentCollectionName}NumberedIndex`]: typeof activeIndex === 'number' ? activeIndex + 1 : null
136
- },
137
- components: page.components.map(component => ({
138
- ...component,
139
- pageCollection: {
140
- ...page.collection
141
- }
142
- }))
143
- },
127
+ page: _objectSpread(_objectSpread({}, page), {}, {
128
+ formData: _objectSpread(_objectSpread(_objectSpread({}, page.formData), data[activeIndex]), {}, (_objectSpread5 = {}, _defineProperty(_objectSpread5, "".concat(currentCollectionName, "ActiveIndex"), activeIndex), _defineProperty(_objectSpread5, "".concat(currentCollectionName, "NumberedIndex"), typeof activeIndex === 'number' ? activeIndex + 1 : null), _objectSpread5)),
129
+ components: page.components.map(function (component) {
130
+ return _objectSpread(_objectSpread({}, component), {}, {
131
+ pageCollection: _objectSpread({}, page.collection)
132
+ });
133
+ })
134
+ }),
144
135
  pages: pages,
145
136
  onAction: onInnerPageAction,
146
137
  onWrapperChange: onInnerPageChange,