forked from jquense/react-widgets
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathListOption.jsx
36 lines (32 loc) · 879 Bytes
/
ListOption.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import React from 'react';
import cn from 'classnames';
let ListOption = React.createClass({
propTypes: {
dataItem: React.PropTypes.any,
focused: React.PropTypes.bool,
selected: React.PropTypes.bool,
disabled: React.PropTypes.bool,
readOnly: React.PropTypes.bool
},
render() {
let { className, children, focused, selected, disabled, readOnly, ...props } = this.props;
let classes = {
'rw-state-focus': focused,
'rw-state-selected': selected,
'rw-state-disabled': disabled,
'rw-state-readonly': readOnly
};
return (
<li
role='option'
tabIndex={!(disabled || readOnly) ? '-1' : undefined}
aria-selected={!!selected}
className={cn('rw-list-option', className, classes)}
{...props}
>
{children}
</li>
);
}
});
export default ListOption;