@reltio/components 1.4.1359 → 1.4.1361

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 (31) hide show
  1. package/cjs/components/ProfileCard/ProfileCard.d.ts +2 -1
  2. package/cjs/components/ProfileCard/ProfileCard.js +5 -27
  3. package/cjs/components/ProfileCard/ProfileCardContent/ProfileCardContent.d.ts +11 -0
  4. package/cjs/components/ProfileCard/ProfileCardContent/ProfileCardContent.js +63 -0
  5. package/cjs/components/ProfileCard/ProfileCardContent/styles.d.ts +2 -0
  6. package/cjs/components/ProfileCard/ProfileCardContent/styles.js +69 -0
  7. package/cjs/components/ProfileCard/ProfileCardPlaceholder/ProfileCardPlaceholder.d.ts +2 -0
  8. package/cjs/components/ProfileCard/ProfileCardPlaceholder/ProfileCardPlaceholder.js +19 -0
  9. package/cjs/components/ProfileCard/ProfileCardPlaceholder/styles.d.ts +1 -0
  10. package/cjs/components/ProfileCard/ProfileCardPlaceholder/styles.js +63 -0
  11. package/cjs/components/ProfileCard/styles.d.ts +1 -1
  12. package/cjs/components/ProfileCard/styles.js +2 -65
  13. package/cjs/components/ScrollableTabs/ScrollableTabs.js +5 -4
  14. package/cjs/components/ScrollableTabs/styles.d.ts +1 -1
  15. package/cjs/components/ScrollableTabs/styles.js +5 -1
  16. package/esm/components/ProfileCard/ProfileCard.d.ts +2 -1
  17. package/esm/components/ProfileCard/ProfileCard.js +6 -28
  18. package/esm/components/ProfileCard/ProfileCardContent/ProfileCardContent.d.ts +11 -0
  19. package/esm/components/ProfileCard/ProfileCardContent/ProfileCardContent.js +33 -0
  20. package/esm/components/ProfileCard/ProfileCardContent/styles.d.ts +2 -0
  21. package/esm/components/ProfileCard/ProfileCardContent/styles.js +67 -0
  22. package/esm/components/ProfileCard/ProfileCardPlaceholder/ProfileCardPlaceholder.d.ts +2 -0
  23. package/esm/components/ProfileCard/ProfileCardPlaceholder/ProfileCardPlaceholder.js +12 -0
  24. package/esm/components/ProfileCard/ProfileCardPlaceholder/styles.d.ts +1 -0
  25. package/esm/components/ProfileCard/ProfileCardPlaceholder/styles.js +60 -0
  26. package/esm/components/ProfileCard/styles.d.ts +1 -1
  27. package/esm/components/ProfileCard/styles.js +2 -65
  28. package/esm/components/ScrollableTabs/ScrollableTabs.js +5 -4
  29. package/esm/components/ScrollableTabs/styles.d.ts +1 -1
  30. package/esm/components/ScrollableTabs/styles.js +5 -1
  31. package/package.json +3 -3
@@ -7,6 +7,7 @@ declare type Props = {
7
7
  secondaryLabel?: string;
8
8
  container?: string;
9
9
  };
10
+ variant?: 'loading' | 'normal';
10
11
  } & React.HTMLAttributes<HTMLDivElement>;
11
- declare const _default: React.MemoExoticComponent<({ entity, classes, ...otherProps }: Props) => JSX.Element>;
12
+ declare const _default: React.MemoExoticComponent<({ entity, classes, variant, ...otherProps }: Props) => JSX.Element>;
12
13
  export default _default;
@@ -49,36 +49,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
49
49
  };
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
51
  var react_1 = __importStar(require("react"));
52
- var ui_i18n_1 = __importDefault(require("ui-i18n"));
53
52
  var classnames_1 = __importDefault(require("classnames"));
54
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
53
+ var ProfileCardContent_1 = require("./ProfileCardContent/ProfileCardContent");
54
+ var ProfileCardPlaceholder_1 = require("./ProfileCardPlaceholder/ProfileCardPlaceholder");
55
55
  var styles_1 = __importDefault(require("./styles"));
