@cere/cere-design-system 0.1.0 → 0.2.0

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 (165) hide show
  1. package/README.md +76 -0
  2. package/dist/buttons.d.mts +27 -22
  3. package/dist/buttons.d.ts +27 -22
  4. package/dist/buttons.js +5 -5
  5. package/dist/buttons.mjs +4 -4
  6. package/dist/charts.d.mts +1 -23
  7. package/dist/charts.d.ts +1 -23
  8. package/dist/charts.js +2 -9
  9. package/dist/charts.js.map +1 -1
  10. package/dist/charts.mjs +1 -8
  11. package/dist/{chunk-THQKYTQE.js → chunk-2KDN37PQ.js} +28 -32
  12. package/dist/chunk-2KDN37PQ.js.map +1 -0
  13. package/dist/{chunk-3WCMINE5.mjs → chunk-34LFXT6C.mjs} +25 -29
  14. package/dist/chunk-34LFXT6C.mjs.map +1 -0
  15. package/dist/chunk-3KCXCVOX.mjs +411 -0
  16. package/dist/chunk-3KCXCVOX.mjs.map +1 -0
  17. package/dist/{chunk-NXTVJ6PY.js → chunk-4OKTICU5.js} +10 -10
  18. package/dist/chunk-4OKTICU5.js.map +1 -0
  19. package/dist/{chunk-FN5YL4BK.js → chunk-72TQ56EP.js} +47 -45
  20. package/dist/chunk-72TQ56EP.js.map +1 -0
  21. package/dist/{chunk-QYYQYZHV.js → chunk-7KXKK2RE.js} +3 -5
  22. package/dist/chunk-7KXKK2RE.js.map +1 -0
  23. package/dist/{chunk-CCN6M4LI.js → chunk-ARSCL4ZZ.js} +18 -10
  24. package/dist/chunk-ARSCL4ZZ.js.map +1 -0
  25. package/dist/chunk-AWVNEU6R.mjs +1478 -0
  26. package/dist/chunk-AWVNEU6R.mjs.map +1 -0
  27. package/dist/{chunk-CUCKULYC.mjs → chunk-BH4FNZKK.mjs} +74 -1260
  28. package/dist/chunk-BH4FNZKK.mjs.map +1 -0
  29. package/dist/{chunk-FFZ5S7PQ.mjs → chunk-BOQPWZIB.mjs} +6 -5
  30. package/dist/chunk-BOQPWZIB.mjs.map +1 -0
  31. package/dist/chunk-BT7XUTT5.mjs +392 -0
  32. package/dist/chunk-BT7XUTT5.mjs.map +1 -0
  33. package/dist/{chunk-ATIFLPH6.mjs → chunk-D7D25O6E.mjs} +4 -2
  34. package/dist/{chunk-ATIFLPH6.mjs.map → chunk-D7D25O6E.mjs.map} +1 -1
  35. package/dist/{chunk-JS4IB5IU.mjs → chunk-DRGMEIPT.mjs} +2 -2
  36. package/dist/chunk-DRGMEIPT.mjs.map +1 -0
  37. package/dist/{chunk-KF2Y7HO3.js → chunk-DZXNYLVG.js} +43 -246
  38. package/dist/chunk-DZXNYLVG.js.map +1 -0
  39. package/dist/{chunk-IE6GCHDI.mjs → chunk-GR52ENYI.mjs} +26 -29
  40. package/dist/chunk-GR52ENYI.mjs.map +1 -0
  41. package/dist/chunk-GTBKQXXI.js +1472 -0
  42. package/dist/chunk-GTBKQXXI.js.map +1 -0
  43. package/dist/{chunk-463SRKKD.js → chunk-HJ24WKU4.js} +14 -5
  44. package/dist/chunk-HJ24WKU4.js.map +1 -0
  45. package/dist/{chunk-EOF3QNPF.js → chunk-KKIKOIMP.js} +140 -1028
  46. package/dist/chunk-KKIKOIMP.js.map +1 -0
  47. package/dist/{chunk-MNM6HE72.js → chunk-LVJSKRX3.js} +16 -15
  48. package/dist/chunk-LVJSKRX3.js.map +1 -0
  49. package/dist/{chunk-KPDYKK3V.js → chunk-PFZZJZ64.js} +8 -8
  50. package/dist/{chunk-KPDYKK3V.js.map → chunk-PFZZJZ64.js.map} +1 -1
  51. package/dist/{chunk-KVBMZNWT.mjs → chunk-POCAW2G4.mjs} +18 -10
  52. package/dist/chunk-POCAW2G4.mjs.map +1 -0
  53. package/dist/{chunk-L2TIGA7I.js → chunk-QCFLZ7X3.js} +39 -42
  54. package/dist/chunk-QCFLZ7X3.js.map +1 -0
  55. package/dist/{chunk-6EUAU67C.mjs → chunk-SG2TD7FQ.mjs} +8 -8
  56. package/dist/chunk-SG2TD7FQ.mjs.map +1 -0
  57. package/dist/{chunk-QY65OUAC.mjs → chunk-SSFALO6S.mjs} +13 -4
  58. package/dist/chunk-SSFALO6S.mjs.map +1 -0
  59. package/dist/{chunk-PWF2NJDB.mjs → chunk-WC2TCWXK.mjs} +82 -14
  60. package/dist/chunk-WC2TCWXK.mjs.map +1 -0
  61. package/dist/{chunk-ZGCN5WCG.js → chunk-XZZZ4MZV.js} +83 -15
  62. package/dist/chunk-XZZZ4MZV.js.map +1 -0
  63. package/dist/chunk-YCDCQSYH.js +411 -0
  64. package/dist/chunk-YCDCQSYH.js.map +1 -0
  65. package/dist/{chunk-CWJ4OU6W.mjs → chunk-ZDAZYIXB.mjs} +2 -4
  66. package/dist/chunk-ZDAZYIXB.mjs.map +1 -0
  67. package/dist/feedback.d.mts +20 -8
  68. package/dist/feedback.d.ts +20 -8
  69. package/dist/feedback.js +5 -5
  70. package/dist/feedback.mjs +4 -4
  71. package/dist/fonts/HumanSans-BlackOblique.otf +0 -0
  72. package/dist/fonts/HumanSans-Thin.otf +0 -0
  73. package/dist/fonts/HumanSans-ThinOblique.otf +0 -0
  74. package/dist/fonts/human-sans-font.css +88 -0
  75. package/dist/fonts/human-sans.css +3 -0
  76. package/dist/fonts/inter.css +3 -0
  77. package/dist/icons.d.mts +2 -3
  78. package/dist/icons.d.ts +2 -3
  79. package/dist/icons.js +2 -2
  80. package/dist/icons.mjs +1 -1
  81. package/dist/index.d.mts +37 -8
  82. package/dist/index.d.ts +37 -8
  83. package/dist/index.js +23 -90
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.mjs +46 -113
  86. package/dist/index.mjs.map +1 -1
  87. package/dist/inputs.d.mts +23 -3
  88. package/dist/inputs.d.ts +23 -3
  89. package/dist/inputs.js +5 -5
  90. package/dist/inputs.js.map +1 -1
  91. package/dist/inputs.mjs +15 -15
  92. package/dist/layout.d.mts +37 -283
  93. package/dist/layout.d.ts +37 -283
  94. package/dist/layout.js +8 -32
  95. package/dist/layout.js.map +1 -1
  96. package/dist/layout.mjs +16 -40
  97. package/dist/navigation.d.mts +9 -114
  98. package/dist/navigation.d.ts +9 -114
  99. package/dist/navigation.js +5 -9
  100. package/dist/navigation.js.map +1 -1
  101. package/dist/navigation.mjs +6 -10
  102. package/dist/third-party.d.mts +3 -527
  103. package/dist/third-party.d.ts +3 -527
  104. package/dist/third-party.js +2 -40
  105. package/dist/third-party.js.map +1 -1
  106. package/dist/third-party.mjs +3 -41
  107. package/dist/tokens.css +45 -71
  108. package/dist/utilities.js +2 -4
  109. package/dist/utilities.js.map +1 -1
  110. package/dist/utilities.mjs +2 -4
  111. package/package.json +23 -9
  112. package/dist/WorkflowNode-BnxXO6t_.d.mts +0 -46
  113. package/dist/WorkflowNode-BnxXO6t_.d.ts +0 -46
  114. package/dist/chunk-27JEWSWA.mjs +0 -233
  115. package/dist/chunk-27JEWSWA.mjs.map +0 -1
  116. package/dist/chunk-3WCMINE5.mjs.map +0 -1
  117. package/dist/chunk-463SRKKD.js.map +0 -1
  118. package/dist/chunk-6EUAU67C.mjs.map +0 -1
  119. package/dist/chunk-AIY6222Q.js +0 -11
  120. package/dist/chunk-AIY6222Q.js.map +0 -1
  121. package/dist/chunk-AJBM7IE6.mjs +0 -2366
  122. package/dist/chunk-AJBM7IE6.mjs.map +0 -1
  123. package/dist/chunk-CCN6M4LI.js.map +0 -1
  124. package/dist/chunk-CUCKULYC.mjs.map +0 -1
  125. package/dist/chunk-CWJ4OU6W.mjs.map +0 -1
  126. package/dist/chunk-EOF3QNPF.js.map +0 -1
  127. package/dist/chunk-FFZ5S7PQ.mjs.map +0 -1
  128. package/dist/chunk-FN5YL4BK.js.map +0 -1
  129. package/dist/chunk-HLH2VWXL.js +0 -2658
  130. package/dist/chunk-HLH2VWXL.js.map +0 -1
  131. package/dist/chunk-IE6GCHDI.mjs.map +0 -1
  132. package/dist/chunk-JS4IB5IU.mjs.map +0 -1
  133. package/dist/chunk-KF2Y7HO3.js.map +0 -1
  134. package/dist/chunk-KVBMZNWT.mjs.map +0 -1
  135. package/dist/chunk-L2TIGA7I.js.map +0 -1
  136. package/dist/chunk-MNM6HE72.js.map +0 -1
  137. package/dist/chunk-NXTVJ6PY.js.map +0 -1
  138. package/dist/chunk-PWF2NJDB.mjs.map +0 -1
  139. package/dist/chunk-QD6RLAO2.mjs +0 -11
  140. package/dist/chunk-QD6RLAO2.mjs.map +0 -1
  141. package/dist/chunk-QY65OUAC.mjs.map +0 -1
  142. package/dist/chunk-QYYQYZHV.js.map +0 -1
  143. package/dist/chunk-T7LPABOL.mjs +0 -595
  144. package/dist/chunk-T7LPABOL.mjs.map +0 -1
  145. package/dist/chunk-THQKYTQE.js.map +0 -1
  146. package/dist/chunk-X7E6GMFL.js +0 -233
  147. package/dist/chunk-X7E6GMFL.js.map +0 -1
  148. package/dist/chunk-XF66WQZE.mjs +0 -1535
  149. package/dist/chunk-XF66WQZE.mjs.map +0 -1
  150. package/dist/chunk-YQOZPLTY.js +0 -1535
  151. package/dist/chunk-YQOZPLTY.js.map +0 -1
  152. package/dist/chunk-ZGCN5WCG.js.map +0 -1
  153. package/dist/index.css +0 -79
  154. package/dist/index.css.map +0 -1
  155. /package/dist/{HumanSans-Black-C4YJONK7.otf → fonts/HumanSans-Black.otf} +0 -0
  156. /package/dist/{HumanSans-Bold-4EAJ3L3T.otf → fonts/HumanSans-Bold.otf} +0 -0
  157. /package/dist/{HumanSans-BoldOblique-4D325T4F.otf → fonts/HumanSans-BoldOblique.otf} +0 -0
  158. /package/dist/{HumanSans-ExtraLight-VL7DEKQ4.otf → fonts/HumanSans-ExtraLight.otf} +0 -0
  159. /package/dist/{HumanSans-ExtraLightOblique-VK2JTUXF.otf → fonts/HumanSans-ExtraLightOblique.otf} +0 -0
  160. /package/dist/{HumanSans-Light-YV7AFKRB.otf → fonts/HumanSans-Light.otf} +0 -0
  161. /package/dist/{HumanSans-LightOblique-VIXV7QA6.otf → fonts/HumanSans-LightOblique.otf} +0 -0
  162. /package/dist/{HumanSans-Medium-UULJ3PIR.otf → fonts/HumanSans-Medium.otf} +0 -0
  163. /package/dist/{HumanSans-MediumOblique-M7FHDZRS.otf → fonts/HumanSans-MediumOblique.otf} +0 -0
  164. /package/dist/{HumanSans-Regular-QMFEP3F6.otf → fonts/HumanSans-Regular.otf} +0 -0
  165. /package/dist/{HumanSans-RegularOblique-YPKQJAAM.otf → fonts/HumanSans-RegularOblique.otf} +0 -0
