@mui-treasury/mockup
Version:
143 lines (129 loc) • 4.15 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _styles = require("@material-ui/core/styles");
var _Box = _interopRequireDefault(require("@material-ui/core/Box"));
var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText"));
var _Avatar = _interopRequireDefault(require("@material-ui/core/Avatar"));
var _MoreHoriz = _interopRequireDefault(require("@material-ui/icons/MoreHoriz"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var useStyles = (0, _styles.makeStyles)(function (_ref) {
var palette = _ref.palette;
return {
root: function root(_ref2) {
var active = _ref2.active;
return _extends({
paddingLeft: 8,
paddingRight: 8,
borderRadius: 10
}, active && {
backgroundColor: 'rgba(0, 0, 0, .05)'
});
},
rootHover: {
'&:hover': {
'& $dot': {
display: 'none'
},
'& $responded': {
display: 'none'
},
'& $more': {
visibility: 'visible'
}
}
},
avatar: {
width: 50,
height: 50,
marginRight: 12
},
primary: function primary(_ref3) {
var bold = _ref3.bold;
return _extends({}, bold && {
fontWeight: 'bold'
});
},
secondary: function secondary(_ref4) {
var bold = _ref4.bold;
return _extends({
fontSize: 13,
color: '#999'
}, bold && {
fontWeight: 'bold',
color: palette.text.primary
});
},
"float": {
position: 'absolute',
top: '50%',
left: '50%',
transform: 'translate(-50%, -50%)'
},
dot: {
width: 12,
height: 12,
backgroundColor: '#09f',
borderRadius: '50%'
},
more: {
visibility: 'hidden',
fontSize: 20
},
responded: {
width: 16,
height: 16
}
};
});
var ChatListItem = function ChatListItem(_ref5) {
var bold = _ref5.bold,
active = _ref5.active,
avatar = _ref5.avatar,
name = _ref5.name,
info = _ref5.info,
responded = _ref5.responded,
concise = _ref5.concise;
var styles = useStyles({
bold: bold,
active: active
});
return /*#__PURE__*/_react["default"].createElement(_Box["default"], {
px: 1
}, /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
className: (0, _clsx["default"])(styles.root, styles.rootHover)
}, /*#__PURE__*/_react["default"].createElement(_Avatar["default"], {
src: avatar,
className: styles.avatar
}), !concise && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
primary: name,
secondary: info,
primaryTypographyProps: {
noWrap: true
},
secondaryTypographyProps: {
noWrap: true
},
classes: {
primary: styles.primary,
secondary: styles.secondary
}
}), /*#__PURE__*/_react["default"].createElement(_Box["default"], {
position: 'relative'
}, /*#__PURE__*/_react["default"].createElement(_MoreHoriz["default"], {
className: styles.more
}), bold && /*#__PURE__*/_react["default"].createElement("div", {
className: (0, _clsx["default"])(styles["float"], styles.dot)
}), responded && /*#__PURE__*/_react["default"].createElement(_Avatar["default"], {
src: avatar,
className: (0, _clsx["default"])(styles["float"], styles.responded)
})))));
};
var _default = ChatListItem;
exports["default"] = _default;