@synerise/ds-avatar 0.13.37 → 0.14.3
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.
- package/CHANGELOG.md +32 -0
- package/README.md +2 -3
- package/dist/Avatar.js +9 -8
- package/dist/Avatar.spec.js +11 -11
- package/dist/Avatar.styles.js +7 -7
- package/dist/Avatar.types.js +1 -0
- package/dist/ObjectAvatar/ObjectAvatar.js +13 -27
- package/dist/ObjectAvatar/ObjectAvatar.spec.js +15 -9
- package/dist/UserAvatar/UserAvatar.js +13 -27
- package/dist/UserAvatar/UserAvatar.spec.js +13 -9
- package/dist/utils.js +22 -12
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.14.3](https://github.com/synerise/synerise-design/compare/@synerise/ds-avatar@0.14.2...@synerise/ds-avatar@0.14.3) (2021-11-22)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @synerise/ds-avatar
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [0.14.2](https://github.com/synerise/synerise-design/compare/@synerise/ds-avatar@0.14.1...@synerise/ds-avatar@0.14.2) (2021-11-16)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @synerise/ds-avatar
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [0.14.1](https://github.com/synerise/synerise-design/compare/@synerise/ds-avatar@0.13.37...@synerise/ds-avatar@0.14.1) (2021-11-09)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @synerise/ds-avatar
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# [0.14.0](https://github.com/synerise/synerise-design/compare/@synerise/ds-avatar@0.13.37...@synerise/ds-avatar@0.14.0) (2021-11-09)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @synerise/ds-avatar
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
6
38
|
## [0.13.37](https://github.com/synerise/synerise-design/compare/@synerise/ds-avatar@0.13.36...@synerise/ds-avatar@0.13.37) (2021-11-05)
|
|
7
39
|
|
|
8
40
|
**Note:** Version bump only for package @synerise/ds-avatar
|
package/README.md
CHANGED
|
@@ -95,8 +95,7 @@ We can present avatars as a single entity or in a group.
|
|
|
95
95
|
### Avatar icons
|
|
96
96
|
|
|
97
97
|
```
|
|
98
|
-
import Icon from "@synerise/ds-icon";
|
|
99
|
-
import { FileM} from "@synerise/ds-icon/dist/icons";
|
|
98
|
+
import Icon, { FileM } from "@synerise/ds-icon";
|
|
100
99
|
<div style={{ 'display': 'flex', 'justifyContent': 'space-between' }}>
|
|
101
100
|
<Avatar tooltip={{name: 'Jan Janowski', email: 'jj@test.pl'}} shape="square" size="medium" backgroundColor="blue" backgroundColorHue="600">JJ</Avatar>
|
|
102
101
|
<Avatar tooltip={{name: 'Jan Janowski', email: 'jj@test.pl'}} shape="cirlce" size="medium" backgroundColor="blue" backgroundColorHue="600">JJ</Avatar>
|
|
@@ -194,4 +193,4 @@ import { ObjectAvatar } from '@synerise/ds-avatar';
|
|
|
194
193
|
| disabled | Determines if avatar is disabled | boolean | `false` | |
|
|
195
194
|
| iconComponent | Replace default user icon | React.ReactNode | - | |
|
|
196
195
|
| size | Size of the avatar | `small` / `medium` / `large` / `extraLarge` | `medium` | |
|
|
197
|
-
| tooltip | Change default tooltip text displayed on hover | { title: string, description: string, status: string } / `false` | - | |
|
|
196
|
+
| tooltip | Change default tooltip text displayed on hover | { title: string, description: string, status: string } / `false` | - | |
|
package/dist/Avatar.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
var _excluded = ["backgroundColor", "backgroundColorHue", "children", "disabled", "hasStatus", "iconComponent", "iconScale", "tooltip", "size"],
|
|
2
|
+
_excluded2 = ["type"];
|
|
3
|
+
|
|
1
4
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
5
|
|
|
3
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -6,8 +9,6 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
6
9
|
|
|
7
10
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
11
|
|
|
9
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
10
|
-
|
|
11
12
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
12
13
|
|
|
13
14
|
import * as React from 'react';
|
|
@@ -42,16 +43,16 @@ var Avatar = function Avatar(_ref) {
|
|
|
42
43
|
tooltip = _ref$tooltip === void 0 ? {} : _ref$tooltip,
|
|
43
44
|
_ref$size = _ref.size,
|
|
44
45
|
size = _ref$size === void 0 ? DEFAULT_SIZE : _ref$size,
|
|
45
|
-
antdProps =
|
|
46
|
+
antdProps = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
46
47
|
|
|
47
48
|
var sizes = _objectSpread({}, ICON_SIZES);
|
|
48
49
|
|
|
49
50
|
var iconElement = iconComponent; // Enforce icon to be scaled
|
|
50
51
|
|
|
51
|
-
if (isIconComponent((_iconElement = iconElement)
|
|
52
|
+
if (isIconComponent((_iconElement = iconElement) == null ? void 0 : _iconElement.type) && iconScale) {
|
|
52
53
|
var _iconElement$props$co, _iconElement$props$co2, _iconElement$props$co3;
|
|
53
54
|
|
|
54
|
-
if ((_iconElement$props$co = iconElement.props.component)
|
|
55
|
+
if ((_iconElement$props$co = iconElement.props.component) != null && (_iconElement$props$co2 = _iconElement$props$co.type) != null && (_iconElement$props$co3 = _iconElement$props$co2.name) != null && _iconElement$props$co3.match(/S$/)) {
|
|
55
56
|
sizes.small = 24;
|
|
56
57
|
}
|
|
57
58
|
|
|
@@ -63,16 +64,16 @@ var Avatar = function Avatar(_ref) {
|
|
|
63
64
|
|
|
64
65
|
var _getTooltipProps = getTooltipProps(tooltip),
|
|
65
66
|
type = _getTooltipProps.type,
|
|
66
|
-
tooltipProps =
|
|
67
|
+
tooltipProps = _objectWithoutPropertiesLoose(_getTooltipProps, _excluded2);
|
|
67
68
|
|
|
68
69
|
var hasTooltip = Object.keys(tooltipProps).length && !!Object.values(tooltipProps).reduce(function (prev, next) {
|
|
69
70
|
return next || prev;
|
|
70
71
|
});
|
|
71
|
-
return React.createElement(Tooltip, _extends({
|
|
72
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
72
73
|
type: type,
|
|
73
74
|
mouseLeaveDelay: 0,
|
|
74
75
|
mouseEnterDelay: 0
|
|
75
|
-
}, tooltipProps), React.createElement(AntdAvatar, _extends({
|
|
76
|
+
}, tooltipProps), /*#__PURE__*/React.createElement(AntdAvatar, _extends({
|
|
76
77
|
className: "ds-avatar",
|
|
77
78
|
hasStatus: hasStatus,
|
|
78
79
|
hasTooltip: hasTooltip,
|
package/dist/Avatar.spec.js
CHANGED
|
@@ -11,7 +11,7 @@ var IMG_SRC = 'https://hsto.org/web/77c/061/c05/77c061c0550f4acd98380bf554eb8886
|
|
|
11
11
|
describe('Avatar', function () {
|
|
12
12
|
it('should render with text', function () {
|
|
13
13
|
// ARRANGE
|
|
14
|
-
var _renderWithProvider = renderWithProvider(React.createElement(Avatar, {
|
|
14
|
+
var _renderWithProvider = renderWithProvider( /*#__PURE__*/React.createElement(Avatar, {
|
|
15
15
|
backgroundColor: FERN,
|
|
16
16
|
size: DEF_SIZE,
|
|
17
17
|
shape: CIRCLE_SHAPE
|
|
@@ -23,9 +23,9 @@ describe('Avatar', function () {
|
|
|
23
23
|
});
|
|
24
24
|
it('should render with custom icon', function () {
|
|
25
25
|
// ARRANGE
|
|
26
|
-
var _renderWithProvider2 = renderWithProvider(React.createElement(Avatar, {
|
|
26
|
+
var _renderWithProvider2 = renderWithProvider( /*#__PURE__*/React.createElement(Avatar, {
|
|
27
27
|
backgroundColor: FERN,
|
|
28
|
-
iconComponent: React.createElement("div", null, React.createElement("svg", null, "i"))
|
|
28
|
+
iconComponent: /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("svg", null, "i"))
|
|
29
29
|
})),
|
|
30
30
|
container = _renderWithProvider2.container;
|
|
31
31
|
|
|
@@ -35,7 +35,7 @@ describe('Avatar', function () {
|
|
|
35
35
|
});
|
|
36
36
|
it('should render with image', function () {
|
|
37
37
|
// ARRANGE
|
|
38
|
-
var _renderWithProvider3 = renderWithProvider(React.createElement(Avatar, {
|
|
38
|
+
var _renderWithProvider3 = renderWithProvider( /*#__PURE__*/React.createElement(Avatar, {
|
|
39
39
|
src: IMG_SRC
|
|
40
40
|
})),
|
|
41
41
|
container = _renderWithProvider3.container;
|
|
@@ -43,13 +43,13 @@ describe('Avatar', function () {
|
|
|
43
43
|
var img = container.querySelector('img'); // ASSERT
|
|
44
44
|
|
|
45
45
|
expect(container).toContainElement(img);
|
|
46
|
-
expect(img).toHaveAttribute('src', expect.stringContaining(""
|
|
46
|
+
expect(img).toHaveAttribute('src', expect.stringContaining("" + IMG_SRC));
|
|
47
47
|
});
|
|
48
48
|
it('should render with badge dot', function () {
|
|
49
49
|
// ARRANGE
|
|
50
|
-
var _renderWithProvider4 = renderWithProvider(React.createElement(Badge, {
|
|
50
|
+
var _renderWithProvider4 = renderWithProvider( /*#__PURE__*/React.createElement(Badge, {
|
|
51
51
|
status: "inactive"
|
|
52
|
-
}, React.createElement(Avatar, {
|
|
52
|
+
}, /*#__PURE__*/React.createElement(Avatar, {
|
|
53
53
|
hasStatus: true,
|
|
54
54
|
src: IMG_SRC,
|
|
55
55
|
size: "small"
|
|
@@ -66,7 +66,7 @@ describe('Avatar', function () {
|
|
|
66
66
|
});
|
|
67
67
|
it('should render with proper styles', function () {
|
|
68
68
|
// ARRANGE
|
|
69
|
-
var _renderWithProvider5 = renderWithProvider(React.createElement(Avatar, {
|
|
69
|
+
var _renderWithProvider5 = renderWithProvider( /*#__PURE__*/React.createElement(Avatar, {
|
|
70
70
|
backgroundColor: RED,
|
|
71
71
|
shape: SQUARE_SHAPE,
|
|
72
72
|
size: "small"
|
|
@@ -80,7 +80,7 @@ describe('Avatar', function () {
|
|
|
80
80
|
});
|
|
81
81
|
it('should render with inline styles bg color', function () {
|
|
82
82
|
// ARRANGE
|
|
83
|
-
var _renderWithProvider6 = renderWithProvider(React.createElement(Avatar, {
|
|
83
|
+
var _renderWithProvider6 = renderWithProvider( /*#__PURE__*/React.createElement(Avatar, {
|
|
84
84
|
backgroundColor: RED,
|
|
85
85
|
shape: SQUARE_SHAPE,
|
|
86
86
|
style: {
|
|
@@ -95,7 +95,7 @@ describe('Avatar', function () {
|
|
|
95
95
|
});
|
|
96
96
|
it('should render with disabled styles', function () {
|
|
97
97
|
// ARRANGE
|
|
98
|
-
var _renderWithProvider7 = renderWithProvider(React.createElement(Avatar, {
|
|
98
|
+
var _renderWithProvider7 = renderWithProvider( /*#__PURE__*/React.createElement(Avatar, {
|
|
99
99
|
disabled: true
|
|
100
100
|
})),
|
|
101
101
|
container = _renderWithProvider7.container;
|
|
@@ -106,7 +106,7 @@ describe('Avatar', function () {
|
|
|
106
106
|
});
|
|
107
107
|
it('should contain `ds-avatar` className', function () {
|
|
108
108
|
// ARRANGE
|
|
109
|
-
var _renderWithProvider8 = renderWithProvider(React.createElement(Avatar, null, "AA")),
|
|
109
|
+
var _renderWithProvider8 = renderWithProvider( /*#__PURE__*/React.createElement(Avatar, null, "AA")),
|
|
110
110
|
container = _renderWithProvider8.container; // ASSERT
|
|
111
111
|
|
|
112
112
|
|
package/dist/Avatar.styles.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
var _excluded = ["backgroundColorHue", "backgroundColor", "onClick", "hasStatus", "hasTooltip"];
|
|
2
2
|
|
|
3
|
-
function
|
|
3
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
4
|
|
|
5
5
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
6
6
|
|
|
@@ -14,7 +14,7 @@ export var TooltipGroup = styled.div.withConfig({
|
|
|
14
14
|
})(["margin:13px 8px;font-size:11px;line-height:1.45;text-align:center;p{margin:0;font-weight:normal;&:first-child{font-weight:500;}}"]);
|
|
15
15
|
|
|
16
16
|
var applyBgColors = function applyBgColors(props) {
|
|
17
|
-
return css(["background:", ";"], props.theme.palette[
|
|
17
|
+
return css(["background:", ";"], props.theme.palette[props.backgroundColor + "-" + (props.backgroundColorHue ? props.backgroundColorHue : '400')]);
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
var applyDisabledStyles = function applyDisabledStyles(props) {
|
|
@@ -39,11 +39,11 @@ var FONT_SIZE = {
|
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
var applyBadgePosition = function applyBadgePosition(props) {
|
|
42
|
-
return css(["top:", ";right:", ";"], BADGE_POSITION[""
|
|
42
|
+
return css(["top:", ";right:", ";"], BADGE_POSITION["" + props.shape + props.size] || '0', BADGE_POSITION["" + props.shape + props.size] || '0');
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
var applyFontSize = function applyFontSize(props) {
|
|
46
|
-
return css(["", ";"], macro[FONT_SIZE[""
|
|
46
|
+
return css(["", ";"], macro[FONT_SIZE["" + props.size]]);
|
|
47
47
|
}; // eslint-disable-next-line react/jsx-props-no-spreading
|
|
48
48
|
|
|
49
49
|
|
|
@@ -53,9 +53,9 @@ export default styled(function (_ref) {
|
|
|
53
53
|
onClick = _ref.onClick,
|
|
54
54
|
hasStatus = _ref.hasStatus,
|
|
55
55
|
hasTooltip = _ref.hasTooltip,
|
|
56
|
-
rest =
|
|
56
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
57
57
|
|
|
58
|
-
return React.createElement(Avatar, _extends({
|
|
58
|
+
return /*#__PURE__*/React.createElement(Avatar, _extends({
|
|
59
59
|
onClick: onClick
|
|
60
60
|
}, rest));
|
|
61
61
|
}).withConfig({
|
package/dist/Avatar.types.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,25 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
-
|
|
5
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
-
|
|
7
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
1
|
+
var _excluded = ["backgroundColor", "badgeStatus", "iconComponent", "color", "object", "size", "src", "tooltip", "text", "children", "disabled", "style"];
|
|
8
2
|
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
12
|
-
|
|
13
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
|
|
15
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
3
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
4
|
|
|
17
5
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
18
6
|
|
|
19
7
|
import * as React from 'react';
|
|
20
|
-
import { MailM } from '@synerise/ds-icon
|
|
8
|
+
import Icon, { MailM } from '@synerise/ds-icon';
|
|
21
9
|
import theme from '@synerise/ds-core/dist/js/DSProvider/ThemeProvider/theme';
|
|
22
|
-
import Icon from '@synerise/ds-icon';
|
|
23
10
|
import Badge from '@synerise/ds-badge';
|
|
24
11
|
import Status from '@synerise/ds-status';
|
|
25
12
|
import Avatar from '../Avatar';
|
|
@@ -42,7 +29,7 @@ var ObjectAvatar = function ObjectAvatar(_ref) {
|
|
|
42
29
|
children = _ref.children,
|
|
43
30
|
disabled = _ref.disabled,
|
|
44
31
|
style = _ref.style,
|
|
45
|
-
restProps =
|
|
32
|
+
restProps = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
46
33
|
|
|
47
34
|
var _ref2 = object || {},
|
|
48
35
|
objectName = _ref2.name,
|
|
@@ -53,7 +40,7 @@ var ObjectAvatar = function ObjectAvatar(_ref) {
|
|
|
53
40
|
var defaultTooltip = {
|
|
54
41
|
title: objectName || '',
|
|
55
42
|
description: objectDescription || '',
|
|
56
|
-
status: objectStatus ? React.createElement(Status, {
|
|
43
|
+
status: objectStatus ? /*#__PURE__*/React.createElement(Status, {
|
|
57
44
|
label: objectStatus,
|
|
58
45
|
type: "disabled"
|
|
59
46
|
}) : ''
|
|
@@ -61,18 +48,17 @@ var ObjectAvatar = function ObjectAvatar(_ref) {
|
|
|
61
48
|
var avatarText = getObjectName(objectName, text);
|
|
62
49
|
|
|
63
50
|
var _getColorByText = getColorByText(avatarText, backgroundColor),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
avatarBackgroundHue = _getColorByText2[1];
|
|
51
|
+
avatarBackgroundColor = _getColorByText[0],
|
|
52
|
+
avatarBackgroundHue = _getColorByText[1];
|
|
67
53
|
|
|
68
|
-
var iconColor = theme.palette[
|
|
54
|
+
var iconColor = theme.palette[(color || DEFAULT_COLOR) + "-" + DEFAULT_COLOR_HUE];
|
|
69
55
|
var avatarTooltip = tooltip === undefined && (defaultTooltip.title || defaultTooltip.description) ? defaultTooltip : tooltip;
|
|
70
56
|
var iconElement = addIconColor(iconComponent, iconColor);
|
|
71
|
-
var icon = !avatarText ? iconElement || React.createElement(Icon, {
|
|
72
|
-
component: React.createElement(MailM, null),
|
|
57
|
+
var icon = !avatarText ? iconElement || /*#__PURE__*/React.createElement(Icon, {
|
|
58
|
+
component: /*#__PURE__*/React.createElement(MailM, null),
|
|
73
59
|
color: iconColor
|
|
74
60
|
}) : null;
|
|
75
|
-
var avatarRender = React.createElement(Avatar, _extends({
|
|
61
|
+
var avatarRender = /*#__PURE__*/React.createElement(Avatar, _extends({
|
|
76
62
|
iconComponent: icon,
|
|
77
63
|
shape: "square",
|
|
78
64
|
backgroundColor: avatarBackgroundColor,
|
|
@@ -84,9 +70,9 @@ var ObjectAvatar = function ObjectAvatar(_ref) {
|
|
|
84
70
|
disabled: disabled,
|
|
85
71
|
style: badgeStatus ? {} : style
|
|
86
72
|
}, restProps), children || avatarText);
|
|
87
|
-
return badgeStatus ? React.createElement("span", {
|
|
73
|
+
return badgeStatus ? /*#__PURE__*/React.createElement("span", {
|
|
88
74
|
style: style
|
|
89
|
-
}, React.createElement(Badge, {
|
|
75
|
+
}, /*#__PURE__*/React.createElement(Badge, {
|
|
90
76
|
status: badgeStatus
|
|
91
77
|
}, avatarRender)) : avatarRender;
|
|
92
78
|
};
|
|
@@ -13,20 +13,26 @@ var testObjectImage = {
|
|
|
13
13
|
avatar: 'https://image.com/image.jpg'
|
|
14
14
|
};
|
|
15
15
|
describe('ObjectAvatar', function () {
|
|
16
|
-
test('should
|
|
17
|
-
var
|
|
18
|
-
|
|
16
|
+
test('should render', function () {
|
|
17
|
+
var _renderWithProvider = renderWithProvider( /*#__PURE__*/React.createElement(ObjectAvatar, null)),
|
|
18
|
+
container = _renderWithProvider.container,
|
|
19
|
+
debug = _renderWithProvider.debug;
|
|
20
|
+
|
|
21
|
+
debug();
|
|
22
|
+
expect(container.getElementsByClassName('mail-m').length).toBe(1);
|
|
19
23
|
});
|
|
20
|
-
test('should
|
|
21
|
-
var objectAvatar = renderWithProvider(React.createElement(ObjectAvatar, {
|
|
24
|
+
test('should render with object data', function () {
|
|
25
|
+
var objectAvatar = renderWithProvider( /*#__PURE__*/React.createElement(ObjectAvatar, {
|
|
22
26
|
object: testObject
|
|
23
27
|
}));
|
|
24
|
-
|
|
28
|
+
var firstLetters = objectAvatar.getByText(testObject.name.charAt(0));
|
|
29
|
+
expect(firstLetters).toBeTruthy();
|
|
25
30
|
});
|
|
26
|
-
test('should
|
|
27
|
-
var objectAvatar = renderWithProvider(React.createElement(ObjectAvatar, {
|
|
31
|
+
test('should render with object data and avatar', function () {
|
|
32
|
+
var objectAvatar = renderWithProvider( /*#__PURE__*/React.createElement(ObjectAvatar, {
|
|
28
33
|
object: testObjectImage
|
|
29
34
|
}));
|
|
30
|
-
|
|
35
|
+
var img = objectAvatar.getByRole('img');
|
|
36
|
+
expect(img).toHaveAttribute('src', testObjectImage.avatar);
|
|
31
37
|
});
|
|
32
38
|
});
|
|
@@ -1,25 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
-
|
|
5
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
-
|
|
7
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
1
|
+
var _excluded = ["backgroundColor", "size", "text", "tooltip", "badgeStatus", "user", "src", "iconComponent", "children", "disabled", "style"];
|
|
8
2
|
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
12
|
-
|
|
13
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
|
|
15
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
3
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
4
|
|
|
17
5
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
18
6
|
|
|
19
7
|
import * as React from 'react';
|
|
20
|
-
import { UserM, UserS } from '@synerise/ds-icon
|
|
8
|
+
import Icon, { UserM, UserS } from '@synerise/ds-icon';
|
|
21
9
|
import theme from '@synerise/ds-core/dist/js/DSProvider/ThemeProvider/theme';
|
|
22
|
-
import Icon from '@synerise/ds-icon';
|
|
23
10
|
import Badge from '@synerise/ds-badge';
|
|
24
11
|
import Avatar from '../Avatar';
|
|
25
12
|
import { getUserText, addIconColor, getColorByText } from '../utils';
|
|
@@ -39,7 +26,7 @@ var UserAvatar = function UserAvatar(_ref) {
|
|
|
39
26
|
children = _ref.children,
|
|
40
27
|
disabled = _ref.disabled,
|
|
41
28
|
style = _ref.style,
|
|
42
|
-
restProps =
|
|
29
|
+
restProps = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
43
30
|
|
|
44
31
|
var _ref2 = user || {},
|
|
45
32
|
_ref2$firstName = _ref2.firstName,
|
|
@@ -52,23 +39,22 @@ var UserAvatar = function UserAvatar(_ref) {
|
|
|
52
39
|
|
|
53
40
|
var avatarText = getUserText(user, src, text);
|
|
54
41
|
var defaultTooltip = {
|
|
55
|
-
title:
|
|
42
|
+
title: ((firstName || '') + " " + (lastName || '')).trim(),
|
|
56
43
|
description: email || ''
|
|
57
44
|
};
|
|
58
45
|
var avatarTooltip = (tooltip === undefined || tooltip === true) && (defaultTooltip.title || defaultTooltip.description) ? defaultTooltip : tooltip;
|
|
59
|
-
var iconColor = theme.palette[
|
|
46
|
+
var iconColor = theme.palette[DEFAULT_COLOR + "-" + DEFAULT_COLOR_HUE];
|
|
60
47
|
var iconElement = addIconColor(iconComponent, iconColor);
|
|
61
|
-
var icon = !avatarText ? iconElement || React.createElement(Icon, {
|
|
62
|
-
component: size === 'small' ? React.createElement(UserS, null) : React.createElement(UserM, null),
|
|
48
|
+
var icon = !avatarText ? iconElement || /*#__PURE__*/React.createElement(Icon, {
|
|
49
|
+
component: size === 'small' ? /*#__PURE__*/React.createElement(UserS, null) : /*#__PURE__*/React.createElement(UserM, null),
|
|
63
50
|
color: theme.palette['grey-500']
|
|
64
51
|
}) : null;
|
|
65
52
|
|
|
66
53
|
var _getColorByText = getColorByText(avatarText, backgroundColor),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
avatarBackgroundHue = _getColorByText2[1];
|
|
54
|
+
avatarBackgroundColor = _getColorByText[0],
|
|
55
|
+
avatarBackgroundHue = _getColorByText[1];
|
|
70
56
|
|
|
71
|
-
var avatarRender = React.createElement(Avatar, _extends({
|
|
57
|
+
var avatarRender = /*#__PURE__*/React.createElement(Avatar, _extends({
|
|
72
58
|
iconComponent: icon,
|
|
73
59
|
shape: "circle",
|
|
74
60
|
hasStatus: disabled === true ? false : !!badgeStatus,
|
|
@@ -80,9 +66,9 @@ var UserAvatar = function UserAvatar(_ref) {
|
|
|
80
66
|
disabled: disabled,
|
|
81
67
|
style: badgeStatus ? {} : style
|
|
82
68
|
}, restProps), children || avatarText);
|
|
83
|
-
return badgeStatus ? React.createElement("span", {
|
|
69
|
+
return badgeStatus ? /*#__PURE__*/React.createElement("span", {
|
|
84
70
|
style: style
|
|
85
|
-
}, React.createElement(Badge, {
|
|
71
|
+
}, /*#__PURE__*/React.createElement(Badge, {
|
|
86
72
|
status: badgeStatus
|
|
87
73
|
}, avatarRender)) : avatarRender;
|
|
88
74
|
};
|
|
@@ -13,20 +13,24 @@ var testUserImage = {
|
|
|
13
13
|
avatar: 'http://image.com/image.jpg'
|
|
14
14
|
};
|
|
15
15
|
describe('UserAvatar', function () {
|
|
16
|
-
test('should
|
|
17
|
-
var
|
|
18
|
-
|
|
16
|
+
test('should render', function () {
|
|
17
|
+
var _renderWithProvider = renderWithProvider( /*#__PURE__*/React.createElement(UserAvatar, null)),
|
|
18
|
+
container = _renderWithProvider.container;
|
|
19
|
+
|
|
20
|
+
expect(container.getElementsByClassName('user-m').length).toBe(1);
|
|
19
21
|
});
|
|
20
|
-
test('should
|
|
21
|
-
var userAvatar = renderWithProvider(React.createElement(UserAvatar, {
|
|
22
|
+
test('should render with user data', function () {
|
|
23
|
+
var userAvatar = renderWithProvider( /*#__PURE__*/React.createElement(UserAvatar, {
|
|
22
24
|
user: testUser
|
|
23
25
|
}));
|
|
24
|
-
|
|
26
|
+
var nameFirstLetters = userAvatar.getByText(testUser.firstName.charAt(0) + testUser.lastName.charAt(0));
|
|
27
|
+
expect(nameFirstLetters).toBeTruthy();
|
|
25
28
|
});
|
|
26
|
-
test('should
|
|
27
|
-
var userAvatar = renderWithProvider(React.createElement(UserAvatar, {
|
|
29
|
+
test('should render with user data and avatar', function () {
|
|
30
|
+
var userAvatar = renderWithProvider( /*#__PURE__*/React.createElement(UserAvatar, {
|
|
28
31
|
user: testUserImage
|
|
29
32
|
}));
|
|
30
|
-
|
|
33
|
+
var img = userAvatar.getByRole('img');
|
|
34
|
+
expect(img).toHaveAttribute('src', testUserImage.avatar);
|
|
31
35
|
});
|
|
32
36
|
});
|
package/dist/utils.js
CHANGED
|
@@ -4,8 +4,6 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
4
4
|
|
|
5
5
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
|
|
7
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
8
|
-
|
|
9
7
|
import * as React from 'react';
|
|
10
8
|
import Icon from '@synerise/ds-icon';
|
|
11
9
|
import selectColorByLetter from '@synerise/ds-utils/dist/selectColorByLetter/selectColorByLetter';
|
|
@@ -14,9 +12,15 @@ function getFirstLetter(from) {
|
|
|
14
12
|
return (from || '').substr(0, 1).toUpperCase();
|
|
15
13
|
}
|
|
16
14
|
|
|
17
|
-
export function getUserText(user) {
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
export function getUserText(user, src, text) {
|
|
16
|
+
if (src === void 0) {
|
|
17
|
+
src = '';
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (text === void 0) {
|
|
21
|
+
text = '';
|
|
22
|
+
}
|
|
23
|
+
|
|
20
24
|
var _user$firstName = user.firstName,
|
|
21
25
|
firstName = _user$firstName === void 0 ? '' : _user$firstName,
|
|
22
26
|
_user$lastName = user.lastName,
|
|
@@ -27,16 +31,22 @@ export function getUserText(user) {
|
|
|
27
31
|
avatar = _user$avatar === void 0 ? '' : _user$avatar;
|
|
28
32
|
if (src || avatar) return null;
|
|
29
33
|
if (text) return text;
|
|
30
|
-
if (firstName || lastName) return ""
|
|
34
|
+
if (firstName || lastName) return "" + getFirstLetter(firstName) + getFirstLetter(lastName);
|
|
31
35
|
if (email) return getFirstLetter(email);
|
|
32
36
|
return null;
|
|
33
37
|
}
|
|
34
38
|
export function isIconComponent(component) {
|
|
35
39
|
return component ? component.name === Icon.name : false;
|
|
36
40
|
}
|
|
37
|
-
export function getObjectName() {
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
export function getObjectName(name, text) {
|
|
42
|
+
if (name === void 0) {
|
|
43
|
+
name = '';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (text === void 0) {
|
|
47
|
+
text = '';
|
|
48
|
+
}
|
|
49
|
+
|
|
40
50
|
if (text) return text.toUpperCase();
|
|
41
51
|
if (name) return name.substr(0, 1).toUpperCase();
|
|
42
52
|
return null;
|
|
@@ -46,7 +56,7 @@ export function addIconColor(iconComponent, color) {
|
|
|
46
56
|
|
|
47
57
|
var iconElement = iconComponent;
|
|
48
58
|
|
|
49
|
-
if (isIconComponent((_iconElement = iconElement)
|
|
59
|
+
if (isIconComponent((_iconElement = iconElement) == null ? void 0 : _iconElement.type) && !((_iconElement2 = iconElement) != null && (_iconElement2$props = _iconElement2.props) != null && _iconElement2$props.color)) {
|
|
50
60
|
iconElement = React.cloneElement(iconElement, {
|
|
51
61
|
color: color
|
|
52
62
|
});
|
|
@@ -57,13 +67,13 @@ export function addIconColor(iconComponent, color) {
|
|
|
57
67
|
export function getColorByText(text, backgroundColor) {
|
|
58
68
|
var _ref;
|
|
59
69
|
|
|
60
|
-
var autoColor = ((_ref = typeof text === 'string' ? selectColorByLetter(text.slice(0, 1), true) : {})
|
|
70
|
+
var autoColor = ((_ref = typeof text === 'string' ? selectColorByLetter(text.slice(0, 1), true) : {}) == null ? void 0 : _ref.color) || 'grey';
|
|
61
71
|
var color = text && backgroundColor && backgroundColor !== 'auto' ? backgroundColor : autoColor;
|
|
62
72
|
var hue = text ? '500' : '100';
|
|
63
73
|
return [color, hue];
|
|
64
74
|
}
|
|
65
75
|
export function getTooltipProps(tooltip) {
|
|
66
|
-
var tooltipProps =
|
|
76
|
+
var tooltipProps = typeof tooltip === 'object' ? _objectSpread({}, tooltip, {
|
|
67
77
|
title: tooltip.title || tooltip.name,
|
|
68
78
|
description: tooltip.description || tooltip.email
|
|
69
79
|
}) : {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-avatar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.3",
|
|
4
4
|
"description": "Avatar UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "synerise/synerise-design",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
],
|
|
33
33
|
"types": "dist/index.d.ts",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@synerise/ds-badge": "^0.
|
|
36
|
-
"@synerise/ds-icon": "^0.
|
|
37
|
-
"@synerise/ds-status": "^0.
|
|
38
|
-
"@synerise/ds-tooltip": "^0.
|
|
35
|
+
"@synerise/ds-badge": "^0.5.3",
|
|
36
|
+
"@synerise/ds-icon": "^0.46.2",
|
|
37
|
+
"@synerise/ds-status": "^0.5.3",
|
|
38
|
+
"@synerise/ds-tooltip": "^0.11.2"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@synerise/ds-core": "*",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@synerise/ds-utils": "^0.19.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "2468359677783819939fb9f1ef5acc36667ecd1a"
|
|
49
49
|
}
|