56
- var EntityAvatar_1 = __importDefault(require("../EntityAvatar/EntityAvatar"));
57
- var EntityUriLink_1 = __importDefault(require("../EntityUriLink/EntityUriLink"));
58
- var ExpandedValueTooltip_1 = __importDefault(require("../ExpandedValueTooltip/ExpandedValueTooltip"));
59
- var EntityTypeBadge_1 = __importDefault(require("../EntityTypeBadge/EntityTypeBadge"));
60
56
  var ProfileCard = function (_a) {
61
- var entity = _a.entity, _b = _a.classes, classes = _b === void 0 ? {} : _b, otherProps = __rest(_a, ["entity", "classes"]);
57
+ var entity = _a.entity, _b = _a.classes, classes = _b === void 0 ? {} : _b, _c = _a.variant, variant = _c === void 0 ? 'normal' : _c, otherProps = __rest(_a, ["entity", "classes", "variant"]);
62
58
  var styles = (0, styles_1.default)();
63
- var secondaryLabelClass = classes.secondaryLabel, labelClass = classes.label, containerClass = classes.container;
64
- var label = (0, mdm_sdk_1.getLabel)(entity.label);
65
- var secondaryLabel = entity.secondaryLabel;
66
- var handleCopyEntityIdToClipboard = (0, react_1.useCallback)(function () {
67
- navigator.clipboard.writeText((0, mdm_sdk_1.getEntityId)(entity));
68
- }, [entity]);
69
- return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)(styles.container, containerClass) }, otherProps),
70
- react_1.default.createElement(EntityAvatar_1.default, { entity: entity, imageClassName: styles.image }),
71
- react_1.default.createElement("div", { className: styles.info },
72
- react_1.default.createElement(EntityUriLink_1.default, { value: (0, mdm_sdk_1.getEntityUriForLink)(entity), className: styles.link },
73
- react_1.default.createElement(ExpandedValueTooltip_1.default, { value: label, placement: "top", showOnExceededHeight: true },
74
- react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.label, labelClass) }, label))),
75
- secondaryLabel && (react_1.default.createElement(ExpandedValueTooltip_1.default, { value: secondaryLabel, placement: "top", showOnExceededHeight: true },
76
- react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.secondaryLabel, secondaryLabelClass) }, secondaryLabel))),
77
- react_1.default.createElement("div", { className: styles.thirdRow },
78
- react_1.default.createElement(EntityTypeBadge_1.default, { entity: entity, size: "medium" }),
79
- react_1.default.createElement("div", { className: styles.entityId, onClick: handleCopyEntityIdToClipboard },
80
- react_1.default.createElement("div", { className: styles.entityIdLabel }, ui_i18n_1.default.text('ID:')),
81
- react_1.default.createElement(ExpandedValueTooltip_1.default, { value: "Copy to clipboard ".concat((0, mdm_sdk_1.getEntityId)(entity)), placement: "top" },
82
- react_1.default.createElement("div", { className: styles.entityIdValue }, (0, mdm_sdk_1.getEntityId)(entity))))))));
59
+ var containerClass = classes.container;
60
+ return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)(styles.container, containerClass) }, otherProps), variant === 'normal' ? (react_1.default.createElement(ProfileCardContent_1.ProfileCardContent, { entity: entity, classes: classes })) : (react_1.default.createElement(ProfileCardPlaceholder_1.ProfileCardPlaceholder, null))));
83
61
  };
