@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
@@ -15,12 +15,14 @@ var cx = require('classnames');
15
15
  var index = require('../../../node_modules/prop-types/index.js');
16
16
  var react = require('@carbon/react');
17
17
  var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
18
+ var icons = require('@carbon/react/icons');
18
19
 
19
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
21
 
21
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
23
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
24
 
25
+ var _WarningAltFilled;
24
26
  var ConditionBuilderButton = function ConditionBuilderButton(_ref) {
25
27
  var _Icon, _span;
26
28
  var className = _ref.className,
@@ -34,24 +36,26 @@ var ConditionBuilderButton = function ConditionBuilderButton(_ref) {
34
36
  onBlur = _ref.onBlur,
35
37
  onFocus = _ref.onFocus,
36
38
  onMouseEnter = _ref.onMouseEnter,
37
- onMouseLeave = _ref.onMouseLeave;
39
+ onMouseLeave = _ref.onMouseLeave,
40
+ isInvalid = _ref.isInvalid,
41
+ wrapperClassName = _ref.wrapperClassName;
38
42
  var Button = function Button() {
39
43
  return /*#__PURE__*/React__default["default"].createElement("button", {
40
44
  // role={'gridcell'}
41
45
  tabIndex: -1,
42
- className: cx__default["default"]([className, "".concat(DataConfigs.blockClass, "__button"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__text-ellipsis"), showToolTip && !hideLabel)]),
46
+ className: cx__default["default"]([className, "".concat(DataConfigs.blockClass, "__button"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__text-ellipsis"), showToolTip && !hideLabel && !isInvalid), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__invalid-input"), isInvalid)]),
43
47
  type: "button",
44
48
  onClick: onClick,
45
49
  onBlur: onBlur,
46
50
  onFocus: onFocus,
47
51
  onMouseEnter: onMouseEnter,
48
52
  onMouseLeave: onMouseLeave
49
- }, Icon && (_Icon || (_Icon = /*#__PURE__*/React__default["default"].createElement(Icon, null))), !hideLabel && (_span || (_span = /*#__PURE__*/React__default["default"].createElement("span", null, label))));
53
+ }, Icon && (_Icon || (_Icon = /*#__PURE__*/React__default["default"].createElement(Icon, null))), !hideLabel && (_span || (_span = /*#__PURE__*/React__default["default"].createElement("span", null, label))), isInvalid && (_WarningAltFilled || (_WarningAltFilled = /*#__PURE__*/React__default["default"].createElement(icons.WarningAltFilled, null))));
50
54
  };
51
55
  return hideLabel || showToolTip ? /*#__PURE__*/React__default["default"].createElement(react.Tooltip, _rollupPluginBabelHelpers["extends"]({
52
56
  label: label,
53
57
  align: tooltipAlign,
54
- className: "".concat(DataConfigs.blockClass, "__con-tooltip")
58
+ className: "".concat(wrapperClassName)
55
59
  }, wrapperProps), Button()) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, Button());
56
60
  };
