import React from 'react'; import Toggle from 'react-toggle'; import classNames from 'classnames'; import cx from 'classnames'; import { defineMessages, injectIntl } from 'react-intl'; import { styles } from './styles'; const intlMessages = defineMessages({ on: { id: 'app.switch.onLabel', description: 'label for toggle switch on state', }, off: { id: 'app.switch.offLabel', description: 'label for toggle switch off state', }, }); class Switch extends Toggle { render() { const { intl, className, icons: _icons, ariaLabelledBy, ariaDescribedBy, ariaLabel, ariaDesc, ...inputProps } = this.props; const classes = classNames('react-toggle', { 'react-toggle--checked': this.state.checked, 'react-toggle--focus': this.state.hasFocus, 'react-toggle--disabled': this.props.disabled, }, className); return (
{ this.input = ref; }} onFocus={this.handleFocus} onBlur={this.handleBlur} className="react-toggle-screenreader-only" type="checkbox" tabIndex="0" aria-label={ariaLabel} aria-describedby={ariaDescribedBy} />
); } } export default injectIntl(Switch);