UNPKG

materialuiupgraded

Version:

Material-UI's workspace package

60 lines (53 loc) 1.58 kB
import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import withStyles from '../styles/withStyles'; import { cloneChildrenWithClassName } from '../utils/reactHelpers'; import '../Button'; // So we don't have any override priority issue. export const styles = theme => ({ /* Styles applied to the root element. */ root: { display: 'flex', alignItems: 'center', boxSizing: 'border-box', padding: '8px 4px', [theme.breakpoints.up('sm')]: { padding: '8px 12px', }, }, /* Styles applied to the children. */ action: { margin: '0 4px', }, }); function CardActions(props) { const { disableActionSpacing, children, classes, className, ...other } = props; return ( <div className={classNames(classes.root, className)} {...other}> {disableActionSpacing ? children : cloneChildrenWithClassName(children, classes.action)} </div> ); } CardActions.propTypes = { /** * The content of the component. */ children: PropTypes.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: PropTypes.object.isRequired, /** * @ignore */ className: PropTypes.string, /** * If `true`, the card actions do not have additional margin. */ disableActionSpacing: PropTypes.bool, }; CardActions.defaultProps = { disableActionSpacing: false, }; export default withStyles(styles, { name: 'MuiCardActions' })(CardActions);