title: PropTypes.string.isRequired,
icon: PropTypes.string.isRequired,
onClick: PropTypes.func,
+ onMouseDown: PropTypes.func,
+ onKeyDown: PropTypes.func,
size: PropTypes.number,
active: PropTypes.bool,
pressed: PropTypes.bool,
}
}
+ handleMouseDown = (e) => {
+ if (!this.props.disabled && this.props.onMouseDown) {
+ this.props.onMouseDown(e);
+ }
+ }
+
+ handleKeyDown = (e) => {
+ if (!this.props.disabled && this.props.onKeyDown) {
+ this.props.onKeyDown(e);
+ }
+ }
+
render () {
let style = {
fontSize: `${this.props.size}px`,
title={title}
className={classes}
onClick={this.handleClick}
+ onMouseDown={this.handleMouseDown}
+ onKeyDown={this.handleKeyDown}
style={style}
tabIndex={tabIndex}
disabled={disabled}
title={title}
className={classes}
onClick={this.handleClick}
+ onMouseDown={this.handleMouseDown}
+ onKeyDown={this.handleKeyDown}
style={style}
tabIndex={tabIndex}
disabled={disabled}