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>
83 lines • 12.5 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
var _excluded = ["className", "children", "disabled", "index", "title"];
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _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(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
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 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"), _defineProperty(_defineProperty({}, "".concat(prefix, "-sub_open"), open), "".concat(prefix, "-sub_disabled"), disabled));
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJ1c2VTdGF0ZSIsIlByb3BUeXBlcyIsImNsYXNzTmFtZXMiLCJJY29uIiwiTWVudUNvbnRleHQiLCJwcmVmaXgiLCJTdWJNZW51IiwiX3JlZiIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZGlzYWJsZWQiLCJpbmRleCIsInRpdGxlIiwib3RoZXJQcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsIm9wZW4iLCJzZXRPcGVuIiwiX3VzZUNvbnRleHQiLCJtaW5XaWR0aCIsIm9uRXhwYW5kQ2hhbmdlIiwiY2xhc3NTZXQiLCJjb25jYXQiLCJfZGVmaW5lUHJvcGVydHkiLCJoYW5kbGVFeHBhbmRDaGFuZ2UiLCJib29sIiwibW91c2VFdmVudHMiLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJpY29uIiwic3R5bGUiLCJwcm9wVHlwZXMiLCJub2RlIiwic3RyaW5nIiwib25lT2ZUeXBlIiwibnVtYmVyIiwiaXNSZXF1aXJlZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvbWVudS9TdWJNZW51LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vaWNvblwiXG5pbXBvcnQgeyBNZW51Q29udGV4dCB9IGZyb20gXCIuL0NvbnRleHRcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1tZW51XCJcblxuZXhwb3J0IGludGVyZmFjZSBJU3ViTWVudVByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5piv5ZCm56aB55SoXG4gICAqL1xuICBkaXNhYmxlZD86IEJvb2xlYW5cbiAgLyoqXG4gICAqIOeLrOeri+eahCBpbmRleCByZXF1aXJlZFxuICAgKi9cbiAgaW5kZXg6IFJlYWN0LlJlYWN0VGV4dFxuICAvKipcbiAgICogc3VibmF2IOagh+mimFxuICAgKi9cbiAgdGl0bGU/OiBSZWFjdC5SZWFjdE5vZGVcbn1cblxuLyoqXG4gKiDooYzliqjoj5zljZUgLSDlrZDoj5zljZVcbiAqL1xuY29uc3QgU3ViTWVudTogUmVhY3QuRkM8SVN1Yk1lbnVQcm9wcz4gPSAoe1xuICBjbGFzc05hbWUsXG4gIGNoaWxkcmVuLFxuICBkaXNhYmxlZCxcbiAgaW5kZXgsXG4gIHRpdGxlLFxuICAuLi5vdGhlclByb3BzXG59OiBJU3ViTWVudVByb3BzKSA9PiB7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHsgbWluV2lkdGgsIG9uRXhwYW5kQ2hhbmdlIH0gPSB1c2VDb250ZXh0KE1lbnVDb250ZXh0KVxuXG4gIGNvbnN0IGNsYXNzU2V0ID0gY2xhc3NOYW1lcyhjbGFzc05hbWUsIGAke3ByZWZpeH0tc3ViYCwge1xuICAgIFtgJHtwcmVmaXh9LXN1Yl9vcGVuYF06IG9wZW4sXG4gICAgW2Ake3ByZWZpeH0tc3ViX2Rpc2FibGVkYF06IGRpc2FibGVkLFxuICB9KVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZENoYW5nZSA9IChib29sOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKG9uRXhwYW5kQ2hhbmdlKSB7XG4gICAgICBvbkV4cGFuZENoYW5nZShpbmRleCwgYm9vbClcbiAgICB9XG4gICAgc2V0T3Blbihib29sKVxuICB9XG5cbiAgbGV0IG1vdXNlRXZlbnRzID0ge31cblxuICBpZiAoIWRpc2FibGVkKSB7XG4gICAgbW91c2VFdmVudHMgPSB7XG4gICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUV4cGFuZENoYW5nZSh0cnVlKSxcbiAgICAgIG9uTW91c2VMZWF2ZTogKCkgPT4gaGFuZGxlRXhwYW5kQ2hhbmdlKGZhbHNlKSxcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NTZXR9XG4gICAgICBkYXRhLWluZGV4PXtpbmRleH1cbiAgICAgIHsuLi5tb3VzZUV2ZW50c31cbiAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LXN1YlRpdGxlYH0+XG4gICAgICAgIDxzcGFuPnt0aXRsZX08L3NwYW4+XG4gICAgICAgIDxJY29uIGljb249XCJ0cmlhbmdsZS1yaWdodFwiIGNsYXNzTmFtZT17YCR7cHJlZml4fS1pY29uYH0gLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tZHJvcGRvd25gfSBzdHlsZT17eyBtaW5XaWR0aCB9fT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuU3ViTWVudS5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog5piv5ZCm56aB55SoXG4gICAqL1xuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDni6znq4vnmoQgaW5kZXggcmVxdWlyZWRcbiAgICovXG4gIGluZGV4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSkuaXNSZXF1aXJlZCxcbiAgLyoqXG4gICAqIHN1Ym5hdiDmoIfpophcbiAgICovXG4gIHRpdGxlOiBQcm9wVHlwZXMubm9kZSxcbn1cblxuU3ViTWVudS5kZWZhdWx0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBudWxsLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZWQ6IGZhbHNlLFxuICB0aXRsZTogbnVsbCxcbn1cblxuZXhwb3J0IGRlZmF1bHQgU3ViTWVudVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsVUFBVSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNuRCxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUMxQixTQUFTQyxXQUFXLFFBQVEsV0FBVztBQUN2QyxPQUFPLFNBQVM7QUFFaEIsSUFBTUMsTUFBTSxHQUFHLFdBQVc7QUE2QjFCLElBQU1DLE9BQWdDLEdBQUcsU0FBbkNBLE9BQWdDQSxDQUFBQyxJQUFBLEVBT2pCO0VBQUEsSUFObkJDLFNBQVMsR0FBQUQsSUFBQSxDQUFUQyxTQUFTO0lBQ1RDLFFBQVEsR0FBQUYsSUFBQSxDQUFSRSxRQUFRO0lBQ1JDLFFBQVEsR0FBQUgsSUFBQSxDQUFSRyxRQUFRO0lBQ1JDLEtBQUssR0FBQUosSUFBQSxDQUFMSSxLQUFLO0lBQ0xDLEtBQUssR0FBQUwsSUFBQSxDQUFMSyxLQUFLO0lBQ0ZDLFVBQVUsR0FBQUMsd0JBQUEsQ0FBQVAsSUFBQSxFQUFBUSxTQUFBO0VBRWIsSUFBQUMsU0FBQSxHQUF3QmhCLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQWlCLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQWhDRyxJQUFJLEdBQUFGLFVBQUE7SUFBRUcsT0FBTyxHQUFB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