rsuite
Version:
A suite of react components
91 lines (69 loc) • 2.96 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _setDisplayName = _interopRequireDefault(require("recompose/setDisplayName"));
var _utils = require("../utils");
var _Container = require("../Container/Container");
var Sidebar =
/*#__PURE__*/
function (_React$Component) {
(0, _inheritsLoose2.default)(Sidebar, _React$Component);
function Sidebar() {
return _React$Component.apply(this, arguments) || this;
}
var _proto = Sidebar.prototype;
_proto.componentDidMount = function componentDidMount() {
if (this.context && this.context.setContextState) {
/** Notify the Container that the Sidebar is in the child node of the Container. */
this.context.setContextState({
hasSidebar: true
});
}
};
_proto.render = function render() {
var _classNames;
var _this$props = this.props,
className = _this$props.className,
classPrefix = _this$props.classPrefix,
collapsible = _this$props.collapsible,
width = _this$props.width,
style = _this$props.style,
props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["className", "classPrefix", "collapsible", "width", "style"]);
var addPrefix = (0, _utils.prefix)(classPrefix);
var classes = (0, _classnames.default)(classPrefix, className, (_classNames = {}, _classNames[addPrefix('collapse')] = collapsible, _classNames));
var styles = (0, _extends2.default)({
flex: "0 0 " + width + "px",
width: width
}, style);
return React.createElement("div", (0, _extends2.default)({}, props, {
className: classes,
style: styles
}));
};
return Sidebar;
}(React.Component);
Sidebar.contextType = _Container.ContainerContext;
Sidebar.propTypes = {
className: _propTypes.default.string,
classPrefix: _propTypes.default.string,
width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
collapsible: _propTypes.default.bool,
style: _propTypes.default.object
};
Sidebar.defaultProps = {
width: 260
};
var EnhancedSidebar = (0, _utils.defaultProps)({
classPrefix: 'sidebar'
})(Sidebar);
var _default = (0, _setDisplayName.default)('Sidebar')(EnhancedSidebar);
exports.default = _default;
module.exports = exports.default;