UNPKG

drip-table

Version:

A tiny and powerful enterprise-class solution for building tables.

48 lines (47 loc) 2.4 kB
/* * This file is part of the drip-table project. * @link : https://drip-table.jd.com/ * @author : Emil Zhai (root@derzh.com) * @modifier : Emil Zhai (root@derzh.com) * @copyright: Copyright (c) 2021 JD Network Technology Co., Ltd. */ import "./index.less"; import RcMenu from 'rc-menu'; import React from 'react'; import MenuContext from "./context"; import OverrideContext from "./override"; var PREFIX_CLS = 'jfe-drip-table-rc-menu'; var MenuItem = /*#__PURE__*/React.memo(function (props) { var context = React.useContext(MenuContext); return /*#__PURE__*/React.createElement(RcMenu.Item, props, /*#__PURE__*/React.createElement("span", { className: "".concat(context.prefixCls, "-item-icon") }, props.icon), /*#__PURE__*/React.createElement("span", { className: "".concat(context.prefixCls, "-title-content") }, props.children)); }); var Menu = Object.assign({ Item: MenuItem, ItemGroup: RcMenu.ItemGroup }, /*#__PURE__*/React.memo(function (props) { var _props$expandIcon, _props$mode, _props$selectable, _props$onClick; var override = React.useContext(OverrideContext); var prefixCls = React.useMemo(function () { return (override === null || override === void 0 ? void 0 : override.prefixCls) || PREFIX_CLS; }, [override === null || override === void 0 ? void 0 : override.prefixCls]); var menuContext = React.useMemo(function () { return { prefixCls: prefixCls }; }, [prefixCls]); return /*#__PURE__*/React.createElement(MenuContext.Provider, { value: menuContext }, /*#__PURE__*/React.createElement(RcMenu, { prefixCls: prefixCls, items: props.items, expandIcon: (_props$expandIcon = props.expandIcon) !== null && _props$expandIcon !== void 0 ? _props$expandIcon : override === null || override === void 0 ? void 0 : override.expandIcon, mode: (_props$mode = props.mode) !== null && _props$mode !== void 0 ? _props$mode : override === null || override === void 0 ? void 0 : override.mode, selectable: (_props$selectable = props.selectable) !== null && _props$selectable !== void 0 ? _props$selectable : override === null || override === void 0 ? void 0 : override.selectable, onClick: (_props$onClick = props.onClick) !== null && _props$onClick !== void 0 ? _props$onClick : override === null || override === void 0 ? void 0 : override.onClick }, props.children)); })); export default Menu;