@ukhomeoffice/cop-react-form-renderer 6.0.6-peter → 6.7.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +2 -2
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  6. package/dist/components/CollectionPage/CollectionPage.js +75 -59
  7. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  8. package/dist/components/CollectionSummary/BannerStrip.js +15 -14
  9. package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +98 -59
  11. package/dist/components/CollectionSummary/CollectionSummary.js +144 -135
  12. package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +167 -197
  14. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  15. package/dist/components/CollectionSummary/Confirmation.scss +1 -1
  16. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  17. package/dist/components/CollectionSummary/RenderListView.js +54 -56
  18. package/dist/components/CollectionSummary/RenderListView.scss +10 -1
  19. package/dist/components/CollectionSummary/RenderListView.test.js +89 -78
  20. package/dist/components/CollectionSummary/SummaryCard.js +135 -145
  21. package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
  22. package/dist/components/CollectionSummary/SummaryCard.test.js +943 -932
  23. package/dist/components/CollectionSummary/SummaryCardDetails.js +120 -62
  24. package/dist/components/CollectionSummary/SummaryCardDetails.scss +43 -6
  25. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +261 -120
  26. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +38 -33
  27. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -73
  28. package/dist/components/FormComponent/Collection.js +81 -108
  29. package/dist/components/FormComponent/Collection.test.js +909 -943
  30. package/dist/components/FormComponent/Container.js +40 -38
  31. package/dist/components/FormComponent/Container.test.js +314 -345
  32. package/dist/components/FormComponent/FormComponent.js +80 -71
  33. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  34. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  36. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  38. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  40. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  41. package/dist/components/FormComponent/helpers/index.js +4 -4
  42. package/dist/components/FormPage/FormPage.js +65 -80
  43. package/dist/components/FormPage/FormPage.scss +1 -1
  44. package/dist/components/FormPage/FormPage.test.js +127 -163
  45. package/dist/components/FormRenderer/FormRenderer.js +150 -183
  46. package/dist/components/FormRenderer/FormRenderer.scss +1 -1
  47. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  48. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  49. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  50. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  51. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  52. package/dist/components/FormRenderer/handlers/index.js +1 -1
  53. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  54. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  56. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  58. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  60. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  61. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  62. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  63. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  64. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  65. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  66. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  67. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  68. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  70. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  72. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  74. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  75. package/dist/components/FormRenderer/helpers/index.js +2 -4
  76. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  77. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  78. package/dist/components/FormRenderer/onPageAction.js +50 -48
  79. package/dist/components/FormRenderer/onPageAction.test.js +241 -217
  80. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  81. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  82. package/dist/components/PageActions/ActionButton.js +12 -15
  83. package/dist/components/PageActions/ActionButton.test.js +56 -78
  84. package/dist/components/PageActions/PageActions.js +10 -10
  85. package/dist/components/PageActions/PageActions.test.js +86 -115
  86. package/dist/components/SummaryList/GroupAction.js +9 -17
  87. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  88. package/dist/components/SummaryList/RowAction.js +11 -16
  89. package/dist/components/SummaryList/RowAction.test.js +37 -33
  90. package/dist/components/SummaryList/SummaryList.js +21 -26
  91. package/dist/components/SummaryList/SummaryList.scss +2 -2
  92. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  94. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  95. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  100. package/dist/components/SummaryList/helpers/index.js +1 -1
  101. package/dist/components/TaskList/Task.js +19 -29
  102. package/dist/components/TaskList/Task.test.js +83 -76
  103. package/dist/components/TaskList/TaskList.js +45 -71
  104. package/dist/components/TaskList/TaskList.scss +1 -1
  105. package/dist/components/TaskList/TaskList.test.js +113 -111
  106. package/dist/components/TaskList/TaskState.js +7 -5
  107. package/dist/components/TaskList/TaskState.test.js +52 -45
  108. package/dist/components/index.js +7 -7
  109. package/dist/context/HooksContext/HooksContext.js +57 -80
  110. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  111. package/dist/context/HooksContext/index.js +3 -4
  112. package/dist/context/ValidationContext/ValidationContext.js +65 -72
  113. package/dist/context/ValidationContext/ValidationContext.test.js +58 -61
  114. package/dist/context/ValidationContext/index.js +3 -4
  115. package/dist/context/index.js +2 -2
  116. package/dist/hooks/index.js +9 -10
  117. package/dist/hooks/useAxios.js +14 -40
  118. package/dist/hooks/useGetRequest.js +61 -97
  119. package/dist/hooks/useHooks.js +1 -3
  120. package/dist/hooks/useRefData.js +27 -40
  121. package/dist/hooks/useValidation.js +1 -3
  122. package/dist/index.js +13 -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 +44 -38
  130. package/dist/models/TaskStates.js +29 -28
  131. package/dist/models/index.js +9 -9
  132. package/dist/setupTests.js +30 -31
  133. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  134. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  139. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  140. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  151. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  152. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  153. package/dist/utils/CheckYourAnswers/index.js +1 -1
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -5
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +29 -24
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -4
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +7 -27
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +29 -19
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +66 -22
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  166. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  167. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  168. package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
  169. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +153 -0
  170. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -23
  171. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  172. package/dist/utils/CollectionPage/index.js +3 -1
  173. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  174. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -17
  178. package/dist/utils/CollectionPage/setCollectionPageData.test.js +38 -20
  179. package/dist/utils/Component/addShowWhen.js +4 -8
  180. package/dist/utils/Component/addShowWhen.test.js +37 -37
  181. package/dist/utils/Component/applyToComponentTree.js +18 -18
  182. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  183. package/dist/utils/Component/cleanAttributes.js +10 -13
  184. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  185. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  186. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  187. package/dist/utils/Component/getComponent.js +88 -94
  188. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  190. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  191. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  192. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  195. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  196. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  197. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  198. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  199. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  200. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  201. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  202. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  203. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  204. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  205. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  206. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  207. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  208. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  209. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  210. package/dist/utils/Component/getDefaultValue.js +6 -8
  211. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  212. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  213. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  214. package/dist/utils/Component/index.js +1 -1
  215. package/dist/utils/Component/isEditable.js +2 -4
  216. package/dist/utils/Component/isEditable.test.js +14 -15
  217. package/dist/utils/Component/optionIsSelected.js +1 -1
  218. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  219. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  220. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  221. package/dist/utils/Component/showComponent.js +1 -1
  222. package/dist/utils/Component/showComponent.test.js +28 -28
  223. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  224. package/dist/utils/Condition/index.js +1 -1
  225. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  226. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  227. package/dist/utils/Condition/meetsCondition.js +28 -19
  228. package/dist/utils/Condition/meetsCondition.test.js +476 -376
  229. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  230. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  231. package/dist/utils/Condition/setupConditions.js +13 -18
  232. package/dist/utils/Condition/setupConditions.test.js +7 -7
  233. package/dist/utils/Container/getEditableComponents.js +3 -5
  234. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  235. package/dist/utils/Container/index.js +1 -1
  236. package/dist/utils/Container/setupNesting.js +16 -20
  237. package/dist/utils/Container/setupNesting.test.js +27 -30
  238. package/dist/utils/Container/showContainer.js +3 -7
  239. package/dist/utils/Container/showContainer.test.js +30 -30
  240. package/dist/utils/Data/applyFormula.js +38 -48
  241. package/dist/utils/Data/applyFormula.test.js +20 -20
  242. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  243. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  244. package/dist/utils/Data/getDataPath.js +18 -28
  245. package/dist/utils/Data/getDataPath.test.js +12 -12
  246. package/dist/utils/Data/getOptions.js +29 -25
  247. package/dist/utils/Data/getOptions.test.js +93 -20
  248. package/dist/utils/Data/getSourceData.js +6 -19
  249. package/dist/utils/Data/getSourceData.test.js +84 -80
  250. package/dist/utils/Data/index.js +1 -1
  251. package/dist/utils/Data/nestInRefdataOptions.js +42 -0
  252. package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
  253. package/dist/utils/Data/refDataToOptions.js +10 -13
  254. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  255. package/dist/utils/Data/setDataItem.js +7 -8
  256. package/dist/utils/Data/setDataItem.test.js +37 -37
  257. package/dist/utils/Data/setupFormData.js +13 -21
  258. package/dist/utils/Data/setupFormData.test.js +51 -50
  259. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  260. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  261. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  262. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  263. package/dist/utils/FormPage/getConditionalText.js +3 -3
  264. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  265. package/dist/utils/FormPage/getFormPage.js +15 -16
  266. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  267. package/dist/utils/FormPage/getFormPages.js +7 -12
  268. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  269. package/dist/utils/FormPage/getPageActions.js +9 -15
  270. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  271. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  272. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  273. package/dist/utils/FormPage/index.js +2 -4
  274. package/dist/utils/FormPage/showFormPage.js +3 -7
  275. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  276. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  277. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  278. package/dist/utils/FormPage/useComponent.js +21 -28
  279. package/dist/utils/FormPage/useComponent.test.js +77 -79
  280. package/dist/utils/Format/formatData.js +1 -1
  281. package/dist/utils/Format/formatData.test.js +18 -18
  282. package/dist/utils/Format/formatDataForComponent.js +5 -6
  283. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  284. package/dist/utils/Format/formatDataForForm.js +6 -8
  285. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  286. package/dist/utils/Format/formatDataForPage.js +4 -5
  287. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  288. package/dist/utils/Format/index.js +1 -1
  289. package/dist/utils/Hub/getFormHub.js +1 -1
  290. package/dist/utils/Hub/getFormHub.test.js +28 -31
  291. package/dist/utils/Hub/index.js +1 -1
  292. package/dist/utils/Meta/constants.js +2 -2
  293. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  294. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  295. package/dist/utils/Meta/documents/index.js +1 -1
  296. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  297. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  298. package/dist/utils/Meta/index.js +1 -1
  299. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  301. package/dist/utils/Operate/getFirstOf.js +5 -5
  302. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  303. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  304. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  305. package/dist/utils/Operate/index.js +1 -1
  306. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  307. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  308. package/dist/utils/Operate/runPageOperations.js +7 -7
  309. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  310. package/dist/utils/Operate/setValueInFormData.js +2 -2
  311. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  312. package/dist/utils/Operate/shouldRun.js +6 -6
  313. package/dist/utils/Operate/shouldRun.test.js +21 -27
  314. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  315. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  316. package/dist/utils/Validate/additional/index.js +6 -6
  317. package/dist/utils/Validate/additional/index.test.js +12 -12
  318. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  319. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  320. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  321. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  322. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  323. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  324. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  325. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  326. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  327. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  328. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  330. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  331. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  332. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  333. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  334. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  336. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  337. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  338. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  339. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  340. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  341. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  342. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  343. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  344. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  345. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  346. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  347. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  348. package/dist/utils/Validate/additional/utils.js +9 -22
  349. package/dist/utils/Validate/index.js +1 -1
  350. package/dist/utils/Validate/validateCollection.js +19 -25
  351. package/dist/utils/Validate/validateCollection.test.js +74 -66
  352. package/dist/utils/Validate/validateComponent.js +17 -15
  353. package/dist/utils/Validate/validateComponent.test.js +167 -146
  354. package/dist/utils/Validate/validateContainer.js +16 -19
  355. package/dist/utils/Validate/validateContainer.test.js +84 -45
  356. package/dist/utils/Validate/validateDate.js +15 -21
  357. package/dist/utils/Validate/validateDate.test.js +31 -32
  358. package/dist/utils/Validate/validateEmail.js +6 -8
  359. package/dist/utils/Validate/validateEmail.test.js +25 -25
  360. package/dist/utils/Validate/validateMultifile.js +5 -7
  361. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  362. package/dist/utils/Validate/validatePage.js +24 -18
  363. package/dist/utils/Validate/validatePage.test.js +263 -182
  364. package/dist/utils/Validate/validateRegex.js +3 -5
  365. package/dist/utils/Validate/validateRegex.test.js +14 -14
  366. package/dist/utils/Validate/validateRequired.js +4 -6
  367. package/dist/utils/Validate/validateRequired.test.js +18 -18
  368. package/dist/utils/Validate/validateTextArea.js +4 -6
  369. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  370. package/dist/utils/Validate/validateTime.js +11 -18
  371. package/dist/utils/Validate/validateTime.test.js +16 -16
  372. package/dist/utils/index.js +7 -9
  373. package/package.json +5 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -5,14 +5,14 @@ var _getPageActions = _interopRequireDefault(require("./getPageActions"));
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', function () {
9
- describe('FormPage', function () {
10
- describe('getPageActions', function () {
11
- it('should handle a null or undefined page', function () {
8
+ describe('utils', () => {
9
+ describe('FormPage', () => {
10
+ describe('getPageActions', () => {
11
+ it('should handle a null or undefined page', () => {
12
12
  expect((0, _getPageActions.default)(null)).toBeUndefined();
13
13
  expect((0, _getPageActions.default)(undefined)).toBeUndefined();
14
14
  });
15
- it('should handle a null or undefined actions array', function () {
15
+ it('should handle a null or undefined actions array', () => {
16
16
  expect((0, _getPageActions.default)({
17
17
  actions: null
18
18
  })).toBeUndefined();
@@ -20,89 +20,89 @@ describe('utils', function () {
20
20
  actions: undefined
21
21
  })).toBeUndefined();
22
22
  });
23
- it('should handle an array of strings', function () {
24
- var actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN];
23
+ it('should handle an array of strings', () => {
24
+ const actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN];
25
25
  expect((0, _getPageActions.default)({
26
- actions: actions
26
+ actions
27
27
  })).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
28
28
  });
29
- it('should handle a null entry in the array', function () {
30
- var actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN, null];
29
+ it('should handle a null entry in the array', () => {
30
+ const actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN, null];
31
31
  expect((0, _getPageActions.default)({
32
- actions: actions
32
+ actions
33
33
  })).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
34
34
  });
35
- it('should handle an undefined entry in the array', function () {
36
- var actions = [undefined, _models.PageAction.TYPES.SAVE_AND_CONTINUE, undefined, _models.PageAction.TYPES.SAVE_AND_RETURN];
35
+ it('should handle an undefined entry in the array', () => {
36
+ const actions = [undefined, _models.PageAction.TYPES.SAVE_AND_CONTINUE, undefined, _models.PageAction.TYPES.SAVE_AND_RETURN];
37
37
  expect((0, _getPageActions.default)({
38
- actions: actions
38
+ actions
39
39
  })).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
40
40
  });
41
- it('should handle an object entry in the array', function () {
42
- var actions = [{
41
+ it('should handle an object entry in the array', () => {
42
+ const actions = [{
43
43
  type: 'navigate',
44
44
  page: 'alpha'
45
45
  }];
46
46
  expect((0, _getPageActions.default)({
47
- actions: actions
47
+ actions
48
48
  })).toEqual(actions);
49
49
  });
50
- it('should convert an href to a page', function () {
51
- var actions = [{
50
+ it('should convert an href to a page', () => {
51
+ const actions = [{
52
52
  type: 'navigate',
53
53
  href: '/alpha/bravo'
54
54
  }];
55
55
  expect((0, _getPageActions.default)({
56
- actions: actions
56
+ actions
57
57
  })).toEqual([{
58
58
  type: 'navigate',
59
59
  page: 'bravo',
60
60
  href: '/alpha/bravo'
61
61
  }]);
62
62
  });
63
- it('should convert a url to a page', function () {
64
- var actions = [{
63
+ it('should convert a url to a page', () => {
64
+ const actions = [{
65
65
  type: 'navigate',
66
66
  url: '/alpha/bravo'
67
67
  }];
68
68
  expect((0, _getPageActions.default)({
69
- actions: actions
69
+ actions
70
70
  })).toEqual([{
71
71
  type: 'navigate',
72
72
  page: 'bravo',
73
73
  url: '/alpha/bravo'
74
74
  }]);
75
75
  });
76
- it('should handle an action without a page, href, or url', function () {
77
- var actions = [{
76
+ it('should handle an action without a page, href, or url', () => {
77
+ const actions = [{
78
78
  type: 'submit',
79
79
  label: 'Charlie'
80
80
  }];
81
81
  expect((0, _getPageActions.default)({
82
- actions: actions
82
+ actions
83
83
  })).toEqual(actions);
84
84
  });
85
- it('should add a default validation prop if none are present', function () {
86
- var actions = [{
85
+ it('should add a default validation prop if none are present', () => {
86
+ const actions = [{
87
87
  type: 'saveAndContinue',
88
88
  label: 'Charlie'
89
89
  }];
90
90
  expect((0, _getPageActions.default)({
91
- actions: actions
91
+ actions
92
92
  })).toEqual([{
93
93
  type: 'saveAndContinue',
94
94
  label: 'Charlie',
95
95
  validate: true
96
96
  }]);
97
97
  });
98
- it('should not overwrite a validation prop when one exists', function () {
99
- var actions = [{
98
+ it('should not overwrite a validation prop when one exists', () => {
99
+ const actions = [{
100
100
  type: 'submit',
101
101
  label: 'Charlie',
102
102
  validate: false
103
103
  }];
104
104
  expect((0, _getPageActions.default)({
105
- actions: actions
105
+ actions
106
106
  })).toEqual([{
107
107
  type: 'submit',
108
108
  label: 'Charlie',
@@ -12,11 +12,9 @@ var _models = require("../../models");
12
12
  * @param {string} content The content to render as a paragraph.
13
13
  * @returns An HTML component configuration for a paragraph of the supplied tect.
14
14
  */
15
- var getParagraphFromText = function getParagraphFromText(content) {
16
- return {
17
- type: _models.ComponentTypes.HTML,
18
- tagName: 'p',
19
- content: content
20
- };
21
- };
15
+ const getParagraphFromText = content => ({
16
+ type: _models.ComponentTypes.HTML,
17
+ tagName: 'p',
18
+ content
19
+ });
22
20
  var _default = exports.default = getParagraphFromText;
@@ -5,18 +5,18 @@ var _getParagraphFromText = _interopRequireDefault(require("./getParagraphFromTe
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
  // Local imports
7
7
 
8
- describe('utils', function () {
9
- describe('FormPage', function () {
10
- describe('getParagraphFromText', function () {
11
- it('should handle text content', function () {
12
- var CONTENT = 'Appropriate text content';
8
+ describe('utils', () => {
9
+ describe('FormPage', () => {
10
+ describe('getParagraphFromText', () => {
11
+ it('should handle text content', () => {
12
+ const CONTENT = 'Appropriate text content';
13
13
  expect((0, _getParagraphFromText.default)(CONTENT)).toEqual({
14
14
  type: _models.ComponentTypes.HTML,
15
15
  tagName: 'p',
16
16
  content: CONTENT
17
17
  });
18
18
  });
19
- it('should handle undefined content', function () {
19
+ it('should handle undefined content', () => {
20
20
  expect((0, _getParagraphFromText.default)(undefined)).toEqual({
21
21
  type: _models.ComponentTypes.HTML,
22
22
  tagName: 'p'
@@ -11,14 +11,12 @@ var _getFormPages = _interopRequireDefault(require("./getFormPages"));
11
11
  var _showFormPage = _interopRequireDefault(require("./showFormPage"));
12
12
  var _showFormPageCYA = _interopRequireDefault(require("./showFormPageCYA"));
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- var FormPage = {
14
+ const FormPage = {
15
15
  applyConditionalProperties: _applyConditionalProperties.default,
16
16
  getConditionalText: _getConditionalText.default,
17
17
  get: _getFormPage.default,
18
18
  getAll: _getFormPages.default,
19
- getTitle: function getTitle(options, formData) {
20
- return (0, _getConditionalText.default)(options, formData, 'title');
21
- },
19
+ getTitle: (options, formData) => (0, _getConditionalText.default)(options, formData, 'title'),
22
20
  show: _showFormPage.default,
23
21
  showCYA: _showFormPageCYA.default
24
22
  };
@@ -16,11 +16,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
16
16
  * @param {object} data The top-level form data.
17
17
  * @returns Boolean true if ANY of the editable components should be shown; false otherwise.
18
18
  */
19
- var showEditableComponent = function showEditableComponent(editableComponents, data) {
20
- return editableComponents.some(function (component) {
21
- return (0, _showComponent.default)(component, data);
22
- });
23
- };
19
+ const showEditableComponent = (editableComponents, data) => editableComponents.some(component => (0, _showComponent.default)(component, data));
24
20
 
25
21
  /**
26
22
  * Indicates whether or not a page should be shown.
@@ -28,7 +24,7 @@ var showEditableComponent = function showEditableComponent(editableComponents, d
28
24
  * @param {object} data The top-level form data.
29
25
  * @returns Boolean true if the page should be shown; false if not.
30
26
  */
31
- var showFormPage = function showFormPage(page, data) {
27
+ const showFormPage = (page, data) => {
32
28
  if (!page) {
33
29
  return false;
34
30
  }
@@ -43,7 +39,7 @@ var showFormPage = function showFormPage(page, data) {
43
39
 
44
40
  // If the page itself doesn't have a show_when, we need to make sure that if it
45
41
  // contains ANY editable components, at least one of them is shown.
46
- var editableComponents = _Container.default.editableComponents(page);
42
+ const editableComponents = _Container.default.editableComponents(page);
47
43
  if (editableComponents.length > 0) {
48
44
  return showEditableComponent(editableComponents, data);
49
45
  }
@@ -2,32 +2,32 @@
2
2
 
3
3
  var _showFormPage = _interopRequireDefault(require("./showFormPage"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils', function () {
6
- describe('FormPage', function () {
7
- describe('showFormPage', function () {
8
- var DATA = {
5
+ describe('utils', () => {
6
+ describe('FormPage', () => {
7
+ describe('showFormPage', () => {
8
+ const DATA = {
9
9
  alpha: 'Alpha',
10
10
  bravo: 'Bravo'
11
11
  };
12
- var HTML = {
12
+ const HTML = {
13
13
  type: 'html',
14
14
  tagName: 'p',
15
15
  content: 'Alpha'
16
16
  };
17
- var INSET_TEXT = {
17
+ const INSET_TEXT = {
18
18
  type: 'inset-text',
19
19
  content: 'Bravo'
20
20
  };
21
- var HEADING = {
21
+ const HEADING = {
22
22
  type: 'heading',
23
23
  size: 'm',
24
24
  content: 'Charlie'
25
25
  };
26
- it('should NOT be shown when the page is null', function () {
26
+ it('should NOT be shown when the page is null', () => {
27
27
  expect((0, _showFormPage.default)(null, DATA)).toBeFalsy();
28
28
  });
29
- it('should NOT be shown when the page has a single show_when condition that is NOT matched', function () {
30
- var PAGE = {
29
+ it('should NOT be shown when the page has a single show_when condition that is NOT matched', () => {
30
+ const PAGE = {
31
31
  show_when: {
32
32
  field: 'charlie',
33
33
  op: '=',
@@ -36,8 +36,8 @@ describe('utils', function () {
36
36
  };
37
37
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
38
38
  });
39
- it('should NOT be shown when the page has a multiple show_when conditions and at least one is NOT matched', function () {
40
- var PAGE = {
39
+ it('should NOT be shown when the page has a multiple show_when conditions and at least one is NOT matched', () => {
40
+ const PAGE = {
41
41
  show_when: [{
42
42
  field: 'alpha',
43
43
  op: '=',
@@ -50,8 +50,8 @@ describe('utils', function () {
50
50
  };
51
51
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
52
52
  });
53
- it('SHOULD be shown when the page has a single show_when condition that IS matched', function () {
54
- var PAGE = {
53
+ it('SHOULD be shown when the page has a single show_when condition that IS matched', () => {
54
+ const PAGE = {
55
55
  show_when: {
56
56
  field: 'alpha',
57
57
  op: '=',
@@ -60,8 +60,8 @@ describe('utils', function () {
60
60
  };
61
61
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
62
62
  });
63
- it('SHOULD be shown when the page has a multiple show_when conditions that are ALL matched', function () {
64
- var PAGE = {
63
+ it('SHOULD be shown when the page has a multiple show_when conditions that are ALL matched', () => {
64
+ const PAGE = {
65
65
  show_when: [{
66
66
  field: 'alpha',
67
67
  op: '=',
@@ -74,14 +74,14 @@ describe('utils', function () {
74
74
  };
75
75
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
76
76
  });
77
- it('SHOULD be shown when the page has NO show_when conditions and NO editable components', function () {
78
- var PAGE = {
77
+ it('SHOULD be shown when the page has NO show_when conditions and NO editable components', () => {
78
+ const PAGE = {
79
79
  components: [HTML, INSET_TEXT, HEADING]
80
80
  };
81
81
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
82
82
  });
83
- it('should NOT be shown when the page has NO show_when conditions and NO SHOWN editable components', function () {
84
- var TEXT = {
83
+ it('should NOT be shown when the page has NO show_when conditions and NO SHOWN editable components', () => {
84
+ const TEXT = {
85
85
  type: 'text',
86
86
  show_when: {
87
87
  field: 'charlie',
@@ -89,7 +89,7 @@ describe('utils', function () {
89
89
  value: 'Charlie'
90
90
  }
91
91
  };
92
- var RADIOS = {
92
+ const RADIOS = {
93
93
  type: 'radios',
94
94
  show_when: {
95
95
  field: 'charlie',
@@ -97,13 +97,13 @@ describe('utils', function () {
97
97
  value: 'Charlie'
98
98
  }
99
99
  };
100
- var PAGE = {
100
+ const PAGE = {
101
101
  components: [TEXT, RADIOS]
102
102
  };
103
103
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
104
104
  });
105
- it('SHOULD be shown when the page has NO show_when conditions and AT LEAST ONE SHOWN editable components', function () {
106
- var TEXT = {
105
+ it('SHOULD be shown when the page has NO show_when conditions and AT LEAST ONE SHOWN editable components', () => {
106
+ const TEXT = {
107
107
  type: 'text',
108
108
  show_when: {
109
109
  field: 'alpha',
@@ -111,7 +111,7 @@ describe('utils', function () {
111
111
  value: 'Alpha'
112
112
  }
113
113
  };
114
- var RADIOS = {
114
+ const RADIOS = {
115
115
  type: 'radios',
116
116
  show_when: {
117
117
  field: 'charlie',
@@ -119,13 +119,13 @@ describe('utils', function () {
119
119
  value: 'Charlie'
120
120
  }
121
121
  };
122
- var PAGE = {
122
+ const PAGE = {
123
123
  components: [TEXT, RADIOS]
124
124
  };
125
125
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
126
126
  });
127
- it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and ALL are matched', function () {
128
- var PAGE = {
127
+ it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and ALL are matched', () => {
128
+ const PAGE = {
129
129
  show_when: {
130
130
  "type": "or",
131
131
  "conditions": [{
@@ -141,8 +141,8 @@ describe('utils', function () {
141
141
  };
142
142
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
143
143
  });
144
- it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and at least ONE is matched', function () {
145
- var PAGE = {
144
+ it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and at least ONE is matched', () => {
145
+ const PAGE = {
146
146
  show_when: {
147
147
  "type": "or",
148
148
  "conditions": [{
@@ -158,8 +158,8 @@ describe('utils', function () {
158
158
  };
159
159
  expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
160
160
  });
161
- it('should NOT be shown when the page has multiple show_when conditions, with type "or" provided and NONE are matched', function () {
162
- var PAGE = {
161
+ it('should NOT be shown when the page has multiple show_when conditions, with type "or" provided and NONE are matched', () => {
162
+ const PAGE = {
163
163
  show_when: {
164
164
  "type": "or",
165
165
  "conditions": [{
@@ -12,7 +12,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  * @param {object} data The top-level form data.
13
13
  * @returns Boolean true if the page should be shown; false if not.
14
14
  */
15
- var showFormPageCYA = function showFormPageCYA(page, data) {
15
+ const showFormPageCYA = (page, data) => {
16
16
  // eslint-disable-next-line no-prototype-builtins
17
17
  if (page !== null && page !== void 0 && page.hasOwnProperty('show_on_cya') && !page.show_on_cya) {
18
18
  return false;
@@ -2,27 +2,27 @@
2
2
 
3
3
  var _showFormPageCYA = _interopRequireDefault(require("./showFormPageCYA"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.FormPage.showFormPageCYA', function () {
6
- var DATA = {
5
+ describe('utils.FormPage.showFormPageCYA', () => {
6
+ const DATA = {
7
7
  alpha: 'Alpha',
8
8
  bravo: 'Bravo'
9
9
  };
10
- it('should NOT be shown when the page is null', function () {
10
+ it('should NOT be shown when the page is null', () => {
11
11
  expect((0, _showFormPageCYA.default)(null, DATA)).toEqual(false);
12
12
  });
13
- it('should NOT be shown if the show_on_cya flag is false', function () {
14
- var PAGE = {
13
+ it('should NOT be shown if the show_on_cya flag is false', () => {
14
+ const PAGE = {
15
15
  show_on_cya: false
16
16
  };
17
17
  expect((0, _showFormPageCYA.default)(PAGE, DATA)).toEqual(false);
18
18
  });
19
- it('SHOULD be shown if the show_on_cya flag is true', function () {
20
- var PAGE = {
19
+ it('SHOULD be shown if the show_on_cya flag is true', () => {
20
+ const PAGE = {
21
21
  show_on_cya: true
22
22
  };
23
23
  expect((0, _showFormPageCYA.default)(PAGE, DATA)).toEqual(true);
24
24
  });
25
- it('SHOULD be shown if the show_on_cya flag is missing', function () {
25
+ it('SHOULD be shown if the show_on_cya flag is missing', () => {
26
26
  expect((0, _showFormPageCYA.default)({}, DATA)).toEqual(true);
27
27
  });
28
28
  });
@@ -4,29 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
- var getComponentToUse = function getComponentToUse(toUse, formComponents) {
14
- var path = toUse.use.split('.');
15
- var firstId = path.shift();
16
- var wrapper = JSON.parse(JSON.stringify(_objectSpread({}, formComponents.find(function (fc) {
17
- return fc.id === firstId;
18
- }))));
19
- var component = wrapper;
20
- var parent = wrapper;
21
- var _loop = function _loop() {
22
- var id = path.shift();
7
+ const getComponentToUse = (toUse, formComponents) => {
8
+ const path = toUse.use.split('.');
9
+ const firstId = path.shift();
10
+ let wrapper = JSON.parse(JSON.stringify({
11
+ ...formComponents.find(fc => fc.id === firstId)
12
+ }));
13
+ let component = wrapper;
14
+ let parent = wrapper;
15
+ while (component && path.length > 0) {
16
+ const id = path.shift();
23
17
  if (Array.isArray(component.components)) {
24
18
  // Filter the parent components down to just the one referenced
25
19
  // by the current id.
26
20
  parent = component;
27
- parent.components = parent.components.filter(function (c) {
28
- return c.id === id;
29
- });
21
+ parent.components = parent.components.filter(c => c.id === id);
30
22
  if (parent.components.length > 0) {
31
23
  // Make the found child the parent so we can iterate.
32
24
  // eslint-disable-next-line prefer-destructuring
@@ -40,14 +32,13 @@ var getComponentToUse = function getComponentToUse(toUse, formComponents) {
40
32
  // components on this parent.
41
33
  component = undefined;
42
34
  }
43
- };
44
- while (component && path.length > 0) {
45
- _loop();
46
35
  }
47
36
  if (component) {
48
- component = _objectSpread(_objectSpread({
49
- cya_label: component.label
50
- }, component), toUse);
37
+ component = {
38
+ cya_label: component.label,
39
+ ...component,
40
+ ...toUse
41
+ };
51
42
  if (parent && parent.id !== component.id) {
52
43
  parent.components = [component];
53
44
  } else {
@@ -67,13 +58,15 @@ var getComponentToUse = function getComponentToUse(toUse, formComponents) {
67
58
  * @param {Array} formComponents An array of existing components on the form.
68
59
  * @returns A component configuration object.
69
60
  */
70
- var useComponent = function useComponent(toUse, formComponents) {
61
+ const useComponent = (toUse, formComponents) => {
71
62
  if (toUse) {
72
- var component = getComponentToUse(toUse, formComponents);
63
+ const component = getComponentToUse(toUse, formComponents);
73
64
  if (component) {
74
65
  return component;
75
66
  }
76
67
  }
77
- return _objectSpread({}, toUse);
68
+ return {
69
+ ...toUse
70
+ };
78
71
  };
79
72
  var _default = exports.default = useComponent;