mdc-react
Version:
Material Components for the web implemented in React
56 lines (49 loc) • 1.75 kB
JSX
import { forwardRef } from 'react';
import PropTypes from 'prop-types';
import classnames from 'classnames';
import { listDividerCssClasses as cssClasses } from './constants';
const ListDivider = forwardRef(({
withLeadingText = false,
withLeadingIcon = false,
withLeadingImage = false,
withLeadingThumbnail = false,
withLeadingVideo = false,
withLeadingCheckbox = false,
withLeadingRadio = false,
withLeadingSwitch = false,
element: Element = 'li',
className,
...props
}, ref) => {
const classNames = classnames(cssClasses.ROOT, {
[]: withLeadingText,
[]: withLeadingIcon,
[]: withLeadingImage,
[]: withLeadingThumbnail,
[]: withLeadingVideo,
[]: withLeadingCheckbox,
[]: withLeadingRadio,
[]: withLeadingSwitch
}, className);
return (
<Element
ref={ref}
className={classNames}
role={Element === 'li' ? 'separator' : undefined}
{...props}
/>
);
});
ListDivider.displayName = 'MDCListDivider';
ListDivider.propTypes = {
withLeadingText: PropTypes.bool,
withLeadingIcon: PropTypes.bool,
withLeadingImage: PropTypes.bool,
withLeadingThumbnail: PropTypes.bool,
withLeadingVideo: PropTypes.bool,
withLeadingAvatar: PropTypes.bool,
withLeadingCheckbox: PropTypes.bool,
withLeadingSwitch: PropTypes.bool,
withLeadingRadio: PropTypes.bool
};
export default ListDivider;