@evg-b/evg-ui
Version:
EVG-UI library inspired by Material Design.
78 lines (70 loc) • 2.43 kB
JavaScript
import _extends from '@babel/runtime/helpers/extends';
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import '@babel/runtime/helpers/slicedToArray';
import withStyles from '../styles/withStyles.js';
import Color from '../styles/Color/Color.js';
import Scroll from '../Scroll/Scroll.js';
var styles = {
base: {
display: 'block',
listStyle: 'none',
padding: '8px 0',
margin: 0,
boxSizing: 'border-box',
overflow: 'hidden',
backgroundColor: function backgroundColor(props) {
return Color('surface').Base();
},
fontSize: '1rem',
'& > li': {
margin: 0
}
}
};
/**
* Списки представляют собой множество компонентов с однородными типами данных в вертикальной плоскости.
* Элементы списка поддерживают события взаимодействия мыши и жестов.
*/
var List = /*#__PURE__*/React.forwardRef(function List(props, ref) {
var classes = props.classes,
className = props.className,
children = props.children,
color = props.color,
otherProps = _objectWithoutProperties(props, ["classes", "className", "children", "color"]);
return /*#__PURE__*/React.createElement(Scroll, _extends({
ref: ref,
className: classNames(classes.base, className),
color: color === 'default' ? '#000000' : color
}, otherProps), React.Children.map(children, function (child) {
return child && /*#__PURE__*/React.cloneElement(child, {
color: child.props.color || color
});
}));
});
List.propTypes = {
/**
* Это контент между открывающим и закрывающим тегом компонента.
*/
children: PropTypes.node,
/**
* Объект содержит jss стили компонента.
*/
classes: PropTypes.object,
/**
* Чтобы указать CSS классы, используйте этот атрибут.
*/
className: PropTypes.string,
/**
* Название цвета в разных форматах.
*/
color: PropTypes.string
};
List.defaultProps = {
color: 'default'
};
List.displayName = 'ListEVG';
var List$1 = withStyles(styles)(List);
export default List$1;