@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.2-alpha

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 (385) hide show
  1. package/README.md +5 -0
  2. package/dist/components/CheckYourAnswers/Answer.js +12 -11
  3. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
  6. package/dist/components/CheckYourAnswers/index.js +1 -1
  7. package/dist/components/CollectionPage/CollectionPage.js +62 -60
  8. package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
  9. package/dist/components/CollectionPage/index.js +1 -1
  10. package/dist/components/CollectionSummary/BannerStrip.js +14 -14
  11. package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
  12. package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
  14. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  15. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  16. package/dist/components/CollectionSummary/RenderListView.js +34 -47
  17. package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
  18. package/dist/components/CollectionSummary/SummaryCard.js +101 -133
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
  20. package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
  21. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
  22. package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
  23. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  25. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
  26. package/dist/components/CollectionSummary/index.js +1 -1
  27. package/dist/components/FormComponent/Collection.js +63 -100
  28. package/dist/components/FormComponent/Collection.test.js +907 -1080
  29. package/dist/components/FormComponent/Container.js +35 -29
  30. package/dist/components/FormComponent/Container.test.js +378 -409
  31. package/dist/components/FormComponent/FormComponent.js +59 -63
  32. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  33. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  34. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  36. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  37. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  38. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  40. package/dist/components/FormComponent/helpers/index.js +5 -5
  41. package/dist/components/FormComponent/index.js +1 -1
  42. package/dist/components/FormPage/FormPage.js +70 -93
  43. package/dist/components/FormPage/FormPage.test.js +150 -202
  44. package/dist/components/FormPage/index.js +1 -1
  45. package/dist/components/FormRenderer/FormRenderer.js +131 -173
  46. package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
  47. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  48. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  49. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  50. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  51. package/dist/components/FormRenderer/handlers/index.js +2 -2
  52. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  53. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  54. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  56. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  58. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  60. package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
  61. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  62. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  63. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
  65. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  66. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  67. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  68. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  70. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  72. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
  74. package/dist/components/FormRenderer/helpers/index.js +2 -2
  75. package/dist/components/FormRenderer/index.js +1 -1
  76. package/dist/components/FormRenderer/onCYAAction.js +43 -44
  77. package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
  78. package/dist/components/FormRenderer/onPageAction.js +26 -35
  79. package/dist/components/FormRenderer/onPageAction.test.js +177 -186
  80. package/dist/components/FormRenderer/onTaskAction.js +11 -12
  81. package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
  82. package/dist/components/PageActions/ActionButton.js +14 -14
  83. package/dist/components/PageActions/ActionButton.test.js +57 -79
  84. package/dist/components/PageActions/PageActions.js +11 -11
  85. package/dist/components/PageActions/PageActions.test.js +87 -116
  86. package/dist/components/PageActions/index.js +1 -1
  87. package/dist/components/SummaryList/GroupAction.js +10 -18
  88. package/dist/components/SummaryList/GroupAction.test.js +38 -34
  89. package/dist/components/SummaryList/RowAction.js +12 -17
  90. package/dist/components/SummaryList/RowAction.test.js +38 -34
  91. package/dist/components/SummaryList/SummaryList.js +23 -25
  92. package/dist/components/SummaryList/SummaryList.test.js +162 -189
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
  94. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  95. package/dist/components/SummaryList/SummaryListRow.js +7 -5
  96. package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  98. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  100. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
  101. package/dist/components/SummaryList/helpers/index.js +2 -2
  102. package/dist/components/SummaryList/index.js +1 -1
  103. package/dist/components/TaskList/Task.js +20 -30
  104. package/dist/components/TaskList/Task.test.js +84 -77
  105. package/dist/components/TaskList/TaskList.js +56 -79
  106. package/dist/components/TaskList/TaskList.test.js +149 -149
  107. package/dist/components/TaskList/TaskState.js +8 -6
  108. package/dist/components/TaskList/TaskState.test.js +53 -46
  109. package/dist/components/TaskList/index.js +1 -1
  110. package/dist/components/index.js +8 -8
  111. package/dist/context/HooksContext/HooksContext.js +56 -79
  112. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  113. package/dist/context/HooksContext/index.js +3 -4
  114. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  115. package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
  116. package/dist/context/ValidationContext/index.js +3 -4
  117. package/dist/context/index.js +3 -3
  118. package/dist/hooks/index.js +10 -11
  119. package/dist/hooks/useAxios.js +15 -41
  120. package/dist/hooks/useGetRequest.js +62 -98
  121. package/dist/hooks/useHooks.js +1 -3
  122. package/dist/hooks/useRefData.js +25 -37
  123. package/dist/hooks/useValidation.js +1 -3
  124. package/dist/index.js +14 -15
  125. package/dist/models/CollectionLabels.js +1 -1
  126. package/dist/models/ComponentTypes.js +25 -25
  127. package/dist/models/EventTypes.js +4 -4
  128. package/dist/models/FormPages.js +4 -4
  129. package/dist/models/FormTypes.js +8 -8
  130. package/dist/models/HubFormats.js +3 -3
  131. package/dist/models/PageAction.js +44 -38
  132. package/dist/models/TaskStates.js +29 -28
  133. package/dist/models/index.js +10 -10
  134. package/dist/setupTests.js +30 -31
  135. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  136. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  137. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
  138. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
  139. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
  140. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
  141. package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
  142. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  143. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
  144. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
  147. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
  148. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
  149. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
  150. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  151. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
  152. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
  153. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
  154. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
  155. package/dist/utils/CheckYourAnswers/index.js +2 -2
  156. package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
  157. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  158. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  159. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  160. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  161. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
  162. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
  163. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
  164. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  165. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  166. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  167. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  168. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  169. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  170. package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
  171. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  172. package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
  173. package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
  174. package/dist/utils/CollectionPage/index.js +2 -2
  175. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
  176. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
  177. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  178. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  179. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  180. package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
  181. package/dist/utils/Component/addShowWhen.js +5 -6
  182. package/dist/utils/Component/addShowWhen.test.js +38 -38
  183. package/dist/utils/Component/applyToComponentTree.js +12 -15
  184. package/dist/utils/Component/applyToComponentTree.test.js +28 -31
  185. package/dist/utils/Component/cleanAttributes.js +12 -11
  186. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  187. package/dist/utils/Component/elevateNestedComponents.js +6 -6
  188. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  189. package/dist/utils/Component/getComponent.js +79 -85
  190. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  191. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
  192. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  193. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
  194. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  195. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  196. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
  197. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
  198. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  199. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  200. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  202. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
  203. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  204. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  206. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  208. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
  209. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
  210. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  211. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  212. package/dist/utils/Component/getDefaultValue.js +7 -9
  213. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  214. package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
  215. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  216. package/dist/utils/Component/index.js +2 -2
  217. package/dist/utils/Component/isEditable.js +2 -4
  218. package/dist/utils/Component/isEditable.test.js +14 -15
  219. package/dist/utils/Component/optionIsSelected.js +2 -4
  220. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  221. package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
  222. package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
  223. package/dist/utils/Component/showComponent.js +2 -2
  224. package/dist/utils/Component/showComponent.test.js +29 -29
  225. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  226. package/dist/utils/Condition/index.js +2 -2
  227. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  228. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  229. package/dist/utils/Condition/meetsCondition.js +17 -26
  230. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  231. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  232. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  233. package/dist/utils/Condition/setupConditions.js +12 -15
  234. package/dist/utils/Condition/setupConditions.test.js +8 -8
  235. package/dist/utils/Container/getEditableComponents.js +4 -6
  236. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  237. package/dist/utils/Container/index.js +2 -2
  238. package/dist/utils/Container/setupNesting.js +14 -15
  239. package/dist/utils/Container/setupNesting.test.js +20 -23
  240. package/dist/utils/Container/showContainer.js +4 -8
  241. package/dist/utils/Container/showContainer.test.js +31 -31
  242. package/dist/utils/Data/applyFormula.js +30 -44
  243. package/dist/utils/Data/applyFormula.test.js +21 -21
  244. package/dist/utils/Data/deleteValues.js +4 -8
  245. package/dist/utils/Data/deleteValues.test.js +11 -11
  246. package/dist/utils/Data/getAutocompleteSource.js +72 -63
  247. package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
  248. package/dist/utils/Data/getDataPath.js +18 -28
  249. package/dist/utils/Data/getDataPath.test.js +13 -13
  250. package/dist/utils/Data/getOptions.js +35 -42
  251. package/dist/utils/Data/getOptions.test.js +37 -38
  252. package/dist/utils/Data/getSourceData.js +6 -19
  253. package/dist/utils/Data/getSourceData.test.js +85 -81
  254. package/dist/utils/Data/index.js +2 -2
  255. package/dist/utils/Data/nestInRefdataOptions.js +9 -12
  256. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  257. package/dist/utils/Data/refDataToOptions.js +9 -10
  258. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  259. package/dist/utils/Data/setDataItem.js +7 -8
  260. package/dist/utils/Data/setDataItem.test.js +38 -38
  261. package/dist/utils/Data/setupFormData.js +13 -20
  262. package/dist/utils/Data/setupFormData.test.js +48 -47
  263. package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
  264. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
  265. package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
  266. package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
  267. package/dist/utils/FormPage/getConditionalText.js +4 -4
  268. package/dist/utils/FormPage/getConditionalText.test.js +30 -30
  269. package/dist/utils/FormPage/getFormPage.js +12 -15
  270. package/dist/utils/FormPage/getFormPage.test.js +23 -24
  271. package/dist/utils/FormPage/getFormPages.js +8 -11
  272. package/dist/utils/FormPage/getFormPages.test.js +15 -16
  273. package/dist/utils/FormPage/getPageActions.js +10 -13
  274. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  275. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  276. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  277. package/dist/utils/FormPage/index.js +3 -5
  278. package/dist/utils/FormPage/showFormPage.js +4 -8
  279. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  280. package/dist/utils/FormPage/showFormPageCYA.js +2 -2
  281. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  282. package/dist/utils/FormPage/useComponent.js +15 -23
  283. package/dist/utils/FormPage/useComponent.test.js +49 -50
  284. package/dist/utils/Format/formatData.js +1 -1
  285. package/dist/utils/Format/formatData.test.js +19 -19
  286. package/dist/utils/Format/formatDataForComponent.js +6 -7
  287. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  288. package/dist/utils/Format/formatDataForForm.js +5 -6
  289. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  290. package/dist/utils/Format/formatDataForPage.js +4 -5
  291. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  292. package/dist/utils/Format/index.js +2 -2
  293. package/dist/utils/Hub/getFormHub.js +2 -2
  294. package/dist/utils/Hub/getFormHub.test.js +23 -24
  295. package/dist/utils/Hub/index.js +2 -2
  296. package/dist/utils/Meta/constants.js +2 -2
  297. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  298. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  299. package/dist/utils/Meta/documents/index.js +2 -2
  300. package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
  301. package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
  302. package/dist/utils/Meta/index.js +2 -2
  303. package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
  304. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  305. package/dist/utils/Operate/deleteValueInFormData.js +2 -2
  306. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  307. package/dist/utils/Operate/getFirstOf.js +6 -6
  308. package/dist/utils/Operate/getFirstOf.test.js +32 -32
  309. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
  310. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  311. package/dist/utils/Operate/getLength.js +9 -9
  312. package/dist/utils/Operate/getLength.test.js +19 -19
  313. package/dist/utils/Operate/index.js +2 -2
  314. package/dist/utils/Operate/persistValueInFormData.js +4 -4
  315. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  316. package/dist/utils/Operate/runPageOperations.js +8 -8
  317. package/dist/utils/Operate/runPageOperations.test.js +24 -25
  318. package/dist/utils/Operate/setValueInFormData.js +3 -3
  319. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  320. package/dist/utils/Operate/shouldRun.js +7 -7
  321. package/dist/utils/Operate/shouldRun.test.js +22 -24
  322. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  323. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  324. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  325. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  326. package/dist/utils/Validate/additional/index.js +8 -8
  327. package/dist/utils/Validate/additional/index.test.js +22 -22
  328. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  330. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  331. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  332. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
  333. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
  334. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  336. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
  337. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  338. package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
  339. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  340. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  341. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  342. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  343. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  344. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  345. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  346. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  347. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  348. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  349. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  350. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  351. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
  352. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  353. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  354. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  355. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  356. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  357. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  358. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  359. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  360. package/dist/utils/Validate/additional/utils.js +9 -22
  361. package/dist/utils/Validate/index.js +2 -2
  362. package/dist/utils/Validate/validateCollection.js +18 -23
  363. package/dist/utils/Validate/validateCollection.test.js +75 -67
  364. package/dist/utils/Validate/validateComponent.js +19 -19
  365. package/dist/utils/Validate/validateComponent.test.js +179 -154
  366. package/dist/utils/Validate/validateContainer.js +14 -17
  367. package/dist/utils/Validate/validateContainer.test.js +59 -53
  368. package/dist/utils/Validate/validateDate.js +16 -22
  369. package/dist/utils/Validate/validateDate.test.js +31 -32
  370. package/dist/utils/Validate/validateEmail.js +7 -9
  371. package/dist/utils/Validate/validateEmail.test.js +27 -27
  372. package/dist/utils/Validate/validateMultifile.js +5 -7
  373. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  374. package/dist/utils/Validate/validatePage.js +13 -18
  375. package/dist/utils/Validate/validatePage.test.js +198 -195
  376. package/dist/utils/Validate/validateRegex.js +3 -5
  377. package/dist/utils/Validate/validateRegex.test.js +15 -15
  378. package/dist/utils/Validate/validateRequired.js +4 -6
  379. package/dist/utils/Validate/validateRequired.test.js +19 -19
  380. package/dist/utils/Validate/validateTextArea.js +4 -6
  381. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  382. package/dist/utils/Validate/validateTime.js +12 -19
  383. package/dist/utils/Validate/validateTime.test.js +27 -27
  384. package/dist/utils/index.js +5 -6
  385. package/package.json +2 -4
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _CollectionPage = _interopRequireDefault(require("./CollectionPage"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  var _default = exports.default = _CollectionPage.default;
@@ -9,30 +9,30 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _utils = _interopRequireDefault(require("../../utils"));
11
11
  require("./BannerStrip.scss");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  // Global imports.
14
14
 
15
15
  // Local imports.
16
16
 
17
17
  // Styles.
18
18
 
19
- var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-banner-strip';
20
- var BannerStrip = function BannerStrip(_ref) {
21
- var id = _ref.id,
22
- banners = _ref.banners,
23
- formData = _ref.formData,
24
- classModifiers = _ref.classModifiers;
25
- var classes = _utils.default.classBuilder(DEFAULT_CLASS, classModifiers, '');
26
- var filteredBanners = banners.filter(function (banner) {
27
- return _utils.default.Component.show(banner, formData);
28
- });
19
+ const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-banner-strip';
20
+ const BannerStrip = _ref => {
21
+ let {
22
+ id,
23
+ banners,
24
+ formData,
25
+ classModifiers
26
+ } = _ref;
27
+ const classes = _utils.default.classBuilder(DEFAULT_CLASS, classModifiers, '');
28
+ const filteredBanners = banners.filter(banner => _utils.default.Component.show(banner, formData));
29
29
  return /*#__PURE__*/_react.default.createElement("div", {
30
30
  id: id,
31
31
  className: classes()
32
- }, filteredBanners.map(function (banner, index) {
33
- var bannerId = "".concat(id, "-banner-").concat(index);
32
+ }, filteredBanners.map((banner, index) => {
33
+ const bannerId = "".concat(id, "-banner-").concat(index);
34
34
  if (typeof banner === 'string' || banner.type === 'plain') {
35
- var bannerText = typeof banner === 'string' ? banner : banner.text;
35
+ const bannerText = typeof banner === 'string' ? banner : banner.text;
36
36
  return /*#__PURE__*/_react.default.createElement("div", {
37
37
  id: bannerId,
38
38
  key: bannerId,
@@ -4,129 +4,133 @@ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  var _setupTests = require("../../setupTests");
6
6
  var _BannerStrip = _interopRequireWildcard(require("./BannerStrip"));
7
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
8
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- 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 _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
8
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
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; }
12
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; }
13
- 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; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- 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); } // Global imports.
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Global imports.
16
15
  // Local imports.
17
- describe('components.CollectionSummary.BannerStrip', function () {
18
- var ID = 'testBanner';
19
- var BANNERS = ['Banner 1', 'Banner 2'];
20
- var FORM_DATA = {
16
+ describe('components.CollectionSummary.BannerStrip', () => {
17
+ const ID = 'testBanner';
18
+ const BANNERS = ['Banner 1', 'Banner 2'];
19
+ const FORM_DATA = {
21
20
  textField: 'banner'
22
21
  };
23
- var classes = _copReactComponents.Utils.classBuilder(_BannerStrip.DEFAULT_CLASS, [], '');
24
- var checkSetup = function checkSetup(container) {
25
- var bannerStripDiv = container.children[0];
22
+ const classes = _copReactComponents.Utils.classBuilder(_BannerStrip.DEFAULT_CLASS, [], '');
23
+ const checkSetup = container => {
24
+ const bannerStripDiv = container.children[0];
26
25
  expect(bannerStripDiv.tagName).toEqual('DIV');
27
26
  expect(bannerStripDiv.id).toEqual(ID);
28
27
  return bannerStripDiv;
29
28
  };
30
- it('should correctly render a BannerStrip component with plain-text banners', function () {
31
- var _renderWithValidation = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
32
- id: ID,
33
- banners: BANNERS,
34
- formData: FORM_DATA
35
- })),
36
- container = _renderWithValidation.container;
37
- var bannerStripDiv = checkSetup(container);
29
+ it('should correctly render a BannerStrip component with plain-text banners', () => {
30
+ const {
31
+ container
32
+ } = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
33
+ id: ID,
34
+ banners: BANNERS,
35
+ formData: FORM_DATA
36
+ }));
37
+ const bannerStripDiv = checkSetup(container);
38
38
  expect(bannerStripDiv.tagName).toEqual('DIV');
39
39
  expect(bannerStripDiv.classList).toContain(_BannerStrip.DEFAULT_CLASS);
40
40
  expect(bannerStripDiv.children.length).toEqual(2); // One for each banner provided.
41
41
 
42
- var firstBanner = bannerStripDiv.children[0];
42
+ const firstBanner = bannerStripDiv.children[0];
43
43
  expect(firstBanner.tagName).toEqual('DIV');
44
44
  expect(firstBanner.classList).toContain(classes('banner'));
45
45
  expect(firstBanner.textContent).toEqual(BANNERS[0]);
46
- var secondBanner = bannerStripDiv.children[1];
46
+ const secondBanner = bannerStripDiv.children[1];
47
47
  expect(secondBanner.tagName).toEqual('DIV');
48
48
  expect(secondBanner.classList).toContain(classes('banner'));
49
49
  expect(secondBanner.textContent).toEqual(BANNERS[1]);
50
50
  });
51
- it('should correctly render a BannerStrip component with tag banners', function () {
52
- var TAG_BANNERS = [{
51
+ it('should correctly render a BannerStrip component with tag banners', () => {
52
+ const TAG_BANNERS = [{
53
53
  text: 'Banner 1'
54
54
  }, {
55
55
  text: 'Banner 2'
56
56
  }];
57
- var _renderWithValidation2 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
58
- id: ID,
59
- banners: TAG_BANNERS,
60
- formData: FORM_DATA
61
- })),
62
- container = _renderWithValidation2.container;
63
- var bannerStripDiv = checkSetup(container);
57
+ const {
58
+ container
59
+ } = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
60
+ id: ID,
61
+ banners: TAG_BANNERS,
62
+ formData: FORM_DATA
63
+ }));
64
+ const bannerStripDiv = checkSetup(container);
64
65
  expect(bannerStripDiv.tagName).toEqual('DIV');
65
66
  expect(bannerStripDiv.classList).toContain(_BannerStrip.DEFAULT_CLASS);
66
67
  expect(bannerStripDiv.children.length).toEqual(2); // One for each banner provided.
67
68
 
68
- var firstBanner = bannerStripDiv.children[0];
69
+ const firstBanner = bannerStripDiv.children[0];
69
70
  expect(firstBanner.tagName).toEqual('STRONG');
70
71
  expect(firstBanner.classList).toContain(classes('tag'));
71
72
  expect(firstBanner.textContent).toEqual(BANNERS[0]);
72
- var secondBanner = bannerStripDiv.children[1];
73
+ const secondBanner = bannerStripDiv.children[1];
73
74
  expect(secondBanner.tagName).toEqual('STRONG');
74
75
  expect(secondBanner.classList).toContain(classes('tag'));
75
76
  expect(secondBanner.textContent).toEqual(BANNERS[1]);
76
77
  });
77
- it('should correctly interpolate banners', function () {
78
- var INTERPOLATED_BANNERS = [{
78
+ it('should correctly interpolate banners', () => {
79
+ const INTERPOLATED_BANNERS = [{
79
80
  // eslint-disable-next-line no-template-curly-in-string
80
81
  text: 'An interpolated ${textField}'
81
82
  },
82
83
  // eslint-disable-next-line no-template-curly-in-string
83
84
  'Another interpolated ${textField}'];
84
- var _renderWithValidation3 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
85
- id: ID,
86
- banners: INTERPOLATED_BANNERS,
87
- formData: FORM_DATA
88
- })),
89
- container = _renderWithValidation3.container;
90
- var bannerStripDiv = checkSetup(container);
85
+ const {
86
+ container
87
+ } = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
88
+ id: ID,
89
+ banners: INTERPOLATED_BANNERS,
90
+ formData: FORM_DATA
91
+ }));
92
+ const bannerStripDiv = checkSetup(container);
91
93
  expect(bannerStripDiv.children.length).toEqual(2); // One for each banner provided.
92
94
 
93
- var firstBanner = bannerStripDiv.children[0];
95
+ const firstBanner = bannerStripDiv.children[0];
94
96
  expect(firstBanner.tagName).toEqual('STRONG');
95
97
  expect(firstBanner.classList).toContain(classes('tag'));
96
98
  expect(firstBanner.textContent).toEqual("An interpolated ".concat(FORM_DATA.textField));
97
- var secondBanner = bannerStripDiv.children[1];
99
+ const secondBanner = bannerStripDiv.children[1];
98
100
  expect(secondBanner.tagName).toEqual('DIV');
99
101
  expect(secondBanner.classList).toContain(classes('banner'));
100
102
  expect(secondBanner.textContent).toEqual("Another interpolated ".concat(FORM_DATA.textField));
101
103
  });
102
- it('should render no banners if none are provided', function () {
103
- var _renderWithValidation4 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
104
- id: ID,
105
- formData: FORM_DATA
106
- })),
107
- container = _renderWithValidation4.container;
108
- var bannerStripDiv = checkSetup(container);
104
+ it('should render no banners if none are provided', () => {
105
+ const {
106
+ container
107
+ } = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
108
+ id: ID,
109
+ formData: FORM_DATA
110
+ }));
111
+ const bannerStripDiv = checkSetup(container);
109
112
  expect(bannerStripDiv.tagName).toEqual('DIV');
110
113
  expect(bannerStripDiv.classList).toContain(_BannerStrip.DEFAULT_CLASS);
111
114
  expect(bannerStripDiv.children.length).toEqual(0);
112
115
  });
113
- it('should correctly render a BannerStrip component with a plain string banner', function () {
114
- var PLAIN_STRING_BANNER = 'banner';
115
- var _renderWithValidation5 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
116
- id: ID,
117
- banners: [PLAIN_STRING_BANNER],
118
- formData: FORM_DATA
119
- })),
120
- container = _renderWithValidation5.container;
121
- var bannerStripDiv = checkSetup(container);
116
+ it('should correctly render a BannerStrip component with a plain string banner', () => {
117
+ const PLAIN_STRING_BANNER = 'banner';
118
+ const {
119
+ container
120
+ } = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
121
+ id: ID,
122
+ banners: [PLAIN_STRING_BANNER],
123
+ formData: FORM_DATA
124
+ }));
125
+ const bannerStripDiv = checkSetup(container);
122
126
  expect(bannerStripDiv.children.length).toEqual(1); // One banner provided.