84
62
  exports.default = (0, react_1.memo)(ProfileCard);
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { Entity } from '@reltio/mdm-sdk';
3
+ declare type Props = {
4
+ entity: Entity;
5
+ classes?: {
6
+ label?: string;
7
+ secondaryLabel?: string;
8
+ };
9
+ };
10
+ export declare const ProfileCardContent: ({ entity, classes }: Props) => JSX.Element;
11
+ export {};
@@ -0,0 +1,63 @@
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.ProfileCardContent = 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 mdm_sdk_1 = require("@reltio/mdm-sdk");
34
+ var EntityAvatar_1 = __importDefault(require("../../EntityAvatar/EntityAvatar"));
35
+ var EntityUriLink_1 = __importDefault(require("../../EntityUriLink/EntityUriLink"));
36
+ var ExpandedValueTooltip_1 = __importDefault(require("../../ExpandedValueTooltip/ExpandedValueTooltip"));
37
+ var EntityTypeBadge_1 = __importDefault(require("../../EntityTypeBadge/EntityTypeBadge"));
38
+ var styles_1 = __importDefault(require("./styles"));
39
+ var ProfileCardContent = function (_a) {
40
+ var entity = _a.entity, _b = _a.classes, classes = _b === void 0 ? {} : _b;
41
+ var styles = (0, styles_1.default)();
42
+ var secondaryLabelClass = classes.secondaryLabel, labelClass = classes.label;
43
+ var label = (0, mdm_sdk_1.getLabel)(entity.label);
44
+ var secondaryLabel = entity.secondaryLabel;
45
+ var handleCopyEntityIdToClipboard = (0, react_1.useCallback)(function () {
46
+ navigator.clipboard.writeText((0, mdm_sdk_1.getEntityId)(entity));
47
+ }, [entity]);
48
+ return (react_1.default.createElement(react_1.default.Fragment, null,
49
+ react_1.default.createElement(EntityAvatar_1.default, { entity: entity, imageClassName: styles.image }),
50
+ react_1.default.createElement("div", { className: styles.info },
51
+ react_1.default.createElement(EntityUriLink_1.default, { value: (0, mdm_sdk_1.getEntityUriForLink)(entity), className: styles.link },
52
+ react_1.default.createElement(ExpandedValueTooltip_1.default, { value: label, placement: "top", showOnExceededHeight: true },
53
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.label, labelClass) }, label))),
54
+ secondaryLabel && (react_1.default.createElement(ExpandedValueTooltip_1.default, { value: secondaryLabel, placement: "top", showOnExceededHeight: true },
55
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.secondaryLabel, secondaryLabelClass) }, secondaryLabel))),
56
+ react_1.default.createElement("div", { className: styles.thirdRow },
57
+ react_1.default.createElement(EntityTypeBadge_1.default, { entity: entity, size: "medium" }),
58
+ react_1.default.createElement("div", { className: styles.entityId, onClick: handleCopyEntityIdToClipboard },
59
+ react_1.default.createElement("div", { className: styles.entityIdLabel }, ui_i18n_1.default.text('ID:')),
60
+ react_1.default.createElement(ExpandedValueTooltip_1.default, { value: "Copy to clipboard ".concat((0, mdm_sdk_1.getEntityId)(entity)), placement: "top" },
61
+ react_1.default.createElement("div", { className: styles.entityIdValue }, (0, mdm_sdk_1.getEntityId)(entity))))))));
62
+ };
63
+ exports.ProfileCardContent = ProfileCardContent;
@@ -0,0 +1,2 @@
1
+ declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "link" | "image" | "secondaryLabel" | "info" | "thirdRow" | "entityId" | "entityIdLabel" | "entityIdValue">;
2
+ export default useStyles;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var styles_1 = require("@material-ui/core/styles");
4
+ var useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
5
+ image: {
6
+ width: '40px',
7
+ height: '40px'
8
+ },
9
+ info: {
10
+ marginLeft: '12px',
11
+ overflow: 'hidden',
12
+ display: 'flex',
13
+ flexDirection: 'column'
14
+ },
15
+ label: {
16
+ textOverflow: 'ellipsis',
17
+ overflow: 'hidden',
18
+ whiteSpace: 'nowrap',
19
+ fontWeight: 400,
20
+ fontSize: '13px',
21
+ lineHeight: '15px',
22
+ color: theme.palette.primary.main
23
+ },
24
+ secondaryLabel: {
25
+ marginTop: '4px',
26
+ fontWeight: 400,
27
+ fontSize: '10px',
28
+ lineHeight: '12px',
29
+ color: theme.palette.text.secondary,
30
+ whiteSpace: 'nowrap',
31
+ overflow: 'hidden',
32
+ textOverflow: 'ellipsis'
33
+ },
34
+ link: {
35
+ textDecoration: 'none'
36
+ },
37
+ thirdRow: {
38
+ display: 'flex',
39
+ overflow: 'hidden',
40
+ alignItems: 'center',
41
+ marginTop: 'auto',
42
+ paddingTop: '4px'
43
+ },
44
+ entityId: {
45
+ display: 'flex',
46
+ overflow: 'hidden',
47
+ alignItems: 'baseline',
48
+ whiteSpace: 'nowrap',
49
+ fontWeight: 400,
50
+ fontSize: '12px',
51
+ lineHeight: '16px'
52
+ },
53
+ entityIdLabel: {
54
+ color: theme.palette.text.secondary
55
+ },
56
+ entityIdValue: {
57
+ marginLeft: '8px',
58
+ color: theme.palette.text.primary,
59
+ overflow: 'hidden',
60
+ textOverflow: 'ellipsis',
61
+ '&[aria-describedby]': {
62
+ cursor: 'pointer',
63
+ '&:hover': {
64
+ textDecoration: 'underline'
65
+ }
66
+ }
67
+ }
68
+ }); });
69
+ exports.default = useStyles;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ProfileCardPlaceholder: () => JSX.Element;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ProfileCardPlaceholder = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var classnames_1 = __importDefault(require("classnames"));
9
+ var styles_1 = require("./styles");
10
+ var ProfileCardPlaceholder = function () {
11
+ var styles = (0, styles_1.useStyles)();
12
+ return (react_1.default.createElement(react_1.default.Fragment, null,
13
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.avatar, styles.wave) }),
14
+ react_1.default.createElement("div", { className: styles.info },
15
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.label, styles.wave) }),
16
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.secondaryLabel, styles.wave) }),
17
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.thirdRow, styles.wave) }))));
18
+ };
19
+ exports.ProfileCardPlaceholder = ProfileCardPlaceholder;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "secondaryLabel" | "avatar" | "info" | "thirdRow" | "@keyframes keyframes-wave" | "wave">;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@material-ui/core/styles");
5
+ exports.useStyles = (0, styles_1.makeStyles)({
6
+ '@keyframes keyframes-wave': {
7
+ '0%': {
8
+ transform: 'translateX(-100%)'
9
+ },
10
+ '60%': {
11
+ transform: 'translateX(100%)'
12
+ },
13
+ '100%': {
14
+ transform: 'translateX(100%)'
15
+ }
16
+ },
17
+ wave: {
18
+ overflow: 'hidden',
19
+ position: 'relative',
20
+ '&:after': {
21
+ top: '0',
22
+ left: '0',
23
+ right: '0',
24
+ bottom: '0',
25
+ content: '""',
26
+ position: 'absolute',
27
+ animation: '$keyframes-wave 1.6s linear 0.5s infinite',
28
+ transform: 'translateX(-100%)',
29
+ background: 'linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.04), transparent);'
30
+ }
31
+ },
32
+ avatar: {
33
+ flex: 'none',
34
+ width: '40px',
35
+ height: '40px',
36
+ borderRadius: '50%',
37
+ backgroundColor: 'rgba(0, 0, 0, 0.11)'
38
+ },
39
+ info: {
40
+ marginLeft: '12px',
41
+ flex: 'auto'
42
+ },
43
+ label: {
44
+ width: '40%',
45
+ height: '15px',
46
+ borderRadius: '2px',
47
+ backgroundColor: 'rgba(0, 0, 0, 0.11)'
48
+ },
49
+ secondaryLabel: {
50
+ marginTop: '4px',
51
+ width: '100%',
52
+ height: '12px',
53
+ borderRadius: '2px',
54
+ backgroundColor: 'rgba(0, 0, 0, 0.11)'
55
+ },
56
+ thirdRow: {
57
+ marginTop: '4px',
58
+ width: '60%',
59
+ height: '24px',
60
+ borderRadius: '2px',
61
+ backgroundColor: 'rgba(0, 0, 0, 0.11)'
62
+ }
63
+ });
@@ -1,2 +1,2 @@
1
- declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "link" | "image" | "secondaryLabel" | "info" | "container" | "thirdRow" | "entityId" | "entityIdLabel" | "entityIdValue">;
1
+ declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"container">;
2
2
  export default useStyles;
