@carbon/ibm-products 2.48.0 → 2.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/css/index-full-carbon.css +29 -14
  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 +11 -2
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +29 -14
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +29 -14
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/APIKeyModal/APIKeyModal.types.d.ts +1 -1
  18. package/es/components/Card/Card.js +4 -2
  19. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +100 -24
  20. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +30 -27
  21. package/es/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
  22. package/es/components/ConditionBuilder/ConditionBuilder.js +13 -9
  23. package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts +151 -0
  24. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
  25. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +7 -7
  26. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
  27. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +2 -3
  28. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +86 -37
  29. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +2 -2
  30. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
  31. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +10 -9
  32. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +4 -1
  33. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
  34. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +40 -37
  35. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
  36. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +22 -31
  37. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +6 -0
  38. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +7 -1
  39. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +14 -8
  41. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
  42. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +2 -3
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +12 -7
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +35 -12
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +16 -9
  47. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
  48. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +4 -4
  49. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
  50. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +5 -6
  51. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
  52. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  53. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
  54. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +50 -40
  55. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
  56. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +2 -3
  57. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +9 -10
  58. package/es/components/ConditionBuilder/utils/useDataConfigs.d.ts +18 -0
  59. package/es/components/ConditionBuilder/utils/useDataConfigs.js +120 -0
  60. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -1
  61. package/es/components/ConditionBuilder/utils/useTranslations.js +4 -1
  62. package/es/components/ConditionBuilder/utils/util.d.ts +12 -0
  63. package/es/components/ConditionBuilder/utils/util.js +48 -2
  64. package/es/components/CreateFullPage/CreateFullPageStep.d.ts +2 -2
  65. package/es/components/CreateFullPage/index.d.ts +1 -0
  66. package/es/components/CreateTearsheet/CreateTearsheet.js +3 -4
  67. package/es/components/DataSpreadsheet/DataSpreadsheet.js +8 -1
  68. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +8 -3
  69. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +20 -11
  70. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +7 -2
  71. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +12 -7
  72. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +18 -16
  73. package/es/components/Datagrid/types/index.d.ts +1 -0
  74. package/es/components/Datagrid/useActionsColumn.js +1 -4
  75. package/es/components/Datagrid/useFiltering.d.ts +1 -0
  76. package/es/components/Datagrid/useFiltering.js +14 -3
  77. package/es/components/EditInPlace/EditInPlace.js +7 -5
  78. package/es/components/NotificationsPanel/NotificationsPanel.d.ts +2 -0
  79. package/es/components/NotificationsPanel/NotificationsPanel.js +75 -5
  80. package/es/components/TagOverflow/TagOverflow.d.ts +1 -0
  81. package/es/components/TagOverflow/TagOverflow.js +8 -2
  82. package/es/components/TagOverflow/TagOverflowPopover.d.ts +1 -0
  83. package/es/components/TagOverflow/TagOverflowPopover.js +7 -1
  84. package/es/components/TagSet/TagSetOverflow.js +1 -1
  85. package/es/components/Tearsheet/Tearsheet.d.ts +2 -2
  86. package/es/components/Tearsheet/TearsheetShell.js +7 -3
  87. package/es/components/Toolbar/ToolbarButton.d.ts +12 -1
  88. package/es/components/Toolbar/ToolbarButton.js +16 -8
  89. package/es/global/js/hooks/useFocus.d.ts +1 -1
  90. package/es/global/js/hooks/useFocus.js +40 -24
  91. package/es/global/js/utils/keyboardNavigation.d.ts +27 -0
  92. package/es/global/js/utils/keyboardNavigation.js +37 -0
  93. package/es/global/js/utils/wrapFocus.d.ts +25 -0
  94. package/es/global/js/utils/wrapFocus.js +68 -0
  95. package/lib/components/APIKeyModal/APIKeyModal.types.d.ts +1 -1
  96. package/lib/components/Card/Card.js +3 -1
  97. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +100 -24
  98. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +36 -33
  99. package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
  100. package/lib/components/ConditionBuilder/ConditionBuilder.js +15 -11
  101. package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts +151 -0
  102. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
  103. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +15 -15
  104. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
  105. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +7 -8
  106. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +86 -37
  107. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +4 -4
  108. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
  109. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +11 -10
  110. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +8 -5
  111. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
  112. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +47 -44
  113. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
  114. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +22 -31
  115. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +6 -0
  116. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +7 -1
  117. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
  118. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +18 -12
  119. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
  120. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +3 -4
  121. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
  122. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +13 -8
  123. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +35 -12
  124. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +22 -15
  125. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
  126. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +15 -15
  127. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
  128. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +5 -6
  129. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
  130. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +2 -2
  131. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
  132. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +60 -50
  133. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
  134. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +18 -19
  135. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +12 -13
  136. package/lib/components/ConditionBuilder/utils/useDataConfigs.d.ts +18 -0
  137. package/lib/components/ConditionBuilder/utils/useDataConfigs.js +124 -0
  138. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -1
  139. package/lib/components/ConditionBuilder/utils/useTranslations.js +4 -1
  140. package/lib/components/ConditionBuilder/utils/util.d.ts +12 -0
  141. package/lib/components/ConditionBuilder/utils/util.js +53 -3
  142. package/lib/components/CreateFullPage/CreateFullPageStep.d.ts +2 -2
  143. package/lib/components/CreateFullPage/index.d.ts +1 -0
  144. package/lib/components/CreateTearsheet/CreateTearsheet.js +3 -4
  145. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +8 -1
  146. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +8 -3
  147. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +19 -10
  148. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +6 -1
  149. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +11 -6
  150. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +18 -16
  151. package/lib/components/Datagrid/types/index.d.ts +1 -0
  152. package/lib/components/Datagrid/useActionsColumn.js +1 -4
  153. package/lib/components/Datagrid/useFiltering.d.ts +1 -0
  154. package/lib/components/Datagrid/useFiltering.js +13 -1
  155. package/lib/components/EditInPlace/EditInPlace.js +7 -5
  156. package/lib/components/NotificationsPanel/NotificationsPanel.d.ts +2 -0
  157. package/lib/components/NotificationsPanel/NotificationsPanel.js +74 -4
  158. package/lib/components/TagOverflow/TagOverflow.d.ts +1 -0
  159. package/lib/components/TagOverflow/TagOverflow.js +8 -2
  160. package/lib/components/TagOverflow/TagOverflowPopover.d.ts +1 -0
  161. package/lib/components/TagOverflow/TagOverflowPopover.js +7 -1
  162. package/lib/components/TagSet/TagSetOverflow.js +1 -1
  163. package/lib/components/Tearsheet/Tearsheet.d.ts +2 -2
  164. package/lib/components/Tearsheet/TearsheetShell.js +6 -2
  165. package/lib/components/Toolbar/ToolbarButton.d.ts +12 -1
  166. package/lib/components/Toolbar/ToolbarButton.js +15 -6
  167. package/lib/global/js/hooks/useFocus.d.ts +1 -1
  168. package/lib/global/js/hooks/useFocus.js +40 -24
  169. package/lib/global/js/utils/keyboardNavigation.d.ts +27 -0
  170. package/lib/global/js/utils/keyboardNavigation.js +43 -0
  171. package/lib/global/js/utils/wrapFocus.d.ts +25 -0
  172. package/lib/global/js/utils/wrapFocus.js +73 -0
  173. package/package.json +4 -4
  174. package/scss/components/ConditionBuilder/_condition-builder.scss +1 -1
  175. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +33 -22
  176. package/scss/components/Datagrid/styles/_datagrid.scss +7 -0
  177. package/scss/components/Datagrid/styles/_useActionsColumn.scss +4 -0
  178. package/scss/components/EditInPlace/_edit-in-place.scss +2 -2
  179. package/telemetry.yml +15 -6
  180. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +0 -28
  181. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +0 -123
  182. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +0 -28
  183. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +0 -131
