@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) 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 +137 -103
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -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 +126 -99
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/RenderListView.js +52 -46
  14. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  15. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  16. package/dist/components/CollectionSummary/SummaryCard.js +152 -110
  17. package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
  18. package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
  19. package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  23. package/dist/components/FormComponent/Collection.js +108 -74
  24. package/dist/components/FormComponent/Collection.test.js +1081 -909
  25. package/dist/components/FormComponent/Container.js +39 -40
  26. package/dist/components/FormComponent/Container.test.js +412 -312
  27. package/dist/components/FormComponent/FormComponent.js +72 -69
  28. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  29. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  30. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  32. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  33. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  34. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  36. package/dist/components/FormComponent/helpers/index.js +4 -4
  37. package/dist/components/FormPage/FormPage.js +80 -65
  38. package/dist/components/FormPage/FormPage.test.js +163 -127
  39. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  40. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  41. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  42. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  43. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  44. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  45. package/dist/components/FormRenderer/handlers/index.js +1 -1
  46. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  47. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  48. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  49. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  50. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  51. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  52. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  53. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  55. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  57. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  58. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  59. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  60. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  61. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  63. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  64. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  65. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  66. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  67. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  68. package/dist/components/FormRenderer/helpers/index.js +1 -1
  69. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  70. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  71. package/dist/components/FormRenderer/onPageAction.js +39 -43
  72. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  73. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  74. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  75. package/dist/components/PageActions/ActionButton.js +15 -12
  76. package/dist/components/PageActions/ActionButton.test.js +78 -56
  77. package/dist/components/PageActions/PageActions.js +10 -10
  78. package/dist/components/PageActions/PageActions.test.js +115 -86
  79. package/dist/components/SummaryList/GroupAction.js +17 -9
  80. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  81. package/dist/components/SummaryList/RowAction.js +16 -11
  82. package/dist/components/SummaryList/RowAction.test.js +33 -37
  83. package/dist/components/SummaryList/SummaryList.js +34 -21
  84. package/dist/components/SummaryList/SummaryList.scss +15 -0
  85. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  86. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  87. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  88. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  89. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  90. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  91. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  92. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  93. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/index.js +1 -1
  96. package/dist/components/TaskList/Task.js +29 -19
  97. package/dist/components/TaskList/Task.test.js +76 -83
  98. package/dist/components/TaskList/TaskList.js +92 -49
  99. package/dist/components/TaskList/TaskList.scss +24 -0
  100. package/dist/components/TaskList/TaskList.test.js +255 -113
  101. package/dist/components/TaskList/TaskState.js +5 -7
  102. package/dist/components/TaskList/TaskState.test.js +45 -52
  103. package/dist/components/index.js +7 -7
  104. package/dist/context/HooksContext/HooksContext.js +80 -57
  105. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  106. package/dist/context/HooksContext/index.js +4 -3
  107. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  108. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  109. package/dist/context/ValidationContext/index.js +4 -3
  110. package/dist/context/index.js +2 -2
  111. package/dist/hooks/index.js +10 -9
  112. package/dist/hooks/useAxios.js +40 -14
  113. package/dist/hooks/useGetRequest.js +97 -61
  114. package/dist/hooks/useHooks.js +3 -1
  115. package/dist/hooks/useRefData.js +39 -26
  116. package/dist/hooks/useValidation.js +3 -1
  117. package/dist/index.js +14 -13
  118. package/dist/models/CollectionLabels.js +1 -1
  119. package/dist/models/ComponentTypes.js +25 -25
  120. package/dist/models/EventTypes.js +4 -4
  121. package/dist/models/FormPages.js +4 -4
  122. package/dist/models/FormTypes.js +8 -8
  123. package/dist/models/HubFormats.js +3 -3
  124. package/dist/models/PageAction.js +38 -44
  125. package/dist/models/TaskStates.js +28 -29
  126. package/dist/models/index.js +9 -9
  127. package/dist/setupTests.js +31 -30
  128. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  129. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  130. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  131. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  132. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  133. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  134. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  135. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  136. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  137. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  138. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  139. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  140. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
  142. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  144. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  145. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  146. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  147. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  148. package/dist/utils/CheckYourAnswers/index.js +1 -1
  149. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  150. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  151. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  152. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  153. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  154. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  155. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  156. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  157. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  158. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  159. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  160. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  161. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  162. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  163. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  164. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  165. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  166. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  167. package/dist/utils/CollectionPage/index.js +1 -1
  168. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  169. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  170. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  171. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  172. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  173. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  174. package/dist/utils/Component/addShowWhen.js +8 -4
  175. package/dist/utils/Component/addShowWhen.test.js +37 -37
  176. package/dist/utils/Component/applyToComponentTree.js +18 -18
  177. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  178. package/dist/utils/Component/cleanAttributes.js +13 -10
  179. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  180. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  181. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  182. package/dist/utils/Component/getComponent.js +94 -88
  183. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  184. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  185. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  186. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  187. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  188. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  191. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  192. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  193. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  194. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  196. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  197. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  199. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  200. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  202. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  203. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  204. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  205. package/dist/utils/Component/getDefaultValue.js +8 -6
  206. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  207. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  208. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  209. package/dist/utils/Component/index.js +1 -1
  210. package/dist/utils/Component/isEditable.js +4 -2
  211. package/dist/utils/Component/isEditable.test.js +15 -14
  212. package/dist/utils/Component/optionIsSelected.js +6 -1
  213. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  214. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  215. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  216. package/dist/utils/Component/showComponent.js +1 -1
  217. package/dist/utils/Component/showComponent.test.js +28 -28
  218. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  219. package/dist/utils/Condition/index.js +1 -1
  220. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  221. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  222. package/dist/utils/Condition/meetsCondition.js +25 -16
  223. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  224. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  225. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  226. package/dist/utils/Condition/setupConditions.js +18 -13
  227. package/dist/utils/Condition/setupConditions.test.js +7 -7
  228. package/dist/utils/Container/getEditableComponents.js +5 -3
  229. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  230. package/dist/utils/Container/index.js +1 -1
  231. package/dist/utils/Container/setupNesting.js +20 -16
  232. package/dist/utils/Container/setupNesting.test.js +30 -27
  233. package/dist/utils/Container/showContainer.js +7 -3
  234. package/dist/utils/Container/showContainer.test.js +30 -30
  235. package/dist/utils/Data/applyFormula.js +48 -38
  236. package/dist/utils/Data/applyFormula.test.js +20 -20
  237. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  238. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  239. package/dist/utils/Data/getDataPath.js +28 -18
  240. package/dist/utils/Data/getDataPath.test.js +12 -12
  241. package/dist/utils/Data/getOptions.js +30 -24
  242. package/dist/utils/Data/getOptions.test.js +27 -27
  243. package/dist/utils/Data/getSourceData.js +19 -6
  244. package/dist/utils/Data/getSourceData.test.js +80 -84
  245. package/dist/utils/Data/index.js +1 -1
  246. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  247. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  248. package/dist/utils/Data/refDataToOptions.js +13 -10
  249. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  250. package/dist/utils/Data/setDataItem.js +8 -7
  251. package/dist/utils/Data/setDataItem.test.js +37 -37
  252. package/dist/utils/Data/setupFormData.js +21 -13
  253. package/dist/utils/Data/setupFormData.test.js +50 -51
  254. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  255. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  256. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  257. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  258. package/dist/utils/FormPage/getConditionalText.js +3 -3
  259. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  260. package/dist/utils/FormPage/getFormPage.js +16 -15
  261. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  262. package/dist/utils/FormPage/getFormPages.js +12 -7
  263. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  264. package/dist/utils/FormPage/getPageActions.js +15 -9
  265. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  266. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  267. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  268. package/dist/utils/FormPage/index.js +4 -2
  269. package/dist/utils/FormPage/showFormPage.js +7 -3
  270. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  271. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  272. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  273. package/dist/utils/FormPage/useComponent.js +28 -21
  274. package/dist/utils/FormPage/useComponent.test.js +79 -77
  275. package/dist/utils/Format/formatData.js +1 -1
  276. package/dist/utils/Format/formatData.test.js +18 -18
  277. package/dist/utils/Format/formatDataForComponent.js +6 -5
  278. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  279. package/dist/utils/Format/formatDataForForm.js +8 -6
  280. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  281. package/dist/utils/Format/formatDataForPage.js +5 -4
  282. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  283. package/dist/utils/Format/index.js +1 -1
  284. package/dist/utils/Hub/getFormHub.js +1 -1
  285. package/dist/utils/Hub/getFormHub.test.js +31 -28
  286. package/dist/utils/Hub/index.js +1 -1
  287. package/dist/utils/Meta/constants.js +2 -2
  288. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  289. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  290. package/dist/utils/Meta/documents/index.js +1 -1
  291. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  292. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  293. package/dist/utils/Meta/index.js +1 -1
  294. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  295. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  296. package/dist/utils/Operate/getFirstOf.js +5 -5
  297. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  298. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  299. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  300. package/dist/utils/Operate/getLength.js +50 -0
  301. package/dist/utils/Operate/getLength.test.js +89 -0
  302. package/dist/utils/Operate/index.js +1 -1
  303. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  304. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  305. package/dist/utils/Operate/runPageOperations.js +9 -7
  306. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  307. package/dist/utils/Operate/setValueInFormData.js +2 -2
  308. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  309. package/dist/utils/Operate/shouldRun.js +6 -6
  310. package/dist/utils/Operate/shouldRun.test.js +27 -21
  311. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  312. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  313. package/dist/utils/Validate/additional/index.js +6 -6
  314. package/dist/utils/Validate/additional/index.test.js +12 -12
  315. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  317. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  318. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  319. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  320. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  321. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  322. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  323. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  325. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  327. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  328. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  329. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  330. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  331. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  333. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  334. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  335. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  337. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  338. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  339. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  340. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  341. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  342. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  343. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  344. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  345. package/dist/utils/Validate/additional/utils.js +22 -9
  346. package/dist/utils/Validate/index.js +1 -1
  347. package/dist/utils/Validate/validateCollection.js +25 -19
  348. package/dist/utils/Validate/validateCollection.test.js +66 -74
  349. package/dist/utils/Validate/validateComponent.js +21 -18
  350. package/dist/utils/Validate/validateComponent.test.js +176 -166
  351. package/dist/utils/Validate/validateContainer.js +20 -15
  352. package/dist/utils/Validate/validateContainer.test.js +52 -58
  353. package/dist/utils/Validate/validateDate.js +21 -15
  354. package/dist/utils/Validate/validateDate.test.js +32 -31
  355. package/dist/utils/Validate/validateEmail.js +8 -6
  356. package/dist/utils/Validate/validateEmail.test.js +25 -25
  357. package/dist/utils/Validate/validateMultifile.js +7 -5
  358. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  359. package/dist/utils/Validate/validatePage.js +22 -19
  360. package/dist/utils/Validate/validatePage.test.js +203 -215
  361. package/dist/utils/Validate/validateRegex.js +5 -3
  362. package/dist/utils/Validate/validateRegex.test.js +14 -14
  363. package/dist/utils/Validate/validateRequired.js +6 -4
  364. package/dist/utils/Validate/validateRequired.test.js +18 -18
  365. package/dist/utils/Validate/validateTextArea.js +6 -4
  366. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  367. package/dist/utils/Validate/validateTime.js +26 -11
  368. package/dist/utils/Validate/validateTime.test.js +62 -16
  369. package/dist/utils/index.js +9 -7
  370. package/package.json +2 -2
  371. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  372. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -5,28 +5,28 @@ var _setupRefDataUrlForComponent = _interopRequireDefault(require("./setupRefDat
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', () => {
9
- describe('Data', () => {
10
- describe('setupRefDataUrlForComponent', () => {
11
- const DATA = {
8
+ describe('utils', function () {
9
+ describe('Data', function () {
10
+ describe('setupRefDataUrlForComponent', function () {
11
+ var DATA = {
12
12
  urls: {
13
13
  refData: '/ref-data'
14
14
  }
15
15
  };
16
- it('can handle a null component', () => {
16
+ it('can handle a null component', function () {
17
17
  expect((0, _setupRefDataUrlForComponent.default)(null, DATA)).toBeNull();
18
18
  });
19
- it('can handle an undefined component', () => {
19
+ it('can handle an undefined component', function () {
20
20
  expect((0, _setupRefDataUrlForComponent.default)(undefined, DATA)).toBeUndefined();
21
21
  });
22
- it('can handle a component with no data property', () => {
23
- const COMPONENT = {
22
+ it('can handle a component with no data property', function () {
23
+ var COMPONENT = {
24
24
  id: 'component'
25
25
  };
26
26
  expect((0, _setupRefDataUrlForComponent.default)(COMPONENT, DATA)).toEqual(COMPONENT);
27
27
  });
28
- it('can handle a component with no data.url property', () => {
29
- const COMPONENT = {
28
+ it('can handle a component with no data.url property', function () {
29
+ var COMPONENT = {
30
30
  id: 'component',
31
31
  data: {
32
32
  options: []
@@ -34,8 +34,8 @@ describe('utils', () => {
34
34
  };
35
35
  expect((0, _setupRefDataUrlForComponent.default)(COMPONENT, DATA)).toEqual(COMPONENT);
36
36
  });
37
- it('should appropriately update the component URL', () => {
38
- const COMPONENT = {
37
+ it('should appropriately update the component URL', function () {
38
+ var COMPONENT = {
39
39
  id: 'component',
40
40
  // eslint-disable-next-line no-template-curly-in-string
41
41
  data: {
@@ -49,8 +49,8 @@ describe('utils', () => {
49
49
  }
50
50
  });
51
51
  });
52
- it('should leave a URL alone that does not require replacement', () => {
53
- const COMPONENT = {
52
+ it('should leave a URL alone that does not require replacement', function () {
53
+ var COMPONENT = {
54
54
  id: 'component',
55
55
  data: {
56
56
  url: '/somewhere-else/v1/teams'
@@ -63,8 +63,8 @@ describe('utils', () => {
63
63
  }
64
64
  });
65
65
  });
66
- it('should appropriately handle a missing value in the data', () => {
67
- const COMPONENT = {
66
+ it('should appropriately handle a missing value in the data', function () {
67
+ var COMPONENT = {
68
68
  id: 'component',
69
69
  // eslint-disable-next-line no-template-curly-in-string
70
70
  data: {
@@ -78,15 +78,15 @@ describe('utils', () => {
78
78
  }
79
79
  });
80
80
  });
81
- it('should appropriately update the component URLs within a container', () => {
82
- const COMPONENT = {
81
+ it('should appropriately update the component URLs within a container', function () {
82
+ var COMPONENT = {
83
83
  id: 'component',
84
84
  // eslint-disable-next-line no-template-curly-in-string
85
85
  data: {
86
86
  url: '${urls.refData}/v1/teams'
87
87
  }
88
88
  };
89
- const CONTAINER = {
89
+ var CONTAINER = {
90
90
  id: 'container',
91
91
  type: _models.ComponentTypes.CONTAINER,
92
92
  components: [COMPONENT]
@@ -102,15 +102,15 @@ describe('utils', () => {
102
102
  }]
103
103
  });
104
104
  });
105
- it('should appropriately update the component URLs within a collection', () => {
106
- const COMPONENT = {
105
+ it('should appropriately update the component URLs within a collection', function () {
106
+ var COMPONENT = {
107
107
  id: 'component',
108
108
  // eslint-disable-next-line no-template-curly-in-string
109
109
  data: {
110
110
  url: '${urls.refData}/v1/teams'
111
111
  }
112
112
  };
113
- const COLLECTION = {
113
+ var COLLECTION = {
114
114
  id: 'container',
115
115
  type: _models.ComponentTypes.COLLECTION,
116
116
  item: [COMPONENT]
@@ -126,8 +126,8 @@ describe('utils', () => {
126
126
  }]
127
127
  });
128
128
  });
129
- it('should not update the component URL when skipUrlInterpolation prop is true', () => {
130
- const COMPONENT = {
129
+ it('should not update the component URL when skipUrlInterpolation prop is true', function () {
130
+ var COMPONENT = {
131
131
  id: 'component',
132
132
  data: {
133
133
  // eslint-disable-next-line no-template-curly-in-string
@@ -6,20 +6,24 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _ = _interopRequireDefault(require(".."));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ 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; }
11
+ 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; }
12
+ 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; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
9
15
  /**
10
16
  * Apply properties to a page based on whether certain conditions are met.
11
17
  * @param {object} page The page object.
12
18
  * @returns A copy of the page object with any passing conditional
13
19
  * properties applied.
14
20
  */
15
- const applyConditionalProperties = page => {
21
+ var applyConditionalProperties = function applyConditionalProperties(page) {
16
22
  if (!page.conditionalProperties) {
17
23
  return page;
18
24
  }
19
- let pageWithProperties = {
20
- ...page
21
- };
22
- page.conditionalProperties.forEach(entry => {
25
+ var pageWithProperties = _objectSpread({}, page);
26
+ page.conditionalProperties.forEach(function (entry) {
23
27
  if (_.default.Condition.met(entry.condition, page.formData[entry.condition.field])) {
24
28
  pageWithProperties = Object.assign(pageWithProperties, entry.properties);
25
29
  }
@@ -2,18 +2,22 @@
2
2
 
3
3
  var _applyConditionalProperties = _interopRequireDefault(require("./applyConditionalProperties"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- // Local imports
6
-
7
- describe('utils.FormPage.applyConditionalProperties', () => {
8
- it('should not change the page if there are no conditional properties', () => {
9
- const PAGE = {
5
+ 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); }
6
+ 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; }
7
+ 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; }
8
+ 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; }
9
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
+ 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); } // Local imports
11
+ describe('utils.FormPage.applyConditionalProperties', function () {
12
+ it('should not change the page if there are no conditional properties', function () {
13
+ var PAGE = {
10
14
  id: 'testPage'
11
15
  };
12
- const result = (0, _applyConditionalProperties.default)(PAGE);
16
+ var result = (0, _applyConditionalProperties.default)(PAGE);
13
17
  expect(result).toEqual(PAGE);
14
18
  });
15
- it('should not apply properties with conditions that have not been met', () => {
16
- const PAGE = {
19
+ it('should not apply properties with conditions that have not been met', function () {
20
+ var PAGE = {
17
21
  id: 'testPage',
18
22
  conditionalProperties: [{
19
23
  condition: {
@@ -29,11 +33,11 @@ describe('utils.FormPage.applyConditionalProperties', () => {
29
33
  alpha: '012'
30
34
  }
31
35
  };
32
- const result = (0, _applyConditionalProperties.default)(PAGE);
36
+ var result = (0, _applyConditionalProperties.default)(PAGE);
33
37
  expect(result).toEqual(PAGE);
34
38
  });
35
- it('should apply properties with conditions that have been met', () => {
36
- const PAGE = {
39
+ it('should apply properties with conditions that have been met', function () {
40
+ var PAGE = {
37
41
  id: 'testPage',
38
42
  conditionalProperties: [{
39
43
  condition: {
@@ -49,10 +53,9 @@ describe('utils.FormPage.applyConditionalProperties', () => {
49
53
  alpha: '123'
50
54
  }
51
55
  };
52
- const result = (0, _applyConditionalProperties.default)(PAGE);
53
- expect(result).toEqual({
54
- ...PAGE,
56
+ var result = (0, _applyConditionalProperties.default)(PAGE);
57
+ expect(result).toEqual(_objectSpread(_objectSpread({}, PAGE), {}, {
55
58
  beta: '456'
56
- });
59
+ }));
57
60
  });
58
61
  });
@@ -32,15 +32,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
32
32
  * @param {String} key The key to use to find the text to use in each option, defaults to 'text'.
33
33
  * @returns The first string that passes its' conditions, or null if something went wrong.
34
34
  */
35
- const getConditionalText = function (options, formData) {
36
- let key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';
35
+ var getConditionalText = function getConditionalText(options, formData) {
36
+ var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';
37
37
  if (typeof options === 'string') {
38
38
  return _copReactComponents.Utils.interpolateString(options, formData);
39
39
  }
40
40
  if (!Array.isArray(options) || Object.keys(formData).length === 0) {
41
41
  return null;
42
42
  }
43
- const shownOption = options.find(option => {
43
+ var shownOption = options.find(function (option) {
44
44
  if (typeof option === 'string') {
45
45
  // This is intended to allow a plain string 'fallback' option in the array.
46
46
  // As such, it should be the last option in the array as any options after
@@ -2,26 +2,26 @@
2
2
 
3
3
  var _getConditionalText = _interopRequireDefault(require("./getConditionalText"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.FormPage.getConditionalText', () => {
6
- const FORM_DATA = {
5
+ describe('utils.FormPage.getConditionalText', function () {
6
+ var FORM_DATA = {
7
7
  testField: 'Alpha',
8
8
  testField2: 'yes'
9
9
  };
10
- it('should return null if no options are provided', () => {
11
- const result = (0, _getConditionalText.default)(null, FORM_DATA);
10
+ it('should return null if no options are provided', function () {
11
+ var result = (0, _getConditionalText.default)(null, FORM_DATA);
12
12
  expect(result).toEqual(null);
13
13
  });
14
- it('should return the option if it\'s just a string', () => {
15
- const result = (0, _getConditionalText.default)('abc123', FORM_DATA);
14
+ it('should return the option if it\'s just a string', function () {
15
+ var result = (0, _getConditionalText.default)('abc123', FORM_DATA);
16
16
  expect(result).toEqual('abc123');
17
17
  });
18
- it('should return a correctly interpolated string', () => {
18
+ it('should return a correctly interpolated string', function () {
19
19
  // eslint-disable-next-line no-template-curly-in-string
20
- const result = (0, _getConditionalText.default)('${testField} string', FORM_DATA);
20
+ var result = (0, _getConditionalText.default)('${testField} string', FORM_DATA);
21
21
  expect(result).toEqual("".concat(FORM_DATA.testField, " string"));
22
22
  });
23
- it('should return the option that has it\'s conditions met', () => {
24
- const OPTIONS = [{
23
+ it('should return the option that has it\'s conditions met', function () {
24
+ var OPTIONS = [{
25
25
  text: 'Text A',
26
26
  show_when: [{
27
27
  field: 'testField2',
@@ -36,11 +36,11 @@ describe('utils.FormPage.getConditionalText', () => {
36
36
  value: 'yes'
37
37
  }]
38
38
  }];
39
- const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
39
+ var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
40
40
  expect(result).toEqual('Text B');
41
41
  });
42
- it('should return a plain string option if one is encountered in the array', () => {
43
- const OPTIONS = [{
42
+ it('should return a plain string option if one is encountered in the array', function () {
43
+ var OPTIONS = [{
44
44
  text: 'Text A',
45
45
  show_when: [{
46
46
  field: 'testField2',
@@ -55,11 +55,11 @@ describe('utils.FormPage.getConditionalText', () => {
55
55
  value: 'notTheValue'
56
56
  }]
57
57
  }, "Default text"];
58
- const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
58
+ var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
59
59
  expect(result).toEqual('Default text');
60
60
  });
61
- it('should correctly interpolate a plain string option in the array', () => {
62
- const OPTIONS = [{
61
+ it('should correctly interpolate a plain string option in the array', function () {
62
+ var OPTIONS = [{
63
63
  text: 'Text A',
64
64
  show_when: [{
65
65
  field: 'testField2',
@@ -76,11 +76,11 @@ describe('utils.FormPage.getConditionalText', () => {
76
76
  },
77
77
  // eslint-disable-next-line no-template-curly-in-string
78
78
  "${testField} text"];
79
- const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
79
+ var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
80
80
  expect(result).toEqual("".concat(FORM_DATA.testField, " text"));
81
81
  });
82
- it('should correctly interpolate a conditional option', () => {
83
- const OPTIONS = [{
82
+ it('should correctly interpolate a conditional option', function () {
83
+ var OPTIONS = [{
84
84
  text: 'Text A',
85
85
  show_when: [{
86
86
  field: 'testField2',
@@ -96,11 +96,11 @@ describe('utils.FormPage.getConditionalText', () => {
96
96
  value: 'yes'
97
97
  }]
98
98
  }];
99
- const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
99
+ var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
100
100
  expect(result).toEqual("".concat(FORM_DATA.testField, " text"));
101
101
  });
102
- it('should correctly use a conditional option', () => {
103
- const OPTIONS = [{
102
+ it('should correctly use a conditional option', function () {
103
+ var OPTIONS = [{
104
104
  text: 'Text A',
105
105
  show_when: [{
106
106
  field: 'testField2',
@@ -116,11 +116,11 @@ describe('utils.FormPage.getConditionalText', () => {
116
116
  value: 'yes'
117
117
  }]
118
118
  }];
119
- const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
119
+ var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA);
120
120
  expect(result).toEqual("".concat(FORM_DATA.testField, " text"));
121
121
  });
122
- it('should correctly use a different key to find the text if one is provided', () => {
123
- const OPTIONS = [{
122
+ it('should correctly use a different key to find the text if one is provided', function () {
123
+ var OPTIONS = [{
124
124
  customKey: 'Text A',
125
125
  show_when: [{
126
126
  field: 'testField2',
@@ -136,11 +136,11 @@ describe('utils.FormPage.getConditionalText', () => {
136
136
  value: 'yes'
137
137
  }]
138
138
  }];
139
- const result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA, 'customKey');
139
+ var result = (0, _getConditionalText.default)(OPTIONS, FORM_DATA, 'customKey');
140
140
  expect(result).toEqual("".concat(FORM_DATA.testField, " text"));
141
141
  });
142
- it('should return null for a conditional option if formData is empty', () => {
143
- const OPTIONS = [{
142
+ it('should return null for a conditional option if formData is empty', function () {
143
+ var OPTIONS = [{
144
144
  text: 'Text A',
145
145
  show_when: [{
146
146
  field: 'testField2',
@@ -156,7 +156,7 @@ describe('utils.FormPage.getConditionalText', () => {
156
156
  value: 'yes'
157
157
  }]
158
158
  }];
159
- const result = (0, _getConditionalText.default)(OPTIONS, {});
159
+ var result = (0, _getConditionalText.default)(OPTIONS, {});
160
160
  expect(result).toEqual(null);
161
161
  });
162
162
  });
@@ -10,8 +10,12 @@ var _getPageActions = _interopRequireDefault(require("./getPageActions"));
10
10
  var _getParagraphFromText = _interopRequireDefault(require("./getParagraphFromText"));
11
11
  var _useComponent = _interopRequireDefault(require("./useComponent"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- // Local imports
14
-
13
+ 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); }
14
+ 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; }
15
+ 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; }
16
+ 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; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
+ 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); } // Local imports
15
19
  /**
16
20
  * Converts a page object defined in the JSON to a page object for rendering.
17
21
  * @param {object} pageOptions The JSON page.
@@ -19,30 +23,27 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
23
  * @param {object} formData The top-level form data, used for setting up components.
20
24
  * @returns A page object for rendering.
21
25
  */
22
- const getFormPage = (pageOptions, formComponents, formData) => {
26
+ var getFormPage = function getFormPage(pageOptions, formComponents, formData) {
23
27
  if (!pageOptions) {
24
28
  return null;
25
29
  }
26
- const components = pageOptions.components.map(componentOptions => {
30
+ var components = pageOptions.components.map(function (componentOptions) {
27
31
  if (typeof componentOptions === 'string') {
28
32
  return (0, _getParagraphFromText.default)(componentOptions);
29
33
  }
30
- let ret;
34
+ var ret;
31
35
  if (componentOptions.use) {
32
36
  ret = (0, _useComponent.default)(componentOptions, formComponents);
33
37
  } else {
34
- ret = {
35
- ...componentOptions
36
- };
38
+ ret = _objectSpread({}, componentOptions);
37
39
  }
38
40
  return formData ? _Data.default.refData.setupUrl(ret, formData) : ret;
39
41
  });
40
- const actions = (0, _getPageActions.default)(pageOptions);
41
- return _Container.default.setup({
42
- ...pageOptions,
43
- formData,
44
- components,
45
- actions
46
- });
42
+ var actions = (0, _getPageActions.default)(pageOptions);
43
+ return _Container.default.setup(_objectSpread(_objectSpread({}, pageOptions), {}, {
44
+ formData: formData,
45
+ components: components,
46
+ actions: actions
47
+ }));
47
48
  };
48
49
  var _default = exports.default = getFormPage;
@@ -2,12 +2,16 @@
2
2
 
3
3
  var _getFormPage = _interopRequireDefault(require("./getFormPage"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- // Local imports
6
-
7
- describe('utils', () => {
8
- describe('FormPage', () => {
9
- describe('getFormPage', () => {
10
- const FORM_COMPONENTS = [{
5
+ 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); }
6
+ 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; }
7
+ 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; }
8
+ 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; }
9
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
+ 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); } // Local imports
11
+ describe('utils', function () {
12
+ describe('FormPage', function () {
13
+ describe('getFormPage', function () {
14
+ var FORM_COMPONENTS = [{
11
15
  id: 'a',
12
16
  fieldId: 'a',
13
17
  label: 'Alpha',
@@ -42,17 +46,17 @@ describe('utils', () => {
42
46
  label: 'Bravo ${currentUser.surname}',
43
47
  type: 'text'
44
48
  }];
45
- const FORM_DATA = {
49
+ var FORM_DATA = {
46
50
  urls: {
47
51
  refData: 'https://ho.gov.uk/ref-data/'
48
52
  }
49
53
  };
50
- it('should handle null or undefined pageOptions', () => {
54
+ it('should handle null or undefined pageOptions', function () {
51
55
  expect((0, _getFormPage.default)(null, FORM_COMPONENTS, FORM_DATA)).toBeNull();
52
56
  expect((0, _getFormPage.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toBeNull();
53
57
  });
54
- it('should handle a page not using any form components', () => {
55
- const PAGE = {
58
+ it('should handle a page not using any form components', function () {
59
+ var PAGE = {
56
60
  title: 'Page',
57
61
  components: [{
58
62
  type: 'heading',
@@ -66,8 +70,8 @@ describe('utils', () => {
66
70
  formData: FORM_DATA
67
71
  });
68
72
  });
69
- it('should handle a page with inline strings and convert them to paragraphs', () => {
70
- const PAGE = {
73
+ it('should handle a page with inline strings and convert them to paragraphs', function () {
74
+ var PAGE = {
71
75
  title: 'Page',
72
76
  components: ["Opening paragraph", {
73
77
  type: 'heading',
@@ -81,10 +85,9 @@ describe('utils', () => {
81
85
  type: 'html',
82
86
  tagName: 'p',
83
87
  content: PAGE.components[0]
84
- }, {
85
- ...PAGE.components[1],
88
+ }, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
86
89
  full_path: PAGE.components[1].fieldId
87
- }, {
90
+ }), {
88
91
  type: 'html',
89
92
  tagName: 'p',
90
93
  content: PAGE.components[2]
@@ -92,8 +95,8 @@ describe('utils', () => {
92
95
  formData: FORM_DATA
93
96
  });
94
97
  });
95
- it('should handle a page that references a form-level component', () => {
96
- const PAGE = {
98
+ it('should handle a page that references a form-level component', function () {
99
+ var PAGE = {
97
100
  title: 'Page',
98
101
  components: ["Opening paragraph", {
99
102
  type: 'heading',
@@ -103,31 +106,30 @@ describe('utils', () => {
103
106
  use: 'a'
104
107
  }]
105
108
  };
106
- const A = FORM_COMPONENTS[0];
109
+ var A = FORM_COMPONENTS[0];
107
110
  expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
108
111
  title: PAGE.title,
109
112
  components: [{
110
113
  type: 'html',
111
114
  tagName: 'p',
112
115
  content: PAGE.components[0]
113
- }, {
114
- ...PAGE.components[1],
116
+ }, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
115
117
  full_path: PAGE.components[1].fieldId
116
- }, {
118
+ }), {
117
119
  type: 'html',
118
120
  tagName: 'p',
119
121
  content: PAGE.components[2]
120
- }, {
121
- use: 'a',
122
- ...A,
122
+ }, _objectSpread(_objectSpread({
123
+ use: 'a'
124
+ }, A), {}, {
123
125
  cya_label: A.label,
124
126
  full_path: A.fieldId
125
- }],
127
+ })],
126
128
  formData: FORM_DATA
127
129
  });
128
130
  });
129
- it('should handle a page that references a form-level component with a data url', () => {
130
- const PAGE = {
131
+ it('should handle a page that references a form-level component with a data url', function () {
132
+ var PAGE = {
131
133
  title: 'Page',
132
134
  components: ["Opening paragraph", {
133
135
  type: 'heading',
@@ -137,34 +139,33 @@ describe('utils', () => {
137
139
  use: 'c'
138
140
  }]
139
141
  };
140
- const C = FORM_COMPONENTS[2];
142
+ var C = FORM_COMPONENTS[2];
141
143
  expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
142
144
  title: PAGE.title,
143
145
  components: [{
144
146
  type: 'html',
145
147
  tagName: 'p',
146
148
  content: PAGE.components[0]
147
- }, {
148
- ...PAGE.components[1],
149
+ }, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
149
150
  full_path: PAGE.components[1].fieldId
150
- }, {
151
+ }), {
151
152
  type: 'html',
152
153
  tagName: 'p',
153
154
  content: PAGE.components[2]
154
- }, {
155
- use: 'c',
156
- ...C,
155
+ }, _objectSpread(_objectSpread({
156
+ use: 'c'
157
+ }, C), {}, {
157
158
  cya_label: C.label,
158
159
  data: {
159
160
  url: "".concat(FORM_DATA.urls.refData, "/v3/charlies")
160
161
  },
161
162
  full_path: C.fieldId
162
- }],
163
+ })],
163
164
  formData: FORM_DATA
164
165
  });
165
166
  });
166
- it('should handle a page that references a form-level component with a data url without an environment context', () => {
167
- const PAGE = {
167
+ it('should handle a page that references a form-level component with a data url without an environment context', function () {
168
+ var PAGE = {
168
169
  title: 'Page',
169
170
  components: ["Opening paragraph", {
170
171
  type: 'heading',
@@ -174,31 +175,29 @@ describe('utils', () => {
174
175
  use: 'c'
175
176
  }]
176
177
  };
177
- const C = FORM_COMPONENTS[2];
178
+ var C = FORM_COMPONENTS[2];
178
179
  expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, {})).toEqual({
179
180
  title: PAGE.title,
180
181
  components: [{
181
182
  type: 'html',
182
183
  tagName: 'p',
183
184
  content: PAGE.components[0]
184
- }, {
185
- ...PAGE.components[1],
185
+ }, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
186
186
  full_path: PAGE.components[1].fieldId
187
- }, {
187
+ }), {
188
188
  type: 'html',
189
189
  tagName: 'p',
190
190
  content: PAGE.components[2]
191
- },
192
- // eslint-disable-next-line no-template-curly-in-string
193
- {
194
- use: 'c',
195
- ...C,
191
+ }, // eslint-disable-next-line no-template-curly-in-string
192
+ _objectSpread(_objectSpread({
193
+ use: 'c'
194
+ }, C), {}, {
196
195
  cya_label: C.label,
197
196
  full_path: C.fieldId,
198
197
  data: {
199
198
  url: '/v3/charlies'
200
199
  }
201
- }],
200
+ })],
202
201
  formData: {}
203
202
  });
204
203
  });