@reltio/components 1.4.2162 → 1.4.2164

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 (73) hide show
  1. package/AddressAutocompleteEditor/AddressAutocompleteEditor.js +123 -55
  2. package/AddressAutocompleteEditor/AddressAutocompleteEditor.module.css.js +2 -2
  3. package/AddressAutocompleteEditor/AddressAutocompleteEditor.test.js +101 -5
  4. package/AddressAutocompleteEditor/helpers.d.ts +1 -0
  5. package/AddressAutocompleteEditor/helpers.js +3 -0
  6. package/FacetGroup/FacetGroup.d.ts +7 -0
  7. package/FacetGroup/FacetGroup.js +9 -0
  8. package/FacetGroup/FacetGroup.module.css.js +9 -0
  9. package/FacetGroup/index.d.ts +1 -0
  10. package/FacetGroup/index.js +1 -0
  11. package/FacetGroupTitle/FacetGroupTitle.d.ts +8 -0
  12. package/FacetGroupTitle/FacetGroupTitle.js +13 -0
  13. package/FacetGroupTitle/FacetGroupTitle.module.css.js +9 -0
  14. package/FacetGroupTitle/index.d.ts +1 -0
  15. package/FacetGroupTitle/index.js +1 -0
  16. package/MoreAttributesButton/styles.d.ts +1 -1
  17. package/QuickFiltersEntityTypeFacet/QuickFiltersEntityTypeFacet.d.ts +13 -0
  18. package/QuickFiltersEntityTypeFacet/QuickFiltersEntityTypeFacet.js +17 -0
  19. package/QuickFiltersEntityTypeFacet/QuickFiltersEntityTypeFacet.module.css.js +9 -0
  20. package/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/EntityTypesFacetGroups.d.ts +12 -0
  21. package/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/EntityTypesFacetGroups.js +49 -0
  22. package/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/EntityTypesFacetGroups.module.css.js +9 -0
  23. package/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/index.d.ts +1 -0
  24. package/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/index.js +1 -0
  25. package/QuickFiltersEntityTypeFacet/components/EntityTypesList/EntityTypesList.d.ts +10 -0
  26. package/QuickFiltersEntityTypeFacet/components/EntityTypesList/EntityTypesList.js +39 -0
  27. package/QuickFiltersEntityTypeFacet/components/EntityTypesList/EntityTypesList.module.css.js +9 -0
  28. package/QuickFiltersEntityTypeFacet/components/EntityTypesList/index.d.ts +1 -0
  29. package/QuickFiltersEntityTypeFacet/components/EntityTypesList/index.js +1 -0
  30. package/QuickFiltersEntityTypeFacet/index.d.ts +2 -0
  31. package/QuickFiltersEntityTypeFacet/index.js +1 -0
  32. package/QuickFiltersEntityTypeFacet/types.d.ts +5 -0
  33. package/QuickFiltersEntityTypeFacet/types.js +1 -0
  34. package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.js +120 -52
  35. package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.module.css.js +2 -2
  36. package/cjs/AddressAutocompleteEditor/AddressAutocompleteEditor.test.js +101 -5
  37. package/cjs/AddressAutocompleteEditor/helpers.d.ts +1 -0
  38. package/cjs/AddressAutocompleteEditor/helpers.js +5 -1
  39. package/cjs/FacetGroup/FacetGroup.d.ts +7 -0
  40. package/cjs/FacetGroup/FacetGroup.js +16 -0
  41. package/cjs/FacetGroup/FacetGroup.module.css.js +9 -0
  42. package/cjs/FacetGroup/index.d.ts +1 -0
  43. package/cjs/FacetGroup/index.js +5 -0
  44. package/cjs/FacetGroupTitle/FacetGroupTitle.d.ts +8 -0
  45. package/cjs/FacetGroupTitle/FacetGroupTitle.js +20 -0
  46. package/cjs/FacetGroupTitle/FacetGroupTitle.module.css.js +9 -0
  47. package/cjs/FacetGroupTitle/index.d.ts +1 -0
  48. package/cjs/FacetGroupTitle/index.js +5 -0
  49. package/cjs/MoreAttributesButton/styles.d.ts +1 -1
  50. package/cjs/QuickFiltersEntityTypeFacet/QuickFiltersEntityTypeFacet.d.ts +13 -0
  51. package/cjs/QuickFiltersEntityTypeFacet/QuickFiltersEntityTypeFacet.js +47 -0
  52. package/cjs/QuickFiltersEntityTypeFacet/QuickFiltersEntityTypeFacet.module.css.js +9 -0
  53. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/EntityTypesFacetGroups.d.ts +12 -0
  54. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/EntityTypesFacetGroups.js +79 -0
  55. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/EntityTypesFacetGroups.module.css.js +9 -0
  56. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/index.d.ts +1 -0
  57. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesFacetGroups/index.js +5 -0
  58. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesList/EntityTypesList.d.ts +10 -0
  59. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesList/EntityTypesList.js +69 -0
  60. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesList/EntityTypesList.module.css.js +9 -0
  61. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesList/index.d.ts +1 -0
  62. package/cjs/QuickFiltersEntityTypeFacet/components/EntityTypesList/index.js +5 -0
  63. package/cjs/QuickFiltersEntityTypeFacet/index.d.ts +2 -0
  64. package/cjs/QuickFiltersEntityTypeFacet/index.js +5 -0
  65. package/cjs/QuickFiltersEntityTypeFacet/types.d.ts +5 -0
  66. package/cjs/QuickFiltersEntityTypeFacet/types.js +2 -0
  67. package/cjs/contexts/AutoCompleteContext/helpers.js +2 -2
  68. package/cjs/index.d.ts +3 -0
  69. package/cjs/index.js +11 -5
  70. package/contexts/AutoCompleteContext/helpers.js +3 -3
  71. package/index.d.ts +3 -0
  72. package/index.js +3 -0
  73. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOptionEqualToValue = exports.getOptionLabel = exports.convertSearchResultToOption = void 0;
