@carbon/ibm-products 2.42.1-canary.4 → 2.42.1-canary.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. package/css/index-full-carbon.css +302 -9
  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.css +302 -9
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +1 -1
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +302 -9
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +1 -1
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +6 -0
  14. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -33
  15. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +15 -1
  16. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +95 -12
  17. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +11 -2
  18. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +27 -9
  19. package/es/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.js +38 -33
  20. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.d.ts +2 -0
  21. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +44 -0
  22. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +5 -0
  23. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +95 -14
  24. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +1 -0
  25. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +1 -0
  26. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +7 -0
  27. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +8 -1
  28. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +1 -1
  29. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +197 -67
  30. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +10 -0
  31. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +69 -0
  32. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  33. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +1 -1
  34. package/es/components/SidePanel/SidePanel.d.ts +2 -2
  35. package/es/components/SidePanel/SidePanel.js +5 -3
  36. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +6 -0
  37. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +73 -32
  38. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +15 -1
  39. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +92 -9
  40. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +11 -2
  41. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +26 -8
  42. package/lib/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.js +36 -31
  43. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.d.ts +2 -0
  44. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +52 -0
  45. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +5 -0
  46. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +92 -11
  47. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +1 -0
  48. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +1 -0
  49. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +7 -0
  50. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +8 -1
  51. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +1 -1
  52. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +195 -64
  53. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +10 -0
  54. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +77 -0
  55. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  56. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +1 -1
  57. package/lib/components/SidePanel/SidePanel.d.ts +2 -2
  58. package/lib/components/SidePanel/SidePanel.js +5 -3
  59. package/package.json +3 -3
  60. package/scss/components/ConditionBuilder/_condition-builder.scss +21 -1
  61. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +22 -3
  62. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +58 -21
  63. /package/es/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.d.ts +0 -0
  64. /package/lib/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.d.ts +0 -0
@@ -13,12 +13,22 @@ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHel
13
13
  var React = require('react');
14
14
  var ConditionBlock = require('../ConditionBlock/ConditionBlock.js');
15
15
  var index = require('../../../node_modules/prop-types/index.js');
16
+ var cx = require('classnames');
16
17
  var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
18
+ var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
19
+ var ConditionBuilderItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js');
20
+ var util = require('../utils/util.js');
21
+ var ConditionConnector = require('../ConditionBuilderConnector/ConditionConnector.js');
22
+ var ConditionBuilderProvider = require('../ConditionBuilderContext/ConditionBuilderProvider.js');
17
23
  var uuidv4 = require('../../../global/js/utils/uuidv4.js');
24
+ var ConditionPreview = require('../ConditionPreview/ConditionPreview.js');
18
25
 
19
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
27
 
21
28
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
29
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
30
+
31
+ var _ConditionPreview, _ConditionPreview2;
22
32
 
23
33
  /**
24
34
  *
@@ -26,14 +36,24 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
36
  * All the inner components of group are called from here.
27
37
  * @returns
28
38
  */
39
+
29
40
  var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
30
- var _group$conditions;
31
41
  var group = _ref.group,
32
42
  aria = _ref.aria,
33
43
  onRemove = _ref.onRemove,
34
44
  onChange = _ref.onChange,
35
45
  conditionBuilderRef = _ref.conditionBuilderRef,
36
46
  className = _ref.className;
47
+ var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
48
+ variant = _useContext.variant;
49
+ var _useState = React.useState(-1),
50
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
51
+ showConditionPreview = _useState2[0],
52
+ setShowConditionPreview = _useState2[1];
53
+ var _useState3 = React.useState(-1),
54
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
55
+ showConditionSubGroupPreview = _useState4[0],
56
+ setShowConditionSubGroupPreview = _useState4[1];
37
57
  var onRemoveHandler = function onRemoveHandler(conditionId, evt) {
38
58
  if (group.conditions.length > 1) {
39
59
  onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
@@ -64,72 +84,183 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
64
84
  conditions: [].concat(_rollupPluginBabelHelpers.toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [newCondition], _rollupPluginBabelHelpers.toConsumableArray(group.conditions.slice(conditionIndex + 1)))
65
85
  }));
66
86
  };
