UNPKG

wix-style-react

Version:
43 lines 1.79 kB
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