3
+ exports.isMinLength = exports.isOptionEqualToValue = exports.getOptionLabel = exports.convertSearchResultToOption = void 0;
4
4
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
5
5
  var convertSearchResultToOption = function (result) {
6
6
  return {
@@ -22,3 +22,7 @@ var isOptionEqualToValue = function (option, value) {
22
22
  return option.fullAddress === value;
23
23
  };
24
24
  exports.isOptionEqualToValue = isOptionEqualToValue;
25
+ var isMinLength = function (value, minLength) {
26
+ return (value === null || value === void 0 ? void 0 : value.trim().length) >= minLength;
27
+ };
28
+ exports.isMinLength = isMinLength;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ children?: React.ReactNode;
4
+ title?: string;
5
+ };
6
+ export declare const FacetGroup: ({ children, title }: Props) => React.JSX.Element;
7
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FacetGroup = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var FacetGroupTitle_1 = require("../FacetGroupTitle");
9
+ var FacetGroup_module_css_1 = __importDefault(require("./FacetGroup.module.css"));
10
+ var FacetGroup = function (_a) {
11
+ var children = _a.children, _b = _a.title, title = _b === void 0 ? '' : _b;
12
+ return (react_1.default.createElement("div", { className: FacetGroup_module_css_1.default.facetGroupContainer },
13
+ react_1.default.createElement(FacetGroupTitle_1.FacetGroupTitle, { title: title }),
14
+ children));
15
+ };
16
+ exports.FacetGroup = FacetGroup;
@@ -0,0 +1,9 @@
1
+ const styles = {"facetGroupContainer":"FacetGroup-facetGroupContainer--r4EGm"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.FacetGroup-facetGroupContainer--r4EGm{display:flex;flex-direction:column;flex-shrink:0}.FacetGroup-facetGroupContainer--r4EGm+.FacetGroup-facetGroupContainer--r4EGm,.FacetGroup-facetGroupContainer--r4EGm+hr{margin-top:8px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { FacetGroup } from './FacetGroup';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FacetGroup = void 0;
4
+ var FacetGroup_1 = require("./FacetGroup");
5
+ Object.defineProperty(exports, "FacetGroup", { enumerable: true, get: function () { return FacetGroup_1.FacetGroup; } });
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ title?: string;
4
+ iconSrc?: string;
5
+ leftIcon?: React.ReactNode;
6
+ };
7
+ export declare const FacetGroupTitle: ({ title, iconSrc, leftIcon }: Props) => React.JSX.Element;
8
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FacetGroupTitle = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var Avatar_1 = __importDefault(require("@mui/material/Avatar"));
9
+ var ExpandedValueTooltip_1 = require("../ExpandedValueTooltip");
10
+ var FacetGroupTitle_module_css_1 = __importDefault(require("./FacetGroupTitle.module.css"));
11
+ var FacetGroupTitle = function (_a) {
12
+ var _b = _a.title, title = _b === void 0 ? '' : _b, _c = _a.iconSrc, iconSrc = _c === void 0 ? '' : _c, leftIcon = _a.leftIcon;
13
+ return (react_1.default.createElement("div", { className: FacetGroupTitle_module_css_1.default.titleBox },
14
+ react_1.default.createElement("div", { className: FacetGroupTitle_module_css_1.default.title },
15
+ leftIcon && react_1.default.createElement("div", { className: FacetGroupTitle_module_css_1.default.leftIcon }, leftIcon),
16
+ iconSrc && react_1.default.createElement(Avatar_1.default, { src: iconSrc, className: FacetGroupTitle_module_css_1.default.avatar }),
17
+ react_1.default.createElement(ExpandedValueTooltip_1.ExpandedValueTooltip, { value: title },
18
+ react_1.default.createElement("span", null, title)))));
19
+ };
20
+ exports.FacetGroupTitle = FacetGroupTitle;
@@ -0,0 +1,9 @@
1
+ const styles = {"titleBox":"FacetGroupTitle-titleBox--yg91y","title":"FacetGroupTitle-title--6MrZT","leftIcon":"FacetGroupTitle-leftIcon--ts7l3","avatar":"FacetGroupTitle-avatar--dgaa0"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.FacetGroupTitle-titleBox--yg91y{align-items:center;display:flex;flex-direction:row;flex-shrink:0;justify-content:space-between;line-height:24px;padding-bottom:8px;padding-top:12px}.FacetGroupTitle-title--6MrZT{align-items:center;color:rgba(0,0,0,.87);display:flex;flex-grow:1;font-size:16px;font-weight:500;letter-spacing:.15px;overflow:hidden;padding-left:16px}.FacetGroupTitle-leftIcon--ts7l3{flex-shrink:0;margin-right:20px}.FacetGroupTitle-avatar--dgaa0{height:32px;margin-right:12px;width:32px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { FacetGroupTitle } from './FacetGroupTitle';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FacetGroupTitle = void 0;
4
+ var FacetGroupTitle_1 = require("./FacetGroupTitle");
5
+ Object.defineProperty(exports, "FacetGroupTitle", { enumerable: true, get: function () { return FacetGroupTitle_1.FacetGroupTitle; } });
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"dense" | "icon" | "subHeader" | "moreButton" | "buttonLabel" | "moreAttributes" | "popupContainer" | "moreAttributesPopup" | "noResultsCaptionContainer">;
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"dense" | "icon" | "subHeader" | "moreButton" | "buttonLabel" | "popupContainer" | "moreAttributes" | "moreAttributesPopup" | "noResultsCaptionContainer">;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { EntityTypeFacetDataItem } from '@reltio/mdm-sdk';
3
+ type Props = {
4
+ items: EntityTypeFacetDataItem[];
5
+ maxRowCount?: number;
6
+ showAllItems?: boolean;
7
+ values?: string[];
8
+ onChange?: (values?: string[]) => void;
9
+ onViewMoreLess: () => void;
10
+ countFormatter?: (number: number) => string;
11
+ };
12
+ export declare const QuickFiltersEntityTypeFacet: ({ items, maxRowCount, showAllItems, values, onChange, onViewMoreLess, countFormatter }: Props) => React.JSX.Element;
13
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.QuickFiltersEntityTypeFacet = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var ramda_1 = require("ramda");
32
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
33
+ var ViewMoreToggle_1 = require("../ViewMoreToggle");
34
+ var EmptySearchResult_1 = require("../EmptySearchResult");
35
+ var EntityTypesFacetGroups_1 = require("./components/EntityTypesFacetGroups");
36
+ var QuickFiltersEntityTypeFacet_module_css_1 = __importDefault(require("./QuickFiltersEntityTypeFacet.module.css"));
37
+ var DEFAULT_ROW_COUNT = 7;
38
+ var QuickFiltersEntityTypeFacet = function (_a) {
39
+ var items = _a.items, _b = _a.maxRowCount, maxRowCount = _b === void 0 ? DEFAULT_ROW_COUNT : _b, showAllItems = _a.showAllItems, _c = _a.values, values = _c === void 0 ? [] : _c, _d = _a.onChange, onChange = _d === void 0 ? ramda_1.identity : _d, onViewMoreLess = _a.onViewMoreLess, countFormatter = _a.countFormatter;
40
+ var groups = (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.getGroupedEntityTypes)(items); }, [items]);
41
+ var totalItems = groups.reduce(function (sum, group) { return sum + group.items.length; }, 0);
42
+ var needShowViewMoreButton = totalItems > maxRowCount;
43
+ return (react_1.default.createElement("div", { className: QuickFiltersEntityTypeFacet_module_css_1.default.container }, groups.length > 0 ? (react_1.default.createElement(react_1.default.Fragment, null,
44
+ react_1.default.createElement(EntityTypesFacetGroups_1.EntityTypesFacetGroups, { groups: groups, values: values, maxRowCount: maxRowCount, onChange: onChange, showAll: showAllItems, countFormatter: countFormatter }),
45
+ needShowViewMoreButton && (react_1.default.createElement(ViewMoreToggle_1.ViewMoreToggle, { active: showAllItems, onClick: onViewMoreLess, className: QuickFiltersEntityTypeFacet_module_css_1.default.viewMoreLess })))) : (react_1.default.createElement(EmptySearchResult_1.EmptySearchResult, { variant: "noData", className: QuickFiltersEntityTypeFacet_module_css_1.default.noData }))));
46
+ };
47
+ exports.QuickFiltersEntityTypeFacet = QuickFiltersEntityTypeFacet;
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"QuickFiltersEntityTypeFacet-container--dVdDy","noData":"QuickFiltersEntityTypeFacet-noData--y-9iH","viewMoreLess":"QuickFiltersEntityTypeFacet-viewMoreLess--xgmjA"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.QuickFiltersEntityTypeFacet-container--dVdDy{display:flex;flex-direction:column;flex-grow:1;font-size:13px;overflow:hidden}.QuickFiltersEntityTypeFacet-noData--y-9iH{margin-left:16px}.QuickFiltersEntityTypeFacet-viewMoreLess--xgmjA{padding-left:20px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { EntityTypesGroup } from '../../types';
3
+ type Props = {
4
+ groups: EntityTypesGroup[];
5
+ values: string[];
6
+ maxRowCount: number;
7
+ showAll: boolean;
8
+ onChange: (values: string[]) => void;
9
+ countFormatter?: (number: number) => string;
10
+ };
11
+ export declare const EntityTypesFacetGroups: ({ groups, values, maxRowCount, showAll, onChange, countFormatter }: Props) => React.JSX.Element;
12
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.EntityTypesFacetGroups = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var ramda_1 = require("ramda");
32
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
33
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
34
+ var Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
35
+ var LocalOfferOutlined_1 = __importDefault(require("@mui/icons-material/LocalOfferOutlined"));
36
+ var EntityTypesList_1 = require("../EntityTypesList");
37
+ var EntityTypesFacetGroups_module_css_1 = __importDefault(require("./EntityTypesFacetGroups.module.css"));
38
+ var EntityTypesFacetGroups = function (_a) {
39
+ var groups = _a.groups, values = _a.values, maxRowCount = _a.maxRowCount, showAll = _a.showAll, onChange = _a.onChange, countFormatter = _a.countFormatter;
40
+ var shouldUseAllItems = !countFormatter;
41
+ var handleCheckboxChange = (0, react_1.useCallback)(function (groupValues) { return function (e) {
42
+ var newValues = e.target.checked
43
+ ? values.concat(groupValues.filter(function (v) { return !values.includes(v); }))
44
+ : values.filter(function (v) { return !groupValues.includes(v); });
45
+ onChange(newValues);
46
+ }; }, [onChange, values]);
47
+ var groupedItemsToRender = (0, react_1.useMemo)(function () {
48
+ if (showAll)
49
+ return groups;
50
+ var count = 0;
51
+ return groups
52
+ .map(function (group) {
53
+ if (count >= maxRowCount)
54
+ return null;
55
+ var remaining = maxRowCount - count;
56
+ var limitedItems = group.items.slice(0, remaining);
57
+ count += limitedItems.length;
58
+ return limitedItems.length ? { label: group.label, items: limitedItems } : null;
59
+ })
60
+ .filter(Boolean);
61
+ }, [groups, showAll, maxRowCount]);
62
+ var renderGroup = function (_a) {
63
+ var label = _a.label, items = _a.items;
64
+ var allItems = (0, ramda_1.pipe)((0, ramda_1.find)(function (group) { return group.label === label; }), (0, ramda_1.defaultTo)({ label: label, items: [] }), (0, ramda_1.prop)('items'))(groups);
65
+ var availableValuesWithCount = (0, ramda_1.pipe)((0, ramda_1.filter)(function (item) { return (item.number && item.number > 0) || values.includes(item.value); }), (0, ramda_1.pluck)('value'))(allItems);
66
+ var availableValues = shouldUseAllItems ? (0, ramda_1.pluck)('value', allItems) : availableValuesWithCount;
67
+ var checkedCount = availableValues.filter(function (v) { return values.includes(v); }).length;
68
+ var allChecked = checkedCount === availableValues.length && availableValues.length > 0;
69
+ var someChecked = checkedCount > 0 && checkedCount < availableValues.length;
70
+ return (react_1.default.createElement(react_1.default.Fragment, null,
71
+ react_1.default.createElement("div", { className: EntityTypesFacetGroups_module_css_1.default.groupHeader },
72
+ react_1.default.createElement(Checkbox_1.default, { className: EntityTypesFacetGroups_module_css_1.default.groupCheckbox, checked: allChecked, indeterminate: someChecked, onChange: handleCheckboxChange(availableValues), disabled: availableValues.length === 0 }),
73
+ label !== mdm_sdk_1.DEFAULT_ENTITY_TYPE_GROUP && react_1.default.createElement(LocalOfferOutlined_1.default, { className: EntityTypesFacetGroups_module_css_1.default.groupIcon }),
74
+ react_1.default.createElement("span", { className: EntityTypesFacetGroups_module_css_1.default.groupLabel }, label === mdm_sdk_1.DEFAULT_ENTITY_TYPE_GROUP ? ui_i18n_1.default.text('Other') : label)),
75
+ react_1.default.createElement(EntityTypesList_1.EntityTypesList, { data: items, values: values, onChange: onChange, countFormatter: countFormatter })));
76
+ };
77
+ return groups.length === 1 && groups[0].label === mdm_sdk_1.DEFAULT_ENTITY_TYPE_GROUP ? (react_1.default.createElement(EntityTypesList_1.EntityTypesList, { data: groupedItemsToRender[0].items, values: values, onChange: onChange, countFormatter: countFormatter })) : (react_1.default.createElement(react_1.default.Fragment, null, groupedItemsToRender.map(function (group) { return (react_1.default.createElement("div", { key: group.label }, renderGroup(group))); })));
78
+ };
79
+ exports.EntityTypesFacetGroups = EntityTypesFacetGroups;
@@ -0,0 +1,9 @@
1
+ const styles = {"groupHeader":"EntityTypesFacetGroups-groupHeader---V51b","groupCheckbox":"EntityTypesFacetGroups-groupCheckbox--owond","groupIcon":"EntityTypesFacetGroups-groupIcon--wPz-A","groupLabel":"EntityTypesFacetGroups-groupLabel--4yhjo"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.EntityTypesFacetGroups-groupHeader---V51b{align-items:center;background:#f5f5f5;display:flex;margin:2px 10px;padding:6px 8px}.EntityTypesFacetGroups-groupCheckbox--owond{margin-right:21px;padding:0}.EntityTypesFacetGroups-groupIcon--wPz-A{color:rgba(0,0,0,.54);height:20px;margin-right:8px;width:20px}.EntityTypesFacetGroups-groupLabel--4yhjo{font-size:14px;font-weight:500}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { EntityTypesFacetGroups } from './EntityTypesFacetGroups';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityTypesFacetGroups = void 0;
4
+ var EntityTypesFacetGroups_1 = require("./EntityTypesFacetGroups");
5
+ Object.defineProperty(exports, "EntityTypesFacetGroups", { enumerable: true, get: function () { return EntityTypesFacetGroups_1.EntityTypesFacetGroups; } });
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { EntityTypeFacetDataItem } from '@reltio/mdm-sdk';
3
+ type Props = {
4
+ data?: EntityTypeFacetDataItem[];
5
+ values?: string[];
6
+ countFormatter?: (number: number) => string;
7
+ onChange?: (values?: string[]) => void;
8
+ };
9
+ export declare const EntityTypesList: ({ data, values, onChange, countFormatter }: Props) => React.JSX.Element;
10
+ export {};
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.EntityTypesList = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
32
+ var classnames_1 = __importDefault(require("classnames"));
33
+ var ramda_1 = require("ramda");
34
+ var Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
35
+ var ColorBar_1 = require("../../../ColorBar");
36
+ var EntityTypesList_module_css_1 = __importDefault(require("./EntityTypesList.module.css"));
37
+ var EntityTypesList = function (_a) {
38
+ var _b = _a.data, data = _b === void 0 ? [] : _b, _c = _a.values, values = _c === void 0 ? [] : _c, _d = _a.onChange, onChange = _d === void 0 ? ramda_1.identity : _d, countFormatter = _a.countFormatter;
39
+ var shouldShowCount = !!countFormatter;
40
+ var handleItemClick = function (name) { return function () {
41
+ var newValues = values.includes(name) ? values.filter(function (val) { return val !== name; }) : values.concat(name);
42
+ onChange(newValues);
43
+ }; };
44
+ var maxNumber = Math.max.apply(Math, data.map(function (item) { return item.number; }));
45
+ var createControl = function (item) {
46
+ var _a;
47
+ return (react_1.default.createElement(Checkbox_1.default, { className: (0, classnames_1.default)(EntityTypesList_module_css_1.default.checkbox, (_a = {}, _a[EntityTypesList_module_css_1.default.checked] = values.includes(item.value), _a)), checked: values.includes(item.value), onChange: handleItemClick(item.value), value: item.value, color: "primary" }));
48
+ };
49
+ var createColorBar = function (item) {
50
+ var _a;
51
+ return (react_1.default.createElement(ColorBar_1.ColorBar, { className: (0, classnames_1.default)((_a = {}, _a[EntityTypesList_module_css_1.default.checkedBar] = values.includes(item.value), _a)), width: item.number, maxWidth: maxNumber }));
52
+ };
53
+ var shouldDisableItem = (0, react_1.useCallback)(function (item) {
54
+ return shouldShowCount && !item.number && !values.includes(item.value);
55
+ }, [shouldShowCount, values]);
56
+ return (react_1.default.createElement("div", { className: EntityTypesList_module_css_1.default.listContainer }, data.map(function (item) {
57
+ var _a;
58
+ return (react_1.default.createElement("div", { key: item.value, className: (0, classnames_1.default)(EntityTypesList_module_css_1.default.item, (_a = {},
59
+ _a[EntityTypesList_module_css_1.default.disabled] = shouldDisableItem(item),
60
+ _a)), "data-reltio-id": "search-facets-list-row" },
61
+ createControl(item),
62
+ react_1.default.createElement("div", { className: EntityTypesList_module_css_1.default.info, onClick: handleItemClick(item.value) },
63
+ shouldShowCount && createColorBar(item),
64
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(EntityTypesList_module_css_1.default.textInfo) },
65
+ react_1.default.createElement("div", { className: EntityTypesList_module_css_1.default.text }, item.label),
66
+ shouldShowCount && (react_1.default.createElement("div", { className: EntityTypesList_module_css_1.default.count }, item.number === undefined ? ui_i18n_1.default.text('N/A') : countFormatter(item.number)))))));
67
+ })));
68
+ };
69
+ exports.EntityTypesList = EntityTypesList;
@@ -0,0 +1,9 @@
1
+ const styles = {"listContainer":"EntityTypesList-listContainer--yH3ri","disabled":"EntityTypesList-disabled--HnKbn","item":"EntityTypesList-item--7i6HO","info":"EntityTypesList-info--j8-KL","checkedBar":"EntityTypesList-checkedBar--TGBZJ","checkbox":"EntityTypesList-checkbox--ZthGQ","checked":"EntityTypesList-checked--2Ba66","textInfo":"EntityTypesList-textInfo--sL0G-","text":"EntityTypesList-text--QzVMI","count":"EntityTypesList-count--xE-gy"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.EntityTypesList-listContainer--yH3ri{display:flex;flex-direction:column;padding-left:18px}.EntityTypesList-listContainer--yH3ri .EntityTypesList-disabled--HnKbn{opacity:.4;pointer-events:none}.EntityTypesList-item--7i6HO{display:flex;flex-direction:row;flex-grow:1;flex-shrink:0;margin-bottom:2px;margin-right:10px;margin-top:2px}.EntityTypesList-info--j8-KL{display:flex;flex-grow:1;margin-bottom:2px;margin-top:2px;min-width:0;position:relative}.EntityTypesList-info--j8-KL:hover{cursor:pointer}.EntityTypesList-info--j8-KL .EntityTypesList-checkedBar--TGBZJ{opacity:.4}.EntityTypesList-checkbox--ZthGQ{margin-right:14px;padding:0}.EntityTypesList-checkbox--ZthGQ .EntityTypesList-checked--2Ba66{opacity:1}.EntityTypesList-textInfo--sL0G-{align-items:center;background-color:transparent;display:flex;flex-grow:1;line-height:16px;min-width:0;z-index:2}.EntityTypesList-text--QzVMI{color:var(--mui-palette-text-primary);flex-grow:1;margin-left:7px;margin-right:4px;max-height:32px;width:100%;word-break:break-word;word-wrap:break-word;overflow:hidden}.EntityTypesList-count--xE-gy{color:var(--mui-palette-text-secondary);flex-shrink:0;font-size:12px;margin-right:4px;text-align:right}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { EntityTypesList } from './EntityTypesList';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityTypesList = void 0;
4
+ var EntityTypesList_1 = require("./EntityTypesList");
5
+ Object.defineProperty(exports, "EntityTypesList", { enumerable: true, get: function () { return EntityTypesList_1.EntityTypesList; } });
@@ -0,0 +1,2 @@
1
+ export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
2
+ export type { EntityTypesGroup } from './types';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuickFiltersEntityTypeFacet = void 0;
4
+ var QuickFiltersEntityTypeFacet_1 = require("./QuickFiltersEntityTypeFacet");
5
+ Object.defineProperty(exports, "QuickFiltersEntityTypeFacet", { enumerable: true, get: function () { return QuickFiltersEntityTypeFacet_1.QuickFiltersEntityTypeFacet; } });
@@ -0,0 +1,5 @@
1
+ import { EntityTypeFacetDataItem } from '@reltio/mdm-sdk';
2
+ export type EntityTypesGroup = {
3
+ label: string;
4
+ items: EntityTypeFacetDataItem[];
5
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -94,12 +94,12 @@ var getCountriesFromValues = function (_a) {
94
94
  (0, mdm_sdk_1.findAttributeTypeByUri)(metadata, countriesMapping === null || countriesMapping === void 0 ? void 0 : countriesMapping.attribute, modifiedEntity.type);
95
95
  if (countryAttributeType && !(0, mdm_sdk_1.isComplexAttribute)(countryAttributeType)) {
96
96
  var existingCountriesValues = (0, mdm_sdk_1.findAttributeValuesByTypeUri)(metadata, modifiedEntity, countriesMapping.attribute);
97
- var currentCountryValues = existingCountriesValues
97
+ var currentCountryValues = (0, ramda_1.uniqBy)((0, ramda_1.prop)('value'), existingCountriesValues
98
98
  .filter(mdm_sdk_1.isOv)
99
99
  .filter(function (countryValue) {
100
100
  return (0, mdm_sdk_1.areOneHierarchyUris)(triggerAttributeValueParentUri, (0, mdm_sdk_1.getParentUri)(countryValue.uri));
101
101
  })
102
- .filter(function (countryValue) { return countryValue.value; });
102
+ .filter(function (countryValue) { return countryValue.value; }));
103
103
  if (currentCountryValues === null || currentCountryValues === void 0 ? void 0 : currentCountryValues.length) {
104
104
  var countries = currentCountryValues.map(function (value) { return value.lookupCode || value.value.toString(); });
105
105
  return {
package/cjs/index.d.ts CHANGED
@@ -186,6 +186,9 @@ export type { DefaultHeadCellRendererWithTooltipProps } from './DefaultHeadCellR
186
186
  export { QuickFiltersDrawer } from './QuickFiltersDrawer';
187
187
  export { AdvancedSearchFabButton } from './AdvancedSearchFabButton';
188
188
  export { QuickFiltersFacetPanel } from './QuickFiltersFacetPanel';
189
+ export { FacetGroup } from './FacetGroup';
190
+ export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
191
+ export { FacetGroupTitle } from './FacetGroupTitle';
189
192
  export { withTooltip } from './HOCs/withTooltip';
190
193
  export { withAsyncMount } from './HOCs/withAsyncMount';
191
194
  export { withDragHandle } from './HOCs/withDragHandle';
package/cjs/index.js CHANGED
@@ -17,11 +17,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.NestedAttributeEditor = exports.NestedAttribute = exports.MoreAttributesButton = exports.InlineReferenceAttribute = exports.InlineNestedAttribute = exports.InlineImageAttribute = exports.InlineAttributesPager = exports.InfoIcon = exports.EditableImageAttributesLine = exports.FilterButton = exports.FacetViewHeader = exports.ExpandedValueTooltip = exports.EntitySelector = exports.EntityCreator = exports.AttributesPager = exports.AttributesList = exports.EditableAttribute = exports.DropDownMenuButton = exports.DescriptionIcon = exports.DefaultCellValueRenderer = exports.ControlAttributeIcon = exports.ColumnsSettingsPopup = exports.ColumnsSettings = exports.ColorBar = exports.CollapseRowButton = exports.BasicChartsFactory = exports.ChartsFactory = exports.CardinalityMessage = exports.BranchDecorator = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.BasicTablePagination = exports.basicTableViewState = exports.BasicTable = exports.BasicAttributeSelector = exports.BarChart = exports.AvatarWithFallback = exports.AutoSizeList = exports.AttributesView = exports.AttributesValuesEditor = exports.AttributesFiltersButton = exports.AttributesFiltersBuilder = exports.AttributesFilterSelector = exports.AttributesErrorsPanel = exports.AttributeListItem = exports.AttributeGroupIcon = exports.ArrowExpandButton = exports.ActionsPanel = exports.ActionButton = void 0;
18
18
  exports.DropDownSelector = exports.ReactSelectOptionWithCheckIcon = exports.ReactSelectMenuWithPopper = exports.ReactSelectMenuList = exports.ReactSelectLoadMoreButton = exports.ReactSelectDropdownIndicatorWithIconButton = exports.ReactSelectDropdownIndicator = exports.Highlighter = exports.HierarchyNodeTitle = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.ExpandableSearchInput = exports.ErrorPopup = exports.ErrorBoundary = exports.SegmentIdLink = exports.EntityUriLink = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = exports.EmptyState = exports.Drawer = exports.DataTypeValue = exports.DataTenantBadge = exports.ConnectionRelationTypeSelector = exports.CollaborationItem = exports.ConfirmationDialog = exports.CommentsContainer = exports.ColoredSourceIcon = exports.CollapseButton = exports.TreeChart = exports.TableWithBars = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleAttributeEditor = exports.SimpleAttribute = exports.RowCellAutoSizer = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.ReferenceAttribute = exports.ImageAttributesLine = exports.ReadOnlyAttributesPager = exports.ReadOnlyAttributesList = exports.ReadOnlyAttribute = exports.ReadOnlyAttributeValuesBlock = exports.PieChart = exports.OvIcon = void 0;
19
19
  exports.SimpleMatchRulesBuilder = exports.SimpleMatchRulesBlock = exports.SimpleMatchRules = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportButton = exports.ReadableSearchQueryBuilder = exports.ReadableSearchQuery = exports.LogicOperator = exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.RelevanceScoreBadge = exports.RequiredMark = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.ProfilesList = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.ImageGalleryDialog = exports.RelationTypesSelector = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.EmptyStub = exports.MaskingSwitcher = exports.FileTypeEditor = exports.EmptySearchResult = exports.DropDownEditor = exports.FilterValueEditor = exports.MultiValueChip = exports.TextEditor = exports.DateRangeEditor = exports.NumberEditor = exports.DataTypeValueEditor = exports.DateEditor = exports.ErrorWrapper = exports.ErrorMessage = exports.HIDE = exports.INSERT_RIGHT = exports.INSERT_LEFT = exports.ConfigColumnPopup = exports.ConfigureColumnsPopup = exports.ConnectionEditor = void 0;
20
- exports.withTooltip = exports.QuickFiltersFacetPanel = exports.AdvancedSearchFabButton = exports.QuickFiltersDrawer = exports.DefaultHeadCellRendererWithTooltip = exports.LazyRenderer = exports.MetadataTypesSelector = exports.DateRangeSelector = exports.UpSetChart = exports.GaugeChart = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.RCTreeSwitchRenderer = exports.RCTreeLevelLines = exports.RCTree = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = void 0;
21
- exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.RelationContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.usePerspectivesSettings = exports.PerspectivesSettingsContext = exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = exports.CollaborationContext = exports.BlockNavigationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withColumnConfigurator = exports.withBlockNavigation = exports.withCollapseButton = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = void 0;
22
- exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useMatchesColumnsData = exports.useScrollToAttributeError = exports.ThemeProvider = exports.ProfileTablesContext = exports.HiddenAttributesContext = exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.useDeleteUnmaskedAttributeForRelation = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = exports.MaskedAttributesProvider = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = void 0;
23
- exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.getAttrPathFromColumnId = exports.getAttributeHeight = exports.getNestedPathByColumnId = exports.applyCompactValuesCountConstraint = exports.getAttributeSelectorItems = exports.mergeClasses = exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsSizeById = exports.buildColumnsFilter = exports.useSegmentsLoader = exports.useDndBasicTableScrollModifier = exports.useDynamicYAxisWidth = exports.useFilterAutoFocus = exports.useSegmentationRequest = exports.resolveMarkers = exports.useMarkers = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = void 0;
24
- exports.mockComputedStyles = void 0;
20
+ exports.FacetGroup = exports.QuickFiltersFacetPanel = exports.AdvancedSearchFabButton = exports.QuickFiltersDrawer = exports.DefaultHeadCellRendererWithTooltip = exports.LazyRenderer = exports.MetadataTypesSelector = exports.DateRangeSelector = exports.UpSetChart = exports.GaugeChart = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.RCTreeSwitchRenderer = exports.RCTreeLevelLines = exports.RCTree = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = void 0;
21
+ exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.RelationContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.usePerspectivesSettings = exports.PerspectivesSettingsContext = exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = exports.CollaborationContext = exports.BlockNavigationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withColumnConfigurator = exports.withBlockNavigation = exports.withCollapseButton = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = exports.withTooltip = exports.FacetGroupTitle = exports.QuickFiltersEntityTypeFacet = void 0;
22
+ exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useMatchesColumnsData = exports.useScrollToAttributeError = exports.ThemeProvider = exports.ProfileTablesContext = exports.HiddenAttributesContext = exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.useDeleteUnmaskedAttributeForRelation = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = exports.MaskedAttributesProvider = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = void 0;
23
+ exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.getAttrPathFromColumnId = exports.getAttributeHeight = exports.getNestedPathByColumnId = exports.applyCompactValuesCountConstraint = exports.getAttributeSelectorItems = exports.mergeClasses = exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsSizeById = exports.buildColumnsFilter = exports.useSegmentsLoader = exports.useDndBasicTableScrollModifier = exports.useDynamicYAxisWidth = exports.useFilterAutoFocus = exports.useSegmentationRequest = exports.resolveMarkers = exports.useMarkers = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = void 0;
24
+ exports.mockComputedStyles = exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = void 0;
25
25
  // components
26
26
  var ActionButton_1 = require("./ActionButton");
27
27
  Object.defineProperty(exports, "ActionButton", { enumerable: true, get: function () { return ActionButton_1.ActionButton; } });
@@ -409,6 +409,12 @@ var AdvancedSearchFabButton_1 = require("./AdvancedSearchFabButton");
409
409
  Object.defineProperty(exports, "AdvancedSearchFabButton", { enumerable: true, get: function () { return AdvancedSearchFabButton_1.AdvancedSearchFabButton; } });
410
410
  var QuickFiltersFacetPanel_1 = require("./QuickFiltersFacetPanel");
411
411
  Object.defineProperty(exports, "QuickFiltersFacetPanel", { enumerable: true, get: function () { return QuickFiltersFacetPanel_1.QuickFiltersFacetPanel; } });
412
+ var FacetGroup_1 = require("./FacetGroup");
413
+ Object.defineProperty(exports, "FacetGroup", { enumerable: true, get: function () { return FacetGroup_1.FacetGroup; } });
414
+ var QuickFiltersEntityTypeFacet_1 = require("./QuickFiltersEntityTypeFacet");
415
+ Object.defineProperty(exports, "QuickFiltersEntityTypeFacet", { enumerable: true, get: function () { return QuickFiltersEntityTypeFacet_1.QuickFiltersEntityTypeFacet; } });
416
+ var FacetGroupTitle_1 = require("./FacetGroupTitle");
417
+ Object.defineProperty(exports, "FacetGroupTitle", { enumerable: true, get: function () { return FacetGroupTitle_1.FacetGroupTitle; } });
412
418
  // HOCs
413
419
  var withTooltip_1 = require("./HOCs/withTooltip");
414
420
  Object.defineProperty(exports, "withTooltip", { enumerable: true, get: function () { return withTooltip_1.withTooltip; } });
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { pluck } from 'ramda';
12
+ import { pluck, prop, uniqBy } from 'ramda';
13
13
  import { findAttributeTypeByUri, findAttributeValuesByTypeUri, isComplexAttribute, isOv, getParentUri, generateUri, InputCleanseAttributeType, areOneHierarchyUris, DataTypes, isNested } from '@reltio/mdm-sdk';
14
14
  var MINIMUM_NESTED_LEVEL = 1;
15
15
  var MIN_SEARCH_TEXT_LEN = 3;
@@ -91,12 +91,12 @@ var getCountriesFromValues = function (_a) {
91
91
  findAttributeTypeByUri(metadata, countriesMapping === null || countriesMapping === void 0 ? void 0 : countriesMapping.attribute, modifiedEntity.type);
92
92
  if (countryAttributeType && !isComplexAttribute(countryAttributeType)) {
93
93
  var existingCountriesValues = findAttributeValuesByTypeUri(metadata, modifiedEntity, countriesMapping.attribute);
94
- var currentCountryValues = existingCountriesValues
94
+ var currentCountryValues = uniqBy(prop('value'), existingCountriesValues
95
95
  .filter(isOv)
96
96
  .filter(function (countryValue) {
97
97
  return areOneHierarchyUris(triggerAttributeValueParentUri, getParentUri(countryValue.uri));
98
98
  })
99
- .filter(function (countryValue) { return countryValue.value; });
99
+ .filter(function (countryValue) { return countryValue.value; }));
100
100
  if (currentCountryValues === null || currentCountryValues === void 0 ? void 0 : currentCountryValues.length) {
101
101
  var countries = currentCountryValues.map(function (value) { return value.lookupCode || value.value.toString(); });
102
102
  return {
package/index.d.ts CHANGED
@@ -186,6 +186,9 @@ export type { DefaultHeadCellRendererWithTooltipProps } from './DefaultHeadCellR
186
186
  export { QuickFiltersDrawer } from './QuickFiltersDrawer';
187
187
  export { AdvancedSearchFabButton } from './AdvancedSearchFabButton';
188
188
  export { QuickFiltersFacetPanel } from './QuickFiltersFacetPanel';
189
+ export { FacetGroup } from './FacetGroup';
190
+ export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
191
+ export { FacetGroupTitle } from './FacetGroupTitle';
189
192
  export { withTooltip } from './HOCs/withTooltip';
190
193
  export { withAsyncMount } from './HOCs/withAsyncMount';
191
194
  export { withDragHandle } from './HOCs/withDragHandle';
package/index.js CHANGED
@@ -186,6 +186,9 @@ export { DefaultHeadCellRendererWithTooltip } from './DefaultHeadCellRendererWit
186
186
  export { QuickFiltersDrawer } from './QuickFiltersDrawer';
187
187
  export { AdvancedSearchFabButton } from './AdvancedSearchFabButton';
188
188
  export { QuickFiltersFacetPanel } from './QuickFiltersFacetPanel';
189
+ export { FacetGroup } from './FacetGroup';
190
+ export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
191
+ export { FacetGroupTitle } from './FacetGroupTitle';
189
192
  // HOCs
190
193
  export { withTooltip } from './HOCs/withTooltip';
191
194
  export { withAsyncMount } from './HOCs/withAsyncMount';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.2162",
3
+ "version": "1.4.2164",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -11,7 +11,7 @@
11
11
  "@fluentui/react-context-selector": "^9.1.26",
12
12
  "@googlemaps/markerclusterer": "^2.5.3",
13
13
  "@react-sigma/core": "3.4.0",
14
- "@reltio/mdm-sdk": "^1.4.1979",
14
+ "@reltio/mdm-sdk": "^1.4.1980",
15
15
  "@vis.gl/react-google-maps": "^1.3.0",
16
16
  "d3-cloud": "^1.2.5",
17
17
  "d3-geo": "^2.0.1",