@reltio/components 1.4.1778 → 1.4.1780

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 (27) hide show
  1. package/cjs/components/ActionButton/ActionButton.d.ts +3 -2
  2. package/cjs/components/ActionButton/ActionButton.js +19 -13
  3. package/cjs/components/ActionButton/styles.d.ts +1 -1
  4. package/cjs/components/ActionButton/styles.js +13 -4
  5. package/cjs/components/ActionsPanel/ActionsPanel.d.ts +5 -5
  6. package/cjs/components/ActionsPanel/ActionsPanel.js +15 -4
  7. package/cjs/components/ActionsPanel/MenuItemRenderer.js +14 -2
  8. package/cjs/components/index.d.ts +0 -1
  9. package/cjs/components/index.js +1 -3
  10. package/esm/components/ActionButton/ActionButton.d.ts +3 -2
  11. package/esm/components/ActionButton/ActionButton.js +19 -13
  12. package/esm/components/ActionButton/styles.d.ts +1 -1
  13. package/esm/components/ActionButton/styles.js +13 -4
  14. package/esm/components/ActionsPanel/ActionsPanel.d.ts +5 -5
  15. package/esm/components/ActionsPanel/ActionsPanel.js +16 -5
  16. package/esm/components/ActionsPanel/MenuItemRenderer.js +14 -2
  17. package/esm/components/index.d.ts +0 -1
  18. package/esm/components/index.js +0 -1
  19. package/package.json +2 -2
  20. package/cjs/components/MultilineMenuItem/MultilineMenuItem.d.ts +0 -11
  21. package/cjs/components/MultilineMenuItem/MultilineMenuItem.js +0 -49
  22. package/cjs/components/MultilineMenuItem/styles.d.ts +0 -1
  23. package/cjs/components/MultilineMenuItem/styles.js +0 -23
  24. package/esm/components/MultilineMenuItem/MultilineMenuItem.d.ts +0 -11
  25. package/esm/components/MultilineMenuItem/MultilineMenuItem.js +0 -21
  26. package/esm/components/MultilineMenuItem/styles.d.ts +0 -1
  27. package/esm/components/MultilineMenuItem/styles.js +0 -20
