UNPKG

@zohodesk/dot

Version:

In this Library, we Provide Some Basic Components to Build Your Application

79 lines (78 loc) 2.5 kB
import React from 'react'; import { defaultProps } from "./props/defaultProps"; import { propTypes } from "./props/propTypes"; import Avatar from '@zohodesk/components/lib/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", { 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; // if (__DOCS__) { // AvatarThread.docs = { // componentGroup: 'Avatar Group' // }; // }