@reltio/components 1.4.2185 → 1.4.2186

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 (45) hide show
  1. package/FacetContainer/FacetContainer.d.ts +18 -0
  2. package/FacetContainer/FacetContainer.js +30 -0
  3. package/FacetContainer/FacetContainer.module.css.js +9 -0
  4. package/FacetContainer/components/ChipsCount/ChipCount.module.css.js +9 -0
  5. package/FacetContainer/components/ChipsCount/ChipsCount.d.ts +26 -0
  6. package/FacetContainer/components/ChipsCount/ChipsCount.js +39 -0
  7. package/FacetContainer/components/FacetTitle/FacetTitle.d.ts +10 -0
  8. package/FacetContainer/components/FacetTitle/FacetTitle.js +31 -0
  9. package/FacetContainer/components/FacetTitle/FacetTitle.module.css.js +9 -0
  10. package/FacetContainer/index.d.ts +1 -0
  11. package/FacetContainer/index.js +1 -0
  12. package/FacetsSelector/FacetsSelector.d.ts +2 -2
  13. package/FacetsSelector/FacetsSelector.js +2 -2
  14. package/FacetsSelector/components/AttributeSelectorPopup/AttributeSelectorPopup.d.ts +2 -2
  15. package/FacetsSelector/components/AttributeSelectorPopup/AttributeSelectorPopup.js +5 -5
  16. package/FacetsSelector/components/FacetsList/FacetsList.d.ts +3 -3
  17. package/FacetsSelector/components/FacetsList/FacetsList.js +6 -6
  18. package/FacetsSelector/components/FacetsList/FacetsList.module.css.js +2 -2
  19. package/FacetsSelector/helpers.d.ts +2 -2
  20. package/FacetsSelector/helpers.js +2 -2
  21. package/cjs/FacetContainer/FacetContainer.d.ts +18 -0
  22. package/cjs/FacetContainer/FacetContainer.js +60 -0
  23. package/cjs/FacetContainer/FacetContainer.module.css.js +9 -0
  24. package/cjs/FacetContainer/components/ChipsCount/ChipCount.module.css.js +9 -0
  25. package/cjs/FacetContainer/components/ChipsCount/ChipsCount.d.ts +26 -0
  26. package/cjs/FacetContainer/components/ChipsCount/ChipsCount.js +45 -0
  27. package/cjs/FacetContainer/components/FacetTitle/FacetTitle.d.ts +10 -0
  28. package/cjs/FacetContainer/components/FacetTitle/FacetTitle.js +36 -0
  29. package/cjs/FacetContainer/components/FacetTitle/FacetTitle.module.css.js +9 -0
  30. package/cjs/FacetContainer/index.d.ts +1 -0
  31. package/cjs/FacetContainer/index.js +5 -0
  32. package/cjs/FacetsSelector/FacetsSelector.d.ts +2 -2
  33. package/cjs/FacetsSelector/FacetsSelector.js +2 -2
  34. package/cjs/FacetsSelector/components/AttributeSelectorPopup/AttributeSelectorPopup.d.ts +2 -2
  35. package/cjs/FacetsSelector/components/AttributeSelectorPopup/AttributeSelectorPopup.js +5 -5
  36. package/cjs/FacetsSelector/components/FacetsList/FacetsList.d.ts +3 -3
  37. package/cjs/FacetsSelector/components/FacetsList/FacetsList.js +6 -6
  38. package/cjs/FacetsSelector/components/FacetsList/FacetsList.module.css.js +2 -2
  39. package/cjs/FacetsSelector/helpers.d.ts +2 -2
  40. package/cjs/FacetsSelector/helpers.js +2 -2
  41. package/cjs/index.d.ts +1 -0
  42. package/cjs/index.js +6 -4
  43. package/index.d.ts +1 -0
  44. package/index.js +1 -0
  45. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export declare const RecommendedIconWithTooltip: React.ForwardRefExoticComponent<{
3
+ tooltipTitle?: import("@mui/material").TooltipProps["title"];
4
+ tooltipPlacement?: import("@mui/material").TooltipProps["placement"];
5
+ showForDisabled?: boolean;
6
+ } & React.SVGAttributes<SVGElement> & React.RefAttributes<HTMLElement>>;
7
+ export type Props = {
8
+ children?: React.ReactNode;
9
+ title: string;
10
+ chipLabel?: number;
11
+ pathToTitle?: string[];
12
+ isOpenByDefault?: boolean;
13
+ isHighlighted?: boolean;
14
+ isRecommended?: boolean;
15
+ onDeleteChip?: () => void;
16
+ onClose?: () => void;
17
+ };
18
+ export declare const FacetContainer: ({ children, title, chipLabel, pathToTitle, isOpenByDefault, isHighlighted, isRecommended, onDeleteChip, onClose }: Props) => React.JSX.Element;
@@ -0,0 +1,30 @@
1
+ import React, { useState } from 'react';
2
+ import i18n from 'ui-i18n';
3
+ import classnames from 'classnames';
4
+ import CloseIcon from '@mui/icons-material/Close';
5
+ import { CollapseButton } from '../CollapseButton';
6
+ import { SmallIconButtonWithTooltip } from '../SmallIconButton';
7
+ import { withTooltip } from '../HOCs/withTooltip';
8
+ import FacetTitle from './components/FacetTitle/FacetTitle';
9
+ import RecommendedIcon from './Recommended.svg';
10
+ import styles from './FacetContainer.module.css';
11
+ export var RecommendedIconWithTooltip = withTooltip(RecommendedIcon);
12
+ export var FacetContainer = function (_a) {
13
+ var _b;
14
+ var children = _a.children, title = _a.title, chipLabel = _a.chipLabel, pathToTitle = _a.pathToTitle, _c = _a.isOpenByDefault, isOpenByDefault = _c === void 0 ? true : _c, _d = _a.isHighlighted, isHighlighted = _d === void 0 ? false : _d, _e = _a.isRecommended, isRecommended = _e === void 0 ? false : _e, onDeleteChip = _a.onDeleteChip, onClose = _a.onClose;
15
+ var _f = useState(isOpenByDefault), open = _f[0], setOpen = _f[1];
16
+ var toggleOpen = function () {
17
+ setOpen(!open);
18
+ };
19
+ return (React.createElement("div", { className: classnames(styles.facetContainer, (_b = {},
20
+ _b[styles.openedFacetContainer] = open,
21
+ _b[styles.closedFacetContainer] = !open,
22
+ _b[styles.highlighted] = isHighlighted,
23
+ _b)), "data-reltio-id": "search-facet-container-".concat(title) },
24
+ React.createElement("div", { className: styles.titleContainer },
25
+ React.createElement(SmallIconButtonWithTooltip, { tooltipTitle: i18n.text('Remove'), icon: CloseIcon, onClick: onClose, className: styles.iconButton, size: "XXS" }),
26
+ isRecommended && (React.createElement(RecommendedIconWithTooltip, { className: styles.recommendedIcon, tooltipTitle: i18n.text('Recommended'), showForDisabled: true })),
27
+ React.createElement(FacetTitle, { title: title, pathToTitle: pathToTitle, chipLabel: chipLabel, onDelete: onDeleteChip, onClick: toggleOpen }),
28
+ React.createElement(CollapseButton, { onClick: toggleOpen, isOpen: open, className: styles.iconButton, size: "S", tooltipTitle: open ? i18n.text('Collapse attribute') : i18n.text('Expand attribute'), tooltipPlacement: "bottom-end" })),
29
+ open ? children : null));
30
+ };
@@ -0,0 +1,9 @@
1
+ const styles = {"facetContainer":"FacetContainer-facetContainer--PGQJm","openedFacetContainer":"FacetContainer-openedFacetContainer--T0y7f","closedFacetContainer":"FacetContainer-closedFacetContainer--s6-qP","iconButton":"FacetContainer-iconButton--FOXN9","recommendedIcon":"FacetContainer-recommendedIcon--v3mLt","titleContainer":"FacetContainer-titleContainer--mxRz2","expandIcon":"FacetContainer-expandIcon--eNUwN","expanded":"FacetContainer-expanded--XgtFv","highlighted":"FacetContainer-highlighted--Cf-qC","animate":"FacetContainer-animate--nGob0"};
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 = `.FacetContainer-facetContainer--PGQJm{border-bottom:1px solid rgba(0,0,0,.33);border-radius:1px;display:flex;flex-direction:column;flex-grow:1;flex-shrink:0;padding:0 16px;position:relative}.FacetContainer-facetContainer--PGQJm:last-child{border-bottom:1px solid #fff}.FacetContainer-openedFacetContainer--T0y7f{padding-bottom:15px}.FacetContainer-closedFacetContainer--s6-qP{padding-bottom:5px}.FacetContainer-iconButton--FOXN9{visibility:hidden}.FacetContainer-iconButton--FOXN9:first-child{height:24px;margin-left:-16px;width:24px}.FacetContainer-recommendedIcon--v3mLt{flex-shrink:0;height:18px;margin-right:6px;width:18px}.FacetContainer-titleContainer--mxRz2{align-items:center;border-radius:1px;display:flex;flex-direction:row;flex-shrink:0;height:42px;margin-left:-16px;padding-left:16px}.FacetContainer-titleContainer--mxRz2:hover .FacetContainer-iconButton--FOXN9{visibility:visible}.FacetContainer-expandIcon--eNUwN{color:rgba(0,0,0,.54);margin:0 2px;transition:transform .15s ease}.FacetContainer-expanded--XgtFv{transform:rotate(180deg)}@keyframes FacetContainer-animate--nGob0{0%{background:#fffbeb}66%{background:#fffbeb}to{background:transparent}}.FacetContainer-highlighted--Cf-qC{animation-duration:3s;animation-iteration-count:1;animation-name:FacetContainer-animate--nGob0}`;
7
+ head.appendChild(style);
8
+ }
9
+ export default styles;
@@ -0,0 +1,9 @@
1
+ const styles = {"root":"ChipsCount-root--nvCui","deleteIcon":"ChipsCount-deleteIcon--5PYeW","outlined":"ChipsCount-outlined--GUmLb","label":"ChipsCount-label--G-hwC"};
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 = `.ChipsCount-root--nvCui{background-color:transparent;border:1px solid rgba(0,0,0,.12);border-radius:16px;box-sizing:border-box;height:18px}.ChipsCount-root--nvCui .ChipsCount-deleteIcon--5PYeW{color:rgba(0,0,0,.38);height:12px;margin:0;width:12px}.ChipsCount-outlined--GUmLb .ChipsCount-deleteIcon--5PYeW{margin-right:2px}.ChipsCount-label--G-hwC{color:rgba(0,0,0,.38);font-size:12px;font-weight:500;line-height:16px;padding-left:4px;padding-right:4px}`;
7
+ head.appendChild(style);
8
+ }
9
+ export default styles;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { ChipProps } from '@mui/material/Chip';
3
+ export declare const ClearIconWithTooltip: React.ForwardRefExoticComponent<Omit<{
4
+ tooltipTitle?: import("@mui/material").TooltipProps["title"];
5
+ tooltipPlacement?: import("@mui/material").TooltipProps["placement"];
6
+ showForDisabled?: boolean;
7
+ } & {
8
+ children?: React.ReactNode;
9
+ classes?: Partial<import("@mui/material").SvgIconClasses>;
10
+ color?: import("@mui/types").OverridableStringUnion<"inherit" | "action" | "disabled" | "primary" | "secondary" | "error" | "info" | "success" | "warning", import("@mui/material").SvgIconPropsColorOverrides>;
11
+ fontSize?: import("@mui/types").OverridableStringUnion<"inherit" | "large" | "medium" | "small", import("@mui/material").SvgIconPropsSizeOverrides>;
12
+ htmlColor?: string;
13
+ inheritViewBox?: boolean;
14
+ shapeRendering?: string;
15
+ sx?: import("@mui/system").SxProps<import("@mui/material").Theme>;
16
+ titleAccess?: string;
17
+ viewBox?: string;
18
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<React.SVGProps<SVGSVGElement>, "ref"> & {
19
+ ref?: React.Ref<SVGSVGElement>;
20
+ }, "color" | "fontSize" | "shapeRendering" | "children" | "sx" | keyof import("@mui/material/OverridableComponent").CommonProps | "viewBox" | "htmlColor" | "inheritViewBox" | "titleAccess">, "ref"> & React.RefAttributes<HTMLElement>>;
21
+ type Props = Omit<ChipProps, 'onDelete' | 'label'> & {
22
+ label: number;
23
+ onDelete?: () => void;
24
+ };
25
+ declare const ChipsCount: ({ label, onDelete, ...extraProps }: Props) => React.JSX.Element;
26
+ export default ChipsCount;
@@ -0,0 +1,39 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React from 'react';
24
+ import i18n from 'ui-i18n';
25
+ import Chip from '@mui/material/Chip';
26
+ import ClearIcon from '@mui/icons-material/Cancel';
27
+ import { withTooltip } from '../../../HOCs/withTooltip';
28
+ import styles from './ChipCount.module.css';
29
+ export var ClearIconWithTooltip = withTooltip(ClearIcon);
30
+ var ChipsCount = function (_a) {
31
+ var label = _a.label, onDelete = _a.onDelete, extraProps = __rest(_a, ["label", "onDelete"]);
32
+ return (React.createElement(Chip, __assign({ className: styles.root, label: i18n.number(label), onDelete: onDelete, variant: "outlined", classes: {
33
+ root: styles.root,
34
+ outlined: styles.outlined,
35
+ deleteIcon: styles.deleteIcon,
36
+ label: styles.label
37
+ }, deleteIcon: React.createElement(ClearIconWithTooltip, { tooltipTitle: i18n.text('Clear') }) }, extraProps)));
38
+ };
39
+ export default ChipsCount;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ title?: string;
4
+ chipLabel?: number;
5
+ onDelete?: () => void;
6
+ pathToTitle?: string[];
7
+ onClick?: () => void;
8
+ };
9
+ declare const FacetTitle: ({ title, chipLabel, onDelete, pathToTitle, onClick }: Props) => React.JSX.Element;
10
+ export default FacetTitle;
@@ -0,0 +1,31 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ import { ExpandedValueTooltip } from '../../../ExpandedValueTooltip';
14
+ import { HierarchicalAttributeTooltip } from '../../../HierarchicalAttributeTooltip';
15
+ import ChipsCount from '../ChipsCount/ChipsCount';
16
+ import styles from './FacetTitle.module.css';
17
+ var FacetTitle = function (_a) {
18
+ var _b = _a.title, title = _b === void 0 ? '' : _b, _c = _a.chipLabel, chipLabel = _c === void 0 ? 0 : _c, onDelete = _a.onDelete, pathToTitle = _a.pathToTitle, onClick = _a.onClick;
19
+ var isNested = Boolean(pathToTitle && pathToTitle.length > 2);
20
+ var TooltipComponent = isNested ? HierarchicalAttributeTooltip : ExpandedValueTooltip;
21
+ var tooltipProps = isNested ? { pathToTitle: pathToTitle } : { value: title };
22
+ return (React.createElement("div", { className: styles.container, onClick: onClick },
23
+ isNested && (React.createElement(HierarchicalAttributeTooltip, __assign({ placement: "bottom-start" }, tooltipProps),
24
+ React.createElement("div", { className: styles.parent }, pathToTitle[pathToTitle.length - 2]))),
25
+ React.createElement("div", { className: styles.titleContainer },
26
+ React.createElement(TooltipComponent, __assign({ placement: "bottom-start" }, tooltipProps),
27
+ React.createElement("span", { className: styles.title }, title)),
28
+ chipLabel !== 0 && (React.createElement("div", { className: styles.chip },
29
+ React.createElement(ChipsCount, { label: chipLabel, onDelete: onDelete }))))));
30
+ };
31
+ export default FacetTitle;
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"FacetTitle-container--fegMx","parent":"FacetTitle-parent--0sIc8","titleContainer":"FacetTitle-titleContainer--e8PWF","title":"FacetTitle-title--Four7","chip":"FacetTitle-chip--L9nDB"};
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 = `.FacetTitle-container--fegMx{cursor:pointer;display:flex;flex-direction:column;flex-grow:1;height:100%;justify-content:center;min-width:0}.FacetTitle-parent--0sIc8{color:var(--mui-palette-text-secondary);font-size:13px;letter-spacing:0;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FacetTitle-titleContainer--e8PWF{align-items:flex-end;display:flex;flex-direction:row;height:18px;overflow:hidden;width:100%}.FacetTitle-title--Four7{color:var(--mui-palette-text-primary);font-size:14px;font-weight:500;letter-spacing:.24px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FacetTitle-chip--L9nDB{display:inline;margin-left:6px}`;
7
+ head.appendChild(style);
8
+ }
9
+ export default styles;
@@ -0,0 +1 @@
1
+ export { FacetContainer } from './FacetContainer';
@@ -0,0 +1 @@
1
+ export { FacetContainer } from './FacetContainer';
@@ -4,10 +4,10 @@ import { MoreFacetItem } from './types';
4
4
  type Props = {
5
5
  open?: boolean;
6
6
  data?: MoreFacetItem[];
7
- selectedFacets: FacetConfig[];
7
+ selectedFacetsFieldNames: string[];
8
8
  onOpen: () => void;
9
9
  onClose: () => void;
10
10
  onFacetToggle: (item: FacetConfig, selected: boolean) => void;
11
11
  };
