@xyo-network/react-appbar 2.25.41 → 2.25.42

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 (54) hide show
  1. package/dist/{esm/components/Toolbar/System/SiteMenu.d.ts → cjs/components/SiteMenu/Menu.d.ts} +1 -9
  2. package/dist/cjs/components/{Toolbar/System/SiteMenu.js → SiteMenu/Menu.js} +5 -4
  3. package/dist/cjs/components/SiteMenu/Menu.js.map +1 -0
  4. package/dist/cjs/components/SiteMenu/MenuItems.d.ts +11 -0
  5. package/dist/cjs/components/SiteMenu/MenuItems.js +13 -0
  6. package/dist/cjs/components/SiteMenu/MenuItems.js.map +1 -0
  7. package/dist/cjs/components/SiteMenu/index.d.ts +2 -0
  8. package/dist/cjs/components/SiteMenu/index.js +6 -0
  9. package/dist/cjs/components/SiteMenu/index.js.map +1 -0
  10. package/dist/cjs/components/Toolbar/System/SystemToolbar.d.ts +1 -1
  11. package/dist/cjs/components/Toolbar/System/SystemToolbar.js +3 -3
  12. package/dist/cjs/components/Toolbar/System/SystemToolbar.js.map +1 -1
  13. package/dist/cjs/components/Toolbar/System/index.d.ts +0 -1
  14. package/dist/cjs/components/Toolbar/System/index.js +0 -1
  15. package/dist/cjs/components/Toolbar/System/index.js.map +1 -1
  16. package/dist/cjs/components/index.d.ts +1 -0
  17. package/dist/cjs/components/index.js +1 -0
  18. package/dist/cjs/components/index.js.map +1 -1
  19. package/dist/docs.json +12109 -2266
  20. package/dist/{cjs/components/Toolbar/System/SiteMenu.d.ts → esm/components/SiteMenu/Menu.d.ts} +1 -9
  21. package/dist/esm/components/SiteMenu/Menu.js +14 -0
  22. package/dist/esm/components/SiteMenu/Menu.js.map +1 -0
  23. package/dist/esm/components/SiteMenu/MenuItems.d.ts +11 -0
  24. package/dist/esm/components/SiteMenu/MenuItems.js +7 -0
  25. package/dist/esm/components/SiteMenu/MenuItems.js.map +1 -0
  26. package/dist/esm/components/SiteMenu/index.d.ts +2 -0
  27. package/dist/esm/components/SiteMenu/index.js +3 -0
  28. package/dist/esm/components/SiteMenu/index.js.map +1 -0
  29. package/dist/esm/components/Toolbar/System/SystemToolbar.d.ts +1 -1
  30. package/dist/esm/components/Toolbar/System/SystemToolbar.js +3 -3
  31. package/dist/esm/components/Toolbar/System/SystemToolbar.js.map +1 -1
  32. package/dist/esm/components/Toolbar/System/index.d.ts +0 -1
  33. package/dist/esm/components/Toolbar/System/index.js +0 -1
  34. package/dist/esm/components/Toolbar/System/index.js.map +1 -1
  35. package/dist/esm/components/index.d.ts +1 -0
  36. package/dist/esm/components/index.js +1 -0
  37. package/dist/esm/components/index.js.map +1 -1
  38. package/package.json +7 -7
  39. package/src/components/{Toolbar/System/SiteMenu.tsx → SiteMenu/Menu.tsx} +11 -15
  40. package/src/components/SiteMenu/MenuItems.tsx +22 -0
  41. package/src/components/SiteMenu/index.ts +2 -0
  42. package/src/components/Toolbar/System/SystemToolbar.tsx +4 -4
  43. package/src/components/Toolbar/System/index.ts +0 -1
  44. package/src/components/index.ts +1 -0
  45. package/dist/cjs/components/Toolbar/System/DefaultMenuItems.d.ts +0 -2
  46. package/dist/cjs/components/Toolbar/System/DefaultMenuItems.js +0 -13
  47. package/dist/cjs/components/Toolbar/System/DefaultMenuItems.js.map +0 -1
  48. package/dist/cjs/components/Toolbar/System/SiteMenu.js.map +0 -1
  49. package/dist/esm/components/Toolbar/System/DefaultMenuItems.d.ts +0 -2
  50. package/dist/esm/components/Toolbar/System/DefaultMenuItems.js +0 -8
  51. package/dist/esm/components/Toolbar/System/DefaultMenuItems.js.map +0 -1
  52. package/dist/esm/components/Toolbar/System/SiteMenu.js +0 -13
  53. package/dist/esm/components/Toolbar/System/SiteMenu.js.map +0 -1
  54. package/src/components/Toolbar/System/DefaultMenuItems.tsx +0 -18
