import { Icon } from 'UI'; import styles from './itemMenu.css'; import OutsideClickDetectingDiv from 'Shared/OutsideClickDetectingDiv'; export default class ItemMenu extends React.PureComponent { state = { displayed: false, }; onClick = callback => (e) => { e.stopPropagation(); callback(e); } toggleMenu = (e) => { this.setState({ displayed: !this.state.displayed }); } closeMenu = () => this.setState({ displayed: false }) render() { const { items } = this.props; const { displayed } = this.state; return (
{ this.menuBtnRef = ref; } } className="w-10 h-10 cursor-pointer bg-white rounded-full flex items-center justify-center hover:bg-gray-lightest" onClick={ this.toggleMenu } role="button" >
{ items.filter(({ hidden }) => !hidden).map(({ onClick, text, icon }) => (
{ icon && (
)}
{ text }
))}
); } }