@carbon/ibm-products 2.48.0 → 2.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/index-full-carbon.css +29 -14
- 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 +11 -2
- 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 -14
- 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 +29 -14
- 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/APIKeyModal/APIKeyModal.types.d.ts +1 -1
- package/es/components/Card/Card.js +4 -2
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +100 -24
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +30 -27
- package/es/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
- package/es/components/ConditionBuilder/ConditionBuilder.js +13 -9
- package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts +151 -0
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +7 -7
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +2 -3
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +86 -37
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +2 -2
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +10 -9
- package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +4 -1
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +40 -37
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +22 -31
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +6 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +7 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +14 -8
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +2 -3
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +12 -7
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +35 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +16 -9
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +4 -4
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +5 -6
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +50 -40
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +2 -3
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +9 -10
- package/es/components/ConditionBuilder/utils/useDataConfigs.d.ts +18 -0
- package/es/components/ConditionBuilder/utils/useDataConfigs.js +120 -0
- package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -1
- package/es/components/ConditionBuilder/utils/useTranslations.js +4 -1
- package/es/components/ConditionBuilder/utils/util.d.ts +12 -0
- package/es/components/ConditionBuilder/utils/util.js +48 -2
- package/es/components/CreateFullPage/CreateFullPageStep.d.ts +2 -2
- package/es/components/CreateFullPage/index.d.ts +1 -0
- package/es/components/CreateTearsheet/CreateTearsheet.js +3 -4
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +8 -1
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +8 -3
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +20 -11
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +7 -2
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +12 -7
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +18 -16
- package/es/components/Datagrid/types/index.d.ts +1 -0
- package/es/components/Datagrid/useActionsColumn.js +1 -4
- package/es/components/Datagrid/useFiltering.d.ts +1 -0
- package/es/components/Datagrid/useFiltering.js +14 -3
- package/es/components/EditInPlace/EditInPlace.js +7 -5
- package/es/components/NotificationsPanel/NotificationsPanel.d.ts +2 -0
- package/es/components/NotificationsPanel/NotificationsPanel.js +75 -5
- package/es/components/TagOverflow/TagOverflow.d.ts +1 -0
- package/es/components/TagOverflow/TagOverflow.js +8 -2
- package/es/components/TagOverflow/TagOverflowPopover.d.ts +1 -0
- package/es/components/TagOverflow/TagOverflowPopover.js +7 -1
- package/es/components/TagSet/TagSetOverflow.js +1 -1
- package/es/components/Tearsheet/Tearsheet.d.ts +2 -2
- package/es/components/Tearsheet/TearsheetShell.js +7 -3
- package/es/components/Toolbar/ToolbarButton.d.ts +12 -1
- package/es/components/Toolbar/ToolbarButton.js +16 -8
- package/es/global/js/hooks/useFocus.d.ts +1 -1
- package/es/global/js/hooks/useFocus.js +40 -24
- package/es/global/js/utils/keyboardNavigation.d.ts +27 -0
- package/es/global/js/utils/keyboardNavigation.js +37 -0
- package/es/global/js/utils/wrapFocus.d.ts +25 -0
- package/es/global/js/utils/wrapFocus.js +68 -0
- package/lib/components/APIKeyModal/APIKeyModal.types.d.ts +1 -1
- package/lib/components/Card/Card.js +3 -1
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +100 -24
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +36 -33
- package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
- package/lib/components/ConditionBuilder/ConditionBuilder.js +15 -11
- package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts +151 -0
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +15 -15
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +7 -8
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +86 -37
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +4 -4
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +11 -10
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +8 -5
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +47 -44
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +22 -31
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +6 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +7 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +18 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +3 -4
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +13 -8
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +35 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +22 -15
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +15 -15
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +5 -6
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +2 -2
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +60 -50
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +18 -19
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +12 -13
- package/lib/components/ConditionBuilder/utils/useDataConfigs.d.ts +18 -0
- package/lib/components/ConditionBuilder/utils/useDataConfigs.js +124 -0
- package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -1
- package/lib/components/ConditionBuilder/utils/useTranslations.js +4 -1
- package/lib/components/ConditionBuilder/utils/util.d.ts +12 -0
- package/lib/components/ConditionBuilder/utils/util.js +53 -3
- package/lib/components/CreateFullPage/CreateFullPageStep.d.ts +2 -2
- package/lib/components/CreateFullPage/index.d.ts +1 -0
- package/lib/components/CreateTearsheet/CreateTearsheet.js +3 -4
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +8 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +8 -3
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +19 -10
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +6 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +11 -6
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +18 -16
- package/lib/components/Datagrid/types/index.d.ts +1 -0
- package/lib/components/Datagrid/useActionsColumn.js +1 -4
- package/lib/components/Datagrid/useFiltering.d.ts +1 -0
- package/lib/components/Datagrid/useFiltering.js +13 -1
- package/lib/components/EditInPlace/EditInPlace.js +7 -5
- package/lib/components/NotificationsPanel/NotificationsPanel.d.ts +2 -0
- package/lib/components/NotificationsPanel/NotificationsPanel.js +74 -4
- package/lib/components/TagOverflow/TagOverflow.d.ts +1 -0
- package/lib/components/TagOverflow/TagOverflow.js +8 -2
- package/lib/components/TagOverflow/TagOverflowPopover.d.ts +1 -0
- package/lib/components/TagOverflow/TagOverflowPopover.js +7 -1
- package/lib/components/TagSet/TagSetOverflow.js +1 -1
- package/lib/components/Tearsheet/Tearsheet.d.ts +2 -2
- package/lib/components/Tearsheet/TearsheetShell.js +6 -2
- package/lib/components/Toolbar/ToolbarButton.d.ts +12 -1
- package/lib/components/Toolbar/ToolbarButton.js +15 -6
- package/lib/global/js/hooks/useFocus.d.ts +1 -1
- package/lib/global/js/hooks/useFocus.js +40 -24
- package/lib/global/js/utils/keyboardNavigation.d.ts +27 -0
- package/lib/global/js/utils/keyboardNavigation.js +43 -0
- package/lib/global/js/utils/wrapFocus.d.ts +25 -0
- package/lib/global/js/utils/wrapFocus.js +73 -0
- package/package.json +4 -4
- package/scss/components/ConditionBuilder/_condition-builder.scss +1 -1
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +33 -22
- package/scss/components/Datagrid/styles/_datagrid.scss +7 -0
- package/scss/components/Datagrid/styles/_useActionsColumn.scss +4 -0
- package/scss/components/EditInPlace/_edit-in-place.scss +2 -2
- package/telemetry.yml +15 -6
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +0 -28
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +0 -123
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +0 -28
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +0 -131
package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts
CHANGED
@@ -1,50 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
conditions: {
|
8
|
-
property: undefined;
|
9
|
-
operator: string;
|
10
|
-
value: string;
|
11
|
-
popoverToOpen: string;
|
12
|
-
id: any;
|
13
|
-
}[];
|
14
|
-
}[];
|
15
|
-
}
|
16
|
-
export const ConditionBuilderContext: React.Context<any>;
|
17
|
-
export function ConditionBuilderProvider(props: any): import("react/jsx-runtime").JSX.Element;
|
18
|
-
export namespace ConditionBuilderProvider {
|
19
|
-
namespace propTypes {
|
20
|
-
let children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
|
21
|
-
let conditionBuilderRef: PropTypes.Requireable<object>;
|
22
|
-
let getOptions: PropTypes.Requireable<(...args: any[]) => any>;
|
23
|
-
let inputConfig: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
24
|
-
properties: PropTypes.Requireable<(PropTypes.InferProps<{
|
25
|
-
id: PropTypes.Validator<string>;
|
26
|
-
label: PropTypes.Validator<string>;
|
27
|
-
icon: PropTypes.Requireable<object>;
|
28
|
-
type: PropTypes.Validator<string>;
|
29
|
-
config: PropTypes.Requireable<PropTypes.InferProps<{
|
30
|
-
options: PropTypes.Requireable<(PropTypes.InferProps<{
|
31
|
-
id: PropTypes.Validator<string>;
|
32
|
-
label: PropTypes.Validator<string>;
|
33
|
-
icon: PropTypes.Requireable<object>;
|
34
|
-
}> | null | undefined)[]>;
|
35
|
-
component: PropTypes.Requireable<(...args: any[]) => any>;
|
36
|
-
operators: PropTypes.Requireable<(PropTypes.InferProps<{
|
37
|
-
id: PropTypes.Validator<string>;
|
38
|
-
label: PropTypes.Validator<string>;
|
39
|
-
}> | null | undefined)[]>;
|
40
|
-
long: PropTypes.Requireable<boolean>;
|
41
|
-
}>>;
|
42
|
-
}> | null | undefined)[]>;
|
43
|
-
}>>>;
|
44
|
-
let popOverSearchThreshold: PropTypes.Validator<number>;
|
45
|
-
let translateWithId: PropTypes.Requireable<(...args: any[]) => any>;
|
46
|
-
let variant: PropTypes.Validator<string>;
|
47
|
-
}
|
48
|
-
}
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
49
7
|
import React from 'react';
|
50
|
-
import
|
8
|
+
import { ConditionBuilderContextProps, ConditionBuilderState } from '../ConditionBuilder.types';
|
9
|
+
export declare const emptyState: ConditionBuilderState;
|
10
|
+
export declare const ConditionBuilderContext: React.Context<ConditionBuilderContextProps>;
|
11
|
+
export declare const ConditionBuilderProvider: React.FC<ConditionBuilderContextProps>;
|
@@ -14,7 +14,7 @@ var emptyState = {
|
|
14
14
|
operator: 'or',
|
15
15
|
groups: [{
|
16
16
|
groupOperator: 'and',
|
17
|
-
statement: '
|
17
|
+
statement: 'ifAll',
|
18
18
|
id: uuidv4(),
|
19
19
|
conditions: [{
|
20
20
|
property: undefined,
|
@@ -25,23 +25,11 @@ var emptyState = {
|
|
25
25
|
}]
|
26
26
|
}]
|
27
27
|
};
|
28
|
-
var ConditionBuilderContext = /*#__PURE__*/createContext(
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
// ;
|
34
|
-
// return {
|
35
|
-
// ...state,
|
36
|
-
// ...action.payload
|
37
|
-
// }
|
38
|
-
// break;
|
39
|
-
// default:
|
40
|
-
// return state;
|
41
|
-
// }
|
42
|
-
|
43
|
-
// }
|
44
|
-
|
28
|
+
var ConditionBuilderContext = /*#__PURE__*/createContext({
|
29
|
+
rootState: {
|
30
|
+
groups: []
|
31
|
+
}
|
32
|
+
});
|
45
33
|
var ConditionBuilderProvider = function ConditionBuilderProvider(props) {
|
46
34
|
var _useState = useState({
|
47
35
|
groups: []
|
@@ -53,19 +41,20 @@ var ConditionBuilderProvider = function ConditionBuilderProvider(props) {
|
|
53
41
|
_useState4 = _slicedToArray(_useState3, 2),
|
54
42
|
actionState = _useState4[0],
|
55
43
|
setActionState = _useState4[1];
|
44
|
+
var contextValue = {
|
45
|
+
rootState: rootState,
|
46
|
+
setRootState: setRootState,
|
47
|
+
actionState: actionState,
|
48
|
+
setActionState: setActionState,
|
49
|
+
inputConfig: props.inputConfig,
|
50
|
+
popOverSearchThreshold: props.popOverSearchThreshold,
|
51
|
+
getOptions: props.getOptions,
|
52
|
+
variant: props.variant,
|
53
|
+
translateWithId: props.translateWithId,
|
54
|
+
conditionBuilderRef: props.conditionBuilderRef
|
55
|
+
};
|
56
56
|
return /*#__PURE__*/React__default.createElement(ConditionBuilderContext.Provider, {
|
57
|
-
value:
|
58
|
-
rootState: rootState,
|
59
|
-
setRootState: setRootState,
|
60
|
-
actionState: actionState,
|
61
|
-
setActionState: setActionState,
|
62
|
-
inputConfig: props.inputConfig,
|
63
|
-
popOverSearchThreshold: props.popOverSearchThreshold,
|
64
|
-
getOptions: props.getOptions,
|
65
|
-
variant: props.variant,
|
66
|
-
translateWithId: props.translateWithId,
|
67
|
-
conditionBuilderRef: props.conditionBuilderRef
|
68
|
-
}
|
57
|
+
value: contextValue
|
69
58
|
},
|
70
59
|
// eslint-disable-next-line react/prop-types
|
71
60
|
props.children);
|
@@ -78,6 +67,7 @@ ConditionBuilderProvider.propTypes = {
|
|
78
67
|
/**
|
79
68
|
* ref of condition builder
|
80
69
|
*/
|
70
|
+
/**@ts-ignore */
|
81
71
|
conditionBuilderRef: PropTypes.object,
|
82
72
|
/**
|
83
73
|
* This is an optional callback function that will be triggered when options array is not passed in the inputConfig against a property.
|
@@ -93,6 +83,7 @@ ConditionBuilderProvider.propTypes = {
|
|
93
83
|
* This is a mandatory prop that defines the input to the condition builder.
|
94
84
|
|
95
85
|
*/
|
86
|
+
/**@ts-ignore */
|
96
87
|
inputConfig: PropTypes.shape({
|
97
88
|
properties: PropTypes.arrayOf(PropTypes.shape({
|
98
89
|
id: PropTypes.string.isRequired,
|
@@ -126,7 +117,7 @@ ConditionBuilderProvider.propTypes = {
|
|
126
117
|
*/
|
127
118
|
translateWithId: PropTypes.func,
|
128
119
|
/**
|
129
|
-
* Provide the condition builder variant:
|
120
|
+
* Provide the condition builder variant: Non-Hierarchical/ Hierarchical
|
130
121
|
*/
|
131
122
|
variant: PropTypes.string.isRequired
|
132
123
|
};
|
@@ -1,9 +1,14 @@
|
|
1
1
|
export namespace translationsObject {
|
2
2
|
let ifText: string;
|
3
|
+
let unlessText: string;
|
3
4
|
let excl_if: string;
|
4
5
|
let and: string;
|
5
6
|
let or: string;
|
6
7
|
let is: string;
|
8
|
+
let ifAll: string;
|
9
|
+
let ifAny: string;
|
10
|
+
let unlessAll: string;
|
11
|
+
let unlessAny: string;
|
7
12
|
let greater: string;
|
8
13
|
let greaterEqual: string;
|
9
14
|
let lower: string;
|
@@ -42,4 +47,5 @@ export namespace translationsObject {
|
|
42
47
|
let addPropertyText: string;
|
43
48
|
let addOperatorText: string;
|
44
49
|
let addValueText: string;
|
50
|
+
let conditionBuilderHierarchicalText: string;
|
45
51
|
}
|
@@ -7,10 +7,15 @@
|
|
7
7
|
|
8
8
|
var translationsObject = {
|
9
9
|
ifText: 'if',
|
10
|
+
unlessText: 'unless',
|
10
11
|
excl_if: 'excl.if',
|
11
12
|
and: 'and',
|
12
13
|
or: 'or',
|
13
14
|
is: 'is',
|
15
|
+
ifAll: 'if all',
|
16
|
+
ifAny: 'if any',
|
17
|
+
unlessAll: 'unless all',
|
18
|
+
unlessAny: 'unless any',
|
14
19
|
greater: 'is greater than',
|
15
20
|
greaterEqual: 'is greater than or equal to',
|
16
21
|
lower: 'is lower than',
|
@@ -48,7 +53,8 @@ var translationsObject = {
|
|
48
53
|
conditionHeadingText: 'Condition',
|
49
54
|
addPropertyText: 'Add property',
|
50
55
|
addOperatorText: 'Add operator',
|
51
|
-
addValueText: 'Add value'
|
56
|
+
addValueText: 'Add value',
|
57
|
+
conditionBuilderHierarchicalText: 'Condition Builder Hierarchical'
|
52
58
|
};
|
53
59
|
|
54
60
|
export { translationsObject };
|
@@ -1,32 +1,82 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
type: any;
|
9
|
-
showToolTip: any;
|
10
|
-
condition: any;
|
11
|
-
popOverClassName: any;
|
12
|
-
config: any;
|
13
|
-
renderChildren: any;
|
14
|
-
onChange: any;
|
15
|
-
}): import("react/jsx-runtime").JSX.Element;
|
16
|
-
export namespace ConditionBuilderItem {
|
17
|
-
namespace propTypes {
|
18
|
-
let children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
19
|
-
let className: PropTypes.Requireable<string>;
|
20
|
-
let condition: PropTypes.Requireable<object>;
|
21
|
-
let config: PropTypes.Requireable<object>;
|
22
|
-
let label: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
|
23
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
24
|
-
let popOverClassName: PropTypes.Requireable<string>;
|
25
|
-
let renderChildren: PropTypes.Requireable<(...args: any[]) => any>;
|
26
|
-
let renderIcon: PropTypes.Requireable<object>;
|
27
|
-
let showToolTip: PropTypes.Requireable<boolean>;
|
28
|
-
let title: PropTypes.Requireable<string>;
|
29
|
-
let type: PropTypes.Requireable<string>;
|
30
|
-
}
|
31
|
-
}
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import React, { PropsWithChildren, ReactNode, RefObject } from 'react';
|
32
8
|
import PropTypes from 'prop-types';
|
9
|
+
import { CarbonIconType } from '@carbon/react/icons';
|
10
|
+
import { Condition, PropertyConfig, Action, Option } from '../ConditionBuilder.types';
|
11
|
+
interface ConditionBuilderItemProps extends PropsWithChildren {
|
12
|
+
className?: string;
|
13
|
+
label?: string | Option | Option[];
|
14
|
+
renderIcon?: CarbonIconType;
|
15
|
+
title?: string;
|
16
|
+
showToolTip?: boolean;
|
17
|
+
popOverClassName?: string;
|
18
|
+
type?: string;
|
19
|
+
condition?: Action & Condition;
|
20
|
+
config?: PropertyConfig;
|
21
|
+
renderChildren?: (ref: RefObject<HTMLDivElement>) => ReactNode;
|
22
|
+
onChange?: (val: string) => void;
|
23
|
+
tabIndex?: number;
|
24
|
+
onMouseEnter?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
25
|
+
onMouseLeave?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
26
|
+
onFocus?: React.FocusEventHandler<HTMLButtonElement>;
|
27
|
+
onBlur?: React.FocusEventHandler<HTMLButtonElement>;
|
28
|
+
}
|
29
|
+
export declare const ConditionBuilderItem: {
|
30
|
+
({ children, className, label, renderIcon, title, type, showToolTip, condition, popOverClassName, config, renderChildren, onChange, ...rest }: ConditionBuilderItemProps): import("react/jsx-runtime").JSX.Element;
|
31
|
+
propTypes: {
|
32
|
+
/**
|
33
|
+
* provide the contents of the popover
|
34
|
+
*/
|
35
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
36
|
+
/**
|
37
|
+
* Provide an optional class to be applied to the containing node.
|
38
|
+
*/
|
39
|
+
className: PropTypes.Requireable<string>;
|
40
|
+
/**
|
41
|
+
* current condition state object
|
42
|
+
*/
|
43
|
+
condition: PropTypes.Requireable<object>;
|
44
|
+
/**
|
45
|
+
* this is the config object again the current property from inputConfig
|
46
|
+
*/
|
47
|
+
config: PropTypes.Requireable<object>;
|
48
|
+
/**
|
49
|
+
* text to be displayed in the field
|
50
|
+
*/
|
51
|
+
label: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
|
52
|
+
/**
|
53
|
+
* callback to update the current condition of the state tree
|
54
|
+
*/
|
55
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
56
|
+
/**
|
57
|
+
* class name for popover
|
58
|
+
*/
|
59
|
+
popOverClassName: PropTypes.Requireable<string>;
|
60
|
+
/**
|
61
|
+
* callback prop that returns the jsx for children
|
62
|
+
*/
|
63
|
+
renderChildren: PropTypes.Requireable<(...args: any[]) => any>;
|
64
|
+
/**
|
65
|
+
* Optional prop to allow overriding the icon rendering.
|
66
|
+
*/
|
67
|
+
renderIcon: PropTypes.Requireable<object>;
|
68
|
+
/**
|
69
|
+
* show tool tip
|
70
|
+
*/
|
71
|
+
showToolTip: PropTypes.Requireable<boolean>;
|
72
|
+
/**
|
73
|
+
* title of the popover
|
74
|
+
*/
|
75
|
+
title: PropTypes.Requireable<string>;
|
76
|
+
/**
|
77
|
+
* input type
|
78
|
+
*/
|
79
|
+
type: PropTypes.Requireable<string>;
|
80
|
+
};
|
81
|
+
};
|
82
|
+
export {};
|
@@ -10,11 +10,11 @@ import React__default, { useRef, useState, useContext, useEffect } from 'react';
|
|
10
10
|
import { Popover, PopoverContent, Layer } from '@carbon/react';
|
11
11
|
import PropTypes from '../../../node_modules/prop-types/index.js';
|
12
12
|
import { Add } from '@carbon/react/icons';
|
13
|
-
import { blockClass, valueRenderers } from '../ConditionBuilderContext/DataConfigs.js';
|
14
13
|
import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
|
15
14
|
import { useTranslations } from '../utils/useTranslations.js';
|
16
15
|
import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
|
17
16
|
import { handleKeyDownForPopover } from '../utils/handleKeyboardEvents.js';
|
17
|
+
import { blockClass, getValue } from '../utils/util.js';
|
18
18
|
|
19
19
|
var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "condition", "popOverClassName", "config", "renderChildren", "onChange"];
|
20
20
|
var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
@@ -36,7 +36,13 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
|
36
36
|
_useState2 = _slicedToArray(_useState, 2),
|
37
37
|
open = _useState2[0],
|
38
38
|
setOpen = _useState2[1];
|
39
|
-
var
|
39
|
+
var statementIdMap = {
|
40
|
+
ifAll: 'if',
|
41
|
+
ifAny: 'if',
|
42
|
+
unlessAll: 'unless',
|
43
|
+
unlessAny: 'unless'
|
44
|
+
};
|
45
|
+
var _useTranslations = useTranslations(['invalidText', 'addConditionText', 'addPropertyText', 'addOperatorText', 'addValueText', label], statementIdMap),
|
40
46
|
_useTranslations2 = _slicedToArray(_useTranslations, 6),
|
41
47
|
invalidText = _useTranslations2[0],
|
42
48
|
addConditionText = _useTranslations2[1],
|
@@ -56,7 +62,7 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
|
56
62
|
isInvalid: true
|
57
63
|
};
|
58
64
|
}
|
59
|
-
var propertyId = rest['data-name'] == 'valueField' && type ?
|
65
|
+
var propertyId = rest['data-name'] == 'valueField' && type ? getValue[type](label, config) : labelText;
|
60
66
|
return {
|
61
67
|
isInvalid: false,
|
62
68
|
propertyLabel: propertyId
|
@@ -76,7 +82,7 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
|
76
82
|
if (condition.popoverToOpen && currentField !== condition.popoverToOpen) {
|
77
83
|
// close the previous popover
|
78
84
|
closePopover();
|
79
|
-
} else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'oneOf') {
|
85
|
+
} else if (currentField == 'valueField' && type == 'option' && (condition === null || condition === void 0 ? void 0 : condition.operator) !== 'oneOf') {
|
80
86
|
//close the current popover if the field is valueField and is a single select dropdown. For all other inputs ,popover need to be open on value changes.
|
81
87
|
closePopover();
|
82
88
|
}
|
@@ -94,7 +100,8 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
|
94
100
|
useEffect(function () {
|
95
101
|
//this will focus the first input field in the popover
|
96
102
|
if (open && popoverRef.current) {
|
97
|
-
var
|
103
|
+
var _popoverRef$current;
|
104
|
+
var firstFocusableElement = popoverRef === null || popoverRef === void 0 || (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.querySelector('input,textarea');
|
98
105
|
if (firstFocusableElement) {
|
99
106
|
setTimeout(function () {
|
100
107
|
return firstFocusableElement.focus();
|
@@ -155,10 +162,9 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
|
155
162
|
className: className,
|
156
163
|
"aria-haspopup": true,
|
157
164
|
"aria-expanded": open,
|
158
|
-
renderIcon: renderIcon ? renderIcon : label == undefined ? Add :
|
165
|
+
renderIcon: renderIcon ? renderIcon : label == undefined ? Add : undefined,
|
159
166
|
showToolTip: showToolTip,
|
160
|
-
isInvalid: isInvalid
|
161
|
-
condition: condition
|
167
|
+
isInvalid: isInvalid
|
162
168
|
}, rest)), open && /*#__PURE__*/React__default.createElement(PopoverContent, {
|
163
169
|
className: "".concat(blockClass, "__popover-content-wrapper"),
|
164
170
|
role: "dialog",
|
@@ -1,13 +1,28 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
namespace propTypes {
|
8
|
-
let conditionState: PropTypes.Requireable<object>;
|
9
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
10
|
-
let parentRef: PropTypes.Requireable<object>;
|
11
|
-
}
|
12
|
-
}
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
13
7
|
import PropTypes from 'prop-types';
|
8
|
+
export declare const ConditionBuilderItemDate: {
|
9
|
+
({ conditionState, onChange, parentRef, }: {
|
10
|
+
conditionState: any;
|
11
|
+
onChange: any;
|
12
|
+
parentRef: any;
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
14
|
+
propTypes: {
|
15
|
+
/**
|
16
|
+
* current condition object
|
17
|
+
*/
|
18
|
+
conditionState: PropTypes.Requireable<object>;
|
19
|
+
/**
|
20
|
+
* callback to update state oin date change
|
21
|
+
*/
|
22
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
23
|
+
/**
|
24
|
+
* reference to the popover node
|
25
|
+
*/
|
26
|
+
parentRef: PropTypes.Requireable<object>;
|
27
|
+
};
|
28
|
+
};
|
@@ -8,16 +8,15 @@
|
|
8
8
|
import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
9
|
import React__default, { useRef } from 'react';
|
10
10
|
import { DatePicker, DatePickerInput } from '@carbon/react';
|
11
|
-
import { pkg } from '../../../../settings.js';
|
12
11
|
import PropTypes from '../../../../node_modules/prop-types/index.js';
|
13
12
|
import { useTranslations } from '../../utils/useTranslations.js';
|
13
|
+
import { blockClass } from '../../utils/util.js';
|
14
14
|
|
15
|
-
var blockClass = "".concat(pkg.prefix, "--condition-builder");
|
16
15
|
var ConditionBuilderItemDate = function ConditionBuilderItemDate(_ref) {
|
17
16
|
var conditionState = _ref.conditionState,
|
18
17
|
onChange = _ref.onChange,
|
19
18
|
parentRef = _ref.parentRef;
|
20
|
-
var DatePickerInputRef = useRef();
|
19
|
+
var DatePickerInputRef = useRef(null);
|
21
20
|
var _useTranslations = useTranslations(['startText', 'endText']),
|
22
21
|
_useTranslations2 = _slicedToArray(_useTranslations, 2),
|
23
22
|
startText = _useTranslations2[0],
|
@@ -1,13 +1,31 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
namespace propTypes {
|
8
|
-
let conditionState: PropTypes.Requireable<object>;
|
9
|
-
let config: PropTypes.Requireable<object>;
|
10
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
11
|
-
}
|
12
|
-
}
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
13
7
|
import PropTypes from 'prop-types';
|
8
|
+
import { Condition, PropertyConfigNumber } from '../../ConditionBuilder.types';
|
9
|
+
interface ConditionBuilderItemNumberProps {
|
10
|
+
conditionState: Condition;
|
11
|
+
config: PropertyConfigNumber['config'];
|
12
|
+
onChange: (value: string) => void;
|
13
|
+
}
|
14
|
+
export declare const ConditionBuilderItemNumber: {
|
15
|
+
({ conditionState, config, onChange, }: ConditionBuilderItemNumberProps): import("react/jsx-runtime").JSX.Element;
|
16
|
+
propTypes: {
|
17
|
+
/**
|
18
|
+
* current condition object
|
19
|
+
*/
|
20
|
+
conditionState: PropTypes.Requireable<object>;
|
21
|
+
/**
|
22
|
+
* current config object that this property is part of
|
23
|
+
*/
|
24
|
+
config: PropTypes.Requireable<object>;
|
25
|
+
/**
|
26
|
+
* callback to update state oin date change
|
27
|
+
*/
|
28
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
29
|
+
};
|
30
|
+
};
|
31
|
+
export {};
|
@@ -9,8 +9,8 @@ import { slicedToArray as _slicedToArray, extends as _extends } from '../../../.
|
|
9
9
|
import React__default from 'react';
|
10
10
|
import { NumberInput } from '@carbon/react';
|
11
11
|
import PropTypes from '../../../../node_modules/prop-types/index.js';
|
12
|
-
import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
|
13
12
|
import { useTranslations } from '../../utils/useTranslations.js';
|
13
|
+
import { blockClass } from '../../utils/util.js';
|
14
14
|
|
15
15
|
var ConditionBuilderItemNumber = function ConditionBuilderItemNumber(_ref) {
|
16
16
|
var _conditionState$prope;
|
@@ -30,25 +30,30 @@ var ConditionBuilderItemNumber = function ConditionBuilderItemNumber(_ref) {
|
|
30
30
|
}
|
31
31
|
};
|
32
32
|
var checkIfValid = function checkIfValid(value) {
|
33
|
-
if (
|
33
|
+
if (config.max !== undefined && config.min === undefined && value > config.max) {
|
34
|
+
return false;
|
35
|
+
}
|
36
|
+
if (config.min !== undefined && config.max === undefined && value < config.min) {
|
37
|
+
return false;
|
38
|
+
}
|
39
|
+
if (config.max !== undefined && config.min !== undefined && (value > config.max || value < config.min)) {
|
34
40
|
return false;
|
35
41
|
}
|
36
42
|
return true;
|
37
43
|
};
|
38
44
|
var getDefaultValue = function getDefaultValue() {
|
39
|
-
var _conditionState$value
|
40
|
-
return (
|
45
|
+
var _split$, _conditionState$value;
|
46
|
+
return (_split$ = (_conditionState$value = conditionState.value) === null || _conditionState$value === void 0 || (_conditionState$value = _conditionState$value.split(' ')) === null || _conditionState$value === void 0 ? void 0 : _conditionState$value[0]) !== null && _split$ !== void 0 ? _split$ : '';
|
41
47
|
};
|
42
48
|
return /*#__PURE__*/React__default.createElement("div", {
|
43
49
|
className: "".concat(blockClass, "__item-number")
|
44
|
-
}, /*#__PURE__*/React__default.createElement(NumberInput, _extends({
|
50
|
+
}, /*#__PURE__*/React__default.createElement(NumberInput, _extends({}, config, {
|
45
51
|
label: conditionState.property,
|
46
52
|
hideLabel: true,
|
47
53
|
id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
|
48
54
|
invalidText: invalidNumberWarnText,
|
49
55
|
allowEmpty: true,
|
50
|
-
onChange: onChangeHandler
|
51
|
-
}, config, {
|
56
|
+
onChange: onChangeHandler,
|
52
57
|
defaultValue: getDefaultValue()
|
53
58
|
})));
|
54
59
|
};
|
@@ -1,13 +1,36 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
namespace propTypes {
|
8
|
-
let conditionState: PropTypes.Requireable<object>;
|
9
|
-
let config: PropTypes.Requireable<object>;
|
10
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
11
|
-
}
|
12
|
-
}
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
13
7
|
import PropTypes from 'prop-types';
|
8
|
+
import { PropertyConfigOption } from '../../ConditionBuilder.types';
|
9
|
+
interface ItemOptionProps {
|
10
|
+
conditionState: {
|
11
|
+
label?: string;
|
12
|
+
value?: string;
|
13
|
+
};
|
14
|
+
config: PropertyConfigOption['config'] & {
|
15
|
+
isStatement?: boolean;
|
16
|
+
};
|
17
|
+
onChange: (value: string, e: Event) => void;
|
18
|
+
}
|
19
|
+
export declare const ItemOption: {
|
20
|
+
({ conditionState, config, onChange, }: ItemOptionProps): import("react/jsx-runtime").JSX.Element | undefined;
|
21
|
+
propTypes: {
|
22
|
+
/**
|
23
|
+
* current condition object
|
24
|
+
*/
|
25
|
+
conditionState: PropTypes.Requireable<object>;
|
26
|
+
/**
|
27
|
+
* current config object that this property is part of
|
28
|
+
*/
|
29
|
+
config: PropTypes.Requireable<object>;
|
30
|
+
/**
|
31
|
+
* callback to update state oin date change
|
32
|
+
*/
|
33
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
34
|
+
};
|
35
|
+
};
|
36
|
+
export {};
|
package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js
CHANGED
@@ -11,8 +11,8 @@ import { Search } from '@carbon/react';
|
|
11
11
|
import { Checkmark } from '@carbon/react/icons';
|
12
12
|
import PropTypes from '../../../../node_modules/prop-types/index.js';
|
13
13
|
import { ConditionBuilderContext } from '../../ConditionBuilderContext/ConditionBuilderProvider.js';
|
14
|
-
import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
|
15
14
|
import { useTranslations } from '../../utils/useTranslations.js';
|
15
|
+
import { blockClass } from '../../utils/util.js';
|
16
16
|
|
17
17
|
var ItemOption = function ItemOption(_ref) {
|
18
18
|
var _ref$conditionState = _ref.conditionState,
|
@@ -22,7 +22,7 @@ var ItemOption = function ItemOption(_ref) {
|
|
22
22
|
onChange = _ref.onChange;
|
23
23
|
var _useContext = useContext(ConditionBuilderContext),
|
24
24
|
popOverSearchThreshold = _useContext.popOverSearchThreshold;
|
25
|
-
var contentRef = useRef();
|
25
|
+
var contentRef = useRef(null);
|
26
26
|
var _useTranslations = useTranslations(['propertyText', 'clearSearchText']),
|
27
27
|
_useTranslations2 = _slicedToArray(_useTranslations, 2),
|
28
28
|
propertyText = _useTranslations2[0],
|
@@ -33,14 +33,16 @@ var ItemOption = function ItemOption(_ref) {
|
|
33
33
|
searchValue = _useState2[0],
|
34
34
|
setSearchValue = _useState2[1];
|
35
35
|
var selection = conditionState.value;
|
36
|
-
var filteredItems = allOptions === null || allOptions === void 0 ? void 0 : allOptions.filter(function (opt) {
|
37
|
-
|
38
|
-
|
36
|
+
var filteredItems = searchValue ? allOptions === null || allOptions === void 0 ? void 0 : allOptions.filter(function (opt) {
|
37
|
+
var _opt$label;
|
38
|
+
return (_opt$label = opt.label) === null || _opt$label === void 0 ? void 0 : _opt$label.toLowerCase().includes(searchValue.toLowerCase());
|
39
|
+
}) : allOptions;
|
39
40
|
useEffect(function () {
|
40
41
|
//this will focus the first input field in the popover
|
41
42
|
|
42
43
|
if (contentRef.current) {
|
43
|
-
var
|
44
|
+
var _contentRef$current;
|
45
|
+
var firstFocusableElement = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.querySelector('input, button,li');
|
44
46
|
if (firstFocusableElement) {
|
45
47
|
firstFocusableElement.focus();
|
46
48
|
}
|
@@ -54,7 +56,12 @@ var ItemOption = function ItemOption(_ref) {
|
|
54
56
|
setSearchValue(value);
|
55
57
|
};
|
56
58
|
var getAriaLabel = function getAriaLabel() {
|
57
|
-
return conditionState.label ? conditionState.label :
|
59
|
+
return conditionState.label ? conditionState.label : propertyText;
|
60
|
+
};
|
61
|
+
var getStatementContent = function getStatementContent(option) {
|
62
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
63
|
+
className: "".concat(blockClass, "__statement_wrapper")
|
64
|
+
}, /*#__PURE__*/React__default.createElement("div", null, option.text1, " (", option.connector, ")"), /*#__PURE__*/React__default.createElement("div", null, option.text2));
|
58
65
|
};
|
59
66
|
if (!allOptions) {
|
60
67
|
return;
|
@@ -62,7 +69,7 @@ var ItemOption = function ItemOption(_ref) {
|
|
62
69
|
return /*#__PURE__*/React__default.createElement("div", {
|
63
70
|
className: "".concat(blockClass, "__item-option"),
|
64
71
|
ref: contentRef
|
65
|
-
}, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
|
72
|
+
}, popOverSearchThreshold && allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
|
66
73
|
className: "".concat(blockClass, "__item-option__search")
|
67
74
|
}, /*#__PURE__*/React__default.createElement(Search, {
|
68
75
|
size: "sm",
|
@@ -91,7 +98,7 @@ var ItemOption = function ItemOption(_ref) {
|
|
91
98
|
className: "".concat(blockClass, "__item-option__option-content")
|
92
99
|
}, /*#__PURE__*/React__default.createElement("span", {
|
93
100
|
className: "".concat(blockClass, "__item-option__option-label")
|
94
|
-
}, Icon && /*#__PURE__*/React__default.createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
|
101
|
+
}, Icon && /*#__PURE__*/React__default.createElement(Icon, null), config.isStatement ? getStatementContent(option) : option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
|
95
102
|
className: "".concat(blockClass, "__checkmark")
|
96
103
|
})));
|
97
104
|
})));
|