@ukhomeoffice/cop-react-form-renderer 6.13.2 → 6.14.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 (386) hide show
  1. package/README.md +8 -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 +81 -99
  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 +47 -48
  17. package/dist/components/CollectionSummary/RenderListView.scss +4 -0
  18. package/dist/components/CollectionSummary/RenderListView.test.js +133 -98
  19. package/dist/components/CollectionSummary/SummaryCard.js +110 -148
  20. package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
  21. package/dist/components/CollectionSummary/SummaryCardButtons.js +71 -0
  22. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +85 -0
  23. package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
  24. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
  25. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  26. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
  27. package/dist/components/CollectionSummary/index.js +1 -1
  28. package/dist/components/FormComponent/Collection.js +67 -102
  29. package/dist/components/FormComponent/Collection.test.js +907 -1080
  30. package/dist/components/FormComponent/Container.js +35 -29
  31. package/dist/components/FormComponent/Container.test.js +378 -409
  32. package/dist/components/FormComponent/FormComponent.js +59 -63
  33. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  34. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  36. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  37. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  38. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  40. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  41. package/dist/components/FormComponent/helpers/index.js +5 -5
  42. package/dist/components/FormComponent/index.js +1 -1
  43. package/dist/components/FormPage/FormPage.js +99 -88
  44. package/dist/components/FormPage/FormPage.test.js +173 -164
  45. package/dist/components/FormPage/index.js +1 -1
  46. package/dist/components/FormRenderer/FormRenderer.js +138 -174
  47. package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
  48. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  49. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  50. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  51. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  52. package/dist/components/FormRenderer/handlers/index.js +2 -2
  53. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  54. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  56. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  58. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
  60. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  61. package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
  62. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  63. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  64. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  65. package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
  66. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  67. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  68. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  70. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
  72. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
  74. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
  75. package/dist/components/FormRenderer/helpers/index.js +2 -2
  76. package/dist/components/FormRenderer/index.js +1 -1
  77. package/dist/components/FormRenderer/onCYAAction.js +43 -44
  78. package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
  79. package/dist/components/FormRenderer/onPageAction.js +26 -35
  80. package/dist/components/FormRenderer/onPageAction.test.js +177 -186
  81. package/dist/components/FormRenderer/onTaskAction.js +11 -12
  82. package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
  83. package/dist/components/PageActions/ActionButton.js +14 -14
  84. package/dist/components/PageActions/ActionButton.test.js +57 -79
  85. package/dist/components/PageActions/PageActions.js +11 -11
  86. package/dist/components/PageActions/PageActions.test.js +87 -116
  87. package/dist/components/PageActions/index.js +1 -1
  88. package/dist/components/SummaryList/GroupAction.js +10 -18
  89. package/dist/components/SummaryList/GroupAction.test.js +38 -34
  90. package/dist/components/SummaryList/RowAction.js +12 -17
  91. package/dist/components/SummaryList/RowAction.test.js +38 -34
  92. package/dist/components/SummaryList/SummaryList.js +23 -25
  93. package/dist/components/SummaryList/SummaryList.test.js +162 -189
  94. package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
  95. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  96. package/dist/components/SummaryList/SummaryListRow.js +7 -5
  97. package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
  98. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  99. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
  100. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  101. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
  102. package/dist/components/SummaryList/helpers/index.js +2 -2
  103. package/dist/components/SummaryList/index.js +1 -1
  104. package/dist/components/TaskList/Task.js +20 -30
  105. package/dist/components/TaskList/Task.test.js +84 -77
  106. package/dist/components/TaskList/TaskList.js +56 -79
  107. package/dist/components/TaskList/TaskList.test.js +149 -149
  108. package/dist/components/TaskList/TaskState.js +8 -6
  109. package/dist/components/TaskList/TaskState.test.js +53 -46
  110. package/dist/components/TaskList/index.js +1 -1
  111. package/dist/components/index.js +8 -8
  112. package/dist/context/HooksContext/HooksContext.js +56 -79
  113. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  114. package/dist/context/HooksContext/index.js +3 -4
  115. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  116. package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
  117. package/dist/context/ValidationContext/index.js +3 -4
  118. package/dist/context/index.js +3 -3
  119. package/dist/hooks/index.js +10 -11
  120. package/dist/hooks/useAxios.js +15 -41
  121. package/dist/hooks/useGetRequest.js +62 -98
  122. package/dist/hooks/useHooks.js +1 -3
  123. package/dist/hooks/useRefData.js +25 -37
  124. package/dist/hooks/useValidation.js +1 -3
  125. package/dist/index.js +14 -15
  126. package/dist/models/CollectionLabels.js +1 -1
  127. package/dist/models/ComponentTypes.js +25 -25
  128. package/dist/models/EventTypes.js +4 -4
  129. package/dist/models/FormPages.js +4 -4
  130. package/dist/models/FormTypes.js +8 -8
  131. package/dist/models/HubFormats.js +3 -3
  132. package/dist/models/PageAction.js +44 -38
  133. package/dist/models/TaskStates.js +29 -28
  134. package/dist/models/index.js +10 -10
  135. package/dist/setupTests.js +30 -31
  136. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  137. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  138. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
  139. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
  140. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
  141. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
  142. package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
  143. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  144. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
  145. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
  147. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
  148. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +79 -93
  149. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
  150. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -14
  151. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +146 -98
  152. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
  153. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
  154. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
  155. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
  156. package/dist/utils/CheckYourAnswers/index.js +2 -2
  157. package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
  158. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  159. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  160. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  161. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  162. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
  163. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
  164. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
  165. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  166. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  167. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  168. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  169. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  170. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  171. package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
  172. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  173. package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
  174. package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
  175. package/dist/utils/CollectionPage/index.js +2 -2
  176. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
  177. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
  178. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  179. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  180. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  181. package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
  182. package/dist/utils/Component/addShowWhen.js +5 -6
  183. package/dist/utils/Component/addShowWhen.test.js +38 -38
  184. package/dist/utils/Component/applyToComponentTree.js +12 -15
  185. package/dist/utils/Component/applyToComponentTree.test.js +28 -31
  186. package/dist/utils/Component/cleanAttributes.js +12 -11
  187. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  188. package/dist/utils/Component/elevateNestedComponents.js +6 -6
  189. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  190. package/dist/utils/Component/getComponent.js +81 -83
  191. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  192. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
  193. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  194. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
  195. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  196. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  197. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
  198. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
  199. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  200. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  201. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  202. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  203. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -174
  204. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  205. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  206. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  207. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  208. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  209. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
  210. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
  211. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  212. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  213. package/dist/utils/Component/getDefaultValue.js +7 -9
  214. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  215. package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
  216. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  217. package/dist/utils/Component/index.js +2 -2
  218. package/dist/utils/Component/isEditable.js +2 -4
  219. package/dist/utils/Component/isEditable.test.js +14 -15
  220. package/dist/utils/Component/optionIsSelected.js +2 -4
  221. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  222. package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
  223. package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
  224. package/dist/utils/Component/showComponent.js +2 -2
  225. package/dist/utils/Component/showComponent.test.js +29 -29
  226. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  227. package/dist/utils/Condition/index.js +2 -2
  228. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  229. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  230. package/dist/utils/Condition/meetsCondition.js +17 -26
  231. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  232. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  233. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  234. package/dist/utils/Condition/setupConditions.js +12 -15
  235. package/dist/utils/Condition/setupConditions.test.js +8 -8
  236. package/dist/utils/Container/getEditableComponents.js +4 -6
  237. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  238. package/dist/utils/Container/index.js +2 -2
  239. package/dist/utils/Container/setupNesting.js +14 -15
  240. package/dist/utils/Container/setupNesting.test.js +20 -23
  241. package/dist/utils/Container/showContainer.js +4 -8
  242. package/dist/utils/Container/showContainer.test.js +31 -31
  243. package/dist/utils/Data/applyFormula.js +30 -44
  244. package/dist/utils/Data/applyFormula.test.js +21 -21
  245. package/dist/utils/Data/deleteValues.js +4 -8
  246. package/dist/utils/Data/deleteValues.test.js +11 -11
  247. package/dist/utils/Data/getAutocompleteSource.js +19 -27
  248. package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
  249. package/dist/utils/Data/getDataPath.js +18 -28
  250. package/dist/utils/Data/getDataPath.test.js +13 -13
  251. package/dist/utils/Data/getOptions.js +57 -30
  252. package/dist/utils/Data/getOptions.test.js +75 -28
  253. package/dist/utils/Data/getSourceData.js +6 -19
  254. package/dist/utils/Data/getSourceData.test.js +85 -81
  255. package/dist/utils/Data/index.js +2 -2
  256. package/dist/utils/Data/nestInRefdataOptions.js +9 -12
  257. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  258. package/dist/utils/Data/refDataToOptions.js +9 -10
  259. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  260. package/dist/utils/Data/setDataItem.js +7 -8
  261. package/dist/utils/Data/setDataItem.test.js +38 -38
  262. package/dist/utils/Data/setupFormData.js +13 -20
  263. package/dist/utils/Data/setupFormData.test.js +48 -47
  264. package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
  265. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
  266. package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
  267. package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
  268. package/dist/utils/FormPage/getConditionalText.js +4 -4
  269. package/dist/utils/FormPage/getConditionalText.test.js +30 -30
  270. package/dist/utils/FormPage/getFormPage.js +16 -12
  271. package/dist/utils/FormPage/getFormPage.test.js +23 -24
  272. package/dist/utils/FormPage/getFormPages.js +8 -11
  273. package/dist/utils/FormPage/getFormPages.test.js +15 -16
  274. package/dist/utils/FormPage/getPageActions.js +10 -13
  275. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  276. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  277. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  278. package/dist/utils/FormPage/index.js +3 -5
  279. package/dist/utils/FormPage/showFormPage.js +4 -8
  280. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  281. package/dist/utils/FormPage/showFormPageCYA.js +2 -2
  282. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  283. package/dist/utils/FormPage/useComponent.js +25 -22
  284. package/dist/utils/FormPage/useComponent.test.js +79 -44
  285. package/dist/utils/Format/formatData.js +1 -1
  286. package/dist/utils/Format/formatData.test.js +19 -19
  287. package/dist/utils/Format/formatDataForComponent.js +6 -7
  288. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  289. package/dist/utils/Format/formatDataForForm.js +5 -6
  290. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  291. package/dist/utils/Format/formatDataForPage.js +4 -5
  292. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  293. package/dist/utils/Format/index.js +2 -2
  294. package/dist/utils/Hub/getFormHub.js +2 -2
  295. package/dist/utils/Hub/getFormHub.test.js +23 -24
  296. package/dist/utils/Hub/index.js +2 -2
  297. package/dist/utils/Meta/constants.js +2 -2
  298. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  299. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  300. package/dist/utils/Meta/documents/index.js +2 -2
  301. package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
  302. package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
  303. package/dist/utils/Meta/index.js +2 -2
  304. package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
  305. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  306. package/dist/utils/Operate/deleteValueInFormData.js +2 -2
  307. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  308. package/dist/utils/Operate/getFirstOf.js +6 -6
  309. package/dist/utils/Operate/getFirstOf.test.js +32 -32
  310. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
  311. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  312. package/dist/utils/Operate/getLength.js +9 -9
  313. package/dist/utils/Operate/getLength.test.js +19 -19
  314. package/dist/utils/Operate/index.js +2 -2
  315. package/dist/utils/Operate/persistValueInFormData.js +4 -4
  316. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  317. package/dist/utils/Operate/runPageOperations.js +8 -8
  318. package/dist/utils/Operate/runPageOperations.test.js +24 -25
  319. package/dist/utils/Operate/setValueInFormData.js +3 -3
  320. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  321. package/dist/utils/Operate/shouldRun.js +7 -7
  322. package/dist/utils/Operate/shouldRun.test.js +22 -24
  323. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  324. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  325. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  326. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  327. package/dist/utils/Validate/additional/index.js +8 -8
  328. package/dist/utils/Validate/additional/index.test.js +22 -22
  329. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  330. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  331. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  332. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  333. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
  334. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
  335. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  336. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  337. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
  338. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  339. package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
  340. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  341. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  342. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  343. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  345. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  346. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  347. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  348. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  349. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  350. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  351. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  352. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
  353. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  354. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  355. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  356. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  357. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  358. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  359. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  360. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  361. package/dist/utils/Validate/additional/utils.js +9 -22
  362. package/dist/utils/Validate/index.js +2 -2
  363. package/dist/utils/Validate/validateCollection.js +18 -23
  364. package/dist/utils/Validate/validateCollection.test.js +75 -67
  365. package/dist/utils/Validate/validateComponent.js +19 -19
  366. package/dist/utils/Validate/validateComponent.test.js +179 -154
  367. package/dist/utils/Validate/validateContainer.js +14 -17
  368. package/dist/utils/Validate/validateContainer.test.js +59 -53
  369. package/dist/utils/Validate/validateDate.js +16 -22
  370. package/dist/utils/Validate/validateDate.test.js +31 -32
  371. package/dist/utils/Validate/validateEmail.js +8 -9
  372. package/dist/utils/Validate/validateEmail.test.js +29 -26
  373. package/dist/utils/Validate/validateMultifile.js +5 -7
  374. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  375. package/dist/utils/Validate/validatePage.js +13 -18
  376. package/dist/utils/Validate/validatePage.test.js +198 -195
  377. package/dist/utils/Validate/validateRegex.js +3 -5
  378. package/dist/utils/Validate/validateRegex.test.js +15 -15
  379. package/dist/utils/Validate/validateRequired.js +4 -6
  380. package/dist/utils/Validate/validateRequired.test.js +19 -19
  381. package/dist/utils/Validate/validateTextArea.js +4 -6
  382. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  383. package/dist/utils/Validate/validateTime.js +12 -19
  384. package/dist/utils/Validate/validateTime.test.js +27 -27
  385. package/dist/utils/index.js +5 -6
  386. package/package.json +5 -5
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _Data = _interopRequireDefault(require("../Data"));
8
8
  var _meetsCondition = _interopRequireDefault(require("./meetsCondition"));
