{"version":3,"file":"FluentSideNav.mjs","names":["React","PropTypes","makeStyles","TreeView","TreeItem","Typography","ChevronDownIcon","ChevronRightIcon","ViewDashboardIcon","AdminALogo32Icon","MessageIcon","ContentFeedIcon","RawSourceIcon","BugIcon","OfficeFormsLogo16Icon","CloudUploadIcon","Link","useTreeItemStyles","theme","root","color","palette","text","secondary","backgroundColor","action","hover","grey","content","paddingRight","spacing","paddingLeft","fontWeight","typography","fontWeightMedium","fontWeightRegular","group","marginLeft","expanded","selected","label","labelRoot","display","alignItems","padding","labelIcon","marginRight","fontSize","main","labelText","flexGrow","StyledTreeItem","props","$","_c","classes","LabelIcon","bgColor","children","labelInfo","other","to","t0","Symbol","for","textDecoration","t1","t2","t3","t4","t5","t6","t7","t8","propTypes","string","elementType","isRequired","useStyles","height","maxWidth","FluentSideNav","data","map","_temp","renderedArray","width","nodes","icons","nodeId","nodes_0"],"sources":["../../../src/UI/navigation/FluentSideNav.jsx"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from '@material-ui/core/styles'\nimport TreeView from '@material-ui/lab/TreeView'\nimport TreeItem from '@material-ui/lab/TreeItem'\nimport Typography from '@material-ui/core/Typography'\nimport {\n  ChevronDownIcon,\n  ChevronRightIcon,\n  ViewDashboardIcon,\n  AdminALogo32Icon,\n  MessageIcon,\n  ContentFeedIcon,\n  RawSourceIcon,\n  BugIcon,\n  OfficeFormsLogo16Icon,\n  CloudUploadIcon\n} from '@fluentui/react-icons'\nimport { Link } from 'react-router-dom'\n\nconst useTreeItemStyles = makeStyles((theme) => ({\n  root: {\n    color: theme.palette.text.secondary,\n    '&:hover > $content': {\n      backgroundColor: theme.palette.action.hover\n    },\n    '&:focus > $content, &$selected > $content': {\n      backgroundColor: `var(--tree-view-bg-color, ${theme.palette.grey[300]})`,\n      color: 'var(--tree-view-color)'\n    },\n    '&:focus > $marker, &$selected > $marker': {\n      backgroundColor: `var(--tree-view-bg-color, ${theme.palette.grey[300]})`,\n      color: 'var(--tree-view-color)'\n    },\n    '&:focus > $content $label, &:hover > $content $label, &$selected > $content $label': {\n      backgroundColor: 'transparent'\n    }\n  },\n  content: {\n    color: theme.palette.text.secondary,\n    paddingRight: theme.spacing(1),\n    paddingLeft: theme.spacing(1),\n    fontWeight: theme.typography.fontWeightMedium,\n    '$expanded > &': {\n      fontWeight: theme.typography.fontWeightRegular\n    }\n  },\n  group: {\n    marginLeft: 0,\n    '& $content': {\n      paddingLeft: theme.spacing(2)\n    }\n  },\n  expanded: {},\n  selected: {},\n  label: {\n    fontWeight: 'inherit',\n    color: 'inherit'\n  },\n  labelRoot: {\n    display: 'flex',\n    alignItems: 'center',\n    padding: theme.spacing(1.5, 0)\n  },\n  labelIcon: {\n    marginRight: theme.spacing(2.5),\n    fontSize: 16,\n    color: theme.palette.secondary.main\n  },\n  labelText: {\n    fontWeight: 'inherit',\n    fontSize: 14,\n    flexGrow: 1\n  }\n}))\n\nconst StyledTreeItem = (props) => {\n  const classes = useTreeItemStyles()\n  const {\n    labelText,\n    labelIcon: LabelIcon,\n    labelInfo,\n    color,\n    bgColor,\n    to,\n    children,\n    ...other\n  } = props\n\n  return (\n    <Link to={to} style={{ textDecoration: 'none' }}>\n      <TreeItem\n        label={\n          <div className={classes.labelRoot}>\n            {LabelIcon && (\n              <LabelIcon color='inherit' className={classes.labelIcon} />\n            )}\n            <Typography variant='body2' className={classes.labelText}>\n              {labelText}\n            </Typography>\n            <Typography variant='caption' color='inherit'>\n              {labelInfo}\n            </Typography>\n          </div>\n        }\n        style={{\n          '--tree-view-color': color,\n          '--tree-view-bg-color': bgColor\n        }}\n        classes={{\n          root: classes.root,\n          content: classes.content,\n          expanded: classes.expanded,\n          selected: classes.selected,\n          group: classes.group,\n          label: classes.label\n        }}\n        {...other}\n        children={children}\n      />\n    </Link>\n  )\n}\n\nStyledTreeItem.propTypes = {\n  bgColor: PropTypes.string,\n  color: PropTypes.string,\n  labelIcon: PropTypes.elementType,\n  labelInfo: PropTypes.string,\n  labelText: PropTypes.string.isRequired\n}\n\nconst useStyles = makeStyles({\n  root: {\n    height: 264,\n    flexGrow: 1,\n    maxWidth: 280\n  }\n})\n\nexport const FluentSideNav = (props) => {\n  const classes = useStyles()\n  const { data } = props\n\n  const renderedArray = data.map((nodes) => {\n    const icons = {\n      ViewDashboardIcon,\n      AdminALogo32Icon,\n      MessageIcon,\n      ContentFeedIcon,\n      RawSourceIcon,\n      BugIcon,\n      OfficeFormsLogo16Icon,\n      CloudUploadIcon\n    }\n    return (\n      <StyledTreeItem\n        key={nodes.nodeId}\n        nodeId={nodes.nodeId}\n        labelText={nodes.labelText}\n        labelIcon={\n          typeof nodes.labelIcon === 'string'\n            ? icons[nodes.labelIcon]\n            : nodes.labelIcon\n        }\n        to={nodes.to !== '' && nodes.to}\n        children={\n          nodes.children &&\n          nodes.children.map((nodes) => {\n            return (\n              <StyledTreeItem\n                key={nodes.nodeId}\n                nodeId={nodes.nodeId}\n                labelText={nodes.labelText}\n                labelIcon={\n                  typeof nodes.labelIcon === 'string'\n                    ? icons[nodes.labelIcon]\n                    : nodes.labelIcon\n                }\n                to={nodes.to !== '' && nodes.to}\n              />\n            )\n          })\n        }\n      />\n    )\n  })\n\n  return (\n    <TreeView\n      className={classes.root}\n      defaultCollapseIcon={<ChevronDownIcon />}\n      defaultExpandIcon={<ChevronRightIcon />}\n      defaultEndIcon={<div style={{ width: 24 }} />}\n      // defaultExpanded={[{ expanded }]}\n    >\n      {renderedArray}\n    </TreeView>\n  )\n}\n"],"mappings":"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"}