@ukhomeoffice/cop-react-form-renderer 5.90.0 → 5.90.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 (382) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +15 -15
  2. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +106 -142
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +563 -941
  5. package/dist/components/CheckYourAnswers/index.js +1 -1
  6. package/dist/components/CollectionPage/CollectionPage.js +76 -66
  7. package/dist/components/CollectionPage/CollectionPage.test.js +318 -369
  8. package/dist/components/CollectionPage/index.js +1 -1
  9. package/dist/components/CollectionSummary/BannerStrip.js +15 -15
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +83 -79
  11. package/dist/components/CollectionSummary/CollectionSummary.js +109 -131
  12. package/dist/components/CollectionSummary/CollectionSummary.test.js +198 -180
  13. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  14. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  15. package/dist/components/CollectionSummary/RenderListView.js +47 -55
  16. package/dist/components/CollectionSummary/RenderListView.test.js +82 -81
  17. package/dist/components/CollectionSummary/SummaryCard.js +121 -157
  18. package/dist/components/CollectionSummary/SummaryCard.test.js +970 -1000
  19. package/dist/components/CollectionSummary/SummaryCardDetails.js +103 -94
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +187 -195
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +64 -76
  23. package/dist/components/CollectionSummary/index.js +1 -1
  24. package/dist/components/FormComponent/Collection.js +81 -117
  25. package/dist/components/FormComponent/Collection.test.js +910 -1082
  26. package/dist/components/FormComponent/Container.js +43 -38
  27. package/dist/components/FormComponent/Container.test.js +379 -411
  28. package/dist/components/FormComponent/FormComponent.js +71 -74
  29. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  30. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  33. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  34. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/index.js +5 -5
  38. package/dist/components/FormComponent/index.js +1 -1
  39. package/dist/components/FormPage/FormPage.js +71 -87
  40. package/dist/components/FormPage/FormPage.test.js +133 -170
  41. package/dist/components/FormPage/index.js +1 -1
  42. package/dist/components/FormRenderer/FormRenderer.js +153 -198
  43. package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
  44. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  45. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  46. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  47. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  48. package/dist/components/FormRenderer/handlers/index.js +2 -2
  49. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  50. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  52. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  54. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +27 -30
  56. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  57. package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
  58. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  59. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  60. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  61. package/dist/components/FormRenderer/helpers/getNextPageId.js +18 -32
  62. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  63. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  64. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.js +8 -11
  66. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
  68. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
  70. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
  71. package/dist/components/FormRenderer/helpers/index.js +2 -2
  72. package/dist/components/FormRenderer/index.js +1 -1
  73. package/dist/components/FormRenderer/onCYAAction.js +61 -54
  74. package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
  75. package/dist/components/FormRenderer/onPageAction.js +45 -41
  76. package/dist/components/FormRenderer/onPageAction.test.js +225 -210
  77. package/dist/components/FormRenderer/onTaskAction.js +11 -15
  78. package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
  79. package/dist/components/PageActions/ActionButton.js +13 -16
  80. package/dist/components/PageActions/ActionButton.test.js +57 -79
  81. package/dist/components/PageActions/PageActions.js +11 -11
  82. package/dist/components/PageActions/PageActions.test.js +87 -116
  83. package/dist/components/PageActions/index.js +1 -1
  84. package/dist/components/SummaryList/GroupAction.js +13 -21
  85. package/dist/components/SummaryList/GroupAction.test.js +41 -37
  86. package/dist/components/SummaryList/RowAction.js +12 -17
  87. package/dist/components/SummaryList/RowAction.test.js +41 -37
  88. package/dist/components/SummaryList/SummaryList.js +23 -28
  89. package/dist/components/SummaryList/SummaryList.test.js +179 -206
  90. package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
  91. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  92. package/dist/components/SummaryList/SummaryListRow.js +8 -6
  93. package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
  95. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
  97. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  98. package/dist/components/SummaryList/helpers/index.js +2 -2
  99. package/dist/components/SummaryList/index.js +1 -1
  100. package/dist/components/TaskList/Task.js +20 -30
  101. package/dist/components/TaskList/Task.test.js +84 -77
  102. package/dist/components/TaskList/TaskList.js +53 -84
  103. package/dist/components/TaskList/TaskList.test.js +150 -150
  104. package/dist/components/TaskList/TaskState.js +8 -6
  105. package/dist/components/TaskList/TaskState.test.js +56 -49
  106. package/dist/components/TaskList/index.js +1 -1
  107. package/dist/components/index.js +8 -8
  108. package/dist/context/HooksContext/HooksContext.js +58 -81
  109. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  110. package/dist/context/HooksContext/index.js +3 -4
  111. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  112. package/dist/context/ValidationContext/ValidationContext.test.js +58 -70
  113. package/dist/context/ValidationContext/index.js +3 -4
  114. package/dist/context/index.js +3 -3
  115. package/dist/hooks/index.js +10 -11
  116. package/dist/hooks/useAxios.js +15 -41
  117. package/dist/hooks/useGetRequest.js +62 -98
  118. package/dist/hooks/useHooks.js +1 -3
  119. package/dist/hooks/useRefData.js +28 -41
  120. package/dist/hooks/useValidation.js +1 -3
  121. package/dist/index.js +14 -15
  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 +44 -38
  129. package/dist/models/TaskStates.js +29 -28
  130. package/dist/models/index.js +10 -10
  131. package/dist/setupTests.js +31 -32
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
  152. package/dist/utils/CheckYourAnswers/index.js +2 -2
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +21 -22
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
  171. package/dist/utils/CollectionPage/index.js +2 -2
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
  178. package/dist/utils/Component/addShowWhen.js +4 -8
  179. package/dist/utils/Component/addShowWhen.test.js +38 -38
  180. package/dist/utils/Component/applyToComponentTree.js +19 -20
  181. package/dist/utils/Component/applyToComponentTree.test.js +28 -33
  182. package/dist/utils/Component/cleanAttributes.js +10 -13
  183. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  184. package/dist/utils/Component/elevateNestedComponents.js +6 -7
  185. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  186. package/dist/utils/Component/getComponent.js +90 -97
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +22 -27
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +34 -41
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -32
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  209. package/dist/utils/Component/getDefaultValue.js +7 -9
  210. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  213. package/dist/utils/Component/index.js +2 -2
  214. package/dist/utils/Component/isEditable.js +2 -4
  215. package/dist/utils/Component/isEditable.test.js +14 -15
  216. package/dist/utils/Component/optionIsSelected.js +2 -4
  217. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  218. package/dist/utils/Component/setupContainerComponentsPath.js +29 -31
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  220. package/dist/utils/Component/showComponent.js +3 -4
  221. package/dist/utils/Component/showComponent.test.js +29 -29
  222. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  223. package/dist/utils/Condition/index.js +2 -2
  224. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  225. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  226. package/dist/utils/Condition/meetsCondition.js +20 -31
  227. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  228. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  229. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  230. package/dist/utils/Condition/setupConditions.js +14 -19
  231. package/dist/utils/Condition/setupConditions.test.js +8 -8
  232. package/dist/utils/Container/getEditableComponents.js +4 -6
  233. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  234. package/dist/utils/Container/index.js +2 -2
  235. package/dist/utils/Container/setupNesting.js +16 -22
  236. package/dist/utils/Container/setupNesting.test.js +28 -31
  237. package/dist/utils/Container/showContainer.js +4 -8
  238. package/dist/utils/Container/showContainer.test.js +31 -31
  239. package/dist/utils/Data/applyFormula.js +40 -50
  240. package/dist/utils/Data/applyFormula.test.js +26 -26
  241. package/dist/utils/Data/deleteValues.js +4 -8
  242. package/dist/utils/Data/deleteValues.test.js +11 -11
  243. package/dist/utils/Data/getAutocompleteSource.js +20 -29
  244. package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
  245. package/dist/utils/Data/getDataPath.js +20 -30
  246. package/dist/utils/Data/getDataPath.test.js +20 -20
  247. package/dist/utils/Data/getOptions.js +27 -34
  248. package/dist/utils/Data/getOptions.test.js +28 -28
  249. package/dist/utils/Data/getSourceData.js +6 -19
  250. package/dist/utils/Data/getSourceData.test.js +85 -81
  251. package/dist/utils/Data/index.js +2 -2
  252. package/dist/utils/Data/nestInRefdataOptions.js +9 -16
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  254. package/dist/utils/Data/refDataToOptions.js +11 -15
  255. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  256. package/dist/utils/Data/setDataItem.js +7 -8
  257. package/dist/utils/Data/setDataItem.test.js +38 -38
  258. package/dist/utils/Data/setupFormData.js +14 -22
  259. package/dist/utils/Data/setupFormData.test.js +52 -51
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  262. package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
  264. package/dist/utils/FormPage/getConditionalText.js +4 -4
  265. package/dist/utils/FormPage/getConditionalText.test.js +35 -35
  266. package/dist/utils/FormPage/getFormPage.js +16 -17
  267. package/dist/utils/FormPage/getFormPage.test.js +49 -48
  268. package/dist/utils/FormPage/getFormPages.js +8 -13
  269. package/dist/utils/FormPage/getFormPages.test.js +22 -25
  270. package/dist/utils/FormPage/getPageActions.js +10 -17
  271. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  272. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  274. package/dist/utils/FormPage/index.js +3 -5
  275. package/dist/utils/FormPage/showFormPage.js +4 -8
  276. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  277. package/dist/utils/FormPage/showFormPageCYA.js +3 -3
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  279. package/dist/utils/FormPage/useComponent.js +21 -28
  280. package/dist/utils/FormPage/useComponent.test.js +78 -80
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +19 -19
  283. package/dist/utils/Format/formatDataForComponent.js +6 -7
  284. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  285. package/dist/utils/Format/formatDataForForm.js +6 -8
  286. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  287. package/dist/utils/Format/formatDataForPage.js +4 -5
  288. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  289. package/dist/utils/Format/index.js +2 -2
  290. package/dist/utils/Hub/getFormHub.js +2 -2
  291. package/dist/utils/Hub/getFormHub.test.js +29 -32
  292. package/dist/utils/Hub/index.js +2 -2
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +1 -4
  295. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  296. package/dist/utils/Meta/documents/index.js +2 -2
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +15 -17
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
  299. package/dist/utils/Meta/index.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  302. package/dist/utils/Operate/deleteValueInFormData.js +3 -3
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  304. package/dist/utils/Operate/getFirstOf.js +8 -8
  305. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  308. package/dist/utils/Operate/getLength.js +11 -11
  309. package/dist/utils/Operate/getLength.test.js +19 -19
  310. package/dist/utils/Operate/index.js +2 -2
  311. package/dist/utils/Operate/persistValueInFormData.js +6 -6
  312. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  313. package/dist/utils/Operate/runPageOperations.js +9 -9
  314. package/dist/utils/Operate/runPageOperations.test.js +36 -37
  315. package/dist/utils/Operate/setValueInFormData.js +5 -5
  316. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  317. package/dist/utils/Operate/shouldRun.js +8 -8
  318. package/dist/utils/Operate/shouldRun.test.js +22 -28
  319. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  320. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  321. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
  322. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  323. package/dist/utils/Validate/additional/index.js +8 -8
  324. package/dist/utils/Validate/additional/index.test.js +22 -22
  325. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  327. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  328. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  329. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +9 -14
  330. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
  331. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  333. package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
  334. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  335. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
  336. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  337. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  338. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  339. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  340. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  341. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  342. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  343. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  345. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  346. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  347. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  348. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +36 -40
  349. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
  350. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  351. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  352. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  353. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  354. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  355. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +3 -5
  356. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  357. package/dist/utils/Validate/additional/utils.js +11 -24
  358. package/dist/utils/Validate/index.js +2 -2
  359. package/dist/utils/Validate/validateCollection.js +21 -27
  360. package/dist/utils/Validate/validateCollection.test.js +85 -77
  361. package/dist/utils/Validate/validateComponent.js +22 -23
  362. package/dist/utils/Validate/validateComponent.test.js +188 -165
  363. package/dist/utils/Validate/validateContainer.js +16 -21
  364. package/dist/utils/Validate/validateContainer.test.js +62 -56
  365. package/dist/utils/Validate/validateDate.js +17 -23
  366. package/dist/utils/Validate/validateDate.test.js +31 -32
  367. package/dist/utils/Validate/validateEmail.js +7 -9
  368. package/dist/utils/Validate/validateEmail.test.js +26 -26
  369. package/dist/utils/Validate/validateMultifile.js +5 -7
  370. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  371. package/dist/utils/Validate/validatePage.js +20 -24
  372. package/dist/utils/Validate/validatePage.test.js +227 -215
  373. package/dist/utils/Validate/validateRegex.js +5 -8
  374. package/dist/utils/Validate/validateRegex.test.js +17 -17
  375. package/dist/utils/Validate/validateRequired.js +5 -7
  376. package/dist/utils/Validate/validateRequired.test.js +19 -19
  377. package/dist/utils/Validate/validateTextArea.js +5 -7
  378. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  379. package/dist/utils/Validate/validateTime.js +12 -19
  380. package/dist/utils/Validate/validateTime.test.js +27 -27
  381. package/dist/utils/index.js +8 -10
  382. package/package.json +3 -2
