Lidarr/frontend/src/Components/Modal/ModalBody.js

60 lines
1.3 KiB
JavaScript

import PropTypes from 'prop-types';
import React, { Component } from 'react';
import Scroller from 'Components/Scroller/Scroller';
import { scrollDirections } from 'Helpers/Props';
import styles from './ModalBody.css';
class ModalBody extends Component {
//
// Render
render() {
const {
innerClassName,
scrollDirection,
children,
...otherProps
} = this.props;
let className = this.props.className;
const hasScroller = scrollDirection !== scrollDirections.NONE;
if (!className) {
className = hasScroller ? styles.modalScroller : styles.modalBody;
}
return (
<Scroller
className={className}
scrollDirection={scrollDirection}
scrollTop={0}
{...otherProps}
>
{
hasScroller ?
<div className={innerClassName}>
{children}
</div> :
children
}
</Scroller>
);
}
}
ModalBody.propTypes = {
className: PropTypes.string,
innerClassName: PropTypes.string,
children: PropTypes.node,
scrollDirection: PropTypes.oneOf(scrollDirections.all)
};
ModalBody.defaultProps = {
innerClassName: styles.innerModalBody,
scrollDirection: scrollDirections.VERTICAL
};
export default ModalBody;