adui
Version:
<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>
103 lines (81 loc) • 11.6 kB
JavaScript
var _excluded = ["className", "children", "disabled", "index", "title"];
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import React, { useContext, useState } from "react";
import PropTypes from "prop-types";
import classNames from "classnames";
import Icon from "../icon";
import { MenuContext } from "./Context";
import "./style";
var prefix = "adui-menu";
var SubMenu = function SubMenu(_ref) {
var _classNames;
var className = _ref.className,
children = _ref.children,
disabled = _ref.disabled,
index = _ref.index,
title = _ref.title,
otherProps = _objectWithoutProperties(_ref, _excluded);
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
open = _useState2[0],
setOpen = _useState2[1];
var _useContext = useContext(MenuContext),
minWidth = _useContext.minWidth,
onExpandChange = _useContext.onExpandChange;
var classSet = classNames(className, "".concat(prefix, "-sub"), (_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "-sub_open"), open), _defineProperty(_classNames, "".concat(prefix, "-sub_disabled"), disabled), _classNames));
var handleExpandChange = function handleExpandChange(bool) {
if (onExpandChange) {
onExpandChange(index, bool);
}
setOpen(bool);
};
var mouseEvents = {};
if (!disabled) {
mouseEvents = {
onMouseEnter: function onMouseEnter() {
return handleExpandChange(true);
},
onMouseLeave: function onMouseLeave() {
return handleExpandChange(false);
}
};
}
return React.createElement("div", _extends({
className: classSet,
"data-index": index
}, mouseEvents, otherProps), React.createElement("div", {
className: "".concat(prefix, "-subTitle")
}, React.createElement("span", null, title), React.createElement(Icon, {
icon: "triangle-right",
className: "".concat(prefix, "-icon")
})), React.createElement("div", {
className: "".concat(prefix, "-dropdown"),
style: {
minWidth: minWidth
}
}, children));
};
SubMenu.propTypes = {
children: PropTypes.node,
className: PropTypes.string,
disabled: PropTypes.bool,
index: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
title: PropTypes.node
};
SubMenu.defaultProps = {
children: null,
className: undefined,
disabled: false,
title: null
};
export default SubMenu;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJ1c2VTdGF0ZSIsIlByb3BUeXBlcyIsImNsYXNzTmFtZXMiLCJJY29uIiwiTWVudUNvbnRleHQiLCJwcmVmaXgiLCJTdWJNZW51IiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJkaXNhYmxlZCIsImluZGV4IiwidGl0bGUiLCJvdGhlclByb3BzIiwib3BlbiIsInNldE9wZW4iLCJtaW5XaWR0aCIsIm9uRXhwYW5kQ2hhbmdlIiwiY2xhc3NTZXQiLCJoYW5kbGVFeHBhbmRDaGFuZ2UiLCJib29sIiwibW91c2VFdmVudHMiLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJwcm9wVHlwZXMiLCJub2RlIiwic3RyaW5nIiwib25lT2ZUeXBlIiwibnVtYmVyIiwiaXNSZXF1aXJlZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvbWVudS9TdWJNZW51LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vaWNvblwiXG5pbXBvcnQgeyBNZW51Q29udGV4dCB9IGZyb20gXCIuL0NvbnRleHRcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1tZW51XCJcblxuZXhwb3J0IGludGVyZmFjZSBJU3ViTWVudVByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5piv5ZCm56aB55SoXG4gICAqL1xuICBkaXNhYmxlZD86IEJvb2xlYW5cbiAgLyoqXG4gICAqIOeLrOeri+eahCBpbmRleCByZXF1aXJlZFxuICAgKi9cbiAgaW5kZXg6IFJlYWN0LlJlYWN0VGV4dFxuICAvKipcbiAgICogc3VibmF2IOagh+mimFxuICAgKi9cbiAgdGl0bGU/OiBSZWFjdC5SZWFjdE5vZGVcbn1cblxuLyoqXG4gKiDooYzliqjoj5zljZUgLSDlrZDoj5zljZVcbiAqL1xuY29uc3QgU3ViTWVudTogUmVhY3QuRkM8SVN1Yk1lbnVQcm9wcz4gPSAoe1xuICBjbGFzc05hbWUsXG4gIGNoaWxkcmVuLFxuICBkaXNhYmxlZCxcbiAgaW5kZXgsXG4gIHRpdGxlLFxuICAuLi5vdGhlclByb3BzXG59OiBJU3ViTWVudVByb3BzKSA9PiB7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHsgbWluV2lkdGgsIG9uRXhwYW5kQ2hhbmdlIH0gPSB1c2VDb250ZXh0KE1lbnVDb250ZXh0KVxuXG4gIGNvbnN0IGNsYXNzU2V0ID0gY2xhc3NOYW1lcyhjbGFzc05hbWUsIGAke3ByZWZpeH0tc3ViYCwge1xuICAgIFtgJHtwcmVmaXh9LXN1Yl9vcGVuYF06IG9wZW4sXG4gICAgW2Ake3ByZWZpeH0tc3ViX2Rpc2FibGVkYF06IGRpc2FibGVkLFxuICB9KVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZENoYW5nZSA9IChib29sOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKG9uRXhwYW5kQ2hhbmdlKSB7XG4gICAgICBvbkV4cGFuZENoYW5nZShpbmRleCwgYm9vbClcbiAgICB9XG4gICAgc2V0T3Blbihib29sKVxuICB9XG5cbiAgbGV0IG1vdXNlRXZlbnRzID0ge31cblxuICBpZiAoIWRpc2FibGVkKSB7XG4gICAgbW91c2VFdmVudHMgPSB7XG4gICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUV4cGFuZENoYW5nZSh0cnVlKSxcbiAgICAgIG9uTW91c2VMZWF2ZTogKCkgPT4gaGFuZGxlRXhwYW5kQ2hhbmdlKGZhbHNlKSxcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NTZXR9XG4gICAgICBkYXRhLWluZGV4PXtpbmRleH1cbiAgICAgIHsuLi5tb3VzZUV2ZW50c31cbiAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LXN1YlRpdGxlYH0+XG4gICAgICAgIDxzcGFuPnt0aXRsZX08L3NwYW4+XG4gICAgICAgIDxJY29uIGljb249XCJ0cmlhbmdsZS1yaWdodFwiIGNsYXNzTmFtZT17YCR7cHJlZml4fS1pY29uYH0gLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tZHJvcGRvd25gfSBzdHlsZT17eyBtaW5XaWR0aCB9fT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuU3ViTWVudS5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog5piv5ZCm56aB55SoXG4gICAqL1xuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDni6znq4vnmoQgaW5kZXggcmVxdWlyZWRcbiAgICovXG4gIGluZGV4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSkuaXNSZXF1aXJlZCxcbiAgLyoqXG4gICAqIHN1Ym5hdiDmoIfpophcbiAgICovXG4gIHRpdGxlOiBQcm9wVHlwZXMubm9kZSxcbn1cblxuU3ViTWVudS5kZWZhdWx0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBudWxsLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZWQ6IGZhbHNlLFxuICB0aXRsZTogbnVsbCxcbn1cblxuZXhwb3J0IGRlZmF1bHQgU3ViTWVudVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsVUFBaEIsRUFBNEJDLFFBQTVCLFFBQTRDLE9BQTVDO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsWUFBdkI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsU0FBU0MsV0FBVCxRQUE0QixXQUE1QjtBQUNBLE9BQU8sU0FBUDtBQUVBLElBQU1DLE1BQU0sR0FBRyxXQUFmOztBQTZCQSxJQUFNQyxPQUFnQyxHQUFHLFNBQW5DQSxPQUFtQyxPQU9wQjtFQUFBOztFQUFBLElBTm5CQyxTQU1tQixRQU5uQkEsU0FNbUI7RUFBQSxJQUxuQkMsUUFLbUIsUUFMbkJBLFFBS21CO0VBQUEsSUFKbkJDLFFBSW1CLFFBSm5CQSxRQUltQjtFQUFBLElBSG5CQyxLQUdtQixRQUhuQkEsS0FHbUI7RUFBQSxJQUZuQkMsS0FFbUIsUUFGbkJBLEtBRW1CO0VBQUEsSUFEaEJDLFVBQ2dCOztFQUNuQixnQkFBd0JaLFFBQVEsQ0FBQyxLQUFELENBQWhDO0VBQUE7RUFBQSxJQUFPYSxJQUFQO0VBQUEsSUFBYUMsT0FBYjs7RUFFQSxrQkFBcUNmLFVBQVUsQ0FBQ0ssV0FBRCxDQUEvQztFQUFBLElBQVFXLFFBQVIsZUFBUUEsUUFBUjtFQUFBLElBQWtCQyxjQUFsQixlQUFrQkEsY0FBbEI7O0VBRUEsSUFBTUMsUUFBUSxHQUFHZixVQUFVLENBQUNLLFNBQUQsWUFBZUYsTUFBZixxRUFDckJBLE1BRHFCLGdCQUNEUSxJQURDLDBDQUVyQlIsTUFGcUIsb0JBRUdJLFFBRkgsZ0JBQTNCOztFQUtBLElBQU1TLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0MsSUFBRCxFQUFtQjtJQUM1QyxJQUFJSCxjQUFKLEVBQW9CO01BQ2xCQSxjQUFjLENBQUNOLEtBQUQsRUFBUVMsSUFBUixDQUFkO0lBQ0Q7O0lBQ0RMLE9BQU8sQ0FBQ0ssSUFBRCxDQUFQO0VBQ0QsQ0FMRDs7RUFPQSxJQUFJQyxXQUFXLEdBQUcsRUFBbEI7O0VBRUEsSUFBSSxDQUFDWCxRQUFMLEVBQWU7SUFDYlcsV0FBVyxHQUFHO01BQ1pDLFlBQVksRUFBRTtRQUFBLE9BQU1ILGtCQUFrQixDQUFDLElBQUQsQ0FBeEI7TUFBQSxDQURGO01BRVpJLFlBQVksRUFBRTtRQUFBLE9BQU1KLGtCQUFrQixDQUFDLEtBQUQsQ0FBeEI7TUFBQTtJQUZGLENBQWQ7RUFJRDs7RUFFRCxPQUNFO0lBQ0UsU0FBUyxFQUFFRCxRQURiO0lBRUUsY0FBWVA7RUFGZCxHQUdNVSxXQUhOLEVBSU1SLFVBSk4sR0FNRTtJQUFLLFNBQVMsWUFBS1AsTUFBTDtFQUFkLEdBQ0Usa0NBQU9NLEtBQVAsQ0FERixFQUVFLG9CQUFDLElBQUQ7SUFBTSxJQUFJLEVBQUMsZ0JBQVg7SUFBNEIsU0FBUyxZQUFLTixNQUFMO0VBQXJDLEVBRkYsQ0FORixFQVVFO0lBQUssU0FBUyxZQUFLQSxNQUFMLGNBQWQ7SUFBc0MsS0FBSyxFQUFFO01BQUVVLFFBQVEsRUFBUkE7SUFBRjtFQUE3QyxHQUNHUCxRQURILENBVkYsQ0FERjtBQWdCRCxDQWpERDs7QUFtREFGLE9BQU8sQ0FBQ2lCLFNBQVIsR0FBb0I7RUFJbEJmLFFBQVEsRUFBRVAsU0FBUyxDQUFDdUIsSUFKRjtFQVFsQmpCLFNBQVMsRUFBRU4sU0FBUyxDQUFDd0IsTUFSSDtFQVlsQmhCLFFBQVEsRUFBRVIsU0FBUyxDQUFDa0IsSUFaRjtFQWdCbEJULEtBQUssRUFBRVQsU0FBUyxDQUFDeUIsU0FBVixDQUFvQixDQUFDekIsU0FBUyxDQUFDd0IsTUFBWCxFQUFtQnhCLFNBQVMsQ0FBQzBCLE1BQTdCLENBQXBCLEVBQTBEQyxVQWhCL0M7RUFvQmxCakIsS0FBSyxFQUFFVixTQUFTLENBQUN1QjtBQXBCQyxDQUFwQjtBQXVCQWxCLE9BQU8sQ0FBQ3VCLFlBQVIsR0FBdUI7RUFDckJyQixRQUFRLEVBQUUsSUFEVztFQUVyQkQsU0FBUyxFQUFFdUIsU0FGVTtFQUdyQnJCLFFBQVEsRUFBRSxLQUhXO0VBSXJCRSxLQUFLLEVBQUU7QUFKYyxDQUF2QjtBQU9BLGVBQWVMLE9BQWYifQ==