9
9
  var _setupConditions = _interopRequireDefault(require("./setupConditions"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  // Local imports
12
12
 
13
13
  /**
@@ -17,12 +17,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
17
  * @returns Boolean true if at least one conditions is met; false otherwise.
18
18
  */
19
19
 
20
- var meetsOneCondition = function meetsOneCondition(options, data) {
21
- var conditions = (0, _setupConditions.default)(options);
20
+ const meetsOneCondition = (options, data) => {
21
+ const conditions = (0, _setupConditions.default)(options);
22
22
  if (conditions) {
23
- var arr = Array.isArray(conditions) ? conditions : [conditions];
24
- return arr.some(function (condition) {
25
- var sourceDataValue = _Data.default.getSource(data, condition.field);
23
+ const arr = Array.isArray(conditions) ? conditions : [conditions];
24
+ return arr.some(condition => {
25
+ const sourceDataValue = _Data.default.getSource(data, condition.field);
26
26
  return (0, _meetsCondition.default)(condition, sourceDataValue, data);
27
27
  });
28
28
  }
@@ -1,29 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  var _meetsOneCondition = _interopRequireDefault(require("./meetsOneCondition"));
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.Condition.meetsOneCondition', function () {
8
- var DATA = {
7
+ describe('utils.Condition.meetsOneCondition', () => {
8
+ const DATA = {
9
9
  alpha: 'bravo',
10
10
  charlie: 'delta'
11
11
  };
12
- it('should evaluate to true when conditions are null', function () {
12
+ it('should evaluate to true when conditions are null', () => {
13
13
  expect((0, _meetsOneCondition.default)(null, DATA)).toBeTruthy();
14
14
  });
15
- it('should evaluate to true when conditions are undefined', function () {
15
+ it('should evaluate to true when conditions are undefined', () => {
16
16
  expect((0, _meetsOneCondition.default)(undefined, DATA)).toBeTruthy();
17
17
  });
18
- it('should evaluate to true when conditions is an empty array', function () {
19
- var CONDITION = {
18
+ it('should evaluate to true when conditions is an empty array', () => {
19
+ const CONDITION = {
20
20
  "type": "or",
21
21
  "conditions": []
22
22
  };
23
23
  expect((0, _meetsOneCondition.default)(CONDITION, DATA)).toBeTruthy();
24
24
  });
25
- it('should evaluate to true when one condition is provided and one condition is met', function () {
26
- var CONDITION = {
25
+ it('should evaluate to true when one condition is provided and one condition is met', () => {
26
+ const CONDITION = {
27
27
  "type": "or",
28
28
  "conditions": [{
29
29
  field: 'alpha',
@@ -33,8 +33,8 @@ describe('utils.Condition.meetsOneCondition', function () {
33
33
  };
34
34
  expect((0, _meetsOneCondition.default)(CONDITION, DATA)).toBeTruthy();
35
35
  });
36
- it('should evaluate to true when two conditions are provided and one condition is met', function () {
37
- var CONDITION = {
36
+ it('should evaluate to true when two conditions are provided and one condition is met', () => {
37
+ const CONDITION = {
38
38
  "type": "or",
39
39
  "conditions": [{
40
40
  field: 'alpha',
@@ -48,8 +48,8 @@ describe('utils.Condition.meetsOneCondition', function () {
48
48
  };
49
49
  expect((0, _meetsOneCondition.default)(CONDITION, DATA)).toBeTruthy();
50
50
  });
51
- it('should evaluate to true when three conditions are provided and two conditions are met', function () {
52
- var CONDITION = {
51
+ it('should evaluate to true when three conditions are provided and two conditions are met', () => {
52
+ const CONDITION = {
53
53
  "type": "or",
54
54
  "conditions": [{
55
55
  field: 'alpha',
@@ -67,8 +67,8 @@ describe('utils.Condition.meetsOneCondition', function () {
67
67
  };
68
68
  expect((0, _meetsOneCondition.default)(CONDITION, DATA)).toBeTruthy();
69
69
  });
70
- it('should evaluate to true when all conditions are met', function () {
71
- var CONDITION = {
70
+ it('should evaluate to true when all conditions are met', () => {
71
+ const CONDITION = {
72
72
  "type": "or",
73
73
  "conditions": [{
74
74
  field: 'alpha',
@@ -82,8 +82,8 @@ describe('utils.Condition.meetsOneCondition', function () {
82
82
  };
83
83
  expect((0, _meetsOneCondition.default)(CONDITION, DATA)).toBeTruthy();
84
84
  });
85
- it('should evaluate to false when no conditions are met', function () {
86
- var CONDITION = {
85
+ it('should evaluate to false when no conditions are met', () => {
86
+ const CONDITION = {
87
87
  "type": "or",
88
88
  "conditions": [{
89
89
  field: 'alpha',
@@ -5,31 +5,28 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _Data = _interopRequireDefault(require("../Data"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
9
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
10
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
15
- var makeComponentFieldsAbsolute = function makeComponentFieldsAbsolute(component) {
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ 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); } // Local imports
14
+ const makeComponentFieldsAbsolute = component => {
16
15
  if (component.show_when) {
17
- var conditions = component.show_when.type ? component.show_when.conditions : component.show_when;
18
- var fullPath = component.full_path;
16
+ let conditions = component.show_when.type ? component.show_when.conditions : component.show_when;
17
+ const fullPath = component.full_path;
19
18
  conditions = Array.isArray(conditions) ? conditions : [conditions];
20
- return conditions.map(function (condition) {
21
- var field = _Data.default.getDataPath(condition.field, fullPath);
19
+ return conditions.map(condition => {
20
+ const field = _Data.default.getDataPath(condition.field, fullPath);
22
21
  return _objectSpread(_objectSpread({}, condition), {}, {
23
- field: field
22
+ field
24
23
  });
25
24
  });
26
25
  }
27
26
  return undefined;
28
27
  };
29
- var isCondition = function isCondition(options) {
30
- return Array.isArray(options) || !!(options.field && options.op);
31
- };
32
- var setupConditions = function setupConditions(options) {
28
+ const isCondition = options => Array.isArray(options) || !!(options.field && options.op);
29
+ const setupConditions = options => {
33
30
  if (options && !isCondition(options)) {
34
31
  return makeComponentFieldsAbsolute(options);
35
32
  }
@@ -1,26 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _setupConditions = _interopRequireDefault(require("./setupConditions"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.Condition.setupConditions', function () {
6
- it('should return an array of conditions directly', function () {
7
- var OPTIONS = [{
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils.Condition.setupConditions', () => {
6
+ it('should return an array of conditions directly', () => {
7
+ const OPTIONS = [{
8
8
  field: 'alpha',
9
9
  op: '=',
10
10
  value: 'ALPHA'
11
11
  }];
12
12
  expect((0, _setupConditions.default)(OPTIONS)).toEqual(OPTIONS);
13
13
  });
14
- it('should return a condition directly', function () {
15
- var OPTIONS = {
14
+ it('should return a condition directly', () => {
15
+ const OPTIONS = {
16
16
  field: 'alpha',
17
17
  op: '=',
18
18
  value: 'ALPHA'
19
19
  };
20
20
  expect((0, _setupConditions.default)(OPTIONS)).toEqual(OPTIONS);
21
21
  });
22
- it('should return the options on a component with untouched absolute path fields', function () {
23
- var OPTIONS = {
22
+ it('should return the options on a component with untouched absolute path fields', () => {
23
+ const OPTIONS = {
24
24
  id: 'field',
25
25
  show_when: {
26
26
  field: 'alpha',
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _models = require("../../models");
8
8
  var _Component = _interopRequireDefault(require("../Component"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  // Local imports
11
11
 
12
12
  /**
@@ -14,16 +14,14 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
14
14
  * @param {object} container The container to consider.
15
15
  * @returns An array of ONLY the editable components in a container.
16
16
  */
17
- var getEditableComponents = function getEditableComponents(container) {
17
+ const getEditableComponents = container => {
18
18
  if (container && Array.isArray(container.components)) {
19
- return container.components.flatMap(function (c) {
19
+ return container.components.flatMap(c => {
20
20
  if (c.type === _models.ComponentTypes.CONTAINER) {
21
21
  return getEditableComponents(c);
22
22
  }
23
23
  return _Component.default.editable(c) ? c : null;
24
- }).filter(function (c) {
25
- return !!c;
26
- });
24
+ }).filter(c => !!c);
27
25
  }
28
26
  return [];
29
27
  };
@@ -3,41 +3,41 @@
3
3
  var _models = require("../../models");
4
4
  var _isEditable = require("../Component/isEditable");
5
5
  var _getEditableComponents = _interopRequireDefault(require("./getEditableComponents"));
6
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
7
  // Local imports
8
8
 
9
- describe('utils.Container.getEditableComponents', function () {
10
- var HTML = {
9
+ describe('utils.Container.getEditableComponents', () => {
10
+ const HTML = {
11
11
  type: 'html',
12
12
  tagName: 'p',
13
13
  content: 'Alpha'
14
14
  };
15
- var INSET_TEXT = {
15
+ const INSET_TEXT = {
16
16
  type: 'inset-text',
17
17
  content: 'Bravo'
18
18
  };
19
- var HEADING = {
19
+ const HEADING = {
20
20
  type: 'heading',
21
21
  size: 'm',
22
22
  content: 'Charlie'
23
23
  };
24
- it('should return an empty array for a null container', function () {
24
+ it('should return an empty array for a null container', () => {
25
25
  expect((0, _getEditableComponents.default)(null)).toEqual([]);
26
26
  });
27
- it('should return an empty array for a container with no components', function () {
27
+ it('should return an empty array for a container with no components', () => {
28
28
  expect((0, _getEditableComponents.default)({
29
29
  components: []
30
30
  })).toEqual([]);
31
31
  });
32
- it('should return an empty array for a container with only non-editable components', function () {
33
- var COMPONENTS = [HTML, INSET_TEXT, HEADING];
32
+ it('should return an empty array for a container with only non-editable components', () => {
33
+ const COMPONENTS = [HTML, INSET_TEXT, HEADING];
34
34
  expect((0, _getEditableComponents.default)({
35
35
  components: COMPONENTS
36
36
  })).toEqual([]);
37
37
  });
38
- it('should return an empty array for a container that contains a container with only non-editable components', function () {
39
- var COMPONENTS = [HTML, INSET_TEXT, HEADING];
40
- var INNER_CONTAINER = {
38
+ it('should return an empty array for a container that contains a container with only non-editable components', () => {
39
+ const COMPONENTS = [HTML, INSET_TEXT, HEADING];
40
+ const INNER_CONTAINER = {
41
41
  type: _models.ComponentTypes.CONTAINER,
42
42
  components: COMPONENTS
43
43
  };
@@ -45,22 +45,22 @@ describe('utils.Container.getEditableComponents', function () {
45
45
  components: [INNER_CONTAINER]
46
46
  })).toEqual([]);
47
47
  });
48
- _isEditable.EDITABLE_TYPES.forEach(function (type) {
49
- it("should return just the \"".concat(type, "\" component if it exists in the components, but no non-editable ones"), function () {
50
- var EDITABLE = {
51
- type: type
48
+ _isEditable.EDITABLE_TYPES.forEach(type => {
49
+ it("should return just the \"".concat(type, "\" component if it exists in the components, but no non-editable ones"), () => {
50
+ const EDITABLE = {
51
+ type
52
52
  };
53
- var COMPONENTS = [HTML, EDITABLE, INSET_TEXT, HEADING];
53
+ const COMPONENTS = [HTML, EDITABLE, INSET_TEXT, HEADING];
54
54
  expect((0, _getEditableComponents.default)({
55
55
  components: COMPONENTS
56
56
  })).toEqual([EDITABLE]);
57
57
  });
58
- it("should return just the \"".concat(type, "\" component if it exists inside an inner container's components, but no non-editable ones"), function () {
59
- var EDITABLE = {
60
- type: type
58
+ it("should return just the \"".concat(type, "\" component if it exists inside an inner container's components, but no non-editable ones"), () => {
59
+ const EDITABLE = {
60
+ type
61
61
  };
62
- var COMPONENTS = [HTML, EDITABLE, INSET_TEXT, HEADING];
63
- var INNER_CONTAINER = {
62
+ const COMPONENTS = [HTML, EDITABLE, INSET_TEXT, HEADING];
63
+ const INNER_CONTAINER = {
64
64
  type: _models.ComponentTypes.CONTAINER,
65
65
  components: COMPONENTS
66
66
  };
@@ -68,16 +68,16 @@ describe('utils.Container.getEditableComponents', function () {
68
68
  components: [INNER_CONTAINER]
69
69
  })).toEqual([EDITABLE]);
70
70
  });
71
- it("should return just all \"".concat(type, "\" components that exists at any nested level within the container, but no non-editable ones"), function () {
72
- var EDITABLE = {
73
- type: type
71
+ it("should return just all \"".concat(type, "\" components that exists at any nested level within the container, but no non-editable ones"), () => {
72
+ const EDITABLE = {
73
+ type
74
74
  };
75
- var COMPONENTS = [HTML, EDITABLE, INSET_TEXT, HEADING];
76
- var INNER_INNER_CONTAINER = {
75
+ const COMPONENTS = [HTML, EDITABLE, INSET_TEXT, HEADING];
76
+ const INNER_INNER_CONTAINER = {
77
77
  type: _models.ComponentTypes.CONTAINER,
78
78
  components: COMPONENTS
79
79
  };
80
- var INNER_CONTAINER = {
80
+ const INNER_CONTAINER = {
81
81
  type: _models.ComponentTypes.CONTAINER,
82
82
  components: [].concat(COMPONENTS, [INNER_INNER_CONTAINER])
83
83
  };
@@ -86,31 +86,29 @@ describe('utils.Container.getEditableComponents', function () {
86
86
  })).toEqual([EDITABLE, EDITABLE, EDITABLE]);
87
87
  });
88
88
  });
89
- it('should return all editable components and no non-editable ones', function () {
90
- var COMPONENTS = [HTML, INSET_TEXT, HEADING];
91
- _isEditable.EDITABLE_TYPES.forEach(function (type) {
89
+ it('should return all editable components and no non-editable ones', () => {
90
+ const COMPONENTS = [HTML, INSET_TEXT, HEADING];
91
+ _isEditable.EDITABLE_TYPES.forEach(type => {
92
92
  COMPONENTS.push({
93
- type: type
93
+ type
94
94
  });
95
95
  });
96
- var RESULT = (0, _getEditableComponents.default)({
96
+ const RESULT = (0, _getEditableComponents.default)({
97
97
  components: COMPONENTS
98
98
  });
99
99
  expect(RESULT.length).toEqual(_isEditable.EDITABLE_TYPES.length);
100
- _isEditable.EDITABLE_TYPES.forEach(function (type) {
100
+ _isEditable.EDITABLE_TYPES.forEach(type => {
101
101
  expect(RESULT).toContainEqual({
102
- type: type
102
+ type
103
103
  });
104
104
  });
105
105
  });
106
- it('should return all editable components and no non-editable ones, regardless of nesting level', function () {
107
- var EDITABLE_COMPONENTS = _isEditable.EDITABLE_TYPES.map(function (type) {
108
- return {
109
- type: type
110
- };
111
- });
112
- var NON_EDITABLE_COMPONENTS = [HTML, INSET_TEXT, HEADING];
113
- var COMPONENTS = [].concat(EDITABLE_COMPONENTS, NON_EDITABLE_COMPONENTS, [{
106
+ it('should return all editable components and no non-editable ones, regardless of nesting level', () => {
107
+ const EDITABLE_COMPONENTS = _isEditable.EDITABLE_TYPES.map(type => ({
108
+ type
109
+ }));
110
+ const NON_EDITABLE_COMPONENTS = [HTML, INSET_TEXT, HEADING];
111
+ const COMPONENTS = [].concat(EDITABLE_COMPONENTS, NON_EDITABLE_COMPONENTS, [{
114
112
  type: _models.ComponentTypes.CONTAINER,
115
113
  id: 'inner',
116
114
  components: [].concat(EDITABLE_COMPONENTS, NON_EDITABLE_COMPONENTS, [{
@@ -119,13 +117,13 @@ describe('utils.Container.getEditableComponents', function () {
119
117
  components: [].concat(NON_EDITABLE_COMPONENTS, EDITABLE_COMPONENTS)
120
118
  }])
121
119
  }]);
122
- var RESULT = (0, _getEditableComponents.default)({
120
+ const RESULT = (0, _getEditableComponents.default)({
123
121
  components: COMPONENTS
124
122
  });
125
123
  expect(RESULT.length).toEqual(_isEditable.EDITABLE_TYPES.length * 3); // 1 each at top, inner, and inner-inner levels.
126
- _isEditable.EDITABLE_TYPES.forEach(function (type) {
124
+ _isEditable.EDITABLE_TYPES.forEach(type => {
127
125
  expect(RESULT).toContainEqual({
128
- type: type
126
+ type
129
127
  });
130
128
  });
131
129
  expect(RESULT).not.toContainEqual(HTML);
@@ -7,8 +7,8 @@ exports.default = void 0;
7
7
  var _getEditableComponents = _interopRequireDefault(require("./getEditableComponents"));
8
8
  var _setupNesting = _interopRequireDefault(require("./setupNesting"));
9
9
  var _showContainer = _interopRequireDefault(require("./showContainer"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- var Container = {
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const Container = {
12
12
  editableComponents: _getEditableComponents.default,
13
13
  setup: _setupNesting.default,
14
14
  show: _showContainer.default
@@ -5,19 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _models = require("../../models");
8
- 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); }
9
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; }
10
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; }
11
- 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; }
12
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
- 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); }
14
- var nestComponents = function nestComponents(container) {
15
- var containerPath = container.full_path || container.fieldId;
16
- return container.components.map(function (component) {
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ 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); }
13
+ const nestComponents = container => {
14
+ const containerPath = container.full_path || container.fieldId;
15
+ return container.components.map(component => {
17
16
  // eslint-disable-next-line camelcase
18
- var full_path = containerPath ? "".concat(containerPath, ".").concat(component.fieldId) : component.fieldId;
19
- var ret = _objectSpread(_objectSpread({}, component), {}, {
20
- full_path: full_path
17
+ const full_path = containerPath ? "".concat(containerPath, ".").concat(component.fieldId) : component.fieldId;
18
+ const ret = _objectSpread(_objectSpread({}, component), {}, {
19
+ full_path
21
20
  });
22
21
  if (component.type === _models.ComponentTypes.CONTAINER) {
23
22
  return (
@@ -27,9 +26,9 @@ var nestComponents = function nestComponents(container) {
27
26
  }
28
27
  if (component.type === _models.ComponentTypes.RADIOS) {
29
28
  var _ret$data;
30
- (_ret$data = ret.data) === null || _ret$data === void 0 || (_ret$data = _ret$data.options) === null || _ret$data === void 0 || _ret$data.forEach(function (option, optionIndex) {
29
+ (_ret$data = ret.data) === null || _ret$data === void 0 || (_ret$data = _ret$data.options) === null || _ret$data === void 0 || _ret$data.forEach((option, optionIndex) => {
31
30
  var _option$nested;
32
- (_option$nested = option.nested) === null || _option$nested === void 0 || _option$nested.forEach(function (nest, nestIndex) {
31
+ (_option$nested = option.nested) === null || _option$nested === void 0 || _option$nested.forEach((nest, nestIndex) => {
33
32
  if (nest.type === _models.ComponentTypes.CONTAINER) {
34
33
  // eslint-disable-next-line no-use-before-define
35
34
  ret.data.options[optionIndex].nested[nestIndex] = setupNesting(nest);
@@ -40,11 +39,11 @@ var nestComponents = function nestComponents(container) {
40
39
  return ret;
41
40
  });
42
41
  };
43
- var setupNesting = function setupNesting(container) {
42
+ const setupNesting = container => {
44
43
  if (container) {
45
- var components = nestComponents(container);
44
+ const components = nestComponents(container);
46
45
  return _objectSpread(_objectSpread({}, container), {}, {
47
- components: components
46
+ components
48
47
  });
49
48
  }
50
49
  return container;
@@ -2,29 +2,26 @@
2
2
 
3
3
  var _models = require("../../models");
4
4
  var _setupNesting = _interopRequireDefault(require("./setupNesting"));
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
11
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12
- describe('utils.Container.setupNesting', function () {
13
- var getComponent = function getComponent(id, type) {
14
- return {
15
- id: id,
16
- fieldId: id,
17
- type: type
18
- };
19
- };
20
- it('should handle an undefined container', function () {
8
+ 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; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
10
+ 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); }
11
+ describe('utils.Container.setupNesting', () => {
12
+ const getComponent = (id, type) => ({
13
+ id,
14
+ fieldId: id,
15
+ type
16
+ });
17
+ it('should handle an undefined container', () => {
21
18
  expect((0, _setupNesting.default)(undefined)).toBeUndefined();
22
19
  });
23
- it('should handle a null container', function () {
20
+ it('should handle a null container', () => {
24
21
  expect((0, _setupNesting.default)(null)).toBeNull();
25
22
  });
26
- it('should handle a single level of nesting', function () {
27
- var CONTAINER = _objectSpread(_objectSpread({}, getComponent('container', _models.ComponentTypes.CONTAINER)), {}, {
23
+ it('should handle a single level of nesting', () => {
24
+ const CONTAINER = _objectSpread(_objectSpread({}, getComponent('container', _models.ComponentTypes.CONTAINER)), {}, {
28
25
  components: [getComponent('text', _models.ComponentTypes.TEXT), getComponent('email', _models.ComponentTypes.EMAIL)]
29
26
  });
30
27
  expect((0, _setupNesting.default)(CONTAINER)).toEqual({
@@ -44,8 +41,8 @@ describe('utils.Container.setupNesting', function () {
44
41
  }]
45
42
  });
46
43
  });
47
- it('should handle multiple levels of nesting', function () {
48
- var CONTAINER = _objectSpread(_objectSpread({}, getComponent('container', _models.ComponentTypes.CONTAINER)), {}, {
44
+ it('should handle multiple levels of nesting', () => {
45
+ const CONTAINER = _objectSpread(_objectSpread({}, getComponent('container', _models.ComponentTypes.CONTAINER)), {}, {
49
46
  components: [getComponent('text', _models.ComponentTypes.TEXT), _objectSpread(_objectSpread({}, getComponent('inner', _models.ComponentTypes.CONTAINER)), {}, {
50
47
  components: [getComponent('text', _models.ComponentTypes.TEXT), getComponent('email', _models.ComponentTypes.EMAIL)]
51
48
  }), getComponent('email', _models.ComponentTypes.EMAIL)]
@@ -83,11 +80,11 @@ describe('utils.Container.setupNesting', function () {
83
80
  }]
84
81
  });
85
82
  });
86
- it('should handle a container under a radio button', function () {
87
- var CONTAINER = _objectSpread(_objectSpread({}, getComponent('container', _models.ComponentTypes.CONTAINER)), {}, {
83
+ it('should handle a container under a radio button', () => {
84
+ const CONTAINER = _objectSpread(_objectSpread({}, getComponent('container', _models.ComponentTypes.CONTAINER)), {}, {
88
85
  components: [getComponent('text', _models.ComponentTypes.TEXT), getComponent('email', _models.ComponentTypes.EMAIL)]
89
86
  });
90
- var RADIO = {
87
+ const RADIO = {
91
88
  id: 'radio',
92
89
  fieldId: 'radio',
93
90
  type: 'radios',
@@ -102,7 +99,7 @@ describe('utils.Container.setupNesting', function () {
102
99
  }]
103
100
  }
104
101
  };
105
- var TOP_CONTAINER = _objectSpread(_objectSpread({}, getComponent('topContainer', _models.ComponentTypes.CONTAINER)), {}, {
102
+ const TOP_CONTAINER = _objectSpread(_objectSpread({}, getComponent('topContainer', _models.ComponentTypes.CONTAINER)), {}, {
106
103
  components: [RADIO]
107
104
  });
108
105
  expect((0, _setupNesting.default)(TOP_CONTAINER)).toEqual({
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _Component = _interopRequireDefault(require("../Component"));
8
8
  var _Condition = _interopRequireDefault(require("../Condition"));
9
9
  var _getEditableComponents = _interopRequireDefault(require("./getEditableComponents"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  // Local imports
12
12
 
13
13
  /**
@@ -16,11 +16,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
16
16
  * @param {object} data The top-level form data.
17
17
  * @returns Boolean true if ANY of the editable components should be shown; false otherwise.
18
18
  */
19
- var showEditableComponent = function showEditableComponent(editableComponents, data) {
20
- return editableComponents.some(function (component) {
21
- return _Component.default.show(component, data);
22
- });
23
- };
19
+ const showEditableComponent = (editableComponents, data) => editableComponents.some(component => _Component.default.show(component, data));
24
20
 
25
21
  /**
26
22
  * Indicates whether or not a container should be shown.
@@ -28,7 +24,7 @@ var showEditableComponent = function showEditableComponent(editableComponents, d
28
24
  * @param {object} data The top-level form data.
29
25
  * @returns Boolean true if the container should be shown; false if not.
30
26
  */
31
- var showContainer = function showContainer(container, data) {
27
+ const showContainer = (container, data) => {
32
28
  if (!container) {
33
29
  return false;
34
30
  }
@@ -43,7 +39,7 @@ var showContainer = function showContainer(container, data) {
43
39
 
44
40
  // If the container itself doesn't have a show_when, we need to make sure that if it
45
41
  // contains ANY editable components, at least one of them is shown.
46
- var editableComponents = (0, _getEditableComponents.default)(container);
42
+ const editableComponents = (0, _getEditableComponents.default)(container);
47
43
  if (editableComponents.length > 0) {
48
44
  return showEditableComponent(editableComponents, data);
49
45
  }