UNPKG

@krowdy-ui/views

Version:

React components that implement Google's Material Design.

111 lines (109 loc) 3.05 kB
import React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import { withStyles, Tooltip, Typography } from '@krowdy-ui/core'; import { AvatarUser } from '@krowdy-ui/views'; var Avatar = function Avatar(props) { var subtitle = props.subtitle, photo = props.photo, active = props.active, selected = props.selected, firstName = props.firstName, lastName = props.lastName, classes = props.classes; return /*#__PURE__*/React.createElement("div", { className: classes.hover }, /*#__PURE__*/React.createElement("div", { className: clsx(classes.root, !selected && classes.unselected) }, /*#__PURE__*/React.createElement(Tooltip, { arrow: true, placement: "top", title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, { className: classes.tooltipTitle }, firstName, " ", lastName), /*#__PURE__*/React.createElement(Typography, null, subtitle)) }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(AvatarUser, { active: active, hover: true, size: "small", user: { firstName: firstName, lastName: lastName, photo: photo } }))))); }; process.env.NODE_ENV !== "production" ? Avatar.propTypes = { active: PropTypes.bool, classes: PropTypes.shape({ avatar: PropTypes.string, hover: PropTypes.string, point: PropTypes.string, root: PropTypes.string, tooltipTitle: PropTypes.string, unselected: PropTypes.string }), firstName: PropTypes.string, lastName: PropTypes.string, photo: PropTypes.string, selected: PropTypes.bool, subtitle: PropTypes.string } : void 0; export default withStyles(function () { return { avatar: {}, hover: { '&:hover': { '& $unselected': { visibility: 'visible' } } }, point: { backgroundColor: 'white', borderRadius: '50%', height: function height(_ref) { var _ref$size = _ref.size, size = _ref$size === void 0 ? 0 : _ref$size; return size; }, width: function width(_ref2) { var _ref2$size = _ref2.size, size = _ref2$size === void 0 ? 0 : _ref2$size; return size; } }, root: { '& $avatar': { display: 'none' }, '& $point': {}, '&:hover': { '& $avatar': { display: 'block' }, '& $point': { display: 'none' } }, alignItems: 'center', display: 'flex', height: 28, justifyContent: 'center', left: function left(_ref3) { var _ref3$leftPercent = _ref3.leftPercent, leftPercent = _ref3$leftPercent === void 0 ? 0 : _ref3$leftPercent; return "calc(".concat(leftPercent, "% - 6px)"); }, width: 28 }, tooltipTitle: { fontSize: 12, fontWeight: 'bold' }, unselected: { visibility: 'hidden' } }; }, { name: 'Avatar' })(Avatar);