57
61
  ConditionBuilderButton.propTypes = {
@@ -63,6 +67,10 @@ ConditionBuilderButton.propTypes = {
63
67
  * decides if label and tooltip to be hidden
64
68
  */
65
69
  hideLabel: index["default"].bool,
70
+ /**
71
+ * boolean to know the updated value in not valid
72
+ */
73
+ isInvalid: index["default"].bool,
66
74
  /**
67
75
  * label of the button
68
76
  */
@@ -92,6 +100,10 @@ ConditionBuilderButton.propTypes = {
92
100
  * tooltip position
93
101
  */
94
102
  tooltipAlign: index["default"].string,
103
+ /**
104
+ * classname applies to the wrapper of popover
105
+ */
106
+ wrapperClassName: index["default"].string,
95
107
  /**
96
108
  * optional props for tree grid to add role and aria-label to wrapper span
97
109
  */
@@ -12,7 +12,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
12
  var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var React = require('react');
14
14
  var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
15
- var ConditionBuilderItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js');
15
+ var ItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js');
16
16
  var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
17
17
  var index = require('../../../node_modules/prop-types/index.js');
18
18
  var util = require('../utils/util.js');
@@ -65,7 +65,7 @@ var ConditionConnector = function ConditionConnector(_ref) {
65
65
  }, rest, {
66
66
  popOverClassName: className,
67
67
  className: "".concat(DataConfigs.blockClass, "__connector-button ")
68
- }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
68
+ }), /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
69
69
  config: {
70
70
  options: DataConfigs.connectorConfig
71
71
  },
@@ -12,7 +12,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
12
  var React = require('react');
13
13
  var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
14
14
  var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
15
- var ConditionBuilderItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js');
15
+ var ItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js');
16
16
  var util = require('../utils/util.js');
17
17
  var ConditionBuilderProvider = require('../ConditionBuilderContext/ConditionBuilderProvider.js');
18
18
 
@@ -34,7 +34,7 @@ var GroupConnector = function GroupConnector() {
34
34
  "data-name": "connectorField",
35
35
  popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
36
36
  className: "".concat(DataConfigs.blockClass, "__statement-button")
37
- }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
37
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
38
38
  conditionState: {
39
39
  value: rootState.operator,
40
40
  label: DataConfigs.translateWithId('condition')
@@ -1,30 +1,28 @@
1
1
  export default ConditionBuilderContent;
2
- declare function ConditionBuilderContent({ startConditionLabel, conditionBuilderRef, getConditionState, initialState, }: {
2
+ declare function ConditionBuilderContent({ startConditionLabel, conditionBuilderRef, getConditionState, getActionsState, initialState, actions, }: {
3
3
  startConditionLabel: any;
4
4
  conditionBuilderRef: any;
5
5
  getConditionState: any;
6
+ getActionsState: any;
6
7
  initialState: any;
8
+ actions: any;
7
9
  }): import("react/jsx-runtime").JSX.Element;
8
10
  declare namespace ConditionBuilderContent {
9
11
  namespace propTypes {
10
12
  let actions: PropTypes.Requireable<(PropTypes.InferProps<{
11
- id: PropTypes.Requireable<number>;
12
- label: PropTypes.Requireable<string>;
13
+ id: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
14
+ label: PropTypes.Validator<string>;
13
15
  }> | null | undefined)[]>;
14
16
  let conditionBuilderRef: PropTypes.Requireable<object>;
15
17
  let getActionsState: PropTypes.Requireable<(...args: any[]) => any>;
16
18
  let getConditionState: PropTypes.Validator<(...args: any[]) => any>;
17
19
  let initialState: PropTypes.Requireable<PropTypes.InferProps<{
18
20
  groups: PropTypes.Requireable<(PropTypes.InferProps<{
19
- groupSeparateOperator: PropTypes.Requireable<string>;
20
- groupOperator: PropTypes.Requireable<string>;
21
- statement: PropTypes.Requireable<string>;
22
- conditions: PropTypes.Requireable<(PropTypes.InferProps<{
23
- property: PropTypes.Requireable<string>;
24
- operator: PropTypes.Requireable<string>;
25
- value: PropTypes.Requireable<string>;
26
- }> | null | undefined)[]>;
21
+ groupOperator: PropTypes.Validator<string>;
22
+ statement: PropTypes.Validator<string>;
23
+ conditions: PropTypes.Requireable<(object | null | undefined)[]>;
27
24
  }> | null | undefined)[]>;
25
+ operator: PropTypes.Requireable<string>;
28
26
  }>>;
29
27
  let startConditionLabel: PropTypes.Validator<string>;
30
28
  }
@@ -21,6 +21,7 @@ var ConditionBuilderButton = require('../ConditionBuilderButton/ConditionBuilder
21
21
  var uuidv4 = require('../../../global/js/utils/uuidv4.js');
22
22
  var ConditionPreview = require('../ConditionPreview/ConditionPreview.js');
23
23
  var GroupConnector = require('../ConditionBuilderConnector/GroupConnector.js');
24
+ var ConditionBuilderActions = require('../ConditionBuilderActions/ConditionBuilderActions.js');
24
25
 
25
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
27
 
@@ -32,14 +33,14 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
32
33
  var startConditionLabel = _ref.startConditionLabel,
33
34
  conditionBuilderRef = _ref.conditionBuilderRef,
34
35
  getConditionState = _ref.getConditionState,
35
- initialState = _ref.initialState;
36
- // const { rootState, setRootState, variant, actionState } = useContext(
37
- // ConditionBuilderContext
38
- // );
36
+ getActionsState = _ref.getActionsState,
37
+ initialState = _ref.initialState,
38
+ actions = _ref.actions;
39
39
  var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
40
40
  rootState = _useContext.rootState,
41
41
  setRootState = _useContext.setRootState,
42
- variant = _useContext.variant;
42
+ variant = _useContext.variant,
43
+ actionState = _useContext.actionState;
43
44
  var _useState = React.useState(false),
44
45
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
45
46
  isConditionBuilderActive = _useState2[0],
@@ -61,11 +62,10 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
61
62
 
62
63
  // eslint-disable-next-line react-hooks/exhaustive-deps
63
64
  }, [rootState]);
64
-
65
- // useEffect(() => {
66
- // getActionsState?.(actionState);
67
- // // eslint-disable-next-line react-hooks/exhaustive-deps
68
- // }, [actionState]);
65
+ React.useEffect(function () {
66
+ getActionsState === null || getActionsState === void 0 || getActionsState(actionState);
67
+ // eslint-disable-next-line react-hooks/exhaustive-deps
68
+ }, [actionState]);
69
69
  var onStartConditionBuilder = function onStartConditionBuilder() {
70
70
  //when add condition button is clicked.
71
71
  setIsConditionBuilderActive(true);
@@ -91,8 +91,6 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
91
91
  };
92
92
  var addConditionGroupHandler = function addConditionGroupHandler() {
93
93
  var newGroup = {
94
- groupSeparateOperator: 'and',
95
- // 'or'|'and'|'null',
96
94
  groupOperator: 'and',
97
95
  //'and|or',
98
96
  statement: 'if',
@@ -111,7 +109,7 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
111
109
  }));
112
110
  };
113
111
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !isConditionBuilderActive && /*#__PURE__*/React__default["default"].createElement(react.Button, {
114
- className: "".concat(DataConfigs.blockClass, "__add-condition-button"),
112
+ className: "".concat(DataConfigs.blockClass, "__add_condition-button"),
115
113
  renderIcon: function renderIcon(props) {
116
114
  return /*#__PURE__*/React__default["default"].createElement(icons.Add, _rollupPluginBabelHelpers["extends"]({
117
115
  size: 16
@@ -121,10 +119,7 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
121
119
  kind: "ghost",
122
120
  size: "sm",
123
121
  onClick: onStartConditionBuilder
124
- }, startConditionLabel), isConditionBuilderActive &&
125
- /*#__PURE__*/
126
- // <h5 >Condition</h5>
127
- React__default["default"].createElement(react.Section, {
122
+ }, startConditionLabel), isConditionBuilderActive && /*#__PURE__*/React__default["default"].createElement(react.Section, {
128
123
  className: "".concat(DataConfigs.blockClass, "__heading"),
129
124
  level: 4
130
125
  }, _Heading || (_Heading = /*#__PURE__*/React__default["default"].createElement(react.Heading, null, "Condition"))), /*#__PURE__*/React__default["default"].createElement("div", {
@@ -164,16 +159,19 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
164
159
  onMouseLeave: function onMouseLeave() {
165
160
  setShowConditionGroupPreview(false);
166
161
  },
167
- className: "".concat(DataConfigs.blockClass, "__add-condition-group "),
162
+ className: "".concat(DataConfigs.blockClass, "__add_condition_group "),
168
163
  hideLabel: true,
169
- label: DataConfigs.translateWithId('add-condition-sub-group'),
164
+ label: DataConfigs.translateWithId('add_condition_group'),
170
165
  wrapperProps: {
171
166
  role: 'gridcell',
172
- 'aria-label': DataConfigs.translateWithId('add-condition-sub-group')
167
+ 'aria-label': DataConfigs.translateWithId('add_condition_group')
173
168
  }
174
169
  })), showConditionGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default["default"].createElement(ConditionPreview["default"], {
175
170
  previewType: "newGroup"
176
- }))))));
171
+ }))))), isConditionBuilderActive && actions && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderActions["default"], {
172
+ actions: actions,
173
+ className: "".concat(DataConfigs.blockClass, "__actions-container")
174
+ }));
177
175
  };