@@ -1,28 +1,63 @@
1
- export default ConditionBuilderAdd;
2
- declare function ConditionBuilderAdd({ className, onClick, addConditionSubGroupHandler, showConditionSubGroupPreviewHandler, hideConditionSubGroupPreviewHandler, showConditionPreviewHandler, hideConditionPreviewHandler, enableSubGroup, buttonLabel, tabIndex, }: {
3
- className: any;
4
- onClick: any;
5
- addConditionSubGroupHandler: any;
6
- showConditionSubGroupPreviewHandler: any;
7
- hideConditionSubGroupPreviewHandler: any;
8
- showConditionPreviewHandler: any;
9
- hideConditionPreviewHandler: any;
10
- enableSubGroup: any;
11
- buttonLabel: any;
12
- tabIndex: any;
13
- }): import("react/jsx-runtime").JSX.Element;
14
- declare namespace ConditionBuilderAdd {
15
- namespace propTypes {
16
- let addConditionSubGroupHandler: PropTypes.Requireable<(...args: any[]) => any>;
17
- let buttonLabel: PropTypes.Requireable<string>;
18
- let className: PropTypes.Requireable<string>;
19
- let enableSubGroup: PropTypes.Requireable<boolean>;
20
- let hideConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
21
- let hideConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
22
- let onClick: PropTypes.Requireable<(...args: any[]) => any>;
23
- let showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
24
- let showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
25
- let tabIndex: PropTypes.Requireable<number>;
26
- }
27
- }
1
+ /**
2
+ * Copyright IBM Corp. 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
28
7
  import PropTypes from 'prop-types';
8
+ interface ConditionBuilderAddProps {
9
+ className?: string;
10
+ onClick: () => void;
11
+ addConditionSubGroupHandler?: () => void;
12
+ showConditionSubGroupPreviewHandler?: () => void;
13
+ hideConditionSubGroupPreviewHandler?: () => void;
14
+ showConditionPreviewHandler?: () => void;
15
+ hideConditionPreviewHandler?: () => void;
16
+ enableSubGroup?: boolean;
17
+ buttonLabel?: string;
18
+ tabIndex?: number;
19
+ }
20
+ declare const ConditionBuilderAdd: {
21
+ ({ className, onClick, addConditionSubGroupHandler, showConditionSubGroupPreviewHandler, hideConditionSubGroupPreviewHandler, showConditionPreviewHandler, hideConditionPreviewHandler, enableSubGroup, buttonLabel, tabIndex, }: ConditionBuilderAddProps): import("react/jsx-runtime").JSX.Element;
22
+ propTypes: {
23
+ /**
24
+ * handler for hiding sub group preview
25
+ */
26
+ addConditionSubGroupHandler: PropTypes.Requireable<(...args: any[]) => any>;
27
+ /**
28
+ * handler for hiding sub group preview
29
+ */ /**
30
+ * tooltip label for plus button
31
+ */
32
+ buttonLabel: PropTypes.Requireable<string>;
33
+ /**
34
+ * Provide an optional class to be applied to the containing node.
35
+ */
36
+ className: PropTypes.Requireable<string>;
37
+ /**
38
+ * boolean to enable sub groups for the tree variant
39
+ */
40
+ enableSubGroup: PropTypes.Requireable<boolean>;
41
+ /**
42
+ * handler for hiding sub group preview
43
+ */
44
+ hideConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
45
+ hideConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
46
+ /**
47
+ * handler for hiding sub group preview
48
+ */ /**
49
+ * callback triggered on click of add button
50
+ */
51
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
52
+ showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
53
+ showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
54
+ /**
55
+ * handler for hiding sub group preview
56
+ */
57
+ /**
58
+ * Tab index
59
+ */
60
+ tabIndex: PropTypes.Requireable<number>;
61
+ };
62
+ };
63
+ export default ConditionBuilderAdd;
@@ -11,8 +11,8 @@ import cx from 'classnames';
11
11
  import { AddAlt, TextNewLine } from '@carbon/react/icons';
