import React from 'react'; import PropTypes from 'prop-types'; import warning from 'warning'; import classNames from 'classnames'; import Collapse from '../transitions/Collapse'; import withStyles from '../styles/withStyles'; export const styles = theme => ({ root: { marginTop: theme.spacing.unit, marginLeft: 12, // half icon paddingLeft: theme.spacing.unit + 12, // margin + half icon paddingRight: theme.spacing.unit, borderLeft: `1px solid ${ theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[600] }`, }, last: { borderLeft: 'none', }, transition: {}, }); function StepContent(props) { const { active, alternativeLabel, children, classes, className: classNameProp, completed, last, optional, orientation, transition: Transition, transitionDuration, ...other } = props; warning( orientation === 'vertical', 'Material-UI: is only designed for use with the vertical stepper.', ); const className = classNames( classes.root, { [classes.last]: last, }, classNameProp, ); return (
{children}
); } StepContent.propTypes = { /** * @ignore * Expands the content. */ active: PropTypes.bool, /** * @ignore * Set internally by Step when it's supplied with the alternativeLabel property. */ alternativeLabel: PropTypes.bool, /** * Step content. */ children: PropTypes.node, /** * @ignore */ classes: PropTypes.object.isRequired, /** * @ignore */ className: PropTypes.string, /** * @ignore */ completed: PropTypes.bool, /** * @ignore */ last: PropTypes.bool, /** * @ignore * Set internally by Step when it's supplied with the optional property. */ optional: PropTypes.bool, /** * @ignore */ orientation: PropTypes.oneOf(['horizontal', 'vertical']), /** * Collapse component. */ transition: PropTypes.func, /** * Adjust the duration of the content expand transition. * Passed as a property to the transition component. * * Set to 'auto' to automatically calculate transition time based on height. */ transitionDuration: PropTypes.oneOfType([ PropTypes.number, PropTypes.shape({ enter: PropTypes.number, exit: PropTypes.number }), PropTypes.oneOf(['auto']), ]), }; StepContent.defaultProps = { transition: Collapse, transitionDuration: 'auto', }; export default withStyles(styles, { name: 'MuiStepContent' })(StepContent);