wix-style-react
Version:
wix-style-react
43 lines • 1.79 kB
JavaScript
import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { st, classes } from './SidePanel.st.css';
import Header from './Header';
import Content from './Content';
import Footer from './Footer';
import Divider from './Divider';
import { SidePanelContext } from './SidePanelAPI';
import Section from './Section';
import Field from './Field';
class SidePanel extends PureComponent {
render() {
const { dataHook, skin = 'standard', children, className, width, height, maxHeight, onCloseButtonClick, onHelpButtonClick, draggable, } = this.props;
const isDraggable = draggable && skin === 'floating';
return (React.createElement(SidePanelContext.Provider, { value: { onCloseButtonClick, onHelpButtonClick, skin, isDraggable } },
React.createElement("div", { className: st(classes.root, { skin }, className), "data-hook": dataHook, style: { width, height, maxHeight } }, children)));
}
}
SidePanel.displayName = 'SidePanel';
SidePanel.Header = Header;
SidePanel.Content = Content;
SidePanel.Footer = Footer;
SidePanel.Divider = Divider;
SidePanel.Section = Section;
SidePanel.Field = Field;
SidePanel.propTypes = {
className: PropTypes.string,
dataHook: PropTypes.string,
onCloseButtonClick: PropTypes.func,
onHelpButtonClick: PropTypes.func,
children: PropTypes.node,
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
skin: PropTypes.oneOf(['standard', 'floating']),
draggable: PropTypes.bool,
};
SidePanel.defaultProps = {
width: '420px',
height: '100%',
};
export default SidePanel;
//# sourceMappingURL=SidePanel.js.map