@@ -9,27 +9,31 @@ var _chunkJBHRAAN3js = require('./chunk-JBHRAAN3.js');
9
9
  var _chunkU2QHFISGjs = require('./chunk-U2QHFISG.js');
10
10
 
11
11
 
12
- var _chunkMNM6HE72js = require('./chunk-MNM6HE72.js');
12
+ var _chunkLVJSKRX3js = require('./chunk-LVJSKRX3.js');
13
13
 
14
14
 
15
15
  var _chunkBIZK6FUDjs = require('./chunk-BIZK6FUD.js');
16
16
 
17
17
 
18
- var _chunkZGCN5WCGjs = require('./chunk-ZGCN5WCG.js');
18
+ var _chunkXZZZ4MZVjs = require('./chunk-XZZZ4MZV.js');
19
19
 
20
20
  // src/components/navigation/Dropdown/Dropdown.tsx
21
- var _material = require('@mui/material');
21
+ var _Popover = require('@mui/material/Popover'); var _Popover2 = _interopRequireDefault(_Popover);
22
22
  var _react = require('react'); var _react2 = _interopRequireDefault(_react);
23
23
 
24
24
  // src/components/navigation/Dropdown/DropdownAnchor.tsx
25
25
 
26
-
26
+ var _Stack = require('@mui/material/Stack'); var _Stack2 = _interopRequireDefault(_Stack);
27
+ var _styles = require('@mui/material/styles');
28
+ var _Avatar = require('@mui/material/Avatar'); var _Avatar2 = _interopRequireDefault(_Avatar);
29
+ var _Typography = require('@mui/material/Typography'); var _Typography2 = _interopRequireDefault(_Typography);
30
+ var _Button = require('@mui/material/Button'); var _Button2 = _interopRequireDefault(_Button);
27
31
  var _iconsmaterial = require('@mui/icons-material');
28
32
  var _jsxruntime = require('react/jsx-runtime');
