@carbon/ibm-products 2.43.2-canary.2 → 2.43.2-canary.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. package/css/index-full-carbon.css +35 -3
  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.map +1 -1
  6. package/css/index-without-carbon-released-only.min.css.map +1 -1
  7. package/css/index-without-carbon.css +35 -3
  8. package/css/index-without-carbon.css.map +1 -1
  9. package/css/index-without-carbon.min.css +1 -1
  10. package/css/index-without-carbon.min.css.map +1 -1
  11. package/css/index.css +35 -3
  12. package/css/index.css.map +1 -1
  13. package/css/index.min.css +1 -1
  14. package/css/index.min.css.map +1 -1
  15. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  16. package/es/components/ConditionBuilder/ConditionBuilder.js +67 -20
  17. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  18. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +129 -0
  19. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -4
  20. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  21. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  22. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  23. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  24. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  25. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  26. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  27. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  28. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  29. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  30. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  31. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  32. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  33. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +24 -16
  34. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +19 -4
  35. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  36. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +109 -0
  37. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  38. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +58 -33
  39. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  40. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -5
  41. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  42. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  43. package/es/components/ConditionBuilder/utils/util.js +16 -1
  44. package/es/components/DataSpreadsheet/DataSpreadsheet.js +29 -16
  45. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +9 -1
  46. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +18 -2
  47. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  48. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +17 -6
  49. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  50. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  51. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  52. package/es/components/DataSpreadsheet/types/index.d.ts +1 -1
  53. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  54. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +21 -3
  55. package/es/components/Datagrid/types/index.d.ts +18 -4
  56. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  57. package/es/components/Datagrid/useActionsColumn.js +7 -6
  58. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  59. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  60. package/es/components/Datagrid/useInlineEdit.d.ts +8 -1
  61. package/es/components/Datagrid/useInlineEdit.js +13 -3
  62. package/es/components/Datagrid/useNestedRows.js +27 -9
  63. package/es/components/Decorator/Decorator.js +2 -1
  64. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  65. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  66. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  67. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  68. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  69. package/es/components/Tearsheet/Tearsheet.js +9 -1
  70. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  71. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  72. package/es/components/Tearsheet/TearsheetShell.d.ts +10 -0
  73. package/es/components/Tearsheet/TearsheetShell.js +17 -3
  74. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  75. package/lib/components/ConditionBuilder/ConditionBuilder.js +67 -20
  76. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  77. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +137 -0
  78. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -3
  79. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  80. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  81. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  82. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  83. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  84. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  85. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  86. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  87. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  88. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  89. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  90. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  91. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  92. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +23 -15
  93. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +20 -5
  94. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  95. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +117 -0
  96. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  97. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +56 -31
  98. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  99. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -4
  100. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  101. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  102. package/lib/components/ConditionBuilder/utils/util.js +17 -0
  103. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +29 -16
  104. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +9 -1
  105. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +18 -2
  106. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  107. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +17 -6
  108. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  109. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  110. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  111. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
  112. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  113. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +21 -3
  114. package/lib/components/Datagrid/types/index.d.ts +18 -4
  115. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  116. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  117. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  118. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  119. package/lib/components/Datagrid/useInlineEdit.d.ts +8 -1
  120. package/lib/components/Datagrid/useInlineEdit.js +13 -3
  121. package/lib/components/Datagrid/useNestedRows.js +27 -9
  122. package/lib/components/Decorator/Decorator.js +2 -1
  123. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  124. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  125. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  126. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  127. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  128. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  129. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  130. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  131. package/lib/components/Tearsheet/TearsheetShell.d.ts +10 -0
  132. package/lib/components/Tearsheet/TearsheetShell.js +16 -2
  133. package/package.json +4 -4
  134. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +9 -1
  135. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +26 -1
  136. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +1 -0
  137. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  138. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  139. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  140. package/telemetry.yml +1 -0
  141. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  142. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  143. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  144. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
