@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
@@ -2,44 +2,36 @@
2
2
 
3
3
  var _constants = require("../constants");
4
4
  var _getDocuments = _interopRequireDefault(require("./getDocuments"));
5
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
- describe('Utils.Meta.documents.get', () => {
7
- it('should return an empty array if formData is null', () => {
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+ 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); }
7
+ 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; }
8
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
+ 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); }
10
+ describe('Utils.Meta.documents.get', function () {
11
+ it('should return an empty array if formData is null', function () {
8
12
  expect((0, _getDocuments.default)(null)).toEqual([]);
9
13
  });
10
- it('should return an empty array if formData does not contain a meta property', () => {
14
+ it('should return an empty array if formData does not contain a meta property', function () {
11
15
  expect((0, _getDocuments.default)({})).toEqual([]);
12
16
  });
13
- it('should return an empty array if the meta property is undefined', () => {
14
- const FORM_DATA = {
15
- [_constants.META_PROPERTY]: undefined
16
- };
17
+ it('should return an empty array if the meta property is undefined', function () {
18
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, undefined);
17
19
  expect((0, _getDocuments.default)(FORM_DATA)).toEqual([]);
18
20
  });
19
- it('should return an empty array if the meta property contains no documents property', () => {
20
- const FORM_DATA = {
21
- [_constants.META_PROPERTY]: {}
22
- };
21
+ it('should return an empty array if the meta property contains no documents property', function () {
22
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, {});
23
23
  expect((0, _getDocuments.default)(FORM_DATA)).toEqual([]);
24
24
  });
25
- it('should return an empty array if the meta.documents property is undefined', () => {
26
- const FORM_DATA = {
27
- [_constants.META_PROPERTY]: {
28
- [_constants.META_DOCUMENTS_PROPERTY]: undefined
29
- }
30
- };
25
+ it('should return an empty array if the meta.documents property is undefined', function () {
26
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, undefined));
31
27
  expect((0, _getDocuments.default)(FORM_DATA)).toEqual([]);
32
28
  });
33
- it('should return the meta.documents property if it exists', () => {
34
- const DOCUMENTS = [{
29
+ it('should return the meta.documents property if it exists', function () {
30
+ var DOCUMENTS = [{
35
31
  field: 'alpha',
36
32
  url: 'http://alpha-bravo.com/files/charlie'
37
33
  }];
38
- const FORM_DATA = {
39
- [_constants.META_PROPERTY]: {
40
- [_constants.META_DOCUMENTS_PROPERTY]: DOCUMENTS
41
- }
42
- };
34
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, DOCUMENTS));
43
35
  expect((0, _getDocuments.default)(FORM_DATA)).toEqual(DOCUMENTS);
44
36
  });
45
37
  });
@@ -7,10 +7,10 @@ exports.default = void 0;
7
7
  var _constants = require("../constants");
8
8
  var _setDocumentsForField = _interopRequireDefault(require("./setDocumentsForField"));
9
9
  var _getDocuments = _interopRequireDefault(require("./getDocuments"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  // Local imports
12
12
 
13
- const documents = {
13
+ var documents = {
14
14
  setForField: _setDocumentsForField.default,
15
15
  get: _getDocuments.default,
16
16
  name: _constants.META_DOCUMENTS_PROPERTY
@@ -6,23 +6,25 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _constants = require("../constants");
8
8
  var _getDocuments = _interopRequireDefault(require("./getDocuments"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- // Local imports
11
-
12
- const setDocumentsForField = (documents, formData, field, allowMultiple) => {
13
- const changedDocuments = allowMultiple ? (0, _getDocuments.default)(formData) : (0, _getDocuments.default)(formData).filter(d => d.field !== field);
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ 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); }
11
+ 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; }
12
+ 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; }
13
+ 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; }
14
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
+ 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); } // Local imports
16
+ var setDocumentsForField = function setDocumentsForField(documents, formData, field, allowMultiple) {
17
+ var changedDocuments = allowMultiple ? (0, _getDocuments.default)(formData) : (0, _getDocuments.default)(formData).filter(function (d) {
18
+ return d.field !== field;
19
+ });
14
20
  if (Array.isArray(documents)) {
15
- documents.forEach(document => {
16
- changedDocuments.push({
17
- ...document,
18
- field
19
- });
21
+ documents.forEach(function (document) {
22
+ changedDocuments.push(_objectSpread(_objectSpread({}, document), {}, {
23
+ field: field
24
+ }));
20
25
  });
21
26
  }
22
- const existing = formData ? formData[_constants.META_PROPERTY] : undefined;
23
- return {
24
- ...existing,
25
- [_constants.META_DOCUMENTS_PROPERTY]: changedDocuments
26
- };
27
+ var existing = formData ? formData[_constants.META_PROPERTY] : undefined;
28
+ return _objectSpread(_objectSpread({}, existing), {}, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, changedDocuments));
27
29
  };
28
30
  var _default = exports.default = setDocumentsForField;
@@ -2,92 +2,58 @@
2
2
 
3
3
  var _constants = require("../constants");
4
4
  var _setDocumentsForField = _interopRequireDefault(require("./setDocumentsForField"));
5
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
- describe('Utils.Meta.documents.add', () => {
7
- const ALPHA_DOCUMENT = {
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+ 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); }
7
+ 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; }
8
+ 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; }
9
+ 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; }
10
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
11
+ 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); }
12
+ describe('Utils.Meta.documents.add', function () {
13
+ var ALPHA_DOCUMENT = {
8
14
  field: 'alpha',
9
15
  url: 'http://alpha-bravo.com/files/alpha'
10
16
  };
11
- const BRAVO_DOCUMENT = {
17
+ var BRAVO_DOCUMENT = {
12
18
  field: 'bravo',
13
19
  url: 'http://alpha-bravo.com/files/bravo'
14
20
  };
15
- it('should return an appropriately set up object if formData is null', () => {
16
- expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT], null, ALPHA_DOCUMENT.field)).toEqual({
17
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
18
- });
21
+ it('should return an appropriately set up object if formData is null', function () {
22
+ expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT], null, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
19
23
  });
20
- it('should add a new document to the array', () => {
21
- const FORM_DATA = {
22
- [_constants.META_PROPERTY]: {
23
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
24
- }
25
- };
26
- expect((0, _setDocumentsForField.default)([BRAVO_DOCUMENT], FORM_DATA, BRAVO_DOCUMENT.field)).toEqual({
27
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, BRAVO_DOCUMENT]
28
- });
24
+ it('should add a new document to the array', function () {
25
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
26
+ expect((0, _setDocumentsForField.default)([BRAVO_DOCUMENT], FORM_DATA, BRAVO_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, BRAVO_DOCUMENT]));
29
27
  });
30
- it('should add multiple new documents to the array', () => {
31
- const FORM_DATA = {
32
- [_constants.META_PROPERTY]: {
33
- [_constants.META_DOCUMENTS_PROPERTY]: []
34
- }
35
- };
36
- const SECOND_DOCUMENT = {
37
- ...ALPHA_DOCUMENT
38
- };
39
- expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT, SECOND_DOCUMENT], FORM_DATA, ALPHA_DOCUMENT.field)).toEqual({
40
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, SECOND_DOCUMENT]
41
- });
28
+ it('should add multiple new documents to the array', function () {
29
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, []));
30
+ var SECOND_DOCUMENT = _objectSpread({}, ALPHA_DOCUMENT);
31
+ expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT, SECOND_DOCUMENT], FORM_DATA, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, SECOND_DOCUMENT]));
42
32
  });
