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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/README.md +5 -0
  2. package/dist/components/CheckYourAnswers/Answer.js +12 -11
  3. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
  6. package/dist/components/CheckYourAnswers/index.js +1 -1
  7. package/dist/components/CollectionPage/CollectionPage.js +62 -60
  8. package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
  9. package/dist/components/CollectionPage/index.js +1 -1
  10. package/dist/components/CollectionSummary/BannerStrip.js +14 -14
  11. package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
  12. package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
  14. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  15. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  16. package/dist/components/CollectionSummary/RenderListView.js +34 -47
  17. package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
  18. package/dist/components/CollectionSummary/SummaryCard.js +101 -133
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
  20. package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
  21. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
  22. package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
  23. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  25. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
  26. package/dist/components/CollectionSummary/index.js +1 -1
  27. package/dist/components/FormComponent/Collection.js +63 -100
  28. package/dist/components/FormComponent/Collection.test.js +907 -1080
  29. package/dist/components/FormComponent/Container.js +35 -29
  30. package/dist/components/FormComponent/Container.test.js +378 -409
  31. package/dist/components/FormComponent/FormComponent.js +59 -63
  32. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  33. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  34. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  36. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  37. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  38. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  40. package/dist/components/FormComponent/helpers/index.js +5 -5
  41. package/dist/components/FormComponent/index.js +1 -1
  42. package/dist/components/FormPage/FormPage.js +70 -93
  43. package/dist/components/FormPage/FormPage.test.js +150 -202
  44. package/dist/components/FormPage/index.js +1 -1
  45. package/dist/components/FormRenderer/FormRenderer.js +131 -173
  46. package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
  47. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  48. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  49. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  50. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  51. package/dist/components/FormRenderer/handlers/index.js +2 -2
  52. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  53. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  54. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  56. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  58. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  60. package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
  61. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  62. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  63. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
  65. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  66. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  67. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  68. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  70. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  72. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
  74. package/dist/components/FormRenderer/helpers/index.js +2 -2
  75. package/dist/components/FormRenderer/index.js +1 -1
  76. package/dist/components/FormRenderer/onCYAAction.js +43 -44
  77. package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
  78. package/dist/components/FormRenderer/onPageAction.js +26 -35
  79. package/dist/components/FormRenderer/onPageAction.test.js +177 -186
  80. package/dist/components/FormRenderer/onTaskAction.js +11 -12
  81. package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
  82. package/dist/components/PageActions/ActionButton.js +14 -14
  83. package/dist/components/PageActions/ActionButton.test.js +57 -79
  84. package/dist/components/PageActions/PageActions.js +11 -11
  85. package/dist/components/PageActions/PageActions.test.js +87 -116
  86. package/dist/components/PageActions/index.js +1 -1
  87. package/dist/components/SummaryList/GroupAction.js +10 -18
  88. package/dist/components/SummaryList/GroupAction.test.js +38 -34
  89. package/dist/components/SummaryList/RowAction.js +12 -17
  90. package/dist/components/SummaryList/RowAction.test.js +38 -34
  91. package/dist/components/SummaryList/SummaryList.js +23 -25
  92. package/dist/components/SummaryList/SummaryList.test.js +162 -189
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
  94. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  95. package/dist/components/SummaryList/SummaryListRow.js +7 -5
  96. package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  98. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  100. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
  101. package/dist/components/SummaryList/helpers/index.js +2 -2
  102. package/dist/components/SummaryList/index.js +1 -1
  103. package/dist/components/TaskList/Task.js +20 -30
  104. package/dist/components/TaskList/Task.test.js +84 -77
  105. package/dist/components/TaskList/TaskList.js +56 -79
  106. package/dist/components/TaskList/TaskList.test.js +149 -149
  107. package/dist/components/TaskList/TaskState.js +8 -6
  108. package/dist/components/TaskList/TaskState.test.js +53 -46
  109. package/dist/components/TaskList/index.js +1 -1
  110. package/dist/components/index.js +8 -8
  111. package/dist/context/HooksContext/HooksContext.js +56 -79
  112. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  113. package/dist/context/HooksContext/index.js +3 -4
  114. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  115. package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
  116. package/dist/context/ValidationContext/index.js +3 -4
  117. package/dist/context/index.js +3 -3
  118. package/dist/hooks/index.js +10 -11
  119. package/dist/hooks/useAxios.js +15 -41
  120. package/dist/hooks/useGetRequest.js +62 -98
  121. package/dist/hooks/useHooks.js +1 -3
  122. package/dist/hooks/useRefData.js +25 -37
  123. package/dist/hooks/useValidation.js +1 -3
  124. package/dist/index.js +14 -15
  125. package/dist/models/CollectionLabels.js +1 -1
  126. package/dist/models/ComponentTypes.js +25 -25
  127. package/dist/models/EventTypes.js +4 -4
  128. package/dist/models/FormPages.js +4 -4
  129. package/dist/models/FormTypes.js +8 -8
  130. package/dist/models/HubFormats.js +3 -3
  131. package/dist/models/PageAction.js +44 -38
  132. package/dist/models/TaskStates.js +29 -28
  133. package/dist/models/index.js +10 -10
  134. package/dist/setupTests.js +30 -31
  135. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  136. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  137. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
  138. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
  139. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
  140. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
  141. package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
  142. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  143. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
  144. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
  147. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
  148. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
  149. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
  150. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  151. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
  152. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
  153. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
  154. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
  155. package/dist/utils/CheckYourAnswers/index.js +2 -2
  156. package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
  157. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  158. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  159. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  160. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  161. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
  162. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
  163. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
  164. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  165. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  166. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  167. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  168. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  169. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  170. package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
  171. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  172. package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
  173. package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
  174. package/dist/utils/CollectionPage/index.js +2 -2
  175. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
  176. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
  177. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  178. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  179. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  180. package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
  181. package/dist/utils/Component/addShowWhen.js +5 -6
  182. package/dist/utils/Component/addShowWhen.test.js +38 -38
  183. package/dist/utils/Component/applyToComponentTree.js +12 -15
  184. package/dist/utils/Component/applyToComponentTree.test.js +28 -31
  185. package/dist/utils/Component/cleanAttributes.js +12 -11
  186. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  187. package/dist/utils/Component/elevateNestedComponents.js +6 -6
  188. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  189. package/dist/utils/Component/getComponent.js +79 -85
  190. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  191. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
  192. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  193. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
  194. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  195. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  196. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
  197. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
  198. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  199. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  200. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  202. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
  203. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  204. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  206. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  208. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
  209. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
  210. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  211. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  212. package/dist/utils/Component/getDefaultValue.js +7 -9
  213. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  214. package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
  215. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  216. package/dist/utils/Component/index.js +2 -2
  217. package/dist/utils/Component/isEditable.js +2 -4
  218. package/dist/utils/Component/isEditable.test.js +14 -15
  219. package/dist/utils/Component/optionIsSelected.js +2 -4
  220. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  221. package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
  222. package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
  223. package/dist/utils/Component/showComponent.js +2 -2
  224. package/dist/utils/Component/showComponent.test.js +29 -29
  225. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  226. package/dist/utils/Condition/index.js +2 -2
  227. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  228. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  229. package/dist/utils/Condition/meetsCondition.js +17 -26
  230. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  231. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  232. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  233. package/dist/utils/Condition/setupConditions.js +12 -15
  234. package/dist/utils/Condition/setupConditions.test.js +8 -8
  235. package/dist/utils/Container/getEditableComponents.js +4 -6
  236. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  237. package/dist/utils/Container/index.js +2 -2
  238. package/dist/utils/Container/setupNesting.js +14 -15
  239. package/dist/utils/Container/setupNesting.test.js +20 -23
  240. package/dist/utils/Container/showContainer.js +4 -8
  241. package/dist/utils/Container/showContainer.test.js +31 -31
  242. package/dist/utils/Data/applyFormula.js +30 -44
  243. package/dist/utils/Data/applyFormula.test.js +21 -21
  244. package/dist/utils/Data/deleteValues.js +4 -8
  245. package/dist/utils/Data/deleteValues.test.js +11 -11
  246. package/dist/utils/Data/getAutocompleteSource.js +72 -63
  247. package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
  248. package/dist/utils/Data/getDataPath.js +18 -28
  249. package/dist/utils/Data/getDataPath.test.js +13 -13
  250. package/dist/utils/Data/getOptions.js +35 -42
  251. package/dist/utils/Data/getOptions.test.js +37 -38
  252. package/dist/utils/Data/getSourceData.js +6 -19
  253. package/dist/utils/Data/getSourceData.test.js +85 -81
  254. package/dist/utils/Data/index.js +2 -2
  255. package/dist/utils/Data/nestInRefdataOptions.js +9 -12
  256. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  257. package/dist/utils/Data/refDataToOptions.js +9 -10
  258. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  259. package/dist/utils/Data/setDataItem.js +7 -8
  260. package/dist/utils/Data/setDataItem.test.js +38 -38
  261. package/dist/utils/Data/setupFormData.js +13 -20
  262. package/dist/utils/Data/setupFormData.test.js +48 -47
  263. package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
  264. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
  265. package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
  266. package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
  267. package/dist/utils/FormPage/getConditionalText.js +4 -4
  268. package/dist/utils/FormPage/getConditionalText.test.js +30 -30
  269. package/dist/utils/FormPage/getFormPage.js +12 -15
  270. package/dist/utils/FormPage/getFormPage.test.js +23 -24
  271. package/dist/utils/FormPage/getFormPages.js +8 -11
  272. package/dist/utils/FormPage/getFormPages.test.js +15 -16
  273. package/dist/utils/FormPage/getPageActions.js +10 -13
  274. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  275. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  276. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  277. package/dist/utils/FormPage/index.js +3 -5
  278. package/dist/utils/FormPage/showFormPage.js +4 -8
  279. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  280. package/dist/utils/FormPage/showFormPageCYA.js +2 -2
  281. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  282. package/dist/utils/FormPage/useComponent.js +15 -23
  283. package/dist/utils/FormPage/useComponent.test.js +49 -50
  284. package/dist/utils/Format/formatData.js +1 -1
  285. package/dist/utils/Format/formatData.test.js +19 -19
  286. package/dist/utils/Format/formatDataForComponent.js +6 -7
  287. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  288. package/dist/utils/Format/formatDataForForm.js +5 -6
  289. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  290. package/dist/utils/Format/formatDataForPage.js +4 -5
  291. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  292. package/dist/utils/Format/index.js +2 -2
  293. package/dist/utils/Hub/getFormHub.js +2 -2
  294. package/dist/utils/Hub/getFormHub.test.js +23 -24
  295. package/dist/utils/Hub/index.js +2 -2
  296. package/dist/utils/Meta/constants.js +2 -2
  297. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  298. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  299. package/dist/utils/Meta/documents/index.js +2 -2
  300. package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
  301. package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
  302. package/dist/utils/Meta/index.js +2 -2
  303. package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
  304. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  305. package/dist/utils/Operate/deleteValueInFormData.js +2 -2
  306. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  307. package/dist/utils/Operate/getFirstOf.js +6 -6
  308. package/dist/utils/Operate/getFirstOf.test.js +32 -32
  309. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
  310. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  311. package/dist/utils/Operate/getLength.js +9 -9
  312. package/dist/utils/Operate/getLength.test.js +19 -19
  313. package/dist/utils/Operate/index.js +2 -2
  314. package/dist/utils/Operate/persistValueInFormData.js +4 -4
  315. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  316. package/dist/utils/Operate/runPageOperations.js +8 -8
  317. package/dist/utils/Operate/runPageOperations.test.js +24 -25
  318. package/dist/utils/Operate/setValueInFormData.js +3 -3
  319. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  320. package/dist/utils/Operate/shouldRun.js +7 -7
  321. package/dist/utils/Operate/shouldRun.test.js +22 -24
  322. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  323. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  324. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  325. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  326. package/dist/utils/Validate/additional/index.js +8 -8
  327. package/dist/utils/Validate/additional/index.test.js +22 -22
  328. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  330. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  331. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  332. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
  333. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
  334. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  336. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
  337. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  338. package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
  339. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  340. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  341. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  342. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  343. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  344. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  345. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  346. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  347. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  348. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  349. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  350. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  351. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
  352. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  353. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  354. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  355. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  356. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  357. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  358. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  359. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  360. package/dist/utils/Validate/additional/utils.js +9 -22
  361. package/dist/utils/Validate/index.js +2 -2
  362. package/dist/utils/Validate/validateCollection.js +18 -23
  363. package/dist/utils/Validate/validateCollection.test.js +75 -67
  364. package/dist/utils/Validate/validateComponent.js +19 -19
  365. package/dist/utils/Validate/validateComponent.test.js +179 -154
  366. package/dist/utils/Validate/validateContainer.js +14 -17
  367. package/dist/utils/Validate/validateContainer.test.js +59 -53
  368. package/dist/utils/Validate/validateDate.js +16 -22
  369. package/dist/utils/Validate/validateDate.test.js +31 -32
  370. package/dist/utils/Validate/validateEmail.js +7 -9
  371. package/dist/utils/Validate/validateEmail.test.js +27 -27
  372. package/dist/utils/Validate/validateMultifile.js +5 -7
  373. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  374. package/dist/utils/Validate/validatePage.js +13 -18
  375. package/dist/utils/Validate/validatePage.test.js +198 -195
  376. package/dist/utils/Validate/validateRegex.js +3 -5
  377. package/dist/utils/Validate/validateRegex.test.js +15 -15
  378. package/dist/utils/Validate/validateRequired.js +4 -6
  379. package/dist/utils/Validate/validateRequired.test.js +19 -19
  380. package/dist/utils/Validate/validateTextArea.js +4 -6
  381. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  382. package/dist/utils/Validate/validateTime.js +12 -19
  383. package/dist/utils/Validate/validateTime.test.js +27 -27
  384. package/dist/utils/index.js +5 -6
  385. package/package.json +2 -4
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _getAutocompleteSource = _interopRequireDefault(require("./getAutocompleteSource"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
5
  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; }
7
6
  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; }