178
176
  var ConditionBuilderContent$1 = ConditionBuilderContent;
179
177
  ConditionBuilderContent.propTypes = {
@@ -181,8 +179,8 @@ ConditionBuilderContent.propTypes = {
181
179
  * optional array of object that give the list of actions.
182
180
  */
183
181
  actions: index["default"].arrayOf(index["default"].shape({
184
- id: index["default"].number,
185
- label: index["default"].string
182
+ id: index["default"].oneOfType([index["default"].string, index["default"].number]).isRequired,
183
+ label: index["default"].string.isRequired
186
184
  })),
187
185
  /**
188
186
  * ref of condition builder
@@ -201,15 +199,21 @@ ConditionBuilderContent.propTypes = {
201
199
  */
202
200
  initialState: index["default"].shape({
203
201
  groups: index["default"].arrayOf(index["default"].shape({
204
- groupSeparateOperator: index["default"].string,
205
- groupOperator: index["default"].string,
206
- statement: index["default"].string,
207
- conditions: index["default"].arrayOf(index["default"].shape({
208
- property: index["default"].string,
209
- operator: index["default"].string,
210
- value: index["default"].string
211
- }))
212
- }))
202
+ groupOperator: index["default"].string.isRequired,
203
+ statement: index["default"].string.isRequired,
204
+ conditions: index["default"].arrayOf(index["default"].oneOfType([index["default"].shape({
205
+ property: index["default"].string.isRequired,
206
+ operator: index["default"].string.isRequired,
207
+ value: index["default"].oneOfType([index["default"].string, index["default"].arrayOf(index["default"].shape({
208
+ id: index["default"].string,
209
+ label: index["default"].string
210
+ })), index["default"].shape({
211
+ id: index["default"].string,
212
+ label: index["default"].string
213
+ })])
214
+ }), index["default"].object]))
215
+ })),
216
+ operator: index["default"].string
213
217
  }),
