UNPKG

@krowdy-ui/views

Version:

React components that implement Google's Material Design.

146 lines (144 loc) 4.76 kB
import React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import { withStyles } from '@krowdy-ui/styles'; import { Typography, Card, CardHeader, Avatar, Tooltip } from '@krowdy-ui/core'; export var styles = function styles(theme) { return { actionContainer: { alignItems: 'center', display: 'flex' }, actionHoverableContainer: { display: 'none', marginRight: theme.spacing(1) }, avatar: { border: "1px solid ".concat(theme.palette.grey[400]), fontSize: 10, height: 28, width: 28 }, container: { alignItems: 'center', display: 'flex' }, fullName: { cursor: 'default', overflow: 'hidden', 'text-overflow': 'ellipsis', 'white-space': 'nowrap', width: 132 }, header: { padding: theme.spacing(1) }, headerAction: { marginTop: theme.spacing(1 / 8) }, leftContainer: { color: function color(_ref) { var _ref$primaryColorNumb = _ref.primaryColorNumber, primaryColorNumber = _ref$primaryColorNumb === void 0 ? false : _ref$primaryColorNumb; return primaryColorNumber ? theme.palette.primary[500] : theme.palette.secondary[900]; }, fontSize: 10, marginBottom: theme.spacing(1), marginRight: theme.spacing(.75), maxWidth: 12, minWidth: 12, width: 12 }, rightContainer: { flex: 1 }, root: { '&:hover': { '& $actionHoverableContainer': { display: 'block' } }, borderRadius: 8 } }; }; var CardCandidateRanking = function CardCandidateRanking(_ref2) { var _ref2$lastName = _ref2.lastName, lastName = _ref2$lastName === void 0 ? '' : _ref2$lastName, _ref2$firstName = _ref2.firstName, firstName = _ref2$firstName === void 0 ? '' : _ref2$firstName, _ref2$photo = _ref2.photo, photo = _ref2$photo === void 0 ? '' : _ref2$photo, classes = _ref2.classes, action = _ref2.action, actionHoverable = _ref2.actionHoverable, position = _ref2.position, paddingLeft = _ref2.paddingLeft, _ref2$selected = _ref2.selected, selected = _ref2$selected === void 0 ? false : _ref2$selected, className = _ref2.className, _ref2$onClick = _ref2.onClick, onClick = _ref2$onClick === void 0 ? function () {} : _ref2$onClick; var Container = position || paddingLeft ? function (_ref3) { var children = _ref3.children; return /*#__PURE__*/React.createElement("div", { className: classes.container }, /*#__PURE__*/React.createElement(Typography, { className: classes.leftContainer }, !paddingLeft && position), /*#__PURE__*/React.createElement("div", { className: classes.rightContainer }, children)); } : function (_ref4) { var children = _ref4.children; return /*#__PURE__*/React.createElement(React.Fragment, null, children); }; return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Card, { className: clsx(classes.root, className), hoverable: true, onClick: onClick, selected: selected, variant: "outlined" }, /*#__PURE__*/React.createElement(CardHeader, { action: /*#__PURE__*/React.createElement("div", { className: classes.actionContainer }, /*#__PURE__*/React.createElement("div", { className: classes.actionHoverableContainer }, actionHoverable), action), avatar: /*#__PURE__*/React.createElement(Avatar, { alt: "".concat(firstName, " ").concat(lastName), className: classes.avatar, src: photo }, !photo && "".concat(firstName ? firstName[0] : '', " ").concat(lastName ? lastName[0] : '')), classes: { action: classes.headerAction }, className: classes.header, title: /*#__PURE__*/React.createElement(Tooltip, { placement: "top", title: "".concat(firstName, " ").concat(lastName) }, /*#__PURE__*/React.createElement(Typography, { component: "span" }, firstName, " ", lastName)), titleTypographyProps: { className: classes.fullName } }))); }; process.env.NODE_ENV !== "production" ? CardCandidateRanking.propTypes = { action: PropTypes.node, actionHoverable: PropTypes.node, className: PropTypes.string, classes: PropTypes.object, firstName: PropTypes.string, lastName: PropTypes.string, onClick: PropTypes.func, paddingLeft: PropTypes.bool, photo: PropTypes.string, position: PropTypes.number, primaryColorNumber: PropTypes.bool, selected: PropTypes.bool } : void 0; CardCandidateRanking.muiName = 'CardCandidateRanking'; export default withStyles(styles, { name: 'CardCandidateRanking' })(CardCandidateRanking);