12
12
  import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
13
13
  import PropTypes from '../../../node_modules/prop-types/index.js';
14
- import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
15
14
  import { useTranslations } from '../utils/useTranslations.js';
15
+ import { blockClass } from '../utils/util.js';
16
16
 
17
17
  var ConditionBuilderAdd = function ConditionBuilderAdd(_ref) {
18
18
  var className = _ref.className,
@@ -81,7 +81,6 @@ var ConditionBuilderAdd = function ConditionBuilderAdd(_ref) {
81
81
  wrapperClassName: "".concat(blockClass, "__add-condition-sub-group-wrapper ").concat(blockClass, "__gap-left")
82
82
  }, previewHandlersForSubgroup())));
83
83
  };
84
- var ConditionBuilderAdd$1 = ConditionBuilderAdd;
85
84
  ConditionBuilderAdd.propTypes = {
86
85
  /**
87
86
  * handler for hiding sub group preview
@@ -123,4 +122,4 @@ ConditionBuilderAdd.propTypes = {
123
122
  tabIndex: PropTypes.number
124
123
  };
125
124
 
126
- export { ConditionBuilderAdd$1 as default };
125
+ export { ConditionBuilderAdd as default };
@@ -1,38 +1,87 @@
1
- export function ConditionBuilderButton({ className, label, hideLabel, tooltipAlign, renderIcon: Icon, onClick, showToolTip, wrapperProps, onBlur, onFocus, onMouseEnter, onMouseLeave, isInvalid, wrapperClassName, tabIndex, ...rest }: {
2
- [x: string]: any;
3
- className: any;
4
- label: any;
5
- hideLabel: any;
6
- tooltipAlign: any;
7
- renderIcon: any;
8
- onClick: any;
9
- showToolTip: any;
10
- wrapperProps: any;
11
- onBlur: any;
12
- onFocus: any;
13
- onMouseEnter: any;
14
- onMouseLeave: any;
15
- isInvalid: any;
16
- wrapperClassName: any;
17
- tabIndex: any;
18
- }): import("react/jsx-runtime").JSX.Element;
19
- export namespace ConditionBuilderButton {
20
- namespace propTypes {
21
- let className: PropTypes.Requireable<string>;
22
- let hideLabel: PropTypes.Requireable<boolean>;
23
- let isInvalid: PropTypes.Requireable<boolean>;
24
- let label: PropTypes.Requireable<string>;
25
- let onBlur: PropTypes.Requireable<(...args: any[]) => any>;
26
- let onClick: PropTypes.Requireable<(...args: any[]) => any>;
27
- let onFocus: PropTypes.Requireable<(...args: any[]) => any>;
28
- let onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
29
- let onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
30
- let renderIcon: PropTypes.Requireable<object>;
31
- let showToolTip: PropTypes.Requireable<boolean>;
32
- let tabIndex: PropTypes.Requireable<number>;
33
- let tooltipAlign: PropTypes.Requireable<string>;
34
- let wrapperClassName: PropTypes.Requireable<string>;
35
- let wrapperProps: PropTypes.Requireable<object>;
36
- }
37
- }
1
+ /**
2
+ * Copyright IBM Corp. 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /// <reference path="../../../../src/custom-typings/index.d.ts" />
8
+ import React from 'react';
38
9
  import PropTypes from 'prop-types';
10
+ import { PopoverAlignment } from '@carbon/react';
11
+ import { CarbonIconType } from '@carbon/react/icons';
12
+ interface ConditionBuilderButtonProps {
13
+ className?: string;
14
+ label: string;
15
+ hideLabel?: boolean;
16
+ tooltipAlign?: PopoverAlignment;
17
+ renderIcon?: CarbonIconType;
18
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
19
+ onBlur?: React.FocusEventHandler<HTMLButtonElement>;
20
+ onFocus?: React.FocusEventHandler<HTMLButtonElement>;
21
+ onMouseEnter?: (e: React.MouseEvent<HTMLButtonElement>) => void;
22
+ onMouseLeave?: (e: React.MouseEvent<HTMLButtonElement>) => void;
23
+ showToolTip?: boolean;
24
+ wrapperProps?: object;
25
+ isInvalid?: boolean;
26
+ wrapperClassName?: string;
27
+ tabIndex?: number;
28
+ }
29
+ export declare const ConditionBuilderButton: {
30
+ ({ className, label, hideLabel, tooltipAlign, renderIcon: Icon, onClick, showToolTip, wrapperProps, onBlur, onFocus, onMouseEnter, onMouseLeave, isInvalid, wrapperClassName, tabIndex, ...rest }: ConditionBuilderButtonProps): import("react/jsx-runtime").JSX.Element;
31
+ propTypes: {
32
+ /**
33
+ * Provide an optional class to be applied to the containing node.
34
+ */
35
+ className: PropTypes.Requireable<string>;
36
+ /**
37
+ * decides if label and tooltip to be hidden
38
+ */
39
+ hideLabel: PropTypes.Requireable<boolean>;
40
+ /**
41
+ * boolean to know the updated value in not valid
42
+ */
43
+ isInvalid: PropTypes.Requireable<boolean>;
44
+ /**
45
+ * label of the button
46
+ */
47
+ label: PropTypes.Requireable<string>;
48
+ /**
49
+ * mouse events callbacks
50
+ */
51
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>;
52
+ /**
53
+ * callback triggered on click of add button
54
+ */
55
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
56
+ onFocus: PropTypes.Requireable<(...args: any[]) => any>;
57
+ onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
58
+ onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
59
+ /**
60
+ * Optional prop to allow overriding the icon rendering.
61
+ */
62
+ renderIcon: PropTypes.Requireable<object>;
63
+ /**
64
+ */
65
+ /**
66
+ *decides if tooltip to be shown
67
+ */
68
+ showToolTip: PropTypes.Requireable<boolean>;
69
+ /**
70
+ * Tab index
71
+ */
72
+ tabIndex: PropTypes.Requireable<number>;
73
+ /**
74
+ * tooltip position
75
+ */
76
+ tooltipAlign: PropTypes.Requireable<string>;
77
+ /**
78
+ * classname applies to the wrapper of popover
79
+ */
80
+ wrapperClassName: PropTypes.Requireable<string>;
81
+ /**
82
+ * optional props for tree grid to add role and aria-label to wrapper span
83
+ */
84
+ wrapperProps: PropTypes.Requireable<object>;
85
+ };
86
+ };
87
+ export {};
@@ -10,8 +10,8 @@ import React__default from 'react';
10
10
  import cx from 'classnames';