@@ -17,6 +17,7 @@ import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuild
17
17
  import uuidv4 from '../../../global/js/utils/uuidv4.js';
18
18
  import ConditionPreview from '../ConditionPreview/ConditionPreview.js';
19
19
  import GroupConnector from '../ConditionBuilderConnector/GroupConnector.js';
20
+ import ConditionBuilderActions from '../ConditionBuilderActions/ConditionBuilderActions.js';
20
21
 
21
22
  var _Heading, _GroupConnector, _ConditionPreview;
22
23
  var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
@@ -24,14 +25,14 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
24
25
  var startConditionLabel = _ref.startConditionLabel,
25
26
  conditionBuilderRef = _ref.conditionBuilderRef,
26
27
  getConditionState = _ref.getConditionState,
27
- initialState = _ref.initialState;
28
- // const { rootState, setRootState, variant, actionState } = useContext(
29
- // ConditionBuilderContext
30
- // );
28
+ getActionsState = _ref.getActionsState,
29
+ initialState = _ref.initialState,
30
+ actions = _ref.actions;
31
31
  var _useContext = useContext(ConditionBuilderContext),
32
32
  rootState = _useContext.rootState,
33
33
  setRootState = _useContext.setRootState,
34
- variant = _useContext.variant;
34
+ variant = _useContext.variant,
35
+ actionState = _useContext.actionState;
35
36
  var _useState = useState(false),
36
37
  _useState2 = _slicedToArray(_useState, 2),
37
38
  isConditionBuilderActive = _useState2[0],
@@ -53,11 +54,10 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
53
54
 
54
55
  // eslint-disable-next-line react-hooks/exhaustive-deps
55
56
  }, [rootState]);
56
-
57
- // useEffect(() => {
58
- // getActionsState?.(actionState);
59
- // // eslint-disable-next-line react-hooks/exhaustive-deps
60
- // }, [actionState]);
57
+ useEffect(function () {
58
+ getActionsState === null || getActionsState === void 0 || getActionsState(actionState);
59
+ // eslint-disable-next-line react-hooks/exhaustive-deps
60
+ }, [actionState]);
61
61
  var onStartConditionBuilder = function onStartConditionBuilder() {
62
62
  //when add condition button is clicked.
63
63
  setIsConditionBuilderActive(true);
@@ -83,8 +83,6 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
83
83
  };
84
84
  var addConditionGroupHandler = function addConditionGroupHandler() {
85
85
  var newGroup = {
86
- groupSeparateOperator: 'and',
87
- // 'or'|'and'|'null',
88
86
  groupOperator: 'and',
89
87
  //'and|or',
90
88
  statement: 'if',
@@ -103,7 +101,7 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
103
101
  }));
104
102
  };
105
103
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !isConditionBuilderActive && /*#__PURE__*/React__default.createElement(Button, {
106
- className: "".concat(blockClass, "__add-condition-button"),
104
+ className: "".concat(blockClass, "__add_condition-button"),
107
105
  renderIcon: function renderIcon(props) {
108
106
  return /*#__PURE__*/React__default.createElement(Add, _extends({
109
107
  size: 16
@@ -113,10 +111,7 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
113
111
  kind: "ghost",
114
112
  size: "sm",
115
113
  onClick: onStartConditionBuilder
116
- }, startConditionLabel), isConditionBuilderActive &&
117
- /*#__PURE__*/
118
- // <h5 >Condition</h5>
119
- React__default.createElement(Section, {
114
+ }, startConditionLabel), isConditionBuilderActive && /*#__PURE__*/React__default.createElement(Section, {
120
115
  className: "".concat(blockClass, "__heading"),
121
116
  level: 4
122
117
  }, _Heading || (_Heading = /*#__PURE__*/React__default.createElement(Heading, null, "Condition"))), /*#__PURE__*/React__default.createElement("div", {
@@ -156,16 +151,19 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
156
151
  onMouseLeave: function onMouseLeave() {
157
152
  setShowConditionGroupPreview(false);
158
153
  },
159
- className: "".concat(blockClass, "__add-condition-group "),
154
+ className: "".concat(blockClass, "__add_condition_group "),
160
155
  hideLabel: true,
161
- label: translateWithId('add-condition-sub-group'),
156
+ label: translateWithId('add_condition_group'),
162
157
  wrapperProps: {
163
158
  role: 'gridcell',
164
- 'aria-label': translateWithId('add-condition-sub-group')
159
+ 'aria-label': translateWithId('add_condition_group')
165
160
  }
166
161
  })), showConditionGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
167
162
  previewType: "newGroup"
168
- }))))));
163
+ }))))), isConditionBuilderActive && actions && /*#__PURE__*/React__default.createElement(ConditionBuilderActions, {
164
+ actions: actions,
165
+ className: "".concat(blockClass, "__actions-container")
166
+ }));
169
167
  };