@@ -1,15 +1,7 @@
1
+ /// <reference types="react" />
1
2
  import { FlexBoxProps } from '@xylabs/sdk-react';
2
- import { ReactNode } from 'react';
3
- import { To } from 'react-router-dom';
4
- export interface SiteMenuItem {
5
- name: string;
6
- to?: To;
7
- href?: string;
8
- onClick?: () => void;
9
- }
10
3
  export interface SiteMenuProps extends FlexBoxProps {
11
4
  hideSettingsMenuItem?: boolean;
12
- menu?: ReactNode;
13
5
  side?: 'left' | 'right' | 'top' | 'bottom';
14
6
  }
15
7
  export declare const SiteMenu: React.FC<SiteMenuProps>;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import MenuIcon from '@mui/icons-material/Menu';
3
+ import SettingsIcon from '@mui/icons-material/Settings';
4
+ import { Box, IconButton, List, SwipeableDrawer } from '@mui/material';
5
+ import { FlexRow } from '@xylabs/sdk-react';
6
+ import { useState } from 'react';
7
+ import { DrawerListItem } from './MenuItems';
8
+ export const SiteMenu = ({ side = 'right', children, ...props }) => {
9
+ const [open, setOpen] = useState(false);
10
+ return (_jsxs(FlexRow, { alignItems: "stretch", ...props, children: [_jsx(IconButton, { size: "small", color: "inherit", onClick: () => {
11
+ setOpen(!open);
12
+ }, children: _jsx(MenuIcon, { fontSize: "large" }) }), _jsx(SwipeableDrawer, { anchor: side, open: open, onClose: () => setOpen(false), onOpen: () => setOpen(true), children: _jsx(Box, { width: "auto", role: "presentation", onClick: () => setOpen(false), onKeyDown: () => setOpen(false), children: children ?? (_jsx(List, { children: _jsx(DrawerListItem, { primary: "Settings", icon: _jsx(SettingsIcon, {}), to: "/settings" }) })) }) })] }));
13
+ };
14
+ //# sourceMappingURL=Menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/components/SiteMenu/Menu.tsx"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAgB,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAO5C,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EAAE,IAAI,GAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC1F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvC,OAAO,CACL,MAAC,OAAO,IAAC,UAAU,EAAC,SAAS,KAAK,KAAK,aACrC,KAAC,UAAU,IACT,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;gBAChB,CAAC,YAED,KAAC,QAAQ,IAAC,QAAQ,EAAC,OAAO,GAAG,GAClB,EACb,KAAC,eAAe,IAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YACnG,KAAC,GAAG,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YACjG,QAAQ,IAAI,CACX,KAAC,IAAI,cACH,KAAC,cAAc,IAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAE,KAAC,YAAY,KAAG,EAAE,EAAE,EAAC,WAAW,GAAG,GACvE,CACR,GACG,GACU,IACV,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { ListItemProps, ListItemTextProps } from '@mui/material';
2
+ import { ListItemButtonExProps } from '@xyo-network/react-shared';
3
+ import { ReactNode } from 'react';
4
+ import { To } from 'react-router-dom';
5
+ export interface DrawerListItemProps extends ListItemProps {
6
+ primary: ListItemTextProps['primary'];
7
+ to?: To;
8
+ icon?: ReactNode;
9
+ onButtonClick?: ListItemButtonExProps['onClick'];
10
+ }
11
+ export declare const DrawerListItem: React.FC<DrawerListItemProps>;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ListItem, ListItemIcon, ListItemText } from '@mui/material';
3
+ import { ListItemButtonEx } from '@xyo-network/react-shared';
4
+ export const DrawerListItem = ({ primary, to, icon, onButtonClick, ...props }) => {
5
+ return (_jsx(ListItem, { ...props, children: _jsxs(ListItemButtonEx, { to: to, onClick: onButtonClick, children: [_jsx(ListItemIcon, { children: icon }), _jsx(ListItemText, { primary: primary })] }) }));
6
+ };
7
+ //# sourceMappingURL=MenuItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItems.js","sourceRoot":"","sources":["../../../../src/components/SiteMenu/MenuItems.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAiB,YAAY,EAAqB,MAAM,eAAe,CAAA;AACtG,OAAO,EAAE,gBAAgB,EAAyB,MAAM,2BAA2B,CAAA;AAWnF,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC9G,OAAO,CACL,KAAC,QAAQ,OAAK,KAAK,YACjB,MAAC,gBAAgB,IAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,aAC9C,KAAC,YAAY,cAAE,IAAI,GAAgB,EACnC,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,GAAI,IACjB,GACV,CACZ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Menu';
2
+ export * from './MenuItems';
@@ -0,0 +1,3 @@
1
+ export * from './Menu';
2
+ export * from './MenuItems';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SiteMenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
@@ -7,7 +7,7 @@ export interface SystemToolbarProps extends ToolbarProps {
7
7
  archiveSelectProps?: SelectExProps<string>;
8
8
  hideNetworkSelect?: boolean;
9
9
  hideArchiveSelect?: boolean;
10
- menuItems?: ReactNode;
10
+ menu?: ReactNode;
11
11
  darkModeButton?: boolean;
12
12
  authButton?: boolean;
13
13
  noMenu?: boolean;
@@ -5,8 +5,8 @@ import { ArchiveSelectEx } from '@xyo-network/react-archive';
5
5
  import { AuthStatusIconButton } from '@xyo-network/react-auth';
6
6
  import { NetworkSelectEx } from '@xyo-network/react-network';
7
7
  import { DarkModeIconButton } from '@xyo-network/react-shared';
8
- import { SiteMenu } from './SiteMenu';
9
- export const SystemToolbar = ({ children, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, menuItems, darkModeButton = false, authButton = false, noMenu = false, ...props }) => {
10
- return (_jsxs(Toolbar, { ...props, children: [hideNetworkSelect ? null : (_jsx(FlexRow, { marginX: 0.5, maxWidth: 120, children: _jsx(Paper, { variant: "elevation", children: _jsx(NetworkSelectEx, { fullWidth: true, ...networkSelectProps }) }) })), hideArchiveSelect ? null : (_jsx(FlexRow, { marginX: 0.5, maxWidth: 120, children: _jsx(Paper, { variant: "elevation", children: _jsx(ArchiveSelectEx, { fullWidth: true, ...archiveSelectProps }) }) })), children, authButton ? _jsx(AuthStatusIconButton, { color: "inherit" }) : null, darkModeButton ? _jsx(DarkModeIconButton, { color: "inherit" }) : null, noMenu ? null : _jsx(SiteMenu, { menu: menuItems })] }));
8
+ import { SiteMenu } from '../../SiteMenu';
9
+ export const SystemToolbar = ({ children, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, menu, darkModeButton = false, authButton = false, noMenu = false, ...props }) => {
10
+ return (_jsxs(Toolbar, { ...props, children: [hideNetworkSelect ? null : (_jsx(FlexRow, { marginX: 0.5, maxWidth: 120, children: _jsx(Paper, { variant: "elevation", children: _jsx(NetworkSelectEx, { fullWidth: true, ...networkSelectProps }) }) })), hideArchiveSelect ? null : (_jsx(FlexRow, { marginX: 0.5, maxWidth: 120, children: _jsx(Paper, { variant: "elevation", children: _jsx(ArchiveSelectEx, { fullWidth: true, ...archiveSelectProps }) }) })), children, authButton ? _jsx(AuthStatusIconButton, { color: "inherit" }) : null, darkModeButton ? _jsx(DarkModeIconButton, { color: "inherit" }) : null, noMenu ? null : _jsx(SiteMenu, { children: menu })] }));
11
11
  };
12
12
  //# sourceMappingURL=SystemToolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SystemToolbar.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/SystemToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAgB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAarC,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,cAAc,GAAG,KAAK,EACtB,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,KAAK,EACd,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,OAAO,OAAK,KAAK,aACf,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,YAClC,KAAC,KAAK,IAAC,OAAO,EAAC,WAAW,YACxB,KAAC,eAAe,IAAC,SAAS,WAAK,kBAAkB,GAAI,GAC/C,GACA,CACX,EACA,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,YAClC,KAAC,KAAK,IAAC,OAAO,EAAC,WAAW,YACxB,KAAC,eAAe,IAAC,SAAS,WAAK,kBAAkB,GAAI,GAC/C,GACA,CACX,EACA,QAAQ,EACR,UAAU,CAAC,CAAC,CAAC,KAAC,oBAAoB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,cAAc,CAAC,CAAC,CAAC,KAAC,kBAAkB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAC9D,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,SAAS,GAAI,IACtC,CACX,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"SystemToolbar.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/SystemToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAgB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAazC,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,IAAI,EACJ,cAAc,GAAG,KAAK,EACtB,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,KAAK,EACd,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,OAAO,OAAK,KAAK,aACf,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,YAClC,KAAC,KAAK,IAAC,OAAO,EAAC,WAAW,YACxB,KAAC,eAAe,IAAC,SAAS,WAAK,kBAAkB,GAAI,GAC/C,GACA,CACX,EACA,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,YAClC,KAAC,KAAK,IAAC,OAAO,EAAC,WAAW,YACxB,KAAC,eAAe,IAAC,SAAS,WAAK,kBAAkB,GAAI,GAC/C,GACA,CACX,EACA,QAAQ,EACR,UAAU,CAAC,CAAC,CAAC,KAAC,oBAAoB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,cAAc,CAAC,CAAC,CAAC,KAAC,kBAAkB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAC9D,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,cAAE,IAAI,GAAY,IACpC,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +1 @@
1
- export * from './SiteMenu';
2
1
  export * from './SystemToolbar';
@@ -1,3 +1,2 @@
1
- export * from './SiteMenu';
2
1
  export * from './SystemToolbar';
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './AppBar';
2
2
  export * from './MobileSystemControls';
3
3
  export * from './SearchBar';
4
+ export * from './SiteMenu';
4
5
  export * from './Toolbar';
@@ -1,5 +1,6 @@
1
1
  export * from './AppBar';
2
2
  export * from './MobileSystemControls';
3
3
  export * from './SearchBar';
4
+ export * from './SiteMenu';
4
5
  export * from './Toolbar';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
package/package.json CHANGED
@@ -16,12 +16,12 @@
16
16
  "@mui/material": "^5.8.3",
17
17
  "@xylabs/sdk-react": "^2.13.7",
18
18
  "@xyo-network/core": "^2.20.44",
19
- "@xyo-network/react-archive": "^2.25.41",
20
- "@xyo-network/react-archivist-api": "^2.25.41",
21
- "@xyo-network/react-auth": "^2.25.41",
22
- "@xyo-network/react-network": "^2.25.41",
23
- "@xyo-network/react-shared": "^2.25.41",
24
- "@xyo-network/react-theme": "^2.25.41",
19
+ "@xyo-network/react-archive": "^2.25.42",
20
+ "@xyo-network/react-archivist-api": "^2.25.42",
21
+ "@xyo-network/react-auth": "^2.25.42",
22
+ "@xyo-network/react-network": "^2.25.42",
23
+ "@xyo-network/react-shared": "^2.25.42",
24
+ "@xyo-network/react-theme": "^2.25.42",
25
25
  "lodash": "^4.17.21",
26
26
  "react": "^18.1.0",
27
27
  "react-dom": "^18.1.0",
@@ -105,6 +105,6 @@
105
105
  },
106
106
  "sideEffects": false,
107
107
  "types": "dist/esm/index.d.ts",
108
- "version": "2.25.41",
108
+ "version": "2.25.42",
109
109
  "packageManager": "yarn@3.1.1"
110
110
  }