11
11
  import PropTypes from '../../../node_modules/prop-types/index.js';
12
12
  import { usePrefix, Tooltip } from '@carbon/react';
13
- import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
14
13
  import { WarningAltFilled } from '@carbon/react/icons';
14
+ import { blockClass } from '../utils/util.js';
15
15
 
16
16
  var _WarningAltFilled;
17
17
  var _excluded = ["className", "label", "hideLabel", "tooltipAlign", "renderIcon", "onClick", "showToolTip", "wrapperProps", "onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "isInvalid", "wrapperClassName", "tabIndex"];
@@ -38,7 +38,7 @@ var ConditionBuilderButton = function ConditionBuilderButton(_ref) {
38
38
  var _rest$dataName;
39
39
  var dataName = (_rest$dataName = rest['data-name']) !== null && _rest$dataName !== void 0 ? _rest$dataName : '';
40
40
  return /*#__PURE__*/React__default.createElement("button", _extends({
41
- tabIndex: tabIndex != undefined ? tabIndex : -1,
41
+ tabIndex: tabIndex !== undefined ? tabIndex : -1,
42
42
  className: cx([className, "".concat(blockClass, "__button"), _defineProperty({}, "".concat(blockClass, "__text-ellipsis"), showToolTip && !hideLabel && !isInvalid), _defineProperty({}, "".concat(blockClass, "__invalid-input"), isInvalid)]),
43
43
  type: "button",
44
44
  onClick: onClick,
@@ -1,15 +1,30 @@
1
- export default ConditionConnector;
2
- declare function ConditionConnector({ operator, className, onChange, ...rest }: {
3
- [x: string]: any;
4
- operator: any;
5
- className: any;
6
- onChange: any;
7
- }): import("react/jsx-runtime").JSX.Element;
8
- declare namespace ConditionConnector {
9
- namespace propTypes {
10
- let className: PropTypes.Requireable<string>;
11
- let onChange: PropTypes.Requireable<(...args: any[]) => any>;
12
- let operator: PropTypes.Requireable<string>;
13
- }
14
- }
1
+ /**
2
+ * Copyright IBM Corp. 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
15
7
  import PropTypes from 'prop-types';
8
+ interface ConditionConnectorProps {
9
+ operator: string;
10
+ className: string;
11
+ onChange?: (op: string) => void;
12
+ }
13
+ declare const ConditionConnector: {
14
+ ({ operator, className, onChange, ...rest }: ConditionConnectorProps): import("react/jsx-runtime").JSX.Element;
15
+ propTypes: {
16
+ /**
17
+ * Provide an optional class to be applied to the containing node.
18
+ */
19
+ className: PropTypes.Requireable<string>;
20
+ /**
21
+ * callback to update the current condition of the state tree
22
+ */
23
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
24
+ /**
25
+ * string that defines the connector operator (and/or)
26
+ */
27
+ operator: PropTypes.Requireable<string>;
28
+ };
29
+ };
30
+ export default ConditionConnector;
@@ -9,11 +9,11 @@ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _
9
9
  import React__default, { useContext, useCallback } from 'react';
10
10
  import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
11
11
  import { ItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js';
12
- import { blockClass, connectorConfig } from '../ConditionBuilderContext/DataConfigs.js';
13
12
  import PropTypes from '../../../node_modules/prop-types/index.js';
14
- import { focusThisField } from '../utils/util.js';
13
+ import { HIERARCHICAL_VARIANT, blockClass, focusThisField } from '../utils/util.js';
15
14
  import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
16
15
  import { useTranslations } from '../utils/useTranslations.js';
16
+ import { useDataConfigs } from '../utils/useDataConfigs.js';
17
17
  import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
18
18
 
19
19
  var _excluded = ["operator", "className", "onChange"];
@@ -28,6 +28,8 @@ var ConditionConnector = function ConditionConnector(_ref) {
28
28
  var _useTranslations = useTranslations(['connectorText']),
29
29
  _useTranslations2 = _slicedToArray(_useTranslations, 1),
30
30
  connectorText = _useTranslations2[0];
31
+ var _useDataConfigs = useDataConfigs(),
32
+ connectorConfig = _useDataConfigs.connectorConfig;
31
33
  var handleConnectorHover = useCallback(function (parentGroup, isHover) {
32
34
  if (isHover) {
33
35
  parentGroup.classList.add('hoveredConnector');
@@ -36,18 +38,18 @@ var ConditionConnector = function ConditionConnector(_ref) {
36
38
  }
37
39
  }, []);
38
40
  var activeConnectorHandler = function activeConnectorHandler(evt) {
39
- var parentGroup = evt.currentTarget.closest('.eachGroup');
41
+ var parentGroup = evt === null || evt === void 0 ? void 0 : evt.currentTarget.closest('.eachGroup');
40
42
  handleConnectorHover(parentGroup, true);
41
43
  };
42
44
  var inActiveConnectorHandler = function inActiveConnectorHandler(evt) {
43
- var parentGroup = evt.currentTarget.closest('.eachGroup');
45
+ var parentGroup = evt === null || evt === void 0 ? void 0 : evt.currentTarget.closest('.eachGroup');
44
46
  handleConnectorHover(parentGroup, false);
45
47
  };
46
48
  var onChangeHandler = function onChangeHandler(op, evt) {
47
- onChange(op);
49
+ onChange === null || onChange === void 0 || onChange(op);
48
50
  focusThisField(evt, conditionBuilderRef);
49
51
  };
50
- return variant == 'tree' ? /*#__PURE__*/React__default.createElement("span", {
52
+ return variant == HIERARCHICAL_VARIANT ? /*#__PURE__*/React__default.createElement("span", {
51
53
  className: "".concat(className, " ").concat(blockClass, "__connector--disabled")
52
54
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, {
53
55
  label: operator
@@ -64,7 +66,7 @@ var ConditionConnector = function ConditionConnector(_ref) {
64
66
  onBlur: inActiveConnectorHandler
65
67
  }, rest, {
66
68
  popOverClassName: className,
67
- className: "".concat(blockClass, "__connector-button ")
69
+ className: "".concat(blockClass, "__connector-button")
68
70
  }), /*#__PURE__*/React__default.createElement(ItemOption, {
69
71
  config: {
70
72
  options: connectorConfig
@@ -79,7 +81,6 @@ var ConditionConnector = function ConditionConnector(_ref) {
79
81
  // </div>
80
82
  ;
81
83
  };
82
- var ConditionConnector$1 = ConditionConnector;
83
84
  ConditionConnector.propTypes = {
84
85
  /**
85
86
  * Provide an optional class to be applied to the containing node.
@@ -95,4 +96,4 @@ ConditionConnector.propTypes = {
95
96
  operator: PropTypes.string
96
97
  };
97
98
 
98
- export { ConditionConnector$1 as default };
99
+ export { ConditionConnector as default };
@@ -8,10 +8,11 @@
8
8
  import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useContext } from 'react';
10
10
  import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
11
- import { blockClass, connectorConfig } from '../ConditionBuilderContext/DataConfigs.js';
12
11
  import { ItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js';
13
12
  import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
14
13
  import { useTranslations } from '../utils/useTranslations.js';
14
+ import { blockClass } from '../utils/util.js';
15
+ import { useDataConfigs } from '../utils/useDataConfigs.js';
15
16
 
16
17
  var GroupConnector = function GroupConnector() {
17
18
  var _useContext = useContext(ConditionBuilderContext),
@@ -20,6 +21,8 @@ var GroupConnector = function GroupConnector() {
20
21
  var _useTranslations = useTranslations(['conditionText']),
21
22
  _useTranslations2 = _slicedToArray(_useTranslations, 1),
22
23
  conditionText = _useTranslations2[0];
24
+ var _useDataConfigs = useDataConfigs(),
25
+ connectorConfig = _useDataConfigs.connectorConfig;
23
26
  var onStatementChangeHandler = function onStatementChangeHandler(updatedStatement) {
24
27
  setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
25
28
  operator: updatedStatement
@@ -1,28 +1,48 @@
1
- export default ConditionBuilderContent;
2
- declare function ConditionBuilderContent({ startConditionLabel, getConditionState, getActionsState, initialState, actions, }: {
3
- startConditionLabel: any;
4
- getConditionState: any;
5
- getActionsState: any;
6
- initialState: any;
7
- actions: any;
8
- }): import("react/jsx-runtime").JSX.Element;
9
- declare namespace ConditionBuilderContent {
10
- namespace propTypes {
11
- let actions: PropTypes.Requireable<(PropTypes.InferProps<{
1
+ /**
2
+ * Copyright IBM Corp. 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import PropTypes from 'prop-types';
8
+ import { Action, ConditionBuilderState } from '../ConditionBuilder.types';
9
+ interface ConditionBuilderContentProps {
10
+ startConditionLabel: string;
11
+ getConditionState: (state: ConditionBuilderState) => void;
12
+ getActionsState?: (state: Action[]) => void;
13
+ initialState?: ConditionBuilderState;
14
+ actions?: Action[];
15
+ }
16
+ declare const ConditionBuilderContent: {
17
+ ({ startConditionLabel, getConditionState, getActionsState, initialState, actions, }: ConditionBuilderContentProps): import("react/jsx-runtime").JSX.Element;
18
+ propTypes: {
19
+ /**
20
+ * optional array of object that give the list of actions.
21
+ */
22
+ actions: PropTypes.Requireable<(PropTypes.InferProps<{
12
23
  id: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
13
24
  label: PropTypes.Validator<string>;
14
25
  }> | null | undefined)[]>;
15
- let getActionsState: PropTypes.Requireable<(...args: any[]) => any>;
16
- let getConditionState: PropTypes.Validator<(...args: any[]) => any>;
17
- let initialState: PropTypes.Requireable<PropTypes.InferProps<{
26
+ /**
27
+ * callback functions that will provide the updated action state back.
28
+ */
29
+ getActionsState: PropTypes.Requireable<(...args: any[]) => any>;
30
+ /**
31
+ * This is a callback function that returns the updated state
32
+ */
33
+ getConditionState: PropTypes.Validator<(...args: any[]) => any>;
34
+ /**
35
+ * Optional prop if the condition building need to start from a predefined initial state
36
+ */
37
+ initialState: PropTypes.Requireable<PropTypes.InferProps<{
18
38
  groups: PropTypes.Requireable<(PropTypes.InferProps<{
19
- groupOperator: PropTypes.Validator<string>;
20
- statement: PropTypes.Validator<string>;
39
+ groupOperator: PropTypes.Requireable<string>;
40
+ statement: PropTypes.Requireable<string>;
21
41
  conditions: PropTypes.Requireable<(object | null | undefined)[]>;
22
42
  }> | null | undefined)[]>;
23
43
  operator: PropTypes.Requireable<string>;
24
44
  }>>;
25
- let startConditionLabel: PropTypes.Validator<string>;
26
- }
27
- }
28
- import PropTypes from 'prop-types';
45
+ startConditionLabel: PropTypes.Validator<string>;
46
+ };
47
+ };
48
+ export default ConditionBuilderContent;
@@ -12,17 +12,17 @@ import { Button, Section, Heading } from '@carbon/react';
12
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';
16
15
  import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
17
16
  import uuidv4 from '../../../global/js/utils/uuidv4.js';
18
17
  import ConditionPreview from '../ConditionPreview/ConditionPreview.js';
19
18
  import GroupConnector from '../ConditionBuilderConnector/GroupConnector.js';
20
19
  import ConditionBuilderActions from '../ConditionBuilderActions/ConditionBuilderActions.js';
21
20
  import { useTranslations } from '../utils/useTranslations.js';
21
+ import { blockClass, HIERARCHICAL_VARIANT } from '../utils/util.js';
22
22
 
23
23
  var _GroupConnector;
24
24
  var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
25
- var _rootState$groups3;
25
+ var _rootState$groups4;
26
26
  var startConditionLabel = _ref.startConditionLabel,
27
27
  getConditionState = _ref.getConditionState,
28
28
  getActionsState = _ref.getActionsState,
@@ -41,10 +41,11 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
41
41
  _useState4 = _slicedToArray(_useState3, 2),
42
42
  showConditionGroupPreview = _useState4[0],
43
43
  setShowConditionGroupPreview = _useState4[1];
44
- var _useTranslations = useTranslations(['addConditionGroupText', 'conditionHeadingText']),
45
- _useTranslations2 = _slicedToArray(_useTranslations, 2),
44
+ var _useTranslations = useTranslations(['addConditionGroupText', 'conditionHeadingText', 'conditionBuilderHierarchicalText']),
45
+ _useTranslations2 = _slicedToArray(_useTranslations, 3),
46
46
  addConditionGroupText = _useTranslations2[0],
47
- conditionHeadingText = _useTranslations2[1];
47
+ conditionHeadingText = _useTranslations2[1],
48
+ conditionBuilderHierarchicalText = _useTranslations2[2];
48
49
  var showConditionGroupPreviewHandler = function showConditionGroupPreviewHandler() {
49
50
  setShowConditionGroupPreview(true);
50
51
  };
@@ -59,26 +60,27 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
59
60
  setIsConditionBuilderActive(false);
60
61
  }
61
62
  if (getConditionState) {
62
- getConditionState(rootState);
63
+ getConditionState(rootState !== null && rootState !== void 0 ? rootState : {});
63
64
  }
64
65
 
65
66
  // eslint-disable-next-line react-hooks/exhaustive-deps
66
67
  }, [rootState]);
67
68
  useEffect(function () {
68
- getActionsState === null || getActionsState === void 0 || getActionsState(actionState);
69
+ getActionsState === null || getActionsState === void 0 || getActionsState(actionState !== null && actionState !== void 0 ? actionState : []);
69
70
  // eslint-disable-next-line react-hooks/exhaustive-deps
70
71
  }, [actionState]);
71
72
  var onStartConditionBuilder = function onStartConditionBuilder() {
72
73
  //when add condition button is clicked.
73
74
  setIsConditionBuilderActive(true);
74
- setRootState(initialState !== null && initialState !== void 0 ? initialState : emptyState); //here we can set an empty skeleton object for an empty condition builder,
75
+ setRootState === null || setRootState === void 0 || setRootState(initialState !== null && initialState !== void 0 ? initialState : emptyState); //here we can set an empty skeleton object for an empty condition builder,
75
76
  //or we can even pre-populate some existing builder and continue editing
76
77
  };
77
78
  var _onRemove = useCallback(function (groupId) {
78
- setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
79
- groups: rootState.groups.filter(function (group) {
80
- return groupId !== group.id;
81
- })
79
+ var _rootState$groups2;
80
+ setRootState === null || setRootState === void 0 || setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
81
+ groups: rootState ? rootState === null || rootState === void 0 || (_rootState$groups2 = rootState.groups) === null || _rootState$groups2 === void 0 ? void 0 : _rootState$groups2.filter(function (group) {
82
+ return groupId !== (group === null || group === void 0 ? void 0 : group.id);
83
+ }) : []
82
84
  }));
83
85
  }, [setRootState, rootState]);
84
86
  var onChangeHandler = function onChangeHandler(updatedGroup, groupIndex) {
@@ -86,17 +88,18 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
86
88
  * This method is triggered from inner components. This will be called every time when any change is to be updated in the rootState.
87
89
  * This gets the updated group as argument.
88
90
  */
89
- var groups = [].concat(_toConsumableArray(rootState.groups.slice(0, groupIndex)), [updatedGroup], _toConsumableArray(rootState.groups.slice(groupIndex + 1)));
90
- setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
91
- groups: groups
92
- }));
91
+ if (rootState && rootState.groups) {
92
+ var groups = [].concat(_toConsumableArray(rootState.groups ? rootState.groups.slice(0, groupIndex) : []), [updatedGroup], _toConsumableArray(rootState.groups ? rootState.groups.slice(groupIndex + 1) : []));
93
+ setRootState === null || setRootState === void 0 || setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
94
+ groups: groups
95
+ }));
96
+ }
93
97
  };
