@xyo-network/react-appbar 2.25.68 → 2.25.69

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.js +2 -2
  5. package/dist/cjs/components/AppBar/Application.js.map +1 -1
  6. package/dist/cjs/components/DarkModeIconButton.d.ts +3 -0
  7. package/dist/cjs/components/DarkModeIconButton.js +17 -0
  8. package/dist/cjs/components/DarkModeIconButton.js.map +1 -0
  9. package/dist/cjs/components/Toolbar/System/SystemToolbar.d.ts +1 -2
  10. package/dist/cjs/components/Toolbar/System/SystemToolbar.js +3 -3
  11. package/dist/cjs/components/Toolbar/System/SystemToolbar.js.map +1 -1
  12. package/dist/esm/WebAppNavigationType.d.ts +1 -0
  13. package/dist/esm/WebAppNavigationType.js +2 -0
  14. package/dist/esm/WebAppNavigationType.js.map +1 -0
  15. package/dist/esm/components/AppBar/Application.d.ts +1 -2
  16. package/dist/esm/components/AppBar/Application.js +2 -4
  17. package/dist/esm/components/AppBar/Application.js.map +1 -1
  18. package/dist/esm/components/DarkModeIconButton.d.ts +3 -0
  19. package/dist/esm/components/DarkModeIconButton.js +12 -0
  20. package/dist/esm/components/DarkModeIconButton.js.map +1 -0
  21. package/dist/esm/components/Toolbar/System/SystemToolbar.d.ts +2 -1
  22. package/dist/esm/components/Toolbar/System/SystemToolbar.js +3 -2
  23. package/dist/esm/components/Toolbar/System/SystemToolbar.js.map +1 -1
  24. package/package.json +8 -8
  25. package/src/components/AppBar/Application.stories.tsx +23 -5
  26. package/src/components/AppBar/Application.tsx +4 -28
  27. package/src/components/Toolbar/System/SystemToolbar.stories.tsx +9 -1
  28. package/src/components/Toolbar/System/SystemToolbar.tsx +6 -0
@@ -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":""}
@@ -6,8 +6,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_common_1 = require("@xylabs/react-common");
7
7
  const Toolbar_1 = require("../Toolbar");
8
8
  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));
9
+ var { systemToolbar, 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 !== null && systemToolbar !== void 0 ? systemToolbar : (0, jsx_runtime_1.jsx)(Toolbar_1.SystemToolbar, {}), contextToolbar: contextToolbar !== null && contextToolbar !== void 0 ? contextToolbar : (0, jsx_runtime_1.jsx)(Toolbar_1.ContextToolbar, {}), position: "sticky", responsive: responsive }, props));
11
11
  };
12
12
  exports.ApplicationAppBar = ApplicationAppBar;
13
13
  //# 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,wCAA0D;AAQnD,MAAM,iBAAiB,GAAqC,CAAC,EAA8D,EAAE,EAAE;QAAlE,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,GAAG,IAAI,OAAY,EAAP,KAAK,sBAA5D,iDAA8D,CAAF;IAC9H,OAAO,uBAAC,uBAAQ,kBAAC,aAAa,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,uBAAC,uBAAa,KAAG,EAAE,cAAc,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,uBAAC,wBAAc,KAAG,EAAE,QAAQ,EAAC,QAAQ,EAAC,UAAU,EAAE,UAAU,IAAM,KAAK,EAAI,CAAA;AACnL,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B"}
@@ -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"}
@@ -7,9 +7,8 @@ export interface SystemToolbarProps extends ToolbarProps {
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;
12
+ menuItems?: ReactNode;
14
13
  }
15
14
  export declare const SystemToolbar: React.FC<SystemToolbarProps>;
@@ -5,14 +5,14 @@ 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
12
  const SiteMenu_1 = require("../../SiteMenu");
13
13
  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 })] })));
