@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,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _getIndexOfMatchingValueIn = _interopRequireDefault(require("./getIndexOfMatchingValueIn"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.getIndexOfPriorMatchingValueIn', () => {
6
- const DATA = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('Utils.Operate.getIndexOfPriorMatchingValueIn', function () {
6
+ var DATA = {
7
7
  arrayOfValues: ['abc', 'bcd', 'cde', 'def', {
8
8
  root: {
9
9
  branch: 'leaf'
@@ -17,141 +17,147 @@ describe('Utils.Operate.getIndexOfPriorMatchingValueIn', () => {
17
17
  cutoffName: 'cutoffIndex',
18
18
  ignoreName: 'ignoreIndex'
19
19
  };
20
- it('Should return the index of a matching value if one exists', () => {
21
- const CONFIG = {
20
+ it('Should return the index of a matching value if one exists', function () {
21
+ var CONFIG = {
22
22
  target: 'arrayOfValues',
23
23
  value: 'cde'
24
24
  };
25
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
25
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
26
26
  expect(result).toEqual('2');
27
27
  });
28
- it('Should handle getting value from given field', () => {
29
- const CONFIG = {
28
+ it('Should handle getting value from given field', function () {
29
+ var CONFIG = {
30
30
  target: 'arrayOfValues',
31
31
  field: 'valueToSearchFor'
32
32
  };
33
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
33
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
34
34
  expect(result).toEqual('2');
35
35
  });
36
- it('Should handle interpolated string for field', () => {
36
+ it('Should handle interpolated string for field', function () {
37
37
  // eslint-disable-next-line no-template-curly-in-string
38
- const CONFIG = {
38
+ var CONFIG = {
39
39
  target: 'arrayOfValues',
40
40
  field: '${fieldName}'
41
41
  };
42
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
42
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
43
43
  expect(result).toEqual('2');
44
44
  });
45
- it('Should handle interpolated string for key', () => {
45
+ it('Should handle interpolated string for key', function () {
46
46
  // eslint-disable-next-line no-template-curly-in-string
47
- const CONFIG = {
47
+ var CONFIG = {
48
48
  target: 'arrayOfValues',
49
49
  key: 'root.branch',
50
50
  value: 'leaf'
51
51
  };
52
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
52
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
53
53
  expect(result).toEqual('4');
54
54
  });
55
- it('Should handle a cutoff value being specified', () => {
56
- const CONFIG = {
55
+ it('Should handle a cutoff value being specified', function () {
56
+ var CONFIG = {
57
57
  target: 'arrayOfValues',
58
58
  value: 'cde',
59
59
  cutoff: {
60
60
  value: 1
61
61
  }
62
62
  };
63
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
63
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
64
64
  expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
65
65
  });
66
- it('Should handle a cutoff field being specified', () => {
67
- const CONFIG = {
66
+
67
+ it('Should handle a cutoff field being specified', function () {
68
+ var CONFIG = {
68
69
  target: 'arrayOfValues',
69
70
  value: 'cde',
70
71
  cutoff: {
71
72
  field: 'cutoffIndex'
72
73
  }
73
74
  };
74
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
75
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
75
76
  expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
76
77
  });
77
- it('Should handle interpolated string for cutoff.field', () => {
78
+
79
+ it('Should handle interpolated string for cutoff.field', function () {
78
80
  // eslint-disable-next-line no-template-curly-in-string
79
- const CONFIG = {
81
+ var CONFIG = {
80
82
  target: 'arrayOfValues',
81
83
  value: 'cde',
82
84
  cutoff: {
83
85
  field: '${cutoffName}'
84
86
  }
85
87
  };
86
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
88
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
87
89
  expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
88
90
  });
89
- it('Should handle an ignore value being specified', () => {
90
- const CONFIG = {
91
+
92
+ it('Should handle an ignore value being specified', function () {
93
+ var CONFIG = {
91
94
  target: 'arrayOfValues',
92
95
  value: 'cde',
93
96
  ignore: {
94
97
  value: 2
95
98
  }
96
99
  };
97
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
100
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
98
101
  expect(result).toEqual(null); // Should ignore the matching value.
99
102
  });
100
- it('Should handle an ignore field being specified', () => {
101
- const CONFIG = {
103
+
104
+ it('Should handle an ignore field being specified', function () {
105
+ var CONFIG = {
102
106
  target: 'arrayOfValues',
103
107
  value: 'cde',
104
108
  ignore: {
105
109
  field: 'ignoreIndex'
106
110
  }
107
111
  };
108
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
112
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
109
113
  expect(result).toEqual(null); // Should ignore the matching value.
110
114
  });
111
- it('Should handle interpolated string for ignore.field', () => {
115
+
116
+ it('Should handle interpolated string for ignore.field', function () {
112
117
  // eslint-disable-next-line no-template-curly-in-string
113
- const CONFIG = {
118
+ var CONFIG = {
114
119
  target: 'arrayOfValues',
115
120
  value: 'cde',
116
121
  ignore: {
117
122
  field: '${ignoreName}'
118
123
  }
119
124
  };
120
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
125
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
121
126
  expect(result).toEqual(null); // Should ignore the matching value.
122
127
  });
123
- it('Should handle interpolated string for target', () => {
128
+
129
+ it('Should handle interpolated string for target', function () {
124
130
  // eslint-disable-next-line no-template-curly-in-string
125
- const CONFIG = {
131
+ var CONFIG = {
126
132
  target: '${targetName}',
127
133
  value: 'cde'
128
134
  };
129
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
135
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
130
136
  expect(result).toEqual('2');
131
137
  });
132
- it('Should return null when the target does not exist', () => {
133
- const CONFIG = {
138
+ it('Should return null when the target does not exist', function () {
139
+ var CONFIG = {
134
140
  target: 'notARealTarget',
135
141
  value: 'cde'
136
142
  };
137
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
143
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
138
144
  expect(result).toEqual(null);
139
145
  });
140
- it('Should return null when config is missing fields', () => {
141
- const CONFIG = {};
142
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
146
+ it('Should return null when config is missing fields', function () {
147
+ var CONFIG = {};
148
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
143
149
  expect(result).toEqual(null);
144
150
  });
145
- it('Should return null when config is invalid', () => {
146
- const result = (0, _getIndexOfMatchingValueIn.default)(null, DATA);
151
+ it('Should return null when config is invalid', function () {
152
+ var result = (0, _getIndexOfMatchingValueIn.default)(null, DATA);
147
153
  expect(result).toEqual(null);
148
154
  });
149
- it('Should return null when data is invalid', () => {
150
- const CONFIG = {
155
+ it('Should return null when data is invalid', function () {
156
+ var CONFIG = {
151
157
  target: 'arrayOfValues',
152
158
  value: 'cde'
153
159
  };
154
- const result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, null);
160
+ var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, null);
155
161
  expect(result).toEqual(null);
156
162
  });
157
163
  });
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _getCollectionPageActiveIndex = _interopRequireDefault(require("../CollectionPage/getCollectionPageActiveIndex"));
9
9
  var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  // Global imports.
12
12
 
13
13
  // Local imports.
@@ -21,30 +21,30 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
21
21
  * @param {object} data A page's formData.
22
22
  * @returns The length of a field if found or 0
23
23
  */
24
- const getLength = (config, data) => {
24
+ var getLength = function getLength(config, data) {
25
25
  if (!config || !data) {
26
26
  return null;
27
27
  }
28
28
 
29
29
  // Replace any instances of 'collectionName[]' with 'collectionName[activeIndex]'
30
- const pathParts = config.target.split('.');
31
- let updatedPath = '';
32
- pathParts.forEach(part => {
30
+ var pathParts = config.target.split('.');
31
+ var updatedPath = '';
32
+ pathParts.forEach(function (part) {
33
33
  if (updatedPath !== '') {
34
34
  updatedPath += '.';
35
35
  }
36
36
  if (part.slice(-2) === '[]') {
37
- const collectionName = part.slice(0, -2);
38
- const activeIndex = (0, _getCollectionPageActiveIndex.default)(collectionName, data);
39
- updatedPath += `${collectionName}[${activeIndex}]`;
37
+ var collectionName = part.slice(0, -2);
38
+ var activeIndex = (0, _getCollectionPageActiveIndex.default)(collectionName, data);
39
+ updatedPath += "".concat(collectionName, "[").concat(activeIndex, "]");
40
40
  } else {
41
41
  updatedPath += part;
42
42
  }
43
43
  });
44
44
 
45
45
  // Get the field and return its length
46
- const targetPath = _copReactComponents.Utils.interpolateString(updatedPath, data);
47
- const target = (0, _getSourceData.default)(data, targetPath);
48
- return target?.length || 0;
46
+ var targetPath = _copReactComponents.Utils.interpolateString(updatedPath, data);
47
+ var target = (0, _getSourceData.default)(data, targetPath);
48
+ return (target === null || target === void 0 ? void 0 : target.length) || 0;
49
49
  };
50
50
  var _default = exports.default = getLength;
@@ -1,28 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  var _getLength = _interopRequireDefault(require("./getLength"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.getLength', () => {
6
- it('returns null if config is not defined', () => {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('Utils.Operate.getLength', function () {
6
+ it('returns null if config is not defined', function () {
7
7
  expect((0, _getLength.default)(null, {})).toEqual(null);
8
8
  });
9
- it('returns null if data is not defined', () => {
9
+ it('returns null if data is not defined', function () {
10
10
  expect((0, _getLength.default)({}, null)).toEqual(null);
11
11
  });
12
- it('returns the length of a top level string', () => {
13
- const CONFIG = {
12
+ it('returns the length of a top level string', function () {
13
+ var CONFIG = {
14
14
  target: 'alpha'
15
15
  };
16
- const DATA = {
16
+ var DATA = {
17
17
  alpha: 'abcdef'
18
18
  };
19
19
  expect((0, _getLength.default)(CONFIG, DATA)).toEqual(6);
20
20
  });
21
- it('returns the length of a top level array', () => {
22
- const CONFIG = {
21
+ it('returns the length of a top level array', function () {
22
+ var CONFIG = {
23
23
  target: 'alpha'
24
24
  };
25
- const DATA = {
25
+ var DATA = {
26
26
  alpha: [{
27
27
  test: 'test'
28
28
  }, {
@@ -35,11 +35,11 @@ describe('Utils.Operate.getLength', () => {
35
35
  };
36
36
  expect((0, _getLength.default)(CONFIG, DATA)).toEqual(4);
37
37
  });
38
- it('returns 0 if the field cannot be found', () => {
39
- const CONFIG = {
38
+ it('returns 0 if the field cannot be found', function () {
39
+ var CONFIG = {
40
40
  target: 'alpha'
41
41
  };
42
- const DATA = {
42
+ var DATA = {
43
43
  beta: [{
44
44
  test: 'test'
45
45
  }, {
@@ -52,11 +52,11 @@ describe('Utils.Operate.getLength', () => {
52
52
  };
53
53
  expect((0, _getLength.default)(CONFIG, DATA)).toEqual(0);
54
54
  });
55
- it('returns the length of a field not on the top level', () => {
56
- const CONFIG = {
55
+ it('returns the length of a field not on the top level', function () {
56
+ var CONFIG = {
57
57
  target: 'alpha.beta'
58
58
  };
59
- const DATA = {
59
+ var DATA = {
60
60
  alphaActiveId: 3,
61
61
  alpha: {
62
62
  beta: 'qwerty'
@@ -64,11 +64,11 @@ describe('Utils.Operate.getLength', () => {
64
64
  };
65
65
  expect((0, _getLength.default)(CONFIG, DATA)).toEqual(6);
66
66
  });
67
- it('returns the length of an array nested under an array', () => {
68
- const CONFIG = {
67
+ it('returns the length of an array nested under an array', function () {
68
+ var CONFIG = {
69
69
  target: 'alpha[].beta'
70
70
  };
71
- const DATA = {
71
+ var DATA = {
72
72
  alphaActiveId: 3,
73
73
  alpha: [{
74
74
  id: 1,
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _runPageOperations = _interopRequireDefault(require("./runPageOperations"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const Operate = {
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var Operate = {
10
10
  runPageOperations: _runPageOperations.default
11
11
  };
12
12
  var _default = exports.default = Operate;
@@ -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,13 +18,13 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
18
18
  * @param {object} data The page's formData.
19
19
  * @param {function} onChange The page's onChange handler.
20
20
  */
21
- const persistValueInFormData = (config, data, onChange) => {
22
- let value;
23
- if (config?.field) {
24
- const fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
21
+ var persistValueInFormData = function persistValueInFormData(config, data, onChange) {
22
+ var value;
23
+ if (config !== null && config !== void 0 && config.field) {
24
+ var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
25
25
  value = (0, _getSourceData.default)(data, fieldPath);
26
26
  } else {
27
- value = config?.value;
27
+ value = config === null || config === void 0 ? void 0 : config.value;
28
28
  }
29
29
  /* eslint-disable object-shorthand */
30
30
  if (value != null && config.name && data[config.name] !== value) {
@@ -1,22 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _persistValueInFormData = _interopRequireDefault(require("./persistValueInFormData"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.persistValueInFormData', () => {
6
- let DATA = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('Utils.Operate.persistValueInFormData', function () {
6
+ var DATA = {
7
7
  alpha: 'abc',
8
8
  beta: 'charlie',
9
9
  charlie: '123'
10
10
  };
11
- let ON_CHANGE_COUNT = 0;
12
- const ON_CHANGE = _ref => {
13
- let {
14
- target
15
- } = _ref;
11
+ var ON_CHANGE_COUNT = 0;
12
+ var ON_CHANGE = function ON_CHANGE(_ref) {
13
+ var target = _ref.target;
16
14
  DATA[target.name] = target.value;
17
15
  ON_CHANGE_COUNT += 1;
18
16
  };
19
- beforeEach(() => {
17
+ beforeEach(function () {
20
18
  DATA = {
21
19
  alpha: 'abc',
22
20
  beta: 'charlie',
@@ -24,8 +22,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
24
22
  };
25
23
  ON_CHANGE_COUNT = 0;
26
24
  });
27
- it('Should trigger a change correctly', () => {
28
- const CONFIG = {
25
+ it('Should trigger a change correctly', function () {
26
+ var CONFIG = {
29
27
  name: 'alpha',
30
28
  value: 'bcd'
31
29
  };
@@ -37,8 +35,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
37
35
  });
38
36
  expect(ON_CHANGE_COUNT).toEqual(1);
39
37
  });
40
- it('Should trigger a change correctly with boolean false', () => {
41
- const CONFIG = {
38
+ it('Should trigger a change correctly with boolean false', function () {
39
+ var CONFIG = {
42
40
  name: 'alpha',
43
41
  value: false
44
42
  };
@@ -50,8 +48,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
50
48
  });
51
49
  expect(ON_CHANGE_COUNT).toEqual(1);
52
50
  });
53
- it('Should not call onChange when value is unchanged', () => {
54
- const CONFIG = {
51
+ it('Should not call onChange when value is unchanged', function () {
52
+ var CONFIG = {
55
53
  name: 'alpha',
56
54
  value: 'abc'
57
55
  };
@@ -63,8 +61,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
63
61
  });
64
62
  expect(ON_CHANGE_COUNT).toEqual(0);
65
63
  });
66
- it('Should not call onChange if no value or field is given', () => {
67
- const CONFIG = {
64
+ it('Should not call onChange if no value or field is given', function () {
65
+ var CONFIG = {
68
66
  name: 'alpha'
69
67
  };
70
68
  (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
@@ -75,8 +73,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
75
73
  });
76
74
  expect(ON_CHANGE_COUNT).toEqual(0);
77
75
  });
78
- it('Should not call onChange if no name is given', () => {
79
- const CONFIG = {
76
+ it('Should not call onChange if no name is given', function () {
77
+ var CONFIG = {
80
78
  field: 'charlie'
81
79
  };
82
80
  (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
@@ -87,8 +85,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
87
85
  });
88
86
  expect(ON_CHANGE_COUNT).toEqual(0);
89
87
  });
90
- it('Should not call onChange if field cannot be found', () => {
91
- const CONFIG = {
88
+ it('Should not call onChange if field cannot be found', function () {
89
+ var CONFIG = {
92
90
  name: 'alpha',
93
91
  field: 'delta'
94
92
  };
@@ -100,9 +98,9 @@ describe('Utils.Operate.persistValueInFormData', () => {
100
98
  });
101
99
  expect(ON_CHANGE_COUNT).toEqual(0);
102
100
  });
103
- it('Should correctly interpolate a field value', () => {
101
+ it('Should correctly interpolate a field value', function () {
104
102
  // eslint-disable-next-line no-template-curly-in-string
105
- const CONFIG = {
103
+ var CONFIG = {
106
104
  name: 'alpha',
107
105
  field: '${beta}'
108
106
  };
@@ -14,12 +14,12 @@ var _shouldRun = _interopRequireDefault(require("./shouldRun"));
14
14
  var _setDataItem = _interopRequireDefault(require("../Data/setDataItem"));
15
15
  var _getFirstOf = _interopRequireDefault(require("./getFirstOf"));
16
16
  var _getLength = _interopRequireDefault(require("./getLength"));
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  // Global imports.
19
19
 
20
20
  // Local imports.
21
21
 
22
- const functions = {
22
+ var functions = {
23
23
  checkValueIsTruthy: _checkValueIsTruthy.default,
24
24
  getIndexOfMatchingValueIn: _getIndexOfMatchingValueIn.default,
25
25
  persistValueInFormData: _persistValueInFormData.default,
@@ -28,8 +28,8 @@ const functions = {
28
28
  getLength: _getLength.default,
29
29
  getFirstOf: _getFirstOf.default
30
30
  };
31
- const doOperation = (config, data, onChange) => {
32
- const fn = functions[config.function];
31
+ var doOperation = function doOperation(config, data, onChange) {
32
+ var fn = functions[config.function];
33
33
  if (typeof fn === 'function') {
34
34
  return fn(config, data, onChange);
35
35
  }
@@ -53,15 +53,15 @@ const doOperation = (config, data, onChange) => {
53
53
  * @param {function} onChange The page's onChange handler.
54
54
  * @returns data with the results of any operations included.
55
55
  */
56
- const runPageOperations = (config, data, onChange) => {
57
- if (config?.operations && data) {
58
- config.operations.forEach(op => {
56
+ var runPageOperations = function runPageOperations(config, data, onChange) {
57
+ if (config !== null && config !== void 0 && config.operations && data) {
58
+ config.operations.forEach(function (op) {
59
59
  if ((0, _shouldRun.default)(op.run_when, data)) {
60
- const result = doOperation(op, data, onChange);
60
+ var result = doOperation(op, data, onChange);
61
61
  if (op.output) {
62
62
  // Remove array indexers and replace them with dot separators. This ensures that outputPath will
63
63
  // work with setDataItem.
64
- const outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
64
+ var outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
65
65
  (0, _setDataItem.default)(data, outputPath, result);
66
66
  }
67
67
  }