react-styleguidist
Version:
React components style guide generator
45 lines (43 loc) • 1.26 kB
JavaScript
import "core-js/modules/es.array.map";
import React, { cloneElement, Children } from 'react';
import cx from 'clsx';
import Styled from 'rsg-components/Styled';
var styles = function styles(_ref) {
var space = _ref.space,
color = _ref.color,
fontFamily = _ref.fontFamily;
return {
list: {
marginTop: 0,
marginBottom: space[2],
paddingLeft: space[3],
fontSize: 'inherit'
},
ordered: {
listStyleType: 'decimal'
},
li: {
color: color.base,
fontFamily: fontFamily.base,
fontSize: 'inherit',
lineHeight: 1.5,
listStyleType: 'inherit'
}
};
};
export var ListRenderer = function ListRenderer(_ref2) {
var classes = _ref2.classes,
_ref2$ordered = _ref2.ordered,
ordered = _ref2$ordered === void 0 ? false : _ref2$ordered,
children = _ref2.children;
var Tag = ordered ? 'ol' : 'ul';
var classNames = cx(classes.list, ordered && classes.ordered);
return /*#__PURE__*/React.createElement(Tag, {
className: classNames
}, Children.map(children, function (li) {
return /*#__PURE__*/React.isValidElement(li) ? /*#__PURE__*/cloneElement(li, {
className: classes.li
}) : li;
}));
};
export default Styled(styles)(ListRenderer);