@ukhomeoffice/cop-react-form-renderer 6.0.6-peter → 6.7.0-alpha

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 (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +2 -2
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  6. package/dist/components/CollectionPage/CollectionPage.js +75 -59
  7. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  8. package/dist/components/CollectionSummary/BannerStrip.js +15 -14
  9. package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +98 -59
  11. package/dist/components/CollectionSummary/CollectionSummary.js +144 -135
  12. package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +167 -197
  14. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  15. package/dist/components/CollectionSummary/Confirmation.scss +1 -1
  16. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  17. package/dist/components/CollectionSummary/RenderListView.js +54 -56
  18. package/dist/components/CollectionSummary/RenderListView.scss +10 -1
  19. package/dist/components/CollectionSummary/RenderListView.test.js +89 -78
  20. package/dist/components/CollectionSummary/SummaryCard.js +135 -145
  21. package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
  22. package/dist/components/CollectionSummary/SummaryCard.test.js +943 -932
  23. package/dist/components/CollectionSummary/SummaryCardDetails.js +120 -62
  24. package/dist/components/CollectionSummary/SummaryCardDetails.scss +43 -6
  25. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +261 -120
  26. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +38 -33
  27. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -73
  28. package/dist/components/FormComponent/Collection.js +81 -108
  29. package/dist/components/FormComponent/Collection.test.js +909 -943
  30. package/dist/components/FormComponent/Container.js +40 -38
  31. package/dist/components/FormComponent/Container.test.js +314 -345
  32. package/dist/components/FormComponent/FormComponent.js +80 -71
  33. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  34. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  36. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  38. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  40. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  41. package/dist/components/FormComponent/helpers/index.js +4 -4
  42. package/dist/components/FormPage/FormPage.js +65 -80
  43. package/dist/components/FormPage/FormPage.scss +1 -1
  44. package/dist/components/FormPage/FormPage.test.js +127 -163
  45. package/dist/components/FormRenderer/FormRenderer.js +150 -183
  46. package/dist/components/FormRenderer/FormRenderer.scss +1 -1
  47. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  48. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  49. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  50. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  51. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  52. package/dist/components/FormRenderer/handlers/index.js +1 -1
  53. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  54. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  56. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  58. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  60. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  61. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  62. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  63. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  64. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  65. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  66. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  67. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  68. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  70. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  72. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  74. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  75. package/dist/components/FormRenderer/helpers/index.js +2 -4
  76. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  77. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  78. package/dist/components/FormRenderer/onPageAction.js +50 -48
  79. package/dist/components/FormRenderer/onPageAction.test.js +241 -217
  80. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  81. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  82. package/dist/components/PageActions/ActionButton.js +12 -15
  83. package/dist/components/PageActions/ActionButton.test.js +56 -78
  84. package/dist/components/PageActions/PageActions.js +10 -10
  85. package/dist/components/PageActions/PageActions.test.js +86 -115
  86. package/dist/components/SummaryList/GroupAction.js +9 -17
  87. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  88. package/dist/components/SummaryList/RowAction.js +11 -16
  89. package/dist/components/SummaryList/RowAction.test.js +37 -33
  90. package/dist/components/SummaryList/SummaryList.js +21 -26
  91. package/dist/components/SummaryList/SummaryList.scss +2 -2
  92. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  94. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  95. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  100. package/dist/components/SummaryList/helpers/index.js +1 -1
  101. package/dist/components/TaskList/Task.js +19 -29
  102. package/dist/components/TaskList/Task.test.js +83 -76
  103. package/dist/components/TaskList/TaskList.js +45 -71
  104. package/dist/components/TaskList/TaskList.scss +1 -1
  105. package/dist/components/TaskList/TaskList.test.js +113 -111
  106. package/dist/components/TaskList/TaskState.js +7 -5
  107. package/dist/components/TaskList/TaskState.test.js +52 -45
  108. package/dist/components/index.js +7 -7
  109. package/dist/context/HooksContext/HooksContext.js +57 -80
  110. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  111. package/dist/context/HooksContext/index.js +3 -4
  112. package/dist/context/ValidationContext/ValidationContext.js +65 -72
  113. package/dist/context/ValidationContext/ValidationContext.test.js +58 -61
  114. package/dist/context/ValidationContext/index.js +3 -4
  115. package/dist/context/index.js +2 -2
  116. package/dist/hooks/index.js +9 -10
  117. package/dist/hooks/useAxios.js +14 -40
  118. package/dist/hooks/useGetRequest.js +61 -97
  119. package/dist/hooks/useHooks.js +1 -3
  120. package/dist/hooks/useRefData.js +27 -40
  121. package/dist/hooks/useValidation.js +1 -3
  122. package/dist/index.js +13 -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 +44 -38
  130. package/dist/models/TaskStates.js +29 -28
  131. package/dist/models/index.js +9 -9
  132. package/dist/setupTests.js +30 -31
  133. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  134. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  139. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  140. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  151. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  152. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  153. package/dist/utils/CheckYourAnswers/index.js +1 -1
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -5
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +29 -24
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -4
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +7 -27
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +29 -19
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +66 -22
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  166. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  167. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  168. package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
  169. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +153 -0
  170. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -23
  171. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  172. package/dist/utils/CollectionPage/index.js +3 -1
  173. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  174. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -17
  178. package/dist/utils/CollectionPage/setCollectionPageData.test.js +38 -20
  179. package/dist/utils/Component/addShowWhen.js +4 -8
  180. package/dist/utils/Component/addShowWhen.test.js +37 -37
  181. package/dist/utils/Component/applyToComponentTree.js +18 -18
  182. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  183. package/dist/utils/Component/cleanAttributes.js +10 -13
  184. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  185. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  186. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  187. package/dist/utils/Component/getComponent.js +88 -94
  188. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  190. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  191. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  192. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  195. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  196. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  197. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  198. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  199. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  200. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  201. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  202. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  203. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  204. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  205. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  206. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  207. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  208. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  209. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  210. package/dist/utils/Component/getDefaultValue.js +6 -8
  211. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  212. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  213. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  214. package/dist/utils/Component/index.js +1 -1
  215. package/dist/utils/Component/isEditable.js +2 -4
  216. package/dist/utils/Component/isEditable.test.js +14 -15
  217. package/dist/utils/Component/optionIsSelected.js +1 -1
  218. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  219. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  220. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  221. package/dist/utils/Component/showComponent.js +1 -1
  222. package/dist/utils/Component/showComponent.test.js +28 -28
  223. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  224. package/dist/utils/Condition/index.js +1 -1
  225. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  226. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  227. package/dist/utils/Condition/meetsCondition.js +28 -19
  228. package/dist/utils/Condition/meetsCondition.test.js +476 -376
  229. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  230. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  231. package/dist/utils/Condition/setupConditions.js +13 -18
  232. package/dist/utils/Condition/setupConditions.test.js +7 -7
  233. package/dist/utils/Container/getEditableComponents.js +3 -5
  234. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  235. package/dist/utils/Container/index.js +1 -1
  236. package/dist/utils/Container/setupNesting.js +16 -20
  237. package/dist/utils/Container/setupNesting.test.js +27 -30
  238. package/dist/utils/Container/showContainer.js +3 -7
  239. package/dist/utils/Container/showContainer.test.js +30 -30
  240. package/dist/utils/Data/applyFormula.js +38 -48
  241. package/dist/utils/Data/applyFormula.test.js +20 -20
  242. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  243. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  244. package/dist/utils/Data/getDataPath.js +18 -28
  245. package/dist/utils/Data/getDataPath.test.js +12 -12
  246. package/dist/utils/Data/getOptions.js +29 -25
  247. package/dist/utils/Data/getOptions.test.js +93 -20
  248. package/dist/utils/Data/getSourceData.js +6 -19
  249. package/dist/utils/Data/getSourceData.test.js +84 -80
  250. package/dist/utils/Data/index.js +1 -1
  251. package/dist/utils/Data/nestInRefdataOptions.js +42 -0
  252. package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
  253. package/dist/utils/Data/refDataToOptions.js +10 -13
  254. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  255. package/dist/utils/Data/setDataItem.js +7 -8
  256. package/dist/utils/Data/setDataItem.test.js +37 -37
  257. package/dist/utils/Data/setupFormData.js +13 -21
  258. package/dist/utils/Data/setupFormData.test.js +51 -50
  259. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  260. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  261. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  262. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  263. package/dist/utils/FormPage/getConditionalText.js +3 -3
  264. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  265. package/dist/utils/FormPage/getFormPage.js +15 -16
  266. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  267. package/dist/utils/FormPage/getFormPages.js +7 -12
  268. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  269. package/dist/utils/FormPage/getPageActions.js +9 -15
  270. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  271. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  272. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  273. package/dist/utils/FormPage/index.js +2 -4
  274. package/dist/utils/FormPage/showFormPage.js +3 -7
  275. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  276. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  277. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  278. package/dist/utils/FormPage/useComponent.js +21 -28
  279. package/dist/utils/FormPage/useComponent.test.js +77 -79
  280. package/dist/utils/Format/formatData.js +1 -1
  281. package/dist/utils/Format/formatData.test.js +18 -18
  282. package/dist/utils/Format/formatDataForComponent.js +5 -6
  283. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  284. package/dist/utils/Format/formatDataForForm.js +6 -8
  285. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  286. package/dist/utils/Format/formatDataForPage.js +4 -5
  287. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  288. package/dist/utils/Format/index.js +1 -1
  289. package/dist/utils/Hub/getFormHub.js +1 -1
  290. package/dist/utils/Hub/getFormHub.test.js +28 -31
  291. package/dist/utils/Hub/index.js +1 -1
  292. package/dist/utils/Meta/constants.js +2 -2
  293. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  294. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  295. package/dist/utils/Meta/documents/index.js +1 -1
  296. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  297. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  298. package/dist/utils/Meta/index.js +1 -1
  299. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  301. package/dist/utils/Operate/getFirstOf.js +5 -5
  302. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  303. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  304. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  305. package/dist/utils/Operate/index.js +1 -1
  306. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  307. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  308. package/dist/utils/Operate/runPageOperations.js +7 -7
  309. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  310. package/dist/utils/Operate/setValueInFormData.js +2 -2
  311. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  312. package/dist/utils/Operate/shouldRun.js +6 -6
  313. package/dist/utils/Operate/shouldRun.test.js +21 -27
  314. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  315. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  316. package/dist/utils/Validate/additional/index.js +6 -6
  317. package/dist/utils/Validate/additional/index.test.js +12 -12
  318. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  319. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  320. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  321. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  322. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  323. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  324. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  325. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  326. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  327. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  328. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  330. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  331. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  332. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  333. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  334. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  336. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  337. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  338. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  339. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  340. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  341. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  342. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  343. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  344. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  345. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  346. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  347. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  348. package/dist/utils/Validate/additional/utils.js +9 -22
  349. package/dist/utils/Validate/index.js +1 -1
  350. package/dist/utils/Validate/validateCollection.js +19 -25
  351. package/dist/utils/Validate/validateCollection.test.js +74 -66
  352. package/dist/utils/Validate/validateComponent.js +17 -15
  353. package/dist/utils/Validate/validateComponent.test.js +167 -146
  354. package/dist/utils/Validate/validateContainer.js +16 -19
  355. package/dist/utils/Validate/validateContainer.test.js +84 -45
  356. package/dist/utils/Validate/validateDate.js +15 -21
  357. package/dist/utils/Validate/validateDate.test.js +31 -32
  358. package/dist/utils/Validate/validateEmail.js +6 -8
  359. package/dist/utils/Validate/validateEmail.test.js +25 -25
  360. package/dist/utils/Validate/validateMultifile.js +5 -7
  361. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  362. package/dist/utils/Validate/validatePage.js +24 -18
  363. package/dist/utils/Validate/validatePage.test.js +263 -182
  364. package/dist/utils/Validate/validateRegex.js +3 -5
  365. package/dist/utils/Validate/validateRegex.test.js +14 -14
  366. package/dist/utils/Validate/validateRequired.js +4 -6
  367. package/dist/utils/Validate/validateRequired.test.js +18 -18
  368. package/dist/utils/Validate/validateTextArea.js +4 -6
  369. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  370. package/dist/utils/Validate/validateTime.js +11 -18
  371. package/dist/utils/Validate/validateTime.test.js +16 -16
  372. package/dist/utils/index.js +7 -9
  373. package/package.json +5 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -15,20 +15,18 @@ exports.default = void 0;
15
15
  * @param {array} customErrors The array of custom errors for the component.
16
16
  * @returns An error if the value doesn't match the regex pattern.
17
17
  */
18
- var validateRegex = function validateRegex(value, label, pattern, customErrors) {
18
+ const validateRegex = (value, label, pattern, customErrors) => {
19
19
  if (!value) {
20
20
  return undefined;
21
21
  }
22
22
  if (typeof value === 'string') {
23
- var regex = new RegExp(pattern);
23
+ const regex = new RegExp(pattern);
24
24
  if (regex.test(value)) {
25
25
  return undefined;
26
26
  }
27
27
  if (Array.isArray(customErrors)) {
28
28
  var _result$;
29
- var result = customErrors.filter(function (error) {
30
- return error.type === 'pattern';
31
- });
29
+ const result = customErrors.filter(error => error.type === 'pattern');
32
30
  if (result !== null && result !== void 0 && (_result$ = result[0]) !== null && _result$ !== void 0 && _result$.message) {
33
31
  return result[0].message;
34
32
  }
@@ -4,37 +4,37 @@ var _validateRegex = _interopRequireDefault(require("./validateRegex"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils', function () {
8
- describe('Validate', function () {
9
- describe('regex', function () {
10
- var GOOD_VALUE = 'hello';
11
- var BAD_VALUE = 'h3llo';
12
- var LABEL = 'Component';
13
- var PATTERN = '^[a-z]*$';
14
- var CUSTOM_ERRORS = [{
7
+ describe('utils', () => {
8
+ describe('Validate', () => {
9
+ describe('regex', () => {
10
+ const GOOD_VALUE = 'hello';
11
+ const BAD_VALUE = 'h3llo';
12
+ const LABEL = 'Component';
13
+ const PATTERN = '^[a-z]*$';
14
+ const CUSTOM_ERRORS = [{
15
15
  "type": "pattern",
16
16
  "message": "Regex validation failed for ".concat(LABEL)
17
17
  }];
18
- var DEFAULT_ERROR = [{
18
+ const DEFAULT_ERROR = [{
19
19
  "type": "pattern"
20
20
  }];
21
21
 
22
22
  // Valid values
23
- it('should return no error when the value matches the regex pattern', function () {
23
+ it('should return no error when the value matches the regex pattern', () => {
24
24
  expect((0, _validateRegex.default)(GOOD_VALUE, LABEL, PATTERN, CUSTOM_ERRORS)).toBeUndefined();
25
25
  });
26
- it('should return no error when the value is an empty string', function () {
26
+ it('should return no error when the value is an empty string', () => {
27
27
  expect((0, _validateRegex.default)('', LABEL, PATTERN, CUSTOM_ERRORS)).toBeUndefined();
28
28
  });
29
29
 
30
30
  // Invalid values
31
- it('should return a custom error when the value does not match the regex pattern and one is specified', function () {
31
+ it('should return a custom error when the value does not match the regex pattern and one is specified', () => {
32
32
  expect((0, _validateRegex.default)(BAD_VALUE, LABEL, PATTERN, CUSTOM_ERRORS)).toEqual(CUSTOM_ERRORS[0].message);
33
33
  });
34
- it('should return an error using label when the value does not match the regex pattern and a custom error is not specified', function () {
34
+ it('should return an error using label when the value does not match the regex pattern and a custom error is not specified', () => {
35
35
  expect((0, _validateRegex.default)(BAD_VALUE, LABEL, PATTERN, DEFAULT_ERROR)).toEqual("".concat(LABEL, " failed regex validation"));
36
36
  });
37
- it('should return a default error when the value does not match the regex pattern and both a custom error and label are not specified', function () {
37
+ it('should return a default error when the value does not match the regex pattern and both a custom error and label are not specified', () => {
38
38
  expect((0, _validateRegex.default)(BAD_VALUE, '', PATTERN, DEFAULT_ERROR)).toEqual('Component failed regex validation');
39
39
  });
40
40
  });
@@ -11,8 +11,8 @@ exports.default = void 0;
11
11
  * @param {string} label The label to use in any error message.
12
12
  * @returns An error if the value is nullish.
13
13
  */
14
- var validateRequired = function validateRequired(value, label, customErrors) {
15
- var hasValue = false;
14
+ const validateRequired = (value, label, customErrors) => {
15
+ let hasValue = false;
16
16
  if (!!value || value === false || value === 0) {
17
17
  hasValue = true;
18
18
  if (typeof value === 'string') {
@@ -23,14 +23,12 @@ var validateRequired = function validateRequired(value, label, customErrors) {
23
23
  }
24
24
  if (!hasValue) {
25
25
  if (Array.isArray(customErrors)) {
26
- var result = customErrors.filter(function (error) {
27
- return error.type === 'required';
28
- });
26
+ const result = customErrors.filter(error => error.type === 'required');
29
27
  if (result && result.length > 0 && result[0].message) {
30
28
  return result[0].message;
31
29
  }
32
30
  }
33
- var name = label || 'Field';
31
+ const name = label || 'Field';
34
32
  return "".concat(name, " is required");
35
33
  }
36
34
  return undefined;
@@ -4,55 +4,55 @@ var _validateRequired = _interopRequireDefault(require("./validateRequired"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils', function () {
8
- describe('Validate', function () {
9
- describe('required', function () {
10
- var LABEL = 'Component';
11
- var ERROR = "".concat(LABEL, " is required");
7
+ describe('utils', () => {
8
+ describe('Validate', () => {
9
+ describe('required', () => {
10
+ const LABEL = 'Component';
11
+ const ERROR = "".concat(LABEL, " is required");
12
12
 
13
13
  // Valid values
14
- it('should return no error when the value is set', function () {
14
+ it('should return no error when the value is set', () => {
15
15
  expect((0, _validateRequired.default)('value', LABEL)).toBeUndefined();
16
16
  });
17
- it('should return no error when the value is an empty object', function () {
17
+ it('should return no error when the value is an empty object', () => {
18
18
  expect((0, _validateRequired.default)({}, LABEL)).toBeUndefined();
19
19
  });
20
- it('should return no error when the value is a non-empty array', function () {
20
+ it('should return no error when the value is a non-empty array', () => {
21
21
  expect((0, _validateRequired.default)(['bob'], LABEL)).toBeUndefined();
22
22
  });
23
- it('should return no error when the value is a boolean false', function () {
23
+ it('should return no error when the value is a boolean false', () => {
24
24
  expect((0, _validateRequired.default)(false, LABEL)).toBeUndefined();
25
25
  });
26
- it('should return no error when the value is the number zero', function () {
26
+ it('should return no error when the value is the number zero', () => {
27
27
  expect((0, _validateRequired.default)(0, LABEL)).toBeUndefined();
28
28
  });
29
29
 
30
30
  // Invalid values
31
- it('should return an error when the value is undefined', function () {
31
+ it('should return an error when the value is undefined', () => {
32
32
  expect((0, _validateRequired.default)(undefined, LABEL)).toEqual(ERROR);
33
33
  });
34
- it('should return an error when the value is null', function () {
34
+ it('should return an error when the value is null', () => {
35
35
  expect((0, _validateRequired.default)(null, LABEL)).toEqual(ERROR);
36
36
  });
37
- it('should return an error when the value is an empty string', function () {
37
+ it('should return an error when the value is an empty string', () => {
38
38
  expect((0, _validateRequired.default)('', LABEL)).toEqual(ERROR);
39
39
  });
40
- it('should return an error when the value is a string containing just spaces', function () {
40
+ it('should return an error when the value is a string containing just spaces', () => {
41
41
  expect((0, _validateRequired.default)(' ', LABEL)).toEqual(ERROR);
42
42
  });
43
- it('should return an error when the value is an empty array', function () {
43
+ it('should return an error when the value is an empty array', () => {
44
44
  expect((0, _validateRequired.default)([], LABEL)).toEqual(ERROR);
45
45
  });
46
- it('should use a default label when none is specified', function () {
46
+ it('should use a default label when none is specified', () => {
47
47
  expect((0, _validateRequired.default)(undefined, undefined)).toEqual('Field is required');
48
48
  });
49
- it('should use a custom error when one is provided', function () {
49
+ it('should use a custom error when one is provided', () => {
50
50
  expect((0, _validateRequired.default)(undefined, undefined, [{
51
51
  type: 'required',
52
52
  message: 'custom error message'
53
53
  }])).toEqual('custom error message');
54
54
  });
55
- it('should ignore a custom error when not of type required', function () {
55
+ it('should ignore a custom error when not of type required', () => {
56
56
  expect((0, _validateRequired.default)(undefined, undefined, [{
57
57
  type: 'genericError',
58
58
  message: 'generic error message'
@@ -14,17 +14,15 @@ exports.default = void 0;
14
14
  * @param {number} maxLength The maximum allowable number of characters (by default, this is 1000 characters).
15
15
  * @returns An error if the value exceeds the maximum allowable number of characters.
16
16
  */
17
- var validateTextArea = function validateTextArea(label, value, showCharacterCount, customErrors) {
18
- var maxLength = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1000;
17
+ const validateTextArea = function (label, value, showCharacterCount, customErrors) {
18
+ let maxLength = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1000;
19
19
  if (!showCharacterCount) {
20
20
  return undefined;
21
21
  }
22
- var hasError = value.length > maxLength;
22
+ const hasError = value.length > maxLength;
23
23
  if (hasError) {
24
24
  if (Array.isArray(customErrors)) {
25
- var result = customErrors.filter(function (error) {
26
- return error.type === 'length';
27
- });
25
+ const result = customErrors.filter(error => error.type === 'length');
28
26
  if (result && result.length > 0 && result[0].message) {
29
27
  return result[0].message;
30
28
  }
@@ -2,38 +2,38 @@
2
2
 
3
3
  var _validateTextArea = _interopRequireDefault(require("./validateTextArea"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', function () {
6
- describe('Validate', function () {
7
- describe('TextArea', function () {
8
- var MAX_LENGTH = 10;
9
- var LABEL = 'This is a custom label';
10
- var CUSTOM_ERROR = "The value must be ".concat(MAX_LENGTH, " characters or less");
11
- var ERROR_MSG = "".concat(LABEL, " must be ").concat(MAX_LENGTH, " characters or less");
12
- var CUSTOM_ERRORS = [{
5
+ describe('utils', () => {
6
+ describe('Validate', () => {
7
+ describe('TextArea', () => {
8
+ const MAX_LENGTH = 10;
9
+ const LABEL = 'This is a custom label';
10
+ const CUSTOM_ERROR = "The value must be ".concat(MAX_LENGTH, " characters or less");
11
+ const ERROR_MSG = "".concat(LABEL, " must be ").concat(MAX_LENGTH, " characters or less");
12
+ const CUSTOM_ERRORS = [{
13
13
  type: 'length',
14
14
  message: CUSTOM_ERROR
15
15
  }];
16
- it('should return no error when the character count flag is disabled', function () {
17
- var VALUE = 'ALPHA BRAVO';
16
+ it('should return no error when the character count flag is disabled', () => {
17
+ const VALUE = 'ALPHA BRAVO';
18
18
  expect((0, _validateTextArea.default)(LABEL, VALUE, false, CUSTOM_ERRORS, MAX_LENGTH)).toBeUndefined();
19
19
  });
20
- it('should return no error when value length has not exceeded the maximum allowable character length', function () {
21
- var VALUE = 'ALPHA BRA';
20
+ it('should return no error when value length has not exceeded the maximum allowable character length', () => {
21
+ const VALUE = 'ALPHA BRA';
22
22
  expect((0, _validateTextArea.default)(LABEL, VALUE, true, CUSTOM_ERRORS, MAX_LENGTH)).toBeUndefined();
23
23
  });
24
- it('should return no error when value length has not exceeded the default maximum allowable character length', function () {
25
- var VALUE = 'ALPHA BRAVO';
24
+ it('should return no error when value length has not exceeded the default maximum allowable character length', () => {
25
+ const VALUE = 'ALPHA BRAVO';
26
26
  expect((0, _validateTextArea.default)(LABEL, VALUE, true, undefined)).toBeUndefined();
27
27
  });
28
- it('should return an error when value length has exceeded the maximum allowable character length', function () {
29
- var VALUE = 'ALPHA BRAVO';
30
- var error = (0, _validateTextArea.default)(LABEL, VALUE, true, undefined, MAX_LENGTH);
28
+ it('should return an error when value length has exceeded the maximum allowable character length', () => {
29
+ const VALUE = 'ALPHA BRAVO';
30
+ const error = (0, _validateTextArea.default)(LABEL, VALUE, true, undefined, MAX_LENGTH);
31
31
  expect(error).toBeDefined();
32
32
  expect(error).toEqual(ERROR_MSG);
33
33
  });
34
- it('should return a custom error when one is provided', function () {
35
- var VALUE = 'ALPHA BRAVO CHARLIE';
36
- var error = (0, _validateTextArea.default)(LABEL, VALUE, true, CUSTOM_ERRORS, MAX_LENGTH);
34
+ it('should return a custom error when one is provided', () => {
35
+ const VALUE = 'ALPHA BRAVO CHARLIE';
36
+ const error = (0, _validateTextArea.default)(LABEL, VALUE, true, CUSTOM_ERRORS, MAX_LENGTH);
37
37
  expect(error).toBeDefined();
38
38
  expect(error).toEqual(CUSTOM_ERROR);
39
39
  });
@@ -5,12 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("./additional/utils");
8
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
13
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Local imports
8
+ // Local imports
9
+
14
10
  /**
15
11
  * Checks if a time passed is a valid time.
16
12
  * This will validate for missing components, invalid hour or minute components.
@@ -23,22 +19,19 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Local i
23
19
  * @returns an object with an error message and instructions for which parts of the time are in error
24
20
  * or undefined for both if the time is valid
25
21
  */
26
- var validateTime = function validateTime(time) {
22
+ const validateTime = time => {
27
23
  if (!time) {
28
24
  return {
29
25
  message: undefined,
30
26
  propsInError: undefined
31
27
  };
32
28
  }
33
- var formattedDate = (0, _utils.formattedTime)(time);
34
- var _formattedDate$split = formattedDate.split(':'),
35
- _formattedDate$split2 = _slicedToArray(_formattedDate$split, 2),
36
- hour = _formattedDate$split2[0],
37
- minute = _formattedDate$split2[1];
38
- var intHour = parseInt(hour, 10);
39
- var intMinute = parseInt(minute, 10);
40
- var badProps = [];
41
- var messages = [];
29
+ const formattedDate = (0, _utils.formattedTime)(time);
30
+ const [hour, minute] = formattedDate.split(':');
31
+ const intHour = parseInt(hour, 10);
32
+ const intMinute = parseInt(minute, 10);
33
+ const badProps = [];
34
+ const messages = [];
42
35
  if (hour.length === 0) {
43
36
  badProps.push('hour');
44
37
  messages.push('Time must include a hour');
@@ -54,7 +47,7 @@ var validateTime = function validateTime(time) {
54
47
  messages.push('Minute must be between 0 and 59');
55
48
  }
56
49
  if (badProps.length > 0) {
57
- var propsInError = {};
50
+ const propsInError = {};
58
51
  if (badProps.includes('hour')) {
59
52
  propsInError.hour = true;
60
53
  }
@@ -63,7 +56,7 @@ var validateTime = function validateTime(time) {
63
56
  }
64
57
  return {
65
58
  message: badProps.length > 1 ? 'Enter a valid time' : messages[0],
66
- propsInError: propsInError
59
+ propsInError
67
60
  };
68
61
  }
69
62
  return {
@@ -2,24 +2,24 @@
2
2
 
3
3
  var _validateTime = _interopRequireDefault(require("./validateTime"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', function () {
6
- describe('Validate', function () {
7
- describe('time', function () {
8
- test('should return no error when the value is an empty string', function () {
5
+ describe('utils', () => {
6
+ describe('Validate', () => {
7
+ describe('time', () => {
8
+ test('should return no error when the value is an empty string', () => {
9
9
  expect((0, _validateTime.default)('')).toEqual({
10
10
  message: undefined,
11
11
  propsInError: undefined
12
12
  });
13
13
  });
14
- test('should return undefined if a time string is valid', function () {
15
- var output = (0, _validateTime.default)('14:30');
14
+ test('should return undefined if a time string is valid', () => {
15
+ const output = (0, _validateTime.default)('14:30');
16
16
  expect(output).toEqual({
17
17
  message: undefined,
18
18
  propsInError: undefined
19
19
  });
20
20
  });
21
- test('should return an error if no hour is given', function () {
22
- var output = (0, _validateTime.default)(':30');
21
+ test('should return an error if no hour is given', () => {
22
+ const output = (0, _validateTime.default)(':30');
23
23
  expect(output).toEqual({
24
24
  message: 'Time must include a hour',
25
25
  propsInError: {
@@ -27,8 +27,8 @@ describe('utils', function () {
27
27
  }
28
28
  });
29
29
  });
30
- test('should return an error if the hour is not between 0 and 23', function () {
31
- var output = (0, _validateTime.default)('35:30');
30
+ test('should return an error if the hour is not between 0 and 23', () => {
31
+ const output = (0, _validateTime.default)('35:30');
32
32
  expect(output).toEqual({
33
33
  message: 'Hour must be between 0 and 23',
34
34
  propsInError: {
@@ -36,8 +36,8 @@ describe('utils', function () {
36
36
  }
37
37
  });
38
38
  });
39
- test('should return an error if no minute is given', function () {
40
- var output = (0, _validateTime.default)('14:');
39
+ test('should return an error if no minute is given', () => {
40
+ const output = (0, _validateTime.default)('14:');
41
41
  expect(output).toEqual({
42
42
  message: 'Time must include a minute',
43
43
  propsInError: {
@@ -45,8 +45,8 @@ describe('utils', function () {
45
45
  }
46
46
  });
47
47
  });
48
- test('should return an error if the minute is not between 0 and 59', function () {
49
- var output = (0, _validateTime.default)('14:75');
48
+ test('should return an error if the minute is not between 0 and 59', () => {
49
+ const output = (0, _validateTime.default)('14:75');
50
50
  expect(output).toEqual({
51
51
  message: 'Minute must be between 0 and 59',
52
52
  propsInError: {
@@ -54,8 +54,8 @@ describe('utils', function () {
54
54
  }
55
55
  });
56
56
  });
57
- test('should report multiple errors', function () {
58
- var output = (0, _validateTime.default)('24:75');
57
+ test('should report multiple errors', () => {
58
+ const output = (0, _validateTime.default)('24:75');
59
59
  expect(output).toEqual({
60
60
  message: 'Enter a valid time',
61
61
  propsInError: {
@@ -18,14 +18,11 @@ var _Meta = _interopRequireDefault(require("./Meta"));
18
18
  var _Operate = _interopRequireDefault(require("./Operate"));
19
19
  var _Validate = _interopRequireDefault(require("./Validate"));
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
- 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); }
22
- 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; }
23
- 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; }
24
- 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; }
25
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
26
- 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); } // Global imports
21
+ // Global imports
22
+
27
23
  // Local imports
28
- var Utils = _objectSpread({
24
+
25
+ const Utils = {
29
26
  CheckYourAnswers: _CheckYourAnswers.default,
30
27
  CollectionPage: _CollectionPage.default,
31
28
  Component: _Component.default,
@@ -37,6 +34,7 @@ var Utils = _objectSpread({
37
34
  Hub: _Hub.default,
38
35
  Meta: _Meta.default,
39
36
  Operate: _Operate.default,
40
- Validate: _Validate.default
41
- }, _copReactComponents.Utils);
37
+ Validate: _Validate.default,
38
+ ..._copReactComponents.Utils
39
+ };
42
40
  var _default = exports.default = Utils;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukhomeoffice/cop-react-form-renderer",
3
- "version": "6.0.6-peter",
3
+ "version": "6.7.0-alpha",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "clean": "rimraf dist",
@@ -16,10 +16,10 @@
16
16
  "post-compile": "rimraf dist/*.test.* dist/**/*.test.* dist/**/*.stories.* dist/docs dist/assets"
17
17
  },
18
18
  "dependencies": {
19
- "@ukhomeoffice/cop-react-components": "^3.19.1",
20
- "axios": "^0.23.0",
19
+ "@ukhomeoffice/cop-react-components": "^4.0.0",
20
+ "axios": "^0.28.1",
21
21
  "dayjs": "^1.11.0",
22
- "govuk-frontend": "^4.3.1",
22
+ "govuk-frontend": "^5.0.0",
23
23
  "web-vitals": "^1.0.1"
24
24
  },
25
25
  "devDependencies": {
@@ -48,11 +48,11 @@
48
48
  "eslint-config-airbnb": "^19.0.4",
49
49
  "eslint-config-prettier": "^8.6.0",
50
50
  "html-react-parser": "^0.10.5",
51
- "node-sass": "^6.0.1",
52
51
  "prop-types": "^15.8.1",
53
52
  "react": "^16.13.1",
54
53
  "react-dom": "^16.13.1",
55
54
  "react-scripts": "4.0.3",
55
+ "sass": "^1.69.5",
56
56
  "storybook-addon-mock": "^2.0.1"
57
57
  },
58
58
  "peerDependencies": {
@@ -1,4 +0,0 @@
1
- {
2
- "componentA": "show",
3
- "componentB": "hide"
4
- }
@@ -1,61 +0,0 @@
1
- {
2
- "components": [
3
- {
4
- "id": "componentA",
5
- "type": "radios",
6
- "label": "Field A",
7
- "fieldId": "fieldA",
8
- "required": true
9
- },
10
- {
11
- "id": "componentB",
12
- "type": "collection",
13
- "label": "Component B",
14
- "fieldId": "componentB"
15
- }
16
- ],
17
- "pages": [
18
- {
19
- "id": "pageA",
20
- "show_when": {
21
- "op": "=",
22
- "field": "componentA",
23
- "value": "hide"
24
- },
25
- "components": [
26
- {
27
- "id": "componentB",
28
- "use": "componentB"
29
- }
30
- ]
31
- },
32
- {
33
- "id": "pageB",
34
- "show_when": {
35
- "op": "=",
36
- "field": "componentA",
37
- "value": "show"
38
- },
39
- "components": [
40
- {
41
- "id": "componentB",
42
- "use": "componentB"
43
- }
44
- ]
45
- },
46
- {
47
- "id": "pageC",
48
- "show_when": {
49
- "op": "=",
50
- "field": "componentA",
51
- "value": "hide"
52
- },
53
- "components": [
54
- {
55
- "id": "componentB",
56
- "use": "componentB"
57
- }
58
- ]
59
- }
60
- ]
61
- }
@@ -1,4 +0,0 @@
1
- {
2
- "componentA": "false",
3
- "componentAs": [{}]
4
- }
@@ -1,8 +0,0 @@
1
- {
2
- "componentA": "false",
3
- "componentAs": [
4
- {
5
- "itemCategory": "1111111111"
6
- }
7
- ]
8
- }
@@ -1,5 +0,0 @@
1
- {
2
- "componentA": "show",
3
- "componentB": "hide if component A is anything other than show",
4
- "componentC": "hide if component A is anything other than show"
5
- }
@@ -1,10 +0,0 @@
1
- {
2
- "type": "Example form",
3
- "alpha": "alpha",
4
- "bravo": "bravo",
5
- "person": {
6
- "charlie": "Smith"
7
- },
8
- "gamma": "gamma",
9
- "epsilon": "epsilon"
10
- }
@@ -1,11 +0,0 @@
1
- {
2
- "type": "Example form",
3
- "alpha": "alpha",
4
- "bravo": "bravo",
5
- "person": {
6
- "charlie": "Smith",
7
- "delta":"Acme Inc"
8
- },
9
- "gamma": "gamma",
10
- "epsilon": "epsilon"
11
- }