{"version":3,"file":"UtilitySideBar.mjs","names":["React","useState","useEffect","useCallback","makeStyles","Typography","AmbientCard","SidebarCollapseButton","UtilityBarInportTarget","ResizableBox","APP_RIBBON_SPACE","useBuildEnvironment","EXPANDED_WIDTH","COLLAPSED_WIDTH","MAX_WIDTH","useStyles","theme","resizableBox","position","height","appRibbonSpace","display","flexDirection","minHeight","root","paddingTop","props","removePadding","sidebarHidden","overflow","cardWrapper","flex","headerToggle","header","alignItems","justifyContent","width","headerContent","hideTitleBar","paddingLeft","title","expandedWidth","handle","top","right","spacing","zIndex","cursor","contentWrapper","utilityContent","UtilitySideBar","$","_c","onUtilitySidebarToggleExpandClick","resizable","utilitySidebarToggleOverride","isUsingChildren","t0","removeTopLayoutUnit","t1","collapsedWidth","children","handleResize","t2","undefined","buildEnv","t3","t4","classes","expanded","setExpanded","setWidth","_collapsedWidth","t5","event","t6","size","onResize","_temp","handleToggleClick","t7","t8","t9","t10","t11","t12","Symbol","for","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","expanded_0"],"sources":["../../../src/UI/utilityDisplay/UtilitySideBar.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { AmbientCard } from '../surfaces/cards/AmbientCard';\nimport { SidebarCollapseButton } from '../../shell/ui/SidebarCollapseButton';\nimport { UtilityBarInportTarget } from '../../utilities/utilityBar/UtilityBarInport';\nimport { ResizableBox } from 'react-resizable';\nimport {\n  APP_RIBBON_SPACE,\n  useBuildEnvironment\n} from '../../shell/ui/useBuildEnvironment';\n\nconst EXPANDED_WIDTH = 288;\nconst COLLAPSED_WIDTH = 78;\nconst MAX_WIDTH = 700;\n\nconst useStyles = makeStyles((theme) => ({\n  resizableBox: {\n    position: 'relative',\n    height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n    display: 'flex',\n    flexDirection: 'column',\n    minHeight: 0\n  },\n  root: {\n    paddingTop: (props) =>\n      props.removePadding || props.sidebarHidden ? 0 : 40,\n    overflow: 'hidden',\n    height: '100%',\n    display: 'flex',\n    flexDirection: 'column',\n    minHeight: 0\n  },\n  cardWrapper: {\n    flex: 1,\n    minHeight: 0,\n    display: 'flex',\n    flexDirection: 'column',\n    height: '100%'\n  },\n  headerToggle: {\n    // marginTop: 200\n  },\n  header: {\n    display: 'flex',\n    alignItems: 'center',\n    justifyContent: 'space-between',\n    width: '100%'\n  },\n  headerContent: {\n    display: (props) => (props.hideTitleBar ? 'none' : 'flex'),\n    width: '100%',\n    paddingLeft: 12\n  },\n  title: {\n    flex: 1,\n    width: '100%',\n    paddingTop: 7\n  },\n  expandedWidth: {\n    width: 288\n  },\n  handle: {\n    top: 0,\n    right: theme.spacing(-0.75),\n    width: theme.spacing(0.75),\n    zIndex: 10000,\n    height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n    display: 'inline-block',\n    position: 'absolute',\n    '&:hover': {\n      cursor: 'col-resize'\n    }\n  },\n  contentWrapper: {\n    display: 'flex',\n    flexDirection: 'column',\n    height: '100%',\n    minHeight: 0\n  },\n  utilityContent: {\n    flex: 1,\n    minHeight: 0,\n    display: 'flex',\n    flexDirection: 'column',\n    height: '100%'\n  }\n}));\n\nexport const UtilitySideBar = (props) => {\n  const {\n    onUtilitySidebarToggleExpandClick,\n    resizable,\n    title,\n    utilitySidebarToggleOverride,\n    isUsingChildren = false,\n    removeTopLayoutUnit = false,\n    collapsedWidth,\n    children,\n    sidebarHidden,\n    handleResize = null\n  } = props;\n  const buildEnv = useBuildEnvironment();\n  const classes = useStyles({\n    ...props,\n    appRibbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n  });\n  const [expanded, setExpanded] = useState(true);\n  const [width, setWidth] = useState(EXPANDED_WIDTH);\n  const _collapsedWidth = collapsedWidth ?? COLLAPSED_WIDTH;\n\n  const onResize = (event, { element, size, handle }) => {\n    setWidth(size.width);\n    if (handleResize) {\n      handleResize(size.width);\n    }\n  };\n\n  const handleToggleClick = useCallback(() => {\n    if (onUtilitySidebarToggleExpandClick) {\n      onUtilitySidebarToggleExpandClick();\n    }\n    setExpanded((expanded) => !expanded);\n  }, [onUtilitySidebarToggleExpandClick]);\n\n  useEffect(() => {\n    if (typeof utilitySidebarToggleOverride === 'boolean') {\n      setExpanded(utilitySidebarToggleOverride);\n    }\n  }, [utilitySidebarToggleOverride]);\n\n  return (\n    <ResizableBox\n      className={classes.resizableBox}\n      width={expanded ? width : _collapsedWidth}\n      resizeHandles={resizable && expanded ? ['e'] : []}\n      axis='x'\n      minConstraints={expanded ? [EXPANDED_WIDTH] : [_collapsedWidth]}\n      maxConstraints={[MAX_WIDTH]}\n      onResize={onResize}\n      handle={expanded && <div className={classes.handle} />}\n    >\n      <div\n        className={classes.root}\n        style={{ width: expanded ? width : _collapsedWidth, height: '100%' }}\n      >\n        <div className={classes.cardWrapper}>\n          <AmbientCard\n            fullWidth\n            cardHeight='100%'\n            cardContentHeight='100%'\n            removePadding\n            lastChildBottomPadding={12}\n            removeTopLayoutUnit={removeTopLayoutUnit || sidebarHidden}\n          >\n            <div className={classes.contentWrapper}>\n              <div className={classes.header}>\n                {expanded && (\n                  <div className={classes.headerContent}>\n                    <div className={classes.title}>\n                      <Typography variant='h6'> {title} </Typography>\n                    </div>\n                    {/* space for subheader */}\n                  </div>\n                )}\n\n                <div className={classes.headerToggle}>\n                  <SidebarCollapseButton\n                    id={'udpRecord-UtilitySideBar'}\n                    udprecordid={'udpRecord-UtilitySideBar'}\n                    expanded={expanded}\n                    onClick={handleToggleClick}\n                  />\n                </div>\n              </div>\n              {!isUsingChildren && <UtilityBarInportTarget />}\n              {isUsingChildren && (\n                <div className={classes.utilityContent}>{children}</div>\n              )}\n            </div>\n          </AmbientCard>\n        </div>\n      </div>\n    </ResizableBox>\n  );\n};\n"],"mappings":"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"}