{"version":3,"file":"HeaderExpander.mjs","names":["React","useState","makeStyles","Collapse","useTheme","ExtenderToggle","PropTypes","useStyles","theme","root","width","container","padding","props","open","spacing","parddingRight","parddingleft","background","color","palette","secondary","main","compactContainer","lowerShelf","display","borderTop","lowerShelfCompact","shelfOptions","flex","HeaderExpander","$","_c","classes","children","options","toggleLabel","compact","extendedHeader","setExtendedHeader","t0","toggleExpandedHeader","t1","t2","t3","t4","t5","t6","t7","t8","t9","propTypes","node","onClick","func","sectionOpen","bool","string"],"sources":["../../../src/UI/dataDisplay/HeaderExpander.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { makeStyles, Collapse, useTheme } from '@material-ui/core';\nimport { ExtenderToggle } from '../templates/ui/ExtenderToggle';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    width: '100%'\n  },\n  container: {\n    padding: (props) => (props.open ? theme.spacing(1) : theme.spacing(0.25)),\n    parddingRight: theme.spacing(1),\n    parddingleft: theme.spacing(1),\n    background: (props) =>\n      props.color ? props.color : theme.palette.secondary.main\n  },\n  compactContainer: {\n    padding: 1\n  },\n  lowerShelf: {\n    display: 'flex',\n    borderTop: (props) =>\n      `1px solid ${props.color ? props.color : theme.palette.secondary.main}`\n  },\n  lowerShelfCompact: {\n    display: 'flex'\n  },\n  shelfOptions: {\n    flex: 1,\n    width: '100%'\n  }\n}));\n\nexport const HeaderExpander = (props) => {\n  const classes = useStyles(props);\n  const { children, options, toggleLabel, color, compact } = props;\n\n  const [extendedHeader, setExtendedHeader] = useState(true);\n\n  const toggleExpandedHeader = () => {\n    setExtendedHeader(!extendedHeader);\n  };\n\n  const theme = useTheme();\n\n  return (\n    <div className={classes.root}>\n      <Collapse in={extendedHeader}>\n        <div className={compact ? classes.compactContainer : classes.container}>\n          {' '}\n          {children}{' '}\n        </div>\n      </Collapse>\n      <div className={compact ? classes.lowerShelfCompact : classes.lowerShelf}>\n        <div className={classes.shelfOptions}>{options}</div>\n        <div>\n          <ExtenderToggle\n            onClick={toggleExpandedHeader}\n            open={extendedHeader}\n            toggleLabel={toggleLabel}\n            color={color ? color : theme.palette.secondary.main}\n            compact={compact}\n          />\n        </div>\n      </div>\n    </div>\n  );\n};\nHeaderExpander.propTypes = {\n  /**\n   * Contents of container\n   */\n  children: PropTypes.node,\n  /**\n   * Function to trigger panel to open and close\n   */\n  onClick: PropTypes.func,\n  /**\n   * State, if true, will cause panel to open. If false, the panel is closed.\n   */\n  sectionOpen: PropTypes.bool,\n  /**\n   * Shelf below drawer that fills the space left by the toggle button.\n   * Can be used to add things like additional toggles, other buttons,\n   * stats, etc.\n   */\n  options: PropTypes.node,\n  /**\n   * The label that appears on the toggle tab.\n   */\n  toggleLabel: PropTypes.node,\n  /**\n   * The color of the background section and toggle.\n   */\n  color: PropTypes.string\n};\n"],"mappings":"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"}