UNPKG

@krowdy-ui/views

Version:

React components that implement Google's Material Design.

127 lines (116 loc) 3.65 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _clsx = _interopRequireDefault(require("clsx")); var _core = require("@krowdy-ui/core"); var _views = require("@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["default"].createElement("div", { className: classes.hover }, /*#__PURE__*/_react["default"].createElement("div", { className: (0, _clsx["default"])(classes.root, !selected && classes.unselected) }, /*#__PURE__*/_react["default"].createElement(_core.Tooltip, { arrow: true, placement: "top", title: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, { className: classes.tooltipTitle }, firstName, " ", lastName), /*#__PURE__*/_react["default"].createElement(_core.Typography, null, subtitle)) }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_views.AvatarUser, { active: active, hover: true, size: "small", user: { firstName: firstName, lastName: lastName, photo: photo } }))))); }; process.env.NODE_ENV !== "production" ? Avatar.propTypes = { active: _propTypes["default"].bool, classes: _propTypes["default"].shape({ avatar: _propTypes["default"].string, hover: _propTypes["default"].string, point: _propTypes["default"].string, root: _propTypes["default"].string, tooltipTitle: _propTypes["default"].string, unselected: _propTypes["default"].string }), firstName: _propTypes["default"].string, lastName: _propTypes["default"].string, photo: _propTypes["default"].string, selected: _propTypes["default"].bool, subtitle: _propTypes["default"].string } : void 0; var _default = (0, _core.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); exports["default"] = _default;