12
- export declare const FacetsSelector: ({ open, data, selectedFacets, onOpen, onClose, onFacetToggle }: Props) => React.JSX.Element;
12
+ export declare const FacetsSelector: ({ open, data, selectedFacetsFieldNames, onOpen, onClose, onFacetToggle }: Props) => React.JSX.Element;
13
13
  export default FacetsSelector;
@@ -5,7 +5,7 @@ import { SearchInput } from '../SearchInput';
5
5
  import { filterItemsInGroups } from './helpers';
6
6
  import styles from './FacetsSelector.module.css';
7
7
  export var FacetsSelector = function (_a) {
8
- var open = _a.open, data = _a.data, selectedFacets = _a.selectedFacets, onOpen = _a.onOpen, onClose = _a.onClose, onFacetToggle = _a.onFacetToggle;
8
+ var open = _a.open, data = _a.data, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, onOpen = _a.onOpen, onClose = _a.onClose, onFacetToggle = _a.onFacetToggle;
9
9
  var _b = useState(''), filterText = _b[0], setFilterText = _b[1];
10
10
  var _c = useState(null), lastFacetClicked = _c[0], setLastFacetClicked = _c[1];
11
11
  var searchInputRootRef = useRef(null);
@@ -26,6 +26,6 @@ export var FacetsSelector = function (_a) {
26
26
  }, [onOpen]);
