@xyo-network/react-appbar 2.64.0 → 2.64.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. package/dist/browser/components/AppBar/Application.js +252 -6
  2. package/dist/browser/components/AppBar/Application.js.map +1 -1
  3. package/dist/browser/components/AppBar/index.js +264 -1
  4. package/dist/browser/components/AppBar/index.js.map +1 -1
  5. package/dist/browser/components/CollapsibleDrawer/CollapseToggle.js +13 -3
  6. package/dist/browser/components/CollapsibleDrawer/CollapseToggle.js.map +1 -1
  7. package/dist/browser/components/CollapsibleDrawer/CollapsibleDrawer.js +14 -4
  8. package/dist/browser/components/CollapsibleDrawer/CollapsibleDrawer.js.map +1 -1
  9. package/dist/browser/components/CollapsibleDrawer/index.js +72 -2
  10. package/dist/browser/components/CollapsibleDrawer/index.js.map +1 -1
  11. package/dist/browser/components/CollapsibleDrawer/storyExampleMenuData.js +4 -3
  12. package/dist/browser/components/CollapsibleDrawer/storyExampleMenuData.js.map +1 -1
  13. package/dist/browser/components/MobileSystemControls/SystemControls.js +117 -5
  14. package/dist/browser/components/MobileSystemControls/SystemControls.js.map +1 -1
  15. package/dist/browser/components/MobileSystemControls/SystemControlsRoot.js +57 -5
  16. package/dist/browser/components/MobileSystemControls/SystemControlsRoot.js.map +1 -1
  17. package/dist/browser/components/MobileSystemControls/SystemControlsType.js +1 -0
  18. package/dist/browser/components/MobileSystemControls/SystemControlsType.js.map +1 -1
  19. package/dist/browser/components/MobileSystemControls/SystemControlsUnstyled.js +35 -9
  20. package/dist/browser/components/MobileSystemControls/SystemControlsUnstyled.js.map +1 -1
  21. package/dist/browser/components/MobileSystemControls/controls/SystemControl.js +5 -5
  22. package/dist/browser/components/MobileSystemControls/controls/SystemControl.js.map +1 -1
  23. package/dist/browser/components/MobileSystemControls/controls/SystemControlText.js +3 -2
  24. package/dist/browser/components/MobileSystemControls/controls/SystemControlText.js.map +1 -1
  25. package/dist/browser/components/MobileSystemControls/controls/index.js +36 -2
  26. package/dist/browser/components/MobileSystemControls/controls/index.js.map +1 -1
  27. package/dist/browser/components/MobileSystemControls/index.js +131 -3
  28. package/dist/browser/components/MobileSystemControls/index.js.map +1 -1
  29. package/dist/browser/components/SearchBar/SearchBar.js +3 -2
  30. package/dist/browser/components/SearchBar/SearchBar.js.map +1 -1
  31. package/dist/browser/components/SearchBar/index.js +31 -1
  32. package/dist/browser/components/SearchBar/index.js.map +1 -1
  33. package/dist/browser/components/SiteMenu/Menu.js +144 -13
  34. package/dist/browser/components/SiteMenu/Menu.js.map +1 -1
  35. package/dist/browser/components/SiteMenu/MenuListItem/MenuListItemContainer.js +73 -13
  36. package/dist/browser/components/SiteMenu/MenuListItem/MenuListItemContainer.js.map +1 -1
  37. package/dist/browser/components/SiteMenu/MenuListItem/index.js +131 -1
  38. package/dist/browser/components/SiteMenu/MenuListItem/index.js.map +1 -1
  39. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.js +3 -2
  40. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.js.map +1 -1
  41. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.js +3 -2
  42. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.js.map +1 -1
  43. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.js +3 -2
  44. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.js.map +1 -1
  45. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/index.js +30 -3
  46. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/index.js.map +1 -1
  47. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.js +3 -2
  48. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.js.map +1 -1
  49. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.js +3 -2
  50. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.js.map +1 -1
  51. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/index.js +29 -2
  52. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/index.js.map +1 -1
  53. package/dist/browser/components/SiteMenu/MenuSection.js +138 -7
  54. package/dist/browser/components/SiteMenu/MenuSection.js.map +1 -1
  55. package/dist/browser/components/SiteMenu/hooks/index.js +34 -1
  56. package/dist/browser/components/SiteMenu/hooks/index.js.map +1 -1
  57. package/dist/browser/components/SiteMenu/hooks/useMenuItemsShared.js +12 -2
  58. package/dist/browser/components/SiteMenu/hooks/useMenuItemsShared.js.map +1 -1
  59. package/dist/browser/components/SiteMenu/index.js +209 -5
  60. package/dist/browser/components/SiteMenu/index.js.map +1 -1
  61. package/dist/browser/components/SiteMenu/lib/index.js +0 -2
  62. package/dist/browser/components/SiteMenu/lib/index.js.map +1 -1
  63. package/dist/browser/components/Toolbar/Context/ContextToolbar.js +45 -4
  64. package/dist/browser/components/Toolbar/Context/ContextToolbar.js.map +1 -1
  65. package/dist/browser/components/Toolbar/Context/Logo.js +3 -2
  66. package/dist/browser/components/Toolbar/Context/Logo.js.map +1 -1
  67. package/dist/browser/components/Toolbar/Context/LogoLinkEx.js +18 -7
  68. package/dist/browser/components/Toolbar/Context/LogoLinkEx.js.map +1 -1
  69. package/dist/browser/components/Toolbar/Context/index.js +50 -1
  70. package/dist/browser/components/Toolbar/Context/index.js.map +1 -1
  71. package/dist/browser/components/Toolbar/System/SystemToolbar.js +179 -8
  72. package/dist/browser/components/Toolbar/System/SystemToolbar.js.map +1 -1
  73. package/dist/browser/components/Toolbar/System/index.js +198 -1
  74. package/dist/browser/components/Toolbar/System/index.js.map +1 -1
  75. package/dist/browser/components/Toolbar/index.js +247 -2
  76. package/dist/browser/components/Toolbar/index.js.map +1 -1
  77. package/dist/browser/components/index.js +526 -6
  78. package/dist/browser/components/index.js.map +1 -1
  79. package/dist/browser/contexts/Collapsible/context.js +2 -1
  80. package/dist/browser/contexts/Collapsible/context.js.map +1 -1
  81. package/dist/browser/contexts/Collapsible/index.js +28 -3
  82. package/dist/browser/contexts/Collapsible/index.js.map +1 -1
  83. package/dist/browser/contexts/Collapsible/provider.js +9 -3
  84. package/dist/browser/contexts/Collapsible/provider.js.map +1 -1
  85. package/dist/browser/contexts/Collapsible/use.js +8 -2
  86. package/dist/browser/contexts/Collapsible/use.js.map +1 -1
  87. package/dist/browser/contexts/index.js +28 -1
  88. package/dist/browser/contexts/index.js.map +1 -1
  89. package/dist/browser/index.js +545 -2
  90. package/dist/browser/index.js.map +1 -1
  91. package/dist/docs.json +91 -91
  92. package/package.json +13 -13
@@ -1,7 +1,8 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/components/MobileSystemControls/controls/SystemControlText.tsx
2
2
  import { Typography } from "@mui/material";
3
3
  import { FlexCol } from "@xylabs/react-flexbox";
