UNPKG

wix-style-react

Version:
48 lines (39 loc) 1.22 kB
import classNames from 'classnames'; import PropTypes from 'prop-types'; import React from 'react'; import styles from './GenericModalLayout.scss'; export default class GenericModalLayout extends React.PureComponent { render() { const { dataHook, fullscreen, header, content, footer } = this.props; const containerClassNames = classNames(styles.container, { [styles.fullscreenContainer]: fullscreen, }); return ( <div data-hook={dataHook} className={containerClassNames} data-fullscreen={Boolean(fullscreen)} > <div>{header}</div> <div className={styles.content}>{content}</div> <div>{footer}</div> </div> ); } } GenericModalLayout.propTypes = { /** Applied as data-hook HTML attribute that can be used in the tests */ dataHook: PropTypes.string, /** Any node to be rendered */ header: PropTypes.node, /** Any node to be rendered */ content: PropTypes.node, /** Any node to be rendered */ footer: PropTypes.node, /** Is modal layout in fullscreen */ fullscreen: PropTypes.bool, }; GenericModalLayout.defaultProps = { fullscreen: false, }; GenericModalLayout.displayName = 'GenericModalLayout';