1 | import classNames from 'classnames';
|
2 | import React, { PropTypes, Component } from 'react';
|
3 |
|
4 |
|
5 | const propTypes = {
|
6 | |
7 |
|
8 |
|
9 | fluid: PropTypes.bool,
|
10 | |
11 |
|
12 |
|
13 | componentClass: PropTypes.oneOfType([
|
14 | React.PropTypes.element,
|
15 | React.PropTypes.string
|
16 | ])
|
17 | };
|
18 |
|
19 | const defaultProps = {
|
20 | componentClass: 'div',
|
21 | fluid: false,
|
22 | clsPrefix: 'u-container'
|
23 | };
|
24 |
|
25 |
|
26 | class Con extends React.Component {
|
27 | render() {
|
28 | const { fluid, componentClass: Component, clsPrefix, className, ...others } =
|
29 | this.props;
|
30 |
|
31 | const tbclass = {
|
32 | [`${clsPrefix}`]: !fluid,
|
33 | [`${clsPrefix}-fluid`]: fluid
|
34 | };
|
35 |
|
36 | return (
|
37 | <Component
|
38 | {...others}
|
39 | className={classNames(tbclass, className)}
|
40 | >
|
41 | { this.props.children }
|
42 | </Component>
|
43 | );
|
44 | }
|
45 | }
|
46 |
|
47 | Con.propTypes = propTypes;
|
48 | Con.defaultProps = defaultProps;
|
49 |
|
50 | export default Con;
|