@@ -1,25 +1,17 @@
1
1
  import MenuIcon from '@mui/icons-material/Menu'
2
- import { Box, IconButton, SwipeableDrawer } from '@mui/material'
2
+ import SettingsIcon from '@mui/icons-material/Settings'
3
+ import { Box, IconButton, List, SwipeableDrawer } from '@mui/material'
3
4
  import { FlexBoxProps, FlexRow } from '@xylabs/sdk-react'
4
- import { ReactNode, useState } from 'react'
5
- import { To } from 'react-router-dom'
5
+ import { useState } from 'react'
6
6
 
7
- import { DefaultMenuItems } from './DefaultMenuItems'
8
-
9
- export interface SiteMenuItem {
10
- name: string
11
- to?: To
12
- href?: string
13
- onClick?: () => void
14
- }
7
+ import { DrawerListItem } from './MenuItems'
15
8
 
16
9
  export interface SiteMenuProps extends FlexBoxProps {
17
10
  hideSettingsMenuItem?: boolean
18
- menu?: ReactNode
19
11
  side?: 'left' | 'right' | 'top' | 'bottom'
20
12
  }
21
13
 
22
- export const SiteMenu: React.FC<SiteMenuProps> = ({ side, menu, ...props }) => {
14
+ export const SiteMenu: React.FC<SiteMenuProps> = ({ side = 'right', children, ...props }) => {
23
15
  const [open, setOpen] = useState(false)
24
16
 
25
17
  return (
@@ -33,9 +25,13 @@ export const SiteMenu: React.FC<SiteMenuProps> = ({ side, menu, ...props }) => {
33
25
  >
34
26
  <MenuIcon fontSize="large" />
35
27
  </IconButton>
36
- <SwipeableDrawer anchor={side ?? 'left'} open={open} onClose={() => setOpen(false)} onOpen={() => setOpen(true)}>
28
+ <SwipeableDrawer anchor={side} open={open} onClose={() => setOpen(false)} onOpen={() => setOpen(true)}>
37
29
  <Box width="auto" role="presentation" onClick={() => setOpen(false)} onKeyDown={() => setOpen(false)}>
38
- {menu ?? <DefaultMenuItems />}
30
+ {children ?? (
31
+ <List>
32
+ <DrawerListItem primary="Settings" icon={<SettingsIcon />} to="/settings" />
33
+ </List>
34
+ )}
39
35
  </Box>
40
36
  </SwipeableDrawer>
41
37
  </FlexRow>
@@ -0,0 +1,22 @@
1
+ import { ListItem, ListItemIcon, ListItemProps, ListItemText, ListItemTextProps } from '@mui/material'
2
+ import { ListItemButtonEx, ListItemButtonExProps } from '@xyo-network/react-shared'
3
+ import { ReactNode } from 'react'
4
+ import { To } from 'react-router-dom'
5
+
6
+ export interface DrawerListItemProps extends ListItemProps {
7
+ primary: ListItemTextProps['primary']
8
+ to?: To
9
+ icon?: ReactNode
10
+ onButtonClick?: ListItemButtonExProps['onClick']
11
+ }
12
+
13
+ export const DrawerListItem: React.FC<DrawerListItemProps> = ({ primary, to, icon, onButtonClick, ...props }) => {
14
+ return (
15
+ <ListItem {...props}>
16
+ <ListItemButtonEx to={to} onClick={onButtonClick}>
17
+ <ListItemIcon>{icon}</ListItemIcon>
18
+ <ListItemText primary={primary} />
19
+ </ListItemButtonEx>
20
+ </ListItem>
21
+ )
22
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Menu'
2
+ export * from './MenuItems'
@@ -6,14 +6,14 @@ import { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-networ
6
6
  import { DarkModeIconButton } from '@xyo-network/react-shared'
7
7
  import { ReactNode } from 'react'
8
8
 
9
- import { SiteMenu } from './SiteMenu'
9
+ import { SiteMenu } from '../../SiteMenu'
10
10
 
11
11
  export interface SystemToolbarProps extends ToolbarProps {
12
12
  networkSelectProps?: NetworkSelectExProps
13
13
  archiveSelectProps?: SelectExProps<string>
14
14
  hideNetworkSelect?: boolean
15
15
  hideArchiveSelect?: boolean
16
- menuItems?: ReactNode
16
+ menu?: ReactNode
17
17
  darkModeButton?: boolean
18
18
  authButton?: boolean
19
19
  noMenu?: boolean
@@ -25,7 +25,7 @@ export const SystemToolbar: React.FC<SystemToolbarProps> = ({
25
25
  archiveSelectProps,
26
26
  hideNetworkSelect,
27
27
  hideArchiveSelect,
28
- menuItems,
28
+ menu,
29
29
  darkModeButton = false,
30
30
  authButton = false,
31
31
  noMenu = false,
@@ -50,7 +50,7 @@ export const SystemToolbar: React.FC<SystemToolbarProps> = ({
50
50
  {children}
51
51
  {authButton ? <AuthStatusIconButton color="inherit" /> : null}
52
52
  {darkModeButton ? <DarkModeIconButton color="inherit" /> : null}
53
- {noMenu ? null : <SiteMenu menu={menuItems} />}
53
+ {noMenu ? null : <SiteMenu>{menu}</SiteMenu>}
54
54
  </Toolbar>
55
55
  )
56
56
  }
@@ -1,2 +1 @@
1
- export * from './SiteMenu'
2
1
  export * from './SystemToolbar'
@@ -1,4 +1,5 @@
1
1
  export * from './AppBar'
2
2
  export * from './MobileSystemControls'
3
3
  export * from './SearchBar'
4
+ export * from './SiteMenu'
4
5
  export * from './Toolbar'
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const DefaultMenuItems: React.FC;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultMenuItems = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const Settings_1 = tslib_1.__importDefault(require("@mui/icons-material/Settings"));
7
- const material_1 = require("@mui/material");
8
- const react_shared_1 = require("@xyo-network/react-shared");
9
- const DefaultMenuItems = () => {
10
- return ((0, jsx_runtime_1.jsx)(material_1.List, { children: (0, jsx_runtime_1.jsx)(material_1.ListItem, Object.assign({ disablePadding: true }, { children: (0, jsx_runtime_1.jsxs)(react_shared_1.ListItemButtonEx, Object.assign({ to: "/settings" }, { children: [(0, jsx_runtime_1.jsx)(material_1.ListItemIcon, { children: (0, jsx_runtime_1.jsx)(Settings_1.default, {}) }), (0, jsx_runtime_1.jsx)(material_1.ListItemText, { primary: "Settings" })] })) })) }));
11
- };
12
- exports.DefaultMenuItems = DefaultMenuItems;
13
- //# sourceMappingURL=DefaultMenuItems.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultMenuItems.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/DefaultMenuItems.tsx"],"names":[],"mappings":";;;;;AAAA,oFAAuD;AACvD,4CAA0E;AAC1E,4DAA4D;AAErD,MAAM,gBAAgB,GAAa,GAAG,EAAE;IAC7C,OAAO,CACL,uBAAC,eAAI,cACH,uBAAC,mBAAQ,kBAAC,cAAc,sBACtB,wBAAC,+BAAgB,kBAAC,EAAE,EAAC,WAAW,iBAC9B,uBAAC,uBAAY,cACX,uBAAC,kBAAY,KAAG,GACH,EACf,uBAAC,uBAAY,IAAC,OAAO,EAAC,UAAU,GAAG,KAClB,IACV,GACN,CACR,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,gBAAgB,oBAa5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SiteMenu.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/SiteMenu.tsx"],"names":[],"mappings":";;;;;AAAA,4EAA+C;AAC/C,4CAAgE;AAChE,iDAAyD;AACzD,iCAA2C;AAG3C,yDAAqD;AAe9C,MAAM,QAAQ,GAA4B,CAAC,EAAwB,EAAE,EAAE;QAA5B,EAAE,IAAI,EAAE,IAAI,OAAY,EAAP,KAAK,sBAAtB,gBAAwB,CAAF;IACtE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAEvC,OAAO,CACL,wBAAC,mBAAO,kBAAC,UAAU,EAAC,SAAS,IAAK,KAAK,eACrC,uBAAC,qBAAU,kBACT,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;gBAChB,CAAC,gBAED,uBAAC,cAAQ,IAAC,QAAQ,EAAC,OAAO,GAAG,IAClB,EACb,uBAAC,0BAAe,kBAAC,MAAM,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAC7G,uBAAC,cAAG,kBAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,gBACjG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,uBAAC,mCAAgB,KAAG,IACzB,IACU,KACV,CACX,CAAA;AACH,CAAC,CAAA;AArBY,QAAA,QAAQ,YAqBpB"}
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const DefaultMenuItems: React.FC;
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import SettingsIcon from '@mui/icons-material/Settings';
3
- import { List, ListItem, ListItemIcon, ListItemText } from '@mui/material';
4
- import { ListItemButtonEx } from '@xyo-network/react-shared';
5
- export const DefaultMenuItems = () => {
6
- return (_jsx(List, { children: _jsx(ListItem, { disablePadding: true, children: _jsxs(ListItemButtonEx, { to: "/settings", children: [_jsx(ListItemIcon, { children: _jsx(SettingsIcon, {}) }), _jsx(ListItemText, { primary: "Settings" })] }) }) }));
7
- };
8
- //# sourceMappingURL=DefaultMenuItems.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultMenuItems.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/DefaultMenuItems.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAa,GAAG,EAAE;IAC7C,OAAO,CACL,KAAC,IAAI,cACH,KAAC,QAAQ,IAAC,cAAc,kBACtB,MAAC,gBAAgB,IAAC,EAAE,EAAC,WAAW,aAC9B,KAAC,YAAY,cACX,KAAC,YAAY,KAAG,GACH,EACf,KAAC,YAAY,IAAC,OAAO,EAAC,UAAU,GAAG,IAClB,GACV,GACN,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -1,13 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import MenuIcon from '@mui/icons-material/Menu';
3
- import { Box, IconButton, SwipeableDrawer } from '@mui/material';
4
- import { FlexRow } from '@xylabs/sdk-react';
5
- import { useState } from 'react';
6
- import { DefaultMenuItems } from './DefaultMenuItems';
7
- export const SiteMenu = ({ side, menu, ...props }) => {
8
- const [open, setOpen] = useState(false);
9
- return (_jsxs(FlexRow, { alignItems: "stretch", ...props, children: [_jsx(IconButton, { size: "small", color: "inherit", onClick: () => {
10
- setOpen(!open);
11
- }, children: _jsx(MenuIcon, { fontSize: "large" }) }), _jsx(SwipeableDrawer, { anchor: side ?? 'left', open: open, onClose: () => setOpen(false), onOpen: () => setOpen(true), children: _jsx(Box, { width: "auto", role: "presentation", onClick: () => setOpen(false), onKeyDown: () => setOpen(false), children: menu ?? _jsx(DefaultMenuItems, {}) }) })] }));
12
- };
13
- //# sourceMappingURL=SiteMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SiteMenu.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/SiteMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAgB,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAA;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAerD,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC5E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvC,OAAO,CACL,MAAC,OAAO,IAAC,UAAU,EAAC,SAAS,KAAK,KAAK,aACrC,KAAC,UAAU,IACT,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;gBAChB,CAAC,YAED,KAAC,QAAQ,IAAC,QAAQ,EAAC,OAAO,GAAG,GAClB,EACb,KAAC,eAAe,IAAC,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAC7G,KAAC,GAAG,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YACjG,IAAI,IAAI,KAAC,gBAAgB,KAAG,GACzB,GACU,IACV,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -1,18 +0,0 @@
1
- import SettingsIcon from '@mui/icons-material/Settings'
2
- import { List, ListItem, ListItemIcon, ListItemText } from '@mui/material'
3
- import { ListItemButtonEx } from '@xyo-network/react-shared'
4
-
5
- export const DefaultMenuItems: React.FC = () => {
6
- return (
7
- <List>
8
- <ListItem disablePadding>
9
- <ListItemButtonEx to="/settings">
10
- <ListItemIcon>
11
- <SettingsIcon />
12
- </ListItemIcon>
13
- <ListItemText primary="Settings" />
14
- </ListItemButtonEx>
15
- </ListItem>
16
- </List>
17
- )
18
- }