94
98
  var addConditionGroupHandler = function addConditionGroupHandler() {
95
99
  var newGroup = {
96
- groupOperator: 'and',
97
- //'and|or',
98
- statement: 'if',
100
+ statement: 'ifAll',
99
101
  // 'if|exclude if',
102
+ groupOperator: 'and',
100
103
  id: uuidv4(),
101
104
  conditions: [{
102
105
  property: undefined,
@@ -106,13 +109,13 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
106
109
  id: uuidv4()
107
110
  }]
108
111
  };
109
- setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
110
- groups: [].concat(_toConsumableArray(rootState.groups), [newGroup])
112
+ setRootState === null || setRootState === void 0 || setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
113
+ groups: rootState && rootState.groups ? [].concat(_toConsumableArray(rootState.groups), [newGroup]) : [newGroup]
111
114
  }));
112
115
  };
113
116
  var getColorIndex = function getColorIndex() {
114
- var _rootState$groups$len, _rootState$groups2;
115
- var groupLength = (_rootState$groups$len = rootState === null || rootState === void 0 || (_rootState$groups2 = rootState.groups) === null || _rootState$groups2 === void 0 ? void 0 : _rootState$groups2.length) !== null && _rootState$groups$len !== void 0 ? _rootState$groups$len : 0;
117
+ var _rootState$groups$len, _rootState$groups3;
118
+ var groupLength = (_rootState$groups$len = rootState === null || rootState === void 0 || (_rootState$groups3 = rootState.groups) === null || _rootState$groups3 === void 0 ? void 0 : _rootState$groups3.length) !== null && _rootState$groups$len !== void 0 ? _rootState$groups$len : 0;
116
119
  return groupLength % 5;
117
120
  };
