@reltio/components 1.4.1731 → 1.4.1733

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 (43) hide show
  1. package/cjs/components/AttributesFiltersBuilder/AttributesFiltersBuilder.d.ts +7 -3
  2. package/cjs/components/AttributesFiltersBuilder/AttributesFiltersBuilder.js +34 -19
  3. package/cjs/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.js +7 -5
  4. package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.js +3 -2
  5. package/cjs/components/AttributesFiltersBuilder/components/ValuesEditor/ValuesEditor.js +5 -3
  6. package/cjs/components/AttributesFiltersBuilder/components/ValuesEditor/styles.js +1 -1
  7. package/cjs/components/AttributesFiltersBuilder/helpers.d.ts +5 -4
  8. package/cjs/components/AttributesFiltersBuilder/helpers.js +33 -19
  9. package/cjs/components/AttributesFiltersBuilder/types.d.ts +3 -2
  10. package/cjs/components/AttributesFiltersButton/AttributesFiltersButton.d.ts +10 -3
  11. package/cjs/components/AttributesFiltersButton/AttributesFiltersButton.js +10 -6
  12. package/cjs/components/BasicAttributeSelector/styles.js +1 -0
  13. package/cjs/components/LogicOperator/LogicOperator.d.ts +9 -0
  14. package/cjs/components/LogicOperator/LogicOperator.js +29 -0
  15. package/cjs/components/LogicOperator/styles.d.ts +2 -0
  16. package/cjs/components/LogicOperator/styles.js +15 -0
  17. package/cjs/components/ReltioGridLayout/ReltioGridLayout.d.ts +3 -6
  18. package/cjs/components/ReltioGridLayout/ReltioGridLayout.js +19 -1
  19. package/cjs/components/index.d.ts +1 -0
  20. package/cjs/components/index.js +3 -1
  21. package/cjs/types/index.d.ts +16 -13
  22. package/esm/components/AttributesFiltersBuilder/AttributesFiltersBuilder.d.ts +7 -3
  23. package/esm/components/AttributesFiltersBuilder/AttributesFiltersBuilder.js +36 -21
  24. package/esm/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.js +9 -7
  25. package/esm/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.js +3 -2
  26. package/esm/components/AttributesFiltersBuilder/components/ValuesEditor/ValuesEditor.js +5 -3
  27. package/esm/components/AttributesFiltersBuilder/components/ValuesEditor/styles.js +1 -1
  28. package/esm/components/AttributesFiltersBuilder/helpers.d.ts +5 -4
  29. package/esm/components/AttributesFiltersBuilder/helpers.js +34 -20
  30. package/esm/components/AttributesFiltersBuilder/types.d.ts +3 -2
  31. package/esm/components/AttributesFiltersButton/AttributesFiltersButton.d.ts +10 -3
  32. package/esm/components/AttributesFiltersButton/AttributesFiltersButton.js +10 -6
  33. package/esm/components/BasicAttributeSelector/styles.js +1 -0
  34. package/esm/components/LogicOperator/LogicOperator.d.ts +9 -0
  35. package/esm/components/LogicOperator/LogicOperator.js +24 -0
  36. package/esm/components/LogicOperator/styles.d.ts +2 -0
  37. package/esm/components/LogicOperator/styles.js +13 -0
  38. package/esm/components/ReltioGridLayout/ReltioGridLayout.d.ts +3 -6
  39. package/esm/components/ReltioGridLayout/ReltioGridLayout.js +21 -3
  40. package/esm/components/index.d.ts +1 -0
  41. package/esm/components/index.js +1 -0
  42. package/esm/types/index.d.ts +16 -13
  43. package/package.json +2 -2
@@ -1,13 +1,17 @@
1
1
  import React from 'react';
2
- import { SearchFilter, AttributeType } from '@reltio/mdm-sdk';
2
+ import { SearchFilter } from '@reltio/mdm-sdk';
3
+ import { AttributeSelectionInfo, AttributesFilterComponentsClasses, AttributesTypesGroup } from '../../types';
3
4
  type Props = {
5
+ classes?: AttributesFilterComponentsClasses;
4
6
  filters: SearchFilter[];
5
7
  onChange: (filters: SearchFilter[]) => void;
6
- attributeTypes: AttributeType[];
8
+ attributesTypesGroups: AttributesTypesGroup[];
7
9
  components?: {
8
10
  ValuesEditor?: React.ElementType;
9
11
  FilterSelector?: React.ElementType;
12
+ LogicalOperator?: React.ElementType;
10
13
  };
14
+ onFilterAttributeChange?: (attrSelectInfo: AttributeSelectionInfo) => void;
11
15
  };
12
- declare const _default: React.MemoExoticComponent<({ attributeTypes, filters, onChange, components }: Props) => JSX.Element>;
16
+ declare const _default: React.MemoExoticComponent<({ classes, attributesTypesGroups, filters, onChange, components, onFilterAttributeChange }: Props) => JSX.Element>;
13
17
  export default _default;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -42,30 +53,38 @@ var helpers_1 = require("./helpers");
42
53
  var FilterSelector_1 = __importDefault(require("./components/FilterSelector/FilterSelector"));
43
54
  var RowActions_1 = __importDefault(require("./components/RowActions/RowActions"));
44
55
  var QueryBuilderRowsGroup_1 = __importDefault(require("../QueryBuilderRowsGroup/QueryBuilderRowsGroup"));
56
+ var contexts_1 = require("../../contexts");
57
+ var core_1 = require("../../core");
45
58
  var AttributeSelector_1 = __importDefault(require("./components/AttributeSelector/AttributeSelector"));
46
59
  var ValuesEditor_1 = __importDefault(require("./components/ValuesEditor/ValuesEditor"));
47
- var contexts_1 = require("../../contexts");
48
60
  var styles_1 = require("./styles");
