@carbon/ibm-products 2.42.1-canary.2 → 2.42.1-canary.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. package/css/index-full-carbon.css +302 -9
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon.css +302 -9
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +1 -1
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +302 -9
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +1 -1
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/Carousel/Carousel.d.ts +1 -1
  14. package/es/components/Carousel/Carousel.js +1 -1
  15. package/es/components/Coachmark/CoachmarkDragbar.d.ts +1 -1
  16. package/es/components/Coachmark/CoachmarkDragbar.js +1 -1
  17. package/es/components/Coachmark/CoachmarkHeader.d.ts +1 -1
  18. package/es/components/Coachmark/CoachmarkHeader.js +1 -1
  19. package/es/components/Coachmark/CoachmarkOverlay.d.ts +1 -1
  20. package/es/components/Coachmark/CoachmarkOverlay.js +1 -1
  21. package/es/components/Coachmark/CoachmarkTagline.d.ts +1 -1
  22. package/es/components/Coachmark/CoachmarkTagline.js +1 -1
  23. package/es/components/CoachmarkStack/CoachmarkStackHome.d.ts +1 -1
  24. package/es/components/CoachmarkStack/CoachmarkStackHome.js +2 -2
  25. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +6 -0
  26. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -33
  27. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +15 -1
  28. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +95 -12
  29. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +11 -2
  30. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +27 -9
  31. package/es/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.js +38 -33
  32. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.d.ts +2 -0
  33. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +44 -0
  34. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +5 -0
  35. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +95 -14
  36. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +1 -0
  37. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +1 -0
  38. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +7 -0
  39. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +8 -1
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +1 -1
  41. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +197 -67
  42. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +10 -0
  43. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +69 -0
  44. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  45. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -1
  46. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +7 -4
  47. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilterContext.d.ts +7 -1
  48. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.d.ts +1 -0
  49. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +13 -3
  50. package/es/components/Datagrid/types/index.d.ts +2 -0
  51. package/es/components/Datagrid/useColumnOrder.d.ts +7 -1
  52. package/es/components/Datagrid/useNestedRows.js +24 -2
  53. package/es/components/Datagrid/useOnRowClick.d.ts +8 -1
  54. package/es/components/Datagrid/useOnRowClick.js +2 -1
  55. package/es/components/Datagrid/useRowIsMouseOver.d.ts +2 -1
  56. package/es/components/Datagrid/useRowIsMouseOver.js +1 -1
  57. package/es/components/Datagrid/useSelectRows.d.ts +8 -1
  58. package/es/components/Datagrid/useSelectRows.js +3 -2
  59. package/es/components/Datagrid/useSortableColumns.d.ts +10 -3
  60. package/es/components/Datagrid/useSortableColumns.js +3 -2
  61. package/es/components/Datagrid/utils/getAutoSizedColumnWidth.d.ts +8 -1
  62. package/es/components/Datagrid/utils/getAutoSizedColumnWidth.js +0 -7
  63. package/es/components/InterstitialScreenView/InterstitialScreenView.d.ts +1 -1
  64. package/es/components/InterstitialScreenView/InterstitialScreenView.js +1 -1
  65. package/es/components/SidePanel/SidePanel.d.ts +2 -2
  66. package/es/components/SidePanel/SidePanel.js +5 -3
  67. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.d.ts +1 -1
  68. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +1 -1
  69. package/es/feature-flags.js +18 -0
  70. package/es/global/js/package-settings.js +2 -2
  71. package/es/index.d.ts +1 -0
  72. package/es/index.js +1 -0
  73. package/lib/components/Carousel/Carousel.d.ts +1 -1
  74. package/lib/components/Carousel/Carousel.js +1 -1
  75. package/lib/components/Coachmark/CoachmarkDragbar.d.ts +1 -1
  76. package/lib/components/Coachmark/CoachmarkDragbar.js +1 -1
  77. package/lib/components/Coachmark/CoachmarkHeader.d.ts +1 -1
  78. package/lib/components/Coachmark/CoachmarkHeader.js +1 -1
  79. package/lib/components/Coachmark/CoachmarkOverlay.d.ts +1 -1
  80. package/lib/components/Coachmark/CoachmarkOverlay.js +1 -1
  81. package/lib/components/Coachmark/CoachmarkTagline.d.ts +1 -1
  82. package/lib/components/Coachmark/CoachmarkTagline.js +1 -1
  83. package/lib/components/CoachmarkStack/CoachmarkStackHome.d.ts +1 -1
  84. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +2 -2
  85. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +6 -0
  86. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +73 -32
  87. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +15 -1
  88. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +92 -9
  89. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +11 -2
  90. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +26 -8
  91. package/lib/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.js +36 -31
  92. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.d.ts +2 -0
  93. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +52 -0
  94. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +5 -0
  95. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +92 -11
  96. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +1 -0
  97. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +1 -0
  98. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +7 -0
  99. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +8 -1
  100. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +1 -1
  101. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +195 -64
  102. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +10 -0
  103. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +77 -0
  104. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  105. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -1
  106. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +7 -4
  107. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilterContext.d.ts +7 -1
  108. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.d.ts +1 -0
  109. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +13 -3
  110. package/lib/components/Datagrid/types/index.d.ts +2 -0
  111. package/lib/components/Datagrid/useColumnOrder.d.ts +7 -1
  112. package/lib/components/Datagrid/useNestedRows.js +24 -2
  113. package/lib/components/Datagrid/useOnRowClick.d.ts +8 -1
  114. package/lib/components/Datagrid/useOnRowClick.js +2 -1
  115. package/lib/components/Datagrid/useRowIsMouseOver.d.ts +2 -1
  116. package/lib/components/Datagrid/useRowIsMouseOver.js +1 -1
  117. package/lib/components/Datagrid/useSelectRows.d.ts +8 -1
  118. package/lib/components/Datagrid/useSelectRows.js +3 -2
  119. package/lib/components/Datagrid/useSortableColumns.d.ts +10 -3
  120. package/lib/components/Datagrid/useSortableColumns.js +3 -2
  121. package/lib/components/Datagrid/utils/getAutoSizedColumnWidth.d.ts +8 -1
  122. package/lib/components/Datagrid/utils/getAutoSizedColumnWidth.js +0 -7
  123. package/lib/components/InterstitialScreenView/InterstitialScreenView.d.ts +1 -1
  124. package/lib/components/InterstitialScreenView/InterstitialScreenView.js +1 -1
  125. package/lib/components/SidePanel/SidePanel.d.ts +2 -2
  126. package/lib/components/SidePanel/SidePanel.js +5 -3
  127. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.d.ts +1 -1
  128. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +1 -1
  129. package/lib/feature-flags.js +40 -0
  130. package/lib/global/js/package-settings.js +2 -2
  131. package/lib/index.d.ts +1 -0
  132. package/lib/index.js +1 -0
  133. package/package.json +3 -3
  134. package/scss/components/ConditionBuilder/_condition-builder.scss +21 -1
  135. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +22 -3
  136. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +58 -21
  137. package/scss/components/NonLinearReading/_non-linear-reading.scss +1 -1
  138. /package/es/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.d.ts +0 -0
  139. /package/lib/components/ConditionBuilder/{ConditionConnector → ConditionBuilderConnector}/ConditionConnector.d.ts +0 -0
