@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.1

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 (385) hide show
  1. package/README.md +5 -0
  2. package/dist/components/CheckYourAnswers/Answer.js +12 -11
  3. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
  6. package/dist/components/CheckYourAnswers/index.js +1 -1
  7. package/dist/components/CollectionPage/CollectionPage.js +62 -60
  8. package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
  9. package/dist/components/CollectionPage/index.js +1 -1
  10. package/dist/components/CollectionSummary/BannerStrip.js +14 -14
  11. package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
  12. package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
  14. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  15. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  16. package/dist/components/CollectionSummary/RenderListView.js +34 -47
  17. package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
  18. package/dist/components/CollectionSummary/SummaryCard.js +101 -133
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
  20. package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
  21. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
  22. package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
  23. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  25. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
  26. package/dist/components/CollectionSummary/index.js +1 -1
  27. package/dist/components/FormComponent/Collection.js +63 -100
  28. package/dist/components/FormComponent/Collection.test.js +907 -1080
  29. package/dist/components/FormComponent/Container.js +35 -29
  30. package/dist/components/FormComponent/Container.test.js +378 -409
  31. package/dist/components/FormComponent/FormComponent.js +59 -63
  32. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  33. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  34. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  36. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  37. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  38. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  40. package/dist/components/FormComponent/helpers/index.js +5 -5
  41. package/dist/components/FormComponent/index.js +1 -1
  42. package/dist/components/FormPage/FormPage.js +70 -93
  43. package/dist/components/FormPage/FormPage.test.js +150 -202
  44. package/dist/components/FormPage/index.js +1 -1
  45. package/dist/components/FormRenderer/FormRenderer.js +131 -173
  46. package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
  47. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  48. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  49. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  50. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  51. package/dist/components/FormRenderer/handlers/index.js +2 -2
  52. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  53. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  54. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  56. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  58. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  60. package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
  61. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  62. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  63. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
  65. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  66. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  67. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  68. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  70. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  72. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
  74. package/dist/components/FormRenderer/helpers/index.js +2 -2
  75. package/dist/components/FormRenderer/index.js +1 -1
  76. package/dist/components/FormRenderer/onCYAAction.js +43 -44
  77. package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
  78. package/dist/components/FormRenderer/onPageAction.js +26 -35
  79. package/dist/components/FormRenderer/onPageAction.test.js +177 -186
  80. package/dist/components/FormRenderer/onTaskAction.js +11 -12
  81. package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
  82. package/dist/components/PageActions/ActionButton.js +14 -14
  83. package/dist/components/PageActions/ActionButton.test.js +57 -79
  84. package/dist/components/PageActions/PageActions.js +11 -11
  85. package/dist/components/PageActions/PageActions.test.js +87 -116
  86. package/dist/components/PageActions/index.js +1 -1
  87. package/dist/components/SummaryList/GroupAction.js +10 -18
  88. package/dist/components/SummaryList/GroupAction.test.js +38 -34
  89. package/dist/components/SummaryList/RowAction.js +12 -17
  90. package/dist/components/SummaryList/RowAction.test.js +38 -34
  91. package/dist/components/SummaryList/SummaryList.js +23 -25
  92. package/dist/components/SummaryList/SummaryList.test.js +162 -189
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
  94. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  95. package/dist/components/SummaryList/SummaryListRow.js +7 -5
  96. package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  98. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  100. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
  101. package/dist/components/SummaryList/helpers/index.js +2 -2
  102. package/dist/components/SummaryList/index.js +1 -1
  103. package/dist/components/TaskList/Task.js +20 -30
  104. package/dist/components/TaskList/Task.test.js +84 -77
  105. package/dist/components/TaskList/TaskList.js +56 -79
  106. package/dist/components/TaskList/TaskList.test.js +149 -149
  107. package/dist/components/TaskList/TaskState.js +8 -6
  108. package/dist/components/TaskList/TaskState.test.js +53 -46
  109. package/dist/components/TaskList/index.js +1 -1
  110. package/dist/components/index.js +8 -8
  111. package/dist/context/HooksContext/HooksContext.js +56 -79
  112. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  113. package/dist/context/HooksContext/index.js +3 -4
  114. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  115. package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
  116. package/dist/context/ValidationContext/index.js +3 -4
  117. package/dist/context/index.js +3 -3
  118. package/dist/hooks/index.js +10 -11
  119. package/dist/hooks/useAxios.js +15 -41
  120. package/dist/hooks/useGetRequest.js +62 -98
  121. package/dist/hooks/useHooks.js +1 -3
  122. package/dist/hooks/useRefData.js +25 -37
  123. package/dist/hooks/useValidation.js +1 -3
  124. package/dist/index.js +14 -15
  125. package/dist/models/CollectionLabels.js +1 -1
  126. package/dist/models/ComponentTypes.js +25 -25
  127. package/dist/models/EventTypes.js +4 -4
  128. package/dist/models/FormPages.js +4 -4
  129. package/dist/models/FormTypes.js +8 -8
  130. package/dist/models/HubFormats.js +3 -3
  131. package/dist/models/PageAction.js +44 -38
  132. package/dist/models/TaskStates.js +29 -28
  133. package/dist/models/index.js +10 -10
  134. package/dist/setupTests.js +30 -31
  135. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  136. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  137. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
  138. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
  139. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
  140. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
  141. package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
  142. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  143. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
  144. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
  147. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
  148. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
  149. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
  150. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  151. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
  152. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
  153. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
  154. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
  155. package/dist/utils/CheckYourAnswers/index.js +2 -2
  156. package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
  157. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  158. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  159. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  160. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  161. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
  162. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
  163. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
  164. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  165. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  166. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  167. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  168. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  169. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  170. package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
  171. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  172. package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
  173. package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
  174. package/dist/utils/CollectionPage/index.js +2 -2
  175. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
  176. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
  177. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  178. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  179. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  180. package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
  181. package/dist/utils/Component/addShowWhen.js +5 -6
  182. package/dist/utils/Component/addShowWhen.test.js +38 -38
  183. package/dist/utils/Component/applyToComponentTree.js +12 -15
  184. package/dist/utils/Component/applyToComponentTree.test.js +28 -31
  185. package/dist/utils/Component/cleanAttributes.js +12 -11
  186. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  187. package/dist/utils/Component/elevateNestedComponents.js +6 -6
  188. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  189. package/dist/utils/Component/getComponent.js +79 -85
  190. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  191. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
  192. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  193. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
  194. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  195. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  196. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
  197. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
  198. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  199. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  200. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  202. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
  203. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  204. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  206. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  208. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
  209. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
  210. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  211. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  212. package/dist/utils/Component/getDefaultValue.js +7 -9
  213. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  214. package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
  215. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  216. package/dist/utils/Component/index.js +2 -2
  217. package/dist/utils/Component/isEditable.js +2 -4
  218. package/dist/utils/Component/isEditable.test.js +14 -15
  219. package/dist/utils/Component/optionIsSelected.js +2 -4
  220. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  221. package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
  222. package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
  223. package/dist/utils/Component/showComponent.js +2 -2
  224. package/dist/utils/Component/showComponent.test.js +29 -29
  225. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  226. package/dist/utils/Condition/index.js +2 -2
  227. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  228. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  229. package/dist/utils/Condition/meetsCondition.js +17 -26
  230. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  231. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  232. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  233. package/dist/utils/Condition/setupConditions.js +12 -15
  234. package/dist/utils/Condition/setupConditions.test.js +8 -8
  235. package/dist/utils/Container/getEditableComponents.js +4 -6
  236. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  237. package/dist/utils/Container/index.js +2 -2
  238. package/dist/utils/Container/setupNesting.js +14 -15
  239. package/dist/utils/Container/setupNesting.test.js +20 -23
  240. package/dist/utils/Container/showContainer.js +4 -8
  241. package/dist/utils/Container/showContainer.test.js +31 -31
  242. package/dist/utils/Data/applyFormula.js +30 -44
  243. package/dist/utils/Data/applyFormula.test.js +21 -21
  244. package/dist/utils/Data/deleteValues.js +4 -8
  245. package/dist/utils/Data/deleteValues.test.js +11 -11
  246. package/dist/utils/Data/getAutocompleteSource.js +19 -27
  247. package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
  248. package/dist/utils/Data/getDataPath.js +18 -28
  249. package/dist/utils/Data/getDataPath.test.js +13 -13
  250. package/dist/utils/Data/getOptions.js +35 -42
  251. package/dist/utils/Data/getOptions.test.js +37 -38
  252. package/dist/utils/Data/getSourceData.js +6 -19
  253. package/dist/utils/Data/getSourceData.test.js +85 -81
  254. package/dist/utils/Data/index.js +2 -2
  255. package/dist/utils/Data/nestInRefdataOptions.js +9 -12
  256. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  257. package/dist/utils/Data/refDataToOptions.js +9 -10
  258. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  259. package/dist/utils/Data/setDataItem.js +7 -8
  260. package/dist/utils/Data/setDataItem.test.js +38 -38
  261. package/dist/utils/Data/setupFormData.js +13 -20
  262. package/dist/utils/Data/setupFormData.test.js +48 -47
  263. package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
  264. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
  265. package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
  266. package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
  267. package/dist/utils/FormPage/getConditionalText.js +4 -4
  268. package/dist/utils/FormPage/getConditionalText.test.js +30 -30
  269. package/dist/utils/FormPage/getFormPage.js +12 -15
  270. package/dist/utils/FormPage/getFormPage.test.js +23 -24
  271. package/dist/utils/FormPage/getFormPages.js +8 -11
  272. package/dist/utils/FormPage/getFormPages.test.js +15 -16
  273. package/dist/utils/FormPage/getPageActions.js +10 -13
  274. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  275. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  276. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  277. package/dist/utils/FormPage/index.js +3 -5
  278. package/dist/utils/FormPage/showFormPage.js +4 -8
  279. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  280. package/dist/utils/FormPage/showFormPageCYA.js +2 -2
  281. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  282. package/dist/utils/FormPage/useComponent.js +15 -23
  283. package/dist/utils/FormPage/useComponent.test.js +49 -50
  284. package/dist/utils/Format/formatData.js +1 -1
  285. package/dist/utils/Format/formatData.test.js +19 -19
  286. package/dist/utils/Format/formatDataForComponent.js +6 -7
  287. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  288. package/dist/utils/Format/formatDataForForm.js +5 -6
  289. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  290. package/dist/utils/Format/formatDataForPage.js +4 -5
  291. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  292. package/dist/utils/Format/index.js +2 -2
  293. package/dist/utils/Hub/getFormHub.js +2 -2
  294. package/dist/utils/Hub/getFormHub.test.js +23 -24
  295. package/dist/utils/Hub/index.js +2 -2
  296. package/dist/utils/Meta/constants.js +2 -2
  297. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  298. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  299. package/dist/utils/Meta/documents/index.js +2 -2
  300. package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
  301. package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
  302. package/dist/utils/Meta/index.js +2 -2
  303. package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
  304. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  305. package/dist/utils/Operate/deleteValueInFormData.js +2 -2
  306. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  307. package/dist/utils/Operate/getFirstOf.js +6 -6
  308. package/dist/utils/Operate/getFirstOf.test.js +32 -32
  309. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
  310. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  311. package/dist/utils/Operate/getLength.js +9 -9
  312. package/dist/utils/Operate/getLength.test.js +19 -19
  313. package/dist/utils/Operate/index.js +2 -2
  314. package/dist/utils/Operate/persistValueInFormData.js +4 -4
  315. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  316. package/dist/utils/Operate/runPageOperations.js +8 -8
  317. package/dist/utils/Operate/runPageOperations.test.js +24 -25
  318. package/dist/utils/Operate/setValueInFormData.js +3 -3
  319. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  320. package/dist/utils/Operate/shouldRun.js +7 -7
  321. package/dist/utils/Operate/shouldRun.test.js +22 -24
  322. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  323. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  324. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  325. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  326. package/dist/utils/Validate/additional/index.js +8 -8
  327. package/dist/utils/Validate/additional/index.test.js +22 -22
  328. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  330. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  331. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  332. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
  333. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
  334. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  336. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
  337. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  338. package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
  339. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  340. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  341. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  342. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  343. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  344. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  345. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  346. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  347. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  348. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  349. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  350. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  351. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
  352. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  353. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  354. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  355. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  356. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  357. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  358. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  359. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  360. package/dist/utils/Validate/additional/utils.js +9 -22
  361. package/dist/utils/Validate/index.js +2 -2
  362. package/dist/utils/Validate/validateCollection.js +18 -23
  363. package/dist/utils/Validate/validateCollection.test.js +75 -67
  364. package/dist/utils/Validate/validateComponent.js +19 -19
  365. package/dist/utils/Validate/validateComponent.test.js +179 -154
  366. package/dist/utils/Validate/validateContainer.js +14 -17
  367. package/dist/utils/Validate/validateContainer.test.js +59 -53
  368. package/dist/utils/Validate/validateDate.js +16 -22
  369. package/dist/utils/Validate/validateDate.test.js +31 -32
  370. package/dist/utils/Validate/validateEmail.js +7 -9
  371. package/dist/utils/Validate/validateEmail.test.js +27 -27
  372. package/dist/utils/Validate/validateMultifile.js +5 -7
  373. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  374. package/dist/utils/Validate/validatePage.js +13 -18
  375. package/dist/utils/Validate/validatePage.test.js +198 -195
  376. package/dist/utils/Validate/validateRegex.js +3 -5
  377. package/dist/utils/Validate/validateRegex.test.js +15 -15
  378. package/dist/utils/Validate/validateRequired.js +4 -6
  379. package/dist/utils/Validate/validateRequired.test.js +19 -19
  380. package/dist/utils/Validate/validateTextArea.js +4 -6
  381. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  382. package/dist/utils/Validate/validateTime.js +12 -19
  383. package/dist/utils/Validate/validateTime.test.js +27 -27
  384. package/dist/utils/index.js +5 -6
  385. package/package.json +2 -4
