@carbon/ibm-products 2.36.0 → 2.37.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. package/css/index-full-carbon.css +5404 -5117
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +4 -4
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +820 -61
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +329 -6
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/_virtual/_rollupPluginBabelHelpers.js +9 -10
  18. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.d.ts +3 -1
  19. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +8 -2
  20. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +21 -0
  21. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +261 -0
  22. package/es/components/ConditionBuilder/ConditionBuilder.js +45 -16
  23. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +12 -0
  24. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +40 -0
  25. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +22 -0
  26. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +74 -0
  27. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +18 -1
  28. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +90 -42
  29. package/es/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.d.ts → ConditionBuilderProvider.d.ts} +5 -2
  30. package/es/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.js → ConditionBuilderProvider.js} +27 -8
  31. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +22 -0
  32. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +112 -0
  33. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +31 -0
  34. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -0
  35. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +28 -0
  36. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +151 -0
  37. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +11 -0
  38. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +59 -0
  39. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +13 -0
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +52 -0
  41. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.d.ts +13 -0
  42. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js +162 -0
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +11 -0
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +40 -0
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +11 -0
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +82 -0
  47. package/es/components/ConditionBuilder/ConditionConnector/ConditionConnector.d.ts +15 -0
  48. package/es/components/ConditionBuilder/ConditionConnector/ConditionConnector.js +85 -0
  49. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +24 -0
  50. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +145 -0
  51. package/es/components/ConditionBuilder/utils/util.d.ts +4 -0
  52. package/es/components/ConditionBuilder/utils/util.js +16 -0
  53. package/es/components/CreateTearsheet/CreateTearsheet.d.ts +106 -4
  54. package/es/components/CreateTearsheet/CreateTearsheet.js +12 -32
  55. package/es/components/Datagrid/useParentDimensions.js +1 -1
  56. package/es/components/EditUpdateCards/EditUpdateCards.d.ts +104 -2
  57. package/es/components/EditUpdateCards/EditUpdateCards.js +3 -0
  58. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.d.ts +61 -2
  59. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -3
  60. package/es/components/ExpressiveCard/ExpressiveCard.d.ts +97 -2
  61. package/es/components/ExpressiveCard/ExpressiveCard.js +4 -0
  62. package/es/components/InlineTip/InlineTipButton.d.ts +21 -2
  63. package/es/components/InterstitialScreen/InterstitialScreen.d.ts +100 -2
  64. package/es/components/InterstitialScreen/InterstitialScreen.js +25 -14
  65. package/es/components/Nav/NavItem.js +1 -1
  66. package/es/components/NotificationsPanel/NotificationsPanel.js +5 -6
  67. package/es/components/PageHeader/PageHeader.js +12 -3
  68. package/es/components/SidePanel/SidePanel.js +1 -1
  69. package/es/components/SimpleHeader/SimpleHeader.d.ts +1 -5
  70. package/es/components/SimpleHeader/SimpleHeader.js +2 -4
  71. package/es/components/Tearsheet/TearsheetNarrow.d.ts +4 -13
  72. package/es/components/Tearsheet/TearsheetShell.d.ts +119 -10
  73. package/es/components/Tearsheet/TearsheetShell.js +18 -8
  74. package/es/components/WebTerminal/WebTerminal.d.ts +46 -2
  75. package/es/components/WebTerminal/WebTerminal.js +2 -2
  76. package/es/global/js/hooks/usePrefersReducedMotion.d.ts +2 -0
  77. package/es/global/js/hooks/usePrefersReducedMotion.js +28 -0
  78. package/es/global/js/utils/Wrap.d.ts +31 -2
  79. package/es/global/js/utils/Wrap.js +7 -9
  80. package/es/global/js/utils/getNodeTextContent.d.ts +1 -1
  81. package/es/global/js/utils/getNodeTextContent.js +1 -1
  82. package/es/global/js/utils/window.d.ts +2 -0
  83. package/es/global/js/utils/window.js +12 -0
  84. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +2780 -0
  85. package/lib/_virtual/_rollupPluginBabelHelpers.js +9 -10
  86. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.d.ts +3 -1
  87. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +8 -2
  88. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +21 -0
  89. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +270 -0
  90. package/lib/components/ConditionBuilder/ConditionBuilder.js +46 -17
  91. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +12 -0
  92. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +48 -0
  93. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +22 -0
  94. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +83 -0
  95. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +18 -1
  96. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +90 -42
  97. package/lib/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.d.ts → ConditionBuilderProvider.d.ts} +5 -2
  98. package/lib/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.js → ConditionBuilderProvider.js} +27 -8
  99. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +22 -0
  100. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +121 -0
  101. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +31 -0
  102. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +44 -0
  103. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +28 -0
  104. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +159 -0
  105. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +11 -0
  106. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +67 -0
  107. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +13 -0
  108. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +60 -0
  109. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.d.ts +13 -0
  110. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js +170 -0
  111. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +11 -0
  112. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +48 -0
  113. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +11 -0
  114. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +90 -0
  115. package/lib/components/ConditionBuilder/ConditionConnector/ConditionConnector.d.ts +15 -0
  116. package/lib/components/ConditionBuilder/ConditionConnector/ConditionConnector.js +93 -0
  117. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +24 -0
  118. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +153 -0
  119. package/lib/components/ConditionBuilder/utils/util.d.ts +4 -0
  120. package/lib/components/ConditionBuilder/utils/util.js +20 -0
  121. package/lib/components/CreateTearsheet/CreateTearsheet.d.ts +106 -4
  122. package/lib/components/CreateTearsheet/CreateTearsheet.js +12 -32
  123. package/lib/components/Datagrid/useParentDimensions.js +1 -1
  124. package/lib/components/EditUpdateCards/EditUpdateCards.d.ts +104 -2
  125. package/lib/components/EditUpdateCards/EditUpdateCards.js +3 -0
  126. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.d.ts +61 -2
  127. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -3
  128. package/lib/components/ExpressiveCard/ExpressiveCard.d.ts +97 -2
  129. package/lib/components/ExpressiveCard/ExpressiveCard.js +4 -0
  130. package/lib/components/InlineTip/InlineTipButton.d.ts +21 -2
  131. package/lib/components/InterstitialScreen/InterstitialScreen.d.ts +100 -2
  132. package/lib/components/InterstitialScreen/InterstitialScreen.js +24 -13
  133. package/lib/components/Nav/NavItem.js +2 -2
  134. package/lib/components/NotificationsPanel/NotificationsPanel.js +5 -6
  135. package/lib/components/PageHeader/PageHeader.js +11 -2
  136. package/lib/components/SidePanel/SidePanel.js +1 -1
  137. package/lib/components/SimpleHeader/SimpleHeader.d.ts +1 -5
  138. package/lib/components/SimpleHeader/SimpleHeader.js +2 -4
  139. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +4 -13
  140. package/lib/components/Tearsheet/TearsheetShell.d.ts +119 -10
  141. package/lib/components/Tearsheet/TearsheetShell.js +16 -6
  142. package/lib/components/WebTerminal/WebTerminal.d.ts +46 -2
  143. package/lib/components/WebTerminal/WebTerminal.js +2 -2
  144. package/lib/global/js/hooks/usePrefersReducedMotion.d.ts +2 -0
  145. package/lib/global/js/hooks/usePrefersReducedMotion.js +32 -0
  146. package/lib/global/js/utils/Wrap.d.ts +31 -2
  147. package/lib/global/js/utils/Wrap.js +7 -9
  148. package/lib/global/js/utils/getNodeTextContent.d.ts +1 -1
  149. package/lib/global/js/utils/getNodeTextContent.js +1 -1
  150. package/lib/global/js/utils/window.d.ts +2 -0
  151. package/lib/global/js/utils/window.js +16 -0
  152. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +2912 -0
  153. package/package.json +4 -4
  154. package/scss/components/CoachmarkOverlayElements/_coachmark-overlay-elements.scss +1 -1
  155. package/scss/components/ConditionBuilder/_condition-builder.scss +26 -0
  156. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +46 -0
  157. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +194 -0
  158. package/scss/components/ConditionBuilder/styles/_index.scss +2 -0
  159. package/scss/components/Guidebanner/_guidebanner.scss +3 -0
  160. package/scss/components/InterstitialScreen/_interstitial-screen.scss +1 -6
  161. package/scss/components/Tearsheet/_tearsheet.scss +3 -1
  162. package/es/components/ConditionBuilder/assets/sampleInput.d.ts +0 -58
  163. package/es/global/js/utils/keyboardNavigation.d.ts +0 -27
  164. package/es/global/js/utils/keyboardNavigation.js +0 -33
  165. package/es/global/js/utils/wrapFocus.d.ts +0 -25
  166. package/es/global/js/utils/wrapFocus.js +0 -68
  167. package/es/node_modules/@carbon/icons-react/es/generated/bucket-8.js +0 -3004
  168. package/lib/components/ConditionBuilder/assets/sampleInput.d.ts +0 -58
  169. package/lib/global/js/utils/keyboardNavigation.d.ts +0 -27
  170. package/lib/global/js/utils/keyboardNavigation.js +0 -39
  171. package/lib/global/js/utils/wrapFocus.d.ts +0 -25
  172. package/lib/global/js/utils/wrapFocus.js +0 -73
  173. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-8.js +0 -3136
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var react = require('@carbon/react');
15
+ var index = require('../../../node_modules/prop-types/index.js');
16
+ var icons = require('@carbon/react/icons');
17
+ var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
18
+ var ConditionBuilderButton = require('../ConditionBuilderButton/ConditionBuilderButton.js');
19
+
20
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
+
22
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
+
24
+ var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "state", "popOverClassName", "config"];
25
+ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
26
+ var children = _ref.children,
27
+ className = _ref.className,
28
+ label = _ref.label,
29
+ renderIcon = _ref.renderIcon,
30
+ title = _ref.title,
31
+ type = _ref.type,
32
+ showToolTip = _ref.showToolTip,
33
+ state = _ref.state,
34
+ popOverClassName = _ref.popOverClassName,
35
+ config = _ref.config,
36
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
37
+ var contentRef = React.useRef(null);
38
+ var _useState = React.useState(label),
39
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
40
+ propertyLabel = _useState2[0],
41
+ setPropertyLabel = _useState2[1];
42
+ var _useState3 = React.useState(false),
43
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
44
+ open = _useState4[0],
45
+ setOpen = _useState4[1];
46
+ React.useEffect(function () {
47
+ var propertyId = rest['data-name'] == 'valueField' && type ? DataConfigs.valueRenderers[type](label, config) : label;
48
+ setPropertyLabel(DataConfigs.translateWithId(propertyId));
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ }, [label]);
51
+ React.useEffect(function () {
52
+ /**
53
+ * rest['data-name'] holds the current field name
54
+ * popoverToOpen hold the next popover to be opened if required
55
+ */
56
+ if (state) {
57
+ var currentField = rest['data-name'];
58
+ //if any condition is changed, state prop is triggered
59
+ if (state.popoverToOpen && currentField !== state.popoverToOpen) {
60
+ // close the previous popover
61
+ setOpen(false);
62
+ } else if (currentField == 'valueField' && type == 'option' && state.operator !== 'one-of') {
63
+ //close the current popover if the field is valueField and is a single select dropdown. For all other inputs ,popover need to be open on value changes.
64
+ setOpen(false);
65
+ }
66
+ if (state.popoverToOpen == currentField) {
67
+ //current popover need to be opened
68
+ setOpen(true);
69
+ }
70
+ } else {
71
+ // when we change any statement(if/ excl.if) which is not part of condition state, label change is triggered.
72
+ //close popOver when statement is changed.
73
+ setOpen(false);
74
+ }
75
+ // eslint-disable-next-line react-hooks/exhaustive-deps
76
+ }, [state, label]);
77
+ React.useEffect(function () {
78
+ //this will focus the first input field in the popover
79
+ if (open && contentRef.current) {
80
+ var firstFocusableElement = contentRef.current.querySelector('input, button,li');
81
+ if (firstFocusableElement) {
82
+ firstFocusableElement.focus();
83
+ }
84
+ }
85
+ }, [contentRef, open]);
86
+ return /*#__PURE__*/React__default["default"].createElement(react.Popover, {
87
+ open: open,
88
+ isTabTip: true,
89
+ role: "gridcell",
90
+ className: popOverClassName,
91
+ onRequestClose: function onRequestClose() {
92
+ setOpen(false);
93
+ }
94
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, _rollupPluginBabelHelpers["extends"]({
95
+ label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : DataConfigs.translateWithId('add-condition'),
96
+ hideLabel: !label ? true : false,
97
+ onClick: function onClick() {
98
+ setOpen(!open);
99
+ },
100
+ className: className,
101
+ "aria-haspopup": true,
102
+ "aria-expanded": open,
103
+ renderIcon: renderIcon ? renderIcon : label == undefined ? icons.Add : null,
104
+ showToolTip: showToolTip
105
+ }, rest)), /*#__PURE__*/React__default["default"].createElement(react.PopoverContent, {
106
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item__content"),
107
+ role: "dialog",
108
+ "aria-label": "".concat(title)
109
+ }, /*#__PURE__*/React__default["default"].createElement(react.Layer, null, /*#__PURE__*/React__default["default"].createElement("h1", {
110
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item__title")
111
+ }, title), /*#__PURE__*/React__default["default"].createElement("div", {
112
+ ref: contentRef
113
+ }, open && children))));
114
+ };
115
+ ConditionBuilderItem.propTypes = {
116
+ /**
117
+ * provide the contents of the popover
118
+ */
119
+ children: index["default"].node,
120
+ /**
121
+ * Provide an optional class to be applied to the containing node.
122
+ */
123
+ className: index["default"].string,
124
+ /**
125
+ * this is the config object again the current property from inputConfig
126
+ */
127
+
128
+ config: index["default"].object,
129
+ /**
130
+ * text to be displayed in the field
131
+ */
132
+ label: index["default"].oneOfType([index["default"].string, index["default"].array]),
133
+ /**
134
+ * class name for popover
135
+ */
136
+ popOverClassName: index["default"].string,
137
+ /**
138
+ * Optional prop to allow overriding the icon rendering.
139
+ */
140
+ renderIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
141
+ /**
142
+ * show tool tip
143
+ */
144
+ showToolTip: index["default"].bool,
145
+ /**
146
+ * current condition state object
147
+ */
148
+ state: index["default"].object,
149
+ /**
150
+ * title of the popover
151
+ */
152
+ title: index["default"].string,
153
+ /**
154
+ * input type
155
+ */
156
+ type: index["default"].string
157
+ };
158
+
159
+ exports.ConditionBuilderItem = ConditionBuilderItem;
@@ -0,0 +1,11 @@
1
+ export function ConditionBuilderItemDate({ conditionState, onChange }: {
2
+ conditionState: any;
3
+ onChange: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export namespace ConditionBuilderItemDate {
6
+ namespace propTypes {
7
+ let conditionState: PropTypes.Requireable<object>;
8
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
9
+ }
10
+ }
11
+ import PropTypes from 'prop-types';
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var React = require('react');
13
+ var react = require('@carbon/react');
14
+ var settings = require('../../../../settings.js');
15
+ var index = require('../../../../node_modules/prop-types/index.js');
16
+ var DataConfigs = require('../../ConditionBuilderContext/DataConfigs.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ var blockClass = "".concat(settings.pkg.prefix, "--condition-builder");
23
+ var ConditionBuilderItemDate = function ConditionBuilderItemDate(_ref) {
24
+ var conditionState = _ref.conditionState,
25
+ onChange = _ref.onChange;
26
+ var DatePickerInputRef = React.useRef();
27
+ var datePickerType = conditionState.operator == 'between' ? 'range' : 'single';
28
+ return /*#__PURE__*/React__default["default"].createElement("div", {
29
+ className: "".concat(blockClass, "__condition-builder-item-date ")
30
+ }, datePickerType == 'single' && /*#__PURE__*/React__default["default"].createElement(react.DatePicker, {
31
+ ref: DatePickerInputRef,
32
+ dateFormat: "d/m/Y",
33
+ datePickerType: "single",
34
+ onClose: onChange,
35
+ value: conditionState.value
36
+ }, /*#__PURE__*/React__default["default"].createElement(react.DatePickerInput, {
37
+ id: "datePicker",
38
+ placeholder: "dd/mm/yyyy",
39
+ labelText: conditionState.property
40
+ })), datePickerType == 'range' && /*#__PURE__*/React__default["default"].createElement(react.DatePicker, {
41
+ ref: DatePickerInputRef,
42
+ dateFormat: "d/m/Y",
43
+ datePickerType: datePickerType,
44
+ onClose: onChange,
45
+ value: conditionState.value
46
+ }, /*#__PURE__*/React__default["default"].createElement(react.DatePickerInput, {
47
+ id: "datePickerStart",
48
+ placeholder: "dd/mm/yyyy",
49
+ labelText: DataConfigs.translateWithId('start')
50
+ }), /*#__PURE__*/React__default["default"].createElement(react.DatePickerInput, {
51
+ id: "datePickerEnd",
52
+ placeholder: "dd/mm/yyyy",
53
+ labelText: DataConfigs.translateWithId('end')
54
+ })));
55
+ };
56
+ ConditionBuilderItemDate.propTypes = {
57
+ /**
58
+ * current condition object
59
+ */
60
+ conditionState: index["default"].object,
61
+ /**
62
+ * callback to update state oin date change
63
+ */
64
+ onChange: index["default"].func
65
+ };
66
+
67
+ exports.ConditionBuilderItemDate = ConditionBuilderItemDate;
@@ -0,0 +1,13 @@
1
+ export function ConditionBuilderItemNumber({ conditionState, config, onChange, }: {
2
+ conditionState: any;
3
+ config: any;
4
+ onChange: any;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export namespace ConditionBuilderItemNumber {
7
+ namespace propTypes {
8
+ let conditionState: PropTypes.Requireable<object>;
9
+ let config: PropTypes.Requireable<object>;
10
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
11
+ }
12
+ }
13
+ import PropTypes from 'prop-types';
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var React = require('react');
13
+ var react = require('@carbon/react');
14
+ var settings = require('../../../../settings.js');
15
+ var index = require('../../../../node_modules/prop-types/index.js');
16
+
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
+
21
+ var blockClass = "".concat(settings.pkg.prefix, "--condition-builder");
22
+ var ConditionBuilderItemNumber = function ConditionBuilderItemNumber(_ref) {
23
+ var _conditionState$prope;
24
+ var conditionState = _ref.conditionState,
25
+ config = _ref.config,
26
+ onChange = _ref.onChange;
27
+ var onChangeHandler = function onChangeHandler(e, _ref2) {
28
+ var value = _ref2.value;
29
+ onChange(value + '');
30
+ };
31
+ return /*#__PURE__*/React__default["default"].createElement("div", {
32
+ className: "".concat(blockClass, "__condition-builder-item-number")
33
+ }, /*#__PURE__*/React__default["default"].createElement(react.NumberInput, {
34
+ label: conditionState.property,
35
+ hideLabel: true,
36
+ id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
37
+ value: conditionState.value ? conditionState.value.split(' ')[0] : conditionState.value,
38
+ min: config.min,
39
+ max: config.max,
40
+ step: config.step,
41
+ allowEmpty: true,
42
+ onChange: onChangeHandler
43
+ }));
44
+ };
45
+ ConditionBuilderItemNumber.propTypes = {
46
+ /**
47
+ * current condition object
48
+ */
49
+ conditionState: index["default"].object,
50
+ /**
51
+ * current config object that this property is part of
52
+ */
53
+ config: index["default"].object,
54
+ /**
55
+ * callback to update state oin date change
56
+ */
57
+ onChange: index["default"].func
58
+ };
59
+
60
+ exports.ConditionBuilderItemNumber = ConditionBuilderItemNumber;
@@ -0,0 +1,13 @@
1
+ export function ConditionBuilderItemOption({ conditionState, config, onChange, }: {
2
+ conditionState?: {} | undefined;
3
+ config?: {} | undefined;
4
+ onChange: any;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export namespace ConditionBuilderItemOption {
7
+ namespace propTypes {
8
+ let conditionState: PropTypes.Requireable<object>;
9
+ let config: PropTypes.Requireable<object>;
10
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
11
+ }
12
+ }
13
+ import PropTypes from 'prop-types';
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var react = require('@carbon/react');
15
+ var icons = require('@carbon/react/icons');
16
+ var index = require('../../../../node_modules/prop-types/index.js');
17
+ var ConditionBuilderProvider = require('../../ConditionBuilderContext/ConditionBuilderProvider.js');
18
+ var DataConfigs = require('../../ConditionBuilderContext/DataConfigs.js');
19
+
20
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
+
22
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
+
24
+ var _CheckboxCheckedFille, _Checkbox, _SelectSkeleton;
25
+ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
26
+ var _ref$conditionState = _ref.conditionState,
27
+ conditionState = _ref$conditionState === void 0 ? {} : _ref$conditionState,
28
+ _ref$config = _ref.config,
29
+ config = _ref$config === void 0 ? {} : _ref$config,
30
+ onChange = _ref.onChange;
31
+ var multiSelectable = conditionState.operator === 'one-of';
32
+ var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
33
+ popOverSearchThreshold = _useContext.popOverSearchThreshold,
34
+ getOptions = _useContext.getOptions;
35
+ var _useState = React.useState(config.options),
36
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
37
+ allOptions = _useState2[0],
38
+ setAllOptions = _useState2[1];
39
+ var _useState3 = React.useState(config.options),
40
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
41
+ filteredItems = _useState4[0],
42
+ setFilteredItems = _useState4[1];
43
+ var selection = Array.isArray(conditionState.value) ? conditionState.value : conditionState.value !== undefined ? [conditionState.value] : [];
44
+ React.useEffect(function () {
45
+ if (!allOptions && getOptions) {
46
+ var fetchData = /*#__PURE__*/function () {
47
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
48
+ var response;
49
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
50
+ while (1) switch (_context.prev = _context.next) {
51
+ case 0:
52
+ _context.next = 2;
53
+ return getOptions(conditionState);
54
+ case 2:
55
+ response = _context.sent;
56
+ if ((response === null || response === void 0 ? void 0 : response.length) > 0 && Object.keys(response[0]).includes('label') && Object.keys(response[0]).includes('id')) {
57
+ setAllOptions(response);
58
+ setFilteredItems(response);
59
+ }
60
+ case 4:
61
+ case "end":
62
+ return _context.stop();
63
+ }
64
+ }, _callee);
65
+ }));
66
+ return function fetchData() {
67
+ return _ref2.apply(this, arguments);
68
+ };
69
+ }();
70
+ fetchData(); // Call the async method
71
+ }
72
+ // eslint-disable-next-line react-hooks/exhaustive-deps
73
+ }, []);
74
+ var handleSelectAll = function handleSelectAll(e) {
75
+ if (e.currentTarget.dataset.selectedAll == 'false') {
76
+ onChange(undefined);
77
+ } else {
78
+ onChange(allOptions.map(function (op) {
79
+ return op.id;
80
+ }));
81
+ }
82
+ };
83
+ var onSearchChangeHandler = function onSearchChangeHandler(e) {
84
+ var value = e.target.value;
85
+ var _filteredItems = allOptions.filter(function (opt) {
86
+ return opt.label.toLowerCase().includes(value.toLowerCase());
87
+ });
88
+ setFilteredItems(_filteredItems);
89
+ };
90
+ var onClickHandler = function onClickHandler(e, option, isSelected) {
91
+ if (multiSelectable) {
92
+ if (isSelected) {
93
+ var items = selection.filter(function (v) {
94
+ return v !== option.id;
95
+ });
96
+ onChange(items.length > 0 ? items : undefined, e);
97
+ } else {
98
+ onChange([].concat(_rollupPluginBabelHelpers.toConsumableArray(selection), [option.id]), e);
99
+ }
100
+ } else {
101
+ onChange(option.id, e);
102
+ }
103
+ };
104
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, allOptions && /*#__PURE__*/React__default["default"].createElement("div", {
105
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option")
106
+ }, (config.includeSearch || allOptions.length > popOverSearchThreshold) && /*#__PURE__*/React__default["default"].createElement("div", {
107
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__search")
108
+ }, /*#__PURE__*/React__default["default"].createElement(react.Search, {
109
+ size: "sm",
110
+ labelText: DataConfigs.translateWithId('clear_search'),
111
+ closeButtonLabelText: DataConfigs.translateWithId('clear_search'),
112
+ onChange: onSearchChangeHandler
113
+ })), multiSelectable && /*#__PURE__*/React__default["default"].createElement("div", {
114
+ className: "".concat(DataConfigs.blockClass, "__multiselectSelectionStatusContainer")
115
+ }, /*#__PURE__*/React__default["default"].createElement("h4", null, /*#__PURE__*/React__default["default"].createElement("label", null, selection.length, "/", allOptions.length, " Selected")), /*#__PURE__*/React__default["default"].createElement(react.Button, {
116
+ kind: 'ghost',
117
+ size: 'sm',
118
+ "data-selected-all": "".concat(selection.length == 0 ? true : false),
119
+ onClick: handleSelectAll,
120
+ className: "".concat(DataConfigs.blockClass, "__selectAll-button")
121
+ }, selection.length == 0 ? 'Select all' : 'Deselect all')), /*#__PURE__*/React__default["default"].createElement("ul", {
122
+ "aria-label": conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : DataConfigs.translateWithId('property'),
123
+ role: "listbox",
124
+ "data-multi-select": multiSelectable
125
+ }, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
126
+ var isSelected = selection.includes(option.id);
127
+ var Icon = option.icon;
128
+ return /*#__PURE__*/React__default["default"].createElement("li", {
129
+ tabIndex: 0,
130
+ key: option.id,
131
+ role: "option",
132
+ "aria-selected": isSelected,
133
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__option"),
134
+ onKeyUp: function onKeyUp() {
135
+ return false;
136
+ },
137
+ onClick: function onClick(e) {
138
+ return onClickHandler(e, option, isSelected);
139
+ }
140
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
141
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__option-content")
142
+ }, multiSelectable ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", {
143
+ className: "".concat(DataConfigs.blockClass, "__option-check-box")
144
+ }, isSelected ? _CheckboxCheckedFille || (_CheckboxCheckedFille = /*#__PURE__*/React__default["default"].createElement(icons.CheckboxCheckedFilled, null)) : _Checkbox || (_Checkbox = /*#__PURE__*/React__default["default"].createElement(icons.Checkbox, null))), /*#__PURE__*/React__default["default"].createElement("span", {
145
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__option-label")
146
+ }, option.label), Icon && /*#__PURE__*/React__default["default"].createElement("span", {
147
+ className: "".concat(DataConfigs.blockClass, "__option-icon")
148
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, null))) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", {
149
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item-option__option-label")
150
+ }, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default["default"].createElement(icons.Checkmark, {
151
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-checkmark")
152
+ }))));
153
+ }))), !allOptions && (_SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default["default"].createElement(react.SelectSkeleton, null))));
154
+ };
155
+ ConditionBuilderItemOption.propTypes = {
156
+ /**
157
+ * current condition object
158
+ */
159
+ conditionState: index["default"].object,
160
+ /**
161
+ * current config object that this property is part of
162
+ */
163
+ config: index["default"].object,
164
+ /**
165
+ * callback to update state oin date change
166
+ */
167
+ onChange: index["default"].func
168
+ };
169
+
170
+ exports.ConditionBuilderItemOption = ConditionBuilderItemOption;
@@ -0,0 +1,11 @@
1
+ export function ConditionBuilderItemText({ conditionState, onChange }: {
2
+ conditionState: any;
3
+ onChange: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export namespace ConditionBuilderItemText {
6
+ namespace propTypes {
7
+ let conditionState: PropTypes.Requireable<object>;
8
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
9
+ }
10
+ }
11
+ import PropTypes from 'prop-types';
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var React = require('react');
13
+ var react = require('@carbon/react');
14
+ var index = require('../../../../node_modules/prop-types/index.js');
15
+ var DataConfigs = require('../../ConditionBuilderContext/DataConfigs.js');
16
+
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
+
21
+ var ConditionBuilderItemText = function ConditionBuilderItemText(_ref) {
22
+ var _conditionState$value, _conditionState$prope;
23
+ var conditionState = _ref.conditionState,
24
+ _onChange = _ref.onChange;
25
+ return /*#__PURE__*/React__default["default"].createElement("div", {
26
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item-text")
27
+ }, /*#__PURE__*/React__default["default"].createElement(react.TextInput, {
28
+ labelText: conditionState.property,
29
+ hideLabel: true,
30
+ value: (_conditionState$value = conditionState.value) !== null && _conditionState$value !== void 0 ? _conditionState$value : '',
31
+ id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
32
+ onChange: function onChange(e) {
33
+ _onChange(e.target.value);
34
+ }
35
+ }));
36
+ };
37
+ ConditionBuilderItemText.propTypes = {
38
+ /**
39
+ * current condition object
40
+ */
41
+ conditionState: index["default"].object,
42
+ /**
43
+ * callback to update state oin date change
44
+ */
45
+ onChange: index["default"].func
46
+ };
47
+
48
+ exports.ConditionBuilderItemText = ConditionBuilderItemText;
@@ -0,0 +1,11 @@
1
+ export function ConditionBuilderItemTime({ onChange, config }: {
2
+ onChange: any;
3
+ config: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export namespace ConditionBuilderItemTime {
6
+ namespace propTypes {
7
+ let config: PropTypes.Requireable<object>;
8
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
9
+ }
10
+ }
11
+ import PropTypes from 'prop-types';
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var react = require('@carbon/react');
15
+ var index = require('../../../../node_modules/prop-types/index.js');
16
+ var DataConfigs = require('../../ConditionBuilderContext/DataConfigs.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ var _SelectItem, _SelectItem2;
23
+ var ConditionBuilderItemTime = function ConditionBuilderItemTime(_ref) {
24
+ var _config$timeZones, _config$timeZones2;
25
+ var onChange = _ref.onChange,
26
+ config = _ref.config;
27
+ var _useState = React.useState(''),
28
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
29
+ timeValue = _useState2[0],
30
+ setTimeValue = _useState2[1];
31
+ var _useState3 = React.useState('AM'),
32
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
33
+ dayZoneValue = _useState4[0],
34
+ setDayZoneValue = _useState4[1];
35
+ var _useState5 = React.useState(config === null || config === void 0 || (_config$timeZones = config.timeZones) === null || _config$timeZones === void 0 ? void 0 : _config$timeZones[0]),
36
+ _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
37
+ timeZoneValue = _useState6[0],
38
+ setTimeZoneValue = _useState6[1];
39
+ React.useEffect(function () {
40
+ var timeToUpdate = "".concat(timeValue !== null && timeValue !== void 0 ? timeValue : '', " ").concat(dayZoneValue !== null && dayZoneValue !== void 0 ? dayZoneValue : '', " ").concat(timeZoneValue !== null && timeZoneValue !== void 0 ? timeZoneValue : '');
41
+ onChange(timeValue ? timeToUpdate : undefined);
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
43
+ }, [timeValue, dayZoneValue, timeZoneValue]);
44
+ var setTimeZone = function setTimeZone(e) {
45
+ setTimeZoneValue(e.target.value);
46
+ };
47
+ var setDayZone = function setDayZone(e) {
48
+ setDayZoneValue(e.target.value);
49
+ };
50
+ var setTime = function setTime(e) {
51
+ setTimeValue(e.target.value);
52
+ };
53
+ return /*#__PURE__*/React__default["default"].createElement("div", {
54
+ className: "".concat(DataConfigs.blockClass, "__condition-builder-item-time")
55
+ }, /*#__PURE__*/React__default["default"].createElement(react.TimePicker, {
56
+ id: "time-picker",
57
+ labelText: "Select a time",
58
+ onChange: setTime
59
+ }, /*#__PURE__*/React__default["default"].createElement(react.TimePickerSelect, {
60
+ id: "time-picker-day-zone",
61
+ onChange: setDayZone
62
+ }, _SelectItem || (_SelectItem = /*#__PURE__*/React__default["default"].createElement(react.SelectItem, {
63
+ value: "AM",
64
+ text: "AM"
65
+ })), _SelectItem2 || (_SelectItem2 = /*#__PURE__*/React__default["default"].createElement(react.SelectItem, {
66
+ value: "PM",
67
+ text: "PM"
68
+ }))), /*#__PURE__*/React__default["default"].createElement(react.TimePickerSelect, {
69
+ id: "time-picker-select-2",
70
+ onChange: setTimeZone
71
+ }, config === null || config === void 0 || (_config$timeZones2 = config.timeZones) === null || _config$timeZones2 === void 0 ? void 0 : _config$timeZones2.map(function (timeZone, index) {
72
+ return /*#__PURE__*/React__default["default"].createElement(react.SelectItem, {
73
+ key: index,
74
+ value: timeZone,
75
+ text: timeZone
76
+ });
77
+ }))));
78
+ };
79
+ ConditionBuilderItemTime.propTypes = {
80
+ /**
81
+ * current config object that this property is part of
82
+ */
83
+ config: index["default"].object,
84
+ /**
85
+ * callback to update state oin date change
86
+ */
87
+ onChange: index["default"].func
88
+ };
89
+
90
+ exports.ConditionBuilderItemTime = ConditionBuilderItemTime;