1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = void 0;
|
9 |
|
10 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
11 |
|
12 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
13 |
|
14 | var _react = _interopRequireDefault(require("react"));
|
15 |
|
16 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
17 |
|
18 | var _merge = _interopRequireDefault(require("lodash/merge"));
|
19 |
|
20 | var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
21 |
|
22 | var _Avatar = _interopRequireDefault(require("../Avatar"));
|
23 |
|
24 | 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; }
|
25 |
|
26 | function _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 |
|
28 | var 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 | };
|
63 |
|
64 | return _react["default"].createElement("div", null, _react["default"].createElement("div", {
|
65 | style: {
|
66 | "float": 'left',
|
67 | marginLeft: Math.abs(size * offset)
|
68 | }
|
69 | }, renderItems.length !== count && _react["default"].createElement("span", {
|
70 | style: wrapStyle
|
71 | }, _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 _react["default"].createElement("span", {
|
83 | key: item._id || index,
|
84 | style: _objectSpread(_objectSpread({}, wrapStyle), {}, {
|
85 | marginLeft: size * offset
|
86 | })
|
87 | }, _react["default"].createElement(Avatar, (0, _extends2["default"])({
|
88 | size: size,
|
89 | style: avatarStyle,
|
90 | innerStyle: avatarInnerStyle
|
91 | }, item)));
|
92 | })), _react["default"].createElement("div", {
|
93 | style: {
|
94 | clear: 'both'
|
95 | }
|
96 | }));
|
97 | };
|
98 |
|
99 | AvatarGroup.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 | };
|
110 | AvatarGroup.defaultProps = {
|
111 | Avatar: _Avatar["default"],
|
112 | size: 64,
|
113 | limit: null,
|
114 | offset: -0.35,
|
115 | count: null,
|
116 | backgroundColor: '#838383',
|
117 | items: []
|
118 | };
|
119 | var _default = AvatarGroup;
|
120 | exports["default"] = _default;
|
121 |
|
\ | No newline at end of file |