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>
158 lines (122 loc) • 17.7 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _button = _interopRequireDefault(require("../button"));
var _affix = _interopRequireDefault(require("../affix"));
var _detectStickySupport = require("../_util/detectStickySupport");
var _preventOuterScroll = require("../_util/preventOuterScroll");
var _Context = require("./Context");
require("./style");
var _excluded = ["affixed", "children", "className", "collapsed", "collapsible", "onCollapseChange"];
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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; }
var prefix = "adui-layout";
var Aside = function Aside(_ref) {
var _classNames;
var affixed = _ref.affixed,
children = _ref.children,
className = _ref.className,
collapsed = _ref.collapsed,
collapsible = _ref.collapsible,
onCollapseChange = _ref.onCollapseChange,
otherProps = _objectWithoutProperties(_ref, _excluded);
var _useContext = (0, _react.useContext)(_Context.LayoutContext),
headerAffixed = _useContext.headerAffixed;
var asideRef = (0, _react.useRef)(null);
var asideContentRef = (0, _react.useRef)(null);
var handleScroll = function handleScroll() {
if (asideRef !== null && asideRef !== void 0 && asideRef.current && affixed && headerAffixed) {
asideRef.current.style.maxHeight = scrollY >= 0 && scrollY <= 72 ? "calc(100vh - ".concat(72 - scrollY, "px)") : "100vh";
}
};
var handleCollapseChange = function handleCollapseChange(bool) {
if (onCollapseChange) {
onCollapseChange(bool);
}
};
var bindScrollEvent = function bindScrollEvent() {
if (affixed && !headerAffixed) {
window.addEventListener("scroll", handleScroll);
}
};
(0, _react.useEffect)(function () {
setTimeout(bindScrollEvent, 0);
if (asideContentRef !== null && asideContentRef !== void 0 && asideContentRef.current) {
asideContentRef.current.addEventListener("wheel", _preventOuterScroll.preventOuterScroll, {
passive: false
});
}
return function () {
window.removeEventListener("scroll", handleScroll);
};
}, []);
var offsetTop;
if (affixed && headerAffixed) {
offsetTop = 72;
}
if (affixed && !headerAffixed) {
offsetTop = 0;
}
var asideContent = _react["default"].createElement("aside", _extends({
className: (0, _classnames["default"])(className, "".concat(prefix, "-aside"), (_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "-aside_affixed"), affixed && headerAffixed), _defineProperty(_classNames, "".concat(prefix, "-aside_affixed_alone"), affixed && !headerAffixed), _defineProperty(_classNames, "".concat(prefix, "-aside_collapsed"), collapsed), _defineProperty(_classNames, "".concat(prefix, "-aside_collapsible"), collapsible), _classNames))
}, otherProps, {
ref: asideRef
}), _react["default"].createElement("div", {
className: (0, _classnames["default"])("".concat(prefix, "-asideInner"))
}, collapsible && _react["default"].createElement("div", {
className: "".concat(prefix, "-asideBackButton"),
onClick: function onClick() {
return handleCollapseChange(true);
},
role: "none"
}, _react["default"].createElement(_button["default"], {
theme: "light",
leftIcon: "arrow-back"
})), _react["default"].createElement("div", {
className: "".concat(prefix, "-asideContent"),
ref: asideContentRef
}, children)), _react["default"].createElement("div", {
className: "".concat(prefix, "-asideMask"),
onClick: function onClick() {
return handleCollapseChange(true);
},
role: "none"
}));
if (affixed && !Aside.stickable) {
return _react["default"].createElement(_affix["default"], {
offsetTop: offsetTop
}, asideContent);
}
return asideContent;
};
Aside.stickable = (0, _detectStickySupport.detectStickySupport)();
Aside.propTypes = {
affixed: _propTypes["default"].bool,
children: _propTypes["default"].node,
className: _propTypes["default"].string,
collapsed: _propTypes["default"].bool,
collapsible: _propTypes["default"].bool,
onCollapseChange: _propTypes["default"].func
};
Aside.defaultProps = {
affixed: false,
children: "",
className: undefined,
collapsed: false,
collapsible: false,
onCollapseChange: function onCollapseChange() {}
};
var _default = Aside;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcmVmaXgiLCJBc2lkZSIsImFmZml4ZWQiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImNvbGxhcHNlZCIsImNvbGxhcHNpYmxlIiwib25Db2xsYXBzZUNoYW5nZSIsIm90aGVyUHJvcHMiLCJ1c2VDb250ZXh0IiwiTGF5b3V0Q29udGV4dCIsImhlYWRlckFmZml4ZWQiLCJhc2lkZVJlZiIsInVzZVJlZiIsImFzaWRlQ29udGVudFJlZiIsImhhbmRsZVNjcm9sbCIsImN1cnJlbnQiLCJzdHlsZSIsIm1heEhlaWdodCIsInNjcm9sbFkiLCJoYW5kbGVDb2xsYXBzZUNoYW5nZSIsImJvb2wiLCJiaW5kU2Nyb2xsRXZlbnQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwidXNlRWZmZWN0Iiwic2V0VGltZW91dCIsInByZXZlbnRPdXRlclNjcm9sbCIsInBhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib2Zmc2V0VG9wIiwiYXNpZGVDb250ZW50IiwiY2xhc3NOYW1lcyIsInN0aWNrYWJsZSIsImRldGVjdFN0aWNreVN1cHBvcnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJub2RlIiwic3RyaW5nIiwiZnVuYyIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvbGF5b3V0L0FzaWRlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIlxuaW1wb3J0IEFmZml4IGZyb20gXCIuLi9hZmZpeFwiXG5pbXBvcnQgeyBkZXRlY3RTdGlja3lTdXBwb3J0IH0gZnJvbSBcIi4uL191dGlsL2RldGVjdFN0aWNreVN1cHBvcnRcIlxuaW1wb3J0IHsgcHJldmVudE91dGVyU2Nyb2xsIH0gZnJvbSBcIi4uL191dGlsL3ByZXZlbnRPdXRlclNjcm9sbFwiXG5pbXBvcnQgeyBMYXlvdXRDb250ZXh0IH0gZnJvbSBcIi4vQ29udGV4dFwiXG5pbXBvcnQgXCIuL3N0eWxlXCJcblxuY29uc3QgcHJlZml4ID0gXCJhZHVpLWxheW91dFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFzaWRlUHJvcHMge1xuICBba2V5OiBzdHJpbmddOiBhbnlcbiAgLyoqXG4gICAqIOaYr+WQpuWbuuWumlxuICAgKi9cbiAgYWZmaXhlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIOWtkOiKgueCuVxuICAgKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiDmmK/lkKbmlLbotbdcbiAgICovXG4gIGNvbGxhcHNlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIOaYr+WQpuaUr+aMgeaUtui1t1xuICAgKi9cbiAgY29sbGFwc2libGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiDmlLbotbfnirbmgIHlj5jljJbml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25Db2xsYXBzZUNoYW5nZT86IChjb2xsYXBzZWQ6IGJvb2xlYW4pID0+IHZvaWRcbn1cblxuLyoqXG4gKiDluIPlsYAgLSDkvqfovrnmoI8gYDxhc2lkZSAvPmBcbiAqL1xuY29uc3QgQXNpZGU6IFJlYWN0LkZDPElBc2lkZVByb3BzPiAmIHtcbiAgc3RpY2thYmxlOiBib29sZWFuXG59ID0gKHtcbiAgYWZmaXhlZCxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY29sbGFwc2VkLFxuICBjb2xsYXBzaWJsZSxcbiAgb25Db2xsYXBzZUNoYW5nZSxcbiAgLi4ub3RoZXJQcm9wc1xufTogSUFzaWRlUHJvcHMpID0+IHtcbiAgY29uc3QgeyBoZWFkZXJBZmZpeGVkIH0gPSB1c2VDb250ZXh0KExheW91dENvbnRleHQpXG4gIGNvbnN0IGFzaWRlUmVmID0gdXNlUmVmPEhUTUxFbGVtZW50PihudWxsKVxuICBjb25zdCBhc2lkZUNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgIGlmIChhc2lkZVJlZj8uY3VycmVudCAmJiBhZmZpeGVkICYmIGhlYWRlckFmZml4ZWQpIHtcbiAgICAgIGFzaWRlUmVmLmN1cnJlbnQuc3R5bGUubWF4SGVpZ2h0ID1cbiAgICAgICAgc2Nyb2xsWSA+PSAwICYmIHNjcm9sbFkgPD0gNzJcbiAgICAgICAgICA/IGBjYWxjKDEwMHZoIC0gJHs3MiAtIHNjcm9sbFl9cHgpYFxuICAgICAgICAgIDogXCIxMDB2aFwiXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ29sbGFwc2VDaGFuZ2UgPSAoYm9vbDogYm9vbGVhbikgPT4ge1xuICAgIGlmIChvbkNvbGxhcHNlQ2hhbmdlKSB7XG4gICAgICBvbkNvbGxhcHNlQ2hhbmdlKGJvb2wpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgYmluZFNjcm9sbEV2ZW50ID0gKCkgPT4ge1xuICAgIGlmIChhZmZpeGVkICYmICFoZWFkZXJBZmZpeGVkKSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBoYW5kbGVTY3JvbGwpXG4gICAgfVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRUaW1lb3V0KGJpbmRTY3JvbGxFdmVudCwgMClcbiAgICBpZiAoYXNpZGVDb250ZW50UmVmPy5jdXJyZW50KSB7XG4gICAgICBhc2lkZUNvbnRlbnRSZWYuY3VycmVudC5hZGRFdmVudExpc3RlbmVyKFwid2hlZWxcIiwgcHJldmVudE91dGVyU2Nyb2xsLCB7XG4gICAgICAgIHBhc3NpdmU6IGZhbHNlLFxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGhhbmRsZVNjcm9sbClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGxldCBvZmZzZXRUb3BcbiAgaWYgKGFmZml4ZWQgJiYgaGVhZGVyQWZmaXhlZCkge1xuICAgIG9mZnNldFRvcCA9IDcyXG4gIH1cbiAgaWYgKGFmZml4ZWQgJiYgIWhlYWRlckFmZml4ZWQpIHtcbiAgICBvZmZzZXRUb3AgPSAwXG4gIH1cblxuICBjb25zdCBhc2lkZUNvbnRlbnQgPSAoXG4gICAgPGFzaWRlXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3NOYW1lLCBgJHtwcmVmaXh9LWFzaWRlYCwge1xuICAgICAgICBbYCR7cHJlZml4fS1hc2lkZV9hZmZpeGVkYF06IGFmZml4ZWQgJiYgaGVhZGVyQWZmaXhlZCxcbiAgICAgICAgW2Ake3ByZWZpeH0tYXNpZGVfYWZmaXhlZF9hbG9uZWBdOiBhZmZpeGVkICYmICFoZWFkZXJBZmZpeGVkLFxuICAgICAgICBbYCR7cHJlZml4fS1hc2lkZV9jb2xsYXBzZWRgXTogY29sbGFwc2VkLFxuICAgICAgICBbYCR7cHJlZml4fS1hc2lkZV9jb2xsYXBzaWJsZWBdOiBjb2xsYXBzaWJsZSxcbiAgICAgIH0pfVxuICAgICAgey4uLm90aGVyUHJvcHN9XG4gICAgICByZWY9e2FzaWRlUmVmfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGAke3ByZWZpeH0tYXNpZGVJbm5lcmApfT5cbiAgICAgICAge2NvbGxhcHNpYmxlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeH0tYXNpZGVCYWNrQnV0dG9uYH1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNvbGxhcHNlQ2hhbmdlKHRydWUpfVxuICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxCdXR0b24gdGhlbWU9XCJsaWdodFwiIGxlZnRJY29uPVwiYXJyb3ctYmFja1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWFzaWRlQ29udGVudGB9IHJlZj17YXNpZGVDb250ZW50UmVmfT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCR7cHJlZml4fS1hc2lkZU1hc2tgfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDb2xsYXBzZUNoYW5nZSh0cnVlKX1cbiAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgLz5cbiAgICA8L2FzaWRlPlxuICApXG4gIGlmIChhZmZpeGVkICYmICFBc2lkZS5zdGlja2FibGUpIHtcbiAgICByZXR1cm4gPEFmZml4IG9mZnNldFRvcD17b2Zmc2V0VG9wfT57YXNpZGVDb250ZW50fTwvQWZmaXg+XG4gIH1cbiAgcmV0dXJuIGFzaWRlQ29udGVudFxufVxuXG5Bc2lkZS5zdGlja2FibGUgPSBkZXRlY3RTdGlja3lTdXBwb3J0KClcblxuQXNpZGUucHJvcFR5cGVzID0ge1xuICAvKipcbiAgICog5piv5ZCm5Zu65a6aXG4gICAqL1xuICBhZmZpeGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIOWtkOiKgueCuVxuICAgKi9cbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICog6ZmE5Yqg57G75ZCNXG4gICAqL1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKlxuICAgKiDmmK/lkKbmlLbotbdcbiAgICovXG4gIGNvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDmmK/lkKbmlK/mjIHmlLbotbdcbiAgICovXG4gIGNvbGxhcHNpYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIOaUtui1t+eKtuaAgeWPmOWMluaXtueahCBoYW5kbGVyXG4gICAqL1xuICBvbkNvbGxhcHNlQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbn1cblxuQXNpZGUuZGVmYXVsdFByb3BzID0ge1xuICBhZmZpeGVkOiBmYWxzZSxcbiAgY2hpbGRyZW46IFwiXCIsXG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICBjb2xsYXBzZWQ6IGZhbHNlLFxuICBjb2xsYXBzaWJsZTogZmFsc2UsXG4gIG9uQ29sbGFwc2VDaGFuZ2U6ICgpID0+IHt9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBBc2lkZVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsTUFBTSxHQUFHLGFBQWY7O0FBaUNBLElBQU1DLEtBRUwsR0FBRyxTQUZFQSxLQUVGLE9BUWU7RUFBQTs7RUFBQSxJQVBqQkMsT0FPaUIsUUFQakJBLE9BT2lCO0VBQUEsSUFOakJDLFFBTWlCLFFBTmpCQSxRQU1pQjtFQUFBLElBTGpCQyxTQUtpQixRQUxqQkEsU0FLaUI7RUFBQSxJQUpqQkMsU0FJaUIsUUFKakJBLFNBSWlCO0VBQUEsSUFIakJDLFdBR2lCLFFBSGpCQSxXQUdpQjtFQUFBLElBRmpCQyxnQkFFaUIsUUFGakJBLGdCQUVpQjtFQUFBLElBRGRDLFVBQ2M7O0VBQ2pCLGtCQUEwQixJQUFBQyxpQkFBQSxFQUFXQyxzQkFBWCxDQUExQjtFQUFBLElBQVFDLGFBQVIsZUFBUUEsYUFBUjs7RUFDQSxJQUFNQyxRQUFRLEdBQUcsSUFBQUMsYUFBQSxFQUFvQixJQUFwQixDQUFqQjtFQUNBLElBQU1DLGVBQWUsR0FBRyxJQUFBRCxhQUFBLEVBQXVCLElBQXZCLENBQXhCOztFQUVBLElBQU1FLFlBQVksR0FBRyxTQUFmQSxZQUFlLEdBQU07SUFDekIsSUFBSUgsUUFBUSxTQUFSLElBQUFBLFFBQVEsV0FBUixJQUFBQSxRQUFRLENBQUVJLE9BQVYsSUFBcUJk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