@@ -6,21 +6,22 @@
6
6
  */
7
7
 
8
8
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default, { useCallback } from 'react';
9
+ import React__default, { useContext, useCallback } from 'react';
10
10
  import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
11
11
  import { ConditionBuilderItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js';
12
- import { translateWithId, connectorConfig } from '../ConditionBuilderContext/DataConfigs.js';
13
- import { pkg } from '../../../settings.js';
12
+ import { blockClass, translateWithId, connectorConfig } from '../ConditionBuilderContext/DataConfigs.js';
14
13
  import PropTypes from '../../../node_modules/prop-types/index.js';
15
14
  import { focusThisField } from '../utils/util.js';
15
+ import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
16
16
 
17
17
  var _excluded = ["operator", "className", "onChange"];
18
- var blockClass = "".concat(pkg.prefix, "--condition-builder");
19
- function ConditionConnector(_ref) {
18
+ var ConditionConnector = function ConditionConnector(_ref) {
20
19
  var operator = _ref.operator,
21
20
  className = _ref.className,
22
21
  onChange = _ref.onChange,
23
22
  rest = _objectWithoutProperties(_ref, _excluded);
23
+ var _useContext = useContext(ConditionBuilderContext),
24
+ variant = _useContext.variant;
24
25
  var handleConnectorHover = useCallback(function (parentGroup, isHover) {
25
26
  if (isHover) {
26
27
  parentGroup.classList.add('hoveredConnector');
@@ -40,33 +41,37 @@ function ConditionConnector(_ref) {
40
41
  onChange(op);
41
42
  focusThisField(evt);
42
43
  };
43
- return (
44
- /*#__PURE__*/
45
- // <div className={className} {...rest}>
46
- React__default.createElement(ConditionBuilderItem, _extends({
47
- label: operator,
48
- title: translateWithId('connector'),
49
- "data-name": "connectorField",
50
- onMouseEnter: activeConnectorHandler,
51
- onMouseLeave: inActiveConnectorHandler,
52
- onFocus: activeConnectorHandler,
53
- onBlur: inActiveConnectorHandler
54
- }, rest, {
55
- popOverClassName: className,
56
- className: "".concat(blockClass, "__connector-button ")
57
- }), /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
58
- config: {
59
- options: connectorConfig
60
- },
61
- conditionState: {
62
- value: operator,
63
- label: translateWithId('connector')
64
- },
65
- onChange: onChangeHandler
66
- }))
67
- // </div>
68
- );
69
- }
44
+ return variant == 'tree' ? /*#__PURE__*/React__default.createElement("span", {
45
+ className: "".concat(className, " ").concat(blockClass, "__connector-disabled")
46
+ }, operator) :
47
+ /*#__PURE__*/
48
+ // <div className={className} {...rest}>
49
+ React__default.createElement(ConditionBuilderItem, _extends({
50
+ label: operator,
51
+ title: translateWithId('connector'),
52
+ "data-name": "connectorField",
53
+ onMouseEnter: activeConnectorHandler,
54
+ onMouseLeave: inActiveConnectorHandler,
55
+ onFocus: activeConnectorHandler,
56
+ onBlur: inActiveConnectorHandler
57
+ }, rest, {
58
+ popOverClassName: className,
59
+ className: "".concat(blockClass, "__connector-button ")
60
+ }), /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
61
+ config: {
62
+ options: connectorConfig
63
+ },
64
+ conditionState: {
65
+ value: operator,
66
+ label: translateWithId('connector')
67
+ },
68
+ onChange: onChangeHandler
69
+ }))
70
+
71
+ // </div>
72
+ ;
73
+ };
74
+ var ConditionConnector$1 = ConditionConnector;
70
75
  ConditionConnector.propTypes = {
71
76
  /**
72
77
  * Provide an optional class to be applied to the containing node.
@@ -82,4 +87,4 @@ ConditionConnector.propTypes = {
82
87
  operator: PropTypes.string
83
88
  };
84
89
 
85
- export { ConditionConnector as default };
90
+ export { ConditionConnector$1 as default };
@@ -0,0 +1,2 @@
1
+ export default GroupConnector;
2
+ declare function GroupConnector(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React__default, { useContext } from 'react';
9
+ import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
10
+ import { blockClass, translateWithId, connectorConfig } from '../ConditionBuilderContext/DataConfigs.js';
11
+ import { ConditionBuilderItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js';
12
+ import { focusThisField } from '../utils/util.js';
13
+ import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
14
+
15
+ var GroupConnector = function GroupConnector() {
16
+ var _useContext = useContext(ConditionBuilderContext),
17
+ rootState = _useContext.rootState;
18
+ return /*#__PURE__*/React__default.createElement("div", {
19
+ className: "".concat(blockClass, "__group-separator"),
20
+ role: "row",
21
+ tabIndex: -1,
22
+ "aria-level": 1
23
+ }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
24
+ label: rootState.operator,
25
+ title: translateWithId('condition'),
26
+ "data-name": "connectorField",
27
+ popOverClassName: "".concat(blockClass, "__gap"),
28
+ className: "".concat(blockClass, "__statement-button")
29
+ }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
30
+ conditionState: {
31
+ value: rootState.operator,
32
+ label: translateWithId('condition')
33
+ },
34
+ onChange: function onChange(v, e) {
35
+ focusThisField(e);
36
+ },
37
+ config: {
38
+ options: connectorConfig
39
+ }
40
+ })));
41
+ };
42
+ var GroupConnector$1 = GroupConnector;
43
+
44
+ export { GroupConnector$1 as default };
@@ -7,7 +7,12 @@ declare function ConditionBuilderContent({ startConditionLabel, conditionBuilder
7
7
  }): import("react/jsx-runtime").JSX.Element;
