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>
133 lines (112 loc) • 15.9 kB
JavaScript
var _excluded = ["affixed", "children", "className", "collapsed", "collapsible", "onCollapseChange"];
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, useEffect, useRef } from "react";
import PropTypes from "prop-types";
import classNames from "classnames";
import Button from "../button";
import Affix from "../affix";
import { detectStickySupport } from "../_util/detectStickySupport";
import { preventOuterScroll } from "../_util/preventOuterScroll";
import { LayoutContext } from "./Context";
import "./style";
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 = useContext(LayoutContext),
headerAffixed = _useContext.headerAffixed;
var asideRef = useRef(null);
var asideContentRef = 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);
}
};
useEffect(function () {
setTimeout(bindScrollEvent, 0);
if (asideContentRef !== null && asideContentRef !== void 0 && asideContentRef.current) {
asideContentRef.current.addEventListener("wheel", preventOuterScroll, {
passive: false
});
}
return function () {
window.removeEventListener("scroll", handleScroll);
};
}, []);
var offsetTop;
if (affixed && headerAffixed) {
offsetTop = 72;
}
if (affixed && !headerAffixed) {
offsetTop = 0;
}
var asideContent = React.createElement("aside", _extends({
className: classNames(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.createElement("div", {
className: classNames("".concat(prefix, "-asideInner"))
}, collapsible && React.createElement("div", {
className: "".concat(prefix, "-asideBackButton"),
onClick: function onClick() {
return handleCollapseChange(true);
},
role: "none"
}, React.createElement(Button, {
theme: "light",
leftIcon: "arrow-back"
})), React.createElement("div", {
className: "".concat(prefix, "-asideContent"),
ref: asideContentRef
}, children)), React.createElement("div", {
className: "".concat(prefix, "-asideMask"),
onClick: function onClick() {
return handleCollapseChange(true);
},
role: "none"
}));
if (affixed && !Aside.stickable) {
return React.createElement(Affix, {
offsetTop: offsetTop
}, asideContent);
}
return asideContent;
};
Aside.stickable = detectStickySupport();
Aside.propTypes = {
affixed: PropTypes.bool,
children: PropTypes.node,
className: PropTypes.string,
collapsed: PropTypes.bool,
collapsible: PropTypes.bool,
onCollapseChange: PropTypes.func
};
Aside.defaultProps = {
affixed: false,
children: "",
className: undefined,
collapsed: false,
collapsible: false,
onCollapseChange: function onCollapseChange() {}
};
export default Aside;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJQcm9wVHlwZXMiLCJjbGFzc05hbWVzIiwiQnV0dG9uIiwiQWZmaXgiLCJkZXRlY3RTdGlja3lTdXBwb3J0IiwicHJldmVudE91dGVyU2Nyb2xsIiwiTGF5b3V0Q29udGV4dCIsInByZWZpeCIsIkFzaWRlIiwiYWZmaXhlZCIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiY29sbGFwc2VkIiwiY29sbGFwc2libGUiLCJvbkNvbGxhcHNlQ2hhbmdlIiwib3RoZXJQcm9wcyIsImhlYWRlckFmZml4ZWQiLCJhc2lkZVJlZiIsImFzaWRlQ29udGVudFJlZiIsImhhbmRsZVNjcm9sbCIsImN1cnJlbnQiLCJzdHlsZSIsIm1heEhlaWdodCIsInNjcm9sbFkiLCJoYW5kbGVDb2xsYXBzZUNoYW5nZSIsImJvb2wiLCJiaW5kU2Nyb2xsRXZlbnQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwic2V0VGltZW91dCIsInBhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib2Zmc2V0VG9wIiwiYXNpZGVDb250ZW50Iiwic3RpY2thYmxlIiwicHJvcFR5cGVzIiwibm9kZSIsInN0cmluZyIsImZ1bmMiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi9jb21wb25lbnRzL2xheW91dC9Bc2lkZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCJcbmltcG9ydCBBZmZpeCBmcm9tIFwiLi4vYWZmaXhcIlxuaW1wb3J0IHsgZGV0ZWN0U3RpY2t5U3VwcG9ydCB9IGZyb20gXCIuLi9fdXRpbC9kZXRlY3RTdGlja3lTdXBwb3J0XCJcbmltcG9ydCB7IHByZXZlbnRPdXRlclNjcm9sbCB9IGZyb20gXCIuLi9fdXRpbC9wcmV2ZW50T3V0ZXJTY3JvbGxcIlxuaW1wb3J0IHsgTGF5b3V0Q29udGV4dCB9IGZyb20gXCIuL0NvbnRleHRcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1sYXlvdXRcIlxuXG5leHBvcnQgaW50ZXJmYWNlIElBc2lkZVByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDmmK/lkKblm7rlrppcbiAgICovXG4gIGFmZml4ZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5piv5ZCm5pS26LW3XG4gICAqL1xuICBjb2xsYXBzZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiDmmK/lkKbmlK/mjIHmlLbotbdcbiAgICovXG4gIGNvbGxhcHNpYmxlPzogYm9vbGVhblxuICAvKipcbiAgICog5pS26LW354q25oCB5Y+Y5YyW5pe255qEIGhhbmRsZXJcbiAgICovXG4gIG9uQ29sbGFwc2VDaGFuZ2U/OiAoY29sbGFwc2VkOiBib29sZWFuKSA9PiB2b2lkXG59XG5cbi8qKlxuICog5biD5bGAIC0g5L6n6L655qCPIGA8YXNpZGUgLz5gXG4gKi9cbmNvbnN0IEFzaWRlOiBSZWFjdC5GQzxJQXNpZGVQcm9wcz4gJiB7XG4gIHN0aWNrYWJsZTogYm9vbGVhblxufSA9ICh7XG4gIGFmZml4ZWQsXG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIGNvbGxhcHNlZCxcbiAgY29sbGFwc2libGUsXG4gIG9uQ29sbGFwc2VDaGFuZ2UsXG4gIC4uLm90aGVyUHJvcHNcbn06IElBc2lkZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaGVhZGVyQWZmaXhlZCB9ID0gdXNlQ29udGV4dChMYXlvdXRDb250ZXh0KVxuICBjb25zdCBhc2lkZVJlZiA9IHVzZVJlZjxIVE1MRWxlbWVudD4obnVsbClcbiAgY29uc3QgYXNpZGVDb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAoYXNpZGVSZWY/LmN1cnJlbnQgJiYgYWZmaXhlZCAmJiBoZWFkZXJBZmZpeGVkKSB7XG4gICAgICBhc2lkZVJlZi5jdXJyZW50LnN0eWxlLm1heEhlaWdodCA9XG4gICAgICAgIHNjcm9sbFkgPj0gMCAmJiBzY3JvbGxZIDw9IDcyXG4gICAgICAgICAgPyBgY2FsYygxMDB2aCAtICR7NzIgLSBzY3JvbGxZfXB4KWBcbiAgICAgICAgICA6IFwiMTAwdmhcIlxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbGxhcHNlQ2hhbmdlID0gKGJvb2w6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAob25Db2xsYXBzZUNoYW5nZSkge1xuICAgICAgb25Db2xsYXBzZUNoYW5nZShib29sKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGJpbmRTY3JvbGxFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoYWZmaXhlZCAmJiAhaGVhZGVyQWZmaXhlZCkge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgaGFuZGxlU2Nyb2xsKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VGltZW91dChiaW5kU2Nyb2xsRXZlbnQsIDApXG4gICAgaWYgKGFzaWRlQ29udGVudFJlZj8uY3VycmVudCkge1xuICAgICAgYXNpZGVDb250ZW50UmVmLmN1cnJlbnQuYWRkRXZlbnRMaXN0ZW5lcihcIndoZWVsXCIsIHByZXZlbnRPdXRlclNjcm9sbCwge1xuICAgICAgICBwYXNzaXZlOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBoYW5kbGVTY3JvbGwpXG4gICAgfVxuICB9LCBbXSlcblxuICBsZXQgb2Zmc2V0VG9wXG4gIGlmIChhZmZpeGVkICYmIGhlYWRlckFmZml4ZWQpIHtcbiAgICBvZmZzZXRUb3AgPSA3MlxuICB9XG4gIGlmIChhZmZpeGVkICYmICFoZWFkZXJBZmZpeGVkKSB7XG4gICAgb2Zmc2V0VG9wID0gMFxuICB9XG5cbiAgY29uc3QgYXNpZGVDb250ZW50ID0gKFxuICAgIDxhc2lkZVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgYCR7cHJlZml4fS1hc2lkZWAsIHtcbiAgICAgICAgW2Ake3ByZWZpeH0tYXNpZGVfYWZmaXhlZGBdOiBhZmZpeGVkICYmIGhlYWRlckFmZml4ZWQsXG4gICAgICAgIFtgJHtwcmVmaXh9LWFzaWRlX2FmZml4ZWRfYWxvbmVgXTogYWZmaXhlZCAmJiAhaGVhZGVyQWZmaXhlZCxcbiAgICAgICAgW2Ake3ByZWZpeH0tYXNpZGVfY29sbGFwc2VkYF06IGNvbGxhcHNlZCxcbiAgICAgICAgW2Ake3ByZWZpeH0tYXNpZGVfY29sbGFwc2libGVgXTogY29sbGFwc2libGUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgICAgcmVmPXthc2lkZVJlZn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhgJHtwcmVmaXh9LWFzaWRlSW5uZXJgKX0+XG4gICAgICAgIHtjb2xsYXBzaWJsZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWFzaWRlQmFja0J1dHRvbmB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDb2xsYXBzZUNoYW5nZSh0cnVlKX1cbiAgICAgICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QnV0dG9uIHRoZW1lPVwibGlnaHRcIiBsZWZ0SWNvbj1cImFycm93LWJhY2tcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS1hc2lkZUNvbnRlbnRgfSByZWY9e2FzaWRlQ29udGVudFJlZn0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeH0tYXNpZGVNYXNrYH1cbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ29sbGFwc2VDaGFuZ2UodHJ1ZSl9XG4gICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgIC8+XG4gICAgPC9hc2lkZT5cbiAgKVxuICBpZiAoYWZmaXhlZCAmJiAhQXNpZGUuc3RpY2thYmxlKSB7XG4gICAgcmV0dXJuIDxBZmZpeCBvZmZzZXRUb3A9e29mZnNldFRvcH0+e2FzaWRlQ29udGVudH08L0FmZml4PlxuICB9XG4gIHJldHVybiBhc2lkZUNvbnRlbnRcbn1cblxuQXNpZGUuc3RpY2thYmxlID0gZGV0ZWN0U3RpY2t5U3VwcG9ydCgpXG5cbkFzaWRlLnByb3BUeXBlcyA9IHtcbiAgLyoqXG4gICAqIOaYr+WQpuWbuuWumlxuICAgKi9cbiAgYWZmaXhlZDogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog5piv5ZCm5pS26LW3XG4gICAqL1xuICBjb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICog5piv5ZCm5pSv5oyB5pS26LW3XG4gICAqL1xuICBjb2xsYXBzaWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDmlLbotbfnirbmgIHlj5jljJbml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25Db2xsYXBzZUNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG59XG5cbkFzaWRlLmRlZmF1bHRQcm9wcyA9IHtcbiAgYWZmaXhlZDogZmFsc2UsXG4gIGNoaWxkcmVuOiBcIlwiLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgY29sbGFwc2VkOiBmYWxzZSxcbiAgY29sbGFwc2libGU6IGZhbHNlLFxuICBvbkNvbGxhcHNlQ2hhbmdlOiAoKSA9PiB7fSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXNpZGVcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFVBQWhCLEVBQTRCQyxTQUE1QixFQUF1Q0MsTUFBdkMsUUFBcUQsT0FBckQ7QUFDQSxPQUFPQyxTQUFQLE1BQXNCLFlBQXRCO0FBQ0EsT0FBT0MsVUFBUCxNQUF1QixZQUF2QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLFVBQWxCO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0MsOEJBQXBDO0FBQ0EsU0FBU0Msa0JBQVQsUUFBbUMsNkJBQW5DO0FBQ0EsU0FBU0MsYUFBVCxRQUE4QixXQUE5QjtBQUNBLE9BQU8sU0FBUDtBQUVBLElBQU1DLE1BQU0sR0FBRyxhQUFmOztBQWlDQSxJQUFNQyxLQUVMLEdBQUcsU0FGRUEsS0FFRixPQVFlO0VBQUE7O0VBQUEsSUFQakJDLE9BT2lCLFFBUGpCQSxPQU9pQjtFQUFBLElBTmpCQyxRQU1pQixRQU5qQkEsUUFNaUI7RUFBQSxJQUxqQkMsU0FLaUIsUUFMakJBLFNBS2lCO0VBQUEsSUFKakJDLFNBSWlCLFFBSmpCQSxTQUlpQjtFQUFBLElBSGpCQyxXQUdpQixRQUhqQkEsV0FHaUI7RUFBQSxJQUZqQkMsZ0JBRWlCLFFBRmpCQSxnQkFFaUI7RUFBQSxJQURkQyxVQUNjOztFQUNqQixrQkFBMEJsQixVQUFVLENBQUNTLGFBQUQsQ0FBcEM7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