Files
2019-08-15 00:54:44 +02:00

39 lines
1.0 KiB
JavaScript
Executable File

import React from 'react';
import PropTypes from 'prop-types';
import OuterClick from './../OuterClick';
import { withPageConfig } from './../Layout';
import { SidebarContent } from './SidebarContent';
const Sidebar = (props) => (
<React.Fragment>
{ /* Enable OuterClick only in sidebar overlay mode */}
<OuterClick
active={
!props.pageConfig.sidebarCollapsed && (
props.pageConfig.screenSize === 'xs' ||
props.pageConfig.screenSize === 'sm' ||
props.pageConfig.screenSize === 'md'
)
}
onClickOutside={ () => props.pageConfig.toggleSidebar() }
>
<SidebarContent { ...props } />
</OuterClick>
</React.Fragment>
);
Sidebar.propTypes = {
children: PropTypes.node,
slim: PropTypes.bool,
collapsed: PropTypes.bool,
animationsDisabled: PropTypes.bool,
pageConfig: PropTypes.object
};
const cfgSidebar = withPageConfig(Sidebar);
export {
cfgSidebar as Sidebar
};