@xyo-network/react-appbar 2.35.5 → 2.35.7

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 (127) hide show
  1. package/dist/cjs/components/CollapsibleDrawer/CollapseToggle.d.ts +4 -0
  2. package/dist/cjs/components/CollapsibleDrawer/CollapseToggle.d.ts.map +1 -0
  3. package/dist/cjs/components/CollapsibleDrawer/CollapseToggle.js +23 -0
  4. package/dist/cjs/components/CollapsibleDrawer/CollapseToggle.js.map +1 -0
  5. package/dist/cjs/components/CollapsibleDrawer/CollapsibleDrawer.d.ts +5 -0
  6. package/dist/cjs/components/CollapsibleDrawer/CollapsibleDrawer.d.ts.map +1 -0
  7. package/dist/cjs/components/CollapsibleDrawer/CollapsibleDrawer.js +27 -0
  8. package/dist/cjs/components/CollapsibleDrawer/CollapsibleDrawer.js.map +1 -0
  9. package/dist/cjs/components/CollapsibleDrawer/index.d.ts +3 -0
  10. package/dist/cjs/components/CollapsibleDrawer/index.d.ts.map +1 -0
  11. package/dist/cjs/components/CollapsibleDrawer/index.js +6 -0
  12. package/dist/cjs/components/CollapsibleDrawer/index.js.map +1 -0
  13. package/dist/cjs/components/SiteMenu/Menu.d.ts +1 -0
  14. package/dist/cjs/components/SiteMenu/Menu.d.ts.map +1 -1
  15. package/dist/cjs/components/SiteMenu/Menu.js +4 -1
  16. package/dist/cjs/components/SiteMenu/Menu.js.map +1 -1
  17. package/dist/cjs/components/SiteMenu/MenuItems.d.ts.map +1 -1
  18. package/dist/cjs/components/SiteMenu/MenuItems.js +2 -2
  19. package/dist/cjs/components/SiteMenu/MenuItems.js.map +1 -1
  20. package/dist/cjs/components/Toolbar/System/SystemToolbar.d.ts +2 -0
  21. package/dist/cjs/components/Toolbar/System/SystemToolbar.d.ts.map +1 -1
  22. package/dist/cjs/components/Toolbar/System/SystemToolbar.js +2 -2
  23. package/dist/cjs/components/Toolbar/System/SystemToolbar.js.map +1 -1
  24. package/dist/cjs/components/index.d.ts +1 -0
  25. package/dist/cjs/components/index.d.ts.map +1 -1
  26. package/dist/cjs/components/index.js +1 -0
  27. package/dist/cjs/components/index.js.map +1 -1
  28. package/dist/cjs/contexts/Collapsible/State.d.ts +9 -0
  29. package/dist/cjs/contexts/Collapsible/State.d.ts.map +1 -0
  30. package/dist/cjs/contexts/Collapsible/State.js +3 -0
  31. package/dist/cjs/contexts/Collapsible/State.js.map +1 -0
  32. package/dist/cjs/contexts/Collapsible/context.d.ts +4 -0
  33. package/dist/cjs/contexts/Collapsible/context.d.ts.map +1 -0
  34. package/dist/cjs/contexts/Collapsible/context.js +6 -0
  35. package/dist/cjs/contexts/Collapsible/context.js.map +1 -0
  36. package/dist/cjs/contexts/Collapsible/index.d.ts +3 -0
  37. package/dist/cjs/contexts/Collapsible/index.d.ts.map +1 -0
  38. package/dist/cjs/contexts/Collapsible/index.js +6 -0
  39. package/dist/cjs/contexts/Collapsible/index.js.map +1 -0
  40. package/dist/cjs/contexts/Collapsible/provider.d.ts +8 -0
  41. package/dist/cjs/contexts/Collapsible/provider.d.ts.map +1 -0
  42. package/dist/cjs/contexts/Collapsible/provider.js +13 -0
  43. package/dist/cjs/contexts/Collapsible/provider.js.map +1 -0
  44. package/dist/cjs/contexts/Collapsible/use.d.ts +2 -0
  45. package/dist/cjs/contexts/Collapsible/use.d.ts.map +1 -0
  46. package/dist/cjs/contexts/Collapsible/use.js +8 -0
  47. package/dist/cjs/contexts/Collapsible/use.js.map +1 -0
  48. package/dist/cjs/contexts/index.d.ts +2 -0
  49. package/dist/cjs/contexts/index.d.ts.map +1 -0
  50. package/dist/cjs/contexts/index.js +5 -0
  51. package/dist/cjs/contexts/index.js.map +1 -0
  52. package/dist/cjs/index.d.ts +1 -0
  53. package/dist/cjs/index.d.ts.map +1 -1
  54. package/dist/cjs/index.js +1 -0
  55. package/dist/cjs/index.js.map +1 -1
  56. package/dist/docs.json +1987 -1491
  57. package/dist/esm/components/CollapsibleDrawer/CollapseToggle.d.ts +4 -0
  58. package/dist/esm/components/CollapsibleDrawer/CollapseToggle.d.ts.map +1 -0
  59. package/dist/esm/components/CollapsibleDrawer/CollapseToggle.js +18 -0
  60. package/dist/esm/components/CollapsibleDrawer/CollapseToggle.js.map +1 -0
  61. package/dist/esm/components/CollapsibleDrawer/CollapsibleDrawer.d.ts +5 -0
  62. package/dist/esm/components/CollapsibleDrawer/CollapsibleDrawer.d.ts.map +1 -0
  63. package/dist/esm/components/CollapsibleDrawer/CollapsibleDrawer.js +20 -0
  64. package/dist/esm/components/CollapsibleDrawer/CollapsibleDrawer.js.map +1 -0
  65. package/dist/esm/components/CollapsibleDrawer/index.d.ts +3 -0
  66. package/dist/esm/components/CollapsibleDrawer/index.d.ts.map +1 -0
  67. package/dist/esm/components/CollapsibleDrawer/index.js +3 -0
  68. package/dist/esm/components/CollapsibleDrawer/index.js.map +1 -0
  69. package/dist/esm/components/SiteMenu/Menu.d.ts +1 -0
  70. package/dist/esm/components/SiteMenu/Menu.d.ts.map +1 -1
  71. package/dist/esm/components/SiteMenu/Menu.js +5 -2
  72. package/dist/esm/components/SiteMenu/Menu.js.map +1 -1
  73. package/dist/esm/components/SiteMenu/MenuItems.d.ts.map +1 -1
  74. package/dist/esm/components/SiteMenu/MenuItems.js +2 -2
  75. package/dist/esm/components/SiteMenu/MenuItems.js.map +1 -1
  76. package/dist/esm/components/Toolbar/System/SystemToolbar.d.ts +2 -0
  77. package/dist/esm/components/Toolbar/System/SystemToolbar.d.ts.map +1 -1
  78. package/dist/esm/components/Toolbar/System/SystemToolbar.js +2 -2
  79. package/dist/esm/components/Toolbar/System/SystemToolbar.js.map +1 -1
  80. package/dist/esm/components/index.d.ts +1 -0
  81. package/dist/esm/components/index.d.ts.map +1 -1
  82. package/dist/esm/components/index.js +1 -0
  83. package/dist/esm/components/index.js.map +1 -1
  84. package/dist/esm/contexts/Collapsible/State.d.ts +9 -0
  85. package/dist/esm/contexts/Collapsible/State.d.ts.map +1 -0
  86. package/dist/esm/contexts/Collapsible/State.js +2 -0
  87. package/dist/esm/contexts/Collapsible/State.js.map +1 -0
  88. package/dist/esm/contexts/Collapsible/context.d.ts +4 -0
  89. package/dist/esm/contexts/Collapsible/context.d.ts.map +1 -0
  90. package/dist/esm/contexts/Collapsible/context.js +3 -0
  91. package/dist/esm/contexts/Collapsible/context.js.map +1 -0
  92. package/dist/esm/contexts/Collapsible/index.d.ts +3 -0
  93. package/dist/esm/contexts/Collapsible/index.d.ts.map +1 -0
  94. package/dist/esm/contexts/Collapsible/index.js +3 -0
  95. package/dist/esm/contexts/Collapsible/index.js.map +1 -0
  96. package/dist/esm/contexts/Collapsible/provider.d.ts +8 -0
  97. package/dist/esm/contexts/Collapsible/provider.d.ts.map +1 -0
  98. package/dist/esm/contexts/Collapsible/provider.js +9 -0
  99. package/dist/esm/contexts/Collapsible/provider.js.map +1 -0
  100. package/dist/esm/contexts/Collapsible/use.d.ts +2 -0
  101. package/dist/esm/contexts/Collapsible/use.d.ts.map +1 -0
  102. package/dist/esm/contexts/Collapsible/use.js +4 -0
  103. package/dist/esm/contexts/Collapsible/use.js.map +1 -0
  104. package/dist/esm/contexts/index.d.ts +2 -0
  105. package/dist/esm/contexts/index.d.ts.map +1 -0
  106. package/dist/esm/contexts/index.js +2 -0
  107. package/dist/esm/contexts/index.js.map +1 -0
  108. package/dist/esm/index.d.ts +1 -0
  109. package/dist/esm/index.d.ts.map +1 -1
  110. package/dist/esm/index.js +1 -0
  111. package/dist/esm/index.js.map +1 -1
  112. package/package.json +6 -6
  113. package/src/components/CollapsibleDrawer/CollapseToggle.tsx +29 -0
  114. package/src/components/CollapsibleDrawer/CollapsibleDrawer.tsx +35 -0
  115. package/src/components/CollapsibleDrawer/index.ts +2 -0
  116. package/src/components/SiteMenu/Menu.tsx +7 -2
  117. package/src/components/SiteMenu/MenuItems.tsx +3 -2
  118. package/src/components/Toolbar/System/SystemToolbar.stories.tsx +14 -8
  119. package/src/components/Toolbar/System/SystemToolbar.tsx +4 -2
  120. package/src/components/index.ts +1 -0
  121. package/src/contexts/Collapsible/State.ts +9 -0
  122. package/src/contexts/Collapsible/context.ts +5 -0
  123. package/src/contexts/Collapsible/index.ts +2 -0
  124. package/src/contexts/Collapsible/provider.tsx +20 -0
  125. package/src/contexts/Collapsible/use.tsx +5 -0
  126. package/src/contexts/index.ts +1 -0
  127. package/src/index.ts +1 -0
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ export declare const CollapseToggleFlex: React.FC<FlexBoxProps>;
4
+ //# sourceMappingURL=CollapseToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapseToggle.d.ts","sourceRoot":"","sources":["../../../../src/components/CollapsibleDrawer/CollapseToggle.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAI7D,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAqBrD,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import KeyboardDoubleArrowLeftRoundedIcon from '@mui/icons-material/KeyboardDoubleArrowLeftRounded';
3
+ import KeyboardDoubleArrowRightRounded from '@mui/icons-material/KeyboardDoubleArrowRightRounded';
4
+ import { IconButton } from '@mui/material';
5
+ import { FlexRow } from '@xylabs/react-flexbox';
6
+ import { useCollapsible } from '../../contexts';
7
+ export const CollapseToggleFlex = (props) => {
8
+ const { collapse, setCollapse, setCollapseEnd } = useCollapsible();
9
+ const handleCollapseToggle = () => {
10
+ setCollapse?.(!collapse);
11
+ setCollapseEnd?.((previous) => (previous ? false : previous));
12
+ };
13
+ return (_jsx(FlexRow, { mt: 2, py: 2, ...props, children: _jsx(IconButton, { onClick: handleCollapseToggle, sx: {
14
+ flexDirection: 'column',
15
+ ml: 1,
16
+ }, children: !collapse ? _jsx(KeyboardDoubleArrowLeftRoundedIcon, {}) : _jsx(KeyboardDoubleArrowRightRounded, {}) }) }));
17
+ };
18
+ //# sourceMappingURL=CollapseToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapseToggle.js","sourceRoot":"","sources":["../../../../src/components/CollapsibleDrawer/CollapseToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,kCAAkC,MAAM,oDAAoD,CAAA;AACnG,OAAO,+BAA+B,MAAM,qDAAqD,CAAA;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAA2B,CAAC,KAAK,EAAE,EAAE;IAClE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAA;IAElE,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;QACxB,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAA;IAED,OAAO,CACL,KAAC,OAAO,IAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAM,KAAK,YAC9B,KAAC,UAAU,IACT,OAAO,EAAE,oBAAoB,EAC7B,EAAE,EAAE;gBACF,aAAa,EAAE,QAAQ;gBACvB,EAAE,EAAE,CAAC;aACN,YAEA,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,kCAAkC,KAAG,CAAC,CAAC,CAAC,KAAC,+BAA+B,KAAG,GAC9E,GACL,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { CollapseProps } from '@mui/material';
3
+ import { WithChildren } from '@xylabs/react-shared';
4
+ export declare const CollapsibleDrawer: React.FC<WithChildren<CollapseProps>>;
5
+ //# sourceMappingURL=CollapsibleDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/CollapsibleDrawer/CollapsibleDrawer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAY,aAAa,EAAoB,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAsBnE,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Collapse, styled, useTheme } from '@mui/material';
3
+ import { useCollapsible } from '../../contexts';
4
+ export const CollapsibleDrawer = ({ children, ...props }) => {
5
+ const { collapse, setCollapseEnd } = useCollapsible();
6
+ const theme = useTheme();
7
+ const collapsedSize = props.collapsedSize ?? theme.spacing(5);
8
+ return (_jsx(CollapsibleFlexInner, { in: !collapse, orientation: "horizontal", collapsedSize: collapsedSize, onExited: () => setCollapseEnd?.(true), sx: {
9
+ alignItems: 'start',
10
+ display: 'flex',
11
+ height: '100%',
12
+ }, ...props, children: children }));
13
+ };
14
+ const CollapsibleFlexInner = styled(Collapse)(() => ({
15
+ '& .MuiCollapse-wrapperInner': {
16
+ display: 'flex',
17
+ flexDirection: 'column',
18
+ },
19
+ }));
20
+ //# sourceMappingURL=CollapsibleDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleDrawer.js","sourceRoot":"","sources":["../../../../src/components/CollapsibleDrawer/CollapsibleDrawer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAiB,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,CAAC,MAAM,iBAAiB,GAA0C,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACjG,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAA;IACrD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAE7D,OAAO,CACL,KAAC,oBAAoB,IACnB,EAAE,EAAE,CAAC,QAAQ,EACb,WAAW,EAAC,YAAY,EACxB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,EACtC,EAAE,EAAE;YACF,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,MAAM;SACf,KACG,KAAK,YAER,QAAQ,GACY,CACxB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,6BAA6B,EAAE;QAC7B,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;KACxB;CACF,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './CollapseToggle';
2
+ export * from './CollapsibleDrawer';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/CollapsibleDrawer/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './CollapseToggle';
2
+ export * from './CollapsibleDrawer';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/CollapsibleDrawer/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
@@ -3,6 +3,7 @@ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
3
  export interface SiteMenuProps extends FlexBoxProps {
4
4
  hideSettingsMenuItem?: boolean;
5
5
  side?: 'left' | 'right' | 'top' | 'bottom';
6
+ onMenuToggle?: (state?: boolean) => void;
6
7
  }