43
- it('should replace an existing document with the same field', () => {
44
- const NEW_URL = 'http://replacement.com/files/alpha';
45
- const NEW_ALPHA = {
33
+ it('should replace an existing document with the same field', function () {
34
+ var NEW_URL = 'http://replacement.com/files/alpha';
35
+ var NEW_ALPHA = {
46
36
  field: ALPHA_DOCUMENT.field,
47
37
  url: NEW_URL
48
38
  };
49
- const FORM_DATA = {
50
- [_constants.META_PROPERTY]: {
51
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
52
- }
53
- };
54
- expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field)).toEqual({
55
- [_constants.META_DOCUMENTS_PROPERTY]: [NEW_ALPHA]
56
- });
39
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
40
+ expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [NEW_ALPHA]));
57
41
  });
58
- it('should add a document with the same field if allowMultiple is true', () => {
59
- const NEW_URL = 'http://replacement.com/files/alpha';
60
- const NEW_ALPHA = {
42
+ it('should add a document with the same field if allowMultiple is true', function () {
43
+ var NEW_URL = 'http://replacement.com/files/alpha';
44
+ var NEW_ALPHA = {
61
45
  field: ALPHA_DOCUMENT.field,
62
46
  url: NEW_URL
63
47
  };
64
- const FORM_DATA = {
65
- [_constants.META_PROPERTY]: {
66
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
67
- }
68
- };
69
- expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field, true)).toEqual({
70
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, NEW_ALPHA]
71
- });
48
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
49
+ expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field, true)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, NEW_ALPHA]));
72
50
  });
