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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/RenderListView.js +52 -46
  14. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  15. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  16. package/dist/components/CollectionSummary/SummaryCard.js +152 -110
  17. package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
  18. package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
  19. package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  23. package/dist/components/FormComponent/Collection.js +108 -74
  24. package/dist/components/FormComponent/Collection.test.js +1081 -909
  25. package/dist/components/FormComponent/Container.js +39 -40
  26. package/dist/components/FormComponent/Container.test.js +412 -312
  27. package/dist/components/FormComponent/FormComponent.js +72 -69
  28. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  29. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  30. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  32. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  33. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  34. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  36. package/dist/components/FormComponent/helpers/index.js +4 -4
  37. package/dist/components/FormPage/FormPage.js +80 -65
  38. package/dist/components/FormPage/FormPage.test.js +163 -127
  39. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  40. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  41. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  42. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  43. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  44. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  45. package/dist/components/FormRenderer/handlers/index.js +1 -1
  46. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  47. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  48. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  49. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  50. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  51. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  52. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  53. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  55. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  57. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  58. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  59. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  60. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  61. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  63. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  64. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  65. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  66. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  67. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  68. package/dist/components/FormRenderer/helpers/index.js +1 -1
  69. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  70. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  71. package/dist/components/FormRenderer/onPageAction.js +39 -43
  72. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  73. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  74. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  75. package/dist/components/PageActions/ActionButton.js +15 -12
  76. package/dist/components/PageActions/ActionButton.test.js +78 -56
  77. package/dist/components/PageActions/PageActions.js +10 -10
  78. package/dist/components/PageActions/PageActions.test.js +115 -86
  79. package/dist/components/SummaryList/GroupAction.js +17 -9
  80. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  81. package/dist/components/SummaryList/RowAction.js +16 -11
  82. package/dist/components/SummaryList/RowAction.test.js +33 -37
  83. package/dist/components/SummaryList/SummaryList.js +34 -21
  84. package/dist/components/SummaryList/SummaryList.scss +15 -0
  85. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  86. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  87. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  88. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  89. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  90. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  91. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  92. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  93. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/index.js +1 -1
  96. package/dist/components/TaskList/Task.js +29 -19
  97. package/dist/components/TaskList/Task.test.js +76 -83
  98. package/dist/components/TaskList/TaskList.js +92 -49
  99. package/dist/components/TaskList/TaskList.scss +24 -0
  100. package/dist/components/TaskList/TaskList.test.js +255 -113
  101. package/dist/components/TaskList/TaskState.js +5 -7
  102. package/dist/components/TaskList/TaskState.test.js +45 -52
  103. package/dist/components/index.js +7 -7
  104. package/dist/context/HooksContext/HooksContext.js +80 -57
  105. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  106. package/dist/context/HooksContext/index.js +4 -3
  107. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  108. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  109. package/dist/context/ValidationContext/index.js +4 -3
  110. package/dist/context/index.js +2 -2
  111. package/dist/hooks/index.js +10 -9
  112. package/dist/hooks/useAxios.js +40 -14
  113. package/dist/hooks/useGetRequest.js +97 -61
  114. package/dist/hooks/useHooks.js +3 -1
  115. package/dist/hooks/useRefData.js +39 -26
  116. package/dist/hooks/useValidation.js +3 -1
  117. package/dist/index.js +14 -13
  118. package/dist/models/CollectionLabels.js +1 -1
  119. package/dist/models/ComponentTypes.js +25 -25
  120. package/dist/models/EventTypes.js +4 -4
  121. package/dist/models/FormPages.js +4 -4
  122. package/dist/models/FormTypes.js +8 -8
  123. package/dist/models/HubFormats.js +3 -3
  124. package/dist/models/PageAction.js +38 -44
  125. package/dist/models/TaskStates.js +28 -29
  126. package/dist/models/index.js +9 -9
  127. package/dist/setupTests.js +31 -30
  128. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  129. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  130. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  131. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  132. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  133. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  134. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  135. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  136. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  137. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  138. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  139. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  140. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
  142. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  144. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  145. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  146. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  147. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  148. package/dist/utils/CheckYourAnswers/index.js +1 -1
  149. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  150. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  151. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  152. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  153. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  154. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  155. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  156. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  157. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  158. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  159. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  160. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  161. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  162. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  163. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  164. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  165. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  166. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  167. package/dist/utils/CollectionPage/index.js +1 -1
  168. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  169. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  170. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  171. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  172. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  173. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  174. package/dist/utils/Component/addShowWhen.js +8 -4
  175. package/dist/utils/Component/addShowWhen.test.js +37 -37
  176. package/dist/utils/Component/applyToComponentTree.js +18 -18
  177. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  178. package/dist/utils/Component/cleanAttributes.js +13 -10
  179. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  180. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  181. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  182. package/dist/utils/Component/getComponent.js +94 -88
  183. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  184. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  185. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  186. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  187. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  188. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  191. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  192. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  193. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  194. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  196. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  197. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  199. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  200. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  202. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  203. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  204. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  205. package/dist/utils/Component/getDefaultValue.js +8 -6
  206. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  207. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  208. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  209. package/dist/utils/Component/index.js +1 -1
  210. package/dist/utils/Component/isEditable.js +4 -2
  211. package/dist/utils/Component/isEditable.test.js +15 -14
  212. package/dist/utils/Component/optionIsSelected.js +6 -1
  213. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  214. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  215. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  216. package/dist/utils/Component/showComponent.js +1 -1
  217. package/dist/utils/Component/showComponent.test.js +28 -28
  218. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  219. package/dist/utils/Condition/index.js +1 -1
  220. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  221. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  222. package/dist/utils/Condition/meetsCondition.js +25 -16
  223. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  224. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  225. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  226. package/dist/utils/Condition/setupConditions.js +18 -13
  227. package/dist/utils/Condition/setupConditions.test.js +7 -7
  228. package/dist/utils/Container/getEditableComponents.js +5 -3
  229. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  230. package/dist/utils/Container/index.js +1 -1
  231. package/dist/utils/Container/setupNesting.js +20 -16
  232. package/dist/utils/Container/setupNesting.test.js +30 -27
  233. package/dist/utils/Container/showContainer.js +7 -3
  234. package/dist/utils/Container/showContainer.test.js +30 -30
  235. package/dist/utils/Data/applyFormula.js +48 -38
  236. package/dist/utils/Data/applyFormula.test.js +20 -20
  237. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  238. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  239. package/dist/utils/Data/getDataPath.js +28 -18
  240. package/dist/utils/Data/getDataPath.test.js +12 -12
  241. package/dist/utils/Data/getOptions.js +30 -24
  242. package/dist/utils/Data/getOptions.test.js +27 -27
  243. package/dist/utils/Data/getSourceData.js +19 -6
  244. package/dist/utils/Data/getSourceData.test.js +80 -84
  245. package/dist/utils/Data/index.js +1 -1
  246. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  247. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  248. package/dist/utils/Data/refDataToOptions.js +13 -10
  249. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  250. package/dist/utils/Data/setDataItem.js +8 -7
  251. package/dist/utils/Data/setDataItem.test.js +37 -37
  252. package/dist/utils/Data/setupFormData.js +21 -13
  253. package/dist/utils/Data/setupFormData.test.js +50 -51
  254. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  255. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  256. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  257. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  258. package/dist/utils/FormPage/getConditionalText.js +3 -3
  259. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  260. package/dist/utils/FormPage/getFormPage.js +16 -15
  261. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  262. package/dist/utils/FormPage/getFormPages.js +12 -7
  263. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  264. package/dist/utils/FormPage/getPageActions.js +15 -9
  265. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  266. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  267. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  268. package/dist/utils/FormPage/index.js +4 -2
  269. package/dist/utils/FormPage/showFormPage.js +7 -3
  270. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  271. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  272. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  273. package/dist/utils/FormPage/useComponent.js +28 -21
  274. package/dist/utils/FormPage/useComponent.test.js +79 -77
  275. package/dist/utils/Format/formatData.js +1 -1
  276. package/dist/utils/Format/formatData.test.js +18 -18
  277. package/dist/utils/Format/formatDataForComponent.js +6 -5
  278. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  279. package/dist/utils/Format/formatDataForForm.js +8 -6
  280. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  281. package/dist/utils/Format/formatDataForPage.js +5 -4
  282. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  283. package/dist/utils/Format/index.js +1 -1
  284. package/dist/utils/Hub/getFormHub.js +1 -1
  285. package/dist/utils/Hub/getFormHub.test.js +31 -28
  286. package/dist/utils/Hub/index.js +1 -1
  287. package/dist/utils/Meta/constants.js +2 -2
  288. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  289. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  290. package/dist/utils/Meta/documents/index.js +1 -1
  291. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  292. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  293. package/dist/utils/Meta/index.js +1 -1
  294. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  295. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  296. package/dist/utils/Operate/getFirstOf.js +5 -5
  297. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  298. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  299. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  300. package/dist/utils/Operate/getLength.js +50 -0
  301. package/dist/utils/Operate/getLength.test.js +89 -0
  302. package/dist/utils/Operate/index.js +1 -1
  303. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  304. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  305. package/dist/utils/Operate/runPageOperations.js +9 -7
  306. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  307. package/dist/utils/Operate/setValueInFormData.js +2 -2
  308. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  309. package/dist/utils/Operate/shouldRun.js +6 -6
  310. package/dist/utils/Operate/shouldRun.test.js +27 -21
  311. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  312. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  313. package/dist/utils/Validate/additional/index.js +6 -6
  314. package/dist/utils/Validate/additional/index.test.js +12 -12
  315. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  317. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  318. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  319. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  320. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  321. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  322. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  323. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  325. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  327. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  328. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  329. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  330. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  331. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  333. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  334. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  335. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  337. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  338. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  339. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  340. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  341. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  342. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  343. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  344. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  345. package/dist/utils/Validate/additional/utils.js +22 -9
  346. package/dist/utils/Validate/index.js +1 -1
  347. package/dist/utils/Validate/validateCollection.js +25 -19
  348. package/dist/utils/Validate/validateCollection.test.js +66 -74
  349. package/dist/utils/Validate/validateComponent.js +21 -18
  350. package/dist/utils/Validate/validateComponent.test.js +176 -166
  351. package/dist/utils/Validate/validateContainer.js +20 -15
  352. package/dist/utils/Validate/validateContainer.test.js +52 -58
  353. package/dist/utils/Validate/validateDate.js +21 -15
  354. package/dist/utils/Validate/validateDate.test.js +32 -31
  355. package/dist/utils/Validate/validateEmail.js +8 -6
  356. package/dist/utils/Validate/validateEmail.test.js +25 -25
  357. package/dist/utils/Validate/validateMultifile.js +7 -5
  358. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  359. package/dist/utils/Validate/validatePage.js +22 -19
  360. package/dist/utils/Validate/validatePage.test.js +203 -215
  361. package/dist/utils/Validate/validateRegex.js +5 -3
  362. package/dist/utils/Validate/validateRegex.test.js +14 -14
  363. package/dist/utils/Validate/validateRequired.js +6 -4
  364. package/dist/utils/Validate/validateRequired.test.js +18 -18
  365. package/dist/utils/Validate/validateTextArea.js +6 -4
  366. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  367. package/dist/utils/Validate/validateTime.js +26 -11
  368. package/dist/utils/Validate/validateTime.test.js +62 -16
  369. package/dist/utils/index.js +9 -7
  370. package/package.json +2 -2
  371. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  372. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -5,86 +5,86 @@ var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', () => {