@@ -7,10 +7,11 @@ export declare enum ActionButtonMode {
7
7
  export type Props = {
8
8
  className?: string;
9
9
  disabled?: boolean;
10
- icon: React.ElementType;
10
+ icon?: React.ElementType;
11
11
  label: string;
12
+ description?: string;
12
13
  mode: ActionButtonMode;
13
- onClick: () => void;
14
+ onClick?: () => void;
14
15
  onMenuClose?: () => void;
15
16
  };
16
17
  export declare const ActionButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
@@ -51,13 +51,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
51
51
  exports.ActionButton = exports.ActionButtonMode = void 0;
52
52
  var react_1 = __importStar(require("react"));
53
53
  var classnames_1 = __importDefault(require("classnames"));
54
+ var core_1 = require("../../core");
54
55
  var Button_1 = __importDefault(require("@mui/material/Button"));
55
56
  var MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
56
- var Typography_1 = __importDefault(require("@mui/material/Typography"));
57
- var styles_1 = require("./styles");
58
- var core_1 = require("../../core");
59
- var ExpandedValueTooltip_1 = __importDefault(require("../ExpandedValueTooltip/ExpandedValueTooltip"));
57
+ var ListItemIcon_1 = __importDefault(require("@mui/material/ListItemIcon"));
58
+ var ListItemText_1 = __importDefault(require("@mui/material/ListItemText"));
60
59
  var SmallIconButton_1 = require("../SmallIconButton");
60
+ var ExpandedValueTooltip_1 = __importDefault(require("../ExpandedValueTooltip/ExpandedValueTooltip"));
61
+ var styles_1 = require("./styles");
61
62
  var ActionButtonMode;
62
63
  (function (ActionButtonMode) {
63
64
  ActionButtonMode["iconButton"] = "iconButton";
@@ -65,27 +66,32 @@ var ActionButtonMode;
65
66
  ActionButtonMode["menuItem"] = "menuItem";
66
67
  })(ActionButtonMode || (exports.ActionButtonMode = ActionButtonMode = {}));
67
68
  exports.ActionButton = (0, react_1.forwardRef)(function (_a, ref) {
68
- var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButtonMode.iconButton : _b, label = _a.label, disabled = _a.disabled, Icon = _a.icon, _c = _a.onClick, onClick = _c === void 0 ? core_1.noop : _c, _d = _a.onMenuClose, onMenuClose = _d === void 0 ? core_1.noop : _d, otherProps = __rest(_a, ["className", "mode", "label", "disabled", "icon", "onClick", "onMenuClose"]);
69
+ var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButtonMode.iconButton : _b, label = _a.label, description = _a.description, disabled = _a.disabled, Icon = _a.icon, _c = _a.onClick, onClick = _c === void 0 ? core_1.noop : _c, _d = _a.onMenuClose, onMenuClose = _d === void 0 ? core_1.noop : _d, otherProps = __rest(_a, ["className", "mode", "label", "description", "disabled", "icon", "onClick", "onMenuClose"]);
69
70
  var styles = (0, styles_1.useStyles)();
70
71
  var getButtonView = function () {
72
+ var _a, _b;
71
73
  switch (mode) {
72
- case 'iconButton': {
74
+ case ActionButtonMode.iconButton: {
73
75
  return (react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, __assign({ disabled: disabled, className: (0, classnames_1.default)(styles.iconButton, className), size: "S", tooltipTitle: label, onClick: onClick, icon: Icon, showForDisabled: true }, otherProps)));
74
76
  }
75
- case 'button': {
76
- return (react_1.default.createElement(Button_1.default, __assign({ className: (0, classnames_1.default)(styles.button, className), disabled: disabled, startIcon: react_1.default.createElement(Icon, null), onClick: onClick, color: "primary", classes: { startIcon: styles.startIcon } }, otherProps),
77
+ case ActionButtonMode.button: {
78
+ return (react_1.default.createElement(Button_1.default, __assign({ className: (0, classnames_1.default)(styles.button, className), disabled: disabled, startIcon: Icon && react_1.default.createElement(Icon, null), onClick: onClick, color: "primary", classes: { startIcon: styles.startIcon } }, otherProps),
77
79
  react_1.default.createElement(ExpandedValueTooltip_1.default, { value: label },
78
80
  react_1.default.createElement("div", { className: styles.overflowStyle }, label))));
79
81
  }
80
- case 'menuItem': {
82
+ case ActionButtonMode.menuItem: {
81
83
  var handleClick = function () {
82
84
  onMenuClose();
83
85
  onClick();
84
86
  };
85
- return (react_1.default.createElement(MenuItem_1.default, __assign({ classes: { root: styles.menuItem }, onClick: handleClick, disabled: disabled, ref: ref }, otherProps),
86
- react_1.default.createElement(react_1.default.Fragment, null,
87
- react_1.default.createElement(Icon, { className: styles.menuIcon }),
88
- react_1.default.createElement(Typography_1.default, { classes: { root: styles.menuText } }, label))));
87
+ var isComplexItem = !!description;
88
+ return (react_1.default.createElement(MenuItem_1.default, __assign({ classes: { root: (0, classnames_1.default)(styles.menuItem, (_a = {}, _a[styles.complexItem] = isComplexItem, _a)) }, onClick: handleClick, ref: ref }, otherProps),
89
+ Icon && (react_1.default.createElement(ListItemIcon_1.default, null,
90
+ react_1.default.createElement(Icon, null))),
91
+ react_1.default.createElement(ListItemText_1.default, { primary: label, secondary: description, classes: {
92
+ primary: (0, classnames_1.default)(styles.textPrimary, (_b = {}, _b[styles.bold] = isComplexItem, _b)),
93
+ secondary: styles.textSecondary
94
+ } })));
89
95
  }
90
96
  }
91
97
  };
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"button" | "startIcon" | "menuItem" | "menuText" | "iconButton" | "overflowStyle" | "menuIcon">;
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"bold" | "button" | "startIcon" | "menuItem" | "textSecondary" | "textPrimary" | "iconButton" | "overflowStyle" | "complexItem">;
@@ -32,17 +32,26 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
32
32
  whiteSpace: 'nowrap',
33
33
  textOverflow: 'ellipsis'
34
34
  },
35
- menuIcon: {
36
- marginRight: '12px'
37
- },
38
35
  menuItem: {
36
+ whiteSpace: 'inherit',
39
37
  minHeight: '28px',
40
38
  padding: '2px 16px 2px 12px'
41
39
  },
42
- menuText: {
40
+ complexItem: {
41
+ padding: '9px 12px 7px'
42
+ },
43
+ textPrimary: {
43
44
  color: theme.palette.text.primary,
44
45
  fontSize: '13px',
45
46
  lineHeight: '15px',
46
47
  letterSpacing: 0
48
+ },
49
+ bold: {
50
+ fontWeight: 500
51
+ },
52
+ textSecondary: {
53
+ fontSize: 10,
54
+ lineHeight: '12px',
55
+ maxWidth: 176
47
56
  }
48
57
  }); });
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  export type Action = {
3
- ActionButton: (props: any) => JSX.Element;
4
- show: boolean;
5
- props: Record<string, unknown>;
3
+ ActionButton?: (props: any) => JSX.Element;
4
+ show?: boolean;
5
+ [key: string]: unknown;
6
6
  };
7
7
  type Props = {
8
8
  actions: Action[];
@@ -10,8 +10,8 @@ type Props = {
10
10
  mode?: 'normal' | 'hover';
11
11
  actionButtonSize?: string;
12
12
  classes?: {
13
- actionButton: string;
14
- moreOptions: string;
13
+ actionButton?: string;
14
+ moreOptions?: string;
15
15
  };
16
16
  onActionsMenuOpen?: () => void;
17
17
  onActionsMenuClose?: () => void;
@@ -10,13 +10,24 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
16
27
  Object.defineProperty(exports, "__esModule", { value: true });
17
28
  var react_1 = __importDefault(require("react"));
18
- var ramda_1 = require("ramda");
19
29
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
30
+ var ramda_1 = require("ramda");
20
31
  var MoreVert_1 = __importDefault(require("@mui/icons-material/MoreVert"));
21
32
  var ActionButton_1 = require("../ActionButton/ActionButton");
22
33
  var SmallIconButton_1 = require("../SmallIconButton");
@@ -24,12 +35,12 @@ var DropDownMenuButton_1 = __importDefault(require("../DropDownMenuButton/DropDo
24
35
  var MenuItemRenderer_1 = __importDefault(require("./MenuItemRenderer"));
25
36
  var ActionsPanel = function (_a) {
26
37
  var actions = _a.actions, _b = _a.numberOfButtons, numberOfButtons = _b === void 0 ? 2 : _b, _c = _a.mode, mode = _c === void 0 ? 'normal' : _c, actionButtonSize = _a.actionButtonSize, classes = _a.classes, onActionsMenuOpen = _a.onActionsMenuOpen, onActionsMenuClose = _a.onActionsMenuClose, dataReltioId = _a.dataReltioId;
27
- var _d = (0, ramda_1.splitAt)(numberOfButtons, actions), buttonActions = _d[0], menuActions = _d[1];
38
+ var _d = (0, ramda_1.pipe)((0, ramda_1.reject)((0, ramda_1.propEq)('show', false)), (0, ramda_1.map)((0, ramda_1.omit)(['show'])), (0, ramda_1.splitAt)(numberOfButtons))(actions), buttonActions = _d[0], menuActions = _d[1];
28
39
  var buttonMode = mode === 'normal' ? ActionButton_1.ActionButtonMode.button : ActionButton_1.ActionButtonMode.iconButton;
29
40
  var buttonSize = mode === 'normal' ? 'MPlus' : 'S';
30
41
  return (react_1.default.createElement(react_1.default.Fragment, null,
31
42
  buttonActions.map(function (_a, index) {
32
- var ActionButton = _a.ActionButton, props = _a.props;
43
+ var _b = _a.ActionButton, ActionButton = _b === void 0 ? ActionButton_1.ActionButton : _b, props = __rest(_a, ["ActionButton"]);
33
44
  return (react_1.default.createElement(ActionButton, __assign({ key: index, mode: buttonMode, className: classes === null || classes === void 0 ? void 0 : classes.actionButton }, (actionButtonSize ? { size: actionButtonSize } : {}), props)));
34
45
  }),
35
46
  menuActions.length > 0 && (react_1.default.createElement(DropDownMenuButton_1.default, { buttonComponent: SmallIconButton_1.SmallIconButtonWithTooltip, buttonProps: {
@@ -37,6 +48,6 @@ var ActionsPanel = function (_a) {
37
48
  size: buttonSize,
38
49
  tooltipTitle: ui_i18n_1.default.text('More actions'),
39
50
  'data-reltio-id': dataReltioId
40
- }, className: classes === null || classes === void 0 ? void 0 : classes.moreOptions, menuId: 'matches-view-actions', menuItems: menuActions, onMenuOpen: onActionsMenuOpen, onMenuClose: onActionsMenuClose, MenuItemRenderer: MenuItemRenderer_1.default }))));
51
+ }, className: classes === null || classes === void 0 ? void 0 : classes.moreOptions, menuId: "view-actions", menuItems: menuActions, onMenuOpen: onActionsMenuOpen, onMenuClose: onActionsMenuClose, MenuItemRenderer: MenuItemRenderer_1.default }))));
41
52
  };
42
53
  exports.default = ActionsPanel;
@@ -33,13 +33,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
33
  __setModuleDefault(result, mod);
34
34
  return result;
35
35
  };
36
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
36
47
  Object.defineProperty(exports, "__esModule", { value: true });
37
48
  var react_1 = __importStar(require("react"));
38
49
  var ramda_1 = require("ramda");
50
+ var ActionButton_1 = require("../ActionButton/ActionButton");
39
51
  var MenuItemRenderer = (0, react_1.forwardRef)(function (_a, ref) {
40
52
  var item = _a.item, _b = _a.onMenuClose, onMenuClose = _b === void 0 ? ramda_1.identity : _b;
41
- var ActionButton = item.ActionButton, props = item.props;
42
- return react_1.default.createElement(ActionButton, __assign({ ref: ref, mode: "menuItem", onMenuClose: onMenuClose }, props));
53
+ var _c = item.ActionButton, ActionButton = _c === void 0 ? ActionButton_1.ActionButton : _c, props = __rest(item, ["ActionButton"]);
54
+ return react_1.default.createElement(ActionButton, __assign({ ref: ref, mode: ActionButton_1.ActionButtonMode.menuItem, onMenuClose: onMenuClose }, props));
43
55
  });
44
56
  MenuItemRenderer.displayName = 'MenuItemRenderer';
45
57
  exports.default = MenuItemRenderer;
@@ -152,7 +152,6 @@ export { DataTenantBadge } from './DataTenantBadge/DataTenantBadge';
152
152
  export { HierarchyNodeTitle } from './HierarchyNodeTitle/HierarchyNodeTitle';
153
153
  export { default as RequiredMark } from './RequiredMark/RequiredMark';
154
154
  export { RelevanceScoreBadge } from './RelevanceScoreBadge/RelevanceScoreBadge';
155
- export { default as MultilineMenuItem } from './MultilineMenuItem/MultilineMenuItem';
156
155
  export { default as TenantLabel } from './TenantLabel/TenantLabel';
157
156
  export { default as StepNavigation } from './StepNavigation/StepNavigation';
158
157
  export { TableSkeleton } from './TableSkeleton/TableSkeleton';
@@ -20,7 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.EmptyState = exports.NoResults = exports.NoData = exports.DropDownSelector = exports.DropDownMenuButton = exports.Drawer = exports.DataTypeValue = exports.ConnectionRelationTypeSelector = exports.ConfigureColumnsPopup = exports.MenuWithPopper = exports.MenuList = exports.LoadMoreButton = exports.DropdownIndicatorWithIconButton = exports.DropdownIndicator = exports.CommentsContainer = exports.ColorBar = exports.CollapseButton = exports.CollaborationItem = exports.ClickAwayProvider = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.AvatarWithFallback = exports.AutoSizeList = exports.ReadOnlyAttributesPager = exports.SimpleAttribute = exports.ReferenceAttribute = exports.NestedAttribute = exports.EditableImageAttributesLine = exports.ImageAttributesLine = exports.ReadOnlyAttributesList = exports.ReadOnlyAttributeValuesBlock = exports.EditableAttribute = exports.ReadOnlyAttribute = exports.CardinalityMessage = exports.AttributesPager = exports.SimpleAttributeEditor = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.NestedAttributeEditor = exports.MoreAttributesButton = exports.EntitySelector = exports.EntityCreator = exports.AttributesList = exports.BranchDecorator = exports.DescriptionIcon = exports.AttributesView = exports.AttributeListItem = void 0;
21
21
  exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.ReactSortableTreeUtils = exports.ReactSortableTreeHandlers = exports.ReactSortableTree = exports.ReactSelectOptionFilters = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBuilder = exports.SimpleMatchRulesBlock = exports.SimpleMatchRules = exports.MatchRuleVariant = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportModes = exports.ImportButton = exports.ImageGalleryDialog = exports.Highlighter = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.FlipCard = exports.FacetViewHeader = exports.ExternalInvalidRelations = exports.ExpandedValueTooltip = exports.ErrorWrapper = exports.ErrorPopup = exports.AttributesErrorsPanel = exports.ErrorBoundary = exports.EntityUriLink = exports.RelationTypesSelector = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = void 0;
22
22
  exports.HierarchyNodeTitle = exports.DataTenantBadge = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.ConnectionEditor = exports.AttributesFiltersBuilder = exports.AttributesFiltersButton = exports.AttributeGroupIcon = exports.BasicAttributeSelector = exports.ProfilesList = exports.ActionButtonMode = exports.ActionButton = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.RelationEditor = exports.OvIcon = exports.ErrorMessage = exports.ReltioMap = exports.ConfirmDeleteDialog = exports.ConfirmationDialog = exports.Marginator = exports.LightArrowTooltip = exports.ArrowExpandButton = exports.ScrollableTabs = exports.ExpandableSearchInput = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.ColoredSourceIcon = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopupPopper = exports.SelectionPopup = exports.useKeyboardNavigation = exports.WhiteSearchInput = void 0;
23
- exports.ReadableSearchQuery = exports.ActionsPanel = exports.LogicOperator = exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.MultilineMenuItem = exports.RelevanceScoreBadge = exports.RequiredMark = void 0;
23
+ exports.ReadableSearchQuery = exports.ActionsPanel = exports.LogicOperator = exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.RelevanceScoreBadge = exports.RequiredMark = void 0;
24
24
  __exportStar(require("./activityLog"), exports);
25
25
  var AttributeListItem_1 = require("./AttributeListItem/AttributeListItem");
26
26
  Object.defineProperty(exports, "AttributeListItem", { enumerable: true, get: function () { return __importDefault(AttributeListItem_1).default; } });
@@ -327,8 +327,6 @@ var RequiredMark_1 = require("./RequiredMark/RequiredMark");
327
327
  Object.defineProperty(exports, "RequiredMark", { enumerable: true, get: function () { return __importDefault(RequiredMark_1).default; } });
328
328
  var RelevanceScoreBadge_1 = require("./RelevanceScoreBadge/RelevanceScoreBadge");
329
329
  Object.defineProperty(exports, "RelevanceScoreBadge", { enumerable: true, get: function () { return RelevanceScoreBadge_1.RelevanceScoreBadge; } });
330
- var MultilineMenuItem_1 = require("./MultilineMenuItem/MultilineMenuItem");
331
- Object.defineProperty(exports, "MultilineMenuItem", { enumerable: true, get: function () { return __importDefault(MultilineMenuItem_1).default; } });
332
330
  var TenantLabel_1 = require("./TenantLabel/TenantLabel");
333
331
  Object.defineProperty(exports, "TenantLabel", { enumerable: true, get: function () { return __importDefault(TenantLabel_1).default; } });
334
332
  var StepNavigation_1 = require("./StepNavigation/StepNavigation");
@@ -7,10 +7,11 @@ export declare enum ActionButtonMode {
7
7
  export type Props = {
8
8
  className?: string;
9
9
  disabled?: boolean;
10
- icon: React.ElementType;
10
+ icon?: React.ElementType;
11
11
  label: string;
12
+ description?: string;
12
13
  mode: ActionButtonMode;
13
- onClick: () => void;
14
+ onClick?: () => void;
14
15
  onMenuClose?: () => void;
15
16
  };
16
17
  export declare const ActionButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
@@ -22,13 +22,14 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  };
23
23
  import React, { forwardRef } from 'react';
24
24
  import classnames from 'classnames';
25
+ import { noop } from '../../core';
25
26
  import Button from '@mui/material/Button';
26
27
  import MenuItem from '@mui/material/MenuItem';
27
- import Typography from '@mui/material/Typography';
28
- import { useStyles } from './styles';
29
- import { noop } from '../../core';
30
- import ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';
28
+ import ListItemIcon from '@mui/material/ListItemIcon';
29
+ import ListItemText from '@mui/material/ListItemText';
31
30
  import { SmallIconButtonWithTooltip } from '../SmallIconButton';
31
+ import ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';
32
+ import { useStyles } from './styles';
32
33
  export var ActionButtonMode;
33
34
  (function (ActionButtonMode) {
34
35
  ActionButtonMode["iconButton"] = "iconButton";
@@ -36,27 +37,32 @@ export var ActionButtonMode;
36
37
  ActionButtonMode["menuItem"] = "menuItem";
37
38
  })(ActionButtonMode || (ActionButtonMode = {}));
38
39
  export var ActionButton = forwardRef(function (_a, ref) {
39
- var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButtonMode.iconButton : _b, label = _a.label, disabled = _a.disabled, Icon = _a.icon, _c = _a.onClick, onClick = _c === void 0 ? noop : _c, _d = _a.onMenuClose, onMenuClose = _d === void 0 ? noop : _d, otherProps = __rest(_a, ["className", "mode", "label", "disabled", "icon", "onClick", "onMenuClose"]);
40
+ var className = _a.className, _b = _a.mode, mode = _b === void 0 ? ActionButtonMode.iconButton : _b, label = _a.label, description = _a.description, disabled = _a.disabled, Icon = _a.icon, _c = _a.onClick, onClick = _c === void 0 ? noop : _c, _d = _a.onMenuClose, onMenuClose = _d === void 0 ? noop : _d, otherProps = __rest(_a, ["className", "mode", "label", "description", "disabled", "icon", "onClick", "onMenuClose"]);
40
41
  var styles = useStyles();
41
42
  var getButtonView = function () {
43
+ var _a, _b;
42
44
  switch (mode) {
43
- case 'iconButton': {
45
+ case ActionButtonMode.iconButton: {
44
46
  return (React.createElement(SmallIconButtonWithTooltip, __assign({ disabled: disabled, className: classnames(styles.iconButton, className), size: "S", tooltipTitle: label, onClick: onClick, icon: Icon, showForDisabled: true }, otherProps)));
45
47
  }
46
- case 'button': {
47
- return (React.createElement(Button, __assign({ className: classnames(styles.button, className), disabled: disabled, startIcon: React.createElement(Icon, null), onClick: onClick, color: "primary", classes: { startIcon: styles.startIcon } }, otherProps),
48
+ case ActionButtonMode.button: {
49
+ return (React.createElement(Button, __assign({ className: classnames(styles.button, className), disabled: disabled, startIcon: Icon && React.createElement(Icon, null), onClick: onClick, color: "primary", classes: { startIcon: styles.startIcon } }, otherProps),
48
50
  React.createElement(ExpandedValueTooltip, { value: label },
49
51
  React.createElement("div", { className: styles.overflowStyle }, label))));
50
52
  }
51
- case 'menuItem': {
53
+ case ActionButtonMode.menuItem: {
52
54
  var handleClick = function () {
53
55
  onMenuClose();
54
56
  onClick();
55
57
  };
56
- return (React.createElement(MenuItem, __assign({ classes: { root: styles.menuItem }, onClick: handleClick, disabled: disabled, ref: ref }, otherProps),
57
- React.createElement(React.Fragment, null,
58
- React.createElement(Icon, { className: styles.menuIcon }),
59
- React.createElement(Typography, { classes: { root: styles.menuText } }, label))));
58
+ var isComplexItem = !!description;
59
+ return (React.createElement(MenuItem, __assign({ classes: { root: classnames(styles.menuItem, (_a = {}, _a[styles.complexItem] = isComplexItem, _a)) }, onClick: handleClick, ref: ref }, otherProps),
60
+ Icon && (React.createElement(ListItemIcon, null,
61
+ React.createElement(Icon, null))),
62
+ React.createElement(ListItemText, { primary: label, secondary: description, classes: {
63
+ primary: classnames(styles.textPrimary, (_b = {}, _b[styles.bold] = isComplexItem, _b)),
64
+ secondary: styles.textSecondary
65
+ } })));
60
66
  }
61
67
  }
62
68
  };
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"button" | "startIcon" | "menuItem" | "menuText" | "iconButton" | "overflowStyle" | "menuIcon">;
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"bold" | "button" | "startIcon" | "menuItem" | "textSecondary" | "textPrimary" | "iconButton" | "overflowStyle" | "complexItem">;
@@ -29,17 +29,26 @@ export var useStyles = makeStyles(function (theme) { return ({
29
29
  whiteSpace: 'nowrap',
30
30
  textOverflow: 'ellipsis'
31
31
  },
32
- menuIcon: {
33
- marginRight: '12px'
34
- },
35
32
  menuItem: {
33
+ whiteSpace: 'inherit',
36
34
  minHeight: '28px',
37
35
  padding: '2px 16px 2px 12px'
38
36
  },
39
- menuText: {
37
+ complexItem: {
38
+ padding: '9px 12px 7px'
39
+ },
40
+ textPrimary: {
40
41
  color: theme.palette.text.primary,
41
42
  fontSize: '13px',
42
43
  lineHeight: '15px',
43
44
  letterSpacing: 0
45
+ },
46
+ bold: {
47
+ fontWeight: 500
48
+ },
49
+ textSecondary: {
50
+ fontSize: 10,
51
+ lineHeight: '12px',
52
+ maxWidth: 176
44
53
  }
45
54
  }); });
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  export type Action = {
3
- ActionButton: (props: any) => JSX.Element;
4
- show: boolean;
5
- props: Record<string, unknown>;
3
+ ActionButton?: (props: any) => JSX.Element;
4
+ show?: boolean;
5
+ [key: string]: unknown;
6
6
  };
7
7
  type Props = {
8
8
  actions: Action[];
@@ -10,8 +10,8 @@ type Props = {
10
10
  mode?: 'normal' | 'hover';
11
11
  actionButtonSize?: string;
12
12
  classes?: {
13
- actionButton: string;
14
- moreOptions: string;
13
+ actionButton?: string;
14
+ moreOptions?: string;
15
15
  };
16
16
  onActionsMenuOpen?: () => void;
17
17
  onActionsMenuClose?: () => void;
@@ -9,22 +9,33 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
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
+ };
12
23
  import React from 'react';
13
- import { splitAt } from 'ramda';
14
24
  import i18n from 'ui-i18n';
25
+ import { splitAt, pipe, propEq, map, omit, reject } from 'ramda';
15
26
  import MoreVertIcon from '@mui/icons-material/MoreVert';
16
- import { ActionButtonMode } from '../ActionButton/ActionButton';
27
+ import { ActionButton as DefaultActionButton, ActionButtonMode } from '../ActionButton/ActionButton';
17
28
  import { SmallIconButtonWithTooltip } from '../SmallIconButton';
18
29
  import DropDownMenuButton from '../DropDownMenuButton/DropDownMenuButton';
19
30
  import MenuItemRenderer from './MenuItemRenderer';
20
31
  var ActionsPanel = function (_a) {
21
32
  var actions = _a.actions, _b = _a.numberOfButtons, numberOfButtons = _b === void 0 ? 2 : _b, _c = _a.mode, mode = _c === void 0 ? 'normal' : _c, actionButtonSize = _a.actionButtonSize, classes = _a.classes, onActionsMenuOpen = _a.onActionsMenuOpen, onActionsMenuClose = _a.onActionsMenuClose, dataReltioId = _a.dataReltioId;
22
- var _d = splitAt(numberOfButtons, actions), buttonActions = _d[0], menuActions = _d[1];
33
+ var _d = pipe(reject(propEq('show', false)), map(omit(['show'])), splitAt(numberOfButtons))(actions), buttonActions = _d[0], menuActions = _d[1];
23
34
  var buttonMode = mode === 'normal' ? ActionButtonMode.button : ActionButtonMode.iconButton;
24
35
  var buttonSize = mode === 'normal' ? 'MPlus' : 'S';
25
36
  return (React.createElement(React.Fragment, null,
26
37
  buttonActions.map(function (_a, index) {
27
- var ActionButton = _a.ActionButton, props = _a.props;
38
+ var _b = _a.ActionButton, ActionButton = _b === void 0 ? DefaultActionButton : _b, props = __rest(_a, ["ActionButton"]);
28
39
  return (React.createElement(ActionButton, __assign({ key: index, mode: buttonMode, className: classes === null || classes === void 0 ? void 0 : classes.actionButton }, (actionButtonSize ? { size: actionButtonSize } : {}), props)));
29
40
  }),
30
41
  menuActions.length > 0 && (React.createElement(DropDownMenuButton, { buttonComponent: SmallIconButtonWithTooltip, buttonProps: {
@@ -32,6 +43,6 @@ var ActionsPanel = function (_a) {
32
43
  size: buttonSize,
33
44
  tooltipTitle: i18n.text('More actions'),
34
45
  'data-reltio-id': dataReltioId
35
- }, className: classes === null || classes === void 0 ? void 0 : classes.moreOptions, menuId: 'matches-view-actions', menuItems: menuActions, onMenuOpen: onActionsMenuOpen, onMenuClose: onActionsMenuClose, MenuItemRenderer: MenuItemRenderer }))));
46
+ }, className: classes === null || classes === void 0 ? void 0 : classes.moreOptions, menuId: "view-actions", menuItems: menuActions, onMenuOpen: onActionsMenuOpen, onMenuClose: onActionsMenuClose, MenuItemRenderer: MenuItemRenderer }))));
36
47
  };
37
48
  export default ActionsPanel;
@@ -9,12 +9,24 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
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
+ };
12
23
  import React, { forwardRef } from 'react';
13
24
  import { identity } from 'ramda';
25
+ import { ActionButtonMode, ActionButton as DefaultActionButton } from '../ActionButton/ActionButton';
14
26
  var MenuItemRenderer = forwardRef(function (_a, ref) {
15
27
  var item = _a.item, _b = _a.onMenuClose, onMenuClose = _b === void 0 ? identity : _b;
16
- var ActionButton = item.ActionButton, props = item.props;
17
- return React.createElement(ActionButton, __assign({ ref: ref, mode: "menuItem", onMenuClose: onMenuClose }, props));
28
+ var _c = item.ActionButton, ActionButton = _c === void 0 ? DefaultActionButton : _c, props = __rest(item, ["ActionButton"]);
29
+ return React.createElement(ActionButton, __assign({ ref: ref, mode: ActionButtonMode.menuItem, onMenuClose: onMenuClose }, props));
18
30
  });
19
31
  MenuItemRenderer.displayName = 'MenuItemRenderer';
20
32
  export default MenuItemRenderer;
@@ -152,7 +152,6 @@ export { DataTenantBadge } from './DataTenantBadge/DataTenantBadge';
152
152
  export { HierarchyNodeTitle } from './HierarchyNodeTitle/HierarchyNodeTitle';
153
153
  export { default as RequiredMark } from './RequiredMark/RequiredMark';
154
154
  export { RelevanceScoreBadge } from './RelevanceScoreBadge/RelevanceScoreBadge';
155
- export { default as MultilineMenuItem } from './MultilineMenuItem/MultilineMenuItem';
156
155
  export { default as TenantLabel } from './TenantLabel/TenantLabel';
157
156
  export { default as StepNavigation } from './StepNavigation/StepNavigation';
158
157
  export { TableSkeleton } from './TableSkeleton/TableSkeleton';
@@ -152,7 +152,6 @@ export { DataTenantBadge } from './DataTenantBadge/DataTenantBadge';
152
152
  export { HierarchyNodeTitle } from './HierarchyNodeTitle/HierarchyNodeTitle';
153
153
  export { default as RequiredMark } from './RequiredMark/RequiredMark';
154
154
  export { RelevanceScoreBadge } from './RelevanceScoreBadge/RelevanceScoreBadge';
155
- export { default as MultilineMenuItem } from './MultilineMenuItem/MultilineMenuItem';
156
155
  export { default as TenantLabel } from './TenantLabel/TenantLabel';
157
156
  export { default as StepNavigation } from './StepNavigation/StepNavigation';
158
157
  export { TableSkeleton } from './TableSkeleton/TableSkeleton';
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1778",
3
+ "version": "1.4.1780",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
7
7
  "dependencies": {
8
8
  "@fluentui/react-context-selector": "^9.1.26",
9
9
  "@react-google-maps/api": "2.7.0",
10
- "@reltio/mdm-sdk": "^1.4.1751",
10
+ "@reltio/mdm-sdk": "^1.4.1753",
11
11
  "classnames": "^2.2.5",
12
12
  "d3-cloud": "^1.2.5",
13
13
  "d3-geo": "^2.0.1",
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- type Props = {
3
- item: {
4
- primary: string;
5
- secondary: string;
6
- onClick: () => void;
7
- };
8
- onMenuClose?: () => void;
9
- };
10
- declare const MultilineMenuItem: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
11
- export default MultilineMenuItem;
@@ -1,49 +0,0 @@
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
- var react_1 = __importStar(require("react"));
30
- var MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
31
- var ListItemText_1 = __importDefault(require("@mui/material/ListItemText"));
32
- var core_1 = require("../../core");
33
- var styles_1 = require("./styles");
34
- var MultilineMenuItem = (0, react_1.forwardRef)(function (_a, ref) {
35
- var item = _a.item, _b = _a.onMenuClose, onMenuClose = _b === void 0 ? core_1.noop : _b;
36
- var styles = (0, styles_1.useStyles)();
37
- var primary = item.primary, secondary = item.secondary, onClick = item.onClick;
38
- var handleClick = function () {
39
- onMenuClose();
40
- onClick();
41
- };
42
- return (react_1.default.createElement(MenuItem_1.default, { className: styles.menuItem, ref: ref, onClick: handleClick },
43
- react_1.default.createElement(ListItemText_1.default, { primary: primary, secondary: secondary, className: styles.itemText, classes: {
44
- primary: styles.textPrimary,
45
- secondary: styles.textSecondary
46
- } })));
47
- });
48
- MultilineMenuItem.displayName = 'MultilineMenuItem';
49
- exports.default = MultilineMenuItem;
@@ -1 +0,0 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"menuItem" | "textSecondary" | "itemText" | "textPrimary">;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useStyles = void 0;
4
- var styles_1 = require("@mui/styles");
5
- exports.useStyles = (0, styles_1.makeStyles)(function () { return ({
6
- menuItem: {
7
- whiteSpace: 'inherit',
8
- width: 200,
9
- padding: '9px 12px 7px'
10
- },
11
- itemText: {
12
- margin: 0
13
- },
14
- textPrimary: {
15
- fontSize: 14,
16
- lineHeight: '16px',
17
- fontWeight: 500
18
- },
19
- textSecondary: {
20
- fontSize: 10,
21
- lineHeight: '12px'
22
- }
23
- }); });
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- type Props = {
3
- item: {
4
- primary: string;
5
- secondary: string;
6
- onClick: () => void;
7
- };
8
- onMenuClose?: () => void;
9
- };
10
- declare const MultilineMenuItem: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
11
- export default MultilineMenuItem;
@@ -1,21 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import MenuItem from '@mui/material/MenuItem';
3
- import ListItemText from '@mui/material/ListItemText';
4
- import { noop } from '../../core';
5
- import { useStyles } from './styles';
6
- var MultilineMenuItem = forwardRef(function (_a, ref) {
7
- var item = _a.item, _b = _a.onMenuClose, onMenuClose = _b === void 0 ? noop : _b;
8
- var styles = useStyles();
9
- var primary = item.primary, secondary = item.secondary, onClick = item.onClick;
10
- var handleClick = function () {
11
- onMenuClose();
12
- onClick();
13
- };
14
- return (React.createElement(MenuItem, { className: styles.menuItem, ref: ref, onClick: handleClick },
15
- React.createElement(ListItemText, { primary: primary, secondary: secondary, className: styles.itemText, classes: {
16
- primary: styles.textPrimary,
17
- secondary: styles.textSecondary
18
- } })));
19
- });
20
- MultilineMenuItem.displayName = 'MultilineMenuItem';
21
- export default MultilineMenuItem;
@@ -1 +0,0 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"menuItem" | "textSecondary" | "itemText" | "textPrimary">;
@@ -1,20 +0,0 @@
1
- import { makeStyles } from '@mui/styles';
2
- export var useStyles = makeStyles(function () { return ({
3
- menuItem: {
4
- whiteSpace: 'inherit',
5
- width: 200,
6
- padding: '9px 12px 7px'
7
- },
8
- itemText: {
9
- margin: 0
10
- },
11
- textPrimary: {
12
- fontSize: 14,
13
- lineHeight: '16px',
14
- fontWeight: 500
15
- },
16
- textSecondary: {
17
- fontSize: 10,
18
- lineHeight: '12px'
19
- }
20
- }); });