4
- const ControlText = ({ value, ...props }) => {
4
+ import { jsx } from "react/jsx-runtime";
5
+ var ControlText = ({ value, ...props }) => {
5
6
  return /* @__PURE__ */ jsx(FlexCol, { className: `${props.className} toggle`, ...props, children: /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "white", fontWeight: "bold", children: value }) });
6
7
  };
7
8
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/MobileSystemControls/controls/SystemControlText.tsx"],"sourcesContent":["import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\ninterface SystemControlTextProps extends FlexBoxProps {\n value?: string\n}\n\nconst ControlText: React.FC<SystemControlTextProps> = ({ value, ...props }) => {\n return (\n <FlexCol className={`${props.className} toggle`} {...props}>\n <Typography variant=\"caption\" color=\"white\" fontWeight=\"bold\">\n {value}\n </Typography>\n </FlexCol>\n )\n}\n\nexport { ControlText }\n"],"mappings":"AAUM;AAVN,SAAS,kBAAkB;AAC3B,SAAuB,eAAe;AAMtC,MAAM,cAAgD,CAAC,EAAE,OAAO,GAAG,MAAM,MAAM;AAC7E,SACE,oBAAC,WAAQ,WAAW,GAAG,MAAM,SAAS,WAAY,GAAG,OACnD,8BAAC,cAAW,SAAQ,WAAU,OAAM,SAAQ,YAAW,QACpD,iBACH,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/MobileSystemControls/controls/SystemControlText.tsx"],"sourcesContent":["import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\ninterface SystemControlTextProps extends FlexBoxProps {\n value?: string\n}\n\nconst ControlText: React.FC<SystemControlTextProps> = ({ value, ...props }) => {\n return (\n <FlexCol className={`${props.className} toggle`} {...props}>\n <Typography variant=\"caption\" color=\"white\" fontWeight=\"bold\">\n {value}\n </Typography>\n </FlexCol>\n )\n}\n\nexport { ControlText }\n"],"mappings":";AAAA,SAAS,kBAAkB;AAC3B,SAAuB,eAAe;AAShC;AAHN,IAAM,cAAgD,CAAC,EAAE,OAAO,GAAG,MAAM,MAAM;AAC7E,SACE,oBAAC,WAAQ,WAAW,GAAG,MAAM,SAAS,WAAY,GAAG,OACnD,8BAAC,cAAW,SAAQ,WAAU,OAAM,SAAQ,YAAW,QACpD,iBACH,GACF;AAEJ;","names":[]}
@@ -1,3 +1,37 @@
1
- export * from "./SystemControl";
2
- export * from "./SystemControlText";
1
+ // src/components/MobileSystemControls/controls/SystemControl.tsx
2
+ import { Collapse } from "@mui/material";
3
+ import { FlexCol, FlexRow } from "@xylabs/react-flexbox";
4
+ import { useState } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ var SystemControl = ({
7
+ children,
8
+ controlElement,
9
+ systemControlsType = "WindowShade" /* WindowShade */,
10
+ ...props
11
+ }) => {
12
+ const [toggleControls, setToggleControls] = useState(false);
13
+ let orientation = "vertical";
14
+ switch (systemControlsType) {
15
+ case "Left" /* Left */: {
16
+ orientation = "horizontal";
17
+ break;
18
+ }
19
+ }
20
+ return /* @__PURE__ */ jsxs(FlexRow, { className: "controls", ...props, children: [
21
+ /* @__PURE__ */ jsx(Collapse, { in: toggleControls, orientation, timeout: 500, children: /* @__PURE__ */ jsx(FlexRow, { bgcolor: "primary.main", className: "control", children: controlElement }) }),
22
+ /* @__PURE__ */ jsx(FlexCol, { style: { cursor: "pointer" }, onClick: () => setToggleControls(!toggleControls), children })
23
+ ] });
24
+ };
25
+
26
+ // src/components/MobileSystemControls/controls/SystemControlText.tsx
27
+ import { Typography } from "@mui/material";
28
+ import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
29
+ import { jsx as jsx2 } from "react/jsx-runtime";
30
+ var ControlText = ({ value, ...props }) => {
31
+ return /* @__PURE__ */ jsx2(FlexCol2, { className: `${props.className} toggle`, ...props, children: /* @__PURE__ */ jsx2(Typography, { variant: "caption", color: "white", fontWeight: "bold", children: value }) });
32
+ };
33
+ export {
34
+ ControlText,
35
+ SystemControl
36
+ };
3
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/MobileSystemControls/controls/index.ts"],"sourcesContent":["export * from './SystemControl'\nexport * from './SystemControlText'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/MobileSystemControls/controls/SystemControl.tsx","../../../../../src/components/MobileSystemControls/controls/SystemControlText.tsx"],"sourcesContent":["import { Collapse, CollapseProps } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { SystemControlsType } from '../SystemControlsType'\n\ninterface SystemControlProps extends FlexBoxProps {\n controlElement: React.ReactNode\n systemControlsType?: SystemControlsType\n}\n\nconst SystemControl: React.FC<WithChildren<SystemControlProps>> = ({\n children,\n controlElement,\n systemControlsType = SystemControlsType.WindowShade,\n ...props\n}) => {\n const [toggleControls, setToggleControls] = useState(false)\n\n let orientation: CollapseProps['orientation'] = 'vertical'\n\n switch (systemControlsType) {\n case SystemControlsType.Left: {\n orientation = 'horizontal'\n break\n }\n }\n\n return (\n <FlexRow className=\"controls\" {...props}>\n <Collapse in={toggleControls} orientation={orientation} timeout={500}>\n <FlexRow bgcolor=\"primary.main\" className=\"control\">\n {controlElement}\n </FlexRow>\n </Collapse>\n <FlexCol style={{ cursor: 'pointer' }} onClick={() => setToggleControls(!toggleControls)}>\n {children}\n </FlexCol>\n </FlexRow>\n )\n}\n\nexport { SystemControl }\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\ninterface SystemControlTextProps extends FlexBoxProps {\n value?: string\n}\n\nconst ControlText: React.FC<SystemControlTextProps> = ({ value, ...props }) => {\n return (\n <FlexCol className={`${props.className} toggle`} {...props}>\n <Typography variant=\"caption\" color=\"white\" fontWeight=\"bold\">\n {value}\n </Typography>\n </FlexCol>\n )\n}\n\nexport { ControlText }\n"],"mappings":";AAAA,SAAS,gBAA+B;AACxC,SAAuB,SAAS,eAAe;AAE/C,SAAS,gBAAgB;AA2BrB,SAEI,KAFJ;AAlBJ,IAAM,gBAA4D,CAAC;AAAA,EACjE;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAE1D,MAAI,cAA4C;AAEhD,UAAQ,oBAAoB;AAAA,IAC1B,wBAA8B;AAC5B,oBAAc;AACd;AAAA,IACF;AAAA,EACF;AAEA,SACE,qBAAC,WAAQ,WAAU,YAAY,GAAG,OAChC;AAAA,wBAAC,YAAS,IAAI,gBAAgB,aAA0B,SAAS,KAC/D,8BAAC,WAAQ,SAAQ,gBAAe,WAAU,WACvC,0BACH,GACF;AAAA,IACA,oBAAC,WAAQ,OAAO,EAAE,QAAQ,UAAU,GAAG,SAAS,MAAM,kBAAkB,CAAC,cAAc,GACpF,UACH;AAAA,KACF;AAEJ;;;ACzCA,SAAS,kBAAkB;AAC3B,SAAuB,WAAAA,gBAAe;AAShC,gBAAAC,YAAA;AAHN,IAAM,cAAgD,CAAC,EAAE,OAAO,GAAG,MAAM,MAAM;AAC7E,SACE,gBAAAA,KAACD,UAAA,EAAQ,WAAW,GAAG,MAAM,SAAS,WAAY,GAAG,OACnD,0BAAAC,KAAC,cAAW,SAAQ,WAAU,OAAM,SAAQ,YAAW,QACpD,iBACH,GACF;AAEJ;","names":["FlexCol","jsx"]}
@@ -1,4 +1,132 @@
1
- export * from "./SystemControls";
2
- export * from "./SystemControlsType";
3
- export * from "./SystemControlsUnstyled";
1
+ // src/components/MobileSystemControls/SystemControls.tsx
2
+ import { FlexCol as FlexCol3 } from "@xylabs/react-flexbox";
3
+
4
+ // src/components/MobileSystemControls/SystemControlsRoot.tsx
5
+ import { styled } from "@mui/material";
6
+
7
+ // src/components/MobileSystemControls/SystemControlsType.ts
8
+ var SystemControlsType = /* @__PURE__ */ ((SystemControlsType2) => {
9
+ SystemControlsType2["Left"] = "Left";
10
+ SystemControlsType2["Right"] = "Right";
11
+ SystemControlsType2["WindowShade"] = "WindowShade";
12
+ return SystemControlsType2;
13
+ })(SystemControlsType || {});
14
+
15
+ // src/components/MobileSystemControls/SystemControlsUnstyled.tsx
16
+ import { Paper, useMediaQuery } from "@mui/material";
17
+ import { FlexCol as FlexCol2, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
18
+ import { NetworkSelectEx } from "@xyo-network/react-network";
19
+
20
+ // src/components/MobileSystemControls/controls/SystemControl.tsx
21
+ import { Collapse } from "@mui/material";
22
+ import { FlexCol, FlexRow } from "@xylabs/react-flexbox";
23
+ import { useState } from "react";
24
+ import { jsx, jsxs } from "react/jsx-runtime";
25
+ var SystemControl = ({
26
+ children,
27
+ controlElement,
28
+ systemControlsType = "WindowShade" /* WindowShade */,
29
+ ...props
30
+ }) => {
31
+ const [toggleControls, setToggleControls] = useState(false);
32
+ let orientation = "vertical";
33
+ switch (systemControlsType) {
34
+ case "Left" /* Left */: {
35
+ orientation = "horizontal";
36
+ break;
37
+ }
38
+ }
39
+ return /* @__PURE__ */ jsxs(FlexRow, { className: "controls", ...props, children: [
40
+ /* @__PURE__ */ jsx(Collapse, { in: toggleControls, orientation, timeout: 500, children: /* @__PURE__ */ jsx(FlexRow, { bgcolor: "primary.main", className: "control", children: controlElement }) }),
41
+ /* @__PURE__ */ jsx(FlexCol, { style: { cursor: "pointer" }, onClick: () => setToggleControls(!toggleControls), children })
42
+ ] });
43
+ };
44
+
45
+ // src/components/MobileSystemControls/SystemControlsUnstyled.tsx
46
+ import { Fragment, jsx as jsx2 } from "react/jsx-runtime";
47
+ var SystemControlsUnstyled = ({
48
+ visible,
49
+ systemControlsType = "WindowShade" /* WindowShade */,
50
+ ...props
51
+ }) => {
52
+ const isSmall = useMediaQuery((theme) => theme.breakpoints.down("sm"));
53
+ if (visible || isSmall) {
54
+ return /* @__PURE__ */ jsx2(FlexCol2, { ...props, className: `${props.className} system-controls-type-${systemControlsType}`, children: /* @__PURE__ */ jsx2(
55
+ SystemControl,
56
+ {
57
+ systemControlsType,
58
+ controlElement: /* @__PURE__ */ jsx2(Fragment, { children: /* @__PURE__ */ jsx2(FlexRow2, { className: "control-wrap", children: /* @__PURE__ */ jsx2(Paper, { variant: "elevation", elevation: 0, children: /* @__PURE__ */ jsx2(NetworkSelectEx, { responsive: false, className: "network-ex" }) }) }) })
59
+ }
60
+ ) });
61
+ } else {
62
+ return /* @__PURE__ */ jsx2(FlexCol2, {});
63
+ }
64
+ };
65
+
66
+ // src/components/MobileSystemControls/SystemControlsRoot.tsx
67
+ var SystemControlsRoot = styled(SystemControlsUnstyled, { name: "SystemControls", slot: "Root" })(({ theme }) => ({
68
+ // shared defaults
69
+ ["&"]: {
70
+ ".toggle": {
71
+ backgroundColor: theme.palette.primary.main
72
+ },
73
+ alignItems: "start",
74
+ zIndex: 1
75
+ },
76
+ // WindowShade System Controls styles
77
+ [`&.system-controls-type-${"WindowShade" /* WindowShade */}`]: {
78
+ ".control": {
79
+ borderRadius: "0 0 5px 5px",
80
+ flexDirection: "row",
81
+ flexGrow: 1,
82
+ justifyContent: "space-around",
83
+ padding: `${theme.spacing(2)} ${theme.spacing(2.5)}`
84
+ },
85
+ ".controls": {
86
+ alignItems: "stretch",
87
+ flexDirection: "column",
88
+ flexGrow: 1
89
+ },
90
+ ".toggle": {
91
+ borderRadius: "0 0 5px 5px",
92
+ padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`
93
+ },
94
+ flexDirection: "row",
95
+ position: "absolute",
96
+ top: 0,
97
+ width: "100%"
98
+ },
99
+ // Left System Control styles
100
+ [`&.system-controls-type-${"Left" /* Left */}`]: {
101
+ ".control": {
102
+ alignItems: "start",
103
+ flexDirection: "column",
104
+ padding: `${theme.spacing(2)} ${theme.spacing(2.5)}`
105
+ },
106
+ ".control-wrap": {
107
+ marginBottom: `${theme.spacing(2)}`
108
+ },
109
+ ".toggle": {
110
+ borderRadius: "0 5px 5px 0",
111
+ padding: `${theme.spacing(1)} ${theme.spacing(0.5)}`,
112
+ writingMode: "vertical-rl"
113
+ },
114
+ flexDirection: "column",
115
+ left: 0,
116
+ position: "fixed",
117
+ top: "30vh",
118
+ width: "auto"
119
+ }
120
+ }));
121
+
122
+ // src/components/MobileSystemControls/SystemControls.tsx
123
+ import { jsx as jsx3 } from "react/jsx-runtime";
124
+ var SystemControls = (props) => {
125
+ return /* @__PURE__ */ jsx3(FlexCol3, { children: /* @__PURE__ */ jsx3(SystemControlsRoot, { ...props }) });
126
+ };
127
+ export {
128
+ SystemControls,
129
+ SystemControlsType,
130
+ SystemControlsUnstyled
131
+ };
4
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/MobileSystemControls/index.ts"],"sourcesContent":["export * from './SystemControls'\nexport * from './SystemControlsType'\nexport * from './SystemControlsUnstyled'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/MobileSystemControls/SystemControls.tsx","../../../../src/components/MobileSystemControls/SystemControlsRoot.tsx","../../../../src/components/MobileSystemControls/SystemControlsType.ts","../../../../src/components/MobileSystemControls/SystemControlsUnstyled.tsx","../../../../src/components/MobileSystemControls/controls/SystemControl.tsx"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\n\nimport { SystemControlsRoot } from './SystemControlsRoot'\nimport { SystemControlsUnstyledProps } from './SystemControlsUnstyled'\n\nconst SystemControls: React.FC<SystemControlsUnstyledProps> = (props) => {\n return (\n <FlexCol>\n <SystemControlsRoot {...props} />\n </FlexCol>\n )\n}\n\nexport { SystemControls }\n","import { styled } from '@mui/material'\n\nimport { SystemControlsType } from './SystemControlsType'\nimport { SystemControlsUnstyled, SystemControlsUnstyledProps } from './SystemControlsUnstyled'\n\nconst SystemControlsRoot = styled(SystemControlsUnstyled, { name: 'SystemControls', slot: 'Root' })<SystemControlsUnstyledProps>(({ theme }) => ({\n // shared defaults\n ['&']: {\n '.toggle': {\n backgroundColor: theme.palette.primary.main,\n },\n alignItems: 'start',\n zIndex: 1,\n },\n // WindowShade System Controls styles\n [`&.system-controls-type-${SystemControlsType.WindowShade}`]: {\n '.control': {\n borderRadius: '0 0 5px 5px',\n flexDirection: 'row',\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: `${theme.spacing(2)} ${theme.spacing(2.5)}`,\n },\n '.controls': {\n alignItems: 'stretch',\n flexDirection: 'column',\n flexGrow: 1,\n },\n '.toggle': {\n borderRadius: '0 0 5px 5px',\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n },\n flexDirection: 'row',\n position: 'absolute',\n top: 0,\n width: '100%',\n },\n // Left System Control styles\n [`&.system-controls-type-${SystemControlsType.Left}`]: {\n '.control': {\n alignItems: 'start',\n flexDirection: 'column',\n padding: `${theme.spacing(2)} ${theme.spacing(2.5)}`,\n },\n '.control-wrap': {\n marginBottom: `${theme.spacing(2)}`,\n },\n '.toggle': {\n borderRadius: '0 5px 5px 0',\n padding: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n writingMode: 'vertical-rl',\n },\n flexDirection: 'column',\n left: 0,\n position: 'fixed',\n top: '30vh',\n width: 'auto',\n },\n}))\n\nexport { SystemControlsRoot }\n","export enum SystemControlsType {\n Left = 'Left',\n Right = 'Right',\n WindowShade = 'WindowShade',\n}\n","import { Paper, Theme, useMediaQuery } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { NetworkSelectEx } from '@xyo-network/react-network'\n\nimport { SystemControl } from './controls'\nimport { SystemControlsType } from './SystemControlsType'\n\ninterface SystemControlsUnstyledProps extends FlexBoxProps {\n systemControlsType?: SystemControlsType\n visible?: boolean\n}\n\nconst SystemControlsUnstyled: React.FC<SystemControlsUnstyledProps> = ({\n visible,\n systemControlsType = SystemControlsType.WindowShade,\n ...props\n}) => {\n const isSmall = useMediaQuery<Theme>((theme) => theme.breakpoints.down('sm'))\n\n if (visible || isSmall) {\n return (\n <FlexCol {...props} className={`${props.className} system-controls-type-${systemControlsType}`}>\n <SystemControl\n systemControlsType={systemControlsType}\n controlElement={\n <>\n <FlexRow className={'control-wrap'}>\n <Paper variant=\"elevation\" elevation={0}>\n <NetworkSelectEx responsive={false} className=\"network-ex\" />\n </Paper>\n </FlexRow>\n </>\n }\n />\n </FlexCol>\n )\n } else {\n return <FlexCol />\n }\n}\n\nexport type { SystemControlsUnstyledProps }\nexport { SystemControlsUnstyled }\n","import { Collapse, CollapseProps } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { SystemControlsType } from '../SystemControlsType'\n\ninterface SystemControlProps extends FlexBoxProps {\n controlElement: React.ReactNode\n systemControlsType?: SystemControlsType\n}\n\nconst SystemControl: React.FC<WithChildren<SystemControlProps>> = ({\n children,\n controlElement,\n systemControlsType = SystemControlsType.WindowShade,\n ...props\n}) => {\n const [toggleControls, setToggleControls] = useState(false)\n\n let orientation: CollapseProps['orientation'] = 'vertical'\n\n switch (systemControlsType) {\n case SystemControlsType.Left: {\n orientation = 'horizontal'\n break\n }\n }\n\n return (\n <FlexRow className=\"controls\" {...props}>\n <Collapse in={toggleControls} orientation={orientation} timeout={500}>\n <FlexRow bgcolor=\"primary.main\" className=\"control\">\n {controlElement}\n </FlexRow>\n </Collapse>\n <FlexCol style={{ cursor: 'pointer' }} onClick={() => setToggleControls(!toggleControls)}>\n {children}\n </FlexCol>\n </FlexRow>\n )\n}\n\nexport { SystemControl }\n"],"mappings":"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","names":["FlexCol","SystemControlsType","FlexCol","FlexRow","jsx","FlexCol","FlexRow","jsx","FlexCol"]}
@@ -1,10 +1,11 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/SearchBar/SearchBar.tsx
2
2
  import { Search as SearchIcon } from "@mui/icons-material";
3
3
  import { Paper, TextField } from "@mui/material";
4
4
  import { ButtonEx } from "@xylabs/react-button";
5
5
  import { FlexRow } from "@xylabs/react-flexbox";
6
6
  import { useState } from "react";
7
- const SearchBar = ({ defaultValue, onSearch, ...props }) => {
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ var SearchBar = ({ defaultValue, onSearch, ...props }) => {
8
9
  const [term, setTerm] = useState();
9
10
  return /* @__PURE__ */ jsx(FlexRow, { alignItems: "stretch", ...props, children: /* @__PURE__ */ jsxs(Paper, { variant: "elevation", elevation: 0, style: { display: "flex", overflow: "hidden", width: "100%" }, children: [
10
11
  /* @__PURE__ */ jsx(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SearchBar/SearchBar.tsx"],"sourcesContent":["import { Search as SearchIcon } from '@mui/icons-material'\nimport { Paper, TextField } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nexport interface SearchBarProps extends FlexBoxProps {\n onSearch?: (term?: string) => void\n}\n\nexport const SearchBar: React.FC<SearchBarProps> = ({ defaultValue, onSearch, ...props }) => {\n const [term, setTerm] = useState<string>()\n\n return (\n <FlexRow alignItems=\"stretch\" {...props}>\n <Paper variant=\"elevation\" elevation={0} style={{ display: 'flex', overflow: 'hidden', width: '100%' }}>\n <TextField\n InputProps={{ color: 'secondary', style: { borderBottomRightRadius: 0, borderTopRightRadius: 0, borderWidth: 0 } }}\n variant=\"outlined\"\n size=\"small\"\n defaultValue={defaultValue}\n fullWidth\n onChange={(event) => setTerm(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') onSearch?.(term)\n }}\n />\n <ButtonEx variant=\"contained\" style={{ borderRadius: 0, borderTopLeftRadius: 0 }} color=\"secondary\" onClick={() => onSearch?.(term)}>\n <SearchIcon />\n </ButtonEx>\n </Paper>\n </FlexRow>\n )\n}\n"],"mappings":"AAeM,SACE,KADF;AAfN,SAAS,UAAU,kBAAkB;AACrC,SAAS,OAAO,iBAAiB;AACjC,SAAS,gBAAgB;AACzB,SAAuB,eAAe;AACtC,SAAS,gBAAgB;AAMlB,MAAM,YAAsC,CAAC,EAAE,cAAc,UAAU,GAAG,MAAM,MAAM;AAC3F,QAAM,CAAC,MAAM,OAAO,IAAI,SAAiB;AAEzC,SACE,oBAAC,WAAQ,YAAW,WAAW,GAAG,OAChC,+BAAC,SAAM,SAAQ,aAAY,WAAW,GAAG,OAAO,EAAE,SAAS,QAAQ,UAAU,UAAU,OAAO,OAAO,GACnG;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,YAAY,EAAE,OAAO,aAAa,OAAO,EAAE,yBAAyB,GAAG,sBAAsB,GAAG,aAAa,EAAE,EAAE;AAAA,QACjH,SAAQ;AAAA,QACR,MAAK;AAAA,QACL;AAAA,QACA,WAAS;AAAA,QACT,UAAU,CAAC,UAAU,QAAQ,MAAM,OAAO,KAAK;AAAA,QAC/C,WAAW,CAAC,UAAU;AACpB,cAAI,MAAM,QAAQ;AAAS,uBAAW,IAAI;AAAA,QAC5C;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,YAAS,SAAQ,aAAY,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAE,GAAG,OAAM,aAAY,SAAS,MAAM,WAAW,IAAI,GAChI,8BAAC,cAAW,GACd;AAAA,KACF,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/SearchBar/SearchBar.tsx"],"sourcesContent":["import { Search as SearchIcon } from '@mui/icons-material'\nimport { Paper, TextField } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nexport interface SearchBarProps extends FlexBoxProps {\n onSearch?: (term?: string) => void\n}\n\nexport const SearchBar: React.FC<SearchBarProps> = ({ defaultValue, onSearch, ...props }) => {\n const [term, setTerm] = useState<string>()\n\n return (\n <FlexRow alignItems=\"stretch\" {...props}>\n <Paper variant=\"elevation\" elevation={0} style={{ display: 'flex', overflow: 'hidden', width: '100%' }}>\n <TextField\n InputProps={{ color: 'secondary', style: { borderBottomRightRadius: 0, borderTopRightRadius: 0, borderWidth: 0 } }}\n variant=\"outlined\"\n size=\"small\"\n defaultValue={defaultValue}\n fullWidth\n onChange={(event) => setTerm(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') onSearch?.(term)\n }}\n />\n <ButtonEx variant=\"contained\" style={{ borderRadius: 0, borderTopLeftRadius: 0 }} color=\"secondary\" onClick={() => onSearch?.(term)}>\n <SearchIcon />\n </ButtonEx>\n </Paper>\n </FlexRow>\n )\n}\n"],"mappings":";AAAA,SAAS,UAAU,kBAAkB;AACrC,SAAS,OAAO,iBAAiB;AACjC,SAAS,gBAAgB;AACzB,SAAuB,eAAe;AACtC,SAAS,gBAAgB;AAWnB,SACE,KADF;AALC,IAAM,YAAsC,CAAC,EAAE,cAAc,UAAU,GAAG,MAAM,MAAM;AAC3F,QAAM,CAAC,MAAM,OAAO,IAAI,SAAiB;AAEzC,SACE,oBAAC,WAAQ,YAAW,WAAW,GAAG,OAChC,+BAAC,SAAM,SAAQ,aAAY,WAAW,GAAG,OAAO,EAAE,SAAS,QAAQ,UAAU,UAAU,OAAO,OAAO,GACnG;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,YAAY,EAAE,OAAO,aAAa,OAAO,EAAE,yBAAyB,GAAG,sBAAsB,GAAG,aAAa,EAAE,EAAE;AAAA,QACjH,SAAQ;AAAA,QACR,MAAK;AAAA,QACL;AAAA,QACA,WAAS;AAAA,QACT,UAAU,CAAC,UAAU,QAAQ,MAAM,OAAO,KAAK;AAAA,QAC/C,WAAW,CAAC,UAAU;AACpB,cAAI,MAAM,QAAQ;AAAS,uBAAW,IAAI;AAAA,QAC5C;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,YAAS,SAAQ,aAAY,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAE,GAAG,OAAM,aAAY,SAAS,MAAM,WAAW,IAAI,GAChI,8BAAC,cAAW,GACd;AAAA,KACF,GACF;AAEJ;","names":[]}
@@ -1,2 +1,32 @@
1
- export * from "./SearchBar";
1
+ // src/components/SearchBar/SearchBar.tsx
2
+ import { Search as SearchIcon } from "@mui/icons-material";
3
+ import { Paper, TextField } from "@mui/material";
4
+ import { ButtonEx } from "@xylabs/react-button";
5
+ import { FlexRow } from "@xylabs/react-flexbox";
6
+ import { useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ var SearchBar = ({ defaultValue, onSearch, ...props }) => {
9
+ const [term, setTerm] = useState();
10
+ return /* @__PURE__ */ jsx(FlexRow, { alignItems: "stretch", ...props, children: /* @__PURE__ */ jsxs(Paper, { variant: "elevation", elevation: 0, style: { display: "flex", overflow: "hidden", width: "100%" }, children: [
11
+ /* @__PURE__ */ jsx(
12
+ TextField,
13
+ {
14
+ InputProps: { color: "secondary", style: { borderBottomRightRadius: 0, borderTopRightRadius: 0, borderWidth: 0 } },
15
+ variant: "outlined",
16
+ size: "small",
17
+ defaultValue,
18
+ fullWidth: true,
19
+ onChange: (event) => setTerm(event.target.value),
20
+ onKeyDown: (event) => {
21
+ if (event.key === "Enter")
22
+ onSearch?.(term);
23
+ }
24
+ }
25
+ ),
26
+ /* @__PURE__ */ jsx(ButtonEx, { variant: "contained", style: { borderRadius: 0, borderTopLeftRadius: 0 }, color: "secondary", onClick: () => onSearch?.(term), children: /* @__PURE__ */ jsx(SearchIcon, {}) })
27
+ ] }) });
28
+ };
29
+ export {
30
+ SearchBar
31
+ };
2
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SearchBar/index.ts"],"sourcesContent":["export * from './SearchBar'\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/SearchBar/SearchBar.tsx"],"sourcesContent":["import { Search as SearchIcon } from '@mui/icons-material'\nimport { Paper, TextField } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nexport interface SearchBarProps extends FlexBoxProps {\n onSearch?: (term?: string) => void\n}\n\nexport const SearchBar: React.FC<SearchBarProps> = ({ defaultValue, onSearch, ...props }) => {\n const [term, setTerm] = useState<string>()\n\n return (\n <FlexRow alignItems=\"stretch\" {...props}>\n <Paper variant=\"elevation\" elevation={0} style={{ display: 'flex', overflow: 'hidden', width: '100%' }}>\n <TextField\n InputProps={{ color: 'secondary', style: { borderBottomRightRadius: 0, borderTopRightRadius: 0, borderWidth: 0 } }}\n variant=\"outlined\"\n size=\"small\"\n defaultValue={defaultValue}\n fullWidth\n onChange={(event) => setTerm(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') onSearch?.(term)\n }}\n />\n <ButtonEx variant=\"contained\" style={{ borderRadius: 0, borderTopLeftRadius: 0 }} color=\"secondary\" onClick={() => onSearch?.(term)}>\n <SearchIcon />\n </ButtonEx>\n </Paper>\n </FlexRow>\n )\n}\n"],"mappings":";AAAA,SAAS,UAAU,kBAAkB;AACrC,SAAS,OAAO,iBAAiB;AACjC,SAAS,gBAAgB;AACzB,SAAuB,eAAe;AACtC,SAAS,gBAAgB;AAWnB,SACE,KADF;AALC,IAAM,YAAsC,CAAC,EAAE,cAAc,UAAU,GAAG,MAAM,MAAM;AAC3F,QAAM,CAAC,MAAM,OAAO,IAAI,SAAiB;AAEzC,SACE,oBAAC,WAAQ,YAAW,WAAW,GAAG,OAChC,+BAAC,SAAM,SAAQ,aAAY,WAAW,GAAG,OAAO,EAAE,SAAS,QAAQ,UAAU,UAAU,OAAO,OAAO,GACnG;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,YAAY,EAAE,OAAO,aAAa,OAAO,EAAE,yBAAyB,GAAG,sBAAsB,GAAG,aAAa,EAAE,EAAE;AAAA,QACjH,SAAQ;AAAA,QACR,MAAK;AAAA,QACL;AAAA,QACA,WAAS;AAAA,QACT,UAAU,CAAC,UAAU,QAAQ,MAAM,OAAO,KAAK;AAAA,QAC/C,WAAW,CAAC,UAAU;AACpB,cAAI,MAAM,QAAQ;AAAS,uBAAW,IAAI;AAAA,QAC5C;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,YAAS,SAAQ,aAAY,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAE,GAAG,OAAM,aAAY,SAAS,MAAM,WAAW,IAAI,GAChI,8BAAC,cAAW,GACd;AAAA,KACF,GACF;AAEJ;","names":[]}
@@ -1,27 +1,158 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Menu as MenuIcon, Settings as SettingsIcon } from "@mui/icons-material";
3
- import { IconButton, List, SwipeableDrawer } from "@mui/material";
1
+ // src/components/SiteMenu/Menu.tsx
2
+ import { Menu as MenuIcon2, Settings as SettingsIcon } from "@mui/icons-material";
3
+ import { IconButton as IconButton2, List as List2, SwipeableDrawer } from "@mui/material";
4
+ import { FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
5
+ import { useEffect, useState as useState2 } from "react";
6
+
7
+ // src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx
8
+ import { ListItemText, useTheme as useTheme2 } from "@mui/material";
4
9
  import { FlexRow } from "@xylabs/react-flexbox";
5
- import { useEffect, useState } from "react";
6
- import { MenuListItemContainer } from "./MenuListItem";
7
- const SiteMenu = ({ children, onMenuToggle, side = "right", ...props }) => {
8
- const [open, setOpen] = useState(false);
10
+ import { LinkEx } from "@xylabs/react-link";
11
+ import { useState } from "react";
12
+
13
+ // src/contexts/Collapsible/context.ts
14
+ import { createContextEx } from "@xyo-network/react-shared";
15
+ var CollapsibleContext = createContextEx();
16
+
17
+ // src/contexts/Collapsible/use.tsx
18
+ import { useContextEx } from "@xyo-network/react-shared";
19
+ var useCollapsible = () => useContextEx(CollapsibleContext, "Collapsible", false);
20
+
21
+ // src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx
22
+ import { Tooltip } from "@mui/material";
23
+ import { FlexCol } from "@xylabs/react-flexbox";
24
+ import { VscInfo } from "react-icons/vsc/index.js";
25
+ import { jsx } from "react/jsx-runtime";
26
+ var ListItemTooltip = ({ title, ...props }) => {
27
+ return /* @__PURE__ */ jsx(Tooltip, { title, placement: "right", ...props, children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(FlexCol, { justifyContent: "center", children: /* @__PURE__ */ jsx(VscInfo, { color: "grey" }) }) }) });
28
+ };
29
+
30
+ // src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx
31
+ import { Typography } from "@mui/material";
32
+ import { jsx as jsx2 } from "react/jsx-runtime";
33
+ var MenuIcon = ({ icon, ...props }) => {
34
+ return /* @__PURE__ */ jsx2(Typography, { display: "flex", ...props, children: icon });
35
+ };
36
+
37
+ // src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx
38
+ import { ListItem } from "@mui/material";
39
+ import { jsx as jsx3 } from "react/jsx-runtime";
40
+ var MenuListItem = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {
41
+ const listItemSx = iconOnly ? { borderRadius: "50%", display: "inline-flex", flexGrow: 0, width: "auto" } : { width: "100%" };
42
+ const spacingSx = collapseEnd ? { columnGap: 0 } : { columnGap: 1.5 };
43
+ const paddingSx = dense ? { px: "8px" } : { px: "12px" };
44
+ return /* @__PURE__ */ jsx3(ListItem, { sx: { ...listItemSx, ...spacingSx, ...paddingSx, ...sx }, ...props, children });
45
+ };
46
+
47
+ // src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx
48
+ import { Collapse, List } from "@mui/material";
49
+ import { jsx as jsx4 } from "react/jsx-runtime";
50
+ var SubNavListItemsCollapse = ({ collapse, openSubNav, children, ...props }) => {
51
+ return /* @__PURE__ */ jsx4(Collapse, { in: collapse == true ? false : openSubNav, ...props, children: /* @__PURE__ */ jsx4(List, { children }) });
52
+ };
53
+
54
+ // src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx
55
+ import { IconButton, useTheme } from "@mui/material";
56
+ import { VscChevronDown } from "react-icons/vsc/index.js";
57
+ import { jsx as jsx5 } from "react/jsx-runtime";
58
+ var SubNavToggleIconButton = ({ setOpenSubNav, openSubNav }) => {
59
+ const theme = useTheme();
60
+ return /* @__PURE__ */ jsx5(
61
+ IconButton,
62
+ {
63
+ onClick: (event) => {
64
+ event.stopPropagation();
65
+ setOpenSubNav?.(!openSubNav);
66
+ },
67
+ sx: { marginRight: theme.spacing(0.5) },
68
+ children: /* @__PURE__ */ jsx5(VscChevronDown, { fontSize: "16px" })
69
+ }
70
+ );
71
+ };
72
+
73
+ // src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx
74
+ import { Fragment, jsx as jsx6, jsxs } from "react/jsx-runtime";
75
+ var MenuListItemContainer = ({
76
+ style,
77
+ icon,
78
+ iconMenuTextSpacing,
79
+ iconOnly,
80
+ onButtonClick,
81
+ primary,
82
+ subNavListItems,
83
+ sx,
84
+ tooltip,
85
+ to,
86
+ ...props
87
+ }) => {
88
+ const { dense } = props;
89
+ const theme = useTheme2();
90
+ const { collapse } = useCollapsible();
91
+ const [openSubNav, setOpenSubNav] = useState(false);
92
+ const [hovered, setHovered] = useState(false);
93
+ const resolvedIconMenuTextSpacing = iconMenuTextSpacing ? iconMenuTextSpacing : theme.spacing(1);
94
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
95
+ /* @__PURE__ */ jsxs(
96
+ MenuListItem,
97
+ {
98
+ disableGutters: true,
99
+ iconOnly,
100
+ onClick: onButtonClick,
101
+ dense,
102
+ sx: { justifyContent: "space-between", ...sx },
103
+ style: { whiteSpace: "nowrap", ...style },
104
+ ...props,
105
+ children: [
106
+ /* @__PURE__ */ jsx6(
107
+ LinkEx,
108
+ {
109
+ onMouseEnter: () => setHovered(true),
110
+ onMouseLeave: () => setHovered(false),
111
+ color: "inherit",
112
+ to,
113
+ sx: {
114
+ "& :hover": {
115
+ cursor: "pointer",
116
+ textDecoration: "underline"
117
+ }
118
+ },
119
+ children: /* @__PURE__ */ jsxs(FlexRow, { children: [
120
+ /* @__PURE__ */ jsx6(MenuIcon, { icon, paddingRight: resolvedIconMenuTextSpacing, color: hovered ? "secondary" : "inherit" }),
121
+ /* @__PURE__ */ jsx6(ListItemText, { primary })
122
+ ] })
123
+ }
124
+ ),
125
+ /* @__PURE__ */ jsxs(FlexRow, { style: { marginLeft: theme.spacing(1) }, children: [
126
+ subNavListItems ? /* @__PURE__ */ jsx6(SubNavToggleIconButton, { setOpenSubNav, openSubNav }) : null,
127
+ tooltip ? /* @__PURE__ */ jsx6(ListItemTooltip, { title: tooltip }) : null
128
+ ] })
129
+ ]
130
+ }
131
+ ),
132
+ subNavListItems ? /* @__PURE__ */ jsx6(SubNavListItemsCollapse, { openSubNav, collapse, children: subNavListItems?.map((item, index) => /* @__PURE__ */ jsx6(MenuListItemContainer, { dense, sx: { pl: theme.spacing(1) }, ...item }, index)) }) : null
133
+ ] });
134
+ };
135
+
136
+ // src/components/SiteMenu/Menu.tsx
137
+ import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
138
+ var SiteMenu = ({ children, onMenuToggle, side = "right", ...props }) => {
139
+ const [open, setOpen] = useState2(false);
9
140
  useEffect(() => {
10
141
  onMenuToggle?.(open);
11
142
  }, [onMenuToggle, open]);
12
- return /* @__PURE__ */ jsxs(FlexRow, { alignItems: "stretch", ...props, children: [
13
- /* @__PURE__ */ jsx(
14
- IconButton,
143
+ return /* @__PURE__ */ jsxs2(FlexRow2, { alignItems: "stretch", ...props, children: [
144
+ /* @__PURE__ */ jsx7(
145
+ IconButton2,
15
146
  {
16
147
  size: "small",
17
148
  color: "inherit",
18
149
  onClick: () => {
19
150
  setOpen(!open);
20
151
  },
21
- children: /* @__PURE__ */ jsx(MenuIcon, { fontSize: "large" })
152
+ children: /* @__PURE__ */ jsx7(MenuIcon2, { fontSize: "large" })
22
153
  }
23
154
  ),
24
- /* @__PURE__ */ jsx(
155
+ /* @__PURE__ */ jsx7(
25
156
  SwipeableDrawer,
26
157
  {
27
158
  anchor: side,
@@ -30,7 +161,7 @@ const SiteMenu = ({ children, onMenuToggle, side = "right", ...props }) => {
30
161
  onKeyDown: () => setOpen(false),
31
162
  onClose: () => setOpen(false),
32
163
  onOpen: () => setOpen(true),
33
- children: children ?? /* @__PURE__ */ jsx(List, { children: /* @__PURE__ */ jsx(MenuListItemContainer, { primary: "Settings", icon: /* @__PURE__ */ jsx(SettingsIcon, {}), to: "/settings" }) })
164
+ children: children ?? /* @__PURE__ */ jsx7(List2, { children: /* @__PURE__ */ jsx7(MenuListItemContainer, { primary: "Settings", icon: /* @__PURE__ */ jsx7(SettingsIcon, {}), to: "/settings" }) })
34
165
  }
35
166
  )
36
167
  ] });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SiteMenu/Menu.tsx"],"sourcesContent":["import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\n\nexport interface SiteMenuProps extends FlexBoxProps {\n hideSettingsMenuItem?: boolean\n onMenuToggle?: (state?: boolean) => void\n side?: 'left' | 'right' | 'top' | 'bottom'\n}\n\nexport const SiteMenu: React.FC<SiteMenuProps> = ({ children, onMenuToggle, side = 'right', ...props }) => {\n const [open, setOpen] = useState(false)\n\n useEffect(() => {\n onMenuToggle?.(open)\n }, [onMenuToggle, open])\n\n return (\n <FlexRow alignItems=\"stretch\" {...props}>\n <IconButton\n size=\"small\"\n color=\"inherit\"\n onClick={() => {\n setOpen(!open)\n }}\n >\n <MenuIcon fontSize=\"large\" />\n </IconButton>\n <SwipeableDrawer\n anchor={side}\n open={open}\n onClick={() => setOpen(false)}\n onKeyDown={() => setOpen(false)}\n onClose={() => setOpen(false)}\n onOpen={() => setOpen(true)}\n >\n {children ?? (\n <List>\n <MenuListItemContainer primary=\"Settings\" icon={<SettingsIcon />} to=\"/settings\" />\n </List>\n )}\n </SwipeableDrawer>\n </FlexRow>\n )\n}\n"],"mappings":"AAqBI,SAQI,KARJ;AArBJ,SAAS,QAAQ,UAAU,YAAY,oBAAoB;AAC3D,SAAS,YAAY,MAAM,uBAAuB;AAClD,SAAuB,eAAe;AACtC,SAAS,WAAW,gBAAgB;AAEpC,SAAS,6BAA6B;AAQ/B,MAAM,WAAoC,CAAC,EAAE,UAAU,cAAc,OAAO,SAAS,GAAG,MAAM,MAAM;AACzG,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEtC,YAAU,MAAM;AACd,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,cAAc,IAAI,CAAC;AAEvB,SACE,qBAAC,WAAQ,YAAW,WAAW,GAAG,OAChC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAAS,MAAM;AACb,kBAAQ,CAAC,IAAI;AAAA,QACf;AAAA,QAEA,8BAAC,YAAS,UAAS,SAAQ;AAAA;AAAA,IAC7B;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ;AAAA,QACR;AAAA,QACA,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,WAAW,MAAM,QAAQ,KAAK;AAAA,QAC9B,SAAS,MAAM,QAAQ,KAAK;AAAA,QAC5B,QAAQ,MAAM,QAAQ,IAAI;AAAA,QAEzB,sBACC,oBAAC,QACC,8BAAC,yBAAsB,SAAQ,YAAW,MAAM,oBAAC,gBAAa,GAAI,IAAG,aAAY,GACnF;AAAA;AAAA,IAEJ;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/SiteMenu/Menu.tsx","../../../../src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx","../../../../src/contexts/Collapsible/context.ts","../../../../src/contexts/Collapsible/use.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx","../../../../src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx","../../../../src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx"],"sourcesContent":["import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'\nimport { IconButton, List, SwipeableDrawer } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect, useState } from 'react'\n\nimport { MenuListItemContainer } from './MenuListItem'\n\nexport interface SiteMenuProps extends FlexBoxProps {\n hideSettingsMenuItem?: boolean\n onMenuToggle?: (state?: boolean) => void\n side?: 'left' | 'right' | 'top' | 'bottom'\n}\n\nexport const SiteMenu: React.FC<SiteMenuProps> = ({ children, onMenuToggle, side = 'right', ...props }) => {\n const [open, setOpen] = useState(false)\n\n useEffect(() => {\n onMenuToggle?.(open)\n }, [onMenuToggle, open])\n\n return (\n <FlexRow alignItems=\"stretch\" {...props}>\n <IconButton\n size=\"small\"\n color=\"inherit\"\n onClick={() => {\n setOpen(!open)\n }}\n >\n <MenuIcon fontSize=\"large\" />\n </IconButton>\n <SwipeableDrawer\n anchor={side}\n open={open}\n onClick={() => setOpen(false)}\n onKeyDown={() => setOpen(false)}\n onClose={() => setOpen(false)}\n onOpen={() => setOpen(true)}\n >\n {children ?? (\n <List>\n <MenuListItemContainer primary=\"Settings\" icon={<SettingsIcon />} to=\"/settings\" />\n </List>\n )}\n </SwipeableDrawer>\n </FlexRow>\n )\n}\n","import { ListItemProps, ListItemText, useTheme } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { useState } from 'react'\n\nimport { useCollapsible } from '../../../contexts'\nimport { MenuListItemBase, NavListItemProps } from '../lib'\nimport { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components'\nimport { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav'\n\nexport interface MenuListItemProps extends NavListItemProps, MenuListItemBase, ListItemProps {\n iconMenuTextSpacing?: string\n iconOnly?: boolean\n subNavListItems?: NavListItemProps[]\n subNavOpen?: boolean\n}\n\nexport const MenuListItemContainer: React.FC<MenuListItemProps> = ({\n style,\n icon,\n iconMenuTextSpacing,\n iconOnly,\n onButtonClick,\n primary,\n subNavListItems,\n sx,\n tooltip,\n to,\n ...props\n}) => {\n const { dense } = props\n const theme = useTheme()\n const { collapse } = useCollapsible()\n const [openSubNav, setOpenSubNav] = useState(false)\n const [hovered, setHovered] = useState(false)\n const resolvedIconMenuTextSpacing = iconMenuTextSpacing ? iconMenuTextSpacing : theme.spacing(1)\n\n return (\n <>\n <MenuListItem\n disableGutters\n iconOnly={iconOnly}\n onClick={onButtonClick}\n dense={dense}\n sx={{ justifyContent: 'space-between', ...sx }}\n style={{ whiteSpace: 'nowrap', ...style }}\n {...props}\n >\n <LinkEx\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n color=\"inherit\"\n to={to}\n sx={{\n '& :hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n }}\n >\n <FlexRow>\n <MenuIcon icon={icon} paddingRight={resolvedIconMenuTextSpacing} color={hovered ? 'secondary' : 'inherit'} />\n <ListItemText primary={primary} />\n </FlexRow>\n </LinkEx>\n <FlexRow style={{ marginLeft: theme.spacing(1) }}>\n {subNavListItems ? <SubNavToggleIconButton setOpenSubNav={setOpenSubNav} openSubNav={openSubNav} /> : null}\n {tooltip ? <ListItemTooltip title={tooltip} /> : null}\n </FlexRow>\n </MenuListItem>\n {subNavListItems ? (\n <SubNavListItemsCollapse openSubNav={openSubNav} collapse={collapse}>\n {subNavListItems?.map((item, index) => <MenuListItemContainer dense={dense} sx={{ pl: theme.spacing(1) }} key={index} {...item} />)}\n </SubNavListItemsCollapse>\n ) : null}\n </>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleState } from './State'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { CollapsibleContext } from './context'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n","import { Tooltip, TooltipProps } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscInfo } from 'react-icons/vsc/index.js'\n\nexport interface ListItemTooltipProps extends Omit<TooltipProps, 'children'> {\n title: string\n}\n\nexport const ListItemTooltip: React.FC<ListItemTooltipProps> = ({ title, ...props }) => {\n return (\n <Tooltip title={title} placement=\"right\" {...props}>\n {/* Needs div so it can work, the hovering doesn't work with a FlexCol */}\n <div>\n <FlexCol justifyContent=\"center\">\n <VscInfo color=\"grey\" />\n </FlexCol>\n </div>\n </Tooltip>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\nimport { ReactNode } from 'react'\n\nexport interface MenuIconProps extends TypographyProps {\n icon?: ReactNode\n}\n\nexport const MenuIcon: React.FC<MenuIconProps> = ({ icon, ...props }) => {\n return (\n <Typography display=\"flex\" {...props}>\n {icon}\n </Typography>\n )\n}\n","import { ListItem, ListItemProps } from '@mui/material'\n\nimport { MenuListItemBase } from '../../lib'\n\nexport interface ListItemExProps extends MenuListItemBase, ListItemProps {}\n\nexport const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {\n const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { width: '100%' }\n // wait till collapseEnds to remove the spacing between items\n const spacingSx = collapseEnd ? { columnGap: 0 } : { columnGap: 1.5 }\n // adjusts to the paddingY value which does NOT scale along the theme.spacing\n const paddingSx = dense ? { px: '8px' } : { px: '12px' }\n return (\n <ListItem sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>\n {children}\n </ListItem>\n )\n}\n","import { Collapse, CollapseProps, List } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { NavListItemProps } from '../../lib'\n\nexport interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {\n collapse?: boolean\n openSubNav?: boolean\n subNavListItems?: NavListItemProps[]\n}\n\nexport const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {\n return (\n <Collapse in={collapse == true ? false : openSubNav} {...props}>\n <List>{children}</List>\n </Collapse>\n )\n}\n","import { IconButton, IconButtonProps, useTheme } from '@mui/material'\nimport { Dispatch, SetStateAction, SyntheticEvent } from 'react'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscChevronDown } from 'react-icons/vsc/index.js'\n\nexport interface SubNavToggleIconButtonProps extends IconButtonProps {\n openSubNav?: boolean\n setOpenSubNav?: Dispatch<SetStateAction<boolean>>\n}\n\nexport const SubNavToggleIconButton: React.FC<SubNavToggleIconButtonProps> = ({ setOpenSubNav, openSubNav }) => {\n const theme = useTheme()\n return (\n <IconButton\n onClick={(event: SyntheticEvent) => {\n event.stopPropagation()\n setOpenSubNav?.(!openSubNav)\n }}\n sx={{ marginRight: theme.spacing(0.5) }}\n >\n <VscChevronDown fontSize=\"16px\" />\n </IconButton>\n )\n}\n"],"mappings":"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","names":["MenuIcon","IconButton","List","FlexRow","useState","useTheme","jsx","jsx","jsx","jsx","jsx","useTheme","jsx","jsxs","useState","FlexRow","IconButton","MenuIcon","List"]}