UNPKG

@bootstrap-styled/ra-ui

Version:
170 lines (134 loc) 6.43 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 = exports.CLOSED_DRAWER_WIDTH = exports.DRAWER_WIDTH = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactRedux = require("react-redux"); var _compose = _interopRequireDefault(require("recompose/compose")); var _Drawer = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Drawer")); var _raCore = require("ra-core"); var _styledComponents = _interopRequireDefault(require("styled-components")); var _breakpoints = require("@bootstrap-styled/css-mixins/lib/breakpoints"); var _classnames = _interopRequireDefault(require("classnames")); var _withWidth = _interopRequireDefault(require("../extendMui/withWidth")); var _Responsive = _interopRequireDefault(require("./Responsive")); var DRAWER_WIDTH = '230px'; exports.DRAWER_WIDTH = DRAWER_WIDTH; var CLOSED_DRAWER_WIDTH = '57px'; exports.CLOSED_DRAWER_WIDTH = CLOSED_DRAWER_WIDTH; var DrawerPaper = (0, _styledComponents.default)(_Drawer.default).withConfig({ displayName: "Sidebar__DrawerPaper", componentId: "g3lh0a-0" })(["width:", ";overflow-x:hidden;transition:width 195ms cubic-bezier(0.4,0,0.6,1) 0ms;", " ", " &.close{width:", " !important;}"], DRAWER_WIDTH, (0, _breakpoints.mediaBreakpointOnly)('xs', "\n margin-top: 0;\n height: 100vh;\n position: inherit;\n "), (0, _breakpoints.mediaBreakpointOnly)('md', "\n border: none;\n margin-top: 5.5em;\n "), CLOSED_DRAWER_WIDTH); var Sidebar = function (_PureComponent) { (0, _inherits2.default)(Sidebar, _PureComponent); function Sidebar() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, Sidebar); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(Sidebar)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleClose", function () { return _this.props.setSidebarVisibility(false); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "toggleSidebar", function () { return _this.props.setSidebarVisibility(!_this.props.open); }); return _this; } (0, _createClass2.default)(Sidebar, [{ key: "componentWillMount", value: function componentWillMount() { var _this$props = this.props, width = _this$props.width, setSidebarVisibility = _this$props.setSidebarVisibility; if (width !== 'xs' && width !== 'sm') { setSidebarVisibility(true); } } }, { key: "render", value: function render() { var _this$props2 = this.props, children = _this$props2.children, closedSize = _this$props2.closedSize, open = _this$props2.open, setSidebarVisibility = _this$props2.setSidebarVisibility, size = _this$props2.size, width = _this$props2.width, rest = (0, _objectWithoutProperties2.default)(_this$props2, ["children", "closedSize", "open", "setSidebarVisibility", "size", "width"]); return _react.default.createElement(_Responsive.default, { xsmall: _react.default.createElement(_Drawer.default, (0, _extends2.default)({ active: open, left: DRAWER_WIDTH, style: { top: '45px' }, onClose: this.toggleSidebar }, rest), (0, _react.cloneElement)(_react.Children.only(children), { onMenuClick: this.handleClose })), small: _react.default.createElement(DrawerPaper, (0, _extends2.default)({ docked: true, left: DRAWER_WIDTH, active: open, className: (0, _classnames.default)('pt-3', { close: !open }), onClose: this.toggleSidebar }, rest), (0, _react.cloneElement)(_react.Children.only(children), { onMenuClick: this.handleClose })), medium: _react.default.createElement(DrawerPaper, (0, _extends2.default)({ docked: true, left: DRAWER_WIDTH, active: open, className: (0, _classnames.default)('pt-2', { close: !open }), onClose: this.toggleSidebar }, rest), (0, _react.cloneElement)(_react.Children.only(children))) }); } }]); return Sidebar; }(_react.PureComponent); Sidebar.propTypes = { children: _propTypes.default.node.isRequired, closedSize: _propTypes.default.string, open: _propTypes.default.bool.isRequired, setSidebarVisibility: _propTypes.default.func.isRequired, size: _propTypes.default.string, width: _propTypes.default.string }; Sidebar.defaultProps = { size: DRAWER_WIDTH, closedSize: CLOSED_DRAWER_WIDTH }; var mapStateToProps = function mapStateToProps(state) { return { open: state.admin.ui.sidebarOpen, locale: state.locale }; }; var _default = (0, _compose.default)((0, _reactRedux.connect)(mapStateToProps, { setSidebarVisibility: _raCore.setSidebarVisibility }), (0, _withWidth.default)({ resizeInterval: Infinity }))(Sidebar); exports.default = _default;