@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.12.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 (382) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +143 -105
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +942 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +131 -102
  10. package/dist/components/CollectionSummary/CollectionSummary.scss +5 -0
  11. package/dist/components/CollectionSummary/CollectionSummary.test.js +233 -173
  12. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  13. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  14. package/dist/components/CollectionSummary/RenderListView.js +57 -48
  15. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  16. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  17. package/dist/components/CollectionSummary/SummaryCard.js +156 -112
  18. package/dist/components/CollectionSummary/SummaryCard.scss +6 -0
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +1023 -934
  20. package/dist/components/CollectionSummary/SummaryCardDetails.js +138 -94
  21. package/dist/components/CollectionSummary/SummaryCardDetails.scss +15 -4
  22. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  23. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  25. package/dist/components/FormComponent/Collection.js +108 -74
  26. package/dist/components/FormComponent/Collection.test.js +1081 -909
  27. package/dist/components/FormComponent/Container.js +39 -40
  28. package/dist/components/FormComponent/Container.test.js +412 -312
  29. package/dist/components/FormComponent/FormComponent.js +73 -70
  30. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  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 +7 -7
  34. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  35. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  37. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  38. package/dist/components/FormComponent/helpers/index.js +4 -4
  39. package/dist/components/FormPage/FormPage.js +93 -66
  40. package/dist/components/FormPage/FormPage.test.js +163 -127
  41. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  42. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  43. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  44. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  45. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  46. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  47. package/dist/components/FormRenderer/handlers/index.js +1 -1
  48. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  49. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  50. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  52. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  54. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +39 -22
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +74 -16
  56. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  57. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  58. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  59. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  60. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  61. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  62. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  63. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  66. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  68. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  70. package/dist/components/FormRenderer/helpers/index.js +1 -1
  71. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  72. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  73. package/dist/components/FormRenderer/onPageAction.js +44 -44
  74. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  75. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  76. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  77. package/dist/components/PageActions/ActionButton.js +15 -12
  78. package/dist/components/PageActions/ActionButton.test.js +78 -56
  79. package/dist/components/PageActions/PageActions.js +10 -10
  80. package/dist/components/PageActions/PageActions.test.js +115 -86
  81. package/dist/components/SummaryList/GroupAction.js +17 -9
  82. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  83. package/dist/components/SummaryList/RowAction.js +16 -11
  84. package/dist/components/SummaryList/RowAction.test.js +33 -37
  85. package/dist/components/SummaryList/SummaryList.js +34 -21
  86. package/dist/components/SummaryList/SummaryList.scss +15 -0
  87. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  88. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  89. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  90. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  91. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  92. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  93. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  97. package/dist/components/SummaryList/helpers/index.js +1 -1
  98. package/dist/components/TaskList/Task.js +29 -19
  99. package/dist/components/TaskList/Task.test.js +76 -83
  100. package/dist/components/TaskList/TaskList.js +92 -49
  101. package/dist/components/TaskList/TaskList.scss +24 -0
  102. package/dist/components/TaskList/TaskList.test.js +255 -113
  103. package/dist/components/TaskList/TaskState.js +5 -7
  104. package/dist/components/TaskList/TaskState.test.js +45 -52
  105. package/dist/components/index.js +7 -7
  106. package/dist/context/HooksContext/HooksContext.js +80 -57
  107. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  108. package/dist/context/HooksContext/index.js +4 -3
  109. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  110. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  111. package/dist/context/ValidationContext/index.js +4 -3
  112. package/dist/context/index.js +2 -2
  113. package/dist/hooks/index.js +10 -9
  114. package/dist/hooks/useAxios.js +40 -14
  115. package/dist/hooks/useGetRequest.js +97 -61
  116. package/dist/hooks/useHooks.js +3 -1
  117. package/dist/hooks/useRefData.js +39 -26
  118. package/dist/hooks/useValidation.js +3 -1
  119. package/dist/index.js +14 -13
  120. package/dist/json/actions.json +17 -0
  121. package/dist/json/actionsNoSave.json +17 -0
  122. package/dist/models/CollectionLabels.js +1 -1
  123. package/dist/models/ComponentTypes.js +25 -25
  124. package/dist/models/EventTypes.js +4 -4
  125. package/dist/models/FormPages.js +4 -4
  126. package/dist/models/FormTypes.js +8 -8
  127. package/dist/models/HubFormats.js +3 -3
  128. package/dist/models/PageAction.js +38 -44
  129. package/dist/models/TaskStates.js +28 -29
  130. package/dist/models/index.js +9 -9
  131. package/dist/setupTests.js +31 -30
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +113 -89
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +320 -162
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  152. package/dist/utils/CheckYourAnswers/index.js +1 -1
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  171. package/dist/utils/CollectionPage/index.js +1 -1
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  178. package/dist/utils/Component/addShowWhen.js +8 -4
  179. package/dist/utils/Component/addShowWhen.test.js +37 -37
  180. package/dist/utils/Component/applyToComponentTree.js +18 -18
  181. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  182. package/dist/utils/Component/cleanAttributes.js +13 -10
  183. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  184. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  185. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  186. package/dist/utils/Component/getComponent.js +94 -88
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  209. package/dist/utils/Component/getDefaultValue.js +8 -6
  210. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  213. package/dist/utils/Component/index.js +1 -1
  214. package/dist/utils/Component/isEditable.js +4 -2
  215. package/dist/utils/Component/isEditable.test.js +15 -14
  216. package/dist/utils/Component/optionIsSelected.js +6 -1
  217. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  218. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  220. package/dist/utils/Component/showComponent.js +1 -1
  221. package/dist/utils/Component/showComponent.test.js +28 -28
  222. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  223. package/dist/utils/Condition/index.js +1 -1
  224. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  225. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  226. package/dist/utils/Condition/meetsCondition.js +25 -16
  227. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  228. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  229. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  230. package/dist/utils/Condition/setupConditions.js +18 -13
  231. package/dist/utils/Condition/setupConditions.test.js +7 -7
  232. package/dist/utils/Container/getEditableComponents.js +5 -3
  233. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  234. package/dist/utils/Container/index.js +1 -1
  235. package/dist/utils/Container/setupNesting.js +20 -16
  236. package/dist/utils/Container/setupNesting.test.js +30 -27
  237. package/dist/utils/Container/showContainer.js +7 -3
  238. package/dist/utils/Container/showContainer.test.js +30 -30
  239. package/dist/utils/Data/applyFormula.js +48 -38
  240. package/dist/utils/Data/applyFormula.test.js +20 -20
  241. package/dist/utils/Data/deleteValues.js +22 -0
  242. package/dist/utils/Data/deleteValues.test.js +57 -0
  243. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  244. package/dist/utils/Data/getAutocompleteSource.test.js +100 -85
  245. package/dist/utils/Data/getDataPath.js +28 -18
  246. package/dist/utils/Data/getDataPath.test.js +12 -12
  247. package/dist/utils/Data/getOptions.js +31 -24
  248. package/dist/utils/Data/getOptions.test.js +53 -35
  249. package/dist/utils/Data/getSourceData.js +19 -6
  250. package/dist/utils/Data/getSourceData.test.js +80 -84
  251. package/dist/utils/Data/index.js +3 -1
  252. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  254. package/dist/utils/Data/refDataToOptions.js +13 -10
  255. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  256. package/dist/utils/Data/setDataItem.js +8 -7
  257. package/dist/utils/Data/setDataItem.test.js +37 -37
  258. package/dist/utils/Data/setupFormData.js +21 -13
  259. package/dist/utils/Data/setupFormData.test.js +50 -51
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  262. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  264. package/dist/utils/FormPage/getConditionalText.js +3 -3
  265. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  266. package/dist/utils/FormPage/getFormPage.js +16 -15
  267. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  268. package/dist/utils/FormPage/getFormPages.js +12 -7
  269. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  270. package/dist/utils/FormPage/getPageActions.js +15 -9
  271. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  272. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  274. package/dist/utils/FormPage/index.js +4 -2
  275. package/dist/utils/FormPage/showFormPage.js +7 -3
  276. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  277. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  279. package/dist/utils/FormPage/useComponent.js +28 -21
  280. package/dist/utils/FormPage/useComponent.test.js +79 -77
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +18 -18
  283. package/dist/utils/Format/formatDataForComponent.js +6 -5
  284. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  285. package/dist/utils/Format/formatDataForForm.js +8 -6
  286. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  287. package/dist/utils/Format/formatDataForPage.js +5 -4
  288. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  289. package/dist/utils/Format/index.js +1 -1
  290. package/dist/utils/Hub/getFormHub.js +1 -1
  291. package/dist/utils/Hub/getFormHub.test.js +31 -28
  292. package/dist/utils/Hub/index.js +1 -1
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  295. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  296. package/dist/utils/Meta/documents/index.js +1 -1
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  299. package/dist/utils/Meta/index.js +1 -1
  300. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  302. package/dist/utils/Operate/deleteValueInFormData.js +26 -0
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +60 -0
  304. package/dist/utils/Operate/getFirstOf.js +5 -5
  305. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  308. package/dist/utils/Operate/getLength.js +50 -0
  309. package/dist/utils/Operate/getLength.test.js +89 -0
  310. package/dist/utils/Operate/index.js +1 -1
  311. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  312. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  313. package/dist/utils/Operate/runPageOperations.js +11 -7
  314. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  315. package/dist/utils/Operate/setValueInFormData.js +2 -2
  316. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  317. package/dist/utils/Operate/shouldRun.js +6 -6
  318. package/dist/utils/Operate/shouldRun.test.js +27 -21
  319. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  320. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  321. package/dist/utils/Validate/additional/index.js +10 -7
  322. package/dist/utils/Validate/additional/index.test.js +78 -12
  323. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  325. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  326. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  327. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  328. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  329. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  330. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  331. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  333. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  334. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  335. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  336. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  337. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  338. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  339. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  340. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  341. package/dist/utils/Validate/additional/mustBeOneOf.js +21 -0
  342. package/dist/utils/Validate/additional/mustBeOneOf.test.js +36 -0
  343. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  345. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  346. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  347. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  348. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  349. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  350. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  351. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  352. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  353. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  354. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  355. package/dist/utils/Validate/additional/utils.js +22 -9
  356. package/dist/utils/Validate/index.js +1 -1
  357. package/dist/utils/Validate/validateCollection.js +25 -19
  358. package/dist/utils/Validate/validateCollection.test.js +66 -74
  359. package/dist/utils/Validate/validateComponent.js +21 -18
  360. package/dist/utils/Validate/validateComponent.test.js +176 -166
  361. package/dist/utils/Validate/validateContainer.js +20 -15
  362. package/dist/utils/Validate/validateContainer.test.js +52 -58
  363. package/dist/utils/Validate/validateDate.js +21 -15
  364. package/dist/utils/Validate/validateDate.test.js +32 -31
  365. package/dist/utils/Validate/validateEmail.js +8 -6
  366. package/dist/utils/Validate/validateEmail.test.js +25 -25
  367. package/dist/utils/Validate/validateMultifile.js +7 -5
  368. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  369. package/dist/utils/Validate/validatePage.js +22 -19
  370. package/dist/utils/Validate/validatePage.test.js +203 -215
  371. package/dist/utils/Validate/validateRegex.js +5 -3
  372. package/dist/utils/Validate/validateRegex.test.js +14 -14
  373. package/dist/utils/Validate/validateRequired.js +6 -4
  374. package/dist/utils/Validate/validateRequired.test.js +18 -18
  375. package/dist/utils/Validate/validateTextArea.js +6 -4
  376. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  377. package/dist/utils/Validate/validateTime.js +26 -11
  378. package/dist/utils/Validate/validateTime.test.js +62 -16
  379. package/dist/utils/index.js +9 -7
  380. package/package.json +2 -2
  381. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  382. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -2,27 +2,27 @@