49
- var EMPTY_FILTER = { fieldName: null, filter: null, values: [] };
50
- var Stub = function () { return null; };
61
+ var EMPTY_FILTER = { fieldName: null, filter: null, operator: mdm_sdk_1.SearchOperator.and, values: [] };
51
62
  var AttributesFiltersBuilder = function (_a) {
52
- var attributeTypes = _a.attributeTypes, filters = _a.filters, onChange = _a.onChange, _b = _a.components, components = _b === void 0 ? {} : _b;
53
- var CustomValuesEditor = components.ValuesEditor, CustomFilterSelector = components.FilterSelector;
54
- var _c = (0, styles_1.useStyles)(), attrSelector = _c.attrSelector, filterSelector = _c.filterSelector, actionContainer = _c.actionContainer;
63
+ var _b = _a.classes, classes = _b === void 0 ? {} : _b, attributesTypesGroups = _a.attributesTypesGroups, filters = _a.filters, onChange = _a.onChange, _c = _a.components, components = _c === void 0 ? {} : _c, onFilterAttributeChange = _a.onFilterAttributeChange;
64
+ var CustomValuesEditor = components.ValuesEditor, CustomFilterSelector = components.FilterSelector, _d = components.LogicalOperator, LogicalOperator = _d === void 0 ? core_1.EmptyStub : _d;
65
+ var styles = (0, styles_1.useStyles)();
55
66
  var actualFilters = (0, react_1.useRef)(filters);
56
67
  var attributeFilterRef = (0, react_1.useRef)(null);
57
68
  var lastAttributesCountRef = (0, react_1.useRef)(null);
58
69
  var attributesCountRef = (0, react_1.useRef)(null);
59
70
  var metadata = (0, contexts_1.useMdmMetadata)();
60
- var entityType = (0, mdm_sdk_1.getEntityType)(metadata, (0, helpers_1.getEntityTypeFromAttrTypes)(attributeTypes));
61
71
  actualFilters.current = filters;
62
72
  var rowClasses = (0, react_1.useMemo)(function () { return ({
63
- attributeSelectorContainer: attrSelector,
64
- filterSelectorContainer: filterSelector,
65
- actionsContainer: actionContainer
66
- }); }, [attrSelector, filterSelector, actionContainer]);
67
- var attributeSelectorItems = (0, react_1.useMemo)(function () { return (0, helpers_1.getAttributeSelectorItems)(attributeTypes, entityType, metadata); }, [attributeTypes, metadata, entityType]);
68
- var rowsData = (0, react_1.useMemo)(function () { return (filters.length ? (0, helpers_1.getRowsDataFromFilters)(filters, attributeSelectorItems) : []); }, [attributeSelectorItems, filters]);
73
+ attributeSelectorContainer: classes.attributeSelectorContainer || styles.attrSelector,
74
+ valuesEditorContainer: classes.valuesEditorContainer || '',
75
+ filterSelectorContainer: styles.filterSelector,
76
+ actionsContainer: styles.actionContainer
77
+ }); }, [classes, styles]);
78
+ var currentEntityType = (0, react_1.useMemo)(function () {
79
+ var entityTypesUris = attributesTypesGroups.map(function (_a) {
80
+ var attributeTypes = _a.attributeTypes;
81
+ return (0, helpers_1.getEntityTypeFromAttrTypes)(attributeTypes);
82
+ });
83
+ var closestEntityTypeAncestorUri = (0, mdm_sdk_1.findClosestCommonAncestor)(metadata, entityTypesUris);
84
+ return (0, mdm_sdk_1.getEntityType)(metadata, closestEntityTypeAncestorUri);
85
+ }, [attributesTypesGroups, metadata]);
86
+ var attributeSelectorItemsGroups = (0, react_1.useMemo)(function () { return (0, helpers_1.getAttributeSelectorItems)(attributesTypesGroups, metadata); }, [attributesTypesGroups, metadata]);
87
+ var rowsData = (0, react_1.useMemo)(function () { return (filters.length ? (0, helpers_1.getRowsDataFromFilters)(filters, attributeSelectorItemsGroups) : []); }, [attributeSelectorItemsGroups, filters]);
69
88
  attributesCountRef.current = rowsData.length;
