@xyo-network/react-appbar 2.25.61 → 2.25.64

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 (28) hide show
  1. package/dist/cjs/WebAppNavigationType.d.ts +1 -0
  2. package/dist/cjs/WebAppNavigationType.js +3 -0
  3. package/dist/cjs/WebAppNavigationType.js.map +1 -0
  4. package/dist/cjs/components/AppBar/Application.d.ts +2 -1
  5. package/dist/cjs/components/AppBar/Application.js +3 -2
  6. package/dist/cjs/components/AppBar/Application.js.map +1 -1
  7. package/dist/cjs/components/DarkModeIconButton.d.ts +3 -0
  8. package/dist/cjs/components/DarkModeIconButton.js +17 -0
  9. package/dist/cjs/components/DarkModeIconButton.js.map +1 -0
  10. package/dist/cjs/components/Toolbar/System/SystemToolbar.d.ts +1 -3
  11. package/dist/cjs/components/Toolbar/System/SystemToolbar.js +3 -4
  12. package/dist/cjs/components/Toolbar/System/SystemToolbar.js.map +1 -1
  13. package/dist/esm/WebAppNavigationType.d.ts +1 -0
  14. package/dist/esm/WebAppNavigationType.js +2 -0
  15. package/dist/esm/WebAppNavigationType.js.map +1 -0
  16. package/dist/esm/components/AppBar/Application.d.ts +2 -1
  17. package/dist/esm/components/AppBar/Application.js +4 -2
  18. package/dist/esm/components/AppBar/Application.js.map +1 -1
  19. package/dist/esm/components/DarkModeIconButton.d.ts +3 -0
  20. package/dist/esm/components/DarkModeIconButton.js +12 -0
  21. package/dist/esm/components/DarkModeIconButton.js.map +1 -0
  22. package/dist/esm/components/Toolbar/System/SystemToolbar.d.ts +1 -3
  23. package/dist/esm/components/Toolbar/System/SystemToolbar.js +3 -4
  24. package/dist/esm/components/Toolbar/System/SystemToolbar.js.map +1 -1
  25. package/package.json +18 -17
  26. package/src/components/AppBar/Application.stories.tsx +10 -2
  27. package/src/components/AppBar/Application.tsx +28 -4
  28. package/src/components/Toolbar/System/SystemToolbar.tsx +1 -9
@@ -0,0 +1 @@
1
+ export declare type WebAppNavigationType = 'menu' | 'sidebar';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WebAppNavigationType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAppNavigationType.js","sourceRoot":"","sources":["../../src/WebAppNavigationType.ts"],"names":[],"mappings":""}
@@ -1,9 +1,10 @@
1
1
  import { ToolbarProps } from '@mui/material';
2
2
  import { AppBarExProps } from '@xylabs/react-common';
3
- import { ReactElement } from 'react';
3
+ import { ReactElement, ReactNode } from 'react';
4
4
  export interface ApplicationAppBarProps extends AppBarExProps {
5
5
  contextToolbar?: ReactElement<ToolbarProps>;
6
6
  systemToolbar?: ReactElement<ToolbarProps>;
7
7
  responsive?: boolean;
8
+ menuItems?: ReactNode;
8
9
  }
9
10
  export declare const ApplicationAppBar: React.FC<ApplicationAppBarProps>;
@@ -4,10 +4,11 @@ exports.ApplicationAppBar = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_common_1 = require("@xylabs/react-common");
7
+ const SiteMenu_1 = require("../SiteMenu");
7
8
  const Toolbar_1 = require("../Toolbar");
