@krowdy-ui/views
Version:
React components that implement Google's Material Design.
112 lines (107 loc) • 3.28 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
import React from 'react';
import clsx from 'clsx';
import PropTypes from 'prop-types';
import { Card, CardHeader, Typography, CardContent, CardActions, Dot, withStyles } from '@krowdy-ui/core';
export const styles = theme => ({
actions: {
alignItems: 'center',
borderTop: `solid 1px ${theme.palette.grey[300]}`,
display: 'flex',
height: 56,
justifyContent: 'space-between',
width: '100%'
},
containerTitle: {
alignItems: 'center',
display: 'flex'
},
content: {
padding: theme.spacing(1.5),
width: 296
},
header: {
padding: theme.spacing(1.5)
},
root: {},
scroll: {
height: 344,
overflow: 'auto'
},
subheaderContent: {
alignItems: 'center',
display: 'flex',
padding: theme.spacing(0, 1.5),
paddingTop: theme.spacing(1.5)
},
subtitle: {
color: theme.palette.grey[600],
fontSize: 14,
marginLeft: theme.spacing(2.5)
},
title: {
color: theme.palette.secondary[400],
fontSize: 14,
fontWeight: 'bold',
marginLeft: theme.spacing(1)
}
});
var _ref = /*#__PURE__*/React.createElement("div", null);
var _ref2 = /*#__PURE__*/React.createElement("div", null);
const RankingGroup = props => {
const {
classes,
active,
title,
children,
action,
leftActionFooter = _ref,
rightActionFooter = _ref2,
subtitle,
subHeader,
scroll,
shadow
} = props,
rest = _objectWithoutPropertiesLoose(props, ["classes", "active", "title", "children", "action", "leftActionFooter", "rightActionFooter", "subtitle", "subHeader", "scroll", "shadow"]);
return /*#__PURE__*/React.createElement(Card, _extends({
className: classes.root,
elevation: 3
}, rest), /*#__PURE__*/React.createElement(CardHeader, {
action: action,
className: classes.header,
shadow: shadow,
title: /*#__PURE__*/React.createElement("div", {
className: classes.containerTitle
}, !shadow && /*#__PURE__*/React.createElement(Dot, {
color: active ? 'success' : 'default'
}), /*#__PURE__*/React.createElement(Typography, {
className: classes.title
}, title), subtitle && /*#__PURE__*/React.createElement(Typography, {
className: classes.subtitle,
variant: "body2"
}, subtitle))
}), subHeader && /*#__PURE__*/React.createElement(CardContent, {
className: classes.subheaderContent
}, subHeader), /*#__PURE__*/React.createElement(CardContent, {
className: clsx(classes.content, scroll && classes.scroll)
}, children), /*#__PURE__*/React.createElement(CardActions, {
className: classes.actions
}, leftActionFooter, rightActionFooter));
};
process.env.NODE_ENV !== "production" ? RankingGroup.propTypes = {
action: PropTypes.node,
active: PropTypes.bool,
children: PropTypes.node,
classes: PropTypes.object,
leftActionFooter: PropTypes.node,
rightActionFooter: PropTypes.node,
scroll: PropTypes.bool,
shadow: PropTypes.bool,
subHeader: PropTypes.node,
subtitle: PropTypes.string,
title: PropTypes.string
} : void 0;
export default withStyles(styles, {
name: 'RankingGroup'
})(RankingGroup);