118
121
  if (!isConditionBuilderActive) {
@@ -133,8 +136,9 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
133
136
  }, /*#__PURE__*/React__default.createElement(Heading, null, conditionHeadingText)), /*#__PURE__*/React__default.createElement("div", {
134
137
  className: "".concat(blockClass, "__content-container"),
135
138
  role: "treegrid",
136
- "aria-label": "condition builder tree"
137
- }, rootState && (rootState === null || rootState === void 0 || (_rootState$groups3 = rootState.groups) === null || _rootState$groups3 === void 0 ? void 0 : _rootState$groups3.map(function (eachGroup, groupIndex) {
139
+ "aria-label": conditionBuilderHierarchicalText
140
+ }, rootState && (rootState === null || rootState === void 0 || (_rootState$groups4 = rootState.groups) === null || _rootState$groups4 === void 0 ? void 0 : _rootState$groups4.map(function (eachGroup, groupIndex) {
141
+ var _ref2;
138
142
  return /*#__PURE__*/React__default.createElement("div", {
139
143
  key: eachGroup.id,
140
144
  className: "".concat(blockClass, "__group-wrapper")
@@ -143,7 +147,7 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
143
147
  aria: {
144
148
  level: 1,
145
149
  posinset: groupIndex * 2 + 1,
146
- setsize: rootState.groups.length * 2
150
+ setsize: (_ref2 = rootState.groups && rootState.groups.length * 2) !== null && _ref2 !== void 0 ? _ref2 : 0
147
151
  },
148
152
  group: eachGroup,
149
153
  onRemove: function onRemove() {
@@ -152,8 +156,8 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
152
156
  onChange: function onChange(updatedGroup) {
153
157
  onChangeHandler(updatedGroup, groupIndex);
154
158
  }
155
- }), groupIndex < rootState.groups.length - 1 && (_GroupConnector || (_GroupConnector = /*#__PURE__*/React__default.createElement(GroupConnector, null))));
156
- })), variant == 'tree' && /*#__PURE__*/React__default.createElement("div", {
159
+ }), rootState.groups && groupIndex < rootState.groups.length - 1 && (_GroupConnector || (_GroupConnector = /*#__PURE__*/React__default.createElement(GroupConnector, null))));
160
+ })), variant == HIERARCHICAL_VARIANT && /*#__PURE__*/React__default.createElement("div", {
157
161
  role: "row",
158
162
  tabIndex: -1,
159
163
  "aria-level": 1,
@@ -176,15 +180,14 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
176
180
  previewType: "newGroup",
177
181
  colorIndex: getColorIndex(),
178
182
  group: {
179
- groupOperator: rootState.operator
183
+ groupOperator: rootState === null || rootState === void 0 ? void 0 : rootState.operator,
184
+ id: uuidv4()
180
185
  }
181
186
  })), actions && /*#__PURE__*/React__default.createElement(ConditionBuilderActions, {
182
187
  actions: actions,
183
- className: "".concat(blockClass, "__actions-container"),
184
- variant: variant
188
+ className: "".concat(blockClass, "__actions-container")
185
189
  }));
186
190
  };
187
- var ConditionBuilderContent$1 = ConditionBuilderContent;
188
191
  ConditionBuilderContent.propTypes = {
189
192
  /**
190
193
  * optional array of object that give the list of actions.
@@ -206,11 +209,11 @@ ConditionBuilderContent.propTypes = {
206
209
  */
207
210
  initialState: PropTypes.shape({
208
211
  groups: PropTypes.arrayOf(PropTypes.shape({
209
- groupOperator: PropTypes.string.isRequired,
210
- statement: PropTypes.string.isRequired,
212
+ groupOperator: PropTypes.string,
213
+ statement: PropTypes.string,
211
214
  conditions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
212
- property: PropTypes.string.isRequired,
213
- operator: PropTypes.string.isRequired,
215
+ property: PropTypes.string,
216
+ operator: PropTypes.string,
214
217
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.shape({
215
218
  id: PropTypes.string,
216
219
  label: PropTypes.string
@@ -227,4 +230,4 @@ ConditionBuilderContent.propTypes = {
227
230
  startConditionLabel: PropTypes.string.isRequired
228
231
  };
229
232
 
230
- export { ConditionBuilderContent$1 as default };
233
+ export { ConditionBuilderContent as default };