@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,36 +1,41 @@
1
1
  "use strict";
2
2
 
3
3
  var _runPageOperations = _interopRequireDefault(require("./runPageOperations"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.runPageOperations', () => {
6
- const DATA = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ 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); }
6
+ 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; }
7
+ 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; }
8
+ 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; }
9
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
+ 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); }
11
+ describe('Utils.Operate.runPageOperations', function () {
12
+ var DATA = {
7
13
  alpha: 'abc',
8
14
  bravo: ['bcd', 'cde', 'charlie'],
9
15
  charlie: 'def',
10
16
  delta: 'root',
11
17
  array: ['123', '234', '456']
12
18
  };
13
- it('Should return an empty object when no operations are specified', () => {
14
- const PAGE = {};
15
- const result = (0, _runPageOperations.default)(PAGE, DATA);
19
+ it('Should return an empty object when no operations are specified', function () {
20
+ var PAGE = {};
21
+ var result = (0, _runPageOperations.default)(PAGE, DATA);
16
22
  expect(result).toEqual(DATA);
17
23
  });
18
- it('Should handle a single operation correctly', () => {
19
- const PAGE = {
24
+ it('Should handle a single operation correctly', function () {
25
+ var PAGE = {
20
26
  operations: [{
21
27
  output: 'firstOpResult',
22
28
  function: 'setValueInFormData',
23
29
  field: 'alpha'
24
30
  }]
25
31
  };
26
- const result = (0, _runPageOperations.default)(PAGE, DATA);
27
- expect(result).toEqual({
28
- ...DATA,
32
+ var result = (0, _runPageOperations.default)(PAGE, DATA);
33
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
29
34
  firstOpResult: 'abc'
30
- });
35
+ }));
31
36
  });
32
- it('Should handle a multiple operations correctly', () => {
33
- const PAGE = {
37
+ it('Should handle a multiple operations correctly', function () {
38
+ var PAGE = {
34
39
  operations: [{
35
40
  output: 'firstOpResult',
36
41
  function: 'setValueInFormData',
@@ -41,15 +46,14 @@ describe('Utils.Operate.runPageOperations', () => {
41
46
  field: 'bravo[1]'
42
47
  }]
43
48
  };
44
- const result = (0, _runPageOperations.default)(PAGE, DATA);
45
- expect(result).toEqual({
46
- ...DATA,
49
+ var result = (0, _runPageOperations.default)(PAGE, DATA);
50
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
47
51
  firstOpResult: 'abc',
48
52
  secondOpResult: 'cde'
49
- });
53
+ }));
50
54
  });
51
- it('Should handle chained operations correctly', () => {
52
- const PAGE = {
55
+ it('Should handle chained operations correctly', function () {
56
+ var PAGE = {
53
57
  operations: [{
54
58
  output: 'firstOpResult',
55
59
  function: 'setValueInFormData',
@@ -61,15 +65,14 @@ describe('Utils.Operate.runPageOperations', () => {
61
65
  field: '${firstOpResult}'
62
66
  }]
63
67
  };
64
- const result = (0, _runPageOperations.default)(PAGE, DATA);
65
- expect(result).toEqual({
66
- ...DATA,
68
+ var result = (0, _runPageOperations.default)(PAGE, DATA);
69
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
67
70
  firstOpResult: 'charlie',
68
71
  secondOpResult: 'def'
69
- });
72
+ }));
70
73
  });
71
- it('Should handle an interpolated output string correctly', () => {
72
- const PAGE = {
74
+ it('Should handle an interpolated output string correctly', function () {
75
+ var PAGE = {
73
76
  operations: [{
74
77
  function: 'setValueInFormData',
75
78
  value: 'leaf',
@@ -77,28 +80,26 @@ describe('Utils.Operate.runPageOperations', () => {
77
80
  output: '${delta}.trunk.branch'
78
81
  }]
79
82
  };
80
- const result = (0, _runPageOperations.default)(PAGE, DATA);
81
- expect(result).toEqual({
82
- ...DATA,
83
+ var result = (0, _runPageOperations.default)(PAGE, DATA);
84
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
83
85
  root: {
84
86
  trunk: {
85
87
  branch: 'leaf'
86
88
  }
87
89
  }
88
- });
90
+ }));
89
91
  });
90
- it('Should handle an output string with array indeces in', () => {
91
- const PAGE = {
92
+ it('Should handle an output string with array indeces in', function () {
93
+ var PAGE = {
92
94
  operations: [{
93
95
  function: 'setValueInFormData',
94
96
  value: '000',
95
97
  output: 'array[1]'
96
98
  }]
97
99
  };
98
- const result = (0, _runPageOperations.default)(PAGE, DATA);
99
- expect(result).toEqual({
100
- ...DATA,
100
+ var result = (0, _runPageOperations.default)(PAGE, DATA);
101
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
101
102
  array: ['123', '000', '456']
102
- });
103
+ }));
103
104
  });
104
105
  });
@@ -6,16 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  // Global imports.
11
11
 
12
12
  // Local imports.
13
13
 
14
- const setValueInFormData = (config, data) => {
15
- if (config?.field) {
16
- const fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
14
+ var setValueInFormData = function setValueInFormData(config, data) {
15
+ if (config !== null && config !== void 0 && config.field) {
16
+ var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
17
17
  return (0, _getSourceData.default)(data, fieldPath) || null;
18
18
  }
19
- return config?.value || null;
19
+ return (config === null || config === void 0 ? void 0 : config.value) || null;
20
20
  };
21
21
  var _default = exports.default = setValueInFormData;
@@ -1,44 +1,44 @@
1
1
  "use strict";
2
2
 
3
3
  var _setValueInFormData = _interopRequireDefault(require("./setValueInFormData"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.setValueInFormData', () => {
6
- const DATA = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('Utils.Operate.setValueInFormData', function () {
6
+ var DATA = {
7
7
  a: '1',
8
8
  b: ['2', '3'],
9
9
  indexOfThree: 1
10
10
  };
11
- it('Should return the value provided in config if no field is specified', () => {
12
- const CONFIG = {
11
+ it('Should return the value provided in config if no field is specified', function () {
12
+ var CONFIG = {
13
13
  value: '2'
14
14
  };
15
- const result = (0, _setValueInFormData.default)(CONFIG, DATA);
15
+ var result = (0, _setValueInFormData.default)(CONFIG, DATA);
16
16
  expect(result).toEqual(CONFIG.value);
17
17
  });
18
- it('Should return the value of the field given in config, if it exists', () => {
19
- const CONFIG = {
18
+ it('Should return the value of the field given in config, if it exists', function () {
19
+ var CONFIG = {
20
20
  field: 'a'
21
21
  };
22
- const result = (0, _setValueInFormData.default)(CONFIG, DATA);
22
+ var result = (0, _setValueInFormData.default)(CONFIG, DATA);
23
23
  expect(result).toEqual(DATA.a);
24
24
  });
25
- it('Should handle interpolated field strings', () => {
25
+ it('Should handle interpolated field strings', function () {
26
26
  // eslint-disable-next-line no-template-curly-in-string
27
- const CONFIG = {
27
+ var CONFIG = {
28
28
  field: 'b[${indexOfThree}]'
29
29
  };
30
- const result = (0, _setValueInFormData.default)(CONFIG, DATA);
30
+ var result = (0, _setValueInFormData.default)(CONFIG, DATA);
31
31
  expect(result).toEqual(DATA.b[1]);
32
32
  });
33
- it('Should return null when an invalid config is used', () => {
34
- const result = (0, _setValueInFormData.default)(null, DATA);
33
+ it('Should return null when an invalid config is used', function () {
34
+ var result = (0, _setValueInFormData.default)(null, DATA);
35
35
  expect(result).toEqual(null);
36
36
  });
37
- it('Should return null when invalid data is used', () => {
38
- const CONFIG = {
37
+ it('Should return null when invalid data is used', function () {
38
+ var CONFIG = {
39
39
  field: 'a'
40
40
  };
41
- const result = (0, _setValueInFormData.default)(CONFIG, null);
41
+ var result = (0, _setValueInFormData.default)(CONFIG, null);
42
42
  expect(result).toEqual(null);
43
43
  });
44
44
  });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  // Global imports.
11
11
 
12
12
  // Local imports.
@@ -18,17 +18,17 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
18
18
  * @param {object} data The page's formData.
19
19
  * @returns
20
20
  */
21
- const shouldRun = (config, data) => {
22
- if (config?.condition) {
23
- const configuration = config;
24
- const fieldPath = _copReactComponents.Utils.interpolateString(configuration.field, data);
25
- const fieldValue = (0, _getSourceData.default)(data, fieldPath);
21
+ var shouldRun = function shouldRun(config, data) {
22
+ if (config !== null && config !== void 0 && config.condition) {
23
+ var configuration = config;
24
+ var fieldPath = _copReactComponents.Utils.interpolateString(configuration.field, data);
25
+ var fieldValue = (0, _getSourceData.default)(data, fieldPath);
26
26
  switch (configuration.condition) {
27
27
  // Only run the operation if a given field's value has changed.
28
28
  case 'changes':
29
29
  {
30
- const lastPath = `${fieldPath}LastValue`;
31
- const lastValue = configuration[lastPath] || null;
30
+ var lastPath = "".concat(fieldPath, "LastValue");
31
+ var lastValue = configuration[lastPath] || null;
32
32
  if (lastValue === null) {
33
33
  // If there isn't a last value then we assume
34
34
  // that this is the first render.
@@ -1,60 +1,66 @@
1
1
  "use strict";
2
2
 
3
3
  var _shouldRun = _interopRequireDefault(require("./shouldRun"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.shouldRun', () => {
6
- const DATA = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ 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); }
6
+ 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; }
7
+ 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; }
8
+ 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; }
9
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
+ 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); }
11
+ describe('Utils.Operate.shouldRun', function () {
12
+ var DATA = {
7
13
  alpha: 'abc',
8
14
  bravo: ''
9
15
  };
10
- it('Should return true if the run_when config is invalid', () => {
16
+ it('Should return true if the run_when config is invalid', function () {
11
17
  expect((0, _shouldRun.default)(null, DATA)).toEqual(true);
12
18
  });
13
- it('Should return true when the condition is \'changes\' and target value has changed', () => {
14
- const CONFIG = {
19
+ it('Should return true when the condition is \'changes\' and target value has changed', function () {
20
+ var CONFIG = {
15
21
  condition: 'changes',
16
22
  field: 'alpha'
17
23
  };
18
- let result = (0, _shouldRun.default)(CONFIG, DATA);
24
+ var result = (0, _shouldRun.default)(CONFIG, DATA);
19
25
  expect(result).toEqual(false); // Expect false as this is the first render.
20
26
  result = (0, _shouldRun.default)(CONFIG, DATA);
21
27
  expect(result).toEqual(false); // Expect false as the field hasn't changed.
22
- result = (0, _shouldRun.default)(CONFIG, {
23
- ...DATA,
28
+ result = (0, _shouldRun.default)(CONFIG, _objectSpread(_objectSpread({}, DATA), {}, {
24
29
  alpha: 'bcd'
25
- });
30
+ }));
26
31
  expect(result).toEqual(true); // Expect true as the field's value has been updated.
27
32
  });
28
- it('Should return true when the condition is \'isTruthy\' and target value is truthy', () => {
29
- const CONFIG = {
33
+
34
+ it('Should return true when the condition is \'isTruthy\' and target value is truthy', function () {
35
+ var CONFIG = {
30
36
  condition: 'isTruthy',
31
37
  field: 'alpha'
32
38
  };
33
- const result = (0, _shouldRun.default)(CONFIG, DATA);
39
+ var result = (0, _shouldRun.default)(CONFIG, DATA);
34
40
  expect(result).toEqual(true);
35
41
  });
36
- it('Should return false when the condition is \'isTruthy\' and target value is falsy', () => {
37
- const CONFIG = {
42
+ it('Should return false when the condition is \'isTruthy\' and target value is falsy', function () {
43
+ var CONFIG = {
38
44
  condition: 'isTruthy',
39
45
  field: 'bravo'
40
46
  };
41
- const result = (0, _shouldRun.default)(CONFIG, DATA);
47
+ var result = (0, _shouldRun.default)(CONFIG, DATA);
42
48
  expect(result).toEqual(false);
43
49
  });
44
- it('Should return true when the condition is \'isFalsy\' and target value is falsy', () => {
45
- const CONFIG = {
50
+ it('Should return true when the condition is \'isFalsy\' and target value is falsy', function () {
51
+ var CONFIG = {
46
52
  condition: 'isFalsy',
47
53
  field: 'bravo'
48
54
  };
49
- const result = (0, _shouldRun.default)(CONFIG, DATA);
55
+ var result = (0, _shouldRun.default)(CONFIG, DATA);
50
56
  expect(result).toEqual(true);
51
57
  });
52
- it('Should return false when the condition is \'isFalsy\' and target value is truthy', () => {
53
- const CONFIG = {
58
+ it('Should return false when the condition is \'isFalsy\' and target value is truthy', function () {
59
+ var CONFIG = {
54
60
  condition: 'isFalsy',
55
61
  field: 'alpha'
56
62
  };
57
- const result = (0, _shouldRun.default)(CONFIG, DATA);
63
+ var result = (0, _shouldRun.default)(CONFIG, DATA);
58
64
  expect(result).toEqual(false);
59
65
  });
60
66
  });
@@ -16,7 +16,7 @@ exports.default = void 0;
16
16
  * the 'check' value exists in formData as an item
17
17
  * otherwise returns true
18
18
  */
19
- const conditionallyPermittedChange = (data, config, _, formData) => {
19
+ var conditionallyPermittedChange = function conditionallyPermittedChange(data, config, _, formData) {
20
20
  if (data !== config.base && formData[config.check]) {
21
21
  return false;
22
22
  }
@@ -1,30 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _conditionallyPermittedChange = _interopRequireDefault(require("./conditionallyPermittedChange"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('utils', () => {
6
- describe('Validate', () => {
7
- describe('additional', () => {
8
- describe('conditionallyPermittedChange', () => {
9
- const CONFIG = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('utils', function () {
6
+ describe('Validate', function () {
7
+ describe('additional', function () {
8
+ describe('conditionallyPermittedChange', function () {
9
+ var CONFIG = {
10
10
  base: 'Value1',
11
11
  check: 'Item1'
12
12
  };
13
- test('should pass if the base value has same value as data parameter', () => {
14
- const DATA = 'Value1';
15
- const FORMDATA = {};
13
+ test('should pass if the base value has same value as data parameter', function () {
14
+ var DATA = 'Value1';
15
+ var FORMDATA = {};
16
16
  expect((0, _conditionallyPermittedChange.default)(DATA, CONFIG, null, FORMDATA)).toEqual(true);
17
17
  });
18
- test('should fail if the base value is different to data parameter and check item exists in form data', () => {
19
- const DATA = 'Value2';
20
- const FORMDATA = {
18
+ test('should fail if the base value is different to data parameter and check item exists in form data', function () {
19
+ var DATA = 'Value2';
20
+ var FORMDATA = {
21
21
  Item1: "any"
22
22
  };
23
23
  expect((0, _conditionallyPermittedChange.default)(DATA, CONFIG, null, FORMDATA)).toEqual(false);
24
24
  });
25
- test('should pass if the base value is different to data parameter and check item not exists in form data', () => {
26
- const DATA = 'Value2';
27
- const FORMDATA = {};
25
+ test('should pass if the base value is different to data parameter and check item not exists in form data', function () {
26
+ var DATA = 'Value2';
27
+ var FORMDATA = {};
28
28
  expect((0, _conditionallyPermittedChange.default)(DATA, CONFIG, null, FORMDATA)).toEqual(true);
29
29
  });
30
30
  });
@@ -13,10 +13,11 @@ exports.default = void 0;
13
13
  * @returns true if the user has entered data into the 'base' field or entered a value into the 'check' field to turn off the validation
14
14
  * otherwise returns false
15
15
  */
16
- const conditionallyRequired = (data, config, component) => {
17
- const conditional = data[component.id]?.[config.base];
18
- const checkFieldvalue = data[component.id]?.[config.check];
19
- const checkHasValue = checkFieldvalue && checkFieldvalue?.length > 0;
16
+ var conditionallyRequired = function conditionallyRequired(data, config, component) {
17
+ var _data$component$id, _data$component$id2;
18
+ var conditional = (_data$component$id = data[component.id]) === null || _data$component$id === void 0 ? void 0 : _data$component$id[config.base];
19
+ var checkFieldvalue = (_data$component$id2 = data[component.id]) === null || _data$component$id2 === void 0 ? void 0 : _data$component$id2[config.check];
20
+ var checkHasValue = checkFieldvalue && (checkFieldvalue === null || checkFieldvalue === void 0 ? void 0 : checkFieldvalue.length) > 0;
20
21
  return !!(conditional || checkHasValue);
21
22
  };
22
23
  var _default = exports.default = conditionallyRequired;
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _conditionallyRequired = _interopRequireDefault(require("./conditionallyRequired"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('utils', () => {
6
- describe('Validate', () => {
7
- describe('additional', () => {
8
- describe('conditionallyRequired', () => {
9
- const CONFIG = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('utils', function () {
6
+ describe('Validate', function () {
7
+ describe('additional', function () {
8
+ describe('conditionallyRequired', function () {
9
+ var CONFIG = {
10
10
  base: 'componentOne',
11
11
  check: 'componentTwo'
12
12
  };
13
- const COMPONENT = {
13
+ var COMPONENT = {
14
14
  id: 'containerComponent',
15
15
  fieldId: 'containerComponent',
16
16
  type: 'container',
@@ -24,16 +24,16 @@ describe('utils', () => {
24
24
  type: 'checkboxes'
25
25
  }]
26
26
  };
27
- test('should pass if only the base field has a value', () => {
28
- const DATA = {
27
+ test('should pass if only the base field has a value', function () {
28
+ var DATA = {
29
29
  containerComponent: {
30
30
  componentOne: 'value'
31
31
  }
32
32
  };
33
33
  expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
34
34
  });
35
- test('should pass if the base and check fields have values', () => {
36
- const DATA = {
35
+ test('should pass if the base and check fields have values', function () {
36
+ var DATA = {
37
37
  containerComponent: {
38
38
  componentOne: 'value',
39
39
  componentTwo: 'value'
@@ -41,30 +41,30 @@ describe('utils', () => {
41
41
  };
42
42
  expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
43
43
  });
44
- test('should pass if only the check field has a value', () => {
45
- const DATA = {
44
+ test('should pass if only the check field has a value', function () {
45
+ var DATA = {
46
46
  containerComponent: {
47
47
  componentTwo: 'value'
48
48
  }
49
49
  };
50
50
  expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
51
51
  });
52
- test('should pass if only the check field has a value and that value is an array', () => {
53
- const DATA = {
52
+ test('should pass if only the check field has a value and that value is an array', function () {
53
+ var DATA = {
54
54
  containerComponent: {
55
55
  componentTwo: ['value']
56
56
  }
57
57
  };
58
58
  expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
59
59
  });
60
- test('should fail if neither field has a value', () => {
61
- const DATA = {
60
+ test('should fail if neither field has a value', function () {
61
+ var DATA = {
62
62
  containerComponent: {}
63
63
  };
64
64
  expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(false);
65
65
  });
66
- test('should fail if there is no data', () => {
67
- const DATA = {};
66
+ test('should fail if there is no data', function () {
67
+ var DATA = {};
68
68
  expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(false);
69
69
  });
70
70
  });
@@ -22,10 +22,10 @@ var _mustEnterAtLeastOne = _interopRequireDefault(require("./mustEnterAtLeastOne
22
22
  var _mustHaveLessThanDecimalPlaces = _interopRequireDefault(require("./mustHaveLessThanDecimalPlaces"));
23
23
  var _mustNotContainSql = _interopRequireDefault(require("./mustNotContainSql"));
24
24
  var _mustSelectOnlyOne = _interopRequireDefault(require("./mustSelectOnlyOne"));
25
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
26
  // Local imports
27
27
 
28
- const functions = {
28
+ var functions = {
29
29
  conditionallyPermittedChange: _conditionallyPermittedChange.default,
30
30
  conditionallyRequired: _conditionallyRequired.default,
31
31
  mustBeAfter: _mustBeAfter.default,
@@ -45,21 +45,21 @@ const functions = {
45
45
  mustNotContainSql: _mustNotContainSql.default,
46
46
  mustSelectOnlyOne: _mustSelectOnlyOne.default
47
47
  };
48
- const additionalValidation = (value, config, component, formData) => {
49
- const fn = functions[config.function];
50
- const valueToValidate = config.objectValueToUse ? value[config.objectValueToUse] : value;
48
+ var additionalValidation = function additionalValidation(value, config, component, formData) {
49
+ var fn = functions[config.function];
50
+ var valueToValidate = config.objectValueToUse ? value[config.objectValueToUse] : value;
51
51
  if (typeof fn === 'function') {
52
52
  return fn(valueToValidate, config, component, formData) ? undefined : config.message;
53
53
  }
54
54
  return undefined;
55
55
  };
56
- const runAdditionalComponentValidation = (component, value, formData) => {
56
+ var runAdditionalComponentValidation = function runAdditionalComponentValidation(component, value, formData) {
57
57
  // We only care when we have a value - if we don't have one but want one, set `required: true`.
58
58
  // eslint-disable-next-line no-extra-boolean-cast
59
59
  if (!!value) {
60
60
  if (Array.isArray(component.additionalValidation)) {
61
- let error;
62
- component.additionalValidation.forEach(config => {
61
+ var error;
62
+ component.additionalValidation.forEach(function (config) {
63
63
  // If we've already encountered an error, don't run any more validators.
64
64
  if (!error) {
65
65
  error = additionalValidation(value, config, component, formData);