8
9
  const ApplicationAppBar = (_a) => {
9
- var { systemToolbar = (0, jsx_runtime_1.jsx)(Toolbar_1.SystemToolbar, {}), contextToolbar = (0, jsx_runtime_1.jsx)(Toolbar_1.ContextToolbar, {}), responsive = true } = _a, props = tslib_1.__rest(_a, ["systemToolbar", "contextToolbar", "responsive"]);
10
- return (0, jsx_runtime_1.jsx)(react_common_1.AppBarEx, Object.assign({ systemToolbar: systemToolbar, contextToolbar: contextToolbar, position: "sticky", responsive: responsive }, props));
10
+ var { menuItems, menu, systemToolbar = (0, jsx_runtime_1.jsx)(Toolbar_1.SystemToolbar, {}), contextToolbar = (0, jsx_runtime_1.jsx)(Toolbar_1.ContextToolbar, {}), responsive = true } = _a, props = tslib_1.__rest(_a, ["menuItems", "menu", "systemToolbar", "contextToolbar", "responsive"]);
11
+ return ((0, jsx_runtime_1.jsx)(react_common_1.AppBarEx, Object.assign({ systemToolbar: systemToolbar, contextToolbar: contextToolbar, menu: menu !== null && menu !== void 0 ? menu : (0, jsx_runtime_1.jsx)(SiteMenu_1.SiteMenu, { children: menuItems }), position: "sticky", responsive: responsive }, props)));
11
12
  };
12
13
  exports.ApplicationAppBar = ApplicationAppBar;
13
14
  //# sourceMappingURL=Application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../../src/components/AppBar/Application.tsx"],"names":[],"mappings":";;;;;AACA,uDAA8D;AAG9D,wCAA0D;AAQnD,MAAM,iBAAiB,GAAqC,CAAC,EAAuG,EAAE,EAAE;QAA3G,EAAE,aAAa,GAAG,uBAAC,uBAAa,KAAG,EAAE,cAAc,GAAG,uBAAC,wBAAc,KAAG,EAAE,UAAU,GAAG,IAAI,OAAY,EAAP,KAAK,sBAArG,iDAAuG,CAAF;IACvK,OAAO,uBAAC,uBAAQ,kBAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAC,QAAQ,EAAC,UAAU,EAAE,UAAU,IAAM,KAAK,EAAI,CAAA;AACxI,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../../src/components/AppBar/Application.tsx"],"names":[],"mappings":";;;;;AACA,uDAA8D;AAG9D,0CAAsC;AACtC,wCAA0D;AASnD,MAAM,iBAAiB,GAAqC,CAAC,EAOnE,EAAE,EAAE;QAP+D,EAClE,SAAS,EACT,IAAI,EACJ,aAAa,GAAG,uBAAC,uBAAa,KAAG,EACjC,cAAc,GAAG,uBAAC,wBAAc,KAAG,EACnC,UAAU,GAAG,IAAI,OAElB,EADI,KAAK,sBAN0D,sEAOnE,CADS;IAER,OAAO,CACL,uBAAC,uBAAQ,kBAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,uBAAC,mBAAQ,cAAE,SAAS,GAAY,EAAE,QAAQ,EAAC,QAAQ,EAAC,UAAU,EAAE,UAAU,IAAM,KAAK,EAAI,CAChL,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,iBAAiB,qBAW7B"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { IconButtonProps } from '@mui/material';
3
+ export declare const DarkModeIconButton: React.FC<IconButtonProps>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DarkModeIconButton = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const DarkModeRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/DarkModeRounded"));
7
+ const LightModeRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/LightModeRounded"));
8
+ const material_1 = require("@mui/material");
9
+ const DarkModeIconButton = (props) => {
10
+ const { darkMode, enableDarkMode } = useAppSettings();
11
+ const handleDarkModeChange = () => {
12
+ enableDarkMode === null || enableDarkMode === void 0 ? void 0 : enableDarkMode(!darkMode);
13
+ };
14
+ return ((0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleDarkModeChange }, props, { children: darkMode ? (0, jsx_runtime_1.jsx)(DarkModeRounded_1.default, {}) : (0, jsx_runtime_1.jsx)(LightModeRounded_1.default, {}) })));
15
+ };
16
+ exports.DarkModeIconButton = DarkModeIconButton;
17
+ //# sourceMappingURL=DarkModeIconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DarkModeIconButton.js","sourceRoot":"","sources":["../../../src/components/DarkModeIconButton.tsx"],"names":[],"mappings":";;;;;AAAA,kGAAqE;AACrE,oGAAuE;AACvE,4CAA2D;AAEpD,MAAM,kBAAkB,GAA8B,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAA;IAErD,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC,CAAA;IAED,OAAO,CACL,uBAAC,qBAAU,kBAAC,OAAO,EAAE,oBAAoB,IAAM,KAAK,cACjD,QAAQ,CAAC,CAAC,CAAC,uBAAC,yBAAmB,KAAG,CAAC,CAAC,CAAC,uBAAC,0BAAoB,KAAG,IACnD,CACd,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,kBAAkB,sBAY9B"}
@@ -1,15 +1,13 @@
1
+ /// <reference types="react" />
1
2
  import { ToolbarProps } from '@mui/material';