67
- var isLastCondition = function isLastCondition(conditionIndex, conditionArr) {
68
- return conditionIndex + 1 >= conditionArr.length || conditionArr.length - 1 != conditionIndex && conditionArr[conditionIndex + 1].conditions;
69
- };
70
- var handleFocusOnClose = function handleFocusOnClose(evt) {
71
- var _evt$currentTarget;
72
- var previousClose = (_evt$currentTarget = evt.currentTarget) === null || _evt$currentTarget === void 0 || (_evt$currentTarget = _evt$currentTarget.closest('[role="row"]')) === null || _evt$currentTarget === void 0 || (_evt$currentTarget = _evt$currentTarget.parentElement) === null || _evt$currentTarget === void 0 || (_evt$currentTarget = _evt$currentTarget.previousSibling) === null || _evt$currentTarget === void 0 ? void 0 : _evt$currentTarget.querySelector('[data-name="closeCondition"]');
87
+ var handleFocusOnClose = function handleFocusOnClose(e) {
88
+ var _e$currentTarget;
89
+ var previousClose = (_e$currentTarget = e.currentTarget) === null || _e$currentTarget === void 0 || (_e$currentTarget = _e$currentTarget.closest('[role="row"]')) === null || _e$currentTarget === void 0 || (_e$currentTarget = _e$currentTarget.previousSibling) === null || _e$currentTarget === void 0 ? void 0 : _e$currentTarget.querySelector('[data-name="closeCondition"]');
73
90
  if (previousClose) {
74
91
  previousClose.focus();
75
92
  }
76
93
  };
77
- return /*#__PURE__*/React__default["default"].createElement("div", {
78
- className: "".concat(className, " eachGroup")
79
- }, /*#__PURE__*/React__default["default"].createElement("div", {
80
- className: "".concat(DataConfigs.blockClass, "__condition-wrapper"),
81
- role: "grid",
82
- "aria-label": DataConfigs.translateWithId('condition_builder_group')
83
- }, group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.map(function (eachCondition, conditionIndex) {
94
+ var addConditionSubGroupHandler = function addConditionSubGroupHandler(conditionIndex) {
95
+ onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
96
+ conditions: [].concat(_rollupPluginBabelHelpers.toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [{
97
+ groupSeparateOperator: null,
98
+ groupOperator: 'and',
99
+ statement: 'if',
100
+ conditions: [{
101
+ property: undefined,
102
+ operator: '',
103
+ value: '',
104
+ popoverToOpen: 'propertyField',
105
+ id: uuidv4["default"]()
106
+ }],
107
+ id: uuidv4["default"]()
108
+ }], _rollupPluginBabelHelpers.toConsumableArray(group.conditions.slice(conditionIndex + 1)))
109
+ }));
110
+ };
111
+ var isLastCondition = function isLastCondition(conditionIndex, conditionArr) {
112
+ return conditionIndex + 1 >= conditionArr.length || conditionArr.length - 1 != conditionIndex && conditionArr[conditionIndex + 1].conditions;
113
+ };
114
+ var _showConditionSubGroupPreviewHandler = function showConditionSubGroupPreviewHandler(conditionIndex) {
115
+ setShowConditionSubGroupPreview(conditionIndex);
116
+ };
117
+ var hideConditionSubGroupPreviewHandler = function hideConditionSubGroupPreviewHandler() {
118
+ setShowConditionSubGroupPreview(-1);
119
+ };
120
+ var _showConditionPreviewHandler = function showConditionPreviewHandler(conditionIndex) {
121
+ setShowConditionPreview(conditionIndex);
122
+ };
123
+ var hideConditionPreviewHandler = function hideConditionPreviewHandler() {
124
+ setShowConditionPreview(-1);
125
+ };
126
+ var onStatementChangeHandler = function onStatementChangeHandler(updatedStatement) {
127
+ onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
128
+ statement: updatedStatement
129
+ }));
130
+ };
131
+ var onConnectorOperatorChange = function onConnectorOperatorChange(op) {
132
+ onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
133
+ groupOperator: op
134
+ }));
135
+ };
136
+ var getSentenceVariant = function getSentenceVariant() {
137
+ var _group$conditions;
84
138
  return /*#__PURE__*/React__default["default"].createElement("div", {
85
- key: eachCondition.id
86
- }, eachCondition.conditions && /*#__PURE__*/React__default["default"].createElement(ConditionGroupBuilder, {
87
- className: "".concat(DataConfigs.blockClass, "__group"),
88
- aria: {
89
- level: aria.level + 1,
90
- posinset: conditionIndex + 1,
91
- setsize: group.conditions.length
92
- },
93
- group: eachCondition,
94
- onChange: function onChange(updatedCondition) {
95
- onChangeHandler(updatedCondition, conditionIndex);
96
- },
97
- onRemove: function onRemove(evt) {
98
- onRemoveHandler(eachCondition.id, evt);
99
- },
100
- conditionBuilderRef: conditionBuilderRef
101
- }), !eachCondition.conditions && /*#__PURE__*/React__default["default"].createElement(ConditionBlock["default"], {
102
- conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
103
- aria: {
104
- level: aria.level + 1,
105
- posinset: conditionIndex + 1,
106
- setsize: group.conditions.length
107
- },
108
- isStatement: conditionIndex == 0,
109
- condition: eachCondition,
110
- group: group,
111
- conditionIndex: conditionIndex,
112
- className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-bottom"),
113
- onChange: function onChange(updatedConditions) {
114
- onChangeHandler(updatedConditions, conditionIndex);
115
- },
116
- addConditionHandler: addConditionHandler,
117
- onRemove: function onRemove(evt) {
118
- onRemoveHandler(eachCondition.id, evt);
119
- },
120
- onConnectorOperatorChange: function onConnectorOperatorChange(op) {
121
- onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
122
- groupOperator: op
123
- }));
139
+ className: "".concat(className, " eachGroup")
140
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
141
+ className: "".concat(DataConfigs.blockClass, "__condition-wrapper"),
142
+ role: "grid",
143
+ "aria-label": DataConfigs.translateWithId('condition_builder_group')
144
+ }, group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.map(function (eachCondition, conditionIndex) {
145
+ return /*#__PURE__*/React__default["default"].createElement("div", {
146
+ key: eachCondition.id,
147
+ className: "".concat(DataConfigs.blockClass, "__group-wrapper")
148
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBlock["default"], {
149
+ conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
150
+ aria: {
151
+ level: aria.level + 1,
152
+ posinset: conditionIndex + 1,
153
+ setsize: group.conditions.length
154
+ },
155
+ isStatement: conditionIndex == 0,
156
+ condition: eachCondition,
157
+ group: group,
158
+ conditionIndex: conditionIndex,
159
+ onChange: function onChange(updatedConditions) {
160
+ onChangeHandler(updatedConditions, conditionIndex);
161
+ },
162
+ addConditionHandler: addConditionHandler,
163
+ onRemove: function onRemove(e) {
164
+ onRemoveHandler(eachCondition.id, e);
165
+ },
166
+ onConnectorOperatorChange: onConnectorOperatorChange,
167
+ onStatementChange: onStatementChangeHandler,
168
+ isLastCondition: isLastCondition
169
+ }));
170
+ })));
171
+ };
172
+ var getTreeVariant = function getTreeVariant() {
173
+ var _group$conditions2;
174
+ return /*#__PURE__*/React__default["default"].createElement("div", {
175
+ className: "".concat(className, " ").concat(DataConfigs.blockClass, "__condition-wrapper"),
176
+ role: aria.level === 1 ? 'rowgroup' : undefined,
177
+ "aria-label": aria.level == 1 ? DataConfigs.translateWithId('condition_builder_group') : undefined
178
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
179
+ tabIndex: 0,
180
+ role: "row",
181
+ "aria-level": aria.level,
182
+ "aria-posinset": aria.posinset,
183
+ "aria-setsize": aria.setsize
184
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
185
+ label: group.statement,
186
+ title: DataConfigs.translateWithId('condition'),
187
+ "data-name": "connectorField",
188
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
189
+ className: "".concat(DataConfigs.blockClass, "__statement-button")
190
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
191
+ conditionState: {
192
+ value: group.statement,
193
+ label: DataConfigs.translateWithId('condition')
124
194
  },
125
- onStatementChange: function onStatementChange(updatedStatement) {
126
- onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
127
- statement: updatedStatement
128
- }));
195
+ onChange: function onChange(v, evt) {
196
+ util.focusThisField(evt);
197
+ onStatementChangeHandler(v);
129
198
  },
130
- isLastCondition: isLastCondition
199
+ config: {
200
+ options: DataConfigs.statementConfig
201
+ }
202
+ }))), group === null || group === void 0 || (_group$conditions2 = group.conditions) === null || _group$conditions2 === void 0 ? void 0 : _group$conditions2.map(function (eachCondition, conditionIndex) {
203
+ return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
204
+ key: eachCondition.id
205
+ }, eachCondition.conditions ? /*#__PURE__*/React__default["default"].createElement("div", {
206
+ className: cx__default["default"]("".concat(DataConfigs.blockClass, "__condition-block subgroup ").concat(DataConfigs.blockClass, "__gap"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__gap-bottom"), group.conditions.length < conditionIndex + 1))
207
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionConnector["default"], {
208
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__groupConnector"),
209
+ operator: group.groupOperator,
210
+ "aria-hidden": true
211
+ }), /*#__PURE__*/React__default["default"].createElement(ConditionGroupBuilder, {
212
+ aria: {
213
+ level: aria.level + 1,
214
+ posinset: conditionIndex + 1,
215
+ setsize: group.conditions.length
216
+ },
217
+ className: "".concat(DataConfigs.blockClass, "__group"),
218
+ group: eachCondition,
219
+ onChange: function onChange(updatedConditions) {
220
+ onChangeHandler(updatedConditions, conditionIndex);
221
+ },
222
+ onRemove: function onRemove(e) {
223
+ onRemoveHandler(eachCondition.id, e);
224
+ },
225
+ conditionBuilderRef: conditionBuilderRef
226
+ })) : /*#__PURE__*/React__default["default"].createElement(ConditionBlock["default"], {
227
+ conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
228
+ aria: {
229
+ level: aria.level + 1,
230
+ posinset: conditionIndex + 1,
231
+ setsize: group.conditions.length
232
+ },
233
+ isStatement: false,
234
+ condition: eachCondition,
235
+ group: group,
236
+ conditionIndex: conditionIndex,
237
+ addConditionHandler: addConditionHandler,
238
+ addConditionSubGroupHandler: addConditionSubGroupHandler,
239
+ onChange: function onChange(updatedConditions) {
240
+ onChangeHandler(updatedConditions, conditionIndex);
241
+ },
242
+ onRemove: function onRemove(e) {
243
+ onRemoveHandler(eachCondition.id, e);
244
+ },
245
+ onConnectorOperatorChange: onConnectorOperatorChange,
246
+ onStatementChange: onStatementChangeHandler,
247
+ showConditionSubGroupPreviewHandler: function showConditionSubGroupPreviewHandler() {
248
+ _showConditionSubGroupPreviewHandler(conditionIndex);
249
+ },
250
+ hideConditionSubGroupPreviewHandler: hideConditionSubGroupPreviewHandler,
251
+ showConditionPreviewHandler: function showConditionPreviewHandler() {
252
+ _showConditionPreviewHandler(conditionIndex);
253
+ },
254
+ hideConditionPreviewHandler: hideConditionPreviewHandler,
255
+ isLastCondition: isLastCondition
256
+ }), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default["default"].createElement(ConditionPreview["default"], {
257
+ previewType: "subGroup"
258
+ }))), conditionIndex == showConditionPreview && (_ConditionPreview2 || (_ConditionPreview2 = /*#__PURE__*/React__default["default"].createElement(ConditionPreview["default"], {
259
+ previewType: "condition"
260
+ }))));
131
261
  }));