14
+ var { children, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, darkModeButton = false, authButton = false, menuItems } = _a, props = tslib_1.__rest(_a, ["children", "networkSelectProps", "archiveSelectProps", "hideNetworkSelect", "hideArchiveSelect", "darkModeButton", "authButton", "menuItems"]);
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_app_settings_1.DarkModeIconButton, { color: "inherit" }) : null, menuItems ? (0, jsx_runtime_1.jsx)(SiteMenu_1.SiteMenu, { children: menuItems }) : null] })));
16
16
  };
17
17
  exports.SystemToolbar = SystemToolbar;
18
18
  //# 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;AAGlF,6CAAyC;AAYlC,MAAM,aAAa,GAAiC,CAAC,EAU3D,EAAE,EAAE;QAVuD,EAC1D,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GAAG,KAAK,EACtB,UAAU,GAAG,KAAK,EAClB,SAAS,OAEV,EADI,KAAK,sBATkD,+IAU3D,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,EAC9D,SAAS,CAAC,CAAC,CAAC,uBAAC,mBAAQ,cAAE,SAAS,GAAY,CAAC,CAAC,CAAC,IAAI,KAC5C,CACX,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,aAAa,iBAiCzB"}
@@ -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,10 +1,9 @@
1
1
  import { ToolbarProps } from '@mui/material';
2
2
  import { AppBarExProps } from '@xylabs/react-common';
3
- import { ReactElement, ReactNode } from 'react';
3
+ import { ReactElement } 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;
9
8
  }
10
9
  export declare const ApplicationAppBar: React.FC<ApplicationAppBarProps>;
@@ -1,9 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Toolbar } from '@mui/material';
3
2
  import { AppBarEx } from '@xylabs/react-common';
4
- import { SiteMenu } from '../SiteMenu';
5
3
  import { ContextToolbar, SystemToolbar } from '../Toolbar';
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 }));
4
+ export const ApplicationAppBar = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {
5
+ return _jsx(AppBarEx, { systemToolbar: systemToolbar ?? _jsx(SystemToolbar, {}), contextToolbar: contextToolbar ?? _jsx(ContextToolbar, {}), position: "sticky", responsive: responsive, ...props });
8
6
  };
9
7
  //# sourceMappingURL=Application.js.map
@@ -1 +1 @@
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"}
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,EAAE,cAAc,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpI,OAAO,KAAC,QAAQ,IAAC,aAAa,EAAE,aAAa,IAAI,KAAC,aAAa,KAAG,EAAE,cAAc,EAAE,cAAc,IAAI,KAAC,cAAc,KAAG,EAAE,QAAQ,EAAC,QAAQ,EAAC,UAAU,EAAE,UAAU,KAAM,KAAK,GAAI,CAAA;AACnL,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,7 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { ToolbarProps } from '@mui/material';
3
2
  import { SelectExProps } from '@xylabs/react-common';
4
3
  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>;
@@ -9,5 +9,6 @@ export interface SystemToolbarProps extends ToolbarProps {
9
9
  hideArchiveSelect?: boolean;
10
10
  darkModeButton?: boolean;
11
11
  authButton?: boolean;
12
+ menuItems?: ReactNode;
12
13
  }
13
14
  export declare const SystemToolbar: React.FC<SystemToolbarProps>;
@@ -5,7 +5,8 @@ import { DarkModeIconButton } from '@xyo-network/react-app-settings';
5
5
  import { ArchiveSelectEx } from '@xyo-network/react-archive';
6
6
  import { AuthStatusIconButton } from '@xyo-network/react-auth';
7
7
  import { NetworkSelectEx } from '@xyo-network/react-network';
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] }));
8
+ import { SiteMenu } from '../../SiteMenu';
9
+ export const SystemToolbar = ({ children, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, darkModeButton = false, authButton = false, menuItems, ...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, menuItems ? _jsx(SiteMenu, { children: menuItems }) : null] }));
10
11
  };