29
- var Clickable = _material.styled.call(void 0, (0, _material.Button))({
33
+ var Clickable = _styles.styled.call(void 0, (0, _Button2.default))({
30
34
  padding: 0
31
35
  });
32
- var Anchor = _material.styled.call(void 0, (0, _material.Stack))(({ theme, variant }) => ({
36
+ var Anchor = _styles.styled.call(void 0, (0, _Stack2.default))(({ theme, variant }) => ({
33
37
  height: 40,
34
38
  borderRadius: 25,
35
39
  padding: theme.spacing(1),
@@ -37,8 +41,8 @@ var Anchor = _material.styled.call(void 0, (0, _material.Stack))(({ theme, varia
37
41
  backgroundColor: variant !== "header" ? theme.palette.grey[200] : "transparent",
38
42
  cursor: "pointer"
39
43
  }));
40
- var Left = _material.styled.call(void 0, "div")(({ theme }) => ({
41
- [`& .${_material.avatarClasses.root}`]: {
44
+ var Left = _styles.styled.call(void 0, "div")(({ theme }) => ({
45
+ [`& .${_Avatar.avatarClasses.root}`]: {
42
46
  width: 30,
43
47
  height: 30,
44
48
  borderWidth: 2,
@@ -46,7 +50,7 @@ var Left = _material.styled.call(void 0, "div")(({ theme }) => ({
46
50
  borderColor: theme.palette.background.paper
47
51
  }
48
52
  }));
49
- var Center = _material.styled.call(void 0, (0, _material.Typography))(({ theme }) => ({
53
+ var Center = _styles.styled.call(void 0, (0, _Typography2.default))(({ theme }) => ({
50
54
  fontWeight: theme.typography.fontWeightBold,
51
55
  color: theme.palette.text.primary
52
56
  }));
@@ -81,7 +85,7 @@ var Dropdown = ({
81
85
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
82
86
  renderAnchor({ ref: anchorRef, onOpen, open }),
83
87
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
84
- _material.Popover,
88
+ _Popover2.default,
85
89
  {
86
90
  "aria-label": "Overlay",
87
91
  open,
@@ -115,22 +119,18 @@ var Dropdown = ({
115
119
  };
116
120
 
117
121
  // src/components/navigation/Sidebar.tsx
118
-
119
-
120
-
121
-
122
-
122
+ var _Drawer = require('@mui/material/Drawer'); var _Drawer2 = _interopRequireDefault(_Drawer);
123
+ var _List = require('@mui/material/List'); var _List2 = _interopRequireDefault(_List);
124
+ var _Box = require('@mui/material/Box'); var _Box2 = _interopRequireDefault(_Box);
123
125
 
124
126
 
125
127
  // src/components/navigation/SidebarItem.tsx
128
+ var _ListItemButton = require('@mui/material/ListItemButton'); var _ListItemButton2 = _interopRequireDefault(_ListItemButton);
129
+ var _ListItemIcon = require('@mui/material/ListItemIcon'); var _ListItemIcon2 = _interopRequireDefault(_ListItemIcon);
130
+ var _ListItemText = require('@mui/material/ListItemText'); var _ListItemText2 = _interopRequireDefault(_ListItemText);
126
131
 
127
132
 
128
-
129
-
130
-
131
-
132
-
133
- var StyledListItemButton = _material.styled.call(void 0, _material.ListItemButton, {
133
+ var StyledListItemButton = _styles.styled.call(void 0, _ListItemButton2.default, {
134
134
  shouldForwardProp: (prop) => prop !== "selected" && prop !== "size"
135
135
  })(({ theme, selected, size = "medium" }) => {
136
136
  const heightMap = {
@@ -169,8 +169,8 @@ var SidebarItem = ({
169
169
  children
170
170
  }) => {
171
171
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, StyledListItemButton, { selected, size, onClick, children: [
172
- icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemIcon, { children: icon }),
173
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemText, { primary: label }),
172
+ icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemIcon2.default, { children: icon }),
173
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemText2.default, { primary: label }),
174
174
  endIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { marginLeft: "auto" }, children: endIcon }),
175
175
  children
176
176
  ] });
@@ -178,7 +178,7 @@ var SidebarItem = ({
178
178
 
179
179
  // src/components/navigation/Sidebar.tsx
180
180
 
181
- var StyledDrawer = _material.styled.call(void 0, (0, _material.Drawer))(({ theme }) => ({
181
+ var StyledDrawer = _styles.styled.call(void 0, (0, _Drawer2.default))(({ theme }) => ({
182
182
  "& .MuiDrawer-paper": {
183
183
  backgroundColor: theme.palette.background.paper,
184
184
  borderRight: `1px solid ${theme.palette.grey[200]}`,
@@ -206,933 +206,37 @@ var Sidebar = ({
206
206
  boxSizing: "border-box"
207
207
  }
208
208
  },
209
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { overflow: "auto", padding: "8px 0" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.List, { children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SidebarItem, { ...item }, index)) }) })
210
- }
211
- );
212
- };
213
-
214
- // src/components/navigation/ServiceSelector.tsx
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
-
232
-
233
- var _KeyboardArrowDown = require('@mui/icons-material/KeyboardArrowDown'); var _KeyboardArrowDown2 = _interopRequireDefault(_KeyboardArrowDown);
234
- var _Archive = require('@mui/icons-material/Archive'); var _Archive2 = _interopRequireDefault(_Archive);
235
- var _Unarchive = require('@mui/icons-material/Unarchive'); var _Unarchive2 = _interopRequireDefault(_Unarchive);
236
- var _Search = require('@mui/icons-material/Search'); var _Search2 = _interopRequireDefault(_Search);
237
- var _Add = require('@mui/icons-material/Add'); var _Add2 = _interopRequireDefault(_Add);
238
- var _Check = require('@mui/icons-material/Check'); var _Check2 = _interopRequireDefault(_Check);
239
- var _Settings = require('@mui/icons-material/Settings'); var _Settings2 = _interopRequireDefault(_Settings);
240
- var _PersonAddAlt = require('@mui/icons-material/PersonAddAlt'); var _PersonAddAlt2 = _interopRequireDefault(_PersonAddAlt);
241
-
242
- var ServiceSelectorButton = ({
243
- services,
244
- selectedServiceId,
245
- loading = false,
246
- compact = false,
247
- onSelectService,
248
- onServiceClick,
249
- onCreateService,
250
- onServiceCreated,
251
- isManager = false,
252
- sx = {},
253
- panelWidth = 350,
254
- onOpenSettings,
255
- onOpenAddMember
256
- }) => {
257
- const [anchorEl, setAnchorEl] = _react.useState.call(void 0, null);
258
- const [searchTerm, setSearchTerm] = _react.useState.call(void 0, "");
259
- const [showArchived, setShowArchived] = _react.useState.call(void 0, false);
260
- const handleOpenSelector = (event) => {
261
- event.stopPropagation();
262
- setAnchorEl(event.currentTarget);
263
- };
264
- const handleClose = () => {
265
- setAnchorEl(null);
266
- setSearchTerm("");
267
- setShowArchived(false);
268
- };
269
- const handleServiceClick = (e) => {
270
- e.stopPropagation();
271
- if (selectedServiceId && onServiceClick) {
272
- onServiceClick(selectedServiceId);
273
- }
274
- };
275
- const handleSelectService = _react.useCallback.call(void 0,
276
- (serviceId) => {
277
- handleClose();
278
- if (onSelectService) {
279
- onSelectService(serviceId);
280
- }
281
- },
282
- [onSelectService]
283
- );
284
- const handleCreateClick = () => {
285
- handleClose();
286
- if (onCreateService) {
287
- onCreateService();
288
- }
289
- };
290
- const selectedService = Array.isArray(services) ? services.find((s) => s.id === selectedServiceId) : null;
291
- const filteredServices = services.filter((service) => {
292
- const matchesSearch = searchTerm === "" || service.name.toLowerCase().includes(searchTerm.toLowerCase());
293
- const isArchived = service.archived === true;
294
- const matchesArchivedFilter = showArchived ? isArchived : !isArchived;
295
- return matchesSearch && matchesArchivedFilter;
296
- });
297
- if (compact) {
298
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
299
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { position: "relative" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: "Select service", placement: "right", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
300
- _material.IconButton,
301
- {
302
- onClick: handleOpenSelector,
303
- sx: {
304
- p: 1,
305
- "&:hover": {
306
- bgcolor: "rgba(0, 0, 0, 0.04)"
307
- },
308
- ...sx
309
- },
310
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
311
- _material.Avatar,
312
- {
313
- sx: {
314
- width: 32,
315
- height: 32,
316
- bgcolor: selectedServiceId ? "primary.main" : "grey.400",
317
- fontSize: "0.9rem"
318
- },
319
- children: selectedService ? selectedService.name.charAt(0) : "D"
320
- }
321
- )
322
- }
323
- ) }) }),
324
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
325
- ServiceSelectorPanel,
326
- {
327
- open: Boolean(anchorEl),
328
- anchorEl,
329
- onClose: handleClose,
330
- services,
331
- selectedServiceId,
332
- onSelectService: handleSelectService,
333
- onCreateService: handleCreateClick,
334
- onServiceCreated,
335
- loading,
336
- width: panelWidth,
337
- isManager,
338
- selectedService,
339
- searchTerm,
340
- onSearchChange: setSearchTerm,
341
- showArchived,
342
- onToggleArchived: () => setShowArchived(!showArchived),
343
- filteredServices,
344
- onOpenSettings,
345
- onOpenAddMember
346
- }
347
- )
348
- ] });
349
- }
350
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
351
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { display: "flex", alignItems: "center", ...sx }, children: [
352
- selectedService ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
353
- isManager ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
354
- _material.Link,
355
- {
356
- underline: "hover",
357
- color: "inherit",
358
- onClick: handleServiceClick,
359
- sx: {
360
- display: "flex",
361
- alignItems: "center",
362
- fontSize: "0.875rem",
363
- cursor: "pointer",
364
- mr: 0.5
365
- },
366
- children: [
367
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
368
- _material.Avatar,
369
- {
370
- sx: {
371
- width: 20,
372
- height: 20,
373
- bgcolor: "primary.main",
374
- fontSize: "0.7rem",
375
- mr: 0.5
376
- },
377
- children: selectedService.name.charAt(0)
378
- }
379
- ),
380
- selectedService.name
381
- ]
382
- }
383
- ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
384
- _material.Box,
385
- {
386
- sx: {
387
- display: "flex",
388
- alignItems: "center",
389
- fontSize: "0.875rem",
390
- mr: 0.5,
391
- color: "text.primary"
392
- },
393
- children: [
394
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
395
- _material.Avatar,
396
- {
397
- sx: {
398
- width: 20,
399
- height: 20,
400
- bgcolor: "primary.main",
401
- fontSize: "0.7rem",
402
- mr: 0.5
403
- },
404
- children: selectedService.name.charAt(0)
405
- }
406
- ),
407
- selectedService.name
408
- ]
409
- }
410
- ),
411
- selectedService.archived && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
412
- _material.Chip,
413
- {
414
- size: "small",
415
- label: "Archived",
416
- color: "error",
417
- variant: "outlined",
418
- sx: {
419
- ml: 0.5,
420
- height: 20,
421
- fontSize: "0.8rem",
422
- "& .MuiChip-label": { px: 1 },
423
- "& .MuiChip-icon": { fontSize: "0.7rem", ml: 0.5 }
424
- }
425
- }
426
- )
427
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
428
- _material.Typography,
429
- {
430
- variant: "body2",
431
- color: "text.secondary",
432
- sx: {
433
- fontSize: "0.875rem"
434
- },
435
- children: "Select Service"
436
- }
437
- ),
438
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
439
- _material.IconButton,
440
- {
441
- onClick: handleOpenSelector,
442
- size: "small",
443
- sx: {
444
- p: 0.2,
445
- ml: 0.5,
446
- color: "text.secondary"
447
- },
448
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _KeyboardArrowDown2.default, { fontSize: "small" })
449
- }
450
- )
451
- ] }),
452
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
453
- ServiceSelectorPanel,
454
- {
455
- open: Boolean(anchorEl),
456
- anchorEl,
457
- onClose: handleClose,
458
- services,
459
- selectedServiceId,
460
- onSelectService: handleSelectService,
461
- onCreateService: handleCreateClick,
462
- onServiceCreated,
463
- loading,
464
- width: panelWidth,
465
- isManager,
466
- selectedService,
467
- searchTerm,
468
- onSearchChange: setSearchTerm,
469
- showArchived,
470
- onToggleArchived: () => setShowArchived(!showArchived),
471
- filteredServices,
472
- onOpenSettings,
473
- onOpenAddMember
474
- }
475
- )
476
- ] });
477
- };
478
- var ServiceSelectorPanel = ({
479
- open,
480
- anchorEl,
481
- onClose,
482
- services,
483
- selectedServiceId,
484
- onSelectService,
485
- onCreateService,
486
- onServiceCreated,
487
- loading = false,
488
- width = 350,
489
- isManager = false,
490
- selectedService,
491
- searchTerm: externalSearchTerm,
492
- onSearchChange: externalOnSearchChange,
493
- showArchived: externalShowArchived,
494
- onToggleArchived: externalOnToggleArchived,
495
- filteredServices: externalFilteredServices,
496
- onOpenSettings,
497
- onOpenAddMember
498
- }) => {
499
- const [internalSearchTerm, setInternalSearchTerm] = _react.useState.call(void 0, "");
500
- const [internalShowArchived, setInternalShowArchived] = _react.useState.call(void 0, false);
501
- const searchTerm = externalSearchTerm !== void 0 ? externalSearchTerm : internalSearchTerm;
502
- const setSearchTerm = externalOnSearchChange || setInternalSearchTerm;
503
- const showArchived = externalShowArchived !== void 0 ? externalShowArchived : internalShowArchived;
504
- const toggleArchived = externalOnToggleArchived || (() => setInternalShowArchived(!internalShowArchived));
505
- const filteredServices = externalFilteredServices || services.filter((service) => {
506
- const matchesSearch = searchTerm === "" || service.name.toLowerCase().includes(searchTerm.toLowerCase());
507
- const isArchived = service.archived === true;
508
- const matchesArchivedFilter = showArchived ? isArchived : !isArchived;
509
- return matchesSearch && matchesArchivedFilter;
510
- });
511
- const handleCreateClick = () => {
512
- if (onCreateService) {
513
- onCreateService();
514
- } else {
515
- onClose();
516
- if (onServiceCreated) {
517
- onServiceCreated();
518
- }
519
- }
520
- };
521
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
522
- _material.Menu,
523
- {
524
- anchorEl,
525
- open,
526
- onClose,
527
- anchorOrigin: {
528
- vertical: "bottom",
529
- horizontal: "left"
530
- },
531
- transformOrigin: {
532
- vertical: "top",
533
- horizontal: "left"
534
- },
535
- PaperProps: {
536
- sx: {
537
- width,
538
- maxHeight: "80vh",
539
- borderRadius: 1,
540
- boxShadow: "0 2px 10px rgba(0, 0, 0, 0.12)",
541
- overflow: "hidden",
542
- mt: 1
543
- }
544
- },
545
- children: [
546
- selectedService && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
547
- _material.Box,
548
- {
549
- sx: {
550
- paddingLeft: 2,
551
- paddingRight: 2,
552
- paddingTop: 1.5,
553
- paddingBottom: 1.5,
554
- borderBottom: 1,
555
- borderColor: "divider"
556
- },
557
- children: [
558
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: {
559
- display: "flex",
560
- alignItems: "center",
561
- mb: 1.5
562
- }, children: [
563
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
564
- _material.Avatar,
565
- {
566
- sx: {
567
- width: 32,
568
- height: 32,
569
- bgcolor: "primary.main",
570
- fontSize: "0.9rem",
571
- mr: 1.5
572
- },
573
- children: selectedService.name.charAt(0)
574
- }
575
- ),
576
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { flex: 1 }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
577
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "subtitle1", sx: { fontWeight: 600, fontSize: "1rem" }, children: selectedService.name }),
578
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
579
- _material.Box,
580
- {
581
- sx: {
582
- display: "inline-block",
583
- bgcolor: "rgba(0, 0, 0, 0.04)",
584
- color: "text.secondary",
585
- px: 1,
586
- py: 0.3,
587
- borderRadius: "12px",
588
- fontSize: "0.7rem",
589
- fontWeight: 500,
590
- lineHeight: 1
591
- },
592
- children: isManager ? "Manager" : "Viewer"
593
- }
594
- )
595
- ] }) })
596
- ] }),
597
- (onOpenSettings || onOpenAddMember) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { display: "flex", gap: 1 }, children: [
598
- onOpenAddMember && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
599
- _material.Button,
600
- {
601
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _PersonAddAlt2.default, {}),
602
- variant: "outlined",
603
- size: "small",
604
- onClick: (e) => {
605
- e.stopPropagation();
606
- onClose();
607
- onOpenAddMember(selectedServiceId || "");
608
- },
609
- disabled: !isManager,
610
- sx: {
611
- flex: 1,
612
- textTransform: "none",
613
- color: "text.secondary",
614
- fontSize: "0.8rem",
615
- py: 0.75,
616
- justifyContent: "flex-start",
617
- borderColor: "rgba(0, 0, 0, 0.12)",
618
- borderRadius: "6px",
619
- "&:hover": {
620
- borderColor: "rgba(0, 0, 0, 0.23)",
621
- backgroundColor: "rgba(0, 0, 0, 0.03)"
622
- },
623
- "&:disabled": {
624
- opacity: 0.5,
625
- cursor: "not-allowed"
626
- }
627
- },
628
- children: "Add member"
629
- }
630
- ),
631
- onOpenSettings && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
632
- _material.Button,
633
- {
634
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Settings2.default, {}),
635
- variant: "outlined",
636
- size: "small",
637
- onClick: (e) => {
638
- e.stopPropagation();
639
- onClose();
640
- onOpenSettings(selectedServiceId || "");
641
- },
642
- disabled: !isManager,
643
- sx: {
644
- flex: 1,
645
- textTransform: "none",
646
- color: "text.secondary",
647
- fontSize: "0.8rem",
648
- py: 0.75,
649
- justifyContent: "flex-start",
650
- borderColor: "rgba(0, 0, 0, 0.12)",
651
- borderRadius: "6px",
652
- "&:hover": {
653
- borderColor: "rgba(0, 0, 0, 0.23)",
654
- backgroundColor: "rgba(0, 0, 0, 0.03)"
655
- },
656
- "&:disabled": {
657
- opacity: 0.5,
658
- cursor: "not-allowed"
659
- }
660
- },
661
- children: "Settings"
662
- }
663
- )
664
- ] })
665
- ]
666
- }
667
- ),
668
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { px: 2, pt: 2, pb: 1.5 }, children: [
669
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { display: "flex", alignItems: "center", mb: 1.5 }, children: [
670
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
671
- _material.TextField,
672
- {
673
- size: "small",
674
- placeholder: "Search services...",
675
- value: searchTerm,
676
- onChange: (e) => setSearchTerm(e.target.value),
677
- sx: { flex: 1 },
678
- InputProps: {
679
- startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.InputAdornment, { position: "start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Search2.default, { fontSize: "small", color: "action" }) }),
680
- sx: {
681
- borderRadius: 1.5,
682
- backgroundColor: "rgba(0, 0, 0, 0.04)",
683
- "& fieldset": { border: "none" },
684
- py: 0.5
685
- }
686
- }
687
- }
688
- ),
689
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: showArchived ? "Show active" : "Show archived", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
690
- _material.IconButton,
691
- {
692
- size: "small",
693
- onClick: toggleArchived,
694
- color: showArchived ? "primary" : "default",
695
- sx: { ml: 1 },
696
- children: showArchived ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Unarchive2.default, { fontSize: "small" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Archive2.default, { fontSize: "small" })
697
- }
698
- ) })
699
- ] }),
700
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
701
- _material.Box,
702
- {
703
- sx: {
704
- maxHeight: 400,
705
- overflow: "auto",
706
- py: 1
707
- },
708
- children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: "Loading services..." }) }) : filteredServices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: searchTerm ? `No ${showArchived ? "archived " : ""}services matching "${searchTerm}"` : showArchived ? "No archived services found" : "No active services found" }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
709
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
710
- _material.Typography,
711
- {
712
- variant: "caption",
713
- sx: {
714
- display: "block",
715
- px: 2.5,
716
- py: 0.5,
717
- color: "text.secondary",
718
- fontWeight: 600,
719
- textTransform: "uppercase",
720
- fontSize: "0.65rem",
721
- letterSpacing: 0.5
722
- },
723
- children: [
724
- "Services",
725
- showArchived && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
726
- _material.Chip,
727
- {
728
- size: "small",
729
- label: "Archived",
730
- color: "error",
731
- variant: "outlined",
732
- sx: {
733
- ml: 1,
734
- height: 20,
735
- fontSize: "0.6rem",
736
- "& .MuiChip-label": { px: 0.5 },
737
- "& .MuiChip-icon": { fontSize: "0.7rem", ml: 0.5 }
738
- }
739
- }
740
- )
741
- ]
742
- }
743
- ),
744
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.List, { disablePadding: true, children: filteredServices.map((service) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
745
- _material.ListItem,
746
- {
747
- sx: {
748
- py: 0.75,
749
- px: 2,
750
- cursor: "pointer",
751
- "&:hover": {
752
- backgroundColor: "rgba(0, 0, 0, 0.04)"
753
- },
754
- backgroundColor: service.id === selectedServiceId ? "rgba(25, 118, 210, 0.08)" : "transparent",
755
- position: "relative"
756
- },
757
- onClick: () => onSelectService(service.id),
758
- secondaryAction: service.id === selectedServiceId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
759
- _Check2.default,
760
- {
761
- sx: {
762
- color: "primary.main",
763
- fontSize: "1.2rem"
764
- }
765
- }
766
- ) : null,
767
- children: [
768
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemAvatar, { sx: { minWidth: 40 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
769
- _material.Avatar,
770
- {
771
- sx: {
772
- width: 26,
773
- height: 26,
774
- bgcolor: service.id === selectedServiceId ? "primary.main" : "grey.400",
775
- fontSize: "0.8rem"
776
- },
777
- src: service.avatar,
778
- children: service.name.charAt(0)
779
- }
780
- ) }),
781
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
782
- _material.ListItemText,
783
- {
784
- primary: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
785
- _material.Typography,
786
- {
787
- variant: "body2",
788
- sx: {
789
- fontWeight: service.id === selectedServiceId ? 600 : 400,
790
- color: service.id === selectedServiceId ? "primary.main" : "text.primary"
791
- },
792
- children: service.name
793
- }
794
- ) }),
795
- primaryTypographyProps: { sx: { fontWeight: 500 } },
796
- sx: { my: 0 }
797
- }
798
- )
799
- ]
800
- },
801
- service.id
802
- )) })
803
- ] })
804
- }
805
- ),
806
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
807
- _material.Box,
808
- {
809
- sx: {
810
- paddingTop: 2,
811
- paddingLeft: 2,
812
- paddingRight: 2,
813
- borderTop: 1,
814
- borderColor: "divider"
815
- },
816
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
817
- _material.Button,
818
- {
819
- fullWidth: true,
820
- variant: "text",
821
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Add2.default, {}),
822
- onClick: handleCreateClick,
823
- sx: {
824
- textTransform: "none",
825
- fontWeight: 500,
826
- justifyContent: "flex-start",
827
- color: "primary.main",
828
- py: 1,
829
- px: 1.5,
830
- "&:hover": {
831
- backgroundColor: "rgba(25, 118, 210, 0.08)"
832
- }
833
- },
834
- children: "New Service"
835
- }
836
- )
837
- }
838
- )
839
- ] })
840
- ]
841
- }
842
- );
843
- };
844
-
845
- // src/components/navigation/WorkspaceSelector.tsx
846
-
847
-
848
-
849
-
850
-
851
-
852
-
853
-
854
-
855
-
856
-
857
-
858
-
859
-
860
-
861
-
862
-
863
-
864
-
865
-
866
-
867
- var WorkspaceSelectorButton = ({
868
- workspaces,
869
- selectedWorkspaceId,
870
- loading = false,
871
- onSelectWorkspace,
872
- onWorkspaceClick,
873
- onCreateWorkspace,
874
- sx = {},
875
- panelWidth = 350
876
- }) => {
877
- const [anchorEl, setAnchorEl] = _react.useState.call(void 0, null);
878
- const handleOpenSelector = (event) => {
879
- event.stopPropagation();
880
- setAnchorEl(event.currentTarget);
881
- };
882
- const handleClose = () => {
883
- setAnchorEl(null);
884
- };
885
- const handleSelectWorkspace = _react.useCallback.call(void 0,
886
- (workspaceId) => {
887
- handleClose();
888
- if (onSelectWorkspace) {
889
- onSelectWorkspace(workspaceId);
890
- }
891
- },
892
- [onSelectWorkspace]
893
- );
894
- const selectedWorkspace = Array.isArray(workspaces) ? workspaces.find((w) => w.id === selectedWorkspaceId) : null;
895
- if (!workspaces || workspaces.length === 0) {
896
- return null;
897
- }
898
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
899
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { display: "flex", alignItems: "center", ...sx }, children: [
900
- selectedWorkspace ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
901
- _material.Link,
902
- {
903
- underline: "hover",
904
- color: "inherit",
905
- onClick: (e) => {
906
- e.stopPropagation();
907
- if (onWorkspaceClick) {
908
- onWorkspaceClick(selectedWorkspace.id);
909
- }
910
- },
911
- sx: {
912
- display: "flex",
913
- alignItems: "center",
914
- fontSize: "0.875rem",
915
- cursor: "pointer",
916
- mr: 0.5
917
- },
918
- children: [
919
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
920
- _material.Avatar,
921
- {
922
- sx: {
923
- width: 20,
924
- height: 20,
925
- bgcolor: "secondary.main",
926
- fontSize: "0.7rem",
927
- mr: 0.5
928
- },
929
- children: selectedWorkspace.name.charAt(0)
930
- }
931
- ),
932
- selectedWorkspace.name
933
- ]
934
- }
935
- ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
936
- _material.Typography,
937
- {
938
- variant: "body2",
939
- color: "text.secondary",
940
- sx: {
941
- fontSize: "0.875rem"
942
- },
943
- children: "Select Workspace"
944
- }
945
- ),
946
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
947
- _material.IconButton,
948
- {
949
- onClick: handleOpenSelector,
950
- size: "small",
951
- sx: {
952
- p: 0.2,
953
- ml: 0.5,
954
- color: "text.secondary"
955
- },
956
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _KeyboardArrowDown2.default, { fontSize: "small" })
957
- }
958
- )
959
- ] }),
960
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
961
- WorkspaceSelectorPanel,
962
- {
963
- open: Boolean(anchorEl),
964
- anchorEl,
965
- onClose: handleClose,
966
- workspaces,
967
- selectedWorkspaceId,
968
- onSelectWorkspace: handleSelectWorkspace,
969
- onCreateWorkspace,
970
- loading,
971
- width: panelWidth
972
- }
973
- )
974
- ] });
975
- };
976
- var WorkspaceSelectorPanel = ({
977
- open,
978
- anchorEl,
979
- onClose,
980
- workspaces,
981
- selectedWorkspaceId,
982
- onSelectWorkspace,
983
- onCreateWorkspace,
984
- loading = false,
985
- width = 350
986
- }) => {
987
- const [searchTerm, setSearchTerm] = _react.useState.call(void 0, "");
988
- _react2.default.useEffect(() => {
989
- if (open) {
990
- setSearchTerm("");
991
- }
992
- }, [open]);
993
- const filteredWorkspaces = workspaces.filter(
994
- (w) => w.name.toLowerCase().includes(searchTerm.toLowerCase())
995
- );
996
- const handleCreateClick = () => {
997
- onClose();
998
- if (onCreateWorkspace) {
999
- onCreateWorkspace();
1000
- }
1001
- };
1002
- const handleSelect = (workspaceId) => {
1003
- onSelectWorkspace(workspaceId);
1004
- onClose();
1005
- };
1006
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1007
- _material.Menu,
1008
- {
1009
- open,
1010
- anchorEl,
1011
- onClose,
1012
- anchorOrigin: { vertical: "bottom", horizontal: "left" },
1013
- transformOrigin: { vertical: "top", horizontal: "left" },
1014
- PaperProps: {
1015
- sx: {
1016
- width,
1017
- maxHeight: 600,
1018
- mt: 1,
1019
- borderRadius: 2
1020
- }
1021
- },
1022
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { children: [
1023
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { px: 2, pt: 2, pb: 1.5 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1024
- _material.TextField,
1025
- {
1026
- fullWidth: true,
1027
- size: "small",
1028
- placeholder: "Search workspaces...",
1029
- value: searchTerm,
1030
- onChange: (e) => setSearchTerm(e.target.value),
1031
- InputProps: {
1032
- startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.InputAdornment, { position: "start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Search2.default, { fontSize: "small" }) })
1033
- }
1034
- }
1035
- ) }),
1036
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { maxHeight: 400, overflowY: "auto" }, children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: "Loading..." }) }) : filteredWorkspaces.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: "No workspaces found" }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.List, { dense: true, children: filteredWorkspaces.map((workspace) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1037
- _material.ListItem,
1038
- {
1039
- onClick: () => handleSelect(workspace.id),
1040
- sx: {
1041
- py: 0.5,
1042
- cursor: "pointer",
1043
- bgcolor: workspace.id === selectedWorkspaceId ? "action.selected" : "transparent",
1044
- "&:hover": {
1045
- bgcolor: "action.hover"
1046
- }
1047
- },
1048
- children: [
1049
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemAvatar, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1050
- _material.Avatar,
1051
- {
1052
- sx: { width: 32, height: 32, bgcolor: "secondary.main" },
1053
- children: workspace.name.charAt(0)
1054
- }
1055
- ) }),
1056
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1057
- _material.ListItemText,
1058
- {
1059
- primary: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
1060
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", fontWeight: 500, children: workspace.name }),
1061
- workspace.id === selectedWorkspaceId && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Check2.default, { fontSize: "small", color: "primary" })
1062
- ] }),
1063
- secondary: workspace.description
1064
- }
1065
- )
1066
- ]
1067
- },
1068
- workspace.id
1069
- )) }) }),
1070
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1071
- _material.Box,
1072
- {
1073
- sx: {
1074
- paddingTop: 2,
1075
- paddingLeft: 2,
1076
- paddingRight: 2,
1077
- borderTop: 1,
1078
- borderColor: "divider"
1079
- },
1080
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1081
- _material.Button,
1082
- {
1083
- fullWidth: true,
1084
- variant: "text",
1085
- startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Add2.default, {}),
1086
- onClick: handleCreateClick,
1087
- sx: {
1088
- textTransform: "none",
1089
- fontWeight: 500,
1090
- justifyContent: "flex-start",
1091
- color: "primary.main",
1092
- py: 1,
1093
- px: 1.5,
1094
- "&:hover": {
1095
- backgroundColor: "rgba(25, 118, 210, 0.08)"
1096
- }
1097
- },
1098
- children: "New Workspace"
1099
- }
1100
- )
1101
- }
1102
- )
1103
- ] })
209
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { overflow: "auto", padding: "8px 0" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _List2.default, { children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SidebarItem, { ...item }, index)) }) })
1104
210
  }
