UNPKG

5.44 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/AvatarGroup.jsx"],"names":["AvatarGroup","Avatar","size","offset","items","limit","initCount","count","backgroundColor","initAvatarInnerStyle","avatarInnerStyle","initAvatarStyle","avatarStyle","defaultProps","renderItems","slice","length","wrapStyle","marginLeft","Math","abs","zIndex","map","item","index","_id","clear","propTypes","PropTypes","func","number","array","string","object","DefaultAvatar"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport merge from 'lodash/merge';\nimport isEqual from 'lodash/isEqual';\nimport DefaultAvatar from '../Avatar';\n\nconst AvatarGroup = ({\n Avatar,\n size = 64,\n offset = -0.35,\n items = [],\n limit,\n count: initCount,\n backgroundColor,\n avatarInnerStyle: initAvatarInnerStyle,\n avatarStyle: initAvatarStyle,\n}) => {\n let avatarInnerStyle = initAvatarInnerStyle;\n let avatarStyle = initAvatarStyle;\n\n if (!isEqual(avatarStyle, AvatarGroup.defaultProps.avatarStyle)) {\n avatarStyle = merge(AvatarGroup.defaultProps.avatarStyle, avatarStyle);\n }\n\n if (!isEqual(avatarInnerStyle, AvatarGroup.defaultProps.avatarInnerStyle)) {\n avatarInnerStyle = merge(AvatarGroup.defaultProps.avatarInnerStyle, avatarInnerStyle);\n }\n\n let renderItems = items;\n if (limit) {\n renderItems = renderItems.slice(0, limit);\n }\n const count = initCount || items.length;\n const wrapStyle = { marginLeft: size * offset, float: 'right' };\n // style={{paddingLeft:-wrapStyle.marginLeft}};p\n return (\n <div>\n <div style={{ float: 'left', marginLeft: Math.abs(size * offset) }}>\n {renderItems.length !== count && (\n <span style={wrapStyle}>\n <Avatar\n size={size}\n placeholder={`+${count - renderItems.length}`}\n backgroundColor={backgroundColor}\n style={{ ...avatarStyle, zIndex: 100 }}\n innerStyle={avatarInnerStyle}\n />\n </span>\n )}\n {renderItems.map((item = {}, index) => (\n <span key={item._id || index} style={{ ...wrapStyle, marginLeft: size * offset }}>\n <Avatar size={size} style={avatarStyle} innerStyle={avatarInnerStyle} {...item} />\n </span>\n ))}\n </div>\n <div style={{ clear: 'both' }} />\n </div>\n );\n};\n\nAvatarGroup.propTypes = {\n Avatar: PropTypes.func,\n size: PropTypes.number,\n limit: PropTypes.number,\n offset: PropTypes.number,\n count: PropTypes.number,\n items: PropTypes.array,\n backgroundColor: PropTypes.string,\n avatarStyle: PropTypes.object,\n avatarInnerStyle: PropTypes.object,\n};\nAvatarGroup.defaultProps = {\n Avatar: DefaultAvatar,\n size: 64,\n limit: null,\n offset: -0.35,\n count: null,\n backgroundColor: '#838383',\n items: [],\n};\n\nexport default AvatarGroup;\n"],"file":"AvatarGroup.js"}
\No newline at end of file