@@ -1,74 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var styles_1 = require("@material-ui/core/styles");
4
- var useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
4
+ var useStyles = (0, styles_1.makeStyles)({
5
5
  container: {
6
6
  display: 'flex',
7
7
  padding: '16px',
8
8
  overflow: 'hidden'
9
- },
10
- image: {
11
- width: '40px',
12
- height: '40px'
13
- },
14
- info: {
15
- marginLeft: '12px',
16
- overflow: 'hidden',
17
- display: 'flex',
18
- flexDirection: 'column'
19
- },
20
- label: {
21
- textOverflow: 'ellipsis',
22
- overflow: 'hidden',
23
- whiteSpace: 'nowrap',
24
- fontWeight: 400,
25
- fontSize: '13px',
26
- lineHeight: '15px',
27
- color: theme.palette.primary.main
28
- },
29
- secondaryLabel: {
30
- marginTop: '4px',
31
- fontWeight: 400,
32
- fontSize: '10px',
33
- lineHeight: '12px',
34
- color: theme.palette.text.secondary,
35
- whiteSpace: 'nowrap',
36
- overflow: 'hidden',
37
- textOverflow: 'ellipsis'
38
- },
39
- link: {
40
- textDecoration: 'none'
41
- },
42
- thirdRow: {
43
- display: 'flex',
44
- overflow: 'hidden',
45
- alignItems: 'center',
46
- marginTop: 'auto',
47
- paddingTop: '4px'
48
- },
49
- entityId: {
50
- display: 'flex',
51
- overflow: 'hidden',
52
- alignItems: 'baseline',
53
- whiteSpace: 'nowrap',
54
- fontWeight: 400,
55
- fontSize: '12px',
56
- lineHeight: '16px'
57
- },
58
- entityIdLabel: {
59
- color: theme.palette.text.secondary
60
- },
61
- entityIdValue: {
62
- marginLeft: '8px',
63
- color: theme.palette.text.primary,
64
- overflow: 'hidden',
65
- textOverflow: 'ellipsis',
66
- '&[aria-describedby]': {
67
- cursor: 'pointer',
68
- '&:hover': {
69
- textDecoration: 'underline'
70
- }
71
- }
72
9
  }
73
- }); });
10
+ });
74
11
  exports.default = useStyles;
