@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.91.0

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