Advertisement
Guest User

FiltersExpander.js

a guest
Jul 24th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import classNames from "classnames";
  2. import React from "react";
  3. import PropTypes from "prop-types";
  4. import Grid from "@material-ui/core/Grid";
  5. import Collapse from "@material-ui/core/Collapse";
  6.  
  7. const styles = (theme) => ({
  8.   filterContainer: {
  9.     width: "calc(100% + 30px)",
  10.     marginLeft: "-15px",
  11.     marginRight: "-15px"
  12.   },
  13.   filterParametersContainer: {
  14.     width: "calc(100% + 30px)",
  15.     background: theme.hv.palette.atmosphere.atmo1
  16.   },
  17.   filterParametersContainerOpen: {
  18.     borderTop: `solid 1px ${theme.hv.palette.atmosphere.atmo6}`,
  19.     borderBottom: `solid 1px ${theme.hv.palette.atmosphere.atmo6}`
  20.   }
  21. });
  22.  
  23. const FiltersExpander = ({ classes, children, open }) => (
  24.   <Grid
  25.     id="filtersExpander"
  26.     container
  27.     className={classNames(classes.filterContainer)}
  28.   >
  29.     <Collapse
  30.       in={open}
  31.       classes={{
  32.         wrapperInner: classes.filterParametersContainerOpen
  33.       }}
  34.       className={classNames(classes.filterParametersContainer)}
  35.     >
  36.       <Grid item xs={12}>
  37.         {children}
  38.       </Grid>
  39.     </Collapse>
  40.   </Grid>
  41. );
  42.  
  43. FiltersExpander.propTypes = {
  44.   children: PropTypes.node.isRequired,
  45.   classes: PropTypes.instanceOf(Object).isRequired,
  46.   open: PropTypes.bool
  47. };
  48.  
  49. FiltersExpander.defaultProps = {
  50.   open: false
  51. };
  52.  
  53. export default withStyles(styles, { withTheme: true, index: Infinity })(FiltersExpander);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement