@cere/cere-design-system 0.0.17 → 0.0.18

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.
package/dist/index.js CHANGED
@@ -42,7 +42,7 @@ __export(index_exports, {
42
42
  BackgroundVariant: () => import_reactflow2.BackgroundVariant,
43
43
  Badge: () => Badge,
44
44
  BarTrackingIcon: () => BarTrackingIcon,
45
- Box: () => import_material31.Box,
45
+ Box: () => import_material35.Box,
46
46
  Breadcrumbs: () => Breadcrumbs,
47
47
  Button: () => Button,
48
48
  ButtonGroup: () => ButtonGroup,
@@ -63,9 +63,13 @@ __export(index_exports, {
63
63
  Collapse: () => Collapse,
64
64
  ConnectionLineType: () => import_reactflow2.ConnectionLineType,
65
65
  ConnectionStatus: () => ConnectionStatus,
66
- Container: () => import_material33.Container,
66
+ Container: () => import_material37.Container,
67
67
  Controls: () => import_reactflow2.Controls,
68
68
  DecentralizedServerIcon: () => DecentralizedServerIcon,
69
+ DeploymentDashboardCard: () => DeploymentDashboardCard,
70
+ DeploymentDashboardPanel: () => DeploymentDashboardPanel,
71
+ DeploymentDashboardTree: () => DeploymentDashboardTree,
72
+ DeploymentEntityContextMenu: () => DeploymentEntityContextMenu,
69
73
  Dialog: () => Dialog,
70
74
  DiscordIcon: () => DiscordIcon,
71
75
  Divider: () => Divider4,
@@ -82,7 +86,7 @@ __export(index_exports, {
82
86
  FormHelperText: () => import_material4.FormHelperText,
83
87
  FormLabel: () => import_material4.FormLabel,
84
88
  GithubLogoIcon: () => GithubLogoIcon,
85
- Grid: () => import_material28.Grid2,
89
+ Grid: () => import_material32.Grid2,
86
90
  IconButton: () => IconButton,
87
91
  InputAdornment: () => import_material4.InputAdornment,
88
92
  InputLabel: () => import_material4.InputLabel,
@@ -108,7 +112,7 @@ __export(index_exports, {
108
112
  OnboardingProvider: () => OnboardingProvider,
109
113
  Pagination: () => Pagination,
110
114
  Panel: () => import_reactflow3.Panel,
111
- Paper: () => Paper,
115
+ Paper: () => Paper2,
112
116
  PeriodSelect: () => PeriodSelect,
113
117
  Progress: () => Progress,
114
118
  QRCode: () => QRCode,
@@ -124,7 +128,7 @@ __export(index_exports, {
124
128
  Sidebar: () => Sidebar,
125
129
  SidebarItem: () => SidebarItem,
126
130
  Snackbar: () => Snackbar2,
127
- Stack: () => import_material30.Stack,
131
+ Stack: () => import_material34.Stack,
128
132
  Step: () => Step,
129
133
  StepButton: () => StepButton,
130
134
  StepContent: () => StepContent,
@@ -138,14 +142,15 @@ __export(index_exports, {
138
142
  TextField: () => TextField,
139
143
  ToggleButton: () => ToggleButton,
140
144
  ToggleButtonGroup: () => ToggleButtonGroup,
141
- Toolbar: () => import_material34.Toolbar,
145
+ Toolbar: () => import_material38.Toolbar,
142
146
  Tooltip: () => Tooltip6,
143
147
  Truncate: () => Truncate,
144
- Typography: () => import_material32.Typography,
148
+ Typography: () => import_material36.Typography,
145
149
  UploadFileIcon: () => UploadFileIcon,
146
150
  UploadFolderIcon: () => UploadFolderIcon,
147
151
  WorkspaceSelectorButton: () => WorkspaceSelectorButton,
148
152
  colors: () => colors,
153
+ contextMenuItems: () => contextMenuItems,
149
154
  theme: () => theme,
150
155
  useIsDesktop: () => useIsDesktop,
151
156
  useIsMobile: () => useIsMobile,
@@ -219,7 +224,39 @@ var colors = {
219
224
  selected: "rgba(123, 44, 191, 0.1)"
220
225
  }
221
226
  };
222
- var theme = (0, import_styles.createTheme)({
227
+ var deploymentEntityColors = {
228
+ workspace: "#aa44f2",
229
+ stream: "#53b96a",
230
+ deployment: "#eeb510",
231
+ engagement: "#f941e6",
232
+ agent: "#77c3ff"
233
+ };
234
+ var deploymentStatusColors = {
235
+ normal: "#53b96a",
236
+ warning: "#eeb510",
237
+ error: "#ef5059",
238
+ disabled: "#ffffff",
239
+ disabledDim: "#ded8e1"
240
+ };
241
+ var deploymentSurfaceTokens = {
242
+ /** Surface/high background (Figma #fefcff) */
243
+ surfaceHigh: "#fefcff",
244
+ /** Stroke/Outside border (Figma #e6e6e6) */
245
+ strokeOutside: "#e6e6e6",
246
+ /** Default card border (Figma #cdcccd) */
247
+ borderDefault: "#cdcccd",
248
+ /** Primary text (Figma #1d1b20) */
249
+ textPrimary: "#1d1b20",
250
+ /** Secondary/muted text (Figma #818083) */
251
+ textSecondary: "#818083",
252
+ /** Accent blue for workspace border, capacity bar, chevrons (Figma #5865f2) */
253
+ accentBlue: "#5865f2",
254
+ /** Workspace card shadow */
255
+ workspaceShadow: "0px 8px 12px rgba(26, 10, 124, 0.1)",
256
+ /** Hover state for context menu items */
257
+ hoverLight: "#F0F1FF"
258
+ };
259
+ var baseTheme = (0, import_styles.createTheme)({
223
260
  palette: {
224
261
  mode: "light",
225
262
  primary: colors.primary,
@@ -382,6 +419,14 @@ var theme = (0, import_styles.createTheme)({
382
419
  }
383
420
  }
384
421
  });
422
+ var theme = (0, import_styles.createTheme)(baseTheme, {
423
+ palette: {
424
+ deployment: {
425
+ entity: deploymentEntityColors,
426
+ status: deploymentStatusColors
427
+ }
428
+ }
429
+ });
385
430
 
386
431
  // src/animations/CheckMarkAnimation/CheckMarkAnimation.tsx
387
432
  var import_lottie_react = __toESM(require("lottie-react"));
@@ -4982,16 +5027,613 @@ var ListItem4 = ({
4982
5027
  ] });
4983
5028
  };
4984
5029
 
4985
- // src/components/layout/Avatar.tsx
4986
- var import_Avatar = __toESM(require("@mui/material/Avatar"));
5030
+ // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
5031
+ var import_material27 = require("@mui/material");
5032
+ var import_MoreHoriz = __toESM(require("@mui/icons-material/MoreHoriz"));
5033
+ var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
5034
+ var import_ChevronRight2 = __toESM(require("@mui/icons-material/ChevronRight"));
5035
+ var import_ContentCopy = __toESM(require("@mui/icons-material/ContentCopy"));
5036
+ var import_WorkOutline = __toESM(require("@mui/icons-material/WorkOutline"));
5037
+ var import_Waves = __toESM(require("@mui/icons-material/Waves"));
5038
+ var import_RocketLaunchOutlined = __toESM(require("@mui/icons-material/RocketLaunchOutlined"));
5039
+ var import_InsertLink = __toESM(require("@mui/icons-material/InsertLink"));
5040
+ var import_SmartToyOutlined = __toESM(require("@mui/icons-material/SmartToyOutlined"));
4987
5041
  var import_styles26 = require("@mui/material/styles");
5042
+
5043
+ // src/hooks/useControlledExpand.ts
5044
+ var import_react14 = require("react");
5045
+ function useControlledExpand(controlledExpanded, onToggle, defaultExpanded = false) {
5046
+ const [internal, setInternal] = (0, import_react14.useState)(defaultExpanded);
5047
+ const isControlled = controlledExpanded !== void 0 && onToggle != null;
5048
+ const expanded = isControlled ? controlledExpanded : internal;
5049
+ const toggle = isControlled ? () => onToggle() : () => setInternal((prev) => !prev);
5050
+ return { expanded, toggle };
5051
+ }
5052
+
5053
+ // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
4988
5054
  var import_jsx_runtime42 = require("react/jsx-runtime");
5055
+ var ENTITY_LABELS = {
5056
+ workspace: "Workspace",
5057
+ stream: "Stream",
5058
+ deployment: "Deployment",
5059
+ engagement: "Engagement",
5060
+ agent: "Agent"
5061
+ };
5062
+ var ENTITY_ICON_SIZE = 24;
5063
+ var ENTITY_ICONS = {
5064
+ workspace: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_WorkOutline.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
5065
+ stream: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_Waves.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
5066
+ deployment: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_RocketLaunchOutlined.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
5067
+ engagement: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_InsertLink.default, { sx: { fontSize: ENTITY_ICON_SIZE } }),
5068
+ agent: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_SmartToyOutlined.default, { sx: { fontSize: ENTITY_ICON_SIZE } })
5069
+ };
5070
+ var STATUS_DOT_COLORS = {
5071
+ normal: deploymentStatusColors.normal,
5072
+ warning: deploymentStatusColors.warning,
5073
+ error: deploymentStatusColors.error,
5074
+ disabled: deploymentStatusColors.disabledDim
5075
+ };
5076
+ var CHEVRON_SIZE = 16;
5077
+ var StatusDot = (0, import_styles26.styled)(import_material27.Box, {
5078
+ shouldForwardProp: (p) => p !== "status"
5079
+ })(({ status }) => ({
5080
+ width: 8,
5081
+ height: 8,
5082
+ borderRadius: "50%",
5083
+ backgroundColor: status ? STATUS_DOT_COLORS[status] ?? "transparent" : "transparent",
5084
+ flexShrink: 0
5085
+ }));
5086
+ var EntityChip = ({ entityType, color }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5087
+ import_material27.Box,
5088
+ {
5089
+ sx: {
5090
+ display: "inline-flex",
5091
+ alignItems: "center",
5092
+ gap: 0.5,
5093
+ pl: 1,
5094
+ pr: 1.5,
5095
+ py: 0.5,
5096
+ borderRadius: "16px",
5097
+ backgroundColor: deploymentSurfaceTokens.surfaceHigh,
5098
+ border: `2px solid ${color}`,
5099
+ flexShrink: 0
5100
+ },
5101
+ children: [
5102
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material27.Box, { sx: { color, display: "flex", alignItems: "center" }, children: ENTITY_ICONS[entityType] }),
5103
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5104
+ import_material27.Typography,
5105
+ {
5106
+ variant: "body2",
5107
+ fontWeight: 500,
5108
+ sx: { color: "black", lineHeight: 1.42, fontSize: "14px", letterSpacing: "0.07px" },
5109
+ children: ENTITY_LABELS[entityType]
5110
+ }
5111
+ )
5112
+ ]
5113
+ }
5114
+ );
5115
+ var IdBadge = ({ id, onCopy }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5116
+ import_material27.Box,
5117
+ {
5118
+ sx: {
5119
+ display: "inline-flex",
5120
+ alignItems: "center",
5121
+ gap: 0.5,
5122
+ px: 2,
5123
+ py: 1,
5124
+ borderRadius: "8px",
5125
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
5126
+ bgcolor: "white",
5127
+ flexShrink: 0
5128
+ },
5129
+ children: [
5130
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5131
+ import_material27.Typography,
5132
+ {
5133
+ variant: "body2",
5134
+ fontWeight: 500,
5135
+ sx: { color: deploymentSurfaceTokens.textPrimary, whiteSpace: "nowrap" },
5136
+ children: [
5137
+ "ID: ",
5138
+ id
5139
+ ]
5140
+ }
5141
+ ),
5142
+ onCopy && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material27.IconButton, { size: "small", onClick: onCopy, "aria-label": "Copy ID", sx: { p: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ContentCopy.default, { sx: { fontSize: 14, color: deploymentSurfaceTokens.textSecondary } }) })
5143
+ ]
5144
+ }
5145
+ );
5146
+ var CapacityBar = ({ value, indented = false }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material27.Box, { sx: { pl: indented ? "40px" : 0, pr: "20px", py: 1 }, children: [
5147
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material27.Box, { sx: { display: "flex", justifyContent: "space-between", mb: 1 }, children: [
5148
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material27.Typography, { variant: "body2", sx: { color: deploymentSurfaceTokens.textPrimary }, children: "Capacity" }),
5149
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material27.Typography, { variant: "body2", sx: { color: deploymentSurfaceTokens.accentBlue }, children: [
5150
+ value,
5151
+ "%"
5152
+ ] })
5153
+ ] }),
5154
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5155
+ import_material27.LinearProgress,
5156
+ {
5157
+ variant: "determinate",
5158
+ value,
5159
+ sx: {
5160
+ height: 4,
5161
+ borderRadius: "20px",
5162
+ backgroundColor: deploymentSurfaceTokens.strokeOutside,
5163
+ "& .MuiLinearProgress-bar": {
5164
+ borderRadius: "20px",
5165
+ backgroundColor: deploymentSurfaceTokens.accentBlue
5166
+ }
5167
+ }
5168
+ }
5169
+ )
5170
+ ] });
5171
+ var CardActionList = ({ actions }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5172
+ import_material27.Box,
5173
+ {
5174
+ component: action.onClick ? "button" : "span",
5175
+ onClick: action.onClick,
5176
+ sx: {
5177
+ display: "inline-flex",
5178
+ alignItems: "center",
5179
+ gap: 0.5,
5180
+ cursor: action.onClick ? "pointer" : "default",
5181
+ background: "none",
5182
+ border: "none",
5183
+ p: 0,
5184
+ font: "inherit",
5185
+ color: deploymentSurfaceTokens.textPrimary,
5186
+ whiteSpace: "nowrap",
5187
+ "&:hover": action.onClick ? { opacity: 0.7 } : void 0
5188
+ },
5189
+ children: [
5190
+ action.icon && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material27.Box, { component: "span", sx: { display: "flex", alignItems: "center" }, children: action.icon }),
5191
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material27.Typography, { variant: "body2", fontWeight: 500, component: "span", sx: { fontSize: "14px" }, children: action.label })
5192
+ ]
5193
+ },
5194
+ action.id
5195
+ )) });
5196
+ var DeploymentDashboardCard = ({
5197
+ entityType,
5198
+ title,
5199
+ id: idDisplay,
5200
+ createdAt,
5201
+ updatedAt,
5202
+ capacity,
5203
+ actions = [],
5204
+ statusIndicator = null,
5205
+ expandable = false,
5206
+ expanded: controlledExpanded,
5207
+ onExpandToggle,
5208
+ onCopyId,
5209
+ onContextMenu,
5210
+ className,
5211
+ children
5212
+ }) => {
5213
+ const theme2 = (0, import_material27.useTheme)();
5214
+ const entityColor = theme2.palette.deployment?.entity?.[entityType] ?? deploymentEntityColors[entityType];
5215
+ const { expanded, toggle } = useControlledExpand(
5216
+ expandable && onExpandToggle != null ? controlledExpanded : void 0,
5217
+ expandable && onExpandToggle != null ? onExpandToggle : void 0
5218
+ );
5219
+ const isWorkspace = entityType === "workspace";
5220
+ const isDeployment = entityType === "deployment";
5221
+ const isAgent = entityType === "agent";
5222
+ const capacityClamped = isDeployment && capacity != null ? Math.min(100, Math.max(0, capacity)) : void 0;
5223
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5224
+ import_material27.Paper,
5225
+ {
5226
+ className,
5227
+ elevation: 0,
5228
+ sx: {
5229
+ border: `1px solid ${isWorkspace ? deploymentSurfaceTokens.accentBlue : deploymentSurfaceTokens.borderDefault}`,
5230
+ borderRadius: isWorkspace ? "4px" : "12px",
5231
+ boxShadow: isWorkspace ? deploymentSurfaceTokens.workspaceShadow : "none",
5232
+ px: 1,
5233
+ py: isDeployment ? 2 : 1,
5234
+ pl: isAgent && !expandable ? 2 : 1,
5235
+ display: "flex",
5236
+ flexDirection: "column",
5237
+ gap: 0
5238
+ },
5239
+ children: [
5240
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5241
+ import_material27.Box,
5242
+ {
5243
+ sx: {
5244
+ display: "flex",
5245
+ justifyContent: "space-between",
5246
+ alignItems: isDeployment ? "flex-start" : "center",
5247
+ width: "100%"
5248
+ },
5249
+ children: [
5250
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material27.Box, { sx: { display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
5251
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material27.Box, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
5252
+ expandable && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5253
+ import_material27.IconButton,
5254
+ {
5255
+ size: "small",
5256
+ onClick: toggle,
5257
+ "aria-label": expanded ? "Collapse" : "Expand",
5258
+ sx: { p: "5px" },
5259
+ children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ExpandMore.default, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ChevronRight2.default, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } })
5260
+ }
5261
+ ),
5262
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(EntityChip, { entityType, color: entityColor }),
5263
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5264
+ import_material27.Typography,
5265
+ {
5266
+ variant: "subtitle1",
5267
+ fontWeight: 500,
5268
+ noWrap: true,
5269
+ sx: { color: deploymentSurfaceTokens.textPrimary, fontSize: "16px", letterSpacing: "0.08px" },
5270
+ children: title
5271
+ }
5272
+ ),
5273
+ idDisplay != null && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(IdBadge, { id: idDisplay, onCopy: onCopyId })
5274
+ ] }),
5275
+ (createdAt != null || updatedAt != null) && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
5276
+ import_material27.Box,
5277
+ {
5278
+ sx: {
5279
+ display: "flex",
5280
+ gap: 2,
5281
+ px: expandable ? "36px" : 0,
5282
+ color: deploymentSurfaceTokens.textSecondary
5283
+ },
5284
+ children: [
5285
+ createdAt != null && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material27.Typography, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
5286
+ "Created: ",
5287
+ createdAt
5288
+ ] }),
5289
+ updatedAt != null && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material27.Typography, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
5290
+ "Last Updated: ",
5291
+ updatedAt
5292
+ ] })
5293
+ ]
5294
+ }
5295
+ ),
5296
+ capacityClamped !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CapacityBar, { value: capacityClamped, indented: expandable })
5297
+ ] }),
5298
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material27.Box, { sx: { display: "flex", gap: 1, alignItems: "center", flexShrink: 0 }, children: [
5299
+ statusIndicator != null && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(StatusDot, { status: statusIndicator, "aria-hidden": true }),
5300
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CardActionList, { actions }),
5301
+ onContextMenu && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
5302
+ import_material27.IconButton,
5303
+ {
5304
+ size: "small",
5305
+ onClick: onContextMenu,
5306
+ "aria-label": "Open menu",
5307
+ sx: {
5308
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
5309
+ borderRadius: "8px",
5310
+ p: 1,
5311
+ bgcolor: "white"
5312
+ },
5313
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_MoreHoriz.default, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.textPrimary } })
5314
+ }
5315
+ )
5316
+ ] })
5317
+ ]
5318
+ }
5319
+ ),
5320
+ children && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material27.Box, { sx: { mt: 1.5, display: "flex", flexDirection: "column", gap: 1 }, children })
5321
+ ]
5322
+ }
5323
+ );
5324
+ };
5325
+
5326
+ // src/components/layout/DeploymentEntityContextMenu/DeploymentEntityContextMenu.tsx
5327
+ var import_material28 = require("@mui/material");
5328
+ var import_styles27 = require("@mui/material/styles");
5329
+ var import_jsx_runtime43 = require("react/jsx-runtime");
5330
+ var StyledMenu2 = (0, import_styles27.styled)(import_material28.Menu)({
5331
+ "& .MuiPaper-root": {
5332
+ borderRadius: 10,
5333
+ boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.15)",
5334
+ minWidth: 220,
5335
+ border: "1px solid",
5336
+ borderColor: "grey.200"
5337
+ }
5338
+ });
5339
+ var MenuListWrapper = (0, import_styles27.styled)("div")({
5340
+ "& .MuiList-root": {
5341
+ padding: 8
5342
+ },
5343
+ "& .MuiListItem-root": {
5344
+ borderRadius: 8,
5345
+ marginBottom: 4,
5346
+ "&:hover": {
5347
+ backgroundColor: deploymentSurfaceTokens.hoverLight
5348
+ }
5349
+ }
5350
+ });
5351
+ var DeploymentEntityContextMenu = ({
5352
+ open,
5353
+ anchorEl,
5354
+ onClose,
5355
+ items,
5356
+ enableToggle = false,
5357
+ enableChecked = false,
5358
+ onEnableChange
5359
+ }) => {
5360
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5361
+ StyledMenu2,
5362
+ {
5363
+ anchorEl,
5364
+ open,
5365
+ onClose,
5366
+ anchorOrigin: { vertical: "bottom", horizontal: "right" },
5367
+ transformOrigin: { vertical: "top", horizontal: "right" },
5368
+ slotProps: { paper: { "aria-label": "Entity context menu" } },
5369
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(MenuListWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(List6, { disablePadding: true, children: [
5370
+ items.map(
5371
+ (item) => item.type === "toggle" ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5372
+ ListItem4,
5373
+ {
5374
+ primary: item.label,
5375
+ icon: item.icon,
5376
+ action: onEnableChange ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5377
+ import_material28.Switch,
5378
+ {
5379
+ size: "small",
5380
+ checked: enableChecked,
5381
+ onChange: (_, checked) => onEnableChange(checked),
5382
+ color: "success"
5383
+ }
5384
+ ) : void 0,
5385
+ hoverable: true,
5386
+ sx: { cursor: "default" }
5387
+ },
5388
+ item.id
5389
+ ) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5390
+ ListItem4,
5391
+ {
5392
+ primary: item.label,
5393
+ icon: item.icon,
5394
+ onClick: () => {
5395
+ item.onClick?.();
5396
+ onClose();
5397
+ },
5398
+ hoverable: true
5399
+ },
5400
+ item.id
5401
+ )
5402
+ ),
5403
+ enableToggle && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5404
+ ListItem4,
5405
+ {
5406
+ primary: "Enable",
5407
+ action: onEnableChange ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5408
+ import_material28.Switch,
5409
+ {
5410
+ size: "small",
5411
+ checked: enableChecked,
5412
+ onChange: (_, checked) => onEnableChange(checked),
5413
+ color: "success"
5414
+ }
5415
+ ) : void 0,
5416
+ hoverable: true,
5417
+ sx: { cursor: "default" }
5418
+ }
5419
+ )
5420
+ ] }) })
5421
+ }
5422
+ );
5423
+ };
5424
+
5425
+ // src/components/layout/DeploymentEntityContextMenu/contextMenuItems.tsx
5426
+ var import_AddCircleOutline = __toESM(require("@mui/icons-material/AddCircleOutline"));
5427
+ var import_Edit = __toESM(require("@mui/icons-material/Edit"));
5428
+ var import_ContentCopy2 = __toESM(require("@mui/icons-material/ContentCopy"));
5429
+ var import_AccountTree = __toESM(require("@mui/icons-material/AccountTree"));
5430
+ var import_Description = __toESM(require("@mui/icons-material/Description"));
5431
+ var import_Settings2 = __toESM(require("@mui/icons-material/Settings"));
5432
+ var import_jsx_runtime44 = require("react/jsx-runtime");
5433
+ var contextMenuItems = {
5434
+ addEngagement: (onClick) => ({
5435
+ id: "add-engagement",
5436
+ label: "Add Engagement",
5437
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_AddCircleOutline.default, { fontSize: "small" }),
5438
+ onClick
5439
+ }),
5440
+ addAgent: (onClick) => ({
5441
+ id: "add-agent",
5442
+ label: "Add Agent",
5443
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_AddCircleOutline.default, { fontSize: "small" }),
5444
+ onClick
5445
+ }),
5446
+ addStream: (onClick) => ({
5447
+ id: "add-stream",
5448
+ label: "Add Stream",
5449
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_AddCircleOutline.default, { fontSize: "small" }),
5450
+ onClick
5451
+ }),
5452
+ edit: (onClick) => ({
5453
+ id: "edit",
5454
+ label: "Edit",
5455
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Edit.default, { fontSize: "small" }),
5456
+ onClick
5457
+ }),
5458
+ copyId: (onClick) => ({
5459
+ id: "copy-id",
5460
+ label: "Copy ID",
5461
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_ContentCopy2.default, { fontSize: "small" }),
5462
+ onClick
5463
+ }),
5464
+ agentFlowVisualization: (onClick) => ({
5465
+ id: "agent-flow",
5466
+ label: "Agent Flow Visualization",
5467
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_AccountTree.default, { fontSize: "small" }),
5468
+ onClick
5469
+ }),
5470
+ viewLogs: (onClick) => ({
5471
+ id: "view-logs",
5472
+ label: "View Logs",
5473
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Description.default, { fontSize: "small" }),
5474
+ onClick
5475
+ }),
5476
+ settings: (onClick) => ({
5477
+ id: "settings",
5478
+ label: "Settings",
5479
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Settings2.default, { fontSize: "small" }),
5480
+ onClick
5481
+ })
5482
+ };
5483
+
5484
+ // src/components/layout/DeploymentDashboardTree/DeploymentDashboardTree.tsx
5485
+ var import_material29 = require("@mui/material");
5486
+ var import_styles28 = require("@mui/material/styles");
5487
+ var import_jsx_runtime45 = require("react/jsx-runtime");
5488
+ var TREE_SP = {
5489
+ /** Vertical gap between sibling rows (Figma S / sp-8) */
5490
+ rowGap: 8,
5491
+ /** Gap between rail and children column (Figma sp-12) */
5492
+ railGap: 12,
5493
+ /** Rail width (Figma) */
5494
+ railWidth: 4,
5495
+ /** Total horizontal indent per level = railWidth + railGap (Figma M = 16) */
5496
+ indentPerLevel: 4 + 12
5497
+ };
5498
+ var RAIL_OPACITY = {
5499
+ workspace: 0.5,
5500
+ stream: 0.5,
5501
+ deployment: 0.4,
5502
+ engagement: 0.4,
5503
+ agent: 0.4
5504
+ };
5505
+ var Rail = (0, import_styles28.styled)(import_material29.Box, {
5506
+ shouldForwardProp: (p) => p !== "railColor"
5507
+ })(({ railColor }) => ({
5508
+ width: TREE_SP.railWidth,
5509
+ borderRadius: TREE_SP.railWidth / 2,
5510
+ backgroundColor: railColor,
5511
+ flexShrink: 0,
5512
+ alignSelf: "stretch"
5513
+ }));
5514
+ var TreeRow = ({ node, depth, onExpandToggle, onCopyId, onContextMenu, renderCard }) => {
5515
+ const hasChildren = Boolean(node.children && node.children.length > 0);
5516
+ const { expanded, toggle } = useControlledExpand(
5517
+ onExpandToggle != null ? node.expanded : void 0,
5518
+ onExpandToggle ? () => onExpandToggle(node.id) : void 0,
5519
+ node.expanded ?? false
5520
+ );
5521
+ const entityColor = deploymentEntityColors[node.entityType] ?? deploymentEntityColors.workspace;
5522
+ const railOpacity = RAIL_OPACITY[node.entityType] ?? 0.5;
5523
+ const railColor = (0, import_styles28.alpha)(entityColor, railOpacity);
5524
+ const renderedChildren = hasChildren && expanded ? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_material29.Box, { sx: { display: "flex", gap: `${TREE_SP.railGap}px` }, children: [
5525
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Rail, { railColor, "aria-hidden": true, "data-rail": true }),
5526
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5527
+ import_material29.Box,
5528
+ {
5529
+ role: "group",
5530
+ sx: {
5531
+ flex: 1,
5532
+ minWidth: 0,
5533
+ display: "flex",
5534
+ flexDirection: "column",
5535
+ gap: `${TREE_SP.rowGap}px`
5536
+ },
5537
+ children: node.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5538
+ TreeRow,
5539
+ {
5540
+ node: child,
5541
+ depth: depth + 1,
5542
+ onExpandToggle,
5543
+ onCopyId,
5544
+ onContextMenu,
5545
+ renderCard
5546
+ },
5547
+ child.id
5548
+ ))
5549
+ }
5550
+ )
5551
+ ] }) : null;
5552
+ const cardContent = renderCard?.(node) ?? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5553
+ DeploymentDashboardCard,
5554
+ {
5555
+ entityType: node.entityType,
5556
+ title: node.title,
5557
+ id: node.idDisplay,
5558
+ createdAt: node.createdAt,
5559
+ updatedAt: node.updatedAt,
5560
+ capacity: node.capacity,
5561
+ actions: node.actions,
5562
+ statusIndicator: node.statusIndicator,
5563
+ expandable: hasChildren,
5564
+ expanded,
5565
+ onExpandToggle: hasChildren ? toggle : void 0,
5566
+ onCopyId: onCopyId && node.idDisplay ? () => onCopyId(node.id) : void 0,
5567
+ onContextMenu: onContextMenu ? (e) => onContextMenu(node.id, e) : void 0,
5568
+ children: renderedChildren
5569
+ }
5570
+ );
5571
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_material29.Box, { role: "treeitem", children: cardContent });
5572
+ };
5573
+ var DeploymentDashboardTree = ({
5574
+ nodes,
5575
+ onExpandToggle,
5576
+ onCopyId,
5577
+ onContextMenu,
5578
+ renderCard
5579
+ }) => {
5580
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5581
+ import_material29.Box,
5582
+ {
5583
+ role: "tree",
5584
+ sx: {
5585
+ display: "flex",
5586
+ flexDirection: "column",
5587
+ gap: `${TREE_SP.rowGap}px`,
5588
+ p: `${TREE_SP.rowGap}px`
5589
+ },
5590
+ children: nodes.map((node) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
5591
+ TreeRow,
5592
+ {
5593
+ node,
5594
+ depth: 0,
5595
+ onExpandToggle,
5596
+ onCopyId,
5597
+ onContextMenu,
5598
+ renderCard
5599
+ },
5600
+ node.id
5601
+ ))
5602
+ }
5603
+ );
5604
+ };
5605
+
5606
+ // src/components/layout/DeploymentDashboardPanel/DeploymentDashboardPanel.tsx
5607
+ var import_material30 = require("@mui/material");
5608
+ var import_styles29 = require("@mui/material/styles");
5609
+ var import_jsx_runtime46 = require("react/jsx-runtime");
5610
+ var PANEL_RADIUS = 12;
5611
+ var PANEL_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.08)";
5612
+ var StyledPanel = (0, import_styles29.styled)(import_material30.Box)({
5613
+ backgroundColor: deploymentSurfaceTokens.surfaceHigh,
5614
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
5615
+ borderRadius: PANEL_RADIUS,
5616
+ boxShadow: PANEL_SHADOW,
5617
+ overflow: "hidden"
5618
+ });
5619
+ var DeploymentDashboardPanel = ({
5620
+ children,
5621
+ className,
5622
+ padding = 2
5623
+ }) => {
5624
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(StyledPanel, { className, sx: { p: padding }, children });
5625
+ };
5626
+
5627
+ // src/components/layout/Avatar.tsx
5628
+ var import_Avatar = __toESM(require("@mui/material/Avatar"));
5629
+ var import_styles30 = require("@mui/material/styles");
5630
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4989
5631
  var sizeMap = {
4990
5632
  small: 32,
4991
5633
  medium: 40,
4992
5634
  large: 56
4993
5635
  };
