@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +15 -15
  2. package/dist/components/CheckYourAnswers/Answer.test.js +181 -132
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +142 -106
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +941 -563
  5. package/dist/components/CheckYourAnswers/index.js +1 -1
  6. package/dist/components/CollectionPage/CollectionPage.js +66 -75
  7. package/dist/components/CollectionPage/CollectionPage.test.js +369 -318
  8. package/dist/components/CollectionPage/index.js +1 -1
  9. package/dist/components/CollectionSummary/BannerStrip.js +15 -15
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +79 -83
  11. package/dist/components/CollectionSummary/CollectionSummary.js +131 -109
  12. package/dist/components/CollectionSummary/CollectionSummary.test.js +180 -198
  13. package/dist/components/CollectionSummary/Confirmation.js +13 -15
  14. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  15. package/dist/components/CollectionSummary/RenderListView.js +63 -46
  16. package/dist/components/CollectionSummary/RenderListView.scss +9 -0
  17. package/dist/components/CollectionSummary/RenderListView.test.js +120 -84
  18. package/dist/components/CollectionSummary/SummaryCard.js +157 -121
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +1000 -970
  20. package/dist/components/CollectionSummary/SummaryCardDetails.js +94 -103
  21. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +195 -187
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +36 -31
  23. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +76 -64
  24. package/dist/components/CollectionSummary/index.js +1 -1
  25. package/dist/components/FormComponent/Collection.js +117 -80
  26. package/dist/components/FormComponent/Collection.test.js +1082 -910
  27. package/dist/components/FormComponent/Container.js +38 -43
  28. package/dist/components/FormComponent/Container.test.js +411 -379
  29. package/dist/components/FormComponent/FormComponent.js +74 -71
  30. package/dist/components/FormComponent/FormComponent.test.js +415 -354
  31. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  33. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  34. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  35. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  37. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  38. package/dist/components/FormComponent/helpers/index.js +5 -5
  39. package/dist/components/FormComponent/index.js +1 -1
  40. package/dist/components/FormPage/FormPage.js +87 -71
  41. package/dist/components/FormPage/FormPage.test.js +170 -133
  42. package/dist/components/FormPage/index.js +1 -1
  43. package/dist/components/FormRenderer/FormRenderer.js +198 -153
  44. package/dist/components/FormRenderer/FormRenderer.test.js +1116 -731
  45. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  46. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  47. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  48. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  49. package/dist/components/FormRenderer/handlers/index.js +2 -2
  50. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  51. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  52. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  53. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  55. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +21 -17
  56. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +30 -27
  57. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  58. package/dist/components/FormRenderer/helpers/getCYA.js +7 -5
  59. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  60. package/dist/components/FormRenderer/helpers/getFormState.js +8 -6
  61. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getNextPageId.js +32 -18
  63. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  64. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  65. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  66. package/dist/components/FormRenderer/helpers/getRelevantPages.js +11 -8
  67. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  68. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +13 -12
  69. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -104
  70. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +64 -65
  71. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +79 -72
  72. package/dist/components/FormRenderer/helpers/index.js +2 -2
  73. package/dist/components/FormRenderer/index.js +1 -1
  74. package/dist/components/FormRenderer/onCYAAction.js +54 -61
  75. package/dist/components/FormRenderer/onCYAAction.test.js +153 -165
  76. package/dist/components/FormRenderer/onPageAction.js +41 -45
  77. package/dist/components/FormRenderer/onPageAction.test.js +210 -225
  78. package/dist/components/FormRenderer/onTaskAction.js +15 -11
  79. package/dist/components/FormRenderer/onTaskAction.test.js +89 -94
  80. package/dist/components/PageActions/ActionButton.js +16 -13
  81. package/dist/components/PageActions/ActionButton.test.js +79 -57
  82. package/dist/components/PageActions/PageActions.js +11 -11
  83. package/dist/components/PageActions/PageActions.test.js +116 -87
  84. package/dist/components/PageActions/index.js +1 -1
  85. package/dist/components/SummaryList/GroupAction.js +21 -13
  86. package/dist/components/SummaryList/GroupAction.test.js +37 -41
  87. package/dist/components/SummaryList/RowAction.js +17 -12
  88. package/dist/components/SummaryList/RowAction.test.js +37 -41
  89. package/dist/components/SummaryList/SummaryList.js +28 -23
  90. package/dist/components/SummaryList/SummaryList.test.js +206 -179
  91. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -8
  92. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +5 -7
  93. package/dist/components/SummaryList/SummaryListRow.js +6 -8
  94. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -7
  95. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +6 -4
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  97. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +6 -4
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  99. package/dist/components/SummaryList/helpers/index.js +2 -2
  100. package/dist/components/SummaryList/index.js +1 -1
  101. package/dist/components/TaskList/Task.js +30 -20
  102. package/dist/components/TaskList/Task.test.js +77 -84
  103. package/dist/components/TaskList/TaskList.js +84 -53
  104. package/dist/components/TaskList/TaskList.test.js +150 -150
  105. package/dist/components/TaskList/TaskState.js +6 -8
  106. package/dist/components/TaskList/TaskState.test.js +49 -56
  107. package/dist/components/TaskList/index.js +1 -1
  108. package/dist/components/index.js +8 -8
  109. package/dist/context/HooksContext/HooksContext.js +81 -58
  110. package/dist/context/HooksContext/HooksContext.test.js +36 -27
  111. package/dist/context/HooksContext/index.js +4 -3
  112. package/dist/context/ValidationContext/ValidationContext.js +95 -44
  113. package/dist/context/ValidationContext/ValidationContext.test.js +70 -58
  114. package/dist/context/ValidationContext/index.js +4 -3
  115. package/dist/context/index.js +3 -3
  116. package/dist/hooks/index.js +11 -10
  117. package/dist/hooks/useAxios.js +41 -15
  118. package/dist/hooks/useGetRequest.js +98 -62
  119. package/dist/hooks/useHooks.js +3 -1
  120. package/dist/hooks/useRefData.js +41 -28
  121. package/dist/hooks/useValidation.js +3 -1
  122. package/dist/index.js +15 -14
  123. package/dist/models/CollectionLabels.js +1 -1
  124. package/dist/models/ComponentTypes.js +25 -25
  125. package/dist/models/EventTypes.js +4 -4
  126. package/dist/models/FormPages.js +4 -4
  127. package/dist/models/FormTypes.js +8 -8
  128. package/dist/models/HubFormats.js +3 -3
  129. package/dist/models/PageAction.js +38 -44
  130. package/dist/models/TaskStates.js +28 -29
  131. package/dist/models/index.js +10 -10
  132. package/dist/setupTests.js +32 -31
  133. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  134. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +55 -53
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +27 -17
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +36 -34
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +34 -20
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +45 -43
  139. package/dist/utils/CheckYourAnswers/getCYARow.js +10 -8
  140. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +25 -19
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +17 -16
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +45 -39
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +75 -72
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +105 -100
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +182 -218
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -26
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +106 -112
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +21 -15
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +83 -77
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
  152. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +19 -14
  153. package/dist/utils/CheckYourAnswers/index.js +2 -2
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +22 -21
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +24 -14
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +43 -52
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +12 -7
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  166. package/dist/utils/CollectionPage/getCollectionPageData.js +13 -8
  167. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  168. package/dist/utils/CollectionPage/getErrorsForCollection.js +26 -25
  169. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +23 -21
  170. package/dist/utils/CollectionPage/getQuickEditPage.js +32 -37
  171. package/dist/utils/CollectionPage/getQuickEditPage.test.js +22 -18
  172. package/dist/utils/CollectionPage/index.js +2 -2
  173. package/dist/utils/CollectionPage/mergeCollectionPages.js +42 -37
  174. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -48
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +7 -5
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  177. package/dist/utils/CollectionPage/setCollectionPageData.js +19 -12
  178. package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
  179. package/dist/utils/Component/addShowWhen.js +8 -4
  180. package/dist/utils/Component/addShowWhen.test.js +38 -38
  181. package/dist/utils/Component/applyToComponentTree.js +20 -19
  182. package/dist/utils/Component/applyToComponentTree.test.js +33 -28
  183. package/dist/utils/Component/cleanAttributes.js +13 -10
  184. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  185. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  186. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  187. package/dist/utils/Component/getComponent.js +97 -90
  188. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -19
  189. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +63 -50
  190. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +49 -40
  191. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +40 -30
  192. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +19 -21
  193. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +23 -18
  194. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +27 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -12
  196. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +16 -18
  197. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -10
  198. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +16 -18
  199. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +27 -23
  200. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  201. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +16 -18
  202. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +23 -18
  203. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +73 -58
  204. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +23 -18
  205. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +23 -18
  206. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +41 -34
  207. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +32 -23
  208. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  209. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -10
  210. package/dist/utils/Component/getDefaultValue.js +9 -7
  211. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  212. package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
  213. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  214. package/dist/utils/Component/index.js +2 -2
  215. package/dist/utils/Component/isEditable.js +4 -2
  216. package/dist/utils/Component/isEditable.test.js +15 -14
  217. package/dist/utils/Component/optionIsSelected.js +4 -2
  218. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  219. package/dist/utils/Component/setupContainerComponentsPath.js +31 -29
  220. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  221. package/dist/utils/Component/showComponent.js +4 -3
  222. package/dist/utils/Component/showComponent.test.js +29 -29
  223. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  224. package/dist/utils/Condition/index.js +2 -2
  225. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  226. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  227. package/dist/utils/Condition/meetsCondition.js +31 -20
  228. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  229. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  230. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  231. package/dist/utils/Condition/setupConditions.js +19 -14
  232. package/dist/utils/Condition/setupConditions.test.js +8 -8
  233. package/dist/utils/Container/getEditableComponents.js +6 -4
  234. package/dist/utils/Container/getEditableComponents.test.js +46 -44
  235. package/dist/utils/Container/index.js +2 -2
  236. package/dist/utils/Container/setupNesting.js +22 -16
  237. package/dist/utils/Container/setupNesting.test.js +31 -28
  238. package/dist/utils/Container/showContainer.js +8 -4
  239. package/dist/utils/Container/showContainer.test.js +31 -31
  240. package/dist/utils/Data/applyFormula.js +50 -40
  241. package/dist/utils/Data/applyFormula.test.js +26 -26
  242. package/dist/utils/Data/deleteValues.js +8 -4
  243. package/dist/utils/Data/deleteValues.test.js +11 -11
  244. package/dist/utils/Data/getAutocompleteSource.js +29 -20
  245. package/dist/utils/Data/getAutocompleteSource.test.js +87 -81
  246. package/dist/utils/Data/getDataPath.js +30 -20
  247. package/dist/utils/Data/getDataPath.test.js +20 -20
  248. package/dist/utils/Data/getOptions.js +34 -27
  249. package/dist/utils/Data/getOptions.test.js +28 -28
  250. package/dist/utils/Data/getSourceData.js +19 -6
  251. package/dist/utils/Data/getSourceData.test.js +81 -85
  252. package/dist/utils/Data/index.js +2 -2
  253. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  254. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  255. package/dist/utils/Data/refDataToOptions.js +15 -11
  256. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  257. package/dist/utils/Data/setDataItem.js +8 -7
  258. package/dist/utils/Data/setDataItem.test.js +38 -38
  259. package/dist/utils/Data/setupFormData.js +22 -14
  260. package/dist/utils/Data/setupFormData.test.js +51 -52
  261. package/dist/utils/Data/setupRefDataUrlForComponent.js +28 -21
  262. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  263. package/dist/utils/FormPage/applyConditionalProperties.js +10 -6
  264. package/dist/utils/FormPage/applyConditionalProperties.test.js +19 -16
  265. package/dist/utils/FormPage/getConditionalText.js +4 -4
  266. package/dist/utils/FormPage/getConditionalText.test.js +35 -35
  267. package/dist/utils/FormPage/getFormPage.js +17 -16
  268. package/dist/utils/FormPage/getFormPage.test.js +48 -49
  269. package/dist/utils/FormPage/getFormPages.js +13 -8
  270. package/dist/utils/FormPage/getFormPages.test.js +25 -22
  271. package/dist/utils/FormPage/getPageActions.js +17 -10
  272. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  273. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  274. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  275. package/dist/utils/FormPage/index.js +5 -3
  276. package/dist/utils/FormPage/showFormPage.js +8 -4
  277. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  278. package/dist/utils/FormPage/showFormPageCYA.js +3 -3
  279. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  280. package/dist/utils/FormPage/useComponent.js +28 -21
  281. package/dist/utils/FormPage/useComponent.test.js +80 -78
  282. package/dist/utils/Format/formatData.js +1 -1
  283. package/dist/utils/Format/formatData.test.js +19 -19
  284. package/dist/utils/Format/formatDataForComponent.js +7 -6
  285. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  286. package/dist/utils/Format/formatDataForForm.js +8 -6
  287. package/dist/utils/Format/formatDataForForm.test.js +17 -14
  288. package/dist/utils/Format/formatDataForPage.js +5 -4
  289. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  290. package/dist/utils/Format/index.js +2 -2
  291. package/dist/utils/Hub/getFormHub.js +2 -2
  292. package/dist/utils/Hub/getFormHub.test.js +32 -29
  293. package/dist/utils/Hub/index.js +2 -2
  294. package/dist/utils/Meta/constants.js +2 -2
  295. package/dist/utils/Meta/documents/getDocuments.js +4 -1
  296. package/dist/utils/Meta/documents/getDocuments.test.js +17 -25
  297. package/dist/utils/Meta/documents/index.js +2 -2
  298. package/dist/utils/Meta/documents/setDocumentsForField.js +17 -15
  299. package/dist/utils/Meta/documents/setDocumentsForField.test.js +35 -69
  300. package/dist/utils/Meta/index.js +2 -2
  301. package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
  302. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  303. package/dist/utils/Operate/deleteValueInFormData.js +3 -3
  304. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  305. package/dist/utils/Operate/getFirstOf.js +8 -8
  306. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
  308. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +53 -47
  309. package/dist/utils/Operate/getLength.js +11 -11
  310. package/dist/utils/Operate/getLength.test.js +19 -19
  311. package/dist/utils/Operate/index.js +2 -2
  312. package/dist/utils/Operate/persistValueInFormData.js +6 -6
  313. package/dist/utils/Operate/persistValueInFormData.test.js +21 -23
  314. package/dist/utils/Operate/runPageOperations.js +9 -9
  315. package/dist/utils/Operate/runPageOperations.test.js +37 -36
  316. package/dist/utils/Operate/setValueInFormData.js +5 -5
  317. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  318. package/dist/utils/Operate/shouldRun.js +8 -8
  319. package/dist/utils/Operate/shouldRun.test.js +28 -22
  320. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  321. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  322. package/dist/utils/Validate/additional/conditionallyRequired.js +5 -4
  323. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  324. package/dist/utils/Validate/additional/index.js +8 -8
  325. package/dist/utils/Validate/additional/index.test.js +22 -22
  326. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  327. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  328. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  330. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +14 -9
  331. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +42 -38
  332. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  333. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  334. package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
  335. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  336. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
  337. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  338. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  339. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  340. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  341. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  342. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  343. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  344. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  345. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  346. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  347. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  348. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  349. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +40 -36
  350. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +5 -3
  351. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +17 -15
  352. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  353. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  354. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  355. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  356. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +5 -3
  357. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +27 -29
  358. package/dist/utils/Validate/additional/utils.js +24 -11
  359. package/dist/utils/Validate/index.js +2 -2
  360. package/dist/utils/Validate/validateCollection.js +27 -21
  361. package/dist/utils/Validate/validateCollection.test.js +77 -85
  362. package/dist/utils/Validate/validateComponent.js +23 -22
  363. package/dist/utils/Validate/validateComponent.test.js +165 -188
  364. package/dist/utils/Validate/validateContainer.js +21 -16
  365. package/dist/utils/Validate/validateContainer.test.js +56 -62
  366. package/dist/utils/Validate/validateDate.js +23 -17
  367. package/dist/utils/Validate/validateDate.test.js +32 -31
  368. package/dist/utils/Validate/validateEmail.js +9 -7
  369. package/dist/utils/Validate/validateEmail.test.js +26 -26
  370. package/dist/utils/Validate/validateMultifile.js +7 -5
  371. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  372. package/dist/utils/Validate/validatePage.js +24 -20
  373. package/dist/utils/Validate/validatePage.test.js +215 -227
  374. package/dist/utils/Validate/validateRegex.js +8 -5
  375. package/dist/utils/Validate/validateRegex.test.js +17 -17
  376. package/dist/utils/Validate/validateRequired.js +7 -5
  377. package/dist/utils/Validate/validateRequired.test.js +19 -19
  378. package/dist/utils/Validate/validateTextArea.js +7 -5
  379. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  380. package/dist/utils/Validate/validateTime.js +19 -12
  381. package/dist/utils/Validate/validateTime.test.js +27 -27
  382. package/dist/utils/index.js +10 -8
  383. package/package.json +1 -1
