UNPKG

4.83 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _propTypes = _interopRequireDefault(require("prop-types"));
17
18var _merge = _interopRequireDefault(require("lodash/merge"));
19
20var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
21
22var _Avatar = _interopRequireDefault(require("../Avatar"));
23
24function 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; }
25
26function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
28var AvatarGroup = function AvatarGroup(_ref) {
29 var Avatar = _ref.Avatar,
30 _ref$size = _ref.size,
31 size = _ref$size === void 0 ? 64 : _ref$size,
32 _ref$offset = _ref.offset,
33 offset = _ref$offset === void 0 ? -0.35 : _ref$offset,
34 _ref$items = _ref.items,
35 items = _ref$items === void 0 ? [] : _ref$items,
36 limit = _ref.limit,
37 initCount = _ref.count,
38 backgroundColor = _ref.backgroundColor,
39 initAvatarInnerStyle = _ref.avatarInnerStyle,
40 initAvatarStyle = _ref.avatarStyle;
41 var avatarInnerStyle = initAvatarInnerStyle;
42 var avatarStyle = initAvatarStyle;
43
44 if (!(0, _isEqual["default"])(avatarStyle, AvatarGroup.defaultProps.avatarStyle)) {
45 avatarStyle = (0, _merge["default"])(AvatarGroup.defaultProps.avatarStyle, avatarStyle);
46 }
47
48 if (!(0, _isEqual["default"])(avatarInnerStyle, AvatarGroup.defaultProps.avatarInnerStyle)) {
49 avatarInnerStyle = (0, _merge["default"])(AvatarGroup.defaultProps.avatarInnerStyle, avatarInnerStyle);
50 }
51
52 var renderItems = items;
53
54 if (limit) {
55 renderItems = renderItems.slice(0, limit);
56 }
57
58 var count = initCount || items.length;
59 var wrapStyle = {
60 marginLeft: size * offset,
61 "float": 'right'
62 }; // style={{paddingLeft:-wrapStyle.marginLeft}};p
63
64 return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
65 style: {
66 "float": 'left',
67 marginLeft: Math.abs(size * offset)
68 }
69 }, renderItems.length !== count && /*#__PURE__*/_react["default"].createElement("span", {
70 style: wrapStyle
71 }, /*#__PURE__*/_react["default"].createElement(Avatar, {
72 size: size,
73 placeholder: "+".concat(count - renderItems.length),
74 backgroundColor: backgroundColor,
75 style: _objectSpread(_objectSpread({}, avatarStyle), {}, {
76 zIndex: 100
77 }),
78 innerStyle: avatarInnerStyle
79 })), renderItems.map(function () {
80 var item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
81 var index = arguments.length > 1 ? arguments[1] : undefined;
82 return /*#__PURE__*/_react["default"].createElement("span", {
83 key: item._id || index,
84 style: _objectSpread(_objectSpread({}, wrapStyle), {}, {
85 marginLeft: size * offset
86 })
87 }, /*#__PURE__*/_react["default"].createElement(Avatar, (0, _extends2["default"])({
88 size: size,
89 style: avatarStyle,
90 innerStyle: avatarInnerStyle
91 }, item)));
92 })), /*#__PURE__*/_react["default"].createElement("div", {
93 style: {
94 clear: 'both'
95 }
96 }));
97};
98
99AvatarGroup.propTypes = {
100 Avatar: _propTypes["default"].func,
101 size: _propTypes["default"].number,
102 limit: _propTypes["default"].number,
103 offset: _propTypes["default"].number,
104 count: _propTypes["default"].number,
105 items: _propTypes["default"].array,
106 backgroundColor: _propTypes["default"].string,
107 avatarStyle: _propTypes["default"].object,
108 avatarInnerStyle: _propTypes["default"].object
109};
110AvatarGroup.defaultProps = {
111 Avatar: _Avatar["default"],
112 size: 64,
113 limit: null,
114 offset: -0.35,
115 count: null,
116 backgroundColor: '#838383',
117 items: []
118};
119var _default = AvatarGroup;
120exports["default"] = _default;
121//# sourceMappingURL=AvatarGroup.js.map
\No newline at end of file