@@ -42,10 +42,11 @@ var ScrollableTabs = function (_a) {
42
42
  root: styles.tabsRoot,
43
43
  scrollButtons: styles.tabsScrollButton
44
44
  }, indicatorColor: "primary", textColor: "primary", variant: "scrollable", scrollButtons: "on" }, otherProps), tabs.map(function (_a) {
45
- var label = _a.label, value = _a.value, additionalLabel = _a.additionalLabel, dataReltioId = _a.dataReltioId;
46
- return (react_1.default.createElement(Tab_1.default, { classes: tabClasses || {
47
- root: styles.tabRoot
48
- }, key: value, value: value, label: renderLabel(label, additionalLabel), "data-reltio-id": dataReltioId }));
45
+ var label = _a.label, value = _a.value, additionalLabel = _a.additionalLabel, dataReltioId = _a.dataReltioId, rest = __rest(_a, ["label", "value", "additionalLabel", "dataReltioId"]);
46
+ return (react_1.default.createElement(Tab_1.default, __assign({ classes: tabClasses || {
47
+ root: styles.tabRoot,
48
+ disabled: styles.disabled
49
+ }, key: value, value: value, label: renderLabel(label, additionalLabel), "data-reltio-id": dataReltioId }, rest)));
49
50
  })));
50
51
  };
51
52
  exports.default = ScrollableTabs;
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "tabsRoot" | "tabsScrollButton" | "tabRoot" | "labelWrapper">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"disabled" | "label" | "tabsRoot" | "tabsScrollButton" | "tabRoot" | "labelWrapper">;
@@ -14,6 +14,9 @@ exports.useStyles = (0, styles_1.makeStyles)({
14
14
  padding: '7px 18px 5px',
15
15
  '@media (min-width: 960px)': {
16
16
  minWidth: 'inherit'
17
+ },
18
+ '&$disabled': {
19
+ pointerEvents: 'auto'
17
20
  }
18
21
  },
19
22
  labelWrapper: {
@@ -28,5 +31,6 @@ exports.useStyles = (0, styles_1.makeStyles)({
28
31
  whiteSpace: 'nowrap',
29
32
  textOverflow: 'ellipsis',
30
33
  fontWeight: 500
31
- }
34
+ },
35
+ disabled: {}
32
36
  });
@@ -7,6 +7,7 @@ declare type Props = {
7
7
  secondaryLabel?: string;
8
8
  container?: string;
9
9
  };
10
+ variant?: 'loading' | 'normal';
10
11
  } & React.HTMLAttributes<HTMLDivElement>;
11
- declare const _default: React.MemoExoticComponent<({ entity, classes, ...otherProps }: Props) => JSX.Element>;
12
+ declare const _default: React.MemoExoticComponent<({ entity, classes, variant, ...otherProps }: Props) => JSX.Element>;
12
13
  export default _default;
@@ -20,37 +20,15 @@ var __rest = (this && this.__rest) || function (s, e) {
20
20
  }
21
21
  return t;
22
22
  };
23
- import React, { memo, useCallback } from 'react';
24
- import i18n from 'ui-i18n';
23
+ import React, { memo } from 'react';
25
24
  import classnames from 'classnames';
26
- import { getEntityId, getEntityUriForLink, getLabel } from '@reltio/mdm-sdk';
25
+ import { ProfileCardContent } from './ProfileCardContent/ProfileCardContent';
26
+ import { ProfileCardPlaceholder } from './ProfileCardPlaceholder/ProfileCardPlaceholder';
27
27
  import useStyles from './styles';
28
- import EntityAvatar from '../EntityAvatar/EntityAvatar';
29
- import EntityUriLink from '../EntityUriLink/EntityUriLink';
30
- import ExpandedValueTooltip from '../ExpandedValueTooltip/ExpandedValueTooltip';
31
- import EntityTypeBadge from '../EntityTypeBadge/EntityTypeBadge';
32
28
  var ProfileCard = function (_a) {
33
- var entity = _a.entity, _b = _a.classes, classes = _b === void 0 ? {} : _b, otherProps = __rest(_a, ["entity", "classes"]);
29
+ var entity = _a.entity, _b = _a.classes, classes = _b === void 0 ? {} : _b, _c = _a.variant, variant = _c === void 0 ? 'normal' : _c, otherProps = __rest(_a, ["entity", "classes", "variant"]);
34
30
  var styles = useStyles();
35
- var secondaryLabelClass = classes.secondaryLabel, labelClass = classes.label, containerClass = classes.container;
36
- var label = getLabel(entity.label);
37
- var secondaryLabel = entity.secondaryLabel;
38
- var handleCopyEntityIdToClipboard = useCallback(function () {
39
- navigator.clipboard.writeText(getEntityId(entity));
40
- }, [entity]);
41
- return (React.createElement("div", __assign({ className: classnames(styles.container, containerClass) }, otherProps),
42
- React.createElement(EntityAvatar, { entity: entity, imageClassName: styles.image }),
43
- React.createElement("div", { className: styles.info },
44
- React.createElement(EntityUriLink, { value: getEntityUriForLink(entity), className: styles.link },
45
- React.createElement(ExpandedValueTooltip, { value: label, placement: "top", showOnExceededHeight: true },
46
- React.createElement("div", { className: classnames(styles.label, labelClass) }, label))),
47
- secondaryLabel && (React.createElement(ExpandedValueTooltip, { value: secondaryLabel, placement: "top", showOnExceededHeight: true },
48
- React.createElement("div", { className: classnames(styles.secondaryLabel, secondaryLabelClass) }, secondaryLabel))),
49
- React.createElement("div", { className: styles.thirdRow },
50
- React.createElement(EntityTypeBadge, { entity: entity, size: "medium" }),
51
- React.createElement("div", { className: styles.entityId, onClick: handleCopyEntityIdToClipboard },
52
- React.createElement("div", { className: styles.entityIdLabel }, i18n.text('ID:')),
53
- React.createElement(ExpandedValueTooltip, { value: "Copy to clipboard ".concat(getEntityId(entity)), placement: "top" },
54
- React.createElement("div", { className: styles.entityIdValue }, getEntityId(entity))))))));
31
+ var containerClass = classes.container;
32
+ return (React.createElement("div", __assign({ className: classnames(styles.container, containerClass) }, otherProps), variant === 'normal' ? (React.createElement(ProfileCardContent, { entity: entity, classes: classes })) : (React.createElement(ProfileCardPlaceholder, null))));
55
33
  };
