react-toolbox/components/drawer/Drawer.js

38 lines
938 B
JavaScript
Raw Normal View History

import React from 'react';
2015-11-28 17:32:58 +03:00
import ClassNames from 'classnames';
import ActivableRenderer from '../hoc/ActivableRenderer';
2015-11-15 00:00:35 +03:00
import Overlay from '../overlay';
2015-10-23 02:26:12 +03:00
import style from './style';
2015-09-09 23:44:24 +03:00
2015-11-05 13:45:23 +03:00
const Drawer = (props) => {
2015-11-28 17:32:58 +03:00
const className = ClassNames([style.root, style[props.type]], {
[style.active]: props.active
}, props.className);
2015-11-05 13:45:23 +03:00
return (
2015-11-15 00:00:35 +03:00
<Overlay active={props.active} onClick={props.onOverlayClick}>
<div data-react-toolbox='drawer' className={className}>
<aside className={style.content}>
{props.children}
2015-11-15 00:00:35 +03:00
</aside>
</div>
</Overlay>
2015-11-05 13:45:23 +03:00
);
};
Drawer.propTypes = {
active: React.PropTypes.bool,
children: React.PropTypes.node,
2015-11-05 13:45:23 +03:00
className: React.PropTypes.string,
onOverlayClick: React.PropTypes.func,
type: React.PropTypes.oneOf(['left', 'right'])
};
Drawer.defaultProps = {
active: false,
className: '',
type: 'left'
};
2015-10-22 02:31:17 +03:00
export default ActivableRenderer()(Drawer);