@carbon/ibm-products 2.98.0 → 2.99.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 (197) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +463 -463
  2. package/css/carbon.css +9599 -6352
  3. package/css/carbon.css.map +1 -1
  4. package/css/index-full-carbon.css +5121 -1880
  5. package/css/index-full-carbon.css.map +1 -1
  6. package/css/index-full-carbon.min.css +1 -1
  7. package/css/index-full-carbon.min.css.map +1 -1
  8. package/css/index-without-carbon-released-only.css +29 -186
  9. package/css/index-without-carbon-released-only.css.map +1 -1
  10. package/css/index-without-carbon-released-only.min.css +1 -1
  11. package/css/index-without-carbon-released-only.min.css.map +1 -1
  12. package/css/index-without-carbon.css +29 -186
  13. package/css/index-without-carbon.css.map +1 -1
  14. package/css/index-without-carbon.min.css +1 -1
  15. package/css/index-without-carbon.min.css.map +1 -1
  16. package/css/index.css +397 -447
  17. package/css/index.css.map +1 -1
  18. package/css/index.min.css +1 -1
  19. package/css/index.min.css.map +1 -1
  20. package/es/components/AddSelect/AddSelectColumn.js +4 -4
  21. package/es/components/AddSelect/next/AddSelectColumn.js +2 -2
  22. package/es/components/ConditionBuilder/ConditionBuilder.d.ts +21 -0
  23. package/es/components/ConditionBuilder/ConditionBuilder.d.ts.map +1 -1
  24. package/es/components/ConditionBuilder/ConditionBuilder.js +51 -44
  25. package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts +47 -9
  26. package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts.map +1 -1
  27. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -2
  28. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts.map +1 -1
  29. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +16 -3
  30. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts.map +1 -1
  31. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +37 -17
  32. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +1 -0
  33. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +1 -0
  34. package/es/components/ConditionBuilder/index.d.ts +1 -1
  35. package/es/components/ConditionBuilder/index.d.ts.map +1 -1
  36. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +2 -2
  37. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +2 -2
  38. package/es/components/EmptyStates/assets/ErrorIllustration.js +2 -2
  39. package/es/components/EmptyStates/assets/NoDataIllustration.js +2 -2
  40. package/es/components/EmptyStates/assets/NoTagsIllustration.js +2 -2
  41. package/es/components/EmptyStates/assets/NotFoundIllustration.js +2 -2
  42. package/es/components/EmptyStates/assets/NotificationsIllustration.js +2 -2
  43. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +2 -2
  44. package/es/components/NotificationsPanel/NotificationsPanel.js +2 -2
  45. package/es/components/PageHeader/next/PageHeader.d.ts +10 -0
  46. package/es/components/PageHeader/next/PageHeader.d.ts.map +1 -1
  47. package/es/components/PageHeader/next/PageHeader.js +6 -3
  48. package/es/components/PageHeader/next/PageHeaderBreadcrumbBar.d.ts.map +1 -1
  49. package/es/components/PageHeader/next/PageHeaderBreadcrumbBar.js +6 -3
  50. package/es/components/PageHeader/next/PageHeaderBreadcrumbPageActions.d.ts.map +1 -1
  51. package/es/components/PageHeader/next/PageHeaderBreadcrumbPageActions.js +4 -10
  52. package/es/components/PageHeader/next/PageHeaderContent.d.ts +3 -2
  53. package/es/components/PageHeader/next/PageHeaderContent.d.ts.map +1 -1
  54. package/es/components/PageHeader/next/PageHeaderContent.js +14 -11
  55. package/es/components/PageHeader/next/PageHeaderContentPageActions.d.ts.map +1 -1
  56. package/es/components/PageHeader/next/PageHeaderContentPageActions.js +3 -2
  57. package/es/components/PageHeader/next/PageHeaderScrollButton.d.ts.map +1 -1
  58. package/es/components/PageHeader/next/PageHeaderScrollButton.js +3 -0
  59. package/es/components/PageHeader/next/PageHeaderTabBar.js +11 -3
  60. package/es/components/PageHeader/next/PageHeaderTagOverflow.d.ts.map +1 -1
  61. package/es/components/PageHeader/next/PageHeaderTagOverflow.js +10 -2
  62. package/es/components/PageHeader/next/context.d.ts +2 -0
  63. package/es/components/PageHeader/next/context.d.ts.map +1 -1
  64. package/es/components/PageHeader/next/context.js +3 -1
  65. package/es/components/StatusIcon/StatusIcon.d.ts +11 -9
  66. package/es/components/StatusIcon/StatusIcon.d.ts.map +1 -1
  67. package/es/components/StatusIcon/StatusIcon.js +16 -0
  68. package/es/components/TagOverflow/TagOverflow.d.ts +9 -2
  69. package/es/components/TagOverflow/TagOverflow.d.ts.map +1 -1
  70. package/es/components/TagOverflow/TagOverflow.js +10 -4
  71. package/es/components/TagOverflow/TagOverflowModal.d.ts +22 -4
  72. package/es/components/TagOverflow/TagOverflowModal.d.ts.map +1 -1
  73. package/es/components/TagOverflow/TagOverflowModal.js +15 -6
  74. package/es/components/Tearsheet/TearsheetShell.js +2 -2
  75. package/es/components/Tearsheet/next/Tearsheet.d.ts.map +1 -1
  76. package/es/components/Tearsheet/next/Tearsheet.js +4 -3
  77. package/es/components/Tearsheet/next/TearsheetBody.d.ts.map +1 -1
  78. package/es/components/Tearsheet/next/TearsheetBody.js +1 -3
  79. package/es/components/Tearsheet/next/TearsheetHeaderContent.d.ts +3 -2
  80. package/es/components/Tearsheet/next/TearsheetHeaderContent.d.ts.map +1 -1
  81. package/es/components/Tearsheet/next/TearsheetHeaderContent.js +3 -3
  82. package/es/components/index.d.ts +1 -1
  83. package/es/components/index.d.ts.map +1 -1
  84. package/es/global/js/hooks/useCreateComponentFocus.js +1 -8
  85. package/es/global/js/utils/useId.js +2 -2
  86. package/es/index.js +3 -3
  87. package/es/node_modules/@carbon/icons-react/es/generated/bucket-11.js +342 -310
  88. package/es/node_modules/@carbon/icons-react/es/generated/bucket-3.js +48 -56
  89. package/es/settings.d.ts +4 -4
  90. package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +21 -0
  91. package/lib/components/ConditionBuilder/ConditionBuilder.d.ts.map +1 -1
  92. package/lib/components/ConditionBuilder/ConditionBuilder.js +51 -44
  93. package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts +47 -9
  94. package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts.map +1 -1
  95. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -2
  96. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts.map +1 -1
  97. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +16 -3
  98. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts.map +1 -1
  99. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +36 -16
  100. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +1 -0
  101. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +1 -0
  102. package/lib/components/ConditionBuilder/index.d.ts +1 -1
  103. package/lib/components/ConditionBuilder/index.d.ts.map +1 -1
  104. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +2 -2
  105. package/lib/components/PageHeader/next/PageHeader.d.ts +10 -0
  106. package/lib/components/PageHeader/next/PageHeader.d.ts.map +1 -1
  107. package/lib/components/PageHeader/next/PageHeader.js +6 -3
  108. package/lib/components/PageHeader/next/PageHeaderBreadcrumbBar.d.ts.map +1 -1
  109. package/lib/components/PageHeader/next/PageHeaderBreadcrumbBar.js +6 -3
  110. package/lib/components/PageHeader/next/PageHeaderBreadcrumbPageActions.d.ts.map +1 -1
  111. package/lib/components/PageHeader/next/PageHeaderBreadcrumbPageActions.js +3 -9
  112. package/lib/components/PageHeader/next/PageHeaderContent.d.ts +3 -2
  113. package/lib/components/PageHeader/next/PageHeaderContent.d.ts.map +1 -1
  114. package/lib/components/PageHeader/next/PageHeaderContent.js +13 -10
  115. package/lib/components/PageHeader/next/PageHeaderContentPageActions.d.ts.map +1 -1
  116. package/lib/components/PageHeader/next/PageHeaderContentPageActions.js +3 -2
  117. package/lib/components/PageHeader/next/PageHeaderScrollButton.d.ts.map +1 -1
  118. package/lib/components/PageHeader/next/PageHeaderScrollButton.js +3 -0
  119. package/lib/components/PageHeader/next/PageHeaderTabBar.js +11 -3
  120. package/lib/components/PageHeader/next/PageHeaderTagOverflow.d.ts.map +1 -1
  121. package/lib/components/PageHeader/next/PageHeaderTagOverflow.js +10 -2
  122. package/lib/components/PageHeader/next/context.d.ts +2 -0
  123. package/lib/components/PageHeader/next/context.d.ts.map +1 -1
  124. package/lib/components/PageHeader/next/context.js +3 -1
  125. package/lib/components/StatusIcon/StatusIcon.d.ts +11 -9
  126. package/lib/components/StatusIcon/StatusIcon.d.ts.map +1 -1
  127. package/lib/components/StatusIcon/StatusIcon.js +16 -0
  128. package/lib/components/TagOverflow/TagOverflow.d.ts +9 -2
  129. package/lib/components/TagOverflow/TagOverflow.d.ts.map +1 -1
  130. package/lib/components/TagOverflow/TagOverflow.js +10 -4
  131. package/lib/components/TagOverflow/TagOverflowModal.d.ts +22 -4
  132. package/lib/components/TagOverflow/TagOverflowModal.d.ts.map +1 -1
  133. package/lib/components/TagOverflow/TagOverflowModal.js +15 -6
  134. package/lib/components/Tearsheet/next/Tearsheet.d.ts.map +1 -1
  135. package/lib/components/Tearsheet/next/Tearsheet.js +2 -1
  136. package/lib/components/Tearsheet/next/TearsheetBody.d.ts.map +1 -1
  137. package/lib/components/Tearsheet/next/TearsheetBody.js +1 -3
  138. package/lib/components/Tearsheet/next/TearsheetHeaderContent.d.ts +3 -2
  139. package/lib/components/Tearsheet/next/TearsheetHeaderContent.d.ts.map +1 -1
  140. package/lib/components/Tearsheet/next/TearsheetHeaderContent.js +3 -3
  141. package/lib/components/index.d.ts +1 -1
  142. package/lib/components/index.d.ts.map +1 -1
  143. package/lib/global/js/hooks/useCreateComponentFocus.js +1 -8
  144. package/lib/index.js +5 -9
  145. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-0.js +33 -33
  146. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-1.js +26 -29
  147. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-10.js +336 -365
  148. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-11.js +365 -333
  149. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-12.js +600 -644
  150. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-13.js +724 -662
  151. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-14.js +608 -624
  152. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-15.js +663 -662
  153. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-16.js +533 -551
  154. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-17.js +701 -725
  155. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-18.js +669 -645
  156. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-19.js +521 -496
  157. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-2.js +29 -26
  158. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-20.js +592 -633
  159. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-21.js +688 -174
  160. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-22.js +210 -0
  161. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-3.js +52 -60
  162. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-4.js +60 -52
  163. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-5.js +65 -83
  164. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-6.js +129 -121
  165. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-7.js +199 -231
  166. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-8.js +296 -264
  167. package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-9.js +303 -336
  168. package/lib/node_modules/@carbon/icons-react/lib/index.js +535 -486
  169. package/lib/settings.d.ts +4 -4
  170. package/package.json +17 -17
  171. package/scss/components/PageHeader/_page-header.scss +32 -32
  172. package/scss/components/Tearsheet/_tearsheet_next.scss +10 -8
  173. package/telemetry.yml +7 -3
  174. package/es/components/Card/next/Card.js +0 -180
  175. package/es/components/Card/next/CardAction.js +0 -57
  176. package/es/components/Card/next/CardActions.js +0 -112
  177. package/es/components/Card/next/CardBody.js +0 -47
  178. package/es/components/Card/next/CardContext.js +0 -31
  179. package/es/components/Card/next/CardFooter.js +0 -47
  180. package/es/components/Card/next/CardHeader.js +0 -62
  181. package/es/components/Card/next/CardHeaderMedia.js +0 -46
  182. package/es/components/Card/next/CardMedia.js +0 -59
  183. package/es/components/Card/next/CardTitle.js +0 -121
  184. package/es/components/Card/next/CardTitleMedia.js +0 -49
  185. package/es/components/Card/next/index.js +0 -33
  186. package/lib/components/Card/next/Card.js +0 -182
  187. package/lib/components/Card/next/CardAction.js +0 -64
  188. package/lib/components/Card/next/CardActions.js +0 -119
  189. package/lib/components/Card/next/CardBody.js +0 -54
  190. package/lib/components/Card/next/CardContext.js +0 -33
  191. package/lib/components/Card/next/CardFooter.js +0 -54
  192. package/lib/components/Card/next/CardHeader.js +0 -69
  193. package/lib/components/Card/next/CardHeaderMedia.js +0 -53
  194. package/lib/components/Card/next/CardMedia.js +0 -66
  195. package/lib/components/Card/next/CardTitle.js +0 -128
  196. package/lib/components/Card/next/CardTitleMedia.js +0 -56
  197. package/lib/components/Card/next/index.js +0 -38
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { pkg } from "../../settings.js";
9
- import { useId } from "../../global/js/utils/useId.js";
9
+ import { useId as useId$1 } from "../../global/js/utils/useId.js";
10
10
  import { AddSelectList } from "./AddSelectList.js";