2
3
  import { SelectExProps } from '@xylabs/react-common';
3
4
  import { NetworkSelectExProps } from '@xyo-network/react-network';
4
- import { ReactNode } from 'react';
5
5
  export interface SystemToolbarProps extends ToolbarProps {
6
6
  networkSelectProps?: NetworkSelectExProps;
7
7
  archiveSelectProps?: SelectExProps<string>;
8
8
  hideNetworkSelect?: boolean;
9
9
  hideArchiveSelect?: boolean;
10
- menu?: ReactNode;
11
10
  darkModeButton?: boolean;
12
11
  authButton?: boolean;
13
- noMenu?: boolean;
14
12
  }
15
13
  export declare const SystemToolbar: React.FC<SystemToolbarProps>;
@@ -5,14 +5,13 @@ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const material_1 = require("@mui/material");
7
7
  const react_flexbox_1 = require("@xylabs/react-flexbox");
8
+ const react_app_settings_1 = require("@xyo-network/react-app-settings");
8
9
  const react_archive_1 = require("@xyo-network/react-archive");
9
10
  const react_auth_1 = require("@xyo-network/react-auth");
10
11
  const react_network_1 = require("@xyo-network/react-network");
11
- const react_shared_1 = require("@xyo-network/react-shared");
12
- const SiteMenu_1 = require("../../SiteMenu");
13
12
  const SystemToolbar = (_a) => {
14
- var { children, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, menu, darkModeButton = false, authButton = false, noMenu = false } = _a, props = tslib_1.__rest(_a, ["children", "networkSelectProps", "archiveSelectProps", "hideNetworkSelect", "hideArchiveSelect", "menu", "darkModeButton", "authButton", "noMenu"]);
15
- return ((0, jsx_runtime_1.jsxs)(material_1.Toolbar, Object.assign({}, props, { children: [hideNetworkSelect ? null : ((0, jsx_runtime_1.jsx)(react_flexbox_1.FlexRow, Object.assign({ marginX: 0.5, maxWidth: 120 }, { children: (0, jsx_runtime_1.jsx)(material_1.Paper, Object.assign({ variant: "elevation" }, { children: (0, jsx_runtime_1.jsx)(react_network_1.NetworkSelectEx, Object.assign({ fullWidth: true }, networkSelectProps)) })) }))), hideArchiveSelect ? null : ((0, jsx_runtime_1.jsx)(react_flexbox_1.FlexRow, Object.assign({ marginX: 0.5, maxWidth: 120 }, { children: (0, jsx_runtime_1.jsx)(material_1.Paper, Object.assign({ variant: "elevation" }, { children: (0, jsx_runtime_1.jsx)(react_archive_1.ArchiveSelectEx, Object.assign({ fullWidth: true }, archiveSelectProps)) })) }))), children, authButton ? (0, jsx_runtime_1.jsx)(react_auth_1.AuthStatusIconButton, { color: "inherit" }) : null, darkModeButton ? (0, jsx_runtime_1.jsx)(react_shared_1.DarkModeIconButton, { color: "inherit" }) : null, noMenu ? null : (0, jsx_runtime_1.jsx)(SiteMenu_1.SiteMenu, { children: menu })] })));
13
+ var { children, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, darkModeButton = false, authButton = false } = _a, props = tslib_1.__rest(_a, ["children", "networkSelectProps", "archiveSelectProps", "hideNetworkSelect", "hideArchiveSelect", "darkModeButton", "authButton"]);
14
+ return ((0, jsx_runtime_1.jsxs)(material_1.Toolbar, Object.assign({}, props, { children: [hideNetworkSelect ? null : ((0, jsx_runtime_1.jsx)(react_flexbox_1.FlexRow, Object.assign({ marginX: 0.5, maxWidth: 120 }, { children: (0, jsx_runtime_1.jsx)(material_1.Paper, Object.assign({ variant: "elevation" }, { children: (0, jsx_runtime_1.jsx)(react_network_1.NetworkSelectEx, Object.assign({ fullWidth: true }, networkSelectProps)) })) }))), hideArchiveSelect ? null : ((0, jsx_runtime_1.jsx)(react_flexbox_1.FlexRow, Object.assign({ marginX: 0.5, maxWidth: 120 }, { children: (0, jsx_runtime_1.jsx)(material_1.Paper, Object.assign({ variant: "elevation" }, { children: (0, jsx_runtime_1.jsx)(react_archive_1.ArchiveSelectEx, Object.assign({ fullWidth: true }, archiveSelectProps)) })) }))), children, authButton ? (0, jsx_runtime_1.jsx)(react_auth_1.AuthStatusIconButton, { color: "inherit" }) : null, darkModeButton ? (0, jsx_runtime_1.jsx)(react_app_settings_1.DarkModeIconButton, { color: "inherit" }) : null] })));
16
15
  };