56
34
  export default memo(ProfileCard);
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { Entity } from '@reltio/mdm-sdk';
3
+ declare type Props = {
4
+ entity: Entity;
5
+ classes?: {
6
+ label?: string;
7
+ secondaryLabel?: string;
8
+ };
9
+ };
10
+ export declare const ProfileCardContent: ({ entity, classes }: Props) => JSX.Element;
11
+ export {};
@@ -0,0 +1,33 @@
1
+ import React, { useCallback } from 'react';
2
+ import i18n from 'ui-i18n';
3
+ import classnames from 'classnames';
4
+ import { getEntityId, getEntityUriForLink, getLabel } from '@reltio/mdm-sdk';
5
+ import EntityAvatar from '../../EntityAvatar/EntityAvatar';
6
+ import EntityUriLink from '../../EntityUriLink/EntityUriLink';
7
+ import ExpandedValueTooltip from '../../ExpandedValueTooltip/ExpandedValueTooltip';
8
+ import EntityTypeBadge from '../../EntityTypeBadge/EntityTypeBadge';
9
+ import useStyles from './styles';
10
+ export var ProfileCardContent = function (_a) {
11
+ var entity = _a.entity, _b = _a.classes, classes = _b === void 0 ? {} : _b;
12
+ var styles = useStyles();
13
+ var secondaryLabelClass = classes.secondaryLabel, labelClass = classes.label;
14
+ var label = getLabel(entity.label);
15
+ var secondaryLabel = entity.secondaryLabel;
16
+ var handleCopyEntityIdToClipboard = useCallback(function () {
17
+ navigator.clipboard.writeText(getEntityId(entity));
18
+ }, [entity]);
19
+ return (React.createElement(React.Fragment, null,
20
+ React.createElement(EntityAvatar, { entity: entity, imageClassName: styles.image }),
21
+ React.createElement("div", { className: styles.info },
22
+ React.createElement(EntityUriLink, { value: getEntityUriForLink(entity), className: styles.link },
23
+ React.createElement(ExpandedValueTooltip, { value: label, placement: "top", showOnExceededHeight: true },
24
+ React.createElement("div", { className: classnames(styles.label, labelClass) }, label))),
25
+ secondaryLabel && (React.createElement(ExpandedValueTooltip, { value: secondaryLabel, placement: "top", showOnExceededHeight: true },
26
+ React.createElement("div", { className: classnames(styles.secondaryLabel, secondaryLabelClass) }, secondaryLabel))),
27
+ React.createElement("div", { className: styles.thirdRow },
28
+ React.createElement(EntityTypeBadge, { entity: entity, size: "medium" }),
29
+ React.createElement("div", { className: styles.entityId, onClick: handleCopyEntityIdToClipboard },
30
+ React.createElement("div", { className: styles.entityIdLabel }, i18n.text('ID:')),
31
+ React.createElement(ExpandedValueTooltip, { value: "Copy to clipboard ".concat(getEntityId(entity)), placement: "top" },
32
+ React.createElement("div", { className: styles.entityIdValue }, getEntityId(entity))))))));
33
+ };
@@ -0,0 +1,2 @@
1
+ declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "link" | "image" | "secondaryLabel" | "info" | "thirdRow" | "entityId" | "entityIdLabel" | "entityIdValue">;
2
+ export default useStyles;
@@ -0,0 +1,67 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ var useStyles = makeStyles(function (theme) { return ({
3
+ image: {
4
+ width: '40px',
5
+ height: '40px'
6
+ },
7
+ info: {
8
+ marginLeft: '12px',
9
+ overflow: 'hidden',
10
+ display: 'flex',
11
+ flexDirection: 'column'
12
+ },
13
+ label: {
14
+ textOverflow: 'ellipsis',
15
+ overflow: 'hidden',
16
+ whiteSpace: 'nowrap',
17
+ fontWeight: 400,
18
+ fontSize: '13px',
19
+ lineHeight: '15px',
20
+ color: theme.palette.primary.main
21
+ },
22
+ secondaryLabel: {
23
+ marginTop: '4px',
24
+ fontWeight: 400,
25
+ fontSize: '10px',
26
+ lineHeight: '12px',
27
+ color: theme.palette.text.secondary,
28
+ whiteSpace: 'nowrap',
29
+ overflow: 'hidden',
30
+ textOverflow: 'ellipsis'
31
+ },
32
+ link: {
33
+ textDecoration: 'none'
34
+ },
35
+ thirdRow: {
36
+ display: 'flex',
37
+ overflow: 'hidden',
38
+ alignItems: 'center',
39
+ marginTop: 'auto',
40
+ paddingTop: '4px'
41
+ },
42
+ entityId: {
43
+ display: 'flex',
44
+ overflow: 'hidden',
45
+ alignItems: 'baseline',
46
+ whiteSpace: 'nowrap',
47
+ fontWeight: 400,
48
+ fontSize: '12px',
49
+ lineHeight: '16px'
50
+ },
51
+ entityIdLabel: {
52
+ color: theme.palette.text.secondary
53
+ },
54
+ entityIdValue: {
55
+ marginLeft: '8px',
56
+ color: theme.palette.text.primary,
57
+ overflow: 'hidden',
58
+ textOverflow: 'ellipsis',
59
+ '&[aria-describedby]': {
60
+ cursor: 'pointer',
61
+ '&:hover': {
62
+ textDecoration: 'underline'
63
+ }
64
+ }
65
+ }
66
+ }); });
67
+ export default useStyles;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ProfileCardPlaceholder: () => JSX.Element;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import classnames from 'classnames';
3
+ import { useStyles } from './styles';
4
+ export var ProfileCardPlaceholder = function () {
5
+ var styles = useStyles();
6
+ return (React.createElement(React.Fragment, null,
7
+ React.createElement("div", { className: classnames(styles.avatar, styles.wave) }),
8
+ React.createElement("div", { className: styles.info },
9
+ React.createElement("div", { className: classnames(styles.label, styles.wave) }),
10
+ React.createElement("div", { className: classnames(styles.secondaryLabel, styles.wave) }),
11
+ React.createElement("div", { className: classnames(styles.thirdRow, styles.wave) }))));
12
+ };
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "secondaryLabel" | "avatar" | "info" | "thirdRow" | "@keyframes keyframes-wave" | "wave">;
@@ -0,0 +1,60 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ export var useStyles = makeStyles({
3
+ '@keyframes keyframes-wave': {
4
+ '0%': {
5
+ transform: 'translateX(-100%)'
6
+ },
7
+ '60%': {
8
+ transform: 'translateX(100%)'
9
+ },
10
+ '100%': {
11
+ transform: 'translateX(100%)'
12
+ }
13
+ },
14
+ wave: {
15
+ overflow: 'hidden',
16
+ position: 'relative',
17
+ '&:after': {
18
+ top: '0',
19
+ left: '0',
20
+ right: '0',
21
+ bottom: '0',
22
+ content: '""',
23
+ position: 'absolute',
24
+ animation: '$keyframes-wave 1.6s linear 0.5s infinite',
25
+ transform: 'translateX(-100%)',
26
+ background: 'linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.04), transparent);'
27
+ }
28
+ },
29
+ avatar: {
30
+ flex: 'none',
31
+ width: '40px',
32
+ height: '40px',
33
+ borderRadius: '50%',
34
+ backgroundColor: 'rgba(0, 0, 0, 0.11)'
35
+ },
36
+ info: {
37
+ marginLeft: '12px',
38
+ flex: 'auto'
39
+ },
40
+ label: {
41
+ width: '40%',
42
+ height: '15px',
43
+ borderRadius: '2px',
44
+ backgroundColor: 'rgba(0, 0, 0, 0.11)'
45
+ },
46
+ secondaryLabel: {
47
+ marginTop: '4px',
48
+ width: '100%',
49
+ height: '12px',
50
+ borderRadius: '2px',
51
+ backgroundColor: 'rgba(0, 0, 0, 0.11)'
52
+ },
53
+ thirdRow: {
54
+ marginTop: '4px',
55
+ width: '60%',
56
+ height: '24px',
57
+ borderRadius: '2px',
58
+ backgroundColor: 'rgba(0, 0, 0, 0.11)'
59
+ }
60
+ });
@@ -1,2 +1,2 @@
1
- declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "link" | "image" | "secondaryLabel" | "info" | "container" | "thirdRow" | "entityId" | "entityIdLabel" | "entityIdValue">;
1
+ declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"container">;
2
2
  export default useStyles;