4994
- var StyledAvatar = (0, import_styles26.styled)(import_Avatar.default, {
5636
+ var StyledAvatar = (0, import_styles30.styled)(import_Avatar.default, {
4995
5637
  shouldForwardProp: (prop) => prop !== "avatarSize"
4996
5638
  })(({ avatarSize = 40 }) => ({
4997
5639
  width: avatarSize,
@@ -5002,18 +5644,18 @@ var StyledAvatar = (0, import_styles26.styled)(import_Avatar.default, {
5002
5644
  }));
5003
5645
  var Avatar5 = ({ size: size3 = "medium", ...props }) => {
5004
5646
  const avatarSize = typeof size3 === "number" ? size3 : sizeMap[size3];
5005
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(StyledAvatar, { avatarSize, ...props });
5647
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StyledAvatar, { avatarSize, ...props });
5006
5648
  };
5007
5649
 
5008
5650
  // src/components/layout/Table.tsx
5009
- var import_material27 = require("@mui/material");
5010
- var import_styles27 = require("@mui/material/styles");
5011
- var import_jsx_runtime43 = require("react/jsx-runtime");
5012
- var StyledTableContainer = (0, import_styles27.styled)(import_material27.TableContainer)({
5651
+ var import_material31 = require("@mui/material");
5652
+ var import_styles31 = require("@mui/material/styles");
5653
+ var import_jsx_runtime48 = require("react/jsx-runtime");
5654
+ var StyledTableContainer = (0, import_styles31.styled)(import_material31.TableContainer)({
5013
5655
  borderRadius: 8,
5014
5656
  border: `1px solid ${colors.grey[200]}`
5015
5657
  });
5016
- var StyledTableHead = (0, import_styles27.styled)(import_material27.TableHead)({
5658
+ var StyledTableHead = (0, import_styles31.styled)(import_material31.TableHead)({
5017
5659
  backgroundColor: colors.grey[50],
5018
5660
  "& .MuiTableCell-head": {
5019
5661
  fontWeight: 600,
@@ -5021,7 +5663,7 @@ var StyledTableHead = (0, import_styles27.styled)(import_material27.TableHead)({
5021
5663
  }
5022
5664
  });
5023
5665
  var Table = ({ stickyHeader = false, children, ...props }) => {
5024
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_material27.Table, { stickyHeader, ...props, children }) });
5666
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(StyledTableContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_material31.Table, { stickyHeader, ...props, children }) });
5025
5667
  };
5026
5668
  var TableHeader = ({
5027
5669
  columns,
@@ -5029,8 +5671,8 @@ var TableHeader = ({
5029
5671
  order = "asc",
5030
5672
  onSort
5031
5673
  }) => {
5032
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(StyledTableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_material27.TableRow, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_material27.TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
5033
- import_material27.TableSortLabel,
5674
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(StyledTableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_material31.TableRow, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_material31.TableCell, { align: column.align || "left", children: column.sortable && onSort ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5675
+ import_material31.TableSortLabel,
5034
5676
  {
5035
5677
  active: orderBy === column.id,
5036
5678
  direction: orderBy === column.id ? order : "asc",
@@ -5041,15 +5683,15 @@ var TableHeader = ({
5041
5683
  };
5042
5684
 
5043
5685
  // src/components/layout/Grid.tsx
5044
- var import_material28 = require("@mui/material");
5686
+ var import_material32 = require("@mui/material");
5045
5687
 
5046
5688
  // src/components/layout/Breadcrumbs.tsx
5047
5689
  var import_Breadcrumbs = __toESM(require("@mui/material/Breadcrumbs"));
5048
5690
  var import_Link3 = __toESM(require("@mui/material/Link"));
5049
5691
  var import_Typography = __toESM(require("@mui/material/Typography"));
5050
- var import_styles28 = require("@mui/material/styles");
5051
- var import_jsx_runtime44 = require("react/jsx-runtime");
5052
- var StyledBreadcrumbs = (0, import_styles28.styled)(import_Breadcrumbs.default)({
5692
+ var import_styles32 = require("@mui/material/styles");
5693
+ var import_jsx_runtime49 = require("react/jsx-runtime");
5694
+ var StyledBreadcrumbs = (0, import_styles32.styled)(import_Breadcrumbs.default)({
5053
5695
  "& .MuiBreadcrumbs-ol": {
5054
5696
  flexWrap: "nowrap"
5055
5697
  },
@@ -5057,7 +5699,7 @@ var StyledBreadcrumbs = (0, import_styles28.styled)(import_Breadcrumbs.default)(
5057
5699
  color: colors.text.secondary
5058
5700
  }
5059
5701
  });
5060
- var StyledLink2 = (0, import_styles28.styled)(import_Link3.default)({
5702
+ var StyledLink2 = (0, import_styles32.styled)(import_Link3.default)({
5061
5703
  color: colors.primary.main,
5062
5704
  textDecoration: "none",
5063
5705
  "&:hover": {
@@ -5065,12 +5707,12 @@ var StyledLink2 = (0, import_styles28.styled)(import_Link3.default)({
5065
5707
  }
5066
5708
  });
5067
5709
  var Breadcrumbs = ({ items, ...props }) => {
5068
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
5710
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(StyledBreadcrumbs, { ...props, children: items.map((item, index) => {
5069
5711
  const isLast = index === items.length - 1;
5070
5712
  if (isLast || !item.href && !item.onClick) {
5071
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Typography.default, { color: "text.primary", children: item.label }, index);
5713
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_Typography.default, { color: "text.primary", children: item.label }, index);
5072
5714
  }
5073
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
5715
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5074
5716
  StyledLink2,
5075
5717
  {
5076
5718
  href: item.href,
@@ -5088,11 +5730,11 @@ var Breadcrumbs = ({ items, ...props }) => {
5088
5730
  };
5089
5731
 
5090
5732
  // src/components/layout/Accordion.tsx
5091
- var import_material29 = require("@mui/material");
5092
- var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
5093
- var import_styles29 = require("@mui/material/styles");
5094
- var import_jsx_runtime45 = require("react/jsx-runtime");
5095
- var StyledAccordion = (0, import_styles29.styled)(import_material29.Accordion)({
5733
+ var import_material33 = require("@mui/material");
5734
+ var import_ExpandMore2 = __toESM(require("@mui/icons-material/ExpandMore"));
5735
+ var import_styles33 = require("@mui/material/styles");
5736
+ var import_jsx_runtime50 = require("react/jsx-runtime");
5737
+ var StyledAccordion = (0, import_styles33.styled)(import_material33.Accordion)({
5096
5738
  borderRadius: 8,
5097
5739
  boxShadow: "none",
5098
5740
  border: `1px solid ${colors.grey[200]}`,
@@ -5103,7 +5745,7 @@ var StyledAccordion = (0, import_styles29.styled)(import_material29.Accordion)({
5103
5745
  margin: 0
5104
5746
  }
5105
5747
  });
5106
- var StyledAccordionSummary = (0, import_styles29.styled)(import_material29.AccordionSummary)({
5748
+ var StyledAccordionSummary = (0, import_styles33.styled)(import_material33.AccordionSummary)({
5107
5749
  backgroundColor: colors.grey[50],
5108
5750
  borderRadius: "8px 8px 0 0",
5109
5751
  "&.Mui-expanded": {
@@ -5113,7 +5755,7 @@ var StyledAccordionSummary = (0, import_styles29.styled)(import_material29.Accor
5113
5755
  margin: "12px 0"
5114
5756
  }
5115
5757
  });
5116
- var StyledAccordionDetails = (0, import_styles29.styled)(import_material29.AccordionDetails)({
5758
+ var StyledAccordionDetails = (0, import_styles33.styled)(import_material33.AccordionDetails)({
5117
5759
  padding: "16px"
5118
5760
  });
5119
5761
  var Accordion = ({
@@ -5122,17 +5764,17 @@ var Accordion = ({
5122
5764
  defaultExpanded = false,
5123
5765
  ...props
5124
5766
  }) => {
5125
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
5126
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_ExpandMore.default, {}), children: title }),
5127
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StyledAccordionDetails, { children })
5767
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(StyledAccordion, { defaultExpanded, ...props, children: [
5768
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(StyledAccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_ExpandMore2.default, {}), children: title }),
5769
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(StyledAccordionDetails, { children })
5128
5770
  ] });
5129
5771
  };
5130
5772
 
5131
5773
  // src/components/layout/Paper.tsx
5132
5774
  var import_Paper = __toESM(require("@mui/material/Paper"));
5133
- var import_styles30 = require("@mui/material/styles");
5134
- var import_jsx_runtime46 = require("react/jsx-runtime");
5135
- var StyledPaper = (0, import_styles30.styled)(import_Paper.default)({
5775
+ var import_styles34 = require("@mui/material/styles");
5776
+ var import_jsx_runtime51 = require("react/jsx-runtime");
5777
+ var StyledPaper = (0, import_styles34.styled)(import_Paper.default)({
5136
5778
  borderRadius: 8,
5137
5779
  "&.MuiPaper-elevation": {
5138
5780
  boxShadow: "0px 2px 8px rgba(0, 0, 0, 0.08)"
@@ -5142,38 +5784,38 @@ var StyledPaper = (0, import_styles30.styled)(import_Paper.default)({
5142
5784
  boxShadow: "none"
5143
5785
  }
5144
5786
  });
5145
- var Paper = ({ variant = "elevation", ...props }) => {
5146
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
5787
+ var Paper2 = ({ variant = "elevation", ...props }) => {
5788
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(StyledPaper, { variant, elevation: variant === "elevation" ? 1 : 0, ...props });
5147
5789
  };
5148
5790
 
5149
5791
  // src/components/layout/Divider.tsx
5150
5792
  var import_Divider = __toESM(require("@mui/material/Divider"));
5151
- var import_styles31 = require("@mui/material/styles");
5152
- var import_jsx_runtime47 = require("react/jsx-runtime");
5153
- var StyledDivider = (0, import_styles31.styled)(import_Divider.default)({
5793
+ var import_styles35 = require("@mui/material/styles");
5794
+ var import_jsx_runtime52 = require("react/jsx-runtime");
5795
+ var StyledDivider = (0, import_styles35.styled)(import_Divider.default)({
5154
5796
  borderColor: colors.grey[200]
5155
5797
  });
5156
5798
  var Divider4 = ({ ...props }) => {
5157
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StyledDivider, { ...props });
5799
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(StyledDivider, { ...props });
5158
5800
  };
5159
5801
 
5160
5802
  // src/components/layout/Stack.tsx
5161
- var import_material30 = require("@mui/material");
5803
+ var import_material34 = require("@mui/material");
5162
5804
 
5163
5805
  // src/components/layout/Box.tsx
5164
- var import_material31 = require("@mui/material");
5806
+ var import_material35 = require("@mui/material");
5165
5807
 
5166
5808
  // src/components/layout/Typography.tsx
5167
- var import_material32 = require("@mui/material");
5809
+ var import_material36 = require("@mui/material");
5168
5810
 
5169
5811
  // src/components/layout/Container.tsx
5170
- var import_material33 = require("@mui/material");
5812
+ var import_material37 = require("@mui/material");
5171
5813
 
5172
5814
  // src/components/layout/AppBar.tsx
5173
- var import_material34 = require("@mui/material");
5174
- var import_styles32 = require("@mui/material/styles");
5175
- var import_jsx_runtime48 = require("react/jsx-runtime");
5176
- var StyledAppBar = (0, import_styles32.styled)(import_material34.AppBar, {
5815
+ var import_material38 = require("@mui/material");
5816
+ var import_styles36 = require("@mui/material/styles");
5817
+ var import_jsx_runtime53 = require("react/jsx-runtime");
5818
+ var StyledAppBar = (0, import_styles36.styled)(import_material38.AppBar, {
5177
5819
  shouldForwardProp: (prop) => prop !== "appBarHeight"
5178
5820
  })(({ appBarHeight = 64 }) => ({
5179
5821
  backgroundColor: colors.background.paper,
@@ -5182,31 +5824,31 @@ var StyledAppBar = (0, import_styles32.styled)(import_material34.AppBar, {
5182
5824
  height: appBarHeight,
5183
5825
  zIndex: 1300
5184
5826
  }));
5185
- var StyledToolbar = (0, import_styles32.styled)(import_material34.Toolbar)(({ theme: theme2 }) => ({
5827
+ var StyledToolbar = (0, import_styles36.styled)(import_material38.Toolbar)(({ theme: theme2 }) => ({
5186
5828
  height: "100%",
5187
5829
  paddingLeft: theme2.spacing(2),
5188
5830
  paddingRight: theme2.spacing(2),
5189
5831
  gap: theme2.spacing(2)
5190
5832
  }));
5191
5833
  var AppBar = ({ height = 64, children, ...props }) => {
5192
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(StyledToolbar, { children }) });
5834
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledAppBar, { position: "fixed", appBarHeight: height, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledToolbar, { children }) });
5193
5835
  };
5194
5836
 
5195
5837
  // src/components/layout/Collapse.tsx
5196
- var import_material35 = require("@mui/material");
5197
- var import_jsx_runtime49 = require("react/jsx-runtime");
5838
+ var import_material39 = require("@mui/material");
5839
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5198
5840
  var Collapse = (props) => {
5199
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_material35.Collapse, { ...props });
5841
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_material39.Collapse, { ...props });
5200
5842
  };
5201
5843
 
5202
5844
  // src/components/feedback/Alert.tsx
5203
- var import_react14 = __toESM(require("react"));
5845
+ var import_react15 = __toESM(require("react"));
5204
5846
  var import_Alert = __toESM(require("@mui/material/Alert"));
5205
- var import_material36 = require("@mui/material");
5847
+ var import_material40 = require("@mui/material");
5206
5848
  var import_Snackbar = __toESM(require("@mui/material/Snackbar"));
5207
- var import_styles33 = require("@mui/material/styles");
5208
- var import_jsx_runtime50 = require("react/jsx-runtime");
5209
- var StyledAlert = (0, import_styles33.styled)(import_Alert.default)({
5849
+ var import_styles37 = require("@mui/material/styles");
5850
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5851
+ var StyledAlert = (0, import_styles37.styled)(import_Alert.default)({
5210
5852
  borderRadius: 8,
5211
5853
  "&.MuiAlert-filled": {
5212
5854
  borderRadius: 8
@@ -5218,12 +5860,12 @@ var Alert2 = ({
5218
5860
  children,
5219
5861
  ...props
5220
5862
  }) => {
5221
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(StyledAlert, { severity, ...props, children: [
5222
- title && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_material36.AlertTitle, { children: title }),
5863
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(StyledAlert, { severity, ...props, children: [
5864
+ title && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_material40.AlertTitle, { children: title }),
5223
5865
  children
5224
5866
  ] });
5225
5867
  };
5226
- var StyledSnackbar = (0, import_styles33.styled)(import_Snackbar.default)({});
5868
+ var StyledSnackbar = (0, import_styles37.styled)(import_Snackbar.default)({});
5227
5869
  var Snackbar2 = ({
5228
5870
  message,
5229
5871
  severity = "info",
@@ -5241,7 +5883,7 @@ var Snackbar2 = ({
5241
5883
  }
5242
5884
  onClose?.();
5243
5885
  };
5244
- const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5886
+ const content = children || (message ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5245
5887
  Alert2,
5246
5888
  {
5247
5889
  onClose: onClose ? handleClose : void 0,
@@ -5255,9 +5897,9 @@ var Snackbar2 = ({
5255
5897
  if (!content) {
5256
5898
  return null;
5257
5899
  }
5258
- const NoTransition = import_react14.default.forwardRef(
5900
+ const NoTransition = import_react15.default.forwardRef(
5259
5901
  (props2, ref) => {
5260
- return import_react14.default.cloneElement(props2.children, {
5902
+ return import_react15.default.cloneElement(props2.children, {
5261
5903
  ref,
5262
5904
  style: {
5263
5905
  ...props2.children.props.style,
@@ -5267,7 +5909,7 @@ var Snackbar2 = ({
5267
5909
  }
5268
5910
  );
5269
5911
  NoTransition.displayName = "NoTransition";
5270
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5912
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5271
5913
  StyledSnackbar,
5272
5914
  {
5273
5915
  anchorOrigin,
@@ -5287,16 +5929,16 @@ var Snackbar2 = ({
5287
5929
  };
5288
5930
 
5289
5931
  // src/components/feedback/EmptyState.tsx
5290
- var import_material37 = require("@mui/material");
5291
- var import_jsx_runtime51 = require("react/jsx-runtime");
5932
+ var import_material41 = require("@mui/material");
5933
+ var import_jsx_runtime56 = require("react/jsx-runtime");
5292
5934
  var EmptyState = ({
5293
5935
  title = "No items found",
5294
5936
  description,
5295
5937
  icon,
5296
5938
  action
5297
5939
  }) => {
5298
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
5299
- import_material37.Box,
5940
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
5941
+ import_material41.Box,
5300
5942
  {
5301
5943
  sx: {
5302
5944
  display: "flex",
@@ -5308,8 +5950,8 @@ var EmptyState = ({
5308
5950
  minHeight: 200
5309
5951
  },
5310
5952
  children: [
5311
- icon && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5312
- import_material37.Box,
5953
+ icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5954
+ import_material41.Box,
5313
5955
  {
5314
5956
  sx: {
5315
5957
  color: colors.text.secondary,
@@ -5319,24 +5961,24 @@ var EmptyState = ({
5319
5961
  children: icon
5320
5962
  }
5321
5963
  ),
5322
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.Typography, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
5323
- description && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.Typography, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
5324
- action && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material37.Box, { children: action })
5964
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_material41.Typography, { variant: "h6", sx: { marginBottom: 1, color: colors.text.primary }, children: title }),
5965
+ description && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_material41.Typography, { variant: "body2", sx: { color: colors.text.secondary, marginBottom: 3 }, children: description }),
5966
+ action && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_material41.Box, { children: action })
5325
5967
  ]
5326
5968
  }
5327
5969
  );
5328
5970
  };
5329
5971
 
5330
5972
  // src/components/feedback/Loading.tsx
5331
- var import_material38 = require("@mui/material");
5332
- var import_jsx_runtime52 = require("react/jsx-runtime");
5973
+ var import_material42 = require("@mui/material");
5974
+ var import_jsx_runtime57 = require("react/jsx-runtime");
5333
5975
  var Loading = ({
5334
5976
  message = "Loading...",
5335
5977
  size: size3 = 40,
5336
5978
  fullScreen = false
5337
5979
  }) => {
5338
- const content = /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
5339
- import_material38.Box,
5980
+ const content = /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
5981
+ import_material42.Box,
5340
5982
  {
5341
5983
  sx: {
5342
5984
  display: "flex",
@@ -5358,8 +6000,8 @@ var Loading = ({
5358
6000
  }
5359
6001
  },
5360
6002
  children: [
5361
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material38.CircularProgress, { size: size3, thickness: 4 }),
5362
- message && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material38.Typography, { variant: "body2", color: "text.secondary", children: message })
6003
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material42.CircularProgress, { size: size3, thickness: 4 }),
6004
+ message && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material42.Typography, { variant: "body2", color: "text.secondary", children: message })
5363
6005
  ]
5364
6006
  }
5365
6007
  );
@@ -5367,15 +6009,15 @@ var Loading = ({
5367
6009
  };
5368
6010
 
5369
6011
  // src/components/feedback/AppLoading.tsx
5370
- var import_material39 = require("@mui/material");
5371
- var import_jsx_runtime53 = require("react/jsx-runtime");
6012
+ var import_material43 = require("@mui/material");
6013
+ var import_jsx_runtime58 = require("react/jsx-runtime");
5372
6014
  var AppLoading = ({
5373
6015
  message = "Loading...",
5374
6016
  logo = "/icons/logo.png",
5375
6017
  sx = {}
5376
6018
  }) => {
5377
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5378
- import_material39.Box,
6019
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6020
+ import_material43.Box,
5379
6021
  {
5380
6022
  sx: {
5381
6023
  display: "flex",
@@ -5393,8 +6035,8 @@ var AppLoading = ({
5393
6035
  ...sx
5394
6036
  },
5395
6037
  children: [
5396
- logo && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5397
- import_material39.Box,
6038
+ logo && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6039
+ import_material43.Box,
5398
6040
  {
5399
6041
  component: "img",
5400
6042
  src: logo,
@@ -5406,31 +6048,31 @@ var AppLoading = ({
5406
6048
  }
5407
6049
  }
5408
6050
  ),
5409
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_material39.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
5410
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_material39.Typography, { variant: "body1", color: "text.secondary", children: message })
6051
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_material43.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
6052
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_material43.Typography, { variant: "body1", color: "text.secondary", children: message })
5411
6053
  ]
5412
6054
  }
5413
6055
  );
5414
6056
  };
5415
6057
 
5416
6058
  // src/components/feedback/CircularProgress.tsx
5417
- var import_material40 = require("@mui/material");
5418
- var import_jsx_runtime54 = require("react/jsx-runtime");
6059
+ var import_material44 = require("@mui/material");
6060
+ var import_jsx_runtime59 = require("react/jsx-runtime");
5419
6061
  var CircularProgress6 = ({
5420
6062
  size: size3 = 40,
5421
6063
  thickness = 4,
5422
6064
  ...props
5423
6065
  }) => {
5424
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_material40.CircularProgress, { size: size3, thickness, ...props });
6066
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_material44.CircularProgress, { size: size3, thickness, ...props });
5425
6067
  };
5426
6068
 
5427
6069
  // src/components/icons/ActivityAppIcon.tsx
5428
- var import_react15 = require("react");
5429
- var import_material41 = require("@mui/material");
5430
- var import_jsx_runtime55 = require("react/jsx-runtime");
5431
- var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_material41.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
5432
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
5433
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6070
+ var import_react16 = require("react");
6071
+ var import_material45 = require("@mui/material");
6072
+ var import_jsx_runtime60 = require("react/jsx-runtime");
6073
+ var ActivityAppIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_material45.SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
6074
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
6075
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5434
6076
  "rect",
5435
6077
  {
5436
6078
  fill: "none",
@@ -5443,7 +6085,7 @@ var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, im
5443
6085
  rx: 1.7
5444
6086
  }
5445
6087
  ),
5446
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6088
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5447
6089
  "rect",
5448
6090
  {
5449
6091
  fill: "none",
@@ -5456,7 +6098,7 @@ var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, im
5456
6098
  rx: 1.7
5457
6099
  }
5458
6100
  ),
5459
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6101
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5460
6102
  "rect",
5461
6103
  {
5462
6104
  fill: "none",
@@ -5472,10 +6114,10 @@ var ActivityAppIcon = (0, import_react15.memo)((props) => /* @__PURE__ */ (0, im
5472
6114
  ] }));
5473
6115
 
5474
6116
  // src/components/icons/ArrowLeft.tsx
5475
- var import_material42 = require("@mui/material");
5476
- var import_jsx_runtime56 = require("react/jsx-runtime");
6117
+ var import_material46 = require("@mui/material");
6118
+ var import_jsx_runtime61 = require("react/jsx-runtime");
5477
6119
  var LeftArrowIcon = (props) => {
5478
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_material42.SvgIcon, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("g", { id: " Arrow Left", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6120
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_material46.SvgIcon, { ...props, width: "24", height: "24", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("g", { id: " Arrow Left", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5479
6121
  "path",
5480
6122
  {
5481
6123
  id: "Vector (Stroke)",
@@ -5488,10 +6130,10 @@ var LeftArrowIcon = (props) => {
5488
6130
  };
5489
6131
 
5490
6132
  // src/components/icons/ArrowRight.tsx
5491
- var import_material43 = require("@mui/material");
5492
- var import_jsx_runtime57 = require("react/jsx-runtime");
6133
+ var import_material47 = require("@mui/material");
6134
+ var import_jsx_runtime62 = require("react/jsx-runtime");
5493
6135
  var RightArrowIcon = (props) => {
5494
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_material43.SvgIcon, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6136
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_material47.SvgIcon, { ...props, width: "25", height: "24", viewBox: "0 0 25 24", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5495
6137
  "path",
5496
6138
  {
5497
6139
  fillRule: "evenodd",
@@ -5503,11 +6145,11 @@ var RightArrowIcon = (props) => {
5503
6145
  };
5504
6146
 
5505
6147
  // src/components/icons/AvatarIcon.tsx
5506
- var import_material44 = require("@mui/material");
5507
- var import_jsx_runtime58 = require("react/jsx-runtime");
6148
+ var import_material48 = require("@mui/material");
6149
+ var import_jsx_runtime63 = require("react/jsx-runtime");
5508
6150
  var AvatarIcon = (props) => {
5509
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_material44.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
5510
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6151
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_material48.SvgIcon, { ...props, viewBox: "0 0 16 16", children: [
6152
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5511
6153
  "path",
5512
6154
  {
5513
6155
  fillRule: "evenodd",
@@ -5516,7 +6158,7 @@ var AvatarIcon = (props) => {
5516
6158
  fill: "#1D1B20"
5517
6159
  }
5518
6160
  ),
5519
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6161
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5520
6162
  "path",
5521
6163
  {
5522
6164
  fillRule: "evenodd",
@@ -5529,11 +6171,11 @@ var AvatarIcon = (props) => {
5529
6171
  };
5530
6172
 
5531
6173
  // src/components/icons/BarTrackingIcon.tsx
5532
- var import_react16 = require("react");
5533
- var import_material45 = require("@mui/material");
5534
- var import_jsx_runtime59 = require("react/jsx-runtime");
5535
- var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_material45.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
5536
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6174
+ var import_react17 = require("react");
6175
+ var import_material49 = require("@mui/material");
6176
+ var import_jsx_runtime64 = require("react/jsx-runtime");
6177
+ var BarTrackingIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_material49.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
6178
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5537
6179
  "rect",
5538
6180
  {
5539
6181
  x: "7.19922",
@@ -5546,7 +6188,7 @@ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
5546
6188
  fill: "none"
5547
6189
  }
5548
6190
  ),
5549
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6191
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5550
6192
  "rect",
5551
6193
  {
5552
6194
  x: "21.0371",
@@ -5559,7 +6201,7 @@ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
5559
6201
  strokeWidth: "2"
5560
6202
  }
5561
6203
  ),
5562
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6204
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5563
6205
  "rect",
5564
6206
  {
5565
6207
  x: "40.4746",
@@ -5572,7 +6214,7 @@ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
5572
6214
  strokeWidth: "2"
5573
6215
  }
5574
6216
  ),
5575
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6217
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5576
6218
  "rect",
5577
6219
  {
5578
6220
  x: "59.8828",
@@ -5588,10 +6230,10 @@ var BarTrackingIcon = (0, import_react16.memo)((props) => /* @__PURE__ */ (0, im
5588
6230
  ] }));
5589
6231
 
5590
6232
  // src/components/icons/ClockIcon.tsx
5591
- var import_react17 = require("react");
5592
- var import_material46 = require("@mui/material");
5593
- var import_jsx_runtime60 = require("react/jsx-runtime");
5594
- var ClockIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_material46.SvgIcon, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6233
+ var import_react18 = require("react");
6234
+ var import_material50 = require("@mui/material");
6235
+ var import_jsx_runtime65 = require("react/jsx-runtime");
6236
+ var ClockIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_material50.SvgIcon, { ...props, viewBox: "0 0 22 22", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
5595
6237
  "path",
5596
6238
  {
5597
6239
  fill: "currentColor",
@@ -5602,11 +6244,11 @@ var ClockIcon = (0, import_react17.memo)((props) => /* @__PURE__ */ (0, import_j
5602
6244
  ) }));
5603
6245
 
5604
6246
  // src/components/icons/CloudFlashIcon.tsx
5605
- var import_react18 = require("react");
5606
- var import_material47 = require("@mui/material");
5607
- var import_jsx_runtime61 = require("react/jsx-runtime");
5608
- var CloudFlashIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_material47.SvgIcon, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
5609
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6247
+ var import_react19 = require("react");
6248
+ var import_material51 = require("@mui/material");
6249
+ var import_jsx_runtime66 = require("react/jsx-runtime");
6250
+ var CloudFlashIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_material51.SvgIcon, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
6251
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
5610
6252
  "path",
5611
6253
  {
5612
6254
  d: "M18.8029 43.3396V43.2933H19.8029C20.3752 43.2933 20.9384 43.328 21.4908 43.3937C21.9111 39.4438 22.9817 34.2181 25.6601 29.8138C28.6259 24.937 33.5595 21.0898 41.5689 21.0898C46.9417 21.0898 50.8839 22.9055 53.7292 25.6773C56.5498 28.4249 58.2303 32.0495 59.2307 35.5901C60.1768 38.9386 60.5315 42.2718 60.6446 44.8476C60.891 44.4671 61.1651 44.0792 61.4696 43.691C63.7235 40.8178 67.6089 37.9824 74.0317 37.9824C77.222 37.9824 79.8196 38.6871 81.9219 39.7574L81.9232 39.7581C86.8327 42.2671 89.793 47.4136 89.793 52.8846V54.7368C89.793 65.644 80.9404 74.4889 70.0269 74.4889H18.865C11.867 74.4889 6.19295 68.8202 6.19295 61.8256V57.184C6.19295 49.9845 11.6911 43.8799 18.8029 43.3396Z",
@@ -5615,7 +6257,7 @@ var CloudFlashIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, imp
5615
6257
  strokeWidth: "2"
5616
6258
  }
5617
6259
  ),
5618
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6260
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
5619
6261
  "path",
5620
6262
  {
5621
6263
  d: "M79.1804 45.7001C79.1804 45.7001 60.7908 47.259 60.7908 10.0898C60.7908 10.0898 60.9856 45.7768 43.1934 45.7768C43.1934 45.7768 61.1933 48.1151 61.1933 67.6899C61.1933 67.6899 61.1933 45.7001 79.1934 45.7001H79.1804Z",
@@ -5627,11 +6269,11 @@ var CloudFlashIcon = (0, import_react18.memo)((props) => /* @__PURE__ */ (0, imp
5627
6269
  ] }));
5628
6270
 
5629
6271
  // src/components/icons/DecentralizedServerIcon.tsx
5630
- var import_react19 = require("react");
5631
- var import_material48 = require("@mui/material");
5632
- var import_jsx_runtime62 = require("react/jsx-runtime");
5633
- var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_material48.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
5634
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6272
+ var import_react20 = require("react");
6273
+ var import_material52 = require("@mui/material");
6274
+ var import_jsx_runtime67 = require("react/jsx-runtime");
6275
+ var DecentralizedServerIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_material52.SvgIcon, { ...props, viewBox: "0 0 96 97", children: [
6276
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5635
6277
  "path",
5636
6278
  {
5637
6279
  d: "M14.5706 15.0858L48.016 8.29688L81.3694 15.0858L88.2242 48.3742L81.3694 81.6556L48.016 88.4445L14.5706 81.6556L7.80078 48.3742L14.5706 15.0858Z",
@@ -5642,7 +6284,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5642
6284
  strokeLinejoin: "round"
5643
6285
  }
5644
6286
  ),
5645
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6287
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5646
6288
  "path",
5647
6289
  {
5648
6290
  d: "M48.0118 11.2609C49.6622 11.2609 51.0001 9.92755 51.0001 8.28279C51.0001 6.63803 49.6622 5.30469 48.0118 5.30469C46.3614 5.30469 45.0234 6.63803 45.0234 8.28279C45.0234 9.92755 46.3614 11.2609 48.0118 11.2609Z",
@@ -5653,7 +6295,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5653
6295
  strokeLinejoin: "round"
5654
6296
  }
5655
6297
  ),
5656
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6298
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5657
6299
  "path",
5658
6300
  {
5659
6301
  d: "M48.0118 91.4132C49.6622 91.4132 51.0001 90.0799 51.0001 88.4351C51.0001 86.7904 49.6622 85.457 48.0118 85.457C46.3614 85.457 45.0234 86.7904 45.0234 88.4351C45.0234 90.0799 46.3614 91.4132 48.0118 91.4132Z",
@@ -5664,7 +6306,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5664
6306
  strokeLinejoin: "round"
5665
6307
  }
5666
6308
  ),
5667
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6309
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5668
6310
  "path",
5669
6311
  {
5670
6312
  d: "M7.79304 51.339C9.44346 51.339 10.7814 50.0057 10.7814 48.3609C10.7814 46.7162 9.44346 45.3828 7.79304 45.3828C6.14262 45.3828 4.80469 46.7162 4.80469 48.3609C4.80469 50.0057 6.14262 51.339 7.79304 51.339Z",
@@ -5675,7 +6317,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5675
6317
  strokeLinejoin: "round"
5676
6318
  }
5677
6319
  ),
5678
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6320
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5679
6321
  "path",
5680
6322
  {
5681
6323
  d: "M88.2247 51.339C89.8751 51.339 91.213 50.0057 91.213 48.3609C91.213 46.7162 89.8751 45.3828 88.2247 45.3828C86.5743 45.3828 85.2363 46.7162 85.2363 48.3609C85.2363 50.0057 86.5743 51.339 88.2247 51.339Z",
@@ -5686,7 +6328,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5686
6328
  strokeLinejoin: "round"
5687
6329
  }
5688
6330
  ),
5689
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6331
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5690
6332
  "path",
5691
6333
  {
5692
6334
  d: "M81.3477 18.0539C82.9982 18.0539 84.3361 16.7205 84.3361 15.0758C84.3361 13.431 82.9982 12.0977 81.3477 12.0977C79.6973 12.0977 78.3594 13.431 78.3594 15.0758C78.3594 16.7205 79.6973 18.0539 81.3477 18.0539Z",
@@ -5697,7 +6339,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5697
6339
  strokeLinejoin: "round"
5698
6340
  }
5699
6341
  ),
5700
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6342
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5701
6343
  "path",
5702
6344
  {
5703
6345
  d: "M14.5508 84.6203C16.2013 84.6203 17.5392 83.2869 17.5392 81.6422C17.5392 79.9974 16.2013 78.6641 14.5508 78.6641C12.9004 78.6641 11.5625 79.9974 11.5625 81.6422C11.5625 83.2869 12.9004 84.6203 14.5508 84.6203Z",
@@ -5708,7 +6350,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5708
6350
  strokeLinejoin: "round"
5709
6351
  }
5710
6352
  ),
5711
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6353
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5712
6354
  "path",
5713
6355
  {
5714
6356
  d: "M81.3477 84.6203C82.9982 84.6203 84.3361 83.2869 84.3361 81.6422C84.3361 79.9974 82.9982 78.6641 81.3477 78.6641C79.6973 78.6641 78.3594 79.9974 78.3594 81.6422C78.3594 83.2869 79.6973 84.6203 81.3477 84.6203Z",
@@ -5719,7 +6361,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5719
6361
  strokeLinejoin: "round"
5720
6362
  }
5721
6363
  ),
5722
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6364
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5723
6365
  "path",
5724
6366
  {
5725
6367
  d: "M14.5508 18.0539C16.2013 18.0539 17.5392 16.7205 17.5392 15.0758C17.5392 13.431 16.2013 12.0977 14.5508 12.0977C12.9004 12.0977 11.5625 13.431 11.5625 15.0758C11.5625 16.7205 12.9004 18.0539 14.5508 18.0539Z",
@@ -5730,7 +6372,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5730
6372
  strokeLinejoin: "round"
5731
6373
  }
5732
6374
  ),
5733
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6375
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5734
6376
  "rect",
5735
6377
  {
5736
6378
  x: "22.623",
@@ -5743,7 +6385,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5743
6385
  strokeWidth: "2"
5744
6386
  }
5745
6387
  ),
5746
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6388
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5747
6389
  "rect",
5748
6390
  {
5749
6391
  x: "22.623",
@@ -5756,7 +6398,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5756
6398
  strokeWidth: "2"
5757
6399
  }
5758
6400
  ),
5759
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6401
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5760
6402
  "rect",
5761
6403
  {
5762
6404
  x: "22.623",
@@ -5769,7 +6411,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5769
6411
  strokeWidth: "2"
5770
6412
  }
5771
6413
  ),
5772
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6414
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5773
6415
  "path",
5774
6416
  {
5775
6417
  d: "M29.612 37.1542C31.2803 37.1542 32.634 35.8026 32.634 34.1337C32.634 32.4649 31.2803 31.1133 29.612 31.1133C27.9437 31.1133 26.5901 32.4649 26.5901 34.1337C26.5901 35.8026 27.9437 37.1542 29.612 37.1542Z",
@@ -5779,7 +6421,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5779
6421
  strokeMiterlimit: "10"
5780
6422
  }
5781
6423
  ),
5782
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6424
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5783
6425
  "path",
5784
6426
  {
5785
6427
  d: "M40.3464 37.1542C42.0147 37.1542 43.3684 35.8026 43.3684 34.1337C43.3684 32.4649 42.0147 31.1133 40.3464 31.1133C38.6782 31.1133 37.3245 32.4649 37.3245 34.1337C37.3245 35.8026 38.6782 37.1542 40.3464 37.1542Z",
@@ -5789,7 +6431,7 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5789
6431
  strokeMiterlimit: "10"
5790
6432
  }
5791
6433
  ),
5792
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6434
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5793
6435
  "path",
5794
6436
  {
5795
6437
  d: "M51.0808 37.1542C52.7491 37.1542 54.1028 35.8026 54.1028 34.1337C54.1028 32.4649 52.7491 31.1133 51.0808 31.1133C49.4125 31.1133 48.0588 32.4649 48.0588 34.1337C48.0588 35.8026 49.4125 37.1542 51.0808 37.1542Z",
@@ -5802,10 +6444,10 @@ var DecentralizedServerIcon = (0, import_react19.memo)((props) => /* @__PURE__ *
5802
6444
  ] }));
5803
6445
 
5804
6446
  // src/components/icons/DiscordIcon.tsx
5805
- var import_react20 = require("react");
5806
- var import_material49 = require("@mui/material");
5807
- var import_jsx_runtime63 = require("react/jsx-runtime");
5808
- var DiscordIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_material49.SvgIcon, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6447
+ var import_react21 = require("react");
6448
+ var import_material53 = require("@mui/material");
6449
+ var import_jsx_runtime68 = require("react/jsx-runtime");
6450
+ var DiscordIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_material53.SvgIcon, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
5809
6451
  "path",
5810
6452
  {
5811
6453
  fill: "currentColor",
@@ -5814,18 +6456,18 @@ var DiscordIcon = (0, import_react20.memo)((props) => /* @__PURE__ */ (0, import
5814
6456
  ) }));
5815
6457
 
5816
6458
  // src/components/icons/DownloadIcon.tsx
5817
- var import_react21 = require("react");
5818
- var import_material50 = require("@mui/material");
5819
- var import_jsx_runtime64 = require("react/jsx-runtime");
5820
- var DownloadIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_material50.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
5821
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6459
+ var import_react22 = require("react");
6460
+ var import_material54 = require("@mui/material");
6461
+ var import_jsx_runtime69 = require("react/jsx-runtime");
6462
+ var DownloadIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material54.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: [
6463
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5822
6464
  "path",
5823
6465
  {
5824
6466
  d: "M8.86902 11.0041C8.77429 11.1077 8.64038 11.1667 8.5 11.1667C8.35962 11.1667 8.22571 11.1077 8.13099 11.0041L5.46432 8.08738C5.27799 7.88358 5.29215 7.56732 5.49595 7.38099C5.69975 7.19465 6.01602 7.20881 6.20235 7.41262L8 9.3788V2C8 1.72386 8.22386 1.5 8.5 1.5C8.77614 1.5 9 1.72386 9 2V9.3788L10.7977 7.41262C10.984 7.20881 11.3003 7.19465 11.5041 7.38099C11.7079 7.56732 11.722 7.88358 11.5357 8.08738L8.86902 11.0041Z",
5825
6467
  fill: "currentColor"
5826
6468
  }
5827
6469
  ),
5828
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6470
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5829
6471
  "path",
5830
6472
  {
5831
6473
  d: "M3 10C3 9.72386 2.77614 9.5 2.5 9.5C2.22386 9.5 2 9.72386 2 10V10.0366C1.99999 10.9483 1.99998 11.6832 2.07768 12.2612C2.15836 12.8612 2.33096 13.3665 2.73223 13.7678C3.13351 14.169 3.63876 14.3416 4.23883 14.4223C4.81681 14.5 5.55169 14.5 6.46342 14.5H10.5366C11.4483 14.5 12.1832 14.5 12.7612 14.4223C13.3612 14.3416 13.8665 14.169 14.2678 13.7678C14.669 13.3665 14.8416 12.8612 14.9223 12.2612C15 11.6832 15 10.9483 15 10.0366V10C15 9.72386 14.7761 9.5 14.5 9.5C14.2239 9.5 14 9.72386 14 10C14 10.9569 13.9989 11.6244 13.9312 12.1279C13.8655 12.6171 13.7452 12.8762 13.5607 13.0607C13.3762 13.2452 13.1171 13.3655 12.6279 13.4312C12.1244 13.4989 11.4569 13.5 10.5 13.5H6.5C5.54306 13.5 4.87565 13.4989 4.37208 13.4312C3.8829 13.3655 3.62385 13.2452 3.43934 13.0607C3.25483 12.8762 3.13453 12.6171 3.06877 12.1279C3.00106 11.6244 3 10.9569 3 10Z",
@@ -5835,13 +6477,13 @@ var DownloadIcon = (0, import_react21.memo)((props) => /* @__PURE__ */ (0, impor
5835
6477
  ] }));
5836
6478
 
5837
6479
  // src/components/icons/FilledFolderIcon.tsx
5838
- var import_react22 = require("react");
5839
- var import_material51 = require("@mui/material");
5840
- var import_jsx_runtime65 = require("react/jsx-runtime");
5841
- var FilledFolderIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_material51.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
5842
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
5843
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
5844
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6480
+ var import_react23 = require("react");
6481
+ var import_material55 = require("@mui/material");
6482
+ var import_jsx_runtime70 = require("react/jsx-runtime");
6483
+ var FilledFolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_material55.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
6484
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#FCF8EC" }),
6485
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E1B43E" }),
6486
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5845
6487
  "path",
5846
6488
  {
5847
6489
  fillRule: "evenodd",
@@ -5853,13 +6495,13 @@ var FilledFolderIcon = (0, import_react22.memo)((props) => /* @__PURE__ */ (0, i
5853
6495
  ] }));
5854
6496
 
5855
6497
  // src/components/icons/FolderIcon.tsx
5856
- var import_react23 = require("react");
5857
- var import_material52 = require("@mui/material");
5858
- var import_jsx_runtime66 = require("react/jsx-runtime");
5859
- var FolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_material52.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
5860
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
5861
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
5862
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6498
+ var import_react24 = require("react");
6499
+ var import_material56 = require("@mui/material");
6500
+ var import_jsx_runtime71 = require("react/jsx-runtime");
6501
+ var FolderIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_material56.SvgIcon, { sx: { fill: "none" }, ...props, fill: "none", viewBox: "0 0 22 22", children: [
6502
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", fill: "#F5F7FA" }),
6503
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("rect", { x: "0.5", y: "0.5", width: "21", height: "21", rx: "4.5", stroke: "#E6E6E6" }),
6504
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5863
6505
  "path",
5864
6506
  {
5865
6507
  fillRule: "evenodd",
@@ -5873,18 +6515,18 @@ var FolderIcon = (0, import_react23.memo)((props) => /* @__PURE__ */ (0, import_
5873
6515
  ] }));
5874
6516
 
5875
6517
  // src/components/icons/GithubLogoIcon.tsx
5876
- var import_react24 = require("react");
5877
- var import_material53 = require("@mui/material");
5878
- var import_jsx_runtime67 = require("react/jsx-runtime");
5879
- var GithubLogoIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_material53.SvgIcon, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
5880
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6518
+ var import_react25 = require("react");
6519
+ var import_material57 = require("@mui/material");
6520
+ var import_jsx_runtime72 = require("react/jsx-runtime");
6521
+ var GithubLogoIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_material57.SvgIcon, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
6522
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5881
6523
  "path",
5882
6524
  {
5883
6525
  d: "M8.79754 0C4.268 0 0.595032 3.67233 0.595032 8.20251C0.595032 11.8267 2.9453 14.9013 6.20443 15.9859C6.61435 16.0618 6.76488 15.808 6.76488 15.5913C6.76488 15.3957 6.75723 14.7495 6.75375 14.0642C4.47174 14.5603 3.99022 13.0964 3.99022 13.0964C3.61711 12.1483 3.07949 11.8962 3.07949 11.8962C2.33531 11.3871 3.13559 11.3975 3.13559 11.3975C3.95928 11.4554 4.393 12.2428 4.393 12.2428C5.12457 13.4968 6.31186 13.1343 6.77993 12.9247C6.85353 12.3945 7.06614 12.0327 7.30069 11.8279C5.47884 11.6204 3.56358 10.9171 3.56358 7.77413C3.56358 6.87865 3.88401 6.14688 4.40876 5.57247C4.32359 5.36584 4.04285 4.5316 4.48821 3.40175C4.48821 3.40175 5.177 3.18129 6.74449 4.24256C7.39873 4.06076 8.10045 3.96967 8.79754 3.96658C9.49463 3.96967 10.1969 4.06076 10.8524 4.24256C12.418 3.18129 13.1059 3.40175 13.1059 3.40175C13.5523 4.5316 13.2714 5.36584 13.1863 5.57247C13.7122 6.14688 14.0304 6.87858 14.0304 7.77413C14.0304 10.9245 12.1116 11.6183 10.2851 11.8213C10.5793 12.0759 10.8414 12.5751 10.8414 13.3403C10.8414 14.4378 10.8319 15.3211 10.8319 15.5913C10.8319 15.8096 10.9795 16.0654 11.3954 15.9848C14.6527 14.899 17 11.8254 17 8.20251C17 3.67233 13.3275 0 8.79754 0Z",
5884
6526
  fill: "white"
5885
6527
  }
5886
6528
  ),
5887
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6529
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5888
6530
  "path",
5889
6531
  {
5890
6532
  d: "M3.66696 11.6845C3.64895 11.7252 3.58474 11.7374 3.5264 11.7095C3.46689 11.6828 3.43344 11.6272 3.45274 11.5863C3.47043 11.5443 3.53463 11.5326 3.59401 11.5608C3.65364 11.5875 3.68761 11.6436 3.66696 11.6845ZM4.07044 12.0445C4.03133 12.0808 3.95484 12.0639 3.90292 12.0066C3.84927 11.9494 3.83924 11.873 3.87893 11.8361C3.91926 11.7999 3.99344 11.8168 4.04722 11.8741C4.10087 11.9319 4.11129 12.0079 4.07038 12.0446M4.34726 12.5051C4.29695 12.54 4.21474 12.5073 4.16398 12.4343C4.11374 12.3615 4.11374 12.274 4.16507 12.2389C4.21602 12.2038 4.29695 12.2354 4.34842 12.3077C4.39859 12.3819 4.39859 12.4694 4.34719 12.5052M4.81533 13.0386C4.77036 13.0881 4.67464 13.0749 4.60452 13.0072C4.53285 12.9411 4.51285 12.8472 4.55794 12.7976C4.60342 12.748 4.69973 12.7619 4.77036 12.829C4.84158 12.895 4.86332 12.9896 4.81539 13.0386M5.4203 13.2187C5.40055 13.2829 5.3083 13.3121 5.2154 13.2849C5.12264 13.2568 5.06191 13.1815 5.08063 13.1166C5.09993 13.0519 5.19257 13.0215 5.28617 13.0507C5.37881 13.0787 5.43966 13.1534 5.42036 13.2187M6.1089 13.2951C6.11121 13.3628 6.03241 13.4189 5.93488 13.4201C5.83678 13.4222 5.75746 13.3675 5.75643 13.3009C5.75643 13.2326 5.83343 13.177 5.93147 13.1754C6.029 13.1735 6.1089 13.2279 6.1089 13.2951ZM6.78527 13.2692C6.79698 13.3352 6.72918 13.403 6.63236 13.421C6.53715 13.4384 6.44901 13.3976 6.43686 13.3322C6.42502 13.2645 6.49411 13.1968 6.58913 13.1792C6.68614 13.1624 6.77292 13.2021 6.78527 13.2692Z",
@@ -5894,10 +6536,10 @@ var GithubLogoIcon = (0, import_react24.memo)((props) => /* @__PURE__ */ (0, imp
5894
6536
  ] }));
5895
6537
 
5896
6538
  // src/components/icons/ShareIcon.tsx
5897
- var import_react25 = require("react");
5898
- var import_material54 = require("@mui/material");
5899
- var import_jsx_runtime68 = require("react/jsx-runtime");
5900
- var ShareIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_material54.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6539
+ var import_react26 = require("react");
6540
+ var import_material58 = require("@mui/material");
6541
+ var import_jsx_runtime73 = require("react/jsx-runtime");
6542
+ var ShareIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_material58.SvgIcon, { ...props, viewBox: "0 0 17 16", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5901
6543
  "path",
5902
6544
  {
5903
6545
  fillRule: "evenodd",
@@ -5908,11 +6550,11 @@ var ShareIcon = (0, import_react25.memo)((props) => /* @__PURE__ */ (0, import_j
5908
6550
  ) }));
5909
6551
 
5910
6552
  // src/components/icons/StorageAppIcon.tsx
5911
- var import_react26 = require("react");
5912
- var import_material55 = require("@mui/material");
5913
- var import_jsx_runtime69 = require("react/jsx-runtime");
5914
- var StorageAppIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_material55.SvgIcon, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
5915
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6553
+ var import_react27 = require("react");
6554
+ var import_material59 = require("@mui/material");
6555
+ var import_jsx_runtime74 = require("react/jsx-runtime");
6556
+ var StorageAppIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_material59.SvgIcon, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
6557
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5916
6558
  "path",
5917
6559
  {
5918
6560
  d: "M6.25415 13.3371V13.2515H7.25415C7.31809 13.2515 7.38176 13.2524 7.44516 13.2543C7.66366 11.6446 8.14354 9.64623 9.19625 7.91521C10.5234 5.73296 12.756 4 16.3233 4C18.7076 4 20.4981 4.81149 21.7972 6.07693C23.0714 7.31823 23.8108 8.93436 24.2437 10.4665C24.4895 11.3363 24.6426 12.2007 24.7362 12.9909C25.8141 11.9297 27.4506 11.0385 29.8495 11.0385C31.2681 11.0385 32.4415 11.3528 33.4017 11.8416L33.4031 11.8423C35.655 12.9932 37 15.3454 37 17.8312V18.6029C37 23.4701 33.0499 27.4163 28.1808 27.4163H6.86335C3.62577 27.4163 1 24.7935 1 21.5565V19.6226C1 16.5122 3.24401 13.8341 6.25415 13.3371Z",
@@ -5921,7 +6563,7 @@ var StorageAppIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, imp
5921
6563
  fill: "none"
5922
6564
  }
5923
6565
  ),
5924
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6566
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5925
6567
  "path",
5926
6568
  {
5927
6569
  d: "M31.9946 14.8376C31.9946 14.8376 24.3322 15.4871 24.3322 0C24.3322 0 24.4134 14.8696 17 14.8696C17 14.8696 24.5 15.8438 24.5 24C24.5 24 24.5 14.8376 32 14.8376H31.9946Z",
@@ -5933,10 +6575,10 @@ var StorageAppIcon = (0, import_react26.memo)((props) => /* @__PURE__ */ (0, imp
5933
6575
  ] }));
5934
6576
 
5935
6577
  // src/components/icons/UploadFileIcon.tsx
5936
- var import_react27 = require("react");
5937
- var import_material56 = require("@mui/material");
5938
- var import_jsx_runtime70 = require("react/jsx-runtime");
5939
- var UploadFileIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_material56.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6578
+ var import_react28 = require("react");
6579
+ var import_material60 = require("@mui/material");
6580
+ var import_jsx_runtime75 = require("react/jsx-runtime");
6581
+ var UploadFileIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_material60.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5940
6582
  "path",
5941
6583
  {
5942
6584
  fillRule: "evenodd",
@@ -5949,10 +6591,10 @@ var UploadFileIcon = (0, import_react27.memo)((props) => /* @__PURE__ */ (0, imp
5949
6591
  ) }));
5950
6592
 
5951
6593
  // src/components/icons/UploadFolderIcon.tsx
5952
- var import_react28 = require("react");
5953
- var import_material57 = require("@mui/material");
5954
- var import_jsx_runtime71 = require("react/jsx-runtime");
5955
- var UploadFolderIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_material57.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6594
+ var import_react29 = require("react");
6595
+ var import_material61 = require("@mui/material");
6596
+ var import_jsx_runtime76 = require("react/jsx-runtime");
6597
+ var UploadFolderIcon = (0, import_react29.memo)((props) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_material61.SvgIcon, { ...props, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5956
6598
  "path",
5957
6599
  {
5958
6600
  fillRule: "evenodd",
@@ -5965,14 +6607,14 @@ var UploadFolderIcon = (0, import_react28.memo)((props) => /* @__PURE__ */ (0, i
5965
6607
  ) }));
5966
6608
 
5967
6609
  // src/components/utilities/Markdown/Markdown.tsx
5968
- var import_material58 = require("@mui/material");
6610
+ var import_material62 = require("@mui/material");
5969
6611
  var import_github = require("highlight.js/styles/github.css");
5970
6612
  var import_github_markdown_light = require("github-markdown-css/github-markdown-light.css");
5971
6613
  var import_react_markdown = __toESM(require("react-markdown"));
5972
6614
  var import_rehype_highlight = __toESM(require("rehype-highlight"));
5973
6615
  var import_rehype_raw = __toESM(require("rehype-raw"));
5974
- var import_jsx_runtime72 = require("react/jsx-runtime");
5975
- var Content = (0, import_material58.styled)(import_material58.Box)(({ theme: theme2 }) => ({
6616
+ var import_jsx_runtime77 = require("react/jsx-runtime");
6617
+ var Content = (0, import_material62.styled)(import_material62.Box)(({ theme: theme2 }) => ({
5976
6618
  backgroundColor: "transparent",
5977
6619
  ...theme2.typography.body1,
5978
6620
  color: theme2.palette.text.primary,
@@ -5989,36 +6631,36 @@ var Content = (0, import_material58.styled)(import_material58.Box)(({ theme: the
5989
6631
  backgroundColor: theme2.palette.background.paper
5990
6632
  }
5991
6633
  }));
5992
- var Markdown = ({ content, children }) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Content, { className: "markdown-body", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_react_markdown.default, { rehypePlugins: [import_rehype_highlight.default, import_rehype_raw.default], children: content || children }) });
6634
+ var Markdown = ({ content, children }) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Content, { className: "markdown-body", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_react_markdown.default, { rehypePlugins: [import_rehype_highlight.default, import_rehype_raw.default], children: content || children }) });
5993
6635
 
5994
6636
  // src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
5995
- var import_react29 = require("react");
5996
- var import_jsx_runtime73 = require("react/jsx-runtime");
5997
- var OnboardingContext = (0, import_react29.createContext)(void 0);
6637
+ var import_react30 = require("react");
6638
+ var import_jsx_runtime78 = require("react/jsx-runtime");
6639
+ var OnboardingContext = (0, import_react30.createContext)(void 0);
5998
6640
  var useOnboarding = () => {
5999
- const context = (0, import_react29.useContext)(OnboardingContext);
6641
+ const context = (0, import_react30.useContext)(OnboardingContext);
6000
6642
  if (!context) {
6001
6643
  throw new Error("useOnboarding should be used inside OnboardingProvider");
6002
6644
  }
6003
6645
  return context;
6004
6646
  };
6005
6647
  var OnboardingProvider = ({ children }) => {
6006
- const [isOnboardingActive, setIsOnboardingActive] = (0, import_react29.useState)(() => {
6648
+ const [isOnboardingActive, setIsOnboardingActive] = (0, import_react30.useState)(() => {
6007
6649
  const savedState = localStorage.getItem("isOnboardingActive");
6008
6650
  return savedState !== null ? JSON.parse(savedState) : true;
6009
6651
  });
6010
- (0, import_react29.useEffect)(() => {
6652
+ (0, import_react30.useEffect)(() => {
6011
6653
  localStorage.setItem("isOnboardingActive", JSON.stringify(isOnboardingActive));
6012
6654
  }, [isOnboardingActive]);
6013
- const startOnboarding = (0, import_react29.useCallback)(() => setIsOnboardingActive(true), []);
6014
- const stopOnboarding = (0, import_react29.useCallback)(() => {
6655
+ const startOnboarding = (0, import_react30.useCallback)(() => setIsOnboardingActive(true), []);
6656
+ const stopOnboarding = (0, import_react30.useCallback)(() => {
6015
6657
  setIsOnboardingActive(false);
6016
6658
  }, []);
6017
- const restartOnboarding = (0, import_react29.useCallback)(() => {
6659
+ const restartOnboarding = (0, import_react30.useCallback)(() => {
6018
6660
  setIsOnboardingActive(false);
6019
6661
  setTimeout(() => setIsOnboardingActive(true), 0);
6020
6662
  }, []);
6021
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6663
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
6022
6664
  OnboardingContext.Provider,
6023
6665
  {
6024
6666
  value: {
@@ -6033,7 +6675,7 @@ var OnboardingProvider = ({ children }) => {
6033
6675
  };
6034
6676
 
6035
6677
  // src/components/utilities/Truncate/Truncate.tsx
6036
- var import_jsx_runtime74 = require("react/jsx-runtime");
6678
+ var import_jsx_runtime79 = require("react/jsx-runtime");
6037
6679
  var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
6038
6680
  if (variant === "hex") {
6039
6681
  return 4;
@@ -6057,30 +6699,30 @@ var Truncate = ({
6057
6699
  const truncated = text.slice(0, maxLength - endingLength);
6058
6700
  truncatedText = [truncated, ending].filter(Boolean).join("...");
6059
6701
  }
6060
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { ...props, "data-full": text, children: truncatedText });
6702
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { ...props, "data-full": text, children: truncatedText });
6061
6703
  };
6062
6704
 
6063
6705
  // src/components/utilities/BytesSize/BytesSize.tsx
6064
6706
  var import_byte_size = __toESM(require("byte-size"));
6065
- var import_jsx_runtime75 = require("react/jsx-runtime");
6707
+ var import_jsx_runtime80 = require("react/jsx-runtime");
6066
6708
  var BytesSize = ({ bytes }) => {
6067
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_jsx_runtime75.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
6709
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_jsx_runtime80.Fragment, { children: (0, import_byte_size.default)(bytes).toString() });
6068
6710
  };
6069
6711
 
6070
6712
  // src/components/utilities/QRCode/QRCode.tsx
6071
- var import_react30 = require("react");
6713
+ var import_react31 = require("react");
6072
6714
  var import_react_qr_code = __toESM(require("react-qr-code"));
6073
- var import_jsx_runtime76 = require("react/jsx-runtime");
6074
- var QRCode = (0, import_react30.forwardRef)(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_react_qr_code.default, { ref, size: size3, ...props }));
6715
+ var import_jsx_runtime81 = require("react/jsx-runtime");
6716
+ var QRCode = (0, import_react31.forwardRef)(({ size: size3 = 168, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_react_qr_code.default, { ref, size: size3, ...props }));
6075
6717
  QRCode.displayName = "QRCode";
6076
6718
 
6077
6719
  // src/components/charts/ChartWidget/ChartWidget.tsx
6078
- var import_material59 = require("@mui/material");
6720
+ var import_material63 = require("@mui/material");
6079
6721
  var import_x_charts = require("@mui/x-charts");
6080
6722
  var import_byte_size2 = __toESM(require("byte-size"));
6081
6723
  var import_date_fns = require("date-fns");
6082
- var import_jsx_runtime77 = require("react/jsx-runtime");
6083
- var Chart = (0, import_material59.styled)(import_material59.Box)(() => ({
6724
+ var import_jsx_runtime82 = require("react/jsx-runtime");
6725
+ var Chart = (0, import_material63.styled)(import_material63.Box)(() => ({
6084
6726
  height: 200
6085
6727
  }));
6086
6728
  var ChartWidget = ({
@@ -6089,11 +6731,11 @@ var ChartWidget = ({
6089
6731
  history,
6090
6732
  formatValue = (value2) => (0, import_byte_size2.default)(value2 || 0).toString()
6091
6733
  }) => {
6092
- const theme2 = (0, import_material59.useTheme)();
6093
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_material59.Stack, { spacing: 1, children: [
6094
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_material59.Typography, { variant: "caption", color: "text.secondary", children: title }),
6095
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_material59.Typography, { fontWeight: "bold", children: value }),
6096
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
6734
+ const theme2 = (0, import_material63.useTheme)();
6735
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_material63.Stack, { spacing: 1, children: [
6736
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_material63.Typography, { variant: "caption", color: "text.secondary", children: title }),
6737
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_material63.Typography, { fontWeight: "bold", children: value }),
6738
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Chart, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
6097
6739
  import_x_charts.LineChart,
6098
6740
  {
6099
6741
  dataset: history || [],
@@ -6151,11 +6793,11 @@ var ChartWidget = ({
6151
6793
  var import_date_fns2 = require("date-fns");
6152
6794
  var import_x_charts2 = require("@mui/x-charts");
6153
6795
  var import_hooks = require("@mui/x-charts/hooks");
6154
- var import_material61 = require("@mui/material");
6796
+ var import_material65 = require("@mui/material");
6155
6797
 
6156
6798
  // src/components/charts/MetricsChart/PeriodSelect.tsx
6157
- var import_material60 = require("@mui/material");
6158
- var import_jsx_runtime78 = require("react/jsx-runtime");
6799
+ var import_material64 = require("@mui/material");
6800
+ var import_jsx_runtime83 = require("react/jsx-runtime");
6159
6801
  var options = [
6160
6802
  /**
6161
6803
  * TODO: Enable the options below when the backend supports them
@@ -6165,21 +6807,21 @@ var options = [
6165
6807
  { value: "week", label: "1 week" },
6166
6808
  { value: "month", label: "1 month" }
6167
6809
  ];
6168
- var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
6169
- import_material60.TextField,
6810
+ var PeriodSelect = ({ value, onChange }) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
6811
+ import_material64.TextField,
6170
6812
  {
6171
6813
  select: true,
6172
6814
  size: "small",
6173
6815
  value,
6174
6816
  defaultValue: options[0].value,
6175
6817
  onChange: (e) => onChange?.(e.target.value),
6176
- children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_material60.MenuItem, { value: value2, children: label }, value2))
6818
+ children: options.map(({ value: value2, label }) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_material64.MenuItem, { value: value2, children: label }, value2))
6177
6819
  }
6178
6820
  );
6179
6821
 
6180
6822
  // src/components/charts/MetricsChart/MetricsChart.tsx
6181
- var import_react31 = require("react");
6182
- var import_jsx_runtime79 = require("react/jsx-runtime");
6823
+ var import_react32 = require("react");
6824
+ var import_jsx_runtime84 = require("react/jsx-runtime");
6183
6825
  var mapPeriodToFromDate = (period = "month") => {
6184
6826
  const date = /* @__PURE__ */ new Date();
6185
6827
  if (period === "hour") {
@@ -6193,14 +6835,14 @@ var mapPeriodToFromDate = (period = "month") => {
6193
6835
  }
6194
6836
  return (0, import_date_fns2.startOfDay)((0, import_date_fns2.subMonths)(date, 1));
6195
6837
  };
6196
- var Chart2 = (0, import_material61.styled)(import_x_charts2.LineChart)({
6838
+ var Chart2 = (0, import_material65.styled)(import_x_charts2.LineChart)({
6197
6839
  height: 320,
6198
6840
  marginBottom: 16
6199
6841
  });
6200
- var NoDataRect = (0, import_material61.styled)("rect")({
6842
+ var NoDataRect = (0, import_material65.styled)("rect")({
6201
6843
  fill: "#F5F6FF"
6202
6844
  });
6203
- var LoadingText = (0, import_material61.styled)("text")(({ theme: theme2 }) => ({
6845
+ var LoadingText = (0, import_material65.styled)("text")(({ theme: theme2 }) => ({
6204
6846
  stroke: "none",
6205
6847
  fill: theme2.palette.text.primary,
6206
6848
  shapeRendering: "crispEdges",
@@ -6208,14 +6850,14 @@ var LoadingText = (0, import_material61.styled)("text")(({ theme: theme2 }) => (
6208
6850
  dominantBaseline: "middle"
6209
6851
  }));
6210
6852
  var MetricsChart = ({ history = [] }) => {
6211
- const theme2 = (0, import_material61.useTheme)();
6212
- const [period, setPeriod] = (0, import_react31.useState)("week");
6213
- const periodFrom = (0, import_react31.useMemo)(() => mapPeriodToFromDate(period), [period]);
6214
- const periodHistory = (0, import_react31.useMemo)(
6853
+ const theme2 = (0, import_material65.useTheme)();
6854
+ const [period, setPeriod] = (0, import_react32.useState)("week");
6855
+ const periodFrom = (0, import_react32.useMemo)(() => mapPeriodToFromDate(period), [period]);
6856
+ const periodHistory = (0, import_react32.useMemo)(
6215
6857
  () => history.filter((record) => record.recordTime > periodFrom),
6216
6858
  [history, periodFrom]
6217
6859
  );
6218
- const total = (0, import_react31.useMemo)(
6860
+ const total = (0, import_react32.useMemo)(
6219
6861
  () => periodHistory.reduce(
6220
6862
  (acc, record) => ({
6221
6863
  gets: acc.gets + record.gets,
@@ -6239,15 +6881,15 @@ var MetricsChart = ({ history = [] }) => {
6239
6881
  const backgroundHeight = textHeight + padding.top + padding.bottom;
6240
6882
  const rectX = left + (width - backgroundWidth) / 2;
6241
6883
  const rectY = top + (height - backgroundHeight) / 2;
6242
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("g", { children: [
6243
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
6244
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
6884
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("g", { children: [
6885
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(NoDataRect, { x: rectX, y: rectY, width: backgroundWidth, height: backgroundHeight }),
6886
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(LoadingText, { style: { ...theme2.typography.subtitle1 }, x: left + width / 2, y: top + height / 2, children: text })
6245
6887
  ] });
6246
6888
  };
6247
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Card, { children: [
6248
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.CardHeader, { title: "GET / PUT Requests", action: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PeriodSelect, { value: period, onChange: setPeriod }) }),
6249
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.CardMedia, { children: [
6250
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
6889
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Card, { children: [
6890
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.CardHeader, { title: "GET / PUT Requests", action: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(PeriodSelect, { value: period, onChange: setPeriod }) }),
6891
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.CardMedia, { children: [
6892
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
6251
6893
  Chart2,
6252
6894
  {
6253
6895
  skipAnimation: true,
@@ -6308,35 +6950,35 @@ var MetricsChart = ({ history = [] }) => {
6308
6950
  ]
6309
6951
  }
6310
6952
  ),
6311
- periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
6312
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
6313
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
6314
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", children: "Get" })
6953
+ periodHistory.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Stack, { direction: "row", spacing: 2, marginY: 3, justifyContent: "center", children: [
6954
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
6955
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.primary.main } }),
6956
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "body2", children: "Get" })
6315
6957
  ] }),
6316
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
6317
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
6318
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", children: "Put" })
6958
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
6959
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Box, { sx: { width: 14, height: 14, borderRadius: "4px", backgroundColor: theme2.palette.success.main } }),
6960
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "body2", children: "Put" })
6319
6961
  ] })
6320
6962
  ] })
6321
6963
  ] }),
6322
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.CardMedia, { children: [
6323
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Divider, { flexItem: true }),
6324
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", spacing: 2, padding: 2, children: [
6325
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6326
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
6327
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "h3", children: total.gets })
6964
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.CardMedia, { children: [
6965
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Divider, { flexItem: true }),
6966
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Stack, { direction: "row", spacing: 2, padding: 2, children: [
6967
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6968
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "body2", color: "secondary", children: "GET Requests per account" }),
6969
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "h3", children: total.gets })
6328
6970
  ] }),
6329
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6330
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
6331
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "h3", children: total.puts })
6971
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6972
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "body2", color: "secondary", children: "PUT Requests per account" }),
6973
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "h3", children: total.puts })
6332
6974
  ] }),
6333
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6334
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
6335
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(BytesSize, { bytes: total.transferredBytes }) })
6975
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6976
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "body2", color: "secondary", children: "Total Consumed per account" }),
6977
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(BytesSize, { bytes: total.transferredBytes }) })
6336
6978
  ] }),
6337
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_material61.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6338
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
6339
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_material61.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(BytesSize, { bytes: total.storedBytes }) })
6979
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_material65.Stack, { direction: "row", alignItems: "center", spacing: 1, children: [
6980
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "body2", color: "secondary", children: "Total Stored per account" }),
6981
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_material65.Typography, { variant: "h3", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(BytesSize, { bytes: total.storedBytes }) })
6340
6982
  ] })
6341
6983
  ] })
6342
6984
  ] })
@@ -6344,12 +6986,12 @@ var MetricsChart = ({ history = [] }) => {
6344
6986
  };
6345
6987
 
6346
6988
  // src/components/third-party/FlowEditor.tsx
6347
- var import_react32 = require("react");
6989
+ var import_react33 = require("react");
6348
6990
  var import_reactflow = __toESM(require("reactflow"));
6349
- var import_material62 = require("@mui/material");
6350
- var import_styles34 = require("@mui/material/styles");
6991
+ var import_material66 = require("@mui/material");
6992
+ var import_styles38 = require("@mui/material/styles");
6351
6993
  var import_reactflow2 = require("reactflow");
6352
- var import_jsx_runtime80 = require("react/jsx-runtime");
6994
+ var import_jsx_runtime85 = require("react/jsx-runtime");
6353
6995
  var FlowEditor = ({
6354
6996
  nodes,
6355
6997
  edges,
@@ -6366,8 +7008,8 @@ var FlowEditor = ({
6366
7008
  onInit,
6367
7009
  ...reactFlowProps
6368
7010
  }) => {
6369
- const theme2 = (0, import_styles34.useTheme)();
6370
- const handleInit = (0, import_react32.useCallback)(
7011
+ const theme2 = (0, import_styles38.useTheme)();
7012
+ const handleInit = (0, import_react33.useCallback)(
6371
7013
  (instance) => {
6372
7014
  if (onInit) {
6373
7015
  onInit(instance);
@@ -6375,8 +7017,8 @@ var FlowEditor = ({
6375
7017
  },
6376
7018
  [onInit]
6377
7019
  );
6378
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
6379
- import_material62.Box,
7020
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_reactflow.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
7021
+ import_material66.Box,
6380
7022
  {
6381
7023
  sx: {
6382
7024
  width: "100%",
@@ -6388,7 +7030,7 @@ var FlowEditor = ({
6388
7030
  ...containerProps?.sx
6389
7031
  },
6390
7032
  ...containerProps,
6391
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
7033
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
6392
7034
  import_reactflow.default,
6393
7035
  {
6394
7036
  nodes,
@@ -6410,7 +7052,7 @@ var FlowEditor = ({
6410
7052
  },
6411
7053
  ...reactFlowProps,
6412
7054
  children: [
6413
- showBackground && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7055
+ showBackground && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
6414
7056
  import_reactflow.Background,
6415
7057
  {
6416
7058
  variant: backgroundVariant,
@@ -6419,8 +7061,8 @@ var FlowEditor = ({
6419
7061
  color: theme2.palette.divider
6420
7062
  }
6421
7063
  ),
6422
- showControls && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_reactflow.Controls, {}),
6423
- showMinimap && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7064
+ showControls && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_reactflow.Controls, {}),
7065
+ showMinimap && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
6424
7066
  import_reactflow.MiniMap,
6425
7067
  {
6426
7068
  nodeColor: (node) => {
@@ -6443,15 +7085,15 @@ var FlowEditor = ({
6443
7085
  };
6444
7086
 
6445
7087
  // src/components/third-party/CodeEditor.tsx
6446
- var import_react33 = require("react");
6447
- var import_react34 = __toESM(require("@monaco-editor/react"));
6448
- var import_material63 = require("@mui/material");
7088
+ var import_react34 = require("react");
7089
+ var import_react35 = __toESM(require("@monaco-editor/react"));
7090
+ var import_material67 = require("@mui/material");
6449
7091
  var import_Fullscreen = __toESM(require("@mui/icons-material/Fullscreen"));
6450
7092
  var import_FullscreenExit = __toESM(require("@mui/icons-material/FullscreenExit"));
6451
7093
  var import_ErrorOutline = __toESM(require("@mui/icons-material/ErrorOutline"));
6452
- var import_ExpandMore2 = __toESM(require("@mui/icons-material/ExpandMore"));
7094
+ var import_ExpandMore3 = __toESM(require("@mui/icons-material/ExpandMore"));
6453
7095
  var import_ExpandLess = __toESM(require("@mui/icons-material/ExpandLess"));
6454
- var import_jsx_runtime81 = require("react/jsx-runtime");
7096
+ var import_jsx_runtime86 = require("react/jsx-runtime");
6455
7097
  var configureTypeScript = (monaco) => {
6456
7098
  monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
6457
7099
  target: monaco.languages.typescript.ScriptTarget.ES2020,
@@ -6495,16 +7137,16 @@ var CodeEditor = ({
6495
7137
  containerProps,
6496
7138
  typeDefinitions
6497
7139
  }) => {
6498
- const [isEditorReady, setIsEditorReady] = (0, import_react33.useState)(false);
6499
- const [validationErrors, setValidationErrors] = (0, import_react33.useState)([]);
6500
- const [isFullscreen, setIsFullscreen] = (0, import_react33.useState)(false);
6501
- const [tsCode, setTsCode] = (0, import_react33.useState)(value);
6502
- const [actualHeight, setActualHeight] = (0, import_react33.useState)(
7140
+ const [isEditorReady, setIsEditorReady] = (0, import_react34.useState)(false);
7141
+ const [validationErrors, setValidationErrors] = (0, import_react34.useState)([]);
7142
+ const [isFullscreen, setIsFullscreen] = (0, import_react34.useState)(false);
7143
+ const [tsCode, setTsCode] = (0, import_react34.useState)(value);
7144
+ const [actualHeight, setActualHeight] = (0, import_react34.useState)(
6503
7145
  typeof height === "number" ? `${height}px` : height
6504
7146
  );
6505
- const [showProblems, setShowProblems] = (0, import_react33.useState)(false);
6506
- const [hasUserToggledProblems, setHasUserToggledProblems] = (0, import_react33.useState)(false);
6507
- (0, import_react33.useEffect)(() => {
7147
+ const [showProblems, setShowProblems] = (0, import_react34.useState)(false);
7148
+ const [hasUserToggledProblems, setHasUserToggledProblems] = (0, import_react34.useState)(false);
7149
+ (0, import_react34.useEffect)(() => {
6508
7150
  if (hasUserToggledProblems) return;
6509
7151
  if (validationErrors.length > 0) {
6510
7152
  setShowProblems(true);
@@ -6512,25 +7154,25 @@ var CodeEditor = ({
6512
7154
  setShowProblems(false);
6513
7155
  }
6514
7156
  }, [validationErrors, hasUserToggledProblems]);
6515
- const internalEditorRef = (0, import_react33.useRef)(null);
6516
- const internalMonacoRef = (0, import_react33.useRef)(null);
7157
+ const internalEditorRef = (0, import_react34.useRef)(null);
7158
+ const internalMonacoRef = (0, import_react34.useRef)(null);
6517
7159
  const finalEditorRef = editorRef || internalEditorRef;
6518
7160
  const finalMonacoRef = monacoRef || internalMonacoRef;
6519
- (0, import_react33.useEffect)(() => {
7161
+ (0, import_react34.useEffect)(() => {
6520
7162
  if (isFullscreen) {
6521
7163
  setActualHeight("calc(100vh - 80px)");
6522
7164
  } else {
6523
7165
  setActualHeight(typeof height === "number" ? `${height}px` : height);
6524
7166
  }
6525
7167
  }, [height, isFullscreen]);
6526
- const toggleFullscreen = (0, import_react33.useCallback)(() => {
7168
+ const toggleFullscreen = (0, import_react34.useCallback)(() => {
6527
7169
  const newFullscreenState = !isFullscreen;
6528
7170
  setIsFullscreen(newFullscreenState);
6529
7171
  if (onFullscreenChange) {
6530
7172
  onFullscreenChange(newFullscreenState);
6531
7173
  }
6532
7174
  }, [isFullscreen, onFullscreenChange]);
6533
- const gotoMarker = (0, import_react33.useCallback)(
7175
+ const gotoMarker = (0, import_react34.useCallback)(
6534
7176
  (marker) => {
6535
7177
  const ed = finalEditorRef?.current;
6536
7178
  if (!ed) return;
@@ -6545,7 +7187,7 @@ var CodeEditor = ({
6545
7187
  },
6546
7188
  [finalEditorRef]
6547
7189
  );
6548
- (0, import_react33.useEffect)(() => {
7190
+ (0, import_react34.useEffect)(() => {
6549
7191
  if (!isFullscreen) return;
6550
7192
  function escapeHandler(event) {
6551
7193
  if (event.key === "Escape") {
@@ -6562,7 +7204,7 @@ var CodeEditor = ({
6562
7204
  window.removeEventListener("keydown", escapeHandler, { capture: true });
6563
7205
  };
6564
7206
  }, [isFullscreen, onFullscreenChange]);
6565
- const handleEditorDidMount = (0, import_react33.useCallback)(
7207
+ const handleEditorDidMount = (0, import_react34.useCallback)(
6566
7208
  (editor, monaco) => {
6567
7209
  console.log("CodeEditor: onMount called", { editor: !!editor, monaco: !!monaco });
6568
7210
  try {
@@ -6616,7 +7258,7 @@ var CodeEditor = ({
6616
7258
  },
6617
7259
  [isFullscreen, onFullscreenChange, onValidate, onMount, finalEditorRef, finalMonacoRef]
6618
7260
  );
6619
- (0, import_react33.useEffect)(() => {
7261
+ (0, import_react34.useEffect)(() => {
6620
7262
  if (!isEditorReady || !finalMonacoRef?.current || !typeDefinitions) return;
6621
7263
  const monaco = finalMonacoRef.current;
6622
7264
  const definitions = Array.isArray(typeDefinitions) ? typeDefinitions : [typeDefinitions];
@@ -6638,7 +7280,7 @@ var CodeEditor = ({
6638
7280
  setTsCode(valueStr);
6639
7281
  onChange(valueStr);
6640
7282
  };
6641
- (0, import_react33.useEffect)(() => {
7283
+ (0, import_react34.useEffect)(() => {
6642
7284
  if (value !== tsCode) {
6643
7285
  setTsCode(value);
6644
7286
  if (isEditorReady && finalEditorRef?.current) {
@@ -6663,8 +7305,8 @@ var CodeEditor = ({
6663
7305
  theme: themeProp || "vs",
6664
7306
  ...options2
6665
7307
  };
6666
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6667
- import_material63.Box,
7308
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7309
+ import_material67.Box,
6668
7310
  {
6669
7311
  sx: {
6670
7312
  display: "flex",
@@ -6684,8 +7326,8 @@ var CodeEditor = ({
6684
7326
  pb: isFullscreen ? 2 : 0,
6685
7327
  overflow: isFullscreen ? "hidden" : "visible"
6686
7328
  },
6687
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6688
- import_material63.Box,
7329
+ children: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
7330
+ import_material67.Box,
6689
7331
  {
6690
7332
  sx: {
6691
7333
  flex: 1,
@@ -6700,8 +7342,8 @@ var CodeEditor = ({
6700
7342
  },
6701
7343
  ...containerProps,
6702
7344
  children: [
6703
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6704
- import_material63.IconButton,
7345
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_material67.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7346
+ import_material67.IconButton,
6705
7347
  {
6706
7348
  onClick: toggleFullscreen,
6707
7349
  size: "small",
@@ -6718,11 +7360,11 @@ var CodeEditor = ({
6718
7360
  },
6719
7361
  boxShadow: 1
6720
7362
  },
6721
- children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_FullscreenExit.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_Fullscreen.default, { fontSize: "small" })
7363
+ children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_FullscreenExit.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_Fullscreen.default, { fontSize: "small" })
6722
7364
  }
6723
7365
  ) }),
6724
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6725
- import_material63.Box,
7366
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7367
+ import_material67.Box,
6726
7368
  {
6727
7369
  sx: {
6728
7370
  flex: 1,
@@ -6733,8 +7375,8 @@ var CodeEditor = ({
6733
7375
  position: "relative",
6734
7376
  height: isFullscreen ? "100%" : actualHeight
6735
7377
  },
6736
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6737
- import_react34.default,
7378
+ children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7379
+ import_react35.default,
6738
7380
  {
6739
7381
  height: "100%",
6740
7382
  defaultLanguage: language,
@@ -6744,7 +7386,7 @@ var CodeEditor = ({
6744
7386
  onMount: handleEditorDidMount,
6745
7387
  theme: themeProp || "vs",
6746
7388
  options: defaultOptions,
6747
- loading: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
7389
+ loading: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_material67.Box, { sx: { p: 2, textAlign: "center" }, children: "Loading Monaco Editor..." }),
6748
7390
  beforeMount: (monaco) => {
6749
7391
  console.log("CodeEditor: beforeMount called", { monaco: !!monaco });
6750
7392
  }
@@ -6752,8 +7394,8 @@ var CodeEditor = ({
6752
7394
  )
6753
7395
  }
6754
7396
  ),
6755
- validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6756
- import_material63.Box,
7397
+ validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
7398
+ import_material67.Box,
6757
7399
  {
6758
7400
  sx: {
6759
7401
  borderTop: 1,
@@ -6766,8 +7408,8 @@ var CodeEditor = ({
6766
7408
  transition: "max-height 0.2s ease"
6767
7409
  },
6768
7410
  children: [
6769
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6770
- import_material63.Box,
7411
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
7412
+ import_material67.Box,
6771
7413
  {
6772
7414
  sx: {
6773
7415
  display: "flex",
@@ -6781,16 +7423,16 @@ var CodeEditor = ({
6781
7423
  color: "text.secondary"
6782
7424
  },
6783
7425
  children: [
6784
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
6785
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
6786
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_material63.Box, { sx: { ml: 1 }, children: [
7426
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_ErrorOutline.default, { color: "error", fontSize: "small" }),
7427
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_material67.Box, { sx: { fontWeight: 600, color: "text.primary" }, children: "Problems" }),
7428
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_material67.Box, { sx: { ml: 1 }, children: [
6787
7429
  validationErrors.length,
6788
7430
  " error",
6789
7431
  validationErrors.length > 1 ? "s" : ""
6790
7432
  ] }),
6791
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { flex: 1 } }),
6792
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
6793
- import_material63.IconButton,
7433
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_material67.Box, { sx: { flex: 1 } }),
7434
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
7435
+ import_material67.IconButton,
6794
7436
  {
6795
7437
  size: "small",
6796
7438
  "aria-label": "Toggle problems panel",
@@ -6798,14 +7440,14 @@ var CodeEditor = ({
6798
7440
  setHasUserToggledProblems(true);
6799
7441
  setShowProblems((s) => !s);
6800
7442
  },
6801
- children: showProblems ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ExpandMore2.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ExpandLess.default, { fontSize: "small" })
7443
+ children: showProblems ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_ExpandMore3.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_ExpandLess.default, { fontSize: "small" })
6802
7444
  }
6803
7445
  )
6804
7446
  ]
6805
7447
  }
6806
7448
  ),
6807
- showProblems && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
6808
- import_material63.Box,
7449
+ showProblems && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_material67.Box, { sx: { overflow: "auto" }, children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
7450
+ import_material67.Box,
6809
7451
  {
6810
7452
  onClick: () => gotoMarker(error),
6811
7453
  sx: {
@@ -6821,12 +7463,12 @@ var CodeEditor = ({
6821
7463
  fontSize: "0.85rem"
6822
7464
  },
6823
7465
  children: [
6824
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
6825
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_material63.Box, { sx: { color: "text.secondary", width: 64 }, children: [
7466
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_ErrorOutline.default, { color: "error", sx: { fontSize: 18 } }),
7467
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_material67.Box, { sx: { color: "text.secondary", width: 64 }, children: [
6826
7468
  "Line ",
6827
7469
  error.startLineNumber
6828
7470
  ] }),
6829
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_material63.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
7471
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_material67.Box, { sx: { color: "text.primary", flex: 1, minWidth: 0 }, children: error.message })
6830
7472
  ]
6831
7473
  },
6832
7474
  `${error.startLineNumber}-${error.startColumn}-${index}`
@@ -6881,6 +7523,10 @@ var import_reactflow3 = require("reactflow");
6881
7523
  Container,
6882
7524
  Controls,
6883
7525
  DecentralizedServerIcon,
7526
+ DeploymentDashboardCard,
7527
+ DeploymentDashboardPanel,
7528
+ DeploymentDashboardTree,
7529
+ DeploymentEntityContextMenu,
6884
7530
  Dialog,
6885
7531
  DiscordIcon,
6886
7532
  Divider,
@@ -6961,6 +7607,7 @@ var import_reactflow3 = require("reactflow");
6961
7607
  UploadFolderIcon,
6962
7608
  WorkspaceSelectorButton,
6963
7609
  colors,
7610
+ contextMenuItems,
6964
7611
  theme,
6965
7612
  useIsDesktop,
6966
7613
  useIsMobile,