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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/RenderListView.js +52 -46
  14. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  15. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  16. package/dist/components/CollectionSummary/SummaryCard.js +152 -110
  17. package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
  18. package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
  19. package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  23. package/dist/components/FormComponent/Collection.js +108 -74
  24. package/dist/components/FormComponent/Collection.test.js +1081 -909
  25. package/dist/components/FormComponent/Container.js +39 -40
  26. package/dist/components/FormComponent/Container.test.js +412 -312
  27. package/dist/components/FormComponent/FormComponent.js +72 -69
  28. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  29. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  30. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  32. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  33. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  34. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  36. package/dist/components/FormComponent/helpers/index.js +4 -4
  37. package/dist/components/FormPage/FormPage.js +80 -65
  38. package/dist/components/FormPage/FormPage.test.js +163 -127
  39. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  40. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  41. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  42. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  43. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  44. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  45. package/dist/components/FormRenderer/handlers/index.js +1 -1
  46. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  47. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  48. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  49. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  50. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  51. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  52. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  53. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  55. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  57. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  58. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  59. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  60. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  61. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  63. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  64. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  65. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  66. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  67. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  68. package/dist/components/FormRenderer/helpers/index.js +1 -1
  69. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  70. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  71. package/dist/components/FormRenderer/onPageAction.js +39 -43
  72. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  73. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  74. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  75. package/dist/components/PageActions/ActionButton.js +15 -12
  76. package/dist/components/PageActions/ActionButton.test.js +78 -56
  77. package/dist/components/PageActions/PageActions.js +10 -10
  78. package/dist/components/PageActions/PageActions.test.js +115 -86
  79. package/dist/components/SummaryList/GroupAction.js +17 -9
  80. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  81. package/dist/components/SummaryList/RowAction.js +16 -11
  82. package/dist/components/SummaryList/RowAction.test.js +33 -37
  83. package/dist/components/SummaryList/SummaryList.js +34 -21
  84. package/dist/components/SummaryList/SummaryList.scss +15 -0
  85. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  86. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  87. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  88. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  89. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  90. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  91. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  92. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  93. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/index.js +1 -1
  96. package/dist/components/TaskList/Task.js +29 -19
  97. package/dist/components/TaskList/Task.test.js +76 -83
  98. package/dist/components/TaskList/TaskList.js +92 -49
  99. package/dist/components/TaskList/TaskList.scss +24 -0
  100. package/dist/components/TaskList/TaskList.test.js +255 -113
  101. package/dist/components/TaskList/TaskState.js +5 -7
  102. package/dist/components/TaskList/TaskState.test.js +45 -52
  103. package/dist/components/index.js +7 -7
  104. package/dist/context/HooksContext/HooksContext.js +80 -57
  105. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  106. package/dist/context/HooksContext/index.js +4 -3
  107. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  108. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  109. package/dist/context/ValidationContext/index.js +4 -3
  110. package/dist/context/index.js +2 -2
  111. package/dist/hooks/index.js +10 -9
  112. package/dist/hooks/useAxios.js +40 -14
  113. package/dist/hooks/useGetRequest.js +97 -61
  114. package/dist/hooks/useHooks.js +3 -1
  115. package/dist/hooks/useRefData.js +39 -26
  116. package/dist/hooks/useValidation.js +3 -1
  117. package/dist/index.js +14 -13
  118. package/dist/models/CollectionLabels.js +1 -1
  119. package/dist/models/ComponentTypes.js +25 -25
  120. package/dist/models/EventTypes.js +4 -4
  121. package/dist/models/FormPages.js +4 -4
  122. package/dist/models/FormTypes.js +8 -8
  123. package/dist/models/HubFormats.js +3 -3
  124. package/dist/models/PageAction.js +38 -44
  125. package/dist/models/TaskStates.js +28 -29
  126. package/dist/models/index.js +9 -9
  127. package/dist/setupTests.js +31 -30
  128. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  129. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  130. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  131. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  132. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  133. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  134. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  135. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  136. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  137. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  138. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  139. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  140. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
  142. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  144. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  145. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  146. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  147. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  148. package/dist/utils/CheckYourAnswers/index.js +1 -1
  149. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  150. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  151. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  152. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  153. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  154. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  155. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  156. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  157. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  158. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  159. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  160. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  161. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  162. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  163. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  164. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  165. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  166. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  167. package/dist/utils/CollectionPage/index.js +1 -1
  168. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  169. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  170. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  171. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  172. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  173. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  174. package/dist/utils/Component/addShowWhen.js +8 -4
  175. package/dist/utils/Component/addShowWhen.test.js +37 -37
  176. package/dist/utils/Component/applyToComponentTree.js +18 -18
  177. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  178. package/dist/utils/Component/cleanAttributes.js +13 -10
  179. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  180. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  181. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  182. package/dist/utils/Component/getComponent.js +94 -88
  183. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  184. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  185. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  186. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  187. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  188. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  191. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  192. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  193. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  194. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  196. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  197. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  199. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  200. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  202. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  203. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  204. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  205. package/dist/utils/Component/getDefaultValue.js +8 -6
  206. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  207. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  208. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  209. package/dist/utils/Component/index.js +1 -1
  210. package/dist/utils/Component/isEditable.js +4 -2
  211. package/dist/utils/Component/isEditable.test.js +15 -14
  212. package/dist/utils/Component/optionIsSelected.js +6 -1
  213. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  214. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  215. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  216. package/dist/utils/Component/showComponent.js +1 -1
  217. package/dist/utils/Component/showComponent.test.js +28 -28
  218. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  219. package/dist/utils/Condition/index.js +1 -1
  220. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  221. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  222. package/dist/utils/Condition/meetsCondition.js +25 -16
  223. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  224. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  225. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  226. package/dist/utils/Condition/setupConditions.js +18 -13
  227. package/dist/utils/Condition/setupConditions.test.js +7 -7
  228. package/dist/utils/Container/getEditableComponents.js +5 -3
  229. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  230. package/dist/utils/Container/index.js +1 -1
  231. package/dist/utils/Container/setupNesting.js +20 -16
  232. package/dist/utils/Container/setupNesting.test.js +30 -27
  233. package/dist/utils/Container/showContainer.js +7 -3
  234. package/dist/utils/Container/showContainer.test.js +30 -30
  235. package/dist/utils/Data/applyFormula.js +48 -38
  236. package/dist/utils/Data/applyFormula.test.js +20 -20
  237. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  238. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  239. package/dist/utils/Data/getDataPath.js +28 -18
  240. package/dist/utils/Data/getDataPath.test.js +12 -12
  241. package/dist/utils/Data/getOptions.js +30 -24
  242. package/dist/utils/Data/getOptions.test.js +27 -27
  243. package/dist/utils/Data/getSourceData.js +19 -6
  244. package/dist/utils/Data/getSourceData.test.js +80 -84
  245. package/dist/utils/Data/index.js +1 -1
  246. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  247. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  248. package/dist/utils/Data/refDataToOptions.js +13 -10
  249. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  250. package/dist/utils/Data/setDataItem.js +8 -7
  251. package/dist/utils/Data/setDataItem.test.js +37 -37
  252. package/dist/utils/Data/setupFormData.js +21 -13
  253. package/dist/utils/Data/setupFormData.test.js +50 -51
  254. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  255. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  256. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  257. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  258. package/dist/utils/FormPage/getConditionalText.js +3 -3
  259. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  260. package/dist/utils/FormPage/getFormPage.js +16 -15
  261. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  262. package/dist/utils/FormPage/getFormPages.js +12 -7
  263. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  264. package/dist/utils/FormPage/getPageActions.js +15 -9
  265. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  266. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  267. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  268. package/dist/utils/FormPage/index.js +4 -2
  269. package/dist/utils/FormPage/showFormPage.js +7 -3
  270. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  271. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  272. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  273. package/dist/utils/FormPage/useComponent.js +28 -21
  274. package/dist/utils/FormPage/useComponent.test.js +79 -77
  275. package/dist/utils/Format/formatData.js +1 -1
  276. package/dist/utils/Format/formatData.test.js +18 -18
  277. package/dist/utils/Format/formatDataForComponent.js +6 -5
  278. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  279. package/dist/utils/Format/formatDataForForm.js +8 -6
  280. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  281. package/dist/utils/Format/formatDataForPage.js +5 -4
  282. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  283. package/dist/utils/Format/index.js +1 -1
  284. package/dist/utils/Hub/getFormHub.js +1 -1
  285. package/dist/utils/Hub/getFormHub.test.js +31 -28
  286. package/dist/utils/Hub/index.js +1 -1
  287. package/dist/utils/Meta/constants.js +2 -2
  288. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  289. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  290. package/dist/utils/Meta/documents/index.js +1 -1
  291. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  292. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  293. package/dist/utils/Meta/index.js +1 -1
  294. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  295. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  296. package/dist/utils/Operate/getFirstOf.js +5 -5
  297. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  298. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  299. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  300. package/dist/utils/Operate/getLength.js +50 -0
  301. package/dist/utils/Operate/getLength.test.js +89 -0
  302. package/dist/utils/Operate/index.js +1 -1
  303. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  304. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  305. package/dist/utils/Operate/runPageOperations.js +9 -7
  306. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  307. package/dist/utils/Operate/setValueInFormData.js +2 -2
  308. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  309. package/dist/utils/Operate/shouldRun.js +6 -6
  310. package/dist/utils/Operate/shouldRun.test.js +27 -21
  311. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  312. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  313. package/dist/utils/Validate/additional/index.js +6 -6
  314. package/dist/utils/Validate/additional/index.test.js +12 -12
  315. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  317. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  318. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  319. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  320. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  321. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  322. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  323. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  325. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  327. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  328. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  329. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  330. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  331. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  333. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  334. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  335. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  337. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  338. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  339. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  340. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  341. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  342. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  343. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  344. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  345. package/dist/utils/Validate/additional/utils.js +22 -9
  346. package/dist/utils/Validate/index.js +1 -1
  347. package/dist/utils/Validate/validateCollection.js +25 -19
  348. package/dist/utils/Validate/validateCollection.test.js +66 -74
  349. package/dist/utils/Validate/validateComponent.js +21 -18
  350. package/dist/utils/Validate/validateComponent.test.js +176 -166
  351. package/dist/utils/Validate/validateContainer.js +20 -15
  352. package/dist/utils/Validate/validateContainer.test.js +52 -58
  353. package/dist/utils/Validate/validateDate.js +21 -15
  354. package/dist/utils/Validate/validateDate.test.js +32 -31
  355. package/dist/utils/Validate/validateEmail.js +8 -6
  356. package/dist/utils/Validate/validateEmail.test.js +25 -25
  357. package/dist/utils/Validate/validateMultifile.js +7 -5
  358. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  359. package/dist/utils/Validate/validatePage.js +22 -19
  360. package/dist/utils/Validate/validatePage.test.js +203 -215
  361. package/dist/utils/Validate/validateRegex.js +5 -3
  362. package/dist/utils/Validate/validateRegex.test.js +14 -14
  363. package/dist/utils/Validate/validateRequired.js +6 -4
  364. package/dist/utils/Validate/validateRequired.test.js +18 -18
  365. package/dist/utils/Validate/validateTextArea.js +6 -4
  366. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  367. package/dist/utils/Validate/validateTime.js +26 -11
  368. package/dist/utils/Validate/validateTime.test.js +62 -16
  369. package/dist/utils/index.js +9 -7
  370. package/package.json +2 -2
  371. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  372. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -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
