@carbon/ibm-products 2.43.2-canary.145 → 2.43.2-canary.149

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. package/css/index-full-carbon.css +4 -6
  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 +4 -6
  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 +4 -6
  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/Card/Card.js +4 -2
  14. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +100 -24
  15. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +19 -20
  16. package/es/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
  17. package/es/components/ConditionBuilder/ConditionBuilder.js +9 -6
  18. package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts +150 -0
  19. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
  20. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +6 -6
  21. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
  22. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +1 -2
  23. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +84 -37
  24. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +1 -1
  25. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
  26. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +5 -6
  27. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
  28. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +32 -30
  29. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
  30. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +20 -29
  31. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
  32. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +5 -5
  33. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
  34. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +1 -1
  35. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
  36. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +11 -6
  37. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +33 -12
  38. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +5 -4
  39. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +3 -3
  41. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
  42. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +4 -4
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
  44. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
  45. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +39 -32
  46. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
  47. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +1 -2
  48. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -1
  49. package/es/components/Datagrid/useFiltering.d.ts +1 -0
  50. package/es/components/Datagrid/useFiltering.js +14 -3
  51. package/lib/components/Card/Card.js +3 -1
  52. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +100 -24
  53. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +19 -20
  54. package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
  55. package/lib/components/ConditionBuilder/ConditionBuilder.js +9 -6
  56. package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts +150 -0
  57. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
  58. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +6 -6
  59. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
  60. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +1 -2
  61. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +84 -37
  62. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +1 -1
  63. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
  64. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +5 -6
  65. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
  66. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +32 -30
  67. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
  68. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +20 -29
  69. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
  70. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +5 -5
  71. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
  72. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +1 -1
  73. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
  74. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +11 -6
  75. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +33 -12
  76. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +5 -4
  77. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
  78. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +3 -3
  79. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
  80. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +4 -4
  81. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
  82. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
  83. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +39 -32
  84. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
  85. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +1 -2
  86. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -1
  87. package/lib/components/Datagrid/useFiltering.d.ts +1 -0
  88. package/lib/components/Datagrid/useFiltering.js +13 -1
  89. package/package.json +3 -3
  90. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +21 -19
@@ -51,23 +51,25 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
51
51
  showConditionSubGroupPreview = _useState4[0],
52
52
  setShowConditionSubGroupPreview = _useState4[1];
53
53
  useState(false);
