@zohodesk/dot
Version:
In this Library, we Provide Some Basic Components to Build Your Application
72 lines • 2.27 kB
JavaScript
import React from 'react';
import { defaultProps } from "./props/defaultProps";
import { propTypes } from "./props/propTypes";
import Avatar from '@zohodesk/components/es/v1/Avatar/Avatar';
import { Icon } from '@zohodesk/icons';
import style from "../../../avatar/AvatarThread/AvatarThread.module.css";
export default function AvatarThread(props) {
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
} = props;
let {
AvatarThreadProps = {},
AvatarProps = {}
} = customProps;
let hoverEffect = showOnHover ? style.hover : '';
return /*#__PURE__*/React.createElement("div", {
className: `${style.container} ${onClick ? style.pointer : ''} ${hoverEffect}`,
"data-selector-id": dataSelectorId,
...AvatarThreadProps
}, /*#__PURE__*/React.createElement(Avatar, {
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;