1105
211
  );
1106
212
  };
1107
213
 
1108
214
  // src/components/navigation/Stepper.tsx
1109
-
1110
-
1111
-
1112
-
1113
-
1114
-
1115
-
215
+ var _Stepper = require('@mui/material/Stepper'); var _Stepper2 = _interopRequireDefault(_Stepper);
216
+ var _Step = require('@mui/material/Step'); var _Step2 = _interopRequireDefault(_Step);
217
+ var _StepLabel = require('@mui/material/StepLabel'); var _StepLabel2 = _interopRequireDefault(_StepLabel);
218
+ var _StepContent = require('@mui/material/StepContent'); var _StepContent2 = _interopRequireDefault(_StepContent);
219
+ var _StepButton = require('@mui/material/StepButton'); var _StepButton2 = _interopRequireDefault(_StepButton);
1116
220
 
1117
221
  var Stepper = (props) => {
1118
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Stepper, { ...props });
222
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Stepper2.default, { ...props });
1119
223
  };
1120
224
  var Step = (props) => {
1121
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Step, { ...props });
225
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Step2.default, { ...props });
1122
226
  };
1123
227
  var StepLabel = (props) => {
1124
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.StepLabel, { ...props });
228
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _StepLabel2.default, { ...props });
1125
229
  };
