@zohodesk/dot
Version:
In this Library, we Provide Some Basic Components to Build Your Application
79 lines (77 loc) • 2.84 kB
JavaScript
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
import React from 'react';
import { defaultProps } from "./props/defaultProps";
import { propTypes } from "./props/propTypes";
import Avatar from '@zohodesk/components/es/Avatar/Avatar';
import { Icon } from '@zohodesk/icons';
import style from "./AvatarThread.module.css";
export default class AvatarThread extends React.Component {
render() {
let {
src,
name,
size,
iconColor,
iconName,
iconSize,
borderPalette,
onClick,
title,
iconTitle,
onIconClick,
showOnHover,
dataId,
initial,
needBorder,
needBackground,
palette,
textPalette,
customTextClass,
needTitle,
customProps,
iconClass,
getCustomThread,
dataSelectorId
} = this.props;
let {
AvatarThreadProps = {},
AvatarProps = {}
} = customProps;
let hoverEffect = showOnHover ? style.hover : '';
return /*#__PURE__*/React.createElement("div", _extends({
className: `${style.container} ${onClick ? style.pointer : ''} ${hoverEffect}`,
"data-selector-id": dataSelectorId
}, AvatarThreadProps), /*#__PURE__*/React.createElement(Avatar, _extends({
initial: initial,
src: src,
name: name,
title: title,
size: size,
onClick: onClick,
dataId: dataId,
palette: palette,
textPalette: textPalette,
customClass: customTextClass,
needTitle: needTitle
}, AvatarProps)), (iconName || getCustomThread) && /*#__PURE__*/React.createElement("span", {
className: `${style.thread} ${onIconClick ? style.pointer : style.defaultCursor} ${needBackground ? style.threadBg : ''} ${style[`thread_${size}_pos`]} ${needBorder ? style[`border_${borderPalette}`] : ''}`,
"data-title": iconTitle,
"data-id": iconTitle === 'Remove Follower' && 'removeFollower',
"data-test-id": iconTitle === 'Remove Follower' && 'removeFollower',
onClick: onIconClick
}, iconName && /*#__PURE__*/React.createElement("span", {
className: style.icon
}, /*#__PURE__*/React.createElement(Icon, {
name: iconName,
size: iconSize,
iconClass: `${iconClass}
${style[`text_${iconColor}`] ? style[`text_${iconColor}`] : iconColor}`
})), getCustomThread && getCustomThread()));
}
}
AvatarThread.defaultProps = defaultProps;
AvatarThread.propTypes = propTypes; // if (__DOCS__) {
// AvatarThread.docs = {
// componentGroup: 'Avatar Group'
// };
// }