acud
Version:
acg react 组件库
91 lines (89 loc) • 4.79 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _rcMenu = require("./rc-menu");
var _MenuItem = _interopRequireDefault(require("./MenuItem"));
var _MenuItemCustom = _interopRequireDefault(require("./MenuItemCustom"));
var _SubMenu = _interopRequireDefault(require("./SubMenu"));
var _MenuHead = _interopRequireDefault(require("./MenuHead"));
var _header = _interopRequireDefault(require("./header"));
var _globalSilderBar = _interopRequireDefault(require("./globalSilderBar"));
var _baseMenu = _interopRequireDefault(require("./baseMenu"));
var _MenuContext = _interopRequireDefault(require("./MenuContext"));
var _configProvider = require("../config-provider");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
/**
* @file
* @author dailin01
*/
;
var Menu = function Menu(props) {
var customizePrefixCls = props.prefixCls,
_props$mode = props.mode,
mode = _props$mode === void 0 ? 'horizontal' : _props$mode,
_props$iconList = props.iconList,
iconList = _props$iconList === void 0 ? [] : _props$iconList,
inlineCollapsed = props.inlineCollapsed,
_props$scope = props.scope,
scope = _props$scope === void 0 ? 'local' : _props$scope;
var _React$useContext = _react["default"].useContext(_configProvider.ConfigContext),
getPrefixCls = _React$useContext.getPrefixCls;
var prefixCls = getPrefixCls('menu', customizePrefixCls);
var menuContextValue = (0, _react.useContext)(_MenuContext["default"]);
if (scope === 'global') {
if (mode === 'horizontal') {
return /*#__PURE__*/_react["default"].createElement(_MenuContext["default"].Provider, {
value: (0, _extends2["default"])((0, _extends2["default"])({}, menuContextValue), {
menuMode: mode,
inlineCollapsed: inlineCollapsed,
prefixCls: prefixCls,
scope: scope
})
}, /*#__PURE__*/_react["default"].createElement(_header["default"], props));
}
if (mode === 'inline') {
return /*#__PURE__*/_react["default"].createElement(_MenuContext["default"].Provider, {
value: (0, _extends2["default"])((0, _extends2["default"])({}, menuContextValue), {
menuMode: mode,
inlineCollapsed: inlineCollapsed,
prefixCls: prefixCls,
firstLevel: true,
scope: scope
})
}, /*#__PURE__*/_react["default"].createElement(_globalSilderBar["default"], props));
}
}
var containerClsName = (0, _classnames["default"])((0, _defineProperty2["default"])({}, "".concat(prefixCls, "-icon-container"), mode === 'horizontal' && iconList.length));
return /*#__PURE__*/_react["default"].createElement(_MenuContext["default"].Provider, {
value: (0, _extends2["default"])((0, _extends2["default"])({}, menuContextValue), {
firstLevel: true,
menuMode: mode,
inlineCollapsed: inlineCollapsed,
prefixCls: prefixCls,
scope: scope
})
}, mode === 'horizontal' && iconList.length ? /*#__PURE__*/_react["default"].createElement("div", {
className: containerClsName
}, /*#__PURE__*/_react["default"].createElement(_baseMenu["default"], props), /*#__PURE__*/_react["default"].createElement("div", {
className: "".concat(prefixCls, "-iconlist")
}, iconList.map(function (item, idx) {
return /*#__PURE__*/_react["default"].createElement("span", {
key: idx,
className: "icon-item"
}, item);
}))) : /*#__PURE__*/_react["default"].createElement(_baseMenu["default"], props));
};
Menu.Item = _MenuItem["default"];
Menu.SubMenu = _SubMenu["default"];
Menu.MenuHead = _MenuHead["default"];
Menu.ItemGroup = _rcMenu.ItemGroup;
Menu.ItemCustom = _MenuItemCustom["default"];
var _default = exports["default"] = Menu;