@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.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +463 -463
- package/css/carbon.css +9599 -6352
- package/css/carbon.css.map +1 -1
- package/css/index-full-carbon.css +5121 -1880
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +29 -186
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +29 -186
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +397 -447
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/AddSelect/AddSelectColumn.js +4 -4
- package/es/components/AddSelect/next/AddSelectColumn.js +2 -2
- package/es/components/ConditionBuilder/ConditionBuilder.d.ts +21 -0
- package/es/components/ConditionBuilder/ConditionBuilder.d.ts.map +1 -1
- package/es/components/ConditionBuilder/ConditionBuilder.js +51 -44
- package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts +47 -9
- package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts.map +1 -1
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -2
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts.map +1 -1
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +16 -3
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts.map +1 -1
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +37 -17
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +1 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +1 -0
- package/es/components/ConditionBuilder/index.d.ts +1 -1
- package/es/components/ConditionBuilder/index.d.ts.map +1 -1
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +2 -2
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +2 -2
- package/es/components/EmptyStates/assets/ErrorIllustration.js +2 -2
- package/es/components/EmptyStates/assets/NoDataIllustration.js +2 -2
- package/es/components/EmptyStates/assets/NoTagsIllustration.js +2 -2
- package/es/components/EmptyStates/assets/NotFoundIllustration.js +2 -2
- package/es/components/EmptyStates/assets/NotificationsIllustration.js +2 -2
- package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +2 -2
- package/es/components/NotificationsPanel/NotificationsPanel.js +2 -2
- package/es/components/PageHeader/next/PageHeader.d.ts +10 -0
- package/es/components/PageHeader/next/PageHeader.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeader.js +6 -3
- package/es/components/PageHeader/next/PageHeaderBreadcrumbBar.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeaderBreadcrumbBar.js +6 -3
- package/es/components/PageHeader/next/PageHeaderBreadcrumbPageActions.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeaderBreadcrumbPageActions.js +4 -10
- package/es/components/PageHeader/next/PageHeaderContent.d.ts +3 -2
- package/es/components/PageHeader/next/PageHeaderContent.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeaderContent.js +14 -11
- package/es/components/PageHeader/next/PageHeaderContentPageActions.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeaderContentPageActions.js +3 -2
- package/es/components/PageHeader/next/PageHeaderScrollButton.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeaderScrollButton.js +3 -0
- package/es/components/PageHeader/next/PageHeaderTabBar.js +11 -3
- package/es/components/PageHeader/next/PageHeaderTagOverflow.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeaderTagOverflow.js +10 -2
- package/es/components/PageHeader/next/context.d.ts +2 -0
- package/es/components/PageHeader/next/context.d.ts.map +1 -1
- package/es/components/PageHeader/next/context.js +3 -1
- package/es/components/StatusIcon/StatusIcon.d.ts +11 -9
- package/es/components/StatusIcon/StatusIcon.d.ts.map +1 -1
- package/es/components/StatusIcon/StatusIcon.js +16 -0
- package/es/components/TagOverflow/TagOverflow.d.ts +9 -2
- package/es/components/TagOverflow/TagOverflow.d.ts.map +1 -1
- package/es/components/TagOverflow/TagOverflow.js +10 -4
- package/es/components/TagOverflow/TagOverflowModal.d.ts +22 -4
- package/es/components/TagOverflow/TagOverflowModal.d.ts.map +1 -1
- package/es/components/TagOverflow/TagOverflowModal.js +15 -6
- package/es/components/Tearsheet/TearsheetShell.js +2 -2
- package/es/components/Tearsheet/next/Tearsheet.d.ts.map +1 -1
- package/es/components/Tearsheet/next/Tearsheet.js +4 -3
- package/es/components/Tearsheet/next/TearsheetBody.d.ts.map +1 -1
- package/es/components/Tearsheet/next/TearsheetBody.js +1 -3
- package/es/components/Tearsheet/next/TearsheetHeaderContent.d.ts +3 -2
- package/es/components/Tearsheet/next/TearsheetHeaderContent.d.ts.map +1 -1
- package/es/components/Tearsheet/next/TearsheetHeaderContent.js +3 -3
- package/es/components/index.d.ts +1 -1
- package/es/components/index.d.ts.map +1 -1
- package/es/global/js/hooks/useCreateComponentFocus.js +1 -8
- package/es/global/js/utils/useId.js +2 -2
- package/es/index.js +3 -3
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-11.js +342 -310
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-3.js +48 -56
- package/es/settings.d.ts +4 -4
- package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +21 -0
- package/lib/components/ConditionBuilder/ConditionBuilder.d.ts.map +1 -1
- package/lib/components/ConditionBuilder/ConditionBuilder.js +51 -44
- package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts +47 -9
- package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts.map +1 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -2
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts.map +1 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +16 -3
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts.map +1 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +36 -16
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +1 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +1 -0
- package/lib/components/ConditionBuilder/index.d.ts +1 -1
- package/lib/components/ConditionBuilder/index.d.ts.map +1 -1
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +2 -2
- package/lib/components/PageHeader/next/PageHeader.d.ts +10 -0
- package/lib/components/PageHeader/next/PageHeader.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeader.js +6 -3
- package/lib/components/PageHeader/next/PageHeaderBreadcrumbBar.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeaderBreadcrumbBar.js +6 -3
- package/lib/components/PageHeader/next/PageHeaderBreadcrumbPageActions.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeaderBreadcrumbPageActions.js +3 -9
- package/lib/components/PageHeader/next/PageHeaderContent.d.ts +3 -2
- package/lib/components/PageHeader/next/PageHeaderContent.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeaderContent.js +13 -10
- package/lib/components/PageHeader/next/PageHeaderContentPageActions.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeaderContentPageActions.js +3 -2
- package/lib/components/PageHeader/next/PageHeaderScrollButton.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeaderScrollButton.js +3 -0
- package/lib/components/PageHeader/next/PageHeaderTabBar.js +11 -3
- package/lib/components/PageHeader/next/PageHeaderTagOverflow.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeaderTagOverflow.js +10 -2
- package/lib/components/PageHeader/next/context.d.ts +2 -0
- package/lib/components/PageHeader/next/context.d.ts.map +1 -1
- package/lib/components/PageHeader/next/context.js +3 -1
- package/lib/components/StatusIcon/StatusIcon.d.ts +11 -9
- package/lib/components/StatusIcon/StatusIcon.d.ts.map +1 -1
- package/lib/components/StatusIcon/StatusIcon.js +16 -0
- package/lib/components/TagOverflow/TagOverflow.d.ts +9 -2
- package/lib/components/TagOverflow/TagOverflow.d.ts.map +1 -1
- package/lib/components/TagOverflow/TagOverflow.js +10 -4
- package/lib/components/TagOverflow/TagOverflowModal.d.ts +22 -4
- package/lib/components/TagOverflow/TagOverflowModal.d.ts.map +1 -1
- package/lib/components/TagOverflow/TagOverflowModal.js +15 -6
- package/lib/components/Tearsheet/next/Tearsheet.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/Tearsheet.js +2 -1
- package/lib/components/Tearsheet/next/TearsheetBody.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/TearsheetBody.js +1 -3
- package/lib/components/Tearsheet/next/TearsheetHeaderContent.d.ts +3 -2
- package/lib/components/Tearsheet/next/TearsheetHeaderContent.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/TearsheetHeaderContent.js +3 -3
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.d.ts.map +1 -1
- package/lib/global/js/hooks/useCreateComponentFocus.js +1 -8
- package/lib/index.js +5 -9
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-0.js +33 -33
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-1.js +26 -29
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-10.js +336 -365
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-11.js +365 -333
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-12.js +600 -644
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-13.js +724 -662
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-14.js +608 -624
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-15.js +663 -662
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-16.js +533 -551
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-17.js +701 -725
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-18.js +669 -645
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-19.js +521 -496
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-2.js +29 -26
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-20.js +592 -633
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-21.js +688 -174
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-22.js +210 -0
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-3.js +52 -60
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-4.js +60 -52
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-5.js +65 -83
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-6.js +129 -121
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-7.js +199 -231
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-8.js +296 -264
- package/lib/node_modules/@carbon/icons-react/lib/generated/bucket-9.js +303 -336
- package/lib/node_modules/@carbon/icons-react/lib/index.js +535 -486
- package/lib/settings.d.ts +4 -4
- package/package.json +17 -17
- package/scss/components/PageHeader/_page-header.scss +32 -32
- package/scss/components/Tearsheet/_tearsheet_next.scss +10 -8
- package/telemetry.yml +7 -3
- package/es/components/Card/next/Card.js +0 -180
- package/es/components/Card/next/CardAction.js +0 -57
- package/es/components/Card/next/CardActions.js +0 -112
- package/es/components/Card/next/CardBody.js +0 -47
- package/es/components/Card/next/CardContext.js +0 -31
- package/es/components/Card/next/CardFooter.js +0 -47
- package/es/components/Card/next/CardHeader.js +0 -62
- package/es/components/Card/next/CardHeaderMedia.js +0 -46
- package/es/components/Card/next/CardMedia.js +0 -59
- package/es/components/Card/next/CardTitle.js +0 -121
- package/es/components/Card/next/CardTitleMedia.js +0 -49
- package/es/components/Card/next/index.js +0 -33
- package/lib/components/Card/next/Card.js +0 -182
- package/lib/components/Card/next/CardAction.js +0 -64
- package/lib/components/Card/next/CardActions.js +0 -119
- package/lib/components/Card/next/CardBody.js +0 -54
- package/lib/components/Card/next/CardContext.js +0 -33
- package/lib/components/Card/next/CardFooter.js +0 -54
- package/lib/components/Card/next/CardHeader.js +0 -69
- package/lib/components/Card/next/CardHeaderMedia.js +0 -53
- package/lib/components/Card/next/CardMedia.js +0 -66
- package/lib/components/Card/next/CardTitle.js +0 -128
- package/lib/components/Card/next/CardTitleMedia.js +0 -56
- 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;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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":"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"}
|
|
@@ -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
|
-
|
|
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.
|
|
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<{
|
package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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({
|
package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionBuilderProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
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 [
|
|
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
|
|
74
|
-
*
|
|
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
|
-
*
|
|
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
|
|
134
|
+
popOverSearchThreshold: PropTypes.number,
|
|
119
135
|
/**
|
|
120
|
-
* Optional prop if you want to pass translation to the texts used
|
|
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,
|
|
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
|
-
|
|
67
|
+
document.activeElement?.click();
|
|
68
68
|
evt.preventDefault();
|
|
69
69
|
}
|
|
70
70
|
break;
|
|
71
71
|
case "Enter":
|
|
72
72
|
if (isMultiSelect === "true") {
|
|
73
|
-
|
|
73
|
+
document.activeElement?.click();
|
|
74
74
|
evt.preventDefault();
|
|
75
75
|
} else if (document.activeElement.type !== "button") {
|
|
76
76
|
focusThisField(evt, conditionBuilderRef);
|