11
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;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"}
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;AAGlF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAYzC,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,SAAS,EACT,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,SAAS,CAAC,CAAC,CAAC,KAAC,QAAQ,cAAE,SAAS,GAAY,CAAC,CAAC,CAAC,IAAI,IAC5C,CACX,CAAA;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -19,13 +19,13 @@
19
19
  "@xylabs/react-flexbox": "^2.14.4",
20
20
  "@xylabs/react-shared": "^2.14.4",
21
21
  "@xyo-network/core": "^2.20.45",
22
- "@xyo-network/react-app-settings": "^2.25.67",
23
- "@xyo-network/react-archive": "^2.25.68",
24
- "@xyo-network/react-archivist-api": "^2.25.68",
25
- "@xyo-network/react-auth": "^2.25.68",
26
- "@xyo-network/react-network": "^2.25.68",
27
- "@xyo-network/react-shared": "^2.25.68",
28
- "@xyo-network/react-wallet": "^2.25.68",
22
+ "@xyo-network/react-app-settings": "^2.25.68",
23
+ "@xyo-network/react-archive": "^2.25.69",
24
+ "@xyo-network/react-archivist-api": "^2.25.69",
25
+ "@xyo-network/react-auth": "^2.25.69",
26
+ "@xyo-network/react-network": "^2.25.69",
27
+ "@xyo-network/react-shared": "^2.25.69",
28
+ "@xyo-network/react-wallet": "^2.25.69",
29
29
  "react": "^18.2.0",
30
30
  "react-dom": "^18.2.0",
31
31
  "react-router-dom": "^6.3.0",
@@ -87,6 +87,6 @@
87
87
  },
88
88
  "sideEffects": false,
89
89
  "types": "dist/esm/index.d.ts",
90
- "version": "2.25.68",
90
+ "version": "2.25.69",
91
91
  "packageManager": "yarn@3.1.1"
92
92
  }
