@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
@@ -3,18 +3,22 @@
3
3
  var _models = require("../../models");
4
4
  var _useComponent = _interopRequireDefault(require("./useComponent"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- // Local imports
7
-
8
- describe('utils', () => {
9
- describe('FormPage', () => {
10
- describe('useComponent', () => {
11
- const ZULU = {
6
+ 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); }
7
+ 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; }
8
+ 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; }
9
+ 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; }
10
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
11
+ 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
12
+ describe('utils', function () {
13
+ describe('FormPage', function () {
14
+ describe('useComponent', function () {
15
+ var ZULU = {
12
16
  id: 'z',
13
17
  fieldId: 'z',
14
18
  label: 'Zulu',
15
19
  type: _models.ComponentTypes.TEXT
16
20
  };
17
- const CONTAINER = {
21
+ var CONTAINER = {
18
22
  id: 'container',
19
23
  fieldId: 'container',
20
24
  label: 'Container',
@@ -26,7 +30,7 @@ describe('utils', () => {
26
30
  type: _models.ComponentTypes.TEXT
27
31
  }, ZULU]
28
32
  };
29
- const FORM_COMPONENTS = [{
33
+ var FORM_COMPONENTS = [{
30
34
  id: 'a',
31
35
  fieldId: 'a',
32
36
  label: 'Alpha',
@@ -47,131 +51,129 @@ describe('utils', () => {
47
51
  cya_label: 'Delta',
48
52
  type: _models.ComponentTypes.TEXT
49
53
  }, CONTAINER];
50
- it('should handle a null toUse configuration', () => {
51
- const TO_USE = null;
54
+ it('should handle a null toUse configuration', function () {
55
+ var TO_USE = null;
52
56
  expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({});
53
57
  });
54
- it('should handle an unrecognised component reference', () => {
55
- const TO_USE = {
58
+ it('should handle an unrecognised component reference', function () {
59
+ var TO_USE = {
56
60
  use: 'e',
57
61
  label: 'Echo'
58
62
  };
59
63
  expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(TO_USE);
60
64
  });
61
- it('should use the appropriate component', () => {
62
- const TO_USE = {
65
+ it('should use the appropriate component', function () {
66
+ var TO_USE = {
63
67
  use: 'a'
64
68
  };
65
- const A = FORM_COMPONENTS[0];
66
- expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
67
- use: 'a',
68
- ...A,
69
+ var A = FORM_COMPONENTS[0];
70
+ expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
71
+ use: 'a'
72
+ }, A), {}, {
69
73
  cya_label: A.label
70
- });
74
+ }));
71
75
  });
72
- it('should allow the fieldId to be overridden', () => {
73
- const TO_USE = {
76
+ it('should allow the fieldId to be overridden', function () {
77
+ var TO_USE = {
74
78
  use: 'a',
75
79
  fieldId: 'alpha'
76
80
  };
77
- const A = FORM_COMPONENTS[0];
78
- expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
79
- use: 'a',
80
- ...A,
81
+ var A = FORM_COMPONENTS[0];
82
+ expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
83
+ use: 'a'
84
+ }, A), {}, {
81
85
  cya_label: A.label,
82
86
  fieldId: TO_USE.fieldId
83
- });
87
+ }));
84
88
  });
85
- it('should allow the label to be overridden but keep the cya_label unaffected', () => {
86
- const TO_USE = {
89
+ it('should allow the label to be overridden but keep the cya_label unaffected', function () {
90
+ var TO_USE = {
87
91
  use: 'a',
88
92
  label: 'Alpha foxtrot'
89
93
  };
90
- const A = FORM_COMPONENTS[0];
91
- expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
92
- use: 'a',
93
- ...A,
94
+ var A = FORM_COMPONENTS[0];
95
+ expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
96
+ use: 'a'
97
+ }, A), {}, {
94
98
  cya_label: A.label,
95
99
  label: TO_USE.label
96
- });
100
+ }));
97
101
  });
98
- it('should allow the form component cya_label, if label is empty', () => {
99
- const TO_USE = {
102
+ it('should allow the form component cya_label, if label is empty', function () {
103
+ var TO_USE = {
100
104
  use: 'd',
101
105
  label: ''
102
106
  };
103
- const A = FORM_COMPONENTS[3];
104
- expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
105
- use: 'd',
106
- ...A,
107
+ var A = FORM_COMPONENTS[3];
108
+ expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
109
+ use: 'd'
110
+ }, A), {}, {
107
111
  cya_label: A.cya_label,
108
112
  label: TO_USE.label
109
- });
113
+ }));
110
114
  });
111
- it('should allow the form component cya_label, if label is not given', () => {
112
- const TO_USE = {
115
+ it('should allow the form component cya_label, if label is not given', function () {
116
+ var TO_USE = {
113
117
  use: 'd'
114
118
  };
115
- const A = FORM_COMPONENTS[3];
116
- expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
117
- use: 'd',
118
- ...A,
119
+ var A = FORM_COMPONENTS[3];
120
+ expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
121
+ use: 'd'
122
+ }, A), {}, {
119
123
  cya_label: A.cya_label,
120
124
  label: TO_USE.label
121
- });
125
+ }));
122
126
  });
123
- it('should handle a container', () => {
124
- const TO_USE = {
127
+ it('should handle a container', function () {
128
+ var TO_USE = {
125
129
  use: CONTAINER.id
126
130
  };
127
- expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
128
- use: CONTAINER.id,
129
- ...CONTAINER,
131
+ expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
132
+ use: CONTAINER.id
133
+ }, CONTAINER), {}, {
130
134
  cya_label: CONTAINER.label
131
- });
135
+ }));
132
136
  });
133
- it('should handle a component nested inside a container', () => {
134
- const ID = "".concat(CONTAINER.id, ".").concat(ZULU.id);
135
- const TO_USE = {
137
+ it('should handle a component nested inside a container', function () {
138
+ var ID = "".concat(CONTAINER.id, ".").concat(ZULU.id);
139
+ var TO_USE = {
136
140
  use: ID
137
141
  };
138
- expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
139
- ...CONTAINER,
140
- components: [{
141
- use: ID,
142
- ...ZULU,
142
+ expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({}, CONTAINER), {}, {
143
+ components: [_objectSpread(_objectSpread({
144
+ use: ID
145
+ }, ZULU), {}, {
143
146
  cya_label: ZULU.label
144
- }
145
- // Foxtrot is not included
147
+ }) // Foxtrot is not included
146
148
  ]
147
- });
149
+ }));
148
150
  });
149
- it('should handle an unrecognised container reference', () => {
150
- const ID = "unrecognised.".concat(ZULU.id);
151
- const TO_USE = {
151
+ it('should handle an unrecognised container reference', function () {
152
+ var ID = "unrecognised.".concat(ZULU.id);
153
+ var TO_USE = {
152
154
  use: ID
153
155
  };
154
156
  expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(TO_USE);
155
157
  });
156
- it('should handle an unrecognised component within a container', () => {
157
- const ID = "".concat(CONTAINER.id, ".unrecognised");
158
- const TO_USE = {
158
+ it('should handle an unrecognised component within a container', function () {
159
+ var ID = "".concat(CONTAINER.id, ".unrecognised");
160
+ var TO_USE = {
159
161
  use: ID
160
162
  };
161
163
  expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(TO_USE);
162
164
  });
163
- it('should allow the cya_label to overriden', () => {
164
- const TO_USE = {
165
+ it('should allow the cya_label to overriden', function () {
166
+ var TO_USE = {
165
167
  use: 'd',
166
168
  cya_label: 'Alpha'
167
169
  };
168
- const A = FORM_COMPONENTS[3];
169
- expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
170
- use: 'd',
171
- ...A,
170
+ var A = FORM_COMPONENTS[3];
171
+ expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
172
+ use: 'd'
173
+ }, A), {}, {
172
174
  cya_label: TO_USE.cya_label,
173
175
  label: TO_USE.label
174
- });
176
+ }));
175
177
  });
176
178
  });
177
179
  });
@@ -10,7 +10,7 @@ exports.default = void 0;
10
10
  * @param {string} value The string value to be formatted.
11
11
  * @returns A formatted version of the value.
12
12
  */
13
- const formatData = (format, value) => {
13
+ var formatData = function formatData(format, value) {
14
14
  if (format && value) {
15
15
  switch (format.type) {
16
16
  case 'lowercase':
@@ -4,40 +4,40 @@ var _formatData = _interopRequireDefault(require("./formatData"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils', () => {
8
- describe('Format', () => {
9
- describe('formatData', () => {
10
- it('should handle no format', () => {
11
- const FORMAT = null;
12
- const VALUE = 'AlPhA';
7
+ describe('utils', function () {
8
+ describe('Format', function () {
9
+ describe('formatData', function () {
10
+ it('should handle no format', function () {
11
+ var FORMAT = null;
12
+ var VALUE = 'AlPhA';
13
13
  expect((0, _formatData.default)(FORMAT, VALUE)).toEqual(VALUE);
14
14
  });
15
- it('should handle no value', () => {
16
- const FORMAT = {
15
+ it('should handle no value', function () {
16
+ var FORMAT = {
17
17
  type: 'lowercase'
18
18
  };
19
- const VALUE = null;
19
+ var VALUE = null;
20
20
  expect((0, _formatData.default)(FORMAT, VALUE)).toBeNull();
21
21
  });
22
- it('should format a string as lowercase', () => {
23
- const FORMAT = {
22
+ it('should format a string as lowercase', function () {
23
+ var FORMAT = {
24
24
  type: 'lowercase'
25
25
  };
26
- const VALUE = 'AlPhA';
26
+ var VALUE = 'AlPhA';
27
27
  expect((0, _formatData.default)(FORMAT, VALUE)).toEqual('alpha');
28
28
  });
29
- it('should format a string as uppercase', () => {
30
- const FORMAT = {
29
+ it('should format a string as uppercase', function () {
30
+ var FORMAT = {
31
31
  type: 'uppercase'
32
32
  };
33
- const VALUE = 'AlPhA';
33
+ var VALUE = 'AlPhA';
34
34
  expect((0, _formatData.default)(FORMAT, VALUE)).toEqual('ALPHA');
35
35
  });
36
- it('should leave an unknown format type alone', () => {
37
- const FORMAT = {
36
+ it('should leave an unknown format type alone', function () {
37
+ var FORMAT = {
38
38
  type: 'not-a-real-type'
39
39
  };
40
- const VALUE = 'AlPhA';
40
+ var VALUE = 'AlPhA';
41
41
  expect((0, _formatData.default)(FORMAT, VALUE)).toEqual(VALUE);
42
42
  });
43
43
  });
@@ -14,8 +14,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
14
14
  * @param {object} data The top-level form data.
15
15
  * @param {string} eventType What type of event initiated this call.
16
16
  */
17
- const formatDataForComponent = (component, data, eventType) => {
18
- const componentData = data;
17
+ var formatDataForComponent = function formatDataForComponent(component, data, eventType) {
18
+ var componentData = data;
19
19
  if (component.format && component.format.on === eventType) {
20
20
  componentData[component.fieldId] = (0, _formatData.default)(component.format, componentData[component.fieldId]);
21
21
  }
@@ -27,8 +27,9 @@ const formatDataForComponent = (component, data, eventType) => {
27
27
  * @param {object} data The top-level form data.
28
28
  * @param {string} eventType What type of event initiated this call.
29
29
  */
30
- const formatDataForComponents = (components, data, eventType) => {
31
- components.forEach(component => formatDataForComponent(component, data, eventType));
30
+ var formatDataForComponents = exports.formatDataForComponents = function formatDataForComponents(components, data, eventType) {
31
+ components.forEach(function (component) {
32
+ return formatDataForComponent(component, data, eventType);
33
+ });
32
34
  };
33
- exports.formatDataForComponents = formatDataForComponents;
34
35
  var _default = exports.default = formatDataForComponent;
@@ -2,83 +2,110 @@
2
2
 
3
3
  var _models = require("../../models");
4
4
  var _formatDataForComponent = _interopRequireWildcard(require("./formatDataForComponent"));
5
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
6
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
7
- // Local imports
8
-
9
- describe('utils', () => {
10
- describe('Format', () => {
11
- const setupField = (fieldId, format) => ({
12
- fieldId,
13
- format
14
- });
15
- const setupData = (fieldId, value) => ({
16
- [fieldId]: value
17
- });
18
- const setupFieldAndData = (fieldId, format, value) => [setupField(fieldId, format), setupData(fieldId, value)];
19
- describe('formatDataForComponent', () => {
20
- it('should handle no format', () => {
21
- const EVENT_TYPE = _models.EventTypes.SUBMIT;
22
- const FIELD_ID = 'field';
23
- const FORMAT = null;
24
- const VALUE = 'AlPhA';
25
- const [COMPONENT, DATA] = setupFieldAndData(FIELD_ID, FORMAT, VALUE);
5
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
6
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ 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; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ 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
17
+ describe('utils', function () {
18
+ describe('Format', function () {
19
+ var setupField = function setupField(fieldId, format) {
20
+ return {
21
+ fieldId: fieldId,
22
+ format: format
23
+ };
24
+ };
25
+ var setupData = function setupData(fieldId, value) {
26
+ return _defineProperty({}, fieldId, value);
27
+ };
28
+ var setupFieldAndData = function setupFieldAndData(fieldId, format, value) {
29
+ return [setupField(fieldId, format), setupData(fieldId, value)];
30
+ };
31
+ describe('formatDataForComponent', function () {
32
+ it('should handle no format', function () {
33
+ var EVENT_TYPE = _models.EventTypes.SUBMIT;
34
+ var FIELD_ID = 'field';
35
+ var FORMAT = null;
36
+ var VALUE = 'AlPhA';
37
+ var _setupFieldAndData = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
38
+ _setupFieldAndData2 = _slicedToArray(_setupFieldAndData, 2),
39
+ COMPONENT = _setupFieldAndData2[0],
40
+ DATA = _setupFieldAndData2[1];
26
41
  (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
27
42
  expect(DATA[FIELD_ID]).toEqual(VALUE);
28
43
  });
29
- it('should handle no value', () => {
30
- const EVENT_TYPE = _models.EventTypes.SUBMIT;
31
- const FIELD_ID = 'field';
32
- const FORMAT = {
44
+ it('should handle no value', function () {
45
+ var EVENT_TYPE = _models.EventTypes.SUBMIT;
46
+ var FIELD_ID = 'field';
47
+ var FORMAT = {
33
48
  type: 'lowercase',
34
49
  on: EVENT_TYPE
35
50
  };
36
- const VALUE = null;
37
- const [COMPONENT, DATA] = setupFieldAndData(FIELD_ID, FORMAT, VALUE);
51
+ var VALUE = null;
52
+ var _setupFieldAndData3 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
53
+ _setupFieldAndData4 = _slicedToArray(_setupFieldAndData3, 2),
54
+ COMPONENT = _setupFieldAndData4[0],
55
+ DATA = _setupFieldAndData4[1];
38
56
  (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
39
57
  expect(DATA[FIELD_ID]).toBeNull();
40
58
  });
41
- it('should remain unchanged if the wrong event type', () => {
42
- const EVENT_TYPE = _models.EventTypes.SUBMIT;
43
- const FIELD_ID = 'field';
44
- const FORMAT = {
59
+ it('should remain unchanged if the wrong event type', function () {
60
+ var EVENT_TYPE = _models.EventTypes.SUBMIT;
61
+ var FIELD_ID = 'field';
62
+ var FORMAT = {
45
63
  type: 'lowercase',
46
64
  on: _models.EventTypes.BLUR
47
65
  };
48
- const VALUE = 'AlPhA';
49
- const [COMPONENT, DATA] = setupFieldAndData(FIELD_ID, FORMAT, VALUE);
66
+ var VALUE = 'AlPhA';
67
+ var _setupFieldAndData5 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
68
+ _setupFieldAndData6 = _slicedToArray(_setupFieldAndData5, 2),
69
+ COMPONENT = _setupFieldAndData6[0],
70
+ DATA = _setupFieldAndData6[1];
50
71
  (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
51
72
  expect(DATA[FIELD_ID]).toEqual(VALUE);
52
73
  });
53
- it('should format a string as lowercase', () => {
54
- const EVENT_TYPE = _models.EventTypes.SUBMIT;
55
- const FIELD_ID = 'field';
56
- const FORMAT = {
74
+ it('should format a string as lowercase', function () {
75
+ var EVENT_TYPE = _models.EventTypes.SUBMIT;
76
+ var FIELD_ID = 'field';
77
+ var FORMAT = {
57
78
  type: 'lowercase',
58
79
  on: EVENT_TYPE
59
80
  };
60
- const VALUE = 'AlPhA';
61
- const [COMPONENT, DATA] = setupFieldAndData(FIELD_ID, FORMAT, VALUE);
81
+ var VALUE = 'AlPhA';
82
+ var _setupFieldAndData7 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
83
+ _setupFieldAndData8 = _slicedToArray(_setupFieldAndData7, 2),
84
+ COMPONENT = _setupFieldAndData8[0],
85
+ DATA = _setupFieldAndData8[1];
62
86
  (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
63
87
  expect(DATA[FIELD_ID]).toEqual('alpha');
64
88
  });
65
- it('should format a string as uppercase', () => {
66
- const EVENT_TYPE = _models.EventTypes.SUBMIT;
67
- const FIELD_ID = 'field';
68
- const FORMAT = {
89
+ it('should format a string as uppercase', function () {
90
+ var EVENT_TYPE = _models.EventTypes.SUBMIT;
91
+ var FIELD_ID = 'field';
92
+ var FORMAT = {
69
93
  type: 'uppercase',
70
94
  on: EVENT_TYPE
71
95
  };
72
- const VALUE = 'AlPhA';
73
- const [COMPONENT, DATA] = setupFieldAndData(FIELD_ID, FORMAT, VALUE);
96
+ var VALUE = 'AlPhA';
97
+ var _setupFieldAndData9 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
98
+ _setupFieldAndData10 = _slicedToArray(_setupFieldAndData9, 2),
99
+ COMPONENT = _setupFieldAndData10[0],
100
+ DATA = _setupFieldAndData10[1];
74
101
  (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
75
102
  expect(DATA[FIELD_ID]).toEqual('ALPHA');
76
103
  });
77
104
  });
78
- describe('formatDataForComponents', () => {
79
- it('should appropriately format multiple components', () => {
80
- const EVENT_TYPE = _models.EventTypes.SUBMIT;
81
- const COMPONENTS = [setupField('alpha', {
105
+ describe('formatDataForComponents', function () {
106
+ it('should appropriately format multiple components', function () {
107
+ var EVENT_TYPE = _models.EventTypes.SUBMIT;
108
+ var COMPONENTS = [setupField('alpha', {
82
109
  type: 'lowercase',
83
110
  on: _models.EventTypes.SUBMIT
84
111
  }),
@@ -95,7 +122,8 @@ describe('utils', () => {
95
122
  on: _models.EventTypes.BLUR
96
123
  }) // Should not be formatted because of event type
97
124
  ];
98
- const DATA = {
125
+
126
+ var DATA = {
99
127
  alpha: 'AlPhA',
100
128
  bravo: 'bRaVo',
101
129
  charlie: 'CHArlie',
@@ -6,18 +6,20 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _formatDataForComponent = require("./formatDataForComponent");
8
8
  var _formatDataForPage = require("./formatDataForPage");
9
- // Local imports
10
-
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); } // Local imports
11
15
  /**
12
16
  * Formats the data for all components on a form, according to each component's format configuration.
13
17
  * @param {object} form The form to format the components for.
14
18
  * @param {object} data The top-level form data.
15
19
  * @param {string} eventType What type of event initiated this call.
16
20
  */
17
- const formatDataForForm = (form, baseData, eventType) => {
18
- const data = {
19
- ...baseData
20
- };
21
+ var formatDataForForm = function formatDataForForm(form, baseData, eventType) {
22
+ var data = _objectSpread({}, baseData);
21
23
  (0, _formatDataForComponent.formatDataForComponents)(form.components, data, eventType);
22
24
  (0, _formatDataForPage.formatDataForPages)(form.pages, data, eventType);
23
25
  return data;
@@ -5,16 +5,18 @@ var _formatDataForForm = _interopRequireDefault(require("./formatDataForForm"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', () => {
9
- describe('Format', () => {
10
- const setupField = (fieldId, format) => ({
11
- fieldId,
12
- format
13
- });
14
- describe('formatDataForForm', () => {
15
- it('should appropriately format entire form', () => {
16
- const EVENT_TYPE = _models.EventTypes.SUBMIT;
17
- const COMPONENTS = [setupField('alpha', {
8
+ describe('utils', function () {
9
+ describe('Format', function () {
10
+ var setupField = function setupField(fieldId, format) {
11
+ return {
12
+ fieldId: fieldId,
13
+ format: format
14
+ };
15
+ };
16
+ describe('formatDataForForm', function () {
17
+ it('should appropriately format entire form', function () {
18
+ var EVENT_TYPE = _models.EventTypes.SUBMIT;
19
+ var COMPONENTS = [setupField('alpha', {
18
20
  type: 'lowercase',
19
21
  on: _models.EventTypes.SUBMIT
20
22
  }),
@@ -41,14 +43,15 @@ describe('utils', () => {
41
43
  on: _models.EventTypes.SUBMIT
42
44
  }) // Should not be formatted because of event type
43
45
  ];
44
- const DATA = {
46
+
47
+ var DATA = {
45
48
  alpha: 'AlPhA',
46
49
  bravo: 'bRaVo',
47
50
  charlie: 'CHArlie',
48
51
  delta: 'deLTA',
49
52
  foxtrot: 'FOXTROT'
50
53
  };
51
- const FORM = {
54
+ var FORM = {
52
55
  components: COMPONENTS.slice(0, 1),
53
56
  pages: [{
54
57
  components: COMPONENTS.slice(2, 3)
@@ -56,7 +59,7 @@ describe('utils', () => {
56
59
  components: COMPONENTS.slice(4)
57
60
  }]
58
61
  };
59
- const FORMATTED_DATA = (0, _formatDataForForm.default)(FORM, DATA, EVENT_TYPE);
62
+ var FORMATTED_DATA = (0, _formatDataForForm.default)(FORM, DATA, EVENT_TYPE);
60
63
  expect(FORMATTED_DATA).toEqual({
61
64
  alpha: 'alpha',
62
65
  bravo: 'bRaVo',
@@ -13,7 +13,7 @@ var _formatDataForComponent = require("./formatDataForComponent");
13
13
  * @param {object} data The top-level form data.
14
14
  * @param {string} eventType What type of event initiated this call.
15
15
  */
16
- const formatDataForPage = (page, data, eventType) => {
16
+ var formatDataForPage = function formatDataForPage(page, data, eventType) {
17
17
  (0, _formatDataForComponent.formatDataForComponents)(page.components, data, eventType);
18
18
  };
19
19
 
@@ -23,8 +23,9 @@ const formatDataForPage = (page, data, eventType) => {
23
23
  * @param {object} data The top-level form data.
24
24
  * @param {string} eventType What type of event initiated this call.
25
25
  */
26
- const formatDataForPages = (pages, data, eventType) => {
27
- pages.forEach(page => formatDataForPage(page, data, eventType));
26
+ var formatDataForPages = exports.formatDataForPages = function formatDataForPages(pages, data, eventType) {
27
+ pages.forEach(function (page) {
28
+ return formatDataForPage(page, data, eventType);
29
+ });
28
30
  };
29
- exports.formatDataForPages = formatDataForPages;
30
31
  var _default = exports.default = formatDataForPage;