54
- var conditionBuilderContentRef = useRef();
54
+ var conditionBuilderContentRef = useRef(null);
55
55
  var onRemoveHandler = function onRemoveHandler(conditionId, evt, conditionIndex) {
56
- if (group.conditions.length > 1) {
56
+ if (group && group.conditions && group.conditions.length > 1) {
57
57
  variant == 'tree' ? handleFocusOnCloseTree(evt) : handleFocusOnClose(evt, conditionIndex);
58
58
  if (!checkGroupHaveCondition(group.conditions, conditionId)) {
59
+ var _group$conditions;
59
60
  //when we delete the last condition of a group without deleting the subgroup, we need to restructure the group.
60
61
  //we will shift the group one level up. The subgroups will open up as conditions.
61
62
 
62
63
  //spreading out the condition inside the subgroup
63
- var allConditions = group.conditions.reduce(function (acc, condition) {
64
- if (condition.conditions) {
64
+ var allConditions = group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.reduce(function (acc, condition) {
65
+ var _condition = condition;
66
+ if (_condition.conditions) {
65
67
  //this is a subgroup
66
- return acc.concat(condition.conditions);
68
+ return acc.concat(_condition.conditions);
67
69
  }
68
70
  return acc;
69
71
  }, []);
70
- onChange(_objectSpread2(_objectSpread2({}, group), {}, {
72
+ onChange === null || onChange === void 0 || onChange(_objectSpread2(_objectSpread2({}, group), {}, {
71
73
  conditions: allConditions
72
74
  }));
73
75
  } else {
@@ -77,15 +79,16 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
77
79
  //This is to handle a edge case.
78
80
  //When a group has structure as 1 condition,1 subgroup, 1 condition and if we delete first condition,
79
81
  //the group will start with a subgroup. To avoid this,opening up that subgroup.
80
- if (filteredConditions !== null && filteredConditions !== void 0 && filteredConditions[0].conditions) {
81
- filteredConditions.splice.apply(filteredConditions, [0, 1].concat(_toConsumableArray(filteredConditions[0].conditions)));
82
+ if ((filteredConditions === null || filteredConditions === void 0 ? void 0 : filteredConditions[0]).conditions) {
83
+ var firstFilteredConditions = filteredConditions[0];
84
+ filteredConditions.splice.apply(filteredConditions, [0, 1].concat(_toConsumableArray(firstFilteredConditions === null || firstFilteredConditions === void 0 ? void 0 : firstFilteredConditions.conditions)));
82
85
  }
83
- onChange(_objectSpread2(_objectSpread2({}, group), {}, {
86
+ onChange === null || onChange === void 0 || onChange(_objectSpread2(_objectSpread2({}, group), {}, {
84
87
  conditions: filteredConditions
85
88
  }));
86
89
  }
87
90
  } else {
88
- onRemove(evt);
91
+ onRemove === null || onRemove === void 0 || onRemove(evt);
89
92
  }
90
93
  };
91
94
  //check to identify a group without a plain condition
@@ -95,9 +98,11 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
95
98
  });
96
99
  };
97
100
  var onChangeHandler = function onChangeHandler(updatedCondition, conditionIndex) {
98
- var updatedConditions = [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex)), [updatedCondition], _toConsumableArray(group.conditions.slice(conditionIndex + 1)));
99
- onChange(_objectSpread2(_objectSpread2({}, group), {}, {
100
- conditions: updatedConditions
101
+ var _group$id;
102
+ var updatedConditions = [].concat(_toConsumableArray(group !== null && group !== void 0 && group.conditions ? group.conditions.slice(0, conditionIndex) : []), [updatedCondition], _toConsumableArray(group !== null && group !== void 0 && group.conditions ? group.conditions.slice(conditionIndex + 1) : []));
103
+ onChange === null || onChange === void 0 || onChange(_objectSpread2(_objectSpread2({}, group), {}, {
104
+ conditions: updatedConditions,
105
+ id: (_group$id = group === null || group === void 0 ? void 0 : group.id) !== null && _group$id !== void 0 ? _group$id : uuidv4()
101
106
  }));
102
107
  };
103
108
  var addConditionHandler = function addConditionHandler(conditionIndex) {
@@ -108,8 +113,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
108
113
  popoverToOpen: 'propertyField',
109
114
  id: uuidv4()
110
115
  };
111
- onChange(_objectSpread2(_objectSpread2({}, group), {}, {
112
- conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [newCondition], _toConsumableArray(group.conditions.slice(conditionIndex + 1)))
116
+ onChange === null || onChange === void 0 || onChange(_objectSpread2(_objectSpread2({}, group), {}, {
117
+ conditions: [].concat(_toConsumableArray(group.conditions ? group.conditions.slice(0, conditionIndex + 1) : []), [newCondition], _toConsumableArray(group.conditions ? group.conditions.slice(conditionIndex + 1) : []))
113
118
  }));
114
119
  };
115
120
  var handleFocusOnClose = function handleFocusOnClose(e, conditionIndex) {
@@ -154,10 +159,11 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
154
159
  ariaPosInSet: nextRow.ariaPosInSet
155
160
  };
156
161
  setTimeout(function () {
157
- var currentRowToFocus = conditionBuilderContentRef.current.querySelector("[role=\"row\"][aria-level=\"".concat(rowIdentity.ariaLevel, "\"][aria-posinset=\"").concat(rowIdentity.ariaPosInSet, "\"]"));
162
+ var _conditionBuilderCont5;
163
+ var currentRowToFocus = (_conditionBuilderCont5 = conditionBuilderContentRef.current) === null || _conditionBuilderCont5 === void 0 ? void 0 : _conditionBuilderCont5.querySelector("[role=\"row\"][aria-level=\"".concat(rowIdentity.ariaLevel, "\"][aria-posinset=\"").concat(rowIdentity.ariaPosInSet, "\"]"));
158
164
  manageTabIndexAndFocus(currentRowToFocus === null || currentRowToFocus === void 0 ? void 0 : currentRowToFocus.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
159
165
  }, 0);
160
- } else if ((prevRows === null || prevRows === void 0 ? void 0 : prevRows.length) > 1) {
166
+ } else if (prevRows !== null && prevRows !== void 0 && prevRows.length && prevRows.length > 1) {
161
167
  var _prevRows;
162
168
  manageTabIndexAndFocus((_prevRows = prevRows[prevRows.length - 2]) === null || _prevRows === void 0 ? void 0 : _prevRows.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
163
169
  }
@@ -165,9 +171,9 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
165
171
  };
166
172
  var addConditionSubGroupHandler = function addConditionSubGroupHandler(conditionIndex) {
167
173
  onChange(_objectSpread2(_objectSpread2({}, group), {}, {
168
- conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [{
169
- groupOperator: 'and',
174
+ conditions: [].concat(_toConsumableArray(group.conditions ? group.conditions.slice(0, conditionIndex + 1) : []), [{
170
175
  statement: 'if',
176
+ groupOperator: 'and',
171
177
  conditions: [{
172
178
  property: undefined,
173
179
  operator: '',
@@ -176,7 +182,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
176
182
  id: uuidv4()
177
183
  }],
178
184
  id: uuidv4()
179
- }], _toConsumableArray(group.conditions.slice(conditionIndex + 1)))
185
+ }], _toConsumableArray(group.conditions ? group.conditions.slice(conditionIndex + 1) : []))
180
186
  }));
181
187
  };
182
188
  var isLastCondition = function isLastCondition(conditionIndex, conditionArr) {
@@ -210,14 +216,15 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
210
216
  }));
211
217
  };
212
218
  var getSentenceVariant = function getSentenceVariant() {
213
- var _group$conditions;
219
+ var _group$conditions2;
214
220
  return /*#__PURE__*/React__default.createElement("div", {
215
221
  className: "".concat(className, " eachGroup")
216
222
  }, /*#__PURE__*/React__default.createElement("div", {
217
223
  className: "".concat(blockClass, "__condition-wrapper"),
218
224
  role: "grid",
219
225
  "aria-label": conditionBuilderText
220
- }, group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.map(function (eachCondition, conditionIndex) {
226
+ }, group === null || group === void 0 || (_group$conditions2 = group.conditions) === null || _group$conditions2 === void 0 ? void 0 : _group$conditions2.map(function (eachCondition, conditionIndex) {
227
+ var _group$conditions3;
221
228
  return /*#__PURE__*/React__default.createElement("div", {
222
229
  key: eachCondition.id,
223
230
  className: "".concat(blockClass, "__group-wrapper")
@@ -226,7 +233,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
226
233
  aria: {
227
234
  level: aria.level + 1,
228
235
  posinset: conditionIndex + 1,
229
- setsize: group.conditions.length
236
+ setsize: group === null || group === void 0 || (_group$conditions3 = group.conditions) === null || _group$conditions3 === void 0 ? void 0 : _group$conditions3.length
230
237
  },
231
238
  isStatement: conditionIndex == 0,
232
239
  condition: eachCondition,
@@ -246,7 +253,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
246
253
  })));
247
254
  };
248
255
  var getTreeVariant = function getTreeVariant() {
249
- var _group$conditions2;
256
+ var _group$conditions4;
250
257
  return /*#__PURE__*/React__default.createElement("div", {
251
258
  className: "".concat(className, " ").concat(blockClass, "__condition-wrapper"),
252
259
  role: aria.level === 1 ? 'rowgroup' : undefined,
@@ -276,11 +283,12 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
276
283
  config: {
277
284
  options: statementConfig
278
285
  }
279
- }))), group === null || group === void 0 || (_group$conditions2 = group.conditions) === null || _group$conditions2 === void 0 ? void 0 : _group$conditions2.map(function (eachCondition, conditionIndex) {
286
+ }))), group === null || group === void 0 || (_group$conditions4 = group.conditions) === null || _group$conditions4 === void 0 ? void 0 : _group$conditions4.map(function (eachCondition, conditionIndex) {
287
+ var _group$conditions$len, _group$conditions5, _group$conditions$len2, _group$conditions6;
280
288
  return /*#__PURE__*/React__default.createElement(Fragment, {
281
289
  key: eachCondition.id
282
290
  }, eachCondition.conditions ? /*#__PURE__*/React__default.createElement("div", {
283
- className: cx("".concat(blockClass, "__condition-block subgroup ").concat(blockClass, "__gap"), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), group.conditions.length < conditionIndex + 1), {})
291
+ className: cx("".concat(blockClass, "__condition-block subgroup ").concat(blockClass, "__gap"), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), group && group.conditions && group.conditions.length < conditionIndex + 1), {})
284
292
  }, /*#__PURE__*/React__default.createElement(ConditionConnector, {
285
293
  className: "".concat(blockClass, "__gap ").concat(blockClass, "__gap-bottom ").concat(blockClass, "__groupConnector"),
286
294
  operator: group.groupOperator,
@@ -289,7 +297,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
289
297
  aria: {
290
298
  level: aria.level + 1,
291
299
  posinset: conditionIndex + 1,
292
- setsize: group.conditions.length
300
+ setsize: (_group$conditions$len = (_group$conditions5 = group.conditions) === null || _group$conditions5 === void 0 ? void 0 : _group$conditions5.length) !== null && _group$conditions$len !== void 0 ? _group$conditions$len : 0
293
301
  },
294
302
  className: "".concat(blockClass, "__group"),
295
303
  group: eachCondition,
@@ -297,14 +305,14 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
297
305
  onChangeHandler(updatedConditions, conditionIndex);
298
306
  },
299
307
  onRemove: function onRemove(e) {
300
- onRemoveHandler(eachCondition.id, e);
308
+ onRemoveHandler(eachCondition.id, e, conditionIndex);
301
309
  }
302
310
  })) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ConditionBlock, {
303
311
  conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
304
312
  aria: {
305
313
  level: aria.level + 1,
306
314
  posinset: conditionIndex + 1,
307
- setsize: group.conditions.length
315
+ setsize: (_group$conditions$len2 = (_group$conditions6 = group.conditions) === null || _group$conditions6 === void 0 ? void 0 : _group$conditions6.length) !== null && _group$conditions$len2 !== void 0 ? _group$conditions$len2 : 0
308
316
  },
309
317
  isStatement: false,
310
318
  condition: eachCondition,
@@ -316,7 +324,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
316
324
  onChangeHandler(updatedConditions, conditionIndex);
317
325
  },
318
326
  onRemove: function onRemove(e) {
319
- onRemoveHandler(eachCondition.id, e);
327
+ onRemoveHandler(eachCondition.id, e, conditionIndex);
320
328
  },
321
329
  onConnectorOperatorChange: onConnectorOperatorChange,
322
330
  onStatementChange: onStatementChangeHandler,
@@ -340,7 +348,6 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
340
348
  };
341
349
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, variant == 'tree' && getTreeVariant(), variant == 'sentence' && getSentenceVariant());
342
350
  };
343
- var ConditionGroupBuilder$1 = ConditionGroupBuilder;
344
351
  ConditionGroupBuilder.propTypes = {
345
352
  /**
346
353
  * object contains the aria attributes
@@ -364,4 +371,4 @@ ConditionGroupBuilder.propTypes = {
364
371
  onRemove: PropTypes.func
365
372
  };
366
373
 
367
- export { ConditionGroupBuilder$1 as default };
374
+ export { ConditionGroupBuilder as default };
@@ -1,14 +1,31 @@
1
- export default ConditionPreview;
2
- declare function ConditionPreview({ previewType, group, colorIndex }: {
3
- previewType: any;
4
- group: any;
5
- colorIndex: any;
6
- }): import("react/jsx-runtime").JSX.Element;
7
- declare namespace ConditionPreview {
8
- namespace propTypes {
9
- let colorIndex: PropTypes.Requireable<number>;
10
- let group: PropTypes.Requireable<object>;
11
- let previewType: PropTypes.Requireable<string>;
12
- }
13
- }
1
+ /**
2
+ * Copyright IBM Corp. 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
+ */
14
7
  import PropTypes from 'prop-types';
8
+ import { ConditionGroup } from '../ConditionBuilder.types';
9
+ interface ConditionPreviewProps {
10
+ previewType: 'newGroup' | 'subGroup' | 'condition';
11
+ group: ConditionGroup;
12
+ colorIndex?: number;
13
+ }
14
+ declare const ConditionPreview: {
15
+ ({ previewType, group, colorIndex, }: ConditionPreviewProps): import("react/jsx-runtime").JSX.Element;
16
+ propTypes: {
17
+ /**
18
+ * index of the color for next group
19
+ */
20
+ colorIndex: PropTypes.Requireable<number>;
21
+ /**
22
+ * current conditional group
23
+ */
24
+ group: PropTypes.Requireable<object>;
25
+ /**
26
+ * type of review to be displayed
27
+ */
28
+ previewType: PropTypes.Requireable<string>;
29
+ };
30
+ };
31
+ export default ConditionPreview;
@@ -82,7 +82,6 @@ var ConditionPreview = function ConditionPreview(_ref) {
82
82
  popOverClassName: "".concat(blockClass, "__gap")
83
83
  }), getConditionSection())));
