@krowdy-ui/views
Version:
React components that implement Google's Material Design.
121 lines (118 loc) • 3.73 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import { Tooltip, Typography, withStyles } from '@material-ui/core';
import { AvatarUser } from '@krowdy-ui/views';
var styles = {
avatar: {},
point: {
backgroundColor: 'white',
borderRadius: '50%',
height: function height(_ref) {
var _ref$size = _ref.size,
size = _ref$size === void 0 ? 8 : _ref$size;
return size;
},
width: function width(_ref2) {
var _ref2$size = _ref2.size,
size = _ref2$size === void 0 ? 8 : _ref2$size;
return size;
}
},
root: {
'& $avatar': {
display: 'none'
},
'& $point': {},
'&:hover': {
'& $avatar': {
display: 'block'
},
'& $point': {
display: 'none'
}
},
alignItems: 'center',
bottom: function bottom(_ref3) {
var _ref3$bottom = _ref3.bottom,
_bottom = _ref3$bottom === void 0 ? 0 : _ref3$bottom;
return _bottom;
},
display: 'flex',
height: 12,
justifyContent: 'center',
left: function left(_ref4) {
var _ref4$leftPercent = _ref4.leftPercent,
leftPercent = _ref4$leftPercent === void 0 ? 0 : _ref4$leftPercent;
return "calc(".concat(leftPercent, "% - 6px)");
},
position: 'absolute',
width: 12
},
tooltipTitle: {
fontSize: 12,
fontWeight: 'bold'
}
};
var UserPoint = function UserPoint(_ref5) {
var classes = _ref5.classes,
_ref5$subtitle = _ref5.subtitle,
subtitle = _ref5$subtitle === void 0 ? '' : _ref5$subtitle,
photo = _ref5.photo,
_ref5$active = _ref5.active,
active = _ref5$active === void 0 ? false : _ref5$active,
_ref5$firstName = _ref5.firstName,
firstName = _ref5$firstName === void 0 ? '' : _ref5$firstName,
_ref5$lastName = _ref5.lastName,
lastName = _ref5$lastName === void 0 ? '' : _ref5$lastName;
if (active) return /*#__PURE__*/React.createElement("div", {
className: classes.root
}, /*#__PURE__*/React.createElement(Tooltip, {
arrow: true,
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,
size: "small",
user: {
firstName: firstName,
lastName: lastName,
photo: photo
}
}))));
return /*#__PURE__*/React.createElement("div", {
className: classes.root
}, /*#__PURE__*/React.createElement("div", {
className: classes.avatar
}, /*#__PURE__*/React.createElement(Tooltip, {
arrow: true,
title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
className: classes.tooltipTitle
}, firstName, " ", lastName), /*#__PURE__*/React.createElement(Typography, null, subtitle)),
TransitionProps: {
timeout: 0
}
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(AvatarUser, {
active: false,
size: "small",
user: {
firstName: firstName,
lastName: lastName,
photo: photo
}
})))), /*#__PURE__*/React.createElement("div", {
className: classes.point
}));
};
process.env.NODE_ENV !== "production" ? UserPoint.propTypes = {
active: PropTypes.bool,
firstName: PropTypes.string,
lastName: PropTypes.string,
leftPercent: PropTypes.number,
photo: PropTypes.string,
size: PropTypes.number,
subtitle: PropTypes.string
} : void 0;
export default withStyles(styles, {
name: 'UserPoint'
})(UserPoint);