17
16
  exports.SystemToolbar = SystemToolbar;
18
17
  //# sourceMappingURL=SystemToolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SystemToolbar.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/SystemToolbar.tsx"],"names":[],"mappings":";;;;;AAAA,4CAA4D;AAE5D,yDAA+C;AAC/C,8DAA4D;AAC5D,wDAA8D;AAC9D,8DAAkF;AAClF,4DAA8D;AAG9D,6CAAyC;AAalC,MAAM,aAAa,GAAiC,CAAC,EAW3D,EAAE,EAAE;QAXuD,EAC1D,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,IAAI,EACJ,cAAc,GAAG,KAAK,EACtB,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,KAAK,OAEf,EADI,KAAK,sBAVkD,oJAW3D,CADS;IAER,OAAO,CACL,wBAAC,kBAAO,oBAAK,KAAK,eACf,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,uBAAC,uBAAO,kBAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,gBAClC,uBAAC,gBAAK,kBAAC,OAAO,EAAC,WAAW,gBACxB,uBAAC,+BAAe,kBAAC,SAAS,UAAK,kBAAkB,EAAI,IAC/C,IACA,CACX,EACA,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,uBAAC,uBAAO,kBAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,gBAClC,uBAAC,gBAAK,kBAAC,OAAO,EAAC,WAAW,gBACxB,uBAAC,+BAAe,kBAAC,SAAS,UAAK,kBAAkB,EAAI,IAC/C,IACA,CACX,EACA,QAAQ,EACR,UAAU,CAAC,CAAC,CAAC,uBAAC,iCAAoB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,cAAc,CAAC,CAAC,CAAC,uBAAC,iCAAkB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAC9D,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAC,mBAAQ,cAAE,IAAI,GAAY,KACpC,CACX,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,aAAa,iBAkCzB"}
