@boomerang-io/carbon-addons-boomerang-react 4.6.11-beta.33 → 4.6.11-beta.35

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 (255) hide show
  1. package/README.md +162 -162
  2. package/dist/cjs/components/AboutPlatform/AboutPlatform.js +50 -50
  3. package/dist/cjs/components/AdvantageSideNav/AdvantageSideNav.js +218 -223
  4. package/dist/cjs/components/AutoSuggest/AutoSuggest.js +101 -101
  5. package/dist/cjs/components/Avatar/Avatar.js +18 -18
  6. package/dist/cjs/components/CheckboxList/CheckboxList.js +34 -34
  7. package/dist/cjs/components/ComboBox/ComboBox.js +103 -103
  8. package/dist/cjs/components/ComboBoxMultiSelect/ComboBoxMultiSelect.js +32 -32
  9. package/dist/cjs/components/ComboBoxMultiSelect/MultiSelect.js +208 -208
  10. package/dist/cjs/components/ComposedModal/ComposedModal.js +80 -80
  11. package/dist/cjs/components/ConfirmModal/ConfirmModal.js +43 -43
  12. package/dist/cjs/components/Creatable/Creatable.js +137 -137
  13. package/dist/cjs/components/DataDrivenInput/DataDrivenInput.js +226 -226
  14. package/dist/cjs/components/DateInput/DateInput.js +35 -35
  15. package/dist/cjs/components/DecisionButtons/DecisionButtons.js +61 -61
  16. package/dist/cjs/components/DelayedRender/DelayedRender.js +17 -17
  17. package/dist/cjs/components/DynamicFormik/DynamicFormik.js +578 -578
  18. package/dist/cjs/components/Error403/Error403.js +13 -13
  19. package/dist/cjs/components/Error403/ForbiddenErrorBackground.js +113 -113
  20. package/dist/cjs/components/Error403/GraphicWrangler/GraphicWrangler.js +62 -62
  21. package/dist/cjs/components/Error404/Error404.js +13 -13
  22. package/dist/cjs/components/Error404/GraphicLoch/GraphicLoch.js +17 -17
  23. package/dist/cjs/components/Error404/NotFoundErrorBackground.js +129 -129
  24. package/dist/cjs/components/ErrorBoundary/ErrorBoundary.js +32 -32
  25. package/dist/cjs/components/ErrorDragon/ErrorDragon.js +13 -13
  26. package/dist/cjs/components/ErrorDragon/assets/ErrorGraphic.js +35 -35
  27. package/dist/cjs/components/ErrorFullPage/ErrorFullPage.js +10 -10
  28. package/dist/cjs/components/ErrorMessage/ErrorMessage.js +22 -22
  29. package/dist/cjs/components/ErrorPage/ErrorPage.js +11 -11
  30. package/dist/cjs/components/ErrorPageCore/ErrorPageCore.js +15 -15
  31. package/dist/cjs/components/ErrorPageCore/GenericErrorBackground.js +124 -124
  32. package/dist/cjs/components/FeatureHeader/FeatureHeader.js +29 -29
  33. package/dist/cjs/components/FeatureNavTab/FeatureNavTab.js +12 -12
  34. package/dist/cjs/components/FeatureNavTabs/FeatureNavTabs.js +12 -12
  35. package/dist/cjs/components/FeatureSideNav/FeatureSideNav.js +12 -12
  36. package/dist/cjs/components/FeatureSideNav/FeatureSideNavFooter.js +8 -8
  37. package/dist/cjs/components/FeatureSideNav/FeatureSideNavHeader.js +8 -8
  38. package/dist/cjs/components/FeatureSideNav/FeatureSideNavLinks.js +14 -14
  39. package/dist/cjs/components/FeatureSideNavLink/FeatureSideNavLink.js +12 -12
  40. package/dist/cjs/components/Feedback/Feedback.js +37 -37
  41. package/dist/cjs/components/FlowModal/FlowModal.js +141 -141
  42. package/dist/cjs/components/FlowModal/FlowModalForm.js +12 -12
  43. package/dist/cjs/components/Header/Header.js +179 -179
  44. package/dist/cjs/components/Header/HeaderAppSwitcher.js +94 -94
  45. package/dist/cjs/components/Header/HeaderMenu.js +7 -7
  46. package/dist/cjs/components/Header/HeaderMenuItem.js +52 -52
  47. package/dist/cjs/components/Header/HeaderTeamSwitcher.js +305 -304
  48. package/dist/cjs/components/Header/UserRequests.js +29 -29
  49. package/dist/cjs/components/ImageModal/ImageModal.js +17 -17
  50. package/dist/cjs/components/Loading/Loading.js +8 -8
  51. package/dist/cjs/components/MemberBar/MemberBar.js +20 -20
  52. package/dist/cjs/components/Modal/Modal.js +20 -20
  53. package/dist/cjs/components/ModalConfirmEdit/ModalConfirmArray.js +14 -14
  54. package/dist/cjs/components/ModalConfirmEdit/ModalConfirmDetails.js +11 -11
  55. package/dist/cjs/components/ModalConfirmEdit/ModalConfirmEdit.js +17 -17
  56. package/dist/cjs/components/ModalForm/ModalForm.js +9 -9
  57. package/dist/cjs/components/Notifications/NotificationsContainer.js +22 -22
  58. package/dist/cjs/components/Notifications/ToastNotification.js +21 -21
  59. package/dist/cjs/components/Notifications/notify.js +17 -17
  60. package/dist/cjs/components/PlatformBanner/PlatformBanner.js +8 -8
  61. package/dist/cjs/components/PlatformNotifications/PlatformNotification.js +17 -17
  62. package/dist/cjs/components/PlatformNotifications/PlatformNotificationsContainer.js +136 -136
  63. package/dist/cjs/components/Portal/Portal.js +14 -14
  64. package/dist/cjs/components/PrivacyRedirect/PrivacyRedirect.js +30 -30
  65. package/dist/cjs/components/PrivacyStatement/PrivacyStatement.js +90 -90
  66. package/dist/cjs/components/ProfileSettings/ProfileSettings.js +124 -124
  67. package/dist/cjs/components/ProtectedRoute/ProtectedRoute.js +13 -13
  68. package/dist/cjs/components/RadioGroup/RadioGroup.js +33 -33
  69. package/dist/cjs/components/RichTextArea/RichTextArea.js +142 -142
  70. package/dist/cjs/components/SignOut/SignOut.js +27 -27
  71. package/dist/cjs/components/SupportCenter/SupportCenter.js +65 -65
  72. package/dist/cjs/components/TextArea/TextArea.js +16 -16
  73. package/dist/cjs/components/TextInput/TextInput.js +13 -13
  74. package/dist/cjs/components/Toggle/Toggle.js +22 -22
  75. package/dist/cjs/components/TooltipHover/TooltipHover.js +39 -39
  76. package/dist/cjs/components/UIShell/UIShell.js +95 -95
  77. package/dist/cjs/config/servicesConfig.js +21 -21
  78. package/dist/cjs/constants/DataDrivenInputTypes.js +74 -74
  79. package/dist/cjs/constants/UserType.js +13 -13
  80. package/dist/cjs/hooks/useHeaderMenu.js +49 -49
  81. package/dist/cjs/hooks/usePortal.js +74 -74
  82. package/dist/cjs/hooks/useWindowSize.js +33 -33
  83. package/dist/cjs/internal/ListBox/ListBox.js +41 -41
  84. package/dist/cjs/internal/ListBox/ListBoxField.js +19 -19
  85. package/dist/cjs/internal/ListBox/ListBoxMenu.js +19 -19
  86. package/dist/cjs/internal/ListBox/ListBoxMenuIcon.js +31 -31
  87. package/dist/cjs/internal/ListBox/ListBoxMenuItem.js +38 -38
  88. package/dist/cjs/internal/ListBox/ListBoxSelection.js +64 -64
  89. package/dist/cjs/internal/ListBox/index.js +10 -10
  90. package/dist/cjs/internal/keyboard/keys.js +16 -16
  91. package/dist/cjs/internal/keyboard/match.js +67 -67
  92. package/dist/cjs/internal/settings.js +5 -5
  93. package/dist/cjs/tools/accessibility.js +13 -13
  94. package/dist/cjs/tools/createPropAdapter.js +44 -44
  95. package/dist/cjs/tools/isUrl.js +39 -39
  96. package/dist/cjs/tools/setupGetInstanceId.js +20 -20
  97. package/dist/cjs/tools/useSetState.js +12 -12
  98. package/dist/cjs/tools/yupAst/astGenerator.js +212 -212
  99. package/dist/cjs/tools/yupAst/customValidators.js +17 -17
  100. package/dist/esm/components/AboutPlatform/AboutPlatform.js +50 -50
  101. package/dist/esm/components/AdvantageSideNav/AdvantageSideNav.js +218 -223
  102. package/dist/esm/components/AutoSuggest/AutoSuggest.js +101 -101
  103. package/dist/esm/components/Avatar/Avatar.js +18 -18
  104. package/dist/esm/components/CheckboxList/CheckboxList.js +34 -34
  105. package/dist/esm/components/ComboBox/ComboBox.js +103 -103
  106. package/dist/esm/components/ComboBoxMultiSelect/ComboBoxMultiSelect.js +32 -32
  107. package/dist/esm/components/ComboBoxMultiSelect/MultiSelect.js +208 -208
  108. package/dist/esm/components/ComposedModal/ComposedModal.js +80 -80
  109. package/dist/esm/components/ConfirmModal/ConfirmModal.js +43 -43
  110. package/dist/esm/components/Creatable/Creatable.js +137 -137
  111. package/dist/esm/components/DataDrivenInput/DataDrivenInput.js +226 -226
  112. package/dist/esm/components/DateInput/DateInput.js +35 -35
  113. package/dist/esm/components/DecisionButtons/DecisionButtons.js +61 -61
  114. package/dist/esm/components/DelayedRender/DelayedRender.js +17 -17
  115. package/dist/esm/components/DynamicFormik/DynamicFormik.js +578 -578
  116. package/dist/esm/components/Error403/Error403.js +13 -13
  117. package/dist/esm/components/Error403/ForbiddenErrorBackground.js +113 -113
  118. package/dist/esm/components/Error403/GraphicWrangler/GraphicWrangler.js +62 -62
  119. package/dist/esm/components/Error404/Error404.js +13 -13
  120. package/dist/esm/components/Error404/GraphicLoch/GraphicLoch.js +17 -17
  121. package/dist/esm/components/Error404/NotFoundErrorBackground.js +129 -129
  122. package/dist/esm/components/ErrorBoundary/ErrorBoundary.js +32 -32
  123. package/dist/esm/components/ErrorDragon/ErrorDragon.js +13 -13
  124. package/dist/esm/components/ErrorDragon/assets/ErrorGraphic.js +35 -35
  125. package/dist/esm/components/ErrorFullPage/ErrorFullPage.js +10 -10
  126. package/dist/esm/components/ErrorMessage/ErrorMessage.js +22 -22
  127. package/dist/esm/components/ErrorPage/ErrorPage.js +11 -11
  128. package/dist/esm/components/ErrorPageCore/ErrorPageCore.js +15 -15
  129. package/dist/esm/components/ErrorPageCore/GenericErrorBackground.js +124 -124
  130. package/dist/esm/components/FeatureHeader/FeatureHeader.js +29 -29
  131. package/dist/esm/components/FeatureNavTab/FeatureNavTab.js +12 -12
  132. package/dist/esm/components/FeatureNavTabs/FeatureNavTabs.js +12 -12
  133. package/dist/esm/components/FeatureSideNav/FeatureSideNav.js +12 -12
  134. package/dist/esm/components/FeatureSideNav/FeatureSideNavFooter.js +8 -8
  135. package/dist/esm/components/FeatureSideNav/FeatureSideNavHeader.js +8 -8
  136. package/dist/esm/components/FeatureSideNav/FeatureSideNavLinks.js +14 -14
  137. package/dist/esm/components/FeatureSideNavLink/FeatureSideNavLink.js +12 -12
  138. package/dist/esm/components/Feedback/Feedback.js +37 -37
  139. package/dist/esm/components/FlowModal/FlowModal.js +141 -141
  140. package/dist/esm/components/FlowModal/FlowModalForm.js +12 -12
  141. package/dist/esm/components/Header/Header.js +179 -179
  142. package/dist/esm/components/Header/HeaderAppSwitcher.js +94 -94
  143. package/dist/esm/components/Header/HeaderMenu.js +7 -7
  144. package/dist/esm/components/Header/HeaderMenuItem.js +52 -52
  145. package/dist/esm/components/Header/HeaderTeamSwitcher.js +307 -306
  146. package/dist/esm/components/Header/UserRequests.js +29 -29
  147. package/dist/esm/components/ImageModal/ImageModal.js +17 -17
  148. package/dist/esm/components/Loading/Loading.js +8 -8
  149. package/dist/esm/components/MemberBar/MemberBar.js +20 -20
  150. package/dist/esm/components/Modal/Modal.js +20 -20
  151. package/dist/esm/components/ModalConfirmEdit/ModalConfirmArray.js +14 -14
  152. package/dist/esm/components/ModalConfirmEdit/ModalConfirmDetails.js +11 -11
  153. package/dist/esm/components/ModalConfirmEdit/ModalConfirmEdit.js +17 -17
  154. package/dist/esm/components/ModalForm/ModalForm.js +9 -9
  155. package/dist/esm/components/Notifications/NotificationsContainer.js +22 -22
  156. package/dist/esm/components/Notifications/ToastNotification.js +21 -21
  157. package/dist/esm/components/Notifications/notify.js +17 -17
  158. package/dist/esm/components/PlatformBanner/PlatformBanner.js +8 -8
  159. package/dist/esm/components/PlatformNotifications/PlatformNotification.js +17 -17
  160. package/dist/esm/components/PlatformNotifications/PlatformNotificationsContainer.js +136 -136
  161. package/dist/esm/components/Portal/Portal.js +14 -14
  162. package/dist/esm/components/PrivacyRedirect/PrivacyRedirect.js +30 -30
  163. package/dist/esm/components/PrivacyStatement/PrivacyStatement.js +90 -90
  164. package/dist/esm/components/ProfileSettings/ProfileSettings.js +124 -124
  165. package/dist/esm/components/ProtectedRoute/ProtectedRoute.js +13 -13
  166. package/dist/esm/components/RadioGroup/RadioGroup.js +33 -33
  167. package/dist/esm/components/RichTextArea/RichTextArea.js +142 -142
  168. package/dist/esm/components/SignOut/SignOut.js +27 -27
  169. package/dist/esm/components/SupportCenter/SupportCenter.js +65 -65
  170. package/dist/esm/components/TextArea/TextArea.js +16 -16
  171. package/dist/esm/components/TextInput/TextInput.js +13 -13
  172. package/dist/esm/components/Toggle/Toggle.js +22 -22
  173. package/dist/esm/components/TooltipHover/TooltipHover.js +39 -39
  174. package/dist/esm/components/UIShell/UIShell.js +95 -95
  175. package/dist/esm/config/servicesConfig.js +21 -21
  176. package/dist/esm/constants/DataDrivenInputTypes.js +74 -74
  177. package/dist/esm/constants/UserType.js +13 -13
  178. package/dist/esm/hooks/useHeaderMenu.js +49 -49
  179. package/dist/esm/hooks/usePortal.js +74 -74
  180. package/dist/esm/hooks/useWindowSize.js +33 -33
  181. package/dist/esm/internal/ListBox/ListBox.js +41 -41
  182. package/dist/esm/internal/ListBox/ListBoxField.js +19 -19
  183. package/dist/esm/internal/ListBox/ListBoxMenu.js +19 -19
  184. package/dist/esm/internal/ListBox/ListBoxMenuIcon.js +31 -31
  185. package/dist/esm/internal/ListBox/ListBoxMenuItem.js +38 -38
  186. package/dist/esm/internal/ListBox/ListBoxSelection.js +64 -64
  187. package/dist/esm/internal/ListBox/index.js +10 -10
  188. package/dist/esm/internal/keyboard/keys.js +16 -16
  189. package/dist/esm/internal/keyboard/match.js +67 -67
  190. package/dist/esm/internal/settings.js +5 -5
  191. package/dist/esm/tools/accessibility.js +13 -13
  192. package/dist/esm/tools/createPropAdapter.js +44 -44
  193. package/dist/esm/tools/isUrl.js +39 -39
  194. package/dist/esm/tools/setupGetInstanceId.js +20 -20
  195. package/dist/esm/tools/useSetState.js +12 -12
  196. package/dist/esm/tools/yupAst/astGenerator.js +212 -212
  197. package/dist/esm/tools/yupAst/customValidators.js +17 -17
  198. package/dist/types/index.d.ts +1345 -1341
  199. package/package.json +167 -167
  200. package/scss/components/AboutPlatform/_aboutPlatform.scss +139 -139
  201. package/scss/components/AdvantageSideNav/_advantageSideNav.scss +261 -261
  202. package/scss/components/AutoSuggest/_autoSuggest.scss +62 -62
  203. package/scss/components/Avatar/_avatar.scss +32 -32
  204. package/scss/components/CheckboxList/_checkboxList.scss +26 -26
  205. package/scss/components/ComboBox/_combobox.scss +23 -23
  206. package/scss/components/ComboBoxMultiSelect/_comboBoxMultiSelect.scss +53 -53
  207. package/scss/components/ConfirmModal/_confirmModal.scss +12 -12
  208. package/scss/components/Creatable/_creatable.scss +48 -48
  209. package/scss/components/DateInput/_dateInput.scss +36 -36
  210. package/scss/components/DecisionButtons/_decisionButtons.scss +132 -132
  211. package/scss/components/DynamicFormik/_dynamicFormik.scss +17 -17
  212. package/scss/components/ErrorBoundary/_errorBoundary.scss +12 -12
  213. package/scss/components/ErrorDragon/_errorDragon.scss +55 -55
  214. package/scss/components/ErrorMessage/_errorMessage.scss +43 -43
  215. package/scss/components/ErrorPage/_errorPage.scss +66 -66
  216. package/scss/components/ErrorPageCore/_errorPageCore.scss +73 -73
  217. package/scss/components/FeatureHeader/_featureHeader.scss +67 -67
  218. package/scss/components/FeatureNavTab/_featureNavTab.scss +27 -27
  219. package/scss/components/FeatureSideNav/_featureSideNav.scss +76 -76
  220. package/scss/components/FeatureSideNavLink/_featureSideNavLink.scss +49 -49
  221. package/scss/components/Feedback/_feedback.scss +46 -46
  222. package/scss/components/Header/_header.scss +179 -179
  223. package/scss/components/Header/_headerAppSwitcher.scss +117 -117
  224. package/scss/components/Header/_headerMenu.scss +30 -30
  225. package/scss/components/Header/_headerMenuItem.scss +65 -65
  226. package/scss/components/Header/_headerTeamSwitcher.scss +195 -195
  227. package/scss/components/Header/_userRequests.scss +36 -36
  228. package/scss/components/ImageModal/_imageModal.scss +51 -51
  229. package/scss/components/MemberBar/_memberBar.scss +99 -99
  230. package/scss/components/Modal/_modal.scss +163 -163
  231. package/scss/components/ModalConfirmEdit/_modalConfirmEdit.scss +113 -113
  232. package/scss/components/Notifications/_notifications.scss +57 -57
  233. package/scss/components/PlatformBanner/_platformBanner.scss +30 -30
  234. package/scss/components/PlatformNotifications/_platformNotifications.scss +230 -230
  235. package/scss/components/PrivacyRedirect/_privacyRedirect.scss +43 -43
  236. package/scss/components/PrivacyStatement/_privacyStatement.scss +137 -137
  237. package/scss/components/ProfileSettings/_profileSettings.scss +117 -117
  238. package/scss/components/ProtectedRoute/_protectedRoute.scss +32 -32
  239. package/scss/components/RadioGroup/_radioGroup.scss +46 -46
  240. package/scss/components/RichTextArea/_richTextArea.scss +82 -82
  241. package/scss/components/SignOut/_signOut.scss +51 -51
  242. package/scss/components/SupportCenter/_supportCenter.scss +16 -16
  243. package/scss/components/TextArea/_textArea.scss +19 -19
  244. package/scss/components/TextInput/_textInput.scss +26 -26
  245. package/scss/components/Toggle/_toggle.scss +80 -80
  246. package/scss/components/TooltipHover/_tooltip.scss +48 -48
  247. package/scss/global/_config.scss +14 -14
  248. package/scss/global/_tippy.scss +49 -49
  249. package/scss/global/index.scss +401 -401
  250. package/scss/global/themes/_boomerang.scss +184 -184
  251. package/scss/global/themes/_default.scss +79 -79
  252. package/scss/global/themes/_shell-tokens.scss +42 -42
  253. package/scss/global/utils/_animations.scss +15 -15
  254. package/scss/global/utils/_mixins.scss +67 -67
  255. package/scss/global/utils/index.scss +10 -10