1126
230
  var StepContent = (props) => {
1127
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.StepContent, { ...props });
231
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _StepContent2.default, { ...props });
1128
232
  };
1129
233
  var StepButton = (props) => {
1130
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.StepButton, { ...props });
234
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _StepButton2.default, { ...props });
1131
235
  };
1132
236
 
1133
237
  // src/components/navigation/NumberedStepper.tsx
1134
238
 
1135
- var _styles = require('@mui/material/styles');
239
+
1136
240
 
1137
241
  var Root = _styles.styled.call(void 0, "ol")({
1138
242
  listStyle: "none",
@@ -1159,17 +263,17 @@ var Num = _styles.styled.call(void 0, "span", {
1159
263
  justifyContent: "center",
1160
264
  fontSize: 12,
1161
265
  fontWeight: 600,
1162
- border: `1px solid ${_chunkZGCN5WCGjs.webSurfaceTokens.strokeOnMed}`,
1163
- background: _chunkZGCN5WCGjs.webSurfaceTokens.surfaceContrast,
1164
- color: _chunkZGCN5WCGjs.webSurfaceTokens.textSecondary,
266
+ border: `1px solid ${_chunkXZZZ4MZVjs.webSurfaceTokens.strokeOnMed}`,
267
+ background: _chunkXZZZ4MZVjs.webSurfaceTokens.surfaceContrast,
268
+ color: _chunkXZZZ4MZVjs.webSurfaceTokens.textSecondary,
1165
269
  ...state === "active" && {
1166
- background: _chunkZGCN5WCGjs.webSurfaceTokens.cVioletLight,
1167
- borderColor: _chunkZGCN5WCGjs.webSurfaceTokens.cViolet,
1168
- color: _chunkZGCN5WCGjs.webSurfaceTokens.cVioletDark
270
+ background: _chunkXZZZ4MZVjs.webSurfaceTokens.cVioletLight,
271
+ borderColor: _chunkXZZZ4MZVjs.webSurfaceTokens.cViolet,
272
+ color: _chunkXZZZ4MZVjs.webSurfaceTokens.cVioletDark
1169
273
  },
1170
274
  ...state === "done" && {
1171
- background: _chunkZGCN5WCGjs.webSurfaceTokens.cViolet,
1172
- borderColor: _chunkZGCN5WCGjs.webSurfaceTokens.cViolet,
275
+ background: _chunkXZZZ4MZVjs.webSurfaceTokens.cViolet,
276
+ borderColor: _chunkXZZZ4MZVjs.webSurfaceTokens.cViolet,
1173
277
  color: "white"
1174
278
  }
1175
279
  }));
@@ -1177,7 +281,7 @@ var Label = _styles.styled.call(void 0, "span", {
1177
281
  shouldForwardProp: (p) => p !== "active"
1178
282
  })(({ active }) => ({
1179
283
  fontSize: 13,
1180
- color: active ? _chunkZGCN5WCGjs.webSurfaceTokens.textPrimary : _chunkZGCN5WCGjs.webSurfaceTokens.textSecondary,
284
+ color: active ? _chunkXZZZ4MZVjs.webSurfaceTokens.textPrimary : _chunkXZZZ4MZVjs.webSurfaceTokens.textSecondary,
1181
285
  fontWeight: active ? 500 : 400
1182
286
  }));
1183
287
  var NumberedStepper = _react2.default.forwardRef(
@@ -1220,7 +324,7 @@ var SideNavContext = _react2.default.createContext({
1220
324
  collapsed: false,
1221
325
  showTooltips: true
1222
326
  });
1223
- var SideNavContainer = _styles.styled.call(void 0, _material.Box, {
327
+ var SideNavContainer = _styles.styled.call(void 0, _Box2.default, {
1224
328
  shouldForwardProp: (prop) => !["navWidth", "navPosition", "showBorder", "backgroundColor", "isCollapsed", "collapsedWidth", "transitionDuration"].includes(prop)
1225
329
  })(({ theme, navWidth = 280, navPosition = "left", showBorder = true, backgroundColor, isCollapsed = false, collapsedWidth = 68, transitionDuration = 300 }) => ({
1226
330
  width: isCollapsed ? collapsedWidth : navWidth,
@@ -1240,17 +344,17 @@ var SideNavContainer = _styles.styled.call(void 0, _material.Box, {
1240
344
  borderLeft: navPosition === "right" ? `1px solid ${theme.palette.divider}` : "none"
1241
345
  }
1242
346
  }));
1243
- var HeaderSection = _styles.styled.call(void 0, (0, _material.Box))(({ theme }) => ({
347
+ var HeaderSection = _styles.styled.call(void 0, (0, _Box2.default))(({ theme }) => ({
1244
348
  flexShrink: 0,
1245
349
  backgroundColor: theme.palette.background.paper
1246
350
  }));
1247
- var NavigationSection = _styles.styled.call(void 0, (0, _material.Box))(() => ({
351
+ var NavigationSection = _styles.styled.call(void 0, (0, _Box2.default))(() => ({
1248
352
  flexGrow: 1,
1249
353
  overflowY: "auto",
1250
354
  overflowX: "hidden",
1251
355
  ...scrollbarStyles
1252
356
  }));
1253
- var FooterSection = _styles.styled.call(void 0, (0, _material.Box))(({ theme }) => ({
357
+ var FooterSection = _styles.styled.call(void 0, (0, _Box2.default))(({ theme }) => ({
1254
358
  flexShrink: 0,
1255
359
  backgroundColor: theme.palette.background.paper
1256
360
  }));
@@ -1357,10 +461,14 @@ SideNav.displayName = "SideNav";
1357
461
 
1358
462
 
1359
463
 
464
+ var _IconButton = require('@mui/material/IconButton'); var _IconButton2 = _interopRequireDefault(_IconButton);
465
+ var _Tooltip = require('@mui/material/Tooltip'); var _Tooltip2 = _interopRequireDefault(_Tooltip);
466
+ var _ButtonBase = require('@mui/material/ButtonBase'); var _ButtonBase2 = _interopRequireDefault(_ButtonBase);
467
+
1360
468
  var _ChevronLeft = require('@mui/icons-material/ChevronLeft'); var _ChevronLeft2 = _interopRequireDefault(_ChevronLeft);
1361
469
  var _ChevronRight = require('@mui/icons-material/ChevronRight'); var _ChevronRight2 = _interopRequireDefault(_ChevronRight);
1362
470
 
1363
- var HeaderContainer = _styles.styled.call(void 0, _material.Box, {
471
+ var HeaderContainer = _styles.styled.call(void 0, _Box2.default, {
1364
472
  shouldForwardProp: (prop) => prop !== "isCollapsed"
1365
473
  })(({ theme, isCollapsed }) => ({
1366
474
  display: "flex",
@@ -1374,7 +482,7 @@ var HeaderContainer = _styles.styled.call(void 0, _material.Box, {
1374
482
  duration: theme.transitions.duration.shorter
1375
483
  })
1376
484
  }));
1377
- var BrandingButton = _styles.styled.call(void 0, (0, _material.ButtonBase))(({ theme }) => ({
485
+ var BrandingButton = _styles.styled.call(void 0, (0, _ButtonBase2.default))(({ theme }) => ({
1378
486
  display: "flex",
1379
487
  alignItems: "center",
1380
488
  gap: theme.spacing(1.5),
@@ -1402,7 +510,7 @@ var SideNavHeader = _react2.default.memo(({
1402
510
  const headerAriaLabel = ariaLabel || `${title} navigation header`;
1403
511
  const brandingContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1404
512
  logo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1405
- _material.Box,
513
+ _Box2.default,
1406
514
  {
1407
515
  sx: {
1408
516
  display: "flex",
@@ -1414,7 +522,7 @@ var SideNavHeader = _react2.default.memo(({
1414
522
  }
1415
523
  ),
1416
524
  !collapsed && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1417
- _material.Typography,
525
+ _Typography2.default,
1418
526
  {
1419
527
  variant: "subtitle1",
1420
528
  sx: {
@@ -1444,7 +552,7 @@ var SideNavHeader = _react2.default.memo(({
1444
552
  children: brandingContent
1445
553
  }
1446
554
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1447
- _material.Box,
555
+ _Box2.default,
1448
556
  {
1449
557
  sx: {
1450
558
  display: "flex",
@@ -1456,13 +564,13 @@ var SideNavHeader = _react2.default.memo(({
1456
564
  }
1457
565
  ),
1458
566
  showCollapseButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1459
- _material.Tooltip,
567
+ _Tooltip2.default,
1460
568
  {
1461
569
  title: collapsed ? "Expand navigation" : "Collapse navigation",
1462
570
  placement: "right",
1463
571
  arrow: true,
1464
572
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1465
- _material.IconButton,
573
+ _IconButton2.default,
1466
574
  {
1467
575
  onClick: onCollapse,
1468
576
  "aria-label": collapsed ? "Expand navigation" : "Collapse navigation",
@@ -1491,6 +599,7 @@ SideNavHeader.displayName = "SideNavHeader";
1491
599
  // src/components/navigation/SideNav/NavigationList.tsx
1492
600
 
1493
601
 
602
+ var _ListItem = require('@mui/material/ListItem'); var _ListItem2 = _interopRequireDefault(_ListItem);
1494
603
 
1495
604
  // src/components/navigation/SideNav/NavigationItem.tsx
1496
605
 
@@ -1501,9 +610,7 @@ SideNavHeader.displayName = "SideNavHeader";
1501
610
 
1502
611
 
1503
612
 
1504
-
1505
-
1506
- var StyledListItemButton2 = _styles.styled.call(void 0, _material.ListItemButton, {
613
+ var StyledListItemButton2 = _styles.styled.call(void 0, _ListItemButton2.default, {
1507
614
  shouldForwardProp: (prop) => !["selected", "size", "iconPosition", "isCollapsed"].includes(prop)
1508
615
  })(({ theme, selected, size, isCollapsed }) => {
1509
616
  const heights = {
@@ -1565,6 +672,10 @@ var StyledListItemButton2 = _styles.styled.call(void 0, _material.ListItemButton
1565
672
  };
1566
673
  });
1567
674
  var NavigationItem = _react2.default.memo(
675
+ // Public ref typed `HTMLElement` because MuiListItemButton renders one of
676
+ // `<li>` (default), `<a>` (when `href` is set), or `<button>` (when
677
+ // `component="button"`). Pinning to HTMLDivElement would have misled
678
+ // consumers about the runtime element.
1568
679
  _react2.default.forwardRef(function NavigationItem2({
1569
680
  id,
1570
681
  label,
@@ -1588,7 +699,7 @@ var NavigationItem = _react2.default.memo(
1588
699
  }
1589
700
  };
1590
701
  const iconElement = icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1591
- _material.ListItemIcon,
702
+ _ListItemIcon2.default,
1592
703
  {
1593
704
  sx: {
1594
705
  fontSize: 24,
@@ -1602,7 +713,7 @@ var NavigationItem = _react2.default.memo(
1602
713
  }
1603
714
  );
1604
715
  const labelElement = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1605
- _material.ListItemText,
716
+ _ListItemText2.default,
1606
717
  {
1607
718
  primary: label,
1608
719
  primaryTypographyProps: {
@@ -1639,7 +750,7 @@ var NavigationItem = _react2.default.memo(
1639
750
  labelElement,
1640
751
  icon && iconPosition === "right" && iconElement,
1641
752
  endContent && !collapsed && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1642
- _material.Box,
753
+ _Box2.default,
1643
754
  {
1644
755
  sx: {
1645
756
  marginLeft: "auto",
@@ -1654,7 +765,7 @@ var NavigationItem = _react2.default.memo(
1654
765
  );
1655
766
  if (collapsed && showTooltip) {
1656
767
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1657
- _material.Tooltip,
768
+ _Tooltip2.default,
1658
769
  {
1659
770
  title: label,
1660
771
  placement: tooltipPlacement,
@@ -1695,7 +806,7 @@ var NavigationList = _react2.default.memo(({
1695
806
  }
1696
807
  };
1697
808
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1698
- _material.List,
809
+ _List2.default,
1699
810
  {
1700
811
  role: "list",
1701
812
  "aria-label": ariaLabel,
@@ -1709,7 +820,7 @@ var NavigationList = _react2.default.memo(({
1709
820
  children: items.map((item, index) => {
1710
821
  const isSelected = currentSelectedId === item.id;
1711
822
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1712
- _material.ListItem,
823
+ _ListItem2.default,
1713
824
  {
1714
825
  role: "listitem",
1715
826
  sx: {
@@ -1747,9 +858,11 @@ NavigationList.displayName = "NavigationList";
1747
858
 
1748
859
 
1749
860
 
861
+
862
+
1750
863
  var _Power = require('@mui/icons-material/Power'); var _Power2 = _interopRequireDefault(_Power);
1751
864
 
1752
- var StatusPill = _styles.styled.call(void 0, _material.Box, {
865
+ var StatusPill = _styles.styled.call(void 0, _Box2.default, {
1753
866
  shouldForwardProp: (prop) => !["variant", "interactive"].includes(prop)
1754
867
  })(({ theme, variant = "info", interactive }) => {
1755
868
  const variantColors = {
@@ -1835,7 +948,7 @@ var ConnectionStatus = _react2.default.memo(({
1835
948
  onClick: handleClick,
1836
949
  children: [
1837
950
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1838
- _material.Box,
951
+ _Box2.default,
1839
952
  {
1840
953
  sx: {
1841
954
  display: "flex",
@@ -1846,25 +959,25 @@ var ConnectionStatus = _react2.default.memo(({
1846
959
  children: icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Power2.default, { fontSize: "small" })
1847
960
  }
1848
961
  ),
1849
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { className: "status-text", variant: "body2", children: compact ? _nullishCoalesce(compactText, () => ( status)) : status })
962
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { className: "status-text", variant: "body2", children: compact ? _nullishCoalesce(compactText, () => ( status)) : status })
1850
963
  ]
1851
964
  }
1852
965
  );
1853
966
  if (compact) {
1854
967
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1855
- _material.Box,
968
+ _Box2.default,
1856
969
  {
1857
970
  sx: {
1858
971
  display: "flex",
1859
972
  justifyContent: "center",
1860
973
  padding: 1
1861
974
  },
1862
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: status, placement: "right", arrow: true, children: statusContent })
975
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Tooltip2.default, { title: status, placement: "right", arrow: true, children: statusContent })
1863
976
  }
1864
977
  );
1865
978
  }
1866
979
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1867
- _material.Box,
980
+ _Box2.default,
1868
981
  {
1869
982
  sx: {
1870
983
  display: "flex",
@@ -1881,9 +994,14 @@ ConnectionStatus.displayName = "ConnectionStatus";
1881
994
 
1882
995
 
1883
996
 
997
+
998
+
999
+
1000
+
1001
+
1884
1002
  var _Logout = require('@mui/icons-material/Logout'); var _Logout2 = _interopRequireDefault(_Logout);
1885
1003
 
1886
- var AccountContainer = _styles.styled.call(void 0, _material.Box, {
1004
+ var AccountContainer = _styles.styled.call(void 0, _Box2.default, {
1887
1005
  shouldForwardProp: (prop) => !["layout", "isCompact"].includes(prop)
1888
1006
  })(({ theme, layout = "horizontal", isCompact }) => ({
1889
1007
  display: "flex",
@@ -1926,13 +1044,13 @@ var AccountSection = _react2.default.memo(({
1926
1044
  if (compact) {
1927
1045
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AccountContainer, { layout, isCompact: true, "aria-label": "Account section", children: [
1928
1046
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1929
- _material.Tooltip,
1047
+ _Tooltip2.default,
1930
1048
  {
1931
1049
  title: `${user.name}${user.email ? ` (${user.email})` : ""}`,
1932
1050
  placement: "right",
1933
1051
  arrow: true,
1934
1052
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1935
- _material.Avatar,
1053
+ _Avatar2.default,
1936
1054
  {
1937
1055
  src: avatarSrc,
1938
1056
  alt: user.name,
@@ -1950,8 +1068,8 @@ var AccountSection = _react2.default.memo(({
1950
1068
  )
1951
1069
  }
1952
1070
  ),
1953
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Tooltip, { title: "Logout", placement: "right", arrow: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1954
- _material.IconButton,
1071
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Tooltip2.default, { title: "Logout", placement: "right", arrow: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1072
+ _IconButton2.default,
1955
1073
  {
1956
1074
  onClick: onLogout,
1957
1075
  "aria-label": "Logout",
@@ -1970,7 +1088,7 @@ var AccountSection = _react2.default.memo(({
1970
1088
  }
1971
1089
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AccountContainer, { layout, isCompact: false, "aria-label": "Account section", children: [
1972
1090
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1973
- _material.Avatar,
1091
+ _Avatar2.default,
1974
1092
  {
1975
1093
  src: avatarSrc,
1976
1094
  alt: user.name,
@@ -1986,7 +1104,7 @@ var AccountSection = _react2.default.memo(({
1986
1104
  }
1987
1105
  ),
1988
1106
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1989
- _material.Box,
1107
+ _Box2.default,
1990
1108
  {
1991
1109
  sx: {
1992
1110
  display: "flex",
@@ -1998,7 +1116,7 @@ var AccountSection = _react2.default.memo(({
1998
1116
  },
1999
1117
  children: [
2000
1118
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2001
- _material.Typography,
1119
+ _Typography2.default,
2002
1120
  {
2003
1121
  variant: "body2",
2004
1122
  sx: {
@@ -2012,7 +1130,7 @@ var AccountSection = _react2.default.memo(({
2012
1130
  }
2013
1131
  ),
2014
1132
  showEmail && user.email && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2015
- _material.Typography,
1133
+ _Typography2.default,
2016
1134
  {
2017
1135
  variant: "caption",
2018
1136
  sx: {
@@ -2027,7 +1145,7 @@ var AccountSection = _react2.default.memo(({
2027
1145
  }
2028
1146
  ),
2029
1147
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2030
- _material.Button,
1148
+ _Button2.default,
2031
1149
  {
2032
1150
  onClick: onLogout,
2033
1151
  "aria-label": "Logout",
@@ -2087,16 +1205,14 @@ var Tab = ({
2087
1205
 
2088
1206
  // src/components/navigation/Menu.tsx
2089
1207
 
1208
+ var _Menu = require('@mui/material/Menu'); var _Menu2 = _interopRequireDefault(_Menu);
1209
+ var _MenuItem = require('@mui/material/MenuItem'); var _MenuItem2 = _interopRequireDefault(_MenuItem);
2090
1210
 
2091
1211
 
1212
+ var _Divider = require('@mui/material/Divider'); var _Divider2 = _interopRequireDefault(_Divider);
2092
1213
 
2093
1214
 
2094
-
2095
-
2096
-
2097
-
2098
-
2099
- var StyledMenu = _styles.styled.call(void 0, (0, _material.Menu))(({ theme }) => ({
1215
+ var StyledMenu = _styles.styled.call(void 0, (0, _Menu2.default))(({ theme }) => ({
2100
1216
  "& .MuiPaper-root": {
2101
1217
  borderRadius: 8,
2102
1218
  boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.15)",
@@ -2109,7 +1225,7 @@ var StyledMenu = _styles.styled.call(void 0, (0, _material.Menu))(({ theme }) =>
2109
1225
  }
2110
1226
  }
2111
1227
  }));
2112
- var Menu3 = _react2.default.forwardRef(function Menu4({ anchorEl, onClose, children, ...props }, ref) {
1228
+ var Menu = _react2.default.forwardRef(function Menu2({ anchorEl, onClose, children, ...props }, ref) {
2113
1229
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2114
1230
  StyledMenu,
2115
1231
  {
@@ -2132,11 +1248,11 @@ var Menu3 = _react2.default.forwardRef(function Menu4({ anchorEl, onClose, child
2132
1248
  });
2133
1249
  var MenuItem = _react2.default.forwardRef(function MenuItem2({ icon, label, onClick, disabled = false, divider = false }, ref) {
2134
1250
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2135
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.MenuItem, { ref, onClick, disabled, children: [
2136
- icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemIcon, { children: icon }),
2137
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemText, { children: label })
1251
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _MenuItem2.default, { ref, onClick, disabled, children: [
1252
+ icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemIcon2.default, { children: icon }),
1253
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemText2.default, { children: label })
2138
1254
  ] }),
2139
- divider && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Divider, {})
1255
+ divider && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Divider2.default, {})
2140
1256
  ] });
2141
1257
  });
2142
1258
 
@@ -2168,17 +1284,15 @@ var Pagination = ({ color = "primary", ...props }) => {
2168
1284
 
2169
1285
 
2170
1286
 
1287
+ var _InputAdornment = require('@mui/material/InputAdornment'); var _InputAdornment2 = _interopRequireDefault(_InputAdornment);
2171
1288
 
2172
1289
 
1290
+ var _ListItemAvatar = require('@mui/material/ListItemAvatar'); var _ListItemAvatar2 = _interopRequireDefault(_ListItemAvatar);
2173
1291
 
2174
-
2175
-
2176
-
2177
-
2178
-
2179
-
2180
-
2181
-
1292
+ var _CircularProgress = require('@mui/material/CircularProgress'); var _CircularProgress2 = _interopRequireDefault(_CircularProgress);
1293
+ var _KeyboardArrowDown = require('@mui/icons-material/KeyboardArrowDown'); var _KeyboardArrowDown2 = _interopRequireDefault(_KeyboardArrowDown);
1294
+ var _Search = require('@mui/icons-material/Search'); var _Search2 = _interopRequireDefault(_Search);
1295
+ var _Add = require('@mui/icons-material/Add'); var _Add2 = _interopRequireDefault(_Add);
2182
1296
 
2183
1297
 
2184
1298
  var Selector = ({
@@ -2213,15 +1327,15 @@ var Selector = ({
2213
1327
  onSelect(id);
2214
1328
  handleClose();
2215
1329
  };
2216
- const defaultRenderSelected = (option) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
2217
- option.avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { src: option.avatar, sx: { width: 20, height: 20 } }) : option.icon ? option.icon : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { sx: { width: 20, height: 20, bgcolor: theme.palette.primary.main, fontSize: "0.7rem" }, children: option.name.charAt(0) }),
2218
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", children: option.name })
1330
+ const defaultRenderSelected = (option) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _Box2.default, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
1331
+ option.avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { src: option.avatar, sx: { width: 20, height: 20 } }) : option.icon ? option.icon : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { sx: { width: 20, height: 20, bgcolor: theme.palette.primary.main, fontSize: "0.7rem" }, children: option.name.charAt(0) }),
1332
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { variant: "body2", children: option.name })
2219
1333
  ] });
2220
1334
  if (compact) {
2221
1335
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2222
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWWDNDF4js.IconButton, { onClick: handleOpen, size: "small", children: selectedOption ? selectedOption.avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { src: selectedOption.avatar, sx: { width: 32, height: 32 } }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { sx: { width: 32, height: 32, bgcolor: theme.palette.primary.main }, children: selectedOption.name.charAt(0) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { sx: { width: 32, height: 32, bgcolor: theme.palette.grey[400] }, children: "?" }) }),
1336
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWWDNDF4js.IconButton, { onClick: handleOpen, size: "small", children: selectedOption ? selectedOption.avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { src: selectedOption.avatar, sx: { width: 32, height: 32 } }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { sx: { width: 32, height: 32, bgcolor: theme.palette.primary.main }, children: selectedOption.name.charAt(0) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { sx: { width: 32, height: 32, bgcolor: theme.palette.grey[400] }, children: "?" }) }),
2223
1337
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2224
- _material.Menu,
1338
+ _Menu2.default,
2225
1339
  {
2226
1340
  anchorEl,
2227
1341
  open,
@@ -2229,8 +1343,8 @@ var Selector = ({
2229
1343
  PaperProps: {
2230
1344
  sx: { width, maxHeight: 600, mt: 1 }
2231
1345
  },
2232
- children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { size: 24 }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2233
- options.length > 5 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 1, borderBottom: `1px solid ${theme.palette.grey[200]}` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1346
+ children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CircularProgress2.default, { size: 24 }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1347
+ options.length > 5 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { p: 1, borderBottom: `1px solid ${theme.palette.grey[200]}` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2234
1348
  _chunkJBHRAAN3js.TextField,
2235
1349
  {
2236
1350
  size: "small",
@@ -2239,28 +1353,28 @@ var Selector = ({
2239
1353
  value: searchTerm,
2240
1354
  onChange: (e) => setSearchTerm(e.target.value),
2241
1355
  InputProps: {
2242
- startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.InputAdornment, { position: "start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Search2.default, { fontSize: "small" }) })
1356
+ startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _InputAdornment2.default, { position: "start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Search2.default, { fontSize: "small" }) })
2243
1357
  }
2244
1358
  }
2245
1359
  ) }),
2246
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.List, { sx: { maxHeight: 400, overflow: "auto" }, children: [
1360
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _List2.default, { sx: { maxHeight: 400, overflow: "auto" }, children: [
2247
1361
  filteredOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2248
- _material.ListItemButton,
1362
+ _ListItemButton2.default,
2249
1363
  {
2250
1364
  selected: option.id === selectedId,
2251
1365
  onClick: () => handleSelect(option.id),
2252
1366
  disabled: option.disabled,
2253
1367
  children: [
2254
- option.avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemAvatar, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemAvatar, { children: option.icon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemAvatar, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { sx: { bgcolor: theme.palette.primary.main }, children: option.name.charAt(0) }) }),
2255
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemText, { primary: option.name, secondary: option.description })
1368
+ option.avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemAvatar2.default, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemAvatar2.default, { children: option.icon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemAvatar2.default, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { sx: { bgcolor: theme.palette.primary.main }, children: option.name.charAt(0) }) }),
1369
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemText2.default, { primary: option.name, secondary: option.description })
2256
1370
  ]
2257
1371
  },
2258
1372
  option.id
2259
1373
  )),
2260
- filteredOptions.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
1374
+ filteredOptions.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
2261
1375
  ] }),
2262
- onCreate && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 1, borderTop: `1px solid ${theme.palette.grey[200]}` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2263
- _chunkMNM6HE72js.Button,
1376
+ onCreate && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { p: 1, borderTop: `1px solid ${theme.palette.grey[200]}` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1377
+ _chunkLVJSKRX3js.Button,
2264
1378
  {
2265
1379
  fullWidth: true,
2266
1380
  startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Add2.default, {}),
@@ -2277,12 +1391,12 @@ var Selector = ({
2277
1391
  ] });
2278
1392
  }
2279
1393
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2280
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
2281
- selectedOption ? renderSelected ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2QHFISGjs.Link, { onClick: handleOpen, underline: "hover", children: renderSelected(selectedOption) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2QHFISGjs.Link, { onClick: handleOpen, underline: "hover", children: defaultRenderSelected(selectedOption) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: placeholder }),
1394
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _Box2.default, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
1395
+ selectedOption ? renderSelected ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2QHFISGjs.Link, { onClick: handleOpen, underline: "hover", children: renderSelected(selectedOption) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2QHFISGjs.Link, { onClick: handleOpen, underline: "hover", children: defaultRenderSelected(selectedOption) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { variant: "body2", color: "text.secondary", children: placeholder }),
2282
1396
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWWDNDF4js.IconButton, { onClick: handleOpen, size: "small", sx: { p: 0.2, ml: 0.5 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _KeyboardArrowDown2.default, { fontSize: "small" }) })
2283
1397
  ] }),
2284
1398
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2285
- _material.Menu,
1399
+ _Menu2.default,
2286
1400
  {
2287
1401
  anchorEl,
2288
1402
  open,
@@ -2290,8 +1404,8 @@ var Selector = ({
2290
1404
  PaperProps: {
2291
1405
  sx: { width, maxHeight: 600, mt: 1 }
2292
1406
  },
2293
- children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { size: 24 }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2294
- options.length > 5 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 1, borderBottom: `1px solid ${theme.palette.grey[200]}` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1407
+ children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { display: "flex", justifyContent: "center", p: 2 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CircularProgress2.default, { size: 24 }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1408
+ options.length > 5 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { p: 1, borderBottom: `1px solid ${theme.palette.grey[200]}` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2295
1409
  _chunkJBHRAAN3js.TextField,
2296
1410
  {
2297
1411
  size: "small",
@@ -2300,28 +1414,28 @@ var Selector = ({
2300
1414
  value: searchTerm,
2301
1415
  onChange: (e) => setSearchTerm(e.target.value),
2302
1416
  InputProps: {
2303
- startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.InputAdornment, { position: "start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Search2.default, { fontSize: "small" }) })
1417
+ startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _InputAdornment2.default, { position: "start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Search2.default, { fontSize: "small" }) })
2304
1418
  }
2305
1419
  }
2306
1420
  ) }),
2307
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.List, { sx: { maxHeight: 400, overflow: "auto" }, children: [
1421
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _List2.default, { sx: { maxHeight: 400, overflow: "auto" }, children: [
2308
1422
  filteredOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2309
- _material.ListItemButton,
1423
+ _ListItemButton2.default,
2310
1424
  {
2311
1425
  selected: option.id === selectedId,
2312
1426
  onClick: () => handleSelect(option.id),
2313
1427
  disabled: option.disabled,
2314
1428
  children: [
2315
- option.avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemAvatar, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemAvatar, { children: option.icon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemAvatar, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Avatar, { sx: { bgcolor: theme.palette.primary.main }, children: option.name.charAt(0) }) }),
2316
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.ListItemText, { primary: option.name, secondary: option.description })
1429
+ option.avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemAvatar2.default, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { src: option.avatar }) }) : option.icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemAvatar2.default, { children: option.icon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemAvatar2.default, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Avatar2.default, { sx: { bgcolor: theme.palette.primary.main }, children: option.name.charAt(0) }) }),
1430
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ListItemText2.default, { primary: option.name, secondary: option.description })
2317
1431
  ]
2318
1432
  },
2319
1433
  option.id
2320
1434
  )),
2321
- filteredOptions.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
1435
+ filteredOptions.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { p: 2, textAlign: "center" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { variant: "body2", color: "text.secondary", children: emptyMessage }) })
2322
1436
  ] }),
2323
- onCreate && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { sx: { p: 1, borderTop: `1px solid ${theme.palette.grey[200]}` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2324
- _chunkMNM6HE72js.Button,
1437
+ onCreate && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { sx: { p: 1, borderTop: `1px solid ${theme.palette.grey[200]}` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1438
+ _chunkLVJSKRX3js.Button,
2325
1439
  {
2326
1440
  fullWidth: true,
2327
1441
  startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Add2.default, {}),
@@ -2360,7 +1474,5 @@ var Selector = ({
2360
1474
 
2361
1475
 
2362
1476
 
2363
-
2364
-
2365
- exports.DropdownAnchor = DropdownAnchor; exports.Dropdown = Dropdown; exports.SidebarItem = SidebarItem; exports.Sidebar = Sidebar; exports.ServiceSelectorButton = ServiceSelectorButton; exports.WorkspaceSelectorButton = WorkspaceSelectorButton; exports.Stepper = Stepper; exports.Step = Step; exports.StepLabel = StepLabel; exports.StepContent = StepContent; exports.StepButton = StepButton; exports.NumberedStepper = NumberedStepper; exports.SideNav = SideNav; exports.SideNavHeader = SideNavHeader; exports.NavigationItem = NavigationItem; exports.NavigationList = NavigationList; exports.ConnectionStatus = ConnectionStatus; exports.AccountSection = AccountSection; exports.Tab = Tab; exports.Menu = Menu3; exports.MenuItem = MenuItem; exports.Pagination = Pagination; exports.Selector = Selector;
2366
- //# sourceMappingURL=chunk-EOF3QNPF.js.map
1477
+ exports.DropdownAnchor = DropdownAnchor; exports.Dropdown = Dropdown; exports.SidebarItem = SidebarItem; exports.Sidebar = Sidebar; exports.Stepper = Stepper; exports.Step = Step; exports.StepLabel = StepLabel; exports.StepContent = StepContent; exports.StepButton = StepButton; exports.NumberedStepper = NumberedStepper; exports.SideNav = SideNav; exports.SideNavHeader = SideNavHeader; exports.NavigationItem = NavigationItem; exports.NavigationList = NavigationList; exports.ConnectionStatus = ConnectionStatus; exports.AccountSection = AccountSection; exports.Tab = Tab; exports.Menu = Menu; exports.MenuItem = MenuItem; exports.Pagination = Pagination; exports.Selector = Selector;
1478
+ //# sourceMappingURL=chunk-KKIKOIMP.js.map