214
218
  /* Provide a label to the button that starts condition builder
215
219
  */
@@ -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;
@@ -21,7 +21,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
21
  var emptyState = {
22
22
  operator: 'or',
23
23
  groups: [{
24
- groupSeparateOperator: null,
25
24
  groupOperator: 'and',
26
25
  statement: 'if',
27
26
  id: uuidv4["default"](),
@@ -58,10 +57,16 @@ var ConditionBuilderProvider = function ConditionBuilderProvider(props) {
58
57
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
59
58
  rootState = _useState2[0],
60
59
  setRootState = _useState2[1];
60
+ var _useState3 = React.useState([]),
61
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
62
+ actionState = _useState4[0],
63
+ setActionState = _useState4[1];
61
64
  return /*#__PURE__*/React__default["default"].createElement(ConditionBuilderContext.Provider, {
62
65
  value: {
63
66
  rootState: rootState,
64
67
  setRootState: setRootState,
68
+ actionState: actionState,
69
+ setActionState: setActionState,
65
70
  inputConfig: props.inputConfig,
66
71
  popOverSearchThreshold: props.popOverSearchThreshold,
67
72
  getOptions: props.getOptions,
@@ -95,7 +100,7 @@ ConditionBuilderProvider.propTypes = {
95
100
  id: index["default"].string,
96
101
  label: index["default"].string,
97
102
  icon: index["default"].oneOfType([index["default"].func, index["default"].object]),
98
- type: index["default"].oneOf(['text', 'number', 'date', 'option', 'time']),
103
+ type: index["default"].oneOf(['text', 'number', 'date', 'option', 'time', 'custom']),
99
104
  config: index["default"].shape({
100
105
  options: index["default"].arrayOf(index["default"].shape({
101
106
  id: index["default"].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
  }
@@ -17,7 +17,7 @@ var statementConfig = [{
17
17
  id: 'if'
18
18
  }, {
19
19
  label: 'excl.if',
20
- id: 'excl.if'
20
+ id: 'excl_if'
21
21
  }];
22
22
  var connectorConfig = [{
23
23
  label: 'and',
@@ -26,7 +26,6 @@ var connectorConfig = [{
26
26
  label: 'or',
27
27
  id: 'or'
28
28
  }];
29
- //op types : option, text, number, date,
30
29
  var operatorConfig = [{
31
30
  label: 'is',
32
31
  id: 'is',
@@ -37,7 +36,7 @@ var operatorConfig = [{
37
36
  type: 'number'
38
37
  }, {
39
38
  label: 'is greater than or equal to',
40
- id: 'greater-equal',
39
+ id: 'greater_equal',
41
40
  type: 'number'
42
41
  }, {
43
42
  label: 'is lower than',
@@ -45,15 +44,15 @@ var operatorConfig = [{
45
44
  type: 'number'
46
45
  }, {
47
46
  label: 'is lower than or equal to',
48
- id: 'lower-equal',
47
+ id: 'lower_equal',
49
48
  type: 'number'
50
49
  }, {
51
50
  label: 'starts with',
52
- id: 'starts-with',
51
+ id: 'starts_with',
53
52
  type: 'text'
54
53
  }, {
55
54
  label: 'ends with',
56
- id: 'ends-with',
55
+ id: 'ends_with',
57
56
  type: 'text'
58
57
  }, {
59
58
  label: 'contains',
@@ -61,7 +60,7 @@ var operatorConfig = [{
61
60
  type: 'text'
62
61
  }, {
63
62
  label: 'is one of',
64
- id: 'one-of',
63
+ id: 'one_of',
65
64
  type: 'option'
66
65
  }, {
67
66
  label: 'is before',
@@ -96,11 +95,17 @@ var valueRenderers = {
96
95
  time: function time(val) {
97
96
  return val;
98
97
  },
99
- number: function number(val, config) {
100
- return config.unit && val ? "".concat(val, " ").concat(config.unit) : val;
98
+ number: function number(val) {
99
+ return val;
101
100
  },
102
101
  option: function option(value) {
103
- return Array.isArray(value) ? value.join(', ') : value;
102
+ if (value && typeof value !== 'string') {
103
+ var selectedValues = Array.isArray(value) ? value : [value];
104
+ return selectedValues.map(function (option) {
105
+ return option.label;
106
+ }).join(', ');
107
+ }
108
+ return value;
104
109
  },
105
110
  date: function date(value) {
106
111
  if (Array.isArray(value) && value.length > 1) {
@@ -110,6 +115,9 @@ var valueRenderers = {
110
115
  } else {
111
116
  return value && new Date(value) ? formatDate(new Date(value)) : value;
112
117
  }
118
+ },
119
+ custom: function custom(value) {
120
+ return value;
113
121
  }
114
122
  };
115
123
 
@@ -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
  }
@@ -12,24 +12,24 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
12
  var translationsObject = {
13
13
  en: {
14
14
  if: 'if',
15
- 'excl-if': 'excl.if',
15
+ excl_if: 'excl.if',
16
16
  and: 'and',
17
17
  or: 'or',
18
18
  is: 'is',
19
19
  greater: 'is greater than',
20
- 'greater-equal': 'is greater than or equal to',
20
+ greater_equal: 'is greater than or equal to',
21
21
  lower: 'is lower than',
22
- 'lower-equal': 'is lower than or equal to',
23
- 'starts-with': 'starts with',
24
- 'ends-with': 'ends with',
22
+ lower_equal: 'is lower than or equal to',
23
+ starts_with: 'starts with',
24
+ ends_with: 'ends with',
25
25
  contains: 'contains',
26
- 'one-of': 'is one of',
26
+ one_of: 'is one of',
27
27
  before: 'is before',
28
28
  after: 'is after',
29
29
  between: 'is between',
30
- 'add-condition': 'Add Condition',
31
- 'add-condition-group': 'Add Condition Group',
32
- 'add-condition-sub-group': 'Add Condition sub group',
30
+ add_condition: 'Add condition',
31
+ add_condition_group: 'Add condition group',
32
+ add_subgroup: 'Add subgroup',
33
33
  condition: 'Condition',
34
34
  property: 'Property',
35
35
  operator: 'Operator',
@@ -44,7 +44,9 @@ var translationsObject = {
44
44
  actions: 'Actions',
45
45
  then: 'then',
46
46
  remove_action: 'Remove Action',
47
- add_action: 'Add action'
47
+ add_action: 'Add action',
48
+ invalid_text: 'Incomplete',
49
+ text_invalid_number: 'Invalid number, must be 0 or greater'
48
50
  }
49
51
  };
50
52
 
@@ -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>;
@@ -35,19 +35,26 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
35
35
  config = _ref.config,
36
36
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
37
37
  var contentRef = React.useRef(null);
38
- var _useState = React.useState(label),
38
+ var _useState = React.useState(false),
39
39
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
40
- propertyLabel = _useState2[0],
41
- setPropertyLabel = _useState2[1];
42
- var _useState3 = React.useState(false),
43
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
44
- open = _useState4[0],
45
- setOpen = _useState4[1];
46
- React.useEffect(function () {
40
+ open = _useState2[0],
41
+ setOpen = _useState2[1];
42
+ var getPropertyDetails = function getPropertyDetails() {
43
+ if (label === 'INVALID') {
44
+ return {
45
+ propertyLabel: DataConfigs.translateWithId('invalid_text'),
46
+ isInvalid: true
47
+ };
48
+ }
47
49
  var propertyId = rest['data-name'] == 'valueField' && type ? DataConfigs.valueRenderers[type](label, config) : label;
48
- setPropertyLabel(DataConfigs.translateWithId(propertyId));
49
- // eslint-disable-next-line react-hooks/exhaustive-deps
50
- }, [label]);
50
+ return {
51
+ isInvalid: false,
52
+ propertyLabel: DataConfigs.translateWithId(propertyId)
53
+ };
54
+ };
55
+ var _getPropertyDetails = getPropertyDetails(),
56
+ propertyLabel = _getPropertyDetails.propertyLabel,
57
+ isInvalid = _getPropertyDetails.isInvalid;
51
58
  React.useEffect(function () {
52
59
  /**
53
60
  * rest['data-name'] holds the current field name
@@ -59,7 +66,7 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
59
66
  if (condition.popoverToOpen && currentField !== condition.popoverToOpen) {
60
67
  // close the previous popover
61
68
  setOpen(false);
62
- } else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'one-of') {
69
+ } else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'one_of') {
63
70
  //close the current popover if the field is valueField and is a single select dropdown. For all other inputs ,popover need to be open on value changes.
64
71
  setOpen(false);
65
72
  }
@@ -92,7 +99,7 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
92
99
  setOpen(false);
93
100
  }
94
101
  }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, _rollupPluginBabelHelpers["extends"]({
95
- label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : DataConfigs.translateWithId('add-condition'),
102
+ label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : DataConfigs.translateWithId('add_condition'),
96
103
  hideLabel: !label ? true : false,
97
104
  onClick: function onClick() {
98
105
  children ? setOpen(!open) : null;
@@ -101,7 +108,8 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
101
108
  "aria-haspopup": true,
102
109
  "aria-expanded": open,
103
110
  renderIcon: renderIcon ? renderIcon : label == undefined ? icons.Add : null,
104
- showToolTip: showToolTip
111
+ showToolTip: showToolTip,
112
+ isInvalid: isInvalid
105
113
  }, rest)), /*#__PURE__*/React__default["default"].createElement(react.PopoverContent, {
106
114
  className: "".concat(DataConfigs.blockClass, "__item__content"),
107
115
  role: "dialog",
@@ -133,7 +141,7 @@ ConditionBuilderItem.propTypes = {
133
141
  /**
134
142
  * text to be displayed in the field
135
143
  */
136
- label: index["default"].oneOfType([index["default"].string, index["default"].array]),
144
+ label: index["default"].oneOfType([index["default"].string, index["default"].array, index["default"].object]),
137
145
  /**
138
146
  * class name for popover
139
147
  */