132
- })));
262
+ };
263
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, variant == 'tree' && getTreeVariant(), variant == 'sentence' && getSentenceVariant());
133
264
  };
134
265
  var ConditionGroupBuilder$1 = ConditionGroupBuilder;
135
266
  ConditionGroupBuilder.propTypes = {
@@ -138,19 +269,19 @@ ConditionGroupBuilder.propTypes = {
138
269
  */
139
270
  aria: index["default"].object,
140
271
  /**
141
- * Provide an class to be applied to the containing node.
272
+ * state defines the current group
273
+ */
274
+ /**
275
+ * Provide an optional class to be applied to the containing node.
142
276
  */
143
277
  className: index["default"].string,
144
278
  /**
279
+ className: PropTypes.string,
145
280
  * ref of condition builder
146
281
  */
147
282
  conditionBuilderRef: index["default"].object,
148
- /**
149
- * group defines the current group
150
- */
151
283
  group: index["default"].object,
152
284
  /**
153
-
154
285
  * callback to update the current condition of the state tree
155
286
  */
156
287
  onChange: index["default"].func,
@@ -0,0 +1,10 @@
1
+ export default ConditionPreview;
2
+ declare function ConditionPreview({ previewType }: {
3
+ previewType: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ declare namespace ConditionPreview {
6
+ namespace propTypes {
7
+ let previewType: PropTypes.Requireable<string>;
8
+ }
9
+ }
10
+ import PropTypes from 'prop-types';
@@ -0,0 +1,77 @@
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 index = require('../../../node_modules/prop-types/index.js');
14
+ var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
15
+ var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
16
+ var ConditionConnector = require('../ConditionBuilderConnector/ConditionConnector.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 ConditionPreview = function ConditionPreview(_ref) {
23
+ var previewType = _ref.previewType;
24
+ var getConditionSection = function getConditionSection() {
25
+ return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
26
+ label: DataConfigs.translateWithId('property')
27
+ }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
28
+ label: DataConfigs.translateWithId('operator')
29
+ }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
30
+ label: DataConfigs.translateWithId('value')
31
+ }));
32
+ };
33
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, previewType == 'newGroup' && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
34
+ className: "".concat(DataConfigs.blockClass, "__group__row ").concat(DataConfigs.blockClass, "__group-preview ")
35
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
36
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
37
+ label: DataConfigs.translateWithId('and')
38
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
39
+ "aria-hidden": true,
40
+ className: "".concat(DataConfigs.blockClass, "__group ").concat(DataConfigs.blockClass, "__condition-wrapper ").concat(DataConfigs.blockClass, "__group-preview ").concat(DataConfigs.blockClass, "__group-wrapper")
41
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
42
+ className: "".concat(DataConfigs.blockClass, "__gap")
43
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
44
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
45
+ label: DataConfigs.translateWithId('if')
46
+ })), getConditionSection())), previewType == 'subGroup' && /*#__PURE__*/React__default["default"].createElement("div", {
47
+ className: "".concat(DataConfigs.blockClass, "__group-preview")
48
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
49
+ className: "".concat(DataConfigs.blockClass, "__condition-block ").concat(DataConfigs.blockClass, "__gap")
50
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
51
+ label: DataConfigs.translateWithId('and'),
52
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
53
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap")
54
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
55
+ className: "".concat(DataConfigs.blockClass, "__group ").concat(DataConfigs.blockClass, "__condition-wrapper")
56
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionConnector["default"], {
57
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__groupConnector"),
58
+ operator: DataConfigs.translateWithId('if')
59
+ }), getConditionSection()))), previewType == 'condition' && /*#__PURE__*/React__default["default"].createElement("div", {
60
+ className: "".concat(DataConfigs.blockClass, "__group-preview")
61
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
62
+ className: "".concat(DataConfigs.blockClass, "__condition-block ").concat(DataConfigs.blockClass, "__gap")
63
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
64
+ label: DataConfigs.translateWithId('and'),
65
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
66
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap")
67
+ }), getConditionSection())));
68
+ };
69
+ var ConditionPreview$1 = ConditionPreview;
70
+ ConditionPreview.propTypes = {
71
+ /**
72
+ * type of review to be displayed
73
+ */
74
+ previewType: index["default"].oneOf(['condition', 'subGroup', 'newGroup'])
75
+ };
76
+
77
+ exports["default"] = ConditionPreview$1;
@@ -2,3 +2,4 @@ export function focusThisField(evt: any): void;
2
2
  export function focusThisItem(currentElement: any): void;