123
- var plainStringBanner = bannerStripDiv.children[0];
127
+ const plainStringBanner = bannerStripDiv.children[0];
124
128
  expect(plainStringBanner.tagName).toEqual('DIV');
125
129
  expect(plainStringBanner.classList.contains(classes('banner'))).toBe(true);
126
130
  expect(plainStringBanner.textContent).toEqual(PLAIN_STRING_BANNER);
127
131
  });
128
- it('should correctly render banners based on their show_whens', function () {
129
- var CUSTOM_BANNERS = [{
132
+ it('should correctly render banners based on their show_whens', () => {
133
+ const CUSTOM_BANNERS = [{
130
134
  type: 'plain',
131
135
  text: 'A banner',
132
136
  show_when: [{
@@ -138,22 +142,23 @@ describe('components.CollectionSummary.BannerStrip', function () {
138
142
  type: 'plain',
139
143
  text: BANNERS[1]
140
144
  }];
141
- var CUSTOM_FORM_DATA = _objectSpread(_objectSpread({}, FORM_DATA), {}, {
145
+ const CUSTOM_FORM_DATA = _objectSpread(_objectSpread({}, FORM_DATA), {}, {
142
146
  testField: 'abc'
143
147
  });
144
- var _renderWithValidation6 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
145
- id: ID,
146
- banners: CUSTOM_BANNERS,
147
- formData: CUSTOM_FORM_DATA
148
- })),
149
- container = _renderWithValidation6.container;
150
- var bannerStripDiv = checkSetup(container);
148
+ const {
149
+ container
150
+ } = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
151
+ id: ID,
152
+ banners: CUSTOM_BANNERS,
153
+ formData: CUSTOM_FORM_DATA
154
+ }));
155
+ const bannerStripDiv = checkSetup(container);
151
156
  expect(bannerStripDiv.tagName).toEqual('DIV');
152
157
  expect(bannerStripDiv.classList).toContain(_BannerStrip.DEFAULT_CLASS);
153
158
  expect(bannerStripDiv.children.length).toEqual(1); // One banner should be hidden.
154
159
 
155
160
  // Only the second banner should be visible.
156
- var secondBanner = bannerStripDiv.children[0];
161
+ const secondBanner = bannerStripDiv.children[0];
157
162
  expect(secondBanner.tagName).toEqual('DIV');
158
163
  expect(secondBanner.classList).toContain(classes('banner'));
159
164
  expect(secondBanner.textContent).toEqual(CUSTOM_BANNERS[1].text);
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- 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); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -19,26 +18,20 @@ var _Confirmation = _interopRequireDefault(require("./Confirmation"));
19
18
  var _SummaryCard = _interopRequireDefault(require("./SummaryCard"));
20
19
  var _SummaryCardValidationContext = _interopRequireDefault(require("./SummaryCardValidationContext"));
21
20
  require("./CollectionSummary.scss");
22
- var _excluded = ["isDuplicate"];
23
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
+ const _excluded = ["isDuplicate"];
22
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
26
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
28
27
  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; }
29
28
  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; }
30
- 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; }
31
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
32
- 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); }
33
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
34
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
35
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
36
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
37
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
38
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports.
29
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
30
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
31
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Global imports.
39
32
  // Local imports.