2
2
 
3
3
  var _elevateNestedComponents = _interopRequireDefault(require("./elevateNestedComponents"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.Component.elevateNestedComponents', () => {
6
- it('should return an empty array if components is undefined', () => {
7
- const DATA = {
5
+ describe('utils.Component.elevateNestedComponents', function () {
6
+ it('should return an empty array if components is undefined', function () {
7
+ var DATA = {
8
8
  alpha: 'abc'
9
9
  };
10
10
  expect((0, _elevateNestedComponents.default)(undefined, DATA)).toEqual([]);
11
11
  });
12
- it('should return an empty array if components is null', () => {
13
- const DATA = {
12
+ it('should return an empty array if components is null', function () {
13
+ var DATA = {
14
14
  alpha: 'abc'
15
15
  };
16
16
  expect((0, _elevateNestedComponents.default)(null, DATA)).toEqual([]);
17
17
  });
18
- it('should return an empty array if components is empty', () => {
19
- const DATA = {
18
+ it('should return an empty array if components is empty', function () {
19
+ var DATA = {
20
20
  alpha: 'abc'
21
21
  };
22
22
  expect((0, _elevateNestedComponents.default)([], DATA)).toEqual([]);
23
23
  });
24
- it('should return the original components if none have nested components', () => {
25
- const COMPONENTS = [{
24
+ it('should return the original components if none have nested components', function () {
25
+ var COMPONENTS = [{
26
26
  id: 'textComp'
27
27
  }, {
28
28
  id: 'radiosComp',
@@ -36,13 +36,13 @@ describe('utils.Component.elevateNestedComponents', () => {
36
36
  }]
37
37
  }
38
38
  }];
39
- const DATA = {
39
+ var DATA = {
40
40
  alpha: 'abc'
41
41
  };
42
42
  expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual(COMPONENTS);
43
43
  });
44
- it('should return the original components if data is null', () => {
45
- const COMPONENTS = [{
44
+ it('should return the original components if data is null', function () {
45
+ var COMPONENTS = [{
46
46
  id: 'textComp'
47
47
  }, {
48
48
  id: 'radiosComp',
@@ -58,8 +58,8 @@ describe('utils.Component.elevateNestedComponents', () => {
58
58
  }];
59
59
  expect((0, _elevateNestedComponents.default)(COMPONENTS, null)).toEqual(COMPONENTS);
60
60
  });
61
- it('should return the original array with elevated nested components when they are visible', () => {
62
- const COMPONENTS = [{
61
+ it('should return the original array with elevated nested components when they are visible', function () {
62
+ var COMPONENTS = [{
63
63
  id: 'textComp'
64
64
  }, {
65
65
  id: 'radiosComp',
@@ -78,7 +78,7 @@ describe('utils.Component.elevateNestedComponents', () => {
78
78
  }]
79
79
  }
80
80
  }];
81
- const DATA = {
81
+ var DATA = {
82
82
  radiosComp: 'yes'
83
83
  };
84
84
  expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS, [{
@@ -87,8 +87,8 @@ describe('utils.Component.elevateNestedComponents', () => {
87
87
  id: 'nestedTwo'
88
88
  }]));
89
89
  });
90
- it('should return the original array with elevated nested components when a component has a full_path', () => {
91
- const COMPONENTS = [{
90
+ it('should return the original array with elevated nested components when a component has a full_path', function () {
91
+ var COMPONENTS = [{
92
92
  id: 'textComp'
93
93
  }, {
94
94
  id: 'radiosComp',
@@ -108,7 +108,7 @@ describe('utils.Component.elevateNestedComponents', () => {
108
108
  },
109
109
  full_path: 'component.radiosComp'
110
110
  }];
111
- const DATA = {
111
+ var DATA = {
112
112
  component: {
113
113
  radiosComp: 'yes'
114
114
  }
@@ -119,8 +119,8 @@ describe('utils.Component.elevateNestedComponents', () => {
119
119
  id: 'nestedTwo'
120
120
  }]));
121
121
  });
122
- it('should not elevate nested components under a component which is hidden with a show_when', () => {
123
- const COMPONENTS = [{
122
+ it('should not elevate nested components under a component which is hidden with a show_when', function () {
123
+ var COMPONENTS = [{
124
124
  id: 'textComp'
125
125
  }, {
126
126
  id: 'radiosComp',
@@ -144,14 +144,14 @@ describe('utils.Component.elevateNestedComponents', () => {
144
144
  }]
145
145
  }
146
146
  }];
147
- const DATA = {
147
+ var DATA = {
148
148
  radiosComp: 'yes',
149
149
  testField: 'red'
150
150
  };
151
151
  expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS));
152
152
  });
153
- it('should elevate nested components under a component which is shown with a show_When', () => {
154
- const COMPONENTS = [{
153
+ it('should elevate nested components under a component which is shown with a show_When', function () {
154
+ var COMPONENTS = [{
155
155
  id: 'textComp'
156
156
  }, {
157
157
  id: 'radiosComp',
@@ -175,7 +175,7 @@ describe('utils.Component.elevateNestedComponents', () => {
175
175
  }]
176
176
  }
177
177
  }];
178
- const DATA = {
178
+ var DATA = {
179
179
  radiosComp: 'yes',
180
180
  testField: 'red'
181
181
  };
@@ -185,8 +185,8 @@ describe('utils.Component.elevateNestedComponents', () => {
185
185
  id: 'nestedTwo'
186
186
  }]));
187
187
  });
188
- it('should elevate nested components under an option which is shown with a show_When', () => {
189
- const COMPONENTS = [{
188
+ it('should elevate nested components under an option which is shown with a show_When', function () {
189
+ var COMPONENTS = [{
190
190
  id: 'textComp'
191
191
  }, {
192
192
  id: 'radiosComp',
@@ -215,7 +215,7 @@ describe('utils.Component.elevateNestedComponents', () => {
215
215
  }]
216
216
  }
217
217
  }];
218
- const DATA = {
218
+ var DATA = {
219
219
  radiosComp: 'yes',
220
220
  testField: 'red',
221
221
  testFieldTwo: 'purple'
@@ -226,8 +226,8 @@ describe('utils.Component.elevateNestedComponents', () => {
226
226
  id: 'nestedTwo'
227
227
  }]));
228
228
  });
229
- it('should not elevate nested components under an option which is hidden with a show_When', () => {
230
- const COMPONENTS = [{
229
+ it('should not elevate nested components under an option which is hidden with a show_When', function () {
230
+ var COMPONENTS = [{
231
231
  id: 'textComp'
232
232
  }, {
233
233
  id: 'radiosComp',
@@ -256,11 +256,49 @@ describe('utils.Component.elevateNestedComponents', () => {
256
256
  }]
257
257
  }
258
258
  }];
259
- const DATA = {
259
+ var DATA = {
260
260
  radiosComp: 'yes',
261
261
  testField: 'red',
262
262
  testFieldTwo: 'orange'
263
263
  };
264
264
  expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS));
265
265
  });
266
+ it('should return the original array with elevated nested components that are defined using refdata_match when they are visible', function () {
267
+ var COMPONENTS = [{
268
+ id: 'textComp'
269
+ }, {
270
+ id: 'checkboxComp',
271
+ data: {
272
+ options: [{
273
+ label: 'Yes',
274
+ value: 'yes',
275
+ id: 99
276
+ }, {
277
+ label: 'No',
278
+ value: 'no',
279
+ id: 100
280
+ }, {
281
+ nested: [{
282
+ id: 'nestedOne'
283
+ }, {
284
+ id: 'nestedTwo'
285
+ }],
286
+ refdata_match: {
287
+ id: 99
288
+ }
289
+ }]
290
+ }
291
+ }];
292
+ var DATA = {
293
+ checkboxComp: [{
294
+ value: 'yes',
295
+ id: 99
296
+ }]
297
+ };
298
+ expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS, [{
299
+ id: 'nestedOne'
300
+ }, {
301
+ id: 'nestedTwo'
302
+ }]));
303
+ });
266
304
  });
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ 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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -13,10 +14,15 @@ var _isEditable = _interopRequireDefault(require("./isEditable"));
13
14
  var _FormComponent = _interopRequireDefault(require("../../components/FormComponent"));
14
15
  var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ 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; }
18
+ 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; }
19
+ 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; }
20
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
21
+ 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); }
16
22
  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); } /* eslint-disable no-use-before-define */ // Global imports
17
23
  // Local imports
18
- const LIST_CLASS = 'govuk-list';
19
- const BODY_CLASS = 'govuk-body';
24
+ var LIST_CLASS = 'govuk-list';
25
+ var BODY_CLASS = 'govuk-body';
20
26
 
21
27
  /**
22
28
  * Separate function for each component type for the sake of
@@ -25,156 +31,155 @@ const BODY_CLASS = 'govuk-body';
25
31
  * makes it much harder to follow what's going on.
26
32
  */
27
33
 
28
- const getAlert = config => {
29
- const attrs = (0, _cleanAttributes.default)(config);
30
- const heading = _copReactComponents.Utils.interpolateString(config.heading, config.formData);
31
- const children = _copReactComponents.Utils.interpolateString(config.text, config.formData);
34
+ var getAlert = function getAlert(config) {
35
+ var attrs = (0, _cleanAttributes.default)(config);
36
+ var heading = _copReactComponents.Utils.interpolateString(config.heading, config.formData);
37
+ var children = _copReactComponents.Utils.interpolateString(config.text, config.formData);
32
38
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Alert, _extends({}, attrs, {
33
39
  heading: heading
34
40
  }), children);
35
41
  };
36
- const getAutocomplete = config => {
37
- const attrs = (0, _cleanAttributes.default)(config);
38
- const source = _Data.default.getAutocompleteSource(config);
42
+ var getAutocomplete = function getAutocomplete(config) {
43
+ var attrs = (0, _cleanAttributes.default)(config);
44
+ var source = _Data.default.getAutocompleteSource(config);
39
45
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Autocomplete, _extends({}, attrs, {
40
46
  source: source
41
47
  }));
42
48
  };
43
- const getCheckboxes = config => {
44
- let options = [];
45
- _Data.default.getOptions(config, val => {
49
+ var getCheckboxes = function getCheckboxes(config) {
50
+ var options = [];
51
+ _Data.default.getOptions(config, function (val) {
46
52
  options = val;
47
53
  });
48
- options = options.map(paramOption => {
54
+ options = options.map(function (paramOption) {
49
55
  if (!Array.isArray(paramOption.nested)) {
50
56
  return paramOption;
51
57
  }
52
- return {
53
- ...paramOption,
58
+ return _objectSpread(_objectSpread({}, paramOption), {}, {
54
59
  children: getChildrenJsx(config, paramOption.nested)
55
- };
60
+ });
56
61
  });
57
- const attrs = (0, _cleanAttributes.default)(config);
62
+ var attrs = (0, _cleanAttributes.default)(config);
58
63
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Checkboxes, _extends({}, attrs, {
59
64
  options: options
60
65
  }));
61
66
  };
62
- const getCalculation = config => {
63
- const value = _Data.default.applyFormula(config);
67
+ var getCalculation = function getCalculation(config) {
68
+ var value = _Data.default.applyFormula(config);
64
69
  if (typeof config.onChange === 'function') {
65
70
  if (value !== config.value) {
66
71
  config.onChange({
67
72
  target: {
68
73
  name: config.fieldId,
69
- value
74
+ value: value
70
75
  }
71
76
  });
72
77
  }
73
78
  }
74
- const attrs = (0, _cleanAttributes.default)(config, ['formula']);
79
+ var attrs = (0, _cleanAttributes.default)(config, ['formula']);
75
80
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, _extends({}, attrs, {
76
81
  readonly: true
77
82
  }));
78
83
  };
79
- const getDate = config => {
80
- const attrs = (0, _cleanAttributes.default)(config);
84
+ var getDate = function getDate(config) {
85
+ var attrs = (0, _cleanAttributes.default)(config);
81
86
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.DateInput, attrs);
82
87
  };
83
- const getDetails = config => {
84
- const attrs = (0, _cleanAttributes.default)(config, ['tagName']);
85
- const html = getHTML(config);
88
+ var getDetails = function getDetails(config) {
89
+ var attrs = (0, _cleanAttributes.default)(config, ['tagName']);
90
+ var html = getHTML(config);
86
91
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Details, attrs, html);
87
92
  };
88
- const getFileUpload = config => {
89
- const attrs = (0, _cleanAttributes.default)(config);
93
+ var getFileUpload = function getFileUpload(config) {
94
+ var attrs = (0, _cleanAttributes.default)(config);
90
95
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.FileUpload, attrs);
91
96
  };
92
- const getMultiFileUpload = config => {
93
- const attrs = (0, _cleanAttributes.default)(config);
97
+ var getMultiFileUpload = function getMultiFileUpload(config) {
98
+ var attrs = (0, _cleanAttributes.default)(config);
94
99
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.MultiFileUpload, attrs);
95
100
  };
96
- const getHeading = config => {
97
- const attrs = (0, _cleanAttributes.default)(config);
101
+ var getHeading = function getHeading(config) {
102
+ var attrs = (0, _cleanAttributes.default)(config);
98
103
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Heading, attrs, config.content);
99
104
  };
100
- const getHTML = config => {
101
- const attrs = (0, _cleanAttributes.default)(config);
105
+ var getHTML = function getHTML(config) {
106
+ var attrs = (0, _cleanAttributes.default)(config);
102
107
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Markup, attrs);
103
108
  };
104
- const getInsetText = config => {
105
- const attrs = (0, _cleanAttributes.default)(config);
109
+ var getInsetText = function getInsetText(config) {
110
+ var attrs = (0, _cleanAttributes.default)(config);
106
111
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.InsetText, attrs, config.content);
107
112
  };
108
- const getList = config => {
113
+ var getList = function getList(config) {
109
114
  var _attrs$items;
110
- const attrs = (0, _cleanAttributes.default)(config, ['ordered']);
111
- const tagName = config.ordered ? 'ol' : 'ul';
112
- const bullet = config.ordered ? 'number' : 'bullet';
113
- const classes = _copReactComponents.Utils.classBuilder(LIST_CLASS, bullet);
114
- const content = (_attrs$items = attrs.items) === null || _attrs$items === void 0 ? void 0 : _attrs$items.map(item => "<li>".concat(item, "</li>")).join('');
115
- return getHTML({
116
- ...attrs,
115
+ var attrs = (0, _cleanAttributes.default)(config, ['ordered']);
116
+ var tagName = config.ordered ? 'ol' : 'ul';
117
+ var bullet = config.ordered ? 'number' : 'bullet';
118
+ var classes = _copReactComponents.Utils.classBuilder(LIST_CLASS, bullet);
119
+ var content = (_attrs$items = attrs.items) === null || _attrs$items === void 0 ? void 0 : _attrs$items.map(function (item) {
120
+ return "<li>".concat(item, "</li>");
121
+ }).join('');
122
+ return getHTML(_objectSpread(_objectSpread({}, attrs), {}, {
117
123
  className: classes(),
118
- tagName,
119
- content,
124
+ tagName: tagName,
125
+ content: content,
120
126
  type: _models.ComponentTypes.HTML
121
- });
127
+ }));
122
128
  };
123
- const getParagraph = config => {
124
- const attrs = (0, _cleanAttributes.default)(config);
125
- return getHTML({
126
- className: BODY_CLASS,
127
- ...attrs,
129
+ var getParagraph = function getParagraph(config) {
130
+ var attrs = (0, _cleanAttributes.default)(config);
131
+ return getHTML(_objectSpread(_objectSpread({
132
+ className: BODY_CLASS
133
+ }, attrs), {}, {
128
134
  tagName: 'p',
129
135
  type: _models.ComponentTypes.HTML
130
- });
136
+ }));
131
137
  };
132
- const getRadios = config => {
133
- let options = [];
134
- _Data.default.getOptions(config, val => {
138
+ var getRadios = function getRadios(config) {
139
+ var options = [];
140
+ _Data.default.getOptions(config, function (val) {
135
141
  options = val;
136
142
  });
137
- options = options.map(paramOption => {
143
+ options = options.map(function (paramOption) {
138
144
  if (!Array.isArray(paramOption.nested)) {
139
145
  return paramOption;
140
146
  }
141
- return {
142
- ...paramOption,
147
+ return _objectSpread(_objectSpread({}, paramOption), {}, {
143
148
  children: getChildrenJsx(config, paramOption.nested)
144
- };
149
+ });
145
150
  });
146
- const attrs = (0, _cleanAttributes.default)(config);
151
+ var attrs = (0, _cleanAttributes.default)(config);
147
152
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Radios, _extends({}, attrs, {
148
153
  options: options
149
154
  }));
150
155
  };
151
- const getTextArea = config => {
152
- const attrs = (0, _cleanAttributes.default)(config);
156
+ var getTextArea = function getTextArea(config) {
157
+ var attrs = (0, _cleanAttributes.default)(config);
153
158
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextArea, attrs);
154
159
  };
155
- const getTextInput = config => {
156
- const attrs = (0, _cleanAttributes.default)(config);
160
+ var getTextInput = function getTextInput(config) {
161
+ var attrs = (0, _cleanAttributes.default)(config);
157
162
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, attrs);
158
163
  };
159
- const getTime = config => {
160
- const attrs = (0, _cleanAttributes.default)(config);
164
+ var getTime = function getTime(config) {
165
+ var attrs = (0, _cleanAttributes.default)(config);
161
166
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.TimeInput, attrs);
162
167
  };
163
- const getSelect = config => {
164
- let options = [];
165
- _Data.default.getOptions(config, val => {
168
+ var getSelect = function getSelect(config) {
169
+ var options = [];
170
+ _Data.default.getOptions(config, function (val) {
166
171
  options = val;
167
172
  });
168
- const attrs = (0, _cleanAttributes.default)(config);
173
+ var attrs = (0, _cleanAttributes.default)(config);
169
174
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Select, _extends({}, attrs, {
170
175
  options: options
171
176
  }));
172
177
  };
173
- const getWarningText = config => {
174
- const attrs = (0, _cleanAttributes.default)(config);
178
+ var getWarningText = function getWarningText(config) {
179
+ var attrs = (0, _cleanAttributes.default)(config);
175
180
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.WarningText, attrs, config.content);
176
181
  };
177
- const getComponentByType = config => {
182
+ var getComponentByType = function getComponentByType(config) {
178
183
  switch (config.type) {
179
184
  case _models.ComponentTypes.HTML:
180
185
  return getHTML(config);
@@ -228,12 +233,10 @@ const getComponentByType = config => {
228
233
  * @param {*} parent the parent configuration
229
234
  * @param {*} child the child configuration
230
235
  */
231
- const getChildJsx = (parent, paramChild) => {
232
- const child = {
233
- ...paramChild
234
- };
236
+ var getChildJsx = function getChildJsx(parent, paramChild) {
237
+ var child = _objectSpread({}, paramChild);
235
238
  if (parent.full_path) {
236
- const pathParts = parent.full_path.split('.');
239
+ var pathParts = parent.full_path.split('.');
237
240
  pathParts.pop();
238
241
  pathParts.push(child.fieldId);
239
242
  child.full_path = pathParts.join('.');
@@ -261,10 +264,13 @@ const getChildJsx = (parent, paramChild) => {
261
264
  * @param {*} parentConfig parent component which the childrenConfigs will be under
262
265
  * @param {*} childrenConfigs array of configurations for the child components
263
266
  */
264
- const getChildrenJsx = (parentConfig, childrenConfigs) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenConfigs.map(config => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
265
- key: config.id
266
- }, getChildJsx(parentConfig, config))));
267
- exports.getChildrenJsx = getChildrenJsx;
267
+ var getChildrenJsx = exports.getChildrenJsx = function getChildrenJsx(parentConfig, childrenConfigs) {
268
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenConfigs.map(function (config) {
269
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
270
+ key: config.id
271
+ }, getChildJsx(parentConfig, config));
272
+ }));
273
+ };
268
274
  /**
269
275
  * Get a renderable component, based on a configuration object.
270
276
  * @param {object} config The configuration object for the component.
@@ -272,16 +278,16 @@ exports.getChildrenJsx = getChildrenJsx;
272
278
  * @param {Function} fnOverride An optional override function for component rendering.
273
279
  * @returns A renderable component.
274
280
  */
275
- const getComponent = function (config) {
276
- let wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
277
- let fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
281
+ var getComponent = function getComponent(config) {
282
+ var wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
283
+ var fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
278
284
  if (typeof fnOverride === 'function') {
279
- const overrideComponent = fnOverride(config, wrap);
285
+ var overrideComponent = fnOverride(config, wrap);
280
286
  if (overrideComponent) {
281
287
  return overrideComponent;
282
288
  }
283
289
  }
284
- const component = getComponentByType(config);
290
+ var component = getComponentByType(config);
285
291
  if (component && wrap && (0, _isEditable.default)(config)) {
286
292
  return (0, _wrapInFormGroup.default)(config, component);
287
293
  }
@@ -8,13 +8,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
8
8
 
9
9
  // Local imports
10
10
 
11
- describe('utils.Component.get', () => {
12
- it('should return an appropriately rendered autocomplete component', () => {
13
- const ID = 'test-id';
14
- const FIELD_ID = 'field-id';
15
- const LABEL = 'label';
16
- const OPTIONS = [];
17
- const COMPONENT = {
11
+ describe('utils.Component.get', function () {
12
+ it('should return an appropriately rendered autocomplete component', function () {
13
+ var ID = 'test-id';
14
+ var FIELD_ID = 'field-id';
15
+ var LABEL = 'label';
16
+ var OPTIONS = [];
17
+ var COMPONENT = {
18
18
  type: _models.ComponentTypes.AUTOCOMPLETE,
19
19
  id: ID,
20
20
  fieldId: FIELD_ID,
@@ -24,27 +24,26 @@ describe('utils.Component.get', () => {
24
24
  },
25
25
  'data-testid': ID
26
26
  };
27
- const {
28
- container
29
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
30
- const formGroup = (0, _react.getByTestId)(container, ID);
27
+ var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
28
+ container = _render.container;
29
+ var formGroup = (0, _react.getByTestId)(container, ID);
31
30
  expect(formGroup.tagName).toEqual('DIV');
32
31
  expect(formGroup.classList).toContain('govuk-form-group');
33
- let label;
34
- let autocompleteWrapper;
35
- let autocomplete;
36
- let autocompleteInput;
37
- formGroup.childNodes.forEach(node => {
32
+ var label;
33
+ var autocompleteWrapper;
34
+ var autocomplete;
35
+ var autocompleteInput;
36
+ formGroup.childNodes.forEach(function (node) {
38
37
  // Check if it's an element.
39
38
  if (node instanceof Element) {
40
39
  if (node.tagName === 'LABEL') {
41
40
  label = node;
42
41
  } else if (node.classList.contains('hods-autocomplete__outer-wrapper')) {
43
42
  autocompleteWrapper = node;
44
- const autocompleteInner = node.childNodes[0];
43
+ var autocompleteInner = node.childNodes[0];
45
44
  if (autocompleteInner instanceof Element) {
46
45
  autocomplete = autocompleteInner;
47
- autocomplete.childNodes.forEach(grandchild => {
46
+ autocomplete.childNodes.forEach(function (grandchild) {
48
47
  if (grandchild instanceof Element) {
49
48
  if (grandchild.tagName === 'INPUT') {
50
49
  autocompleteInput = grandchild;