1 | import React, { Component } from 'react'
|
2 | import ReactDOM from 'react-dom'
|
3 | import classNames from 'classnames';
|
4 |
|
5 |
|
6 |
|
7 | const propTypes = {
|
8 | |
9 |
|
10 |
|
11 | vertical: React.PropTypes.bool,
|
12 | |
13 |
|
14 |
|
15 | justified: React.PropTypes.bool,
|
16 |
|
17 | |
18 |
|
19 |
|
20 | block: React.PropTypes.bool
|
21 | };
|
22 |
|
23 | const defaultProps = {
|
24 | block: false,
|
25 | justified: false,
|
26 | vertical: false
|
27 | };
|
28 |
|
29 | const clsPrefix = "u-button-group";
|
30 |
|
31 | class ButtonGroup extends React.Component {
|
32 | render() {
|
33 | const { block, justified, vertical, classes, ...others } = this.props;
|
34 | const tbClass = {
|
35 | [`${clsPrefix}`]: vertical ? false : true,
|
36 | [`${clsPrefix}-block`]: vertical ? block : false,
|
37 | [`${clsPrefix}-vertical`]: vertical,
|
38 | [`${clsPrefix}-justified`]: justified
|
39 | };
|
40 |
|
41 | return (
|
42 | <div
|
43 | {...others}
|
44 | className={classNames(tbClass, classes)}
|
45 | >
|
46 | { this.props.children }
|
47 | </div>
|
48 | );
|
49 | }
|
50 | }
|
51 |
|
52 | ButtonGroup.propTypes = propTypes;
|
53 | ButtonGroup.defaultProps = defaultProps;
|
54 |
|
55 | export default ButtonGroup;
|