7
8
  export declare const SiteMenu: React.FC<SiteMenuProps>;
8
9
  //# sourceMappingURL=Menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/SiteMenu/Menu.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAK7D,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;CAC3C;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8B5C,CAAA"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/SiteMenu/Menu.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAK7D,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAkC5C,CAAA"}
@@ -3,10 +3,13 @@ import MenuIcon from '@mui/icons-material/Menu';
3
3
  import SettingsIcon from '@mui/icons-material/Settings';
4
4
  import { IconButton, List, SwipeableDrawer } from '@mui/material';
5
5
  import { FlexRow } from '@xylabs/react-flexbox';
6
- import { useState } from 'react';
6
+ import { useEffect, useState } from 'react';
7
7
  import { SiteMenuListItem } from './MenuItems';
8
- export const SiteMenu = ({ side = 'right', children, ...props }) => {
8
+ export const SiteMenu = ({ side = 'right', children, onMenuToggle, ...props }) => {
9
9
  const [open, setOpen] = useState(false);
10
+ useEffect(() => {
11
+ onMenuToggle?.(open);
12
+ }, [onMenuToggle, open]);
10
13
  return (_jsxs(FlexRow, { alignItems: "stretch", ...props, children: [_jsx(IconButton, { size: "small", color: "inherit", onClick: () => {
11
14
  setOpen(!open);
12
15
  }, children: _jsx(MenuIcon, { fontSize: "large" }) }), _jsx(SwipeableDrawer, { anchor: side, open: open, onClick: () => setOpen(false), onKeyDown: () => setOpen(false), onClose: () => setOpen(false), onOpen: () => setOpen(true), children: children ?? (_jsx(List, { children: _jsx(SiteMenuListItem, { primary: "Settings", icon: _jsx(SettingsIcon, {}), to: "/settings" }) })) })] }));
@@ -1 +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,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAO9C,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,IACd,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAE1B,QAAQ,IAAI,CACX,KAAC,IAAI,cACH,KAAC,gBAAgB,IAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAE,KAAC,YAAY,KAAG,EAAE,EAAE,EAAC,WAAW,GAAG,GACzE,CACR,GACe,IACV,CACX,CAAA;AACH,CAAC,CAAA"}
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,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAQ9C,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EAAE,IAAI,GAAG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAA;IAExB,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,IACd,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAE1B,QAAQ,IAAI,CACX,KAAC,IAAI,cACH,KAAC,gBAAgB,IAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAE,KAAC,YAAY,KAAG,EAAE,EAAE,EAAC,WAAW,GAAG,GACzE,CACR,GACe,IACV,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItems.d.ts","sourceRoot":"","sources":["../../../../src/components/SiteMenu/MenuItems.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAM5C,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB,EAAE,aAAa;IAChF,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;CACjD;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoB5D,CAAA"}
1
+ {"version":3,"file":"MenuItems.d.ts","sourceRoot":"","sources":["../../../../src/components/SiteMenu/MenuItems.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAM5C,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB,EAAE,aAAa;IAChF,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;CACjD;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqB5D,CAAA"}
@@ -3,8 +3,8 @@ import { MenuIcon } from './MenuIcon';
3
3
  import { MenuListItem } from './MenuListItem';
4
4
  import { MenuListItemButtonEx } from './MenuListItemButtonEx';
5
5
  import { MenuListItemText } from './MenuListItemText';
6
- export const SiteMenuListItem = ({ style, children, iconOnly, collapseEnd, icon, primary, onButtonClick, ...props }) => {
6
+ export const SiteMenuListItem = ({ style, children, iconOnly, collapseEnd, icon, primary, onButtonClick, to, ...props }) => {
7
7
  const { dense } = props;
8
- return (_jsxs(MenuListItem, { style: style, iconOnly: iconOnly, ...props, children: [_jsxs(MenuListItemButtonEx, { iconOnly: iconOnly, onClick: onButtonClick, collapseEnd: collapseEnd, dense: dense, children: [_jsx(MenuIcon, { icon: icon }), _jsx(MenuListItemText, { primary: primary, iconOnly: iconOnly })] }), children] }));
8
+ return (_jsxs(MenuListItem, { style: { whiteSpace: 'nowrap', ...style }, iconOnly: iconOnly, ...props, children: [_jsxs(MenuListItemButtonEx, { iconOnly: iconOnly, onClick: onButtonClick, collapseEnd: collapseEnd, dense: dense, to: to, children: [_jsx(MenuIcon, { icon: icon }), _jsx(MenuListItemText, { primary: primary, iconOnly: iconOnly })] }), children] }));
9
9
  };
10
10
  //# sourceMappingURL=MenuItems.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItems.js","sourceRoot":"","sources":["../../../../src/components/SiteMenu/MenuItems.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AASrD,MAAM,CAAC,MAAM,gBAAgB,GAAoC,CAAC,EAChE,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,OAAO,EACP,aAAa,EACb,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,OAAO,CACL,MAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAM,KAAK,aACvD,MAAC,oBAAoB,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,aACtG,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,EACxB,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,IACrC,EACtB,QAAQ,IACI,CAChB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"MenuItems.js","sourceRoot":"","sources":["../../../../src/components/SiteMenu/MenuItems.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AASrD,MAAM,CAAC,MAAM,gBAAgB,GAAoC,CAAC,EAChE,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,OAAO,EACP,aAAa,EACb,EAAE,EACF,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,OAAO,CACL,MAAC,YAAY,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,KAAM,KAAK,aACpF,MAAC,oBAAoB,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,aAC9G,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,EACxB,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,IACrC,EACtB,QAAQ,IACI,CAChB,CAAA;AACH,CAAC,CAAA"}
@@ -2,6 +2,7 @@ import { ToolbarProps } from '@mui/material';
2
2
  import { SelectExProps } from '@xylabs/react-common';
3
3
  import { NetworkSelectExProps } from '@xyo-network/react-network';
4
4
  import { ReactNode } from 'react';
5
+ import { SiteMenuProps } from '../../SiteMenu';
5
6
  export interface SystemToolbarProps extends ToolbarProps {
6
7
  networkSelectProps?: NetworkSelectExProps;
7
8
  archiveSelectProps?: SelectExProps<string>;
@@ -12,6 +13,7 @@ export interface SystemToolbarProps extends ToolbarProps {
12
13
  menuItems?: ReactNode;
13
14
  precedingChildren?: ReactNode;
14
15
  developerMode?: boolean;
16
+ onMenuToggle?: SiteMenuProps['onMenuToggle'];
15
17
  }
16
18
  export declare const SystemToolbar: React.FC<SystemToolbarProps>;
17
19
  //# sourceMappingURL=SystemToolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SystemToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/SystemToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKpD,OAAO,EAAmB,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,kBAAkB,CAAC,EAAE,oBAAoB,CAAA;IACzC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmCtD,CAAA"}
1
+ {"version":3,"file":"SystemToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Toolbar/System/SystemToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKpD,OAAO,EAAmB,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAY,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAExD,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,kBAAkB,CAAC,EAAE,oBAAoB,CAAA;IACzC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CAC7C;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoCtD,CAAA"}
@@ -6,7 +6,7 @@ import { ArchiveSelectEx } from '@xyo-network/react-archive';
6
6
  import { AuthSetsStatusIconButton } from '@xyo-network/react-auth-sets';
7
7
  import { NetworkSelectEx } from '@xyo-network/react-network';
8
8
  import { SiteMenu } from '../../SiteMenu';
9
- export const SystemToolbar = ({ children, precedingChildren, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, darkModeButton = false, authButton = false, menuItems, ...props }) => {
10
- return (_jsxs(Toolbar, { ...props, children: [precedingChildren, hideNetworkSelect ? null : (_jsx(FlexRow, { marginX: 0.5, children: _jsx(Paper, { variant: "elevation", children: _jsx(NetworkSelectEx, { fullWidth: true, ...networkSelectProps }) }) })), hideArchiveSelect ? null : (_jsx(FlexRow, { marginX: 0.5, children: _jsx(Paper, { variant: "elevation", children: _jsx(ArchiveSelectEx, { fullWidth: true, ...archiveSelectProps }) }) })), children, authButton ? _jsx(AuthSetsStatusIconButton, { color: "inherit" }) : null, darkModeButton ? _jsx(DarkModeIconButton, { color: "inherit" }) : null, menuItems ? _jsx(SiteMenu, { children: menuItems }) : null] }));
9
+ export const SystemToolbar = ({ children, precedingChildren, networkSelectProps, archiveSelectProps, hideNetworkSelect, hideArchiveSelect, darkModeButton = false, authButton = false, menuItems, onMenuToggle, ...props }) => {
10
+ return (_jsxs(Toolbar, { ...props, children: [precedingChildren, hideNetworkSelect ? null : (_jsx(FlexRow, { marginX: 0.5, children: _jsx(Paper, { variant: "elevation", children: _jsx(NetworkSelectEx, { fullWidth: true, ...networkSelectProps }) }) })), hideArchiveSelect ? null : (_jsx(FlexRow, { marginX: 0.5, children: _jsx(Paper, { variant: "elevation", children: _jsx(ArchiveSelectEx, { fullWidth: true, ...archiveSelectProps }) }) })), children, authButton ? _jsx(AuthSetsStatusIconButton, { color: "inherit" }) : null, darkModeButton ? _jsx(DarkModeIconButton, { color: "inherit" }) : null, menuItems ? _jsx(SiteMenu, { onMenuToggle: onMenuToggle, children: menuItems }) : null] }));
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;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,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAA;AAGlF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAczC,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,EACR,iBAAiB,EACjB,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,EACjB,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAE,GAAG,YACnB,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,YACnB,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,wBAAwB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAChE,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"}
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,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAA;AAGlF,OAAO,EAAE,QAAQ,EAAiB,MAAM,gBAAgB,CAAA;AAexD,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GAAG,KAAK,EACtB,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,OAAO,OAAK,KAAK,aACf,iBAAiB,EACjB,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,KAAC,OAAO,IAAC,OAAO,EAAE,GAAG,YACnB,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,YACnB,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,wBAAwB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAChE,cAAc,CAAC,CAAC,CAAC,KAAC,kBAAkB,IAAC,KAAK,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAC9D,SAAS,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,YAAY,EAAE,YAAY,YAAG,SAAS,GAAY,CAAC,CAAC,CAAC,IAAI,IACxE,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './AppBar';
2
+ export * from './CollapsibleDrawer';
2
3
  export * from './MobileSystemControls';
3
4
  export * from './SearchBar';
4
5
  export * from './SiteMenu';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './AppBar';
2
+ export * from './CollapsibleDrawer';
2
3
  export * from './MobileSystemControls';
3
4
  export * from './SearchBar';
4
5
  export * from './SiteMenu';
@@ -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,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { ContextExState } from '@xyo-network/react-shared';
2
+ import { Dispatch, SetStateAction } from 'react';
3
+ export interface CollapsibleState extends ContextExState {
4
+ collapse?: boolean;
5
+ setCollapse?: Dispatch<SetStateAction<boolean>>;
6
+ collapseEnd?: boolean;
7
+ setCollapseEnd?: Dispatch<SetStateAction<boolean>>;
8
+ }
9
+ //# sourceMappingURL=State.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;CACnD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=State.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/State.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { CollapsibleState } from './State';
3
+ export declare const CollapsibleContext: import("react").Context<CollapsibleState & import("@xyo-network/react-shared").ContextExState>;
4
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/context.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,kBAAkB,gGAAsC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { createContextEx } from '@xyo-network/react-shared';
2
+ export const CollapsibleContext = createContextEx();
3
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,EAAoB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './provider';
2
+ export * from './use';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './provider';
2
+ export * from './use';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { WithChildren } from '@xylabs/react-shared';
3
+ export interface CollapsibleProviderProps extends WithChildren {
4
+ defaultCollapse?: boolean;
5
+ defaultCollapseEnd?: boolean;
6
+ }
7
+ export declare const CollapsibleProvider: React.FC<CollapsibleProviderProps>;
8
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CASlE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { CollapsibleContext } from './context';
4
+ export const CollapsibleProvider = ({ defaultCollapse = false, defaultCollapseEnd = false, children }) => {
5
+ const [collapse, setCollapse] = useState(defaultCollapse);
6
+ const [collapseEnd, setCollapseEnd] = useState(defaultCollapseEnd);
7
+ return (_jsx(CollapsibleContext.Provider, { value: { collapse, collapseEnd, provided: true, setCollapse, setCollapseEnd }, children: children }));
8
+ };
9
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAO9C,MAAM,CAAC,MAAM,mBAAmB,GAAuC,CAAC,EAAE,eAAe,GAAG,KAAK,EAAE,kBAAkB,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3I,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAElE,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,YACvG,QAAQ,GACmB,CAC/B,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useCollapsible: () => Omit<import("./State").CollapsibleState & import("@xyo-network/react-shared").ContextExState, "provided">;
2
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,iHAA+D,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { useContextEx } from '@xyo-network/react-shared';
2
+ import { CollapsibleContext } from './context';
3
+ export const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false);
4
+ //# sourceMappingURL=use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/Collapsible/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Collapsible';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Collapsible';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from './components';
2
+ export * from './contexts';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './components';
2
+ export * from './contexts';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
package/package.json CHANGED
@@ -16,11 +16,11 @@
16
16
  "@xylabs/react-flexbox": "^2.14.20",
17
17
  "@xylabs/react-link": "^2.14.20",
18
18
  "@xylabs/react-shared": "^2.14.20",
19
- "@xyo-network/react-app-settings": "^2.35.5",
20
- "@xyo-network/react-archive": "^2.35.5",
21
- "@xyo-network/react-auth-sets": "^2.35.5",
22
- "@xyo-network/react-network": "^2.35.5",
23
- "@xyo-network/react-shared": "^2.35.5",
19
+ "@xyo-network/react-app-settings": "^2.35.7",
20
+ "@xyo-network/react-archive": "^2.35.7",
21
+ "@xyo-network/react-auth-sets": "^2.35.7",
22
+ "@xyo-network/react-network": "^2.35.7",
23
+ "@xyo-network/react-shared": "^2.35.7",
24
24
  "tslib": "^2.4.0"
25
25
  },
26
26
  "peerDependencies": {
@@ -76,5 +76,5 @@
76
76
  },
77
77
  "sideEffects": false,
78
78
  "types": "dist/esm/index.d.ts",
79
- "version": "2.35.5"
79
+ "version": "2.35.7"
80
80
  }
@@ -0,0 +1,29 @@
1
+ import KeyboardDoubleArrowLeftRoundedIcon from '@mui/icons-material/KeyboardDoubleArrowLeftRounded'
2
+ import KeyboardDoubleArrowRightRounded from '@mui/icons-material/KeyboardDoubleArrowRightRounded'
3
+ import { IconButton } from '@mui/material'
4
+ import { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'
5
+
6
+ import { useCollapsible } from '../../contexts'
7
+
8
+ export const CollapseToggleFlex: React.FC<FlexBoxProps> = (props) => {
9
+ const { collapse, setCollapse, setCollapseEnd } = useCollapsible()
10
+
11
+ const handleCollapseToggle = () => {
12
+ setCollapse?.(!collapse)
13
+ setCollapseEnd?.((previous) => (previous ? false : previous))
14
+ }
15
+
16
+ return (
17
+ <FlexRow mt={2} py={2} {...props}>
18
+ <IconButton
19
+ onClick={handleCollapseToggle}
20
+ sx={{
21
+ flexDirection: 'column',
22
+ ml: 1,
23
+ }}
24
+ >
25
+ {!collapse ? <KeyboardDoubleArrowLeftRoundedIcon /> : <KeyboardDoubleArrowRightRounded />}
26
+ </IconButton>
27
+ </FlexRow>
28
+ )
29
+ }
@@ -0,0 +1,35 @@
1
+ import { Collapse, CollapseProps, styled, useTheme } from '@mui/material'
2
+ import { WithChildren } from '@xylabs/react-shared'
3
+
4
+ import { useCollapsible } from '../../contexts'
5
+
6
+ export const CollapsibleDrawer: React.FC<WithChildren<CollapseProps>> = ({ children, ...props }) => {
7
+ const { collapse, setCollapseEnd } = useCollapsible()
8
+ const theme = useTheme()
9
+
10
+ const collapsedSize = props.collapsedSize ?? theme.spacing(5)
11
+
12
+ return (
13
+ <CollapsibleFlexInner
14
+ in={!collapse}
15
+ orientation="horizontal"
16
+ collapsedSize={collapsedSize}
17
+ onExited={() => setCollapseEnd?.(true)}
18
+ sx={{
19
+ alignItems: 'start',
20
+ display: 'flex',
21
+ height: '100%',
22
+ }}
23
+ {...props}
24
+ >
25
+ {children}
26
+ </CollapsibleFlexInner>
27
+ )
28
+ }
29
+
30
+ const CollapsibleFlexInner = styled(Collapse)(() => ({
31
+ '& .MuiCollapse-wrapperInner': {
32
+ display: 'flex',
33
+ flexDirection: 'column',
34
+ },
35
+ }))
@@ -0,0 +1,2 @@
1
+ export * from './CollapseToggle'
2
+ export * from './CollapsibleDrawer'
@@ -2,18 +2,23 @@ import MenuIcon from '@mui/icons-material/Menu'
2
2
  import SettingsIcon from '@mui/icons-material/Settings'
3
3
  import { IconButton, List, SwipeableDrawer } from '@mui/material'
4
4
  import { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'
5
- import { useState } from 'react'
5
+ import { useEffect, useState } from 'react'
6
6
 
7
7
  import { SiteMenuListItem } from './MenuItems'
8
8
 
9
9
  export interface SiteMenuProps extends FlexBoxProps {
10
10
  hideSettingsMenuItem?: boolean
11
11
  side?: 'left' | 'right' | 'top' | 'bottom'
12
+ onMenuToggle?: (state?: boolean) => void
12
13
  }
13
14
 
14
- export const SiteMenu: React.FC<SiteMenuProps> = ({ side = 'right', children, ...props }) => {
15
+ export const SiteMenu: React.FC<SiteMenuProps> = ({ side = 'right', children, onMenuToggle, ...props }) => {
15
16
  const [open, setOpen] = useState(false)
16
17
 
18
+ useEffect(() => {
19
+ onMenuToggle?.(open)
20
+ }, [onMenuToggle, open])
21
+
17
22
  return (
18
23
  <FlexRow alignItems="stretch" {...props}>
19
24
  <IconButton
@@ -24,12 +24,13 @@ export const SiteMenuListItem: React.FC<SiteMenuListItemProps> = ({
24
24
  icon,
25
25
  primary,
26
26
  onButtonClick,
27
+ to,
27
28
  ...props
28
29
  }) => {
29
30
  const { dense } = props
30
31
  return (
31
- <MenuListItem style={style} iconOnly={iconOnly} {...props}>
32
- <MenuListItemButtonEx iconOnly={iconOnly} onClick={onButtonClick} collapseEnd={collapseEnd} dense={dense}>
32
+ <MenuListItem style={{ whiteSpace: 'nowrap', ...style }} iconOnly={iconOnly} {...props}>
33
+ <MenuListItemButtonEx iconOnly={iconOnly} onClick={onButtonClick} collapseEnd={collapseEnd} dense={dense} to={to}>
33
34
  <MenuIcon icon={icon} />
34
35
  <MenuListItemText primary={primary} iconOnly={iconOnly} />
35
36
  </MenuListItemButtonEx>
@@ -12,6 +12,12 @@ import { BrowserRouter } from 'react-router-dom'
12
12
  import { SiteMenuListItem } from '../../SiteMenu'
13
13
  import { SystemToolbar } from './SystemToolbar'
14
14
 
15
+ const DefaultMenu = (
16
+ <List>
17
+ <SiteMenuListItem primary="Hello" />
18
+ </List>
19
+ )
20
+
15
21
  const StorybookEntry: Meta = {
16
22
  component: SystemToolbar,
17
23
  parameters: {
@@ -43,13 +49,7 @@ const TemplateWithAuthContext: ComponentStory<WrappedAuthComponent> = ({ authSta
43
49
  <BrowserRouter>
44
50
  <NetworkMemoryProvider>
45
51
  <ArchiveProvider>
46
- <SystemToolbar
47
- menuItems={
48
- <List>
49
- <SiteMenuListItem primary="Hello" />
50
- </List>
51
- }
52
- />
52
+ <SystemToolbar menuItems={DefaultMenu} />
53
53
  </ArchiveProvider>
54
54
  </NetworkMemoryProvider>
55
55
  </BrowserRouter>
@@ -84,7 +84,13 @@ PrecedingChildren.args = {
84
84
  ),
85
85
  }
86
86
 
87
- export { Default, NeedsReAuth, PrecedingChildren, WithLoggedInAccount }
87
+ const WithOnMenuToggle = Template.bind({})
88
+ WithOnMenuToggle.args = {
89
+ menuItems: DefaultMenu,
90
+ onMenuToggle: (state) => console.log(state),
91
+ }
92
+
93
+ export { Default, NeedsReAuth, PrecedingChildren, WithLoggedInAccount, WithOnMenuToggle }
88
94
 
89
95
  // eslint-disable-next-line import/no-default-export
90
96
  export default StorybookEntry
@@ -7,7 +7,7 @@ import { AuthSetsStatusIconButton } from '@xyo-network/react-auth-sets'
7
7
  import { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'
8
8
  import { ReactNode } from 'react'
9
9
 
10
- import { SiteMenu } from '../../SiteMenu'
10
+ import { SiteMenu, SiteMenuProps } from '../../SiteMenu'
11
11
 
12
12
  export interface SystemToolbarProps extends ToolbarProps {
13
13
  networkSelectProps?: NetworkSelectExProps
@@ -19,6 +19,7 @@ export interface SystemToolbarProps extends ToolbarProps {
19
19
  menuItems?: ReactNode
20
20
  precedingChildren?: ReactNode
21
21
  developerMode?: boolean
22
+ onMenuToggle?: SiteMenuProps['onMenuToggle']
22
23
  }
23
24
 
24
25
  export const SystemToolbar: React.FC<SystemToolbarProps> = ({
@@ -31,6 +32,7 @@ export const SystemToolbar: React.FC<SystemToolbarProps> = ({
31
32
  darkModeButton = false,
32
33
  authButton = false,
33
34
  menuItems,
35
+ onMenuToggle,
34
36
  ...props
35
37
  }) => {
36
38
  return (
@@ -53,7 +55,7 @@ export const SystemToolbar: React.FC<SystemToolbarProps> = ({
53
55
  {children}
54
56
  {authButton ? <AuthSetsStatusIconButton color="inherit" /> : null}
55
57
  {darkModeButton ? <DarkModeIconButton color="inherit" /> : null}
56
- {menuItems ? <SiteMenu>{menuItems}</SiteMenu> : null}
58
+ {menuItems ? <SiteMenu onMenuToggle={onMenuToggle}>{menuItems}</SiteMenu> : null}
57
59
  </Toolbar>
58
60
  )
59
61
  }
@@ -1,4 +1,5 @@
1
1
  export * from './AppBar'
2
+ export * from './CollapsibleDrawer'
2
3
  export * from './MobileSystemControls'
3
4
  export * from './SearchBar'
4
5
  export * from './SiteMenu'