@@ -1,72 +1,9 @@
1
1
  import { makeStyles } from '@material-ui/core/styles';
2
- var useStyles = makeStyles(function (theme) { return ({
2
+ var useStyles = makeStyles({
3
3
  container: {
4
4
  display: 'flex',
5
5
  padding: '16px',
6
6
  overflow: 'hidden'
7
- },
8
- image: {
9
- width: '40px',
10
- height: '40px'
11
- },
12
- info: {
13
- marginLeft: '12px',
14
- overflow: 'hidden',
15
- display: 'flex',
16
- flexDirection: 'column'
17
- },
18
- label: {
19
- textOverflow: 'ellipsis',
20
- overflow: 'hidden',
21
- whiteSpace: 'nowrap',
22
- fontWeight: 400,
23
- fontSize: '13px',
24
- lineHeight: '15px',
25
- color: theme.palette.primary.main
26
- },
27
- secondaryLabel: {
28
- marginTop: '4px',
29
- fontWeight: 400,
30
- fontSize: '10px',
31
- lineHeight: '12px',
32
- color: theme.palette.text.secondary,
33
- whiteSpace: 'nowrap',
34
- overflow: 'hidden',
35
- textOverflow: 'ellipsis'
36
- },
37
- link: {
38
- textDecoration: 'none'
39
- },
40
- thirdRow: {
41
- display: 'flex',
42
- overflow: 'hidden',
43
- alignItems: 'center',
44
- marginTop: 'auto',
45
- paddingTop: '4px'
46
- },
47
- entityId: {
48
- display: 'flex',
49
- overflow: 'hidden',
50
- alignItems: 'baseline',
51
- whiteSpace: 'nowrap',
52
- fontWeight: 400,
53
- fontSize: '12px',
54
- lineHeight: '16px'
55
- },
56
- entityIdLabel: {
57
- color: theme.palette.text.secondary
58
- },
59
- entityIdValue: {
60
- marginLeft: '8px',
61
- color: theme.palette.text.primary,
62
- overflow: 'hidden',
63
- textOverflow: 'ellipsis',
64
- '&[aria-describedby]': {
65
- cursor: 'pointer',
66
- '&:hover': {
67
- textDecoration: 'underline'
68
- }
69
- }
70
7
  }
71
- }); });
8
+ });
72
9
  export default useStyles;