27
27
  return (React.createElement(React.Fragment, null,
28
28
  React.createElement(SearchInput, { classes: { root: styles.inputContainer }, onSearch: setFilterText, onFocus: handleOpen, rootRef: searchInputRootRef, value: filterText, placeholder: i18n.text('Search & add attributes'), height: 40, "data-reltio-id": "reltio-search-more-facets-search-input" }),
29
- React.createElement(AttributeSelectorPopup, { open: open, selectedFacets: selectedFacets, data: filteredList, lastFacetClicked: lastFacetClicked, anchorRef: searchInputRootRef, onListItemClick: handleListItemClick, onClose: handleClose, onSearch: setFilterText })));
29
+ React.createElement(AttributeSelectorPopup, { open: open, selectedFacetsFieldNames: selectedFacetsFieldNames, data: filteredList, lastFacetClicked: lastFacetClicked, anchorRef: searchInputRootRef, onListItemClick: handleListItemClick, onClose: handleClose, onSearch: setFilterText })));
30
30
  };
31
31
  export default FacetsSelector;
@@ -3,7 +3,7 @@ import { FacetConfig } from '@reltio/mdm-sdk';
3
3
  import { MoreFacetItem, SelectedFacet } from '../../types';
4
4
  type Props = {
5
5
  open?: boolean;
6
- selectedFacets: FacetConfig[];
6
+ selectedFacetsFieldNames: string[];
7
7
  data?: MoreFacetItem[];
8
8
  lastFacetClicked?: SelectedFacet;
9
9
  anchorRef: React.RefObject<HTMLInputElement>;
@@ -11,5 +11,5 @@ type Props = {
11
11
  onSearch?: (value?: string) => void;
12
12
  onClose?: () => void;
13
13
  };
14
- export declare const AttributeSelectorPopup: ({ open, selectedFacets, data, lastFacetClicked, anchorRef, onListItemClick, onSearch, onClose }: Props) => React.JSX.Element;
14
+ export declare const AttributeSelectorPopup: ({ open, selectedFacetsFieldNames, data, lastFacetClicked, anchorRef, onListItemClick, onSearch, onClose }: Props) => React.JSX.Element;
15
15
  export {};
@@ -13,7 +13,7 @@ import styles from './AttributeSelectorPopup.module.css';
13
13
  var defaultLastFacetClicked = {};
14
14
  export var AttributeSelectorPopup = function (_a) {
15
15
  var _b, _c;
16
- var open = _a.open, selectedFacets = _a.selectedFacets, _d = _a.data, data = _d === void 0 ? [] : _d, _e = _a.lastFacetClicked, lastFacetClicked = _e === void 0 ? defaultLastFacetClicked : _e, anchorRef = _a.anchorRef, onListItemClick = _a.onListItemClick, onSearch = _a.onSearch, onClose = _a.onClose;
16
+ var open = _a.open, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, _d = _a.data, data = _d === void 0 ? [] : _d, _e = _a.lastFacetClicked, lastFacetClicked = _e === void 0 ? defaultLastFacetClicked : _e, anchorRef = _a.anchorRef, onListItemClick = _a.onListItemClick, onSearch = _a.onSearch, onClose = _a.onClose;
17
17
  var _f = useState(DEFAULT_LIST_HEIGHT), listHeight = _f[0], setListHeight = _f[1];
18
18
  var _g = adjustVerticalPopupLayout(anchorRef.current, DEFAULT_ATTRIBUTE_SELECTOR_POPUP_HEIGHT), verticalOrigin = _g.verticalOrigin, _h = _g.popupHeight, popupHeight = _h === void 0 ? DEFAULT_ATTRIBUTE_SELECTOR_POPUP_HEIGHT : _h;
19
19
  var maxListHeight = popupHeight - POPUP_HEADER_HEIGHT;
@@ -61,17 +61,17 @@ export var AttributeSelectorPopup = function (_a) {
61
61
  var popupWidth = (_c = (_b = anchorRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width) !== null && _c !== void 0 ? _c : 0;
62
62
  var handleSearchOnEnter = useCallback(function (_a) {
63
63
  var item = _a.item, groupData = _a.groupData;
64
- onListItemClick(item, !isSelectedFacet({ facet: item, selectedFacets: selectedFacets }), groupData.groupId);
65
- }, [onListItemClick, selectedFacets]);
64
+ onListItemClick(item, !isSelectedFacet({ facet: item, selectedFacetsFieldNames: selectedFacetsFieldNames }), groupData.groupId);
65
+ }, [onListItemClick, selectedFacetsFieldNames]);
66
66
  var _j = useKeyboardNavigation({
67
67
  items: items,
68
68
  open: open,
69
69
  onSelectFocusedItem: handleSearchOnEnter,
70
- selectedItems: selectedFacets
70
+ selectedItems: selectedFacetsFieldNames
71
71
  }), focusIndex = _j.focusIndex, handleKeyDown = _j.handleKeyDown;
72
72
  var containerWidth = Math.max(popupWidth || getMaxItemWidth('title')(groupedItems), DEFAULT_MIN_CONTAINER_WIDTH);
73
73
  return (React.createElement(SelectionPopup, { open: open, action: popupActionRef, title: i18n.text('Select attribute'), containerWidth: containerWidth, searchInputOnKeyDown: handleKeyDown, containerHeight: POPUP_HEADER_HEIGHT + listHeight, anchorOrigin: popupOrigin, transformOrigin: popupOrigin, headerPlacement: verticalOrigin === 'bottom' ? 'bottom' : 'top', anchorEl: anchorRef.current, disableRestoreFocus: true, onSearch: onSearch, onClose: onClose },
74
- React.createElement(FacetsList, { focusIndex: focusIndex, selectedFacets: selectedFacets, onListItemClick: onListItemClick, items: items, height: listHeight, onInnerContainerResize: handleResizeList }),
74
+ React.createElement(FacetsList, { focusIndex: focusIndex, selectedFacetsFieldNames: selectedFacetsFieldNames, onListItemClick: onListItemClick, items: items, height: listHeight, onInnerContainerResize: handleResizeList }),
75
75
  items.length === 0 && (React.createElement("div", { className: styles.noResultsCaptionContainer },
76
76
  React.createElement(Typography, { variant: "caption", display: "block", gutterBottom: true }, i18n.text('No results found'))))));
77
77
  };
@@ -1,5 +1,5 @@
1
1
  import React, { ComponentProps } from 'react';
2
- import { AttributeType, FacetConfig } from '@reltio/mdm-sdk';
2
+ import { AttributeType } from '@reltio/mdm-sdk';
3
3
  import { VirtualGroupedList } from '../../../VirtualGroupedList';
4
4
  type Data = {
5
5
  fieldName: string;
@@ -10,8 +10,8 @@ type Data = {
10
10
  };
11
11
  type Props = Omit<ComponentProps<typeof VirtualGroupedList>, 'renderItem' | 'getItemSize'> & {
12
12
  focusIndex: number;
13
- selectedFacets: FacetConfig[];
13
+ selectedFacetsFieldNames: string[];
14
14
  onListItemClick: (data: Data, checked: boolean, groupId: string) => void;
15
15
  };
16
- export declare const FacetsList: ({ onListItemClick, focusIndex, selectedFacets, ...otherProps }: Props) => React.JSX.Element;
16
+ export declare const FacetsList: ({ onListItemClick, focusIndex, selectedFacetsFieldNames, ...otherProps }: Props) => React.JSX.Element;
17
17
  export {};
@@ -29,24 +29,24 @@ import { Highlighter } from '../../../Highlighter';
29
29
  import { AttributeGroupIcon } from '../../../AttributeGroupIcon';
30
30
  import { FACET_LIST_ITEM_HEIGHT } from '../../constants';
31
31
  import { useMdmMetadata } from '../../../contexts/MdmModuleContext';
32
+ import { ExpandedValueTooltip } from '../../../ExpandedValueTooltip';
32
33
  import styles from './FacetsList.module.css';
33
34
  var ITEM_GROUP_TITLE_HEIGHT = 40;
34
35
  export var FacetsList = function (_a) {
35
- var onListItemClick = _a.onListItemClick, focusIndex = _a.focusIndex, selectedFacets = _a.selectedFacets, otherProps = __rest(_a, ["onListItemClick", "focusIndex", "selectedFacets"]);
36
- var selectedFacetsRef = useRef(null);
37
- selectedFacetsRef.current = selectedFacets;
36
+ var onListItemClick = _a.onListItemClick, focusIndex = _a.focusIndex, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, otherProps = __rest(_a, ["onListItemClick", "focusIndex", "selectedFacetsFieldNames"]);
38
37
  var focusIndexRef = useRef(null);
39
38
  focusIndexRef.current = focusIndex;
40
39
  var metadata = useMdmMetadata();
41
40
  var renderItem = useCallback(function (style, _a, index) {
42
41
  var item = _a.item, level = _a.level, groupId = _a.groupId;
43
- var checked = isSelectedFacet({ facet: item, selectedFacets: selectedFacetsRef.current });
42
+ var checked = isSelectedFacet({ facet: item, selectedFacetsFieldNames: selectedFacetsFieldNames });
44
43
  var isFocused = focusIndexRef.current === index;
45
44
  return (React.createElement(AttributeListItem, { key: "item-".concat(groupId, "-").concat(item.fieldName), onClick: onListItemClick, data: item, label: React.createElement(Highlighter, { text: item.title, highlight: item.filterText }), labelInText: item.title, level: level, style: style, checked: checked, isFocused: isFocused, groupId: groupId, LogoIcon: item.LogoIcon }));
46
- }, [onListItemClick]);
45
+ }, [onListItemClick, selectedFacetsFieldNames]);
47
46
  var renderGroupTitle = useCallback(function (style, item) { return (React.createElement(ListItem, { component: 'div', className: styles.subHeader, style: style, key: "group-".concat(item.item.id) },
48
47
  item.item.needGroupIcon && React.createElement(AttributeGroupIcon, { metadata: metadata, group: item.item }),
49
- item.item.title)); }, [metadata]);
48
+ React.createElement(ExpandedValueTooltip, { value: item.item.title },
49
+ React.createElement("div", { className: styles.subHeaderTitle }, item.item.title)))); }, [metadata]);
50
50
  var getItemSize = useCallback(function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : FACET_LIST_ITEM_HEIGHT); }, []);
