@mskcc/carbon-react
Version:
Carbon react components for the MSKCC DSM
49 lines (45 loc) • 1.4 kB
JavaScript
/**
* MSKCC 2021, 2024
*/
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
import cx from 'classnames';
import PropTypes from 'prop-types';
import React__default from 'react';
import { usePrefix } from '../../internal/usePrefix.js';
import OverflowMenu from '../OverflowMenu/index.js';
const defaultIconDescription = 'Settings';
const TableToolbarMenu = _ref => {
let {
className,
renderIcon,
iconDescription = defaultIconDescription,
children,
...rest
} = _ref;
const prefix = usePrefix();
const toolbarActionClasses = cx(className, `${prefix}--toolbar-action ${prefix}--overflow-menu`);
return /*#__PURE__*/React__default.createElement(OverflowMenu, _extends({
"aria-label": iconDescription,
renderIcon: renderIcon,
className: toolbarActionClasses,
title: iconDescription,
iconDescription: iconDescription,
flipped: true
}, rest), children);
};
TableToolbarMenu.propTypes = {
children: PropTypes.node.isRequired,
/**
* Provide an optional class name for the toolbar menu
*/
className: PropTypes.string,
/**
* The description of the menu icon.
*/
iconDescription: PropTypes.string.isRequired,
/**
* Optional prop to allow overriding the default menu icon
*/
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
};
export { TableToolbarMenu as default };