84
84
  };
85
- var ConditionPreview$1 = ConditionPreview;
86
85
  ConditionPreview.propTypes = {
87
86
  /**
88
87
  * index of the color for next group
@@ -98,4 +97,4 @@ ConditionPreview.propTypes = {
98
97
  previewType: PropTypes.oneOf(['condition', 'subGroup', 'newGroup'])
99
98
  };
100
99
 
101
- export { ConditionPreview$1 as default };
100
+ export { ConditionPreview as default };
@@ -78,9 +78,9 @@ var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentCont
78
78
  if (document.activeElement.type !== 'button') {
79
79
  var _document$activeEleme2;
80
80
  //for button , enter key is click which already handled by framework, for other elements trigger click
81
+ evt.preventDefault();
81
82
  (_document$activeEleme2 = document.activeElement) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.click();
82
83
  }
83
- evt.preventDefault();
84
84
  } else {
85
85
  if (document.activeElement.type !== 'button') {
86
86
  var _document$activeEleme3;
@@ -5,5 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { Hooks } from 'react-table';
8
+ export declare const exactText: (rows: any, ids: any, filterValue: any) => any;
8
9
  declare const useFiltering: (hooks: Hooks) => void;
9
10
  export default useFiltering;
@@ -7,9 +7,18 @@
7
7
 
8
8
  import { defineProperty as _defineProperty, slicedToArray as _slicedToArray, typeof as _typeof, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { useMemo } from 'react';
10
- import { MULTISELECT, DATE, NUMBER, CHECKBOX, BATCH } from './Datagrid/addons/Filtering/constants.js';
10
+ import { RADIO, DATE, NUMBER, CHECKBOX, MULTISELECT, BATCH } from './Datagrid/addons/Filtering/constants.js';
11
11
  import FilterFlyout from './Datagrid/addons/Filtering/FilterFlyout.js';
12
12
 
13
+ // This function was taken from https://github.com/TanStack/table/blob/v7/src/filterTypes.js
14
+ var exactText = function exactText(rows, ids, filterValue) {
15
+ return rows.filter(function (row) {
16
+ return ids.some(function (id) {
17
+ var rowValue = row.values[id];
18
+ return rowValue !== undefined ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase() : true;
19
+ });
20
+ });
21
+ };
13
22
  var handleMultiFilter = function handleMultiFilter(rows, id, value) {
14
23
  // gets all the items that are selected and returns their value
15
24
  var selectedItems = value.filter(function (item) {
@@ -30,7 +39,7 @@ var handleMultiFilter = function handleMultiFilter(rows, id, value) {
30
39
  var useFiltering = function useFiltering(hooks) {
31
40
  /* istanbul ignore next */
32
41
  var filterTypes = useMemo(function () {
33
- return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, DATE, function (rows, id, _ref) {
42
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, DATE, function (rows, id, _ref) {
34
43
  var _ref2 = _slicedToArray(_ref, 2),
35
44
  startDate = _ref2[0],
36
45
  endDate = _ref2[1];
@@ -60,6 +69,8 @@ var useFiltering = function useFiltering(hooks) {
60
69
  return handleMultiFilter(rows, id, value);
61
70
  }), MULTISELECT, function (rows, id, value) {
62
71
  return handleMultiFilter(rows, id, value);
72
+ }), RADIO, function (rows, id, value) {
73
+ return exactText(rows, id, value);
63
74
  });
64
75
  }, []);