1
+ {"version":3,"file":"SystemToolbar.js","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/SystemToolbar.tsx"],"names":[],"mappings":";;;;;AAAA,4CAA4D;AAE5D,yDAA+C;AAC/C,wEAAoE;AACpE,8DAA4D;AAC5D,wDAA8D;AAC9D,8DAAkF;AAW3E,MAAM,aAAa,GAAiC,CAAC,EAS3D,EAAE,EAAE;QATuD,EAC1D,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GAAG,KAAK,EACtB,UAAU,GAAG,KAAK,OAEnB,EADI,KAAK,sBARkD,kIAS3D,CADS;IAER,OAAO,CACL,wBAAC,kBAAO,oBAAK,KAAK,eACf,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,uBAAC,uBAAO,kBAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,gBAClC,uBAAC,gBAAK,kBAAC,OAAO,EAAC,WAAW,gBACxB,uBAAC,+BAAe,kBAAC,SAAS,UAAK,kBAAkB,EAAI,IAC/C,IACA,CACX,EACA,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,uBAAC,uBAAO,kBAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,gBAClC,uBAAC,gBAAK,kBAAC,OAAO,EAAC,WAAW,gBACxB,uBAAC,+BAAe,kBAAC,SAAS,UAAK,kBAAkB,EAAI,IAC/C,IACA,CACX,EACA,QAAQ,EACR,UAAU,CAAC,CAAC,CAAC,uBAAC,iCAAoB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,cAAc,CAAC,CAAC,CAAC,uBAAC,uCAAkB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,KACvD,CACX,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,aAAa,iBA+BzB"}
@@ -0,0 +1 @@
1
+ export declare type WebAppNavigationType = 'menu' | 'sidebar';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WebAppNavigationType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAppNavigationType.js","sourceRoot":"","sources":["../../src/WebAppNavigationType.ts"],"names":[],"mappings":""}
@@ -1,9 +1,10 @@
1
1
  import { ToolbarProps } from '@mui/material';
2
2
  import { AppBarExProps } from '@xylabs/react-common';
3
- import { ReactElement } from 'react';
3
+ import { ReactElement, ReactNode } from 'react';
4
4
  export interface ApplicationAppBarProps extends AppBarExProps {
5
5
  contextToolbar?: ReactElement<ToolbarProps>;
6
6
  systemToolbar?: ReactElement<ToolbarProps>;
7
7
  responsive?: boolean;
8
+ menuItems?: ReactNode;
8
9
  }
9
10
  export declare const ApplicationAppBar: React.FC<ApplicationAppBarProps>;
@@ -1,7 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Toolbar } from '@mui/material';
2
3
  import { AppBarEx } from '@xylabs/react-common';
4
+ import { SiteMenu } from '../SiteMenu';
3
5
  import { ContextToolbar, SystemToolbar } from '../Toolbar';
