Preview: http://dashboards.webkom.co/react/airframe
This commit is contained in:
Tomasz Owczarczyk
2019-08-15 00:54:44 +02:00
parent f975443095
commit 37092d1d6c
626 changed files with 56691 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
import React from 'react';
import PropTypes from 'prop-types';
import MatchMedia from 'react-responsive';
import { withPageConfig } from './../../components/Layout/withPageConfig';
const SlimProps = (props) => {
const {
pageConfig,
children,
slimProps
} = props;
return (
<React.Fragment>
<MatchMedia minWidth={ 992 }>
{
/* If slim is enabled extend the children with slimProps */
pageConfig.sidebarSlim && pageConfig.sidebarCollapsed ?
React.Children.map(children, (child) => React.cloneElement(child, slimProps)) :
children
}
</MatchMedia>
<MatchMedia maxWidth={ 991.8 }>
{ children }
</MatchMedia>
</React.Fragment>
);
};
SlimProps.propTypes = {
children: PropTypes.node,
pageConfig: PropTypes.object,
slimProps: PropTypes.object,
defaultProps: PropTypes.object
};
const ExtendedSlimProps
= withPageConfig(SlimProps);
export {
ExtendedSlimProps as SlimProps
}