Modal.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import React from 'react'
  2. import classNames from 'classnames'
  3. import PropTypes from 'prop-types'
  4. import Styles from './modal.css'
  5. import delayUnmounting from '../delayUnmounting'
  6. import Input from '../input/Input'
  7. import Header from '../calendar/Header'
  8. import Body from '../calendar/Index'
  9. import Footer from '../footer/Footer'
  10. const Modal = ({
  11. isMounted,
  12. value,
  13. onInputChange,
  14. }) => (
  15. <React.Fragment>
  16. <div className={classNames(Styles.container, {
  17. [Styles.in]: isMounted,
  18. [Styles.out]: !isMounted,
  19. })}
  20. >
  21. <Input
  22. value={value}
  23. onInputChange={onInputChange}
  24. />
  25. <div className={Styles.panel}>
  26. <div className={Styles.header}>
  27. <Header />
  28. </div>
  29. <Body />
  30. <Footer />
  31. </div>
  32. </div>
  33. </React.Fragment>
  34. )
  35. Modal.defaultProps = {
  36. isMounted: false,
  37. }
  38. Modal.propTypes = {
  39. isMounted: PropTypes.bool,
  40. value: PropTypes.string.isRequired,
  41. onInputChange: PropTypes.func.isRequired,
  42. }
  43. export default delayUnmounting(Modal)