@@ -1,33 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _showContainer = _interopRequireDefault(require("./showContainer"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.Container.showContainer', function () {
8
- var DATA = {
7
+ describe('utils.Container.showContainer', () => {
8
+ const DATA = {
9
9
  alpha: 'Alpha',
10
10
  bravo: 'Bravo'
11
11
  };
12
- var HTML = {
12
+ const HTML = {
13
13
  type: 'html',
14
14
  tagName: 'p',
15
15
  content: 'Alpha'
16
16
  };
17
- var INSET_TEXT = {
17
+ const INSET_TEXT = {
18
18
  type: 'inset-text',
19
19
  content: 'Bravo'
20
20
  };
21
- var HEADING = {
21
+ const HEADING = {
22
22
  type: 'heading',
23
23
  size: 'm',
24
24
  content: 'Charlie'
25
25
  };
26
- it('should NOT be shown when the container is null', function () {
26
+ it('should NOT be shown when the container is null', () => {
27
27
  expect((0, _showContainer.default)(null, DATA)).toBeFalsy();
28
28
  });
29
- it('should NOT be shown when the container has a single show_when condition that is NOT matched', function () {
30
- var CONTAINER = {
29
+ it('should NOT be shown when the container has a single show_when condition that is NOT matched', () => {
30
+ const CONTAINER = {
31
31
  show_when: {
32
32
  field: 'charlie',
33
33
  op: '=',
@@ -36,8 +36,8 @@ describe('utils.Container.showContainer', function () {
36
36
  };
37
37
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeFalsy();
38
38
  });
39
- it('should NOT be shown when the container has multiple show_when conditions and at least one is NOT matched', function () {
40
- var CONTAINER = {
39
+ it('should NOT be shown when the container has multiple show_when conditions and at least one is NOT matched', () => {
40
+ const CONTAINER = {
41
41
  show_when: [{
42
42
  field: 'alpha',
43
43
  op: '=',
@@ -50,8 +50,8 @@ describe('utils.Container.showContainer', function () {
50
50
  };
51
51
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeFalsy();
52
52
  });
53
- it('SHOULD be shown when the container has a single show_when condition that IS matched', function () {
54
- var CONTAINER = {
53
+ it('SHOULD be shown when the container has a single show_when condition that IS matched', () => {
54
+ const CONTAINER = {
55
55
  show_when: {
56
56
  field: 'alpha',
57
57
  op: '=',
@@ -60,8 +60,8 @@ describe('utils.Container.showContainer', function () {
60
60
  };
61
61
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
62
62
  });
63
- it('SHOULD be shown when the container has multiple show_when conditions that are ALL matched', function () {
64
- var CONTAINER = {
63
+ it('SHOULD be shown when the container has multiple show_when conditions that are ALL matched', () => {
64
+ const CONTAINER = {
65
65
  show_when: [{
66
66
  field: 'alpha',
67
67
  op: '=',
@@ -74,14 +74,14 @@ describe('utils.Container.showContainer', function () {
74
74
  };
75
75
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
76
76
  });
77
- it('SHOULD be shown when the container has NO show_when conditions and NO editable components', function () {
78
- var CONTAINER = {
77
+ it('SHOULD be shown when the container has NO show_when conditions and NO editable components', () => {
78
+ const CONTAINER = {
79
79
  components: [HTML, INSET_TEXT, HEADING]
80
80
  };
81
81
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
82
82
  });
83
- it('should NOT be shown when the container has NO show_when conditions and NO SHOWN editable components', function () {
84
- var TEXT = {
83
+ it('should NOT be shown when the container has NO show_when conditions and NO SHOWN editable components', () => {
84
+ const TEXT = {
85
85
  type: 'text',
86
86
  show_when: {
87
87
  field: 'charlie',
@@ -89,7 +89,7 @@ describe('utils.Container.showContainer', function () {
89
89
  value: 'Charlie'
90
90
  }
91
91
  };
92
- var RADIOS = {
92
+ const RADIOS = {
93
93
  type: 'radios',
94
94
  show_when: {
95
95
  field: 'charlie',
@@ -97,13 +97,13 @@ describe('utils.Container.showContainer', function () {
97
97
  value: 'Charlie'
98
98
  }
99
99
  };
100
- var CONTAINER = {
100
+ const CONTAINER = {
101
101
  components: [TEXT, RADIOS]
102
102
  };
103
103
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeFalsy();
104
104
  });
105
- it('SHOULD be shown when the container has NO show_when conditions and AT LEAST ONE SHOWN editable components', function () {
106
- var TEXT = {
105
+ it('SHOULD be shown when the container has NO show_when conditions and AT LEAST ONE SHOWN editable components', () => {
106
+ const TEXT = {
107
107
  type: 'text',
108
108
  show_when: {
109
109
  field: 'alpha',
@@ -111,7 +111,7 @@ describe('utils.Container.showContainer', function () {
111
111
  value: 'Alpha'
112
112
  }
113
113
  };
114
- var RADIOS = {
114
+ const RADIOS = {
115
115
  type: 'radios',
116
116
  show_when: {
117
117
  field: 'charlie',
@@ -119,13 +119,13 @@ describe('utils.Container.showContainer', function () {
119
119
  value: 'Charlie'
120
120
  }
121
121
  };
122
- var CONTAINER = {
122
+ const CONTAINER = {
123
123
  components: [TEXT, RADIOS]
124
124
  };
125
125
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
126
126
  });
127
- it('SHOULD be shown when the container has multiple show_when conditions, with type "or" provided and ALL are matched', function () {
128
- var CONTAINER = {
127
+ it('SHOULD be shown when the container has multiple show_when conditions, with type "or" provided and ALL are matched', () => {
128
+ const CONTAINER = {
129
129
  show_when: {
130
130
  "type": "or",
131
131
  "conditions": [{
@@ -141,8 +141,8 @@ describe('utils.Container.showContainer', function () {
141
141
  };
142
142
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
143
143
  });
144
- it('SHOULD be shown when the container has multiple show_when conditions, with type "or" provided and at least ONE is matched', function () {
145
- var CONTAINER = {
144
+ it('SHOULD be shown when the container has multiple show_when conditions, with type "or" provided and at least ONE is matched', () => {
145
+ const CONTAINER = {
146
146
  show_when: {
147
147
  "type": "or",
148
148
  "conditions": [{
@@ -158,8 +158,8 @@ describe('utils.Container.showContainer', function () {
158
158
  };
159
159
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
160
160
  });
161
- it('should NOT be shown when the container has multiple show_when conditions, with type "or" provided and NONE are matched', function () {
162
- var CONTAINER = {
161
+ it('should NOT be shown when the container has multiple show_when conditions, with type "or" provided and NONE are matched', () => {
162
+ const CONTAINER = {
163
163
  show_when: {
164
164
  "type": "or",
165
165
  "conditions": [{
@@ -5,15 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
- 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); }
9
8
  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; }
10
9
  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; }
11
- 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; }
12
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
- 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); } /* eslint-disable no-use-before-define, prefer-exponentiation-operator, no-restricted-properties */ // Global imports
14
- var applyFormula = function applyFormula(config) {
10
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint-disable no-use-before-define, prefer-exponentiation-operator, no-restricted-properties */ // Global imports
13
+ const applyFormula = config => {
15
14
  try {
16
- var result = simplify(config);
15
+ const result = simplify(config);
17
16
  return !result && result !== 0 ? '' : result;
18
17
  } catch (err) {
19
18
  // eslint-disable-next-line no-console
@@ -21,63 +20,53 @@ var applyFormula = function applyFormula(config) {
21
20
  }
22
21
  return '';
23
22
  };
24
- var simplify = function simplify(config) {
23
+ const simplify = config => {
25
24
  if (!config || !config.formula) {
26
25
  throw new Error("Missing 'formula' definition");
27
26
  }
28
- var _config$formula = _objectSpread({}, config.formula),
29
- name = _config$formula.name;
27
+ const {
28
+ name
29
+ } = _objectSpread({}, config.formula);
30
30
  switch (name) {
31
31
  case 'multiply':
32
- return reduceNumber(config, function (t, c) {
33
- return t * c;
34
- });
32
+ return reduceNumber(config, (t, c) => t * c);
35
33
  case 'divide':
36
- return reduceNumber(config, function (t, c) {
37
- return t / c;
38
- });
34
+ return reduceNumber(config, (t, c) => t / c);
39
35
  case 'plus':
40
- return reduceNumber(config, function (t, c) {
41
- return t + c;
42
- });
36
+ return reduceNumber(config, (t, c) => t + c);
43
37
  case 'minus':
44
- return reduceNumber(config, function (t, c) {
45
- return t - c;
46
- });
38
+ return reduceNumber(config, (t, c) => t - c);
47
39
  default:
48
40
  throw new Error(!name ? "Calculation formula 'name' cannot be empty" : "Unsupported operation '".concat(name, "'"));
49
41
  }
50
42
  };
51
- var reduceNumber = function reduceNumber(config, reduction) {
52
- var _config$formula2 = _objectSpread({}, config.formula),
53
- args = _config$formula2.args;
43
+ const reduceNumber = (config, reduction) => {
44
+ const {
45
+ args
46
+ } = _objectSpread({}, config.formula);
54
47
  if (args.length < 2) {
55
48
  throw new Error('Requires more than one argument for calculation');
56
49
  }
57
- return round(args.map(function (a) {
58
- return getValue(a, config.formData);
59
- }).reduce(function (total, current, index) {
60
- return index === 0 ? current : reduction(total, current);
61
- }, 0), config);
50
+ return round(args.map(a => getValue(a, config.formData)).reduce((total, current, index) => index === 0 ? current : reduction(total, current), 0), config);
62
51
  };
63
- var round = function round(number, config) {
64
- var roundNumber = config.formula.round;
52
+ const round = (number, config) => {
53
+ const roundNumber = config.formula.round;
65
54
  if (!roundNumber && roundNumber !== 0 || !number) return number;
66
55
  if (roundNumber === 0) {
67
56
  return parseInt(number, 10);
68
57
  }
69
- var precisionScale = Math.pow(10, roundNumber);
58
+ const precisionScale = Math.pow(10, roundNumber);
70
59
  return Math.round((number + Number.EPSILON) * precisionScale) / precisionScale;
71
60
  };
72
- var getValue = function getValue(arg, formData) {
73
- var keys = Object.keys(arg);
61
+ const getValue = (arg, formData) => {
62
+ const keys = Object.keys(arg);
74
63
  if (keys.length === 1) {
75
- var key = keys[0];
76
- var val = arg[key];
64
+ const key = keys[0];
65
+ const val = arg[key];
77
66
  switch (key) {
78
67
  case 'field':
79
68
  {
80
- var fieldVal = fieldValue(val, formData);
69
+ const fieldVal = fieldValue(val, formData);
81
70
  return !fieldVal && fieldVal !== 0 ? NaN : parseFloat(fieldVal);
82
71
  }
83
72
  ;
@@ -85,7 +74,7 @@ var getValue = function getValue(arg, formData) {
85
74
  return parseFloat(val);
86
75
  case 'formula':
87
76
  return applyFormula(_objectSpread(_objectSpread({}, arg), {}, {
88
- formData: formData
77
+ formData
89
78
  }));
90
79
  default:
91
80
  throw new Error('Only accept following as argument field: {field, value, or formula}');
@@ -94,10 +83,7 @@ var getValue = function getValue(arg, formData) {
94
83
  throw new Error('Argument cannot have more than one reference');
95
84
  }
96
85
  };
97
- var fieldValue = function fieldValue(field, data) {
98
- return (
99
- // eslint-disable-next-line prefer-template
100
- _copReactComponents.Utils.interpolateString('${' + field + '}', data)
101
- );
102
- };
86
+ const fieldValue = (field, data) =>
87
+ // eslint-disable-next-line prefer-template
88
+ _copReactComponents.Utils.interpolateString('${' + field + '}', data);
103
89
  var _default = exports.default = applyFormula;
@@ -1,32 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _applyFormula = _interopRequireDefault(require("./applyFormula"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.Data.applyFormula', function () {
8
- var error = jest.spyOn(console, 'error').mockImplementation(function () {});
9
- afterAll(function () {
7
+ describe('utils.Data.applyFormula', () => {
8
+ const error = jest.spyOn(console, 'error').mockImplementation(() => {});
9
+ afterAll(() => {
10
10
  error.mockReset();
11
11
  });
12
- afterEach(function () {
12
+ afterEach(() => {
13
13
  error.mockClear();
14
14
  });
15
- it('should throw and handle exception for a null config', function () {
15
+ it('should throw and handle exception for a null config', () => {
16
16
  (0, _applyFormula.default)(null);
17
17
  expect(error).toBeCalledWith("Missing 'formula' definition");
18
18
  });
19
- it("should throw and handle exception for config with missing 'formula'", function () {
19
+ it("should throw and handle exception for config with missing 'formula'", () => {
20
20
  (0, _applyFormula.default)({});
21
21
  expect(error).toBeCalledWith("Missing 'formula' definition");
22
22
  });
23
- it("should throw and handle exception for config with 'formula' but missing 'name'", function () {
23
+ it("should throw and handle exception for config with 'formula' but missing 'name'", () => {
24
24
  (0, _applyFormula.default)({
25
25
  formula: {}
26
26
  });
27
27
  expect(error).toBeCalledWith("Calculation formula 'name' cannot be empty");
28
28
  });
29
- it("should throw and handle exception for config with 'formula' with unsupported operation 'name'", function () {
29
+ it("should throw and handle exception for config with 'formula' with unsupported operation 'name'", () => {
30
30
  (0, _applyFormula.default)({
31
31
  formula: {
32
32
  name: "something"
@@ -34,7 +34,7 @@ describe('utils.Data.applyFormula', function () {
34
34
  });
35
35
  expect(error).toBeCalledWith("Unsupported operation 'something'");
36
36
  });
37
- it("should throw and handle exception for 'formula' with wrong argument name", function () {
37
+ it("should throw and handle exception for 'formula' with wrong argument name", () => {
38
38
  (0, _applyFormula.default)({
39
39
  formula: {
40
40
  name: 'plus',
@@ -47,7 +47,7 @@ describe('utils.Data.applyFormula', function () {
47
47
  });
48
48
  expect(error).toBeCalledWith('Only accept following as argument field: {field, value, or formula}');
49
49
  });
50
- it("should throw and handle exception for 'formula' argument with more than one field", function () {
50
+ it("should throw and handle exception for 'formula' argument with more than one field", () => {
51
51
  (0, _applyFormula.default)({
52
52
  formula: {
53
53
  name: 'plus',
@@ -61,7 +61,7 @@ describe('utils.Data.applyFormula', function () {
61
61
  });
62
62
  expect(error).toBeCalledWith('Argument cannot have more than one reference');
63
63
  });
64
- it("should throw and handle exception for 'formula' with single argument", function () {
64
+ it("should throw and handle exception for 'formula' with single argument", () => {
65
65
  (0, _applyFormula.default)({
66
66
  formula: {
67
67
  name: 'plus',
@@ -72,7 +72,7 @@ describe('utils.Data.applyFormula', function () {
72
72
  });
73
73
  expect(error).toBeCalledWith('Requires more than one argument for calculation');
74
74
  });
75
- var DATA = {
75
+ const DATA = {
76
76
  fieldA: '10',
77
77
  fieldB: '20',
78
78
  fieldC: 'abc',
@@ -137,9 +137,9 @@ describe('utils.Data.applyFormula', function () {
137
137
  field: 'fieldE'
138
138
  }],
139
139
  result: 2000
140
- }].forEach(function (test) {
141
- it("should calculate formula '".concat(test.name, "' correctly for field args to '").concat(test.result, "'"), function () {
142
- var config = {
140
+ }].forEach(test => {
141
+ it("should calculate formula '".concat(test.name, "' correctly for field args to '").concat(test.result, "'"), () => {
142
+ const config = {
143
143
  formData: DATA,
144
144
  formula: {
145
145
  name: test.name,
@@ -214,9 +214,9 @@ describe('utils.Data.applyFormula', function () {
214
214
  fieldB: 'G3',
215
215
  round: 1,
216
216
  result: ''
217
- }].forEach(function (test) {
218
- it("should calculdate and round result to precision ".concat(test.round), function () {
219
- var config = {
217
+ }].forEach(test => {
218
+ it("should calculdate and round result to precision ".concat(test.round), () => {
219
+ const config = {
220
220
  formData: {
221
221
  fieldA: test.fieldA,
222
222
  fieldB: test.fieldB
@@ -234,8 +234,8 @@ describe('utils.Data.applyFormula', function () {
234
234
  expect((0, _applyFormula.default)(config)).toEqual(test.result);
235
235
  });
236
236
  });
237
- it("should calculate nested 'formula'", function () {
238
- var config = {
237
+ it("should calculate nested 'formula'", () => {
238
+ const config = {
239
239
  formData: {
240
240
  fieldA: '19',
241
241
  fieldB: '66'
@@ -10,13 +10,9 @@ exports.default = void 0;
10
10
  * @param {object} data The page's data.
11
11
  * @param {object} formData The page's formData.
12
12
  */
13
- var deleteValues = function deleteValues(data, formData) {
14
- var deletedValues = Object.keys(data).filter(function (k) {
15
- return !(k in formData);
16
- });
17
- var node = data;
18
- deletedValues.forEach(function (i) {
19
- return delete node[i];
20
- });
13
+ const deleteValues = (data, formData) => {
14
+ const deletedValues = Object.keys(data).filter(k => !(k in formData));
15
+ const node = data;
16
+ deletedValues.forEach(i => delete node[i]);
21
17
  };
22
18
  var _default = exports.default = deleteValues;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _deleteValues = _interopRequireDefault(require("./deleteValues"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.Data.deleteValues', function () {
6
- it('Should delete values from data', function () {
7
- var DATA = {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.Data.deleteValues', () => {
6
+ it('Should delete values from data', () => {
7
+ const DATA = {
8
8
  a: '1',
9
9
  b: '2',
10
10
  c: '3'
11
11
  };
12
- var FORMDATA = {
12
+ const FORMDATA = {
13
13
  a: '1'
14
14
  };
15
15
  (0, _deleteValues.default)(DATA, FORMDATA);
@@ -17,13 +17,13 @@ describe('Utils.Data.deleteValues', function () {
17
17
  a: '1'
18
18
  });
19
19
  });
20
- it('Should leave data unchanged if no differences', function () {
21
- var DATA = {
20
+ it('Should leave data unchanged if no differences', () => {
21
+ const DATA = {
22
22
  a: '1',
23
23
  b: '2',
24
24
  c: '3'
25
25
  };
26
- var FORMDATA = {
26
+ const FORMDATA = {
27
27
  a: '1',
28
28
  b: '2',
29
29
  c: '3'
@@ -35,13 +35,13 @@ describe('Utils.Data.deleteValues', function () {
35
35
  c: '3'
36
36
  });
37
37
  });
38
- it('Should leave data unchanged if form data has additional fields', function () {
39
- var DATA = {
38
+ it('Should leave data unchanged if form data has additional fields', () => {
39
+ const DATA = {
40
40
  a: '1',
41
41
  b: '2',
42
42
  c: '3'
43
43
  };
44
- var FORMDATA = {
44
+ const FORMDATA = {
45
45
  a: '1',
46
46
  b: '2',
47
47
  c: '3',
@@ -6,31 +6,31 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _getOptions = _interopRequireDefault(require("./getOptions"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  // Global Imports
11
11
 
12
12
  // Local imports
13
13
 
14
- var getAutocompleteSource = function getAutocompleteSource(config) {
15
- var options = [];
16
- (0, _getOptions.default)(config, function (val) {
14
+ const getAutocompleteSource = config => {
15
+ let options = [];
16
+ (0, _getOptions.default)(config, val => {
17
17
  options = val;
18
18
  });
19
- var labelMaker = config !== null && config !== void 0 && config.item ? _copReactComponents.Utils.itemLabel(config.item) : null;
20
- return function (query, populateResults) {
21
- var lcQuery = query ? query.toLowerCase() : '';
19
+ const labelMaker = config !== null && config !== void 0 && config.item ? _copReactComponents.Utils.itemLabel(config.item) : null;
20
+ return (query, populateResults) => {
21
+ const lcQuery = query ? query.toLowerCase() : '';
22
22
 
23
23
  // go through all options and give them a grade
24
24
 
25
- var results = options.map(function (opt) {
26
- var label = labelMaker ? labelMaker(opt) : opt.label || '';
27
- var lcLabel = label.toLowerCase();
25
+ const results = options.map(opt => {
26
+ const label = labelMaker ? labelMaker(opt) : opt.label || '';
27
+ const lcLabel = label.toLowerCase();
28
28
 
29
29
  // result 'score'
30
- var grade = 0;
30
+ let grade = 0;
31
31
 
32
32
  // highest result - match at start of string
33
- var index = lcLabel.indexOf(lcQuery);
33
+ const index = lcLabel.indexOf(lcQuery);
34
34
  if (index === 0) {
35
35
  grade = 1;
36
36
  } else if (index > 0) {
@@ -38,15 +38,13 @@ var getAutocompleteSource = function getAutocompleteSource(config) {
38
38
  } else {
39
39
  var _config$item;
40
40
  if (opt.synonyms) {
41
- var match = opt.synonyms.some(function (synonym) {
42
- return synonym.toLowerCase().includes(lcQuery);
43
- });
41
+ const match = opt.synonyms.some(synonym => synonym.toLowerCase().includes(lcQuery));
44
42
  if (match) {
45
43
  grade = 4;
46
44
  }
47
45
  }
48
46
  if (!grade && (_config$item = config.item) !== null && _config$item !== void 0 && _config$item.extraFieldsToSearch) {
49
- var found = config.item.extraFieldsToSearch.some(function (field) {
47
+ const found = config.item.extraFieldsToSearch.some(field => {
50
48
  if (typeof opt[field] !== 'string') {
51
49
  return false;
52
50
  }
@@ -56,22 +54,16 @@ var getAutocompleteSource = function getAutocompleteSource(config) {
56
54
  }
57
55
  }
58
56
  return {
59
- grade: grade,
60
- label: label,
61
- opt: opt
57
+ grade,
58
+ label,
59
+ opt
62
60
  };
63
- }).filter(function (result) {
64
- return result.grade > 0;
65
- });
61
+ }).filter(result => result.grade > 0);
66
62
 
67
63
  // sort results and then map to just opts
68
64
  populateResults(results
69
65
  // the sort prioritises grade but also sorts by string value
70
- .sort(function (r1, r2) {
71
- return (r1.grade - r2.grade) * 16 + r1.label.localeCompare(r2.label);
72
- }).map(function (r) {
73
- return r.opt;
74
- }));
66
+ .sort((r1, r2) => (r1.grade - r2.grade) * 16 + r1.label.localeCompare(r2.label)).map(r => r.opt));
75
67
  };
76
68
  };
77
69
  var _default = exports.default = getAutocompleteSource;