4
- export const ApplicationAppBar = ({ systemToolbar = _jsx(SystemToolbar, {}), contextToolbar = _jsx(ContextToolbar, {}), responsive = true, ...props }) => {
5
- return _jsx(AppBarEx, { systemToolbar: systemToolbar, contextToolbar: contextToolbar, position: "sticky", responsive: responsive, ...props });
6
+ export const ApplicationAppBar = ({ menuItems, menu, systemToolbar = _jsx(SystemToolbar, {}), contextToolbar = _jsx(ContextToolbar, {}), responsive = true, ...props }) => {
7
+ return (_jsx(AppBarEx, { systemToolbar: systemToolbar, contextToolbar: contextToolbar, menu: (menu ?? menuItems) ? (_jsx(Toolbar, { children: _jsx(SiteMenu, { children: menuItems }) })) : undefined, position: "sticky", responsive: responsive, ...props }));
6
8
  };
7
9
  //# sourceMappingURL=Application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../../src/components/AppBar/Application.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAiB,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAQ1D,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAAE,aAAa,GAAG,KAAC,aAAa,KAAG,EAAE,cAAc,GAAG,KAAC,cAAc,KAAG,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC7K,OAAO,KAAC,QAAQ,IAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAC,QAAQ,EAAC,UAAU,EAAE,UAAU,KAAM,KAAK,GAAI,CAAA;AACxI,CAAC,CAAA"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../../src/components/AppBar/Application.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAiB,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAS1D,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAClE,SAAS,EACT,IAAI,EACJ,aAAa,GAAG,KAAC,aAAa,KAAG,EACjC,cAAc,GAAG,KAAC,cAAc,KAAG,EACnC,UAAU,GAAG,IAAI,EACjB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,KAAC,QAAQ,IACP,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,IAAI,EACF,CAAA,IAAI,IAAI,SAAS,EAAC,CAAC,CAAC,CAClB,KAAC,OAAO,cACN,KAAC,QAAQ,cAAE,SAAS,GAAY,GACxB,CACX,CAAC,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAC,QAAQ,EACjB,UAAU,EAAE,UAAU,KAClB,KAAK,GACT,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { IconButtonProps } from '@mui/material';
3
+ export declare const DarkModeIconButton: React.FC<IconButtonProps>;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import DarkModeRoundedIcon from '@mui/icons-material/DarkModeRounded';
3
+ import LightModeRoundedIcon from '@mui/icons-material/LightModeRounded';
4
+ import { IconButton } from '@mui/material';
5
+ export const DarkModeIconButton = (props) => {
6
+ const { darkMode, enableDarkMode } = useAppSettings();
7
+ const handleDarkModeChange = () => {
8
+ enableDarkMode?.(!darkMode);
9
+ };
10
+ return (_jsx(IconButton, { onClick: handleDarkModeChange, ...props, children: darkMode ? _jsx(DarkModeRoundedIcon, {}) : _jsx(LightModeRoundedIcon, {}) }));
11
+ };
12
+ //# sourceMappingURL=DarkModeIconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DarkModeIconButton.js","sourceRoot":"","sources":["../../../src/components/DarkModeIconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,mBAAmB,MAAM,qCAAqC,CAAA;AACrE,OAAO,oBAAoB,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAA;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAA8B,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAA;IAErD,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC,CAAA;IAED,OAAO,CACL,KAAC,UAAU,IAAC,OAAO,EAAE,oBAAoB,KAAM,KAAK,YACjD,QAAQ,CAAC,CAAC,CAAC,KAAC,mBAAmB,KAAG,CAAC,CAAC,CAAC,KAAC,oBAAoB,KAAG,GACnD,CACd,CAAA;AACH,CAAC,CAAA"}
@@ -1,15 +1,13 @@
1
+ /// <reference types="react" />
1
2
  import { ToolbarProps } from '@mui/material';
2
3
  import { SelectExProps } from '@xylabs/react-common';
3
4
  import { NetworkSelectExProps } from '@xyo-network/react-network';
4
- import { ReactNode } from 'react';
5
5
  export interface SystemToolbarProps extends ToolbarProps {
6
6
  networkSelectProps?: NetworkSelectExProps;
7
7
  archiveSelectProps?: SelectExProps<string>;
8
8
  hideNetworkSelect?: boolean;
9
9
  hideArchiveSelect?: boolean;
10
- menu?: ReactNode;
11
10
  darkModeButton?: boolean;
12
11
  authButton?: boolean;
13
- noMenu?: boolean;
14
12
  }
15
13
  export declare const SystemToolbar: React.FC<SystemToolbarProps>;
@@ -1,12 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Paper, Toolbar } from '@mui/material';
3
3
  import { FlexRow } from '@xylabs/react-flexbox';
4
+ import { DarkModeIconButton } from '@xyo-network/react-app-settings';
4
5
  import { ArchiveSelectEx } from '@xyo-network/react-archive';
5
6
  import { AuthStatusIconButton } from '@xyo-network/react-auth';
6
7
  import { NetworkSelectEx } from '@xyo-network/react-network';
7
- import { DarkModeIconButton } from '@xyo-network/react-shared';
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 })] }));
8
+ export const SystemToolbar = ({ children, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, darkModeButton = false, authButton = false, ...props }) => {
9
+ 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] }));
11
10
  };
12
11
  //# 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;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,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
