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>
73 lines (63 loc) • 9.58 kB
JavaScript
var _excluded = ["children", "className", "disabled", "icon", "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 _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 } from "react";
import PropTypes from "prop-types";
import classNames from "classnames";
import Icon from "../icon";
import { NavContext } from "./Context";
import "./style";
var prefix = "adui-nav";
var SubNav = function SubNav(_ref) {
var _classNames;
var children = _ref.children,
className = _ref.className,
disabled = _ref.disabled,
icon = _ref.icon,
index = _ref.index,
title = _ref.title,
otherProps = _objectWithoutProperties(_ref, _excluded);
var _useContext = useContext(NavContext),
openIndexes = _useContext.openIndexes,
onOpenChange = _useContext.onOpenChange;
var open = (openIndexes || []).includes(index);
var classSet = classNames(className, "".concat(prefix, "-sub"), (_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "-open"), open), _defineProperty(_classNames, "".concat(prefix, "-sub-disabled"), disabled), _classNames));
return React.createElement("div", _extends({
className: classSet
}, otherProps), React.createElement("div", {
className: classNames("".concat(prefix, "-subTitle"), _defineProperty({}, "".concat(prefix, "-subTitle-disabled"), disabled)),
onClick: function onClick() {
if (onOpenChange && !disabled) {
onOpenChange(index);
}
},
role: "none"
}, icon && React.createElement(Icon, {
icon: icon,
className: "".concat(prefix, "-icon")
}), React.createElement("div", {
className: "".concat(prefix, "-subTitleContent")
}, title), React.createElement(Icon, {
icon: "arrow-up",
className: "".concat(prefix, "-arrow")
})), open && React.createElement("div", null, children));
};
SubNav.propTypes = {
children: PropTypes.node,
className: PropTypes.string,
disabled: PropTypes.bool,
icon: PropTypes.any,
index: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
title: PropTypes.node
};
SubNav.defaultProps = {
children: null,
className: undefined,
disabled: false,
icon: undefined,
title: null
};
export default SubNav;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJQcm9wVHlwZXMiLCJjbGFzc05hbWVzIiwiSWNvbiIsIk5hdkNvbnRleHQiLCJwcmVmaXgiLCJTdWJOYXYiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImRpc2FibGVkIiwiaWNvbiIsImluZGV4IiwidGl0bGUiLCJvdGhlclByb3BzIiwib3BlbkluZGV4ZXMiLCJvbk9wZW5DaGFuZ2UiLCJvcGVuIiwiaW5jbHVkZXMiLCJjbGFzc1NldCIsInByb3BUeXBlcyIsIm5vZGUiLCJzdHJpbmciLCJib29sIiwiYW55Iiwib25lT2ZUeXBlIiwibnVtYmVyIiwiaXNSZXF1aXJlZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvbmF2L1N1Yk5hdi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgSWNvbiwgeyBJY29uTmFtZXMgfSBmcm9tIFwiLi4vaWNvblwiXG5pbXBvcnQgeyBOYXZDb250ZXh0IH0gZnJvbSBcIi4vQ29udGV4dFwiXG5pbXBvcnQgXCIuL3N0eWxlXCJcblxuY29uc3QgcHJlZml4ID0gXCJhZHVpLW5hdlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN1Yk5hdlByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5piv5ZCm56aB55SoXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIOiuvue9ruWbvuagh1xuICAgKi9cbiAgaWNvbj86IEljb25OYW1lc1xuICAvKipcbiAgICog54us56uL55qEIGluZGV4IHJlcXVpcmVkXG4gICAqL1xuICBpbmRleDogUmVhY3QuUmVhY3RUZXh0XG4gIC8qKlxuICAgKiBzdWJuYXYg5qCH6aKYXG4gICAqL1xuICB0aXRsZT86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG4vKipcbiAqIOWvvOiIquagjyAtIOWtkOWvvOiIqlxuICovXG5jb25zdCBTdWJOYXY6IFJlYWN0LkZDPElTdWJOYXZQcm9wcz4gPSAoe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBkaXNhYmxlZCxcbiAgaWNvbixcbiAgaW5kZXgsXG4gIHRpdGxlLFxuICAuLi5vdGhlclByb3BzXG59OiBJU3ViTmF2UHJvcHMpID0+IHtcbiAgY29uc3QgeyBvcGVuSW5kZXhlcywgb25PcGVuQ2hhbmdlIH0gPSB1c2VDb250ZXh0KE5hdkNvbnRleHQpXG5cbiAgY29uc3Qgb3BlbiA9IChvcGVuSW5kZXhlcyB8fCBbXSkuaW5jbHVkZXMoaW5kZXgpXG5cbiAgY29uc3QgY2xhc3NTZXQgPSBjbGFzc05hbWVzKGNsYXNzTmFtZSwgYCR7cHJlZml4fS1zdWJgLCB7XG4gICAgW2Ake3ByZWZpeH0tb3BlbmBdOiBvcGVuLFxuICAgIFtgJHtwcmVmaXh9LXN1Yi1kaXNhYmxlZGBdOiBkaXNhYmxlZCxcbiAgfSlcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc1NldH0gey4uLm90aGVyUHJvcHN9PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoYCR7cHJlZml4fS1zdWJUaXRsZWAsIHtcbiAgICAgICAgICBbYCR7cHJlZml4fS1zdWJUaXRsZS1kaXNhYmxlZGBdOiBkaXNhYmxlZCxcbiAgICAgICAgfSl9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBpZiAob25PcGVuQ2hhbmdlICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgb25PcGVuQ2hhbmdlKGluZGV4KVxuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgPlxuICAgICAgICB7aWNvbiAmJiA8SWNvbiBpY29uPXtpY29ufSBjbGFzc05hbWU9e2Ake3ByZWZpeH0taWNvbmB9IC8+fVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS1zdWJUaXRsZUNvbnRlbnRgfT57dGl0bGV9PC9kaXY+XG4gICAgICAgIDxJY29uIGljb249XCJhcnJvdy11cFwiIGNsYXNzTmFtZT17YCR7cHJlZml4fS1hcnJvd2B9IC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtvcGVuICYmIDxkaXY+e2NoaWxkcmVufTwvZGl2Pn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5TdWJOYXYucHJvcFR5cGVzID0ge1xuICAvKipcbiAgICog5a2Q6IqC54K5XG4gICAqL1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIOaYr+WQpuemgeeUqFxuICAgKi9cbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICog6K6+572u5Zu+5qCHXG4gICAqL1xuICBpY29uOiBQcm9wVHlwZXMuYW55LFxuICAvKipcbiAgICog54us56uL55qEIGluZGV4IHJlcXVpcmVkXG4gICAqL1xuICBpbmRleDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLmlzUmVxdWlyZWQsXG4gIC8qKlxuICAgKiBzdWJuYXYg5qCH6aKYXG4gICAqL1xuICB0aXRsZTogUHJvcFR5cGVzLm5vZGUsXG59XG5cblN1Yk5hdi5kZWZhdWx0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBudWxsLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZWQ6IGZhbHNlLFxuICBpY29uOiB1bmRlZmluZWQsXG4gIHRpdGxlOiBudWxsLFxufVxuXG5leHBvcnQgZGVmYXVsdCBTdWJOYXZcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFVBQWhCLFFBQWtDLE9BQWxDO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsWUFBdkI7QUFDQSxPQUFPQyxJQUFQLE1BQWdDLFNBQWhDO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixXQUEzQjtBQUNBLE9BQU8sU0FBUDtBQUVBLElBQU1DLE1BQU0sR0FBRyxVQUFmOztBQWlDQSxJQUFNQyxNQUE4QixHQUFHLFNBQWpDQSxNQUFpQyxPQVFuQjtFQUFBOztFQUFBLElBUGxCQyxRQU9rQixRQVBsQkEsUUFPa0I7RUFBQSxJQU5sQkMsU0FNa0IsUUFObEJBLFNBTWtCO0VBQUEsSUFMbEJDLFFBS2tCLFFBTGxCQSxRQUtrQjtFQUFBLElBSmxCQyxJQUlrQixRQUpsQkEsSUFJa0I7RUFBQSxJQUhsQkMsS0FHa0IsUUFIbEJBLEtBR2tCO0VBQUEsSUFGbEJDLEtBRWtCLFFBRmxCQSxLQUVrQjtFQUFBLElBRGZDLFVBQ2U7O0VBQ2xCLGtCQUFzQ2IsVUFBVSxDQUFDSSxVQUFELENBQWhEO0VBQUEsSUFBUVUsV0FBUixlQUFRQSxXQUFSO0VBQUEsSUFBcUJDLFlBQXJCLGVBQXFCQSxZQUFyQjs7RUFFQSxJQUFNQyxJQUFJLEdBQUcsQ0FBQ0YsV0FBVyxJQUFJLEVBQWhCLEVBQW9CRyxRQUFwQixDQUE2Qk4sS0FBN0IsQ0FBYjtFQUVBLElBQU1PLFFBQVEsR0FBR2hCLFVBQVUsQ0FBQ00sU0FBRCxZQUFlSCxNQUFmLHFFQUNyQkEsTUFEcUIsWUFDTFcsSUFESywwQ0FFckJYLE1BRnFCLG9CQUVHSSxRQUZILGdCQUEzQjtFQUtBLE9BQ0U7SUFBSyxTQUFTLEVBQUVTO0VBQWhCLEdBQThCTCxVQUE5QixHQUNFO0lBQ0UsU0FBUyxFQUFFWCxVQUFVLFdBQUlHLE1BQUosOENBQ2ZBLE1BRGUseUJBQ2NJLFFBRGQsRUFEdkI7SUFJRSxPQUFPLEVBQUUsbUJBQU07TUFDYixJQUFJTSxZQUFZLElBQUksQ0FBQ04sUUFBckIsRUFBK0I7UUFDN0JNLFlBQVksQ0FBQ0osS0FBRCxDQUFaO01BQ0Q7SUFDRixDQVJIO0lBU0UsSUFBSSxFQUFDO0VBVFAsR0FXR0QsSUFBSSxJQUFJLG9CQUFDLElBQUQ7SUFBTSxJQUFJLEVBQUVBLElBQVo7SUFBa0IsU0FBUyxZQUFLTCxNQUFMO0VBQTNCLEVBWFgsRUFZRTtJQUFLLFNBQVMsWUFBS0EsTUFBTDtFQUFkLEdBQThDTyxLQUE5QyxDQVpGLEVBYUUsb0JBQUMsSUFBRDtJQUFNLElBQUksRUFBQyxVQUFYO0lBQXNCLFNBQVMsWUFBS1AsTUFBTDtFQUEvQixFQWJGLENBREYsRUFnQkdXLElBQUksSUFBSSxpQ0FBTVQsUUFBTixDQWhCWCxDQURGO0FBb0JELENBdENEOztBQXdDQUQsTUFBTSxDQUFDYSxTQUFQLEdBQW1CO0VBSWpCWixRQUFRLEVBQUVOLFNBQVMsQ0FBQ21CLElBSkg7RUFRakJaLFNBQVMsRUFBRVAsU0FBUyxDQUFDb0IsTUFSSjtFQVlqQlosUUFBUSxFQUFFUixTQUFTLENBQUNxQixJQVpIO0VBZ0JqQlosSUFBSSxFQUFFVCxTQUFTLENBQUNzQixHQWhCQztFQW9CakJaLEtBQUssRUFBRVYsU0FBUyxDQUFDdUIsU0FBVixDQUFvQixDQUFDdkIsU0FBUyxDQUFDb0IsTUFBWCxFQUFtQnBCLFNBQVMsQ0FBQ3dCLE1BQTdCLENBQXBCLEVBQTBEQyxVQXBCaEQ7RUF3QmpCZCxLQUFLLEVBQUVYLFNBQVMsQ0FBQ21CO0FBeEJBLENBQW5CO0FBMkJBZCxNQUFNLENBQUNxQixZQUFQLEdBQXNCO0VBQ3BCcEIsUUFBUSxFQUFFLElBRFU7RUFFcEJDLFNBQVMsRUFBRW9CLFNBRlM7RUFHcEJuQixRQUFRLEVBQUUsS0FIVTtFQUlwQkMsSUFBSSxFQUFFa0IsU0FKYztFQUtwQmhCLEtBQUssRUFBRTtBQUxhLENBQXRCO0FBUUEsZUFBZU4sTUFBZiJ9