UNPKG

react-cm-ui

Version:
60 lines (47 loc) 1.47 kB
import ClassNames from 'classnames'; import PropTypes from 'prop-types'; import React from 'react'; import Icon from '../../dataDisplay/icon'; const propTypes = { nestedTogglesData: PropTypes.shape({ label: PropTypes.string, }).isRequired, onClick: PropTypes.func.isRequired, }; class FiltersDrawerNestedTogglesLabel extends React.PureComponent { constructor() { super(); this.onClick = this.onClick.bind(this); this.onKeyDown = this.onKeyDown.bind(this); } onClick() { const { nestedTogglesData, onClick } = this.props; onClick(nestedTogglesData); } onKeyDown(event) { const { nestedTogglesData, onClick } = this.props; if (event.keyCode === 13) { onClick(nestedTogglesData); } } render() { const { nestedTogglesData: { label }, } = this.props; const containerClasses = ClassNames('page_filters_drawer--nested_toggles_label'); return ( <div className={containerClasses} onClick={this.onClick} onKeyDown={this.onKeyDown} role="button" tabIndex={0} > <span>{label}</span> <Icon compact type="chevron-right" /> </div> ); } } FiltersDrawerNestedTogglesLabel.propTypes = propTypes; export default FiltersDrawerNestedTogglesLabel;