3
3
  export function traverseClockVise(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
4
4
  export function traverseReverse(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
5
+ export function checkForHoldingKey(evt: any, key: any): any;
@@ -454,7 +454,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
454
454
  "data-inline-type": type,
455
455
  onClick: !nonEditCell ? handleInlineCellClick : addActiveState,
456
456
  onKeyDown: !nonEditCell ? handleKeyDown : null,
457
- className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue)), "".concat(blockClass, "__static--outer-cell"), !disabledCell))
457
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), inEditMode && (config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue))), "".concat(blockClass, "__static--outer-cell"), !disabledCell))
458
458
  }, !nonEditCell && !disabledCell && renderRegularCell(), (!inEditMode || disabledCell) && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
459
459
  isActiveCell: cellId === activeCellId,
460
460
  renderIcon: setRenderIcon(),
@@ -11,7 +11,7 @@ type SidePanelBaseProps = {
11
11
  /**
12
12
  * Sets the action toolbar buttons
13
13
  */
14
- actionToolbarButtons?: ButtonProps[];
14
+ actionToolbarButtons?: ButtonProps<any>[];
15
15
  /**
16
16
  * The primary actions to be shown in the side panel. Each action is
17
17
  * specified as an object that will render expressive Buttons. Any Button
@@ -20,7 +20,7 @@ type SidePanelBaseProps = {
20
20
  *
21
21
  * See https://react.carbondesignsystem.com/?path=/docs/components-button--default#component-api
22
22
  */
23
- actions?: ButtonProps[];
23
+ actions?: ButtonProps<any>[];
24
24
  /**
25
25
  * Determines if the title will animate on scroll
26
26
  */
@@ -332,12 +332,12 @@ exports.SidePanel = /*#__PURE__*/React__default["default"].forwardRef(function (
332
332
  if (primeFocusEl) {
333
333
  primeFocusEl === null || primeFocusEl === void 0 || primeFocusEl.focus();
334
334
  }
335
- } else {
335
+ } else if (!slideIn) {
336
336
  firstElement === null || firstElement === void 0 || firstElement.focus();
337
337
  }
338
338
  }, 0);
