UNPKG

mdc-react

Version:

Material Components for the web implemented in React

64 lines (53 loc) 1.64 kB
import { forwardRef } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import { Clone } from '../component'; import { listItemCssClasses as cssClasses } from './constants'; const ListItemContent = forwardRef(({ overline, primary, secondary, overlineText = overline, primaryText = primary, secondaryText = secondary, element = 'span', component: Element = element, className, children, ...props }, ref) => { const classNames = classnames(cssClasses.CONTENT, className); return ( <Element ref={ref} className={classNames} {...props}> {overlineText && <Clone component={overlineText} fallback="span" className={cssClasses.OVERLINE_TEXT} /> } {primaryText && <Clone component={primaryText} fallback="span" className={cssClasses.PRIMARY_TEXT} /> } {secondaryText && <Clone component={secondaryText} fallback="span" className={cssClasses.SECONDARY_TEXT} /> } {children} </Element> ); }); ListItemContent.displayName = 'MDCListItemContent'; ListItemContent.propTypes = { overlineText: PropTypes.node, primaryText: PropTypes.node, secondaryText: PropTypes.node }; export default ListItemContent;