170
168
  var ConditionBuilderContent$1 = ConditionBuilderContent;
171
169
  ConditionBuilderContent.propTypes = {
@@ -173,8 +171,8 @@ ConditionBuilderContent.propTypes = {
173
171
  * optional array of object that give the list of actions.
174
172
  */
175
173
  actions: PropTypes.arrayOf(PropTypes.shape({
176
- id: PropTypes.number,
177
- label: PropTypes.string
174
+ id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
175
+ label: PropTypes.string.isRequired
178
176
  })),
179
177
  /**
180
178
  * ref of condition builder
@@ -193,15 +191,21 @@ ConditionBuilderContent.propTypes = {
193
191
  */
194
192
  initialState: PropTypes.shape({
195
193
  groups: PropTypes.arrayOf(PropTypes.shape({
196
- groupSeparateOperator: PropTypes.string,
197
- groupOperator: PropTypes.string,
198
- statement: PropTypes.string,
199
- conditions: PropTypes.arrayOf(PropTypes.shape({
200
- property: PropTypes.string,
201
- operator: PropTypes.string,
202
- value: PropTypes.string
203
- }))
204
- }))
194
+ groupOperator: PropTypes.string.isRequired,
195
+ statement: PropTypes.string.isRequired,
196
+ conditions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
197
+ property: PropTypes.string.isRequired,
198
+ operator: PropTypes.string.isRequired,
199
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.shape({
200
+ id: PropTypes.string,
201
+ label: PropTypes.string
202
+ })), PropTypes.shape({
203
+ id: PropTypes.string,
204
+ label: PropTypes.string
205
+ })])
206
+ }), PropTypes.object]))
207
+ })),
208
+ operator: PropTypes.string
205
209
  }),
206
210
  /* Provide a label to the button that starts condition builder
207
211
  */