51
51
  return (React.createElement(VirtualGroupedList, __assign({ getItemSize: getItemSize, renderGroupTitle: renderGroupTitle, renderItem: renderItem, focusIndex: focusIndex }, otherProps, { disableHorizontalScrollbar: true })));
52
52
  };
@@ -1,9 +1,9 @@
1
- const styles = {"subHeader":"FacetsList-subHeader--jcWLn","icon":"FacetsList-icon--HO3ZO","recommendedIcon":"FacetsList-recommendedIcon--ekXsX"};
1
+ const styles = {"subHeader":"FacetsList-subHeader--jcWLn","icon":"FacetsList-icon--HO3ZO","recommendedIcon":"FacetsList-recommendedIcon--ekXsX","subHeaderTitle":"FacetsList-subHeaderTitle--iOKhO"};
2
2
  if (typeof document !== 'undefined') {
3
3
  const head = document.head || document.getElementsByTagName('head')[0]
4
4
  const style = document.createElement('style');
5
5
  style.type = 'text/css'
6
- style.innerHTML = `.FacetsList-subHeader--jcWLn{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO{margin-right:16px;max-height:25px;max-width:25px}.FacetsList-recommendedIcon--ekXsX:is(.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO){height:20px;width:20px}`;
6
+ style.innerHTML = `.FacetsList-subHeader--jcWLn{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO{margin-right:16px;max-height:25px;max-width:25px}.FacetsList-recommendedIcon--ekXsX:is(.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO){height:20px;width:20px}.FacetsList-subHeaderTitle--iOKhO{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
7
7
  head.appendChild(style);
8
8
  }
9
9
  export default styles;
@@ -5,9 +5,9 @@ declare const adjustVerticalPopupLayout: (anchorEl: HTMLElement, popupHeight: nu
5
5
  popupHeight: number;
6
6
  };
7
7
  declare const filterItemsInGroups: (groups: MoreFacetItem[], filterText: string) => MoreFacetItem[];
8
- declare const isSelectedFacet: ({ facet, selectedFacets }: {
8
+ declare const isSelectedFacet: ({ facet, selectedFacetsFieldNames }: {
9
9
  facet: any;
10
- selectedFacets: any;
10
+ selectedFacetsFieldNames: any;
11
11
  }) => boolean;
12
12
  declare const constructPopoverOrigin: (verticalOrigin: PopoverOrigin["vertical"], horizontalOrigin?: PopoverOrigin["horizontal"]) => {
13
13
  vertical: number | "bottom" | "top" | "center";
@@ -49,8 +49,8 @@ var filterItemsInGroups = function (groups, filterText) {
49
49
  return groups.map(function (group) { return (__assign(__assign({}, group), { facets: getFilteredFacets(group.facets, filterText) })); });
50
50
  };
51
51
  var isSelectedFacet = function (_a) {
52
- var facet = _a.facet, selectedFacets = _a.selectedFacets;
53
- return !!selectedFacets.find(function (selFacet) { return selFacet.fieldName === facet.fieldName || selFacet.fieldName.includes("".concat(facet.fieldName, ".")); });
52
+ var facet = _a.facet, selectedFacetsFieldNames = _a.selectedFacetsFieldNames;
53
+ return !!selectedFacetsFieldNames.find(function (fieldName) { return fieldName === facet.fieldName || fieldName.includes("".concat(facet.fieldName, ".")); });
54
54
  };
55
55
  var constructPopoverOrigin = function (verticalOrigin, horizontalOrigin) {
56
56
  if (horizontalOrigin === void 0) { horizontalOrigin = 'right'; }
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export declare const RecommendedIconWithTooltip: React.ForwardRefExoticComponent<{
3
+ tooltipTitle?: import("@mui/material").TooltipProps["title"];
4
+ tooltipPlacement?: import("@mui/material").TooltipProps["placement"];
5
+ showForDisabled?: boolean;
6
+ } & React.SVGAttributes<SVGElement> & React.RefAttributes<HTMLElement>>;
7
+ export type Props = {
8
+ children?: React.ReactNode;
9
+ title: string;
10
+ chipLabel?: number;
11
+ pathToTitle?: string[];
12
+ isOpenByDefault?: boolean;
13
+ isHighlighted?: boolean;
14
+ isRecommended?: boolean;
15
+ onDeleteChip?: () => void;
16
+ onClose?: () => void;
17
+ };
18
+ export declare const FacetContainer: ({ children, title, chipLabel, pathToTitle, isOpenByDefault, isHighlighted, isRecommended, onDeleteChip, onClose }: Props) => React.JSX.Element;
@@ -0,0 +1,60 @@
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.FacetContainer = exports.RecommendedIconWithTooltip = 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 Close_1 = __importDefault(require("@mui/icons-material/Close"));
34
+ var CollapseButton_1 = require("../CollapseButton");
35
+ var SmallIconButton_1 = require("../SmallIconButton");
36
+ var withTooltip_1 = require("../HOCs/withTooltip");
37
+ var FacetTitle_1 = __importDefault(require("./components/FacetTitle/FacetTitle"));
38
+ var Recommended_svg_1 = __importDefault(require("./Recommended.svg"));
39
+ var FacetContainer_module_css_1 = __importDefault(require("./FacetContainer.module.css"));
40
+ exports.RecommendedIconWithTooltip = (0, withTooltip_1.withTooltip)(Recommended_svg_1.default);
41
+ var FacetContainer = function (_a) {
42
+ var _b;
43
+ var children = _a.children, title = _a.title, chipLabel = _a.chipLabel, pathToTitle = _a.pathToTitle, _c = _a.isOpenByDefault, isOpenByDefault = _c === void 0 ? true : _c, _d = _a.isHighlighted, isHighlighted = _d === void 0 ? false : _d, _e = _a.isRecommended, isRecommended = _e === void 0 ? false : _e, onDeleteChip = _a.onDeleteChip, onClose = _a.onClose;
44
+ var _f = (0, react_1.useState)(isOpenByDefault), open = _f[0], setOpen = _f[1];
45
+ var toggleOpen = function () {
46
+ setOpen(!open);
47
+ };
48
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(FacetContainer_module_css_1.default.facetContainer, (_b = {},
49
+ _b[FacetContainer_module_css_1.default.openedFacetContainer] = open,
50
+ _b[FacetContainer_module_css_1.default.closedFacetContainer] = !open,
51
+ _b[FacetContainer_module_css_1.default.highlighted] = isHighlighted,
52
+ _b)), "data-reltio-id": "search-facet-container-".concat(title) },
53
+ react_1.default.createElement("div", { className: FacetContainer_module_css_1.default.titleContainer },
54
+ react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { tooltipTitle: ui_i18n_1.default.text('Remove'), icon: Close_1.default, onClick: onClose, className: FacetContainer_module_css_1.default.iconButton, size: "XXS" }),
55
+ isRecommended && (react_1.default.createElement(exports.RecommendedIconWithTooltip, { className: FacetContainer_module_css_1.default.recommendedIcon, tooltipTitle: ui_i18n_1.default.text('Recommended'), showForDisabled: true })),
56
+ react_1.default.createElement(FacetTitle_1.default, { title: title, pathToTitle: pathToTitle, chipLabel: chipLabel, onDelete: onDeleteChip, onClick: toggleOpen }),
57
+ react_1.default.createElement(CollapseButton_1.CollapseButton, { onClick: toggleOpen, isOpen: open, className: FacetContainer_module_css_1.default.iconButton, size: "S", tooltipTitle: open ? ui_i18n_1.default.text('Collapse attribute') : ui_i18n_1.default.text('Expand attribute'), tooltipPlacement: "bottom-end" })),
58
+ open ? children : null));
59
+ };
60
+ exports.FacetContainer = FacetContainer;
@@ -0,0 +1,9 @@
1
+ const styles = {"facetContainer":"FacetContainer-facetContainer--PGQJm","openedFacetContainer":"FacetContainer-openedFacetContainer--T0y7f","closedFacetContainer":"FacetContainer-closedFacetContainer--s6-qP","iconButton":"FacetContainer-iconButton--FOXN9","recommendedIcon":"FacetContainer-recommendedIcon--v3mLt","titleContainer":"FacetContainer-titleContainer--mxRz2","expandIcon":"FacetContainer-expandIcon--eNUwN","expanded":"FacetContainer-expanded--XgtFv","highlighted":"FacetContainer-highlighted--Cf-qC","animate":"FacetContainer-animate--nGob0"};
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 = `.FacetContainer-facetContainer--PGQJm{border-bottom:1px solid rgba(0,0,0,.33);border-radius:1px;display:flex;flex-direction:column;flex-grow:1;flex-shrink:0;padding:0 16px;position:relative}.FacetContainer-facetContainer--PGQJm:last-child{border-bottom:1px solid #fff}.FacetContainer-openedFacetContainer--T0y7f{padding-bottom:15px}.FacetContainer-closedFacetContainer--s6-qP{padding-bottom:5px}.FacetContainer-iconButton--FOXN9{visibility:hidden}.FacetContainer-iconButton--FOXN9:first-child{height:24px;margin-left:-16px;width:24px}.FacetContainer-recommendedIcon--v3mLt{flex-shrink:0;height:18px;margin-right:6px;width:18px}.FacetContainer-titleContainer--mxRz2{align-items:center;border-radius:1px;display:flex;flex-direction:row;flex-shrink:0;height:42px;margin-left:-16px;padding-left:16px}.FacetContainer-titleContainer--mxRz2:hover .FacetContainer-iconButton--FOXN9{visibility:visible}.FacetContainer-expandIcon--eNUwN{color:rgba(0,0,0,.54);margin:0 2px;transition:transform .15s ease}.FacetContainer-expanded--XgtFv{transform:rotate(180deg)}@keyframes FacetContainer-animate--nGob0{0%{background:#fffbeb}66%{background:#fffbeb}to{background:transparent}}.FacetContainer-highlighted--Cf-qC{animation-duration:3s;animation-iteration-count:1;animation-name:FacetContainer-animate--nGob0}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1,9 @@
1
+ const styles = {"root":"ChipsCount-root--nvCui","deleteIcon":"ChipsCount-deleteIcon--5PYeW","outlined":"ChipsCount-outlined--GUmLb","label":"ChipsCount-label--G-hwC"};
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 = `.ChipsCount-root--nvCui{background-color:transparent;border:1px solid rgba(0,0,0,.12);border-radius:16px;box-sizing:border-box;height:18px}.ChipsCount-root--nvCui .ChipsCount-deleteIcon--5PYeW{color:rgba(0,0,0,.38);height:12px;margin:0;width:12px}.ChipsCount-outlined--GUmLb .ChipsCount-deleteIcon--5PYeW{margin-right:2px}.ChipsCount-label--G-hwC{color:rgba(0,0,0,.38);font-size:12px;font-weight:500;line-height:16px;padding-left:4px;padding-right:4px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { ChipProps } from '@mui/material/Chip';
3
+ export declare const ClearIconWithTooltip: React.ForwardRefExoticComponent<Omit<{
4
+ tooltipTitle?: import("@mui/material").TooltipProps["title"];
5
+ tooltipPlacement?: import("@mui/material").TooltipProps["placement"];
6
+ showForDisabled?: boolean;
7
+ } & {
8
+ children?: React.ReactNode;
9
+ classes?: Partial<import("@mui/material").SvgIconClasses>;
10
+ color?: import("@mui/types").OverridableStringUnion<"inherit" | "action" | "disabled" | "primary" | "secondary" | "error" | "info" | "success" | "warning", import("@mui/material").SvgIconPropsColorOverrides>;
11
+ fontSize?: import("@mui/types").OverridableStringUnion<"inherit" | "large" | "medium" | "small", import("@mui/material").SvgIconPropsSizeOverrides>;
12
+ htmlColor?: string;
13
+ inheritViewBox?: boolean;
14
+ shapeRendering?: string;
15
+ sx?: import("@mui/system").SxProps<import("@mui/material").Theme>;
16
+ titleAccess?: string;
17
+ viewBox?: string;
18
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<React.SVGProps<SVGSVGElement>, "ref"> & {
19
+ ref?: React.Ref<SVGSVGElement>;
20
+ }, "color" | "fontSize" | "shapeRendering" | "children" | "sx" | keyof import("@mui/material/OverridableComponent").CommonProps | "viewBox" | "htmlColor" | "inheritViewBox" | "titleAccess">, "ref"> & React.RefAttributes<HTMLElement>>;
21
+ type Props = Omit<ChipProps, 'onDelete' | 'label'> & {
22
+ label: number;
23
+ onDelete?: () => void;
24
+ };
25
+ declare const ChipsCount: ({ label, onDelete, ...extraProps }: Props) => React.JSX.Element;
26
+ export default ChipsCount;
@@ -0,0 +1,45 @@
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 __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.ClearIconWithTooltip = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
31
+ var Chip_1 = __importDefault(require("@mui/material/Chip"));
32
+ var Cancel_1 = __importDefault(require("@mui/icons-material/Cancel"));
33
+ var withTooltip_1 = require("../../../HOCs/withTooltip");
34
+ var ChipCount_module_css_1 = __importDefault(require("./ChipCount.module.css"));
35
+ exports.ClearIconWithTooltip = (0, withTooltip_1.withTooltip)(Cancel_1.default);
36
+ var ChipsCount = function (_a) {
37
+ var label = _a.label, onDelete = _a.onDelete, extraProps = __rest(_a, ["label", "onDelete"]);
38
+ return (react_1.default.createElement(Chip_1.default, __assign({ className: ChipCount_module_css_1.default.root, label: ui_i18n_1.default.number(label), onDelete: onDelete, variant: "outlined", classes: {
39
+ root: ChipCount_module_css_1.default.root,
40
+ outlined: ChipCount_module_css_1.default.outlined,
41
+ deleteIcon: ChipCount_module_css_1.default.deleteIcon,
42
+ label: ChipCount_module_css_1.default.label
43
+ }, deleteIcon: react_1.default.createElement(exports.ClearIconWithTooltip, { tooltipTitle: ui_i18n_1.default.text('Clear') }) }, extraProps)));
44
+ };
45
+ exports.default = ChipsCount;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ title?: string;
4
+ chipLabel?: number;
5
+ onDelete?: () => void;
6
+ pathToTitle?: string[];
7
+ onClick?: () => void;
8
+ };
9
+ declare const FacetTitle: ({ title, chipLabel, onDelete, pathToTitle, onClick }: Props) => React.JSX.Element;
10
+ export default FacetTitle;
@@ -0,0 +1,36 @@
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 ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
19
+ var HierarchicalAttributeTooltip_1 = require("../../../HierarchicalAttributeTooltip");
20
+ var ChipsCount_1 = __importDefault(require("../ChipsCount/ChipsCount"));
21
+ var FacetTitle_module_css_1 = __importDefault(require("./FacetTitle.module.css"));
22
+ var FacetTitle = function (_a) {
23
+ var _b = _a.title, title = _b === void 0 ? '' : _b, _c = _a.chipLabel, chipLabel = _c === void 0 ? 0 : _c, onDelete = _a.onDelete, pathToTitle = _a.pathToTitle, onClick = _a.onClick;
24
+ var isNested = Boolean(pathToTitle && pathToTitle.length > 2);
25
+ var TooltipComponent = isNested ? HierarchicalAttributeTooltip_1.HierarchicalAttributeTooltip : ExpandedValueTooltip_1.ExpandedValueTooltip;
26
+ var tooltipProps = isNested ? { pathToTitle: pathToTitle } : { value: title };
27
+ return (react_1.default.createElement("div", { className: FacetTitle_module_css_1.default.container, onClick: onClick },
28
+ isNested && (react_1.default.createElement(HierarchicalAttributeTooltip_1.HierarchicalAttributeTooltip, __assign({ placement: "bottom-start" }, tooltipProps),
29
+ react_1.default.createElement("div", { className: FacetTitle_module_css_1.default.parent }, pathToTitle[pathToTitle.length - 2]))),
30
+ react_1.default.createElement("div", { className: FacetTitle_module_css_1.default.titleContainer },
31
+ react_1.default.createElement(TooltipComponent, __assign({ placement: "bottom-start" }, tooltipProps),
32
+ react_1.default.createElement("span", { className: FacetTitle_module_css_1.default.title }, title)),
33
+ chipLabel !== 0 && (react_1.default.createElement("div", { className: FacetTitle_module_css_1.default.chip },
34
+ react_1.default.createElement(ChipsCount_1.default, { label: chipLabel, onDelete: onDelete }))))));
35
+ };
36
+ exports.default = FacetTitle;
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"FacetTitle-container--fegMx","parent":"FacetTitle-parent--0sIc8","titleContainer":"FacetTitle-titleContainer--e8PWF","title":"FacetTitle-title--Four7","chip":"FacetTitle-chip--L9nDB"};
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 = `.FacetTitle-container--fegMx{cursor:pointer;display:flex;flex-direction:column;flex-grow:1;height:100%;justify-content:center;min-width:0}.FacetTitle-parent--0sIc8{color:var(--mui-palette-text-secondary);font-size:13px;letter-spacing:0;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FacetTitle-titleContainer--e8PWF{align-items:flex-end;display:flex;flex-direction:row;height:18px;overflow:hidden;width:100%}.FacetTitle-title--Four7{color:var(--mui-palette-text-primary);font-size:14px;font-weight:500;letter-spacing:.24px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.FacetTitle-chip--L9nDB{display:inline;margin-left:6px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { FacetContainer } from './FacetContainer';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FacetContainer = void 0;
4
+ var FacetContainer_1 = require("./FacetContainer");
5
+ Object.defineProperty(exports, "FacetContainer", { enumerable: true, get: function () { return FacetContainer_1.FacetContainer; } });
@@ -4,10 +4,10 @@ import { MoreFacetItem } from './types';
4
4
  type Props = {
5
5
  open?: boolean;
6
6
  data?: MoreFacetItem[];
7
- selectedFacets: FacetConfig[];
7
+ selectedFacetsFieldNames: string[];
8
8
  onOpen: () => void;
9
9
  onClose: () => void;
10
10
  onFacetToggle: (item: FacetConfig, selected: boolean) => void;
11
11
  };
12
- export declare const FacetsSelector: ({ open, data, selectedFacets, onOpen, onClose, onFacetToggle }: Props) => React.JSX.Element;
12
+ export declare const FacetsSelector: ({ open, data, selectedFacetsFieldNames, onOpen, onClose, onFacetToggle }: Props) => React.JSX.Element;
13
13
  export default FacetsSelector;
@@ -34,7 +34,7 @@ var SearchInput_1 = require("../SearchInput");
34
34
  var helpers_1 = require("./helpers");
35
35
  var FacetsSelector_module_css_1 = __importDefault(require("./FacetsSelector.module.css"));
36
36
  var FacetsSelector = function (_a) {
37
- var open = _a.open, data = _a.data, selectedFacets = _a.selectedFacets, onOpen = _a.onOpen, onClose = _a.onClose, onFacetToggle = _a.onFacetToggle;
37
+ var open = _a.open, data = _a.data, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, onOpen = _a.onOpen, onClose = _a.onClose, onFacetToggle = _a.onFacetToggle;
38
38
  var _b = (0, react_1.useState)(''), filterText = _b[0], setFilterText = _b[1];
39
39
  var _c = (0, react_1.useState)(null), lastFacetClicked = _c[0], setLastFacetClicked = _c[1];
40
40
  var searchInputRootRef = (0, react_1.useRef)(null);
@@ -55,7 +55,7 @@ var FacetsSelector = function (_a) {
55
55
  }, [onOpen]);
56
56
  return (react_1.default.createElement(react_1.default.Fragment, null,
57
57
  react_1.default.createElement(SearchInput_1.SearchInput, { classes: { root: FacetsSelector_module_css_1.default.inputContainer }, onSearch: setFilterText, onFocus: handleOpen, rootRef: searchInputRootRef, value: filterText, placeholder: ui_i18n_1.default.text('Search & add attributes'), height: 40, "data-reltio-id": "reltio-search-more-facets-search-input" }),
58
- react_1.default.createElement(AttributeSelectorPopup_1.AttributeSelectorPopup, { open: open, selectedFacets: selectedFacets, data: filteredList, lastFacetClicked: lastFacetClicked, anchorRef: searchInputRootRef, onListItemClick: handleListItemClick, onClose: handleClose, onSearch: setFilterText })));
58
+ react_1.default.createElement(AttributeSelectorPopup_1.AttributeSelectorPopup, { open: open, selectedFacetsFieldNames: selectedFacetsFieldNames, data: filteredList, lastFacetClicked: lastFacetClicked, anchorRef: searchInputRootRef, onListItemClick: handleListItemClick, onClose: handleClose, onSearch: setFilterText })));
59
59
  };
60
60
  exports.FacetsSelector = FacetsSelector;
61
61
  exports.default = exports.FacetsSelector;
@@ -3,7 +3,7 @@ import { FacetConfig } from '@reltio/mdm-sdk';
3
3
  import { MoreFacetItem, SelectedFacet } from '../../types';
4
4
  type Props = {
5
5
  open?: boolean;
6
- selectedFacets: FacetConfig[];
6
+ selectedFacetsFieldNames: string[];
7
7
  data?: MoreFacetItem[];
8
8
  lastFacetClicked?: SelectedFacet;
9
9
  anchorRef: React.RefObject<HTMLInputElement>;
@@ -11,5 +11,5 @@ type Props = {
11
11
  onSearch?: (value?: string) => void;
12
12
  onClose?: () => void;
13
13
  };
14
- export declare const AttributeSelectorPopup: ({ open, selectedFacets, data, lastFacetClicked, anchorRef, onListItemClick, onSearch, onClose }: Props) => React.JSX.Element;
14
+ export declare const AttributeSelectorPopup: ({ open, selectedFacetsFieldNames, data, lastFacetClicked, anchorRef, onListItemClick, onSearch, onClose }: Props) => React.JSX.Element;
15
15
  export {};
@@ -42,7 +42,7 @@ var AttributeSelectorPopup_module_css_1 = __importDefault(require("./AttributeSe
42
42
  var defaultLastFacetClicked = {};
43
43
  var AttributeSelectorPopup = function (_a) {
44
44
  var _b, _c;
45
- var open = _a.open, selectedFacets = _a.selectedFacets, _d = _a.data, data = _d === void 0 ? [] : _d, _e = _a.lastFacetClicked, lastFacetClicked = _e === void 0 ? defaultLastFacetClicked : _e, anchorRef = _a.anchorRef, onListItemClick = _a.onListItemClick, onSearch = _a.onSearch, onClose = _a.onClose;
45
+ var open = _a.open, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, _d = _a.data, data = _d === void 0 ? [] : _d, _e = _a.lastFacetClicked, lastFacetClicked = _e === void 0 ? defaultLastFacetClicked : _e, anchorRef = _a.anchorRef, onListItemClick = _a.onListItemClick, onSearch = _a.onSearch, onClose = _a.onClose;
46
46
  var _f = (0, react_1.useState)(constants_1.DEFAULT_LIST_HEIGHT), listHeight = _f[0], setListHeight = _f[1];
47
47
  var _g = (0, helpers_1.adjustVerticalPopupLayout)(anchorRef.current, constants_1.DEFAULT_ATTRIBUTE_SELECTOR_POPUP_HEIGHT), verticalOrigin = _g.verticalOrigin, _h = _g.popupHeight, popupHeight = _h === void 0 ? constants_1.DEFAULT_ATTRIBUTE_SELECTOR_POPUP_HEIGHT : _h;
48
48
  var maxListHeight = popupHeight - constants_1.POPUP_HEADER_HEIGHT;
@@ -90,17 +90,17 @@ var AttributeSelectorPopup = function (_a) {
90
90
  var popupWidth = (_c = (_b = anchorRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width) !== null && _c !== void 0 ? _c : 0;
91
91
  var handleSearchOnEnter = (0, react_1.useCallback)(function (_a) {
92
92
  var item = _a.item, groupData = _a.groupData;
93
- onListItemClick(item, !(0, helpers_1.isSelectedFacet)({ facet: item, selectedFacets: selectedFacets }), groupData.groupId);
94
- }, [onListItemClick, selectedFacets]);
93
+ onListItemClick(item, !(0, helpers_1.isSelectedFacet)({ facet: item, selectedFacetsFieldNames: selectedFacetsFieldNames }), groupData.groupId);
94
+ }, [onListItemClick, selectedFacetsFieldNames]);
95
95
  var _j = (0, useKeyboardNavigation_1.useKeyboardNavigation)({
96
96
  items: items,
97
97
  open: open,
98
98
  onSelectFocusedItem: handleSearchOnEnter,
99
- selectedItems: selectedFacets
99
+ selectedItems: selectedFacetsFieldNames
100
100
  }), focusIndex = _j.focusIndex, handleKeyDown = _j.handleKeyDown;
101
101
  var containerWidth = Math.max(popupWidth || (0, mdm_sdk_1.getMaxItemWidth)('title')(groupedItems), constants_1.DEFAULT_MIN_CONTAINER_WIDTH);
102
102
  return (react_1.default.createElement(SelectionPopup_1.SelectionPopup, { open: open, action: popupActionRef, title: ui_i18n_1.default.text('Select attribute'), containerWidth: containerWidth, searchInputOnKeyDown: handleKeyDown, containerHeight: constants_1.POPUP_HEADER_HEIGHT + listHeight, anchorOrigin: popupOrigin, transformOrigin: popupOrigin, headerPlacement: verticalOrigin === 'bottom' ? 'bottom' : 'top', anchorEl: anchorRef.current, disableRestoreFocus: true, onSearch: onSearch, onClose: onClose },
103
- react_1.default.createElement(FacetsList_1.FacetsList, { focusIndex: focusIndex, selectedFacets: selectedFacets, onListItemClick: onListItemClick, items: items, height: listHeight, onInnerContainerResize: handleResizeList }),
103
+ react_1.default.createElement(FacetsList_1.FacetsList, { focusIndex: focusIndex, selectedFacetsFieldNames: selectedFacetsFieldNames, onListItemClick: onListItemClick, items: items, height: listHeight, onInnerContainerResize: handleResizeList }),
104
104
  items.length === 0 && (react_1.default.createElement("div", { className: AttributeSelectorPopup_module_css_1.default.noResultsCaptionContainer },
105
105
  react_1.default.createElement(Typography_1.default, { variant: "caption", display: "block", gutterBottom: true }, ui_i18n_1.default.text('No results found'))))));
106
106
  };
@@ -1,5 +1,5 @@
1
1
  import React, { ComponentProps } from 'react';
2
- import { AttributeType, FacetConfig } from '@reltio/mdm-sdk';
2
+ import { AttributeType } from '@reltio/mdm-sdk';
3
3
  import { VirtualGroupedList } from '../../../VirtualGroupedList';
4
4
  type Data = {
5
5
  fieldName: string;
@@ -10,8 +10,8 @@ type Data = {
10
10
  };
11
11
  type Props = Omit<ComponentProps<typeof VirtualGroupedList>, 'renderItem' | 'getItemSize'> & {
12
12
  focusIndex: number;
13
- selectedFacets: FacetConfig[];
13
+ selectedFacetsFieldNames: string[];
14
14
  onListItemClick: (data: Data, checked: boolean, groupId: string) => void;
15
15
  };
16
- export declare const FacetsList: ({ onListItemClick, focusIndex, selectedFacets, ...otherProps }: Props) => React.JSX.Element;
16
+ export declare const FacetsList: ({ onListItemClick, focusIndex, selectedFacetsFieldNames, ...otherProps }: Props) => React.JSX.Element;
17
17
  export {};
@@ -58,24 +58,24 @@ var Highlighter_1 = require("../../../Highlighter");
58
58
  var AttributeGroupIcon_1 = require("../../../AttributeGroupIcon");
59
59
  var constants_1 = require("../../constants");
60
60
  var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
61
+ var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
61
62
  var FacetsList_module_css_1 = __importDefault(require("./FacetsList.module.css"));
62
63
  var ITEM_GROUP_TITLE_HEIGHT = 40;
63
64
  var FacetsList = function (_a) {
64
- var onListItemClick = _a.onListItemClick, focusIndex = _a.focusIndex, selectedFacets = _a.selectedFacets, otherProps = __rest(_a, ["onListItemClick", "focusIndex", "selectedFacets"]);
65
- var selectedFacetsRef = (0, react_1.useRef)(null);
66
- selectedFacetsRef.current = selectedFacets;
65
+ var onListItemClick = _a.onListItemClick, focusIndex = _a.focusIndex, selectedFacetsFieldNames = _a.selectedFacetsFieldNames, otherProps = __rest(_a, ["onListItemClick", "focusIndex", "selectedFacetsFieldNames"]);
67
66
  var focusIndexRef = (0, react_1.useRef)(null);
68
67
  focusIndexRef.current = focusIndex;
69
68
  var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
70
69
  var renderItem = (0, react_1.useCallback)(function (style, _a, index) {
71
70
  var item = _a.item, level = _a.level, groupId = _a.groupId;
72
- var checked = (0, helpers_1.isSelectedFacet)({ facet: item, selectedFacets: selectedFacetsRef.current });
71
+ var checked = (0, helpers_1.isSelectedFacet)({ facet: item, selectedFacetsFieldNames: selectedFacetsFieldNames });
73
72
  var isFocused = focusIndexRef.current === index;
74
73
  return (react_1.default.createElement(AttributeListItem_1.AttributeListItem, { key: "item-".concat(groupId, "-").concat(item.fieldName), onClick: onListItemClick, data: item, label: react_1.default.createElement(Highlighter_1.Highlighter, { text: item.title, highlight: item.filterText }), labelInText: item.title, level: level, style: style, checked: checked, isFocused: isFocused, groupId: groupId, LogoIcon: item.LogoIcon }));
75
- }, [onListItemClick]);
74
+ }, [onListItemClick, selectedFacetsFieldNames]);
76
75
  var renderGroupTitle = (0, react_1.useCallback)(function (style, item) { return (react_1.default.createElement(ListItem_1.default, { component: 'div', className: FacetsList_module_css_1.default.subHeader, style: style, key: "group-".concat(item.item.id) },
77
76
  item.item.needGroupIcon && react_1.default.createElement(AttributeGroupIcon_1.AttributeGroupIcon, { metadata: metadata, group: item.item }),
78
- item.item.title)); }, [metadata]);
77
+ react_1.default.createElement(ExpandedValueTooltip_1.ExpandedValueTooltip, { value: item.item.title },
78
+ react_1.default.createElement("div", { className: FacetsList_module_css_1.default.subHeaderTitle }, item.item.title)))); }, [metadata]);
79
79
  var getItemSize = (0, react_1.useCallback)(function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : constants_1.FACET_LIST_ITEM_HEIGHT); }, []);