40
33
  // Styles.
41
- var DEFAULT_ADD_BUTTON_LABEL = exports.DEFAULT_ADD_BUTTON_LABEL = 'Add';
34
+ const DEFAULT_ADD_BUTTON_LABEL = exports.DEFAULT_ADD_BUTTON_LABEL = 'Add';
42
35
 
43
36
  // A note about validation.
44
37
  //
@@ -52,31 +45,30 @@ var DEFAULT_ADD_BUTTON_LABEL = exports.DEFAULT_ADD_BUTTON_LABEL = 'Add';
52
45
  // errors found by the summary and allow the Summary Card to keep any Quick Edit
53
46
  // errors local to the Quick Edit page.
54
47
 
55
- var CollectionSummary = function CollectionSummary(_ref) {
48
+ const CollectionSummary = _ref => {
56
49
  var _config$confirmation, _config$confirmation2, _config$confirmation3;
57
- var config = _ref.config,
58
- formData = _ref.formData,
59
- onAction = _ref.onAction,
60
- onChange = _ref.onChange,
61
- onTopLevelChange = _ref.onTopLevelChange,
62
- pages = _ref.pages;
63
- var _useHooks = (0, _hooks.useHooks)(),
64
- hooks = _useHooks.hooks;
65
- var _useValidation = (0, _hooks.useValidation)(),
66
- errors = _useValidation.errors,
67
- addErrors = _useValidation.addErrors,
68
- clearErrors = _useValidation.clearErrors,
69
- queuedErrors = _useValidation.queuedErrors,
70
- enqueueErrors = _useValidation.enqueueErrors,
71
- dequeueErrors = _useValidation.dequeueErrors;
72
- var _useState = (0, _react.useState)(null),
73
- _useState2 = _slicedToArray(_useState, 2),
74
- entryToDelete = _useState2[0],
75
- setEntryToDelete = _useState2[1];
76
- var data = (0, _react.useMemo)(function () {
77
- return _utils.default.CollectionPage.getData(config.collectionName, formData) || [];
78
- }, [formData]);
79
- var toFocusOn = Array.isArray(data) && data.length > 0 ? data.reduce(function (acc, current) {
50
+ let {
51
+ config,
52
+ formData,
53
+ onAction,
54
+ onChange,
55
+ onTopLevelChange,
56
+ pages
57
+ } = _ref;
58
+ const {
59
+ hooks
60
+ } = (0, _hooks.useHooks)();
61
+ const {
62
+ errors,
63
+ addErrors,
64
+ clearErrors,
65
+ queuedErrors,
66
+ enqueueErrors,
67
+ dequeueErrors
68
+ } = (0, _hooks.useValidation)();
69
+ const [entryToDelete, setEntryToDelete] = (0, _react.useState)(null);
70
+ const data = (0, _react.useMemo)(() => _utils.default.CollectionPage.getData(config.collectionName, formData) || [], [formData]);
71
+ const toFocusOn = Array.isArray(data) && data.length > 0 ? data.reduce((acc, current) => {
80
72
  if (current.isDuplicate) {
81
73
  if (!acc || current.id > acc.id) {
82
74
  return current;
@@ -85,47 +77,45 @@ var CollectionSummary = function CollectionSummary(_ref) {
85
77
  }
86
78
  return acc;
87
79
  }, null) : null;
88
- var masterPage = (0, _react.useMemo)(function () {
89
- var collectionNameParts = config.collectionName.split('.');
90
- var childPages = _utils.default.CollectionPage.mergePages(pages || []) || [];
91
- return collectionNameParts.reduce(function (acc, current, index) {
80
+ const masterPage = (0, _react.useMemo)(() => {
81
+ const collectionNameParts = config.collectionName.split('.');
82
+ let childPages = _utils.default.CollectionPage.mergePages(pages || []) || [];
83
+ return collectionNameParts.reduce((acc, current, index) => {
92
84
  var _childPages$find;
93
- var currentPath = index === 0 ? "".concat(acc).concat(current) : "".concat(acc, ".").concat(current);
85
+ const currentPath = index === 0 ? "".concat(acc).concat(current) : "".concat(acc, ".").concat(current);
94
86
  if (index === collectionNameParts.length - 1) {
95
87
  var _childPages;
96
- return ((_childPages = childPages) === null || _childPages === void 0 ? void 0 : _childPages.find(function (p) {
88
+ return ((_childPages = childPages) === null || _childPages === void 0 ? void 0 : _childPages.find(p => {
97
89
  var _p$collection;
98
90
  return ((_p$collection = p.collection) === null || _p$collection === void 0 ? void 0 : _p$collection.name) === currentPath;
99
91
  })) || null;
100
92
  }
101
- childPages = ((_childPages$find = childPages.find(function (p) {
93
+ childPages = ((_childPages$find = childPages.find(p => {
102
94
  var _p$collection2;
103
95
  return ((_p$collection2 = p.collection) === null || _p$collection2 === void 0 ? void 0 : _p$collection2.name) === currentPath;
104
96
  })) === null || _childPages$find === void 0 ? void 0 : _childPages$find.childPages) || null;
105
97
  return currentPath;
106
98
  }, "");
107
99
  }, [pages]);
108
- var allComponents = (0, _react.useMemo)(function () {
100
+ const allComponents = (0, _react.useMemo)(() => {
109
101
  if (config.card.listView) {
110
102
  var _masterPage$childPage;
111
- var components = (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.reduce(function (acc, page) {
112
- var elevatedComponents = (0, _elevateNestedComponents.default)(page.components, _objectSpread(_objectSpread({}, formData), entryToDelete));
103
+ const components = (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.reduce((acc, page) => {
104
+ const elevatedComponents = (0, _elevateNestedComponents.default)(page.components, _objectSpread(_objectSpread({}, formData), entryToDelete));
113
105
  return acc.concat(elevatedComponents);
114
106
  }, []);
115
107
  return components || [];
116
108
  }
117
109
  return [];
118
110
  }, [masterPage, formData, entryToDelete, config.card.listView]);
119
- var validateEntries = function validateEntries() {
111
+ const validateEntries = () => {
120
112
  // We only clear queuedErrors if it's not empty to avoid
121
113
  // triggering a race condition with the 'data' memo
122
114
  // above.
123
115
  if (queuedErrors.length > 0) {
124
- dequeueErrors(function (e) {
125
- return e.raisedBy === config.id;
126
- });
116
+ dequeueErrors(e => e.raisedBy === config.id);
127
117
  }
128
- var allErrors = (0, _getErrorsForCollection.default)(config, masterPage, formData, hooks);
118
+ const allErrors = (0, _getErrorsForCollection.default)(config, masterPage, formData, hooks);
129
119
 
130
120
  // We only queue allErrors if it's not empty to avoid
131
121
  // triggering a race condition with the 'data' memo
@@ -134,26 +124,26 @@ var CollectionSummary = function CollectionSummary(_ref) {
134
124
  enqueueErrors(allErrors);
135
125
  }
136
126
  };
137
- (0, _react.useEffect)(function () {
127
+ (0, _react.useEffect)(() => {
138
128
  // An empty array here indicates nothing to validate, higher level validation
139
129
  // such as 'required' is taken care of at the page level not here
140
130
  if (Array.isArray(data) && data.length > 0) {
141
131
  validateEntries();
142
132
  }
143
133
  }, [data]);
144
- var onSummaryCardFullEdit = function onSummaryCardFullEdit(page, entryId) {
134
+ const onSummaryCardFullEdit = (page, entryId) => {
145
135
  if (typeof onAction === 'function') {
146
- var newData = [].concat(data);
147
- var entryIndex = data.findIndex(function (e) {
148
- return e.id === entryId;
149
- });
150
- var _data$entryIndex = data[entryIndex],
151
- isDuplicate = _data$entryIndex.isDuplicate,
136
+ const newData = [].concat(data);
137
+ const entryIndex = data.findIndex(e => e.id === entryId);
138
+ const _data$entryIndex = data[entryIndex],
139
+ {
140
+ isDuplicate
141
+ } = _data$entryIndex,
152
142
  newEntry = _objectWithoutProperties(_data$entryIndex, _excluded);
153
143
  newData[entryIndex] = _objectSpread({}, newEntry);
154
144
  onAction({
155
145
  type: _PageAction.PageActionTypes.SAVE_AND_NAVIGATE,
156
- page: page,
146
+ page,
157
147
  addToFormData: [{
158
148
  field: "".concat(config.collectionName.split('.').pop(), "ActiveId"),
159
149
  value: entryId
@@ -165,12 +155,12 @@ var CollectionSummary = function CollectionSummary(_ref) {
165
155
  });
166
156
  }
167
157
  };
168
- var onDuplicate = function onDuplicate(entry) {
158
+ const onDuplicate = entry => {
169
159
  var _config$card;
170
160
  _utils.default.CollectionPage.duplicateEntry(config.collectionName, formData, entry.id, ((_config$card = config.card) === null || _config$card === void 0 || (_config$card = _config$card.duplicateAction) === null || _config$card === void 0 ? void 0 : _config$card.fieldsToIgnore) || [], {
171
161
  isDuplicate: true
172
162
  });
173
- var topLevelCollectionName = config.collectionName.split('.').shift();
163
+ const topLevelCollectionName = config.collectionName.split('.').shift();
174
164
  // Report the whole top-level collection as being changed. We have to do this
175
165
  // because of how patch is applied to formData on a page submission.
176
166
  if (typeof onTopLevelChange === 'function') {
@@ -183,12 +173,12 @@ var CollectionSummary = function CollectionSummary(_ref) {
183
173
  validateEntries();
184
174
  }
185
175
  };
186
- var onDeleteConfirm = function onDeleteConfirm() {
176
+ const onDeleteConfirm = () => {
187
177
  if (!entryToDelete) {
188
178
  return;
189
179
  }
190
180
  _utils.default.CollectionPage.removeEntry(config.collectionName, formData, entryToDelete.id);
191
- var topLevelCollectionName = config.collectionName.split('.').shift();
181
+ const topLevelCollectionName = config.collectionName.split('.').shift();
192
182
  // Report the whole top-level collection as being changed. We have to do this
193
183
  // because of how patch is applied to formData on a page submission.
194
184
  if (typeof onTopLevelChange === 'function') {
@@ -202,12 +192,10 @@ var CollectionSummary = function CollectionSummary(_ref) {
202
192
  setEntryToDelete(null);
203
193
  validateEntries();
204
194
  };
205
- var renderFieldValue = function renderFieldValue(field) {
206
- var component = allComponents.find(function (c) {
207
- return c.fieldId === field;
208
- });
195
+ const renderFieldValue = field => {
196
+ const component = allComponents.find(c => c.fieldId === field);
209
197
  if (!component) return null;
210
- var row = (0, _getCYARow.default)(_objectSpread(_objectSpread({}, masterPage), {}, {
198
+ const row = (0, _getCYARow.default)(_objectSpread(_objectSpread({}, masterPage), {}, {
211
199
  formData: _objectSpread(_objectSpread({}, formData), entryToDelete)
212
200
  }), component);
213
201
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -228,9 +216,7 @@ var CollectionSummary = function CollectionSummary(_ref) {
228
216
  })) || null,
229
217
  confirmLabel: _utils.default.interpolateString((_config$confirmation2 = config.confirmation) === null || _config$confirmation2 === void 0 ? void 0 : _config$confirmation2.label, entryToDelete) || null,
230
218
  onConfirm: onDeleteConfirm,
231
- onCancel: function onCancel() {
232
- return setEntryToDelete(null);
233
- }
219
+ onCancel: () => setEntryToDelete(null)
234
220
  }, config.card.listView ? /*#__PURE__*/_react.default.createElement("div", {
235
221
  className: "confirmation-content"
236
222
  }, (_config$confirmation3 = config.confirmation) === null || _config$confirmation3 === void 0 ? void 0 : _config$confirmation3.displayFields.map(renderFieldValue)) : /*#__PURE__*/_react.default.createElement(_SummaryCard.default, {
@@ -256,21 +242,17 @@ var CollectionSummary = function CollectionSummary(_ref) {
256
242
  onAction: onAction
257
243
  }), /*#__PURE__*/_react.default.createElement("ul", {
258
244
  className: "collection-summary-card-list"
259
- }, data.map(function (entry, index) {
260
- var isInError = errors.filter(function (e) {
261
- return e.entryId === entry.id;
262
- }).length > 0;
263
- var finalConfig = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, config.card), entry.isDuplicate && config.duplicatedCard ? config.duplicatedCard : {}), isInError && config.errorCard ? config.errorCard : {}), {}, {
245
+ }, data.map((entry, index) => {
246
+ const isInError = errors.filter(e => e.entryId === entry.id).length > 0;
247
+ const finalConfig = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, config.card), entry.isDuplicate && config.duplicatedCard ? config.duplicatedCard : {}), isInError && config.errorCard ? config.errorCard : {}), {}, {
264
248
  focusOn: (toFocusOn === null || toFocusOn === void 0 ? void 0 : toFocusOn.id) === entry.id
265
249
  });
266
- var key = "".concat(config.fieldId, ".summaryCard").concat(entry.id);
250
+ const key = "".concat(config.fieldId, ".summaryCard").concat(entry.id);
267
251
  return /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_SummaryCardValidationContext.default, {
268
252
  entryId: entry.id,
269
253
  topLevelErrors: errors,
270
- clearTopLevelErrorsForCard: function clearTopLevelErrorsForCard() {
271
- var newErrors = errors.filter(function (e) {
272
- return e.entryId !== entry.id;
273
- });
254
+ clearTopLevelErrorsForCard: () => {
255
+ const newErrors = errors.filter(e => e.entryId !== entry.id);
274
256
  clearErrors();
275
257
  addErrors(newErrors);
276
258
  }
@@ -278,18 +260,16 @@ var CollectionSummary = function CollectionSummary(_ref) {
278
260
  id: key,
279
261
  key: key,
280
262
  entryData: _objectSpread(_objectSpread({}, entry), {}, {
281
- index: index
263
+ index
282
264
  }),
283
265
  masterPage: masterPage,
284
266
  config: finalConfig || {},
285
267
  onFullEdit: onSummaryCardFullEdit,
286
268
  onDuplicate: onDuplicate,
287
- onDelete: function onDelete() {
288
- return setEntryToDelete(_objectSpread(_objectSpread({}, entry), {}, {
289
- index: index
290
- }));
291
- },
292
- onQuickEdit: function onQuickEdit(target) {
269
+ onDelete: () => setEntryToDelete(_objectSpread(_objectSpread({}, entry), {}, {
270
+ index
271
+ })),
272
+ onQuickEdit: target => {
293
273
  validateEntries();
294
274
  return onChange(target);
295
275
  },
@@ -297,9 +277,7 @@ var CollectionSummary = function CollectionSummary(_ref) {
297
277
  childCollections: config.childCollections || [],
298
278
  formData: formData,
299
279
  classModifiers: entry.id === (entryToDelete === null || entryToDelete === void 0 ? void 0 : entryToDelete.id) ? ['deleting-summary-card'] : [''],
300
- inError: errors.filter(function (e) {
301
- return e.entryId === entry.id;
302
- }).length > 0
280
+ inError: errors.filter(e => e.entryId === entry.id).length > 0
303
281
  })));
304
282
  })), config.card.listView && config.addButton && /*#__PURE__*/_react.default.createElement(_ActionButton.default, {
305
283
  id: "".concat(config.fieldId, ".addButton"),