UNPKG

6.65 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5var _typeof = require("@babel/runtime/helpers/typeof");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports["default"] = exports.Sider = void 0;
11
12var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
14var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
16var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
18var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
20var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
22var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
24var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
26var _propTypes = _interopRequireDefault(require("prop-types"));
27
28var _react = _interopRequireWildcard(require("react"));
29
30var _Sider = require("./Sider.styles");
31
32function _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); }
33
34function _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; }
35
36function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { 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); }; }
37
38function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
40/**
41 * Контейнер, разделяющий контент на две стороны.
42 */
43var Sider = /*#__PURE__*/function (_PureComponent) {
44 (0, _inherits2["default"])(Sider, _PureComponent);
45
46 var _super = _createSuper(Sider);
47
48 function Sider() {
49 (0, _classCallCheck2["default"])(this, Sider);
50 return _super.apply(this, arguments);
51 }
52
53 (0, _createClass2["default"])(Sider, [{
54 key: "render",
55 value: function render() {
56 var _this$props = this.props,
57 left = _this$props.left,
58 right = _this$props.right,
59 gap = _this$props.gap,
60 height = _this$props.height,
61 verticalAlign = _this$props.verticalAlign,
62 isOverflow = _this$props.isOverflow,
63 centeringLeftBlock = _this$props.centeringLeftBlock,
64 centeringRightBlock = _this$props.centeringRightBlock,
65 verticalView = _this$props.verticalView,
66 mobile = _this$props.mobile,
67 verticalGap = _this$props.verticalGap,
68 props = (0, _objectWithoutProperties2["default"])(_this$props, ["left", "right", "gap", "height", "verticalAlign", "isOverflow", "centeringLeftBlock", "centeringRightBlock", "verticalView", "mobile", "verticalGap"]);
69 return /*#__PURE__*/_react["default"].createElement(_Sider.Wrapper, (0, _extends2["default"])({
70 isOverflow: isOverflow,
71 verticalView: verticalView,
72 verticalAlign: verticalAlign,
73 mobile: mobile
74 }, props), !!left && /*#__PURE__*/_react["default"].createElement(_Sider.Left, {
75 centeringLeftBlock: centeringLeftBlock,
76 centeringRightBlock: centeringRightBlock,
77 height: height,
78 gap: right ? gap : 0,
79 verticalGap: verticalGap
80 }, left), !!right && /*#__PURE__*/_react["default"].createElement(_Sider.Right, {
81 isOverflow: isOverflow,
82 mobile: mobile,
83 centeringRightBlock: centeringRightBlock
84 }, right));
85 }
86 }]);
87 return Sider;
88}(_react.PureComponent);
89
90exports.Sider = Sider;
91Sider.propTypes = {
92 /** Вертикальный вариант */
93 verticalView: _propTypes["default"].bool,
94
95 /** Вертикальный вариант */
96 verticalGap: _propTypes["default"].number,
97
98 /** Обрезание текста */
99 isOverflow: _propTypes["default"].bool,
100
101 /** Блок слева, который растягивается в зависимости от контента */
102 left: _propTypes["default"].any,
103 // eslint-disable-line react/forbid-prop-types
104
105 /** Блок справа, который заполняет оставшееся пространство */
106 right: _propTypes["default"].any,
107 // eslint-disable-line react/forbid-prop-types
108
109 /** Отступ между блоками */
110 gap: _propTypes["default"].number,
111
112 /** Вертикальное выравнивание */
113 verticalAlign: _propTypes["default"].oneOf(['center', 'flex-start', 'flex-end']),
114
115 /** Высота блока */
116 height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
117 centeringLeftBlock: _propTypes["default"].bool,
118 centeringRightBlock: _propTypes["default"].bool,
119 mobile: _propTypes["default"].bool
120};
121Sider.defaultProps = {
122 left: null,
123 right: null,
124 gap: null,
125 height: null,
126 verticalAlign: 'center',
127 isOverflow: false,
128 centeringLeftBlock: false,
129 centeringRightBlock: false,
130 verticalView: false,
131 mobile: false,
132 verticalGap: null
133};
134var _default = Sider;
135exports["default"] = _default;
136//# sourceMappingURL=Sider.js.map
\No newline at end of file