{"version":3,"sources":["../../src/AppBarEx.tsx","../../src/Toolbar/Context/ContextToolbar.tsx","../../src/Toolbar/Context/LogoLinkEx.tsx","../../src/Toolbar/Context/Logo.tsx","../../src/Toolbar/System/SystemToolbar.tsx","../../src/SiteMenu/hooks/useMenuItemsShared.tsx","../../src/SiteMenu/Menu.tsx","../../src/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../src/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../src/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../src/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../src/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../src/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx","../../src/SiteMenu/MenuSection.tsx","../../src/AppBar/Application.tsx"],"sourcesContent":["import {\n  AppBar, Container, Toolbar, useMediaQuery, useTheme,\n} from '@mui/material'\nimport { FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { isDefinedNotNull, isString } from '@xylabs/sdk-js'\nimport React from 'react'\n\nimport type { AppBarExProps } from './AppBarExProps.tsx'\n\nconst AppBarExInner: React.FC<AppBarExProps> = ({\n  children, menu, contextToolbar, systemToolbar, responsive, ...props\n}) => {\n  const { breakpoints } = useTheme()\n  const belowSm = useMediaQuery(breakpoints.down('sm'))\n  return (\n    <>\n      <FlexRow flexWrap=\"nowrap\" justifyContent=\"flex-start\" {...props}>\n        {contextToolbar ?? <Toolbar />}\n        <FlexGrowRow>{belowSm && responsive ? null : children}</FlexGrowRow>\n        {systemToolbar ?? <Toolbar />}\n        {menu}\n      </FlexRow>\n      {belowSm && isDefinedNotNull(children) && responsive\n        ? <Toolbar>{children}</Toolbar>\n        : null}\n    </>\n  )\n}\n\nexport const AppBarEx: React.FC<AppBarExProps> = ({\n  container, children, menu, contextToolbar, systemToolbar, responsive, ...props\n}) => {\n  return (\n    <AppBar position=\"static\" {...props}>\n      {isString(container)\n        ? (\n            <Container maxWidth={container}>\n              <AppBarExInner {...{\n                contextToolbar, menu, responsive, systemToolbar,\n              }}\n              >\n                {children}\n              </AppBarExInner>\n            </Container>\n          )\n        : (\n            <AppBarExInner {...{\n              contextToolbar, menu, responsive, systemToolbar,\n            }}\n            >\n              {children}\n            </AppBarExInner>\n          )}\n    </AppBar>\n  )\n}\n","import type { ToolbarProps } from '@mui/material'\nimport { Toolbar } from '@mui/material'\nimport React from 'react'\nimport type { To } from 'react-router-dom'\n\nimport { LogoLinkEx } from './LogoLinkEx.tsx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n  logo?: React.ReactNode\n  logoTo?: To\n  version?: boolean | string\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({\n  children, logo, logoTo = '/', version = false, ...props\n}) => {\n  return (\n    <Toolbar {...props}>\n      <LogoLinkEx logo={logo} version={version} to={logoTo} />\n      {children}\n    </Toolbar>\n  )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { LinkExProps } from '@xylabs/react-link'\nimport { LinkEx } from '@xylabs/react-link'\nimport { assertEx, isString } from '@xylabs/sdk-js'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport { Logo } from './Logo.tsx'\n\nexport type LogoLinkExProps = LinkExProps & {\n  logo?: ReactNode\n  version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({\n  logo, to = '/', href, version = false, ...props\n}) => {\n  const theme = useTheme()\n  assertEx(href === undefined, () => 'href is not supported')\n  return (\n    <LinkEx to={to} {...props}>\n      <FlexRow paddingX=\"4px\">\n        {logo ?? (\n          <Logo sx={{\n            color: theme.vars.palette.primary.contrastText, height: '40px', width: '40px',\n          }}\n          />\n        )}\n        {(isString(version) || (version === true))\n          ? (\n              <Typography\n                position=\"absolute\"\n                borderRadius={1}\n                right={6}\n                color={theme.vars.palette.primary.contrastText}\n                bottom={0}\n                bgcolor={theme.vars.palette.text.primary}\n                paddingX=\"2px\"\n                lineHeight={1}\n                variant=\"caption\"\n                border={`1px ${theme.vars.palette.primary.contrastText} solid`}\n              >\n                {typeof version === 'string' ? version : '1.0'}\n              </Typography>\n            )\n          : null}\n      </FlexRow>\n    </LinkEx>\n  )\n}\n","import { LogoDevOutlined, LogoDevRounded } from '@mui/icons-material'\nimport type { SvgIconProps } from '@mui/material'\nimport { useIsDark } from '@xylabs/react-theme'\nimport React from 'react'\n\nexport const Logo: React.FC<SvgIconProps> = (props) => {\n  const dark = useIsDark()\n  return dark\n    ? <LogoDevRounded {...props} />\n    : <LogoDevOutlined {...props} />\n}\n","import type { ToolbarProps } from '@mui/material'\nimport { Toolbar } from '@mui/material'\nimport { ColorSchemeButton } from '@xylabs/react-theme'\nimport { isDefinedNotNull } from '@xylabs/sdk-js'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport type { SiteMenuProps } from '../../SiteMenu/index.ts'\nimport { SiteMenu } from '../../SiteMenu/index.ts'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n  darkModeButton?: boolean\n  developerMode?: boolean\n  menuItems?: ReactNode\n  onMenuToggle?: SiteMenuProps['onMenuToggle']\n  precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n  children,\n  darkModeButton = false,\n  menuItems,\n  onMenuToggle,\n  precedingChildren,\n  ...props\n}) => {\n  return (\n    <Toolbar {...props}>\n      {precedingChildren}\n      {children}\n      {darkModeButton\n        ? <ColorSchemeButton />\n        : null}\n      {isDefinedNotNull(menuItems)\n        ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu>\n        : null}\n    </Toolbar>\n  )\n}\n","import { useCollapsible } from '@xylabs/react-shared'\nimport { useMemo } from 'react'\n\nimport type { MenuListItemProps } from '../MenuListItem/index.ts'\n\nexport type DefaultSiteMenuListItemProps = Pick<MenuListItemProps, 'collapseEnd' | 'dense' | 'iconOnly' | 'sx'>\n\nexport const useMenuItemsShared = () => {\n  const {\n    collapse, collapseEnd, setCollapse, setCollapseEnd,\n  } = useCollapsible()\n\n  const onMenuItemToggle = (open?: boolean) => {\n    setCollapse?.(previous => (open ? false : previous))\n    setCollapseEnd?.(previous => (open ? false : previous))\n  }\n\n  const defaultSiteMenuListItemProps: DefaultSiteMenuListItemProps = useMemo(\n    () => ({\n      collapseEnd,\n      dense: true,\n      iconOnly: collapse,\n      sx: { px: '8px' },\n    }),\n    [collapse, collapseEnd],\n  )\n\n  return { defaultSiteMenuListItemProps, onMenuItemToggle }\n}\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport {\n  IconButton, List, SwipeableDrawer,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React, { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem/index.ts'\n\nexport interface SiteMenuProps extends FlexBoxProps {\n  hideSettingsMenuItem?: boolean\n  onMenuToggle?: (state?: boolean) => void\n  side?: 'left' | 'right' | 'top' | 'bottom'\n}\n\nexport const SiteMenu: React.FC<SiteMenuProps> = ({\n  children, onMenuToggle, side = 'right', ...props\n}) => {\n  const [open, setOpen] = useState(false)\n\n  useEffect(() => {\n    onMenuToggle?.(open)\n  }, [onMenuToggle, open])\n\n  return (\n    <FlexRow alignItems=\"stretch\" {...props}>\n      <IconButton\n        size=\"small\"\n        color=\"inherit\"\n        onClick={() => {\n          setOpen(!open)\n        }}\n      >\n        <MenuIcon fontSize=\"large\" />\n      </IconButton>\n      <SwipeableDrawer\n        anchor={side}\n        open={open}\n        onClick={() => setOpen(false)}\n        onKeyDown={() => setOpen(false)}\n        onClose={() => setOpen(false)}\n        onOpen={() => setOpen(true)}\n      >\n        {children ?? (\n          <List>\n            <MenuListItemContainer primary=\"Settings\" icon={<SettingsIcon />} to=\"/settings\" />\n          </List>\n        )}\n      </SwipeableDrawer>\n    </FlexRow>\n  )\n}\n","import type { ListItemProps } from '@mui/material'\nimport { ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { useCollapsible } from '@xylabs/react-shared'\nimport { isString } from '@xylabs/sdk-js'\nimport React, { useState } from 'react'\nimport { NavLink } from 'react-router-dom'\n\nimport type { MenuListItemBase, NavListItemProps } from '../lib/index.ts'\nimport {\n  ListItemTooltip, MenuIcon, MenuListItem,\n} from './list-item-components/index.ts'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav/index.ts'\n\nexport interface MenuListItemProps extends NavListItemProps, MenuListItemBase, ListItemProps {\n  iconMenuTextSpacing?: string\n  iconOnly?: boolean\n  subNavListItems?: NavListItemProps[]\n  subNavOpen?: boolean\n}\n\nexport const MenuListItemContainer: React.FC<MenuListItemProps> = ({\n  style,\n  icon,\n  iconMenuTextSpacing,\n  iconOnly,\n  onButtonClick,\n  primary,\n  subNavListItems,\n  sx,\n  tooltip,\n  to,\n  ...props\n}) => {\n  const { dense } = props\n  const theme = useTheme()\n  const { collapse } = useCollapsible()\n  const [openSubNav, setOpenSubNav] = useState(false)\n  const [hovered, setHovered] = useState(false)\n  const resolvedIconMenuTextSpacing = iconMenuTextSpacing ?? theme.spacing(1)\n\n  return (\n    <>\n      <MenuListItem\n        disableGutters\n        iconOnly={iconOnly}\n        onClick={onButtonClick}\n        dense={dense}\n        sx={{ justifyContent: 'space-between', ...sx }}\n        style={{ whiteSpace: 'nowrap', ...style }}\n        {...props}\n      >\n\n        <NavLink\n          className=\"site-menu-nav-link\"\n          onMouseEnter={(e) => {\n            const el = e.currentTarget\n            el.style.cursor = 'pointer'\n            el.style.textDecoration = 'underline'\n            el.style.filter = 'brightness(75%)'\n            setHovered(true)\n          }}\n          onMouseLeave={(e) => {\n            const el = e.currentTarget\n            el.style.cursor = 'default'\n            el.style.textDecoration = 'none'\n            el.style.filter = ''\n            setHovered(false)\n          }}\n          color=\"inherit\"\n          to={to ?? ''}\n          viewTransition\n          style={{\n            color: 'inherit', textDecoration: 'none', display: 'flex', alignItems: 'center',\n          }}\n        >\n          <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n          <ListItemText primary={primary} />\n        </NavLink>\n        <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n          {subNavListItems\n            ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} />\n            : null}\n          {isString(tooltip)\n            ? <ListItemTooltip title={tooltip} />\n            : null}\n        </FlexRow>\n      </MenuListItem>\n      {subNavListItems\n        ? (\n            <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n              {subNavListItems?.map(item =>\n                <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={item.href ?? item.to?.toString()} {...item} />)}\n            </SubNavListItemsCollapse>\n          )\n        : null}\n    </>\n  )\n}\n","import { InfoOutlined } from '@mui/icons-material'\nimport type { TooltipProps } from '@mui/material'\nimport { Tooltip } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport interface ListItemTooltipProps extends Omit<TooltipProps, 'children'> {\n  title: string\n}\n\nexport const ListItemTooltip: React.FC<ListItemTooltipProps> = ({ title, ...props }) => {\n  return (\n    <Tooltip title={title} placement=\"right\" {...props}>\n      {/* Needs div so it can work, the hovering doesn't work with a FlexCol */}\n      <div>\n        <FlexCol justifyContent=\"center\">\n          <InfoOutlined sx={{ color: 'grey' }} />\n        </FlexCol>\n      </div>\n    </Tooltip>\n  )\n}\n","import type { TypographyProps } from '@mui/material'\nimport { Typography } from '@mui/material'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nexport interface MenuIconProps extends TypographyProps {\n  icon?: ReactNode\n}\n\nexport const MenuIcon: React.FC<MenuIconProps> = ({ icon, ...props }) => {\n  return (\n    <Typography display=\"flex\" {...props}>\n      {icon}\n    </Typography>\n  )\n}\n","import type { ListItemProps } from '@mui/material'\nimport { ListItem } from '@mui/material'\nimport React from 'react'\n\nimport type { MenuListItemBase } from '../../lib/index.ts'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({\n  iconOnly, collapseEnd, sx, children, dense, ...props\n}) => {\n  const listItemSx = iconOnly\n    ? {\n        borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto',\n      }\n    : { width: '100%' }\n  // wait till collapseEnds to remove the spacing between items\n  const spacingSx = collapseEnd ? { columnGap: 0 } : { columnGap: 1.5 }\n  // adjusts to the paddingY value which does NOT scale along the theme.spacing\n  const paddingSx = dense ? { px: '8px' } : { px: '12px' }\n  return (\n    <ListItem\n      sx={{\n        ...listItemSx, ...spacingSx, ...paddingSx, ...sx,\n      }}\n      {...props}\n    >\n      {children}\n    </ListItem>\n  )\n}\n","import type { CollapseProps } from '@mui/material'\nimport { Collapse, List } from '@mui/material'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport type { NavListItemProps } from '../../lib/index.ts'\n\nexport interface SubNavListItemsCollapseProps extends PropsWithChildren, CollapseProps {\n  collapse?: boolean\n  openSubNav?: boolean\n  subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({\n  collapse, openSubNav, children, ...props\n}) => {\n  return (\n    <Collapse in={collapse == true ? false : openSubNav} {...props}>\n      <List>{children}</List>\n    </Collapse>\n  )\n}\n","import { ExpandMore } from '@mui/icons-material'\nimport type { IconButtonProps } from '@mui/material'\nimport { IconButton, useTheme } from '@mui/material'\nimport type {\n  Dispatch, SetStateAction, SyntheticEvent,\n} from 'react'\nimport React from 'react'\n\nexport interface SubNavToggleIconButtonProps extends IconButtonProps {\n  openSubNav?: boolean\n  setOpenSubNav?: Dispatch<SetStateAction<boolean>>\n}\n\nexport const SubNavToggleIconButton: React.FC<SubNavToggleIconButtonProps> = ({ setOpenSubNav, openSubNav }) => {\n  const theme = useTheme()\n  return (\n    <IconButton\n      onClick={(event: SyntheticEvent) => {\n        event.stopPropagation()\n        setOpenSubNav?.(!openSubNav)\n      }}\n      sx={{ marginRight: theme.spacing(0.5) }}\n    >\n      <ExpandMore />\n    </IconButton>\n  )\n}\n","import { Collapse, ListSubheader } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport type { MenuListItemProps } from './MenuListItem/index.ts'\nimport { MenuListItemContainer } from './MenuListItem/index.ts'\n\nexport interface MenuSectionProps extends FlexBoxProps {\n  iconMenuTextSpacing?: string\n  listItems: MenuListItemProps[]\n  showTitle?: boolean\n  title: string\n}\n\nexport const MenuSection: React.FC<MenuSectionProps> = ({\n  iconMenuTextSpacing, listItems, showTitle = true, title, ...props\n}) => {\n  return (\n    <FlexCol alignItems=\"stretch\" {...props}>\n      <Collapse in={showTitle} timeout={700}>\n        <ListSubheader>{title}</ListSubheader>\n      </Collapse>\n\n      {listItems.map(item => (\n        <MenuListItemContainer key={item.href} iconMenuTextSpacing={iconMenuTextSpacing} {...item}></MenuListItemContainer>\n      ))}\n    </FlexCol>\n  )\n}\n","import type { ToolbarProps } from '@mui/material'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nimport { AppBarEx } from '../AppBarEx.tsx'\nimport type { AppBarExProps } from '../AppBarExProps.tsx'\nimport { ContextToolbar, SystemToolbar } from '../Toolbar/index.ts'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n  contextToolbar?: ReactElement<ToolbarProps>\n  logo?: React.ReactNode\n  responsive?: boolean\n  systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({\n  logo, systemToolbar, contextToolbar, responsive = true, ...props\n}) => {\n  return (\n    <AppBarEx\n      systemToolbar={systemToolbar ?? <SystemToolbar />}\n      contextToolbar={contextToolbar ?? <ContextToolbar logo={logo} />}\n      position=\"sticky\"\n      responsive={responsive}\n      {...props}\n    />\n  )\n}\n"],"mappings":"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","names":["Toolbar","useTheme","FlexRow","isString","jsx","jsx","jsxs","useTheme","FlexRow","isString","jsx","jsxs","Toolbar","Toolbar","isDefinedNotNull","MenuIcon","IconButton","List","FlexRow","useState","useTheme","FlexRow","useCollapsible","isString","jsx","Typography","jsx","jsx","jsx","useTheme","jsx","Fragment","jsx","jsxs","useTheme","useCollapsible","FlexRow","isString","jsx","jsxs","useState","FlexRow","IconButton","MenuIcon","List","Collapse","FlexCol","jsx","jsxs","FlexCol","Collapse","jsx","jsxs","Toolbar","isDefinedNotNull","jsx"]}