70
89
  (0, react_1.useEffect)(function () {
71
90
  if (attributeFilterRef.current && lastAttributesCountRef.current !== attributesCountRef.current) {
@@ -91,11 +110,7 @@ var AttributesFiltersBuilder = function (_a) {
91
110
  }, [onChange]);
92
111
  var duplicateRow = (0, react_1.useCallback)(function (index) {
93
112
  var newFilters = __spreadArray([], actualFilters.current, true);
94
- newFilters.splice(index + 1, 0, {
95
- fieldName: actualFilters.current[index].fieldName,
96
- filter: actualFilters.current[index].filter,
97
- values: actualFilters.current[index].values
98
- });
113
+ newFilters.splice(index + 1, 0, __assign({}, actualFilters.current[index]));
99
114
  onChange(newFilters);
100
115
  }, [onChange]);
101
116
  var changeFilter = (0, react_1.useCallback)(function (newFilter, id) {
@@ -108,6 +123,6 @@ var AttributesFiltersBuilder = function (_a) {
108
123
  var addNewFilter = (0, react_1.useCallback)(function (newFilter) {
109
124
  onChange(__spreadArray(__spreadArray([], actualFilters.current, true), [newFilter], false));
110
125
  }, [onChange]);
111
- return (react_1.default.createElement(QueryBuilderRowsGroup_1.default, { rowClasses: rowClasses, rowsData: rowsData, AttributeSelectorComponent: AttributeSelector_1.default, FilterSelectorComponent: CustomFilterSelector || FilterSelector_1.default, ValuesEditorComponent: CustomValuesEditor || ValuesEditor_1.default, ActionsComponent: RowActions_1.default, LogicOperatorComponent: Stub, filterSelectorRefIndex: lastAttributesCountRef.current, filterSelectorRef: attributeFilterRef, lastRowAttributeSelectorProps: lastRowAttributeSelectorProps, attributesGroup: attributeSelectorItems, changeFilter: changeFilter, addNewFilter: addNewFilter, addRowAfterIndex: addRowAfterIndex, removeRow: removeRow, duplicateRow: duplicateRow, entityType: entityType }));
126
+ return (react_1.default.createElement(QueryBuilderRowsGroup_1.default, { rowClasses: rowClasses, rowsData: rowsData, AttributeSelectorComponent: AttributeSelector_1.default, FilterSelectorComponent: CustomFilterSelector || FilterSelector_1.default, ValuesEditorComponent: CustomValuesEditor || ValuesEditor_1.default, ActionsComponent: RowActions_1.default, LogicOperatorComponent: LogicalOperator, filterSelectorRefIndex: lastAttributesCountRef.current, filterSelectorRef: attributeFilterRef, lastRowAttributeSelectorProps: lastRowAttributeSelectorProps, attributeSelectorItemsGroups: attributeSelectorItemsGroups, entityType: currentEntityType, changeFilter: changeFilter, addNewFilter: addNewFilter, addRowAfterIndex: addRowAfterIndex, removeRow: removeRow, duplicateRow: duplicateRow, onFilterAttributeChange: onFilterAttributeChange }));
112
127
  };
113
128
  exports.default = (0, react_1.memo)(AttributesFiltersBuilder);
@@ -31,15 +31,15 @@ var mdm_sdk_1 = require("@reltio/mdm-sdk");
31
31
  var BasicAttributeSelector_1 = __importDefault(require("../../../BasicAttributeSelector/BasicAttributeSelector"));
32
32
  var AttributeSelector = function (_a) {
33
33
  var rowData = _a.rowData, rowContext = _a.rowContext, attributeSelectorProps = _a.attributeSelectorProps;
34
- var _b = rowData || {}, attribute = _b.attribute, id = _b.id, filter = _b.filter;
35
- var changeFilter = rowContext.changeFilter, addNewFilter = rowContext.addNewFilter, attributesGroup = rowContext.attributesGroup;
34
+ var _b = rowData || {}, attribute = _b.attribute, id = _b.id, filter = _b.filter, operator = _b.operator;
35
+ var changeFilter = rowContext.changeFilter, addNewFilter = rowContext.addNewFilter, attributeSelectorItemsGroups = rowContext.attributeSelectorItemsGroups, onFilterAttributeChange = rowContext.onFilterAttributeChange;
36
36
  var getSelectedAttributeLabel = (0, react_1.useCallback)(function (data) { return (0, mdm_sdk_1.getSearchGroupAttributeLabel)({ data: data }); }, []);
37
- var itemsGroup = (0, react_1.useMemo)(function () { return [{ id: '', title: '', attributes: attributesGroup }]; }, [attributesGroup]);
38
37
  var changeAttribute = (0, react_1.useCallback)(function (selectInfo) {
39
38
  if (rowData) {
40
39
  var newFilter = {
41
40
  fieldName: selectInfo.attribute.fieldName,
42
41
  filter: filter,
42
+ operator: operator,
43
43
  values: []
44
44
  };
45
45
  changeFilter(newFilter, id);
@@ -48,10 +48,12 @@ var AttributeSelector = function (_a) {
48
48
  addNewFilter({
49
49
  fieldName: selectInfo.attribute.fieldName,
50
50
  filter: null,
51
+ operator: mdm_sdk_1.SearchOperator.and,
51
52
  values: []
52
53
  });
53
54
  }
54
- }, [addNewFilter, changeFilter, id, rowData, filter]);
55
- return (react_1.default.createElement(BasicAttributeSelector_1.default, { itemsGroups: itemsGroup, ungroup: true, single: true, value: attribute, getLabel: getSelectedAttributeLabel, onSelect: changeAttribute, onOpenPopup: attributeSelectorProps.onOpen }));
55
+ onFilterAttributeChange && onFilterAttributeChange(selectInfo);
56
+ }, [rowData, onFilterAttributeChange, filter, operator, changeFilter, id, addNewFilter]);
57
+ return (react_1.default.createElement(BasicAttributeSelector_1.default, { itemsGroups: attributeSelectorItemsGroups, ungroup: attributeSelectorItemsGroups.length < 2, single: true, value: attribute, getLabel: getSelectedAttributeLabel, onSelect: changeAttribute, onOpenPopup: attributeSelectorProps.onOpen }));
56
58
  };
57
59
  exports.default = (0, react_1.memo)(AttributeSelector);
@@ -38,7 +38,7 @@ var FilterSelector = function (_a) {
38
38
  var _b;
39
39
  var rowData = _a.rowData, rowContext = _a.rowContext, textFieldInputRef = _a.textFieldInputRef, optionsProp = _a.options;
40
40
  var styles = (0, styles_1.default)();
41
- var _c = rowData || {}, _d = _c.attribute, _e = _d === void 0 ? {} : _d, _f = _e.attrType, attrType = _f === void 0 ? {} : _f, _g = _e.fieldName, fieldName = _g === void 0 ? null : _g, filter = _c.filter, id = _c.id;
41
+ var _c = rowData || {}, _d = _c.attribute, _e = _d === void 0 ? {} : _d, _f = _e.attrType, attrType = _f === void 0 ? {} : _f, _g = _e.fieldName, fieldName = _g === void 0 ? null : _g, filter = _c.filter, id = _c.id, operator = _c.operator;
42
42
  var changeFilter = rowContext.changeFilter;
43
43
  var options = optionsProp ||
44
44
  (attrType &&
@@ -48,10 +48,11 @@ var FilterSelector = function (_a) {
48
48
  var newFilter = {
49
49
  fieldName: fieldName,
50
50
  filter: filterOption.value,
51
+ operator: operator,
51
52
  values: []
52
53
  };
53
54
  changeFilter(newFilter, id);
54
- }, [changeFilter, id, fieldName]);
55
+ }, [fieldName, operator, changeFilter, id]);
55
56
  (0, react_1.useEffect)(function () {
56
57
  if ((fieldName && !filter) || (fieldName && !(0, helpers_1.findValue)(options, filter))) {
57
58
  onChangeFilter(options[0]);
@@ -35,14 +35,15 @@ var ValuesEditor = function (_a) {
35
35
  var styles = (0, styles_1.useStyles)();
36
36
  var canFilterAcceptValues = (rowData === null || rowData === void 0 ? void 0 : rowData.attribute) && (0, mdm_sdk_1.checkIfOptionHasValues)(rowData.filter);
37
37
  var changeFilter = rowContext.changeFilter;
38
- var _b = (rowData || {}), _c = _b.values, values = _c === void 0 ? [] : _c, _d = _b.attribute, _e = _d === void 0 ? {} : _d, attrType = _e.attrType, _f = _e.fieldName, fieldName = _f === void 0 ? null : _f, filter = _b.filter, id = _b.id;
38
+ var _b = (rowData || {}), _c = _b.values, values = _c === void 0 ? [] : _c, _d = _b.attribute, _e = _d === void 0 ? {} : _d, attrType = _e.attrType, _f = _e.fieldName, fieldName = _f === void 0 ? null : _f, filter = _b.filter, id = _b.id, operator = _b.operator;
39
39
  var valueDataTypeDefinition = attrType && (0, mdm_sdk_1.getAttrDataTypeDefinition)(attrType);
40
40
  var filterValueDataTypeDefinition = valueDataTypeDefinition && (0, mdm_sdk_1.getDataTypeDefinitionForFilterValue)(valueDataTypeDefinition, filter);
41
41
  var editorFilter = (0, react_1.useMemo)(function () { return ({
42
42
  filter: filter,
43
43
  fieldName: fieldName,
44
+ operator: operator,
44
45
  values: values || []
45
- }); }, [filter, fieldName, values]);
46
+ }); }, [filter, fieldName, operator, values]);
46
47
  var TextFieldProps = (0, react_1.useMemo)(function () { return ({
47
48
  InputProps: {
48
49
  classes: {
@@ -55,10 +56,11 @@ var ValuesEditor = function (_a) {
55
56
  var newFilter = {
56
57
  fieldName: fieldName,
57
58
  filter: filter,
59
+ operator: operator,
58
60
  values: newValues
59
61
  };
60
62
  changeFilter(newFilter, id);
61
- }, [changeFilter, id, fieldName, filter]);
63
+ }, [fieldName, filter, operator, changeFilter, id]);
62
64
  return (react_1.default.createElement("div", { className: styles.valuesEditor }, (rowData === null || rowData === void 0 ? void 0 : rowData.attribute) && canFilterAcceptValues && (react_1.default.createElement(FilterValueEditor_1.default, { "data-reltio-id": "filter-value-editor", filter: editorFilter, onChange: changeValue, dataTypeDefinition: filterValueDataTypeDefinition, fullWidth: true, TextFieldProps: TextFieldProps, color: "primary", classes: editorClasses, orientation: "horizontal" }))));
63
65
  };
64
66
  exports.default = (0, react_1.memo)(ValuesEditor);
@@ -20,7 +20,7 @@ exports.useStyles = (0, styles_1.makeStyles)({
20
20
  valuesEditor: {
21
21
  display: 'flex',
22
22
  alignItems: 'center',
23
- width: '222px!important',
23
+ width: '100%',
24
24
  minHeight: '40px',
25
25
  flexShrink: 0
26
26
  }
@@ -1,11 +1,12 @@
1
- import { AttributeType, TEntityType, Metadata, SearchFilter } from '@reltio/mdm-sdk';
2
- import { AttributeSelectorItem } from '../../types';
1
+ import { AttributeType, Metadata, SearchFilter } from '@reltio/mdm-sdk';
2
+ import { AttributeSelectorItem, AttributeSelectorItemsGroup, AttributesTypesGroup } from '../../types';
3
3
  import { FilterOption } from './types';
4
- export declare const getAttributeSelectorItems: (attributeTypes: AttributeType[], entityType: TEntityType, metadata: Metadata) => AttributeSelectorItem[];
4
+ export declare const getAttributeSelectorItems: (attributesTypesGroups: AttributesTypesGroup[], metadata: Metadata) => AttributeSelectorItemsGroup[];
5
5
  export declare const findValue: (options: FilterOption[], filter: string) => FilterOption;
6
- export declare const getRowsDataFromFilters: (filters: SearchFilter[], attributesGroup: AttributeSelectorItem[]) => {
6
+ export declare const getRowsDataFromFilters: (filters: SearchFilter[], attributesGroupArr: AttributeSelectorItemsGroup[]) => {
7
7
  attribute: AttributeSelectorItem;
8
8
  filter: string;
9
+ operator: import("@reltio/mdm-sdk").SearchOperator;
9
10
  id: number;
10
11
  values: (import("@reltio/mdm-sdk").PrimitiveValue | Pick<import("@reltio/mdm-sdk").SimpleAttributeValue, "value" | "lookupCode">)[] | [(import("@reltio/mdm-sdk").PrimitiveValue | Pick<import("@reltio/mdm-sdk").SimpleAttributeValue, "value" | "lookupCode">)[]];
11
12
  }[];
@@ -51,40 +51,54 @@ var createAttributesConfig = function (metadata, attrNode, entityTypeUri, parent
51
51
  }
52
52
  return resConfig;
53
53
  };
54
- var getAttributeSelectorItems = function (attributeTypes, entityType, metadata) {
55
- if (entityType === void 0) { entityType = {}; }
56
- return (0, mdm_sdk_1.getAttributesTreeFromAttributes)(attributeTypes, metadata).map(function (attrNode) {
57
- var entityTypeUri = (0, mdm_sdk_1.isSpecialAttribute)(attrNode) ? null : entityType.uri;
58
- return createAttributesConfig(metadata, attrNode, entityTypeUri);
54
+ var getAttributeSelectorItems = function (attributesTypesGroups, metadata) {
55
+ return attributesTypesGroups.map(function (_a) {
56
+ var id = _a.id, title = _a.title, attributeTypes = _a.attributeTypes;
57
+ var entityType = (0, mdm_sdk_1.getEntityType)(metadata, (0, exports.getEntityTypeFromAttrTypes)(attributeTypes));
58
+ return {
59
+ id: id,
60
+ title: title,
61
+ attributes: (0, mdm_sdk_1.getAttributesTreeFromAttributes)(attributeTypes, metadata).map(function (attrNode) {
62
+ var entityTypeUri = (0, mdm_sdk_1.isSpecialAttribute)(attrNode) ? null : entityType.uri;
63
+ return createAttributesConfig(metadata, attrNode, entityTypeUri);
64
+ })
65
+ };
59
66
  });
60
67
  };
61
68
  exports.getAttributeSelectorItems = getAttributeSelectorItems;
62
69
  var findAttributeSelectorItem = function (fieldName, attributesGroup) {
63
70
  var attrGroup;
64
- var findAttribute = function (fieldName, attributesGroup) {
65
- for (var _i = 0, attributesGroup_1 = attributesGroup; _i < attributesGroup_1.length; _i++) {
66
- var attributeGroup = attributesGroup_1[_i];
67
- if (fieldName === attributeGroup.fieldName) {
68
- attrGroup = attributeGroup;
69
- return;
70
- }
71
- if ('children' in attributeGroup) {
72
- findAttribute(fieldName, attributeGroup.children);
71
+ var _loop_1 = function (attributesGroupItem) {
72
+ var findAttribute = function (fieldName, attributesSelectorItems) {
73
+ for (var _i = 0, attributesSelectorItems_1 = attributesSelectorItems; _i < attributesSelectorItems_1.length; _i++) {
74
+ var attributeGroup = attributesSelectorItems_1[_i];
75
+ if (fieldName === attributeGroup.fieldName) {
76
+ attrGroup = attributeGroup;
77
+ return;
78
+ }
79
+ if ('children' in attributeGroup) {
80
+ findAttribute(fieldName, attributeGroup.children);
81
+ }
73
82
  }
74
- }
83
+ };
84
+ findAttribute(fieldName, attributesGroupItem.attributes);
75
85
  };
76
- findAttribute(fieldName, attributesGroup);
86
+ for (var _i = 0, attributesGroup_1 = attributesGroup; _i < attributesGroup_1.length; _i++) {
87
+ var attributesGroupItem = attributesGroup_1[_i];
88
+ _loop_1(attributesGroupItem);
89
+ }
77
90
  return attrGroup;
78
91
  };
79
92
  var findValue = function (options, filter) {
80
93
  return options ? options.find(function (option) { return option.value === filter; }) : null;
81
94
  };
82
95
  exports.findValue = findValue;
83
- var getRowsDataFromFilters = function (filters, attributesGroup) {
96
+ var getRowsDataFromFilters = function (filters, attributesGroupArr) {
84
97
  return filters.map(function (filter, index) {
85
98
  return {
86
- attribute: filter.fieldName ? findAttributeSelectorItem(filter.fieldName, attributesGroup) : undefined,
99
+ attribute: filter.fieldName ? findAttributeSelectorItem(filter.fieldName, attributesGroupArr) : undefined,
87
100
  filter: filter.filter,
101
+ operator: filter.operator,
88
102
  id: index,
89
103
  values: filter.values
90
104
  };
@@ -92,7 +106,7 @@ var getRowsDataFromFilters = function (filters, attributesGroup) {
92
106
  };
93
107
  exports.getRowsDataFromFilters = getRowsDataFromFilters;
94
108
  var getEntityTypeFromAttrTypes = function (attributeTypes) {
95
- var regularAttribute = attributeTypes.find(function (attribute) { return !(0, mdm_sdk_1.isSpecialAttribute)(attribute); });
109
+ var regularAttribute = (0, mdm_sdk_1.findRegularAttribute)(attributeTypes);
96
110
  return regularAttribute ? (0, mdm_sdk_1.getBaseUri)(regularAttribute.uri) : null;
97
111
  };
98
112
  exports.getEntityTypeFromAttrTypes = getEntityTypeFromAttrTypes;
@@ -1,17 +1,18 @@
1
1
  import { SearchFilter, TEntityType } from '@reltio/mdm-sdk';
2
- import { AttributeSelectorItem, FiltersRowData } from '../../types';
2
+ import { AttributeSelectionInfo, AttributeSelectorItemsGroup, FiltersRowData } from '../../types';
3
3
  export type FilterOption = {
4
4
  value: string;
5
5
  label: string;
6
6
  };
7
7
  export type RowContext = {
8
- attributesGroup: AttributeSelectorItem[];
8
+ attributeSelectorItemsGroups: AttributeSelectorItemsGroup[];
9
9
  entityType: TEntityType;
10
10
  addNewFilter: (newFilter: SearchFilter) => void;
11
11
  addRowAfterIndex: (index: number) => void;
12
12
  changeFilter: (newFilter: SearchFilter, id: number) => void;
13
13
  duplicateRow: (index: number) => void;
14
14
  removeRow: (index: number) => void;
15
+ onFilterAttributeChange?: (attrSelectInfo: AttributeSelectionInfo) => void;
15
16
  };
16
17
  export type AttributeFiltersComponentProps = {
17
18
  rowData: FiltersRowData;
@@ -1,17 +1,24 @@
1
1
  import React from 'react';
2
- import { SearchFilter, AttributeType } from '@reltio/mdm-sdk';
2
+ import { SearchFilter } from '@reltio/mdm-sdk';
3
+ import { AttributeSelectionInfo, AttributesFilterComponentsClasses, AttributesTypesGroup } from '../../types';
3
4
  type Props = {
5
+ classes?: AttributesFilterComponentsClasses;
4
6
  filters: SearchFilter[];
5
7
  onChange: (filters: SearchFilter[]) => void;
6
- attributeTypes: AttributeType[];
8
+ attributesTypesGroups: AttributesTypesGroup[];
7
9
  components?: {
8
10
  ValuesEditor?: React.ElementType;
9
11
  FilterSelector?: React.ElementType;
12
+ LogicalOperator?: React.ElementType;
10
13
  };
11
14
  children?: React.ReactNode;
12
15
  onTogglePopup?: (open: boolean) => void;
13
16
  isFiltersApplied?: boolean;
14
17
  dataReltioId?: string;
18
+ onFilterAttributeChange?: (attrSelectInfo: AttributeSelectionInfo) => void;
19
+ onClear?: () => void;
20
+ onCancel?: () => void;
21
+ onApply?: () => void;
15
22
  };
16
- declare const _default: React.MemoExoticComponent<({ filters: filtersProp, attributeTypes, onChange, components, children, onTogglePopup, isFiltersApplied: isFiltersAppliedProp, dataReltioId }: Props) => JSX.Element>;
23
+ declare const _default: React.MemoExoticComponent<({ filters: filtersProp, classes, attributesTypesGroups, onChange, components, children, onTogglePopup, isFiltersApplied: isFiltersAppliedProp, dataReltioId, onFilterAttributeChange, onCancel, onClear, onApply }: Props) => JSX.Element>;
17
24
  export default _default;
@@ -33,12 +33,13 @@ var Button_1 = __importDefault(require("@mui/material/Button"));
33
33
  var FilterList_1 = __importDefault(require("@mui/icons-material/FilterList"));
34
34
  var Typography_1 = __importDefault(require("@mui/material/Typography"));
35
35
  var Divider_1 = __importDefault(require("@mui/material/Divider"));
36
+ var classnames_1 = __importDefault(require("classnames"));
36
37
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
37
38
  var AttributesFiltersBuilder_1 = __importDefault(require("../AttributesFiltersBuilder/AttributesFiltersBuilder"));
38
39
  var ActionButtons_1 = __importDefault(require("./ActionButtons/ActionButtons"));
39
40
  var styles_1 = require("./styles");
40
41
  var AttributesFiltersButton = function (_a) {
41
- var filtersProp = _a.filters, attributeTypes = _a.attributeTypes, onChange = _a.onChange, components = _a.components, children = _a.children, onTogglePopup = _a.onTogglePopup, isFiltersAppliedProp = _a.isFiltersApplied, dataReltioId = _a.dataReltioId;
42
+ var filtersProp = _a.filters, classes = _a.classes, attributesTypesGroups = _a.attributesTypesGroups, onChange = _a.onChange, components = _a.components, children = _a.children, onTogglePopup = _a.onTogglePopup, isFiltersAppliedProp = _a.isFiltersApplied, dataReltioId = _a.dataReltioId, onFilterAttributeChange = _a.onFilterAttributeChange, onCancel = _a.onCancel, onClear = _a.onClear, onApply = _a.onApply;
42
43
  var styles = (0, styles_1.useStyles)();
43
44
  var buttonRef = (0, react_1.useRef)();
44
45
  var _b = (0, react_1.useState)(false), isOpen = _b[0], setIsOpen = _b[1];
@@ -58,21 +59,24 @@ var AttributesFiltersButton = function (_a) {
58
59
  }, [filtersProp, isOpen]);
59
60
  var applyButtonHandler = (0, react_1.useCallback)(function () {
60
61
  onChange(filters);
62
+ onApply && onApply();
61
63
  togglePopup();
62
- }, [filters, onChange]);
64
+ }, [filters, onChange, onApply]);
63
65
  var cancelButtonHandler = (0, react_1.useCallback)(function () {
66
+ onCancel && onCancel();
64
67
  togglePopup();
65
- }, []);
68
+ }, [onCancel]);
66
69
  var clearAllButtonHandler = (0, react_1.useCallback)(function () {
70
+ onClear && onClear();
67
71
  setFilters([]);
68
- }, []);
72
+ }, [onClear]);
69
73
  return (react_1.default.createElement(react_1.default.Fragment, null,
70
74
  react_1.default.createElement(Button_1.default, { "data-reltio-id": dataReltioId, ref: buttonRef, color: buttonColor, classes: {
71
75
  root: styles.triggerButton,
72
76
  textPrimary: styles.changedFiltersIndicator
73
77
  }, onClick: togglePopup },
74
78
  react_1.default.createElement(FilterList_1.default, { color: buttonColor })),
75
- react_1.default.createElement(Popover_1.default, { open: isOpen, classes: { paper: styles.popupContent }, anchorEl: buttonRef.current, onClose: togglePopup, anchorOrigin: {
79
+ react_1.default.createElement(Popover_1.default, { open: isOpen, classes: { paper: (0, classnames_1.default)(styles.popupContent, classes === null || classes === void 0 ? void 0 : classes.filterPopup) }, anchorEl: buttonRef.current, onClose: togglePopup, anchorOrigin: {
76
80
  vertical: 'bottom',
77
81
  horizontal: 'right'
78
82
  }, transformOrigin: {
@@ -83,7 +87,7 @@ var AttributesFiltersButton = function (_a) {
83
87
  react_1.default.createElement(Typography_1.default, { variant: "h6" }, ui_i18n_1.default.text('Filter')),
84
88
  react_1.default.createElement("div", { className: styles.filtersBuilderWrapper },
85
89
  children,
86
- react_1.default.createElement(AttributesFiltersBuilder_1.default, { attributeTypes: attributeTypes, filters: filters, onChange: setFilters, components: components })),
90
+ react_1.default.createElement(AttributesFiltersBuilder_1.default, { attributesTypesGroups: attributesTypesGroups, filters: filters, onChange: setFilters, components: components, onFilterAttributeChange: onFilterAttributeChange, classes: classes })),
87
91
  react_1.default.createElement(Divider_1.default, { className: styles.divider }),
88
92
  react_1.default.createElement(ActionButtons_1.default, { onApply: applyButtonHandler, onCancel: cancelButtonHandler, onClear: clearAllButtonHandler })))));
89
93
  };
@@ -4,6 +4,7 @@ var styles_1 = require("@mui/styles");
4
4
  var useStyles = (0, styles_1.makeStyles)({
5
5
  selector: {
6
6
  minWidth: '200px',
7
+ width: '100%',
7
8
  alignItems: 'stretch',
8
9
  background: 'rgba(0,0,0, 0.0267)',
9
10
  boxSizing: 'border-box',
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { SearchOperator } from '@reltio/mdm-sdk';
3
+ type Props = {
4
+ className?: string;
5
+ value: string;
6
+ onChange: (value: SearchOperator) => void;
7
+ };
8
+ declare const LogicOperator: ({ className, value, onChange }: Props) => JSX.Element;
9
+ export default LogicOperator;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var react_1 = __importDefault(require("react"));
18
+ var classnames_1 = __importDefault(require("classnames"));
19
+ var components_1 = require("@reltio/components");
20
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
21
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
22
+ var styles_1 = __importDefault(require("./styles"));
23
+ var LogicOperator = function (_a) {
24
+ var className = _a.className, value = _a.value, onChange = _a.onChange;
25
+ var classes = (0, styles_1.default)();
26
+ var entries = mdm_sdk_1.operatorOptions.map(function (operator) { return (__assign(__assign({}, operator), { label: ui_i18n_1.default.text(operator.label) })); });
27
+ return (react_1.default.createElement(components_1.DropDownEditor, { className: (0, classnames_1.default)(classes.dropDown, className), classes: classes, value: value, entries: entries, onChange: onChange }));
28
+ };
29
+ exports.default = LogicOperator;
@@ -0,0 +1,2 @@
1
+ declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"select" | "dropDown">;
2
+ export default useStyles;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var styles_1 = require("@mui/styles");
4
+ var useStyles = (0, styles_1.makeStyles)(function () { return ({
5
+ select: {
6
+ padding: '6px 16px 7px'
7
+ },
8
+ dropDown: {
9
+ width: '100px',
10
+ '&:before': {
11
+ content: 'none !important'
12
+ }
13
+ }
14
+ }); });
15
+ exports.default = useStyles;
@@ -1,5 +1,5 @@
1
1
  import React, { ElementType } from 'react';
2
- import { DragOverEvent } from 'react-grid-layout';
2
+ import { ReactGridLayoutProps } from 'react-grid-layout';
3
3
  import { ReltioGridLayoutItem } from '@reltio/mdm-sdk';
4
4
  import { ReactGridLayoutItem, ReltioGridLayoutOptions } from '../../types';
5
5
  type Props<ViewConfig = Record<string, unknown>> = {
@@ -8,10 +8,7 @@ type Props<ViewConfig = Record<string, unknown>> = {
8
8
  layoutOptions?: ReltioGridLayoutOptions;
9
9
  onLayoutChanged?: (layout: ReltioGridLayoutItem[]) => void;
10
10
  onDrop?: (layout: ReltioGridLayoutItem[], layoutItem: ReltioGridLayoutItem, e: Event) => void;
11
- onDropDragOver?: (e: DragOverEvent) => {
12
- w?: number;
13
- h?: number;
14
- } | false | undefined;
11
+ onDropDragOver?: ReactGridLayoutProps['onDropDragOver'];
15
12
  onRemove?: (id: string) => void;
16
13
  LayoutItem: ElementType;
17
14
  draggableHandle?: string;
@@ -22,7 +19,7 @@ type Props<ViewConfig = Record<string, unknown>> = {
22
19
  root?: string;
23
20
  item?: string;
24
21
  };
25
- onResize?: (layout: ReactGridLayoutItem[], oldLayoutItem: ReactGridLayoutItem, layoutItem: ReactGridLayoutItem, placeholder: ReactGridLayoutItem) => void;
22
+ onResize?: ReactGridLayoutProps['onResize'];
26
23
  };
27
24
  declare const _default: React.MemoExoticComponent<{
28
25
  ({ views, layout, layoutOptions, onLayoutChanged, draggableHandle, LayoutItem, onRemove, onDrop, droppingItem, isDroppable, onDropDragOver, isStatic, classes, onResize }: Props<Record<string, unknown>>): JSX.Element;
@@ -54,6 +54,7 @@ var ReltioGridLayout = function (_a) {
54
54
  var _b;
55
55
  var views = _a.views, layout = _a.layout, _c = _a.layoutOptions, layoutOptions = _c === void 0 ? DEFAULT_LAYOUT_OPTIONS : _c, _d = _a.onLayoutChanged, onLayoutChanged = _d === void 0 ? core_1.noop : _d, draggableHandle = _a.draggableHandle, LayoutItem = _a.LayoutItem, onRemove = _a.onRemove, onDrop = _a.onDrop, droppingItem = _a.droppingItem, isDroppable = _a.isDroppable, onDropDragOver = _a.onDropDragOver, isStatic = _a.isStatic, classes = _a.classes, _e = _a.onResize, onResize = _e === void 0 ? core_1.noop : _e;
56
56
  var ref = (0, react_1.useRef)();
57
+ var shouldCompareLayout = (0, react_1.useRef)(false);
57
58
  var heightsMap = (0, react_1.useRef)({});
58
59
  var styles = (0, styles_1.useStyles)();
59
60
  var _f = (0, react_1.useState)(null), resizingItemId = _f[0], setResizingItemId = _f[1];
@@ -61,7 +62,8 @@ var ReltioGridLayout = function (_a) {
61
62
  var _h = (0, react_1.useState)(0), width = _h[0], setWidth = _h[1];
62
63
  var cols = layoutOptions.cols, rowHeight = layoutOptions.rowHeight, margin = layoutOptions.margin;
63
64
  var processedLayout = (0, react_1.useMemo)(function () { return (0, helpers_1.reltioLayoutToReactGridLayout)(layout); }, [layout]);
64
- var onReltioLayoutChanged = (0, ramda_1.pipe)(helpers_1.reactGridLayoutToReltioLayout, (0, helpers_1.copyPropsFromPreviousLayout)(['autosizing'], layout), (0, ramda_1.ifElse)((0, ramda_1.always)(isStatic), (0, helpers_1.alignGroupedItemsHeights)(heightsMap.current), (0, helpers_1.calcLayoutItemsHeight)(heightsMap.current)), onLayoutChanged);
65
+ var convertReactLayoutToReltioLayout = (0, ramda_1.pipe)(helpers_1.reactGridLayoutToReltioLayout, (0, helpers_1.copyPropsFromPreviousLayout)(['autosizing'], layout), (0, ramda_1.ifElse)((0, ramda_1.always)(isStatic), (0, helpers_1.alignGroupedItemsHeights)(heightsMap.current), (0, helpers_1.calcLayoutItemsHeight)(heightsMap.current)));
66
+ var onReltioLayoutChanged = (0, ramda_1.pipe)(convertReactLayoutToReltioLayout, onLayoutChanged);
65
67
  var handleDrop = function (layout, layoutItem, e) {
66
68
  if (onDrop && layoutItem) {
67
69
  onDrop((0, helpers_1.reactGridLayoutToReltioLayout)(layout), (0, helpers_1.reactGridLayoutItemToReltioLayoutItem)(layoutItem), e);
@@ -74,10 +76,26 @@ var ReltioGridLayout = function (_a) {
74
76
  var newHeight = (0, helpers_1.calcHeight)(height, layoutOptions);
75
77
  if (newHeight !== heightsMap.current[layoutItemId]) {
76
78
  heightsMap.current[layoutItemId] = newHeight;
79
+ shouldCompareLayout.current = false;
77
80
  onReltioLayoutChanged(processedLayout);
78
81
  }
79
82
  }
80
83
  } })); };
84
+ (0, react_1.useEffect)(function () {
85
+ if (isStatic) {
86
+ if (shouldCompareLayout.current) {
87
+ var expectedLayout = convertReactLayoutToReltioLayout(processedLayout);
88
+ var isSameLayout = (0, ramda_1.equals)((0, helpers_1.reltioLayoutToReactGridLayout)(expectedLayout), processedLayout);
89
+ if (!isSameLayout) {
90
+ shouldCompareLayout.current = false;
91
+ onLayoutChanged(expectedLayout);
92
+ }
93
+ }
94
+ else {
95
+ shouldCompareLayout.current = true;
96
+ }
97
+ }
98
+ }, [processedLayout, isStatic]);
81
99
  return (react_1.default.createElement(react_1.default.Fragment, null,
82
100
  react_1.default.createElement(react_resize_detector_1.default, { refreshMode: "debounce", refreshRate: 50, handleWidth: true, onResize: function (width) { return setWidth(width); } }),
83
101
  !!width && (react_1.default.createElement(react_grid_layout_1.default, { innerRef: ref, layout: processedLayout, cols: cols, draggableHandle: draggableHandle, autoSize: true, rowHeight: rowHeight, width: width, margin: margin, onLayoutChange: isStatic ? undefined : onReltioLayoutChanged, isResizable: !isStatic && !isFullscreenEnabled, isDraggable: !isStatic && !isFullscreenEnabled, className: (0, classnames_1.default)(classes === null || classes === void 0 ? void 0 : classes.root, styles.gridLayout, (_b = {},
@@ -155,3 +155,4 @@ export { default as MultilineMenuItem } from './MultilineMenuItem/MultilineMenuI
155
155
  export { default as TenantLabel } from './TenantLabel/TenantLabel';
156
156
  export { default as StepNavigation } from './StepNavigation/StepNavigation';
157
157
  export { TableSkeleton } from './TableSkeleton/TableSkeleton';
158
+ export { default as LogicOperator } from './LogicOperator/LogicOperator';
@@ -20,7 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.EmptyState = exports.NoResults = exports.NoData = exports.DropDownSelector = exports.DropDownMenuButton = exports.Drawer = exports.DataTypeValue = exports.ConnectionRelationTypeSelector = exports.ConfigureColumnsPopup = exports.MenuWithPopper = exports.MenuList = exports.LoadMoreButton = exports.DropdownIndicatorWithIconButton = exports.DropdownIndicator = exports.CommentsContainer = exports.ColorBar = exports.CollapseButton = exports.CollaborationItem = exports.ClickAwayProvider = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.AvatarWithFallback = exports.AutoSizeList = exports.ReadOnlyAttributesPager = exports.SimpleAttribute = exports.ReferenceAttribute = exports.NestedAttribute = exports.EditableImageAttributesLine = exports.ImageAttributesLine = exports.ReadOnlyAttributesList = exports.ReadOnlyAttributeValuesBlock = exports.EditableAttribute = exports.ReadOnlyAttribute = exports.CardinalityMessage = exports.AttributesPager = exports.SimpleAttributeEditor = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.NestedAttributeEditor = exports.MoreAttributesButton = exports.EntitySelector = exports.EntityCreator = exports.AttributesList = exports.BranchDecorator = exports.DescriptionIcon = exports.AttributesView = exports.AttributeListItem = void 0;
21
21
  exports.useKeyboardNavigation = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.ReactSortableTreeUtils = exports.ReactSortableTreeHandlers = exports.ReactSortableTree = exports.ReactSelectOptionFilters = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBlock = exports.MatchRuleVariant = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportModes = exports.ImportButton = exports.ImageGalleryDialog = exports.Highlighter = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.FlipCard = exports.FacetViewHeader = exports.ExternalInvalidRelations = exports.ExpandedValueTooltip = exports.ErrorWrapper = exports.ErrorPopup = exports.AttributesErrorsPanel = exports.ErrorBoundary = exports.EntityUriLink = exports.RelationTypesSelector = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = void 0;
22
22
  exports.RequiredMark = exports.HierarchyNodeTitle = exports.DataTenantBadge = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.DragAndDrop = exports.ConnectionEditor = exports.AttributesFiltersBuilder = exports.AttributesFiltersButton = exports.AttributeGroupIcon = exports.BasicAttributeSelector = exports.ProfilesList = exports.ActionButtonMode = exports.ActionButton = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.RelationEditor = exports.OvIcon = exports.ErrorMessage = exports.ReltioMap = exports.ConfirmDeleteDialog = exports.ConfirmationDialog = exports.Marginator = exports.LightArrowTooltip = exports.ArrowExpandButton = exports.ScrollableTabs = exports.ExpandableSearchInput = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.ColoredSourceIcon = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopupPopper = exports.SelectionPopup = void 0;
23
- exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.MultilineMenuItem = exports.RelevanceScoreBadge = void 0;
23
+ exports.LogicOperator = exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.MultilineMenuItem = exports.RelevanceScoreBadge = void 0;
24
24
  __exportStar(require("./activityLog"), exports);
25
25
  var AttributeListItem_1 = require("./AttributeListItem/AttributeListItem");
26
26
  Object.defineProperty(exports, "AttributeListItem", { enumerable: true, get: function () { return __importDefault(AttributeListItem_1).default; } });
@@ -333,3 +333,5 @@ var StepNavigation_1 = require("./StepNavigation/StepNavigation");
333
333
  Object.defineProperty(exports, "StepNavigation", { enumerable: true, get: function () { return __importDefault(StepNavigation_1).default; } });
334
334
  var TableSkeleton_1 = require("./TableSkeleton/TableSkeleton");
335
335
  Object.defineProperty(exports, "TableSkeleton", { enumerable: true, get: function () { return TableSkeleton_1.TableSkeleton; } });
336
+ var LogicOperator_1 = require("./LogicOperator/LogicOperator");
337
+ Object.defineProperty(exports, "LogicOperator", { enumerable: true, get: function () { return __importDefault(LogicOperator_1).default; } });