+ {"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;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAA;AAWlF,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GAAG,KAAK,EACtB,UAAU,GAAG,KAAK,EAClB,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,IACvD,CACX,CAAA;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -12,21 +12,22 @@
12
12
  "dependencies": {
13
13
  "@emotion/react": "^11.9.3",
14
14
  "@emotion/styled": "^11.9.3",
15
- "@mui/icons-material": "^5.8.3",
16
- "@mui/material": "^5.8.3",
17
- "@xylabs/react-button": "^2.12.24",
18
- "@xylabs/react-common": "^2.12.24",
19
- "@xylabs/react-flexbox": "^2.12.24",
20
- "@xylabs/react-shared": "^2.12.24",
15
+ "@mui/icons-material": "^5.8.4",
16
+ "@mui/material": "^5.8.4",
17
+ "@xylabs/react-button": "^2.14.3",
18
+ "@xylabs/react-common": "^2.14.3",
19
+ "@xylabs/react-flexbox": "^2.14.3",
20
+ "@xylabs/react-shared": "^2.14.3",
21
21
  "@xyo-network/core": "^2.20.45",
22
- "@xyo-network/react-archive": "^2.25.61",
23
- "@xyo-network/react-archivist-api": "^2.25.61",
24
- "@xyo-network/react-auth": "^2.25.61",
25
- "@xyo-network/react-network": "^2.25.61",
26
- "@xyo-network/react-shared": "^2.25.61",
27
- "@xyo-network/react-wallet": "^2.25.61",
28
- "react": "^18.1.0",
29
- "react-dom": "^18.1.0",
22
+ "@xyo-network/react-app-settings": "^2.25.63",
23
+ "@xyo-network/react-archive": "^2.25.64",
24
+ "@xyo-network/react-archivist-api": "^2.25.64",
25
+ "@xyo-network/react-auth": "^2.25.64",
26
+ "@xyo-network/react-network": "^2.25.64",
27
+ "@xyo-network/react-shared": "^2.25.64",
28
+ "@xyo-network/react-wallet": "^2.25.64",
29
+ "react": "^18.2.0",
30
+ "react-dom": "^18.2.0",
30
31
  "react-router-dom": "^6.3.0",
31
32
  "tslib": "^2.4.0"
32
33
  },
@@ -69,8 +70,8 @@
69
70
  "resolutions": {
70
71
  "@storybook/react/webpack": "^5",
71
72
  "bn.js": "^5.2.0",
72
- "react": "^18.1.0",
73
- "react-dom": "^18.1.0",
73
+ "react": "^18.2.0",
74
+ "react-dom": "^18.2.0",
74
75
  "webpack": "^5"
75
76
  },
76
77
  "publishConfig": {
@@ -86,6 +87,6 @@
86
87
  },
87
88
  "sideEffects": false,
88
89
  "types": "dist/esm/index.d.ts",
89
- "version": "2.25.61",
90
+ "version": "2.25.64",
90
91
  "packageManager": "yarn@3.1.1"
91
92
  }
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable import/no-internal-modules */
2
- import { Paper } from '@mui/material'
2
+ import { List, Paper } from '@mui/material'
3
3
  import { ComponentMeta, ComponentStory } from '@storybook/react'
4
4
  import { FlexGrowCol } from '@xylabs/react-flexbox'
5
5
  import { XyoWalletBase } from '@xyo-network/core'
@@ -10,6 +10,7 @@ import { WalletAccountSelect, WalletProvider } from '@xyo-network/react-wallet'
10
10
  import { BrowserRouter } from 'react-router-dom'
11
11
 
12
12
  import { SearchBar } from '../SearchBar'
13
+ import { SiteMenuListItem } from '../SiteMenu'
13
14
  import { SystemToolbar } from '../Toolbar'
14
15
  import { ApplicationAppBar } from './Application'
15
16
 
