@@ -23,21 +23,13 @@ export default class Checkbox extends Component {
23
23
*/
24
24
onClick : React . PropTypes . func ,
25
25
/**
26
- * Checkbox - appearance
27
- */
28
- radio : React . PropTypes . bool ,
29
- /**
30
26
* Attr name
31
27
*/
32
28
name : React . PropTypes . string ,
33
29
/**
34
30
* Checkbox - appearance
35
31
*/
36
- slider : React . PropTypes . bool ,
37
- /**
38
- * Checkbox - appearance
39
- */
40
- toggle : React . PropTypes . bool ,
32
+ type : React . PropTypes . oneOf ( [ 'default' , 'radio' , 'toggle' , 'slider' ] ) ,
41
33
/**
42
34
* A fitted checkbox does not leave padding for a label
43
35
*/
@@ -46,6 +38,7 @@ export default class Checkbox extends Component {
46
38
47
39
static defaultProps = {
48
40
...DefaultProps . defaultProps ,
41
+ type : 'default' ,
49
42
onClick : ( ) => { }
50
43
} ;
51
44
@@ -57,8 +50,8 @@ export default class Checkbox extends Component {
57
50
58
51
renderChildren ( ) {
59
52
/* eslint-disable no-use-before-define */
60
- let { children, defaultClasses, className, onClick,
61
- radio , slider , toggle , component, readOnly, checked, ...other } = this . props ;
53
+ let { children, defaultClasses, className, onClick, type ,
54
+ component, readOnly, checked, ...other } = this . props ;
62
55
/* eslint-enable no-use-before-define */
63
56
64
57
let childElements = [
@@ -79,7 +72,7 @@ export default class Checkbox extends Component {
79
72
80
73
render ( ) {
81
74
/* eslint-disable no-use-before-define */
82
- let { component, defaultClasses, checked, onClick, name, ...other } = this . props ;
75
+ let { component, defaultClasses, checked, type , onClick, name, ...other } = this . props ;
83
76
/* eslint-enable no-use-before-define */
84
77
85
78
other . className = classNames ( this . props . className , this . getClasses ( ) ) ;
@@ -101,12 +94,12 @@ export default class Checkbox extends Component {
101
94
// positioning
102
95
103
96
// types
104
- radio : this . props . radio ,
97
+ radio : this . props . type == 'radio' ,
98
+ slider : this . props . type == 'slider' ,
99
+ toggle : this . props . type == 'toggle' ,
105
100
106
101
// variations
107
102
fitted : this . props . fitted ,
108
- slider : this . props . slider ,
109
- toggle : this . props . toggle ,
110
103
111
104
// state
112
105
'read-only' : this . props . readOnly ,
0 commit comments