@@ -2,75 +2,75 @@
2
2
 
3
3
  var _setupTests = require("../../setupTests");
4
4
  var _setupContainerComponentsPath = _interopRequireDefault(require("./setupContainerComponentsPath"));
5
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
- describe('utils.CheckYourAnswers.setupContainerComponentsPath', () => {
7
- it('should setup the full_path attribute for components within a container', () => {
8
- const COMPONENT_1 = {
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+ describe('utils.CheckYourAnswers.setupContainerComponentsPath', function () {
7
+ it('should setup the full_path attribute for components within a container', function () {
8
+ var COMPONENT_1 = {
9
9
  id: 'checkboxes1',
10
10
  fieldId: 'checkboxes1',
11
11
  type: 'checkboxes',
12
12
  label: 'Alpha'
13
13
  };
14
- const COMPONENT_2 = {
14
+ var COMPONENT_2 = {
15
15
  id: 'checkboxes2',
16
16
  fieldId: 'checkboxes2',
17
17
  type: 'checkboxes',
18
18
  label: 'Bravo'
19
19
  };
20
- const CONTAINER = {
20
+ var CONTAINER = {
21
21
  id: 'test-container',
22
22
  fieldId: 'test-container',
23
23
  type: 'container',
24
24
  full_path: 'test-container',
25
25
  components: [COMPONENT_1, COMPONENT_2]
26
26
  };
27
- const container = (0, _setupContainerComponentsPath.default)(CONTAINER);
27
+ var container = (0, _setupContainerComponentsPath.default)(CONTAINER);
28
28
  (0, _setupTests.expectObjectLike)(container.components[0], {
29
29
  id: COMPONENT_1.id,
30
30
  fieldId: COMPONENT_1.fieldId,
31
- full_path: `${CONTAINER.fieldId}.${COMPONENT_1.fieldId}`,
31
+ full_path: "".concat(CONTAINER.fieldId, ".").concat(COMPONENT_1.fieldId),
32
32
  type: COMPONENT_1.type,
33
33
  label: COMPONENT_1.label
34
34
  });
35
35
  (0, _setupTests.expectObjectLike)(container.components[1], {
36
36
  id: COMPONENT_2.id,
37
37
  fieldId: COMPONENT_2.fieldId,
38
- full_path: `${CONTAINER.fieldId}.${COMPONENT_2.fieldId}`,
38
+ full_path: "".concat(CONTAINER.fieldId, ".").concat(COMPONENT_2.fieldId),
39
39
  type: COMPONENT_2.type,
40
40
  label: COMPONENT_2.label
41
41
  });
42
42
  });
43
- it('should setup the full_path attribute for components when the container full_path property is missing', () => {
44
- const COMPONENT_1 = {
43
+ it('should setup the full_path attribute for components when the container full_path property is missing', function () {
44
+ var COMPONENT_1 = {
45
45
  id: 'checkboxes1',
46
46
  fieldId: 'checkboxes1',
47
47
  type: 'checkboxes',
48
48
  label: 'Alpha'
49
49
  };
50
- const COMPONENT_2 = {
50
+ var COMPONENT_2 = {
51
51
  id: 'checkboxes2',
52
52
  fieldId: 'checkboxes2',
53
53
  type: 'checkboxes',
54
54
  label: 'Bravo'
55
55
  };
56
- const CONTAINER = {
56
+ var CONTAINER = {
57
57
  id: 'test-container',
58
58
  fieldId: 'test-container',
59
59
  type: 'container',
60
60
  components: [COMPONENT_1, COMPONENT_2]
61
61
  };
62
- const container = (0, _setupContainerComponentsPath.default)(CONTAINER);
62
+ var container = (0, _setupContainerComponentsPath.default)(CONTAINER);
63
63
  (0, _setupTests.expectObjectLike)(container.components[0], {
64
64
  id: COMPONENT_1.id,
65
65
  fieldId: COMPONENT_1.fieldId,
66
- full_path: `${CONTAINER.fieldId}.${COMPONENT_1.fieldId}`,
66
+ full_path: "".concat(CONTAINER.fieldId, ".").concat(COMPONENT_1.fieldId),
67
67
  type: COMPONENT_1.type,
68
68
  label: COMPONENT_1.label
69
69
  });
70
70
  (0, _setupTests.expectObjectLike)(container.components[1], {
71
71
  id: COMPONENT_2.id,
72
72
  fieldId: COMPONENT_2.fieldId,
73
- full_path: `${CONTAINER.fieldId}.${COMPONENT_2.fieldId}`,
73
+ full_path: "".concat(CONTAINER.fieldId, ".").concat(COMPONENT_2.fieldId),
74
74
  type: COMPONENT_2.type,
75
75
  label: COMPONENT_2.label
76
76
  });
@@ -5,17 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _Condition = _interopRequireDefault(require("../Condition"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  // Local imports
10
10
 
11
- const showComponent = (component, data) => {
11
+ var showComponent = function showComponent(component, data) {
12
+ var _component$show_when;
12
13
  if (!component) {
13
14
  return false;
14
15
  }
15
16
  if (component.hidden && component.disabled) {
16
17
  return false;
17
18
  }
18
- if (component.show_when?.type === "or") {
19
+ if (((_component$show_when = component.show_when) === null || _component$show_when === void 0 ? void 0 : _component$show_when.type) === "or") {
19
20
  return _Condition.default.meetsOne(component, data);
20
21
  }
21
22
  return _Condition.default.meetsAll(component, data);
@@ -1,59 +1,59 @@
1
1
  "use strict";
2
2
 
3
3
  var _showComponent = _interopRequireDefault(require("./showComponent"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils', () => {
8
- describe('Component', () => {
9
- describe('show', () => {
10
- it('should not show when there are no options', () => {
7
+ describe('utils', function () {
8
+ describe('Component', function () {
9
+ describe('show', function () {
10
+ it('should not show when there are no options', function () {
11
11
  expect((0, _showComponent.default)(null, null)).toBeFalsy();
12
12
  });
13
- it('should not show when hidden and disabled', () => {
13
+ it('should not show when hidden and disabled', function () {
14
14
  expect((0, _showComponent.default)({
15
15
  hidden: true,
16
16
  disabled: true
17
17
  }, null)).toBeFalsy();
18
18
  });
19
- it('should show when hidden but not disabled', () => {
19
+ it('should show when hidden but not disabled', function () {
20
20
  expect((0, _showComponent.default)({
21
21
  hidden: true
22
22
  }, null)).toBeTruthy();
23
23
  });
24
- it('should show when disabled but not hidden', () => {
24
+ it('should show when disabled but not hidden', function () {
25
25
  expect((0, _showComponent.default)({
26
26
  disabled: true
27
27
  }, null)).toBeTruthy();
28
28
  });
29
- it('should show when a single show_when condition is met', () => {
30
- const COMPONENT = {
29
+ it('should show when a single show_when condition is met', function () {
30
+ var COMPONENT = {
31
31
  show_when: {
32
32
  field: 'alpha',
33
33
  op: 'eq',
34
34
  value: 'bravo'
35
35
  }
36
36
  };
37
- const DATA = {
37
+ var DATA = {
38
38
  alpha: 'bravo'
39
39
  };
40
40
  expect((0, _showComponent.default)(COMPONENT, DATA)).toBeTruthy();
41
41
  });
42
- it('should not show when a single show_when condition is not met', () => {
43
- const COMPONENT = {
42
+ it('should not show when a single show_when condition is not met', function () {
43
+ var COMPONENT = {
44
44
  show_when: {
45
45
  field: 'alpha',
46
46
  op: 'eq',
47
47
  value: 'bravo'
48
48
  }
49
49
  };
50
- const DATA = {
50
+ var DATA = {
51
51
  alpha: 'charlie'
52
52
  };
53
53
  expect((0, _showComponent.default)(COMPONENT, DATA)).toBeFalsy();
54
54
  });
55
- it('should show when multiple show_when conditions are met', () => {
56
- const COMPONENT = {
55
+ it('should show when multiple show_when conditions are met', function () {
56
+ var COMPONENT = {
57
57
  show_when: [{
58
58
  field: 'alpha',
59
59
  op: 'eq',
@@ -64,14 +64,14 @@ describe('utils', () => {
64
64
  value: 'delta'
65
65
  }]
66
66
  };
67
- const DATA = {
67
+ var DATA = {
68
68
  alpha: 'bravo',
69
69
  charlie: 'delta'
70
70
  };
71
71
  expect((0, _showComponent.default)(COMPONENT, DATA)).toBeTruthy();
72
72
  });
73
- it('should not show when one of multiple show_when conditions is not met', () => {
74
- const COMPONENT = {
73
+ it('should not show when one of multiple show_when conditions is not met', function () {
74
+ var COMPONENT = {
75
75
  show_when: [{
76
76
  field: 'alpha',
77
77
  op: 'eq',
@@ -82,14 +82,14 @@ describe('utils', () => {
82
82
  value: 'delta'
83
83
  }]
84
84
  };
85
- const DATA = {
85
+ var DATA = {
86
86
  alpha: 'bravo',
87
87
  charlie: 'echo'
88
88
  };
89
89
  expect((0, _showComponent.default)(COMPONENT, DATA)).toBeFalsy();
90
90
  });
91
- it('SHOULD be shown when the component has multiple show_when conditions, with type "or" provided and ALL are matched', () => {
92
- const COMPONENT = {
91
+ it('SHOULD be shown when the component has multiple show_when conditions, with type "or" provided and ALL are matched', function () {
92
+ var COMPONENT = {
93
93
  show_when: {
94
94
  "type": "or",
95
95
  "conditions": [{
@@ -103,14 +103,14 @@ describe('utils', () => {
103
103
  }]
104
104
  }
105
105
  };
106
- const DATA = {
106
+ var DATA = {
107
107
  alpha: 'Alpha',
108
108
  bravo: 'Bravo'
109
109
  };
110
110
  expect((0, _showComponent.default)(COMPONENT, DATA)).toBeTruthy();
111
111
  });
112
- it('SHOULD be shown when the component has multiple show_when conditions, with type "or" provided and at least ONE is matched', () => {
113
- const COMPONENT = {
112
+ it('SHOULD be shown when the component has multiple show_when conditions, with type "or" provided and at least ONE is matched', function () {
113
+ var COMPONENT = {
114
114
  show_when: {
115
115
  "type": "or",
116
116
  "conditions": [{
@@ -124,14 +124,14 @@ describe('utils', () => {
124
124
  }]
125
125
  }
126
126
  };
127
- const DATA = {
127
+ var DATA = {
128
128
  alpha: 'Alpha',
129
129
  bravo: 'Bravo'
130
130
  };
131
131
  expect((0, _showComponent.default)(COMPONENT, DATA)).toBeTruthy();
132
132
  });
133
- it('should NOT be shown when the component has multiple show_when conditions, with type "or" provided and NONE are matched', () => {
134
- const COMPONENT = {
133
+ it('should NOT be shown when the component has multiple show_when conditions, with type "or" provided and NONE are matched', function () {
134
+ var COMPONENT = {
135
135
  show_when: {
136
136
  "type": "or",
137
137
  "conditions": [{
@@ -145,7 +145,7 @@ describe('utils', () => {
145
145
  }]
146
146
  }
147
147
  };
148
- const DATA = {
148
+ var DATA = {
149
149
  alpha: 'Alpha',
150
150
  bravo: 'Bravo'
151
151
  };
@@ -7,11 +7,11 @@ exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _cleanAttributes = _interopRequireDefault(require("./cleanAttributes"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } // Global imports
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } // Global imports
12
12
  // Local imports
13
- const wrapInFormGroup = (config, children) => {
14
- const attrs = (0, _cleanAttributes.default)(config, ['fieldId', 'displayMenu', 'showCharacterCount', 'readonly']);
13
+ var wrapInFormGroup = function wrapInFormGroup(config, children) {
14
+ var attrs = (0, _cleanAttributes.default)(config, ['fieldId', 'displayMenu', 'showCharacterCount', 'readonly']);
15
15
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.FormGroup, _extends({}, attrs, {
16
16
  onChange: null
17
17
  }), children);
@@ -7,8 +7,8 @@ exports.default = void 0;
7
7
  var _meetsAllConditions = _interopRequireDefault(require("./meetsAllConditions"));
8
8
  var _meetsCondition = _interopRequireDefault(require("./meetsCondition"));
9
9
  var _meetsOneCondition = _interopRequireDefault(require("./meetsOneCondition"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- const Condition = {
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ var Condition = {
12
12
  meetsOne: _meetsOneCondition.default,
13
13
  meetsAll: _meetsAllConditions.default,
14
14
  met: _meetsCondition.default
@@ -8,20 +8,20 @@ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _Data = _interopRequireDefault(require("../Data"));
9
9
  var _meetsCondition = _interopRequireDefault(require("./meetsCondition"));
10
10
  var _setupConditions = _interopRequireDefault(require("./setupConditions"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  // Global imports
13
13
 
14
14
  // Local imports
15
15
 
16
- const testConditions = function (conditions, data) {
17
- let type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'and';
18
- const arr = Array.isArray(conditions) ? conditions : [conditions];
19
- const testCallback = condition => {
16
+ var testConditions = function testConditions(conditions, data) {
17
+ var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'and';
18
+ var arr = Array.isArray(conditions) ? conditions : [conditions];
19
+ var testCallback = function testCallback(condition) {
20
20
  if (Array.isArray(condition.conditions)) {
21
21
  return testConditions(condition.conditions, data, condition.type);
22
22
  }
23
- const field = condition.field.startsWith('interpolate::') ? _copReactComponents.Utils.interpolateString(condition.field, data).replace('interpolate::', '') : condition.field;
24
- const sourceDataValue = _Data.default.getSource(data, field);
23
+ var field = condition.field.startsWith('interpolate::') ? _copReactComponents.Utils.interpolateString(condition.field, data).replace('interpolate::', '') : condition.field;
24
+ var sourceDataValue = _Data.default.getSource(data, field);
25
25
  return (0, _meetsCondition.default)(condition, sourceDataValue, data);
26
26
  };
27
27
  return type === 'and' ? arr.every(testCallback) : arr.some(testCallback);
@@ -33,8 +33,8 @@ const testConditions = function (conditions, data) {
33
33
  * @param {object} data The top-level form data.
34
34
  * @returns Boolean true if all conditions are met; false otherwise.
35
35
  */
36
- const meetsAllConditions = (options, data) => {
37
- const conditions = (0, _setupConditions.default)(options);
36
+ var meetsAllConditions = function meetsAllConditions(options, data) {
37
+ var conditions = (0, _setupConditions.default)(options);
38
38
  if (conditions) {
39
39
  return testConditions(conditions, data);
40
40
  }
@@ -1,41 +1,41 @@
1
1
  "use strict";
2
2
 
3
3
  var _meetsAllConditions = _interopRequireDefault(require("./meetsAllConditions"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.Condition.meetsAllConditions', () => {
8
- const DATA = {
7
+ describe('utils.Condition.meetsAllConditions', function () {
8
+ var DATA = {
9
9
  alpha: 'bravo',
10
10
  charlie: 'delta'
11
11
  };
12
- it('should evaluate to true when conditions are null', () => {
12
+ it('should evaluate to true when conditions are null', function () {
13
13
  expect((0, _meetsAllConditions.default)(null, DATA)).toBeTruthy();
14
14
  });
15
- it('should evaluate to true when conditions are undefined', () => {
15
+ it('should evaluate to true when conditions are undefined', function () {
16
16
  expect((0, _meetsAllConditions.default)(undefined, DATA)).toBeTruthy();
17
17
  });
18
- it('should evaluate to true when conditions is an empty array', () => {
18
+ it('should evaluate to true when conditions is an empty array', function () {
19
19
  expect((0, _meetsAllConditions.default)([], DATA)).toBeTruthy();
20
20
  });
21
- it('should evaluate to true when a single condition is met', () => {
22
- const CONDITION = {
21
+ it('should evaluate to true when a single condition is met', function () {
22
+ var CONDITION = {
23
23
  field: 'alpha',
24
24
  op: 'eq',
25
25
  value: 'bravo'
26
26
  };
27
27
  expect((0, _meetsAllConditions.default)(CONDITION, DATA)).toBeTruthy();
28
28
  });
29
- it('should evaluate to false when a single condition is not met', () => {
30
- const CONDITION = {
29
+ it('should evaluate to false when a single condition is not met', function () {
30
+ var CONDITION = {
31
31
  field: 'alpha',
32
32
  op: 'ne',
33
33
  value: 'bravo'
34
34
  };
35
35
  expect((0, _meetsAllConditions.default)(CONDITION, DATA)).toBeFalsy();
36
36
  });
37
- it('should evaluate to true when all conditions are met', () => {
38
- const CONDITIONS = [{
37
+ it('should evaluate to true when all conditions are met', function () {
38
+ var CONDITIONS = [{
39
39
  field: 'alpha',
40
40
  op: 'eq',
41
41
  value: 'bravo'
@@ -46,8 +46,8 @@ describe('utils.Condition.meetsAllConditions', () => {
46
46
  }];
47
47
  expect((0, _meetsAllConditions.default)(CONDITIONS, DATA)).toBeTruthy();
48
48
  });
49
- it('should evaluate to false when one of the conditions is not met', () => {
50
- const CONDITIONS = [{
49
+ it('should evaluate to false when one of the conditions is not met', function () {
50
+ var CONDITIONS = [{
51
51
  field: 'alpha',
52
52
  op: 'eq',
53
53
  value: 'bravo'
@@ -58,18 +58,18 @@ describe('utils.Condition.meetsAllConditions', () => {
58
58
  }];
59
59
  expect((0, _meetsAllConditions.default)(CONDITIONS, DATA)).toBeFalsy();
60
60
  });
61
- it('should handle nested conditions', () => {
62
- const VALID_DATA = {
61
+ it('should handle nested conditions', function () {
62
+ var VALID_DATA = {
63
63
  shouldBeAlpha: 'alpha',
64
64
  shouldBeBravo: 'bravo',
65
65
  canBeCharlieOrDelta: 'charlie'
66
66
  };
67
- const INVALID_DATA = {
67
+ var INVALID_DATA = {
68
68
  shouldBeAlpha: 'alpha',
69
69
  shouldBeBravo: 'bravo',
70
70
  canBeCharlieOrDelta: 'echo'
71
71
  };
72
- const CONDITIONS = [{
72
+ var CONDITIONS = [{
73
73
  type: 'or',
74
74
  conditions: [{
75
75
  field: 'canBeCharlieOrDelta',
@@ -92,12 +92,12 @@ describe('utils.Condition.meetsAllConditions', () => {
92
92
  expect((0, _meetsAllConditions.default)(CONDITIONS, VALID_DATA)).toBeTruthy();
93
93
  expect((0, _meetsAllConditions.default)(CONDITIONS, INVALID_DATA)).toBeFalsy();
94
94
  });
95
- it('should evaluate conditions correctly using interpolated fields', () => {
96
- const NEW_DATA = {
95
+ it('should evaluate conditions correctly using interpolated fields', function () {
96
+ var NEW_DATA = {
97
97
  role: 'admin',
98
98
  'admin_status': 'active'
99
99
  };
100
- const CONDITION = {
100
+ var CONDITION = {
101
101
  // eslint-disable-next-line no-template-curly-in-string
102
102
  field: 'interpolate::${role}_status',
103
103
  op: 'eq',
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _Data = _interopRequireDefault(require("../Data"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- // Local imports
10
-
11
- const getComparisonValue = (condition, data) => {
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ 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); } // Local imports
10
+ var getComparisonValue = function getComparisonValue(condition, data) {
11
+ var _condition$value;
12
12
  if (['in', 'nin', 'includesAllOf', '!includesAllOf'].includes(condition.op)) {
13
13
  return condition.values;
14
14
  }
15
- if (typeof condition.value === 'string' && condition.value?.startsWith('field::')) {
16
- const comparisonField = condition.value.replace('field::', '');
15
+ if (typeof condition.value === 'string' && (_condition$value = condition.value) !== null && _condition$value !== void 0 && _condition$value.startsWith('field::')) {
16
+ var comparisonField = condition.value.replace('field::', '');
17
17
  return _Data.default.getSource(data, comparisonField);
18
18
  }
19
19
  return condition.value;
@@ -31,9 +31,9 @@ const getComparisonValue = (condition, data) => {
31
31
  *
32
32
  * @returns A boolean indicating whether the value meets the condition.
33
33
  */
34
- const meetsCondition = (condition, value, data) => {
35
- if (condition && typeof condition === 'object') {
36
- const compare = getComparisonValue(condition, data);
34
+ var meetsCondition = function meetsCondition(condition, value, data) {
35
+ if (condition && _typeof(condition) === 'object') {
36
+ var compare = getComparisonValue(condition, data);
37
37
  switch (condition.op) {
38
38
  case '=':
39
39
  case 'eq':
@@ -68,8 +68,8 @@ const meetsCondition = (condition, value, data) => {
68
68
  if (!value || !compare) {
69
69
  return false;
70
70
  }
71
- const valFloat = parseFloat(value.replace(',', ''));
72
- const compareFloat = parseFloat(compare.replace(',', ''));
71
+ var valFloat = parseFloat(value.replace(',', ''));
72
+ var compareFloat = parseFloat(compare.replace(',', ''));
73
73
  return valFloat < compareFloat;
74
74
  }
75
75
  case '>':
@@ -77,20 +77,23 @@ const meetsCondition = (condition, value, data) => {
77
77
  if (!value || !compare) {
78
78
  return false;
79
79
  }
80
- const valFloat = parseFloat(value.replace(/,/g, ''));
81
- const compareFloat = parseFloat(compare.replace(/,/g, ''));
82
- return valFloat > compareFloat;
80
+ var _valFloat = parseFloat(value.replace(/,/g, ''));
81
+ var _compareFloat = parseFloat(compare.replace(/,/g, ''));
82
+ return _valFloat > _compareFloat;
83
83
  }
84
84
  case 'contains':
85
85
  {
86
- return value?.toString().toLowerCase().includes(compare);
86
+ return value === null || value === void 0 ? void 0 : value.toString().toLowerCase().includes(compare);
87
87
  // If no value is provided, the field cannot contain it, so it must fail the condition.
88
88
  }
89
+
89
90
  case '!contains':
90
91
  {
91
- return !value?.toString().toLowerCase().includes(compare) ?? true;
92
+ var _value$toString$toLow;
93
+ return (_value$toString$toLow = !(value !== null && value !== void 0 && value.toString().toLowerCase().includes(compare))) !== null && _value$toString$toLow !== void 0 ? _value$toString$toLow : true;
92
94
  // If no value is provided, the field cannot contain it, so it must meet the condition.
93
95
  }
96
+
94
97
  case 'includes':
95
98
  {
96
99
  if (Array.isArray(value)) {
@@ -108,14 +111,18 @@ const meetsCondition = (condition, value, data) => {
108
111
  case 'includesObjectProp':
109
112
  {
110
113
  if (Array.isArray(value)) {
111
- return value.some(v => v[condition.key] === compare);
114
+ return value.some(function (v) {
115
+ return v[condition.key] === compare;
116
+ });
112
117
  }
113
118
  return false;
114
119
  }
115
120
  case '!includesObjectProp':
116
121
  {
117
122
  if (Array.isArray(value)) {
118
- return !value.some(v => v[condition.key] === compare);
123
+ return !value.some(function (v) {
124
+ return v[condition.key] === compare;
125
+ });
119
126
  }
120
127
  return true;
121
128
  }
@@ -125,7 +132,9 @@ const meetsCondition = (condition, value, data) => {
125
132
  // This will break if compare is not an array, meaning
126
133
  // the form JSON has been written incorrectly. Seemed silly
127
134
  // to try and hide the configuration error with type checking.
128
- return compare.every(entry => value.includes(entry));
135
+ return compare.every(function (entry) {
136
+ return value.includes(entry);
137
+ });
129
138
  }
130
139
  return false;
131
140
  }
@@ -135,7 +144,9 @@ const meetsCondition = (condition, value, data) => {
135
144
  // This will break if compare is not an array, meaning
136
145
  // the form JSON has been written incorrectly. Seemed silly
137
146
  // to try and hide the configuration error with type checking.
138
- return !compare.every(entry => value.includes(entry));
147
+ return !compare.every(function (entry) {
148
+ return value.includes(entry);
149
+ });
139
150
  }
140
151
  return true;
141
152
  }