@boomerang-io/carbon-addons-boomerang-react 4.6.14-beta.9 → 4.6.15-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +221 -221
  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 +38 -38
  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 +187 -187
  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 +51 -51
  47. package/dist/cjs/components/Header/HeaderTeamSwitcher.js +329 -332
  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 -142
  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 +22 -22
  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 +221 -221
  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 +38 -38
  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 +187 -187
  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 +51 -51
  145. package/dist/esm/components/Header/HeaderTeamSwitcher.js +329 -332
  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 -142
  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 +22 -22
  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 +1359 -1360
  199. package/package.json +167 -167
  200. package/scss/components/AboutPlatform/_aboutPlatform.scss +139 -139
  201. package/scss/components/AdvantageSideNav/_advantageSideNav.scss +272 -272
  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 +50 -50
  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 +222 -222
  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
@@ -18,232 +18,232 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
18
 
19
19
  var React__default = /*#__PURE__*/_interopDefault(React);
20
20
 
21
- /*
22
- IBM Confidential
23
- 694970X, 69497O0
24
- © Copyright IBM Corp. 2022, 2024
25
- */
26
- function formatSelectOptions(options = []) {
27
- return options.map((option) => ({ label: option.value, value: option.key }));
28
- }
29
- function formatCheckBoxListOptions(options = []) {
30
- return options.map((option) => ({ labelText: option.value, id: option.key }));
31
- }
32
- function formatRadioGroupOptions(options = []) {
33
- return options.map((option) => ({
34
- labelText: option.value,
35
- value: option.key,
36
- }));
37
- }
38
- function validateRegex(pattern, value) {
39
- const regexTester = new RegExp(pattern);
40
- let hasError = false;
41
- if (Array.isArray(value))
42
- hasError = !value.every((val) => regexTester.test(val));
43
- else
44
- hasError = !regexTester.test(value);
45
- return hasError;
46
- }
47
- const determineInitialValues = (input) => {
48
- let value = "";
49
- const valueToCheck = input.value || input.defaultValue || input.values || input.defaultValues;
50
- if (valueToCheck) {
51
- switch (valueToCheck) {
52
- case "false": {
53
- value = false;
54
- break;
55
- }
56
- case "true": {
57
- value = true;
58
- break;
59
- }
60
- default: {
61
- value = valueToCheck;
62
- }
63
- }
64
- }
65
- return value;
66
- };
67
- function DataDrivenInput(props) {
68
- const { CheckboxList: CheckboxList$1 = CheckboxList.default, Creatable: Creatable$1 = Creatable.default, DateInput: DateInput$1 = DateInput.default, MultiSelect = ComboBoxMultiSelect.default, RadioGroup: RadioGroup$1 = RadioGroup.default, Select = ComboBox.default, TextArea: TextArea$1 = TextArea.default, TextEditor = TextArea.default, TextInput: TextInput$1 = TextInput.default, Toggle: Toggle$1 = Toggle.default, formikProps, ...inputProps } = props;
69
- const {
70
- // eslint-disable-next-line no-unused-vars
71
- conditionallyRender, customComponent, disabled, description = "", defaultValue, defaultValues, label, helperText = "", pattern, patternInvalidText, invalid, invalidText,
72
- // eslint-disable-next-line no-unused-vars
73
- invalidValues, key, governingOptions, governingDisabled, minValueLength, maxValueLength, onBlur, onChange, options, placeholder, readOnly, required,
74
- // eslint-disable-next-line no-unused-vars
75
- requiredForKey,
76
- // eslint-disable-next-line no-unused-vars
77
- requiredValueOf, type, value, values, ...restInputProps } = inputProps;
78
- let Component;
79
- let componentProps = {};
80
- let inputValue = value || values;
81
- let regexError = inputValue && Boolean(pattern) && validateRegex(pattern, inputValue);
82
- let invalidInput = regexError || invalid;
83
- let invalidTextMessage = regexError && patternInvalidText ? patternInvalidText : invalidText;
84
- React__default.default.useEffect(() => {
85
- // eslint-disable-next-line
86
- inputValue = determineInitialValues({
87
- value,
88
- values,
89
- defaultValue,
90
- defaultValues,
91
- });
92
- });
93
- const allInputProps = {
94
- id: key,
95
- name: key,
96
- key,
97
- disabled,
98
- helperText,
99
- label,
100
- onBlur,
101
- onChange,
102
- readOnly,
103
- required,
104
- tooltipContent: description,
105
- };
106
- if (Object.values(DataDrivenInputTypes.CHECKBOX_TYPES).includes(type)) {
107
- const checkboxOptions = formatCheckBoxListOptions(options);
108
- Component = CheckboxList$1;
109
- componentProps = {
110
- ...allInputProps,
111
- initialSelectedItems: inputValue,
112
- options: checkboxOptions,
113
- ...restInputProps,
114
- };
115
- }
116
- else if (Object.values(DataDrivenInputTypes.CREATABLE_TYPES).includes(type)) {
117
- Component = Creatable$1;
118
- componentProps = {
119
- ...allInputProps,
120
- createKeyValuePair: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR || type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE,
121
- nonDeletable: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_NON_DELETABLE ||
122
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE,
123
- invalid: invalidInput,
124
- invalidText: invalidTextMessage,
125
- placeholder,
126
- value: inputValue,
127
- ...restInputProps,
128
- };
129
- }
130
- else if (Object.values(DataDrivenInputTypes.DATE_TYPES).includes(type)) {
131
- Component = DateInput$1;
132
- componentProps = {
133
- ...allInputProps,
134
- invalid,
135
- invalidText,
136
- placeholder,
137
- type,
138
- value: inputValue,
139
- ...restInputProps,
140
- };
141
- }
142
- else if (Object.values(DataDrivenInputTypes.MULTI_SELECT_TYPES).includes(type)) {
143
- const items = formatSelectOptions(options);
144
- Component = MultiSelect;
145
- componentProps = {
146
- ...allInputProps,
147
- items,
148
- initialSelectedItems: Array.isArray(inputValue)
149
- ? items.filter((item) => inputValue.includes(item.value))
150
- : typeof inputValue === "string"
151
- ? inputValue
152
- : [],
153
- itemToString: (input) => input && input.label,
154
- invalid,
155
- invalidText,
156
- placeholder,
157
- ...restInputProps,
158
- };
159
- }
160
- else if (Object.values(DataDrivenInputTypes.RADIO_TYPES).includes(type)) {
161
- const radioOptions = formatRadioGroupOptions(options);
162
- Component = RadioGroup$1;
163
- componentProps = {
164
- ...allInputProps,
165
- options: radioOptions,
166
- valueSelected: inputValue,
167
- ...restInputProps,
168
- };
169
- }
170
- else if (Object.values(DataDrivenInputTypes.SELECT_TYPES).includes(type)) {
171
- const items = governingOptions || formatSelectOptions(options);
172
- const selectedItem = items.find((item) => item.value === value) ?? { label: "", value: "" };
173
- Component = Select;
174
- componentProps = {
175
- ...allInputProps,
176
- disabled: governingDisabled || disabled,
177
- invalid,
178
- invalidText,
179
- initialSelectedItem: selectedItem,
180
- selectedItem,
181
- itemToString: (input) => input && input.label,
182
- items,
183
- placeholder,
184
- ...restInputProps,
185
- };
186
- }
187
- else if (Object.values(DataDrivenInputTypes.TEXT_AREA_TYPES).includes(type)) {
188
- Component = TextArea$1;
189
- componentProps = {
190
- ...allInputProps,
191
- invalid: invalidInput,
192
- invalidText: invalidTextMessage,
193
- placeholder,
194
- value: inputValue,
195
- ...restInputProps,
196
- };
197
- }
198
- else if (type.startsWith(DataDrivenInputTypes.TEXT_EDITOR_TYPES.TEXT_EDITOR)) {
199
- Component = TextEditor;
200
- componentProps = {
201
- ...allInputProps,
202
- invalid: invalidInput,
203
- invalidText: invalidTextMessage,
204
- placeholder,
205
- value: inputValue,
206
- ...restInputProps,
207
- };
208
- }
209
- else if (Object.values(DataDrivenInputTypes.TEXT_INPUT_TYPES).includes(type)) {
210
- Component = TextInput$1;
211
- componentProps = {
212
- ...allInputProps,
213
- maxLength: maxValueLength,
214
- minLength: minValueLength,
215
- max: maxValueLength,
216
- min: minValueLength,
217
- invalid: invalidInput,
218
- invalidText: invalidTextMessage,
219
- placeholder,
220
- type: type === DataDrivenInputTypes.TEXT_INPUT_TYPES.SECURED ? DataDrivenInputTypes.TEXT_INPUT_TYPES.PASSWORD : type,
221
- value: inputValue,
222
- ...restInputProps,
223
- };
224
- }
225
- else if (Object.values(DataDrivenInputTypes.BOOLEAN_TYPES).includes(type)) {
226
- Component = Toggle$1;
227
- componentProps = {
228
- ...allInputProps,
229
- invalid,
230
- invalidText,
231
- onChange: undefined,
232
- onToggle: onChange,
233
- toggled: value === true || value === "true",
234
- ...restInputProps,
235
- };
236
- }
237
- if (customComponent) {
238
- Component = customComponent;
239
- return (React__default.default.createElement(Component, { ...allInputProps, ...componentProps, value: inputValue, ...restInputProps, formikProps: formikProps }));
240
- }
241
- else {
242
- if (Component) {
243
- return React__default.default.createElement(Component, { ...componentProps });
244
- }
245
- }
246
- return null;
21
+ /*
22
+ IBM Confidential
23
+ 694970X, 69497O0
24
+ © Copyright IBM Corp. 2022, 2024
25
+ */
26
+ function formatSelectOptions(options = []) {
27
+ return options.map((option) => ({ label: option.value, value: option.key }));
28
+ }
29
+ function formatCheckBoxListOptions(options = []) {
30
+ return options.map((option) => ({ labelText: option.value, id: option.key }));
31
+ }
32
+ function formatRadioGroupOptions(options = []) {
33
+ return options.map((option) => ({
34
+ labelText: option.value,
35
+ value: option.key,
36
+ }));
37
+ }
38
+ function validateRegex(pattern, value) {
39
+ const regexTester = new RegExp(pattern);
40
+ let hasError = false;
41
+ if (Array.isArray(value))
42
+ hasError = !value.every((val) => regexTester.test(val));
43
+ else
44
+ hasError = !regexTester.test(value);
45
+ return hasError;
46
+ }
47
+ const determineInitialValues = (input) => {
48
+ let value = "";
49
+ const valueToCheck = input.value || input.defaultValue || input.values || input.defaultValues;
50
+ if (valueToCheck) {
51
+ switch (valueToCheck) {
52
+ case "false": {
53
+ value = false;
54
+ break;
55
+ }
56
+ case "true": {
57
+ value = true;
58
+ break;
59
+ }
60
+ default: {
61
+ value = valueToCheck;
62
+ }
63
+ }
64
+ }
65
+ return value;
66
+ };
67
+ function DataDrivenInput(props) {
68
+ const { CheckboxList: CheckboxList$1 = CheckboxList.default, Creatable: Creatable$1 = Creatable.default, DateInput: DateInput$1 = DateInput.default, MultiSelect = ComboBoxMultiSelect.default, RadioGroup: RadioGroup$1 = RadioGroup.default, Select = ComboBox.default, TextArea: TextArea$1 = TextArea.default, TextEditor = TextArea.default, TextInput: TextInput$1 = TextInput.default, Toggle: Toggle$1 = Toggle.default, formikProps, ...inputProps } = props;
69
+ const {
70
+ // eslint-disable-next-line no-unused-vars
71
+ conditionallyRender, customComponent, disabled, description = "", defaultValue, defaultValues, label, helperText = "", pattern, patternInvalidText, invalid, invalidText,
72
+ // eslint-disable-next-line no-unused-vars
73
+ invalidValues, key, governingOptions, governingDisabled, minValueLength, maxValueLength, onBlur, onChange, options, placeholder, readOnly, required,
74
+ // eslint-disable-next-line no-unused-vars
75
+ requiredForKey,
76
+ // eslint-disable-next-line no-unused-vars
77
+ requiredValueOf, type, value, values, ...restInputProps } = inputProps;
78
+ let Component;
79
+ let componentProps = {};
80
+ let inputValue = value || values;
81
+ let regexError = inputValue && Boolean(pattern) && validateRegex(pattern, inputValue);
82
+ let invalidInput = regexError || invalid;
83
+ let invalidTextMessage = regexError && patternInvalidText ? patternInvalidText : invalidText;
84
+ React__default.default.useEffect(() => {
85
+ // eslint-disable-next-line
86
+ inputValue = determineInitialValues({
87
+ value,
88
+ values,
89
+ defaultValue,
90
+ defaultValues,
91
+ });
92
+ });
93
+ const allInputProps = {
94
+ id: key,
95
+ name: key,
96
+ key,
97
+ disabled,
98
+ helperText,
99
+ label,
100
+ onBlur,
101
+ onChange,
102
+ readOnly,
103
+ required,
104
+ tooltipContent: description,
105
+ };
106
+ if (Object.values(DataDrivenInputTypes.CHECKBOX_TYPES).includes(type)) {
107
+ const checkboxOptions = formatCheckBoxListOptions(options);
108
+ Component = CheckboxList$1;
109
+ componentProps = {
110
+ ...allInputProps,
111
+ initialSelectedItems: inputValue,
112
+ options: checkboxOptions,
113
+ ...restInputProps,
114
+ };
115
+ }
116
+ else if (Object.values(DataDrivenInputTypes.CREATABLE_TYPES).includes(type)) {
117
+ Component = Creatable$1;
118
+ componentProps = {
119
+ ...allInputProps,
120
+ createKeyValuePair: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR || type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE,
121
+ nonDeletable: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_NON_DELETABLE ||
122
+ type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE,
123
+ invalid: invalidInput,
124
+ invalidText: invalidTextMessage,
125
+ placeholder,
126
+ value: inputValue,
127
+ ...restInputProps,
128
+ };
129
+ }
130
+ else if (Object.values(DataDrivenInputTypes.DATE_TYPES).includes(type)) {
131
+ Component = DateInput$1;
132
+ componentProps = {
133
+ ...allInputProps,
134
+ invalid,
135
+ invalidText,
136
+ placeholder,
137
+ type,
138
+ value: inputValue,
139
+ ...restInputProps,
140
+ };
141
+ }
142
+ else if (Object.values(DataDrivenInputTypes.MULTI_SELECT_TYPES).includes(type)) {
143
+ const items = formatSelectOptions(options);
144
+ Component = MultiSelect;
145
+ componentProps = {
146
+ ...allInputProps,
147
+ items,
148
+ initialSelectedItems: Array.isArray(inputValue)
149
+ ? items.filter((item) => inputValue.includes(item.value))
150
+ : typeof inputValue === "string"
151
+ ? inputValue
152
+ : [],
153
+ itemToString: (input) => input && input.label,
154
+ invalid,
155
+ invalidText,
156
+ placeholder,
157
+ ...restInputProps,
158
+ };
159
+ }
160
+ else if (Object.values(DataDrivenInputTypes.RADIO_TYPES).includes(type)) {
161
+ const radioOptions = formatRadioGroupOptions(options);
162
+ Component = RadioGroup$1;
163
+ componentProps = {
164
+ ...allInputProps,
165
+ options: radioOptions,
166
+ valueSelected: inputValue,
167
+ ...restInputProps,
168
+ };
169
+ }
170
+ else if (Object.values(DataDrivenInputTypes.SELECT_TYPES).includes(type)) {
171
+ const items = governingOptions || formatSelectOptions(options);
172
+ const selectedItem = items.find((item) => item.value === value) ?? { label: "", value: "" };
173
+ Component = Select;
174
+ componentProps = {
175
+ ...allInputProps,
176
+ disabled: governingDisabled || disabled,
177
+ invalid,
178
+ invalidText,
179
+ initialSelectedItem: selectedItem,
180
+ selectedItem,
181
+ itemToString: (input) => input && input.label,
182
+ items,
183
+ placeholder,
184
+ ...restInputProps,
185
+ };
186
+ }
187
+ else if (Object.values(DataDrivenInputTypes.TEXT_AREA_TYPES).includes(type)) {
188
+ Component = TextArea$1;
189
+ componentProps = {
190
+ ...allInputProps,
191
+ invalid: invalidInput,
192
+ invalidText: invalidTextMessage,
193
+ placeholder,
194
+ value: inputValue,
195
+ ...restInputProps,
196
+ };
197
+ }
198
+ else if (type.startsWith(DataDrivenInputTypes.TEXT_EDITOR_TYPES.TEXT_EDITOR)) {
199
+ Component = TextEditor;
200
+ componentProps = {
201
+ ...allInputProps,
202
+ invalid: invalidInput,
203
+ invalidText: invalidTextMessage,
204
+ placeholder,
205
+ value: inputValue,
206
+ ...restInputProps,
207
+ };
208
+ }
209
+ else if (Object.values(DataDrivenInputTypes.TEXT_INPUT_TYPES).includes(type)) {
210
+ Component = TextInput$1;
211
+ componentProps = {
212
+ ...allInputProps,
213
+ maxLength: maxValueLength,
214
+ minLength: minValueLength,
215
+ max: maxValueLength,
216
+ min: minValueLength,
217
+ invalid: invalidInput,
218
+ invalidText: invalidTextMessage,
219
+ placeholder,
220
+ type: type === DataDrivenInputTypes.TEXT_INPUT_TYPES.SECURED ? DataDrivenInputTypes.TEXT_INPUT_TYPES.PASSWORD : type,
221
+ value: inputValue,
222
+ ...restInputProps,
223
+ };
224
+ }
225
+ else if (Object.values(DataDrivenInputTypes.BOOLEAN_TYPES).includes(type)) {
226
+ Component = Toggle$1;
227
+ componentProps = {
228
+ ...allInputProps,
229
+ invalid,
230
+ invalidText,
231
+ onChange: undefined,
232
+ onToggle: onChange,
233
+ toggled: value === true || value === "true",
234
+ ...restInputProps,
235
+ };
236
+ }
237
+ if (customComponent) {
238
+ Component = customComponent;
239
+ return (React__default.default.createElement(Component, { ...allInputProps, ...componentProps, value: inputValue, ...restInputProps, formikProps: formikProps }));
240
+ }
241
+ else {
242
+ if (Component) {
243
+ return React__default.default.createElement(Component, { ...componentProps });
244
+ }
245
+ }
246
+ return null;
247
247
  }
248
248
 
249
249
  exports.default = DataDrivenInput;
@@ -15,41 +15,41 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
15
  var React__default = /*#__PURE__*/_interopDefault(React);
16
16
  var cx__default = /*#__PURE__*/_interopDefault(cx);
17
17
 
18
- /*
19
- IBM Confidential
20
- 694970X, 69497O0
21
- © Copyright IBM Corp. 2022, 2024
22
- */
23
- const DateInputComponent = React__default.default.forwardRef(function DateInputComponent({ id, dateFormat, datePickerProps = {}, disabled, helperText, invalid, label, labelText, max, min, onCalendarChange, onChange, readOnly, tooltipClassName = `${settings.prefix}--bmrg-date-input__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, type = DataDrivenInputTypes.DATE_TYPES.DATE, value, ...dateInputProps }, ref) {
24
- const labelValue = label || labelText;
25
- const dateInputHelperId = !helperText ? undefined : `date-input-helper-text-${id}`;
26
- const helperClasses = cx__default.default(`${settings.prefix}--form__helper-text`, {
27
- [`${settings.prefix}--form__helper-text--disabled`]: disabled,
28
- });
29
- if (type === DataDrivenInputTypes.DATE_TYPES.DATE_RANGE) {
30
- /** Add support for csv strings */
31
- const finalValue = typeof value === "string" ? value.split(",") : value;
32
- return (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-date-input` },
33
- labelValue && (React__default.default.createElement("div", { className: `${settings.prefix}--label ${settings.prefix}--bmrg-date-input__label` },
34
- React__default.default.createElement("div", null, labelValue),
35
- tooltipContent && (React__default.default.createElement("div", { className: tooltipClassName },
36
- React__default.default.createElement(TooltipHover.default, { tooltipContent: tooltipContent, ...tooltipProps },
37
- React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" })))))),
38
- React__default.default.createElement(react.DatePicker, { key: id, allowInput: !readOnly, className: `${settings.prefix}--bmrg-date-picker`, dateFormat: dateFormat, datePickerType: "range", maxDate: max, minDate: min, onChange: typeof onCalendarChange === "function" ? onCalendarChange : onChange, value: finalValue, ...datePickerProps },
39
- React__default.default.createElement(react.DatePickerInput, { id: `${id}-start`, autoComplete: "off", disabled: disabled || readOnly, invalid: invalid, labelText: "", readOnly: readOnly, ref: ref, style: { width: "100%" }, pattern: ".*", ...dateInputProps }),
40
- React__default.default.createElement(react.DatePickerInput, { id: `${id}-end`, autoComplete: "off", disabled: disabled || readOnly, invalid: invalid, labelText: "", readOnly: readOnly, ref: ref, style: { width: "100%" }, pattern: ".*", ...dateInputProps })),
41
- helperText && !invalid && (React__default.default.createElement("div", { id: dateInputHelperId, className: helperClasses }, helperText))));
42
- }
43
- else {
44
- return (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-date-input` },
45
- React__default.default.createElement(react.DatePicker, { key: id, allowInput: !readOnly, className: `${settings.prefix}--bmrg-date-picker`, dateFormat: dateFormat, datePickerType: "single", maxDate: max, minDate: min, onChange: onCalendarChange, value: value, ...datePickerProps },
46
- React__default.default.createElement(react.DatePickerInput, { id: id, disabled: disabled || readOnly, invalid: invalid, onChange: onChange, labelText: labelValue && (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-date-input__label` },
47
- React__default.default.createElement("div", null, labelValue),
48
- tooltipContent && (React__default.default.createElement("div", { className: tooltipClassName },
49
- React__default.default.createElement(TooltipHover.default, { tooltipContent: tooltipContent, ...tooltipProps },
50
- React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" })))))), readOnly: readOnly, ref: ref, style: { width: "100%" }, pattern: ".*", ...dateInputProps })),
51
- helperText && !invalid && (React__default.default.createElement("div", { id: dateInputHelperId, className: helperClasses }, helperText))));
52
- }
18
+ /*
19
+ IBM Confidential
20
+ 694970X, 69497O0
21
+ © Copyright IBM Corp. 2022, 2024
22
+ */
23
+ const DateInputComponent = React__default.default.forwardRef(function DateInputComponent({ id, dateFormat, datePickerProps = {}, disabled, helperText, invalid, label, labelText, max, min, onCalendarChange, onChange, readOnly, tooltipClassName = `${settings.prefix}--bmrg-date-input__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, type = DataDrivenInputTypes.DATE_TYPES.DATE, value, ...dateInputProps }, ref) {
24
+ const labelValue = label || labelText;
25
+ const dateInputHelperId = !helperText ? undefined : `date-input-helper-text-${id}`;
26
+ const helperClasses = cx__default.default(`${settings.prefix}--form__helper-text`, {
27
+ [`${settings.prefix}--form__helper-text--disabled`]: disabled,
28
+ });
29
+ if (type === DataDrivenInputTypes.DATE_TYPES.DATE_RANGE) {
30
+ /** Add support for csv strings */
31
+ const finalValue = typeof value === "string" ? value.split(",") : value;
32
+ return (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-date-input` },
33
+ labelValue && (React__default.default.createElement("div", { className: `${settings.prefix}--label ${settings.prefix}--bmrg-date-input__label` },
34
+ React__default.default.createElement("div", null, labelValue),
35
+ tooltipContent && (React__default.default.createElement("div", { className: tooltipClassName },
36
+ React__default.default.createElement(TooltipHover.default, { tooltipContent: tooltipContent, ...tooltipProps },
37
+ React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" })))))),
38
+ React__default.default.createElement(react.DatePicker, { key: id, allowInput: !readOnly, className: `${settings.prefix}--bmrg-date-picker`, dateFormat: dateFormat, datePickerType: "range", maxDate: max, minDate: min, onChange: typeof onCalendarChange === "function" ? onCalendarChange : onChange, value: finalValue, ...datePickerProps },
39
+ React__default.default.createElement(react.DatePickerInput, { id: `${id}-start`, autoComplete: "off", disabled: disabled || readOnly, invalid: invalid, labelText: "", readOnly: readOnly, ref: ref, style: { width: "100%" }, pattern: ".*", ...dateInputProps }),
40
+ React__default.default.createElement(react.DatePickerInput, { id: `${id}-end`, autoComplete: "off", disabled: disabled || readOnly, invalid: invalid, labelText: "", readOnly: readOnly, ref: ref, style: { width: "100%" }, pattern: ".*", ...dateInputProps })),
41
+ helperText && !invalid && (React__default.default.createElement("div", { id: dateInputHelperId, className: helperClasses }, helperText))));
42
+ }
43
+ else {
44
+ return (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-date-input` },
45
+ React__default.default.createElement(react.DatePicker, { key: id, allowInput: !readOnly, className: `${settings.prefix}--bmrg-date-picker`, dateFormat: dateFormat, datePickerType: "single", maxDate: max, minDate: min, onChange: onCalendarChange, value: value, ...datePickerProps },
46
+ React__default.default.createElement(react.DatePickerInput, { id: id, disabled: disabled || readOnly, invalid: invalid, onChange: onChange, labelText: labelValue && (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-date-input__label` },
47
+ React__default.default.createElement("div", null, labelValue),
48
+ tooltipContent && (React__default.default.createElement("div", { className: tooltipClassName },
49
+ React__default.default.createElement(TooltipHover.default, { tooltipContent: tooltipContent, ...tooltipProps },
50
+ React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" })))))), readOnly: readOnly, ref: ref, style: { width: "100%" }, pattern: ".*", ...dateInputProps })),
51
+ helperText && !invalid && (React__default.default.createElement("div", { id: dateInputHelperId, className: helperClasses }, helperText))));
52
+ }
53
53
  });
54
54
 
55
55
  exports.default = DateInputComponent;