@@ -31,7 +32,14 @@ const Template: ComponentStory<typeof ApplicationAppBar> = (args) => (
31
32
  <NetworkMemoryProvider>
32
33
  <ArchivesProvider>
33
34
  <ArchiveProvider>
34
- <ApplicationAppBar {...args}></ApplicationAppBar>
35
+ <ApplicationAppBar
36
+ menuItems={
37
+ <List>
38
+ <SiteMenuListItem primary="Hello" />
39
+ </List>
40
+ }
41
+ {...args}
42
+ ></ApplicationAppBar>
35
43
  </ArchiveProvider>
36
44
  </ArchivesProvider>
37
45
  </NetworkMemoryProvider>
@@ -1,15 +1,39 @@
1
- import { ToolbarProps } from '@mui/material'
1
+ import { Toolbar, ToolbarProps } from '@mui/material'
2
2
  import { AppBarEx, AppBarExProps } from '@xylabs/react-common'
3
- import { ReactElement } from 'react'
3
+ import { ReactElement, ReactNode } from 'react'
4
4
 
5
+ import { SiteMenu } from '../SiteMenu'
5
6
  import { ContextToolbar, SystemToolbar } from '../Toolbar'
6
7
 
7
8
  export interface ApplicationAppBarProps extends AppBarExProps {
8
9
  contextToolbar?: ReactElement<ToolbarProps>
9
10
  systemToolbar?: ReactElement<ToolbarProps>
10
11
  responsive?: boolean
12
+ menuItems?: ReactNode
11
13
  }
12
14
 
13
- export const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar = <SystemToolbar />, contextToolbar = <ContextToolbar />, responsive = true, ...props }) => {
14
- return <AppBarEx systemToolbar={systemToolbar} contextToolbar={contextToolbar} position="sticky" responsive={responsive} {...props} />
15
+ export const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({
16
+ menuItems,
17
+ menu,
18
+ systemToolbar = <SystemToolbar />,
19
+ contextToolbar = <ContextToolbar />,
20
+ responsive = true,
21
+ ...props
22
+ }) => {
23
+ return (
24
+ <AppBarEx
25
+ systemToolbar={systemToolbar}
26
+ contextToolbar={contextToolbar}
27
+ menu={
28
+ menu ?? menuItems ? (
29
+ <Toolbar>
30
+ <SiteMenu>{menuItems}</SiteMenu>
31
+ </Toolbar>
32
+ ) : undefined
33
+ }
34
+ position="sticky"
35
+ responsive={responsive}
36
+ {...props}
37
+ />
38
+ )
15
39
  }
@@ -1,23 +1,18 @@
1
1
  import { Paper, Toolbar, ToolbarProps } from '@mui/material'
2
2
  import { SelectExProps } from '@xylabs/react-common'
3
3
  import { FlexRow } from '@xylabs/react-flexbox'
4
+ import { DarkModeIconButton } from '@xyo-network/react-app-settings'
4
5
  import { ArchiveSelectEx } from '@xyo-network/react-archive'
5
6
  import { AuthStatusIconButton } from '@xyo-network/react-auth'
6
7
  import { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'
7
- import { DarkModeIconButton } from '@xyo-network/react-shared'
8
- import { ReactNode } from 'react'
9
-
10
- import { SiteMenu } from '../../SiteMenu'
11
8
 
12
9
  export interface SystemToolbarProps extends ToolbarProps {
13
10
  networkSelectProps?: NetworkSelectExProps
14
11
  archiveSelectProps?: SelectExProps<string>
15
12
  hideNetworkSelect?: boolean
16
13
  hideArchiveSelect?: boolean
17
- menu?: ReactNode
18
14
  darkModeButton?: boolean
19
15
  authButton?: boolean
20
- noMenu?: boolean
21
16
  }
22
17
 
23
18
  export const SystemToolbar: React.FC<SystemToolbarProps> = ({
@@ -26,10 +21,8 @@ export const SystemToolbar: React.FC<SystemToolbarProps> = ({
26
21
  archiveSelectProps,
27
22
  hideNetworkSelect,
28
23
  hideArchiveSelect,
29
- menu,
30
24
  darkModeButton = false,
31
25
  authButton = false,
32
- noMenu = false,
33
26
  ...props
34
27
  }) => {
35
28
  return (
@@ -51,7 +44,6 @@ export const SystemToolbar: React.FC<SystemToolbarProps> = ({
51
44
  {children}
52
45
  {authButton ? <AuthStatusIconButton color="inherit" /> : null}
53
46
  {darkModeButton ? <DarkModeIconButton color="inherit" /> : null}
54
- {noMenu ? null : <SiteMenu>{menu}</SiteMenu>}
55
47
  </Toolbar>
56
48
  )
57
49
  }