@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
@@ -5,14 +5,14 @@ var _getPageActions = _interopRequireDefault(require("./getPageActions"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', () => {
9
- describe('FormPage', () => {
10
- describe('getPageActions', () => {
11
- it('should handle a null or undefined page', () => {
8
+ describe('utils', function () {
9
+ describe('FormPage', function () {
10
+ describe('getPageActions', function () {
11
+ it('should handle a null or undefined page', function () {
12
12
  expect((0, _getPageActions.default)(null)).toBeUndefined();
13
13
  expect((0, _getPageActions.default)(undefined)).toBeUndefined();
14
14
  });
15
- it('should handle a null or undefined actions array', () => {
15
+ it('should handle a null or undefined actions array', function () {
16
16
  expect((0, _getPageActions.default)({
17
17
  actions: null
18
18
  })).toBeUndefined();
@@ -20,89 +20,89 @@ describe('utils', () => {
20
20
  actions: undefined
21
21
  })).toBeUndefined();
22
22
  });
23
- it('should handle an array of strings', () => {
24
- const actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN];
23
+ it('should handle an array of strings', function () {
24
+ var actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN];
25
25
  expect((0, _getPageActions.default)({
26
- actions
26
+ actions: actions
27
27
  })).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
28
28
  });
29
- it('should handle a null entry in the array', () => {
30
- const actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN, null];
29
+ it('should handle a null entry in the array', function () {
30
+ var actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN, null];
31
31
  expect((0, _getPageActions.default)({
32
- actions
32
+ actions: actions
33
33
  })).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
34
34
  });
35
- it('should handle an undefined entry in the array', () => {
36
- const actions = [undefined, _models.PageAction.TYPES.SAVE_AND_CONTINUE, undefined, _models.PageAction.TYPES.SAVE_AND_RETURN];
35
+ it('should handle an undefined entry in the array', function () {
36
+ var actions = [undefined, _models.PageAction.TYPES.SAVE_AND_CONTINUE, undefined, _models.PageAction.TYPES.SAVE_AND_RETURN];
37
37
  expect((0, _getPageActions.default)({
38
- actions
38
+ actions: actions
39
39
  })).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
40
40
  });
41
- it('should handle an object entry in the array', () => {
42
- const actions = [{
41
+ it('should handle an object entry in the array', function () {
42
+ var actions = [{
43
43
  type: 'navigate',
44
44
  page: 'alpha'
45
45
  }];
46
46
  expect((0, _getPageActions.default)({
47
- actions
47
+ actions: actions
48
48
  })).toEqual(actions);
49
49
  });
50
- it('should convert an href to a page', () => {
51
- const actions = [{
50
+ it('should convert an href to a page', function () {
51
+ var actions = [{
52
52
  type: 'navigate',
53
53
  href: '/alpha/bravo'
54
54
  }];
55
55
  expect((0, _getPageActions.default)({
56
- actions
56
+ actions: actions
57
57
  })).toEqual([{
58
58
  type: 'navigate',
59
59
  page: 'bravo',
60
60
  href: '/alpha/bravo'
61
61
  }]);
62
62
  });
63
- it('should convert a url to a page', () => {
64
- const actions = [{
63
+ it('should convert a url to a page', function () {
64
+ var actions = [{
65
65
  type: 'navigate',
66
66
  url: '/alpha/bravo'
67
67
  }];
68
68
  expect((0, _getPageActions.default)({
69
- actions
69
+ actions: actions
70
70
  })).toEqual([{
71
71
  type: 'navigate',
72
72
  page: 'bravo',
73
73
  url: '/alpha/bravo'
74
74
  }]);
75
75
  });
76
- it('should handle an action without a page, href, or url', () => {
77
- const actions = [{
76
+ it('should handle an action without a page, href, or url', function () {
77
+ var actions = [{
78
78
  type: 'submit',
79
79
  label: 'Charlie'
80
80
  }];
81
81
  expect((0, _getPageActions.default)({
82
- actions
82
+ actions: actions
83
83
  })).toEqual(actions);
84
84
  });
85
- it('should add a default validation prop if none are present', () => {
86
- const actions = [{
85
+ it('should add a default validation prop if none are present', function () {
86
+ var actions = [{
87
87
  type: 'saveAndContinue',
88
88
  label: 'Charlie'
89
89
  }];
90
90
  expect((0, _getPageActions.default)({
91
- actions
91
+ actions: actions
92
92
  })).toEqual([{
93
93
  type: 'saveAndContinue',
94
94
  label: 'Charlie',
95
95
  validate: true
96
96
  }]);
97
97
  });
98
- it('should not overwrite a validation prop when one exists', () => {
99
- const actions = [{
98
+ it('should not overwrite a validation prop when one exists', function () {
99
+ var actions = [{
100
100
  type: 'submit',
101
101
  label: 'Charlie',
102
102
  validate: false
103
103
  }];
104
104
  expect((0, _getPageActions.default)({
105
- actions
105
+ actions: actions
106
106
  })).toEqual([{
107
107
  type: 'submit',
108
108
  label: 'Charlie',
@@ -12,9 +12,11 @@ var _models = require("../../models");
12
12
  * @param {string} content The content to render as a paragraph.
13
13
  * @returns An HTML component configuration for a paragraph of the supplied tect.
14
14
  */
15
- const getParagraphFromText = content => ({
16
- type: _models.ComponentTypes.HTML,
17
- tagName: 'p',
18
- content
19
- });
15
+ var getParagraphFromText = function getParagraphFromText(content) {
16
+ return {
17
+ type: _models.ComponentTypes.HTML,
18
+ tagName: 'p',
19
+ content: content
20
+ };
21
+ };
20
22
  var _default = exports.default = getParagraphFromText;
@@ -5,18 +5,18 @@ var _getParagraphFromText = _interopRequireDefault(require("./getParagraphFromTe
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', () => {
9
- describe('FormPage', () => {
10
- describe('getParagraphFromText', () => {
11
- it('should handle text content', () => {
12
- const CONTENT = 'Appropriate text content';
8
+ describe('utils', function () {
9
+ describe('FormPage', function () {
10
+ describe('getParagraphFromText', function () {
11
+ it('should handle text content', function () {
12
+ var CONTENT = 'Appropriate text content';
13
13
  expect((0, _getParagraphFromText.default)(CONTENT)).toEqual({
14
14
  type: _models.ComponentTypes.HTML,
15
15
  tagName: 'p',
16
16
  content: CONTENT
17
17
  });
18
18
  });
19
- it('should handle undefined content', () => {
19
+ it('should handle undefined content', function () {
20
20
  expect((0, _getParagraphFromText.default)(undefined)).toEqual({
21
21
  type: _models.ComponentTypes.HTML,
22
22
  tagName: 'p'
@@ -11,12 +11,14 @@ var _getFormPages = _interopRequireDefault(require("./getFormPages"));
11
11
  var _showFormPage = _interopRequireDefault(require("./showFormPage"));
12
12
  var _showFormPageCYA = _interopRequireDefault(require("./showFormPageCYA"));
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- const FormPage = {
14
+ var FormPage = {
15
15
  applyConditionalProperties: _applyConditionalProperties.default,
16
16
  getConditionalText: _getConditionalText.default,
17
17
  get: _getFormPage.default,
18
18
  getAll: _getFormPages.default,
19
- getTitle: (options, formData) => (0, _getConditionalText.default)(options, formData, 'title'),
19
+ getTitle: function getTitle(options, formData) {
20
+ return (0, _getConditionalText.default)(options, formData, 'title');
21
+ },
20
22
  show: _showFormPage.default,
21
23
  showCYA: _showFormPageCYA.default
22
24
  };
@@ -16,7 +16,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
16
16
  * @param {object} data The top-level form data.
17
17
  * @returns Boolean true if ANY of the editable components should be shown; false otherwise.
18
18
  */
19
- const showEditableComponent = (editableComponents, data) => editableComponents.some(component => (0, _showComponent.default)(component, data));
19
+ var showEditableComponent = function showEditableComponent(editableComponents, data) {
20
+ return editableComponents.some(function (component) {
21
+ return (0, _showComponent.default)(component, data);
22
+ });
23
+ };
20
24
 
21
25
  /**
22
26
  * Indicates whether or not a page should be shown.
@@ -24,7 +28,7 @@ const showEditableComponent = (editableComponents, data) => editableComponents.s
24
28
  * @param {object} data The top-level form data.
25
29
  * @returns Boolean true if the page should be shown; false if not.
26
30
  */
27
- const showFormPage = (page, data) => {
31
+ var showFormPage = function showFormPage(page, data) {
28
32
  if (!page) {
29
33
  return false;
30
34
  }
@@ -39,7 +43,7 @@ const showFormPage = (page, data) => {
39
43
 
40
44
  // If the page itself doesn't have a show_when, we need to make sure that if it
41
45
  // contains ANY editable components, at least one of them is shown.
42
- const editableComponents = _Container.default.editableComponents(page);
46
+ var editableComponents = _Container.default.editableComponents(page);
43
47
  if (editableComponents.length > 0) {
44
48
  return showEditableComponent(editableComponents, data);
45
49
  }
@@ -2,32 +2,32 @@
2
2
 
3
3
  var _showFormPage = _interopRequireDefault(require("./showFormPage"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', () => {
6
- describe('FormPage', () => {
7
- describe('showFormPage', () => {
8
- const DATA = {
5
+ describe('utils', function () {
6
+ describe('FormPage', function () {
7
+ describe('showFormPage', function () {
8
+ var DATA = {
9
9
  alpha: 'Alpha',
10
10
  bravo: 'Bravo'
11
11
  };
12
- const HTML = {
12
+ var HTML = {
13
13
  type: 'html',
14
14
  tagName: 'p',
15
15
  content: 'Alpha'
16
16
  };
17
- const INSET_TEXT = {
17
+ var INSET_TEXT = {
18
18
  type: 'inset-text',
19
19
  content: 'Bravo'
20
20
  };
21
- const HEADING = {
21
+ var HEADING = {
22
22
  type: 'heading',
23
23
  size: 'm',
24
24
  content: 'Charlie'
25
25
  };
26
- it('should NOT be shown when the page is null', () => {
26
+ it('should NOT be shown when the page is null', function () {
27
27
  expect((0, _showFormPage.default)(null, DATA)).toBeFalsy();
28
28
  });
29
- it('should NOT be shown when the page has a single show_when condition that is NOT matched', () => {
30
- const PAGE = {
29
+ it('should NOT be shown when the page has a single show_when condition that is NOT matched', function () {
30
+ var PAGE = {
31
31
  show_when: {
32
32
  field: 'charlie',
33
33
  op: '=',
@@ -36,8 +36,8 @@ describe('utils', () => {
36
36
  };
37
37
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
38
38
  });
39
- it('should NOT be shown when the page has a multiple show_when conditions and at least one is NOT matched', () => {
40
- const PAGE = {
39
+ it('should NOT be shown when the page has a multiple show_when conditions and at least one is NOT matched', function () {
40
+ var PAGE = {
41
41
  show_when: [{
42
42
  field: 'alpha',
43
43
  op: '=',
@@ -50,8 +50,8 @@ describe('utils', () => {
50
50
  };
51
51
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
52
52
  });
53
- it('SHOULD be shown when the page has a single show_when condition that IS matched', () => {
54
- const PAGE = {
53
+ it('SHOULD be shown when the page has a single show_when condition that IS matched', function () {
54
+ var PAGE = {
55
55
  show_when: {
56
56
  field: 'alpha',
57
57
  op: '=',
@@ -60,8 +60,8 @@ describe('utils', () => {
60
60
  };
61
61
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
62
62
  });
63
- it('SHOULD be shown when the page has a multiple show_when conditions that are ALL matched', () => {
64
- const PAGE = {
63
+ it('SHOULD be shown when the page has a multiple show_when conditions that are ALL matched', function () {
64
+ var PAGE = {
65
65
  show_when: [{
66
66
  field: 'alpha',
67
67
  op: '=',
@@ -74,14 +74,14 @@ describe('utils', () => {
74
74
  };
75
75
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
76
76
  });
77
- it('SHOULD be shown when the page has NO show_when conditions and NO editable components', () => {
78
- const PAGE = {
77
+ it('SHOULD be shown when the page has NO show_when conditions and NO editable components', function () {
78
+ var PAGE = {
79
79
  components: [HTML, INSET_TEXT, HEADING]
80
80
  };
81
81
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
82
82
  });
83
- it('should NOT be shown when the page has NO show_when conditions and NO SHOWN editable components', () => {
84
- const TEXT = {
83
+ it('should NOT be shown when the page has NO show_when conditions and NO SHOWN editable components', function () {
84
+ var TEXT = {
85
85
  type: 'text',
86
86
  show_when: {
87
87
  field: 'charlie',
@@ -89,7 +89,7 @@ describe('utils', () => {
89
89
  value: 'Charlie'
90
90
  }
91
91
  };
92
- const RADIOS = {
92
+ var RADIOS = {
93
93
  type: 'radios',
94
94
  show_when: {
95
95
  field: 'charlie',
@@ -97,13 +97,13 @@ describe('utils', () => {
97
97
  value: 'Charlie'
98
98
  }
99
99
  };
100
- const PAGE = {
100
+ var PAGE = {
101
101
  components: [TEXT, RADIOS]
102
102
  };
103
103
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
104
104
  });
105
- it('SHOULD be shown when the page has NO show_when conditions and AT LEAST ONE SHOWN editable components', () => {
106
- const TEXT = {
105
+ it('SHOULD be shown when the page has NO show_when conditions and AT LEAST ONE SHOWN editable components', function () {
106
+ var TEXT = {
107
107
  type: 'text',
108
108
  show_when: {
109
109
  field: 'alpha',
@@ -111,7 +111,7 @@ describe('utils', () => {
111
111
  value: 'Alpha'
112
112
  }
113
113
  };
114
- const RADIOS = {
114
+ var RADIOS = {
115
115
  type: 'radios',
116
116
  show_when: {
117
117
  field: 'charlie',
@@ -119,13 +119,13 @@ describe('utils', () => {
119
119
  value: 'Charlie'
120
120
  }
121
121
  };
122
- const PAGE = {
122
+ var PAGE = {
123
123
  components: [TEXT, RADIOS]
124
124
  };
125
125
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
126
126
  });
127
- it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and ALL are matched', () => {
128
- const PAGE = {
127
+ it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and ALL are matched', function () {
128
+ var PAGE = {
129
129
  show_when: {
130
130
  "type": "or",
131
131
  "conditions": [{
@@ -141,8 +141,8 @@ describe('utils', () => {
141
141
  };
142
142
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
143
143
  });
144
- it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and at least ONE is matched', () => {
145
- const PAGE = {
144
+ it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and at least ONE is matched', function () {
145
+ var PAGE = {
146
146
  show_when: {
147
147
  "type": "or",
148
148
  "conditions": [{
@@ -158,8 +158,8 @@ describe('utils', () => {
158
158
  };
159
159
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
160
160
  });
161
- it('should NOT be shown when the page has multiple show_when conditions, with type "or" provided and NONE are matched', () => {
162
- const PAGE = {
161
+ it('should NOT be shown when the page has multiple show_when conditions, with type "or" provided and NONE are matched', function () {
162
+ var PAGE = {
163
163
  show_when: {
164
164
  "type": "or",
165
165
  "conditions": [{
@@ -12,7 +12,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * @param {object} data The top-level form data.
13
13
  * @returns Boolean true if the page should be shown; false if not.
14
14
  */
15
- const showFormPageCYA = (page, data) => {
15
+ var showFormPageCYA = function showFormPageCYA(page, data) {
16
16
  // eslint-disable-next-line no-prototype-builtins
17
17
  if (page !== null && page !== void 0 && page.hasOwnProperty('show_on_cya') && !page.show_on_cya) {
18
18
  return false;
@@ -2,27 +2,27 @@
2
2
 
3
3
  var _showFormPageCYA = _interopRequireDefault(require("./showFormPageCYA"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.FormPage.showFormPageCYA', () => {
6
- const DATA = {
5
+ describe('utils.FormPage.showFormPageCYA', function () {
6
+ var DATA = {
7
7
  alpha: 'Alpha',
8
8
  bravo: 'Bravo'
9
9
  };
10
- it('should NOT be shown when the page is null', () => {
10
+ it('should NOT be shown when the page is null', function () {
11
11
  expect((0, _showFormPageCYA.default)(null, DATA)).toEqual(false);
12
12
  });
13
- it('should NOT be shown if the show_on_cya flag is false', () => {
14
- const PAGE = {
13
+ it('should NOT be shown if the show_on_cya flag is false', function () {
14
+ var PAGE = {
15
15
  show_on_cya: false
16
16
  };
17
17
  expect((0, _showFormPageCYA.default)(PAGE, DATA)).toEqual(false);
18
18
  });
19
- it('SHOULD be shown if the show_on_cya flag is true', () => {
20
- const PAGE = {
19
+ it('SHOULD be shown if the show_on_cya flag is true', function () {
20
+ var PAGE = {
21
21
  show_on_cya: true
22
22
  };
23
23
  expect((0, _showFormPageCYA.default)(PAGE, DATA)).toEqual(true);
24
24
  });
25
- it('SHOULD be shown if the show_on_cya flag is missing', () => {
25
+ it('SHOULD be shown if the show_on_cya flag is missing', function () {
26
26
  expect((0, _showFormPageCYA.default)({}, DATA)).toEqual(true);
27
27
  });
28
28
  });
@@ -4,21 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- const getComponentToUse = (toUse, formComponents) => {
8
- const path = toUse.use.split('.');
9
- const firstId = path.shift();
10
- let wrapper = JSON.parse(JSON.stringify({
11
- ...formComponents.find(fc => fc.id === firstId)
12
- }));
13
- let component = wrapper;
14
- let parent = wrapper;
15
- while (component && path.length > 0) {
16
- const id = path.shift();
7
+ 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); }
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ 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; }
11
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
+ 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); }
13
+ var getComponentToUse = function getComponentToUse(toUse, formComponents) {
14
+ var path = toUse.use.split('.');
15
+ var firstId = path.shift();
16
+ var wrapper = JSON.parse(JSON.stringify(_objectSpread({}, formComponents.find(function (fc) {
17
+ return fc.id === firstId;
18
+ }))));
19
+ var component = wrapper;
20
+ var parent = wrapper;
21
+ var _loop = function _loop() {
22
+ var id = path.shift();
17
23
  if (Array.isArray(component.components)) {
18
24
  // Filter the parent components down to just the one referenced
19
25
  // by the current id.
20
26
  parent = component;
21
- parent.components = parent.components.filter(c => c.id === id);
27
+ parent.components = parent.components.filter(function (c) {
28
+ return c.id === id;
29
+ });
22
30
  if (parent.components.length > 0) {
23
31
  // Make the found child the parent so we can iterate.
24
32
  // eslint-disable-next-line prefer-destructuring
@@ -32,13 +40,14 @@ const getComponentToUse = (toUse, formComponents) => {
32
40
  // components on this parent.
33
41
  component = undefined;
34
42
  }
43
+ };
44
+ while (component && path.length > 0) {
45
+ _loop();
35
46
  }
36
47
  if (component) {
37
- component = {
38
- cya_label: component.label,
39
- ...component,
40
- ...toUse
41
- };
48
+ component = _objectSpread(_objectSpread({
49
+ cya_label: component.label
50
+ }, component), toUse);
42
51
  if (parent && parent.id !== component.id) {
43
52
  parent.components = [component];
44
53
  } else {
@@ -58,15 +67,13 @@ const getComponentToUse = (toUse, formComponents) => {
58
67
  * @param {Array} formComponents An array of existing components on the form.
59
68
  * @returns A component configuration object.
60
69
  */
61
- const useComponent = (toUse, formComponents) => {
70
+ var useComponent = function useComponent(toUse, formComponents) {
62
71
  if (toUse) {
63
- const component = getComponentToUse(toUse, formComponents);
72
+ var component = getComponentToUse(toUse, formComponents);
64
73
  if (component) {
65
74
  return component;
66
75
  }
67
76
  }
68
- return {
69
- ...toUse
70
- };
77
+ return _objectSpread({}, toUse);
71
78
  };
72
79
  var _default = exports.default = useComponent;