UNPKG

choerodon-ui

Version:

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

206 lines (171 loc) 6.52 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); 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 _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext")); var _LayoutContext = require("./LayoutContext"); function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } 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 = _createSuper(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 _react["default"].createElement(BasicComponent, (0, _extends2["default"])({}, this.props, { prefixCls: getPrefixCls(suffixCls, customizePrefixCls) })); } }], [{ 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, ["prefixCls", "className", "children"]); var divCls = (0, _classnames["default"])(className, prefixCls); return _react["default"].createElement("div", (0, _extends2["default"])({ className: divCls }, others), children); } var BasicLayout = /*#__PURE__*/ function (_PureComponent2) { (0, _inherits2["default"])(BasicLayout, _PureComponent2); var _super2 = _createSuper(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, ["prefixCls", "className", "children", "hasSider"]); var siders = this.state.siders; var divCls = (0, _classnames["default"])(className, prefixCls, (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-has-sider"), hasSider || siders.length > 0)); return _react["default"].createElement(_LayoutContext.LayoutContextProvider, (0, _extends2["default"])({}, this.getContextValue()), _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