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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +15 -15
  2. package/dist/components/CheckYourAnswers/Answer.test.js +94 -128
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +99 -129
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +291 -501
  5. package/dist/components/CheckYourAnswers/index.js +2 -3
  6. package/dist/components/CollectionPage/CollectionPage.js +64 -58
  7. package/dist/components/CollectionPage/CollectionPage.test.js +212 -238
  8. package/dist/components/CollectionPage/index.js +2 -3
  9. package/dist/components/FormComponent/Collection.js +77 -113
  10. package/dist/components/FormComponent/Collection.test.js +688 -787
  11. package/dist/components/FormComponent/Container.js +44 -43
  12. package/dist/components/FormComponent/Container.test.js +316 -346
  13. package/dist/components/FormComponent/FormComponent.js +58 -64
  14. package/dist/components/FormComponent/FormComponent.test.js +180 -219
  15. package/dist/components/FormComponent/helpers/addLabel.js +5 -9
  16. package/dist/components/FormComponent/helpers/getComponentDisabled.js +2 -3
  17. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  18. package/dist/components/FormComponent/helpers/getComponentError.js +4 -7
  19. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  20. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +2 -2
  21. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  22. package/dist/components/FormComponent/helpers/index.js +5 -5
  23. package/dist/components/FormComponent/index.js +2 -3
  24. package/dist/components/FormPage/FormPage.js +65 -79
  25. package/dist/components/FormPage/FormPage.test.js +134 -170
  26. package/dist/components/FormPage/index.js +2 -3
  27. package/dist/components/FormRenderer/FormRenderer.js +151 -193
  28. package/dist/components/FormRenderer/FormRenderer.test.js +598 -920
  29. package/dist/components/FormRenderer/handlers/cyaAction.js +4 -5
  30. package/dist/components/FormRenderer/handlers/getPageId.js +2 -5
  31. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  32. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  33. package/dist/components/FormRenderer/handlers/index.js +3 -4
  34. package/dist/components/FormRenderer/handlers/navigate.js +5 -6
  35. package/dist/components/FormRenderer/handlers/submissionError.js +2 -3
  36. package/dist/components/FormRenderer/helpers/canActionProceed.js +2 -3
  37. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +10 -10
  38. package/dist/components/FormRenderer/helpers/canCYASubmit.js +2 -5
  39. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  40. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +19 -27
  41. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +17 -17
  42. package/dist/components/FormRenderer/helpers/getCYA.js +6 -9
  43. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  44. package/dist/components/FormRenderer/helpers/getFormState.js +7 -10
  45. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  46. package/dist/components/FormRenderer/helpers/getNextPageId.js +19 -34
  47. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  48. package/dist/components/FormRenderer/helpers/getPage.js +3 -6
  49. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  50. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -13
  51. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  52. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
  53. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -92
  54. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +66 -66
  55. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
  56. package/dist/components/FormRenderer/helpers/index.js +3 -4
  57. package/dist/components/FormRenderer/index.js +2 -3
  58. package/dist/components/FormRenderer/onCYAAction.js +52 -62
  59. package/dist/components/FormRenderer/onCYAAction.test.js +146 -138
  60. package/dist/components/FormRenderer/onPageAction.js +48 -47
  61. package/dist/components/FormRenderer/onPageAction.test.js +219 -205
  62. package/dist/components/FormRenderer/onTaskAction.js +12 -17
  63. package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
  64. package/dist/components/PageActions/ActionButton.js +15 -19
  65. package/dist/components/PageActions/ActionButton.test.js +58 -79
  66. package/dist/components/PageActions/PageActions.js +12 -13
  67. package/dist/components/PageActions/PageActions.test.js +88 -116
  68. package/dist/components/PageActions/index.js +2 -3
  69. package/dist/components/SummaryList/GroupAction.js +15 -23
  70. package/dist/components/SummaryList/GroupAction.test.js +41 -37
  71. package/dist/components/SummaryList/RowAction.js +14 -19
  72. package/dist/components/SummaryList/RowAction.test.js +41 -37
  73. package/dist/components/SummaryList/SummaryList.js +25 -30
  74. package/dist/components/SummaryList/SummaryList.test.js +160 -182
  75. package/dist/components/SummaryList/SummaryListHeadingRow.js +9 -8
  76. package/dist/components/SummaryList/SummaryListRow.js +9 -8
  77. package/dist/components/SummaryList/SummaryListTitleRow.js +8 -7
  78. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -8
  79. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  80. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -8
  81. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  82. package/dist/components/SummaryList/helpers/index.js +2 -2
  83. package/dist/components/SummaryList/index.js +2 -3
  84. package/dist/components/TaskList/Task.js +22 -33
  85. package/dist/components/TaskList/Task.test.js +84 -77
  86. package/dist/components/TaskList/TaskList.js +46 -75
  87. package/dist/components/TaskList/TaskList.test.js +118 -113
  88. package/dist/components/TaskList/TaskState.js +9 -9
  89. package/dist/components/TaskList/TaskState.test.js +56 -49
  90. package/dist/components/TaskList/index.js +2 -3
  91. package/dist/components/index.js +8 -8
  92. package/dist/context/HooksContext/HooksContext.js +59 -85
  93. package/dist/context/HooksContext/HooksContext.test.js +28 -36
  94. package/dist/context/HooksContext/index.js +4 -6
  95. package/dist/context/ValidationContext/ValidationContext.js +35 -76
  96. package/dist/context/ValidationContext/ValidationContext.test.js +50 -61
  97. package/dist/context/ValidationContext/index.js +4 -6
  98. package/dist/context/index.js +3 -3
  99. package/dist/hooks/index.js +10 -11
  100. package/dist/hooks/useAxios.js +17 -43
  101. package/dist/hooks/useGetRequest.js +65 -106
  102. package/dist/hooks/useHooks.js +2 -5
  103. package/dist/hooks/useRefData.js +30 -45
  104. package/dist/hooks/useValidation.js +2 -5
  105. package/dist/index.js +15 -17
  106. package/dist/models/CollectionLabels.js +2 -3
  107. package/dist/models/ComponentTypes.js +25 -26
  108. package/dist/models/EventTypes.js +5 -6
  109. package/dist/models/FormPages.js +5 -6
  110. package/dist/models/FormTypes.js +9 -10
  111. package/dist/models/HubFormats.js +4 -5
  112. package/dist/models/PageAction.js +45 -42
  113. package/dist/models/TaskStates.js +30 -31
  114. package/dist/models/index.js +11 -12
  115. package/dist/setupTests.js +20 -24
  116. package/dist/utils/CheckYourAnswers/getCYAAction.js +6 -7
  117. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  118. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +18 -20
  119. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +21 -23
  120. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -21
  121. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +18 -20
  122. package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
  123. package/dist/utils/CheckYourAnswers/getCYARow.test.js +72 -72
  124. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +20 -27
  125. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  126. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +41 -47
  127. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
  128. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +71 -78
  129. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +133 -114
  130. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +27 -23
  131. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  132. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +16 -23
  133. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
  134. package/dist/utils/CheckYourAnswers/index.js +3 -4
  135. package/dist/utils/CheckYourAnswers/showComponentCYA.js +7 -9
  136. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  137. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +9 -16
  138. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +19 -20
  139. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +4 -8
  140. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +15 -15
  141. package/dist/utils/CollectionPage/index.js +3 -4
  142. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -29
  143. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +15 -15
  144. package/dist/utils/Component/addShowWhen.js +5 -10
  145. package/dist/utils/Component/addShowWhen.test.js +38 -38
  146. package/dist/utils/Component/applyToComponentTree.js +20 -22
  147. package/dist/utils/Component/applyToComponentTree.test.js +28 -33
  148. package/dist/utils/Component/cleanAttributes.js +11 -16
  149. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  150. package/dist/utils/Component/elevateNestedComponents.js +7 -9
  151. package/dist/utils/Component/elevateNestedComponents.test.js +19 -19
  152. package/dist/utils/Component/getComponent.js +91 -99
  153. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  154. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +51 -63
  155. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +41 -49
  156. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -37
  157. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  158. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +19 -23
  159. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +23 -27
  160. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
  161. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  162. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  163. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  164. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +24 -27
  165. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +156 -175
  166. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  167. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +19 -23
  168. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +59 -73
  169. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +19 -23
  170. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +19 -23
  171. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +35 -41
  172. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +24 -32
  173. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  174. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  175. package/dist/utils/Component/getDefaultValue.js +7 -9
  176. package/dist/utils/Component/getDefaultValue.test.js +14 -14
  177. package/dist/utils/Component/index.js +3 -4
  178. package/dist/utils/Component/isEditable.js +3 -7
  179. package/dist/utils/Component/isEditable.test.js +14 -15
  180. package/dist/utils/Component/optionIsSelected.js +2 -3
  181. package/dist/utils/Component/optionIsSelected.test.js +10 -10
  182. package/dist/utils/Component/setupContainerComponentsPath.js +30 -33
  183. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  184. package/dist/utils/Component/showComponent.js +4 -6
  185. package/dist/utils/Component/showComponent.test.js +29 -29
  186. package/dist/utils/Component/wrapInFormGroup.js +6 -6
  187. package/dist/utils/Condition/index.js +3 -4
  188. package/dist/utils/Condition/meetsAllConditions.js +9 -10
  189. package/dist/utils/Condition/meetsAllConditions.test.js +18 -18
  190. package/dist/utils/Condition/meetsCondition.js +19 -27
  191. package/dist/utils/Condition/meetsCondition.test.js +377 -377
  192. package/dist/utils/Condition/meetsOneCondition.js +7 -8
  193. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  194. package/dist/utils/Condition/setupConditions.js +15 -21
  195. package/dist/utils/Condition/setupConditions.test.js +8 -8
  196. package/dist/utils/Container/getEditableComponents.js +5 -8
  197. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  198. package/dist/utils/Container/index.js +3 -4
  199. package/dist/utils/Container/setupNesting.js +17 -24
  200. package/dist/utils/Container/setupNesting.test.js +28 -31
  201. package/dist/utils/Container/showContainer.js +5 -10
  202. package/dist/utils/Container/showContainer.test.js +31 -31
  203. package/dist/utils/Data/applyFormula.js +41 -52
  204. package/dist/utils/Data/applyFormula.test.js +26 -26
  205. package/dist/utils/Data/getAutocompleteSource.js +11 -14
  206. package/dist/utils/Data/getAutocompleteSource.test.js +59 -59
  207. package/dist/utils/Data/getDataPath.js +21 -32
  208. package/dist/utils/Data/getDataPath.test.js +20 -20
  209. package/dist/utils/Data/getOptions.js +22 -28
  210. package/dist/utils/Data/getOptions.test.js +21 -21
  211. package/dist/utils/Data/getSourceData.js +7 -21
  212. package/dist/utils/Data/getSourceData.test.js +85 -81
  213. package/dist/utils/Data/index.js +3 -4
  214. package/dist/utils/Data/refDataToOptions.js +12 -17
  215. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  216. package/dist/utils/Data/setDataItem.js +8 -10
  217. package/dist/utils/Data/setDataItem.test.js +38 -38
  218. package/dist/utils/Data/setupFormData.js +32 -48
  219. package/dist/utils/Data/setupFormData.test.js +99 -98
  220. package/dist/utils/Data/setupRefDataUrlForComponent.js +22 -30
  221. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  222. package/dist/utils/FormPage/applyConditionalProperties.js +7 -12
  223. package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
  224. package/dist/utils/FormPage/getFormPage.js +17 -19
  225. package/dist/utils/FormPage/getFormPage.test.js +49 -48
  226. package/dist/utils/FormPage/getFormPages.js +9 -15
  227. package/dist/utils/FormPage/getFormPages.test.js +22 -25
  228. package/dist/utils/FormPage/getPageActions.js +11 -19
  229. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  230. package/dist/utils/FormPage/getParagraphFromText.js +6 -9
  231. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  232. package/dist/utils/FormPage/index.js +3 -4
  233. package/dist/utils/FormPage/showFormPage.js +5 -10
  234. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  235. package/dist/utils/FormPage/showFormPageCYA.js +4 -5
  236. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  237. package/dist/utils/FormPage/useComponent.js +21 -29
  238. package/dist/utils/FormPage/useComponent.test.js +71 -73
  239. package/dist/utils/Format/formatData.js +2 -3
  240. package/dist/utils/Format/formatData.test.js +19 -19
  241. package/dist/utils/Format/formatDataForComponent.js +6 -9
  242. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  243. package/dist/utils/Format/formatDataForForm.js +7 -10
  244. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  245. package/dist/utils/Format/formatDataForPage.js +4 -7
  246. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  247. package/dist/utils/Format/index.js +3 -4
  248. package/dist/utils/Hub/getFormHub.js +3 -4
  249. package/dist/utils/Hub/getFormHub.test.js +29 -32
  250. package/dist/utils/Hub/index.js +3 -4
  251. package/dist/utils/Meta/constants.js +2 -4
  252. package/dist/utils/Meta/documents/getDocuments.js +2 -6
  253. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  254. package/dist/utils/Meta/documents/index.js +3 -4
  255. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -19
  256. package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
  257. package/dist/utils/Meta/index.js +3 -4
  258. package/dist/utils/Operate/checkValueIsTruthy.js +5 -6
  259. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  260. package/dist/utils/Operate/getFirstOf.js +9 -10
  261. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  262. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +13 -14
  263. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  264. package/dist/utils/Operate/index.js +3 -4
  265. package/dist/utils/Operate/persistValueInFormData.js +7 -8
  266. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  267. package/dist/utils/Operate/runPageOperations.js +10 -11
  268. package/dist/utils/Operate/runPageOperations.test.js +36 -37
  269. package/dist/utils/Operate/setValueInFormData.js +6 -7
  270. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  271. package/dist/utils/Operate/shouldRun.js +9 -10
  272. package/dist/utils/Operate/shouldRun.test.js +22 -28
  273. package/dist/utils/Validate/additional/conditionallyRequired.js +5 -7
  274. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  275. package/dist/utils/Validate/additional/index.js +8 -9
  276. package/dist/utils/Validate/additional/index.test.js +13 -13
  277. package/dist/utils/Validate/additional/mustBeAfter.js +4 -5
  278. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  279. package/dist/utils/Validate/additional/mustBeBefore.js +4 -5
  280. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  281. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -14
  282. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +34 -38
  283. package/dist/utils/Validate/additional/mustBeGreaterThan.js +3 -4
  284. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  285. package/dist/utils/Validate/additional/mustBeInTheFuture.js +5 -6
  286. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  287. package/dist/utils/Validate/additional/mustBeInThePast.js +6 -7
  288. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  289. package/dist/utils/Validate/additional/mustBeLessThan.js +3 -4
  290. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  291. package/dist/utils/Validate/additional/mustBeLongerThan.js +2 -3
  292. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  293. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +3 -4
  294. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  295. package/dist/utils/Validate/additional/mustBeShorterThan.js +2 -3
  296. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  297. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +4 -7
  298. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  299. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +2 -3
  300. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  301. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +4 -7
  302. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  303. package/dist/utils/Validate/additional/utils.js +9 -25
  304. package/dist/utils/Validate/index.js +3 -4
  305. package/dist/utils/Validate/validateCollection.js +22 -29
  306. package/dist/utils/Validate/validateCollection.test.js +85 -77
  307. package/dist/utils/Validate/validateComponent.js +19 -19
  308. package/dist/utils/Validate/validateComponent.test.js +169 -147
  309. package/dist/utils/Validate/validateContainer.js +16 -22
  310. package/dist/utils/Validate/validateContainer.test.js +52 -48
  311. package/dist/utils/Validate/validateDate.js +14 -21
  312. package/dist/utils/Validate/validateDate.test.js +28 -29
  313. package/dist/utils/Validate/validateEmail.js +8 -11
  314. package/dist/utils/Validate/validateEmail.test.js +26 -26
  315. package/dist/utils/Validate/validateMultifile.js +6 -10
  316. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  317. package/dist/utils/Validate/validatePage.js +20 -22
  318. package/dist/utils/Validate/validatePage.test.js +146 -143
  319. package/dist/utils/Validate/validateRegex.js +6 -10
  320. package/dist/utils/Validate/validateRegex.test.js +17 -17
  321. package/dist/utils/Validate/validateRequired.js +6 -9
  322. package/dist/utils/Validate/validateRequired.test.js +19 -19
  323. package/dist/utils/Validate/validateTextArea.js +6 -9
  324. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  325. package/dist/utils/Validate/validateTime.js +8 -16
  326. package/dist/utils/Validate/validateTime.test.js +15 -15
  327. package/dist/utils/index.js +10 -12
  328. package/package.json +9 -6