@@ -37,10 +37,11 @@ var ScrollableTabs = function (_a) {
37
37
  root: styles.tabsRoot,
38
38
  scrollButtons: styles.tabsScrollButton
39
39
  }, indicatorColor: "primary", textColor: "primary", variant: "scrollable", scrollButtons: "on" }, otherProps), tabs.map(function (_a) {
40
- var label = _a.label, value = _a.value, additionalLabel = _a.additionalLabel, dataReltioId = _a.dataReltioId;
41
- return (React.createElement(Tab, { classes: tabClasses || {
42
- root: styles.tabRoot
43
- }, key: value, value: value, label: renderLabel(label, additionalLabel), "data-reltio-id": dataReltioId }));
40
+ var label = _a.label, value = _a.value, additionalLabel = _a.additionalLabel, dataReltioId = _a.dataReltioId, rest = __rest(_a, ["label", "value", "additionalLabel", "dataReltioId"]);
41
+ return (React.createElement(Tab, __assign({ classes: tabClasses || {
42
+ root: styles.tabRoot,
43
+ disabled: styles.disabled
44
+ }, key: value, value: value, label: renderLabel(label, additionalLabel), "data-reltio-id": dataReltioId }, rest)));
44
45
  })));
45
46
  };
46
47
  export default ScrollableTabs;
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "tabsRoot" | "tabsScrollButton" | "tabRoot" | "labelWrapper">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"disabled" | "label" | "tabsRoot" | "tabsScrollButton" | "tabRoot" | "labelWrapper">;
@@ -11,6 +11,9 @@ export var useStyles = makeStyles({
11
11
  padding: '7px 18px 5px',
12
12
  '@media (min-width: 960px)': {
13
13
  minWidth: 'inherit'
14
+ },
15
+ '&$disabled': {
16
+ pointerEvents: 'auto'
14
17
  }
15
18
  },
16
19
  labelWrapper: {
@@ -25,5 +28,6 @@ export var useStyles = makeStyles({
25
28
  whiteSpace: 'nowrap',
26
29
  textOverflow: 'ellipsis',
27
30
  fontWeight: 500
28
- }
31
+ },
32
+ disabled: {}
29
33
  });
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1359",
3
+ "version": "1.4.1361",
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
  "@date-io/moment": "^1.3.5",
9
9
  "@react-google-maps/api": "2.7.0",
10
- "@reltio/mdm-module": "^1.4.1359",
11
- "@reltio/mdm-sdk": "^1.4.1359",
10
+ "@reltio/mdm-module": "^1.4.1361",
11
+ "@reltio/mdm-sdk": "^1.4.1361",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",