{"version":3,"file":"AmbientProjectSwitcher.mjs","names":["React","useState","makeStyles","Popover","Typography","useTheme","ChevronDownIcon","FluentIconButton","AmbientPopoverMenuItem","PropTypes","useStyles","theme","root","display","background","props","backgroundColor","palette","secondary","main","borderRadius","padding","paddingLeft","popoverRoot","icon","color","primary","label","width","overflow","whiteSpace","textOverflow","listWrapper","marginRight","spacing","AmbientProjectSwitcher","$","_c","classes","data","selectedItem","anchorEl","setAnchorEl","t0","Symbol","for","event","currentTarget","handleClick","t1","handleClose","open","Boolean","id","undefined","t2","t3","t4","common","white","t5","t6","t7","t8","vertical","horizontal","t9","map","_temp","t10","t11","t12","propTypes","array","string","item","click"],"sources":["../../../src/shell/ui/AmbientProjectSwitcher.jsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { makeStyles, Popover, Typography, useTheme } from '@material-ui/core'\nimport { ChevronDownIcon } from '@fluentui/react-icons'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport {AmbientPopoverMenuItem} from '../../UI/inputs/buttons/AmbientPopoverMenuItem'\nimport PropTypes from 'prop-types'\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    display: 'flex',\n    // border: '1px solid white',\n    background: props => props.backgroundColor ? props.backgroundColor : theme.palette.secondary.main,\n    borderRadius: 50,\n    padding: 6,\n    paddingLeft:16\n  },\n  popoverRoot: {},\n  icon: {\n    color: theme.palette.primary.main,\n    borderRadius: 50\n  }, \n  label: {\n    display: 'block',\n    width: props => props.width ? props.width : 100,\n    overflow: 'hidden',\n    whiteSpace: 'nowrap',\n    textOverflow: 'ellipsis'\n  }, \n  listWrapper: {\n    marginRight: theme.spacing(2)\n  }\n}))\n\nexport const AmbientProjectSwitcher = (props) => {\n  \n  const classes = useStyles(props)\n\n  const theme = useTheme()\n\n  const { data, selectedItem } = props\n\n  const [anchorEl, setAnchorEl] = useState(null)\n\n  const handleClick = (event) => {\n    setAnchorEl(event.currentTarget)\n  }\n\n  const handleClose = () => {\n    setAnchorEl(null)\n  }\n\n  const open = Boolean(anchorEl)\n  const id = open ? 'open' : undefined\n\n  return (\n    <div className={classes.root}>\n      <div className={classes.listWrapper}>\n        <Typography className={classes.label}  > \n          {selectedItem} \n        </Typography>\n      </div>\n      \n      <FluentIconButton\n        className={classes.icon}\n        icon={ChevronDownIcon}\n        onClick={handleClick}\n        style={{background: theme.palette.common.white}}\n      />\n\n      <Popover\n        classes={{ root: classes.popoverRoot }}\n        square\n        elevation={6}\n        id={id}\n        open={open}\n        anchorEl={anchorEl}\n        onClose={handleClose}\n        anchorOrigin={{\n          vertical: 'bottom',\n          horizontal: 'right'\n        }}\n        transformOrigin={{\n          vertical: 'top',\n          horizontal: 'right'\n        }}\n      >\n        <div >\n          <div>\n            {data && data.map((item) => {\n              return (\n                <AmbientPopoverMenuItem\n                  label={item.label}\n                  component={ChevronDownIcon}\n                  click={()=>item.click(item.label)}\n                />\n              )\n            })}\n          </div>\n        </div>\n      </Popover>\n    </div>\n  )\n}\n\nAmbientProjectSwitcher.propTypes = {\n  /**\n   * The array used to map for label and functions to list items. (array).\n   */\n  data: PropTypes.array,\n  /**\n   * The active label displayed.\n   */\n  selectedItem: PropTypes.string,\n  /**\n   * Change the background color on the project switcher (default: theme secondary)\n   */\n  backgroundColor: PropTypes.string\n}"],"mappings":"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"}