11
11
  import { AddSelectSort } from "./AddSelectSort.js";
12
12
  import { sortItems } from "./add-select-utils.js";
@@ -22,9 +22,9 @@ const colClass = `${blockClass}__column`;
22
22
  const componentName = "AddSelectColumn";
23
23
  let AddSelectColumn = ({ columnInputPlaceholder, filterByLabel, header, items, multiSelection, parentId, path, setMultiSelection, setPath, sortByLabel, ...props }) => {
24
24
  const { parentSelected, setParentSelected } = useParentSelect();
25
- const selectAllId = useId();
26
- const filterId = useId();
27
- const searchId = useId();
25
+ const selectAllId = useId$1();
26
+ const filterId = useId$1();
27
+ const searchId = useId$1();
28
28
  const [searchTerm, setSearchTerm] = useState("");
29
29
  const { sortDirection, setSortDirection, sortAttribute, setSortAttribute } = useItemSort();
30
30
  const [filterOpen, setFilterOpen] = useState(false);
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { __toESM } from "../../../_virtual/_rolldown/runtime.js";
9
9
  import { require_classnames } from "../../../node_modules/classnames/index.js";
10
- import { useId } from "../../../global/js/utils/useId.js";
10
+ import { useId as useId$1 } from "../../../global/js/utils/useId.js";
11
11
  import { AddSelectContext, blockClass } from "./context.js";
12
12
  import React, { forwardRef, useState } from "react";
13
13
  import PropTypes from "prop-types";
@@ -22,7 +22,7 @@ import { Checkbox, Search, Tag } from "@carbon/react";
22
22
  var import_classnames = /* @__PURE__ */ __toESM(require_classnames());
23
23
  const AddSelectColumn = forwardRef(({ children, title = "", searchLabel = "Search", searchPlaceholder = "Search", onSearch, actionsSlot, hideSearch = false, multi = false, showSelectAll = false, itemCount = 0, allSelected = false, allIndeterminate = false, onSelectAll, onNavigate, className, searchProps, tagProps, selectAllCheckboxProps, ...rest }, ref) => {
24
24
  const parentContext = React.useContext(AddSelectContext);
25
- const uid = useId();
25
+ const uid = useId$1();
26
26
  const [columnSearchTerm, setColumnSearchTerm] = useState("");
27
27
  const handleSearch = (e) => {
28
28
  const value = e.target.value;
@@ -5,9 +5,30 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
+ export { getDeprecatedArgTypes } from '../../global/js/utils/props-helper';
8
9
  import { ConditionBuilderProps } from './ConditionBuilder.types';
9
10
  /**
10
11
  * TODO: A description of the component.
11
12
  */
12
13
  export declare const ConditionBuilder: React.ForwardRefExoticComponent<ConditionBuilderProps & React.RefAttributes<HTMLDivElement>>;
14
+ export declare const deprecatedProps: {
15
+ /**
16
+ * @deprecated Use the `value` prop instead. `initialState` will be removed
17
+ * in a future major release.
18
+ *
19
+ * Optional prop to pass a saved condition state. `state` holds the
20
+ * condition structure; `enabledDefault: true` renders the builder
21
+ * immediately, `enabledDefault: false` (default) requires the user to
22
+ * click the start button first.
23
+ */
24
+ /**@ts-ignore */
25
+ initialState: (props: any, propName: any, comp: any, loc: any, propFullName: any, secret: any) => any;
26
+ /**
27
+ * @deprecated Use `onChange` instead. `getConditionState` will be removed
28
+ * in a future major release.
29
+ *
30
+ * Callback that receives the updated condition state on every change.
31
+ */
32
+ getConditionState: (props: any, propName: any, comp: any, loc: any, propFullName: any, secret: any) => any;
33
+ };
13
34
  //# sourceMappingURL=ConditionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAA+B,MAAM,OAAO,CAAC;AAepD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AA0BjE;;GAEG;AAEH,eAAO,MAAM,gBAAgB,8FA2E5B,CAAC"}
1
+ {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAA+B,MAAM,OAAO,CAAC;AAWpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAM3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AA0BjE;;GAEG;AAEH,eAAO,MAAM,gBAAgB,8FAgF5B,CAAC;AAUF,eAAO,MAAM,eAAe;IAC1B;;;;;;;;OAQG;IACH,gBAAgB;;IAShB;;;;;OAKG;;CAKJ,CAAC"}
@@ -8,6 +8,7 @@
8
8
  import { __toESM } from "../../_virtual/_rolldown/runtime.js";
9
9
  import { require_classnames } from "../../node_modules/classnames/index.js";
10
10
  import { getDevtoolsProps } from "../../global/js/utils/devtools.js";
11
+ import { deprecateProp } from "../../global/js/utils/props-helper.js";
11
12
  import { NON_HIERARCHICAL_VARIANT, blockClass } from "./utils/util.js";
12
13
  import { ConditionBuilderProvider } from "./ConditionBuilderContext/ConditionBuilderProvider.js";
13
14
  import { handleKeyDown } from "./utils/handleKeyboardEvents.js";
@@ -28,7 +29,7 @@ const componentName = "ConditionBuilder";
28
29
  /**
29
30
  * TODO: A description of the component.
30
31
  */
31
- const ConditionBuilder = React.forwardRef(({ className, inputConfig, startConditionLabel = "Add Condition", popOverSearchThreshold, getOptions, initialState, getConditionState, getActionsState, variant = NON_HIERARCHICAL_VARIANT, actions, translateWithId, statementConfigCustom, onAddItem, onRemoveItem, readOnly, ...rest }, ref) => {
32
+ const ConditionBuilder = React.forwardRef(({ className, inputConfig, startConditionLabel = "Add Condition", popOverSearchThreshold = 4, getOptions, initialState, getConditionState, getActionsState, variant = NON_HIERARCHICAL_VARIANT, actions, translateWithId, statementConfigCustom, onAddItem, onRemoveItem, readOnly, startActive = true, value, onChange, ...rest }, ref) => {
32
33
  const localRef = useRef(null);
33
34
  const conditionBuilderRef = ref || localRef;
34
35
  const handleKeyDownHandler = (evt) => {
@@ -44,7 +45,10 @@ const ConditionBuilder = React.forwardRef(({ className, inputConfig, startCondit
44
45
  statementConfigCustom,
45
46
  onAddItem,
46
47
  onRemoveItem,
47
- readOnly: !!readOnly
48
+ readOnly: !!readOnly,
49
+ startActive,
50
+ value,
51
+ onChange
48
52
  }, /* @__PURE__ */ React.createElement("div", {
49
53
  ...rest,
50
54
  className: (0, import_classnames.default)(blockClass, className, { [`${blockClass}__readonly`]: readOnly }, {}),
@@ -62,6 +66,29 @@ const ConditionBuilder = React.forwardRef(({ className, inputConfig, startCondit
62
66
  }))));
63
67
  });
64
68
  ConditionBuilder.displayName = componentName;
69
+ const deprecatedProps = {
70
+ /**
71
+ * @deprecated Use the `value` prop instead. `initialState` will be removed
72
+ * in a future major release.
73
+ *
74
+ * Optional prop to pass a saved condition state. `state` holds the
75
+ * condition structure; `enabledDefault: true` renders the builder
76
+ * immediately, `enabledDefault: false` (default) requires the user to
77
+ * click the start button first.
78
+ */
79
+ /**@ts-ignore */
80
+ initialState: deprecateProp(PropTypes.shape({
81
+ state: PropTypes.object,
82
+ enabledDefault: PropTypes.bool
83
+ }), "Use the `value` prop instead (pair with `onChange` for controlled mode)."),
84
+ /**
85
+ * @deprecated Use `onChange` instead. `getConditionState` will be removed
86
+ * in a future major release.
87
+ *
88
+ * Callback that receives the updated condition state on every change.
89
+ */
90
+ getConditionState: deprecateProp(PropTypes.func, "Use the `onChange` prop instead.")
91
+ };
65
92
  ConditionBuilder.propTypes = {
66
93
  /**
67
94
  * optional array of actions
@@ -80,51 +107,13 @@ ConditionBuilder.propTypes = {
80
107
  */
81
108
  getActionsState: PropTypes.func,
82
109
  /**
83
- * This is a callback that gives back updated condition state
84
- */
85
- getConditionState: PropTypes.func.isRequired,
86
- /**
87
110
  * Callback triggered to dynamically fetch options for a property of type 'option'.
88
111
  * This is invoked when no static options array is provided in the input config.
89
112
  * The function should return a Promise that resolves with an array of options in the required format.
90
-
91
113
  */
92
114
  getOptions: PropTypes.func,
93
115
  /**
94
- * Optional prop if you want to pass a saved condition state, pass as "initialState.state".
95
- * "initialState.enabledDefault" will populate the builder with the provided initial state before clicking Add Condition button.
96
- *
97
- * This state should respect the structure of condition state that is available in getConditionState callback
98
- */
99
- /**@ts-ignore */
100
- initialState: PropTypes.shape({
101
- state: PropTypes.shape({
102
- groups: PropTypes.arrayOf(PropTypes.shape({
103
- groupOperator: PropTypes.string,
104
- statement: PropTypes.string,
105
- conditions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
106
- property: PropTypes.string,
107
- operator: PropTypes.string,
108
- value: PropTypes.oneOfType([
109
- PropTypes.string,
110
- PropTypes.arrayOf(PropTypes.shape({
111
- id: PropTypes.string,
112
- label: PropTypes.string
113
- })),
114
- PropTypes.shape({
115
- id: PropTypes.string,
116
- label: PropTypes.string
117
- })
118
- ])
119
- }), PropTypes.object]))
120
- })),
121
- operator: PropTypes.string
122
- }),
123
- enabledDefault: PropTypes.bool
124
- }),
125
- /**
126
116
  * This is a mandatory prop that defines the input to the condition builder.
127
-
128
117
  */
129
118
  /**@ts-ignore */
130
119
  inputConfig: PropTypes.shape({ properties: PropTypes.arrayOf(PropTypes.shape({
@@ -163,19 +152,30 @@ ConditionBuilder.propTypes = {
163
152
  */
164
153
  onAddItem: PropTypes.func,
165
154
  /**
155
+ * Called with the full new state on every change. Use with `value` for
156
+ * controlled mode, or standalone instead of `getConditionState`.
157
+ */
158
+ onChange: PropTypes.func,
159
+ /**
166
160
  * this is an optional callback triggered before removing any condition , subgroup, group or action.
167
161
  * User can optionally perform any validation and can stop remove action if they return back {preventRemove:true}
168
162
  */
169
163
  onRemoveItem: PropTypes.func,
170
164
  /**
171
- * This will enable search in option popovers when option list length is more than this threshold
165
+ * This will enable search in option popovers when option list length is more than this threshold.
166
+ * Defaults to 4 when not provided.
172
167
  */
173
- popOverSearchThreshold: PropTypes.number.isRequired,
168
+ popOverSearchThreshold: PropTypes.number,
174
169
  /**
175
170
  * Whether the conditionBuilder should be readOnly
176
171
  */
177
172
  readOnly: PropTypes.bool,
178
173
  /**
174
+ * When false, the builder starts behind the "Add condition" button even
175
+ * if value contains groups. Defaults to true.
176
+ */
177
+ startActive: PropTypes.bool,
178
+ /**
179
179
  * Provide a label to the button that starts condition builder
180
180
  */
181
181
  startConditionLabel: PropTypes.string,
@@ -192,14 +192,21 @@ ConditionBuilder.propTypes = {
192
192
  /**
193
193
  * Optional prop, if you need to pass translations to the texts on the component instead of the defined defaults.
194
194
  * This callback function will receive the message id and you need to return the corresponding text for that id.
195
-
196
195
  */
197
196
  /**@ts-ignore */
198
197
  translateWithId: PropTypes.func,
199
198
  /**
199
+ * Seed state or controlled state for the builder. When passed alongside
200
+ * `onChange`, updates to `value` from outside will sync the builder.
201
+ * Use without `onChange` for a one-time seed (uncontrolled).
202
+ */
203
+ /**@ts-ignore */
204
+ value: PropTypes.object,
205
+ /**
200
206
  * Provide the condition builder variant: Non-Hierarchical/ Hierarchical
201
207
  */
202
- variant: PropTypes.oneOf(["Non-Hierarchical", "Hierarchical"])
208
+ variant: PropTypes.oneOf(["Non-Hierarchical", "Hierarchical"]),
209
+ ...deprecatedProps
203
210
  };
204
211
  //#endregion
205
212
  export { ConditionBuilder };
@@ -147,27 +147,62 @@ type RemoveItemConfig = {
147
147
  item?: Condition | ConditionGroup | Action;
148
148
  group?: ConditionGroup;
149
149
  };
150
- type ConditionBuilderTextKeys = 'ifText' | 'unlessText' | 'excl_if' | 'and' | 'or' | 'is' | 'ifAll' | 'ifAny' | 'unlessAll' | 'unlessAny' | 'greater' | 'greaterEqual' | 'lower' | 'lowerEqual' | 'startsWith' | 'endsWith' | 'contains' | 'oneOf' | 'before' | 'after' | 'between' | 'addConditionText' | 'addConditionGroupText' | 'addSubgroupText' | 'conditionText' | 'propertyText' | 'operatorText' | 'valueText' | 'connectorText' | 'conditionRowText' | 'conditionRowGroupText' | 'removeConditionText' | 'addConditionRowText' | 'startText' | 'endText' | 'clearSearchText' | 'actionsText' | 'then' | 'removeActionText' | 'addActionText' | 'invalidText' | 'invalidNumberWarnText' | 'conditionBuilderText' | 'actionSectionText' | 'conditionHeadingText' | 'addPropertyText' | 'addOperatorText' | 'addValueText' | 'conditionBuilderHierarchicalText';
150
+ export type ConditionBuilderTextKeys = 'ifText' | 'unlessText' | 'excl_if' | 'and' | 'or' | 'is' | 'ifAll' | 'ifAny' | 'unlessAll' | 'unlessAny' | 'greater' | 'greaterEqual' | 'lower' | 'lowerEqual' | 'startsWith' | 'endsWith' | 'contains' | 'oneOf' | 'before' | 'after' | 'between' | 'addConditionText' | 'addConditionGroupText' | 'addSubgroupText' | 'conditionText' | 'propertyText' | 'operatorText' | 'valueText' | 'connectorText' | 'conditionRowText' | 'conditionRowGroupText' | 'removeConditionText' | 'addConditionRowText' | 'startText' | 'endText' | 'searchPropertiesText' | 'clearSearchText' | 'actionsText' | 'then' | 'removeActionText' | 'addActionText' | 'invalidText' | 'invalidNumberWarnText' | 'conditionBuilderText' | 'conditionBuilderGroupText' | 'actionSectionText' | 'conditionHeadingText' | 'addPropertyText' | 'addOperatorText' | 'addValueText' | 'conditionBuilderHierarchicalText' | 'conditionRemovedText';
151
151
  export type ConditionBuilderProps = {
152
152
  inputConfig: inputConfig;
153
+ /**
154
+ * @deprecated Use `value` (and `onChange` for controlled mode) instead.
155
+ * `initialState` will be removed in a future major release.
156
+ */
153
157
  initialState?: InitialState;
154
158
  getActionsState?: (state: Action[] | undefined) => void;
155
- getConditionState: (state: ConditionBuilderState | undefined) => void;
159
+ /**
160
+ * @deprecated Use `onChange` instead. `getConditionState` will be removed
161
+ * in a future major release.
162
+ */
163
+ getConditionState?: (state: ConditionBuilderState | undefined) => void;
156
164
  getOptions?: (state: ConditionBuilderState, condition: Condition) => Promise<Option[]>;
157
165
  actions?: Action[];
158
166
  className?: string;
159
- popOverSearchThreshold: number;
167
+ /** When omitted, defaults to 4. A search field appears in option popovers
168
+ * when the option list length exceeds this threshold. */
169
+ popOverSearchThreshold?: number;
160
170
  startConditionLabel?: string;
161
171
  variant?: 'Non-Hierarchical' | 'Hierarchical';
162
172
  translateWithId?: (id: ConditionBuilderTextKeys) => string;
163
- statementConfigCustom: statementConfig[];
173
+ /** Override the default four statements (if all / if any / unless all / unless any).
174
+ * When omitted, the built-in defaults are used. */
175
+ statementConfigCustom?: statementConfig[];
164
176
  onAddItem?: (config: AddItemConfig) => {
165
177
  preventAdd: boolean;
166
- };
178
+ } | void;
167
179
  onRemoveItem?: (config: RemoveItemConfig) => {
168
180
  preventRemove: boolean;
169
- };
181
+ } | void;
170
182
  readOnly?: boolean;
183
+ /**
184
+ * When `false`, the builder starts behind the "Add condition" button even
185
+ * if `value` contains groups. The user must click the button to activate.
186
+ * Defaults to `true` (builder activates immediately when groups are present).
187
+ */
188
+ startActive?: boolean;
189
+ /**
190
+ * Pre-populate the builder with an existing condition state.
191
+ *
192
+ * - **Uncontrolled seed** (no `onChange`): the builder uses this as its
193
+ * starting state and then manages state internally — equivalent to
194
+ * `initialState.state` but without the `enabledDefault` flag.
195
+ * - **Controlled** (with `onChange`): the parent owns the state on every
196
+ * render. Must be kept in sync via `onChange`.
197
+ */
198
+ value?: ConditionBuilderState;
199
+ /**
200
+ * Called with the full new state on every change.
201
+ * - Pair with `value` for fully controlled mode.
202
+ * - Omit to use `value` as a one-time uncontrolled seed.
203
+ * - Can also be used standalone instead of `getConditionState`.
204
+ */
205
+ onChange?: (state: ConditionBuilderState) => void;
171
206
  };
172
207
  export type InitialState = {
173
208
  state: ConditionBuilderState;
@@ -176,13 +211,16 @@ export type InitialState = {
176
211
  export interface ConditionBuilderContextInputProps extends PropsWithChildren {
177
212
  children?: ReactNode;
178
213
  inputConfig?: inputConfig;
179
- popOverSearchThreshold: number;
214
+ popOverSearchThreshold?: number;
180
215
  getOptions?: (state: ConditionBuilderState, condition: Condition) => Promise<Option[]>;
181
216
  variant?: string;
182
217
  translateWithId?: (id: ConditionBuilderTextKeys) => string;
183
218
  statementConfigCustom?: statementConfig[];
184
219
  conditionBuilderRef?: ForwardedRef<HTMLDivElement>;
185
220
  readOnly?: boolean;
221
+ startActive?: boolean;
222
+ value?: ConditionBuilderState;
223
+ onChange?: (state: ConditionBuilderState) => void;
186
224
  }
187
225
  export type ConditionBuilderContextProps = {
188
226
  rootState?: ConditionBuilderState;
@@ -191,10 +229,10 @@ export type ConditionBuilderContextProps = {
191
229
  setActionState?: Dispatch<SetStateAction<Action[]>>;
192
230
  onAddItem?: (config: AddItemConfig) => {
193
231
  preventAdd: boolean;
194
- };
232
+ } | void;
195
233
  onRemoveItem?: (config: RemoveItemConfig) => {
196
234
  preventRemove: boolean;
197
- };
235
+ } | void;
198
236
  } & ConditionBuilderContextInputProps;
199
237
  export {};
200
238
  //# sourceMappingURL=ConditionBuilder.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.types.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConditionBuilder.types.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,aAAa,EACb,cAAc,EACd,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,IAAI,CAAC;AAC3C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;AAE9E,KAAK,YAAY,GAAG,IAAI,CAAC;AACzB,KAAK,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,GAAG,YAAY,CAAC;AAC1E,KAAK,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAChD,KAAK,aAAa,GAAG,UAAU,CAAC;AAChC,KAAK,cAAc,GAAG,OAAO,CAAC;AAC9B,KAAK,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvC,MAAM,MAAM,QAAQ,GAChB,eAAe,GACf,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,aAAa,GACb,cAAc,GACd,YAAY,CAAC;AAEjB,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,KAAK,IAAI,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG;IAAE,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,QAAQ,CAAC;IAEf,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,CAAC,EAAE,CAAC,IAAI,GAAG;YAAE,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,EAAE,CAAC;KACpD,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,GAAG;QAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;CACjD;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE;QACN,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,gBAAgB,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE;QACN,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;KAC5C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,oBAAoB,CAAC,QAAQ,CAAC,GAC9B,sBAAsB,CAAC,QAAQ,CAAC,GAChC,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,oBAAoB,CAAC,QAAQ,CAAC,GAC9B,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,cAAc,EAAE,SAAS,CAAC;QAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;KACxB,KAAK,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QACnB,cAAc,EAAE,SAAS,CAAC;QAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;KACxB,KAAK,OAAO,CAAC;CACf,GAAG,UAAU,CAAC;AAEf,MAAM,MAAM,WAAW,GAAG;IAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG;IAAE,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE,CAAC;IAC5C,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG;IACnC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AACF,KAAK,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AACtD,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AACpE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;IAC3C,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,OAAO,GACP,OAAO,GACP,WAAW,GACX,WAAW,GACX,SAAS,GACT,cAAc,GACd,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,UAAU,GACV,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,kBAAkB,GAClB,uBAAuB,GACvB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,cAAc,GACd,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,WAAW,GACX,SAAS,GACT,sBAAsB,GACtB,iBAAiB,GACjB,aAAa,GACb,MAAM,GACN,kBAAkB,GAClB,eAAe,GACf,aAAa,GACb,uBAAuB,GACvB,sBAAsB,GACtB,2BAA2B,GAC3B,mBAAmB,GACnB,sBAAsB,GACtB,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,kCAAkC,GAClC,sBAAsB,CAAC;AAC3B,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,GAAG,SAAS,KAAK,IAAI,CAAC;IACvE,UAAU,CAAC,EAAE,CACX,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,SAAS,KACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;8DAC0D;IAC1D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,wBAAwB,KAAK,MAAM,CAAC;IAC3D;wDACoD;IACpD,qBAAqB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,gBAAgB,KACrB;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,iCAAkC,SAAQ,iBAAiB;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,CACX,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,SAAS,KACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,wBAAwB,KAAK,MAAM,CAAC;IAC3D,qBAAqB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1C,mBAAmB,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC/D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,gBAAgB,KACrB;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACxC,GAAG,iCAAiC,CAAC"}
@@ -9,8 +9,10 @@ import PropTypes from 'prop-types';
9
9
  import { Action, ConditionBuilderState, InitialState } from '../ConditionBuilder.types';
10
10
  interface ConditionBuilderContentProps {
11
11
  startConditionLabel: string;
12
- getConditionState: (state: ConditionBuilderState) => void;
12
+ /** @deprecated Use `onChange` (from context) instead. */
13
+ getConditionState?: (state: ConditionBuilderState) => void;
13
14
  getActionsState?: (state: Action[]) => void;
15
+ /** @deprecated Use `value` (and `onChange` for controlled mode) instead. */
14
16
  initialState?: InitialState;
15
17
  actions?: Action[];
16
18
  }
@@ -29,10 +31,15 @@ declare const ConditionBuilderContent: {
29
31
  */
30
32
  getActionsState: PropTypes.Requireable<(...args: any[]) => any>;
31
33
  /**
34
+ * @deprecated Use `onChange` instead. `getConditionState` will be removed
35
+ * in a future major release.
36
+ *
32
37
  * This is a callback function that returns the updated state
33
38
  */
34
- getConditionState: PropTypes.Validator<(...args: any[]) => any>;
39
+ getConditionState: PropTypes.Requireable<(...args: any[]) => any>;
35
40
  /**
41
+ * @deprecated Use `value` (and `onChange` for controlled mode) instead.
42
+ *
36
43
  * Optional prop if the condition building need to start from a predefined initial state
37
44
  */
38
45
  initialState: PropTypes.Requireable<PropTypes.InferProps<{
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilderContent.d.ts","sourceRoot":"","sources":["../../../../src/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,SAAS,MAAM,YAAY,CAAC;AAiBnC,OAAO,EACL,MAAM,EAEN,qBAAqB,EAErB,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,UAAU,4BAA4B;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC1D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AACD,QAAA,MAAM,uBAAuB;0FAM1B,4BAA4B;;QAiR7B;;WAEG;;;;;QAOH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;;;;;;;;;;;;;CAxBJ,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"ConditionBuilderContent.d.ts","sourceRoot":"","sources":["../../../../src/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,SAAS,MAAM,YAAY,CAAC;AAiBnC,OAAO,EACL,MAAM,EAEN,qBAAqB,EAErB,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,UAAU,4BAA4B;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,4EAA4E;IAC5E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AACD,QAAA,MAAM,uBAAuB;0FAM1B,4BAA4B;;QAmT7B;;WAEG;;;;;QAOH;;WAEG;;QAEH;;;;;WAKG;;QAEH;;;;WAIG;;;;;;;;;;;;;;CA7BJ,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -27,8 +27,9 @@ import { Add, TextNewLine } from "@carbon/react/icons";
27
27
  */
28
28
  /**@ts-ignore */
29
29
  const ConditionBuilderContent = ({ startConditionLabel, getConditionState, getActionsState, initialState, actions }) => {
30
- const { rootState, setRootState, variant, actionState, onAddItem, onRemoveItem, readOnly, statementConfigCustom } = useContext(ConditionBuilderContext);
30
+ const { rootState, setRootState, variant, actionState, onAddItem, onRemoveItem, readOnly, statementConfigCustom, value: seedValue, onChange, startActive } = useContext(ConditionBuilderContext);
31
31
  const initialConditionState = useRef(initialState?.state ? JSON.parse(JSON.stringify(initialState?.state)) : null);
32
+ const userActivated = useRef(false);
32
33
  const [isConditionBuilderActive, setIsConditionBuilderActive] = useState(false);
33
34
  const [showConditionGroupPreview, setShowConditionGroupPreview] = useState(false);
34
35
  const [addConditionGroupText, conditionHeadingText, conditionBuilderHierarchicalText, conditionRemovedText] = useTranslations([
@@ -46,6 +47,10 @@ const ConditionBuilderContent = ({ startConditionLabel, getConditionState, getAc
46
47
  setShowConditionGroupPreview(false);
47
48
  };
48
49
  useEffect(() => {
50
+ if (startActive === false && !userActivated.current) {
51
+ if (getConditionState) getConditionState(rootState ?? {});
52
+ return;
53
+ }
49
54
  if (rootState?.groups?.length) setIsConditionBuilderActive(true);
50
55
  else setIsConditionBuilderActive(false);
51
56
  if (getConditionState) getConditionState(rootState ?? {});
@@ -54,10 +59,13 @@ const ConditionBuilderContent = ({ startConditionLabel, getConditionState, getAc
54
59
  getActionsState?.(actionState ?? []);
55
60
  }, [actionState]);
56
61
  useEffect(() => {
57
- if (initialState?.enabledDefault) setRootState?.(initialState.state);
62
+ if (initialState?.enabledDefault && seedValue === void 0) setRootState?.(initialState.state);
58
63
  }, [initialState]);
59
64
  const onStartConditionBuilder = () => {
65
+ userActivated.current = true;
60
66
  setIsConditionBuilderActive(true);
67
+ if (seedValue !== void 0 && onChange !== void 0) return;
68
+ if (seedValue !== void 0 && rootState?.groups?.length) return;
61
69
  if (initialConditionState?.current?.groups?.length) {
62
70
  setRootState?.(initialConditionState.current);
63
71
  initialConditionState.current = null;
@@ -205,10 +213,15 @@ ConditionBuilderContent.propTypes = {
205
213
  */
206
214
  getActionsState: PropTypes.func,
207
215
  /**
216
+ * @deprecated Use `onChange` instead. `getConditionState` will be removed
217
+ * in a future major release.
218
+ *
208
219
  * This is a callback function that returns the updated state
209
220
  */
210
- getConditionState: PropTypes.func.isRequired,
221
+ getConditionState: PropTypes.func,
211
222
  /**
223
+ * @deprecated Use `value` (and `onChange` for controlled mode) instead.
224
+ *
212
225
  * Optional prop if the condition building need to start from a predefined initial state
213
226
  */
214
227
  initialState: PropTypes.shape({
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilderProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAkC,MAAM,OAAO,CAAC;AAGvD,OAAO,EAEL,4BAA4B,EAC5B,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,aAAa,GACxB,wBAAwB,4BAA4B,CAAC,uBAAuB,CAAC,KAC5E,qBAuBF,CAAC;AAEF,eAAO,MAAM,uBAAuB,6CAMhC,CAAC;AAEL,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAC7C,4BAA4B,CA6B7B,CAAC"}
1
+ {"version":3,"file":"ConditionBuilderProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAqD,MAAM,OAAO,CAAC;AAG1E,OAAO,EAEL,4BAA4B,EAC5B,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,aAAa,GACxB,wBAAwB,4BAA4B,CAAC,uBAAuB,CAAC,KAC5E,qBAuBF,CAAC;AAEF,eAAO,MAAM,uBAAuB,6CAMhC,CAAC;AAEL,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAC7C,4BAA4B,CAgE7B,CAAC"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import uuidv4 from "../../../global/js/utils/uuidv4.js";
9
- import React, { createContext, useState } from "react";
9
+ import React, { createContext, useEffect, useRef, useState } from "react";
10
10
  import PropTypes from "prop-types";
11
11
  //#region src/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.tsx
12
12
  /**
@@ -39,15 +39,28 @@ const ConditionBuilderContext = createContext({
39
39
  popOverSearchThreshold: 0
40
40
  });
41
41
  const ConditionBuilderProvider = (props) => {
42
- const [rootState, setRootState] = useState({ groups: [] });
42
+ const [internalState, setInternalState] = useState(props.value ?? { groups: [] });
43
43
  const [actionState, setActionState] = useState([]);
44
+ const prevValueRef = useRef(props.value);
45
+ useEffect(() => {
46
+ if (props.value !== void 0 && props.value !== prevValueRef.current) setInternalState(props.value);
47
+ prevValueRef.current = props.value;
48
+ }, [props.value]);
49
+ const rootState = internalState;
50
+ const setRootState = (next) => {
51
+ setInternalState((prev) => {
52
+ const resolved = typeof next === "function" ? next(prev) : next;
53
+ props.onChange?.(resolved);
54
+ return resolved;
55
+ });
56
+ };
44
57
  const contextValue = {
45
58
  rootState,
46
59
  setRootState,
47
60
  actionState,
48
61
  setActionState,
49
62
  inputConfig: props.inputConfig,
50
- popOverSearchThreshold: props.popOverSearchThreshold,
63
+ popOverSearchThreshold: props.popOverSearchThreshold ?? 4,
51
64
  getOptions: props.getOptions,
52
65
  variant: props.variant,
53
66
  translateWithId: props.translateWithId,
@@ -55,7 +68,10 @@ const ConditionBuilderProvider = (props) => {
55
68
  statementConfigCustom: props.statementConfigCustom,
56
69
  onAddItem: props.onAddItem,
57
70
  onRemoveItem: props.onRemoveItem,
58
- readOnly: props.readOnly
71
+ readOnly: props.readOnly,
72
+ startActive: props.startActive,
73
+ value: props.value,
74
+ onChange: props.onChange
59
75
  };
60
76
  return /* @__PURE__ */ React.createElement(ConditionBuilderContext.Provider, { value: contextValue }, props.children);
61
77
  };
@@ -70,18 +86,12 @@ ConditionBuilderProvider.propTypes = {
70
86
  /**@ts-ignore */
71
87
  conditionBuilderRef: PropTypes.object,
72
88
  /**
73
- * This is an optional callback function that will be triggered when options array is not passed in the inputConfig against a property.
74
- * This can be a asynchronous function that need to return a promise, so it will allow to fetch options from API call.
75
- * options has to be in valid format
76
- * [{
77
- label: 'label',
78
- id: 'id',
79
- },...]
89
+ * This is an optional callback function that will be triggered when options array is not passed
90
+ * in the inputConfig against a property. Returns a promise resolving to an options array.
80
91
  */
81
92
  getOptions: PropTypes.func,
82
93
  /**
83
94
  * This is a mandatory prop that defines the input to the condition builder.
84
-
85
95
  */
86
96
  /**@ts-ignore */
87
97
  inputConfig: PropTypes.shape({ properties: PropTypes.arrayOf(PropTypes.shape({
@@ -113,17 +123,27 @@ ConditionBuilderProvider.propTypes = {
113
123
  })
114
124
  })) }).isRequired,
115
125
  /**
116
- * This will enable search in option popovers when option list length is more that this threshold
126
+ * Called with the full new state on every change. Use with `value` for
127
+ * controlled mode, or standalone instead of `getConditionState`.
128
+ */
129
+ onChange: PropTypes.func,
130
+ /**
131
+ * This will enable search in option popovers when option list length exceeds this threshold.
132
+ * Defaults to 4 when not provided.
117
133
  */
118
- popOverSearchThreshold: PropTypes.number.isRequired,
134
+ popOverSearchThreshold: PropTypes.number,
119
135
  /**
120
- * Optional prop if you want to pass translation to the texts used . Otherwise this will the defined defaults.
136
+ * Optional prop if you want to pass translation to the texts used. Otherwise uses defined defaults.
121
137
  * This callback function will receive the message id and you need to return the corresponding text for that id.
122
- * The message key will be one of [ "ifText", "addConditionText", "addConditionGroupText", "addSubgroupText", "conditionText", "propertyText", "operatorText", "valueText", "connectorText", "conditionRowText", "removeConditionText", "addConditionRowText", "startText", "endText", "clearSearchText", "actionsText", "then", "removeActionText", "addActionText", "invalidText", "invalidNumberWarnText"
123
- ]
124
138
  */
125
139
  translateWithId: PropTypes.func,
126
140
  /**
141
+ * Controlled state. When provided, the builder is controlled and `onChange`
142
+ * must be supplied to keep the state in sync.
143
+ */
144
+ /**@ts-ignore */
145
+ value: PropTypes.object,
146
+ /**
127
147
  * Provide the condition builder variant: Non-Hierarchical/ Hierarchical
128
148
  */
129
149
  variant: PropTypes.string.isRequired
@@ -43,6 +43,7 @@ export namespace translationsObject {
43
43
  let invalidText: string;
44
44
  let invalidNumberWarnText: string;
45
45
  let conditionBuilderText: string;
46
+ let conditionBuilderGroupText: string;
46
47
  let actionSectionText: string;
47
48
  let conditionHeadingText: string;
48
49
  let addPropertyText: string;
@@ -57,6 +57,7 @@ const translationsObject = {
57
57
  invalidText: "Incomplete",
58
58
  invalidNumberWarnText: "Invalid number, must be 0 or greater",
59
59
  conditionBuilderText: "Condition Builder",
60
+ conditionBuilderGroupText: "Condition Group",
60
61
  actionSectionText: "Action Section",
61
62
  conditionHeadingText: "Condition",
62
63
  addPropertyText: "Add property",
@@ -6,5 +6,5 @@
6
6
  */
7
7
  export { ConditionBuilder } from './ConditionBuilder';
8
8
  export * from './ConditionBuilder.types';
9
- export { getEmptyState } from './ConditionBuilderContext/ConditionBuilderProvider';
9
+ export { ConditionBuilderContext, getEmptyState, } from './ConditionBuilderContext/ConditionBuilderProvider';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,aAAa,GACd,MAAM,oDAAoD,CAAC"}
@@ -64,13 +64,13 @@ const handleKeyPressForPopover = (evt, parentContainer, conditionBuilderRef, clo
64
64
  break;
65
65
  case " ":
66
66
  if (isMultiSelect === "true") {
67
- if (document.activeElement.type !== "button") document.activeElement?.click();
67
+ document.activeElement?.click();
68
68
  evt.preventDefault();
69
69
  }
70
70
  break;
71
71
  case "Enter":
72
72
  if (isMultiSelect === "true") {
73
- if (document.activeElement.type !== "button") document.activeElement?.click();
73
+ document.activeElement?.click();
74
74
  evt.preventDefault();
75
75
  } else if (document.activeElement.type !== "button") {
76
76
  focusThisField(evt, conditionBuilderRef);