import React, { Component } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import { withNamespaces } from 'react-i18next'; import enhanceWithClickOutside from 'react-click-outside'; import './Dropdown.css'; class Dropdown extends Component { state = { isOpen: false, }; toggleDropdown = () => { this.setState(prevState => ({ isOpen: !prevState.isOpen })); }; hideDropdown = () => { this.setState({ isOpen: false }); }; handleClickOutside = () => { if (this.state.isOpen) { this.hideDropdown(); } }; render() { const { label, controlClassName, menuClassName, baseClassName, icon, children, } = this.props; const { isOpen } = this.state; const dropdownClass = classnames({ [baseClassName]: true, show: isOpen, }); const dropdownMenuClass = classnames({ [menuClassName]: true, show: isOpen, }); const ariaSettings = isOpen ? 'true' : 'false'; return (