73
- it('should handle a null document being passed where a document with that field already exists', () => {
74
- const FORM_DATA = {
75
- [_constants.META_PROPERTY]: {
76
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
77
- }
78
- };
79
- expect((0, _setDocumentsForField.default)(null, FORM_DATA, ALPHA_DOCUMENT.field)).toEqual({
80
- [_constants.META_DOCUMENTS_PROPERTY]: []
81
- });
51
+ it('should handle a null document being passed where a document with that field already exists', function () {
52
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
53
+ expect((0, _setDocumentsForField.default)(null, FORM_DATA, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, []));
82
54
  });
83
- it('should handle a null document being passed where a document with that field does not already exist', () => {
84
- const FORM_DATA = {
85
- [_constants.META_PROPERTY]: {
86
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
87
- }
88
- };
89
- expect((0, _setDocumentsForField.default)(null, FORM_DATA, BRAVO_DOCUMENT.field)).toEqual({
90
- [_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
91
- });
55
+ it('should handle a null document being passed where a document with that field does not already exist', function () {
56
+ var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
57
+ expect((0, _setDocumentsForField.default)(null, FORM_DATA, BRAVO_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
92
58
  });
93
59
  });
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _constants = require("./constants");
8
8
  var _documents = _interopRequireDefault(require("./documents"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  // Local imports
11
11
 
12
- const Meta = {
12
+ var Meta = {
13
13
  documents: _documents.default,
14
14
  name: _constants.META_PROPERTY
15
15
  };
@@ -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,9 +18,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
18
18
  * @param {object} data The page's formData.
19
19
  * @returns true if the value is truthy, false if it isn't or doesn't exist.
20
20
  */
21
- const checkValueIsTruthy = (config, data) => {
22
- if (config?.field) {
23
- const fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
21
+ var checkValueIsTruthy = function checkValueIsTruthy(config, data) {
22
+ if (config !== null && config !== void 0 && config.field) {
23
+ var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
24
24
  return !!(0, _getSourceData.default)(data, fieldPath);
25
25
  }
26
26
  return false;
@@ -1,42 +1,42 @@
1
1
  "use strict";
2
2
 
3
3
  var _checkValueIsTruthy = _interopRequireDefault(require("./checkValueIsTruthy"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.checkValueIsTruthy', () => {
6
- const DATA = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('Utils.Operate.checkValueIsTruthy', function () {
6
+ var DATA = {
7
7
  alpha: 'abc',
8
8
  bravo: ''
9
9
  };
10
- it('Should return true is the value of the field is truthy', () => {
11
- const CONFIG = {
10
+ it('Should return true is the value of the field is truthy', function () {
11
+ var CONFIG = {
12
12
  field: 'alpha'
13
13
  };
14
- const result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
14
+ var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
15
15
  expect(result).toEqual(true);
16
16
  });
17
- it('Should return false if the value of the field is falsy', () => {
18
- const CONFIG = {
17
+ it('Should return false if the value of the field is falsy', function () {
18
+ var CONFIG = {
19
19
  field: 'bravo'
20
20
  };
21
- const result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
21
+ var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
22
22
  expect(result).toEqual(false);
23
23
  });
24
- it('Should return false if the field does not exist', () => {
25
- const CONFIG = {
24
+ it('Should return false if the field does not exist', function () {
25
+ var CONFIG = {
26
26
  field: 'charlie'
27
27
  };
28
- const result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
28
+ var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
29
29
  expect(result).toEqual(false);
30
30
  });
31
- it('Should return false when an invalid config is used', () => {
32
- const result = (0, _checkValueIsTruthy.default)(null, DATA);
31
+ it('Should return false when an invalid config is used', function () {
32
+ var result = (0, _checkValueIsTruthy.default)(null, DATA);
33
33
  expect(result).toEqual(false);
34
34
  });
35
- it('Should return false when invalid data is used', () => {
36
- const CONFIG = {
35
+ it('Should return false when invalid data is used', function () {
36
+ var CONFIG = {
37
37
  field: 'alpha'
38
38
  };
39
- const result = (0, _checkValueIsTruthy.default)(CONFIG, null);
39
+ var result = (0, _checkValueIsTruthy.default)(CONFIG, null);
40
40
  expect(result).toEqual(false);
41
41
  });
42
42
  });
@@ -10,9 +10,9 @@ exports.default = void 0;
10
10
  * @param {object} data The page's formData.
11
11
  * @param {function} onChange The page's onChange handler.
12
12
  */
13
- const deleteValueInFormData = (config, data, onChange) => {
14
- const node = data;
15
- if (config?.field && config?.component) {
13
+ var deleteValueInFormData = function deleteValueInFormData(config, data, onChange) {
14
+ var node = data;
15
+ if (config !== null && config !== void 0 && config.field && config !== null && config !== void 0 && config.component) {
16
16
  delete node[config.field];
17
17
  onChange({
18
18
  target: {
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _deleteValueInFormData = _interopRequireDefault(require("./deleteValueInFormData"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.deleteValueInFormData', () => {
6
- const ON_CHANGE = () => {};
7
- it('Should delete value from data', () => {
8
- const CONFIG = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('Utils.Operate.deleteValueInFormData', function () {
6
+ var ON_CHANGE = function ON_CHANGE() {};
7
+ it('Should delete value from data', function () {
8
+ var CONFIG = {
9
9
  field: 'a',
10
10
  component: 'A'
11
11
  };
12
- const DATA = {
12
+ var DATA = {
13
13
  a: '1',
14
14
  b: '2'
15
15
  };
@@ -18,12 +18,12 @@ describe('Utils.Operate.deleteValueInFormData', () => {
18
18
  b: '2'
19
19
  });
20
20
  });
21
- it('Should do nothing if value is absent', () => {
22
- const CONFIG = {
21
+ it('Should do nothing if value is absent', function () {
22
+ var CONFIG = {
23
23
  field: 'c',
24
24
  component: 'C'
25
25
  };
26
- const DATA = {
26
+ var DATA = {
27
27
  a: '1',
28
28
  b: '2'
29
29
  };
@@ -33,9 +33,9 @@ describe('Utils.Operate.deleteValueInFormData', () => {
33
33
  b: '2'
34
34
  });
35
35
  });
36
- it('Should do nothing if config is null', () => {
37
- const CONFIG = null;
38
- const DATA = {
36
+ it('Should do nothing if config is null', function () {
37
+ var CONFIG = null;
38
+ var DATA = {
39
39
  a: '1',
40
40
  b: '2'
41
41
  };
@@ -45,9 +45,9 @@ describe('Utils.Operate.deleteValueInFormData', () => {
45
45
  b: '2'
46
46
  });
47
47
  });
48
- it('Should do nothing if config is empty', () => {
49
- const CONFIG = {};
50
- const DATA = {
48
+ it('Should do nothing if config is empty', function () {
49
+ var CONFIG = {};
50
+ var DATA = {
51
51
  a: '1',
52
52
  b: '2'
53
53
  };
@@ -6,17 +6,17 @@ 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 getFirstOf = (config, data) => {
15
- if (config?.fields) {
16
- let fieldValue;
17
- config.fields.find(field => {
18
- const fieldPath = _copReactComponents.Utils.interpolateString(field, data);
19
- const foundValue = (0, _getSourceData.default)(data, fieldPath);
14
+ var getFirstOf = function getFirstOf(config, data) {
15
+ if (config !== null && config !== void 0 && config.fields) {
16
+ var fieldValue;
17
+ config.fields.find(function (field) {
18
+ var fieldPath = _copReactComponents.Utils.interpolateString(field, data);
19
+ var foundValue = (0, _getSourceData.default)(data, fieldPath);
20
20
  if (foundValue) {
21
21
  fieldValue = foundValue;
22
22
  return true;
@@ -25,6 +25,6 @@ const getFirstOf = (config, data) => {
25
25
  });
26
26
  return fieldValue || (config.fallback ? _copReactComponents.Utils.interpolateString(config.fallback, data) : '');
27
27
  }
28
- return config?.value || null;
28
+ return (config === null || config === void 0 ? void 0 : config.value) || null;
29
29
  };
30
30
  var _default = exports.default = getFirstOf;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _getFirstOf = _interopRequireDefault(require("./getFirstOf"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- describe('Utils.Operate.getFirstOf', () => {
6
- const DATA = {
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ describe('Utils.Operate.getFirstOf', function () {
6
+ var DATA = {
7
7
  name: 'sam',
8
8
  id: 1,
9
9
  test: ['2', '3'],
@@ -12,75 +12,75 @@ describe('Utils.Operate.getFirstOf', () => {
12
12
  otherIdDoc: '',
13
13
  anotherMadeUpId: 789
14
14
  };
15
- it('Should handle interpolated field strings', () => {
15
+ it('Should handle interpolated field strings', function () {
16
16
  // eslint-disable-next-line no-template-curly-in-string
17
- const CONFIG = {
17
+ var CONFIG = {
18
18
  fields: ['test[${id}]']
19
19
  };
20
- const result = (0, _getFirstOf.default)(CONFIG, DATA);
20
+ var result = (0, _getFirstOf.default)(CONFIG, DATA);
21
21
  expect(result).toEqual(DATA.test[1]);
22
22
  });
23
- it('Should return the value provided in config if no field is specified', () => {
24
- const CONFIG = {
23
+ it('Should return the value provided in config if no field is specified', function () {
24
+ var CONFIG = {
25
25
  value: '2'
26
26
  };
27
- const result = (0, _getFirstOf.default)(CONFIG, DATA);
27
+ var result = (0, _getFirstOf.default)(CONFIG, DATA);
28
28
  expect(result).toEqual(CONFIG.value);
29
29
  });
30
- it('Should return the fallback if the requested fields are not found', () => {
30
+ it('Should return the fallback if the requested fields are not found', function () {
31
31
  // eslint-disable-next-line no-template-curly-in-string
32
- const CONFIG = {
32
+ var CONFIG = {
33
33
  value: '2',
34
34
  fields: ['nonExistent'],
35
35
  fallback: "Test ${name}"
36
36
  };
37
- const result = (0, _getFirstOf.default)(CONFIG, DATA);
38
- expect(result).toEqual(`Test ${DATA.name}`);
37
+ var result = (0, _getFirstOf.default)(CONFIG, DATA);
38
+ expect(result).toEqual("Test ".concat(DATA.name));
39
39
  });
40
- it('Should return the value of the passportNumber field given in config', () => {
41
- const CONFIG = {
40
+ it('Should return the value of the passportNumber field given in config', function () {
41
+ var CONFIG = {
42
42
  fields: ['passportNumber', 'anotherMadeUpId', 'otherIdDoc']
43
43
  };
44
- const result = (0, _getFirstOf.default)(CONFIG, DATA);
44
+ var result = (0, _getFirstOf.default)(CONFIG, DATA);
45
45
  expect(result).toEqual(DATA.passportNumber);
46
46
  });
47
- it('Should return the value of the anotherMadeUpId field given in config', () => {
48
- const CONFIG = {
47
+ it('Should return the value of the anotherMadeUpId field given in config', function () {
48
+ var CONFIG = {
49
49
  fields: ['anotherMadeUpId', 'passportNumber', 'otherIdDoc']
50
50
  };
51
- const result = (0, _getFirstOf.default)(CONFIG, DATA);
51
+ var result = (0, _getFirstOf.default)(CONFIG, DATA);
52
52
  expect(result).toEqual(DATA.anotherMadeUpId);
53
53
  });
54
- it('Should return the value of the otherIdDoc field given in config', () => {
55
- const CONFIG = {
54
+ it('Should return the value of the otherIdDoc field given in config', function () {
55
+ var CONFIG = {
56
56
  fields: ['otherIdDoc', 'passportNumber', 'anotherMadeUpId']
57
57
  };
58
- const result = (0, _getFirstOf.default)(CONFIG, DATA);
58
+ var result = (0, _getFirstOf.default)(CONFIG, DATA);
59
59
  expect(result).toEqual(DATA.passportNumber);
60
60
  });
61
- it('Should return the value of the otherIdDoc field given in config, if it exists, otherwise next field next in the array', () => {
62
- const CONFIG = {
61
+ it('Should return the value of the otherIdDoc field given in config, if it exists, otherwise next field next in the array', function () {
62
+ var CONFIG = {
63
63
  fields: ['otherIdDoc', 'passportNumber', 'anotherMadeUpId']
64
64
  };
65
- const result = (0, _getFirstOf.default)(CONFIG, DATA);
65
+ var result = (0, _getFirstOf.default)(CONFIG, DATA);
66
66
  expect(result).toEqual(DATA.passportNumber);
67
67
  });
68
- it('Should return no value if elements in config.fields are not found in data', () => {
69
- const CONFIG = {
68
+ it('Should return no value if elements in config.fields are not found in data', function () {
69
+ var CONFIG = {
70
70
  fields: ['otherIdDoc1', 'passportNumber1', 'anotherMadeUpId1']
71
71
  };
72
- const result = (0, _getFirstOf.default)(CONFIG, DATA);
72
+ var result = (0, _getFirstOf.default)(CONFIG, DATA);
73
73
  expect(result).toEqual('');
74
74
  });
75
- it('Should return null when an invalid config is used', () => {
76
- const result = (0, _getFirstOf.default)(null, DATA);
75
+ it('Should return null when an invalid config is used', function () {
76
+ var result = (0, _getFirstOf.default)(null, DATA);
77
77
  expect(result).toEqual(null);
78
78
  });
79
- it('Should return null when invalid data is used', () => {
80
- const CONFIG = {
79
+ it('Should return null when invalid data is used', function () {
80
+ var CONFIG = {
81
81
  field: 'a'
82
82
  };
83
- const result = (0, _getFirstOf.default)(CONFIG, null);
83
+ var result = (0, _getFirstOf.default)(CONFIG, null);
84
84
  expect(result).toEqual(null);
85
85
  });
86
86
  });
@@ -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 getValueOrField = (config, data) => {
15
- if (config?.value) {
14
+ var getValueOrField = function getValueOrField(config, data) {
15
+ if (config !== null && config !== void 0 && config.value) {
16
16
  return config.value;
17
17
  }
18
- const path = _copReactComponents.Utils.interpolateString(config?.field, data);
18
+ var path = _copReactComponents.Utils.interpolateString(config === null || config === void 0 ? void 0 : config.field, data);
19
19
  return (0, _getSourceData.default)(data, path);
20
20
  };
21
21
 
@@ -28,18 +28,18 @@ const getValueOrField = (config, data) => {
28
28
  * @param {object} data A page's formData.
29
29
  * @returns The index of the matching value if one exists, or null.
30
30
  */
31
- const getIndexOfMatchingValueIn = (config, data) => {
31
+ var getIndexOfMatchingValueIn = function getIndexOfMatchingValueIn(config, data) {
32
32
  if (!config || !data) {
33
33
  return null;
34
34
  }
35
- const targetPath = _copReactComponents.Utils.interpolateString(config.target, data);
36
- const target = (0, _getSourceData.default)(data, targetPath);
37
- const value = getValueOrField(config, data);
38
- const cutoff = getValueOrField(config.cutoff, data);
39
- const ignore = getValueOrField(config.ignore, data);
40
- let result = null;
35
+ var targetPath = _copReactComponents.Utils.interpolateString(config.target, data);
36
+ var target = (0, _getSourceData.default)(data, targetPath);
37
+ var value = getValueOrField(config, data);
38
+ var cutoff = getValueOrField(config.cutoff, data);
39
+ var ignore = getValueOrField(config.ignore, data);
40
+ var result = null;
41
41
  if (target && value && Array.isArray(target)) {
42
- target.every((entry, index) => {
42
+ target.every(function (entry, index) {
43
43
  if (index === cutoff) {
44
44
  return false;
45
45
  }