@xyo-network/react-appbar 2.64.7 → 2.64.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/browser/components/AppBar/Application.cjs.map +1 -1
  2. package/dist/browser/components/AppBar/Application.js.map +1 -1
  3. package/dist/browser/components/AppBar/index.cjs.map +1 -1
  4. package/dist/browser/components/AppBar/index.js.map +1 -1
  5. package/dist/browser/components/SiteMenu/lib/NavListItemProps.cjs.map +1 -1
  6. package/dist/browser/components/SiteMenu/lib/NavListItemProps.d.cts +1 -1
  7. package/dist/browser/components/SiteMenu/lib/NavListItemProps.d.cts.map +1 -1
  8. package/dist/browser/components/SiteMenu/lib/NavListItemProps.d.mts +1 -1
  9. package/dist/browser/components/SiteMenu/lib/NavListItemProps.d.mts.map +1 -1
  10. package/dist/browser/components/SiteMenu/lib/NavListItemProps.d.ts +1 -1
  11. package/dist/browser/components/SiteMenu/lib/NavListItemProps.d.ts.map +1 -1
  12. package/dist/browser/components/Toolbar/Context/ContextToolbar.cjs.map +1 -1
  13. package/dist/browser/components/Toolbar/Context/ContextToolbar.d.cts +1 -1
  14. package/dist/browser/components/Toolbar/Context/ContextToolbar.d.cts.map +1 -1
  15. package/dist/browser/components/Toolbar/Context/ContextToolbar.d.mts +1 -1
  16. package/dist/browser/components/Toolbar/Context/ContextToolbar.d.mts.map +1 -1
  17. package/dist/browser/components/Toolbar/Context/ContextToolbar.d.ts +1 -1
  18. package/dist/browser/components/Toolbar/Context/ContextToolbar.d.ts.map +1 -1
  19. package/dist/browser/components/Toolbar/Context/ContextToolbar.js.map +1 -1
  20. package/dist/browser/components/Toolbar/Context/index.cjs.map +1 -1
  21. package/dist/browser/components/Toolbar/Context/index.js.map +1 -1
  22. package/dist/browser/components/Toolbar/index.cjs.map +1 -1
  23. package/dist/browser/components/Toolbar/index.js.map +1 -1
  24. package/dist/browser/components/index.cjs.map +1 -1
  25. package/dist/browser/components/index.js.map +1 -1
  26. package/dist/browser/index.cjs.map +1 -1
  27. package/dist/browser/index.js.map +1 -1
  28. package/dist/docs.json +91 -91
  29. package/dist/node/components/AppBar/Application.cjs.map +1 -1
  30. package/dist/node/components/AppBar/Application.js.map +1 -1
  31. package/dist/node/components/AppBar/index.cjs.map +1 -1
  32. package/dist/node/components/AppBar/index.js.map +1 -1
  33. package/dist/node/components/SiteMenu/lib/NavListItemProps.cjs.map +1 -1
  34. package/dist/node/components/SiteMenu/lib/NavListItemProps.d.cts +1 -1
  35. package/dist/node/components/SiteMenu/lib/NavListItemProps.d.cts.map +1 -1
  36. package/dist/node/components/SiteMenu/lib/NavListItemProps.d.mts +1 -1
  37. package/dist/node/components/SiteMenu/lib/NavListItemProps.d.mts.map +1 -1
  38. package/dist/node/components/SiteMenu/lib/NavListItemProps.d.ts +1 -1
  39. package/dist/node/components/SiteMenu/lib/NavListItemProps.d.ts.map +1 -1
  40. package/dist/node/components/Toolbar/Context/ContextToolbar.cjs.map +1 -1
  41. package/dist/node/components/Toolbar/Context/ContextToolbar.d.cts +1 -1
  42. package/dist/node/components/Toolbar/Context/ContextToolbar.d.cts.map +1 -1
  43. package/dist/node/components/Toolbar/Context/ContextToolbar.d.mts +1 -1
  44. package/dist/node/components/Toolbar/Context/ContextToolbar.d.mts.map +1 -1
  45. package/dist/node/components/Toolbar/Context/ContextToolbar.d.ts +1 -1
  46. package/dist/node/components/Toolbar/Context/ContextToolbar.d.ts.map +1 -1
  47. package/dist/node/components/Toolbar/Context/ContextToolbar.js.map +1 -1
  48. package/dist/node/components/Toolbar/Context/index.cjs.map +1 -1
  49. package/dist/node/components/Toolbar/Context/index.js.map +1 -1
  50. package/dist/node/components/Toolbar/index.cjs.map +1 -1
  51. package/dist/node/components/Toolbar/index.js.map +1 -1
  52. package/dist/node/components/index.cjs.map +1 -1
  53. package/dist/node/components/index.js.map +1 -1
  54. package/dist/node/index.cjs.map +1 -1
  55. package/dist/node/index.js.map +1 -1
  56. package/package.json +12 -12
  57. package/src/components/AppBar/Application.stories.tsx +1 -1
  58. package/src/components/SiteMenu/MenuListItem/MenuListItemContainer.stories.tsx +1 -1
  59. package/src/components/SiteMenu/lib/NavListItemProps.ts +1 -1
  60. package/src/components/Toolbar/Context/ContextToolbar.stories.tsx +1 -1
  61. package/src/components/Toolbar/Context/ContextToolbar.tsx +1 -1
  62. package/src/components/Toolbar/System/SystemToolbar.stories.tsx +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppBar/Application.tsx","../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../src/components/Toolbar/Context/Logo.tsx","../../../../src/components/Toolbar/System/SystemToolbar.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["import { ToolbarProps } from '@mui/material'\nimport { AppBarEx, AppBarExProps } from '@xylabs/react-appbar'\nimport { ReactElement } from 'react'\n\nimport { ContextToolbar, SystemToolbar } from '../Toolbar'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n contextToolbar?: ReactElement<ToolbarProps>\n responsive?: boolean\n systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {\n return (\n <AppBarEx\n systemToolbar={systemToolbar ?? <SystemToolbar />}\n contextToolbar={contextToolbar ?? <ContextToolbar />}\n position=\"sticky\"\n responsive={responsive}\n {...props}\n />\n )\n}\n","import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom-6'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n","import { Paper, Toolbar, ToolbarProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { DarkModeIconButton } from '@xyo-network/react-app-settings'\nimport { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'\nimport { ReactNode } from 'react'\n\nimport { SiteMenu, SiteMenuProps } from '../../SiteMenu'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n darkModeButton?: boolean\n developerMode?: boolean\n hideNetworkSelect?: boolean\n menuItems?: ReactNode\n networkSelectProps?: NetworkSelectExProps\n onMenuToggle?: SiteMenuProps['onMenuToggle']\n precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n children,\n darkModeButton = false,\n hideNetworkSelect,\n menuItems,\n networkSelectProps,\n onMenuToggle,\n precedingChildren,\n ...props\n}) => {\n return (\n <Toolbar {...props}>\n {precedingChildren}\n {hideNetworkSelect ? null : (\n <FlexRow marginX={0.5}>\n <Paper variant=\"elevation\">\n <NetworkSelectEx fullWidth {...networkSelectProps} />\n </Paper>\n </FlexRow>\n )}\n {children}\n {darkModeButton ? <DarkModeIconButton color=\"inherit\" /> : null}\n {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}\n </Toolbar>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\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> = ({ children, onMenuToggle, side = 'right', ...props }) => {\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 { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\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 ? 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 <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\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 <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } 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 { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { 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 sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\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 <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAwC;;;ACDxC,IAAAA,mBAAsC;;;ACAtC,IAAAC,mBAAqC;AACrC,2BAAwB;AACxB,wBAAoC;;;ACFpC,sBAAyB;AAQhB;AANF,IAAM,OAAuG,CAAC,UAAU;AAC7H,QAAM,YAAQ,0BAAS;AACvB,QAAM,UACJ,MAAM,QAAQ,SAAS,SACnB,4DACA;AACN,SAAO,4CAAC,SAAI,KAAK,SAAU,GAAG,OAAO;AACvC;;;ADKM,IAAAC,sBAAA;AAJC,IAAM,aAAwC,CAAC,EAAE,KAAK,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAChG,QAAM,YAAQ,2BAAS;AACvB,SACE,6CAAC,4BAAO,IAAS,GAAG,OAClB,wDAAC,gCAAQ,UAAS,OAChB;AAAA,iDAAC,QAAK,QAAO,MAAK,OAAM,MAAK;AAAA,IAC5B,UACC;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,cAAc;AAAA,QACd,OAAO;AAAA,QACP,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,KAAK,OAAO;AAAA,QAC/D,QAAQ;AAAA,QACR,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,UAAS;AAAA,QACT,YAAY;AAAA,QACZ,SAAQ;AAAA,QACR,QAAQ,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,QAAQ,IAAI,CAAC;AAAA,QAEvE,iBAAO,YAAY,WAAW,UAAU;AAAA;AAAA,IAC3C,IACE;AAAA,KACN,GACF;AAEJ;;;ADtBM,IAAAC,sBAAA;AAHC,IAAM,iBAAgD,CAAC,EAAE,SAAS,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAC5G,SACE,6CAAC,4BAAS,GAAG,OACX,uDAAC,cAAW,SAAkB,IAAI,QAAQ,GAC5C;AAEJ;;;AGhBA,IAAAC,oBAA6C;AAC7C,IAAAC,wBAAwB;AACxB,gCAAmC;AACnC,2BAAsD;;;ACHtD,0BAAgC;AAIzB,IAAM,yBAAqB,qCAAkC;;;ACJpE,IAAAC,uBAA6B;AAItB,IAAM,iBAAiB,UAAM,mCAAa,oBAAoB,eAAe,KAAK;;;ACJzF,4BAA2D;AAC3D,IAAAC,oBAAkD;AAClD,IAAAC,wBAAsC;AACtC,IAAAC,gBAAoC;;;ACHpC,IAAAC,mBAAsD;AACtD,IAAAC,wBAAwB;AACxB,IAAAC,qBAAuB;AACvB,mBAAyB;;;ACHzB,IAAAC,mBAAsC;AACtC,IAAAC,wBAAwB;AAExB,iBAAwB;AAYd,IAAAC,sBAAA;AANH,IAAM,kBAAkD,CAAC,EAAE,OAAO,GAAG,MAAM,MAAM;AACtF,SACE,6CAAC,4BAAQ,OAAc,WAAU,SAAS,GAAG,OAE3C,uDAAC,SACC,uDAAC,iCAAQ,gBAAe,UACtB,uDAAC,sBAAQ,OAAM,QAAO,GACxB,GACF,GACF;AAEJ;;;ACpBA,IAAAC,mBAA4C;AASxC,IAAAC,sBAAA;AAFG,IAAM,WAAoC,CAAC,EAAE,MAAM,GAAG,MAAM,MAAM;AACvE,SACE,6CAAC,+BAAW,SAAQ,QAAQ,GAAG,OAC5B,gBACH;AAEJ;;;ACbA,IAAAC,mBAAwC;AAapC,IAAAC,sBAAA;AAPG,IAAM,eAA0C,CAAC,EAAE,UAAU,aAAa,IAAI,UAAU,OAAO,GAAG,MAAM,MAAM;AACnH,QAAM,aAAa,WAAW,EAAE,cAAc,OAAO,SAAS,eAAe,UAAU,GAAG,OAAO,OAAO,IAAI,EAAE,OAAO,OAAO;AAE5H,QAAM,YAAY,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI;AAEpE,QAAM,YAAY,QAAQ,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,OAAO;AACvD,SACE,6CAAC,6BAAS,IAAI,EAAE,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,GAAG,GAAI,GAAG,OACrE,UACH;AAEJ;;;ACjBA,IAAAC,mBAA8C;AAcxC,IAAAC,sBAAA;AAHC,IAAM,0BAAkE,CAAC,EAAE,UAAU,YAAY,UAAU,GAAG,MAAM,MAAM;AAC/H,SACE,6CAAC,6BAAS,IAAI,YAAY,OAAO,QAAQ,YAAa,GAAG,OACvD,uDAAC,yBAAM,UAAS,GAClB;AAEJ;;;ACjBA,IAAAC,mBAAsD;AAGtD,IAAAC,cAA+B;AAiBzB,IAAAC,sBAAA;AAVC,IAAM,yBAAgE,CAAC,EAAE,eAAe,WAAW,MAAM;AAC9G,QAAM,YAAQ,2BAAS;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,CAAC,UAA0B;AAClC,cAAM,gBAAgB;AACtB,wBAAgB,CAAC,UAAU;AAAA,MAC7B;AAAA,MACA,IAAI,EAAE,aAAa,MAAM,QAAQ,GAAG,EAAE;AAAA,MAEtC,uDAAC,8BAAe,UAAS,QAAO;AAAA;AAAA,EAClC;AAEJ;;;ALeI,IAAAC,sBAAA;AArBG,IAAM,wBAAqD,CAAC;AAAA,EACjE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,YAAQ,2BAAS;AACvB,QAAM,EAAE,SAAS,IAAI,eAAe;AACpC,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,KAAK;AAC5C,QAAM,8BAA8B,sBAAsB,sBAAsB,MAAM,QAAQ,CAAC;AAE/F,SACE,8EACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,gBAAc;AAAA,QACd;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA,IAAI,EAAE,gBAAgB,iBAAiB,GAAG,GAAG;AAAA,QAC7C,OAAO,EAAE,YAAY,UAAU,GAAG,MAAM;AAAA,QACvC,GAAG;AAAA,QAEJ;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,cAAc,MAAM,WAAW,IAAI;AAAA,cACnC,cAAc,MAAM,WAAW,KAAK;AAAA,cACpC,OAAM;AAAA,cACN;AAAA,cACA,IAAI;AAAA,gBACF,YAAY;AAAA,kBACV,QAAQ;AAAA,kBACR,gBAAgB;AAAA,gBAClB;AAAA,cACF;AAAA,cAEA,wDAAC,iCACC;AAAA,6DAAC,YAAS,MAAY,cAAc,6BAA6B,OAAO,UAAU,cAAc,WAAW;AAAA,gBAC3G,6CAAC,iCAAa,SAAkB;AAAA,iBAClC;AAAA;AAAA,UACF;AAAA,UACA,8CAAC,iCAAQ,OAAO,EAAE,YAAY,MAAM,QAAQ,CAAC,EAAE,GAC5C;AAAA,8BAAkB,6CAAC,0BAAuB,eAA8B,YAAwB,IAAK;AAAA,YACrG,UAAU,6CAAC,mBAAgB,OAAO,SAAS,IAAK;AAAA,aACnD;AAAA;AAAA;AAAA,IACF;AAAA,IACC,kBACC,6CAAC,2BAAwB,YAAwB,UAC9C,2BAAiB,IAAI,CAAC,MAAM,UAAU,6CAAC,yBAAsB,OAAc,IAAI,EAAE,IAAI,MAAM,QAAQ,CAAC,EAAE,GAAgB,GAAG,QAAX,KAAiB,CAAE,GACpI,IACE;AAAA,KACN;AAEJ;;;ADxDI,IAAAC,uBAAA;AARG,IAAM,WAAoC,CAAC,EAAE,UAAU,cAAc,OAAO,SAAS,GAAG,MAAM,MAAM;AACzG,QAAM,CAAC,MAAM,OAAO,QAAI,wBAAS,KAAK;AAEtC,+BAAU,MAAM;AACd,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,cAAc,IAAI,CAAC;AAEvB,SACE,+CAAC,iCAAQ,YAAW,WAAW,GAAG,OAChC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAAS,MAAM;AACb,kBAAQ,CAAC,IAAI;AAAA,QACf;AAAA,QAEA,wDAAC,sBAAAC,MAAA,EAAS,UAAS,SAAQ;AAAA;AAAA,IAC7B;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ;AAAA,QACR;AAAA,QACA,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,WAAW,MAAM,QAAQ,KAAK;AAAA,QAC9B,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,QAAQ,MAAM,QAAQ,IAAI;AAAA,QAEzB,sBACC,8CAAC,0BACC,wDAAC,yBAAsB,SAAQ,YAAW,MAAM,8CAAC,sBAAAC,UAAA,EAAa,GAAI,IAAG,aAAY,GACnF;AAAA;AAAA,IAEJ;AAAA,KACF;AAEJ;;;AHlBI,IAAAC,uBAAA;AAXG,IAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE,+CAAC,6BAAS,GAAG,OACV;AAAA;AAAA,IACA,oBAAoB,OACnB,8CAAC,iCAAQ,SAAS,KAChB,wDAAC,2BAAM,SAAQ,aACb,wDAAC,wCAAgB,WAAS,MAAE,GAAG,oBAAoB,GACrD,GACF;AAAA,IAED;AAAA,IACA,iBAAiB,8CAAC,gDAAmB,OAAM,WAAU,IAAK;AAAA,IAC1D,YAAY,8CAAC,YAAS,cAA6B,qBAAU,IAAc;AAAA,KAC9E;AAEJ;;;AJ5BsC,IAAAC,uBAAA;AAH/B,IAAM,oBAAsD,CAAC,EAAE,eAAe,gBAAgB,aAAa,MAAM,GAAG,MAAM,MAAM;AACrI,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAe,iBAAiB,8CAAC,iBAAc;AAAA,MAC/C,gBAAgB,kBAAkB,8CAAC,kBAAe;AAAA,MAClD,UAAS;AAAA,MACT;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":["import_material","import_material","import_jsx_runtime","import_jsx_runtime","import_material","import_react_flexbox","import_react_shared","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_react_link","import_material","import_react_flexbox","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_vsc","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","MenuIcon","SettingsIcon","import_jsx_runtime","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../../src/components/AppBar/Application.tsx","../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../src/components/Toolbar/Context/Logo.tsx","../../../../src/components/Toolbar/System/SystemToolbar.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["import { ToolbarProps } from '@mui/material'\nimport { AppBarEx, AppBarExProps } from '@xylabs/react-appbar'\nimport { ReactElement } from 'react'\n\nimport { ContextToolbar, SystemToolbar } from '../Toolbar'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n contextToolbar?: ReactElement<ToolbarProps>\n responsive?: boolean\n systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {\n return (\n <AppBarEx\n systemToolbar={systemToolbar ?? <SystemToolbar />}\n contextToolbar={contextToolbar ?? <ContextToolbar />}\n position=\"sticky\"\n responsive={responsive}\n {...props}\n />\n )\n}\n","import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n","import { Paper, Toolbar, ToolbarProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { DarkModeIconButton } from '@xyo-network/react-app-settings'\nimport { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'\nimport { ReactNode } from 'react'\n\nimport { SiteMenu, SiteMenuProps } from '../../SiteMenu'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n darkModeButton?: boolean\n developerMode?: boolean\n hideNetworkSelect?: boolean\n menuItems?: ReactNode\n networkSelectProps?: NetworkSelectExProps\n onMenuToggle?: SiteMenuProps['onMenuToggle']\n precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n children,\n darkModeButton = false,\n hideNetworkSelect,\n menuItems,\n networkSelectProps,\n onMenuToggle,\n precedingChildren,\n ...props\n}) => {\n return (\n <Toolbar {...props}>\n {precedingChildren}\n {hideNetworkSelect ? null : (\n <FlexRow marginX={0.5}>\n <Paper variant=\"elevation\">\n <NetworkSelectEx fullWidth {...networkSelectProps} />\n </Paper>\n </FlexRow>\n )}\n {children}\n {darkModeButton ? <DarkModeIconButton color=\"inherit\" /> : null}\n {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}\n </Toolbar>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\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> = ({ children, onMenuToggle, side = 'right', ...props }) => {\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 { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\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 ? 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 <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\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 <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } 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 { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { 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 sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\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 <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":"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","names":["import_material","import_material","import_jsx_runtime","import_jsx_runtime","import_material","import_react_flexbox","import_react_shared","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_react_link","import_material","import_react_flexbox","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_vsc","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","MenuIcon","SettingsIcon","import_jsx_runtime","import_jsx_runtime"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppBar/Application.tsx","../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../src/components/Toolbar/Context/Logo.tsx","../../../../src/components/Toolbar/System/SystemToolbar.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["import { ToolbarProps } from '@mui/material'\nimport { AppBarEx, AppBarExProps } from '@xylabs/react-appbar'\nimport { ReactElement } from 'react'\n\nimport { ContextToolbar, SystemToolbar } from '../Toolbar'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n contextToolbar?: ReactElement<ToolbarProps>\n responsive?: boolean\n systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {\n return (\n <AppBarEx\n systemToolbar={systemToolbar ?? <SystemToolbar />}\n contextToolbar={contextToolbar ?? <ContextToolbar />}\n position=\"sticky\"\n responsive={responsive}\n {...props}\n />\n )\n}\n","import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom-6'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n","import { Paper, Toolbar, ToolbarProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { DarkModeIconButton } from '@xyo-network/react-app-settings'\nimport { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'\nimport { ReactNode } from 'react'\n\nimport { SiteMenu, SiteMenuProps } from '../../SiteMenu'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n darkModeButton?: boolean\n developerMode?: boolean\n hideNetworkSelect?: boolean\n menuItems?: ReactNode\n networkSelectProps?: NetworkSelectExProps\n onMenuToggle?: SiteMenuProps['onMenuToggle']\n precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n children,\n darkModeButton = false,\n hideNetworkSelect,\n menuItems,\n networkSelectProps,\n onMenuToggle,\n precedingChildren,\n ...props\n}) => {\n return (\n <Toolbar {...props}>\n {precedingChildren}\n {hideNetworkSelect ? null : (\n <FlexRow marginX={0.5}>\n <Paper variant=\"elevation\">\n <NetworkSelectEx fullWidth {...networkSelectProps} />\n </Paper>\n </FlexRow>\n )}\n {children}\n {darkModeButton ? <DarkModeIconButton color=\"inherit\" /> : null}\n {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}\n </Toolbar>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\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> = ({ children, onMenuToggle, side = 'right', ...props }) => {\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 { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\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 ? 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 <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\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 <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } 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 { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { 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 sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\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 <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":"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","names":["useTheme","jsx","useTheme","jsx","Toolbar","FlexRow","MenuIcon","IconButton","List","FlexRow","useState","useTheme","FlexRow","LinkEx","jsx","Typography","jsx","jsx","jsx","useTheme","jsx","jsx","jsxs","useTheme","LinkEx","FlexRow","jsx","jsxs","useState","FlexRow","IconButton","MenuIcon","List","jsx","jsxs","Toolbar","FlexRow","jsx"]}
1
+ {"version":3,"sources":["../../../../src/components/AppBar/Application.tsx","../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../src/components/Toolbar/Context/Logo.tsx","../../../../src/components/Toolbar/System/SystemToolbar.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["import { ToolbarProps } from '@mui/material'\nimport { AppBarEx, AppBarExProps } from '@xylabs/react-appbar'\nimport { ReactElement } from 'react'\n\nimport { ContextToolbar, SystemToolbar } from '../Toolbar'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n contextToolbar?: ReactElement<ToolbarProps>\n responsive?: boolean\n systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {\n return (\n <AppBarEx\n systemToolbar={systemToolbar ?? <SystemToolbar />}\n contextToolbar={contextToolbar ?? <ContextToolbar />}\n position=\"sticky\"\n responsive={responsive}\n {...props}\n />\n )\n}\n","import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n","import { Paper, Toolbar, ToolbarProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { DarkModeIconButton } from '@xyo-network/react-app-settings'\nimport { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'\nimport { ReactNode } from 'react'\n\nimport { SiteMenu, SiteMenuProps } from '../../SiteMenu'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n darkModeButton?: boolean\n developerMode?: boolean\n hideNetworkSelect?: boolean\n menuItems?: ReactNode\n networkSelectProps?: NetworkSelectExProps\n onMenuToggle?: SiteMenuProps['onMenuToggle']\n precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n children,\n darkModeButton = false,\n hideNetworkSelect,\n menuItems,\n networkSelectProps,\n onMenuToggle,\n precedingChildren,\n ...props\n}) => {\n return (\n <Toolbar {...props}>\n {precedingChildren}\n {hideNetworkSelect ? null : (\n <FlexRow marginX={0.5}>\n <Paper variant=\"elevation\">\n <NetworkSelectEx fullWidth {...networkSelectProps} />\n </Paper>\n </FlexRow>\n )}\n {children}\n {darkModeButton ? <DarkModeIconButton color=\"inherit\" /> : null}\n {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}\n </Toolbar>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\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> = ({ children, onMenuToggle, side = 'right', ...props }) => {\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 { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\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 ? 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 <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\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 <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } 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 { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { 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 sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\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 <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":"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","names":["useTheme","jsx","useTheme","jsx","Toolbar","FlexRow","MenuIcon","IconButton","List","FlexRow","useState","useTheme","FlexRow","LinkEx","jsx","Typography","jsx","jsx","jsx","useTheme","jsx","jsx","jsxs","useTheme","LinkEx","FlexRow","jsx","jsxs","useState","FlexRow","IconButton","MenuIcon","List","jsx","jsxs","Toolbar","FlexRow","jsx"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppBar/index.ts","../../../../src/components/AppBar/Application.tsx","../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../src/components/Toolbar/Context/Logo.tsx","../../../../src/components/Toolbar/System/SystemToolbar.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["export * from './Application'\n","import { ToolbarProps } from '@mui/material'\nimport { AppBarEx, AppBarExProps } from '@xylabs/react-appbar'\nimport { ReactElement } from 'react'\n\nimport { ContextToolbar, SystemToolbar } from '../Toolbar'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n contextToolbar?: ReactElement<ToolbarProps>\n responsive?: boolean\n systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {\n return (\n <AppBarEx\n systemToolbar={systemToolbar ?? <SystemToolbar />}\n contextToolbar={contextToolbar ?? <ContextToolbar />}\n position=\"sticky\"\n responsive={responsive}\n {...props}\n />\n )\n}\n","import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom-6'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n","import { Paper, Toolbar, ToolbarProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { DarkModeIconButton } from '@xyo-network/react-app-settings'\nimport { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'\nimport { ReactNode } from 'react'\n\nimport { SiteMenu, SiteMenuProps } from '../../SiteMenu'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n darkModeButton?: boolean\n developerMode?: boolean\n hideNetworkSelect?: boolean\n menuItems?: ReactNode\n networkSelectProps?: NetworkSelectExProps\n onMenuToggle?: SiteMenuProps['onMenuToggle']\n precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n children,\n darkModeButton = false,\n hideNetworkSelect,\n menuItems,\n networkSelectProps,\n onMenuToggle,\n precedingChildren,\n ...props\n}) => {\n return (\n <Toolbar {...props}>\n {precedingChildren}\n {hideNetworkSelect ? null : (\n <FlexRow marginX={0.5}>\n <Paper variant=\"elevation\">\n <NetworkSelectEx fullWidth {...networkSelectProps} />\n </Paper>\n </FlexRow>\n )}\n {children}\n {darkModeButton ? <DarkModeIconButton color=\"inherit\" /> : null}\n {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}\n </Toolbar>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\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> = ({ children, onMenuToggle, side = 'right', ...props }) => {\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 { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\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 ? 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 <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\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 <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } 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 { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { 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 sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\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 <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":"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","names":["import_material","import_material","import_jsx_runtime","import_jsx_runtime","import_material","import_react_flexbox","import_react_shared","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_react_link","import_material","import_react_flexbox","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_vsc","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","MenuIcon","SettingsIcon","import_jsx_runtime","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../../src/components/AppBar/index.ts","../../../../src/components/AppBar/Application.tsx","../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../src/components/Toolbar/Context/Logo.tsx","../../../../src/components/Toolbar/System/SystemToolbar.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["export * from './Application'\n","import { ToolbarProps } from '@mui/material'\nimport { AppBarEx, AppBarExProps } from '@xylabs/react-appbar'\nimport { ReactElement } from 'react'\n\nimport { ContextToolbar, SystemToolbar } from '../Toolbar'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n contextToolbar?: ReactElement<ToolbarProps>\n responsive?: boolean\n systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {\n return (\n <AppBarEx\n systemToolbar={systemToolbar ?? <SystemToolbar />}\n contextToolbar={contextToolbar ?? <ContextToolbar />}\n position=\"sticky\"\n responsive={responsive}\n {...props}\n />\n )\n}\n","import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n","import { Paper, Toolbar, ToolbarProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { DarkModeIconButton } from '@xyo-network/react-app-settings'\nimport { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'\nimport { ReactNode } from 'react'\n\nimport { SiteMenu, SiteMenuProps } from '../../SiteMenu'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n darkModeButton?: boolean\n developerMode?: boolean\n hideNetworkSelect?: boolean\n menuItems?: ReactNode\n networkSelectProps?: NetworkSelectExProps\n onMenuToggle?: SiteMenuProps['onMenuToggle']\n precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n children,\n darkModeButton = false,\n hideNetworkSelect,\n menuItems,\n networkSelectProps,\n onMenuToggle,\n precedingChildren,\n ...props\n}) => {\n return (\n <Toolbar {...props}>\n {precedingChildren}\n {hideNetworkSelect ? null : (\n <FlexRow marginX={0.5}>\n <Paper variant=\"elevation\">\n <NetworkSelectEx fullWidth {...networkSelectProps} />\n </Paper>\n </FlexRow>\n )}\n {children}\n {darkModeButton ? <DarkModeIconButton color=\"inherit\" /> : null}\n {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}\n </Toolbar>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\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> = ({ children, onMenuToggle, side = 'right', ...props }) => {\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 { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\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 ? 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 <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\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 <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } 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 { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { 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 sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\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 <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":"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","names":["import_material","import_material","import_jsx_runtime","import_jsx_runtime","import_material","import_react_flexbox","import_react_shared","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_react_link","import_material","import_react_flexbox","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_vsc","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","MenuIcon","SettingsIcon","import_jsx_runtime","import_jsx_runtime"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppBar/Application.tsx","../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../src/components/Toolbar/Context/Logo.tsx","../../../../src/components/Toolbar/System/SystemToolbar.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["import { ToolbarProps } from '@mui/material'\nimport { AppBarEx, AppBarExProps } from '@xylabs/react-appbar'\nimport { ReactElement } from 'react'\n\nimport { ContextToolbar, SystemToolbar } from '../Toolbar'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n contextToolbar?: ReactElement<ToolbarProps>\n responsive?: boolean\n systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {\n return (\n <AppBarEx\n systemToolbar={systemToolbar ?? <SystemToolbar />}\n contextToolbar={contextToolbar ?? <ContextToolbar />}\n position=\"sticky\"\n responsive={responsive}\n {...props}\n />\n )\n}\n","import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom-6'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n","import { Paper, Toolbar, ToolbarProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { DarkModeIconButton } from '@xyo-network/react-app-settings'\nimport { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'\nimport { ReactNode } from 'react'\n\nimport { SiteMenu, SiteMenuProps } from '../../SiteMenu'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n darkModeButton?: boolean\n developerMode?: boolean\n hideNetworkSelect?: boolean\n menuItems?: ReactNode\n networkSelectProps?: NetworkSelectExProps\n onMenuToggle?: SiteMenuProps['onMenuToggle']\n precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n children,\n darkModeButton = false,\n hideNetworkSelect,\n menuItems,\n networkSelectProps,\n onMenuToggle,\n precedingChildren,\n ...props\n}) => {\n return (\n <Toolbar {...props}>\n {precedingChildren}\n {hideNetworkSelect ? null : (\n <FlexRow marginX={0.5}>\n <Paper variant=\"elevation\">\n <NetworkSelectEx fullWidth {...networkSelectProps} />\n </Paper>\n </FlexRow>\n )}\n {children}\n {darkModeButton ? <DarkModeIconButton color=\"inherit\" /> : null}\n {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}\n </Toolbar>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\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> = ({ children, onMenuToggle, side = 'right', ...props }) => {\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 { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\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 ? 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 <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\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 <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } 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 { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { 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 sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\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 <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":"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","names":["useTheme","jsx","useTheme","jsx","Toolbar","FlexRow","MenuIcon","IconButton","List","FlexRow","useState","useTheme","FlexRow","LinkEx","jsx","Typography","jsx","jsx","jsx","useTheme","jsx","jsx","jsxs","useTheme","LinkEx","FlexRow","jsx","jsxs","useState","FlexRow","IconButton","MenuIcon","List","jsx","jsxs","Toolbar","FlexRow","jsx"]}
1
+ {"version":3,"sources":["../../../../src/components/AppBar/Application.tsx","../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../src/components/Toolbar/Context/Logo.tsx","../../../../src/components/Toolbar/System/SystemToolbar.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["import { ToolbarProps } from '@mui/material'\nimport { AppBarEx, AppBarExProps } from '@xylabs/react-appbar'\nimport { ReactElement } from 'react'\n\nimport { ContextToolbar, SystemToolbar } from '../Toolbar'\n\nexport interface ApplicationAppBarProps extends AppBarExProps {\n contextToolbar?: ReactElement<ToolbarProps>\n responsive?: boolean\n systemToolbar?: ReactElement<ToolbarProps>\n}\n\nexport const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {\n return (\n <AppBarEx\n systemToolbar={systemToolbar ?? <SystemToolbar />}\n contextToolbar={contextToolbar ?? <ContextToolbar />}\n position=\"sticky\"\n responsive={responsive}\n {...props}\n />\n )\n}\n","import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n","import { Paper, Toolbar, ToolbarProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { DarkModeIconButton } from '@xyo-network/react-app-settings'\nimport { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'\nimport { ReactNode } from 'react'\n\nimport { SiteMenu, SiteMenuProps } from '../../SiteMenu'\n\nexport interface SystemToolbarProps extends ToolbarProps {\n darkModeButton?: boolean\n developerMode?: boolean\n hideNetworkSelect?: boolean\n menuItems?: ReactNode\n networkSelectProps?: NetworkSelectExProps\n onMenuToggle?: SiteMenuProps['onMenuToggle']\n precedingChildren?: ReactNode\n}\n\nexport const SystemToolbar: React.FC<SystemToolbarProps> = ({\n children,\n darkModeButton = false,\n hideNetworkSelect,\n menuItems,\n networkSelectProps,\n onMenuToggle,\n precedingChildren,\n ...props\n}) => {\n return (\n <Toolbar {...props}>\n {precedingChildren}\n {hideNetworkSelect ? null : (\n <FlexRow marginX={0.5}>\n <Paper variant=\"elevation\">\n <NetworkSelectEx fullWidth {...networkSelectProps} />\n </Paper>\n </FlexRow>\n )}\n {children}\n {darkModeButton ? <DarkModeIconButton color=\"inherit\" /> : null}\n {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}\n </Toolbar>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\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> = ({ children, onMenuToggle, side = 'right', ...props }) => {\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 { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\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 ? 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 <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\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 <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } 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 { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { 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 sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\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 <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":"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","names":["useTheme","jsx","useTheme","jsx","Toolbar","FlexRow","MenuIcon","IconButton","List","FlexRow","useState","useTheme","FlexRow","LinkEx","jsx","Typography","jsx","jsx","jsx","useTheme","jsx","jsx","jsxs","useTheme","LinkEx","FlexRow","jsx","jsxs","useState","FlexRow","IconButton","MenuIcon","List","jsx","jsxs","Toolbar","FlexRow","jsx"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/SiteMenu/lib/NavListItemProps.ts"],"sourcesContent":["import { ListItemProps, ListItemTextProps } from '@mui/material'\nimport { ReactNode } from 'react'\nimport { To } from 'react-router-dom-6'\n\nexport interface NavListItemProps {\n href?: string\n icon?: ReactNode\n onButtonClick?: ListItemProps['onClick']\n primary: ListItemTextProps['primary']\n to?: To\n tooltip?: string\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/SiteMenu/lib/NavListItemProps.ts"],"sourcesContent":["import { ListItemProps, ListItemTextProps } from '@mui/material'\nimport { ReactNode } from 'react'\nimport { To } from 'react-router-dom'\n\nexport interface NavListItemProps {\n href?: string\n icon?: ReactNode\n onButtonClick?: ListItemProps['onClick']\n primary: ListItemTextProps['primary']\n to?: To\n tooltip?: string\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { ListItemProps, ListItemTextProps } from '@mui/material';
2
2
  import { ReactNode } from 'react';
3
- import { To } from 'react-router-dom-6';
3
+ import { To } from 'react-router-dom';
4
4
  export interface NavListItemProps {
5
5
  href?: string;
6
6
  icon?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"NavListItemProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/lib/NavListItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
1
+ {"version":3,"file":"NavListItemProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/lib/NavListItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAErC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
@@ -1,6 +1,6 @@
1
1
  import { ListItemProps, ListItemTextProps } from '@mui/material';
2
2
  import { ReactNode } from 'react';
3
- import { To } from 'react-router-dom-6';
3
+ import { To } from 'react-router-dom';
4
4
  export interface NavListItemProps {
5
5
  href?: string;
6
6
  icon?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"NavListItemProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/lib/NavListItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
1
+ {"version":3,"file":"NavListItemProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/lib/NavListItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAErC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
@@ -1,6 +1,6 @@
1
1
  import { ListItemProps, ListItemTextProps } from '@mui/material';
2
2
  import { ReactNode } from 'react';
3
- import { To } from 'react-router-dom-6';
3
+ import { To } from 'react-router-dom';
4
4
  export interface NavListItemProps {
5
5
  href?: string;
6
6
  icon?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"NavListItemProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/lib/NavListItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
1
+ {"version":3,"file":"NavListItemProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/lib/NavListItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAErC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../../src/components/Toolbar/Context/Logo.tsx"],"sourcesContent":["import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom-6'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,mBAAsC;;;ACAtC,IAAAC,mBAAqC;AACrC,2BAAwB;AACxB,wBAAoC;;;ACFpC,sBAAyB;AAQhB;AANF,IAAM,OAAuG,CAAC,UAAU;AAC7H,QAAM,YAAQ,0BAAS;AACvB,QAAM,UACJ,MAAM,QAAQ,SAAS,SACnB,4DACA;AACN,SAAO,4CAAC,SAAI,KAAK,SAAU,GAAG,OAAO;AACvC;;;ADKM,IAAAC,sBAAA;AAJC,IAAM,aAAwC,CAAC,EAAE,KAAK,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAChG,QAAM,YAAQ,2BAAS;AACvB,SACE,6CAAC,4BAAO,IAAS,GAAG,OAClB,wDAAC,gCAAQ,UAAS,OAChB;AAAA,iDAAC,QAAK,QAAO,MAAK,OAAM,MAAK;AAAA,IAC5B,UACC;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,cAAc;AAAA,QACd,OAAO;AAAA,QACP,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,KAAK,OAAO;AAAA,QAC/D,QAAQ;AAAA,QACR,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,UAAS;AAAA,QACT,YAAY;AAAA,QACZ,SAAQ;AAAA,QACR,QAAQ,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,QAAQ,IAAI,CAAC;AAAA,QAEvE,iBAAO,YAAY,WAAW,UAAU;AAAA;AAAA,IAC3C,IACE;AAAA,KACN,GACF;AAEJ;;;ADtBM,IAAAC,sBAAA;AAHC,IAAM,iBAAgD,CAAC,EAAE,SAAS,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAC5G,SACE,6CAAC,4BAAS,GAAG,OACX,uDAAC,cAAW,SAAkB,IAAI,QAAQ,GAC5C;AAEJ;","names":["import_material","import_material","import_jsx_runtime","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../../src/components/Toolbar/Context/Logo.tsx"],"sourcesContent":["import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,mBAAsC;;;ACAtC,IAAAC,mBAAqC;AACrC,2BAAwB;AACxB,wBAAoC;;;ACFpC,sBAAyB;AAQhB;AANF,IAAM,OAAuG,CAAC,UAAU;AAC7H,QAAM,YAAQ,0BAAS;AACvB,QAAM,UACJ,MAAM,QAAQ,SAAS,SACnB,4DACA;AACN,SAAO,4CAAC,SAAI,KAAK,SAAU,GAAG,OAAO;AACvC;;;ADKM,IAAAC,sBAAA;AAJC,IAAM,aAAwC,CAAC,EAAE,KAAK,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAChG,QAAM,YAAQ,2BAAS;AACvB,SACE,6CAAC,4BAAO,IAAS,GAAG,OAClB,wDAAC,gCAAQ,UAAS,OAChB;AAAA,iDAAC,QAAK,QAAO,MAAK,OAAM,MAAK;AAAA,IAC5B,UACC;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,cAAc;AAAA,QACd,OAAO;AAAA,QACP,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,KAAK,OAAO;AAAA,QAC/D,QAAQ;AAAA,QACR,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,UAAS;AAAA,QACT,YAAY;AAAA,QACZ,SAAQ;AAAA,QACR,QAAQ,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,QAAQ,IAAI,CAAC;AAAA,QAEvE,iBAAO,YAAY,WAAW,UAAU;AAAA;AAAA,IAC3C,IACE;AAAA,KACN,GACF;AAEJ;;;ADtBM,IAAAC,sBAAA;AAHC,IAAM,iBAAgD,CAAC,EAAE,SAAS,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAC5G,SACE,6CAAC,4BAAS,GAAG,OACX,uDAAC,cAAW,SAAkB,IAAI,QAAQ,GAC5C;AAEJ;","names":["import_material","import_material","import_jsx_runtime","import_jsx_runtime"]}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ToolbarProps } from '@mui/material';
3
- import { To } from 'react-router-dom-6';
3
+ import { To } from 'react-router-dom';
4
4
  export interface ContextToolbarProps extends ToolbarProps {
5
5
  logoTo?: To;
6
6
  version?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ContextToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAIvC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,MAAM,CAAC,EAAE,EAAE,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAMxD,CAAA"}
1
+ {"version":3,"file":"ContextToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAIrC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,MAAM,CAAC,EAAE,EAAE,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAMxD,CAAA"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ToolbarProps } from '@mui/material';
3
- import { To } from 'react-router-dom-6';
3
+ import { To } from 'react-router-dom';
4
4
  export interface ContextToolbarProps extends ToolbarProps {
5
5
  logoTo?: To;
6
6
  version?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ContextToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAIvC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,MAAM,CAAC,EAAE,EAAE,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAMxD,CAAA"}
1
+ {"version":3,"file":"ContextToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAIrC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,MAAM,CAAC,EAAE,EAAE,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAMxD,CAAA"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ToolbarProps } from '@mui/material';
3
- import { To } from 'react-router-dom-6';
3
+ import { To } from 'react-router-dom';
4
4
  export interface ContextToolbarProps extends ToolbarProps {
5
5
  logoTo?: To;
6
6
  version?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ContextToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAIvC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,MAAM,CAAC,EAAE,EAAE,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAMxD,CAAA"}
1
+ {"version":3,"file":"ContextToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAIrC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,MAAM,CAAC,EAAE,EAAE,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAMxD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../../src/components/Toolbar/Context/Logo.tsx"],"sourcesContent":["import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom-6'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n"],"mappings":";AAAA,SAAS,eAA6B;;;ACAtC,SAAS,YAAY,YAAAA,iBAAgB;AACrC,SAAS,eAAe;AACxB,SAAS,cAA2B;;;ACFpC,SAAS,gBAAgB;AAQhB;AANF,IAAM,OAAuG,CAAC,UAAU;AAC7H,QAAM,QAAQ,SAAS;AACvB,QAAM,UACJ,MAAM,QAAQ,SAAS,SACnB,4DACA;AACN,SAAO,oBAAC,SAAI,KAAK,SAAU,GAAG,OAAO;AACvC;;;ADKM,SACE,OAAAC,MADF;AAJC,IAAM,aAAwC,CAAC,EAAE,KAAK,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAChG,QAAM,QAAQC,UAAS;AACvB,SACE,gBAAAD,KAAC,UAAO,IAAS,GAAG,OAClB,+BAAC,WAAQ,UAAS,OAChB;AAAA,oBAAAA,KAAC,QAAK,QAAO,MAAK,OAAM,MAAK;AAAA,IAC5B,UACC,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,cAAc;AAAA,QACd,OAAO;AAAA,QACP,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,KAAK,OAAO;AAAA,QAC/D,QAAQ;AAAA,QACR,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,UAAS;AAAA,QACT,YAAY;AAAA,QACZ,SAAQ;AAAA,QACR,QAAQ,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,QAAQ,IAAI,CAAC;AAAA,QAEvE,iBAAO,YAAY,WAAW,UAAU;AAAA;AAAA,IAC3C,IACE;AAAA,KACN,GACF;AAEJ;;;ADtBM,gBAAAE,YAAA;AAHC,IAAM,iBAAgD,CAAC,EAAE,SAAS,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAC5G,SACE,gBAAAA,KAAC,WAAS,GAAG,OACX,0BAAAA,KAAC,cAAW,SAAkB,IAAI,QAAQ,GAC5C;AAEJ;","names":["useTheme","jsx","useTheme","jsx"]}
1
+ {"version":3,"sources":["../../../../../src/components/Toolbar/Context/ContextToolbar.tsx","../../../../../src/components/Toolbar/Context/LogoLinkEx.tsx","../../../../../src/components/Toolbar/Context/Logo.tsx"],"sourcesContent":["import { Toolbar, ToolbarProps } from '@mui/material'\nimport { To } from 'react-router-dom'\n\nimport { LogoLinkEx } from './LogoLinkEx'\n\nexport interface ContextToolbarProps extends ToolbarProps {\n logoTo?: To\n version?: boolean\n}\n\nexport const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {\n return (\n <Toolbar {...props}>\n <LogoLinkEx version={version} to={logoTo} />\n </Toolbar>\n )\n}\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\n\nimport { Logo } from './Logo'\n\nexport interface LogoLinkExProps extends LinkExProps {\n version?: boolean | string\n}\n\nexport const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {\n const theme = useTheme()\n return (\n <LinkEx to={to} {...props}>\n <FlexRow paddingX=\"4px\">\n <Logo height=\"40\" width=\"43\" />\n {version ? (\n <Typography\n position=\"absolute\"\n borderRadius={1}\n right={6}\n color={theme.palette.getContrastText(theme.palette.text.primary)}\n bottom={0}\n bgcolor={theme.palette.text.primary}\n paddingX=\"2px\"\n lineHeight={1}\n variant=\"caption\"\n border={`1px ${theme.palette.getContrastText(theme.palette.primary.main)} solid`}\n >\n {typeof version === 'string' ? version : '2.1'}\n </Typography>\n ) : null}\n </FlexRow>\n </LinkEx>\n )\n}\n","import { useTheme } from '@mui/material'\n\nexport const Logo: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>> = (props) => {\n const theme = useTheme()\n const logoUrl =\n theme.palette.mode === 'dark'\n ? 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n : 'https://cdn.xy.company/img/brand/XYO/XYO_icon_white.svg'\n return <img src={logoUrl} {...props} />\n}\n"],"mappings":";AAAA,SAAS,eAA6B;;;ACAtC,SAAS,YAAY,YAAAA,iBAAgB;AACrC,SAAS,eAAe;AACxB,SAAS,cAA2B;;;ACFpC,SAAS,gBAAgB;AAQhB;AANF,IAAM,OAAuG,CAAC,UAAU;AAC7H,QAAM,QAAQ,SAAS;AACvB,QAAM,UACJ,MAAM,QAAQ,SAAS,SACnB,4DACA;AACN,SAAO,oBAAC,SAAI,KAAK,SAAU,GAAG,OAAO;AACvC;;;ADKM,SACE,OAAAC,MADF;AAJC,IAAM,aAAwC,CAAC,EAAE,KAAK,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAChG,QAAM,QAAQC,UAAS;AACvB,SACE,gBAAAD,KAAC,UAAO,IAAS,GAAG,OAClB,+BAAC,WAAQ,UAAS,OAChB;AAAA,oBAAAA,KAAC,QAAK,QAAO,MAAK,OAAM,MAAK;AAAA,IAC5B,UACC,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,cAAc;AAAA,QACd,OAAO;AAAA,QACP,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,KAAK,OAAO;AAAA,QAC/D,QAAQ;AAAA,QACR,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,UAAS;AAAA,QACT,YAAY;AAAA,QACZ,SAAQ;AAAA,QACR,QAAQ,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,QAAQ,IAAI,CAAC;AAAA,QAEvE,iBAAO,YAAY,WAAW,UAAU;AAAA;AAAA,IAC3C,IACE;AAAA,KACN,GACF;AAEJ;;;ADtBM,gBAAAE,YAAA;AAHC,IAAM,iBAAgD,CAAC,EAAE,SAAS,KAAK,UAAU,OAAO,GAAG,MAAM,MAAM;AAC5G,SACE,gBAAAA,KAAC,WAAS,GAAG,OACX,0BAAAA,KAAC,cAAW,SAAkB,IAAI,QAAQ,GAC5C;AAEJ;","names":["useTheme","jsx","useTheme","jsx"]}