UNPKG

react-toolbox-build4server

Version:

Builds react-toolbox in such a way that it's components can be required and used in node - most likely for server-side rendered webapps - without having to depend on webpack to build your entire server-side project

44 lines (38 loc) 991 B
import React from 'react'; import ListItem from './ListItem'; import style from './style'; class List extends React.Component { static propTypes = { children: React.PropTypes.node, className: React.PropTypes.string, ripple: React.PropTypes.bool, selectable: React.PropTypes.bool }; static defaultProps = { className: '', ripple: false, selectable: false }; renderItems () { return React.Children.map(this.props.children, (item) => { if (item.type === ListItem) { return React.cloneElement(item, { ripple: this.props.ripple, selectable: this.props.selectable }); } else { return React.cloneElement(item); } }); } render () { let className = style.list; if (this.props.className) className += ` ${this.props.className}`; return ( <ul data-react-toolbox='list' className={className}> {this.renderItems()} </ul> ); } } export default List;