@@ -1,7 +1,6 @@
1
1
  export namespace emptyState {
2
2
  let operator: string;
3
3
  let groups: {
4
- groupSeparateOperator: null;
5
4
  groupOperator: string;
6
5
  statement: string;
7
6
  id: any;
@@ -13,7 +13,6 @@ import uuidv4 from '../../../global/js/utils/uuidv4.js';
13
13
  var emptyState = {
14
14
  operator: 'or',
15
15
  groups: [{
16
- groupSeparateOperator: null,
17
16
  groupOperator: 'and',
18
17
  statement: 'if',
19
18
  id: uuidv4(),
@@ -50,10 +49,16 @@ var ConditionBuilderProvider = function ConditionBuilderProvider(props) {
50
49
  _useState2 = _slicedToArray(_useState, 2),
51
50
  rootState = _useState2[0],
52
51
  setRootState = _useState2[1];
52
+ var _useState3 = useState([]),
53
+ _useState4 = _slicedToArray(_useState3, 2),
54
+ actionState = _useState4[0],
55
+ setActionState = _useState4[1];
53
56
  return /*#__PURE__*/React__default.createElement(ConditionBuilderContext.Provider, {
54
57
  value: {
55
58
  rootState: rootState,
56
59
  setRootState: setRootState,
60
+ actionState: actionState,
61
+ setActionState: setActionState,
57
62
  inputConfig: props.inputConfig,
58
63
  popOverSearchThreshold: props.popOverSearchThreshold,
59
64
  getOptions: props.getOptions,
@@ -87,7 +92,7 @@ ConditionBuilderProvider.propTypes = {
87
92
  id: PropTypes.string,
88
93
  label: PropTypes.string,
89
94
  icon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
90
- type: PropTypes.oneOf(['text', 'number', 'date', 'option', 'time']),
95
+ type: PropTypes.oneOf(['text', 'number', 'date', 'option', 'time', 'custom']),
91
96
  config: PropTypes.shape({
92
97
  options: PropTypes.arrayOf(PropTypes.shape({
93
98
  id: PropTypes.string,
@@ -6,6 +6,10 @@ export const connectorConfig: {
6
6
  label: string;
7
7
  id: string;
8
8
  }[];
9
+ export const actionConfig: {
10
+ label: string;
11
+ id: string;
12
+ }[];
9
13
  export const operatorConfig: {
10
14
  label: string;
11
15
  id: string;
@@ -16,7 +20,8 @@ export function translateWithId(key: any): any;
16
20
  export namespace valueRenderers {
17
21
  function text(val: any): any;
18
22
  function time(val: any): any;
19
- function number(val: any, config: any): any;
23
+ function number(val: any): any;
20
24
  function option(value: any): any;
21
25
  function date(value: any): any;
26
+ function custom(value: any): any;
22
27
  }
@@ -13,7 +13,7 @@ var statementConfig = [{
13
13
  id: 'if'
14
14
  }, {
15
15
  label: 'excl.if',
16
- id: 'excl.if'
16
+ id: 'excl_if'
17
17
  }];
18
18
  var connectorConfig = [{
19
19
  label: 'and',
@@ -22,7 +22,6 @@ var connectorConfig = [{
22
22
  label: 'or',
23
23
  id: 'or'
24
24
  }];
25
- //op types : option, text, number, date,
26
25
  var operatorConfig = [{
27
26
  label: 'is',
28
27
  id: 'is',
@@ -33,7 +32,7 @@ var operatorConfig = [{
33
32
  type: 'number'
34
33
  }, {
35
34
  label: 'is greater than or equal to',
36
- id: 'greater-equal',
35
+ id: 'greater_equal',
37
36
  type: 'number'
38
37
  }, {
39
38
  label: 'is lower than',
@@ -41,15 +40,15 @@ var operatorConfig = [{
41
40
  type: 'number'
42
41
  }, {
43
42
  label: 'is lower than or equal to',
44
- id: 'lower-equal',
43
+ id: 'lower_equal',
45
44
  type: 'number'
46
45
  }, {
47
46
  label: 'starts with',
48
- id: 'starts-with',
47
+ id: 'starts_with',
49
48
  type: 'text'
50
49
  }, {
51
50
  label: 'ends with',
52
- id: 'ends-with',
51
+ id: 'ends_with',
53
52
  type: 'text'
54
53
  }, {
55
54
  label: 'contains',
@@ -57,7 +56,7 @@ var operatorConfig = [{
57
56
  type: 'text'
58
57
  }, {
59
58
  label: 'is one of',
60
- id: 'one-of',
59
+ id: 'one_of',
61
60
  type: 'option'
62
61
  }, {
63
62
  label: 'is before',
@@ -92,11 +91,17 @@ var valueRenderers = {
92
91
  time: function time(val) {
93
92
  return val;
94
93
  },
95
- number: function number(val, config) {
96
- return config.unit && val ? "".concat(val, " ").concat(config.unit) : val;
94
+ number: function number(val) {
95
+ return val;
97
96
  },
98
97
  option: function option(value) {
99
- return Array.isArray(value) ? value.join(', ') : value;
98
+ if (value && typeof value !== 'string') {
99
+ var selectedValues = Array.isArray(value) ? value : [value];
100
+ return selectedValues.map(function (option) {
101
+ return option.label;
102
+ }).join(', ');
103
+ }
104
+ return value;
100
105
  },
101
106
  date: function date(value) {
102
107
  if (Array.isArray(value) && value.length > 1) {
@@ -106,6 +111,9 @@ var valueRenderers = {
106
111
  } else {
107
112
  return value && new Date(value) ? formatDate(new Date(value)) : value;
108
113
  }
114
+ },
115
+ custom: function custom(value) {
116
+ return value;
109
117
  }
110
118
  };
111
119
 
@@ -1,38 +1,41 @@
1
1
  export namespace translationsObject {
2
- let en: {
3
- if: string;
4
- 'excl-if': string;
5
- and: string;
6
- or: string;
7
- is: string;
8
- greater: string;
9
- 'greater-equal': string;
10
- lower: string;
11
- 'lower-equal': string;
12
- 'starts-with': string;
13
- 'ends-with': string;
14
- contains: string;
15
- 'one-of': string;
16
- before: string;
17
- after: string;
18
- between: string;
19
- 'add-condition': string;
20
- 'add-condition-group': string;
21
- 'add-condition-sub-group': string;
22
- condition: string;
23
- property: string;
24
- operator: string;
25
- value: string;
26
- connector: string;
27
- condition_row: string;
28
- remove_condition: string;
29
- add_condition_row: string;
30
- start: string;
31
- end: string;
32
- clear_search: string;
33
- actions: string;
34
- then: string;
35
- remove_action: string;
36
- add_action: string;
37
- };
2
+ namespace en {
3
+ let _if: string;
4
+ export { _if as if };
5
+ export let excl_if: string;
6
+ export let and: string;
7
+ export let or: string;
8
+ export let is: string;
9
+ export let greater: string;
10
+ export let greater_equal: string;
11
+ export let lower: string;
12
+ export let lower_equal: string;
13
+ export let starts_with: string;
14
+ export let ends_with: string;
15
+ export let contains: string;
16
+ export let one_of: string;
17
+ export let before: string;
18
+ export let after: string;
19
+ export let between: string;
20
+ export let add_condition: string;
21
+ export let add_condition_group: string;
22
+ export let add_subgroup: string;
23
+ export let condition: string;
24
+ export let property: string;
25
+ export let operator: string;
26
+ export let value: string;
27
+ export let connector: string;
28
+ export let condition_row: string;
29
+ export let remove_condition: string;
30
+ export let add_condition_row: string;
31
+ export let start: string;
32
+ export let end: string;
33
+ export let clear_search: string;
34
+ export let actions: string;
35
+ export let then: string;
36
+ export let remove_action: string;
37
+ export let add_action: string;
38
+ export let invalid_text: string;
39
+ export let text_invalid_number: string;
40
+ }
38
41
  }
@@ -8,24 +8,24 @@
8
8
  var translationsObject = {
9
9
  en: {
10
10
  if: 'if',
11
- 'excl-if': 'excl.if',
11
+ excl_if: 'excl.if',
12
12
  and: 'and',
13
13
  or: 'or',
14
14
  is: 'is',
15
15
  greater: 'is greater than',
16
- 'greater-equal': 'is greater than or equal to',
16
+ greater_equal: 'is greater than or equal to',
17
17
  lower: 'is lower than',
18
- 'lower-equal': 'is lower than or equal to',
19
- 'starts-with': 'starts with',
20
- 'ends-with': 'ends with',
18
+ lower_equal: 'is lower than or equal to',
19
+ starts_with: 'starts with',
20
+ ends_with: 'ends with',
21
21
  contains: 'contains',
22
- 'one-of': 'is one of',
22
+ one_of: 'is one of',
23
23
  before: 'is before',
24
24
  after: 'is after',
25
25
  between: 'is between',
26
- 'add-condition': 'Add Condition',
27
- 'add-condition-group': 'Add Condition Group',
28
- 'add-condition-sub-group': 'Add Condition sub group',
26
+ add_condition: 'Add condition',
27
+ add_condition_group: 'Add condition group',
28
+ add_subgroup: 'Add subgroup',
29
29
  condition: 'Condition',
30
30
  property: 'Property',
31
31
  operator: 'Operator',
@@ -40,7 +40,9 @@ var translationsObject = {
40
40
  actions: 'Actions',
41
41
  then: 'then',
42
42
  remove_action: 'Remove Action',
43
- add_action: 'Add action'
43
+ add_action: 'Add action',
44
+ invalid_text: 'Incomplete',
45
+ text_invalid_number: 'Invalid number, must be 0 or greater'
44
46
  }
45
47
  };
46
48
 
@@ -17,7 +17,7 @@ export namespace ConditionBuilderItem {
17
17
  let className: PropTypes.Requireable<string>;
18
18
  let condition: PropTypes.Requireable<object>;
19
19
  let config: PropTypes.Requireable<object>;
20
- let label: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
20
+ let label: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
21
21
  let popOverClassName: PropTypes.Requireable<string>;
22
22
  let renderIcon: PropTypes.Requireable<object>;
23
23
  let showToolTip: PropTypes.Requireable<boolean>;
@@ -10,7 +10,7 @@ import React__default, { useRef, useState, useEffect } from 'react';
10
10
  import { Popover, PopoverContent, Layer } from '@carbon/react';
11
11
  import PropTypes from '../../../node_modules/prop-types/index.js';
12
12
  import { Add } from '@carbon/react/icons';
13
- import { valueRenderers, translateWithId, blockClass } from '../ConditionBuilderContext/DataConfigs.js';
13
+ import { translateWithId, blockClass, valueRenderers } from '../ConditionBuilderContext/DataConfigs.js';
14
14
  import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
15
15
 
16
16
  var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "condition", "popOverClassName", "config"];
@@ -27,19 +27,26 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
27
27
  config = _ref.config,
28
28
  rest = _objectWithoutProperties(_ref, _excluded);
29
29
  var contentRef = useRef(null);
30
- var _useState = useState(label),
30
+ var _useState = useState(false),
31
31
  _useState2 = _slicedToArray(_useState, 2),
32
- propertyLabel = _useState2[0],
33
- setPropertyLabel = _useState2[1];
34
- var _useState3 = useState(false),
35
- _useState4 = _slicedToArray(_useState3, 2),
36
- open = _useState4[0],
37
- setOpen = _useState4[1];
38
- useEffect(function () {
32
+ open = _useState2[0],
33
+ setOpen = _useState2[1];
34
+ var getPropertyDetails = function getPropertyDetails() {
35
+ if (label === 'INVALID') {
36
+ return {
37
+ propertyLabel: translateWithId('invalid_text'),
38
+ isInvalid: true
39
+ };
40
+ }
39
41
  var propertyId = rest['data-name'] == 'valueField' && type ? valueRenderers[type](label, config) : label;
40
- setPropertyLabel(translateWithId(propertyId));
41
- // eslint-disable-next-line react-hooks/exhaustive-deps
42
- }, [label]);
42
+ return {
43
+ isInvalid: false,
44
+ propertyLabel: translateWithId(propertyId)
45
+ };
46
+ };
47
+ var _getPropertyDetails = getPropertyDetails(),
48
+ propertyLabel = _getPropertyDetails.propertyLabel,
49
+ isInvalid = _getPropertyDetails.isInvalid;
43
50
  useEffect(function () {
44
51
  /**
45
52
  * rest['data-name'] holds the current field name
@@ -51,7 +58,7 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
51
58
  if (condition.popoverToOpen && currentField !== condition.popoverToOpen) {
52
59
  // close the previous popover
53
60
  setOpen(false);
54
- } else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'one-of') {
61
+ } else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'one_of') {
55
62
  //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.
56
63
  setOpen(false);
57
64
  }
@@ -84,7 +91,7 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
84
91
  setOpen(false);
85
92
  }
86
93
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, _extends({
87
- label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : translateWithId('add-condition'),
94
+ label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : translateWithId('add_condition'),
88
95
  hideLabel: !label ? true : false,
89
96
  onClick: function onClick() {
90
97
  children ? setOpen(!open) : null;
@@ -93,7 +100,8 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
93
100
  "aria-haspopup": true,
94
101
  "aria-expanded": open,
95
102
  renderIcon: renderIcon ? renderIcon : label == undefined ? Add : null,
96
- showToolTip: showToolTip
103
+ showToolTip: showToolTip,
104
+ isInvalid: isInvalid
97
105
  }, rest)), /*#__PURE__*/React__default.createElement(PopoverContent, {
98
106
  className: "".concat(blockClass, "__item__content"),
99
107
  role: "dialog",
@@ -125,7 +133,7 @@ ConditionBuilderItem.propTypes = {
125
133
  /**
126
134
  * text to be displayed in the field
127
135
  */
128
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
136
+ label: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.object]),
129
137
  /**
130
138
  * class name for popover
131
139
  */
@@ -7,10 +7,9 @@
7
7
 
8
8
  import React__default from 'react';
9
9
  import { NumberInput } from '@carbon/react';
10
- import { pkg } from '../../../../settings.js';
11
10
  import PropTypes from '../../../../node_modules/prop-types/index.js';
11
+ import { blockClass, translateWithId } from '../../ConditionBuilderContext/DataConfigs.js';
12
12
 
13
- var blockClass = "".concat(pkg.prefix, "--condition-builder");
14
13
  var ConditionBuilderItemNumber = function ConditionBuilderItemNumber(_ref) {
15
14
  var _conditionState$prope;
16
15
  var conditionState = _ref.conditionState,
@@ -18,18 +17,34 @@ var ConditionBuilderItemNumber = function ConditionBuilderItemNumber(_ref) {
18
17
  onChange = _ref.onChange;
19
18
  var onChangeHandler = function onChangeHandler(e, _ref2) {
20
19
  var value = _ref2.value;
21
- onChange(value + '');
20
+ if (checkIfValid(value)) {
21
+ var _config$unit;
22
+ onChange("".concat(value, " ").concat((_config$unit = config.unit) !== null && _config$unit !== void 0 ? _config$unit : ''));
23
+ } else {
24
+ onChange('INVALID');
25
+ }
26
+ };
27
+ var checkIfValid = function checkIfValid(value) {
28
+ if (value > config.max || value < config.min) {
29
+ return false;
30
+ }
31
+ return true;
32
+ };
33
+ var getDefaultValue = function getDefaultValue() {
34
+ var _conditionState$value;
35
+ return (_conditionState$value = conditionState.value) === null || _conditionState$value === void 0 || (_conditionState$value = _conditionState$value.split(' ')) === null || _conditionState$value === void 0 ? void 0 : _conditionState$value[0];
22
36
  };
23
37
  return /*#__PURE__*/React__default.createElement("div", {
24
38
  className: "".concat(blockClass, "__item-number")
25
39
  }, /*#__PURE__*/React__default.createElement(NumberInput, {
26
40
  label: conditionState.property,
27
41
  hideLabel: true,
42
+ defaultValue: getDefaultValue(),
28
43
  id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
29
- value: conditionState.value ? conditionState.value.split(' ')[0] : conditionState.value,
30
44
  min: config.min,
31
45
  max: config.max,
32
46
  step: config.step,
47
+ invalidText: translateWithId('text_invalid_number'),
33
48
  allowEmpty: true,
34
49
  onChange: onChangeHandler
35
50
  }));
@@ -0,0 +1,13 @@
1
+ export function ItemOption({ conditionState, config, onChange }: {
2
+ conditionState?: {} | undefined;
3
+ config?: {} | undefined;
4
+ onChange: any;
5
+ }): import("react/jsx-runtime").JSX.Element | undefined;
6
+ export namespace ItemOption {
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';