{"version":3,"file":"NavigationSidebar.mjs","names":["React","useState","useCallback","makeStyles","Toolbar","lighten","MiniCollapsibleSidebar","SidebarCollapseButton","AppMenu","useShellStore","useBuildEnvironment","APP_RIBBON_SPACE","MenuLoader","useStyles","theme","root","marginTop","paper","backgroundColor","getThemeData","mode","palette","primary","main","overflowX","list","flex","paddingTop","overflowY","WebkitOverflowScrolling","spacer","minHeight","spacing","footer","toolbar","padding","appRibbonSpace","name","NavigationSidebar","props","$","_c","buildEnv","t0","t1","classes","data","navMenuHoverOn","other","t2","t3","t4","user","t5","toggleExpandClick","t6","t7","toggle","t8","useGlobalState","t9","leftMenuLoading","t10","t11","undefined","expanded","setExpanded","navigationExpanded","setNavigationExpanded","navExpanded","hoverExpand","setHoverExpand","handleHoverToggle","handleHoverLeave","_temp","handleToggleClick","Symbol","for","elevation","variant","t12","t13","t14","expanded_0"],"sources":["../../../src/shell/ui/NavigationSidebar.jsx"],"sourcesContent":["import React, { useState, useCallback } from 'react';\nimport { makeStyles, Toolbar, lighten } from '@material-ui/core';\nimport MiniCollapsibleSidebar from './MiniCollapsibleSidebar';\nimport { SidebarCollapseButton } from './SidebarCollapseButton';\nimport { AppMenu } from '../../UI/navigation/menus/AppMenu';\nimport { useShellStore } from '../../stores/shellStore';\nimport { useBuildEnvironment, APP_RIBBON_SPACE } from './useBuildEnvironment';\nimport { MenuLoader } from '../../UI/feedback/MenuLoader';\n\nconst useStyles = makeStyles(\n  (theme) => ({\n    root: {\n      marginTop: 400\n    },\n    paper: {\n      backgroundColor:\n        theme?.getThemeData()?.mode === 'dark'\n          ? ''\n          : lighten(theme?.palette?.primary?.main, 0.9),\n      overflowX: 'hidden'\n    },\n    list: {\n      flex: 1,\n      paddingTop: 0,\n      overflowY: 'auto',\n      WebkitOverflowScrolling: 'touch'\n    },\n    spacer: {\n      flex: 1,\n      minHeight: theme.spacing(2)\n    },\n    footer: {},\n    toolbar: {\n      padding: 0,\n      minHeight: ({appRibbonSpace}) => theme.spacing(6) + appRibbonSpace\n    }\n  }),\n  { name: 'NavigationSidebar' }\n);\n\nconst NavigationSidebar = (props) => {\n  const buildEnv = useBuildEnvironment()\n  const classes = useStyles({appRibbonSpace: buildEnv ? APP_RIBBON_SPACE : 0});\n  const {\n    data,\n    toggleExpandClick,\n    navMenuHoverOn,\n    user,\n    toggle = true,\n    useGlobalState = false,\n    leftMenuLoading = false,\n    ...other\n  } = props;\n  const [expanded, setExpanded] = useState(true);\n  const { navigationExpanded, setNavigationExpanded } = useShellStore();\n\n  let navExpanded = useGlobalState ? navigationExpanded : expanded;\n\n  const [hoverExpand, setHoverExpand] = useState(false);\n\n  // ** Remove for now to deal with programmatic toggle **\n  // const wide = useMediaQuery(theme.breakpoints.up('sm'))\n  // useEffect(() => {\n  //   // Set the bar to be expanded/collapsed depending on the breakpoint size\n  //   // This works on load and also when resizing crosses the breakpoint\n  //   setExpanded(wide)\n  // }, [wide])\n\n  const handleHoverToggle = () => {\n    if (!navExpanded && navMenuHoverOn) {\n      setHoverExpand(true);\n    }\n  };\n  const handleHoverLeave = () => {\n    if (!navExpanded && navMenuHoverOn) {\n      setHoverExpand(false);\n    }\n  };\n\n  const handleToggleClick = useCallback(() => {\n    if (useGlobalState) {\n      setNavigationExpanded(!navigationExpanded);\n    } else {\n      setExpanded((expanded) => !expanded);\n    }\n  }, [setNavigationExpanded, useGlobalState, navigationExpanded]);\n\n  return (\n    <MiniCollapsibleSidebar\n      classes={{ root: classes.root, paper: classes.paper }}\n      expanded={navExpanded || hoverExpand}\n      onMouseEnter={handleHoverToggle}\n      onMouseLeave={handleHoverLeave}\n      PaperProps={{ elevation: 0, variant: 'outlined' }}\n      {...other}\n    >\n      <Toolbar className={classes.toolbar} />\n\n      {toggle && (\n        <SidebarCollapseButton\n          id='udpRecord-NavigationSidebar'\n          udprecordid='udpRecord-NavigationSidebar'\n          expanded={navExpanded}\n          onClick={handleToggleClick}\n        />\n      )}\n      {leftMenuLoading || !data ?\n          <MenuLoader numOfPlaceholderNodes={6}/>\n      :\n      <AppMenu menuItems={data} sidebarExpanded={navExpanded} user={user} />\n      }\n    </MiniCollapsibleSidebar>\n  );\n};\n\nexport default NavigationSidebar;\n"],"mappings":"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"}