80
80
  return (react_1.default.createElement(VirtualGroupedList_1.VirtualGroupedList, __assign({ getItemSize: getItemSize, renderGroupTitle: renderGroupTitle, renderItem: renderItem, focusIndex: focusIndex }, otherProps, { disableHorizontalScrollbar: true })));
81
81
  };
@@ -1,9 +1,9 @@
1
- const styles = {"subHeader":"FacetsList-subHeader--jcWLn","icon":"FacetsList-icon--HO3ZO","recommendedIcon":"FacetsList-recommendedIcon--ekXsX"};
1
+ const styles = {"subHeader":"FacetsList-subHeader--jcWLn","icon":"FacetsList-icon--HO3ZO","recommendedIcon":"FacetsList-recommendedIcon--ekXsX","subHeaderTitle":"FacetsList-subHeaderTitle--iOKhO"};
2
2
  if (typeof document !== 'undefined') {
3
3
  const head = document.head || document.getElementsByTagName('head')[0]
4
4
  const style = document.createElement('style');
5
5
  style.type = 'text/css'
6
- style.innerHTML = `.FacetsList-subHeader--jcWLn{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO{margin-right:16px;max-height:25px;max-width:25px}.FacetsList-recommendedIcon--ekXsX:is(.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO){height:20px;width:20px}`;
6
+ style.innerHTML = `.FacetsList-subHeader--jcWLn{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO{margin-right:16px;max-height:25px;max-width:25px}.FacetsList-recommendedIcon--ekXsX:is(.FacetsList-subHeader--jcWLn .FacetsList-icon--HO3ZO){height:20px;width:20px}.FacetsList-subHeaderTitle--iOKhO{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
7
7
  head.appendChild(style);
8
8
  }
9
9
  module.exports = styles;
@@ -5,9 +5,9 @@ declare const adjustVerticalPopupLayout: (anchorEl: HTMLElement, popupHeight: nu
5
5
  popupHeight: number;
6
6
  };
7
7
  declare const filterItemsInGroups: (groups: MoreFacetItem[], filterText: string) => MoreFacetItem[];
8
- declare const isSelectedFacet: ({ facet, selectedFacets }: {
8
+ declare const isSelectedFacet: ({ facet, selectedFacetsFieldNames }: {
9
9
  facet: any;
10
- selectedFacets: any;
10
+ selectedFacetsFieldNames: any;
11
11
  }) => boolean;
12
12
  declare const constructPopoverOrigin: (verticalOrigin: PopoverOrigin["vertical"], horizontalOrigin?: PopoverOrigin["horizontal"]) => {
13
13
  vertical: number | "bottom" | "top" | "center";
@@ -54,8 +54,8 @@ var filterItemsInGroups = function (groups, filterText) {
54
54
  };
55
55
  exports.filterItemsInGroups = filterItemsInGroups;
56
56
  var isSelectedFacet = function (_a) {
57
- var facet = _a.facet, selectedFacets = _a.selectedFacets;
58
- return !!selectedFacets.find(function (selFacet) { return selFacet.fieldName === facet.fieldName || selFacet.fieldName.includes("".concat(facet.fieldName, ".")); });
57
+ var facet = _a.facet, selectedFacetsFieldNames = _a.selectedFacetsFieldNames;
58
+ return !!selectedFacetsFieldNames.find(function (fieldName) { return fieldName === facet.fieldName || fieldName.includes("".concat(facet.fieldName, ".")); });
59
59
  };
60
60
  exports.isSelectedFacet = isSelectedFacet;
61
61
  var constructPopoverOrigin = function (verticalOrigin, horizontalOrigin) {
package/cjs/index.d.ts CHANGED
@@ -190,6 +190,7 @@ export { FacetGroup } from './FacetGroup';
190
190
  export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
191
191
  export { FacetGroupTitle } from './FacetGroupTitle';
192
192
  export { FacetsSelector } from './FacetsSelector';
193
+ export { FacetContainer } from './FacetContainer';
193
194
  export { withTooltip } from './HOCs/withTooltip';
194
195
  export { withAsyncMount } from './HOCs/withAsyncMount';
195
196
  export { withDragHandle } from './HOCs/withDragHandle';
package/cjs/index.js CHANGED
@@ -18,10 +18,10 @@ exports.NestedAttributeEditor = exports.NestedAttribute = exports.MoreAttributes
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
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.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.FacetsSelector = exports.FacetGroupTitle = exports.QuickFiltersEntityTypeFacet = void 0;
22
- 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 = exports.HighlightedValuesContext = void 0;
23
- 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 = exports.useMarkAsNotMatchRequest = void 0;
24
- exports.mockComputedStyles = exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = void 0;
21
+ 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.FacetContainer = exports.FacetsSelector = exports.FacetGroupTitle = exports.QuickFiltersEntityTypeFacet = void 0;
22
+ 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 = exports.HighlightedValuesContext = exports.SnackbarContext = void 0;
23
+ 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 = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = void 0;
24
+ exports.mockComputedStyles = exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = 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; } });
@@ -417,6 +417,8 @@ var FacetGroupTitle_1 = require("./FacetGroupTitle");
417
417
  Object.defineProperty(exports, "FacetGroupTitle", { enumerable: true, get: function () { return FacetGroupTitle_1.FacetGroupTitle; } });
418
418
  var FacetsSelector_1 = require("./FacetsSelector");
419
419
  Object.defineProperty(exports, "FacetsSelector", { enumerable: true, get: function () { return FacetsSelector_1.FacetsSelector; } });
420
+ var FacetContainer_1 = require("./FacetContainer");
421
+ Object.defineProperty(exports, "FacetContainer", { enumerable: true, get: function () { return FacetContainer_1.FacetContainer; } });
420
422
  // HOCs
421
423
  var withTooltip_1 = require("./HOCs/withTooltip");
422
424
  Object.defineProperty(exports, "withTooltip", { enumerable: true, get: function () { return withTooltip_1.withTooltip; } });
package/index.d.ts CHANGED
@@ -190,6 +190,7 @@ export { FacetGroup } from './FacetGroup';
190
190
  export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
191
191
  export { FacetGroupTitle } from './FacetGroupTitle';
192
192
  export { FacetsSelector } from './FacetsSelector';
193
+ export { FacetContainer } from './FacetContainer';
193
194
  export { withTooltip } from './HOCs/withTooltip';
194
195
  export { withAsyncMount } from './HOCs/withAsyncMount';
195
196
  export { withDragHandle } from './HOCs/withDragHandle';
package/index.js CHANGED
@@ -190,6 +190,7 @@ export { FacetGroup } from './FacetGroup';
190
190
  export { QuickFiltersEntityTypeFacet } from './QuickFiltersEntityTypeFacet';
191
191
  export { FacetGroupTitle } from './FacetGroupTitle';
192
192
  export { FacetsSelector } from './FacetsSelector';
193
+ export { FacetContainer } from './FacetContainer';
193
194
  // HOCs
194
195
  export { withTooltip } from './HOCs/withTooltip';
195
196
  export { withAsyncMount } from './HOCs/withAsyncMount';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.2185",
3
+ "version": "1.4.2186",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",