@@ -33,10 +33,14 @@ const Template: ComponentStory<typeof ApplicationAppBar> = (args) => (
33
33
  <ArchivesProvider>
34
34
  <ArchiveProvider>
35
35
  <ApplicationAppBar
36
- menuItems={
37
- <List>
38
- <SiteMenuListItem primary="Hello" />
39
- </List>
36
+ systemToolbar={
37
+ <SystemToolbar
38
+ menuItems={
39
+ <List>
40
+ <SiteMenuListItem primary="Hello" />
41
+ </List>
42
+ }
43
+ />
40
44
  }
41
45
  {...args}
42
46
  ></ApplicationAppBar>
@@ -52,7 +56,21 @@ const Default = Template.bind({})
52
56
  Default.args = {}
53
57
 
54
58
  const WithSearchBar = Template.bind({})
55
- WithSearchBar.args = { children: <SearchBar flexGrow={1} onSearch={(term) => alert(term)} />, color: 'primary', systemToolbar: <SystemToolbar darkModeButton authButton /> }
59
+ WithSearchBar.args = {
60
+ children: <SearchBar flexGrow={1} onSearch={(term) => alert(term)} />,
61
+ color: 'primary',
62
+ systemToolbar: (
63
+ <SystemToolbar
64
+ darkModeButton
65
+ authButton
66
+ menuItems={
67
+ <List>
68
+ <SiteMenuListItem primary="Hello" />
69
+ </List>
70
+ }
71
+ />
72
+ ),
73
+ }
56
74
 
57
75
  const WithWalletSelectBar = Template.bind({})
58
76
  WithWalletSelectBar.args = {
@@ -1,39 +1,15 @@
1
- import { Toolbar, ToolbarProps } from '@mui/material'
1
+ import { ToolbarProps } from '@mui/material'
2
2
  import { AppBarEx, AppBarExProps } from '@xylabs/react-common'
3
- import { ReactElement, ReactNode } from 'react'
3
+ import { ReactElement } from 'react'
4
4
 
5
- import { SiteMenu } from '../SiteMenu'
6
5
  import { ContextToolbar, SystemToolbar } from '../Toolbar'
7
6
 
8
7
  export interface ApplicationAppBarProps extends AppBarExProps {
9
8
  contextToolbar?: ReactElement<ToolbarProps>
10
9
  systemToolbar?: ReactElement<ToolbarProps>
11
10
  responsive?: boolean
12
- menuItems?: ReactNode
13
11
  }
14
12
 
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
- )
13
+ export const ApplicationAppBar: React.FC<ApplicationAppBarProps> = ({ systemToolbar, contextToolbar, responsive = true, ...props }) => {
14
+ return <AppBarEx systemToolbar={systemToolbar ?? <SystemToolbar />} contextToolbar={contextToolbar ?? <ContextToolbar />} position="sticky" responsive={responsive} {...props} />
39
15
  }
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable import/no-internal-modules */
2
+ import { List } from '@mui/material'
2
3
  import { ComponentMeta, ComponentStory } from '@storybook/react'
3
4
  import { BrowserRouter } from 'react-router-dom'
4
5
 
@@ -7,6 +8,7 @@ import { ArchiveProvider, ArchivesProvider } from '../../../../../archive/src'
7
8
  import { ArchivistApiProvider } from '../../../../../archivist-api/src'
8
9
  import { AuthProvider, AuthState } from '../../../../../auth/src'
9
10
  import { NetworkMemoryProvider } from '../../../../../network/src'
11
+ import { SiteMenuListItem } from '../../SiteMenu'
10
12
  import { SystemToolbar } from './SystemToolbar'
11
13
 
12
14
  const StorybookEntry = {
@@ -41,7 +43,13 @@ const TemplateWithAuthContext: ComponentStory<WrappedAuthComponent> = ({ authSta
41
43
  <BrowserRouter>
42
44
  <NetworkMemoryProvider>
43
45
  <ArchiveProvider>
44
- <SystemToolbar />
46
+ <SystemToolbar
47
+ menuItems={
48
+ <List>
49
+ <SiteMenuListItem primary="Hello" />
50
+ </List>
51
+ }
52
+ />
45
53
  </ArchiveProvider>
46
54
  </NetworkMemoryProvider>
47
55
  </BrowserRouter>
@@ -5,6 +5,9 @@ import { DarkModeIconButton } from '@xyo-network/react-app-settings'
5
5
  import { ArchiveSelectEx } from '@xyo-network/react-archive'
6
6
  import { AuthStatusIconButton } from '@xyo-network/react-auth'
7
7
  import { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'
8
+ import { ReactNode } from 'react'
9
+
10
+ import { SiteMenu } from '../../SiteMenu'
8
11
 
9
12
  export interface SystemToolbarProps extends ToolbarProps {
10
13
  networkSelectProps?: NetworkSelectExProps
@@ -13,6 +16,7 @@ export interface SystemToolbarProps extends ToolbarProps {
13
16
  hideArchiveSelect?: boolean
14
17
  darkModeButton?: boolean
15
18
  authButton?: boolean
19
+ menuItems?: ReactNode
16
20
  }
17
21
 
18
22
  export const SystemToolbar: React.FC<SystemToolbarProps> = ({
@@ -23,6 +27,7 @@ export const SystemToolbar: React.FC<SystemToolbarProps> = ({
23
27
  hideArchiveSelect,
24
28
  darkModeButton = false,
25
29
  authButton = false,
30
+ menuItems,
26
31
  ...props
27
32
  }) => {
28
33
  return (
@@ -44,6 +49,7 @@ export const SystemToolbar: React.FC<SystemToolbarProps> = ({
44
49
  {children}
45
50
  {authButton ? <AuthStatusIconButton color="inherit" /> : null}
46
51
  {darkModeButton ? <DarkModeIconButton color="inherit" /> : null}
52
+ {menuItems ? <SiteMenu>{menuItems}</SiteMenu> : null}
47
53
  </Toolbar>
48
54
  )
49
55
  }