339
339
  }
340
- }, [animationComplete, firstElement, open, selectorPrimaryFocus]);
340
+ }, [animationComplete, firstElement, open, selectorPrimaryFocus, slideIn]);
341
341
  var primaryActionContainerClassNames = cx__default["default"](["".concat(blockClass, "__actions-container"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__actions-container--condensed"), condensedActions)]);
342
342
  var mainPanelClassNames = cx__default["default"]([blockClass, className, "".concat(blockClass), "".concat(blockClass, "--").concat(size), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--right-placement"), placement === 'right'), "".concat(blockClass, "--left-placement"), placement === 'left'), "".concat(blockClass, "--slide-in"), slideIn), "".concat(blockClass, "--has-slug"), slug), "".concat(blockClass, "--condensed-actions"), condensedActions), "".concat(blockClass, "--has-overlay"), includeOverlay)]);
343
343
  var renderTitle = function renderTitle() {
@@ -457,7 +457,7 @@ exports.SidePanel = /*#__PURE__*/React__default["default"].forwardRef(function (
457
457
  placement: placement,
458
458
  shouldReduceMotion: shouldReduceMotion
459
459
  },
460
- onKeyDown: keyDownListener
460
+ onKeyDown: slideIn ? undefined : keyDownListener
461
461
  }), /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, renderHeader(), renderMain()), /*#__PURE__*/React__default["default"].createElement(MotionActionSet, {
462
462
  actions: actions !== null && actions !== void 0 ? actions : [],
463
463
  className: primaryActionContainerClassNames,
@@ -480,6 +480,7 @@ exports.SidePanel.propTypes = {
480
480
  /**
481
481
  * Sets the action toolbar buttons
482
482
  */
483
+ /**@ts-ignore */
483
484
  actionToolbarButtons: index["default"].arrayOf(index["default"].shape({
484
485
  label: index["default"].string,
485
486
  leading: index["default"].bool,
@@ -513,6 +514,7 @@ exports.SidePanel.propTypes = {
513
514
  label: index["default"].string,
514
515
  loading: index["default"].bool,
515
516
  // we duplicate this Button prop to improve the DocGen here
517
+ /**@ts-ignore */
516
518
  onClick: react.Button.propTypes.onClick
517
519
  })))]),
518
520
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "2.42.1-canary.4+7442150e7",
4
+ "version": "2.42.1-canary.8+553f2c7e1",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -97,7 +97,7 @@
97
97
  "dependencies": {
98
98
  "@babel/runtime": "^7.23.9",
99
99
  "@carbon/feature-flags": "^0.20.0",
100
- "@carbon/ibm-products-styles": "^2.38.2-canary.4+7442150e7",
100
+ "@carbon/ibm-products-styles": "^2.38.2-canary.8+553f2c7e1",
101
101
  "@carbon/telemetry": "^0.1.0",
102
102
  "@dnd-kit/core": "^6.0.8",
103
103
  "@dnd-kit/modifiers": "^7.0.0",
@@ -121,5 +121,5 @@
121
121
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
122
122
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
123
123
  },
124
- "gitHead": "7442150e758ba89967e09233bc45c944bdb8c37f"
124
+ "gitHead": "553f2c7e1c6848e853abd71d493b3bca77968252"
125
125
  }
@@ -27,7 +27,9 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
27
27
  // .#{$block-class} {
28
28
  // // TODO: Styles.
29
29
  // }
30
-
30
+ .#{$block-class} {
31
+ padding: $spacing-06;
32
+ }
31
33
  .#{$block-class}__condition-builder__group {
32
34
  display: flex;
33
35
  }
@@ -47,5 +49,23 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
47
49
  }
48
50
  .#{$block-class}__condition-block {
49
51
  display: flex;
52
+ width: max-content;
50
53
  flex-direction: row;
51
54
  }