8
8
  declare namespace ConditionBuilderContent {
9
9
  namespace propTypes {
10
+ let actions: PropTypes.Requireable<(PropTypes.InferProps<{
11
+ id: PropTypes.Requireable<number>;
12
+ label: PropTypes.Requireable<string>;
13
+ }> | null | undefined)[]>;
10
14
  let conditionBuilderRef: PropTypes.Requireable<object>;
15
+ let getActionsState: PropTypes.Requireable<(...args: any[]) => any>;
11
16
  let getConditionState: PropTypes.Validator<(...args: any[]) => any>;
12
17
  let initialState: PropTypes.Requireable<PropTypes.InferProps<{
13
18
  groups: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -8,25 +8,38 @@
8
8
  import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, extends as _extends, toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useContext, useState, useEffect, useCallback } from 'react';
10
10
  import PropTypes from '../../../node_modules/prop-types/index.js';
11
- import { Button } from '@carbon/react';
12
- import { Add } from '@carbon/react/icons';
11
+ import { Button, Section, Heading } from '@carbon/react';
12
+ import { Add, TextNewLine } from '@carbon/react/icons';
13
13
  import ConditionGroupBuilder from '../ConditionGroupBuilder/ConditionGroupBuilder.js';
14
14
  import { ConditionBuilderContext, emptyState } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
15
- import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
15
+ import { blockClass, translateWithId } from '../ConditionBuilderContext/DataConfigs.js';
16
+ import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
17
+ import uuidv4 from '../../../global/js/utils/uuidv4.js';
18
+ import ConditionPreview from '../ConditionPreview/ConditionPreview.js';
19
+ import GroupConnector from '../ConditionBuilderConnector/GroupConnector.js';
16
20
 
21
+ var _Heading, _GroupConnector, _ConditionPreview;
17
22
  var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
18
23
  var _rootState$groups2;
19
24
  var startConditionLabel = _ref.startConditionLabel,
20
25
  conditionBuilderRef = _ref.conditionBuilderRef,
21
26
  getConditionState = _ref.getConditionState,
22
27
  initialState = _ref.initialState;
28
+ // const { rootState, setRootState, variant, actionState } = useContext(
29
+ // ConditionBuilderContext
30
+ // );
23
31
  var _useContext = useContext(ConditionBuilderContext),
24
32
  rootState = _useContext.rootState,
25
- setRootState = _useContext.setRootState;
33
+ setRootState = _useContext.setRootState,
34
+ variant = _useContext.variant;
26
35
  var _useState = useState(false),
27
36
  _useState2 = _slicedToArray(_useState, 2),
28
37
  isConditionBuilderActive = _useState2[0],
29
38
  setIsConditionBuilderActive = _useState2[1];
39
+ var _useState3 = useState(false),
40
+ _useState4 = _slicedToArray(_useState3, 2),
41
+ showConditionGroupPreview = _useState4[0],
42
+ setShowConditionGroupPreview = _useState4[1];
30
43
  useEffect(function () {
31
44
  var _rootState$groups;
32
45
  if (rootState !== null && rootState !== void 0 && (_rootState$groups = rootState.groups) !== null && _rootState$groups !== void 0 && _rootState$groups.length) {
@@ -39,7 +52,12 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
39
52
  }
40
53
 
41
54
  // eslint-disable-next-line react-hooks/exhaustive-deps
42
- }, [rootState, conditionBuilderRef]);
55
+ }, [rootState]);
56
+
57
+ // useEffect(() => {
58
+ // getActionsState?.(actionState);
59
+ // // eslint-disable-next-line react-hooks/exhaustive-deps
60
+ // }, [actionState]);
43
61
  var onStartConditionBuilder = function onStartConditionBuilder() {
44
62
  //when add condition button is clicked.
45
63
  setIsConditionBuilderActive(true);
@@ -63,10 +81,28 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
63
81
  groups: groups
64
82
  }));