65
76
  hooks.useInstance.push(function (instance) {
@@ -94,4 +105,4 @@ var useFiltering = function useFiltering(hooks) {
94
105
  };
95
106
  var useFiltering$1 = useFiltering;
96
107
 
97
- export { useFiltering$1 as default };
108
+ export { useFiltering$1 as default, exactText };
@@ -245,7 +245,9 @@ var Card = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
245
245
  secondaryButtonText: secondaryButtonText
246
246
  };
247
247
  };
248
- return /*#__PURE__*/React__default["default"].createElement("div", getCardProps(), !getStarted && media && /*#__PURE__*/React__default["default"].createElement("div", {
248
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
249
+ "aria-disabled": disabled
250
+ }, getCardProps()), !getStarted && media && /*#__PURE__*/React__default["default"].createElement("div", {
249
251
  className: "".concat(blockClass, "__media")
250
252
  }, media), Pictogram && /*#__PURE__*/React__default["default"].createElement("div", {
251
253
  className: "".concat(blockClass, "__pictogram")
@@ -1,28 +1,104 @@
1
- export default ConditionBlock;
1
+ /**
2
+ * Copyright IBM Corp. 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
+ import React from 'react';
8
+ import PropTypes from 'prop-types';
9
+ import { Condition, ConditionGroup, LogicalOperator } from '../ConditionBuilder.types';
2
10
  /**
3
11
  * This component build each block of condition consisting of property, operator value and close button.
4
12
  */
5
- declare function ConditionBlock(props: any): import("react/jsx-runtime").JSX.Element;
6
- declare namespace ConditionBlock {
7
- namespace propTypes {
8
- let addConditionHandler: PropTypes.Requireable<(...args: any[]) => any>;
9
- let addConditionSubGroupHandler: PropTypes.Requireable<(...args: any[]) => any>;
10
- let aria: PropTypes.Requireable<object>;
11
- let condition: PropTypes.Requireable<object>;
12
- let conditionIndex: PropTypes.Requireable<number>;
13
- let conjunction: PropTypes.Requireable<string>;
14
- let group: PropTypes.Requireable<object>;
15
- let hideConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
16
- let hideConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
17
- let isLastCondition: PropTypes.Requireable<(...args: any[]) => any>;
18
- let isStatement: PropTypes.Requireable<boolean>;
19
- let onChange: PropTypes.Requireable<(...args: any[]) => any>;
20
- let onConnectorOperatorChange: PropTypes.Requireable<(...args: any[]) => any>;
21
- let onRemove: PropTypes.Requireable<(...args: any[]) => any>;
22
- let onStatementChange: PropTypes.Requireable<(...args: any[]) => any>;
23
- let showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
24
- let showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
25
- let state: PropTypes.Requireable<object>;
26
- }
13
+ interface ConditionBlockProps {
14
+ condition?: Condition;
15
+ onRemove: (e: React.MouseEvent<HTMLButtonElement>) => void;
16
+ onChange: (condition: Condition) => void;
17
+ onConnectorOperatorChange?: (op: string) => void;
18
+ onStatementChange?: (v: string) => void;
19
+ addConditionHandler?: (conditionIndex: number) => void;
20
+ addConditionSubGroupHandler?: (conditionIndex: number) => void;
21
+ hideConditionSubGroupPreviewHandler?: () => void;
22
+ showConditionSubGroupPreviewHandler?: () => void;
23
+ hideConditionPreviewHandler?: () => void;
24
+ showConditionPreviewHandler?: () => void;
25
+ conjunction?: LogicalOperator;
26
+ isStatement?: boolean;
27
+ group: ConditionGroup;
28
+ conditionIndex: number;
29
+ aria: {
30
+ level: number;
31
+ posinset: number;
32
+ setsize?: number;
33
+ };
34
+ isLastCondition: (index: number, conditions: (ConditionGroup | Condition)[]) => void;
27
35
  }
28
- import PropTypes from 'prop-types';
36
+ declare const ConditionBlock: {
37
+ (props: ConditionBlockProps): import("react/jsx-runtime").JSX.Element;
38
+ propTypes: {
39
+ /**
40
+ * callback to add a new condition
41
+ */
42
+ addConditionHandler: PropTypes.Requireable<(...args: any[]) => any>;
43
+ /**
44
+ * callback to add a new condition subgroup
45
+ */
46
+ addConditionSubGroupHandler: PropTypes.Requireable<(...args: any[]) => any>;
47
+ /**
48
+ * object hold aria attributes
49
+ */
50
+ aria: PropTypes.Requireable<object>;
51
+ condition: PropTypes.Requireable<object>;
52
+ conditionIndex: PropTypes.Requireable<number>;
53
+ /**
54
+ * string that decides to show the condition connector
55
+ */
56
+ conjunction: PropTypes.Requireable<string>;
57
+ /**
58
+ * object that hold the current group object where is condition is part of
59
+ */
60
+ group: PropTypes.Requireable<object>;
61
+ /**
62
+ * handler for hiding sub group preview
63
+ */
64
+ hideConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
65
+ /**
66
+ * handler for hiding sub group preview
67
+ */
68
+ hideConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
69
+ isLastCondition: PropTypes.Requireable<(...args: any[]) => any>;
70
+ /**
71
+ * boolean that decides to show the statement(if/ excl.if)
72
+ */
73
+ isStatement: PropTypes.Requireable<boolean>;
74
+ /**
75
+ * callback to update the current condition of the state tree
76
+ */
77
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
78
+ /**
79
+ * callback to handle the connector(and/or) change
80
+ */
81
+ onConnectorOperatorChange: PropTypes.Requireable<(...args: any[]) => any>;
82
+ /**
83
+ * callback for Remove a condition
84
+ */
85
+ onRemove: PropTypes.Requireable<(...args: any[]) => any>;
86
+ /**
87
+ * callback to handle the statement(if/ excl.if) change
88
+ */
89
+ onStatementChange: PropTypes.Requireable<(...args: any[]) => any>;
90
+ /**
91
+ * handler for showing add condition preview
92
+ */
93
+ showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
94
+ /**
95
+ * handler for showing sub group preview
96
+ */
97
+ showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
98
+ /**
99
+ * object that hold the current condition
100
+ */
101
+ state: PropTypes.Requireable<object>;
102
+ };
103
+ };
104
+ export default ConditionBlock;
@@ -41,13 +41,10 @@ var _div;
41
41
  */
42
42
 
43
43
  var ConditionBlock = function ConditionBlock(props) {
44
- var _props$condition = props.condition,
45
- property = _props$condition.property,
46
- value = _props$condition.value,
47
- operator = _props$condition.operator;
48
44
  var onRemove = props.onRemove,
49
45
  onChange = props.onChange,
50
- condition = props.condition,
46
+ _props$condition = props.condition,
47
+ condition = _props$condition === void 0 ? {} : _props$condition,
51
48
  conjunction = props.conjunction,
52
49
  onConnectorOperatorChange = props.onConnectorOperatorChange,
53
50
  isStatement = props.isStatement,
@@ -62,6 +59,9 @@ var ConditionBlock = function ConditionBlock(props) {
62
59
  hideConditionPreviewHandler = props.hideConditionPreviewHandler,
63
60
  showConditionPreviewHandler = props.showConditionPreviewHandler,
64
61
  isLastCondition = props.isLastCondition;
62
+ var property = condition.property,
63
+ value = condition.value,
64
+ operator = condition.operator;
65
65
  var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
66
66
  inputConfig = _useContext.inputConfig,
67
67
  variant = _useContext.variant,
@@ -85,15 +85,15 @@ var ConditionBlock = function ConditionBlock(props) {
85
85
  //filtering the current property to access its properties and config options
86
86
  var getCurrentConfig = function getCurrentConfig(property) {
87
87
  var _inputConfig$properti, _inputConfig$properti2;
88
- return (_inputConfig$properti = (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.find(function (eachProperty) {
88
+ return (_inputConfig$properti = inputConfig === null || inputConfig === void 0 || (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.find(function (eachProperty) {
89
89
  return eachProperty.id == property;
90
90
  })) !== null && _inputConfig$properti !== void 0 ? _inputConfig$properti : {};
91
91
  };
92
- var _getCurrentConfig = getCurrentConfig(property),
93
- icon = _getCurrentConfig.icon,
94
- type = _getCurrentConfig.type,
95
- config = _getCurrentConfig.config,
96
- label = _getCurrentConfig.label;
92
+ var _ref = getCurrentConfig(property),
93
+ icon = _ref.icon,
94
+ type = _ref.type,
95
+ config = _ref.config,
96
+ label = _ref.label;
97
97
 
98
98
  //Below possible input types expected for value field.
99
99
  var itemComponents = {
@@ -105,7 +105,7 @@ var ConditionBlock = function ConditionBlock(props) {
105
105
  custom: config === null || config === void 0 ? void 0 : config.component,
106
106
  textarea: ConditionBuilderItemText.ConditionBuilderItemText
107
107
  };
108
- var ItemComponent = property ? itemComponents[type] : null;
108
+ var ItemComponent = itemComponents[type];
109
109
  var showAllActionsHandler = function showAllActionsHandler() {
110
110
  setShowAllActions(true);
111
111
  };
@@ -114,7 +114,7 @@ var ConditionBlock = function ConditionBlock(props) {
114
114
  };
115
115
  var onStatementChangeHandler = function onStatementChangeHandler(v, evt) {
116
116
  util.focusThisField(evt, conditionBuilderRef);
117
- onStatementChange(v);
117
+ onStatementChange === null || onStatementChange === void 0 || onStatementChange(v);
118
118
  };
119
119
  var onPropertyChangeHandler = function onPropertyChangeHandler(newProperty) {
120
120
  onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, condition), {}, {
@@ -192,7 +192,7 @@ var ConditionBlock = function ConditionBlock(props) {
192
192
  className: "".concat(DataConfigs.blockClass, "__gap"),
193
193
  operator: conjunction,
194
194
  onChange: function onChange(op) {
195
- return onConnectorOperatorChange(op);
195
+ return onConnectorOperatorChange === null || onConnectorOperatorChange === void 0 ? void 0 : onConnectorOperatorChange(op);
196
196
  }
197
197
  }) : _div || (_div = /*#__PURE__*/React__default["default"].createElement("div", {
198
198
  role: "gridcell"
@@ -215,7 +215,7 @@ var ConditionBlock = function ConditionBlock(props) {
215
215
  })), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
216
216
  label: label !== null && label !== void 0 ? label : condition === null || condition === void 0 ? void 0 : condition.property,
217
217
  title: propertyText,
218
- renderIcon: icon !== null && icon !== void 0 ? icon : null,
218
+ renderIcon: icon !== null && icon !== void 0 ? icon : undefined,
219
219
  className: "".concat(DataConfigs.blockClass, "__property-field"),
220
220
  "data-name": "propertyField",
221
221
  condition: condition,
@@ -228,7 +228,7 @@ var ConditionBlock = function ConditionBlock(props) {
228
228
  },
229
229
  onChange: onPropertyChangeHandler,
230
230
  config: {
231
- options: inputConfig.properties
231
+ options: inputConfig === null || inputConfig === void 0 ? void 0 : inputConfig.properties
232
232
  }
233
233
  })), util.checkIsValid(property) && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
234
234
  label: operator,
@@ -272,10 +272,10 @@ var ConditionBlock = function ConditionBlock(props) {
272
272
  "data-name": "closeCondition"
273
273
  })), manageActionButtons(conditionIndex, group.conditions) && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
274
274
  onClick: function onClick() {
275
- addConditionHandler(conditionIndex);
275
+ addConditionHandler === null || addConditionHandler === void 0 || addConditionHandler(conditionIndex);
276
276
  },
277
277
  addConditionSubGroupHandler: function addConditionSubGroupHandler() {
278
- _addConditionSubGroupHandler(conditionIndex);
278
+ _addConditionSubGroupHandler === null || _addConditionSubGroupHandler === void 0 || _addConditionSubGroupHandler(conditionIndex);
279
279
  },
280
280
  showConditionSubGroupPreviewHandler: showConditionSubGroupPreviewHandler,
281
281
  hideConditionSubGroupPreviewHandler: hideConditionSubGroupPreviewHandler,
@@ -285,7 +285,6 @@ var ConditionBlock = function ConditionBlock(props) {
285
285
  className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-left")
286
286
  }));
287
287
  };
288
- var ConditionBlock$1 = ConditionBlock;
289
288
  ConditionBlock.propTypes = {
290
289
  /**
291
290
  * callback to add a new condition
@@ -352,4 +351,4 @@ ConditionBlock.propTypes = {
352
351
  state: index["default"].object
353
352
  };
354
353
 
355
- exports["default"] = ConditionBlock$1;
354
+ exports["default"] = ConditionBlock;
@@ -1,5 +1,12 @@
1
1
  /**
2
- * TODO: A description of the component.
2
+ * Copyright IBM Corp. 2024, 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.
3
6
  */
4
- export let ConditionBuilder: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
5
7
  import React from 'react';
8
+ import { ConditionBuilderProps } from './ConditionBuilder.types';
9
+ /**
10
+ * TODO: A description of the component.
11
+ */
12
+ export declare let ConditionBuilder: React.ForwardRefExoticComponent<ConditionBuilderProps & React.RefAttributes<HTMLDivElement>>;