import React from 'react'; import PropTypes from 'prop-types'; import Typography from '../Typography'; import Icon from '../Icon'; const ContextMenu = ({ items, ...props }) => { if (!items) { console.warn('No items for context menu'); return null; } return (
e.preventDefault()} > {items.map((item, index) => (
item.action(item, props)} className="flex px-4 py-3 cursor-pointer items-center transition duration-300 hover:bg-primary-dark border-b border-primary-dark last:border-b-0" > {item.label} {item.iconRight && ( )}
))}
); }; ContextMenu.propTypes = { items: PropTypes.arrayOf( PropTypes.shape({ label: PropTypes.string.isRequired, action: PropTypes.func.isRequired, }) ).isRequired, }; export default ContextMenu;