9
- describe('CheckYourAnswers', () => {
10
- describe('showComponentCYA', () => {
11
- it('should not show when there are no options', () => {
8
+ describe('utils', function () {
9
+ describe('CheckYourAnswers', function () {
10
+ describe('showComponentCYA', function () {
11
+ it('should not show when there are no options', function () {
12
12
  expect((0, _showComponentCYA.default)(null, null)).toBeFalsy();
13
13
  });
14
- it('should not show when show_on_cya is defined and falsy', () => {
14
+ it('should not show when show_on_cya is defined and falsy', function () {
15
15
  expect((0, _showComponentCYA.default)({
16
16
  show_on_cya: false
17
17
  })).toBeFalsy();
18
18
  });
19
- it('should not show when it is a heading type', () => {
19
+ it('should not show when it is a heading type', function () {
20
20
  expect((0, _showComponentCYA.default)({
21
21
  type: _models.ComponentTypes.HEADING
22
22
  }, null)).toBeFalsy();
23
23
  });
24
- it('should not show when it is an html type', () => {
24
+ it('should not show when it is an html type', function () {
25
25
  expect((0, _showComponentCYA.default)({
26
26
  type: _models.ComponentTypes.HTML
27
27
  }, null)).toBeFalsy();
28
28
  });
29
- it('should not show when it is an inset-text type', () => {
29
+ it('should not show when it is an inset-text type', function () {
30
30
  expect((0, _showComponentCYA.default)({
31
31
  type: _models.ComponentTypes.INSET_TEXT
32
32
  }, null)).toBeFalsy();
33
33
  });
34
- it('should not show when it is a details type', () => {
34
+ it('should not show when it is a details type', function () {
35
35
  expect((0, _showComponentCYA.default)({
36
36
  type: _models.ComponentTypes.DETAILS
37
37
  }, null)).toBeFalsy();
38
38
  });
39
- it('should not show when it hidden and disabled', () => {
39
+ it('should not show when it hidden and disabled', function () {
40
40
  expect((0, _showComponentCYA.default)({
41
41
  hidden: true,
42
42
  disabled: true
43
43
  }, null)).toBeFalsy();
44
44
  });
45
- it('should show when show_on_cya is defined and truthy', () => {
45
+ it('should show when show_on_cya is defined and truthy', function () {
46
46
  expect((0, _showComponentCYA.default)({
47
47
  show_on_cya: true
48
48
  })).toBeTruthy();
49
49
  });
50
- it('should show when it hidden but not disabled', () => {
50
+ it('should show when it hidden but not disabled', function () {
51
51
  expect((0, _showComponentCYA.default)({
52
52
  hidden: true
53
53
  }, null)).toBeTruthy();
54
54
  });
55
- it('should show when it disabled but not hidden', () => {
55
+ it('should show when it disabled but not hidden', function () {
56
56
  expect((0, _showComponentCYA.default)({
57
57
  disabled: true
58
58
  }, null)).toBeTruthy();
59
59
  });
60
- it('should show when it not html, inset-text, a heading, hidden, or disabled', () => {
60
+ it('should show when it not html, inset-text, a heading, hidden, or disabled', function () {
61
61
  expect((0, _showComponentCYA.default)({
62
62
  type: _models.ComponentTypes.TEXT
63
63
  }, null)).toBeTruthy();
64
64
  });
65
- it('should show when hideOnCyaWhenEmpty is defined and falsy', () => {
65
+ it('should show when hideOnCyaWhenEmpty is defined and falsy', function () {
66
66
  expect((0, _showComponentCYA.default)({
67
67
  hideOnCyaWhenEmpty: false
68
68
  })).toBeTruthy();
69
69
  });
70
- it('should show collection when hideOnCyaWhenEmpty is not defined', () => {
70
+ it('should show collection when hideOnCyaWhenEmpty is not defined', function () {
71
71
  expect((0, _showComponentCYA.default)({
72
72
  type: _models.ComponentTypes.COLLECTION
73
73
  })).toBeTruthy();
74
74
  });
75
- it('should not show when it\'s a collection and hideOnCyaWhenEmpty is truthy', () => {
75
+ it('should not show when it\'s a collection and hideOnCyaWhenEmpty is truthy', function () {
76
76
  expect((0, _showComponentCYA.default)({
77
77
  hideOnCyaWhenEmpty: true,
78
78
  type: _models.ComponentTypes.COLLECTION
79
79
  })).toBeFalsy();
80
80
  });
81
- it('should not show when it\'s not a collection and hideOnCyaWhenEmpty is truthy', () => {
81
+ it('should not show when it\'s not a collection and hideOnCyaWhenEmpty is truthy', function () {
82
82
  expect((0, _showComponentCYA.default)({
83
83
  hideOnCyaWhenEmpty: true,
84
84
  type: _models.ComponentTypes.TEXT
85
85
  })).toBeFalsy();
86
86
  });
87
- it('should show when length of full_path data is 1 or more', () => {
87
+ it('should show when length of full_path data is 1 or more', function () {
88
88
  expect((0, _showComponentCYA.default)({
89
89
  hideOnCyaWhenEmpty: true,
90
90
  type: _models.ComponentTypes.COLLECTION,
@@ -93,7 +93,7 @@ describe('utils', () => {
93
93
  example: [0, 1]
94
94
  })).toBeTruthy();
95
95
  });
96
- it('should not show when length of full_path data is less than 1', () => {
96
+ it('should not show when length of full_path data is less than 1', function () {
97
97
  expect((0, _showComponentCYA.default)({
98
98
  hideOnCyaWhenEmpty: true,
99
99
  type: _models.ComponentTypes.COLLECTION,
@@ -102,7 +102,7 @@ describe('utils', () => {
102
102
  example: []
103
103
  })).toBeFalsy();
104
104
  });
105
- it('should show when value of component data does exist and hideOnCyaWhenEmpty is truthy', () => {
105
+ it('should show when value of component data does exist and hideOnCyaWhenEmpty is truthy', function () {
106
106
  expect((0, _showComponentCYA.default)({
107
107
  hideOnCyaWhenEmpty: true,
108
108
  type: _models.ComponentTypes.TEXT,
@@ -111,21 +111,21 @@ describe('utils', () => {
111
111
  example: "yes"
112
112
  })).toBeTruthy();
113
113
  });
114
- it('should not show when value of component data does not exist and hideOnCyaWhenEmpty is truthy', () => {
114
+ it('should not show when value of component data does not exist and hideOnCyaWhenEmpty is truthy', function () {
115
115
  expect((0, _showComponentCYA.default)({
116
116
  hideOnCyaWhenEmpty: true,
117
117
  type: _models.ComponentTypes.TEXT,
118
118
  fieldId: "example"
119
119
  }, {})).toBeFalsy();
120
120
  });
121
- it('should show when value of component data does not exist and hideOnCyaWhenEmpty is falsy', () => {
121
+ it('should show when value of component data does not exist and hideOnCyaWhenEmpty is falsy', function () {
122
122
  expect((0, _showComponentCYA.default)({
123
123
  hideOnCyaWhenEmpty: false,
124
124
  type: _models.ComponentTypes.TEXT,
125
125
  fieldId: "example"
126
126
  }, {})).toBeTruthy();
127
127
  });
128
- it('should show when value of component data does is falsy and hideOnCyaWhenEmpty is truthy', () => {
128
+ it('should show when value of component data does is falsy and hideOnCyaWhenEmpty is truthy', function () {
129
129
  expect((0, _showComponentCYA.default)({
130
130
  hideOnCyaWhenEmpty: true,
131
131
  type: _models.ComponentTypes.TEXT,
@@ -134,7 +134,7 @@ describe('utils', () => {
134
134
  example: false
135
135
  })).toBeTruthy();
136
136
  });
137
- it('should show when value of component data is numerically zero and hideOnCyaWhenEmpty is truthy', () => {
137
+ it('should show when value of component data is numerically zero and hideOnCyaWhenEmpty is truthy', function () {
138
138
  expect((0, _showComponentCYA.default)({
139
139
  hideOnCyaWhenEmpty: true,
140
140
  type: _models.ComponentTypes.TEXT,
@@ -15,8 +15,8 @@ exports.default = void 0;
15
15
  * @param {string} collectionName The name of the collection to create the new entry for.
16
16
  * @param {object} formData The top level formData object.
17
17
  */
18
- const addCollectionPageEntry = (collectionName, formData) => {
19
- const fieldName = collectionName.split('.').pop();
18
+ var addCollectionPageEntry = function addCollectionPageEntry(collectionName, formData) {
19
+ var fieldName = collectionName.split('.').pop();
20
20
  formData["".concat(fieldName, "ActiveId")] = null;
21
21
  };
22
22
  var _default = exports.default = addCollectionPageEntry;
@@ -2,14 +2,14 @@
2
2
 
3
3
  var _addCollectionPageEntry = _interopRequireDefault(require("./addCollectionPageEntry"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.CollectionPage.addCollectionPageEntry', () => {
6
- it('should set active ID as null for a top-level collection', () => {
7
- const FORM_DATA = {};
5
+ describe('Utils.CollectionPage.addCollectionPageEntry', function () {
6
+ it('should set active ID as null for a top-level collection', function () {
7
+ var FORM_DATA = {};
8
8
  (0, _addCollectionPageEntry.default)('testCollection', FORM_DATA);
9
9
  expect(FORM_DATA.testCollectionActiveId).toBeFalsy();
10
10
  });
11
- it('should set a active ID as null for a nested collection', () => {
12
- const FORM_DATA = {};
11
+ it('should set a active ID as null for a nested collection', function () {
12
+ var FORM_DATA = {};
13
13
  (0, _addCollectionPageEntry.default)('parent.child.grandchild', FORM_DATA);
14
14
  expect(FORM_DATA.grandchildActiveId).toBeFalsy();
15
15
  });
@@ -18,8 +18,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  * @param {object} formData A page's form data containing the collection's data.
19
19
  * @return true if the entry ws successfully duplicated, false if not.
20
20
  */
21
- const duplicateCollectionPageActiveEntry = (collectionName, formData) => {
22
- const currentEntryId = (0, _getCollectionPageActiveId.default)(collectionName, formData);
21
+ var duplicateCollectionPageActiveEntry = function duplicateCollectionPageActiveEntry(collectionName, formData) {
22
+ var currentEntryId = (0, _getCollectionPageActiveId.default)(collectionName, formData);
23
23
  return (0, _duplicateCollectionPageEntry.default)(collectionName, formData, currentEntryId);
24
24
  };
25
25
  var _default = exports.default = duplicateCollectionPageActiveEntry;
@@ -3,17 +3,19 @@
3
3
  var _duplicateCollectionPageActiveEntry = _interopRequireDefault(require("./duplicateCollectionPageActiveEntry"));
4
4
  var _getCollectionPageActiveId = _interopRequireDefault(require("./getCollectionPageActiveId"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', () => {
7
- const COLLECTION_NAME = 'testCollection';
8
- const OBJ = {
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 _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; }
8
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
+ 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); }
10
+ describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', function () {
11
+ var COLLECTION_NAME = 'testCollection';
12
+ var OBJ = {
9
13
  id: '1',
10
14
  value: 'value'
11
15
  };
12
- it('should duplicate the active entry if one exists', () => {
13
- const FORM_DATA = {
14
- ["".concat(COLLECTION_NAME, "ActiveId")]: '1',
15
- [COLLECTION_NAME]: [OBJ]
16
- };
16
+ it('should duplicate the active entry if one exists', function () {
17
+ var _FORM_DATA;
18
+ var FORM_DATA = (_FORM_DATA = {}, _defineProperty(_FORM_DATA, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA, COLLECTION_NAME, [OBJ]), _FORM_DATA);
17
19
  (0, _duplicateCollectionPageActiveEntry.default)(COLLECTION_NAME, FORM_DATA);
18
20
  expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
19
21
  expect(FORM_DATA[COLLECTION_NAME][1].value).toEqual(FORM_DATA[COLLECTION_NAME][0].value);
@@ -22,8 +24,8 @@ describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', () => {
22
24
  expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toBeTruthy();
23
25
  expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")] === '1').toBeFalsy();
24
26
  });
25
- it('should duplicate entries in nested collections correctly', () => {
26
- const FORM_DATA = {
27
+ it('should duplicate entries in nested collections correctly', function () {
28
+ var FORM_DATA = {
27
29
  parentsActiveId: '2',
28
30
  childrenActiveId: '2',
29
31
  parents: [{
@@ -51,18 +53,17 @@ describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', () => {
51
53
  expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA)).toBeTruthy();
52
54
  expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA) === '2').toBeFalsy();
53
55
  });
54
- it('should do nothing if there is no active entry', () => {
55
- const FORM_DATA = {
56
- ["".concat(COLLECTION_NAME, "ActiveId")]: '2',
57
- [COLLECTION_NAME]: [OBJ]
58
- };
56
+ it('should do nothing if there is no active entry', function () {
57
+ var _FORM_DATA2;
58
+ var FORM_DATA = (_FORM_DATA2 = {}, _defineProperty(_FORM_DATA2, "".concat(COLLECTION_NAME, "ActiveId"), '2'), _defineProperty(_FORM_DATA2, COLLECTION_NAME, [OBJ]), _FORM_DATA2);
59
59
  (0, _duplicateCollectionPageActiveEntry.default)(COLLECTION_NAME, FORM_DATA);
60
60
  expect(FORM_DATA[COLLECTION_NAME].length).toEqual(1);
61
61
  expect(FORM_DATA[COLLECTION_NAME][0]).toEqual(OBJ);
62
62
  expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toEqual('2'); // Shouldn't have changed.
63
63
  });
64
- it('should do nothing if the collection does not exist', () => {
65
- const FORM_DATA = {};
64
+
65
+ it('should do nothing if the collection does not exist', function () {
66
+ var FORM_DATA = {};
66
67
  (0, _duplicateCollectionPageActiveEntry.default)(COLLECTION_NAME, FORM_DATA);
67
68
  expect(FORM_DATA).toEqual({});
68
69
  });
@@ -6,6 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
9
15
  /**
10
16
  * Duplicates an entry with the given ID in the given collection, optionally
11
17
  * ignoring named fields or adding extras to the duplicate if they're provided.
@@ -17,22 +23,26 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
23
  * @param {object} fieldsToAdd An object that will be spread to the new entry.
18
24
  * @returns The ID of the duplicate entry.
19
25
  */
20
- const duplicateCollectionPageEntry = function (collectionName, formData, entryId) {
21
- let fieldsToIgnore = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
22
- let fieldsToAdd = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
23
- const collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
24
- const entryToDuplicate = collectionData === null || collectionData === void 0 ? void 0 : collectionData.find(entry => entry.id === entryId);
26
+ var duplicateCollectionPageEntry = function duplicateCollectionPageEntry(collectionName, formData, entryId) {
27
+ var fieldsToIgnore = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
28
+ var fieldsToAdd = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
29
+ var collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
30
+ var entryToDuplicate = collectionData === null || collectionData === void 0 ? void 0 : collectionData.find(function (entry) {
31
+ return entry.id === entryId;
32
+ });
25
33
  if (!entryToDuplicate) {
26
34
  return null;
27
35
  }
28
- const newEntryId = Date.now().toString();
29
- const newEntry = {
30
- ...entryToDuplicate,
31
- ...fieldsToAdd,
36
+ var newEntryId = Date.now().toString();
37
+ var newEntry = _objectSpread(_objectSpread(_objectSpread({}, entryToDuplicate), fieldsToAdd), {}, {
32
38
  id: newEntryId
33
- };
34
- fieldsToIgnore.forEach(field => delete newEntry[field]);
35
- const insertionIndex = collectionData.findIndex(entry => entry.id === entryId) + 1;
39
+ });
40
+ fieldsToIgnore.forEach(function (field) {
41
+ return delete newEntry[field];
42
+ });
43
+ var insertionIndex = collectionData.findIndex(function (entry) {
44
+ return entry.id === entryId;
45
+ }) + 1;
36
46
  if (insertionIndex === -1) {
37
47
  collectionData.push(newEntry);
38
48
  } else {
@@ -3,17 +3,19 @@
3
3
  var _duplicateCollectionPageEntry = _interopRequireDefault(require("./duplicateCollectionPageEntry"));
4
4
  var _getCollectionPageActiveId = _interopRequireDefault(require("./getCollectionPageActiveId"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
7
- const COLLECTION_NAME = 'testCollection';
8
- const OBJ = {
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 _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; }
8
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
+ 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); }
10
+ describe('utils.CollectionPage.duplicateCollectionPageEntry', function () {
11
+ var COLLECTION_NAME = 'testCollection';
12
+ var OBJ = {
9
13
  id: '1',
10
14
  value: 'value'
11
15
  };
12
- it('should duplicate the active entry if one exists', () => {
13
- const FORM_DATA = {
14
- ["".concat(COLLECTION_NAME, "ActiveId")]: '1',
15
- [COLLECTION_NAME]: [OBJ]
16
- };
16
+ it('should duplicate the active entry if one exists', function () {
17
+ var _FORM_DATA;
18
+ var FORM_DATA = (_FORM_DATA = {}, _defineProperty(_FORM_DATA, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA, COLLECTION_NAME, [OBJ]), _FORM_DATA);
17
19
  (0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1');
18
20
  expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
19
21
  expect(FORM_DATA[COLLECTION_NAME][1].value).toEqual(FORM_DATA[COLLECTION_NAME][0].value);
@@ -22,20 +24,18 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
22
24
  expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toBeTruthy();
23
25
  expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")] === '1').toBeFalsy();
24
26
  });
25
- it('should put the new entry under the original one', () => {
26
- const FORM_DATA = {
27
- ["".concat(COLLECTION_NAME, "ActiveId")]: '1',
28
- [COLLECTION_NAME]: [{
29
- id: '1',
30
- value: 'value1'
31
- }, {
32
- id: '2',
33
- value: 'value2'
34
- }, {
35
- id: '3',
36
- value: 'value1'
37
- }]
38
- };
27
+ it('should put the new entry under the original one', function () {
28
+ var _FORM_DATA2;
29
+ var FORM_DATA = (_FORM_DATA2 = {}, _defineProperty(_FORM_DATA2, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA2, COLLECTION_NAME, [{
30
+ id: '1',
31
+ value: 'value1'
32
+ }, {
33
+ id: '2',
34
+ value: 'value2'
35
+ }, {
36
+ id: '3',
37
+ value: 'value1'
38
+ }]), _FORM_DATA2);
39
39
  (0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1');
40
40
  expect(FORM_DATA[COLLECTION_NAME].length).toEqual(4);
41
41
  expect(FORM_DATA[COLLECTION_NAME][1].value).toEqual(FORM_DATA[COLLECTION_NAME][0].value);
@@ -44,8 +44,8 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
44
44
  expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toBeTruthy();
45
45
  expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")] === '1').toBeFalsy();
46
46
  });
47
- it('should duplicate entries in nested collections correctly', () => {
48
- const FORM_DATA = {
47
+ it('should duplicate entries in nested collections correctly', function () {
48
+ var FORM_DATA = {
49
49
  parentsActiveId: '2',
50
50
  childrenActiveId: '2',
51
51
  parents: [{
@@ -73,13 +73,11 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
73
73
  expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA)).toBeTruthy();
74
74
  expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA) === '2').toBeFalsy();
75
75
  });
76
- it('should ignore fields in the fieldToIgnore array', () => {
77
- const FORM_DATA = {
78
- ["".concat(COLLECTION_NAME, "ActiveId")]: '1',
79
- [COLLECTION_NAME]: [OBJ]
80
- };
76
+ it('should ignore fields in the fieldToIgnore array', function () {
77
+ var _FORM_DATA3;
78
+ var FORM_DATA = (_FORM_DATA3 = {}, _defineProperty(_FORM_DATA3, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA3, COLLECTION_NAME, [OBJ]), _FORM_DATA3);
81
79
  ;
82
- const FIELDS_TO_IGNORE = ['value'];
80
+ var FIELDS_TO_IGNORE = ['value'];
83
81
  (0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1', FIELDS_TO_IGNORE);
84
82
  expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
85
83
  expect(FORM_DATA[COLLECTION_NAME][0].id).toBeTruthy();
@@ -87,13 +85,11 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
87
85
  expect(FORM_DATA[COLLECTION_NAME][1].id).toBeTruthy();
88
86
  expect(FORM_DATA[COLLECTION_NAME][1].value).toBeUndefined();
89
87
  });
90
- it('should add fields from the fieldsToAdd object', () => {
91
- const FORM_DATA = {
92
- ["".concat(COLLECTION_NAME, "ActiveId")]: '1',
93
- [COLLECTION_NAME]: [OBJ]
94
- };
88
+ it('should add fields from the fieldsToAdd object', function () {
89
+ var _FORM_DATA4;
90
+ var FORM_DATA = (_FORM_DATA4 = {}, _defineProperty(_FORM_DATA4, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA4, COLLECTION_NAME, [OBJ]), _FORM_DATA4);
95
91
  ;
96
- const FIELDS_TO_ADD = {
92
+ var FIELDS_TO_ADD = {
97
93
  addedKey: 'addedValue'
98
94
  };
99
95
  (0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1', [], FIELDS_TO_ADD);
@@ -104,20 +100,15 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
104
100
  expect(FORM_DATA[COLLECTION_NAME][1].value).toBeTruthy();
105
101
  expect(FORM_DATA[COLLECTION_NAME][1].addedKey).toEqual('addedValue');
106
102
  });
107
- it('should do nothing if an entry with the given id does not exist', () => {
108
- const FORM_DATA = {
109
- ["".concat(COLLECTION_NAME, "ActiveId")]: '1',
110
- [COLLECTION_NAME]: [OBJ]
111
- };
103
+ it('should do nothing if an entry with the given id does not exist', function () {
104
+ var _FORM_DATA5, _expect$toEqual;
105
+ var FORM_DATA = (_FORM_DATA5 = {}, _defineProperty(_FORM_DATA5, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA5, COLLECTION_NAME, [OBJ]), _FORM_DATA5);
112
106
  ;
113
107
  (0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '0');
114
- expect(FORM_DATA).toEqual({
115
- ["".concat(COLLECTION_NAME, "ActiveId")]: '1',
116
- [COLLECTION_NAME]: [OBJ]
117
- });
108
+ expect(FORM_DATA).toEqual((_expect$toEqual = {}, _defineProperty(_expect$toEqual, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_expect$toEqual, COLLECTION_NAME, [OBJ]), _expect$toEqual));
118
109
  });
119
- it('should do nothing if the collection does not exist', () => {
120
- const FORM_DATA = {};
110
+ it('should do nothing if the collection does not exist', function () {
111
+ var FORM_DATA = {};
121
112
  (0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1');
122
113
  expect(FORM_DATA).toEqual({});
123
114
  });
@@ -16,8 +16,8 @@ exports.default = void 0;
16
16
  * @param {object} data Top-level formData.
17
17
  * @returns The active ID for the collection, or null if it doesn't exist.
18
18
  */
19
- const getCollectionPageActiveId = (collectionName, formData) => {
20
- const targetName = collectionName.split('.').pop();
19
+ var getCollectionPageActiveId = function getCollectionPageActiveId(collectionName, formData) {
20
+ var targetName = collectionName.split('.').pop();
21
21
  return formData["".concat(targetName, "ActiveId")] || null;
22
22
  };
23
23
  var _default = exports.default = getCollectionPageActiveId;
@@ -2,24 +2,24 @@
2
2
 
3
3
  var _getCollectionPageActiveId = _interopRequireDefault(require("./getCollectionPageActiveId"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.CollectionPage.getCollectionPageActiveId', () => {
6
- it('should return null if no active ID exists for the collection', () => {
7
- const FORM_DATA = {};
8
- const activeId = (0, _getCollectionPageActiveId.default)('testCollection', FORM_DATA);
5
+ describe('Utils.CollectionPage.getCollectionPageActiveId', function () {
6
+ it('should return null if no active ID exists for the collection', function () {
7
+ var FORM_DATA = {};
8
+ var activeId = (0, _getCollectionPageActiveId.default)('testCollection', FORM_DATA);
9
9
  expect(activeId).toEqual(null);
10
10
  });
11
- it('should correctly get an existing active ID for a top-level collection name', () => {
12
- const FORM_DATA = {
11
+ it('should correctly get an existing active ID for a top-level collection name', function () {
12
+ var FORM_DATA = {
13
13
  testCollectionActiveId: '1'
14
14
  };
15
- const activeId = (0, _getCollectionPageActiveId.default)('testCollection', FORM_DATA);
15
+ var activeId = (0, _getCollectionPageActiveId.default)('testCollection', FORM_DATA);
16
16
  expect(activeId).toEqual(FORM_DATA.testCollectionActiveId);
17
17
  });
18
- it('should correctly get an existing active ID for a nested collection name', () => {
19
- const FORM_DATA = {
18
+ it('should correctly get an existing active ID for a nested collection name', function () {
19
+ var FORM_DATA = {
20
20
  grandchildActiveId: '1'
21
21
  };
22
- const activeId = (0, _getCollectionPageActiveId.default)('parent.child.grandchild', FORM_DATA);
22
+ var activeId = (0, _getCollectionPageActiveId.default)('parent.child.grandchild', FORM_DATA);
23
23
  expect(activeId).toEqual(FORM_DATA.grandchildActiveId);
24
24
  });
25
25
  });
@@ -4,15 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- const isValidIndex = value => typeof value === 'number' && value >= 0;
8
- const getLastActiveIndexInChain = (collectionNames, data, formData) => {
7
+ var isValidIndex = function isValidIndex(value) {
8
+ return typeof value === 'number' && value >= 0;
9
+ };
10
+ var getLastActiveIndexInChain = function getLastActiveIndexInChain(collectionNames, data, formData) {
9
11
  var _data$currentName;
10
- const currentName = collectionNames[0];
11
- const activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
12
+ var currentName = collectionNames[0];
13
+ var activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
12
14
  if (!activeId) {
13
15
  return null;
14
16
  }
15
- const activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(item => item.id === activeId);
17
+ var activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(function (item) {
18
+ return item.id === activeId;
19
+ });
16
20
  if (!isValidIndex(activeIndex)) {
17
21
  return null;
18
22
  }
@@ -36,8 +40,8 @@ const getLastActiveIndexInChain = (collectionNames, data, formData) => {
36
40
  * @param {object} data Top-level formData.
37
41
  * @returns The active index for the collection, or null if it doesn't exist.
38
42
  */
39
- const getCollectionPageActiveIndex = (collectionName, formData) => {
40
- const nameParts = collectionName.split('.');
43
+ var getCollectionPageActiveIndex = function getCollectionPageActiveIndex(collectionName, formData) {
44
+ var nameParts = collectionName.split('.');
41
45
  return getLastActiveIndexInChain(nameParts, formData, formData);
42
46
  };
43
47
  var _default = exports.default = getCollectionPageActiveIndex;
@@ -4,11 +4,11 @@ var _getCollectionPageActiveIndex = _interopRequireDefault(require("./getCollect
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
8
- it('should return the index of the active item in the collection, if one exists', () => {
9
- const COLLECTION_NAME = 'test';
10
- const ACTIVE_ID = '002';
11
- const FORM_DATA = {
7
+ describe('utils.CollectionPage.getCollectionPageActiveIndex', function () {
8
+ it('should return the index of the active item in the collection, if one exists', function () {
9
+ var COLLECTION_NAME = 'test';
10
+ var ACTIVE_ID = '002';
11
+ var FORM_DATA = {
12
12
  testActiveId: ACTIVE_ID,
13
13
  test: [{
14
14
  id: '001'
@@ -16,7 +16,7 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
16
16
  id: '002'
17
17
  }]
18
18
  };
19
- const PAGE = {
19
+ var PAGE = {
20
20
  collection: {
21
21
  name: COLLECTION_NAME
22
22
  },
@@ -24,10 +24,10 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
24
24
  };
25
25
  expect((0, _getCollectionPageActiveIndex.default)(PAGE.collection.name, PAGE.formData)).toEqual(1);
26
26
  });
27
- it('should return the index of the active item in the nested collection, if one exists', () => {
28
- const COLLECTION_NAME = 'parent.child';
29
- const ACTIVE_ID = '001';
30
- const FORM_DATA = {
27
+ it('should return the index of the active item in the nested collection, if one exists', function () {
28
+ var COLLECTION_NAME = 'parent.child';
29
+ var ACTIVE_ID = '001';
30
+ var FORM_DATA = {
31
31
  parentActiveId: '001',
32
32
  childActiveId: ACTIVE_ID,
33
33
  parent: [{
@@ -42,16 +42,16 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
42
42
  };
43
43
  expect((0, _getCollectionPageActiveIndex.default)(COLLECTION_NAME, FORM_DATA)).toEqual(0);
44
44
  });
45
- it('should return null if no active item can be found in the collection', () => {
46
- const COLLECTION_NAME = 'test';
47
- const ACTIVE_ID = '002';
48
- const FORM_DATA = {
45
+ it('should return null if no active item can be found in the collection', function () {
46
+ var COLLECTION_NAME = 'test';
47
+ var ACTIVE_ID = '002';
48
+ var FORM_DATA = {
49
49
  testActiveId: ACTIVE_ID,
50
50
  test: [{
51
51
  id: '001'
52
52
  }]
53
53
  };
54
- const PAGE = {
54
+ var PAGE = {
55
55
  collection: {
56
56
  name: COLLECTION_NAME
57
57
  },
@@ -59,10 +59,10 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
59
59
  };
60
60
  expect((0, _getCollectionPageActiveIndex.default)(PAGE.collection.name, PAGE.formData)).toEqual(null);
61
61
  });
62
- it('should return null if no active item can be found in the nested collection', () => {
63
- const COLLECTION_NAME = 'parent.child';
64
- const ACTIVE_ID = '002';
65
- const FORM_DATA = {
62
+ it('should return null if no active item can be found in the nested collection', function () {
63
+ var COLLECTION_NAME = 'parent.child';
64
+ var ACTIVE_ID = '002';
65
+ var FORM_DATA = {
66
66
  parentActiveId: '001',
67
67
  childActiveId: ACTIVE_ID,
68
68
  parent: [{
@@ -75,9 +75,9 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
75
75
  };
76
76
  expect((0, _getCollectionPageActiveIndex.default)(COLLECTION_NAME, FORM_DATA)).toEqual(null);
77
77
  });
78
- it('should return null if formData is null', () => {
79
- const COLLECTION_NAME = 'test';
80
- const PAGE = {
78
+ it('should return null if formData is null', function () {
79
+ var COLLECTION_NAME = 'test';
80
+ var PAGE = {
81
81
  collection: {
82
82
  name: COLLECTION_NAME
83
83
  }