65
83
  };
66
- return /*#__PURE__*/React__default.createElement("div", {
67
- className: "".concat(blockClass, "__content-container"),
68
- tabIndex: -1
69
- }, !isConditionBuilderActive && /*#__PURE__*/React__default.createElement(Button, {
84
+ var addConditionGroupHandler = function addConditionGroupHandler() {
85
+ var newGroup = {
86
+ groupSeparateOperator: 'and',
87
+ // 'or'|'and'|'null',
88
+ groupOperator: 'and',
89
+ //'and|or',
90
+ statement: 'if',
91
+ // 'if|exclude if',
92
+ id: uuidv4(),
93
+ conditions: [{
94
+ property: undefined,
95
+ operator: '',
96
+ value: '',
97
+ popoverToOpen: 'propertyField',
98
+ id: uuidv4()
99
+ }]
100
+ };
101
+ setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
102
+ groups: [].concat(_toConsumableArray(rootState.groups), [newGroup])
103
+ }));
104
+ };
105
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !isConditionBuilderActive && /*#__PURE__*/React__default.createElement(Button, {
70
106
  className: "".concat(blockClass, "__add-condition-button"),
71
107
  renderIcon: function renderIcon(props) {
72
108
  return /*#__PURE__*/React__default.createElement(Add, _extends({
@@ -77,10 +113,22 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
77
113
  kind: "ghost",
78
114
  size: "sm",
79
115
  onClick: onStartConditionBuilder
80
- }, startConditionLabel), rootState && (rootState === null || rootState === void 0 || (_rootState$groups2 = rootState.groups) === null || _rootState$groups2 === void 0 ? void 0 : _rootState$groups2.map(function (eachGroup, groupIndex) {
81
- return /*#__PURE__*/React__default.createElement(ConditionGroupBuilder, {
116
+ }, startConditionLabel), isConditionBuilderActive &&
117
+ /*#__PURE__*/
118
+ // <h5 >Condition</h5>
119
+ React__default.createElement(Section, {
120
+ className: "".concat(blockClass, "__heading"),
121
+ level: 4
122
+ }, _Heading || (_Heading = /*#__PURE__*/React__default.createElement(Heading, null, "Condition"))), /*#__PURE__*/React__default.createElement("div", {
123
+ className: "".concat(blockClass, "__content-container"),
124
+ role: "treegrid",
125
+ "aria-label": "condition builder tree"
126
+ }, rootState && (rootState === null || rootState === void 0 || (_rootState$groups2 = rootState.groups) === null || _rootState$groups2 === void 0 ? void 0 : _rootState$groups2.map(function (eachGroup, groupIndex) {
127
+ return /*#__PURE__*/React__default.createElement("div", {
128
+ key: eachGroup.id,
129
+ className: "".concat(blockClass, "__group-wrapper")
130
+ }, /*#__PURE__*/React__default.createElement(ConditionGroupBuilder, {
82
131
  className: "".concat(blockClass, "__group"),
83
- key: groupIndex,
84
132
  aria: {
85
133
  level: 1,
86
134
  posinset: groupIndex * 2 + 1,
@@ -94,15 +142,48 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
94
142
  onChangeHandler(updatedGroup, groupIndex);
95
143
  },
96
144
  conditionBuilderRef: conditionBuilderRef
97
- });
98
- })));
145
+ }), groupIndex < rootState.groups.length - 1 && (_GroupConnector || (_GroupConnector = /*#__PURE__*/React__default.createElement(GroupConnector, null))));
146
+ })), isConditionBuilderActive && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, variant == 'tree' && /*#__PURE__*/React__default.createElement("div", {
147
+ role: "row",
148
+ tabIndex: -1,
149
+ "aria-level": 1
150
+ }, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, {
151
+ renderIcon: TextNewLine,
152
+ onClick: addConditionGroupHandler,
153
+ onMouseEnter: function onMouseEnter() {
154
+ setShowConditionGroupPreview(true);
155
+ },
156
+ onMouseLeave: function onMouseLeave() {
157
+ setShowConditionGroupPreview(false);
158
+ },
159
+ className: "".concat(blockClass, "__add-condition-group "),
160
+ hideLabel: true,
161
+ label: translateWithId('add-condition-sub-group'),
162
+ wrapperProps: {
163
+ role: 'gridcell',
164
+ 'aria-label': translateWithId('add-condition-sub-group')
165
+ }
166
+ })), showConditionGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
167
+ previewType: "newGroup"
168
+ }))))));
99
169
  };