@@ -4,12 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
7
  /* eslint-disable no-param-reassign */
14
8
 
15
9
  /*
@@ -28,21 +22,30 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
28
22
  * - The master page for a child collection, with its own array of child pages.
29
23
  */
30
24
 
31
- var createMasterPage = function createMasterPage(page) {
32
- return {
33
- id: page.id,
34
- name: page.name,
35
- orderInForm: page.orderInForm,
36
- collection: _objectSpread({
37
- masterPage: true
38
- }, page.collection),
39
- formData: _objectSpread({}, page.formData),
40
- childPages: [page]
25
+ const createMasterPage = page => ({
26
+ id: page.id,
27
+ name: page.name,
28
+ title: page.title,
29
+ cya_link: page.cya_link,
30
+ orderInForm: page.orderInForm,
31
+ collection: {
32
+ masterPage: true,
33
+ ...page.collection
34
+ },
35
+ formData: {
36
+ ...page.formData
37
+ },
38
+ childPages: [page]
39
+ });
40
+ const mergeIntoMasterPage = (page, masterPage) => {
41
+ masterPage.collection = {
42
+ ...masterPage.collection,
43
+ ...page.collection
44
+ };
45
+ masterPage.formData = {
46
+ ...masterPage.formData,
47
+ ...page.formData
41
48
  };
42
- };
43
- var mergeIntoMasterPage = function mergeIntoMasterPage(page, masterPage) {
44
- masterPage.collection = _objectSpread(_objectSpread({}, masterPage.collection), page.collection);
45
- masterPage.formData = _objectSpread(_objectSpread({}, masterPage.formData), page.formData);
46
49
  masterPage.childPages = [].concat(masterPage.childPages, [page]);
47
50
  };
48
51
 
@@ -54,14 +57,14 @@ var mergeIntoMasterPage = function mergeIntoMasterPage(page, masterPage) {
54
57
  * @returns true if page belonged to a child collection and was successfully
55
58
  * nested. false if it isn't in a child collection or failed to be nested.
56
59
  */
57
- var nestUnderParent = function nestUnderParent(childPage, masterPages) {
58
- var names = childPage.collection.name.split('.');
60
+ const nestUnderParent = (childPage, masterPages) => {
61
+ const names = childPage.collection.name.split('.');
59
62
  if (names.length === 1) {
60
63
  return false;
61
64
  }
62
65
  names.pop();
63
- var parentName = names.join('.');
64
- var parentPage = masterPages[parentName] || null;
66
+ const parentName = names.join('.');
67
+ const parentPage = masterPages[parentName] || null;
65
68
  if (!parentPage) {
66
69
  // Something had gone wrong if we're here - parent collection pages
67
70
  // should always be defined before their children, so the parent master
@@ -72,9 +75,7 @@ var nestUnderParent = function nestUnderParent(childPage, masterPages) {
72
75
 
73
76
  // Sort the pages to make sure they're in the same order
74
77
  // they were in on the form.
75
- parentPage.childPages.sort(function (a, b) {
76
- return a.orderInForm - b.orderInForm;
77
- });
78
+ parentPage.childPages.sort((a, b) => a.orderInForm - b.orderInForm);
78
79
  return true;
79
80
  };
80
81
 
@@ -89,16 +90,15 @@ var nestUnderParent = function nestUnderParent(childPage, masterPages) {
89
90
  * @param { array } pages Array of pages in the form.
90
91
  * @returns An array of the same pages, with a master page for each collection.
91
92
  */
92
- var mergeCollectionPages = function mergeCollectionPages(pages) {
93
- var masterPages = {};
94
- var pagesWithMasters = pages.map(function (page, index) {
95
- var _page$collection;
93
+ const mergeCollectionPages = pages => {
94
+ const masterPages = {};
95
+ const pagesWithMasters = pages.map((page, index) => {
96
96
  page.orderInForm = index;
97
- if (page !== null && page !== void 0 && (_page$collection = page.collection) !== null && _page$collection !== void 0 && _page$collection.name) {
97
+ if (page?.collection?.name) {
98
98
  if (!masterPages[page.collection.name]) {
99
99
  // If no master page exists for this collection.name, then
100
100
  // we kick one off using this page as a template.
101
- var newMasterPage = createMasterPage(page);
101
+ const newMasterPage = createMasterPage(page);
102
102
  masterPages[page.collection.name] = newMasterPage;
103
103
  return newMasterPage;
104
104
  }
@@ -109,21 +109,16 @@ var mergeCollectionPages = function mergeCollectionPages(pages) {
109
109
  return null;
110
110
  }
111
111
  return page;
112
- }).filter(function (page) {
113
- return !!page;
114
- });
112
+ }).filter(page => !!page);
115
113
 
116
114
  // We nest any child master pages under their parents here to
117
115
  // ensure that all parent master pages have been created by the
118
116
  // above code first.
119
- return pagesWithMasters.map(function (page) {
120
- var _page$collection2;
121
- if ((_page$collection2 = page.collection) !== null && _page$collection2 !== void 0 && _page$collection2.masterPage) {
117
+ return pagesWithMasters.map(page => {
118
+ if (page.collection?.masterPage) {
122
119
  return nestUnderParent(page, masterPages) ? null : page;
123
120
  }
124
121
  return page;
125
- }).filter(function (e) {
126
- return !!e;
127
- });
122
+ }).filter(e => !!e);
128
123
  };
129
124
  var _default = exports.default = mergeCollectionPages;
@@ -1,35 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _mergeCollectionPages = _interopRequireDefault(require("./mergeCollectionPages"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.CollectionPage.mergeCollectionPages', function () {
8
- var TEXT_COMP = {
7
+ describe('utils.CollectionPage.mergeCollectionPages', () => {
8
+ const TEXT_COMP = {
9
9
  id: 'testText',
10
10
  fieldId: 'testText',
11
11
  type: 'text'
12
12
  };
13
- var DATE_COMP = {
13
+ const DATE_COMP = {
14
14
  id: 'testDate',
15
15
  fieldId: 'testDate',
16
16
  type: 'date'
17
17
  };
18
- it('should return the same array if no pages belong to collections', function () {
19
- var PAGES = [{
18
+ it('should return the same array if no pages belong to collections', () => {
19
+ const PAGES = [{
20
20
  id: 'page1'
21
21
  }, {
22
22
  id: 'page2'
23
23
  }];
24
24
  expect((0, _mergeCollectionPages.default)(PAGES)).toEqual(PAGES);
25
25
  });
26
- it('should merge pages from the same collection into a single page', function () {
27
- var PAGES = [{
26
+ it('should merge pages from the same collection into a single page', () => {
27
+ const PAGES = [{
28
28
  id: 'page1',
29
+ title: "title",
29
30
  collection: {
30
31
  name: 'collection'
31
32
  },
32
- components: [TEXT_COMP]
33
+ components: [TEXT_COMP],
34
+ cya_link: "test_link"
33
35
  }, {
34
36
  id: 'page2',
35
37
  collection: {
@@ -37,7 +39,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
37
39
  },
38
40
  components: [DATE_COMP]
39
41
  }];
40
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
42
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
41
43
  expect(RESULT.length).toEqual(1);
42
44
  expect(RESULT[0]).toMatchObject({
43
45
  id: 'page1',
@@ -45,12 +47,14 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
45
47
  name: 'collection',
46
48
  masterPage: true
47
49
  },
50
+ title: "title",
51
+ cya_link: "test_link",
48
52
  formData: {},
49
53
  childPages: PAGES
50
54
  });
51
55
  });
52
- it('should correctly merge and nest child collection pages under their parents', function () {
53
- var PAGES = [{
56
+ it('should correctly merge and nest child collection pages under their parents', () => {
57
+ const PAGES = [{
54
58
  id: 'page1',
55
59
  collection: {
56
60
  name: 'parent'
@@ -75,7 +79,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
75
79
  },
76
80
  components: [DATE_COMP]
77
81
  }];
78
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
82
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
79
83
  expect(RESULT.length).toEqual(1);
80
84
  expect(RESULT[0]).toMatchObject({
81
85
  id: 'page1',
@@ -95,8 +99,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
95
99
  }]
96
100
  });
97
101
  });
98
- it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', function () {
99
- var PAGES = [{
102
+ it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', () => {
103
+ const PAGES = [{
100
104
  id: 'page1',
101
105
  collection: {
102
106
  name: 'parent.child'
@@ -121,7 +125,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
121
125
  },
122
126
  components: [DATE_COMP]
123
127
  }];
124
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
128
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
125
129
  expect(RESULT.length).toEqual(1); // One master page for parent collection.
126
130
  expect(RESULT[0].childPages.length).toEqual(3); // Two normal pages and the child collection's master page.
127
131
  expect(RESULT[0]).toMatchObject({
@@ -142,8 +146,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
142
146
  }, PAGES[2], PAGES[3]]
143
147
  });
144
148
  });
145
- it('should leave non-collection pages unaffected', function () {
146
- var PAGES = [{
149
+ it('should leave non-collection pages unaffected', () => {
150
+ const PAGES = [{
147
151
  id: 'page1',
148
152
  collection: {
149
153
  name: 'collection'
@@ -158,7 +162,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
158
162
  }, {
159
163
  id: 'page3'
160
164
  }];
161
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
165
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
162
166
  expect(RESULT.length).toEqual(2);
163
167
  expect(RESULT[0]).toMatchObject({
164
168
  id: 'page1',
@@ -173,8 +177,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
173
177
  id: 'page3'
174
178
  });
175
179
  });
176
- it('should handle multiple collections', function () {
177
- var PAGES = [{
180
+ it('should handle multiple collections', () => {
181
+ const PAGES = [{
178
182
  id: 'page1',
179
183
  collection: {
180
184
  name: 'collection1'
@@ -199,7 +203,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
199
203
  },
200
204
  components: []
201
205
  }];
202
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
206
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
203
207
  expect(RESULT.length).toEqual(2);
204
208
  expect(RESULT[0]).toMatchObject({
205
209
  id: 'page1',
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  // Local imports.
10
10
 
11
11
  /**
@@ -17,18 +17,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
17
  * @returns null if the target entry could not be deleted.
18
18
  * The deleted entry if it was deleted successfully.
19
19
  */
20
- var removeCollectionPageEntry = function removeCollectionPageEntry(collectionName, formData, id) {
21
- var collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
20
+ const removeCollectionPageEntry = (collectionName, formData, id) => {
21
+ const collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
22
22
  if (!collectionData) {
23
23
  return null;
24
24
  }
25
- var indexToDelete = collectionData.findIndex(function (entry) {
26
- return entry.id === id;
27
- });
25
+ const indexToDelete = collectionData.findIndex(entry => entry.id === id);
28
26
  if (indexToDelete === -1) {
29
27
  return null;
30
28
  }
31
- var deletedEntry = collectionData[indexToDelete];
29
+ const deletedEntry = collectionData[indexToDelete];
32
30
  collectionData.splice(indexToDelete, 1);
33
31
  return deletedEntry;
34
32
  };
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _removeCollectionPageEntry = _interopRequireDefault(require("./removeCollectionPageEntry"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
5
  // Local imports.
6
6
 
7
- describe('utils.collectionPage.removeCollectionPageEntry', function () {
8
- var FORM_DATA = {
7
+ describe('utils.collectionPage.removeCollectionPageEntry', () => {
8
+ const FORM_DATA = {
9
9
  parentsActiveId: '1',
10
10
  childrenActiveId: '1',
11
11
  grandchildrenActiveId: '1',
@@ -29,20 +29,20 @@ describe('utils.collectionPage.removeCollectionPageEntry', function () {
29
29
  }]
30
30
  }]
31
31
  };
32
- it('should return null if a parent collection does not exist', function () {
33
- var removedEntry = (0, _removeCollectionPageEntry.default)('parents.chainbreak.grandchildren', FORM_DATA, '1');
32
+ it('should return null if a parent collection does not exist', () => {
33
+ const removedEntry = (0, _removeCollectionPageEntry.default)('parents.chainbreak.grandchildren', FORM_DATA, '1');
34
34
  expect(removedEntry).toEqual(null);
35
35
  });
36
- it('should return null if an entry with the provided id does not exist', function () {
37
- var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '0');
36
+ it('should return null if an entry with the provided id does not exist', () => {
37
+ const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '0');
38
38
  expect(removedEntry).toEqual(null);
39
39
  });
40
- it('should return null if form data is invalid', function () {
41
- var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', null, '1');
40
+ it('should return null if form data is invalid', () => {
41
+ const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', null, '1');
42
42
  expect(removedEntry).toEqual(null);
43
43
  });
44
- it('should correctly remove the target entry', function () {
45
- var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '3');
44
+ it('should correctly remove the target entry', () => {
45
+ const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '3');
46
46
  expect(removedEntry).toEqual({
47
47
  id: '3',
48
48
  value: 'Charlie'
@@ -4,9 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var isValidIndex = function isValidIndex(value) {
8
- return typeof value === 'number' && value >= 0;
9
- };
7
+ var _uuid = require("uuid");
8
+ const isValidIndex = value => typeof value === 'number' && value >= 0;
10
9
 
11
10
  /**
12
11
  * This function sets the data for a given collection in formData.
@@ -22,25 +21,22 @@ var isValidIndex = function isValidIndex(value) {
22
21
  * @param {Array} newData The new data to set for the collection.
23
22
  * @param {Object} formData Top level formData object.
24
23
  */
25
- var setCollectionPageData = function setCollectionPageData(collectionName, newData, formData) {
26
- var nameParts = collectionName.split('.');
27
- var targetCollection = nameParts[nameParts.length - 1];
28
- var data = formData;
29
- nameParts.some(function (name) {
30
- var _data$name;
24
+ const setCollectionPageData = (collectionName, newData, formData) => {
25
+ const nameParts = collectionName.split('.');
26
+ const targetCollection = nameParts[nameParts.length - 1];
27
+ let data = formData;
28
+ nameParts.some(name => {
31
29
  // Current collection doesn't exist, so create it
32
30
  if (!data[name]) {
33
31
  data[name] = [];
34
32
  }
35
33
  // If the entry matching the active ID doesn't exist in the collection, create it.
36
- if (!data[name].find(function (e) {
37
- return e.id === formData["".concat(name, "ActiveId")];
38
- })) {
39
- var newEntryId = Date.now().toString();
34
+ if (!data[name].find(e => e.id === formData[`${name}ActiveId`])) {
35
+ const newEntryId = (0, _uuid.v4)();
40
36
  // eslint-disable-next-line no-param-reassign
41
- formData["".concat(name, "ActiveId")] = formData["".concat(name, "ActiveId")] || newEntryId;
37
+ formData[`${name}ActiveId`] = formData[`${name}ActiveId`] || newEntryId;
42
38
  data[name].push({
43
- id: formData["".concat(name, "ActiveId")]
39
+ id: formData[`${name}ActiveId`]
44
40
  });
45
41
  }
46
42
  // We're at the target collection's level, so
@@ -50,10 +46,8 @@ var setCollectionPageData = function setCollectionPageData(collectionName, newDa
50
46
  data[targetCollection] = newData;
51
47
  return true;
52
48
  }
53
- var activeId = formData["".concat(name, "ActiveId")];
54
- var activeIndex = (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.findIndex(function (item) {
55
- return item.id === activeId;
56
- });
49
+ const activeId = formData[`${name}ActiveId`];
50
+ const activeIndex = data[name]?.findIndex(item => item.id === activeId);
57
51
  if (!isValidIndex(activeIndex)) {
58
52
  return true;
59
53
  }
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPageData"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.CollectionPage.setCollectionPageData', function () {
6
- it('should create necessary entries when collections in the path don\'t exist', function () {
7
- var FORM_DATA = {};
8
- var NEW_DATA = [{
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('Utils.CollectionPage.setCollectionPageData', () => {
6
+ it('should create necessary entries when collections in the path don\'t exist', () => {
7
+ const FORM_DATA = {};
8
+ const NEW_DATA = [{
9
9
  id: '123',
10
10
  value: 'Alpha'
11
11
  }];
@@ -32,11 +32,11 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
32
32
  value: 'Alpha'
33
33
  });
34
34
  });
35
- it('should not overwrite existing entry IDs', function () {
36
- var FORM_DATA = {
35
+ it('should not overwrite existing entry IDs', () => {
36
+ const FORM_DATA = {
37
37
  grandchildActiveId: 77
38
38
  };
39
- var NEW_DATA = [{
39
+ const NEW_DATA = [{
40
40
  id: '123',
41
41
  value: 'Alpha'
42
42
  }];
@@ -63,9 +63,9 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
63
63
  value: 'Alpha'
64
64
  });
65
65
  });
66
- describe('when failing to set data for a nested collection', function () {
67
- it('should do nothing if one of the parent collections does not exist', function () {
68
- var FORM_DATA = {
66
+ describe('when failing to set data for a nested collection', () => {
67
+ it('should do nothing if one of the parent collections does not exist', () => {
68
+ const FORM_DATA = {
69
69
  parentActiveId: '1',
70
70
  childActiveId: '1',
71
71
  grandchildActiveId: '1',
@@ -80,7 +80,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
80
80
  }]
81
81
  }]
82
82
  };
83
- var NEW_DATA = [{
83
+ const NEW_DATA = [{
84
84
  id: '1',
85
85
  value: 'newValue'
86
86
  }];
@@ -90,8 +90,8 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
90
90
  value: 'oldValue'
91
91
  });
92
92
  });
93
- it('should do nothing if an active ID does not exist for a parent collection', function () {
94
- var FORM_DATA = {
93
+ it('should do nothing if an active ID does not exist for a parent collection', () => {
94
+ const FORM_DATA = {
95
95
  parentActiveId: '1',
96
96
  grandchildActiveId: '1',
97
97
  parent: [{
@@ -105,7 +105,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
105
105
  }]
106
106
  }]
107
107
  };
108
- var NEW_DATA = [{
108
+ const NEW_DATA = [{
109
109
  id: '1',
110
110
  value: 'newValue'
111
111
  }];
@@ -116,15 +116,15 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
116
116
  });
117
117
  });
118
118
  });
119
- it('should correctly set the value for a top-level collection', function () {
120
- var FORM_DATA = {
119
+ it('should correctly set the value for a top-level collection', () => {
120
+ const FORM_DATA = {
121
121
  testCollectionActiveId: '1',
122
122
  testCollection: [{
123
123
  id: '1',
124
124
  value: 'oldValue'
125
125
  }]
126
126
  };
127
- var NEW_DATA = [{
127
+ const NEW_DATA = [{
128
128
  id: '1',
129
129
  value: 'newValue'
130
130
  }];
@@ -134,8 +134,8 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
134
134
  value: 'newValue'
135
135
  });
136
136
  });
137
- it('should correctly set the data for a nested collection', function () {
138
- var FORM_DATA = {
137
+ it('should correctly set the data for a nested collection', () => {
138
+ const FORM_DATA = {
139
139
  parentActiveId: '1',
140
140
  childActiveId: '1',
141
141
  grandchildActiveId: '1',
@@ -150,7 +150,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
150
150
  }]
151
151
  }]
152
152
  };
153
- var NEW_DATA = [{
153
+ const NEW_DATA = [{
154
154
  id: '1',
155
155
  value: 'newValue'
156
156
  }];
@@ -160,17 +160,17 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
160
160
  value: 'newValue'
161
161
  });
162
162
  });
163
- it('creates a new entry and updates active ID if no matching active ID is found', function () {
164
- var formData = {};
165
- var collectionName = 'testCollection';
166
- var newData = [{
163
+ it('creates a new entry and updates active ID if no matching active ID is found', () => {
164
+ const formData = {};
165
+ const collectionName = 'testCollection';
166
+ const newData = [{
167
167
  id: 'dataId',
168
168
  value: 'testValue'
169
169
  }];
170
170
  (0, _setCollectionPageData.default)(collectionName, newData, formData);
171
171
 
172
172
  // Check if formData has been updated
173
- expect(formData["".concat(collectionName, "ActiveId")]).toBeDefined();
173
+ expect(formData[`${collectionName}ActiveId`]).toBeDefined();
174
174
 
175
175
  // Check if the new entry was added to the collection
176
176
  expect(formData[collectionName]).toBeDefined();
@@ -4,12 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
7
  /**
14
8
  * Adds a show_when to a component.
15
9
  * If the component has no show_when, then an array is created
@@ -21,14 +15,16 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
21
15
  * @returns The component with the new show_when added.
22
16
  * null if component or condition are invalid.
23
17
  */
24
- var addShowWhen = function addShowWhen(component, condition) {
18
+ const addShowWhen = (component, condition) => {
25
19
  if (!component) {
26
20
  return null;
27
21
  }
28
22
  if (!condition) {
29
23
  return component;
30
24
  }
31
- var result = _objectSpread({}, component);
25
+ const result = {
26
+ ...component
27
+ };
32
28
  if (result.show_when) {
33
29
  if (Array.isArray(condition)) {
34
30
  result.show_when = Array.isArray(result.show_when) ? [].concat(condition, result.show_when) : [].concat(condition, [result.show_when]);