higlass
Version:
HiGlass Hi-C / genomic / large data viewer
46 lines (40 loc) • 1.03 kB
JSX
// @ts-nocheck
import PropTypes from 'prop-types';
import React from 'react';
import classes from '../styles/Button.module.scss';
const Button = React.forwardRef((props, ref) => (
<button
ref={ref}
className={classes[props.styleName] ?? classes.button}
disabled={props.disable}
onBlur={props.onBlur}
onClick={props.onClick}
onMouseDown={props.onMouseDown}
onMouseOut={props.onMouseOut}
onMouseUp={props.onMouseUp}
type="button"
>
{props.children}
{props.shortcut && (
<span className={classes['button-shortcut']}>{props.shortcut}</span>
)}
</button>
));
Button.defaultProps = {
onClick: () => {},
styleName: '',
type: 'button',
};
Button.propTypes = {
children: PropTypes.any,
disable: PropTypes.bool,
onBlur: PropTypes.func,
onClick: PropTypes.func,
onMouseDown: PropTypes.func,
onMouseOut: PropTypes.func,
onMouseUp: PropTypes.func,
shortcut: PropTypes.string,
type: PropTypes.string,
styleName: PropTypes.string,
};
export default Button;