100
170
  var ConditionBuilderContent$1 = ConditionBuilderContent;
101
171
  ConditionBuilderContent.propTypes = {
172
+ /**
173
+ * optional array of object that give the list of actions.
174
+ */
175
+ actions: PropTypes.arrayOf(PropTypes.shape({
176
+ id: PropTypes.number,
177
+ label: PropTypes.string
178
+ })),
102
179
  /**
103
180
  * ref of condition builder
104
181
  */
105
182
  conditionBuilderRef: PropTypes.object,
183
+ /**
184
+ * callback functions that will provide the updated action state back.
185
+ */
186
+ getActionsState: PropTypes.func,
106
187
  /**
107
188
  * This is a callback function that returns the updated state
108
189
  */
@@ -1,4 +1,5 @@
1
1
  export namespace emptyState {
2
+ let operator: string;
2
3
  let groups: {
3
4
  groupSeparateOperator: null;
4
5
  groupOperator: string;
@@ -11,6 +11,7 @@ import PropTypes from '../../../node_modules/prop-types/index.js';
11
11
  import uuidv4 from '../../../global/js/utils/uuidv4.js';
12
12
 
13
13
  var emptyState = {
14
+ operator: 'or',
14
15
  groups: [{
15
16
  groupSeparateOperator: null,
16
17
  groupOperator: 'and',
@@ -17,9 +17,12 @@ export namespace translationsObject {
17
17
  after: string;
18
18
  between: string;
19
19
  'add-condition': string;
20
+ 'add-condition-group': string;
21
+ 'add-condition-sub-group': string;
20
22
  condition: string;
21
23
  property: string;
22
24
  operator: string;
25
+ value: string;
23
26
  connector: string;
24
27
  condition_row: string;
25
28
  remove_condition: string;
@@ -27,5 +30,9 @@ export namespace translationsObject {
27
30
  start: string;
28
31
  end: string;
29
32
  clear_search: string;
33
+ actions: string;
34
+ then: string;
35
+ remove_action: string;
36
+ add_action: string;
30
37
  };
31
38
  }
@@ -24,16 +24,23 @@ var translationsObject = {
24
24
  after: 'is after',
25
25
  between: 'is between',
26
26
  'add-condition': 'Add Condition',
27
+ 'add-condition-group': 'Add Condition Group',
28
+ 'add-condition-sub-group': 'Add Condition sub group',
27
29
  condition: 'Condition',
28
30
  property: 'Property',
29
31
  operator: 'Operator',
32
+ value: 'Value',
30
33
  connector: 'Connector',
31
34
  condition_row: 'Condition row',
32
35
  remove_condition: 'Remove condition',
33
36
  add_condition_row: 'Add condition row',
34
37
  start: 'Start',
35
38
  end: 'End',
36
- clear_search: 'Clear search input'
39
+ clear_search: 'Clear search input',
40
+ actions: 'Actions',
41
+ then: 'then',
42
+ remove_action: 'Remove Action',
43
+ add_action: 'Add action'
37
44
  }
38
45
  };
39
46
 
@@ -87,7 +87,7 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
87
87
  label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : translateWithId('add-condition'),
88
88
  hideLabel: !label ? true : false,
89
89
  onClick: function onClick() {
90
- setOpen(!open);
90
+ children ? setOpen(!open) : null;
91
91
  },
92
92
  className: className,
93
93
  "aria-haspopup": true,