- 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
  }
@@ -4,26 +4,26 @@ var _meetsOneCondition = _interopRequireDefault(require("./meetsOneCondition"));
4
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',
@@ -6,25 +6,30 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _Data = _interopRequireDefault(require("../Data"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- // Local imports
10
-
11
- const makeComponentFieldsAbsolute = component => {
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
  }
@@ -2,25 +2,25 @@
2
2
 
3
3
  var _setupConditions = _interopRequireDefault(require("./setupConditions"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.Condition.setupConditions', () => {
6
- it('should return an array of conditions directly', () => {
7
- const OPTIONS = [{
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',
@@ -14,14 +14,16 @@ 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
- 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
  };
@@ -6,38 +6,38 @@ var _getEditableComponents = _interopRequireDefault(require("./getEditableCompon
6
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 \"".concat(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 \"".concat(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 \"".concat(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);
@@ -8,7 +8,7 @@ var _getEditableComponents = _interopRequireDefault(require("./getEditableCompon
8
8
  var _setupNesting = _interopRequireDefault(require("./setupNesting"));
9
9
  var _showContainer = _interopRequireDefault(require("./showContainer"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- const Container = {
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 ? "".concat(containerPath, ".").concat(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
@@ -22,9 +27,9 @@ const nestComponents = container => {
22
27
  }
23
28
  if (component.type === _models.ComponentTypes.RADIOS) {
24
29
  var _ret$data;
25
- (_ret$data = ret.data) === null || _ret$data === void 0 || (_ret$data = _ret$data.options) === null || _ret$data === void 0 || _ret$data.forEach((option, optionIndex) => {
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) {
26
31
  var _option$nested;
27
- (_option$nested = option.nested) === null || _option$nested === void 0 || _option$nested.forEach((nest, nestIndex) => {
32
+ (_option$nested = option.nested) === null || _option$nested === void 0 || _option$nested.forEach(function (nest, nestIndex) {
28
33
  if (nest.type === _models.ComponentTypes.CONTAINER) {
29
34
  // eslint-disable-next-line no-use-before-define
30
35
  ret.data.options[optionIndex].nested[nestIndex] = setupNesting(nest);
@@ -35,13 +40,12 @@ const nestComponents = container => {
35
40
  return ret;
36
41
  });
37
42
  };
38
- const setupNesting = container => {
43
+ var setupNesting = function setupNesting(container) {
39
44
  if (container) {
40
- const components = nestComponents(container);
41
- return {
42
- ...container,
43
- components
44
- };
45
+ var components = nestComponents(container);
46
+ return _objectSpread(_objectSpread({}, container), {}, {
47
+ components: components
48
+ });
45
49
  }
46
50
  return container;
47
51
  };
@@ -3,23 +3,30 @@
3
3
  var _models = require("../../models");
4
4
  var _setupNesting = _interopRequireDefault(require("./setupNesting"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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', () => {
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',
@@ -16,7 +16,11 @@ 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
- 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
  }