UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

174 lines (144 loc) 5.72 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper")); var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext")); var _LayoutContext = require("./LayoutContext"); var _excluded = ["prefixCls", "className", "children"], _excluded2 = ["prefixCls", "className", "children", "hasSider"]; function generator(_ref) { var displayName = _ref.displayName, suffixCls = _ref.suffixCls; return function (BasicComponent) { var _a; return _a = /*#__PURE__*/function (_PureComponent) { (0, _inherits2["default"])(Adapter, _PureComponent); var _super = (0, _createSuper2["default"])(Adapter); function Adapter() { (0, _classCallCheck2["default"])(this, Adapter); return _super.apply(this, arguments); } (0, _createClass2["default"])(Adapter, [{ key: "render", value: function render() { var customizePrefixCls = this.props.prefixCls; var getPrefixCls = this.context.getPrefixCls; return /*#__PURE__*/_react["default"].createElement(BasicComponent, (0, _extends2["default"])({ prefixCls: getPrefixCls(suffixCls, customizePrefixCls) }, this.props)); } }], [{ key: "contextType", get: function get() { return _ConfigContext["default"]; } }]); return Adapter; }(_react.PureComponent), _a.displayName = displayName, _a; }; } function Basic(props) { var prefixCls = props.prefixCls, className = props.className, children = props.children, others = (0, _objectWithoutProperties2["default"])(props, _excluded); var divCls = (0, _classnames["default"])(className, prefixCls); return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({ className: divCls }, others), children); } var BasicLayout = /*#__PURE__*/function (_PureComponent2) { (0, _inherits2["default"])(BasicLayout, _PureComponent2); var _super2 = (0, _createSuper2["default"])(BasicLayout); function BasicLayout() { var _this; (0, _classCallCheck2["default"])(this, BasicLayout); _this = _super2.apply(this, arguments); _this.state = { siders: [] }; return _this; } (0, _createClass2["default"])(BasicLayout, [{ key: "getContextValue", value: function getContextValue() { var _this2 = this; var siders = this.state.siders; var getPrefixCls = this.context.getPrefixCls; return { siderHook: { addSider: function addSider(id) { _this2.setState({ siders: [].concat((0, _toConsumableArray2["default"])(siders), [id]) }); }, removeSider: function removeSider(id) { _this2.setState({ siders: siders.filter(function (currentId) { return currentId !== id; }) }); } }, getPrefixCls: getPrefixCls }; } }, { key: "render", value: function render() { var _this$props = this.props, prefixCls = _this$props.prefixCls, className = _this$props.className, children = _this$props.children, hasSider = _this$props.hasSider, others = (0, _objectWithoutProperties2["default"])(_this$props, _excluded2); var siders = this.state.siders; var divCls = (0, _classnames["default"])(className, prefixCls, (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-has-sider"), hasSider || siders.length > 0)); return /*#__PURE__*/_react["default"].createElement(_LayoutContext.LayoutContextProvider, (0, _extends2["default"])({}, this.getContextValue()), /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({ className: divCls }, others), children)); } }], [{ key: "contextType", get: function get() { return _ConfigContext["default"]; } }]); return BasicLayout; }(_react.PureComponent); BasicLayout.displayName = 'BasicLayout'; var Layout = generator({ suffixCls: 'layout', displayName: 'Layout' })(BasicLayout); var Header = generator({ suffixCls: 'layout-header', displayName: 'Header' })(Basic); var Footer = generator({ suffixCls: 'layout-footer', displayName: 'Footer' })(Basic); var Content = generator({ suffixCls: 'layout-content', displayName: 'Content' })(Basic); Layout.Header = Header; Layout.Footer = Footer; Layout.Content = Content; var _default = Layout; exports["default"] = _default; //# sourceMappingURL=layout.js.map