@@ -2,26 +2,26 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- /*
6
- IBM Confidential
7
- 694970X, 69497O0
8
- © Copyright IBM Corp. 2022, 2024
9
- */
10
- /**
11
- * Copyright IBM Corp. 2016, 2018
12
- *
13
- * This source code is licensed under the Apache-2.0 license found in the
14
- * LICENSE file in the root directory of this source tree.
15
- */
16
- /**
17
- * Generic utility to initialize a method that will return a unique instance id
18
- * for a component.
19
- */
20
- function setupGetInstanceId() {
21
- let instanceId = 0;
22
- return function getInstanceId() {
23
- return ++instanceId;
24
- };
5
+ /*
6
+ IBM Confidential
7
+ 694970X, 69497O0
8
+ © Copyright IBM Corp. 2022, 2024
9
+ */
10
+ /**
11
+ * Copyright IBM Corp. 2016, 2018
12
+ *
13
+ * This source code is licensed under the Apache-2.0 license found in the
14
+ * LICENSE file in the root directory of this source tree.
15
+ */
16
+ /**
17
+ * Generic utility to initialize a method that will return a unique instance id
18
+ * for a component.
19
+ */
20
+ function setupGetInstanceId() {
21
+ let instanceId = 0;
22
+ return function getInstanceId() {
23
+ return ++instanceId;
24
+ };
25
25
  }
26
26
 
27
27
  exports.default = setupGetInstanceId;
@@ -4,18 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
 
7
- /*
8
- IBM Confidential
9
- 694970X, 69497O0
10
- © Copyright IBM Corp. 2022, 2024
11
- */
12
- // https://github.com/streamich/react-use/blob/master/src/useSetState.ts
13
- const useSetState = (initialState = {}) => {
14
- const [state, set] = React.useState(initialState);
15
- const setState = React.useCallback((patch) => {
16
- set((prevState) => Object.assign({}, prevState, patch instanceof Function ? patch(prevState) : patch));
17
- }, []);
18
- return [state, setState];
7
+ /*
8
+ IBM Confidential
9
+ 694970X, 69497O0
10
+ © Copyright IBM Corp. 2022, 2024
11
+ */
12
+ // https://github.com/streamich/react-use/blob/master/src/useSetState.ts
13
+ const useSetState = (initialState = {}) => {
14
+ const [state, set] = React.useState(initialState);
15
+ const setState = React.useCallback((patch) => {
16
+ set((prevState) => Object.assign({}, prevState, patch instanceof Function ? patch(prevState) : patch));
17
+ }, []);
18
+ return [state, setState];
19
19
  };
20
20
 
21
21
  exports.default = useSetState;
@@ -23,218 +23,218 @@ function _interopNamespace(e) {
23
23
 
24
24
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
25
25
 
26
- /*
27
- IBM Confidential
28
- 694970X, 69497O0
29
- © Copyright IBM Corp. 2022, 2024
30
- */
31
- // @ts-nocheck
32
- class ValidationError {
33
- message;
34
- constructor(message) {
35
- this.message = message;
36
- }
37
- }
38
- /**
39
- * Searches for {substring} in {string}.
40
- * If found, returns the {string}, sliced after substring.
41
- *
42
- * @param {string} string - String to be sliced.
43
- * @param {string} substring - String to search for.
44
- * @returns {string|null} Null if no match found.
45
- */
46
- function getSubString(string, substring) {
47
- if (!string)
48
- return null;
49
- const testedIndex = string.indexOf(substring);
50
- if (testedIndex > -1) {
51
- return string.slice(testedIndex + substring.length);
52
- }
53
- return null;
54
- }
55
- /**
56
- * Returns a function from yup, by passing in a function name from our schema.
57
- * @param {string} functionName - The string to search for a function.
58
- * @param {Object} previousInstance - Object from previous validator result or yup itself.
59
- * @returns {Function} Either the found yup function or the default validator.
60
- */
61
- function getYupFunction(functionName, previousInstance = yup__namespace) {
62
- // Make sure we're dealing with a string
63
- if (functionName instanceof Array) {
64
- functionName = functionName[0];
65
- }
66
- // Attempt to retrieve any custom validators first
67
- const customValidator = customValidators.getCustomValidator(functionName);
68
- if (customValidator) {
69
- return customValidator;
70
- }
71
- const yupName = getSubString(functionName, "yup.");
72
- if (yupName && previousInstance[yupName] instanceof Function) {
73
- return previousInstance[yupName].bind(previousInstance);
74
- }
75
- if (yupName && yup__namespace[yupName] instanceof Function) {
76
- return yup__namespace[yupName].bind(yup__namespace);
77
- }
78
- throw new ValidationError(`Could not find validator ${functionName}`);
79
- }
80
- /**
81
- * Here we check to see if a passed array could be a prefix notation function.
82
- * @param {Array} item - Item to be checked.
83
- * @param {any} item.functionName - We'll check this, and perhaps it's a prefix function name.
84
- * @returns {boolean} True if we are actually looking at prefix notation.
85
- */
86
- function isPrefixNotation([functionName]) {
87
- if (functionName instanceof Array) {
88
- if (isPrefixNotation(functionName))
89
- return true;
90
- }
91
- if (typeof functionName !== "string")
92
- return false;
93
- if (functionName.indexOf("yup.") < 0)
94
- return false;
95
- return true;
96
- }
97
- /**
98
- * Ensure that the argument passed is an array.
99
- * @param {Any} maybeArray - To be checked.
100
- * @returns {Array} forced to array.
101
- */
102
- function ensureArray(maybeArray) {
103
- if (maybeArray instanceof Array === false) {
104
- return [maybeArray];
105
- }
106
- return maybeArray;
107
- }
108
- /**
109
- * Returns true if the passed item is a yup.Schema
110
- * @param {maybeSchema} item - Item to check
111
- */
112
- function isSchema(item) {
113
- return [
114
- // All possible yup schema types
115
- yup__namespace.mixed,
116
- yup__namespace.date,
117
- yup__namespace.array,
118
- yup__namespace.string,
119
- yup__namespace.number,
120
- yup__namespace.object,
121
- yup__namespace.bool,
122
- ].some((schemaType) => item instanceof schemaType);
123
- }
124
- /**
125
- * Converts an array of ['yup.number'] to yup.number().
126
- * @param {[Any]} arrayArgument - The validation array.
127
- * @param {Object} previousInstance - The result of a call to yup.number()
128
- * i.e. an object schema validation set
129
- * @returns {Function} generated yup validator
130
- */
131
- function convertArray(arrayArgument, previousInstance = yup__namespace) {
132
- const [functionName, ...argsToPass] = ensureArray(arrayArgument);
133
- // Handle the case when we have a previous instance
134
- // but we don't want to use it for this transformation
135
- // [['yup.array'], ['yup.of', [['yup.object'], ['yup.shape'] ...]]]
136
- if (functionName instanceof Array) {
137
- return transformArray(arrayArgument);
138
- }
139
- const gotFunc = getYupFunction(functionName, previousInstance);
140
- // Here we'll actually call the function
141
- // This might be something like yup.number().min(5)
142
- // We could be passing different types of arguments here
143
- // so we'll try to transform them before calling the function
144
- // yup.object().shape({ test: yup.string()}) should also be transformed
145
- const convertedArguments = transformAll(argsToPass, previousInstance);
146
- // Handle the case when we've got an array of empty elements
147
- if (convertedArguments instanceof Array) {
148
- if (convertedArguments.filter((i) => i).length < 1) {
149
- if (typeof gotFunc === "function") {
150
- return gotFunc();
151
- }
152
- if (isSchema(gotFunc)) {
153
- return gotFunc;
154
- }
155
- }
156
- // Spread the array over the function
157
- return gotFunc(...convertedArguments);
158
- }
159
- // Handle the case when we're passing another validator
160
- return gotFunc(convertedArguments);
161
- }
162
- /**
163
- * Transforms an array JSON schema to yup array schema.
164
- *
165
- * @param {Array} jsonArray - array in JSON to be transformed.
166
- * @returns {Array} Array with same keys, but values as yup validators.
167
- */
168
- function transformArray(jsonArray, previousInstance = yup__namespace) {
169
- let toReturn = convertArray(jsonArray[0]);
170
- jsonArray.slice(1).forEach((item) => {
171
- // Found an array, move to prefix extraction
172
- if (item instanceof Array) {
173
- toReturn = convertArray(item, toReturn);
174
- return;
175
- }
176
- // Found an object, move to object extraction
177
- if (item instanceof Object) {
178
- toReturn = transformObject(item, previousInstance);
179
- return;
180
- }
181
- // Handle an edge case where we have something like
182
- // [['yup.ref', 'linkName'], 'custom error'], and we don't want
183
- // to consume 'custom error as a variable yet'
184
- if (toReturn instanceof Array) {
185
- toReturn = toReturn.concat(item);
186
- return;
187
- }
188
- toReturn = [toReturn, item];
189
- });
190
- return toReturn;
191
- }
192
- /**
193
- * Transforms an object JSON schema to yup object schema.
194
- *
195
- * @param {Object} jsonObject - Object in JSON to be transformed.
196
- * @returns {Object} Object with same keys, but values as yup validators.
197
- */
198
- function transformObject(jsonObject, previousInstance = yup__namespace) {
199
- const toReturn = {};
200
- Object.entries(jsonObject).forEach(([key, value]) => {
201
- // Found an array move to array extraction
202
- if (value instanceof Array) {
203
- toReturn[key] = transformArray(value, previousInstance);
204
- return;
205
- }
206
- // Found an object recursive extraction
207
- if (value instanceof Object) {
208
- toReturn[key] = transformObject(value, previousInstance);
209
- return;
210
- }
211
- toReturn[key] = value;
212
- });
213
- return toReturn;
214
- }
215
- /**
216
- * Steps into arrays and objects and resolve the items inside to yup validators.
217
- * @param {Any} jsonObjectOrArray - Object to be transformed.
218
- * @returns {yup.Validator}
219
- */
220
- function transformAll(jsonObjectOrArray, previousInstance = yup__namespace) {
221
- // We're dealing with an array
222
- // This could be a prefix notation function
223
- // If so, we'll call the converter
224
- if (jsonObjectOrArray instanceof Array) {
225
- if (isPrefixNotation(jsonObjectOrArray)) {
226
- return transformArray(jsonObjectOrArray, previousInstance);
227
- }
228
- return jsonObjectOrArray.map((i) => transformAll(i, previousInstance));
229
- }
230
- // If we're dealing with an object
231
- // we should check each of the values for that object.
232
- // Some of them may also be prefix notation functiosn
233
- if (jsonObjectOrArray instanceof Object) {
234
- return transformObject(jsonObjectOrArray, previousInstance);
235
- }
236
- // No case here, just return anything else
237
- return jsonObjectOrArray;
26
+ /*
27
+ IBM Confidential
28
+ 694970X, 69497O0
29
+ © Copyright IBM Corp. 2022, 2024
30
+ */
31
+ // @ts-nocheck
32
+ class ValidationError {
33
+ message;
34
+ constructor(message) {
35
+ this.message = message;
36
+ }
37
+ }
38
+ /**
39
+ * Searches for {substring} in {string}.
40
+ * If found, returns the {string}, sliced after substring.
41
+ *
42
+ * @param {string} string - String to be sliced.
43
+ * @param {string} substring - String to search for.
44
+ * @returns {string|null} Null if no match found.
45
+ */
46
+ function getSubString(string, substring) {
47
+ if (!string)
48
+ return null;
49
+ const testedIndex = string.indexOf(substring);
50
+ if (testedIndex > -1) {
51
+ return string.slice(testedIndex + substring.length);
52
+ }
53
+ return null;
54
+ }
55
+ /**
56
+ * Returns a function from yup, by passing in a function name from our schema.
57
+ * @param {string} functionName - The string to search for a function.
58
+ * @param {Object} previousInstance - Object from previous validator result or yup itself.
59
+ * @returns {Function} Either the found yup function or the default validator.
60
+ */
61
+ function getYupFunction(functionName, previousInstance = yup__namespace) {
62
+ // Make sure we're dealing with a string
63
+ if (functionName instanceof Array) {
64
+ functionName = functionName[0];
65
+ }
66
+ // Attempt to retrieve any custom validators first
67
+ const customValidator = customValidators.getCustomValidator(functionName);
68
+ if (customValidator) {
69
+ return customValidator;
70
+ }
71
+ const yupName = getSubString(functionName, "yup.");
72
+ if (yupName && previousInstance[yupName] instanceof Function) {
73
+ return previousInstance[yupName].bind(previousInstance);
74
+ }
75
+ if (yupName && yup__namespace[yupName] instanceof Function) {
76
+ return yup__namespace[yupName].bind(yup__namespace);
77
+ }
78
+ throw new ValidationError(`Could not find validator ${functionName}`);
79
+ }
80
+ /**
81
+ * Here we check to see if a passed array could be a prefix notation function.
82
+ * @param {Array} item - Item to be checked.
83
+ * @param {any} item.functionName - We'll check this, and perhaps it's a prefix function name.
84
+ * @returns {boolean} True if we are actually looking at prefix notation.
85
+ */
86
+ function isPrefixNotation([functionName]) {
87
+ if (functionName instanceof Array) {
88
+ if (isPrefixNotation(functionName))
89
+ return true;
90
+ }
91
+ if (typeof functionName !== "string")
92
+ return false;
93
+ if (functionName.indexOf("yup.") < 0)
94
+ return false;
95
+ return true;
96
+ }
97
+ /**
98
+ * Ensure that the argument passed is an array.
99
+ * @param {Any} maybeArray - To be checked.
100
+ * @returns {Array} forced to array.
101
+ */
102
+ function ensureArray(maybeArray) {
103
+ if (maybeArray instanceof Array === false) {
104
+ return [maybeArray];
105
+ }
106
+ return maybeArray;
107
+ }
108
+ /**
109
+ * Returns true if the passed item is a yup.Schema
110
+ * @param {maybeSchema} item - Item to check
111
+ */
112
+ function isSchema(item) {
113
+ return [
114
+ // All possible yup schema types
115
+ yup__namespace.mixed,
116
+ yup__namespace.date,
117
+ yup__namespace.array,
118
+ yup__namespace.string,
119
+ yup__namespace.number,
120
+ yup__namespace.object,
121
+ yup__namespace.bool,
122
+ ].some((schemaType) => item instanceof schemaType);
123
+ }
124
+ /**
125
+ * Converts an array of ['yup.number'] to yup.number().
126
+ * @param {[Any]} arrayArgument - The validation array.
127
+ * @param {Object} previousInstance - The result of a call to yup.number()
128
+ * i.e. an object schema validation set
129
+ * @returns {Function} generated yup validator
130
+ */
131
+ function convertArray(arrayArgument, previousInstance = yup__namespace) {
132
+ const [functionName, ...argsToPass] = ensureArray(arrayArgument);
133
+ // Handle the case when we have a previous instance
134
+ // but we don't want to use it for this transformation
135
+ // [['yup.array'], ['yup.of', [['yup.object'], ['yup.shape'] ...]]]
136
+ if (functionName instanceof Array) {
137
+ return transformArray(arrayArgument);
138
+ }
139
+ const gotFunc = getYupFunction(functionName, previousInstance);
140
+ // Here we'll actually call the function
141
+ // This might be something like yup.number().min(5)
142
+ // We could be passing different types of arguments here
143
+ // so we'll try to transform them before calling the function
144
+ // yup.object().shape({ test: yup.string()}) should also be transformed
145
+ const convertedArguments = transformAll(argsToPass, previousInstance);
146
+ // Handle the case when we've got an array of empty elements
147
+ if (convertedArguments instanceof Array) {
148
+ if (convertedArguments.filter((i) => i).length < 1) {
149
+ if (typeof gotFunc === "function") {
150
+ return gotFunc();
151
+ }
152
+ if (isSchema(gotFunc)) {
153
+ return gotFunc;
154
+ }
155
+ }
156
+ // Spread the array over the function
157
+ return gotFunc(...convertedArguments);
158
+ }
159
+ // Handle the case when we're passing another validator
160
+ return gotFunc(convertedArguments);
161
+ }
162
+ /**
163
+ * Transforms an array JSON schema to yup array schema.
164
+ *
165
+ * @param {Array} jsonArray - array in JSON to be transformed.
166
+ * @returns {Array} Array with same keys, but values as yup validators.
167
+ */
168
+ function transformArray(jsonArray, previousInstance = yup__namespace) {
169
+ let toReturn = convertArray(jsonArray[0]);
170
+ jsonArray.slice(1).forEach((item) => {
171
+ // Found an array, move to prefix extraction
172
+ if (item instanceof Array) {
173
+ toReturn = convertArray(item, toReturn);
174
+ return;
175
+ }
176
+ // Found an object, move to object extraction
177
+ if (item instanceof Object) {
178
+ toReturn = transformObject(item, previousInstance);
179
+ return;
180
+ }
181
+ // Handle an edge case where we have something like
182
+ // [['yup.ref', 'linkName'], 'custom error'], and we don't want
183
+ // to consume 'custom error as a variable yet'
184
+ if (toReturn instanceof Array) {
185
+ toReturn = toReturn.concat(item);
186
+ return;
187
+ }
188
+ toReturn = [toReturn, item];
189
+ });
190
+ return toReturn;
191
+ }
192
+ /**
193
+ * Transforms an object JSON schema to yup object schema.
194
+ *
195
+ * @param {Object} jsonObject - Object in JSON to be transformed.
196
+ * @returns {Object} Object with same keys, but values as yup validators.
197
+ */
198
+ function transformObject(jsonObject, previousInstance = yup__namespace) {
199
+ const toReturn = {};
200
+ Object.entries(jsonObject).forEach(([key, value]) => {
201
+ // Found an array move to array extraction
202
+ if (value instanceof Array) {
203
+ toReturn[key] = transformArray(value, previousInstance);
204
+ return;
205
+ }
206
+ // Found an object recursive extraction
207
+ if (value instanceof Object) {
208
+ toReturn[key] = transformObject(value, previousInstance);
209
+ return;
210
+ }
211
+ toReturn[key] = value;
212
+ });
213
+ return toReturn;
214
+ }
215
+ /**
216
+ * Steps into arrays and objects and resolve the items inside to yup validators.
217
+ * @param {Any} jsonObjectOrArray - Object to be transformed.
218
+ * @returns {yup.Validator}
219
+ */
220
+ function transformAll(jsonObjectOrArray, previousInstance = yup__namespace) {
221
+ // We're dealing with an array
222
+ // This could be a prefix notation function
223
+ // If so, we'll call the converter
224
+ if (jsonObjectOrArray instanceof Array) {
225
+ if (isPrefixNotation(jsonObjectOrArray)) {
226
+ return transformArray(jsonObjectOrArray, previousInstance);
227
+ }
228
+ return jsonObjectOrArray.map((i) => transformAll(i, previousInstance));
229
+ }
230
+ // If we're dealing with an object
231
+ // we should check each of the values for that object.
232
+ // Some of them may also be prefix notation functiosn
233
+ if (jsonObjectOrArray instanceof Object) {
234
+ return transformObject(jsonObjectOrArray, previousInstance);
235
+ }
236
+ // No case here, just return anything else
237
+ return jsonObjectOrArray;
238
238
  }
239
239
 
240
240
  exports.transformAll = transformAll;
@@ -2,23 +2,23 @@
2
2
 
3
3
  var yup = require('yup');
4
4
 
5
- /*
6
- IBM Confidential
7
- 694970X, 69497O0
8
- © Copyright IBM Corp. 2022, 2024
9
- */
10
- const CUSTOM_VALIDATORS = {};
11
- function addCustomValidator(name, validator, binding = false) {
12
- if (binding !== false) {
13
- validator = validator.bind(binding);
14
- }
15
- CUSTOM_VALIDATORS[name] = validator;
16
- }
17
- function getCustomValidator(name) {
18
- return CUSTOM_VALIDATORS[name];
19
- }
20
- // Handle the case when we have an array of objects
21
- // but the previous instance of yup.shape is the yup.array
5
+ /*
6
+ IBM Confidential
7
+ 694970X, 69497O0
8
+ © Copyright IBM Corp. 2022, 2024
9
+ */
10
+ const CUSTOM_VALIDATORS = {};
11
+ function addCustomValidator(name, validator, binding = false) {
12
+ if (binding !== false) {
13
+ validator = validator.bind(binding);
14
+ }
15
+ CUSTOM_VALIDATORS[name] = validator;
16
+ }
17
+ function getCustomValidator(name) {
18
+ return CUSTOM_VALIDATORS[name];
19
+ }
20
+ // Handle the case when we have an array of objects
21
+ // but the previous instance of yup.shape is the yup.array
22
22
  addCustomValidator("yup.shape", yup.object().shape, yup.object());
23
23
 
24
24
  exports.addCustomValidator = addCustomValidator;