@@ -1,41 +1,41 @@
1
1
  "use strict";
2
2
 
3
3
  var _mustBeNumbersOnly = _interopRequireDefault(require("./mustBeNumbersOnly"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', function () {
6
- describe('Validate', function () {
7
- describe('additional', function () {
8
- describe('mustBeNumbersOnly', function () {
9
- test('should return true given a string is number', function () {
10
- var result = (0, _mustBeNumbersOnly.default)('349732');
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils', () => {
6
+ describe('Validate', () => {
7
+ describe('additional', () => {
8
+ describe('mustBeNumbersOnly', () => {
9
+ test('should return true given a string is number', () => {
10
+ const result = (0, _mustBeNumbersOnly.default)('349732');
11
11
  expect(result).toEqual(true);
12
12
  });
13
- test('should return true given a string is numbers contains desimile', function () {
14
- var result = (0, _mustBeNumbersOnly.default)('123456.123');
13
+ test('should return true given a string is numbers contains desimile', () => {
14
+ const result = (0, _mustBeNumbersOnly.default)('123456.123');
15
15
  expect(result).toEqual(true);
16
16
  });
17
- test('should return false if given number contains commas and config does not allow them', function () {
18
- var CONFIG = {};
19
- var result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
17
+ test('should return false if given number contains commas and config does not allow them', () => {
18
+ const CONFIG = {};
19
+ const result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
20
20
  expect(result).toEqual(false);
21
21
  });
22
- test('should return true if given number contains commas and config allows them', function () {
23
- var CONFIG = {
22
+ test('should return true if given number contains commas and config allows them', () => {
23
+ const CONFIG = {
24
24
  allowCommas: true
25
25
  };
26
- var result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
26
+ const result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
27
27
  expect(result).toEqual(true);
28
28
  });
29
- test('should return true when string is undefined', function () {
30
- var result = (0, _mustBeNumbersOnly.default)(undefined);
29
+ test('should return true when string is undefined', () => {
30
+ const result = (0, _mustBeNumbersOnly.default)(undefined);
31
31
  expect(result).toEqual(true);
32
32
  });
33
- test('should return true when string is empty', function () {
34
- var result = (0, _mustBeNumbersOnly.default)('');
33
+ test('should return true when string is empty', () => {
34
+ const result = (0, _mustBeNumbersOnly.default)('');
35
35
  expect(result).toEqual(true);
36
36
  });
37
- test('should return true when string is null', function () {
38
- var result = (0, _mustBeNumbersOnly.default)(null);
37
+ test('should return true when string is null', () => {
38
+ const result = (0, _mustBeNumbersOnly.default)(null);
39
39
  expect(result).toEqual(true);
40
40
  });
41
41
  });
@@ -11,7 +11,7 @@ exports.default = void 0;
11
11
  * @param {number} config.value - the length that string.length must be less than.
12
12
  * @returns true if string.length is greater than config.value, false if not.
13
13
  */
14
- var mustBeShorterThan = function mustBeShorterThan(string, config) {
14
+ const mustBeShorterThan = (string, config) => {
15
15
  if (!string) {
16
16
  // null, undefined and empty strings should be picked up by the required flag
17
17
  // and not considered here as they would be valid for optional fields.
@@ -19,5 +19,4 @@ var mustBeShorterThan = function mustBeShorterThan(string, config) {
19
19
  }
20
20
  return string.length < config.value;
21
21
  };
22
- var _default = mustBeShorterThan;
23
- exports.default = _default;
22
+ var _default = exports.default = mustBeShorterThan;
@@ -1,43 +1,43 @@
1
1
  "use strict";
2
2
 
3
3
  var _mustBeShorterThan = _interopRequireDefault(require("./mustBeShorterThan"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', function () {
6
- describe('Validate', function () {
7
- describe('additional', function () {
8
- describe('mustBeShorterThan', function () {
9
- test('should return true given a string shorter than the given length', function () {
10
- var result = (0, _mustBeShorterThan.default)('to', {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils', () => {
6
+ describe('Validate', () => {
7
+ describe('additional', () => {
8
+ describe('mustBeShorterThan', () => {
9
+ test('should return true given a string shorter than the given length', () => {
10
+ const result = (0, _mustBeShorterThan.default)('to', {
11
11
  value: 3
12
12
  });
13
13
  expect(result).toEqual(true);
14
14
  });
15
- test('should return false given a string longer than the given length', function () {
16
- var result = (0, _mustBeShorterThan.default)('test', {
15
+ test('should return false given a string longer than the given length', () => {
16
+ const result = (0, _mustBeShorterThan.default)('test', {
17
17
  value: 3
18
18
  });
19
19
  expect(result).toEqual(false);
20
20
  });
21
- test('should return false given a string equal to the given length', function () {
22
- var result = (0, _mustBeShorterThan.default)('dog', {
21
+ test('should return false given a string equal to the given length', () => {
22
+ const result = (0, _mustBeShorterThan.default)('dog', {
23
23
  value: 3
24
24
  });
25
25
  expect(result).toEqual(false);
26
26
  });
27
- test('should return true when string is undefined', function () {
28
- var result = (0, _mustBeShorterThan.default)(undefined, {
27
+ test('should return true when string is undefined', () => {
28
+ const result = (0, _mustBeShorterThan.default)(undefined, {
29
29
  value: 3
30
30
  });
31
31
  expect(result).toEqual(true);
32
32
  });
33
- test('should return true when string is empty', function () {
34
- var result = (0, _mustBeShorterThan.default)('', {
33
+ test('should return true when string is empty', () => {
34
+ const result = (0, _mustBeShorterThan.default)('', {
35
35
  value: 3
36
36
  });
37
37
  expect(result).toEqual(true);
38
38
  });
39
- test('should return true when string is null', function () {
40
- var result = (0, _mustBeShorterThan.default)(null, {
39
+ test('should return true when string is null', () => {
40
+ const result = (0, _mustBeShorterThan.default)(null, {
41
41
  value: 3
42
42
  });
43
43
  expect(result).toEqual(true);
@@ -12,15 +12,12 @@ exports.default = void 0;
12
12
  * otherwise returns false
13
13
  */
14
14
  // eslint-disable-next-line arrow-body-style
15
- var mustEnterAtLeastOne = function mustEnterAtLeastOne(data, _, component) {
16
- var _component$components;
17
- return (_component$components = component.components) === null || _component$components === void 0 ? void 0 : _component$components.some(function (inner) {
18
- var _data$component$id;
19
- if ((_data$component$id = data[component.id]) !== null && _data$component$id !== void 0 && _data$component$id[inner.id]) {
15
+ const mustEnterAtLeastOne = (data, _, component) => {
16
+ return component.components?.some(inner => {
17
+ if (data[component.id]?.[inner.id]) {
20
18
  return true;
21
19
  }
22
20
  return false;
23
21
  });
24
22
  };
25
- var _default = mustEnterAtLeastOne;
26
- exports.default = _default;
23
+ var _default = exports.default = mustEnterAtLeastOne;
@@ -1,17 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _mustEnterAtLeastOne = _interopRequireDefault(require("./mustEnterAtLeastOne"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
6
- 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; }
7
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
8
- 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); }
9
- describe('utils', function () {
10
- describe('Validate', function () {
11
- describe('additional', function () {
12
- describe('mustEnterAtLeastOne', function () {
13
- var CONTAINER_ID = 'containerId';
14
- var COMPONENT = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils', () => {
6
+ describe('Validate', () => {
7
+ describe('additional', () => {
8
+ describe('mustEnterAtLeastOne', () => {
9
+ const CONTAINER_ID = 'containerId';
10
+ const COMPONENT = {
15
11
  id: CONTAINER_ID,
16
12
  type: 'container',
17
13
  components: [{
@@ -22,14 +18,16 @@ describe('utils', function () {
22
18
  id: 'charlie'
23
19
  }]
24
20
  };
25
- test('should return false if all components are empty', function () {
26
- var DATA = {};
21
+ test('should return false if all components are empty', () => {
22
+ const DATA = {};
27
23
  expect((0, _mustEnterAtLeastOne.default)(DATA, {}, COMPONENT)).toEqual(false);
28
24
  });
29
- test('should return true if one component has data', function () {
30
- var DATA = _defineProperty({}, CONTAINER_ID, {
31
- alpha: 'text'
32
- });
25
+ test('should return true if one component has data', () => {
26
+ const DATA = {
27
+ [CONTAINER_ID]: {
28
+ alpha: 'text'
29
+ }
30
+ };
33
31
  expect((0, _mustEnterAtLeastOne.default)(DATA, {}, COMPONENT)).toEqual(true);
34
32
  });
35
33
  });
@@ -9,11 +9,10 @@ exports.default = void 0;
9
9
  * @param {number} config.maxDecimals - the maximum amount of decimal places to allow
10
10
  * @returns true if string has less than maxDecimals decimal places else returns false
11
11
  */
12
- var mustHaveLessThanDecimalPlaces = function mustHaveLessThanDecimalPlaces(string, config) {
12
+ const mustHaveLessThanDecimalPlaces = (string, config) => {
13
13
  if (!string || !string.includes('.')) {
14
14
  return true;
15
15
  }
16
16
  return string.split('.')[1].length < config.maxDecimals;
17
17
  };
18
- var _default = mustHaveLessThanDecimalPlaces;
19
- exports.default = _default;
18
+ var _default = exports.default = mustHaveLessThanDecimalPlaces;
@@ -1,31 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _mustHaveLessThanDecimalPlaces = _interopRequireDefault(require("./mustHaveLessThanDecimalPlaces"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', function () {
6
- describe('Validate', function () {
7
- describe('additional', function () {
8
- describe('mustHaveLessThanDecimalPlaces', function () {
9
- test('should return false given a number with more than the allowed number of decimal places', function () {
10
- var result = (0, _mustHaveLessThanDecimalPlaces.default)('999999999.9999', {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils', () => {
6
+ describe('Validate', () => {
7
+ describe('additional', () => {
8
+ describe('mustHaveLessThanDecimalPlaces', () => {
9
+ test('should return false given a number with more than the allowed number of decimal places', () => {
10
+ const result = (0, _mustHaveLessThanDecimalPlaces.default)('999999999.9999', {
11
11
  maxDecimals: 3
12
12
  });
13
13
  expect(result).toEqual(false);
14
14
  });
15
- test('should return true given a number with less than the allowed number of decimal places', function () {
16
- var result = (0, _mustHaveLessThanDecimalPlaces.default)('999999999.99', {
15
+ test('should return true given a number with less than the allowed number of decimal places', () => {
16
+ const result = (0, _mustHaveLessThanDecimalPlaces.default)('999999999.99', {
17
17
  maxDecimals: 3
18
18
  });
19
19
  expect(result).toEqual(true);
20
20
  });
21
- test('should return true given a number with no decimal places', function () {
22
- var result = (0, _mustHaveLessThanDecimalPlaces.default)('999999999', {
21
+ test('should return true given a number with no decimal places', () => {
22
+ const result = (0, _mustHaveLessThanDecimalPlaces.default)('999999999', {
23
23
  maxDecimals: 3
24
24
  });
25
25
  expect(result).toEqual(true);
26
26
  });
27
- test('should return true given nothing', function () {
28
- var result = (0, _mustHaveLessThanDecimalPlaces.default)(undefined, {
27
+ test('should return true given nothing', () => {
28
+ const result = (0, _mustHaveLessThanDecimalPlaces.default)(undefined, {
29
29
  maxDecimals: 3
30
30
  });
31
31
  expect(result).toEqual(true);
@@ -10,11 +10,9 @@ exports.default = void 0;
10
10
  * @param {object} component the container component
11
11
  * @returns true if the user has only provided a value for one of the components in the container, otherwise false.
12
12
  */
13
- var mustSelectOnlyOne = function mustSelectOnlyOne(data, _, component) {
14
- var _component$components;
15
- var valueCount = (_component$components = component.components) === null || _component$components === void 0 ? void 0 : _component$components.reduce(function (acc, inner) {
16
- var _data$component$id;
17
- if ((_data$component$id = data[component.id]) !== null && _data$component$id !== void 0 && _data$component$id[inner.id]) {
13
+ const mustSelectOnlyOne = (data, _, component) => {
14
+ const valueCount = component.components?.reduce((acc, inner) => {
15
+ if (data[component.id]?.[inner.id]) {
18
16
  // Account for checkboxes that the user may have unselected
19
17
  if (Array.isArray(data[component.id][inner.id]) && data[component.id][inner.id].length === 0) {
20
18
  return acc;
@@ -25,5 +23,4 @@ var mustSelectOnlyOne = function mustSelectOnlyOne(data, _, component) {
25
23
  }, 0);
26
24
  return valueCount < 2;
27
25
  };
28
- var _default = mustSelectOnlyOne;
29
- exports.default = _default;
26
+ var _default = exports.default = mustSelectOnlyOne;
@@ -1,17 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _mustSelectOnlyOne = _interopRequireDefault(require("./mustSelectOnlyOne"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
6
- 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; }
7
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
8
- 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); }
9
- describe('utils', function () {
10
- describe('Validate', function () {
11
- describe('additional', function () {
12
- describe('mustSelectOnlyOne', function () {
13
- var CONTAINER_ID = 'containerId';
14
- var COMPONENT = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils', () => {
6
+ describe('Validate', () => {
7
+ describe('additional', () => {
8
+ describe('mustSelectOnlyOne', () => {
9
+ const CONTAINER_ID = 'containerId';
10
+ const COMPONENT = {
15
11
  id: CONTAINER_ID,
16
12
  type: 'container',
17
13
  components: [{
@@ -22,28 +18,34 @@ describe('utils', function () {
22
18
  id: 'charlie'
23
19
  }]
24
20
  };
25
- test('should return true if all components are empty', function () {
26
- var DATA = {};
21
+ test('should return true if all components are empty', () => {
22
+ const DATA = {};
27
23
  expect((0, _mustSelectOnlyOne.default)(DATA, {}, COMPONENT)).toEqual(true);
28
24
  });
29
- test('should return true if one component has data', function () {
30
- var DATA = _defineProperty({}, CONTAINER_ID, {
31
- alpha: 'text'
32
- });
25
+ test('should return true if one component has data', () => {
26
+ const DATA = {
27
+ [CONTAINER_ID]: {
28
+ alpha: 'text'
29
+ }
30
+ };
33
31
  expect((0, _mustSelectOnlyOne.default)(DATA, {}, COMPONENT)).toEqual(true);
34
32
  });
35
- test('should return false if more than one component has data', function () {
36
- var DATA = _defineProperty({}, CONTAINER_ID, {
37
- alpha: 'text',
38
- bravo: 'test'
39
- });
33
+ test('should return false if more than one component has data', () => {
34
+ const DATA = {
35
+ [CONTAINER_ID]: {
36
+ alpha: 'text',
37
+ bravo: 'test'
38
+ }
39
+ };
40
40
  expect((0, _mustSelectOnlyOne.default)(DATA, {}, COMPONENT)).toEqual(false);
41
41
  });
42
- test('should return true if more than one component has data but one is an empty array', function () {
43
- var DATA = _defineProperty({}, CONTAINER_ID, {
44
- alpha: 'text',
45
- bravo: []
46
- });
42
+ test('should return true if more than one component has data but one is an empty array', () => {
43
+ const DATA = {
44
+ [CONTAINER_ID]: {
45
+ alpha: 'text',
46
+ bravo: []
47
+ }
48
+ };
47
49
  expect((0, _mustSelectOnlyOne.default)(DATA, {}, COMPONENT)).toEqual(true);
48
50
  });
49
51
  });
@@ -4,15 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.formattedTime = exports.formatString = exports.DATE_FORMAT = void 0;
7
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- var isNumeric = function isNumeric(value) {
14
- return /^-?\d+$/.test(value);
15
- };
7
+ const isNumeric = value => /^-?\d+$/.test(value);
16
8
 
17
9
  /**
18
10
 
@@ -23,28 +15,20 @@ var isNumeric = function isNumeric(value) {
23
15
  * @param {string} dateComponent - the value representing a day or month.
24
16
  * @returns the value (appended with a leading zero, if the value passed in was a single digit)
25
17
  */
26
- var formatInTwoDigits = function formatInTwoDigits(dateComponent) {
18
+ const formatInTwoDigits = dateComponent => {
27
19
  if (isNumeric(dateComponent)) {
28
20
  return dateComponent.padStart(2, '0');
29
21
  }
30
22
  return '';
31
23
  };
32
- var formatString = function formatString(date) {
33
- var _date$split = date.split('-'),
34
- _date$split2 = _slicedToArray(_date$split, 3),
35
- day = _date$split2[0],
36
- month = _date$split2[1],
37
- year = _date$split2[2];
38
- return "".concat(formatInTwoDigits(day), "-").concat(formatInTwoDigits(month), "-").concat(year);
24
+ const formatString = date => {
25
+ const [day, month, year] = date.split('-');
26
+ return `${formatInTwoDigits(day)}-${formatInTwoDigits(month)}-${year}`;
39
27
  };
40
28
  exports.formatString = formatString;
41
- var formattedTime = function formattedTime(time) {
42
- var _time$split = time.split(':'),
43
- _time$split2 = _slicedToArray(_time$split, 2),
44
- hour = _time$split2[0],
45
- minute = _time$split2[1];
46
- return "".concat(formatInTwoDigits(hour), ":").concat(formatInTwoDigits(minute));
29
+ const formattedTime = time => {
30
+ const [hour, minute] = time.split(':');
31
+ return `${formatInTwoDigits(hour)}:${formatInTwoDigits(minute)}`;
47
32
  };
48
33
  exports.formattedTime = formattedTime;
49
- var DATE_FORMAT = 'DD-MM-YYYY';
50
- exports.DATE_FORMAT = DATE_FORMAT;
34
+ const DATE_FORMAT = exports.DATE_FORMAT = 'DD-MM-YYYY';
@@ -14,10 +14,10 @@ var _validateRegex = _interopRequireDefault(require("./validateRegex"));
14
14
  var _validateRequired = _interopRequireDefault(require("./validateRequired"));
15
15
  var _validateTextArea = _interopRequireDefault(require("./validateTextArea"));
16
16
  var _validateTime = _interopRequireDefault(require("./validateTime"));
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
18
  // Local imports
19
19
 
20
- var Validate = {
20
+ const Validate = {
21
21
  component: _validateComponent.default,
22
22
  container: _validateContainer.default,
23
23
  email: _validateEmail.default,
@@ -29,5 +29,4 @@ var Validate = {
29
29
  textarea: _validateTextArea.default,
30
30
  time: _validateTime.default
31
31
  };
32
- var _default = Validate;
33
- exports.default = _default;
32
+ var _default = exports.default = Validate;
@@ -6,13 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _validateContainer = _interopRequireDefault(require("./validateContainer"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
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); }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ // Local imports
11
+
16
12
  /**
17
13
  * Validates all of the items within a collection.
18
14
  * @param {object} collection The collection to validate.
@@ -20,26 +16,26 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
20
16
  * @param {object} formData The data at the top level of the form.
21
17
  * @returns Errors for all components for all items within the collection.
22
18
  */
23
- var validateCollection = function validateCollection(collection, items, formData) {
24
- var errors = [];
19
+ const validateCollection = (collection, items, formData) => {
20
+ const errors = [];
25
21
  if (collection && Array.isArray(collection.item) && Array.isArray(items)) {
26
- items.forEach(function (item, index) {
27
- var labelCount = (collection.countOffset || 0) + index + 1;
28
- var fullPath = "".concat(collection.full_path || collection.fieldId, "[").concat(index, "]");
29
- var container = {
22
+ items.forEach((item, index) => {
23
+ const labelCount = (collection.countOffset || 0) + index + 1;
24
+ const fullPath = `${collection.full_path || collection.fieldId}[${index}]`;
25
+ const container = {
30
26
  full_path: fullPath,
31
- components: collection.item.map(function (component) {
32
- var newComponent = _objectSpread(_objectSpread({}, component), {}, {
33
- full_path: "".concat(fullPath, ".").concat(component.fieldId)
34
- });
27
+ components: collection.item.map(component => {
28
+ const newComponent = {
29
+ ...component,
30
+ full_path: `${fullPath}.${component.fieldId}`
31
+ };
35
32
  if (component.custom_errors && Array.isArray(component.custom_errors)) {
36
- newComponent.custom_errors = component.custom_errors.map(function (error) {
37
- return _objectSpread(_objectSpread({}, error), {}, {
38
- message: _copReactComponents.Utils.interpolateString(index === 0 && error.firstOnlyMessage ? error.firstOnlyMessage : error.message, {
39
- index: labelCount
40
- })
41
- });
42
- });
33
+ newComponent.custom_errors = component.custom_errors.map(error => ({
34
+ ...error,
35
+ message: _copReactComponents.Utils.interpolateString(index === 0 && error.firstOnlyMessage ? error.firstOnlyMessage : error.message, {
36
+ index: labelCount
37
+ })
38
+ }));
43
39
  }
44
40
  return newComponent;
45
41
  })
@@ -47,9 +43,6 @@ var validateCollection = function validateCollection(collection, items, formData
47
43
  errors.push((0, _validateContainer.default)(container, item, formData));
48
44
  });
49
45
  }
50
- return errors.filter(function (e) {
51
- return !!e;
52
- }).flat();
46
+ return errors.filter(e => !!e).flat();
53
47
  };
54
- var _default = validateCollection;
55
- exports.default = _default;
48
+ var _default = exports.default = validateCollection;