55
+ .#{$block-class}__content-container {
56
+ display: flex;
57
+ flex-direction: column;
58
+ row-gap: $spacing-02;
59
+ }
60
+ .#{$block-class}__heading {
61
+ margin-top: $spacing-03;
62
+ margin-bottom: $spacing-03;
63
+ }
64
+ .#{$block-class}__tree
65
+ .#{$block-class}__actions-container
66
+ .#{$block-class}__condition-wrapper {
67
+ flex-direction: column;
68
+ }
69
+ .#{$block-class}__group-separator {
70
+ margin-top: $spacing-02;
71
+ }
@@ -1,3 +1,4 @@
1
+ @use '@carbon/react/scss/theme' as *;
1
2
  @use '@carbon/react/scss/spacing' as *;
2
3
  @use '@carbon/react/scss/motion';
3
4
  @use '@carbon/styles/scss/components/tag' as *;
@@ -5,6 +6,7 @@
5
6
  @use '../../../global/styles/project-settings' as c4p-settings;
6
7
  @use '@carbon/styles/scss/type';
7
8
  @use '@carbon/styles/scss/type' as *;
9
+ @use '@carbon/react/scss/utilities';
8
10
 
9
11
  $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
10
12
 
@@ -14,12 +16,17 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
14
16
  display: inline-flex;
15
17
  }
16
18
 
17
- [role='row']:focus {
19
+ .#{$block-class} [role='row'] {
20
+ position: relative;
21
+ outline: none;
22
+ }
23
+ .#{$block-class} [role='row']:focus::after {
18
24
  @include focus-outline.focus-outline('outline');
19
25
 
20
- outline-offset: 0;
26
+ position: absolute;
27
+ content: '';
28
+ inset: 0;
21
29
  }
22
-
23
30
  .#{$block-class}__condition__deletion-preview
24
31
  .#{$block-class}__button:not(
25
32
  .#{$block-class}__statement-button,
@@ -44,3 +51,15 @@ $block-class: #{c4p-settings.$pkg-prefix}--condition-builder;
44
51
  text-overflow: ellipsis;
45
52
  text-wrap: nowrap;
46
53
  }
54
+ .#{$block-class}__group-preview {
55
+ opacity: 0.5;
56
+ pointer-events: none;
57
+ }
58
+ .#{$block-class}__connector-disabled {
59
+ display: flex;
60
+ min-width: $spacing-10;
61
+ align-items: center;
62
+ background-color: $layer;
63
+ color: $text-helper;
64
+ padding-inline: $spacing-03;
65
+ }