8
- 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; }
9
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
- 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
11
- describe('utils', function () {
12
- describe('Data', function () {
13
- // test data
14
- var gbCurrency = {
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ describe('utils', () => {
11
+ describe('Data', () => {
12
+ const gbCurrency = {
15
13
  currencyName: 'Great British Pounds',
16
14
  currencyCode: 'GBP',
17
15
  hint: 'hint',
@@ -19,16 +17,16 @@ describe('utils', function () {
19
17
  label: 'GBP',
20
18
  slangTerm: 'quid'
21
19
  };
22
- var usCurrency = {
20
+ const usCurrency = {
23
21
  currencyName: 'United States Dollars',
24
22
  currencyCode: 'USD',
25
23
  hint: 'hint',
26
24
  value: 'USD',
27
25
  label: 'USD',
28
26
  slangTerm: 'bucks',
29
- synonyms: ['greenbacks']
27
+ synonyms: ['greenbacks', 11]
30
28
  };
31
- var options = {
29
+ const options = {
32
30
  alpha: {
33
31
  value: 'a',
34
32
  label: 'Alpha',
@@ -50,30 +48,30 @@ describe('utils', function () {
50
48
  hint: 'hint'
51
49
  }
52
50
  };
53
- var testCurrencies = [gbCurrency, usCurrency];
54
- describe('getAutocompleteSource', function () {
55
- it('should handle a null config', function () {
56
- var SOURCE = (0, _getAutocompleteSource.default)(null);
51
+ const testCurrencies = [gbCurrency, usCurrency];
52
+ describe('getAutocompleteSource', () => {
53
+ it('should handle a null config', () => {
54
+ const SOURCE = (0, _getAutocompleteSource.default)(null);
57
55
  expect(typeof SOURCE === 'function').toBeTruthy();
58
- SOURCE('query', function (results) {
56
+ SOURCE('query', results => {
59
57
  expect(Array.isArray(results)).toBeTruthy();
60
58
  expect(results.length).toEqual(0);
61
59
  });
62
60
  });
63
- describe('without custom item labels', function () {
64
- it('should get any specified options from the config', function () {
65
- var CONFIG = {
61
+ describe('without custom item labels', () => {
62
+ it('should get any specified options from the config', () => {
63
+ const CONFIG = {
66
64
  data: {
67
65
  options: [options.alpha, options.bravo]
68
66
  }
69
67
  };
70
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
68
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
71
69
  expect(typeof SOURCE === 'function').toBeTruthy();
72
- SOURCE('a', function (results) {
70
+ SOURCE('a', results => {
73
71
  expect(results.length).toEqual(2);
74
72
  expect(results).toEqual([options.alpha, options.bravo]);
75
73
  });
76
- SOURCE('al', function (results) {
74
+ SOURCE('al', results => {
77
75
  expect(results.length).toEqual(1);
78
76
  expect(results).toEqual([{
79
77
  value: 'a',
@@ -82,72 +80,93 @@ describe('utils', function () {
82
80
  }]);
83
81
  });
84
82
  });
85
- it('should handle an empty query', function () {
86
- var CONFIG = {
83
+ it('should only return first 6000 results that have some type of match', () => {
84
+ const moreThanMaxNumberOfOptions = Array(6001).fill(options.alpha);
85
+ const config = {
86
+ data: {
87
+ options: moreThanMaxNumberOfOptions
88
+ }
89
+ };
90
+ (0, _getAutocompleteSource.default)(config)(options.alpha.label, results => expect(results.length).toEqual(6000));
91
+ });
92
+ it('should handle an empty query', () => {
93
+ const CONFIG = {
94
+ data: {
95
+ options: [options.alpha, options.bravo]
96
+ }
97
+ };
98
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
99
+ SOURCE('', results => {
100
+ expect(results.length).toEqual(2);
101
+ expect(results).toEqual([options.alpha, options.bravo]);
102
+ });
103
+ });
104
+ it('should handle an undefined query', () => {
105
+ const CONFIG = {
87
106
  data: {
88
107
  options: [options.alpha, options.bravo]
89
108
  }
90
109
  };
91
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
92
- SOURCE('', function (results) {
110
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
111
+ SOURCE(undefined, results => {
93
112
  expect(results.length).toEqual(2);
94
113
  expect(results).toEqual([options.alpha, options.bravo]);
95
114
  });
96
115
  });
97
- it('should handle an undefined query', function () {
98
- var CONFIG = {
116
+ it('should handle a null query', () => {
117
+ const CONFIG = {
99
118
  data: {
100
119
  options: [options.alpha, options.bravo]
101
120
  }
102
121
  };
103
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
104
- SOURCE(undefined, function (results) {
122
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
123
+ SOURCE(null, results => {
105
124
  expect(results.length).toEqual(2);
106
125
  expect(results).toEqual([options.alpha, options.bravo]);
107
126
  });
108
127
  });
109
- it('should handle a null query', function () {
110
- var CONFIG = {
128
+ it('should handle a non string query', () => {
129
+ const CONFIG = {
111
130
  data: {
112
131
  options: [options.alpha, options.bravo]
113
132
  }
114
133
  };
115
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
116
- SOURCE(null, function (results) {
134
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
135
+ SOURCE(1, results => {
117
136
  expect(results.length).toEqual(2);
118
137
  expect(results).toEqual([options.alpha, options.bravo]);
119
138
  });
120
139
  });
121
- it('should handle a missing label on an option', function () {
122
- var CONFIG = {
140
+ it('should handle a missing label on an option', () => {
141
+ const CONFIG = {
123
142
  data: {
124
143
  options: [options.alpha, {
125
144
  value: 'b'
126
145
  }]
127
146
  }
128
147
  };
129
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
148
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
130
149
  expect(typeof SOURCE === 'function').toBeTruthy();
131
- SOURCE('a', function (results) {
150
+ SOURCE('a', results => {
132
151
  expect(results.length).toEqual(1);
133
152
  expect(results).toEqual([options.alpha]);
134
153
  });
135
154
  });
136
- it('should return matches in the right order', function () {
137
- var CONFIG = {
155
+ it('should return matches in the right order', () => {
156
+ const CONFIG = {
138
157
  data: {
139
158
  options: [options.alIncluded, options.alStart, options.bravo, options.alpha]
140
159
  }
141
160
  };
142
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
161
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
143
162
  expect(typeof SOURCE === 'function').toBeTruthy();
144
- SOURCE('al', function (results) {
163
+ SOURCE('al', results => {
145
164
  expect(results.length).toEqual(3);
146
165
  expect(results).toEqual([options.alpha, options.alStart, options.alIncluded]);
147
166
  });
148
167
  });
149
- it('should match options using a defined synonym', function () {
150
- var CONFIG = {
168
+ it('should match options using a defined synonym', () => {
169
+ const CONFIG = {
151
170
  data: {
152
171
  options: [_objectSpread(_objectSpread({}, options.alpha), {}, {
153
172
  synonyms: ['first']
@@ -156,9 +175,9 @@ describe('utils', function () {
156
175
  }]
157
176
  }
158
177
  };
159
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
178
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
160
179
  expect(typeof SOURCE === 'function').toBeTruthy();
161
- SOURCE('first', function (results) {
180
+ SOURCE('first', results => {
162
181
  expect(results.length).toEqual(1);
163
182
  expect(results).toEqual([_objectSpread(_objectSpread({}, options.alpha), {}, {
164
183
  synonyms: ['first']
@@ -166,91 +185,86 @@ describe('utils', function () {
166
185
  });
167
186
  });
168
187
  });
169
- describe('with custom item labels', function () {
170
- it('should get any specified options from the config', function () {
171
- var CONFIG = {
188
+ describe('with custom item labels', () => {
189
+ it('should get any specified options from the config', () => {
190
+ const CONFIG = {
172
191
  item: {
173
192
  value: 'currencyCode',
174
193
  label: 'currencyCode',
175
- // eslint-disable-next-line no-template-curly-in-string
176
- format: '${currencyName} (${currencyCode})'
194
+ format: "${currencyName} (${currencyCode})"
177
195
  },
178
196
  data: {
179
197
  options: testCurrencies
180
198
  }
181
199
  };
182
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
200
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
183
201
  expect(typeof SOURCE === 'function').toBeTruthy();
184
- SOURCE('GB', function (results) {
202
+ SOURCE('GB', results => {
185
203
  expect(results.length).toEqual(1);
186
204
  expect(results).toEqual([gbCurrency]);
187
205
  });
188
- SOURCE(' (', function (results) {
206
+ SOURCE(' (', results => {
189
207
  expect(results.length).toEqual(2);
190
208
  expect(results).toEqual(testCurrencies);
191
209
  });
192
210
  });
193
- it('should handle an empty query', function () {
194
- var CONFIG = {
211
+ it('should handle an empty query', () => {
212
+ const CONFIG = {
195
213
  item: {
196
214
  value: 'currencyCode',
197
215
  label: 'currencyCode',
198
- // eslint-disable-next-line no-template-curly-in-string
199
- format: '${currencyName} (${currencyCode})'
216
+ format: "${currencyName} (${currencyCode})"
200
217
  },
201
218
  data: {
202
219
  options: testCurrencies
203
220
  }
204
221
  };
205
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
206
- SOURCE('', function (results) {
222
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
223
+ SOURCE('', results => {
207
224
  expect(results.length).toEqual(2);
208
225
  expect(results).toEqual(testCurrencies);
209
226
  });
210
227
  });
211
- it('should handle an undefined query', function () {
212
- var CONFIG = {
228
+ it('should handle an undefined query', () => {
229
+ const CONFIG = {
213
230
  item: {
214
231
  value: 'currencyCode',
215
232
  label: 'currencyCode',
216
- // eslint-disable-next-line no-template-curly-in-string
217
- format: '${currencyName} (${currencyCode})'
233
+ format: "${currencyName} (${currencyCode})"
218
234
  },
219
235
  data: {
220
236
  options: testCurrencies
221
237
  }
222
238
  };
223
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
224
- SOURCE(undefined, function (results) {
239
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
240
+ SOURCE(undefined, results => {
225
241
  expect(results.length).toEqual(2);
226
242
  expect(results).toEqual(testCurrencies);
227
243
  });
228
244
  });
229
- it('should handle a null query', function () {
230
- var CONFIG = {
245
+ it('should handle a null query', () => {
246
+ const CONFIG = {
231
247
  item: {
232
248
  value: 'currencyCode',
233
249
  label: 'currencyCode',
234
- // eslint-disable-next-line no-template-curly-in-string
235
- format: '${currencyName} (${currencyCode})'
250
+ format: "${currencyName} (${currencyCode})"
236
251
  },
237
252
  data: {
238
253
  options: testCurrencies
239
254
  }
240
255
  };
241
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
242
- SOURCE(null, function (results) {
256
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
257
+ SOURCE(null, results => {
243
258
  expect(results.length).toEqual(2);
244
259
  expect(results).toEqual(testCurrencies);
245
260
  });
246
261
  });
247
- it('should handle a missing label on an option', function () {
248
- var CONFIG = {
262
+ it('should handle a missing label on an option', () => {
263
+ const CONFIG = {
249
264
  item: {
250
265
  value: 'currencyCode',
251
266
  label: 'currencyCode',
252
- // eslint-disable-next-line no-template-curly-in-string
253
- format: '${currencyName} (${currencyCode})'
267
+ format: "${currencyName} (${currencyCode})"
254
268
  },
255
269
  data: {
256
270
  options: [gbCurrency, {
@@ -261,9 +275,9 @@ describe('utils', function () {
261
275
  }]
262
276
  }
263
277
  };
264
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
278
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
265
279
  expect(typeof SOURCE === 'function').toBeTruthy();
266
- SOURCE('a', function (results) {
280
+ SOURCE('a', results => {
267
281
  // We expect 2 results here instead of 1 because defining a custom
268
282
  // format for item labels means the label is constructed upon processing
269
283
  // a query - we're not relying on the 'label' field of the option.
@@ -277,47 +291,41 @@ describe('utils', function () {
277
291
  }]);
278
292
  });
279
293
  });
280
- it('should match options using a defined synonym', function () {
281
- var CONFIG = {
294
+ it('should match options using a defined synonym', () => {
295
+ const CONFIG = {
282
296
  item: {
283
297
  value: 'currencyCode',
284
298
  label: 'currencyCode',
285
- // eslint-disable-next-line no-template-curly-in-string
286
- format: '${currencyName} (${currencyCode})'
299
+ format: "${currencyName} (${currencyCode})"
287
300
  },
288
301
  data: {
289
302
  options: testCurrencies
290
303
  }
291
304
  };
292
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
305
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
293
306
  expect(typeof SOURCE === 'function').toBeTruthy();
294
- SOURCE('greenbacks', function (results) {
307
+ SOURCE('greenbacks', results => {
295
308
  expect(results.length).toEqual(1);
296
- expect(results).toEqual(testCurrencies.filter(function (c) {
297
- return c.currencyCode === 'USD';
298
- }));
309
+ expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
299
310
  });
300
311
  });
301
- it('should match options using defined extra searchable fields', function () {
302
- var CONFIG = {
312
+ it('should match options using defined extra searchable fields', () => {
313
+ const CONFIG = {
303
314
  item: {
304
315
  value: 'currencyCode',
305
316
  label: 'currencyCode',
306
- // eslint-disable-next-line no-template-curly-in-string
307
- format: '${currencyName} (${currencyCode})',
308
- extraFieldsToSearch: ['slangTerm']
317
+ format: "${currencyName} (${currencyCode})",
318
+ extraFieldsToSearch: ['slangTerm', null]
309
319
  },
310
320
  data: {
311
321
  options: testCurrencies
312
322
  }
313
323
  };
314
- var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
324
+ const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
315
325
  expect(typeof SOURCE === 'function').toBeTruthy();
316
- SOURCE('buc', function (results) {
326
+ SOURCE('buc', results => {
317
327
  expect(results.length).toEqual(1);
318
- expect(results).toEqual(testCurrencies.filter(function (c) {
319
- return c.currencyCode === 'USD';
320
- }));
328
+ expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
321
329
  });
322
330
  });
323
331
  });
@@ -4,46 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var DOT = '.';
8
- var SLASH = '/';
9
- var DOT_DOT = "".concat(DOT).concat(DOT);
10
- var PARENT_PATH = "".concat(DOT).concat(SLASH);
11
- var toPath = function toPath(arr) {
12
- return arr.join(DOT);
13
- };
14
- var toParts = function toParts(str) {
15
- var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DOT;
7
+ const DOT = '.';
8
+ const SLASH = '/';
9
+ const DOT_DOT = "".concat(DOT).concat(DOT);
10
+ const PARENT_PATH = "".concat(DOT).concat(SLASH);
11
+ const toPath = arr => arr.join(DOT);
12
+ const toParts = function (str) {
13
+ let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DOT;
16
14
  return str.split(separator);
17
15
  };
18
- var isDotDot = function isDotDot(str) {
19
- return str === DOT_DOT;
20
- };
21
- var isDotOrDotDot = function isDotOrDotDot(str) {
22
- return [DOT, DOT_DOT].indexOf(str) > -1;
23
- };
24
- var isRelativePath = function isRelativePath(path) {
25
- return path && path.indexOf(DOT) === 0;
26
- };
27
- var standardiseRelativePath = function standardiseRelativePath(path) {
16
+ const isDotDot = str => str === DOT_DOT;
17
+ const isDotOrDotDot = str => [DOT, DOT_DOT].indexOf(str) > -1;
18
+ const isRelativePath = path => path && path.indexOf(DOT) === 0;
19
+ const standardiseRelativePath = path => {
28
20
  if (path.indexOf(PARENT_PATH) === 0) {
29
21
  return path;
30
22
  }
31
23
  return "".concat(PARENT_PATH).concat(path);
32
24
  };
33
- var ascendPath = function ascendPath(startPath, ascent) {
34
- var relativePath = standardiseRelativePath(ascent);
25
+ const ascendPath = (startPath, ascent) => {
26
+ const relativePath = standardiseRelativePath(ascent);
35
27
  // Always add 1 because we're starting on a leaf node within a "directory".
36
- var stepsToClimb = toParts(relativePath, SLASH).filter(isDotDot).length + 1;
37
- var pathParts = startPath ? toParts(startPath) : [];
28
+ const stepsToClimb = toParts(relativePath, SLASH).filter(isDotDot).length + 1;
29
+ const pathParts = startPath ? toParts(startPath) : [];
38
30
  if (stepsToClimb >= pathParts.length) {
39
31
  return '';
40
32
  }
41
33
  return toPath(pathParts.slice(0, -stepsToClimb));
42
34
  };
43
- var descendPath = function descendPath(startPath, descent) {
44
- var stepsDown = toParts(descent, SLASH).filter(function (str) {
45
- return !isDotOrDotDot(str);
46
- });
35
+ const descendPath = (startPath, descent) => {
36
+ const stepsDown = toParts(descent, SLASH).filter(str => !isDotOrDotDot(str));
47
37
  return startPath ? "".concat(startPath, ".").concat(toPath(stepsDown)) : toPath(stepsDown);
48
38
  };
49
39
 
@@ -66,7 +56,7 @@ var descendPath = function descendPath(startPath, descent) {
66
56
  * getDataPath('../../relative.path', 'this.is.the.current.path');
67
57
  * // => 'this.is.relative.path'
68
58
  */
69
- var getDataPath = function getDataPath(path, currentPath) {
59
+ const getDataPath = (path, currentPath) => {
70
60
  if (isRelativePath(path)) {
71
61
  return descendPath(ascendPath(currentPath, path), path);
72
62
  }
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _getDataPath = _interopRequireDefault(require("./getDataPath"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.Data.getDataPath', function () {
6
- var CURRENT_PATH = 'this.is.the.current.path';
7
- var RELATIVE = 'relative.path';
8
- var ABSOLUTE = 'absolute.path';
9
- var doTest = function doTest(path, currentPath, expected) {
4
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
+ describe('utils.Data.getDataPath', () => {
6
+ const CURRENT_PATH = 'this.is.the.current.path';
7
+ const RELATIVE = 'relative.path';
8
+ const ABSOLUTE = 'absolute.path';
9
+ const doTest = (path, currentPath, expected) => {
10
10
  expect((0, _getDataPath.default)(path, currentPath)).toEqual(expected);
11
11
  };
12
- it("should return an absolute path appropriately", function () {
12
+ it("should return an absolute path appropriately", () => {
13
13
  doTest(ABSOLUTE, CURRENT_PATH, ABSOLUTE);
14
14
  });
15
- it("should return an absolute path appropriately where the current path is null", function () {
15
+ it("should return an absolute path appropriately where the current path is null", () => {
16
16
  doTest(ABSOLUTE, null, ABSOLUTE);
17
17
  });
18
18
  [{
@@ -31,18 +31,18 @@ describe('utils.Data.getDataPath', function () {
31
31
  p: "../../../../../../../".concat(RELATIVE),
32
32
  e: RELATIVE,
33
33
  d: 'an inappropriately nested node'
34
- }].forEach(function (test) {
35
- it("should return ".concat(test.d, " appropriately"), function () {
34
+ }].forEach(test => {
35
+ it("should return ".concat(test.d, " appropriately"), () => {
36
36
  doTest(test.p, CURRENT_PATH, test.e);
37
37
  });
38
- it("should return ".concat(test.d, " appropriately where the current path is null"), function () {
38
+ it("should return ".concat(test.d, " appropriately where the current path is null"), () => {
39
39
  doTest(test.p, null, RELATIVE);
40
40
  });
41
41
  });
42
- it('should handle a null path and return null', function () {
42
+ it('should handle a null path and return null', () => {
43
43
  doTest(null, CURRENT_PATH, null);
44
44
  });
45
- it('should handle an undefined path and return undefined', function () {
45
+ it('should handle an undefined path and return undefined', () => {
46
46
  doTest(undefined, CURRENT_PATH, undefined);
47
47
  });
48
48
  });
@@ -7,41 +7,36 @@ exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _Condition = _interopRequireDefault(require("../Condition"));
9
9
  var _nestInRefdataOptions = _interopRequireDefault(require("./nestInRefdataOptions"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- 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 _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
11
  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; }
13
12
  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; }
14
- 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; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Global Imports
13
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
15
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Global Imports
17
16
  // Local Imports
18
- var interpolateOptions = function interpolateOptions(config, options) {
19
- return options.map(function (opt) {
20
- if (opt.show_when) {
21
- var result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
22
- if (!result) {
23
- return null;
24
- }
17
+ const interpolateOptions = (config, options) => options.map(opt => {
18
+ if (opt.show_when) {
19
+ const result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
20
+ if (!result) {
21
+ return null;
25
22
  }
26
- if (typeof opt === 'string') {
27
- return opt;
28
- }
29
- if (!opt.value) {
30
- return opt.label;
31
- }
32
- if (config.alternativeHintField) {
33
- // eslint-disable-next-line no-param-reassign
34
- opt.hint = opt[config.alternativeHintField];
35
- }
36
- return _objectSpread(_objectSpread({}, opt), {}, {
37
- value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
38
- label: _copReactComponents.Utils.interpolateString(opt.label, config.formData),
39
- hint: _copReactComponents.Utils.interpolateString(opt.hint, config.formData)
40
- });
41
- }).filter(function (n) {
42
- return n;
23
+ }
24
+ if (typeof opt === 'string') {
25
+ return opt;
26
+ }
27
+ if (!opt.value) {
28
+ return opt.label;
29
+ }
30
+ if (config.alternativeHintField) {
31
+ // eslint-disable-next-line no-param-reassign
32
+ opt.hint = opt[config.alternativeHintField];
33
+ }
34
+ return _objectSpread(_objectSpread({}, opt), {}, {
35
+ value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
36
+ label: _copReactComponents.Utils.interpolateString(opt.label, config.formData),
37
+ hint: _copReactComponents.Utils.interpolateString(opt.hint, config.formData)
43
38
  });
44
- };
39
+ }).filter(n => n);
45
40
 
46
41
  /**
47
42
  * Returns a list of options templated from a collection specified.
@@ -55,30 +50,28 @@ var interpolateOptions = function interpolateOptions(config, options) {
55
50
  * @param {*} collectionName
56
51
  * @returns
57
52
  */
58
- var getCollectionOptions = function getCollectionOptions(config, collectionName) {
59
- var collectionOptions = config.formData[collectionName].map(function (collection) {
60
- return {
61
- value: _copReactComponents.Utils.interpolateString(config.item.value, collection),
62
- label: _copReactComponents.Utils.interpolateString(config.item.label, collection),
63
- hint: _copReactComponents.Utils.interpolateString(config.item.hint, collection)
64
- };
65
- });
53
+ const getCollectionOptions = (config, collectionName) => {
54
+ const collectionOptions = config.formData[collectionName].map(collection => ({
55
+ value: _copReactComponents.Utils.interpolateString(config.item.value, collection),
56
+ label: _copReactComponents.Utils.interpolateString(config.item.label, collection),
57
+ hint: _copReactComponents.Utils.interpolateString(config.item.hint, collection)
58
+ }));
66
59
  if (config.data.options) {
67
60
  return [].concat(collectionOptions, config.data.options);
68
61
  }
69
62
  return collectionOptions;
70
63
  };
71
- var getOptions = function getOptions(config, callback) {
64
+ const getOptions = (config, callback) => {
72
65
  if (config) {
73
66
  var _config$data, _config$data3, _config$data4;
74
67
  if (config !== null && config !== void 0 && (_config$data = config.data) !== null && _config$data !== void 0 && _config$data.collection && config !== null && config !== void 0 && config.item) {
75
68
  var _config$data2;
76
- var combinedOptions = getCollectionOptions(config, config === null || config === void 0 || (_config$data2 = config.data) === null || _config$data2 === void 0 ? void 0 : _config$data2.collection);
69
+ const combinedOptions = getCollectionOptions(config, config === null || config === void 0 || (_config$data2 = config.data) === null || _config$data2 === void 0 ? void 0 : _config$data2.collection);
77
70
  return callback(interpolateOptions(config, combinedOptions));
78
71
  }
79
72
  if (config.options && config !== null && config !== void 0 && (_config$data3 = config.data) !== null && _config$data3 !== void 0 && _config$data3.options && config !== null && config !== void 0 && (_config$data4 = config.data) !== null && _config$data4 !== void 0 && _config$data4.url) {
80
- var _combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
81
- return callback(interpolateOptions(config, _combinedOptions));
73
+ const combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
74
+ return callback(interpolateOptions(config, combinedOptions));
82
75
  }
83
76
  if (config.options) {
84
77
  return callback(interpolateOptions(config, config.options));