UNPKG

glass-app-manager

Version:

Informatica's Glass Framework CLI for bootstrapping

50 lines (40 loc) 1.03 kB
// @flow import React from "react"; import classNames from "classnames"; export type MenuItemProps = { /** * Additional classes. */ className?: string, /** * Label of the item. */ children: string, /** * True if the item is disabled. */ disabled?: boolean, /** * Callback to execute when the item is clicked. */ onClick: () => void, }; export default function MenuItem({ className, children, icon, disabled, onClick, ...rest }: MenuItemProps) { const handleClick = React.useCallback( e => { if (!disabled && onClick) { onClick(e); } }, [disabled, onClick] ); return ( <li className={classNames("menu__item", disabled ? "disabled" : "", className)} onClick={handleClick} {...rest}> {children} </li> ); } MenuItem.defaultProps = { disabled: false, }; MenuItem.displayName = "Menu.Item";